Was ist der Zweck der Gammakorrektur auf heutigen Bildschirmen und in welcher Beziehung stehen sie zu Grafik und Fotografie?

15

Ich bin ziemlich verwirrt über den Zweck der Gammakorrektur und die Beziehung zwischen gammakorrigierten und unkorrigierten Bildern in Bezug auf Grafik und Fotografie sowie über das Farbmanagement im Allgemeinen (Umwandlung von linearem RGB in gammakorrigierte RGB-Räume und anschließende Anzeige auf dem Bildschirm) Bildschirm).

Aus vielen Quellen, hauptsächlich http://www.guillermoluijk.com/article/gamma/index.htm und Frage # 23026151 bei Stackoverflow (Muß ich Gamma korrigiert die endgültige Farbausgabe auf einem modernen Computer / Monitor?) , I‘ sind zu dem Schluss gekommen, dass:

Die Gammakorrektur wurde ursprünglich entwickelt, um die nichtlineare Reaktion von CRT-Monitoren auf das Eingangssignal zu kompensieren. CRTs waren nicht in der Lage, das Eingangssignal selbst zu verstärken, und daher musste das Ausgangssignal vom PC angepasst werden, was (ab heute) zur Standard-Gamma-2.2-Korrektur und zum sRGB-Farbraum führte.

Moderne Bildschirme leiden jedoch nicht unter dem Signalverlust wie CRTs. Auch sie können einige Nichtlinearitäten aufweisen, aber da das Eingangssignal am häufigsten nur von 8 Bit pro Kanal (256 Schattierungen) übertragen wird, sollten sie in der Lage sein, einige Nichtlinearitäten in ihrer Farbwiedergabe selbst zu kompensieren, da sie wahrscheinlich in der Lage sind von mehr als 256 Schattierungen in einem Kanal zu reproduzieren. Dies würde bedeuten, dass die Gammakorrektur zusammen mit sRGB und allen gammakorrigierten Farbräumen nur ein Erbe aus der CRT-Ära ist und der einzige Zweck darin bestand, das Eingangssignal linear anzuzeigen.

Es gibt auch Artikel, die behaupten, die Gammakorrektur sei hier, um die Nichtlinearität des menschlichen Sehens auszugleichen(CambridgeInColour.com - Verständnis der Gammakorrektur), die in etwa der Gammakurve entsprechen sollte, da wir in der Lage sind, geringfügige Unterschiede in dunkleren Schattierungen zu erkennen, bei helleren jedoch nicht so gut abschneiden (die Helligkeit eines Punktes muss exponentiell zunehmen, damit dies der Fall ist) heller erscheinen). Auf diese Weise zeichnen Kamerasensoren die Szene nicht auf. Rohdaten von einem Sensor werden in linearem RGB erhalten und in einen gammakorrigierten RGB-Farbraum umgewandelt (Schatten angehoben und Lichter abgedunkelt). Die Gammakorrektur sollte jedoch den Verlust des Ausgangssignals ausgleichen. Ich glaube, dass moderne Bildschirme lediglich das Verhalten von CRTs simulieren, um die Gammakorrektur aufzuheben und die Szene so anzuzeigen, wie sie von der Kamera aufgenommen wurde - grob gesagt, die Kamera abzubilden Schattierungen 1: 1 auf den Bildschirm diejenigen. Gut,

Bedeutet das dann, dass jeder Farbton in irgendeinem RGB-Farbraum genau die gleichen RGB-Werte in jedem anderen RGB-Raum einschließlich linearem RGB haben sollte (z. B. bedeutet # 010A1F in sRGB genau # 010A1F in linearem RGB in Bezug auf die Speicherung in einer Bitmap-Datei mit 8bpc) und es liegt nur an Bildschirm und Grafikkarte, wie sie die Farbübertragung arrangieren und ob beide Seiten zusätzliche Neuberechnungen durchführen müssen, um das Bild in den Zielfarbraum zu konvertieren? Mit anderen Worten, das Ändern des Farbraums in einem Grafikeditor hat in der Tat nichts mit den RGB-Werten selbst zu tun. nimmt nur den neuen Farbraum in Bildmetadaten zur Kenntnis? Ich glaube, dass dies nicht der Fall ist, da das Farbmanagement als solches unbrauchbar wird, wenn ein digitaler Grafikadapter / eine Bildschirmschnittstelle verwendet wird. Der Grafikadapter könnte einfach reine RGB-Daten senden, unabhängig vom verwendeten Farbraum, da kein analoger Gewinn (Gamma) vorhanden wäre angewendet auf die Werte, die auf einer linearen Skala von 0 bis 255 liegen. Auch die Farbskala verschiedener Farbprofile wäre gleich, wenn keine Rundungsfehler eingeführt würden, oder?

Meine letzte Verwirrung ergibt sich möglicherweise aus dem Missverständnis der Farbprofilkonvertierung und der Tabelle der Belichtungsstufen (die erste) im Artikel http://www.guillermoluijk.com/article/superhdr/index.htm (kann mit übersetzt werden) Google Übersetzer). Verstehe ich es richtig, dass die linearen Werte mithilfe einer Exponentialfunktion (oder inversem Gamma) transformiert werden, wodurch der Tonwertumfang in Richtung Schatten verkleinert wird und das Bild dadurch dunkler wird? Passiert das, wenn wir lineares RGB speichern und es als gammakorrigiertes Bild auf dem Computerbildschirm darstellen?

Ich entschuldige mich dafür, dass ich eine so komplexe Frage gestellt habe, aber es erweist sich als sehr schwierig, eine wirklich gute Informationsquelle zu finden, die alle auftretenden Unsicherheiten erklärt. Vielen Dank im Voraus für jede Antwort, die dazu beitragen kann, mein Missverständnis zu korrigieren.

Kyselejsyreček
quelle
4
Vielleicht möchten Sie versuchen, diese Frage zu verdichten. Es ist zwar immer noch möglich, die Frage nur anhand des Titels zu beantworten, ich denke jedoch, dass das Bearbeiten eine gute Möglichkeit ist, das Thema selbst zu verstehen.
JenSCDC
1
Ich fange an, an einer Antwort zu arbeiten, nicht zuletzt, weil mir klar wurde, dass ich viel vergessen hatte, und die Beantwortung einer Frage ist ein guter Weg, um sie neu zu lernen.
JenSCDC
Der Hauptgrund ist einfach die Abwärtskompatibilität. Sie möchten in der Lage sein, denselben Computer und dieselbe Software mit alten CRT-Monitoren und modernen LCD-Monitoren zu verwenden. Software macht immer das Gleiche wie früher: Sie erstellt Bilder im sRGB-Farbraum. Dies beinhaltet natürlich die übliche Gammakorrektur. Dann verwenden alte CRT-Monitore die Bilder wie sie sind, während moderne Displays die Konvertierung von einem linearen Farbraum in einen sRGB-Farbraum im Grunde "rückgängig" machen.
Jukka Suomela
Und wie steht es mit der Fotografie? Mit den richtigen Werkzeugen auch nicht. Die Gammakorrektur (und allgemeiner die Konvertierung zwischen verschiedenen Farbräumen) erfolgt automatisch. normale Benutzer sollten es überhaupt nicht sehen können. Es ist nur eine Technik, die Computerprogrammierer berücksichtigen müssen, aber Endbenutzer müssen überhaupt nichts darüber wissen. (Es sei denn, Sie möchten ausdrücklich so etwas wie hexadezimale Farbwerte in den sRGB-Farbraum eingeben. In diesem Fall wissen Sie höchstwahrscheinlich, was Sie tun.)
Jukka Suomela,

Antworten:

10

von Charles Poynton "Die Rehabilitation von Gamma" :

Irrtum: Die Nichtlinearität eines CRT-Monitors ist ein Mangel, der behoben werden muss.

Fakt ist: Die Nichtlinearität einer CRT ist nahezu umgekehrt zur Helligkeitsempfindlichkeit des menschlichen Sehens. Die Nichtlinearität bewirkt, dass die Reaktion einer CRT in etwa gleichförmig ist. Dieses Merkmal ist keineswegs ein Defekt, sondern höchst wünschenswert.

Irrtum: Der Hauptzweck der Gammakorrektur ist die Kompensation der Nichtlinearität der CRT.

Fakt: Der Hauptzweck der Gammakorrektur in Video, Desktopgrafiken, Druckvorstufe, JPEG und MPEG besteht darin, Luminanz- oder Tristimuluswerte (proportional zur Intensität) in einem wahrnehmungsgleichmäßigen Bereich zu codieren, um die Wahrnehmungsleistung einer begrenzten Anzahl von Bits zu optimieren in jeder RGB- (oder CMYK-) Komponente.

der rest des artikels ist auch sehr aufschlussreich :)

szulat
quelle
Die Szene in Nature ist in linearem Gamma dargestellt und sollte auf dem Bildschirm oder auf Papier in gleicher Weise mit einer kleinen Erhöhung des Gammas dargestellt werden, um Streulicht zu kompensieren - normalerweise Gamma 1.1 oder 1.2.
Iliah Borg
1
Dr. Poyntons Doktorarbeit ist jetzt online: poynton.ca/PDFs/Poynton-2018-PhD.pdf . In den Kapiteln 3 und 4 werden die klassischen Kurven behandelt. In Kapitel 8 wird der OETF "Barten Lightness" vorgestellt, der die gleiche Form wie die Dolby PQ-Kurve (SMPTE-2084) hat. Am oberen Ende der Skala verwandelt es sich nahtlos von einer Gamma-Kurve in eine logarithmische Kurve, was wir eigentlich erwartet hatten. Das ganze Buch ist sehr aufschlussreich!
Jeroen van Duyn
7

Betrachten Sie dieses Beispiel aus Cambridge in Farbe :

Bildbeschreibung hier eingeben

Durch die Anwendung der Gammakodierung können wir das Originalbild mit der gleichen Bittiefe (in diesem Beispiel 5) genauer darstellen.

Dies wird erreicht, indem die 32 Stufen so verwendet werden, dass sie dem menschlichen Auge besser entsprechen. Mit anderen Worten, es ist eine Form der Komprimierung. JPEGs können beispielsweise tatsächlich etwa 11 Stufen des Dynamikbereichs speichern , obwohl nur 8 Bit pro Kanal verwendet werden.

Und wie bei jeder anderen Form der Komprimierung spielt es keine Rolle, ob Sie sich für die Dateigröße interessieren (und für die geringere Geschwindigkeit, mit der Sie größere Dateien lesen oder schreiben können). Theoretisch könnten Sie ein JPEG-ähnliches Format verwenden, das lineares Gamma verwendet, wenn Sie bereit wären, jedem Kanal 11 Bit anstatt 8 Bit zuzuweisen.

Zusammenfassend ist Gamma also nur eine Form der Komprimierung: Es reduziert die Dateigröße, die erforderlich ist, um eine bestimmte Menge an Informationen so zu speichern, wie das Auge sie wahrnimmt. Alternativ können Sie subtilere Abstufungen in derselben Bittiefe speichern.

Vaddadi Kartick
quelle
7

Ich bin ein ehemaliger Sendeingenieur und arbeite derzeit in Spielfilmen und Fernsehen als Redakteur und VFX-Supervisor.

Viele Aussagen hier sind falsch. Gamma im Signalpfad ist ein gewünschter Vorteil und eine Designentscheidung von frühen Videoingenieuren, um das wahrgenommene Rauschen bei der Übertragung zu reduzieren.

Alle Vakuumröhren, einschließlich CRTs, weisen verschiedene Nichtlinearitäten auf (siehe Langmuir-Child-Gesetz). CRTs können abhängig von verschiedenen Konstruktionsunterschieden von einem "Gamma" von 1,5 bis über 3,5 variieren (wenn sie von einem Spannungssignal angesteuert werden). Die Nichtlinearitäten spielten bei Monochromen eine geringere Rolle, wurden jedoch bei Farben kritischer, sodass der NTSC ein Signal-Gamma von 1 / 2,2 spezifizierte. Das CRT- Design und die unterstützenden Schaltkreise passen das tatsächliche Gamma gemäß dem Langmuir-Child-Gesetz (das üblicherweise als 1,5 verstanden wird, bei CRTs jedoch aufgrund einer Reihe von Faktoren typischerweise höher ist) auf ein Niveau an, das der menschlichen Wahrnehmung "Gamma" von ~ 2,5 entspricht. Für NTSC wurde angenommen, dass das Fernsehgerät ein Gamma-Ziel von ~ 2,4 ** hat, während PAL ~ 2,8 anzeigt

Das höhere Gamma in den alten Standards für analoge Rundfunksignale dient speziell der Reduzierung des wahrgenommenen Rauschens, da die menschliche Wahrnehmung nicht linear ist. Nutzen Sie in diesem Anwendungsfall die Nichtlinearitäten, um das Rauschen durch den "Kompandierungseffekt" der Gammakodierung des Signals zu verbergen. Das ist ziemlich akademisch.

Es gibt einige Möglichkeiten, wie das Design von CRT-Fernsehern und -Monitoren geändert werden könnte, um eine Linearität im Gegensatz zu einer Kurve vom Gammatyp zu erzielen, aber eine Gammakurve im analogen Rundfunk reduzierte das scheinbare Rauschen um 30 dB. Gamma war dann wünschenswert, WIE ES JETZT IST .

Gamma wird benötigt, auch wenn ein LCD-Monitor linear (Gamma 1.0) verwendet werden kann. Die Behauptungen hier, dass Gamma nicht mehr benötigt wird, sind vollständig und verstehen den gegenwärtigen Zweck des Anwendens einer Preemphasis-Kurve nicht.

Mit Gamma kann sRGB (oder Rec709) "gut" aussehen, obwohl die Bittiefe nur 8 Bit pro Kanal beträgt. Hier ist ein Beispiel:

Dies ist ein Bild in sRGB, 8 Bit, mit Gamma-Preemphasis (dh normales Webbild). normal

So würde dieses Bild ohne den Vorteil von Gamma aussehen (dh wenn es lineare Werte und lineare Anzeige wäre, keine Gamma-Vorverstärkung). Schlecht

Gamma sorgt für MEHR BITS in den dunkleren Bereichen für weichere Verläufe und weniger Rauschen.

Wenn Sie vollständig linear arbeiten möchten, benötigt Ihr gesamter Signalpfad mindestens 12 Bit pro Kanal. 8 bpc ist nicht genug. Das Codieren mit einer Kurve und das Decodieren auf dem Display ermöglicht die Verwendung eines kleineren Datenblocks von einem Byte pro Farbkanal.

Im Film verwenden wir linear als Arbeitsbereich , aber wenn wir mit linear arbeiten, haben wir einen Gleitkommawert von 32 Bit pro Kanal . Wenn wir lineare Bilddateien austauschen, verwenden wir EXR Half, also 16 Bit pro Kanal-Float. (Wenn wir 10-Bit-DPX-Dateien verwenden, werden die Bilddaten mit einer LOG-Kurve codiert.)

ABER

Die von uns verwendeten Computermonitore sind weiterhin entweder 8- oder 10-Bit-FOR-DISPLAY-Monitore, sodass alle linearen Bilder vor dem Senden an den Monitor noch gamma-angepasst werden müssen. Warum?

Die meisten "guten" Monitore sind nur 8 Bit pro Kanal, und viele sind nur "6 Bit intern", was bedeutet, dass sie ein Bild mit 8 Bit pro Kanal aufnehmen und als 6 Bit pro Kanal anzeigen. Wie können sie ein akzeptables Bild machen?

GAMMA!

10-Bit-Monitore pro Kanal sind selten und teuer (wie mein NEX PA271W). Mein NEC kann ein 10-Bit-Signal empfangen und verwendet eine interne 14-Bit-LUT für die Profilerstellung. Aber 10 Bit reichen noch nicht für linear!

Gamma oder irgendeine Form einer Preemph / Deemph-Kurve ist sogar für 10 Bit erforderlich . 12 Bit sind das absolute Minimum für eine vernünftige lineare Anzeige und selbst dann für die Spielfilmindustrie nicht akzeptabel.

Wir verwenden 12-Bit-Projektoren für DCDM (Digital Cinema) und wissen Sie was? DCDM verwendet nicht nur CIE X´Y´Z´, sondern auch einen Projektor-Gamma von 2,6 !!!

DCI wurde für Theater entwickelt und ist ein eigenes geschlossenes Ökosystem, das sich nicht auf alte Technologien wie CRT verlässt. Wenn die Verwendung eines linearen Raums (Gamma 1.0) einen "Vorteil" hätte, wäre er verwendet worden, ist es aber nicht.

Linear wird im digitalen Kino NICHT verwendet, da der ADVANTAGE eine Gammakurve verwendet .

Bitte hören Sie auf zu sagen, dass wir Gamma nur aus Legacy-Gründen verwenden, da dies falsch ist.

Bitte lesen Sie Poynton zu diesem Thema , da er diese Fragen auf leicht verständliche Weise klärt.

Danke fürs Lesen.

Fußnote: ** Während das NTSC ein Signal-Gamma von 1 / 2,2 spezifizierte, wurde von Fernsehgeräten ein Gamma von 2,4 für eine System-Gamma-Verstärkung erwartet . Es ist nützlich darauf hinzuweisen, dass Rec709 (HDTV) und sRGB mit Ausnahme der Übertragungskurve identisch sind. Interessanterweise gibt Rec709 (über BT1886) ein "physikalisches Display-Gamma" von 2,4 (dh das Gamma des Monitors selbst) an, und sRGB-Monitore werden in der Regel auf 2,4 oder höher eingestellt (Umfragen zeigen, dass die meisten Benutzer 2,5 und höher eingestellt haben). Das SIGNAL-Gamma ist jedoch anders. Ca. 1 / 2.2 für sRGB und ca. 1 / 2.0 für Rec709. In beiden Fällen liegt eine System-Gamma-Verstärkung vor, die auf der erwarteten Betrachtungsumgebung basiert.

Myndex
quelle
Ich habe mich immer gefragt, warum die Audioindustrie nicht den gleichen Ansatz verwendet, sondern stattdessen 16+ Bits pro Sample wirft ...
Zeus
Hallo @Zeus, es gibt mehrere Gründe (wenn du dies als Frage stellst, kann ich eine ausführlichere Antwort geben). Grundsätzlich haben Audioströme selbst bei 16 oder 24 Bit eine viel geringere Bandbreite als Video (im Allgemeinen) und sind rechnerisch einfacher zu handhaben. Nichtsdestotrotz verwendet Audio DOES in vielen Fällen diese Arten der Vor- und Nachverstärkung (besonders niedrige Bitrate). Tatsächlich ist das Hören auch nicht linear (wie die gesamte Wahrnehmung), aber 8-Bit-Audio ist "eine Art" wie 4-Bit-Video pro Kanal. Denken Sie daran, dass bei 8 Bit pro Kanal insgesamt 24 Bit pro Pixel verwendet werden. Der Vergleich mit 16 Bit Audio ergibt also Äpfel / Orangen.
Myndex
Danke @Myndex, leider wäre dies hier als Frage unangebracht. Ich bin nur neugierig, warum eine solche Pre- / De-Betonung von Anfang an nicht für Audio verwendet wurde, da sie für das Hören genauso natürlich ist wie für das Sehen. Übrigens, ich meinte natürlich 16 Bit pro Kanal (wie auf CD); Lineares 8-Bit-Audio (das formal vorhanden ist) ist vermutlich schrecklicher als das lineare 8-Bit-Video aus Ihrem Beispiel (das standardmäßig nicht vorhanden ist). Ich verstehe, die Kompromisse sind geringer, aber die Vorteile sind hoch: Alle 3 dB die Hälfte der Auflösung zu verlieren, fühlt sich verrückt an ...
Zeus
Ich denke, es gibt eine Stack-Exchange-bezogene Site, die Audio-Fragen willkommen heißen würde. Unabhängig davon: Jedes Bit in 16-Bit-Audio entspricht 6 dB (Spannung), sodass ein dynamischer Gesamtbereich von 96 dB zur Verfügung steht. 6 dB (Spannung) ist "doppelt" (oder halb) so laut in der Spannung, ABER Menschen neigen dazu, 10 dB als wörtlich "halb so laut" zu empfinden. Pre / De emph wurde von Anfang an für Audio verwendet. Aufzeichnungen hatten die RIAA-Kurve, Magnetband verwendete die NAB-Kurve usw. usw. Was meinst du damit, die halbe Auflösung alle 3 dB zu verlieren ???
Myndex
Bei der linearen digitalen Codierung entspricht die Hälfte der Spannung der Hälfte des digitalen Bereichs (per Definition), dh der Verlust von 1 Bit Auflösung. Dies ist eine Menge für etwas, das als "etwas weicher" empfunden wird (-6 dB, das ist die Zahl, die ich meinte, nicht 3). Wenn wir mindestens die erforderlichen ~ 35 dB (für Sprache oder Orchester) erfassen möchten, bedeutet dies bereits einen 6-Bit-Verlust für die leisesten Klänge (und selbst dann, wenn dies ordnungsgemäß normalisiert wurde). Ich bin mir der "analogen" Betonung bewusst (die etwas anders und frequenzabhängig war), habe aber nie von einer gehört, die für digitale Zwecke verwendet wird, daher meine Fragen ...
Zeus
3

Es gibt viele verwirrende Artikel zur Gammakorrektur mit vielen vagen Hinweisen auf Gamma und menschliches Sehen. Der Grund für Gamma ist historisch und ergibt sich aus der Reaktionskurve der alten CRT-Monitore (nichts mit menschlichem Sehen zu tun). Bei modernen Flachbildschirmen gibt es keinen logischen Grund für die Gammakodierung und die anschließende Korrektur, sie sind jedoch zum Industriestandard geworden.

Die zufällig ähnliche Beziehung zwischen der Gammakurve und der Reaktionskurve des menschlichen Sehens bietet einen gewissen Vorteil bei der Reduzierung der Dateigröße, da die Bittiefe des Bildes verringert werden kann, ohne die wahrgenommene Bildqualität zu beeinträchtigen.

Gecko Boy
quelle
1

Das OP ist so ziemlich in Ordnung, außer dass Gamma die dunklen Töne heller und nicht dunkler macht. Dies existiert nur in der Datei, nicht im Auge. Die Daten werden immer in den ursprünglichen linearen Zustand zurückdecodiert, BEVOR sie von einem Auge gesehen werden. Jeder Unterschied im Auge, das die Originalszene sieht und die wiedergegebenen decodierten Daten sieht, ist einfach ein unerwünschter Wiedergabefehler.

Gamma wird nur zur Korrektur schwerwiegender Verluste von CRT-Monitoren verwendet. CRT ist nichtlinear, zeigt helle Töne, verliert aber die dunkleren Töne. Gamma lässt also die dunklen Töne übermäßig hell erscheinen, um dann hoffentlich nach den CRT-Verlusten wieder normal (linear) zu wirken. LCD-Monitore sind jedoch linear und benötigen daher kein Gamma mehr. Um jedoch die Kompatibilität mit allen alten RGB-Bildern der Welt zu gewährleisten, enthalten alle Standards immer noch dasselbe Gamma. Für LCD-Monitore ist es einfach, sie zu dekodieren und zu verwerfen. Und die Daten funktionieren immer noch auf CRT.

Gamma ist in KEINER WEISE für das menschliche Auge. Außer wir möchten die korrigierten linearen Originaldaten sehen. Das Auge hat eine ähnliche inverse Reaktion, die rein zufällig ist, aber das menschliche Auge sieht NIEMALS Gammadaten. Es wird immer zuerst dekodiert (entweder durch CRT-Verluste oder einen LCD-Chip) und das menschliche Auge sieht nur die linearen Daten wieder (hoffentlich). Ebenso wie in der Originalszene wurde auch in der Originalszene kein Gamma benötigt. Das Auge braucht keine Hilfe. Geh raus und sieh dir einen Baum an. Es gibt dort kein Gamma. Stellen wir uns wirklich vor, dass unser Auge den Baum nicht gut sehen kann? :) Denk noch ein bisschen darüber nach. Das Gehirn decodiert die Augenreaktion und die CRT oder das LCD decodiert die Datencodierung. Diejenigen, die behaupten, Gamma gehe ums Auge, wissen es einfach nicht, sie wiederholen nur die falschen Sachen, die sie gehört haben. Es ist nicht schwer zu hören, aber es ist sehr falsch. Diese Jungs sollten erklären, wann und wie das menschliche Auge überhaupt das Gamma sehen kann, das sie für notwendig halten. Es kann nicht, es hat keine Chance.

Gamma ist nicht ungefähr 8 Bits. Die Daten werden codiert und dann decodiert und sind hoffentlich identisch, so dass wir eine genaue Reproduktion der ursprünglichen linearen Szene sehen können. Gamma wurde im frühen NTSC-Fernsehen (1940) gemacht, bevor es irgendwelche Teile gab, aber wir hatten CRT. :) Bei Gamma geht es nur um CRT-Verluste. Schlicht und einfach. Und damals, am Tag der CRT, war Gamma extrem notwendig.

Die RGB-Daten werden vor dem Hinzufügen von Gamma normalisiert (auf Werte von 0,1 Prozent), normalerweise mit Exponent 1 / 2,2 (ungefähr Quadratwurzel). 18% sind (0,18 ^ 1 / 2,2) = 0,46 oder 46% im Histogramm oder 117 auf der 0..255-Skala. (People Image 18% sollte auch 50% sein. :) 18% ist 18%, aber wir sehen fast 50%, nur weil die Histogrammdaten gammacodiert sind.) Beachten Sie jedoch, dass 0 für jeden Exponenten immer noch 0 und 1 für Jeder Exponent ist immer noch 1, sodass der Dynamikbereich nicht erhöht wird. Und auch kein Clipping aufgrund von Gamma, die Endpunkte können sich nicht bewegen. Und natürlich, weil die Daten dekodiert werden, bevor sie jemand sieht. Das Ganze (kodieren, dann dekodieren) ist nur ein No-Op. Hoffentlich keine Veränderung am Auge. Aber in den Dateien werden normalisierte Daten (die eine FRAKTION sind) zu einem Exponenten eine größere Zahl, heller, es sei denn, kein Auge kann sie dort jemals sehen.

Gamma wird NUR durchgeführt, um die Reaktion von CRT-Monitoren zu korrigieren.

WayneF
quelle
1

Ich glaube, unsere Augen haben diese Reaktionskurve, aber diese Reaktion auf eine plötzliche Änderung der Lichtmenge, besonders wenn sie höher wurde, aber gleichzeitig dekodiert das Gehirn diese Reaktion, indem es unsere Iris verengt, um dieselbe (lineare Wahrnehmung) wie wir aufrechtzuerhalten Sie müssen sich in einem stabilen Betrachtungszustand befinden, bis der Übergang in den neuen Betrachtungszustand reibungslos verläuft.

Die Gammakorrektur kam im Wesentlichen von der Nichtlinearität der CRT-Elektronenkanone, die mehr Codierung (dh ein angelegtes Gamma von 0,45) benötigte, um eine gleichmäßige Ausgabe (lineare Ausgabe) zu senden, da die Eigenschaften der CRT-Elektronenkanone das Signal so machen, als ob es decodiert wäre (dh ein Gamma von 2,2) angewendete Kurve). In CRT-Zeiten wurden alle digitalen Daten codiert, um die Einheitlichkeit beim Anzeigen und Austauschen von Daten im Internet zu gewährleisten. Daher wurden Bilddateiformate hauptsächlich mit der Gammakurve (sRGB) codiert, die der Gammakurve (.45455) sehr ähnlich ist .

Nachdem alle Daten im Internet verschlüsselt wurden und aufgrund des linearen Verhaltens der LCD-Technologie (dh Eingangssignal = Ausgangswerte) festgestellt wurde, dass es zu spät ist, alle digitalen Daten erneut zu entschlüsseln, nachdem sie zum Standard wurden logische Lösung! und es ist, den CRT-Defekt wieder nachzuahmen, und sie stellten LCDs mit einem Chip her, der das Signal decodierte (dh eine 2,2-Gammakurve anwendete), genau wie ein Altsystem :), andernfalls hätten sie alle Daten im Internet decodieren sollen.

Lassen Sie sich also nicht auf diese Verwirrung der Nichtlinearität des Auges ein, denn Sie haben einen endlosen Kreis aus hoffnungslosem Denken.

Und hier ist die Beziehung zu Gamma und unseren Augen

Von Kamerasensoren erzeugte lineare Bilddaten RAW-Dateien mit standardmäßig gamma = 1,00 (Kamerasensornatur), dh (keine Dekodierung oder Kodierung = keine Korrektur), wenn RAW-Dateien auf dem Monitor "angezeigt" wurden, wurden dunkel "nur dunkel angesehen" und dort 10 & 12 Bit pro Kanal sind große Dateien, aber leider haben wir diese Tiefe überhaupt nicht genutzt, da unsere Augen für helle Werte nicht so empfindlich sind wie für dunkle Werte und subtile Veränderungen der Dunkelheit erkennen können (und ich werde es tun) unten erläutern).

Da das Bild aufgrund der Natur des Monitors als "dunkel angesehen" wird, werden die Helligkeitsstufen für die hellen Werte mehr verschwendet als für die Mitten und die dunklen Werte Werte hatten die gleiche Chance.

Sie fanden heraus, dass die Anwendung der Gammakorrektur (z. B. durch Codierung von Rohdaten in ein Format wie JPEG mit .45455 Gamma von sRGB) zum Glück eine Umwandlung in 8 Bit pro Kanal zur Folge hatte, was neben der korrekten Anzeige oder Darstellung der Helligkeitswerte auch eine geringere Dateigröße bedeutete ist (das ist, indem das Gamma von .45455 auf die Pixel gebrannt wird) und wenn die dunklen und mittleren Töne wieder hoch sind), stimmt sehr gut mit der Natur des Auges überein.

Meine Erklärung ist, dass die Stabzellen in den Augen die Fähigkeit des Nachtsichtens und die zu empfindliche Natur haben, dunkle Werte zu unterscheiden. >> Wir haben ungefähr 120 Millionen Stabzellen gegenüber nur 6 oder Millionen für die Zapfenzellen, die empfindlich gegenüber monochromatischen Farben sind und Wellenlängen

Ich denke, es ist nicht die Eye Response Curve, die dafür verantwortlich ist, und versuche nicht, Eye's Gamma und Monitor Gamma auf andere Weise zu verknüpfen, und korrigiere mich, wenn ich falsch liege :). Ich habe Mühe gehabt, Gamma-Probleme zu verstehen, so dass ich alles dagegen hatte.

Dies ist eine der besten Referenzen, die sich mit Gammagründen und -lösungen befasst

http://www.w3.org/TR/PNG-GammaAppendix.html

Ahmad Tantawy
quelle
0

Hier ist mein erster Entwurf einer Antwort - ich werde näher darauf eingehen, wenn es die Zeit erlaubt, aber ich möchte dem OP eine Art Antwort geben. Kommentare sind mehr als willkommen.

Das Zeug über CRTs gilt in der Tat nicht mehr. Es gibt jedoch einen sehr guten praktischen Grund, weiterhin gammacodierte Bilder zu verwenden. Mit der Gamma-Codierung sehen Bearbeitungen wie Kurven "normal" aus, da das Auge nicht linear auf Licht reagiert. Sehen Sie sich die Erstellung des LAB-Bereichs genauer an.

Ein Beispiel finden Sie in diesem Screenshot:Bildbeschreibung hier eingeben

Das linke Bild ist das Original, das mittlere Bild eine Kopie in Gamma 2.2 und das rechte Bild eine Kopie in Gamma 1.0. Die auf jede Kopie angewendete Kurve ist zu sehen. Entspricht die Version 2.2 oder 1.0 angesichts der Kurvenform Ihren Erwartungen?

JenSCDC
quelle
0

Tatsächlich ist Gamma heutzutage nicht mehr erforderlich, insbesondere wenn in hochbitigen Darstellungen des Bildes gearbeitet wird. Dies bedeutet jedoch, dass in viel zu vielen Fällen eine komplette Software neu geschrieben werden muss - oder dass der Übergang alles andere als nahtlos ist.

Iliah Borg
quelle
-1

LCD-Monitore sind "linear" und benötigen heutzutage kein Gamma, CRT-Monitore sind jedoch nichtlinear und tun dies immer noch. Alle Weltenarchive vorhandener Bilder verfügen über Gamma für CRT. Daher ist es viel einfacher, das Hinzufügen von Gamma fortzusetzen, als die gesamte Software zu ändern und alle vorhandenen Bilder zu veralten.

Das menschliche Auge hat absolut keine Verwendung für Gamma. Das Auge sieht die ursprüngliche Szene gut ohne Gamma. Gamma dient NUR zur Korrektur der erwarteten Verluste von CRT-Monitoren (wir sehen also eine Reproduktion der Originalszene). LED-Monitore können Gamma einfach decodieren und verwerfen, was keine große Sache ist (da das menschliche Auge eine originalgetreue Wiedergabe der Szenendaten ohne Gamma erwartet, sollte die Wiedergabe gleich aussehen). Es wäre eine schlechte Sache, es als Gammadaten zu sehen. Zum Glück hat das menschliche Auge keine Möglichkeit, jemals Gammadaten zu sehen. Die Sites, die uns sagen, dass das Auge Gamma braucht, wissen einfach nichts über Gamma.

Unsere Histogramme sind jedoch gammacodiert, da die Daten (aus dem oben genannten Grund) bis kurz vor ihrer Darstellung für das menschliche Auge codiert werden. Der Mittelpunkt unserer kodierten Daten liegt nicht bei 50%, sondern bei 73% der Gammadaten (Kameraanpassungen wie Weißabgleich und Kontrast verschieben sie etwas mehr). Wenn Sie ein Bild genau einmal unterbelichten, wird der 255-Punkt auf eine Skala von etwa 3/4 und NICHT auf eine Skala von 50% verschoben. Eine 18% ige Graukarte enthält 18% der Liniendaten, aber ungefähr 46% der Gammadaten. Menschen, die fälschlicherweise davon ausgehen, dass diese 50% betragen müssen, könnten sogar daran denken, ihren Belichtungsmesser darauf abzustimmen. :) Aber das Auge sieht niemals Gammadaten, es wird immer zuerst dekodiert, so oder so. Das Auge sieht hoffentlich immer eine originalgetreue Reproduktion der Originalszene.

Aber FWIW, Drucker brauchen auch den größten Teil der Gamma-Änderung. Kein Wert von 2,2, aber nicht zu weit davon entfernt (aufgrund von Punktzuwachs usw.). Apple beachtet jetzt die Standards von Welt 2.2, aber wir alle kennen die frühen Mac-Computer, die für die Verwendung von Gamma 1.8 verwendet wurden. Dies galt NICHT für den Monitor, sie verwendeten dieselben Monitore wie Windows (Monitore sind austauschbar). Aber damals verkaufte Apple Laserdrucker, und der Gamma 1.8 war für ihren Drucker bestimmt. Dann fügte die Mac-Videohardware etwas mehr hinzu, um sie auf die für die CRT benötigte Version 2.2 zu bringen. Heutzutage müssen Drucker die empfangenen 2.2-Daten etwas reduzieren, benötigen aber immer noch viel davon.

Heutzutage ist der Standard Gamma 2.2, so dass alle auf der Welt vorhandenen RGB-Daten weiterhin kompatibel sind.

WayneF
quelle
1
LED ist Hintergrundbeleuchtung. Der Hauptgrund für die Gammakorrektur ist NICHT die Optimierung für CRT, selbst wenn dies jemals der Fall war.
Euri Pinhollow