Codifica del Segnale Audio
Transcript
Codifica del Segnale Audio
Codifica audio Tecniche di Codifica del Segnale Audio Gruppo Reti TLC [email protected] http://www.telematica.polito.it/ CODIFICA DEL SEGNALE VOCALE - 1 Percezione del Suono • Banda: 20 Hz – 20 KHz • Dinamica: ~96 dB • La risoluzione in frequenza non è costante: al crescere della frequenza diminuisce la capacità di discriminare tra suoni a frequenze vicine • Anche la risoluzione in ampiezza non è costante • Solitamente si usano scale logaritmiche per entrambe le grandezze CODIFICA DEL SEGNALE VOCALE - 2 Pag. 1 Codifica audio Percezione del Suono (2) • L’ampiezza percepita dipende dalla frequenza, cioè a parità di intensità un suono viene percepito come più forte o più debole a seconda delle frequenze che lo compongono • Le critical band sono bande di frequenza su cui la percezione dell’ampiezza è all’incirca uniforme • La dimensioni delle critical band variano tra 50 Hz (alle minime frequenze udibili) e 4 KHz (alle massime) • In prima approssimazione lo spettro udibile può essere suddiviso in 26 critical band CODIFICA DEL SEGNALE VOCALE - 3 Percezione del Suono (3) In figura è rappresentata l’area udibile, compresa tra la soglia del silenzio e quella del dolore CODIFICA DEL SEGNALE VOCALE - 4 Pag. 2 Codifica audio Mascheramento • Un segnale maschera (cioè rende non udibili) segnali di ampiezza inferiore che gli siano vicini nel tempo o in frequenza • L’intensità dell’effetto dipende dalla distanza nel tempo o in frequenza • Dipende inoltre da ampiezza, frequenza e tipo (tono o rumore) del segnale mascherante CODIFICA DEL SEGNALE VOCALE - 5 Mascheramento in Frequenza CODIFICA DEL SEGNALE VOCALE - 6 Pag. 3 Codifica audio Codifica del Segnale Audio • Segnale non compresso, qualità CD: – 44100 Hz, 16 bit per campione, 2 canali Î Rate: 1.4 Mbit/s • Il bit-rate può essere ridotto con tecniche ADPCM • Tecniche tipo LPC o CELP non funzionano bene data la difficoltà di modellizzare sorgenti con caratteristiche estremamente varie • I risultati migliori si ottengono con codificatori psicoacustici che sfruttano le caratteristiche e i limiti percettivi dell’orecchio descritti in precedenza CODIFICA DEL SEGNALE VOCALE - 7 Codifica MPEG • MPEG (Moving Pictures Experts Group) è il nome di un gruppo di lavoro dell’ISO che ha prodotto standard per la compressione di segnali audio e video • Lo standard specifica il formato del bitstream e il processo di decodifica e definisce test di conformità • I dettagli implementativi del codificatore e del decodificatore non sono specificati, in modo tale che ogni progettista possa sviluppare le proprie soluzioni • L’interoperabilità tra implementazioni diverse è garantita fintantoché le specifiche dettate dallo standard vengono rispettate CODIFICA DEL SEGNALE VOCALE - 8 Pag. 4 Codifica audio Codifica MPEG (2) • La compressione è lossy, cioè parte dell’informazione contenuta nel bitstream originale va perduta • Tuttavia, sfruttando le caratteristiche e i limiti percettivi dell’orecchio, diventa “perceptually lossless” • Gruppi di ascoltatori esperti, in condizioni ottimali, non sono riusciti a distinguere bitstream codificati con rapporto di compressione 6:1 dagli originali CODIFICA DEL SEGNALE VOCALE - 9 Algoritmo di Codifica • Il segnale in ingresso è costituito da campioni PCM • Viene trasformato in frequenza e il suo spettro scomposto in 32 sottobande di uguale ampiezza • Basandosi sul modello psicoacustico si determinano gli effetti di mascheramento in ogni sottobanda • Conseguentemente si decide quanti bit impiegare per la codifica di ogni sottobanda CODIFICA DEL SEGNALE VOCALE - 10 Pag. 5 Codifica audio Algoritmo di Codifica (2) • In particolare: – se l’ampiezza del segnale nella sottobanda è minore della soglia di mascheramento, non viene codificato – altrimenti si alloca un numero di bit sufficiente a far sì che il rumore di quantizzazione σx2 sia inferiore alla soglia di mascheramento (per ogni bit aggiunto σx2 diminuisce di 6 dB) • Infine si costruisce un frame contenente un header, la ripartizione dei bit, i valori dei campioni e informazioni ausiliarie (CRC, etc.) CODIFICA DEL SEGNALE VOCALE - 11 Codificatore e Decodificatore input (PCM) Scomposizione in sottobande Allocazione dei bit alle sottobande Formattazione del bitstream Decodifica in sottobanda Estrazione dei parametri dal bitstream output (MPEG) Calcolo delle maschere output (PCM) Ricostruzione nel tempo input (MPEG) CODIFICA DEL SEGNALE VOCALE - 12 Pag. 6 Codifica audio Osservazioni • Per semplificare l’implementazione del sistema, il banco di filtri che effettua la scomposizione del segnale in sottobande non è ottimale: – Le 32 sottobande hanno uguale ampiezza; si otterrebbero risultati migliori se ci fosse corrispondenza tra le sottobande e le critical band – La scomposizione dello spettro del segnale in sottobande non è pefettamente reversibile; l’operazione inversa introduce un errore, anche se piccolo – Le bande dei filtri non sono totalmente disgiunte, quindi il segnale in una sottobanda è parzialmente influenzato dai segnali nelle sottobande adiacenti CODIFICA DEL SEGNALE VOCALE - 13 Lo Standard MPEG-1 Audio (1992) • Tre frequenze di campionamento: 32 KHz, 44.1 KHz e 48 KHz • Modalità multi-canale: – – – – Mono (canale singolo) Dual mono (2 canali indipendenti, e.g. audio bilingue) Stereo (canali L e R trasmessi separatamente) Joint-stereo (sfrutta la correlazione tra i due canali e proprietà percettive per migliorare il rapporto di compressione) • Bitrate: – Costanti e predefiniti nel range 32 – 224 Kbit/s – Possibilità di supportare anche bitrate diversi da quelli predefiniti o variabili CODIFICA DEL SEGNALE VOCALE - 14 Pag. 7 Codifica audio Livelli • Lo standard prevede tre livelli (“layer”) di compressione • Il livello I costituisce la realizzazione di base del sistema; i livelli II e III ne migliorano le performance impiegando blocchi funzionali più complessi • Indicativamente, i tre livelli sono stati pensati per applicazioni in cui il bitrate disponibile è rispettivamente maggiore, circa uguale o minore di 128 Kbit/s • MPEG-1 Layer III corrisponde al formato MP3 CODIFICA DEL SEGNALE VOCALE - 15 Layer I • Per ogni sottobanda si considerano blocchi da 12 campioni ognuno Filtro Sottobanda 0 12 campioni 12 campioni 12 campioni Filtro Sottobanda 1 12 campioni 12 campioni 12 campioni Filtro Sottobanda 31 12 campioni 12 campioni 12 campioni CODIFICA DEL SEGNALE VOCALE - 16 Pag. 8 Codifica audio Layer I (2) • Per ogni blocco viene stabilito un numero di bit per campione compreso tra 0 e 15 e un fattore di scala • Il fattore di scala è un termine moltiplicativo che serve a migliorare la quantizzazione (come in APCM) e viene rappresentato su 6 bit • Complessivamente il formato dei frame risulta essere (dimensioni in bit): Header (32) CRC (0,16) Bit allocation (128-256) Scale factors (0-384) Samples Ancillary data CODIFICA DEL SEGNALE VOCALE - 17 Layer II • Migliora le performance rispetto a Layer I considerando gruppi di 3 blocchi da 12 campioni ognuno • Viene impiegato un unico fattore di scala per due o tre blocchi consecutivi se le differenze tra le dinamiche sono abbastanza piccole o comunque non percepibili per effetti di mascheramento nel tempo • Usa codifiche più efficienti per i campioni, i fattori di scala e l’allocazione dei bit CODIFICA DEL SEGNALE VOCALE - 18 Pag. 9 Codifica audio Layer III • Si tratta di uno schema molto più complesso e con prestazioni nettamente superiori rispetto ai layer I e II • Compensa le non-ottimalità del banco di filtri trattando i campioni in uscita da ogni filtro con una “Modified Discrete Cosine Transform” (MDCT): – Effettua una ulteriore scomposizione delle sottobande, offrendo una maggiore risoluzione spettrale – Elimina parte dell’aliasing causato dalle sovrapposizioni delle bande dei filtri CODIFICA DEL SEGNALE VOCALE - 19 Layer III (2) • Varia dinamicamente la dimensione dei blocchi (12 o 36 campioni) a seconda che sia da privilegiare la risoluzione nel tempo (transitori) o in frequenza (segnali stazionari) • Utilizza una quantizzazione più efficace (non uniforme) dei campioni • Impiega una codifica più efficiente per i valori quantizzati, detta “codifica entropica” • Alloca il numero di bit ad ogni sottobanda con un algoritmo più sofisticato CODIFICA DEL SEGNALE VOCALE - 20 Pag. 10 Codifica audio MPEG-2 Audio (1994) • Supporto multicanale: fino a 5 canali hi-fi più un canale a bassa frequenza (schema noto come 5.1) • Fino a 7 canali audio di commento multilingue • Tre nuove frequenze di campionamento (16, 22.05 e 24 KHz) • Supporto per bitrate inferiori, fino a 8 Kbit/s • Parziale compatibilità con MPEG-1 – Decoder MPEG-2 riescono a interpretare stream MPEG-1 – Stream MPEG-2 possono essere formattati in maniera tale che i decoder MPEG-1 riescano a interpretarne due canali CODIFICA DEL SEGNALE VOCALE - 21 Bibliografia • D. Pan, “A Tutorial on MPEG/Audio Compression”, IEEE Multimedia, Vol. 2 No. 2, pp. 60-74, 1995 • D. Pan, “Digital Audio Compression”, Digital Technical Journal, Vol. 5, No. 2, Spring 1993 • ISO/IEC International Standard IS 11172-3 “Information Technology – Coding of Moving Pictures and Associated Audio for Digital Storage Media at up to 1.5 Mbits/s – Part 3: Audio” CODIFICA DEL SEGNALE VOCALE - 22 Pag. 11