Atrac

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

ATRAC (Adaptive TRansform Acoustic Coding) es un algoritmo de codificación (códec) de audio con pérdidas desarrollado por Sony, basado en principios psicoacústicos, que ofrece distintas tasas de compresión, según la calidad de sonido. Actualmente se utiliza para guardar información de señales de audio, en MiniDisc y otros productos reproductores de audio propietarios de Sony.

Evolución[editar]

La primera versión de este códec, ATRAC-1, se desarrolló en 1992 y conseguía comprimir la información de audio aproximadamente a la quinta parte de la tasa de datos de un CD. Asimismo, esta tecnología no ha dejado de evolucionar y sus versiones más recientes ATRAC3 y ATRAC3plus, que aparecieron en el año 1999 y en 2002, ofrecen compresiones mayores, llegando a codificar el audio al 5 y 10% de la tasa de datos de un CD, respectivamente. El hecho de poder reducir el tamaño de los datos de audio manteniendo una calidad suficientemente buena ha permitido grabar más temas en los diferentes soportes de almacenamiento y reproducción, cambiando la manera como escuchamos música.

EVOLUCIÓN DIFERENTES VERSIONES
PCM ATRAC1 ATRAC3 ATRAC3plus
Bitrate 1411 kbit/s 292 kbit/s 132 kbit/s 64 kbit/s
Tamaño Datos

(canción de 4 minutos)

42,33 MB 8,77 MB 3,97 MB 1,94 MB
Nº de canciones grabadas

en CD-R (700 MB)

16 79 176 360

Tecnología[editar]

ATRAC utiliza codificación perceptual. La codificación perceptual se basa en la psicoacústica y aprovecha las imperfecciones del oído humano para evitar digitalizar los sonidos que una persona difícilmente percibirá.

Como muchos otros códecs —por ejemplo, MP3 o ePAC—, solamente se codifican los sonidos que quedan por encima del umbral de enmascaramiento (sonidos audibles). La mayoría de personas no es capaz de distinguir sonidos que se encuentran a frecuencias próximas de tonos dominantes. Los sonidos enmascarados y difícilmente audibles son descartados en la codificación, permitiendo que se usen menos bits y realizando así la compresión. No obstante, muchos audiófilos notarán la pérdida de estos sonidos enmascarados para la mayoría.

ATRAC1[editar]

ATRAC1 fue el formato usado por Sony en su sistema SDDS en los años noventa. Este sistema multicanal utiliza 8 canales codificados mediante esta codificación, obteniendo un bitrate global (de todos los canales) de 1168 kbit/s. Es por esto, que podríamos decir que es uno de los principales competidores de Dolby Digital (AC-3) y otros sistemas como DTS.

Diagrama de bloques[editar]

Diagrama de bloques del codificador ATRAC

Análisis temporal-espectral[editar]

ATRAC1 divide la señal en tres partes o bandas:

  • 1. Inferior a 5,5 kHz
  • 2. Entre 5,5 y 11 kHz
  • 3. Más de 11 kHz

Cada una de estas tres partes se obtiene a partir de Quadrature Mirror Filters (QMF). La señal de entrada queda dividida en altas y bajas frecuencias por el primero de estos filtros y seguidamente otro QMF divide las bajas frecuencias para obtener las tres bandas anteriormente mencionadas. La utilización de los QMF's asegura que el posible aliasing en dominio temporal, producido por la descomposición en bandas, se cancele durante la reconstrucción. Cada una de estas bandas es analizada y filtrada independientemente, utilizando la transformada directa coseno modificada (MDCT). La MDCT permite una superposición de las ventanas en dominio temporal de hasta un 50%, permitiendo mejorar la resolución en frecuencia, manteniendo el muestreo crítico, de tal forma que no se produzca aliasing. Una vez hecho esto, la señal es analizada de acuerdo con los principios de la psicoacústica. Este análisis indica qué partes de la señal son críticas y deben ser codificadas con gran precisión para no perder información de la señal relevante y cuáles pueden tolerar que se cuantifique ruido sin degradar la señal ni la percepción de la calidad de sonido de este (menos precisión). Basándose con esta información, los bits para la cuantificación disponibles son asignados ponderadamente a las unidades o partes frecuenciales y temporales según su importancia. Los coeficientes espectrales obtenidos en cada unidad son entonces cuantificados de acuerdo con los bits asignados. Posteriormente, en el decodificador, el espectro cuantificado se reconstruye siguiendo la asignación de bits y después se sintetiza en señal de audio. A parte de este proceso, que suelen realizar la gran mayoría de códecs de audio, ATRAC usa la psicoacústica y conceptos como el umbral de enmascaramiento no solo en el algoritmo de asignación de bits, sino que lo aplica en la separación de les partes temporal-espectral en que divide la señal. Así, la señal de entrada se analiza en divisiones espectrales no uniformes que enfatizan las regiones más sensibles en frecuencia del oído humano que, según pruebas experimentales realizadas y las curvas isofónicas, es alrededor de los 4 kHz. Además, ATRAC utiliza un bloque en su codificación que permite adaptar la longitud de las ventanas que utiliza, según la señal de entrada. De esta forma, se asegura no malgastar bits en codificar pasajes de transición o silencios.


Este bloque de longitud adaptable escoge la longitud de las ventanas de acuerdo con las características de la señal. Hay dos modos:

  • 1. Modo corto (short mode): Usa ventanas de 1.45 ms en la banda de alta frecuencia y 2.9 ms en las otras.
  • 2. Modo largo (long mode): Usa ventanas de 11.6 ms. Este modo normalmente se usa para proporcionar buenas resoluciones espectrales.

Sin embargo, el hecho de usar ventanas de longitud adaptable no hace inmune el sistema de lo que se denomina pre-eco y que resulta ser uno de los principales problemas en la mayoría de los códecs de audio con pérdidas. El pre-eco es fruto de transiciones abruptas de audio, como por ejemplo el ruido de un vaso rompiéndose, esto crea un ruido que se extiende por todas las muestras de la ventana. No obstante, si la longitud de la ventana es suficientemente pequeña, el enmascaramiento temporal puede oscurecer el ruido añadido antes y después de la transición. Los efectos del eco son más preocupantes antes de la transición ya que los efectos del enmascaramiento temporal afectan mucha más las zonas posteriores al tono que las anteriores.

¿Cómo soluciona ATRAC este problema?[editar]

Para prevenir el "pre-eco" ATRAC cambia a modo corto de ventana (short mode) cuando detecta una señal de ataque (transición abrupta). Así, solo hay un pequeño segmento de ruido antes del ataque y el resto se disimula gracias al post-enmascaramiento temporal. Sin embargo, si el cambio de ventana no se llevase a cabo a causa de un error del bloque adaptativo y siguiéramos en modo largo, el enmascaramiento temporal posterior (post-enmascaramiento) no tendría los efectos deseados porque el ruido quedaría enmascarado durante un periodo de tiempo muy pequeño y bastante inferior a la longitud de la ventana.

Cuantificación espectral[editar]

Por último, ATRAC almacena toda la información necesaria para reconstruir la señal de audio. Los valores espectrales son cuantificados utilizando dos parámetros: longitud de palabra y factor de escala. El factor de escala define el rango total de escala de la cuantificación. Mientras que, la longitud de la palabra (wordlength) define la precisión dentro de la escala. Cada unidad tiene la misma longitud de palabra y factor de escalado, reflejando una similaridad psicoacústica con las frecuencias agrupadas. El factor de escalado se escoge de una lista fija de posibilidades y refleja la magnitud de los coeficientes espectrales de cada unidad. La longitud de palabra se determina con el algoritmo de asignación de bits. Para cada trama de sonido (correspondiente a 512 muestras de la señal de entrada), se almacena la siguiente información:

  • 1. Longitud de la ventana MDCT (corta o larga).
  • 2. Longitud de palabra de cada unidad.
  • 3. Factor de escala de cada unidad.
  • 4. Coeficientes espectrales cuantificados.

Para garantizar la correcta reconstrucción de la señal, la información más relevante se guarda de forma redundante. Como también se guarda información sobre la cantidad de datos redundantes.

Asignación de bits[editar]

El algoritmo de asignación de bits divide los bits disponibles entre las diferentes unidades. Las unidades con un alto nombre de bits tendrán menos ruido de cuantificación. Sin embargo, aquellas con pocos o ningún bit tendrán mucho error.

Es importante mencionar que este algoritmo tiene que asegurar que las unidades críticas o relevantes tengan suficientes bits y, a su vez, que el ruido en las unidades no tan relevantes no sea perceptualmente significativo. Cabe decir que ATRAC usa codificación entrópica, otorgando menos bits a los valores más redundantes, de forma que reduce considerablemente el tamaño del fichero de audio.

Tal y como podemos ver en el diagrama de bloques de este códec el decodificador es totalmente independiente del algoritmo de asignación de bits, cosa que permite hacer evolucionar el sistema sin tener que cambiar los dispositivos reproductores. De esta forma, Sony presentaba múltiples posibilidades para esta asignación que analizaremos en las nuevas versiones que ha presentado.

ATRAC3[editar]

Esta nueva versión sigue los mismos principios de funcionamiento que el anterior, introduciendo nuevas mejoras. Así, duplica la capacidad de compresión de ATRAC sin apenas producir pérdidas en la calidad del sonido resultante (codificando el audio al 10% de la tasa de bits de un CD).

Divide la señal en 4 partes:

  • 1. Inferior a 2.75625 kHz
  • 2. De 2.75625 a 5.5125 kHz
  • 3. De 5.5125 a 11.025 kHz
  • 4. Superior a 11.025 kHz dentro de las audiofrecuencias
Análisis señal de audio en 4 bandas

A su vez, clasifica el sonido de forma más eficiente que la anterior versión permitiendo diferenciar tonos puros, como los violines y sonidos de alto nivel de presión sonora, del resto de la señal. Este hecho, es similar al comentado anteriormente donde se hablaba de unidades críticas y no críticas.


Clasificación de los sonidos

Además, utiliza un algoritmo de asignación que permite reducir bastante el número de bits usados en la codificación reduciendo el tamaño del fichero de audio (codificación entrópica). No obstante, hay que tener presente que la información relevante o de más intensidad se deberá codificar con más bits con la finalidad de que no se cuantifique ruido perceptible.

Asignación de bits


Presenta dos modos: LP2 y LP4

  • 1. LP2: Este modo usa una tasa de bits de 132 kbit/s obteniendo una calidad similar al MP3 codificado a la misma tasa.
  • 2. LP4: Este modo reduce la tasa de bits a la mitad de LP2 (66 kbit/s), al utilizar principios similares a la codificación joint stereo o un filtro paso bajo alrededor de 13,5 kHz.

Ambas técnicas permiten minimizar el efecto del pre-eco con mejores resultados que en la anterior versión.

¿Cómo soluciona ATRAC3 el problema del preeco?[editar]

El filtro paso bajo elimina las transiciones abruptas a partir de una cierta frecuencia. Asimismo, el hecho de utilizar codificaciones similares al joint stereo permite sumar el canal derecho e izquierdo por encima de una cierta frecuencia, guardar la diferencia entre ambos canales y durante la decodificación reconstruir la información de alta frecuencia del canal derecho e izquierdo recombinando la información comuna de cada canal.

De esta manera, evitamos ruido de cuantificación y su propagación a lo largo de una ventana entera.

Aplicaciones[editar]

RealAudio 8

ATRAC3plus[editar]

Mejoras que presenta:

  1. Divide la señal de audio en 16 bandas obteniendo una mejor resolución y más precisión.
  2. Presenta más opciones de longitud de ventana dentro del bloque adaptativo, permitiendo usar ventanas más largas, de hasta 4096 muestras.
  3. Presenta nuevos algoritmos de asignación de bits mejorando uno de los déficits que presentaban las antiguas versiones para determinados pasajes musicales o de voz donde la calidad final variaba dependiendo del tipo de señal de audio.

Asignación de bits[editar]

Presenta dos reglas apropiadas para determinados tipos de señales de audio.

Regla A:

00 → 0 | 01 → 10 | 10 → 110 | 11 → 111 |

Regla B:

00 → 0 | 01 → 110 | 10 → 111 | 11 → 10 |


Observamos que la regla A es apropiada para señales que aprovechan todo el rango dinámico y que tengan una probabilidad de ocurrencia alta de valores con un alto nivel de presión sonora elevada.

Por lo contrario, la regla B es apropiada para señales de audio con relativamente pocos valores o muestras con un alto nivel de presión sonora.

Con la utilización de todos éstos aspectos conseguimos reducir la tasa de datos, bitrate, de forma considerable consiguiendo factores de compresión de aproximadamente el 5% comparándose con la tasa de datos de un CD (PCM lineal).

Aplicaciones[editar]

  1. Reproductores Hi-MD ("Hi-LP y Hi-SP")
  2. Memorias Flash almacenaje y reproducción
  3. Consola PSP

Al principio, debido a la alta tasa de compresión del ATRAC, éste no se utilizaba para operar con audio a nivel profesional.

Con el tiempo, los codificadores ATRAC han mejorado considerablemente desde la primera generación, y actualmente se dispone de versiones ATRAC que generan señales de audio que se escuchan idénticas a la fuente original.

Esta codificación prácticamente solo es usada en los aparatos de audio portátil de Sony como los lectores de CD, que incluyen un software para quemar CD´s con este formato, o los minidisc.