Capitolo 6 Lo standard MPEG-2 e il Digital Video Broadcasting
Transcript
Capitolo 6 Lo standard MPEG-2 e il Digital Video Broadcasting
Capitolo 6 Lo standard MPEG-2 e il Digital Video Broadcasting Contenuto 6.1 Lo standard MPEG-2 per servizi multimediali diffusivi Lo standard MPEG-2, sviluppato dal Moving Pictures Experts Group (MPEG) dell’ISO 6.1 in cui sono rappresentati vari segmenti di industrie che si occupano del trattamento dell’informazione, definisce la codifica di sorgente audio, video, e il formato di multiplazione e trasporto per servizi multimediali diffusivi a qualità televisiva o superiore. Lo standard specifica esclusivamente la sintassi del bitstream e la decodifica, e definisce sottoinsiemi di funzionalitá e di elementi sintattici (profili) adatti a particolari campi di applicazione. Lo standard MPEG-2 è uno standard utilizzabile in diverse applicazioni. L’applicazione primaria di MPEG-2 è la trasmissione a qualità televisiva (Racc. CCIR 601) o superiore di sequenze in formato interallacciato o progressivo e di diversi aspect ratio,quali 4:3, 16:9, e il formato quadrato. I formati di riferimento per Standard Definition TeleVision (SDTV) prevedono sequenze video 4:2:0 di dimensione 720x576 pixel @ 25 quadri al secondo (PAL), o 720x480 @ 30 quadri al secondo (NTSC) con un bitrate tra 2 e 10 Mbit/sec. Lo standard risulta efficiente anche per applicazioni HDTV (sequenze di dimensione 1280x720 o 1920x1080 pixel), con un bitrate compreso tra 2 e 40 Mbit/s. La parte System dello standard descrive un formato di multiplazione potente e flessibile, che ha influito in modo determinante sull’affermazione dello standard stesso. In particolare, lo standard consente la multiplazione di più canali audio (trasmissione multilingue), più canali video (trasmissione multiview), di dati (sottotitoli, file grafici). 6.1 La commissione MPEG appartiene al gruppo ISO/IEC JTC1 SC29 WG11, con International Standardization Organization, International Electrotechnical Committee, Joint Technical Commitee 1, Sub-committee 29, Working Group 11. 49 50 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING 6.2 Lo standard MPEG-2 Video Lo standard MPEG-2 Video, recepito anche nella Raccomandazione ITU-T H.262, utilizza tecniche di compressione basate sulla riduzione della ridondanza spaziale e temporale della sequenza video. La riduzione della ridondanza spaziale é realizzata mediante tecniche a trasformate, quella temporale mediante motocompensazione; tale metodologia prende il nome di codifica ibrida a trasformata. Lo standard definisce tre tipi di quadri, che differiscono per la metodologia di codifica adottata: • immagini codificate senza riferimento ad altre immagini (I); forniscono punti di accesso alla sequenza codificata in corrispondenza dei quali può iniziare la decodifica; sono caratterizzate da un modesto rapporto di compressione; • immagini codificate mediante motocompensazione da immagini precedenti (P); possono essere utilizzate come riferimento per altre predizioni; • immagini codificate mediante motocompensazone bidirezionale (B); offrono il maggior livello di compressione; non sono utilizzate come riferimento per ulteriori predizioni. L’organizzazione dei tre tipi di immagine in una sequenza video è molto flessibile. La scelta è lasciata al codificatore e dipende dai requisiti dell’applicazione. La codifica opera suddividendo ciascun quadro in quadrati di 16x16 pixel, detti macroblocchi. Tutti i macroblocchi di un quadro I sono codificati senza predizione (macroblocchi di tipo I). Ciascun macroblocco di un quadro P può essere predetto rispetto al quadro P o I precedente (macroblocco di tipo P), ovvero codificato senza predizione (macroblocco di tipo I). Ciascun macroblocco di un quadro B puó essere predetto bidirezionalmente rispetto al quadro P o I precedente e al quadro P o I successivo (macroblocco di tipo B), ovvero essere predetto rispetto al quadro P o I precedente (macroblocco di tipo P), ovvero codificato senza predizione (macroblocco di tipo I). Per macroblocchi I, si codifica il macroblocco mediante applicazione di DCT e quantizzazione ai blocchi 8x8 componenti. Per macroblocchi P, si effettua la motocompensazione del macroblocco 16x16; la differenza fra il macroblocco attuale e la predizione, detta residuo di motocompensazione, é codificata mediante DCT e quantizzazione su blocchi 8x8 pixel. Per macroblocchi B, si effettua la motocompensazione del macroblocco 16x16 rispetto al quadro di riferimento precedente e rispetto al quadro di riferimento successivo; la predizione é operata mediando i due blocchi 16x16 cosí ottenuti; la differenza fra il macroblocco attuale e la predizione, detta residuo di motocompensazione, é codificata mediante DCT e quantizzazione su blocchi 8x8 pixel. Il modo di codifica di ciascun macroblocco dei quadri P e B è scelto in modo da minimizzare il numero di bit richiesti per descriverlo. Poiché i vettori di moto di macroblocchi adiacenti sono correlati, sono codificati in modo differenziale rispetto al vettore moto del precedente macroblocco adiacente. La quantizzazione determina una perdita irreversibile di informazione ed è adattata alle caratteristiche del sistema visivo umano, mediante la scelta di opportune matrici di quantizzazione. Le matrici di quantizzazione possono variare da una immagine all’altra e sono trasmesse all’inizio di ciascuna immagine; inoltre la matrice di quantizzazione puó essere scalata da macroblocco a macroblocco mediante un fattore di scala (quantizer scale), al fine di adattare la precisione della codifica dell’immagine al suo contenuto. Il quantizer scale, che puó essere maggiore di 1 o minore di 1, é codificato con un valore a 5 bit su scala lineare e non. I coefficienti AC sono scanditi a zig-zag e codificati con codifica a corse di zeri e tavole di codice di Huffmann. La scelta delle matrici di quantizzazione é lasciata al 6.2. LO STANDARD MPEG-2 VIDEO 51 codificatore. Tuttavia, a titolo di riferimento, lo standard suggerisce l’uso delle matrici QINTRA [k1 , k2 ] ,QINTER [k1 , k2 ] riportate in Tabs.6.1,6.2. Nel caso di quadri I é codificata la differenza fra coefficienti DC di blocchi adiacenti. I quadri della sequenza sono raggruppati in Group Of Pictures (GOP), il cui primo quadro é di tipo I. Tale organizzazione dei dati codificati consente la sincronizzazione del decoder con un ritardo al piú pari alla durata del GOP. Inoltre la presenza di quadri I abilita lo scorrimento all’indietro o in avanti di una registrazione e l’indirizzamento di punti predeterminati in una sequenza. Per applicazioni di distribuzione televisiva i quadri I hanno una frequenza di 1 o 2 quadri I al secondo, con GOP del tipo IPBBPBBPBBP. L’ordinamento dei quadri nel GOP differisce dall’ordine con cui i relativi dati codificati compaiono nel bitstream, in quanto i quadri di tipo B sono inseriti nel bitstream dopo i quadri di tipo I o P in riferimento ai quali sono predetti. Dualmente, in fase di decodifica, l’ordine con il quale sono decodificati i quadri non coincide con l’ordine di presentazione, in quanto i quadri B sono decodificati dopo i quadri cui fanno riferimento per la predizione. Immagine differenza Immagine in codifica + - DCT quantizzazione Immagine predetta + stima del moto bitstream codificato Frame memory 2 predizione Frame memory 1 Q-1 IDCT + + vettori spostamento Figura 6.1: Schema di principio del codificatore MPEG. 6.2.1 Il controllo di flusso nella codifica MPEG-2 Poiché l’efficienza di compressione varia in funzione delle caratteristiche locali del segnale video (contenuto dell’immagine, tipo di moto nella scena etc,), il bitstream all’uscita del codificatore video é a bit-rate variabile. Poiché il canale ha tipicamente capacitá costante, si usa un buffer tra codificatore e canale. Lo stato di riempimento del buffer è utilizzato per controllare il processo di codifica (quantizzazione, inserimento di quadri predetti), al fine di evitare fenomeni di buffer overflow e underflow. In un sistema MPEG, sia il codificatore che il decodificatore possiedono un buffer, di comportamento simmetrico. Il buffer al codificatore è riempito a burst quando le immagini vengono codificate, e svuotato a velocità costante 52 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING I B P B P B P B I GOP Figura 6.2: Esempio di Group of Pictures. Luminanza (Y ) 8 16 19 22 26 27 29 34 16 16 22 24 27 29 34 37 19 22 26 27 29 34 34 38 22 22 26 27 29 34 37 40 22 26 27 29 32 35 40 48 26 27 29 32 35 40 48 58 46 27 29 34 38 46 56 69 27 29 35 38 46 56 69 83 Tabella 6.1: Passi di quantizzazione QINTRA [k1 , k2 ] per la luminanza dei quadri INTRA: esempio. durante la trasmissione. Il buffer del decodificatore è riempito a velocità costante quando i dati vengono ricevuti e svuotato a burst durante il playout. Lo standard MPEG definisce un modello ideale di decodificatore (Video Buffering Verifier, VBV) da utilizzarsi per limitare il bitrate istantaneo del codificatore, in modo che il bitrate medio sia tale da non far incorrere nell’overflow o underflow del buffer del decoder. Il VBV é identificato dai parametri bit-rate, misurato in unità di 400bit/s, picture-rate, vbv-buffer-size, misurato in unità di 2048 byte, vbv-delay, che definisce il tempo tra la ricezione del primo bit di dati della prima immagine nel buffer e la decodifica dei dati stessi, misurato in numero di periodi di un clock di riferimento a 90 KHz. 6.2. LO STANDARD MPEG-2 VIDEO 53 Residui di luminanza (∆Y ) 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 Tabella 6.2: Passi di quantizzazione QINTER [k1 , k2 ] per i residui di luminanza dei quadri INTER (P o B): esempio. Canale Canale …P PI P P P P P… …P PI P P P P P… n0 n1 n2 n3 n4 n5 n6 n7 n7 n6 n5 n0 n1 n2 n3 n4 n5 n6 n7 Buffer Size it im rL ffe Bu Buffer Size Buffer Size Buffer Size n7 n6 n5 Scrittura ra ttu Le n4 n3 n4 Lettura u ritt Sc ra n3 n2 n2 n1 n1 it im rL ffe u B n0 n0 Tempo, misurato in cicli di clock a 90 KHz Tempo, misurato in cicli di clock a 90 KHz Figura 6.3: Modello del buffer in uscita al codificatore e del buffer in ingresso al decodificatore. 6.2.2 Profili e livelli di un decodificatore MPEG-2 Lo standard MPEG-2 video offre diverse varianti dell’algoritmo di compressione sovraesposto, alcune delle quali godono della proprietá di scalabilitá. Per scalabilitá si intende la disponibilitá all’interno del bitstream tanto di dati base (Base Layer) quanto ai dati di arricchimento (Enhancement Layers). I dati possono riferirsi a diversi livelli di qualitá, ovvero di risoluzione spaziale o temporale. Per semplificare la segnalazione della modalitá operativa del codec, si identificano differenti profili di codec, ciascuno dei quali identifica il particolare algoritmo utilizzato e alcune particolari opzioni di codifica, che limitano i gradi di libertá della sintassi del bit-stream. La Tabella 7.4 riporta i differenti profili MPEG-2. Per ciascun profilo, si identificano decodificatori di differente livello di complessitá, per ciascuno dei quali sono specificati i limiti massimi supportati per ció che concerne la risoluzione spaziale, il bitrate, la dimensione del buffer, etc. I servizi di diffusione televisiva utilizzano tipicamente la coppia profilo/livello denominata Main Profile / Main 54 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING Profilo Principali caratteristiche (Predizione, scalabilitá, formato) Simple Profile (SP) I,P, non scalabile, campionamento 4:2:0. Main Profile (MP) I,P,B, non scalabile, campionamento 4:2:0 SNR Scalable Profile Spatially Scalable Profile I,P,B, scalabile in SNR, campionamento 4:2:0 I,P,B, scalabile spazialmente e/o in SNR, campionamento 4:2:0 4:2:2 Profile I,P,B, non scalabile, campionamento 4:2:2 High Profile I,P,B, scalabile spazialmente e/o in SNR, campionamento 4:2:2 Multiview Profile I,P,B, non scalabile, campionamento 4:2:0 di informazioni destra e sinistra (TV 3D) Tabella 6.3: Profili del codec MPEG-2. Level (MP@ML). 6.3 Lo standard MPEG-2 system Lo standard MPEG-2 system definisce la modalitá di multiplazione di una o più sequenze elementari video, audio e dati in formato ottimizzato per applicazioni di trasmissione o di memorizzazione. In particolare, lo standard definisce il formato per la memorizzazione (Flusso di programma, Program Stream, PS ) e per la trasmissione (Flusso di trasporto, Transport Stream, TS). Entrambe i flussi sono di tipo a pacchetto. 6.3.1 Il Program Stream MPEG-2 I dati prodotti dai codificatori audio e video sono organizzati in un flusso di unitá di lunghezza variabile denominato Elementary Stream, ES). A partire da ciascun ES, l’MPEG-2 System definisce la generazione del Packetized Elementary Stream, ottenuto mappando ciascun pacchetto ES nel payload di un pacchetto PES, e associando un PES Header contenente un prefisso, un numero identificativo dello stream (video, audio1, audio2, etc.), e dei dati opzionali di copyright, CRC, etc. La sintassi del PES trasporta anche l’informazione necessaria per la sincronizzazione della decodifica e della presentazione delle informazioni audio e video mediante indicatori temporali (Time Stamp) relativi alla decodifica (DTS) e alla presentazione (PTS) di dati audio e video codificati, misurati rispetto ad un clock di riferimento a 90 KHz, nonché indicatori temporali per la trasmissione di sequenze dati. La lunghezza di ogni pacchetto PES é variabile e può essere anche superiore a 64 kBytes. Uno o più PES, aventi una base dei tempi comune sono combinati, in un singolo flusso, detto Program stream, che rappresenta un ”programma”, almeno in senso lato. Un Program Stream, quindi, contiene sequenze elementari audio e video aventi la stessa base dei tempi. Questo formato puó essere utilizzato direttamente in canali privi di errori, quali ad esempio quelli che modellano applicazioni di memorizzazione. Per il trasferimento su canali di comunicazione reali, l’MPEG-2 System definisce un formato apposito detto Transport Stream, che é estremamente flessibile, ed é supportato dalle direttive DVB/ETSI sui formati di trasmissione della televisione digitale. 6.3.2 Il Transport Stream MPEG-2 Lo standard MPEG-2 System definisce un formato per la multiplazione di uno o piú Program Stream in un unico flusso, detto Transport Stream (TS). Mentre il Program Stream contiene pacchetti di lunghezza variabile, il TS é 6.3. LO STANDARD MPEG-2 SYSTEM 55 costituito da pacchetti di lunghezza fissa, pari a 188 byte. Ciascun pacchetto del TS contiene un campo header di lunghezza variabile, ma con valore minimo di 4 byte, ed un campo dati. Il TS Packet Header contiene sempre un primo byte di sincronizzazione (pari a 47HEX , ovvero 01000111), un flag di errore dallo strato di trasporto, ed un campo di 13 bit detto Packet Identifier, o PID. Opzionalmente, il TS Packet Header puó contenere un’informazione detta Program Clock Reference, utilizzata per sincronizzare il clock di sistema (System Time Clock, STC) a 27 MHz del decodificatore6.2 . Il PCR é trasmsso periodicamente ogni 0.1s, e la sincronizzazione é operata misurando la differenza fra PCR successivi decodificati e confrontandola con il numero di cicli successivi eseguiti dal clock di sistema nello stesso intervallo di tempo. Il TS consente la multiplazione di uno (Single Program TS, SPTS) o più programmi (Multi Program TS, MPTS) in un singolo stream6.3 . Ogni programma, a sua volta, contiene piú stream elementari (video, audio, dati). Ciascuno stream é a sua volta suddiviso in un certo numero di pacchetti del TS. A partire dal PID di un pacchetto, é possibile ricostruire il corretto flusso di appartenenza, mediante un meccanismo di mappatura denominato Program Specific Information, PSI. Il PSI é composto delle seguenti tabelle,: • Program Association Table (PAT); • Program Map Table (PMT); • Conditional Access Table (CAT); Le tabelle sono rappresentate mediante strutture sintattiche dette Sections, a loro volta suddivise in differenti pacchetti del TS. La PAT, che é sempre trasmessa in pacchetti con PID uguale 0, é una tabella che associa ad ogni programma la sua PMT. La PAT é suddivisa, ai fini della trasmissione, in piú pacchetti non consecutivi del TS, in modo da minimizzare i dati persi in caso di errori su alcune porzioni del TS. La Program Map Table (PMT), che identifica un programma, associa ad ogni stream (audio, video, dati) del programma il relativo PID. In tal modo tutti i pacchetti di uno stream di uno stesso programma saranno marcati dallo stesso PID. La CAT, cheé sempre trasmessa in pacchetti con PID uguale a 1, contiene informazioni relative al sistema di scrambling e cifratura. Accanto al PSI, in ambito DVB-ETSI é stato definito il sistema detto Service Information, che contiene altre tavole descrittive dei servizi offerti mediante il trasferimento di informazione, anche testuali e grafiche, per la navigazione fra i differenti programmi. Fra le altre citiamo la Network Information Table (NIT), che convoglia informazione su piú di un TS, e la Event Information Table (EIT) che convoglia informazione sui singoli eventi programati. 6.3.3 Il trasferimento di dati nel Transport Stream MPEG-2 Lo standard MPEG-2 prevede cinque profili per il trasferimento dati, corrispondenti a diversi servizi: il profilo Data piping, utilizzato in assenza di relazione temporale con i dati dei PES, il profilo Data streaming, utilizzato in presenza di relazione temporale con i dati dei PES, i profili Data carousel, Object carousel, per la trasmissione periodica di dati di servizio, e il profilo Multi-protocol encapsulation (MPE), che supporta dati di differente protocollo. Il profilo MPE consente la diffusione di dati su TS MPEG-2 in analogia alla distribuzione di dati su una rete Ethernet. In particolare, il profilo MPE incapsula i dati all’interno di strutture sintattiche dette DVB Section, caratterizzate da lunghezza variabile fino ad un massimo di 4096 byte. Ogni DVB Section é poi convogliata da 6.2 Si osserva che tale informazione puó essere presente anche nel PS Header, sotto il nome di system Clock Reference, SCR ogni programma puó essere associato un distinto PCR. 6.3 Ad 56 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING pacchetti del TS MPEG-2, caratterizzati da un assegnato PID. La Fig. 6.4 descrive le componenti sintattiche che concorrono alla MPE. Figura 6.4: Multi Protocol Encapsulation. I primi byte costituiscono il Section Header contenente table id, section syntax indicator, private indicator, section length, che identificano rispettivamente il tipo di section, la sintassi, flag proprietari e la lunghezza della section. Il campo MAC address, di 6x8 bit, contenente l’indirizzo MAC del destinatario, é suguito da ulteriori campi di servizio (payload e address scrambling control, LLC SNAP flag, current next indicator); i campi section number, last section number, rispettivamente, numerano la sezione attuale e l'ultima che trasporta il pacchetto IP. Successivamente la Section contiene il Pacchetto IP, seguito da byte di riempimento opzionali (stuffing byte) tali che ogni pacchetto IP sia rappresentato da un numero intero di pacchetti del TS MPEG-2, e 32 bit di paritá. 6.4 Distribuzione del Transport Stream MPEG-2 mediante piattaforma DVB Il DVB é un consorzio di origine europea che coinvolge diversi operatori del mercato del broadcasting (broadcaster, manifatturiere, operatori delle telecom, sviluppatori di software, enti regolatori) nella definizione di specifiche tecniche per i sistemi di distribuzione di video audio e dati, con prevalente riferimento a servizi di tipo televisivo. Le specifiche tecniche DVB, recepite in ambito ETSI, definiscono i formati per la distribuzione di servizi televisivi via satellite, via cavo e via digitale terrestre (DVB-S, DVB-C, DVB-T). Inoltre, il DVB ha definito lo standard per la trasmissione, basata su pila protocollare IP, di video audio e dati su terminali mobili (DVB-H). 6.4.1 I sistemi DVB-S, DVB-C, DVB-T I documenti ETSI [3, 4, 5], che recepiscono l’attivitá di specifica tecnica svolta in ambito DVB, definiscono le specifiche tecniche per la tramissione del TS MPEG2 su diversi mezzi trasmissivi, con particolare riguardo alla codifica di canale e alla modulazione. I mezzi trasmissivi interessati sono il canale radio satellitare, alle frequenze di 11-12 GHz, il canale radio terrestre, nelle bande UHF (300 MHz, 3 GHz), VHF (30 MHz, 300 MHz), il cavo coassiale a radio-frequenza, a frequenze portanti da 50-100 MHz fino a 500 MHz. Le specifiche definiscono la 6.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 57 trasformazione fra i dati di ingresso, assunti nel formato TS MPEG-2, nel segnale di uscita, espresso nella forma di inviluppo complesso del segnale di banda base. La qualitá del segnale di uscita desiderata é dell’ordine di un evento di errore ogni ora di trasmissione (Quasi Error Free, QEF), corrispondente ad un BER = 10−10 , 10−11 Descriveremo concisamente nel seguito le tecniche di codifica di canale e modulazione adottate nei differenti mezzi trasmissivi. La codifica di canale La codifica di canale prevede tre stadi comuni a tutti i mezzi trasmissivi, dati da un primo stadio di randomizzazione, un secondo stadio costituito da un codificatore a blocchi, e un terzo stadio di interleaving. Gli stadi operano sui blocchi di 188 byte del TS. Il randomizzatore realizza un’operazione di XOR bit a bit della sequenza dei byte di ingresso con una sequenza psudocasuale, preservando il primo byte che é costituito da una parola di sincronizzazione, pari a 47HEX . L’unica modifica della parola di sincronizzazione é rappresentata da un’inversione bit a bit, operata ogni 8 pacchetti TS, al fine di introdurre un sincronismo di trama. La randomizzazione é operata anche quando il pacchetto TS non convoglia informazione, al fine di evitare l’emissione di una portante nonmodulata. Il codificatore a blocchi é un codice sistematico (204, 188) che opera sull’intero pacchetto TS aggiungendovi 16 byte di paritá, ed ha capacitá di correzione di errore T=8; in particolare, il codice é un codice di Reed-Solomon derivato da un codice (255,239) 6.4 . Il codificatore a blocchi é seguito da un interleaver di tipo convoluzionale. Per preservare la sincronizzazione del TS, anche l’interleaver non altera la posizione del byte di sincronizzazione nella stringa. Per la trasmissione via cavo, la codifica di canale é limitata agli stadi descritti. Per la codifica satellitare e terrestre, é presente un codificatore convoluzionale, derivato mediante punturazione da un codice di rapporto di codice Rc = 1/2, lunghezza di vincolo K = 76.5 , e distanza libera dfree = 10. Il codificatore puó quindi introdurre ridondanza in misura variabile, ottenendo una maggiore o minore protezione dei dati di ingresso. La Tabella 6.4 presenta le diverse alternative in termini di rapporto di codice e di corrispondente distanza libera. Codificatore convoluzionale Rapporto di codice Rc Distanza libera df ree 1/2 10 2/3 6 3/4 5 5/6 4 7/8 3 Tabella 6.4: Rapporto di codice Rc e distanza libera df ree del codificatore convoluzionale adottato nella distribuzione via satellite e via rete terrestre. Per la trasmissione via satellite, la codifica di canale é limitata agli stadi descritti. Per la trasmissione digitale terrestre, la codifica prevede un ulteriore interleaving, finalizzato a distribuire l’informazione codificata non solo su intervalli 6.4 I codici di Reed-Solomon sono codici non binari N, K operanti su simboli di k bit, caratterizzati da N = 2k − 1, K = 0, · · · , N − 1, Dmin = N − K + 1, e capacitá di correzione d’errore pari a floor(Dmin − 1)/2. 6.5 Il codice, a 64 stati, si basa sugli ultimi 6 bit piú il bit attuale. 58 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING di tempo differenti, ma anche su celle tempo-frequenza differenti. La modalitá con cui é operato tale interleaving dipende strettamente dal tipo di modulazione, e sará pertanto descritta dopo l’esposizione di quest’ultima. La modulazione In questo paragrafo, indichiamo il segnale modulato intorno alla portante f0 , con s(t) = sc (t) cos(2πf0 t) − ss (t) sin(2πf0 t) l’inviluppo complesso del segnale con s(t) = < {s(t) exp j2πf0 t} s(t) = sc (t) + jss (t), Nella modulazione numerica per i mezzi trasmissivi coassiale e satellitare, il formato di modulazione adottato é di tipo QAM. Pertanto l’inviluppo complesso assume la forma s(t) = +∞ X k=−∞ ck gT (t − kT ) dove i simboli ck sono estratti da una costellazione QPSK nel caso di canale satellitare, e da una 16-QAM, 32-QAM o 64-QAM nel caso di cavo coassiale. Nel caso del cavo coassiale i due bit piú significativi di ciascun simbolo sono codificati differenzialmente ed associati ad un salto di quadrante 6.6 , cosicché il ricevitore, ai fini della codifica, non deve conoscere la rotazione di fase assoluta introdotta dal canale, ma solo la fase a meno di un’ambiguitá di π/2, ció che semplifica l’operazione di sincronizzazione. In entrambi i casi il filtro di trasmissione gT (t) presenta una caratteristica a radice di coseno rialzato, ovvero T 1/2 ∙ ¶¸1/2 µ 1 1 1 GT (f ) = T 1/2 (|f | − fN ) − sin 2π 2 2 4γfn 0 |f | ≤ fN (1 − γ) fN (1 − γ) ≤ |f | ≤ fN (1 + γ) |f | ≥ fN (1 + γ) Tale scelta consente di eliminare l’Interferenza Intersimbolica al ricevitore riducendo al minimo l’impatto del rumore termico, quando il canale sia ideale ed il filtro di ricezione sia adattato al filtro di trasmissione. Nel caso di canale satellitare il valore di γ é fissato a 0.35. Nel caso di cavo coassiale, γ = 0.15, al fine di minimizzare la banda occupata dal segnale e ridurre l’effetto della distorsione lineare introdotta dal canale. Nella modulazione numerica per la rete di distribuzione digitale terrestre, il formato di modulazione adottato é di tipo OFDM. L’inviluppo complesso assume la forma s(t) = sk (t) = +∞ X sk (t − kT ) k=−∞ (0) (1) (ck + ck expj2π∆ft (N −1) + · · · + ck expj2π(N −1)∆f t )gT (t) (i) dove i simboli ck , i = 0, · · · N − 1 sono estratti da una costellazione QPSK, 16-QAM, o 64-QAM, uniforme o non uniforme. Ció equivale alla modulazione contemporanea, in un intervallo di tempo di durata T , di N portanti alle frequenze f0 + i∆f, i = 0, · · · N − 1. Gli spettri modulati intorno alle frequenze f0 + i∆f, i = 0, · · · N − 1, dette 6.6 In particolare, alla coppia 00 si associa la permanenza nello stesso quadrante del simbolo precedente, alla coppia 01 un salto di +π/2, alla coppia 10 un salto di −π/2, alla coppia 11 un salto di +π. 6.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 59 sottoportanti OFDM, sono sovrapposti, e i singoli flussi sono demodulabili sotto opportune condizioni sul filtro di trasmissione gT (t) e sulla frequenza ∆f . In particolare, si assuma ( 1, −∆ ≤ t ≤ Tu gT (t) = 0, altrove con ∆ + Tu = T . La famiglia di funzioni utilizzata in trasmissione é dunque φn (t) = gT (t) expj2πn∆f t , n = 0, · · · , N − 1. Sia inoltre gR (t) = ( 1, 0, 0 ≤ t ≤ Tu altrove Scegliendo ∆f = 1/Tu é possibile definire la famiglia di funzioni in ricezione ψm (t) = gR (t) exp−j2πm∆f t , m = 0, · · · , N − 1 ortogonali alla famiglia φn (t), n = 9, · · · , N − 1 sull’intervallo di simbolo T . Sotto tali condizioni, é assicurata l’invertibilitá dell’operazione di modulazione, gli N flussi possono essere demodulati, e gli N simboli trasmessi nell’intervallo T ricostruiti. Tanto la fase di modulazione che di demodulazione si avvalgono di tecniche numeriche computazionalmente molto efficienti. Consideriamo infatti i campioni dell’inviluppo complesso s(t), estratti con passo di campionamento Tu Tc = , facendo riferimento, per semplicitá notazionale, all’intervallo k = 0: N def sm = s(mTc ) = c (0) +c (1) j2π∆f mTc exp +··· + c (N−1) j2π(N −1)∆f mTc exp = N −1 X c (i) 2π im exp N j i=0 Nell’intervallo [0, Tu ), ovvero per m = 0, · · · N − 1, i valori assunti dai campioni dell’inviluppo complesso coincidono con una trasformata numerica (Inverse Discrete Fourier Transform) della sequenza complessa c(0) , · · · c(N−1) . Nell’intervallo [−∆, 0), i valori dei campioni coincidono con quelli giá calcolati nell’intervallo [Tu − ∆, Tu ), perché il segnale é periodico di Tu . In ricezione é sufficiente campionare l’inviluppo complesso in [0, Tu ) e operare una trasformazione numerica (DFT) per recuperare la sequenza trasmessa. I campioni ridondanti trasmessi durante l’intervallo di guardia evitano che eventuali code dovute a risposta non ideale del canale alterino i campioni dell’intervallo utile. Inoltre, tale ridondanza puó essere sfruttata per stima ed equalizzazione di canale nel caso di distorsione lineare. Infatti, un canale linearmente distorcente si presenta in forma di differente guadagno H(f0 + i∆f ) sulle diverse sottoportanti. Se tutte le sottoportanti sono utilizzate per la modulazione, il segnale occupa una banda superiore a N ∆f ; pertanto al fine di limitare la banda occupata dal segnale, un certo numero di sottoportanti agli estremi della banda sono lasciate non modulate. Nella rete digitale terrestre, la banda occupata dal segnale a radio frequenza puó essere di 8 MHz, 7 MHz, o 6 MHz, in funzione del clock di campionamento Tc prescelto6.7 . Il segnale puó nominalmente convogliare N = 2K o N = 8K sottoportanti, distanti circa 4KHz o 1KHz e con intervallo di simbolo differente Tu2K ≈ 250µs e Tu8K ≈ 1000µs. Al fine di limitare la banda effettivamente occupata a N/Tu solo le 1705 o 6817 sottoportanti 6.7 Infatti, al variare di Tc varia Tu = 1/∆f e di conseguenza la banda occupata a radiofrequenza, approssivamente circa uguale N∆f . 60 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING centrali sono utilizzate in trasmissione. Il tempo di guardia ∆ puó essere 1/4, 1/8, 1/16, 1/32 dell’intervallo utile Tu . Infine, solo N 0 = 1512 o N 0 = 6048 sottoportanti sono utilizzate per trasmettere dati utili. Le rimanenti sottoportanti sono allocate in modalitá continua o dispersa (scattered ) e trasmesse a livello di potenza doppia rispetto alla media nominale per convogliare informazioni ridondanti necessarie ai fini della stima di canale, sincronizzazione di tempo e frequenza. Infine, alcune sottoportanti sono modulate in modalitá DPSK per convogliare i parametri di trasmissione. Tali portanti, dette di Transmission Parameter Signaling (TPS) sono in numero di 17 (2K) o 68 (8K), e trasmettono contemporanemente lo stesso bit di informazione, in diversitá di frequenza. In 68 simboli OFDM6.8 sono pertanto trasmessi i 68 bit di TPS, che includono alcuni bit di paritá. L’interleaving operato nel sistema di trasmissione digitale terrestre si basa sulla conversione seriale/parallela del bitstream da trasmettere in 2, 4 o 6 flussi paralleli, nel caso di QPSK, 16-QAM, 64-QAM rispettivamente. Su ciascuno dei flussi é operata una permutazione su blocchi di 126 bit consecutivi. I 2, 4 o 6 flussi di 126 bit sono quindi raggruppati in 126 simboli QPSK, 16-QAM, o 64 QAM. Gruppi di 126 simboli sono raggruppati fino ottenere tanti simboli quanti sono i simboli utili trasportati da un singolo simbolo OFDM, ovvero 12 gruppi da 126 simboli nel caso 2k (1512=12x126) o 48 gruppi da 126 simboli nel caso 4k (6048=48x126). Su tali gruppi é infine operato un intearleaving sulla profonditá del simbolo OFDM. Pertanto, l’interleaving effettuato su tutti i simboli convogliati dal simbolo OFDM consente la dispersione dell’informazione originariamente convogliata dal bitstream sull’intera cella tempo-frequenza relativa a tale simbolo. 6.4.2 Il sistemi DVB-H La Raccomandazione ETSI [6] definisce le specifiche tecniche per la distribuzione di audio, video e dati a pacchetto su terminali mobili (handheld). Il formato di codifica di canale é lo stesso specificato per il DVB-T, con poche significative differenze, legate alla circostanza che il terminale ricevente mobile soffre di limitazioni di alimentazione ed é affetto in maggiore misura da disturbi trasmissivi (cammini multipli, effetto Doppler) rispetto a quanto avviene nel daso DVB-T. Pertanto, il DVB-H prevede • un meccanismo di ricezione su brevi intervalli di tempo, alternati da periodi di disattivazione, detto time slicing, finalizzato a ridurre il consumo di alimentazione6.9 (mandatorio) • un’ulteriore codifica di canale, detta MPE-FEC (opzionale) • l’opzione di modulazione OFDM a 4K portanti, che consente di progettare la copertura radio in modo piú flessibile per fronteggiare echi, cammini multipli e effetto Doppler (opzionale) • l’opzione di intearleaving su 48 gruppi di 126 simboli anche per le modulazioni 2k e 4k, corrispondente all’interleaving su 4 o 2 simboli OFDM (opzionale) Il meccanismo di Time Slicing consente ad una sorgente a velocitá di cifra fb di inviare dati a burst di dimensione B ≤ 2M b utilizzando il Transport Stream ad un rate R ≥ fb . Pertanto i dati vengono inviati in ridotti intervalli di durata δON = B/R; dopo l’invio il ricevitore si disattiva per un intervallo δOF F tale che fb = B/(δON + δOF F ), riattivandosi unicamente circa 200 ms prima del successivo burst. La durata δOF F del periodo di spegnimento é 6.8 L’insieme 6.9 Il di 68 simboli OFDM prende il nome di trama OFDM. time slicingpuó anche consentire il seamless handover fra TS erogati su celle radio adiacenti. 6.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 126 bit 61 12 (2K) o 48 (8K) gruppi di 126 simboli 126 bit simbolo di 2 bit 12 (2K) o 48 (8K) gruppi di 126 simboli 126 bit simbolo di 4 bit 12 (2K) o 48 (8K) gruppi di 126 simboli simbolo di 6 bit Figura 6.5: Inner Interleaving dei sistemi DVB-T e DVB-H. un’informazione trasmessa congiuntamente al burst. Nel caso tipico che R À fb la percentuale di tempo in cui il ricevitore é attivo é significativamente ridotta. La codifica di canale MPE-FEC prevede l’invio all’interno dello stesso burst tanto di dati incapsulati MPE quanto di dati FEC ottenuti mediante codifica di Reed Solomon (255,191). La generazione dei dati FEC é realizzata scrivendo i pacchetti IP da codificare in una tabella di 191 colonne e numero di righe Nr che assume valori compresi fra 256 e 10246.10 . A ciascuna riga di 191 byte sono associati i 64 byte del codice Reed-Solomon. I byte del codice, in numero di Nr × 64, sono infine letti per colonne e trasmessi nello stesso burst dei relativi pacchetti MPE. Tale meccanismo di protezione, congiunto con il CRC previsto dal profilo MPE, consente la trasmissione affidabile in una gamma di condizioni di canale (C/N, velocitá del mobile, shadowing, etc.) ben piú ampia di quella utilizzabile dal DVB-T. Il rate di codice effettivamente utilizzato puó essere aumentato o diminuito mediante operazioni di padding sui dati MPE ovvero di puncturing sui dati FEC. 6.10 Tale parametro é statico ed assegnato, ed é notificato fra le informazioni del DVB/SI. 62 CAPITOLO 6. LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING 191 colonne 64 colonne 256, 512, 768, 1024 righe (padding) (puncturing) RS (255,191) Figura 6.6: Codifica MPE-FEC utilizzata nel DVB-H. Bibliografia [1] G. Scarano, “Dispense di elaborazione delle immagini”, infocom.uniroma1.it/˜ gaetano. [2] B. G. Haskell, P. G. Howard, Y. A. LeCun, A. Puri, J. Ostermann, M.R. Civanlar, L. R. Rabiner, L. Bottou, and P. Haffner, “Image and Video Coding-Emerging Standards and Beyond”, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 8, No. 7, pp. 814-837, November 1998 [3] ETS 300 421, “Digital broadcasting systems for television, sound and data service; Framing structure channel coding and modulation for 11/12 GHz satellite services”, Dicembre 1994. [4] ETS 300 429, “Digital broadcasting systems for television, sound and data service; Framing structure channel coding and modulation for cable systems”, Dicembre 1994. [5] ETS 300 744, “Digital Video Broadcasting ; Framing structure channel coding and modulation for digital terrestrial television”, Luglio 1999. [6] ETS 302 304, “Digital Video Broadcasting ; Transmission Sysetm for handheld terminal (DVB-H)”, Luglio 1999. [7] G. Faria, J. A. Henriksson, E. Stare, P. Talmola, “ DVB-H: Digital Broadcast Services to Handheld Devices”, IEEE Proceedings, Vol. 94, No. 1, pp. 194-209, January 2006 [8] IETF RFC 4259: ”A framework for Transmission of IP Datagrams over MPEG-2 Networks”, Montpetit M. J. et al., November 2005. [9] M.G. Di Benedetto, P. Mandarini, “Comunicazioni Elettriche”, Edizioni Ingegneria 2000. 63
Documenti analoghi
Servizi di diffusione televisiva: lo standard MPEG
del decodificatore ideale puó essere descritto mediante un modello detto Video Buffering Verifier(VBV)7.3 . Il VBV
é identificato dai parametri bit-rate, misurato in unità di 400bit/s, vbv-buffer...