JPEG - Pro každého - Grafika.cz - vše o počítačové grafice

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Go verze

JPEG - Pro každého

19. listopadu 1997, 00.00 | Naše povídání se spíše než popisem formátu JPEG bude zabývat otázkou “proč” a “k čemu” JPEG použít.

Hned v úvodu bych vás uklidnit. K pochopení textu není potřeba mít žádné znalosti v oboru počítačové grafiky ani programování. Naše povídání se spíše než popisem formátu JPEG bude zabývat otázkou “proč” a “k čemu” JPEG použít. Ti kdo prahnou po podrobnějších informacích, nechť si přečtou některé z pokračování tohoto článku. Nebo přeskočí několik úvodníc h odstavů.

Nejprve několik všeobecných věcí. Pozorně si prohlédněme obrazovku počítače. Můžeme si jí představit jako síť teček. Tečky jsou uspořádány v řádce těsně vedle sebe a zároveň ve sloupcích pod sebou. Že tomu tak je se dá dobře pozorovat na tenkých písmenech jako třeba těch která jsou v záhlaví tohoto okna. Písmena která jsou psána vodorovnými a svislými tahy jako třeba T nebo F jsou velice pěkně prokreslená. Zatímco písmena, která obsahují šikmé linie jako třeba V nebo X jsou trochu jakoby zubatá.

Teď se můžeme vrátit zpět k obrazovce. Příklad s písmenky dokazuje, že je to pravoúhlá mozaika teček. Typicky je jich několik set tisíc až milionů. Teď udělejme další úvahu. Všechno co vidíme na obrazovce jsou větší či menší obrázky. Dále bych po vás chtěl, abyste mi věřili, že každé písmenko, které vidíte na obrazovce, muselo být nejprve převedeno na obrázek, než mohlo být zo brazeno na obrazovce.

To vše o čem jsme teď mluvili bude pro nás od této chvíle bitmapa . Tímto slovem budeme nadále označovat každý samostatný obrázek, nebo raději tu část obrazovky, kterou můžeme mít uloženou v souboru.

Konečně jsme se oklikou dostali k otázce kde se používá formát pro ukládání bitmap JPEG (Někdy také JFIF nebo JPG ). Je to způsob jak si schovat bitmapový obrázek tak aby nezabíral zbytečně moc místa a dal se opět v budoucnu prohlédnout. Samozřejmě tím bitmapovým obrázkem nemusí nutně být ikona programu na obrazovce. Jsou to také snímek digitálního fotoaparátu, výstup scanneru , nebo i data pro tiskárnu.

Nastala chvíle kdy se začneme zabývat samotnou kompresí obr ázku. Pod pojmem komprese si představíme algoritmus , nebo též postup, jak něco zmenšit. V našem případě objem dat, která popisují naší bitmapu.

Když mluvíme o kompresi dat nutně se dostáváme k dalšímu pojmu a tím je redundance. Redundantní informace je in formace taková, které nám nepřináší žádný nový poznatek. Říká nám jenom to, co už jsme věděli předtím.

Pro nás bude redundance něčím špatným, tím čeho se budeme chtít pokud možno zbavit. Na tomto místě bych vás chtěl upozornit na jednu zřejmou věc. Nejlepší způsob komprese textu je rozebrat ho na písmenka. Text na této stránce by klidně mohl být uložen v souboru jako jeden velký obrázek a bez větších potíží by ho bylo možné zobrazovat zpátky na obrazovku. Důvod proč se to tak nedělá je jediný. Obrázek uložený tradičními metodami pro ukládání bitmap by zabíral mnohem více místa, než když máme stránku uloženou jako text. U textu nám stačí pamatovat si jen jaká písmenka jdou v řád cích za sebou. Když text považujeme za obrázek musíme si pamatovat barvu všech teček, kterými je písmenko a jeho okolí na obrazovce nakresleno. To zabírá několikanásobně více místa.

Seznámili jsme se tedy s jedním způsobem komprese “obrazových” dat. Ty opravdové obrazové komprese si ještě rozdělíme na ztrátové a bezeztrátové. Mezi ztrátové kompresní algoritmy patří právě JPEG (formát JFIF, či nesprávně JPG). Mezi bezeztrátové zase LZW (formát GIF), RLE (formát PCX,BMP).

Zastavme se nejprve u bezeztrátových kompresí. Už jen z toho důvodu, že JPEG podporuje mimo jiné také jednu bezeztrátovou metodu komprese. Tyto komprese se velice často používají i v jiných oblastech, než je zpracování obrazu. Například slovníkové komprese podobné algoritmu LZW používají komprimační programy jako ZIP, ARJ či RAR. Obdobu RLE komprese používaly programy pro zvětšování kapacity disku jako STACKER či DRVSPACE. Pro tyto účely MUSÍ být použito bezeztrátové komprese. Pokud by se nám totiž při kompresi trochu dat ztratilo, program, který jsme zkomprimovali a potom opět rozbalili, by nefungoval.

Naproti tomu, pokud obrázek zabalíme (provedeme kompresi) a poté opět rozbalíme je to i nadále obrázek. Sice to není přesně ten obraz, který jsme uložili, ale od námi uloženého obrázku se jen velmi málo odlišuje. To je velice volně řečena podstata ztrátové komprese . My se nebudeme snažit uchovat obrázek tak jak byl, ale pokusíme se v něm najít ty nejdůležitější informace a ty zbytečné či méně důležité zapomenout.

Vnucuje se nám okamžitě důležitá otázka. Dá se ztrátová komprese použít na všechny druhy obrázků? Odpověď zní: Principielně ano, ale není to vždy vhodné. Vyloženě nevhodná je ztrátová komprese JPEG pro některé jednobarevné obrázky. Dále málobarevné obrázky, obrázky s výraznými hranami a stejnobarevnými plochami.

Pokud má obrázek málo barev nedokážeme využít schopnosti JPEG. Ten za všech okolností rozlišuje alespoň 16 miliónů barev, nebo několik set až tisíc stupňů šedi. Pro málobarevný obrázek je vhodné použít například formát GIF, který zaznamená právě jen ty barvy, které v obrázku opravdu jsou.

Jsou-li v obrázku stejnobarevné plochy oddělené výraznými hranami dochází k druhému nepříjemnému jevu. Hrana může být rozmazána a naopak na dříve stejnobarevné ploše poblíž hrany mohou vzniknout zvlnění. Stejnobarevná plocha najednou není stejnobarevná, ale je na ní nechtěný vzorek. To je způsobeno tím, že JPEG není adaptivní a uchovává si ke každému úseku obrázku stejné množství dat. Uvědom me si, že hrana, co se týče množství informace, jí nese mnohem více než stejnobarevná plocha. Proto JPEG zahodí v okolí přechodu informace, které jsou relativně důležité a dochází k nežádoucím efektům.

Z předchozího textu mohl čtenář nabýt následujícího dojmu: Algoritmus JPEG má tolik nevýhod, že je prakticky k ničenu. Není tomu tak! Musíme si uvědomit, na kterou oblast obrázků se JPEG zaměřuje. Jsou to fotografie reálného světa. Na těch je vždy široká škála barev ať už jsou to obrázky černobílé či barevné. Také problémy druhého typu se při vhodném parametru pro JPEG neprojeví. A to buď proto, že na obrázku žádné příliš ostré přechody nejsou, a nebo proto, že když už na obrázku hrany jsou, není jejich okolí jednobarevné a oko si případných nechtěných změn nevšimne. Nepůsobí ani zdaleka tak rušivě jako byť nepatrné kolísání světlosti v jinak stejnobarevné ploše.

V minulém odstavci jsem se okrajově zmínil o tom, že můžeme zadáváním jistého parametru ovlivnit výsledek komprese . To je jedinečná vlastnost, kterou nemají žádné bezeztrátové komprimační algoritmy. Tím parametrem je požadovaný kompresní poměr. Přesněji řečeno jakási hodnota určující jaké množství informací budeme považovat za důležité a jaké za nepodstatné.

Udělal jsem malé porovnání s obrázkem, kte rý při neztrátové kompresi BMP, PCX i PNG zabíral něco kolem 160kbyte . Rozdělme si možné kvality komprese na stupně 0-10 jako v programu Adobe Photoschop. 10 je málo ztrátová, 0 nejztrátovější komprese.

Při kvalitě 8 z 10 soubor zabíral 40kbyte, tedy pouh ou čtvrtinu toho, co zabíral obrázek uložený bezeztrátovou kompresí. Žádné ztráty na obrázku nejsou pozorovatelné.

Při kvalitě 6 z 10 Soubor zabíral 25kbyte, tedy méně než šestinu velikosti původního obrázku. Na obrázku je patrné jisté vyhlazení šumu, které může budit dojem, že obrázek je kvalitnější, než jeho předloha.

4 a 3 z 10. Soubory zabíraly 20 a 16kbyte, tedy osminu a desetinu velikosti původního. Na obrázcích je vidět vyhlazení šumu a některých detailů. Začínají být vidět obrysy čtverečků, na které je obrázek při kompresi rozložen. Zatím ještě nepůsobí příliš rušivě, ale už je vidět rozdíl oproti originálu. Parametr 3, tedy kompresní poměr 1:10 je považován za normální.

Kvalita 1 a 0 z 10. Soubory zabíraly 12 a 8kbyte, tedy třináctinu a dvacetinu velikosti původního obrázku. Na obrázcích je vidět obrysy čtverečků, na které je obrázek při kompresi rozložen. Působí rušivě, obrázek už je příliš poškozen.

Co z toho všeho plyne? Hlavně to, že obrázek může zabírat přesně tolik místa, kolik si přejeme. Další poznatek, který bychom si měli odnést, je, že formát JPEG je i při nejnižším stupni ztrátovosti několikanásobně lepší, než bezeztrátové formáty co se týče stupně komprese.

Já jsem narozdíl od autorů algoritmu JPEG přesvědčen, že i jisté množství šumů patří k fotografii, aby vypadala tak jak má. Proto nejspíše bych volil stupeň komprese 8 či 6 z 10, někdy nazývaných MAX a HI kvalita. Spíše, než doporučovanou NORMÁLNÍ kvalitu 3 z 10. O tom zda bych měl fotografii uložit pomocí bezeztrátové komprese bych vůbec neuvažoval. Byl by to rozhodně nepříliš dobrý nápad.

A na závěr bych Vás rád pozval ke čtení volného pokračování tohoto článku, které bude věnováno JPEGu a dozvíte se přesně jak to uvnitř funguje.

Tématické zařazení:

 » Rubriky  » Go verze  

 » Rubriky  » Webdesign  

 » Rubriky  » Digitální fotografie  

Poslat článek

Nyní máte možnost poslat odkaz článku svým přátelům:

Váš e-mail:

(Není povinný)

E-mail adresáta:

Odkaz článku:

Vzkaz:

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: