12-oct-14 12/10/2014 Difusión y Multimedia • Digitalización de la voz (Modulación Delta, Delta Adaptativa, PCM, DPCM, etc.). • Descripción de las tramas T1 y E1. UIT-T G.711 y G.722. Modelo de tracto vocal. Compresión de la voz. Otros estándares UIT. Compresión del sonido. 12-oct-14 • Estándares Digitalización de la voz • Como ya se indicó anteriormente, en telefonía se acostumbra usar una tasa de muestreo de 8.000 muestras por segundo, lo cual es adecuado para la transmisión de voz con un ancho de banda de 3.100 Hz. se utiliza una codificación a 8 bits por muestra, se produce un flujo digital a 64.000 bits por segundo. 12-oct-14 • Si Digitalización de la voz • Esto se organiza normalmente de la siguiente manera. Cada muestra codificada a 8 bits es un byte, con el siguiente formato + 26 25 24 23 22 21 20 1 12-oct-14 12/10/2014 Multiplexaje • Como el tiempo entre una muestra y otra debe ser de 125 ms. para cumplir con el criterio de Nyquist, si estos bytes se envían en un tiempo menor, entonces se podrían mandar muestras de otros canales en los intervalos de tiempo libres. constituye la llamada trama digital 12-oct-14 • Esto Multiplexaje Fuente 1 Fuente 2 Convertidor A/D 8 bits Fuente 3 Trama de salida 12-oct-14 Fuente 4 Multiplexaje Canal 1 Canal 2 Canal 3 Canal 4 Canal 1 Para garantizar que todos canales puedan ser decodificados correctamente hacia sus destinos debe insertarse alguna forma de sincronismo. 2 12-oct-14 12/10/2014 Compansión a la respuesta no lineal del oído, y a que la respuesta dinámica de los canales es normalmente inferior a la del oído humano se puede utilizar compresión (y expansión) para el mejor aprovechamiento del canal. Esto es importante al digitalizar pues se ahorra ancho de banda al limitar el número de bits a enviar 12-oct-14 • Debido Compansión Compresión Fuente de sonido Canal lineal Salida 12-oct-14 Expansión Compansión. • En el caso digital también se aplica compansión a la voz y luego se codifica con un convertidor Analógico Digital lineal de 8 bits. Como consecuencia se logra manejar una gama dinámica equivalente a 12 bits (Ley A) o 13 bits (Ley m). 3 12-oct-14 12/10/2014 Compansión. Ley m • El sistema Norteamericano utiliza para la compresión la llamada Ley m, la cual viene definida por la siguiente expresión log 1 x y f ( x ) sgn( x ) e log e 1 12-oct-14 Donde “x” es la entrada y “y” la salida (entre 0 y 1). { m vale 100 en el sistema T1 y 255 en DS2} Compansión. Ley m • En esta Ley, los 128 valores de mantisa del byte corresponden a un intervalo equivalente de valores de entrada entre de 0 a 8159 los cuales se decodifican al intervalo 0 a 8031. es equivalente a una codificación lineal de 13 bits, la cual requeriría un ancho de banda un 60% mayor. 12-oct-14 • Esto Compansión. Ley A • En Europa se utiliza la Ley A, cuya expresión es: Ax 1 y f ( x ) sgn( x) si 0 x 1 log A A e 1 log e A x 1 y f ( x ) sgn( x) x 1 si 1 log A A e Donde “x” es la entrada y “y” la salida (entre 0 y 1). { A vale 87,6} 4 12-oct-14 12/10/2014 Compansión. Ley A 1 y 0 1/A x 1 12-oct-14 0 Compansión. Ley A este caso la gama de valores de entrada va de 0 a 4096 y la decodificación abarca el intervalo 1 a 4032, lo cual es equivalente a una codificación de 12 bits. Recomendación G.711 de la UIT 12-oct-14 • En • La digitalización de la voz a 64000 bits por segundo, siguiendo las leyes de compresión descritas (tanto americana como europea) corresponden a la Recomendación G.711, la cual es la base del PCM. Este también es la base de todas las demás técnicas de codificación de la voz, pues generalmente se parte de una trama PCM para producir los demás estándares. 5 Esta recomendación representa el método más común de codificación de forma de onda utilizado alrededor del mundo. Mediante el uso de la recomendación G.711 se logra transmitir una señal de voz en forma digital y reconstruirla en el destino de una forma que, para el oído humano, es esencialmente idéntica a la original. • En PCM, cada una de las muestras enviadas al codificador es totalmente independiente una de las otras, por lo que PCM permite codificar forma de ondas totalmente arbitrarias cuya frecuencia máxima no exceda la mitad de la velocidad de muestreo. Chip codificador G.711 Redundancia temporal en la voz. 12-oct-14 • 12-oct-14 Recomendación G.711 de la UIT 12-oct-14 12/10/2014 • Diversos análisis sobre las formas de onda de la voz indican que existe una redundancia considerable entre una muestra de voz y la siguiente. El coeficiente de correlación (medida de predictibilidad) entre dos muestras PCM de voz es de más de 0.85. De aquí tenemos que, al tomar en cuenta estas redundancias, se pueden lograr reducciones significativas del ancho de banda requerido. 6 12-oct-14 12/10/2014 ADPCM En ADPCM (Adaptive Differential Pulse Code Modulation, modulación diferencial adaptativa por pulsos codificados), a diferencia del PCM, no se codifica cada una de las muestras, sino que se codifica la diferencia entre la predicción de la muestra y la muestra original. 12-oct-14 • ADPCM Dado el alto grado de correlación entre las muestras, se pueden realizar predicciones cercanas a los valores de las muestras, por lo que se requiere enviar menos bits para indicar cuál es el error de la predicción (diferencia entre la predicción y la muestra real) que el número de bits que se requiere para enviar la muestra en su totalidad. 12-oct-14 • ADPCM • De esta manera, el codificador hace una predicción de la muestra a partir de las muestras previas y envía al decodificador la información que indica cuánto debe sumar (restar) a la predicción para obtener la muestra real. Por su lado, el decodificador también hace una predicción de la muestra (la cual coincide con la predicción hecha por el codificador) y le suma ó resta a esta predicción la cantidad indicada por el codificador. 7 12-oct-14 12/10/2014 ADPCM Con ADPCM se muestrea la señal de voz 8000 veces por segundo (como en PCM), pero dado que se envía solamente el error de predicción, solamente se requiere transmitir 4 bits de información en lugar de los 8 que se requerirían para enviar la información de la muestra en su totalidad. Con esto se logra disminuir la velocidad de transmisión en la mitad (32 Kbps, 8000 muestras por segundo X 4bits por muestra) con respecto al PCM. 12-oct-14 • ADPCM evitar que cuando existan cambios bruscos en la señal de voz, no se pueda representar el error de predicción con los cuatro bits que utiliza el algoritmo, el ADPCM utiliza una técnica adaptativa en la cual los cuatro bits representan una gama que se adapta a las amplitudes de la señal de voz. 12-oct-14 • Para ADPCM • De esta manera, cuando las amplitudes de la señal son altas, entonces los cuatro bits representan diferencias de niveles mayores, que cuando la señal posee una amplitud baja. Cuando la amplitud de la señal es alta, el error de predicción puede también ser alto y en este caso los 4 bits con que se representa este error deben representar una gama mayor de niveles que le permita cubrir el error calculado. El algoritmo adapta permanentemente y de manera automática la gama de valores representado por los 4 bits de información enviados. 8 12-oct-14 12/10/2014 ADPCM Cuando se incrementa la gama de amplitud representado por los 4 bits también se incrementa el ruido de cuantización, pero dado que solamente se incrementa la gama representada cuando la señal de voz es de gran amplitud, entonces la relación existente entre la muestra real (de gran amplitud) con el error (también “grande”) se mantiene perceptivamente igual que cuando la señal de voz es de baja amplitud, donde la gama representada por los bits es menor y donde el error de cuantización es menor. 12-oct-14 • Recomendación G.721 y G.723 ADPCM fue estandarizada por la ITU a mediados de los años ochenta bajo la recomendación G.721. En 1988 surgieron extensiones al G.721 (la G.723) que permiten reducir la velocidad de bits en el canal cuando la red presenta congestión. Con esta extensión se puede ajustar los bits por muestra entre 3 y 5, obteniéndose velocidades de 24 Kbps y 40 Kbps, respectivamente. 12-oct-14 • El Recomendación G.726 • En 1.990 surgió una nueva versión de ADPCM (G.726) la cual es capaz de ajustar la velocidad de bits, cambiando el número de bits por muestra de 2 hasta 5, obteniéndose velocidades entre 16 Kbps y 40 Kbps. 9 12-oct-14 12/10/2014 Recomendación G.726 diferencia del PCM, donde todas las muestras son independientes unas de otras, para estos algoritmos de ADPCM la predicción de la muestra presente depende de las muestras precedentes. De esta manera, si al utilizar PCM se pierde una muestra de la señal, la calidad de la señal se ve afectada solamente por la pérdida de esa muestra. 12-oct-14 •A ADPCM • Sin embargo, si se utiliza ADPCM la pérdida de una muestra afecta la predicción de las muestras siguientes, teniendo esto un mayor impacto en la calidad de la señal. estas razones, se hace muy importante que todos los bits generados en el transmisor lleguen correctamente al receptor de forma tal de mantener la predicción de ambos equipos sincronizada. 12-oct-14 • Por Recomendación G.722 • Esta recomendación permite la codificación de una señal de mejor calidad que en G.711, utilizando un ancho de banda de 7 kHz. El flujo de datos de salida puede ser a 48 kbps o 56 kbps y se utiliza con frecuencia en sistemas de videoconferencia. 10 Embedded ADPCM Recomendación G.727 Con los algoritmos ADPCM descritos anteriormente, si se requiere disminuir la velocidad de codificación (debido, quizás, a la presencia de congestión en la red), se hace necesario que los equipos terminales realicen la negociación respectiva. Esta negociación resulta compleja y en muchos casos puede originar que la comunicación tenga que reiniciarse. Embedded ADPCM Recomendación G.727 12-oct-14 • 12-oct-14 12/10/2014 algoritmo Embedded ADPCM, definido en la recomendación G.727, provee una capacidad para asignar el ancho de banda de una manera mucho más flexible, sin requerir ningún tipo de negociación. Embedded ADPCM Recomendación G.727 • 12-oct-14 • El En este algoritmo los bits codificados se dividen en dos clases: los bits principales (core) y los bits de perfeccionamiento (enhacement). Los bits principales son utilizados para representar el error entre la predicción de la muestra y la muestra real. 11 Embedded ADPCM Recomendación G.727 Embedded ADPCM Recomendación G.727 • La predicción hecha tanto en el codificador como en el decodificador, no depende de los bits de perfeccionamiento, solamente depende de los bits principales. De esta manera, no se requiere que todos los bits lleguen al receptor para mantener el algoritmo de predicción de éste sincronizado con el del transmisor, solamente se requieren los bits principales. Embedded ADPCM Recomendación G.727 • 12-oct-14 Los bits de perfeccionamiento se utilizan para obtener un mayor refinamiento de la señal reconstruida, disminuyéndose con esto los errores de cuantización. Así, por ejemplo, 2 bits pueden utilizarse como principales (16 Kbps) y entre 0 y 3 bits (0 y 24 Kbps adicionales) como bits de perfeccionamiento. 12-oct-14 • 12-oct-14 12/10/2014 Los bits de perfeccionamiento son opcionales para el receptor. Si son recibidos son utilizados, pero su ausencia no causa ningún problema. 12 Embedded ADPCM Recomendación G.727 Estas características le dan bastante flexibilidad al algoritmo. Así, por ejemplo, si el ancho de banda de un circuito está siendo utilizado en su totalidad y surge una nueva aplicación que requiere un ancho de banda de, digamos, 16 Kbps, si estamos utilizando EADPCM con 16 Kbps de información principal y 16 Kbps de información de perfeccionamiento, podemos dejar de enviar los bits de perfeccionamiento para darle cabida a la nueva aplicación (o a la nueva demanda de una ya existente). 12-oct-14 • 12-oct-14 12/10/2014 Codificación por Sub-bandas tipo de compresión se basa en la característica de oído humano denominada enmascaramiento. Cuando una frecuencia posee una gran amplitud, el oído humano no puede escuchar las frecuencias de menor amplitud que se encuentran circundantes a ésta. Se dice que la de frecuencia de mayor amplitud enmascara a las de menor amplitud. 12-oct-14 • Este Codificación por sub-bandas • Este fenómeno del enmascaramiento no es sólo instantáneo sino que se presenta en una determinada gama de tiempo. De esta manera, si, por ejemplo, uno escucha de cerca el sonido de un disparo, por una gama de tiempo después del mismo no es posible escuchar nada. A este fenómeno se le denomina enmascaramiento y puede durar hasta 100 mseg. 13 12-oct-14 12/10/2014 Codificación por sub-bandas Dentro de la gama de tiempo que dura el fenómeno de enmascaramiento, todas las frecuencias que se encuentren por debajo de una determinada amplitud, denominada umbral de enmascaramiento, no podrán ser captadas por el ser humano. 12-oct-14 • Codificación por sub-bandas Este umbral de enmascaramiento depende de la frecuencia y de la intensidad de la señal que lo provoca. • La idea básica de la codificación por subbandas (SBC, Sub-Band Coding) es la de economizar ancho de banda eliminando la información de las frecuencias que van a resultar enmascaradas. No se utiliza ancho de banda para enviar sonidos que de todas maneras no podrán ser captados por el oído humano. 12-oct-14 • Codificación por sub-bandas • El SBC divide la señal de audio en varias sub-bandas de frecuencia, aplicando a cada una de ellas una codificación similar al ADPCM. A cada sub-banda se le asigna de manera adaptativa un número de bits, el cual depende de las características de enmascaramiento que posean las muestras de las sub-bandas. 14 12-oct-14 12/10/2014 Codificación por sub-bandas La idea es manipular el ruido de cuantificación de forma tal de que sea lo mayor posible (menor número de bits) pero que se encuentre por debajo del umbral de enmascaramiento (de forma tal de que no pueda ser apreciado). 12-oct-14 • Codificación por sub-bandas Para aquellas sub-bandas más afectadas por el enmascaramiento se le asignan menos bits (ruido de cuantización se hace menos evidente) y para aquellas subbandas menos afectadas por el enmascaramiento se les asigna más bits. 12-oct-14 • Codificación por sub-bandas • Es posible que para aquellas sub-bandas más afectadas no se les asigne ningún bit, de forma tal que las muestras pertenecientes a las mismas no sean codificadas. • De esta manera, manipulando la relación entre el ruido de cuantificación y los umbrales de enmascaramiento y eliminando la información de las frecuencias que se ven enmascaradas, se logran compresiones importantes. 15 12-oct-14 12/10/2014 Codificación por sub-bandas El SBC se hace más útil cuando se utiliza para codificar señales de audio de alta calidad (22 KHz), donde el fenómeno de enmascaramiento es más frecuente (y donde por tanto se pueden lograr mayores compresiones), que para codificar simplemente señales de voz (4 KHz). • Esta técnica se utiliza para la codificación de audio de MPEG (estándar para la codificación de audio y vídeo), lográndose buenas calidades al comprimir audio de 22 KHz con velocidades tan bajas como 64 Kbps. 12-oct-14 • Codificación por sub-bandas Utilizando PCM, el número de bits es constante para todas las muestras y, para tratar de mantener el ruido de cuantización bajo, para digitalizar un señal de audio de 22 KHz, se le asigna usualmente 16 bits a cada muestra. • Con esto tenemos que la señal de 22 KHz es muestreada 44.000 veces por segundo (Nyquist), lo cual, utilizando 16 bits por muestra, nos da una velocidad de transmisión de 700 Kbps (que es el utilizado para un canal de audio para CD). 12-oct-14 • Codificación por sub-bandas • Muchos de estos bits se desperdician ya que la información que ellos tienen no podrá percibirse por el oído humano debido al enmascaramiento. • Al utilizar SBC una asignación de bits variable, que depende de la relación entre el ruido de cuantificación y los umbrales de enmascaramiento, se puede lograr disminuir los 700 Kbps, para un canal de audio de CD, a 64 Kbps. 16 Los métodos de codificación de forma de onda discutidos previamente se basan en la representación de la señal de voz en el dominio del tiempo. • La Codificación Predictiva Lineal analiza la señal en el dominio de la frecuencia. Codificación predictiva lineal (LPC) • En gamas de milisegundos, las señales de voz no varían significativamente y esta característica es lo que permite la posibilidad de sintetizar la voz. • Con este tipo de codificación, en lugar de digitalizarse la señal analógica, se digitaliza los parámetros del modelo de voz y el nivel de excitación pertenecientes a una gama pequeña de tiempo (alrededor de 20 mseg) enviando esta información al decodificador. Codificación predictiva lineal (LPC) • Para entender mejor este tipo de modulación, analicemos antes un poco las características de la voz. • La voz humana se produce cuando el aire es forzado a salir desde los pulmones, a través de las cuerdas vocales y a lo largo del tracto vocal. Mientras esto sucede, las cuerdas vocales vibran produciendo energía de audio que se concentra en las frecuencias con que éstas vibran. 12-oct-14 • 12-oct-14 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 17 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 frecuencias resuenan dentro del tracto vocal, dependiendo estas frecuencias de la forma y tamaño del tracto. La energía de estas frecuencias es reforzada por las reflexiones de las ondas, las cuales se suman entre sí, mientras que la energía de las otras frecuencias tiende a disiparse. A estas reverberaciones de las cuerdas vocales se les denomina resonancias o formantes. Codificación predictiva lineal (LPC) A medida que el tracto vocal varía, moviendo la lengua, variando la forma de los labios, ó variando la apertura de la boca, por ejemplo, se controlan las frecuencias de los formantes. Codificación predictiva lineal (LPC) 12-oct-14 • 12-oct-14 • Ciertas • Basándose en el modo de excitación, la voz puede categorizarse en tres clases: sonidos con voz (voiced sounds) sonidos sin voz (unvoiced sounds) y sonidos explosivos (plosive sounds). 18 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 • Los sonidos con voz se producen por la vibración de las cuerdas vocales y se encuentran comprendidos en una gama entre 50 y 400 Hz. sonidos con voz poseen un patrón repetitivo dentro de una gama de tiempo entre 2 y 20 mseg. Las vocales constituyen los sonidos con voz. Codificación predictiva lineal (LPC) 12-oct-14 • Los los sonidos sin voz no se presenta vibración de las cuerdas vocales, sino que más bien el aire sale de los pulmones y recorre el tracto vocal libremente, con tan sólo leves constricciones mediante el uso de los dientes y los labios. La s y la f constituyen los sonidos sin voz. Codificación predictiva lineal (LPC) 12-oct-14 • En • Los sonidos explosivos resultan del cierre completo del tracto vocal, lo que origina altas presiones de aire detrás del cierre. • Cuando el tracto vocal se abre, el resultado es un sonido con un alto contenido de energía en las bajas frecuencias. La p y la b son ejemplos de este tipo de sonidos. 19 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 a estas tres clases de sonidos, existen otros que resultan de una combinación de éstos. Por ejemplo, la ocurrencia de vibración de las cuerdas vocales y la constricción del tracto vocal causan un sonido producido con fricción, denominado consonantes fricativas. Codificación predictiva lineal (LPC) 12-oct-14 • Adicionalmente • La codificación LPC (linear Predictive Coding) basa su funcionamiento en el modelaje del tracto vocal. modelo asume que cada muestra de voz representa una combinación lineal de las muestras anteriores. Codificación predictiva lineal (LPC) • 12-oct-14 • El El tracto vocal se modela como un tubo principal con un generador de frecuencias al final del mismo. La glotis (el espacio entre las cuerdas vocales) produce el sonido del timbre, el cual se caracteriza por su intensidad (loudness) y frecuencia (pitch). El tracto vocal (la garganta y la boca) forma el tubo. A este tubo principal se encuentran concatenados otros tubos acústicos que, junto con el principal, caracterizan las resonancias del tracto vocal 20 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 Generador (Frecuencia Amplitud) Codificación predictiva lineal (LPC) 12-oct-14 Modelo de tracto vocal analiza la señal de la voz estimando los formantes (frecuencias de resonancia de las cuerdas vocales) y calculando la intensidad y la frecuencia de los mismos. Codificación predictiva lineal (LPC) 12-oct-14 • LPC • El problema básico de un sistema LPC consiste en determinar el modelo del tracto vocal a partir de la señal de voz 21 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 • Para esto utiliza una ecuación en la que cada muestra de voz se expresa como una combinación lineal de las muestras anteriores. coeficientes de la ecuación (coeficientes de predicción) caracterizan el tracto vocal y el sistema requiere estimarlos Codificación predictiva lineal (LPC) 12-oct-14 • Los estimación se realiza minimizando el error medio cuadrático entre la predicción de la señal y la señal misma Codificación predictiva lineal (LPC) 12-oct-14 • Esta • Esto quiere decir que se busca que el valor de los parámetros de predicción sean tales que al sumar el cuadrado de los errores cometidos en cada muestra (diferencia entre la muestra real y la predicción de la misma), el resultado obtenido sea el menor posible 22 • Con ADPCM se envían los errores de predicción y tanto el codificador como el decodificador van ajustando los parámetros de las ecuaciones de predicción en base a estos errores. • En LPC, el codificador transmite, no los errores, sino los parámetros de las ecuaciones. Codificación predictiva lineal (LPC) Aprovechando que las señales de voz no varían significativamente en gamas pequeñas de tiempo, estos parámetros son válidos para una pequeña gama de tiempo, por lo que el codificador los envía cada 20 mseg aproximadamente Codificación predictiva lineal (LPC) 12-oct-14 • 12-oct-14 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 • De esta manera se tiene, que a partir de la utilización de álgebra lineal, haciendo un análisis de la señal en el dominio del tiempo, se obtiene estimaciones en el dominio de la frecuencia que describen de una manera aproximada el tracto vocal. Para esta estimación, se requiere la computación de una matriz de coeficientes y la solución de un conjunto de ecuaciones lineales 23 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 • Diferentes métodos (autocorrelación, covariancia, etc.) pueden utilizarse para asegurar la convergencia a una solución única. LPC divide la señal de voz en segmentos temporales de alrededor de 20 mseg. (lo que equivaldría a 160 muestras PCM). Codificación predictiva lineal (LPC) 12-oct-14 • Básicamente, cada segmento el codificador calcula el filtro que ha de envía los parámetros que caracterizan a este filtro al decodificador. Adicionalmente le envía los parámetros que caracterizan al formante (vibración de las cuerdas vocales) presente en ese lapso de tiempo en que se está analizando la señal (frecuencia e intensidad). Codificación predictiva lineal (LPC) • Con esta información el decodificador puede reconstruir la señal fuente, la cual hace pasar por el filtro, obteniéndose la voz sintetizada. • El problema lo tenemos en que para los sonidos con voz (vocales), la señal que se introduce en el filtro está bien representada por los formantes, sin embargo, los sonidos sin voz no se pueden representar a través de los formantes 12-oct-14 • Para 24 Codificación predictiva lineal (LPC) 12-oct-14 12/10/2014 el caso de los sonidos sin voz, la señal resultante de la presión de aire proveniente de los pulmones a través de las constricciones del tracto vocal se modela como una secuencia de ruido aleatorio Codificación predictiva lineal (LPC) 12-oct-14 • Para parámetros que se envían al decodificador son: los coeficientes del filtro (coeficientes de predicción), la intensidad de la excitación, un bit que indica si la excitación es un sonido sin voz ó un sonido con voz, y, en caso de ser este último, la frecuencia de la excitación (formante) Codificación predictiva lineal (LPC) 12-oct-14 • Los • En el decodificador, los sonidos con voz se obtienen al pasar una serie de impulsos periódicos con la misma frecuencia e intensidad de la formante por el filtro (caracterizado por los coeficientes de predicción). Los sonidos sin voz se obtienen al pasar por el filtro ruido aleatorio con la amplitud de la excitación. 25 Codificación predictiva lineal (LPC) Hoy día se puede codificar la voz con LPC a velocidades entre 2.4 y 4.8 Kbps con una señal de voz reconstruida con una calidad razonable. Desafortunadamente, ciertos sonidos no se pueden reproducir fielmente con este método. La representación del tracto vocal por una serie de tubos acústicos concatenados no permite representar los sonidos nasales, los cuales, requieren una representación matemática mucho más compleja Codificación predictiva lineal (LPC) 12-oct-14 • 12-oct-14 12/10/2014 el modelaje del tracto vocal también conlleva a que la señal reconstruida difiera de la real, debido a las diferencias entre el modelo y el tracto vocal real. La principal ventaja de la utilización del LPC es su capacidad de producir voz inteligible a muy bajas velocidades (entre 2,4 y 4,8 Kbps). Codificación predictiva lineal (LPC) 12-oct-14 • Adicionalmente, • Sin embargo, al utilizar este tipo de codificación generalmente se hace imposible reconocer, a partir de la voz sintetizada, a la persona que la origina. La razón de esto es que las características del tracto vocal varían enormemente de persona a persona, lo cual hace el modelaje sumamente difícil. 26 Codificación predictiva lineal (LPC) Codificación predictiva lineal (LPC) • LPC basa su funcionamiento en dos tipos de sonidos: con voz y sin voz, por lo que no puede representar los otros tipos de sonidos existentes, resultando esto en la producción de una voz artificial. • Estas razones hacen que la calidad de la voz sea muy inferior a la obtenida a través de las técnicas de PCM y ADPCM. Codificación por excitación lineal predictiva (CELP) 12-oct-14 Cuanto más complejo se haga el modelaje, se requieren más bits para representarlo, y por tanto las velocidades de transmisión aumentan, no viéndose justificadas la complejidad del modelo con la velocidad de transmisión obtenida. 12-oct-14 • 12-oct-14 12/10/2014 • CELP (Code Excited Linear Prediction) es una técnica híbrida de codificación, donde se combinan la codificación por forma de onda y la codificación por modelaje de la voz. La idea es tratar de obtener las ventajas de ambas técnicas 27 Codificación por excitación lineal predictiva (CELP) 12-oct-14 12/10/2014 través de la codificación por forma de onda se logra reconstruir la señal con un grado de fidelidad alto (pero utilizando un ancho de banda significativo). Por otro lado, con la codificación por modelaje logro transmitir la señal de voz utilizando un ancho de banda muy pequeño (pero con una calidad muy inferior) Codificación por excitación lineal predictiva (CELP) 12-oct-14 •A vimos anteriormente, LPC basa su algoritmo en los sonidos con voz y los sonidos sin voz, para lo cual elimina los componentes de la voz que no se encuentran dentro de estas dos clases. La información eliminada se denomina residuo de la voz y contiene información importante que puede permitir la reconstrucción mucho más fiel de la voz. Codificación por excitación lineal predictiva (CELP) 12-oct-14 • Como • CELP utiliza un modelo del tracto vocal muy similar al utilizado por LPC y la diferencia fundamental se basa en que, adicionalmente, CELP utiliza un libro de códigos que contiene una tabla con las señales residuo típicas. En operación, el codificador compara el residuo con todas las entradas en el libro de códigos, eligiendo la que más se parece y enviando el código de la misma 28 • El receptor recibe el código, y elige el residuo relacionado con el mismo, el cual utiliza para excitar el filtro. De aquí el nombre de predicción lineal con excitación por código. • De esta manera, CELP, además de enviar los parámetros que modelan el tracto vocal, la intensidad de la excitación, y la frecuencia de la formante (sonidos con voz), también envía el código que permite obtener una aproximación al residuo de la señal de voz. Codificación por excitación lineal predictiva (CELP) En el decodificador, tanto la señal del generador de excitación (con los valores de intensidad y frecuencia indicados por el codificador) como la señal recons-truida del residuo (obtenida a partir del libro de códigos y del código enviado por el codificador) se pasa a través del filtro que modela el tracto vocal (construido a través de los parámetros enviados por el codificador), obteniéndose así la reconstrucción de la voz. Codificación por excitación lineal predictiva (CELP) 12-oct-14 • 12-oct-14 Codificación por excitación lineal predictiva (CELP) 12-oct-14 12/10/2014 • Con esta codificación se logra obtener una calidad mucho mayor a la obtenida con LPC sin sacrificar mucho ancho de banda adicional (velocidades entre 4.8 y 16 Kbps) 29 12-oct-14 12/10/2014 CS-ACELP codificación CS-ACELP (Conjugate Structure Algebraic Code Excited Linear Prediction, predicción por excitación lineal de código algebraico de estructura conjugada) fue estandarizada por la ITU en Noviembre de 1995 bajo la recomendación G.729. Con la utilización de esta recomendación se codifica la voz a 8 Kbps, utilizando segmentos de voz de 10 mseg (80 muestras PCM) 12-oct-14 • La CS-ACELP Cada 10 mseg. se analiza la señal de voz y se extrae los parámetros del modelo CELP. • La característica principal de CS-ACELP es que las entradas del libro de códigos ya no vienen dadas por un conjunto de valores que caracterizan las formas de onda de los residuos, sino que dichas formas de onda son representadas por un conjunto de ecuaciones algebraicas. 12-oct-14 • CS-ACELP • Los procesadores de señales digitales manipulan con mucha mayor facilidad las formas de onda de los residuos cuando estos son representados como funciones matemáticas que cuando estas son representadas por un conjunto de valores. 30 12-oct-14 12/10/2014 • CS-ACELP utiliza dos libros de códigos, uno fijo y otro adaptable. El libro fijo contiene formas de onda preestablecidas, las cuales no varían. • En el libro adaptable, las formas de onda se van adaptando a las señales reconstruidas, permitiendo con esto que la reconstrucción de la voz se vaya ajustando a las características de la misma, obteniéndose con esto una mayor fidelidad. CS-ACELP. Recomendación G.729 12-oct-14 CS-ACELP vimos antes, G.729 utiliza segmentos de voz de 10 mseg. Adicionalmente, el cálculo de los coeficientes del filtro se basa no solamente en las muestras tomadas durante esos 10 mseg, sino que también toma en consideración las muestras de los 5 mseg siguientes, teniéndose con esto un retardo del algoritmo de 15 mseg. LD-CELP . Recomendación G.728 • LD-CELP (Low Delay CELP, CELP de bajo retardo) fue estandarizado por la ITU en 1992 bajo la recomendación G.728. • Con esta codificación ya no se transmite los parámetros del filtro, la frecuencia y amplitud de la excitación y el código del residuo, sino que se transmite el código de la excitación. Realmente, se transmite aquél código que, al pasarlo por un filtro adaptable, genera la señal más similar a la señal de entrada (el menor error) 12-oct-14 • Como 31 LD-CELP . Recomendación G.728 12-oct-14 12/10/2014 • En el decodificador, los parámetros que caracterizan al filtro son calculados a partir de los segmentos previos de voz reconstruida. codificación opera con segmentos de voz de 0,625 mseg, correspondientes a 5 muestras PCM. LD-CELP . Recomendación G.728 Por cada segmento de voz, el codificador analiza entre las 1024 vectores de su libro de códigos para encontrar la forma de onda del mismo que más se aproxime a la excitación de entrada (el que minimiza el error medio cuadrático compensado en frecuencia con respecto a la señal de entrada). Los 10 bits correspondientes al vector del libro de código seleccionado son enviados al decodificador. De esta manera, cada 0,625 mseg el codificador envía 10 bits, lo que da una velocidad de 16 Kbps. LD-CELP . Recomendación G.728 • 12-oct-14 • 12-oct-14 • Esta En la práctica, se usan 7 bits para representar 128 formas de onda patrón y los otros bits se utilizan para indicar la amplitud de la señal. Sabiendo que una señal analógica puede poseer una variedad infinita de valores la selección entre 1024 posibilidades se ve muy débil, y realmente lo sería si esta selección fuera estática. Sin embargo, esta selección no es estática, como en ninguna de las codificaciones CELP. 32 LD-CELP . Recomendación G.728 Justamente la reputación de altamente compleja que posee la codificación CELP viene dada de la actualización constante de los libros de código y de los filtros, a partir del pasado reciente de la señal de entrada. LD-CELP . Recomendación G.728 12-oct-14 • 12-oct-14 12/10/2014 acumular solamente 5 muestras PCM para procesar el segmento de voz (en lugar de 80 para G.729) se logra tiempos de acumulación mucho menores que reducen el retardo del algoritmo, y, adicionalmente, resultan bloques de información más pequeños que se procesan de una manera mucho más rápida. 12-oct-14 • Al Recomendación G.723.1 • La recomendación G.723.1 fue aprobada por la ITU en marzo de 1996, y recomendada en 1997 por el consorcio de teleconferencia multimedia al forum de voz sobre IP como codificación de audio de baja velocidad para el estándar H.323 de la ITU. El estándar H.323 define los métodos para la comunicación de voz y vídeo sobre redes de paquetes. 33 12-oct-14 12/10/2014 Recomendación G.723.1 Este codificador posee dos velocidades asociadas, 5,3 Kbps y 6.3 Kbps. La mayor velocidad provee una mejor calidad, pero la menor velocidad, aparte de ofrecer una buena calidad, provee a los diseñadores de sistemas con una flexibilidad adicional. 12-oct-14 • Recomendación G.723.1 codificador envía, al igual que en G.729, los parámetros que caracterizan al filtro LPC (que representa el tracto vocal), la amplitud de la señal de excitación, la frecuencia de la formante y una representación de la señal residuo. 12-oct-14 • El Recomendación G.723.1 • La diferencia fundamental con G.729 es que las señales se procesan en segmentos de tiempo mucho mayores, 30 mseg en lugar de 10 mseg y que para la aproximación del residuo, G.723.1 utiliza, para su más alta velocidad de codificación (6.3 Kbps), en lugar de una excitación de código algebraica, una excitación cuantificada con multipulso de máxima probabilidad (MP-MLQ, Multipulse Maximum Likelihood Quantization). Para su más baja velocidad (5,3 Kbps) G.723.1 utiliza una excitación de código algebraica para aproximar el residuo de la señal. 34 12-oct-14 12/10/2014 Recomendación G.723.1 G.723.1 las señales de audio se procesan en segmentos de 30 mseg, correspondientes a 240 muestras PCM, y para el cálculo de los coeficientes del filtro LPC se analiza la señal de entrada por 7,5 mseg adicionales, resultando un retardo total del algoritmo de 37,5 mseg. Recomendaciones UIT para compresión de voz Compresión G.711 (PCM) G.721 (ADPCM) G.723 (ADPCM) G.726 (ADPCM) G.727 (ADPCM) G.729 (CS-ACELP) G.728 (LD-CELP) G.723.1 G.723.1 Velocidad (kbps) 64 32 24-40 16-40 16-64 8 16 6,3 5,3 Segmento (bits) 8 4 3-5 2-5 2-8 80 10 189 159 Segmentos/ seg 8000 8000 8000 8000 8000 100 1600 33,33 33,33 Duración (ms) 0,125 0,125 0,125 0,125 0,125 10 0,625 30 30 12-oct-14 • En Retardo (ms) 0,125 0,125 0,125 0,125 0,125 15 0,625 37,5 37,5 35
© Copyright 2024