+ All Categories
Home > Documents > Lezione 9: Video(II) -...

Lezione 9: Video(II) -...

Date post: 15-Feb-2019
Category:
Upload: hoangkhanh
View: 217 times
Download: 0 times
Share this document with a friend
39
Lezione 9: Video(II) Informatica e Produzione Multimediale Docente: Umberto Castellani
Transcript

Lezione 9: Video(II)

Informatica e Produzione

Multimediale

Docente:

Umberto Castellani

Sommario

Introduzione al video

Formati video

– Analogici

– digitali

Il Moving picture Expert group (MPEG)

Editing video

MPEG e compressione

Introduzione

Principi generici

Compressione video

– MPEG 2

– MPEG 4

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: architettura

Compressione: architettura (II)

lossless

decodercoder

Ricostruzioneoriginale

dati

compressi

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.

Schema generale:

I-frame P-frame

16x16 16x16 16x16

R G B

16x16

8x8 8x8

Y C

b

Cr

YCbCr 4:2:0

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)

Esempio di scena MPEG 4

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


Recommended