Hi10P H.264

Aki találkozott már ilyennel az biztosan animét töltött le, akárcsak korábban az MKV konténerformátum esetén úgy most egyes anime providerek elkezdtek a High 10 Profile H.264 videóformátum mellett kiállni.

Szóval mi is az a High 10 Profile (10 bites vagy Deep Color) H.264? Miért is lehet rá szükség és miben is különbözik a Main Profile vagy High Profile (8 bites vagy True Color) H.264-től?

A bitérték a színinformáció színcsatornánként (vörös, zöld és kék). Színcsatornánként 8 bit (komponensenként 256 szint) pixelenként 24 bites színmélységet jelent (az 256 x 256 x 256, azaz 16777216 színérték reprezentálását teszi lehetővé).
http://en.wikipedia.org/wiki/Color_depth

Rendben, tehát a szoftverünk 24 biten képes színeket ábrázolni, de mégis mennyit képes megjeleníteni a kijelzőnk?

A kijelzők nagy többsége színcsatornánként mindössze 6 bitet (komponensenként 64 szint), ez pixelenként 18 bitet jelent (ami 64 x 64 x 64, azaz 262144 szín).

Ez közel sem elegendő (lásd. colour banding), ezért a kijelzőgyártók egy ditheringnek nevezett eljárást alkalmaznak amivel emulálható a 8 bites színmélység a pixelek színátmeneteinek váltogatásával.
http://en.wikipedia.org/wiki/Frame_Rate_Control

Ténylegesen 8 bites kijelzőpanelek is vannak amik 10 bitet emulálnak Frame Rate Control-al és vannak grafikusoknak szánt kijelzőpanelek amik feldolgozni (amit a Video Signal Processor végez) és ténylegesen megjeleníteni is képesek 10 bitet (komponensenként 1024 szint, azaz 1073741824 szín) egy 10 bites kimenetre képes videókártyával.

De mi köze mindennek a H.264 videóállományokhoz?

A professzionális videózás 10 bites színformátumot alkalmaz, a gyártási folyamat végterméke minden esetben 10 bites szignál.

Azonban a terjesztés széleskörben (HDTV-n és optikai lemezeken) a 10 bites leképezést nem támogató alkalmazott encoderek és decoderek miatt már 8 bites, azaz képinformáció veszik el (már csak a 4:2:0 chroma subsampling miatt is).

Egyes esetekben, színátmeneteknél, sötétebb vagy homogén képterületeknél ez a downsampling észrevehető lehet, emiatt a videóállományban hardcodeolják a ditheringet (rögzítik a pixelek színátmeneteinek váltogatását) a 10 bit emulálásához.

A BD lemezeknél kiemelten, mivel 8 bites 4:2:0 színformátummal rendelkeznek, azonban 8 biten mindössze 219 szinttel (ami 219 x 219 x 219, azaz 10503459 szín).

Többek között a Sony alkalmaz ilyen preprocessinget BD kiadásokon, a hardcodeolt ditheringet Super Bit Mapping for Video (SBMV) elnevezéssel marketingelik.

A hardcodeolt ditheringnek a legészrevehetőbb hasznát a homogén képterületekkel rendelkező animációs filmek, leginkább a japán animék veszik.

Mindennek az előnyei melett hátrányai is vannak, a dithering miatt kevésbé hatékony a H.264 videótömörítés, magasabb bitráta szükséges, növekszik a fájlméret.

És itt jön képbe a High 10 Profile H.264, ami 10 bites színformátumot biztosít, ennek pedig a következők az előnyei:

- A 10 bites színformátumú eredetivel közel (a chroma subsampling még mindig adott) megegyező megjelenés colour banding (és más artifactek) nélkül.

- Kisebb fájlméret (vagy azonos fájlméret, de magasabb bitráta): már nem kell alkalmazni ditheringet, valamint a 10 bites pontosság hatékonyabb tömörítést tesz lehetővé.

Ellenben a következők a hátrányai:

- A hardveres videógyorsítása egyelőre nem támogatott.

- A codecek egy része egyelőre nem támogatja.

- A hardveres lejátszók egyike sem támogatja egyelőre.

- A lejátszáshoz és encodeoláshoz is nagyobb teljesítmény szükséges.

- Ténylegesen csak 10 bites megjelenítésre képes kijelzőn és videókártyával közel azonos a megjelenés a 10 bites színformátumú eredetivel.

Linuxon jelenleg a VLC és az MPlayer2 képesek lejátszani a Hi10P H.264 videóállományokat, azonban ha nem áll rendelkezésre megfelelő eszközmeghajtó 10 bitre képes videókártyával (AMD FirePro vagy Nvidia Quadro) akkor swscale-el ditherelt 8 bitessé alakítják azokat (a colour bandinget és a sötét képterületek artifactjeit még ez is képes mérsékelni).

Az MPlayer (és MPlayer2) OpenGL kimenettel képes lehet 10 bites színinformációt tartalmazó videóállományt megjeleníteni megfelelő OpenGL eszközmeghajtóval és videókártyával.

Akik notebookkijelzőt vagy akármilyen TN paneles kijelzőt használnak 6 bit + FRC-vel azok nem fognak semmilyen különbséget észrevenni.

Hi10P-s mintaállományok:
http://blisswater.info/comparison/elephantsdream/
http://forum.doom9.org/showthread.php?t=158836&highlight=v210
Az MPlayer és MPlayer2 GL kimenettel akár 16 bites színinformációt tartalmazó videóállományt (még a Hi444PP H.264 is csak legfeljebb 14 bitet támogat) is képes megjeleníteni, azonban ha ehhez nem áll rendelkezésre megfelelő OpenGL eszközmeghajtó és videókártya akkor 8 bitesre alakítják azt dithering nélkül.
Az elszántabbak szemilegálisan válogathatnak a Hi10P-s anime releasekből.

Hozzászólások