Вы находитесь на странице: 1из 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 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 de Chile

Modelo de produccin y de percepcin d la seal de de d voz


Filtro del tracto vocal

Universidad 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

1.5

x 10

0.5

-0.5

-1

-1.5

0.5

1.5

2.5

3.5 x 10

4
4

Universidad 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 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 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 de Chile

Modelo de produccin y de percepcin d la seal de de d voz


Formantes

Universidad de Chile

Codificacin

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

10

Universidad de Chile

Codificacin

Qu es codificacin? Comprimir p informacin p para transmitir o almacenar Codificadores.


Para enviar. Para Recibir.


Decodificadores.

Sistema de Si d codificacin difi i y decodificacin d difi i se conoce como CODEC.

11

Universidad de Chile

Codificacin

Qu es codificacin? Esquema q Bsico de codificacin:

Voz de entrada
Filtro pasa bajo Anti-alias

S(t)
Muestreo

S(n)
Cuantizador

Sq(n)
Codificador

Seal Codificada
00100001..

Seal analgica

Seal en tiempo discreto

Seal cuantificada

12

Universidad 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

13

Universidad 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 seal l de d voz es filtrada, fil d muestreada, d cuantizada y codificada.

14

Universidad 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

15

Universidad 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

16

Universidad 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

17

Universidad 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)

18

Universidad de Chile

LPC (Linear Predictive Coding)


Modelo predictivo lineal del conducto vocal La idea p principal p se basa en q que 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.
s[n] = ak s[n k ] + e[n]
k =1 p

19

Universidad de Chile

LPC (Linear Predictive Coding)

2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0

500

1000

1500

2000

2500

3000

3500

15 1.5

x 10

0.5

-0.5

-1

-1.5

0.5

1.5

2.5

3.5 x 10

4
4

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 x 10
4

20

Universidad 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
E = e ( n ) = s( n ) k s( n k ) n = n = k =1
p 2 2

E =0 k
21
Universidad de Chile

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

LPC (Linear Predictive Coding)


Luego se tiene p ecuaciones lineales:


n =

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


k =1 k i =

Si definimos:
R (i ) =

i = 1,2,3,......, p

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

N 1

i = 1,2,3,......, p

Reemplazando:

k =1

R (i k ) = R (i )

(*)

i = 1,2,3,......, p

22

Universidad 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 )
Ecuacin (*) se puede representar matricialmente como:
R(1) R (2) R ( 0) R(1) R (0) R(1) : : : : : : R ( p 1) R ( p 2) R( p 3) ... R ( p 1) 1 R(1) ... R( p 2) R ( 2 ) 2 : = : ... : : ... : : p ... R ( 0) R( p)
k =1

23

Universidad 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 de Chile

24

LPC (Linear Predictive Coding)


Mtodo de Levinson-Durbin
R( m) im 1 R( m i )
i =1 m 1

km =

E m 1

m m

= km
1 i m 1

m 1 im = im 1 km m i

25

Universidad de Chile

LPC (Linear Predictive Coding)


Mtodo de Levinson-Durbin
2 Em = 1 km E m 1

Donde inicialmente:

E 0 = R (0)

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

26

Universidad de Chile

Cuantizacin vectorial (VQ)


Motivacin: LPC ~ 10 coeficientes (10 float 4 bytes)


Pitch (float 4 bytes) V/U (1 bits) (float 4 bytes) y ) Ganancia (
4 bytes 8 bits bits bits 10 + 1 bytes 8 + 1 bytes 8 + 1 bits = 337 bits bytes bytes bytes

337 bits 80

frames 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

14 bits 80

frames 1.12 kbps s

27

Universidad 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.

28

Universidad 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). ) 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

29

Universidad 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:

D =

D
i =1

donde Di es la distorsin dentro del la celda i.

30

Universidad de Chile

Vocoder LPC

Encoder

x 10 1.5

20 Magnitude (dB)

-20

0.5

-40
0

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

-0.5

150 Phase (degrees) 100 50 0 -50

-1

-1.5

3000

4000

5000

6000

7000

8000

9000

10000

11000

12000

13000

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

31

Universidad de Chile

ENCODER

Anlisis por Sntesis


Motivacin A pesar de que la voz sintetizada por el Vocoder LPC LPC10 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).

32

Universidad 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

33

Universidad de Chile

Anlisis por Sntesis


Error de sntesis o residuo


Recuperar la seal original s[n] agregando el residuo de la sntesis, e[n] : [n] + e[n] s[n] = s
Si el decoder recibe e[n] en paralelo a los parmetros de la sntesis, es posible recuperar s[n] .

34

Universidad 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

35

Universidad de Chile

Anlisis por Sntesis

36

Universidad de Chile

Anlisis por Sntesis

La pregunta ahora es: Cmo comprimir el residuo?

37

Universidad de Chile

Anlisis por Sntesis


Vocoders que utilizan el mtodo de Anlisis por Sntesis


RELP RPE-LPT (GSM) ( ) CELP MELP

38

Universidad 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.

39

Universidad de Chile

RELP

Diagrama de Bloques - Encoder

40

Universidad de Chile

RELP

Diagrama de Bloques - Decoder

41

Universidad de Chile

RPE-LPT RPE LPT (GSM)


Regular Pulse Excited - Long Term PredictionVocoder


Utilizado en el estndar celular GSM Short term p predictor: 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

42

Universidad de Chile

RPE-LPT RPE LPT (GSM)


Regular Pulse Excitation

43

Universidad de Chile

RPE-LPT RPE LPT (GSM)


Diagrama de Bloques - Encoder

44

Universidad de Chile

RPE-LPT RPE LPT (GSM)


Diagrama de Bloques - Decoder

45

Universidad 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.

46

Universidad de Chile

CELP

Diagrama de Bloques - Encoder

47

Universidad de Chile

CELP

Diagrama de Bloques - Decoder

48

Universidad de Chile

Anlisis por Sntesis


Tabla comparativa
Tcnica PCM (G.711) ADPCM (G.726) LPC-10 LPC 10 (USFS 1015) RPE-LTP (GSM 6.10) CELP Tasa de transmisin 64 Kbps 16 Kbps 2 4 Kbps 2.4 13 Kbps 4.8 Kbps MOS 4.4 4.1 23 2.3 3.5 3.2

49

Universidad 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

50

Universidad de Chile

MELP

Diagrama del modelo de produccin de voz

51

Universidad 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

52

Universidad 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

53

Universidad 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:
h pulso l ( n) = vsi hi ( n)
i =1
Filtro 1

vsi [0,1]

VS1
Filtro 2

VS2

Filtro 5

VS5

54

Universidad 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:

55

Universidad de Chile

MELP

Pulsos aperidicos Modela las transiciones de p pitch 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 exigente i y se transforma en V/JV/UV Se necesita slo un bit para saber si un frame posee jitter o no
Universidad de Chile

56

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

Se ajusta S j solamente l d acuerdo de d a los l coeficientes fi i LPC por LPC, lo cual no requiere bits extra

57

Universidad de Chile

MELP

Pulse dispersion filter Mejora j el matching g 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

58

Universidad 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

59

Universidad de Chile

Codificador MELP

60

Universidad de Chile

Codificador MELP

61

Universidad de Chile

Contenidos

Bloque de anlisis LPC

x 10 1.5

20 Magnitude (dB)

-20

0.5

-40
0

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

-0.5

150 Phase (degrees)


3000 4000 5000 6000 7000 8000 9000 10000 11000 12000 13000

100 50 0 -50

-1

-1.5

0.1

0.2

0.3 0.4 0.5 0.6 0.7 0.8 Normalized Frequency ( rad/sample)

0.9

3000

2000

1000

-1000

-2000

-3000

-4000

50

100

150

200

250

300

350

62

Universidad de Chile

Codificador MELP

63

Universidad de Chile

Codificador MELP

Voicing strengths analysis y estimacin de pitch Los valores de VSi resultan del anlisis de p peridiocidad 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
r (t ) =

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

N 1

s
n =0

N 1

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

N 1

64

Universidad de Chile

Codificador MELP

Voicing strengths analysis y estimacin de pitch


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

65

Universidad de Chile

Codificador MELP

Voicing strengths VS1 se calcula de acuerdo a:

66

Universidad de Chile

MELP

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

67

Universidad de Chile

Codificador MELP

68

Universidad 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

69

Universidad de Chile

Codificador MELP

Calculo Fourier magnitudes Diagrama g general g

70

Universidad 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.

71

Universidad 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


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 2

Normalizacin de los Fourier magnitudes


= ( Fmag [i ]) 10 i
2

72

Universidad 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 wi = 2 0.69 Fmag [i ] 23 + 75 1 + 1.4 1000

i = 1...10 Fmag [i ] = Fourier Magnitude i

73

Universidad de Chile

Codificador MELP

74

Universidad 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 10l 10 0.01 0 01 + sn L n =1 L = Tamao T de d la l ventana t

75

Universidad 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

76

Universidad de Chile

Decodificador MELP

77

Universidad de Chile

Decodificador MELP

78

Universidad 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 g= (1 ) g1present + g1present n0 < 90 90 n0 < 180

79

Universidad de Chile

Decodificador MELP

80

Universidad 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 el l jitter ji Si el no existe pitch (caso Unvoiced) se utilizan valores por defecto

81

Universidad de Chile

Decodificador MELP

82

Universidad 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

83

Universidad de Chile

Decodificador MELP

84

Universidad de Chile

MELP

Bit allocation
Parmetro
LSF Pitch y VS1 VS(2 3 4 5) VS(2,3,4,5) Primera ganancia Segunda ganancia Aperiodic flag Fourier magnitudes Sincronizacin Proteccin de errores TOTAL

Voiced
25 7 4 3 5 1 8 1 54

Unvoiced
25 7 3 5 8 1 13 54

85

Universidad de Chile

MELP

Tabla comparativa
Tcnica PCM (G.711) ADPCM (G.726) LPC-10 (USFS 1015) RPE-LTP (GSM 6.10) CELP MELP Tasa de transmisin 64 Kbps 16 Kbps 2.4 Kbps 13 Kbps 4 8 Kbps 4.8 2.4 Kbps MOS 4.4 4.1 2.3 3.5 32 3.2 2.9

86

Universidad de Chile

Вам также может понравиться