capitolo primo, dati visivi
2
nella rappresentazione delle immagini la convenzione per cui, quando non
altrimenti specificato, si assuma la forma rettangolare.
Un’immagine è una funzione su un piano. Il valore della funzione
in ciascun punto identifica il colore corrispondente, rappresentato
in un qualche spazio di colore dall’intensità di tre componenti.
L’immagine digitale è la campionatura di un’immagine. Il contenuto
visivo è perciò specificato solo in un insieme discreto di punti, detti picture
elements (abbr. pel) o pixels. Il passo di campionamento è supposto costante
nelle due direzioni. Le intensità delle tre componenti di colore corrispondenti
a ciascun pixel sono rappresentate in digitale con precisione predefinita,
solitamente di 8 bit. A ciascun pixel resta quindi associata una stringa binaria
di lunghezza predeterminata; l’immagine digitale costituisce allora una matrice
di bit o bitmap.
1.2.1 PARAMETRI CARATTERISTICI
Profondità di colore (pixel depth)
E’ la quantità di informazione adoperata per descrivere il colore del generico
pixel. Si misura in bpp, bits per pixel. Ad esempio, associando 8 bit
di informazione ad ogni componente di colore, raggiungo una profondità
di 24 bpp, con cui rappresento ben 16,7 milioni di colori.
Risoluzione (resolution)
E’ la dimensione dell’immagine specificata attraverso il numero di pixel
per riga e per colonna. Si noti che, nel caso di segnali video analogici,
viene definito solo il numero di linee che compongono il segnale, mentre
la dimensione orizzontale dipende dalla risoluzione degli elementi sensibili
(fosfori) dello schermo. La tabella 1.1 riassume alcuni formati del video
digitale di uso comune.
capitolo primo, dati visivi
3
FORMATO RISOLUZIONE
ITU-R 601
1
720x576
CIF 352x288
SIF 352x240
QCIF 176x144
SQCIF 128x96
Tabella 1.1 Alcuni formati digitali di uso comune
2
1.2.2 SPAZI DI COLORE
Il generico colore può essere specificato in un sistema tricromico attraverso
la combinazione lineare di tre colori fondamentali.
Assumendo come base dello spazio di colore la terna rosso, verde, blu,
si ottiene la rappresentazione più nota, chiamata RGB (Red, Green, Blue).
Tale rappresentazione trova corrispondenza nella struttura del tubo a raggi
catodici (CRT) che sintetizza il colore tramite integrazione spaziale di fosfori
RGB disposti a mosaico sullo schermo.
Il sistema di coordinate RGB non è tuttavia l'unico. L'alternativa
più interessante è data dalla rappresentazione YCbCr, in cui la prima
componente è detta luminanza, le altre sono le componenti di crominanza.
Il segnale di luminanza definisce il contorno degli oggetti, mentre
le componenti di crominanza danno la tonalità e l'intensità del colore.
Notiamo infine che in un sistema di coordinate tricromico è sempre
possibile raggruppare ordinatamente le intensità delle componenti di colore
dell'immagine in tre matrici distinte; ad esempio, nella rappresentazione
YCbCr, è possibile adoprare una matrice di luminanza e due di crominanza
per definire una generica immagine digitale.
1
Noto anche come CCIR 601.
2
Il significato degli acronimi è riportato nell’apposita sezione.
capitolo primo, dati visivi
4
1.2.2.1 SOTTOCAMPIONAMENTO DELLA CROMINANZA NELLA
RAPPRESENTAZIONE YC
B
C
R
L’occhio umano è più sensibile ai segnali di luminanza che a quelli di
crominanza, ossia è più sensibile ai contorni che alle sfumature di colore.
E' perciò invalsa la tendenza a sottocampionare i segnali di crominanza
rispetto a quelli di luminanza.
Il sottocampionamento (subsampling) si può ottenere aumentando
il passo di campionamento oppure sostituendo due o più campioni vicini
con la loro media. In entrambi i casi un singolo valore di crominanza viene
riferito a più pixel, per cui le matrici di crominanza risultano più piccole della
matrice di luminanza, che raccoglie invece un campione per ciascun punto.
4:4:4 4:2:2
4:1:1 4:2:0
campione Y campioni Cb, Cr
Figura 1.1 Corrispondenza spaziale tra campioni di luminanza e crominanza
capitolo primo, dati visivi
5
La corrispondenza biunivoca tra pixel e campioni di crominanza può
comunque essere ripristinata ricostruendo i valori mancanti per interpolazione
di quelli vicini.
Il formato di sottocampionamento (chroma format) viene indicato
con la notazione 4:X:X, il cui significato è specificato in tabella 1.2.
La figura 1.1 fornisce invece una rappresentazione visiva
della corrispondenza spaziale tra campioni di luminanza e di crominanza.
FORMATO
SOTTOCAMPIONAMENTO
VERTICALE
SOTTOCAMPIONAMENTO
ORIZZONTALE
4:4:4 No No
4:2:2 No 2:1
4:1:1 2:1 2:1
4:2:0 No 4:1
4:1:0 4:1 4:1
Tabella 1.2 Formati di sottocampionamento
1.3 SEQUENZE VIDEO DIGITALI
Una sequenza video è una sequenza di immagini, dette fotogrammi
o frames. Ciascun fotogramma rappresenta il contenuto visivo d'interesse
ad un dato istante; i fotogrammi sono disposti in ordine crescente dei relativi
istanti di osservazione.
Una sequenza video digitale è una sequenza video i cui fotogrammi
sono rappresentati in forma digitale: è una successione di bitmap.
La definizione è esemplificata in figura 1.2.
Definite le sequenze video, le immagini possono essere riconsiderate
nei termini di sequenze video unitarie; il discorso vale sia per immagini
tout-court (analogiche) che per immagini digitali. La classe delle sequenze
capitolo primo, dati visivi
6
video è quindi una superclasse della classe immagine: non stupisce che
l’immagine erediti i suoi parametri caratteristici proprio dalle sequenze video.
t
Figura 1.2 Sequenza video digitale come successione di bitmap
1.3.1 PROPRIETÀ CARATTERISTICHE
Oltre alla profondità di colore ed alla risoluzione, uguali per tutti i
fotogrammi, le sequenze video sono caratterizzate dalle seguenti proprietà:
Frequenza di immagine (frame rate)
E’ la frequenza di riproduzione dei fotogrammi dell’animazione.
Se la sequenza è stata acquisita da una scena reale, corrisponde alla frequenza
di campionamento nel tempo del contenuto visivo. Comunemente viene
indicata in fps (frames per second) e valori tipici sono dell’ordine delle
decine di fps. L’illusione del movimento si ottiene già con una dozzina di
immagini al secondo, ma occorrono frequenze maggiori per garantire la
persistenza della luminosità della scena sullo schermo.
Interlacciamento
Esiste la possibilità di suddividere i frame di una sequenza video in due
semiquadri (fields), l’uno contenente le linee dispari (top field), l’altro
capitolo primo, dati visivi
7
le righe pari (bottom field). I due semiquadri vengono riprodotti
in successione ottenendo una frequenza di campo (field rate) doppia
della frequenza di immagine. L’espediente consente di rendere l’immagine
più stabile eliminando lo sfarfallamento, senza aumentare il frame rate
e quindi la banda trasmissiva.
L’interlacciamento è la modalità di scansione dell’immagine per campi.
Le sequenze video corrispondenti sono dette interlacciate.
Nel caso l’immagine venga esplorata in un’unica passata, evitando
la scomposizione in campi, si parla invece di scansione progressiva
e di sequenze video progressive.
1.4 COMPRESSIONE
La compressione, o compattamento dei dati, è la codifica dell’informazione
volta al conseguimento di una rappresentazione in forma compatta.
Se l’informazione è disponibile su file binari, come supporremo,
la compattazione consente allora di ridurre le dimensioni dei file, ovvero di
ottenere duplicati più compatti.
La compressione è detta senza perdita (lossless) se il file compresso
preserva l’intero contenuto informativo dell’originale. La compattazione
avviene eliminando la ridondanza insita nella rappresentazione iniziale.
L’operazione è ovviamente reversibile.
La compressione con perdita (lossy) permette invece di riottenere solo
copie approssimative dell’originale. L’operazione è perciò quasi-reversibile,
ma non reversibile. Tuttavia le tecniche lossy garantiscono prestazioni
3
difficilmente raggiungibili con tecniche lossless, a parità di complessità
computazionale; del resto il problema della compressione con perdita è
il problema della compressione senza perdita rilassato
4
, semplificato.
3
Misurate dal fattore di compressione, pari al rapporto tra le dimensioni del file
compresso e dell’originale.
4
Un problema di soddisfacimento di vincoli (CSP o COP) si dice rilassato quando
vengono rimosse una o più condizioni e quindi rilasciati dei gradi di libertà.
capitolo primo, dati visivi
8
1.4.1 CASO APPLICATIVO
I dati visivi, acquisiti da una scena reale, contengono importanti correlazioni
spaziali e temporali. A campioni adiacenti di un’immagine corrispondono
valori di intensità simili e la stessa similitudine si apprezza nelle sequenze
video tra campionature successive di una stessa area. La rappresentazione
in forma canonica, cioè a mappe di bit, risulta inutilmente ridondante.
E’ chiaro che, se le correlazioni vengono esaltate in maniera opportuna,
i contenuti visivi possono essere compressi notevolmente.
Se si suppone poi che i dati siano destinati alla riproduzione visiva,
il concetto di perdita diviene relativo, meglio, soggettivo: la compressione
con perdita risulta tale solo se il sistema visivo umano (HVS) è capace di
apprezzarla! Nei casi di compressione con perdita di qualità impercettibile o
appena percettibile si parla rispettivamente di compressione visually lossless
e near lossless. E’ bene che i sistemi di compressione video sfruttino
adeguatamente la ridondanza percettiva degli elementi visivi per conseguire
fattori di compressione considerevoli.
1.4.1.1 RISPETTO DEI VINCOLI TEMPORALI
La compressione viene adoprata per la memorizzazione (storage)
dei contenuti visivi o per la loro trasmissione.
Nel caso dell’immagine la compressione è conveniente, perché consente
un uso efficiente delle risorse e riduce i tempi di latenza, ma non è tuttavia
necessaria: l’attesa ha come unico vincolo temporale la sopportazione
dell’utente! ☺
Ben diverso è il caso delle sequenze video, che devono rispettare precisi
vincoli temporali: deve essere possibile la riproduzione nei tempi previsti,
se non si vuole compromettere la resa. I vincoli temporali sono fissati
dal frame rate: i fotogrammi devono essere ricevuti con velocità non inferiore
alla frequenza d’immagine. Il problema è che i canali di comunicazione
dispongono di un throughput limitato e non sono sempre in grado
capitolo primo, dati visivi
9
di supportare il data rate richiesto dal flusso informativo. In tal caso occorre
comprimere il segnale video entro il limite imposto dal canale.
A titolo di esempio si consideri la riproduzione di un filmato QCIF
4:2:0 a 10 fps da internet con connessione ISDN (Br = 128 kbps).
In forma canonica ciascun frame è rappresentato da
5
:
1,5 · 176 · 144 · 8 ≈ 300 Kbit.
Il flusso video considerato richiede quindi un data rate di circa 3 Mbps,
24 volte superiore alla capacità trasmissiva del canale: per soddisfare
i requisiti della riproduzione in tempo reale, è necessario comprimere
il segnale altrettante volte.
Si noti infine che con l’introduzione della codifica, il problema
del soddisfacimento dei vincoli temporali si complica: i fotogrammi ora
devono essere, non solo ricevuti, ma anche decodificati nel lasso di tempo
tra frame consecutivi. Supponendo l’ingresso bufferizzato, significa che
il sistema di elaborazione deve poter decodificare il bitstream con velocità
non inferiore al frame rate. Fissata la capacità computazionale del sistema,
il vincolo si traduce in un limite sulla complessità del codec
6
.
5
Il fattore 1,5 è dovuto al sottocampionamento delle componenti di crominanza.
6
Software di codifica e decodifica.