La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti

Presentazioni simili


Presentazione sul tema: "Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti"— Transcript della presentazione:

1 Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti Internet Media Grouphttp://media.polito.ithttp://media.polito.it Dip. di Automatica ed Informatica Politecnico di Torinohttp://www.polito.ithttp://www.polito.it

2 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

3 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

4 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)

5 Antonio Servetti – Codifica Audio e Formati Digitali 5 Compressione Audio Con perdite Lossy (Perceptual coding) Senza perdite Lossless (Entropy coding) The imperceptible information removed by the perceptual coder is called the irrelevancy of the signal. In practice, most perceptual coders attempt to remove both irrelevancy and redundancy in order to make a coder that provides the lowest bit rate possible for a give audible quality. Perceptual coders will, in general, have a lower SNR than a source coder, and a higher perceived quality than a source coder of equivalent bit rate.

6 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

7 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

8 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

9 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à

10 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

11 Antonio Servetti – Codifica Audio e Formati Digitali 11 Coclea e membrana basilare Coclea\flash_flv_player\video.flv Coclea\ mov

12 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)

13 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. Tecniche floating point Mi permettono di scegliere la banda d'ampiezza da usare,per privilegiare con un campionamento maggiore le bande di frequenza su cui si attesta maggiormente il suono; * istantaneo: per ogni ampiezza istantanea viene codificato un esponente e una mantissa; * sillabico: si usa un buffer in cui porzioni del segnale analogico viene memorizzato per esser analizzato,al fine di ricercare quel fattore omogeneo in tutta la porzione considerata tale che possa essere codificato una volta sola. il problema è che non si sa a priori quanto siano grandi le sillabe,ciò implica quindi un ritardo nei calcoli e nella costruzione del segnale nell'associamento dei valori,senza contare l'impiego della memoria. Non sono adatti per applicazioni in real- time;

14 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

15 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

16 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. [Images] hyperphysics.phy-str.gsu.edu/.../earcrv.html The measured threshold of hearing curve shows that the sound intensity required to be heard is quite different for different frequencies. The standard threshold of hearing at 1000 Hz is nominally taken to be 0 dB, but the actual curves show the measured threshold at 1000 Hz to be about 4 dB. There is marked discrimination against low frequencies so that about 60 dB is required to be heard at 30 Hz. The maximum sensitivity at about 3500 to 4000 Hz is related to the resonance of the auditory canal. Progressive Discrimination Against Low Frequencies For very soft sounds, near the threshold of hearing, the ear strongly discriminates agains low frequencies. For mid-range sounds around 60 phons, the discrimination is not so pronounced and for very loud sounds in the neighborhood of 120 phons, the hearing response is more nearly flat. One of the implications of this aspect of human hearing is that you will perceive a progressive loss of bass frequencies as a given sound becomes softer and softer. For example if you are listening to a recording of an orchestra and you turn the volume down, you will find that the bass instruments are less and less prominent. This is the purpose of the so-called "loudness contours" on audio amplifiers; they allow you to boost the bass frequencies when you are listening at low sound levels to give you a more realistic balance of the high and low frequencies in the music. This aspect of human hearing has important implications for the design of auditoriums for music performance. As the sound gets softer toward the back of the auditorium, the listener will perceive a loss of bass frequencies, an undesirable condition. To overcome this "bass loss problem", auditorium designs must attempt to provide some reinforcement of the low frequencies.

17 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

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

19 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, m

20 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

21 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)

22 Antonio Servetti – Codifica Audio e Formati Digitali 22 Asimmetria mascheramento Noise Masking Tone Tone Masking Noise

23 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 [Image] Spanias: perceptual coding audio, from [42,Zwicker]

24 Antonio Servetti – Codifica Audio e Formati Digitali 24 Rapporto Segnale/Mascheratore Minima soglia di mascheramento (in banda critica) Scala logaritmica = differenze Se tale tono è quantizzato con m bit = allora il rumore potrebbe raggiungere il livello contrassegnato con m (SNR=tono-rumore) SMR=signal-to-mask ratio NMR=noise-to-mask ratio Sarà sufficiente allocare il numero di bit necessario per raggiungere il livello SMR piuttosto che il più oneroso SNR (a parità di qualità percettiva)

25 Antonio Servetti – Codifica Audio e Formati Digitali 25 Esempio (modello psicoacustico) Rumore passa basso + sinusoide a kHz (campionamento 48kHz, FFT 512 punti)

26 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

27 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 [Image, Spanias, Percaptual coding audio] Nonsimultaneous masking properties of the human ear. Backward (pre) masking occurs prior to masker onset and lasts only a few milliseconds; forward (post) masking may persist for more than 100 ms after masker removal (after [42]).

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

29 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)

30 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) La frequenza di ampionamento deve essere almeno il doppio della larghezza di banda del segnale da campionare. CAMPIONAMENTO CRITICO

31 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 L’allocazione dei bit non può essere modellata in modo fine sul mascheramento del rumore, che è molto influenzato dai limiti della banda critica. Di fatto alle basse frequenze, una banda del filtro include più bande critiche.

32 Antonio Servetti – Codifica Audio e Formati Digitali 32 Esempio (modello psicoacustico) La differenza (NMR) ci da un indice di quanti bit servono per codificare il segnale (1b ~ 6dB) SMR

33 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

34 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

35 Antonio Servetti – Codifica Audio e Formati Digitali 35 Codificatore MPEG L-1

36 Antonio Servetti – Codifica Audio e Formati Digitali 36 Quantizzazione Con la quantizzazione delle componenti spettrali del segnale si ha perdita di informazione Filtro 1 0  750 Hz QUANT V.M. (Ni bit) Filtro  1500 Hz Filtro  Hz QUANT V.M. (Ni bit)

37 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

38 Antonio Servetti – Codifica Audio e Formati Digitali 38 Block floating point quantization Per segnali non stazionari ad ampia gamma dinamica (esponente/mantissa) (2 6 =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 Quantizzazione floating point Per i segnali sorgenti che sono non stazionari e ad ampia gamma dinamica la quantizzazione può essere effettuata codificando il valore di ampiezza del segnale con un codice numerico di lunghezza fissa integrato da un termine moltiplicativo (anch'esso di lunghezza fissa) che ne consente la più opportuna collocazione nella gamma dinamica; in altri termini, possiamo considerare questa codifica come costituita da una mantissa e un esponente; perciò si parla di quantizzazione a parola con virgola mobile o, più comunemente, floating-point o anche a intervallo di quantizzazione variabile. L'errore di quantizzazione (di granularità) in questo modo aumenta o diminuisce coerentemente con la gamma dinamica del segnale sorgente (vedi figura nel lucido). Poiché, inoltre, esistono diverse codifiche floating-point per il medesimo valore del segnale sorgente è evidente che non si tratta di un codice ottimale; d'altra parte, consente sia di "adattare" il rumore di quantizzazione alla dinamica del segnale che di comprimere la codifica lineare ottenibile con il metodo lineare di quantizzazione che abbiamo visto precedentemente. Sono noti in letteratura principalmente tre diversi metodi per applicare la codifica a parola di quantizzazione floating-point: a) istantaneo: per ogni numero campione del segnale viene calcolata la coppia mantissa- esponente; è ottimale come limitazione del rumore di quantizzazione, ma implica la codifica dell'esponente per ogni mantissa e perciò ha un fattore di compressione non ottimale; b) sillabico: il valore dell'esponente varia adattivamente in funzione della gamma dinamica del segnale sorgente; quando l'ampiezza aumenta o diminuisce per un certo intervallo di tempo viene variato l'esponente; richiede memoria proporzionalmente all'intervallo di tempo massimo considerato, ma consente di non codificare l'esponente se non quando viene variato; in tal caso dovrà ovviamente essere reso identificabile mediante un codice opportuno; c) a blocchi: il valore dell'esponente viene codificato ogni N valori del segnale sorgente, perciò viene chiamata codifica floating-point a blocchi; richiede memoria per N valori di mantissa per poter calcolare l'esponente ottimale di ogni blocco.

39 Antonio Servetti – Codifica Audio e Formati Digitali 39 Fattori di scala I valori in ogni sottobanda subiscono una compansion in funzione del valore di picco in quella sottobanda Il fattore di scala determina il passo di quantizzazione (6 bit, 64 livelli) Typically, two different approaches are used as scalar quantization schemes: Firstly, the group of spectral coefficients is normalized by a common multiplier (ÒscalefactorÓ) to match the operation range of the quantizer and is then quantized using the same quantizer resolution (number of bits per sample). Both the multiplier and the quantizer resolution are transmitted to the decoder as side information. This scheme is traditionally known as Òblock compandingÓ or Òblock floating pointÓ [14] and is used widely in low complexity coders, like MPEG- 1/2 Layers I and II, ATRAC and AC-3. Accordingly, different terminology is used for the groups of spectral coefficients (Òscalefactor bandsÓ, Òblock floating unitsÓ), the common multiplier (ÒscalefactorÓ, ÒexponentÓ), the quantized values (ÒmantissaÓ) and the used quantizer resolution (Òbit allocation informationÓ).

40 Antonio Servetti – Codifica Audio e Formati Digitali 40 Energia del segnale codificato

41 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)

42 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


Scaricare ppt "Codifica Audio Corso di Elaborazione del Suono Ingegneria del Cinema e dei Mezzi di Comunicazione Ph.D. Ing. Antonio Servetti"

Presentazioni simili


Annunci Google