Tecniche di Codifica di Segnali Video. Gruppo Reti TLC Indice

Documenti analoghi
L obiettivo dell introduzione di MPEG2 è stato quello di ottenere video in qualità broadcast a 4-9 Mbps

H.264/SVC (Scalable video coding)

Capitolo 3 Compressione sorgenti statiche

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Sistemi Informativi Multimediali La codifica dell informazione multimediale

Codifica Video. Corso di Telecomunicazioni. Anno Accademico 2008/2009. F. Benedetto Corso di Telecomunicazioni

UNIVERSITÀ DEGLI STUDI DI TRIESTE

La codifica video. Il codificatore ibrido. Principi di base Compressione spaziale Tecniche di predizione temporale Stima e compensazione del movimento

Percezione del Suono

RETI INTERNET MULTIMEDIALI

Compressione delle immagini (codifica JPEG)

Corso di Informatica

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Capitolo 4 Compressione sorgenti dinamiche

Codifica CCITT Fax. Introduzione Codifica monodimensionale Codifica bidimensionale. Codifica CCITT Fax. Codifica JBIG2

La compressione video. Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG

La codifica dell informazione

Sommario. Lempel-Ziv coding e varianti Run-length encoding. 1 Introduzione. 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.

Sistemi di Elaborazione delle Informazioni

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

Compressione delle immagini (codifica JPEG)

Codifica Immagini Fisse

Numeri interi. Laboratorio di Calcolo Paola Gallo

I.4 Rappresentazione dell informazione - Altre codifiche

La codifica di sorgente

Codifica Video MPEG. Ing. Francesco Benedetto - Prof. Gaetano Giunta. Laboratorio di Telecomunicazioni (COMLAB) Università degli Studi Roma Tre

LE IMMAGINI DIGITALI 3 formati. Università IUAV di venezia

Il sistema binario: bit e Byte Codifica del testo Il Byte come U.d.M. dell'informazione Multipli del Byte

RAPPRESENTAZIONE DELLE INFORMAZIONI

Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI. Grandezze digitali. Grandezze analogiche

Multimediale Digitale

Suono digitale. Ø Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte.

UNIVERSITÀ DEGLI STUDI DI TRIESTE

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II

La codifica del testo

Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete)

L informazione numerica

1.3d: La Codifica Digitale dei Video

L informazione e la sua codifica. Prof. Maurizio Naldi A.A. 2015/16

Analogico vs digitale

Informazione binaria: suoni, immagini, sequenze video

Codifica dei caratteri ASCII ESTESO. Codifica delle immagini. Codifica immagini bitmap

Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica

Modulo 1: Le I.C.T. UD 1.3d: La Codifica Digitale dei Video

Compressione dei dati multimediali

Informazione video La vista è il senso con cui l uomo acquisisce

RAPPRESENTAZIONE DELLE INFORMAZIONI

L'Informazione e la sua Codifica. Maurizio Palesi

Corso di Laurea in Informatica. Dipartimento di Scienze Fisiche -- Università di Napoli Federico II. Colori. Sistemi Informativi Multimediali

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

UNIVERSITÀ DEGLI STUDI DI TRIESTE

Le immagini digitali. Grafica. Due approcci alla modellazione grafica

Le immagini digitali

Rappresentazione binaria

Formati e compressioni

Multimediale Digitale

RETI INTERNET MULTIMEDIALI. JPEG, TIFF, Facsimile

Sistemi di Elaborazione delle Informazioni 6 CFU

Le immagini digitali

Capitolo 1. Video digitale. 1.1 Vantaggi del digitale.

Corso di Informatica modulo Informatica di Base 6 CFU. Immagini digitali: concetti di base

4.3: La Codifica dei Suoni e dei Video

1.2 Concetti base dell Informatica: Informazione

RETI INTERNET MULTIMEDIALI MPEG

Nozioni di grafica sul calcolatore. concetti di base

Sistemi di Elaborazione delle Informazioni 6 CFU

Formati multimediali e metadati: Video

Teoria dell Informazione e

Tecnologie Multimediali a.a. 2016/2017. Docente: DOTT.SSA VALERIA FIONDA

Memorizzazione delle immagini. Metodi e Formati

Laboratorio di Informatica

La codifica dei suoni

Come si passa dalle immagini reali alle informazioni digitali. Il funzionamento di una fotocamera digitale

La visione spaziale (1): dalla visita oculistica al JPEG

La codifica video. Per comprendere il procedimento di rappresentazione digitale di un filmato prendiamo come modello una pellicola cinematografica:

La codifica delle immagini

Sviluppato inizialmente per video CD Il bitrate di ~1.5 Mbps. Compressione intra- e inter-frame. È uno standard ISO (ISO/IEC 11172)

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini

Evoluzione degli standard MPEG

Formati multimediali e metadati: Audio

Classificazione delle applicazioni multimediali su rete

RETI INTERNET MULTIMEDIALI

Rappresentazione dei numeri: il sistema di numerazione decimale

Ultra HD 4K ed 8K: l evoluzione degli standard video ad alta risoluzione

Standard Video. Video Digitali

RETI INTERNET MULTIMEDIALI. Compressive Video

Sistemi di Elaborazione delle Informazioni

Carlo Alberto Bentivoglio Aldo Caldarelli Tecnologie multimediali Audio e video. eum x tecnologie dell educazione

i Giovanni Maria Farinella

Modelli di Colore. Michele Nappi, Ph.D Università degli Studi di Salerno biplab.unisa.it

Un medium complesso. Il video. L illusione del movimento. Frame richiesti per durata. Il video è il medium più difficile

Codifica video. Il video digitale. Sistemi Multimediali. Il video digitale. Il video digitale. Il video digitale.

1.3a: La Codifica Digitale delle Immagini

Abbiamo visto come la codifica di testi sia (relativamente semplice) Con le immagini la questione è più complessa

Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso

La sensibilità dell occhio umano

La codifica delle immagini

CODIFICA IMMAGINI IN BIANCO E NERO

La codifica delle immagini

Dipartimento di Ingegneria dell Informazione, Elettronica e Telecomunicazioni. Esercitazioni del corso di. Telecomunicazioni

Transcript:

Tecniche di Codifica di Segnali Video Gruppo Reti TLC nome.cognome@polito.it http://www.telematica.polito.it/ CODIFICA DI SEGNALI VIDEO - 1 Indice 1. Percezione visiva 2. TV analogica e digitale 3. Codifica di immagini Standard JPEG 4. Codifica di flussi video 1. Compensazione del moto 2. MPEG: organizzazione gerarchica dei dati 3. Standard MPEG-1 4. Standard MPEG-2: scalabilità, profili e livelli 5. Standard MPEG-4: codifica content-based, sprite coding 6. Sincronizzazione: MPEG-2 Systems CODIFICA DI SEGNALI VIDEO - 2

Percezione Visiva L occhio umano percepisce radiazioni elettromagnetiche la cui lunghezza d onda? è compresa tra 250 e 780 nm Un sorgente che emette radiazioni (luce) a un unica lunghezza d onda è monocromatica CODIFICA DI SEGNALI VIDEO - 3 Colori La sensibilità dell occhio varia a seconda della lunghezza d onda, cioè a parità di energia la radiazione viene percepita come più o meno intensa a seconda di? Il colore di un oggetto dipende dalla lunghezza d onda e dall energia delle radiazioni luminose che emette o riflette L occhio possiede due tipi di recettori: coni e bastoncelli; i primi sono più sensibili alla lunghezza d onda, gli altri all energia CODIFICA DI SEGNALI VIDEO - 4

Colori (2) Esistono tre famiglie di coni, maggiormente sensibili a lunghezze d onda corte (Blu), medie (Verde) e lunghe (Rosso) Sensibilità normalizzata dei coni (curve bianca) e dei bastoncelli (curva nera) al variare della lunghezza d onda CODIFICA DI SEGNALI VIDEO - 5 Colori (3) Mescolando tre colori (detti primari ) è possibile riprodurre tutta la gamma di colori percepibile dall occhio Esistono varie terne di colori che possono essere usati come come primari Per quanto detto prima, solitamente si usano Rosso, Verde e Blu Questa codifica è detta RGB (Red, Green, Blue) CODIFICA DI SEGNALI VIDEO - 6

Definizioni Intensità: energia irradiata per unità di area Luminanza: energia irradiata per unità di area pesata da una funzione di sensibilità caratteristica della percezione visiva Brightness: risposta percettiva alla luminanza di un area Lightness: risposta percettiva alla luminanza di un area relativamente alla luminanza di un area di riferimento CODIFICA DI SEGNALI VIDEO - 7 Lightness e Brightness Intensità e Luminanza sono grandezze oggettive, misurabili con opportuni strumenti Brightness e Lightness sono soggettive: dipendono da molti fattori (tra cui la luminanza dell ambiente in cui ci si trova) e variano da persona a persona La percezione della luminanza è non-lineare: la lightness di una sorgente la cui luminanza è il 18% di quella di una sorgente di riferimento è circa 50% CODIFICA DI SEGNALI VIDEO - 8

Luminanza e Crominanza Statisticamente le componenti R, G e B di un colore presentano una forte correlazione; la presenza di ridondanza può essere sfruttata per ridurre la quantità di informazione con cui un colore è rappresentato Negli standard della TV analogica si usano segnali separati per: la luminanza, cioè la rappresentazione di un immagine usando una scala di grigi le crominanze, cioè l informazione sui colori CODIFICA DI SEGNALI VIDEO - 9 Luminanza e Crominanza (2) La luminanza e le crominanze sono scarsamente correlate La luminanza porta le informazioni su lightness e brightness, che definiscono ad esempio i contorni di una figura L occhio è particolarmente sensibile a lightness e brightness, quindi l informazione utile è concentrata principalmente nella luminanza CODIFICA DI SEGNALI VIDEO - 10

Codifiche per la TV Analogica Lo standard PAL (Phase Alternate Line) utilizza una codifica detta YUV, in cui la componente Y rappresenta la luminanza mentre U e V sono le crominanze Le componenti YUV possono essere ottenute da quelle RGB tramite una trasformazione lineare: Y = 0.3R + 0.59G + 0.11B U = 0.493 (B Y) V = 0.877 (R Y) CODIFICA DI SEGNALI VIDEO - 11 Codifiche per la TV Analogica (2) Lo standard NTSC (National Television System Commitee) utilizza la codifica YJQ La trasformazione da RGB a YJQ è ancora lineare ma con coefficienti diversi per J e Q: Y = 0.3R + 0.59G + 0.11B J = 0.74 (R Y) 0.27 (B Y) Q = 0.48 (R Y) + 0.41 (B Y) CODIFICA DI SEGNALI VIDEO - 12

Codifiche per la TV Analogica (3) La TV analogica in bianco e nero utilizza solo il segnale di luminanza, mentre quella a colori decodifica anche le crominanze CODIFICA DI SEGNALI VIDEO - 13 Standard Televisivi PAL NTSC 4:3 625 25 8 MHz Aspect Ratio Numero di linee per frame Numero di frame al secondo Banda di trasmissione 4:3 525 29.97 6 MHz CODIFICA DI SEGNALI VIDEO - 14

Video Digitale Lo standard ITU-R 601 definisce un formato digitale per i segnali PAL e NTSC Per entrambi i tipi di segnali sono previsti 720 campioni per linea; la frequenza di campionamento corrispondente è di circa 13.5 MHz Le componenti Y, U e V vengono campionate separatamente ma, essendo le crominanze di minore importanza, U e V vengono sottocampionate rispetto a Y con rapporto 4:2:2 o 4:1:1 Impiegando 8 bit per rappresentare ogni componente di ogni campione, otteniamo un bitrate di (13.5 + 6.75 + 6.75)*8 = 216 Mbit/s CODIFICA DI SEGNALI VIDEO - 15 Video Digitale (2) Gli standard per la TV digitale ad alta definizione (HDTV) prevedono che si utilizzino fino a: 1440 o 1920 campioni per linea 1152 linee per frame 60 frame al secondo Con questi formati il bitrate risultante può facilmente superare 1 Gb/s La capacità di trasmettere, immagazzinare ed elaborare flussi a questi bitrate non è disponibile al di fuori degli ambienti professionali Sono quindi necessarie tecniche di compressione che consentano di ridurli notevolmente CODIFICA DI SEGNALI VIDEO - 16

Compressione di Flussi Video I flussi video contengono un elevato grado di ridondanza, che può essere eliminato per ridurne le dimensioni Ridondanza statistica: Spaziale: pixel adiacenti in un frame sono correlati (compressione intra-frame) Temporale: pixel nella stessa posizione in frame consecutivi sono correlati (compr. inter-frame) Ridondanza percettiva: legata alle caratteristiche e ai limiti del sistema visivo CODIFICA DI SEGNALI VIDEO - 17 Tecniche di Codifica per Immagini Lossless: Entropiche: basate sul metodo di Huffman, si usano simboli più corti per sequenze più probabili Run-Length (RLE): sfrutta la correlazione tra elementi adiacenti; lunghe sequenze di simboli uguali vengono sostituite da una coppia (valore, numero di ripetizioni) Il formato.gif ad esempio usa una codifica lossless basata su dizionario (tipo.zip) CODIFICA DI SEGNALI VIDEO - 18

Tecniche di Codifica per Immagini (2) Lossy: Predittiva: fa ipotesi sulla correlazione di elementi adiacenti, per esempio assumendo che la dinamica della differenza sia minore della dinamica del segnale originario (tipo DPCM) Trasformazioni: considerano l immagine in un dominio in cui la ridondanza delle informazioni sia più facilmente evidenziabile; ad esempio la FFT e la DCT mostrano come la maggior parte dell informazione sia concentrata nelle componenti a bassa frequenza dello spettro CODIFICA DI SEGNALI VIDEO - 19 Tecniche di Codifica per Immagini (3) Lossy (segue): Vettoriale: considera un blocco (vettore) di elementi e sceglie da un codebook il vettore campione che lo rappresenta meglio; i blocchi possono essere mono- o bi-dimensionali Layered: scompone gerarchicamente l immagine in più livelli; ogni livello migliora la qualità dell immagine rappresentata da quello precedente. La scomposizione si ottiene tramite campionamento a diverse frequenze o in diverse sottobande Nella pratica si usano codifiche ibride che impiegano diversi schemi di compressione in cascata per ottenere risultati migliori CODIFICA DI SEGNALI VIDEO - 20

Lo Standard JPEG E uno standard per la compressione di immagini statiche approvato nel 1992 dal Joint Photographic Experts Group dell ISO Realizza una codifica lossy, sfruttando le caratteristiche della percezione umana E possibile variare il rapporto di compressione a seconda della qualità dell immagine compressa che si desidera ottenere CODIFICA DI SEGNALI VIDEO - 21 Codifica JPEG L algoritmo lavora separatamente su luminanza e crominanze (rappresentate in 3 matrici diverse), quindi è necessario effettuare la trasformazione RGB->YUV o RGB->YJQ Le tre matrici vengono suddivise in blocchi di 8x8 Ad ogni blocco viene applicata la DCT CODIFICA DI SEGNALI VIDEO - 22

Codifica JPEG (2) Le componenti a bassa frequenza contengono la maggior parte dell informazione utile, pertanto vengono quantizzate in maniera più fine la componente continua (DC) del blocco si trova nell angolo in alto a sinistra della matrice; spostandosi a destra e verso il basso si trovano le componenti a frequenze via via più alte La componente DC viene codificata come differenza rispetto alla componente DC del blocco precedente CODIFICA DI SEGNALI VIDEO - 23 Codifica JPEG (3) Molti dei coefficienti delle componenti ad alta frequenza risultano essere nulli a causa della quantizzazione più grossolana I coefficienti AC vengono codificati con RLE, scandendo la matrice a zig-zag, in modo da allineare i coefficienti nulli delle componenti in alta frequenza Infine le coppie (valore, numero di ripetizioni) vengono codificate con il metodo di Huffman La finezza della quantizzazione determina il rapporto di compressione che si riesce a ottenere e il grado di degradazione dell immagine compressa CODIFICA DI SEGNALI VIDEO - 24

Esempio CODIFICA DI SEGNALI VIDEO - 25 Codificatore e Decodificatore Da [1] CODIFICA DI SEGNALI VIDEO - 26

Codifica MPEG Il flusso video è costituito da una sequenza di immagini (frame) I singoli frame vengono compressi con tecniche simili a quelle usate in JPEG La correlazione temporale tra i frame viene sfruttata usando codifiche differenziali e compensazione del moto (Motion Compensation) CODIFICA DI SEGNALI VIDEO - 27 Compensazione del Moto Il frame N viene suddiviso in blocchi Per ogni blocco si stima un vettore di moto: si analizzano nel frame (N-1) tutti i blocchi in posizioni adiacenti a quello di interesse e si seleziona quello più simile Si trasmettono le componenti del vettore di moto e le eventuali differenze tra i due blocchi L operazione di codifica è molto più onerosa della decodifica CODIFICA DI SEGNALI VIDEO - 28

Compensazione del Moto (2) Da [2] CODIFICA DI SEGNALI VIDEO - 29 MPEG Organizzazione dei Dati I dati sono organizzati in maniera gerarchica su 6 livelli: 1. Sequence 2. Group of Pictures (GOP) 3. Picture 4. Slice 5. Macroblock 6. Block CODIFICA DI SEGNALI VIDEO - 30

MPEG Organizzazione dei Dati (2) CODIFICA DI SEGNALI VIDEO - 31 Sequenze e GOP La Sequence corrisponde al flusso video; per essa sono definite le dimensioni dei frame, il numero di fotogrammi al secondo e il bitrate All interno di una sequenza si trovano i GOP, gruppi indipendenti di immagini in ordine contiguo di visualizzazione che possono a loro volta contenere tre tipi di immagini: I: intra-pictures, P: inter-frame predicted pictures B: bi-directional inter-frame predicted pictures CODIFICA DI SEGNALI VIDEO - 32

Immagini Immagini I: Sono codificate senza riferimenti ad altre immagini (non sfruttano ridondanza temporale) Possono essere usate come riferimento per immagini di tipo P o B Forniscono punti per l accesso casuale Limitano la propagazione degli errori Immagini P: Sono codificate facendo riferimento all immagine passata di tipo I o P più vicina Possono essere usate come riferimento per immagini di tipo P o B CODIFICA DI SEGNALI VIDEO - 33 Immagini (2) Immagini B: Sono codificate facendo riferimento a due immagini di tipo I o P passate e future Non vengono mai usate come riferimento Un GOP può contenere solo immagini di tipo I, sia di tipo I che P, oppure di tipo I, P e B Un elevato numero di immagini P e B aumenta il rapporto di compressione ma anche il ritardo di codifica e rende più difficoltoso l accesso casuale CODIFICA DI SEGNALI VIDEO - 34

Immagini (3) Dato che le immagini B fanno riferimento a immagini future, l ordine di visualizzazione è diverso da quello di codifica e trasmissione Esempio: Ordine di visualizzazione: I 0 B 1 B 2 P 3 B 4 B 5 P 6 Dipendenze: I 0 -> nessuna P 3 -> I 0 B 1 e B 2 -> I 0 e P 3 P 6 -> P 3 B 4 e B 5 -> P 3 e P 6 Ordine di codifica e trasmissione: I 0 P 3 B 1 B 2 P 6 B 4 B 5 CODIFICA DI SEGNALI VIDEO - 35 Slices Le Slice sono porzioni di un immagine comprendenti un numero intero (variabile) di macroblocchi Una slice non contiene riferimenti spaziali ad altre slice, quindi può essere decodificata indipendentemente Vengono utilizzate per la sincronizzazione CODIFICA DI SEGNALI VIDEO - 36

Macroblocchi Il Macroblock (MB) è l unità fondamentale utilizzata per la predizione del moto In MPEG-1 ha dimensione 16x16 Può essere di tipo: Skipped: è identico al MB nella stessa posizione dell immagine di riferimento; non viene né codificato né trasmesso Inter: viene codificato in maniera differenziale rispetto a un altro MB dell immagine di riferimento; si trasmettono il vettore di moto, valori delle differenze e livelli di quantizzazione Intra: viene codificato autonomamente; si trasmettono i valori dei campioni e i livelli di quantizzazione CODIFICA DI SEGNALI VIDEO - 37 Macroblocchi (2) La scelta del tipo di MB da utilizzare dipende dal tipo di immagine: tipo I: impiega solo MB di tipo Intra tipi P e B: possono impiegare MB Intra, Inter e Skipped Nel caso di immagini B e MB Inter, la predizione può essere: Backward: usa un vettore di moto riferito a un MB dell immagine passata Forward: usa un vettore di moto riferito a un MB dell immagine futura Interpolated: usa due vettori di moto, riferiti a un MB dell immagine passata e a uno di quella futura; la predizione viene fatta sulla media dei due MB CODIFICA DI SEGNALI VIDEO - 38

Macroblocchi (3) Lo standard non specifica come calcolare i vettori di moto e il criterio di scelta del tipo di MB Solitamente si usano tecniche di tipo block matching: Si cerca il vettore di moto che minimizza l energia della differenza tra il blocco da codificare e quello di riferimento Se l energia della differenza è minore di una soglia prefissata si sceglie un MB di tipo Inter, cioè si trasmettono le differenze In caso contrario si sceglie un MB di tipo Intra, cioè si trasmette il MB per intero CODIFICA DI SEGNALI VIDEO - 39 (a) Frame N da codificare (b) Frame N-1 (con vettori di moto) (c) Immagine differenza senza motion compensation (tutti i vettori di moto nulli) (c) Immagine differenza con motion compensation Da [2]

Blocchi I Blocks sono l unità fondamentale su cui viene elaborata la ridondanza spaziale Hanno dimensioni 8x8 e sono rappresentati da una matrice per la luminanza e due per le crominanze Le crominanze sono sottocampionate 4:1:1, quindi un macroblocco contiene 4 matrici 8x8 di luminanza e 2 di crominanza La codifica del singolo blocco è la stessa usata in JPEG: trasformazione DCT, quantizzazione, codifica differenziale per la componente DC, codifica RLE ed entropica con scansione a zig-zag per le componenti AC CODIFICA DI SEGNALI VIDEO - 41 Standard MPEG-1 (1992) Concepito per qualità VHS a bitrate fino a 1.5Mbps (simile al bitrate di un CD audio) Non sono supportate immagini interlacciate Il constrained parameter set (insieme di valori di riferimento per le implementazioni dello standard) di MPEG-1 è: Pixel per riga = 768 Righe per immagine = 576 Macroblocchi per immagine = 396 Macroblocchi al secondo = 9900 Immagini al secondo = 30 Bitrate = 1.856 Mbit/s CODIFICA DI SEGNALI VIDEO - 42

Standard MPEG-2 (1994) Concepito per la televisione digitale e HDTV, memorizzazione su CD, broadcasting terrestre e satellitare, retrieval interattivo Caratteristiche salienti: Qualità video non inferiore a PAL/NTSC Supporto per immagini interlacciate Scalabilità del video (possibilità di ridurre progressivamente la qualità dell immagine in presenza di errori di trasmissione) Compatibilità con MPEG-1 Definizione di Profili e Livelli per favorire l interoperabilità tra implementazioni parziali dello standard CODIFICA DI SEGNALI VIDEO - 43 Scalabilità del Video Il flusso viene scomposto in un layer base e un certo numero di layer enhancement Layer successivi migliorano la qualità offerta da quelli precedenti Un ricevitore può decidere di decodificare solo un certo numero di layer, dipendentemente dalle risorse di cui dispone (display, processore, etc.) In MPEG la scalabilità può essere SNR, spaziale o temporale, a seconda del criterio di scomposizione adottato Layer di base possono usufruire di un trattamento migliore (ad esempio alta priorità) da parte del sistema di trasmissione CODIFICA DI SEGNALI VIDEO - 44

Scalabilità del Video (2) SNR: il layer base usa una quantizzazione più grossolana per i coefficienti DCT, quelli più alti la raffinano Spaziale: varia la risoluzione spaziale dell immagine ad esempio il layer base sottocampiona e quelli successivi trasmettono le parti mancanti utile per supportare display di dimensione diversa Temporale: varia la risoluzione temporale del flusso ad esempio i layer successivi aumentano il numero di immagini per secondo concepito anche per visione stereoscopica (un canale destro e uno sinistro per la stessa immagine) CODIFICA DI SEGNALI VIDEO - 45 Codifica e Decodifica Scalabile Da [2] CODIFICA DI SEGNALI VIDEO - 46

Profili e Livelli Un profilo definisce un insieme di algoritmi supportati in aggiunta a quelli dei profili inferiori Un livello definisce il range dei parametri (dimensioni dell immagine, numero di immagini al secondo e bit-rate) supportati La coppia profilo e livello identifica le funzionalità supportate dal decodificatore Indicativamente ci si attende che tutti i decoder supportino almeno il profilo MAIN con livello MAIN CODIFICA DI SEGNALI VIDEO - 47 Profili HIGH SPATIAL scalable SNR scalable MAIN SIMPLE Tutte le funzionalità del profilo SPATIAL scalable più supporto per: Codifiche con 3 livelli di scalabilità spaziale e SNR Codifica dei colori YUV 4:2:2 Tutte le funzionalità del profilo SNR più algoritmi per: Codifica scalabile spaziale (2 livelli) Codifica dei colori YUV 4:0:0 Tutte le funzionalità del profilo MAIN più algoritmi per: Codifica scalabile SNR (2 livelli) Codifica dei colori YUV 4:2:0 Algoritmi di codifica non scalabili con supporto per: Video interlacciato Accesso casuale Predizione bi-direzionale (B-pictures ) Codifica dei colori YUV 4:2:0 Tutte le funzionalità del profilo MAIN ma: Non supporta predizione bi-direzionale Usa codifica dei colori YUV 4:2:0 CODIFICA DI SEGNALI VIDEO - 48

Livelli HIGH HIGH 1440 MAIN LOW Samples/line 1920 1440 720 352 Lines/frame 1152 1152 576 288 Frames/s 60 60 30 30 Bitrate (Mbit/s) 80 60 15 4 CODIFICA DI SEGNALI VIDEO - 49 Standard MPEG-4 (1998) Adotta un approccio Content Based, ovvero identifica e codifica separatamente oggetti all interno del flusso video Gli obiettivi sono: Robustezza in ambienti error-prone (reti wireless, canali congestionati, etc.) Elevato grado di interattività, con possibilità di manipolare e archiviare i dati in maniera estremamente flessibile Codifica efficiente di informazioni sia naturali che sintetiche Compressione efficiente, con supporto per bitrate anche inferiori a 64 Kb/s CODIFICA DI SEGNALI VIDEO - 50

Oggetti Video Un oggetto video è sequenza di bitmap di forma qualsiasi, detti Video Object Planes La forma e la posizione dei VOP variano nel tempo Per ogni oggetto video vengono trasmesse informazioni quali: Forma Trasparenza Coordinate spaziali Scalamento e rotazione CODIFICA DI SEGNALI VIDEO - 51 Oggetti Video (2) Ogni oggetto viene codificato in uno stream diverso L utente ha la possibilità di: Decodificare solo alcuni degli oggetti presenti nel flusso Aggiungerne di nuovi Variare i parametri di rappresentazione degli oggetti E inoltre possibile fare riferimento a oggetti contenuti in una libreria locale al ricevitore CODIFICA DI SEGNALI VIDEO - 52

Oggetti Video (3) Da [3] CODIFICA DI SEGNALI VIDEO - 53 Altri Oggetti Esempi di oggetti audio sono i suoni prodotti dai vari strumenti di un orchestra o le diverse voci in una conversazione Oggetti sintetici invece sono ad esempio il testo in sovraimpressione e gli oggetti animati al computer quali volti e figure umane texture mapped wire-grid CODIFICA DI SEGNALI VIDEO - 54

Struttura dello Standard Lo standard prevede il supporto per immagini rettangolari come MPEG-1 e MPEG-2 VLBV Core è una porzione dello standard che si occupa della codifica real-time di flussi: non content-based a bassissimo bitrate (5 64 Kb/s) con alta robustezza agli errori a basso ritardo a bassa complessità HBV Core invece fornisce le stesse funzionalità ma in contesti in cui il bitrate disponibile è più elevato (alcuni Mb/s) CODIFICA DI SEGNALI VIDEO - 55 Struttura dello Standard (2) Le rimanenti parti dello standard si preoccupano di come aggiungere le funzionalità content-based ai codificatori e decodificatori VLBV e HBV Nell esempio qui riportato un coder VLBV di base viene dotato di funzionalità content-based aggiungendo un blocco che codifica le forme dei VOP Base VOP Motion Texture (DCT) Bitstream Extended VOP Shape Motion Texture (DCT) Bitstream Da [2] CODIFICA DI SEGNALI VIDEO - 56

Struttura dello Standard (3) Bit Rate 5 64 Kb/s 64 Kb/s 2 Mb/s HBV Core VLBV Core Additional Content-Based Functionalities Functionalities Da [2] VLBV = Very Low Bitrate Video HBV = High Bitrate Video CODIFICA DI SEGNALI VIDEO - 57 Sprite Coding Lo Sprite Coding è una tecnica che sfrutta la presenza di immagini statiche di grosse dimensioni, ad esempio sfondi o panorami Si scompone la sequenza in sprite di foreground e background Per il foreground si trasmettono in ogni frame tutti i parametri dell oggetto Per il background si trasmette una sola volta la bitmap completa e successivamente solo i parametri di movimento della telecamera che lo inquadra CODIFICA DI SEGNALI VIDEO - 58

Sprite Coding (2) Nell esempio che segue, lo sprite di foreground è costituito dal tennista, il background dal campo e dal pubblico Si trasmette prima il frame 200, che contiene tutte le informazioni sul background Successivamente si trasmettono i parametri completi del foreground e i parametri di moto del background (traslazione, rotazione, zoom ) CODIFICA DI SEGNALI VIDEO - 59 Frame 1 Frame 50 Frame 100 Frame 200 Da [3]

Foreground e Background Da [3] CODIFICA DI SEGNALI VIDEO - 61 Prestazioni La tecnologia sprite coding consente di ottenere rapporti di compressione molto alti con buona qualità della sequenza La necessità di separare foreground e background fa sì che sia facilmente utilizzabile nei database multimediali, dove è possibile fare del processing off-line, e non per il broadcasting in tempo reale CODIFICA DI SEGNALI VIDEO - 62

Prestazioni (2) Stessa immagine estratta da una sequenza codificata con MPEG-1 (sx) e con MPEG-4 (dx) a parità di bitrate (1 Mb/s) Da [3] CODIFICA DI SEGNALI VIDEO - 63 Sincronizzazione: MPEG-2 Systems E la porzione dello standard che definisce la sintassi e la semantica del bitstream Specifica come multiplare più flussi nello stesso bitstream e sincronizzarli durante la decodifica Il criterio di multiplazione (cioè come intercalare pacchetti provenienti da varie sorgenti) non è specificato Un Elementary Stream è il flusso codificato prodotto da un singola sorgente video o audio CODIFICA DI SEGNALI VIDEO - 64

MPEG-2 Systems (2) Una volta segmentato in pacchetti viene detto Packetized Elementary Stream (PES) I PES vengono multiplati in uno stream Esistono due tipi di stream: Program Stream e Transport Stream Da Broadcast Technology no.11, Summer 2002 CODIFICA DI SEGNALI VIDEO - 65 Time-stamp I PES includono dei time-stamp di sincronizzazione negli header: SCR (System Clock Reference): fornisce il riferimento per la demultiplazione dei PES di un programma DTS (Decoding Time Stamp): specificano in quale istante deve essere decodificata ogni immagine PTS (Presentation Time Stamp): specificano in quale istante deve essere visualizzata ogni immagine CODIFICA DI SEGNALI VIDEO - 66

Stream Program Stream (MPEG-1 e MPEG-2): Multipla sorgenti audio e video con una base tempi comune, equivalenti a un programma TV Concepito per memorizzazione su supporti quali CD e DVD Usa pacchetti detti PS Packs di dimensioni variabili comprese tra 1 e 64 Kbyte Transport Stream (solo MPEG-2): Multipla un certo numero di programmi, ognuno con la sua base tempi Concepito per broadcasting TV via cavo, satellite, etc. Usa pacchetti di dimensione fissa e pari a 188 byte CODIFICA DI SEGNALI VIDEO - 67 Transport Stream Ogni pacchetto dello stream contiene un Packet ID (PID) che identifica l elementary stream a cui appartiene Il PID 0 è riservato e trasporta le informazioni relative alla Program Association Table (PAT) La PAT associa ogni programma contenuto nello stream ad una Program Map Table (PMT), specificando il PID che la trasporta La PMT elenca tutti i PID degli elementary stream del programma (audio, video, ) CODIFICA DI SEGNALI VIDEO - 68

Demultiplazione Quindi il decodificatore, per demultiplare il programma P: Estrae i pacchetti con PID 0 e ricostruisce la PAT Nella PAT legge il PID X dei pacchetti contenenti la PMT del programma P Estrae i pacchetti con PID X e costruisce la PMT del programma P Estrae tutti i pacchetti aventi uno dei PID elencati nella PMT (Y, Z, etc.) CODIFICA DI SEGNALI VIDEO - 69 Organizzazione dei Dati Da Broadcast Technology no.11, Summer 2002 CODIFICA DI SEGNALI VIDEO - 70

Bibliografia 1. G. K. Wallace, The JPEG Still Picture Compression Standard, IEEE Transactions on Consumer Electronics, Vol. 38, No. 1, Feb. 1992, pp. xviii-xxxiv 2. T. Sikora, MPEG Digital Video-Coding Standards, IEEE Signal Processing Magazine, Sept. 1997, pp. 82-100 3. P. Kauff, B. Makai, S. Rauthenberg, U. Golz, J. L. P. De Lameillieure, T. Sikora, Functional Coding of Video Using a Shape-Adaptive DCT Algorithm and an Object-Based Motion Prediction Toolbox, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 7, No. 1, Feb. 1997, pp. 181-196 4. Color FAQ, http://www.poynton.com/ 5. Home page di L. Chiariglione, http://www.chiariglione.org/ 6. MPEG-2 Tutorial, http://www.bretl.com/mpeghtml/mpegindex.htm CODIFICA DI SEGNALI VIDEO - 71