Università degli studi di Pisa Ingegeria Informatica Applicazione di videoconferenza in ambiente Multicast con supporto per il protocollo di controllo di congestione RLC Giansalvo Gusinu Relatori: Prof. Luigi Rizzo , Prof. Luciano Lenzini 1 Sommario • • • • • Caratteristiche videoconferenza Videoconferenza e Internet Video gerarchico Il transcoder nlvt Architettura dell’applicazione 2 Caratteristiche videoconferenza • • • • • Molte informazioni da trasmettere Ridondanza dei dati Trasmissione in tempo reale Un trasmettitore, tanti ricevitori Qualità del video medio-bassa 3 Soluzioni adottate • Compressione dei dati trasmessi • Nessun meccanismo per il recupero degli errori • Protocollo Multicast per la trasmissione dei dati 4 Scenario Internet (1) MBone Trasmettitore Gateway ISDN ? kbit/s 64 kbit/s Router MBone 500 kbit/s Rete locale 10 Mbit/s Backbone 5 Eterogeneità Problemi: • Congestione dei link con banda disponibile inferiore a quella trasmessa; • Sottoutilizzo dei link con banda superiore a quella trasmessa. Soluzione: Trasmetto più segnali. 6 Simulcast Si trasmettono più copie indipendenti del video con banda diversa; ogni ricevitore sceglie il canale con la banda migliore che può ricevere. Semplice da realizzare, ma introduce troppa ridondanza: spreca banda sui link a comune tra ricevitori collegati a canali diversi. RX 1 128 Kbit/s TX 256 Kbit/s 128 Kbit/s 256 Kbit/s il ricevitore n.2 non utilizza appieno il collegamento 256 Kbit/s RX 2 7 Video gerarchico (1) Trasmettitore: Trasmette porzioni diverse del video su canali diversi in modo che la qualità aumenti con il numero di canali. Ricevitore: Riceve tanti canali quanti rientrano nella banda disponibile fino al trasmettitore. RX 1 128 Kbit/s TX ogni ricevitore sfrutta tutta la banda disponibile 256 Kbit/s 128 Kbit/s 128 Kbit/s 256 Kbit/s RX 2 8 Video gerarchico su Internet MBone Trasmettitore Max 10 Mbit/s Gateway ISDN 64 kbit/s Router MBone 500 kbit/s Rete locale 10 Mbit/s Backbone 9 L’applicazione nlvt nlvt (New Layered Video Transcoder) è un transcoder per flussi di videoconferenza. Sorgente Ricevitore Ricevitore Ricevitore Ricevitore MBone nlvt (ripetitore) sul gateway Ricevitore nlvt (assemblatore) sul gateway nlvt ripetitore riceve un video codificato nlvt assemblatore riceve la H.261/RTP dalla sorgente e lo ritrasmette codifica gerarchica e ricostruisce codificato gerarchicamente su Mbone. un segnale unico 10 Video gerarchico (2) Come spezzare il video su più canali? Codifica gerarchica Quanti canali ricevere? Trasmissione gerarchica 11 Codifica gerarchica (1) • Qualità incrementale • Controllo della banda e del frame rate • Selezione dei blocchi 12 Codifica gerarchica (2) livello 1s 4 livelli 8 fps 32 Kbpf 512 Kbit/s 4(alto) 3 Il livello alto non incrementa il frame rate, ma solo la risoluzione. 2 1 (base) 32 kbit 1 2 3 4 5 6 7 8 frame L’immagine bufferizzata è inviata alternativamente sui canali secondo una sequenza prestabilita. La banda totale è pari a quella della sorgente; la banda aggregata raddoppia ad ogni livello. Il frame rate totale è scelto dall’utente, raddoppia ad ogni livello. 13 Selezione dei blocchi livello qualità normale bassa qualità 4(alto) 3 Sul livello alto si trasmette un raffinamento dell’immagine, negli altri livelli il segnale può essere degradato. 2 1 (base) 1 2 3 4 frame I frame sono elaborati a blocchi di 8x8 pixel. Si sfrutta la ridondanza temporale: i blocchi scelti sono quelli che hanno subito variazioni. Se la banda non è sufficente si invia con una risoluzione inferiore. 14 Trasmissione gerarchica: RLC Algoritmo eseguito dai ricevitori: • in caso di congestione abbandona un canale; • se aumenta la banda aggiungi un canale. livello Congestione 4(alto) 3 2 1 (base) tempo 15 Architettura dell’applicazione TRANSCODER: inizialializzazione; UI: interazione con l’utente; interfaccia grafica nlvtgui Transcoder utente Ui H261 H261: frame buffer e procedure di codifica/decodifica H261; DemuxQ Scheduler DEMUXQ: coda di demultiplexing dei frame per la ricostruzione del segnale completo; M lay Slay SCHEDULER: controllo della banda e del frame rate, scelta dei blocchi da inviare; SLAY: interfaccia verso la sorgente video e I ricevitori; nlvt Rlc LayeredQ librlc ripetitore librerie e sistema assemblatore MLAY: interfaccia verso la rete; RLC e LAYEREDQ: moduli di integrazione del controllo di congestione RLC. 16 Conclusioni E’ stato illustrato un sistema efficente basato sul transcoder nlvt per la trasmissione di videoconferenza su Internet con caratteristiche di: • scalabilità: indipendenza dal numero dei ricevitori; • compatibilità: codifica video standard H.261/RTP; • architettura modulare; • bassa complessità. 17