Codifica Audio
Corso di Elaborazione del SuonoIngegneria del Cinema e dei Mezzi di Comunicazione
Ph.D. Ing. Antonio Servetti [email protected] Internet Media Group http://media.polito.it
Dip. di Automatica ed InformaticaPolitecnico di Torino http://www.polito.it
Antonio Servetti – Codifica Audio e Formati Digitali 2
Introduzione
La compressione ha l’obiettivo di minimizzare le risorse per i dati audio Memoria occupata Tempo di trasmissione
Attenzione rivolta alla banda: Dato un tasso di trasferimento dati occorre ottimizzare
la qualità di riproduzione
Attenzione rivolta alla qualità: Ricerca del numero minimo di bit per rappresentare il
segnale in modo che la codifica sia trasparente cioè che la riproduzione sia indistinguibile dall’originale
Antonio Servetti – Codifica Audio e Formati Digitali 3
Il segnale audio
Per “audio” si intende qualunque cosa sia percepibile dal sistema uditivo umano l’intervallo di frequenze percepibili dall’apparato
uditivo umano è 20 – 20’000 Hz
Classificazione e codifica Audio naturale
natural audio coding
Audio sintetico structured audio coding / MIDI
Antonio Servetti – Codifica Audio e Formati Digitali 4
Motivazioni Interesse nato con l’audio digitale (CD-ROM)
44’100 c/s * 16 b * 2 ch = 1’411 Mbps ~ 10 MB/min Compatibile con supporti digitali ma non con trasmissione in rete (@
56 kbps ~ 24 min)
Compromesso alta fedeltà vs. bitrate SACD, DVD-Audio, lettori mp3, broadcasting, radio digitale (DAB),
cinema digitale, DVD-Video
Compressione Eliminazione dati
ridondanti (codifica entropica)
Eliminazione dati irrilevanti (codifica percettiva)
Antonio Servetti – Codifica Audio e Formati Digitali 5
Compressione Audio
Con perdite Lossy (Perceptual coding)
Senza perditeLossless (Entropy coding)
Antonio Servetti – Codifica Audio e Formati Digitali 6
Valutazione schemi di compressione
Complessità algoritmi codifica/decodifica
Efficacia, rapporto di compressione Qualità della riproduzione (golden
ears) Dibattito sulla qualità
Misure di qualità percettiva Soggettive Oggettive (PEAQ-Perceptual Evaluation
of Audio Quality): un software ad-hoc stimola l’orecchio umano e poi si valutano le risposte degli utenti
Antonio Servetti – Codifica Audio e Formati Digitali 7
Modelli di compressione
Modello di produzione è possibile elaborare un modello per la p. della voce elaborare un modello per ogni strumento, o altro tipo
di suono è troppo complesso
Antonio Servetti – Codifica Audio e Formati Digitali 8
Modelli di compressione
Modello di produzione è possibile elaborare un modello per la p. della voce elaborare un modello per ogni strumento, o altro tipo
di suono è troppo complesso
Modello di percezione
Antonio Servetti – Codifica Audio e Formati Digitali 9
Modello di percezione
La soluzione è quindi porre l’attenzione non sulla sorgente ma sulla “destinazione” dei suoni: la musica dovrà essere “ascoltata da un orecchio”
quindi risulta molto utile conoscere:• quello che un uomo medio riesce a sentire • quello che un uomo medio non riesce a sentire
Ad esempio l’orecchio umano è sensibile in misura diversa alle diverse frequenze
Si vuole trovare un modello su come vengano percepiti i suoni al di sopra della soglia di udibilità
Antonio Servetti – Codifica Audio e Formati Digitali 10
Compressione di tipo percettivo
Comprimono il segnale eliminando le parti che il nostro apparato uditivo non percepirebbe
Vantaggi Il nostro orecchio analizza i segnali in frequenza Posso discriminare tra bande in cui si hanno
comportamenti diversi dal punto di vista percettivo (mascheramento, soglia di udibilità)
"If a tree falls in the forest with no one around to hear it, does it make a sound?"
From a perceptual coding standpoint, if no one can hear it, there is no tree.
A. Moreno - Georgia Institute of Technology
Antonio Servetti – Codifica Audio e Formati Digitali 11
Coclea e membrana basilare
Coclea\flash_flv_player\video.flv
Coclea\200057.mov
Antonio Servetti – Codifica Audio e Formati Digitali 12
Schema generale Codifica a blocchi (frame) ordine millisecondi Analisi psicoacustica (FFT, 512/1024) Analisi in frequenza: trasformata (MDCT) o filtro (32) Allocazione dei bit in fz. mascheramento (SMR) Quantizzazione non uniforme (codifica con perdite) Riduzione ridondanza (senza perdite) Creazione del bitstream (formato del file)
Antonio Servetti – Codifica Audio e Formati Digitali 13
Codifica a blocchi
Il segnale viene diviso in blocchi / frame La lunghezza dei blocchi è di pochi millisecondi
Nell’ MPEG1-L1 sono 384 campioni (8.7 ms a 44 kHz)
Assunzioni Il segnale audio “assunto quasi stazionario” cambia
abbastanza lentamente nel dominio della frequenza. “Assumo” che all’interno di un blocco il segnale abbia
caratteristiche uniformi.
Antonio Servetti – Codifica Audio e Formati Digitali 14
Analisi psicoacustica
Il segnale del blocco di campioni è analizzato mediante una FFT (512/1024 punti)
Analisi percettiva per determinare Soglia di udibilità, Mascheramento, Rapporto segnale-
rumore e segnale-mascheratore
FFT
QMF
Antonio Servetti – Codifica Audio e Formati Digitali 15
Analisi psicoacustica
Decisione per l’allocazione dei bit (precisione) da utilizzare per ogni porzione di frequenza
Quantization Noise Shaping Si scompone il segnale in bande di frequenza,
si quantizza ciascuna banda in modo tale che l’errore di quantizzazione venga mascherato dal segnale (non percepito dall’orecchio)
FFT
QMF
Antonio Servetti – Codifica Audio e Formati Digitali 16
Soglia di udibilità A basse e alle alte frequenze è
necessaria maggiore intensità per avere la stessa percezione
L’orecchio umano è maggiormente sensibile alle frequenze comprese fra 2 e 4 KHz.
Antonio Servetti – Codifica Audio e Formati Digitali 17
Mascheramento
Secondo il fenomeno del mascheramento un segnale detto “mascherante” rende non percepibile un altro detto “mascherato” Non si riesce ad ascoltare uno che bisbiglia, quando
contemporaneamente qualcuno sta urlando.
Esistono due tipi di mascheramento 1. Mascheramento in frequenza 2. Mascheramento temporale
Antonio Servetti – Codifica Audio e Formati Digitali 18
Banda critica Ampiezza di banda con cui lavorano i filtri uditivi della
coclea (Fletcher, 1940) La gamma di frequenze all’interno della quale si
verificano i fenomeni di mascheramento Suoni discriminati se in separate bande critiche Nella stessa banda possono venire mascherati La presenza di rumore che copre la banda maschera i toni di
quella banda.
Antonio Servetti – Codifica Audio e Formati Digitali 19
Bark Scale
The bark scale is a standardized scale of frequency, where each “Bark” constitutes one critical bandwidth. This scale can be described as approximately equal-
bandwidth (~100Hz) up to 500Hz and approximately 20% of the central frequency above 500Hz
The subsequent band edges are (in Hz) 0, 100, 200, 300, 400, 510, 630, 770, 920, 1080, 1270, 1480, 1720, 2000, 2320, 2700, 3150, 3700, 4400, 5300, 6400, 7700, 9500, 12000, 15500.
Antonio Servetti – Codifica Audio e Formati Digitali 20
Mascheramento in frequenza
All’interno della banda critica, se si aggiungono altre componenti del segnale queste non vengono sentite se hanno intensità minore alla campana di mascheramento
Altrimenti le componenti vengono sentite il segnale si sente
non appena si supera la campana del segnale mascherante è un comportamento non lineare
Antonio Servetti – Codifica Audio e Formati Digitali 21
Mascheramento in frequenza
Soglia di mascheramento Distinguo tra
mascheramento tonale (tono puro) e mascheramento non-tonale (rumore a banda stretta)
Antonio Servetti – Codifica Audio e Formati Digitali 22
Asimmetria mascheramento
Noise Masking Tone Tone Masking Noise
Antonio Servetti – Codifica Audio e Formati Digitali 23
Mascheramento in frequenza
A livello sperimentale si considera ad esempio: un tono alla frequenza f0 (tono mascherante)
a 60 dB un secondo tono, detto tono test a intensità variabile
Il secondo tono viene “coperto” dal primo: nell'intorno di f0, quando il tono di test riduce la sua
intensità al di sotto di una certa soglia (di mascheramento) non è più udibile
A.D. 9
Antonio Servetti – Codifica Audio e Formati Digitali 24
Rapporto Segnale/Mascheratore
Minima soglia di mascheramento (in banda critica)
Antonio Servetti – Codifica Audio e Formati Digitali 25
Esempio
(modello psicoacustico)
Rumore passa basso + sinusoide a 11.250 kHz(campionamento 48kHz, FFT 512 punti)
Antonio Servetti – Codifica Audio e Formati Digitali 26
Mascheramento temporale Si suppone di avere nuovamente due toni
un tono A di elevata intensità un tono B , vicino in frequenza ad A, di minore
intensità Dalle affermazioni analizzate in precedenza si sa
che il nostro orecchio sente solo il tono di intensità più elevata (A) che si comporta come tono mascherante: se il tono A cessa di esistere, si impiega un po’ di
tempo per avvertire il tono B perché la membrana del nostro timpano deve assestarsi
il tempo che impieghiamo dipende dal volume del tono A e da quello del tono B
Antonio Servetti – Codifica Audio e Formati Digitali 27
Mascheramento temporale Pre-masking
Avviene prima dell’inizio del segnale mascherante e dura soltanto pochi millisecondi ~ 5 ms
Post-masking Può persistere per più di 100 ms dopo la fine del segnale
mascherante
Antonio Servetti – Codifica Audio e Formati Digitali 28
Mascheramento (conclusioni) È possibile mascherare dinamicamente il rumore
(prodotto dal processo di compressione) al di sotto della soglia di mascheramento. Fare in modo cioè che le componenti del rumore siano all’interno della campana di mascheramento
La somma delle campane di mascheramento produce una curva di mascheramento
Se si riesce a fare in modo che le componenti del rumore siano al di sotto di questa curva si ottiene una codifica percettivamente trasparente (il rumore è comunque presente ma non si sente)
Questi sono i fenomeni psico-acustici su cui si basano i moderni algoritmi di codifica audio percettiva come MP3, AAC, ...
Antonio Servetti – Codifica Audio e Formati Digitali 29
Schema generale Codifica a blocchi (frame) da 2 a 50 ms Analisi psicoacustica (FFT, 512/1024) Analisi in frequenza: trasformata (MDCT) o filtro (32) Allocazione dei bit in fz. mascheramento (SMR) Quantizzazione non uniforme (codifica con perdite) Riduzione ridondanza (senza perdite) Creazione del bitstream (formato del file)
Antonio Servetti – Codifica Audio e Formati Digitali 30
Codifica a sottobande
Bande in frequenza elaborate individualmente Caso base: le bande sono di uguale larghezza
• Quadrature Mirror Filtering (QMF) – band splitting Ogni banda può essere codificata con un diverso
numero di bit per “campione” in base ai calcoli del modello psicoacustico (FFT)
CAMPIONAMENTOCRITICO
Antonio Servetti – Codifica Audio e Formati Digitali 31
Subband coding e bande critiche
Bande di ugual larghezza L’allocazione dei bit non può essere modellata in modo
fine sul mascheramento del rumore (bande critiche)• A 48 kHz le bande sono di 750 Hz
Riduzione in efficienza E’ la banda critica con la massima sensibilità al rumore
che determina il numero di bit per la quantizzazione
Antonio Servetti – Codifica Audio e Formati Digitali 32
Esempio
(modello psicoacustico)
SMR
Antonio Servetti – Codifica Audio e Formati Digitali 33
Allocazione dei bit
Idea di massima: allocare i bit dove servono rispettando il limite del bit-rate Si ha a disposizione un certo numero di bit per la
quantizzazione lineare che devono essere ripartiti per ogni banda a seconda di quanto deve essere il pavimento di rumore (floor noise) per quella banda
Per fare in modo cioè che il pavimento di rumore stia al di sotto della curva di mascheramento
Antonio Servetti – Codifica Audio e Formati Digitali 34
Allocazione dei bit
Noise Shaping Dove servono i bit?
Dove il rapporto NMR = SNR (# bit) - SMR è minore
Dove SMR è negativo, il segnale è mascherato
Tanto più SMR è positivo, tanto più devo mettere bit per alzare l’NMR
Ad ogni ciclo aggiungo un bit dove SMR è minore e rifaccio i conti
Non posso usare più bit di quanto è il limite di bit-rate
Antonio Servetti – Codifica Audio e Formati Digitali 35
Codificatore MPEG L-1
0
20
40
60
80
100
0 5 10 15 20
13
12
MaskSignal
Signal-to-Mask RatioMasking-to-Noise Ratio
Bit Allocation
Antonio Servetti – Codifica Audio e Formati Digitali 36
Quantizzazione
Con la quantizzazione delle componenti spettrali del segnale si ha perdita di informazione
)(tx
Filtro 1 0 750 Hz QUANT V.M. (Ni bit)
Filtro 2 750 1500 Hz
Filtro 3223250 24000 Hz
QUANT V.M. (Ni bit)
QUANT V.M. (Ni bit)
][1 nx
][2 nx
][32 nx
Antonio Servetti – Codifica Audio e Formati Digitali 37
Quantizzazione (caveat) Si riesce a ottenere una quantizzazione percettivamente
trasparente se il: Rate necessario < Rate disponibile
dove R=48000/32 Se il:
Rate necessario > Rate disponibile la codifica non è percettivamente trasparente perché in una o più bande si sarà saliti sopra la curva di mascheramento
32
1
32...21i
NiRNRNRNRRate
Antonio Servetti – Codifica Audio e Formati Digitali 38
Block floating point quantization
Per segnali non stazionari ad ampia gamma dinamica (esponente/mantissa) (26=64*2dB)
Esponente Adatta il valore alla dinamica del quantizzatore
Mantissa Quantizzazione
del valore diviso per l’esponente
Errore di q. adattato alla dinamica del segnale
Antonio Servetti – Codifica Audio e Formati Digitali 40
Energia del segnale codificato
Antonio Servetti – Codifica Audio e Formati Digitali 41
Impacchettamento
Pattern di sincronismo
Header Controllo degli errori Allocazioni di bit per le 32 sottobande Fattori di scala (x 32) Campioni: 12 per ogni banda (0-15 bit)
Antonio Servetti – Codifica Audio e Formati Digitali 42
Bibliografia
Vincenzo Lombardo e Andrea Valle, “Audio e Multimedia- 2a Ed.”, Apogeo, 2005
Davis Pan, “A Tutorial on Mpeg Audio Compression”, IEEE Multimedia, 1995
Peter Noll, “MPEG Digital Audio Coding”, IEEE Signal Processing Magazine, 1997
T. Painter, A. Spanias, “Perceptual Coding of Digital Audio”, Proc. IEEE, 2000
J. Herre, H. Purnhagen, “General Audio Coding” Documenti vari linkati da Wikipedia.org