280 likes | 468 Views
XviD –videokodekki. 10.02.2006 Petri Hoskonen – mediatekniikan seminaari. Esitelmän rakenne. Mikä on kodekki ? MPEG-4 -perusteita XviD -kodekin synty XviD -kodekista lisää XviD -kodekin perusasetukset. Mikä on kodekki (codec) ?. Lyhenne sanasta CO der/ DEC oder.
E N D
XviD –videokodekki 10.02.2006 Petri Hoskonen – mediatekniikan seminaari
Esitelmän rakenne • Mikä on kodekki ? • MPEG-4 -perusteita • XviD -kodekin synty • XviD -kodekista lisää • XviD -kodekin perusasetukset
Mikä on kodekki (codec) ? • Lyhenne sanasta COder/DECoder. • Sovellus joka prosessoi lähteen (source) datavuon ja muuntaan sen haluttuun datavuo -formaattiin (esim. MPEG-4). • Pakkaus (compress) ja purku (decompress)
MPEG-4 perusteita (1/11) • MPEG-4 poikkeaa suuresti aikaisemmista MPEG-1 (VCD) ja MPEG-2 (DVD) standardeista. • Kehysajattelusta on siirrytty oliopohjaiseen kuvan ja äänen pakkaukseen.
MPEG-4 perusteita (2/11) • Poistaa materiaalista informaatiota jota ihmisen silmä ei pysty erottamaan (vrt. hävittävä pakkausmenetelmä). • Muuttaa pikselidataa vastaavaksi matemaattiseksi likiarvoksi.
MPEG-4 perusteita (3/11) • Väriavaruus: miten pikselien väri ja kirkkaus on esitetty joka kehyksessä (frame). • Materiaalin alkuperäinen (RGB16, RGB24, RGB32 ja YUV, YUY2, YV12, I420) väriavaruus muunnetaan YV12 –väriavaruudeksi.
MPEG-4 perusteita (4/11) • Y-komponentti edustaa kirkkautta eli luminanssia (0-1). • U- ja V-komponentti väri itsessään (-0.5-0.5). • Luminanssin arvo tallennetaan jokaiseen pikseliin ja väriarvo joka neljänteen pikseliin.
MPEG-4 perusteita (5/11) • Prosessin seuraavassa vaiheessa analysoidaan kuinka suuri osa liikkuvasta kuvasta on staattista (liikkeen etsimis/tunnistamis tekniikkaDiscrete Cosine Transformation). • Kodekki jakaa kuvan 8x8 lohkoihin joihon DCT suoritetaan. 4 8x8 –lohkoa ryhmitetään makrolohkoksi (macroblok). • Makrolohkoille määritetään yksityiskohtaisuutta vastaava arvo (high/low).
MPEG-4 perusteita (6/11) • DCT analysoi yksityiskohtaisuutta vastaavat arvot ja suorittaa kvantisoinnin (pikselit taajuus -arvoiksi). • Taajuudet laskelmoidaan uudestaan kvantisointi matriisilla, mikä kertoo koodekille mitä taajuuksia tulee leikata ja milloin.
MPEG-4 perusteita (7/11) MPEG-4 pakkauksen toimintakaavio
MPEG-4 –perusteita (8/11) MPEG -4 purkamisen toimintakaavio
MPEG-4 perusteita (9/11) • 3 eri kehys- (frame/keyframe) tyyppiä (I, P ja B). • Tyypillinen kehysketju esim. IPPPPPIPPPPPIPPPPP.
MPEG-4 perusteita (10/11) • I-kehys (I-frame/Keyframe) • Täysi kehys. • P-kehys (Predicted-frames/Inter-frames) • Sisältää ainoastaan muuttuvan informaation edelliseen kehykseen nähden. • Kertoo kodekille kaiken seuraavan kehyksen muodostamiseen tarvittavan tiedon.
MPEG-4 perusteita (11/11) • B-kehys (Bi-directional predicted frames) • Viittaa edelliseen ja myös seuraavaan kehykseen, jos se ei ole avainkehys. • Kodekki käyttää hyväkseen edellistä ja/tai seuraavaa kehystä tai niiden hybridiä ja valitsee toimivimman yhdistelmän. • Jos kodekki viittaa vain edelliseen kehykseen, muutetaan kehys P-kehykseksi.
XviD:n synty (1/2) • DivX ;-) –kodekki tunnetaan Jerome Rotan (aka ’gej’) –kädentyönä. • Microsoftin WMV (Windows Media Video V3) –kodekista luotu hakkeroitu laiton versio. • Tunnetaan parhaiten DivX ;-) v3.11 alpha –nimellä.
XviD:n synty (2/2) • Projekti OpenDivX (myöhemmin Project Mayo). • DivXNetworks julkaisi suljetun version kodekista nimellä DivX (huom. ei hymiötä) (DivX4, DivX5, DivX6). • Vapaan koodin tukijat jatkoivat kodekin kehitystä Project Mayon:n projektin parissa. • XviD syntyi.
XviD (1/2) • Yleisin videoformaatti vertaisverkoissa (P2P) • Variantteja DivX ;-) 3.11, DivX4, DivX 5, DivX 6, 3ivX, Quicktime MPEG-4. • Alunperin suunniteltu pienille bittivirroille (~1500kbits/s)
XviD (2/2) • Pakkaa videomateriaalin MPEG-4 -yhteensopivaksi datavuoksi (data stream). • Kodekki itsessään ei pysty videon materiaalin pakkaamiseen/purkamiseen. • Tarvitsee erillisen työkalun jolla data syötetään enkooderiin (esim. VirtualDub)
XviD –kodekin asetukset (2/6) • Profiilit • Enkoodaus tavat
XviD –kodekin asetukset (3/6) • Profiilit • Vastaa yksinkertaisesti tiettyä MPEG -4 -standardia jotka on suunnattu eri käyttötarkoituksiin. • Jokaisella profiililla on oma tasonsa joka rajoittaa profiilin tiettyyn bittivuo –skenaarioon. • Bittivuo –skenaario asettaa maksimirajoitteet bittivuolle (bitstream), kehysvauhdille (framerate) ja kehyskoolle (framesize).
XviD –kodekin asetukset (4/6) • Single Pass –enkoodaus • Moodit CBR, Quality, quantizer. • Analysoi videomateriaalin, jossa tarkistetaan jokaisen kehyksen pakkautuvuus -> enkoodaus.
XviD –kodekin asetukset (5/6) • 2-Pass -enkoodaus • Videomateriaali prosessoidaan kaksi kertaa. • Ensimmäisellä kerralla materiaali analysoidaan ja tulos tallennetaan erilliseen tiedostoon ’2 Pass Control’.
XviD –kodekin asetukset (6/6) • Materiaalin analyysin tulosta käytetään parhaan kvantisaatio-arvon/kehyskoon saavuttamiseen, jolla päädytään asetettuun tiedostokokoon. • Enkoodaus. • Paras Laatu
Yhteenveto XviD -kodekista • Ajanmyötä kehittynyt erittäin korkeatasoiseksi video –kodekiksi. • Erittäin suuri säädettävyys. • Ohjelmalla kuten DVD2OGM korkeatasoiset tulokset helposti.