náhled|Vizualizace barevného prostoru YCbCr náhled|CbCr rovina s konstantní luminancí Y′=0,5 náhled|Barevný obraz a jeho složky Y′, CB a CR. Složka Y′ je v zásadě černobílá verze původního obrazu.

YCbCr (YCBCR) a Y′CbCr (Y′CBCR) je skupina barevných prostorů používaných v procesu zpracování barevného obrazu v systémech digitálního videa a digitální fotografie. Je v zásadě ekvivalentní s barevným prostorem YPBPR, který také vychází z barevných složek RGB; YCBCR je však určen pro digitální video, YPBPR pro analogové systémy.

Y nebo Y′ je jasová složka, barvonosné složky jsou CB = B – Y (modrá rozdílová složka) a CR = R – Y (červená rozdílová složka). Y je relativní jas (luminance), Y′ (Y s čárkou) anglicky nazývané je vážený součet složek R′G′B′, což jsou barevné složky, na které je uplatněna gama korekce.

Barevné prostory Y′CbCr jsou definovány matematickou transformací souřadnic složek RGB a bílého bodu. Pokud je podkladový barevný prostor RGB absolutní, Y′CbCr barevný prostor je také absolutní; opačně, pokud RGB prostor je špatně definovaný, Y′CbCr je také špatně definovaný. Transformace je definována rovnicemi 32 a 33 v ITU-T H.273.

Účel V době nástupu barevné televize bylo zavedené vysílání černobílé televize. Kvůli velkému množství existujících televizorů a kamer bylo nutné při přechodu na barevného vysílání zachovat zpětnou kompatibilitu. Francouzský inženýr Georges Valensi již v roce 1938 vyvinul a patentoval systém pro přenos RGB barev ve formě jasového a barevného signálu, který umožňuje, aby existující černobílé televizory zpracovávaly pouze jasovou složku obrazu a ignorovaly informace o barvě, což v zásadě znamená přenos černobílého videa uvnitř barevného. Zpětně kompatibilní systémy založené na Valensiho myšlence se nazývají barevně kompatibilní. Kompatibilita funguje i v opačném směru – černobílé vysílání lze přijímat barevným televizorem bez jakéhokoli zvláštního zpracování. Aby se videosignál i s barevnou informací vešel do kmitočtového pásma původně určeného pro černobílé video, je pro informace o barvě použito menší rozlišení, takže zabírají menší šířku pásma než jasové informace. V praxi to nepředstavuje velký problém, protože lidský zrak má vyšší rozlišení pro černobílý obraz (viz příklad obrazu vpravo). Toto řešení se nazývá podvzorkování barvonosných složek.

YCbCr a Y′CbCr jsou praktické aproximace při zpracování barev pro zachování jednotnosti vjemů, kdy základní barvy zhruba odpovídající červené, zelené a modré jsou zpracovány do vjemově smysluplné informace. Díky tomu nedokonalosti při zpracování obrazu nebo videa a jeho přenosu a ukládání nezpůsobují chyby, které by byly příliš rušivé. V praxi se proto používá barevný model Y′CbCr, ve kterém se samostatně zpracovává jasový signál (Y′) ve vyšším rozlišení a dvě barevné složky (CB a CR) v nižším rozlišení – tzv. podvzorkování barvonosných složek.

Konverze YCbCr se někdy zkracuje na YCC a označení Y′CbCr, YCbCr, YPbPr a YUV se často zaměňují, což může způsobovat nedorozumění. Hlavním rozdílem je, že YPbPr se používá pro analogový obraz, a YCbCr pro digitální, kvůli čemuž se používají různé škálovací hodnoty pro Umax a Vmax (v YCbCr modelech jsou obě ) při konverzi na YUV nebo z YUV. Y′CbCr a YCbCr se liší použitím nebo nepoužitím gama korekce.

Následující rovnice detailně popisují obecné principy a hlavní rozdíly mezi různými barevnými modely.

RGB konverze R'G'B' na Y′PbPr náhled|Převod RGB na YCbCr Y′CbCr signály (před škálováním a posunutím při převádění signálů do digitální podoby) se nazývají YPbPr a vytvářejí se z RGB (červený, zelený a modrý) zdroje úpravou gama korekcí použitím tří konstant KR, KG a KB definovaných takto:

kde KR, KG, a KB se normálně odvodí z definice odpovídajícího RGB prostoru tak, aby platilo .

Ekvivalentní maticová manipulace se často nazývá „barevná matice“:

A její inverze:

Symboly s čárkou (′) znamenají složky, na které byla uplatněna gama korekce; tedy R′, G′ a B′ nominálně z intervalu 0 až 1, kde 0 reprezentuje minimální intenzitu (například, černou) a 1 maximální (například bílou). Výsledná hodnota luminance (Y) pak bude mít jmenovitý rozsah 0 až 1, a hodnoty chrominance (PB a PR) budou mít jmenovitý rozsah -0,5 až +0,5. Opačný proces konverze lze jednoduše odvodit obrácením výše uvedených rovnic.

Y′PbPr na Y′CbCr Při reprezentaci signálů v digitální formě jsou výsledky škálované a zaokrouhlené, a jsou k nim typicky přičtena posunutí (). Například při použití osmibitové reprezentace vede škálování a posunutí aplikované na složku Y′ podle specifikace (např. MPEG-2e.g. the MPEG-2 specification, ITU-T H.262 2000 E pg. 44) k hodnotě 16 pro černou barvu a hodnotě 235 pro bílou. Norma má osmibitové digitalizované verze složek CB a CR škálované do jiného intervalu 16 až 240. Následně je někdy požadované přeškálování zlomkem (235-16)/(240-16) = 219/224 když se vytváří barevná matice nebo se provádí zpracování v prostoru YCbCr, což způsobuje kvantizační zkreslení, když se další zpracování neprovádí s použitím vyšších bitových hloubek.

Škálování, které vede k použití menšího rozsahu digitálních hodnot, než jaké by mohlo být žádoucí pro reprezentaci jmenovitého rozsahu vstupních dat dovoluje určité „překmity“ a „podkmity“ během zpracování bez nutnosti nežádoucího ořezání. Tento prostor okolo maxima nebo minima („headroom“ resp. „toeroom“) se může také použit pro rozšíření jmenovitého barevného gamutu, jak je uvedeno v xvYCC.

Hodnota 235 vyhovuje maximálnímu překmitu (255 – 235) / (235 – 16) = 9,1%, který je nepatrně větší než teoretický maximální překmit (způsobený Gibbsovým jevem) přibližně 8,9% maximálního rozdílu (od černé k bílé). Toeroom je menší, s překmitem asi 16 / 219 = 7,3%, což je méně než teoretický maximální překmit 8,9%. Protože hodnoty 0 a 255 jsou v HDMI rezervované, je prostor ve skutečnosti ještě nepatrně menší.

Y′CbCr na xvYCC

Protože rovnice definující Y′CbCr jsou utvořeny tak, že celou jmenovitou barevnou krychli RGB rotují a škálují, aby se vešla do (větší) barevné krychle YCbCr, existují v barevné krychli Y′CbCr určité oblasti, které nelze reprezentovat v odpovídající doméně RGB (přinejmenším ne ve jmenovitém rozsahu RGB). To způsobuje určité potíže při určování, jak správně interpretovat a zobrazovat některé Y′CbCr signály. Tyto hodnoty Y′CbCr mimo rozsah se používají v xvYCC pro kódování barev mimo gamut definovaný v BT.709.

Konverze ITU-R BT.601

Forma Y′CbCr definovaná pro použití v televizi se standardním rozlišením normou ITU-R BT.601 (dříve CCIR 601) pro digitální komponentní video, je odvozena z příslušného prostoru RGB (se složkami podle ITU-R BT.470-6 System M) takto:

Z výše uvedených konstant a vzorců lze pro ITU-R BT.601 odvodit následující:

Analogové YPbPr z analogového R'G'B' je odvozeno takto:

Digitální Y′CbCr (s 8 bity na vzorek) je odvozeno z analogového R'G'B' takto:

nebo jednoduše po složkách

Rozsah výsledných signálů je 16 až 235 pro Y′ (16 až 240 pro Cb a Cr); hodnoty 0 až 15 se nazývají footroom, a hodnoty 236 až 255 se headroom. Stejné kvantizační rozsahy, různé pro Y a Cb, Cr platí také pro BT.2020 a BT.709.

Digitální prostor Y′CbCr je možné odvodit z digitálního prostoru R'dG'dB'd (s 8 bity na vzorek, každý používá plný rozsah, tj. nula reprezentuje černou a 255 bílou barvu) podle následujících rovnic:

V následujících vzorcích jsou škálovací faktory znásobeny zlomkem . Díky tomu se ve jmenovatelích objeví hodnota 256, což umožňuje dělení nahradit bitovým posuvem.

Pokud digitální zdroj R'd G'd B'd obsahuje footroom a headroom, je třeba z každého signálu odečíst posunutí 16 pro footroom, a použít škálovací faktor .

Inverzní transformace je:

Inverzní transformace bez zaokrouhlování (s použitím hodnot přímo z doporučení ITU-R BT.601) je:

Tento barevný prostor Y′CbCr se používá především ve starších systémech televize se standardním rozlišením, protože používá RGB model, který lépe vyhovuje emisním charakteristikám luminiforů starších vakuových obrazovek.

Konverze ITU-R BT.709 náhled|Porovnání Rec. 709 a Rec. 2020 Norma ITU-R BT.709 definuje jiný tvar Y′CbCr, určený primárně pro HDTV. Novější tvar se používá také v některých aplikacích určených pro počítačové displeje jako SRGB (ačkoli matice sYCC používaná pro sRGB tvar YCbCr je stále BT.601). V tomto případě se hodnoty Kb a Kr liší, ale vzorce pro jejich použití jsou stejné. Konstanty pro ITU-R BT.709 jsou:

Tento barevný prostor Y′CbCr je založen na modelu RGB, který lépe vyhovuje vyzařovacím charakteristikám luminiforů novějších CRT obrazovek a jiných moderních displejů. Konverzní matice pro BT.709 jsou následující:

Definice signálů R', G' a B' se mezi BT.709 a BT.601 také liší, a liší se i v rámci BT.601 podle používaného televizního systému (625 řádků pro PAL a SECAM a 525 řádků pro NTSC), a odlišují se i v jiných specifikacích. V různých konstrukcích jsou rozdíly v definici barevných souřadnic R, G a B, v referenčním bílém bodě, v podporovaném rozsahu gamutu, přesných funkcích pro předkompenzaci gama pro odvozování R', G' a B' z R, G a B, a ve škálováních i offsetech, které se mají použít při konverzi z R'G'B' na Y′CbCr. Správná konverze Y′CbCr z jednoho tvaru do jiného není proto záležitostí pouze inverze matice a jejího použití. Ve skutečnosti, když je Y′CbCr navrženo ideálně, hodnoty KB a KR jsou odvozeny z přesné specifikace základních barevných signálů RGB, takže složka luminance (Y′) odpovídá co nejlépe měření jasu s gama korekcí (vycházející typicky z měření odezvy lidského zraku na barevné podněty, které provedla komise CIE v roce 1931).Charles Poynton, Digital Video and HDTV, Chapter 24, pp. 291–292, Morgan Kaufmann, 2003.

Konverze ITU-R BT.2020

Norma ITU-R BT.2020 používá stejné gama funkce jako BT.709. Definuje: Barevný prostor Y'CbCr s nekonstantním jasem, podobný předchozím, ale s jinými a . Barevný prostor Y'cCbcCrc s konstantním jasem, ve kterém je Y' hodnota skutečného jasu s gama kodekem.

Pro oba barevné prostory jsou ze složek odvozené koeficienty:

Pro NCL je definice klasická: ; ; . Konverze kódování může být také zapsána maticí. Dekódovací matice pro BT.2020-NCL se 14 desetinnými místy je následující:

Hodnoty s méně desetinnými místy nejsou zaokrouhlené, ale jde o přesné hodnoty. Pro systémy s omezenou barevnou hloubkou (např. 8 nebo 10 bitů) se může používat matice se zaokrouhlenými hodnotami, například použitím pouze 6 desetinných číslic.

Verze CL barevného modelu YcCbcCrc kóduje:

. Gama funkce je aplikovaná na skutečný jas spočítaný z lineárního RGB. pokud jinak . a jsou teoretická minima a maxima odpovídající gamutu. Zaokrouhlené „praktické“ hodnoty jsou , . Úplné odvození lze nalézt v doporučení. pokud jinak . a jsou opět teoretické limity. Zaokrouhlené hodnoty jsou , .

Funkci CL lze použít, pokud jde především o zachování jasu (viz Podvzorkování barvonosných složek), nebo když „je třeba provést zlepšení účinnosti kódování pro doručení.“ Specifikace se v tomto bodě odvolává na ITU-R zprávu BT.2246. BT.2246 uvádí, že CL vylepšilo účinnost komprimace při zachování jasu, ale o NCL je známo, že nejdříve provádí míchání barev a jiné produkční postupy v HDTV YCbCr.

BT.2020 nedefinuje PQ ani HDR, které je definováno v SMPTE ST 2084 a BT.2100. BT.2100 zavádí použití ICTCP, téměř vjemového barevného prostoru odvozeného z lineárního RGB s dobrou linearitou odstínu. Má „téměř konstantní jas“.

Konverze SMPTE 240M

Norma SMPTE 240M (používaná v systémech MUSE analogové HD televize) definuje YCC s těmito koeficienty:

Koeficienty jsou odvozené ze složek SMPTE 170M a bílého bodu definovaného v normě 240M.

Konverze JPEG

JFIF použití JPEG podporuje upravené doporučení Rec. 601 Y′CbCr kde Y′, CB a CR mají plný osmibitový rozsah [0…255].JPEG File Interchange Format Version 1.02 Následují konverzní rovnice vyjádřené s přesností na šest desetinných míst (přesné rovnice jsou v ITU-T T.871).) V následujícím vzorci je pro každou vstupní složku (R,G,B) použit plný osmibitový rozsah [0…255].

A zpět: