MPEG ENCODERS - Qualita' e tempo di codifica
Autore: Benedetto  Home Page: http://web.tiscalinet.it/benis/dvd/dig_vid.htm
I test sono stati fatti testando in quasi un anno i diversi encoders valutando tra l'altro il miglioramento delle prestazioni al succedersi delle versioni più recenti. Se l'Xing e il Darim sono rimasti da un anno bloccati alle attuali versioni, Lsx Encoder stand alone è passato dalla v2.0 alla 3.0 con un leggero miglioramento delle caratteristiche, mentre il Panasonic è riuscito a diminuire leggermente i tempi di conversione e a risolvere alcune instabilità nel passaggio dalla 2.0 alla 2.3 senza apportare grosse differenze con la 2.5e 2.51. Bbmpeg ha da poco aggiunto la compatibilità Mpeg1, anche se il suo progetto è bloccato dal momento in cui il programmatore sta ora lavorando per il programma commerciale Main Actor: in tutti i casi il codice è liberamente prelevabile e la "comunità di programmatori" sta cercando di migliorarlo ulteriormente. 
TMPGenc che è disponibile dal 10 settembre nella versione ß12a, da un paio di mesi a questa parte ha sbaragliato la concorrenza e personalmente lo considero insuperabile: senza anticiparvi nulla basta sapere che è Freeware, produce il miglior Mpeg1, ha la possibilità di modificare una infinità di parametri e come se non bastasse riesce a rendere compatibile con l'opzione VCD di Nero Burn tutti gli Mpeg prodotti dagli altri sw, grazie alle sue capacità di multiplexing, demultiplexing, join, merge; inoltre è parecchio veloce (e con l'opzione low e lowest  quality anche se in leggera difficoltà nelle scene dinamiche offre velocità molto elevata. Ottima senza riserve anche la codifica in MPEG2.

La configurazione del mio computer con cui sono stati fatti i test è la seguente: PII 400 Mhz, 128 Mb ram, SK madre Asus P2b (chipset Intel 440 Bx), lettore dvd Creative 5X, Matrox Marvel g200, Desktop Theater 5.1 Dtta2500 , Sb live!, Monitor 19 pollici ViewSonic ps790, Masterizzatore Yamaha 4X4X16.

Alcune premesse:

  1. - Nella compressione Mpeg , operazione tipicamente svolta dalla CPU indipendentemente dal resto delle periferiche, vi è una proporzionalità quasi diretta tra tempo e frequenza: in pratica un PIII a 800 Mhz codifica un video nella metà del tempo rispetto ad un PIII a 400 Mhz.
  2. - Le schede madri e i loro chipset influenzano i tempi di codifica, a parità di processore, nell'ordine del 10%: il record negativo va ai sistemi Celeron in cui il chipset Intel440 Bx rispetto al Via Ap133 riesce nei casi più estremi a dare vantaggi del 20%. Considerando come siano diversi i tempi a secondo del Sw usato, tali variazioni non sono molto rilevanti.
  3. - I PIII rispetto ai PII a parità di frequenza produrrebbero vantaggi del 10 -20% grazie al set di istruzioni SSE se utilizzato: l'unico sw che lo sfrutta è il TMPGenc.
  4. - I PII rispetto ai Celeron a parità di frequenza producono vantaggi pressoché nulli.
  5. - Gli Athlon rispetto ai PIII a parità di frequenza producono vantaggi nell'ordine del 10 %.
  6. - Una conferma di tali confronti la potete trovare ad esempio su PC Professionale Maggio 2000 nella scheda comparativa tra le schede madri in cui è stato utilizzato l' LSX Encoder 3.0.

Prima di esporre i risultati occorre dire che se sul tempo di codifica basta cronometrare e valutare i risultati, per il discorso qualità la cosa non è banale: per una valutazione "scientifica" ci sono gli indici PQR (Picture Quality Rating) che sfruttano un sw che analizza il video compresso, lo confronta con quello originario pesando le differenze con un algoritmo che sfrutta dei coefficienti che sono legati alla capacità di un "osservatore standard" di osservare gli artefatti. Per far ciò ci sono dei pacchetti HW-SW come il PQA-200 Pycture Quality Analyzer che ovviamente non possiedo.
Volendo fare delle valutazioni soggettive si può procedere o facendo visionare lo stesso video compresso con i diversi encoder a più persone ( è un test che spero di fare con alcuni miei amici tra breve) oppure si deve analizzare personalmente tali video; è ciò che ho fatto.
Il vantaggio è che, con l'esperienza accumulata, so dove osservare: l'analisi la si deve fare sia su scene statiche che in movimento e occorre analizzare fattori tipo corrispondenza cromatica, pulizia dei colori, dettagli ad " alta frequenza" e creazione di Macroblocchi visibili: il rischio è venir condizionati da simpatie o da parametri tipo costo del programma o tempo di codifica. Le conclusioni che riporto sono pertanto mie particolari impressioni.

Il numero che compre nella casella "Tempo" indica il tempo di codifica che occorre con il mio sistema PII 400 rispetto alla durata del filmato originario: ad esempio 2 ===> un filmato di 1 minuto è decodificato in 2 minuti. Maggiore è il numero più lento è l 'encoder.
Segue l'indicazione FPS (n. di fotogrammi codificati al secondo): ovviamente FPS=25/Tempo
Nella casella Qualità compare un voto in decimi.

 

Encoder

Tempo FPS Qualità
Xing Mpeg Encoder v2.20 2.4 10.4 6
Lsx Mpeg Encoder plug-in 2.8 8.9 5
Darim Dvmpeg v5.01 3.0 8.3 5
Lsx Mpeg Encoder v3.0 3.4 7.4 7.5
Vitec Mpeg Maker 2 V2.0 4.1 6.1 5
TMPGenc v  ß11f (freeware) -normal quality 
                                            -low quality
5.2
3.7
4.8
6.8
9.5
8
TMPGenc v  ß12 (freeware) -normal quality 
                                            -low quality
4.9
3.2
5.1
7.8
9.5
8
TMPGenc v  ß12a (freeware) -normal quality 
                                            -low quality
                                            -lowest quality
4.1
3.2
3.1
6.1
7.8
8.1
9.5
8
8
Panasonic Mpeg1 enc. stand-alone v 2.3 e plug-in v2.1 5.6 4.5 9
Panasonic Mpeg1 enc. stand-alone  v 2.51  5.7 4.4 9
Bbmpeg v1.23 stand-alone e plug-in (freeware) 8.5 2.9 8
Media Technologies Mpeg soft engine v2.04 37.5
9.7
0.7
2.6
8.5
Euris Mpeg Power Pro 2.0h 6.1 4.1 8
Pixel Tools Mpeg Repair v1.58b (solo video) 6.2 4.0 8
eRoom System  Rainbow Mpeg encoder 1.1 4.1 6.1 4
Herosoft2000 Avi to Mpeg 1.0 12.5 2 4.5
Wis Mpeg 2i v1.1 7.2 3.5 5

Encoder

Tempo Qualità

Commento

Xing Mpeg Encoder v2.20 2.4 6 La sua elevata velocià si scontra con una resa cromatica scadente: sono frequentissime delle fasce verticali o blocchetti di colore nella gamma dei colori attorno al rosso, i colori sono sempre poco naturali e il video è sempre più scuro dell'originale (non può essere corretto non essendo un plugin per Premiere)
Lsx Mpeg Encoder plug-in 2.8 5 Vince la palma del peggiore: orribile resa cromatica correggibile in parte con i filtri di Premiere, blocchi presenti ovunque nelle scene in movimento. Ottima solo la velocità. Aumentando nei settaggi il parametro qualità sino al valore massimo (rispetto a 16 di default) si passa come tempo da 2.8 a 4.7 con solo una leggera diminuzione dei blocchi: la resa cromatica non migliora.
Darim Dvmpeg v5.01 3.0 5 E' di fatto inutilizzabile a causa di un evidente incapacità di rendere i colori uniformi (è visibile una specie di rete 8x8 pixel) e dalla continua presenza di grana .
Lsx Mpeg Encoder v3.0 3.4 7.5 Ottimo per velocità e nella resa di scene statiche: in quelle con più movimento spesso compaiono blocchi 16x16 visibili sopratutto con il fermo immagine. L'analisi dei vettori di movimento indicano non a caso la loro scarsissima ampiezza (incapacità dell'encoder nel trovare macroblocchi simili da cui calcolare le differenze)
Vitec Mpeg Maker 2 V2.0 4.1 5 La scarsa qualità del video va a braccetto con la lentezza (considerando i risultati): il video appare costellato da blocchetti e grana; poco più che discreti i colori.
TMPGenc v ß12a (freeware) 4.1
3.2
3.1
9.5
8
8
E' il migliore per qualità, impercettibilmente al di sopra del Panasonic come qualità ma il 27% più veloce: ottima la pulizia dei colori, blocchi praticamente inesistenti, tempi di codifica tra i migliori in assoluto; con l'opzione di defoult normal quality paga un po' in velocità ma non è possibile pretendere qualità senza impiegare tempo. 
Rimane ancora elevata la qualità con l'opzione low quality e lowest quality ; con tempi di codifica molto rapidi (sarebbe assurdo pretendere di più) si ottengono risultati inferiori solo nelle scene particolarmente dinamiche a causa del minor tempo impiegato nella ricerca dei blocchi da cui calcolare la compensazione di moto.Osservo che a partire dalla versione ß12a è stata inserita la opzione di qualità lowest che è di fatto identica alla low quality delle versioni precedenti; è stata inserita la low quality che è una via di mezzo tra lowest e normal.

Il giudizio sale ancora considerando che è un freeware, che è di fatto ancora una Beta (comunque non si è mai piantato !!!) e pertanto può migliorare le prestazioni. E' uno dei pochi encoders che è ottimizzato per le istruzioni SSE e 3d Now di Pentium III e Athlon. Inoltre possiede una infinità di parametri:
  • - capacità di selezionare la porzione del file da codificare visualizzando il filmato
  • - riduzione rumore video con 4 parametri + preview
  • - miglioramento dei contorni + preview
  • - controllo dei colori con più di un decina di parametri, visualizzazione dei diagrammi colore, preview
  • - deinterallaciamento con 8 opzioni + preview
  • - cropping + preview
  • - scelta delle matrici di quantizzazione
  • - scelta degli I frame manuale o automatica: quella manuale la si fa interattivamente vedendo il filmato.
    - perfetta codifica in mpeg2
    - codifica con bit rate variabile anche per l'mpeg1.

Alcuni consigli:

  • - per modificare i filtri occorre un doppio click sul loro nome (banale ma non immediato)
  • - non tutti i parametri vengono memorizzati nell'opzione Save setting ed in particolare tutti i settaggi delle elaborazioni video presenti in mpeg configuration/ advanced
  • - conviene mettere l'opzione detect scene changes per la ricerca automatica degli I frame : non aumenta il tempo di codifica ma migliora il video nei cambi di scena. Da osservare che insieme con il Panasonic è l'unico sw che ricerca gli I frame, modificando l'ordine del GOP. Il TMPGenc lo fa in maniera migliore come si può constatare con sw di analisi (es il freeware mpeg stat che puoi scaricare liberamente). Da osservare che tale parametro non è memorizzato con Save setting

Come se non bastasse all'interno del programma è possibile fare il Demultiplexing, multiplexing di due o più file audio e video in un unico mpeg, Join e Cut con cui è possibile sommare (Join) due o più mpeg o porzioni di questi in un solo file, con la previsualizzazione dei punti di taglio o prelevare solo delle porzioni (Cut) di file.

Il Join Cut nasconde una caratteristica incredibile: la possibilità di far riconoscere a Nero Burning Rom come VCD compatibile, qualsiasi file Mpeg avente le tipiche caratteristiche del VCD (Video 352*288*25fps, Audio mpeg2 44.1Khz 224 Kbit/s) ma con bit rate maggiore dei canonici 1123 Kbit/s: si possono realizzare XVCD partendo da uno qualsiasi degli encoder visti. Vedi a riguardo il paragrafo compatibilità.
Per far ciò basta basta selezionare l'opzione Mpeg Tools- Join/Cut, settare il formato mpeg1 Video CD, selezionare il file da convertire (add), il nome del file da creare e cliccare OK: la conversione avviene in pochissimi secondi, ovviamente non ricodificando il file mpg. Il file prodotto verrà così accettato da Nero, che non risponderà più con l'odiatissimo " il file XXX.mpg non è valido...."

Mi fermo qui ricordando che tale sw è compatibile con l'MPEG2 , permette finezze quali codifica con bit rate variabile con algoritmi di codifica a due passate o possibilità di fissare con risoluzione del singolo frame bitrate, GOP, fattore di qualità, tipo di frame (I P Q)....

Occorre inoltre fare attenzione ai settaggi riguardo il formato video (16/9, 4/3...): vi rimando all'articolo  I formati video: 4/3,anamorfico 16/9 ,1.33:1, letterbox 1.85:1, widescreen 2.35:1,......Teoria, formule, codifica con Tmpeg, FlaskMpeg, e Panasonic.Il vero aspect ratio dei DVD in commercio in cui è spiegato come tmpeg affronta la cosa (nel capitolo L'aspect-ratio negli mpeg-encoder).

L'unico difetto è l'attuale mancanza di un manuale anche se l'autore ha annunciato un Help forse già nella prossima versione.. 

Stupisce come tale programma continua a migliorare i tempi di codifica che nel caso del mio sistema PII 400 nel passaggio dalla b11f, b12, b12a sono migliorati secondo i valori di tempo 5.2, 4.9, 4.1 pari ad un miglioramento del 27% : il tutto nel breve arco di tempo che va dall'11 luglio al 10 settembre. E' naturale il paragone con i sw commerciali, che delle volte fanno pagare fior di quattrini per aggiornamenti praticamente trascurabili (e magari inserimenti di bug come nel caso del Panasonic plug in 2.51) .

 Panasonic Mpeg1 enc. stand-alone v2.3 e plug-in v2.1 5.6 9 E' il migliore per qualità, impercettibilmente al di sotto del TMPEGenc: ottima la pulizia dei colori, blocchi praticamente inesistenti, esistenza del plug-in per Premiere. Migliorabile solo nella velocità, anche se per garantire elevata qualità non è possibile fare molto di meglio: considerando come nel passaggio dalla v2.0 alla v2.3 si è avuto un miglioramento di prestazioni del 10% e che TMPGenc codifica con un tempo 5.2 rispetto a 5.8 la speranza di una nuove versioni leggermente più veloce non è del tutto utopica.
Panasonic Mpeg1 enc. stand-alone v2.5 5.7 9 Pochissime le novità della nuova versione (controllo sui colori, possibilità di usare in input file mpeg, previsualizzazione...): si nota come qualità solo un leggerissimo miglioramento nella resa cromatica e colori leggermente più vivaci, a discapito di un minimo rallentamento (2%). 
Panasonic Mpeg1 enc. Plug-in v2.5 5.7 9 Per utilizzarlo senza il fastidioso bug occorre prima di tutto disinstallare tutti gli encoder Panasonic, poi installare prima il plug_in v2.1 e poi la versione stand-alone 2.5, senza installare il plug-in 2.5.Ovviamente la qualità è la medesima dello stand alone 2.5.
Bbmpeg v1.23 stand-alone e plug-in (freeware) 8.5 8 Buono il video anche se  al di sotto dei due "vincitori": è visibile in certe occasioni una certa grana (rumore video). Certamente migliorabile la velocità.
Utilissima la possibilità di prelevare i sorgenti in C: si spera che qualcuno continui a migliorare il codice poiché l'autore ha abbandonato lo sviluppo freeware volendo inserire il Sw all'interno delle nuovi versioni del pacchetto commerciale Main Actor.

Poiché dalla versione 2.3 l'encoder ha per default il parametro Variable Vector Lenght nella stima del moto ( tale parametro rende la codifica più veloce nelle scene statiche e più lenta in quelle con parecchio movimento), nel calcolo dei tempi ho eliminato tale caratteristica avendo un risultato indice di scene di media complessità di moto.

Media Technologies Mpeg soft engine v2.04 37.5
9.7
8 Buono il video,paragonabile ai migliori: ad una ottima resa cromatica si affianca qualche difficoltà nelle scene meno statiche.
Improponibili i tempi di codifica. Il primo caso (37.5) deriva dalla codifica di materiale m-jpeg: la lentezza deriva dall'utilizzo di una libreria proprietaria di decodifica m-jpeg; non si capisce perché non viene sfruttato il codec originario ( della Marvel) visto che è quello che fanno TUTTI gli altri software.
Il secondo tempo (9.7) deriva dalla codifica di materiale non compresso: rimane comunque pur sempre il sw più lento . Valutando i risultati, nel caso di materiale m-jpeg appare come 3/4 del tempo è impiegato per la decodifica m-jpeg.
Euris Mpeg Power Pro 2.0h 6.1 8 Buono il video in difficoltà solo nelle scene con maggior movimento: ottima la resa cromatica, tra le migliori.
Pixel Tools Mpeg Repair v1.58b (solo video) 6.2 8 Il sw oltre ad essere un encoder mpeg1 e 2 è un incredibile tool didattico: è possibile visualizzare per ogni frame i diversi parametri relativi a ciascun blocco 8X8 (quantizzazione, livello di alte freq video, tipo di blocco IBoP,direzione della predizione...): purtroppo non converte il video che deve essere convertito e multiplexato con un altro sw.  Buono il video anche se in leggera difficoltà  nelle scene con alte frequenze video (dettagli fini) che in piccola parte fanno tremare i blocchi 8X8 (caratteristica che non appare nel panasonic e nel tmpeg): ottima la resa cromatica. Il tempo indicato è relativo all'opzioni di codifica più rapide: in caso si settano parametri che privilegiano la qualità i tempi di codifica aumentano enormemente, senza evidenti vantaggi.
eRoom System  Rainbow Mpeg encoder 1.1 4.1 4 Indecente la qualità video e audio: sembra un esperimento mal riuscito. Il video al max è codificato con bit rate di 1615 Kbit/s .
Herosoft2000 Avi to Mpeg 1.0 12.5 4.5 Cosa si fa pur di inserire un encoder in un pacchetto software: è uno dei sw fornito con il player dvd della Herosoft. Data la lentezza sembra scritto in Basic !!!! La qualità è scadentissima, il mezzo punto in più deriva solo dal fatto che tale qualità indecente la si ottiene con un bit rate video di 1370 Kbit/s (il max consentito) rispetto al 1615 del Rainb. Encoder.
Wis Mpeg 2i 7.2 5 Imbarazzante è l'unico commento che mi viene da fare: oltre ad essere parecchio lento questo encoder produce un video per nulla nitido ma con un filtraggio di fondo che causa immagini tanto morbide da sembrare sfuocate.

Da segnalare la possibilità di rendere gli encoder , tra cui Tmpeg, compatibili con Premiere 5.X e flaskmpeg: vi rimando all'articolo relativo. Avisynth v0.3: l'incredibile sw che trasforma tutti gli mpeg encoder stand alone in Plug-in per Premiere e Flaskmpeg 

torna all'indice mpeg