EdS-3-CodificaAudio-A_new - Andrea Sanna

Codifica Audio
Corso di Elaborazione del Suono
Ingegneria del Cinema e dei Mezzi di Comunicazione
Ph.D. Ing. Antonio Servetti
Internet Media Group
Dip. di Automatica ed Informatica
Politecnico di Torino
[email protected]
http://media.polito.it
http://www.polito.it
Introduzione

La compressione ha l’obiettivo di minimizzare le
risorse per i dati audio



Attenzione rivolta alla banda:


Memoria occupata
Tempo di trasmissione
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
2
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
3
Motivazioni

Interesse nato con l’audio digitale (CD-ROM)



Compromesso alta fedeltà vs. bitrate


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)
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
4
Compressione Audio
Senza perdite
Lossless (Entropy coding)
Con perdite
Lossy (Perceptual coding)
Antonio Servetti – Codifica Audio e Formati Digitali
5
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
6
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
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
Modello di percezione
Antonio Servetti – Codifica Audio e Formati Digitali
8
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
9
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
10
Coclea e membrana basilare
Coclea\flash_flv_player\video.flv
Coclea\200057.mov
Antonio Servetti – Codifica Audio e Formati Digitali
11
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
12
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
13
Analisi psicoacustica

Il segnale del blocco di campioni è analizzato
mediante una FFT (512/1024 punti)

Analisi percettiva per determinare

Soglia di udibilità, Mascheramento, Rapporto segnalerumore e segnale-mascheratore
QMF
FFT
Antonio Servetti – Codifica Audio e Formati Digitali
14
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)
QMF
FFT
Antonio Servetti – Codifica Audio e Formati Digitali
15
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
16
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
17
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
18
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 equalbandwidth (~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
19
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
20
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
21
Asimmetria mascheramento

Noise Masking Tone

Tone Masking Noise
Antonio Servetti – Codifica Audio e Formati Digitali
22
Mascheramento in frequenza

A livello sperimentale si considera ad esempio:



Il secondo tono viene “coperto” dal primo:


un tono alla frequenza f0 (tono mascherante)
a 60 dB
un secondo tono, detto tono test a intensità variabile
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
23
Rapporto Segnale/Mascheratore

Minima soglia di mascheramento (in banda critica)
Antonio Servetti – Codifica Audio e Formati Digitali
24
Esempio

(modello psicoacustico)
Rumore passa basso + sinusoide a 11.250 kHz
(campionamento 48kHz, FFT 512 punti)
Antonio Servetti – Codifica Audio e Formati Digitali
25
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
26
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
27
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
28
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
29
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)
CAMPIONAMENTO
CRITICO
Antonio Servetti – Codifica Audio e Formati Digitali
30
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
31
Esempio
(modello psicoacustico)
SMR
Antonio Servetti – Codifica Audio e Formati Digitali
32
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
33
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
34
Codificatore MPEG L-1
100
Mask
Signal
Signal-to-Mask Ratio
Masking-to-Noise Ratio
Bit Allocation
80
13
12
60
40
20
0
0
5
10
15
20
Antonio Servetti – Codifica Audio e Formati Digitali
35
Quantizzazione

Con la quantizzazione delle componenti spettrali
del segnale si ha perdita di informazione
Filtro 1
0  750 Hz
x(t )
Filtro 2
750  1500 Hz
Filtro 32
23250  24000 Hz
x1[n]
QUANT V.M. (Ni bit)
x2 [n]
QUANT V.M. (Ni bit)
x32[n]
QUANT V.M. (Ni bit)
Antonio Servetti – Codifica Audio e Formati Digitali
36
Quantizzazione (caveat)

Si riesce a ottenere una quantizzazione percettivamente
trasparente se il:

Rate necessario < Rate disponibile
32
Rate  R  N1  R  N 2  ...  R  N 32  R   Ni
dove R=48000/32

i 1
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
Antonio Servetti – Codifica Audio e Formati Digitali
37
Block floating point quantization

Per segnali non stazionari ad ampia gamma
dinamica (esponente/mantissa) (26=64*2dB)

Esponente


Mantissa


Adatta il valore alla dinamica del quantizzatore
Quantizzazione
del valore diviso per
l’esponente
Errore di q. adattato
alla dinamica del
segnale
Antonio Servetti – Codifica Audio e Formati Digitali
38
Energia del segnale codificato
Antonio Servetti – Codifica Audio e Formati Digitali
40
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
41
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
Antonio Servetti – Codifica Audio e Formati Digitali
42