+--------------------------------------+
                   | Zpracování palety rastrových obrázků |
                   +--------------------------------------+

           Běžně  používané  formáty  barevných  obrázků mají dvě základní
     varianty.  Buď  je  obrázek  v barevném rozlišení True Color, nebo je
     doplněn o paletu, mluvíme potom o paletovaných obrázcích.

           V  rozlišení  True Color barvu nejčastěji chápeme jako vektor v
     třírozměrném  prostoru  RGB  (viz  např.  [4]). Barva pixelu je potom
     určena  třemi bajty (24 bitů). Každý z nich určuje intenzitu jedné ze
     tří  barevných  složek R - red, červená; G - green, zelená; B - blue,
     modrá. Intenzity jsou tedy v rozsahu 0 - 255 a celkem můžeme rozlišit
     2^(8+8+8) barev, tedy zhruba 16 milionů.

           V paletovaných obrázcích nechápeme barvu jako vektor v prostoru
     RGB,  ale  jako  index do palety, která je většinou součástí obrázku.
     Palety obsahují maximálně 256 barev ve tvaru RGB hodnot. Celý obrázek
     proto může obsahovat nejvíce 256 různých barev. Na reprezentaci barvy
     jednoho  pixelu  je potom zapotřebí jen jednoho bajtu (8 bitů). Někdy
     se  počet  barev  dále omezuje a používají se formáty 4 bity na pixel
     (16  barev),  2  bity (4 barvy), nebo 1 bit na pixel (2 barvy). Někdy
     také paletované obrazy bývají označovány jako indexované.

           Velkou   výhodou  paletovaných  obrázků  jsou  podstatně  menší
     paměťové nároky a tím i rychlejší zpracování. V typické situaci jde o
     poměr  24:8  bitům.  Tento  poměr  se  týká  hlavně  nároků  na paměť
     videokarty,  kde nemůže být obraz komprimován. Při uložení v některém
     z  komprimovaných  formátů  může být situace jiná, protože se používá
     různých  formátů,  a  tím  i  různých  komprimačních metod. Obrázky v
     rozlišení  True  Color  se nejčastěji ukládají ve formátu JPEG, který
     používá  stejnojmenné  komprese,  kdežto  pro  obrázky  s  paletou je
     typický formát GIF s kompresí LZW. Poznamenejme jen, že komprese JPEG
     je ztrátová.

           Ještě  před  nedávnem  byl také patrný omezující vliv hardware,
     například  dobře  známý grafický adaptér VGA zobrazení v kvalitě True
     Color  vůbec  nepodporuje,  protože  v době jeho vzniku byly paměťové
     nároky  i  nutná  přenosová  rychlost  a  s  nimi  spojená  cena  nad
     možnostmi  běžného  zákazníka.  Dnes  jsou již běžné grafické karty s
     pamětí  2MB,  sběrnicí  PCI nebo VLB a tyto důvody tedy pomíjejí, ale
     podpora  paletovaných  obrázků  hardwarem videokarty většinou zůstává
     kvůli kompatibilitě zachována.

           V  současné  době  se  paletovaným  obrázkům znovu věnuje velká
     pozornost  v  souvislosti  s  Internetem.  WWW  stránky jsou doplněny
     množstvím  obrázků,  a to nejen v pravém smyslu slova, ale i v podobě
     různých ikon nebo pozadí. Snížením hloubky barevného rozlišení, a tím
     i   velikosti   souboru   s   obrázkem,  dosáhneme  snížení  množství
     přenášených dat a tím i urychlení přenosu.

           Pokud  vytváříme  nový  obrázek,  ať  je  to  již  z  barevného
     scanneru,   kamery,  digitálního  fotoaparátu  nebo  specializovaného
     programu, je však téměř vždy v rozlišení True Color. Otázkou tedy je,
     zda  lze  vůbec  dodatečně  snížit  barevné  rozlišení  tak,  aby byl
     výsledný indexovaný obraz na první pohled nerozeznatelný od původního
     obrazu.

           Je  známo,  že  lidské  oko  je  schopné  rozlišit přibližně 64
     odstínů  jedné  barvy,  odstínů  zelené o něco více. V rozlišení True
     Color  je tedy 256 stupňů pro každou z barevných složek do jisté míry
     zbytečný  luxus. Snížením počtu odstínů na 32 pro červenou a modrou a
     64 odstínů pro zelenou složku se tedy nedopustíme příliš velké chyby.
     Toto  snížení  je  vhodné  zejména  proto,  že  na reprezentaci barvy
     jednoho  pixelu je potom zapotřebí 5 + 5 + 6 = 16 bitů, tedy 2 bajty.
     Toho  si  všimli  i výrobci hardware a zavedli barevné rozlišení High
     Color, často používané operačními systémy Windows.

           Obrázky  v  High  Color rozlišení jsou však stále příliš velké.
     Naším  cílem  je  snížit počet barev na 256 a použít paletu. Znovu se
     tedy  nabízí  otázka,  zda  toto  snížení barevné hloubky není příliš
     drastické.  Lidské  oko  naštěstí  (či  naneštěstí) není dokonalé a z
     několika  různobarevných  paprsků,  které dopadají na sítnici oka pod
     přibližně  shodným  úhlem,  získává  vjem jediné barvy, která je dána
     aditivním  složením  původních  barev.  Přesvědčivým  příkladem  této
     schopnosti   oka  jsou  reklamní  billboardy,  které  ze  vzdálenosti
     několika  metrů  budí dojem dokonalých barev, avšak při přiblížení na
     vzdálenost  několika  decimetrů  vidíme,  že  celý  obraz  je  tvořen
     různobarevnými  tečkami.  Dalšími  příklady  mohou  být celé umělecké
     směry,  impresionismus  a  pointilismus,  kde  se v malířství používá
     technika  nanášení  čistých  tónů; dojem různých odstínů vzniká až na
     sítnici oka.

           Jiným  příkladem  může  být barevná obrazovka, ať již televizní
     nebo  monitor,  kde  se  každý pixel skládá ze tří základních složek,
     R,  G  a  B,  které  se  na obrazovku promítají těsně vedle sebe, ale
     lidskému  oku  se  jeví jako jeden barevný bod. Tohoto jevu využívají
     grafické  algoritmy  na vyšší úrovni, na úrovni celých pixelů, kde se
     nekombinují   barvy   jednotlivých   složek  jediného  pixelu  jako v
     obrazovce, ale barvy několika sobě blízkých pixelů tak, aby v místech
     přechodů  barevných  odstínů  nebo  dokonce  různých  barev střídáním
     několika  různobarevných  pixelů  vytvořily  dojem plynulého přechodu
     barvy.  Takto je možno vytvořit nejen přechod, ale i simulovat barvu,
     která v paletě obrázku vůbec není.

           Aby  různobarevné body splynuly v oku do jediné barvy, musí být
     úhlový  rozdíl  směru paprsků malý, nebo se jejich barva nesmí příliš
     lišit.  V  barevné  obrazovce  mají  jednotlivé barevné složky uvnitř
     pixelu  různé  barvy,  ale  jsou dostatečně blízko u sebe a do oka ve
     standardní  pozorovací  vzdálenosti  dopadají  paprsky pod dostatečně
     blízkým  úhlem.  V  případě  rastrové  grafiky však jde o vzdálenosti
     samotných  pixelů.  Ty  jsou  již větší a je proto nutno zajistit buď
     barevnou podobnost, nebo zvětšit vzdálenost pozorovatele od monitoru.
     Druhé  řešení  v praxi není příliš použitelné a je proto nutno vhodně
     navrhnout  paletu barev, aby bylo možno střídat podobné odstíny jedné
     barvy.  Tato  metoda  důmyslného střídání několika málo barev s cílem
     vyvolat dojem velké barevné škály se nazývá dithering

           Dithering se používá nejen pro obrázky s paletou 256 barev, ale
     i  pro  šestnáctibarevné  obrázky. Používá se i dvoubarevné varianty,
     typickým  představitelem  jsou  obrázky  v novinách, kde se střídáním
     černé a bílé barvy vytváří dojem odstínů šedi.

           Ukazuje  se  tedy,  že  převod obrazu z rozlišení True Color na
     indexovaný  osmi  nebo  méně  bitový  obraz je možný, ale jde o velmi
     náročný  úkol.  Proto  také  existuje  celá  řada  metod, lišících se
     paměťovými a časovými nároky, a je velmi obtížné nalézt tu nejlepší z
     nich,  neboť  výsledky závisí i na charakteru zpracovávaných obrázků.
     Pro  úplnost  dodejme,  že  tento  převod  někdy  bývá označován jako
     kvantování barev.

                           +-----------------------+
                           | Proces převodu obrazu |
                           +-----------------------+

           Jak  již  bylo  uvedeno,  existuje celá řada postupů pro převod
     obrázků  z  rozlišení  True  Color  na  paletovaný  obraz. Ukazuje se
     však, že většina postupů obsahuje několik základních kroků. Pro každý
     krok  se používá skupina metod a většinou lze kombinovat různé metody
     v různých fázích tvorby obrazu.

                  Načtení obrazu ve vhodném grafickém formátu 

                    Předzpracování obrazu (pre-processing) 

                  Vytvoření palety barev (color quantization) 

                        Vytváření paletovaného obrázku 

                  Uložení obrazu ve vhodném grafickém formátu 

                               ..-------------..

                                  Literatura 

           Tento članek je i s ukázkami kvality jednotlivých metod
          přístupný na adrese http://cs.felk.cvut.cz/xdachs/Dither/


            výheň