YUV

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 23 maj 2022; kontroller kräver 2 redigeringar .

YUV  är en färgmodell där färgen består av tre komponenter - ljusstyrka (Y) och två färgskillnadskomponenter (U och V).

YUV-komponenterna definieras baserat på RGB- komponenterna enligt följande:

Omvänd konvertering till RGB:

Den omvända transformationen bevarar räckvidden för RGB-komponenterna, men intervallet för U- och V-komponenterna är större än Y, vilket inte är bekvämt för kodning och signal-/dataöverföring. Därför införs normalisering.

YUV-normalisering; YPbPr -format

Om vi ​​antar att RGB-komponenterna ändras i intervallet [0, A), så ändras per definition U-komponenten i intervallet [−(1 - K B ) A, (1 - K B ) A) och V i intervallet [− (1 - K R ) A, (1 - K R ) A).

För att reducera till intervallet [−A/2, A/2) normaliseras komponenterna U och V:

Omvänd konvertering till RGB:

Detta sätt att representera komponenter används för det analoga YPbPr-formatet.

Digital representation av YUV; YCbCr -format

Den digitala representationen av YUV är YCbCr-formatet. I grund och botten används icke-negativa heltal av potensen två för det digitala dataformatet. Oftare - 8, 10 bitar och så vidare. Eftersom U och V kan vara negativa införs en offset för dem - hälften av kvantiserings- (kodnings)nivåerna. Dessutom, för decimering av mindre informativa komponenter, används rumslig kodning, till exempel YUYV eller YUV422.

YCbCr eller YCrCb?

I rekommendation BT.601 är sekvensen Cr, Cb vanligare i texten, formler, men i bilaga 2 BT.601 är det redan Cb, Cr. I efterföljande rekommendationer från samma grupp bibehålls sekvensen Cb, Cr. Även om dessa rekommendationer inte reglerar sekvensen för att skriva Cb, Cr i adressutrymmet, accepterades incidenten i ordningen (Cr, Cb) och implementerades, till exempel i OpenCV [1] , vilket inte bara påverkade namnen på parametrar, men också ordningen i adressutrymmet.

Ändå specificerar T-REC-T.871 strikt sekvensen - Cb, Cr: "Om tre komponenter används ska de finnas i bilden med ordningen av komponenterna så att den första komponenten är Y-kanalen, den andra komponenten är CB - kanalen och den tredje komponenten är CR - kanalen".

Koefficienter K R K B

Rekommendation BT.601 definierar följande värden för K R och K B :

Samma värden används för färgrymdskonvertering i YPbPr och JPEG (JFIF) [2] .

Baserat på rekommendation BT.709 definieras värdena för K R och KB :

B-rekommendationer BT.2020

Samtidigt, för att hålla ljusstyrkan konstant, beaktas den icke-linjära överensstämmelsen mellan RGB och ljusstyrka och olika multiplikatorer introduceras för negativa och positiva värden på U och V. I den traditionella versionen, med icke-konstant ljusstyrka, multiplikatorerna är konstanta värden.

Kodning

YUV till JPEG (T-REC-T.871)

Rekommendation T-REC-T.871 definierar transformationer för representation av YUV i YCbCr-digitalisering:

Faktum är att, med hänsyn till nollförskjutningen, liknar denna omvandling YPbPr - alla komponenter upptar hela intervallet som är tillgängligt för ett givet databitdjup.

Omvänd konvertering till RG':

I detta fall bör varje beräknad komponent reduceras till [0,255] - cut off.

YUV i TV-standarder

Transformationerna i rekommendationerna BT.601, BT.709, BT.2020 gäller även representationen av YUV i den digitala formen YCbCr, vars huvudsakliga skillnad från T-REC-T.871 är att komponentändringsintervallen är mindre än de som är tillgängliga för ett givet databitdjup: för Y är det 220 (8 bitar) eller 877 (10 bitar) och minimivärdet är 16 (8 bitar) eller 64 (10 bitar), och för U och V är det 225 (8 bitar) eller 897 (10 bitar) och noll motsvarar värde 128 (8 bitar) eller 512 (10 bitar). Detta görs för att använda extremvärdena (0 och 255 (8 bitar)) för överföring av synkroniseringsdata.

Omvandlingen för BT.601 YCbCr utförs enligt följande formler:

Den omvända konverteringen för BT.601 till RGB YCbCr från RGB utförs med följande formler:

där R, G, B - respektive den digitala representationen av intensiteten hos färgerna rött, grönt och blått; Y är ljushetskomponenten; U och V är färgskillnadskomponenter. Enligt BT.601 och BT.709 innebär den digitala representationen av färgintensiteten att det ursprungliga intensitetsvärdet, som har genomgått en preliminär gammakorrigering och ligger i intervallet [0,1], ska multipliceras med 219 och läggas till 16, till exempel R = 219 R' + 16 .

Modellen används i stor utsträckning vid sändning och lagring/bearbetning av videodata. Luminanskomponenten innehåller "svartvit" (gråskala) bilden, och de återstående två komponenterna innehåller information för att återställa den önskade färgen. Detta var praktiskt vid tiden för färg-tv:s tillkomst för kompatibilitet med äldre svartvita tv-apparater.

I YUV-färgrymden finns det en komponent som representerar luminans (luma) och två andra komponenter som representerar färg (chroma). Medan luminans sänds med alla detaljer, kan vissa detaljer i komponenterna i färgskillnadssignalen som saknar luminansinformation tas bort genom att sänka upplösningen för proverna (filtrering eller medelvärdesberäkning), vilket kan göras på flera sätt (dvs. det finns många format för att spara en bild i YUV-färgrymden).

YUV förväxlas ofta med YCbCr-färgrymden, och termerna YCbCr och YUV används vanligtvis omväxlande, vilket leder till ytterligare förvirring. När det gäller video eller digitala signaler , särskilt i samband med tv-sändningar, betyder termen "YUV" i grunden "Y'CbCr" i termer av en av rekommendationerna BT.601, BT.709 och BT.2020. När man talar om JPEG eller MPEG eller i samband med bildbehandling , menar de T-REC-T.871 YCbCr.

Se även

Anteckningar

  1. cv::cvtColor funktion med CV_YCrCb2BGR parameter Arkiverad 22 november 2021 på Wayback Machine
  2. ITU T-REC-T.871 T.871: Informationsteknologi - Digital komprimering och kodning av stillbilder med kontinuerliga toner: JPEG File Interchange Format (JFIF)

Länkar