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
Scarica

Presentazione del corso