Kalibracja monitora - gamma, proszę o wyjaśnienie

Zwiń
X
 
  • Czas
  • Pokaż
Wyczyść wszystko
new posts
  • tomdz
    Uzależniony
    • 2007
    • 637

    #1

    Kalibracja monitora - gamma, proszę o wyjaśnienie

    Ok, nabyłem EyeOneDisplay, monitorki oprofilowane, różnica jest wyraźna (na plus), a teraz próbuję dokładnie zrozumieć, co zrobiłem I im więcej czytam, tym mam większy mętlik w głowie, zwłaszcza jeśli chodzi o tytułową gammę.
    Tytułem wstępu - kiedyś myślałem, że gamma jest wynikiem działania kineskopów CRT (nieliniowa zależność natężenia światła od przyłożonego napięcia), a korekcja gamma ma na celu kompensację nieliniowości, czyli inaczej mówiąc, osiągnięcie na wyjściu gamma=1.
    Chyba jednak tak nie jest, bo przecież kalibruje się monitory do gamma rożnego od 1, zwykle 2.2. A to oznacza, że na wyjściu układu wizyjnego dążymy do świadomego osiągnięcia pewnej ustandaryzowanej nieliniowości. Dobrze myślę? (nieco inaczej zadane pytanie - czy całkowita systemowa gamma po kalibracji jest równa właśnie 2.2, czy też jednak 1)?
    Jeśli tak, to wprowadzona właśnie nieliniowość powinna być gdzieś skompensowana. I teraz, w którym miejscu następuje ta kompensacja?
    Jeśli dobrze się domyślam, to wydaje mi się, że załatwia to się poprzez odpowiednie kodowanie wartości luminancji. Czyli np. dla kodowania 8-bitowego, wartości z zakresu L=0-255 nie dają wyjściu napięcia V=L*V0, a raczej V=( (L/255)^(1/2.2) )*255*V0 ?
    Przyjęcie takiego wytłumaczenia pozwala mi zrozumieć wszelkie kwestie dotyczące liniowości matrycy (czyli czemu równać histogram do prawej itp.).
    Pojawia się jednak kolejny dylemat - gdzie ustalona jest gamma z jaką koduje się poziomy luminancji? Czy jest to cecha przyjętej przestrzeni kolorów (tzn. przyjęte jest, że sRGB i AdobeRGB kodują poziomy z gamma = 1/2.2)?
    Z góry dzięki za odpowiedzi, myślę, że przydadzą sie nie tylko mi, bo jak rozmawiałem ze znajomymi, to okazało się, że mamy podobne wątpliwości
    Body, stałki, zoomik
  • czornyj
    Zasłużeni
    • 2006
    • 2626

    #2
    Zamieszczone przez tomdz
    Ok, nabyłem EyeOneDisplay, monitorki oprofilowane, różnica jest wyraźna (na plus), a teraz próbuję dokładnie zrozumieć, co zrobiłem I im więcej czytam, tym mam większy mętlik w głowie, zwłaszcza jeśli chodzi o tytułową gammę.
    Tytułem wstępu - kiedyś myślałem, że gamma jest wynikiem działania kineskopów CRT (nieliniowa zależność natężenia światła od przyłożonego napięcia), a korekcja gamma ma na celu kompensację nieliniowości, czyli inaczej mówiąc, osiągnięcie na wyjściu gamma=1.
    Chyba jednak tak nie jest, bo przecież kalibruje się monitory do gamma rożnego od 1, zwykle 2.2. A to oznacza, że na wyjściu układu wizyjnego dążymy do świadomego osiągnięcia pewnej ustandaryzowanej nieliniowości. Dobrze myślę? (nieco inaczej zadane pytanie - czy całkowita systemowa gamma po kalibracji jest równa właśnie 2.2, czy też jednak 1)?
    Jeśli tak, to wprowadzona właśnie nieliniowość powinna być gdzieś skompensowana. I teraz, w którym miejscu następuje ta kompensacja?
    Jeśli dobrze się domyślam, to wydaje mi się, że załatwia to się poprzez odpowiednie kodowanie wartości luminancji. Czyli np. dla kodowania 8-bitowego, wartości z zakresu L=0-255 nie dają wyjściu napięcia V=L*V0, a raczej V=( (L/255)^(1/2.2) )*255*V0 ?
    Przyjęcie takiego wytłumaczenia pozwala mi zrozumieć wszelkie kwestie dotyczące liniowości matrycy (czyli czemu równać histogram do prawej itp.).
    Pojawia się jednak kolejny dylemat - gdzie ustalona jest gamma z jaką koduje się poziomy luminancji? Czy jest to cecha przyjętej przestrzeni kolorów (tzn. przyjęte jest, że sRGB i AdobeRGB kodują poziomy z gamma = 1/2.2)?
    Z góry dzięki za odpowiedzi, myślę, że przydadzą sie nie tylko mi, bo jak rozmawiałem ze znajomymi, to okazało się, że mamy podobne wątpliwości
    Tytułem wstępu - nieliniowość jest charakterystyczna dla ludzkiej percepcji (nie tylko dla wzroku). Pozwala nam ona na działanie w szerszym zakresie bodźców "bez przesterowania".

    Wszystkie urządzenia wyjściowe (monitory, drukarki, itd.) są również nieliniowe - zaś ich krzywa odpowiedzi tonalnej wyrażona jest parametrem gamma. Początkowo standardowym współczynnikiem gamma była wartość 1,8 - z prozaicznej przyczyny: na monitorze współczynnik ten przypominał mniej więcej krzywą poziomów szarości drukarki Apple Laser Writer, co stanowiło swoisty prymitywny system zarządzania barwą (czy raczej szarością). Obecnie - po powstaniu zaawansowanych systemów zarządzania barwą - przyjął się współczynnik gamma wynoszący 2,2. Współczynnik ten najlepiej odpowiadał charakterystyce monitorów kineskopowych. Kompensacja gamma mniej więcej odpowiada nieliniowej charakterystyce naszego wzroku i jej efekt jest przez nas postrzegany liniowo. Również popularne syntetyczne przestrzenie edycyjne - sRGB i AdobeRGB mają współczynnik gamma 2,2.

    Inaczej przedstawia się sprawa urządzeń stosowanych do pomiaru światła - skanerów, aparatów cyfrowych, kamer itd. Naturalną rzeczy koleją rejestrują one światło w sposób liniowy, innymi słowy ich współczynnik gamma = 1. Dlatego aby te pomiary odnieść do naszej percepcji, to właśnie tutaj musimy dokonać przekształcenia danych na formę nieliniową, odpowiadającą naszej percepcji.
    Istotne dla nas wnioski wynikające z "liniowego stanu rzeczy" opisał Janusz Body:
    http://canon-board.info/showthread.php?t=12704

    Ogólnie rzecz biorąc wszystkie te przekształcenia wykonuje CMS, na podstawie informacji zawartej w profilach urządzeń. Kalibrując monitor korygujemy jego charakterystykę w ten sposób, by dokładnie odpowiadała współczynnikowi 2,2. Profilując drukarkę dostarczamy systemowi informacji o jej krzywej charakterystycznej. Liniowo zarejestrowane dane z aparatu cyfrowego są przekształcane i zapisywane w nieliniowej postaci, w syntetycznej przestrzeni edycyjnej (np. sRGB itp).

    Wszystko to oczywiście podaję w dużym uproszczeniu i mogłem coś popieprzyć, gdyż fachowe i popularne materiały na ten temat albo najeżone są mnóstwem wzorów, cyferek, logarytmów i inszego ch...stwa, (co dla skończonego humanisty stanowi sporą upierdliwość), bądź też podawane są w cholernie ogólnikowej formie, jak dla debili.
    Ostatnio edytowany przez czornyj; 4171.
    Marcin Kałuża | foty

    Komentarz

    • tomdz
      Uzależniony
      • 2007
      • 637

      #3
      Obecnie - po powstaniu zaawansowanych systemów zarządzania barwą - przyjął się współczynnik gamma wynoszący 2,2. (...) Również popularne syntetyczne przestrzenie edycyjne - sRGB i AdobeRGB mają współczynnik gamma 2,2.
      O ile dobrze rozumuję, dla sRGB i AdobeRGB będzie to tak naprawdę 1/2.2?

      Istotne dla nas wnioski wynikające z "liniowego stanu rzeczy" opisał Janusz Body:
      http://canon-board.info/showthread.php?t=12704
      Oczywiście czytałem cały wątek. Zresztą, z tego co widziałem, Tomasz Urbanowicz miał bardzo podobne wątpliwości do moich.
      2 cytaty (mam nadzieję, że autor się nie obrazi):

      "Czyli dla PC monitor (zakładam idealne warunki) ma gamme = 2.2, system Windows nadaje w gammie = 1/2.2 co wynikowo daje gammę = 1 czyli funkcje liniową (nachyloną pod kątem 45 stopni)."

      ...i dalej...

      "Janusz pisze, że matryca jest liniowa. Następnie słusznie pisze, że wzrok ludzki ma charakter adaptacyjny. Jednak później pisze że wzrok ludzki ma charakter logarytmiczny z jaką tam gammą od 2-3 (zapewne chodzi o wykładnik potęgi 1/2-1/3 zamiast 2-3). Dalej piszę o jakimś przekształceniu JPG z RAW z funkcją logarytmiczną - tylko po co ta funkcja?
      Na monitorze chcemy widzieć dokładnie to, co widzimy w rzeczywistości. Monitor+PC wyświetla obraz w postaci liniowej, matryca rejestruje liniowo - dlaczego jest to przekształcenie i czy ono w ogóle występuje?"


      Jak się domyślam (i tu proszę o potwierdzenie), błąd w tym rozumowaniu polega na założeniu, że Windows przeprowadza korekcję 1/2.2 i całościowa gamma systemu jest równa 1 (1/2.2 systemu * 2.2 monitora) - fragment wytłuszczony przeze mnie? Tymczasem gamma systemu = 1, czyli żadnej kompensacji nie ma na tym poziomie, a zachodzi ona tylko i wyłącznie przy konwersji RAW (zapis liniowy) -> sRGB/AdobeRGB (gamma 2.2)? Czy tak?

      Wszystko to oczywiście podaję w dużym uproszczeniu i mogłem coś popieprzyć, gdyż fachowe i popularne materiały na ten temat albo najeżone są mnóstwem wzorów, cyferek, logarytmów i inszego ch...stwa, (co dla skończonego humanisty stanowi sporą upierdliwość), bądź też podawane są w cholernie ogólnikowej formie, jak dla debili.
      Ja nie humanista, a wręcz po kierunku, po którym "trochę" wstyd zadawać takie pytania. Z tym, że nas tylko uczyli, że CRT są nieliniowe -> korekcja gamma w nadajniku, żeby było liniowo. I tyle. Z kolei materiały w sieci pełne są niedomówień i wręcz sprzeczności (przynajmniej ja nie znalazłem jeszcze kompletnego omówienia tematu).
      Body, stałki, zoomik

      Komentarz

      • Tom01
        Pełne uzależnienie
        • 2007
        • 2600

        #4
        Wycinek z materiału w całości opublikowanego tu: http://monitory.mastiff.pl/faq.php?ID=89

        "Współczynnik gamma, z którym musimy się zmagać jest zaszłością czysto technologiczną: jest to nieliniowa charakterystyka lampy elektronowej jaką jest kineskop, szczęśliwie dająca się opisać prostą zależnością potęgową.

        Jednym z mitów jaki wciąż w światku komputerowym krąży wokół "gammy" jest to, że służy ona korekcji logarytmicznych charakterystyk oka. Nie jest to prawdą: ucho ludzkie także ma charakterystykę logarytmiczną a mimo to producenci sprzętu audio wkładają mnóstwo wysiłku w to, aby sprzęt miał charakterystyki możliwie jak najbardziej liniowe - inaczej słyszymy przykre zniekształcenia.

        Oko jest dużo bardziej tolerancyjne dla nieliniowości, niemniej jednak w procesie transmisji obrazu obowiązują te same zasady co w audio: wypadkowa charakterystyka przenoszenia musi być w przybliżeniu liniowa jeśli chcemy naturalnie odbierać kontrasty obserwowanej sceny. Zależność liniowa to wypadkowy współczynnik gamma zbliżony do jedności."

        Może to też trochę rozjaśni. Proszę zwrócić uwagę na poglądowe przedstawienie nieliniowości charakterystyk jasności LUT karty, monitora i kineskopu.

        CRT:

        LCD analog:

        LCD DVI:
        Ostatnio edytowany przez Tom01; 9315.
        Masz problem z kolorem, wal śmiało!
        e-mail: [email protected]

        Komentarz

        • tomdz
          Uzależniony
          • 2007
          • 637

          #5
          Dzięki za interesujący link. Niestety, im dalej w las, tym więcej drzew i czytając ten artykuł uświadomiłem sobie, że nie rozumiem także kalibracji temperatury barwowej monitora.
          Weźmy dowolny plik źródłowy z danymi zapisanymi w jakiejś przestrzeni barw. Przed wyświetleniem obrazu, CMS konwertuje dane np. do LAB i tym samym mamy jednoznacznie określone barwy występujące w obrazie. I teraz, czy nie jest zadaniem CMS w następnym kroku dokonać takiej konwersji, by na monitorze otrzymać dokładnie te same kolory? Bo jeśli tak, to czy skalibrowaliśmy monitor do 5000K, 6500K czy 9000K, powinniśmy dostać ten sam obraz (pomijając różnego rodzaju straty jakości). Przypadki te różniły by się wyłącznie profilami monitora, ale efekt ich zastosowania powinien chyba być identyczny? A jeśli tak, to jaki jest sens podawać w zaleceniach docelową temperaturę w zależności od przeznaczenia monitora oraz skąd biorą się błędy powstałe przy korekcie wykonanej przy niewłaściwej temperaturze (vide artykuł z linku)?
          Oczywiście wiem, że gdzieś robie błąd, ale gdzie?
          Body, stałki, zoomik

          Komentarz

          • Tom01
            Pełne uzależnienie
            • 2007
            • 2600

            #6
            Zamieszczone przez tomdz
            Bo jeśli tak, to czy skalibrowaliśmy monitor do 5000K, 6500K czy 9000K, powinniśmy dostać ten sam obraz
            Oczywiście że nie. Koordynaty konkretnej barwy są te same, tylko jej postrzeganie w różnych warunkach oświetleniowych jest inne. Stąd symulacja ich na monitorze.
            Ostatnio edytowany przez Tom01; 9315.
            Masz problem z kolorem, wal śmiało!
            e-mail: [email protected]

            Komentarz

            • tomdz
              Uzależniony
              • 2007
              • 637

              #7
              Tak, oczywiście. Nie zupełnie o to mi chodzi.
              Potraktujmy monitor z różnymi ustawieniami temperatury jako dwa różne monitory. Dla obu tworzymy niezależne profile. Czy nie jest zadaniem systemu zarządzania barwą zapewnienie, by na tych dwóch monitorach kolory były odwzorowane identycznie?
              Body, stałki, zoomik

              Komentarz

              • Tom01
                Pełne uzależnienie
                • 2007
                • 2600

                #8
                Zamieszczone przez tomdz
                Tak, oczywiście. Nie zupełnie o to mi chodzi.
                Potraktujmy monitor z różnymi ustawieniami temperatury jako dwa różne monitory. Dla obu tworzymy niezależne profile. Czy nie jest zadaniem systemu zarządzania barwą zapewnienie, by na tych dwóch monitorach kolory były odwzorowane identycznie?
                Dwa monitory symulujące co innego (temperaturę) zawsze dadzą różny obraz.
                Masz problem z kolorem, wal śmiało!
                e-mail: [email protected]

                Komentarz

                • tomdz
                  Uzależniony
                  • 2007
                  • 637

                  #9
                  Wiem, że tak jest (organoleptycznie :-)). Ale dlaczego?
                  Zaintrygowało mnie stwierdzenie o symulowaniu temperatury. Co przez to rozumiesz? Czy profil monitora ma na celu uzyskanie na monitorze oryginalnych barw z obrazka czy barw z obrazka widzianych w określonym oświetleniu?

                  Cytat z Real World Color Management:
                  "The source profile tells the CMS where the numbers in the document come from so that it can figure out what actual colors they represent. The destination profile tells the CMS where the document is going to so that it can figure out the new set of RGB or CMYK numbers needed to represent those same actual colors on the destination device".

                  To by odpowiadało twierdząco na pierwsze z postawionych pytań.

                  Z kolei z Twoich odpowiedzi wynika, że prawdziwa jest druga wersja.
                  Body, stałki, zoomik

                  Komentarz

                  • Tom01
                    Pełne uzależnienie
                    • 2007
                    • 2600

                    #10
                    Zamieszczone przez tomdz
                    Czy profil monitora ma na celu uzyskanie na monitorze oryginalnych barw z obrazka czy barw z obrazka widzianych w określonym oświetleniu?
                    Profil monitor ma na celu minimalizację jego błędów. Temperatura bieli ma na celu pokazanie zawartości pliku, w konkretnym oświetleniu.
                    Masz problem z kolorem, wal śmiało!
                    e-mail: [email protected]

                    Komentarz

                    • Kubaman
                      Pełne uzależnienie
                      • 2004
                      • 4709

                      #11
                      od strony praktycznej, bez wdawania się w meandry wiedzy akademickiej: dokonałem kalibracji wedle wskazanego w linku wzorca dwa tygodnie temu za radą czornego. Wyszłą mi taka kicha, ze nie moglem uwierzyć, ale myślę sobie - pewnie złe przyzwyczajenia. Nie mogłem jednak w praktyce pracować. Dokonałem powrotu do moich wcześniejszych ustawień robionych czysto "na czucie" Wyniki jakie osiągnąłem kilka dni temu przy odbijaniu są w zasadzie zgodne z wartościami na ekranie i po owej kalibracji na pewno były by w kosmos rozjechane.

                      Monitor FS P19-2
                      www.jakubszyma.pl

                      www.szyma.com

                      Komentarz

                      • Tom01
                        Pełne uzależnienie
                        • 2007
                        • 2600

                        #12
                        Zamieszczone przez Kubaman
                        dokonałem kalibracji wedle wskazanego w linku
                        Pierwsza przyczyna.

                        Zamieszczone przez Kubaman
                        Monitor FS P19-2
                        Druga przyczyna.

                        Wniosek: trza nabyć kalibrator.
                        Masz problem z kolorem, wal śmiało!
                        e-mail: [email protected]

                        Komentarz

                        • tomdz
                          Uzależniony
                          • 2007
                          • 637

                          #13
                          Zamieszczone przez Tom01
                          Profil monitor ma na celu minimalizację jego błędów. Temperatura bieli ma na celu pokazanie zawartości pliku, w konkretnym oświetleniu.
                          Nadal tego nie kumam Załóżmy, że skalibrowałem monitor do 6500K. Wyświetlam obrazek przedstawiający gładką biel o temperaturze 5000K. To co dostanę na monitorze i dlaczego (oczywiście w systemie z zarządzaniem barwą)?
                          Body, stałki, zoomik

                          Komentarz

                          • Tom01
                            Pełne uzależnienie
                            • 2007
                            • 2600

                            #14
                            Zamieszczone przez tomdz
                            Nadal tego nie kumam Załóżmy, że skalibrowałem monitor do 6500K. Wyświetlam obrazek przedstawiający gładką biel o temperaturze 5000K. To co dostanę na monitorze i dlaczego (oczywiście w systemie z zarządzaniem barwą)?
                            W pliku koordynaty bieli będą 255.255.255 (RGB) i tak to wyświetli monitor. Nie ma dodatkowej informacji o "temperaturze" w pliku.
                            Masz problem z kolorem, wal śmiało!
                            e-mail: [email protected]

                            Komentarz

                            • tomdz
                              Uzależniony
                              • 2007
                              • 637

                              #15
                              Hmm... czy na pewno? W pliku mamy zapisany profil przestrzeni w jakiej zapisane są dane, więc CMM konwetuje owo 255.255.255 do PCS, przyporządkowując tym samym wejściowym wartościom RGB jednoznacznie określone współrzędne chromatyczne. Czyli mamy ściśle zdefiniowaną barwę, w tym przypadku założyłem, że jest to biel o temperaturze 5000K. Moje pytanie pozostaje aktualne - jak to wyświetli monitor?
                              Body, stałki, zoomik

                              Komentarz

                              Pracuję...