Corso di Laboratorio di Multimedialità Anno Accademico 2002-2003 Docente: Claudio Sacchi PARTE 1: INTRODUZIONE AL CORSO E RIEPILOGO DEI CONCETTI DI BASE Contenuti Programma del corso ed articolazione delle lezioni; Riferimenti bibliografici; Modalità di esame; ; Tecniche di video-streaming ed applicazioni; Anno accademico 2002-2003 2 Programma del corso Programma del corso Riepilogo dei concetti base sulla trasmissione ; Effetti degli errori su segnali videocompressi; Tecniche congiunte di codifica di sorgente e di canale per la trasmissione di stream video su canali radio reali. (continua) Anno accademico 2002-2003 3 Tecniche di elaborazione in post-processing del segnale video-compresso; Tecniche di codifica scalabile; Trasmissione di segnali multimediali a bitrate variabile su canali radiomobili e satellitari. Anno accademico 2002-2003 4
Articolazione delle lezioni Riferimenti bibliografici Il corso è articolato in 24 ore di lezione (3 crediti) di cui: 10 ore in aula per illustrare gli strumenti teorici di base; 14 ore in laboratorio (probabilmente a Mesiano) per l utilizzo pratico da parte dello studente dei tool software di elaborazione del segnale video. Lucidi del corso fatti a lezione; Articoli e parti di libri, via via segnalate dal docente; Manualistica del software ultilizzato nelle esercitazioni di laboratorio. Anno accademico 2002-2003 5 Anno accademico 2002-2003 6 Modalità di esame Sono previste tre modalità differenti: Lavoro di ricerca bibliografica su argomenti inerenti al corso con relazione finale (voto massimo: 27/30). Durata: 2 settimane; Lavoro di implementazione software e di simulazione (nessun limite sul voto), con relazione finale. Durata: 3 settimane; Integrazione con tesi di laurea specialistica, insieme ad esame di El. Trasm. Sig. Video, durata: 1 mese aggiunto all attività della tesi di Laurea. NOTA: Limite di tempo max per lavori: 2 mesi Anno accademico 2002-2003 7 Obbiettivi L obiettivo di un sistema di comunicazione digitale e trasferire un messaggio digitale dalla sorgente alla destinazione; Nel caso di trasmissione di un segnale video digitale bisogna trasferire dalla sorgente alla destinazione un flusso di bit che codifica un immagine o una sequenza di immagini. Anno accademico 2002-2003 8
Obbiettivi La codifica raw di un segnale video avviene in modalità PCM, ovvero con un doppio campionamento nel dominio delle frequenze spaziali ed in quello temporale e con relativa quantizzazione dei campioni ottenuti; Rate di uscita di un codificatore PCM di un segnale video RGB: 769 568 8 3 24 = 251592192.. [( ) ] bit/sec Anno accademico 2002-2003 9 Obbiettivi Per trasmettere 1 secondo di sequenza video a colori necessiterebbero circa 251Mbit. E evidente che nessun canale (nemmeno la fibra ottica) può garantire una simile capacità; La codifica di sorgente, finalizzata a ridurre il numero di bit/sec necessari a trasmettere l informazione video, è quindi un must nella trasmissione. Anno accademico 2002-2003 10 H.261: detta anche P.64, poiché il rate di trasmissione è multiplo di 64Kb/s. La tecnica H261 veniva usata alcuni anni fa per trasmissione video su collegamenti ISDN (videotelefono, teleconferenza), ora è stata rimpiazzata da tecniche più efficienti. Il meccanismo di codifica è simile (ma incompatibile) a quello dello standard MPEG. H.263: è uno standard, tuttora largamente utilizzato, per trasmissione video a basso bit-rate in canali a banda stretta. Il sistema di codifica è simile a quello dello standard H261, con alcune caratteristiche aggiunte per incrementarne l efficienza e la capacità di recupero di errori di trasmissione. Le applicazioni sono le stesse dell H.261. Anno accademico 2002-2003 11 Anno accademico 2002-2003 12
M-JPEG: in realtà non è un vero standard, ma è solo l applicazione a sequenze di immagini della codifica JPEG standard (in pratica: codifica JPEG dei singoli frames); Consente bassi rapporti di compressione (tipici valori: 10:1, 15:1), ma offre un ottima qualità visuale e si utilizza in applicazioni dove tale qualità è espressamente richiesta. MPEG-1: il codificatore MPEG1 produce uno stream video ad una bit-rate di 1-1.5Mb/s, offrendo una qualità VHS, alla risoluzione CIF (352x288) e ad una frame-rate di 30 fps; MPEG1 non consente scalabilità della risoluzione e la decodifica richiede elevati tempi di latenza. Consente, tuttavia la scalabilità temporale eliminando frames di tipo B. Anno accademico 2002-2003 13 Anno accademico 2002-2003 14 MPEG-2: è un estensione di MPEG1 che consente maggiore flessibilità e possibilità di integrazione con la codifica audio. E per questo utilizzata per applicazioni TV digitale; Il coder MPEG2 produce uno stream video con bit-rate compreso tra 2 e 15Mb/s, con scalabilità a tre livelli: temporale, di qualità (PSNR) e di risoluzione. MPEG-4: è lo standard di compressione video di nuova generazione che consente la trasmissione di video a basso bit-rate (<64Kb/s), ma con buona qualità percettuale; MPEG-4 si basa sulla segmentazione della sequenza A/V in Audio-Visual Objects (AVO), che possono essere trasmessi in modalità multiplexata, ottenendo grande flessibilità e scalabilità. Anno accademico 2002-2003 15 Anno accademico 2002-2003 16
Il codec MPEG-4 si basa su un linguaggio di definizione chiamato MSDL (MPEG-4 syntatic description language); MSDL consente di costruire nuovi codecs, componendo diverse primitive di questo linguaggio, consentendo il downloading dinamico di queste componenti da Internet (meccanismo simile alle API di Java). JPEG-2000: è lo standard di nuova generazione per la codifica di immagini fisse; Basato sulla trasformata wavelet, esso consente scalabilità di risoluzione e scalabilità di qualità, con rapporti di compressione assai migliori (a parità di qualità), rispetto al JPEG classico. Anno accademico 2002-2003 17 Anno accademico 2002-2003 18 Sistema di trasmissione Ingresso video Codificatore di forma d onda Codificatore entropico Codificatore di sorgente Codificatore di trasporto Canale Uscita video Decodificatore di forma d onda Decodificatore entropico Decoder di sorgente Decodificatore di trasporto Anno accademico 2002-2003 19 Sistema di trasmissione Il segnale video viene compresso dal codificatore di sorgente al desiderato bit-rate; Il transport coder rappresenta un insieme di dispositivi che eseguono la codifica di canale, la pacchettizzazione, la modulazione ed il controllo a livello di trasporto. Converte il bitstream in uscita dal codificatore di sorgente in unità-dati atte alla trasmissione sul canale. Anno accademico 2002-2003 20
Protocolli di trasporto La scelta del protocollo di trasporto ha un influenza decisiva sulle prestazioni del sistema di trasmissione ; Il tradeoff che si pone è in termini di robustezza vs. real-time; I principali protocolli di trasporto utilizzati nella trasmissione sono: TCP/IP, UDP, RTP, VDP, RTSP, RSVP. Protocolli di trasporto (TCP/IP) TCP/IP: è utilizzato nelle applicazioni http per lo scaricamento affidabile dei documenti da Internet; Se un pacchetto è danneggiato (a causa di bit errati) o eccessivamente ritardato (a causa di congestioni nella rete), se ne ordina la ritrasmissione. Anno accademico 2002-2003 21 Anno accademico 2002-2003 22 Protocolli di trasporto (TCP/IP) Il protocollo TCP/IP è inadatto per applicazioni audio/video in tempo-reale poiché: Il TCP impone il suo controllo di flusso dei pacchetti e la sua temporizzazione, distruggendo le relazioni temporali esistenti tra frame video e pacchetti audio; Il TCP parte dal concetto-base di non perdere mai pacchetti, a costo di introdurre ritardi e cali del throughput. Nelle applicazioni video è invece preferibile perdere pacchetti piuttosto che introdurre ritardi e diminuzioni della velocità di trasmissione. Protocolli di trasporto (UDP) UDP: (User Datagram Protocol) è il protocollo preferito per le applicazioni di video streaming in tempo reale; Viene usato dagli applicativi di video-streaming più comuni (RealPlayer, StreamWork etc.), spesso in alternativa al TCP/IP (RealPlayer può, ad esempio, usare entrambi). Anno accademico 2002-2003 23 Anno accademico 2002-2003 24
Protocolli di trasporto (UDP) UDP non prevede correzione e/o ritrasmissione di pacchetti. Se un pacchetto risulta danneggiato, viene perduto, ovvero non ricevuto; L operazione di decodifica di sorgente, quindi, procede facendo a meno dei pacchetti persi. Ovviamente l utente si accorgerà di questa perdita. Ma potrebbe non soffrirne molto. Protocolli di trasporto (UDP) In un broadcast TV digitale, se un frame isolato risultasse pesantemente corrotto a causa della mancanza di uno o più pacchetti, l effetto potrebbe anche essere inavvertibile; Mentre invece, un ritardo introdotto dalla ritrasmissione di pacchetti corrotti, o una desincronizzazione audio-video (tipici effetti del TCP/IP) potrebbero essere avvertiti. Anno accademico 2002-2003 25 Anno accademico 2002-2003 26 Protocolli di trasporto (RTP) RTP (Real-Time Protocol): è un estensione robusta del protocollo UDP, con meccanismi di recupero del sincronismo audio-video, detezione della perdita di pacchetti, sicurezza, ed identificazione dei contenuti dei diversi utenti; RTP è un protocollo utilizzato, in particolare, per applicazioni di videoconferenza di gruppo, con identificazione dei singoli membri. Protocolli di trasporto (VDP) VDP (Video Datagram Protocol): è una versione migliorata di RTP; VDP sfrutta due canali virtuali separati tra client e server: un canale per il video streaming ed un canale di controllo; Il canale di controllo serve a coordinare, previa opportuna segnalazione, la trasmissione di informazione sul canale di streaming. Anno accademico 2002-2003 27 Anno accademico 2002-2003 28
Tecniche di video streaming ed applicazioni Protocolli di trasporto (RSVP) RSVP: è un protocollo di trasporto standard per lo streaming multimediale in tempo reale, che intende garantire una precisa qualità del servizio su reti IP; Vengono definite classi diverse di QoS: una classe di servizi best-effort ed una classe a Qos garantita, quest ultima sia a livello di larghezza di banda, sia a livello di ritardi. Applicativi commerciali Esistono moltissimi applicativi commerciali per il video streaming su reti IP; Alcuni applicativi effettuano il semplice playback di stream video MPEG o AVI, richiedendo il caricamento del file prima dell operazione di visualizzazione (MACROMEDIA FLASH, ad esempio). Anno accademico 2002-2003 29 Anno accademico 2002-2003 30 Tecniche di video streaming ed applicazioni Tecniche di video streaming ed applicazioni Applicativi commerciali Altri applicativi, invece, effettuano lo streaming in tempo reale (ad esempio REALPLAYER, STREAMWORK). Essi utilizzano, in genere, il protocollo UDP, o protocolli derivati; E possibile per alcuni di questi applicativi (REALPLAYER) impiegare anche il protocollo TCP/IP in alternativa all UDP. Applicazioni Broadcast TV digitale; Teleconferenza interattiva; Video su reti IP: film in DVD, programmi televisivi, animazioni, videoclips (settore molto fiorente, ma caratterizzato da problemi infiniti di carattere legale); Video controllo per applicazioni di sicurezza. Anno accademico 2002-2003 31 Anno accademico 2002-2003 32