Uno dei problemi principali nella creazione di un video digitale è la grande
quantità di informazione che esso contiene, e conseguentemente lo spazio
che risulta necessario; supponiamo di voler gestire una sequenza di
immagini alla risoluzione di 640x480 pixel, 24 bit di colore, composta da 25
fps. Per ogni pixel abbiamo bisogno di 3 byte, ogni fotogramma occuperà
900 Kb e, di conseguenza, un secondo di video occuperà oltre 20 Mb. E’
evidente che l’utilizzo di video ad alta risoluzione non compresso è
accettabile solo per brevissimi spezzoni.
Diventa quindi indispensabile utilizzare un modo per diminuire lo spazio
occupato dai dati preservandone la qualità.
Una prima classificazione delle tecniche di compressione distingue tra
tecniche che mantengono perfettamente inalterate le informazioni dopo la
compressione (tecniche lossless cioè senza perdita) e tecniche che
prevedono un certo degrado delle informazioni (lossy). E' abbastanza ovvio
che nel comprimere informazioni come testi, documenti o programmi non ci
si possa permettere la perdita di nessun bit di informazione, per cui
dovremo utilizzare necessariamente tecniche lossless come quelle adottate
dal formato ZIP
4
. Nel caso dell'audio, delle immagini e dei filmati, un certo
livello di degradazione è un compromesso accettabile per ridurre (e di
molto) l'occupazione o la banda richiesta dal file.
Cinque concetti chiave
I cinque i principali concetti chiave della compressione sono:
• il bitrate
• il datarate
• il frame rate
• il key frame
• il buffering
4
Formato di file compresso. Un file zip è un archivio, contenente al suo interno un certo
numero di files compressi. Mediante la compressione, un file può occupare
mediamente il 40-50% dello spazio originale. Questo naturalmente non vale per files
MP3 o MPEG, che sono già compressi all'origine.
Il bitrate è la grandezza che esprime la quantità di informazione digitale
necessaria a memorizzare un secondo di video. Dipende dalla risoluzione
del filmato e dal tipo di compressione utilizzata.
Il datarate indica la quantità di dati inviati in un secondo e normalmente si
misura in Kb/s (Kilobit per secondo). Il valore ottimale è quello che
corrisponde alla reale capacità di ricezione del target previsto, tenendo
conto dei possibili disturbi di connessione e della occupazione di banda da
parte del target.
Il frame rate indica il numero di fotogrammi trasmessi in un secondo. Il
valore ottimale dipende dal data rate e dal tipo di immagini trasmesse. Più
variazioni ci sono nell’intervallo di tempo, più dovranno essere i fotogrammi;
a uguale data rate occorrerà diminuire il frame rate con l’aumentare delle
dimensioni del fotogramma.
Il key frame (fotogramma chiave) indica la frequenza dei frame di tipo
Interframe (I). Frequenze ridotte pregiudicano la qualità dell’interpolazione
nei frame (P) e (B); frequenze eccessive, con un limitato data rate,
pregiudicano la compressione.
Il buffering indica il tempo di pre-elaborazione delle sequenze GOP (group
of frames). Il ritardo della ricezione aumenta a vantaggio, però, di una
migliore resa della decodifica e di una maggiore stabilità della trasmissione
in presenza di irregolarità nella continuità del flusso.
Questi ultimi quattro concetti si riferiscono prevalentemente alla fruizione via
rete e allo streaming.
Gli algoritmi di compressione video
Gli algoritmi di compressione sono procedure matematiche che servono per
eliminare informazioni ridondanti e per ridurre quindi il peso del file video o
audio.
Diversi algoritmi si basano sulla codifica Interframe che sfrutta il fatto che tra
due fotogrammi consecutivi, che non rappresentino un cambio di scena, le
differenze sono minime. Invece di codificare l’informazione relativa a
ciascun fotogramma, si crea una versione modificata di quello che lo
precede, ovvero si cerca di rendere un fotogramma tramite la differenza con
il precedente. Per scene che contengono poco movimento si riescono a
ottenere bitrate molto bassi. Per evitare di decodificare tutti i fotogrammi
creati sulla differenza dei precedenti, si utilizzano dei fotogrammi chiave
(keyFrames) che vengono indicizzati in modo da consentire un accesso
diretto immediato.
I principali algoritmi sono i seguenti:
• RLE (Run Lenght Encoding): basato sulla sostituzione di valori
identici con una codifica che indica quante volte quel valore deve
essere ripetuto.
• Indeo: basato sulla rappresentazione spettrale del segnale, ovvero
sulla sua scomposizione in somma di segnali elementari.
• Cinepak: utilizza tecniche di quantizzazione vettoriale e codifica
interframe.
• Motion JPEG: (M-JPEG) utilizza l’algoritmo di compressione JPEG
per le singole immagini (Fig. 1.1), senza alcuna codifica interframe
che consentirebbe di raggiungere maggiori livelli di compressione,
ma che rende più rapido l’accesso ai singoli fotogrammi, e che lo
rende adatto a fasi intermedie di lavorazione come il montaggio, fase
dove è molto importante la compressione.
Fig.1.1 – Il calcolo del fotogramma MJPEG
• MPEG-1: nato nel 1993 per la codifica di video in qualità VHS su
supporto digitale, presenta due specifiche diverse a seconda dello
standard video:
352 x 288 pixel a 25 fps per il PAL
352 x 240 pixel a 30 fps per l’NTSC
L’audio è stereo di qualità CD e il bitrate complessivo è di 1377,6
Kbps. I CD contenenti video in questo formato sono chiamati
VideoCD
5
. Il vantaggio del CD è dato sostanzialmente dalla grande
diffusione dello standard, poiché multipiattaforma e compatibile con i
lettori DVD e VideoCD;
• MPEG-2: usato nella televisione digitale via satellite e nei DVD,
presenta un formato dell’immagine come quello televisivo:
720 x 576 pixel a 50 semiquadri/sec per il PAL
720 x 480 pixel a 60 semiquadri/sec per l’NTSC
L’elevato flusso di dati consente di ottenere un’elevata qualità
d’immagine.
Il campionamento e la compressione di ogni singolo fotogramma
avvengono suddividendo l’immagine in sezioni orizzontali alte 16
pixel; queste strisce sono poi suddivise in blocchi di 16x16 punti
(macroblocchi), a loro volta divisi in quattro blocchi di 8x8 pixel
6
. La
compressione avviene cercando di raggruppare in un solo pixel i
punti che compongono un blocco, di fondere in un solo macroblocco
i blocchi che lo costituiscono e condensare più macroblocchi in zone
di colore uniforme. Tutto ciò causa, ovviamente, una perdita di
dettaglio proporzionale al livello di compressione che si vuole
5
Il VCD (Video CD) è un Compact Disc che può contenere video, audio stereo e
immagini. Il formato VCD può contenere oltre 98 tracce A/V.
6
Un pixel (picture element) corrisponde a ogni quadratino in cui viene suddivisa
un'immagine per poterla rappresentare in modo digitale.
ottenere. La massima compressione si ottiene con scene con colori
uniformi, mentre la riduzione non raggiunge valori elevati quando la
scena contiene oggetti con molti dettagli.
L’MPEG-2 sfrutta la codifica Interframe: i fotogrammi sono distinti in
tre tipologie diverse:
I-Frame: fotogrammi principali, di riferimento, di norma ogni 15
frames; grazie a questi si assicura che eventuali errori, nei passaggi
da un fotogramma a quello successivo, non si propaghino lungo tutto
il filmato.
P-Frame: fotogrammi compressi con gli algoritmi di motion
compensation e motion estimation che confrontano il frame corrente
con l’I-Frame o con il P-Frame precedente, memorizzando solo le
zone dell’immagine che sono differenti tra i due fotogrammi.
B-Frame: fotogramma che prende come riferimento i due I-Frame
precedente e successivo. Il livello di compressione è massimo.
L’insieme di questi fotogrammi, di norma in gruppi di 15, viene
chiamato GOP, Groups of Frames e risulta essere: I-B-B-P-B-B-P-B-
B-P-B-B-P-B-B. Dopo l’ultimo B-Frame inizia un nuovo GOP con
struttura identica. (Fig. 1.2)
Fig. 1.2 – Il Group of Pictures
Un’altra caratteristica dell’MPEG-2 è il VBR (bit-rate variabile) che
permette di mantenere un flusso di dati medio abbastanza contenuto
senza rinunciare alla qualità complessiva: il bitrate cambia in
funzione della complessità dei singoli fotogrammi che compongono
la sequenza video.
Gli algoritmi di compressione audio
Il segnale audio è per sua natura analogico: varia in modo continuo nel
tempo (Fig. 1.3). Il segnale digitale, per contro, è un segnale discreto: varia
in modo netto nell’unità di tempo, prendendo come valore 1 o 0.
Fig. 1.3 – La rappresentazione grafica dei due segnali analogico e digitale
Per rappresentare un segnale audio, per sua natura analogico e dunque
con un andamento “morbido”, con un segnale digitale, mantenendo
l’informazione, occorre campionare il segnale, ovvero prelevare, ad intervalli
regolari, il valore del segnale audio: il risultato sarà quello di approssimare
la funzione analogica, che rappresenta le curve del segnale, con una
funzione fatta a rettangoli (Fig. 1.4).
Fig. 1.4 – L’approssimazione del segnale analogico in digitale.
Ovviamente, più aumentano i rettangoli nell’unità di tempo, più alta sarà la
fedeltà nella traduzione da analogico a digitale
Lo standard PCM, usato per maneggiare un segnale audio in forma digitale
non compressa, prevede l’impiego di 44100 campioni al secondo, ovvero
44100 rettangoli al secondo. Il WAV è il formato per computer che
organizza i dati campionati in modo simile al PCM.
L' aumento progressivo di potenza dei calcolatori ha però favorito negli
ultimi decenni lo sviluppo e la diffusione dei sistemi di compressione dei dati
audio che permettono una forte riduzione delle dimensioni dei files.
Le codifiche di compressione dell'audio sono numerose ed utilizzano
tecniche anche molto differenti l'una dall'altra.
Esistono però tre categorie principali:
- le codifiche nel dominio del tempo: si tratta di algoritmi che,
elaborano il segnale campionato direttamente senza estrarre le
informazioni spettrali(frequenze). L'obiettivo è quello di trovare
correlazioni tra i campioni e/o proprietà dalla sorgente e della
destinazione che permettano di ridurre il numero di bit usati per
descrivere il valore di un campione audio. Sono storicamente le
prime ad essere state elaborate, hanno bassa efficienza e sono state
ampiamente superate dai nuovi algoritmi
- le codifiche per modelli: le codifiche per modelli sono tecniche
legate ad una particolare sorgente sonora (come la voce) che si
tenta di emulare tramite un modello più o meno semplificato. Le
corde vocali e la gola hanno delle ben precise caratteristiche fisiche,
il loro comportamento sarà quindi prevedibile sulla base di un
modello. Queste codifiche rappresentano una scelta ottimale per la
compressione della voce, tanto che vengono utilizzate nella telefonia
mobile (GSM) e anche su Internet.
- le codifiche nel dominio delle frequenze: Questi algoritmi sono
accomunati dal fatto di esaminare e processare il segnale non nel
dominio del tempo, ma nel dominio della frequenza. Ogni strumento
musicale, ogni suono, e anche la voce, hanno una propria impronta
spettrale caratteristica; è, cioè, costituita da una combinazione di
frequenze contenute in uno spettro più o meno ampio. Lavorando su
tale spettro si può comprimere il segnale in misura molto maggiore di
quanto non si riesca a fare nel dominio del tempo.
Di quest’ultimo tipo di codifica fa parte il formato MP3, giunto alla ribalta
negli ultimi anni per aver permesso la diffusione, spesso senza il rispetto dei
diritti d’autore, di brani musicali, ma che si rivela un formato altamente
competitivo per il suo rapporto qualità/compressione.
MP3 è l’acronimo di MPEG1 – layer 3, ovvero livello 3, una versione
migliore dei due livelli precedenti, e si basa sul modello psico-acustico:
durante la compressione vengono eliminate tutte le frequenze non udibili
dall’orecchio umano. Il fattore di compressione che tipicamente si ottiene è
quello di 1:11 (128Kbit/s), per cui è possibile immagazzinare un minuto di
musica in poco meno di un megabyte. Un’evoluzione dell’MP3 è l'MP3Pro
che permette un fattore di compressione quasi doppio a parità di qualità
sonora.
I formati video
I formati video oggigiorno presenti sono:
• AVI: acronimo per Audio Video Interleave; può contenere video e
audio, e queste informazioni possono essere non compresse, o
compresse con uno dei numerosi codec che il formato supporta.
• ASF: inventato da Microsoft per contrastare il dominio di Real Media
nel campo dello streaming video sia in Internet che su reti locali
veloci. Come AVI, non è un formato video a sé stante, ma un
“contenitore” in grado di consentire lo streaming di alcuni formati
video. Oggi in disuso, è stato sostituito dal nuovo formato WMV.
• MPEG: La compressione MPEG viene utilizzata da formati come AVI
e QuickTime, ma può essere anche un formato a sé stante,
identificato usualmente con l’estensione MPG. Permette di
mantenere un buon rapporto qualità/compressione.
• MOV o QT: come AVI, consente di comprimere le informazioni audio
e video per mezzo di numerosi algoritmi.
• RAM o RA: la RealNetworks, creatrice degli standard RealVideo e
RealAudio, è la casa software con la maggiore esperienza nel
settore del video per il web; i suoi sviluppatori intuirono che la ricerca
nel campo della diffusione del video sul web non doveva solo
svilupparsi nella direzione del conseguimento di bitrate molto bassi
tramite algoritmi di compressione sempre più sofisticati, ma anche
nella creazione di sistemi che ne garantissero la fruibilità nelle varie
tipologie di connessione. Nacque così il concetto di streaming,
tecnica che permette la riproduzione del video parallelamente al
download e il sistema di codifica con bitrate multiplo che consente al
video di adattarsi alle condizioni di bitrate. Tra i vantaggi di questo
formato si può rilevare la buona qualità a bassi bitrate, sia per
l’audio, sia per il video. Sotto i 56Kbit/sec Real Video è una delle
poche soluzioni per diffondere video a qualità accettabile.
• WMV: (altre estensioni WMA, WMS, WMP) Tentativo di sostituire
definitivamente i formati precedenti, primo tra tutti la piattaforma
Video for Windows, con aggiuntive capacità di streaming per la
trasmissione sul web. Sfrutta il codec mpeg4 e pertanto risulta molto
performante anche a bassi bit rate.
• DivX: versione modificata e open source dell’MPEG-4, è un nuovo
standard di compressione video che permette di avere un'alta qualità
con bassi bitrate. Tali bitrate sono ridotti circa al 15% di quelli di un
normale DVD.
La compressione del digital-video
Fissato da un consorzio di aziende nel 1994, il formato DV – Digital video,
riguarda un’organizzazione del segnale digitale indirizzato ad un uso
professionale e consumer, e definisce nel contempo alcuni parametri di
videoregistrazione, tra cui il formato del nastro, stabilito in ¼ di pollice.
Lo standard DV ha le seguenti caratteristiche:
- formato 4:1:1 o 4:2:0
- compressione M-JPEG con rapporto 5:1
- bitrate video a 25Mbps
Non sempre tra apparecchiature di diverse marche c’è reciproca
compatibilità per la lettura delle cassette, ma l’interfacciamento è sempre
consentito dal segnale digitale.
Esistono tre standard principali:
- DV: formato di registrazione digitale utilizzato dai camcorder per uso
consumer. Le cassette usate sono di ridotte dimensioni, consentono
registrazioni fino a 120 minuti che diventano 180 con velocità LP
(Long Play)
- DVCAM: lavora su un formato di segnale 4:1:1 nel NTSC e 4:2:0 nel
PAL. L’audio è a 2 canali 48 kHz a 16 bit, con possibilità di
commutare a 4 canali 32 kHz a 12 bit. Le informazioni riportate sul
nastro sono di quattro tipi: Video, Audio, Subcode (con le indicazioni
del timecode) e ITI (Insert Track Information, che supporta in
particolare la compatibilità di lettura con i nastri consumer DV)
- DVCPRO: definito anche come D-7, è compatibile con i lettori
DVCAM e DV. Lavora su segnali 4:1:1 in entrambi i sistemi NTSC e
PAL. I canali audio sono 2 da 48 kHz a 16 bit. Il bitrate è 25Mbps.
La tabella 1.1 riassume le caratteristiche dei tre standard.
Standard Formato
nastro
(pollici/mm)
Formato
segnale
Compressione Rapporto
compressione
Bitrate
(Mbps)
Audio (n.canali
/campionamento
/quantizzazione)
Durata
max
cassette
DV ¼”
4:1:1
4:2:0
M-JPEG 5:1 25
2/48/16
(4/32/12)
60 – 120
(90 -
180)
DVCAM ¼”
4:1:1
4:2:0
M-JPEG 5:1 25 2/48/16 40 – 184
DVCPRO ¼” 4:1:1 M-JPEG 5:1 25 2/48/16 63 – 123
DVCPRO-
50
¼” 4:2:2 M-JPEG 3,3:1 50 4/48/16 33 – 66
Tab1.1 – Caratteristiche formati DV, DVCAM, DVCPRO
L’ultima riga riporta anche lo standard DVCPRO-50, simile al DVCPRO ma
con un bitrate doppio e un rapporto di compressione più basso.
In questa sezione non si parlerà degli altri formati digitali, come i D-n e il
Digital Betacam, poiché esula dalla ricerca condotta sulla gestione dei flussi
video impiegati nella televisione presa in considerazione nel capitolo 5.
Principali player
I principali player attualmente utilizzabili per la fruizione dei contenuti video
e audio presenti su supporti multimediali sono tutti scaricabili liberamente
dai siti ufficiali delle relative software houses. Permettono di decodificare il
segnale compresso e forniscono delle funzioni di base, quali play, stop,
avanti veloce, riavvolgimento e scalabilità della finestra. Esistono anche
lettori creati da software house minori o da singoli privati che, utilizzando
vari algoritmi di compressione/decompressione, hanno creato programmi
che, a volte, sono riusciti ad ottenere un alto livello di popolarità.
Mi soffermerò soltanto su quelli principali.
Windows Media Player: è il client che Microsoft ha sviluppato per
permettere agli utenti l’accesso ai contenuti. La versione recente è la 9.0 ed
è in grado di gestire la connessione a server di streaming e i files locali di
video, compresi i DVD, e musica MP3. I formati supportati sono molti e
espandibili grazie all’uso di plug-ins. Viene distribuito con le versioni dei
sistemi operativi Microsoft, ma può anche essere scaricato e installato
separatamente. (Fig. 1.5)
Fig. 1.5 – Il lettore Microsoft Windows Media Player
Quicktime: Fin dal 1991 Apple computer ha sviluppato la tecnologia
Quicktime per la produzione, elaborazione, gestione e diffusione di
contenuti multimediali (audio, video, grafica, testi, animazione). La sua
maturità gli permette di accedere a quasi tutti i formati grafici, audio e video,
comprese tracce Macromedia Flash
7
. Questo player è oggi il più diffuso al
mondo. (Fig. 1.6)
Fig. 1.6 – Il lettore Quicktime
Real One Player: ultima versione del lettore della Real. Nato come fruitore
di flussi audio e ottimizzato per lo streaming, quest’ultima versione si
compone di tutte le funzionalità degli altri due lettori, permettendo di
utilizzarlo per la visione di pressoché tutti i formati video e audio, compresi i
DVD. Uno dei punti di forza è la compatibilità con il linguaggio marcatore
SMIL che permette di realizzare ambienti multimediali in streaming. (Fig.
1.7)
Fig. 1.7 – Il lettore Real Player e il nuovo Real One
Nullsoft Winamp: il lettore più utilizzato per ascoltare gli mp3 in locale,
permette anche di sintonizzarsi su canali radio per ascoltare musica in
streaming. Tramite la scelta del genere, è possibile collegare Winamp ai
server per la gestione del flusso audio tramite la tecnologia Shoutcast. Sul
7
Macromedia FLASH rappresenta lo standard per la realizzazione di animazioni
multimediali ed interattive per il Web.
lettore, a seconda della canzone trasmessa, verrà visualizzato titolo e
autore. E’ da segnalare che tramite un plug-in e un’applicazione che
funziona da server
8
, è possibile, tramite una semplice procedura, creare
una propria stazione radio in streaming visualizzabile e selezionabile sul
sito http://yp.shoutcast.com. (Fig. 1.8)
Fig. 1.8 - Il lettore WinAmp
8
Il server è un computer che consente a tutti coloro che sono connessi ad una rete di
utilizzare le risorse condivise (dati, programmi e dispositivi hardware).