2016-08-03 66 views
1

Soweit ich verstehe, wird die Gammakorrektur angewendet, um einen hohen Leuchtdichtebereich in der realen Welt auf einen relativ niedrigen Leuchtdichtebereich in Anzeigen einzustellen. Und wenn es Ziel ist, Luminanz einzustellen, warum wird es unabhängig auf alle RGB-Kanäle angewendet?Warum wird die Gammakorrektur auf RGB statt auf YUV oder ähnliches angewendet?

In den meisten populären Farbmodellen, die Helligkeit (wie YUV) enthalten, wird der Helligkeitsterm selbst mit verschiedenen Koeffizienten für RGB-Kanäle berechnet. Warum ist der Gamma-Koeffizient für alle RGB-Farben gleich? Und warum wäre es nicht logisch, diesen Koeffizienten nur auf den Helligkeitsbegriff anzuwenden und den Farbraum unberührt zu lassen (UV-Bedingungen im Falle des YUV-Modells)?

Ist das irgendwie mit der Tatsache verbunden, dass es drei Arten von Zapfen im menschlichen Auge gibt, die mehr oder weniger den RGB-Farben entsprechen? Aber selbst wenn sich Kegelzellen unabhängig voneinander anpassen, sollte die Lichtintensität für alle von ihnen gleichmäßig durch die Arbeit von Linse und Pupille eingestellt werden.

Antwort

0

Gammakorrektur dient nicht dazu, die relative Luminanz zu reduzieren, sondern Werte in einer wahrnehmungsmäßig einheitlichen Weise zu kodieren, was die Codezuweisung optimiert und somit Quantisierungsartefakte im Vergleich zu einer linearen Kodierung derselben Werte reduziert.

Als der Tat die meisten optoelektronischen Übertragungsfunktion (OETF/OECF) und elektrooptischen Übertragungsfunktion (EOTF/EOCF), wie beispielsweise sRGB, BT.709, BT.1886 die Potenzfunktion basiert (gamma) nicht beeinflussen werden, die Schwarz-Weiß-Ebenen.

Eine Kombination verschiedener Exponenten an der Anzeigekette/Systemeingabe und -ausgabe führt zu einem Ende-zu-Ende-System-Gamma, das den visuellen Kontrast je nach geeignetem Ergebnis erhöhen oder verringern kann (dies wird als Picture Rendering bezeichnet). Zum Beispiel verwendet HDTV Broadcasting normalerweise BT.709 (Gamma ± 0.5) als Kodierungsfunktion für die Quelldaten (wie das Filmen mit einer HDTV-Kamera) und wird von Ihrem Fernsehgerät mit BT.1886 (Gamma 2.4) decodiert, was ein Ende ergibt bis zum Endsystem Gamma von ± 1,2, geeignet für schlechte Sichtbedingungen.

Im Y'UV colourspace, (Beachten Sie, dass ich eine prime auf Y gesetzt), Y‘stellt nicht relative Luminanz aber Luma, die eine nicht lineare Komponente ist: Es ist bereits codiert durch Mittel eines OETF (dh in diesem Fall eine Gammakodierungsfunktion). In ähnlicher Weise sind die U- und V-Komponenten nichtlinear, da sie aus bereits nichtlinearen R'G'B'-Komponenten gebildet werden.

Die Berechnung von Luma in die Tat eng mit der menschlichen Sehsystems Empfindlichkeit bezogen, wie Sie von den Gewichtungsfaktoren verwendet sehen: Y' = 0.299 * R' + 0.587 * G' + 0.114*B'.

Ich würde sehr empfehlen, dass Sie einen Blick auf Charles Poynton Gamma Faq werfen.

Ich würde auch empfehlen, dass Sie ein Auge auf unsere The Importance of Terminology and sRGB Uncertainty slides werfen, sollten sie Sie auf dem richtigen Weg mit der richtigen Terminologie setzen und wichtige Konzepte einführen.

1

Ursprünglich wurde eine Gammakorrektur eingeführt, um die Nichtlinearität von Kathodenstrahlröhren, die im Fernsehen verwendet werden, zu bewältigen, da es keine strenge Proportionalität zwischen der angelegten Spannung und der emittierten Leuchtdichte gibt.

Damals fanden es die Ingenieure ökonomischer, eine Korrektur an der Sendestelle statt in jedem Empfänger einzuführen. Deshalb ist die Korrektur tatsächlich eine "Vorkompensation" und die übertragenen Bilder sind verzerrt.

Obwohl heutzutage die verwendeten Technologien völlig anders sind, wurde die Rückwärtskompatibilität durch Trägheit und andere opportunistische Gründe beibehalten. Und die Anwesenheit/Abwesenheit von Vorkompensation/Gamma-Erzwingung in den Welten der Digitalkameras/Farbbildverarbeitung/Bildschirme ist ein komplettes Durcheinander.