SRGB

CIE 1931 xy chromatický diagram znázorňující gamut barevného prostoru sRGB a umístění primárek. Uprostřed je zobrazen bílý bod D65. Planckův lokus je zobrazen s barevnými teplotami označenými v kelvinech. Vnější zakřivená hranice je spektrální (nebo monochromatický) lokus, s vlnovými délkami zobrazenými v nanometrech (označenými modře). Povšimněte si, že barvy v tomto zobrazeném souboru jsou specifikovány pomocí sRGB. Oblasti mimo trojúhelník nemohou být přesně vybarveny, protože jsou mimo gamut sRGB, proto byly interpretovány. Povšimněte si také, že označení D65 není ideálním černým tělesem o 6500 kelvinech, protože je založeno na atmosféricky filtrovaném denním světle.

Vykreslit intenzity sRGB versus číselné hodnoty sRGB (červená) a sklon této funkce v log-log prostoru (modrá), což je efektivní gama v každém bodě. Pod stlačenou hodnotou 0.04045 nebo lineární intenzitou 0.00313 je křivka lineární, takže gama je 1. Za červenou křivkou je čárkovaná černá křivka ukazující přesný zákon gama = 2.2.

sRGB je standardní barevný prostor RGB, který v roce 1996 společně vytvořily společnosti Hewlett-Packard a Microsoft pro použití na monitorech, tiskárnách a internetu.

sRGB používá ITU-R BT.709 primárky, stejné jako se používají ve studiových monitorech a HDTV, a přenosovou funkci (gama křivku) typickou pro CRT. Tato specifikace umožňovala sRGB přímo zobrazovat na typických CRT monitorech té doby, což byl faktor, který výrazně napomohl jeho přijetí.

Na rozdíl od většiny ostatních RGB barevných prostorů, sRGB gama nemůže být vyjádřena jako jediná číselná hodnota. Celková gama je přibližně 2,2, sestávající z lineárního (gama 1,0) úseku v blízkosti černé, a nelineárního úseku jinde zahrnující 2,4 exponent a gama (sklon log výstupu versus log vstup) měnící se od 1,0 do asi 2,3.

Barevný prostor sRGB byl schválen W3C, Exif, Intel, Pantone, Corel a mnoha dalšími průmyslovými hráči; používá se v proprietárních a otevřených grafických formátech, jako je SVG.

Barevný prostor sRGB je dobře specifikován a je navržen tak, aby odpovídal typickým domácím a kancelářským zobrazovacím podmínkám, spíše než tmavšímu prostředí typicky používanému pro komerční sladění barev.

Téměř veškerý software je nyní navržen s předpokladem, že 8-bit-per-channel obraz soubor umístěný beze změny na 8-bit-per-channel displej bude vypadat podobně, jak specifikace sRGB diktuje. LCD, digitální fotoaparáty, tiskárny a skenery, vše se řídí standardem sRGB. Zařízení, která se přirozeně neřídí sRGB (jako tomu bylo u starších CRT monitorů) obsahují kompenzační obvody nebo software, takže nakonec také dodržují tento standard. Z tohoto důvodu lze obecně předpokládat, při absenci vložených profilů nebo jakýchkoli jiných informací, že jakýkoli 8-bit-per-channel obraz soubor nebo jakékoliv 8-bit-per-channel obraz API nebo rozhraní zařízení může být považováno za být v barevném prostoru sRGB. Když je potřeba RGB barevný prostor s větším gamutem, obvykle musí být využita správa barev pro mapování obrazových dat, aby se zobrazily správně na displeji.

sRGB definuje chromatičnost červených, zelených a modrých primárek, tedy barev, kde jeden ze tří kanálů je nenulový a další dva jsou nulové. Gamut chromatičností, které mohou být reprezentovány v sRGB, je barevný trojúhelník definovaný těmito primárkami. Stejně jako u každého barevného prostoru RGB, pro nezáporné hodnoty R, G a B není možné reprezentovat barvy mimo tento trojúhelník, který je dobře uvnitř rozsahu barev viditelných pro člověka.

Na sRGB displeji by měl každý pevný pruh vypadat stejně jasně jako okolní pruhovaný dither. (Poznámka: je nutné prohlížet v originále, 100% velikost)

sRGB také definuje nelineární transformaci mezi intenzitou těchto primárek a skutečným uloženým číslem. Křivka je podobná gama odezvě CRT displeje. Pro správné zobrazení obrázku sRGB je důležitější tuto křivku replikovat než primárky. Tato nelineární konverze znamená, že sRGB je přiměřeně efektivní využití hodnot v celočíselném obrazovém souboru pro zobrazení úrovní světla rozpoznatelných člověkem.

sRGB se někdy vyhýbá špičkovým tiskovým vydavatelům, protože jeho barevný gamut není dostatečně velký, zejména v modrozelených barvách, aby zahrnoval všechny barvy, které mohou být reprodukovány v CMYK tisku.

Specifikace transformace

Forwardová transformace (CIE xyY nebo CIE XYZ na sRGB)

Prvním krokem ve výpočtu hodnot sRGB tristimulus z hodnot CIE XYZ tristimulus je lineární transformace, která může být provedena maticovým násobením. Číselné hodnoty uvedené níže odpovídají hodnotám v oficiální specifikaci sRGB (IEC 61966-2-1:1999) a mírně se liší od hodnot v publikaci tvůrců sRGB. Všimněte si, že tyto lineární hodnoty nejsou konečným výsledkem.

Všimněte si také, že pokud jsou uvedeny hodnoty barevného prostoru CIE xyY (kde x, y jsou souřadnice chromatičnosti a Y je svítivost), musí být nejprve transformovány na hodnoty tristimulu CIE XYZ pomocí:

Průběžné parametry , a pro in-gamut barvy jsou definovány tak, aby byly v rozsahu [0,1], což znamená, že počáteční hodnoty X, Y a Z musí být podobně škálovány (pokud začnete s hodnotami XYZ jdoucími na 100 nebo tak nějak, vydělte je nejprve 100, nebo aplikujte matici a potom měřítko konstantním faktorem na rozsah [0,1]). Lineární hodnoty RGB jsou obvykle ořezány na tento rozsah, přičemž bílá barva displeje je reprezentována jako (1,1,1); odpovídající původní hodnoty XYZ jsou takové, že bílá je D65 s jednotkovou svítivostí (X,Y,Z = 0,9505, 1,0000, 1,0890). Výpočty předpokládají 2° standardní kolorimetrický pozorovatel.

sRGB byl navržen tak, aby odrážel typický real-world monitor s gama 2,2, a následující vzorec transformuje lineární hodnoty do sRGB. Dovolit být , , Nebo , A být , Nebo :

Tyto hodnoty korigované gama jsou v rozsahu 0 až 1. Pokud jsou požadovány hodnoty v rozsahu 0 až 255, např. pro zobrazení videa nebo 8bitovou grafiku, obvyklou technikou je vynásobení 255 a zaokrouhlení na celé číslo.

Reverzní transformace

Hodnoty komponent sRGB , , jsou opět v rozsahu 0 až 1. (Rozsah 0 až 255 lze jednoduše vydělit 255).

(kde je , , nebo ). Následuje maticové násobení lineárních hodnot pro získání XYZ:

Teorie transformace

Často se nezávazně uvádí, že dekódovací gama pro data sRGB je 2,2, přesto výše uvedená transformace ukazuje exponent 2,4. Je to proto, že čistým efektem postupného rozkladu je nutně měnící se okamžitá gama v každém bodě rozsahu: přechází z gama=1 při nule na gama 2,4 při maximální intenzitě se střední hodnotou blížící se 2,2. Transformace byla navržena tak, aby se přiblížila gama asi 2,2, ale s lineární částí blízko nuly, aby se předešlo nekonečnému sklonu při K = 0, což může způsobit číselné problémy. Podmínkou, že g(K) odpovídá na nějakém K0 je

Řešení s a standardní hodnota přináší dvě řešení, ≈ nebo ≈ . Norma IEC 61966-2-1 používá zaokrouhlenou hodnotu . Pokud však stanovíme podmínku, že směrnice také odpovídá, pak musíme mít

Teď máme dvě rovnice. Když vezmeme dvě neznámé, aby byly a pak můžeme vyřešit dát

Nahrazuje a dává ≈ a ≈ , s odpovídající prahovou hodnotou lineární domény na ≈ . Tyto hodnoty zaokrouhlené na , , a , se někdy používají k popisu převodu sRGB. Publikace tvůrců sRGB zaokrouhlené na a , výsledkem byla malá diskontinuita v křivce. Někteří autoři přijali tyto hodnoty i přes diskontinuitu. Pro standard byla zaokrouhlená hodnota zachována a hodnota byla přepočtena tak, aby výsledná křivka byla spojitá, jak je popsáno výše, výsledkem byla diskontinuita sklonu od 12,92 pod průsečíkem do 12,70 výše.

Specifikace sRGB předpokládá tlumeně osvětlené prostředí pro enkódování (tvorbu) s okolní korelovanou teplotou barev (CCT) 5000 K. Zajímavé je, že se liší od CCT osvětlení (D65). Použití D50 pro oba by způsobilo, že by bílý bod většiny fotografického papíru působil nadměrně modrým dojmem. Ostatní parametry, jako je úroveň svítivosti, jsou reprezentativní pro typický CRT monitor.

Pro dosažení optimálních výsledků ICC doporučuje používat kódovací prohlížecí prostředí (tj. tlumené, rozptýlené osvětlení) spíše než méně přísné typické prohlížecí prostředí.

Vzhledem ke standardizaci sRGB na internetu, na počítačích a na tiskárnách, mnoho low- to medium-end spotřebních digitálních fotoaparátů a skenerů používá sRGB jako výchozí (nebo pouze dostupný) pracovní barevný prostor. Vzhledem k tomu, že gamut sRGB splňuje nebo přesahuje gamut inkoustové tiskárny, obraz sRGB je často považován za vyhovující pro domácí použití. Nicméně CCD na úrovni spotřebitelů jsou typicky nekalibrované, což znamená, že i když je obraz označen jako sRGB, nelze dojít k závěru, že obraz je barevně přesný sRGB.

Obrázky určené pro profesionální tisk prostřednictvím plně barevně řízeného workflow, např. předtiskový výstup, někdy používají jiný barevný prostor, jako je Adobe RGB (1998), který umožňuje širší škálu. Pokud mají být takové obrázky použity na internetu, mohou být převedeny na sRGB pomocí nástrojů pro správu barev, které jsou obvykle součástí softwaru, který pracuje v těchto jiných barevných prostorech.

Dvě dominantní programovací rozhraní pro 3D grafiku, OpenGL a Direct3D, obě obsahují podporu pro sRGB gama křivku.
OpenGL podporuje textury s barevnými komponentami zakódovanými v sRGB (poprvé představeny s rozšířením EXT_texture_sRGB, přidány k jádru v OpenGL 2.1) a vykreslování do framebufferů zakódovaných v sRGB (poprvé představeny s rozšířením EXT_framebuffer_sRGB, přidány k jádru v OpenGL 3.0). Direct3D podporuje textury sRGB a vykreslování do povrchů sRGB počínaje DirectX 9. Správné mipmapování a interpolace textur sRGB má přímou hardwarovou podporu v texturovacích jednotkách většiny moderních GPU (například nVidia GeForce 8 provádí konverzi z 8-bitové textury na lineární hodnoty před interpolací těchto hodnot) a nemají žádnou výkonnostní penalizaci.