Mpeg-2 enkooderien vertailua

Digivideo

Alla oleva perustuu pääosin nimimerkki Vaka Vanhan 17.12.03 kirjoittamaan artikkeliin


MPEG standardihan märittelee joukon datavirtoja joita kaikki yhteensopivat dekooderit osaavat käsitellä - purkaa alkuperäiseen, pakkamattomaan muotoon. Standardi ei siis ota kantaa siihen miten tuo datavirta tehdään. Se on jätetty enkooderin valmistajan päätettäväksi. Siksipä mpeg-2 enkoodereita on hyvin kirjava joukko. Lisäksi enkooderit kehittyvät koko ajan paremmiksi, joten parhaan kuvanlaadun ylläpitäminen vaatii säännöllistä enkooderin uusimista.

Käytän mpeg-2 enkooderia lähes yksinomaan DVD-levyjen valmistuksessa. Käyttämieni enkooderien laatuun olen ollut pääsääntöisesti tyytyväinen. Niiden hankkimisen jälkeen on kuitenkin markkinoille ilmestynyt uusia ehkä niitä parempia. Oli siis aika tehdä vertailuja niiden välillä.

Saksalaisen c’t lehden numerossa 11/2003 ollut enkooderitesti antoi lopullisen sysäyksen. Lehden testi tuki omaa kokemuksiani siltä osin ettei DVD-koontiohjelmien yhdysrakenteiset mpeg-2 enkooderit tee hyvää jälkeä. Siihen tarvitaan erillinen, monipuolisilla säätöominaisuuksilla varustettu enkooderi.

Lehdessä ei testattu kaikkia niitä enkoodereita joita olin ajatellut omaan käyttööni, joten jotain oli tehtävä itsekin, pelkästään lehden tietojen pohjalta valinta ei suoraan käynyt.

Koska käytän editointiohjelmana Adoben Premiereä, olisi suotavaa että enkooderista on Premiere plug-in. Lisäksi kahden prosessorin tuki auttaisi lyhentämään mpeg-pakkaukseen kuluvaa aikaa, editointikoneeni kun ei ole niitä nopeimpia vaikka onkin varustettu kahdella prosessorilla.

Sisällysluettelo

MPEG-2 pakkauksesta

MPEG-2 pakkaus perustuu neljään periaatteeseen:

· Etsitään pakatun kuvan datasta toistuvia, samanlaisia osia, ja poistetaan kaikki sellainen data jolla ei ole mitään informaatioarvoa. Toisin sanoen, kaikki mikä on jo kertaalleen mukana datassa tai se voidaan muuten ennustaa on tarpeetonta.

· Ihmissilmä on epäherkkä korkeataajuiselle kohinalle. Siten kuvasta voidaan poistaa pieniä yksityiskohtia ilman että katsoja havaitsee kuvan huonontuneen.

· Video-ohjelmassa perättäiset kuvat poikkeavat tavallisesti vain vähän toisistaan. Ottamalla mukaan vain eroa kuvaava tieto, pienenee tarvittava datamäärä huomattavasti kuvan laadun siitä kärsimättä.

· Perättäisissä kuvissa tapahtuvia muutoksia voidaan myös ennustaa kuvaelementtien siirtymistä kuvaavilla liikevektoreilla. Siten dataan ei tarvitse liittää kuvaelementin tietoja, liikevektori riittää.

Ensimmäinen periaatteista on sama jota käytetään esimerkiksi ohjelmien pakkauksessa. Menetelmiä on useita ja ne perustuvat erilaisiin matemaattisiin malleihin. Tuloksena on data jonka avulla voidaan rakentaa täysin identtinen kuva alkuperäisen kanssa. Kyseessä on siten häviötön pakkausmuoto. Mpeg-2 pakkauksessa käytetään yleisesti mm. Huffman koodauksen nimellä tunnettua menetelmää.

Häviöttömien menetelmien heikkoutena on rajallinen pakkaussuhde, eikä ne siten yksin riitä video-ohjelmaa pakatessa.

Ihmissilmän puutteellista havainnointikykyä käytetään hyväksi DCT (Discrete Cosini Transform) menetelmässä. Sitä käytetään lähes kaikissa häviöllisissä kuvanpakkausmenetelmissä kuten JPEG, MJPEG, DV ja MPEG.

Siinä kuva jaetaan 8x8 pikselin kokoisiin lohkoihin joihin kohdistetaan DCT-muunnos. Tuloksena on 64 lukua jotka ilmaisevat eri taajuuksien – värien muutosnopeuksien - suuruuden lohkossa.

Eri taajuuksien merkitystä kuvan laadulle painotetaan kvantisointimatriisilla (Quantize matrix), jolloin osa saaduista taajuuskertoimista tulee joko nollaksi, tai hyvin lähelle sitä, jolloin ne voidaan jättää pois aiheuttamatta kuvan laatuun merkittävää muutosta.

Jos näin saatu data on vieläkin liian suuri, voidaan varsinkin pienten taajuuskertoimien tarkkuutta pienentää lyhentämällä sitä kuvaavaa lukua.

Video-ohjelman mpeg-pakkauksessa käytetään perättäisistä kuvista muodostuneita ryhmiä (GOP = Group Of Pictures), jotka pakataan yhdessä. Ryhmässä voi olla kolmenlaisia kuvia:

· I-kuvia (Intra pictures), joiden pakattu data ei sisällä viittauksia muihin kuviin. I-kuvan data sisältää kaiken tarvittavan tiedon kuvan uudelleen kokoamiseksi. Pakkauksessa käytetään DCT menetelmää.

· P-kuvia (Predicted pictures), joiden pakattu data sisältää viittauksia edeltävään I- tai P-kuvaan. Data sisältää ennusteen kuvan muuttumisesta aiempaan verrattuna sekä mahdollisen eron ennusteen ja alkuperäisen kuvan välillä. Ennuste muodostetaan neljän DCT-lohkon kokoisissa makrolohkoissa. Edeltävästä referenssikuvasta etsitään samanlaista makrolohkoa. Jos sellainen löytyy, niin sen paikka ilmoitetaan uudessa kuvassa liikevektoreilla. Mikäli lohkojen välillä on eroavaisuuksia, lasketaan ero, joka pakataan vielä DCT menetelmällä.

· B-kuvia (Bidirectional pictures), jotka ovat muuten samanlaisia kuin P-kuvat mutta ne sisältävät viittauksia joko aikaisempaan tai myöhemmin tulevaan I- tai P-kuvaan tai molempiin.

Suurin pakkaussuhde saadaan aikaan P- ja B-kuvilla, I-kuvien pakkaussuhteen ollessa joskus hyvinkin vaatimaton. Siksi enkooderin kyvyllä ennustaa kuvassa tapahtuvia muutoksia on suuri merkitys pakatun datavirran suuruuteen.

Vaikka B-kuva näennäisesti pakkautuukin kaikkein tehokkaimmin, niin siihen käytetyt bitit menevät sillä tavalla hukkaan ettei niitä voi käyttää enää uudelleen, viittauksena toisiin kuviin, kuten I- ja P-kuviin käytettyjä bittejä.

Pakkauksen nopeuskriittisin osa on makrolohkojen vertailu, ja B-kuvien pakkaus on haastavin ja aikaavievin. Siten GOP:n rakenteella on vaikutusta myös pakkauksen nopeuteen.

P- ja B-kuvien laskennassa on suuri merkitys liikkeen tunnistukseen käytetyllä rutiinilla. Sen tarkkuuden ja laskenta-alueen säätämisellä vaikutetaan kuvan laatuun ja pakkaustiheyteen. Samalla sitten myös pakkausaikaan.

Pakattaessa DCT-menetelmällä kuvan huonontuminen tapahtuu silloin kun lasketut taajuuskertoimet jaetaan kvantisointimatriisin luvuilla. Kvantisointimatriisilla on siksi suuri merkitys pakatun kuvan laatuun. Usen P- ja B-kuville käytetään eri kvantisointimatriisia kuin I-kuvalle.

Mpeg-standardin vakiomatriisi on sovitettu keskimääräiselle videokuvalle ja on siten kompromissi – varsin hyvin toimiva kompromissi kylläkin. Matriisin vaihtaminen paremmin sopivaksi pakattavaan videoon tuottaa yleensä paremman tuloksen.

Kaikkien samaan kuvaryhmään (GOP) kuuluvien kuvien laatu määräytyy pääasiassa I-kuvien laadun mukaan. P- ja B-kuvissa kun edeltävien kuvien virheet kasautuvat heikentäen niiden laatua. GOP:n rakenne ja pituus vaikuttaa siten kuvan laatuun, pakkaustiheyteen (bittivirtaan) ja pakkausaikaan. Tämä on syytä huomioida enkooderin asetuksia valittaessa.

DCT-muunnoksen jälkeen tehdyn kvantisoinnin voimakkuudella (QSC) on suora vaikutus pakatun kuvan laatuun. Useissa enkoodereissa sen säätäminen tapahtuu laatu(quality)-asetuksella (Q-arvo). Pakatun videon kuvan laatua voi siten karkeasti arvioida käytetyn kavantisointiskaalan avulla.

Usein unohdettu säätö on otoksen vaihtumisen tunnistaminen. Mikäli uusi otos alkaa P- tai B-kuvalla, pakkaustiheys ja kuvan laatukin huononee. Paras tulos saadaan jos kuvatyyppi otoksen alussa voidaan asettaa käsin joko editointiohjelmassa tai enkooderissa. Käsiasetusta voi käyttää GOP:n lyhentämiseen myös muissakin ongelmakohdissa kuin otoksen vaihtuessa.

Silloin kun pakattavan videon laatu on huono, voi pakkauksen tulosta parantaa huomattavasti erilaisilla esisuotimilla. Käyttökelpoisin ja useimmin käytetty suodin on kohinanpoistosuodin. Oikein säädettynä kohinaisestakin, sisällä kuvatusta materiaalista, saa käyttökelpoista mpeg-2 koodattua kuvaa.

Vertailun järjestelyt

Käytän videoiden pakkauksessa lähes yksinomaan mpeg-2 pakkausta ja vielä varsin rajattua, DVD-standardin mukaista muotoa siitä. Siksi tein vertailuni pelkästän DVD-tuotanto mielessä. Vaikka DVD-standardi sallii myös mpeg-1 pakkauksen videolle, sitä käytetään hyvin harvoin. Siksi en kiinnittänyt mitään huomiota enkoodereiden kykyyn tehdä mpeg-1 pakkausta. Samoin perustein jätin pois myös mpeg-4 pakkauksen testaamisen.

Vertailuun käytetty video

Vertailua varten tarvitsin minuutin mittaisen videopätkän. Kokosin sen Canon MV5i kameralla laajakuvamuodossa kuvatusta DV-materiaalista. Otokset valitsin tavallisista kotikuvaajan aiheista joissa ei ole kovin nopeaa liikettä. Kuvaukset on tehty käsivaralta paria poikkeusta lukuun ottamatta, joten niissä on havaittavissa tällaisille kuvauksille tyypillistä tärinää ja huojuntaa koko kuva-alalla.

Useimmat otokset sisältävät pieniä yksityiskohtia, mutta myös isoja pintoja on mukana. Pari otoksista on sisäkuvauksia ja toinen niistä näyttämöltä (tanssijat) jossa tausta oli täysin pimeä. Mukana on myös pari otosta joissa kuvan etualalla on iso liikkuva kohde lähes paikallaan pysyvää taustaa vasten. Mukaan valittiin myös pakolliset zoom ja cross dissolve jaksot.

Kuvaus Alku Loppu Pituus
Kuva:Lasimaalaus.jpg Lasimaalaus, ei liikettä, tärisevää sisäkuvaa 0:00:00 0:01:24 (49) 02:00
Kuva:Hillankukka.jpg Hilla kukkii, paljon yksityiskohtia, vähäistä liikettä tuulessa 0:02:00 0:04:24 (124) 03:00
Kuva:Aaltoja-kivilla.jpg Aaltoja, aallot vyöryvät kuvan poikki 0:05:00 0:12:22 (322) 07:23
Kuva:Leponiemi.jpg Maisema, lähes still kuva, tyyni vedenpinta 0:12:23 0:19:04 (479) 06:07
Kuva:Image010.jpg Ristikuva 0:17:05 (430) 0:19:04 (479) 02:00
Kuva:Lisko.jpg Sisilisko, Pieniä yksityiskohtia. Terävä - epäterävä. Koko kuva liikkuu. 0:17:05 0:24:01´(601) 06:22
Kuva:Tanssijat.jpg Tanssijat.Paljon liikkuvia ja erivärisiä kohteita hämärässä. 0:24:02 0:33:04 (829) 09:03
Kuva:Siniset-kukat.jpg Siniset kukat.Vähäistä liikettä tuulessa 0:33:05 0:36:04 (904) 03:00
Kuva:Zoom.jpg Zoom. Zoomaus ja heiluva kamera 0:36:05 0:39:12 (987) 03:08
Kuva:Ruovikko.jpg Ruovikko. Ruovikon huojuntaa ja aaltojen väreilyä. Paljon yksityiskohtia 0:39:13 0:48:15 (1215) 09:03
Kuva:Poro.jpg Poro. Hitaasti liikkuva iso kohde. 0:48:16 0:54:03 (1352) 05:13
Kuva:Turvemaja.jpg Turvemaja. Lähes koko kuva-alan kokoiset liikkuvat pinnat 0:54:04 1:00:00 (1499) 05:21

Otosten järjestyksen valitsin siten että mpeg-enkooderi joutui heti aluksi pieniä yksityiskohtia (hilla kukkii) ja koko kuva-alalla tapahtuvan liikkeen (aallot) koodaamiseen. Heti perään on kaksi lähes liikkumatonta kuvaa sisältävää jaksoa ja niiden välissä cross dissolve siirtymä.

Loppuosassa testivideota vuorottelevat liikettä ja pieniä yksityiskohtia sisältävät otokset. Aivan videon lopussa on kaksi otosta joissa on isoja liikkuvia objekteja ja tasavärisiä pintoja.

Tällä järjestelyllä halusin saada näkyviin eroja multi pass ja single pass enkoodereiden välille. Tarkoituksena oli myös nähdä kuinka nopeasti ja mitä parametrejä muuttaen enkooderit reagoivat eri tilanteisiin.

Mukaan otetut MPEG-2 enkooderit

Minulla on Pinnaclen DV500+ editointikortti jossa on kortilla olevaa mikropiiriä hyödyntävä mpeg-kodekki, Pinnacle MP2 mpeg enkooderi. Enkooderi on reaaliaikainen, ja toimii suoraan Premieren aikajalalta. Lisäksi Pinnacle julkaisi siitä jokin aika sitten päivityksen versioon 4.5 joka toi mukanaan monia uusia ominaisuuksia.

Ostin jokin aika sitten Ligos LSX-MPEG enkooderin Premiere plug-in’in. Se on säädettävyydeltään selvästi monipuolisempi kuin Pinnaclen enkooderi ja sen tekemä jälki näyttää silmämääräisesti tarkasteltuna todella hyvältä. Vaikka sitä pidetäänkin nopeana niin reaaliaikainen se ei ole. Silti se on ollut suosikkini.

Olen myös pitkään käyttänyt Hiroyoki Horin tekemää TMPGEnc enkooderin Beta versiota 12a. Sitä pidetään hyvälaatuisena mutta hitaana. Parasta siinä on kuitenkin säädettävyys ja monipuoliset työkalut tiedoston esi- ja jälkikäsittelyyn. Enkooderin hitaudesta johtuen sen käyttö on kuitenkin ollut vähäistä omissa projekteissani.

TMPGEnc’stä on ilmestynyt myös kaupallinen versio Pegasus Systemsiltä. Se kulkee nimellä TMPGEnc Plus. Sen käyttöliittymä ja muut ominaisuudet ovat identtiset aiemman beta version kanssa. Minua kiinnosti tietää miten sen tekemän mpeg-2 pakkauksen jälki on muuttunut, ja olisiko tapahtunut parannusta myös nopeuden suhteen. Siksi valitsin mukaan siitä version 2.510.

Premieren 6.5 versioon on Main Conceptilla plug-in jota on pidetty laadukkaana enkooderina. Koska tuo plug-in ei suostunut asentumaan käyttämääni Premieren versioon, jouduin tyytymään Main Concept MPEG Enkooderin demoversioon 1.3 joka sisältää saman enkooderytimen kuin plug-in.

Cinema Craft on myös tunnettu laadukkaista mpeg-enkoodereistaan. Otin mukaan heidän demoversionsa CCE SP ja CCE Basic. Molemmissa enkoodereissa on myös Premieren plug-in mukana.

Digivideoyhdistyksen keskustelufoorumilla käydyn keskustelun tuloksena lisäsin mukaan vielä kolme sellaista enkooderia jotka eivät alun alkaen olleet mukana.

Panasonic julkaisi vanhan mpeg-1 enkooderin jatkoksi uuden myös mpeg-2 enkooderin sisältävän plug-in’in Premierelle.

Pinnaclen Studio 8 on varsin yleisesti käytetty ”kamerasta DVD-levylle” editointi ja koontiohjelma. Sen laadusta on oltu ”monta mieltä”, joten lisäsin sen joukkoon.

Nero poltto-ohjelma sisältää myös mpeg-2 enkooderin. Sitäkin käytetään hyvin paljon joten katsoin aiheelliseksi ottaa senkin mukaan vertailuun, varsinkin kun Mikko P suostui ystävällisesti koodaamaan testissä tarvittavat tiedostot niin Studio 8 kuin Nero 6 enkooderilla.

Mukaan tuli siten viisi Premieren plug-in ja viisi itsenäistä enkooderia. Yksi mukana olevista on reaaliaikainen rautakodekki ja loput ohjelmistopohjaisia.

Testikoneena, jolla pakkaaminen tehtiin, käytin kahdella Celeron 466 MHz prosessorilla varustettua PC:tä. CCE:n enkooderit vaativat prosessorilta SSE-tukea jota tuosta koneesta ei löydy, joten asensin ne toiseen editointikoneeseeni jossa vaadittu tuki on.

Testatuista enkoodereista löytyi usean prosessorin tuki (SMP-tuki) vain Pinnaclen, Main Conceptin ja TMPGEnc:n enkoodereista. Muut tukeutuivat Premieren ja käyttöjärjestelmänä toimineen Windows 2000 Pro:n tarjoamaan SMP-tukeen.

Vertailun suorittaminen

Koodasin jokaisella vertailuun otetulla enkooderina testivideon kolmella eri datavirran tavoitearvolla muuttuvalla datavirralla (VBR). Jos enkooderissa oli mahdollista valita multiapas toiminto, sitä käytettiin. Datavirran maksimiarvo pidettiin joka kerran DVD-standardin sallimassa maksimiarvossa. Näin enkooderille jäi vapaus käyttää vaikeasti koodattavissa kohdissa niin suurta datavirtaa kuin mahdollista.

Taulukko 2

Vertailussa käytettyjen tärkeimpien parametrien arvot

Enkooderi VBR 2-pass Max Mb/s Avg Mb/s Min Mb/s GOP Motion estimate Scene change
Pinnacle MP2 v 9 8/6/4 15
LSX v 9 8/6/4 2,5 15 15 5/Prem
TMPGEnc 12a v V 9 8/6/4 2,5 15 Normal v/pakko
TMPGEnc 2.5 v V 9 8/6/4 2,5 15 Normal v
MainConcept v 9 8/6/4 2,5 15 8/25
Panasonic V V 8 8/6/4 15 v
CCE SP v V 9 8/6/4 2,5 15 Natural v
CCE Basic v V 9 8/6/4 2,5 15 Natural v


Jos DCT-matriisi oli valittavissa, käytin valmistajan suosittelemaa. Samoin huomioin valmistajan suosituksen muidenkin parametrien valinnassa. Muilta osin parametrit pyrin asettamaan mahdollisimman yhteneviksi.

MPEG-2 pakkauksen tein pääsääntöisesti suoraan Premieren aikajanalta, paitsi TMPGEnc’n, Main Concept’in, Nero 6:n ja Studio 8 enkoodereilla. Niitä varten tulostin Premierestä oman DV-AVI tiedoston.

Cinema Craftin Premiere plug-in osoittautui liian raskaaksi ohjelmaksi käytetylle kokoonpanolle. Koneen resurssit loppuivat kesken ja enkoodaus kesti luvattoman kauan, joten myös niiden kohdalla siirryin käyttämään itsenäistä enkooderia.

Vertailussa käytetyn PC:n kokoonpano käy ilmi taulukosta 3. CCE enkooderien testiajot jouduin tekemään toisella, yhdellä 800 MHz Celeron prosessorilla varustetulla koneella.

Taulukko 3

Testissä käytetty laitekokoonpano
Suoritin 2x466 MHz Celeron II
Emolevy ABIT BP6
Piirisarja Intel 440 BX
BIOS versio Bp6ru
Muistin määrä 640 Mt SDR-100
Näytönohjain Matrox G200 Marvel
Kiintolevyohjaimet Emolevyn ATA33 (ja ATA66) St Labs ATA100 PCI-ohjainkortti CMD Driver version 2.0.6
Kiintolevyt Maxtor 33073U4 30 Gt IBM DTLA 305040 40 Gt Maxtor D740X-6L080J4 80 Gt IBM GPX120 80 Gt
Optiset asemat Hitachi DVD-ROM Pioneer DVD-R A03
Tiedostojärjestelmä NTFS 5.0
Käyttöjärjestelmä Windows 2000 Pro SP3
DirectX versio 8.1


Pakkauksen laadun arviointi

Enkooderin työn jälki näkyy mpeg-pakatussa videokuvassa puuttuvina yksityiskohtina ja erilaisina virheinä, artefakteina. Niitä on sitä vähemmän mitä paremmasta enkooderista on kyse. Enkoodauksen laatua voidaan periaatteessa arvioida näiden virheiden määrän ja suuruuden avulla ainakin kolmella eri tavalla:

· Katsojaraadin avulla. Siinä vertailtaan lopputuloksia keskenään katsomalla mahdollisimman hyvälaatuisella laitteistolla valmista videota. Menetelmä on työläs ja lopputulos riippuu paljolti raadin jäsenten osaamisesta.

· Vertaamalla alkuperäistä ja koodattua materiaalia toisiinsa kuva tai pikseli kerrallaan. Vertailu tehdään sitä varten kehitetyillä ohjelmilla jotka perustuvat erilaisiin laskentamenetelmiin. Eräs tällainen on Sarnoff Corporation kehittämä JND metrix (Just Noticable Difference) menetelmä. Tätä menetelmää käytti myös edellä mainittu c’t lehti.

· Pelkästään mpeg-datavirrassa olevia tietoja käyttäen. Eräs tällainen menetelmä on Snell&Willcoxin kehittämä Mosalina http://www.snellwilcox.com.

Edellä mainitut ohjelmat on suunniteltu ammattimaisen tuotannon laaduntarkkailuun ja hinnoiteltu myös sen mukaisesti. Siksipä niiden käyttäminen alle kahdensadan euron mpeg-enkooderin valintaan ei ole mielekästä – ainakaan näin harrastelijatasolla. Oli siis löydettävä toinen ratkaisu.

Enkoodauksen laatua voi karkeasti arvioida pelkästään mpeg-tiedoston datavirran (Bitrate) ja Q-arvon (Quantization value) avulla. Tällaiseen arviointiin löytyy jo tavalliselle harrastelijallekin sopivan hintaisia ohjelmia. Itse olen jo pitemmän aikaa käyttänyt Teco Ltd:n Bitrate Viewer ohjelmaa ( http://www.tecoltd.com ) mpeg koodauksen tarkkailuun. Niinpä turvauduin tässäkin vertailussa siihen.

Ohjelma näyttää jokaisen GOP:n tiedot kuvan tarkkuudella. Graafinen kuvaaja on bittivirran ja Q-arvon keskiarvolle joka senkunti. Tarkemmat tiedot on sitten nähtävissä sekunnin pituisissa pätkissä. Tietojen perusteella voi jo aika paljon pätellä tehdyn pakkauksen laadusta. Yleisesti pidetään hyvänä Q-arvoa joka on alle 6, ja kuvan laadun oletetaan heikkenevän sitä suuremmilla arvoilla.

Lisäksi käytin arvioinnin tukena edellä mainittua Mosalinan demoversiota. Se kertoo jo paljon enemmän. Ehkä hyödyllisin on ohjelman laskema pakatun videon laatua kuvaava PAR (Picture Appraisal Rating). Siinä kuvan laatu ilmoitetaan desibeleinä jossa 48 dB vastaa alkuperäisen, ennen pakkausta olevan kuvan laatua. Mitä alhaisempi lukema on, sitä enemmän kuva on huonontunut pakkauksessa.

Mosalinalla voi myös tutkia mpeg-tiedoston bittivirtaa ja Q-arvoa jopa kuvan osan tarkkuudella.

Valmistin myös enkoodereiden tekemistä mpeg-2 tiedostoista DVD-R levyn. Levyä katseli sitten useampikin arvioija vaihtelevilla laitekokoonpanoilla.


Vertailussa saadut tulokset

Enkoodereiden nopeus

Enkoodereiden nopeuden vertailu oli helppoa. Sekuntikello on lahjomaton ja kertoo suoraan koodauksen nopeuden. Vertailua tosin sekoittaa jonkin verran se, ettei kaikissa enkoodereissa ollut SMP-tukea ja että CCE:n enkoodereiden testit ajettiin eri koneella. Studio 8 ja Nero 6:n nopeutta en voinut mitata koska sain valmiiksi koodatut mpeg-2 tiedostot. Tulokset ovat kuvassa 1.

Kuva:Kuva 1 nopeus.gif

Kuva 1. Enkoodereiden tastivideon pakkamiseen käyttämä aika.

Kuvan yläosan viisi enkooderia testattiin taulukossa 3 olevalla laitekokoonpanolla. Pinnaclen enkooderi on reaaliaikaisena aivan omaa luokkaansa. Main Concept ja LSX muodostavat keskiluokan ja TMPGEnc on maineensa veroisesti hitain. Hitaus johtuu kuitenkin pääasiassa siitä, että se käyttää niistä ainoana 2-pass koodausta.

Kuvan alaosassa LSX ja CCE enkooderit on testattu toisella laitekokoonpanolla kuin ylempänä olevat. Nopeudet eivät siten ole suoraan verrannollisia kuvan yläosan tulosten kanssa.

CCE SP ja Basic käyttivät selvästi enemmän aikaa koodaukseen. Selitys on jälleen siinä että CCE Basic tekee kaksi ja SP kolme skannausta kun LSX selviää yhdellä.

Kun tarkoituksena oli löytää hyvää jälkeä tekevä enkooderi DVD-videoiden tekoon en nähnyt mielekkääksi käyttää kaikissa single pass enkoodausta jolloin nopeudet olisivat olleet vertailukelpoisempia. Sitä paitsi, jos nopeutta tarvitaan, Pinnaclen MP2 enkooderi on ylivoimainen muihin nähden, oli niiden asetukset sitten mitä tahansa. Kaiken lisäksi nopeus ei ole mielestäni enkooderin tärkein ominaisuus.

Enkoodereiden pakkaustiheys

Koodasin jokaisella enkooderilla kolme tiedostoa eri bittivirran tavoitearvolla. Tavoitearvot olivat 8000 kbit/s, 6000kbit/s ja 4000 kbit/s. Kuten arvata saattaa olivat lopputulokset sitten hieman tavoitearvosta poikkeavia.

Yllättävää oli havaita, että useimmat enkooderit eivät käyttäneet hyväksi koko sallittua bittivirtaa, vaan tyytyivät tavoitearvoa alhaisempaan arvoon. Suurin poikkeama oli Panasonic’in enkooderilla 8 Mbit/s tavoitearvolla 1455 kbit/s (18%) alle tavoitteen, joka myös näkyi kuvan laadussa.

TMPGEnc versio 12a ei sen sijaan kyennyt koodaamaan vakioasetuksilla testivideota vaadittuun 4000 kbit/s bittivirtaan. Tuloksena oli 1690 kbit/s (42%) suurempi keskimääräinen bittivirta.

LSX MPEG oli enkoodereista ainoa joka käytti tavoitearvoa hieman suurempaa keskimääräistä bittivirtaa.

Kuva:Kuva 2 Tavoitetot.gif

Kuva 2. Toteutunut bittivirta vertailun enkoodereilla.

Enkoodereiden kuvan laatu

Laatua arvioin kolmella eri menetelmällä. Aluksi tutkin tiedostoja BitrateVeiwer ohjelmalla. Kuvassa 3 on ohjelman laskemat keskimääräiset Q-arvot eri bittivirroilla pakatuista mpeg-tiedostoista.


Kuva:Kuva 3 Q arvo.gif Kuva 3. Enkoodereiden pakkaaman testivideon keskimääräinen Q-arvo.

Enkoodereiden käyttämät keskimääräiset kvantisointiskaalat olivat hyvin samanlaiset. Ainoastaan Nero 6 ja LSX MPEG poikkesivat rintamasta selvästi. Niidenkään käyttämä keskimääräinen Q-arvo ei pysynyt 4 Mbit/s bittivirralla alle hyväksi arvioidun arvon 6.

Panasonic’in enkooderi ei selvästikkään kyennyt pakkaamaan testivideota 4 Mbit/s bittivirralla ilman rajua kvantisointia. Se on ilmeisesti optimoitu suuremmille bittivirroille.

Pelkän Q-arvon perusteella ei pidä tehdä kovin pitkälle meneviä johtopäätöksiä enkoodereiden laadusta. Se kertoo kuitenkin milloin enkooderin algoritmi ei ole kyennyt pakkaamaan videota kuvan laatua paremmin säilyttävillä menetelmillä.

Tarkasteltaessa Bitrate Viewerin tuloksia saattoi heti havaita että aaltojen vyöryntä kiville oli kaikille enkoodereille se vaikein pakattava otos. Muiden testivideon otosten kohdalla syntyi selvästi pienempiä eroja.

Seuraavaksi tutkin tiedostoja Snell&Willcoxin Mosalina-ohjelman demoversiolla. Se kertoo tulokset kuitenkin vain ensimmäisten 400 kuvan kohdalta, joten jaoin tiedostot neljään osaan tutkimista varten.


Kuva:Kuva 4.jpg Kuva 4. Ligos LSX enkooderilla pakatun testivideon bittivirta ja PAR-arvot kuvatasolla.

Mosalina näyttää bittivirran ja kvantisointiskaalan lisäksi pakkauksessa käytettyjen parametrien perusteella lasketun arvion kuvan laadun muutoksesta pakkauksessa. Tämä PAR-arvo (Picture Appraisal Rating) ilmaistaan desibeleinä jossa 48 dB vastaa lähdetiedoston kuvan laatua.

Kuvassa 4 on Mosalinan tietojen avulla laskettu kuvakohtainen bittivirta ja sama sekuntikeskiarvoina sekä vastaavat PAR-arvot. Siitä näkyy kuinka I-kuville on varattu suurempi bittimärä kuin P-kuville. B-kuville on sitten jäänyt vähiten bittejä käytettäväksi.

Testivideon alussa olevissa otoksissa on paljon pieniä yksityiskohtia. Enkooderi on niiden kohdalla jakanut käytettävissä olevan bittivirran siten että I-kuvat ovat saaneet maksimimäärän. Näin on varmistettu kuvan yksityiskohtien säilyminen.

Sen sijaan niitä seuraavan aaltoja-otoksen pakkaukseen sopii paremmin bittien tasaisempi jako eri kuvamuotojen välillä.

Kuten jo edellä todettiin erot enkoodereiden välillä syntyivät testivideon alussa olevien hillankukka- ja aalto-otoksien koodauksessa. Kuvassa 5 on testivideon alkuosan kuvan laatua ilmaisevat PAR-arvot QSC-arvon funktiona.


Kuva:Kuva 5 QSCvsPAR.gif Kuva 5. Enkoodereiden kuvan laatua kuvaava PAR-arvo kvansisoinnin funktiona.

Siinä näkyy selvästi että kvantisoinnin suuruus ei yksin määrää kuvan laatua. Samalla enkooderilla voi kuvan laatu vaihdella vaikka Q-arvo olisi sama. Merkille pantavaa on kuitenkin se että Panasonic ja Studio 8 enkooderit joutuivat turvautumaan rajuun kvantisointiin pystyäkseen pakkaamaan testivideon asetettuun 4 Mbit/s arvoon. Sen sijaan Nero 6 ja LSX enkooderit pystyivät pakkaamaan videon varsin vähäisellä kvantisoinnilla.

Kuvassa 6 on testivideon alkuosan PAR keskiarvot eri tavoitevirroilla. Kuvan perusteella ei voi suoraan päätellä enkoodereiden paremmuutta.


Kuva:Kuva 6 PAR-keskiarvo.gif Kuva 6. Enkoodereiden pakkaaman tastivideon alkuosan keskimääräinen PAR-arvo eri datavirroilla.

Kuitenkin testivideoista valmistettua DVD-levyä katsellessa 4 Mbit/s tavoitearvolla Panasonic, Main Concept, Studio 8 ja DV500 enkoodereilla pakatussa videossa oli selvästi muita enemmän pikselöitymistä. Sen sijaan suurimmalla bittivirralla koodattujen videoiden kohdalla ei eroa havainnut käytetyllä testilaitteistolla.

Myös testivideon toisissa osissa tilanne paitsi tasoittui myös järjestys vaihtui. Keskiarvo ei myöskään kerro kaikkea kuvan laadusta. Joillakin vertailussa olleilla enkoodereilla kuvan laatu vaihteli kovin paljon kuten kuvasta 5 näkyy.

Vaikka vertailussa tulikin eroja enkoodereiden laadun välillä soveltuvat ne kaikki harrastelijakäyttöön. Niillä saatu kuvan laatu on jopa hyvä käytettäessä 8 Mbit/s datavirtoja. Vasta kun bittivirta lasketaan 4 Mbit/s saadaan vaikeasti pakattavasta videosta heikkolaatuinen tulos. Se millainen video on enkooderille vaikeaa vaihtelee. Esimerkiksi Nero 6 ja LSX selviytyivät hyvin muille vaikeasta aaltojen pakkauksesta mutta tuottivat heikompaa jälkeä pieniä yksityiskohtia sisältävällä hilla otoksella.

On myös huomattava että mitä monipuolisemmilla säädöillä enkooderi on varustettu, sen paremmpaa tulosta sillä on mahdollista saada aikaiseksi. Paras tulos vaatii kuitenkin opettelua säätöjen vaikutuksesta erilaisten videoiden pakkauksessa.

Henkilökohtaiset työkalut