Presentazione 1.9 Formati audio Architettura dell'informazione | Prof. Luca A. Ludovico Compressione lossy e lossless Parte 1 Obiettivi della compressione • Riduzione delle informazioni mantenendo il contenuto informativo • Obiettivi di memorizzazione e trasferimento • Due categorie: – Tecniche con perdita (lossy) – Tecniche senza perdita (lossless) Architettura dell'informazione Prof. Luca A. Ludovico Osservazioni • La percentuale di compressione ottenibile dipende: 1. dall’algoritmo utilizzato 2. dalla propensione dei dati a essere compressi • Esempio: adottiamo la compressione con algoritmo LZW (formato ZIP). A parità di algoritmo di compressione, ad esempio: – – 4 immagini JPG: da 282 KB a 276 KB (98% dell’originale) 4 documenti XML: da 1,96 MB a 126 KB (6,28% dell’originale) Tecniche lossless vs lossy • Lossless • Lossy • Senza perdita di informazione • Con perdita di informazione • Si riduce la ridondanza • Si riduce l’irrilevanza (presunta) • Si comprime mediamente fino al 50% delle dimensioni originali • Si comprime mediamente fino al 10% delle dimensioni originali • Ottimale quando non si può tollerare modifiche nei contenuti (ad es. testi, multimedialità professionale,etc.) • Ottimale quando si possono tollerare piccoli errori o modifiche (immagini e audio non professionali) Architettura dell'informazione Prof. Luca A. Ludovico Tecniche lossless vs lossy • Il messaggio M deve essere trasmesso tra il mittente A e il destinatario B compressione decompressione M M M M* A Canale trasmissivo B Codifica run-length (lossless) • RLE = run length encoding • Si sostituiscono le sequenze di bit con un codice che indica il valore ripetuto e quante volte si ripete nella sequenza. • Funziona bene quando i dati da comprimere sono scomponibili in lunghe sequenze di valori identici ripetuti. • E’ un codice a lunghezza fissa. Architettura dell'informazione Prof. Luca A. Ludovico Esempio di codifica RLE • Sia M (messaggio da comprimere) una configurazione di bit costituita da: – 253 bit posti a 1, – seguiti da 118 bit posti a 0, – seguiti da 87 bit posti a 1 E’ più compatto rappresentare in binario 253 · 1, 118 · 0, 87 · 1 11111101111101100010101111 ad esempio dedicando 8 bit alla cardinalità e 1 bit al simbolo per ciascun blocco rispetto ad elencare i 458 bit. Architettura dell'informazione Prof. Luca A. Ludovico Controesempi RLE • Cosa succede quando i bit dedicati alla cardinalità non sono sufficienti per coprire il numero di ripetizioni di un dato simbolo? • Cosa succede se i blocchi di valori ripetuti sono estremamente brevi? Esempio: M 0110100 MRLE 000000010 000000101 000000010 000000011 000000100 Codifica dipendente dalla frequenza (lossless) • La lunghezza della configurazione di bit usata per rappresentare un elemento è inversamente proporzionale alla frequenza di utilizzo dell’elemento stesso. • E’ un codice a lunghezza variabile (gli elementi sono rappresentati da configurazioni di lunghezze diverse) • Un noto algoritmo per generare questi codici è stato scoperto da David Huffman. Molti codici dipendenti dalla frequenza oggi usati sono codici di Huffman. Architettura dell'informazione Prof. Luca A. Ludovico Esempio di codice di Huffman per i testi • In lingua inglese, le lettere e, t, i sono molto più frequenti delle lettere z, q e x. • Per codificare testi in lingua inglese, si risparmia spazio usando configurazioni di bit brevi per le lettere più frequenti e lunghe per le meno frequenti. • Ad esempio, in un testo codificato in ASCII esteso, ogni carattere occupa 8 bit. Quindi ogni volta che occorre un carattere “frequente” la cui codifica compressa occupa meno di 8 bit, ho un risparmio. Architettura dell'informazione Prof. Luca A. Ludovico Codifica relativa o differenziale • In alcuni casi, le informazioni sono costituite da blocchi, ognuno dei quali differisce leggermente dal precedente. • Esempio: i fotogrammi consecutivi di un’immagine in movimento. • Tecnica: codificare solo le differenze rispetto al blocco precedente. • Può essere con o senza perdita Architettura dell'informazione Prof. Luca A. Ludovico Codifica basata sul dizionario (lossless) • Dizionario = insieme di blocchi sui quali è costruito il messaggio da comprimere, noto a priori. • Il messaggio è codificato non più come una sequenza di blocchi bensì come una sequenza di riferimenti al dizionario. • Variante: codifica adattiva (o dinamica) basata su dizionario, in cui il dizionario può cambiare durante il processo di codifica. Architettura dell'informazione Prof. Luca A. Ludovico Codifica basata sul dizionario • Tecnica molto usata nei Word Processor, che già contengono al proprio interno dizionari di parole (tipicamente 25000 voci) a scopi di controllo ortografico. • Un’intera parola viene codificata come un riferimento al dizionario anziché come una sequenza di caratteri ASCII o Unicode. • Valutazione delle prestazioni: per una parola da 6 lettere, la codifica a caratteri singoli ASCII richiede 6 · 8 = 48 bit (ASCII) mentre solo 15 come riferimento. Con n = 15 possiamo rappresentare 215 differenti voci nel dizionario. Architettura dell'informazione Prof. Luca A. Ludovico Codifica LZW (Lempel-Ziv-Welsh) • E’ un esempio di codifica adattiva basata su dizionario. • Si parte da un dizionario che contiene i soli elementi base del messaggio. Poi il dizionario viene via via costruito in modo incrementale durante la fase di compressione. • Al termine del processo di compressione, il dizionario può essere grande; ma non è necessario avere quest’ultimo per decodificare il messaggio. Architettura dell'informazione Prof. Luca A. Ludovico Esempio di codifica LZW • Messaggio iniziale M: xyx xyx xyx xyx • Dizionario iniziale: • x >> 1 • y >> 2 • >> 3 • Messaggio compresso (non adattivo): 121312131213121 • Messaggio compresso (adattivo): 121343434 in quanto al dizionario si aggiunge xyx >> 4 Architettura dell'informazione Prof. Luca A. Ludovico Digitalizzazione dell’audio Parte 2 Segnale discreto • Per segnale discreto (nel tempo) si intende una successione di valori di una certa grandezza dati in corrispondenza di una serie di valori discreti nel tempo. – E’ una funzione, o un segnale, con valori forniti in corrispondenza ad una serie di tempi scelti nel dominio dei numeri interi. • Ciascun valore della successione è chiamato campione (o campionamento). • Quando un segnale discreto è composto da una serie di valori ottenuti in corrispondenza di istanti spaziati uniformemente nel tempo, si dice che è associato ad una particolare frequenza di campionamento. Architettura dell'informazione Prof. Luca A. Ludovico Periodo T e frequenza f • La frequenza è una grandezza che concerne fenomeni periodici o processi ripetitivi. Essa viene data dal numero di cicli completati in una data unità di tempo. Il periodo è l’intervallo di tempo in cui si completa un ciclo. • Tali grandezze sono legate tra loro dal rapporto f = 1 / T (proporzionalità inversa) • Unità di misura per misurare T e f: – – Periodo: secondi [s] Frequenza: hertz [Hz] • Esempio: se avvengono 71 iterazioni in 15 secondi f = 71 / 15 = 4,7 Hz; T = 15 / 71 = 1 /4,7 = 0,21 s Architettura dell'informazione Prof. Luca A. Ludovico Campionamento a f costante • Un esempio di fenomeno ripetitivo nel tempo è la lettura periodica dell’ampiezza di una forma d’onda, effettuata a intervalli regolari (periodo di campionamento, frequenza di campionamento) Architettura dell'informazione Prof. Luca A. Ludovico Segnale digitale • Un segnale digitale è un segnale discreto che può assumere soltanto valori appartenenti ad un insieme discreto. • Il procedimento di conversione di un segnale discreto (segnale continuo campionato in valori di tempo discreti) in un segnale digitale è detto quantizzazione. • La quantizzazione provoca perdita di informazione in quanto i valori effettivamente assunti dal segnale sono troncati o arrotondati. Architettura dell'informazione Prof. Luca A. Ludovico Quantizzazione ed errori di quantizzazione • Nel dominio digitale, la quantizzazione richiede di stabilire un numero n di bit su cui rappresentare il valore quantizzato, che potrà quindi assumere uno dei 2n possibili valori ammessi Architettura dell'informazione Prof. Luca A. Ludovico Conversione analogico-digitale dell’audio • Nel caso di segnali audio, la conversione analogicodigitale si compone di 2 passaggi: – Campionamento (discretizzazione sull’asse del tempo) – Quantizzazione (discretizzazione sull’asse delle ampiezze) Architettura dell'informazione Prof. Luca A. Ludovico Teorema del campionamento di Nyquist-Shannon • Teorema base della teoria dei segnali che mette in relazione il contenuto informativo di un segnale campionato con la frequenza di campionamento. • Definisce la minima frequenza necessaria per campionare un segnale analogico senza perdere informazioni e per poter quindi ricostruire il segnale analogico tempo-continuo originario. • Tale frequenza è detta frequenza di Nyquist. Architettura dell'informazione Prof. Luca A. Ludovico Teorema del campionamento di Nyquist-Shannon • In una conversione analogico-digitale la minima frequenza di campionamento necessaria per evitare ambiguità e perdita di informazione nella ricostruzione del segnale analogico originario (ovvero nella riconversione digitale-analogica) con larghezza di banda finita e nota è pari al doppio della frequenza massima presente nel segnale originario. • Questo spiega perché la frequenza di campionamento nello standard CD-DA sia 44.100 Hz. Architettura dell'informazione Prof. Luca A. Ludovico Principali formati audio Parte 2 Formati non compressi: WAV e AIFF • WAV (o WAVE), contrazione di WAVEform audio file format (formato audio per la forma d'onda) è un formato audio di codifica digitale sviluppato da Microsoft e IBM, prevalente nel mondo Windows. Il formato AIFF utilizzato dai computer Apple è molto simile. – Entrambi i formati sono compatibili con diversi sistemi operativi • Salvano i dati audio senza alcun tipo di compressione dati: la forma d'onda digitalizzata viene memorizzata così com'è (PCM: Pulse Code Modulation) • Quindi i file risultanti sono di elevate dimensioni, ma non richiedono elevata potenza di calcolo per essere riprodotti, ed essendo la codifica lossless, viene spesso utilizzata dagli utenti professionali per memorizzare l'audio. Architettura dell'informazione Prof. Luca A. Ludovico Formati non compressi: WAV e AIFF • All’interno è possibile utilizzare il codec che offre le prestazioni migliori in rapporto allo scopo che si vuole raggiungere (registrazione ad alta fedeltà, flusso dati per lo streaming via rete ecc.) e alla sorgente da registrare (parlato, musica, ecc.). • La registrazione può essere caratterizzata da parametri che influiscono sulla dimensione dei file, quali: – – – il numero di canali (1 per mono, 2 per stereo, ecc.) il numero di bit di codifica (generalmente 8, 16 o 24) la frequenza di campionamento (11, 22, 44.1, 48, 96 o 192 KHz) Architettura dell'informazione Prof. Luca A. Ludovico Formati non compressi: WAV e AIFF • All’interno è possibile utilizzare il codec che offre le prestazioni migliori in rapporto allo scopo che si vuole raggiungere (registrazione ad alta fedeltà, flusso dati per lo streaming via rete ecc.) e alla sorgente da registrare (parlato, musica, ecc.). • La registrazione può essere caratterizzata da parametri che influiscono sulla dimensione dei file, quali: – – – il numero di canali (1 per mono, 2 per stereo, ecc.) il numero di bit di codifica (generalmente 8, 16 o 24) la frequenza di campionamento (11, 22, 44.1, 48, 96 o 192 KHz) Architettura dell'informazione Prof. Luca A. Ludovico Formati e supporti: il CD-DA • Compact Disk Digital Audio (CD-DA): – – – – Disco di diametro 120mm Durata massima: 79,8 min (originariamente 74) Durata min. della traccia: 4 secondi (inclusi 2 secondi di pausa) Massimo numero di tracce: 99 • Codifica dell’informazione (PCM): – Frequenza di campionamento: 44,100 Hz (frequenza di Nyquist: 22,05 KHz) – – – – 1.411,2 kb/s Parola di quantizzazione: 16 bit per campione Numero di canali: 2 Forma della traccia: spirale dal centro I bit sono codificati come pit e land (vedi slide successiva) Architettura dell'informazione Prof. Luca A. Ludovico Formati e supporti: il CD-DA Architettura dell'informazione Prof. Luca A. Ludovico Formati compressi senza perdita: FLAC • FLAC sta per Free Lossless Audio Codec: è un codec open source con compressione lossless. • I file – una volta decompressi – presentano la stessa qualità dei WAV ma occupano meno spazio. In che rapporto? Dipende dalle caratteristiche dell’audio: FLAC usa una quantità di compressione variabile in base alle necessità. In generale, media del 50% • Mediamente supportato dai media player, ma in generale richiede l’installazione di un plugin – Windows Media Player (WMP), Winamp, dbPowerAMP, VLC, … • Altri formati audio lossless meno diffusi: Apple Lossless Audio Codec, Monkey's Audio eOptimFROG Architettura dell'informazione Prof. Luca A. Ludovico Formati compressi con perdita: MP3 • MP3 (Moving Picture Expert Group-1/2 Audio Layer 3, noto anche come MPEG-1 Audio Layer III o MPEG-2 Audio Layer III) è un algoritmo di compressione audio di tipo lossy, sviluppato dal gruppo MPEG, in grado di ridurre drasticamente la quantità di dati richiesti per memorizzare un suono, proponendo comunque una riproduzione accettabilmente fedele del file originale non compresso. • In virtù degli alti tassi di compressione, ha avuto successo nella diffusione via rete della musica e nell’immagazzinamento di grandi moli di dati nei dispositivi portatili Architettura dell'informazione Prof. Luca A. Ludovico Qualità del formato MP3 audio • L'efficienza di un algoritmo di compressione è tipicamente giudicata dal bit rate finale, mentre la metrica del tasso di compressione, che sembrerebbe più naturale, dipende dalle caratteristiche del segnale in ingresso. • Qualità: – – – – – Eccellente a 224...256 kbit/s Molto buona a 192...224 kbit/s Buona a 160...192 kbit/s Bitrate di compromesso: 128 kbps (rapporto circa 10:1) Non si dovrebbe usare sotto i 128 kbit/s • Valori piuttosto aleatori: la qualità dipende non solo dal formato di codifica del file, ma anche dalla qualità psicoacustica del codificatore e dalle attitudini (soggettive) dell’ascoltatore Architettura dell'informazione Prof. Luca A. Ludovico Altri formati lossy • AAC (.aac): Advanced Audio Coding. È uno standard Apple, usato di default da iTunes. Funziona in modo simile all'MP3, e a parità di bitrate, occupa lo stesso spazio. • WMA (.wma): è un formato proprietario di Microsoft, ed è considerato la risposta di Redmond all'MP3. Formato supportato principalmente da Windows Media Player, non è compatibile con iTunes. • Ogg Vorbis (.ogg): è un formato open source e patent free, il che vuol dire che non necessita di alcuna licenza per essere implementato in un lettore audio. La qualità è paragonabile all'MP3. Architettura dell'informazione Prof. Luca A. Ludovico Formati audio per il Web • Attualmente i browser compatibili con HTML5 supportano nativamente 3 formati: Browser MP3 Wav Ogg Internet Explorer YES NO NO Chrome YES YES YES Firefox NO YES YES Safari YES YES NO Opera NO YES YES Architettura dell'informazione Prof. Luca A. Ludovico Update: Firefox 21 running on Windows 7, Windows 8, Windows Vista, and Android now supports MP3