Per prima cosa chiariamo la definizione di codecs e formati... i formati sono dovuti alle estensioni dei file, per esempio un file rm è un formato leggibile col real player; invece i codecs (parola che sta per COmpression/DECompression) comprimono il filmato/file audio e sono utili per ridurne la dimensione. Se analizziamo un file rm noteremo per esempio che è compresso col Codec real video per la parte video e col Codec real audio per la parte audio.
by Chibi Goku

Definiti i termini si possono approfondire diversi argomenti...
1. Compressioni: come funzionano e i vari tipi di compressione
2. Formati e Codecs: pregi e difetti
3. Comprimere un filmato: il metodo migliore
     - Compressione MPEG
     - Compressione DivX
     - Compressione WMV
     - Compressione RM
     - Compressione XviD


COMPRESSIONI

Una volta i filmati non venivano compressi e per questo motivo occupavano una grande quantità di spazio sull'HD. Ora però, grazie alla diffusione dei vari codec, la maggior parte dei filmati reperibili è già compressa ed è consigliabile comprimere anche quelli che non lo sono per risparmiare spazio sul disco rigido.
I filmati non sono nient'altro che una serie di immagini poste una dopo l'altra. Per realizzarli esistono due diversi tipi di compressione: INTRA-FRAME e INTER-FRAME.

INTRA-FRAME

Questo tipo di compressione consiste nel comprimere un frame (o fotogramma) alla volta. La prima compressione di questo tipo è stata la MJPEG che consisteva nel comprimere ogni fotogramma come un'immagine jpeg (le immagini con estensione .jpg per intenderci); questo sistema non riduce di molto la dimensione del filmato ma è comunque molto comodo per editarlo perché il programma usato per l'edit non deve ricostruire i frame partendo dal keyframe e quindi spreca meno risorse.

INTER-FRAME

Questo tipo di compressione si basa sul fatto che in una scena non tutti gli elementi si muovono: quindi questo tipo di compressione fissa dei keyframe e ricava gli altri frame come variazione del keyframe, in pratica se c'è un keyframe e successivamente nove frame, nei nove frame successivi verranno solo mostrate le differenze rispetto al frame precedente rendendo così i file compressi con questo metodo molto più leggeri da archiviare rispetto ai filmati compressi con la tecnica intra-frame.
Il problema di questo tipo di compressione è che se si vogliono editare i filmati, i fotogrammi vanno ricostruiti partendo dal keyframe e questo richiede maggiore capacità di elaborazione.

Le compressioni possono essere distinte anche in lossless e lossy in rapporto alla qualità del file compresso.

LOSSLESS

Questi tipi di compressione conservano la qualità del filmato originale: in pratica si può ricostruire il filmato iniziale esattamente com'era, non importa quante volte sia compresso.
La più famosa e usata delle compressione lossless è l'huffyuv che consiste nel comprimere ogni singolo frame con la stessa modalità nei file Zip.
Di solito sono lossless sono le compressioni intra-frame (huffyuv).

LOSSY

Questi tipi di compressione perdono anche se in piccola parte, la qualità del filmato iniziale; non si può più risalire al filmato di origine.
Sono questi i tipi di compressione più diffusi (sono circa il 95%) anche perché sono quelli che assicurano una migliore compressione e quindi sono molto usati per la distribuzione di filmati.
Le compressioni lossy più usate sono l'MPEG, il DV, il Divx, il realvideo ecc...

Quando i filmati vengono compressi, di solito viene lasciata la possibilità di scegliere i bit/sec (nelle compressioni inter-frame) e i bit/frame (per le compressioni intra-frame).In pratica nel primo caso si specifica la dimensione che deve avere un secondo di filmato mentre nel secondo caso si specifica la dimensione che deve avere un singolo frame e quindi per sapere la dimensione di un secondo bisogna moltiplicare il bit/frame per il numero dei frame/sec (di solito 25; 29,97; 30).

Adesso che abbiamo parlato dei vari tipi di compressione possiamo passare a parlare delle più famose e usate compressioni.

FORMATI E CODECS

Le compressioni intra-frame più usate sono: MJPEG, DV e HUFFYUV.

MJPEG

L'mjpeg consiste nel comprimere ogni frame come un immagine jpeg; in questo modo si perde un po' della qualità visto che la compressione jpeg elimina alcune caratteristiche dell'immagine, ma sono differenze invisibili all'occhio umano.
Si tratta comunque di un vecchio tipo di compressione ed è meglio non usarlo perché nella ricompressione con un altro codec si ha una perdita abbastanza visibile di qualità.

DV

Il Dv è uno standard abbastanza nuovo che garantisce un'ottima qualità (decisamente migliore dell'mjpeg); più che altro viene usato per i dvd visto che il dv è fissato a 25Mbit/s che corrispondono a 720 x 480 a 29,97 fps (in pratica secondo lo standard ncst) o 720X576 a 25 fps (standard pal). Non è un codec lossless ma è leggermente lossy.
Di solito questo formato è usato con schede di cattura che usano la porta firewire e quindi non è molto comune. In alcuni casi ci sono problemi di incompatibilità con il Premiere 5.1; con il 6 va tutto bene invece.

HUFFYUV

Sicuramente questo è il formato preferibile per tutti coloro che hanno lo spazio necessario per immagazzinare un file compresso con questo codec.
L'huffyuv si basa sulla compressione di ogni singolo frame con un metodo simile a quello utilizzato da programmi come WinZip, in questo modo non c'è alcuna perdita di qualità: questo è il vero ed unico lossless codec ^_^
L'unico problema è che, sebbene la compressione sia piuttosto veloce, la decompressione è piuttosto lenta e quindi non è pensabile guardare un filmato compresso in huffyuv, o almeno, col mio P3 600 con 128Mb rambus non è assolutamente possibile! Questo codec perciò è perfetto per un filmato che poi dovrete editare, per ogni altro uso è inutile.

Le compressioni inter-frame più usate sono: MPEG1, MPEG2, ASF/WMV, DIVX, RM e SORENSON.

MPEG1

Questo è uno dei primi codec ad aver permesso una buona compressione dei file video. Può girare in tutti i PC e resta tuttora un ottimo codec, grandioso oserei dire ^_^
Al codec MPEG1 corrisponde il formato .mpg. L'mpeg1 è ovviamente un codec inter-frame, e usa tre tipi di frame, gli I-frame, i P-frame e i B-frame.
Gli I-frame sono i keyframe dell'mpeg1, i P-frame sono dei frame che fanno riferimento al P-frame o I-frame precedente, i B-frame invece sono quelli che usano meno bit e si riferiscono sia al frame precedente che al successivo.
L'unico problema dell'mpeg1 è che è vecchio ed è stato soppiantato dall'uso di nuovi codecs che comprimono molto di più. Resta in ogni caso davvero buono e universalmente compatibile.

MPEG2

Questo codec è stato creato per risolvere alcuni difetti del mpeg1, in pratica alle alte risoluzioni ed ad alti bitrates è nettamente superiore all'mpeg1, e si è rivelato così scalabile, che ha reso inutile l'introduzione di uno standard mpeg3 per i filmati ad alta definizione.
Ha però difetti non trascurabili perché, per essere letto, richiede molta più potenza (e comunque a bitrates normali non ha vantaggi rispetto all'mpeg1) e l'uso degli stessi programmi che leggono anche i DVD ( che sono appunto compressi con questo codec) Per distribuire video sul Web quindi è migliore la soluzione offerta dall'mpeg1.

ASF/WMV

Questo formato è stato creato dalla Microsoft prendendo come base lo standard mpeg4 ma non sfruttandolo completamente (beh cosa ci si poteva aspettare dalla Microsoft ^_^). Questi codecs sono stati creati per comprimere filmati per il Web ma all'inizio avevano dei gravi difetti; ora con le ultime versioni dell'encoder wmv (che crea formati .wmv) si ottengono risultati piuttosto buoni. Peccato che la Microsoft abbia proibito di convertire i filmati compressi con il suo codec! Questo sarà pure un aspetto negativo dell'uso di questo codec, ma state certi che, se create un vostro music video in wmv, sarà molto difficile che qualcun altro possa modificarlo o spacciarlo per suo.

DIVX

Il DivX è essenzialmente il codice asf/wmv della Microsoft, leggermente modificato e migliorato (per esempio viene inserito il supporto per risoluzione alte).
L'ultima versione (5.0.2 e più in generale dalla 4 in poi) non è più basata invece sul codice Microsoft ma è stata scritta partendo da zero ed è decisamente migliore della precedente (3.11).
Questo formato assicura un'ottima compressione (ma che dico ottima, direi la migliore in circolazione) anche se richiede più potenza per essere letto rispetto all'mpeg1 e non ha la stessa universale compatibilità di quest'ultimo. In definitiva è un ottimo codec per la distribuzione in rete.

RM

Questo codec (formato .rm) è proprietà della Real Network e proprio come l'asf/wmv garantisce che il vostro lavoro non venga rubato da altri.
In origini questo codec è nato per filmati dal bitrate basso ma si adatta anche a bitrates abbastanza alti garantendo un ottima compressione e la possibilità di essere letto da quasi tutti i PC.
Come qualità è superiore all'mpeg1 e 2 ma inferiore al divx e al wmv.

XVID

Le origini dell'XviD si riconducono alle stesse origini del DivX, cioè il DivX 3.11 alpha, che non era altro che il vecchio codec WMV della Microsoft crackato.
Dopo questa prima fase era nato il progetto Project Mayo, finalizzato nell'opendivx, codec opensource che avrebbe dovuto prendere il posto del DivX 3.11 alpha. A questo punto l'hacker del DivX 3.11 (Gej) decise di staccarsi dal progetto e creò il DivX 4 e 5, codecs non più freeware, ma commerciali.
Però molti coders che avevano partecipato al primo progetto decisero di riunirsi e portare avanti la loro implementazione freeware dell'mpeg4 e così nacque l'XviD, codec rilasciato sotto la licenza GPL e opensource.

SORENSON

Questo è il miglior codec per comprimere in formato .mov. Non vedo comunque nessun motivo per cui dovreste usare questo formato visto che non ha particolari vantaggi rispetto a tutti quelli sopra elencati, quindi il mio consiglio è di non usarlo! ^_^

CONCLUSIONI
La parte più difficile è scegliere tra tutti questi codecs! Secondo me, se volete un filmato di piccole dimensioni, vi conviene usare l'rm o il wmv, mentre per un filmato high quality è meglio usare il DivX o il mpg.
Per il file da conservare sul vostro HD, vi consiglio caldamente il mpg, visto che è un formato universalmente e che conserva quasi intatta la qualità! Inoltre, particolare da non trascurare, si converte molto facilmente.
Al massimo, vi consiglio di fare diverse prove e vedere con quale codec ottenete i migliori risultati.
Per consigli, suggerimenti, critiche o richieste mandate tutto a chibigoku@divxmania.it.