Original Article: ATRAC: Adaptive Transform Acoustic Coding for MiniDisc
Author: minidisc.org

ATRAC: codificação acústica de transformação adaptativa para MiniDisc

Kyoya Tsutsui
Hiroshi Suzuki
Osamu Shimoyoshi
Mito Sonohara
Kenzo Akagiri
Robert M. Heddle

Laboratórios de pesquisa corporativa da Sony
6-7-35 Kitashinagawa, Shinagawa-ku, Tóquio 141 Japão

Reimpresso a partir do 93º Audio Engineering Society Convenção em São Francisco, 1992 outubro 1-4

Abstrato

ATRAC é um sistema de codificação de áudio baseado em princípios psicoacústicos. O sinal de entrada é dividido em três sub-bandas que são então transformadas no domínio da frequência usando um comprimento de bloco variável. Os coeficientes de transformação são agrupados em bandas não uniformes para refletir o sistema auditivo humano e, em seguida, quantificados com base em características dinâmicas de sensibilidade e máscara. ATRAC comprime o áudio do disco compacto para aproximadamente 1/5 da taxa de dados original com praticamente nenhuma perda de qualidade de som.

1 Introdução

Recentemente, tem havido uma crescente demanda por parte do consumidor de uma mídia de áudio digital gravável portátil de alta qualidade. O sistema MiniDisc foi desenvolvido para atender a essa demanda. O MiniDisc é baseado em um disco óptico ou magneto-óptico de 64 mm que possui aproximadamente 1/5 da capacidade de armazenamento de dados de um disco compacto padrão. Apesar da capacidade de armazenamento reduzida, era necessário que o MiniDisc mantenha alta qualidade de som e um tempo de reprodução de 74 minutos. O sistema de compressão de dados ATRAC (Adaptive Transform Acoustic Coding) foi concebido para satisfazer os seguintes critérios:
  • Compressão do áudio estéreo 44.1 kHz de 16 bits em menos de 1/5 da taxa de dados original com redução mínima na qualidade do som.
  • Implementação de hardware simples e econômica adequada para players e gravadores portáteis.
Quando os dados de áudio digital são compactados, normalmente há uma certa quantidade de ruído de quantificação introduzido no sinal. O objetivo de muitos sistemas de codificação de áudio [1-6] é controlar a distribuição tempo-frequência deste ruído de forma a torná-lo inaudível para o ouvido humano. Se isso for completamente bem sucedido, o sinal reconstruído será indistinguível do original.

Em geral, os codificadores de áudio funcionam através da decomposição do sinal em um conjunto de unidades, cada uma correspondendo a uma certa faixa em tempo e freqüência. Usando essa distribuição tempo-frequência, o sinal é analisado de acordo com os princípios psicoacústicos. Esta análise indica quais unidades são críticas e devem ser codificadas com alta precisão e quais unidades são menos sensíveis e podem tolerar algum ruído de quantificação sem degradar a qualidade de som percebida. Com base nessas informações, os bits disponíveis são alocados para as unidades de tempo-frequência. Os coeficientes espectrais em cada unidade são então quantificados usando os bits alocados. No decodificador, os espectros quantificados são reconstruídos de acordo com a alocação de bits e depois sintetizados em um sinal de áudio.

O sistema ATRAC funciona como acima, com vários aprimoramentos. O ATRAC usa psicoacústica não apenas no algoritmo de alocação de bits, mas também na divisão tempo-frequência. Usando uma combinação de codificação de sub-banda e técnicas de codificação de transformação, o sinal de entrada é analisado em divisões de freqüência não-uniformes que enfatizam as importantes regiões de baixa freqüência. Além disso, o ATRAC usa um comprimento de bloco de transformação que se adapta ao sinal de entrada. Isso garante uma codificação eficiente de passagens estacionárias sem sacrificar a resolução do tempo durante passagens transitórias.

Este artigo começa com uma revisão dos princípios psicoacústicos relevantes. O codificador ATRAC é então descrito em termos de divisão tempo-frequência, quantificação de coeficientes espectrais e alocação de bits. Finalmente, o decodificador ATRAC é descrito.

2 Psicoacústica

2.1 Equi-loudness Curves

A sensibilidade da orelha varia com a freqüência. O ouvido é mais sensível às freqüências no bairro de 4 kHz; Os níveis de pressão sonora que são apenas detectáveis a 4 kHz não são detectáveis em outras freqüências. Em geral, dois tons de potência igual, mas uma frequência diferente, não soarão igualmente alto. A intensidade percebida de um som pode ser expressa em sones, onde 1 sone é definido como a intensidade de um tom de 40 dB a 1 kHz. As curvas de Equi-loudness em vários níveis de volume são mostradas na Figura 1. A curva rotulada "limiar auditivo em silêncio" indica o nível mínimo (por definição, 0 sone) no qual a orelha pode detectar um tom em uma determinada freqüência.

Essas curvas indicam que a orelha é mais sensível em algumas freqüências do que em outras. A distorção em freqüências insensíveis será menos audível do que em freqüências sensíveis.

2.2 Mascaramento

Masking [7] ocorre quando um som é processado inaudível por outro. O mascaramento simultâneo ocorre quando os dois sons ocorrem ao mesmo tempo, como quando uma conversa (o sinal em máscaras) é processada inaudível por um trem de passagem (o masker). O mascaramento para trás ocorre quando o sinal mascarado termina antes que o mascarador comece; O mascaramento direto ocorre quando o sinal mascarado começa depois que o masker terminou.

O mascaramento torna-se mais forte à medida que os dois sons se aproximam em tempo e freqüência. Por exemplo, o mascaramento simultâneo é mais forte do que o encaixe para frente ou para trás porque os sons ocorrem ao mesmo tempo. As experiências de mascaramento geralmente são realizadas usando uma faixa estreita de ruído branco como o sinal de máscara e medindo o nível apenas audível de um tom puro em vários momentos e freqüências. Exemplos de mascaramento simultâneo e mascaramento temporal são mostrados na Figura 2 e na Figura 3, respectivamente.

Conclusões importantes podem ser extraídas desses gráficos. Primeiro, o mascaramento simultâneo é mais efetivo quando a freqüência do sinal mascarado é igual ou maior que a do mascarador. Em segundo lugar, enquanto o mascaramento direto é efetivo por um tempo considerável após o bloqueador ter parado, o mascaramento para trás só pode ser efetivo por menos de 2 ou 3 ms antes do início do masker.

2.3 Bandas críticas

As bandas críticas [7] surgiram da idéia de que a orelha analisa a faixa de freqüência audível usando um conjunto de sub-bandas. As frequências dentro de uma banda crítica são semelhantes em termos de percepção da orelha e são processadas separadamente de outras bandas críticas. As bandas críticas surgiram naturalmente de experimentos em audição humana e também podem ser derivadas da distribuição de células sensoriais no ouvido interno. As bandas críticas podem ser pensadas como a escala de freqüência usada pela orelha [8].

A escala de banda crítica é mostrada na Tabela 1. É claro que as bandas críticas são muito mais estreitas em freqüências mais baixas do que em altas freqüências; na verdade, três quartos das bandas críticas estão localizados abaixo de 5 kHz. Isso indica que o ouvido recebe mais informações das baixas freqüências e menos de freqüências mais altas.

Tabela 1: bandas críticas discretas [7]
Crítico
Band
Freqüência (Hz) Crítico
Band
Frequency (Hz)
BaixoAltoLargura BaixoAltoLargura
0 0 100 100 13 2000 2320 320
1 100 200 100 14 2320 2700 380
2 200 300 100 15 2700 3150 450
3 300 400 100 16 3150 3700 550
4 400 510 110 17 3700 4400 700
5 510 630 120 18 4400 5300 900
6 630 770 140 19 5300 6400 1100
7 770 920 150 20 6400 7700 1300
8 920 1080 160 21 7700 9500 1800
9 1080 1270 190 22 9500 12000 2500
10 1270 1480 210 23 12000 15500 3500
11 1480 1720 240 24 15500 22050 6550
12 1720 2000 280

3 O codificador ATRAC

Um diagrama de bloco da estrutura do codificador é mostrado na Figura 4. O codificador possui três componentes. O bloco de análise decompõe o sinal em coeficientes espectrais agrupados em unidades flutuantes de bloco (BFU's). O bloco de alocação de bits divide os bits disponíveis entre as BFU, alocando menos bits para unidades insensíveis. O bloco de quantização quantifica cada coeficiente espectral para o comprimento de palavra especificado.

3.1 Análise de tempo-frequência

Este bloco (Figura 6) gera as BFUs em três etapas, combinando técnicas de codificação de sub-banda e codificação de transformação. Primeiro, o sinal é dividido em três sub-bandas: 0-5,5 kHz, 5,5-11 kHz e 11-22 kHz. Cada uma dessas sub-bandas é então transformada no domínio da frequência, produzindo um conjunto de coeficientes espectrais. Finalmente, esses coeficientes espectrais são agrupados de maneira não uniforme em BFU's..

A decomposição de sub-banda é realizada usando Filtros de Espelho Quadratura (QMF's) [0-10]. O sinal de entrada é dividido em bandas de freqüência superior e inferior pelo primeiro QMF, e a faixa de freqüência mais baixa é dividida novamente por um segundo QMF. O uso do QMF garante que o aliasing do domínio do tempo causado pela decomposição da sub-banda será cancelado durante a reconstrução.

Cada uma das três sub-bandas é então transformada no domínio da frequência usando a Transformada de Coseno Discreto Modificada (MDCT) [11-12]. O MDCT permite uma sobreposição de até 50% entre janelas de domínio do tempo, levando a uma resolução de freqüência melhorada, mantendo a amostragem crítica. Em vez de um comprimento de bloco de transformação fixo, no entanto, a ATRAC escolhe o comprimento do bloco de forma adaptativa com base nas características do sinal em cada banda. Existem dois modos: modo longo (11,6 ms) e modo curto (1,45 ms na faixa de alta freqüência, 2,9 ms nos outros). Normalmente, o modo longo é usado para fornecer uma boa resolução de freqüência. No entanto, podem ocorrer problemas durante as porções de ataque do sinal. Especificamente, o ruído de quantificação é espalhado por todo o bloco de sinal, e o ruído de quantificação inicial não está mascarado (Figura 8a); Esse problema é chamado de pré-eco. Para evitar pré-eco, ATRAC muda para o modo curto (Figura 8b) quando detecta um sinal de ataque. Neste caso, porque há apenas um pequeno segmento de ruído antes do ataque, o ruído será mascarado por máscaras para trás (seção 2.2). O mascaramento para trás não é eficaz para o modo Longo devido à sua duração muito curta. Assim, a ATRAC consegue codificação eficiente em regiões estacionárias enquanto responde rapidamente a passagens transitórias.

Tenha em atenção que o modo curto não é necessário para a decadência do sinal, porque o ruído de quantificação será mascarado pelo mascaramento direto que dura muito mais do que o mascaramento para trás. Para uma flexibilidade máxima, o modo de tamanho de bloco pode ser selecionado de forma independente para cada banda.

Os coeficientes espectrais MDCT são então agrupados em BFU's. Cada unidade contém um número fixo de coeficientes. No caso do modo longo, as unidades refletem 11,6 ms de uma banda de freqüência estreita; No caso do modo curto, cada bloco reflete um tempo mais curto, mas uma banda de freqüência mais ampla (Figura 9). Note-se que a concentração de BFU é maior em baixas freqüências do que em altas freqüências; Isso reflete as características psicoacústicas da orelha humana.

3.2 Quantificação Espectral

Os valores espectrales são quantificados usando dois parâmetros: comprimento de palavra e fator de escala. O fator de escala define o intervalo de escala total da quantificação, e o comprimento da palavra define a precisão dentro dessa escala. Cada BFU tem o mesmo comprimento de palavra e fator de escala, refletindo a similaridade psicoacústica das freqüências agrupadas.

O fator de escala é escolhido a partir de uma lista fixa de possibilidades e reflete a magnitude dos coeficientes espectrais em cada BFU. O comprimento da palavra é determinado pelo algoritmo de alocação de bits (seção 3.3).

Para cada quadro de som (correspondente a 512 pontos de entrada), as seguintes informações são armazenadas no disco:

  • Modo de tamanho de bloco MDCT (longo ou curto).
  • Dados de comprimento de palavra para cada bloco Unidade flutuante.
  • Código de fator de escala para cada unidade flutuante de bloco.
  • Coeficientes espectrales quantificados.
Para garantir uma reconstrução precisa do sinal de entrada, os dados críticos, como o modo de tamanho de bloco, o comprimento de palavra e os dados do fator de escala, podem ser armazenados de forma redundante. Informações sobre quantidades de dados redundantes também são armazenadas no disco.

3.3 Alocação de bits

O algoritmo de alocação de bits divide os bits de dados disponíveis entre os vários BFUs. Unidades com um grande número de bits terão pouco ruído de quantização; unidades com poucos ou nenhuns bits terão quantidades significativas de ruído. Para uma boa qualidade de som, o algoritmo de alocação de bits deve garantir que as unidades críticas tenham bits suficientes e que o ruído em unidades não críticas não seja perceptivamente significativo.

O ATRAC não especifica um algoritmo de alocação de bits; Qualquer algoritmo apropriado pode ser usado. O comprimento de palavra de cada BFU é armazenado no MiniDisc juntamente com os espectros quantizados, de modo que o descodificador é completamente independente do algoritmo de alocação. Isso prevê a melhoria evolutiva do codificador sem alterar o formato MiniDisc ou o decodificador.

Existem muitos algoritmos possíveis, variando de muito simples a extraordinariamente complexos. Para os gravadores portáteis MiniDisc, no entanto, as possibilidades são limitadas um pouco pelo fato de que elas devem ser implementadas em hardware compacto de baixo consumo de baixo custo. No entanto, a ATRAC é capaz de uma boa qualidade de som usando mesmo um algoritmo de alocação de bits simples, desde que seja fundamentado em princípios psicoacústicos. A estrutura adaptativa de tempo-freqüência não uniforme da ATRAC já está baseada em psicoacústica, aliviando a pressão no algoritmo de alocação de bits.

Um algoritmo sugerido usa uma combinação de bits fixos e variáveis. Os bits fixos enfatizam as importantes regiões de baixa freqüência, alocando menos bits para as BFU em freqüências mais altas. Os bits variáveis são alocados de acordo com o logaritmo dos coeficientes espectrais dentro de cada BFU. A alocação total de bits btot é a soma ponderada dos bits fixos bfix(k) e os bits variáveis bvar(k). Assim, para cada BFU k,

btot(k) = Tbvar + (1-T)bfix

O peso T é uma medida da tonalidade do sinal, tendo um valor próximo a 1 para tons puros e perto de 0 para o ruído branco. Isso significa que a proporção de bits fixos e variáveis é em si mesma variável. Assim, para tons puros, os bits disponíveis serão concentrados em um pequeno número de BFU's. Para mais sinais semelhantes ao ruído, o algoritmo enfatizará os bits fixos para reduzir o número de bits alocados às altas freqüências insensíveis.

A equação acima não está preocupado com a taxa de bits global e, em geral, aloca mais bits do que estão disponíveis. Para garantir uma taxa de dados fixa, um deslocamento boff (o mesmo para todos os BFU) é calculado. Esse valor é subtraído de btot(k) para cada unidade, dando a alocação final de bits b(k):

b(k) = integer{btot(k)-boff}

Se a subtração gerar um comprimento de palavra negativo, esse BFU é atribuído a 0 bits. Este algoritmo está ilustrado na Figura 10

4 O Decodificador ATRAC

Um diagrama de blocos da estrutura do decodificador é mostrado na Figura 5. O decodificador primeiro reconstrói os coeficientes espectrales do MDCT a partir dos valores quantizados, usando os parâmetros do comprimento da palavra e do fator de escala. Esses coeficientes espectrais são então usados para reconstruir o sinal de áudio original (Figura 7). Os coeficientes são primeiro transformados de volta para o domínio do tempo pelo MDCT inverso (IMDCT) usando modo longo ou modo curto como especificado nos parâmetros. Finalmente, os três sinais de domínio do tempo são sintetizados no sinal de saída por filtros de síntese QMF.

5 Conclusões

Através de uma combinação de várias técnicas, incluindo psicoacústica, codificação de sub-banda e codificação de transformação, a ATRAC consegue codificar o áudio digital com praticamente nenhuma degradação perceptiva na qualidade do som. Os testes de escuta indicam que a diferença entre o som ATRAC e a fonte original não é perceptivamente irritante nem diminui a qualidade do som. Além disso, o sistema é suficientemente compacto para ser instalado em produtos de consumo portáteis. Usando o ATRAC, o MiniDisc fornece uma solução prática para áudio digital portátil.

6 Referências

  1. MPEG/AUDIO CA11172-3, 1992.

  2. "ASPEC (Source: AT&T Bell Labs et al. )" Doc. No. 89/205, ISO-IEC JTC1/SC2/WG8 MPEG-AUDIO, Oct. 18, 1989.

  3. R. Veldhuis, M. Breeuwer and R. van der Wall, "Subband coding of digital audio signals without loss of quality," Proc. 1989 International Conference on Acoustics, Speech and Signal Processing, Glasgow, pp. 2009-2012.

  4. A. Sugiyama, F. Hazu, M. Iwadare and T. Nishitani, "Adaptive transform coding with an adaptive block size (ATCABS)," Proc. 1990 International Conference on Acoustics, Speech and Signal Processing, Albuquerque, pp. 1093-1096.

  5. G. Davidson, L. Fielder and M. Antill, "High-quality audio transform coding at 128 kbits/s," Proc. 1990 International Conference on Acoustics, Speech and Signal Processing, Albuquerque, pp. 1117-1120.

  6. G. Davidon, L. Fielder and M. Antill, "Low-complexity transform coder for satellite link applications," Audio Engineering Society 89th Convention preprint 2966, Sept. 1990.

  7. J. S. Tobias, Ed., Foundations of Modern Auditory Theory, Vol. 1, Academic Press, New York, 1970.

  8. E. Zwicker and U. T. Zwicker, "Audio engineering and psychoacoustics: Matching signals to the final receiver, the human auditory system." J. Audio Engineering Society, Vol. 39 No. 3, pp. 115-126, March 1991.

  9. D. Estaban, and C. Galand, "Application of quadrature mirror filters to split band voice coding schemes," Proc. 1977 IEEE International Conference on Acoustics, Speech and Signal Processing, Hartford CT, pp. 191-195.

  10. P. P. Vaidyanathan, "Quadrature mirror filter banks, M-band extensions and perfect-reconstruction techniques," IEEE ASSP Magazine, Vol. 4, pp. 4-20, July 1987.

  11. J. Princen and A. Bradley. "Analysis/synthesis filter band design based on time-domain aliasing cancellation," IEEE Trans. Acoustics, Speech and Signal Processing, Vol. 34, pp. 1153-1161, 1986.

  12. J. Princen, A. Johnson and A. Bradley, "Subband/transform coding using filter band designs based on time domain aliasing cancellation," Proc. 1987 IEEE International conference on Acoustics, Speech and Signal Processing, Dallas, pp. 2161-2164.