Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Codificacion de Voz y Video
Codificacion de Voz y Video
CODIFICACION
DE
VOZ Y VIDEO
Agosto 2015
Contenido
Contenido ................................................................................................................ 2
1 Introduccin a la codificacin de voz ................................................................ 3
2 Digitalizacin y codificacin de la voz .............................................................. 7
2.1 CODECs ................................................................................................... 7
2.1.1 G.711 ................................................................................................. 8
2.1.2 Muestreo ............................................................................................ 9
2.1.3 Cuantificacin .................................................................................. 10
2.1.4 Codificacin ..................................................................................... 15
2.1.5 G.711 Appendix II ............................................................................ 15
2.1.6 G.711.1 ............................................................................................ 16
2.1.7 G.729 ............................................................................................... 20
2.1.8 G.729.1 ............................................................................................ 22
2.1.9 G.723.1 ............................................................................................ 23
2.1.10 G.722 ............................................................................................... 24
2.1.11 RTAudio ........................................................................................... 26
2.1.12 AMR ................................................................................................. 26
2.1.13 G.722.2 / AMR-WB .......................................................................... 27
2.1.14 SILK ................................................................................................. 27
2.1.15 OPUS ............................................................................................... 28
2.2 Proceso de digitalizacin de voz en telefona ......................................... 28
3 Introduccin a la codificacin de video ........................................................... 30
4 Digitalizacin y codificacin de video ............................................................. 32
4.1 JPEG ....................................................................................................... 32
4.2 MPEG-x .................................................................................................. 33
4.3 H.264 ...................................................................................................... 36
4.4 Proceso de codificacin de video ............................................................ 39
Referencias ........................................................................................................... 40
Las primeras ideas acerca de la digitalizacin del audio son atribuidas al Ingeniero
Alec Reeves, quien desarroll el primer sistema de audio digital, con fines militares
en 1937. La inminente segunda guerra mundial haca necesario disponer de
sistemas de transmisin telefnicas ms seguros. Si bien la idea fue patentada por
Reeves, su popularizacin debi esperar por varias dcadas al desarrollo de nuevas
tecnologas, (ms especficamente, a la invencin del transistor). La tecnologa de
PCM se populariz sobre fines de la dcada de 1960, momento para el cual ya no
eran reclamables derechos por la patente.
NARIZ
CAVIDAD
EPIGLOTIS NASAL
CAVIDAD CAVIDAD
FARINGEA
ORAL
BOCA
LARINGE
CUERDAS
VOCALES
TRAQUEA
PULMONES
FUERZA MUSCULAR
1
H(z) p
1 ak z k
k
1
Donde p es el orden del filtro, y ak representan los coeficientes del filtro.
El generador de impulsos u(n) est muy relacionado al tono o pitch de la voz para
seales sonoras, y consiste en una serie de impulsos separados por un tiempo dado
por el tono o pitch de la voz. Para seales sordas, el patrn de pulsos puede ser
ms complejo, asemejndose ms a un ruido blanco.
Con esto en mente, el modelo de sntesis de voz consiste en encontrar, para cada
perodo corto de tiempo, los mejores valores de los coeficientes ak , de la ganancia
G y del generador de impulsos u(n). Estos valores deben ser tales que minimicen
las diferencias entre una onda de sonido real y la sintetizada, como se muestra en
la siguiente figura (extrada de [1]).
Varios codecs actuales estn basados en estas ideas, como se ver en las
siguientes secciones.
La voz humana puede tener tonos que lleguen hasta los 20 kHz, lo que se
corresponde con el lmite de frecuencias que puede escuchar el odo. Sin embargo,
la mayor parte de la energa de la voz se centra en las frecuencias bajas,
tpicamente por debajo de los 4 kHz. En la siguiente figura se muestra un segmento
de audio de voz, y su corresponde espectro. Se puede ver como, luego de los 4
kHz, la energa de la seal decrece rpidamente.
2.1 CODECs
LD-CELP: Low-Delay
40, 16, Creado para aplicaciones DCME (Digital
G.728 code excited linear 1.25
12.8, 9.6 Circuit Multiplex Encoding) [6]
prediction
CS-ACELP:
Conjugate Structure
Ampliamente utilizado en aplicaciones de
G.729 Algebraic Codebook 11.8, 8, 6.4 15
VoIP, a 8 kb/s [7]
Excited Linear
Prediction
12..2 a
AMR Adaptive Multi Rate 20 Utilizado en redes celulares GSM [8]
4.75
2.1.1 G.711
2.1.2 Muestreo
Para establecer cual es sta frecuencia mnima en el codec G.711 se han tenido en
cuenta las siguientes consideraciones de las seales de voz:
Por lo expuesto, podemos pensar en un ancho de banda mnimo para las seales
de los sistemas de telefona de 3.4 kHz. Segn el teorema del muestro, para poder
reconstruir una seal de hasta 3.4 kHz, debe ser muestreada a ms de 6.8 kHz.
Dado que los filtros reales no pueden realizar cortes abruptos, se ha tomado
originalmente en el codec G.711 una frecuencia de muestreo de 8 kHz, es decir,
tomar una muestra de voz cada 125 microsegundos. Si bien esto es adecuado para
reproducir la voz humana, el audio de alta calidad, por ejemplo con contenido de
msica, requiere de frecuencias de muestro mucho mayores, para que puedan
llegar a funcionar con seales de hasta 20 kHz.
Amplitud
Tiempo
T
2.1.3 Cuantificacin
Ing.
Jos Joskowicz Pgina 11
Codificacin de voz y video
Error
Amplitud
Tiempo
T
Ing.
Jos Joskowicz Pgina 12
Codificacin de voz y video
Amplitud
Tiempo
Ley A ( de 13 segmentos)
y = log(1+ x)/log(1+ )
= 255
Ing.
Jos Joskowicz Pgina 13
Codificacin de voz y video
Implementacin de la Ley A
Ing.
Jos Joskowicz Pgina 14
Codificacin de voz y video
a. (Nivel 8, 1) (Nivel 7, )
b. (Nivel 7, 1/2) (Nivel 6, 1/4)
c. (Nivel 6, 1/4) (Nivel 5, 1/8)
d. (Nivel 5, 1/8) (Nivel 4, 1/16)
e. (Nivel 4, 1/16) (Nivel 3, 1/32)
f. (Nivel 3, 1/32) (Nivel 2, 1/64)
g. (Nivel 2, 1/64) (Nivel 1, 1/128)
h. (Nivel 1, 1/128) (Nivel 0, 0)
16
subniveles
Nivel 2
Nivel 1
1/16 1/8
1/32 1/4
1/64
1/128
Ing.
Jos Joskowicz Pgina 15
Codificacin de voz y video
2.1.4 Codificacin
Bit 7 6 5 4 3 2 1 0
Ing.
Jos Joskowicz Pgina 16
Codificacin de voz y video
una trama SID (silence insertion descriptor). La trama SID puede enviarse
peridicamente o slo cuando hay un cambio significativo en la caracterstica de
ruido de fondo. El algoritmo CNG en el receptor utiliza la informacin del SID para
actualizar su modelo de generacin de ruido y producir luego una cantidad
apropiada de ruido de confort.
.
La funcin del algoritmo VAD es clasificar la seal de entrada en seal vocal activa
y seal vocal inactiva o un ruido de fondo. La clasificacin incorrecta de seal
vocal inactiva como seal vocal activa tiene un efecto adverso en la eficiencia del
sistema, al aumentar innecesariamente la velocidad de transmisin. En este caso,
la calidad vocal no es afectada. Sin embargo, cuando la seal vocal activa se
clasifica indebidamente como inactiva, se recorta la seal vocal y se degrada la
calidad vocal. La mayora de los algoritmos DTX emplean un periodo de retencin
cuando pasan de seal vocal activa a inactiva a fin de evitar recortar el extremo final
de la seal vocal. Durante el periodo de retencin, las tramas de seal vocal inactiva
se reclasifican como seal vocal activa.
El rol del CNG es describir y reproducir el ruido ambiente. El ruido puede describirse
adecuadamente por su energa y contenido espectral. A fin de evitar cambios
bruscos en el carcter del ruido de confort, es importante promediar la estimacin
durante un periodo de tiempo.
Ing.
Jos Joskowicz Pgina 17
Codificacin de voz y video
2.1.6 G.711.1
Las muestras de entrada son tomadas cada 16 kHz, pero tambien est soportada la
frecuencia de muestreo de 8 kHz. Tomando muestras cada 16 kHz, el ancho de
banda del codec es de 50 a 7000 Hz y el resultado es de 80 o 96 kb/s. El codec
utiliza tramas de 5 ms y tiene un retardo mximo de 11.875 ms.
Ing.
Jos Joskowicz Pgina 18
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 19
Codificacin de voz y video
Lower-band Higher-band
Core layer enhancement enhancement
Sampling layer layer Overall bit
Mode rate (Layer 0, IL0) rate
(kHz) (Layer 1, IL1) (Layer 2, IL2)
(kbit/s)
64 kbit/s 16 kbit/s 16 kbit/s
R1 8 x 64
R2a 8 x x 80
R2b 16 x x 80
R3 16 x x x 96
Ing.
Jos Joskowicz Pgina 20
Codificacin de voz y video
2.1.7 G.729
Cada 10 ms se extraen los parmetros del modelo CELP: coeficientes del filtro lineal
predictivo (LPC), punteros a la tabla de impulsos adaptativos y fijos (codebooks) y
ganancias). A partir de los coeficientes LPC, se obtienen parmetros equivalentes,
llamados LSP (Line Spectrum Pairs) y se cuantizan usando vectores predictivos de
dos etapas (VQ).
Dado que a la salida del codificador la tasa de bits es de 8 kbit/s y se toman cuadros
de 10 ms, se usan 80 bits (10 bytes) para representar a cada cuadro o ventana de
audio en G.729.
Ing.
Jos Joskowicz Pgina 21
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 22
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 23
Codificacin de voz y video
La seal codificada tiene una tasa de bits de 8 a 12 kb/s para seales de banda
angosta (de 50 a 4000 Hz) y de 14 a 32 kb/s para seales de banda ancha (de 50 a
7000 Hz). La trama de salida consiste en 12 capas, cada una correspondiente a una
tasa de bits entre los 8 y los 32 kb/s, como se muestra en la siguiente figura:
Las tramas o cuadros son de 20 ms, y la demora total del algoritmo es de 48.9375
ms, debido a los tiempos necesarios en los filtros utilizados internamente en el
proceso de codificacin.
2.1.9 G.723.1
El retardo total (latencia) del algoritmo es de 37.5 ms, ya que, una vez recibida la
ventana de 30 ms, el algoritmo requiere de 7.5 segundos de muestras adicionales.
Ing.
Jos Joskowicz Pgina 24
Codificacin de voz y video
2.1.10 G.722
Ing.
Jos Joskowicz Pgina 25
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 26
Codificacin de voz y video
+ eL 60 level
xL IL 48 kbit/s
+ adaptive
quantizer
Delete the
two LSBs
Quantizer
DL adaptation
ILt
15 level inverse
adaptive
quantizer
dLt
sL Adaptive
predictor rLt +
+
+
G.722(12)_F04
+ eH 4 level
xH IH 16 kbit/s
+ adaptive
quantizer
DH Quantizer
adaptation
4 level inverse
adaptive
quantizer
dH
sH Adaptive
predictor rH +
+
+
G.722(12)_F05
2.1.11 RTAudio
RTAudio utiliza tcnicas de codificacin VBR (Variable Bit Rate), lo que significa que
no todas las ventanas o cuadros de voz se codifiquen con la misma cantidad de
bytes.
2.1.12 AMR
Ing.
Jos Joskowicz Pgina 27
Codificacin de voz y video
Provee una variedad de opciones en cuanto al ancho de banda que utiliza. Puede
trabajar a las siguientes velocidades 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15 y 4.75 kb/s.
2.1.14 SILK
Ing.
Jos Joskowicz Pgina 28
Codificacin de voz y video
SILK es el codec utilizado por Skype. Utiliza un ancho de banda variable, entre 6 a
40 kb/s, trabajando entre las bandas angostas (narrow band), con frecuencias de
muestreo de 8 kHz y las bandas super anchas (superwideband), con frecuencias de
muestreo de 24 kHz.
Desde marzo de 2009 las licencias de uso de SILK son gratuitas. En marzo de 2010
el codec fue enviado como borrador de RFC al IETF.
SILK fue reemplazado por el codec OPUS, el que finalmente fue aceptado con el
RFC 6716 en setiembre de 2012
2.1.15 OPUS
OPUS es la evolucin de SILK y puede trabajar tanto con CBR (Constant Bit Rate)
como en VBR (Variable Bit Rate). Puede operar en diferentes bandas, llegando a
ser un cdec del tipo full band.
Ancho de
banda del Bit rate (kb/s)
audio
NB (Narrowband) 4 kHz 8 12 kb/s
Es posible utilizar ventanas de 2.5, 5, 10, 20, 40, o 60 ms. Tpicamente se utiliza
20 ms. Permite combinar mltiples ventanas en paquetes de hasta 120 ms.
Ing.
Jos Joskowicz Pgina 29
Codificacin de voz y video
Hbrida
Este dispositivo es el encargado de convertir la seal analgica de 2 a 4 hilos.
Separa por canales diferentes el audio entrante del audio saliente, para que sea
posible el proceso de digitalizacin
Pasabajos
El sistema de digitalizacin requiere acotar el ancho de banda de la seal de entrada
a 3.4 kHz, de manera de asegurar el cumplimiento del Teorema del Muestreo.
Paralelo/Serie Serie/Paralelo
Este proceso obtiene los 8 bits de cada muestra, y los serializa. De esta manera
se obtiene un flujo de 8 bits x 8 kHz = 64 kbits/s, velocidad de transmisin bsica
en Telefona.
Ing.
Jos Joskowicz Pgina 30
Codificacin de voz y video
Por otra parte, las transformadas discretas de Wavelets (DWT) comenzaron tambin
a ser utilizadas en codificacin de imgenes en la dcada de 1980, y fueron
adoptadas ms recientemente dentro de las tecnologas MPEG-4 y JPEG 2000,
para la codificacin de imgenes fijas.
Las tcnicas utilizadas para la digitalizacin del video incluyen los siguientes
conceptos:
Prediccin
Mediante este proceso, se trata de predecir el valor de ciertas muestras en
funcin de otras, de manera de poder enviar nicamente como informacin la
diferencia, la que tpicamente requiere menor ancho de banda para ser
transmitida. En el receptor, la misma prediccin es realizada, y se le aplica la
diferencia (o el valor residual) que es enviado por el codificador.
Dada la alta redundancia de informacin que tienen tpicamente las escenas de
video, esta prediccin se puede realizar tanto dentro de un mismo cuadro, como
entre cuadros.
Transformacin
Los valores relacionados a las muestras pueden ser transformados en otro
conjunto de valores equivalentes, que representan la misma informacin de
manera diferente (por ejemplo, una misma seal puede ser representada por su
amplitud en el tiempo o en el dominio de la frecuencia). En video se utiliza
Ing.
Jos Joskowicz Pgina 31
Codificacin de voz y video
Cuantizacin
Es el proceso mediante el cual se asigna un valor entero a un nmero real.
En funcin de la cantidad de enteros utilizados (o la cantidad de bits necesarios
para su presentacin), el proceso de cuantificacin puede introducir ms o
menos distorsin respecto al valor orignal.
Transmisin
Ing.
Jos Joskowicz Pgina 32
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 33
Codificacin de voz y video
4.2 MPEG-x
Ing.
Jos Joskowicz Pgina 34
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 35
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 36
Codificacin de voz y video
4.3 H.264
En 2001, el grupo MPEG de ISO/IEC y el VCEG (Video Coding Expert Group) del
ITU-T decidieron unir esfuerzos en un emprendimiento conjunto para estandarizar
un nuevo codificador de video, mejor que los anteriores, especialmente para anchos
de banda o capacidad de almacenamiento reducidos 29 . El grupo se llam JVT
(Joint Video Team), y culmin con la estandarizacin de la recomendacin
H.264/MPEG-4 Part 10, tambin conocida como JVT/H.26L/AVC (Advanced Video
Coding) o H.264/AVC en 2003. Este nuevo estndar utiliza compensaciones de
movimiento ms flexibles, permitiendo dividir los macrobloques en diversas reas
rectangulares, y utilizar desplazamientos de hasta un cuarto de pxel. Agrega
adems los cuadros del tipo SP (Switching P) y SI (Switching I), similares a los P e
I, pero con la posibilidad de reconstruir algunos valores especficos de forma exacta.
Las tcnicas de codificacin entrpica que utiliza utiliza H.264 son las conocidas
como Context-Adaptive Variable-Length Coding (CAVLC) y Context-Adaptive Binary
Arithmetic Coding (CABAC). Esta ltima (CABAC) es ms compleja que la primera
(CAVLC), pero a su vez, ms eficiente.
Con H.264/AVC, para una misma calidad de video, se logran mejoras en el ancho
de banda requerido de aproximadamente un 50% respecto estndares anteriores
30 31 .
En 2010 fue agregado el Anexo H, llamado Multiview Video Coding o MVC por
sus iniciales. Este agregado est pensado para permitir tener diferentes flujos
representando diferentes visiones de la misma escena, y fue desarrollado para
aplicaciones de video en 3D, donde son necesarios dos flujos de informacin para
generar el efecto estereoscpico de una misma escena.
Ing.
Jos Joskowicz Pgina 37
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 38
Codificacin de voz y video
Por otra parte, los niveles establecen un conjunto de restricciones que se aplican a
cada perfil. Por ejemplo, para cada perfil, un nivel puede determinar la resolucin
mxima de pantalla, el mximo frame rate y el mximo bit rate. Un decodificador
que soporta cierto nivel, debe ser capaz de decodificar cualquier seal que tenga un
nivel igual o inferior.
Ing.
Jos Joskowicz Pgina 39
Codificacin de voz y video
Ing.
Jos Joskowicz Pgina 40
Codificacin de voz y video
Referencias
[2] ITU-T Coders for Wideband, Superwideband and Fullband Specch Communication
R. V. Cox, S. Ferraz de Campos Neto, C. Lamblin, M. Hashem Sherif
IEEE Communications Magazine, October 2009, Vol. 47, No. 10
[3] ITU-T G Series: Transmission systems and media, digital systems and networks
http://www.itu.int/net/itu-t/sigdb/speaudio/Gseries.htm
[4] Recommendation G.711: Pulse Code Modulation (PCM) of voice frequencies CCITT,
1988.
[5] Recommendation G.723.1: Dual Rate speech coder for multimedia communications
transmitting at 5.3 and 6.3 kbit/s ITU-T, May 2006.
[6] Recommendation G.728: Coding of speech at 16 kbit/s using Low-delay code excited
linear prediction CCITT, 1992.
Ing.
Jos Joskowicz Pgina 41
Codificacin de voz y video
[8] Adaptive Multi-Rate (AMR) speech codec ETSI TS 126 090 V9.0.0, 2010-01
[12] Recommendation G.711.1: Wideband embedded extension for G.711 pulse code
modulation ITU-T, 03/2008.
https://developer.skype.com/silk
[17] Recommendation G.711 Appendix II: A Comfort Noise Payload Definition for ITU-T G.711
Use in Packet-Based Multimedia Communications Systems ITU-T, 02/2002.
[19] Code-excited linear prediction(CELP): High-quality speech at very low bit rates Schroeder,
M. Atal, B.
Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP '85.
April 1985, Volume: 10, On page(s): 937- 940
Ing.
Jos Joskowicz Pgina 42
Codificacin de voz y video
27 Digital television fundamentals: design and installation of video and audio systems Michel
Robin, Michel Poulin
ISBN 0-07-053168-4, 1998, McGraw-Hill
29 The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the
Fidelity Range Extension
Gary J. Sullivan, Pankaj Topiwala, and Ajay Luthra
SPIE Conference on Applications of Digital Image Processing XXVII
Special Session on Advances in the New Emerging Standard: H.264/AVC, August, 2004
31 Report of The Formal Verification Tests on AVC (ISO/IEC 14496-10 | ITU-T Rec. H.264)
ISO/IEC JTC1/SC29/WG11, MPEG2003/N6231 December 2003
32 ITU-T Recommendation H.264: Advanced video coding for generic audiovisual services
March 2010
Ing.
Jos Joskowicz Pgina 43