Servizi di diffusione televisiva: lo standard MPEG
Transcript
Servizi di diffusione televisiva: lo standard MPEG
Capitolo 7 Servizi di diffusione televisiva: lo standard MPEG-2 e il Digital Video Broadcasting 7.1 Lo standard MPEG-2 per servizi multimediali diffusivi Lo standard MPEG-2, sviluppato dal Moving Pictures Experts Group (MPEG) dell’ISO 7.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 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). 7.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 7.2 . La riduzione della ridondanza spaziale é realizzata mediante tecniche a trasformate, quella temporale mediante motocompensazione; tale metodologia prende il nome di codifica ibrida a trasformata. 7.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. 7.2 Lo standard di codifica 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. 64 7.2. LO STANDARD MPEG-2 VIDEO 65 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 cosi’ 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 codificatore. Tuttavia, a titolo di riferimento, lo standard suggerisce l’uso delle matrici QINTRA [k1 , k2] ,QINTER [k1 , k2 ] riportate in Tabs.7.1,7.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 66CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING 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. Figura 7.1: Schema di principio del codificatore MPEG. 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 7.1: Passi di quantizzazione QINTRA [k1 , k2 ] per la luminanza dei quadri INTRA: esempio. 7.2. LO STANDARD MPEG-2 VIDEO 67 Figura 7.2: Esempio di Group of Pictures. 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 7.2: Passi di quantizzazione QINTER [k1 , k2 ] per i residui di luminanza dei quadri INTER (P o B): esempio. 7.2.1 Il controllo di flusso nella codifica MPEG-2 Nelle applicazioni di distribuzione televisiva, la distorsione introdotta dalla codifica sulla sequenza ricostruita deve essere relativamente costante per non dar luogo ad artefatti visuali non compatibili con le specifiche di qualitá del servizio. Poiché le caratteristiche locali della seuenza da codificare variano (contenuto dell’immagine, tipo di moto nella scena etc.), il numero di bit richiesto per codificare ciascun frame é variabile, e il codificatore video si presenta come una sorgente a bit-rate variabile. Poiché il canale di trasmissione ha tipicamente capacitá costante, l’uscita del codificatore video alimenta un buffer di trasmissione, che è riempito a burst quando le immagini vengono codificate, e svuotato a velocità costante durante la trasmissione. Poiché il codificatore ha visibilitá dello stato di riempimento del buffer, tale informazione è utilizzata per controllare il processo di codifica (quantizzazione, inserimento di quadri 68CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING Figura 7.3: Modello del buffer in uscita al codificatore e del buffer in ingresso al decodificatore. predetti), al fine di evitare fenomeni di buffer overflow e underflow. Dualmente, all’interfaccia fra il canale e il decodificatore MPEG é presente un buffer, caricato a velocità costante quando i dati vengono ricevuti e svuotato a burst durante il processo di decodifica. Lo standard MPEG definisce un modello ideale di decodificatore (System Target Decoder, STD) che é utilizzato dal codificatore come riferimento per limitare il bitrate istantaneo in modo da non incorrere nell’overflow o underflow del buffer del decoder. Il modello 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-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. I parametri del VBV sono multiplati insieme ai dati video secondo il formato specificato dallo standard MPEG-2 System. 7.2.2 Profili e livelli di un decodificatore MPEG-2 video 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 8.4 riporta i differenti profili MPEG-2. Per ciascun profilo, si identificano decodificatori di differente livello di complessitá, per ciascuno dei quali sono 7.3 In alternativa, il modello del decodificatore ideale puó essere semplicemente descritto da parametri caratteristici della sessione; tale rappresentazione semplificata prende il nome di Leak Method ed adotta parametri numerici dipendenti dalla coppia profilo-livello utilizzata. 7.3. LO STANDARD MPEG-2 SYSTEM 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 69 I,P,B, non scalabile, campionamento 4:2:0 di informazioni destra e sinistra (TV 3D) Tabella 7.3: Profili del codec MPEG-2. 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 Level (MP@ML). 7.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. 7.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 lunghezza di ogni pacchetto PES é variabile e può essere anche superiore a 64 kBytes. 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 a 33 bit relativi alla presentazione di audio, video e dati codificati(Presentation Time Stamp (PTS)) • indicatori temporali a 33 bit relativi alla decodifica (Decoding Time Stamp (DTS)) del video codificato. Tali indicatori temporali, alla stregua del vbv delay, sono misurati rispetto ad un clock di riferimento a 90 KHz. Uno o più PES, aventi una base dei tempi comune sono combinati in un singolo flusso multiplato 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 tempi7.4. Questo formato puó essere utilizzato direttamente in 7.4 Fra i dati convogliati dal Program Stream é registrato periodicamente il valore assunto da un contatore dei cicli del System Time Clock a 27 MHz del codificatore, mediante un campo a 33+9=42 bit detto System Clock Reference. 70CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING 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. 7.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 é 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 Adaptation Field. In tale campo puó comparire l’informazione detta Program Clock Reference, di 33+9=42 bit, utilizzata per sincronizzare il clock di sistema (System Time Clock, STC) a 27 MHz del decodificatore7.5 . 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 stream7.6 . 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. Pertanto, tutti i pacchetti di uno stream di uno stesso programma saranno marcati dallo stesso PID. 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 del PSI sono rappresentate mediante strutture sintattiche dette Sections7.7 , 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) identifica un programma, ed associa ad ogni stream (audio, video, dati) del programma il valore del relativo PID; lo stream sará pertanto ricostruito estraendo dal TS tutti i pacchetti caratterizzati da tale PID. La PMT segnala anche il PID dei pacchetti contenenti la descrizione del STD, e il PID dei pacchetti contenenti il PCR relativo al programma. 7.5 Si osserva che tale informazione corrisponde all’informazione presente nel PS sotto il nome di System Clock Reference, SCR caso di MPTS, ad ogni programma puó essere associato un distinto PCR, ovvero alcuni programmi possono condividere lo stesso PCR. 7.7 Le section utilizzate per le tabelle PSI specificate in MPEG hanno dimensione massima 1K byte; altre tavole definite in MPEG-2, dette private 7.6 Nel sections, o anche DVB Section, hanno dimensione massima 4K bytes. 7.3. LO STANDARD MPEG-2 SYSTEM 71 La CAT, che é sempre trasmessa in pacchetti con PID uguale a 1, contiene informazioni relative al sistema di scrambling e cifratura7.8 . Accanto al PSI, in ambito DVB-ETSI é stato definito il sistema detto Service Information, che contiene altre tavole 7.9 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, • la Event Information Table (EIT) che convoglia informazione sui singoli eventi programati. • la IP/MAC Notification Table (INT) che convoglia sui flussi dati IPMAC nel TS. 7.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 opportune strutture sintattiche ( DVB Section) caratterizzate da lunghezza variabile fino ad un massimo di 4096 byte. Una DVB Setcion che convoglia un pacchetto MPE é detta anche MPE Section; ogni MPE Section é poi convogliata da pacchetti del TS MPEG-2, caratterizzati da un assegnato PID. La Fig. 7.4 descrive le componenti sintattiche che concorrono alla MPE. Figura 7.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 7.8 I sistemi di Conditional Access effettivamente utilizzati sono proprietari; tipicamente prevedono che la CAT associ a ciascun programma cifrato il PID dei pacchetti contenenti un’informazione di controllo detta Entitlement Management Message, circa lo stato di sottoscrizione dei singoli utenti. Per ciascun programma cifrato, la relativa PMT convoglia il PID dei pacchetti contenenti una informazione detta Entitlement Control Message, complementare all’EMM. Il Conditional Access Subsystem del decodificatore (Smart Card) gestisce entrambe le informazioni abilitando o meno l’accesso ai programmi cifrati in base allo stato di sottoscrizione dell’utente. 7.9 Tali tavole sono convogliate all’interno delle private sections, o DVB Sections. 72CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING campo MAC address, di 6x8 bit, contenente l’indirizzo MAC del destinatario, é seguito da ulteriori campi di servizio (payload e address scrambling control, LLC SNAP flag7.10, current next indicator); i campi section number, last section number, rispettivamente, numerano la sezione attuale e l'ultima che trasporta il pacchetto. Successivamente la Section contiene il Pacchetto dati, 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á. 7.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). 7.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 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 (47HEX = B8HEX ), 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 7.10 Segnala la presenza di IEEE 802.3 Logical Link Control/ Sub Network Access Protocol Encapsulation per Ethernet; vale 0 per pacchetti IP. 7.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 73 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) 7.11 . 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 = 77.12, 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 7.4 presenta le diverse alternative in termini di rapporto di codice e di corrispondente distanza libera. Codificatore convoluzionale Rapporto di codice Rc Distanza libera dfree 1/2 10 2/3 6 3/4 5 5/6 4 7/8 3 Tabella 7.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 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) = sc (t) + jss (t), s(t) = {s(t) exp j2πf0 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) = +∞ ck gT (t − kT ) k=−∞ 7.11 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. 7.12 Il codice, a 64 stati, si basa sugli ultimi 6 bit piú il bit attuale. 74CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING 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 7.13 , 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 GT (f) = ⎧ ⎪ T 1/2 ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎩ T 1/2 |f| ≤ fN (1 − γ) 1/2 1 1 1 (|f| − fN ) − sin 2π 2 2 4γfn fN (1 − γ) ≤ |f| ≤ fN (1 + γ) 0 |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 − kT ) k=−∞ (0) (1) (N−1) sk (t) = (ck + ck expj2πΔft + · · · + ck expj2π(N−1)Δft )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 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Δft , n = 0, · · · , N − 1. Sia inoltre gR (t) = ⎧ ⎨ 1, 0 ≤ t ≤ Tu ⎩ 0, altrove Scegliendo Δf = 1/Tu é possibile definire la famiglia di funzioni in ricezione ψm (t) = gR (t) expj2πmΔft , m = 0, · · · , N − 1 7.13 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 +π. 7.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 75 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) expj2πΔfmTc + · · · + c(N−1) expj2π(N−1)ΔfmTc = N−1 2π j im c(i) exp N 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 fossero utilizzate per la modulazione, il segnale occuperebbe 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 prescelto7.14. 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 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 = 1512 o N = 6048 sottoportanti sono utilizzate per trasmettere dati utili. Le rimanenti sottoportanti si suddividono in • portanti per la segnalazione dei parametri di trasmissione (Transmission Parameter Signaling, TPS) • portanti pilota per le procedure di stima e di sincronizzazione. Le portanti TPS sottoportanti sono in numero di 17 (2K) o 68 (8K), sono modulate in modalitá DPSK, e trasmettono contemporanemente lo stesso bit di informazione, in diversitá di frequenza. In 68 simboli OFDM7.15 sono pertanto trasmessi i 68 bit di TPS, che includono informazioni quali la costellazione utilizzata7.16 , l’intervallo di guardia, il rate del codice convoluzionale, il modo di trasmissione 2K o 8K, e alcuni bit di paritá. Le portanti pilota sono allocate in modalitá continua (su frequenze costanti da un simbolo OFDM all’altro) o dispersa -scattered - (su frequenze variabili da un simbolo OFDM all’altro) e trasmesse a livello di potenza doppia rispetto alla media nominale-boosted power level- e trasmettono la stessa sequenza pseudocasuale di training con fase al variare di Tc varia Tu = 1/Δf e di conseguenza la banda occupata a radiofrequenza, approssivamente uguale a N Δf . di 68 simboli OFDM prende il nome di trama OFDM. 7.16 Nel caso di costellazioni non uniformi é segnalato anche il fattore di non uniformitá. 7.14 Infatti, 7.15 L’insieme 76CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING iniziale differente da pilota a pilota; tale training é utilizzato ai fini della stima di canale e della sincronizzazione di tempo e frequenza. 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 interleaving 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. Figura 7.5: Inner Interleaving dei sistemi DVB-T e DVB-H. 7.4. DISTRIBUZIONE DEL TRANSPORT STREAM MPEG-2 MEDIANTE PIATTAFORMA DVB 7.4.2 77 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 alimentazione7.17 (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) • la possibilitá di occupare un canale a 5MHz 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 é 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 in MPE sections quanto dei relativi dati FEC ottenuti mediante codifica di Reed Solomon (255,191) e incapsulati in DVB sections dette MPE-FEC Sections. 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 10247.18. 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 7.17 Il 7.19 . time slicing puó anche consentire il seamless handover fra TS erogati su celle radio adiacenti. parametro é statico ed assegnato, ed é notificato fra le informazioni del DVB/SI. 7.19 L’efficacia di tale codice é potenziata dalla integrazione con i bit di CRC delle MPE Sections mediante tecniche di erasure decoding. 7.18 Tale 78CAPITOLO 7. SERVIZI DI DIFFUSIONE TELEVISIVA: LO STANDARD MPEG-2 E IL DIGITAL VIDEO BROADCASTING Figura 7.6: Codifica MPE-FEC utilizzata nel DVB-H.
Documenti analoghi
Capitolo 6 Lo standard MPEG-2 e il Digital Video Broadcasting
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á dell...