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 é 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)
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)
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!
44,1 kHz
1,411 Mbit/s
Stereo
37,7 MB
44,1 kHz
128 kbit/s
Joint Stereo
944 kB
3.2.2. ATRAC (1991)
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)
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)
• Dolby TrueHD
3.2.4. AAC (1997)
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)
• HD-AAC (High Definition)
3.2.5. WMA (1999)
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)
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