Trošku ekologie pro Internet

Jednoho dne se student ptal svého učitele malování: "Co je nejtěžší částí malby?" Učitel odpověděl: "Nejtěžš


Jednoho dne se student ptal svého učitele malování: "Co je nejtěžší částí
malby?" Učitel odpověděl: "Nejtěžší je ta část, kde není nic namalováno." Tato
slova pronesl kdysi dávno Ike Taiga (1723-76), japonský malíř miniatur. Jistě
měl pravdu, ovšem v případě komprese je tomu právě naopak, ta část obrazu, kde
není nic namalováno, je pro kompresní algoritmy částí nejlehčí.
Důležitost datové komprese se poslední dobou zdá býti poněkud zanedbávána,
webové stránky jsou zahlceny přemírou grafiky, zvláštností nejsou
100kilobajtové grafické objekty, mailové schránky jsou zaplňovány nespakovanými
wordovskými dokumenty, často o velikosti několika megabajtů. Tato situace je
podobná ekologické situaci, se kterou se potýkáme každý den ačkoliv všichni
víme, že se příroda musí chránit, ne všichni pro to něco děláme. A to samé se
týká Internetu a přenosových rychlostí. I zde by bylo možná vhodné zapřemýšlet
o trošku ekologickém chování a soubory před odesláním nebo publikováním
zkompresovat.
Proč pakovat?
Na první pohled jsou asi jasné některé výhody komprese, jako třeba úspora
prostoru, šetření přenosové linky a zvýšení rychlosti odezvy. Další nečekanou
výhodou je např. ochrana proti napadení viry, zapakované exe soubory totiž viry
jen velice těžko nakazí. Samozřejmě pakování má i své stinné stránky, kde
nejdůležitější je často výrazné ztížení a prodloužení práce se soubory. Další
nevýhodou je, že v případě porušení záznamového média dochází k daleko větším
škodám.
Tyto nevýhody jsou ale ospravedlnitelné zejména u grafických souborů, u kterých
nedochází ke ztížení manipulace se soubory. Jistě každý z vás zná formáty jako
JPG, GIF nebo PNG, ale bohužel i v dnešní době se setkáte s webovou grafikou v
nepakovaných TIF souborech apod. Samozřejmě tyto soubory jsou nutné pro některá
použití, jako např. DTP, na Web ale asi nepatří, a pokud ano, pak alespoň ve
formě zapakovaného souboru.
Jak funguje komprese textová
Vlastní funkčnost komprese je velice jednoduchá a je založena na jednoduchém
poznatku, že lidská řeč a vlastně téměř všechno, co kdy člověk vyprodukoval, má
vysokou redundanci. Například tento text má kolem 5 KB, tedy pokud počítáme
pouze text a ne již formátovací značky. Tato velikost může být výrazně zmenšena
např. pomocí pakovacího programu ZIP. Ten zmenší tento textík na necelé 2 KB.
Toho je dosaženo právě podchycením opakování některých slov anebo písmen v
textu. V prvním případě se jedná o tzv. slovníkové metody, jako je např.
oblíbené LZW komprese, a v druhém jde o statistické metody. Kompresní
algoritmus tedy vyhledává slova nebo i jen znaky, které se vyskytují pokud
možno nejčastěji, a ty se pokouší zakódovat s pomocí co nejmenšího počtu bitů.
Jaké kompresní algoritmy a formáty pak vlastně existují, můžete vidět v
přiložené tabulce. Samozřejmě se jedná pouze o malý výběr, vlastních formátů a
algoritmů existuje mnohem více. Počtu možností také odpovídá složitost výběru
vítěze. Téměř každý formát je v něčem nejlepší, jeden umí výborně kompresovat
texty, jiný programy a další syrová data. Obecně jde říci, že asi
nejpraktičtější jsou formáty ZIP, ARJ a RAR pod Windows a gzip pod UNIXem, jsou
totiž nejvíce podporované. Vlastního vítěze jednoho z rychlostních testů pak
vidíte v druhé dnešní tabulce.
Komprese grafická
Z podobných principů, jaké byly popsány v předchozím odstavci, vychází i
komprese grafických souborů. Typickým příkladem může být např. formát GIF,
který používá LZW kompresní algoritmus. Poněkud jiným případem je formát JPEG,
který používá ztrátovou kompresi založenou na nedokonalosti lidského zraku.
Podrobný popis ale není náplní tohoto textu, daleko zajímavější je porovnání
jednotlivých kompresí:
formát GIF (Graphics Interchange Format) asi jeden z nejznámějších formátů pro
ukládání obrázků na Webu, hodí se spíše na menší soubory s jednoduchou
grafikou, tento formát výborně komprimuje horizontální redundanci a toho je
vhodné použít již při tvorbě takovýchto obrázků. Kompresní poměr je většinou 4
: 1 až 10 : 1.
formát PNG (Portable Network Graphics) má být náhradou staršího a hlavně
licencovaného GIFu, na rozdíl od něj si dokáže poradit i s vertikální
redundancí a obecně poskytuje lepší výsledky, soubory jsou tak o 10-30 % menší.
formát JPEG (vychází z názvu skupiny Joint Photographic Experts Group) je
vhodný zejména na složité a velké obrázky, které dokáže často zmenšit na
desítky procent původní velikosti. Nabízí různé kompresní poměry od 15 : 1
(vysoká kvalita, téměř neznatelné zhoršení) přes 40 : 1 (střední kvalita,
ideální pro Web) až po 60-100 : 1, kdy již dochází k výraznému zhoršení obrazu
(vhodný např. na náhledy). Samozřejmě lze použít i vyšší kompresi, výsledný
obrázek bude ale podle toho vypadat.
Buďte ekologičtí
Je samozřejmě jasné, že práce s komprimovanými soubory není úplně
nejjednodušší, ovšem s kvalitním programovým vybavením to zas až tak velký
problém není. Pokud tedy chcete být trošku internetově ekologičtí, zkuste
některý kompresní program, třeba i vám se bude ušetřené místo hodit.

Některé důležité kompresní souborové formáty
Přípona souborů Popis, adresa
.ace pakovač ACE http://members.aol.com/mlemke6413/ace.htm,
http://www.winace.com/
.arj pakovač ARJ (vychází z LZ77 a používá Huffmanovo kódování)
http://www.arjsoft.com/
.bz2 pakovač bzip2, používán zejména ke kompresi zdrojových programů
http://sourceware.cygnus.com/bzip2/index.html
.cab Microsoft Cabinets soubory, používané zejména při instalaci programů
http://www.microsoft.com
.gz, .z pakovač gzip používá ten samý algoritmus jako ZIP, určen primárně pro
UNIX http://www.gzip.org/
.lzo pakovač LZOP, vítěz ACT 2.0 testů
http://wildsau.idv.uni-linz.ac.at/mfx/lzop.html
.rar pakovač RAR, poslední dobou velice oblíben český mirror je na
http://www.rar.cz/
.rku pakovač RK, vítěz ACT 2.0 testů http://members.tripod.com/~malcolmt/
.zip pakovač pkzip, suverénně nejoblíbenější http://www.pkware.com/
0 0535 / als









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.