Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Compresion de Audio PDF
Compresion de Audio PDF
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:
(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.
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 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.
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.
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 .
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.
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.
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.
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.
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.
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.
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.
• 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.
• 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.
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.
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.
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á.
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.
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.
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.
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 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,
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.
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.
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 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.
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)
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)
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)
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)
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