Videokoodekit vertailussa, miten avoimet pakkaajat ja purkajat pärjäävät?

28.09.2015 21:06 | Petrus Laine

Videokoodekkien maailmassa taistelevat tällä hetkellä lähinnä H.264, H.265 eli HEVC ja Googlen VP9. H.265 ja VP9 kuuluvat kumpikin ns. uusimman sukupolven koodekeihin, joiden luvataan tarjoavan huomattavasti parempaa laatua aiempiin verrattuna, kun videon bitrate on sama.

GNOME:n eli GNU Network Object Model Enviromentin, Linuxin suositun käyttöliittymän kehittäjiin kuuluva Ronald Bultje on pistänyt nyt suositus videokoodekit riviin, ja testannut paljonko uusista koodekeista todellisuudessa onkaan hyötyä. Videoiden pakkaajina käytettiin avoimen lähdekoodin vaihtoehtoja, eli VP9:lle libvpx:ää, H.264:lle x264:ää ja H.265:lle x265:ttä.

Ensimmäinen testi on videon laatu tietyllä bitratella. Laadun mittarina Bultje käytti SSIM:iä eli Structural similarityä. Uudet koodekit täyttävät laatulupauksensa ainakin suurin piirtein, bitraten keskivaiheilla vajaassa 2000 Kbps:ssä ero uusien koodekkien eduksi on vajaa 50 %. Mitä pienempi bitrate, sitä paremmin uudet koodekit suoriutuvat H.264:ään verrattuna. H.265 ja VP9 ovat varsin tasaväkisiä bitratesta riippummatta.

Laadulla on kuitenkin hintansa, kuten käy ilmi videon pakkauksen nopeustestissä. Uudet koodekit ovat 10 – 20 kertaa hitaampia pakattavia kuin H.264. Mikäli pakkaukseen käytetyllä ajalla on merkitystä, H.264 voi tarjota jopa parempaa laatua kuin kilpailijansa.

Videoiden purkunopeus riippuu huomattavasti käytetystä videokoodekin purkuohjelmistosta. Bultje vertaili avoimen lähdekoodin ffh264:ää, ffvp9:iä, libvpx-vp9:iä, ffhevciä ja openhevciä keskenään. Alustana oli Intelin Sandy Bridge -arkkitehtuuria käyttävä tarkemmin määrittelemätön prosessori 3,4 GHz:n kellotaajuudella ja Ubuntu 12 -käyttöjärjestelmä. Videot oli pakattu siten, että niiden laatu vastasi toisiaan bitraten sijasta.

Testatuista koodekeista nopein oli ffvp9, joka peittosi noin 115 FPS:n tuloksellaan ffh264:n noin 5 prosentilla. libvpx-vp9 sai tuloksekseen vajaat 90 FPS, openhevc reilu 80 FPS ja ffhevc noin 70 FPS. Koodekeista libvpx-vp9 ei hyödy käytännössä lainkaan useammasta prosessorisäikeestä, mutta muilla koodekeilla suorituskyky kasvaa suurin piirtein lineaarisesti kun säikeiden määrää nostetaan.

Ronald S. Bultje, VP9 encoding/decoding performance vs. HEVC/H.264

Phoronix, How VP9 Video Encode/Decode Compares To H.264/H.265