3. Codificadores de Áudio

Através dos conhecimentos adquiridos sobre o sistema auditivo humano é possível desenvolver modelos que reduzam a informação necessária para identificar e caracterizar um sinal de áudio. Sendo assim, podem ser eliminadas informações relativas a um determinado som que simplesmente não são perceptíveis ao ouvido humano, ou mesmo que podem ser ignoradas dada a sua insignificância (irrelevância) para o resultado final sonoro.

Por outro lado, tal como em todos os compressores de dados (imagem, vídeo, etc.), poder-se-á ainda analisar a redundância existente no sinal de áudio, de modo a se diminuir o número de informações repetidas para apenas uma única referência. Neste caso, a redundância será verificada apenas ao longo do tempo, dado que estes são sinais com apenas uma dimensão.

Assim, é necessário dividir os compressores em dois grupos: compressores sem perdas (lossless) e compressores com perdas (lossy).

Geralmente, é utilizada a arquitectura demonstrada na Figura 3, dependendo do tipo de compressor (com ou sem perdas) e do tipo de modelo utilizado.




Figura 3, Arquitectura de um codificador de áudio



O bloco Filter Bank é utilizado para análise do sinal de entrada, decompondo-o em sub-amostras nos espectros tempo/frequência. É usualmente utilizada uma MDCT (Modified Discrete Cosine Transform) e a sua inversa para operar as transformações entre o domínio do tempo e da frequência.

Através dos blocos Quantization e Entropy Encoder é feita a quantificação do sinal (introduzindo erro) e a respectiva análise probabilística, de modo a se atribuir menos bits aos símbolos mais usados. Finalmente, o bloco Psychoacoustic Model é onde se processa toda a informação relativa ao estudo psicoacústico. [4]


3.1. Codificadores sem perdas (lossless)

Com estes codificadores é preservada toda a informação contida no sinal de áudio original (PCM). Não existem assim perdas, o que permite reverter qualquer alteração efectuada.

De modo a comprimir a informação adquirida, estes codificadores recorrem essencialmente à exploração da redundância nos sinais. Assim, para o áudio é utilizada codificação em frequência, dividindo o sinal em várias sub-amostras ou transformando-o linearmente em vários coeficientes. De seguida, é efectuada a análise das amostras ou dos coeficientes em busca de redundância. [9]

Estes codificadores são utilizados principalmente para edição áudio, visto que são os únicos que permitem a inexistência de qualquer perda aquando das múltiplas codificações e descodificações operadas nestes processos.

Com factores de compressão da ordem de 2, são apresentados de seguida alguns exemplos deste tipo de codificadores.


3.1.1. FLAC (2001)

O FLAC (Free Lossless Audio Codec) é um codificador
desenvolvido pela fundação Xiph.Org. Tal com o nome indica, trata-se de um codec livre de qualquer patente e proprietário. Assim sendo, este codificador pode ser utilizado sem qualquer tipo de encargo e, tal como outros codificadores desenvolvidos pela Xiph.Org, é disponibilizado igualmente o seu código fonte de modo a possibilitar que qualquer pessoa o melhore ou o utilize para o desenvolvimento de outros codificadores.

O FLAC é considerado como o codec de áudio lossless mais rápido e mais suportado no actual mercado. À sua entrada o codificador FLAC suporta amostras PCM com resoluções de 4 a 32 bits e permite taxas de amostragem de 1 Hz a 655,350 kHz. Dado tratar-se de um codificador sem perdas, este codificador de áudio permite manter a qualidade de som do sinal original, procurando apenas “poupar” bits eliminando a redundância do sinal original. [7]

Em relação aos codificadores com perdas que serão analisados no ponto 3.2, de notar que o FLAC, tal como a maioria dos codificadores lossless, é bastante mais resistente a possíveis erros. Isto porque cada bit utilizado na codificação “transporta” menos informação, logo qualquer erro que ocorra compromete um número menor de dados.

Dada a orientação inicial do projecto em que este codificador se insere, não existe qualquer tipo de método para prevenção de cópias.


3.1.2. WMA Lossless (2003)

Este codificador sem perdas foi criado com a intenção de
competir com os compressores lossless já existentes no mercado, alargando a competitividade da família de codificadores Windows Media Audio.

De modo a reduzir a dimensão dos ficheiros de áudio originais entre 2 a 3 vezes, é utilizada uma tecnologia que permite ao codificador utilizar mais ou menos bits dependendo da necessidade (VBR – Variable Bitrate). Dado tratar-se de um codificador sem perdas, o ficheiro final descomprimido é uma réplica exacta do ficheiro original.

Este codec permite codificar sinais de áudio até 96 kHz, de 24 bit e até 6 canais discretos. É utilizado principalmente em produtos da Microsoft, desde os seus leitores de áudio (Zune) à consola de vídeo jogos Xbox 360.



3.2. Codificadores com perdas (lossy)

Com 5% a 20% da quantidade de informação do sinal original, estes codificadores são claramente os mais importantes dentro da codificação de áudio. É neste grupo que são utilizados todos os conhecimentos sobre o sistema auditivo humano, procurando melhores resultados finais recorrendo não só à redundância, mas também à irrelevância dos sinais de áudio.

Neste tipo de compressão são utilizados todos blocos disponíveis na arquitectura descrita na Figura 3. Assim sendo, para além da quantificação é utilizada uma codificação perceptiva, que ignora a informação considerada irrelevante. Não se procede assim à codificação de sinais exteriores aos limites de audição do humano, tal como não se procede a codificação de sinais que se encontrem anulados por outros devido ao mascaramento. O codificador será melhor, quanto maior erro se conseguir inserir sem que o sistema auditivo humano o consiga detectar. De notar que terá que haver sempre um compromisso entre a maior compressão e a complexidade do próprio codificador, de modo a não serem criados apenas codificadores de futuro, que nunca serão realmente utilizados. [9]

Apesar de não produzirem um som tão fidedigno como os compressores sem perdas, os compressores lossy são os mais utilizados actualmente. Este fenómeno é verificado dada a sua reduzida dimensão, o que permite uma rápida e fácil partilha.

De seguida passa-se a análise de alguns exemplos pertencentes a este tipo de codificadores.


3.2.1. MP3 (1991)

Claramente o mais conhecido e bem sucedido codificador de
áudio alguma vez criado, o MP3 representa o padrão para a tecnologia de compressão lossy. Foi criado pelo MPEG (Moving Pictures Expert Group) e possibilita a compressão de um sinal de áudio num ficheiro com cerca de 10 vezes menos informação, sem grande sacrifício da qualidade áudio inicial do sinal. [1]

Apesar de ser habitualmente designado por MP3, este codec está inserido na terceira camada áudio da norma MPEG-1. O algoritmo da camada 3 é substancialmente mais refinado que os utilizados nas camadas anteriores, derivando do codec ASPEC. Ainda que baseado no mesmo banco de filtros das camadas 1 e 2, esta camada compensa algumas das deficiências do banco de filtros anterior processando as saídas dos filtros com a MDCT.

O MP3 especifica dois tamanhos de bloco MDCT diferentes: um bloco longo de 18 amostras e um bloco curto de 6. Há uma sobreposição de 50% entre janelas de transformadas sucessivas para que o tamanho da janela seja de 36 e 12, respectivamente. O comprimento do bloco longo permite maior resolução na frequência para sinais com características estacionárias, enquanto o tamanho do bloco curto permite maior resolução no tempo para o regime transitório. Existe também um modo que utiliza um tamanho de bloco misto (mixed-block mode), através do qual se retira melhor resolução para as frequências mais baixas, sem sacrificar a resolução no tempo para as frequências mais altas.

A camada 3 do MPEG-1 incorpora diversas medidas para reduzir o pré-eco. Primeiramente, o seu modelo psicoacústico sofreu modificações para detectar as condições de pré-eco. Em seguida, pode requisitar bits de codificação a um bit de reserva de modo a reduzir o ruído de quantificação quando existem condições de pré-eco. Finalmente o codificador pode modificar o tamanho de bloco da MDCT, reduzindo a janela de tempo efectiva.



Figura 4, Arquitectura do MP3


Curiosamente, este formato foi desenvolvido sem o intuito de se tornar no fenómeno de popularidade em que se viria a transformar. Aquando da sua elaboração este era um codec considerado demasiado complexo para ser utilizado em grande escala. Algo que com o passar dos anos se revelou não ser verdade.


Descubra as diferenças!


Satisfaction PCM.wav

44,1 kHz

1,411 Mbit/s

Stereo

37,7 MB


Satisfaction.mp3

44,1 kHz

128 kbit/s

Joint Stereo

944 kB



3.2.2. ATRAC (1991)

O ATRAC (Adaptive Transform Acoustic Coding) é uma família
de algoritmos de compressão áudio desenvolvidos pela Sony.

O ATRAC utiliza o modelo psicoacústico não só no algoritmo de alocação de bits mas também na decomposição tempo-frequência. Fazendo uso de uma combinação de técnicas de codificação de transformada e codificação de sub-bandas, o sinal de entrada é analisado em divisões de frequência não-uniformes que dão ênfase às regiões importantes de baixa frequência. Utilizando uma técnica semelhante ao MP3, o ATRAC usa um tamanho de bloco da transformada que é adaptável ao sinal de entrada, isto garante a codificação eficiente de passagens estacionárias sem sacrificar a resolução do tempo para os regimes transitórios.

Este codificador de áudio foi utilizado pela primeira vez comercialmente em 1992, associado à tecnologia MiniDisc. Era utilizado um débito binário de 292 kbit/s que permitia uma reprodução áudio considerada na altura como próxima da qualidade dos CDs (débito binário: 1411,2 kbit/s). [10]

Actualmente ainda se utiliza o ATRAC em diversos leitores de áudio, especialmente nos produzidos pela Sony e nos telemóveis Sony Ericsson. De notar ainda que ao longo dos últimos anos este codec tem vindo a ser melhorado, com as principais evoluções a acontecerem em 1999 (ATRAC3), 2002 (ATRAC3plus) e 2006 (ATRAC Advanced Lossless). Esta última versão, não se tratando de um compressor de áudio lossy puro, utiliza as versões anteriores, permitindo uma escalabilidade na compressão e oferecendo uma excelente compatibilidade com os formatos anteriores.


3.2.3. Dolby Digital (AC-3) (1992)

Utilizado em milhões de cinemas e casas pelo mundo fora, o
Dolby Digital é considerado o codec lossy padrão para a codificação e descodificação de som surround, mais especificamente som surround de 5.1 canais. Para além de áudio de 6 canais discretos, esta tecnologia permite a codificação em mono e estéreo, possuindo assim uma grande versatilidade. [6]

Com uma taxa de amostragem até 48 kHz e um débito binário entre 32 kbit/s e 640 kbit/s, o Dolby Digital é largamente utilizado na indústria do cinema, quer nos filmes exibidos nas salas de cinemas, quer na maior parte dos DVDs disponíveis no mercado.




Figura 5, Arquitectura do Dolby Digital


Evoluções:

•    Dolby Digital Surround EX

•    Dolby Digital Live (DDL)

•    Dolby Digital Plus (E-AC-3)

  1.    Dolby TrueHD


3.2.4. AAC (1997)

Considerado o sucessor do MP3, o AAC (Advanced Audio
Coding) foi desenvolvido com a colaboração de várias empresas interessadas no mercado dos codificadores de áudio (Dolby, Sony, Nokia, AT&T, etc.) e foi oficialmente declarado um codificador padrão internacional pelo MPEG.

Estando especificado quer na norma MPEG-2 (parte 7), como na MPEG-4 (parte 3), este codec foi concebido com o objectivo de substituir o MP3, melhorando o seu comportamento e corrigindo as suas falhas. Assim sendo, o AAC apresenta uma taxa de amostragem de 8 kHz a 96 kHz (16 kHz a 48 kHz no MP3), possibilidade de codificação de um máximo de 48 canais, joint stereo mais flexível e utilização de uma MDCT pura, ao contrário do MP3. Em geral, este foi um codificador criado para médios e altos débitos binários. Apresenta 3 perfis: Main, Low Complexity (LC) e Scalable Sampling Rate (SRS) e, por não ser compatível com as camadas 1, 2 e 3 do MPEG-1, é NBC (Non-Bacwards Compatible)

Ao contrário do MP3, este codificador permite utilizar o software DRM (Digital Rights Management), possibilitando segurança contra cópias ilegais. Actualmente, assiste-se desenvolvimento de codificadores baseados no MPEG-4 AAC, aplicando-lhe diversas ferramentas de melhoramento, como SBR (Spectral Band Replication) ou PS (Parametric Stereo).



Figura 6, Arquitectura do AAC


Evoluções:

•    HE-AAC v1/v2 - AACplus (High Efficiency)

•    ELD/LD-AAC (Enhanced Low Delay)

  1.    HD-AAC (High Definition)


3.2.5. WMA (1999)

Observando a importância que os compressores de áudio lossy
tomaram no final da década de 90, a Microsoft não quis perder a oportunidade e acabou por desenvolver o seu próprio codec áudio, o Windows Media Audio. Tal como todos os codificadores de áudio criados por esta altura, o objectivo primordial da Microsoft era desenvolver um codificador que conseguisse competir com o MP3, explorando as suas deficiências e limitações com novas tecnologias não existentes no princípio da década.

Utilizando uma MDCT pura como o AAC e o Ogg Vorbis (como será analisado), as únicas diferenças em relação a estes dois recém-criados codecs residiam na forma de quantização e de codificação do estéreo.

Com resultados finais muito semelhantes aos outros codificadores criados no virar do século, a Microsoft pretendia alargar o mercado do seu codec incluindo-o por defeito em todos os computadores com o seu sistema operativo Windows e utilizando-o como codificador de áudio padrão.

Tal como o AAC, o WMA permite a utilização do DRM.


3.2.6. Ogg Vorbis (2002)

Depois de ter sido anunciado por parte dos criadores do MP3
que a utilização do mesmo passaria a ser sujeita ao pagamento de uma licença, foi criado o projecto Vorbis. Pretendia-se com este projecto criar um codec livre de patentes que permitisse a compressão/descompressão de áudio de média a alta qualidade (8 kHz – 48 kHz) utilizando uma codificação com débito binário variável (VBR). O Vorbis é o primeiro de uma família de formatos de codificação multimédia Ogg, desenvolvida pela fundação Xiph.org.

O Ogg Vorbis utiliza a MDCT para converter o sinal áudio do domínio do tempo para o domínio da frequência. Os dados no domínio da frequência são decompostos num ruído de base (noise floor) e em componentes residuais, e depois quantificados e codificados entropicamente usando um algoritmo de quantização vectorial.

A utilização de um ruído de base permite ao utilizador deste codificador identificar se o débito binário é muito baixo para uma compressão sem perdas perceptíveis.



Em suma, verifica-se uma clara evolução nas características técnicas desde o lançamento do primeiro codificador de áudio até ao mais recente. Este facto é comprovado pela Figura 7, onde são apresentados os dados mais importantes para a comparação técnica dos vários codificadores.

De notar que os dados apresentados são relativos às características originais de cada codificador. Obviamente que, por exemplo, o MP3 já foi alvo de grandes melhorias, colocando-o hoje num patamar muito próximo dos seus directos competidores.



Figura 7, Comparação entre codificadores de áudio



Face à figura anterior, resta saber se esta comparação meramente técnica é suficiente para a previsão do comportamento de cada codificador no mercado. Para isso é feita uma análise mais aprofundada à evolução do mercado dos codificadores de áudio nos últimos 18 anos no capítulo seguinte.

Adicionalmente, e para uma melhor compreensão da evolução temporal dos codificadores de áudio, é apresentado na Figura 8 um gráfico que relaciona os lançamentos efectuados entre 1991 e 2009 com a qualidade dos respectivos codificadores (entenda-se qualidade como o compromisso entre a complexidade e a compressão).



Figura 8, Evolução temporal da codificação áudio