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