ESPECIFICAÇÃO
A presente invenção está no campo de codificação 5 de áudio em diferentes dominios de código, como por exemplo, no dominio de tempo e um dominio de transformação.
No contexto de áudio de baixa taxa de transferência e tecnologia de codificação de fala, várias técnicas diferentes de codificação têm sido tradicionalmente empregadas 10 para obter codificação de taxa de transferência baixa desses sinais, com a melhor qualidade subjetiva possivel em uma determinada taxa de transferência. Codificadores para sinais _ ; ^gerais de música/som- objetivam otimizar ã qualidade “subjetiva- moldando um formato espectral (e temporal) do erro de quantização 15 de acordo com uma curva de limiar de mascaramento que é_ estimada, com base no sinal de entrada através de um modelo perceptual ("codificação de áudio perceptual"). Por outro lado, a codificação de fala em taxas de frequência muito baixas tem demonstrado funcionar muito eficientemente quando está baseada em um modelo de 20 produção de fala humana, isto é, utilizando Codificação de Previsão Linear (LPC) para representar os efeitos ressonantes do trato vocal humano juntamente a uma codificação eficiente do sinal de excitação residual.
Como consequência dessas duas abordagens 25 diferentes, codificadores de áudio gerais, como o MPEG-1 Camada 3 (MPEG = Grupo de Especialistas de Imagem em Movimento) , ou Codificação de Áudio Avançada (AAC) de MPEG-2/4 normalmente não apresentam um desempenho tão bom para sinais de voz com taxas de oz frequência muito baixas como o paro codificadores de fala à base de LPC dedicados, devido à falta de exploração de um modelo de fonte de fala. Inversamente, codificadores de fala à base de LPC normalmente não obtêm resultados convincentes quando aplicados a 5 sinais gerais de música, devido à sua incapacidade de moldar de maneira flexivel o envelope espectral da distorção de codificação de acordo com uma curva de limiar de mas ca ramen to. A seguir, são descritos conceitos que combinam as vantagens da codificação à base de LPC e da codificação de áudio perceptual em uma única 10 estrutura, descrevendo assim uma codificação de áudio unificada que é eficiente tanto para os sinais gerais de áudio como os de video. - *- Tradicionalmente, ’“os codificadores de áudio perceptuais utilizam uma abordagem à base de banco de filtro para 15 codificar sinais de áudio de maneira ejiciente_ e .moldar a. distorção de quantização de acordo com uma estimativa da curva de mascaramento.
A Fig. 16a mostra o diagrama de blocos básico de um sistema de codificação perceptual monofônico. Um banco de 20 filtro de análise 1600 é usado para mapear as amostras de dominio de tempo em componentes espectrais sub-amostrados. Dependendo do número de componentes espectrais, o sistema também é denominado codificador de sub-banda (número pequeno de sub-bandas, por exemplo, 32) ou codificador de transformação (número grande de 25 linhas de frequência, por exemplo, 512) . Um modelo perceptual ("psicoacústico") 1602 é usado para estimar o limiar de mascaramento de tempo real. Os componentes espectrais ("sub-banda" ou "dominio de frequência") são quantizados e codificados 1604 de maneira que o ruído de quantização fique oculto sob o sinal real transmitido, e não seja perceptível após a decodificação. Isto é possível variando-se a granularidade da quantização dos valores espectrais ao longo do tempo e da frequência.
Os coeficientes espectrais quantizados e codificados por entropia ou valores de sub-banda são, juntamente a informações adicionais, inseridos em um formatador de taxa de frequência 1606, que provê um sinal de áudio codificado que é adequado para ser transmitido ou armazenado. A taxa de frequência 10 de saída do bloco 1606 pode ser transmitida pela Internet ou pode ser armazenada em qualquer portador de dados legível em máquina.
No lado do decodif icador, uma interface de „ entrada de - decodi-ficador- 1610“ fécebe a~ taxa ~ de frequência codificada. O bloco 1610 separa valores espectrais/de sub-banda 15 codificados por entropia e quantijados da informação adicional.. Os valores espectrais codificados são inseridos em um decodificador por entropia como, por exemplo, o decodificador Huffman, que é posicionado entre 1610 e 1620. As saídas deste decodificador por entropia são valores espectrais quantizados. Esses valores 20 espectrais quantizados são inseridos em um requantizador, que executa uma quantização "inversa", conforme indicado em 1620 na Figura 16a. A saída do bloco 1620 é inserida em um banco de filtro de síntese 1622, que executa uma filtragem de síntese que inclui uma transformação de frequência/tempo e, tipicamente, uma operação 25 de cancelamento de efeito de dobragem do domínio de tempo, como a sobrepor e adicionar, e/ou uma operação de abertura de lado de síntese para finalmente obter o sinal de áudio de saída.
Tradicionalmente, a codificação de fala eficiente baseia-se na Codificação de Previsão Linear (LPC) para moldar os efeitos ressonantes do trato vocal humano juntamente a uma codificação eficiente do sinal de excitação residual. Tanto a LPC como os parâmetros de excitação são transmitidos do codificador 5 para o decodificador. Este principio está ilustrado nas Figuras 17a e 17b.
A Fig. 17a indica o lado do codificador de um sistema codificador/decodificador à base de codificação de previsão linear. A entrada de fala é inserida em um analisador de 10 LPC 1701, que provê, em: sua saida, coeficientes de filtro de LPC. Com base nesses coeficientes de filtro de LPC, um filtro de LPC 1703 é ajustado. O filtro de LPC produz um sinal de áudio espectralmente branqueado, que também é“dehominãdo “"sinal de erro de previsão". Este sinal de áudio espectralmente branqueado é 15 inserido em um codificador _residual/de_excitação. 1J7O5,_ que gera -- parâmetros de excitação. Assim, a inserção de fala é codificada em parâmetros de excitação por um lado, e coeficientes de LPC pelo outro.
No lado do decodificador ilustrado na Fig. 17b, 20 os parâmetros de excitação são inseridos em um decodificador de excitação 1707, que gera um sinal de excitação, que pode ser inserido em um filtro de sintese de LPC. O filtro de sintese de LPC é ajustado usando-se os coeficientes de filtro de LPC transmitidos. Assim, o filtro de sintese de LPC 1709 gera um sinal 25 de saida de fala reconstruído ou sintetizado.
Com o tempo, muitos métodos foram propostos, relacionados a uma representação eficiente e perceptualmente convincente do sinal residual (excitação), como por exemplo, a *4
Excitação Multipulso (MPE), Excitação de Pulso Regular (RPE) e Previsão Linear Excitada por Código (CELP).
A codificação de Previsão Linear tenta produzir uma estimativa do valor atual da amostra de uma sequência com base 5 na observação de um determinado número de valores passados como uma combinação linear das observações passadas. Para reduzir a redundância no sinal de entrada, o filtro de LPC do codificador "branqueia"o sinal de entrada em seu envelope espectral, isto é, trata-se de um modelo do inverso do envelope espectral do sinal.
Inversamente, o filtro de sintese de LPC do decodif icador é um modelo do envelope espectral do sinal. Especificamente, sabe-se que a bem conhecida análise de previsão linear auto-regressiva - (AR) -molda o~ envelope ‘espectral dõ sinaí' através de uma aproximação apenas com pólos.
Tipicamente, codificadores de fala_ de_ banda _ estreita (isto é, codificadores de fala com uma taxa de amostragem de 8 kHz) utilizam um filtro de LPC com uma ordem entre 8 e 12. Devido à natureza do filtro de LPC, uma resolução de frequência uniforme é eficaz em toda a faixa de frequência. Isto não 20 corresponde a uma escala de frequência perceptual.
Para combinar as vantagens da codificação tradicional à base de LPC/CELP (melhor qualidade para sinais de fala) e a abordagem de codificação de áudio perceptual à base de banco de filtro tradicional (melhor para música), uma codificação 25 combinada entre essas arquiteturas foi proposta. No codificador AMR-WB+ (AMR-WB = Banda Larga Adaptativa de Múltiplas Taxas), B. Besette, R. Lefebvre, R. Salami, "UNIVERSAL SPEECH/AUDIO CODING 301-304, 2005, dois núcleos alternados operam em um sinal residual de LPC. Um baseia-se na ACELP (ACELP = Previsão Linear Excitada de Código Algébrico) , sendo, portanto, extremamente eficiente para codificação de sinais de fala. O outro núcleo de codificação 5 baseia-se em TCX (TCX = Excitação de Transformação Codificada) , isto é, uma abordagem de codificação à base de banco de filtro parecida com as técnicas de codificação de áudio tradicionais, a fim de obter boa qualidade para sinais musicais. Dependendo das características dos sinais do sinal de entrada, um dos dois modos 10 de código é selecionado para um periodo curto de tempo para transmitir o sinal residual de LPC. Assim, framesde 80 ms de duração podem ser divididos em subframes de 40 ms ou 20 ms, nos quais,é tomada uma declsão-entre os dois "modos dè codificação.
A especificação técnica de AMR-WB+ (AMR-WB+ = 15 codificador/decodificador de Banda Larga Adaptativa de Múltiplas »- --»• — •* Taxas estendido), cf. 3GPP (3GPP = Projeto de Parceria de Terceira Geração), número 26.290, versão 6.3.0, junho de 2005, pode alternar entre os dois modos essencialmente diferentes ACELP e TCX. No modo ACELP, um sinal de dominio de tempo é codificado por 20 excitação de código algébrico. No modo TCX, uma transformação rápida de Fourier (FFT = transformação rápida de Fourier) é utilizada, e os valores espectrais do sinal ponderado de LPC (do qual pode ser derivada a excitação de LPC) são codificados com base em quantização de vetor.
A decisão de qual modo utilizar pode ser tomada por tentativa, decodificando-se ambas as opções e comparando-se as relações sinal-ruído (SNR = relação sinal-ruído) segmentais resultantes.
Este caso também é chamado decisão de ciclo fechado, pois existe um ciclo de controle fechado, avaliando-se ambos os desempenhos ou eficiências de codificação, respectivamente, e depois escolhendo-se o que tem uma melhor SNR.
É bem sabido que para aplicações de codificação de áudio e fala, uma transformação de bloco sem janela não é viável. Portanto, para o modo TCX, o sinal é aberto com uma janela de sobreposição baixa com sobreposição de 1/8°. Esta região de sobreposição é necessária, para desvanecer um bloco ou frame 10 anterior enquanto se intensifica o próximo, por exemplo, para eliminar artefatos devidos ao ruído de quantização não correlacionado em framesde áudio consecutivos. Desta maneira, a suspensão- comparada à amostragem"" hão ~ critica é mantida razoavelmente baixa, e a decodificação necessária para a decisão 15 de ciclo fechado reconstrói pelo menos 7/8-_das_ amostras, do. frame. atual. A AMR-WB+ introduz 1/8- de suspensão em um modo TCX, isto é, o número de valores espectrais a ser codificado é 1/8- mais alto que o número de amostras de entrada. Isto provê a 20 desvantagem de uma suspensão maior de dados. Além disso, a resposta de frequência dos filtros de passagem de banda correspondentes é desvantajosa, devido à região de sobreposição profunda de 1/85de framesconsecutivos.
Para detalhar mais a suspensão e a sobreposição 25 de código dos framesconsecutivos, a Figura 18 ilustra uma definição de parâmetros de janela. A janela mostrada na Fig. 18 tem uma parte do lado ascendente no lado esquerdo, que é denotada com "L", e também chamada região de sobreposição esquerda, uma região central que é denotada com "1", que também é chamada de região de 1 ou parte de desvio, e uma parte de lado ascendente, que é denotada por "R" e também chamada a região de sobreposição direita, Além disso, a Fig. 8 mostra uma seta que indica a região 5 "PR" de reconstrução perfeita dentro de um frame. E ainda, a Fig. 18 mostra uma seta que indica a extensão do núcleo de transformação, que é denotado por "T".
A Fig. 19 mostra um gráfico de visualização de uma sequência de janelas de AMR-WB+ na parte inferior de uma 10 tabela de parâmetro de janela, de acordo com a Fig. 18. A sequência de janelas mostrada no topo da Fig. 19 é ACELP, TCX20 (para um frame de 20 ms de duração) , TCX20, TCX40 (para um frame de 40 ms de duração),- TCX80*“(pára um Trame de 80 ms de duração), TCX20, TCX20, ACELP, ACELP.
As regiões de_sobreposição _variáveis„ podem- ser vistas pela sequência de janelas, regiões essas que sobrepõem-se exatamente por 1/82 da parte central M. A tabela da parte inferior da Fig. 19 também mostra que a extensão de transformação "T" é sempre 1/89 maior que a região de novas amostras perfeitamente 20 reconstruídas "PR". Além disso, deve-se observar que este não é o caso só para transições de ACELP para TCX, mas também para transições de TCXx para TCXx (onde "x" indica frames de TCX de extensão arbitrária). Assim, em cada bloco, é introduzido uma suspensão de 1/8-, isto é, a amostragem critica nunca é atingida.
Ao mudar de TCX para ACELP, as amostras de janela são descartadas do frame FFT-TCX na região de sobreposição, como por exemplo, está indicado no topo da Fig. 19 pela região rotulada com 1900. Ao se mudar de ACELP para TCX, a resposta de entrada zero (ZIR = resposta de entrada zero), que também é indicada pela linha pontilhada 1910 no topo da Fig. 19, é removida no codificador antes da abertura, e adicionada no decodificador para recuperação. Ao se mudar de TCX para frames de TCX, as amostras 5 abertas são usadas para fading cruzado. Como os frames TCX podem ser quantizados de maneira diferente, o erro de quantização ou ruido de quantização entre os frames consecutivos podem ser diferentes e/ou independentes. Com isso, ao se mudar de um frame para o próximo sem fading cruzado, podem ocorrer artefatos 10 observáveis, e assim, o fading cruzado é necessário, para obter-se uma certa qualidade.
Com base na tabela na parte inferior da Fig. 19, pode-se- obse-rvar que- a “região de fading"cruzado cresce com uma extensão de crescimento do frame. A Fig. 20 provê outra tabela com 15 ilustrações das diferentes janelas para as possiveis «transições, em — - AMR-WB+. Ao se transitar de TCX para ACELP, as amostras de sobreposição podem ser descartadas. Ao se transitar de ACELP para TCX, a resposta de entrada zero da ACELP pode ser removida no codificador e adicionada ao decodificador para recuperação.
A seguir será esclarecida a codificação de áudio, que utiliza codificação de dominio de tempo (TD = dominio de tempo) e dominio de frequência (FD = dominio de frequência). Além disso, entre os dois dominios de codificação, pode ser utilizada mudança. Na Fig. 21, é mostrada uma linha do tempo, durante a qual 25 um primeiro frame 2101 é codificado por um codificador de FD, seguido de outro frame 2103, que é codificado por um codificador de TD, o qual sobrepõe-se, na região 2102, ao primeiro frame 2101. 0 frame codificado de dominio de tempo 2103 é seguido por um frame s K'Z 2105, que é codificado no dominio de frequência novamente, e que sobrepõe-se, na região 2104, ao frame anterior 2103. As regiões de sobreposição 2102 e 2104 ocorrem sempre que o dominio de codificação é mudado.
A finalidade dessas regiões de sobreposição é suavizar as transições. No entanto, as regiões de sobreposição podem também tender a uma perda de eficiência de codificação e a artefatos. Portanto, as regiões de sobreposição ou transições são frequentemente escolhidas como um meio-termo entre um pouco de 10 suspensão da informação transmitida, isto é, eficiência de codificação, e a qualidade da transição, isto é, a qualidade de áudio do sinal decodificado. Para estabelecer este meio-termo, ^deve-se tomar- cuidado ao tratar das transições-e ao se projetar as janelas de transição 2111, 2113 e 2115, como indica a Fig. 21.
Conceitos convencionais _ relacionados - à administração de transições entre os modos de codificação de dominio de frequência e dominio de tempo são, por exemplo, o uso de janelas de fading cruzado, isto é, introdução de uma suspensão tão grande quanto a região de sobreposição. Uma janela de fading 20 cruzado é utilizada, desvanecendo o frame anterior e intensificando o frame seguinte simultaneamente. Esta abordagem, devido à sua suspensão, introduz deficiências na eficiência de uma decodificação, pois sempre que uma transição ocorre, o sinal não é mais amostrado criticamente. Transformações envolvidas amostradas 25 criticamente são, por exemplo, reveladas em J. Princen, A. Bradley, "Analysis/Synthesis Filter Bank Design Based on Time Domain Aliasing Cancellation", IEEE Trans. ASSP, ASSP-34 (5) :1153- 1161, 1986, e são por exemplo utilizadas em AAC (AAC = Codificação l?z de Áudio Avançada), cf. Generic Coding of Moving Pictures and Associated Audio: Advanced Audio Coding, International Standard 13818-7, ISO/IEC JTC1/SC29/WG11 Moving Pictures Expert Group, 1997.
E ainda, transições de fading cruzado sem efeito de dobragem são reveladas em Fielder, Louis D., Todd, Craig C., "The Design of a Video Friendly Audio Coding System for Distribution Applications", Paper number 17-008, The AES 17th International Conference: High-Quality Audio Coding (agosto de 10 1999) e em Fielder, Louis D., Davidson, Grant A., "Audio Coding Tools for Digital Television Distribution", Preprint Number 5104, 108th Convention of the AES (janeiro de 2000). „ - - -A WO 20087071353 revela üm conceito para alternar entre um codificador de dominio de tempo e um de dominio de 15 frequência. O conceito poderia= ser _ aplicado. .a -qualquer- codificador/decodificador baseada em alternância de dominio de tempo/dominio de frequência. Por exemplo, o conceito poderia ser aplicado a codificação de dominio de tempo de acordo com o modo de ACELP do codificador da AMR-WB+ e da AAC como um exemplo de 20 codificador de dominio de frequência. A Fig. 22 mostra um diagrama de bloco de um codificador convencional que utiliza um decodificador de domínio de frequência no ramo superior e um decodif icador de domínio de tempo no ramo inferior. A peça de decodificação de frequência é exemplificada por um decodificador 25 da AAC, composto de um bloco de requantização 2202 e um bloco de transformação discreta de cosseno modificado inverso 2204. Na AAC a transformação discreta de cosseno modificado (MDCT = Transformação Discreta do Cosseno Modificado) é usada como N. transformação entre o dominio de tempo e o dominio de frequência. Na Fig. 22, a via de decodificação do dominio de tempo é exemplificada como um decodificador AMR-WB+ 2206 seguindo de um bloco de MDCT 2208, a fim de combinar o resultado do decodificador 5 2206 ao resultado do requantizador 2202 no dominio de frequência.
Isto permite uma combinação no dominio de frequência, considerando que um estágio de sobreposição e adição, que não é mostrado na Fig. 22, pode ser usado após a MDCT 2204 inversa, a fim de combinar e fazer fading cruzado em blocos 10 adjacentes, sem ter que considerar se eles haviam sido codificados no dominio de tempo ou no dominio de frequência.
Em outra abordagem convencional que é revelada na WO2008/071353 é- evitar- a MDCT~ 2208 "da Fig.~ 22? isto ~ê, "DCT-IV e IDCT-IV para o caso de decodificação de dominio de tempo, outra 15 abordagem para o assim chamado cancelamento~de_efeito=de .dobragem — de dominio de tempo (TDAC = Cancelamento de Efeito de Dobragem-'do Dominio de Tempo) pode ser usada. Isto é demonstrado na Fig. 23. A Fig. 23 mostra outro decodificador com o decodificador de dominio de frequência exemplificado como um decodificador AAC que inclui 20 um bloco de requantização 2302 e um bloco IMDCT 2304. A via de dominio de tempo é novamente exemplificada por um decodificador AMR-WB+ 2306 e pelo bloco TDAC 2308. O decodificador mostrado na Fig. 23 permite uma combinação dos blocos decodificados no dominio de tempo, isto é, depois do IMDCT 2304, pois o TDAC 2308 introduz 25 o efeito de dobragem de tempo necessário para a devida combinação, isto é, para cancelamento de efeito de dobragem de tempo, diretamente no dominio de tempo. Para poupar alguns cálculos e ao invés de usar o MDCT em todos os primeiros e últimos superframes, tf‘ isto é, em todas as amostras 1024, de cada segmento AMR-WB+, o TDAC pode somente ser utilizado em zonas ou regiões de sobreposição em 128 amostras. O efeito de dobragem de dominio de tempo normal introduzido pelo processamento de AAC pode ser 5 mantido, enquanto o efeito de dobragem de dominio de tempo inverso correspondente nas partes de AMR-WB+ é introduzido. Janelas de fading cruzado sem efeito de dobragem apresentam a desvantagem de não serem eficientes em codificação, pois geram coeficientes codificados amostrados criticamente, e 10 adicionam suspensão de informações para codificar. Introduzir TDA (IDA = Efeito de Dobragem de Dominio de Tempo) no decodificador de dominio de tempo, como por exemplo, na WO2008/071353, reduz essa - suspensão/- mas só pode ‘ser" aplicado quando "os framingstemporais dos dois codificadores correspondem um ao outro. Caso contrário, a 15 eficiência de codificação é reduzida _novamente. _E ainda, o TDA-do lado do decodificador pode ser problemático, especialmente no ponto de partida de um codificador de dominio de tempo. Depois de uma potencial reinicialização, um codificador ou decodificador de dominio de tempo vai normalmente produzir um aumento repentino de 20 ruido de quantização devido ao vazio das memórias do codificador ou decodificador de dominio de tempo, usando por exemplo, LPC (LPC = Codificação de Previsão Linear). O decodificador levará, então, um certo tempo antes de começar a entrar em um estado permanente ou estável e prover um ruido de quantização mais uniforme com o 25 tempo. Este erro de aumento repentino é desvantajoso, pois em geral é audivel.
Portanto, o objetivo da presente invenção é prover um conceito melhorado para alternar na codificação de áudio em múltiplos domínios.
O objetivo é alcançado por um codificador de acordo com a reivindicação 1, e os métodos para codificação de acordo com a reivindicação 16, um decodificador de áudio de acordo 5 com a reivindicação 18 e um método para decodificação de áudio de acordo com a reivindicação 32.
É uma conclusão da presente invenção que uma melhor alternância em um conceito de codificação de domínio com o uso de codificação de domínio de tempo e domínio de frequência 10 pode ser obtida, quando o framing dos domínios de codificação correspondentes é adaptado ou modificado, são utilizadas janelas de fading cruzado. Em uma configuração, por exemplo, AMR-WB+ pode ...ser-usada como -codrficador"/decodificador-de-domínio de tempo e AAC pode ser usada como um exemplo de um codificador/decodificador de 15 domínio de frequência, uma alternância^ mais ^eficiente -entre os — dois codificadores/decodificadores pode ser obtida por configurações, ou adaptando-se o framing da parte AMR-WB+, ou utilizando-se janelas de início ou parada modificadas para a respectiva parte de codificação AAC. 20 Uma outra conclusão da invenção é que o TDAC pode ser aplicado ao decodificador e janelas de fading cruzado sem efeito de dobragem podem ser utilizadas.
Configurações da presente invenção podem prover a vantagem de que as informações de suspensão podem ser reduzidas, 25 introduzidas na transição de sobreposição, ao mesmo tempo em que a manutenção de regiões de fading cruzado moderado garante qualidade de fading cruzado. Configurações da presente invenção serão detalhadas usando-se as figuras acompanhantes, nas quais:
A Fig la mostra uma configuração de um codificador de áudio;
A Fig. lb mostra uma configuração de um decodificador de áudio;
As Figs. 2a-2j mostram equações para a MDCT/IMDCT;
A Fig. 3 mostra uma configuração que utiliza * framing modificado;
A Fig. 4a mostra um sinal semelhante ao periódico 10 no dominio de tempo;
A Fig. 4b mostra um sinal com voz no dominio de frequência;
A Fig. 5a mostra um sinal semelhante a ruido no dominio de tempo;
A Fig. 5b mostra umi..sinal_sem voz_no domínio de— frequência;
A Fig. 6 mostra uma CELP de análise por síntese;
A Fig . 7 ilustra um exemplo de um estágio de 20 análises de LPC em
A uma Fig. configuração; 8a mostra uma configuração com uma janela de parada modificada;
A Fig. 8b mostra uma configuração com uma janela de parada-início modificada;
A Fig. 9 mostra uma janela de princípio;
A Fig. 10 mostra uma janela mais avançada;
A Fig. 11 mostra uma configuração de uma janela de parada modificada;
A Fig. 12 ilustra uma configuração com diferentes K4 zonas ou regiões de sobreposição;
A Fig. 13 ilustra uma configuração de uma janela de inicio modificada;
A Fig. 14 mostra uma configuração de uma janela 5 de parada modificada sem efeito de dobragem aplicada em um codificador;
A Fig. 15 mostra uma janela de parada modificada sem efeito de dobragem aplicada no decodificador;
A Fig. 16 ilustra exemplos de codificador e 10 decodificador convencionais;
As Fig. 17a, 17b ilustram a LPC para sinais com voz e sem voz;
A Fig 18 ilustra-uma janela de fading cruzado do método anterior;
A Fig. 19^ ilus.tra uma sequência do método anterior de janelas de AMR-WB+;
A Fig. 20 ilustra janelas usadas para transmitir em AMR-WB+ entre ACELP e TCX;
A Fig. 21 mostra um exemplo de sequência de 20 frames de áudio consecutivos em diferentes domínios de codificação;
A Fig. 22 ilustra a abordagem convencional para decodificação de áudio em diferentes domínios; e
A Fig. 23 ilustra um exemplo de cancelamento de 25 efeito de dobragem de domínio de tempo.
A Fig. la mostra um codificador de áudio 100 para codificar amostras de áudio. O codificador de áudio 100 inclui um primeiro efeito de dobragem de domínio de tempo que introduz o ! codificador 110 para codificar amostras de áudio em um primeiro dominio de codificação, sendo que o primeiro codificador de introdução com efeito de dobragem de dominio de tempo 110 possui uma regra de framing, uma janela de inicio e uma janela de parada.
Além disso, o codificador de áudio 100 inclui um segundo codificador 120 para codificar amostras de áudio no segundo dominio de codificação. O segundo codificador 120 possui um número de tamanho de frame pré-determinado de amostras de áudio e um número de periodo de aquecimento de codificação de amostras de 10 áudio. O periodo de aquecimento de codificação pode ser certo ou pré-determinado, ele pode depender das amostras de áudio, um frame de amostras de áudio ou uma sequência de sinais de áudio. O Jsegundo- codificador "”120 possui uma segunda regra de framing diferente. Um frame do segundo codificador 120 é uma representação 15 codificada de= vá.rias__ amostras de _áudio subsequentes no- tempo-,-- sendo o número igual ao número do tamanho de frame pré-determinado de amostras de áudio.
O codificador de áudio 100 inclui ainda um controlador 130 para alternar do primeiro codificador de 20 introdução de efeito de dobragem de dominio de tempo 110 para o segundo codificador 120, em resposta a uma característica das amostras de áudio, e para modificar a segunda regra de framing em resposta à alternância do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 para o segundo 25 codificador 120, ou para modificar a janela de inicio ou a janela de parada do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110, onde a segunda regra de framing permanece inalterada.
Em configurações, o controlador 130 pode ser adaptado para determinar a característica das amostras de áudio com base nas amostras de áudio de entrada ou com base na saida do primeiro codificador de introdução de efeito de dobragem de 5 dominio de tempo 110 ou do segundo codificador 120. Isto é indicado pela linha pontilhada da Fig. la, através da qual as amostras de áudio de entrada podem ser providas ao controlador 130. Mais detalhes sobre a decisão de alternância serão providos abaixo.
Em configurações, o controlador 130 pode controlar o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 e o segundo codificador 120 de — uma maneira que ambos codifiquem ás amostras de áudio em paralelo, e o controlador 130 tome a decisão de alternância, e com base no 15 resultado respectivo, execute as modificações — antes- da - - alternância. Em outras configurações, o controlador F30 pode analisar as características das amostras de áudio e decidir qual ramo de codificação utilizar, porém, desligando o outro ramo. Em uma configuração assim, o periodo de aquecimento de codificação do 20 segundo codificador 120 torna-se irrelevante, pois antes da alternância, o periodo de aquecimento de codificação deve ser levado em conta, o que será mais detalhado abaixo.
Em configurações, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 pode 25 incluir um transformador de dominio de frequência para transformar o primeiro frame de amostras de áudio subsequentes para o dominio de frequência. O primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 pode ser adaptado para ponderar o primeiro frame codificado com a janela de inicio, quando o frame subsequente for codificado pelo segundo codificador 120 e puder ser ainda adaptado para ponderar o primeiro frame codificado com a janela de parada quando um frame anterior for codificado pelo 5 segundo codificador 120.
Deve-se observar que podem ser usadas diferentes notações, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 aplica uma janela de inicio ou uma janela de parada. Aqui, e para o restante, presume-se que uma 10 janela de inicio seja aplicada antes de alternar para o segundo codificador 120, e quando se volta do segundo codificador 120 ao primeiro codificador de introdução de efeito de dobragem de dominio -de -tempo-120, a janela ’de 'parada- é~aplicada ao primeiro codificador de introdução de efeito de dobragem de dominio de 15 tempo 110. Sem perda de generalidade, ~a expressão-pode ser-usada- vice-versa em referência ao segundo codificador 120. Para evitar confusão, aqui as expressões "início" e "parada" referem-se a janelas aplicadas ao primeiro codificador 110, quando o segundo codificador 120 é iniciado ou depois que ele é parado. 20 Em configurações, o transformador de domínio de frequência que é utilizado no primeiro codificador de introdução de efeito de dobragem de domínio de tempo 110 pode ser adaptado para transformar o primeiro frame no domínio de frequência, com base em um MDCT, e o primeiro codificador de introdução de efeito 25 de dobragem de domínio de tempo 110 pode ser adaptado para adaptar um tamanho de MDCT às janelas de início e parada ou às janelas de início e parada modificadas. Os detalhes do MDCT e seu tamanho serão estabelecidos abaixo.
Em configurações, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 pode consequentemente ser adaptado para usar uma janela de inicio e/ou parada com uma parte sem efeito de dobragem, isto é, dentro da 5 janela existe uma parte sem efeito de dobragem do dominio de tempo. Além disso, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 pode ser adaptado para usar uma janela de inicio e/ou de parada com uma parte sem efeito de dobragem em uma parte do lado ascendente da janela, quando o frame 10 anterior for codificado pelo segundo codificador 120, isto é, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 utilizar uma janela de parada com uma parte do-—- lado — ascendente* que” nãci ‘tenha efeito de dobragem. Consequentemente, o primeiro codificador de introdução de efeito 15 de dobragem de dominio de _ tempo _ 110. pode _ser. adaptado-para — utilizar uma janela com uma parte do lado descendente sem efeito de dobragem, quando um frame subsequente for codificado pelo segundo codificador 120, isto é, utilizando uma janela de parada com uma parte do lado descendente, que não tem efeito de dobragem. 20 Em configurações, o controlador 130 pode ser adaptado para iniciar o segundo codificador 120 de maneira que um primeiro frame de uma sequência de frames do segundo codificador 120 inclua uma representação codificada das amostras processadas na parte anterior sem efeito de dobragem do primeiro codificador 25 de introdução de efeito de dobragem de dominio de tempo 110. Em outras palavras, a saida do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 e o segundo codificador 120 podem ser coordenados pelo controlador 130 de uma maneira que uma parte sem efeito de dobragem das amostras de áudio codificadas do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 sobreponha-se à saída das amostras de áudio codificadas pelo segundo codificador 120. O controlador 130 pode 5 ainda ser adaptado para fading cruzado, isto é, entrada de fading de um codificador, simultânea à saída de fading do outro codificador.
O controlador 10 pode ser adaptado para iniciar o segundo codificador 120 de maneira que o número do período de 10 aquecimento de codificação de amostras de áudio sobreponha a parte sem efeito de dobragem da janela de inicio do primeiro codificador de introdução de efeito de dobragem de domínio de tempo 110, e um 'frame "Subsequente dõ segundo codificador 120 sobreponha-se à parte - com efeito de dobragem da janela de parada. Em outras palavras, o 15 controlador JJ30 pode coordenar o «segundo coordenador 120- de — - maneira que para o período de aquecimento dê codificação, amostras de áudio sem efeito de dobragem estejam disponíveis pelo primeiro codificador 110, e quando somente amostras de áudio com efeito de dobragem estiverem disponíveis pelo primeiro codificador de 20 introdução de efeito de dobragem de domínio de tempo 110, o período de aquecimento do segundo codificador 120 terá terminado, e amostras de áudio codificadas estarão disponíveis na saída do segundo codificador 120 de maneira regular.
O controlador 130 pode ainda ser adaptado para 25 iniciar o codificador 120 de maneira que o período de aquecimento de codificação sobreponha-se à parte com efeito de dobragem da janela de início. Nesta configuração, durante a parte de sobreposição, amostras de áudio com efeito de dobragem estão disponíveis pela saída do primeiro codificador de introdução de efeito de dobragem de domínio de tempo 110, e na saída do segundo codificador 120, podem estar disponíveis amostras de áudio codificadas do período de aquecimento, que podem apresentar um 5 aumento no ruído de quantização. O controlador 130 pode ainda ser adaptado para fading cruzado entre as duas sequências de áudio codificadas de maneira sub-ideal durante um período de sobreposição.
Em outras configurações, o controlador pode ser 10 ainda adaptado para alternar do primeiro codificador 110 em resposta a uma característica diferente das amostras de áudio, e para modificar a segunda regra de framing em resposta à áTternância* dô primeiro codificador de introdução de efeito de dobragem de domínio de tempo 110 para o segundo codificador 120, 15 ou para modificar _a janela^de início, ou a—janela de- parada-=do primeiro codificador, onde a segunda regra de framing permanece inalterada. Em outras palavras, o controlador 130 pode ser adaptado para alternar para trás e para frente entre os dois codificadores de áudio.
Em outras configurações, o controlador 130 pode ser adaptado para iniciar o primeiro codificador de introdução de efeito de dobragem de domínio de tempo 110 de maneira que a parte sem efeito de dobragem da janela de parada sobreponha-se ao frame do segundo codificador 120. Em outras palavras, em configurações, 25 o controlador pode ser adaptado para fading cruzado entre as saídas dos dois codificadores. Em algumas representações, a saída do segundo codificador desvanece, apesar de codificada somente de maneira sub-ideal, isto é amostras de áudio com efeito de dobragem do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 são intensificadas. Em outras configurações, o controlador 130 pode ser adaptado para fading cruzado entre um frame do segundo codificador 120 e frames sem efeito de dobragem 5 do primeiro codificador 110.
Em configurações, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 pode incluir um codificador de AAC de acordo com a Codificação Genérica de Imagens em Movimento e Áudio Associado: Codificação de Áudio Avançada, Padrão Internacional 13818-7, ISO/IEC JTC1/SC29/WG11 Grupo de Especialistas de Imagens em Movimento, 1997.
Em configurações, o segundo codificador 120 pode 'Üncluir úfrT~ codifdcadòr AMR-WB+ de acordo com o 3GPP (3GPP = Projeto de Parceria de Terceira Geração), Especificação Técnica 15 26.290, Versão 6..3.0, de junho de >2005 "Função- de processamento-de \ - codificador/decodificador de áudio; Codificador/decodificador de banda de frequência múltipla adaptativa estendida; Funções de transcodificação", edição 6.
O controlador 130 pode ser adaptado para 20 modificar a regra de framing da AMR ou da AMR-WB+ de maneira que um primeiro superframe inclua cinco frames AMR, onde de acordo com a especificação técnica mencionada acima, um superframe inclua quatro frames AMR regulares, compare a Fig. 4, Tabela 10 da página 18 e a Fig. 5 da página 20 da Especificação Técnica mencionada 25 acima. Como será mais detalhado abaixo, o controlador 130 pode ser adaptado para adicionar um frame extra a um superframe AMR. Deve- se observar que em configurações, o superframe pode ser modificado adicionando-se frames ao inicio ou ao final de qualquer superframe, isto é, as regras de framing podem ser também correspondidas ao final de um superframe.
A Fig. 1b mostra uma configuração de um decodificador de áudio 150 para decodificar frames codificados de 5 amostras de áudio. O decodificador de áudio 150 inclui um primeiro decodificador de introdução de efeito de dobragem de dominio de tempo 160 para decodificar amostras de áudio. O primeiro decodificador de introdução com efeito de dobragem de dominio de tempo 160 possui uma primeira regra de framing, uma janela de 10 inicio e uma janela de parada. O decodificador de áudio 150 inclui ainda um segundo codificador 170 para decodificar amostras de áudio em um segundo dominio de decodificação. O segundo decodificador - 1-70 -possuí um' número de tamanho de frame pré- determinado de amostras de áudio e um número de período de 15 aquecimento de codificação _de amostras -de- áudio-. “Além" dis"Sõ7 o segundo decodificador 170 possui uma segunda regra de framing diferente. Um frame do segundo decodificador 170 pode corresponder a uma representação decodificada de várias amostras de áudio subsequentes no tempo, sendo o número igual ao número do tamanho 20 de frame pré-determinado de amostras de áudio.
O decodificador de áudio 150 inclui ainda um controlador 180 para alternar do primeiro decodificador de introdução de efeito de dobragem de domínio de tempo 170 para o segundo codificador 170, com base em uma indicação no frame 25 codificado de amostras de áudio, onde o controlador 180 é adaptado para modificar a segunda regra de framingem resposta à alternância do primeiro decodificador de introdução de domínio de tempo 160 para o segundo decodificador 170, ou para modificar a janela de início ou a janela de parada do primeiro decodificador 160, onde a segunda regra de framingpermanece inalterada.
De acordo com a descrição acima, como por exemplo, no codificador e decodificador AAC, as janelas de início 5 e parada são aplicadas ao codificador, bem como ao decodificador.
De acordo com a descrição acima do codificador de áudio 100, o decodificador de áudio 150 provê os componentes de decodificação correspondentes. A indicação de alternância para o controlador 180 pode ser provida em termos de um bit, uma flagou qualquer 10 informação secundária, juntamente aos framescodificados.
Em configurações, o primeiro decodificador 160 pode incluir um transformador de domínio de tempo para transformar um primeiro. frame, de - amostras’ de''áudio "decodificadas para o dominio de tempo. O primeiro decodificador de introdução de efeito 15 de dobragem de domínio de tempo 160 _ppde. .ser. ^adaptado para"" ponderar o primeiro frame decodificado com a janela de início, quando um frame subsequente for decodificado pelo segundo decodificador 170 e/ou para ponderar o primeiro frame decodificado com a janela de parada, quando um frame anterior for decodificado 20 pelo segundo decodificador 170. O transformador de domínio de tempo pode ser adaptado para transformar o primeiro frame no domínio de tempo com base em uma MDCT inversa (IMDCT = MDCT inversa) e/ou o primeiro decodificador de introdução de efeito de dobragem de domínio de tempo 160 pode ser adaptado para adaptar um 25 tamanho de IMDCT às janelas de início e/ou parada ou janelas de início e/ou parada modificadas. Os tamanhos de IMDCT serão detalhados mais abaixo.
Em configurações, o primeiro decodificador de introdução de efeito de dobragem de dominio de tempo 160 pode ser adaptado para usar uma janela de inicio e/ou parada sem efeito de dobragem ou com uma parte sem efeito de dobragem. O primeiro decodificador de introdução de efeito de dobragem de dominio de 5 tempo 160 pôde ser também adaptado para usar uma janela de parada com uma parte sem efeito de dobragem em uma parte do lado ascendente da janela, quando o frame anterior for decodificado pelo segundo decodificador 170, e/ou o primeiro decodificador de introdução de efeito de dobragem de domínio de tempo 160 pode ter 10 uma janela de início com uma parte do lado descendente sem efeito de dobragem, quando um frame subsequente for decodificado pelo segundo decodificador 170.
Correspondendo- às configurações do codificador de áudio 100 descritas acima, o controlador 180 pode ser adaptado 15 para iniciar o segundo decodificador 170 de_ maneira, que-o- primeiro 'frame de uma sequência de frames do segundo decodificador 170 inclua uma representação codificada de uma amostra processada na parte anterior sem efeito de dobragem do primeiro decodificador 160. O controlador 180 pode ser adaptado para iniciar o segundo 20 decodificador 170 de maneira que o número de período de aquecimento de codificação de amostra de áudio sobreponha-se à parte sem efeito de dobragem da janela de início do primeiro decodificador de introdução de efeito de dobragem de domínio de tempo 160 e um frame subsequente do segundo decodificador 170 25 sobreponha-se à parte com efeito de dobragem da janela de parada.
Em outras configurações, o controlador 180 pode ser adaptado para iniciar o segundo decodificador 170 de maneira que o período de aquecimento de codificação sobreponha-se à parte com efeito de dobragem da janela de inicio.
Em outras configurações, o controlador 180 pode ainda ser adaptado para alternar do segundo decodificador 170 para o primeiro decodificador 160 em resposta a uma indicação das 5 amostras de áudio codificadas e para modificar a segunda regra de framing em resposta à alternância do segundo decodificador 170 para o primeiro decodificador 160, ou para modificar a janela de inicio e a janela de parada do primeiro decodificador 160, onde a segunda regra de framingpermanece inalterada. A indicação pode 10 ser provida em termos de uma flag,um bit ou qualquer informação secundária juntamente aos framescodificados.
Em configurações, o controlador 180 pode ser adaptado_ para ..iniciar-o- primeiro' décódificador de introdução de efeito de dobragem de dominio de tempo 160 de maneira que a parte 15 com efeito de dobragem da janela de parada, sobreponha-se ao- frame do segundo decodificador 170.
O controlador 180 pode ser adaptado para aplicar um fading cruzado entre os frames consecutivos de amostras de áudio decodificadas dos diferentes decodificadores. Além disso, o 20 controlador 180 pode ser adaptado para determinar um efeito de dobragem em uma parte com efeito de dobragem da janela de inicio ou parada, e o controlador pode a partir de um frame decodificado do segundo decodif icador 170, e o controlador 180 pode ser adaptado para reduzir o efeito de dobragem na parte com efeito de 25 dobragem com base no efeito de dobragem determinado.
Em configurações, o controlador 180 pode ainda ser adaptado para descartar o periodo de aquecimento de codificação de amostras de áudio pelo segundo codificador 170.
A seguir, os detalhes da transformação discreta de cosseno modificado (MDCT = Transformação discreta de cosseno modificado) e da IMDCT serão descritos. A MDCT será explicada em mais detalhes com a ajuda de equações ilustradas nas Fig. 2a-2j . A 5 transformação discreta de cosseno modificado é uma transformação de Fourier relacionada baseada na transformação discreta de cosseno tipo IV (DCT-IV = Transformação Discreta de Cosseno tipo IV) , com a propriedade adicional de ser sobreposta, isto é, ela é projetada para ser executada em blocos consecutivos de um conjunto 10 de dados maior, onde blocos subsequentes são sobrepostos de maneira que, por exemplo, a última metade de um bloco coincida com a primeira metade do próximo bloco. Esta sobreposição, juntamente às qualidades de compactação de energia ~da~ DCT, ^tofnairT a =MDCT especialmente atrativa para aplicações de compressão de sinal, 15 -pois a-juda a evitar- artefatos provenientes, dos JLimites do bloco.
Assim, uma MDCT é empregada em MP3 (MP3 = MPEG2/4 camada 3), AC-3 (AC-3 = Codificador/decodificador de áudio 3 por Dolby) , Ogg Vorbis, e AAC (AAC = Codificação de Áudio Avançada) para compressão de áudio, por exemplo.
A MDCT foi proposta por Princen, Johnson e Bradley em 1987, após o trabalho anterior (1986) de Princen e Bradley para desenvolver o principio subjacente da MDCT de cancelamento de efeito de dobragem de dominio de tempo (TDAC), descrito em detalhes abaixo. Existe também uma transformação 25 análoga, a MDST (MDST = DST Modificada, DST = Transforma de Seno Discreta), baseada na transformação discreta de seno, bem como outras, raramente utilizadas, formas da MDCT baseadas em diferentes tipos de DCT ou combinações DCT/DST, que podem também ser usadas em configurações pela transformação de introdução de efeito de dobragem de dominio de tempo.
Em MP3, a MDCT não é aplicada ao sinal de áudio diretamente, mas sim à saida de um banco de filtro de quadratura 5 polifásico de 32 bandas (PQF = Filtro de Quadratura Polifásico) . A saida desta MDCT é pós-processada por uma fórmula de redução de efeito de dobragem para reduzir o efeito de dobragem tipico do banco de filtro PQF. Essa combinação de um banco de filtro com uma MDCT é chamada banco de filtro hibrido ou MDCT de sub-banda. A 10 AAC, por outro lado, normalmente utiliza uma MDCT pura; somente a variante MPEG-4 AAC-SSR (raramente usada) (pela Sony) utiliza um banco PQF de quatro bandas seguido de uma MDCT. A ATRAC (ATRAC = Codificação de Áudio de Transformação Adaptatíva? use' filtros de espelho de quadratura (QMF) superpostos, seguidos de uma MDCT. 15 = - Como uma-transformação sobreposta, a MDCT é um _ pouco incomum em comparação a outras transformações de Fourier relacionadas, por ter a metade das saidas e entradas (ao invés do mesmo número) . Em particular, é uma função linear F: R2N -> RN, onde R denota o conjunto de números reais. Os números reais 2N x0, 20 ..., X2N-1 são transformados nos números reais N Xo, . .., XN-1Z de acordo com a fórmula da Fig. 2.
O coeficiente de normalização à frente desta transformação, aqui unidade, é uma convenção arbitrária e difere entre os tratamentos. Somente o produto das normalizações da MDCT 25 e da IMDCT, abaixo, é forçado.
A MDCT inversa é conhecida como IMDCT. Como há diferentes números de entradas e saidas, em um primeiro momento pode parecer que a MDCT não deveria ser passivel de inversão. No entanto, é obtida uma inversibilidade perfeita adicionando-se as IMDCT sobrepostas de blocos de sobreposição subsequentes, fazendo com que os erros sejam cancelados e os dados originais sejam recuperados; esta técnica é conhecida como cancelamento de efeito 5 de dobragem do dominio de tempo (TDAC).
A IMDCT transforma os números reais N Xoz . . . , XN_ i em números reais 2N y0, . . . , y2N-iz de acordo com a fórmula da Fig. 2b. Como ocorre com a DCT-IV, uma transformação ortogonal, o inverso tem a mesma forma que a transformação para frente.
No caso de uma MDCT com janela com a normalização de janela usual (vide abaixo), o coeficiente de normalização à frente da IMDCT deve ser multiplicado por 2, isto é, tornando-se 2/N. .
Apesar da aplicação direta da fórmula de MDCT 15 necessitar de operações- o (N2) é .possivel ..computar a mesma coisa somente com a complexidade de O(N logN) , fatorizando recorrentemente o computador, como na Transformação Rápida de Fourier (FFT). Pode-se também computar as MDCT através de outras transformações, tipicamente uma DFT (FFT) ou uma DCT, combinadas 20 às etapas de pré- e pós-processamento de O(N) . Além disso, conforme descrito abaixo, qualquer algoritmo para a DCT-IV provê imediatamente um método para computar a MDCT e a IMDCT de tamanho igual.
Em aplicações tipicas de sinal-compressão, as 25 propriedades de transformação são mais melhoradas utilizando-se uma função de janela wn (n = 0, ..., 2N-1), que é multiplicada com xn e yn nas fórmulas de MDCT e IMDCT acima, a fim de evitar suavemente para zero nesses pontos. Isto é, os dados são colocados em janelas antes da MDCT e depois da IMDCT. A princípio, x e y poderiam ter diferentes funções de janela, e a função de janela poderia também mudar de um bloco para o próximo, especialmente 5 para o caso onde blocos de dados de diferentes tamanhos são combinados, porém, para simplicidade, o caso comum de funções de janela idênticas para blocos de tamanho igual é considerado primeiro.
A transformação permanece inversível, isto é, o 10 TDAC funciona, para uma janela simétrica wn = w2N-i-n, contanto que w atenda a condição de Princen-Bradley de acordo com a Fig. 2c.
Várias funções de janela diferentes são comuns, um exemplo é dado na Fig. 2d para- AAC' de "MP3 "e MPEG-2T e "Tfâ Figura 2e para Vorbis. AC-3 utiliza uma janela derivada de Kaiser-Bessel 15 — (KBD = Derivada-de Kaideer-Bessel), _e, a AAC de MPEG-jl pode também utilizar uma janela KBD.
Observe que as janelas aplicadas à MDCT são diferentes das janelas usadas para outros tipos de análise de sinal, pois elas devem atender a condição de Princen-Bradley. Uma 20 das razões para essa diferença é que as janelas da MDCT são aplicadas duas vezes, tanto para a MDCT (filtro de análise) como para a IMDCT (filtro de síntese).
Como pode ser observado pela inspeção das definições, também para N, a MDCT é essencialmente equivalente a 25 uma DCT-IV, onde a entrada é deslocada em N/2 e dois blocos N de dados são transformados ao mesmo tempo. Ao se examinar esta equivalência mais cuidadosamente, propriedades importantes como o TDAC podem ser facilmente derivadas. €
Para definir a relação exata com a DCT-IV, deve- se notar que a DCT-IV corresponde a condições de limite par/impar alternadas, é par em seu limite esquerdo (aproximadamente n = - 1/2) , impar em seu limite direito (aproximadamente n = N-l/2) , e 5 assim por diante (ao invés de limites periódicos como para uma DFT) . Isto segue a partir das identidades dadas na Fig. 2f. Assim, se essas entradas forem um sistema x de comprimento N, imaginar estender esse sistema para (x, -xR, -x, xR, . . . ) e assim por diante pode ser imaginado, onde xR denota x em ordem inversa.
Considere uma MDCT com entradas 2N e saidas N, onde as entradas podem ser divididas em quatro blocos (a, b, c, d), cada um de tamanho N/2. Se eles forem deslocados em N/2 (do termo +N/2 na definição de MDCT), então (b,-c, “d) estendem-se pela extremidade das entradas N DCT-IV, então devem ser "dobrados" de 15 volta* de-acordo-com. as-condições de limite descritas ar:ima. _ Assim, a MDCT de entradas 2N (a, b, c, d) é exatamente equivalente a uma DCT-IV das entradas N: (=cR-d, a-bR) , onde R denota reversão como acima. Assim, qualquer algoritmo para computar a DCT-IV pode ser trivialmente aplicado à MDCT.
De maneira semelhante, a fórmula da IMDCT mencionada acima é precisamente 1/2 da DCT-IV (que é seu próprio inverso) , onde a saida é deslocada por N/2 e estendida (através de condições de limite) a uma extensão 2N. A DCT-IV inversa simplesmente retornaria as entradas (-cR-d, a-bR) acima. Quando 25 isso é deslocado e estendido através das condições de limite, obtém-se o resultado exibido na Fig. 2g. Metade das saidas de IMDCT são, portanto, redundantes. Pode-se entender agora como o TDAC funciona.
Suponha que se compute a MDCT do bloco 2N subsequente, 50% superposto (c, d, e, f) . A IMDCT resultará, então, análoga ao acima: (c-dR, d-cR, e+fR, eR+f)/2. Quando isto é adicionado ao resultado de IMDCT anterior na metade de sobreposição, os termos 5 reversos cancelam-se, e obtém-se simplesmente (c,d), recuperando- se os dados originais.
A origem do termo “cancelamento de efeito de dobragem de dominio de tempo" agora fica clara. O uso de dados de entrada que se estendem além dos limites da DCT-IV lógica fazem 10 com que os dados tenham o efeito de dobragem exatamente da mesma maneira que as frequências além da frequência Nyquist têm o efeito de dobragem em frequências mais baixas, exceto que esse efeito de dobragem ocorre no dominio de tempo ao invés ””do "“domínio" de” frequência. Por isso as combinações c-dR e assim por diante, que 15 têm precisamente os sinais.certos_para as= combinações cancelarem^ quando são adicionados.
Para N ímpar (que raramente é utilizado na prática) , N/2 não é simplesmente uma permutação de deslocamento de uma DCT-IV. Neste caso, o deslocamento adicional em meia amostra 20 significa que a MDCT/IMDCT torna-se equivalente à DCT III/II, e a análise é análoga à acima.
Acima, a propriedade de TDAC foi comprovada para a MDCT comum, mostrando que a adição de IMDCT de blocos subsequentes em sua metade de sobreposição recupera os dados 25 originais. A derivação desta propriedade inversa para a MDCT com janela é só levemente mais complicada.
Lembre-se, com base no acima mencionado, que quando (a, b, c, d) e (c, d, e, f) passam por MDCT, IMDCT e são adicionados à sua metade de sobreposição, obtemos (c + dR, cR + d)/2 (c - dR, d - cR)/2 = (c, d), os dados originais.
Agora, supõe-se a multiplicação de ambas as entradas de MDCT e saídas de IMDCT por uma função de janela de 5 extensão 2N. Conforme acima, presumimos que uma função de janela simétrica, que tem, portanto, a forma (w,z,zR, wR) , onde w e z são vetores de extensão N/2 e R denotam reversão, como antes. Assim, a condição Princen-Bradley pode ser redigida como w2+ z2n = (1,1, . . . ) , com as multiplicações e adições feitas com elementos ou de maneira equivalente W2n + z2 = (1,1, . . . ) , revertendo w e z.
Portanto, ao invés de passar por MDCT (a,b,c,d), 15— a -MDCT— (wa, zb-, zRc, .^wRd)„ passa .por JMDCT_=corn, todas as multiplicações feitas com elementos. Quando isso passa por IMDCT e é multiplicado novamente (com elementos) pela função de janela, a última metade N resulta no que é mostrado na Fig. 2h.
Observe que a multiplicação por não está mais 20 presente, pois a normalização de IMDCT difere por um fator de 2 no caso da janela. De maneira semelhante, a MDCT e a IMDCT com janela de (c,d,e,f) resulta, em sua primeira metade N, de acordo com a Fig. 2i. Quando essas duas metades são unidas, os resultados da Fig. 2j são obtidos, recuperando os dados originais. 25 A seguir, uma configuração será detalhada, na qual o controlador 130 do lado do codificador e o controlador 180 do lado do decodificador, respectivamente, modificam a segunda regra de framing em resposta à alternância do primeiro domínio de código para o segundo dominio de código. Na configuração, é obtida uma transição suave em um codificador com alternância, isto é, alternância entre codificação AMR-WB+ e AAC. Para ter-se uma transição suave, é utilizado um pouco de sobreposição, isto é, um 5 segmento curto de um sinal ou um número de amostras de áudio, aos quais ambos os modos de codificação são aplicados. Em outras palavras, na descrição a seguir, será provida uma configuração, onde o primeiro codificador de efeito de dobragem de dominio de tempo 110 e o primeiro decodif icador de efeito de dobragem de 10 dominio de tempo 160. correspondem à codificação e decodificação de AAC. O segundo codificador 120 e decodificador 170 correspondem a AMR-WB+ em modo ACELP. A configuração corresponde a uma opção dos respectivos controladores 130 e 180, nos quais o framing-da ~AMR-‘ WB+, isto é, a segunda regra de framing, é modificado. 15 “ - =■■- "A Fig-. 3-mostra .uma .Linha, do atempo na qual várias,., janelas e frames são mostrados. Na Fig. 3, uma janela regular AAC 301 é seguida por uma janela de inicio AAC 302. Na AAC, a janela de inicio AAC é usada entre frames longos e frames curtos. Para ilustrar o framing de legado, isto é, a primeira regra de framing 20 do primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110 e do decodif icador 160, uma sequência de janelas AAC curtas 303 também é mostrada na Fig. 3. A sequência de janelas AAC curtas 303 é concluida com uma janela de parada AAC 304, que inicia uma sequência de janelas AAC longas. De acordo com 25 a descrição acima, presume-se na presente configuração que o segundo codificador 120, decodificador 170, respectivamente, utilizam o modo ACELP da AMR-WB+. A AMR-WB+ utiliza frames de tamanho igual, dos quais uma sequência 320 é mostrada na Fig. 3. A o «
Fig. 3 mostra uma sequência de frames de pré-filtro de diferentes tipos, de acordo com a ACELP da AMR-WB+. Antes de alternar de AAC para ACELP, o controlador 130 ou 180 modifica o framing da ACELP de modo que o primeiro superframe 320 seja composto de cinco 5 frames ao invés de quatro. Portanto, os dados de ACE 314 ficam disponíveis no decodificador, enquanto os dados decodificados de AAC também são disponibilizados. Portanto, a primeira parte pode ser descartada no decodificador, pois isto refere-se ao periodo de aquecimento de codificação do segundo codificador 120, o segundo 10 decodificador 170, respectivamente. Em geral, em outras configurações, o superframe AMR-WB+ pode ser estendido adicionando-se frames também no final de um superframe.
A Fig. 3 mostra duas transições de modo, isto T, de AAC para AMR-WB+ e de AMR-WB+ para AAC. Em uma configuração, as 15 janelas -típicas —de — inicio/parada . ,302 e __ 304, jdo codificador/decodificador AAC são usadas, e a extensão do frame, do codificador/decodificador AMR-WB+ aumenta para sobrepor a parte desvanecente da janela de inicio/parada do codificador/decodificador AAC, isto é, a segunda regra de framing 20 é modificada. De acordo com a Fig. 3, as transições de AAC para AMR-WB+, isto é, do primeiro codificador de introdução de efeito de dobragem 110 para o segundo codificador 120 ou do primeiro decodificador de introdução de efeito de dobragem 160 para o segundo decodificador 170, respectivamente, são tratadas mantendo- 25 se o framingde AAC e estendendo-se o frame de dominio de tempo na transição, a fim de cobrir a sobreposição. O superframe AMR-WB+ na transição, isto é, o primeiro superframe 320 da Fig. 3, usa cinco frames ao invés de quatro, com o quinto frame cobrindo a sobreposição. Isto introduz suspensão de dados, no entanto, a configuração provê a vantagem de garantir uma transição suave entre os modos AAC e AMR-WB+.
Como já foi mencionado acima, o controlador 130 5 pode ser adaptado para alternar entre os dois domínios de código com base na característica das amostras de áudio onde diferentes análises ou diferentes opções são concebíveis. Por exemplo, o controlador 130 pode alternar o modo de codificação com base em uma fração fixa ou fração provisória do sinal. Outra opção seria 10 alternar com base em se as amostras de áudio correspondem a um sinal mais com voz ou mais sem voz. A fim de prover uma configuração detalhada para determinar as características das amostras de áudio, segue uma configuração do controlador 130, —que alterna com base na semelhança de voz do sinal. 15 - ■- Como—exemplo., ~é« feita referência às_Fig..=4a e._4b, 5a e 5b, respectivamente. Segmentos de sinal do tipo de impulso e semelhantes ao periódico ou porções de sinal e segmentos de sinal do tipo de ruído ou porções de sinal são discutidos como exemplo. Em geral, os controladores 130, 180 podem ser adaptados para 20 decidir, com base em diferentes critérios, como por exemplo, caráter fixo, transitório, brancura espectraletc. A seguir um exemplo de critérios é dado como parte de uma configuração. Especificamente, uma fala com voz é ilustrada na Fig. 4a no dominio de tempo e na Fig. 4b no domínio de frequência, e é 25 discutida como exemplo para uma porção de sinal do tipo de impulso semelhante ao periódico, e um segmento de fala sem voz como exemplo para uma porção de sinal do tipo de ruído é discutido cm referência às Fig. 5a e 5b. í- «
A fala pode ser em geral classificada como com voz, sem voz ou mista. Fala com voz é semelhante ao periódico no dominio de tempo e harmonicamente estruturada no dominio de frequência, enquanto a fala sem voz é aleatória e de banda larga.
Além disso, a energia de segmentos com voz é em geral mais alta que a energia de segmentos sem voz. O espectro de curto prazo de fala com voz é caracterizado por sua estrutura fina e do formante. A estrutura harmônica fina é uma consequência da semelhança ao periódico da fala, e pode ser atribuida às cordas vocais 10 vibratórias.
A estrutura do formante, que também é chamado envelope espectral, é devida à interação da fonte e os tratos vocais. Os tratos vocais são compostos da faringe e da cavidade'bucal. O formato do envelope espectral que "se encaixa" no 15 espectro de curto- prazo —de -= fala com -voz..está associado, às„. características de transferência do trato vocal e da inclinação espectral (6 dB/oitava), devido ao pulso glotal.
O envelope espectral é caracterizado por um conjunto de picos, que são chamados formantes. Os formantes são os 20 modos ressonantes do trato vocal. Para o trato vocal médio existem de 3 a 5 formantes abaixo de 5 kHz. As amplitudes e locais dos primeiros três formantes, que em geral ocorrem abaixo de 3 kHz são muito importantes, tanto em sintese como percepção de fala. Formantes mais altos também são importantes para representações de 25 banda larga e fala sem voz. As propriedades de fala estão relacionadas aos sistemas de produção de fala fisicos como segue. Excitar o trato vocal com pulsos de ar glotais semelhantes ao periódico gerados pelas cordas vocais em vibração produz fala com voz. A frequência dos pulsos periódicos é denominada frequência fundamental ou passo. Forçar o ar através de uma constrição no trato vocal produz fala sem voz. Sons nasais são devidos ao acoplamento acústico do trato nasal com o trato vocal, e sons 5 plosivos são reduzidos reduzindo-se abruptamente a pressão de ar, que foi acumulada atrás do fechamento do trato.
Assim, uma porção do tipo de ruido do sinal de áudio pode ser uma parte fixa no dominio de tempo, conforme ilustrado na Fig. 5a, ou uma porção fixa no dominio de frequência, 10 que é diferente da porção do tipo de impulso semelhante ao periódico, conforme ilustrado, por exemplo, na Fig. 4a, devido ao fato de que a porção fixa no dominio de tempo não apresenta pulsos repetitivos permanentes. Como será explicado posteriormente, no entanto, a diferenciação entre porções do tipo de ruido e porções 15 do tipo de impulso semelhante- ao -periódico _podem também _ser observadas depois de uma LPC para o sinal de excitação. A LPC é um método que modela o trato vocal e a excitação dos tratos vocais. Quando o dominio de frequência do sinal é considerado, sinais do tipo de impulso apresentam a aparência proeminente dos formantes 20 individuais, isto é, os picos proeminentes da Fig. 4b, enquanto o espectro fixo apresenta um espectro bastante amplo, conforme ilustra a Fig. 5b, ou no caso de sinais harmônicos, um piso de ruido bem continuo com alguns picos proeminentes representando tons especificos que ocorrem, por exemplo, em um sinal de música, 25 mas que não apresentam essa distância regular uns dos outros como o sinal do tipo de impulso da Fig. 4b.
Além disso, porções do tipo de impulso semelhantes ao periódico e porções do tipo de ruido podem ocorrer de maneira oportuna, isto é, o que significa que uma porção do sinal de áudio no tempo é ruidosa e outra porção do sinal de áudio no tempo é semelhante ao periódico, isto é, tonal. Alternativamente, ou além disso, a característica de um sinal pode 5 ser diferente em diferentes bandas de frequência. Assim, a determinação se o sinal de áudio é ruidoso ou tonal pode também ser feita com seleção de frequência, de maneira que uma determinada banda de frequência ou várias determinadas bandas de frequência são consideradas ruidosas e outras bandas de frequência 10 são consideradas tonais. Neste caso, uma dèterminada porção de tempo do sinal de áudio pode incluir componentes tonais e componentes ruidosos. ■ ,*
Subsequentemente, um codificador de CELP de “ análise por síntese será discutido com referência à Fig. 6. 15 ..Detalhes de um codificador de^CELP—podem. também ser encontrados» em "-Speech Coding-: A--tutorial-'revi-ew", Andreas Spanias, Proceedings of IEEE, Vol. 84, No. 10, October 1994, pp. 1541-1582. O codificador de CELP ilustrado na Fig. 6 inclui um componente de previsão de longo prazo 60 e um componente de um componente de 20 previsão de curto prazo 62. Além disso, é utilizado um livro de código que está indicado em 64. Um filtro de ponderação perceptual W(z) é implementado em 66, e um controlador de minimização de erro é provido em 68. s (n) é o sinal de áudio de entrada de domínio de tempo. Depois de ter sido perceptualmente ponderado, o sinal 25 ponderado é inserido em um subtraendo 69, que calcula o erro entre o sinal de síntese ponderado na saída do bloco 66 e o sinal ponderado real sw(n).
Em geral, a previsão de curto prazo A(z) é calculada por uma análise de LPC que será discutida em detalhe abaixo. Dependendo dessa informação, a previsão de longo prazo AL(z) inclui o ganho de previsão de longo prazo b e retardo T (também conhecido como ganho de altura e retardo de altura) O 5 algoritmo de CELP codifica então o sinal residual obtido após as previsões de curto prazo e longo prazo, usando um livro de códigos de, por exemplo, sequências de Gaussian. O algoritmo de ACELP, onde o "A" significa "algébrico" tem um livro de códigos especifico algebricamente elaborado. 10 O livro de códigos pode conter mais ou menos vetores, onde cada vetor tem uma extensão de acordo com um número de amostras, um fator de ganho g muda o vetor de código de escala, e as amostras codificadas com ganho são filtradas pelo filtro de sintese de longo prazo e um filtro de sintese de previsão de curto 15 -prazo.-—O Vetor—de código "ideais é selecionado—de maneira que_o erró~ cie-quadradcf médio"“perceptúãlmente pondórado sega minimizado. O processo de busca na CELP é evidente com base no esquema análise por sintese ilustrado na Fig. 6. Deve-se observar que a Fig. 6 ilustra somente um exemplo de uma CELP de análise por sintese e 20 que as configurações não devem ser limitadas à estrutura demonstrada na Fig. 6.
Na CELP, o previsor de longo prazo é com frequência implementado como um livro de códigos adaptativo que contém o sinal de excitação anterior. O retardo e o ganho de 25 previsão de longo prazo são representados por um indice e ganho de livro de códigos adaptativo, os quais são também selecionados minimizando-se o erro ponderado de quadrado médio. Neste caso o sinal de excitação é composto da adição dos dois vetores com escala de ganho, um do livro de código adaptativo e um de um livro de código fixo. O filtro de ponderação perceptual em AMR-WB+ baseia-se no filtro de LPC, assim, o sinal perceptualmente ponderado é uma forma de um sinal de domínio de LPC. No 5 codificador de domínio de transformação usado em AMR-WB+, a transformação é aplicada ao sinal ponderado. No decodificador, o sinal de excitação pode ser obtido filtrando-se o sinal ponderado decodificado por um filtro composto do inverso dos filtros de síntese e de ponderação.
A funcionalidade de uma configuração de estágio da análise de codificação preditiva 12 será discutida subsequentemente de acordo com a configuração mostrada na Fig. 7, usando análise de LPC e síntese de LPC nos controladores 130, 180 nas configurações concordantes. 15 —— — A Fig .=7-. ilustra—uma implementação-mais detalhada. —dê"ümã configuração de'-um BTocõ de "análise de-'LPC- Osinal dê áudio é inserido em um bloco de determinação de filtro, que determina a informação de filtro A(z), isto é, a informação sobre coeficientes para o filtro de síntese. Esta informação é 20 quantizada e resulta na informação de previsão de curto prazo necessária para o decodificador. Em um subtraendo 786, uma amostra atual do sinal é inserida e um valor previsto para a amostra atual do sinal é subtraído, de maneira que para esse exemplo, o erro do sinal de previsão seja gerado na linha 784 . Observe que o sinal de 25 previsão de erro pode também ser chamado sinal de excitação ou frame de excitação (normalmente depois de ter sido codificado).
A Fig. 8 mostra outra sequência de tempo de janelas, obtida com outra configuração. Na configuração considerada a seguir, o codificador/decodificador AAC corresponde ao codificador de introdução de efeito de dobragem do dominio de tempo 110. A configuração a seguir mantém o framing de codificador/decodificador AMR-WB+, isto é, a segunda regra de 5 framing permanece inalterada, mas a janela na transição do codificador/decodificador AMR-WB+ para o codificador/decodificador AAC é modificada, as janelas de inicio/parada do codificador/decodificador AAC são manipuladas. Em outras palavras, a janela de codificador/decodificador AAC será mais longa na 10 transição.
As Fig. 8a e 8b ilustram esta configuração. Ambas as figuras mostram uma sequência de janelas AAC convencionais 801 e onde, na Fig. 8a uma nova janela de parada modificada 802 é introduzida, e na Fig. 8b, uma nova janela de parada /inicio 803.
Em relação à ACELP-,—um framing semelhante é retratado-,.- como já foi descrito ~efn—relação à cómõ ã~configuração nã-Fig".~3" é usada. Ná configuração que resulta na sequência de janela retratada nas Fig. 8a e 8b, presume-se que o framing de codificador/decodificador AAC t não é mantido, isto é, as janelas de início, parada ou . 20 inicio/parada modificadas são usadas. A primeira janela retratada na Fig. 8a é para a transição de AMR-WB+ para AAC, onde o codificador/decodificador AAC utilizará uma janela de parada longa 802. Outra janela será descrita com ajuda da Fig. 8b, que mostra a transição de AMR-WB+ para AAC quando o codificador/decodificador 25 AAC utilizará uma janela curta, usando uma janela longa para esta transição conforme indicado na Fig. 8b. A Fig. 8a mostra que o primeiro superframe 820 da ACELP inclui quatro frames, isto é, está de acordo com o framing de ACELP convencional, isto é, a segunda regra de framing. Para manter a regra de framing do ACELP, isto é, a segunda regra de framing é mantida inalterada, as janelas modificadas 802 e 803 indicadas nas Fig. 8a e 8b são utilizadas.
Portanto, a seguir, serão introduzidos alguns detalhes relacionados às janelas em geral.
A Fig. 9 retrata uma janela retangular geral, na qual a informação de sequência de janela pode incluir uma primeira * parte zero, na qual a janela mascara as amostras, uma segunda * 10 parte de derivação, na qual as amostras de um frame, isto é, um frame de dominio de tempo de entrada ou um frame de dominio de tempo de sobreposição, e uma terceira parte zero, que novamente mascara amostras ao final de um frame. Em outras palavras, as funções de janela podem ser aplicadas, as quais suprimem algumas 1,5 —amostras de —um frame em uma primeira parte zero, passam por.. . amostras "“em üma segunda parte de“derivarão, e “depois suprimem — amostras ao final de um frame em uma terceira parte zero. Neste contexto, suprimir pode também estar relacionado a anexar uma 4 sequência de zeros no inicio e/ou final da parte de derivação da 20 janela. A segunda parte de derivação pode ser tal que a função de janela simplesmente tenha um valor de 1, isto é, as amostras são passadas inalteradas, isto é, a função de janela alterna pelas amostras do frame.
A Fig. 10 mostra outra configuração de uma 25 sequência de janela ou função de janela, onde a sequência de janela inclui ainda uma parte de lado ascendente entre a primeira parte zero e a segunda parte de derivação e uma parte de lado descendente entre a segunda parte de desvio e a terceira parte zero. A parte do lado ascendente pode também ser considerada uma parte de intensificação, e a parte do lado descendente pode ser considerada uma parte de desvanecimento. Em configurações, a segunda parte de derivação pode incluir uma sequência de uns para 5 não modificar de maneira nenhuma as amostras do frame de excitação.
Voltando à configuração mostrada na Fig. 8a, a janela de parada modificada, como é utilizada na configuração que transita entre AMR-WB+ e AAC, ao transitar de AMR-WB+ para AAC, é 10 retratada em mais detalhes na Fig. 11. A Fig. 11 mostra os frames ACELP 1101, 1102, 1103 e 1104. A janela de parada modificada 802 é então usada para transitar para AAC, isto é, o primeiro codificador de introdução de efeito de dobragem de dominio de tempo 110, o decodificador 160, respectivamente. De acordo com os 15 detalhes acima da_MDCT, a janela., inicia já^no meio do frame 1102, _ cõmTãma primeira-parte —zero "de-512 amostras: Esta-parte-"é seguida - pela parte do lado ascendente da janela, que se estende por 128 amostras, seguida da segunda parte de derivação que, nesta configuração, estende-se até 576 amostras, isto é, 512 amostras 20 depois da parte do lado ascendente na qual a primeira parte zero é dobrada, seguida de mais 64 amostras da segunda parte de derivação, as quais resultam da terceira parte zero do final da janela estendida por 64 amostras. A parte do lado descendente da janela, além disso, resulta em 1024 amostras, que devem ser 25 sobrepostas com a janela seguinte.
A configuração pode ser descrita usando-se um pseudo-código também, que é exemplificado por: /* Alternância de bloco com base em ataques */ Se (houver um ataque) {nextwindowSequence = SHORT_WINDOW;} ou {nextwindowSequence = LONG_WINDOW;} /* Alternância de bloco com base em Decisão de 5 Alternância de ACELP */ se (o próximo frame for AMR) {nextwindowSequence = SHORT_WINDOW;} /* Alternância de bloco com base em Decisão de Alternância de ACELP para STOP_WINDOW_1152 */ ‘ 10 se (o frame real for AMR && o próximo frame não for AMR) {nextwindowSequence = STOP_WINDOW_1152;} /* Alternância de bloco para STOPSTARTjWINDOW_1152 ’ *7 ' se (nextwindowSequence == SHORT_WINDOW) {se 15 (windowSequence - - — . S T 0P_WINDOW--1-1-52) (windowSquence = STOPSTART^WINDOW-llS’ZrH ' " • "' "
Voltando à configuração retratada na Fig. 11, existe uma seção de dobragem de efeito de dobragem de tempo dentro da parte de lado ascendente da janela, que se estende por 128 20 amostras.Como esta seção sobrepõe-se ao último frame de ACELP 1104, a saida do frame de ACELP pode ser usada para cancelamento de efeito de dobragem de tempo na parte do lado ascendente. O cancelamento do efeito de dobragem pode ser realizado no domínio de tempo ou no domínio de frequência, de acordo com os exemplos 25 descritos acima. Em outras palavras, a saída do último frame de ACELP pode ser transformada para o domínio de frequência e depois sobrepor-se à parte do lado ascendente da janela de parada modificada 802. Alternativamente, TDA ou TDAC podem ser aplicados ao último frame de ACELP antes de sobrepô-lo à parte de lado ascendente da janela de parada modificada 802.
A configuração descrita acima reduz a suspensão gerada nas transições. Remove também a necessidade de qualquer 5 modificação no framing da codificação do dominio de tempo, isto é, a segunda regra de framing. Além disso, ela adapta também o codificador de dominio de frequência, isto é, o codificador de introdução de efeito de dobragem de dominio de tempo 110 (AAC), que é em geral mais flexivel em termos de alocação de bit e número 10 de coeficientes para transmitir que um codificador de dominio de tempo, isto é, o segundo codificador 120.
A seguir, outra configuração será descrita, que provê um fading cruzado sem efeito de dobragem quando há alternância entre o primeiro codificador de introdução de efeito 15 de dobragem de-dominio de—tempo- 110 -e o segundo codificador 120, —dêcodificãciofês — T60'"~’e 1'70, fespecTivamentet ~~ Esta' configuração — provê a vantagem de que o ruido devido ao TDAC é evitado, especialmente em taxas de transferência baixas, em caso de inicialização ou de um procedimento de reinicialização. A vantagem 20 é obtida por uma configuração com uma janela de inicio de AAC modificada sem nenhum efeito de dobragem no lado direito ou na parte de lado descendente da janela. A janela de inicio modificada é uma janela não simétrica, isto é, a parte direita ou a parte do lado descendente da janela termina antes do ponto de dobra do 25 MDCT. Consequentemente, a janela fica livre de efeito de dobragem de tempo. Ao mesmo tempo, a região de sobreposição pode ser reduzida por configurações até 64 amostras, ao invés de 128 amostras. &■ <
Em configurações, o codificador de áudio 100 ou o decodificador de áudio 150 pode demorar um certo tempo antes de entrar em um estado permanente e estável. Em outras palavras, durante o periodo de inicialização do codificador de dominio de 5 tempo, isto é, o segundo codificador 120 e também o decodificador 170, um determinado tempo é necessário para iniciar, por exemplo, os coeficientes de uma LPC. Para minimizar o erro em caso de reinicialização, em configurações, a parte esquerda de um sinal de entrada de AMR-WB+ pode receber uma janela de seno curta no 10 codificador 120, por exemplo, com uma extensão de 64 amostras.. Além disso, a parte esquerda do sinal de sintese pode receber uma janela com o mesmo sinal no segundo decodificador 170. Assim, a janela de seno ao quadrado pode ser aplicada ~~de maneira semelhante à AAC, aplicando-se o seno ao quadrado à parte direita de sua 45 janela»de inicio...... ’ __ _■ _ __ _ _
Usando essas janelas,—em -uma -configuração, — a— transição de AAC para AMR-WB+ pode ser realizada sem efeito de dobragem de tempo, e pode ser feita por uma janela de seno de fading cruzado curta, como por exemplo, 64 amostras. A Fig. 12 20 mostra uma linha do tempo que exemplifica uma transição de AAC para AMR-WB+ e de volta para AAC. A Fig. 12 mostra uma janela de inicio de AAC 1201 seguida pela parte da AMR-WB+ 1203, sobreposta à janela AAC 1201 e região de sobreposição 1202, que se estende por 64 amostras. A parte de AMR-WB+ é seguida de uma janela de 25 parada AAC 1205, sobreposta por 128 amostras.
De acordo com a Fig. 12, a configuração aplica-se à respectiva janela sem efeito de dobragem na transição de AAC para AMR-WB+.
A Fig. 13 exibe a janela de inicio modificada, da maneira em que ela é aplicada na transição de 7XAC para AMR-WB+ em ambos os lados no codificador 100 e no decodificador 150, o codificador 110 e o decodificador 160, respectivamente.
A janela retratada ma Fig. 13 mostra que a primeira parte zero não está presente. A Janela inicia-se imediatamente com a parte do lado ascendente, que se estende por 1024 amostras, isto é, o eixo de dobra fica no meio do intervalo de 1024 mostrado na Fig. 13. O eixo de simetria fica então no lado 10 direito do intervalo de 1024. Como pode ser observado pela Fig.. 13, a terceira parte de zero estende-se a 512 amostras, isto é, não existe efeito de dobragem na parte da direita da janela inteira, isto é, a parte de desvio que se estende do centro áo inicio do intervalo de 64 amostras. Pode-se também observar que a -15 -parte do lado descendente estende-se_por 64 amostras, provendo_ a vantagem de-qué~a seção- de-passagênr é “estreita;; O intervalo de- 64 —— - amostras é usado para fading cruzado, no entanto, não existe efeito de dobragem neste intervalo. Portanto, somente suspensão baixa é introduzido.
Configurações com as janelas modificadas descritas acima são capazes de evitar a codificação de informações de suspensão em excesso, isto é, codificar algumas das amostras duas vezes. De acordo com a descrição acima, janelas projetadas de maneira semelhante podem ser aplicadas opcionalmente para a 25 transição de AMR-WB+ para AAC, de acordo com uma configuração, onde modifica-se novamente a janela AAC, reduzindo também a sobreposição para 64 amostras.
Portanto, a janela de parada modificada é estendida para 2304 amostras em uma configuração, e é usada em uma MDCT de 1152 pontos. A parte da esquerda da janela pode ser isentada de efeito de dobragem de tempo iniciando-se a intensificação depois do eixo de dobra da MDCT. Em outras 5 palavras, tornando-se a parte de zero maior que um quarto do tamanho da MDCT inteira. A janela de seno ao quadrado complementar é então aplicada às últimas 64 amostras decodificadas do segmento AMR-WB+. Essas duas janelas de fading cruzado permitem obter-se uma transição suava de AMR-WB+ para AAC, limitando-se as 10 informações de suspensão transmitidas.
A Fig. 14 ilustra uma janela para a transição de AMR-WB+ para AAC da maneira que ela pode ser aplicada no lado do codificador 100 em uma configuração*. Pode-se“ observar "que o eixo - de dobra fica depois de 576 amostras, isto é, a primeira parte de 15 - zero estende-se por 576 .amostrasIsto^resultq no lado esquerdo da janela” “íhtêíra- f icando' Tivre ^de--efeito - de- dobragem . - 0- fading... cruzado inicia-se no segundo quarto da janela, isto é, depois de 576 amostras ou, em outras palavras, logo além do eixo de dobra. A seção de fading cruzado, isto é, a parte do lado ascendente da 20 janela pode então ser estreitada para 64 amostras de acordo com a Fig. 14.
A Fig. 15 mostra a janela para a transição de AMR-WB+ para AAC aplicada no lado do decodif icador 150 em uma configuração. A janela é semelhante à janela descrita na Fig. 14, 25 de maneira que aplicar ambas as janelas pelas amostras que estão sendo codificadas e depois decodificadas novamente resulta em uma janela de seno ao quadrado.
O pseudo-código a seguir descreve uma configuração de um procedimento de seleção de janela de inicio, ao se alternar de AAC para AMR-WB+.
Essas configurações pode também ser descritas usando-se um pseudo-código, como por exemplo: 5 /* Ajuste à Sequência de Janela permitida */ se (nextwindowSequence == SHORT_WINDOW) {se (windowsequence == LONG_WINDOW) {se(frame atual não for AMR && o próximo frame for AMR) { windowsequence = START_WINDOW_AMR;} ou { windowsequence = START_WINDOW;}} ‘ 10 Configurações como as descritas acima reduzem a suspensão de informações gerada, usando-se regiões de sobreposição pequenas em janelas consecutivas durante a transição. Além disso, essas configurações provêm a~ vantagem de "quS essas ‘regiões *de-' - sobreposição pequena ainda sejam suficiente para suavizar os 15 artefatos -de- bloqueio, =isto _é, _ para_ se ter_um fading cruzado suave: “ATém“ disoo," reduzem ~o~ impacto-do- aumento- repentino- de. -erro - - - devido ao inicio do codificador do dominio de tempo, isto é, o segundo codificador 120, decodificador 170, respectivamente, inicializando-o com uma entrada desvanecente. Í
A listagem de configurações da presente invenção provê a vantagem de que regiões de passagem suavizadas possam ser executadas em um conceito de codificação de áudio de modo múltiplo com alta eficiência de codificação, isto é, as janelas de transição introduzem somente suspensão baixa em termos de 25 informação adicional a ser transmitida. Além disso, as configurações permitem o uso de codificadores de modo múltiplo, ao mesmo tempo em que adaptam o framing ou as janelas de um modo ao outro.
Apesar de alguns aspectos terem sido descritos no contexto de um equipamento, fica claro que esses aspectos representam também uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa de método ou uma 5 característica de uma etapa de método. Analogamente, os aspectos descritos no contexto de uma etapa de método representam também uma descrição de um bloco ou item ou característica correspondente de um equipamento correspondente.
O sinal de áudio codificado da invenção pode se *, 10 armazenado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão como um meio de transmissão sem fio ou um meio de transmissão com fio como a Internet.
Dependendo de "certos "requisitos de "implementação^-configurações da invenção podem ser implementadas em hardware ou - - -15 -em- software.- A- implement ação., pode se_r_ feita ^usando-se um meio de armazéhaméhtb-ciigtta"l", ~pσr~ exemp-Loy-um -disquete-, -.um _DV_D,_ um _CD,_ um_ ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controle eletronicamente legiveis armazenados neles, que cooperem (ou sejam capazes de cooperar) com um sistema de £ 20 computador programável de maneira que o respectivo método seja executado.
Algumas configurações de acordo com a invenção incluem um portador de dados com sinais de controle eletronicamente legiveis, que são capazes de cooperar com um 25 sistema de computador programável, de maneira que um dos métodos descritos no presente documento seja executado.
Em geral, configurações da presente invenção podem ser implementadas como um produto programa de computador com um código de programa, sendo o código de programa operante para executar um dos métodos quando o produto programa de computador é executado em um computador. 0 código de programa pode por exemplo ser armazenado em um portador legível em máquina.
Outras configurações incluem o programa de computador para executar um dos métodos descritos no presente documento, armazenado em um portador legível em máquina.
Em outras palavras, uma configuração do método inventivo é, portanto, um programa de computador com um código de 10 programa para executar um dos métodos descritos no presente documento, quando o programa de computador é executado em um computador.
Uma outra configuração“ dos métodos* inventivo—é,“ portanto, um portador de dados (ou um meio de armazenamento 15 - digital,., ou um meio computador passível de leitura) incluindo, gravado ~ nele; o~ programa de- -computador - para executar _ um _ _dos. métodos descritos no presente documento.
Uma outra configuração do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que 4. _ 20 representam o programa de computador para executar um dos métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais pode por exemplo ser configurado para ser transferido por meio de uma conexão de comunicação de dados, por exemplo, pela Internet.
Uma outra configuração inclui um meio de processamento, por exemplo, um computador ou um dispositivo de lógica programável, configurado para ou adaptado para executar um dos métodos descritos no presente documento.
Uma outra configuração inclui um computador com o programa de computador instalado nele para executar um dos métodos descritos no presente documento.
Em algumas configurações, um dispositivo de 5 lógica programável (por exemplo, um sistema de circuito integrado FPGA) pode ser usado para executar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas configurações, um FPGA pode cooperar com um microprocessador para executar um dos métodos descritos no ■6 10 presente documento. Em geral, os métodos são preferivelmente executados por algum equipamento de hardware.
As configurações descritas acima são meramente ilustrativas para os princípios da "presente"' íhvençãor Entende-se que modificações e variações das disposições e os detalhes - -15 -descritos no presente documento, ficarão aparentes aos técnicos no —assunto “intenção--é-;- portanto-j- 1-imitar-se- somen-te -pelo _ es_c_opo__. das reivindicações de patentes pendentes, e não pelos detalhes específicos apresentados por meio da descrição e explicação das configurações do presente documento.