Codecs 1
Codecs 1
Tendencias Computacionales
Los esquemas de
compresión y codificación
de voz se definen en tres
ámbitos:
Recomendaciones ITU
Telefonía Celular
Telefonía Segura (DoD)
2
Teoría Fundamental
Teoría Fundamental
n El comportamiento continuo de la señal
resultante proveniente de los transductores
tiene un alto contenido de información
redundante, es decir componentes con baja
entropía
n El Sistema de Percepción Humana es un
filtro pasa-bajos que no distingue ciertas
variaciones que sí son captadas por el
transductor
4
Teoría Fundamental
n Es posible reducir la redundancia
empleando esquemas de predicción y
procesos markovianos
n Es posible reducir la dinámica de la
información mediante la cuantificación y
codificación diferencial
n Es posible disminuir adicionalmente el
volumen de datos al canal mediante códigos
de longitud variable (VLC)
5
PCM
n Primeramente, es necesario generar un
patrón de datos en formato digital que
represente la información analógica
proveniente de los transdutores:
– DIGITALIZACIÓN o DISCRETIZACIÓN
n La Modulación de Impulsos Codificados o
PCM (Pulse Coded Modulation) es el
proceso más simple de discretización de una
señal
6
PCM
n Cuatro elementos se involucran en un
proceso PCM:
– Tasa de muestreo
– Pulse Amplitude Modulation (PAM)
– Cuantificación lineal
– Códigos a longitud fija
n El PCM es el esquema que genera menor
retardo y compresión, pero es el más simple
PCM
n Muestreo: Según el teorema de Nyquist
fmax= 4000 Hz
f(t)
=> fmuestreo = 8000 Hz
t
8
PCM
n Cada muestra es cuantificada y enviada al
canal:
– Envío de un código finito
=> alfabeto de de M elementos
– Transmisión un código cada T segundos
n El flujo de datos total (flujo entrópico) para las dos
condiciones anteriores es :
R = (1/T) log2 M bits/s
PCM
n El proceso de cuantificación permite
disminuir el flujo de datos, pero
ocasionando pérdidas en la información
fuente : Codificación con pérdidas (lossy)
10
PCM
n Dos tipos de cuantificadores según su
método de asignación de valores finitos :
– cuantificación uniforme (lineal)
– cuantificación no uniforme (no lineal)
n Un cuantificador Q(⋅) es una función definida en
términos de un conjunto finito de umbrales di y
niveles ri de reconstrucción :
Q(s) = ri , si s ∈ (di-1 , di], i=1, ..., L
Siendo L el número de niveles
11
PCM
n En cuantificador uniforme los niveles ri
están igualmente espaciados :
ri+1 - ri = Θ 1 ≤ i ≤ L-1
donde Θ es el paso de cuantificación
n El diseño de un cuantificador uniforme es
una tarea trivial :
d i = A + iθ 0≤i≤L
B− A θ
θ= r = d + 1≤ i ≤ L
L i i −1
2
12
PCM
q(s)
13
PCM
PCM(t)
0101
0100
0011
0010
0001
0000
t
1100
1011
1010
1001
1000
14
PCM
n En G.711 se emplea un cuantificador de 256
niveles:
log2 (256) = 8 bits por nivel
15
PCM
16
PCM
17
PCM
18
PCM
s(t) señal fuente
q(t+1)
q(t)
uniforme
19
PCM
n Para poder disminuir el flujo de información,
se elimina la redundancia de la señal:
– codificación de las diferencias entre niveles
antes de la cuantificación
– explotación del comportamiento gaussiano de la
señal diferencial
– empleo de VLC
DPCM
20
DPCM
DPCM(t)
} ∆= + 1 }∆ = - 2
∆= - 4
t
∆= - 3
} ∆ = -1
21
DPCM
n En DPCM, la función de densidad de
probabilidad de los valores discretos de la
señal diferencial se asemeja a una
gaussiana, de tal suerte que es posible
preveer una asignación más “justa” de
niveles de cuantificación:
22
DPCM
p(t) e(t) eq(t) Canal
- Cuantificación Codificación
p'(t)
p'(t)
23
DPCM
fdp(s)
fdp(s)
24
DPCM
e(x)
x x
Q
C
eq(x) eq(x)
x VLC
25
DPCM
n ADPCM: Adaptive DPCM
n G.726 (G.721, G.723) y G.727 emplean
ADPCM para flujos de voz a:
– 16 Kbps
– 24 Kbps
– 32 Kbps
n Dada la simplicidad de PCM y DPCM, el
retardo generado por procesamiento es el
más bajo.
26
CELP:
Code Excited Linear
Prediction
Base de la norma G.759
Codec para voz a 8 Kbps
27
G.729
28
G.729
n Eficiencia:
* SNR 26 dB
* Bajo consumo: Voice Activity Detection
* Transparencia DTMF
* Requerimientos de HW
- 10 MIPS
- 2000 words (16 bits)
29
¿¿ SNR ??
n La calidad de los procesos que involucran
señales audiovisuales se puede medir en dos
ámbitos:
* Subjetivo (percepción real)
* Objetivo (matemáticamente)
n La medición objetiva no siempre es
contundente, pero es un buen parámetro a
considerar dado que las pruebas subjetivas
son complejas, costosas y llevan tiempo
30
SNR
n En la práctica, se usa la medida matemática
denominada relación señal a ruido (Signal to
Noise Ratio (SNR o S/N)
n Diferentes definiciones del S/N existen :
σ 2N 2
S / N = 10 log10 ( ) dB
∑ ( x − x
muestras
' ) 2
31
SNR
∑x 2
S / N = 10 log10 ( muestras
) dB
∑ ( x − x' )
muestras
2
2
xmax N2
S / N = 10 log10 ( ) dB
∑ ( x − x' )
muestras
2
32
SNR
n Como se observa, todas las definiciones de
SNR derivan del error cuadrático medio
(MSE) : 1
MSE = 2 (∑muestras ( x − x' ) 2
N
– La primera relaciona el MSE con la varianza de la
señal
– La segunda relaciona el MSE con la energía promedio de la
señal (MSNR)
– La tercera relaciona el MSE con el máximo grado de energía
de la señal (PSNR)
33
G.729
n CELP: estrategia de análisis-síntesis en donde
la distorsión perceptual es medida y
compensada tiempo real
n El codificador opera con tramas de 10 ms:
=> 80 muestras a una tasa de muestreo PCM
n Las tramas se subdividen en dos partes
n Para cada sub-trama, se obtienen los
parámetros del modelo CELP
34
G.729
n Parámetros del modelo CELP:
– Tono (redundancia a largo plazo)
– Espectro (redundancia a corto plazo)
– Ganancia (volumen y modulación)
n Los parámetros son cuantificados
vectorialmente con el fin de eliminar la
irrelevancia de la información
35
G.729
n Conceptualmente:
s(t) + Filtro de
+ Ponderación MSE Minimización
- Perceptual
s’(t)
Sintetizador
Prototipo 1
Filtro Filtro
Predictor Predictor Prototipo 2
de Espectro de Tono :
Diccionarios
36
G.729
n Algoritmo:
* Linear Prediction Coding analysis (LPC)
=> obtención del espectro
* Conversión de parámetros:
=> LPC a LSP (Linear Spectrum Pair)
* Búsqueda de los representantes LSP en
los diccionario de cuantificación:
=> LSP, ACB, SCB y ganancias
37
G.729
Parámetro Bits
Coeficientes LSP 18
Tono 13
Retardo 1
Índice de los CV 26
Signo de los CV 8
Ganancia (etapa 1) 6
Ganancia (etapa 2) 8
Total 80
38
G.729
n Consideraciones:
– La obtención de los parámetros LPC se efectúa
mediante un modelo del tracto vocal humano
correspondiente a un filtro digital de orden 10
1 1
H ( z) = 10
=
1 + ∑ ai z −i
A( z )
i =1
39
G.729
– La salida del filtro para una señal de promedio
cero es:
S’(z) = H(z) T(z)
– La obtención de los parámetros del análisis
LPC se realiza encontrando los elementos a que
forman la solución a las ecuaciones:
10
0 = ∑ ai ri − j ao = 1, j = 1...10
i =0
N −1
ri = ∑ s[n]s[n − 1] i = 0...10
n =i 40
G.729
41
Pila de Protocolos
H.323 para
aplicaciones
multimedia sobre LAN
42
Arquitectura Básica
43
H.323
n Permite la integración de comunicaciones
audiovisuales en redes a conmutación LAN
n Objetivo principal: interoperabilidad con
terminales N-ISDN (H.320), B-ISDN
(H.321), IsoEthernet (H.322), GSTN
(H.324) e incluso ATM (H.310)
H.323
n Es un estándar “paraguas” que reagrupa
varias recomendaciones que van desde:
– descripción de componentes
– modelo de control de llamadas
– procedimientos de señalización
n Los elementos fundamentales de los
sistemas bajo H.323 son:
– Gateways
– Gatekeepers
– Terminales
45
Protocolos
Aplicaciones Aplicaciones Control y administración Aplicaciones
Audio Video de Terminales Datos
G.711 H.255.0 H.245.0
G.722 H.261 H.255.0
G.723.0 Canal T.124
Canal
G.728 H.263 RTCP Canal Señali Control
G.729 zación
RAS
RTP X.224 Clase 0 T.125
UDP TCP
Capa Red (IP) T.123
46
47
48
Componentes
n Terminal: PC, etc.
n Gateways: Interconexión de redes dis-
similares
n Gatekeeper: “cerebro” de la red:
– Autentificación
– manejo de ancho de banda
– tarificación
– ruteo
n MCU: Multipoint Control Unit: manejo de
recursos 49
Terminal H.323
n Debe proveer comunicación bidireccional
– Audio
– Video
– Datos
n Terminal H.323: se especifica la
señalización, mensajes de control,
multiplexaje, codecs y protocolos
n No se especifica el tipo de equipo ni
interfaces, pero sí la interoperabilidad
50
Terminal H.323
Equipo Video Codec H.261,
E/S H.263 Módulo de
control de
Codec G.711, retardo
Equipo Audio G.722, G.723.1,
E/S
Capa
G.728, G.729
LAN
Equipo Datos
T.120 ... H.255.0
Sistema de Control
Sistema de
control de la H.245
interfaz de
usuario H.255.0 Ctrl.
H.255.0 RAS
51
Terminal H.323
n H.255.0 especifica el tipo de mensajes para
la señalización de la llamada, registro,
admisión, construcción de paquetes y
sincronización del flujo de datos
n H.245 especifica el tipo de mensajes
empleados para definir la capacidad del
intercambio, abrir y cerrar canales lógicos,
indicaciones, etc.
n Se definen mecanismos de conferencia
multipunto
52
Conferencia Multipunto
n Tres tipos:
A B C
MCU
Descentralizada
multicast audio/video
A C
B
Centralizada D
MCU
E
Híbrida
A B C
53
Multipunto
n Para establecer comunicación multipunto, la
MCU se subdivide en:
– MC: Multipoint Control, que provee el control
de la comunicación, señalización común y
establecimiento de canales. Esta unidad se
puede localizar en el gateway, gatekeeper o la
terminal.
– MP: Multiponit Processor, que provee las
capacidades de procesamiento de medios y que
es requerido sólo en configuración centralizada
54
Gateway
55
Gateway
Terminal Terminal MCU
H.323 H.323 H.323
LAN sin QoS
Garantizada
Gateway
H.320 H.324 H.322 H.323 H.321 H.310
ConmutaciónP
Red N-ISDN GSTN Iso-Ether B-ISDN (ATM) B-ISDN (ATM)
aquetes
H.261 (M)
H.261 (M) H..261 (M)
Video H.261 (M) H.261 (M) H.261 (M) H.262 (M)
H.263 (M) H.263
(MPEG-2)
G.711 (M)
MPEG1 (M)
G.711 (M) G.711 (M) G.722 G.711 (M)
G.723.1 (M) G.711 (M)
Audio G.722 G.722 G.728 G.722
G.729 G.722
G.728 G.728 G.723.1 G.728
G.728
G.729
Gatekeeper
n Provee mecanismos para la administración
de la red:
– Permiso de admisión
– Ancho de banda necesario
– Tarificación
n Traducción
– Números telefónicos
– Direcciones IP
n Es opcional
58
Llamadas
A Gatekeeper B
ARQ
ACF/ARJ
Establecer
amada
Procesando ll
ARQ
ACF/ARJ
Avisando
Conectado
59
Canales
n Después de que se establece la llamada, la
comunicación se lleva a cabo a través de
canales lógicos (H.245) a diferentes
puertos:
– Canal 0: control H.245
– Múltiples canales para audio, video y datos
n Datos: según T.120
n Audio y Video: según H.255.0
– RTP para información
– RTCP para control (por canal separado)
60
QoS
n No es provisto en H.323 (best effort UDP)
n Se efectúa a través de la propuesta IETF
RTCP
n Empleo de buffers, cancelación de error y
mecanismos de FEC
n Uso del Gatekeeper para llevar información
de control de congestión y manejar
opciones
n En el caso de Internet, empleo de RSVP
para garantizar cierta QoS
61