Keresés

Új hozzászólás Aktív témák

  • ekimaster

    tag

    válasz Raharin #2594 üzenetére

    Az MPEG a szükséges tömörítési arányt a videó-adatfolyamban képkockán belüli kódolással (intra frame coding) a JPG-hez (és MJPEG-hez) hasonló módon; és a képkockák közötti kódolással (inter frame coding) az ismétlődő (redundáns) vizuális információk kiszűrésével valósítja meg.

    Váltottsoros videó tömörítésekor az intra frame coding tömörítés lehet "intra field" és "inter field", attól függően, hogy a félképeket (fields) a tömörítő külön önmagukban, vagy az egy frame-hez tartozó félképek közötti redundancia kiszűrésével kezeli-e. "Intra-frame, intra-field" tömörítés pl a Sony HDCAM SR rendszerben alkalmazott MPEG 4 SP (Studio Profile) és "intra-frame, inter-field" pl a DV videó kódolása — bár ez nem tartozik szorosan témánkhoz, mert nem MPEG tömörítés.

    A képkockán belüli (I frame) kódolásnak a JPEG tömörítés az alapja.
    A képkockák közötti (inter frame) tömörítés azt használja ki, hogy a mozgóképek rendszerint olyan képszekvenciákat tartalmaznak, amelyekben a legtöbb képkocka hasonlít a megelőző ill. következő képkockára, vagy azonos velük és ezt a redundanciát ki lehet szűrni. Az MPEG tömörítés általában "inter-frame" rendszerű, de (amint később láthatjuk) lehet "intra-frame" is only I Frame kódolás esetén.

    Képtípusok
    Az MPEG videó képcsoportokból (GOP - Group Of Pictures) épül fel, amelyekben három különböző képtípus előre meghatározott sorrendben követi egymást:

    I-képek:
    Intra frame coded - csak képkockán belül kódolt. Csak olyan információt használ fel, amely a képkockán belül megtalálható. Az egyes képkockákon belül JPEG tömörítést alkalmaz, amely az MJPEG tömörítésnél ismertetett DCT transzformációra épül. Az I-képek tömörítési aránya viszonylag csekély, de közvetlen hozzáférési pontokként szolgálnak az MPEG video-adatfolyamhoz, ami a pozicionáláskor, szerkesztésnél, vágásnál (ebből adódóan a broadcast MPEG2-nél) nagyon fontos.

    P-képek:
    a P (predicted) képkocka az őt megelőző "I" vagy "P" képen alapul, azokat használja referenciaként. Ezt nevezik "forward prediction"-nek ~ előre haladó jóslásnak. A P kép a megelőző I vagy P frame képrészleteinek elmozdulását, illetve a képtartalmak közti különbséget rögzíti. A videó egymást követő képkockáiban az objektumok alakja általában nem változik. Az MPEG a P (és B) képekben az objektumok elmozdulását mozgásvektorokkal írja le, a mozgáskompenzációs eljárás segítségével. Az eltérő alak- és színinformációk meghatározása a megelőző (I, P) kép megfelelő információira épül, a különbséget, változást kódolja. A P-képek tömörítési aránya nagyobb, mint az I-képeké. Mivel a P-képek P-képből is származtathatók, előfordulhatnak közöttük hibásak is, és további hibaforrásul szolgálhatnak a hibás frame-et referenciaként használó képkockák kódolásakor.

    B-képek:
    a B (bidirectional) kép a megelőző és rákövetkező "I" vagy "P" képkockákat is felhasználja referenciaként. A kódolás a mozgáskompenzációs technika felhasználásával, a P-képekhez hasonló módon, de két irányból történik. Ezt az eljárást "bidirectional prediction" ~ kétirányú (két irányból történő) jóslásnak nevezik. Az eltérő alakinformáció rögzítése a megelőző és következő I vagy P kép alakinformációinak átlagolásán alapul. A B-képeknek a tömörítési aránya a legnagyobb. A B-kép nem szolgál referenciaként más képek kódolásakor, ezért nem terjeszt hibákat sem.

    Sub-GOP
    A GOP-n belül az I és P képtípusok számát (amelyekből következik a B képek száma is) a kódoló határozza meg. Az I, P vagy B képek különböző aránya nagyban befolyásolja az elérhető képminőséget az adott adatátviteli sebesség mellett. Legkedvezőbb beállításuk nagyon sok változó függvénye, igen nagy szakértelmet vagy tapasztalatot igényel.
    A képcsoportban (GOP) az I képek frekvenciáját, másképpen fogalmazva a köztük lévő intervallumot jelölik N-nel. Az előbbi példaképeken tehát N=9.
    A GOP további alcsoportra osztható. A GOP-re alapozva a P illetve a megfelelő B képkockák frekvenciájának jele: M, a különféle tömörítők ezt nevezhetik SubGOP-nak is. Az előbbi példaképeken M=3.
    A gyakorlatban egy másodpercnyi MPEG videó rendszerint 2 I frame-et tartalmaz. PAL (25 fps) rendszerben tehát általában N=12, NTSC-ben (30 fps) N=15, de a különböző igényekhez nagyon sokféle beállítás tartozhat.
    Mivel az I és P képekhez (ha van) ugyanannyi B kép tartozik (ha van) és I P vagy B, ezért N mindig osztható M-mel.

    "Only I Frame" tömörítés
    Szélsőséges esetben a GOP N lehet 1, ekkor minden képkocka I frame. Ez a képkocka-pontosan szerkeszthető MPEG. Szerkezetéből adódóan adatátvitele az MJPEG-hez hasonló. Többnyire MPEG-2 alapú broadcast nemlineáris editáló eszközökben (NLE) használják. Természetesen a megfelelő minőségű MPEG "only I frame" kompresszió extrém magas bitrátát igényel. (Másképpen fogalmazva, ha egy videót IBP frame-es tömörítés helyett ugyanolyan bitrátával only I frame beállítással kódolunk, a minősége sokkal rosszabb lesz, hiszen nem kapta meg a jó minőséghez szükséges sávszélességet a tömörítő.)
    Az egyébként szabadon állítható "N" és "M" értékek Video-CD formátumnál meghatározottak. Az "N" érték a DVD-videónál is szabályozott (PAL rendszerű DVD-nél N=12, NTSC rendszerűnél N=15), bár a legtőbb lejátszó kevésbé érzékeny erre a beállításra.
    A különböző képtípusok beállítása mellett az MPEG képminősége szempontjából fontos a mozgásvektorok pontos beállítása. Erre a jobb minőségű hardveres- és szoftveres tömörítők adnak lehetőséget. Minél nagyobb területre terjed ki a különböző képrészletek elmozdulásának figyelése, a mozgásvektorok kiszámítása, annál nagyobb a műveletek számítási igénye.

    VBR vagy CBR?

    Az MPEG tömörítés során elérhető minőséget az állandó- (Constant BitRate - CBR) vagy változó adatátviteli sebesség (Variable BitRate - VBR) mellett, az MPEG-1 minőségénél részletezett képtartalom is befolyásolja.
    Könnyen belátható, hogy ha a tömöríthetőség szempontjából változó (eltérő redundanciájú) képtartalmat kódolunk (és majdnem minden felvétel ilyen), a VBR tömörítés azonos tárfoglalás mellett (tehát azonos átlagos bitráta értéket feltételezve) rendszerint jobb minőséget eredményez, mint a CBR kódolás. VBR tömörítésnél a jól tömöríthető (mozgásszegény, nagy homogén felületeket tartalmazó) felvétel-részek alacsony bitrátára kódolása lehetőséget ad az enkódernek a nehezen tömöríthető (gyors mozgásokat tartalmazó, részletgazdag, vagy zajos) részek magasabb bitrátán történő kódolására , ami a képminőség szempontjából biztosít(hat)ja az egyenletességet, szemben a CBR-rel, ahol az állandó adatátviteli sebesség kényszere miatt a előbbi képtartalmaknál (az eltérő tömöríthetőséghez viszonyítva) hol feleslegesen nagy bitráta mellett, hol pedig - a nehezen tömöríthető részeken - relatíve túl alacsony értéken történik a kódolás, ami változó és gyakran nem megfelelő képminőséget eredményez.

    A VBR tömörítés viszont problémás lehet az átlagos adatátviteli sebesség (avarage bitrate) szempontjából (ami fontos, ha pl. hosszabb anyagot írunk lemezre - tehát csak meghatározott méretű tárfoglalás engedélyezett), hiszen a kóder nem tudhatja előre, hogy milyen képtartalommal találkozik a jövőben (azaz, a még nem kódolt videoszakaszon), ennélfogva a kvantálás mértékét is csak becsülni tudja, tehát előfordulhat, hogy vagy a képminőség nem lesz a legideálisabb, vagy az átlagos bitráta tér el jelentősen a beállítottól. Mindezen segíthet, ha a tömörítő képes a többmenetes VBR kódolásra, amely - nevéhez híven - végigelemzi a teljes videofile-t, majd ezt követően készülhetnek a beállított bitráta paramétereknek (átlagos-, minimális-, maximális bitráta) pontosan megfelelő "menetek"; a végső MPEG stream elkészítése. Ezekből adódik, hogy az MPEG kódolása során a legjobb képminőség a többmenetes VBR tömörítést alkalmazó szoftverekkel érhető el.

    Na ilyeneket oktatunk a tanfolyamunkon! Van mit tanulni igaz? :))

Új hozzászólás Aktív témák