Está en la página 1de 64

Codificacin de Voz y Video

Ing. Jos Joskowicz josej@fing.edu.uy

Ing. Jos Joskowicz, 2011

Introduccin
Codificacin de Voz y Video
Ing. Jos Joskowicz, 2011

Introduccin

En algn punto del sistema de telecomunicaciones la seal de audio analgica debe ser digitalizada, es decir, convertida en una secuencia de nmero discretos
Este

proceso puede realizarse en los propios telfonos (cmo es el caso en los telfonos digitales o en los telfonos IP), en Gateways (o conversores de medios y sealizacin) o las placas de abonados entre otros

CODECS: Codificadores / Decodificadores


Ing. Jos Joskowicz, 2011 3

Codificacin de forma de onda

Inicialmente, los codecs se basaron en codificar de la manera ms eficiente posible la forma de onda de la seal. Posteriormente, para bajar la tasa de bits necesaria para la transmisin, se comenzaron a utilizar tcnicas predictivas
Basadas

en predecir los valores de las muestras en base a la extrapolacin de las muestras anteriores

Ing. Jos Joskowicz, 2011

Sntesis de voz

Sobre la dcada de 1980, se introduce la idea de generar voz sinttica, simulando la manera en que se produce la voz humana en el conducto vocal.

Ing. Jos Joskowicz, 2011

Modelo del Conducto Vocal


NARIZ EPIGLOTIS CAVIDAD NASAL CAVIDAD FARINGEA LARINGE CUERDAS VOCALES TRAQUEA CAVIDAD ORAL BOCA

PULMONES

FUERZA MUSCULAR

Ing. Jos Joskowicz, 2011

Modelo del Conducto Vocal


Generado de impulsos variable con el tiempo u(n) Filtro lineal variable con el tiempo s(n)

H ( z)

1
p

1 a k z k
k 1

p es el orden del filtro, y ak representan los coeficientes del filtro.

Ing. Jos Joskowicz, 2011

Estimacin de los parmetros del modelo

Ing. Jos Joskowicz, 2011

Espectro tpico de la voz

Ing. Jos Joskowicz, 2011

Digitalizacin y Codificacin de Voz


Codificacin de Voz y Video
Ing. Jos Joskowicz, 2011

Digitalizacin de la voz
Proceso de digitalizacin
1. Muestreo

Se toman muestras de la seal a intervalos regulares. Estos intervalos deben ser tales que cumplan con el teorema de muestreo:

La mnima frecuencia a la que puede ser muestrada una seal y luego reconstruida es el doble de la frecuencia mxima de dicha seal

Amplitud

Tiempo
Ing. Jos Joskowicz, 2011 11

Digitalizacin de la voz
Proceso de digitalizacin
2. Cuantificacin

Los valores de las muestras se cuantifican en cantidades discretas. La cantidad total de valores discretos debe introducir la menor cantidad posible de ruido de cuantificacin
Error

Amplitud

Tiempo
Ing. Jos Joskowicz, 2011 12

Digitalizacin de la voz
Proceso de digitalizacin
3. Codificacin

Los valores cuantificados se codifican en nmeros que pueden ser luego transmitidos y procesados digitalmente.
1100111

Amplitud

1100110

1100101

Tiempo
Ing. Jos Joskowicz, 2011 13

Digitalizacin de la voz
En Telefona
1. Muestreo

Si bien el oido humano puede llegar a escuchar sonidos de hasta 18 - 20 kHz, la mayor parte de la energa de la voz humana se encuentra por debajo de los 4 kHz. El sonido resultante de filtrar la voz humana a 3.4 kHz es perfectamente inteligible, adems puede distinguirse al locutor. De acuerdo al teorema del muestreo, para poder reconstruir una seal de 3.4 kHz debe muestrarse a ms de 6.8 kHz. Originialmente se seleccion como frecuencia de muestreo para telefona 8 kHz (una muestra cada 125 microseg).
T
Ing. Jos Joskowicz, 2011 14

Digitalizacin de la voz
En Telefona
2. Cuantificacin (1/3)

Una cuantificacin lineal genera un error de cuantificacin constante, independiente del nivel de la seal. Los errores de cuantificacin se traducen en ruido al reconstruir la seal. Para lograr niveles de ruido aceptables en seales de voz con cuantificadores lineales, se requieren 4096 niveles. El odo es mas sensible a los ruidos en seales bajas que en seales altas.

Ing. Jos Joskowicz, 2011

15

Digitalizacin de la voz
En Telefona
2. Cuantificacin (2/3)

Cuantificacin no lineal: Permite tener errores de cuantificacin pequeos para seales pequeas y grandes para seales grandes Con menos cantidad de niveles se logra buena calidad en la seal reconstruida

Amplitud

Tiempo
Ing. Jos Joskowicz, 2011 16

Digitalizacin de la voz
En Telefona
2. Cuantificacin (3/3): Leyes de Cuantificacin

Ley A (de 13 segmentos):


y=(1+log(Ax) / (1 + log(A)) si 1/A < x <1 y= Ax/(1 + log(A)) si 0 < x < 1/A A = 87.6

Ley (de 15 segmentos):


y=log(1+x)/log(1+) = 255

Ambas leyes forman parte de las recomendaciones de ITU-T

Ing. Jos Joskowicz, 2011

17

Digitalizacin de la voz
Ley A en Telefona

16 subnivele s

Nivel 2 Nivel 1

1/32 1/64 1/128

1/16

1/8

1/4

Ing. Jos Joskowicz, 2011

18

Digitalizacin de la voz
Ley A en Telefona
Cuantificacin no lineal (ley A)
1 0,9 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 0 10 20 30 40 50 60 70 80 90 100

Nivel

Amplitud

Ing. Jos Joskowicz, 2011

19

Digitalizacin de la voz
Ley A en Telefona
3. Codificacin: Ley A o ley de los 13 segmentos

El bit mas significativo (bit 7) indica el signo. Los bits 4-6 indican el numero de segmento. Los bits menos significativos (bits 0-3) indican el intervalo dentro del segmento.

Bit

7 Signo

6 5 4 Segmento (0 - 7)

2 1 Intervalo (0 - 15)

Ing. Jos Joskowicz, 2011

20

Proceso de digitalizacin
8 kHz Pasabajos 3.4 kHz Reloj 64 kb/s

Conversor A/D Ley A

Paralelo / Serie

Hbrida

64 kb/s

Conversor D/A Ley A

Serie / Paralelo

8 kHz

Reloj
Ing. Jos Joskowicz, 2011 21

CODEC Comercial

Ing. Jos Joskowicz, 2011

22

CODEC Comercial

Ing. Jos Joskowicz, 2011

23

CODECs de Audio
Codificacin de Voz y Video
Ing. Jos Joskowicz, 2011

CODECs

Pueden ser caracterizados por


su tecnologa (de forma de onda, de sntesis de voz) su tasa de bits (bit rates) la calidad resultante del audio codificado su complejidad el retardo que introducen

Segn el ancho de banda de la seal de entrada


Banda angosta (narrowband) Banda ancha (wideband) Banda super ancha (superwideband) Banda completa (fullband)

300 a 3400 Hz 50 a 7000 Hz 50 a 14000 Hz 50 a 20000 Hz


Ing. Jos Joskowicz, 2011 25

CODECs de banda angosta


Codec G.711 Nombre PCM: Pulse Code Modulation Hybrid MPC-MLQ and ACELP LD-CELP: Low-Delay code excited linear prediction CS-ACELP: Conjugate Structure Algebraic Codebook Excited Linear Prediction Adaptive Multi Rate Bit rate (kb/s) 64, 56 Retardo (ms) 0.125 Comentarios Codec base, utiliza dos posibles leyes de compresin: -law y A-law

G.723.1

6.3, 5.3

Desarrollado originalmente para video conferencias en la PSTN, es 37.5 actualmente utilizado en sistemas de VoIP 1.25 Creado para aplicaciones DCME (Digital Circuit Multiplex Encoding)

G.728

40, 16, 12.8, 9.6

G.729

11.8, 8, 6.4

15

Ampliamente utilizado en aplicaciones de VoIP, a 8 kb/s

AMR

12..2 a 4.75

20 Utilizado en redes celulares GSM


Ing. Jos Joskowicz, 2011 26

CODECs de banda ancha


Codec Nombre Bit rate (kb/s) 48,56,64 24,32 6.6 a 23.85 64, 80, 96 8 a 32 kb/s Retardo (ms) Comentarios G.722 G.722.1 Sub-band ADPCM Transform Coder Inicialmente diseado para audio y 3 videconferencias, actualmente utilizado para de telefona de calidad en VoIP 40 Usado en audio y videoconferencias Estandar en comn con 3GPP (3GPP TS 26.171). gran inmunidad a los 25.9375 ruidos de fondo en ambientes adversos (por ejemplo celulares) 11.875 Ampla el ancho de banda del codec G.711, optimizando su uso para VoIP

G.722.2

AMR-WB

G.711.1

Wideband G.711

G.729.1

Wideband G.729

Ampla el ancho de banda del codec G.729, y es compatible hacia atrs <49 ms con este codec. Optimizado su uso para VoIP con audio de alta calidad Codec propietario de Microsoft, 40 utilizado en aplicaciones de comunicaciones unificadas (OCS)
Ing. Jos Joskowicz, 2011 27

RtAudio

Real Time Audio

8.8, 18

CODECs de banda superancha


Codec SILK SILK Nombre Bit rate (kb/s) 8 a 24 Retardo (ms) Comentarios

25 Utilizado por Skype

Ing. Jos Joskowicz, 2011

28

CODECs de banda completa


Codec G.719 Nombre Low-complexity, full-band Bit rate (kb/s) 32 a 128 Retardo (ms) 40 Comentarios Es el primer codec fullband estandarizado por ITU

Ing. Jos Joskowicz, 2011

29

G.711

Estandarizacin de Ley A y Ley Mu Conserva la forma de onda, codifica muestra a muestra Tiene caractersticas no lineales para minimizar la cantidad de bits por muestra Resulta en una velocidad de 64 kbit/s

Ing. Jos Joskowicz, 2011

30

G.711.1

Aprobado en Marzo de 2008, como una extensin de G.711 para banda ancha (7 kHz) Trabaja en 64, 80 y 96 kb/s Las muestras codificadas pueden ser convertidas en G.711 por medio de un simple truncado Las muestras de entrada son tomadas cada 16 kHz, pero tambien est soportada la frecuencia de muestreo de 8 kHz (compatibilidad con G.711)
Ing. Jos Joskowicz, 2011 31

Codificador G.711.1
Wideband Narrowband input signal input signal sWB (n) s NB ( n) ( n 0,..., 79) ( n 0,...,39) Pre-processing filter sWB (n) ( n 0,..., 79) Pre-processing filter Lower-band signal sLB (n) (n 0,...,39)

s NB ( n) ( n 0,...,39)

Lower-band embedded PCM encoders

Core bitstream I L0 Lower-band enhancement bitstream I L1 MUX Higher-band bitstream I L2 Multiplexed bitstream

Analysis QMF Higher-band signal MDCT sHB (n) ( n 0,...,39)

Higher-band MDCT coefficients S HBm (k ), HB ( k 0,...,39)

Higher-band MDCT encoder

Ing. Jos Joskowicz, 2011

32

Decodificador G.711.1
Multiplexed bitstream sLB ( n) (n 0,..., 39) Lower-band embedded PCM decoders Lower-band FERC Lower-band T LB pitch lag Higher-band MDCT coefficients SHBm (k ),HB (k 0,...,39) Higher-band FERC iMDCT Noise gate sQMF (n) (n 0,...,79) Synthesized output signal sNB ( n) or sWB (n) Lower-band signal s LB ( n) (n 0,...,39)

Core bitstream I L0 Lower-band enhancement bitstream I L1

DeMUX

Synthesis QMF

Higher-band bitstream Higher-band MDCT IL 2 decoder

Higher-band signal sHB ( n) (n 0,...,39)

Ing. Jos Joskowicz, 2011

33

Modos de operacin G.711.1

Ing. Jos Joskowicz, 2011

34

Tramas G.711.1

Son de 5 ms y tienen un total de 480 bits por trama


320 bits de la capa 0 (G.711), correspondientes a 8 bits x 40 muestras 80 bits de la capa 1 80 bits de la capa 2

La demora total del algoritmo lleva un total de 11.875 ms


5 ms para la informacin de la trama 5 ms extras necesarios para el anlisis MCDT (lookahead) 1.875 ms para la implementacin del filtro QMF

Ing. Jos Joskowicz, 2011

35

G.729

No conserva la forma de onda, sino que utiliza tcnicas de sntesis de voz El modelado de la boca y la garganta se hace por medio de filtros lineales y la voz se genera a partir de una vibracin peridica de aire que los excita Utiliza ventanas de 10 ms para obtener los parmetros y se usan 80 bits (10 bytes) para representarlos
Resulta

en una velocidad de 8 kbit/s


Ing. Jos Joskowicz, 2011 36

G.729

Tiene 5 ms de look ahead, resultando en una demora total de 15 ms Utiliza tcnicas CS-ACELP (Conjugate-Structure Algebraic-Code-Excited Linear Prediction)

Ing. Jos Joskowicz, 2011

37

Codificador G.729

Ing. Jos Joskowicz, 2011

38

Decodificador G.729

Ing. Jos Joskowicz, 2011

39

G.729

G.729 A
Variante

del codec para lograr menor complejidad Es interoperable con G.729

G.729 B
Deteccin

de actividad de voz y silencios Modelado y regeneracin del ruido de fondo (CNG = Confort Noise Generation) Menor ancho de banda en la LAN

Ing. Jos Joskowicz, 2011

40

G.729 B VAD (Voice Activity Detection)

Ing. Jos Joskowicz, 2011

41

G.729.1

Aprobado en mayo de 2006 Diseado para proveer una transicin sencilla en el mundo de la telefona entre sistemas que utilizan banda angosta (300 a 3400 Hz) y nuevos sistemas que soporten banda ancha (50 a 7000 Hz) Inter operable con la recomendacin G.729 y sus anexos A y B, los que tienen amplia difusin en el mundo de VoIP
Ing. Jos Joskowicz, 2011 42

Trama G.729.1

Capa 1: Codificacin basada en CELP, de 8kb/s y compatible con G.729 Capa 2: Mejoras en las frecuencias de la banda baja (50 a 4000 Hz), de 4 kb/s Capas siguientes: Agregan progresivas mejoras en la banda alta, 2 kb/s adicionales cada una
Ing. Jos Joskowicz, 2011 43

G.723.1

6.4 kb/s
Utiliza

un algoritmo MPC-MLQ (Multi-Pulse Maximum Likelihood Quantization), generando 24 bytes por cada ventana de 30 ms. ACELP (Algebraic Code Excited Linear Prediction), generando 20 bytes por cada ventana de 30 ms algoritmo requiere de 7.5 msegundos de muestras adicionales (look ahead).
Ing. Jos Joskowicz, 2011 44

5.3 kb/s
Utiliza

El retardo total (latencia) es de 37.5 ms


El

RTAudio (Real-time Audio)

Utiliza tcnicas de codificacin VBR (Variable Bit Rate)


No

todas las ventanas o cuadros de voz se codifiquen con la misma cantidad de bytes.

El retardo total (latencia) del algoritmo es menor a 40 ms Nuevo default de Microsoft


RTAudio

is the preferred Microsoft Real-Time audio codec and is the default codec for Microsofts Unified Communications platforms (1) (1) http://en.wikipedia.org/wiki/RTAudio
Ing. Jos Joskowicz, 2011 45

SILK

Utilizado por Skype. Ancho de banda variable, entre 6 a 40 kb/s, trabajando entre las bandas angostas (8 kHz) y las bandas super anchas (superwideband) (24 kHz) Utiliza tramas de 20 ms y tiene un retardo de 25 ms. 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.
Ing. Jos Joskowicz, 2011 46

AMR (Adaptive Multi Rate)


Utilizado tpicamente en redes celulares GSM Hace uso de tecnologas DTX (Discontinous Transmition), VAD (Voice Activity Detection) para deteccin de actividad vocal y CNG (Confort Noise Generation). De forma similar a G.729, se basa en el modelo ACELP
Ventanas de audio de 20 ms (160 muestras) Cada ventana de 20 ms es a su vez dividida en 4 sub-ventanas, de 5 ms (40 muestras) cada una. Pora cada ventana se extraen los parmetros LP del modelo CELP (los coeficientes de los filtros LP) Por cada sub-ventana se obtienen los ndices de los codebooks fijos y adaptivos y las ganancias.

Ing. Jos Joskowicz, 2011 47

AMR (Adaptive Multi Rate)

Segn la forma en que se cuanticen los parmetros (de acuerdo a cuantos bits se utilicen para cada parmetro) se obtienen tramas de 95, 103, 118, 134, 148, 159, 204 o 244 bits, las que corresponden a velocidades de transmisin que varan entre 4.75 y 12.2 kb/s. AMR es licenciado

Ing. Jos Joskowicz, 2011

48

AMR-WB (G.722.2)

Codec de Banda Ancha (16 kHz), y basado en un muestreo inicial de 14 bits por muestra 9 posibles velocidades entre 6.6 y 23.85 kb/s Basado en CELP, utilizando un filtro de orden 16

Ing. Jos Joskowicz, 2011

49

AMR-WB (G.722.2)

Ing. Jos Joskowicz, 2011

50

Digitalizacin y Codificacin de Video


Codificacin de Voz y Video
Ing. Jos Joskowicz, 2011

Tcnicas utilizadas para la digitalizacin del video

Prediccin
Predecir

el valor de ciertas muestras en funcin de otras, de manera de poder enviar nicamente como informacin la diferencia

Transformacin
Los

valores relacionados a las muestras pueden ser transformados en otro conjunto de valores equivalentes, que representan la misma informacin de manera diferente En video se utiliza tpicamente la Transformada Discreta del Coseno o DCT por sus siglas en ingls
Ing. Jos Joskowicz, 2011 52

Tcnicas utilizadas para la digitalizacin del video

Cuantizacin
Se

asigna un valor entero a un nmero real. En funcin de la cantidad de enteros utilizados el proceso de cuantificacin puede introducir ms o menos distorsin respecto al valor original

Codificacin entrpica (Entropy Coding)


Representa

los valores cuantizados tomando ventaja de las frecuencias relativas con las que aparece cada smbolo Cdigos de largo variable (o VLC por sus siglas en ingls)
Ing. Jos Joskowicz, 2011 53

Estandarizaciones

Fuente (Seal original)

Pre-procesamiento

Codificacin

Transmisin

Destino (Seal recibida)

Post-procesamiento y recuperacin de errores

Decodificacin

Ing. Jos Joskowicz, 2011

54

Codificacin de Imgenes

JPEG (Joint Photographic Experts Group)


Diseado para comprimir imgenes fijas, tanto en color como en blanco y negro Divide a la imagen en bloques de 8 x 8 pxeles, los que son procesados en forma independiente Dentro de cada uno de estos bloques, se aplica la transformada discreta de coseno (DCT) bidimensional, generando para cada bloque, una matriz de 8 x 8 coeficientes

Ing. Jos Joskowicz, 2011

55

Codificacin de Video

MPEG-1
Originalmente

diseado por el Moving Picture Experts Group (MPEG) de la ISO Pensado para el almacenamiento y reproduccin digital de aplicaciones multimedia desde dispositivos CD-ROM

MPEG-2
Pensado

para proveer calidad de video desde la obtenida con NTSC/PAL y hasta HDTV, con velocidades de hasta 19 Mbps

Ing. Jos Joskowicz, 2011

56

Codificacin en MPEG

Ing. Jos Joskowicz, 2011

57

Codificacin en MPEG

Ing. Jos Joskowicz, 2011

58

MPEG-4 y H.264/AVC

MPEG-4
Es la evolucin de MPEG-1 y 2, y provee la tecnologa base para la codificacin en base a contenidos, y su almacenamiento, transmisin y manipulacin Puede codificar mltiples Objetos de video (MVO Multiple Video Objects)

H.264/MPEG-4 Part 10
JVT/H.26L/AVC (Advanced Video Coding) o H.264/AVC Con AVC, para una misma calidad de video, se logran mejoras en el ancho de banda requerido de aproximadamente un 50% respecto estndares anteriores

Ing. Jos Joskowicz, 2011

59

H.264/SVC y MVC

SVC: Scalable Video Coding (Anexo G, 2007)


Permite

la construccin de sub-flujos de datos dentro de un flujo principal. El flujo principal o capa base (base layer) puede ser decodificado por cualquier equipo que soporte H.264/AVC, aunque no soporte SVC. Los flujos adicionales pueden contener informacin adicional del flujo, brindando mayor definicin.

MVC: Multiview Video Coding (Anexo H,2009)


Diferentes

flujos representan diferentes visiones de la misma escena (por ejemplo, para 3D)
Ing. Jos Joskowicz, 2011 60

Perfiles y niveles

En H.264 se establecen Perfiles y Niveles


Baseline

Profile (BP) Main Profile (MP) High Profile (HiP) Otros (en total hay 17 perfiles!)

Ing. Jos Joskowicz, 2011

61

Codificador H.264

Tomada de: Video Compression From Concepts to the H.264/AVC Standard Gary J. Sullivan, Thomas Wiegand Proceedings of the IEEEIssue 1, pp. 18 - 31, Jan 2005

Ing. Jos Joskowicz, 2011

62

Comparacin de codecs de video


Caracterstica Tamao del macro-bloque Tamao del bloque MPEG-1
16x16 8x8

MPEG-2
16x16, 16x8 8x 8

MPEG-4
16x16 16x16 8x8, 16x8 DCT/DWT 8x8 VLC Si

H.264/MPEG-4 Part 10/AVC


16x16 8x8, 16x8, 8x16, 16x16, 4x8, 8x4, 4x4 4x4 Integer transfor 4x4 VLC, CAVLC, CABAC Si, con hasta 16 MV

Transformada Tamao de la muestra para aplicar la transformada Codificacin Estimacin y compensacin de movimiento Perfiles Tipo de cuadros Ancho de banda Complejidad del codificador Compatibilidad con estndares previos

DCT 8x8 VLC Si

DCT 8x8 VLC Si

No I,P,B,D < 1.5 Mbps Baja Si

5 I,P,B 2 a 15 Mbps Media Si

8 I,P,B 64 kbps a 2 Mbps Media Si

3 I,P,B,SI,SP 64 kbps a 150 Mbps Alta No Ing. Jos Joskowicz, 2011 63

Muchas Gracias!
Codificacin de Voz y Video
Ing. Jos Joskowicz josej@fing.edu.uy
Ing. Jos Joskowicz, 2011