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