Codificación de Audio

Anuncio
Tema 2: Codificación y compresión
de audio.
Bibliografía
1. Introducción.
 2. Características del audio.

Digitalización.
 Calidad de una señal de audio.
 Parámetros específicos.


3. Compresión de audio.
[FLU95] Fluckiger, “Understanding networked
multimedia”.
[SAY00] K. Sayood,“Introduction to Data
Compression”
[Pan93] Digital Audio Compression
[Pan96] A Tutorial on MPEG/Audio Compression
[MP3 Intro] An introduction to MP3
Calidad telefónica.
 Calidad CD.

Arquitecturas de red para la distribución de contenidos
Arquitecturas de red para la distribución de contenidos
1. Introducción.
 Las
secuencias de audio forman parte de las
aplicaciones multimedia.
 El estudio de la codificación y compresión se puede
enfocar en función de la aplicación:


Aplicaciones interactivas (audio-conferencia audio) codecs
simétricos.
Aplicaciones de difusión y reproducción de medios (TV digital, audio
Hi-Fi, DVD, etc.) codecs asimétricos
 Características
de una señal de audio.
 Distintos tipos de calidad de audio.
 Técnicas de compresión de audio.
2
Arquitecturas de red para la distribución de contenidos
2. Características del audio





Una señal de audio no es más que una onda acústica
(variaciones de presión del aire)
La señal de audio es unidimensional (tiempo)
El micrófono transforma las ondas acústicas que lo golpean, en
señales eléctricas (niveles de voltaje)
El oído es muy sensible a las variaciones de sonido de corta
duración (ms) al contrarío que el ojo humano.
La relación de dos sonidos A y B se mide en decibelios:


dB=20 log10 (A/B).
La intensidad de un sonido A se mide en decibelios tomando
como referencia el menor sonido audible.

0 dB: Menor sonido audible
 La señal de referencia (B) es una onda senoidal a 1khz que provoca una presión
de 0.0003 dinas/cm2
 A y B son amplitudes (si fueran potencias sería 10 log10 (A/B))
50 dB: Conversación normal.
 120dB: Umbral del dolor.

3
Arquitecturas de red para la distribución de contenidos
Características del audio
 El
rango de frecuencias audibles por los humanos
está entre 20Hz y 20KHz.
Audible
No audible
4
Arquitecturas de red para la distribución de contenidos
2.1 Digitalización y cuantificación.
 La
digitalización de las señales de audio se realizan
mediante convertidores A/D.

Muestrean la señal analógica de audio a una frecuencia
determinada.
Según Nyquist: “Si la señal de entrada tiene una frecuencia
máxima de f, la frecuencia de muestreo tiene que ser de al
menos 2f “(al muestrear a Sf captaremos hasta la frec. Sf/2)
En el conversor D/A, un filtro paso bajo puede interpolar la
parte de señal entre las muestras, para poder reconstruir
perfectamente la señal original.
5
Arquitecturas de red para la distribución de contenidos
Digitalización y cuantificación.
 Cuantificación:
Las muestras obtenidas se
codifican en un número finito de bits


Error de cuantificación (quantification noise).
Codificación lineal o logarítmica.
 PCM (Pulse Code Modulation).
 Usado para la digitalización de señales de audio.
 Parámetros: Sf, bits/muestra, niveles de cuantificación*
6
Arquitecturas de red para la distribución de contenidos
Digitalización y cuantificación.
 Cuantificación PCM lineal
 Los niveles de cuantificación están espaciados de manera
equitativa.
 Cada bit de resolución añade 6 dB de rango dinámico.
 Con 16 bits por muestra se cubre totalmente el rango dinámico
del oído humano.
 Cuantificaciones no-lineales (logarítmica)
 Los pasos de cuantificación decrecen logarítmicamente.
 El oído humano es menos sensible a sonidos fuertes.
7
Arquitecturas de red para la distribución de contenidos
Digitalización: Interfaz MIDI
 MIDI





(Musical Instrument Digital Interface).
Utilizado para codificar música (instrumentos).
Codifica los elementos básicos (notas, silencios, ritmos, etc.) en
mensajes MIDI.
Cada instrumento tiene su propio código (hasta 127)
Un sintetizador interpreta los mensajes MIDI y produce la señal de
audio correspondiente.
Ventaja:
 Reduce mucho el ancho de banda necesario (factor de 1000 !!)

Inconvenientes:
 Necesidad de un sintetizador en ambos extremos (calidad de sonido
diferente).
 Aplicable solo a música.
8
Arquitecturas de red para la distribución de contenidos
2.2 Calidad de una señal de audio.
 Voz (telefonía)
 Se define para los servicios de telefonía digital.
 Estándar G.711 (ITU): Codificación logarítmica.
 Japón y USA: Transformación µ-law.
 Resto: Transformación A-law.

Parámetros:
 Señal de audio de 3.5 KHz (BW).
 Sf = 8 KHz
 8 bits/muestra.
 Tasa de bits: 64Kbps (N-ISDN).

Otras técnicas de codificación y compresión:
 DPCM y ADPCM,
 G.72x,
 GSM,
 LPC y CELP,
 etc.
9
Arquitecturas de red para la distribución de contenidos
Calidad de una señal de audio.
 CD-Digital Audio.
 Calidad de audio superior: Sonido Hi-Fi estereofónico.
 Utiliza una codificación lineal. Las diferencias de amplitud deben ser
respetadas por igual.
 Parámetros:
 Señal de audio de 20 KHz (BW).
 Sf = 41.1 KHz
 16 bits/muestra.
 Soporta estereofonía (dos canales)
 Tasa de bits: 1.411 Mbps.

Otros estándares utilizan esta calidad de audio:
 DAT (32.4 y 48 KHz),
 MPEG (32, 44,1 y 48 KHz),
 DVI,
 etc.
10
Arquitecturas de red para la distribución de contenidos
2.3 Parámetros específicos.
 Tasa

de bits (throughput):
Audio sin comprimir:
Calidad telefónica: 64Kbps.
Calidad CD: 1.411 Mbps.

Audio comprimido:
Calidad telefónica: 32, 16, 4 Kbps (ADPCM, CELP)
Calidad CD: 192 Kbps. (MPEG audio)
 Retardo

de tránsito (aplicaciones interactivas)
Conversación:
Telefonía: < 25 ms (evitar echo).
100 a 500 ms (sensación de tiempo real).
11
Arquitecturas de red para la distribución de contenidos
Parámetros específicos.
 Varianza
del retardo (jitter).
Es el parámetro más crítico para los streams de audio.
 Solución:

 Técnicas de ecualización del retardo.
– Se suministra un tiempo adicional antes de comenzar la
reproducción, almacenando los paquetes en un buffer de entrada.
 Consecuencias:
– Incrementamos el retardo total.
– Necesitamos recursos de memoria para el buffer de ecualización.

Compromiso entre la capacidad de almacenamiento y el
máximo jitter tolerable por la aplicación.
 Tasas

de error:
Calidad telefónica: < 10-2, Calidad CD: < 10-3
12
Tema 2: Codificación y compresión
de audio.
Bibliografía
1. Introducción.
 2. Características del audio.

Digitalización.
 Calidad de una señal de audio.
 Parámetros específicos.

 3. Compresión de audio.
[FLU95] Fluckiger, “Understanding networked
multimedia”.
[SAY00] K. Sayood,“Introduction to Data
Compression”
[Pan93] Digital Audio Compression
[Pan96] A Tutorial on MPEG/Audio Compression
[MP3 Intro] An introduction to MP3
Calidad telefónica.
 Calidad CD.

Arquitecturas de red para la distribución de contenidos
Arquitecturas de red para la distribución de contenidos
3.1 Calidad telefónica
 Codificación: ITU G.711
 Muestreo: 8KHz. Muestra: 16 bits. Codificación log.
 µ-law y A-law: Codifican una muestra PCM de 16 bits (14 bits) en 8
bits.
 8 segmentos: 0xFF, 0x1FF, 0x3FF, 0x7FF, 0xFFF, 0x1FFF, 0x3FFF,
0x7FFF
Cod. lineal
A-Law
Cod. Lineal
u-Law
0000000wxyza
000wxyz
00000001wxyza
000wxyz
0000001wxyza
001wxyz
0000001wxyzab
001wxyz
000001wxyzab
010wxyz
000001wxyzabc
010wxyz
00001wxyzabc
011wxyz
00001wxyzabcd
011wxyz
0001wxyzabcd
100wxyz
0001wxyzabcde
100wxyz
001wxyzabcde
101wxyz
001wxyzabcdef
101wxyz
01wxyzabcdef
110wxyz
01wxyzabcdefg
110wxyz
1wxyzabcdefg
111wxyz
1wxyzabcdefgh
111wxyz
14
Arquitecturas de red para la distribución de contenidos
Algoritmos de compresión (Voz)

Codificación diferencial:
 DPCM (Differential Pulse Code Modulation).
Explota la redundancia temporal entre las muestras.
Se transmite la diferencia
entre muestras (bastante
menor).

Problema: Sobrecarga de gradiente (slope overload)
Las diferencias en altas
frec.(cercanas a Nyquist) no
se pueden representar con
el mismo número de bits.
15
Arquitecturas de red para la distribución de contenidos
Algoritmos de compresión (Voz)
 Codificación
diferencial adaptativa:
(Adaptive Differential Pulse Code
Modulation). Predice la muestra y cuantiza
adaptativamente.
 ADPCM
Predicción: Codifica la diferencia entre la muestra actual y
una estimación basada en las últimas “n” muestras
X[n]
D[n]
C[n]
Quantizer
(adaptive)
Xp[n-1]
Predictor
module
Codificador
C[n] Dequantizer
(adaptive)
Xp[n] Dq[n]
+
Dq[n]
Dequantizer
(adaptive)
Xp[n]
+
Xp[n-1]
Predictor
module
Decodificador
16
Arquitecturas de red para la distribución de contenidos
Algoritmos de compresión (Voz)
 Codificación diferencial adaptativa:
 ADPCM (Adaptive Differential Pulse Code Modulation).
Predice la muestra y cuantiza adaptativamente.
Cuantización adaptativa: Usa pasos más largos para codificar
diferencias entre muestras muy distintas en magnitud (de
alta frecuencia) y pasos más pequeños para muestras que
son similares (bajas frecuencias).
17
Arquitecturas de red para la distribución de contenidos
Una implementación de ADPCM
ADPCM (IMA: Interactive Multimedia
Association)
 Algoritmo
Algoritmo de dominio público. Calidad de audio e índice de
compresión aceptables.
 Sencillo y capaz de trabajar en tiempo real (software).
 Indice de compresión: (PCMbits/4) a 1.

X[n]
D[n]
Xp[n-1]
C[n]
Quantizer
(adaptive)
+
Predictor
module
Codificador
C[n] Dequantizer
(adaptive)
Xp[n] Dq[n]
Delay
Dq[n]
Dequantizer
(adaptive)
Xp[n]
+
Xp[n-1]
Delay
Decodificador
18
Arquitecturas de red para la distribución de contenidos
IMA ADPCM
B2B1B0
Tabla 1
Ajuste sobre
la tabla 2 para
decidir las
diferencias
a aplicar.
Indice
Ajuste
000
-1
001
-1
Step
0
7
Tabla 2
1
8
2
9
Distribuye el
rango dinámico
de la muestra PCM
010
-1
…..
…..
011
-1
50
876
100
2
51
963
101
4
….
….
110
6
88
32767
111
8
Start
SI
S<0
Quantizer:
tres últimos
bits
Bit3 =1
S = -S
NO
Ajuste
índice
tabla 2
Tab1
+
Step
Indice Tab2
0..88
Tab2
SI
Bit3 =0
S >= Step
Bit2 =1
S = S - Step
Retardo
siguiente
muestra
NO
SI
Bit2 =0
S >= Step/2
Bit1 =1
S = S - Step/2
NO
Quantizer
SI
S >= Step/4
Bit1 =0
Bit0 =1
NO
Bit0 =0
19
Arquitecturas de red para la distribución de contenidos
IMA ADPCM
Tabla 2: Distribuye el rango dinámico de la muestra PCM
20
Arquitecturas de red para la distribución de contenidos
IMA ADPCM: Ejemplo de funcionamiento (I)

Supongamos que queremos codificar la siguiente secuencia de
muestras de audio con IMA ADPCM:
x 150,155,167,163

Estado inicial
S=5
step=7
X
dif.
step
Result
Ajuste
Índice
Valor
reconst.
Valor
predicho
150
-
-
-
-
0
-
150
155
5
7
0010
-1
0
4
154
167
Start
163
 Dif . 
7
7 
7
0
1

x

x

x0  3.5  4
rec.  
2
4


 
¿5 < 0?
NO
¿5 >=7?
Bit3 =0
NO
SI
Bit2 =0
¿5>=3.5?
Bit1 =1
1.5>=1.75?
Bit0 =0
NO
21
Arquitecturas de red para la distribución de contenidos
IMA ADPCM: Ejemplo de funcionamiento (II)

Tercera muestra:
S=13
step=7
X
dif.
step
Result
Ajuste
Índice
Valor
reconst.
Valor
predicho
150
-
-
-
-
0
-
150
155
5
7
0010
-1
0
4
154
167
13
7
0111
8
8
13
167
163
Start
 Dif . 
7 
7
7
1
1

x

x

x1  12.25  13
rec.  
2
4


 
¿13<0?
NO
SI
Bit3 =0
¿13>=7?
Bit2 =1
SI
¿6>=3.5?
Bit1 =1
SI
2.5>=1.75?
Bit0 =1
22
Arquitecturas de red para la distribución de contenidos
IMA ADPCM: Ejemplo de funcionamiento (III)

Cuarta muestra:
S=4
step=16
X
dif.
step
Result
Ajuste
Índice
Valor
reconst.
Valor
predicho
150
-
-
-
-
0
-
150
155
5
7
0010
-1
0
4
154
167
13
7
0111
8
8
13
167
163
-4
16
1001
-1
7
-4
163
Star
t
 Dif . 
16 
16
0

16
0


x
x
x1  4  4
rec.  
4 
2
 

SI
-4 < 0?
Bit3 =1
(como Bit3=1, realmente sería -4)
4 >=16?
NO
Bit2 =0
¿4>=8?
NO
Bit1 =0
4>=4?
SI
Bit0 =1
23
Arquitecturas de red para la distribución de contenidos
Calidad telefónica: Recomendaciones ITU
 G.701:
Digitalización PCM
 G.711: Codificación logarítmica µ-law y A-law
 G.721: ADPCM
Muestreo a 8 Khz, muestras de 8 bits: 64 Kbps
 Utiliza diferencias de 4 bits: tasa de bits final 32 Kbps

 G.722:





Muestreo a 16 Khz, muestras de 14 bits: 224 Kbps
Codifica señales de audio de hasta 7 KHz (por el muestreo)
Descompone la señal en dos bandas de 4 KHz.
A cada banda le aplica ADPCM.
Tasas de bits finales: 48, 56 y 64 Kbps.
 G.723,

Sub-Band ADPCM.
G.726, G.727:
Variantes del G.721 (ADPCM).
24
Arquitecturas de red para la distribución de contenidos
Calidad telefónica: Vo-coding

LPC (Linear Predictive Coding) US-FS-1015
Define un modelo analítico del aparato fonador
 Reduce cada segmento de audio a los parámetros del modelo que más
se aproximan al original.
 El decodificador recoge estos parámetros y sintetiza la voz
correspondiente.
 LPC-10E puede bajar hasta 2.4 Kbps.


CELP (Code Excited Linear Prediction) US-FS-1016.
Es una versión mejorada del LPC.
 Diferencia:





Utiliza un code-book con secuencias predefinidas para aplicarlas a cada
frame de audio, eligiendo aquella que más se aproxima al original. Además,
calcula los errores cometidos.
Se envían los parámetros y la versión comprimida de los errores.
Tasa de bits de hasta 4.8 Kbps (calidad similar a ADPCM G.721 a 32
Kbps)
Variantes CELP:

GSM, VSELP, LD-CELP, ITU G.729, QCELP, MELT, etc.
25
Arquitecturas de red para la distribución de contenidos
Calidad telefónica
 Tabla
resumen de algunos codecs de audio.
Año
1972
1976
1984
1990
1991
1991
1992
1992
1993
1995
1995
1995
1996
Tasa de bits
(Kbps)
64
2.4
32
4.15
13
4.8
16
8
1-8
8
6.3
5-6
2.4
Nombre
MOS
PCM (PSTN)
LPC-10
G.721 ADPCM
INMARSAT
GSM
CELP (US 1016)
G.728 (LD-CELP)
VSELP
QCELP
G.729
G.723.1
Half-Rate GSM
New LPC
4.4
2.7
4.1
3.2
3.6
3.2
4
3.5
3.4
4.2
3.98
3.4
3.3
26
Arquitecturas de red para la distribución de contenidos
3.2 Calidad CD
 Estándares
MPEG/audio (Estándar ISO)
MPEG (Moving Pictures Expert Group)
 MPEG/audio ofrece altos índices de compresión, manteniendo
la calidad del audio del stream original.
 Son algoritmos de compresión con pérdidas*.

 MPEG-1
/audio
Muestreos: 32, 44.1 y 48 KHz.
 Soportan uno o dos canales (diferentes modos de operación).
 Tasas de bits: 32 a 256 Kbps/canal.
 Indices de compresión: 2.7 a 24.

 MPEG-2
/audio
Compatibilidad hacia atrás con MPEG-1.
 Diseñado para sistemas de sonido multicanal.

27
Arquitecturas de red para la distribución de contenidos
MPEG-1 audio.
 El
stream comprimido puede incluir información
auxiliar (acceso aleatorio, avance y retroceso rápido,
CRC, etc.)
 Arquitectura de tres niveles

MPEG-1 Nivel I:
El más sencillo. Tasa de bits 192 Kbps/canal. Aplicaciones:
Philips DCC

MPEG-1 Nivel II:
Complejidad media. Tasa de bits 128 Kbps/canal. Aplicaciones:
DAB, CD-I, Vídeo CD.

MPEG-1 Nivel III:
El más complejo. Ofrece la mejor calidad de audio con tasas de
bits sobre 64 Kbps/canal. Está preparado para N-RDSI.
 Existen
codecs hardware de los tres niveles para
aplicaciones de tiempo real.
28
Arquitecturas de red para la distribución de contenidos
MPEG audio: Fundamentos.
 Se
basa en la capacidad de percepción que tiene el
oído humano (modelos psico-acústicos)

Enmascaramiento de señales débiles (noise masking):
29
Arquitecturas de red para la distribución de contenidos
MPEG audio: Fundamentos.
 Discriminación

frecuencial limitada.
La agudeza (selectividad) del oído humano en baja frecuencia
es muy superior que en altas frecuencias (sub-band coding)
30
Arquitecturas de red para la distribución de contenidos
MPEG Audio: Diagrama de bloques
Codificador
PCM audio
Time-Frec
Sub-band
filtering
Asig. Bits.
Cuantizador
Codificador
Modelo
psico-acúst.
Formato del
stream de bits
Stream de bits
comprimido
Datos auxiliares
(opcional)
Decodificador
Stream de bits
comprimido
Desensamblado
Reconst.
de bandas
Transformación
Frec-Time
PCM audio
Datos auxiliares
(opcional)
31
Arquitecturas de red para la distribución de contenidos
MPEG-1 audio: Niveles.
 Nivel I:
 Se divide la señal de audio en 32 bandas de 750 Hz.
 Tasa de muestreo: 48 Khz. Tamaño de trama: 384 muestras
 El umbral de enmascaramiento (SMR) se calcula con una FFT de
512 puntos (modelo psico-acústico).
 Para cada sub-banda se escoge uno de los 15 cuantizadores
definidos en función del SMR y la tasa de bits requerida.
 Nivel II:
 Utiliza un tamaño de trama de 1152 muestras, una FFT de 1024
puntos (cálculo del SMR) y una cuantización más fina.
 Nivel III:
 Incrementa la resolución en frecuencia de las 32 bandas (MDCT),
utiliza un modelo psico-acústico más elaborado, y añade una etapa
de compresión Huffman.
32
Arquitecturas de red para la distribución de contenidos
MPEG Audio: Calidad de audio
 Parámetros de calidad objetivos:
 MSE (Mean Square Error).
Calcula el error cuadrático medio entre la señal original y la
reconstruida con el codec.
1
MSE 
N

 s i   s i  


i 1 
N
2
SNR (Signal-to-Noise Ratio)
Relación logarítmica entre dos señales. Se utilizará para
comparar la señal original con el error introducido por el codec.
Se expresa en decibelios (dB).
1
SNR (dB)  10 log10
N
N
 si 
i 1
MSE
2
2552
PSNR  10 log10
MSE
33
Arquitecturas de red para la distribución de contenidos
MPEG Audio: Calidad de audio.
 Parámetros de calidad subjetivos:
 MOS (Mean Opinion Score): MPEG define una serie de tests para
determinar la calidad de audio generada por cada nivel.
 Resultados:
 Fuente:
 Estéreo, 16bits, 48KHz,
256 Kbps
 Compresión 6:1
 En condiciones de escucha
óptimas, expertos en audición
han sido incapaces de
distinguir secuencias
comprimidas de sus
originales.
34
Descargar