In Zeiten von digitalen Anzeigegeräten wie D-ILA/DLP/LCD/Plasma usw. fragt sich kaum noch einer, ob das alles überhaupt grundsätzlich richtig so ist, was dort angezeigt wird. Oft liest man Floskeln wie:
Es ist ja alles digital, also gibt es keine Verluste.
Die Daten des Mediums sollten ohne Veränderung angezeigt werden.
Es ist am besten, wenn der Projektor das Bild mit der Auflösung des Mediums darstellt.
Das ist alles falsch!
Richtig ist:
Pixelbasierte Anzeigegeräte führen keine vollständige Rekonstruktion des Bildsignals durch, weil ihnen der Tiefpass fehlt. Harte Pixelübergänge ergeben Aliasing.
Das Bild mit der Auflösung des Mediums darzustellen, ist so mit das schlechteste, was man machen kann. Je höher die Zielauflösung und je besser die verwendete Skalierung, desto näher kommt das Bildsignal dem analogen Pendant.
Es treten grundsätzlich digitale Rundungsfehler Verluste auf. Z.B. bei der immer notwendigen Farbraumtransformation von YCbCr nach RGB. Dies ist eine Matrixmultiplikation mit Gleitkommazahlen. Die Ergebnisse müssen aber Ganzzahlen sein. Viel stärker sichtbar sind aber, dass Fehler hinzukommen, die durch den fehlenden Tiefpass entstehen.
Um das Obige, das sicher schwer nachvollziehbar ist, besser zu verdeutlichen, habe ich ein paar Visualisierungen eines H-Sweeps mittels eines Waveformmonitors durchgeführt. Ich hoffe, mir gelingt mal eine etwas weniger technische Darstellung. Das fällt mir meist gar nicht so leicht.
Der H-Sweep ist ein Gleitsinus. Also ein Sinus, der mit der Ausbreitung (logarithmisch) seine Frequenz erhöht. Die Ausbreitungsrichtung ist hierbei die X-Koordinate, also horizontal. Die Helligkeit stellt die Amplitude dar. Der 0-Wert der Sinuskurve ist das mittlere Grau. Die Helligkeit verändert sich also sinusförmig um diesen Grauwert.
So sieht das Testbild aus (die Balken oben können ignoriert werden):
H-sweep.png
Ein Waveformmonitor stellt nun die kumulierte Helligkeit aller Zeilen als Graph dar. Man kann sich das so vorstellen, dass die Helligkeit des Bildes dem Betrachter je nach Wert entgegenkommt oder entfernt. Der Waveformmonitor nimmt nun das Bild und dreht es um 90° an der Unterkante. Nun sieht man den Sinus des H-Sweeps wie man ihn auch aus der Schule kennt. Die Höhe des Bildes ist somit nicht mehr sichtbar.
Die Erklärung ist zwar nicht wissenschaftlich korrekt, aber zur Vorstellung sicher geeignet. Der hier verwendete Waveformmonitor ist Waveform() in Avisynth, also softwarebasiert. Die horizontalen Linien unten und oben markieren die Grenzen der gültigen Videolevels 16 und 235.
So sieht der H-Sweep in der Originalauflösung von 720x480 (DVD NTSC) aus:
720x480 (unskaliert)
H-Sweep_unskaliert_1440x960.png
Hmm, schön ist das aber nicht, je weiter man nach rechts blickt. Eigentlich sollte die Amplitude so wie hier immer gleich sein und sich nur die Frequenz verändern. Das Problem liegt darin, dass das Bild mit 720 Pixeln dargestellt wird und nicht korrekterweise als analog gewandelte Wellenform!
Es fehlt der Tiefpass nach dem Panel. Die Folge der Pixelkanten ist Aliasing, welches sich mit dem eigentlichen Nutzsignal überlagert und zu Schwebungen führt. Kurz gesagt: die Rekonstruktion ist unvollständig!
Nun schauen wir uns mal an, wie die Wellenform aussieht, wenn wir sie auf eine höhere Auflösung skalieren. Das Skalieren ist nichts anderes als ein Resampling (Neuabstastung) wie man es aus dem Audio-Bereich kennt. Nur, dass es bei Bildern für jede Dimension (unabhängig voneinander) einmal durchgeführt werden muss. Uns interessiert hier für die Messung aber nur die Horizontale.
1024x576 (Lanczos 10)
H-Sweep_Lanczos_10_1024x576.png
1280x720 (Lanczos 10)
H-Sweep_Lanczos_10_1280x720.png
1920x1080 (Lanczos 10)
H-Sweep_Lanczos_10_1920x1080.png
3840x2160 (Lanczos 10)
H-Sweep_Lanczos_10_3840x2160.png
Es ist leicht erkennbar, dass mit höherer Zielauflösung die Amplitude des Gleitsinus immer gleichmäßiger wird. Selbst die noch utopischen 3840 Pixel horizontal bringen noch einen kleinen Vorteil gegenüber "FullHD", während 1280 noch ziemlich schrecklich aussehen.
Nun wurde bei diesen Messungen Lanczos mit 10 Taps als Skalierungsalgorithmus eingesetzt. Dieser besitzt einen sehr guten Frequenzgang, produziert aber auch mit einer höheren Anzahl an für die Berechnung der Zwischenwerte einbezogenen Pixels (Taps) mehr oder weniger starke Überschwinger (Ringing). Diese treten aber praktisch nur bei sehr hohen Frequenzen auf, die in realen Film-DVDs/Blu-rays kaum auftreten. In Testbildern sind sie dagegen sehr deutlich sichtbar. Man sollte sich also davon nicht täuschen lassen. In Wirklichkeit ist das Ringing des Mediums meist um Faktoren stärker.
Algorithmen wie Lanczos 10 sind aber meist nicht in den Projektoren implementiert. Oft kommt bikubische Skalierung zum Einsatz.
1280x720 (bikubisch)
H-Sweep_bikubisch_1280x720.png
1920x1080 (bikubisch)
H-Sweep_bikubisch_1920x1080.png
3840x2160 (bikubisch)
H-Sweep_bikubisch_3840x2160.png
Insgesamt sieht es hier deutlich schlechter aus. Die Verbesserungen nehmen auch mit höherer Aufllösung nur wenig zu. Nahezu perfekt ist es nie. Ein gewisses Maß an Aliasing bleibt also immer erhalten. Ich denke, es ist deutlich geworden, dass es nicht nur aus Sicht der Systemtheorie notwendig ist, die Zielauflösung möglichst nach oben zu schrauben. Zum Glück sind unsere Augen in ihrer Auflösung begrenzt, so dass Blu-ray auch pixelbasiert 1:1 dargestellt sehr gut aussehen kann.
Noch eine kleine Bemerkung: es ist immer wieder interessant, dass sich wirklich niemand Musik ohne Tiefpass anhören würde (Aliasing erzeugt Kratzen und Rauhigkeit). Beim Bild wird dies jedoch meist ohne Murren hingenommen.
Aber wie sieht man Aliasing eigentlich im Filmbild? Meist macht es sich durch Treppchen an schrägen Kanten bemerkbar. Sehr gut zu sehen ist es aber vor allem in Bewegung. Das in die Ferne fliegende Star-Wars-Logo ist ein sehr gutes Beispiel. Je kleiner es wird, desto mehr krisselt es, wenn Aliasing vorhanden ist. Mit einem guten Skalierungsalgorithmus und einer hohen Zielauflösung ist nur wenig Krisseln sichtbar.
Ein anderes gutes Beispiel ist die DVD von "My Fair Lady", die sehr detailiert daher kommt. Durch die hohen Details ist Aliasing recht stark sichtbar. Mit Lanczos 10 ist dies im Vergleich zu bikubischer Skalierung oder Lanczos 2 praktisch verschwunden. Hier zu sehen ist ein kleiner Ausschnitt auf 1920x1080 hochskaliert. An der Innenkante des Spiegels sind die Treppchen erkennbar. Leider sieht man das in bewegten Bildern deutlich stärker. Auch das Mehr an Details ist mit dem besseren Skalierungsalgorithmus sichtbar, wenn auch längst nicht so stark wie die verminderten Treppchen.
Lanczos 2
Aliasing_2_Taps.png
Lanczos 10
Aliasing_10_Taps.png
So sieht das dann im Multiburst (z.B. Peter Finzel) aus:
mit Schwebungen/Aliasing
Burst_schlecht.png
ohne Schwebungen/Aliasing
Burst_gut.png
Interessant ist auch die Betrachtung von Schärfealgorithmen mit dem Waveformmonitor. Eine relativ leichte Schärfung mit der Unschärfemaske in FFDSHOW führt bei höheren Frequenzen schon zu einer Überschreitung der gültigen Videolevels und sogar zum Clipping!
Leichte Schärfung
H-Sweep_Lanczos_10_1920x1080_Unschaerfemaske_20.png
Es ist ja alles digital, also gibt es keine Verluste.
Die Daten des Mediums sollten ohne Veränderung angezeigt werden.
Es ist am besten, wenn der Projektor das Bild mit der Auflösung des Mediums darstellt.
Das ist alles falsch!
Richtig ist:
Pixelbasierte Anzeigegeräte führen keine vollständige Rekonstruktion des Bildsignals durch, weil ihnen der Tiefpass fehlt. Harte Pixelübergänge ergeben Aliasing.
Das Bild mit der Auflösung des Mediums darzustellen, ist so mit das schlechteste, was man machen kann. Je höher die Zielauflösung und je besser die verwendete Skalierung, desto näher kommt das Bildsignal dem analogen Pendant.
Es treten grundsätzlich digitale Rundungsfehler Verluste auf. Z.B. bei der immer notwendigen Farbraumtransformation von YCbCr nach RGB. Dies ist eine Matrixmultiplikation mit Gleitkommazahlen. Die Ergebnisse müssen aber Ganzzahlen sein. Viel stärker sichtbar sind aber, dass Fehler hinzukommen, die durch den fehlenden Tiefpass entstehen.
Um das Obige, das sicher schwer nachvollziehbar ist, besser zu verdeutlichen, habe ich ein paar Visualisierungen eines H-Sweeps mittels eines Waveformmonitors durchgeführt. Ich hoffe, mir gelingt mal eine etwas weniger technische Darstellung. Das fällt mir meist gar nicht so leicht.
Der H-Sweep ist ein Gleitsinus. Also ein Sinus, der mit der Ausbreitung (logarithmisch) seine Frequenz erhöht. Die Ausbreitungsrichtung ist hierbei die X-Koordinate, also horizontal. Die Helligkeit stellt die Amplitude dar. Der 0-Wert der Sinuskurve ist das mittlere Grau. Die Helligkeit verändert sich also sinusförmig um diesen Grauwert.
So sieht das Testbild aus (die Balken oben können ignoriert werden):
H-sweep.png
Ein Waveformmonitor stellt nun die kumulierte Helligkeit aller Zeilen als Graph dar. Man kann sich das so vorstellen, dass die Helligkeit des Bildes dem Betrachter je nach Wert entgegenkommt oder entfernt. Der Waveformmonitor nimmt nun das Bild und dreht es um 90° an der Unterkante. Nun sieht man den Sinus des H-Sweeps wie man ihn auch aus der Schule kennt. Die Höhe des Bildes ist somit nicht mehr sichtbar.
Die Erklärung ist zwar nicht wissenschaftlich korrekt, aber zur Vorstellung sicher geeignet. Der hier verwendete Waveformmonitor ist Waveform() in Avisynth, also softwarebasiert. Die horizontalen Linien unten und oben markieren die Grenzen der gültigen Videolevels 16 und 235.
So sieht der H-Sweep in der Originalauflösung von 720x480 (DVD NTSC) aus:
720x480 (unskaliert)
H-Sweep_unskaliert_1440x960.png
Hmm, schön ist das aber nicht, je weiter man nach rechts blickt. Eigentlich sollte die Amplitude so wie hier immer gleich sein und sich nur die Frequenz verändern. Das Problem liegt darin, dass das Bild mit 720 Pixeln dargestellt wird und nicht korrekterweise als analog gewandelte Wellenform!
Es fehlt der Tiefpass nach dem Panel. Die Folge der Pixelkanten ist Aliasing, welches sich mit dem eigentlichen Nutzsignal überlagert und zu Schwebungen führt. Kurz gesagt: die Rekonstruktion ist unvollständig!
Nun schauen wir uns mal an, wie die Wellenform aussieht, wenn wir sie auf eine höhere Auflösung skalieren. Das Skalieren ist nichts anderes als ein Resampling (Neuabstastung) wie man es aus dem Audio-Bereich kennt. Nur, dass es bei Bildern für jede Dimension (unabhängig voneinander) einmal durchgeführt werden muss. Uns interessiert hier für die Messung aber nur die Horizontale.
1024x576 (Lanczos 10)
H-Sweep_Lanczos_10_1024x576.png
1280x720 (Lanczos 10)
H-Sweep_Lanczos_10_1280x720.png
1920x1080 (Lanczos 10)
H-Sweep_Lanczos_10_1920x1080.png
3840x2160 (Lanczos 10)
H-Sweep_Lanczos_10_3840x2160.png
Es ist leicht erkennbar, dass mit höherer Zielauflösung die Amplitude des Gleitsinus immer gleichmäßiger wird. Selbst die noch utopischen 3840 Pixel horizontal bringen noch einen kleinen Vorteil gegenüber "FullHD", während 1280 noch ziemlich schrecklich aussehen.
Nun wurde bei diesen Messungen Lanczos mit 10 Taps als Skalierungsalgorithmus eingesetzt. Dieser besitzt einen sehr guten Frequenzgang, produziert aber auch mit einer höheren Anzahl an für die Berechnung der Zwischenwerte einbezogenen Pixels (Taps) mehr oder weniger starke Überschwinger (Ringing). Diese treten aber praktisch nur bei sehr hohen Frequenzen auf, die in realen Film-DVDs/Blu-rays kaum auftreten. In Testbildern sind sie dagegen sehr deutlich sichtbar. Man sollte sich also davon nicht täuschen lassen. In Wirklichkeit ist das Ringing des Mediums meist um Faktoren stärker.
Algorithmen wie Lanczos 10 sind aber meist nicht in den Projektoren implementiert. Oft kommt bikubische Skalierung zum Einsatz.
1280x720 (bikubisch)
H-Sweep_bikubisch_1280x720.png
1920x1080 (bikubisch)
H-Sweep_bikubisch_1920x1080.png
3840x2160 (bikubisch)
H-Sweep_bikubisch_3840x2160.png
Insgesamt sieht es hier deutlich schlechter aus. Die Verbesserungen nehmen auch mit höherer Aufllösung nur wenig zu. Nahezu perfekt ist es nie. Ein gewisses Maß an Aliasing bleibt also immer erhalten. Ich denke, es ist deutlich geworden, dass es nicht nur aus Sicht der Systemtheorie notwendig ist, die Zielauflösung möglichst nach oben zu schrauben. Zum Glück sind unsere Augen in ihrer Auflösung begrenzt, so dass Blu-ray auch pixelbasiert 1:1 dargestellt sehr gut aussehen kann.
Noch eine kleine Bemerkung: es ist immer wieder interessant, dass sich wirklich niemand Musik ohne Tiefpass anhören würde (Aliasing erzeugt Kratzen und Rauhigkeit). Beim Bild wird dies jedoch meist ohne Murren hingenommen.
Aber wie sieht man Aliasing eigentlich im Filmbild? Meist macht es sich durch Treppchen an schrägen Kanten bemerkbar. Sehr gut zu sehen ist es aber vor allem in Bewegung. Das in die Ferne fliegende Star-Wars-Logo ist ein sehr gutes Beispiel. Je kleiner es wird, desto mehr krisselt es, wenn Aliasing vorhanden ist. Mit einem guten Skalierungsalgorithmus und einer hohen Zielauflösung ist nur wenig Krisseln sichtbar.
Ein anderes gutes Beispiel ist die DVD von "My Fair Lady", die sehr detailiert daher kommt. Durch die hohen Details ist Aliasing recht stark sichtbar. Mit Lanczos 10 ist dies im Vergleich zu bikubischer Skalierung oder Lanczos 2 praktisch verschwunden. Hier zu sehen ist ein kleiner Ausschnitt auf 1920x1080 hochskaliert. An der Innenkante des Spiegels sind die Treppchen erkennbar. Leider sieht man das in bewegten Bildern deutlich stärker. Auch das Mehr an Details ist mit dem besseren Skalierungsalgorithmus sichtbar, wenn auch längst nicht so stark wie die verminderten Treppchen.
Lanczos 2
Aliasing_2_Taps.png
Lanczos 10
Aliasing_10_Taps.png
So sieht das dann im Multiburst (z.B. Peter Finzel) aus:
mit Schwebungen/Aliasing
Burst_schlecht.png
ohne Schwebungen/Aliasing
Burst_gut.png
Interessant ist auch die Betrachtung von Schärfealgorithmen mit dem Waveformmonitor. Eine relativ leichte Schärfung mit der Unschärfemaske in FFDSHOW führt bei höheren Frequenzen schon zu einer Überschreitung der gültigen Videolevels und sogar zum Clipping!
Leichte Schärfung
H-Sweep_Lanczos_10_1920x1080_Unschaerfemaske_20.png
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von FoLLgoTT ()