Lo standard ISO MPEG-4

Documenti analoghi
VideoStreaming su IP

Reti di Telecomunicazione Lezione 6

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

ARCHITETTURA DI RETE FOLEGNANI ANDREA

La Videosorveglianza Criteri per il dimensionamento dello storage

Tecniche di Comunicazione Multimediale

Compressione del Segnale (Audio)

Classificazione delle applicazioni multimediali su rete

Standard di comunicazione

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward

Quanto sono i livelli OSI?

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

Contenuti. Corso di Laboratorio di Multimedialità. Programma del corso. Programma del corso

Reti di Telecomunicazione Lezione 8

Allegato 3 Sistema per l interscambio dei dati (SID)

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria Elettronica SISTEMI OPERATIVI

Modello di riferimento OSI Descrizione dei livelli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

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

RETI INTERNET MULTIMEDIALI. Compressive Video

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

ATTIVITÀ DI STAGE PRESSO STMICROELECTRONICS

Capitolo V : Il colore nelle immagini digitali

FONDAMENTI di INFORMATICA L. Mezzalira

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

MODELLI ISO/OSI e TCP/IP

Reti di Calcolatori. Il software

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Informatica. Rappresentazione binaria Per esempio diventa /10/2007. Introduzione ai sistemi informatici 1

Introduzione alle Ret e i t di d Cal a c l o c l o a l t a o t r o i

Lo scenario: la definizione di Internet

Compilatore risorse display grafico LCD serie IEC-line

Documento di definizione dei criteri per la scelta dello strumento di VC

Prova in itinere - Rete Internet (ing. Giovanni Neglia) Mercoledì 23 Maggio 2007, ore 15.00

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

Codifiche a lunghezza variabile

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Reti di calcolatori. Lezione del 10 giugno 2004

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I)

Introduzione al VoIP

Database. Si ringrazia Marco Bertini per le slides

Sistemi Informativi e Sistemi ERP

Automazione Industriale (scheduling+mms) scheduling+mms.

Lezione 1. Introduzione e Modellazione Concettuale

Sistemi Operativi Il Sistema Operativo Windows (parte 3)

Elementi di teoria dei segnali /b

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Rete di accesso / Rete di trasporto

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

RETI INTERNET MULTIMEDIALI. Esercitazione 4

Modulo 1: Posta elettronica

Comunicazione codifica dei dati. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Applicazioni web centrati sui dati (Data-centric web applications)

Siti web centrati sui dati (Data-centric web applications)

Standard per Reti a Commutazione di Pacchetto Prof. Vincenzo Auletta Università degli studi di Salerno Laurea in Informatica

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Il Sistema Operativo (1)

Lo standard ISO MPEG-4

RETI INTERNET MULTIMEDIALI. Esercitazione 2

HDTV LA TELEVISIONE AD ALTA DEFINIZIONE

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

DA SA Type Data (IP, ARP, etc.) Padding FCS

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Approccio stratificato

Page 1. Elementi Base del Modello OSI. Il modello di riferimento ISO/OSI OSI: Open Systems Interconnection. Struttura a Livelli.

Per essere inviato il dato deve essere opportunamente codificato in modo da poter essere trasformato in SEGNALE, elettrico oppure onda luminosa.

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Prodotto <ADAM DASHBOARD> Release <1.0> Gennaio 2015

Internet. Introduzione alle comunicazioni tra computer

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Offerta Televisiva. Generalità

Reti e Internet: introduzione

Una architettura peer-topeer per la visualizzazione 3D distribuita

Reti e Sistemi per l Automazione MODBUS. Stefano Panzieri Modbus - 1

SymCAD/C.A.T.S. modulo Canali Schema

Protocolli di Comunicazione

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Definizione Parte del software che gestisce I programmi applicativi L interfaccia tra il calcolatore e i programmi applicativi Le funzionalità di base

Lezione 8. La macchina universale

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

Versione 1. (marzo 2010)

Codifica delle Informazioni

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Rappresentazione dei numeri in un calcolatore

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione" - lezione 7 -

Architettura del. Sintesi dei livelli di rete. Livelli di trasporto e inferiori (Livelli 1-4)

Concetti di base di ingegneria del software

Transcript:

Capitolo 9 Lo standard ISO MPEG-4 9.1 Principi dello standard MPEG-4 Gli standard di codifica video MPEG-1, MPEG-2 e H.26x nascono per applicazioni chiaramente definite e limitate, quali, rispettivamente la distribuzione di televisione digitale e la videocomunicazione interpersonale. Lo standard MPEG-4 nasce per soddisfare le esigenze di un ampio insieme di applicazioni, non tutte completamente definite al momento della definizione dello standard. Lo standarda MPEG-4 é stato concepito per applicazioni multimediali estremamente differenziate dal punto di vista dei dati stessi (audio, video, immagini fisse), della natura delle sorgenti di dati (naturali o sintetiche), della architettura di comunicazione (punto-punto, punto-multipunto, multipunto-multipunto), e delle funzionalitá richieste (post-elaborazione avanzata, editing e manipolazione, robustezza agli errori). L attivitá di standardizzazione di MPEG-4, sviluppatasi fra il 1993 e il 1999, ha mirato a definire un insieme di strumenti (tools) di codifica per un insieme di applicazioni differenziate fra di loro. Fra le principali aree di applicazione sono state considerate particolarmente rilevanti: Distibuzione di dati a qualitá televisiva, con avanzata interattivitá dell utente Comunicazioni multimediali per utenti mobili Produzione di dati multimediali con elevata flessibilitá rispetto al contenuto Giochi e applicazioni di intrattenimento basate su dati naturali e sintetici Video Streaming su Internet Per supportare tali applicazioni, lo standard MPEG-4 offre caratteristiche riconducibili a Elevataefficienzadicompressione(Compression Efficiency) Accessibilitá mediante differenti supporti, fissi o mobili, a banda larga o stretta (Universal Access) Interattivitá orientata al contenuto (Content-based Interactivity) 96

9.1. PRINCIPI DELLO STANDARD MPEG-4 97 Per supportare le funzionalitá sopra citate, lo standard definisce una codifica dei dati multimediali, e in particolare della sequenza video, orientata agli oggetti. La scena da rappresentare, (composta da video e audio, di tipo naturale o sintetico), é descritta come una composizione di oggetti con evoluzione spaziale e temporale indipendenti. Figura 9.1: Esempio di decomposizione di contenuto multimediale in oggetti audio e video. Un oggetto MPEG-4 puó essere di tipo video o audio, naturale o sintetico. Un oggetto video naturale puó essere di tipo rettangolare di dimensioni arbitrarie, oppure puó avere forma arbitraria ed essere eventualente caratterizzato da informazioni di trasparenza; puó inoltre essere caratterizzato da profonditá di colore variabile fra 4 bit e 12 bit; puó inoltre degenerare in un immagine fissa. Un oggetto video di tipo sintetico, che a sua volta puó contenere una o piú porzioni estratte da video naturale, puó avere differente complessitá, ma é tipicamente di tipo animato, a partire da video e immagini fisse sintetiche o naturali. Fra gli oggetti audio di MPEG-4 compaiono oggetti di tipo audio tradizionale, fra cui il segnale vocale, oggetti ibridi quale segnale vocale generato a partire da un testo, o anche oggetti sintetici per la generazione di suoni piú omenocomplessi. L approccio ad oggetti apre la strada ad una differenziazione del trattamento degli oggetti stessi in termini di: strumenti di codifica (tools 9.1 ); risorse allocate per la trasmissione; risorse allocate per la protezione; formati di codifica. 9.1 Nell ambito MPEG-4 éusualeparlareditools piuttosto che di algoritmi di codifica, perché lo standard mira a fornire strumenti utilizzabili in modo flessibile e riconfigurabile.

98 CAPITOLO 9. LO STANDARD ISO MPEG-4 I principali oggetti multimediali individuati in MPEG-4 e i corrispondenti profili di codifica sono gli oggetti video naturali (Tabella 9.1), gli oggetti video sintetici e ibridi (Tabella 9.2), gli oggetti audio naturali e sintetici(tabella 9.3), gli oggetti grafici (Tabella 9.4), i descrittori della scena (Tabella 9.5). Per ció che concerne la codifica di oggetti video, gli oggetti video naturali sono codificati mediante tecniche di codifica ibrida a trasformata, opportunamente adattate alla codifica di oggetti forma arbitraria. Oltre a tali tecniche di codifica, MPEG-4 include nei profili di codifica di oggetti video sintetici, l animazione di volti umani descritta mediante la caratterizzazione della locazione assoluta e dell evoluzione temporale di opportuni punti di riferimento (Simple Facial Animation). MPEG-4 offre inoltre la possibilitá di mappare tessiture statiche in superfici 2D e 3D per la generazione di oggetti sintetici, e di descrivere tessiture animate. Le tessiture statiche sono codificate utilizzando strumenti di codifica wavelet-based, analoghi a quelli definiti in JPEG 2000; a differenza di quanto previsto nel JPEG 2000, tali tool prevedono la predizione fra elementi di differenti sottobande, risultando cosi piú efficienti in compressione ma meno robusti rispetto agli errori. Le tessiture animate sono descritte mediante l animazione di un grigliato (mesh) a maglia triangolare, che consente l uto di trasformazioni di tipo affine per la motocompensazione. Infine, MPEG-4 consente la codifica indipendentedi sfondi, detti sprite; per gli oggetti sprite sono abilitate operazioni di image warping, per supportare variazioni quali zoom o panning, e cambiamenti di illuminazione. Profilo Simple Simple Scalable Core Main N-Bit Funzionalitá Efficienza di compressione, Resistenza agli errori, Oggetti video rettangolari, Scalabilità in spazio, in tempo Oggetti di forma arbitraria, Scalabilità in tempo Oggetti interallacciati, Oggetti semitrasparenti, Sprite Oggetti con dinamica da 4 a 12 bit/pixel Tabella 9.1: Profili video naturale. Profilo Simple Facial Animation Scalable Texture Basic Animated 2D Texture Hybrid Funzionalitá Animazione di un modello di viso umano Scalabilità in spazio di immagini fisse Scalabilità SNR, Animazione di immagini fisse basata su mesh Video sintetico e naturale (con oggetti del profilo Core) Tabella 9.2: Profili video sintetico o ibrido.

9.1. PRINCIPI DELLO STANDARD MPEG-4 99 Profilo Speech Synthesis Scalable Main Funzionalitá Coder parametrico VLB, Coder CELP narrow/wideband, Interfaccia Text-To-Speech Sintesi di suoni e rumori, Interfaccia Text-To-Speech Scalabilità per parlato e musica Funzionalitá precedenti e algoritmi di tipo AAC e TWinVQ Tabella 9.3: Profili audio. Profilo Simple 2D Complete 2D Complete 3D Funzionalitá posizionamento di uno o più oggetti visuali testo e grafica bidimensionale grafica avanzata, gestione di illuminazione degli oggetti Tabella 9.4: Profili grafici. Profilo Audio Simple 2D Complete 2D Complete (VRML) Funzionalitá applicazioni con solo contenuto audio uno o più oggetti audiovisuali senza supporto di interattività descrizione di scene 2D insieme completo degli elementi BInary Format for Scene description(bifs) Tabella 9.5: Profili di descrizione della scena. Figura 9.2: Oggetto video sintetico di tipo Simple Face rappresentato nel profilo Simple Facial Animation.

100 CAPITOLO 9. LO STANDARD ISO MPEG-4 9.2 La codifica video di oggetti di forma arbitraria La figura 9.3 mostra l architettura base di un codificatore video basato sul contenuto della scena. Gli oggetti (di tipo naturale o sintetico 2D o 3D) sono rappresentati come entità indipendenti, individualmente accessibili nel bitstream. Gli oggetti che costituiscono la scena sono poi ricomposti tramite informazioni dette di composizione. Ciascun oggetto puó essere rappresentato in modo scalabile mediante diversi Layer, ovvero diversi livelli di informazione; grazie all approccio ad oggetti, la scalabilitá puó essere realizzata in modo differenziato per i diversi oggetti che compongono la scena. Figura 9.3: Il codificatore video MPEG-4. Il codificatore dei VOP, rappresentato in Fig.9.10, è composto da due componenti, che operano parallelamente sullo stesso VOP. Il primo componente è il codificatore della forma, che può essere binaria o a scala di grigi per consentire la codifica di trasparenze; tale componente è opzionale ed è omesso laddove il VOP sia di forma rettangolare e coincida con il singolo quadro. Il secondo componente è il codificatore di movimento e tessitura, applicato al VOP di forma arbitraria. Le informazioni di forma, moto e tessitura possono essere multiplate a livello di macroblocco (modalitá combined) oppure i dati di forma, moto e tessitura relativi ai diversi macroblocchi possono essere raggruppati a livello di VOP e trasmessi in tre sezioni separate (modalitá separated). 9.2.1 Gli strumenti per la codifica dell informazione di forma Le informazioni di forma possono essere di natura binaria ( alpha plane) o a scala di grigio (grey scale alpha plane). Nel caso binario i pixel sono rappresentati da valori di luminanza pari a 255 se sono parte dell'oggetto (pixel opachi) e con valori di luminanza nulli se sono esterni all'oggetto (pixel trasparenti). Il supporto dell'informazione di forma

9.2. LA CODIFICA VIDEO DI OGGETTI DI FORMA ARBITRARIA 101 Figura 9.4: Il codificatore di oggetti video naturali. dell'oggetto è un rettangolo (bounding box) che contiene l'oggetto da codificare esteso a multipli di macroblocchi di 16x16 pixels. Le informazioni di forma di tipo binario sono codificate mediante una tecnica di codifica aritmetica detta Content-based Arithmetic Encoding, CAE; le informazioni di forma a scala di grigio sono trattate tramite moto compensazione e DCT. Nel caso di informazione di forma di tipo binario, i macroblocchi del bounding box sono detti binary alpha blocks, BAB. Si distinguono tre tipi di BAB: blocchi trasparenti, esterni all'oggetto, blocchi opachi, interni all'oggetto, e blocchi di bordo, che coprono i bordi dell'oggetto. La codifica della forma dei blocchi di bordo è basata sul contesto e sfrutta la ridondanza spaziale e temporale dell'informazione di forma binaria da codificare. Se il BAB é codificato in modalitá Intra, per ogni pixel viene considerato un contesto causale di 10 pixel per la predizione del valore di forma del pixel corrente. In base al contesto, il codificatore di tipo aritmetico indicizza una tabella di codice differente; utilizzando tale tavola, si pilota un encoder di tipo aritmetico (CAE), che seleziona un opportuna parola di codice. Se il BAB é codificato in modalitá Inter, ad esso é assegnato un vettore di moto, ed il residuo di predizione éancora calcolato utilizzando un codificatore aritmetico basato su contesto causale. Il contesto utilizza 9 pixel, di cui 4 estratti dal quadro attuale e 5 alla locazione moto compensata nel VOP precedente. La codifica della forma può essere con perdita, ed un opportuna soglia (alpha threshold) indica, per ciascun BAB, il massimo numero di pixel non codificati correttamente all'interno di un blocco di bordo. 9.2.2 Gli strumenti per la codifica di movimento e tessitura di oggetti di forma arbitraria La codifica del singolo VOP é una codifica ibrida a trasformata basata sulla motocompensazione e sulla trasformata DCT, opportunamente adattati per essere applicati ad oggetti di forma arbitraria.

102 CAPITOLO 9. LO STANDARD ISO MPEG-4 La stima del movimento, viene effettuata attraverso un algoritmo di ricerca basato su una misura della differenza tra i blocchi del VOP attuale e i blocchi di quello di riferimento traslati. La ricerca viene effettuata sia sulla base di macroblocchi 16x16 che di blocchi 8x8. Per ció che concerne il blocco attuale la funzione di costo utilizzata nella stima di spostamento viene calcolata unicamente sui pixel interni all oggetto, e nel VOP di riferimento si effettua un padding esterno all oggetto prima di operare la motocompensazione come rappresentato in Fig.9.5. La precisione dei vettori spostamento può essere a pixel interi, al mezzo pixel e al quarto di pixel. Ciascun vettore spostamento è trasmesso in forma differenziale rispetto ad un predittore, analogamente a quanto definito in H.263. La motocompensazione ammette le modalità Unrestricted Motion Vector e Advanced Prediction, analoghe a quelle definite in H.263. I VOP INTRA e gli errori di predizione relativi ai VOP INTER sono codificati utilizzando la trasformata DCT 8x8 delle componenti di luminanza e crominanza. I macroblocchi al bordo di un VOP di forma arbitraria sono opportunamente completati prima di operarne la DCT. Se il macroblocco é codificato INTER, i pixel esterni al VOP sono posti a zero; se il macroblocco é codificato INTRA, si effettua un padding detto Low-Pass Extrapolation. La LPE é effettuata in due passi, estendendo prima il valor medio dei pixel interni al VOP ai pixel esterni al VOP stesso, e sfumando successivamente i bordi fra pixel interni ed esterni (vedi Fig.9.5). I coefficienti DCT possono essere quantizzati utilizzando lo stesso passo di quantizzazione per tutti i coefficienti di frequenza non nulla, analogamente a quanto avviene in H.263, ovvero quantizzando più finemente i coefficienti di frequenza più bassa, analogamente a quanto avviene in MPEG-2; inoltre, le matrici possono essere scelte dal codificatore e scritte nel bitstream. Non solo il coefficiente a frequenza nulla (DC), ma anche la prima riga e la prima colonna degli altri coefficienti (AC) possono essere codificati in forma differenziale, come illustrato in Fig.9.7. L ordine in cui sono trasmessi i coefficienti quantizzati e predetti viene scelto fra tre diversi ordini di scansione: a zig zag, orizzontale alternata, verticale alternata. Infine viene effettuata la codifica entropica dei coefficienti non nulli presenti nel blocco e del numero di zeri che compaiono tra di essi utilizzando codici a lunghezza variabile (VLC), oppure codici a lunghezza variabile reversibili (RVLC). 9.2.3 La sintassi MPEG-4 Visual La struttura sintattica del bitstream video é la seguente: Visual Object Sequence, o Video Session (VS), che rappresenta la scena completa, e contiene uno start code non emulabile di 24 bit, seguito da un byte che segnala l inizio o la fine della sessione; Video Object (VO), che rappresenta l intero oggetto in evoluzione, contiene uno start code e un identificativo dell oggetto; Video Object Layer (VOL), che convoglia le informazioni relative allo strato (di bae o di enhancement) dell oggetto in questione; fra le informazioni a livello di VOL citiamo uno start code, il tipo di forma (rettangolare, binaria, scala di grigio), le dimensioni in pixel nel caso di oggetto rettangolare, la precisione in bit per pixel, il metodo di quantizzazione scelto (H.263 o MPEG-2 ), le eventuali matrici di quantizzazione INTRA e INTER, la precisione della stima del vettore di moto (che puó arrivare al quarto di pixel), la attivazione degli strumenti di robustezza agli errori di trasmissione, ivi compresa la possibilitá di effettuare la predizione temporale a partire da VOP di riferimento diversi dall ultimo decodificato; Group of Video Object Plane (GOV), che svolge un ruolo analogo a quello del GOP

9.2. LA CODIFICA VIDEO DI OGGETTI DI FORMA ARBITRARIA 103 Figura 9.5: Adattamento della notocompensazione e della trasformata per la codifica di oggetti di forma arbitraria. Figura 9.6: Predizione dei coefficienti DCT fra blocchi adiacenti.

104 CAPITOLO 9. LO STANDARD ISO MPEG-4 Video Object Plane (VOP), che sostituisce il tradizionale concetto di quadro della sequenza video; contiene informazioni di Start Code, di tipo di VOP (I,P,B), le dimensioni del bounding boxnel caso di oggetto di forma arbitraria, un opportuno marker di risincronizzazione, il numero di macroblocchi all interno del VOP, il valore del parametro di quantizzazione, e informazioni di sincronizzazione della presentazione. Video packet, che convoglia l informazione di forma, un flag di abilitazione della predizione fra macroblocchi INTRA, il parametro di quantizzazione dell immagine ed eventualmente della forma, i vettori di moto, ed i coefficienti trasformati relativi ai macroblocchi considerati. La sintassi del pacchetto video é discussa ulteriormente nel paragrafo dedicato agli strumenti di robustezza all errore di MPEG-4. Figura 9.7: Predizione dei coefficienti DCT fra blocchi adiacenti. 9.3 La codifica video in ambienti di trasporto soggetti ad errore La distribuzionedi video per servizi televisivi é stata, almeno in origine, progettata per canali caratterizzati da elevata qualità, con specifiche di BER dell ordine di 10 10, 10 11 all ingresso del decodificatore video. Con la diffusione dei servizi video in ambienti di trasmissione maggiormente soggetti ad errori, caratterizzati da BER dell ordine di 10 3, 10 5, si è reso necessario dotare i sistemi di codifica e decodifica di strumenti per reagire alla degradazione della sequenza decodificata causata dagli errori di trasmissione 9.2. Si consideri che mentre il primo tipo di servizi 9.2 Osserviamo che l adozione di protocolli di ritrasmissione a livello radio comporta un aumento dei ritardi e del jitter di trasferimento; pertanto essi non sono adottati sistematicamente, ed in ogni caso sono limitati. Ad esempio, i protocolli di ritrasmissione H.223 AL3 prevedono al massimo una ritrasmissione per unitá dati.

9.3. LA CODIFICA VIDEO IN AMBIENTI DI TRASPORTO SOGGETTI AD ERRORE 105 citato prevedeva un errore ogni ora di trasmissione, nel secondo caso l errore si presenta su una larga percentuale dei quadri 9.3. Il bistream codificato utilizza tipicamente tavole di codice di lunghezza variabile (VLC), ed un errore anche su un solo bit puó causare diversi tipi di effetti: l errore produce una sequenza illegale ed il decoder rivela immediatamente l errore; questa circostanza é piuttosto rara; l errore trasforma la parola di codice in un altra parola di uguale lunghezza; il corrispondente parametro é decodificato erroneamente e la lettura del bitstream prosegue a partire dal punto corretto; osserviamo che anche in questo caso, a causa dell uso intensivo di tecniche di codifica differenziale, la decodifica errata del parametro tipicamente conduce all interpretazione errata dei dati decodificati successivamente; l errore trasforma la parola di codice in un altra parola di lunghezza differente, e la lettura del bitstream prosegue a partire da un punto errato; in tal caso, si dice che il decodificatore ha perso il sincronismo con il bitstream; la lettura prosegue fintantoché il decoder incontra una sequenza di bit che corrisponde ad una parola di codice illegale. In considerazione di questi effetti di errori, ancorché isolati, é essenziale fornire al decodificatore dei punti di risincronizzazione col bitstream. A fronte di un errore rivelato, il decodificatore salta i dati codificati fino al primo punto di sincronizzazione disponibile. I dati mancanti vengono rimpiazzati mediante tecniche dette di mascheramento dell errore (error concealment ), che mirano alla costruzione di una sequenza decodificata in cui le aree mancanti siano mascherate. Fra le piú comuni tecniche di mascheramento dell errore citiamo la copia di macroblocchi dal quadro precedente, in posizione corrispondente oppure prescelta in base a criteri di continuitá spaziale, ovvero l interpolazione spaziale a partire da macroblocchi adiacenti. Osserviamo che poiché la rivelazione dell errore avviene con una certa latenza rispetto all occorrenza dell errore, una volta rivelato l errore il decodificatore puó effettuare il concealment anche sui blocchi che precedono la rivelazione, allo scopo di evitare i fastidiosi artefatti tipici degli errori non rivelati, dovuti alla decodifica di parole di codice errate e completamente casuali. Tra i diversi parametri convogliati nel bitstream, é possibile stabilire una gerarchia di importanza ai fini della qualitá visuale della sequenza ricostruita, ció che induce a progettare tecniche che proteggano i dati in modo differenziato. Inoltre, la codifica predittiva -insita nel meccanismo di motocompensazione e tipicamente sfruttata almeno per la codifica dei vettori di moto e per i coefficienti DC- provoca la propagazione degli errori di ricostruzione anche su aree ricostruite in base a dati correttamente decodificati; pertanto, in ambienti soggetti ad errori, l efficienza di compressione puó essere ridotta a favore di una codifica indipendente di diverse sezioni del video, che risulta piú robusta in presenza di errori. 9.3.1 Le funzionalità di robustezza all errore dello standard MPEG-4 Lo standard MPEG4 offre funzionalità di protezione e recupero di errore finalizzate alla trasmissione di audio e video a bit-rate relativamente basso (< 64Kb/s) in ambienti soggetti a errori, come quelli delle comunicazioni mobili. Le metodologie di recupero includono funzionalità di 9.3 Si consideri una sequenza codificata a 48 Kb/s, 10 quadri al secondo; ogni quadro consta di circa 5000 bit, e un BER di 10 4 conduce ad una media di un errore ogni due quadri; fortunatamente, gli errori tipicamente non sono isolati ma appaiono in burst, condizione piú favorevole in quanto concentra la degradazione su un area spazialmente e tempoalmente piú contenuta.

106 CAPITOLO 9. LO STANDARD ISO MPEG-4 risincronizzazione recupero di dati mascheramento dell errore Le funzionalità di risincronizzazione abilitano la risincronizzazione fra il decodificatore e la stringa codificata a valle della rivelazione di uno o più errori, e si basano su un approccio a pacchetto video (video packet approach), che rappresenta un evoluzione dell approccio utilizzato da H.261 e H.263. Rispetto alle metodiche previste da questi standard, MPEG-4 consente l inserzione nel bitstream di marker ad intervalli di lunghezza in bit prefissata, migliorando cos la protezione delle informazioni relative ad aree in movimento, alle quali, a parità di estensione spaziale, compete un maggior numero di marker di risincronizzazione di aree più lentamente variabili. I punti di sincronizzazione nella stringa possono inoltre contenere informazioni addizionali, che ridondano la descrizione di parametri critici per la decodifica. A questo approccio si affianca l approccio a intervalli di sincronizzazione definiti (fixed interval synchronization), nel quale i marker di risincronizzazione possono apparire unicamente in alcuni intervalli autorizzati della stringa. In questo caso errori che causino l emulazione degli start code nella stringa ricevuta non hanno effetto, a meno che non compaiano negli intervalli autorizzati. Le informazioni codificate che riguardano la forma e il moto degli oggetti rappresentati nella scena (motion information) possono essere codificate separatamente dalle informazioni che ne descrivono i dettagli spaziali (texture information), e dotate di un proprio resynchronization marker (data partitioning). Nel caso dunque che sia danneggiata la porzione di stringa relativa alle texture information, il funzionamento corretto dei meccanismi di sincronizzazione consente di utilizzare metodologie di mascheramento dell errore basate unicamente sulla motion information che sono estremamente semplici, (ad es. sostituzione di un blocco del quadro attuale con un opportuno blocco di un quadro precedentemente ricostruito), che forniscono però risultati qualitativamenteaccettabili in applicazioni a basso bit-rate e con requisiti di basso ritardo. La risincronizzazione fra il decodificatore e la stringa codificata consente l identificazione della quantità di dati persi, e della loro tipologia (informazione di moto, informazione di tessitura, etc.). Una volta ristabilita la sincronizzazione, il parziale recupero dei dati contenuti fra i marker di sincronizzazione riconosciuti è consentito sia da codici di correzione di errore sia da opportune tecniche di codifica. In particolare si adottano codici a lunghezza di parola variabile decodificabili tanto a partire dal primo quanto dall ultimo bit di codice (Reversible Variable Length Coding, RVLC). Ciò consente, una volta identificati due resynchronization marker consecutivi, fra i quali si sia verificato un burst di errori, di recuperare non solo i dati che seguono il primo resynchronization marker (precedendo il burst), ma anche i dati rappresentati dai bit non danneggiati che precedono il secondo resynchronization marker. 9.4 Multiplazione e trasporto di dati MPEG-4 Il trasferimento di dati MPEG-4 puó avvenire con diverse modalitá alternative, fondamentalmente dipendenti dalle applicazioni. Una prima modaliá definita dallo standard prevede la presentazione dei dati da parte dell applicazione allo strato di trasporto tramite l interfaccia Delivery Multimedia Integration Framework, DMIF. Lo strato di trasporto non é specificato dallo standard. Il trasporto basato sull interfaccia DMIF sará prevalentemente utilizzato come

9.4. MULTIPLAZIONE E TRASPORTO DI DATI MPEG-4 107 Figura 9.8: Struttura del pacchetto video nella modalitá Data Partitioning. Figura 9.9: Impatto dell uso di tavole RVLC sulla qualitá del video ricostruito.

108 CAPITOLO 9. LO STANDARD ISO MPEG-4 modello concettuale per lo sviluppo di applicazioni di tipo proprietario. Una seconda modalitá definita dallo standard prevede l uso di un formato di file multimediale estremamente flessibile, adatto tanto alla memorizzazione quanto ad applicazioni di video streaming su rete a pacchetto. Infine, il bitstream codificato MPEG-4 puó essere direttamente incapsulato in un flusso RTP secondo utilizzando il formato di pacchettizzazione e i criteri appositamente definiti in ambito IETF; tale modalitá é utilizzabile in differenti applicazioni basate su IP, quali la videocomunicazione interpersonale o il video streaming, su rete fissa o rete mobile. 9.4.1 Il formato di trasporto MPEG-4: il Delivery Multimedia Integration Framework L architettura funzionale di un generico terminale conforme alla specifica ISO/IEC 14496 (MPEG-4) è costituita da tre strati: lo strato di Codifica (Compression Layer); lo strato di Sincronizzazione (Synchronization Layer); lo strato di Consegna (Delivery Layer). Lo strato di codifica produce in uscita flussi dati codificati elementari (Elementary Stream, ES) secondo le sintassi di codifica del video, dell audio, e della descrizione della scena 9.4. Oltre ai dati codificati di tipo audiovisuale, gli ES possono veicolare ulteriori informazioni di descrizione degli oggetti, come informazioni sui diritti d autore o sulla protezione del contenuto multimediale, mediante apposite strutture sintattiche (Object Descriptors). Inoltre i dati codificati possono essere costituiti da apposite librerie definite nello standard e sviluppate in linguaggio Java, destinate principalmente all industria dello sviluppo software, dette MPEG-J. Le librerie MPEG-J contengono informazioni di controllo del terminale ricevente e consentono di manipolare il contenuto della scena audio-video interagendo con il bitstream, identificare il tipo di decoder e i profili supportati, controllare le risorse locali, interrogare le risorse di rete; tali librerie possono essere preinstallate sul terminale MPEG-4 oppure possono essere trasferite attraverso ES dedicati. Gli ES sono inoltrati allo strato di sincronizzazione che associa ai flussi elementari le informazioni di temporizzazione, necessarie a sincronizzare i flussi e la descrizione gerarchica delle relazioni reciproche. Lo strato di sincronizzazione presenta una sintassi configurabile in modo da introdurre un maggiore o minore overhead in funzione delle applicazioni. In generale, lo strato di sincronizzazione puó aggiungere agli ES informazioni di temporizzazione e sequence numbering; fra le informazioni di temporizzazione segnaliamo la presenza, oltre ai time stamps, di un informazione opzionale sulla frequenza del clock di riferimento, eventualmente condiviso da piú flussi ES. Da un punto di vista implementativo, lo strato di compressione e lo strato di sincronizzazione sono tipicamente integrati in un unità funzionale. I flussi elementari di pacchetti prodotti dallo strato di sincronizzazione (Synchronization Layer Packetized Stream, SPS), sono inoltrati allo strato protocollare inferiore di consegna. Lo Strato di Consegna é specificato nella parte dello standard denominata Digital Multimedia Integration Framework. Il DMIF definisce primitive che permangono per l intera durata della sessione di comunicazione. In particolare, il DMIF specifica le primitive del Piano di Controllo sia dal lato trasmissione che dal lato ricezione, e specifica le primitive del Piano d Utente dal lato ricezione. Esso adatta le richieste di acquisizione dati, di trasferimento dati, e piú in generale di interazione con entità remote ai servizi messi a disposizione dallo strato di trasporto 9.4 La descrizione della scena utilizza una sintassi appositamente definita, detta Binary Format for Scene description, BIFS.

9.4. MULTIPLAZIONE E TRASPORTO DI DATI MPEG-4 109 effettivamente disponibile. In tal modo, lo strato di consegna maschera agli strati superiori la tecnologia di trasporto utilizzata, che dipende dallo scenario applicativo (broadcasting, memorizzazione locale, comunicazioni interattive). Il confine tra lo strato di sincronizzazione e lo strato di consegna è denominato Interfaccia Applicativa DMIF (DMIF-Application Interface - DAI). L interfaccia DAI fornisce primitive classiche del livello di applicazione (PLAY, PAUSE, etc.), definendo le possibili interazioni fra le applicazioni multimediali e lo strato di consegna. Pertanto, dal punto di vista del paradigma di comunicazione ISO/OSI, un istanza DMIF realizza funzionalità di Strato di Sessione e l interfaccia DAI corrisponde a un Punto d Accesso al Servizio di Sessione (Session Service Access Point, SSAP). Il DMIF maschera agli utenti la tecnologia effettivamente utilizzata per il trasporto assegnando i parametri di qualità per ciascun flusso elementare ricevuto all interfaccia DAI e gestendo in tempo reale canali che risentono di variazioni della QoS. All interno dello strato di consegna (strato DMIF) possono essere individuate due multiplazioni indicate rispettivamente con Flex-Mux (opzionale) e Trans-Mux. La multiplazione Flex-Mux riunisce i flussi elementari che richiedano per la trasmissione gli stessi parametri di qualità di servizio, al fine di ridurre il numero delle connessioni instaurate per la trasmissione dei dati. La multiplazione Trans-Mux, non definisce una procedura di multiplazione chiusa, ma si limita a definire le regole per l incapsulamento dei flussi MPEG-4 pacchettizzati nei protocolli delle differenti infrastrutture di multiplazione disponibili. Per il trasferimento puó dunque essere utilizzata una qualunque pila di protocolli per il trasporto, quali ad esempio (RTP)/UDP/IP, AAL2/ATM, oppure il Transport Stream di MPEG-2. Per ciascuna pila, il trasferimento avverrá sfruttando opportunamente le funzionalità di multiplazione/demultiplazione native, rispettivamente le porte IP, i VC dell ATM, i PID di MPEG-2. Unicamente per il caso di trasporto su reti interattive (reti IP e ATM 9.5 ), lo standard specifica l interfaccia fra lo strato Trans-Mux del DMIF e la rete (DMIF Network Interface, DNI), e descrive esplicitamente la corrispondenza fra la segnalazione DMIF e la segnalazione nativa della rete. Infine per il trasporto su reti eterogenee, lo standard recepisce i protocolli Digital Storage Media Command & Control - User to Network (DSMCC-UN) che definiscono una sintassi di descrittori delle risorse di rete utilizzate. 9.4.2 Il formato di memorizzazione MPEG-4: il file MP4 La memorizzazione di una presentazione MPEG-4, ovvero delle Elementary Streams che la compongono, in linea di principio può basarsi sul bitstream codificato fin qui descritto. La definizione di un formato di file per la memorizzazione di una scena multimedialempeg-4 risponde all esigenza di fornire, oltrealle informazionicontenute nella presentazione vera e propria, informazioni specializzate per applicazioni di editing o di accesso. Ciò è stato realizzato adattando un formato di file multimediale esistente alle esigenze di MPEG-4. Il formato di file MP4 così progettato contiene le informazioni multimediali di una presentazione MPEG4 in un formato flessibile ed orientato allo scambio, all editing, e alla presentazione in ambito locale o remoto. Rispetto alla rappresentazione costituita dal bitstream, la rappresentazione in file presenta alcune differenze significative: I dati multimediali veri e propri possono essere localizzati tanto nel file MP4 o essere esterni al file e referenziati tramite URL. Il file contiene alcuni metadati per l editing, il playback, e la manipolazione dei dati multimediali. 9.5 Il protocollo ATM é un protocollo di rete a pacchetto di lunghezza fissa. E connection-oriented, stabilisce cioé un circuito virtuale fra sorgente e destinatario.

110 CAPITOLO 9. LO STANDARD ISO MPEG-4 Figura 9.10: Architettura dello strato di consegna DMIF. Il file contiene istruzioni (hint tracks) per il trasferimento dei dati sullo strato di trasporto disponibile da parte dell applicazione. Tali istruzioni segnalano, ad esempio, la modalitá di pacchettizzazione suggerita nel caso di servizi di streaming basati sul modello client-server, ovvero l importanza dei pacchetti dati ai fini della qualitá soggettiva della sequenza decodificata. Il formato di file MP4 é inoltre alla base del formato.3gp utilizzato nelle comunicazioni video su radiomobile. 9.5 La comunicazione video su reti a pacchetto La diffusione dei servizi di comunicazione e distribuzione di video su reti a pacchetto dipende da un insieme di fattori favorevoli. In primo luogo, le reti a pacchetto sono diffusissime e basate su standard universalmente accettati. Esse offrono strumenti di multiplazione nativi molto potenti di flussi multimediali 9.6. Il formato di multiplazione a pacchetto consente la gestione integrata di dati di natura differente. Il formato di multiplazione a pacchetto offre strumenti nativi di monitoring della comunicazione basati su semplici riscontri a livello di pacchetto. 9.6 A titolo esemplificativo, si osservi che una videoconferenza H.323 punto/multipunto puó realizzarsi utilizzando una trasmissione multicast a livello IP, laddove in un sistema a commutazione di circuito la videoconferenza H.324 necessita di un apposita entitá, il Multipoint Processor del MCU, per realizzare la multiplazione dei flussi in modalitá punto multipunto.

9.5. LA COMUNICAZIONE VIDEO SU RETI A PACCHETTO 111 Il formato di multiplazione a pacchetto confina gli errori trasmissivi a livello di pacchetto, semplificandone la gestione a livello di applicazione. Su una rete a pacchetto possono offrirsi, accanto a servizi di download, tanto servizi multimediali conversazionali (real-time) quanto servizi di streaming. I servizi conversazionali sono caratterizzati da ritardi massimi tollerabili dell ordine dei 200 ms, i servizi di streaming richiedono ritardi massimi dell ordine di qualche secondo. La pila protocollare di gran lunga piú diffusa per il trasferimento di dati audio video su reti a pacchetto é la pila RTP/UDP/IP che offre un protocollo end-to-endcon funzionalitá di rivelazione d errore, numerazione dei pacchetti, sincronizzazione dei flussi, monitoraggio delle consegne. Per il trasferimento di video su rete a pacchetto, anche i dati del livello di applicazione sono tipicamente organizzati a pacchetto. In presenza di perdite di pacchetto, che anche su una rete fissa possono arrivare al 5-10 %, é opportuno adottare dei criteri di impacchettamento che forzino una corrispondenza fra strutture sintattiche di livello applicativo e pacchetti di rete. Per ció che concerne la trasmissione su RTP/UDP/IP, tali criteri sono descritti in RFC dedicate. In linea di principio tali criteri richiedono l incapsulamento di un quadro in un pacchetto, ovvero di una struttura sintattica di livello immediatemente inferiore 9.7 in un pacchetto, e richiedono che non si suddividano mai gli header di livello applicativo fra piú pacchetti. Inoltre, un importante criterio di pacchettizzazione prevede l adattamento della dimensione del pacchetto alla Maximum Transfer Unit (MTU) 9.8 del cammino sottostante (1500 byte per Ethernet, 100 byte per canali radiomobili), al fine di evitare una frammentazione operata al di fuori del controllo dell encoder. In generale, pertanto, la dimensione del pacchetto non dovrebbe superare la dimensione della MTU per evitare che la perdita, a livello di rete o inferiore, di una porzione del pacchetto del livello di applicazione costringa il decodificatore a scartare le altre porzioni, pur ricevute correttamente. La pacchettizzazione deve rispondere ad un trade-off fra overhead introdotto 9.9 e robustezza rispetto agli errori; in generale, a pacchetti piú lunghi corrisponde un minore overhead ma una minore robustezza, e viceversa a pacchetti piú brevi maggiore overhead e maggiore robustezza. Sul flusso video codificato, questo ha un effetto immediato: a paritá di banda assegnata al video, al diminuire della dimensione del pacchetto deve aumentare la quantizzazione, ció che diminuisce la qualitá della sequenza decodificata in assenza di errori di trasmissione. D altro canto la perdita di qualitá sperimentata nel caso di assenza di errori corrisponde ad un miglioramento di qualitá in presenza di errori, e la scelta della dimensione del pacchetto deve essere adattata alla qualitá del trasferimento utilizzato. Il problema é piú complesso su reti eterogenee; in tal caso é prevista la possibilitá di aggregare o frammentare pacchetti, in misura quanto piú possibile aderente alle unitá sintattiche di livello applicativo. A fronte di perdite di pacchetti e/o di errori di trasmissione, é possibile delineare diverse strategie per garantire il servizio: Ritrasmissione (tecniche di Picture Header Repetition, Packet Duplication, ritrasmissione con diverso formato di codifica, piggy-backing) Forward Error Correction, Media Independent o Media Dependent (protezione selettiva dei dati piú importanti) Interleaving di livello di applicazione 9.7 Nel caso MPEG-4 la struttura sintattica é il Video Packet, in H.263 il GOB, in H.263+, H.263++, H.264 la Slice. 9.8 La dimensione della MTU é la dimensione massima del pacchetto IP che puó essere trasferito senza essere frammentato a livello di rete. La frammentazione del pacchetto IP prevede la replica dell header su tutti i frammenti ed il riassemblaggio degli stessi a destinazione; se non tutti i frammenti arrivano entro un tempo pre-assegnato misurato a partire dall istante di arrivo del primo frammento l intero pacchetto é scartato. 9.9 Si osservi che l header RTP/UDP/IP édi40byte.

112 CAPITOLO 9. LO STANDARD ISO MPEG-4 Congestion control: tali tecniche si basano sulla capacitá del codec di adattare la banda istantanea. Tale adattamento, in una comunicazioneinterpersonale punto-punto puó essere realizzato adattando i parametri di codifica utilizzati. Nell accesso a dati precodificati e memorizzati oppure in collegamenti punto multipunto l adattemento puó essere reso possibile da una codifica di tipo scalabile, che consenta di utilizzare lo stesso bitstream codificato in condizioni di congestione di banda differenti. Tale Protocolli IETF per il controllo e la descrizione della sessione video su reti a pacchetto Il protocollo Session Initiation Protocol (SIP, RFC 3261) sviluppato dal IETF MMUSIC Working Group éun protocollo di livello applicativo finalizzato ad inizializzare, modificare e terminare una sessione interattiva che coinvolga video, voce, messaggistica, etc, tra due dispositivi multimediali. Il Real Time Streaming Protocol (RTSP, RFC 2326) è un protocollo di livello applicativo sviluppato dal IETF MMUSIC Working Group allo scopo di controllare la consegna on-demand di flussi dati con requisiti real-time, come ad esempio flussi audio e video. Il protocollo é stato concepito per essere utilizzato in un paradigma client-server (web, content e proxy/caching server). Le funzionalitá variano dall invito di un media server ad una conferenza, all aggiunta di media ad una sessione già esistente, alla gestione di piú content server al livelo di trasporto (multiserver), alla negoziazione di capacitá. Il protocollo prevede metodi che devono essere obbligatoriamente implementati (setup, teardown, play, client-to-server options), metodi raccomandati per l implementazione ma non obbligatori (describe, pause) e metodi opzionali (announce, get parameter, set parameter, record, server-to-client options). Il protocollo mantiene lo stato, consentendo quindi ai server di mantenere traccia delle sessioni aperte anche quando il flusso dati é interrotto. La sessione multimediale puó essere descritta utilizzando il Session Description Protocol (SDP, RFC 2327) che convoglia informazioni sui media coinvolti, sulla pila protocollare utilizzata dal piano di utente, sugli indirizzi del trasporto, e su altri metadati. La descrizione SDP puó essere usata congiuntamente ai protocolli SIP, RTSP, Session Announcement Protocol (SAP, 2974) o Multipurpose Internet Mail Extension (MIME, RFC 2045, 2046). La pila protocollare di gran lunga piú usata per il piano d utente é la pila RTP/UDP/IP. 9.5.1 Il formato RTP per il flusso binario MPEG-4 Visual La [3] definisce la pacchettizzazione RTP del flusso binario MPEG-4 Visual. Dal momento che MPEG-4 è uno standard di codifica video generico, adattabile cioè ad una varietà di reti caratterizzate da differenti bande e qualità di trasporto, le regole di frammentazione sono alquanto flessibili, e mirano fondamentalmente a garantire la preservazione delle caratteristiche di robustezza agli errori. L header del pacchetto RTP contiene sempre un Marker bit (M), che segnala se il pacchetto contiene o meno la fine del quadro corrente, ed il Time Stamp che indica l istante di campionamento del primo quadro contenuto del pacchetto, consentendo la sincronizzazione fra media differenti, nonché fra strati base e enhancement nel caso di codifica scalabile. La stringa MPEG-4 Visual, opportunamente frammentata viene inserita direttamente nel payload del pacchetto. Non vengono eliminati caratteri, come succede nel caso di header H.263, né inserita informazione ridondante, dal momento che l MPEG-4 Visual dispone già di funzionalità per il recupero di header corrotti. I criteri di frammentazione si possono riassumere in alcune linee guida: ogni pacchetto RTP non dovrebbe contenere più di un VOP, a meno che il VOP sia molto piccolo;

9.5. LA COMUNICAZIONE VIDEO SU RETI A PACCHETTO 113 ogni pacchetto RTP non dovrebbe eccedere la Maximum Transfer Unit del path; un header MPEG-4, di qualsiasi livello gerarchico, non può essere suddiviso in più pacchetti, e deve comparire all inizio del pacchetto; nel caso che più header siano trasportati in un pacchetto, il payload inizierà con l header di livello gerarchico più alto; un pacchetto video dovrebbe essere mandato in un unico pacchetto RTP; tuttavia, è ammessa la trasmissione di più pacchetti video in un pacchetto RTP in quanto il pacchetto video potrebbe essere talmente corto da risultare di lunghezza confrontabile con l header RTP.

Bibliografia [1] T. Ebrahimi, C. Horne, MPEG-4 Natural Coding-An overview, Signal Processing: Image Communication, Vol. 15, 2000, 365-385. [2] R. Koenen, Profiles and levels in MPEG-4 -Approach and overview, Signal Processing: Image Communication, Vol. 15, 2000, 365-385. [3] IETF RFC 3016: RTP Payload Format for MPEG-4 Audio/Visual Streams, Kikuchi Y. et al., November 2000. 114