BR112016001247B1 - Codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação - Google Patents

Codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação Download PDF

Info

Publication number
BR112016001247B1
BR112016001247B1 BR112016001247-0A BR112016001247A BR112016001247B1 BR 112016001247 B1 BR112016001247 B1 BR 112016001247B1 BR 112016001247 A BR112016001247 A BR 112016001247A BR 112016001247 B1 BR112016001247 B1 BR 112016001247B1
Authority
BR
Brazil
Prior art keywords
frequency domain
transformation
coefficients
signaling
domain coefficients
Prior art date
Application number
BR112016001247-0A
Other languages
English (en)
Inventor
Sascha DICK
Christian Helmrich
Andreas Holzer
Original Assignee
Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. filed Critical Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V.
Publication of BR112016001247B1 publication Critical patent/BR112016001247B1/pt

Links

Images

Abstract

CODIFICAÇÃO DE ÁUDIO DO DOMÍNIO DA FREQUÊNCIA QUE SUPORTA A COMUTAÇÃO DO COMPRIMENTO DA TRANSFORMAÇÃO. Codec de áudio do domínio da frequência com a capacidade de suportar adicionalmente um certo comprimento de transformação com compatibilidade regressiva mediante o seguinte: os coeficientes do domínio da frequência de um respectivo quadro são transmitidos de um modo intercalado independentemente da sinalização que sinaliza para os quadros, aos quais se aplica realmente o comprimento de transformação, e adicionalmente a extração de coeficientes do domínio da frequência e a extração de fatores de escala funcionam independentemente da sinalização. Através desta medida, os convencionais codificadores/descodificadores de áudio do domínio da frequência, insensíveis à sinalização, poderiam, mesmo assim, funcionar sem falhas e reproduzindo uma qualidade razoável. Concorrentemente, os codificadores/descodificadores de áudio do domínio da frequência capazes de suportar o comprimento de transformação adicional poderiam oferecer uma qualidade ainda melhor, apesar da compatibilidade regressiva. No que diz respeito às penalizações da eficiência da codificação devido à codificação dos coeficientes do domínio da frequência de um modo transparente para descodificadores mais antigos, essas são comparativamente muito menores graças à intercalação.

Description

[001] O presente pedido diz respeito à codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação.
[002] Os modernos sistemas de codificação de voz/áudio do domínio da frequência, tais como o codec Opus/Celt de IETF [1], MPEG-4 (HE-)AAC [2] ou, em particular, MPEG-D xHE-AAC (USAC) [3], oferecem meios para codificar quadros de áudio usando uma longa transformação - um bloco longo - ou oito transformações curtas sequenciais - blocos curtos - dependendo da estacionaridade temporal do sinal.
[003] Para certos sinais de áudio, tais como a chuva ou os aplausos de uma grande audiência, nem a codificação de bloco longo ou curto produz uma qualidade satisfatória com baixas taxas de bits. Isto pode ser explicado pela densidade dos transientes proeminentes nesse tipo de registos; a codificação apenas com blocos longos pode causar um descrédito do tempo frequente e audível do erro de codificação, também conhecido por pré-eco, em que a codificação apenas com blocos curtos é geralmente ineficiente devido a uma maior gestão de dados, o que leva a buracos espectrais.
[004] Correspondentemente, seria benéfico ter à mão um conceito de codificação de áudio do domínio da frequência que suporte comprimentos de transformação, que sejam adequados também aos tipos de sinais de áudio referidos acima. Naturalmente, seria viável conceber um novo codec de áudio do domínio da frequência que suporte a comutação entre um conjunto de comprimentos de transformação que, entre outras coisas, englobe um certo comprimento de transformação pretendido adequado a um certo tipo de sinal de áudio. No entanto, não é uma tarefa fácil obter um novo codec de áudio do domínio da frequência adotado no mercado. Os codecs conhecidos já estão disponíveis e são usados frequentemente. Correspondentemente, seria vantajoso poder ter à mão um conceito que permita que os codecs de áudio do domínio da frequência existentes se expandem de modo a suportarem adicionalmente um novo comprimento de transformação pretendido, mas que, apesar disso, mantenha a compatibilidade regressiva com codificadores e descodificares existentes.
[005] Correspondentemente, um objetivo da presente invenção é fornecer um conceito desses que permita a expansão dos codecs de áudio do domínio da frequência existentes, de um modo que possibilite a compatibilidade regressiva, em direção ao suporte de um comprimento de transformação adicional para assim alternar entre comprimentos de transformação, incluindo também este novo comprimento de transformação.
[006] Este objetivo é conseguido pela matéria das reivindicações independentes aqui incluídas.
[007] A presente invenção baseia-se na descoberta de poder ser fornecido um codec de áudio do domínio da frequência com a capacidade de suportar adicionalmente um certo comprimento de transformação com compatibilidade regressiva, quando os coeficientes do domínio da frequência de um respectivo quadro são transmitidos de um modo intercalado independentemente da sinalização que sinaliza para os quadros, aos quais se aplica atualmente o comprimento de transformação, e quando adicionalmente a extração de coeficientes do domínio da frequência e a extração de fatores de escala funcionam independentemente da sinalização. Através desta medida, os convencionais codificadores/descodificadores de áudio do domínio da frequência, insensíveis à sinalização, poderiam, mesmo assim, funcionar sem falhas e reproduzindo uma qualidade razoável. Concorrentemente, os codificadores/descodificadores de áudio do domínio da frequência que reagem à comutação de/para o comprimento de transformação adicionalmente suportado conseguiriam uma qualidade ainda melhor, apesar da compatibilidade regressiva. No que diz respeito às penalizações da eficiência da codificação devido à codificação dos coeficientes do domínio da frequência de um modo transparente para descodificadores mais antigos, essas são comparativamente muito menores graças à intercalação.
[008] As implementações vantajosas do presente pedido são objeto das reivindicações dependentes.
[009] Em particular, os modelos privilegiados do presente pedido são descritos abaixo relativamente às figuras, entre as quais
[010] A Fig. 1 mostra um diagrama de bloco esquemático de um descodificador de áudio do domínio da frequência de acordo com um modelo;
[011] A Fig. 2 mostra uma esquemática que ilustra a funcionalidade do transformador inverso da Fig. 1;
[012] A Fig. 3 mostra uma esquemática que ilustra uma possível deslocação do processo de filtragem TNS inversa da Fig. 2 no sentido a uma direção a montante de acordo com um modelo;
[013] A Fig. 4 mostra uma possibilidade de selecionar janelas quando usar a divisão de transformação para uma janela stop-start longa em USAC de acordo com um modelo; e
[014] A Fig. 5 mostra um diagrama de bloco de um codificador de áudio do domínio da frequência de acordo com um modelo.
[015] A Fig. 1 mostra um descodificador de áudio do domínio da frequência que suporta uma comutação do comprimento de transformação de acordo com um modelo do presente pedido. O descodificador de áudio do domínio da frequência da Fig. 1 é geralmente indicado usando o símbolo de referência 10 e compreende um extrator de coeficientes do domínio da frequência 12, um extrator de fatores de escalonamento 14, um transformador inverso 16 e um combinador 18. Na sua entrada, o extrator de coeficientes do domínio da frequência e o extrator de fatores de escalonamento 12 e 14 têm acesso a um fluxo de dados recebido 20. As saídas do extrator de coeficientes do domínio da frequência 12 e o extrator de fatores de escalonamento 14 estão ligadas a respectivas entradas do transformador inverso 16. A saída do transformador inverso 16 está ligada, por sua vez, a uma entrada do combinador 18. O último produz o sinal de áudio reconstruído numa saída 22 do codificador 10.
[016] O extrator de coeficientes do domínio da frequência 12 está configurado para extrair coeficientes do domínio da frequência 24 de quadros 26 do sinal de áudio a partir do fluxo de dados 20. Os coeficientes do domínio da frequência 24 podem ser coeficientes MDCT ou podem pertencer a outra transformação, tal como outra transformação revestida. Conforme descrito mais abaixo, os coeficientes do domínio da frequência 24 que pertencem a um certo quadro 26 descrevem o espectro do sinal de áudio dentro do respectivo quadro 26 numa resolução espectro-temporal variável. Os quadros 26 representam partes temporais, nas quais o sinal de áudio é sequencialmente subdividido em tempo. Juntando todos os coeficientes do domínio da frequência 24 de todos os quadros, os mesmos representam um espectrograma 28 do sinal de áudio. Os quadros 26 podem, por exemplo, terem um comprimento igual. Devido ao tipo de conteúdo de áudio do sinal de áudio que muda ao longo do tempo, pode ser desvantajoso descrever o espectro para cada quadro 26 com uma resolução espectro-temporal contínua através da utilização de, por exemplo, transformações que têm um comprimento de transformação constante, que abrange, por exemplo, o comprimento do tempo de cada quadro 26, isto é, envolve valores de amostra dentro deste quadro 26 do sinal de áudio, assim como, as amostras do domínio do tempo que precedem e sucedem o respectivo quadro. Os artefatos pré-eco podem, por exemplo, resultar de uma transmissão com perdas do espectro do respectivo quadro em forma dos coeficientes do domínio da frequência 24. Correspondentemente, tal como descrito abaixo, os coeficientes do domínio da frequência 24 de um respectivo quadro 26 descrevem o espectro do sinal de áudio dentro deste quadro 26 numa resolução espectro-temporal comutável através da alternância entre diferentes comprimentos de transformação. Porém, no que diz respeito ao extrator de coeficientes do domínio da frequência 12, a última circunstância é transparente para o mesmo. O extrator de coeficientes domínio da frequência 12 opera independentemente a partir de qualquer sinalização que sinalize a comutação acima mencionada entre diferentes resoluções espectro-temporais para os quadros 26.
[017] O extrator de coeficientes do domínio da frequência 12 põe usar a codificação entrópica para extrair os coeficientes do domínio da frequência 24 do fluxo de dados 20. Por exemplo, o extrator de coeficientes do domínio da frequência pode usar a descodificação entrópica com base no contexto, tal como a descodificação aritmética de contexto variável, para extrair os coeficientes do domínio da frequência 24 do fluxo de dados 20 com a atribuição, a cada um dos coeficientes do domínio da frequência 24, do mesmo contexto independentemente da sinalização acima mencionada que sinaliza a resolução espectro-temporal do quadro 26, ao qual pertence o respectivo coeficiente do domínio da frequência. Em alternativa, e como um segundo exemplo, o extrator 12 pode usar a descodificação Huffman e definir um conjunto de palavras de código Huffman independentemente da sinalização referida que especifica a resolução do quadro 26.
[018] Existem diferentes possibilidades para o modo como os coeficientes do domínio da frequência 24 descrevem o espectrograma 28. Por exemplo, os coeficientes do domínio da frequência 24 podem simplesmente representar algum residual de previsão. Por exemplo, os coeficientes do domínio da frequência podem representar um residual de uma previsão que, pelo menos parcialmente, foi obtido por previsão estéreo de outro sinal de áudio que representa um correspondente canal de áudio ou downmix de entre um sinal de áudio multicanal, ao qual o espectrograma de sinais 28 pertence. Em alternativa ou adicionalmente a um residual de previsão, os coeficientes do domínio da frequência 24 podem representar um sinal de soma (central) ou uma diferença (lateral) de acordo com o paradigma estéreo M/S [5]. Além disso, os coeficientes do domínio da frequência 24 podem ter sido sujeitos à modelação de ruído temporal.
[019] Para além disso, os coeficientes do domínio da frequência 12 são quantizados e para manter o erro de quantização abaixo de um limite de detecção psico-acústica (ou máscara), por exemplo, o tamanho do passo de quantização é espectralmente variado de um modo controlado via respectivos fatores de escalonamento associados aos coeficientes do domínio da frequência 24. O extrator de fatores de escalonamento 14 é responsável pela extração dos fatores de escalonamento do fluxo de dados 20.
[020] Destacando mais alguns detalhes da comutação entre diferentes resoluções espectro-temporais de quadro para quadro, regista-se o seguinte. Tal como será descrito mais abaixo em pormenor, a comutação entre diferentes resoluções espectro-temporais indica que, dentro de um certo quadro 26, todos os coeficientes do domínio da frequência 24 pertencem a uma transformação, ou que os coeficientes do domínio da frequência 24 do respectivo quadro 26 pertencem atualmente a diferentes transformações, tais como por exemplo duas transformações, o comprimento de transformação, do qual metade é o comprimento de transformação daquela transformação que acabou de ser mencionada. O modelo a seguir descrito relativamente às figuras assume a comutação entre uma transformação, por um lado, e duas transformações, por outro lado, mas na realidade uma comutação entre essa uma transformação e mais do que duas transformações seria, em princípio, viável também com os modelos abaixo apresentados que podem ser prontamente transferidos para esses modelos alternativos.
[021] A Fig. 1 ilustra, usando contorno, o caso exemplificativo em que o quadro atual é do tipo representado por duas transformações curtas, uma das quais foi derivada usando uma metade posterior do quadro atual 26, e a outra foi obtida pela transformação de uma metade anterior do quadro atual 26 do sinal de áudio. Devido ao comprimento da transformação encurtada, a resolução espectral, na qual os coeficientes do domínio da frequência 24 descrevem o espectro do quadro 26, é reduzida, nomeadamente para metade no caso de usar duas transformações curtas, enquanto a resolução temporal é aumentada, nomeadamente para o dobro no presente caso. Na Fig. 1, por exemplo, os coeficientes do domínio da frequência 24 apresentados com contorno devem pertencer à transformação anterior, enquanto os que não estão contornados devem pertencer à transformação posterior. Os coeficientes do domínio da frequência espectralmente co-localizados 24 descrevem, assim, o mesmo componente espectral do sinal de áudio dentro do quadro 26, mas com instâncias de tempo ligeiramente diferentes, nomeadamente em duas janelas de transformação consecutivas do quadro de divisão da transformação.
[022] No fluxo de dados 20, os coeficientes do domínio da frequência 24 são transmitidos de um modo intercalado para que os coeficientes do domínio da frequência espectralmente correspondentes das duas transformações diferentes se sigam imediatamente uma à outra. Por outras palavras ainda, os coeficientes do domínio da frequência 24 de um quadro de dividir transformação, isto é um quadro 26, para o qual a divisão de transformação é sinalizada no fluxo de dados 20, são transmitidos de modo a que, se os coeficientes do domínio da frequência 24 fossem, tal como são recebido pelo extrator de coeficientes do domínio da frequência 12, sequencialmente ordenados como se fossem coeficientes do domínio da frequência de uma transformação longa, então eles são dispostos nesta sequência de um modo intercalado, para que os coeficientes do domínio da frequência 24 espectralmente co-localizados fiquem imediatamente limítrofes e os pares desses coeficientes do domínio da frequência 24 assim espectralmente co- localizados 24 fiquem dispostos de acordo com uma ordem espectral/de frequência. É interessante que, quando dispostos desse modo, a sequência dos coeficientes do domínio da frequência 24 intercalados parece-se com uma sequência dos coeficientes do domínio da frequência 24 que foram obtidos por uma transformação longa. Mais uma vez, no que diz respeito ao extrator de coeficientes do domínio da frequência 12, a comutação entre diferentes comprimentos de transformação ou resoluções espectro-temporais em unidades dos quadros 26 é transparente para os mesmos, e correspondentemente, a seleção do contexto para a codificação entrópica dos coeficientes do domínio da frequência 24 num contexto tipo adaptativo resulta na seleção do mesmo contexto - independentemente de o quadro atual ser na realidade um quadro de transformação longa ou de o quadro atual ser do tipo de transformação de divisão sem extrator 12 conhecido. Por exemplo, o extrator de coeficientes do domínio da frequência 12 pode selecionar o contexto a empregar para um certo coeficiente do domínio da frequência com base nos coeficientes do domínio da frequência já codificados/descodificados numa vizinhança espectro-temporal, sendo esta vizinhança espectro-temporal definida num estado intercalado que é apresentado na Fig. 1. Isto tem a seguinte consequência: Imagine que um coeficiente do domínio da frequência 24 atualmente codificado/descodificado fez parte da transformação anterior indicada usando o contorno na Fig. 1. Um coeficiente do domínio da frequência imediatamente espectralmente adjacente seria na realidade um coeficiente do domínio da frequência 24 da mesma transformação anterior (isto é, uma contornada na Fig. 1). Não obstante, o extrator de coeficientes do domínio da frequência 12 usa, para a seleção do contexto, um coeficiente do domínio da frequência 24 que pertence à transformação posterior, nomeadamente que é espectralmente vizinha (de acordo com uma resolução espectral reduzida da transformação encurtada), presumindo que a última seria o vizinho espectral imediato de uma transformação longa do atual coeficiente do domínio da frequência 24. De igual modo, na seleção do contexto para um coeficiente do domínio da frequência 24 de uma transformação posterior, o extrator de coeficientes do domínio da frequência 12 usaria como vizinho espectral imediato um coeficiente do domínio da frequência 24 que pertence à transformação anterior, e que na realidade está espectralmente co-localizado com esse coeficiente. Em particular, a ordem de descodificação definida de entre os coeficientes 24 do quadro atual 26 pode ir, por exemplo, da frequência mais baixa para a mais alta. São válidas observações idênticas no caso de o extrator de coeficientes do domínio da frequência 12 estar configurado para descodificar entropicamente os coeficientes do domínio da frequência 24 de um quadro atual 26 em grupos/tuplos de coeficientes do domínio da frequência imediatamente consecutivos 24 quando ordenados de um modo não desintercalado. Em vez de usar o tuplo de coeficientes do domínio da frequência espectralmente vizinhos 24 que pertencem unicamente à mesma transformação curta, o extrator de coeficientes do domínio da frequência 12 pode selecionar o contexto para um certo tuplo de uma mistura de coeficientes do domínio da frequência 24 que pertencem a diferentes transformações curtas com base num tuplo espectralmente vizinho de uma mistura dessas de coeficientes do domínio da frequência 24 que pertencem a diferentes transformações.
[023] Pelo facto de, tal como indicado acima, no estado intercalado, o espectro resultante conforme obtido por duas transformações curtas ser muito idêntico a um espectro obtido por uma transformação longa, a penalização da codificação entrópica resultante da operação agnóstica do extrator de coeficientes do domínio da frequência 12 relativamente ao comprimento da transformação é baixa.
[024] A descrição do descodificador 10 está resumida com o extrator de fatores de escalonamento 14 que é, conforme mencionado antes, responsável pela extração dos fatores de escalonamento dos coeficientes do domínio da frequência 24 a partir do fluxo de dados 20. A resolução espectral, à qual os fatores de escala são atribuídos aos coeficientes do domínio da frequência 24, é mais grosseira do que a resolução espectral comparativamente fina que é suportada pela transformação longa. Tal como é ilustrado com chavetas 30, os coeficientes do domínio da frequência 24 podem ser agrupados em múltiplas bandas de fatores de escala. A subdivisão nas bandas de fatores de escala pode ser selecionada com base em pensamentos psico-acústicos e pode, por exemplo, coincidir com as chamadas bandas Bark (ou crítica). Como o extrator de fatores de escalonamento 14 é agnóstico para a comutação do comprimento de transformação, tal como também é o extrator de coeficientes do domínio da frequência 12, o extrator de fatores de escalonamento 14 assume que cada quadro 26 deve ser subdividido num número de bandas de fatores de escala 30 que é igual, independentemente da sinalização de comutação do comprimento de transformação, e extrai para cada banda de fatores de escala dessas 30 um fator de escala 32. No lado do codificador, a atribuição dos coeficientes do domínio da frequência 24 a estas bandas de fatores de escala 30 é efetuada no estado não desintercalado ilustrado na Fig. 1. Como consequência, no que diz respeito a quadros 26 que correspondem à transformação de divisão, cada fator de escala 32 pertence a um grupo povoado tanto por coeficientes do domínio da frequência 24 da transformação anterior com por coeficientes do domínio da frequência 24 da transformação posterior.
[025] O transformador inverso 16 está configurado para receber para cada quadro 26 os correspondentes coeficientes do domínio da frequência 24 e seus correspondentes fatores de escala 32 e submeter os coeficientes do domínio da frequência 24 do quadro 26, escalonados de acordo com os fatores de escala 32, a uma transformação inversa para adquirir partes do domínio do tempo do sinal de áudio. Pode ser usada uma transformação revestida pelo transformador inverso 16, tal como por exemplo uma transformação de cosseno discreta modificada (MDCT). O combinador 18 combina as partes do domínio do tempo para obter o sinal de áudio, utilizando por exemplo um processo adequado de adição e sobreposição que resulta, por exemplo, na anulação da distorção do domínio do tempo dentro das partes de sobreposição das partes do domínio do tempo produzidas pelo transformador inverso 16.
[026] Naturalmente, o transformador inverso 16 reage à comutação do comprimento de transformação acima mencionada que é sinalizada dentro do fluxo de dados 20 para os quadros 26. A operação do transformador inverso 16 é descrita em mais detalhe relativamente à Fig. 2.
[027] A Fig. 2 mostra uma possível estrutura interna do transformador inverso 16 em mais pormenor. Conforme indicado na Fig. 2, o transformador inverso 16 recebe para um quadro atual os coeficientes do domínio da frequência 24 associados a esse quadro, assim como, os fatores de escala 32 correspondentes para desquantizar os coeficientes do domínio da frequência 24. Além disso, o transformador inverso 16 é controlado pela sinalização 34 que está presente no fluxo de dados 20 para cada quadro. O transformador inverso 16 pode ainda ser controlado via outros componentes do fluxo de dados 20 que estão opcionalmente lá englobados. Na seguinte descrição, descrevem-se os detalhes relativos a estes parâmetros adicionais.
[028] Tal como se pode ver na Fig. 2, o transformador inverso 16 da Fig. 2 compreende um desquantizador 36, um desintercalador ativável 38 e uma fase de transformação inversa 40. Para compreensão da seguinte descrição, os coeficientes do domínio da frequência 24 recebidos conforme derivados para o quadro atual do extrator de coeficientes do domínio da frequência 12 são apresentados numerados de 0 a N - 1. Mais uma vez, como o extrator de coeficientes do domínio da frequência 12 é agnóstico à, isto é ele funciona independentemente da, sinalização 34, o extrator de coeficientes do domínio da frequência 12 fornece o transformador inverso 16 com coeficientes do domínio da frequência 24 do mesmo modo independentemente de o quadro atual ser do tipo da transformação de divisão, ou do tipo da transformação 1, isto é o número de coeficientes do domínio da frequência 24 é N no presente caso ilustrativo, e a associação dos índices 0 até N - 1 aos coeficientes do domínio da frequência N 24 também permanece a mesma independentemente da sinalização 34. No caso de o quadro atual ser do tipo de transformação única ou longa, os índices 0 até N - 1 correspondem à ordenação dos coeficientes do domínio da frequência 24 da frequência mais baixa para a mais alta, e no caso de o quadro atual ser do tipo de transformação de divisão, os índices correspondem à ordem dos coeficientes do domínio da frequência quando estão dispostos espectralmente de acordo com a sua ordem espectral, mas num modo intercalado, para que cada segundo coeficiente do domínio da frequência 24 pertença à transformação posterior, enquanto os outros pertencem à transformação anterior.
[029] Os factos são os mesmos no que diz respeito aos fatores de escala 32. Como o extrator de fatores de escala 14 funciona de forma agnóstica relativamente à sinalização 34, o número e a ordem, assim como, os valores dos fatores de escala 32 que chegam do extrator de fatores de escala 14 são independentes da sinalização 34, em que os fatores de escala 32 na Fig. 2 são exemplificativamente apresentados com S0 até SM com o índice a corresponder à ordem sequencial de entre as bandas de fatores de escala, com as quais estes fatores de escala estão associados.
[030] De um modo idêntico ao extrator de coeficientes do domínio da frequência 12 e ao extrator de fatores de escala 14, o desquantizador 36 pode funcionar agnosticamente relativamente à, ou independentemente da, sinalização 34. O desquantizador 36 desquantiza ou escalona os coeficientes do domínio da frequência 24 recebidos usando o fator de escala associado à banda de fatores de escala, à qual pertencem os respectivos coeficientes do domínio da frequência. Mais uma vez, a adesão dos coeficientes do domínio da frequência recebidos 24 às bandas individuais de fatores de escala e, por conseguinte, a associação dos coeficientes do domínio da frequência recebidos 24 aos fatores de escala 32, é independente da sinalização 34, e o transformador inverso 16 sujeita assim os coeficientes do domínio da frequência 24 ao escalonamento de acordo com os fatores de escala32 numa resolução espectral que é independente da sinalização. Por exemplo, o desquantizador 36, independente da sinalização 34, atribui aos coeficientes do domínio da frequência índices de 0 até 3 para a primeira banda de fatores de escala e correspondentemente o primeiro fator de escala S0, e aos coeficientes do domínio da frequência índices de 4 até 9 para a segunda banda de fatores de escala e, por conseguinte, o fator de escala S1 e assim por diante. As uniões dos fatores de escala destinam-se apenas a ser ilustrativas. O desquantizador 36 pode, por exemplo, para desquantizar os coeficientes do domínio da frequência 24, realizar uma multiplicação usando o fator de escala associado, isto é, calcular o coeficiente do domínio da frequência x0 para ser x0 • so, xi para ser xi • so, ..., X3 para ser X3 • so, X4 para ser X4 • si, ..., X9 para ser X9 • si, e assim por diante. Em alternativa, o desquantizador 36 pode realizar uma interpolação dos fatores de escala atualmente usados para a desquantização dos coeficientes do domínio da frequência 24 da resolução espectral grosseira definida pelas bandas de fatores de escala. A interpolação pode ser independente da sinalização 34. Em alternativa, porém, a última interpolação pode ser dependente da sinalização para ter em conta as diferentes posições de amostragem espectro-temporal dos coeficientes do domínio da frequência 24, dependendo se o quadro atual é do tipo de divisão de transformação ou do tipo de transformação única/longa.
[031] A Fig. 2 ilustra que até ao lado de entrada do desintercalador ativável 38, a ordem de entre os coeficientes do domínio da frequência 24 permanece a mesma, e o mesmo aplica-se, pelo menos substancialmente, em relação à operação geral até esse ponto. A Fig. 2 mostra que a montante do desintercalador ativável 38, podem ser realizadas outras operações pelo transformador inverso 16. Por exemplo, o transformador inverso 16 pode ser configurado para realizar preenchimento de ruído para os coeficientes do domínio da frequência 24. Por exemplo, na sequência dos coeficientes do domínio da frequência 24 podem identificar-se bandas de fatores de escala, isto é grupos de coeficientes do domínio da frequência recebidos pela ordem que segue os índices de 0 até N - 1, onde todos os coeficientes do domínio da frequência 24 do respectivo fator de escala estão quantizados para zero. Esse tipo de coeficientes do domínio da frequência podem ser preenchidos, por exemplo, usando a criação de ruído artificial, tal como por exemplo usando um gerador de números pseudoaleatórios. A intensidade/nível do ruído preenchido numa banda de fatores de escala quantizados para zero pode ser ajustada usando o fator de escala da respectiva banda de fatores de escala, uma vez que a mesma não é precisa para escalonar, pois os coeficientes espectrais aí são todos zero. Esse tipo de preenchimento de ruído é apresentado na Fig. 2 com 40 e descrito em mais detalhe num modelo da patente EP2304719A1 [6].
[032] A Fig. 2 mostra ainda que o transformador inverso 16 pode ser configurado para suportar a codificação estéreo conjunta e/ou a previsão estéreo intercanal. No enquadramento da previsão estéreo intercanal, o transformador inverso 16 pode, por exemplo, prever 42 o espectro na disposição não desintercalada representada pela ordem de índices de 0 até N - 1 de outro canal do sinal de áudio. Isto é, pode ser que os coeficientes do domínio da frequência 24 descrevam o espectrograma de um canal de um sinal de áudio estéreo e que o transformador inverso 16 esteja configurado para tratar os coeficientes do domínio da frequência 24 como um residual de previsão de um sinal de previsão derivado do outro canal deste sinal de áudio estéreo. Esta previsão estéreo intercanal pode ser, por exemplo, realizada com alguma granularidade espectral independente da sinalização 34. Os parâmetros de previsão complexa 44 que controlam a previsão estéreo complexa 42 podem, por exemplo, ativar a previsão estéreo complexa 42 para certas bandas das bandas de fatores de escala anteriormente mencionadas. Para cada banda de fatores de escala, para a qual é ativada a previsão complexa através do parâmetro de previsão complexa 44, os coeficientes do domínio da frequência 24 escalonados, dispostos pela ordem de 0 até N - 1, que residem dentro da respectiva banda de fatores de escala, seriam somados com o sinal de previsão intercanal obtido a partir do outro canal do sinal de áudio estéreo. Um fator complexo contido nos parâmetros de previsão complexa 44 para esta respectiva banda de fatores de escala podem controlar o sinal de previsão.
[033] Além disso, dentro do enquadramento de codificação estéreo conjunto, o transformador inverso 16 pode ser configurado para realizar a descodificação MS 46. Isto é, até agora o descodificador 10 da Fig. 1 podia realizar as operações descritas duas vezes, uma vez para o primeiro canal e outra vez para o segundo canal de um sinal de áudio estéreo, e ser controlado através de parâmetros MS dentro do fluxo de dados 20, o transformador inverso 16 podia descodificar MS estes dois canais ou deixá-los como estão, nomeadamente como canais esquerdo e direito do sinal de áudio estéreo. Os parâmetros MS 48 podiam alternar entre a codificação MS ao nível de um quadro ou mesmo a um nível mais fino, tal como em unidades de bandas de fatores de escala ou seus grupos. No caso de a descodificação MS estar ativada, por exemplo, o transformador inverso 16 podia formar uma soma dos correspondentes coeficientes do domínio da frequência 24 pela ordem dos coeficientes de 0 até N - 1, com correspondentes coeficientes do domínio da frequência do outro canal do sinal de áudio estéreo, ou uma sua diferença.
[034] A Fig. 2 mostra depois que o desintercalador ativável 38 reage à sinalização 34 para o quadro atual para que, no caso de o quadro atual ser sinalizado pela sinalização 34 para ser um quadro de transformação de divisão, desintercalar os coeficientes do domínio da frequência recebidos, de modo a obter duas transformações, nomeadamente uma transformação anterior 50 e uma transformação posterior 52,e a deixar os coeficientes do domínio da frequência intercalados, de modo a resultar numa transformação 54 no caso de a sinalização 34 indicar que o quadro atual é um quadro de transformação longa. No caso de desintercalação, o desintercalador 38 forma uma transformação a partir de 50 e 52, uma primeira transformação curta a partir dos coeficientes do domínio da frequência que têm índices pares, e a outra transformação curta a partir dos coeficientes do domínio da frequência em posições de índices ímpares. Por exemplo, os coeficientes do domínio da frequência de índices pares podiam formar a transformação anterior (quando começa no índice 0), enquanto os outros formam a transformação posterior. As transformações 50 e 52 são sujeitas à transformação inversa do comprimento de transformação mais curta resultando em partes do domínio do tempo 56 e 58, respectivamente. O combinador 18 da Fig. 1 posiciona corretamente as partes do domínio do tempo 56 e 58 a tempo, nomeadamente a parte do domínio do tempo 56 resultante da transformação anterior 50 em frente à parte do domínio do tempo 58 resultante da transformação posterior 52, e realiza o processo de sobreposição e adição entre elas e com partes do domínio do tempo a resultar dos quadros precedentes e sucessores do sinal de áudio. No caso de não desintercalação, os coeficientes do domínio da frequência que chegam ao intercalador 38 constituem a transformação longa 54 tal como são, e a fase de transformação inversa 40 realiza aí uma transformação inversa, de modo a resultar numa parte do domínio do tempo 60 que se estende sobre e para além de todo o intervalo de tempo do quadro atual 26. O combinador 18 combina a parte do domínio do tempo 60 com respectivas partes do domínio do tempo a partir de quadros precedentes e sucessores do sinal de áudio.
[035] O descodificador de áudio do domínio da frequência descrito até agora possibilita a comutação do comprimento de transformação de um modo que permite que seja compatível com os descodificadores de áudio do domínio da frequência que não reagem à sinalização 34. Em particular, esses descodificadores “obsoletos” assumiriam erroneamente que os quadros, que estão atualmente sinalizados pela sinalização 34 como sendo do tipo de transformação de divisão, seriam do tipo de transformação longa. Isto é, eles deixariam erroneamente os coeficientes do domínio da frequência do tipo divisão intercalados e realizariam uma transformação inversa do comprimento de transformação longa. No entanto, a qualidade resultante dos quadros em questão do sinal de áudio reconstruído continuaria a ser bastante razoável.
[036] Por sua vez, a penalização da eficiência da codificação continuaria também bastante razoável. A penalização da eficiência de codificação resulta do desrespeito pela sinalização 34, uma vez que os coeficientes do domínio da frequência e os fatores de escala são codificados sem ter em conta o significado variável dos coeficiente e exploram esta variação para aumentar a eficiência de codificação. No entanto, esta última penalização é relativamente baixa comparativamente com a vantagem de permitir a compatibilidade regressiva. Esta última afirmação também é verdadeira relativamente à restrição para ativar e desativar filtro de ruído 40, à previsão estéreo complexa 42 e à descodificação MS 46 meramente dentro das partes espectrais contínuas (bandas de fatores de escala) no estado desintercalado definido pelos índices de 0 a N -1 na Fig. 2. A oportunidade para obter o controlo destas ferramentas de codificação especificamente para o tipo de quadro (p. ex. possuindo dois níveis de ruído) poderia possivelmente trazer vantagens, mas as vantagens são sobrecompensadas pela vantagem de possuir compatibilidade regressiva.
[037] A Fig. 2 mostra que o descodificador da Fig. 1até podia ser configurado para suportar a codificação TNS, ao mesmo tempo que mantém a compatibilidade regressiva com os descodificadores insensíveis à sinalização 34. Em particular, a Fig. 2 ilustra a possibilidade de realizar a filtragem TNS inversa após qualquer previsão estéreo complexa 42 e a descodificação 46, se houver. Para manter a compatibilidade regressiva, o transformador inverso 16 está configurado para realizar a filtragem TNS inversa 62 para uma sequência de coeficientes N independentemente da sinalização 34 usando respectivos coeficientes TNS 64. Através desta medida, o fluxo de dados 20 codifica os coeficientes TNS 64 de igual modo, independentemente da sinalização 34. Isto é, o número de coeficientes TNS e o modo para codificar os mesmos é o mesmo. No entanto, o transformador inverso 16 está configurado para aplicar de modo diferente os coeficientes TNS 64. No caso de o quadro atual ser um quadro de transformação longa, a filtragem TNS inversa é realizada para a transformação longa 54, isto é, os coeficientes do domínio da frequência sequencializados no estado intercalado, e no caso de o quadro atual ser sinalizado pela sinalização 34 como um quadro de transformação de divisão, o TNS inverso do transformador inverso 16 filtra 62 uma concatenação da transformação anterior 50 e da transformação posterior 52, isto é, a sequência dos coeficientes do domínio da frequência dos índices 0, 2, ..., N - 2, 1, 3, 5, ..., N - 1. A filtragem TNS inversa 62 pode, por exemplo, envolver o transformador inverso 16 a aplicar um filtro, cuja função de transferência é definida de acordo com os coeficientes TNS 64 para a sequência desintercalada ou intercalada de coeficientes que passaram a sequência de processamento do desintercalador a montante 38.
[038] Assim sendo, um descodificador “obsoleto” que acidentalmente trata quadros do tipo de transformação de divisão como quadros de transformação longa, aplica coeficientes TNS 64 que foram criados por um codificador ao analisar uma concatenação de duas transformações curtas, nomeadamente 50 e 52, para transformar 54 e correspondentemente produzir, através da transformação inversa aplicada na transformação 54, uma parte incorreta do domínio do tempo 60. No entanto, mesma esta degradação de qualidade nesses descodificadores pode ser tolerável para os ouvintes no caso de restringir a utilização desses quadros de transformação de divisão a ocasiões em que o sinal representa chuva ou aplausos ou idêntico.
[039] Por uma questão de exaustividade, a Fig. 3 mostra que a filtragem TNS inversa 62 do transformador inverso 16 também pode ser inserida noutro lugar na sequência de processamento apresentada na Fig. 2. Por exemplo, a filtragem TNS inversa 62 podia ser posicionada a montante da previsão estéreo complexa 42. Para manter o domínio desintercalado a jusante e a montante da filtragem TNS inversa 62, a Fig. 3 mostra que nesse caso os coeficientes do domínio da frequência 24 são unicamente preliminarmente desintercalados 66, para realizar a filtragem TNS inversa 68 dentro o estado concatenado desintercalado, em que os coeficientes do domínio da frequência 24 tal como são processados até agora encontram-se na ordem de índices 0, 2, 4, ..., N - 2, 1, 3, ..., N - 3, N - 1, enquanto a desintercalação é invertida 70 para assim obter os coeficientes do domínio da frequência na versão TNS inversamente filtrada TNS na sua ordem intercalada 0, 1, 2, ., N - 1 novamente. A posição da filtragem TNS inversa 62 dentro da sequência dos passos de processamento apresentada na Fig. 2 podia ser fixada ou podia ser sinalizada através do fluxo de dados 20, tal como por exemplo quadro a quadro ou noutra granularidade.
[040] Note-se que, para facilitar a descrição, os modelos acima concentraram-se apenas na justaposição de quadros de transformação longa e quadros de transformação de divisão. No entanto, os modelos do presente pedido podem também ser expandidos pela introdução de quadros de outro tipo de transformação, tal como quadros de oito transformações curtas. Neste sentido, note-se que o agnosticismo acima mencionado meramente se refere a quadros que se distinguem, através de mais outra sinalização, desses outros quadros de qualquer terceiro tipo de transformação, de modo a que um descodificador “obsoleto”, ao inspecionar a outra sinalização contida em todos os quadros, trata acidentalmente os quadros de transformação de divisão como quadros de transformação longa, e apenas os quadros diferentes dos outros quadros (todos exceto os quadros da transformação de divisão e longa) é que iriam compreender a sinalização 34. No que diz respeito a outros quadros (todos exceto os quadros de transformação de divisão e transformação longa), note-se que o modo de operação dos extratores 12 e 14, tal como a seleção do contexto e assim por diante, pode depender de mais sinalização, isto é, esse modo de operação pode ser diferente do modo de operação aplicado a quadros de transformação de divisão e de transformação longa.
[041] Antes de descrever um codificador adequado aos modelos de descodificação acima descritos, descreve-se uma implementação dos modelos acima que seria adequada para atualizar correspondentemente codificadores/descodificadores de áudio com base em xHE-AAC de modo a permitir o suporte da divisão de transformação com compatibilidade semi- regressiva.
[042] Isto é, descreve-se a seguir uma possibilidade de realizar a divisão do comprimento de transformação num codec de áudio que se baseia em MPEG-D xHE-AAC (USAC) com o objetivo de melhorar a qualidade de codificação de certos sinais de áudio a baixas taxas de bits. A ferramenta de divisão da transformação é sinalizada com compatibilidade semi-regressiva, de modo a que os descodificadores xHE-AAC legados possam analisar e descodificar fluxos de bits de acordo com os modelos acima referidos sem erros de áudio óbvios ou abandonos. Tal como se vai poder ver a seguir, esta sinalização com compatibilidade semi-regressiva explora possíveis valores não utilizados de um elemento de sintaxe do quadro que controla a utilização do preenchimento de ruído de um modo condicionalmente codificado. Enquanto os descodificadores xHE-AAC legados não são sensíveis a esses possíveis valores do respectivo elemento de sintaxe de preenchimento de ruído, descodificadores de áudio melhorados são.
[043] Em particular, a implementação descrita abaixo permite, em linha com os modelos acima descritos, oferecer um comprimento de transformação intermédio para codificar sinais idênticos a chuva ou aplausos, preferencialmente um bloco longo de divisão, isto é, duas transformações sequenciais, cada uma de metade ou um quarto do comprimento espectral de um bloco longo, com uma sobreposição de tempo máxima entre estas transformações que são inferiores a uma sobreposição temporal máxima entre blocos longos consecutivos. Para permitir que fluxos de bits codificados com divisão de transformação, isto é a sinalização 34, sejam lidos e analisados pelos descodificadores xHE-AAC legados, a divisão deve ser usada com compatibilidade semi-regressiva: a presença de uma ferramenta de divisão de transformação desse tipo não deve fazer os descodificadores legados pararem de - ou nem sequer começarem a - descodificar. A prontidão desses fluxos de bits através da infraestrutura xHE-AAC também pode facilitar a adoção do mercado. Para atingir o objetivo da compatibilidade semi-regressiva mencionado para usar a divisão de transformação no contexto de xHE-AAC ou seus potenciais, é sinalizada uma divisão de transformação mediante a sinalização de preenchimento de ruído de xHE-AAC. De acordo com os modelos acima descritos, para integrar a divisão de transformação nos codificadores/descodificadores xHE-AAC, em vez de uma sequência de janelas stop-start do domínio da frequência (FD) pode ser utilizada uma transformação de divisão que consiste de duas transformações de meio comprimento separadas. As transformações de meio comprimento temporalmente sequenciais são intercaladas num único bloco tipo stop-start de um modo coeficiente a coeficiente para descodificadores que não suportam a divisão de transformação, isto é, descodificadores xHE-AAC legados. A sinalização mediante sinalização de preenchimento de ruído é realizada conforme descrito a seguir. Em particular, a informação secundária de preenchimento de ruído de 8 bits pode ser usada para transportar a divisão de transformação. Isto é viável porque o padrão MPEG-D [4] anuncia que todos os 8 bits são transmitidos mesmo que o nível de ruído a aplicar seja zero. Nessa situação, alguns dos bits de preenchimento de ruído podem ser reutilizados para a divisão da transformação, isto é, para a sinalização 34.
[044] A compatibilidade semi-regressiva relativamente à análise e reprodução do fluxo de bits através de descodificadores xHE-AAC legados pode ser assegurada do seguinte modo. A divisão da transformação é sinalizada mediante um nível de ruído de zero (isto é, os primeiros três bits de preenchimento de ruído têm todos o valor zero) seguidos por cinco bits que não são zero (que tradicionalmente representam um desvio de ruído) contendo informação secundária relativa à divisão da transformação, assim como, ao nível de ruído que falta. Uma vez que um descodificador xHE-AAC legado não considera o valor do desvio de 5 bits se o nível de ruído de 3 bits for zero, a presença da sinalização da divisão da transformação 34 apenas tem um efeito sobre o preenchimento de ruído no descodificador legado: o preenchimento de ruído é desligado, uma vez que os primeiros três bits são zero, e o restante da operação de descodificação funciona conforme pretendido. Em particular, uma transformação de divisão é processada como um bloco stop-start tradicional com uma transformação inversa de comprimento total (devido à intercalação do coeficiente acima mencionada) e não é realizada nenhuma desintercalação. Por conseguinte, um descodificador legado continua a oferecer uma descodificação "elegante" do fluxo de bits/dados 20 melhorado porque não precisa de silenciar o sinal de saída 22 nem mesmo abortar a descodificação quando chega a um quadro do tipo da divisão de transformação. Naturalmente, um descodificador legado desses é incapaz de fornecer uma correta reconstrução de quadros de transformação de divisão, causando uma qualidade deteriorada nos quadros em questão comparativamente com a descodificação por um descodificador apropriado de acordo com a Fig. 1, por exemplo. Não obstante, presumindo que a divisão de transformação é utilizada como previsto, isto é, apenas na entrada transiente ou ruidosa com baixas taxas de bits, a qualidade através dos descodificadores xHE-AAC deve ser melhor do que se os quadros em questão saíssem devido ao silêncio ou causassem outros erros de reprodução óbvios.
[045] Concretamente, podia ser assim uma extensão de um codificador/descodificador xHE-AAC em relação à divisão da transformação.
[046] De acordo com a descrição acima, a nova ferramenta a ser usada para xHE-AAC podia ser chamada de divisão de transformação (TS). Seria uma nova ferramenta no codificador do domínio da frequência (FD) do xHE- AAC ou, por exemplo, estando MPEG-H 3D-Audio baseado em USAC [4]. A divisão de transformação podia depois ser usada em certas passagens de sinal transiente como uma alternativa para regular transformações longas (que causam descrédito do tempo, especialmente pré-eco, a baixas taxas de bits) ou oito transformações curtas (que causam buracos espectrais e artefatos de redoma a baixas taxas de bits). TS pode depois ser sinalizada com compatibilidade semi-regressiva pela intercalação do coeficiente FD numa transformação longa que pode ser analisada corretamente por um descodificador MPEG-D USAC legado.
[047] Uma descrição desta ferramenta seria semelhante à descrição feita em cima. Quando TS está ativa numa transformação longa, são usadas duas MDCTs de meio comprimento em vez de uma MDCT de comprimento total, e os coeficientes de duas MDCTs, isto é 50 e 52, são transmitidos de um modo intercalado linha a linha. A transmissão intercalada já tinha sido usada, por exemplo, no caso de transformações start (stop) FD, com os coeficientes da primeira MDCT colocada em índices pares e os coeficientes da segunda MDCT colocados em índices ímpares (em que a indexação começa no zero), mas um descodificador que não fosse capaz de lidar com transformações stop-start não teria conseguido analisar corretamente o fluxo de dados. Isto é, graças aos diferentes contextos utilizados para a codificação entrópica, os coeficientes do domínio da frequência servem uma transformação stop-start dessas, uma sintaxe variada agilizada para as transformações em metades, qualquer descodificador incapaz de suportar janelas stop-start teria de desrespeitar os respectivos quadros de janelas stop-start.
[048] Voltando a fazer uma breve referência ao modelo acima descrito, isto quer dizer que o descodificador da Fig. 1 pode ser, para além da descrição abordada até agora, capaz de alternativamente suportar outro comprimento de transformação, ou seja, uma subdivisão de certos quadros 26 em até mais do que duas transformações usando uma sinalização que amplia a sinalização 34. Relativamente à justaposição das subdivisões de transformação dos quadros 26 que não a transformação de divisão ativada usando a sinalização 34, porém, o extrator de coeficientes FD 12 e o extrator de fatores de escalonamento14 seriam sensíveis a esta sinalização, pelo que o seu modo de operação mudava em função dessa sinalização extra adicionalmente à sinalização 34. Além disso, uma transmissão agilizada de coeficientes TNS, parâmetros MS e parâmetros de previsão complexa, adaptados ao tipo de transformação sinalizado que não o tipo de transformação de divisão de acordo com 56 e 59, necessitaria que cada descodificador fosse forçosamente capaz de reagir a, ou seja compreender, a sinalização que seleciona entre estes “conhecidos tipos de transformação” ou quadros que incluem o tipo de transformação longa de acordo com 60, e outros tipos de transformação, tal como um que subdivide quadros em oito transformações curtas, como é o caso de AAC, por exemplo. Nesse caso, esta “conhecida sinalização” identificaria quadros, para os quais a sinalização 34 sinaliza o tipo de transformação de divisão, como quadros do tipo de transformação longa, de modo a que os descodificadores incapazes de compreenderem a sinalização 34 tratem estes quadros como quadros de transformação longa em vez de quadros de outros tipos, tais como quadros do tipo de 8 transformações curtas.
[049] Voltando de novo à descrição de uma possível extensão de xHE- AAC, certas restrições operacionais podem ser fornecidas para integrar uma ferramenta TS neste enquadramento de codificação. Por exemplo, TS pode ser permitido para ser usado apenas na janela FD long-start ou janela stop-start. Isto é, pode-se pedir que a subjacente syntax-element window_sequence seja igual a 1. Além disso, graças à sinalização com compatibilidade semi- regressiva, pode ser obrigatório a TS poder ser aplicada apenas quando o elemento de sintaxe noiseFilling é um que esteja no recipiente da sintaxe UsacCoreConfig(). Quando TS é sinalizada para estar ativa, todas as ferramentas FD, exceto TNS e MDCT inversa, funcionam no conjunto de coeficientes TS intercalados (longos). Isto permite reutilizar o desvio da banda de fatores de escala e as tabelas do codificador aritmético de transformação longa, assim como, as formas da janela e os comprimentos de sobreposição.
[050] De seguida, são apresentados os termos e definições utilizados a seguir para explicar como podia ser ampliado o padrão USAC descrito em [4] para oferecera funcionalidade da compatibilidade regressiva TS, fazendo-se por vezes referência a seções dentro desse padrão para o leitor interessado.
[051] Um novo elemento de dados podia ser:
[052] split_transform bandeira binária que indica se TS é utilizada no quadro e canal atuais
[053] Novos elementos de dados podiam ser:
[054] window_sequence tipo de sequência de janela FD para o quadro e canal atuais (seção 6.2.9)
[055] noise_offset desvio do preenchimento de ruído para modificar os fatores de escala das bandas quantizadas para zero (seção 7.2)
[056] noise_level nível de preenchimento de ruído que representa a amplitude de ruído de espectro adicionado (seção 7.2)
[057] half_transform_length uma metade de coreCoderFrameLength (ccfl, o comprimento de transformação, seção 6.1.1)
[058] half_lowpass_line uma metade do número das linhas MDCT transmitidas ao canal atual.
[059] A descodificação de uma transformação start (/stop) FD usando a divisão da transformação (TS) no enquadramento USAC podia ser realizada apenas em passos sequenciais, tal como se segue:
[060] Em primeiro lugar, só podia ser efetuada uma descodificação de split_transform e half_lowpass_line.
[061] split_transform não representaria atualmente um elemento independente de fluxo de bits, mas é derivada dos elementos de preenchimento de ruído, noise_offset e noise_level, e no caso de um UsacChannelPairElement(), a bandeira common_window em StereoCoreToolInfo(). Se noiseFilling == 0, split_transform é 0. Caso contrário, if ((noiseFilling != 0) && (noise_level == 0)) { split_transform = (noise_offset & 16) / 16; noise_level = (noise_offset & 14) / 2; noise_offset = (noise_offset & 1) * 16; } else { split_transform = 0; }
[062] por outras palavras, se noise_level == 0, ruído-desvio contém a bandeira split_transform seguida de 4 bits de dados de preenchimento de ruído, que são depois redispostos. Uma vez que esta operação altera os valores de noise_level e noise_offset, tem de ser realizada antes do processo de preenchimento de ruído da seção 7.2. Além disso, se common_window == 1 num UsacChannelPairElement(), split_transform é determinada apenas no (primeiro) canal esquerdo; a split_transform do canal direito é definida igual (ou seja, copiada) à split_transform do canal esquerdo, e o pseudo-código acima não é executado no canal direito.
[063] half_lowpass_line é determinada a partir da tabela de desvio da banda de fatores de escala “longa”, swb_offset_long_window, e max_sfb do atual canal, ou no caso de estéreo e common_window == 1, max_sfb_ste. max_sfb_ste em elementos com StereoCoreToolInfo() e common_window == 1, lowpass_sfb = max_sfb caso contrário. Com base na bandeira igFilling , é derivada half_lowpass_line: if (igFilling != 0) { lowpass_sfb = max(owpass_sfb_sfb, ig_stop_sfb); } half_lowpass_line = swb_offset_long_window [lowpass_sfb] / 2;
[064] De seguida, seria realizada, como um segundo passo, a desintercalação dos espectros de metade do comprimento para a modelação do ruído temporal.
[065] Depois da desquantização do espectro, preenchimento de ruído e aplicação do fator de escala e antes da aplicação da Modelação do Ruído Temporal (TNS), os coeficientes TS em spec [ ] são desintercalados usando uma memória temporária auxiliar [ ]:
[066] for (i = 0, i2 = 0; i < half_lowpass_line; i += 1, i2 += 2) {
[067] spec [i] = spec [i2]; /* isolar 1.- janela */
[068] buffer [i] = spec [i2+1]; /* isolar 2.- janela */
[069] }
[070] for (i = 0; i < half_lowpass_line; i += 1) {
[071] spec [i+half_lowpass_line] = buffer [i]; /* copiar 2.- janela */
[072] }
[073] A desintercalação no local efetivamente posiciona os dois espectros TS de metade do comprimento um sobre o outro, e
[074] a ferramenta TNS funciona como agora habitualmente sobre o resultante pseudo-espectro de comprimento total.
[075] Relativamente ao referido acima, esse procedimento tem sido descrito em relação à Fig. 3.
[076] Depois, como um terceiro passo, efetuava-se uma re-intercalação temporária juntamente com duas MDCTs sequenciais inversas.
[077] Se for realizada common_window == 1 no quadro atual ou na descodificação estéreo depois da descodificação TNS (tns_on_lr == 0 na seção 7.8), spec [ ] tem de ser temporariamente re-intercalado para o espectro de comprimento total:
[078] for (i = 0; i < half_lowpass_line; i += 1) {
[079] buffer [i] = spec [i]; /* copiar 1.8 janela */
[080] }
[081] for (i = 0, i2 = 0; i < half_lowpass_line; i += 1, i2 += 2) {
[082] spec [i2] = buffer [i]; /* fundir 1.8 janela */
[083] spec [i2+1] = spec [i+half_lowpass_line]; /* fundir 2? janela */
[084] }
[085] O pseudo-espectro resultante é utilizado para a descodificação estéreo (seção 7.7) e para atualizar dmx_re_prev [ ]
[086] (seções 7.7.2 e A.1.4). No caso de tns_on_lr == 0, os espectros de comprimento total estéreos descodificados são
[087] novamente desintercalados ao repetir o processo da seção A.1.3.2 Por fim, são calculadas as 2 MDCTs inversas
[088] com ccfl e a window_shape do canal do quadro atual e do último quadro. Ver seção 7.9 e Figura 1.
[089] Pode ser feita alguma modificação à descodificação de previsões estéreo complexas de xHE-AAC.
[090] Em alternativa, pode ser usado um método de sinalização com compatibilidade semi-regressiva implícita para integrar TS em xHE-AAC.
[091] O acima referido descreve uma abordagem que emprega um bit num fluxo de bits para sinalizar a utilização da divisão de transformação da invenção, contida na split_transform, para um descodificador da invenção. Em particular, essa sinalização (vamos chamar-lhe sinalização com compatibilidade semi-regressiva explícita) permite que os seguintes dados de fluxo de bits legados - aqui a informação secundária sobre preenchimento de ruído - sejam usados independentemente do sinal inventivo: No presente modelo, os dados de preenchimento de ruído não dependem dos dados de divisão de transformação, e vice-versa. Por exemplo, os dados de preenchimento de ruído que consistem de tudo a zero (noise_level = noise_offset = 0) podem ser transmitidos enquanto split_transform pode suportar qualquer valor possível (sendo uma bandeira binária, 0 ou 1).
[092] Nos casos em que não é exigida essa rigorosa independência entre o legado e os dados do fluxo de bits inventivos e em que o sinal inventivo é uma decisão binária, a transmissão explícita de um bit de sinalização pode ser evitada e essa decisão binária pode ser sinalizada pela presença ou ausência do que pode ser chamado sinalização com compatibilidade semi-regressiva implícita. Considerando novamente o modelo acima como exemplo, a utilização da divisão de transformação pode ser transmitida empregando simplesmente a sinalização da invenção: Se noise_level for zero e, ao mesmo tempo, noise_offset não for zero, então split_transform é definida igual a 1. Se tanto noise_level como noise_offset não forem zero, split_transform é igual a 0. Ocorre uma dependência do sinal implícito da invenção sobre o sinal legado do preenchimento de ruído quando tanto noise_level como noise_offset são zero. Neste caso, é pouco claro se está a ser usado o legado ou a sinalização implícita da invenção. Para evitar essa ambiguidade, o valor split_transform tem de ser definido à partida. No presente exemplo, é apropriado definir split_transform = 0 se os dados de preenchimento do ruído consistirem de tudo a zero, uma vez que isto é o que os codificadores legados sem divisão de transformação devem sinalizam quando o preenchimento de ruído não deve ser aplicado num quadro.
[093] A questão que permanece por resolver no caso da sinalização com compatibilidade semi-regressiva implícita é como sinalizar split_transform == 1 e nenhum preenchimento de ruído ao mesmo tempo. Conforme explicado, os dados de preenchimento de ruído não têm de ser zero, e se for pedida uma magnitude de ruído zero, noise_level ((noise_offset & 14)/2 conforme mencionado acima) tem de ser igual a 0. Isto deixa apenas como solução um noise_offset ((noise_offset & 1)*16 conforme mencionado acima) superior a 0. Felizmente, o valor de noise_offset é ignorado se não for feito nenhum preenchimento de ruído num descodificador baseado em USAC [4], e portanto esta abordagem acaba por ser praticável no presente modelo. Por conseguinte, a sinalização de split_transform no pseudo-código da descrição acima pode ser mudada do seguinte modo, usando o bit de sinalização TS guardado para transmitir 2 bits (4 valores) em vez de 1 bit para o noise_offset: if ((noiseFilling != 0) && (noise_level == 0) && (noise_offset != 0)) { split_transform = 1; noise_level = (noise_offset & 28) / 4; noise_offset = (noise_offset & 3) * 8; } else { split_transform = 0; }
[094] Correspondentemente, ao aplicar esta alternativa, a descrição de USAC pode ser ampliada usando a seguinte descrição.
[095] A descrição da ferramenta seria amplamente a mesma. Isto é,
[096] Quando a divisão de transformação (TS) está ativa numa transformação longa, são utilizadas duas MDCTs de meio comprimento em vez de uma MDCT de comprimento total. Os coeficientes das duas MDCTs são transmitidos de um modo intercalado linha a linha como uma tradicional transformação do domínio da frequência (FD), com os coeficientes da primeira MDCT colocados em índices pares e os coeficientes da segunda MDCT colocados em índices ímpares.
[097] As restrições operacionais podem exigir que TS possa ser usado apenas numa janela stop-start ou de arranque longo FD (window_sequence == 1) e que o TS possa ser aplicado apenas quando noiseFilling é 1 em UsacCoreConfig( ). Quando TS é sinalizada, todas as ferramentas FD, exceto TNS MDCT inversa, funcionam no conjunto de coeficientes TS intercalados (longos). Isto permite reutilizar o desvio da banda de fatores de escala e as tabelas do codificador aritmético de transformação longa, assim como, as formas da janela e os comprimentos de sobreposição.
[098] Os termos e definições a seguir usados envolvem os seguintes Elementos Auxiliares
[099] common_window indica se o canal 0 e o canal 1 de um CPE usam parâmetros de janela idênticos (ver ISO/IEC 23003-3:2012 seção 6.2.5.1.1).
[100] window_sequence tipo de sequência de janela FD para o quadro e canal atuais (ver ISO/IEC 23003-3:2012 seção 6.2.9)
[101] tns_on_lr Indica o modo de operação para a filtragem TNS (ver ISO/IEC 23003-3:2012 seção 7.8.2).
[102] noiseFilling Esta bandeira sinaliza a utilização do preenchimento de ruído de buracos espectrais no codificador central FD (ver ISO/IEC 230033:2012 seção 6.1.1.1).
[103] noise_offset desvio do preenchimento de ruído para modificar os fatores de escala das bandas quantizadas para zero (ver ISO/IEC 23003-3:2012 seção 7.2)
[104] noise_level nível de preenchimento de ruído que representa a amplitude de ruído de espectro adicionado (ver ISO/IEC 230033:2012 seção 7.2)
[105] split_transform bandeira binária que indica se TS é utilizado no quadro e canal atuais
[106] half_transform_length uma metade de coreCoderFrameLength (ccfl, o comprimento de transformação, ver ISO/IEC 23003-3:2012 seção 6.1.1)
[107] half_lowpass_line uma metade do número das linhas MDCT transmitidas ao canal atual.
[108] O processo de descodificação que envolve TS podia ser descrita assim. Em particular, a descodificação de uma transformação start(/stop) FD com TS é realizada em três passos sequenciais, como se pode ver a seguir.
[109] Em primeiro lugar, é efetuada a descodificação de split_transform e half_lowpass_line. O elemento auxiliar split_transform não representa um elemento independente de fluxo de bits, mas é derivado dos elementos de preenchimento de ruído, noise_offset e noise_level, e no caso de um UsacChannelPairElement(), a bandeira common_window em StereoCoreToolInfo(). Se noiseFilling == 0, split_transform é 0. Caso contrário, if ((noiseFilling != 0) && (noise_level == 0)) { split_transform = 1; noise_level = (noise_offset & 28) / 4; noise_offset = (noise_offset & 3) * 8; } else { split_transform = 0; }
[110] por outras palavras, se noise_level == 0, ruído-desvio contém a bandeira split_transform seguida de 4 bits de dados de preenchimento de ruído, que são depois redispostos. Uma vez que esta operação altera os valores de noise_level e noise_offset, tem de ser realizada antes do processo de preenchimento de ruído de ISO/IEC 23003-3:2012 seção 7.2.
[111] Além disso, se common_window == 1 num UsacChannelPairElement(), split_transform é determinada apenas no (primeiro) canal esquerdo; a split_transform do canal direito é definida igual (ou seja, copiada) à split_transform do canal esquerdo, e o pseudo-código acima não é executado no canal direito.
[112] O elemento auxiliar half_lowpass_line é determinado a partir da tabela de desvio da banda de fatores de escala “longa”, swb_offset_long_window, e max_sfb do atual canal, ou no caso de estéreo e common_window == 1, max_sfb_ste. Com base na bandeira igFilling, é derivada half_lowpass_line: if (igFilling != 0) { lowpass_sfb = max(lowpass_sfb, ig_stop_sfb); } half_lowpass_line = swb_offset_long_window [lowpass_sfb] / 2;
[113] De seguida, realiza-se a desintercalação dos espectros metade- comprimento para a modelação de ruído temporal.
[114] Depois da desquantização do espectro, preenchimento de ruído e aplicação do fator de escala e antes da aplicação da Modelação do Ruído Temporal (TNS), os coeficientes TS em spec [ ] são desintercalados usando uma memória temporária auxiliar [ ]: for (i = 0, i2 = 0; i < half_lowpass_line; i += 1, i2 += 2) { spec [i] = spec [i2]; /* isolar 1.- janela */ buffer [i] = spec [i2+1]; /* isolar 2.- janela */ } for (i = 0; i < half_lowpass_line; i += 1) { spec [i+half_lowpass_line] = buffer [i]; /* copiar 2.- janela */ }
[115] A desintercalação no local efetivamente coloca os dois espectros TS de metade do comprimento um sobre o outro, e a ferramenta TNS funciona agora como habitualmente sobre o resultante pseudo-especto de comprimento total.
[116] Por fim, pode ser utilizada a desintercalação temporária e duas MDCTs sequenciais inversas:
[117] Se for realizada common_window == 1 no quadro atual ou na descodificação estéreo depois da descodificação TNS (tns_on_lr == 0 na seção 7.8), spec [ ] tem de ser temporariamente re-intercalado para o espectro de comprimento total: for (i = 0; i < half_lowpass_line; i += 1) { buffer [i] = spec [i]; /* copiar 1.- janela */ } for (i = 0, i2 = 0; i < half_lowpass_line; i += 1, i2 += 2) { spec [i2] = buffer [i]; /* unir 1 .â janela */ spec [i2+1] = spec [i+half_lowpass_line]; /* unir 2? janela */ }
[118] O pseudo-espectro resultante é usado para a descodificação estéreo (ISO/IEC 23003-3:2012 seção 7.7) e para atualizar dmx_re_prev [ ] (ISO/IEC 23003-3:2012 seção 7.7.2) e no caso de tns_on_lr == 0, os espectros de comprimento total descodificados estéreo são novamente desintercalados através da repetição do processo da seção. Por fim, as 2 MDCTs inversas são calculadas com ccfl e window_shape do canal do quadro atual e do último quadro.
[119] O processamento para TS segue a descrição dada em ISO/IEC 23003-3:2012 seção "7.9 Banco de filtro e comutação de bloco". Devem ser tidas em conta as seguintes adições.
[120] Os coeficientes TS em spec [ ] são desintercalados usando uma memória temporária auxiliar [ ] com N, baseando-se o comprimento da janela no valor window_sequence: for (i = 0, i2 = 0; i < N/2; i += 1, i2 += 2) { spec [0] [i] = spec [i2]; /* isolar 1.8 janela */ buffer [i] = spec [i2+1]; /* isolar 2? janela */ } for (i = 0; i < N/2; i += 1) { spec [1] [i] = buffer [i]; /* copiar 2? janela */ }
[121] A IMDCT para o espectro TS de metade do comprimento é depois definido como:
[122]
Figure img0001
[123] Nas seguintes subseções estão definidas janelas subsequentes e passos de comutação de bloco.
[124] A divisão de transformação com STOP_START_SEQUENCE teria o aspeto da seguinte descrição:
[125] Na Fig. 2 foi apresentada uma STOP_START_SEQUENCE combinada com a divisão de transformação. Compreende duas janelas de metade do comprimento sobrepostas e adicionadas 56, 58 com um comprimento de N_l/2 que é 1024 (960, 768). N_s é definido para 256 (240, 192) respectivamente.
[126] As janelas (0,1) para as duas IMDCTs de metade do comprimento são fornecidas assim:
Figure img0002
em que para a primeira IMDCT são aplicadas as janela
Figure img0003
e para a segunda IMDCT são aplicadas as janelas
Figure img0004
[127] A sobreposição e adição entre as duas janelas de metade do comprimento que resulta nos valores do domínio do tempo em janela zi,n é descrita do seguinte modo. Aqui, N_l é definido para 2048 (1920, 1536), N_s para 256 (240, 192) respectivamente:
Figure img0005
A divisão de transformação com LONG_START_SEQUENCE teria o aspeto da seguinte descrição:
[128] Na Fig. 4 é apresentada uma LONG_START_SEQUENCE combinada com a divisão de transformação. Compreende três janelas definidas do seguinte modo, em que N_l/ está definido para 1024 (960, 768), N_s está definido para 256 (240, 192) respectivamente.
Figure img0006
[129] As metades esquerda/direita da janela são fornecidas por:
Figure img0007
[130] A terceira janela é iguala à metade esquerda de uma
Figure img0008
[131] A sobreposição e adição entre as duas janelas de metade do comprimento que resulta nos valores do domínio do tempo intermédios em Z% janela i,n é descria do seguinte modo. Aqui, N_l é definido para 2048 (1920, 1536), N_s para 256 (240, 192) respectivamente.
Figure img0009
Os valores do domínio do tempo finais em janela Zi,n são obtidos pela aplicação de W2:
[132]
Figure img0010
[133] Independentemente de estar a ser usada a sinalização com compatibilidade semi-regressiva explícita ou implícita, ambas foram descritas acima, podendo ser necessárias algumas modificações à descodificação estéreo de previsão complexa de xHE-AAC para conseguir obter uma operação significativa nos espectros intercalados.
[134] A modificação à descodificação estéreo de previsão complexa pode ser implementada do seguinte modo.
[135] Uma vez que as ferramentas estéreo FD operam num pseudo- espectro intercalado quando TS está ativa num par de canais, não são necessárias mudanças ao M/S subjacente ou processamento de Previsão Complexa. No entanto, a derivação do downmix dmx_re_prev [ ] do quadro anterior e o cálculo do downmix MDST dmx_im [ ] em ISO/IEC 23003-3:2012 seção 7.7.2 tem de ser adaptado se TS for usada em qualquer canal no último ou atual quadro:
[136] use_prev_frame tem de ser 0 se a atividade TS mudou em qualquer canal do último para o quadro atual. Por outras palavras, dmx_re_prev [ ] não pode ser usado nesse caso por causa da comutação do comprimento de transformação.
[137] Se TS estava ou está ativa, dmx_re_prev [ ] e dmx_re [ ] especificam pseudo-espectros intercalados e têm de ser desintercalados para os seus correspondentes dois espectros TS de metade do comprimento para o cálculo correto de MDST.
[138] Aquando a atividade de TS, 2 downmixes MDST de metade do comprimento são calculados usando coeficientes de filtro adaptados (Tabelas 1 e 2) e intercalados num espectro de comprimento total dmx_im [ ] (tal como dmx_re [ ]).
[139] window_sequence: As estimativas de downmix MDST são calculadas para cada par de janelas de grupos. use_prev_frame é avaliado apenas para o primeiro dos dois pares de metades de janelas. Para o outro par de janelas, o par de janelas anterior é sempre usado na estimativa MDST, o que implica use_prev_frame = 1.
[140] Formas de janelas: Os parâmetros de estimativa MDST para a janela atual, que são coeficientes de filtro conforme descrito acima, dependem das formas da metade esquerda e direita da janela. Para a primeira janela, isto quer dizer que os parâmetros de filtro são uma função das bandeiras atual e anterior window_shape do quadro. A janela que sobrar é apenas afetada pela atual window_shape.
[141] Tabela 1 — MDST Parâmetros de Filtro para Janela Atual (filter_coefs)
Figure img0011
Figure img0012
Tabela 2 — MDST Filtrar Parâmetros para Janela Anterior (filter_coefs_prev)
Figure img0013
Figure img0014
[142] Por fim, a Fig. 5 mostra, por uma questão de exaustividade, um possível codificador de áudio do domínio da frequência que suporta a comutação do comprimento de transformação adaptado aos modelos descritos acima. Isto é, o codificador da Fig. 5 que é geralmente indicado pelo símbolo de referência 100 é capaz de codificar um sinal de áudio 102 num fluxo de dados 20 de um modo que o descodificador da Fig. 1 e as correspondentes variantes descritas acima sejam capazes de beneficiar com a modelação da divisão de transformação para alguns dos quadros, enquanto os descodificadores “obsoletos” continuam capazes de processar quadros TS sem analisar erros ou idêntico.
[143] O codificador 100 da Fig. 5 compreende um transformador 104, um escalonador inverso 106, um insersor de coeficientes do domínio da frequência 108 e um insersor de fatores de escala110. O transformador 104 recebe o sinal de áudio 102 para ser codificado e está configurado para submeter as partes do domínio do tempo do sinal de áudio à transformação para obter coeficientes do domínio da frequência para quadros do sinal de áudio. Em particular, tal como fica claro a partir da discussão em cima, o transformador 104 decide numa base quadro a quadro qual a subdivisão destes três quadros 26 em transformações - ou janelas de transformação - é usada. Conforme descrito acima, os quadros 26 podem ter o mesmo comprimento e a transformação pode ser uma transformação revestida usando transformações de sobreposição de diferentes comprimentos. A Fig. 5 ilustra, por exemplo, que um quadro 26a é sujeito a uma transformação longa, um quadro 26b é sujeito a uma divisão da transformação, isto é a duas transformações com metade do comprimento, e um outro quadro 26c aparece a ser sujeito a mais do que duas, isto é 2n>2, transformações ainda mais curtas de 2-n do comprimento de transformação longo. Conforme descrito acima, com esta medida, o codificador 100 pode adaptar a resolução espectro-temporal do espectrograma representado pela transformação revestida realizada pelo transformador 104 ao conteúdo de áudio de tempo variável ou espécie de conteúdo de áudio do sinal de áudio 102.
[144] Isto é, os coeficientes do domínio da frequência resultam na saída do transformador 104 que representa um espectrograma do sinal de áudio 102. O escalonador inverso 106 está ligado à saída do transformador 104 e está configurado para escalonar inversamente, e quantizar concorrentemente os coeficientes do domínio da frequência de acordo com os fatores de escala. Notavelmente, o escalonador inverso opera sobre os coeficientes do domínio da frequência à medida que são obtidos pelo transformador 104. Isto é, o escalonador inverso 106 tem de estar necessariamente ciente da tarefa do comprimento de transformação ou da tarefa do modo de transformação para os quadros 26. Note também que o escalonador inverso 106 tem de determinar os fatores de escala. O escalonador inverso 106 é, com esta finalidade, por exemplo, a parte de um circuito de feedback que avalia o limite de máscara psico-acústico determinado para um sinal de áudio 102, de modo a manter o ruído de quantização introduzido pela quantização e gradualmente definido de acordo com os fatores de escala abaixo do limite de detecção psico-acústico o mais possível com ou sem obedecer alguma restrição da taxa de bits.
[145] Na saída do escalonador inverso 106 são produzidos os fatores de escala e os coeficientes do domínio da frequência inversamente escalonados e quantizados, e o insersor de fatores de escala 110 está configurado para inserir os fatores de escala no fluxo de dados 20, enquanto o insersor de coeficientes do domínio da frequência 108 está configurado para inserir os coeficientes do domínio da frequência dos quadros do sinal de áudio, inversamente escalonados e quantizados de acordo com os fatores de escala, para dentro do fluxo de dados 20. De um modo correspondente ao descodificador, ambos os insersores 108 e 110 funcionam independentemente do modo de transformação associado aos quadros 26 no que diz respeito à justaposição dos quadros 26a de um modo de transformação longo e quadros 26b do modo de divisão de transformação.
[146] Por outra palavras, os insersores 110 e 108 funcionam independentemente da sinalização 34 mencionada acima, a qual o transformador 104 está configurado para sinalizar no, ou inserir dentro do, fluxo de dados 20 para os quadros 26a e 26b, respectivamente.
[147] Por outras palavras, no modelo acima é o transformador 104 que apropriadamente dispõe os coeficientes de transformação da transformação longa e quadros de transformação de divisão, nomeadamente através da disposição serial plana ou intercalação, e o insersor funciona prontamente independentemente de 109. Mas de um modo mais generalista, basta se a independência do insersor de coeficientes do domínio da frequência da sinalização estiver restringida à inserção de uma sequência dos coeficientes do domínio da frequência de cada quadro de transformação longa e transformação de divisão do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, para o fluxo de dados onde, dependendo da sinalização, se forma a sequência dos coeficientes do domínio da frequência através da disposição sequencial dos coeficientes do domínio da frequência da uma transformação de um respectivo quadro de um modo não intercalado no caso de o quadro ser um quadro de transformação longa, e através da intercalação dos coeficientes do domínio da frequência da mais do que uma transformação do respectivo quadro no caso de o respectivo quadro ser um quadro de transformação de divisão.
[148] No que diz respeito ao insersor de coeficientes do domínio da frequência 108, o facto de o mesmo operar independentemente da sinalização 34 que distingui entre quadros 26a, por um lado, e os quadros 26b, por outro lado, significa que o insersor 108 insere os coeficientes do domínio da frequência dos quadros do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, no fluxo de dados 20 de um modo sequencial no caso de uma transformação realizada para o respectivo quadro, de um modo intercalado, e insere os coeficientes do domínio da frequência dos respectivos quadros usando a intercalação no caso de mais do que uma transformação realizada para os quadros respectivos, nomeadamente dois no exemplo da Fig. 5. No entanto, tal como já foi apresentado em cima, o modo de divisão da transformação também pode ser implementado para dividir uma transformação em mais do que duas transformações.
[149] Por fim, note-se que o codificador da Fig. 5 também pode ser adaptado para realizar todas as outras medidas de codificação adicionais apresentadas em cima relativamente à Fig. 2, tal como a codificação MS, a previsão estéreo complexa 42 e a TNS para, com este fim, determinar os seus respectivos parâmetros 44, 48 e 64.
[150] Apesar de alguns aspetos terem sido descritos no contexto de um aparelho, é claro que estes aspetos também representam uma descrição do correspondente método, em que um bloco ou dispositivo corresponde a um passo de método ou a uma característica de um passo de método. De modo análogo, os aspetos descritos no contexto de um passo de método também representam uma descrição de um correspondente bloco ou item ou característica de um correspondente aparelho. Alguns ou todos os passos do método podem ser executados (ou usados) por um aparelho de hardware, com por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas versões, um ou mais dos mais importantes passos do método podem ser executados por um aparelho destes.
[151] Dependendo de certos requisitos de implementação, os modelos da invenção podem ser implementados em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo uma disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, com sinais de controlo de leitura eletrônica guardados lá, que cooperam (ou são capazes de cooperar) com um sistema de computador programável, de modo a que seja executado o respectivo método. Por isso, o meio de armazenamento digital pode ser lido em computador.
[152] Algumas versões de acordo com a invenção compreendem um suporte de dados com sinais de controlo de leitura eletrônica, que são capazes de cooperar com um sistema de computador programável, de modo a que seja executado um dos métodos aqui descritos.
[153] No geral, as versões da presente invenção podem ser implementadas como um produto do programa de computador com um código do programa, sendo o código do programa operativo para efetuar um dos métodos quando o produto do programa de computador é executado num computador. O código de programa pode, por exemplo, ser guardado num suporte de leitura em máquina.
[154] Outros modelos compreendem o programa de computador para executar um dos métodos aqui descritos, guardados num suporte de leitura em máquina.
[155] Por outras palavras, uma versão do método da invenção é, desse modo, um programa de computador com um código do programa para efetuar um dos métodos aqui descritos, quando o programa de computador é executado num computador.
[156] Outro modelo dos métodos da invenção é, por isso, um suporte de dados (ou um suporte de armazenamento digital ou um suporte de leitura em computador) compreendendo, aí gravados, o programa de computador para executar um dos métodos aqui descritos. O suporte de dados, o suporte de armazenamento digital ou o suporte gravado são tipicamente tangíveis e/ou não transicionários.
[157] Outro modelo do método da invenção é, por isso, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para executar um dos métodos aqui descritos. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurado para ser transferido através de uma ligação de comunicação de dados, por exemplo via Internet.
[158] Outro modelo compreende um meio de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para executar um dos métodos aqui descritos.
[159] Outro modelo compreende um computador com o programa informático instalado para executar um dos métodos aqui descritos.
[160] Uma outra versão de acordo com a invenção inclui um aparelho ou um sistema configurado para transferir (por exemplo, eletronicamente ou oticamente) para um receptor, um programa informático para efetuar um dos métodos aqui descritos. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou idêntico. O aparelho ou sistema pode, por exemplo, compreender um servidor de ficheiros para transferir o programa de computador para o receptor.
[161] Em alguns modelos, pode ser utilizado um dispositivo programável lógico (por exemplo uma rede de portas lógicas programáveis) para executar algumas ou todas as funcionalidades dos métodos aqui descritos Em alguns modelos, uma rede de portas lógicas programáveis pode cooperar com um microprocessador para executar um dos métodos aqui descritos. De um modo geral, os métodos são preferencialmente executados por qualquer aparelho de hardware.
[162] Os modelos acima descritos são meramente ilustrativos para os princípios da presente invenção. Compreende-se que as modificações e variações das disposições e dos detalhes descritos serão evidentes aos profissionais da matéria. Pretende-se, por isso, que seja limitado apenas pelo âmbito das reivindicações impendentes da patente e não pelos detalhes específicos da descrição e explicação dos modelos aqui constantes.
[163] Referências
[164] [1] Internet Engineering Task Force (IETF), RFC 6716, “Definition of the Opus Audio Codec,” Padrão Proposto, set. 2012. Disponível online em http://tools.ietf.org/html/rfc6716.
[165] [2] International Organization for Standardization, ISO/IEC 14496 3:2009, “Information Technology - Coding of audio-visual objects - Part 3: Audio,” Génova, Suíça, ago. 2009.
[166] [3] M. Neuendorf et al., “MPEG Unified Speech and Audio Coding - The ISO/MPEG Standard for High-Efficiency Audio Coding of All Content Types,” em Proc. 132? Convenção do AES, Budapeste, Hungria, Abr. 2012. Também para aparecer no Diário do AES, 2013.
[167] [4] International Organization for Standardization, ISO/IEC 23003 3:2012, “Information Technology - MPEG audio - Part 3: Unified speech and audio coding,” Génova, jan. 2012.
[168] [5] J.D.Johnston e A.J.Ferreira, "Sum-Difference Stereo Transform Coding", em Proc. IEEE ICASSP-92, Vol. 2, março 1992.
[169] [6] N .Rettelbach, et al., Patente Europeia EP2304719A1, "Audio Encoder, Audio Decoder, Methods for Encoding and Decoding an Audio Signal, Audio Stream and Computer Program", abril 2011.

Claims (11)

1. Descodificador de áudio do domínio da frequência que suporta a comutação do comprimento da transformação, caracterizado por compreender um extrator de coeficientes do domínio da frequência (12) que está configurado para extrair coeficientes do domínio da frequência (24) de quadros de um sinal de áudio a partir de um fluxo de dados; um extrator de fatores de escalonamento (14) que está configurado para extrair fatores de escalonamento do fluxo de dados; um transformador inverso (16) configurado para submeter os coeficientes do domínio da frequência dos quadros, escalonados de acordo com os fatores de escala, para inverter a transformação para obter partes do domínio do tempo do sinal de áudio; um combinador (18) configurado para combinar as partes do domínio do tempo para obter o sinal de áudio, em que o transformador inverso reage a uma sinalização dentro dos quadros do sinal de áudio, de modo a, dependendo da sinalização, formar uma transformação dispondo sequencialmente os coeficientes do domínio da frequência de um respectivo quadro, escalonados de acordo com os fatores de escala, de um modo não desintercalado e submeter aquela transformação a uma transformação inversa de um primeiro comprimento de transformação, ou formar mais do que uma transformação pela desintercalação dos coeficientes do domínio da frequência do respectivo quadro, escalonados de acordo com os fatores de escala, e submeter cada uma das mais do que uma transformações a uma transformação inversa de um segundo comprimento de transformação, mais curto do que o primeiro comprimento de transformação, em que o extrator de coeficientes do domínio da frequência e o extrator de fatores de escala funcionam independentemente da sinalização, em que o transformador inverso está configurado para realizar uma filtragem de modelação de ruído temporal inversa (62) para uma sequência de coeficientes N independentemente da sinalização através da aplicação de um filtro, cuja uma função de transferência é definida de acordo com os coeficientes TNS (64) para a sequência de coeficientes N, com na formação da uma transformação, aplicar a filtragem de modelação de ruído temporal inversa usando os coeficientes do domínio da frequência sequencialmente dispostos de um modo não desintercalado como a sequência de coeficientes N, e na formação das mais do que uma transformação, aplicar a filtragem de modelação do ruído temporal inversa nos coeficientes do domínio da frequência com os coeficientes do domínio da frequência sequencialmente dispostos de um modo desintercalado, de acordo com o qual as mais do que uma transformações estão espectralmente concatenadas como a sequência de coeficientes N.
2. Descodificador de áudio do domínio da frequência de acordo com a reivindicação 1, caracterizado por o extrator de fatores de escala (14) estar configurado para extrair os fatores de escala a partir do fluxo de dados na resolução espectro-temporal que é independente da sinalização.
3. Descodificador de áudio do domínio da frequência de acordo com a reivindicação 1 ou 2, caracterizado por o extrator de coeficientes do domínio da frequência (12) usar a descodificação entrópica com base no contexto ou livro de códigos para extrair os coeficientes do domínio da frequência do fluxo de dados, com a atribuição, para cada coeficiente do domínio da frequência, do mesmo contexto ou livro de códigos ao correspondente coeficiente do domínio da frequência independentemente da sinalização.
4. Descodificador de áudio do domínio da frequência de acordo com qualquer uma das reivindicações de 1 a 3, caracterizado por o transformador inverso estar configurado para submeter os coeficientes do domínio da frequência ao escalonamento de acordo com os fatores de escala numa resolução espectral independente da sinalização.
5. Descodificador de áudio do domínio da frequência de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por o transformador inverso estar configurado para submeter os coeficientes do domínio da frequência ao preenchimento de ruído, com os coeficientes do domínio da frequência sequencialmente dispostos de um modo não desintercalado, numa resolução espectral independente da sinalização.
6. Descodificador de áudio do domínio da frequência de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por o transformador inverso estar configurado para suportar a codificação estéreo conjunta com ou sem previsão estéreo intercanal e usar os coeficientes do domínio da frequência como um espectro de soma (central) ou de diferença (lateral) ou residual de previsão da previsão estéreo intercanal, com os coeficientes do domínio da frequência dispostos de um modo não desintercalado, independentemente da sinalização.
7. Descodificador de áudio do domínio da frequência de acordo com qualquer uma das reivindicações 1 a 6, caracterizado por o número das mais do que uma transformações ser igual a 2, e o primeiro comprimento de transformação ser o dobro do segundo comprimento de transformação.
8. Descodificador de áudio do domínio da frequência de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por a transformação inversa ser uma transformação de cosseno discreta modificada inversa, MDCT
9. Método para a descodificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação, caracterizado por compreender extrair coeficientes do domínio da frequência de quadros de um sinal de áudio a partir de um fluxo de dados; extrair fatores de escala do fluxo de dados; submeter os coeficientes do domínio da frequência dos quadros, escalonados de acordo com os fatores de escala, à transformação inversa para obter partes do domínio do tempo do sinal de áudio; combinar as partes do domínio do tempo para obter o sinal de áudio, em que a sujeição à transformação inversa reage a uma sinalização dentro dos quadros do sinal de áudio, de modo a, dependendo da sinalização, compreender formar uma transformação dispondo sequencialmente os coeficientes do domínio da frequência de um respectivo quadro de um modo não desintercalado e submeter a uma transformação a uma transformação inversa de um primeiro comprimento de transformação, ou formar mais do que uma transformação pela desintercalação dos coeficientes do domínio da frequência do respectivo quadro e submeter cada uma das mais do que uma transformações a uma transformação inversa de um segundo comprimento de transformação, mais curto do que o primeiro comprimento de transformação, em que a extração dos coeficientes do domínio da frequência e a extração dos fatores de escala são independentes da sinalização, em que a sujeição à transformação inversa compreende realizar uma filtragem de modelação de ruído temporal inversa (62) para uma sequência de coeficientes N independentemente da sinalização através da aplicação de um filtro, cuja uma função de transferência é definida de acordo com os coeficientes TNS (64) para a sequência de coeficientes N, com na formação da uma transformação, aplicar a filtragem de modelação de ruído temporal inversa usando os coeficientes do domínio da frequência sequencialmente dispostos de um modo não desintercalado como a sequência de coeficientes N, e na formação das mais do que uma transformação, aplicar a filtragem de modelação do ruído temporal inversa nos coeficientes do domínio da frequência com os coeficientes do domínio da frequência sequencialmente dispostos de um modo desintercalado, de acordo com o qual as mais do que uma transformações estão espectralmente concatenadas como a sequência de coeficientes N.
10. Codificador de áudio do domínio da frequência que suporta a comutação do comprimento da transformação, caracterizado por compreender um transformador (104) configurado para submeter às partes do domínio do tempo de um sinal de áudio à transformação para obter coeficientes do domínio da frequência de quadros do sinal de áudio; um escalonador inverso (106) configurado para escalonar inversamente os coeficientes do domínio da frequência de acordo com os fatores de escala; um insersor de coeficientes do domínio da frequência (108) configurado para inserir os coeficientes do domínio da frequência dos quadros do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, no fluxo de dados; e um insersor de fatores de escala (110) que está configurado para inserir fatores de escala no fluxo de dados; em que o transformador está configurado para comutar para os quadros dos sinais de áudio pelo menos entre realizar uma transformação de um primeiro comprimento de transformação para um respectivo quadro, e realizar mais do que uma transformação de um segundo comprimento de transformação, mais curto do que o primeiro comprimento de transformação, para o respectivo quadro, em que o transformador está ainda configurado para sinalizar a comutação pela sinalização dentro dos quadros do fluxo de dados; em que o insersor de coeficientes do domínio da frequência está configurado para dependendo da sinalização, formar a sequência de coeficientes do domínio da frequência mediante dispor sequencialmente os coeficientes do domínio da frequência da uma transformação de um respectivo quadro de um modo não intercalado no caso de uma transformação realizada para o respectivo quadro, e através da intercalação dos coeficientes do domínio da frequência da mais do que uma transformação do respectivo quadro no caso de mais do que uma transformação realizada para o respectivo quadro, de um modo independente da sinalização, inserir, para o respectivo quadro, uma sequência de coeficientes do domínio da frequência do respectivo quadro do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, no fluxo de dados, em que o insersor de fatores de escala opera independentemente da sinalização, em que o codificador está configurado para realizar a modelação de ruído temporal inversa para uma sequência de coeficientes N de modo a determinar coeficientes TNS (64) de um modo independente da sinalização, em que, no caso da realização de uma transformação, os coeficientes do domínio da frequência sequencialmente dispostos num modo não desintercalado são usados como a sequência de coeficientes N, e no caso da realização de mais de uma transformação, os coeficientes do domínio da frequência sequencialmente dispostos de um modo desintercalado, de acordo com os quais as mais de uma transformações estão concatenadas espectralmente, são usados como a sequência de coeficientes N.
11. Método para a codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação, caracterizado por compreender submeter as partes do domínio do tempo de um sinal de áudio à transformação para obter coeficientes do domínio da frequência de quadros do sinal de áudio; escalonar inversamente os coeficientes do domínio da frequência de acordo com os fatores de escala; inserir os coeficientes do domínio da frequência dos quadros do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, no fluxo de dados; e inserir fatores de escala no fluxo de dados, em que a sujeição à transformação muda para os quadros do sinal de áudio pelo menos entre realizar uma transformação de um primeiro comprimento de transformação para um respectivo quadro, e realizar mais do que uma transformação de um segundo comprimento de transformação, mais curto do que o primeiro comprimento de transformação, para o respectivo quadro, em que o método compreende sinalizar a comutação pela sinalização dentro dos quadros do fluxo de dados; em que a inserção dos coeficientes do domínio da frequência é realizada dependendo da sinalização, da sequência de coeficientes do domínio da frequência formada por dispor sequencialmente os coeficientes do domínio da frequência da uma transformação do respectivo quadro de um modo não intercalado no caso de uma transformação realizada para o respectivo quadro, e através da intercalação dos coeficientes do domínio da frequência da mais do que uma transformação do respectivo quadro no caso de mais do que uma transformação realizada para o respectivo quadro, de um modo independente da sinalização, inserir, para um respectivo quadro, uma sequência de coeficientes do domínio da frequência do respectivo quadro do sinal de áudio, inversamente escalonados de acordo com os fatores de escala, no fluxo de dados, em que a inserção de fatores de escala é realizada independentemente da sinalização, em que o método compreende realizar a modelação de ruído temporal para uma sequência de coeficientes N de modo a determinar coeficientes TNS (64) de um modo independente da sinalização, em que, no caso da realização de uma transformação, os coeficientes do domínio da frequência sequencialmente dispostos num modo não desintercalado são usados como a sequência de coeficientes N, e no caso da realização de mais de uma transformação, os coeficientes do domínio da frequência sequencialmente dispostos de um modo desintercalado, de acordo com os quais as mais de uma transformações estão concatenadas espectralmente, são usados como a sequência de coeficientes N.
BR112016001247-0A 2013-07-22 2014-07-15 Codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação BR112016001247B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13177373.1 2013-07-22
EP13189334.9 2013-10-18

Publications (1)

Publication Number Publication Date
BR112016001247B1 true BR112016001247B1 (pt) 2021-12-14

Family

ID=

Similar Documents

Publication Publication Date Title
JP7311940B2 (ja) 変換長切替えをサポートする周波数ドメインオーディオ符号化
BRPI0514650B1 (pt) Métodos para codificação e decodificação de sinais de áudio, codificador e decodificador de sinais de áudio
EP4369335A1 (en) Noise filling in multichannel audio coding
BR112016001247B1 (pt) Codificação de áudio do domínio da frequência que suporta a comutação do comprimento da transformação
BR122022016387B1 (pt) Preenchimento de ruído na codificação de áudio multicanal