|
O diagrama de blocos de um
codificador MPEG-2 AAC encontra-se ilustrado na figura em baixo, seguindo o mesmo paradigma
básico de codificação do Layer-3, isto é, Filterbank com resolução para altas frequências, quantizador não-uniforme,
codificação de Huffman, estrutura de loops iterativos, mas aperfeiçoa muitos
detalhes e usa novas ferramentas de codificação para melhorar a qualidade a
baixos débitos binários.

Figura - Diagrama de Blocos de um codificador AAC
Em termos de avanços na eficácia
de codificação o número de linhas de frequência utilizadas vai até 1024 em
comparação com as 576 do Layer-3 na resolução em altas frequências, é usado um
bloco de opcional de previsão (prediction)
calculado linha a linha para mais eficiência na codificação, a codificação mid/side e a codificação da intensidade
são mais flexíveis por comparação com o Layer-3, levando a uma redução do
débito binário frequentemente, e são aplicadas mais codificações de quádruplos de linhas de frequência no que diz respeito a
tabelas de código de Huffman.
Para aperfeiçoar a qualidade
sonora o AAC recorre a um filterbank
MDCT (Modified Discrete Cosine Transform)
padrão e com impulsos de resposta de 5.3 ms numa frequência de amostragem de 48
kHz., ao contrário do Layer-3 que utiliza um filterbank híbrido (em cascata) com impulsos de resposta a 18.6 ms
para a mesma frequência de amostragem, reduzindo a quantidade de artefactos pré-echo. Adicionalmente o AAC utiliza
uma técnica que permite ajustar o ruído no domínio do tempo ao fazer um loop de prediction no domínio da frequência. Esta técnica, denominada Temporal Noise Shaping (TNS), foi
particularmente bem sucedida ao melhorar a qualidade de sons vocais a baixos
débitos binários.
Somando estas pequenas inovações
o AAC consegue em média a mesma qualidade em relação ao Layer-3 com 70% do
débito binário. O AAC permite que os utilizadores seleccionem o perfil que mais
se adeqúe às suas necessidades, dependendo da complexidade e da qualidade
pretendida. O perfil Main do AAC fornece a melhor qualidade sonora de todos os
perfis em qualquer ritmo binário, tendo disponível todas as ferramentas de
codificação excepto o Gain Control.
Apesar da complexidade computacional ser superior em relação aos outros perfis,
o descodificador do perfil Main tem capacidade para descodificar um fluxo
codificado pelo perfil Low Complexity. Este perfil não utiliza as ferramentas
de Gain Control e Prediction, para além disso o filtro TNS
emprega uma ordem inferior ao perfil Main. Com esta configuração a memória
consumida é consideravelmente baixas, assim como o processamento envolvido. Surpreendentemente
a degradação da qualidade sonora reconstruída não é obvia, o que tornou este
perfil o mais popular nas industrias. Finalmente,
o perfil Scalable Sampling Rate é capaz de proporcionar uma frequência de sinal
escalável, em que a ferramenta Gain
Control encontra-se activa e as restantes ferramentas operam com a
configuração do perfil AAC LC. Por este motivo os requisitos de memória e
complexidade computacional são significativamente menores em relação ao perfil
AAC Main.
AAC Cabeçalho
A norma MPEG2-AAC define 2 tipos para o transporte dos dados de áudio:
• ADIF
(Audio
Data Intercahnge Format) é o formato onde toda a informação que permite
o controlo do descodificador é inserida em apenas um cabeçalho que
precede o fluxo de áudio, não permitindo assim a descodificação do
ficheiro a partir de qualquer momento.
• ADTS
(Audio
Data Transport Stream) reparte os dados AAC em tramas com
cabeçalhos, de uma forma muito similar ao usado pelo MPEG-1/2. A
diferença em relação ao Layer-3 está no ritmo de tramas (variável),
permitindo que os dados de áudio para uma trama completa encontrem-se
sempre entre duas palavras de sincronismo. Através da repetição de
cabeçalho, é possível começar a descodificação do ficheiro em qualquer
ponto do fluxo de dados.
|