MPEG Sistemi di Telecomunicazione I Fondamenti di Internet M. Carli P. Campisi
Agenda Introduzione Contesto – inquadramento storico Contesto – inquadramento storico Motivazioni Motivazioni Regole di standardizzazione Regole di standardizzazione Standard MPEG definiti MPEG 1 MPEG 1 MPEG 2 MPEG 2 MPEG 4 MPEG 4 MPEG in via di definizione MPEG 7 MPEG 7 MPEG 21 MPEG 21 Conclusioni
“Negli anni 80 la tecnologia raggiunge l’utente” Studi di Nyquist (1928) CCITT ’60 raccomandazione per la digitalizzazione del segnale telefonico Frequenza di campionamento a 8 KHz Frequenza di campionamento a 8 KHz Quantizzazione Quantizzazione -law 7 bits/sample -law 7 bits/sample A-law 8 bits/sampleA-law 8 bits/sample Multiplexers: 24 o 30 canali telefonici a 2048 Kbits/sec Effetti pratici: NESSUNO Collo di bottiglia: apparecchio utente
Evoluzione del contesto Prima meta’ anni 80 CCITT H.120 => 1.5 Mbps videoconferenza a casa CCITT H.120 => 1.5 Mbps videoconferenza a casa Nasce il Compact DISC bitstream 1410 kbps Nasce il Compact DISC bitstream 1410 kbps Seconda meta’ anni 80: inizia il processo di standardizzazione (raccomandazioni) H.261 videotelefonia, videoconferenza bitrate: p x 64 kbps (pcanali telefonici) H.261 videotelefonia, videoconferenza bitrate: p x 64 kbps (pcanali telefonici) H.263 video telefonia bit rate inferiore a 64 kbps (canale telefonico numerico) H.263 video telefonia bit rate inferiore a 64 kbps (canale telefonico numerico) ISDN (Integrated Services Digital Network) 144 kbps ISDN (Integrated Services Digital Network) 144 kbps ADSL (Asymmetric Digital Subscriber Line) 1.5Mbps ADSL (Asymmetric Digital Subscriber Line) 1.5Mbps
Servizi multimediali su reti tlc Servizi innovativi Comunicazioni personali (videoconferenza, videotelefonia) Comunicazioni personali (videoconferenza, videotelefonia) Accesso a basi di dati di immagini e video Accesso a basi di dati di immagini e video Servizi diffusivi (Web TV, Streaming di dati video) Servizi diffusivi (Web TV, Streaming di dati video) Trasmissioni di servizi video su canali radiomobili Reti wireless di nuova generazione Reti wireless di nuova generazione evoluzioni del GSM: GPRS, EDGE (>64 kbit/s)evoluzioni del GSM: GPRS, EDGE (>64 kbit/s) sistemi di terza generazione: UMTS (144 kbit/s, 384 kbit/s, 2 Mbit/s)sistemi di terza generazione: UMTS (144 kbit/s, 384 kbit/s, 2 Mbit/s) Servizi multimediali su reti a commutazione di pacchetto Comunicazioni client-server su protocolli RTP/UDP/IP Comunicazioni client-server su protocolli RTP/UDP/IP
Standard attuali Meccanismo di generazione del bitstream: riduzione della ridondanza temporale Algoritmi di Block Matching Algoritmi di Block Matching seguita da una riduzione della ridondanza spaziale
Frame 1 originale Frame 2 originale Frame 2 ricostruito Differenza in valore assoluto Stima del campo di moto Sequenza originale Riduzione ridondanza temporale
Regolarizzazione Stima del campo di moto
Stima ML Frame 1 Frame 2 Regolarizzazione Errore di ricostruzione iniziale Errore di ricostruzione iniziale Errore di ricostruzione finale Errore di ricostruzione finale Sequenza originale Applicazione Applicazione
Riduzione ridondanza spaziale
Moving Pictures Expert Group Attività del gruppo iniziata nel Patrocinio di: Patrocinio di: International Organization for Standardization (ISO),International Organization for Standardization (ISO), International Electrotechnical Commission (IEC).International Electrotechnical Commission (IEC). Standard di codifica prodotti: MPEG-1 (Luglio 1988-Novembre 1992), MPEG-1 (Luglio 1988-Novembre 1992), MPEG-2 (Luglio 1990-Novembre 1994), MPEG-2 (Luglio 1990-Novembre 1994), MPEG-4 (Luglio 1993-Novembre 1998), MPEG-4 (Luglio 1993-Novembre 1998), MPEG-7 (Ottobre Novembre 2001). MPEG-7 (Ottobre Novembre 2001).
MPEG: cosa fa ? MPEG-1 Codifica Audio video; media qualità 1,5 Mb/s, per supporto fisico. Codifica Audio video; media qualità 1,5 Mb/s, per supporto fisico. MPEG-2 Codifica Audio video; media ÷ altissima qualità per canale trasmissivo / supporto fisico 4-15 Mb/s; Multiplex di programmi,comandi, dati. Codifica Audio video; media ÷ altissima qualità per canale trasmissivo / supporto fisico 4-15 Mb/s; Multiplex di programmi,comandi, dati.
MPEG: cosa fa ? MPEG-4 Codifica di oggetti Audio video, naturali - sintetici, 2D- 3D, animazioni, indipendente dal BitRate e dalla qualità, supporto di interattività avanzata ed accesso all’informazione, completa indipendanza dal trasporto e dall’applicazione. Codifica di oggetti Audio video, naturali - sintetici, 2D- 3D, animazioni, indipendente dal BitRate e dalla qualità, supporto di interattività avanzata ed accesso all’informazione, completa indipendanza dal trasporto e dall’applicazione. MPEG-7 Interfacce descrittive del contenuto dell’informazione multimediale. Interfacce descrittive del contenuto dell’informazione multimediale.
Processo di standardizzazione per MPEG-1/2/4 Requirements, Competitive phase, Selection of basic methods, Collaborative phase, Working draft and draft international standard, Validation, International standard.
MPEG 1 Standard in cinque parti: 1. Come accorpare diversi canali audio e video 2. Codifica Video 3. Codifica Audio 4. Procedure per la verifica del co-decodificatore prodotto 5. Implementazione C di un co/decoder Codifica di audio e sequenze video per media digitali fino a 1.5 Mbps
MPEG-1: caratteristiche (1) Formato d’immagine SIF rapporto 4:3, risoluzione 352x288 oppure 352x240,non interallacciato. Decodificatori di struttura semplice. Codificatori di complessità variabile con influenza sul rapporto bit/rate — qualità. Orientato ad applicazioni di memorizzazione su supporto fisico es., CD-ROM.
MPEG-1: caratteristiche (2) Utilizza in gran parte tecniche già definite nella Racc. H.261 Introduce la codifica con predizione bidirezionale (quadri B) Supporta funzionalità VCR (Fast search, Reverse, etc.) Qualità paragonabile a VCR con bit-rate di circa 1,5 Mbit/sec
MPEG Due tipi di multiplexing “Codifica generica di sequenze video e dell’audio associato”
MPEG 2 Applicazioni CTV: distribuzione tv via cavo STV: trasmissione tv via satellite TTV: trasmissione tv via terrestre (ponti radio) ISM: mezzi di memorizzazione interattiva (dischi ottici o magnetici) ISM: mezzi di memorizzazione interattiva (dischi ottici o magnetici) SSM: mezzi di memorizzazione seriale (videoregistratori digitali) SSM: mezzi di memorizzazione seriale (videoregistratori digitali) ENG: raccolta di notizie elettroniche NDB: servizi di database in rete (via ATM) IPC: comunicazioni interpersonali RVS: video controllo a distanza
MPEG-2: caratteristiche (1) Formati d’immagine molteplici varie risoluzioni, rapporti 4:3 e 16:9, strutture interallacciate e non. Decodificatori: MPEG-2 = MPEG-1 + tool per interallacciato. Qualità variabile dal VCR al cinema numerico.
MPEG-2: caratteristiche (2) Quantizzazione con range più elevato e adattata al blocco Nuove tavole VLC (variable length codes) Estensioni per scalabilità: Spaziale, SNR, Temporale Codifica Audio estesa per suono multi-canale
MPEG-1 e MPEG-2: principio di codifica Riduzione della “ridondanza” prima della trasmissione. Compressione spaziale: riduzione della ridondanza dell’informazione lungo le dimensioni spaziali dell’immagine. riduzione della ridondanza dell’informazione lungo le dimensioni spaziali dell’immagine. (valori numerici simili che si ripetono in intorni limitati dell’immagine). (valori numerici simili che si ripetono in intorni limitati dell’immagine). Compressione temporale: riduzione della ridondanza dell’informazione nel tempo riduzione della ridondanza dell’informazione nel tempo (valori numerici simili che si ripetono nel tempo anche se in posizioni spaziali differenti). (valori numerici simili che si ripetono nel tempo anche se in posizioni spaziali differenti).
MPEG-1 e MPEG-2: caratteristiche comuni Lo standard specifica: la sintassi e la semantica del bit stream, la sintassi e la semantica del bit stream, il processo di decodifica. il processo di decodifica. Lo standard non specifica: il processo di codifica. il processo di codifica. Applicazioni di tipo “asimmetrico” (video CD, video on demand, etc.): codifica effettuata una sola volta, codifica effettuata una sola volta, complessità del codificatore non rilevante.complessità del codificatore non rilevante. decodifica effettuata molte volte, decodifica effettuata molte volte, necessità di decodificatori poco costosi.necessità di decodificatori poco costosi.
MPEG 4
Esempio di codifica ad oggetti Codifica frame-based a 128 kbit/s Codifica background a 28 kbit/s Codifica foreground 1 a 90 kbit/s Codifica foreground 2 a 10 kbit/s Sequenza Bream
MPEG-4: perché ? Costante diffusione delle applicazioni multimediali necessità di uno standard con appropriate funzionalità per: accedere,accedere, manipolare i contenuti.manipolare i contenuti. Campi di applicazione: Campi di applicazione: Servizi multimediali interattivi:Servizi multimediali interattivi: Comunicazioni personali (videoconferenza, videotelefonia) Comunicazioni personali (videoconferenza, videotelefonia) Accesso a basi di dati di immagini e video Accesso a basi di dati di immagini e video Servizi diffusivi (Web TV, Video on demand) Servizi diffusivi (Web TV, Video on demand)
MPEG-4: obiettivi Codifiche audio-video a basso bit-rate. Rappresentazione basata sul contenuto in opposizione alla rappresentazione basata sul frame o sul pixel. Tecniche di codifica innovative ad “oggetti”. Tecniche di codifica innovative ad “oggetti”. Codifiche “content-based” e/o “model-based”. Codifiche “content-based” e/o “model-based”. Nuovo tipo di interattività di utente basata sul contenuto e sulla semantica del video.
MPEG-4: funzionalità (1) Interattività basata sul contenuto: accesso ai dati multimediali basata sul contenuto, accesso ai dati multimediali basata sul contenuto, manipolazione ed editing del bitstream, manipolazione ed editing del bitstream, accesso random (nel tempo & agli oggetti), accesso random (nel tempo & agli oggetti), codifica ibrida di dati naturali e sintetici. codifica ibrida di dati naturali e sintetici.Applicazioni: recupero dati da librerie on-line, recupero dati da librerie on-line, home shopping interattivo, home shopping interattivo, produzione ed editing di film. produzione ed editing di film.
MPEG-4: funzionalità (2) Compressione: miglioramento dell’efficienza di codifica, miglioramento dell’efficienza di codifica, codifica di più flussi dati concorrenti. codifica di più flussi dati concorrenti.Applicazioni: Memorizzazione e/o trasmissione efficiente di dati audio-video. Memorizzazione e/o trasmissione efficiente di dati audio-video. Miglioramento del browsing su Internet.Miglioramento del browsing su Internet. Realtà virtuale.Realtà virtuale.
MPEG-4: funzionalità (3) Accesso avanzato all’informazione: scalabilità basata sul contenuto (oggetti audio/visuali). scalabilità basata sul contenuto (oggetti audio/visuali). Possibilità di avere differenti qualità in termini di risoluzione spaziale e temporale.Possibilità di avere differenti qualità in termini di risoluzione spaziale e temporale. adattamento ad ambienti error-prone. adattamento ad ambienti error-prone.Applicazioni: comunicazioni wireless, comunicazioni wireless, browsing di database, browsing di database, accesso a differenti livelli di contenuto, scala, risoluzione e qualità. accesso a differenti livelli di contenuto, scala, risoluzione e qualità.
MPEG-4: la scena (1) La scena Visuale è composta da Video-Objects VO. Proprietà dei VO: forma, movimento, tessitura. forma, movimento, tessitura.
MPEG-4: la scena (2) L’utente può: accedere agli oggetti della scena, accedere agli oggetti della scena, manipolarli. manipolarli.
Oggetti audio-visuali (1) La scena Audio-Visuale è composta da Oggetti (AVO). Processo di formazione e/o estrazione di un VO: VO è un insieme di frame rettangolari in MPEG-1/2, VO è un insieme di frame rettangolari in MPEG-1/2, VO rappresenta un oggetto che evolve nel tempo, VO rappresenta un oggetto che evolve nel tempo, VO rappresenta un oggetto estratto da una scena tramite segmentazione (automatica, semi-automatica, supervisionata). VO rappresenta un oggetto estratto da una scena tramite segmentazione (automatica, semi-automatica, supervisionata).
Oggetti audio-visuali (2) MPEG-4 non definisce come formare/estrarre un VO. MPEG-4 definisce il modello di rappresentazione del VO. Esempio di VO Sfondo Soggetto Video Audio
Schema di codifica video MPEG-4 Segmentazione spazio-temporale del contenuto dei quadri della video sequenza in VO. Flessibilità di codifica dei diversi oggetti: diversi bit-rate, diversi bit-rate, diversi frame rate, diversi frame rate, diversa priorità nella protezione. diversa priorità nella protezione. Sequenza originale Sequenza codificata VO = Video Object MUX Codificatore VO 2 Segmentazione Codificatore VO 1 VO 2 VO 1 VO 0 Codificatore VO 0
Schema di de-codifica video MPEG-4
Video: struttura dei dati (1) VideoSession (VS): ingloba le altre tre classi, ingloba le altre tre classi, una video sequenza può essere costituita da più VS. una video sequenza può essere costituita da più VS. VideoObject (VO): classe che definisce specifici oggetti nella scena, classe che definisce specifici oggetti nella scena, consente di ottenere scalabilità relativa agli oggetti. consente di ottenere scalabilità relativa agli oggetti.
Video: struttura dei dati (2) VideoObject Layer (VOL): consente di migliorare consente di migliorare risoluzione spaziale di un VOrisoluzione spaziale di un VO risoluzione temporale di un VO.risoluzione temporale di un VO. consente di ottenere scalabilità spaziale e temporale di VO. consente di ottenere scalabilità spaziale e temporale di VO. VideoObject Plane (VOP): occorrenza di un VO ad un dato istante. occorrenza di un VO ad un dato istante.
Video: struttura dei dati (3)
La sintassi del bitstream video MPEG-4
Schema di codifica di un VOP Stima del movimento Motocompensazione Codifica della tessitura Codifica della forma MUXMUX Informazioni di forma Informazioni di movimento Informazioni di tessitura Bitstreamvideo DCT Quantiz- zazione Predizione AC & DC VLC informazioni di tessitura Scan dei coefficienti VOP precedente
Codifica di un VOP Codifica di forma: novità rispetto agli standard precedenti. Codifica di tessitura, stima di movimento, uguali rispetto agli standard precedenti motocompensazione
Codifica di forma (1) Informazione di forma binaria: definisce quale porzione del supporto dell’oggetto appartiene al VO ad un dato istante, definisce quale porzione del supporto dell’oggetto appartiene al VO ad un dato istante, rappresentata come una matrice avente la stessa dimensione di quella della matrice di contenimento di un VOP, rappresentata come una matrice avente la stessa dimensione di quella della matrice di contenimento di un VOP, ogni elemento della matrice può assumere due soli valori. ogni elemento della matrice può assumere due soli valori. Informazione di forma a livelli di grigio: struttura simile a quella “binaria”, struttura simile a quella “binaria”, ogni elemento della matrice assume valori compresi in [0,255]. ogni elemento della matrice assume valori compresi in [0,255].
Codifica di forma (2) Dimensione regione di bordo pari a multipli di 16x16. Regione di bordo partizionata in blocchi 16x16.
Codifica di forma binaria Co-decodifica effettuata blocco per blocco. Per ogni singolo blocco: la codifica è effettuata individuando i pixels che cambiano colore [0->255], [255->0], la codifica è effettuata individuando i pixels che cambiano colore [0->255], [255->0], se tutti i pixels dello stesso blocco sono dello stesso colore la codifica non è effettuata. se tutti i pixels dello stesso blocco sono dello stesso colore la codifica non è effettuata. Risultato dell’algoritmo è la codifica della posizione dei pixels che cambiano.
Codifica di forma a livelli di grigio Informazione relativa al supporto: codificata nello stesso modo delle forme binarie. codificata nello stesso modo delle forme binarie. Informazione relativa alla luminanza: codificata come macroblocchi (16x16) di luminanza con la stessa tecnica di codifica delle tessiture del VOP. codificata come macroblocchi (16x16) di luminanza con la stessa tecnica di codifica delle tessiture del VOP.
Stima di movimento Scopo: riduzione della ridondanza temporale. riduzione della ridondanza temporale. Principio: simile a quello utilizzato in MPEG-1/2. simile a quello utilizzato in MPEG-1/2. Predizione Interframe, Predizione Interframe, genesi dei quadri P.genesi dei quadri P. Predizione bi-direzionale, Predizione bi-direzionale, genesi dei quadri B.genesi dei quadri B.
Stima di movimento: predizione interframe Ricerca del macroblocco nel frame successivo tramite “block matching”. Codifica del vettore di spostamento tra il macroblocco nel frame n-1 ed lo stesso macroblocco nel frame n.
Stima di movimento: predizione bi- direzionale Predizione dal quadro precedente e successivo.
Stima di movimento in MPEG-4 Stima di movimento effettuata in MPEG- 1/2 estesa per rappresentare oggetti di forma arbitraria (VOP). Ogni VOP è diviso in macroblocchi. Ogni VOP codificato come: I-VOP (codificato indip.), P-VOP (predizione da un VOP prec.), B-VOP (predizione bi-direzionale).
Codifica scalabile Bit-stream scalabile: porzione di esso fornisce una rappresentazione a risoluzione e/o qualità “proporzionale” al bit-stream utilizzato. porzione di esso fornisce una rappresentazione a risoluzione e/o qualità “proporzionale” al bit-stream utilizzato. La scalabilità coinvolge più di un Video Object Layer. Scalabilità spaziale: l “enhancement layer” consente di migliorare la risoluzione spaziale del “base layer”. l “enhancement layer” consente di migliorare la risoluzione spaziale del “base layer”. Scalabilità temporale: l “enhancement layer” consente di migliorare la risoluzione temporale del “base layer”. l “enhancement layer” consente di migliorare la risoluzione temporale del “base layer”.
Co-decodificatore scalabile a due livelli (1)
Ingressi al pre-processor: VOP. Scalabilità spaziale. “Pre-processor” separa il VOP in: “Pre-processor” separa il VOP in: “base layer” (VOP a più bassa risoluzione)“base layer” (VOP a più bassa risoluzione) “enhancement layer” (VOP a più alta risoluzione).“enhancement layer” (VOP a più alta risoluzione). Scalabilità temporale. La risoluzione temporale dell’oggetto selezionato è migliorato in modo tale da avere un movimento più “fluido” del resto dell’area. La risoluzione temporale dell’oggetto selezionato è migliorato in modo tale da avere un movimento più “fluido” del resto dell’area. Co-decodificatore scalabile a due livelli (2)
MPEG-7
MPEG-7 MPEG-7-cos’è: descrizione (associata al contenuto) standardizzata di vari tipi di materiale multimediale. descrizione (associata al contenuto) standardizzata di vari tipi di materiale multimediale. MPEG-7-obiettivi: ricerca veloce ed efficiente di materiale multimediale. ricerca veloce ed efficiente di materiale multimediale. MPEG-7-caratteristiche: definisce un insieme standard di descrittori (associati al contenuto) che possono essere usati per descrivere vari tipi di informazione multimediale, definisce un insieme standard di descrittori (associati al contenuto) che possono essere usati per descrivere vari tipi di informazione multimediale, standardizza un linguaggio “Description Definition Language” (DLL) per specificare gli schemi di descrizione. standardizza un linguaggio “Description Definition Language” (DLL) per specificare gli schemi di descrizione.
MPEG-7: schema di utilizzo Estrazione di descrittori: automatica o semi automatica, automatica o semi automatica, non definita dallo standard. non definita dallo standard. Motore di ricerca: non definito dallo standard. non definito dallo standard.
MPEG-7: terminologia (1) Descriptor (D): associa un “descriptor” ad una caratteristica associa un “descriptor” ad una caratteristica Es: colore caratteristica,Es: colore caratteristica, istogramma per rappresentare il colore descriptor istogramma per rappresentare il colore descriptor Description scheme (DS): definisce la struttura e la semantica dei descrittori. definisce la struttura e la semantica dei descrittori. Description Definition Language: consente di definire i DS (“Description schemes”). consente di definire i DS (“Description schemes”).
MPEG-7: terminologia (2)
MPEG-7: ruolo di “D” e “DS” “DLL” è utilizzato per generare “DS” e “D”. Solo i “DS” sono utilizzati per generare la descrizione.
MPEG-7: schema di utilizzo