Färgkodning i digital-TV

Från Wikipedia
(Omdirigerad från YUV)

Färgkodning i digital-TV har som mål att digitalt överföra färginformation för videobild. Det finns ett antal kodningsstandarder, varav vissa (alla?) följer nedan.

RGB[redigera | redigera wikitext]

I RGB-systemet byggs bilden upp av punkter där man anger styrkan av (R) röd, (G) grön och (B) blå färgkomponent. RGB används mest för datorgrafik och för bildgenerering i digitala bildskärmar så som LCD- och plasmaskärmar.

YUV[redigera | redigera wikitext]

YUV-kodning används inom PAL, NTSC och SECAM-systemen. Y luminans anger bildpunktens ljusstyrka (motsvarar svart/vit bild). U och V är färginformation som kan räknas ut med en formel ur motsvarande RGB-värde. 8-bitars värden används

Y = 0,299*R + 0,587*G + 0,114*B
U = -0,147*R - 0,289*G + 0,436*B = 0,492*(B-Y)
V = 0,615*R - 0,515*G - 0,100*B = 0,877*(R-Y)

där R, G och B är värden mellan 0 och 255. U är således begränsad till intervallet -112 t.o.m. +112 medan V ligger mellan -157 och +157.

YIQ[redigera | redigera wikitext]

Huvudartikel: YIQ (färgrymd)

YIQ är en optionell variant av YUV för NTSC-kompositsignal. 8-bitars värden används

Y = 0,299*R + 0,587*G + 0,114*B
I = V*cos(33o) - U*sin(33o)
Q = V*sin(33o) + U*cos(33o)

där U och V värden är enligt YUV-definitionen ovan.

YCbCr[redigera | redigera wikitext]

YCbCr utvecklades som en del i standarden ITU-R BT.601 och finns bland annat för standardupplösning (SDTV) och för högupplösande tv-bilder (HDTV).

YCbCr för SDTV[redigera | redigera wikitext]

YCbCr för standardupplöst TV.

Y = 0,299*R + 0,587*G + 0,114*B
Cb = -0,172*R - 0,339*G + 0,511*B + 128
Cr = 0,511*R - 0,428*G - 0,083*B + 128

där R, G och B är 8-bitarsvärden mellan 16 och 235 (värden 0-16 och 236-255 får förekomma, men då ser formlerna annorlunda ut[1]).

YCbCr för HDTV[redigera | redigera wikitext]

YCbCr för högupplöst TV.

Y = 0,213*R + 0,715*G + 0,072*B
Cb = -0,117*R - 0,394*G + 0,511*B + 128
Cr = 0,511*R - 0,464*G - 0,047*B + 128

där R, G och B 8-bitarsvärden mellan 16 och 235 (värden 0-16 och 236-255 får förekomma, men då ser formlerna annorlunda ut [1])

4:4:4 YCbCr-format[redigera | redigera wikitext]

Med denna kodning kommer varje bildpunkt ha ett Y-, Cb- och Cr-värde. Det vill säga varje bildpunkt behöver 3 st 8-bitars värden. Kodningen används för högsta bildkvalitet.

linje 1: x-x-x-x-x-x
linje 2: x-x-x-x-x-x
linje 3: x-x-x-x-x-x
linje 4: x-x-x-x-x-x

där "x" motsvarar ett vektorvärde (Y,Cb,Cr).

4:2:2 YCbCr-format[redigera | redigera wikitext]

Med denna kodning sparar man bandbredd genom att bara ha färginformation (Cb och Cr) för varannan bildpunkt. Det vill säga man behöver bara 2 st 8-bitars tal per bildpunkt (1 Y + 1/2 Cb + 1/2 Cr). Kodningen används i studiosammanhang.

linje 1: x-o-x-o-x-o
linje 2: x-o-x-o-x-o
linje 3: x-o-x-o-x-o
linje 4: x-o-x-o-x-o

där "x" motsvarar ett vektorvärde (Y,Cb,Cr) och "o" har enbart luminansvärde (Y).

4:2:0 YCbCr-format[redigera | redigera wikitext]

Med denna kodning används i H.621 och H.263 en färguppgift för fyra närliggande punkter, två från en udda och två från en jämn bildlinje. I MPEG-2 (till exempel Dvd och DVB) och MPEG-4 används också i snitt en färginformation (Cb och Cr) per fyra bildbunkter, men med något annorlunda sätt att interpolera färg för varje bildpunkt. Per bildpunkt kommer man behöva 1,5 st 8-bitars värden per bildpunkt ( (4 st Y + 1 st Cb + 1 st Cr)/4 ).

linje 1: o-o-o-o-o-o
         Z   Z   Z 
linje 2: o-o-o-o-o-o
         
linje 3: o-o-o-o-o-o
         Z   Z   Z
linje 4: o-o-o-o-o-o

MPEG-2/4: 

där "Z" motsvarar ett vektorvärde (Cb,Cr) och "o" har enbart luminansvärde (Y).

linje 1: o-o-o-o-o-o
          Z   Z   Z 
linje 2: o-o-o-o-o-o
         
linje 3: o-o-o-o-o-o
          Z   Z   Z
linje 4: o-o-o-o-o-o

H.261/H.263: 

där "Z" motsvarar ett vektorvärde (Cb,Cr) och "o" har enbart luminansvärde (Y).

4:1:1 YCbCr-format[redigera | redigera wikitext]

Med denna kodning använder man en färginformation (Cb och Cr) för fyra horisontella bildpunkter på en bildlinje. Med andra ord behöver man 1,5 st 8-bitars värden per bildpunkt.

linje 1: x-o-o-o-x-o-o-o-
linje 2: x-o-o-o-x-o-o-o-
linje 3: x-o-o-o-x-o-o-o-
linje 4: x-o-o-o-x-o-o-o-

där "x" motsvarar ett vektorvärde (Y,Cb,Cr) och "o" har enbart luminansvärde (Y).

Källor[redigera | redigera wikitext]

  1. ^ [a b] Andrei Cernasov, "Digital video electronics", McGraw-Hill Professional, 2004, sid 19.