1D-LUTs

Je nach Anwendungsfall gibt es 1D- sowie 3D-LUTs. Eine 1D-LUT kennt nur einen Input-Wert, der in einen Output-Wert konvertiert wird. Ein Beispiel hierfür ist eine nichtlineare Gamma-Korrektur, die nur die Helligkeit eines Signals beeinflusst. Da hierfür nur ein Farbkanal (bei Gamma eben die Helligkeit) verändert wird, benötigt man hierfür auch nur eine 1D-LUT.



Das Besondere an 1D LUTs ist, dass diese selbst bei 10 Bit Signalen noch so kompakt ausfallen, dass sie alle möglichen Ergebnisse der Transformation (256 bei 8 Bit, 1024 bei 10 Bit) in einer Tabelle komplett speichern und auch exakt wieder reproduzieren können.




3D-LUTs

3D-LUTs sind daneben weitaus komplexer - aber in der Regel auch nützlicher. Komplexer, weil die LUT als Eingabe drei Farbkanäle erwartet und auch drei transformierte Farbkanäle ausspuckt. Eine 3D-LUT wandelt in der Regel drei Input-Farbkanäle (RGB) in drei Output-Farbkanäle (RGB). Prinzipiell kann sie jedoch auch zwischen anderen Farbräumen wie YUV oder HSL/V konvertieren.



Da eine 3D-LUT bei 8 Bit-Genauigkeit bereits 256 x 256 x 256 (ca. 16 Millionen) mögliche Input-Kombinationen besitzt, erkennt man sofort, dass 3D-LUTs mit 10 Bit oder noch größerer Genauigkeit zu viel Speicher benötigen, um effizient zu sein. Und darum kommt hier immer die Reduktion auf ein paar Kernpunkte zum Einsatz. Wie exakt dabei eine 3D-LUT arbeitet, wird meistens mit der Anzahl ihrer Knotenpunkte angegeben:



Typische Werte sind hier oft 17x17x17, 33x33x33 oder 65x65x65. Das bedeutet, in der LUT sind wirklich "nur" 17x17x17 (= 4913), 33 x 33 x 33 (=35.937) oder 65x65x65 (=274.625) RGB-Eingabe-Ausgabe-Werte gespeichert, dafür aber dann in recht hoher Genauigkeit. Anschließend interpoliert das eingesetzte Programm die Werte zwischen den Punkten.




Interpolation: Trilinear oder tetraedrisch

Üblicher Interpolations-Standard war hier übrigens über lange Zeit eine trilineare Interpolation, neuerdings kann man aufgrund schnellerer Rechner oft auch optional eine tetraedrische Interpolation nutzen. Diese neigt u.a. zu weniger Posterisation, ist aber rechenaufwendiger.



Was ist eigentlich eine LUT? : LUTinterpolation


Wer es noch exakter liebt, kann in manchen Programmen auch statt LUTs direkt exakte Formeln benutzen (zB. DCTLs in Resolve oder CTLs in ACES), die auf schnellen GPUs ebenfalls in Echtzeit berechnet werden können. Allerdings erlauben LUTs auch sehr "unstetige" Bildtransformationen, die mit Formeln in manchen Fällen gar nicht so einfach zu realisieren wären.




Ähnliche Artikel //
Umfrage
  • Was hältst du von den neuen Bild/Video-KIs?





    Ergebnis ansehen
slashCAM nutzt Cookies zur Optimierung des Angebots, auch Cookies Dritter. Die Speicherung von Cookies kann in den Browsereinstellungen unterbunden werden. Mehr Informationen erhalten Sie in unserer Datenschutzerklärung. Mehr Infos Verstanden!
RSS Suche YouTube Facebook Twitter slashCAM-Slash