Está en la página 1de 53

 Introducción al audio digital, segunda edición

ANTERIOR SIGUIENTE
⏮ ⏭
4. Conversión 6. Principios de codificación digital
  🔎

55

Compresión
5.1 Introducción
Compresión, reducción de velocidad de bits y reducción de datos son términos que significan
básicamente lo mismo en este contexto. En esencia, la misma información de audio (o casi la misma)
se transporta utilizando una cantidad y / o tasa de datos menor. Cabe señalar que, en la compresión de
audio, tradicionalmente se entiende un proceso en el que se reduce el rango dinámico del sonido,
generalmente por parte de los organismos de radiodifusión que desean que su estación suene más
fuerte. Sin embargo, cuando se emplea la reducción de la velocidad de bits, la dinámica de la señal
decodificada no cambia. Siempre que el contexto sea claro, los dos significados pueden coexistir sin
mucha confusión.

Existen varias razones por las que las técnicas de compresión son populares:

(a) La compresión extiende el tiempo de reproducción de un dispositivo de almacenamiento


determinado.
(b) La compresión permite la miniaturización. Con menos datos para almacenar, se obtiene el mismo
tiempo de reproducción con hardware más pequeño. Esto es útil en dispositivos portátiles y de
consumo.

(c) Las tolerancias pueden ser relajadas. Con menos datos para registrar, la densidad de
almacenamiento puede reducirse, lo que hace que el equipo sea más resistente a entornos adversos y
que requiera menos mantenimiento.

(d) En los sistemas de transmisión, la compresión permite una reducción en el ancho de banda que
generalmente dará como resultado una reducción en el costo. Esto puede hacer posible algún proceso
que no sería rentable sin él.

(e) Si un ancho de banda dado está disponible para una señal sin comprimir, la compresión permite
una transmisión más rápida que en tiempo real dentro de ese ancho de banda.

(f) Si hay disponible un ancho de banda dado, la compresión permite una señal de mejor calidad
dentro de ese ancho de banda.

La compresión se resume en la Figura 5.1 . Se verá en (a) que el compresor reduce la velocidad de
datos de audio PCM en la fuente . Los datos comprimidos luego pasan a través de un canal de
comunicación y el expansor los devuelve a la velocidad de audio original . La relación entre la
velocidad de datos de origen y la velocidad de datos del canal se denomina factor de compresión . El
término ganancia de codificación también se usa. A veces, un compresor y un expansor en serie se
denominan compaders . El compresor también puede ser denominado codificador y el expansor un
decodificador, en cuyo caso el par en tándem puede denominarse códec .

Cuando el codificador es más complejo que el decodificador, se dice que el sistema es asimétrico. La
Figura 5.1 (b) muestra que los codificadores de audio MPEG1,2 funcionan de esta manera, comohacer
muchos otros El codificador debe ser algorítmico o adaptativo, mientras que el decodificador es
"tonto" y realiza acciones fijas. Esto es ventajoso en aplicaciones como la radiodifusión donde el
número de codificadores complejos caros es pequeño pero el número de decodificadores simples y
baratos es grande. En aplicaciones punto a punto, la ventaja de la codificación asimétrica no es tan
grande. En la codificación de audio MPEG, el codificador suele ser dos o tres veces más complejo que
el decodificador.

Figura 5.1 En (a) un sistema de compresión consta de compresor o codificador, un canal de


transmisión y un expansor o decodificador coincidente. La combinación de codificador y
decodificador se conoce como códec. (b) MPEG es asimétrico ya que el codificador es mucho más
complejo que el decodificador.

La figura 5.2 muestra el uso de un códec con una grabadora. El tiempo de reproducción del medio se
extiende en proporción al factor de compresión. En el caso de las cintas, se mejora el tiempo de acceso
porque se reduce la longitud de la cinta necesaria para una grabación determinada y, por lo tanto, se
puede rebobinar más rápidamente. En algunos casos, la compresión puede usarse para mejorar la
calidad de la grabadora. Un codificador sin pérdidas con un factor de compresión muy ligero se puede
utilizar para dar a un grabador DAT de dieciséis bits un rendimiento de dieciocho o veinte bits.

En las comunicaciones, el costo de los enlaces de datos a menudo es aproximadamente proporcional a


la velocidad de datos y, por lo tanto, existe una presión económica simple para usar un factor de
compresión alto. El uso de una gran compresión para permitir el envío de audio a través de Internet es
un ejemplo de esto.

En estaciones de trabajo diseñadas para la edición de audio, el material fuente puede almacenarse en
discos duros para un acceso rápido. Si bien los sistemas de grado superior pueden funcionar sin
compresión, muchos sistemas utilizan la compresión para compensar el alto costo del almacenamiento
en disco.

Figura 5.2 La compresión se puede usar alrededor de un medio de grabación. La capacidad de


almacenamiento puede aumentarse o el tiempo de acceso puede reducirse según la aplicación.

Cuando se usa una estación de trabajo para la edición fuera de línea , se puede usar un factor de
compresión alto y los artefactos serán audibles. Esto no tiene ninguna consecuencia, ya que estos solo
son escuchados por el editor que usa el sistema para hacer una EDL (editar lista de decisiones) que no
es más que una lista de acciones y los códigos de tiempo en los que ocurren. El material original sin
comprimir se conforma al EDL para obtener un trabajo editado de alta calidad. Cuando se realiza la
edición en línea , la salida de la estación de trabajo es el producto terminado y claramente tendrá que
usarse un factor de compresión más bajo.

El costo del almacenamiento digital continúa disminuyendo y la presión de usar la compresión para
fines de grabación cae con él. Quizás es en la radiodifusión e Internet donde el uso de la compresión
tendrá su mayor impacto. Solo hay un espectro electromagnético y la presión de otros servicios, como
los teléfonos celulares, hace obligatorio el uso eficiente del ancho de banda. La transmisión analógica
es una tecnología antigua y hace un uso muy ineficiente del ancho de banda. Su reemplazo por una
transmisión digital comprimida será inevitable por la razón práctica de que el ancho de banda se
necesita en otros lugares.

Afortunadamente, en la radiodifusión hay un mercado masivo para decodificadores y estos pueden


implementarse como circuitos integrados de bajo costo. Se necesitan menos codificadores, por lo que
es menos importante si son caros. Mientras que el costo del almacenamiento digital disminuye año tras
año, el costo del espectro electromagnético aumenta. En consecuencia, en el futuro la presión para usar
la compresión en la grabación disminuirá mientras que la presión para usarla en las comunicaciones
por radio aumentará.

5.2 Codificación sin pérdida y perceptiva


Si bien existen muchas herramientas de codificación de audio diferentes, todas ellas pertenecen a una
u otra de estas categorías. En la codificación sin pérdidas , los datos del expansor son idénticos bit por
bit con los datos de origen originales. Los llamados programas 'apiladores' que aumentan la capacidad
aparente de las unidades de disco en las computadoras personales usan códecs sin pérdidas.
Claramente, con los programas de computadora, la corrupción de un solo bit puede ser catastrófica. La
codificación sin pérdida generalmente está restringida a factores de compresión de alrededor de 2: 1.

Es importante tener en cuenta que un codificador sin pérdidas no puede garantizar un factor de
compresión particular y que el enlace o grabador de comunicaciones utilizado con él debe ser capaz de
manejar la velocidad de datos de salida variable. El material de audio que produce factores de
compresión deficientes en un códec dado se describe como difícil . Cabe señalar que la dificultad es a
menudo una función del códec. En otras palabrasel audio que un códec encuentra difícil puede no
serlo por otro. Los códecs sin pérdida se pueden incluir en los esquemas de prueba de tasa de error de
bits. También es posible en cascada o concatenar códecs sin pérdida sin ninguna precaución especial.

En la codificación con pérdida , los datos del decodificador no son idénticos bit por bit con los datos
de origen y, como resultado, comparar la entrada con la salida está obligado a revelar diferencias.
Claramente, los códecs con pérdida no son adecuados para datos de computadora, pero se usan en
muchos codificadores de audio, MPEG incluido, ya que permiten mayores factores de compresión que
los códecs sin pérdida. Los códecs con pérdida más exitosos son aquellos en los que los errores están
ordenados para que el oyente los encuentre subjetivamente difíciles de detectar. Por lo tanto, los
códecs con pérdida deben basarse en una comprensión de la percepción psicoacústica y a menudo se
denominan códigos perceptivos .

La codificación perceptiva se basa en el principio del enmascaramiento auditivo, que se consideró en


el Capítulo 2 . El enmascaramiento hace que la combinación oído / cerebro sea menos sensible al
sonido en una frecuencia en presencia de otra en una frecuencia cercana. Si hay un primer tono
presente en la entrada, enmascarará las señales de nivel inferior en las frecuencias cercanas. La
cuantificación del primer tono y de otros tonos en esas frecuencias puede hacerse más gruesa. Se
necesitan menos bits y se obtiene una codificación de ganancia. La distorsión de cuantificación
aumentada es permisible si está enmascarada por la presencia del primer tono.

En la codificación perceptiva, cuanto mayor sea el factor de compresión requerido, más exactamente
deben modelarse los sentidos humanos. Los codificadores perceptivos pueden verse obligados a operar
con un factor de compresión fijo. Esto es conveniente para aplicaciones de transmisión prácticas
donde una velocidad de datos fija es más fácil de manejar que una velocidad variable. Sin embargo, el
resultado de un factor de compresión fijo es que la calidad subjetiva puede variar con la "dificultad"
del material de entrada. Los códecs perceptivos no deben concatenarse indiscriminadamente,
especialmente si usan algoritmos diferentes. Como la señal reconstruida de un códec perceptivo no es
precisa bit por bit, claramente dicho códec no puede incluirse en ningún sistema de prueba de tasa de
error de bit ya que las diferencias de codificación serían indistinguibles de los errores reales.

5.3 Principios de compresión


En un sistema de audio PCM, la velocidad de bits es el producto de la velocidad de muestreo y el
número de bits en cada muestra y esto generalmente es constante. Sin embargo, la tasa de información
de una señal real varía. En todas las señales reales, parte de la señal es obvia a partir de lo que sucedió
antes o de lo que puede venir después, y un decodificador adecuado puede predecir esa parte para que
solo se envíe la información verdadera. Si se conocen las características de un decodificador de
predicción, el transmisor puede omitir partes del mensaje sabiendo que el decodificador tiene la
capacidad de recrearlo. Por lo tanto, todos los codificadores deben contener un modelo del
decodificador.

En un códec predictivo hay dos predictores idénticos, uno en el codificador y otro en el decodificador.
Su trabajo es examinar una serie de valores de datos anteriores y extrapolar hacia adelante para estimar
o predecir cuál será el siguiente valor. Esto se resta del siguiente valor real en el codificador para
producir un error de predicción o residual que se transmite. El decodificador luego agrega el error de
predicción a su propia predicción para obtener nuevamente el valor del código de salida. La
codificación predictiva se puede aplicar a cualquier tipo de información. En los codificadores de
audio, la información puede ser muestras PCM, coeficientes de transformación o incluso datos de
cadena lateral, como factores de escala.
La codificación predictiva tiene la ventaja de que siempre que el residuo se transmita intacto, no hay
pérdida de información.

Una definición de información es que es el elemento impredecible o sorprendente de los datos. Los
periódicos son un buen ejemplo de información porque solo mencionan artículos que son
sorprendentes. Los periódicos nunca llevan artículos sobre personas que no han estado involucradas en
un accidente, ya que este es el caso normal. En consecuencia, la frase "ninguna noticia es una buena
noticia" es notablemente verdadera porque si existe un canal de información pero no se ha enviado
nada, lo más probable es que no haya sucedido nada notable.

La diferencia entre la velocidad de información y la velocidad de bits global se conoce como


redundancia. Los sistemas de compresión están diseñados para eliminar tanta redundancia como sea
posible o quizás asequible. Una forma en que esto se puede hacer es explotar la previsibilidad
estadística en las señales. El contenido de información o entropía de una muestra es una función de
cuán diferente es del valor predicho. La mayoría de las señales tienen cierto grado de previsibilidad.
Una onda sinusoidal es altamente predecible, porque todos los ciclos se ven iguales. Según la teoría de
Shannon, cualquier señal que sea totalmente predecible no lleva información. En el caso de la onda
sinusoidal, esto es claro porque representa una frecuencia única y, por lo tanto, no tiene ancho de
banda.

En el extremo opuesto, una señal como el ruido es completamente impredecible y, como resultado, a
todos los códecs les resulta difícil el ruido . Hay dos consecuencias de esta característica. Primero, un
códec que está diseñado utilizando las estadísticas de material real no debe probarse con ruido
aleatorio porque no es una prueba representativa. En segundo lugar, un códec que funciona bien con
material fuente limpio puede funcionar mal con material fuente que contiene ruido superpuesto, como
el silbido de cinta analógica. Las unidades de compresión prácticas pueden requerir alguna forma de
preprocesamiento antes de la etapa de compresión, y se debe incorporar una reducción de ruido
adecuada y apropiada en el preprocesamiento si se anticipan señales ruidosas. También será necesario
restringir el grado de compresión aplicado a las señales ruidosas.

Todas las señales reales se encuentran a medio camino entre los extremos de la previsibilidad total y la
imprevisibilidad total o el ruido. Si el ancho de banda (establecido por la frecuencia de muestreo) y el
rango dinámico (establecido por la longitud de palabra) del sistema de transmisión se utilizan para
delinear un área, esto establece un límite en la capacidad de información del sistema. La figura 5.3 (a)
muestra que la mayoría de las señales reales solo ocupan parte de esa área. Es posible que la señal no
contenga todas las frecuencias o que no tenga una dinámica completa en ciertas frecuencias.
La entropía puede considerarse como una medida del área real ocupada por la señal. Esta es el área
que debe transmitirse para que no haya diferencias subjetivas o artefactos en la señal recibida. El área
restante se llama redundancia porque no agrega nada a la información transmitida. Por lo tanto, se
podría imaginar un codificador ideal que milagrosamente separe la entropía de la redundancia y solo
envíe la primera. Un decodificador ideal recrearía perfectamente la impresión original de la
información.

A medida que se acerca al ideal, la complejidad del codificador y la latencia (retraso) aumentan. La
figura 5.3 (b) muestra cómo aumenta la complejidad con el factor de compresión. La Figura 5.3 (c)
muestra cómo aumentar la latencia del códec puede mejorar el factor de compresión. Obviamente
tendríamos que proporcionar un canal que aceptara cualquier entropía que el codificador extraiga para
tener una calidad transparente. Como resultado, las ganancias de codificación moderadas que solo
eliminan la redundancia no necesitan en principio causar artefactos y pueden dar como resultado
sistemas que se describen comosubjetivamente sin pérdidas . Esto supone que dichos sistemas están
bien diseñados, lo que puede no ser el caso en el hardware real.

Figura 5.3 (a) Un codificador perfecto elimina solo la redundancia de la señal de entrada y da como
resultado una codificación subjetivamente sin pérdidas. Si la entropía restante está más allá de la
capacidad del canal, parte de ella se debe perder y el códec se perderá. Un codificador imperfecto
también tendrá pérdidas, ya que no puede mantener toda la entropía. (b) A medida que aumenta el
factor de compresión, la complejidad también debe aumentar para mantener la calidad. (c) Los
factores de alta compresión también tienden a aumentar la latencia o el retraso a través del sistema.
Si la capacidad del canal no es suficiente para eso, entonces el codificador tendrá que descartar parte
de la entropía y con ella información útil. Las ganancias de codificación más grandes que eliminan
parte de la entropía deben dar lugar a artefactos. También se verá en la Figura 5.3 que un codificador
imperfecto no podrá separar la redundancia y en su lugar puede descartar la entropía, dando como
resultado artefactos con un factor de compresión subóptimo.

Un único canal de transmisión de velocidad variable es inconveniente e impopular con los


proveedores de canales porque es difícil de controlar. El requisito se puede superar combinando varios
canales comprimidos en una transmisión de velocidad constante de una manera que asigne de manera
flexible la velocidad de datos entre los canales. Siempre que el material no esté relacionado, la
probabilidad de que todos los canales alcancen la entropía máxima a la vez es muy pequeña y, por lo
tanto, aquellos canales que en un instante pasan material fácil liberarán la capacidad de transmisión
para aquellos canales que manejan material difícil. Este es el principio de la multiplexación
estadística.

Cuando el mismo tipo de material fuente se usa de manera consistente, por ejemplo, texto en inglés,
entonces es posible realizar un análisis estadístico sobre la frecuencia con la que se usan letras
particulares. La codificación de longitud variable se usa en la que las letras usadas con frecuencia se
asignan códigos cortos y las letras que ocurren con poca frecuencia se asignan códigos largos. Esto da
como resultado un código sin pérdidas. El conocido código Morse utilizado para la telegrafía es un
ejemplo de este enfoque. La letra e es la más frecuente en inglés y se envía con un solo punto. A una
letra poco frecuente como z se le asigna un patrón complejo largo. Debe quedar claro que los códigos
de este tipo que se basan en un conocimiento previo de las estadísticas de la señal solo son efectivos
con las señales que realmente tienen esas estadísticas. Si el código Morse se usa con otro idioma, la
transmisión se vuelve significativamente menos eficiente porque las estadísticas son bastante
diferentes; la letra z, por ejemplo, es bastante común en checo.

El código Huffman3 está diseñado para usarse con una fuente de datos con estadísticas conocidas y
comparte los mismos principios con el código Morse. Se estudia la probabilidad de que se transmitan
los diferentes valores de código, y los códigos más frecuentes están dispuestos para transmitirse con
símbolos cortos de longitud de palabra. A medida que cae la probabilidad de un valor de código, se le
asignará una longitud de palabra más larga. El código Huffman se usa junto con una serie de técnicas
de compresión y se muestra en la Figura 5.4 .

Los códigos de entrada o fuente se ensamblan en orden de probabilidad descendente. Las dos
probabilidades más bajas se distinguen por un solo bit de código y sus probabilidades se combinan. El
proceso de combinar probabilidades continúa hasta que se alcanza la unidad y en cada etapa se utiliza
un bit para distinguir el camino. El bit será un cero para la ruta más probable y uno para la menor. La
salida comprimida se obtiene leyendo los bits que describen qué camino tomar de derecha a izquierda.

Figura 5.4 El código Huffman logra la compresión al asignar códigos cortos a valores frecuentes. Para
ayudar a la deserialización, los códigos cortos no son prefijos de códigos más largos.
En el caso de los datos de la computadora, no hay control sobre las estadísticas de datos. Los datos a
registrar pueden ser instrucciones, imágenes, tablas, archivos de texto, etc. cada uno tiene sus propias
distribuciones de valores de código. En este caso, un codificador que se base en estadísticas de fuente
fija será completamente inadecuado. En cambio, se utiliza un sistema que puede aprender las
estadísticas a medida que avanza. Los códigos sin pérdidas Lempel – Ziv – Welch (LZW) están en esta
categoría. Estos códigos crean una tabla de conversión entre cadenas de datos de fuente larga
frecuentes y códigos de datos transmitidos cortos tanto en el codificador como en el decodificador, e
inicialmente su factor de compresión está por debajo de la unidad, ya que los contenidos de las tablas
de conversión se transmiten junto con los datos. Sin embargo, una vez que se establecen las tablas, la
ganancia de codificación compensa con creces la pérdida inicial. En algunas aplicaciones

Los códigos sin pérdida son menos comunes en la codificación de audio donde los códigos perceptivos
son más populares. Los códigos perceptivos a menudo obtienen una ganancia de codificación al
acortar la longitud de palabra de los datos que representan la forma de onda de la señal. Esto debe
aumentar el nivel de distorsión de cuantificación y, para una buena calidad percibida, el codificador
debe asegurarse de que la distorsión resultante se coloque en frecuencias donde los sentidos humanos
sean menos capaces de percibirla. Como resultado, aunque la señal recibida es mediblemente diferente
de la fuente de datos, puede parecer igual al oyente humano bajo ciertas condiciones. Como estos
códigos se basan en las características de la audición humana, solo se pueden probar de manera
subjetiva de forma completa.

El factor de compresión de dichos códigos se puede establecer a voluntad eligiendo la longitud de


palabra de los datos comprimidos. Mientras que la compresión leve puede ser indetectable, con
mayores factores de compresión, los artefactos se vuelven notables. La figura 5.3 muestra que esto es
inevitable por consideraciones de entropía.

5.4 Calibración de nivel de códec


El funcionamiento del oído depende notablemente del nivel y los codificadores perceptivos lo tienen
en cuenta. Sin embargo, todo el procesamiento de la señal tiene lugar en el dominio eléctrico o digital
con respecto a los niveles eléctricos o numéricos, mientras que el mecanismo de audición funciona con
respecto al nivel de presión acústica real. La Figura 5.5 muestra que en un sistema ideal, la ganancia
general de los micrófonos y los ADC es tal que los códigos PCM tienen una relación con la presión
del sonido, que es eligual que el asumido por el modelo en el códec. Igualmente, la ganancia general
del DAC y el sistema de altavoces debería ser tal que los niveles de presión de sonido que el códec
asume sean los realmente escuchados. Claramente, el control de ganancia del micrófono y el control
de volumen del sistema de reproducción deben calibrarse para que el modelo de audición funcione
correctamente. Si, por ejemplo, la ganancia del micrófono fuera demasiado baja y esto se compensara
avanzando la ganancia del altavoz, la ganancia general sería la misma pero el códec se dejaría engañar
pensando que el nivel de presión del sonido era menor de lo que realmente era y el enmascaramiento
El modelo no sería apropiado.

Figura 5.5 Los codificadores de audio deben estar calibrados para que las decisiones psicoacústicas
en el codificador se basen en los niveles correctos de presión sonora.
Lo anterior no debería sorprendernos ya que los códecs de audio analógico, como los diversos
sistemas Dol by, han requerido e implementado procedimientos de alineación y tonos adecuados. Por
obvia que pueda ser la necesidad de calibrar codificadores, el grado en que esto se reconoce en la
industria es casi insignificante hasta la fecha y esto solo puede dar como resultado un rendimiento
subóptimo.

5.5 Medición de calidad


Como se ha visto, una forma en que se obtiene la ganancia de codificación es volver a cuantificar los
valores de muestra para reducir la longitud de palabra. Dado que el error resultante de recuantificación
es un mecanismo de distorsión, da como resultado que la energía se mueva de una frecuencia a otra. El
modelo de enmascaramiento es esencial para estimar cuán audible será el efecto. Cuanto mayor sea el
grado de compresión requerido, más preciso debe ser el modelo. Si el modelo de enmascaramiento es
inexacto, el equipo basado en él puede producir artefactos audibles en algunas circunstancias. También
pueden producirse artefactos si el modelo no se implementa correctamente. Como resultado, el
desarrollo de unidades de compresión de audio requiere pruebas de escucha cuidadosas con una
amplia gama de material fuente4,5 y altavoces de precisión. La presencia de artefactos en un factor de
compresión dado indica solo que el rendimiento está por debajo de las expectativas; no distingue entre
la implementación y el modelo. Si se verifica la implementación, se debe buscar un modelo más
detallado. Naturalmente, las pruebas de escucha comparativas solo son válidas si todos los códecs se
han calibrado a nivel y si los altavoces causan menos pérdida de información que cualquiera de los
códecs, un requisito que a menudo se pasa por alto.
Las pruebas de audición realizadas de manera adecuada son costosas y requieren mucho tiempo, y se
han desarrollado métodos alternativos que pueden usarse de manera objetiva para evaluar el
desempeño de diferentes técnicas. La relación ruido / enmascaramiento (RMN) es una de esas
medidas.6 Figura 5.6muestra cómo se mide la RMN. Las señales de audio de entrada se alimentan
simultáneamente a un codificador y decodificador de reducción de datos en tándem y a un retraso de
compensación cuya longitud debe ajustarse para que coincida con el retraso del códec. En la salida del
retraso, el error de codificación se obtiene restando la salida del códec del original. La señal original se
especifica en bandas críticas para derivar el umbral de enmascaramiento del audio de entrada, y esto se
compara con el espectro de banda crítica del error. La RMN en cada banda crítica es la relación entre
el umbral de enmascaramiento y el error de cuantificación debido al códec. Se puede calcular una
RMN promedio para todas las bandas. Una RMN positiva en cualquier banda indica que los artefactos
son potencialmente audibles. Trazar la RMN promedio contra el tiempo es una técnica poderosa, Al
igual que con un códec ideal, la RMN debe ser estable con diferentes tipos de material de programa. Si
este no es el caso, el códec podría funcionar de manera bastante diferente en función del material de
origen. Las excursiones de RMN pueden correlacionarse conforma de onda de la entrada de audio para
analizar cómo se causó el ruido adicional y rediseñar el códec para eliminarlo.

Figura 5.6 La relación ruido-enmascaramiento se deriva como se muestra aquí.

Los sistemas prácticos deben tener una RMN finita para brindar un grado de protección contra señales
difíciles que no se han previsto y contra el uso de ecualización posterior al códec o varios códecs en
tándem que podrían cambiar el umbral de enmascaramiento. Existe un fuerte argumento de que los
dispositivos utilizados para la producción de audio deberían tener una RMN mayor que los
dispositivos de entrega de consumidores o programas.

5.6 Los límites


Por supuesto, hay límites para todas las tecnologías. Eventualmente, se escucharán artefactos a medida
que aumenta la cantidad de compresión que no eliminará ninguna cantidad de modelado detallado. El
oído solo puede percibir una cierta proporción de la información en un sonido dado. Esto podría
llamarse entropía perceptiva, 7 y todo el sonido adicional es redundante o irrelevante. La compresión
funciona eliminando la redundancia, y claramente un sistema ideal eliminaría todo, dejando solo la
entropía. Una vez hecho esto, se ha alcanzado la capacidad de enmascaramiento del oído y la RMN ha
llegado a cero en toda la banda.

Suponiendo un modelo de enmascaramiento ideal, una mayor reducción de la velocidad de datos debe
hacer que el nivel de los productos de distorsión se eleve por encima del nivel de enmascaramiento por
igual en todas las frecuencias y de repente los haga audibles. El resultado es que la calidad percibida
de un códec cae repentinamente a una velocidad de bits crítica. La figura 5.7 muestra este efecto, que
se conoce de diversas maneras como choque de rodilla, degradación sin gracia o efecto de borde de
acantilado. Es una consecuencia simple de la percepción humana de que un codificador que se
mantiene a la izquierda de la rodilla el 99 por ciento del tiempo todavía estará marcado porque la falla
repentina durante el uno por ciento del tiempo causa irritación desproporcionada en su duración .

Para cumplir con una restricción de velocidad de bits particular, el ancho de banda de audio puede
tener que reducirse para mantener el nivel de distorsión aceptable. Por ejemplo, en MPEG1, el
prefiltrado permite que se descuiden los datos de subbandas superiores. MPEG-2 también ha
introducido algunas opciones de baja frecuencia de muestreo para este propósito. Por lo tanto, hay un
límite para el grado de compresión que se puede lograr incluso con un codificador ideal. Los sistemas
que van más allá de ese límite no son apropiados para música de alta calidad, pero son relevantes en la
recopilación de noticias y comunicaciones donde el criterio es la inteligibilidad del habla.

Figura 5.7 Es una característica de los sistemas de compresión que la falla es repentina.
Curiosamente, la velocidad de datos de un codificador es prácticamente independiente de la velocidad
de muestreo de entrada a menos que la velocidad de muestreo sea muy baja. Esto se debe a que la
entropía del sonido está en la forma de onda, no en el número de muestras que lo transportan.

De lo anterior se deduce que para obtener la mayor calidad de audio para una velocidad de bits dada,
se debe explorar cada redundancia en la señal de entrada. Cuantas más herramientas de codificación
sin pérdida se puedan utilizar, menor será la medida en que operan las herramientas con pérdida. Por
ejemplo, la codificación de audio MPEG Layers I y II no emplea predicción o buffering, mientras que
Layer III usa buffering. MPEG-2 AAC8 utiliza tanto la predicción como el almacenamiento en búfer
y, por lo tanto, puede obtener una mejor calidad a una velocidad de bits determinada o la misma
calidad a una velocidad de bits más baja.

El factor de compresión de un codificador es solo una parte de la historia. Todos los códecs causan
demoras y, en general, cuanto mayor es la compresión, mayor es la demora. En algunas aplicaciones,
como la telefonía, se requiere un breve retraso.9 En muchas aplicaciones, el canal comprimido tendrá
una velocidad de bits constante, por lo que se requiere un factor de compresión constante. En el
material del programa real, la entropía varía y, por lo tanto, la RMN fluctuará. Si se puede aceptar una
demora mayor, como en una aplicación de grabación, se puede usar el almacenamiento en memoria
intermedia para permitir que el codificador funcione a una velocidad de datos constante e
instantáneamente variable. La memoria absorbe las diferencias de velocidad de datos instantáneas del
codificador y permite una velocidad constante en el canal. Entonces se obtendrá un factor de
compresión efectivo más alto. La calidad casi constante también se puede lograr utilizando la
multiplexación estadística.

5.7 Algunas pautas


Aunque las técnicas de compresión en sí mismas son complejas, existen algunas reglas simples que se
pueden utilizar para evitar decepciones. Usada sabiamente, la compresión de audio tiene una serie de
ventajas. Utilizado de manera inapropiada, la decepción es casi inevitable y la tecnología podría tener
un mal nombre. Vale la pena recordar los siguientes puntos.

• La tecnología de compresión puede ser emocionante, pero si no es necesaria, no debe usarse.

• Si se va a utilizar la compresión, el grado de compresión debe ser lo más pequeño posible; es decir,
use la tasa de bits práctica más alta.

• Los sistemas de compresión en cascada causan pérdida de calidad y cuanto más bajas son las
velocidades de bits, peor es esto. La pérdida de calidad aumenta si se realizan pasos de postproducción
entre compresiones. Los sistemas de compresión causan demoras.

• Los sistemas de compresión funcionan mejor con material de origen limpio. Las señales ruidosas dan
malos resultados.

• Los datos comprimidos son generalmente más propensos a errores de transmisión que los datos no
comprimidos. La elección de un esquema de compresión debe considerar las características de error
del canal.

• Los códecs de audio deben calibrarse de nivel para que cuando se toman decisiones dependientes del
nivel de presión de sonido en el codificador, esos niveles realmente existan en el micrófono.

• Los codificadores de baja velocidad de bits solo deben usarse para la entrega final de señales
postproducidas al usuario final.

• La calidad de la compresión solo puede evaluarse subjetivamente en altavoces de precisión. Los


códecs a menudo suenan bien en altavoces baratos cuando en realidad no lo son.
• La compresión funciona mejor en mono y menos bien en sistemas estéreo y de sonido envolvente
donde las imágenes, el ambiente y la reverberación con frecuencia no se reproducen bien.

• No se deje intimidar por la tecnología. No tiene que entenderlo para evaluar los resultados. Tus oídos
son tan buenos como los de cualquiera, así que no tengas miedo de criticar los artefactos.

5.8 Herramientas de compresión de audio


Hay muchas técnicas diferentes disponibles para la compresión de audio, cada una con ventajas y
desventajas. Los compresores reales combinarán varias técnicas o herramientas de varias maneras para
lograr diferentes combinaciones de costo y complejidad. Aquí se pretende examinar las herramientas
por separado antes de ver cómo se usan en los sistemas de compresión reales.

La herramienta de codificación más simple es la comparación, que es un paralelo digital de los


reductores de ruido utilizados en la grabación de cintas analógicas. La figura 5.8 (a) muestra que al
comparar el nivel de señal de entrada se controla. Cada vez que el nivel de entrada cae por debajo del
máximo, se amplifica en el codificador. La ganancia que se aplicó en el codificador se agrega al flujo
de datos para que el decodificador pueda aplicar una atenuación igual. La ventaja de la comparación es
que la señal se mantiene lo más alejada posible del ruido de fondo. En la reducción de ruido analógico,
esto se usa para maximizar la SNR de una grabadora de cinta, mientras que en la compresión digital se
usa para mantener el nivel de señal lo más lejos posible de la distorsión introducida por varios pasos
de codificación.

Una forma común de obtener ganancia de codificación es acortar la longitud de palabra de las
muestras para que se transmitan menos bits. La figura 5.8 (b) muestra que cuando se hace esto, la
distorsión aumentará en 6 dB por cada bit eliminado. Esto se debe a que la eliminación de un bit
reduce a la mitad el número de intervalos de cuantificación que luego deben ser dos veces mayores,
duplicando la amplitud del error.

Claramente, si este paso sigue al comparador de (a), la audibilidad de la distorsión se minimizará.


Como alternativa a acortar la longitud de palabra, la señal PCM cuantificada uniforme se puede
convertir a un formato no uniforme. En la codificación no uniforme, que se muestra en (c), el tamaño
del paso de cuantificación aumenta con la magnitud de la muestra, de modo que el nivel de distorsión
es mayor cuando existen niveles más altos.

La comparación es un pariente de la codificación de punto flotante que se muestra en la Figura 5.9,


donde el valor de la muestra se expresa como una mantisa y un exponente binario quedetermina cómo
se debe cambiar la mantisa para tener su valor absoluto correcto en una escala PCM. El exponente es
el equivalente de la configuración de ganancia o factor de escala de un compander.

Figura 5.8 Companding digital. En (a) el codificador amplifica la entrada al nivel máximo y el
decodificador se atenúa en la misma cantidad. (b) En un sistema asociado, la señal se mantiene lo más
lejos posible por encima del ruido causado por el acortamiento de la longitud de palabra de muestra.

Figura 5.9 En este ejemplo de notación de coma flotante, el punto de raíz puede tener ocho posiciones
determinadas por el exponente E. El punto se coloca a la izquierda del primer '1', y los siguientes
cuatro bits a la derecha forman la mantisa M. Como el MSB de la mantisa es siempre 1, no es
necesario que siempre se almacene.
Claramente en coma flotante, la relación señal-ruido se define por el número de bits en la mantisa, y
como se muestra en la Figura 5.10 , esto variará como una función de diente de sierra del nivel de
señal, como el mejor valor, obtenido cuando la mantisa es casi desbordamiento, se reemplaza por el
peor valor cuando la mantisa se desborda y el exponente se incrementa. La notación de punto flotante
se usa dentro de los chips DSP ya que alivia los problemas computacionales involucrados en el
manejo de largas longitudes de palabra. Por ejemplo, al multiplicar números de coma flotante, solo las
mantisae deben multiplicarse. Los exponentes simplemente se agregan.

Figura 5.10 En este ejemplo de una mantisa de ocho bits, un sistema de exponente de tres bits, la SNR
máxima es de 6 dB × 8 = 48 dB con una entrada máxima de 0dB. A medida que el nivel de entrada cae
en 6 dB, el ruido del convertidor permanece igual, por lo que la SNR cae a 42 dB. Una mayor
reducción en el nivel de señal hace que el convertidor cambie de rango (punto A en el diagrama) al
aumentar la ganancia analógica de entrada en 6 dB. La SNR se restaura y el exponente cambia de 7 a 6
para causar el mismo cambio de ganancia en el receptor. La modulación de ruido sería audible en este
sistema simple. Se necesita una palabra mantisa más larga en la práctica.
Un sistema de punto flotante requiere que se lleve un exponente con cada mantisa y esto es un
desperdicio porque en el material de audio real el nivel no cambia tan rápidamente y hay redundancia
en los exponentes. Una mejor alternativa es la codificación de bloque de coma flotante, también
conocida como compactación casi instantánea, donde la magnitud de la muestra más grande en un
bloque se usa para determinar el valor de un exponente que es válido para todo el bloque. Enviar un
exponente por bloque requiere una velocidad de datos menor que en punto flotante verdadero.

En la codificación de bloques, la recuantificación en el codificador aumenta el error de cuantificación,


pero lo hace durante toda la duración del bloque. La figura 5.11 muestra que si ocurre un transitorio
hacia el final de un bloque, el decodificador reproducirá la forma de onda correctamente, pero el ruido
de cuantificación comenzará al comienzo del bloque y puede dar lugar a una explosión de productos
de distorsión (también llamado pre-ruido o pre-echo) que es audible antes del transitorio. El
enmascaramiento temporal puede usarse para hacer esto inaudible. Con un bloque de 1 ms, los
artefactos son demasiado breves para ser escuchados.

Otra solución es usar una ventana de tiempo variable de acuerdo con el contenido transitorio de la
forma de onda de audio. Cuando ocurren transitorios musicales, son necesarios bloques cortos y la
ganancia de codificación será baja.11 En otras ocasiones, los bloques se alargan permitiendo una
mayor ganancia de codificación.

Mientras que los sistemas anteriores utilizados solos sí permiten la ganancia de codificación, el factor
de compresión tiene que ser limitado porque se obtiene un pequeño beneficio del enmascaramiento.
Esto se debe a que las técnicas anteriores producen una distorsión que se puede encontrar en cualquier
lugar de toda la banda de audio. Si el espectro de entrada de audio es estrecho, este ruido no se
enmascarará.

La codificación de subbandas12 divide el espectro de audio en muchas bandas de frecuencia


diferentes. Una vez hecho esto, cada banda puede procesarse individualmente. En las señales de audio
reales, muchas bandas contendrán señales de nivel más bajo que la más alta.La comparación
individual de cada banda será más efectiva que la comparación de banda ancha. La codificación de
sub-banda también permite que el nivel de productos de distorsión se eleve selectivamente para que la
distorsión se cree solo en frecuencias donde el enmascaramiento espectral será efectivo.

Figura 5.11 Si se produce un transitorio hacia el final de un bloque de transformación, el ruido de


cuantificación seguirá estando presente al comienzo del bloque y puede dar lugar a un pre-eco donde
el ruido es audible antes del transitorio.

Siguiendo cualquier paso de codificación perceptiva, los datos resultantes pueden someterse a
herramientas de compresión binaria sin pérdida, como la predicción, la codificación de Huffman o una
combinación de ambos.

El audio generalmente se considera una forma de onda en el dominio del tiempo, ya que esto es lo que
emerge de un micrófono. Como se ha visto en el Capítulo 3 , el análisis espectral permite que
cualquier forma de onda periódica sea representada por un conjunto de componentes armónicamente
relacionados de amplitud y fase adecuadas. En teoría, es perfectamente posible descomponer una
forma de onda de entrada periódica en sus frecuencias y fases constituyentes, y registrar o transmitir la
transformación. La transformación se puede invertir y la forma de onda original se recreará con
precisión.

Aunque se pueden pensar en excepciones, la transformación de una forma de onda de audio típica
cambia relativamente lentamente la mayor parte del tiempo. El habla lenta de un tubo de órgano o una
cuerda de violín o la lenta disminución de la mayoría de los sonidos musicales permiten que se
reduzca la velocidad a la que se muestrea la transformación y se obtiene una ganancia de codificación.
En algunas frecuencias, el nivel estará por debajo del máximo y se puede usar una longitud de palabra
más corta para describir el coeficiente. Se logrará una mayor ganancia de codificación si los
coeficientes que describen las frecuencias que experimentarán el enmascaramiento se cuantifican de
manera más gruesa.

En la práctica hay algunas dificultades, los sonidos reales no son periódicos, sino que contienen
transitorios que la transformación no puede localizar con precisión en el tiempo. La solución a esta
dificultad es cortar la forma de onda en segmentos cortos y luego transformarlos individualmente. El
retraso se reduce, al igual que la tarea computacional, pero existe la posibilidad de que surjan
artefactos debido al truncamiento de la forma de onda en ventanas de tiempo rectangulares. Una
solución es usar funciones de ventana y superponer los segmentos como se muestra en la Figura 5.12 .
Por lo tanto, cada muestra de entrada aparece en solo dos transformaciones, pero con una ponderación
variable que depende de su posición a lo largo del eje de tiempo.

Figura 5.12 La codificación de transformación solo se puede realizar prácticamente en bloques cortos.
Estos se superponen usando funciones de ventana para manejar formas de onda continuas.

La DFT (transformada de frecuencia discreta) no produce un espectro continuo, sino que produce
coeficientes a frecuencias discretas. La resolución de frecuencia (es decir, el número de coeficientes de
frecuencia diferentes) es igual al número de muestras en la ventana. Si se usan ventanas superpuestas,
se producen el doble de coeficientes que los teóricamente necesarios. Además, el DFT requiere un
cálculo intensivo, debido al requisito de utilizar aritmética compleja para representar la fase de los
componentes, así como la amplitud. Una alternativa es utilizar transformadas discretas de coseno
(DCT) o la transformada discreta de coseno modificada (MDCT) que tiene la capacidad de eliminar la
sobrecarga de coeficientes debido a la superposición de las ventanas y volver al dominio críticamente
muestreado.
5.9 Codificación de subbandas
La codificación de subbandas aprovecha el hecho de que los sonidos reales no tienen energía espectral
uniforme. La longitud de palabra del audio PCM se basa en el rango dinámico requerido y esto
generalmente es constante con la frecuencia, aunque cualquier pre-énfasis afectará la situación.
Cuando una señal con un espectro desigual es transmitida por PCM, todo el rango dinámico está
ocupado solo por el componente espectral más ruidoso, y todos los demás componentes están
codificados con un espacio libre excesivo. En su forma más simple, la codificación de subbandas
funciona dividiendo la señal de audio en varias bandas de frecuencia y comparando cada banda de
acuerdo con su propio nivel. Las bandas en las que hay poca energía dan como resultado pequeñas
amplitudes que pueden transmitirse con una longitud de palabra corta. Por lo tanto, cada banda da
como resultado muestras de longitud variable, pero la suma de todas las longitudes de palabra de
muestra es menor que la de PCM y, por lo tanto, se puede obtener una ganancia de codificación. La
codificación de subbandas no está restringida al dominio digital; Los sistemas analógicos de reducción
de ruido Dolby lo utilizan ampliamente.

El número de subbandas a utilizar depende de qué otras herramientas de compresión se combinen con
la codificación de subbandas. Si se pretende optimizar la compresión basada en el enmascaramiento
auditivo, las subbandas deberían ser preferiblemente más estrechas que las bandas críticas del oído y,
por lo tanto, se requerirá un gran número. Con frecuencia, este requisito no se cumple: las capas ISO /
MPEG I y II usan solo 32 subbandas. La figura 5.13 muestra la condición crítica donde el tono de
enmascaramiento está en el borde superior de la sub-banda. Se verá que cuanto más angosta sea la
sub-banda, mayor será el "ruido" que se puede enmascarar. Sin embargo, el uso de un número
excesivo de subbandas aumentará la complejidad y el retraso de la codificación, así como el riesgo de
prerrequisitos en transitorios que pueden exceder el enmascaramiento temporal.

Por otro lado, si se usa junto con la codificación predictiva de muestras, se requieren relativamente
pocas bandas. El sistema apt-X100, por ejemplo, usa solo cuatro subbandas, ya que las simulaciones
mostraron que un número mayor dio rendimientos decrecientes.

Figura 5.13 En la codificación de subbandas, el peor caso ocurre cuando el tono de enmascaramiento
está en el borde superior de la subbanda. Cuanto más estrecha sea la banda, mayor será el nivel de
ruido que se puede enmascarar.
El proceso de división de bandas es complejo y requiere muchos cálculos. Un método de división de
banda que es útil es el filtrado de espejo en cuadratura.15 El QMF es un tipo de filtro FIR doble que
convierte una secuencia de muestra PCM en dos secuencias de muestra de la mitad de la velocidad de
muestreo de entrada, de modo que la velocidad de datos de salida es igual a la velocidad de datos de
entrada . Las frecuencias en la mitad inferior del espectro de audio se transportan en una secuencia de
muestra, y las frecuencias en la mitad superior del espectro se transportan en la otra. Mientras que la
salida de frecuencia más baja es una representación de la forma de onda de entrada limitada en la
banda PCM, la salida de frecuencia superior no lo es. Un momento de reflexión revelará que no podría
ser así porque la frecuencia de muestreo no es lo suficientemente alta. De hecho, la mitad superior del
espectro de entrada ha sido heterodinada a la misma banda de frecuencia que la mitad inferior por el
uso inteligente de aliasing. La forma de onda es irreconocible, pero cuando se heterodice de nuevo a
su lugar correcto en el espectro en un paso inverso, la forma de onda correcta resultará una vez más.

La teoría de muestreo establece que la frecuencia de muestreo necesaria debe ser al menos el doble del
ancho de banda en la señal a muestrear. Si la señal tiene una banda limitada, la frecuencia de muestreo
solo necesita ser más del doble del ancho de banda de la señal, no la frecuencia de la señal . Las
señales disminuidas de este tipo pueden reconstruirse mediante un filtro de reconstrucción o síntesis
que tenga una respuesta de paso de banda en lugar de una respuesta de paso bajo. Como solo se
pueden emitir señales dentro de la banda de paso, de la Figura 5.14 está claro quela forma de onda que
resultará es la original ya que la forma de onda con alias intermedia se encuentra fuera de la banda de
paso.

Figura 5.14 La corriente de muestra que se muestra representaría normalmente la forma de onda que
se muestra en (a), pero si se sabe que la señal original podría existir solo entre dos frecuencias,
entonces la forma de onda en (b) debe ser la correcta. Un filtro de reconstrucción de paso de banda
adecuado, o filtro de síntesis, producirá la forma de onda en (b).

Un QMF inverso recombinará las bandas en la señal de banda ancha original. Es una característica de
un par QMF / QMF inverso que cualquier energía cerca del borde de la banda que aparece en ambas
bandas debido a una selectividad inadecuada en el filtrado reaparece a la frecuencia correcta en el
proceso de filtrado inverso siempre que haya una cuantificación uniforme en todos los sub -bandas. En
los codificadores prácticos, este criterio no se cumple, pero los artefactos residuales son lo
suficientemente pequeños como para ser enmascarados.

La banda de audio se puede dividir en tantas bandas como sea necesario en cascada QMF en un árbol.
Sin embargo, cada etapa solo puede dividir el espectro de entrada a la mitad. En algunos
codificadores, ciertas subbandas habrán pasado por una etapa de división más que otras y tendrán la
mitad de su ancho de banda.16 Se requiere un retraso en los datos de subbanda más amplios para la
alineación de tiempo.

Figura 5.15 Una tabla de funciones básicas para un DCT de ocho puntos. Si estas formas de onda se
suman en varias proporciones, se puede reconstruir cualquier forma de onda original. En la práctica,
estas formas de onda se almacenan como muestras, pero después de la reconstrucción al dominio
analógico aparecerían como se muestra aquí.
5.10 Transformar codificación
Muchos codificadores de transformación usan la transformada discreta del coseno descrita en la
sección 3.14. El DCT funciona en bloques de muestras con ventanas. Para simplificar, el siguiente
ejemplo usa un bloque muy pequeño de solo ocho muestras, mientras que un codificador real podría
usar varios cientos.

La figura 5.15 muestra la tabla de funciones básicas o tabla de ondas para un DCT de ocho puntos.
Agregar estas formas de onda bidimensionales juntas en diferentes proporciones dará cualquier
combinación de las ocho muestras de audio PCM originales. Los coeficientes de DCT simplemente
controlan la proporción de cada onda que se agrega en la transformación inversa. La onda superior
izquierda no tiene modulación en absoluto porque transporta el componente de CC del bloque. El
aumento del coeficiente DC agrega una cantidad constante a cada muestra en el bloque.

Moviéndose a la derecha, los coeficientes representan frecuencias crecientes. Todos estos coeficientes
son bipolares, donde la polaridad indica si se invirtió la forma de onda original a esa frecuencia.

La figura 5.16 muestra un ejemplo de una transformación inversa. El coeficiente DC produce un nivel
constante en todo el bloque de muestra. Las ondas restantes en la tabla son coeficientes AC. Un
coeficiente cero no resultaría en modulación, dejando el nivel de CC sin cambios. La onda al lado del
componente DC representa la frecuencia más baja en la transformación, que es medio ciclo por
bloque. Un coeficiente positivo aumentaría el voltaje de la señal en el lado izquierdo del bloque
mientras lo reduce a la derecha, mientras que un coeficiente negativo haría lo contrario. La magnitud
del coeficiente determina la amplitud de la onda que se agrega. La figura 5.16 también muestra que la
siguiente onda tiene una frecuencia de un ciclo por bloque, es decir, la forma de onda se hace más
positiva en ambos lados y más negativa en el medio.

En consecuencia, un DCT inverso no es más que un proceso de mezclar varias formas de onda de la
tabla de ondas donde las amplitudes relativas y la polaridad de estos patrones están controladas por los
coeficientes. La transformación original es simplementeUn mecanismo que encuentra las amplitudes
de los coeficientes del bloque de muestra PCM original.

Figura 5.16 Un ejemplo de DCT inversa. Los coeficientes determinan las amplitudes de las ondas de
la tabla de la figura 5.15 que se suman. Tenga en cuenta que el coeficiente 3 es negativo, por lo que la
onda se invierte.

El DCT en sí mismo no logra compresión alguna. El número de coeficientes que se emiten siempre es
igual al número de muestras de audio en el bloque. Sin embargo, en el material de programa típico, no
todos los coeficientes tendrán valores significativos; a menudo habrá algunos coeficientes dominantes.
Los coeficientes que representan las frecuencias más altas a menudo serán cero o de poco valor,
debido a la distribución de energía típica del audio.

La ganancia de codificación (el término técnico para la reducción en el número de bits necesarios) se
logra transmitiendo los coeficientes de bajo valor con longitudes de palabra más cortas. Los
coeficientes de valor cero no necesitan transmitirse en absoluto. Por lo tanto, no es el DCT el que
comprime el audio, es el procesamiento posterior. El DCT simplemente expresa las muestras de audio
en una forma que facilita el procesamiento posterior.
Los factores de compresión más altos requieren que la longitud de palabra del coeficiente se reduzca
aún más mediante la recalificación. Los coeficientes se dividen por algún factor que aumenta el
tamaño del paso de cuantificación. El menor número de pasos que resulta permite la codificación con
menos bits, pero, por supuesto, con un mayor error de cuantificación. Los coeficientes se multiplicarán
por un factor recíproco en el decodificador para volver a la magnitud correcta.

También se puede identificar redundancia adicional en los coeficientes de transformación. Esto se


puede hacer de varias maneras. Dentro de un bloque de transformación, los coeficientes pueden
transmitirse utilizando una codificación diferencial, de modo que el primer coeficiente se envía en
forma absoluta, mientras que el resto se transmite como diferencias con respecto al anterior. Algunos
codificadores intentan predecir el valor de un coeficiente dado usando el valor del mismo coeficiente
en los dos bloques anteriores. La predicción se resta del valor real para producir un error de predicción
o residual que se transmite al decodificador. Otra posibilidad es usar la predicción dentro del bloque de
transformación. El predictor escanea los coeficientes de, digamos, el extremo de baja frecuencia hacia
arriba e intenta predecir el valor del siguiente coeficiente en la exploración a partir de los valores de
los coeficientes anteriores. De nuevo se transmite un residuo.

La predicción entre bloques funciona bien para material estacionario, mientras que la predicción entre
bloques funciona bien para material transitorio. Un codificador inteligente puede seleccionar una
técnica de predicción usando la entropía de entrada de la misma manera que selecciona el tamaño de la
ventana.

La transformación inversa de un coeficiente requerido significa que la frecuencia que representa se


reproduce en la salida con la amplitud incorrecta. La diferencia entre la amplitud original y la
reconstruida se considera un ruido agregado a los datos deseados. La audibilidad de dicho ruido
depende del grado de enmascaramiento que prevalezca.

5.11 Formatos de compresión


Existen numerosos formatos destinados a la compresión de audio y estos se pueden dividir en
estándares internacionales y diseños patentados.

La ISO (Organización Internacional de Normalización) y la IEC (Comisión Electrotécnica


Internacional) reconocieron que la compresión tendría un papel importante y en 1988 establecieron el
ISO / IEC / MPEG (Grupo de Expertos en Imágenes en Movimiento) para comparar y evaluar varios
esquemas de codificación en orden para llegar a un estándar internacional para comprimir video. Los
términos de referencia se extendieron el mismo año para incluir audio y se formó el grupo MPEG /
Audio.
La codificación de audio MPEG se utiliza para DAB (transmisión de audio digital) y para el contenido
de audio de las transmisiones de televisión digital según el estándar DVB.

En los EE. UU., Se ha propuesto utilizar una técnica de compresión alternativa para el contenido de
audio de las transmisiones de televisión digital ATSC (comité de sistemas avanzados de televisión).
Este es el sistema AC-317 desarrollado por Dolby Laboratories. La estructura de flujo de transporte
MPEG también se ha estandarizado para permitirle transportar audio codificado con AC-3. El disco de
video digital (DVD) también puede transportar codificación de audio AC-3 o MPEG. Otros códigos
propietarios populares incluyen apt-X, que es un códec de factor de compresión leve / retardo corto y
ATRAC, que es el códec utilizado en MiniDisc.

5.12 MPEG Capa I


La figura 5.17 muestra un diagrama de bloques de un codificador de capa I que es una versión
simplificada de la utilizada en el sistema MUSICAM. Un filtro polifásico divide el espectro de audio
en 32 subbandas iguales. La salida del banco de filtros es críticamentemuestreado En otras palabras, la
velocidad de datos de salida no es más alta que la velocidad de entrada porque cada banda ha sido
heterodinada a un rango de frecuencia desde cero hacia arriba.

Figura 5.17 Un codificador de sub-banda simple. La asignación de bits puede provenir del análisis de
la energía de la subbanda o, para una mayor reducción, de un análisis espectral en una cadena lateral.
La compresión de subbandas aprovecha el hecho de que los sonidos reales no tienen energía espectral
uniforme. La longitud de palabra del audio PCM se basa en el rango dinámico requerido y esto
generalmente es constante con la frecuencia, aunque cualquier énfasis previo afectará la situación.
Cuando una señal con un espectro desigual es transmitida por PCM, todo el rango dinámico está
ocupado solo por el componente espectral más ruidoso, y todos los demás componentes están
codificados con un espacio libre excesivo. En su forma más simple, la codificación de subbandas
funciona dividiendo la señal de audio en varias bandas de frecuencia y comparando cada banda de
acuerdo con su propio nivel. Las bandas en las que hay poca energía dan como resultado pequeñas
amplitudes que pueden transmitirse con una longitud de palabra corta. Por lo tanto, cada banda da
como resultado muestras de longitud variable,
Se puede hacer un codificador compatible con la capa I, es decir, uno cuya salida pueda ser entendida
por un decodificador estándar, que no haga más que esto. Siempre que la sintaxis del flujo de bits sea
correcta, el decodificador no se preocupa por cómo se tomaron las decisiones de codificación. Sin
embargo, los factores de compresión más altos requieren que se aumente el nivel de distorsión y esto
solo debe hacerse si se sabe que los productos de distorsión estarán enmascarados. Idealmente, las
subbandas deberían ser más estrechas que las bandas críticas del oído. Figura 5.13mostró la condición
crítica donde el tono de enmascaramiento está en el borde superior de la sub-banda. Sin embargo, el
uso de un número excesivo de sub-bandas aumentará la complejidad y el retraso de codificación. El
uso de 32 sub-bandas iguales en MPEG Layers I y II es un compromiso. Los filtros de división de
bandas polifásicos eficientes solo pueden funcionar con subbandas de igual ancho y el resultado, en un
modelo de audición basado en octavas, es que las subbandas son demasiado anchas en frecuencias
bajas y demasiado estrechas en frecuencias altas.

Para compensar la falta de precisión en el filtro de subbandas, se utiliza una transformada de Fourier
rápida paralela para conducir el modelo de enmascaramiento. El estándar sugiere modelos de
enmascaramiento, pero los flujos de bits compatibles pueden resultar de otros modelos. En la capa I se
usa una FFT de 512 puntos. La salida de la FFT se utiliza para determinar el umbral de
enmascaramiento, que es la suma de todas las fuentes de enmascaramiento. Las fuentes de
enmascaramiento incluyen al menos el umbral de audición que puede aumentar localmente por el
contenido de frecuencia del audio de entrada. El grado en que se eleva el umbral depende de si el
audio de entrada es sinusoidal o atonal (banda ancha o ruido).

En el caso de una onda sinusoidal, la magnitud y la fase de la FFT en cada frecuencia serán similares
de una ventana a la siguiente, mientras que si el sonido es atonal, la información de magnitud y fase
será caótica.

El umbral de enmascaramiento es efectivamente un gráfico de ruido notable en función de la


frecuencia. La figura 5.18 (a) muestra un ejemplo. El umbral de enmascaramiento se calcula
convolucionando el espectro FFT con la función de propagación de la cóclea (ver sección 2.5) con
correcciones de tonalidad. El nivel del umbral de enmascaramiento no puede caer por debajo del
umbral de enmascaramiento absoluto, que es el umbral de la audición.

El umbral de enmascaramiento se superpone a las frecuencias reales de cada subbanda para que se
pueda establecer el nivel de distorsión permitido en cada una. Esto se muestra en la Figura 5.18 (b).

Se utilizan bloques de entrada de tamaño constante, que contienen 384 muestras. A 48 kHz, 384
muestras corresponden a un período de 8 ms. Después del filtro de subbandas cada bandaContiene 12
muestras por bloque. El tamaño del bloque es demasiado largo para evitar el fenómeno de
preenmascaramiento de la figura 5.11 . En consecuencia, el modelo de enmascaramiento debe
garantizar que no se utilice una gran cantidad de recuantificación en un bloque que contenga un
transitorio grande después de un período de silencio. Esto se puede hacer comparando los parámetros
del bloque actual con los del bloque anterior, ya que una diferencia significativa indicará actividad
transitoria.

Figura 5.18 El modelo de enmascaramiento calcula una curva continua (a) del nivel de ruido apenas
perceptible. Los niveles de ruido en cada sub-banda (b) deben establecerse para que no excedan el
nivel de la curva.

Las muestras en cada bloque de subbandas o contenedor se acompañan de acuerdo con el valor
máximo en el contenedor. Se utiliza un factor de escala de seis bits para cada subbanda que se aplica a
las 12 muestras. El paso de ganancia es de 2 dB y, por lo tanto, con un código de seis bits de más de
120 dB de rango dinámico está disponible.

Se emplea una velocidad de bits de salida fija, y como no hay almacenamiento en búfer, el tamaño del
bloque de salida codificado será fijo. Las longitudes de palabra en cada bin deberán ser tales que la
suma de los bits de todas las sub-bandas sea igual al tamaño del bloque codificado. Por lo tanto,
algunas subbandas pueden tener codificación de longitud de palabra larga si otras tienen codificación
de longitud de palabra corta. El proceso de determinar el tamaño del paso de recuantificación y, por lo
tanto, la longitud de palabra en cada subbanda, se conoce como asignación de bits. En la capa I, todas
las subbandas se tratan de la misma manera y se utilizan catorce clases de recuantificación diferentes.
Cada uno tiene un número impar de intervalos de cuantificación, de modo que todos los códigos están
referenciados a un nivel cero preciso.
Cuando se produce el enmascaramiento, la señal se cuantifica de manera más gruesa hasta que el nivel
de distorsión se eleva a justo debajo del nivel de enmascaramiento. La cuantificación aproximada
requiere longitudes de palabra más cortas y permite una ganancia de codificación. La asignación de
bits puede ser iterativa a medida que se realizan ajustes para obtener una RMN igual en todas las
subbandas. Si la velocidad de datos permitida es adecuada, se obtendrá una RMN positiva y la calidad
decodificada será óptima. Sin embargo, a velocidades de bits más bajas y en ausencia de
almacenamiento en búfer, no es posible un aumento temporal de la velocidad de bits. La distorsión de
codificación no se puede enmascarar y lo mejor que puede hacer el codificador es hacer que la RMN
(negativa) sea igual en todo el espectro para que los artefactos no se enfaticen indebidamente en
ninguna sub-banda. Es posible que en algunas sub-bandas no haya datos,

Las muestras de diferentes longitudes de palabra en cada contenedor se ensamblan en el bloque


codificado de salida. A diferencia de un bloque PCM, que contiene muestras de fijoslongitud de
palabra, un bloque codificado contiene muchas longitudes de palabra diferentes que pueden variar de
una subbanda a la siguiente. Para deserializar el bloque en muestras de varias longitudes de palabra y
demultiplexar las muestras en los contenedores de frecuencia apropiados, se le debe decir al
decodificador qué asignaciones de bits se usaron cuando se empaquetó, y se necesitan algunos medios
de sincronización para permitir el comienzo del bloque ser identificado.

El factor de compresión está determinado por el sistema de asignación de bits. Es trivial cambiar el
parámetro de tamaño del bloque de salida para obtener un factor de compresión diferente. Si se
especifica un bloque más grande, el asignador de bits simplemente itera hasta que se llena el nuevo
tamaño de bloque. Del mismo modo, el decodificador solo necesita deserializar el bloque más grande
correctamente en muestras codificadas y luego el proceso de expansión es idéntico, excepto por el
hecho de que las palabras expandidas contienen menos ruido. Por lo tanto, los códecs con diversos
grados de compresión están disponibles y pueden realizar diferentes tareas de ancho de banda /
rendimiento con el mismo hardware.

La figura 5.19 (a) muestra el formato del flujo elemental de capa I. El cuadro comienza con un patrón
de sincronización para restablecer la fase de deserialización y un encabezado que describe la
frecuencia de muestreo y cualquier uso de pre-énfasis. Después de esto hay un bloque de 32 códigos
de asignación de cuatro bits. Estos especifican la longitud de palabra utilizada en cada subbanda y
permiten que el decodificador deserialice el bloque de muestra de subbanda. Esto es seguido por un
bloque de 32 índices de factor de escala de seis bits, que especifican la ganancia dada a cada banda
durante la comparación. El último bloque contiene 32 conjuntos de 12 muestras. Estas muestras varían
en longitud de palabra de un bloque al siguiente, y pueden tener de 0 a 15 bits de longitud. El
deserializador tiene que usar los 32 códigos de información de asignación para determinar cómo
deserializar el bloque de muestra en muestras individuales de longitud variable.

Figura 5.19 (a) El marco de datos MPEG Layer I tiene una estructura simple. (b) En el marco de la
capa II, la compresión de los factores de escala requiere el código SCFSI adicional descrito en el texto.

El decodificador MPEG de capa I se muestra en la figura 5.20 . El flujo elemental se deserializa


utilizando el patrón de sincronización y las muestras de longitud variable se ensamblan utilizando los
códigos de asignación. Las muestras de longitud variable se devuelven a una longitud de palabra de
quince bits agregando ceros. Los índices de factor de escala se utilizan para determinar los factores de
multiplicación utilizados para devolver la forma de onda en cada sub-banda a su amplitud original.
Las 32 señales de subbandas se fusionan en un espectro por el filtro de síntesis. Este es un conjunto de
filtros de paso de banda queheterodinas cada subbanda al lugar correcto en el espectro de audio y
luego las agrega para producir la salida de audio.

Figura 5.20 El decodificador Layer I. Ver texto para más detalles.


5.13 MPEG Layer II
La codificación de audio MPEG Layer II es idéntica a MUSICAM. Se utiliza el mismo banco de
filtros de 32 bandas y el mismo esquema de comparación de bloques que la capa I. Para dar al modelo
de máscara una mejor resolución espectral, la FFT de cadena lateral tiene 1024 puntos. El FFT maneja
el modelo de enmascaramiento que puede ser el mismo que se sugiere para la Capa I. La longitud del
bloque se incrementa a 1152 muestras. Esto es tres veces la longitud del bloque de la capa I,
correspondiente a 24 ms a 48 kHz.

La figura 5.19 (b) muestra la estructura de flujo elemental de capa II. Siguiendo el patrón de
sincronización, se envían los datos de asignación de bits. El proceso de recuantificación de la capa II
es más complejo que en la capa I. Las subbandas se clasifican en tres rangos de frecuencia, baja,
media y alta, y la recuantificación en cada rango es diferente. Las muestras de baja frecuencia se
pueden cuantificar en 15 longitudes de palabra diferentes, frecuencias medias en siete longitudes de
palabra diferentes y frecuencias altas en solo tres longitudes de palabra diferentes. En consecuencia,
los datos de asignación de bits usan palabras de cuatro, tres y dos bits, dependiendo de la sub-banda en
cuestión. Esto reduce la cantidad de datos de asignación que se enviarán. En cada caso, existe una
combinación adicional en el código de asignación. Esto se utiliza para indicar que no se están
enviando datos para esa sub-banda.

El bloque de 1152 muestras de la capa II se divide en tres bloques de 384 muestras para que se pueda
utilizar la misma estructura de comparación que la capa I. Se retiene el tamaño de paso de 2 dB en los
factores de escala. Sin embargo, no todos los factores de escala se transmiten porque contienen un
grado de redundancia. En material de programa real, la diferencia entre factores de escala en bloques
sucesivos en la misma banda excede2dB menos del 10 por ciento del tiempo. Los codificadores de
capa II analizan el conjunto de tres factores de escala sucesivos en cada subbanda. En el programa
estacionario, estos serán los mismos y solo se envía un factor de escala de tres. A medida que el
contenido transitorio aumenta en una sub-banda dada, se enviarán dos o tres factores de escala. Se
debe enviar un código de dos bits conocido como SCFSI (información de selección del factor de
escala) para permitir que el decodificador determine cuál de los tres posibles factores de escala se han
enviado para cada subbanda. Esta técnica reduce a la mitad la tasa de bits del factor de escala.

En cuanto a la capa I, el proceso de recuantificación siempre usa un número impar de pasos para
permitir un verdadero paso de centro cero. En códigos de longitud de palabra larga, esto no es un
problema, pero cuando se usan tres, cinco o nueve intervalos de cuantificación, el binario es
ineficiente porque no se usan algunas combinaciones. Por ejemplo, cinco intervalos necesitan un
código de tres bits que tenga ocho combinaciones dejando tres sin usar.

La solución es que cuando se utiliza la codificación de tres, cinco o nueve niveles en una subbanda,
los conjuntos de tres muestras se codifican en un gránulo . La figura 5.21 muestra cómo funcionan los
gránulos. Continuando con el ejemplo de cinco intervalos de cuantificación, cada muestra podría tener
cinco valores diferentes, por lo tanto, todas las combinaciones de tres muestras podrían tener 125
valores diferentes. Como se pueden enviar 128 valores con un código de siete bits, se verá que esto es
más eficiente que codificar las muestras por separado, ya que tres códigos de cinco niveles
necesitarían nueve bits. Las tres muestras requeridas se utilizan para abordar una tabla de búsqueda
que genera el código granulado. El decodificador puede establecer que se ha utilizado la codificación
granular al examinar los datos de asignación de bits.

Figura 5.21 Los códigos que tienen rangos menores que una potencia de dos son ineficientes. Aquí,
tres códigos con un rango de cinco valores que normalmente necesitarían 3 × 3 bits se pueden
transportar en una sola palabra de ocho bits.
Las muestras / gránulos requeridos en cada subbanda, los datos de asignación de bits, los factores de
escala y los códigos de selección del factor de escala se multiplexan en el flujo de bits de salida.

El decodificador de capa II se muestra en la figura 5.22 . Esto no es mucho más complejo que el
decodificador de capa I. La demultiplexación separará los datos de muestra de la información lateral.
Los datos de asignación de bits especificarán la longitud de palabra o el tamaño de gránulo utilizado
para que el bloque de muestra se pueda deserializar y decodificar los gránulos. La información de
selección del factor de escala se utilizará para decodificar elfactores de escala comprimidos para
producir un factor de escala por bloque de 384 muestras. La cuantificación inversa y el filtrado inverso
de subbandas tienen lugar como en la capa I.

Figura 5.22 Un decodificador de capa II es ligeramente más complejo que el decodificador de capa I
debido a la necesidad de decodificar gránulos y factores de escala.
5.14 MPEG Capa III
La capa III es la capa más compleja y solo es realmente necesaria cuando se deben cumplir las
restricciones de velocidad de datos más severas. También se conoce como MP3 en su aplicación de
entrega de música a través de Internet. Es un código de transformación basado en el sistema ASPEC
con ciertas modificaciones para dar un grado de coincidencia con la capa II. El codificador ASPEC
original utilizó un MDCT directo en las muestras de entrada. En la capa III, esto se modificó para usar
una transformación híbrida que incorpora el QMF polifásico de 32 bandas existente de las capas I y II
y retiene el tamaño de bloque de 1152 muestras. En la capa III, las 32 subbandas del QMF son
procesadas adicionalmente por un MDCT críticamente muestreado.

Las ventanas se superponen de dos en uno. Se utilizan dos tamaños de ventana para reducir el preecho
en transitorios. La ventana larga funciona con 36 muestras de subbandas correspondientes a 24 ms a
48 kHz y resuelve 18 frecuencias diferentes, haciendo 576 frecuencias en total. Los productos de
codificación se extienden durante este período, lo cual es aceptable en material estacionario pero no en
la vecindad de transitorios. En este caso, la longitud de la ventana se reduce a 8 ms. Doce muestras de
subbandas se resuelven en seis frecuencias diferentes, haciendo un total de 192 frecuencias. Esta es la
desigualdad de Heisenberg: al aumentar la resolución de tiempo en un factor de tres, la resolución de
frecuencia ha disminuido en el mismo factor.

La figura 5.23 muestra los tipos de ventanas disponibles. Además de las ventanas simétricas largas y
cortas, hay un par de ventanas de transición, conocidas como ventanas de inicio y parada, que
permiten una transición suave entre los dos tamaños de ventana. Para utilizar el muestreo crítico, los
TCMD deben resolverse en un conjunto de frecuencias que es un múltiplo de cuatro. Cambiar entre
576 y 192 frecuencias permite cumplir este criterio. Tenga en cuenta que una ventana de 8 ms todavía
es demasiado larga para eliminar el eco previo. Pre-echo se elimina mediante el almacenamiento en
búfer. El uso de una ventana corta minimiza el tamaño del búfer necesario.

La capa III proporciona un modelo picoacústico sugerido (pero no obligatorio) que es más complejo
que el sugerido para las capas I y II, principalmente debido a la necesidad de cambiar de ventana. El
pre-eco está asociado con la entropía en elel audio se eleva por encima del valor promedio y esto se
puede usar para cambiar el tamaño de la ventana. El modelo perceptivo se utiliza para aprovechar la
resolución de alta frecuencia disponible de la DCT que permite que el ruido de fondo se forme con
mucha más precisión que con las 32 sub-bandas de las capas I y II. Aunque el MDCT tiene una
resolución de alta frecuencia, no transporta la fase de la forma de onda en una forma identificable y,
por lo tanto, no es útil para discriminar entre entradas tonales y atonales. Como resultado, todavía se
requiere un FFT lateral que proporcione datos de amplitud y fase convencionales para conducir el
modelo de enmascaramiento.

Figura 5.23 Las funciones de ventana de la codificación de Capa III. En (a) es la ventana larga
normal, mientras que (b) muestra la ventana corta utilizada para manejar transitorios. Cambiar entre
tamaños de ventana requiere ventanas de transición (c) y (d). Un ejemplo de cambio usando ventanas
de transición se muestra en (e).
Se utiliza la cuantificación no uniforme, en la que el tamaño del paso de cuantificación se hace mayor
a medida que aumenta la magnitud del coeficiente. Los coeficientes cuantificados están sujetos a la
codificación de Huffman. Esta es una técnica donde los valores de código más comunes se asignan a la
longitud de palabra más corta. La capa III también tiene una cierta cantidad de memoria intermedia
para que se pueda evitar el pre-eco durante los picos de entropía a pesar de una velocidad de bits de
salida constante.

La figura 5.24 muestra un codificador de capa III. La salida del filtro de subbandas es de 32 flujos de
muestra continuos con limitación de banda. Estos están sujetos a 32 TCMD paralelas. El tamaño de la
ventana se puede cambiar individualmente en cada subbanda según lo requieran las características del
audio de entrada. El FFT paralelo impulsa el modelo de enmascaramiento que decide los tamaños de
las ventanas y produce el umbral de enmascaramiento para el cuantificador de coeficientes. El bucle
de control de distorsión itera hasta que se alcanza la capacidad de datos de salida disponible con la
RMN más uniforme.

La capacidad de salida disponible puede variar debido a la presencia del búfer. La figura 5.25 muestra
que la ocupación del buffer se retroalimenta al cuantificador. Durante el material de programa
estacionario, el contenido del tampón se reduce deliberadamente mediante un ligero engrosamiento de
la cuantificación. El búfer se vacía porque la tasa de salida es fija pero la tasa de entrada se ha
reducido. Cuando llega un transitorio, los grandes coeficientes que resultan se pueden manejar
llenando el búfer, evitando elevar la tasa de bits de salida y evitando el pre-eco que resultaría si los
coeficientes se cuantificaran fuertemente.

Figura 5.24 El codificador de capa III. Tenga en cuenta la conexión entre el búfer y el cuantificador
que permite que diferentes cuadros contengan diferentes cantidades de datos.
Figura 5.25 La codificación de velocidad variable de la Capa III. Un transitorio cercano a través de la
señal de entropía perceptiva hace que el codificador cuantifique más fuertemente para vaciar el búfer.
Cuando llega el transitorio, la cuantificación se puede hacer más precisa y el buffer puede aceptar los
datos aumentados.

Para mantener el sincronismo entre el codificador y el decodificador en presencia de almacenamiento


en búfer, los encabezados y la información lateral se envían sincrónicamente a la velocidad de cuadro.
Sin embargo, la posición de los límites entre los bloques de datos principales que transportan los
coeficientes puede variar con respecto a la posición de los encabezados para permitir un tamaño de
trama variable. La figura 5.26 muestra que la trama comienza con un patrón de sincronización único
seguido de la información lateral. La información secundaria contiene un parámetro llamado inicio de
datos principales que especifica dónde comenzaron los datos principales para la trama actual en la
transmisión. Este parámetro permite al decodificador encontrar el bloque de coeficientes en el búfer
del decodificador. Como los encabezados de trama están en ubicaciones fijas, los bloques de datos
principales pueden ser interrumpidos por los encabezados.

5.15 MPEG-2 AAC


Posteriormente, el sistema de estándares MPEG desarrolló un sistema mejorado conocido como
codificación de audio avanzada (AAC) .8,18 Se suponía que era un estándar que ofrecía el
rendimiento más alto posible utilizando herramientas recientemente desarrolladas que no podían
utilizarse en ningún estándar que fuera compatible con versiones anteriores . AAC también formará el
núcleo de la codificación de audio de MPEG-4.
Figura 5.26 En la capa III, la velocidad de cuadros lógica es constante y se transmite por patrones de
sincronización igualmente espaciados. Los bloques de datos no necesitan coincidir con la
sincronización. Un puntero después de cada patrón de sincronización especifica dónde comienza el
bloque de datos. En este ejemplo, el bloque 2 es más pequeño, mientras que 1 y 3 se han ampliado.

AAC admite hasta 48 canales de audio con soporte predeterminado de audio monofónico, estéreo y
5.1 canales (3/2). El concepto AAC se basa en una serie de herramientas de codificación conocidas
como módulos que se pueden combinar de diferentes maneras para producir flujos de bits en tres
perfiles diferentes.

El perfil principal requiere el codificador más complejo que hace uso de todas las herramientas de
codificación. El perfil de baja complejidad (LC) omite ciertas herramientas y restringe el poder de
otras para reducir los requisitos de procesamiento y memoria. Las herramientas restantes en la
codificación del perfil LC son idénticas a las del perfil principal de modo que un decodificador de
perfil principal puede decodificar flujos de bits de perfil LC.

El perfil de frecuencia de muestreo escalable (SSR) divide el audio de entrada en cuatro bandas de
frecuencia iguales, cada una de las cuales da como resultado un flujo de bits autónomo. Un
decodificador simple puede decodificar solo uno, dos o tres de estos flujos de bits para producir una
salida de ancho de banda reducida. No todas las herramientas AAC están disponibles para el perfil
SSR.

La mayor complejidad de AAC permite la introducción de herramientas de codificación sin pérdidas.


Permiten una tasa de bits más baja para la misma calidad o una calidad mejorada a una tasa de bits
dada donde se reduce la dependencia de la codificación con pérdidas. Se presta mayor atención a la
interacción entre el dominio del tiempo y la precisión del dominio de la frecuencia en el sistema
auditivo humano.

La figura 5.27 muestra un diagrama de bloques de un codificador de perfil principal AAC. La ruta de
la señal de audio es recta a través del centro. El formateador ensambla los datos de la cadena lateral
junto con los datos de audio codificados para producir un flujo de bits compatible. La señal de entrada
pasa al banco de filtros y al modelo perceptual en paralelo.

El banco de filtros consiste en un MDCT superpuesto de muestra crítica del 50 por ciento que se
puede cambiar entre longitudes de bloque de 2048 y 256 muestras. A 48 kHz, el filtro permite
resoluciones de 23 Hz y 21 ms o 187 Hz y 2.6 ms. Como AAC es un sistema de codificación
multicanal, la conmutación de longitud de bloque no se puede hacer indiscriminadamente, ya que esto
provocaría la pérdida de la fase de bloqueo entre canales. En consecuencia, si se seleccionan bloques
cortos, el codificador permanecerá en modo de bloque corto para múltiplos enteros de ocho bloques.
Esto se ilustra en la Figura 5.28 que también muestra el uso de ventanas de transición entre los
tamaños de bloque como se hizo en la Capa III.

Figura 5.27 El codificador AAC. El flujo de señal es de izquierda a derecha, mientras que el flujo de
datos de la cadena lateral es vertical.

Figura 5.28 En AAC, los bloques cortos deben usarse en múltiplos de 8 para que la fase de bloque
larga no se vea afectada. Esto mantiene el sincronismo de bloque en sistemas multicanal.
La forma de la función de ventana interfiere con la selectividad de frecuencia de la MDCT. En AAC
es posible seleccionar una ventana sinusoidal o una ventana derivada de Kaiser-Bessel (KBD) en
función del espectro de audio de entrada. Las diferentes ventanas de filtro permiten diferentes
compromisos entre el ancho de banda y la velocidad de caída. La ventana KBD se despliega más
tarde, pero es más pronunciada y, por lo tanto, ofrece un mejor rechazo de frecuencias separadas más
de 200 Hz, mientras que la ventana sinusoidal se despliega antes pero de manera menos pronunciada y,
por lo tanto, ofrece un mejor rechazo de frecuencias inferiores a 70 Hz.

Siguiendo el banco de filtros está el módulo de codificación predictiva intrabloque. Cuando está
habilitado, este módulo encuentra redundancia entre los coeficientes dentro de un bloque de
transformación. En el Capítulo 3 se introdujo el concepto de dualidad de transformación, en el que
cierta característica en el dominio de la frecuencia iría acompañada de una característica dual en el
dominio del tiempo y viceversa. La figura 5.29 muestra que en el dominio del tiempo, la codificación
predictiva funciona bien en señales estacionarias pero fallaen transitorios. El doble de esta
característica es que en el dominio de la frecuencia, la codificación predictiva funciona bien en
transitorios pero falla en señales estacionarias.

La figura 5.29 La dualidad de transformación sugiere que la previsibilidad también tendrá una
característica dual. Un predictor de tiempo no anticipará el transitorio en (a), mientras que el amplio
espectro de señal (a), que se muestra en (b), será fácil para un predictor que avance por el eje de
frecuencia. En contraste, la señal estacionaria (c) es fácil para un predictor de tiempo, mientras que en
el espectro de (c) que se muestra en (d) el pico espectral no se predecirá.
Igualmente, un codificador predictivo que trabaja en el dominio del tiempo produce un espectro de
error que está relacionado con el espectro de entrada. El doble de esta característica es que un
codificador predictivo que trabaja en el dominio de la frecuencia produce un error de predicción que
está relacionado con la señal de entrada en el dominio del tiempo.

Esto explica el uso del término conformación de ruido temporal (TNS) usado en los documentos
AAC.19 Cuando se usa durante transitorios, el módulo TNS produce una distorsión que está alineada
en el tiempo con la entrada de manera que se evita el pre-eco. El uso de TNS también permite que el
codificador use bloques más largos la mayor parte del tiempo. Este módulo es responsable de una
cantidad significativa del mayor rendimiento de AAC.

La figura 5.30 muestra que los coeficientes en el bloque de transformación son serializados por un
conmutador. Esto puede ejecutarse desde la frecuencia más baja hasta la más alta o en reversa. El
método de predicción es una estructura de predicción directa convencional en la que el resultado de
filtrar varios coeficientes anteriores (20 en el perfil principal) se usa para predecir el actual. La
predicción se resta del valor real para producir un error de predicción o residual que se transmite. En el
decodificador, un predictor idéntico produce la misma predicción a partir de valores de coeficientes
anteriores y el error en esto se cancela al agregar el residual.

Después de la predicción intrabloque, se encuentra un módulo opcional conocido como la etapa de


intensidad / acoplamiento. Esto se utiliza para velocidades de bits muy bajas donde la información
espacial en formatos estéreo y envolvente se descarta para mantener bajo el nivel de distorsión.
Efectivamente sobre al menos parte del espectro, se transmite una señal mono junto con códigos de
amplitud que permiten que la señal se panoramice en el dominio espacial en el decodificador.

La siguiente etapa es el módulo de predicción entre bloques. Mientras que el predictor intrabloque es
más útil en transitorios, el módulo predictor entre bloques explora la redundancia entre bloques
sucesivos en señales estacionarias.20 Esta predicción solo opera en coeficientes por debajo de 16 kHz.
Para cada coeficiente DCT en un bloque dado, el predictor usa los coeficientes cuantificados de las
mismas ubicaciones en dos bloques anteriores para estimar el valor presente. Como antes, la
predicción se resta para producir un residuo que se transmite. Tenga en cuenta que el uso de
coeficientes cuantificados para impulsar el predictor es necesario porque esto es lo que tendrá que
hacer el decodificador.

Figura 5.30 La predicción a lo largo del eje de frecuencia se realiza ejecutando los coeficientes en un
bloque e intentando predecir el valor del coeficiente actual a partir de los valores de algunos
anteriores. El error de predicción se transmite.

El predictor es adaptativo y calcula sus propios coeficientes a partir del historial de la señal. El
decodificador usa el mismo algoritmo para que los dos predictores siempre sigan. Los predictores
funcionan todo el tiempo si la predicción está habilitada o no para mantener los coeficientes de
predicción adaptados a la señal.

Los coeficientes de audio se asocian en conjuntos conocidos como bandas de factor de escala para
una posterior comparación. Dentro de cada factor de escala, la predicción entre bloques puede
activarse o desactivarse dependiendo de si se obtiene una ganancia de codificación.
El uso prolongado de la predicción hace que el decodificador sea propenso a errores de bits y se
desplace y elimina los puntos de entrada de decodificación del flujo de bits. En consecuencia, el
proceso de predicción se restablece cíclicamente. Los predictores se ensamblan en grupos de 30 y
después de un cierto número de cuadros, se restablece un grupo diferente hasta que se hayan
restablecido todos. Los códigos de reinicio del predictor se transmiten en los datos secundarios. El
reinicio también ocurrirá si se seleccionan cuadros cortos.

En los formatos estéreo y envolvente 3/2, hay menos redundancia porque las señales también
transportan información espacial. El efecto de enmascaramiento puede ser de hasta 20 dB menos
cuando los productos de distorsión están en una ubicación diferente en la imagen estéreo de los
sonidos de enmascaramiento. Como resultado, las señales estéreo requieren una velocidad de bits
mucho más alta que dos canales mono, particularmente en material transitorio que es rico en pistas
espaciales.

En algunos casos, se puede obtener un mejor resultado al convertir la señal a un formato intermedio
(M / S) o suma / diferencia antes de cuantificar. En sonido envolvente, la codificación M / S se puede
aplicar al par frontal L / R y al par posterior de señales L / R. El formato M / S se puede seleccionar
bloque por bloque para cada banda de factor de escala.

Luego viene la etapa de pérdida del codificador donde la distorsión se introduce selectivamente en
función de la frecuencia determinada por el umbral de enmascaramiento. Esto se realiza mediante una
combinación de amplificación y recuantificación. Como se mencionó, los coeficientes (o residuos) se
agrupan en bandas de factor de escala. Como figura 5.31muestra, el número de coeficientes varía para
dividir los coeficientes en bandas críticas aproximadas. Dentro de cada banda de factor de escala,
todos los coeficientes se multiplicarán por el mismo factor de escala antes de volver a cuantificar. Los
coeficientes que se han multiplicado por un factor de gran escala sufrirán menos distorsión por parte
del recantificador, mientras que los que se han multiplicado por un factor de pequeña escala tendrán
más distorsión. Usando factores de escala, el modelo psicoacústico puede dar forma a la distorsión en
función de la frecuencia para que permanezca enmascarada. Los factores de escala permiten el control
de ganancia en pasos de 1.5 dB en un rango dinámico equivalente a PCM de 24 bits y se transmiten
como parte de los datos secundarios para que el decodificador pueda recrear las magnitudes correctas.

Figura 5.31 En AAC, los coeficientes de resolución fina se agrupan para formar bandas de factor de
escala. El tamaño de estos varía para imitar libremente el ancho de las bandas críticas.
Los factores de escala se codifican diferencialmente con respecto al primero en el bloque y las
diferencias se codifican luego con Huffman.

El requantizer utiliza pasos no uniformes que proporcionan una mejor ganancia de codificación y tiene
un rango de ± 8191. El tamaño de paso global (que se aplica a todas las bandas de factor de escala) se
puede ajustar en pasos de 1,5 dB. Después de volver a cuantificar los coeficientes se codifica
Huffman.

Hay muchas formas en que se puede controlar el codificador y cualquiera que resulte en un flujo de
bits compatible es aceptable, aunque es posible que no se alcance el rendimiento más alto. Las etapas
de factorización y factor de escala deberán controlarse para aprovechar al máximo la velocidad de bits
disponible y el almacenamiento en búfer. Esto no es trivial debido al uso de la codificación de
Huffman después de que el recantificador hace imposible predecir la cantidad exacta de datos que
resultarán de un tamaño de paso dado. Esto significa que el proceso debe iterar.

Cualquiera que sea la velocidad de bits seleccionada, un buen codificador producirá una calidad
consistente seleccionando tamaños de ventana, predicción intra o entre cuadros y utilizando el búfer
para manejar los picos de entropía. Esto sugiere una conexión entre la ocupación del búfer y el sistema
de control. El modelo psicoacústico analizará la entropía de audio entrante y durante los períodos de
entropía promedio vaciará el búfer elevando ligeramente el tamaño del paso del cuantificador para que
caiga la velocidad de bits que ingresa al búfer. Al ejecutar el búfer hacia abajo, el codificador puede
soportar temporalmente una velocidad de bits más alta para manejar transitorios o material difícil.

En pocas palabras, el proceso del factor de escala se controla para que el espectro de distorsión tenga
la misma forma que el umbral de enmascaramiento y el tamaño del paso de cuantificación se controla
para hacer que el nivel del espectro de distorsión sea lo más bajo posible dentro de la velocidad de bits
permitida. Si la velocidad de bits permitida es lo suficientemente alta, los productos de distorsión se
enmascararán.

Referencias
ISO / IEC JTC1 / SC29 / WG11 MPEG, Norma internacional ISO 11172–3, Codificación de imágenes
en movimiento y audio asociado para medios de almacenamiento digital de hasta 1.5 Mbits / s, Parte
3: Audio (1992)

Estándar de video MPEG: ISO / IEC 13818–2: Tecnología de la información - codificación genérica
de imágenes en movimiento e información de audio asociada: Video (1996) (también conocido como
Rec. UIT-T H-262) (1996)

Huffman, DA Un método para la construcción de códigos de redundancia mínima. Proc. IRE , 40 ,


1098–1101 (1952)

Grewin, C. y Ryden, T., Evaluaciones subjetivas en códecs de audio de baja velocidad de bits. Proc.
10mo. En t. Ing. Audio Soc. Conf. , 91-102, Nueva York: Audio Engineeringse Society (1991)

Gilchrist, NHC, Sonido digital: la selección de material de programa crítico y la preparación de las
grabaciones para pruebas CCIR en códecs de baja velocidad de bits. Informe del Departamento de
Investigación de la BBC , RD 1993/1
Colomes, C. y Faucon, G., un sistema de medición objetiva perceptiva (POM) para la evaluación de la
calidad de los códecs perceptuales. Presentado en la 96a Convención de la Audio Engineering Society
(Amsterdam, 1994), Preprint No. 3801 (P4.2)

Johnston, J., Estimación de la entropía perceptiva utilizando criterios de enmascaramiento de ruido.


ICASSP , 2524-2527 (1988)

ISO / iec 13818–7, Tecnología de la información - Codificación genérica de imágenes en movimiento


y audio asociado, Parte 7: Codificación de audio avanzada (1997)

Gilchrist, NHC, Retraso en las operaciones de radiodifusión. Presentado en la 90ª Convención de la


Sociedad de Ingeniería de Audio (1991), Preprint 3033

Caine, CR, English, AR y O'Clarey, JWH, NICAM-3: transmisión digital complementaria casi
instantánea para programas de sonido de alta calidad. J. IERE , 50 , 519-530 (1980)

Davidson, GA y Bosi, M., AC-2: codificación de audio de alta calidad para transmisión y
almacenamiento, en Proc. 46th Ann. Broadcast Eng. Conf., Las Vegas , 98-105 (1992)

Crochiere, RE, codificación de sub-banda. Bell System Tech. J. , 60 , 1633–1653 (1981)

Princen, JP, Johnson, A. y Bradley, AB, codificación de subbanda / transformación utilizando diseños
de banco de filtros basados en la cancelación de alias de dominio de tiempo. Proc. ICASSP , 2161–
2164 (1987)

Smyth, SMF y McCanny, JV, Hi-Fi de 4 bits: codificación de música de alta calidad para ISDN y
aplicaciones de transmisión. Proc. ASSP , 2532-2535 (1988)

Jayant, NS y Noll, P., Codificación digital de formas de onda: Principios y aplicaciones para voz y
video , Englewood Cliffs: Prentice Hall (1984)

Theile, G., Stoll, G. y Link, M., Codificación de baja velocidad de bits de señales de audio de alta
calidad: una introducción al sistema MASCAM. EBU Tech. Review , núm. 230, 158-181 (1988)

Davis, MF, el codificador multicanal AC-3. Presentado en la 95ª Convención de la Sociedad de


Ingeniería de Audio, Preprint 2774

Bosi, M. y col. , Codificación de audio avanzada ISO / IEC MPEG-2. JAES , 45, 789–814 (1997)
Herre, J. y Johnston, JD, Mejora del rendimiento de los codificadores de audio perceptivos mediante el
uso de modelado de ruido temporal (TNS). Presentado en la 101ª Convención de la Sociedad de
Ingeniería de Audio, Preprint 4384 (1996)

Fuchs, H., Mejora de la codificación de audio MPEG mediante predicción estéreo lineal adaptativa
hacia atrás. Presentado en la 99.a Convención de la Audio Engineering Society (1995), Preprint 4086

ANTERIOR SIGUIENTE
⏮ ⏭
4. Conversión 6. Principios de codificación digital

También podría gustarte