Galerie 6
formaty-pro-ukladani-fotografii-1-dil-zaklady
Článek Fotoškola

Formáty pro ukládání fotografií - 1.díl: základy

Roman Pihan

1

Většina fotografů pracuje ve formátu JPEG, který se stal de facto široce používaným standardem pro ukládání digitálních snímků. Je to formát vynikající, avšak nehodí se vždy a všude. Jaké jsou tedy jeho limity a další možnosti? Začneme ale od začátku …

Reklama

Pixel – základ pro uložení digitálního obrazu

V době vzniku digitální fotografie bylo potřeba nějak rozumně obrazová data uspořádat a uložit. Vznikl proto již téměř legendární

pixel

– nejmenší jednotka obrazové informace. Pixel je zkratka pro picture element, kde se ale za slovo picture uvažuje jeho běžná zkratka „pix“, a rozumí se jím jeden plně barevný bod obrazu. Pixel sám o sobě nemá předepsaný žádný tvar - může být čtvercový, kruhový nebo libovolný, v praxi je však užitečné si ho představit jako obdélník, který vznikne rozřezáním obrazu na určitý počet svislých a vodorovných segmentů.

Formáty pro ukládání fotografií - 1.díl: základy


Obraz je tvořen mozaikou pixelů, kde každý pixel má jen 1 barvu a vyjadřuje tedy průměrnou barvu plochy, kterou representuje

Rozlišení

Pokud reálný obraz rozřežete na určitý počet svislých a vodorovných elementů, vytvoříte vlastně mozaiku obrazu. Každý segment (obdélník) v této mozaice přitom nadále obsahuje detailní kresbu, my však potřebujeme tento jeden segment popsat jen jedním pixelem - jednou barvou. Pixel tak vyjadřuje průměrnou barvu každého segmentu mozaiky a nutně tím dochází k zjednodušení obrazu. Logicky proto čím více pixelů, tím jemněji/přesněji obraz popisujeme. Známe-li navíc rozměry obrazu, je možné se znalostí jeho rozlišení v pixelech spočítat velikost jednoho pixelu.

Rozlišení

Rozměr

Pixel [mm]

Televize

720x576

42" úhlopříčka

1,18x1,11

LCD obrazovka

1600x1200

20" úhlopříčka

0,255x0,255

Fotografie

3000x2000 (6 MPix)

13 x 9 cm

0,043x0,045

Příklad velikosti pixelů pro různá zařízení/média

Barva pixelu

Máme-li definován pixel jako nejmenší jednotku obrazu, tak zbývá nějak číselně zakódovat jeho barvu, jas a ostatní parametry tak, aby odpovídaly možnostem lidského oka. Nejběžnější representace používaná v digitálních fotoaparátech pro zachycení snímku a v počítačích pro zobrazení je tzv. RGB representace, kde každý pixel je popsán trojicí čísel RGB – Red, Green, Blue. Ty vyjadřují červenou, zelenou a modrou složku jednoho každého pixelu. Jejich mícháním je možné vytvářit množství barev podobného rozsahu jako má lidské vidění. Je však mnoho způsobů jak barvu pixelu popsat, neboli je mnoho barevných modelů. RGB model je přitom jen jeden z nich, za ostatní jmenujme např. model CMYK či model L*a*b.

Formáty pro ukládání fotografií - 1.díl: základy



RGB model definuje barvu jednoho pixelu tak, že popisuje barvu 3 světel, které kdyby svítily na stejné místo, tak by barvu namixovaly

Barevná hloubka

Barva každého pixelu v RGB representaci je zakódována 3 čísly, které vyjadřují jas jeho červené (Red), zelené (Green) a modré (Blue) složky. I tady je však třeba provést určité zjednodušení, protože uložit reálné číslo např. na 10 desetinných míst je datově velmi náročné. Proto se každá barva pixelu kóduje zjednodušeně buď jen 1 bytem nebo 2 byty. Byte je základní jednotka počítačové informace a je tvořen 8 bity, kde bit je elementární buňka schopná nést jen informaci „0“ nebo „1“. Např. kapacita paměťové karty se udává v počtu bytů, které je karta schopna pojmout. Byte je informačně ale poměrně „chudý“ a umí zakódovat jen celá čísla od 0 do 255 – má tedy celkem 256 úrovní.

Formáty pro ukládání fotografií - 1.díl: základy


Barevná hloubka určuje celkový počet barev, které v obrázku mohou existovat. Nízký počet možných barev (dole) vede k neplynulým přechodům a tak se nedostatek barev nejčastěji objevuje např. v obloze, na jednolitém pozadí atp.

Pokud tedy na každou RGB složku pixelu reservujete „jen“ 1 byte, tak barvu pixelu zakódujete celkem 3 byty, každá barevná složka má ale jen 256 úrovní svého jasu, od 0 (nesvítí) až 255 (maximum). V takovém případě se hovoří o barevné hloubce 8 bitů na kanál neboli 3x8=24 bitů na pixel (24 bpp = bit per pixel). V profesionální praxi je to však často málo a tak se používá i vyšší barevná hloubka, tedy 16 bitů (2 byte) na kanál tedy 3x16=48 bitů na pixel (bpp).

Bitů/pixel

(bytů/pixel)

Bitů/kanál

Počet
barev/kanál

Celkový počet
barev

24 (3)

8

256

16 777 216

48 (6)

16

65 536

281 475 miliard

Porovnání datové náročnosti a počtu barev jednoho pixelu pro různé barevné hloubky

Formáty pro ukládání fotografií - 1.díl: základy
Formáty pro ukládání fotografií - 1.díl: základy


I když se celkový počet 16 milionů barev zdá úctyhodný, v reálu to není zase až tak moc – jen 256 úrovní na každé RGB „světlo“. U snímků proto někdy barvy dojdou a objeví se nepříjemná posterizace – zejména po významné editaci snímku

Velikost jedné fotografie

Vezměme pro příklad reálnou fotografii tvořenou např. 6 miliony pixelů (6 Mpix), jejíž rozlišení je 3000x2000 pixelů. Pokud každý pixel uložíme v 24 bitové barevné hloubce na pixel (3 byte na pixel), tak musí mít velikost 3x6=18 Megabytů = 18 MB. Takto uložených fotografií se tedy na 1 GB paměťovou kartu vejde asi 55. Pokud použijeme vyšší barevnou hloubku, velikost fotografie stoupne na dvojnásobek (36 MB) a na kartu se jich vejde jen asi 28. To je skutečná realita v případě, že není použita žádná komprese. Obraz je tedy uložen zcela nekomprimován tak, jak to umí např. formát TIFF. Protože ale podobné velikosti na jednu fotografii jsou velmi nepraktické a i zbytečné, přichází ke slovu populární JPEG s jeho kompresí, který velikost fotografii dramaticky sníží a přitom jí nijak významně neublíží.

Proč je RAW menší?

Možná vznikne otázka, proč je velikost RAW souboru, který ukládá syrová data ze senzoru, menší než 36 MB. Odpověď vězí v Bayerově masce a reálné barevné hloubce senzoru (resp. jeho A/D převodníku).

Je přirozené se domnívat, že 6 MPix fotoaparát má svůj senzor vybavený 6 miliony RGB pixelů. Musel by tedy mít 6 milionů mikropixelů citlivých na červenou barvu, 6 milionů na zelenou a 6 milionů na modrou. Takový senzor by měl tedy 6x3=18 milionů mikropixelů. Bohužel, skutečnost je složitější a zdaleka ne tak přímočará.

6 MPix fotoaparát má sice 6 milionů pixelů na senzoru, ale pouze černobílých, tedy neschopných vidět barvu. Aby senzor viděl i barvu, je před jednotlivými pixely barevná RGB maska s tím, že barvy jsou uspořádány do matice a zelená maska je ve čtverci dvakrát (tím se simuluje zvýšená citlivost oka na zelenou). Vzniká tzv. Bayerova RGBG maska. Z toho vyplývá, že 6 MPix fotoaparát má "pouze" 1.5 milionu červených pixelů, 1.5 milionu modrých a 3 miliony zelených.

Aby se pro každý RGB pixel obrazu získala plnobarevná RGB informace, vždy ze 4 sousedních pixelů senzoru (2x2) se vypočítá jeden RGB pixel obrazu. Pro další pixel obrazu je potom použita pouze o 1 pixel posunutá čtveřice pixelů senzoru, takže ve výsledku je každý pixel senzoru použit 4x - neboli došlo k interpolaci obrazu.

Formáty pro ukládání fotografií - 1.díl: základy



Princip tvorby obrazu pomocí Bayerovy masky. Uložíte-li tedy data přímo ze senzoru, vytvoří se menší soubor, protože výpočet na plné RGB proběhne až v PC

Uložíte-li tedy 6 MPix RAW obraz ze senzoru, je třeba uložit jen 6 milionů „černobílých“ čísel, protože interpolace na barvy podle Bayerovy masky proběhne až v PC. Barevná hloubka většiny senzorů (resp. A/D převodníků za nimi) je 12 bitová a tedy na každý pixel je třeba 1,5 bytu. 6 MPix fotoaparát by měl tedy mít 9 MB velký RAW. V praxi se na RAW snímky uplatňuje ještě bezeztrátová komprese a tak jsou praktické RAW soubory ještě menší - pro 6 MPix fotoaparát kolem 6 MB/snímek.

Příště se podíváme na základy komprese a JPEG formát.


Reklama
Reklama

Komentáře

Nejsi přihlášený(á)

Pro psaní a hodnocení komentářů se prosím přihlas ke svému účtu nebo si jej vytvoř.

Reklama
Reklama