Corso di architetture multimediali Università di Milano Corso di laurea specialistica in Informatica per la Comunicazione A.A. 2012-2013 Codifica/Compressione multimediale
Perché codificare? Codifica -> stabilire un formato digitale Senza, non si va da nessuna parte Stabilire una mappa tra informazione e bit da usare è una forma di codifica 40
Altri motivi per codificare Per dare sicurezza Proteggere il contenuto (cifratura) Proteggere la proprietà intellettuale Watermarking Steganografia Per dare affidabilità Una giusta codifica può aiutare a correggere gli errori di trasmissione 41
Ma forse Vi state confondendo con comprimere? Una codifica che risparmia spazio siamo abituati a chiamarla compressione A compressione di un contenuto è un effetto collaterale (piacevole) di una codifica ben strutturata 42
Dumb coding Prendiamo un video 640 x 480, 25 fps, 60 secondi È meno di quello che potete fare con il vostro cellulare Codifico il filmato come una sequenza di frame Codifico ogni frame come una matrice di pixel Codifico ogni pixel in formato RGB (3 byte) Spazio necessario: 3 * 640 * 480 * 25 * 60 byte = 1.28 GB 43
Perché comprimere Risparmiare spazio di allocazione Spazio su disco Tempo di trasferimento Eliminare informazioni non necessarie Perché ridondanti O che non verrebbero comunque percepite dall utente 44
Ottimizzazione dello spazio Esistono tecniche per creare delle associazioni tra un insieme da rappresentare e stringhe binarie (bit) per la codifica tali per cui il numero totale di bit utilizzati è minimo Codici a lunghezza media uniformemente minima (per gli amici, codifica di Huffman) Queste tecniche non fanno perdere informazioni; riducono solo lo spazio totale occupato Compressione lossless 45
Ridondanza Un sistema di codifica può tentare di scartare le informazioni inutili o che potrebbero essere ricostruite in maniera automatica Compressione lossy Ridondanza spaziale Come in un contenuto che prevede informazioni simili aggregate Macchie dello stesso colore in un immagine Ridondanza temporale I contenuti che evolvono nel tempo non variano enormemente in due istanti successivi In un video con una persona che parla non ho bisogno di mandare sempre anche lo sfondo 46
Ridondanza spaziale Correlazione orizzontale Correlazione verticale 47
Ridondanza temporale 48
Ridondanza temporale 49
Come la vedete? 50
Non è così semplice La compressione dei dati è una cosa difficoltosa da trattare Dipende da parametri difficili da controllare: Dal mezzo con cui si fruisce del contenuto Da agenti fisiologici Da agenti psicologici 51
Il mezzo di fruizione Impone un limite tecnologico non evitabile, rischiamo di codificare/inviare delle informazioni che semplicemente non potranno essere fruite Video a colori a una televisione in bianco e nero Video HD a un cellulare Audio stereo a un cellulare GSM 52
Parametri fisiologici Non tutte le informazioni hanno la stessa importanza per il nostro centro di raccolta (cervello) Di una figura percepiamo più facilmente la forma Di un suono siamo più sensibili alle variazioni istantanee Il cervello ricostruisce autonomamente parte dell informazione, ma per ogni senso lo fa con soglie e parametri diversi 53
Parametri psicologici L essere umano ha una strana tendenza a riconoscere gli oggetti istintivamente Non ci ragioniamo Lo facciamo a volte in base alla nostra esperienza Ci ricordiamo solo gli aspetti importanti Il cervello ricostruisce l informazione mancante, ma COME LA VORREMMO e non come realmente è 54
55
Audio e video Sono tipi di dati multimediali profondamente diversi e vanno trattati in maniera disgiunta Differenti vincoli Tecnici Frequenza e campionamento Fisiologici Sensibilità non uniforme o distribuita diversamente Psicologici Diversa tolleranza alla perdita dei dati 56
MPEG Non è la soluzione di tutti i mali, ma solo uno standard Abbiamo dato delle regole alla compressione spaziale e temporale in maniera tale da non disturbare troppo la percezione dell utente medio Quanti musicisti ascoltano MP3? Quanti grafici professionisti non gradiscono i DVD? 57
Moving Picture Experts Group (MPEG) È una organizzazione fondata dalla ISO nel 1988 Ha il compito di definire gli standard per la compressione audio e video Di versioni di MPEG ce ne sono tante 58
Vari tipi di MPEG PS TS MPEG-1 MPEG-2 MPEG-4 59
La codifica MPEG È una codifica asimmetrica Lo standard detta solo le linee guida per la creazione di un byte-stream Il codificatore fa tutto il lavoro pesante e deve creare uno stream corretto Il decodificatore fa operazioni semplici e deve essere poco oneroso per il calcolatore Tenendo fisso lo standard, è possibile far evolvere parallelamente dei sue estremi Posso implementare codificatori più efficienti senza modificare il software di visualizzazione Posso creare nuovi player (e nuovi dispositivi) senza codificare nuovamente i contenuti 60
Codifica MPEG 61
Codifica MPEG MPEG costruisce un video codificando una sequenza di fotogrammi Attenzione, non sono una sequenza di immagini jpeg; quello si chiama MJPEG Durante la codifica si punta ad eliminare tutta la ridondanza 62
Ridondanza spaziale Codifiche separate e distinte vengono effettuate per i tre colori in formato YUV 63
Trasformata a coseno discreto (DCT) Data la matrice degli indici YUV di un blocco tutti i suoi elementi vengono espressi per differenza rispetto al primo Successivamente, si fa una riduzione ri-campionando il segnale L obiettivo della DCT è quello di eliminare le basse frequenze, che non vengono recepite come importanti dall occhio umano La DCT elimina una ridondanza percettiva Il livello di taglio della DCT determina la qualità della codifica e la dimensione finale dei dati 64
Linearizzazione Un blocco, dopo essere stato sottoposto alla DCT viene reso lineare (una sequenza di bit) secondo questo schema: Ricordiamoci che in alto a sinistra si trova il valore più grande, mentre tutti gli altri contributi saranno spesso molto vicini a 0 Con queste condizioni di partenza la costruzione di un codice a lunghezza minima è molto efficiente 65
MPEG bytestream 66