Una comparativa tra 5 differenti codec.
In esame: 3ivx, Xvid, Divx, x264 e vp7
|
|
Con questo articolo sicuramente non andrò a risolvere l'annoso problema che crea il dubbio se usare il codec DivX o il codec XviD
I codec presi in considerazione per questa comparativa sono 5, e precisamente
3ivx versione 4.5.1 http://www.3ivx.comXviD 1.1.0 Finale http://www.xvid.orgDivX 6.1.0 http://www.divx.comx264 build 394 http://x264.nlvp7 versione 7.0.9.0 http://on2.com La scelta dei codec
XviD e
DivX, non necessita di spiegazioni, sono i due codecs MPEG4 più famosi e da sempre si discute o si cerca di capire quale dei due sia il meglio.
Tali codec rappresentano attualmente quasi il massimo sviluppo possibile per un codec MPEG4 ASP, infatti da parecchio tempo ormai non hanno subito grandi cambiamenti ma solo degli affinamenti.
Il codec
x264 è stato scelto perchè oltre ad essere opensource e decisamente promettente, rappresenta il futuro dei codec MPEG4 visto che implementa (parte) della norma AVC, che altro non è che un insieme di caratteristiche e funzionalità previste dallo standard MPEG4.
Leggete l'articolo scritto da Echelon per capire e farvi un' idea di cosa siano i codec MPEG4 AVC, lo trovate su
questa pagina.Il codec
3ivx è stato scelto per il motivo contrario, nella sua semplicità (manca compressione con B-frames, rate distortion, ecc..) rappresenta un po' i codec del passato, per intendersi Divx 3, 4, le prime versioni di XviD o al massimo le prime versioni del codec DivX 5.
Il codec
vp7 infine, è stato scelto perchè non è un codec MPEG4 ed molto performante.
In questo articolo l'analisi dei codec verrà presentata sia con l'ausilio dello strumento di paragone PSNR (leggete
]questo articolo di Aytin per capire cosa sia il PSNR), sia con degli esempi visivi che permetteranno di confrontare il comportamento sul “campo” dei 5 concorrenti
Ho deciso di usare questi due metodi poiché l’utilizzo di uno solo dei due non è sufficiente a fare un quadro abbastanza fedele di come stanno realmente le cose.
Una sola analisi di tipo strumentale per confrontare il risultato ottenuto da due codec diversi ha poco senso, perché tale tipo di analisi può venir falsata da particolari magari impercettibili dall’ occhio.
Se ad esempio un codec ha tendenza a dare in output un video rispetto all’originale leggermente più scuro o più chiaro, o con una tonalità di colore leggermente più diversa rispetto ad un codec concorrente si rischia di aver un PSNR decisamente inferiore anche se la qualità dell’immagine ed il dettaglio mantenuto sono di alto livello.
Ovviamente il mantenimento della luminosità e dei colori originali è importante per la valutazione del lavoro fatto da un codec, ma se tali variazioni sono minime (e in genere non sempre confrontabili con l’originale), personalmente preferisco un codec che mantiene più dettaglio e che crea meno artefatti. Al limite, basta agire sulle impostazioni del decoder (o del monitor) per sistemare come si preferisce la colorimetria e la luminosità del video.
Ovviamente tramite l’analisi dell’ andamento del PSNR si puo’ capire come si comporta un codec e in genere individuare dove un codec si comporta meglio di un’ altro e di fare delle ipotesi sul perché a volte in certe sequenze un codec si comporta male.
Qualche riga fa ho parlato di decoder, se non avete ben chiaro di cosa di tratta, leggete
questo articolo scritto da Aytin a riguardo.
Per questa comparativa ho deciso di prendere in considerazione i seguenti films
La Guerra dei MondiPerché ha la particolarità di presentare un rumore di fondo molto accentuato che ha la tendenza di mettere in crisi i codec video specie a basso bitrate.
Oltre a questo presenta scene ad alta azione, scene tranquille, scene statiche, scene luminose e scure, esplosioni…
Insomma, a mio giudizio, un buon film per mettere alla frusta i codecs.
La compressione video è stata eseguita con tutti i codec con un bitrate di 1000 kbps, in modo che postesse esser contenuto in 2 cd con la traccia audio italiana in formato AC3 a 448 kbps e con la traccia inglese compressa in ogg vorbis a 6 canali con bitrate di circa 290 kbps.
Sin CityPerché ha la particolarità di avere un buona qualità video (almeno quello in vendita, quello a noleggi non so…) e di essere
quasi totalmente in bianco e nero.
La caratteristica di essere in bianco e nero ci permette di capire come si comportano i codecs quando manca un componente importante per decidere quali strategie adottare per eseguire la compressione, il componente di cui sto parlando ovviamente è il colore.

La compressione è stata eseguita con un bitrate di 685 kbps, in modo che venisse contenuto in un CD con audio MP3 a 128 kbps
Stealth, Arma SupremaUn film d’azione con ampi paesaggi un movimento, che a livello video non presenta particolarità degne di nota, quindi più o meno da l’idea di come si comportano i codec con un film d’azione.
La compressione è stata eseguita con un bitrate di 706 kbps, in modo che venisse contenuto in un CD con audio MP3 a 128 kbps.
I test non sono stati eseguiti sulla totalità del film ma solo su una parte di essi, comunque su spezzoni da 50.000 – 70.000 frames, più che sufficienti per far esprimere i codecs e capire come si comportano.
Sfortunatamente non vi posso proporre l’esempio di un anime perché non ne ho a disposizione, magari in futuro aggiornerò la comparativa.
Ad ogni modo i titoli di inizio di Syn City assomigliano molto ad un anime, quindi non vi resta che leggere la parte riguardate questo film per avere un’ idea di come i codec si comportano con gli anime.
Le impostazioni dei codec non si discostano molto dalle impostazioni standard, per 6 motivi,
- primo perché ad esclusione dei codec XviD e x264, gli altri codecs non hanno tante opzioni di scelta,
- secondo volevo presentarvi una comparativa con impostazioni standard o quasi poiché secondo me la maggior parte degli utenti non ha voglia di rompersi le scatole con impostazioni di cui magari non conosce gli effetti
- terzo per XviD e DivX ho deciso di usare il profilo Certicato “Home theatre” in modo da veder come si comportano quando devono generare un video compatibile con un lettore DivX da salotto
- quarto le impostazioni di base comunque permettono di ottenere buoni risultati, anzi con XviD e x264 molte volte si rischia di peggiorar le cose se si fanno alcune scelte
- quinto, se avessi deciso di usare impostazioni particolari magari qualcuno avrebbe avuto qualcosa da ridire (e forse qualcuno lo farà comunque
)
- sesto… ora non mi viene in mente
Ecco in definitiva le impostazioni usatePer 3ivxTutto per default tranne:
- modalità a 2 passate
- key-frame interval a 250
Per XviD Tutto per default tranne:
- modalità a 2 passate
- key-frame interval a 250
- max consecutive b-frames 1
- VHQ1 anche per b-frames
- Home Theatre profile
Per DivX Tutto per default tranne:
- modalità a 2 passate
- key-frame interval a 250
- max consecutive b-frames 1
- Modalità di compressione “better quality”
- Home Theatre profile
Per x264 Tutto per default tranne:
- modalità a 2 passate
- key-frame intervall a 250
- max consecutive b-frames 1 adaptative
Per vp7 Tutto per default tranne:
- modalità a 2 passate
- key-frame intervall a 250
- modalità “good quality” (l’altra possibilità è “better quality” ma la compressione è scandalosamente lenta).
Ovviamente il bitrate come ho detto prima varia a seconda del film.
Bene, ora non vi resta che leggere le pagine relative al confronto dei 3 films, le trovate nelle pagine seguenti a questa oppure cliccando sui links sottostanti: