YUV

YUV ist ein als ein Teil einer Farbenbildrohrleitung normalerweise verwendeter Farbenraum. Es verschlüsselt ein Farbenimage oder Video, menschliche Wahrnehmung in Betracht ziehend, reduzierte Bandbreite für Farbsignal-Bestandteile erlaubend, dadurch normalerweise Übertragungsfehlern oder Kompressionskunsterzeugnissen ermöglichend, durch die menschliche Wahrnehmung effizienter maskiert zu werden, als das Verwenden einer "direkten" RGB-Darstellung. Andere Farbenräume haben ähnliche Eigenschaften, und der Hauptgrund, Eigenschaften von Y'UV durchzuführen oder zu untersuchen, würde sein, um mit der analogen oder digitalen fotografischen oder Fernsehausrüstung zu verbinden, die sich bestimmten Y'UV Standards anpasst.

Das Spielraum der Begriffe Y'UV, YUV, YCbCr, YPbPr ist manchmal usw. zweideutig und überlappend. Historisch wurden die Begriffe YUV und Y'UV für eine spezifische analoge Verschlüsselung der Farbeninformation in Fernsehsystemen gebraucht, während YCbCr für die Digitalverschlüsselung der Farbeninformation verwendet wurde, die für das Video und die Kompression des stillen Images und die Übertragung wie MPEG und JPEG angepasst ist. Heute wird der Begriff YUV in der Computerindustrie allgemein gebraucht, um Dateiformate zu beschreiben, die mit YCbCr verschlüsselt werden.

Das Y'UV Modell definiert einen Farbenraum in Bezug auf einen luma (Y') und zwei Farbsignal (UV) Bestandteile. Das Y'UV-Farbenmodell wird im FREUND und den SECAM zerlegbaren Farbenvideostandards verwendet. Vorherige Schwarzweißsysteme haben nur luma (Y') Information verwendet. Farbeninformation (U und V) wurde getrennt über einen Unterträger hinzugefügt, so dass ein Schwarzweißempfänger noch im Stande sein würde, eine Farbenbilderübertragung im heimischen Schwarzweißformat des Empfängers zu erhalten und zu zeigen.

Y' tritt für den luma Bestandteil ein (die Helligkeit), und U und V sind das Farbsignal (Farbe) Bestandteile; Klarheit wird durch Y und luma durch Y angezeigt' - die Hauptsymbole (') zeigen Gammakompression mit "der Klarheit" an, die perceptual (Farbenwissenschaft) Helligkeit bedeutet, während "luma" (Stromspannung der Anzeige) Helligkeit elektronisch ist.

Das Farbenmodell von YPbPr hat im analogen Teilvideo und seiner Digitalversion verwendet im Digitalvideo verwendete YCbCr werden daraus mehr oder weniger abgeleitet, und werden manchmal Y'UV genannt. (C/P und C/P sind Abweichungen vom Grau auf blau-gelben und rot-zyanen Äxten, wohingegen U und V blaue Klarheit und Unterschiede der roten Klarheit sind.) Färben sich die Y'IQ im NTSC analogen Fernsehrundfunk-System verwendeter Raum ist damit, obwohl auf eine kompliziertere Weise verbunden.

Geschichte

Y'UV wurde erfunden, als Ingenieure Farbenfernsehen in einer Schwarzweißinfrastruktur gewollt haben. Sie haben eine Signalübertragungsmethode gebraucht, die mit dem Schwarzweiß-(B&W) Fernsehen vereinbar war, während sie im Stande gewesen ist, Farbe hinzuzufügen. Der luma Bestandteil hat bereits als das schwarze und weiße Signal bestanden; sie haben das UV-Signal dazu als eine Lösung hinzugefügt.

Die UV Darstellung des Farbsignals wurde über gerade R- und B-Signale gewählt, weil U und V Farbenunterschied-Signale sind. Das hat bedeutet, dass in einer schwarzen und weißen Szene der U und die V Signale Null sein würden und nur der Y' Signal würde übersandt werden müssen. Wenn R und B verwendet worden sein sollten, würden diese Nichtnullwerte sogar in B&W Szene haben, alle drei datentragenden Signale verlangend. Das war in den frühen Tagen des Farbenfernsehens wichtig, weil das Halten des U und der V Signale zur Null, während es das schwarze und weiße Signal zu Y' erlaubt Farbfernsehen verbindet, untergehtB&W Fernsehen ohne den zusätzlichen Aufwand und die Kompliziertheit von speziellen B&W Schaltsystem zu zeigen. Außerdem konnten schwarze und weiße Empfänger den Y nehmen' geben Zeichen und ignorieren die Farbensignale, mit der ganzen vorhandenen Schwarzweißausrüstung rückwärts kompatiblen Y'UV machend, geben ein und Produktion. Es war notwendig, eine schmalere Bandbreite dem Farbsignal-Kanal zuzuteilen, weil es keine zusätzliche verfügbare Bandbreite gab. Wenn etwas von der Klarheitsinformation über den Farbsignal-Kanal angekommen ist (wie es haben würde, wenn RB-Signale statt UV Differenzialsignale verwendet würden), B&W, würde Entschlossenheit in Verlegenheit gebracht worden sein.

Konvertierung zu/von RGB

Y'UV Signale werden normalerweise von RGB (rot, grün und blau) Quelle geschaffen. Belastete Werte von R, G, und B werden summiert, um Y', ein Maß der gesamten Helligkeit oder Klarheit zu erzeugen. U und V werden als erkletterte Unterschiede zwischen Y' und den B- und R-Werten geschätzt.

Das Definieren der folgenden Konstanten:

:

W_R &= 0.299 \\

W_B &= 0.114 \\

W_G &= 1 - W_R - W_B = 0.587 \\

U_ {Max} &= 0.436 \\

V_ {Max} &= 0.615

\end {richten} </Mathematik> {aus}

Y'UV wird von RGB wie folgt geschätzt:

:

Y' &= W_R R + W_G G + W_B B \\

U &= U_ {Max} \frac {B - Y'} {1 - W_B} \\

V &= V_ {Max} \frac {R - Y'} {1 - W_R }\

\end {richten} </Mathematik> {aus}

Die resultierenden Reihen von Y' sind U, und V beziehungsweise [0, 1], [-U, U], und [-V, V].

Das Umkehren der obengenannten Transformation wandelt Y'UV zu RGB um:

:

R &= Y' + V \frac {1 - W_R} {V_ {Max}} \\

G &= Y' - U \frac {W_B (1 - W_B)} {U_ {Max} W_G} - V \frac {W_R (1 - W_R)} {V_ {Max} W_G} \\

B &= Y' + U \frac {1 - W_B} {U_ {Max} }\

\end {richten} </Mathematik> {aus}

Gleichwertig gegen Werte die Konstanten auswechselnd und sie weil ausdrückend, gibt matrices:

:

\begin {bmatrix} Y' \\U \\V \end {bmatrix }\

\begin {bmatrix }\

0.299 & 0.587 & 0.114 \\

- 0.14713 &-0.28886 & 0.436 \\

0.615 &-0.51499 &-0.10001

\end {bmatrix }\

\begin {bmatrix} R \\G \\B \end {bmatrix }\

</Mathematik>

:\begin {bmatrix} R \\G \\B \end {bmatrix }\\begin {bmatrix }\

1 & 0 & 1.13983 \\

1 &-0.39465 &-0.58060 \\

1 & 2.03211 & 0

\end {bmatrix }\\begin {bmatrix} Y' \\U \\V \end {bmatrix }\</Mathematik>

Referenzen

Die Gewichte haben gepflegt, Y' zu schätzen (Spitzenreihe der Matrix) sind zu denjenigen identisch, die im Y'IQ-Farbenraum verwendet sind.

Gleiche Werte von rot, Grün und Blau (d. h. Niveaus des Graus) tragen 0 für U und V. Schwarz, RGB = (0, 0, 0), Ertrag-YUV = (0, 0, 0). Weiß, RGB = (1, 1, 1), Ertrag-YUV = (1, 0, 0).

Diese Formeln werden in analogen Fernsehen und Ausrüstung traditionell verwendet; Digitalausrüstung wie HDTV und Digitalvideokameras verwenden Y'CbCr.

File:YUV UV Flugzeug Y0' Wert von 100 Prozenten png|Y von 0

File:YUV UV Flugzeug Y0.5' Wert von 100 Prozenten png|Y von 0.5

File:YUV UV Flugzeug Y1' Wert von 100 Prozenten png|Y von 1

</Galerie>

BT.709 und BT.601

Als

er hochauflösendes Video standardisiert hat, hat der ATSC eine verschiedene Formel für YCbCr gewählt als das, das für das Standarddefinitionsvideo verwendet ist. Das bedeutet, dass, wenn man sich zwischen SDTV und HDTV umwandelt, die Farbeninformation zusätzlich zum Image verändert werden muss, das das Video erklettert.

Die Formeln über der Verweisung Rec. 601. Für HDTV wird eine ein bisschen verschiedene Matrix verwendet, wo W und W in der obengenannten Formel von Rec ersetzt werden. 709:

:

\begin {Reihe} {rl }\

W_R &= 0.2126 \\

W_B &= 0.0722 \\

\end {ordnen }\

</Mathematik>

Das gibt den matrices:

:\begin {bmatrix} Y' \\U \\V \end {bmatrix }\\begin {bmatrix }\

0.2126 & 0.7152 & 0.0722 \\

- 0.09991 &-0.33609 & 0.436 \\

0.615 &-0.55861 &-0.05639

\end {bmatrix }\\begin {bmatrix} R \\G \\B \end {bmatrix }\</Mathematik>:\begin {bmatrix} R \\G \\B \end {bmatrix }\\begin {bmatrix }\

1 & 0 & 1.28033 \\

1 &-0.21482 &-0.38059 \\

1 & 2.12798 & 0

\end {bmatrix }\\begin {bmatrix} Y' \\U \\V \end {bmatrix }\</Mathematik>

Numerische Annäherungen

Vor der Entwicklung von schnellen SIMD Schwimmpunkt-Verarbeitern, den meisten Digitaldurchführungen von RGB-> hat Y'UV Mathematik der ganzen Zahl in besonderen Annäherungen des festen Punkts verwendet. In den folgenden Beispielen zeigt der Maschinenbediener "" eine richtige Verschiebung durch b Bit an.

Die traditionelle 8-Bit-Darstellung von Y'UV mit nicht unterzeichneten ganzen Zahlen verwendet den folgenden

1. Grundlegend gestalten um

:\begin {bmatrix }\

66 & 129 & 25 \\

- 38 &-74 & 112 \\

112 &-94 &-18

\end {bmatrix }\\begin {bmatrix} R \\G \\B \end {bmatrix }\</Mathematik>

2. Fallen Sie zu 8 Bit mit dem Runden

:

\begin {Reihe} {rcl }\

Y' &=& (Y' + 128) \gg 8 \\

U &=& (U + 128) \gg 8 \\

V &=& (V + 128) \gg 8

\end {ordnen }\</Mathematik>

3. Verschiebung schätzt

:\begin {Reihe} {rcl }\

Y' &=& Y' + 16 \\

U &=& U + 128 \\

V &=& V + 128

\end {ordnen }\</Mathematik>

Y' Werte werden herkömmlich ausgewechselt und zur Reihe [16, 235] (gekennzeichnet als Studio-Schwingen) erklettert, anstatt die volle Reihe [0, 255] (gekennzeichnet als volles Schwingen) zu verwenden. Diese verwirrende Praxis ist auf die MPEG Standards zurückzuführen und erklärt, warum 16 zu Y hinzugefügt wird', und warum die Y' Koeffizienten im grundlegenden Summe in 220 statt 255 umgestalten. U und V Werte, die positiv oder negativ sein können, werden mit 128 summiert, um sie immer positiv zu machen.

Systeme der Klarheit/Farbsignals im Allgemeinen

Die primären Vorteile von luma/chroma Systemen wie Y'UV und seine Verwandten Y'IQ und YDbDr, bestehen darin, dass sie vereinbar mit dem schwarzen und weißen analogen Fernsehen (größtenteils wegen der Arbeit von Georges Valensi) bleiben. Der Y' Kanal spart fast alle durch schwarze und weiße Kameras registrierten Daten, so erzeugt es ein Signal, das für den Empfang auf alten monochromen Anzeigen passend ist. In diesem Fall werden die U und V einfach verworfen. Wenn man Farbe zeigt, werden alle drei Kanäle verwendet, und die ursprüngliche RGB Information kann decodiert werden.

Ein anderer Vorteil von Y'UV besteht darin, dass etwas von der Information verworfen werden kann, um Bandbreite zu reduzieren. Das menschliche Auge hat ziemlich kleine Raumempfindlichkeit, um sich zu färben: Die Genauigkeit der Helligkeitsinformation des Klarheitskanals hat viel mehr Einfluss auf das Bilddetail, das wahrgenommen ist als dieser der anderen zwei. Diesen menschlichen Fehler verstehend, reduzieren Standards wie NTSC die Bandbreite der Farbsignal-Kanäle beträchtlich. (Bandbreite ist im zeitlichen Gebiet, aber das übersetzt ins Raumgebiet, weil das Image gescannt wird.)

Deshalb können der resultierende U und die V Signale wesentlich "zusammengepresst" werden. Im NTSC (Y'IQ) und den FREUND-Systemen hatten die Farbsignal-Signale bedeutsam schmalere Bandbreite als das für die Klarheit. Frühe Versionen von NTSC haben schnell zwischen besonderen Farben in identischen Bildgebieten abgewechselt, um sie belaufend auf einander zum menschlichen Auge scheinen zu lassen, während die ganze moderne Entsprechung und sogar die meisten Digitalvideostandards chroma Probenteilung durch die Aufnahme einer Farbeninformation eines Bildes an der nur Hälfte der Entschlossenheit im Vergleich zur Helligkeitsinformation verwenden. Dieses Verhältnis ist der grösste Teil der Standardform, bekannt als 4:2:2, der das Beispielverhältnis von Y:U:V oder Y:I:Q ist. 4:x:x wurde Standard wegen des NTSC sehr frühsten Farbenstandards angenommen, der eine chroma Probenteilung 4:1:1 verwendet hat, so dass das Bild nur ein Viertel so viel Entschlossenheit in der Farbe getragen hat, als es in der Helligkeit getan hat. Heute verwendet nur Ausrüstung des hohen Endes, die unkomprimierte Signale bearbeitet, eine chroma Probenteilung 4:4:4 mit der identischen Entschlossenheit sowohl für die Helligkeit als auch für Farbeninformation.

Ich und Q Äxte wurden gemäß der Bandbreite gewählt, die durch die menschliche Vision, eine Achse erforderlich ist, die dieses Verlangen des grössten Teiles der Bandbreite und des anderen (zufällig an 90 Graden) das Minimum ist. Jedoch wahr waren ich und Q demodulation relativ komplizierter, zwei analoge Verzögerungslinien verlangend, und NTSC Empfänger haben ihn selten verwendet.

Jedoch ist diese Farbenraumkonvertierung lossy, der in crosstalk vom luma bis die chroma-tragende Leitung, und umgekehrt in der Entsprechungsausrüstung besonders offensichtlich ist (einschließlich RCA Stecker, um ein Digitalsignal, als alles zu übertragen, was sie tragen, ist Entsprechungszusammensetzungsvideo, das entweder YUV, YIQ oder sogar CVBS ist). Außerdem haben NTSC und FREUND Farbensignale gewissermaßen verschlüsselt, der hohe Bandbreite chroma und Luma-Signale verursacht, sich mit einander in einem Angebot zu vermischen, rückwärts gerichtete Vereinbarkeit mit der schwarzen und weißen Fernsehausrüstung aufrechtzuerhalten, die auf Punktkraul und böse Farbenkunsterzeugnisse hinausläuft. Als der NTSC Standard in den 1950er Jahren geschaffen wurde, war das nicht eine echte Sorge, seitdem die Qualität des Images durch die Monitor-Ausrüstung, nicht das Signal der beschränkten Bandbreite beschränkt wurde, das wird erhält. Jedoch ist heutiges modernes Fernsehen zum Anzeigen von mehr Information fähig, als es in diesen Lossy-Signalen enthalten wird. Um mit den geistigen Anlagen von neuen Anzeigetechnologien Schritt zu halten, wurden Versuche seit dem Ende der 1970er Jahre gemacht, um mehr vom Y'UV-Signal zu bewahren, während man Images, wie SCART (1977) und S-Video (1987) Stecker übertragen hat.

Statt Y'UV wurde Y'CbCr als das Standardformat für allgemeine (digital)-Videokompressionsalgorithmen wie MPEG-2 verwendet. Digitalfernsehen und DVDs bewahren ihre komprimierten Videoströme im MPEG-2-Format, das einen vollen Farbenraum von Y'CbCr verwendet, obwohl, den feststehenden Prozess der chroma Probenteilung behaltend. Der berufliche CCIR 601 Digitalvideoformat verwendet auch Y'CbCr an der allgemeinen chroma Probenteilungsrate 4:2:2 in erster Linie für die Vereinbarkeit mit vorherigen analogen Videostandards. Dieser Strom kann in jedes erforderliche Produktionsformat leicht gemischt werden.

Y'UV ist nicht ein absoluter Farbenraum. Es ist eine Weise, RGB Information zu verschlüsseln, und die wirkliche gezeigte Farbe hängt von den wirklichen RGB Farbstoffen ab, die verwendet sind, um das Signal zu zeigen. Deshalb ist ein als Y'UV ausgedrückter Wert nur voraussagbar, wenn RGB Standardfarbstoffe (d. h. ein fester Satz von primärem chromaticities oder besonderer Satz von rot, Grün, und blau) verwendet werden.

Verwirrung mit Y'CbCr

Y'UV wird häufig als der Begriff für YCbCr verwendet. Jedoch sind sie verschiedene Formate. Y'UV ist ein analoges System mit vom Digitalsystem von Y'CbCr verschiedenen Einteilungsfaktoren.

In Digitalsystemen des Videos/Images ist Y'CbCr die allgemeinste Weise, Farbe in einem für die Kompression/Übertragung passenden Weg auszudrücken. Die Verwirrung stammt von Computerdurchführungen und Lehrbüchern, die falsch den Begriff YUV gebrauchen, wo Y'CbCr richtig sein würde.

Typen der Stichprobenerhebung

Um ein Digitalsignal zu bekommen, können Y'UV Images auf mehrere verschiedene Weisen probiert werden; sieh chroma Probenteilung.

Das Umwandeln zwischen Y'UV und RGB

RGB Dateien werden normalerweise in in 8, 12, 16 oder 24 Bit pro Pixel verschlüsselt. In diesen Beispielen werden wir 24 Bit pro Pixel annehmen, der als RGB888 geschrieben wird. Das Standardbyte-Format ist

r0 = rgb [0];

g0 = rgb [1];

b0 = rgb [2];

r1 = rgb [3];

g1 = rgb [4];

b1 = rgb [5];

...

Y'UV Dateien können in 12, 16 oder 24 Bit pro Pixel verschlüsselt werden. Die Standardformate sind Y'UV444 (oder YUV444), YUV411, Y'UV422 (oder YUV422) und Y'UV420p (oder YUV420). Der Apostroph nach dem Y wird häufig weggelassen, wie der "p" nach YUV420p ist. In Bezug auf wirkliche Dateiformate ist YUV420 am üblichsten, weil die Daten leichter zusammengepresst werden, und die Dateierweiterung gewöhnlich ".YUV" ist.

Um sich von RGB bis YUV oder zurück umzuwandeln, ist es am einfachsten, RGB888 und YUV444 zu verwenden. Für YUV411, YUV422 und YUV420, müssen die Bytes zu YUV444 zuerst umgewandelt werden.

YUV444 3 Bytes pro Pixel

YUV422 4 Bytes pro 2 Pixel

YUV411 6 Bytes pro 4 Pixel

YUV420p 6 Bytes pro 4 Pixel, wiederbestellten

Y'UV444 zur RGB888 Konvertierung

Die Funktion [R, G, B] = wandelt sich Y'UV444toRGB888 (Y', U, V) um Y'UV-Format zu einfachem RGB formatieren

Die RGB für das Y'UV444-Format verwendeten Umwandlungsformeln sind auch auf das NTSC Standardfernsehübertragungsformat von YUV420 (oder YUV422, was das betrifft) anwendbar. Für YUV420, seit jedem U oder V Probe wird verwendet, um 4 Y Proben zu vertreten, die ein Quadrat bilden, kann eine richtige ausfallende Methode die Anwendung der genauen Umwandlungsformeln erlauben, die unten gezeigt sind. Für mehr Details, sieh bitte die 420 Format-Demonstration in der untersten Abteilung dieses Artikels.

Diese Formeln basieren auf dem NTSC Standard;

:::

Auf dem älteren, non-SIMD Architekturen, Punkt-Arithmetik schwimmen lassend, ist viel langsamer als das Verwenden der Festkommaarithmetik, so ist eine alternative Formulierung:

:::

Mit den vorherigen Koeffizienten und bemerkend, dass Klammer das Festklemmen eines Werts zur Reihe 0 bis 255 anzeigt, stellen die folgenden Formeln die Konvertierung von Y'UV bis RGB (NTSC Version) zur Verfügung:

:::

Zeichen: Die obengenannten Formeln werden wirklich für YCbCr einbezogen.

Obwohl der Begriff YUV hier gebraucht wird, sollte es bemerkt werden, dass YUV und YCbCr nicht genau dasselbe auf eine strenge Weise sind.

Die ITU-R Version der Formeln ist verschieden:

::::::

Operation der ganzen Zahl des ITU-R Standards für YCbCr (8 Bit pro Kanal) zu RGB888:

:::::

Y'UV422 zur RGB888 Konvertierung

: Eingang: Lesen Sie 4 Bytes von Y'UV (u, y1, v, y2)

: Produktion: Schreiben 6 Bytes von RGB (R, G, B, R, G, B)

y1 = yuv [0];

u = yuv [1];

y2 = yuv [2];

v = yuv [3];

Mit dieser Information es konnte grammatisch analysiert werden, weil formatieren regelmäßige Y'UV444, um 2 RGB Pixel-Info zu bekommen:

rgb1 = Y'UV444toRGB888 (y1, u, v);

rgb2 = Y'UV444toRGB888 (y2, u, v);

Y'UV422 kann auch im YUY2 Format-Code von FourCC ausgedrückt werden. Das bedeutet, dass 2 Pixel in jedem Makropixel im Image behandelte (vier Bytes) definiert werden.

.

Y'UV411 zur RGB888 Konvertierung

: Eingang: Lesen Sie 6 Bytes von Y'UV

: Produktion: Schreiben 12 Bytes von RGB

//Extrakt YUV Bestandteile

u = yuv [0];

y1 = yuv [1];

y2 = yuv [2]; v = yuv [3];

y3 = yuv [4];

y4 = yuv [5];

rgb1 = Y'UV444toRGB888 (y1, u, v); rgb2 = Y'UV444toRGB888 (y2, u, v);

rgb3 = Y'UV444toRGB888 (y3, u, v);

rgb4 = Y'UV444toRGB888 (y4, u, v);

So ist das Ergebnis, bekommen wir 4 RGB Pixel-Werte (4*3 Bytes) von 6 Bytes. Das bedeutet, die Größe von übertragenen Daten zur Hälfte mit einem Verlust der Qualität zu reduzieren.

Y'UV420p (und Y'V12 oder YV12) zur RGB888 Konvertierung

Y'UV420p ist ein planares Format, bedeutend, dass der Y' werden U und V Werte zusammen statt des eingestreuten gruppiert. Der Grund dafür besteht darin, dass durch die Gruppierung des U und der V Werte zusammen das Image viel mehr komprimierbar wird. Wenn gegeben, eine Reihe eines Images im Y'UV420p-Format, alle Y' Werte kommen zuerst, gefolgt von allen U-Werten, gefolgt schließlich von allen V Werten.

Das Y'V12-Format ist im Wesentlichen dasselbe als Y'UV420p, aber es hat den U und die V geschalteten Daten: Den Y' Werte wird von den V Werten mit den letzten U-Werten gefolgt. So lange Sorge in den Extrakt U und die V Werte von den richtigen Positionen gebracht wird, können sowohl Y'UV420p als auch Y'V12 mit demselben Algorithmus bearbeitet werden.

Als mit den meisten Y'UV-Formaten gibt es so viele Y' Werte, wie es Pixel gibt. Wo X der Höhe gleichkommt, die mit der Breite, das erste multipliziert ist, sind X Indizes in der Reihe Y' Werte, die jedem individuellen Pixel entsprechen. Jedoch gibt es nur ein Viertel als viele U und V Werte. Der U und die V Werte entsprechen jedem 2 durch 2 Block des Images, jeden U bedeutend, und V Zugang gilt für vier Pixel. Nach dem Y' Werte sind die folgenden X/4 Indizes die U-Werte für jeden 2 durch 2 Block und die folgenden X/4 Indizes, nachdem das die V Werte ist, die auch für jeden 2 durch 2 Block gelten.

Das Übersetzen von Y'UV420p zu RGB ist ein beteiligterer Prozess im Vergleich zu den vorherigen Formaten. Lookup des Y' können U und V Werte mit der folgenden Methode getan werden:

size.total = size.width * size.height;

y = yuv [position.y * size.width + position.x];

u = yuv [(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total];

v = yuv [(position.y / 2) * (size.width / 2) + (position.x / 2) + size.total + (size.total / 4)];

rgb = Y'UV444toRGB888 (y, u, v);

Hier "/" ist Div nicht Abteilung.

Wie gezeigt, im obengenannten Image, dem Y' werden U und V Bestandteile in Y'UV420 getrennt in folgenden Blöcken verschlüsselt. Ein Y' Wert wird für jedes Pixel versorgt, das von einem U-Wert für jeden 2×2 Quadratblock von Pixeln, und schließlich ein V Wert für jeden 2×2 Block gefolgt ist. Entsprechender Y' werden U und V Werte mit derselben Farbe im Diagramm oben gezeigt. Lesen Sie Linie-für-Linie als ein Byte-Strom von einem Gerät, der Y' Block würde an der Position 0, dem U-Block an der Position x×y (6×4 = 24 in diesem Beispiel) und dem V Block an der Position x×y + (x×y)/4 (hier, 6×4 + (6×4)/4 = 30) gefunden.

Links


Lev Vygotsky / Phi Kappa Psi
Impressum & Datenschutz