41
Codifica Audio Corso di Elaborazione del Suono Ingegneria 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 Informatica Politecnico di Torino http://www.polito.it

Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti [email protected]@polito.it

Embed Size (px)

Citation preview

Page 1: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 2: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@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

Page 3: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 4: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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)

Page 5: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 5

Compressione Audio

Con perdite Lossy (Perceptual coding)

Senza perditeLossless (Entropy coding)

Page 6: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 7: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 8: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 9: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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à

Page 10: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 11: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 11

Coclea e membrana basilare

Coclea\flash_flv_player\video.flv

Coclea\200057.mov

Page 12: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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)

Page 13: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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.

Page 14: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 15: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 16: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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.

Page 17: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 18: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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.

Page 19: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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.

Page 20: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 21: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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)

Page 22: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 22

Asimmetria mascheramento

Noise Masking Tone Tone Masking Noise

Page 23: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 24: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 24

Rapporto Segnale/Mascheratore

Minima soglia di mascheramento (in banda critica)

Page 25: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 25

Esempio

(modello psicoacustico)

Rumore passa basso + sinusoide a 11.250 kHz(campionamento 48kHz, FFT 512 punti)

Page 26: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 27: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 28: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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, ...

Page 29: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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)

Page 30: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 31: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 32: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 32

Esempio

(modello psicoacustico)

SMR

Page 33: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 34: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 35: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 36: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 37: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 38: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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

Page 39: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

Antonio Servetti – Codifica Audio e Formati Digitali 40

Energia del segnale codificato

Page 40: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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)

Page 41: Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti servetti@polito.itservetti@polito.it

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