O kompresích a variantách formátů

Autor se zabýval zhodnocením kompresních algoritmů jednotlivých formátů a dopadem nastavení různých možností uložení dat v souboru. Při tom byly na testovacím vzorku dvanácti kartografických výstupů o různých bitových hloubkách, barevnosti a struktuře obrazu (např. přehledová mapka o několika málo barvách, plnobarevný sken turistické mapy, originální digitální turistická mapa, RZM10, katastrální mapa, ortofotomapa barevná či černobílá, rastrový ekvivalent vojenské topografické mapy, autoatlas, obecně zeměpisná mapa, mapa vojenského mapování aj.)  zjištěny některé zajímavé skutečnosti.

Například progresivní kódování JPEG dává při větších rozměrech rastru obecně nižší velikost výsledného souboru, než kódování sekvenční. Toho lze s výhodou využívat při přenosu souborů po sítích, protože už při načtení pouhé 1/64 velikosti obrazu je rastr zhruba viditelný. Faktor kvality 75 je u JPEG komprese ještě přijatelným kompromisem mezi velikostí a kvalitou, ale u hodnoty 50 už je výsledek nepřijatelný pro jakýkoli v testovaných výstupů. Problémem JPEG komprese jsou při vyšších stupních viditelné artefakty a rozmazání barev zejména na ostřejších hranách. Proto je také JPEG komprese zcela nevhodná pro pérovky a obrazy s ostrými hranami a náhlými barevnými přechody – tyto oblasti obrazu označují nejvyšší frekvence signálu, které diskrétní kosinová transformace potlačuje. Naopak mozek si snadno doplní oblasti nízkých frekvencí – monotónní pozadí, pozvolné barevné přechody, zatímco s vysokými frekvencemi má problémy.

Pro málobarevné obrazy (což se týká zejména originálně digitálních map, přehledových mapek, RZM, katastrální mapy apod.) je JPEG zcela nevhodná, protože nejenže nezvládá hrany a barevné přechody, ale navíc není stavěna pro obrazy s nízkou bitovou hloubkou, takže dává mnohdy horší výsledky než nekomprimované formáty, které jsou schopny zohlednit barevnou hloubku. JPEG komprese je nejvhodnější pouze pro dva testované typy – plnobarevné obrazy. Bylo ale prokázáno, že i v těchto případech dává však lepší výsledky formát JPEG2000, který má sice asi o 10-15% větší velikost, ale při vizuálním zhodnocení jednoznačně vítězí, protože zanechává více detailů a netvoří tak výrazné kompresní struktury v obrazu jako JPEG. Obecně JPEG2000 formát při stoupající kompresi obraz spíše ‚rozmazává‘, což není tolik na škodu jako ztráta barevného podání a tvorba rušivých bloků u JPEG. Nepředpokládá se, že by nad ortofotomapami uloženými ztrátově byly prováděny nějaké analýzy (samozřejmě jiný případ jsou data DPZ) a proto je pro výsledný úsudek, který formát použít, důležitější spíše subjektivní vizuální zhodnocení.

Další zjištění se týká formátů PCX a Targa, které nedávají nijak zajímavé výsledky ani v jedné kategorii. U historického formátu PCX se ostatně podobný výsledek dal očekávat, jediná kategorie, kde podal slušný výsledek, je bizonální obraz (katastrální mapa), což ovšem není mnoho. Navíc s podporou tohoto formátu už jsou dnes ve většině aplikací problémy.

U katastrální mapy došlo k překvapivému drtivému vítězství bezztrátového kódování formátu JPEG2000 (JPEG2000 nenabízí ztrátové uložení méně než čtyřbitových dat). Bezztrátové kódování JPEG2000 je nicméně spolu s prediktivním kódováním JPEG poněkud stranou zájmu, což může být způsobeno zejména nízkou podporou ze strany dekodérů a webových prohlížečů. Ovšem pro úplnost, vysokou kompresi bizonálních dat nabízí jinak netestované kódování CCITT3, které používají též některé faxy (případně Huffmannovo, jež obě podporuje TIFF). Dociluje naprosto spolehlivě velmi vysokých kompresních poměrů a tento formát patří mezi standard.

Formát BMP dává velmi špatné výsledky ve většině kategorií, což je o to podivnější, že se jedná o rozšířený standard (ovšem jeho použití rapidně klesá).

Formáty GIF a PNG dávají oba velmi dobré výsledky u dat do 8 bitů, což je dáno dobrou podporou nižších bitových hloubek a účinnými kompresními algoritmy. Pro 24-bitová data jsou výsledky horší (ovšem nikoli naprosto špatné), avšak pro takové obrazy tyto formáty primárně nejsou určeny. PNG vítězí u málobarevných pérových map (např. RZM10) a podobně. Nízká velikost souborů GIF u některých barevných obrazů je zavádějící, protože se jedná z principu jen o 256-barevné obrazy a nikoli o True Color – formát GIF nedovede klasickým způsobem taková data uložit. (Toto lze částečně obejít vhodnou volbou palet v jednotlivých rámcích souboru GIF, ale takováto řešení nejsou obecně podporována a nejsou vhodná pro kartografické výstupy.)

Formát TIFF dává uspokojivé velikosti souborů ve všech kategoriích, v nižších bitových hloubkách i velmi dobré. Vyplatí se vyzkoušet několik kompresních algoritmů před uložením souboru TIFF, i když obecně nejlepší výsledky dávají kompresní metody Deflate nebo LZW. Nekomprimovaný TIFF je nejméně vhodný.

U souborů s kompresí JPEG je dále zřejmé, že zvýšením faktoru nad hodnotu 90 se nedostane již takové zvýšení kvality, které by vyrovnalo až třínásobný přírůstek velikosti souboru oproti Q = 90. V žádném případě také neplatí, že Q = 100 znamená bezztrátovou kompresi. Takovou poskytuje jen prediktivní algoritmus, který však komprimuje data jen zhruba na polovinu. Použití faktoru kvality 100 nebo blízkých je jen mrhání místem, výsledek je od obrazu vytvořeného s faktorem 90 prakticky nerozlišitelný. Vliv faktoru kvality na stupeň komprese shrnuje následující tabulka.

tabulka1

Vliv faktoru kvality na stupeň komprese

Druhá tabulka ukazuje vliv podvzorkování jasu a barev na velikost souboru na vzorku obrazu ortofotomapy. Hodnoty u popisu komprese udávají složku Y, Cb a Cr.

Bloky 1×1 znamenají bez podvzorkování. Množství ušetřeného prostoru není tak výrazné (jedná se maximálně přibližně o 15%), aby bylo nutno přistupovat k podvzorkování, které ještě zhorší barevné podání. Bohužel mnoho softwarových produktů neumožňuje hodnoty bloků podvzorkování a dokonce ani jiné parametry JPEG komprese měnit.

Vliv podvzorkování jasu a barev na velikost souboru vzorku obrazu ortofotomapy

Další kapitoly tématu