Cap.8

Transcript

Cap.8
Capitolo 8
Servizi di videotelefonia e videoconferenza:
le Raccomandazioni ITU-T
I servizi di videotelefonia e videoconferenza offrono la possibilitá di comunicazione voce, video e dati, in tempo
reale ed in modalitá interattiva fra utenti che possono fruire di risorse di accesso estremamente differenziate. I servizi
possono coinvolgere terminali multimediali integrati in aule attrezzate per la comunicazione contemporanea di molti
utenti, ovvero terminali autocontenuti in opportune torri attrezzate, riutilizzabili in diversi ambienti, ovvero terminali
implementati via software su PC desktop, fino a terminali radiomobili. Inoltre, la comunicazione puó avvenire in
modalitá punto-punto o punto multi-punto, mediante collegamenti diversificati fra di loro tanto in termini di media
coinvolti, quanto in termini di capacitá dei terminali, quanto in termini di risorse di rete. Si esamineranno qui le
Raccomandazioni ITU-T di riferimento nei diversi contesti di rete. L’analisi muoverá dalla descrizione dell’algoritmo
di codifica video utilizzato, che é descritto nella Racc. H.263.
Sala dedicata
Sistemi Rollabout
Sistemi Desktop
Sala conferenze,
Modulo autocontenuto su
Terminale, videocamera,
equipment in cabina di
carrello
e monitor su PC
Display
regia
Video Proiettore
Monitor sul carrello con
video telefono
Monitor su PC o telefono
Videocamere
Multiple
self view video
Una o due
Una
Illuminazione e acustica
con pan, tilt e zoom
Progettata ad hoc
con pan tilt e zoom
Normale
senza pan tilt e zoom
Normale
Scena tipica
Piú di sei partecipanti
Fino a sei partecipanti
Un partecipante,
Microfoni e altoparlanti
Microfoni multipli,
Microfono centrale con-
inquadratura testa spalle
Microfono con cuffie o
cancellatori d’eco
diviso
videotelefono
Assetto
Tabella 8.1: Sistemi di Videoconferenza.
80
8.1. PRINCIPI DELLA CODIFICA VIDEO H.263
8.1
81
Principi della codifica video H.263
La codifica H.263 si inserisce nel filone delle tecniche di codifica ibride a trasformata che mirano a ridurre la
ridondanza temporale e spaziale tipiche delle sequenze video. A tal fine sfrutta la somiglianza fra quadri adiacenti
mediante tecniche di predizione Inter-frame e la continuità spaziale all’interno dello stesso quadro mediante tecniche
di trasformata Intra-frame. I formati video comunemente adottati per le sequenze di ingresso sono riportati nella
Tabella 8.2.
Formato
Colonne
righe
16CIF
1408
1152
4CIF
704
576
CIF (Common Intermediate Format)
352
288
QCIF
176
144
SQCIF
128
96
Tabella 8.2: Formati video H.263.
I quadri di ingresso, inoltre, sono tipicamente acquisiti ad una velocitá di 10−15 quadri al secondo (frames per second,
fps), piú lenta di quella tipica dei servizi televisivi (25 − 30fps). Ciascuno dei quadri in ingresso si considera diviso
in macroblocchi di 16x16 pixel. Una o piú righe di macroblocchi adiacenti costituiscono un Group di block (GOB).
I possibili modi di codifica di ciascun macroblocco sono essenzialmente due: INTER ed INTRA. Nella modalità
INTRA il macroblocco è codificato indipendentemente dai precedenti quadri codificati. Nella modalità INTER il
macroblocco è codificato identificando un’opportuna area 16x16 di riferimento all’interno del quadro precedente, e
codificando il relativo vettore di spostamento e l’errore di predizione, ovvero il macroblocco é suddiviso in quattro
blocchi 8 × 8 e codificato identificando, per ciascun blocco 8 × 8, un blocco di riferimento all’interno del quadro
precedente, e codificando quattro vettori di spostamento e l’errore di predizione opportunamente calcolato. Il modo
di codifica può essere deciso su base quadro, producendo interi quadri di tipo Intra (quadri I), o su base macroblocco
(quadri P).
La scelta del vettore di spostamento, costituito da due componenti intere o semi-intere appartenenti all’intervallo
di valori [-16, +15.5], viene effettuata minimizzando un’opportuna funzione che misuri la differenza fra il blocco da
codificare ed il blocco candidato come riferimento. La ricerca del blocco di riferimento ottimo può essere vincolata
da criteri di riduzione del costo computazionale. Il vettore di spostamento stimato é codificato in forma differenziale.
In particolare, è codificata la differenza fra tale vettore ed il mediano di tre vettori opportunamente scelti fra quelli
appartenenti a tre macroblocchi adiacenti; la predizione é effettuata indipendentemente sulle due componenti del
vettore. Nel caso che i vettori di spostamento da utilizzare per la predizione non siano disponibili8.1 essi sono
sostituiti da un valore nullo (bordi laterali) ovvero dal vettore relativo al blocco precedente il blocco attuale (bordo
superiore). Le due componenti del vettore differenza sono poi codificate entropicamente utilizzando una tabella VLC
specificata dallo standard.
Tanto i macroblocchi INTRA quanto l’errore di predizione dei macroblocchi INTER sono trasmessi applicando
la trasformazione Discrete Cosine Transform (DCT) a ciascuno dei 4 blocchi 8x8 che li compongono. La trasformata
DCT, che è di semplice implementazione, compatta l’informazione visuale in pochi coefficienti di valore significativo.
8.1 Ció
puó avvenire ai bordi dell’immagine, ovvero in corrispondenza di “confini” logici fra zone di cui si richieda la decodifica indipendente
(Independent Segment Decoding, ISD) per aumentare la robustezza rispetto agli errori di trasmissione.
82 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
I coefficienti DCT sono successivamente quantizzati, ottenendo così una compressione dell’informazione pagata
con la perdita di alcuni dettagli visuali, cui l’occhio umano é relativamente poco sensibile. Il coefficiente DCT
che rappresenta il valor medio dei blocchi INTRA (INTRA-DC) è quantizzato sempre con passo Q[0, 0] = 8. A
differenza di quanto avviene negli standard di codifica video precedentemente descritti, caratterizzati da matrice di
quantizzazione non uniforme e trasmessa insieme ai dati codificati, i restanti coefficienti (AC) sono quantizzati con un
passo di quantizzazione costante e fissato per un intero macroblocco, Q[k1, k2] = 2·QP, k1 = 0, · · · 8, k2 = 0, · · · 8,
con 1 ≤ QP ≤ 31. Il valore QP può variare da un macroblocco all’altro, anche in funzione del tipo di codifica
(INTRA, INTER-P, INTER-B). Dopo la quantizzazione, i coefficienti, in gran parte nulli, sono codificati mediante
una opportuna tavola di codici a lunghezza variabile, o Variable Length Code (VLC).
L’algoritmo di codifica ibrido produce in generale un bitstream che, a paritá di qualitá, presenta bit-rate variabile.
In modo analogo a quanto avviene nelle applicazioni di codifica video ad elevato bit-rate, il codificatore puó equalizzare il bit-rate di uscita aumentando o diminuendo il livello di compressione in funzione dell’occupazione elevata o
ridotta del buffer di uscita. Tuttavia, nel caso di bit-rate medio basso questa fluttuazione del livello di compressione
conduce ad una fluttuazione sensibile della qualitá visuale che é fastidiosa per l’utente finale ed é, laddove possibile,
da evitare.
Per applicazioni di videotelefonia, l’introduzione di quadri INTRA non é necessaria al fine di garantire agli utenti
un accesso casuale; essa puó invece essere richiesta dal decodificatore al codificatore utilizzando il canale di ritorno
per il recupero di eventuali errori di trasmissione. A causa dell’elevato costo in bit di un quadro INTRA, la sua
introduzione produce un ritardo di trasmissione; d’altro canto diminuire il costo del quadro aumentando il fattore di
compressione produce una drastica riduzione della qualitá visuale della sequenza decodificata. In definitiva l’uso di
quadri INTRA é limitato ed eventualmente sostituito mediante l’aggiornamento in modalitá INTRA di macroblocchi
isolati.
8.2
Le opzioni avanzate del codec H.263
Rispetto ad altri sistemi di codifica, quali l’H.261, l’H.263 presenta miglioramenti in termini di efficienza di predizione
inter-quadro, risoluzione temporale, qualità visuale della sequenza ricostruita, e sintassi. Tali miglioramenti sono
rispettivamente ottenuti mediante l’adozione delle seguenti quattro opzioni di codifica, finalizzate ad un aumento
dell’efficienza di compressione, descritte in differenti annessi tecnici della Raccomandazione:
• Unrestricted Motion Vectors (Annex D); é abilitato l’uso di vettori spostamento che puntino al di fuori
dell’immagine, ed estende i vettori all’intervallo [-32,31.5]; aumenta l’efficienza di compressione;
• Syntax based arithmetic coding (Annex E); abilita una codifica particolarmente efficiente e ottimizzata sui
diversi elementi sintattici dei coefficienti quantizzati, con un risparmio in bit dell’ordine del 3-4 % sui quadri
INTER e del 10 % sui quadri INTRA.
• Advanced Prediction (AP) o Overlapped Block Motion Motion Compensation (OBMC) (Annex F); migliora la
qualitá dell’immagine predetta a paritá di bit-rate, come esemplificato in Fig.8.1;
• PB frames (Annex G); é abilitato l’uso di frame B, ma in un’unica unitá sintatica col frame P successivo per
garantire l’efficienza di codifica;
8.2. LE OPZIONI AVANZATE DEL CODEC H.263
8.2.1
83
La motocompensazione avanzata in H.263
La tecnica di motocompensazione avanzata descritta in H.263 prende il nome di Advanced Prediction (AP) o Overlapped Block Motion Motion Compensation (OBMC). Per calcolare la predizione di ciascun pixel il decodificatore
utilizza oltre al vettore di moto del blocco 8 × 8 attuale anche i vettori di moto dei due blocchi piú vicini. I tre valori
di luminanza predetti utilizzando tali vettori sono combinati linearmente utilizzando pesi differenti in funzione della
posizione del pixel all’interno del blocco, come rappresentato in Fig.8.2 ed esemplificato in Fig.8.3.
Figura 8.1: Esempio di immagine predetta mediante motocompensazione tradizionale e avanzata su blocchi 8x8.
84 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
Figura 8.2: Advanced Motion Compensation su blocchi 8x8.
8.3
La sintassi H.263
La struttura del bitstream ricalca essenzialmente la struttura gerarchica nella quale vengono suddivisi i quadri in
ingresso. In particolare, sono definiti quattro livelli sintattici:
• quadro (picture layer),
• gruppo di blocchi (GOB layer),
• macroblocco (MB layer),
• blocco (block layer).
A livello di quadro é definito il cosiddetto Picture Header che contiene informazioni di primaria importanza per
la decodifica, ed induce una divisione del bitstream in unità sintattiche che, per motivi di robustezza, deve essere
mantenuta anche nella fase di multiplazione. Il Picture Header é costituito da una intestazione di lunghezza fissa,
contenente un Picture Start Code (PSC) di 22 bit, che abilita la sincronizzazione da parte del decodificatore, un’informazione di riferimento temporale (TR) a 8 bit relativa all’indice temporale del quadro riferito ad un clock a 29.97
Hz, e importanti informazioni di segnalazione. In particolare, sono previste informazioni sul formato della sequenza
video, sul tipo di quadro (I, P o PB), sulle opzioni di codifica utilizzate nel quadro, scelte fra quelle negoziate
all’inizio della comunicazione. Il Picture Header, inoltre, contiene il coefficiente PQUANT di 5 bit, che rappresenta
il parametro di quantizzazione utilizzato per l’intero quadro, a meno che non sia alterato da informazioni pertinenti ad
un livello sintattico inferiore, e, nel caso di coppia PB, un’eventuale variazione del coefficiente di quantizzazione sul
quadro B (DBQUANT) e il relativo riferimento temporale (TRB). Infine sono previsti comandi per il decodificatore
8.3. LA SINTASSI H.263
85
Figura 8.3: Esempio di Advanced Prediction.
86 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
(Freeze Picture Release, Split Screen), o per la entitá di gestione di conferenze detta Multipoint Control Unit, o MCU
(Continous Presence Multipoint, CPM).
Il GOB é una struttura composta da una riga di macroblocchi (SubQCIF, QCIF, CIF), oppure da due (4CIF), o
quattro (16CIF) righe di macroblocchi. A livello di GOB, è inserita un’intestazione (GOB header), contenente un
GOB Start Code di 17 bit per il recupero di sincronismo al decodificatore in presenza di errori nel bitstream, ed un
identificativo di 5 bit (GN) del numero d’ordine del GOB all’interno del quadro. Il GOB header, opzionalmente,
contiene il coefficiente GQUANT a 2 bit, che rappresenta la variazione del parametro di quantizzazione del GOB, a
meno che non sia alterato da informazioni pertinenti a livello di macroblocco. Poiché il numero di macroblocchi che
costituiscono il GOB è fissato, mentre il corrispondente numero di bit codificati che lo rappresenta è estremamente
variabile, la distanza in bit fra GOB header consecutivi è variabile.
A livello di macroblocco sono inserite tutte le informazioni riguardanti il modo di codifica del macroblocco,
i vettori di spostamento8.2 codificati in forma differenziale, nonché la presenza o meno di coefficienti diversi da
zero (Coded Block Pattern) nei diversi blocchi. Il livello di macroblocco, opzionalmente, contiene il coefficiente
DQUANT, che rappresenta il parametro di quantizzazione del macroblocco, codificato in forma differenziale rispetto
al precedente. A livello di blocco sono infine trasmessi il coefficiente DC (8 bit) e i coefficienti AC.
8.4
Versioni, profili e livelli del codec H.263
La versione 2 dello standard H.263 (H.263+), è compatibile all’indietro con l’H.263, ma supporta la codifica di
formati video di ingresso anche di alta qualità, riducendo alcune restrizioni su i vettori spostamento e sui parametri di
quantizzazione. Inoltre gode della proprietá di scalabilitá, consentendo al decodificatore di scartare parte del bitstream
e ricostruire una sequenza di ridotta risoluzione, spaziale o temporale, ovvero di ridotta qualità; in tal modo si abilita
la decodifica dello stesso flusso decodificato da parte di destinatari i cui terminali differiscano per banda disponibile,
potenza di calcolo, o formati di visualizzazione.
Dal punto di vista della robustezza rispetto agli errori, la versione 2 dell’H.263 sostituisce al concetto di GOB
(numero di macroblocchi fissato) il concetto di Slice (numero di macroblocchi variabile). Ciò consente di codificare le
Slice come unità sintattiche omogenee dal punto di vista della lunghezza in bit, separate da punti di sincronizzazione
(Slice header) approssimativamente equidistanti. Slice o GOB all’interno di un quadro sono decodificabili in modo
indipendente. Infine, è prevista la possibilità di utilizzare tabelle di codici di tipo RVLC (Reversible Variable-Length
Coding) per i vettori spostamento, che consentono la decodifica del codice tanto a partire dal primo bit che dall’ultimo,
e di fronteggiare pertanto meglio eventuali errori di trasmissione intermedi.
La versione 3 dello standard H. 263 (H.263++) prevede la modalità di codifica Data Partitioning, che separa,
all’interno del flusso codificato, sezioni che rappresentano dati di diversa importanza visuale. In tale modalità i dati
sono organizzati a segmenti indipendenti, e ogni segmento è diviso in due parti separate da opportuni marcatori. La
prima parte rappresenta i vettori di spostamento e gli header dei macroblocchi, mentre la seconda parte rappresenta i
relativi coefficienti DCT.
Il sistema di codifica H.263 prevede differenti opzioni di codifica, finalizzate a maggiore efficienza di compressione
e miglioramento della qualità visuale, e differenti versioni, tali da offrire maggiore robustezza rispetto agli errori di
8.2 Ad
ogni macroblocco compete un vettore spostamento nel caso di motocompensazione ordinaria e quattro vettori spostamento, uno per ciascun
blocco 8x8, nel caso di AP.
8.5. RACCOMANDAZIONI ITU-T PER VIDEOTELEFONIA E VIDEOCONFERENZA SU RETE FISSA
87
trasmissione. Per semplificare la negoziazione e l’interazione fra codec sono stati identificati un insieme limitato di
profili, caratterizzati dall’uso di un sottoinsieme limitato di opzioni di codifica, riportati nelle Tabelle 8.5,8.4.
Gli strumenti di robustezza all’errore citati, ovvero la codifica in numero di macroblocchi variabile, la codifica
RVLC dei dati rilevanti, la codifica indipendente di diverse aree dell’immagine, la partizione dei dati di diversa
rilevanza visuale sono, almeno nei principi ispiratori, condivisi con lo standard MPEG-4.
Annex
Funzionalitá
Miglioramenti ottenuti
D
Unrestricted Motion Vectors
efficienza di codifica
F
Advanced Prediction
qualitá soggettiva riducendo la blocchettizzazione
(1)
I
Advanced INTRA Coding
efficienza di codifica per MB
J
Deblocking Filter
riduzione della blocchettizzazione
K
Slice Structured mode
robustezza agli errori
L.4
Full Picture Freeze (SEI mode)
anteprima di immagini ad alta qualitá
O.1
B-Pictures (Temporal Scalability Mode)
(2)
fluiditá
P.5
Reference Picture Re-sampling
T
Modified Quantization
ricampionamento del quadro di riferimento
flessibilitá della quantizzazione
U
Enhanced Reference Picture Selection
efficienza di codifica
V
Data Partitioned Slice Mode
robustezza agli errori
W.6.3.8
Previous Picture Header Repetition
robustezza agli errori
W.6.3.11
Interlaced Field Indications
applicabilitá ai formati interallacciati
(3)
Tabella 8.3: Annessi tecnici allo standard di codifica video H.263. (1) Abilita la predizione dei coefficienti DCT di un MB
INTRA a partire da quelli di altri MB INTRA. (2) Abilita la generazione di una nuova immagine di riferimento mediante
ricampionamento, al fine di supportare un cambio di formato o di consentire una motocompensazione globale. (3) Abilita la
sostituzione del parametro di quantizzazione con delle matrici di quantizzazione.
Fra i profili citati, evidenziamo il profilo baseline, di minima complessità, che non utilizza nessuna opzione
aggiuntiva di codifica, e il profilo wireless, che supporta le tecniche di Advanced INTRA Coding, Modified Quantization e Deblocking Filter, che migliorano la qualità visuale ai bassi bit rate, e la codifica su base Slice, che migliora
la robustezza agli errori. In dipendenza della versione di codec supportata dal terminale, è adottata la modalità Data
Partitioning e la ripetizione di parametri critici per la decodifica.
8.5
Raccomandazioni ITU-T per videotelefonia e videoconferenza su rete
fissa
La normativa ITU-T definisce, nell’ambito delle Raccomandazioni della serie H Visual Telephone Systems, i sistemi ed
i terminali per servizi di comunicazioni multimediali punto-punto e punto-multipunto, mediante la specifica di aspetti
funzionali per una fissata rete di comunicazione. In particolare, le raccomandazioni di tipo definiscono i terminali
(H.32x), le codifiche video (H.26x), il multiplex di trasporto (H.22x), le procedure di controllo tra terminali (H.24x),
le codifiche voce/audio (G.7xy), i protocolli per la gestione di dati multimediali e la condivisione di applicazioni
(T.12x).
88 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
Per la videcomunicazione su N-ISDN8.4 , la Raccomandazione H.320 definisce la struttura generale del terminale,
le interfacce relative alla rete di comunicazione e la segnalazione di rete, le regole di multiplazione e demultiplazione
(Racc.H.221) dei flussi audio, video e dati e i relativi algoritmi di codifica, e infine la segnalazione tra terminali
(Racc.H.242).
La Raccomandazione H.324 definisce il terminale e le entitá per la videcomunicazione su GSTN mediante modem
a 28.8 kBit/s. Le entitá previste dalla Raccomandazione H.324 sono
• i terminali, realizzati mediante PC o dispositivi dedicati;
• i gateway, che abilitano la connessione con terminali o reti con terminali non-H.324, traducendo i protocolli
per iniziare, controllare e rilasciare una chiamata;
• la Multipoint Control Unit (MCU), che supporta conferenze con più di tre partecipanti e svolge funzioni di
processing e di controllo.
La raccomandazione H.323 definisce la videocomunicazione su reti a pacchetto a qualitá non garantita, ed in
particolare reti IP. Può essere adottata su LAN, ATM, GSTN, ADSL. Essa prevede
• i terminali,
• i gateway,
• la Multipoint Control Unit (MCU),
• i Gatekeeper, opzionali, che gestiscono le chiamate, gli indirizzamenti, le autorizzazioni, l’occupazione di
banda,
cioé tutte le entitá giá citate per la Raccomandazione H.324 e i Gatekeeper. I blocchi funzionali Gateways, Gatekeeper
e MCU possono risiedere in una sola unità di rete.
Le raccomandazioni H.324 e H.323 condividono i protocolli di controllo della comunicazione, descritti nella
raccomandazione H.245. La segnalazione H.245, fra l’altro, consente l’apertura e chiusura di canali logici, la descrizione del loro contenuto, la negoziazione delle capacitá del terminale, l’indicazione della modalitá di multiplazione
e protezione e di alcuni parametri del trasporto, fra cui la dimensione della Maximum Transfer Unit, MTU
8.5
.
La Raccomandazione H.225 presente in H.323 descrive, oltre ai formati di multiplazione, le procedure di segnalazione per il controllo di chiamata, per disciplinare l’accesso alle risorse di rete (Registration Admission Status,
RAS). Le procedure RAS per Autenticazione, Autorizzazione, Accounting, consentono lo scambio di informazioni
fra terminali/gateway e gatekeeper, per funzionalitá di gatekeeper discovery, registrazione di terminali, localizzazione
ed assegnazione di indirizzo, controllo di ammissione e restrizione degli accessi; in tal senso la raccomandazione
H.225 integra l’informazione di controllo definita in H.245.
8.4 La
capacitá N-ISDN é tipicamente fornita nella modalitá di accesso base a 144 Kb/s (2 B channel a 64 Kb/s e un D channel a 16 Kb/s)
ovvero nella modalitá di accesso primario a 2048 Kb/s risultante da differenti combinazioni di canali B a 64 Kb/s, D a 16 o 64 Kb/s, o H a 384,
536, 1920, 2048 Kb/s.
8.5 Comandi e indicazioni non richiedono risposte esplicite da parte del terminale remoto: i comandi forzano un azione mentre le indicazioni
mandano un’informazione. Richieste richiedono azioni e risposte immediate. Le risposte sono i messaggi di ritorno per le richieste.
8.5. RACCOMANDAZIONI ITU-T PER VIDEOTELEFONIA E VIDEOCONFERENZA SU RETE FISSA
8.5.1
89
I formati di multiplazione a pacchetto H.223 e H.225 (RTP) per i flussi di dati
multimediali
Sia la Raccomandazione H.324, per trasmissione su reti caratterizzate da modo di trasferimento a circuito, che
la Raccomandazione H.323, per trasmissione su reti a pacchetto, prevedono formati di multiplazione orientati al
pacchetto, definiti rispettivamente nelle Raccomandazioni H.223 e H.225.
I protocolli di multiplazione previsti in H.223 prevedono uno strato di adattamento (Adaptation Layer) ed uno di
multiplazione (Multiplex Layer). L’AL adatta i pacchetti in uscita ai codec di sorgente aggiungendo un numero di
byte variabile in funzione del tipo di dati trasmessi. Si definiscono tre tipi di AL:
• AL1, che non aggiunge dati al bitstream demandando il controllo d’errore agli strati superiori (formato tipico
dei dati),
• AL2, che aggiunge al pacchetto un byte di CRC e opzionalmente un byte per numerazione di sequenza (formato
tipico dell’audio),
• AL3, che aggiunge al pacchetto due byte di CRC e opzionalmente uno o due byte per numerazione di sequenza
e controllo, ed ammette un meccanismo di ritrasmissione (formato tipico del video).
La peculiaritá del formato di multiplazione H.225 previsto in H.323 é che non è definito un vero e proprio flusso
multiplato, ma ciascun flusso (audio, video, dati) é trasmesso separatamente e la multiplazione é realizzata dal livello
di rete. Ogni pacchetto porta un time stamp, che consente la equalizzazione dei ritardi (jitter) e la sincronizzazione
tra media diversi. Ciascun flusso, audio, video o dati, é trasferito utilizzando una pila protocollare unreliable e
l’informazione di controllo e segnalazione H.245 é trasferita utilizzando una pila protocollare reliable. Di assoluta
rilevanza operativa é il caso di un supporto di rete IP, in cui la pila protocollare unreliable per i flussi audio, video
o dati é la pila RTP/UDP/IP, la pila protocollare reliable per il controllo e la segnalazione é la pila TCP/IP.
Osserviamo che nel contesto H.323 la videoconferenza punto multipunto puó fruire delle funzionalitá di multicast
della rete, assumendo una forma decentralizzata e alleggerendo le funzionalitá della MCU.
I formati di multiplazione H.223 e H.225 presentano forti analogie, essendo entrambi orientati al pacchetto e
realizzando funzionalitá di rivelazione d’errore e sequence numbering; le principali differenze risiedono nel fatto che,
rispetto a RTP/UDP/IP, il mux H.223 presenta minore overhead, consente la ritrasmissione, é piú robusto agli errori;
d’altro canto non possiede meccanismi per il riferimento temporale, non gestisce le congestioni, ed é progettato per
una banda massima piú piccola.
90 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
Il protocollo RTP
A livello di trasporto, le reti IP utilizzano comunemente due protocolli. Il primo, TCP (Transmission Control Protocol), caratterizzato da un header tipico di 20 byte, offre un servizio byte-oriented affidabile, basato su meccanismi
di ritrasmissione e controlli di time-out, che a causa della impredicibilitá dei ritardi introdotti non si adatta alle
comunicazioni real-time; il secondo, UDP (User Datagram Protocol), offre un servizio semplice non affidabile.
L’UDP Header di 8 byte fornisce una check-sum del payload del pacchetto IP. A meno di tale controllo di paritá,
il protocollo non introduce funzionalitá rispetto al protocollo IP; pertanto i pacchetti UDP/IP possono essere persi,
duplicati, consegnati fuori sequenza, dal trasferimento. Il protocollo RTP é un protocollo end-to-end di livello di
applicazione tipicamente usato su UDP/IP. Il pacchetto RTP é caratterizzato da un header di 12 byte che contiene
informazioni di sequence numbering, time-stamps, payload type a , marker bit b , identificativi della sorgente del
flussoc. Il protocollo RTP prevede un canale di controllo di ritorno opzionale (RTCP) che consente al coder di
monitorare i pacchetti effettivamente arrivati a destinazione nelle condizioni attuali della rete.
a Il
Payload Type contiene l’indicazione del codec multimediale relativo al payload trasportato, secondo tabelle standardizzate o scambiate
nella fase di negoziazione delle opzioni di codifica
b Il Marker bit identifica l’ultimo pacchetto di un gruppo caratterizzato dalla stesso time-stamp; ad esempio l’ultimo pacchetto relativo allo
stesso quadro video; ció consente al decodificatore di iniziare la decodifica prima della ricezione del successivo pacchetto RTP.
c Il campo Synchronization Source Identifier SSRC consente di identificare la sorgente del flusso; nel caso di dati risultanti dal miscelamento
di piú sorgenti, i campi opzionali Contributing Source Identifier CSRC consentono l’identificazione delle diverse sorgenti coinvolte.
8.5.2
Il formato RTP per il flusso binario H.263
Dal punto di vista concettuale, i criteri di frammentazione del bitstream e incapsulamento nei pacchetti del trasporto
mirano a rendere il bitstream robusto rispetto a errori casuali e a perdita di pacchetto, e possono essere sintetizzati in
poche linee guida:
• a ciascuna unità semantica (quadro, segmento di immagine) e a ciascuna unità sintattica provvista di strumenti
di risincronizzazione (gruppo di blocchi) dovrebbe corrispondere un solo pacchetto;
• gli header dei diversi livelli sintattici del bitstream non devono essere divisi in più pacchetti;
• gli header dei diversi livelli sintattici del bitstream devono essere collocati all’inizio del pacchetto.
La pacchettizzazione RTP del flusso binario H.263 definita in [3] opera secondo i criteri sovraesposti. Gli startcode che cadono all’inizio di un pacchetto RTP possono essere sinteticamente segnalati mediante un opportuno bit di
intestazione. Ogni pacchetto RTP contiene un Header RTP di lunghezza fissa, contenenti, fra gli altri, un Marker bit
(M), che segnala se il pacchetto contiene o meno la fine del quadro corrente, un campo di Payload Type (PT), che
specifica il formato H.263 del payload, ed un Time Stamp che codifica l’istante di campionamento del primo quadro
contenuto del pacchetto, consentendo la sincronizzazione fra media differenti, nonché fra strati base e enhancement nel
caso di codifica scalabile. All’interno del pacchetto RTP è poi trasportato il payload H.263. Ai fini della robustezza
agli errori, il flusso dovrebbe contenere una copia ridondante del Picture header, così da consentire la decodifica
anche quando la prima sia andata persa. Inoltre, la lunghezza in bit dell’unitá sintattica codificata dovrebbe essere
scelta in modo da non superare la dimensione della Maximum Transfer Unit (MTU) della rete8.6. Ad esempio, si
8.6 Su
reti Ethernet la MTU ha dimensione pari a 1500 byte; su reti wireless la MTU ha dimensione dell’ordine dei 100 byte.
8.5. RACCOMANDAZIONI ITU-T PER VIDEOTELEFONIA E VIDEOCONFERENZA SU RETE FISSA
91
potrebbe trasferire un quadro in un unico pacchetto RTP, laddove la stringa codificata corrispondente al quadro non
superi la lunghezza della MTU della rete. Alternativamente, il quadro potrebbe essere suddiviso in più segmenti
trasmessi indipendentemente mediante un primo pacchetto seguito da uno o più pacchetti follow-on, con ripetizione
del picture header.
Figura 8.4: Schema a blocchi del terminale H.324.
92 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
Figura 8.5: Pila protocollare del terminale H.323.
8.5. RACCOMANDAZIONI ITU-T PER VIDEOTELEFONIA E VIDEOCONFERENZA SU RETE FISSA
N.
Profile Name
Description
Version
Annexes
0
Baseline
Minimal capability.
H.263
None
1
H.320
Enhanced coding effi-
H.263+
Advanced INTRA Coding,
H.263
Advanced Prediction
Coding
Efficiency
2
V2
ciency.
8.3
Backward-Compatibility
V1
Enhanced coding effi-
Backward-Compatibility
ciency within the first
version di H.263 (V1).
Advanced INTRA Coding
3
V2 Interactive and Strea-
Enhanced coding effi-
ming Wireless
ciency.
H.263+
Enhanced error
Deblocking Filter
Slice Structured mode
Modified Quantization
resilience for delivery to
wireless devices.
Advanced INTRA Coding
Deblocking Filter
4
V3 Interactive and Strea-
Enhanced coding effi-
ming Wireless
ciency.
H.263++
Enhanced error
Slice Structured mode
Modified Quantization
Data Partitioned Slice Mode
resilience for delivery to
Previous Picture Header Repetition
wireless devices.
Unrestricted Motion Vectors
Advanced Prediction
Advanced INTRA Coding
5
Conversational
High
Compression
Enhanced coding effi-
H.263++
Deblocking Filter
ciency. No delay associa-
Full Picture Freeze
ted with B pictures. No
Modified Quantization
error resilience.
Enhanced Reference Picture Selection
Unrestricted Motion Vectors
Advanced Prediction
Advanced INTRA Coding
6
Conversational Internet
Enhanced coding efficiency.
H.263++
No delay asso-
Deblocking Filter
Slice Structured mode
Full Picture Freeze
ciated with B pictures.
Modified Quantization
With error resilience mo-
Enhanced Reference Picture Selection
des suitable for Internet
Protocol (IP) networks.
Unrestricted Motion Vectors
Advanced Prediction
Advanced INTRA Coding
7
Conversational Interlace
Enhanced coding effi-
Profile
ciency for low-delay applications.
H.263++
Deblocking Filter
Full Picture Freeze
Modified Quantization
Support di
Enhanced Reference Picture Selection
interlaced video.
Interlaced Field Indications
Unrestricted Motion Vectors
Advanced Prediction
Advanced INTRA Coding
Deblocking Filter
8
High Latency Profile
Enhanced coding efficiency for applications
without
critical
constraints.
delay
H.263++
Slice Structured mode
Full Picture Freeze
B-Pictures
Reference Picture Re-sampling
Modified Quantization
Enhanced Reference Picture Selection
Tabella 8.4: Profili dello standard di codifica video H.263.
93
94 CAPITOLO 8. SERVIZI DI VIDEOTELEFONIA E VIDEOCONFERENZA: LE RACCOMANDAZIONI ITU-T
Terminal capability messages (H.263)
advancedIntraCodingMode, deblockingFilterMode, improvedPBFramesMode, unlimitedMotionVectors,
PictureFreeze (full, partial, resizing), PictureSnapshot (full, partial)
dynamicPictureResizing, Warping, progressiveRefinement, modified QuantizationMode
IndependentSegmentDecoding, slicesInOrder-NonRect (NoOrder, Rect), dataPartitionedSlices, PictureHeaderRepetition (current, previous, next).
Logical Channel Signaling (H.223)
adaptationLayerType: nonStandard, al1 (framed unframed), al2 (with or without sequence number), al3 (number of control field octets, size of the send
buffer), al1M, al2M, al3M
PictureFreeze (full, partial, resizing), PictureSnapshot (full, partial)
headerFEC, crcLength, rcpcCodeRate, arqType, alpduInterleaving, alsduSplitting, rsCodeCorrection
Logical Channel Signaling (H.225)
sessionID (unique RTP or T.120 Session Identifier), associatedSessionID (lip synchronization), transportAddress (unicast, multicast),
mediaChannel (IPv4, IPv6), mediaGuaranteedDelivery, mediaControlChannel mediaControlGuaranteedDelivery, silenceSuppression, dynamicRTPPayloadType, mediaPacketization
Miscellaneous Command
videoFreezePicture, videoFastUpdate (Picture, GOB, MB), videoTemporalSpatialTradeOff
videoSendSyncEveryGOB (Cancel), maxH223MUXPDUsize
Tabella 8.5: Esempi di messaggi H.245.
Bibliografia
[1] G. Scarano, “Dispense di elaborazione delle immagini”, http:
infocom.uniroma1.it/gscarano.
[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] IETF RFC 2429: RTP Payload Format for the 1998 Version of ITU-T Rec. H.263 Video (H.263+), Bormann C. et al., October 1998.
95