JPEG 2000 – A jelen!

ekkor: 2011-01-24 · Kategória: Képszerkesztés Szakosan

Lassan, de biztosan!

A JPEG 2000 szabvány már nem mai darab, erre utal a nevében szereplő 2000 szócska is. Ezt a szabványt is (mint a JPEG-et) a Joint Photographic Experts Group hozta létre, még valamikor 2000 környékén. Azonnali elterjedésre számítottak, de ez valamiért nem így lett… csak most kezd fordulni a kocka.

Ennek több oka is van: Az egyik kézenfekvő ok, hogy tulajdonképpen minden programba implementálni kellett volna a JPEG 2000 kezeléséhez szükséges funkciókat, sőt, még a hardvereszközökbe is, ami nyilván valóban lassú folyamat. A másik ok, hogy a két formátum nem kompatibilis (a JPEG és a JPEG2000), az eltérő kódolás miatt.

2001 környékén meglebbentették a hírt, hogy elkészültek a világ első JPEG2000-et hardveresen gyorsító chipjei. A szakma tárt karokkal fogadta a formátumot, viszont megjósolták, hogy az elterjedés lassú folyamat lesz. Úgy is lett, hiszen a gyártók nem vállalták egyrészt a hatalmas plusz költségeket, másrészt akkor még nem volt a formátumra akkora szükség, mint napjainkban.

Megtört a jég!

2011-re elérkeztünk az áttöréshez, hiszen már évek óta általános használatban vannak a nagy felbontású (HD) megjelenítők, beszéljünk akár a szórakoztató iparról, informatikáról, vagy csak egyszerű otthoni használatról. Ez az a pont, amikor szükség van az új szabványra, hiszen az emberek már nem csak simán nagyobb képeket, videókat szeretnének látni, hanem megkövetelik mellé a sebességet is. Számtalan jó tulajdonsága mellett, ebben is nagyszerűen teljesít a szabvány, hiszen a mai modern képrögzítők és megjelenítők is megkövetelik a minél magasabb fps-t a videók terén.

Tulajdonságai:

Jogos a kérdés: Mit is tud az elődjéhez képest? Funkcióit rendkívüli jövőbelátással számos hasznos dologgal bővítették ki:

  1. Az első, és legszembetűnőbb változtatás, hogy az alacsony minőségű JPEG2000 képeknél nem látunk kockásodást a képben, mint a JPEG-ben. Ez a kódolás átalakítása miatt lehetséges,de erről később.
  2. Kifejezetten a nagy, multi-megapixeles felbontású képekhez lett kifejlesztve.
  3. Akár 3szor kisebb fájlméret, mint elődjénél, tehát kevesebb sávszélesség-használat.
  4. Újrakódolás nélküli felbontás-váltás. Ez egy elképzelhetetlenül hasznos funkció. Tömören arról van szó, hogy például internetes használat esetén a JPEG2000 kép betöltődésekor először az alacsony felbontású kép jelenik meg, és az folyamatosan transzformálódik egyre jobb minőségbe. Ennek előnye, hogy a szabvány helyes beállításakor kijelző felbontáshoz tudja igazítani (skálázni) az adott képet, tehát csak akkora felbontást mutat, amennyit érdemes, csak akkora méretben töltődik le a kép, amennyi hasznosan megjeleníthető, de több nem, nem lesz felesleges adat, és kevesebb a sávszélesség-használat is.
  5. A szabványba beépítették a veszteséges és a veszteségmentes tömörítési eljárást is.
  6. Jobb hibatűrés a zajos átviteli csatornákon, nem vehető annyira észre az adatvesztés, mint elődjénél.
  7. Flexibilis fájlformátum: Rengeteg meta-adatot lehet benne tárolni, és a hálózati alkalmazásokhoz használható a JPEG Part 9 JPIP protokoll.
  8. Teljesen támogatja az átlátszóságot és az alpha-csatornákat is.
  9. Hátrányairól egyenlőre nem sokat tudok, azon kívül természetesen, hogy még nincs elterjedve olyan mértékben mint a JPEG szabvány.
  10. Kiterjesztései lehetnek: J2K, JP2, J2C, JPC, JPX, JPF.

Felhasználása:

Természetesen az világhálón használatos eddigi képformátumokat váltja majd ki. Azért is lesz különösen fontos, hiszen a hordozható kisebb méretű eszközök, melyeket internetezésre terveztek, más-más képmegjelenítővel (főleg felbontásra kell gondolni) vannak megáldva, így könnyebb lesz optimalizálni egy adott honlapot sebesség szempontjából, illetve kisebb sávszélességgel is elérhetjük a megfelelő minőséget. Ez értendő a kép és videomegjelenítésre egyaránt. A kijelzőhöz való igazítást skálázhatóságnak hívjuk. Továbbra is fontos megemlíteni, hogy ahol sok kép, videó tárolódik nélkülözhetetlen figyelembe venni a helyigényeket, hiszen a tárkapacitás sehol sem korlátlan, beszéljünk akár egy szervergépről, vagy egy fényképezőgépről, JPEG2000 kevesebb helyet foglal, mint a korábbi szabvány, és azt jobb minőségben.

Újdonságnak számítanak még a 3D-s megjelenítők, viszont ezen a területen egyáltalán nem újdonság a JPEG2000 szabvány, inkább alapkövetelmény. Ahol éles, nagy felbontású képeket, és magas fps-t a követelmény, ráadásul 3d-ben, ott már bevett gyakorlat a JPEG2000 alapú tömörítési eljárás. Ezt a formátumot használják rögzítésre, és utóprodukcióra is, legyen szó színkorrekcióról, vagy a kép és a hang szinkronjáról. A meta-adatok ugyanott tárolódnak és végig érintetlenek maradnak. Még 3D-s megjelenítésnél is elérheti az 50-et a képmegjelenítés száma másodpercenként, ami már megdöbbentően éles gyors mozgásokat produkálhat.

Ezen kívül, a fent említett adottságai miatt természetesen a fényképezőgépekbe is beszivárog a szabvány, de ott még mindig lassú az elterjedés üteme, hiszen sokan meg vannak elégedve a mostani formátumokkal is. Megtalálható továbbá a veszteségmentes tömörítési lehetőség mellett a hadi-iparban, a (HD szatelit képek, mozgás-érzékelés, hálózati megosztás, tárolás területén), az egészségügyben, a távérzékelésben, a meteorológiában.

Működése:

Az eljárást csak dióhéjban írom le, hiszen bonyolultabb mint a JPEG tömörítés, amit egy előző cikkben taglaltam.

Az általában RGB szín-adatokat 2 választási lehetőség szerint átalakíthatja Irreversible Color Transform (ICT) szerint, ami az eddig megszokott YCBCRszínrendszer, illetve átalakíthatja Reversible Color Transform (RCT) szerint is, attól függően, hogy veszteséges, vagy veszteségmentes kódolást szeretnénk használni.
Színátalakítás után a szabvány feldarabolja (tiling) a képet eltérő méretű részekre. A négyszöges területeket felismeri a képben és elkülönítve lekódolja. Ezeknek a területeknek a nagysága változó, viszont a kép felbontását kiválasztva mind egy méretűvé változik.
Az igazi újítás a Wavelet transform (Hullámocska transzformáció), mely szintén lehet irreversible, és reversible, ezt tulajdonképpen a kvantálás módja határozza meg.
A wavelet transform után a skálázott-kvantálás következik, melynél meghatározható a kvantálás lépése is, mely a végső kép minőségét határozza meg.
Ezután történik a lekódolás bitről bitre, és a különféle Exif információk és a különféle Extensible Metadata adatok hozzáadása, és kész is a fájl.

Mivel már nem a 8×8-as blokkokról van szó, hanem különféle méretű információkról, ezért a végső eredmény nem lesz annyira tagolt színátmenetű. A szabvány vizsgálja a kép éleit (edges) és ott nem torzít annyira, mivel az életlenítés effektet használja, tehát blokkosodás helyett inkább életlennek, homályosabbnak tűnhet a kép alacsony minőség esetén.

A különbség képekben:

cherry_three_psd_eredeti_kep

Ez az eredeti kép, tehát ennek a minősége a példa, ez a forrás, ez került tömörítésre.

cherry_three_jpg_kis_felbontasu_kep

A tömörítés szándékosan elnagyolt, hogy jól látható legyen a hibajelenség. Erősen jelentkezik a képen a blokkok széleinél fellépő torzulás.

cherry_three_jpf_kis_felbontasu_kep

Valamivel kisebb méretű, mint a JPEG fájl, és mégis sokkal szebb, nincs blokk-torzítás, inkább enyhe blur, vagyis életlenítés látható. Egyértelműen jobb minőség, mint az elődje.

 A Képek azért kerültek egységesen PNG formátumba, mert nem minden böngésző támogatja a JPF szabványt (még), tehát kerestem egy veszteségmentes formátumot, mellyel megmutathatom a látott képet, torzítás nélkül.

JPEG2000 az életünk része:

A szabvány mint ahogy írtam már el van terjedve bizonyos szinten, és folyamatosan lesz életünk része.

Képszerkesztésben a fontosabb programok ismerik, a Photoshop CS5-ben már alapból megtalálható a kódoló plugin.

Photoshop CS5 JPF kódolás Photoshopban

JPF_beallitasok

JPF_beallitasok2