Barvy v počítačovém prostředí

Doc. Dr. Vladimír Homola, Ph.D.

Anotace

Počítačové prostředí je dnes pro uživatele nemyslitelné bez čarokrásných barevných vizuálních vjemů. Ovšem problematika barev bývá pro běžného návštěvníka např. "webovských stránek" nezajímavá - až do okamžiku, kdy si např. chce vytisknout na své domácí barevné tiskárně krásné barevné obrázky a při tisku sedmého z nich to začíná vypadat, že finančně zruinuje rodinu. Článek se pokouší o něco, co by se dalo nazvat barevné minimum. Probírá genezi barevných modelů v logické a konec konců i historické posloupnosti od prostého dvoubarevného (protože černo - bílého) zobrazení až po XY-bitovou barevnou hloubku.

Bit - bytové minimum

Protože informace o barvách se v prostředí současné digitální techniky uchovávají v paměťových komponentách nejrůznějšího technického provedení a ty jsou pro jednotnost abstrahovány do známých "nul a jedniček", nejprve stručně o bitech a pak také o bytech.

Cifra a číslo

Aniž bychom zabíhali hlouběji do teorie čísel, připomeňme na laické úrovni, že např. přirozené číslo nebo nula vyjadřuje jistý počet. Pro zápis informace o tomto počtu se v našich končinách používá to, čemu se běžně říká arabský zápis čísla (srov. např. latinský). Ve zmíněných končinách je zvykem zapsat informaci o počtu dní měsíce února přestupného roku  takto: 29.

Tento zápis - 29 - je ovšem jedna jediná informace o jednom jediném počtu, tedy jeden jediný nedělitelný symbol (naneštěstí složen ze dvou viditelných znaků). Je škoda, že nemáme k vyjádření nekonečně mnoha různých počtů nekonečně mnoho různých znaků, aby symbol vyjadřující jeden konkrétní počet mohl být zapsán jedním jediným znakem. Proto chytré hlavy v dávné minulosti vymyslely a generace našich předků používají obezličku známou jako číselné soustavy.

Číselná soustava má především základ (označme ho Z), což je nějaký - danou civilizací pevně zvolený - počet. V našich končinách byl tímto počtem zvolen počet všech prstů obou rukou, tj. deset. Viz však jiné civilizace (Mayové aj.) - ne že by měli jiný počet prstů na rukou, ale zvolili principielně jiný počet, nevázaný na pomíjející lidskou schránku.

Pro tento fixní počet - základ - bylo zvoleno tolik různých symbolů, kolik onen počet činí - a tyto symboly se nazývají cifry. Protože jsou vázány na hodnotu základu Z, je přesnější je nazývat Z-ové cifry a je jich tedy celkem Z. V naší desítkové soustavě jsou to symboly 0, 1, ... , 9.

Zápisem cifer - opět pouze v našich končinách - zleva doprava - je vytvořena posloupnost Cn-1Cn-2...C2C1C0 známá jako zápis čísla - a v našem příkladě nezáporného celého čísla arabským způsobem. Souvislost mezi touto posloupností a počtem, který vyjadřuje, jsme se všichni učili asi ve druhé třídě. Důležité připomenutí: termíny jako jednotky, desítky, stovky ... souvisí s i-tou mocninou základu: nultou, první, druhou ...

Zopakujme, proč je 348 rovno právě 348: je to proto, že tato hodnota obsahuje 3 stovky (stovka = 102), 4 desítky (desítka = 101) a 8 jednotek (jednotka = 100). Zapsáno jinak:

 

102 (= 100)   101 (= 10)   100 (= 1)   celkem
x 3 + x 4 + x 8 = 348

Bit

Nejrozšířenější třída číslicových počítačů dneška - známé "PC" - jsou založeny na dvoustavových komponentách a pracují tedy ve dvojkové (binární) soustavě - což mimochodem není samozřejmé, viz ojedinělé implementace např. třístavových systémů. Elementem dat v počítačovém prostředí je proto dvojková cifra. Tento termín - dvojková cifra - je doslovným překladem originálního binary digit = binary digit = bit. Jeden bit tedy nabývá pouze dvou hodnot (protože dvojková soustava má pouze dvě cifry), které bývá zvykem označovat analogicky jiným soustavám symboly "nula" a "jedna" - pozor, jde o cifry, nikoliv čísla!

Různí autoři volí pro cifry dvojkové soustavy různé symboly. Nejčastěji je to pochopitelně dvojice [0, 1]. Problém v tom případě nastane v textech analogických tomuto, kde jsou zapisována čísla ve více soustavách (přesněji v soustavách s různými základy). Aby ze zápisu čísla např. 101 bylo zřejmé, o jakou soustavu jde, zapisují se v tom případě čísla s dolním indexem rovným základu soustavy, tj. 1012 nebo 10110 - pak je to zřejmé.

Pokud se text zabývá pouze dvojkovou soustavou (jako tento), vyskytují se v něm kromě zápisů čísel v běžné dekadické soustavě pouze zápisy čísel v soustavě dvojkové. Pak bývá zvykem - aby se pořád nemusely zapisovat dolní indexy - používat ne symboly 0 (nula) a 1 (jedna), ale symboly O (velké písmeno O) a I (velké písmeno I). Zápis

101

je tedy zápisem čísla v desítkové soustavě (10110), kdežto

IOI

je zápisem čísla ve dvojkové soustavě (1012 = 510).

Byte

Zatímco bit je elementárním konstrukčním prvkem paměťových i jiných komponent číslicových počítačů a současně elementární jednotkou dat, je osmiciferné dvojkové číslo elementárním adresovatelným objektem dat. Takto složitě je řečeno, že skupina vedle sebe stojících 8 bitů je tím datovým objektem, který je jako nejmenší datový celek čten, zapisován, přesouván ...

V tomto kontextu se osmiciferným číslem rozumí skutečně číslo mající přesně osm cifer včetně event. počátečních bezvýznamných nul. Tedy nikoliv

IOI

ale

OOOOOIOI

Paměťový prostor, který tato skupina zabírá, byl pojmenován byte (slabika). Zřejmě proto, že kdysi v prehistorii číslicových počítačů byly běžně používány pojmy typu strojové slovo které mělo 24 nebo 32 bitů. A slovo je přece tvořeno ze slabik.

Zabývejme se nyní hodnotami (počty), které lze vyjádřit osmiciferným dvojkovým číslem (= uložit v jednom bytu). Evidentně nejmenší hodnotou je osm nul:

OOOO OOOO

(mezera mezi čtvrtou a pátou cifrou se zapisuje jednak pro lepší čitelnost, jednak pro jednodušší převod do šestnáctkové soustavy - ale není to žádné pravidlo). Hodnota takového čísla je na první pohled nula. Největší hodnotou je pak číslo mající osm jedniček (srov. s desítkovou soustavou - samé devítky):

I I I I   I I I I

Hodnota, kterou takové číslo vyjadřuje, se zjistí analogicky desítkovému příkladu čísla 348 v odstavci "Cifra a číslo" shora: je tam jednou nultá mocnina základu (20=1), jednou první mocnina základu (21=2) atd až jednou sedmá mocnina základu (27=128), sečteno je to tedy celkem 255.

V jednom bytu tedy lze uchovat celkem 256 různých hodnot - od 0 do 255. Je-li zapotřebí pracovat s většími hodnotami, použije se k tomu dvou bytů vedle sebe stojících (16-ciferné dvojkové číslo: od 0 do 65535), tří bytů vedle sebe stojících (24-ciferné dvojkové číslo: od nuly do 16777215) atd.

Bodová (rastrová) grafika

Ačkoliv veřejností nejvíce vnímaným barevným objektem je objekt počítačové grafiky, je problematika barev daleko obecnější. Na druhé straně je pravdou, že se barvičky nejlépe vysvětlují právě na tom prvku dvourozměrné grafiky, označovaném lidově jako fotka, obrázek atd. Tyto objekty tvoří sice hojně se vyskytující, přesto však jen jednu třídu grafických objektů, a to bodovou nebo také rastrovou 2D grafiku.

Objekt bodové = rastrové grafiky je tvořen barevnými body uspořádanými do obdélníkového rastru, který tvoří řádky a sloupce. Ukažme to na příkladu fotografie. Celý obrázek vypadá následovně (nadpis Hamr z Ostravice je součástí obrázku, písmena jsou tedy složena z bodů rastru):



Obr. 1: Originál obrázek hamru

Celý obrázek má 300 řádků, na každém řádku je 400 bodů. Celkem má tedy obrázek 300 x 400 = 120 000 bodů. Protože současné obrazovky zobrazují poměrně jemně, nejsou jednotlivé body obrázku rozeznatelné a pozorovatel = člověk vnímá celou kompozici, soustřeďuje se na detaily typu kůlna, potok a nevnímá fakt (ani jeho oko to nerozezná), že celý obrázek je množina barevných bodů. Vezměme proto malý výřez - např. levý horní roh dřevěné kůlny:



Obr. 2: Výřez originálu

který má už jen 40 x 40 bodů (=1600 bodů), a nechme ho 10x zvětšit:



Obr. 3: Zvětšený výřez

Teď už je patrné, že obrázek je složen z obdélníkového rastru, každý bod je reprezentován čtvercovým polem rastru nějaké barvy a spíše než celek je vnímána právě tato dekompozice na jednotlivé body. Zaměřme se však ještě jednou na malý výřez v originální velikosti nad zvětšeninou. Jestliže nyní čtenář tohoto článku vstane a poodstoupí od čteného textu asi tak 3 [m] tak zjistí, že z dálky má pro něj zvětšený obrázek stejnou vypovídací schopnost jako malý výřez z blízka.

Poznámka čistě technická: na zvětšeném výřezu shora je bod obrázku reprezentován čtverečkem (ústupek obrazovce). Jistě nebude na újmu ani obecnosti ani názornosti, když budou body reprezentovány občas i kolečkem.

Černá, bílá, šedá

Černá a bílá

Prvními plošnými zobrazovacími zařízeními byly (černobílé) obrazovky monitorů a jehličkové tiskárny. Tam to bylo jednoduché: bod na obrazovce buď svítil nebo nesvítil. Jehlička na papíře přes barvící pásku buď ťukla nebo neťukla. Barvy jsou tedy jen dvě: černá a bílá. Část řádku černobílého rastru lze pak zvětšeně znázornit takto:



Obr. 4: Část řádku rastru černá - bílá

 Shora uvedený barevný obrázek hamru v provedení černá - bílá vypadá nepříliš pěkně (zvláště text Hamr z Ostravice, který je součástí obrázku):



Obr. 5: Provedení černá - bílá

Ovšem pokračujme: jsou jen dvě barvy, každý bod je buď bílý (není vidět) nebo je černý (je vidět). K informaci o jednom bodu stačí jediný bit, který právě může nabývat hodnot O a I. Protože obrázek tvoří 120 000 bodů, je pro informaci o něm zapotřebí 120 000 bitů = (120 000 : 8) = 15 000 bytů = 15 kilobytů. Obrázek moc pěkný není, zato potřebuje hodně málo místa - např. na disku.

Stupně šedé

Bod na obrazovce "svítí". I na černobílých obrazovkách poměrně brzo uměl svítit více nebo méně. Více až k jasné zářivě bílé, méně až ještě méně až nebude vůbec vidět a bude tedy černý. Mezi zářivě bílou a černou je tedy několik stupňů. A je fakt, že když už bod není zářivě bílý, tak je vlastně šedý a více šedý až nakonec černý. Proto se takovému modelu říká stupně šedé.

Nyní vystupuje do popředí otázka, kolikže těch stupňů šedé je. Historicky se začínalo se 16 stupni šedé. Stupnice šedé v tomto provedení:



Obr. 6: 16 stupňů šedé

a obrázek hamru pak v tomto provedení vypadá následovně:



Obr. 7: Provedení v 16 stupních šedé

16 stupňů znamená od stupně 0 (úplně černá) až po 15 (úplně bílá). Ovšem pro čísla od 0 do 15 jsou zapotřebí už 4 bity: od OOOO (= 0: na obr. 6 černý obdélník - první zleva) do I I I I (= 15: na obr. 6 bílý obdélník - první zprava). Pro jeden bod je tedy zapotřebí polovina bytu, pro 120 000 bodů pak už 60 kilobytů.

Pro genericky nebarevné obrázky pak skončil vývoj u dnešních 256 stupňů šedé. 256 stupňů znamená od stupně 0 (úplně černá) až po 255 (úplně bílá). Ovšem pro čísla od 0 (=OOOO OOOO2) do 255 (= I I I I  I I I I2) je zapotřebí už jeden celý byte. Tedy uváděný hamr potřebuje v tomto provedení 120 kilobytů, zato ale výsledek není nejhorší:



Obr. 8: 256 stupňů šedé



Obr. 9: Provedení v 256 stupních šedé

 

Skládání barev - technická provedení

Obrazovky - průchozí světlo

Snad nejlépe se princip skládání barev vysvětloval na obrazovce historické barevné televize - zvláště pro složitější barevné modely. Dnes je ekvivalentním vysvětlujícím zařízením LED (= Light-Emitting Diode) obrazovka. Jak známo, body na obrazovce byly a jsou jsou uspořádány do řádků. Každý z bodů řádku byl v historické televizi konstrukčně tvořen na sklo napařenými třemi zrnéčky třech látek - tzv. luminoforů, které se od sebe lišily pouze "barevností" emitovaných fotonů (viz dále a také následující obrázek). Nověji je jeden bod tvořen třemi LE diodami emitujících fotony stejných barev jako historické luminofory.

 



Obr. 10: Body řádků historické TV

Uveďme schematický svislý řez historickou televizní obrazovkou, který je ovšem platný i pro dnešní zařízení využívajících téhož principu:

 



Obr. 11: Elektron vyrážející foton

Žhavená spirálová katoda emituje elektrony. Ty jsou urychlovány napětím trojice anod a směrovány na zrnéčka zmíněné látky napařené na vnitřní straně obrazovky. Jestliže urychlený elektron dopadne na příslušné zrnéčko, jeho zpomalením se uvolní energie, díky které je z látky emitován foton (element světla). A foton letí a letí a dopadne do oka pozorovatele; vzbudí v něm barevný bodový vjem odpovídající frekvenci, na které foton kmitá. Zmíněné tři látky se liší právě tím, na jaké frekvenci kmitají fotony z nich emitované. Z jedné látky je emitován foton kmitající na frekvenci červené barvy, z druhé foton kmitající na frekvenci zelené barvy a ze třetí foton kmitající na frekvenci modré barvy.

Na předchozím obrázku je znázorněna situace, kdy elektron urychlený "červenou" anodou (směruje elektrony na "červená" zrnéčka) emituje foton kmitající na frekvenci červené barvy. Pozorovateli se jeví celý takový bod červený, protože jiná barva v "něm nesvítí":



Obr. 12: Červený bod

Analogicky dopadne-li v jiném okamžiku do téhož bodu ale na "zelené" zrnéčko elektron urychlený "zelenou" anodou, jeví celý takový bod zelený:



Obr. 13: Zelený bod

Analogicky ještě třetí, modrý. Zajímavější je však situace, kdy do téhož bodu - ale na různá zrnéčka - dopadnou současně dva elektrony a jsou tedy současně emitovány dva fotony (např. červený a zelený):

 



Obr. 14: Současná emise dvou fotonů

Znamená to, že současně "zasvítí" červená i zelená.



Obr. 15: Současná emise dvou fotonů

Jak se pak bude jevit barevně celý bod, to je záležitostí skládání barev. Nezáleží na tom, zda "svítí" bod(y) historické skleněné obrazovky nebo dioda(diody) LE modernější obrazovky.

Na tomto místě je nutno připomenout, že se celý text tohoto odstavce týká barev zařízení typu obrazovka, nesených procházejícím světlem (na rozdíl např. od barev na archu papíru, kde jde o odražené světlo - viz následující odstavec). Skládání barev procházejícím světlem je skládání aditivní, ve kterém je složení červené a zelené barva žlutá:



Obr. 16: Žlutý bod

Celý bod se tedy bude jevit pozorovateli v daném okamžiku jako bod žlutý.

Poznamenejme jen, že dopadnou-li všechny tři elektrony (tj. jsou-li emitovány všechny tři fotony) nebo svítí-li všechny tři diody, je vnímána barva bílá.

Poznámka 1: V popisovaném schématu historické obrazovky je možno pro LED obrazovky nahradit termín "je emitovaný foton" termínem lidově formulovaným, např. "dioda svítí" - což je to samé: emituje fotony.

Poznámka 2: Vnímání barev je záležitostí především konstrukce lidského oka a následného zpracování světelných podnětů, převedených na elektrické signály, mozkem. Podrobně se tím zabývá speciální neurofyziologie, což je však obor mimo zaměření tohoto článku. Tedy jen stručně a zobecněně: Oko obsahuje dva druhy receptorů (tyčinky a čípky), z nichž barevné vidění zprostředkovávají čípky. Jsou tři typy čípků, lišících se oblastí barevného spektra, v níž jsou nejcitlivější. Podle hodnoty vlnové délky pro maximální citlivost jsou také označovány: L-čípky (long, cca 565 nm, nejdelší, oblast červené), M-čípky (middle, cca 525 nm, střední, oblast zelené) a S-čípky (short, cca 420 nm, krátká, oblast modré). Počtem je poměrné zastoupení L:M:S přibližně 32:16:1. Barva vnímaná člověkem pak je dána vzájemnou stimulací všech tří typů čípků. Poměrem početního zastoupení je pak dáno, že vnímání barev je nejméně citlivé v oblasti modré části spektra. Tím, že rozdíl vlnových délek L a M není příliš velký a jejich složením je barva žlutá, je lidské oko nejcitlivější ve žluté oblsti spektra. Největší a nejmenší citlivosti je využito u některých barevných modelů - viz níže.

Uveďme nyní všechny možné případy:

8 barev - průchozí světlo
červená zelená modrá výsledná barva
nesvítí - 0 nesvítí - 0 nesvítí - 0 - černá
nesvítí - 0 nesvítí - 0 svítí - 1 - modrá
nesvítí - 0 svítí - 1 nesvítí - 0 - zelená
nesvítí - 0 svítí - 1 svítí - 1 - azurová
svítí - 1 nesvítí - 0 nesvítí - 0 - červená
svítí - 1 nesvítí - 0 svítí - 1 - fialová
svítí - 1 svítí - 1 nesvítí - 0 - žlutá
svítí - 1 svítí - 1 svítí - 1 - bílá
Tab. 1: Osm barev - průchozí

 

Předchozí tabulka jde napsat i vědečtěji. Informace zda "svítí" nebo "nesvítí" je dvojková (binární) informace a pro její zaznamenání v počítačovém prostředí stačí tedy jediný bit (O nebo I). Jsou však tři základní barvy, proto tři bity informují o jedné z osmi (základních+složených) barev. Zaznamenání informací o barvě pomocí tří bitů se také říká tříbitová barevná hloubka. Tabulka obsahující hodnoty jednotlivých bitů je tato:

8 barev jinak
červená zelená modrá desítková
hodnota
výsledná barva zkr.
0 0 0 0 - černá  
0 0 1 1 - modrá (Blue) B
0 1 0 2 - zelená (Green) G
0 1 1 3 - azurová (Cyan) C
1 0 0 4 - červená (Red) R
1 0 1 5 - fialová (Magenta) M
1 1 0 6 - žlutá (Yellow) Y
1 1 1 7 - bílá  
Tab. 2: Tříbitová barevná hloubka - průchozí

Pro úplnost je uvedena i zkratka anglického názvu barvy. Tři barvy jsou "čisté" (základní barvy tohoto modelu), tři barvy jsou složené vždy po dvou základních. Protože základními barvami tohoto modelu jsou červená, zelená a modrá, je tento model znám také pod zkratkami anglických názvů - RGB.

 

Tiskárna - odražené světlo

Předchozí odstavec popisoval skládání barev průchozím světlem. Daleko dříve jsme my všichni poznali v životě jiný způsob skládání barev. Stačí si vzpomenout na svůj téměř batolecí věk, když jsme dostali první barevné pastelky. Když jsme načmárali žlutou čmáranici, do toho modrou čmáranici - tak jsme se nestačili divit, že najednou byla čmáranice zelená.

Ve škole o trochu vyšší než mateřské jsme se pak dozvěděli další informaci: žlutý flek na papíře se našemu oku jeví žlutý proto, že na papír dopadá bílé světlo (=úplně všechny barvy), odráží se a odražené dopadá do našeho oka. Tam způsobuje barevný vjem. Jenomže od žluté skvrny se neodrazí všechny barvy ve spektru obsažené. Žlutá skvrna totiž pohltí všechny barvy kromě právě žluté - jedině tu odrazí. A že je to způsobeno odraženým světlem  je zřejmé: viděl snad někdo skvrnu na papíře v černočerné tmě?

Jestliže na jednom místě je barva žlutá i modrá současně, odrazí se žlutý a modrý paprsek a lidské oko vnímá složenou barvu - zelenou.



Obr. 17: Zelený bod

Na tomto principu jsou založeny barevné tiskárny. Vyrábí na papíře nejrůznějším technickým provedením barevné skvrny (třech základních barev) a pokud se skvrny překrývají (nebo jsou tak blízko sebe, že nedokonalé lidské oko je navzájem nerozliší), dochází ke skládání barev. Nejznámějšími principy jsou kapičky inkoustu nanášené inkoustovými tiskárnami nebo zrnéčka toneru nanášená "laserovými" tiskárnami.

Protože jde o principielně jiný způsob skládání barev než v předchozím případě průchozího světla, jsou i základní barvy jiné: jde o azurovou (angl. Cyan), fialovou (angl. Magenta) a žlutou (angl. Yellow).

Analogicky kapitole předchozí lze vytvořit tabulku barev pro skládání subtraktivní - odraženým světlem:

 

8 barev - odražené světlo
azurová fialová žlutá výsledná
nenanesena - 0 nenanesena - 0 nenanesena - 0 - bílá
nenanesena - 0 nenanesena - 0 nanesena - 1 - žlutá (Yellow)
nenanesena - 0 nanesena - 1 nenanesena - 0 - fialová (Magenta)
nenanesena - 0 nanesena - 1 nanesena - 1 - červená (Red)
nanesena - 1 nenanesena - 0 nenanesena - 0 - azurová (Cyan)
nanesena - 1 nenanesena - 0 nanesena - 1 - zelená (Green)
nanesena - 1 nanesena - 1 nenanesena - 0 - modrá (Blue)
nanesena - 1 nanesena - 1 nanesena - 1 - černá
Tab. 3: Tříbitová barevná hloubka - odražené

 

V tomto barevném modelu jsou základními barvami azurová, fialová a žlutá; první písmena anglických názvů dala modelu zkratku: CMY.

Průchozí vs. odražené

Srovnáním tabulek 2 a 3 předchozích odstavců je zřejmé, že

Barevné hloubky

Předchozí kapitola podala základní informace o fyzikální podstatě tvorby více barev ze třech barev základních. Ukázala, že dva principy skládání barev - průchozím a odraženým světlem - se pro pozorovatele liší jen volbou základních barev. Oba modely jsou komplementární, doplňkové: jakákoliv barva daná kombinací základních barev jednoho modelu lze získat jinou kombinací základních barev druhého modelu. Proto z hlediska dalšího výkladu jsou rovnocenné a stačí při výkladu použít jen jeden z nich.

Z důvodu větší názornosti bude použit způsob skládání barev tak, jak ho používá obrazovka - tedy subtraktivní způsob skládání barev procházejícím světlem. Základními barvami tedy v následujícím textu budou RGB - červená, zelená a modrá.

Pojem "Barevná hloubka"

Tento pojem se začal ve větší míře užívat teprve s rozvojem hardwaru obecně. Týká se barev v počítačovém prostředí a vyjadřuje, kolik bitů je třeba pro uchování informace o jedné každé barvě vytvořené daným způsobem z barev základních. Shora popsaná černobílá grafika má tedy jednobitovou barevnou hloubku, grafika používající osm barev z předchozí kapitoly má tříbitovou barevnou hloubku.

Tři bity - 8 barev

Tento model byl plně popsán v předchozí kapitole. Ta však byla zaměřena na princip obecně a dva typy skládání barev zvlášť. Uveďme však hned, že s grafikou používající tříbitovou barevnou hloubku se snad v běžné počítačové praxi nesetkáme, snad jen ve specielních aplikacích.

Čtyři bity - 16 barev

Hned v této barevné hloubce se ukáže, proč je výhodné pro výklad použít princip obrazovky (tedy průchozí světlo). Elektrony jsou totiž urychlovány proti přední ploše obrazovky s jistou energií (diody svítí s jistou intenzitou danou vloženým napětím) a výsledek je přesně takový, jak byl popsán v předchozí kapitole.

Elektrony však mohou být urychlovány jen s poloviční energií (diody jen s polovičním napětím); důsledkem toho emitované fotony jakoby "méně svítí". Tyto energetické stavy jsou označovány termínem intenzita a o barvě se říká, jestli je nebo není intenzivní. Protože intenzita buď je nebo není, stačí k informaci o ní jeden bit. Ve spojení se třemi bity jednotlivých základních barev tak dostáváme čtyřbitovou barevnou hloubku podle následující tabulky:

 

16 barev
intenzita
I
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 - černá
0 0 0 1 1 - modrá
0 0 1 0 2 - zelená
0 0 1 1 3 - azurová
0 1 0 0 4 - červená
0 1 0 1 5 - fialová
0 1 1 0 6 - hnědá
0 1 1 1 7 - bílá málo intenzivní
1 0 0 0 8 - šedá
1 0 0 1 9 - modrá
1 0 1 0 10 - zelená
1 0 1 1 11 - azurová
1 1 0 0 12 - červená
1 1 0 1 13 - fialová
1 1 1 0 14 - žlutá
1 1 1 1 15 - bílá intenzivní
Tab. 4: Čtyřbitová barevná hloubka

 

Barvy které mají bit intenzity O jsou oproti těm které ho mají I více méně stejného odstínu, jen "méně svítí". Toto označení použijeme v hovorové řeči pro všechny kombinace - výjimkou je dvojice hnědá (=málo intenzivní žlutá) a žlutá (= intenzivní hnědá). Také intenzivní černá není černější než černá, jak by se dalo dovodit, ale šedá.

Toto šestnáctibarevné schéma používá např. textový režim grafických karet. V něm pracuje např. program COMMAND.COM - příkazový interpret operačního systému, většinou uživatelů chápaný jako "ošklivý černobílý DOS". Přitom téměř nikdo neví, že genericky může využívat právě 16 různých barev (např. pomocí Esc-sekvencí). Je to tam totiž takto:

Šestnáctibarevné schéma se používá většinou jen u specielních grafik, převážně vektorových, které vystačí s šestnácti barvami. Příkladem mohou být základní mapy apod. Fotografie v šestnáctibarevném provedení skutečně není optimální:



Obr. 18: Provedení v 16 barvách

Zato ale obrázek, který má 120 000 bodů, zabírá na disku jen 60 kilobytů.

Šest bitů - 64 barev

Intenzitu lze řídit také samostatně pro každou základní barvu. V nejjednodušším případě urychluje konkrétní anoda "své" elektrony buď vůbec (tj. elektron nevyletí a foton se neemituje), nebo s třetinovou energií, nebo s dvoutřetinovou energií, nebo naplno (dioda má vloženo napětí žádné, třetinové, dvoutřetinové nebo maximální). To jsou čtyři možnosti a jejich určení stačí dva bity - ovšem jsou tři anody (diody), tři základní barvy. Analogická tvrzení platí pro napěťové poměry LE diod. Tabulka analogická předchozím pak vypadá následovně:

 

64 barev
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 0 0 - černá
0 0 0 0 0 1 1 - modrá 1/3 sama
0 0 0 0 1 0 2 - modrá 2/3 sama
0 0 0 0 1 1 3 - modrá naplno sama
0 0 0 1 0 0 4 - zelená 1/3 sama
0 0 0 1 0 1 5 - zelená 1/3 a modrá 1/3
0 0 0 1 1 0 6 - zelená 1/3 a modrá 2/3
0 0 0 1 1 1 7 - zelená 1/3 a modrá naplno
. . . . . . . . . . . . atd.
1 0 0 1 0 0 36 - červená 2/3 a zelená 1/3
1 0 0 1 0 1 37 - červená 2/3 a zelená 1/3 a modrá 1/3
1 0 0 1 1 0 38 - červená 2/3 a zelená 1/3 a modrá 2/3
1 0 0 1 1 1 39 - červená 2/3 a zelená 1/3 a modrá naplno
. . . . . . . . .   . . . atd.
1 1 1 1 0 0 60 - červená a zelená naplno
1 1 1 1 0 1 61 - červená a zelená naplno a modrá 1/3
1 1 1 1 1 0 62 - červená a zelená naplno a modrá 2/3
1 1 1 1 1 1 63 - červená a zelená a modrá naplno
Tab. 5: Šestibitová barevná hloubka

 

Všechny barvy pak zobrazuje paleta 64 barev:



Obr. 19: Šestibitová hloubka - 64 barev

Osm bitů - 256 barev

Větší počet barev lze dosáhnout použitím více bitů. Při využití jednoho celého bytu (= 8 bitů) je však nutno vyřešit fakt, že 8 není násobkem 3 (aby každá ze třech barevných složek měla stejný počet bitů). Zde nastoupil fakt, že lidské oko je nejméně citlivé na modrou složku. Proto se pro červenou (R) a zelenou (G) složku používají 3 bity, kdežto pro modrou (B) složku jen 2. Je tím k disposici 256 různých barev. Tabulku celou pro její rozsah nemá smysl uvádět, snad jen její část:

 

256 barev
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 0 0 0 0 - černá = vůbec nic
. . . . . . . . .   . . .
1 1 1 1 1 1 1 1 255 - bílá = vše naplno
Tab. 6: Osmibitová barevná hloubka

 

Všechny barvy pak lépe zobrazuje paleta 256 barev:



Obr. 20: Osmibitová hloubka - 256 barev

Šestnáct bitů - 65 536 barev: High Color

Logickým pokračovatelem předchozí osmibitové hloubky je rozšíření každé složky (tj. R, G a B) na více bitů. Model, ve kterém je celkový počet bitů 16 (tedy přesně 2 byty), má však stejný problém s dělitelností třemi jako předchozí. Řeší se to analogicky: lidské oko je nejcitlivější na žlutou oblast spektra (a žlutá je součástí zelené při subtraktivním skládání barev), pro zelenou složku se tedy bere více bitů než pro ostatní. Celkový počet bitů R+G+B je pak 5+6+5. Tabulka barev má tedy 65 536 řádků a proto opět jen začátek a konec:

 

65 536 barev
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - černá = vůbec nic
. . . . . . . . .   . . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 65 535 - bílá = vše naplno
Tab. 7: Šestnáctibitová barevná hloubka

 

V záhlaví odstavce je záměrně uveden anglický termín High Color, protože pod ním je tato barevná hloubka poměrně dobře známa díky nastavení obrazovky:



Obr. 21: Nastavení obrazovky na High Color

 

24 bitů - 16 milionů barev: True Color

Dvacetičtyřbitová hloubka je v současné době převažující. Každá ze základních barev má možnost nabývat 256 stupňů intenzity - od 0 do 255. Pro tuto hodnotu je zapotřebí jeden byte, pro všechny tři základní barvy jednoho bodu tedy tři byty. Shora uváděný obrázek hamru o 120 000 bodech tedy zabírá 360 kilobytů.

Z tabulky o šestnácti milionech řádků uvedeme jen první a poslední z nich:

16 mil. barev
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - černá = vůbec nic
. . . . . . . . .   . . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 16 777 535 - bílá = vše naplno
Tab. 8: 24-bitová barevná hloubka

 

V záhlaví odstavce je uveden anglický termín True Color, protože pod ním je tato barevná hloubka dobře známa díky nastavení obrazovky (viz obr. 21 shora).

32 bitů - 4 miliardy "barev"

Rozšíří-li se předchozí model o další byte, je k disposici 32-bitová barevná hloubka. Tento model však nevyužívá první byte pro rozšíření počtu intenzit základních barev, ale může být využit pro průhlednost. Každá ze 16 milionů barev má tedy 256 stupňů průhlednosti. Přitom průhlednost 0 značí úplnou neprůhlednost, průhlednost 255 úplnou průhlednost. Počet takových kombinací přesahuje 4 miliardy, první a poslední řádek tabulky následuje:

 

4 mld. barev
průhlednost
A
červená
R
zelená
G
modrá
B
desítková
hodnota
výsledná barva
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - zcela neprůhledná černá
. . . . . . . . . . . .   . . .
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4,295 mld. - bílá ale zcela průhledná
Tab. 9: 32-bitová barevná hloubka

 

Tento barevný model používají např. soubory formátu PNG.

48 bitů - 2,815 x 1014 barev

Jde o takový model, kdy pro každou základní barvu jsou k disposici 2 byty, tedy 65.536 stupňů intenzit. Pro jeden bod je zapotřebí 6 bytů, obrázek hamru shora potřebuje tedy 720 kilobytů. K disposici je 65.5363 = 2,815 x 1014 různých barev.

Závěr

Je zřejmé, že pro nedokonalé lidské smysly stěží rozlišující pár tisíc barevných odstínů je úplně jedno, jestli pozorují 16-bitovou nebo jakoukoliv vyšší barevnou hloubku. Pro člověka je High Color naprosto postačující barevný model. Jiná situace však nastane, pokud je barevný obraz (pořízený třebas scannery na družicích) zpracováván v počítačovém prostředí. Je-li navíc zachycena stejná oblast ve více částech spektra, pak každý bit barevného rozlišení navíc může hrát roli v úspěšnosti automatizované rekognoskace terénu a dalších úlohách.

48-bitová barevná hloubka je k disposici také např. u běžných novějších scannerů, a to i nepříliš vysoké ceny (známé stolní scannery pro "domácí použití"). Protože doma snímáme předlohy, které už většinou svou kvalitou zařazují výsledek do nižší kategorie barevné věrnosti, jde evidentně ze strany výrobců o obchodní tah. Jestliže však domácí uživatel podlehne a skutečně bude snímat barevnou předlohu s maximální barevnou hloubkou, musí počítat s následujícím:

Teď je otázka, zda těchto 200 megabytů je k disposici (na disku či jinde) a zda se kapacitně i časově s takovým obrazem vyrovnají programy použité pro následné zpracování takového souboru na daném domácím počítači. Stejně tak je úsměvná představa, že takto sejmutou předlohu někomu posílám mailem přes domácí telefonní či jiné spojení: skoro 8 hodin při přenosové rychlosti 56 kilobitů.

Článek se pokusil nastínit problematiku tvorby a uchování barev v počítačovém prostředí. Nekladl si za cíl stoprocentní exaktnost, spíše informovat běžného uživatele běžných programů "o co jde". A právě na základě informací zde uvedených může uživatel řešit řadu problémových situací, viz např. přenos obrazů telefonním spojením apod.

 

 

 

Rev. 08 / 2015