Date post: | 15-Feb-2019 |
Category: |
Documents |
Upload: | hoangkhanh |
View: | 217 times |
Download: | 0 times |
Sommario
Introduzione al video
Formati video
– Analogici
– digitali
Il Moving picture Expert group (MPEG)
Editing video
Quanto occupa una immagine?
352 pixel
28
8 p
ixel
• liv. grigio: 352x288x1 = 99 Kbyte
• RGB: 352x288x3 = 297 Kbyte
Filmato 25fps (immagini per sec)
• liv. grigio: 99Kb x 25 = 2.4 Mb/s
• RGB: 297Kb x 25 = 7.2 Mb/s
Compressione: principi
Il ruolo della compressione è di minimizzare il numero di
bit necessari per ritenere accettabile una versione del dato
originale allo scopo di ridurre i costi di memorizzazione e
di trasmissione.
La compressione coinvolge tutti i dati multimediali
Dato originaleCodifica
Dato
“ricostruito”Decodifica
Trasmissione o
memorizzazione
Compressione: metodi
Esistono due macro-categorie di metodi di
compressione:
– Metodi reversibili (o lossless): metodi che non
comportano alcuna perdita di informazione in
seguito al processo di codifica e decodifica (i.e., la
versione ricostruita è identica alla versione originale)
– Metodi non reversibili (o lossy): metodi che
comportano una perdita di informazione occorre
quantificare tale perdita (se ne occupa la Teoria
dell’informazione)
Compressione lossless: esempio
Dati:
• il set di tutti i possibili simboli provenienti dalla sorgente
dei dati (detto alfabeto);
• la distribuzione di probabilità di ciascun simbolo
dell’alfabeto;
l’algoritmo di Huffman permette di ricavare il codice a
lunghezza variabile VL (variable lenght) ottimo, che
minimizza il numero di bit necessari per la codifica di un
blocco di dati coerente con la distribuzione di probabilità.
Huffman: esempio
Probabilità Simbolo Non compresso Codifica Huffman
40% s1 000 0
15% s2 001 100
15% s3 010 110
10% s4 011 111
10% s5 100 1010
5% s6 101 10110
4% s7 110 101110
1% s8 111 101111
Mediamente:
Non compresso: 3 bit / simbolo
Huffman: 2.55 bit / simbolo
Algoritmi lossless universali
Esistono algoritmi lossless che non richiedono la
conoscenza a priori della distribuzione di probabilità dei
simboli dell’alfabeto.
In generale riescono a modellare dinamicamente le
caratteristiche statistiche dei dati da comprimere e
adeguano di conseguenza la codifica.
Algoritmi Lempel-Ziv (costituiscono il nucleo di gzip,
pkzip, compress ecc.)
– LZ77, LZ78, LZW, LZY
Metodi Lossy: esempio JPEG
Immagine originale
suddivisa in blocchi di 8x8
pixel (spazio YCbCr)
blocco 8x8 pixel
Il JPEG è uno standard per la compressione lossy di
immagini (statiche)
JPEG: funzionamento
DCT
IDCTtrasformata DCT
201 190 190 183 165 162 182 171
199 18' 183 201 88 102 15 25
67 107 200 105 199 199 178 0
123 63 255 183 183 23 54 0
65 38 194 21 148 18 243 0
0 180 255 0 123 226 12 0
66 102 0 130 189 0 255 6
22 254 132 159 183 213 6 43
blocco 8x8 (una sola componente)
trasformata DCT zigzag quantizzata secondo modelli percettivi:
• molti valori nulli
• comprimibile molto efficacemente con algoritmi lossless
Coder e decoder JPEG
DCT quantizz.lossless
coder
coder JPEG
lossless
decoderdequant. IDCT
decoder JPEG
immagine originale
immagine finale
JPEG2000
• basato non su DCT, ma su WAVELET (i.e., classe di
funzioni matematiche ‘speciali’)
• migliori prestazioni a forte compressione
• possibilità di definire regioni di interesse (ROI)
• visione multirisoluzione
7Kb - compressione 100:1 7Kb - compressione 100:1
Compressione video
Possibili applicazioni:
– Memorizzazione su disco
– Broadcast di video digitali (video on demand)
– Reti multimediali (Internet)
Premessa
Un video è costituito da una sequenza di immagini (frames) che si susseguono nel tempo (es. 25 frames al secondo).
Se non si applica la compressione la quantità di dati che servono per memorizzare un filmato digitale esplode dopo qualche secondo….
Occorre dunque studiare delle tecniche intelligenti per la compressione video.
L’idea di fondo consiste nel considerare che due frame ‘vicini’ hanno circa lo stesso contenuto (alta ridondanza temporale)
Schema generale MPEG-2
CODIFICA
Input video
Pre-processing
Predizione
Compressione
Output video
Post-processing
Predizione
Decompressione
Trasmissione o
memorizzazione
DECODIFICACODIFICA
Pre-processing: interpolazione
MPEG-2 usa il formato YCrCb (3 numeri) per
codificare le immagini:
– Y(luminanza): rappresenta l’intensità del colore
– Cr (crominanza rossa): rappresenta il valore su una scala di
rossi
– Cb (crominanza blu): rappresenta il valore sulla scala di blu
Poiché la percezione visiva umana è più sensibile
alle variazioni di luminanza rispetto a quelle di
crominanza le componenti Cr e Cb vengono ridotte
(i.e., si prende un pixel ogni due).
Predizione
La predizione rappresenta la fase che più
caratterizza il formato MPEG-2
Si basa sui seguenti concetti:
– Riduzione della ridondanza temporale
– Stima del moto
– Compensazione del moto
Riduzione della ridondanza temporale
Frequentemente, le immagini di una sequenza video hanno solo poche differenze l'una dall'altra, cioè sono altamente correlate.
Si può ottenere un'alta compressione della sequenza codificando le immagini differenzialmente, e trasmettendo solo la differenza fra un immagine e l'altra.
Le regioni inalterate possono essere copiate da un'immagine a quella successiva, riducendo considerevolmente le dimensioni del bitstream.
Stima e compenzazione del moto
Si assume che, localmente, un immagine sia
esprimibile come traslazione di un immagine
precedente e/o successiva della sequenza video,
dove per ``localmente'' si intende limitatamente a
limitatamente a un singolo macroblocco (i.e., blocco
da 16x16 pixel).
– Es: una scena con sfondo fisso e un singolo
oggetto che si muove
Stima del moto
dato un macroblocco dell’immagine corrente
data un immagine di riferimento (detta anchor)
la stima del moto consiste nel cercare lo
spostamento del blocco che porta il blocco stesso a
sovrapporsi con l’immagine di riferimento
Lo spostamento viene codificato con una coppia di
valori (traslazione verticale e orizzontale) che
costituiscono il cosiddetto vettore di moto.
Compensazione del moto
Dato un vettore di moto (riferito ad un certo
macroblocco) e data un immagine di riferimento
Si usa il vettore per estrarre il blocco dall’immagine
di riferimento
i pixel nell'immagine di riferimento vengono usati per
predire i pixel dell'immagine corrente
Questo meccanismo prende il nome di predizione
Tipi di frames
Interframes I: frames senza predizione.
Rappresentano immagini intere (autocontenute) e
servono per consentire gli accessi casuali al filmato.
Predicted frames P: frames che effettuano la
predizione solo verso il precedente anchor frame.
Essi stessi sono usati come anchor.
Bidirectionally Predicted frames B: frames che
effettuano la predizione facendo la media tra il
precedente e il successivo anchor frame. Sono quelli
che raggiungono il più elevato rate di compressione.
Esempi di sequenze
Una possibile successione di tipi di frames è la
seguente:
I-B-B-P-B-B-P-B-B-I
Di solito c’è uno spazio fisso tra anchor frames (ma
lo standard non lo impone).
– Si indica con N la distanza tra 2 I-frames (nell’esempio N=9)
– Si indica con M la distanza tra 2 anchor frames
(nell’esempio M=3)
Domanda: con che ordine devono essere spediti i
frames ?
Ordine di spedizione dei frames
La regola consiste nello spedire sempre gli anchor
frames prima dei predicted frames che li utilizzano.
Nell’esempio:
I1-B2-B3-P4-B5-B6-P7-B8-B9-I10
La sequenza da spedire sarà:
I1-P4-B2-B3-P7-B5-B6-I10-B8-B9
Compressione dei singoli frames
I frames di tipo I sono compressi come le usuali
immagini 2D (i.e., jpeg)
Sui frames di tipo P e B viene applicata la
compensazione del moto su ogni blocco. I blocchi
vengono sottratti all’immagine di riferimento e la
compressione avviene solo sulla differenza.
A questo punto la codifica del filmato è terminata e
dunque si è pronti per la memorizzazione o
trasmissione.
Decodifica
La decodifica si basa sul processo inverso di
ogni fase della codifica:
– Decompressione
– Predizione
– Post-processing
Schema generale MPEG-2
CODIFICA
Input video
Pre-processing
Predizione
Compressione
Output video
Post-processing
Predizione
Decompressione
Trasmissione o
memorizzazione
DECODIFICACODIFICA
Comunicazione multimediale: MPEG 4
``Comunicazione Multimediale'' è la possibilità di
comunicare informazione audio-video che:1. sia naturale, sintetica, o entrambe
2. sia in tempo reale e non
3. supporti differenti funzionalità a seconda delle esigenze dell'utente
4. fluisca da e verso differenti sorgenti simultaneamente
5. non richieda all'utente di preoccuparsi di specifici canali di comunicazione, ma usi una tecnologia che ne sia cosciente
6. dia all'utente la possibilità di interagire con differenti elementi di informazione
7. consenta di presentare all'utente i risultati della sua interazione con il contenuto in una maniera idonea alle sue necessità
MPEG 4
Nel Luglio del 1993, l'MPEG (il moving picture expert
group) ha iniziato lo sviluppo dell'MPEG-4, che
soddisferà i sette punti appena elencati;
le specifiche MPEG-4 diventeranno Standard
Internazionale nel Novembre del 1998, con codice
ISO/IEC 14496 e titolo ``Coding of Audio-Visual
Objects''.
Codifica basata su oggetti
L’idea fondamentale dell’MPEG-4 consiste nel
proporre una codifica basata sugli oggetti che
appaiono nel filmato:
– video, singole immagini, animazioni, texture,
suoni, modelli 3D
Si parla di oggetti-media (media object) o audio
visual objects (AVO) – naturali o sintetici
L’MPEG-4 fornisce un modo per comporre una
scena permettendo la trasmissione separata degli
oggetti che la compongono
MPEG 4: composizione della scena
Le scene audio-visuali sono composte da diversi AVO, organizzati gerarchicamente.
es: un TG– Sfondo fisso 2D
– Immagine di una persona che parla (senza lo sfondo)
– Voce associata alla persona
– Oggetto sintetico (es, tavolo e mappamondo)
– Suono sintetico (es. musica della sigla)
– Etc.
Mpeg 4 standardizza un insieme di primitive AVO
per rappresentare oggetti naturali e sintetici 2D o 3D
MPEG 4: descrizione della scena
La descrizione di una scena consiste nelle seguenti
informazioni:
– Come gli oggetti sono raggruppati insieme
(struttura gerarchica)
– Come gli oggetti sono posti nello spazio e nel
tempo: ogni oggetto ha le proprie coordinate e
l’apparizione degli AVO deve essere
sincronizzata
– Attributi degli AVO: alcuni elementi possono
essere modificabili (es. contrasto o colore)
MPEG 4: grafo della scena o BIFS
La scena è codificata secondo
una struttura dati detta BInary
Format for Scene description
(BIFS)
Generalmente si tratta di un
grafo della scena in cui i nodi
rappresentano gli oggetti con i
loro attributi e gli archi
rappresentano le relazioni
spaziali e temporali
La struttura è dinamica per cui
il grafo varia nel tempo (es.
parametri di posizione)
MPEG: il futuro
Il futuro riguarda l’MPEG-7:
– Il fuoco è sulla caratterizzazione del contenuto dei
dati multimediali (i.e., flusso di informazioni
audio/video).
– Codifica dei cosiddetti Meta dati
Es: nomi degli attori di un film, data e ora di registrazione di
un evento di cronaca
– L’MPEG 7 propone un metodo per il trattamento
uniforme (eventualmente automatico) dei metadati di
un prodotto multimediale