Čo je to kompresia?
Čo sa stláča?
Stláčajú sa dáta – fotka, akú nafotí fotoaparát je dátovo veľmi veľká.
Digitálna fotka je počítačový súbor, ktorý prenáša tri informácie o každom jednom obrazovom bode, z ktorého sa skladá obraz. Ako príklad použime obrázok z trojmegapixelového prístroja, napríklad v rozmere 2048 × 1536 pixelov. Taký obrázok sa skladá z 3145728 obrazových bodov. Tieto tri milióny treba násobiť tromi – každý bod totiž musí obsahovať farebnú informáciu a tá sa skladá z troch rôznych farieb. Červenej, modrej a zelenej. O tom, ako vznikajú farby si povieme na inom mieste, teraz stačí vedieť, že farebný obraz v rozmere 2048 × 1536 pixelov sa v skutočnosti skladá z troch čiernobielych fotiek rovnakých rozmerov. Preto je skutočná veľkosť farebnej fotky výsledkom násobenia výška krát šírka obrázku a to celé krát tri.
Tri čiernobiele obrázky tak spolu vytvoria úctyhodných 9437184 obrazových bodov, ktoré sú nutné na to, aby sa dala preniesť informácia, ktorú označujeme, ako „trojmegapixelový farebný obrázok“. Napríklad 5 megapixelový záber s rozmermi 2608 × 1952 pixelov má dátový objem 15 mega.
Upozorňujem, že uvedené sa týka hotovej digitálnej fotky, nie je to popis, ako pracuje snímač – tam je situácia iná.
Takých 9 a pol mega je však dátovo náročný objem. Už len jeho uloženie na pamäťovú kartu dnes v bežných aparátoch trvá asi 25 sekúnd. Navyše pamäťové karty majú menšiu kapacitu – na jednu 128 megovú kartu by sa vošlo asi 12 obrázkov. Také fotenie by naskutku nikoho nebavilo.
Tieto dáta preto treba nejako upraviť, aby boli menšie. A tu prichádza k slovu kompresia.
Dáta sa stlačia sa tak, aby obrázok zaberal menší dátový priestor, napríklad desatinu pôvodného a pritom, aby sa zachovala podľa možnosti plnohodnotná obrazová informácia. Stláča sa teda veľkosť dát súboru s fotkou.
Ako sa to dá stlačiť?
Obrazové dáta sú v digitálnom fotoaparáte zaznamenané, ako veľmi dlhý rad čísiel.
Fotoaparát, aj počítač „vedia“, že číselné údaje reprezentujú obrazové body. Je dohodnuté, v akom poradí sa informácie o bodoch obrázka ukladajú. Na začiatku každého súboru je akýsi „predpis“, ako s dátami naložiť. V počítačovej reči tam je povedané niečo ako „nakresli obrázok, ktorý bude mať šírku 2048 bodov a výšku 1536 riadkov. Posielam dáta po horizontálnych riadkoch, umiestni ich zľava doprava“. A ďalej je už len dlhý tok čísiel, o ktorých už ale je známe kam patria.
Fotka častokrát zaberá veľmi podobné oblasti. Napríklad farba oblohy je modrá, alebo je na obrázku nejaká biela stena.
Ak sú dáta podobné, alebo dokonca rovnaké dajú sa stlačiť.
Predstavme si, že malý kúsok dátového súboru vyzerá takto:
31 31 31 31 36 36 36 36 36 36 36 36 36 36 38 38 38
(Čísla reprezentujú stupne šedej v rozsahu 0 – 255 pre jednu farbu, inými slovami pre jednu čiernobielu fotku.)
Dajú sa stlačiť tak, že aparát nezapíše opakujúce sa hodnoty. Zapíše iba to, koľkokrát sa opakujú. Napríklad:
4×31 10×36 4×38
A hneď tu máme úsporu – počet čísel, potrebných na prenesenie informácie o riadku čísel poklesol na polovicu. Pri prezeraní fotky bude síce potrebný najskôr výpočet pôvodných dát, ale to spravidla nevadí. V súčasnosti je výkon výpočtových procesorov lacnejší a rýchlejší, ako prístup k úložnému priestoru.
V skutočnosti je kompresia fotiek oveľa zložitejšia – berie sa do úvahy aj porovnanie kanálov a mnoho iných parametrov o ktorých nemusíte nič vedieť.
Stačí, ak vieme, že kompresiou sa podarí zmenšiť objem dát, ktoré sa musia preniesť z fotoaparátu do počítača. V počítači sa potom obrázok roztiahne na pôvodnú dátovú veľkosť vždy, keď si ho chcete prezrieť – to za nás automaticky spraví prehliadač fotiek.
Popisovaný princíp kompresie je len príkladom.
Druhy kompresie
Už z názvov je jasné, že pri bezstratovej kompresii sa stlačí objem dát tak, aby ich obsah bol rekonštruovateľný dokonale, bez straty informácií. Táto metóda je síce obrazovo kvalitnejšia, ale neposkytuje príliš veľkú úsporu dát. Kompresia tu závisí od toho, čo je na obrázku a môžete počítať s úsporou zhruba 50% miesta. To nie je veľa – napríklad 9 a pol megový obrázok by mal stále okolo štyroch mega.
Preto sa na fotografie používa kompresia stratová. Vychádza z predpokladu, že ľudské oko nie je dokonalé a tak pri kompresii vypustí niektoré informácie. Na prvý pohľad to nikto nezbadá, museli by ste fotku poriadne zväčšiť, aby ste videli, že obrázok je naozaj zmenený. Práve preto, že po rozbalení dostanete obrázok, ktorý nie je zhodný s originálom, nazýva sa takáto metóda kompresie stratovou – stratia sa niektoré informácie z obrazu.
V digitálnych fotoaparátoch sa používa takzvaná JPEG kompresia. Často sa používa aj skrátený názov JPG – takú koncovku totiž JPEG obrázky majú vo Windows. Ešte donedávna mohla koncovka v počítačoch mať len 3 písmenká a tak to zostalo. Na obsah súboru to vplyv nemá.
JPG kompresia je stratovou kompresiou, ktorá však umožňuje veľmi efektívne zmenšenie dátového objemu pri slušnom zachovaní kvality obrázku.
Mohli by sme samozrejme zanariekať, prečo práve JPG, keď na svete sú iné, efektívnejšie metódy. Ale nemalo by to zmysel. Sú lepšie, ale prednosť dostal formát, ktorý je plne podporovaný.
JPG kompresor z našej 9 a pol megovej fotky dokáže vyrobiť desatinový objem dát, pričom v kvalite rozdiel nájdete len pri masívnom zväčšení. Z deväť mega spokojne spravíte trištvrtemegový obrázok, ktorý bude na prvý pohľad nerozoznateľný od originálu.
Parametre kompresie
JPG kompresia umožňuje nastaviť, ako agresívne má stláčať. Čím menšie budú výsledné, stlačené dáta, tým viac strát v obraze nájdete. Ak stlačíte obrázok viac, tak, že 9 a pol megový obrázok sa zmestí do zhruba 450 kilového súboru, kvalita bude ešte stále slušná. Ak z neho spravíte 30 kilový obrázok, kvalita bude nepoužiteľná.
Príklad
Toto je nekomprimovaný obrázok, zmenšený na šírku 200 pixelov. Nekomprimovaný má veľkosť 90 kilo.
Podrobme ho kompresii JPG v niekoľkých stupňoch. Budete ho vidieť 1:1, preto sú kompresné artefakty viditeľné – pri veľkej fotke z digitálneho aparátu sa spravidla pozeráme na veľmi zmenšený obrázok a tam sa také veci „stratia“.
90% (15 kilo)
50% (6 kilo)
30% (4 a pol kilo)
5% (1 a pol kilo)
Vidíte, že kompresia zmenší obrázok naozaj masívne. Pozrime sa teraz na zväčšené časti tohto obrázku.
Nekomprimované. Okolo drôtov nie je ani stopa po nejakých artefaktov.
Už pri 90% kompresii sa však objavia prvé poruchy obrazu – sú viditeľné predovšetkým na miestach s vyššou ostrosťou, alebo kontrastom – presnejšie – okolo týchto miest. Plynulé plochu sú takmer perfektné.
Po znížení kvality na 50% sa už neobjevujú poruchy, ale sú priamo viditeľné štvorce rozmeru 8×8 pixelov. JPG kompresor si totiž obrázok rozparceluje práve na takéto oblasti a následne sa pokúča preniesť čo najlepšie množstvo informácií o každom stvorci. Šípkami som označil hranice dvoch štvorcov.
Po znížení kompresie na 30% už začínajú miznúť najostrejšie osamelé informácie – napríklad drôty sú celkom neostré. Klesá aj presnosť farieb.
Na tomto extrémnom príklade sme si ukázali všetky tváre kompresie.
Vo fotoaparátoch nebýva taký výber možností nastavenia, väčšinou sa nedozvieme na koľko percent sa obrázok komprimuje. Nie je to ani dôležité – každý kompresor spracováva obrázky trochu inak a preto si musíte svoje zábery pozrieť a vybrať si, aká miera kompresie pre vás ešte je akceptovateľná. Väčšinou to býva stredná hodnota, často ju výrobca nastavuje, ako štandardnú.
Teraz už viete, čo úroveň kompresie
Mnoho digitálnych fotoaparátov umožňuje nastaviť úroveň kompresie, alebo intenzitu kompresie. Toto nastavenie sa nás pýta, či chceme čo najmenšie dáta aj za cenu nižšej obrazovej kvality.
Vyskúšajte si nafotiť rovnaké scény pomocou rôznych úrovní kompresie a podľa výsledkov sa rozhodnite.
V praxi bývajú na fotoaparátoch buď dve, alebo tri možnosti nastavenia tohto parametru.
Úrovne kompresie bývajú označené Low, Normal a Fine. (Alebo inak v podobnom význame.) Fine býva kompresia s minimálnou stratovosťou a veľkým dátovým objemom. Normal býva primerane zvolená miera kompresie, aby bola práve na hranici, kedy už začína byť jej dôsledky vidieť. V praxi sa dá štandardne pracovať s nastavením Normal u takmer všetkých fotoaparátov vedie ku primerane kvalitným fotkám a pritom sa dátový priestor nemíňa prirýchlo. Low označuje nízku kvalitu obrazu a malé dátové súbory. Fotky získané v tomto režime bývajú použiteľné, ale skúsené oko už zbadá v obraze stratu. Ak je šetrenie miestom prvoradé, foťte radšej v režime Low – ak ho na fotoaparáte máte a nie zmenšením rozlíšenia obrazu napríklad na z troch na jeden megapixel.
Prečo znížiť kvalitu kompresie a nie rozlíšenie?
Nie každý si môže dovoliť kúpiť tak veľkú pamäťovú kartu, akú by chcel. Ak pritom chce nafotiť čo najviac obrázkov, začína škola kompromisu.
Niektoré fotoaparáty nedajú príliš na výber, ale je mnoho takých, ktoré umožnia zmenšiť rozmery obrázku a zároveň nastaviť kvalitu kompresie.
Zmenou rozmerov obrázku, čiže rozlíšenia tak trochu degradujeme fotoaparát na menejpixelový. Namiesto trojmegapixelových môžete fotiť fotky napríklad jednomegapixelové. Úspora miesta bude priam revolučná, straty v kvalite obrazu nemusia byť až také, aby sa tie fotky nedali použiť.
Vyskúšajte si však predtým všetky dostupné možné kombinácie, ktoré váš prístroj dokáže vyrobiť. Fotografujte podľa možnosti vždy rovnakú scénu – statív je ideálny. Len pri rovnakom odfotenom výjave môžete skutočne posúdiť straty v kvalite obrazu aj skutočnú dátovú úsporu.
Pri voľbe úsporného režimu sa snažte o to, aby obrázok mal čo najviac pixelov a radšej veľmi silnú kompresiu, než naopak.
JPEG kompresor totiž pracuje s blokmi o veľkosti 8 × 8 pixelov. Z takých štvorčekov sa skladá každá vaša fotka. Ak budete mať veľké rozmery obrázku, sieť štvorcov bude relatívne menšia, než v prípade ob
rázku s malými rozmermi – na rovnaký výjav bude sieť 8 × 8 pixelov viac viditeľná.
Teraz už budete vedieť odpovedať na otázku, ktorá mi nedávno prišla majlom:
Mám trojmegapixelový foťák, no produkuje len 700 kilové fotky. Čo to má znamenať? Prečo nie sú trojmegové?
Fotky budú trojmegové vždy, keď sa na ne pozriete – počítač ich pred zobrazením najskôr rozbalí. Tie 700 kilové súbory sú komprimované.
A ešte jedna drobnosť
Mnoho ľudí posiela fotky majlom zazipované. Je to zbytočné – kompresia JPG je efektívna, zipovaním sa nedá dosiahnuť pozorovateľné zlepšenie. Ak niekomu chcet poslať fotky majlom, zipovať, ani rarovať ich vôbec nemusíte.
Jediný dôvod na zipovanie by mohol byť ten, že ak máte stovky, alebo tisícky obrázkov zazipovaných, môže sa s tým niekedy manipulovať pohodlnejšie, ak je to v jednom súbore. To je však vec potrieb.
Ukážka stupňov kompresie
Príklad jemného znižovania kvality kompresie
Toto je nekomprimovaný obrázok, zmenšený na šírku 200 pixelov. Nekomprimovaný má veľkosť 90 kilo.
Podrobme ho kompresii JPG v niekoľkých stupňoch. Budete ho vidieť 1:1, preto sú kompresné artefakty viditeľné – pri veľkej fotke z digitálneho aparátu sa spravidla pozeráme na veľmi zmenšený obrázok a tam sa také veci „stratia“.
100% (34 kilo)
90% (15 kilo)
80% (10 kilo)
70% (8 kilo)
60% (7 kilo)
50% (6 kilo)
40% (5 kilo)
30% (4 a pol kilo)
20% (3,3 kilo)
10% (2 kilo)
5% (1 a pol kilo)
0% (1,1 kilo)
Peter 1. marca 2004
Ahoj
rád by som sa spýtal, či má úroveň kompresie vplyv na DPI alebo iné parametre fotky. Resp. ako to najlepšie zistím. Vďaka
Miro Veselý 1. marca 2004
Nemá. Mrknite prosím sem http://www.digi-foto.sk/retus/co-je-to-dpi
Kompresia ovplyvňuje dátovú veľkosť súboru a podľa druhu kompresie aj kvalitu obrazu
Srnka 18. marca 2005
Co znamena rarovanie a zipovanie? Dakujem
Miro Veselý 18. marca 2005
Srnka: Je to slang ľudí od počítačov. Znamená komprimovanie do kompresného formátu typu Rar, alebo Zip. http://www.rarlab.com/ a http://www.winzip.com/