Farbräume, 10bit Grafikkarte, 14bit LUT, 8bit Panel, Wide Gamut, Milliarden Farben.. Wie hängt das alles zusammen!? Wie sind die Abläufe?

  • Hallo zusammen,


    ich werde demnächst einen Monitor anschaffen, der über den Display-Port 10bit pro Kanal zugespielt bekommen kann (Dell U2413).
    Ist es lohnenswert, eine entsprechende Grafikkarte anzuschaffen, die dazu passend mit 30bit (3x10) übertragen kann?


    Im Prad-Test steht zu dem Dell U2413:

    • "Über den DisplayPort-Eingang können Signale mit 10bit pro Farbkanal zugespielt werden. Dies erfordert eine Unterstützung durch Grafikkarte, Betriebssystem, Treiber und Anwendung und ist derzeit noch auf wenige Konstellationen beschränkt. Adobe Photoshop hat in aktueller Version mit einer entsprechenden Anzeige keine Probleme."
    • Seine programmierbare 14bit LUT zeichnet den U2413 als Prosumer-Modell aus.
    • Das Panel arbeitet intern mit 8bit pro Farbkanal, stellt der vorgeschalteten Elektronik aber einen 10bit LVDS-Link zur Verfügung.
    • Anzahl der Farben: 1073 Mio.


    Ich würde gerne die Zusammenhänge verstehen, leider fehlt mir dazu der theoretische Background. Gibt es hier vielleicht jemanden, der sich damit auskennt und mir netter Weise bei den folgenden Fragen weiterhelfen könnte?


    • Wie ist der "Ablauf der Datenströme" von A bis Z, sprich "von z.B. dem Foto in Fotoshop im z.B. ProFoto RGB-Farbraum" bis zum leuchtenden Pixel auf dem Panel? Ist es z.B.: Photoshop ProFoto > Manipulieren der Grafikkarten-LUT entsprechend dem im Betriebssystem hinterlegten Monitorprofil > senden der Daten über das Monitorkabel in 8bit (oder eben demnächst bei Kauf einer entsprechenden Grafikkarte: 10 bit) > Ankommen der Daten im Monitor mit 8 (10)bit > Anpassen des Fotos anhand der 14bit LUT im Monitor > Im Falle, dass die Daten per 10bit über das Kabel kam: Dithering der 10bit Daten auf 8 bit > Ausgabe auf dem Panel in 8bit?!?! Hat vielleicht jemand dazu ein Diagramm oder weiterführende Links zur Hand?
    • 8 bit > 10bit > 14bit > 8 bit, etc... Werden die Daten ständig hoch- und runter interpoliert oder wie läuft das ab? Ist gar der kleinste gemeinsame Nenner ausschlaggebend?! Wie ist der genaue Ablauf und was wird wie umgewandelt oder durchgereicht, etc.?
    • Bislang waren die meisten gängigen Monitore "True Color", sie konnten 3 Farben (Rot, Grün und Blau) jeweils à 256 Abstufungen = 2^8 * 3 = 16,7 Millionen Farben über das Monitorkabel empfangen. Die Monitore, die mit 10bit/Kanal angesteuert werden können, versprechen also 2^10 * 3 = 1,07 Millarden Farben. Wie geht das in der Praxis, z.B. im Photoshop? Hat da der RGB-Regler plötzlich 1024 Abstufungen pro R, G und B?!
    • Ob Truecolor oder Megacolor (so nennt Matrox die 1,07 Milliarden Farben): Manche unken, das menschliche Auge könne sowieso nur ca. 7-9 Millionen Farben erkennen. Bringt das also alles überhaupt was, oder ist das nur Höher-Besser-Weiter-Mehr-Marketingquacksalberrei?
    • Ob Truecolor oder Megacolor: Das bezieht sich ja erstmal nur auf die Farben, die durch das Kabel zum Monitor kommen. In welchem Gesamtkontext stehen diese Zahlen auf der Rechnerseite zum Farbraum, z.B. sRGB oder ProPhoto und auf der Monitorseite zum Gamut des Panels, also z.B. Normal-Gamut (bis ca. sRGB) oder Wide-Gamut (also mehr als normal, sprich z.B. Abdeckung von Adobe RGB, ECI, etc.)


    Wie ihr seht, ich bin total verwirrt und bringe da sicher viele Dinge durcheinander. Meine Hoffnung ist, dass es hier jemanden gibt, der mir ein bisschen Starthilfe geben kann, um die Grundlagen, Grundzusammenhänge- und Prozesse zu verstehen und mich ggf. weiter einzuarbeiten in die Thematik.


    Sollten wir hier zu dem Punkt kommen, dass es tatsächlich sehr sinnvoll wäre, einen solchen Monitor wie den Dell U2413 mit einer 3x10bit-fähigen Grafikkarte anzusteuern: Gibt es da etwas bestimmtes zu beachten? Ich würde in dem Fall z.B. zur ATI Fire Pro V3900 greifen (ca. 100€) und diese unter Linux betreiben, mit einer Virtuellen Maschine mittels Virtualbox für Photoshop. Spräche da etwas dagegen, z.B. bei der 30bittigen Übertragung der Daten über die virtuelle Grafikkarte der VM?


    Danke für jedes Feedback!
    VG


    P.S.: Ich lese überall, dass das mit den 10 Bit "durch den Displayport" ermöglicht wurde. Stimmt das eigentlich? Ist das nicht alter Wein in neuen Schläuchen? IIRR gab es das doch schon mal vor gut 10 Jarhen mit der Matrox Parhelia-Reihe (=DVI), oder ist das was anderes?

  • Quote

    Wie ist der "Ablauf der Datenströme" von A bis Z, sprich "von z.B. dem Foto in Fotoshop im z.B. ProFoto RGB-Farbraum" bis zum leuchtenden Pixel auf dem Panel?


    Input-RGB => Dateiprofil => PCS (geräteunabhängiger Verbindungsfarbraum über den auch das Gamut-Mapping realisiert ist => Bildschirmprofil => LUT-Linearisierungskorrekturen über Grafikkarte => Output-RGB => Bildschirm-LUT => Panel-LVDS => Paneltreiber => Anzeige.


    Quote

    8 bit > 10bit > 14bit > 8 bit, etc... Werden die Daten ständig hoch- und runter interpoliert oder wie läuft das ab? Ist gar der kleinste gemeinsame Nenner ausschlaggebend?! Wie ist der genaue Ablauf und was wird wie umgewandelt oder durchgereicht, etc.?


    Die Berechnungen des entsprechenden CMM auf Softwareseite finden mit hoher Präzision (float, double) statt. Das ist wichtig, selbst wenn es sich nur um eine Datei mit 8bit pro Farbkanal handelt. In Richtung Grafikkarte werden dann natürlich nur 8bit – bzw. sofern unterstützt 10bit – pro Farbkanal übertragen. Danach setzen bei einer Softwarekalibration die Linearisierungskorrekturen über die LUT der Grafikkarte an. Die LUT des Bildschirms sollte im nächsten Schritt möglichst hochbittig ausgeführt sein (Vermeidung von Tonwertverlusten und Sicherstellung präziser Darstellungseigenschaften; ggf. auch Umsetzung einer Hardwarekalibration). Das so transformierte Signal wird abschließend dann via FRC-Dithering auf die notwendige Farbtiefe (i.d.R. 8bit pro Farbkanal) für den Paneltreiber reduziert. Heute passiert das üblicherweise panelintern.


    Quote

    In welchem Gesamtkontext stehen diese Zahlen auf der Rechnerseite zum Farbraum, z.B. sRGB oder ProPhoto und auf der Monitorseite zum Gamut des Panels, also z.B. Normal-Gamut (bis ca. sRGB) oder Wide-Gamut (also mehr als normal, sprich z.B. Abdeckung von Adobe RGB, ECI, etc.)


    In keinem direkten Wirkzusammenhang. Du musst vor allem die Farbtiefe in der Anzeige von der Farbtiefe der Daten trennen. Auch wenn dein Bildschirm in 8bit pro Farbkanal angesteuert wird, solltest du dich in der Bearbeitung nicht beschränken. Das gilt nicht nur für den riesigen ProPhoto-RGB Arbeitsfarbraum, der in Abwandlung u.a. von Lightroom als Basis verwendet wird, sondern auch für alle anderen Arbeitsfarbräume. Gleichzeitig bedeutet dies nicht, dass du beispielsweise AdobeRGB-Inhalte nur sinnvoll auf einem Bildschirm darstellen kannst, der in 10bit pro Farbkanal angesteuert wird.


    Quote

    Ich lese überall, dass das mit den 10 Bit "durch den Displayport" ermöglicht wurde. Stimmt das eigentlich?


    Via DVI bleiben dir nur DualLink-Implementierungen. Eizos CG303 kann beispielsweise in 10bit pro Farbkanal angesteuert werden. Allerdings dann nur bei 1680x1050@60Hz oder 2560x1600@30Hz. Halbwegs alltagstauglich und verbreitet sind Lösungen via DisplayPort. HDMI wäre grundsätzlich auch geeignet. Für dich bleibt letztlich aber nur der Weg über DisplayPort und Quadro- bzw. FirePro-Grafikkarte.


    Quote

    Hat da der RGB-Regler plötzlich 1024 Abstufungen pro R, G und B?!


    Nein. Der hat mit der Farbtiefe zum Bildschirm sowieso nichts zu tun. Aber auch bei einer Datei mit 16bit pro Farbkanal bist du eingabeseitig hier auf 8bit beschränkt.


    Quote

    Manipulieren der Grafikkarten-LUT entsprechend dem im Betriebssystem hinterlegten Monitorprofil


    Aufpassen: Die Transformationen über die LUT der Grafikkarte stellen kein Farbmanagement dar. Sie sichern nur Neutralität/ Linearität in Bezug auf das gewählte Kalibrationsziel.

  • Dennis hat ja schon fast alles erklärt, aber..

    Sollten wir hier zu dem Punkt kommen, dass es tatsächlich sehr sinnvoll wäre, einen solchen Monitor wie den Dell U2413 mit einer 3x10bit-fähigen Grafikkarte anzusteuern: Gibt es da etwas bestimmtes zu beachten? Ich würde in dem Fall z.B. zur ATI Fire Pro V3900 greifen (ca. 100€) und diese unter Linux betreiben, mit einer Virtuellen Maschine mittels Virtualbox für Photoshop. Spräche da etwas dagegen, z.B. bei der 30bittigen Übertragung der Daten über die virtuelle Grafikkarte der VM?


    Wenn schon FirePro, dann nimm die V4900, kostet kaum mehr hat aber eine merkbar bessere OpenCL Performance. Nachdem immer mehr Bildprogramme OpenCL unterstützen würde sich das rentieren (mir hat sie ~25% Konvertierungsgeschwindigkeit in AfterShot gebracht).


    Aber, in Deinem VM Szenario ist das witzlos. Denn PhotoShop sieht nur die virtuelle Graphikkarte. Und da werden weder der 10Bit Support noch OpenCL durchgereicht.


    Also für PhotoShop entweder native Windows fahren (und mit 'ner ATI Karte dann auf Aero verzichten wenn 10bit Support an ist) oder es is nix mit dem PhotoShop 10Bit support.


    Ob die 10bit wirklich soviel bringen ist halt fraglich. Wenn Du primär selber druckst oder Abnehmer der Bilder hast bei denen sehr feine Farbverläufe perfekt ankommen müssen, dann ist das sicher hilfreich. und das Tüpfelchen auf dem i. Nachdem zuerst mal eine WideGamut Schirm mit Hardwarekalibrierung da ist....


    cheers
    afx

  • Hallo Denis und afx,


    vielen Dank für Eure hilfreichen Antworten!


    Da ich mich in Zukunft mit dieser Materie verstärkt beschäftigen werden muss, und ich zugegebenermaßen trotz Eurer bereits sehr weiterhelfenden Antworten immer noch nicht 100% den ganze Ablauf und alle Zusammenhänge kapiert habe, habe ich nun begonnen für mich ein entsprechendes Schaubild zu malen, im Sinne eines Prozesses, der die einzelnen Schritte beschreibt.
    Ich werde das Schaubild zukünftig ständig erweitern, immer sobald ich weitere Erkenntnisse gewonnen habe. Sobald es fertig ist, kann ich es gerne hier mal posten, so dass ihr es mal bezüglich seiner Richtigkeit und Vollständigkeit prüft. Gerne stelle ich es dann auch allen anderen Usern von PRAD, über eine entsprechende freie Lizenz, z.B. Creative Commons, zur Verfügung!


    LG

  • ...habe ich nun begonnen für mich ein entsprechendes Schaubild zu malen, im Sinne eines Prozesses, der die einzelnen Schritte beschreibt.


    Aufmalen ist immer gut.
    Und wenn was sinnvolles raus kommt das anderen hilft um so besser.


    cheers
    afx

  • Kleine Frage zwischendurch:


    Wenn man software-kalibriert, erlebt man ggf. Banding durch Tonwertverluste, die entstehen, weil man die Grafikkarte dazu bringt, die "falsche Anzeige" des Monitors "hinzubiegen", anstatt direkt im Monitor dessen eigene LUT zu manipulieren, richtig?
    Wenn man jetzt also den Monitor mit 10bit ansteuert, anstatt mit 8 bit: Dann stünden doch der Grafikkarte fast 1000x mehr Tonwerte zur verfügung. Wenn sie diese dann im Rahmen der Software-Kalibration hinbiegt, hat man dann unter Umständen weniger sichtbares banding etc. zu erwarten?

  • Was ich auch nicht verstehe bislang ist, warm selbst die Applikation, also z.B. Photoshop, die 10bit ansprache des Monitors unterstützen muss. Wieso ist das eine Sache der Applikationen?
    Wenn ich einen Monitor mit der Grafikkarte in 8-bit ansteuere, also in der Grafikkarte z.B. "24bit", bzw. "32 bit" (24+helligkeit), dann ist das doch auch keine Sache der Applikationen sondern gilt betriebssystemweit, oder?


    Konkret: ich habe aufgeschnappt, dass NVIDIA in ihrem proprietären Linuxtreiber für die Konsumerkarten (!) neuerdings 10-bit unterstützt. Bringt das dem ganzen Betriebssystem was, oder muss tatsächlich auch jede einzelne Applikation unter Linux das unterstützen? Wie soll das denn gehen, dass eine einzelne Applikation die Grafikkarte anders ansteuert, als andere Applikationen? Wenn ich also z.B. Photoshop (unter Windows) in einem Fenster betreibe, würde das bedeuten, dass dieses Fenster in 10bit Daten an die Grafikkarte sendet, während der Rest des Desktops weiterhin nur in 8bit dargestellt wird?!? Es geht ja hier nicht um Farbprofile z.B. der Fotos, sondern um die Ansteuerung des Monitors?! Blicke da nicht durch :-)


    Cheers

  • Das normale Interface in Betriebssystemen um Bilder darzustellen ist 8bit.
    Es bedarf der Nutzung eines speziellen APIs um 10bit zu verwenden.


    cheers
    afx

  • Hi afx!


    Das normale Interface in Betriebssystemen um Bilder darzustellen ist 8bit.
    Es bedarf der Nutzung eines speziellen APIs um 10bit zu verwenden.


    Verstehe. Gibt es vielleicht eine Möglichkeit es so zu tweaken, dass das ganze System auf die API zugreift und damit dieser Modus systemweit gilt?


    Ist das Ganze Thema noch zu "jung", oder woran liegt es, dass das noch so Kompliziert ist und es noch so wenig Infos drüber gibt? 10bit gibt es doch schon seit >10 Jahren, oder? Oder kommt das im Grunde erst jetzt gerade langsam in Gang weil es erst mit dem Displayport massentauglich geworden ist?

  • Verstehe. Gibt es vielleicht eine Möglichkeit es so zu tweaken, dass das ganze System auf die API zugreift und damit dieser Modus systemweit gilt?


    Nö.
    Und auch wenn, dann müsste die App ja immer noch 10bit ans API liefern, das passiert ja nicht von alleine.


    Quote

    Ist das Ganze Thema noch zu "jung", oder woran liegt es, dass das noch so Kompliziert ist und es noch so wenig Infos drüber gibt? 10bit gibt es doch schon seit >10 Jahren, oder? Oder kommt das im Grunde erst jetzt gerade langsam in Gang weil es erst mit dem Displayport massentauglich geworden ist?


    Keine Ahnung.


    cheers
    afx