59
Fundamentos de Fundamentos de Codificación Codificación Curso de doctorado 2002/2003 Inmaculada Hernáez [email protected]

Fundamentos de Codificación - UPV/EHU · 2003-03-17 · como objetivo la reducción de la velocidad binaria de transmisión: a cambio de añadir cierta distorsión controlada en

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Tratamiento digital de la señal de voz

Fundamentos de codificación 1

Fundamentos de Fundamentos de CodificaciónCodificación

Curso de doctorado 2002/2003Inmaculada Herná[email protected]

Tratamiento digital de la señal de voz

Fundamentos de codificación 2

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificación de audioCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

Tratamiento digital de la señal de voz

Fundamentos de codificación 3

Principios de Codificación

Se entiende por codificación digital de señal el proceso por el cual una señal que contiene cierta información se representa de forma adecuada para consguir un objetivo determinado en la comunicación de dicha información. Este objetivo puede ser diverso: conversión analógico a digital, reducción en la velocidad binaria de transmisión (compresión), encriptación del mensaje, protección frente a errores, adaptación al canal entre los mas importantes.En la figura se muestra un esquema muy sencillo de un sistema de comunicación o de almacenamiento de la información. El codificador trabaja sobre una señal de entrada y produce la señal que se transmite por el canal o almacena en un determinado medio. El decodificador realiza el proceso inverso: a partir de la señal recibida por el canal o almacenada en el medio, genera una señal de salida, que puede no ser idéntica a la original, pero que degerá conservar la misma información en la medida de lo posible. La pareja formada por el codificador y el decodificador se denomina codec, o simplemente codificador.

Tratamiento digital de la señal de voz

Fundamentos de codificación 4

Objetivos de Codificación

Objetivos de la codificación:Pueden ser conflictivos entre sí:

Compresión->transmitir menos bitsProtección de errores-> transmitir más bits

Pueden estar interrelacionados:Mayor compresión-> mayor sensibilidad a errores

Compromiso en la optimización de todos los objetivos.Optimización simultánea imposible:

Optimización de cada objetivo por separadoSistemas de codificación:

De fuente o de canalCon pérdidas o sin pérdidasCon memoria o sin memoriaVelocidad binaria fija o variable…

En general, el sistema de codificación buscará más de un objetivo simultáneamente. Por ejemplo, si el medio de transmisión es ruidoso, además de adaptar la información al canal se incorporará algún mecanismo para protección y corrección de errores; si además el canal tiene un ancho de banda reducido también será necesario utilizar algún algoritmo de compresión; si la información transmitida es reservada tendremos que incorporar encriptación de los datos; si la información a transmitir es analógica habrá que digitalizarla. Algunos de los objetivos pueden lograrse eficientemente de forma simultánea, pero otros, por razones prácticas, se realizan de forma independiente de los demás. Por ejemplo, resulta irrealizable un codificador que digitalice una señal anlógica y que directamente incorpore algún sofisticado algoritmo de corrección de errores: primeramente digitalizaremos y ya en el dominio digital podremos aplicar un codificador con protección de errores. También puede suceder que dos objetivos entren en conflicto: la protección de errores entra en conflicto con la compresión de datos, pues implica un aumento en el número de bits a transmitir. Todo ello obliga a evaluar cuidadosamente cada subsistema. Existen muchas clasificaciones de los sistemas de codificación, según el punto de vista de estudio.

Tratamiento digital de la señal de voz

Fundamentos de codificación 5

Codificación de fuente / canalEl proceso de codificación puede alcanzar mejor sus objetivos sitiene en cuenta la naturaleza de la señal/información a codificar (naturaleza de la fuente), y las características del medio de transmisión/almacenamiento (naturaleza del canal):

Codificación de fuente: Algoritmos de codificación específicos para una fuente de señal concreta:

Especialmente optimizados para una fuente concreta (audio, voz, imágenes, texto…)Sólo son válidos para dicha fuente. Con otras fuentes no funcionan correctamente.

Codificación de canal: Algoritmos de codificación genéricos paracualquier tipo de información, pero adecuados para un canal determinado.

No conocen la naturaleza de la información que manejan (menos eficientes).Codifican cualquier tipo de información adaptándola a un canal determinado.

Los codificadores de fuente están especialmente diseñados para aceptar una cierto tipo de señales o fuentes de información a su entrada, lo que les permite ser especialmente eficientes en la codificación de ese tipo de señales basándose en su naturaleza y conocimiento previo. Así por ejemplo, en una transmisión de fax podemos utilizar algoritmos de compresión específicos para imagen y que además tengan en cuenta las características típicas de las transmisiones fax (grandes áreas en blanco etc.). Evidentemente, si utilizamos un codificador de fuente para codificar información para la que no fue diseñado, es muy posible que no se obtenga el objetivo perseguido, y probablemente incluso hayamos empeorado la situación. Por el contrario, los codificadores de canal no hacen ningún supuesto sobre la información de entrada y están diseñados para codificar cualquier tipo de señal. La contrapartida es que no son tan eficientes como los de fuente, precisamente por esa generalidad que deben mantener.

Tratamiento digital de la señal de voz

Fundamentos de codificación 6

Codificación de fuente / canal

En la figura se ha representado un sistema de codificación en el que se ha efectuado la división fuente/canal. Las señales de tipo A y B se codifican con sus propios codificadores de fuente, se multiplexan junto con otros datos para los que no se ha incluido ningún codificador de fuente y finalmente se efectúa la codificación de canal conjunta a todos ellos. Un aspecto importante a considerar es el hecho de que el destino de la señal A es una persona. La señal de fuente A puede ser por ejemplo imágenes o sonidos. Los humanos somos capaces de comprender las señales de audio y vídeo en condiciones pésimas de calidad, hecho que puede tenerse en cuenta en la selección de los parámetros del codificador.

Tratamiento digital de la señal de voz

Fundamentos de codificación 7

Codificación sin pérdidas / con pérdidasCodificación sin pérdidas/con pérdidas

Pérdidas: reducción en la calidad de la señal decodificada (distorsiones, ruidos…)Tolerable en señales de audio e imagen, pero en general en ningún otro tipo de datos:

Aplicado en codificación de fuenteNunca en codificación de canal

Ventajas: permite optimizar el codificador:Ej.: mayor compresión de la señal de audio (menor bitrate) sacrificando calidad

En un sistema de codificación puede suceder que la señal decodificada no sea exactamente igual que la señal original que entró al codificador. Esto es posible porque se ha añadido algún tipo de distorsión o ruido a la señal original (pérdida de calidad), bien no intencionada o intencionadamente. Los errores de biten la transmisión son un ejemplo de distorsión no intencionada. La distorsión introducida en el proceso de digitalización de una señal analógica es intencionada, e inevitable si queremos trabajar en el dominio digital. Puede además suceder que como consecuencia de un algoritmo de codificación la distorsión en la representación de la señal aumente intencionadamente. Este suele ser el caso en codificadores que tienen como objetivo la reducción de la velocidad binaria de transmisión: a cambio de añadir cierta distorsión controlada en la representación de la señal, se consiguen cotas elevadas de compresión.Así, en una codificación sin pérdidas o distorsión, la información decodificada va a ser idéntica a la codificada. Los codificadores de canal siempre van a ser de este tipo, pues deben manejar información diversa, parte de la cual no será válida si no se recibe idéntica a la original. Hay casos de codificación de fuente que también deben trabajar sin distorsión: en un sistema de compresión de texto escrito, se aprovechan hechos tales como el tener un vocabulario limitado, probabilidades de cada palabra y otras características, pero siempre que en decodificación se recupere exactamente el texto original. Por el contrario en la codificación con distorsión no se respeta la señal a codificar, por lo que la señal recibida presenta cierto grado de distorsión, e incluso puede ocurrir que no parezca nada a la señal original, pero manteniendo aún así la inteligibilidad del mensaje, como es el caso de los vocoders. Lógicamente este tipo de sistemas sólo podrá utilizarse en aquéllas situación es en las que la señal distorsionada siga manteniendo la información o mensaje original. Es el caso de la codificación de audio o de imagen, en los que es posible soportar cierta reducción en la calidad de la señal si a cambio pueden transmitirse por canales que de otra manera resultarían inutilizables por se excesivamente estrechos. En una codificación con pérdidas, podríamos forzar al límite las habilidades humanas y utilizar un sistema de codificación que añadiera mucha distorsión a la señal, pero consiguiendo a cambio cotas elevadas de compresión.

Tratamiento digital de la señal de voz

Fundamentos de codificación 8

Codificación perceptivaEs una codificación con pérdidasNo sólo tiene en cuenta la naturaleza de la fuente, sino también la del destino final: ojos u oídos.Aprovecha las limitaciones del sistema perceptivo humano: detalles que los ojos no llegan a ver, sonidos que se escapan a nuestra capacidad auditiva.El codificador procura que las distorsiones y ruidos que introduce queden ocultos a nuestros oídos: tiene en cuenta nuestra capacidad perceptiva.

Codificación sin pérdidas / con pérdidas

Cuando en el diseño del sistema de codificación se consideran las limitaciones de los órganos perceptivos humanos (ojos y oídos) se puede distribuir la distorsión de forma que menos la notemos. Incluso es posible que aunque la distorsión esté ahí no seamos capaces de apreciarla en absoluto. Los codificadores que tienen en cuenta estas características perceptivas humanas se denominan codificadores perceptivos y suponen una mejora en la calidad de la señal percibida respecto a los sistemas no perceptivos.

Tratamiento digital de la señal de voz

Fundamentos de codificación 9

Definiciones: resumen

Tratamiento digital de la señal de voz

Fundamentos de codificación 10

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificaciónCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

En este apartado se exponen los principios físicos que permiten aplicar las técnicas y algoritmos de codificación descritos porteriormente. En primer lugar se definen los conceptos de cuasi-estacionareidad y segmentación que nos van a permitir abordar de forma práctica el análisis de las señales de audio dividiéndola en segmentos pequeños que cumplen unas condiciones determinadas e invariables a lo largo de todo el segmento. Después se analizará la redundancia y la forma de medirla. La redundancia implica que de alguna manera hay información repetida en la señal, información que va a ocupar recursos dentro del canal de transmisión y que conviene eliminar pues no aporta nada nuevo.Los sistemas perceptivos tienen en cuenta el concepto de relevancia de la información transmitida: hay información que aunque se transmita, el oído humano no es capaz de apreciar, no es relevante y por tanto no tiene sentido transmitirla.

Tratamiento digital de la señal de voz

Fundamentos de codificación 11

Principios de codificación de audio

Cuasi-estacionareridad de la señal de audio:Necesidad de realizar una segmentación o tratamiento por tramas, para trabajar con segmentos cuasi-estacionarios.Valor medio: las señales de audio no tienen componente contínua.Distribución de amplitudes: ~exponencial, no uniformeRango dinámico:

del oído humano: 100dBAncho de banda:

Máxima sensibilidad del oído humano: 2 a 5kHzCon niveles elevados: hasta 20kHz. Baja frecuencia: 20Hz.

Aunque las señales de audio no son estacionarias, pues presentan información cambiante a lo largo del tiempo, las variaciones son relativamente lentas y en intervalos de tiempo reducidos podemos considerar el segmento como una señal prácticamente estacionaria. Cuando hablemos de señal de audio, nos estaremos refiriendo a un segmento cuasi-estacionario de audio.Los parámetros básicos que permiten caracterizar las señales de audio quedan definidos por las características de la distribución de amplitudes de las señales por un lado, y por sus características espectrales por otro. El valor medio y la distribución de amplitud son valores estadísticos propios de las señales de audio en sí, mientras que el ancho de banda y el rango dinámico están íntimamente relacionados con las capacidades perceptivas de nuestro sistema auditivo. Las señales de audio no tienen componente continua, por lo que son de valor medio cero. La distribución de amplitudes es no-uniforme, con mayor probabilidad para los valores de amplitud reducida que para los de gran amplitud, con una distribución aproximadamente exponencial. El oído humano tiene una respuesta logarítmica frente al nivel de presión acústica, y tiene un rango dinámico muy elevado, superando los 100dB. Potencias superiores producen dolor, por lo que se considerarán 100 dB como tope superior para el rango dinámico de las señales de audio. Además, el oído tiene la máxima sensibilidad entre 2 y 5 kHz, pero con niveles de señal suficientemente elevados puede llegar a detectar hasta 20kHz. Respecto al límite inferior, durante mucho tiempo se ha creído que las frecuencias por debajo de 40Hz no eran perceptibles, pero hoy se considera que las bajas frecuencias hasta 20Hz mejoran la sensación de realidad y naturalidad de las grabaciones. Por tanto consideraremos que el rango de frecuencias de interés en codificación de audio está entre 20Hz y 20kHz.

Tratamiento digital de la señal de voz

Fundamentos de codificación 12

Principios de codificación de audio

Redundancia:Medida a partir de función de autocorrelación:

R(k) mide la redundancia entre dos muestras k-espaciadas. Tiene un máximo en el origen.

Densidad espectral de potencia: transformada de Fourierde la autocorrelación:

∑−−

=

+=1||

0

)()·(1)(kN

nx knxnx

NkR

∑∞

−∞=

Ω−=Ωk

jkxx ekRS )()(

Las diferencias de amplitud entre dos muestras consecutivas de una señal de audio suelen ser reducidas porque se trata de señales que evolucionan lentamente si las comparamos con la frecuencia de muestreo. Este parecido entre las muestras es una manifestación de la redundancia existente en la señal de audio.La redundancia de una señal se puede medir partiendo de la función de autocorrelación. La autocorrelación es un estadístico de segundo orden, es decir, redundancia existente entre dos muestras de la señal espaciadas k muestras entre sí. Con estadísticos de orden superior es posible estimar la redundancia existente en grupos de tres o mas muestras, pero resultan análisis excesivamente complejos y para el caso de señales de audio, apenas aportan información.Cuanto mayor sea el valor de R(k) mayor es la redundancia entre dos muestras k-espaciadas. Al considerar la señal del segmento de análisis estacionaria, el valor de la correlación es válido para cualquier pareja de muestras k-espaciadas. Lógicamente el valor máximo de la correlación sucede para k=0, pues evidentemente la redundancia existente entre una muestra y ella misma es la mayor posible. Además, R(0) es el valor de la energía de la señal.La función de autocorrelación está directamente relacionada con la densidad espectral de potencia (DEP) de la señal a través de la transformada de Fourier.

Tratamiento digital de la señal de voz

Fundamentos de codificación 13

Principios de codificación de audio

Ruido blanco: R(k)=δ(k)S(Ω)=1

Señal contínua:R(k)=KS(Ω)=K·2πδο(Ω)

Para una señal consistente en ruido blanco, la DEP es plana en toda la banda de frecuencias. La transformada inversa de esa DEP plana es una función impulso unidad, que será su función de autocorrelación: nula para todo punto excepto para k=0, es decir, la redundancia existente entre dos muestras es nula excepto consigo mismas, resultado lógico al tratarse de ruido blanco, en el que cada muestra es estadísticamente independiente de las demás. Considerando el caso dual del anterior, en el que la señal a analizar es un valor constante en todo el segmento, la DEP será una función delta, y la autocorrelación será un valor constante. Es decir, la correlación o redundancia es máxima e idéntica para cualquier valor de k, al tener todos los puntos de la señal el mismo valor.

Tratamiento digital de la señal de voz

Fundamentos de codificación 14

Principios de codificación de audio

Spectral flattness:

0≤γx2≤1

El inverso de γx2 mide la

redundancia de la señal:γx

2=0, redundancia infinitaγx

2=1, redundancia cero.

ΩΩ

ΩΩ

π

π

π

π

πγdS

dS

x

xe

x

)(21

)(log21exp

2

La figura muestra un caso general, con una señal cualquiera y su correspondiente DEP. De forma general puede decirse que cuanto más plana sea su DEP, más se parecerá a la del ruido blanco, y en consecuencia menor será la redundancia existente. Por el contrario, cuanto más concentrada se encuentre la DEP, obtendremos mayores valores den la autocorrelación para k distinto de cero, que indicará la existencia de redundancias.Este indicador de redundancia se puede expresar de forma cuantitativa y se denomina spectral flatteness o planitud espectral, midiendo precisamente cuánto se parece el espectro de la señal a un espectro plano. La planitud espectral está acotada entre 0 y 1 y su inverso mide la redundancia de la señal. Cuando vale 0, la redundancia es infinita. Este es el caso de una señal constante: es posible predecir con toda precisión los valores futuros. Por el contrario, cuando la planitud espectral vale 1, la redundancia es mínima, como en el caso del ruido blanco, en el que resulta imposible predecir valores futuros de la señal.

Tratamiento digital de la señal de voz

Fundamentos de codificación 15

Principios de codificación de audio

Relevancia de la señal“No oímos todo lo que suena”Bandas críticas: bandas de frecuencia en las que el oído presenta características similares.24 bandas críticas.

Fenómenos:Enmascaramiento simultáneoEnmascaramiento temporal

La percepción humana del sonido se basa en el análisis que se realiza en el oído interno, donde tiene lugar una transformación entre frecuen cias sonoras y posición espacial en la membrana basilar. La distribución de potencia no queda representada de una forma lineal con la frecuencia, sino en ciertas bandas frecuenciales denominadas bandas críticas en cada una de las cuales el oído presenta unas determinadas características. El sistema auditivo humano se puede por tanto representar como un banco de filtros paso banda, donde cada filtro está muy solapado con los filtros adyacentres. Estos filtros presentan un ancho de banda comprendido entre unos 100Hz para señales por debajo de 500 Hz y hasta 5000Hz para señales de alta frecuencia. Por debajo de los 24kHz el espectro se haya difidido en 24 bandas críticas que deberemos considerar en todos los análisis. En este contexto de bandas críticas, se producen dos efectos que hacen que no seamos capaces de escuchar todos los sonidos: el enmascaramiento simultáneo y el enmascaramiento temporal.

Tratamiento digital de la señal de voz

Fundamentos de codificación 16

Principios de codificación de audio

Enmascaramiento simultáneo:

Una señal de baja intensidad puede resultar inaudible a causa de una señal más intensa, cuando ambas señales se encuentran próximas en frecuencia.

Umbral de enmascaramiento:

Nivel por debajo del cual ninguna señal resulta audible.

El enmascaramiento simultáneo es un fenómeno frecuencial, en el que una señal de baja intensidad, por ejemplo un tono puro, puede resultar inaudible a causa de una señal más intensa, por ejemplo ruido de banda estrecha, cuando ambas señales se encuentran próximas en frecuencia. Es posible calcular un umbral por debajo del cual ninguna señal resulta audible: el umbral de enmascarameinto. Este umbral depende del nivel de presión sonora (SPL) y de la frecuencia de la señal enmascaradora, y también de las características tanto de la señal enmascaradora como de la enmascarada. Así por ejemplo, con un tono de SPL=60dB a una frecuencia de 1kHz, el SPL de la señal enmascarada puede tomar valores sorprendentemente elevados sin que por ello llegue a escucharse siempre y cuando esté por debajo de la curva de umbral de enmascaramiento. Esta curva presenta una pendiente más elevada hacia las frecuencias bajas, mientras que las frecuencias altas son más fácilmente enmascarables. Además, el umbral de enmascaramiento suele ser más elevado cuando la señal enmascaradora es ruido de banda estrecha que cuando es un tono puro. En ausencia de señal enmascaradora, una señal resulta inaudible si su SPL está por debajo del umbral de silencio, que depende de la frecuencia y tiene un rango dinámico de más de 60dB. La aplicación a la codificación de audio del enmascaramiento simultáneo es inmediato: podemos desechar información, cometer errores de cuantificación, aliasing o transmisión siempre que el ruido producido esté por debajo del umbral de enmascaramiento.

Tratamiento digital de la señal de voz

Fundamentos de codificación 17

Principios de codificación de audio

Tratamiento digital de la señal de voz

Fundamentos de codificación 18

Principios de codificación de audio

SMR: Sound to Mask Ratio (relación señal a máscara)

Distancia entre el nivel de la señal enmascaradora y el umbral de enmascaramiento.

SNR(m): Relación señal a ruido con una cuantificación de m bits.NMR: Relación ruido a máscara

NMR(m)=SMR-SNR(m)Negativo para que la distorsión quede enmascarada.

La figura proporciona más detalles sobre el umbral de enmascaramiento: la distancia entre el nivel de la señal enmascaradora (un tono en la figura) y el umbral de enmascaramiento se denomina relación señal a máscara (SMR, Sound to Mask Ratio). Su valor máximo se encuentra en el lateral izquierdo de la banda crítica (punto A). Dentro de una banda crítica, el ruido de codificación no será audible siempre que la relación señal a ruido (SNR) sea mayor que la relación señal a máscara (SMR). Si SNR(m) es la relación señal a ruido resultante de utilizar un cuantificador de m bits, la distorsión en una banda crítica determinada viene dada por la relación ruido a máscara NMR(m)=SMR-SNR(m).La NMR(m) indica la diferencia entre el ruido de codificación en una banda determinada y el nivel para el cual la distorsión comienza a ser audible. Puesto que interesa que el primero de estos dos valores sea menor que el segundo, el valor de NMR(m) en dBdeberá ser negativo para que la distorsión quede así enmascarada. Si la señal está formada por muchas enmascaradoras simultáneamente, se puede calcular un umbral de enmascaramiento global en función de la frecuencia.

Tratamiento digital de la señal de voz

Fundamentos de codificación 19

Principios de codificación de audio

Enmascaramiento temporal: Pre-enmascaramiento: efecto por el cual una señal débil resulta inaudible si poco después se produce una señal de intensidad elevada.Post-enmascaramiento: efecto por el cual una señal débil es inaudible cuando viene precedida por una señal intensa.

Además del enmascaramiento simultáneo, hay dos fenómenos en el dominito temporal que juegan un papel muy importante en el sistema auditivo humano: preenmascaramientoy posenmascaramiento. El enmascaramiento temporal sucede justo antes y después de que una señal enmascaradora aparezca y desaparezca. El preenmascaramiento es el efecto por el cual una señal débil resulta inaudible si poco después se produce una señal de intensidad elevada. El posenmascaramiento es el efecto por el cual una señal débil resulta inaudible cuando viene precedida por una señal intensa.La duración del preenmascaramiento es del orden de los 5 a 15 milisegundos, mientras que la del posenmascaramiento es considerablemente mayor, entre 50 y 200 ms. Ambos tipos de enmascaramiento pueden tenerse en cuenta en los sistemas de codificación, pudiéndose utilizar provechosamente para enmascarar errores de cuantificación.

Tratamiento digital de la señal de voz

Fundamentos de codificación 20

Principios de codificación de audio

Codificación perceptiva: codificación controlada por la SMR(f).

Si hay bits suficientes para insertar toda la distorsión por debajo de la SMR(f), el resultado será transparente para el oído humano.Si no hay bits suficientes, la SMR(f) se utiliza como función para poderar espectralmente la distorsión

El espectro del error cometido tendrá la forma de la SMR.

Diseño conservador al utilizar la SMR

En los codificadores perceptivos el proceso de codificación viene controlado por la relación señal a máscara global en función de la frecuencia: en cada segmento de señal calcularemos la SMR(f), que nos indicará los niveles máximos de distorsión no audibleen cada banda de frecuencias. Si el codificador dispone de bits suficientes como para camuflar toda la distorsión por debajo de la SMR(f) el resultado será completamente transparente para el oído humano y la señal decodificada será indistinguible de la original. Si por el contrario no se dispone de bits suficientes como para enmascarar completamente la distorsión, la SMR(f) global se utiliza como función para ponderar espectralmente la distorsión: el espectro del error tendrá la forma de la SMR.En el diseño práctico de un codificador perceptivo no debemos aprovechar al límite el nivel de enmascaramiento disponible, porque posibles etapas múltiples de coidficación y decodificción y otras labores de precsado acústico que puede realizar el eusuario final (por ejemplo el filtrado con ecualizadores) pueden desenmascarar la distorsión. Además, el conocimiento que actualmente se tiene sobre los mecanismos de enmascaramiento acústico humano es muy limitado. Se utilizan modelos sencillos y probablemente poco precisos. Por todo ello conviene utilizar la curva SMR global con criterios conservadores.

Tratamiento digital de la señal de voz

Fundamentos de codificación 21

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificaciónCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

En este aparatado se estudiarán las técnicas básicas de codificación y algunos sistemas de codificación estándares o comerciales que las emplean. La primera técnica estudiada es muy simple y es válida para cualquier señal de audio, sea voz o música. Las técnicas predictivas se utilizan sobre todo en los sistemas de codificación de voz. La codificación subbanda y las técnicas transformadas han sido utilizadas tanto para voz como para música, pero han sido sobre esta última en donde han alcanzado los desarrollos más potentes.

Tratamiento digital de la señal de voz

Fundamentos de codificación 22

Técnicas básicas: cuantificación no uniforme

La codificación no uniforme es un método de codificación sin memoria que se basa en la distribución no uniforme de amplitud de las muestras de audio. Se utiliza un cuantificador no uniforme para recuantificar cada una de las muestras de la señal. En la cuantificación uniforme, no se está considerando que las muestras de amplitud reducida son mucho más probables que las de amplitud elevada. Si en lugar de utilizar escalones de cuantificación uniformes, utilizamos un sistema con escalones de cuantificación en los niveles bajos menores que los de los altos, estadísticamente estaremos aumentando la relación señal a ruido. Además, desde el punto de vista perceptivo, el utilizar la cuantificación no uniforme tiene una ventaja añadida: a pesar de que la distorsión es mayor en las señales de gran amplitud, el ruido de cuantificación quedará enmascarado por el mayor nivel de la señal (enmascaramiento simultáneo). Aunque por sencillez se suele recurrir a curvas de cuantificación logarítmica basadas en ecuaciones simples, también es posible diseñar un cuantificador óptimo adaptado al tipo de señales que se van a procesar.

Tratamiento digital de la señal de voz

Fundamentos de codificación 23

Técnicas básicas : cuantificación no uniforme

Un sistema que utiliza este principio es el sistema de vídeo conocido como vídeo-8, que almacena digitalmente la información de audio. Sin considerar la etapa de compresión analógica, el sistema ofrece un factor de compresión de 0.8 sobre PCM uniforme. Tras la etapa de compresión analógica, la señal es digitalizada con una resolución de 10 bits con PCM uniforme. La frecuencia de muestreo está relacionada con la frecuencia de barrido de la imagen de vídeo, utilizándose 31.5kHz para NTSC y 31.25 kHz para PAL. El sistema recuantifica las muestras de 10 a 8 bits de manera no uniforme. Con 10 bits se obtienen 1024 niveles de cuantificación, utilizándose un bit de signo y 9 de amplitud, lo que da un total de 512 niveles para valores positivos y otros 512 para los negativos. El sistema de compresión deja intacto el bit de signo y reduce la magnitud de 512 a 128 niveles utilizando la tabla de la figura. El tamaño del escalón de cuantificación aumenta progresivamente con la amplitud de la señal de audio, consiguiéndose así un enmascaramiento efectivo del ruido de cuantificación generado.

Tratamiento digital de la señal de voz

Fundamentos de codificación 24

Técnicas básicas : cuantificación no uniforme

Cuantificación logarítmica: Sistemas telefónicos PCM

Otro ejemplo de cuantificación no uniforme lo proporciona el estándar de transmisión de telefonía fija G./711 conocido como MIC-32. En este sistema la cuantificación sigue una ley logarítmica (ley A para el sistema europeo y ley µ para el americano).

Tratamiento digital de la señal de voz

Fundamentos de codificación 25

Técnicas básicas : cuantificación no uniforme

Tratamiento digital de la señal de voz

Fundamentos de codificación 26

Técnicas básicas : cuantificación no uniforme

La codificación en coma-flotante es una cuantificación no uniforme en el que el valor decada muestra se expresa como una mantisa y un exponente. El exponente indica por cuánto debe multiplicarse la mantisa para obtener el valor real de la muestra.

Tratamiento digital de la señal de voz

Fundamentos de codificación 27

Técnicas básicas : cuantificación no uniforme

La cuantificación en coma flotante por bloques es una variante muy potente de la simple cuantificación en coma flotante: en lugar de asignar un exponente y una mantisa a cada muestra, se asigna un solo exponente a un bloque de muestras, con el consiguiente ahorro en bits a transmitir. La magnitud de la muestra más grande del bloque se utiliza para el cálculo del exponente común. El principal problema de este método es la sensibilidad a los pre-ecos: si los bloques son excesivamente largos, un nivel bajo de señal puede quedar codificado con un valor de ganancia muy alta, generando un ruido de cuantificación importante y superior al valor de la señal. Si las muestras de alto nivel están al principio del bloque, existe un amplio margen de tiempo después de ellas en el que el post-enmascaramiento temporal impedirá apreciar las distorsiones. El caso contrario en que las muestras de alto nivel están al final de un bloque es más crítico, ya que el pre-enmascaramiento temporal sólo es válido en periodos muy cortos de tiempo. Si el ruido comienza tan solo tres o cuatro milisegundos antes que la señal de gran amplitud, será posible percibirlo. Este efecto se denomina pre-eco, y va a limitar la longitud máxima que puede tener un bloque. El riesgo de que se produzcan pre-ecos aumenta en los segmentos con transiciones rápidas, y con bloques de tamaño superior al de la transición.

Tratamiento digital de la señal de voz

Fundamentos de codificación 28

Técnicas básicas : cuantificación no uniforme

Un sistema comercial que utiliza codificación en coma flotante por bloques es sistema NICAM (Near Instantaneously Companded Audio Multiplex). Fue desarrollado por la BBC y permite distribuir dos canales digitales con audio de alta fidelidad en redes convencionales de televisión, añadiendo una portadora digital muy débil por encima de la portadora de audio analógico. El factor de compresión obtenido sobre PCM uniforme es de 0.7. La señal de audio se muestrea con 14 bits de resolución PCM a la frecuencia de muestreo de 32kHz, buscando una calidad equiparable a la de los sistemas de radiodifusión de FM. Los valores de 14 bits se agrupan en bloques de 32 muestras que se convierten a 10 bits de mantisa con un exponente de 3 bits común a todas ellas. Este exponente puede tomar 5 factores de escala diferentes, equiespaciados 6dB entre sí (factor 2 de amplitud), desde ganancia 0dB hasta 24dB. Las 32 muestras de un bloque se amplifican con el factor de escala adecuado para aprovechar lo mejor posible todo el rango dinámico que permiten 14 bits de resolución. Después, el sistema recuantifica uniformemente las muestras a 10 bits, desechando los 4 bits menos significativos. Además, en cada bloque de 32 muestras se añaden 5 bits de protección de errores (información de paridad) y 24 bits con información de sincronismo, control y datos adicionales. En total para un canal estéreo resultan 728 bits por cada bloque, dando nombre al sistema. 32 muestras tomadas a las frecuencia de muestreo de 32kHz proporcionan una longitud de bloque de 1ms de duración, lo cual es suficientemente corto para evitar pre-ecos.

Tratamiento digital de la señal de voz

Fundamentos de codificación 29

Técnicas básicas : cuantificación no uniforme

Cuantificación adaptativa: adaptación del valor del escalón en función del valor eficaz de la señal de entrada.

Q[]Q[] CodificadorCodificador DecodificadorDecodificador

Cálculo del

escalón

Cálculo del

escalón

x(n) xq(n) c(n) c’(n) xq’(n)

∆(n) ∆’(n)

La cuantificación en coma flotante por bloques es una aplicación a la cuantificación en coma flotante de las técnicas generalmente conocidas como de cuantificación adaptativa. En estas técnicas, el valor del escalón es adaptado de forma dinámica al valor eficaz de la señal de entrada. Por ello, por lo general, será necesaria la transmisión del valor del escalón (transmisión del exponente del bloque en coma-flotante por bloques). En la figura, la señal de entrada es cuantificada con un número de bits acorde con el valor del intervalo de cuantificación ∆(n) calculado a partir de su energía en el segmento o bloque. Tras la codificación a binario y la transmisión de las muestras codificadas, el decodificador necesitará el valor del escalón utilizado para el segmento para realizar el proceso de decodificación. Si no se producen errores en la transmisión, c’(n)=c(n) y ∆’(n)=∆(n). Puede deducirse que este sistema es más sensible a errores en la transmisión, puesto que un error en la transmisión del valor del escalón afectará a todo el bloque de muestras que han utilizado dicho valor.

Tratamiento digital de la señal de voz

Fundamentos de codificación 30

La adaptación del valor del escalón también puede realizarse utilizando la señal ya codificada. De esta forma, el valor del escalón no necesita ser transmitido. Este tipo de adaptación se conoce como adaptación ‘hacia atrás’ o backward, por contraposición a la vista anteriormente, que se conoce como adaptación feed-forward.

xq’(n)

Q[·]Q[·] CodificadorCodificador DecodificadorDecodificador

Cálculo del

escalón

Cálculo del

escalón

x(n) xq(n) c(n) c’(n)

∆(n)∆(n)

Técnicas básicas : cuantificación no uniforme

Tratamiento digital de la señal de voz

Fundamentos de codificación 31

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificación de audioCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

Tratamiento digital de la señal de voz

Fundamentos de codificación 32

Técnicas básicas: codificación diferencial

Las señales de voz son altamente redundantes y normalmente las diferencias de amplitud entre muestras sucesivas es reducida. La codificación predictiva, también llamada codificación diferencial, aprovecha esta característica de las señales de audio para efectuar una predicción del valor de una muestra en base a los valores de muestras anteriores. Estos codificadores son muy apropiados para señales de voz, pero no tanto para señales de música en general. En estos codificadores, la señal transmitida es la diferencia entre el valor actual de la señal y el que es capaz de predecir el sistema, que se construye por combinación lineal de un conjunto de P muestras anteriores a la actual. Esa diferencia se conoce como el error de predicción. Los coeficientes utilizados para realizar la predicción deben seleccionarse de la forma adecuada para asegurar una buena predicción. El cálculo de estos coeficientes está basado en la búsqueda del valor cuadrático medio mínimo para el error de predicción y existen diversos algoritmos para calcularlos de forma eficiente. En este apartado no entraremos en estas técnicas, limitándonos a asumir la existencia del filtro predictor. La predicción lineal pretende eliminar la redundancia existente en la señal aplanando su espectro, de forma que el objetivo es que el error de predicción sea espectralmente plano, similar al ruido blanco. Las técnicas utilizadas para realizar la predicción se conocen como técnicas de análisis LPC. En este apartado nos limitaremos a describir los codificadores diferenciales que utilizan predicción lineal como fundamento para realizar la compresión, sin entrar en el detalle del cálculo del predictor.

Tratamiento digital de la señal de voz

Fundamentos de codificación 33

(b)

(a)

P(z)P(z)

+ê(n)

x’(n)

x’(n)

-

P(z)P(z)

x(n) e(n)Q[·]Q[·]

ê(n)

x(n)e(n)=x(n)-x (n)

-

P(z)P(z)

x(n) e(n)

x(n)e(n)=x(n)-x (n)

P(z)P(z)

+e(n)

x~(n)

x(n)

ê=e+q=x-x+q

x’=ê+x’=e+q+x’=

=x-x+q-x’≠x+q

x=x+e=x+x-x=x

Técnicas básicas: codificación diferencial

La parte (a) de la figura muestra el esquema de un codificador diferencial ideal. El filtro predictor P(z) calcula la predicción, y se transmite la diferencia e(n). Dada la naturaleza cuasiestacionaria de x(n), los coeficientes de P(z) deberán actualizarse convenientemente, y por tanto será necesario también enviar su valor al decodificador diferencial. Este reconstruye íntegramente la señal original x(n) utilizando exactamente el mismo predictor que el codificador, siempre que no se hayan producido errores en la transmisión. En un proceso real de transmisión, la señal e(n) deberá ser cuantificada y codificada con un número finito de bits. La señal e(n) estará muy incorrelada, y por tanto será posible realizar su transmisión con un número de bits mucho menor al necesario para transmitir la señal de entrada. En la parte (b) de la figura, el error de predicción atraviesa el cuantificador, y se transmite este error de predicción cuantificado. La salida obtenida en este caso no es la señal original más el error de cuantificación como cabría esperar, sino que aparece un término con la diferencia entre las predicciones realizadas en el codificador y el decodificador. Esto es debido a que el predictor no utiliza el error de predicción original para reconstruir la salida, sino el error de predicción cuantificado. Dado que el predictor por sí mismo no debería introducir ningún error (tal y como muestra la figura (a)), sería deseable que el único error cometido fuera el error de cuantificación. Para ello, debemos hacer que tanto el predictor del codificador como el del decodificador trabajen con las mismas muestras de señal. Como el decodificador siempre deberá utilizar muestras cuantificadas, debemos hacer que el predictor del emisor trabaje también con las mismas muestras.

Tratamiento digital de la señal de voz

Fundamentos de codificación 34

P(z)P(z)

+d^(n) x^(n)

( ) ( )qp

q

d

d

x

q

xN

SGPP

PP

PP

NS ⋅=⋅==

d^=d+q (q:error de cuantificación)d=x- x (d: error de predicción)

En recepción:x^=d^+ x =d+q+ x =x- x +q+ x =x+q

El único error cometido es el de la cuantificación de d:

Gp: Ganancia de predicción

+P(z)P(z)

Q[·]Q[·]+x(n)

x (n)

d^(n)d(n)

x (n)

Técnicas básicas: codificación diferencial

En el esquema de la figura, se introducen en el predictor las mismas muestras cuantificadas que utiliza el decodificador. Así, se consigue que el único error cometido en el proceso sea el error que introduce el proceso de cuantificación. Para calcular la relación señal a ruido del sistema, debemos dividir la potencia de señal a la salida entre la potencia de ruido. Multiplicando y dividiendo por la potencia del error de predicción, obtenemos una expresión para la relación señal a ruido final en función de la relación señal a ruido del proceso de cuantificación, que sería la que habríamos obtenido sin introducir la predicción. La mejora obtenida depende de la potencia del error de predicción: cuanto menor sea esta, mejor habrá sido la predicción, y mayor ganancia obtendremos.

Tratamiento digital de la señal de voz

Fundamentos de codificación 35

El predictor:

Implementaciones:Sobremuestreo para incrementar la correlación entre muestras consecutivas. Empleo de cuantificadores de un bit (modulación delta)Adaptación del escalón feed forward, feed backwardCoeficientes fijos / variables (predicción adaptativa)

ip

ii zzP −

=∑ ⋅=

1)( α

∑=

⋅−= p

iii

p

rG

1

1

1

α

αi:coeficientes de predicción

ri:coeficientes de auto-correlación

∑=

−⋅=p

ii inxnx

1)()(~ α

Técnicas básicas: codificación diferencial

Aunque la técnica utilizada para el cálculo de los coeficientes de predicción se estudiará más adelante, podemos intuir que sus valores serán altamente dependientes de los valores obtenidos para la función de autocorrelación de la señal (es decir, del nivel de redundancia existente en la señal). Es por ello, que también la ganancia obtenida con la predicción, dependerá de dicha función de autocorrelación, como la expresa la fórmula de la imagen. Lógicamente, se obtendrán valores mayores para la ganancia de predicción cuando el nivel de redundancia existente en la señal sea muy elevado.

Basándose en el esquema básico estudiado, encontramos muy diversas implementaciones para los sistemas diferenciales, que van a estudiarse brevemente a continuación.

Tratamiento digital de la señal de voz

Fundamentos de codificación 36

•Aumentando la frecuencia de muestreo, aumenta la correlación entre muestras consecutivas. La varianza del error disminuirá mucho, hasta poder utilizar un cuantificador de sólo un bit (dos niveles).

Técnicas básicas: codificación diferencial

Si se aumenta la frecuencia de muestreo, la correlación entre muestras sucesivas aumentará también. De esta forma, el orden del predictor necesario para realizar una buena predicción disminuirá. Al mismo tiempo, la potencia del error de predicción disminuirá, y será posible utilizar cuantificación con menos bits. Por otro lado, puede demostrarse que la ganancia de un predictor de orden 1 cuyo único coeficiente sea el óptimo (es decir, el valor de r1), es siempre mayor que la unidad. Suponiendo una frecuencia de muestreo muy elevada, una aproximación suficiente al valor de r1 es la unidad.

Tratamiento digital de la señal de voz

Fundamentos de codificación 37

Si α=1 el receptor es un simple integrador que reconstruye la señal por acumulación de incrementos +∆ ó –∆.La señal de salida presenta pendientes lineales: Modulación Delta Lineal (LDM).Para que la secuencia de salida pueda seguir las variaciones de la entrada se debe cumplir:

Error por sobre carga de pendiente si no se cumple.Ruido granular: x(n)=0, secuencia alternada de 1’s y 0’s

dttdx

Ta

s

)(max≥∆

Técnicas básicas: codificación diferencial

Si se toma como coeficiente predictor la unidad, la señal cuantificada reconstruida para el instante actual, coincide con la muestra anterior cuantificada, y el decodificador se convierte en un integrador que reconstruye la señal por acumulación de incrementos +∆o –∆.

Tratamiento digital de la señal de voz

Fundamentos de codificación 38

Elección del escalón: compromiso entre distorsión por sobrecarga (∆grande) y distorsión granular (∆ pequeño).Gráfica: SNR en función de ∆ normalizado, para diferentes valores del factor de sobremuestreo F0=Fs/2FN

• Doblar Fs, +9dB

•Bitrate: R=Fs=2FN F0

Técnicas básicas: codificación diferencial

Tratamiento digital de la señal de voz

Fundamentos de codificación 39

•Modulación Delta Adaptativa (ADM)Adaptamos el valor de escalón ∆ en función de la salida anterior. Un posible algoritmo: ∆(n)=M * ∆(n-1);

M>1 si c(n)=c(n-1) (pendiente creciente)M<1 si c(n)≠c(n-1) (pendiente decreciente)

Disminuye la distorsión por sobrecarga de pendiente, y el error granular

FN=6,6KHz

Técnicas básicas: codificación diferencial

Tratamiento digital de la señal de voz

Fundamentos de codificación 40

DPCM con cuantificación adaptativa:

El cálculo del valor del escalón se basa en la palabra anterior codificada (adaptación feed backward). De esta forma, no será necesario transmitirlo.

Técnicas básicas: codificación diferencial

El esquema muestra el empleo de la técnica de adaptación del valor del escalón de cuantificación en el proceso de cuantificación del error. Puede emplearse adaptación feedforward o feed backward.

Como ejemplo demostrativo de la potencia de estos sistemas diferenciales en eliminar las redundancias de la señal, combinados con la cuantificación adaptativa, con un sistema a 32kbps con un único coeficiente predictor e igual a 1 (es decir, se predice el valor de la muestra actual simplemente igualándolo al valor de la muestra anterior), se obtiene una ganancia aproximada de 8dB con respecto a un sistema PCM lineal (véase la gráfica mostrada más adelante).

Tratamiento digital de la señal de voz

Fundamentos de codificación 41

DPCM con predicción adaptativa

Técnicas básicas: codificación diferencial

Tratamiento digital de la señal de voz

Fundamentos de codificación 42

Esquema simplificado del ITU-T-G.721ADPCM-32Kbps

En el esquema de la figura, correspondiente al codificador ADPCM a 32Kbps G.721 de la ITU-T, se incluye un detalle no visto hasta el momento: antes de realizar la reconstrucción de la señal cuantificada, será necesario aplicar la cuantificación inversa, debido a que la cuantificación se realiza de forma no lineal.

Tratamiento digital de la señal de voz

Fundamentos de codificación 43

Técnicas básicas: codificación diferencial

Tratamiento digital de la señal de voz

Fundamentos de codificación 44

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificación de audioCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

Tratamiento digital de la señal de voz

Fundamentos de codificación 45

Codificación sub-banda

Divide la señal en bandas frecuenciales, permitiendo el tratamiento individual de cada una de las bandas. Muy empleado en audio: aprovecha la heterogeneidad del espectraljunto con el enmascaramiento.

DS: Diezmado (reducción de la frecuencia de muestreo)

INT: Interpolación (aumento de la velocidad de muestreo)

La codificación sub-banda tiene en cuenta la distribución espectral de potencia no uniforme que caracteriza a las señales de audio, y elimina por tanto las redundancias existentes en la señal. En PCM lineal, el número de bits necesarios para codificar una muestra viene determinada pro el rango dinámico de la señal, independientemente de la frecuencia. Cuando una señal con espectro no uniforme es codificada en PCM lineal, el rango dinámico tan solo puede ser aprovechado por la componente frecuencial de mayor amplitud. El resto de las componentes frecuenciales no aprovechan todo el rango dinámico, y por tanto estamos desperdiciando bits en su codificación. La codificación sub-banda básicamente divide la señal de audio en un determinado número de bandas frecuenciales, y las codifica de forma independiente, de forma que se podrá utilizar el número mínimo de bits en cada una de ellas de acuerdo con su nivel. La división en bandas es un proceso complejo y que requiere mucho cálculo, y existen varios métodos que lo abordan. Uno de los mejor estudiados es el de los filtros simétricos en cuadratura (Quadrature Mirror Filters, QMF).

Tratamiento digital de la señal de voz

Fundamentos de codificación 46

Codificación sub-bandaLos filtros no deben añadir distorsión: filtros de reconstrucción perfecta

Ventajas de la codificación subbanda: Control directo en cada banda de frecuencia del nivel de distorsión.Errores en una bandas no afectan al resto. Permitirá aplicar el principio de la codificación perceptiva.

Respuesta frecuencial de los filtros QMF (Quadrature Mirror Filters)

Un QMF está formado por una pareja de filtros que convierten una señal en otras dos a la mitad de la frecuencia de muestreo original, con lo que la velocidad binaria de salida total encaja con la de entrada. Cada una de estas dos señales contiene una parte del espectro frecuencial de la señal original: una de ellas se queda con la mitad inferior, y la otra con la superior. La primera no es más que una representación limitada en banda de la señal de entrada, pero la segunda no. De hecho no lo puede ser porque la frecuencia de muestreo, reducida a la mitad de la orignal, no es suficientemente elevada. Lo que realmente sucede es que la banda superior de frecuencias ha sido trasladada al mismo rango de frecuencias que la banda inferior debido al aliasing. La señal queda así irreconocible, pero cuando se vuelva a trasladar al rango superior de frecuencias en el paso inverso de decodificación, recuperaremos de nuevo la banda original, que sumada con la otra reconstruye la señal original. La banda de frecuencias de audio se puede dividir en tantas sub-bandas como se desee utillizandofiltros QMF en cascada: en cada etapa, se divide en dos cada una de las subbandas de la etapa anterior. Si itneresa que el banco de filtros resultante esté compuesto por bandas de diferente anchura, se puede poner un número diferente de etapas QMF en rangos diferentes de frecuencia. Un parámetro crítico es el número de bandas en que se debe dividir el espectro de audio. En general, si queremos tener en cuenta el enmascaramiento acústico de forma eficiente interesa que las subbandas sean más estrechas que las bandas críticas del oído, y por tanto hará falta un número elevado de ellas (24). Cuando más estrechas sean las bandas, más precisión tendremos para enmascarar el ruido de cuantificación, pero como contrapartida, más complejo será el sistema, mayor el retardo de codificación y mayor el resgo de efectos de pre—eco en los transitorios.

Tratamiento digital de la señal de voz

Fundamentos de codificación 47

Codificación sub-banda

Codificador de Audio 7KHz a 64Kbps

El codificador G.722 trabaja a 64kpbs para voz con ancho de banda de 50 Hz a 7kHz, y es adecuado para aquellas aplicaciones tales como la teleconferencia. Ese sistema se diseñó para codificar tanto voz como música, pero prestando especial atención para las señales de voz. Además, permite utilizar parte del canal de 64kbps para transmisión de datos a 8 o 16kpbs, codificando el audio a 56 o 48kpbs. Está basado en el G.721, utilizando las mismas técnicas predictivas ADPCM, combinado con codificación subbanda. El factor de compresión es de 3:1. La señal de audio, a frecuencia de muestreo de 16kHz, y filtrada entre 50Hz y 7kHz se divide en dos subbandas (0-4000Hz, y 4-7kHz) con una pareja de filtros FIR-QMF. Cada una de las señales subbanda se submuestrea a 8kHz. Cada una de las subbandas se codifica utilizando codificadores ADPCM, muy similares en ambas bandas. El predictoradaptativo está tomado del estándar G.721. La subbanda de baja frecuencia se codifica a 48kbps, mientras que la de alta frecuencia se codifica a 16kbps.

Tratamiento digital de la señal de voz

Fundamentos de codificación 48

Ejemplos: PASC

Precision Adaptive Sub-band Coding (en DCC de Philips)Factor de compresión: 0.25Frecuencias de muestreo de 32, 44.1, 48kHz; hasta 18 bits de resolución

Codificador PASC

En este codificador el factor de compresión es de 4:1 (0,25), con una velocidad neta disponible de 384kbps (768kbps con sincronismos y corrección de errores). La señal PCM de entrada se divide en 32 subbandas iguales mediante un banco de filtros FIR-QMF. Las señales de cada filtro se agrupan en bloques de 12 muestras que se codifican en coma flotante (12 mantisas y un exponente común). La mantisa varía entre 2 y 15 bits y el exponente es un valor de 6 bits. El número de bits que se asigna a la mantisa lo calcula de forma adecuada un algoritmo de enmascaramiento de ruido. Para calcular el modelo psicoacústico de enmascaramiento del ruido el sistema se basa en el sencillo análisis espectral que proporciona el banco de filtros: se calcula el nivel de potencia en cada banda de 12 muestras, y a partir de él se obtiene el nivel de ruido permitido en cada banda, a través de una tabla. Esta tabla permite obtener el nivel de enmascaramiento debido a una cierta subbanda, para cada subbanda. A partir de la curva de enmascaramiento del ruido, el sistema asigna el número de bits adecuado a cada una de las bandas. Puede haber bandas a las que no se asigna ningún bit. La asignación de bits se realiza en función de la relación portencia de señal en la banda-potencia de ruido enmascarable. Las subbandas que necesiten un mayor número de bits son las primeras en recibir los bits que necesiten. En caso de empate, se da preferencia a las bajas frecuencias. La trama PASC está constituida por una secuencia de sincronización, seguida de la información de asignación de bits para cada banda del canal izquierdo (4 bits, para indicar el número de bits de la mantisa). Después se codifican los factores de escala de las subbandas (6 bits), seguidas de las 12 muestras de cada subbanda transmitida (2 a 15 bits).

Tratamiento digital de la señal de voz

Fundamentos de codificación 49

Ejemplos: PASC

Decodificador PASC

Tratamiento digital de la señal de voz

Fundamentos de codificación 50

Ejemplos: MPEG-1, Layer I y IICuantificación no uniforme en 32 sub-bandas.FFT:

Layer I: 512 puntosLayer II: 1024 puntos

Frecuencias de muestreo desde 32KHz hasta 48KHz.Bit-rates:

Layer I: desde 32Kbps (mono) hasta 448kbps (estéreo)Layer II: hasta 384Kbps

La velocidad típica de trabajo del MPEG-Layer I de 192kpbs. La señal de entrada (PCM de 16 bits) se filtra en 32 sub-bandas equiespaciadas mediante un filtro QMF, y cada subbanda se diezma a frecuencia de muestreo doble del ancho de banda de los filtros: 1.5kmuestras/seg. Las señales sub-banda se codifican en coma flotante: se crean grupos de 12 muestras consecutivas que se represnetan como 12 mantisas y un exponente común a todas ellas. Las 12 mantisas se recuantifican uniformemente con un determinado número de bits. El número de bits utilzado en cada subbanda se asigna dinámicamente para cada bloque mediante un algortimo que aproecha las características de enmascaramiento del oído. El algoritmo puede decidir no asignar ningún bit a una banda, o asignar entre 2 y 15 bits. Así, se requieren 4 bits para la información de asignación de bits. Por cada bloque de 12 muestras/subbanda, el codificador transmite siempre la información de asignación dinámica de bits (4 bits), el exponente (6 bits) y las 12 mantisas (12x2…15bits), excepto si la banda no necesita transmitirse. Para la asignación dinámica de bits se efectúa una FFT de 512 puntos sobre la señal de audio de entrada, a partir de la cual se obtiene el nivel de ruido permitido en cada subbanda. El algoritmo de asignación de bits es iterativo, comenzando por asignar 0 bits a cada subbanda. En cada iteración, se asigna un bit más en la cuanrificación de aquella subbanda que más lo necesite. El proceso se repite hasta haber asignado todos los bits. Por tanto hay que calcular una FFT cada 12x32=384 muestras de entrada. En el MPEG Layer II, la velocidad típica de trabajo es de 128kbpgs. Utiliza el mismo banco de filtros que Layer I, y la codificación en coma flotante se realiza también sobre bloques de 12 muestras. Se reduce a la mitad el número de bits necesarios en la transmisión de los factores de escala (exponentes), aprovechando el hecho de que los factores de escala de dos bloques consecutivos difieren menos de 2dB entre sí el 90% del tiempo, es decir, experimentan variaciones lentas. El algoritmo agrupa los bloques de tres en tres y transmite uno, dos o los tres factores de escala según se necesite. Si los tres tienen el mismo nivel aproximado, solo se transmite uno. Si uno tiene menor nivel que el anterior, solo se transmite el primero de los dos, aprovechando así la caracgterítica de post-enmascaramiento temporal del oído. En caso de variaciones grandes, se transmiten los tres. Como tercera mejora, se aumenta de 15 a 16 bits el número posible de bits de mantisa, pero el número de cuantificaciones posibles varía según la banda de frecuencia: para las bandas de mayor frecuencia se ofrecen menos alternativas.

Tratamiento digital de la señal de voz

Fundamentos de codificación 51

Fundamentos de Codificación

Definiciones Objetivos

Principios de codificación de audioCuasi-estacionareidadRedundanciaRelevancia

Técnicas básicas: Cuantificación no uniformeTécnicas predictivasCodificación sub-bandaTécnicas transformadas

Tratamiento digital de la señal de voz

Fundamentos de codificación 52

Técnicas Transformadas

Se realiza una transformación por bloques de muestras al dominio de la frecuencia.Una transformada muy utilizada es la transformada coseno:

0 si 00 si 1

1...0;2

12cos)()(1

0

≠=

=

−=⋅+

⋅⋅= ∑−

=

KK

C

MKKM

nCnxKX

K

M

nK π

En la codificación en el dominio transformado, en lugar de utilizar un banco de filtros para extraer un conjunto de componentes espectrales de la señal, se efectúa una transformación sobre la señal. La transformación utilizada debe tener una interpretación frecuencial, tal como la transformada de Fourier o la transformada coseno (DCT). La señal de entrada se divide en segmentos que se transforman individualmente. Para un segmento de N muestras la transformación produce N coeficientes, por lo que la velocidad binaria es en principio la misma en ambos dominios. Los coeficientes obtenidos en la transformación representan de forma más o menos directa componentes frecuenciales de la señal, lo que ofrece un elevado control espectral de la distorsión que se introduce en su cuantificación, tal y como sucede en la codificación sub-banda. Ofrece dos ventajas frente a esta última: permite implementaciones muy eficientes de las transformadas, y un control sencillo de los pre-ecos, pues es posible variar la longitud de la ventana de análisis, acortándola en regiones transitorias con riesgos de pre-ecos. Como contrapartida, los coeficientes de la transformada no consiguen una división en bandas tan estrechas como con bancos de filtros.

Tratamiento digital de la señal de voz

Fundamentos de codificación 53

Ejemplo: ATRAC (Sony Minidisc)

Adaptive Transform Acoustic CoderEstrucutra híbrida subbanda/transformadaFrecuencia de muestreo de 44.1kHz, 16 bits de resoluciónFactor de compresión 0.2Control de preecos muy elaborado

Este codificador trabaja exclusivamente a 44.1kHz con 16 bits de precisión, logrando un factor de compresión de 5:1. Utiliza una combinación de codificación subbanda y codificación en el dominio transformado.La señal de entrada en formato PCM lineal de 16 bits a 44.1kHz, se divide en dos bandas (0-11kHz, y 11-22kHz) mediante una pareja de filtros QMF. A su vez la banda inferior se subdivide de nuevo (0-5.5kHz, y 5.5-11kHz) con otra pareja de filtros QMF. La banda superior debe atravesar un retardo de compensación para sincronizarse correctamente con las dos bandas inferiores (retardadas por la segunda etapa de filtros). La frecuencia de muestreo se reduce a 11.025KHz en las dos bandas inferiores y a 22.050kHz en las superiores. Después se pasa al dominio transformado en cada una de las tres subbandas utilizando la transformada coseno modificada. La longitud de bloque se adapta dinámicamente, pudiendo seleccionarse dos modos de funcionamiento: modo largo (para segmentos estacionarios de señal) y modo corto (para ataques rápidos). El sistema trabaja normalmente en modo largo, seleccionando el modo corto cuando haya riesgo de pre-ecos audibles. Los coeficientes transformados se reagrupan por bandas críticas y se codifican en coma flotante. Después las mantisas se recuantifican con un número de bits diferente en cada banda, de forma que la distorsión quede adecuadamente enmascarada.

Tratamiento digital de la señal de voz

Fundamentos de codificación 54

Estructura híbrida transformada/sub-bandaCodificación con velocidad variableControl avanzado de pre-ecosCuantificación no uniforme con codificación entrópica (Huffman)

Ejemplos: MPEG-1, Layer III (.mp3)

La velocidad típica de trabajo del MPEG Layer III es de 64kbps. Se trata de un codificador híbrido sub-banda combinado con codificación en el dominio transformado. La señal de audio se divide en 32 sub-bandas, exactamente igual en los codificadores anteriores, pero obtiene una resolución frecuencial mucho mayor transformando cada una de las señales sub-banda mediante una MDCT de longitud ajustable dinámicamente. Esto último permite un control adecuado de pre-ecos en las transiciones rápidas. La MDCT puede ser de 18 puntos (12ms. de audio) o de 6 puntos (4ms de audio) utilizándose la ventana larga, con mejor resolución espectral en segmentos estacionarios. La ventana corta con peor resolución frecuencial pero mayor control temporal se utiliza en las transiciones rápidas, . El sistema conmuta a la longitud corta cuando detecta que necesita un número muy grande de bits para codificar adecuadamente la señal. Otra innovación respecto a las capas anteriores está en la codificación de coma flotante: los coeficientes de las MDCT se escalan y se recuantifican de forma no uniforme, y los valores así cuantificados se codifican utilizando códigos de Huffman. También se utiliza codificación run-length de las secuencias largas de ceros. Al utilizar Huffman y run-length la velocidad de salida del codificador no es constante. Por eso se utiliza un buffer o memoria tampón de salida, que permite obtener un flujo constante de bits.

Tratamiento digital de la señal de voz

Fundamentos de codificación 55

Estándar ISO/MPEG

ISO: International Organization of StandardizationMPEG: Moving Picture Experts GroupE´stándar flexible para vídeo/audio digital, desarrollado en variasfases:

MPEG 1 (ISO 11172) Vídeó+audio hasta 1.5MbpsMPEG 2: Ampliación a canales múltiples (3/2) y multilinües, frecuencias de muestreo reducidas (8KHz, 16KHz).MPEG 3: fusionado a MPEG 2MPEG 4: vídeo/audio baja velocidad (64kbps.)

Tratamiento digital de la señal de voz

Fundamentos de codificación 56

Estándar ISO/MPEG

ISO MPEG 1:ISO 11172-1: especificaciones generales del sistema (múltiplex, temporización...)ISO 11172-2: especificaciones sobre el vídeoISO 11172-3: especificaciones sobre el bitstream de audioISO 11172-4: especificaciones generales sobre el audio.

ISO 11172-3: estandariza 3 codificadores (3 capas o layers I, II, III):

Complejidad, compresión y calidad creciente.Compatibilidad descendente (Layer III es capaz de funiconar comoLayer II y Layer I)Frecuencias de muestreo: 32, 44.1, 48 KHzBitrates: 32, 48, 56, 64, 112, 128, 192, 256, 384, 448kpbs por canalmonofónicoModos de funcionamiento: mono, dual, estéreo, estéreo conjunto(L+R, L-R), otros modos...

Tratamiento digital de la señal de voz

Fundamentos de codificación 57

Estándar ISO/MPEG

...ISO 11172-3:Layer I

Complejidad reducidaBitrate entre 32 y 448 kbps, funcionamiento típico a 192kbps por canalmonofónico.Codificación sub-banda.

Layer IIComplejidad mediaBitrate entre 32 y 384kbps, típico a 120kbps por canal monofónico. Codificación subbanda. Estándar adoptado para DAB (Digital AudioBroadcasting).

Layer IIIComplejidad elevada. Funcionamiento a baja velocidad (RDSI, transmisiones por satélite).Bitrate entre 32 y 320kpbs, típico a 64kpbs por canal. Codificación combinada subbanda/transformada.

Tratamiento digital de la señal de voz

Fundamentos de codificación 58

Fundamentos de codificación

Tratamiento digital de la señal de voz

Fundamentos de codificación 59

Bibliografía

N.S. Jayant, P.Noll; Digital Coding of Waveforms Prentice-Hall, Englewood Cliffs, New Jersey, 1984P. Mermelstein; G722 A new CCITT coding standard for Digital Transmision of Wideband Audio Signals IEEE CommunicationMagazine, vol 26, nº1, Jan.1988, pp. 8-15P. Noll; Wideband Speech and Audio Coding, IEEE Communication Magazine, Nov. 1993, pp.34-44G. Davidson, L. Fielder, M. Antill; High-Quality Audio Transform Coding at 128kbps, Proc. of the ICASSP, Apr. 1990, pp. 1117-1120