2013-10-30 3 views

Antwort

14

YUV 4: 2: 0 planar wie folgt aussieht:

---------------------- 
|  Y  | Cb|Cr | 
---------------------- 

wobei:

Y = width x height pixels (bytes) 
Cb = Y/4 pixels (bytes) 
Cr = Y/4 pixels (bytes) 

Total num pixels (bytes) = width * height * 3/2 

Dies ist, wie die Pixel angeordnet sind, in 4: 2: 0-Unterabtastung:

Wie Sie sehen können, wird jeder Chroma-Wert von 4 Luma-Pixeln geteilt.

Grundsätzlich können Sie nur sehen, welche Frame-Größen die Gesamtgröße der Datei gleichmäßig verteilen ( ).

Als Beispiel betrachten wir den klassischen Forman-Clip, die Sie von http://trace.eas.asu.edu/yuv/foreman/foreman_cif.7z

Die Größe des Clips 45619200 Bytes herunterladen. Wie bekommt man die Dimensionen und die Anzahl der Frames davon? Versuche verschiedene Auflösungen!

ist es SDTV?

In [7]: 45619200/float(720*576*3/2) 
Out[7]: 73.33333333333333 

nein!

ist es QCIF?

In [8]: 45619200/float(176*144*3/2) 
Out[8]: 1200.0 

sein könnte ...

ist es CIF?

In [9]: 45619200/float(352*288*3/2) 
Out[9]: 300.0 

sein könnte ...

Nur so, wie es angezeigt wird versucht herauszufinden.

der QCIF sieht nicht richtig aus Lassen Sie versuchen

wring

die. versuchen Lets CIF

right

Bingo!

+0

Basierend auf Ihrer Anmerkung: ** Gesamt num Pixel (Bytes) = Breite * Höhe * 02.03 ** Sie berechnen ** widthHeight = Frame * 2/3; ** Dann könnten Sie die üblichen Größen für ein Spiel überprüfen. Oder wählen Sie das übliche Seitenverhältnis von 4: 3. ** Breite = BreiteHöhe/3; Höhe = Breite Höhe/4; check = Breite * Höhe; ASSERT (check == widthHeight); ** Es gibt natürlich andere zu prüfende Seitenverhältnisse. 16: 9 für High Def zum Beispiel. –

+0

Sie haben absolut Recht. Meine Idee mit dieser Antwort war nur, um einige grundlegende Einblicke zu geben, um das OP zu beginnen. Sie können ein Leben lang alle Aspekte von YCbCr-Daten untersuchen :-) –

+1

re: lifetime - Yep. Dieses OP ist nur etwa 4: 2: 0, es ändert sich alles, wenn Sie 4: 2: 2 oder eine der anderen Varianten von YCbCr sprechen.Und das Konvertieren in andere Farbformate (RGB) ändert sich sogar, wenn Sie mitgesprochen werden. Ihre Antwort ist eine ausgezeichnete Grundierung für YCbCr 4: 2: 0. Diejenigen, die die blutigen Details des Rests brauchen, lesen dicke Wälzer. ;-D –

Verwandte Themen