Konečně se v našem seriálu o správě barev dostáváme ke color managementu jako takovému. V dnešním dílu se podíváme na color management po teoretické stránce a vysvětlíme si, jak vypadají a fungují ICC profily.
1. Princip color managementu v kostce
Problémem, který se color management pokouší vyřešit, je zachování konsistence vzhledu barev u digitálně reprezentovaného obrazu. Klíčovým zdrojem tohoto problému je skutečnost, že různá vstupní a výstupní zařízení pracují na různých principech, mají různá fyzická omezení a vykazují i variabilitu kus od kusu. Každé zařízení tudíž hovoří vlastním „jazykem“: Různá vstupní zařízení vyprodukují jako odezvu na tutéž barvu různá čísla a stejně tak i různým výstupním zařízením, mají-li vyprodukovat tutéž barvu, je nutno zaslat různá čísla. Stejná čísla v různých barevných prostorech znamenají jiné barvy.
V dřevních dobách digitálního zpracování obrázků se problém jak spolu naučit dvě zařízení komunikovat řešil pro každou dvojici zařízení zvlášť. Např. monitor se nastavil tak, aby obrázky na něm vypadaly pokud možno co nejblíž tomu, jak vycházely z připojené tiskárny, případně operátor na základě zkušenosti věděl, o kolik asi musí být obrázek na monitoru světlejší a víc do červena, aby tentýž obrázek vytisknutý na tiskárně byl akorát. Na mnohých místech podobné postupy přežívají dodnes a mnohdy je to i nejjednodušší cesta, jak požadovaného výstupu dosáhnout. Zásadní nevýhodou takového postupu ovšem je, že se dá úspěšně aplikovat jen u malého, uzavřeného systému, jako je např. domácí počítač v kombinaci s jednou připojenou tiskárnou nebo s jedním konkrétním strojem v labu.
S rozvojem digitální fotografie se ale vynořily velké, otevřené systémy: My uživatelé chceme, aby naše obrázky – ať už jsme je vyfotili jakýmkoli digitálem, naskenovali doma na plochém skeneru z papírové předlohy nebo z filmu a nebo si je nechali naskenovat profesionálně na bubnovém skeneru – vypadaly stejně na celé řadě různých výstupních zařízení, naším vlastním monitorem a domácím inkjetem počínaje, přes komerční tisk či nasvícení na klasické fotografické papíry nebo diapozitivy v kterémkoli labu, až po tisíce monitorů ostatních uživatelů připojených k internetu. Současně také typický komerční lab dnes zpravidla už nepracuje jen pro jednoho velkého zákazníka, ale pro stovky či tisíce malých uživatelů a nemůže si dovolit mít stroje zkalibrované jen pro jednoho z nich. S těmito velkými otevřenými systémy vznikla potřeba vytvoření systematické správy barev – color managementu.
Základní princip systému správy barev je velmi prostý. Color management se totiž skládá v zásadě pouze z následujících dvou věcí:
-
charakterizace barevných prostorů,
-
konvertování obrazových dat z jednoho barevného prostoru do druhého, jak se data přesunují mezi aplikacemi a zařízeními, případně na explicitní přání uživatele.
Systém správy barev proto vyžaduje dvě věci:
-
Musí existovat nějaký standardní způsob, kterým lze barevný prostor každého zařízení nebo na zařízení nezávislý prostor s dostatečnou přesností popsat, který dovolí (v rámci možností) jednoznačně charakterizovat barvy odpovídající všem číselným kódům v tom kterém prostoru.
-
Musí existovat softwarový modul, který výše zmíněnému popisu rozumí a dokáže obrazová data konvertovat z jednoho prostoru do druhého tak, aby barvy byly (pokud možno) zachovány.
První ze dvou výše uvedených úkolů plní ICC profily. Druhou tzv. color engine neboli CMM (color management module či color management method).
Trochu zjednodušeně řečeno, v systému používajícím správu barev vstupní zařízení připojují k datům profil, který popisuje, jaká čísla znamenají jaké barvy, neboli který charakterizuje barevný prostor, ke kterému se tímto zařízením produkované číselné kódy vztahují. Může to být třeba mateřský prostor skeneru, popsaný profilem skeneru, nebo např. některý standardní na zařízení nezávislý prostor jako sRGB. Při importu dat do grafického editoru pak může, ale také nemusí dojít ke konverzi do jiného „pracovního“ prostoru, ve kterém budou data editována. Aby měl obraz zobrazovaný na monitoru správné barvy, jsou při prohlížení a editování obrázků data zasílaná grafické kartě automaticky za pochodu konvertována za pomoci profilu monitoru do jeho mateřského prostoru. Uživatel sám může během editace kdykoli vyvolat konverzi do jiného prostoru. Uloží-li obrázek na disk, uloží se spolu s ním i profil popisující aktuální prostor, v němž se data nacházejí. Pošle-li obrázek na tiskárnu, data jsou za pomoci profilu charakterizujícího mateřský prostor tiskárny zkonvertována do tohoto prostoru, aby tiskárna vyprodukovala správné barvy. Data zkonvertovaná do prostoru tiskárny ale také nemusí být zaslána tiskárně, místo toho mohou být následně zkonvertována do prostoru monitoru a zaslána na displej, aby uživatel získal tzv. „soft proof“ a mohl na obrazovce vizuálně zkontrolovat efekt konverze, při které dojde při tisku.
Každý systém používající správu barev má k dispozici jeden nebo i několik různých CMM, které všechny tyto konverze provádějí. CMM může volat buď libovolná aplikace, která využívá správu barev, nebo driver zařízení.
2. Profile Connection Space
Vzhledem k tomu, kolik barevných prostorů v praxi existuje (co zařízení, to vlastní prostor a ještě se měnící!), tak není reálné mít modul, který by pro každou dvojici prostorů dokázal transformovat obrazová data přímo z jednoho prostoru do druhého. Místo toho se při správě barev data prakticky vždy konvertují ve dvou krocích. Nejprve do třetího, pomocného univerzálního prostoru, který bývá označován jako profile connection space (PCS) a kterým je buď CIE XYZ nebo CIELAB, a odtamtuď pak do cílového prostoru. Pro každý prostor je tak potřeba umět konvertovat data pouze z a do CIE XYZ či CIELABu.
Barevný profil používá k popisu barev příslušících v daném prostoru jednotlivým číselným kódům právě jejich CIE XYZ či CIELAB souřadnice. Funkce profilu je tudíž dvojí. Slouží nejen jako popis prostoru jako takový, ale současně také jako „slovník“ při překladu z a do CIE XYZ nebo CIELABu.
Pokud jste četli díl seriálu, který pojednával o měření barev, tak si teď nutně musíte říct: Moment! Jak se může ke konverzi z jednoho prostoru do druhého používat XYZ tristimulus nebo CIELAB souřadnice, když ty přece přesně necharakterizují barvu, kterou vidíme, protože ta závisí nejen na spektrálním složení barevného podnětu vnímaného naším zrakem, od kterého je XYZ tristimulus odvozený, ale i na spoustě dalších faktorů, jako jsou pozorovací podmínky, stav adaptace našeho zraku, ale třeba i kontext, ve kterém se barva vyskytuje, ať už na primitivní úrovni, v podobě toho, jaké barvy jsou v bezprostředním okolí, až po to, že barvy některých objektů jsou nám důvěrně známé a víme, jak mají normálně vypadat?! Odpověď na tuto otázku je velice jednoduchá. Žádný dokonalejší způsob popisu barev neexistuje, musíme vystačit s tím, co je, a počítat s tím, že správa barev je založená na zjednodušeném modelu, jehož přesnost je omezená.
K tomu, aby se dosáhlo pro většinu účelů uspokojující korespondence, ovšem stačí poměrně málo. Jednak naše paměť, co se barev týká, je dost nepřesná a jsme zvyklí, že za různých podmínek se barvy věcí kolem nás jeví různě, ale také třeba kontext, ve kterém se barva vyskytuje, je automaticky stejný jako u předlohy – obrázek dívky v modrých džínách s červenou cihlovou zdí v pozadí na monitoru zůstane obrázkem dívky v modrých džínách s červenou cihlovou zdí v pozadí i na tiskárně – takže takže v tomto směru nejsou problémy. Lepší korespondence mezi hodnotou XYZ tristimulu nebo CIELAB souřadnic a barvami se dosáhne tím, že se zafixují některé základní faktory, které vnímání barev ovlivňují, jako chromatičnost bílé, na kterou je zrak adaptovaný, úroveň osvětlení apod. Příklad jsme viděli třeba v minulém díle seriálu ve specifikacích sRGB prostoru.
ICC standard pro CIE XYZ a CIELAB coby PCS předpokládá, že hodnoty odpovídají barvám, jak bychom je viděli na předloze odrážející světlo (čili na papírovém obrázku), nasvícené pod úhlem 45 stupňů a pozorovaném ve směru kolmém k předloze při osvětlení o síle 500 luxů standardním iluminantem D50. S tímto iluminantem jsme se setkali již v předchozích částech – modeluje denní světlo o barevné teplotě 5000 K a je běžným standardem při posuzovnání barev reflexních předloh. Jiné barevné prostory mohou uvažovat odlišné pozorovací podmínky. Mnohé např. předpokládají, že zrak je adaptovaný namísto iluminantu D50 na iluminant D65, modelující denní světlo o barevné teplotě 6500 K (speciálně třeba některé „monitorové” RGB prostory, protože monitor s bílým bodem nastaveným na 6500 K je jasnější a uživatelé tomuto nastavení často dávají přednost). V takovém případě je potřeba při konverzi z/do CIE XYZ nebo CIELABu hodnoty současně ještě transformovat tak, aby odpovídaly uvažovaným pozorovacím podmínkám.
Ke změně uvažované chromatické adaptace se používá model v podobě lineární transformace, tj. vynásobení XYZ vektoru jistou maticí o velikosti 3×3. Existuje více takových transformací modelujících barevnou adaptaci zraku (prostý posun, Von Kriesova a Bradfordova transformace), přičemž za nejlepší je v současnosti považována Bradfordova transformace. Všechno jsou to ale jen přibližné modely. Žádná takováto transformace totiž např. není schopná zachytit to, že některé objekty, které jsou při jednom osvětlení metamerické, čili jeví se být přesně téže barvy, při jiném osvětlení barevně shodné nejsou. (Což je u barviv používaných při reprodukci barev krajně nežádoucí, ale naopak se to v praxi s výhodou používá třeba. pro kontrolu předepsaného osvětlení – je-li světlo správné, jeví se speciální barevná tabulka, která ke kontrole slouží, jednobarevná, pokud ale osvětlení neodpovídá požadavkům, jsou na ní vidět různobarevné pruhy).
Příklad: Transformace ze sRGB do CIE XYZ uvedená ve specifikacich sRGB prostoru (viz minulý díl seriálu) zahrnuje lineární transformaci
Tato transformace převede normalizovanou bílou R=1, G=1, B=1 na XYZ tristimulus X=0.9505, Y=1.0000, Z=1.0891. Chromatické souřadnice tohoto tristimulu jsou x=0.3127, y=0.3290, což je chromatičnost iluminantu D65. Musí tomu tak být, jelikož bílý bod sRGB prostoru je právě D65, neboli D65 se uvažuje jako iluminant, na který je zrak adaptovaný a jehož světlo tudáž divák bude vnímat jako bílé. V barevném profilu sRGB ale musí být transformace jiná, protože u CIE XYZ coby PCS se předpokládá adaptace na iluminant D50. Tato transformace musí normalizovanou bílou R=1, G=1, B=1 převádět na tristimulus s chromatickými souřadnicemi x=0.3457, y=0.3585 (což je chromatičnost iluminantu D50). Bradfordova lineární transformace, která modeluje posun barev při změně chromatické adaptace z D65 na D50 vypadá následovně:
Lineární transformace pro konverzi ze sRGB do PCS se získá složením lineární transformace z RGB do CIE XYZ souřadnic uvedené ve specifikacích sRGB a Bradfordovy transformace,
Matice transformace uvedená v profilu sRGB je tudíž součinem matic obou těchto transformací,
3. ICC profily
Profily jsou pasivní komponentou systému správy barev. Profil sám neprovádí žádnou činnost – je to čistě jenom popis barevného prostoru, případně obsahuje i nějaké další informace týkající se konvertování z a do tohoto prostoru, kalibrace zařízení apod. International Color Consorcium (ICC) je mezinárodní sdružení založené skupinou výrobců v roce 1993, které vytvořilo jednotný standard pro barevné profily, nezbytný k tomu, aby profily byly univerzálně použitelné – stejné pro všechny platformy a zařízení a srozumitelné pro všechny CMM.
Profil je soubor, ve kterém prvních 128 bytů je hlavička, za ní následují 4 byty, kde je zaznamenaný počet tzv. „tagů“ – položek profilu obsahujících různé informace, a po nich pak tabulka obsahující seznam adres jednotlivých tagů (12 bytů pro každý tag). Zbytek profilu jsou samotné tagy. V závislosti na tom, o jaký typ profilu se jedná, některé tagy jsou povinné, jiné volitelné. Nejdůležitější jsou „AToB“ a „BToA“ tagy, což jsou ony vlastní „slovníky“ pro konverzi do a z PCS. S anatomií profilu se můžete blíže seznámit, když nahlédnete do ICC standardu.
Vzhledem k tomu, že u obrázků není jednoduše od pohledu patrné, v jakém přesně prostoru jsou kódované, tak k tomu, aby obrazová data byla interpretována správně, je zapotřebí, aby obrazovým datům byl vždy přiřazený profil, který příslušný prostor charakterizuje, neboli profil dat. Profil může být k datům buď explicitně připojený, nebo se může nějaký profil implicitně předpokládat. Aby bylo možné správně interpretovat obrazová data vytvořená vstupními zařízeními a aby výstupní zřízení aby produkovala výstupy, jejichž barvy vypadají tak, jak mají vypadat, je zapotřebí znát chování daného zařízení. To je popsané barevným profilem zařízení.
Poznámka: Jak už bylo naznačeno výše, profily dat a zařízení nejsou dvě principiálně různé věci. Je to v obou případech charakterizace nějakého barevného prostoru a jde čistě jen o to, jak je profil momentálně použitý. Pokud např. naskenujeme obrázek na skeneru vybaveném profilem (a nepřevedeme ho ihned do jiného prostoru), je pak profil skeneru současně profilem dat. Stejně tak při přípravě podkladů pro tisk můžeme data předem explicitně zkonvertovat do barevného prostoru tiskárny, která má být k výstupu použita, popsaného profilem tiskárny, čímž se profil tiskárny stane profilem dat.
Vzhledem k tomu, že u různých typů zařízení se profil používá různým způsobem, tak se struktura profilů různých typů zařízení poněkud liší. U vstupních zařízení, která stojí na samém začátku řetězce, je například zapotřebí umět hodnoty konvertovat pouze jedním směrem – z prostoru zařízení do PCS. Tyto profily proto mohou být jednosměrné – umožňující převod právě jen tímto jedním směrem. Výstupní zařízení vyžadují naproti tomu profily obousměrné, umožňující převod z i do PCS. Výstup sám o sobě, aby měl správné barvy, sice vyžaduje pouze převod z PCS do mateřského prostoru a možnost převodu opačným směrem se může zdát na první pohled zbytečná, ale ve skutečnosti je to jedna z nejužitečnějších věcí, kterou systematická správa barev přináší. Obousměrnost profilu totiž umožňuje simulaci vzhledu výstupu z tiskárny nebo jiného zařízení na monitoru (tj. soft proofing). Zcela zvláštní kategorií jsou pak profily displejů. Vzhledem k tomu, že monitor slouží současně jako vstupní zařízení (obrazem na monitoru se řídíme při editování) i výstupní zařízení (tj. pro zobrazení výsledku), musí být profil monitoru přirozeně obousměrný. Má však i další specifika, např. může obsahovat i informace o kalibraci monitoru apod.
Profily lze klasifikovat podle jejich struktury i jiným způsobem. Podle toho, jak je převodní vztah mezi prostorem profilu a PCS vyjádřen, profil může být trojího druhu:
Buď je převodní vztah mezi prostorem, který profil popisuje, a PCS daný prostřednictvím matematického vzorce – jako třeba u sRGB ve výše uvedeném příkladě. Vzhledem k tomu, že hlavní součástí je lineární transformace vyjádřená maticí, hovoří se v tomto případě o profilech maticových. Nebo profil obsahuje vyhledávací tabulky pro převod jedním či oběma směry a je to tzv. tabulkový profil. ICC standard 4.0 dovoluje rovněž hybridní profily, které v sobě oba předchozí typy navzájem kombinují.
Hlavní výhodou maticových profilů je, že jsou velmi malé (méně než 1KB). Hlavní součástí je, jak už bylo řečeno, 3×3 matice lineární transformace mezi třemi primárními barvami prostoru charakterizovaného profilem a CIE XYZ souřadnicemi (viz příklad výše). Kromě toho profil obsahuje ještě jedno či více čísel charakterizujících nelinearitu tonálních křivek (gama). Tento typ profilu je možné použít pouze pro prostory založené na třech primárních barvách, u nichž je tonální křivka dostatečně jednoduchá, jako jsou např. prostory skenerů a CRT monitorů nebo na zařízení nezávislé RGB prostory. Pro složitější zařízení, jako jsou třeba tiskárny, takovýto jednoduchý model nebývá dostatečně přesný.
Profily založené na vyhledávacích tabulkách je naproti tomu možné použít pro libovolné zařízení, bez ohledu na počet barevných kanálů a komplexitu tonálních křivek. Jako PCS se u nich používá CIELAB. Jejich hlavní nevýhodou je jejich velikost – profil může mít i několik MB. Další nevýhodou je nutnost interpolace. Kdyby vyhledávácí tabulka obsahovala převodní hodnoty pro všechny barvy prostoru (kterých je i u pouhého klasického RGB prostoru s osmibitovými kanály 16,7 miliónu), tabulka by zabírala desítky nebo i stovky MB. Profil totiž obvykle obsahuje tabulek hned několik, jednak protože většina profilů obousměrná a obsahuje tabulky pro konverzi jak do tak i z CIELABu a druhak obsahuje separátní tabulky pro různé záměry při konverzi – o tom si povíme více za chvíli. V reálu tudíž každá tabulka může obsahovat hodnoty pouze pro jistý menší počet barev a pro zbylé barvy je potřeba převodní hodnotu dopočítat prostřednictvím interpolace. Interpolace je nezbytná i při vytváření profilu. Počet barev, pro které profil hodnoty explicitně obsahuje, není pevně stanoven a různé programy na vytváření profilů mohou dávat velice odlišné výsledky. Profil může být buď kompaktní, s tabulkami založenými jen na několika málo bodech, pak ale není příliš přesný a při konverzi je potřeba hodně dopočítávat a hádat, nebo může být přesnější a obsahovat hodnoty pro větší množství barev, pak ale zase zabere hodně místa.
I u jednoho a téhož profilu mohou být při konverzi výsledky trochu jiné, v závislosti na tom, který CMM (color engine) konverzi mezi prostory provádí. Výsledky se liší podle toho, jak sofistikovanou interpolaci tabulkových hodnot CMM používá (a také jak nakládá s barvami mimo gamut). Jednoduchá klasická interpolace použitá přímo v CIELABu, totiž nedává nejlepší výsledky, protože CIELAB není dokonale perceptuálně rovnoměrný. Autoři CMM proto používají různé triky, které se snaží nerovnoměrnost CIELABu eliminovat – od nejrůznějších kompenzací při interpolaci, přes speciální perceptuálně rovnoměrnější pomocné prostory, do kterých se hodnoty za účelem provedení interpolace z PCS převádí, až po speciální vlastní PCS, které profily mohou podporovat vedle povinného CIEXYZ nebo CIELABu.
Poznámka: Známým problémem způsobeným perceptuální nerovnoměrností CIELAB prostoru je například zfialovění modré oblohy při tisku. Je způsobené tím, že barvy, které v CIELAB souřadnicích leží na přímce procházející počátkem, by teoreticky sice měly mít stejný barevný tón, ale v oblasti modrých (ale třeba také i oranžových) tónů tomu tak docela není. Při přímočaré kompresi barev obrazu do gamutu tiskárny pak dojde nejen k snížení saturace, ale i k nežádoucí změně barevého tónu. (Podrobnější vysvětlení včetně grafického znázornění lze nalézt např. na stránkách Bruce Linblooma.) Kromě toho pak jsou navíc také barvy a Barvy. Obecně naše paměť sice není, co se barev týká, příliš přesná, existují ale Barvy, o kterých máme hluboce zakořeněnou představu, jak mají vypadat – jako například barva pleti nebo právě barva modré oblohy. U nich jsme na odchylky od správného barevného tónu daleko více citliví, některými směry obzvlášť.
Shrnuto a podtrženo, nejen různé profily pro totéž zařízení, ale i různé kombinace profilů a konverzi provádějících modulů mohou fungovat různě dobře. Systém často má k dispozici několik různých CMM (např. CMM vlastní operačnímu systému, Adobe CME, který jsme dostali s Photoshopem, případně i další). Profil může obsahovat záznam o tom, který modul s ním má být defaultně použit, je-li tento modul k dispozici a nezvolil-li uživatel explicitně jiný. To dovoluje automatické použití CMM, který dovede využít různé speciální informace, které může profil obsahovat, je-li tento CMM k dispozici. Na druhou stranu, ponecháte-li volbu CMM na automatice, tak nikdy nevíte, který CMM byl použit, což v případě, že výsledky nevypadají tak, jak byste chtěli, může být problém. Proto bývá často doporučováno zvolit si natvrdo jeden CMM, který budete používat, a s jinými experimentovat pouze tehdy, když ten zvolený nefunguje dostatečně dobře.
4. Záměr
„Dobře“ může v různých situacích znamenat něco jiného. Použijeme-li přirovnání k překladu z jednoho jazyka do druhého, tak dobrý překlad technického manuálu nebo vědecké publikace splňuje jiná kritéria než dobrý překlad Shakespeara. V obou případech je samozřejmě potřeba zachovat celkový smysl textu, ale zatímco v prvním případě je hlavním kritériem maximální přesnost obsahu do všech detailů, v tom druhém je to spíše estetické působení přeloženého textu. Podobně je tomu i u reprodukce barev. Proto je možné při konverzi z jednoho barevného prostoru do druhého deklarovat záměr. Je možné ho buď při konverzi zvolit explicitně nebo je volba implicitní, v podobě defaultu daného profilem. ICC standard rozeznává následující čtyři možnosti:
-
relativní kolorimetrický: Reprodukuje ty barvy, které jde reprodukovat, přesně, barvy mimo gamut se ořežou a nahradí pokud možno co nejbližším reprodukovatelným odstínem. Bere v úvahu, že oko se adaptuje na bílý bod média – tj. zajistí, aby bílá na vstupu byla bílá i na výstupu tak, že bílý bod zdrojového profilu namapuje na bílý bod uvedený v cílovém profilu.
-
absolutní kolorimetrický: Funguje podobně jako relativní kolorimetrický, ale neprovádí se transformace bílé, tj. např. namodralá bílá monitoru je pak na nažloutlém papíru simulovaná pomocí modré barvy.
-
perceptuální: Místo snahy o pokud možno přesné zachování těch barev, které zachovat lze, se snaží zachovat vzájemné vztahy mezi barvami. Místo toho, aby barvy obsažené v gamutu cílového prostoru byly zachovány přesně a ty, které jsou mimo gamut, byly ořezány, transformují se všechny barvy tak, aby se výsledek vešel do cílového gamutu (tj. dochází k úmyslnému posunu barev) – cílem je zabránění vzniku nepřirozených jednolitých ploch, zachování plynulých přechodů atd.
-
saturace: Cílem je v tomto případě zachování co nejvyšší saturace (sytosti) barev, bez ohledu na věrnost barevného tónu.
Pro práci s fotografiemi je obvykle nejvhodnější volit relativní kolorimetrický nebo perceptuální záměr. Pokud se jedná o převod mezi prostory s víceméně podobným gamutem nebo o převod obrázku, který obsahuje spíše pastelové, méně saturované barvy, relativní kolorimetrický záměr barvy přesněji zachová a poskytne tak lepší výsledky. Perceptuální záměr je vhodný především v případech, kdy se barvy konvertují do prostoru s výrazně menším gamutem a obrázek obsahuje větší množství sytých barev, které jsou mimo gamut cílového prostoru. Absolutní kolorimetrický záměr se může hodit pro vytváření náhledů na odlišném médiu (proofing). Volba záměru saturace není vesměs pro fotografické účely vhodná, hodí se spíš pouze pro některé typy grafiky (schémata, grafy, text apod.).
Profil zdaleka nemusí podporovat všechny čtyři jmenované záměry. Specialne maticové profily založené na matematickém vzorci např. umožňují pouze relativní a absolutní kolorimetrický záměr. Transformace zaznamenaná v profilu odpovídá relativnímu kolorimetrickému záměru (bílá v daném prostoru je namapována na bílou v PCS s chromatičností D50 a naopak). Absolutní kolorimetrický záměr se provádí dodatečným zpětným ztransformováním bílého bodu pomocí již zmíněné Bradfordovy transformace. Mezi volbami záměru perceptuální a relativní kolorimetrický v tomto případě není žádný rozdíl – v obou případech se totiž provede konverze s relativním kolorimetrickým záměrem.
5. Profilování a kalibrace
Použijeme-li opět přirovnání barevných prostorů k jazykům, pak – jak už bylo zmíněno výše – profil je cosi jako slovník. Může být dokonce podobně jako slovník jedno nebo obousměrný. Velmi důležité je si uvědomit, že jazyk není slovník a naopak. Slovník jen zachycuje slovní zásobu v určitém stádiu vývoje jazyka a činí tak s větší nebo menší přesností. Se slovníkem sto let starým, který obsahuje slova a slovní tvary dnes už dávno nepoužívané a slova v zastaralých významech, zato ale neobsahuje spoustu termínů, které dnes běžně používáme, současný text přesně nepřeložíme. Šance, že překlad bude dostatečně přesný, také není nijak valná, máme-li k dispozici pouze malý kapesní slovníček nebo slovník, s jehož přesností si autoři nedali příliš práce. Podobně také profil
-
popisuje chování zařízení v jistém daném okamžiku, kdy byl profil vytvořen,
-
i v tomto momentu je různě přesný, protože obsahuje převodní hodnoty jen pro limitovaný počet barev a navíc tyto hodnoty byly obdrženy za pomoci měření, která mohou být různě přesná.
To, jak je profil užitečný tudíž závisí na dvou věcech:
-
do jaké míry se zařízení chová stejně jako v době vytvoření profilu,
-
jak je profil přesný v době pořízení.
Čili je zapotřebí mít kvalitní profil, ale vedle toho je také nutné mít zařízení správně zkalibrované, tak aby to profilu odpovídalo. Některá zařízení hodně driftují a je potřeba je kalibrovat a profilovat často, jiná jsou stabilnější a uživatel je třeba dokonce ani sám kalibrovat nemůže.
Kalibrace a profilování zařízení jsou dvě zcela různé a na sobě nezávislé činnosti, jejichž provádění má za cíl u každé z nich něco jiného. Řada lidí v tom má trochu zmatek, patrně protože u monitoru, což je zařízení, u kterého si nejvíce lidí vytváří svoje vlastní profily, software pro tvorbu profilu pomáhá monitor rovněž i zkalibrovat a kalibraci spolu s tvorbou profilu uživatel provádí většinou najednou, v jednom kroku. Kalibrace ale není nic jiného než prosté uvedení zařízení do nějakého žádoucího stavu, jehož cílem je zajistit, aby se zařízení chovalo určitým způsobem – např. aby jako odezvu na hodnoty 255, 255, 255 monitor opravdu vyprodukoval bílou se zvolenou chromatičností, tj. aby byl správně nastavený bílý bod monitoru. Kalibrace tudíž ovlivňuje chování zařízení. Vytvoření profilu je naproti tomu čistě jen zhotovením popisu toho, jak se zařízení v tom kterém stavu chová. Existence takového popisu chování zařízení nijak nezmění, pouze umožňuje posílat zařízení správné hodnoty, tak aby zařízení produkovalo požadovaný výstup, nebo správně interpretovat hodnoty, které zařízení produkuje.
Poznámka: Jako většina pravidel, i toto pravidlo má jednu výjimku a tou jsou profily monitorů. Přesněji řečeno profily displeje, jelikož se nejedná pouze o samotný monitor, ale současně též i o video driver a videokartu. Při kalibraci displeje se mění nejen analogová nastavení monitoru (kroucením čudlíky na monitoru nebo jejich mačkáním), ale také se upravují tabulky ve videokartě. Profil displeje může obsahovat tzv. „vcgt“ tag, který zaznamenává data týkající se kalibrace displeje (konkrétně gama, případně i korekci bílého bodu). U Mac OS při naloadování profilu displeje, který tento tag obsahuje, dojde automaticky k nahrání obsahu tohoto tagu do tabulek ve videokartě a potažmo může dojít ke změně chování displeje. (Windows to, aspoň prozatím, nedělají.)
6. Principiální limity a úskalí správy barev
Color management není všemocný. Většina hlavních problémů a omezení již byla v tomto nebo v předchozích dílech seriálu zmíněna, ale zrekapitulujme si je tu ještě jednou, všechny pěkně pohromadě.
-
Barevné vidění je vysoce komplikovaný proces a barva je subjektivní vjem, závislý na mnoha faktorech. Objektivní měření barev je založené na zjednodušeném modelu, jehož platnost a přesnost je omezená. Color management tato omezení nutně dědí.
-
Cílem správy barev je uspokojivé zachování barev. Absolutní zachování barev je nereálné. Navíc ne úplně vždy je co nejpřesnější zachování barev žádoucí a color management aplikovatelný.
-
Gamuty barevných prostorů založených na malém počtu reálných primárních barev nemohou obsahovat všechny reálné barvy. Nahrazování barev mimo gamut jinými barvami je při konvezích mezi prostory nevyhnutelné.
-
Tabulkové profily nemohou obsahovat převodní hodnoty pro všechny barvy, ale jen pro malé procento z nich. Stejně tak při profilování zařízení nelze provést měření pro všechny barvy či všechny číselné kódy. Proto jak při konverzi z jednoho prostoru do druhého, tak i při vytváření profilů hraje významnou roli interpolace, kterou bohužel komplikuje perceptuální nerovnoměrnost CIELAB prostoru.
-
Fyzická zařízení mají fyzické limity. Měřící zařízení pracují s omezenou přesností, vstupní a výstupní zařízení dovolují kalibraci pouze v jistých směrech a s jistou přesností a s časem více či méně driftují od stavu zaznamenaného v profilu.
Vezme-li se tohle všechno v úvahu, je až obdivuhodné, že správa barev vůbec funguje. Nicméně funguje. Je ovšem třeba mít nohy na zemi a neočekávat nemožné.
To je pro dnešek všechno. Příště se budeme zabývat praktičtějšími aspekty color managementu.
Diky!
Skvelej clanek, Radko! Nazorne vysvetleno a zaroven navysoke odborne urovni. Jen tak dal.
Super!!! Jen tak dál.
.
A jak je to s jasem?
Dekuji za moc hezky clanek. Za zvlast uzitecny povazuji odkaz na popis formatu souboru ICC profilu (skoda jen, ze nemam cas jej studovat :-)).
Jiz delsi dobu si lamu hlavu s problemem castecne obdobnym problemu verneho podani barev -jak zajistit verne podani pomeru jasu. Tato otazka je myslim dost opomijena. Mnoho lidi mluvi o vernosti barev, ovsem o prevodnich krivkach pro jasovou slozku (napriklad v prostoru CIE-Lab) jsem se toho zatim mnoho nedozvedel. I Vy se ho dotykate jen okrajove. Myslim, ze by to bylo take vhodne tema na clanek.
Pozoruji napriklad snahu vyrobcu dig. fotoaparatu po zvyseni dynamickeho rozsahu a zajimalo by me v te souvislosti, zda si programy, jako napr. Photoshop, dokazi s takovymi obrazky poradit. Pokud by se takovy program snazil zobrazit na obrazovce cely rozsah zaznamenanych urovni jasu, nebude prece zobrazeni na monitoru odpovidat skutecnosti! Monitor ma prece dosti omezeny rozsah jasu. Umoznuje napriklad ten Photoshop pouzit pro zobrazeni na obrazovce jen cast rozsahu jasu zaznamenanych v obrazku s velkym dynamickym rozsahem (vetsim, nez ma monitor)?
Dovolil bych si mit na Vas, Radko, jeste dalsi konkretni dotaz: kdyz jasove slozky 2 bodu v obrazku zaznamenanem v prostoru CIE-Lab budou mit hodnoty, dejme tomu, p a q, jak vypocitam pomer jasu, ktere tyto body mely ve fotografovane scene, nebo maji mit na papire po vytisteni? Chtel bych znat vzorecek.
Jeste jednou dekuji za hezky clanek a tesim se na pripadnou diskusi na mnou nadnesene tema.
David K.
RE: A jak je to s jasem?
Problem, ktery zminujete – prevod vystupu z chipu s vetsim dynamickym rozsahem do dynamickeho rozsahu monitoru – souvisi se spravou barev pouze castecne. Alespon se spravou barev v tom smyslu, jak se tento termin dnes pouziva, tj. vytvareni a pouzivani ICC profilu. Za prve je takovato sprava barev u digitalnich fotoaparatu pouzitelna pouze pomerne zridka, jelikoz vytvoreni a pouzivani profilu predpoklada zachovani identickych svetelnych podminek a zpusobu snimani. Za druhe je pri sprave barev prevod jasu vzdy relativni – bily bod se automaticky mapuje zase na bily bod, tj. dynamicky rozsah se zcela automaticky uzpusobuje tomu kteremu mediu (z obrazovky monitoru na papir aj.). Vzhledem k principialnim odlisnostem medii a adaptacnim schopnostem lidskeho zraku absolutni prevod jasu nema prakticky smysl. Vsimnete si, ze i samy XYZ a Lab hodnoty jsou jen relativni – vztazene k bile idealniho difuzniho reflektoru za danych podminek. Za treti vystup z fotoaparatu (nebo softwaru konvertujiciho raw data z fotoaparatu dodatecne na pocitaci) bude jiz vystup v sRGB nebo podobnem prostoru, tak jako je tomu u stavajicich fotoaparatu. Vystup z chipu je potreba **vzdy** upravit a aplikovat jakousi prevodni krivku na jasovou slozku, aby obraz na mediu jako je obrazovka nebo papir, ktere ma vyrazne mensi dynamicky rozsah nez snimana scena, vypadal pro nas tak, jako puvodni scena. Tato uprava je ovsem vnitrni zalezitosti software fotoaparatu/raw convertoru a nema celkem nic do cineni se spravou barev za pomoci ICC profilu. Tento problem inzenyri resili jiz davno pred vznikem color managementu, v souvislosti s barevnou televizi. Pokud se chcete o problematice transformace jasu sceny snimane chipem na jas obrazu na monitoru dozvedet vice, muzete nahlednout napr. do knihy Giorgianni, Madden: “Digital Color Management: Encoding Solutions”. (Naopak, pokud vas zajima color management ve smyslu pouzivani ICC profilu, pak tuto knihu rozhodne nedoporucuji).
RE: RE: A jak je to s jasem?
Dekuji za obsahlou odpoved.
Myslim ale, ze asi doslo k mirnemu nedorozumeni. Je mi jasne, ze absolutni prevod jasu nema smysl (tezko muzeme napriklad chtit po papiru, na kterem je vytisten snimek z jasneho slunecneho dne, aby svitil). Nejsem si ale jist, zda soucasna technika vubec umoznuje zachovani pomeru jasu. Dam priklad. Fotografuji-li plosnou predlohu, ve ktere 2 mista maji odrazivosti napr. 0.8 a 0.3, tedy pomer 2.66, chtel bych, aby na vysledne fotografii byl opet pomer odrazivosti odpovidajicich mist 2.66, at jiz to je 0.8 a 0.3, nebo napriklad 0.5 a 0.187, nebo 0.9 a 0.338 atd. Uvazuji jednoduzsi pripad -cernobilou fotografii. Jsou prevodni krivky nejak normalizovany? A jsou pripadne normy v praxi vyrobci dodrzovany?
Mnozi mozna namitnou, ze verne zachovani pomeru jasu nakonec stejne neni dulezite, dulezite je, zda obrazek je hezky. Co ale oblast informativni fotografie, napriklad reprodukce obrazu, nebo vedecka fotografie?
Po te knize se zkusim podivat.
Dekuji
David K.
RE: RE: RE: A jak je to s jasem?
Pozadavek, aby byl zachovan pomer pro libovolnou dvojici hodnot, splnuje kazda linearni transformace y=mx, kde m je libovolna konstanta. Pokud zustaneme u spravy barev jako takove, tak to, ze se zachova XYZ tristimulus, znamena prave to, ze se jas v ramci dynamickeho rozsahu jednoho zarizeni linearne ztransformuje do rozsahu zarizeni druheho (jelikoz XYZ tristimulus je relativni, linearne skalovany), tj. pomer jasu je za techto okolnosti zachovan. Pokud jde o to, jak se hodnoty jasu snimane prirozene sceny ztransformuji na hodnoty jasu na mediu s mensim dynamickym rozsahem jako obrazovka nebo papir, pak linearni transformace (neboli transformacni krivka s gama rovnym 1) obecne neni zadouci. Zalezi totiz na absolutni urovni jasu – pri jejim vyraznem snizeni (k cemuz pri reprodukci at na papire, tak na obrazovce dochazi) je zapotrebi zvysit kontrast, jelikoz jinak obrazek vypada prilis mdly. Jak je tomu s normami v teto oblasti nevim, nicmene napr. zobrazovani fotografii na monitoru se celkem nelisi od barevne televize, pro kterou standardy existuji. Vzhledem k tomu, ze digitalni data lze libovolne transformovat, vyrobit jakoukoli prevodni krivku pro jas – at uz s gama rovnym 1 nebo jinym – neni problem.
K prenosu pomeru jasu
No, ja nevim jestli je to zadouci zachovavat ten pomer. Uvedomuju si, ze se tady pohybuju na velice tenkem lede a muzu se velmi snadno mylit. Nicmene vezmete tento priklad:
Originalni scena ma rozsah jasu 1:1000. Jde vam o zaznamenani dvou elementu, ktere prave lezi na krajich toho spektra, cili jejich rozdil v jasech je 1 a 1000. Papir pro tisk je schopen zaznamenat maximalne 1:80. Jak tedy tyto elementy na papire zaznamenate tak, aby byl pomer jasu zachovan? Ja myslim, ze jedine tak, ze ten pomer zmenite z 1:1000 na 1:80…
RE: K prenosu pomeru jasu
toMirek:
Jo, takhle to taky funguje… ale lze to udělat i mnoha jinými způsoby.
Poměrně často se vychází z předpokladu, že uvedené krajní hodnoty zmíněného rozsahu nejsou tak “informačně důležité” pro průměrného pozorovatele(a to vy nejste), jako ty hodnoty které leží mezi nimi (říkejme jim střední).
No a pak už je jen krůček k tomu abychom ty “informačně Nedůležité” hodnoty pustily “jednouprovždy” k vodě a výsledkem bude fotka kde je poznat kdo je kdo, ale v obvyklém případě ta vyfocená žárovka nebude svítit jako ta opravdová (což je v souladu s poměry kontrastů které jste uvedl).
Modelů jak reálnou scénu převést “na papír” je více a každý si může svobodně a nezávisle navrhnout svuj vlastní způsob.
Mimo jiné to vede k tomu že některým uživatelům nevyhovují standardní metody používané v CMS postaveném na ICC a proto ho zavrhují a nepoužívají(nebo alespoň na něj nadávají).
Zatim zdar
La*b* prostor, editace a gama
Ahoj Radko,
přečetl jsem si tvoje povídání o CMS, na jaře už i tu knížku o CMS autorů Frasera, Murphyho a Buntinga “Správa barev” a navštívil i pár seminářů na tohle téma a přesto bych měl bych pár dotazů – pokud to už tady náhodou nepadlo:
1/
doporučuješ (po popisu barevných prostorů) pro editaci obrázku raději Lab prostor nepoužívat. Ale na několika zdrojích se doporučuje např. pro upravu digitálního šumu obrázku použít převod do Labu a po úpravách zpět. Pokud tedy nejde ten šum upravit jinak než přes ten Lab, bylo by menší chybou ještě před převodem obrázek (pokud již takový není), převést z 8 bitu na víc – podle toho, co umožní grafický editor?
2/
upgradoval jsem firmware u svého skeneru a v nabídce možných barevných prostorů, do kterých se dá skenovat, se objevil i přímo barevný prostor skeneru, který určitě z výrobních důvodů není sRGB ani Adobe RBG. Zkoušel jsem si pár negativů, které znám, naskenovat současně do AdobeRGB i RGB skeneru a v některých záběrech vycházely skeny lépe než v Adobe RGB.
Znamená to tedy, pokud se neskenuje diák, kde už barevnost je daná, neznámý negativ zkusit naskenovat do více prostorů a pak vzít ten, který se zdá nejlepší?
Neznámým negativem myslím i např. můj vlastní negativ, který je jenom vyvolaný a ke skenu se dostanu až za hodně dlouho dlouho…
3/
Gamma při skenu?
Normálně se používá 2,2, že? Ale na stránkách myslím Dona Hutchensona (http://www.hutchcolor.com) jsem se dočetl, že to nemusí platit. Také jsem si dělal pokusy a opravdu někdy to bylo lepší nastavit víc nebo míň. Nemáš pro tohle nějaké zobecnění – jako kdy a proč?
Promiň, že tě tím obtěžuji, ale pan Navrátil z Grafiky z jeho poradny mi na tohle už neodpověděl, protože jsem byl z jeho poradny vyobcován pro “neposlušnost”.
Díky za případnou fundovanou odpověď.
Miloš Vorel
RE: La*b* prostor, editace a gama
Ahoj Milosi,
1) Vzhledem k tomu, ze v Labu jen asi 35% ciselnych kodu odpovida realnym viditelnym barvam a z nich pak jeste hromada je mimo gamut prostoru jako sRGB apod., tak pri konverzi z RGB do Labu v 8mi bitech se rada barev musi vzajemne slit (vysledny pocet barev je citelne mensi). Prevod do 16ti bitu by tomu mel do znacne miry zabranit – vic tonu tim samozrejme nevyrobis, ale v Labu mas pak k dispozici vetsi “rozliseni” (tim myslim barevnou hloubku, ne dpi) a barvy se tudiz neslejou do tak maleho poctu.
2) a 3) Cilem spravy barev je pokud mozno co nejlepsi zachovani barev. U skenovani z negativu je potreba obraz invertovat, odstranit masku a tak, takze sprava barev tu zcela postrada smysl. Volba barevneho prostoru, jehoz profil je prirazen datum, ktera skener vyplivne, je vpodstate otazka osobniho vkusu. Jak se ktery prostor bude libit muze pochopitelne zalezet na konkretnim zaberu. Presne totez podle me plati i pro nastaveni gama. Jinymi slovy, musis si sam najit nastaveni, ktera tobe osobne budou vyhovovat. Moc jsem ti nepomohla co? 🙂
RE: -> La*b* prostor, editace a gama
Ba ne, díky, pomohla. Jako v klasické fotografii, kterou jsem vystudoval a něco z teoretických i praktických základů vím (to si fandím, co?), tak zjišťuji, že i v té digitální je moc dobré o tom i něco podstatného teoretického vědět, abych nebyl odkázaný jen na “čudlíkování” či nerovný boj s automatikou tu digitálu, tu skeneru či tiskárny apod. A pokud mi v začátcích mého skenování někdo říkal, že dobrý sken může být časově náročná operace, tak teď už vím, proč – jen se to těžko vysvětluje těm, kterým stačí čudlíky “automatic” :o(.
ať se daří.
Miloš
Díky Radko.
Radko,
přečetl jsem si zpětně ještě některé další tvoje články a klobouk dolů nejen před tvýma znalostma, ale hlavně schopností ty informace srozumitelně předat dál – nehledě na to, jaké obrovské množství času a energie v tom je. Některé reakce “některých” jsou hloupé, nenech se tím znechutit. Kdo si myslí, že ve fotografii žádné další technické vědomosti už nepotřebuje, protože jeho “umění” to nepotřebuje, hluboce se mýlí!!!
Miloš
Definice digitálního obrazu
Vážená Radko, přečetl jsem si se zájmem a uznáním Vaše články, s obdivem zaregistroval místa která jste již stačila navštívit i prohlédl pěkné fotografie s Karkulou.
Fotografie mě velice zajímá – i když se k vlastnímu fotografování moc nedostanu. Rád bych si ujasnil některé základní věci z oboru digitální barevné fotografie , jejichž výklad se mi zatím nedaří nalézt v dostupné literatuře (pravda, až zas tak zuřivě jsem nehledal). Mám pro Vás proto následující dotazy:
1. Jak je definován digitální barevný obraz (hádám: množina bodů (pixelů), pro každý bod trojice hodnot R,G,B a ….).
2. Co znamená “nastavení bílé” vyjádřeno v termínech použitých v bodě 1 (a jen v bodě 1).
3. Jak je obraz definovaný v bodě 1 uložen v obrazových souborech (TIFF, JPEG , RAW).
Článek s odpověďmi na výše uvedené dotazy bych velice uvítal. Předem děkuji.