Está en la página 1de 86

Codificacin de voz

EL 55A Sistemas de telecomunicaciones

Prof. Nstor Becerra Yoma, Ph.D.

Laboratorio de Procesamiento y Transmisin de Voz


U i
Universidad
id d d
de Chil
Chile

Universidad
de Chile
Contenidos

Modelo de produccin de la voz


Codificacin de la voz
Vocoder LPC
Anlisis por sntesis
Vocoder MELP (Introduccin y estndar MIL-STD-3005)

Universidad
2 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
Filtro del tracto vocal
La frecuencia fundamental y las cuerdas vocales
Formantes

Universidad
3 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
Filtro del tracto vocal

Universidad
4 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
Filtro del tracto vocal
Modelo del filtro del tracto vocal

4
x 10
1.5

0.5

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3 3.5 4
4
x 10

Universidad
5 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
La frecuencia fundamental y las cuerdas vocales
Vibracin de las cuerdas vocales
La frecuencia fundamental (FO) corresponde al tono
La p
percepcin
p del tono se conoce como Pitch

Universidad
6 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
La frecuencia fundamental y las cuerdas vocales
0,3

0,2

0,1
Amplitud

0,0

-0,1

-0,2

-0,3
0,00 0,01 0,02 0,03

tiempo (s)

Universidad
7 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
Formantes
Los formantes ((de forma)) son zonas en el espectro
p de
frecuencias en las que todo harmnico que cae en esas
zonas es amplificado y potenciado.
Polos
P l del
d l LPC
Concentraciones de energa

Universidad
8 de Chile
Modelo de produccin y de percepcin
d la seal de
de d voz
Formantes

Universidad
9 de Chile
Codificacin

Qu es codificacin?
Tipos
p de codificadores de voz
Forma de onda
Vocoders

Universidad
10 de Chile
Codificacin

Qu es codificacin?
Comprimir
p informacin p
para transmitir o almacenar
Codificadores.
Para enviar.
Decodificadores.
Para Recibir.
Sistema de
Si d codificacin
difi i y decodificacin
d difi i se conoce como
CODEC.

Universidad
11 de Chile
Codificacin

Qu es codificacin?
Esquema
q Bsico de codificacin:

Voz de
S(t) S(n) Sq(n) Seal Codificada
entrada
Filtro pasa bajo
Muestreo Cuantizador Codificador 00100001..
Anti-alias

Seal Seal en Seal


analgica tiempo discreto cuantificada

Universidad
12 de Chile
Codificacin

Tipos de codificadores de voz


Forma de Onda: Preservan la forma de onda de la seal
Vocoders: Analizan la seal y extraen los parmetros del
modelo de produccin de la voz

Universidad
13 de Chile
Codificacin

Tipos de codificadores de voz


Forma de Onda
Seal decodificada semejante a original
Utiliza caractersticas de la voz en mayor o menor grado
En trminos
i generales
l la l seall de
d voz es filtrada,
fil d muestreada,
d
cuantizada y codificada.

Universidad
14 de Chile
Codificacin

Tipos de codificadores de voz


Forma de Onda
Los ms conocidos:
Pulse Code Modulation (PCM) ITU G711
Ley A
Ley
Adaptive Delta Pulse Code Modulation (ADPCM) ITU G726

Universidad
15 de Chile
Codificacin

Tipos de codificadores de voz


Vocoders
El propsito es poder transmitir voz maximizando la calidad
subjetiva con el menor ancho de banda posible
Modelos basados en la produccin y recepcin de la voz.
voz
Codificacin por frames, no muestra a muestra
Codificadores con tasas incluso p
por debajo
j de 2.5 kbps.
p

Universidad
16 de Chile
Codificacin

Tipos de codificadores de voz


Vocoders
Vocoder conocidos:
Bsico
LPC
Anlisis por sntesis
CELP
RELP
GSM
Anlisis por sntesis + Excitacin mezclada
MELP

Universidad
17 de Chile
Codificacin

Medidas de calidad de la voz en codificacin


Mtodos subjetivos
j
La calidad de la voz se establece a travs de la opinin del usuario
Mean Opinin Store (MOS)
M d objetivos
Mtodos bj i
Comparacin de una seal inicial con una seal degradada
Perceptual Evaluation of Speech Quality (PESQ)

Universidad
18 de Chile
LPC (Linear Predictive Coding)

Modelo predictivo lineal del conducto vocal


La idea pprincipal
p se basa en qque la seal de voz p puede
modelarse a travs de una combinacin lineal de p muestras
anteriores ms una seal de excitacin o ruido blanco.
p

s[n] = ak s[n k ] + e[n]


k =1

Universidad
19 de Chile
LPC (Linear Predictive Coding)

1.8

1.6

1.4

1.2

0.8

0.6

0.4

0.2

0 4
0 500 1000 1500 2000 2500 3000 3500 x 10
15
1.5

0.5

-0.5

-1

-1.5
0 0.5 1 1.5 2 2.5 3 3.5 4
4
x 10

100

80

60

40

20

-20

-40

-60

-80

-100
3.44 3.45 3.46 3.47 3.48 3.49 3.5 3.51 3.52 3.53
4
x 10

Universidad
20 de Chile
LPC (Linear Predictive Coding)

Para determinar los coeficientes del LPC se pueden deducir


las ecuaciones de Yule-Walker a partir de la minimizacin
del error cuadrtico medio
2

p

E = e ( n ) = s( n ) k s( n k )
2

n = n = k =1

E
=0 k = 1,2,3,......., p
k

Universidad
21 de Chile
LPC (Linear Predictive Coding)

Luego se tiene p ecuaciones lineales:


p

s(n i )s(n) = s(n i )s(n k )


k
n = k =1 i =
i = 1,2,3,......, p
Si definimos:
N 1

R (i ) = s( n )s( n i )
n=i
i = 1,2,3,......, p
Reemplazando:
p

k R (i k ) = R (i ) (*)
k =1 i = 1,2,3,......, p
Universidad
22 de Chile
LPC (Linear Predictive Coding)

De las ecuaciones anteriores tenemos que, la energa


residual mnima o el error de prediccin mnima Ep para un
modelo de p polos p
E p = R (0 ) k R (k )
k =1
Ecuacin (*) se puede representar matricialmente como:
R ( 0) R(1) R (2) ... R ( p 1) 1 R(1)
R(1)
R (0) R(1) ... R( p 2) 2 R (2)
: : : ... : : = :

: : : ... : :
:
R ( p 1) R ( p 2) R( p 3) ... R(0) p R ( p )

Universidad
23 de Chile
LPC (Linear Predictive Coding)

Resumiendo:

R * A = r
define las ecuaciones de Yule-Walker y donde R es una
matriz de p x p. Invirtiendo la matriz R se puede obtener el
vector A de coeficientes del LPC.

Mtodo de Levinson-Durbin
Consiste en aprovechar las simetras de la matriz.

Universidad
24 de Chile
LPC (Linear Predictive Coding)

Mtodo de Levinson-Durbin
m 1

R( m) im 1 R( m i )
km = i =1

E m 1

m
m = km

im = im 1 km mmi1 1 i m 1

Universidad
25 de Chile
LPC (Linear Predictive Coding)

Mtodo de Levinson-Durbin

( )
E m = 1 k m2 E m 1

Donde inicialmente:
E 0 = R (0)
0 = 0

Donde im indicando el coeficiente LPC i en la m-sima iteracin

Universidad
26 de Chile
Cuantizacin vectorial (VQ)

Motivacin:
LPC ~ 10 coeficientes (10 float 4 bytes)
Pitch (float 4 bytes)
V/U (1 bits)
Ganancia ((float 4 bytes)
y )
bits bits bits
4 bytes 8 10 + 1 bytes 8 + 1 bytes 8 + 1 bits = 337 bits
bytes bytes bytes
frames
337 bits 80 26.96 kbps
s

Usando cuantizacin vectorial ~ 10 coeficientes (Codebook 5 bits 32 celdas)


Pitch y ganancia (4 bits); V/U (1 bits)

5 bits + 4 bits + 4 bits + 1 bits = 14 bits

frames
14 bits 80 1.12 kbps
s

Universidad
27 de Chile
Cuantizacin vectorial (VQ)

La cuantizacin es una herramienta muy til para


codificacin pues el nmero de bits a representar es una
variable que puede ser reducida cuanto se quiera
cumpliendo una exigencia de distorsin mxima exigida.

Universidad
28 de Chile
Cuantizacin vectorial (VQ)

Objetivo:
Obtener un p pequeo
q conjunto
j de vectores ((codebook))
que representen al espacio de muestras de forma que cada
bloque se pueda representar por el ndice de su vector
asociado (codeword).
(codeword) Cada bloque
bloq e puede
p ede ser representado
por su codeword (centroide) o puede ser calculado como
una densidad de funcin de probabilidad.
p

Universidad
29 de Chile
Cuantizacin vectorial (VQ)

Un mtodo comnmente utilizado en la elaboracin de un


codebook es el algoritmo k-means. Este mtodo emplea
una minimizacin de la distorsin global, definida como:

L
D = D
i =1
i

donde Di es la distorsin dentro del la celda i.

Universidad
30 de Chile
Vocoder LPC

Encoder

4
x 10
20
1.5

Magnitude (dB)
0
1

ENCODER
-20
0.5

-40
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

-0.5
150

Phase (degrees)
100
-1

50

-1.5 0
3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000
-50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

Universidad
31 de Chile
Anlisis por Sntesis

Motivacin
A pesar de que la voz sintetizada por el Vocoder LPC
LPC-
10 es inteligible, es posible observar los siguientes
p
problemas:

El uso de seales de excitacin artificiales p produce un sonido


sinttico y robotizado.
Es difcil identificar al locutor.
L voz codificada
La difi d no es analizada
li d para chequear
h eficiencia
fi i i (no(
existe control de la distorsin por codificacin).

Universidad
32 de Chile
Anlisis por Sntesis

Vocoders de Prediccin Lineal Basados en Anlisis por


Sntesis:

Uso de anlisis de lazo cerrado p


para determinar la secuencia
de excitacin.

Se utiliza la secuencia de excitacin que minimiza la


diferencia entre las seales de voz de entrada y la
sintetizada.
sintetizada

Universidad
33 de Chile
Anlisis por Sntesis

Error de sntesis o residuo

Recuperar la seal original s[n] agregando el residuo de la


sntesis, e[n] :
s[n] = s[n] + e[n]

Si el decoder recibe e[n] en paralelo a los parmetros de la


sntesis, es posible recuperar s[n] .

Universidad
34 de Chile
Anlisis por Sntesis

Prediccin de lazo cerrado

Para asegurarse que el encoder y el decoder se mantendrn


sincronizados se implementa el decoder en el
encoder.
Es decir, se enva informacin complementaria asociada al
error de
d prediccin.
p di i
De esta forma, la seal que ingresa al encoder ser idntica
a la generada en el decoder,
decoder no se acumulan diferencias.
diferencias

Universidad
35 de Chile
Anlisis por Sntesis

Universidad
36 de Chile
Anlisis por Sntesis

La pregunta ahora es: Cmo comprimir el residuo?

Universidad
37 de Chile
Anlisis por Sntesis

Vocoders que utilizan el mtodo de Anlisis por Sntesis

RELP
RPE-LPT (GSM)
( )
CELP
MELP

Universidad
38 de Chile
RELP

Residual-Excited Linear Predictive Vocoder

Se realiza anlisis LPC-10


Utiliza la seal residual,, e[ n] , como seal de excitacin en el
proceso de sntesis.
Codifica la seal residual para su transmisin.

Universidad
39 de Chile
RELP

Diagrama de Bloques - Encoder

Universidad
40 de Chile
RELP

Diagrama de Bloques - Decoder

Universidad
41 de Chile
RPE-LPT
RPE LPT (GSM)

Regular Pulse Excited - Long Term PredictionVocoder

Utilizado en el estndar celular GSM


Short term ppredictor: se realiza anlisis LPC-10
Long term predictor: se realiza anlisis de Pitch y Ganancia
Regular
g Pulse Excited: la seal residual, e[n] , se modela
como una suma ponderada de 4 secuencias de pulsos.
El residuo se codifica con el ndice y la amplitud de cada
secuencia.
i

Universidad
42 de Chile
RPE-LPT
RPE LPT (GSM)

Regular Pulse Excitation

Universidad
43 de Chile
RPE-LPT
RPE LPT (GSM)

Diagrama de Bloques - Encoder

Universidad
44 de Chile
RPE-LPT
RPE LPT (GSM)

Diagrama de Bloques - Decoder

Universidad
45 de Chile
CELP

Code-Excited Linear Predictive Vocoder


Short term p predictor: se realiza anlisis LPC-10
Long term predictor: se realiza anlisis de periodicidad.
Se utiliza un codebook de seales de excitacin p para usar
como correccin en la estimacin de periodicidad.
La excitacin utilizada es la que minimiza la energa de la seal
residual.
id l
Bsqueda exhaustiva.

Universidad
46 de Chile
CELP

Diagrama de Bloques - Encoder

Universidad
47 de Chile
CELP

Diagrama de Bloques - Decoder

Universidad
48 de Chile
Anlisis por Sntesis

Tabla comparativa
Tcnica Tasa de transmisin MOS

PCM (G.711) 64 Kbps 4.4

ADPCM (G.726) 16 Kbps 4.1

LPC-10
LPC 10 (USFS 1015) 2 4 Kbps
2.4 23
2.3

RPE-LTP (GSM 6.10) 13 Kbps 3.5

CELP 4.8 Kbps 3.2

Universidad
49 de Chile
MELP

Mixed-excitation linear prediction vocoder


Est basado en el vocoder LPC tradicional,, incluyendo
y
cuatro mejoras
Mixed excitation
Pulsos aperidicos
Spectral enhancement
Pulse dispersion filter

Universidad
50 de Chile
MELP

Diagrama del modelo de produccin de voz

Universidad
51 de Chile
MELP

Mixed excitation
Un g gran p
problema vocoder LPC convencional es el cambio
abrupto entre excitacin y ruido blanco
MELP propone una mezcla entre excitacin peridica y
ruido
id
La cantidad de excitacin peridica y ruido en la seal
sintetizada en la mezcla depende de dos shaping filters

Universidad
52 de Chile
MELP

Mixed excitation
Los shaping
p g filters se construyen
y ap partir de combinaciones
lineales de filtros FIR pasabanda fijos llamados Filtros de
sntesis
h1 h2 h3 h4 h5

Universidad
53 de Chile
MELP

Mixed excitation
Si hi ((n) es la respuesta
p al impulso
p del filtro de sntesis i,, El
shaping filter para excitacin est definido como:
5

l ( n) = vsi hi ( n)
h pulso vsi [0,1]
i =1

Filtro 1

VS1
Filtro 2

VS2

Filtro 5

VS5
Universidad
54 de Chile
MELP

Mixed excitation
Anlogamente,
g , el shaping
p g filter de ruido blanco est dado
por: 5
hnoise (n) = (1 vsi )hi (n)
i =1

Ejemplo: Si vs1=1, vs2=vs3=0.5, vs4=0, vs5=1 entonces:

Universidad
55 de Chile
MELP

Pulsos aperidicos
Modela las transiciones de ppitch y los fenmenos como el
vocal fry (o creaky voice)
La idea es generar pulsos peridicos con jitter cuando sea
necesario
i
Un frame es detectado como jittery voiced si vs1<0.5
De
D esta forma,
f l decisin
la d i i V/UV es menos exigentei y se
transforma en V/JV/UV
Se necesita slo un bit para saber si un frame posee jitter o
no

Universidad
56 de Chile
MELP

Adaptive spectral enhancement


Filtro q
que mejora
j la calidad de la seal sintetizada
Los pulsos generados a partir de una seal sintetizada con LPC
presenta un decaimiento ms abrupto que una seal original
SSe ajusta
j solamente
l d acuerdo
de d a los
l coeficientes
fi i LPC por
LPC,
lo cual no requiere bits extra

Universidad
57 de Chile
MELP

Pulse dispersion filter


Mejora
j el matchingg entre la seal original
g y su versin
sintetizada original en frecuencia
Consiste en un filtro FIR fijo
Al igual que spectral enhancement, no requiere gasto de
bits extra

Universidad
58 de Chile
MELP

Federal Standard MIL-STD-3005


Funcionamiento a bajas
j tasas de transmisin ((2.4 kbps)
p)
Robusto en ambientes adversos (ruido)
Eficiente en trminos de complejidad
p j computacional
p

Universidad
59 de Chile
Codificador MELP

Universidad
60 de Chile
Codificador MELP

Universidad
61 de Chile
Contenidos

Bloque de anlisis LPC

4
x 10
20
1.5

Magnitude (dB)
0
1

-20
0.5

-40
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

-0.5
150

Phase (degrees)
100
-1

50

-1.5 0
3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000
-50
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

3000

2000

1000

-1000

-2000

-3000

-4000
0 50 100 150 200 250 300 350

Universidad
62 de Chile
Codificador MELP

Universidad
63 de Chile
Codificador MELP

Voicing strengths analysis y estimacin de pitch


Los valores de VSi resultan del anlisis de pperidiocidad de
cada una de las bandas dadas por los filtros de sntesis
La peridiocidad se mide a travs de la funcin de
autocorrelacin:
l i
N 1

s ( n) s ( n + t )
r (t ) = n =0
N 1 N 1

s
n =0
2
( n) s 2 ( n + t )
n =0

Universidad
64 de Chile
Codificador MELP

Voicing strengths analysis y estimacin de pitch


El retardo T qque maximiza r(t)
( ) corresponde
p al p
pitch. Adems,
el valor de la r(T) representa el grado de peridiocidad de s(n)

Universidad
65 de Chile
Codificador MELP

Voicing strengths
VS1 se calcula de acuerdo a:

Universidad
66 de Chile
MELP

Voicing strengths
Los restantes voicing
g strengths,
g , VS((2,3,4,5)), se estiman segn:
g

Universidad
67 de Chile
Codificador MELP

Universidad
68 de Chile
Codificador MELP

Fourier magnitudes
Es la magnitud
g de la transformada de Fourier del error de
prediccin.
Se captura la forma del pulso de excitacin
El objetivo es agregar en la excitacin de la seal
sintetizada informacin del residuo del error de prediccin
Anlisis
A li i por sntesis
i

Universidad
69 de Chile
Codificador MELP

Calculo Fourier magnitudes


Diagrama
g ggeneral

Universidad
70 de Chile
Codificador MELP

Calculo Fourier magnitudes


Entradas:
Error de prediccin
Pitch

Enventanado Hamming al error de prediccin


Aplicacin Zero padding a 512
Estimacin
i i de
d FFT sobre
b las
l 512 muestras.

Universidad
71 de Chile
Codificador MELP

Calculo Fourier magnitudes


Bsqueda
q de armnicos mediante p
peak de magnitud
g en la
FFT
Se buscan peak en las vecindades de los 10 primeros armnicos del
pitch
Normalizacin de los Fourier magnitudes
La sec
secuencia
e c de Fourier
o e magnitudes
g des normalizada
o d tiene
e e un valor
v o RMS=1
S
La normalizacin se realiza como:
'
Fmag [i ] = Fmag [i ]
1
1
= ( Fmag [i ])
2 2

10 i
Universidad
72 de Chile
Codificador MELP

Calculo Fourier magnitudes


Cuantizacin de los Fourier magnitudes
g
Se utiliza una distancia euclidiana ponderada y un codebook de 8 bits
Los pesos de cada Fourier magnitudes es estima como:



117 i = 1...10
wi =
Fmag [i ] = Fourier Magnitude i
Fmag [i ]
2 0.69

23 + 75 1 + 1.4
1000

Universidad
73 de Chile
Codificador MELP

Universidad
74 de Chile
Codificador MELP

Ganancia
Se calculan dos g
ganancias p
por frame ((G1 y G2)
Se utilizan ventanas variables para la seal de entrada que
dependen del pitch
Estimacin de las ganancias:

1 L 2
Gi = 10log 0 01 + sn
10l 10 0.01 L = Tamao
T de
d la
l ventana
t
L n =1

Universidad
75 de Chile
Codificador MELP

Ganancia
Cuantizacin de la Ganancia
Cuantizacin lineal para G1 y G2
G1 se cuantiza con 3 bits
G2 se cuantiza con 5 bits

Universidad
76 de Chile
Decodificador MELP

Universidad
77 de Chile
Decodificador MELP

Universidad
78 de Chile
Decodificador MELP

Interpolacin
Se interpolan
p todos los p
parmetros de sntesis
Pitch, LSF, jitter, Fourier magnitudes y voicing strengths son
interpolado de la siguiente manera:
T = (1 ) Tpast + Tpresent

La ganancia se interpola de manera diferente:

(1 ) g 2 past + g1present n0 < 90


g=
(1 ) g1present + g1present 90 n0 < 180

Universidad
79 de Chile
Decodificador MELP

Universidad
80 de Chile
Decodificador MELP

Generacin de pulsos
La seal sintetizada se g
genera a p
partir de p
pulsos
Su forma depende de los Fourier Magnitudes

S largo
Su l ( d ) depende
(perodo) d d del
d l valor
l del
d l pitch
i h y ell jitter
ji

Si el no existe pitch (caso Unvoiced) se utilizan valores por defecto

Universidad
81 de Chile
Decodificador MELP

Universidad
82 de Chile
Decodificador MELP

Generacin de excitacin mezclada


Los voicing g stengths
g interpolados
p toman valores en el
intervalo [0,1]
Ambos shaping filters se generan a partir de sumas
ponderadas
d d de d filtros
fil d sntesis
de i
VSi para el shaping filter de excitacin
(1-VSi)
(1 VSi) para el shaping filter de ruido
Luego se filtra la excitacin (pulsos) y el ruido
Finalmente,
Finalmente se suma la excitacin y el ruido ya filtrados

Universidad
83 de Chile
Decodificador MELP

Universidad
84 de Chile
MELP

Bit allocation
Parmetro Voiced Unvoiced
LSF 25 25
Pitch y VS1 7 7
VS(2 3 4 5)
VS(2,3,4,5) 4 -
Primera ganancia 3 3
Segunda ganancia 5 5
Aperiodic flag 1 -
Fourier magnitudes 8 8
Sincronizacin 1 1
Proteccin de errores - 13
TOTAL 54 54

Universidad
85 de Chile
MELP

Tabla comparativa
Tcnica Tasa de transmisin MOS

PCM (G.711) 64 Kbps 4.4

ADPCM (G.726) 16 Kbps 4.1

LPC-10 (USFS 1015) 2.4 Kbps 2.3

RPE-LTP (GSM 6.10) 13 Kbps 3.5

CELP 4 8 Kbps
4.8 32
3.2

MELP 2.4 Kbps 2.9

Universidad
86 de Chile

También podría gustarte