Metodologie Digitali per la Compressione e Trasmissione di Segnali Televisivi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Metodologie Digitali per la Compressione e Trasmissione di Segnali Televisivi"

Transcript

1 Facoltà di Ingegneria Tesi di Laurea Metodologie Digitali per la Compressione e Trasmissione di Segnali Televisivi Relatore: Candidato: Chiar.mo Prof. Rodolfo Zunino Claudio Portanome Dipartimento di Ingegneria, Biofisica ed Elettronica

2 I risultati si ottengono non mollando mai

3 Abstract The work developed in this thesis concerned encoding/decoding techniques and compression procedures to be applied to video/tv signals before their broadcasting. We started from some historical notes addressing the TV signal and the standards used in Europe and United States. After that, our attention was paid to the encoding techniques and the video compression mechanisms, with special regards to standards conceived within the MPEG Working Group: MPEG-2 MPEG-4 MPEG-7 MPEG-21 In this perspective, we reviewed the main concepts applied in the encoding/decoding and compression algorithms (i.e., MPEG-2 and MPEG-4) and the most important elements used for the organization of the multimedia contents and the issues related to security (i.e., MPEG-7 and MPEG-21). Finally, last part of this thesis was devoted to the market products (either commercial or Freeware) being indicative of the features and the principal properties typical video systems have. In this view, for the sake of exemplification, the cases of DivX, XviD, XMpeg and Blu-ray formats were analysed, thus giving some insights into video and image systems commonly being nowadays used.

4 Sommario Il lavoro sviluppato in questa tesi ha riguardato le tecniche di codifica/decodifica e di compressione da applicarsi per la trasmissione di segnali video e televisivi. Si è partiti con alcune note storiche relative al segnale televisivo e i relativi standard adottati in Europa e Stati Uniti. In seconda analisi, l attenzione si è spostata alle tecniche di codifica e agli algoritmi di compressione video dando particolare enfasi agli standard concepiti all interno del gruppo di lavoro MPEG: MPEG-2 MPEG-4 MPEG-7 MPEG-21 In questa ottica, si sono rivisitati i principali concetti applicati negli algoritmi di codifica/decodifica e compressione (i.e., MPEG-2 and MPEG-4) e i maggiori elementi utilizzati per l organizzazione di contenuti multimediali nonchè gli aspetti relativi alla sicurezza (i.e., MPEG-7 and MPEG-21). L ultima parte di questa tesi è stata dedicata ai prodotti di mercato (commerciali o Freeware) come indicazione delle caratteristiche e delle principali proprietà che i tipici sistemi video hanno. In questo senso, tanto per dare alcuni esempi, i formati DivX, XviD, XMpeg e Blu-ray sono stati analizzati, in modo da dare alcune indicazioni circa i sistemi di trasmissione di video e immagini comunemente usati al giorno d oggi.

5 INDICE 1 INTRODUZIONE COMPRESSIONE VIDEO DIGITALE CENNI SUI DISPOSITIVI PER LA VISUALIZZAZIONE E L ELABORAZIONE DELLE IMMAGINI IL SEGNALE TELEVISIVO: INTRODUZIONE STRUTTURA GENERALE TELEVISIONE AD ALTA DEFINIZIONE SISTEMI GRAFICI E SEGNALE TV LINEE TV, PIXEL E CAMPIONI DALL'ANALOGICO AL DIGITALE RIDURRE LA QUANTITÀ DI DATI MPEG-2, INDISPENSABILE PER IL DVB BREVE GUIDA SUI PRINCIPALI CODEC E FORMATI VIDEO Elenco dei principali formati I principali Codec Le caratteristiche di un DVD (Digital Versatile Disc) MPEG 1-2 (TMPEG ENCODER) INTRODUZIONE Storia SISTEMI DI CODIFICA VIDEO SPECIFICHE PER MPEG VIDEO Accesso Casuale Ricerca Veloce Avanti/Indietro Riproduzione all'indietro Sincronizzazione Audio/Video Montaggio Robustezza FUNZIONAMENTO METODO DI CAMPIONAMENTO MODELLO PERCETTIVO PREMESSA IMMAGINI E CONCETTI BASE Dimensione in pixel: size Rapporto dimensioni: aspect ratio Frame rate Interallacciato o progressivo: interlaced Facoltà di Ingegneria- DIBE i

6 2.8.5 Il campionamento dei colori (YUV format 4:4:4, 4:2:0, 4:1:1) Profile e Level INTRA FRAME, MACROBLOCCHI, DCT Frame di tipo I Matrici di quantizzazione Ridondanza temporale e compensazione del moto Motion search accuracy B frame Cambi di scena e I frame METODI DI GESTIONE DEL BIT-RATE Costant Quality CQ Conclusioni riguardo il metodo CQ ( costant quality) Impostazioni manuali FILTRI VIDEO MPEG-3 E H.264/MPEG-4 AVC MPEG H.264/MPEG-4 AVC Introduzione Caratteristiche Profili e livelli Paragone con gli altri standard Performance Qualità oggettiva e soggettiva FIG MIGLIORAMENTO DELL H.264/AVC Velocità e complessità della performance Applicazioni Versions MPEG MPEG Introduzione Gli elementi dell MPEG Lo scopo dello standard Parti dell MPEG Funzioni principali dell MPEG Sistemi MPEG Linguaggio di descrizione e definizione Visuale MPEG Audio MPEG Facoltà di Ingegneria- DIBE ii

7 Schema di descrizione multimediale MPEG Softwere di riferimento dell MPEG-7: the experimentation model MPEG Introuzione MPEG-21 Multimedia Framework Prima analisi degli elementi digitali Attuale piano di lavoro dell MPEG DIVX E BLU-RAY DIVX La storia Nasce il DivX DivX 3.11 alpha Il progetto Mayo DivX DivX Rivoluzione: il DivX DivX "alternativi" DivX e DIVX Kristal Studio e DivX OpenDivX XviD ivX Applicazioni del DivX CD Multimediali Duplicazione di DVD DVD di nuova generazione Streaming BLU-RAY DISC Introduzione Confronto con il HD e DVD Caratteristiche principali Protezione dei dati Recenti sviluppi sul Blu-ray Il ruolo di Microsoft e Intel nel mercato della tecnologia Blu-ray Blu-ray Disc Association Intel XVID E XMPEG XVID Facoltà di Ingegneria- DIBE iii

8 6.1.1 Storia Diffusione Compatibilità con i lettori Stand Alone XMPEG Il Decoding La idct Il Resize CONCLUSIONI APPENDICE A BIBLIOGRAFIA APPENDICE B LISTA DEGLI ACRONIMI Facoltà di Ingegneria- DIBE iv

9 Capitolo 1 Introduzione 1 Introduzione 1.1 Compressione video digitale Un segnale tv trasformato in formato digitale rappresenta una grande mole di dati da elaborare che va oltre alle capacità degli attuali sistemi di diffusione tra cui i transponder satellitari. Questa enorme quantità di dati per essere sfruttata nelle trasmissioni tv satellitari richiede un trattamento di "compressione" che si concretizza nella applicazione dello standard MPEG-2. La digitalizzazione del segnale video ha una storia [1] meno recente di quella del sistema MPEG. Già dal 1982 il CCIR, organo consultivo internazionale che oggi è sostituito dalla sezione raccomandazioni dell'itu denominata ITU-R, definì le specifiche CCIR 601 "Encoding Parameters of Digital Television for Studios". Nell'ultima edizione del 1990, CCIR 601-2, ci sono le basi dell'odierno sistema televisivo digitale e tale specifica è oggi il punto di riferimento costante per chiunque operi nel campo della digitalizzazione video. Le CCIR 601 hanno permesso l'introduzione del video digitale negli studi di produzione televisiva, infatti nel broadcast già da lungo tempo vengono impiegate macchine di registrazione video in formato digitale. Solo successivamente, con il DVB e la compressione video, le tecniche digitali sono state applicate alle trasmissioni televisive ed oggi rappresentano l'evoluzione del sistema televisivo in tutte le sue estensioni: via cavo, via satellite e via terrestre. Nel prossimo paragrafo farò qualche cenno al segnale televisivo in modo introdurre il concetto di compressione digitale. Facoltà di Ingegneria- DIBE - 1 -

10 Capitolo 1 Introduzione 1.2 Cenni sui dispositivi per la visualizzazione e l elaborazione delle immagini La grafica su elaboratore è nata poco dopo la comparsa dei calcolatori elettronici, con la disponibilità dei CTR (tubi a raggi catodici) e dei plotter. La continua crescita delle potenzialità di calcolo degli elaboratori [2] pone il problema dell interpolazione dei dati prodotti. L unica soluzione è quella di visualizzare i dati in forma grafica o pittorica, sfruttando le notevoli capacità di sintesi del sistema visivo umano. Esistono svariati tipi di dispositivi di presentazione grafica, di gran lunga più diffusi sono i cosiddetti sistemi a raster:in quei sistemi è sempre presente una memoria video, organizzata logicamente come una matrice bidimensionale, i cui elementi sono in corrispondenza uno a uno con i punti luminosi generati da un tubo a raggi catodici a bassa /media persistenza. Gli elementi della matrice contengono numeri interi che vengono convertiti in tensioni dal dispositivo che si occupa della generazione del segnale televisivo da inviare al monitor. E necessario che la matrice dei numeri venga convertita in intensità luminose più volte al secondo (da 25 a circa 100, a seconda dei sistemi). La corrispondenza fra i numeri nella matrice immagine e l intensità luminosa risultante (in bianco e nero o a colori) è in genere modificabile mediante programmazione. Nei sistemi in cui è modificabile esiste una memoria molto veloce, detta tabella di Look-up,che contiene i valori di conversione ed è,in qualche modo, accessibile da programma. Fig Architettura di un semplice dispositivo di uscita raster. In Fig 1.1 viene presentato uno schema generale di sistema raster semplice. La memoria di immagine(frame Buffer) viene scandita svariate volte al secondo del contatore video Facoltà di Ingegneria- DIBE - 2 -

11 Capitolo 1 Introduzione (Video Controller), che si occupa anche di generare il segnale televisivo adatto a pilotare il monitor di uscita. La memoria video e il video controller [2] sono solo i due elementi che devono essere presenti, insieme con circuiti che permettono l accesso alla memoria video da parte di un calcolatore. Nei sistemi più semplici non c è quasi altro: Il calcolatore ospite si occupa di gestire le operazioni di scrittura e, in genere, lettura della memoria video. Figura Architettura di un dispositivo di uscita raster. Un ulteriore componente dei sistemi grafici può essere il Display Controller (vedi Fig. 1.2): questo è di fatto un processore più o meno specializzato, a volte anche programmabile che esegue i comandi che provengono dal calcolatore ospite. I dispositivi per elaborazione di immagini hanno in genere la possibilità di acquisire immagini in tempo reale da un segnale video composito. Per fare questo è necessario un campionatore veloce( da 8 a 13 MHz,per un segnale televisivo standard) e la circuiteria adatta ad interpretare i vari impulsi di sincronismo e a scrivere sulla memoria di immagine. Nei sistemi più costosi sono in genere presenti processori specializzati per eseguire operazioni comuni, quali ad esempio la convoluzione con maschere. Il motivo per cui sono presenti dei processori delicati [2] è che la qualità di operazioni richiesta per generare o elaborare una immagine è molto alta e che, almeno sui calcolatori economici la velocità di trasferimento dei dati sul bus interno (ovvero fra unità centrale e dispositivo grafico) è troppo lenta. Facoltà di Ingegneria- DIBE - 3 -

12 Capitolo 1 Introduzione 1.3 Il segnale televisivo: introduzione Il problema base da risolvere è ovviamente quello di riuscire a trasmettere delle sequenze di immagini su di un canale monodimensionale. La soluzione adottata è quella di campionare in verticale ciascuna immagine, ottenendo quindi un certo numero di linee (cioè funzioni monodimensionali continue di luminosità) per ogni immagine, e poi di inviare in sequenza temporale tutte le righe di ciascuna immagine. Il segnale televisivo[2] si compone dei tratti che portano l informazione relativa alla luminosità delle righe più i segnali, detti di sincronismo, che permettono la ricostruzione corretta delle varie immagini. La differenza fra i vari sistemi televisivi è nel numero di righe di ogni immagine, nel numero di immagine trasmesse al secondo, nella codifica del colore e nella larghezza di banda assegnata (che influenza la risoluzione). Attualmente sono in uso nel mondo diversi formati di segnale televisivo incompatibili fra loro. All inizio, in assenza di specifiche internazionali, si sono sviluppati tre diversi sistemi di televisione in bianco e nero:quello americano a 525 linee, quello europeo a 625 linee e quello francese a 819 linee per immagine. I tre differenti standard di tv in bianco e nero si sono poi trasformati in altrettanti standard a colori, ciascuno ovviamente compatibile con il corrispondente in bianco e nero. I primi sono stati gli americani, che hanno iniziato a trasmettere regolarmente a colori nel 1954 con un sistema noto come NTSC. Gli altri due standard, il PAL per l Europa ed il SECAM per la Francia, sono stati derivati dall NTSC [2] con piccoli miglioramenti. Il PAL è nato nei laboratori della Telefunken ed è in uso dal Il SECAM, anche lui usato dal 1967, è stato adottato con i varianti dall USSR, alcuni paesi dell est e dall Algeria. Facoltà di Ingegneria- DIBE - 4 -

13 Capitolo 1 Introduzione 1.4 Struttura generale Gli elementi [2] da tener presente per una corretta trasmissione delle immagini televisive sono: 1. proporzioni geometriche, 2. continuità delle immagini, 3. numero delle linee di scansione, 4. sfarfallio e scansione interallacciata, 5. risoluzione spaziale Proporzioni geometriche. In tutti i sistemi televisivi le immagini sono rettangolari con un rapporto fra la larghezza ed altezza pari a 4/3. Il campo visivo umano è più esteso in larghezza che in altezza. Continuità delle immagini. Le immagini vengono costruite sullo schermo del televisore mediante un procedimento (detto scanning process o scansione) sequenziale studiato in modo da creare una illusione di continuità fra le varie immagini. In realtà sullo schermo, ad ogni istante, è presente solo una piccola parte di una immagine. Numero delle linee di scansione. La stima del numero di linee necessarie per una buona visione del segnale televisivo può essere fatta come segue: fissando una distanza minima dell osservatore dallo schermo pari a quattro volte l altezza dello stesso e osservando che l occhio risolve particolari che distano fra loro non meno di 1/60 di grado, un semplice calcolo indica in circa 860 il numero delle linee necessario per eguagliare il potere di risoluzione del sistema visivo. Sono sufficienti fra 500 e 600 linee per raggiungere una risoluzione accettabile. Sfarfallio. Lo sfarfallio (flicker) è un fenomeno che si verifica quando il numero di immagini al secondo è sufficiente a dare una illusione di continuità, ma non è rapido abbastanza per permettere alla il luminosità di una immagine di mescolarsi in modo omogeneo con quella dell immagine successiva. Il numero di una immagine al secondo è di 24 per il cinematografico, 25 per il segnale televisivo PAL (30 per l NTSC). Nei film questo inconveniente è risolto proiettando ciascuna immagine due volte. Nel segnale televisivo lo sfarfallio viene combattuto mediante la cosiddetta scansione interallacciata: ciascuna immagine (quadro) viene divisa Facoltà di Ingegneria- DIBE - 5 -

14 Capitolo 1 Introduzione in due sottoimmgini (detti semiquadri o campi, in inglese field) composte rispettivamente dalle righe pari e da quelle dispari. Ciascun semiquadro [2] viene scandito nella metà del tempo rispetto all intera immagine, quindi vi sono il doppio delle immagini al secondo (ciascun a metà risoluzione verticale). Il modo di funzionamento della scansione interallacciata è mostrato in Fig. 1.3: da notare che la presentazione dei due semiquadri è tale che le righe del secondo campo cadono in posizione intermedia rispetto a quelle del primo. Nei sistemi con 625 linee totali (PAL) queste sono divise in due gruppi di linee e ciascun insieme è scandito alternativamente per coprire l intera area dell immagine. Per ottenere ciò, l oscillatore di movimento orizzontale lavora ad una frequenza di Hz (312.5*50=15625), che è la stessa frequenza necessaria per la scansione non interallacciata (625*25=15625), mentre l oscillatore di movimento verticale usa una frequenza di 50 Hz (invece che di 25 Hz). La scansione interallacciata permette di eliminare lo sfarfallio senza aumentare il numero di linee trasmesse al secondo. Fig Principio di scansione interallaciata. Le righe sono numerate in sequenza temporale. Per semplicità sono ignorate le linee spese durante la rintraccia verticale (venti per semiquadro). Facoltà di Ingegneria- DIBE - 6 -

15 Capitolo 1 Introduzione Fig Forme d onda per la deflessione. Scansione verticale e orizzontale: Il sistema per produrre l immagine sullo schermo del televisore è quello di generare due forme d onda triangolari [2] per pilotare i circuiti del tubo catodico (verticale e orizzontale). In Fig. 1.4 sono mostrate le forme d onda necessarie a pilotare entrambi i circuiti di scansione. Il tempo dedicato alla ritraccia è necessario per vincere le inerzie (elettromagnetiche) del sistema di scansione e non può essere usato per la trasmissione delle immagini. Nel tempo di ritraccia verticale vengono trasmesse le informazioni di televideo. La durata nominale delle linee orizzontale, è di 64 µsec. (1/15625 s) di cui 52 µsec sono di periodo attivo e 12 µsec di periodo di ritorno di linea: il raggio ritorna, durante questo intervallo, al lato sinistro del quadro per ripartire a tracciare la linea successiva. Analogamente, essendo la frequenza di semiquadro 50 Hz, la durata nominale della traccia verticale è di 20 ms (1/50 s): di questi, ms sono usati per portare il raggio dall alto al basso e i rimanenti ms sono usati dal raggio per tornare in alto e comunicare il semiquadro successivo. Dal momento gli oscillatori di movimento orizzontale e verticale operano continuamente ( non possono fare altro), 20 linee orizzontali (1280/64) vengono tracciate durante ciascun intervallo di ritraccia verticale: ovviamente il fascio di elettroni è spento durante la ritraccia verticale, per cui le 20 linee non si vedono. In questo modo si perdono 40 linee di scansione per immagini durante l intervallo di ritraccia dei due semiquadri e quindi il numero effettivo di linee utilizzate per la scansione dell immagine è uguale a 585 (delle 625 nominali). Facoltà di Ingegneria- DIBE - 7 -

16 Capitolo 1 Introduzione La geometria completa del modello di scansione interallacciata è Fig Si noti che le linee sono numerate nella sequenza in cu sono effettivamente scandite. Durante la prima traccia verticale vengono scandite linee. Il raggio parte da A e si muove verso il quadro con velocità uniforme per disegnare la prima linea orizzontale. Alla fine di questa traccia [2] il raggio ritorna rapidamente al lato sinistro del quadro, come mostrato dalla linea tratteggiata in figura, per cominciare la successiva linea orizzontale. Le linee orizzontali tendono a scendere nella direzione di scansione perché il circuito di deflessione verticale produce un movimento verticale continuo, peraltro molto lento rispetto a quello orizzontale. L abbassamento della traccia orizzontale da sinistra a destra è maggiore che durante la rintraccia da destra a sinistra di un rapporto 52/12. Il processo continua fino a quando non si arriva alla metà dell ultima linea del primo semiquadro, cioè nel punto B, quando sono state disegnate linee. Ora il raggio viene spento ed impiega il tempo equivalente a 20 linee per tornare in alto (nel punto C). Da notare che la partenza è ha metà della prima linea che permette alle linee del secondo semiquadro di essere posizionate sfalsate (a mezza via ) rispetto a quelle del primo semiquadro lasciando invariate le temporizzazioni in verticale (questo spiega il perché il numero di linee per immagine sia, in tutti sistemi, dispari). Ora viene scandito il secondo semiquadro, fino al completamento della rintraccia della linea 605 (punto D). Le 20 linee necessarie per riposizionare il raggio in A portano in fine il numero complessivo di linee a 625. Figura Scansione interfacciata: viene mostrato un quadro completo pari a 625 linee in 1/25 di secondo. Facoltà di Ingegneria- DIBE - 8 -

17 Capitolo 1 Introduzione Risoluzione spaziale. La risoluzione verticale dipende dal numero di linee di scansione visualizzate, secondo V r = N a * k (1.1) dove V r è la risoluzione verticale espressa in numero di linee. N a è il numero di linee attive e k è il fattore di risoluzione (noto anche come fattore di Kell). Assumendo per k il valore di 0,69 si ottiene Vr PAL = 585 * 0.69 = 400 linee. La risoluzione orizzontale dipende dalla larghezza di banda assegnata al segnale video (le righe non sono campionate). Assumendo di desiderare [2] una risoluzione orizzontale pari a quella verticale moltiplicata per 4/3 si ottiene un valore di 585 * 0.69 * 4/3 = 533. Facendo un po di conti viene fuori che serve una larghezza di banda pari a circa 5 MHz, il che spiega perché la larghezza di banda assegnata ai sistemi a 625 linee è pari a 7 MHz (ci devono stare anche i sincronismi, l audio, la banda vestigiale ed i margini di guardia). Per il sistema NTSC (a 525 linee) lo stesso calcolo porta a Vr NTSC = 485 * 0.69 = 335 e ad una banda di 4 MHz (4/3 335/2 1/57 s = 3.9 MHz), mentre quella allocata è di 6 MHz. Il sistema francese con 819 linee ha una richiesta di banda di 10.4 Mhz ed è una allocazione pari a 14 MHz. 1.5 Televisione ad alta definizione Attualmente sono allo studio diversi sistemi di televisione ad alta definizione o HDTV. Lo scopo è quello di arrivare ad una qualità ricevuta simile a quello del cinematografico. Sono stati proposti sistemi sia analogici che numerici, con un numero di linee un po maggiore di 1000 ed un numero di colonne fra i 1200 e 2000 (per i numerici,per gli altri è una indicazione della risoluzione orizzontale). Questi sistemi, tutti rigorosamente incompatibili fra loro, hanno un rapporto larghezza/altezza maggiore di 4/3, prevedono una presentazione non interallacciata [2] e sono incompatibili con i segnali televisivi tradizionali. Tutti prevedono una qualche forma di compressione dei dati, al fine di ridurre la larghezza di banda del canale associato dai circa 100 MHz necessari per la trasmissione non codificata a circa 30 MHz (il sistema allo studio presso la RAI TV prevede una codifica digitale basata sulla DCT, trasformata discreta coseno). Facoltà di Ingegneria- DIBE - 9 -

18 Capitolo 1 Introduzione 1.6 Sistemi grafici e segnale TV I sistemi per grafica ed elaborazione di immagini [2] producono in uscita un segnale analogico adatto a pilotare il monitor di visualizzazione. Questo segnale non è, in genere, un segnale televisivo standard. I motivi sono piuttosto evidenti: non c è infatti alcuna necessità di ridurre la banda o di degradare la presentazione per essere compatibili con il segnale monocromatico. Questo significa che, in quasi tutti i sistemi, l uscita (ovviamente non modulata) è su tre diversi fili, uno per colore primario RGB, e non è presente la codifica del colore. Inoltre non c è alcun bisogno di interallacciare i semiquadri, e quindi vengono presentate da 50 a 100 immagini complete al secondo (a secondo dei sistemi). I sincronismi sono invece necessari: questi possono essere divisi in orizzontali e verticali (su due fili diversi), uniti sullo stesso filo oppure mischiati ad uno dei colori primari (in genere il verde). Questi sincronismi sono in tutto simili a quelli visti per il segnale televisivo standard, a parte per le temporizzazioni e l assenza di impulsi equalizzatori e color burst. Questi tipi di segnali non possono ovviamente essere videoregistrati: i sistemi più recenti hanno, a volte come opzione, l uscita video indipendente a standard PAL o NTSC, con una qualità in genere piuttosto bassa (ma dipende molto dal tipo di immagine visualizzata). 1.7 Linee TV, pixel e campioni Una immagine TV analogica viene normalmente descritta come il risultato di una scansione operata da sinistra verso destra e dall'alto verso il basso. Ogni scansione completa è costituita da 625 linee e, in base allo standard adottato in Europa, viene ripetuta per 25 volte in un secondo [2] così come in una proiezione cinematografica si hanno 24 fotogrammi in un secondo. Le 625 linee tv non vengono impiegate totalmente per descrivere l'immagine. Infatti oltre alle informazioni sul contenuto di luminanza e crominanza dell'immagine sono necessarie altre informazioni per la cui trasmissione necessita un periodo di pausa pari al tempo di trasmissione di ben 49 linee. Le linee attive dell'immagine sono quindi 576. Nel campo della TV digitale si utilizza invece un altra modalità di descrizione dell'immagine suddividendola in pixel. Per ogni linea tv si considerano quindi 720 pixel pertanto una intera immagine tv è formata da 720 x 576 pixel. Ad ogni pixel sono associati i valori di luminosità dell'immagine, in gergo luminanza Y, e i valori relativi al colore, in gergo crominanza C. Ogni pixel è quindi costituito da Facoltà di Ingegneria- DIBE

19 Capitolo 1 Introduzione campioni di luminanza e crominanza in numero variabile in funzione del livello qualitativo che si deve ottenere che viene descritto nella raccomandazione CCIR.601 (vedi anche televisore). 1.8 Dall'analogico al digitale Le specifiche CCIR hanno avuto il grande ruolo di normalizzare le condizioni di digitalizzazione del segnale video [1] al fine di facilitare l'intera operabilità tra le macchine e favorire lo scambio dei programmi televisivi. Una altra specifica, la CCIR 656 ha invece fissato le condizioni di interfaccia tra i sistemi e le apparecchiature destinate al trattamento dei segnali video digitali. Secondo le CCIR il segnale video digitale standardizzato è costituito dai dati relativi al campionamento di tre componenti del segnale video: la componente di luminanza Y e due componenti di differenza colore Cb e Cr. Queste tre componenti vengono campionate al fine di produrre un segnale digitale formato da 864 campioni di luminanza Y e 432 campioni di crominanza per ogni segnale differenza colore Cb e Cr. Questi valori si riferiscono ad una immagine televisiva completa con 625 linee e 50 semi-quadri. L'immagine reale, come abbiamo visto, invece lascia inutilizzate alcune aree pertanto [1] i campioni realmente utilizzati sono di meno in quanto i pixel utili alla descrizione dell'immagine sono 720 in senso orizzontale e 576 in senso verticale. I campioni di luminanza e crominanza, all'interno dell'immagine vengono suddivisi con una struttura definita in tre possibili formati: 4:2:2, 4:1:1 e 4:2:0. Il formato 4:2:2 è indicato dalla specifica CCIR come lo standard di fatto per l'interscambio dei programmi e la diffusione tv. Il formato 4:2:0 è utilizzabile nei contributi mentre il formato 4:1:1 è destinato ad applicazioni di bassa qualità. In una immagine video trasmessa nel formato 4:2:2, in orizzontale per ogni linea si hanno due campioni di crominanza Cb e Cr ogni quattro campioni di luminanza [1] mentre in verticale si ha la successione di linee identiche. Ciò significa che in orizzontale si ha un sottocampionamento mentre in verticale no. Facoltà di Ingegneria- DIBE

20 Capitolo 1 Introduzione 1.9 Ridurre la quantità di dati Se proviamo a calcolare il "bitrate" necessario alla trasmissione di un segnale video campionato in 4:2:2 a 8 bit avremo delle amare sorprese [1] in quanto ci troveremo di fronte ad un bit rate necessario di 216 Mb/s, valore molto elevato. Ovviamente se si escludono le parti non significative dell'immagine ovvero, gli intervalli di cancellazione di linea e di quadro, si può avere un risparmio in termini di bit rate passando da 216 Mbit/s a 166 Mbit/s. Il "bitrate" è in stretta connessione con la larghezza di banda necessaria per eseguire la trasmissione via radio. Pertanto per poter trasmettere un segnale digitale è necessario adattare il bit rate alla larghezza del canale satellitare. Prendendo ad esempio un canale satellitare largo 33 MHz, questo supporta un Symbol Rate di 24,4 Ms/s che equivale, in QPSK ad un bit rate di 48,8 Mb/s (fuori dalla codifica Reed-Solomon e Convoluzionale). Attualmente viene tollerato un certo degrado di qualità che mantiene il tasso di errori entro valori accettabili, pertanto viene utilizzato frequentemente un Symbol Rate di 27,5 Ms/s il che equivale ad ottenere un bit rate massimo di 55 Mb/s. Tale bit rate viene ridotto impiegando la codifica convoluzionale e quindi si ottengono diversi valori convenienti di bit rate in funzione del FEC impiegato. Con un FEC di 1/2 si ottiene un bit rate di 25,43 Mb/s mentre con un FEC di 7/8 si ottiene un bit rate di 44,35 Mb/s. Attualmente viene largamente impiegato un FEC di 3/4 con il quale [1] si ottiene un bit rate di 38 Mb/s per un canale come quello utilizzato su Hot Bird largo 33 MHz e con un Symbol rate di 27,5 Ms/s. Nonostante le possibilità del sistema di trasmissione, 38 Mb/s sono ancora pochi per supportare la trasmissione di un segnale video digitale. Per questo motivo entra in gioco il sistema di compressione MPEG-2 adottato dal DVB. Utilizzando la compressione si ottiene una forte riduzione della quantità di dati da trasmettere permettendo così di sfruttare un unico canale satellitare per la trasmissione di più programmi televisivi. Basti pensare al fatto che attualmente la migliore qualità di trasmissioni dirette agli utenti richiede un bit rate di circa 8 Mbit/s per ogni programma tv. Pertanto ciò lascia intuire che unendo l'mpeg-2 alle tecniche di multiplazione digitale si possano trasmettere grandi quantità di dati. Ciò è infatti quello che accade con le attuali trasmissioni digitali dove su Facoltà di Ingegneria- DIBE

21 Capitolo 1 Introduzione un solo transponder da 33 MHz può trovare spazio la combinazione di programmi aventi anche tra loro un diverso bit rate. Alla base di questo principio sta una importante applicazione, relativa alle tecniche di compressione, attualmente sperimentata dalle trasmissioni RAI. Tali trasmissioni infatti utilizzano la tecnica di "compressione dinamica" per mezzo della quale [1] il bit rate dei singoli programmi che condividono lo stesso bouquet non è fisso ma può variare dipendentemente dalle esigenze istantanee di qualità e quindi di bit rate delle singole immagini. Ad esempio: un programma sportivo con immagini in forte movimento può avere a disposizione un bit rate istantaneo elevatissimo sfruttando una maggiore compressione degli altri programmi presenti nello stesso bouquet MPEG-2, indispensabile per il DVB La televisione digitale DVB (Digital Video Broadcasting) adotta la compressione video chiamata MPEG-2. La sigla MPEG deriva dal nome di un gruppo di lavoro chiamato Motion Pictures Expert Group che riunisce esperti internazionali del settore [1] con lo scopo di standardizzare le procedure di compressione per servizi televisivi e multimediali. Si tratta in realtà di un gruppo di lavoro ISO/IEC con la complicata sigla identificativa JTC1/SC29/WG11, che opera congiuntamente al gruppo 15, della sezione telecomunicazioni della ITU, che invece si occupa di codifica video ATM. Il gruppo MPEG collabora anche con la sezione raccomandazioni della ITU, SMPTE e la comunità americana che si occupa di HDTV. MPEG-2 raggruppa le specifiche divenute standard a tutti gli effetti e fissate al 29º meeting ISO/IEC di Singapore nel novembre Tali specifiche sono raccolte nel fascicolo ISO/IEC in tre parti: per il sistema; per il video e per l'audio. Esistono altre specifiche MPEG ovvero: MPEG-1, MPEG-3 e MPEG-4; la prima non è diversa concettualmente da MPEG-2 ma ha caratteristiche inferiori, mentre MPEG-3 era uno standard per applicazioni con immagini ad alta definizione HDTV in seguito abbandonato. L'MPEG-4 è una somma degli standard precedenti, è molto flessibile e supporta molte modalità di compressione con bit rate che possono essere estremamente ridotti o molto ampi. Facoltà di Ingegneria- DIBE

22 Capitolo 1 Introduzione 1.11 Breve guida sui principali codec e formati video Il codec (COmpressore-DECompressore) è un software che dice al computer con quali operazioni matematiche deve manipolare le immagini per comprimerle e quali eseguire per visualizzare quelle compresse; Il "formato" invece è una sorta di scatola che contiene il codec [3] e lo integra con il sistema. I codec esistenti sono tantissimi al contrario dei formati. Il codec possiamo definirlo formato video e il formato possiamo anche definirlo formato documento Elenco dei principali formati MS VIDEO FOR WINDOWS (.AVI ) Il primo formato introdotto con le funzionalità necessarie per il trattamento del video. Supporta moltissimi codec di compressione, quali tra i più noti: DivX, Xvid, Cinepak, M- jpeg, Intel Indeo. E compatibile con tutti i software per l'editing non lineare, oltre alla quantità e la versatilità dei codec supportati lo rendono ottimo per il video digitale principalmente su piattaforma Win. Il suo difetto principale è quello di non poter essere utilizzato per lo streaming. MICROSOFT NETSHOW (.ASF ) Formato dedicato allo streaming di medio/alta qualità, consente di catturare, editare, convertire e riprodurre filmati, slideshow e file audio attraverso codec audio/video performanti. Nato fondamentalmente per il web [3] questo formato consente di ottenere buoni rapporti qualità/dimensione per una riproduzione off-line (oltre che in streaming). WINDOWS MEDIA VIDEO (.WMV ) Formato introdotto da Microsoft che dovrebbe garantire una maggiore qualità rispetto al formato MPEG a parità di Mb occupati. Particolarmente adatto per il Multimedia publishing e il Web publishing. Utilizza tecnologia scalabile per la trasmissione in rete creando varie versioni dello stesso filmato in Mpeg4 bit rate diversi. Facoltà di Ingegneria- DIBE

23 Capitolo 1 Introduzione MPEG (.MPG -.MP2 - MPEG ) Formato standard internazionale che si avvale dell'algoritmo di compressione MPEG (Moving Picture Experts Group). La qualità video è decisamente buona [3] se teniamo presente l'eccezionale rapporto di compressione (fino a 200:1). A causa del suo carattere asimmetrico (compressione che avviene in un tempo decisamente maggiore della riproduzione) e della sua struttura interna (ridondanza spaziale, encoding incrementale), che impedisce l'elaborazione frame-by-frame e quindi l'editing non lineare, questo formato risulta ottimo per il Multimedia publishing ma poco utilizzabile per il Desktop video. Esistono diverse versioni con qualità standard diverse: MPEG1, MPEG2 e MPEG4. APPLE QUICK TIME (.MOV ) E' il formato Quick Time Standard per Apple. Esso integra tipi di dati, come audio video e animazioni, in modo dinamico, su base temporale, nelle applicazioni dedicate considerandole come "movies". Gli algoritmi di compressione presenti in QuickTime (sono di varia natura e scopo; i tre principali sono il Jpeg (photo compressor) che e' un codec per la compressione delle immagini PICT; il video compressor, proprietario Apple, che permette un display interattivo di immagini a 24 bt, e' in grado di processare immagini video a 8, 16, 24 bit, con supporto di entrambe le compressioni in modo spaziale e temporale; e l'animation compressor [3] basato invece su algoritmi ottimizzati per le animazioni in genere e per la videografica generata al computer. Questo formato risulta ottimo per prodotti multimediali (quali CD ROM o video interattivi), ma può assolvere anche a piccoli progetti di Digital Video. ADOBE FILMSTRIP (.FLM ) E' un formato proprietario della Adobe che raccoglie in un unico file grafico tutti i fotogrammi della sequenza compilata. Le dimensioni dei file sono proibitive e la riproduzione video è estremamente lenta. REAL MEDIA AUDIO/VIDEO (.RA -.RM -.RAM ) Concepito inizialmente per l'audio in rete, questo formato è diventato ormai standard per lo streaming audio/video, un vero e proprio pacchetto per la creazione e la distribuzione del multimedia sul web. In rapporto alla compressione ottenuta (10:1) la qualità audio è decisamente eccezionale (16bit, 44Khz, Stereo); per quanto riguarda il video esistono dei limiti connessi alla capacità dei sistemi che si adottano. La qualità e la fluidità del video dipenderanno [3] dalla macchina di riproduzione, dai settaggi di compilazione, dal Facoltà di Ingegneria- DIBE

24 Capitolo 1 Introduzione soggetto del filmato e soprattutto dalla velocità della linea: un modem a 33.6kbps difficilmente raggiungerà uno streaming maggiore di un fotogramma al secondo, mentre una connessione ADSL permette maggiore fluidità e qualità dell'immagine. DIGITAL VIDEO (.Dv ) Formato di acquisizione delle recenti videocamere. La compressione interna è simile al Motion Jpeg (MJpeg). Il DV e' un formato digitale nativo; cio' vuol dire che, a meno che non ci adoperiamo altrimenti, nasce digitale sin dal momento della ripresa e rimane tale sino al momento di riversare la clip, e anche oltre. Infatti, quando andiamo a catturare una sequenza con la nostra scheda di acquisizione M- Jpeg, non facciamo altro che trasformare [3] un segnale analogico (che esce dalla videocamera) in un segnale digitale (quello su cui faremo editing). Col DV questo non avviene piu', gia' al momento della ripresa, sul nastro DV viene incisa una sorta di clip digitale, una sequenza di bit che dobbiamo soltanto trasferire (in pratica copiare) su computer senza nessuna ricompressione e al massimo con l'aggiunta di un header (intestazione) che permette di riconoscere il file come multimediale. Un file DV potrebbe presentarsi come un AVI (su PC), ma in realtà e' sempre un DV I principali Codec Il codec (COdificator-DECodificator o COmpressore DECompressore) e' un particolare software che contiene un algoritmo costruito per codificare e decodificare, in questo caso, una sequenza video. Sappiamo che la mole di dati che una sequenza video comporta e' molto elevata e quindi sarebbe improponibile realizzare un filmato senza averlo prima compresso (e quindi codificato) con un algoritmo di compressione. A questa mansione risponde il codec che, appunto, in fase di acquisizione trasforma le informazioni ricevute in un file più piccolo e compatto, e in fase di riproduzione interpreta il codice nel file per poterlo mostrare integro. Per capire meglio le funzioni del codec, andiamo a vedere quali sono gli elementi fondamentali [3] che permettono la trasmissione di un video, limitandomi all'aspetto legato alla trasmissione delle immagini, poiché il codec è soprattutto su queste che interviene. Quando si vogliono digitalizzare le immagini analogiche (attraverso una scheda di acquisizione video), bisogna "campionare" (scegliere) un certo numero di punti - detti pixel - che rappresentino adeguatamente l'immagine, e per ognuno di questi punti memorizzarne Facoltà di Ingegneria- DIBE

25 Capitolo 1 Introduzione il colore. Già in questa scelta c'è una perdita di informazione, che però è obbligatoria per passare da quantità continue, come quelle analogiche, a quantità discrete, come quelle digitali. L'occupazione di memoria di un'immagine dipende quindi dal numero di pixel campionati (la risoluzione dell'immagine), ma anche [3] dalla fedeltà di colore che si vuole ottenere, cioè dalla quantità di memoria che si usa per rappresentare il colore di ognuno di essi. Di solito, si memorizza l'informazione del colore con tre parametri, che corrispondono ai colori fondamentali RGB (Red, Green Blue: Rosso, Verde, Blu). Abbiamo detto che la qualità dell'immagine digitalizzata dipende dal numero dei pixel campionati e dal numero dei bit utilizzati per codificarli. Per rappresentare un colore su un possibile spettro di 256 colori è sufficiente un byte (8 bit permettono di codificare i numeri da 0 a 255), mentre per rappresentarne uno su 16 milioni occorrono 3 byte, cioè 24 bit. Se ad esempio vengono usati otto bit per ogni colore (24 bit) si ottiene una tavolozza di sedici milioni di colori possibili da assegnare ad ogni pixel. Il risultato è molto vicino all'originale analogico. Trasmettere però via internet trenta fotogrammi da 800x600 pixel al secondo a 24 bit è attualmente impossibile, perché né i modem, né le linee permetterebbero di inviare e ricevere 30x800x600x24 bit al secondo ( bit!). Per ovviare a questo inconveniente sono stati messi a punto i diversi codec, che creano un compromesso tra qualità e occupazione di memoria. Prima di scegliere quale codec usare nella compressione di un clip video è bene sapere qualcosa sui metodi di compressione più diffusi. Alcuni metodi di compressione vengono chiamati "lossless" (senza perdita di informazioni), essi fanno in modo che il video venga trasmesso all'utente ad una qualità non inferiore a quella originale. Ma la maggior parte dei metodi usati per la compressione sono chiamati "lossy" (con perdita di informazioni): ciò che viene trasmesso dopo la decompressione è un video di qualità inferiore all'originale. I metodi lossless appartengono a tecniche di compressione che vengono chiamate "assolute ; alle tecniche incrementali appartengono invece i metodi lossy. Le prime comprimono ogni fotogramma e codificano le sequenze di tutti i pixel uguali [3] e sono le stesse che vengono usate per la compressione delle immagini statiche; le seconde invece suddividono l'immagine in aree quadrate e trasmettono solo i dati che cambiano da un fotogramma all'altro. Le tecniche di compressione assolute, ossia quelle che agiscono su Facoltà di Ingegneria- DIBE

26 Capitolo 1 Introduzione ogni fotogramma, sono più semplici e per questo possono essere elaborate dai componenti software; quelle incrementali invece richiedono schede di acquisizione video dedicate. SORENSON VIDEO Uno dei primi codec Quick Time. In bassa risoluzione è buono per il web, in alta per Cd rom. INDEO VIDEO Codec sviluppato dalla Intel [3] che poteva vantare un notevole supporto hardware su pc assieme ad utili effetti di trasparenza ed interattività che lo rendevano molto adatto ad applicazioni su Cdrom. La versione 5 è stata migliorata molto rispetto alle precedenti ma non è più utilizzabile in Mac OS X in quanto lo sviluppo è completamente cessato. CINEPACK Creato nel 1990 per computer poco potenti, il Cinepak oggi risulta poco usato proprio perché ormai superato da nuove tecnologie di compressione. Tuttavia il Cinepak ha ancora il pregio di essere visualizzabile praticamente da tutti i computer esistenti, quindi lo si trova sempre nella lista codec del software e dell hardware più comune. Adatto solo a piccoli video a bassa risoluzione. REAL VIDEO Codec scalabile, la qualità video si adatta alla capacità di trasmissione della linea e alla potenza del computer. Simile ai formati WMA/V ma deriva dall Indeo Video. MPEG1 Primo rivoluzionario codec video Mpeg a essere diffuso. E' adatto a creare Cd video di qualità Vhs. Suo difetto [3] è che un intero film compresso in Mpeg1 solitamente occupa più di un Cd. I file MPEG1 vengono decodificati e quindi riprodotti da qualsiasi player preinstallato su ogni moderno computer. MPEG2 Standard Mpeg per l alta risoluzione. Rispetto all'mpeg1, questa versione utilizza sistemi di compressione più complessi ed evoluti ed è stato ottimizzato per un bit-rate molto alto e per l alta risoluzione, con notevole incremento della qualità a parità di dimensioni dei file finali. Un film in Mpeg2 a piena risoluzione occupa alcuni GigaByte e per questo può esser contenuto solo in un Dvd e può esser trasmesso in streaming solo su banda larga. Facoltà di Ingegneria- DIBE

27 Capitolo 1 Introduzione MPEG4 Nuova versione Mpeg migliorata rispetto all Mpeg2, con una compressione maggiore, una maggiore dimestichezza allo streaming e all interattività. Dall Mpeg4 è nato DivX e Xvid. (due progetti assolutamente analoghi ma distinti) Mpeg4 rappresenta un ulteriore sviluppo in quanto utilizza l esperienza Mpeg2 e la unisce a nuovi metodi di definizione dell immagine ottenendo alta qualità in poco spazio. Probabilmente grande merito del positivo impatto estetico che ha Mpeg4 va alla fusione dei pixel adiacenti e alla ricostruzione matematica dei particolari [3] che permette di smussare la quadrettatura dovuta alla bassa risoluzione o la blocchettizzazione dovuta ad un fattore di compressione elevato. Naturalmente gran parte del merito per l alta qualità (soprattutto a risoluzioni elevate) la si deve anche alla capacità di predizione matematica dei vettori di movimento che permette di valutare lo spostamento di una determinata porzione d immagine all interno della scena, come ad esempio una persona che si muove in una stanza. In questo caso il sistema identifica l immagine che si sposta e la muove direttamente nei frame successivi. Il fatto di non dover comprimere quella pozione di immagine per tutti i frame bensì solo all inizio permette di poterla codificare a qualità elevata (mantenendo tutti i particolari) con grande risparmio di spazio e di banda passante. Se durante i vari frame l immagine si modifica (l uomo mentre cammina muove la testa) viene applicato un morphing matematico, dove con morphing si intende una trasformazione graduale di un gruppo di pixel con determinate caratteristiche in un altro gruppo di pixel con caratteristiche differenti. In questo modo il cambiamento in una zona di immagine viene descritto definendo solo l inizio e la fine senza descrivere tutti i passaggi intermedi. H.264 (MPEG4) Il formato video H.264 è un codec video che offre qualità sorprendenti [3] in rapporto ad un data-rate basso e merita un certo approfondimento a seguire in quanto, pur facendo parte della famiglia Mpeg, è di recente realizzazione e implementazione da parte di Apple. Ratificato come parte dello standard MPEG-4 (MPEG-4 Part 10), questa tecnologia ultraefficiente in Quick Time 7 offre ottimi risultati con una varietà di ampiezze di banda: dai dispositivi portatili 3G alle videoconferenze (ichat AV su Tiger), fino all HD in contesto broadcast. H.264 offre una qualità pari allo standard MPEG-2 a un terzo o persino la metà del data rate, con una risoluzione fino a quattro volte superiore a quella supportata dal formato MPEG-4 Part 2 a parità di data rate. H.264 è ora obbligatorio per le specifiche Facoltà di Ingegneria- DIBE

28 Capitolo 1 Introduzione HD-DVD e Blu-ray (i due formati per i DVD ad alta definizione) e ratificato nelle recenti versioni degli standard DVB (Digital Video Broadcasters) e 3GPP (3rd Generation Partnership Project). DIVX e XVID I formati DivX e Xvid sono codec di compressione audio/video [3] nati col preciso scopo di ottenere una qualità discreta con bit-rate molto bassi. Il DivX ebbe origine da una versione "modificata" del codec proprietario Microsoft MPEG4 al quale sono state eliminate delle limitazioni inserite dalla Microsoft ( l'utilizzo solo come formato ASF con alcuni parametri bloccati). La caratteristica fondamentale di tali formati è l'elevato livello di compressione (codec super ottimizzato), la elevatissima efficienza del codec (relativamente brevi tempi di codifica, real time per le macchine più potenti), scalabilità sia in codifica (scelta del miglior livello di compressione), sia di decodifica (le macchine più lente possono vedere ugualmente i filmati rinunciando un pò alla qualità) Come già detto questi file hanno estensione AVI, pur sfruttando la codifica video MPEG, e possono essere riprodotti sul proprio computer soltanto se si è provveduto ad installare i codec DivX o Xvid utilizzati per la codifica o applicazioni ah hoc. I file Divx possono anche essere riprodotti dai recenti lettori DVD da tavolo. Dove il DivX pecca fortemente in qualità è nel video interallacciato (le classiche risoluzioni 704x576, 720x576): la incapacità a gestire l'interallacciamento in maniera efficiente (diversamente da quello che avviene con l'mpeg2) sconsiglia fortemente l'uso del DivX per tali risoluzioni interallacciate: al contrario il DivX si trova "a suo agio" con risoluzioni 704x576 (o 720x576) e video progressivo ( i film DVD) Per l'audio si ricorre all' Mp3 o al DivX audio [3] che non è altro che il codec Microsoft Windows media audio craccato. Come alternativa è possibile utilizzare esattamente lo stesso audio ac3 5.1 del DVD. Riguardo le specifiche è lasciata la totale libertà per il formato video e il bit rate (l'mpeg 4 arriva ad un bit rate pari 6000 Kbit/s e funziona sempre in modalità VBR, bit rate variabile). Facoltà di Ingegneria- DIBE

29 Capitolo 1 Introduzione Le caratteristiche di un DVD (Digital Versatile Disc) Il DVD non è altro che un supporto ottico nel quale possono essere riversati video di qualità cinematografica, audio superiore a quello dei CD e dati informatici; praticamente è come un CD, ma più capiente e veloce. In funzione della differente tecnologia costruttiva esistono enormi differenze fra vari tipi di DVD [3] sia riguardo la capienza dei dati, sia per la tipologia del supporto stesso. Esistono infatti DVD che possono contenere 4.38 GByte, 7.95 GByte (questi primi due sono i più frequenti tra i DVD video), 8.75 GByte e GByte. Bisogna inoltre distinguere tra DVD video (chiamato semplicemente DVD), DVD audio che può contenere audio ad altissima qualità campionato a 96 khz ed oltre, DVD-ROM che contiene dati e che è presente nelle varie versioni registrabili DVD-R, DVD-RW, DVD-RAM, DVD+RW ed infine è da citare anche il SACD (Super Audio Compact Disc). I DVD possono contenere più di due ore di video digitale di qualità professionale (un disco a doppio strato e doppia facciata ne può contenere ovviamente otto ore!). Supportano formato video televisivo normale (4:3) e cinematografico (16: 9). Contengono fino a 8 tracce digitali audio multicanale (5+1 ed anche 6+1) e fino a 32 tracce di sottotitoli. Possibilità di multiangolazione della stessa scena. Menù multilingue interattivi. Ricerca in tempo reale di un qualsiasi punto del film, sia per capitoli, sia per codice temporale. I DVD non vengono influenzati da campi magnetici ed hanno una elevata resistenza al calore. Facoltà di Ingegneria- DIBE

30 Capitolo 2 MPEG 1-2 (tmpeg encoder) 2 MPEG 1-2 (tmpeg encoder) 2.1 Introduzione L'informazione video, nella forma digitale, porta molti vantaggi: affidabilità di trasmissione, alta qualità, notevole flessibilità di applicazioni. Lo svantaggio principale consiste però nel bitrate eccessivamente alto per i mezzi di memorizzazione [4] e per i canali di trasmissione attualmente disponibili. Ad esempio, un segnale televisivo PAL, digitalizzato a 8 bit, richiede un bitrate di quasi 200 Mbit/s, mentre un segnale in alta definizione richiede circa 1 Gbit/s; i mezzi di memorizzazione attualmente disponibili (CD-ROM, DAT) danno invece un bitrate di circa 1.5 Mbit/sec. Per ottenere un bitrate a questi livelli si rende necessaria una compressione dei dati video, sia con perdita d'informazione che senza. Il recente sviluppo delle tecnologie video digitali ha reso possibile l'utilizzo delle tecniche di compressione video nelle telecomunicazioni (teleconferenza, video telefonia, ecc.). Di conseguenza, la standardizzazione delle tecniche di compressione è diventata un problema di principale importanza, poiché soltanto in questo modo è possibile ridurre gli alti costi delle apparecchiature di compressione immagini e risolvere il problema dell'interfacciamento tra apparecchiature realizzate da costruttori diversi, favorendo così la diffusione di questo tipo di dati. La definizione di un efficace algoritmo di compressione per sequenze video permette infatti di ridurre la mole di dati originaria a valori ragionevoli, che sono più facilmente gestibili dagli attuali mezzi di trasmissione e di memorizzazione. Per questi motivi l'iso (International Organization for Standardization) si è assunta il compito di sviluppare uno standard [4] per la memorizzazione di video digitali, e dell'audio ad essi associato, su dispositivi come CD-ROM, DAT, nastri, dischi ottici, ecc. e per la trasmissione di questi video nei vari canali di telecomunicazione (reti ISDN, LAN, MAN, ecc.) ed ha così creato il Moving Pictures Experts Group (MPEG appunto, che fa parte dell'iso-iec/jtc1/sc2/wg11). L'attività dell' MPEG copre la compressione dati video, la compressione dati audio (in quanto ad una sequenza video è generalmente associato dell'audio) ed inoltre si occupa anche della sincronizzazione audio-video

31 Capitolo 2 MPEG 1-2 (tmpeg encoder) Storia MPEG (Moving Picture Experts Group, gruppo di esperti nelle immagini in movimento) è nato nel 1988 come un gruppo di lavoro all'interno dell'iso/iec con l'intento di definire uno standard di compressione [5] di segnali digitali audio-video. L'MPEG1 è formalmente nato nell' agosto del 1993 con la pubblicazione delle specifiche in 3 documenti (ISO/IEC Coding of moving pictures and associated audio for digital storage media at up to about 1,5 Mbit/s ). Fondamentalmente si era realizzato una specie di miracolo: con il bit rate del CD Audio (1,5 Mbit/s = 187,5 KByte/s) si era riusciti a codificare audio compresso di qualità CD e ad aggiungere in più del video caratterizzato da una qualità comparabile a quella della videocassetta (migliore per definizione e pulizia di colori, leggermente in difficoltà nelle scene con più movimento). Se oggi dopo 7 anni, che nel settore dell'informatica sono un' eternità, tale risultato ci può apparire quasi banale, in realtà nasconde un progetto di indiscutibile qualità, nato grazie ai migliori cervelli di matematici e ingegneri. Algoritmi che oggi sono alla base di ogni video digitale, sono nati durante quegli anni: un esempio tra tutti, la 8x8 Discrete Cosine Trasform (DCT), usata oggi nel DVD, DV, Jpeg, M-jpeg,...è stata formalizzata (IEEE Std ) il 6 Dicembre Gli ingegneri italiani sono stati di fatto i primi a formalizzare i concetti di ridondanza spaziale e ridondanza temporale (la base della compressione mpeg 1 e 2), progettando una trasmissione in video digitale compresso per i mondiali di calcio del L' MPEG1 è in realtà uno standard implementabile con una infinità di combinazioni e quindi compromessi [5] tra qualità e bit rate: la sua nascita è legata ad una di queste implementazioni, l' ultranoto formato VCD (Video CD). Tale formato nasce, sotto la spinta della Philips, che promuove la produzione di Film Hollywoodiani in VCD e commercia il famoso player CDi, un clamoroso fiasco commerciale. Il VCD riscuote successo solamente nei paesi asiatici: ancora oggi le vendite superano abbondantemente quelle della videocassetta. I motivi dell'insuccesso sono tanti; credo che il principale risiede nella fretta della Philips a commercializzare tale formato che se implementato anche un anno dopo avrebbe potuto

32 Capitolo 2 MPEG 1-2 (tmpeg encoder) usufruire di lettori cd a doppia velocità che con 375KByte/s avrebbero garantito una migliore qualità. La bocciatura degli video amatori, amanti della alta tecnologia, che avevano come riferimento l'analogico Laser disk, ha di fatto bloccato il formato. Ovviamente non tutti i mali vengono per nuocere e, dalle ceneri del VCD è nato il DVD: siamo chiaramente su tutt'altri livelli qualitativi. L'MPEG2 nasce per migliorare la qualità dell'mpeg1, pur mantenendone il 99% delle caratteristiche. L'idea di un nuovo standard nasce nel 1990, a due anni dalla nascita del gruppo MPEG, e 3 anni prima della formalizzazione dell' MPEG1 (1993). Le specifiche sono state completate nel Novembre 1993, approvate come ISO/IEC ,2,3 e 4 l'11 e il 13 novembre 1994 : il testo finale è stato pubblicato nel Ricordo che ISO è l'abbreviazione di International Organisation for Standardisation [5] mentre IEC sta per International Electrotechnical Commission. Le 4 parti della documentazione ISO/IEC trattano rispettivamente la struttura multiplexing dell'mpeg, la parte video, quella audio e le caratteristiche del bitstream da garantire nelle delicate fasi di test. L'MPEG (Moving Picture Experts Group) è una famiglia di formati dedicati alla compressione di dati multimediali. L'obiettivo dei creatori dello standard MPEG era la realizzazione di un formato standard per la codifica dei flussi video e audio. Il gruppo ISO/IEC IS che si è occupato del formato MPEG è nato nel 1988 e da allora [6] ha prodotto diverse versioni dello standard. MPEG-1 Utilizzato nei Video CD è un formato a bassa qualità (analoga al sistema VHS) MPEG-2 Utilizzato nelle trasmissioni satellitari digitali, nei DVD e del digitale terrestre, ecc... Ha una qualità superiore ma richiede per contro una maggior quantità di risorse del MPEG-1 MPEG-3 Inizialmente sviluppato per HDTV in seguito si è scoperto che l'mpeg-2 era sufficiente per HDTV e quindi questo nuovo standard venne abbandonato MPEG-4 Estensione dell'mpeg-1 in grado di gestire flussi audio/video eterogenei, contenuti 3D, flussi video a basso bitrate e in grado di gestire i diritti digitali. Per la codifica video supporta il formato MPEG-2 oppure un nuovo codec molto efficiente chiamato H

33 Capitolo 2 MPEG 1-2 (tmpeg encoder) MPEG-7 Un sistema formale per descrivere i contenuti multimediali MPEG-21 Gruppo nato per sviluppare una piattaforma comune per le future applicazioni multimediali 2.2 Sistemi di codifica video I codificatori video sono in genere classificati in base al fatto d'essere o meno predittivi, oppure per il modo in cui eseguono la compressione dei dati. Nel campo delle comunicazioni video digitali [7] il tipo attualmente più usato è il codificatore ibrido, basato sulla tecnica DPCM (Differential Pulse Code Modulation). Il DPCM è uno schema di codifica di sorgente sviluppato per codificare sorgenti con memoria ed è predittivo, in quanto il frame attuale viene predetto basandosi su quello precedente; si ha quindi un errore di predizione (differenza tra la predizione fatta ed il frame presente) e la caratteristica del DPCM è che la varianza dell'errore di predizione è più piccola della varianza della sorgente. In genere la predizione coincide con una compensazione di moto (Motion Compensation) del frame precedente: nella compensazione di moto viene utilizzato il vettore di moto (Motion Vector) per trovare lo spostamento tra un'immagine e la successiva. Il vettore di moto è una grandezza bidimensionale che ci fornisce, per ogni punto dell'immagine corrente, lo spostamento rispetto a quella di riferimento; tali vettori sono generalmente realizzati sulla base di blocchetti di pixel di dimensione fissa. Sostanzialmente, in questa tecnica si presume che l'immagine attuale possa essere trovata tramite una traslazione di una immagine precedente; le informazioni sul moto saranno parte delle informazioni necessarie alla ricostruzione dell'immagine in decodifica. In questo caso, l'errore di predizione [7] viene detto differenza nello spostamento fra frames (Displaced Frame Difference, DFD); la DFD viene anch'essa codificata, insieme ai vettori di moto. Dopo la compensazione di moto, per ridurre ancor più le dimensioni del filmato digitale, viene effettuata la Trasformata Discreta Coseno (DCT). La DCT è una trasformazione che si adatta particolarmente bene al caso delle immagini, per l'efficienza della compressione ottenibile, per la mancanza di componenti immaginarie nello spettro ottenuto e per la simmetricità dello spettro attorno all'origine. L'immagine viene divisa in blocchi di dimensione fissa (tipicamente blocchi di 8x8 pixels) e la DCT viene effettuata sulla base di

34 Capitolo 2 MPEG 1-2 (tmpeg encoder) tali blocchi. Il vantaggio dell'utilizzo della DCT consiste [7] nel fatto che, per un blocco di un'immagine tipica, l'energia è concentrata alle frequenze più basse; dopo la DCT viene effettuata una quantizzazione e, essendo l'occhio umano meno sensibile alla quantizzazione delle alte frequenze, quest'ultime possono essere quantizzate con un passo più largo, permettendoci così di realizzare una notevole compressione dei dati. In decodifica si utilizza la trasformata inversa IDCT, per passare dai valori quantizzati delle frequenze spaziali ai valori spaziali dei pixels. 2.3 Specifiche per MPEG video Dato che nella commissione ISO di MPEG sono rappresentati vari segmenti di industrie che si occupano del trattamento dell'informazione, il sistema proposto deve includere diverse applicazioni; per questo si dice che MPEG è uno standard generico. Questo significa che lo standard [7] non dipende dalle particolari applicazioni, anche se non ignora le specifiche che ognuna di queste richiede; uno standard generico possiede tutte le caratteristiche che lo rendono universale, ma ciò non significa che queste caratteristiche debbano essere utilizzate allo stesso tempo da ogni applicazione. Le seguenti applicazioni sono alcune di quelle identificate come necessarie per soddisfare le richieste delle applicazioni di MPEG Accesso Casuale Si tratta di una funzione essenziale sia per la memorizzazione su mezzi che permettono l'accesso casuale, come i CD-ROM ed i dischi magnetici, che per la memorizzazione su mezzi ad accesso sequenziale, come i nastri magnetici. L'accesso casuale richiede che i dati video compressi siano accessibili al loro interno [7] e che ogni frame video sia decodificabile in un tempo limitato; questo comporta l'esistenza di punti di accesso, cioè di segmenti di informazione decodificabili in modo autonomo (ad esempio frames video la cui decodifica non richieda le informazioni contenute nei frames precedenti o successivi). L'accesso casuale in circa 0,5 secondi dovrebbe essere possibile senza eccessiva degradazione di qualità Ricerca Veloce Avanti/Indietro

35 Capitolo 2 MPEG 1-2 (tmpeg encoder) Se il mezzo di memorizzazione lo permette, dovrebbe essere possibile la scansione dei dati compressi e, utilizzando punti di accesso appropriati, mostrare immagini selezionate, per ottenere un effetto di riavvolgimento e di avanzamento veloce. Questa caratteristica è una richiesta più restrittiva di accesso casuale, che si adatta bene a mezzi di memorizzazione come i nastri magnetici Riproduzione all'indietro Le applicazioni interattive possono richiedere che il segnale possa essere letto all'indietro. Mentre non è necessario [7] che tutte le applicazioni mantengano alta qualità o che abbiano questa funzione, si considera che la riproduzione all'indietro dovrebbe essere possibile anche senza eccessivo uso di memoria Sincronizzazione Audio/Video Il segnale video dovrebbe poter essere sincronizzato con una sorgente audio associata. Deve essere previsto un meccanismo per ripristinare il sincronismo tra i due segnali se questi provengono da sorgenti con diverse frequenze di clock Montaggio Deve essere possibile costruire unità di montaggio di breve durata, le quali sono codificate solo in riferimento a se stesse, in modo da ottenere un livello accettabile di libertà per il montaggio Robustezza La maggior parte dei mezzi [7] di memorizzazione e dei canali di trasmissione non sono esenti da errori e questo richiede una appropriata codifica di canale in tutte le applicazioni. Allo stesso modo è necessaria una codifica di sorgente abbastanza robusta, in modo da evitare errori che non potranno essere più corretti. 2.4 Funzionamento Gli algoritmi sviluppati dal gruppo MPEG [6] sono tutti algoritmi a perdita di informazione (lossy). La tecnica impiegata è la seguente:

36 Capitolo 2 MPEG 1-2 (tmpeg encoder) Il flusso video viene campionato, viene ridotto a segmenti. Questi segmenti vengono elaborati per estrarne le informazioni fondamentali Le informazioni vengono codificate con degli algoritmi di compressione non a perdita di informazione. Il gruppo di standardizzazione non rilascia delle specifiche su come debba essere realizzato il codificatore o il decodificatore MPEG. Il gruppo rilascia delle specifiche che indicano come debba essere composto il formato del file MPEG in modo che ogni costruttore possa realizzare il codificatore e il decodificatore come meglio crede pur attenendosi al formato del file definito dal consorzio MPEG. 2.5 Metodo di campionamento Il formato predecessore WAV, utilizza una codifica PCM che occupa una notevole quantità di spazio, circa 1.5 Mb/s a 48 khz. Un modo per ridurne l'occupazione è utilizzare meno bit per rappresentare i campioni ma, così facendo il suono riprodotto è di qualità scadente. Una possibile soluzione è rappresentare il segnale nel dominio delle frequenze e poi campionarlo con pochi bit, in questo modo [6]c'è una perdita di fedeltà molto minore. La trasformazione nel dominio delle frequenze viene effettuata da MPEG tramite un banco di filtri che scompone il segnale in 32 sottobande d'uguale ampiezza. In molti hanno criticato questo approccio perché non rispecchia il modello percettivo umano, infatti, gli studi effettuati dimostrano che sarebbe più corretto dividere la banda di frequenze in 26 parti di dimensioni crescenti con andamento di tipo logaritmico. Figura banda critica per il campionamento MPEG Due suoni con frequenza diversa ma all'interno della stessa banda sono percepiti come identici. Il punto di confine fra due bande è chiamato banda critica. Il nostro orecchio è più sensibile alle variazioni in basse frequenze, qui sono sufficienti poche decine di Hertz per farci percepire due suoni come diversi, mentre alle alte frequenze sono necessarie

37 Capitolo 2 MPEG 1-2 (tmpeg encoder) migliaia di Hertz. In difesa della decisione presa da MPEG vi è però la complessità dell'operazione di trasformazione, infatti il numero di operazioni elementari da compiere nel caso di sottobande con larghezza fissa è elevato ma accettabile (alcune migliaia di prodotti e somme), mentre nel caso di sottobande con larghezze diverse [6] la complessità aumenta notevolmente e se in fase di codifica questa può essere trascurata, così non accade in fase di decodifica, fase che deve essere eseguita in tempo reale. Va inoltre ricordato il periodo storico in cui questa scelta è stata effettuata, se oggi un carico di lavoro simile è accettabile per un normale PC così non era alla fine degli anni Ottanta, è dunque probabile che in futuro il modello a sottobande variabili venga implementato. 2.6 Modello Percettivo Elaborare il segnale nel dominio delle frequenze offre anche altri vantaggi. Il nostro orecchio non è uno strumento lineare, cioè non percepisce tutti i suoni e soprattutto non li percepisce tutti nello stesso modo. Da qui l'idea di eliminare tutte quelle componenti frequenziali che non possiamo udire. Questa è ovviamente una tecnica lossy: il suono compresso sarà diverso da quello originale [6] ma i nostri sensi non riusciranno a percepirne la differenza. Si rende quindi necessario uno studio sul modello percettivo, cioè sulla percezione umana del suono. La banda di frequenze udibili va dai 16 Hz fino a 20 khz. Affinché un suono sia percepibile deve essere sufficientemente forte, cioè deve esercitare un livello minimo di pressione sulla membrana del timpano dell'orecchio, tuttavia tale soglia non è costante ma, varia in funzione della frequenza. Figura 2.2 Grafico del suono. In Fig. 2.2 è riportato un grafico qualitativo che mostra quale deve essere la pressione minima che un suono deve avere per poter essere percepito. Nelle ascisse (in scala

38 Capitolo 2 MPEG 1-2 (tmpeg encoder) logaritmica) ci sono le frequenze, mentre nelle ordinate ci sono i livelli di pressione sonora (in db). Tutti i suoni che si trovano nella zona grigia possono essere eliminati. A questo va aggiunto che la percettività del suono non è costante nel tempo, ma varia in funzione di ciò che ascoltiamo. In pratica un tono forte copre i suoni d'intensità minore, non solo ad una determinata frequenza ma anche in quelle vicine, infatti come tutti i sensori, l'orecchio non ha tempi di reazione nulli [6] cioè impiega un certo tempo per adattarsi alle nuove condizioni e soprattutto impiega tempo a tornare in quiete dopo una sollecitazione. Affinché un suono sia percepito è dunque necessario che si mantenga per un certo tempo senza disturbi

39 Capitolo 2 MPEG 1-2 (tmpeg encoder) 2.7 Premessa Prima di iniziare,una banale premessa: l'encoder è il software (Sw) o Hardware (Hw) che partendo da un video (normalmente in formato AVI o Quick Time nel caso degli encoder sw) lo codifica in formato mpeg: viceversa il decoder è il Sw o Hw che partendo da un file in formato mpeg lo trasforma in un filmato visualizzabile: di fatto trasforma il video compresso (mpeg) in video non compresso. L'mpeg è un formato di compressione [5] in cui è lasciata grande libertà nella scelta dei parametri di codifica: i principali riguardano il bit rate video ( in Kbit/s), il tipo di codifica ( a bit rate video costante o variabile) oltre che ovviamente la risoluzione.e' ovvio che a parità di tutti gli altri parametri a maggiore bit rate video corrisponde migliore qualità e ovviamente maggiore spazio occupato.l'mpeg è un formato di compressione a perdita di informazione: anche nel caso di compressioni di qualità il video mpeg è intrinsecamente diverso dal video non compresso; il fine dello standard è quello mascherare il più possibile gli effetti della compressione sfruttando quelli che sono i limiti percettivi dell'utente. Ricordo che 1 KByte/s= (1 Kbit/s) / 8: pertanto un bit rate video es. di 3000 kbit/s = 375 KByte/s per cui un minuto di video occuperà 60 sec * 375KByte/s = Kbyte= MByte (22500/1024), praticamente 30 Mega. ( per passare dai Kbyte ai Mbyte occorre dividere per 1024 e non per 1000; per questo kbyte/ 1024= MB) Solo nel caso di bit rate costante ( tipicamente nel caso di mpeg1 ) è possibile sapere il bit rate video esatto: nei casi di bit rate variabile è solo possibile fare delle stime conoscendo il bit rate video medio. Nel caso è presente pure il l'audio [5] occorre sommare al bitrate video quello audio: I tipici bit rate audio sono: 224kbit/s (mpeg layer II stereo byte/s) 384 o 448 kbit/s per audio ac o 256 kbit/s per audio ac3 Stereo surround

40 Capitolo 2 MPEG 1-2 (tmpeg encoder) 2.8 Immagini e concetti base Sia l'mpeg 1 che 2 ( in seguito vedremo le differenze) considerano un filmato video[5] come una serie di immagini (fotografie) in successione. Tali immagini sono ovviamente digitali, cioè descritte da numeri secondo delle regole semplici e ovviamente formalizzate; di tali immagini occorre definire i seguenti parametri : la dimensione in pixel (size) il rapporto larghezza altezza con cui il video dovrà essere presentato (aspect ratio) il frame rate il formato interallacciato o progressivo con cui tale immagini verranno interpretate (interlaced selezionato sta per interallacciato mentre la non selezione sta per progressivo) il campionamento dei colori (YUV format 4:4:4, 4:2:0, 4:1:1) profile e level Un tipico esempio di finestra per il controllo della codifica video è dato in Fig Figura 2.3 Definizioni delle caratteristiche d immagini

41 Capitolo 2 MPEG 1-2 (tmpeg encoder) Dimensione in pixel: size Ciascuna immagine è digitalizzata cioè trasformata in un insieme di punti per ciascuno dei quali si definisce il colore tramite un numero. Per ogni immagine si devono definire il numero di pixel orizzontali (pixel per riga) e il numero di pixel verticali (il numero di di righe orizzontali). Si parla anche di risoluzione orizzontale e verticale. Una immagine 720*576 ad esempio è formata da 576 righe orizzontali ciascuna formata da 720 punti. Le risoluzioni orizzontali concesse dall'mpeg [5] sono quelle multiple di 16. Le risoluzioni più usate sono: 352*288 tipica dell' XVCD, mpeg1 352*576 usata ad esempio per gli per SVCD mpeg2 non standard 480*576 è lo standard SVCD mpeg2 720*576 usata praticamente da tutti i DVD commerciali Rapporto dimensioni: aspect ratio Consideriamo per esempio un mpeg avente dimensioni 352*576 con provenienza digitalizzazione di un video PAL [5] visualizzato su un tv 4:3 o sul monitor del pc: il decoder prima ricaverà le immagini decodificando i 352*576 pixel da mpeg a video non compresso (successioni di immagini) e poi a secondo dell' aspect ratio (Fig. 2.4) ridimensionerà tale video. Ovviamente la qualità con cui avviene il ridimensionamento dipende dalla qualità del SW o HW di decodifica: ci sono dei filtri che permettono ad esempio l'attenuazione delle seghettature o di discontinuità. Vediamo come un player perfettamente compatibile con lo standard dovrebbe ridimensionare tale video 352*576:

42 Capitolo 2 MPEG 1-2 (tmpeg encoder) Aspect ratio 1:1 VGA Viene mantenuto il video centrandolo nello schermo Aspect ratio 4:3 Display Aspect ratio 16:9 Display Figura 2.4 Tipi di Aspect ratio. Da quanto visto nell'esempio [5] è ovvio che la scelta dell'aspect ratio è legata dal formato del video originale: nel caso appena visto è ovvio che occorre scegliere l'aspect ratio 4:3. Da segnalare che non tutti i decoder mpeg riconoscono l'aspect ratio! Ad esempio l'opzione full screen del Windows Media player 6.4 è in grado di riconoscere tale parametro nel caso

43 Capitolo 2 MPEG 1-2 (tmpeg encoder) di video mpeg 1; al contrario sw quali Windvd2000 o PowerDVD 2.55 non lo riconoscono e pertanto il ridimensionamento del video va fatto manualmente lavorando in finestra Frame rate Indica banalmente il numero di fotogrammi al secondo [5] con cui sarà visualizzati l'mpeg: nel caso di video Pal tale valore è 25 fps (frame al secondo) Interallacciato o progressivo: interlaced L' opzione è valida solo per l'mpeg 2 poichè l'mpeg1 non è in grado di gestire il video interallacciato e pertanto è come se tale opzione fosse sempre disattivata. In breve consideriamo il caso di video Pal 720*576 usato per i DVD (Fig. 2.5) (questo discorso vale per ogni video xxx*576 cioè con risoluzione 576 righe): i 25 frame 720*576 in tutti i casi saranno visualizzati sui normali televisori in maniera interallacciata, visualizzando prima le righe pari, poi le dispari a distanza di 1/50 di secondo. Figura 2.5 Visualizzazione dei frame sui normali televisori in maniera interallacciata Nessun televisore o encoder può sapere cosa quel frame 720*576 in realtà contiene : esistono due possibilità 1) il frame 720*576 contiene al suo interno video interallacciato, cioè due immagini 720*288 provenienti da istanti distanti 1/50 di secondo che sono stati inseriti nelle righe

44 Capitolo 2 MPEG 1-2 (tmpeg encoder) pari e dispari. A tutti gli effetti il video 720*576 25fps lo si può vedere come video 720* semiquadri al secondo. (è quello che poi farà il sw di encoding [5] se è inserita l'opzione interallacciato (interlaced)). Il singolo frame 720*576 contiene le tipiche discontinuità del video interallacciato in corrispondenza dei particolari che nei due istanti si sono mossi. 2) il frame 720*576 contiene al suo interno video progressivo ( è il tipico caso dei film su DVD) in cui il filmato è in realtà la successione di 25 "fotografie" al secondo provenienti da istanti distanti 1/25 di secondo: in tal caso il frame 720*576 non conterrà mai le discontinuità viste poiché deriva dalla " fotografia" di un solo istante e non dalla composizione di due immagini provenienti da istanti successivi. Consideriamo il caso 1 in cui il frame 720*576 contiene al suo interno video interallacciato (Fig 2.6). Figura 2.6 Video interallacciato Non è altro la composizione di due semiquadri. In questo esempio è evidente che nei due istanti successivi (di 1/50 di secondo) c'è un cambio di ripresa che fa si che i due semiquadri sono completamente diversi

45 Capitolo 2 MPEG 1-2 (tmpeg encoder) Figura 2.7 Somma di due semiquadri Se considero ad esempio il frame 2 ( Fig. 2.7 )ho che nei due istanti successivi (di 1/50 di secondo) c'è un leggero movimento dei personaggi [5] che fa si che nel frame 720*576, somma di due semiquadri. Ovviamente i due semiquadri sono tra loro molto simili con piccolissime differenze inseguito entra in gioco l'mpeg che sfrutta fondamentalmente 2 caratteristiche dei filmati video: la ridondanza spaziale e la ridondanza temporale. Frequenze video, ridondanza spaziale e temporale Prima di tutto si deve chiarire il concetto di frequenza video:nel video le basse frequenze corrispondono ai colori uniformi (un cielo sereno senza nubi, il colore di una automobile) mentre le alte frequenze video corrispondono alle immagini frastagliate tipo le foglie di un albero visto da lontano, i quadrettini minuti di una giacca, o i caratteri minuti della pagina di un giornale). Nel momento in cui l'mpeg è una compressione video di tipo " No loseless" (a perdita di informazione), chi ha inventato il formato si è chiesto quale informazione se scartata o

46 Capitolo 2 MPEG 1-2 (tmpeg encoder) memorizzata con maggior approssimazione causa il minor fastidio all'occhio : la risposta è " le alte frequenze video" ( cosa assolutamente non vera per l'audio). Questa maggior attenzione del nostro occhio alle basse frequenze video che se trattate male ci portano ad accorgerci della presenza di artefatti e il fatto che la natura è fondamentalmente continua (i colori uniformi sono molto più frequenti degli oggetti con tantissimi dettagli) hanno fatto sì che l'mpeg ha un migliore riguardo [5] delle basse frequenze video piuttosto che le alte. In termini corretti l'mpeg sfrutta quella che è detta la RIDONDANZA SPAZIALE dell' informazione video che matematicamente si può riassumere "se un pixel in un certo frame ha un certo colore, nei pixel vicini e nello stesso frame, con buona probabilità avrà un colore simile"; basta pensare al colore della maggior parte degli oggetti: dal cielo, al colore di una automobile... al colore del case dei nostri computer. L'altra caratteristica dei video in movimento prontamente sfruttata nell'mpeg è la RIDONDANZA TEMPORALE dell' informazione video "se un pixel in un certo frame ha un certo colore, lo stesso pixel o quelli vicini, nei fotogrammi successivi o precedenti con buona probabilità avranno un colore simile" : basta pensare ad una telecamera fissa che inquadra il volto di una persona mentre parla o alla partita di calcio [5] in cui, nel caso sempre di ripresa fissa, le parti del terreno in cui non c'è nessun giocatore rimangono praticamente identiche tra fotogrammi successivi e viceversa sempre tra fotogrammi successivi ciascun giocatore occuperà pixel vicini. Ritornando al video interallacciato, questo ha la INCREDIBILE CAPACITA' di annullare completamente i due principi fondamentali su cui è basato l'mpeg : le ridondanze spaziali e temporali Il campionamento dei colori (YUV format 4:4:4, 4:2:0, 4:1:1) Profile e Level Tali opzioni sono modificabili solo nel caso di mpeg2, ma per i nostri usi (DVD, SVCD e MiniDVD) occorre semplicemente scegliere YUV format 4:2:0 e Main Profile & Main level. Per quanto riguarda i Profile e Level (Tab. 2.1) questi limitano le tantissime possibilità di formati video in classi precise

47 Capitolo 2 MPEG 1-2 (tmpeg encoder) Level Max frame width (pixels) Max frame height (lines) Max frame rate (Hz) Max bit rate (Mbit/s) Buffer size (bits) Buffer size (Kbyte) Low Main High High Tabella 2.1 Rappresentazione dei vari livelli. Il livello High-1440 è utilizzato nello standard televisivo [5] ad alta definizione (HDTV) formato 4:3, mentre il livello High è pensato per il formato 16:9. Il campionamento dei colori (YUV format) chiarisce come sono attribuiti i colori ai singoli pixel: se nel mondo dei PC si utilizzano i fattori RGB ( rosso, verde e blu) per descrivere il colore di un pixel nel campo del video digitale ci si riferisce a: Y: luminanza ( è la luminosità del pixel) U,V : crominanza (sono due fattori che definiscono il colore) Senza entrare troppo nel dettaglio è banale passare dalla descrizione di un pixel tramite la triade RGB a quella YUV e viceversa. A seguito delle limitazioni dell'occhio basta 1 byte (= 8 bit = valore numerico compreso tra 0-255) per descrivere il singolo fattore R,G,B,Y,U,V e pertanto occorrono 3 bit = 24 bit per descrivere il colore di un pixel. Nel momento in cui invece di descriverei colori di un singolo pixel [5] si sceglie di descrivere quelli di un gruppo di pixel ci sono le tipiche descrizioni YUV 4:4:4, 4:2:2, 4:2:0, 4:1:1. Ci si riferisce a gruppi di 4 pixel

48 Capitolo 2 MPEG 1-2 (tmpeg encoder) Osserviamo solamente l YUV 4:2:0 ( chiamato YV12 in ambito Windows Direct Draw)perché é il formato che si utilizza per l'mpeg 1 e 2. Per descrivere il colore di un gruppo di 4 pixel ( due in orizzontale e due in verticale) si utilizzano 6 byte: ciascun pixel ha il suo valore di luminosità Y mentre i 4 pixel hanno lo stesso colore U e V. U12 è in generale la media dei singoli valori U1, U2, U3, U4 del caso 4:4:4: U=(U1+U2+U3+U4)/4. Analogamente V = (V1+V2+V3+V4)/4 Facendo un pò di calcoli [5] si ha che ogni pixel è descritto in media da 1,5 byte=12 bit ( 6 byte totali/ 4 pixel, Fig. 2.8 ) con un risparmio rispetto al caso 4:4:4 del 50% (12/24=0.5= 50%) pixel 1 pixel 2 pixel 3 pixel 4 Figura pixel I quattro pixel sono descritti dai 6 Byte Y1, Y2, Y3, Y4, U, V (Fig. 2.9) Y1 Y2 Y3 Y4 U V Figura 2.9 Byte Y1, Y2, Y3, Y4, U, V Una immagine 720*576 occupa byte la metà rispetto al caso 4:4:4. Per convincervi di quanto tale risparmio non influisce sulla qualità, basta dare una occhiata ai film in DVD: il motivo è che 4 pixel su un frame di 720*576 pixel occupano una porzione piccolissima: solo ingrandendola è possibile accorgersi della carenza di informazione di colore

49 Capitolo 2 MPEG 1-2 (tmpeg encoder) 2.9 Intra frame, Macroblocchi, DCT Vediamo in dettaglio come l'mpeg sfrutta la ridondanza spaziale e temporale presente in un video. L'mpeg suddivide i fotogrammi di un video in 2 tipi: i fotogrammi di tipo I ( gli Intra frame) che sono codificati dall'encoder e decodificati dal decoder in maniera autonoma, cioè indipendente da fotogrammi successivi o precedenti. Per tale motivo [5] i frame di tipo I non sfruttano la ridondanza temporale ma solo quella spaziale Il secondo tipo di fotogrammi sono quelli di tipo P (Predictive frame) e di tipo B (Bidirectionally-predictive frame ) che contengono informazioni relative alla differenza tra l'iesimo frame e frame successivi o precedenti: sono frame che sfruttano la ridondanza temporale del video, cioè il fatto che fotogrammi vicini hanno spesso molta informazione video comune.la maniera con cui i frame I,P,B sono disposti prende il nome di GOP sequence dove GOP sta per 'Group of Pictures'. Normalmente il GOP lo si sceglie "IBBPBBPBBPBB" Frame di tipo I Consideriamo i fotogrammi di tipo I ( gli Intra frame ): per avere una analogia la loro compressione è molto simile a quella del formato jpeg, mjpeg o DV sia a livello di principio che come implementazione. In pratica si deve sfruttare la ridondanza spaziale dell'immagine [5] ("se un pixel in un certo frame ha un certo colore, nei pixel vicini e nello stesso frame, con buona probabilità avrà un colore simile"). Tale ridondanza la si elimina lasciando praticamente il più possibile inalterate le basse frequenze video ( colori più o meno uniformi) e approssimando invece le alte frequenze video (frastagliature, discontinuità). Nella pratica lo si fa in due maniere: 1) decidendo numericamente come le diverse frequenze video debbano essere trattate : trattare bene una frequenza video significa memorizzarla praticamente come nell'immagine non compressa, trattarla male significa approssimarla o addirittura trascurarla. Tale decisione la si fa tramite le matrici di quantizzazione e nel caso in esame nella Intra matrix

50 Capitolo 2 MPEG 1-2 (tmpeg encoder) 2) scegliendo che percentuale di compressione applicare all'intero I frame: ciò ovviamente dipende dal bit rate video [5] che si è scelto e dalla percentuale di tale bit rate che l'encoder assegna agli I frame. Ovviamente l'encoder decide questa percentuale in base al numero di I frame presenti nel video, numero che dipende dal GOP: nel caso del tipico GOP "IBBPBBPBBPBB" ovviamente assegnerà meno bit rate agli I frame rispetto ad un GOP IBPBI in cui gli I frame sono molto più frequenti. Nella pratica l'utente decide la GOP sequenze e il bit rate video ( es. il tipico valore medio di 5000Kbit/s per un buon 720*576) e l'encoder assegna una percentuale di tale bit rate all' I frame e lo comprime. Ovviamente maggiore e' il bit rate video, minore sarà la compressione e migliore sarà la qualità del video a parità di tutti gli altri parametri. E' fondamentale che gli I frame dopo la compressione abbiano la migliore qualità possibile poiché tutti i P frame altro non fanno che cercare delle differenze dell'ennesimo frame con il frame I (i frame B lo fanno direttamente con gli I o indirettamente con i P): un errore sulla compressione dell'i frame determina una reazione a catena di errori nei frame successivi, fino all'i frame seguente. Per questo motivo i frame I sono quelli meno compressi (ad esempio un frame 4:2:0 720*576 che non compresso occupa Kbyte nel caso di una buona compressione mpeg2 occupa in media dai 70 ai 100 KByte con una compressione tipica di che va da 1:6 1:9 che è la tipica compressione Jpeg o mjpeg usata rispettivamente con le immagini ferme o video). Sempre a causa dell'importanza della codifica degli I frame tmpeg come tutti i migliori encoder mpeg [5], ha la possibilità di svincolare la scelta degli I frame dall'ordine imposto dai GOP, ma liberamente tmpeg inserisce un I frame nei punti più indicati, che sono i cambi scena. Il motivo è ovvio: in un cambio di scena è inutile cercare legami con le immagini passate, ma si fissa un I frame e i fotogrammi successivi potranno calcolarsi con migliori esiti le differenze con tale frame. Tmpeg offre addirittura la possibilità di inserire manualmente gli I frame (oltre che i B e P): per i più curiosi lo si fa in Configuration/Gop structure/force frame types/configure. Click sinistro sul fotogramma per settare gli I frame e destro per settare gli altri. Cliccando

51 Capitolo 2 MPEG 1-2 (tmpeg encoder) su auto-set la scelta degli I frame verrà fatta automaticamente. Per la codifica occorre impostare in Video/Rate control Mode Manual VBR (MVBR): ottimo per studiare a fondo come funzionano gli mpeg. Per capire come l'encoder procede nella compressione degli I frame occorre riferirsi alla DCT (Discrete Cosine Trasform) che è l'algoritmo matematico che permette la trasformazione di un blocco di 8*8 pixel dell'immagine ad un insieme di 8*8 numeri (coefficienti DCT) che descrivono il contenuto di frequenza ( alte e basse) di tale blocco.se i pixel sono ciò che appare ai nostri occhi, il contenuto in frequenza descrive come variano tali pixel all'interno del blocco. La DCT (Discrete Cosine Trasform) è utilizzata dall'encoder [5] mentre il Decoder utilizzerà la IDCT che è la trasformata DCT inversa che fa esattamente il contrario ( passa dal contenuto di frequenza al bitmap 8*8). L'MPEG per comprimere i singoli fotogrammi suddivide l'immagine in blocchi di 16*16 pixel che a causa del formato colore 4:2:0 corrispondono a 6 blocchetti 8*8 pixel, 4 blocchi di luminanza e 2 di crominanza contenenti valori numerici (0-255) relativi alla luminanza Y o crominanza UV (Fig. 2.10). dove ogni blocchetto Y1 è un insieme di 8*8 pixel Figura 2.10 Suddivisione dell immagine in blocchi con formato 4:2:0. Ciascun insieme di 16*16 pixel prende il nome di macroblocco.un frame 720*576 contiene pertanto 1620 macroblocchi di 16*16 pixel disposti come una matrice 45*36 (Fig. 2.11)

52 Capitolo 2 MPEG 1-2 (tmpeg encoder) Macr 1 Macr 2... Macr45 Macr Ma1620 Figura 2.11 Frame 720*576 contenente 1620 macroblocchi (denotato Macr in figura). Ciascuno dei 1620 macroblocchi del singolo I frame è in realtà fatto da 6 blocchi 8*8 pixel ciascuno caratterizzato dai valori di colore e luminosità dei rispettivi pixel: pertanto l'encoder considera i 9720 (1620*6) blocchi per ciascuno dei quali cerca di eliminare la ridondanza spaziale [5] cercando il più possibile di approssimare le informazioni di alta frequenza a cui la nostra vista è meno sensibile. Qui entrano in ballo le Matrici di quantizzazione. Per ciascuno dei 9720 blocchi l'encoder esegue la DCT che trasforma gli 8*8 pixel nel loro contenuto nel campo delle frequenze. In pratica si crea una nuova matrice di 8*8 valori detti COEFFICIENTI DCT in cui in alto a sinistra ci sono le basse frequenze e in basso a destra le alte frequenze ( che dovranno essere il più possibile scartate) Matrici di quantizzazione A questo punto per risparmiare bit preziosi devo "trattare bene" le basse frequenze video e male le alte! Trattare bene una frequenza video [5] significa memorizzarla esattamente come nell'immagine non compressa, trattarla male significa approssimarla o addirittura trascurarla. Tale decisione la si fa realizzando una quantizzazione tramite le matrici di quantizzazione. Un variabile non quantizzata è quella che può assumere tutti i suoi possibili valori : nel caso della singola frequenza video ciascuna frequenza può assumere i valori 0,1,2,4,5,6,

53 Capitolo 2 MPEG 1-2 (tmpeg encoder) Una variabile quantizzata è quella che può assumere solo alcuni possibili valori: es. solo i multipli di dieci 0,10,20,30, Maggiore è la quantizzazione che applico, minore è il numero dei valori che quella variabile può assumere. Per decidere quanto quantizzare ciascuno dei 64 coefficienti DCT si ricorre alla matrice di quantizzazione (Fig.2.12). Figura 2.12 Matrice di quantizzazione. I numeri che si trovano indicano la entità di quantizzazione del relativo coefficiente: maggiore è tale numero, maggiore sarà la quantizzazione di quel coefficiente DCT e con maggiore approssimazione sarà memorizzato tale coefficiente. Non a caso [5] i valori di quantizzazione in alto a sinistra sono piccoli (sono le basse frequenze, che corrispondono ai colori uniformi che dovranno essere memorizzati con accuratezza cioè quantizzati il meno possibile) e al contrario i valori di quantizzazione in basso a destra sono grossi (sono le alte frequenze, ossia le frastagliature che potranno essere memorizzate con minore accuratezza cioè quantizzati maggiormente)

54 Capitolo 2 MPEG 1-2 (tmpeg encoder) Frequenze (coefficienti DCT)h > diviso- -> g = Risultato della quantizzazione:h frequenze quantizzate g g G Figura 2.13 Operazione di divisione per ottenere frequenze quantizzate I due casi estremi sono : angolo in alto a sinistra (il valor medio) in cui ho 8: significa che tale coefficiente potrà assumere solo i valori multipli di 8 (ho in tutto 32 valori possibili: 0,8,12,24,32,40,..240,248). angolo in basso a destra (componente alla massima frequenza) in cui ho 83: significa che tale coefficiente potrà assumere solo i valori multipli di 83 (ho in tutto 4 possibili valori possibili: 0,83,166,249) : qualsiasi altra sfumatura sarà approssimata al numero più vicino tra i 4 possibili valori; QUALSIASI VALORE ASSUNTO MINORE DI 42 (83/2) sarà approssimato con l o 0, cioè tale frequenza se non supera tale soglia è considerata come se non presente. Quindi l'encoder [5] altro non fa che dividere ciascun valore della matrice dei coefficienti DCT per i corrispondenti della matrice di quantizzazione e memorizzare la parte intera del quoziente ( al limite arrotondata al valore più prossimo) (Fig. 2.13). La nuova matrice delle frequenze quantizzate grazie alla enorme presenza di zeri e al particolare ordine dei sui valori, viene memorizzata nel flusso mpeg con pochissimi bit : si sfruttano tecniche matematiche loseless, senza perdita di informazione che sfruttano "l'entropia della sorgente" ovvero il grado di disordine dei coefficienti. I coefficienti

55 Capitolo 2 MPEG 1-2 (tmpeg encoder) quantizzati vengono riordinati secondo un percorso a zig-zag,in modo da sistemare le componenti ad alta frequenza dopo quelle a frequenza più bassa. Ovviamente il decoder (player mpeg) farà la operazione diversa: ricava la matrice delle frequenze quantizzate, la moltiplica per la intra block matrix e tramite la IDCT [5] ricava il blocchetto di 8*8 pixel: per quanto detto prima sia l'encoder che il decoder per un singolo I frame 720*576 devono fare le operazioni viste ben 9720 volte (1620macroblocchi * 6 ); per i B e P frame la cosa si complica di molto!.tale processo di quantizzazione produce, come ovvio, un deterioramento della qualità dell'immagine che il player visualizzerà Ridondanza temporale e compensazione del moto Tutti i discorsi fatti fino ad ora, sono relativi alla compressione dei singoli fotogrammi, indipendentemente dal fatto che sono parte di un filmato e che pertanto ci sono delle chiare similitudini tra frame successivi. Voglio osservare come quanto visto per gli I frame è perfettamente analogo alle note compressioni jpeg ( per le immagini), Mjpeg per i video in movimento e DV: le differenze tra questi formati sono veramente minime: tutti utilizzano la DCT e le matrici di quantizzazione: ciò che cambia è la "grammatica", come sono impacchettati i dati e altri piccoli particolari : ad esempio il jpeg per le immagini prevede maggiori tipi di spazio colore primo tra tutti il formato RGB usato normalmente per le immagini su PC. La più importante differenza tra la Mjpeg e il DV è che quest'ultimo può scegliere il livello globale di quantizzazione per ogni macroblocco, mentre nell' Mjpeg il codec lo sceglie una volta per tutte all'interno del singolo frame e vale per ogni blocco del frame. L'effetto è una minore ottimizzazione del Mjpeg rispetto al DV in tutte quelle immagini che sono composte in parte da una zone con sfondi uniformi ( maggiormente comprimibili) e in parte da zone ricche di particolari ( alte frequenze ): in tal caso [5] se l'encoder sceglie un livello globale di quantizzazione molto elevato (alta compressione), soddisferà le zone uniformi, creerà un bit rate basso ma causerà artefatti nelle zone con più dettagli: al contrario se sceglie un basso livello di quantizzazione (scarsa compressione ) si otterrà una buona qualità nelle zone a maggior dettaglio, ma una scarsa ottimizzazione per le zone uniformi in cui si sarebbe potuto tranquillamente comprimere di più. Con il DV e l'mpeg è

56 Capitolo 2 MPEG 1-2 (tmpeg encoder) possibile scegliere in livello diverso di quantizzazione ( e quindi di compressione) per ogni blocchetto di pixel 16*16. L'mpeg ( ad eccezione della versione a soli I frame), sfrutta anche la ridondanza temporale del video: "se un pixel in un certo frame ha un certo colore, lo stesso pixel o quelli vicini, nei fotogrammi successivi o precedenti con buona probabilità avranno un colore simile". Lo fa alternando agli I frame (che sono codificati dall'encoder e decodificati dal decoder in maniera autonoma, poiché indipendenti da fotogrammi successivi o precedenti) dei frame di tipo P e B che contengono informazioni relative alla differenza tra l'i-mo frame e frame successivi o precedenti. Per questo motivo [5] un P o B frame non potrà mai essere decodificato autonomamente ma occorrerà avere in memoria uno o più frame precedenti o successivi: per il montaggio video pertanto si preferisce utilizzare formati diversi quali il DV, Mjpeg o l'mpeg I frame grazie ad una loro più semplice implementazione.. Vediamo di capire come sono implementati i fotogrammi di tipo P (Predictive frame) e di tipo B (Bidirectionally-predictive frame ). Vediamo come funzionano i P frame. Consideriamo ad esempio il caso di un mpeg avente GOP di tipo IPIPIPIP Il primo frame è considerato un I frame, il secondo P frame e così per gli altri fotogrammi (Fig. 2.14). frame 1 frame 2 frame 3 frame 4 frame 5 I P I P I Analizziamo come l'encoder comprime i primi due frame: per i successivi il metodo è identico. Considero ad esempio i seguenti 2 fotogrammi: Figura 2.14 Confronto tra frame e frame Il frame 1 è un I frame ed è compresso come visto nei seguenti passi: Il frame è diviso in macroblocchi 16*16 pixel ( 1620 nel caso di frame 720*576)

57 Capitolo 2 MPEG 1-2 (tmpeg encoder) Ciascun macroblocco produce 6 blocchi 8*8 pixel ( 4 di luminanza e 2 di crominanza)(1620*6=9720 nel caso di frame 720*576). Per ciascun blocco 8*8 viene fatta la DCT: fino a questo momento nessuna informazione è persa e non si è ancora guadagnato un solo bit. Finalmente si comprime guadagnando bit preziosi grazie alla quantizzazione (che deteriora la qualità ) e al risparmio "matematico" dovuto all'entropia, il tutto per ciascuno dei 9720 blocchi. Il frame 2 è un P frame: per tali frame [5] e per i frame B si utilizza la compensazione del moto detta anche predizione inter frame ( in inglese Motion-compensated inter-frame prediction ). Consideriamo il P frame. Il principio è semplice: l'encoder per ciascuno dei macroblocchi di 16*16 pixel del P frame va a cercare nel frame I precedente (o se non lo trova nel frame P precedente) un blocchetto di 16*16 pixel il più possibile simile al macroblocco che si sta cercando di codificare. Una volta trovato si calcola la differenza tra se stesso e il blocchetto individuato nel frame I precedente e viene memorizzata tale differenza sempre come matrice di 16*16 pixel. Con tale nuovo blocco si procede esattamente come per un macroblocco visto per gli I frame (creazione dei 6 blocchi 8*8, DCT, quantizzazione e codifica matematica ). Tale processo molto dispendioso in termine di calcoli, produce se ben implementato un grande vantaggio: la matrice 16*16 pixel ricavata dalla differenza del macroblocco da codificare con un blocco preso dal frame precedente ha il vantaggio di avere spesso un contenuto di alte frequenze molto basso e pertanto per quanto visto può essere compresso pesantemente ( con una elevata quantizzazione) senza grosse perdite qualitative. Riprendiamo l'esempio (Fig. 2.14): Consideriamo come comprimere il frame 2, avendo in memoria il frame 1 senza il quale non è possibile fare nessun tipo di codifica intra frame. Ricordo come già visto [5] che i macroblocchi di ciascun frame sono fissi e sono quelli aventi coordinate multiple di 16; nel frame 720*576 (come in Fig. 2.11)

58 Capitolo 2 MPEG 1-2 (tmpeg encoder) Ciascun macroblocco contiene 16*16 pixel. Figura 2.15 Frame 1 tipo I, Frame 2 tipo P Consideriamo il primo Macroblocco di 16*16 pixel del frame 2 (in alto a sinistra Fig. 2.15). L'encoder cerca nel frame I precedente (frame1) il blocchetto di 16*16 pixel che sia il più simile possibile al macroblocco attuale che si vuole comprimere. Nel caso dell'esempio la cosa è semplice, poiché è esattamente quello che ha le stesse coordinate. Poi l'encoder calcola la differenza tra i due blocchi [5] che essendo uguali produce una matrice 16*16 fatta da tutti zeri (visivamente è un blocco 16*16 pixel tutto nero). Di tale matrice differenza viene calcolata la DCT che essendo a valori tutti più o meno uguali (basse frequenze) produce coefficienti tutti concentrati in alto a sinistra che possono pertanto essere compressi molto bene risparmiando preziosi bit. Nel caso del macroblocco del frame 2 il blocco più simile è presente nel frame 1 leggermente più in alto e a sinistra (come indica la freccia) La differenza tra i due produce un nuovo blocchetto che come si vede è nero (=0) dove i due blocchi sono uguali e sempre più chiaro dove ci sono differenze. L'encoder deve fare di tale blocco la DCT e poi comprimere quantizzando i coefficienti. Sia il blocco dopo la compressione

59 Capitolo 2 MPEG 1-2 (tmpeg encoder) (molto approssimato rispetto a quello non compresso e pertanto caratterizzato da colori sfumati). E' possibile comprimere maggiormente tale differenza [5] senza eccessivi peggioramenti del risultato finale poiché gli errori prodotti dalla quantizzazione sono sempre relativi alle differenze tra i blocchi e non ai blocchi presi singolarmente. Inoltre spesso le alte frequenze del blocco delle differenze contengono molto rumore video che può essere tranquillamente scartato. Il player (decoder) deve procedere esattamente all'inverso: parte dal blocco che è presente nel frame1 lo somma al blocco delle differenze e ricava un blocco che sarà sicuramente molto simile all'originale non compresso. Nel nostro esempio tutti gli errori relativi al blocco delle differenze creeranno solo una leggera sfumatura in corrispondenza dei contorni del disco azzurro e del righino bianco. Vediamo brevemente la terminologia usata nell'mpeg: La ricerca dei blocchetti 16*16 più simili al macroblocco corrente ( quello da codificare) la si definisce normalmente [5] stima del movimento o compensazione del moto o predizione inter frame ( in inglese Motion-compensated inter-frame prediction ) o predizione dei macroblocchi (macroblock prediction). La posizione del blocco da cui calcolare la differenza viene descritta dal vettore di movimento: il vettore es.(x,y)=(-3,5) comunica che il blocco del passato da cui calcolare la differenza si trova 3 pixel a sinistra (-3) e 5 pixel in basso (+5) Motion search accuracy In tmpeg il parametro che quantifica la qualità della compensazione del moto, e quindi il tempo impiegato per tale preziosa operazione è "motion search accuracy". In tmpeg b12a ci sono 5 possibilità : ecco un esempio delle velocità di compressione con PII 400 per mpeg1 XVCD 352*288 (ovviamente i tempi a parità di parametri dipendono linearmente

60 Capitolo 2 MPEG 1-2 (tmpeg encoder) dalla potenza della CPU e sono anche condizionati dal tipo di video: la Tab. 2.2 da solo una idea dei tempi ottenibili ) Motion search accuracy Fotogrammi al secondo Tempi rispetto alla normale qualità Highest qualità (la codifica più lenta) % (X 4.43) High qualità % (X 1.70) Normal qualità 5.8 0% Lo west qualità % (X 0.77) Low qiality (la codifica più veloce) 8-28% (X 0.72) Tabella 2.2 Motion search accuracy. In pratica un video che per essere compresso richiede 1 ora in normal quality richiede 4.43 ore in hightest quality e 0.72 ore=43 minuti in low quality. Ovviamente il miglioramento della qualità è evidente in maniera chiara solo nelle scene dinamiche in cui a causa dell'elevato movimento la compensazione del moto diventa fondamentale: nelle scene più statiche la differenza è spesso inavvertibile. Una cattiva stima del moto al contrario produce degli artefatti che appaiono come blocchetti 8*8 e 16*16 pixel presenti nei punti con maggiore movimento. Chiaramente [5] se si imposta un bit rate troppo basso o se il video è molto rumoroso (il tipico segnale tv proveniente da una cattiva ricezione) gli algoritmi di compensazione per quanto ottimizzati non possono fare miracoli. Ritorniamo alla Fig 2.15 Per quanto detto, si potrebbe erroneamente pensare che per ciascuno dei macroblocchi del frame 2 di tipo P occorre trovare nel frame 1 il blocchetto più simile e associare il vettore di movimento e il blocco delle differenze: in realtà ciascuno dei macroblocchi di un P frame può essere compresso ( e quindi memorizzato) secondo uno di queste possibili alternative:

61 Capitolo 2 MPEG 1-2 (tmpeg encoder) o Intra coded Block : il macroblocco è compresso esattamente come un macroblocco di un I frame, ovvero senza l'utilizzo dei vettori di movimento e del blocco delle differenze. Tali blocchi [5]sono molto comodi quando il sw si accorge che il blocco in esame ha un contenuto frequenziale ( coefficienti DCT) molto più facile da comprimere rispetto ad un blocco differenza. o Forward Predicted Block (FP) E' il caso che abbiamo esaminato: ricerca del macroblocco più simile che è memorizzato tramite il vettore di movimento, calcolo e compressione del blocco delle differenze (Prediction Error block). o Not coded Block. E' il caso in cui il blocco delle differenze è nullo e pertanto il blocco è descritto unicamente dal vettore di movimento: il decoder copia semplicemente il blocco 16*16 del frame I precedente indicato dal vettore di movimento, nella posizione occupata dal macroblocco così codificato. o Skipped Block. E' il caso in cui si comunica al decoder di lasciare il blocco esattamente come era nel fotogramma precedente. Serve tutte le volte in cui tra i due frame successivi (I e P) ci sono blocchi che rimangono invariati. Nel caso dell'mpeg2 ci sono altre possibilità nel momento in cui è possibile gestire il video nella modalità interallacciata: esattamente come per gli I frame è possibile fare le predizioni e la compensazione del moto riferendosi al frame visto come composto da due semiquadri; in tal caso per ciascun macroblocco occorre fare la predizione del moto per 2 blocchi di dimensioni 16*8 a ciascuno dei quali [5] si associa un vettore di movimento: a secondo che si punta al semiquadro delle righe pari o a quello delle righe dispari si parla di Forward top field Block o Forward Bottom field Block. Un accenno al parametro "half pel - motion" che viene spesso inserito negli encoder. Per capirne il significato ritorniamo all'esempio di prima con il macroblocco che contiene il disco blu. La compensazione del moto è stata fatta identificando il blocchetto 16*16 del frame 1 come il più simile, e tale blocco è identificato dal vettore di movimento (x,y)=(-21,-5) : l'encoder calcola la differenza e ottiene il Prediction Error block (Fig. 2.16)

62 Capitolo 2 MPEG 1-2 (tmpeg encoder) - = Forward Predicted Block (FP) - Motion Compensated Prediction block = Prediction Error block Figura 2.16 Calcolo dell encoder per ottenere il Prediction Error block. Osservo come il Prediction Error block (che ricordo è prodotto facendo bit a bit la differenza dei due blocchi 16*16) contiene un cerchio verde che deriva dal fatto [5] che il cerchio non è centrato nella stessa maniera nei due blocchi da cui si è calcolata la differenza. Ritornando alla stima del moto, infatti il bordino verde del blocco differenza deriva dal fatto che il cerchio blu non è mai perfettamente centrato all'interno dei pixel e "lascia" in corrispondenza dei pixel che rappresentano i bordi una quantità di blu che dipende dalla sua esatta posizione. Pertanto il cerchio blu sarà centrato diversamente nei 2 blocchi 16*16 da cui calcolo la differenza e il risultato del Prediction Error block. Per la compensazione del moto l'mpeg prevede la compensazione half pel (half pel block prediction : pel è l'abbreviazione di pixel ): in pratica dopo aver trovato il potenziale blocco da cui calcolare la differenza (il MCP, Motion Compensated Prediction block) l'encoder prova a vedere se si ottiene una migliore differenza sottraendo non tale MCP ma un blocco 8*8 di pixel ottenuto matematicamente facendo la media (interpolazione lineare) tra l'mcp e un blocco a lui adiacente ma spostato di un pixel. Il problema della compensazione half pel è che nel caso di sfondi fissi [5] un rumore video quale ad esempio la grana della pellicola può indurre in errore l'encoder: l'effetto è un tremolio delle parti delle immagini che in realtà dovrebbero essere fisse. In tmpeg encoder è possibile eliminare tale rischio selezionando l'apposita opzione presente in configure /quantizer matrices. L'encoder nei casi in cui le scene sono statiche (vettori di movimento che tendono a 0) disabilita la compensazione half pel

63 Capitolo 2 MPEG 1-2 (tmpeg encoder) L'opzione " Use floating point DCT " utilizza i numeri a virgola mobile al posto degli interi per il calcolo della DCT [5], con un aggravio dei tempi di calcolo nel momento in cui lasciando deselezionata tale opzione, grazie ad ottimizzazioni del codice ( linguaggio macchina, istruzioni MMX, SSE,...) per tale operazione viene sfruttata al 100% la reale velocità di calcolo delle CPU. I vantaggi dell'uso della floating point DCT sono solo teorici e inseriti, di fatto, solo a scopo di test. Per adesso abbiamo analizzato solo le strutture ( GOP sequence ) del tipo MPEG I frame (IIII...) e il caso semplice IPIPIP in cui si alternano I frame e P frame. In realtà è possibile scegliere altre combinazioni in tmpeg tramite configure/gop structure. Consideriamo il caso in cui non ci sono B frame e cioè GOP B frame count = 0; sia inoltre GOP I frame count = 1. Il GOP P frame count descrive quanti P frame ci sono tra due I successivi (Tab. 2.3) GOP P frame count GOP Seccessione di frame 1 IP IPIPIPIP... 2 IPP IPPIPPIPPIPP... 3 IPPP IPPPIPPPIPPPIPPI... Tabella 2.3 GOP P frame count. Il principio di funzionamento [5] è che i Forward Predicted Block (FP) presenti nei P frame si riferiranno per il calcolo delle differenze ai blocchi simili (Motion Compensated Prediction) presenti nel frame I o P precedente più vicino

64 Capitolo 2 MPEG 1-2 (tmpeg encoder) Banalmente [5] nel caso di IPIPI...(Tab 2.4) frame 1 frame 2 frame 3 frame 4.. I P I P.. Tabella 2.4 Succesione di frame IPIPIPI. i macroblocchi del frame 1 sono tutti codificati come Intra frame, i macroblocchi del frame 2 cercheranno i blocchi simili nel frame 1 (I), i macroblocchi del frame 3 sono tutti codificati come Intra frame, i macroblocchi del frame 4 cercheranno i blocchi simili nel frame 3 (I),... Nel caso di IPPIPPI...(Tab 2.5) frame 1 frame 2 frame 3 frame 4 frame 5 frame 6 I P P I P P Tabella 2.5 Successione di frame IPPIPPI i macroblocchi del frame 1 sono tutti codificati come Intra frame, i macroblocchi del frame 2 cercheranno i blocchi simili nel frame 1 (I) i macroblocchi del frame 3 cercheranno i blocchi simili nel frame 2 (P) i macroblocchi del frame 4 sono tutti codificati come Intra frame i macroblocchi del frame 5 cercheranno i blocchi simili nel frame 4 (I) i macroblocchi del frame 6 cercheranno i blocchi simili nel frame 5 (P)

65 Capitolo 2 MPEG 1-2 (tmpeg encoder) B frame I B frame nascono dall'esigenza di codificare i macroblocchi come differenza o con i blocchi presenti nel frame I o P precedente o con i blocchi presenti nel frame I o P seguente. I macroblocchi codificati come differenza dal frame (I o P) precedente [5] prendono il nome di Forward Predicted Block (FP) così di come per i P; i macroblocchi codificati come differenza dal frame (I o P) seguente prendono il nome di Backward Predicted Block (BP) La prima ragionevole considerazione da fare occorrerà fornire all'encoder e al decoder alcuni frame temporalmente successivi per permettere la compressione o la decodifica dei B frame. Consideriamo il caso utilizzato nella gran parte delle codifiche mpeg in cui si cerca la migliore compressione e qualità possibili: è la famosa successione IBBPBBPBBPBBI (Tab. 2.6) Appunto f = frame, ma = macroblocco f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 I B B P B B P B B P B B I Tabella 2.6 Successione di frame IBBPBBPBBPBBI. i ma del f 1 sono tutti codificati come Intra f, i ma del f 2 cercheranno i blocchi simili nel f 1 (I) e nel f 4 (P) i ma del f 3 cercheranno i blocchi simili nel f 1 (I) e nel f 4 (P) i ma del f 4 cercheranno i blocchi simili nel f 1 (I) i ma del f 5 cercheranno i blocchi simili nel f 4 (P) e nel f 7 (P) i ma del f 6 cercheranno i blocchi simili nel f 4 (P) e nel f 7 (P) i ma del f 7 cercheranno i blocchi simili nel f 4 (P) i ma del f 8 cercheranno i blocchi simili nel f 7 (P) e nel f 10 (P)

66 Capitolo 2 MPEG 1-2 (tmpeg encoder) i ma del f 9 cercheranno i blocchi simili nel f 7 (P) e nel f 10 (P) i ma del f 10 cercheranno i blocchi simili nel f 7 (P)... Ecco uno schema grafico (Fig 2.17): Figura 2.17 Spostamento dei frame. E' evidente come l'encoder e il decoder debbano processare i frame in un ordine diverso: ovviamente ciò viene fatto automaticamente dai sw [5] senza bisogno di alcun intervento nei parametri. L'ordine è il seguente (Tab 2.7): I P B B P B B P B B I B B Tabella 2.7 Ordine dei frame Il motivo è ovvio: ad esempio l'encoder non può comprimere il frame B 2 se non conosce già il frame 4 da cui potenzialmente può calcolarsi le differenze: per questo occorre prima comprimere il frame 4 (P) e poi il 2 (B); stesso discorso per il player che non può visualizzare il frame 2 se non ha già decompresso il frame 4 (ovviamente il frame 4 verrà poi visualizzato al momento giusto cioè dopo il frame 3) Ritornando ai parametri che determinano il GOP se il GOP P frame count determina quanti P frame ci sono tra due I successivi [5] il GOP B frame count determina quanti B frame ci sono tra 2 frame P e I consecutivi(tab. 2.8). Nel caso I=1 e P=3 (il caso più frequente)

67 Capitolo 2 MPEG 1-2 (tmpeg encoder) GOP B frame count GOP Seccessione di frame 1 IBPBPBPB IBPBPBPB IBPBPBPBI... 2 IBBPBBPBBPBB IBBPBBPBBPBB IBBPBBPBBPBB... 3 IBBBPBBBPBBBPBBB IBBBPBBBPBBBPBBB IBBBPBBBPBBBPBBB... Tabella 2.8 GOP B frame count In realtà per le tipiche applicazioni di compressione che richiedono la migliore qualità possibile, e contemporaneamente elevata compressione ( DVD, XVCD, SVCD...) si utilizza la GOP rappresentata in figura :I=1 P=3 B=2 IBBPBBPBBPBB. Normalmente la compressione che utilizza I, P e B frame [5] prende il nome di MPEG IPB (spesso è sottinteso); come già visto l'mpeg che utilizza solo I frame, utile per l'editing video prende il nome di MPEG I frame. Ovviamente vista la blanda compressione dell' MPEG I frame a parità di qualità occorre avere bit rate 2-3 volte maggiori rispetto l'mpeg IPB Cambi di scena e I frame In realtà per le normali compressioni non conviene preoccuparsi più di tanto del GOP poichè gli encoder quali tmpeg modificano automaticamente il GOP a secondo delle caratteristiche del video, semplicemente piazzando dove servono gli I frame: il motivo di tale intervento deriva [5] dal fatto che per come è strutturata la successione dei frame in un mpeg IPB gli errori dovuti alla compressione si sommano nel tempo: ad esempio nel caso (Tab. 2.9) f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 I B B P B B P B B P B B I Tabella 2.9 Ordine dei frame il frame 10 (P) è ricavato (in alcuni dei suoi macroblocchi) dalle differenze con il frame 7 (P) a sua volta ricavato dalle differenze con il 4 (P) a sua volta ricavati dalle differenze con il frame I il primo ad essere totalmente indipendente

68 Capitolo 2 MPEG 1-2 (tmpeg encoder) Per quanto detto se ad esempio il frame 7 (P) per una cattiva compensazione del moto produce un video di scarsa qualità, tutti i frame successivi (8, 9, 10, 11, 12) saranno caratterizzati da artefatti poichè non troveranno grosse similitudini con il frame 7 che è praticamente sbagliato (Fig. 2.18). Figura 2.18 Successione dei vari frame d immagini. Un tipico caso in cui ciò succede [5] è quello dove ad esempio ho un cambio di scena nel frame 7 (ad esempio dall'inquadratura di una persona allo sfondo della foresta: in tal caso il frame 7(P) dovendo cercare similitudini con il frame 4 (P) non ne troverà poiché il frame 4 appartiene ad una scena che è cambiata del tutto; l'unica alternativa sensata per non creare accumulo di errori è quella di inserire al frame 7 un I frame. Perchè inserire i B frame, visto che per la compensazione del moto comportano una ricerca doppia e che creano il problema del riordino dei frame? La risposta è che in molti casi senza il riferimento a frame futuri è impossibile trovare blocchi simili per la ricerca e la codifica delle differenze; cioè è impossibile fare la compensazione del moto e occorre ricorrere alla codifica inter frame per il macroblocco, codifica che occupa bit preziosi e fa inevitabilmente salire il bit rate del flusso video(a meno di accontentarsi di una bassa qualità) Metodi di gestione del Bit-rate Esistono fondamentalmente due metodi di codifica: la CBR (costant bit rate, codifica a bit rate costante) e la VBR (variable bit rate, codifica a bit rate variabile). La codifica CBR l'unica realmente riconosciuta da tutti i player nel caso dell'mpeg 1, ma scarsamente utilizzata nell'mpeg 2, è il metodo meno ottimizzato: si fissa un bit rate video ( bit al secondo) e si comprime tutto il video [5] utilizzando tale flusso costante. La scarsa ottimizzazione deriva dal fatto che fissato un bit rate, diciamo così, medio (per avere una idea 4000 Kbit/s per un video progressivo 720*576) nelle scene statiche tale bit rate è

69 Capitolo 2 MPEG 1-2 (tmpeg encoder) eccessivo (in certi casi bastano anche Kbit/s), mentre nelle scene particolarmente dinamiche in cui per avere una buona qualità occorrono spesso anche più di Kbit/s) si ottengono immagini piene di artefatti ( blocchetti, colori sporchi,...). L'alternativa sarebbe quella di mantenere fisso un bit rate ad esempio di 8000 Kbit/s garantendo sempre ottima qualità: lo svantaggio è la elevata occupazione di spazio spesso molto prezioso. Il discorso è ben diverso se si utilizza il metodo VBR: in tal caso l'encoder utilizza un maggior bit rate nelle scene più dinamiche [5] e al contrario minore bit rate nelle scene statiche, ottimizzando lo spazio occupato: il criterio con cui viene scelto il modo di assegnare il bit rate dipende dall'encoder. Per permettere una analisi oculata dei risultati ecco una tabella riassuntiva che chiarisce al variare della risoluzione video quali bit rate medi (ad esempio su filmati di una certa durata che contengono un mix di scene di azione e scene più statiche) e quali valori di picco (tipicamente nelle scene dinamiche), è ragionevole attendersi nel caso di codifica mpeg 2 a bit rate variabile. Questi valori sono assolutamente indicativi (Tab. 2.10)

70 Capitolo 2 MPEG 1-2 (tmpeg encoder) Mpeg alta qualità Risoluzione Bit rate di picco (KBit/s) Bit rate medio (Kbit/s) 720* * * * Mpeg buona qualità Risoluzione Bit rate di picco (KBit/s) Bit rate medio (Kbit/s) 720* * * * Mpeg qualità sufficiente Risoluzione Bit rate di picco (KBit/s) Bit rate medio (Kbit/s) 720* * * * Tabella 2.10 Valori di Bit rate Costant Quality CQ Esistono diversi metodi per la compressione a bit rate [5], introdurrò solamente il metodo CQ (Costant Quality) dato che rispetto agli altri ( bit rate costante, bit rate video auto variabile a qualità costante CQ_VBR, codifica a due passaggi con bit rate variabile VBR, bit rate variabili manualmente MVBR) è il migliore di tutti, sia come risparmio occupato dal file sia come qualità! Ma come funziona il metodo Costant Quality CQ?

71 Capitolo 2 MPEG 1-2 (tmpeg encoder) L'encoder procede cosi: a secondo del parametro Quality fissato dall'utente, viene fatta una maggiore o minore compressione; per valori di Quality elevati viene prodotto video di alta qualità (alti bitrate) e bassa compressione (Q bassi) mentre per valori di Quality bassi, bassa qualità (alti bitrate) e elevata compressione (Q elevati). Mentre tmpeg comprime analizza il bit rate prodotto: appena questo supera il valore bitrate Max impostato dall'utente, tmpeg aumenta la compressione (aumenta la quantizzazione Q) sino a garantire che il bit rate non superi il valore max impostato. Vediamo un esempio: utilizziamo il video test 720*576, la bit rate = 8000 Kbit/s e si comprime il video con qualità crescente [5]; Quality 20 (qualità relativamente bassa ), 50, 60. Nella Fig i parametri in rosso si riferiscono ai parametri impostati, gli altri sono quelli misurati Figura 2.19 Video compresso con qualità 20, 50, 60 Nel caso di qualità peggiore (Quality = 20 ) si vede come tmpeg fissa la quantizzazione a Q = 9 e poiché il bitrate tende a mantenersi ben al di sotto degli 8000 massimi riesce a mantenere Q a 9 tranne nel tratto secondi in cui abbassa Q ad 8 ( la differenza con

72 Capitolo 2 MPEG 1-2 (tmpeg encoder) Q=9 è di fatto inesistente): pertanto in questo primo esempio avendo impostato una qualità scadente e contemporaneamente non avendo posto grossi limiti al bit rate [5], tmpeg ha potuto mantenere tale qualità senza peggiorarla ancora. Incrementando la qualità (Quality = 50 ), tmpeg associa a tale qualità il valore Q = 3, valore che riesce a mantenere fino all'istante secondi = 12; poi è costretto ad aumentare la compressione (Q varia tra 5 e 7) nelle scene più dinamiche per non superare gli 8000 kbit/s di bitrate. La Quality = 50 garantisce un video eccellente come confermato dal bit rate che tranne nelle scene super statiche è sempre al di sopra dei 5000 kbit/s. Nell' ultimo caso (Quality = 60) tmpeg cerca di mantenere Q = 2 cosa che riesce a fare solo in rari punti: il bit rate come confermato dal bit rate medio (6736) è quasi sempre al di sopra dei 6000 sfiorando il max ( 8000) più di una volta. A prova di quanto sia elevata la qualità prodotta dal parametro Quality per valori attorno a si è provato a comprimere lo stesso file con quality 60 ( che è ben al di sotto di 100, massimo consentito ) sia con video 720*576, come già visto, sia con video 352*288. I rispettivi diagrammi sono qui sotto (Fig 2.20). Come si deduce dal diagramma di destra del caso 352*288, il fattore Q è mantenuto costante a 2 grazie al fatto che non sono così mai superati gli 8000 Kbit/s massimi consentiti, ma il bit rate nelle scene dinamiche si assesta tra i kbit/s valore obbiettivamente troppo alto: con 352*288 bastano e avanzano bit rate di Kbit/s. Nel caso 720*576 è evidente,come già detto, che è impossibile mantenere Q=2; considerando come nei tratti in cui Q=2 il diagramma di sinistra ha bit rate 3 volte superiori rispetto a quelli di destra [5], è ragionevolmente ipotizzabile che per mantenere sempre Q=2 anche nel caso di 720*576 occorrerebbero picchi di circa Kbit: per questo motivo l'encoder è spesso costretto ad aumentare la compressione. Detto in altri termini pur mettendo Quality= 60 il bit rate max di 8000 nel caso 720*576 costringe tmpeg ad abbassare quasi sempre la qualità comprimendo nella stessa maniera di una selezione di qualità inferiore (tipo quality = 50-40). Si spiega così il motivo per cui nei 3 diagrammi visti sopra, nei punti con scene dinamica (oltre i 13 secondi) i bit rate tra il caso Quality 50 e 60 sono praticamente identici! ; tmpeg

73 Capitolo 2 MPEG 1-2 (tmpeg encoder) non potendo mantenere il bit rate teoricamente richiesto da impostazioni di qualità così alte, è costretto a diminuire la qualità aumentando in entrambi i casi la compressione che si avvicina quasi sempre al max impostato. Figura Video compresso con qualità 60 con frame 720*576 e frame 352* Conclusioni riguardo il metodo CQ ( costant quality). E' il metodo da utilizzare in tutti quei casi in cui è fondamentale risparmiare il più possibile sulla dimensione dei file, e pertanto cercare di guadagnare il più possibile spazio nelle scene statiche [5] dove si può ragionevolmente abbassare il bit rate: è il caso dei DVD con problemi di spazio

http://www.tuttologia.com/tutorial/video-codec.html BREVE GUIDA SUI PRINCIPALI CODEC E FORMATI VIDEO

http://www.tuttologia.com/tutorial/video-codec.html BREVE GUIDA SUI PRINCIPALI CODEC E FORMATI VIDEO http://www.tuttologia.com/tutorial/video-codec.html BREVE GUIDA SUI PRINCIPALI CODEC E FORMATI VIDEO Il codec (COmpressore-DECompressore) è un software che dice al computer con quali operazioni matematiche

Dettagli

Codifica video. Il video digitale. Sistemi Multimediali. Il video digitale. Il video digitale. Il video digitale.

Codifica video. Il video digitale. Sistemi Multimediali. Il video digitale. Il video digitale. Il video digitale. Sistemi Multimediali Codifica video La definizione di video digitale corrisponde alla codifica numerica di un segnale video. Esso eredita numerosissimi concetti dal video analogico, e li trasporta in digitale.

Dettagli

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti

Un ripasso di aritmetica: Rappresentazione binaria - operazioni. riporti Un ripasso di aritmetica: Rappresentazione binaria - operazioni A queste rappresentazioni si possono applicare le operazioni aritmetiche: riporti 1 1 0 + 1 0 = 1 0 0 24 Un ripasso di aritmetica: Rappresentazione

Dettagli

CARATTERISTICHE VIDEO

CARATTERISTICHE VIDEO CARATTERISTICHE VIDEO Quando si parla di definizione video ci sono diversi parametri che contribuiscono alla formazione del quadro dell immagine e di conseguenza alla relativa qualità. Il rapporto d'aspetto,

Dettagli

Come si misura la memoria di un calcolatore?

Come si misura la memoria di un calcolatore? Come si misura la memoria di un calcolatore? Definizione Il byte è definito come unità di misura di memoria. I multipli del byte sono: KiloByte (KB) - 1 KB = 2 10 byte = 1024 byte MegaByte (MB) - 1 MB

Dettagli

Lezione 8: La rappresentazione dell informazione Multimediale Suoni e Video Venerdi 6 Novembre 2009

Lezione 8: La rappresentazione dell informazione Multimediale Suoni e Video Venerdi 6 Novembre 2009 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 8: La

Dettagli

La Videosorveglianza Criteri per il dimensionamento dello storage

La Videosorveglianza Criteri per il dimensionamento dello storage La Videosorveglianza Criteri per il dimensionamento dello storage Serie vol 1005/2010 L importanza di registrare le immagini video Il valore di un sistema di videosorveglianza non dipende solo dall abilità

Dettagli

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali.

Le immagini digitali. Le immagini digitali. Caterina Balletti. Caterina Balletti. Immagini grafiche. Trattamento di immagini digitali. 1 Le immagini digitali Le immagini digitali Università IUAV di venezia Trattamento di immagini digitali immagini grafiche immagini raster immagini vettoriali acquisizione trattamento geometrico trattamento

Dettagli

www.andreatorinesi.it

www.andreatorinesi.it La lunghezza focale Lunghezza focale Si definisce lunghezza focale la distanza tra il centro ottico dell'obiettivo (a infinito ) e il piano su cui si forma l'immagine (nel caso del digitale, il sensore).

Dettagli

Codifica delle Informazioni

Codifica delle Informazioni Codifica delle Informazioni Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Panoramica Le informazioni gestite dai sistemi di elaborazione devono essere codificate

Dettagli

C M A P M IONAM A E M NT N O

C M A P M IONAM A E M NT N O IMMAGINE DIGITALE Nelle immagini digitali, il contenuto fotografico (radiometria) viene registrato sotto forma di numeri. Si giunge a tale rappresentazione (RASTER) suddividendo l immagine fotografica

Dettagli

HDTV LA TELEVISIONE AD ALTA DEFINIZIONE

HDTV LA TELEVISIONE AD ALTA DEFINIZIONE HDTV LA TELEVISIONE AD ALTA DEFINIZIONE S HDTV: LA TELEVISIONE AD ALTA DEFINIZIONE In questo articolo cercheremo di spiegare il concetto di HDTV. Prima di tutto, daremo un occhiata alla tecnologia della

Dettagli

ELETTRONICA DIGITALE

ELETTRONICA DIGITALE ELETTRONICA DIGITALE Ebbe praticamente inizio nel 1946 con il calcolatore elettronico chiamato ENIAC, realizzato con 18.000 valvole termoioniche, occupava 180 mq e consumava 200 kw. Ma l'idea che sta alla

Dettagli

wave a 44,1 khz, 16 bit, PCM, stereo (standard cd audio) L utilizzo di una risoluzione dipende anche dal supporto che la dovrà ospitare.

wave a 44,1 khz, 16 bit, PCM, stereo (standard cd audio) L utilizzo di una risoluzione dipende anche dal supporto che la dovrà ospitare. Il Suono Digitale Capitolo 3 - Formati e standard digitali dei file audio Il formato Wave, Wave 64, AIFF pag 1 Il Transfert Rate pag 4 Il formato mp3 pag 5 Il trasferimento di file tramite Internet pag

Dettagli

Flussi Multimediali. Introduzione

Flussi Multimediali. Introduzione Flussi Multimediali 1 Introduzione Film digitali, video clip e musica stanno diventando un modo sempre più comune di presentare l informazione e l intrattenimento per mezzo del computer I file audio e

Dettagli

GUIDA ALLE SOLUZIONI

GUIDA ALLE SOLUZIONI Spesso si rende utile utilizzare un applicazione per verificare il tipo di dati video e audio utilizzati per la compressione video o per analizzare il file video se non riusciamo a visualizzarlo nel nostro

Dettagli

IMMAGINE BITMAP E VETTORIALI

IMMAGINE BITMAP E VETTORIALI BITMAP VETTORIALE VETTORIALE BITMAP IMMAGINE BITMAP è una immagine costituita da una matrice di Pixel. PIXEL (picture element) indica ciascuno degli elementi puntiformi che compongono la rappresentazione

Dettagli

Dal foglio di carta alla multimedialità

Dal foglio di carta alla multimedialità Dal foglio di carta alla multimedialità Multimediale Che utilizza più mezzi di comunicazione. Nell'ambito delle tecnologie educative significa utilizzare più mezzi didattici integrati. IPERTESTO E IPERMEDIA

Dettagli

Informatica grafica e Multimedialità. 4 Immagini grafiche

Informatica grafica e Multimedialità. 4 Immagini grafiche Immagini raster e vettoriali Le immagini grafiche si distinguono in due classi differenti: immagini raster e immagini vettoriali. Le immagini raster, dette anche pittoriche o pixel-oriented, dividono l

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Capitolo V : Il colore nelle immagini digitali

Capitolo V : Il colore nelle immagini digitali Capitolo V : Il colore nelle immagini digitali Lavorare con il colore nelle immagini digitali L uso dei colori nella visione computerizzata e nella computer grafica implica l incorrere in determinate problematiche

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Scheda di approfondimento gioco I pixel

Scheda di approfondimento gioco I pixel Scheda di approfondimento gioco I pixel IN CLASSE: per introdurre questo tema, dopo aver ricordato cos è la Rete, chiedere ai bambini se conoscono il sistema di comunicazione dei computer. Il computer

Dettagli

Elementi di teoria dei segnali /b

Elementi di teoria dei segnali /b Elementi di teoria dei segnali /b VERSIONE 29.4.01 Filtri e larghezza di banda dei canali Digitalizzazione e teorema del campionamento Capacità di canale e larghezza di banda Multiplexing e modulazioni

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

I F O R M A T I V I D E O

I F O R M A T I V I D E O I F O R M A T I V I D E O A s p e c t R a t i o e c o r r i s p o n d e n z e S I formati video Innanzitutto è bene chiarire che quando parliamo di 4:3 o di 16:9 parliamo del rapporto esistente tra la

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

GUIDA ALLE SOLUZIONI

GUIDA ALLE SOLUZIONI Come posizionare una antenna indoor attiva o passiva per una ricezione ottimale? Come verificare in una stanza se il segnale digitale è presente? Perché effettuando la scansione con l antenna indoor non

Dettagli

Come masterizzare dischi con Nero 11

Come masterizzare dischi con Nero 11 Come masterizzare dischi con Nero 11 Non c è dubbio che Nero è diventato un sinonimo di masterizzatore di dischi, data la lunga esperienza sul mercato. Molte persone pensano in questo programma nel momento

Dettagli

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini

Il campionamento. La digitalizzazione. Teoria e pratica. La rappresentazione digitale delle immagini. La rappresentazione digitale delle immagini ACQUISIZIONE ED ELABORAZIONE DELLE IMMAGINI Teoria e pratica La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: Il numero

Dettagli

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1

Informatica. Rappresentazione binaria Per esempio +101010000 diventa +0.10101 10 18/10/2007. Introduzione ai sistemi informatici 1 Informatica Pietro Storniolo storniolo@csai.unipa.it http://www.pa.icar.cnr.it/storniolo/info200708 Numeri razionali Cifre più significative: : sono le cifre associate ai pesi maggiori per i numeri maggiori

Dettagli

La codifica delle immagini

La codifica delle immagini La codifica delle immagini La digitalizzazione La digitalizzazione di oggetti legati a fenomeni di tipo analogico, avviene attraverso due parametri fondamentali: 1. Il numero dei campionamenti o di misurazioni

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Appunti sulla Macchina di Turing. Macchina di Turing

Appunti sulla Macchina di Turing. Macchina di Turing Macchina di Turing Una macchina di Turing è costituita dai seguenti elementi (vedi fig. 1): a) una unità di memoria, detta memoria esterna, consistente in un nastro illimitato in entrambi i sensi e suddiviso

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi

Le immagini digitali. formati, caratteristiche e uso. Testo e foto di Mario Ceppi Le immagini digitali formati, caratteristiche e uso Testo e foto di Mario Ceppi GIF Ideale per la rappresentazione di immagini sul Web come gif animate, pulsanti e intestazioni, non è invece adatto alle

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Unità di Misura Informatiche

Unità di Misura Informatiche Unità di Misura Informatiche 1 bit (vero o falso) 1 byte = 8 bit (valori da 0 a 255) 1 KiloByte = 1024 Byte (2^10 byte) 1 MegaByte = 1.048.576 Byte (2^20 byte) 1 GigaByte = 1.073.741.824 Byte (2^30 byte)

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

VideoStreaming su IP

VideoStreaming su IP VideoStreaming su IP Anno Accademico 2007/2008 Agenda Principi di video Streaming Come prevenire gli errori e come mascherarli Appendice Come si realizza la codifica/decodifca Protocollidirete Overview

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

La codifica delle immagini

La codifica delle immagini Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori ma si stanno diffondendo sempre di più applicazioni che utilizzano ed elaborano anche altri tipi di informazione:

Dettagli

CAPITOLO 10 Esportare il lavoro su nastro DV, DVD, o su altro tipo di file multimediale

CAPITOLO 10 Esportare il lavoro su nastro DV, DVD, o su altro tipo di file multimediale CAPITOLO 10 Esportare il lavoro su nastro DV, DVD, o su altro tipo di file multimediale Ora vedremo come esportare su nastro DV, su DVD, o su altri tipi di file multimediali tramite il modulo di esportazione

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Informatica per la comunicazione" - lezione 7 -

Informatica per la comunicazione - lezione 7 - Informatica per la comunicazione - lezione 7 - Campionamento La codifica dei suoni si basa sulla codifica delle onde che li producono, a sua volta basata su una procedura chiamata campionamento.! Il campionamento

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona

Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Marta Capiluppi marta.capiluppi@univr.it Dipartimento di Informatica Università di Verona Classificazione delle immagini Le immagini si suddividono in raster e vettoriali. Le immagini raster sono di tipo

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca.

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14. Pietro Frasca. Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2013-14 Pietro Frasca Lezione 11 Martedì 12-11-2013 1 Tecniche di allocazione mediante free list Generalmente,

Dettagli

( x) ( x) 0. Equazioni irrazionali

( x) ( x) 0. Equazioni irrazionali Equazioni irrazionali Definizione: si definisce equazione irrazionale un equazione in cui compaiono uno o più radicali contenenti l incognita. Esempio 7 Ricordiamo quanto visto sulle condizioni di esistenza

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

HD vs SD: E già ora per l alta definizione?

HD vs SD: E già ora per l alta definizione? HD vs SD: E già ora per l alta definizione? Oggi si parla molto di alta definizione: per qualcuno si tratta già di una realtà quotidiana mentre per altri sembra ancora un concetto lontano nel futuro. Quello

Dettagli

gestione e modifica di immagini fotografiche digitali

gestione e modifica di immagini fotografiche digitali gestione e modifica di immagini fotografiche digitali il colore e le immagini la gestione delle immagini Il computer è in grado di gestire le immagini in formato digitale. Gestire vuol dire acquisirle,

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Analisi e diagramma di Pareto

Analisi e diagramma di Pareto Analisi e diagramma di Pareto L'analisi di Pareto è una metodologia statistica utilizzata per individuare i problemi più rilevanti nella situazione in esame e quindi le priorità di intervento. L'obiettivo

Dettagli

Fotografia corso base. Educazione Permanente Treviso. Specifiche digitali. Federico Covre. http://arcifotografiabase.wordpress.com

Fotografia corso base. Educazione Permanente Treviso. Specifiche digitali. Federico Covre. http://arcifotografiabase.wordpress.com Fotografia corso base Educazione Permanente Treviso Specifiche digitali http://arcifotografiabase.wordpress.com Federico Covre Pixel (picture element) Indica ciascuno degli elementi puntiformi che compongono

Dettagli

Digital Signal Processing: Introduzione

Digital Signal Processing: Introduzione Corso di Elettronica dei sistemi programmabili Digital Signal Processing: Introduzione Stefano Salvatori Definizioni DSP: Digital Signal Processing Signal: tutti sappiamo cosa sia un segnale; Signal Processing:

Dettagli

Classificazione delle applicazioni multimediali su rete

Classificazione delle applicazioni multimediali su rete Universita' di Verona Dipartimento di Informatica Classificazione delle applicazioni multimediali su rete Davide Quaglia a.a. 2006/2007 1 Sommario Architettura di riferimento Classificazione per funzionalità

Dettagli

Giorgio Maria Di Nunzio

Giorgio Maria Di Nunzio Università degli Studi di Padova Dipartimento di Scienze Storiche, Geografiche e dell Antichità Fondamenti di Informatica A.A. 2012/2013 Giorgio Maria Di Nunzio Immagini Digitali Ä Dispense aggiuntive

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1

Sistemi Operativi IMPLEMENTAZIONE DEL FILE SYSTEM. D. Talia - UNICAL. Sistemi Operativi 9.1 IMPLEMENTAZIONE DEL FILE SYSTEM 9.1 Implementazione del File System Struttura del File System Implementazione Implementazione delle Directory Metodi di Allocazione Gestione dello spazio libero Efficienza

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

Esame di INFORMATICA

Esame di INFORMATICA Università di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA Lezione 4 MACCHINA DI VON NEUMANN Anni 40 i dati e i programmi che descrivono come elaborare i dati possono essere codificati nello

Dettagli

Offerta Televisiva. Generalità

Offerta Televisiva. Generalità Offerta Televisiva Generalità Quadro Generale Cambiamenti a livello delle filiera televisiva Accanto alla tradizionale modalità di diffusione terrestre (satellitare, TV via cavo,...) l offerta di contenuti

Dettagli

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO

SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire

Dettagli

Video. Il montaggio video

Video. Il montaggio video Video Il montaggio video Giorgio Cabrini per Unicrema Anno 2011-2012 Riassunto della puntata precedente Abbiamo esaminato: Gli strumenti che possono essere usati per le riprese video (telefonino, macchina

Dettagli

Colorare coi numeri La rappresentazione delle immagini

Colorare coi numeri La rappresentazione delle immagini Attività 2 Colorare coi numeri La rappresentazione delle immagini Sommario I computer memorizzano i disegni, le fotografie e le altre figure usando solo numeri. Questa attività mostra come fanno. Competenze

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Codifica delle immagini

Codifica delle immagini Codifica delle immagini Abbiamo visto come la codifica di testi sia (relativamente) semplice Un testo è una sequenza di simboli Ogni simbolo è codificato con un numero Ed ecco che il testo è trasformato

Dettagli

Memoria Secondaria o di Massa

Memoria Secondaria o di Massa .. Pacman ha una velocità che dipende dal processore...quindi cambiando computer va più velocemente..sarà poi vero? Memoria Secondaria o di Massa dischi fissi (hard disk), floppy disk, nastri magnetici,

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI)

COMUNE DI RAVENNA GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) COMUNE DI RAVENNA Il sistema di valutazione delle posizioni del personale dirigente GUIDA ALLA VALUTAZIONE DELLE POSIZIONI (FAMIGLIE, FATTORI, LIVELLI) Ravenna, Settembre 2004 SCHEMA DI SINTESI PER LA

Dettagli

EasyPrint v4.15. Gadget e calendari. Manuale Utente

EasyPrint v4.15. Gadget e calendari. Manuale Utente EasyPrint v4.15 Gadget e calendari Manuale Utente Lo strumento di impaginazione gadget e calendari consiste in una nuova funzione del software da banco EasyPrint 4 che permette di ordinare in maniera semplice

Dettagli

Gestione del file system

Gestione del file system Gestione del file system Gestione del file system Il gestore del file system è quella parte del sistema operativo incaricato di gestire le informazioni memorizzate sui dispositivi di memoria permanente

Dettagli

STRUMENTI DI PRESENTAZIONE MODULO 6

STRUMENTI DI PRESENTAZIONE MODULO 6 STRUMENTI DI PRESENTAZIONE MODULO 6 2012 A COSA SERVE POWER POINT? IL PROGRAMMA NASCE PER LA CREAZIONE DI PRESENTAZIONI BASATE SU DIAPOSITIVE (O LUCIDI) O MEGLIO PER PRESENTARE INFORMAZIONI IN MODO EFFICACE

Dettagli

Il colore. IGEA 2006-07 7 febbraio 2007

Il colore. IGEA 2006-07 7 febbraio 2007 Il colore IGEA 2006-07 7 febbraio 2007 La luce Radiazione elettromagnetica 380 740 nanometri (790 480 THz) Percezione della luce /1 Organi sensoriali: Bastoncelli Molto sensibili (anche a un solo fotone:

Dettagli

Informazione analogica e digitale

Informazione analogica e digitale L informazione L informazione si può: rappresentare elaborare gestire trasmettere reperire L informatica offre la possibilità di effettuare queste operazioni in modo automatico. Informazione analogica

Dettagli

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni

La codifica delle Immagini. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni La codifica delle Immagini Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132Sesto San Giovanni Lettere e numeri non costituiscono le uniche informazioni utilizzate dagli elaboratori, infatti

Dettagli

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43

I dischi ottici. Fondamenti di Informatica -- Rossano Gaeta 43 I dischi ottici Le tecnologie dei dischi ottici sono completamente differenti e sono basate sull'uso di raggi laser Il raggio laser è un particolare tipo di raggio luminoso estremamente focalizzato che

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - Esercizio Convertire i seguenti numeri da base 10 a base 2: 8, 23, 144, 201. Come procedere per risolvere il problema? Bisogna ricordarsi che ogni sistema,

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica

Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Università degli Studi di Padova Dipartimento di Matematica. - Corso di Laurea in Informatica Il presente esame scritto deve essere svolto in forma individuale in un tempo massimo di 60 minuti dalla sua

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

FILE: ESTENSIONI o Formati. Augusto Grossi

FILE: ESTENSIONI o Formati. Augusto Grossi FILE: ESTENSIONI o Formati Augusto Grossi File: estensioni Tutti i file sono distinguibili tra loro, oltre che dal nome e dall icona, anche dal formato (o estensione), indicato sempre dopo il nome del

Dettagli

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile Problemi connessi all utilizzo di un numero di bit limitato Abbiamo visto quali sono i vantaggi dell utilizzo della rappresentazione in complemento alla base: corrispondenza biunivoca fra rappresentazione

Dettagli

Reti di calcolatori ed indirizzi IP

Reti di calcolatori ed indirizzi IP ITIS TASSINARI, 1D Reti di calcolatori ed indirizzi IP Prof. Pasquale De Michele 5 aprile 2014 1 INTRODUZIONE ALLE RETI DI CALCOLATORI Cosa è una rete di calcolatori? Il modo migliore per capire di cosa

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi Software relazione Hardware Software di base Software applicativo Bios Sistema operativo Programmi applicativi Software di base Sistema operativo Bios Utility di sistema software Software applicativo Programmi

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Il database management system Access

Il database management system Access Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio

Dettagli

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi

ControlloCosti. Cubi OLAP. Controllo Costi Manuale Cubi ControlloCosti Cubi OLAP I cubi OLAP Un Cubo (OLAP, acronimo di On-Line Analytical Processing) è una struttura per la memorizzazione e la gestione dei dati che permette di eseguire analisi in tempi rapidi,

Dettagli