Sollte die JPEG-Codierung Gamma berücksichtigen?


11

Wenn ein Bild mit JPEG codiert wird, werden die RGB-Pixel zuerst in YUV codiert, und dann werden die UV-Kanäle heruntergesampelt. Bevor die DCT tatsächlich durchgeführt und die Koeffizienten codiert werden, korrigiert JPEG den Y-Kanal nicht durch Gamma . Ist das richtig? Sollten wir nicht die DCT-Koeffizienten bestimmen, die unser angezeigtes Ergebnis am meisten beeinflussen?


Ich weiß es nicht, aber es macht sicherlich Sinn, nicht Gamma zu korrigieren.
Joojaa

Ich poste dies nicht als Antwort, da ich nicht sicher bin, aber die Wahrnehmung der Helligkeit durch das menschliche Sehen ist nicht linear. Tatsächlich leistet sRGB einen recht guten Beitrag dazu, dies zu kompensieren und in den wichtigen Bereichen die größtmögliche Präzision zu erzielen. Möglicherweise stellen Sie fest, dass die Gammakorrektur vor dem Komprimieren von Luma tatsächlich zu schlechteren Ergebnissen führt.
Yuriks

AFAIK, Videostandards setzen R'G'B 'voraus, dh. Ein nichtlinearer Farbraum, wenn die 3x3-Farbtransformationen auf / von YCbCr angewendet werden. In einer Anwendung wie Video, in der die Qualität pro Bit maximiert werden soll, ist die Verwendung von linear nicht sinnvoll. Ich denke, die Abschnitte 27 und 29 der Farb-FAQ von Charles Poyton drücken es deutlicher aus: poynton.com/notes/colour_and_gamma/ColorFAQ.html#RTFToC27
Simon F

"Video entmystifiziert" sagt auch: "YCbCr ist der ursprünglich von BT.601 definierte Farbraum, der jetzt für alle Videoformate digitaler Komponenten verwendet wird. .... Die technisch korrekte Notation lautet Y'Cb'Cr ', da alle drei Komponenten vorhanden sind abgeleitet von R'G'B '. "
Simon F

Der Gamma-Exponent wird in JPEG-Exif-Daten gespeichert. Die meisten Programme ignorieren dies völlig. Sie können jedoch davon ausgehen, dass sich ein JPEG nach dem Decodieren bereits im Gammaraum befindet, sodass vor dem Senden des RGB-Werts im Anzeigepuffer keine Konvertierung erforderlich ist.
v.oddou

Antworten:


2

Laut Wikipedia (Standard-Haftungsausschluss RE-Genauigkeit einfügen):

JPEG definiert nicht, welche Farbcodierung für Bilder verwendet werden soll. JFIF definiert das zu verwendende Farbmodell: entweder Y für Graustufen oder YCbCr gemäß CCIR 601.

YCbCr ist ein nichtlineares Format. Wie bereits erwähnt, heißt es in "Video Demystified":

"YCbCr ist der ursprünglich von BT.601 definierte Farbraum, der jetzt für alle Videoformate digitaler Komponenten verwendet wird. .... Die technisch korrekte Notation lautet Y'Cb'Cr ', da alle drei Komponenten von R'G'B abgeleitet sind '. "

und Charles 'Poyntons Farbe FAQ Staaten

Videosysteme approximieren die Helligkeitsreaktion des Sehens unter Verwendung von R'G'B'-Signalen, die jeweils einer Leistungsfunktion von 0,45 unterliegen.

Bei der Komprimierung wird nach der besten visuellen Darstellung pro Bit gesucht, und da das Auge auf diese Weise nicht linear ist, ist es sinnvoll, nicht lineare Darstellungen zu verwenden.


Aus diesen Details erwartet JPEG nach meinem Verständnis, dass die eingegebenen RGB-Werte so codiert werden, dass die Anzeige bei der Anzeige eine Power-Funktion anwendet. Um diese spezifischen RGB-Werte wiederherzustellen, sollten sie vor der Codierung nicht korrigiert werden.
Mokosha

1
Das Problem bei der Aussage ist, dass es ein bisschen mehrdeutig ist. Wir sollten wahrscheinlich sagen, dass Sie, wenn Ihre "RGB" -Daten tatsächlich R'G'B 'sind (und annehmen, dass sRGB in diese Kategorie fällt), die Werte nicht ändern sollten, bevor Sie das R'G'B' anwenden. => YCbCr-Matrix. Wenn die Daten jedoch beispielsweise mit einem Renderer (also möglicherweise linear) berechnet, mithilfe von Downscaling (was im linearen Raum erfolgen sollte) verarbeitet oder beispielsweise mit einem CCD (das ich habe) erfasst (und bereinigt) wurden think is linear), dann muss es vor der JPEG-Komprimierung neu zugeordnet werden.
Simon F

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.