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

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...

Dettagli

Programma

Programma Quantizzatore di LLoyd-Max. Codifica del segnale (1D): codifica PCM, predizione lineare e codifica DPCM. Codifica basata su modelli autoregressivi Serie aleatorie autoregressive, equazioni di Yule-...

Dettagli