Hledat:

Set-top-boxy Parfémy Krása Produkty pro zdraví Hodinky Elektro Šperky Nábytek Nářadí a zahrada Outdoor Počítače a notebooky
 

JPEG 2000

schéma uspořádání bitů
schéma uspořádání bitů

JPEG 2000 je formát na ztrátovou kompresi obrazu založený na wavelet transformaci. Umožňuje i bezeztrátovou kompresi, ačkoliv PNG většinou dosahuje lepšího kompresního poměru. JPEG 2000 poskytuje lepší kvalitu než klasický JPEG při stejném kompresním poměru.

Obsah

[editovat] Postup komprese do JPEG 2000


\begin{array}{lclclclc}
Y  &=&+ 0.299   &\!\!\!\!* R&+ 0.587   &\!\!\!\!* G&+ 0.114   &\!\!\!\!* B\\
C_b&=&- 0.168736&\!\!\!\!* R&- 0.331264&\!\!\!\!* G&+ 0.5     &\!\!\!\!* B\\
C_r&=&+ 0.5     &\!\!\!\!* R&- 0.418688&\!\!\!\!* G&- 0.081312&\!\!\!\!* B
\end{array}

RCT je podobné, ale umožňuje bezeztrátovou zpětnou transformaci. Po převodu se každá komponenta komprimuje samostatně. Obraz je rozřezán na pravidelné čtvercové dlaždice libovolné velikosti. Všechny dlaždice mají stejnou velikost (kromě okrajů). Lze vzít celý obraz jako jednu dlaždici (pro malé obrázky). Pokud mají některé komponenty menší rozlišení, dlaždice jsou rozděleny na stejných místech jako ty s vyšším rozlišením). Následuje komprese každé dlaždice separátně, na to se použije L-úrovňová dyadická (pyramidová) wavelet transformace - buď (9,7) floating point wavelet (Daubechies biorthogonal 7/9), nebo (5,3) integer wavelet. Při použití bezeztrátové komprese pouze integer wavelet. L-úrovňová transformace má L+1 rozlišení obrazu - L je rozlišení obrazu a 0 je nejnižší frekvence (neboli LFS - lowest frequency subband). Ze 4 subbandů rozlišení j se složí jeden s rozlišením j+1. Kvantizace jednotlivých subbandů - floating point koeficienty se kvantizují na celá čísla pomocí uniformní kvantizace, krok kvantizace lze volit zvlášť pro každý subband (a tím též částečně řídit kvalitu). Při použití integer wavelet kvantizace odpadá. Po kvantizaci je každý subband rozdělen na „packet partitions“ - čtvercové nepřekrývající se oblasti. Jsou typicky voleny tak, aby napříč subbandy tvořily bloky v originálním obrazu Každá packet partition je dělena na bloky stejné velikosti (kromě bloků na kraji obrazu), všechny bity všech koeficientů v bloku jsou pak kódovány pomocí EBCOT.

EBCOT (Embedded Bitplane Coding with Optimal Truncation) je proces kódování všech koeficientů v bloku v pořadí od nejvýznamnějšího po nejméně významný.

Prvním průchodem je vždy Cleanup Pass.

Bit je důležitý, pokud v této, nebo v předchozích bitových rovinách v něm byla 1.

Znaménko se kóduje společně s prvním bitem.

Takto získané bity se kódují binárním kontextovým binárním aritmetickým kodérem - MQ kodérem. Kontext koeficientu je tvořen stavem jeho 9 sousedů. Výsledný proud bitů je rozdělen na pakety - paket spojuje jeden ze tří průchodů všech bloků přes celou packet partition.

Paket má hlavičku, kde jsou informace o obsažených blocích: počet nulových a obsazených bitových rovin, zdali blok vůbec obsahuje data a další…

Pomocí vypouštění méně důležitých paketů se řídí kvalita, při bezeztrátové kompresi se žádný paket vypustit nesmí.

Pakety ze všech subbands jsou složeny do tzv. vrstev. Jedna vrstva obsahuje všechny pakety daného typu pro daný subband. Způsob, jakým jsou však bloky děleny do paketů není ve standardu definován a je to na algoritmu, stejně tak pořadí paketů ve vrstvě. Obecně se očekává, že data budou řazeny tak, aby se s přibývajícími vrstvami kvalita obrazu rovnoměrně zvyšovala.

Standard však nedefinuje způsob, jak najít optimální délku paketu pro všechny bloky. Kompresor se snaží se minimalizovat celkové zkreslení při dané velikost výsledných dat či kvalitě a musí tedy nějak rozhodnout kde v paketech „odseknout“ již méně významné bity.

Jeden z možných algoritmů na kompresi:

[editovat] Další vlastnosti JPEG 2000

[editovat] Srovnání s JPEG

Pro střední stupeň komprese poskytuje JPEG 2000 asi o 20 % lepší kompresi než JPEG, pro nízké nebo vysoké stupně komprese může být zlepšení ještě větší. Vhodné pro JPEG 2000 jsou velké snímky, nebo snímky s málo kontrastními okraji (například lékařské snímky). Kodér JPEG2000 má oproti JPEG vyšší paměťovou i časovou náročnost. Na rozdíl od JPEG se neprojevují artefakty vzniklé dělením do bloků 8×8 pixelů, ale pokud se použije dělení obrazu do dlaždic, bude zde vidět nespojitost - proto se to v praxi moc nepoužívá. Často se používá „Chroma subsampling“, kdy barevné komponenty mají poloviční rozlišení, neboť lidské oko je více citlivé na jas, než barvu. Pokud se barvy v obrázku příliš rychle střídají, budou vypadat mdle.

JPEG 2000 (stejně jako JPEG) osciluje ve spektrální doméně (algoritmus se snaží na ostrou hranu napasovat vlnovou funkci), což znamená, že kolem ostrých hran i zde budou viditelné artefakty. Obrazy s vysokým poměrem komprese jsou více rozmazané než originál (neboť ztrátovost komprese se projeví nejvíce u vysokofrekvenční složky).

[editovat] Externí odkazy

Formáty audiovizuálních dat
Obrázky APNGBMPGIFHDPJPEGJPEG 2000MNGPCXPNGSVGTIFFWBMPXPM
Video MPEG-1MPEG-2MPEG-4 ASPH.264 (MPEG-4 AVC)HuffYUVRealVideoTheoraDiracWMV
Zvuk AACApple LosslessAC-3AMRATRACFLACG.711G.729MP3MODSpeexVorbisTAKWAVWMAMusepack
Kontejnery AVIOggMPEGQuickTimeASFMP4Matroska




Související články obsahuje
Portál Fotografie
 
JPEG 2000 v jiných jazycích: Deutsch, English, Español, Suomi, Français, Italiano, 日本語, 한국어, Nederlands, Kapampangan, Polski, Português, Русский, Svenska, Українська, 中文
Tento článek je převzat z české wikipedie - otevřené encyklopedie, originální článek naleznete na adrese: „http://cs.wikipedia.org/wiki/JPEG_2000
Stránka byla naposledy upravena v Stránka byla naposledy editována 23. 7. 2008 v 18:47.
Veškerý text je dostupný za podmínek GNU Free Documentation License (Autorské právo pro podrobnosti).
Další služby: Portál | Katalog | Hledej | Zprávy | Počasí | Kurzy | Práce | Slovník | TV | Online hry | Java hry | SMS | Loga a melodie | Chat | Fórum | Kontakt