Farbraumkonvertierung - Visualisierung

Beim Schritt "Farbraumkonvertierung" sind auf der linken Seite des Frames untereinander die drei RGB-Kanäle dargestellt. Rechts davon sieht man die YCrCb-Kanäle. Abhängig vom Subsampling-Faktor werden die beiden Chrominanzkanäle entsprechend verkleinert dargestellt.

Auswahl des Subsampling-Faktors:

Die Einstellung des Subsampling-Faktors und der Qualität des verwendeten Algorithmus geschieht über die zwei Auswahlboxen rechts oben.
Die obere der beiden stellt den Faktor ein, um den der Kanal in horizontaler und vertikaler Richtung herunterskaliert werden soll, also "ohne (1x1)", "2x1", "2x2" oder "4x2". Die erste Zahl (die vor dem 'x') gibt den horizontalen Subsampling-Faktor an, und die zweite Zahl (die nach dem 'x') den vertikalen Faktor.
Standardmäßig ist 2x2 eingestellt.

Manche Programme verwenden übrigens andere Bezeichnungen für die Subsampling-Faktoren, als wir hier. So ist gelegentlich z.B. von "4:1:1" die Rede, was dann 2x2-Subsampling bedeutet (4 Y-Blöcke auf je einen Cr- und Cb-Block). Um der Verwirrung noch etwas Vorschub zu leisten, benutzt manch einer die Sampling-Faktoren nicht als Verkleinerungsfaktor, sondern als Divisor für das Maximum unter den Sampling-Faktoren jedes Kanals, zum Beispiel "YUV 122", was nichts anderes als 2x2-Subsampling bedeutet.

- Warum gibts eigentlich kein 4x4 Subsampling?

Zunächst ein Beispiel: Beim 2x2-Subsampling kommen immer 4 Y-Blöcke auf je einen Cr- und einen Cb-Block. Das macht zusammen 6 Blöcke, die zusammen gehören. In der Terminologie bilden diese 6 Blöcke eine Minimal Coded Unit (MCU).
Ein anderes Beispiel: Beim 2*1-Subsampling wären es 2 Y-Blöcke, die zu einem Cr- und einem Cb-Block gehören. Also 2+1+1 = 4 Blöcke in der MCU.
Das JPEG-Verfahren sieht vor, dass die Anzahl der Blöcke in einer MCU maximal 10 betragen darf. Deshalb sind keine größeren Subsampling-Faktoren als 4x2 möglich, denn mit 4x2-Subsampling werden gerade die maximal erlaubten 8+1+1 = 10 Blöcke erreicht.
Der Sinn hinter dieser Beschränkung ist, dass sich ein JPEG-Decoder darauf verlassen kann, dass er höchstens 10 Blöcke zwischenspeichern muss und nicht etwa mehr Platz bereitzustellen hat.

Auswahl der Skalierungsqualität:

In der Auswahlbox darunter kann man wählen, welcher Algorithmus für das Skalieren (Subsampling) verwendet werden soll. Drei Möglichkeiten stehen zur Auswahl:
  1. Nearest-neighbor scaling: Der schnellste, aber auch qualitativ niedrigste Algorithmus
  2. lineares Skalieren: Wählt einen Algorithmus, der von der Qualität des Ergebnisses sowie von der benötigten Berechnungszeit irgendwo zwischen den beiden anderen liegt. Diese Option ist als Standard eingestellt.
  3. Skalierung mit dem Lanczos3-Interpolationskern: Die dritte Skalierungsmethode ist die deutlich langsamste, liefert aber die besten Ergebnisse.

Darstellung der Datenreduktion:

Rechts unten wird die Größe der Datenmenge nach der Farbraumkonvertierung (und des Farb-Subsamplings) in Form eines Prozentbalkens dargestellt. Wenn kein Subsampling ("ohne") eingestellt ist, ist die Datenmenge danach immer noch gleich, also würde in diesem Fall 100% angezeigt werden.