BR112015030686B1 - Aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por modelagem da representação de soma cumulativa empregando codificação e quantização de distribuição - Google Patents

Aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por modelagem da representação de soma cumulativa empregando codificação e quantização de distribuição Download PDF

Info

Publication number
BR112015030686B1
BR112015030686B1 BR112015030686-1A BR112015030686A BR112015030686B1 BR 112015030686 B1 BR112015030686 B1 BR 112015030686B1 BR 112015030686 A BR112015030686 A BR 112015030686A BR 112015030686 B1 BR112015030686 B1 BR 112015030686B1
Authority
BR
Brazil
Prior art keywords
value
envelope
argument
aggregation
signal envelope
Prior art date
Application number
BR112015030686-1A
Other languages
English (en)
Inventor
Baeckstroem Tom
Schubert Benjamin
Multrus Markus
Disch Sascha
Schmidt Konstantin
Pietrzyk Grzegorz
Original Assignee
Fraunhofer-Gesellschaft Zur Foerderung 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 Foerderung Der Angewandten Forschung E.V. filed Critical Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V.
Publication of BR112015030686B1 publication Critical patent/BR112015030686B1/pt

Links

Images

Abstract

APARELHO E MÉTODO DE CODIFICAÇÃO, PROCESSAMENTO E DECODIFICAÇÃO DE ENVELOPE DE SINAL DE ÁUDIO POR MODELAGEM DA REPRESENTAÇÃO DE SOMA CUMULATIVA EMPREGANDO CODIFICAÇÃO E QUANTIZAÇÃO DE DISTRIBUIÇÃO. Um aparelho para geração de um envelope de sinal de áudio a partir de um ou mais valor (es) de codificação é fornecido. O aparelho compreende uma interface de entrada (1610) para receber um ou mais valor(es) de codificação e um gerador de envelope (1620) para gerar o envelope de sinal de áudio, dependendo de um ou mais valor(es) de codificação. O gerador de envelope (16 20) é configurado para gerar uma função de agregação. Além disso, o gerador de envelope (1620) é configurado para gerar o envelope de sinal de áudio. Ainda, o gerador de envelope (1620) é configurado para gerar o envelope de sinal de áudio, de modo que o valor de envelope de cada um dos pontos de envelope do envelope de sinal de áudio dependa do v alor de agregação de, pelo menos, um ponto de agregação da função de agregação.

Description

Descrição
[0001] A presente invenção refere-se a um aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio e, em particular, a um aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio empregando codificação e quantização de distribuição.
[0002] A codificação preditiva linear (LPC | linear predictive coding) é uma ferramenta clássica para modelar o envelope espectral da largura de banda do núcleo em codecs de voz. O domínio mais comum para quantizar os modelos LPC é o domínio de frequência de espectro de linha (LSF | line spectrum frequency). Isso tem como base uma decomposição do polinomial LPC em dois polinomiais, cujas raízes estão na unidade do círculo, de modo que eles possam ser descritos somente pelos seus ângulos ou frequências.
[0003] O objeto da presente invenção é fornecer conceitos melhorados para codificação e decodificação de envelope de sinal de áudio. O objeto da presente invenção é resolvido por um aparelho de acordo com a reivindicação 1, por um aparelho de acordo com a reivindicação 9, por um método de acordo com a reivindicação 15, por um método de acordo com a reivindicação 16 e por um programa de computador de acordo com a reivindicação 17.
[0004] Um aparelho para geração de um envelope de sinal de áudio de um ou mais valor(es) de codificações é fornecido. O aparelho compreende uma interface de entrada para receber um ou mais valor(es) de codificações e um gerador de envelope para gerar o envelope de sinal de áudio, dependendo de um ou mais valor(es) de codificações. O gerador de envelope é configurado para gerar uma função de agregação, dependendo de um ou mais valor(es) de codificações, caracterizado pela função de agregação compreender uma pluralidade de pontos de agregação, em que cada um dos pontos de agregação compreende um valor de argumento e um valor de agregação, em que a função de agregação aumenta uniformemente, e em que cada um de um ou mais valor(es) de codificações indica, pelo menos, um valor de argumento e um valor de agregação de um dos pontos de agregação da função de agregação. Além disso, o gerador de envelope é configurado para gerar o envelope de sinal de áudio, de modo que o envelope de sinal de áudio compreenda uma pluralidade de pontos de envelope, em que cada um dos pontos de envelope compreende um valor de argumento e um valor de envelope e em que um ponto de envelope do envelope de sinal de áudio é atribuído para cada um dos pontos de agregação da função de agregação, de modo que o valor de argumento do referido ponto de envelope seja igual ao valor de argumento do referido ponto de agregação. Além disso, o gerador de envelope é configurado para gerar o envelope de sinal de áudio, de modo que o valor de envelope de cada um dos pontos de envelope do envelope de sinal de áudio dependa do valor de agregação de, pelo menos, um ponto de agregação da função de agregação.
[0005] De acordo com uma aplicação, o gerador de envelope pode, por exemplo, ser configurado para determinar a função de agregação ao determinar um dos pontos de agregação para cada um de um ou mais valor(es) de codificações, dependendo do referido valor de codificação, e ao aplicar interpolação para obter a função de agregação, dependendo do ponto de agregação de cada um de um ou mais valor(es) de codificações.
[0006] Em uma aplicação, o gerador de envelope pode, por exemplo, ser configurado para determinar um primeiro derivado da função de agregação em uma pluralidade de pontos de agregação da função de agregação.
[0007] De acordo com uma aplicação, o gerador de envelope pode, por exemplo, ser configurado para gerar a função de agregação, dependendo dos valores de codificações, de modo que a função de agregação tenha um primeiro derivado contínuo.
[0008] Em uma aplicação, o gerador de envelope pode, por exemplo, ser configurado para determinar o envelope de sinal de áudio ao aplicar
Figure img0001
caracterizado pela inclinação(k) indicar o derivado do envelope de sinal agregado no valor de codificação k-th, em que c(k) é o valor agregado do ponto agregado k-th da função de agregação e em que f(k) é o valor de argumento do ponto agregado k-th da função de agregação.
[0009] De acordo com uma aplicação, a interface deentrada pode ser configurada para receber um ou mais valor(es) de divisão como um ou mais valor(es) de codificações. O gerador de envelope pode ser configurado para gerar a função de agregação, dependendo de um ou mais valor(es) de divisão, caracterizado por cada um de um ou mais valor(es) de divisão indicar o valor de agregação de um dos pontos de agregação da função de agregação. Além disso, o gerador de envelope pode ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, em que a regra de atribuição predefinida define um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal. Além disso, o gerador de envelope pode ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope de sinal, um valor absoluto do seu valor de parte do envelope de sinal seja maior do que metade de um valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[00010] Além disso, um aparelho para determinação deum ou mais valor(es) de codificações para codificar um envelope de sinal de áudio é fornecido. O aparelho compreende um agregador para determinar um valor agregado para cada pluralidade de valores de argumento, caracterizado pela pluralidade de valores de argumento ser ordenada, de modo que um primeiro valor de argumento da pluralidade de valores de argumento ou preceda ou suceda um segundo valor de argumento da pluralidade de valores de argumento, quando o referido segundo valor de argumento for diferente do primeiro valor de argumento, em que um valor de envelope é atribuído para cada um dos valores de argumento, em que o valor de envelope de cada um dos valores de argumento depende do envelope de sinal de áudio e em que o agregador é configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, dependendo do valor de envelope do referido valor de argumento e dependendo do valor de envelope de cada pluralidade de valores de argumento que precede o referido valor de argumento. Além disso, o aparelho compreende uma unidade de codificação para determinar um ou mais valor(es) de codificações, dependendo de um ou mais dos valores agregados da pluralidade de valores de argumento.
[00011] De acordo com uma aplicação, o agregador pode, por exemplo, ser configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento ao adicionar o valor de envelope do referido valor de argumento e o valor de envelopes dos valores de argumento que precedem o referido valor de argumento.
[00012] Em uma aplicação, o valor de envelope de cada um dos valores de argumento pode, por exemplo, indicar um valor de energia de um envelope de sinal de áudio, tendo o envelope de sinal de áudio como envelope de sinal.
[00013] De acordo com uma aplicação, o valor deenvelope de cada um dos valores de argumento pode, por exemplo, indicar uma potência n-th de um valor espectral de um envelope de sinal de áudio, tendo o envelope de sinal de áudio como envelope de sinal, caracterizado por n ser um número ímpar inteiro maior que zero.
[00014] Em uma aplicação, o valor de envelope de cadados valores de argumento pode, por exemplo, indicar uma potência n-th de um valor de amplitude de um envelope de sinal de áudio, sendo representado em um tempo de domínio, e tendo o envelope de sinal de áudio como envelope de sinal, caracterizado por n ser um número ímpar inteiro maior que zero.
[00015] De acordo com uma aplicação, a unidade decodificação pode, por exemplo, ser configurada para determinar um ou mais valor(es) de codificações, dependendo de um ou mais dos valores agregados dos valores de argumento e dependendo de um número de valores de codificações queindique quantos valores deverão ser determinados pela unidadede codificação como um ou mais valor(es) de codificações.
[00016] Em uma aplicação, a unidade de codificaçãopode, por exemplo, ser configurada para determinar um ou maisvalor(es) de codificações de acordo com
Figure img0002
caracterizado por c(k) indicar o valor decodificação k-th a ser determinado pela unidade de codificação, em que j indica o valor de argumento j-th da pluralidade de valores de argumento, em que a(j) indica ovalor agregado sendo atribuído ao valor de argumento j-th, emque max(a) indica um valor máximo, sendo um dos valoresagregados que são atribuídos a um dos valores de argumento,em que nenhum dos valores agregados que são atribuídos aosvalores de argumento é maior do que o valor máximo, eem que
Figure img0003
indica um valormínimo, sendo um dos valores de argumento para que
Figure img0004
seja mínimo.
[00017] Além disso, um método para geração de umenvelope de sinal de áudio de um ou mais valor(es) de codificações é fornecido. O método caracterizado por compreender:- Receber um ou mais valor(es) de codificações. E:- Gerar o envelope de sinal de áudio,dependendo de um ou mais valor(es) de codificações.
[00018] A geração do envelope de sinal de áudio é conduzida ao gerar uma função de agregação, dependendo de um ou mais valor(es) de codificações, caracterizado pela função de agregação compreender a pluralidade de pontos de agregação, em que cada um dos pontos de agregação compreende um valor de argumento e um valor de agregação, em que a função de agregação aumenta uniformemente e em que cada um de um ou mais valor(es) de codificações indica, pelo menos, um valor de argumento e um valor de agregação de um dos pontos de agregação da função de agregação. Além disso, a geração do envelope de sinal de áudio é conduzida, de modo que o envelope de sinal de áudio compreenda a pluralidade de pontos de envelope, em que cada um dos pontos de envelope compreende um valor de argumento e um valor de envelope e em que um ponto de envelope do envelope de sinal de áudio é atribuído a cada um dos pontos de agregação da função de agregação, de modo que o valor de argumento do referido ponto de envelope seja igual ao valor de argumento do referido ponto de agregação. Além disso, a geração do envelope de sinal de áudio é conduzida, de modo que o valor de envelope de cada um dos pontos de envelope do envelope de sinal de áudio dependa do valor de agregação de, pelo menos, um ponto de agregação da função de agregação.
[00019] Além disso, um método para determinar um ou mais valor(es) de codificações para codificar um envelope de sinal de áudio é fornecido. O método caracterizado por compreender:- Determinar um valor agregado para cada pluralidade de valores de argumento, em que a pluralidade de valores de argumento é ordenada, de modo que um primeiro valor de argumento da pluralidade de valores de argumento ou preceda ou suceda um segundo valor de argumento da pluralidade de valores de argumento, quando o referido segundo valor de argumento for diferente do primeiro valor de argumento, em que um valor de envelope é atribuído a cada um dos valores de argumento, em que o valor de envelope de cada dos valores de argumento depende do envelope de sinal de áudio e em que o agregador é configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, dependendo do valor de envelope do referido valor de argumento e dependendo do valor de envelope de cada pluralidade de valores de argumento que precede o referido valor de argumento. E:- Determinar um ou mais valor(es) de codificações, dependendo de um ou mais dos valores agregados da pluralidade de valores de argumento.
[00020] Além disso, um programa de computador para implementar um dos métodos descritos acima, quando executado em um computador ou processador de sinal, é fornecido.
[00021] Um aparelho de decodificação para obter um envelope de sinal de áudio reconstruído é fornecido. O aparelho compreende um reconstrutor de envelope de sinal para gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão, e uma interface de saída para a emissão do envelope de sinal de áudio reconstruído. O reconstrutor de envelope de sinal é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, caracterizado por uma regra de atribuição predefinida definir um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal. Além disso, o reconstrutor de envelope de sinal é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope de sinal, um valor absoluto do seu valor de parte do envelope de sinal seja maior que metade de um valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[00022] De acordo com uma aplicação, o reconstrutor de envelope de sinal pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope de sinal, o valor absoluto do seu valor de parte do envelope de sinal seja maior do que 90% do valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[00023] Em uma aplicação, o reconstrutor de envelope de sinal pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope de sinal, o valor absoluto do seu valor de parte do envelope de sinal seja maior do que 99% do valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[00024] Em outra aplicação, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que o valor de parte do envelope de sinal de cada uma de duas ou mais partes do envelope de sinal seja igual ao valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal uma de duas ou mais partes do envelope de sinal.
[00025] De acordo com uma aplicação, o valor de parte do envelope de sinal de cada parte do envelope de sinal de uma de duas ou mais partes do envelope de sinal pode, por exemplo, depender de um ou mais valor(es) de energia ou um ou mais valor(es) de potência da referida parte do envelope de sinal. Ou o valor de parte do envelope de sinal de cada parte do envelope de sinal de uma de duas ou mais partes do envelope de sinal depende de qualquer outro valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio.
[00026] O escalonamento do envelope pode ser implementado de várias maneiras. Especificamente, ele pode corresponder à energia de sinal ou massa espectral ou similar (um tamanho absoluto), ou pode ser um escalonamento ou fator de ganho (um tamanho relativo). Certamente, pode ser codificado como um valor relativo ou absoluto, ou pode ser codificado por uma diferença a um valor prévio ou a uma combinação de valores prévios. Em alguns casos o escalonamento pode também ser irrelevante ou deduzido de outros dados disponíveis. O envelope pode ser reconstruído ao seu nível original ou um específico. Assim, em geral, o valor de parte do envelope de sinal depende de qualquer valor adequado para reconstruir o nível original ou específico do envelope de sinal de áudio.
[00027] Em uma aplicação, o aparelho pode, por exemplo, compreender, ainda, um decodificador de pontos de divisão para decodificar um ou mais ponto(s) codificado(s), de acordo com uma regra de decodificação, para obter uma posição de cada um de um ou mais ponto(s) de divisão. O decodificador dos pontos de divisão pode, por exemplo, ser configurado para analisar um número total de posições, indicando um número total de posições possíveis de pontos de divisão, um número de pontos de divisão indicando o número de um ou mais ponto(s) de divisão e um número de estado dos pontos de divisão. Além disso, o decodificador dos pontos de divisão pode, por exemplo, ser configurado para gerar uma indicação da posição de cada um de um ou mais ponto(s) de divisão utilizando o número total de posições, o número de pontos de divisão e o número do estado de pontos de divisão.
[00028] De acordo com uma aplicação, o reconstrutor de envelope de sinal pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, dependendo de um valor de energia total, indicando uma energia total do envelope de sinal de áudio reconstruído, ou dependendo de qualquer outro valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio.
[00029] Além disso, um aparelho de decodificação para obter um envelope de sinal de áudio reconstruído, de acordo com outra aplicação, é fornecido. O aparelho compreende um reconstrutor de envelope de sinal para gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão, e uma interface de saída para a emissão do envelope de sinal de áudio reconstruído. O reconstrutor de envelope de sinal é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s)envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, caracterizado por uma regra de atribuição predefinida definir um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal. Um valor da parte do envelope predefinido é atribuído a cada uma de duas ou mais partes do envelope de sinal. O reconstrutor de envelope de sinal é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, um valor absoluto do valor de parte do envelope de sinal da referida parte do envelope de sinal seja maior do que 90% de um valor absoluto do valor predefinido da parte de envelope sendo atribuído à referida parte do envelope de sinal, e de modo que o valor absoluto do valor de parte do envelope de sinal da referida parte do envelope de sinal seja menor do que 110% do valor absoluto do valor da parte do envelope predefinido sendo atribuído à referida parte do envelope de sinal.
[00030] Em uma aplicação, o reconstrutor de envelope de sinal é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que o valor de parte do envelope de sinal de cada uma de duas ou mais partes do envelope de sinal seja igual ao valor predefinido da parte de envelope sendo atribuído à referida parte do envelope de sinal.
[00031] Em uma aplicação, os valores predefinidos da parte de envelope de, pelo menos, duas das partes do envelope de sinal diferem uns dos outros.
[00032] Em outra aplicação, o valor predefinido da parte de envelope de cada uma das partes do envelope de sinal difere do valor predefinido da parte de envelope de cada uma das outras partes do envelope de sinal.
[00033] Além disso, um aparelho para reconstruir um sinal de áudio é fornecido. O aparelho compreende um aparelho de decodificação, de acordo com uma das aplicações descritas acima, para obter um envelope de sinal de áudio reconstruído do sinal de áudio e um gerador de sinal para gerar o sinal de áudio, dependendo do envelope de sinal de áudio do sinal de áudio e dependendo de outra característica de sinal do sinal de áudio, outra característica de sinal sendo diferente do envelope de sinal de áudio.
[00034] Além disso, um aparelho de codificação um envelope de sinal de áudio é fornecido. O aparelho compreende uma interface de envelope do sinal de áudio para receber o envelope de sinal de áudio e um determinador do ponto de divisão para determinar, dependendo de uma regra de atribuição predefinida, um valor de parte do envelope de sinal para, pelo menos, uma parte do envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio para, pelo menos, cada uma das duas configurações de ponto de divisão. Pelo menos, cada uma das duas configurações de ponto de divisão compreende um ou mais ponto(s) de divisão, caracterizado por um ou mais ponto(s) de divisão de cada uma das duas ou mais configurações de ponto de divisão dividir o envelope de sinal de áudio em duas ou mais partes do envelope de sinal de áudio. O determinador do ponto de divisão é configurado para selecionar um ou mais ponto(s) de divisão de, pelo menos, uma das duas configurações de ponto de divisão como um ou mais ponto(s) de divisão selecionado(s) para codificar o envelope de sinal de áudio, em que o determinador do ponto de divisão é configurado para selecionar um ou mais ponto(s) de divisão, dependendo do valor de parte do envelope de sinal de, pelo menos, cada uma das partes de envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio de, pelo menos, cada uma das duas configurações de ponto de divisão.
[00035] De acordo com uma aplicação, o valor de parte do envelope de sinal de cada parte de envelope de sinal de duas ou mais partes do envelope de sinal pode, por exemplo, depender de um ou mais valor(es) de energia ou um ou mais valor(es) de potência da referida parte do envelope de sinal. Ou o valor de parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal depende de qualquer valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio.
[00036] Conforme mencionado anteriormente, o escalonamento do envelope pode ser implementado de várias maneiras. Especificamente, ele pode corresponder à energia de sinal ou massa espectral ou similar (um tamanho absoluto) ou pode ser um escalonamento ou fator de ganho (um tamanho relativo). Certamente, ele pode ser codificado como um valor absoluto ou relativo ou pode ser codificado por uma diferença a um valor prévio ou a uma combinação de valores prévios. Em alguns casos o escalonamento pode também ser irrelevante ou deduzido de outros dados disponíveis. O envelope pode ser reconstruído ao seu nível original ou um específico. Assim, em geral, o valor de parte do envelope de sinal depende de qualquer valor adequado para reconstruir o nível original ou específico do envelope de sinal de áudio.
[00037] Em uma aplicação, o aparelho pode, por exemplo, compreender, ainda, um codificador de pontos de divisão para codificar uma posição de cada um de um ou mais ponto(s) de divisão para obter um ou mais ponto(s) codificado(s). O codificador de pontos de divisão pode, por exemplo, ser configurado para codificar uma posição de cada um de um ou mais ponto(s) de divisão ao codificar um número de estado de pontos de divisão. Além disso, o codificador de pontos de divisão pode, por exemplo, ser configurado para fornecer um número total de posições, indicando um número total de posições possíveis de ponto de divisão, e um número de pontos de divisão, indicando o número de um ou mais ponto(s) de divisão. O número de estado de pontos de divisão, o número total de posições e o número de pontos de divisão juntos indicam a posição de cada um de um ou mais ponto(s) de divisão.
[00038] De acordo com uma aplicação, o aparelho pode, por exemplo, compreender, ainda, um determinador de energia para determinar uma energia total do envelope de sinal de áudio e para codificar a energia total do envelope de sinal de áudio. Ou o aparelho pode, por exemplo, ser, além disso, configurado para determinar qualquer outro valor adequado para reconstruir um nível original ou um específico de envelope de sinal de áudio.
[00039] Além disso, um aparelho de codificação um sinal de áudio é fornecido. O aparelho compreende um aparelho de codificação, de acordo com uma das aplicações descritas acima, para codificar um envelope de sinal de áudio de sinal de áudio e um codificador de característica de sinal secundário para codificar outra característica de sinal de sinal de áudio a outra característica de sinal sendo diferente do envelope de sinal de áudio.
[00040] Além disso, um método de decodificação para obter um envelope de sinal de áudio reconstruído é fornecido. O método caracterizado por compreender:- Gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão. E:- Emitir o envelope de sinal de áudio reconstruído.
[00041] A geração do envelope de sinal de áudio reconstruído é conduzida, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, caracterizado por uma regra de atribuição predefinida definir um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal. Além disso, a geração do envelope de sinal de áudio reconstruído é conduzida, de modo que, para cada uma de duas ou mais partes do envelope de sinal, um valor absoluto do seu valor de parte do envelope de sinal seja maior do que metade de um valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[00042] Além disso, um método de decodificação para obter um envelope de sinal de áudio reconstruído é fornecido. O método caracterizado por compreender:- Gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão. E:- Emitir o envelope de sinal de áudio reconstruído.
[00043] A geração do envelope de sinal de áudio reconstruído é conduzida, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, caracterizado por uma regra de atribuição predefinida definir um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal. Um valor predefinido da parte de envelope é atribuído para cada uma de duas ou mais partes do envelope de sinal. Além disso, a geração do envelope de sinal de áudio reconstruído é conduzida de modo que, para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, um valor absoluto do valor de parte do envelope de sinal da referida parte do envelope de sinal seja maior do que 90% de um valor absoluto do valor predefinido da parte de envelope sendo atribuído à referida parte do envelope de sinal, e de modo que o valor absoluto do valor de parte do envelope de sinal da referida parte do envelope de sinal seja menor do que 110% do valor absoluto do valor predefinido da parte de envelope sendo atribuído à referida parte do envelope de sinal.
[00044] Além disso, um método de codificação de um envelope de sinal de áudio é fornecido. O método caracterizado por compreender:- Receber o envelope de sinal de áudio.- Determinar, dependendo de uma regra de atribuição predefinida, um valor de parte do envelope de sinal para, pelo menos, uma parte de envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio para, pelo menos, cada uma das duas configurações de ponto de divisão, em que, pelo menos, cada uma das duas configurações de ponto de divisão compreende um ou mais ponto(s) de divisão, em que um ou mais ponto(s) de divisão de cada uma das duas ou mais configurações de ponto de divisão divide o envelope de sinal de áudio nas duas ou mais partes do envelope de sinal de áudio. E:- Selecionar um ou mais ponto(s) de divisão de uma de, pelo menos, duas configurações de ponto de divisão como um ou mais ponto(s) de divisão selecionado(s) para codificar o envelope de sinal de áudio, em que a seleção de um ou mais ponto(s) de divisão é realizada, dependendo do valor de parte do envelope de sinal de, pelo menos, cada uma das partes de envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio de, pelo menos, cada uma das duas configurações de ponto de divisão.
[00045] Além disso, um programa de computador para implementar um dos métodos descritos acima, quando executado em um computador ou processador de sinal, é fornecido.
[00046] Uma descrição heurística, mas um pouco imprecisa, da frequência de espectro de linha 5 (LSF5 | line spectrum frequency 5) consiste em que ela descreve uma distribuição de energia de sinal ao longo do eixo de frequência. Com uma alta probabilidade, a LSF5 irá residir nas frequências onde o sinal tem muita energia. As aplicações baseiam-se na constatação que toma essa descrição heurística literalmente e quantiza a distribuição real de energia de sinal. Uma vez que as LSFs aplicam essa ideia somente de modo aproximado, de acordo com as aplicações, o conceito LSF é omitido e a distribuição de frequências é quantizada em vez disso, de modo que um formato liso de envelope possa ser construído a partir daquela distribuição. Esse conceito inventivo é a seguir referido como quantização de distribuição.
[00047] As aplicações baseiam-se na quantização e codificação dos envelopes espectrais a serem utilizados em codificação de áudio e voz. As aplicações podem, por exemplo, ser aplicadas tanto nos envelopes de largura de banda do núcleo quanto nos métodos de extensão da largura de banda.
[00048] De acordo com as aplicações, técnicas de modelagem de envelope padrão, tais como bandas de fator de escala [3,4] e modelos preditivos lineares [1] podem, por exemplo, ser substituídos e/ou melhorados.
[00049] Um objeto das aplicações é obter uma quantização que combine os benefícios de ambas abordagens, preditivas lineares e com base em bandas de fator de escala, enquanto omite suas desvantagens.
[00050] De acordo com as aplicações, são fornecidosconceitos que apresentam um envelope espectral liso, mas bastante preciso por um lado, mas, por outro lado, podem ser codificados com uma baixa quantidade de bits (opcionalmente com uma taxa de bits fixa) e, além disso, realizados com uma complexidade computacional razoável.
[00051] A seguir, as aplicações da presente invençãoserão descritas em mais detalhes com referência às figuras, nas quais:
[00052] A figura 1 ilustra um aparelho dedecodificação para obter um envelope de sinal de áudio reconstruído, de acordo com uma aplicação,
[00053] A figura 2 ilustra um aparelho dedecodificação, de acordo com outra aplicação, caracterizado pelo aparelho compreender, ainda, um decodificador dos pontos de divisão.
[00054] A figura 3 ilustra um aparelho de codificaçãoum envelope de sinal de áudio, de acordo com uma aplicação,
[00055] A figura 4 ilustra um aparelho de codificaçãoum envelope de sinal de áudio, de acordo com outra aplicação, caracterizado pelo aparelho compreender, ainda, um codificador de pontos de divisão,
[00056] A figura 5 ilustra um aparelho de codificaçãoum envelope de sinal de áudio, de acordo com outra aplicação, caracterizado pelo aparelho de codificação um envelope de sinal de áudio compreender, ainda, um determinador de energia.
[00057] A figura 6 ilustra três envelopes de sinais sendo descritos por blocos de energia constantes, de acordo com as aplicações.
[00058] A figura 7 ilustra uma representação cumulativa do espectro da figura 6, de acordo com as aplicações.
[00059] A figura 8 ilustra um envelope espectral de massa interpolada em ambas as representações originais, bem como em uma representação de domínio de massa cumulativa.
[00060] A figura 9 ilustra um processo de decodificação para decodificar as posições do ponto de divisão, de acordo com uma aplicação,
[00061] A figura 10 ilustra um pseudocódigo implementando a decodificação das posições do ponto de divisão, de acordo com uma aplicação.
[00062] A figura 11 ilustra um processo de codificação para codificar os pontos de divisão, de acordo com uma aplicação.
[00063] A figura 12 retrata o pseudocódigo, implementando a codificação das posições do ponto de divisão, de acordo com uma aplicação da presente invenção.
[00064] A figura 13 ilustra um decodificador dos pontos de divisão, de acordo com uma aplicação.
[00065] A figura 14 ilustra um aparelho de codificação um sinal de áudio, de acordo com uma aplicação.
[00066] A figura 15 um aparelho para reconstruir um sinal de áudio, de acordo com uma aplicação.
[00067] A figura 16 ilustra um aparelho para geração de um envelope de sinal de áudio de um ou mais valor(es) de codificações, de acordo com uma aplicação.
[00068] A figura 17 ilustra um aparelho para determinação de um ou mais valor(es) de codificações para codificar um envelope de sinal de áudio, de acordo com uma aplicação.
[00069] A figura 18 ilustra uma função de agregação, de acordo com um primeiro exemplo.
[00070] A figura 19 ilustra uma função de agregação, de acordo com um segundo exemplo.
[00071] A figura 3 ilustra um aparelho de codificação um envelope de sinal de áudio, de acordo com uma aplicação.
[00072] O aparelho compreende uma interface de envelope do sinal de áudio 210 para receber o envelope de sinal de áudio.
[00073] Além disso, o aparelho compreende um determinador de ponto de divisão 220 para determinar, dependendo de uma regra de atribuição predefinida, um valor de parte do envelope de sinal para, pelo menos, uma parte do envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio para, pelo menos, cada uma de duas configurações de ponto de divisão.
[00074] Pelo menos, cada uma das duas configurações de ponto de divisão compreende um ou mais ponto(s) de divisão, caracterizado por um ou mais ponto(s) de divisão de cada uma das duas ou mais configurações de ponto de divisão dividirem o envelope de sinal de áudio em duas ou mais partes do envelope de sinal de áudio. O determinador do ponto de divisão 220 é configurado para selecionar um ou mais ponto(s) de divisão de, pelo menos, uma das duas configurações de ponto de divisão, como um ou mais ponto(s) de divisão selecionado(s) para codificar o envelope de sinal de áudio, em que o determinador do ponto de divisão 220 é configurado para selecionar um ou mais ponto(s) de divisão, dependendo do valor de parte do envelope de sinal de, pelo menos, cada uma das partes do envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio de, pelo menos, cada uma das duas configurações de ponto de divisão.
[00075] Uma configuração do ponto de divisão compreende um ou mais ponto(s) de divisão e é definida pelos seus pontos de divisão. Por exemplo, um envelope de sinal de áudio pode compreender 2 0 amostras, 0,..., 19 e uma configuração com dois pontos de divisão pode ser definida pelo seu primeiro ponto de divisão na localização da amostra 3 e pelo seu segundo ponto de divisão no local da amostra 8, por exemplo, a configuração do ponto de divisão pode ser indicada pelo tuplo (3; 8). Se somente um ponto de divisão puder ser determinado, então, um único ponto de divisão indica a configuração do ponto de divisão.
[00076] Um ou mais ponto(s) de divisão Adequado(s) deve(m) ser determinado(s) como um ou mais ponto(s) de divisão selecionado(s). Para esta finalidade, pelo menos, duas configurações de ponto de divisão, cada uma consideradas. Um ou mais ponto(s) de divisão da configuração do ponto de divisão mais adequada é(são) selecionado(s). Se uma configuração do ponto de divisão for mais adequada do que outra, ela será determinada, dependendo do valor de parte do envelope de sinal determinado, cujo próprio valor depende da regra de atribuição predefinida.
[00077] Em aplicações onde cada uma das configurações de ponto de divisão tem pontos de divisão N, cada configuração de ponto de divisão possível com pontos de divisão pode ser considerada. No entanto, em algumas aplicações, nem todas as configurações possíveis, mas somente duas configurações de ponto de divisão são consideradas e o ponto de divisão da configuração do ponto de divisão mais adequado é escolhido como um ou mais ponto(s) de divisão selecionado(s).
[00078] Em aplicações onde somente um único ponto de divisão pode ser determinado, cada configuração do ponto de divisão compreende somente um único ponto de divisão. Em aplicações onde dois pontos de divisão podem ser determinados, cada configuração do ponto de divisão compreende dois pontos de divisão. Da mesma forma, em aplicações onde pontos de divisão N podem ser determinados, cada configuração do ponto de divisão compreende pontos de divisão N.
[00079] Uma configuração do ponto de divisão com um único ponto de divisão divide o envelope de sinal de áudio em duas partes do envelope de sinal de áudio. Uma configuração do ponto de divisão com dois pontos de divisão divide o envelope de sinal de áudio em três partes do envelope de sinal de áudio. Uma configuração do ponto de divisão com pontos de divisão N divide o envelope de sinal de áudio em partes do envelope de sinal de áudio N+1.
[00080] Há uma regra de atribuição predefinida queatribui um valor de parte do envelope de sinal para cada uma das partes do envelope de sinal de áudio. A regra de atribuição predefinida depende das partes do envelope de sinal de áudio.
[00081] Em algumas aplicações, os pontos de divisãosão determinados, de modo que cada uma das partes do envelope de sinal de áudio que resultam de um ou mais ponto(s) de divisão, dividindo o envelope de sinal de áudio, tenha um valor das partes do envelope de sinal atribuído pela regra de atribuição predefinida, que é aproximadamente igual. Deste modo, como um ou mais ponto(s) de divisão depende(m) do envelope de sinal de áudio e da regra de atribuição, o envelope de sinal de áudio pode ser estimado em um decodificador, se a regra de atribuição e os pontos de divisão forem conhecidos no decodificador. Isso é, por exemplo, ilustrado pela figura 6:
[00082] Na figura 6 (a), um único ponto de divisãopara um envelope de sinal 610 pode ser determinado. Deste modo, neste exemplo, as diferentes configurações de ponto de divisão possíveis são definidas por um único ponto de divisão. Na aplicação da figura 6 (a), o ponto de divisão 631 é considerado como o ponto de divisão. O ponto de divisão 631 divide o envelope de sinal de áudio 610 em duas partes do envelope de sinal. O bloco retangular 611 representa uma energia de uma primeira parte do envelope de sinal definida pelo ponto de divisão 631. O bloco retangular 612 representa uma energia de uma segunda parte do envelope de sinal definida pelo ponto de divisão 631. No exemplo da figura 6 (a), as bordas superiores dos blocos 611 e 612 representam uma estimativa do envelope de sinal 610. Tal estimativa pode ser feita em um decodificador, por exemplo, utilizando como informação o ponto de divisão 631 (por exemplo, se o único ponto de divisão tem o valor s = 12, assim o ponto de divisão s é localizado na posição 12), informação sobre onde o envelope de sinal começa (aqui no ponto 638) e informação onde o envelope de sinal termina (aqui no ponto 639). O envelope de sinal pode começar e pode terminar em valores fixos e essa informação pode ser disponível como informação fixada no receptor. Ou, essa informação pode ser transmitida para o receptor. No lado do decodificador, o decodificador pode reconstruir uma estimativa do envelope de sinal de modo que as partes do envelope de sinal, que resulta do ponto de divisão 631 divisão do envelope de sinal de áudio, recebem o mesmo valor atribuído da regra de atribuição predefinida. Na figura 6 (a), as partes do envelope de sinal de um envelope de sinal sendo definido pelas bordas superiores do bloco 611 e 612 recebem o mesmo valor atribuído pela regra de atribuição e representa uma boa estimativa do envelope de sinal 610. Em vez de usar ponto de divisão 631, o valor 621 pode também ser utilizado como ponto de divisão. Além disso, em vez do valor inicial 638, o valor 628 pode ser utilizado como valor inicial e em vez de valor final 639, o valor final 629 pode ser utilizado como valor final. No entanto, não somente codificar o valor de abscissa, como também o valor ordenado exigi mais recursos de codificação e não é necessário.
[00083] Na figura 6 (b), três pontos de divisão para um envelope de sinal 640 podem ser determinados. Deste modo, neste exemplo, as diferentes configurações de ponto de divisão possíveis são definidas por três pontos de divisão. Na aplicação da figura 6 (b), os pontos de divisão 661, 662, 663 são considerados como os melhores pontos de divisão. Os pontos de divisão 661, 662, 663 dividem o envelope de sinal de áudio 640 em quatro partes do envelope de sinal. O bloco retangular 641 representa uma energia de uma primeira parte do envelope de sinal definida pelos pontos de divisão. O bloco retangular 642 representa uma energia de uma segunda parte do envelope de sinal definida pelos pontos de divisão. O bloco retangular 643 representa uma energia de uma terceira parte do envelope de sinal definida pelos pontos de divisão. E o bloco retangular 644 representa uma energia de uma quarta parte do envelope de sinal definida pelos pontos de divisão. No exemplo da figura 6 (b), as bordas superiores dos blocos 641, 642, 643, 644 representam uma estimativa do envelope de sinal 640. Tal estimativa pode ser deita em um decodificador, por exemplo, utilizando como informação os pontos de divisão 661, 662, 663, informação sobre onde o envelope de sinal iniciais (aqui no ponto 668) e informação onde o envelope de sinal termina (aqui no ponto 669). O envelope de sinal pode começar e pode terminar em valores fixos e essa informação pode ser disponível como informação fixada no receptor. Ou, essa informação pode ser transmitida para o receptor. No lado do decodificador, o decodificador pode reconstruir uma estimativa do envelope de sinal, de modo que as partes do envelope de sinal que resultam dos pontos de divisão 661, 662, 663, dividindo o envelope de sinal de áudio, recebem o mesmo valor atribuído da regra de atribuição predefinida. Na figura 6 (b), as partes do envelope de sinal de um envelope de sinal, sendo definido pelas bordas superiores dos blocos 641, 642, 643, 644 recebem o mesmo valor atribuído pela regra de atribuição e representa uma boa estimativa do envelope de sinal 640. Em vez de usar os pontos de divisão 661, 662, 663, os valores 651, 652, 653 podem também ser utilizados como pontos de divisão. Além disso, em vez do valor inicial 668, o valor 658 pode ser utilizado como valor inicial e em vez do valor final 669, o valor final 659 pode ser utilizado como valor final. No entanto, não somente codificar o valor de abscissa, mas também o valor ordenado exige mais recursos de codificação e não é necessário.
[00084] Na figura 6 (c), quatro pontos de divisão para um envelope de sinal 670 podem ser determinados. Deste modo, neste exemplo, as diferentes configurações de ponto de divisão possíveis são definidas por quatro pontos de divisão. Na aplicação da figura 6 (c), os pontos de divisão 691, 692, 693, 694 são considerados os melhores pontos de divisão. Os pontos de divisão 691, 692, 693, 694 dividem o envelope de sinal de áudio 670 em cinco partes do envelope de sinal. O bloco retangular 671 representa uma energia de uma primeira parte do envelope de sinal definido pelos pontos de divisão. O bloco retangular 672 representa uma energia de uma segunda parte do envelope de sinal definida pelos pontos de divisão. O bloco retangular 673 representa uma energia de uma terceira parte do envelope de sinal definida pelos pontos de divisão. O bloco retangular 674 representa uma energia de uma quarta parte do envelope de sinal definida pelos pontos de divisão. E o bloco retangular 675 representa uma energia de uma quinta parte do envelope de sinal definida pelos pontos de divisão. No exemplo da figura 6 (c), as bordas superiores dos blocos 671, 672, 673, 674, 675 representam uma estimativa do envelope de sinal 670. Tal estimativa pode ser feita em um decodificador, por exemplo, utilizando como informação os pontos de divisão 691, 692, 693, 694, informação sobre onde o envelope de sinal se inicia (aqui no ponto 698) e informação onde o envelope de sinal termina (aqui no ponto 699). O envelope de sinal pode começar e pode terminar em valores fixos e essa informação pode ser disponibilizada como informação fixada no receptor. Ou essa informação pode ser transmitida para o receptor. No lado do decodificador, o decodificador pode reconstruir uma estimativa do envelope de sinal, de modo que as partes do envelope de sinal que resultam dos pontos de divisão 691, 692, 693, 694, dividindo o envelope de sinal de áudio, recebam o mesmo valor atribuído da regra de atribuição predefinida. Na figura 6 (c), as partes do envelope de sinal de um envelope de sinal, sendo definido pelas bordas superiores dos blocos 671, 672, 673, 674, recebem o mesmo valor atribuído pela regra de atribuição e representam uma boa estimativa do envelope de sinal 670. Em vez de usar os pontos de divisão 691, 692, 693, 694, os valores 681, 682, 683, 684 podem também ser utilizados como pontos de divisão. Além disso, em vez do valor inicial 698, o valor 688 pode ser utilizado como valor inicial e em vez de valor final 699, valor final 689 pode ser utilizado como valor final. No entanto, não somente codificar o valor de abscissa, mas também o valor ordenado exige mais recursos de codificação e não é necessário.
[00085] Como outra aplicação particular, o exemplo a seguir pode ser considerado:
[00086] Um envelope de sinal, sendo representado em um domínio espectral, pode ser codificado. O envelope de sinal pode, por exemplo, compreender valores espectrais n. (por exemplo, n = 33).
[00087] Diferentes partes do envelope de sinal podemagora ser consideradas. Por exemplo, uma primeira parte doenvelope de sinal pode compreender os primeiros 10 valoresespectrais vi (i = 0, …, 9; com i sendo um índice do valorespectral) e a segunda parte do envelope de sinal podecompreender os últimos 23 valores espectrais (i = 10, …, 32).
[00088] Em uma aplicação, uma regra de atribuiçãopredefinida pode, por exemplo, ser tal que o valor de partedo envelope de sinal p(m) de uma parte do envelope de sinalespectral m com valores espectrais v0, v1, …, vs-1 seja aenergia da parte do envelope de sinal espectral, por exemplo,
Figure img0005
caracterizado pelo limite inferior ser ovalor do limite inferior da parte do envelope de sinal m e emque o limite superior é o valor de limite superior da partedo envelope de sinal m.
[00089] O determinador do valor de parte do envelopede sinal 110 pode atribuir um valor de parte do envelope de sinal de acordo com uma fórmula com uma ou mais das partes do envelope de sinal de áudio.
[00090] O determinador do ponto de divisão 220 éagora configurado para determinar um ou mais valor(es) de partes do envelope de sinal, de acordo com a regra de atribuição predefinida. Em particular, o determinador do ponto de divisão 220 é configurado para determinar um ou mais valor(es) de partes do envelope de sinal, dependendo da regra de atribuição, de modo que o valor de parte do envelope de sinal de cada uma de duas ou mais partes do envelope de sinal seja (aproximadamente) igual ao valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal de duas ou mais partes do envelope de sinal.
[00091] Por exemplo, em uma aplicação particular, odeterminador do ponto de divisão 220 pode ser configurado para determinar somente um único ponto de divisão. Em tal aplicação, duas partes do envelope de sinal, por exemplo, parte do envelope de sinal 1 (m = 1) e parte do envelope de sinal 2 (m = 2) são definidas pelo ponto de divisão s, por exemplo, de acordo com a fórmula:
Figure img0006
caracterizado por n indicar o número de amostras do envelope de sinal de áudio, por exemplo, o número de valores espectrais do envelope de sinal de áudio. No exemplo acima, n pode, por exemplo, ser n = 33.
[00092] O determinador do valor de parte do envelopede sinal 110 pode atribuir tal valor de parte do envelope de sinal p(1) à parte do envelope de sinal de áudio 1 e tal valor de parte do envelope de sinal p(2) à parte do envelope de sinal de áudio 2.
[00093] Em algumas aplicações, ambos valores departes do envelope de sinal p(1) e p(2) são determinados. No entanto, em algumas aplicações, somente um de ambos valores de partes do envelope de sinal é considerado. Por exemplo, se a energia total for conhecida. Assim, é suficiente para determinar o ponto de divisão de modo que p(1) seja aproximadamente 50% da energia total.
[00094] Em algumas aplicações, s(k) pode serselecionado a partir de um conjunto de valores possíveis, por exemplo, de um conjunto de valores de índice inteiro, por exemplo, {0; 1; 2;...; 32}. Em outras aplicações, s (k) pode ser selecionado a partir de um conjunto de valores possíveis, por exemplo, a partir de um conjunto de valores de frequências indicando um conjunto de banda de frequências.
[00095] Em aplicações onde mais do que um ponto dedivisão pode ser determinado, uma fórmula representando uma energia cumulada, cumulando as amostras de energia até pouco antes do ponto de divisão s, pode ser considerada:
Figure img0007
[00096] Se os pontos de divisão N puderem serdeterminados, então, os pontos de divisão s (1), s (2),..., s (N) são determinados, de modo que:
Figure img0008
caracterizado pela energia total ser aenergia total do envelope de sinal.
[00097] Em uma aplicação, o ponto de divisão s(k)de modo que
Figure img0009
seja mínima.
[00098] Deste modo, de acordo com uma aplicação, odeterminador do ponto de divisão 220 pode, por exemplo, ser configurado para determinar um ou mais ponto(s) de divisão s(k) , de modo que
Figure img0010
seja mínima, caracterizado pela energia total indicar uma energia total, em que k indica o ponto de divisão k-th de um ou mais ponto(s) de divisão e em que N indica o número de um ou mais ponto(s) de divisão.
[00099] Em outra aplicação, se o determinador doponto de divisão 220 for configurado para selecionar somenteum único ponto de divisão s, então, o determinador do pontode divisão 220 pode testar todos os possíveis pontos dedivisão s =1, …, 32.
[000100] Em algumas aplicações, o determinador doponto de divisão 220 pode selecionar o melhor valor para oponto de divisão s, por exemplo, o ponto de divisão s onde
Figure img0011
é mínimo.
[000101] De acordo com uma aplicação, o valor de parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal pode, por exemplo, depender de um ou mais valor(es) de energia ou um ou mais valor(es) de potência da referida parte do envelope de sinal. Ou, o valor de parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal pode, por exemplo, depender de qualquer outro valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio.
[000102] De acordo com uma aplicação, o envelope de sinal de áudio pode, por exemplo, ser representado em um domínio espectral ou em um domínio de tempo.
[000103] A figura 4 ilustra um aparelho de codificação um envelope de sinal de áudio, de acordo com outra aplicação, caracterizado pelo aparelho compreender, ainda, um codificador de pontos de divisão 225 para codificar um ou mais ponto(s) de divisão, por exemplo, de acordo com uma regra de codificação, para obter um ou mais ponto(s) codificado(s).
[000104] O codificador de pontos de divisão 225 pode, por exemplo, ser configurado para codificar uma posição de cada um de um ou mais ponto(s) de divisão para obter um ou mais ponto(s) codificado(s). O codificador de pontos de divisão 225 pode, por exemplo, ser configurado para codificar uma posição de cada um de um ou mais ponto(s) de divisão ao codificar o número de estado dos pontos de divisão. Além disso, o codificador de pontos de divisão 225 pode, por exemplo, ser configurado para fornecer um número total de posições indicando um número total de posições possíveis de ponto de divisão, e um número de pontos de divisão indicando o número de um ou mais ponto(s) de divisão. O número de estado dos pontos de divisão, o número total de posições e o número dos pontos de divisão juntos indicam a posição de cada um de um ou mais ponto(s) de divisão.
[000105] A figura 5 ilustra um aparelho de codificação um envelope de sinal de áudio, de acordo com outra aplicação, caracterizado pelo aparelho de codificação um envelope de sinal de áudio compreender, ainda, um determinador de energia 230.
[000106] De acordo com uma aplicação, o aparelho pode, por exemplo, compreender, ainda, um determinador de energia (230) para determinar uma energia total do envelope de sinal de áudio e para codificar a energia total do envelope de sinal de áudio.
[000107] Em outra aplicação, no entanto, o aparelho pode, por exemplo, ser, além disso, configurado para determinar qualquer outro valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio. Em vez de uma energia total, uma pluralidade de outros valores é adequada para reconstruir um nível original ou a específico do envelope de sinal de áudio. Por exemplo, como mencionado anteriormente, o escalonamento do envelope pode ser implementado de várias formas, e como ele pode corresponder à energia de sinal ou massa espectral ou similar (um tamanho absoluto), ou ele pode ser um escalonamento ou fator de ganho (um tamanho relativo), pode ser codificado como um valor absoluto ou relativo, ou pode ser codificado por uma diferença a um valor prévio ou a uma combinação de valores prévios. Em alguns casos o escalonamento pode também ser irrelevante ou deduzido de outros dados disponíveis. O envelope pode ser reconstruído ao seu nível original ou um específico.
[000108] A figura 14 ilustra um aparelho de codificação um sinal de áudio. O aparelho compreende um aparelho 1410 para codificação, de acordo com uma das aplicações descritas acima, para codificar um envelope de sinal de áudio do sinal de áudio ao gerar um ou mais ponto(s) de divisão, e um codificador característico de sinal secundário 1420 para codificar outra característica de sinal do sinal de áudio, outra característica de sinal sendo diferente do envelope de sinal de áudio. Uma pessoa técnica no assunto está ciente que a parti de um envelope de sinal de um sinal de áudio e a partir de outra característica de sinal do sinal de áudio, o próprio sinal de áudio pode ser reconstruído. Por exemplo, o envelope de sinal pode, por exemplo, indicar a energia das amostras do sinal de áudio. A outra característica de sinal pode, por exemplo, indicar para cada amostra de, por exemplo, um sinal de áudio de domínio de tempo, se a amostra tiver um valor positivo ou negativo.
[000109] A figura 1 ilustra um aparelho de decodificação para obter um envelope de sinal de áudio reconstruído, de acordo com uma aplicação.
[000110] O aparelho compreende um reconstrutor de envelope de sinal 110 para gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão.
[000111] Além disso, o aparelho compreende uma interface de saída 120 para emissão do envelope de sinal de áudio reconstruído.
[000112] O reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio.
[000113] Uma regra de atribuição predefinida define um valor de parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo da referida parte do envelope de sinal.
[000114] Além disso, o reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope de sinal, um valor absoluto do seu valor de parte do envelope de sinal seja maior do que metade de um valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[000115] Em relação ao valor a absoluto de um valor x de parte do envelope de sinal, deve-se entender que:Se x > 0, então, a = x;Se x < 0, então, a = -x;
[000116] Se todos os valores da parte do envelope de sinal forem positivos, a formulação acima significa que o envelope de sinal de áudio reconstruído é gerado de modo que, para cada uma de duas ou mais partes do envelope de sinal, seu valor de parte do envelope de sinal seja maior do que metade do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[000117] Em uma aplicação particular, o valor de parte do envelope de sinal de cada uma das partes do envelope de sinal é igual ao valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal de duas ou mais partes do envelope de sinal.
[000118] No entanto, na aplicação mais geral da figura 1, o envelope de sinal de áudio é reconstruído, de modo que os valores de parte do envelope de sinal das partes do envelope de sinal não tenham que ser exatamente iguais. Em vez disso, alguns graus de tolerância (algumas margens) são permitidos.
[000119] A formulação “de modo que, para cada uma das duas ou mais partes do envelope de sinal, um valor absoluto do seu valor de parte do envelope de sinal seja maior do que metade de um valor absoluto do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal” pode, por exemplo, ser compreendida com o significado de que, desde que o maior valor absoluto de todos os valores da parte do envelope de sinal não tenha duas vezes o tamanho do menor valor absoluto de todo o valor de partes do envelope de sinal, a condição exigida é preenchida.
[000120] Por exemplo, um conjunto de quatro valores de partes do envelope de sinal {0,23; 0,28; 0,19; 0,30} preenche o requisito acima, como 0,30 < 2 • 0,19 = 0,38. Outro conjunto de quatro valores de partes do envelope de sinal, no entanto, {0,24; 0,16; 0,35; 0,25} não preenche a condição exigida, como 0,35 > 2 • 0,16 = 0,32.
[000121] Em um lado do decodificador, o reconstrutor de envelope de sinal 110 é configurado para reconstruir o envelope de sinal de áudio reconstruído, de modo que as partes do envelope de sinal de áudio resultantes a partir dos pontos de divisão, dividindo o envelope de sinal de áudio reconstruído, tenham valores de partes do envelope de sinal que são aproximadamente iguais. Deste modo, o valor de parte do envelope de sinal de cada uma de duas ou mais partes do envelope de sinal é maior do que metade do valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal uma de duas ou mais partes do envelope de sinal.
[000122] Em tais aplicações, os valores de parte do envelope de sinal das partes do envelope de sinal podem ser aproximadamente iguais, mas não têm que ser exatamente iguais.
[000123] Exigir que o valor de partes do envelope de sinal das partes do envelope de sinal possa ser praticamente igual indica ao decodificador como o sinal pode ser reconstruído. Quando as partes do envelope de sinal são reconstruídas, de modo que os valores de partes do envelope de sinal sejam exatamente iguais, o grau de liberdade em reconstruir o sinal no lado do decodificador é severamente restrito.
[000124] Quanto mais o valor de partes do envelope de sinal puder derivar um do outro, mais liberdade o decodificador terá para ajustar o envelope de sinal de áudio, de acordo com a especificação no lado do decodificador. Por exemplo, quando um envelope espectral de sinal de áudio é codificado, alguns decodificadores podem preferir colocar, por exemplo, mais energia nas bandas de frequência mais baixas enquanto outros decodificadores podem preferir colocar, por exemplo, mais energia nas bandas de frequência mais altas. E, ao permitir alguma tolerância, uma quantidade limitada de erros de arredondamento, por exemplo, causado pela quantização e/ou dequantização, pode ser admissível.
[000125] Em uma aplicação onde o reconstrutor deenvelope de sinal 110 é reconstruído de forma exata, oreconstrutor de envelope de sinal 110 é configurado paragerar o envelope de sinal de áudio reconstruído, envelope demodo que, para cada uma de duas ou mais partes do envelope desinal, o valor absoluto do seu valor de parte do envelope desinal seja maior do que 90% do valor absoluto do valor departe do envelope de sinal de cada uma das outras partes doenvelope de sinal.
[000126] De acordo com uma aplicação, o reconstrutorde envelope de sinal 110 pode, por exemplo, ser configuradopara gerar o envelope de sinal de áudio reconstruído, de modoque, para cada uma de duas ou mais partes do envelope desinal, o valor absoluto do seu valor de parte do envelope desinal seja maior do que 99% do valor absoluto do valor departe do envelope de sinal de cada uma das outras partes doenvelope de sinal.
[000127] Em outra aplicação, no entanto, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que o valor de parte do envelope de sinal de cada uma de duas ou mais partes do envelope de sinal seja igual ao valor de parte do envelope de sinal de cada uma das outras partes do envelope de sinal de duas ou mais partes do envelope de sinal.
[000128] Em uma aplicação, o valor de parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal pode, por exemplo, depender de um ou mais valor(es) de energia ou um ou mais valor(es) de potência da referida parte do envelope de sinal.
[000129] De acordo com uma aplicação, o envelope de sinal de áudio reconstruído pode, por exemplo, ser representado em um domínio espectral ou em um domínio de tempo.
[000130] A figura 2 ilustra um aparelho de decodificação, de acordo com outra aplicação, caracterizado pelo aparelho compreender, ainda, um decodificador dos pontos de divisão 105 para decodificar um ou mais ponto(s) codificado(s), de acordo com uma regra de decodificação, para obter um ou mais ponto(s) de divisão.
[000131] De acordo com uma aplicação, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio reconstruído, dependendo de um valor de energia total, indicando uma energia total do envelope de sinal de áudio reconstruído, ou dependendo de qualquer outro valor adequado para reconstruir um nível original ou um específico do envelope de sinal de áudio.
[000132] Agora, para ilustrar a presente invenção em mais detalhes, aplicações particulares são fornecidas.
[000133] De acordo com uma aplicação particular, um conceito é dividir a banda de frequências em duas partes, de modo que ambas as metades tenham energia igual. Essa ideia é retratada na figura 6 (a), onde o envelope, que é, de forma geral, descrito pelos blocos de energia constante.
[000134] A ideia pode, então, ser repetidamente aplicada, de modo que as duas metades sejam, ainda, separadas em duas metades, que tem energia igual. Essa abordagem é ilustrada na figura 6 (b).
[000135] De modo mais geral, o espectro pode ser dividido em blocos N, de modo que cada bloco tenha 1/Nth da energia. Na figura 6 (c), isso é ilustrado com N=5.
[000136] Para reconstruir esses envelopes espectrais constantes por blocos no descodificador, as bordas de frequência dos blocos e, por exemplo, a energia geral pode, por exemplo, ser transmitida. As bordas de frequência então correspondem, mas somente em um senso heurístico, para a representação LSF do LPC.
[000137] Até agora, explicações foram fornecidas emrelação ao envelope de energia abs(x)2 de um sinal x. Em outras aplicações, no entanto, o envelope de magnitude abs(x), alguma outra potência abs(x)n do espectro ou qualquer representação motivada perceptivamente (por exemplo, ruído) é modelada. Em vez de energia, um pode se referir ao termo “massa espectral” e supor que isso descreva uma representação apropriada do espectro. A única coisa importante é que é possível calcular a soma cumulativa da representação do espectro, isto é, que a representação tem somente valores positivos.
[000138] No entanto, se uma sequência não forpositiva, ela poderá ser convertida para uma sequência positiva ao adicionar uma constante suficientemente grande, ao tomar sua soma cumulativa ou por outras operações adequadas. Da mesma forma, uma sequência com valor de complexo pode ser convertida para, por exemplo,1) duas sequências, das quais uma é puramente real e uma é puramente imaginária, ou2) duas sequências, das quais a primeira representa a magnitude e a segunda a fase. Essas duas sequências podem, então, em ambos os casos, ser modeladas como dois envelopes separados.
[000139] Também não é necessário restringir o modelopara modelos de envelope espectral e qualquer formato de envelope pode ser descrito com o modelo atual. Por exemplo, a Modelagem de Ruído Temporal (TNS | temporal noise shaping) [6] é uma ferramenta padrão em codecs de áudio que modela o envelope temporal de um sinal. Já que o nosso método modela envelopes, ele pode ser igualmente aplicado a sinais de domínio de tempo também.
[000140] Da mesma forma, os métodos de extensão de largura de banda (BWE | band-width extension) aplicam envelopes espectrais para modelar o formato espectral de frequências mais altas e o método proposto pode, deste modo, ser aplicado para a BWE também.
[000141] A figura 17 ilustra um aparelho para determinação de um ou mais valor(es) de codificações para codificar um envelope de sinal de áudio de acordo com uma aplicação.
[000142] O aparelho compreende um agregador 1710 para determinar um valor agregado para cada pluralidade de valores de argumento. A pluralidade de valores de argumento é ordenada, de modo que um primeiro valor de argumento da pluralidade de valores de argumento ou preceda ou suceda um segundo valor de argumento da pluralidade de valores de argumento, quando o referido segundo valor de argumento for diferente do primeiro valor de argumento.
[000143] Um valor de envelope é atribuído para cada um dos valores de argumento, caracterizado pelo valor de envelope de cada um dos valores de argumento depender do envelope de sinal de áudio e em que o agregador é configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, dependendo do valor de envelope do referido valor de argumento e dependendo do valor de envelope de cada pluralidade de valores de argumento que precede o referido valor de argumento.
[000144] Além disso, o aparelho compreende uma unidade de codificação 1720 para determinar um ou mais valor(es) de codificações, dependendo de um ou mais dos valores agregados da pluralidade de valores de argumento. Por exemplo, a unidade de codificação 1720 pode gerar um ou mais ponto(s) de divisão descritos acima como um ou mais valor(es) de codificações, por exemplo, os descritos acima.
[000145] A figura 18 ilustra uma função de agregação 1810, de acordo com um primeiro exemplo.
[000146] Inter alia, a figura 18 ilustra 16 pontos de envelope de um envelope de sinal de áudio. Por exemplo, o 4° ponto de envelope do envelope de sinal de áudio é indicado por sinal de referência 1824 e o 8° ponto de envelope é indicado por sinal de referência 1828. Cada ponto de envelope compreende um valor de argumento e um valor de envelope. Falado de forma diferente, o valor de argumento pode ser considerado como um componente x e o valor de envelope podem ser considerados como um componente y do ponto de envelope em um sistema de coordenada xy. Portanto, como pode ser visto na figura 18, o valor de argumento do 4° ponto de envelope 1824 é 4 e o valor de envelope do 4° ponto de envelope é 3. Como outro exemplo, o valor de argumento do 8o ponto de envelope 1828 é 8 e o valor de envelope do 4° ponto de envelope é 2. Em outras aplicações, os valores de argumento podem não indicar um número de índice como na figura 18, mas pode, por exemplo, indicar um centro de frequência de uma banda espectral, se, por exemplo, um envelope espectral for considerado, de modo que, por exemplo, um primeiro valor de argumento possa, então, ser 300Hz, um segundo valor de argumento possa ser 500Hz, etc. Ou, por exemplo, em outras aplicações, os valores de argumento podem indicar pontos em tempo, se, por exemplo, um envelope temporal for considerado.
[000147] A função de agregação 1810 compreende uma pluralidade de pontos de agregação. Por exemplo, considere o 4° ponto de agregação 1814 e o 8° ponto de agregação 1818. Cada ponto de agregação compreende um valor de argumento e um valor de agregação. Da mesma forma como acima, o valor de argumento pode ser considerado como um componente x e o valor de agregação podem ser considerados como um componente y do ponto de agregação em um sistema de coordenada xy. Na figura 18, o valor de argumento do 4° ponto de agregação 1814 é 4 e o valor de agregação do 4° ponto de agregação 1818 é 7. Como outro exemplo, o valor de argumento do 8° ponto de envelope é 8 e o valor de envelope do 4° ponto de envelope é 13.
[000148] O valor de agregação de cada ponto de agregação da função de agregação 1810 depende do valor de envelope do ponto de envelope tendo o mesmo valor de argumento como o considerado ponto de agregação, e depender, ainda, do valor de envelope de cada pluralidade de valores de argumento que precede o referido valor de argumento. No exemplo da figura 18, em relação ao 4° ponto de agregação 1814, seu valor de agregação depende do valor de envelope do 4° ponto de envelope 1824, como esse ponto de envelope tem o mesmo valor de argumento como o ponto de agregação, e depender, ainda, do valor de envelopes dos pontos de envelope 1821, 1822 e 1823, como os valores de argumento desses pontos de envelope 1821, 1822, 1823 precede o valor de argumento do ponto de envelope 1824.
[000149] No exemplo da figura 18, o valor de agregação de cada ponto de agregação é determinado pela soma do valor de envelope do ponto de envelope correspondente e do valor de envelopes e seus pontos de envelope precedentes. Deste modo, o valor de agregação do 4o ponto de agregação é 1 + 2 + 1 + 3 = 7 (como o valor de envelope do 1° ponto de envelope é 1, como o valor de envelope do 2o ponto de envelope é 2, como o valor de envelope do 3o ponto de envelope é 1, e como o valor de envelope do 4° ponto de envelope é 3). Correspondentemente, o valor de agregação do 8o ponto de agregação é 1 + 2 + 1 + 3 + 1 + 2 + 1 + 2 = 13.
[000150] A função de agregação é uniformemente aumentada. Esse, por exemplo, significa que cada ponto de agregação da função de agregação (que tenha um antecessor) tem um valor de agregação que é maior do que ou igual ao valor de agregação do seu imediatamente precedente ponto de agregação. Por exemplo, em relação a função de agregação 1810, por exemplo, o valor de agregação do 4° ponto de agregação 1814 é maior do que ou igual ao valor de agregação do 3o ponto de agregação; o valor de agregação do 8o ponto de agregação 1818 é maior do que ou igual ao valor de agregação do 7o ponto de agregação 1817, e assim por diante, e isso vale para todos os pontos de agregação da função de agregação.
[000151] A figura 19 mostra outro exemplo para uma função de agregação, ali, a função de agregação 1910. No exemplo da figura 19, o valor de agregação de cada ponto de agregação é determinado pela soma do quadrado do valor de envelope do correspondente ponto de envelope e o quadrado do valor de envelopes dos seus precedentes pontos de envelope. Deste modo, por exemplo, para obter o valor de agregação do 4° ponto de agregação 1914, o quadrado do valor de envelope do correspondente ponto de envelope 1924, e o quadrado do valor de envelopes dos seus precedentes pontos de envelope 1921, 1922 e 1923 são somados, resultando em 22 + 12 + 22 + 12 = 10. Portanto o valor de agregação do 4° ponto de agregação 1914 Na figura 19 é 10. Na figura 19, sinais de referência 1931, 1933, 1935 e 1936 indica o quadrado do valor de envelopes dos respectivos pontos de envelope, respectivamente.
[000152] O que pode também ser visto nas figuras 18 e 19 é que as funções de agregação fornecem uma forma eficiente para determinar os pontos de divisão. Os pontos de divisão são um exemplo para valores de codificações. Na figura 18, o maior valor de agregação de todos os pontos de divisão (esse pode, por exemplo, ser uma energia total) é 20.
[000153] Por exemplo, se somente um ponto de divisão tiver de ser determinado, aquele valor de argumento do ponto de agregação pode, por exemplo, ser escolhido como ponto de divisão, que é igual a ou próximo de 10 (50% de 20). Na figura 18, esse valor de argumento seria 6 e o único ponto de divisão, por exemplo, seria 6.
[000154] Se três pontos de divisão tiverem de ser determinados, os valores de argumento dos pontos de agregação podem ser escolhidos como pontos de divisão, que são iguais a ou próximos de 5, 10 e 15 (25%, 50% e 75% de 20), respectivamente. Na figura 18, esses valores de argumento seriam ou 3 ou 4, 6 e 11. Deste modo, os escolhidos pontos de divisão seriam ou 3, 6 e 11; ou seriam 4, 6 e 11. Em outras aplicações, valores não inteiros podem ser permitidos como pontos de divisão e então, na figura 18, os determinados pontos de divisão seriam, por exemplo, 3.33, 6 e 11.
[000155] Portanto, de acordo com algumas aplicações, o agregador pode, por exemplo, ser configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento ao adicionar o valor de envelope do referido valor de argumento e os valores de envelopes dos valores de argumento que precedem o referido valor de argumento.
[000156] Em uma aplicação, o valor de envelope de cada dos valores de argumento pode, por exemplo, indicar um valor de energia de um envelope de sinal de áudio, tendo o envelope de sinal de áudio como envelope de sinal.
[000157] De acordo com uma aplicação, o valor de envelope de cada um dos valores de argumento pode, por exemplo, indicar uma potência n-th de um valor espectral de um envelope de sinal de áudio, tendo o envelope de sinal de áudio como envelope de sinal, em que n é um número inteiro ímpar maior que zero.
[000158] Em uma aplicação, o valor de envelope de cadaum dos valores de argumento pode, por exemplo, indicar uma potência n-th de um valor de amplitude de um envelope de sinal de áudio, sendo representado em um domínio de tempo e tendo o envelope de sinal de áudio como envelope de sinal, caracterizado por n ser um número inteiro ímpar maior que zero.
[000159] De acordo com uma aplicação, a unidade decodificação pode, por exemplo, ser configurada para determinar um ou mais valor(es) de codificações, dependendo de um ou mais dos valores agregados dos valores de argumento e dependendo de um número de valores de codificações, que indicam quantos valores são para ser determinados pela unidade de codificação como um ou mais valor(es) de codificações.
[000160] Em uma aplicação, a unidade de codificaçãopode, por exemplo, ser configurada para determinar um ou maisvalor(es) de codificação de acordo com
Figure img0012
caracterizado por c(k) indicar o valor decodificação k-th a ser determinado pela unidade decodificação, em que j indica o j-th valor de argumento dapluralidade de valores de argumento, em que a(j) indica ovalor agregado sendo atribuído ao j-th valor de argumento, emque max(a) indica um valor máximo sendo um dos valoresagregados que são atribuídos a um dos valores de argumento,em que nenhum dos valores agregados que são atribuídos a umdos valores de argumento é maior que o valor máximo, eem que
Figure img0013
indica um valormínimo, sendo um dos valores de argumento para o qual
Figure img0014
é mínimo.
[000161] A figura 16 ilustra um aparelho para geraçãode um envelope de sinal de áudio de um ou mais valor(es) decodificação de acordo com uma aplicação.
[000162] O aparelho compreende uma interface deentrada 1610 para receber um ou mais valor(es) decodificação, e um gerador de envelope 1620 para gerar oenvelope de sinal de áudio, dependendo de um ou mais valor(es) de codificação.
[000163] O gerador de envelope 1620 é configurado paragerar uma função de agregação, dependendo de um ou mais valor(es) de codificação, caracterizado pela função de agregação compreender uma pluralidade de pontos de agregação, em que cada um dos pontos de agregação compreende um valor de argumento e um valor de agregação e em que a função de agregação uniformemente aumenta.
[000164] Cada um de um ou mais valor(es) de codificação indica, pelo menos, um dentre o valor de argumento e o valor de agregação de um dos pontos de agregação da função de agregação. Isso significa que cada um dos valores de codificação especifica um valor de argumento de um dos pontos de agregação ou especifica um valor de agregação de um dos pontos de agregação ou especifica tanto um valor de argumento quanto um valor de agregação de um dos pontos de agregação da função de agregação. Em outras palavras, cada um de um ou mais valor(es) de codificação indica o valor de argumento e/ou o valor de agregação de um dos pontos de agregação da função de agregação.
[000165] Além disso, o gerador de envelope 1620 é configurado para gerar o envelope de sinal de áudio, de modo que o envelope de sinal de áudio compreenda uma pluralidade de pontos de envelope, em que cada um dos pontos de envelope compreende um valor de argumento e um valor de envelope, e em que, para cada um dos pontos de agregação da função de agregação, um dos pontos de envelope do envelope de sinal de áudio é atribuído ao referido ponto de agregação de modo que o valor de argumento do referido ponto de envelope seja igual ao valor de argumento do referido ponto de agregação. Ainda, o gerador de envelope 1620 é configurado para gerar o envelope de sinal de áudio, de modo que o valor de envelope de cada um dos pontos de envelope do envelope de sinal de áudio dependa do valor de agregação de, pelo menos, um ponto de agregação da função de agregação.
[000166] De acordo com uma aplicação, o gerador de envelope 1620 pode, por exemplo, ser configurado para determinar a função de agregação, determinando um dos pontos de agregação para cada um de um ou mais valor(es) de codificação, dependendo do referido valor de codificação, e aplicando a interpolação para obter a função de agregação, dependendo do ponto de agregação de cada um de um ou mais valor(es) de codificação.
[000167] De acordo com uma aplicação, a interface de entrada 1610 pode ser configurada para receber um ou mais valor(es) de divisão como um ou mais valor(es) de codificação. O gerador de envelope 1620 pode ser configurado para gerar a função de agregação, dependendo de um ou mais valor(es) de divisão, em que cada um de um ou mais valor(es) de divisão indica o valor de agregação de um dos pontos de agregação da função de agregação. Além disso, o gerador de envelope 1620 pode ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio. Uma regra de atribuição predefinida define um valor da parte do envelope de sinal para cada parte do envelope de sinal de duas ou mais partes do envelope de sinal, dependendo de referida parte do envelope de sinal. Ainda, o gerador de envelope 1620 pode ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada de duas ou mais partes do envelope de sinal, um valor absoluto de seu valor da parte do envelope de sinal é maior que metade de um valor absoluto do valor da parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
[000168] Em uma aplicação, o gerador de envelope 1620 pode, por exemplo, ser configurado para determinar um primeiro derivado da função de agregação em uma pluralidade de pontos de agregação da função de agregação.
[000169] De acordo com uma aplicação, o gerador de envelope 1620 pode, por exemplo, ser configurado para gerar a função de agregação, dependendo dos valores de codificação de modo que a função de agregação tenha um primeiro derivado contínuo.
[000170] Em outras aplicações, um modelo de LPC pode ser derivado dos envelopes espectrais quantizados. Ao considerar a transformada de Fourier inversa do espectro de potência abs(x)2, a autocorrelação é obtida. A partir dessa autocorrelação, um modelo de LPC pode ser prontamente calculado por métodos convencionais. Tal modelo de LPC pode, então, ser utilizado para criar um envelope leve.
[000171] De acordo com algumas aplicações, um envelope leve pode ser obtido, modelando os blocos com estrias ou outros métodos de interpolação. As interpolações são mais convenientemente realizadas pelo modelamento da soma cumulativa de massa espectral.
[000172] A figura 7 ilustra os mesmos espectros que na figura 6, mas com suas massas cumulativas. A linha 710 ilustra uma linha de massa cumulativa do envelope de sinal original. Os pontos 721 em (a), 751, 752, 753 em (b), e 781, 782, 783, 784 em (c) indicam onde os pontos de divisão deveriam estar localizados.
[000173] Os tamanhos do passo entre os pontos 738, 721 e 729 no eixo y em (a) são constantes. Do mesmo modo, os tamanhos do passo entre pontos 768, 751, 752, 753 e 759 no eixo y em (b) são constantes. Do mesmo modo, os tamanhos do passo entre os pontos 798, 781, 782, 783, 784 e 789 no eixo y em (c) são constantes. A linha tracejada entre os pontos 729 e 739 indica o valor total.
[000174] Em (a), o ponto 721 indica a posição do ponto de divisão 731 no eixo x. Em (b), os pontos 751, 752 e 753 indicam a posição dos pontos de divisão 761, 762 e 763 no eixo x, respectivamente. Do mesmo modo, em (c), os pontos 781, 782, 783 e 784 indicam a posição dos pontos de divisão 791, 792, 793 e 794 no eixo x, respectivamente. As linhas tracejadas entre os pontos 729 e 739, pontos 759 e 769, e pontos 789 e 799, respectivamente, indicam o valor total.
[000175] Deve-se observar que os pontos 721; 751, 752, 753; 781, 782, 783 e 784, que indicam a posição dos pontos de divisão 731; 761, 762, 763; 791, 792, 793 e 794, respectivamente, estão sempre na linha de massa cumulativa do envelope de sinal original, e os tamanhos do passo no eixo y são constantes.
[000176] Neste domínio, a massa cumulativa espectral pode ser interpolada por qualquer algoritmo de interpolação convencional.
[000177] Para obter uma representação contínua no domínio original, o domínio cumulativo deve ter um primeiro derivado contínuo. Por exemplo, a interpolação pode ser feita utilizando estrias, de modo que para o k-th bloco, os pontos finais da estria são kE/N e (k+1)E/N, onde E é a massa total do espectro. Além disso, o derivado da estria nos pontos finais pode ser especificado, a fim de obter um envelope contínuo no domínio original.
[000178] Uma possibilidade é especificar o derivado (a inclinação) para o ponto de divisão k como
Figure img0015
onde c(k) é a energia cumulativa no ponto de divisão k e f(k) é a frequência do ponto de divisão k.
[000179] De modo geral, os pontos k-1, k e k+1 podemser qualquer tipo de valores de codificação.
[000180] De acordo com uma aplicação, o gerador deenvelope 1620 é configurado para determinar o envelope de sinal de áudio, determinando um índice de uma primeira diferença e uma segunda diferença. A referida primeira diferença é uma diferença entre um primeiro valor de agregação (c(k+1)) de um primeiro dentre os pontos de agregação da função de agregação e um segundo valor de agregação (c(k-1) ou c(k)) de um segundo um dentre os pontos de agregação da função de agregação. A referida segunda diferença é uma diferença entre um primeiro valor de argumento (f (k+1)) do referido primeiro ponto dentre os pontos de agregação da função de agregação e um segundo valor de argumento (f (k-1) ou f (k)) do referido segundo ponto dentre os pontos de agregação da função de agregação.
[000181] Em uma aplicação particular, o gerador deenvelope 1620 é configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0016
caracterizado pela inclinação(k) indicar um derivado da função de agregação no valor de codificação k-th, em que c(k+1) é o referido primeiro valor de agregação, em que f(k+1) é o referido primeiro valor de argumento, em que c(k-1) é o referido segundo valor de agregação, em que f(k-1) é o referido segundo valor de argumento, em que k é um número inteiro que indica um índice de um ou mais valor(es) de codificação, em que c(k + 1)- c(k - 1) é a primeira diferença dos dois valores agregados c(k+1) e c(k -1) e em que f(k +1)- f (k -1) é a segunda diferença dos dois valores de argumento f (k + 1) e f(k-1).
[000182] Por exemplo, c(k+1) é o referido primeirovalor de agregação, sendo atribuído ao valor de codificação k+1-th. f(k+1) é o referido primeiro valor de argumento, sendo atribuído ao valor de codificação k+1-th. c(k-1) é o referido segundo valor de agregação, sendo atribuído ao valor de codificação k-1-th. f(k-1) é o referido segundo valor de argumento, sendo atribuído ao valor de codificação k-1-th.
[000183] Em outra aplicação, o gerador de envelope1620 é configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0017
caracterizado pela inclinação(k) indicar umderivado da função de agregação no valor de codificação k-th, em que c(k+1) é o referido primeiro valor de agregação, em que f(k+1) é o referido primeiro valor de argumento, em que c(k) é o referido segundo valor de agregação, em que f(k) é o referido segundo valor de argumento, em que c(k-1) é um terceiro valor de agregação de um terceiro dos pontos de agregação da função de agregação, em que f(k-1) é um terceiro valor de argumento de um referido terceiro dos pontos de agregação da função de agregação, em que k é um número inteiro que indica um índice de um ou mais valor(es) decodificação, em que c(k + 1) - c(k) é a primeira diferença dosdois valores agregados c(k +1) e c(k) , e em que f (k +1)- f (k) é asegunda diferença dos dois valores de argumento f (k + 1) ef(k).
[000184] Por exemplo, c(k+1) é o referido primeirovalor de agregação, sendo atribuído ao valor de codificação k+1-th. f(k+1) é o referido primeiro valor de argumento, sendo atribuído ao valor de codificação k+1-th. c(k) é o referido segundo valor de agregação, sendo atribuído ao valor de codificação k-th. f(k) é o referido segundo valor de argumento, sendo atribuído ao valor de codificação k-th. c(k- 1) é o referido terceiro valor de agregação, sendo atribuído ao valor de codificação k-1-th. f(k-1) é o referido terceiro valor de argumento, sendo atribuído ao valor de codificação k-1-th.
[000185] Ao especificar que um valor de agregação éatribuído a um valor de codificação k-th isso, por exemplo, significa que o valor de codificação k-th indica o referido valor de agregação e/ou o valor de codificação k-th indica o valor de argumento do ponto de agregação a quem o referido valor de agregação pertence.
[000186] Ao especificar que um valor de argumento éatribuído a um valor de codificação k-th isso, por exemplo, significa que o valor de codificação k-th indica o referido valor de argumento e/ou que o valor de codificação k-th indica o valor de agregação do ponto de agregação a qual o referido valor de argumento pertence.
[000187] Em aplicações particulares, os valores de codificação k-1, k e k+1 são pontos de divisão, por exemplo, conforme descrito acima.
[000188] Por exemplo, em uma aplicação, o reconstrutor de envelope de sinal 110 da figura 1 pode, por exemplo, ser configurado para gerar uma função de agregação, dependendo de um ou mais ponto(s) de divisão, em que a função de agregação compreende uma pluralidade de pontos de agregação, em que cada um dos pontos de agregação compreende um valor de argumento e um valor de agregação, em que a função de agregação uniformemente aumenta, e em que cada um de um ou mais ponto(s) de divisão indica, pelo menos, um de um valor de argumento e um valor de agregação de um dos pontos de agregação da função de agregação.
[000189] Em uma aplicação, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio, de modo que o envelope de sinal de áudio compreenda uma pluralidade de pontos de envelope, em que cada um dos pontos de envelope compreende um valor de argumento e um valor de envelope, e em que um ponto de envelope do envelope de sinal de áudio é atribuído a cada uma do pontos de agregação da função de agregação de modo que o valor de argumento do referido ponto de envelope seja igual ao valor de argumento do referido ponto de agregação.
[000190] Ainda, na referida aplicação, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para gerar o envelope de sinal de áudio, de modo que o valor de envelope de cada dos pontos de envelope do envelope de sinal de áudio dependa do valor de agregação de, pelo menos, um ponto de agregação da função de agregação.
[000191] Em uma aplicação particular, o reconstrutor de envelope de sinal 110 pode, por exemplo, ser configurado para determinar o envelope de sinal de áudio determinando um índice de uma primeira diferença e uma segunda diferença, a referida primeira diferença sendo uma diferença entre um primeiro valor de agregação (c(k+1)) de um primeiro dentre os pontos de agregação da função de agregação e um segundo valor de agregação (c(k-1); c(k)) de um segundo dos pontos de agregação da função de agregação, e a referida segunda diferença sendo uma diferença entre um primeiro valor de argumento (f(k+1)) de um referido primeiro dos pontos de agregação da função de agregação e um segundo valor de argumento (f (k-1); f (k)) de um referido segundo dos pontos de agregação da função de agregação. Para essa finalidade, o reconstrutor de envelope de sinal 110 pode ser configurado para implementar um dos conceitos descritos acima, conforme explicado para o gerador de envelope 1620.
[000192] As bordas mais à esquerda e à direita nãopodem usar a equação acima para inclinação, visto que c(k) e f (k) não estão disponíveis fora de sua faixa de definição. Estes c(k) e f(k) que estão fora da faixa de k são, então, substituídos pelos valores nos próprios pontos finais, demodo que
Figure img0018
Figure img0019
[000193] Visto que há quatro restrições (massacumulativa e inclinação em ambos os pontos finais), a estria correspondente pode ser escolhida como sendo um polinomial de 4a ordem.
[000194] A figura 8 ilustra um exemplo do envelope damassa espectral interpolada tanto no domínio (a) original quanto no domínio de (b) massa cumulativa.
[000195] Em (a), o envelope de sinal original éindicado por 810 e o envelope da massa espectral interpolada é indicado por 820. Os pontos de divisão são indicados por 831, 832, 833 e 834, respectivamente. 838 indica o início do envelope do sinal e 839 indica o final do envelope do sinal.
[000196] Em (b), 840 indica o envelope de sinaloriginal acumulado, e 850 indica o envelope da massa espectral acumulada. Os pontos de divisão são indicados por 861, 862, 863 e 864, respectivamente. A posição dos pontos de divisão é indicada por pontos 851, 852, 853 e 854 no envelope de sinal original acumulado 840, respectivamente. 868 indica o início do envelope de sinal original e 869 indica o fim do envelope de sinal original no eixo x. A linha entre 869 e 859 indica o valor total.
[000197] As aplicações fornecem os conceitos paracodificar as frequências que separam os blocos. As frequências representam uma lista de ordem de escalares fk, que é, fk < fk+1. Se há K+1 blocos, então há K pontos de divisão.
[000198] Ainda, se há N níveis de quantização, então,há
Figure img0020
quantização e 5 pontos de divisão, há 201376 quantizações possíveis que podem ser codificadas com 18 bits.
[000199] Deve-se observar que a ferramenta Decorrelacionadora de Orientação Transiente (TSD | transient steering decorrelator) em MPEG USAC [5] tem um problema similar para codificar K posições com uma faixa de 0 a N-1, pela qual a mesma ou uma técnica de enumeração similar pode ser utilizada para codificar as frequências do problema atual. O benefício deste algoritmo de codificação é que tem um consumo de bit constante.
[000200] De modo alternativo, para melhorar mais aprecisão ou reduzir a taxa de bits, as técnicas convencionais de quantização do vetor podem ser utilizadas, como as usadas para a quantização das LSFs. Com tal abordagem, um número de níveis de quantização mais alto pode ser obtido e a quantização com relação à distorção média pode ser otimizada. A desvantagem é que, então, os livros de códigos podem, por exemplo, ter de ser armazenados, enquanto que a abordagem de TSD utiliza uma enumeração algébrica de constelações.
[000201] A seguir, algoritmos de acordo com aplicaçõessão descritos.
[000202] Primeiramente, o caso de aplicação geral éconsiderado.
[000203] Em particular, a seguir é descrito umaaplicação prática do método de quantização de distribuição proposta para codificar o envelope espectral em um cenário similar ao SBR:
[000204] De acordo com algumas aplicações, ocodificador é configurado para:- Cálculo de magnitude espectral ou valores de energia da faixa HF do sinal de áudio original, e/ou- Cálculo de um número de índices de subfaixa K predefinido (ou arbitrário e transmitido) que dividem o envelope espectral em blocos K+1 de massa de bloco igual, e/ou- Codificação de índices, utilizando o mesmo algoritmo que em TSD [5], e/ou- Quantização e codificação da massa total da gravação da banda de HF (por exemplo, através de Huffman) de massa total e índices em fluxo contínuo de dados.
[000205] De acordo com algumas aplicações, odecodificador é configurado para:- Leitura da massa total e índices de fluxo contínuo de dados e decodificação subsequente, e/ou- Aproximação da curva da massa cumulativa leve através da interpolação de estria, e/ou- 1° derivado da curva de massa cumulativapara reconstruir o envelope espectral.
[000206] Algumas aplicações compreendem, ainda,adições opcionais:
[000207] Por exemplo, algumas aplicações fornecemhabilidades de distorção: reduzir o número de níveis possíveis de quantização leva a uma redução de bits necessários para codificação dos pontos de divisão e adicionalmente reduz a complexidade computacional. Este efeito pode ser explorado, por exemplo, pela distorção do envelope espectral com a ajuda de uma característica psicoacústica ou simplesmente somando as faixas de frequência adjacentes dentro do codificador antes de aplicar a quantização de distribuição. Após a reconstrução do envelope espectral a partir dos índices do ponto de divisão e da massa total no lado do decodificador, o envelope deve ser distorcido pela característica inversa.
[000208] Algumas aplicações adicionais fornecem conversão adaptativa de envelope: conforme mencionado previamente, não há necessidade de quantização de distribuição nas energias do envelope espectral (ou seja, abs(x)2 de um sinal x), mas toda a representação (positiva, com valor real) é realizável (por exemplo, abs(x), sqrt(abs(x)), etc.). Para poder explorar as diferentes propriedades de ajuste de forma das várias representações do envelope, é aceitável utilizar uma técnica de conversão adaptativa. Assim, uma detecção da melhor conversão combinada (de um conjunto fixo predefinido) para o envelope de corrente é realizada como uma etapa de pré-processamento, antes da quantização de distribuição ser aplicada. A conversão utilizada deve ser sinalizada e transmitida através do fluxo contínuo de dados, para permitir uma correta reconversão no lado do decodificador.
[000209] Aplicações adicionais são configuradas para suportar um número adaptativo de blocos: para obter uma flexibilidade ainda mais alta do modelo proposto, é benéfico poder alternar entre os diferentes números de blocos para cada envelope espectral. O número de blocos atualmente escolhido pode ser tanto de um conjunto predefinido para reduzir a demanda de bit para sinalizar ou explicitamente transmitido para permitir a flexibilidade mais alta. Por um lado, isso reduz toda a taxa de bit, pois para formas de envelope estável não há necessidade de alta capacidade de adaptação. Por outro lado, números menores de blocos levam a massas de bloco maiores, o que permite um encaixe mais preciso de fortes picos únicos com declives.
[000210] Algumas aplicações são configuradas para fornecer estabilização de envelope. Devido a uma flexibilidade mais alta do modelo de quantização de distribuição proposto comparado a, por exemplo, uma abordagem com base na faixa de fato em escala, as flutuações entre os envelopes adjacentes podem levar a instabilidades indesejadas. Para contraria esse efeito, uma técnica de estabilização de envelope adaptativo é aplicada como uma etapa de pós-processamento. Para partes do sinal estável, onde apenas algumas flutuações devem ser esperadas, o envelope é estabilizado por um nivelamento de valores de envelope temporalmente próximos. Para partes do sinal que naturalmente envolvem fortes mudanças temporais, como, por exemplo, transientes ou inícios/compensações fricativos/ sibilantes, nenhum ou apenas um nivelamento fraco á aplicado.
[000211] A seguir, um algoritmo que realiza a quantização de distribuição e codificação do envelope de acordo com uma aplicação é descrito.
[000212] A descrição da realização prática do método de quantização de distribuição proposto para codificação do envelope espectral em um cenário como SBR. A seguinte descrição do algoritmo se refere às etapas do lado do codificador e do decodificador que podem, por exemplo, ser conduzidas para processar um envelope específico.
[000213] A seguir, um codificador correspondente é descrito.
[000214] A determinação do envelope e o pré- processamento podem, por exemplo, ser conduzidos, conforme segue:- Determinação de uma curva do envelope alvo de energia espectral (por exemplo, representada por 20 amostras de subfaixa) e seu total de energia correspondente.- Aplicação da distorção do envelope por valores da subfaixa média em pares para reduzir o número total de valores (por exemplo, média de 8 valores de subfaixa superiores e, assim, reduzir o número total de 20 a 16).- Aplicação da conversão de magnitude do envelope para uma melhor combinação entre o desempenho do modelo do envelope e os critérios de qualidade perceptuais (por exemplo, extração da 4a raiz para cada valor de subfaixa,
Figure img0021
[000215] A quantização de distribuição e a codificação podem, por exemplo, ser conduzidas, conforme segue:- Múltipla determinação dos índices de subfaixa que divide o envelope em um número predefinido de blocos de massa igual (por exemplo, 4 vezes a repetição da determinação para dividir o envelope em 3, 4, 6 e 8 blocos).- Reconstrução total dos envelopes quantizados de distribuição (abordagem “análise por síntese”, veja abaixo).- Determinação e decisão sobre o número de blocos resultantes na descrição mais precisa do envelope (por exemplo, comparando as correlações cruzadas dos envelopes quantizados de distribuição e original).- Correção de ruído por comparação do original e do envelope quantizado de distribuição e de acordo com a adaptação de energia total.- Codificação dos índices divididos utilizando o mesmo algoritmo que na ferramenta TSD (consulte [5]).- Sinalização do número de blocos utilizado para quantização de distribuição (por exemplo, 4 números predefinidos de blocos, sinalizando através de 2 bits).- Quantização e codificação do total de energia (por exemplo, utilizando a codificação de Huffmann).
[000216] Agora, um decodificador correspondente édescrito.
[000217] A decodificação e quantização inversa podem,por exemplo, ser conduzidas, conforme segue:- Decodificação do número de blocos a serutilizado para quantização de distribuição e decodificação dototal de energia.- Decodificação de índices divididos,utilizando o mesmo algoritmo que na ferramenta TSD (consulte[5]).- Aproximação da curva de massa cumulativalisa através da interpolação de estria.- Reconstrução do envelope espectral apartir do domínio cumulativo através do 1o derivado (porexemplo, considerando a diferença das amostras consecutivas).
[000218] O pós-processamento pode, por exemplo, serconduzido, conforme segue:- Aplicação da estabilização do envelopepara contrariar as flutuações entre os envelopes subsequentescausados pelos erros de quantização (por exemplo, através donivelamento temporal dos valores de subfaixa reconstruídos,
Figure img0022
com para estruturas contendopartes do sinal transiente e α = 25,0 de outra forma).- Reversão da conversão do envelope deacordo com a aplicação no codificador.- Reversão da distorção do envelope deacordo com a aplicação no codificador.
[000219] A seguir, a codificação e decodificaçãoeficientes dos pontos de divisão são descritas. O codificador dos pontos de divisão 225 da figura 4 e da figura 5 pode, por exemplo, ser configurado para implementar a codificação eficiente conforme descrito abaixo. O decodificador dos pontos de divisão 105 da figura 2 pode, por exemplo, ser configurado para implementar a decodificação eficiente conforme descrito abaixo.
[000220] Na aplicação ilustrada pela figura 2, aparelho de decodificação compreende, ainda, o decodificador dos pontos de divisão 105 para decodificação de um ou mais ponto(s) codificado(s), de acordo com uma regra de decodificação para obter um ou mais ponto(s) de divisão. O decodificador dos pontos de divisão 105 é configurado para analisar um número total de posições que indica um número total de posições possíveis do ponto de divisão, um número de pontos de divisão que indica um número de pontos de divisão, e um número do estado dos pontos de divisão. Além disso, o decodificador dos pontos de divisão 105 é configurado para gerar uma indicação de uma ou mais posição(ões) de pontos de divisão, utilizando o número total de posições, o número de pontos de divisão e o número do estado dos pontos de divisão. Em uma aplicação particular, o decodificador dos pontos de divisão 105 pode, por exemplo, ser configurado para gerar uma indicação de duas ou mais posições de pontos de divisão utilizando o número total de posições, o número de pontos de divisão e o número do estado dos pontos de divisão.
[000221] Nas aplicações ilustradas pela figura 4 e pela figura 5, o aparelho compreende, ainda, um codificador dos pontos de divisão 225 para codificar uma posição de cada um de um ou mais ponto(s) de divisão para obter um ou mais ponto(s) codificado(s). O codificador dos pontos de divisão 225 é configurado para codificar uma posição de cada um de um ou mais ponto(s) de divisão pela codificação de um número do estado dos pontos de divisão. Além disso, o codificador dos pontos de divisão 225 é configurado para fornecer um número total de posições que indica um número total de posições possíveis do ponto de divisão, e um número de pontos de divisão que indica o número de um ou mais ponto(s) de divisão. O número do estado dos pontos de divisão, o número total de posições e o número de pontos de divisão juntos indicam a posição de cada um de um ou mais ponto(s) de divisão.
[000222] A figura 15 ilustra um aparelho para reconstruir um sinal de áudio, de acordo com uma aplicação. O aparelho compreende um aparelho de decodificação 1510, de acordo com uma das aplicações descritas acima ou de acordo com as aplicações descritas abaixo, para obter um envelope de sinal de áudio reconstruído do sinal de áudio e um gerador de sinal 1520 para gerar o sinal de áudio, dependendo do envelope de sinal de áudio do sinal de áudio e dependendo de uma característica adicional do sinal do sinal de áudio, a característica adicional do sinal sendo diferente do envelope de sinal de áudio. Conforme já descrito acima, um versado na técnica está ciente que a partir de um envelope do sinal de um sinal de áudio e de uma característica adicional do sinal do sinal de áudio, o próprio sinal de áudio pode ser reconstruído. Por exemplo, o envelope do sinal pode, por exemplo, indicar a energia das amostras do sinal de áudio. A característica adicional do sinal pode, por exemplo, indicar para cada amostra de, por exemplo, um sinal de áudio de domínio de tempo, se a amostra tem um valor positivo ou negativo.
[000223] Algumas aplicações particulares se baseiam no fato de que um número total de posições que indica o número total de posições possíveis dos pontos de divisão e um número de pontos de divisão que indica o número total de pontos de divisão podem estar disponíveis em um aparelho de decodificação da presente invenção. Por exemplo, um codificador pode transmitir o número total de posições e/ou o número de pontos de partição ao aparelho de decodificação.
[000224] Com base nessas suposições, algumasaplicações implementam os seguintes conceitos:
[000225] Deixe N ser o número (total) de posiçõespossíveis dos pontos de divisão e deixe P ser o número (total) de pontos de divisão.
[000226] Supõe-se que tanto o aparelho de codificaçãoquanto o aparelho de decodificação estão cientes dos valores de N e P.
[000227] Conhecendo N e P, pode ser derivado que háapenas
Figure img0023
combinações diferentes de posições possíveis do ponto de divisão.
[000228] Por exemplo, se as posições das posiçõespossíveis dos pontos de divisão forem enumeradas de 0 a N-1 e se P=8, então, uma primeira combinação possível de posições do ponto de divisão com eventos seria (0, 1, 2, 3, 4, 5, 6, 7), uma segunda seria (0, 1, 2, 3, 4, 5, 6, 8) e assim por diante até a combinação (N-8, N-7, N-6, N-5, N-4, N-3, N-2, rNN-1), de modo que no total hajam
Figure img0024
combinações diferentes.
[000229] Outra constatação é empregada, em que umnúmero do estado dos pontos de divisão pode ser codificado por um aparelho de codificação e que o número do estado dos pontos de divisão é transmitido ao decodificador. Se cada uma íNdas
Figure img0025
combinações possíveis for representada por um único número do estado dos pontos de divisão e se o aparelho de decodificação estiver ciente de qual número do estado dos pontos de divisão representa qual combinação das posições dos pontos de divisão, então, o aparelho de decodificação pode decodificar as posições dos pontos de divisão utilizando N, P e o número do estado dos pontos de divisão. Para um lote de valores típicos para N e P, tal técnica de codificação emprega alguns bits para codificar posições do ponto de divisão de eventos comparados a outros conceitos.
[000230] Declarado de forma diferente, o problema dacodificação das posições do ponto de divisão pode ser solucionado pela codificação de um número discreto P de posições pk em uma faixa de [0...N-1] , de modo que as posições não estejam sobrepondo pk^ph por k^h, com o menor número de bits possível. Visto que a ordem das posições não importa, segue-se que o número de combinações únicas de posições é ocoeficiente binominal
Figure img0026
. O número de bits necessários e,então,
Figure img0027
[000231] Algumas aplicações empregam uma posição pelo conceito de decodificação de posição. Um conceito de decodificação de posição por posição. Este conceito é se baseia nas seguintes constatações:
[000232] Supõe-se que N é o número (total) de posições possíveis do ponto de divisão e P é o número de pontos de divisão (isso significa que N pode ser o número total de posições FSN e P pode ser o número de pontos de divisão ESON). A primeira posição possível do ponto de divisão é considerada. Dois casos podem ser distinguidos:
[000233] Se a primeira posição possível do ponto dedivisão for uma posição que não compreenda um ponto de divisão, então, com relação às posições possíveis do ponto de í N -1^divisão N-1 restantes, há apenas
Figure img0028
diferentes possíveis combinações dos P pontos de divisão com relação às posições possíveis do ponto de divisão N-1 restantes.
[000234] Entretanto, se a posição possível do ponto dedivisão for uma posição compreendendo um ponto de divisão, então, com relação às posições possíveis do ponto de divisão N-1 restantes, há apenas
Figure img0029
diferentes combinações possíveis das posições possíveis do ponto de divisão P-1 restantes com relação aos pontos de divisão N-1 restantes.
[000235] Com base nessa constatação, as aplicações se baseiam, ainda, na constatação de que todas as combinações com uma primeira posição possível do ponto de divisão onde nenhum ponto de divisão está localizado devem ser codificadas pelo número do estado dos pontos de divisões que são menores ou iguais a um valor limite. Ainda, todas as combinações com uma primeira posição possível do ponto de divisão onde um ponto de divisão não está localizado, devem ser codificadas pelo número do estado dos pontos de divisões que são maiores que um valor limite. Em uma aplicação, todo o número do estado dos pontos de divisões pode ser números inteiros positivos ou 0 e um valor limite adequado referente à primeira posição possível do ponto de divisão pode ser í N -
Figure img0030
[000236] Em uma aplicação, é determinado, se aprimeira posição possível do ponto de divisão de uma estrutura compreender um ponto de divisão por teste, se o número do estado dos pontos de divisão é maior que um valor limite. (De modo alternativo, o processo de codificação/decodificação das aplicações também pode ser realizado, testando se o número do estado dos pontos de divisão é maior ou igual, menor ou igual ou menor que um valor limite).
[000237] Após analisar a primeira posição possível doponto de divisão, a decodificação é continuada para a segunda posição possível do ponto de divisão, utilizando os valores ajustados. Além de ajustar o número de posições do ponto de divisão consideradas (que é reduzido em um), o número de pontos de divisão é também reduzido por um e o número do estado dos pontos de divisão é ajustado, no caso o número do estado dos pontos de divisão ser maior que o valor limite, para excluir a parte referente à primeira posição possível do ponto de divisão do número do estado dos pontos de divisão. O processo de decodificação pode ser continuado para posições possíveis adicionais do ponto de divisão em uma forma similar.
[000238] Em uma aplicação, um número discreto P deposições pk em uma faixa de [0...N-1] é codificado, de modo que as posições não se sobreponham pk^ph para k^h. Aqui, cada combinação única de posições na dada faixa é chamada de um estado e cada posição possível nessa faixa é chamada de uma posição possível do ponto de divisão (pspp | possible splitting point position). De acordo com uma aplicação de um aparelho de decodificação, a primeira posição possível do ponto de divisão na faixa é considerada. Se a posição possível do ponto de divisão não tem um ponto de divisão, então a faixa pode ser reduzida para N-1, e o número de fN -1^1possíveis estados reduz para
Figure img0031
. Inversamente, se o estado f N —for maior que
Figure img0032
, então, pode ser concluído que na primeira posição possível do ponto de divisão, um ponto de divisão está localizado. O seguinte algoritmo de decodificação pode resultar disso:Para cada pspp h
Figure img0033
Atribuir um ponto de partição A pspp hAtualizar o estado remanescente para estado:= estado
Figure img0034
Reduzir o número de posições deixado P := P-1FimFim
[000239] O cálculo do coeficiente binomial em cada iteração seria oneroso. Assim, de acordo com as aplicações, as seguintes regras podem ser utilizadas para atualizar o coeficiente binomial, utilizando o valor da iteração anterior:
Figure img0035
[000240] Utilizando essas fórmulas, cada atualização do coeficiente binomial custa apenas uma multiplicação e uma divisão, enquanto que a avaliação explícita custaria multiplicações P e divisões em cada iteração.
[000241] Nessa aplicação, a complexidade total do decodificador é de multiplicações e divisões P para inicialização do coeficiente binomial, para cada iteração de multiplicação 1, divisão e sentença if e para cada posição codificada de multiplicação 1, adição e divisão. Observe que, na teoria, seria possível reduzir o número de divisões necessário para inicialização em um. Na prática, entretanto, essa abordagem resultaria em números inteiros muito grandes, os quais são difíceis de gerenciar. A complexidade de pior caso do decodificador é, então, Divisões N+2P e multiplicações N+2P, adições P (pode ser ignorado se operações por MAC são utilizadas) e N sentença if.
[000242] Em uma aplicação, o algoritmo de codificação empregado por um aparelho de codificação não tem que interagir através de todas as posições possíveis do ponto de divisão, mas apenas as que têm uma posição atribuída a elas. Assim,Para cada posição ph, h=1...P Atualizar o estado para estado : = estado
Figure img0036
[000243] A complexidade de pior caso do codificador émultiplicações P«(P-1) e divisões P«(P-1), bem como adições P-1.
[000244] A figura 9 ilustra um processo dedecodificação, de acordo com uma aplicação da presente invenção. Nessa aplicação, a decodificação é realizada em uma base posição por posição.
[000245] Na etapa 110, os valores são inicializados. Oaparelho de decodificação armazena o número do estado dos pontos de divisão, que recebeu um valor de entrada, na variável s. Ainda, o número (total) de pontos de divisão conforme indicado por um número de pontos de divisão é armazenado na variável p. Além disso o número total de posições possíveis do ponto de divisão contido na estrutura conforme indicado por um número total de posições é armazenado na variável N.
[000246] Na etapa 120, o valor de spSepData[t] éinicializado com 0 para todas as posições possíveis do ponto de divisão. A matriz de bit spSepData são os dados emitidos a serem gerados. Indica para cada posição possível do ponto de divisão t, se a posição possível do ponto de divisão compreende um ponto de divisão (spSepData[t] = 1) ou se não (spSepData[t]=0). Na etapa 120, os valores correspondentes de todas as posições possíveis do ponto de divisão são inicializados com 0.
[000247] Na etapa 130, a variável k é inicializada com o valor N-1. Nessa aplicação, as N posições possíveis do ponto de divisão são enumeradas 0, 1, 2, ..., N-1. Definir k = N-1 significa que a posição possível do ponto de divisão com o número mais alto é referida primeiro.
[000248] Na etapa 140, é considerado se k > 0. Se k < 0, a decodificação das posições do ponto de divisão foi finalizada e o processo termina, caso contrário, o processo continua com a etapa 150.
[000249] Na etapa 150, testa-se se p>k. Se p for maior que k, isso significa que todas as posições possíveis remanescentes do ponto de divisão compreendem um ponto de divisão. O processo continua na etapa 230 em que todos os valores de campo spSepData das posições possíveis do ponto de divisão restantes 0, 1, ..., k são definidos como 1 que indica que cada uma das posições possíveis do ponto de divisão remanescentes compreende um ponto de divisão. Nesse caso, o processo termina posteriormente. Entretanto, se a etapa 150 observar que p não é maior que k, o processo de decodificação continua na etapa 160.
[000250] Na etapa 160, o valor
Figure img0037
é calculado. c é utilizado como valor limite.
[000251] Na etapa 170, testa-se, se o valor real do número do estado dos pontos de divisão s for maior ou igual a c, em que c é o valor limite calculado na etapa 160.
[000252] Se s for menor que c, isso significa que a posição possível do ponto de divisão considerada (com ponto de divisão k) não compreende um ponto de divisão. Nesse caso, nenhuma ação adicional deve ser tomada, pois spSepData[k] já foi definido como 0 para essa posição possível do ponto de divisão na etapa 140. O processo então continua com a etapa 220. Na etapa 220, k é definido para ser k:=k-1 e a próxima posição possível do ponto de divisão é referida.
[000253] Entretanto, se o teste na etapa 170 mostrar que s é maior ou igual a c, isso significa que a posição possível do ponto de divisão considerada k compreende um ponto de divisão. Nesse caso, o número do estado dos pontos de divisão s é atualizado e é definido ao valor s := s-c na etapa 180. Ainda, spSepData[k] é definido como 1 na etapa 190 para indicar que a posição possível do ponto de divisão k compreende um ponto de divisão. Além disso, na etapa 200, p é definido como p-1, que indica que a posição possível do ponto de divisão remanescente a ser examinada agora compreende apenas p-1 posições possíveis do ponto de divisão com pontos de divisão.
[000254] Na etapa 210, testa-se se p é igual a 0, se p é igual a 0, as posições possíveis do ponto de divisão remanescentes não compreendem pontos de divisão e o processo de decodificação termina.
[000255] Caso contrário, pelo menos, uma das posições possíveis do ponto de divisão remanescentes compreende um evento e processo continua na etapa 220 onde o processo de decodificação continua com a próxima posição possível do ponto de divisão (k-1).
[000256] O processo de decodificação da aplicação ilustrada na figura 9 gera a matriz spSepData como valor de saída que indica cada posição possível do ponto de divisão k, se a posição possível do ponto de divisão compreende um ponto de divisão (spSepData[k]=1) ou se não (spSepData[k]=0).
[000257] A figura 10 ilustra um pseudocódigo que implementa a decodificação das posições do ponto de divisão de acordo com uma aplicação.
[000258] A figura 11 ilustra um processo de codificação para codificar pontos de divisão de acordo com uma aplicação. Nessa aplicação, a codificação é realizada em uma base posição por posição. A finalidade do processo de codificação de acordo com a aplicação ilustrada na figura 11 é para gerar um número do estado dos pontos de divisão.
[000259] Na etapa 310, os valores são inicializados. p_s é inicializado com 0. O número do estado dos pontos de divisão é gerado atualizando sucessivamente a variável p_s. Quando o processo de codificação é finalizado, p_s carregará o número do estado dos pontos de divisão. A etapa 310 inicializa, ainda, a variável k, definindo k como k:= pontos de divisão de número - 1.
[000260] Na etapa 320, a variável “pos” é definida como pos:=spPos[k], caracterizado por spPos ser uma matriz que mantém as posições das posições possíveis do ponto de divisão que compreendem os pontos de divisão.
[000261] As posições do ponto de divisão na matriz são armazenadas em ordem crescente.
[000262] Na etapa 330, um teste é conduzido, testando se k > pos. Se este for o caso, o processo termina. Caso contrário, o processo é continuado na etapa 340. ' pos ^
[000263] Na etapa 340, o valor
Figure img0038
é calculado.
[000264] Na etapa 350, a variável p_s é atualizada edefinida como p_s:=p_s+c.
[000265] Na etapa 360, k é definido como k := k-1.
[000266] Então, na etapa 370, um teste é conduzido,testando se k≥0. Nesse caso, a próxima posição possível doponto de divisão k-1 é referida. Caso contrário, o processotermina.
[000267] A figura 12 descreve o pseudocódigo,implementando a codificação de posições do ponto de divisãode acordo com uma aplicação da presente invenção.
[000268] A figura 13 ilustra um decodificador dospontos de divisão 410 de acordo com uma aplicação.
[000269] Um número total de posições FSN, que indica o número total de posições possíveis do ponto de divisão, um número de pontos de divisão ESON que indica o número (total) de pontos de divisão e um número do estado dos pontos de divisão ESTN são inseridos ao decodificador dos pontos de divisão 410. O decodificador dos pontos de divisão 410 compreende um divisor 440. O divisor 440 é adaptado para dividir a estrutura em uma primeira divisão, compreendendo um primeiro conjunto de posições possíveis do ponto de divisão, e em uma segunda divisão, compreendendo um segundo conjunto de posições possíveis do ponto de divisão, e em que as posições possíveis do ponto de divisão que compreendem os pontos de divisão são determinadas separadamente para cada uma das divisões. Por isso, as posições dos pontos de divisão podem ser determinadas dividindo repetidamente as divisões em divisões ainda menores.
[000270] A decodificação “com base em partição” do decodificador dos pontos de divisão 410 dessa aplicação se baseia nos seguintes conceitos:
[000271] A decodificação com base em partição se baseia na ideia de que um conjunto de todas as posições possíveis do ponto de divisão é dividida em duas partições, A e B, cada partição compreendendo um conjunto de posições possíveis do ponto de divisão, caracterizado pela partição A compreender Na posições possíveis do ponto de divisão e em que a partição B compreende Nb posições possíveis do ponto de divisão, e de modo que Na + Nb = N. O conjunto de todas as posições possíveis do ponto de divisão pode ser arbitrariamente dividido em duas partições, preferivelmente de modo que a partição A e B tenham quase o mesmo número total de posições possíveis do ponto de divisão (por exemplo, de modo que Na = Nb ou Na = Nb-1). Pela divisão do conjunto de todas as posições possíveis do ponto de divisão em duas partições, a tarefa de determinar as posições reais do ponto de divisão também é dividida em duas subtarefas, a saber, determinar as posições reais do ponto de divisão na partição A da estrutura e determinar as posições reais do ponto de divisão na partição B da estrutura.
[000272] Nessa aplicação, supõe-se novamente que o decodificador dos pontos de divisão 105 está ciente do número total de posições possíveis do ponto de divisão, o número total de pontos de divisão e um número do estado dos pontos de divisão. Para solucionar ambas as subtarefas, o decodificador dos pontos de divisão 105 também deve estar ciente do número de posições possíveis do ponto de divisão de cada divisão, o número de pontos de divisão em cada divisão e o número do estado dos pontos de divisão de cada divisão (tal número do estado dos pontos de divisão de uma divisão é agora referido como “número do subestado de pontos de divisão”).
[000273] Como o próprio decodificador dos pontos dedivisão divide o conjunto de todos os possíveis pontos dedivisão em duas divisões, sabe-se que a partição A compreendeNa posições possíveis do ponto de divisão e que a partição Bcompreende Nb posições possíveis do ponto de divisão.Determinar o número de pontos de divisão reais para cada umade ambas as divisões é com base nas seguintes constatações:
[000274] Visto que o conjunto de todas as posiçõespossíveis do ponto de divisão foi dividido em duas divisões,cada uma das reais posições do ponto de divisão está agorasituada na partição A ou na partição B. Ainda, assumindo queP é o número de pontos de divisão de uma divisão, e N é onúmero total de posições possíveis do ponto de divisão dadivisão e que f(P,N) é uma função que retorna o número dediferentes combinações de posições do ponto de divisão, entãoo número de diferentes combinações da divisão de todo oconjunto de posições possíveis do ponto de divisão (que foidividido em partição A e partição B) é:
Figure img0039
Figure img0040
[000275] Com base nas considerações acima, de acordo com uma aplicação, todas as combinações com a primeira configuração, onde a partição A tem 0 pontos de divisão e onde a partição B tem P pontos de divisão, devem ser codificadas com um número do estado dos pontos de divisão menor que um primeiro valor limite. O número do estado dos pontos de divisão pode ser codificado como um valor da parte de número inteiro sendo positivo ou 0. Visto que há somente combinações de f (0,Na)«f(P,Nb) com a primeira configuração, um primeiro valor limite adequado pode ser f(0,Na) -f(P,Nb) .
[000276] Todas as combinações com a segunda configuração, onde a partição A tem 1 ponto de divisão e onde a partição B tem P-1 pontos de divisão, devem ser codificadas com um número do estado dos pontos de divisão maior que ou igual ao primeiro valor limite, mas menor que ou igual a um segundo valor de limite. Visto que há somente combinações de f(1,Na)«f(P-1,Nb) com a segunda configuração, um segundo valor adequado pode ser f(0,Na)-f(P,Nb) + f(1,Na)f(P-1, Nb). O número do estado dos pontos de divisão para combinações com outras configurações é determinado similarmente.
[000277] De acordo com uma aplicação, a decodificação é realizada separando um conjunto de todas as posições possíveis do ponto de divisão em duas partições, A e B. Então, é testado se um número do estado dos pontos de divisão é menor que um primeiro valor limite. Em uma aplicação preferida, o primeiro valor limite pode ser f(0,Na) -f(P,Nb) .
[000278] Se o número do estado dos pontos de divisão for menor que o primeiro valor limite, pode, então, ser calculado que a partição A compreende 0 pontos de divisão e a partição B compreende todos os P pontos de divisão. A decodificação é, então, conduzida para ambas as divisões com o número respectivamente determinado representando o número de pontos de divisão da divisão correspondente. Ainda, um primeiro número do estado dos pontos de divisão é determinado para a partição A e um segundo número do estado dos pontos de divisão é determinado para a partição B que são respectivamente utilizados como um novo número do estado dos pontos de divisão. Dentro desse documento, um número do estado dos pontos de divisão de uma divisão é referido como um “número do subestado dos pontos de divisão”.
[000279] Entretanto, se o número do estado dos pontos de divisão for maior que ou igual ao primeiro valor limite, o número do estado dos pontos de divisão pode ser atualizado. Em uma aplicação preferida, o número do estado dos pontos de divisão pode ser atualizado subtraindo um valor do número do estado dos pontos de divisão, preferivelmente subtraindo o primeiro valor limite, por exemplo, f(0,Na) -f(P,Nb) . Em uma próxima etapa, é testado se o número atualizado do estado dos pontos de divisão é menor que um segundo valor limite. Em uma aplicação preferida, o segundo valor limite pode ser f(1,Na)«f(P-1,Nb). Se número do estado dos pontos de divisão for menor que o segundo valor limite, pode ser derivado que a partição A tem um ponto de divisão e a partição B tem P-1 pontos de divisão.
[000280] A decodificação é, então, conduzida paraambas as divisões com os números de pontos de divisão respectivamente determinados de cada divisão. Um primeiro número do subestado dos pontos de divisão é empregado para a decodificação da partição A e um segundo número do subestado dos pontos de divisão subestado é empregado para a decodificação da partição B. Entretanto, se o número do estado dos pontos de divisão for maior que ou igual ao segundo valor limite, o número do estado dos pontos de divisão pode ser atualizado. Em uma aplicação preferida, o número do estado dos pontos de divisão pode ser atualizado subtraindo um valor do número do estado dos pontos de divisão, preferivelmente f(1,Na)«f(P-1,Nb). O processo de decodificação é similarmente aplicado para as possibilidades de distribuição restantes dos pontos de divisão em relação às duas divisões.
[000281] Em uma aplicação, um número do subestado dospontos de divisão para a partição A e um número do subestado dos pontos de divisão para a partição B pode ser empregado para a decodificação da partição A e da partição B, em que ambos os números do subestados do evento são determinados conduzindo a divisão:número do estado dos pontos de divisão / f(número de pontos de divisão da partição B, Nb).
[000282] Preferivelmente, o número do subestado dospontos de divisão da partição A é a parte de número inteiro da partição acima e o número do subestado dos pontos de divisão da partição B é o lembrete daquela divisão. O número do estado dos pontos de divisão empregado nessa divisão pode ser o número original do estado dos pontos de divisão do quadro ou um número atualizado do estado dos pontos de divisão, por exemplo, atualizado subtraindo um ou mais valor(es) limite(s), conforme descrito acima.
[000283] Para ilustrar o conceito da divisão descrito acima baseado na decodificação, uma situação é considerada onde um conjunto de todas as posições possíveis do ponto de divisão tem dois pontos de divisão. Ainda, se f(p,N) for novamente a função que retorna o número de diferentes combinações das posições do ponto de divisão de uma divisão, em que p é o número de pontos de divisão de uma divisão de quadro e N é o número total de pontos de divisão daquela divisão. Então, para cada uma das possíveis distribuições das posições, o seguinte número de possíveis combinações resulta:
Figure img0041
[000284] Pode, assim, ser concluído que se o númerocodificado do estado dos pontos de divisão do quadro for menor que f(0,Na) -f(2,Nb), então as posições dos pontos de divisão devem ser distribuídas como 0 e 2. Caso contrário, f(0,Na)*f(2,Nb) é subtraído do número do estado dos pontos de divisão e o resultado é comparado com f(1,Na) •f(1,Nb) . Se for menor, então as posições são distribuídas como 1 e 1. Caso contrário, nós temos somente a distribuição 2 e 0 restante, e as posições são distribuídas como 2 e 0,
[000285] A seguir, um pseudocódigo é fornecido deacordo com uma aplicação para decodificação de posições de pontos de divisão (aqui: “sp”). Nesse pseudocódigo, “sp_a” é o número de pontos de divisão (supostos) na partição A e “sp_b” é o número de pontos de divisão (supostos) na partição B. Nesse pseudocódigo, o número do estado dos pontos de divisão (por exemplo, atualizado) é referido como “estado”. O número de divisões do subestado dos pontos de divisão das partições A e B é, ainda, juntamente codificado na variável do “estado”. De acordo com um esquema de codificação conjunta de uma aplicação, o número do subestado dos pontos de divisão (aqui referido como “state_a”) é a parte de número inteiro da divisão state/f(sp_b, Nb) e o número do subestado dos pontos de divisão de B (aqui referido como “state_b”) é o restante dessa divisão. Por esse comprimento (número total de pontos de divisão da divisão) e o número de posições codificadas (número de pontos de divisão na divisão) de ambas as divisões podem ser decodificados pela mesma abordagem:Função x = decodestate(state, sp, N)1. Dividir vetor em duas partições de comprimento Na e Nb.2. Para sp_a de 0 a sp a. sp_b = sp - sp_a b. Se o estado < f(sp_a,Na)*f(sp_b,Nb), entãoquebrar o loop FOR.c. estado := estado -f(sp_a,Na)*f(sp_b,Nb) 3. O número de possíveis estados para a partição B éno_states_b = f(sp_b,Nb)4. Os estados, state_a e state_b das partições A e B, respectivamente, são a parte do número inteiro e o lembrete da divisão state/no_states_b.5. Se Na > 1, então, o vetor codificado da partição A é obtido recursivamente porxa = decodestate(state_a,sp_a,Na)Caso contrário (Na==1), e o vetor xa é um escalar e nós podemos definir xa=state_a.6. Se Nb > 1, então, vetor codificado da partição B é obtido recursivamente porxb = decodestate(state_b,sp_b,Nb)Caso contrário (Nb==1), e o vetor xb é um escalar e nós podemos definir xb=state_b.7. A saída final x é obtida, combinando xa e xb por x = [xa xb].
[000286] A saída desse algoritmo é um vetor que tem um(1) em cada posição codificada (ou seja, uma posição do ponto de divisão) e zero (0) em qualquer lugar (ou seja, em posições possíveis do ponto de divisão que não compreendem pontos de divisão).
[000287] A seguir, um pseudocódigo é fornecido, deacordo com uma aplicação, para codificar posições do ponto de divisão que utilizam nomes de variáveis similares a um significado similar ao de acima: Função estado = encodestate(x,N) 1. Dividir o vetor em duas partições xa e xb de comprimento Na e Nb.2. Contar os pontos de divisão nas partições A e B em sp_a e sp_b, e definir sp=sp_a+sp_b.3. Definir estado a 04. Para k de 0 a sp_a-1a. estado := estado + f(k,Na)*f(sp-k,Nb)5. Se Na > 1, codificar a partição A por state_a = encodestate(xa, Na);Caso contrário (Na==1), definir state_a = xa.6. Se Nb > 1, codificar a partição B por state_b = codificar estado(xb,Nb);Caso contrário (Nb==1), definir state_b = xb.7. Codificar estados conjuntamenteestado := estado + state_a*f(sp_b,Nb) + state_b.
[000288] Aqui, supõe-se que, similarmente ao algoritmodo decodificador, cada posição do decodificador (ou seja, uma posição do ponto de divisão) é identificada por um (1) no vetor x e todos os outros elementos são zero (0) (por exemplo, posições possíveis do ponto de divisão que não compreendem um ponto de divisão).
[000289] Os métodos recursivos acima formulados nopseudocódigo podem prontamente ser implementados de uma maneira não recursiva utilizando métodos padrão.
[000290] De acordo com uma aplicação, a função f(p,N)pode ser realizada como uma tabela de visualização. Quando as posições não estão sobrepondo, como no contexto atual, então a função do número de estados f(p,N) é simplesmente a função binomial que pode ser calculada on-line. Isso é
Figure img0042
[000291] De acordo com uma aplicação da presenteinvenção, tanto o codificador quanto o decodificador têm umloop FOR onde o produto f(p-k,Na)*f(k,Nb) é calculado para osvalores consecutivos de k. Para cálculo computacionaleficiente, isso pode ser escrito como
Figure img0043
Em outras palavras, os termos sucessivos parasubtração/adição (na etapa 2b e 2c no decodificador, e naetapa 4a no codificador) podem ser calculados por trêsmultiplicações e uma divisão por iteração.
[000292] Retornando à figura 1, as aplicaçõesalternativas implementam o aparelho da figura 1 paradecodificação para obter um envelope de sinal de áudioreconstruído em uma forma diferente. Em tais aplicações, conforme já explicado antes, o aparelho compreende um reconstrutor de envelope de sinal 110 para gerar o envelope de sinal de áudio reconstruído dependendo de um ou mais ponto(s) de divisão, e uma interface de saída 120 para emitir o envelope de sinal de áudio reconstruído.
[000293] Novamente, o reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído de modo que um ou mais ponto(s) de divisão divide o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, em que a regra de atribuição predefinida defines um valor da parte do envelope de sinal para cada parte do envelope de sinal das duas ou mais partes do envelope de sinal, dependendo de referida parte do envelope de sinal.
[000294] Em tais aplicações alternativas, entretanto, um valor da parte do envelope predefinido é atribuído a cada uma das duas ou mais partes do envelope de sinal.
[000295] Em tais aplicações, o reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído de modo que, para cada parte do envelope de sinal das duas ou mais partes do envelope de sinal, um valor absoluto do valor da parte do envelope de sinal da referida parte do envelope de sinal seja maior que 90% de um valor absoluto do valor da parte do envelope predefinido sendo atribuído à referida parte do envelope de sinal, e de modo que o valor absoluto do valor da parte do envelope de sinal da referida parte do envelope de sinal seja menor que 110% do valor absoluto do valor da parte do envelope predefinido sendo atribuído à referida parte do envelope de sinal. Isso permite algum tipo de desvio do valor da parte do envelope predefinido.
[000296] Em uma aplicação particular, entretanto, o reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído de modo que, o valor da parte do envelope de sinal de cada das duas ou mais partes do envelope de sinal seja igual ao valor da parte do envelope predefinido sendo atribuído à referida parte do envelope de sinal.
[000297] Por exemplo, três pontos de divisão podem ser recebidos dividindo o envelope de sinal de áudio em quatro partes do envelope de sinal de áudio. Uma regra de atribuição pode especificar, que o valor da parte do envelope predefinido da primeira parte do envelope de sinal é 0,15, que o valor da parte do envelope predefinido da segunda parte do envelope de sinal é 0,25, que o valor da parte do envelope predefinido da terceira parte do envelope de sinal é 0,25, e que o valor da parte do envelope predefinido da primeira parte do envelope de sinal é 0,35. Ao receber os três pontos de divisão, o reconstrutor de envelope de sinal 110 então reconstrói o envelope do sinal certamente de acordo com os conceitos descritos acima.
[000298] Em outra aplicação, um ponto de divisão pode ser recebido dividindo o envelope de sinal de áudio em duas partes do envelope de sinal de áudio. Uma regra de atribuição pode especificar que o valor da parte do envelope predefinido da primeira parte do envelope de sinal é p, que o valor da parte do envelope predefinido da segunda parte do envelope de sinal é1-p. Por exemplo, se p = 0,4 então 1-p = 0,6. Novamente, ao receber os três pontos de divisão, o reconstrutor de envelope de sinal 110 então reconstrói o envelope do sinal certamente de acordo com os conceitos descritos acima.
[000299] Tais aplicações alternativas que empregam valores da parte do envelope predefinido podem empregar cada um dos conceitos descritos antes.
[000300] Em uma aplicação, os valores da parte do envelope predefinido de, pelo menos, duas das partes do envelope de sinal diferem entre si.
[000301] Em outra aplicação, o valor da parte do envelope predefinido de cada uma das partes do envelope de sinal difere do valor da parte do envelope predefinido de cada uma das outras partes do envelope de sinal.
[000302] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é evidente que esses aspectos também representam uma descrição do método correspondente, no qual um bloco ou dispositivo corresponde a uma etapa do método ou uma característica de uma etapa do método. De forma análoga, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou de um item ou uma característica de um aparelho correspondente.
[000303] O sinal inventivo decomposto pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido por um meio de transmissão, tal como um meio de transmissão sem fio ou um meio de transmissão cabeado, tal como a Internet.
[000304] Dependendo de certas exigências de implementação, as aplicações da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada utilizando-se um meio de armazenamento digital, por exemplo, um disquete, um DVD, um CD, uma memória ROM, uma PROM, uma EPROM, uma EEPROM ou uma memória FLASH, tendo sinais de controle eletronicamente legíveis armazenados nele (ou são capazes de cooperar) com um sistema de computador programável, de modo que o respectivo método seja realizado.
[000305] Algumas aplicações, de acordo com a invenção, compreendem um transportador de dados não transitório tendo sinais de controle eletronicamente legíveis, que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos descritos neste documento seja realizado.
[000306] De forma geral, as aplicações da presente invenção podem ser implementadas como um produto do programa de computador com um código do programa, com o código do programa sendo operativo para realizar um dos métodos quando o produto do programa de computador é executado em um computador. O código do programa pode, por exemplo, ser armazenado em um transportador legível por máquina.
[000307] Outras aplicações compreendem o programa de computador para realizar um dos métodos descritos neste documento, armazenados em um transportador legível por máquina.
[000308] Em outras palavras, uma aplicação do método inventivo é, portanto, um programa de computador tendo um código do programa para realizar um dos métodos descritos neste documento, quando o programa de computador é executado em um computador.
[000309] Outra aplicação dos métodos inventivos é, portanto, um transportador de dados (ou um meio de armazenamento digital, ou um meio legível por computador) compreendendo, gravado nele, o programa de computador para realizar um dos métodos descritos neste documento.
[000310] Outra aplicação do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representa o programa de computador para realizar um dos métodos descritos neste documento. O fluxo de dados ou a sequência de sinais pode, por exemplo, ser configurada para ser transferida por meio de uma conexão de comunicação de dados, por exemplo, pela Internet.
[000311] Outra aplicação compreende um meio de processamento, por exemplo, um computador ou um dispositivo lógico programável, configurado ou adaptado para realizar um dos métodos descritos neste documento.
[000312] Outra aplicação compreende um computador, em que o programa de computador para realizar um dos métodos descritos neste documento está instalado nele.
[000313] Em algumas aplicações, um dispositivo lógico programável (por exemplo, um arranjo de portas de campo programáveis) pode ser utilizado para realizar algumas ou todas as funcionalidades dos métodos descritos neste documento. Em algumas aplicações, um arranjo de portas de campo programáveis pode cooperar com um microprocessador, a fim de realizar um dos métodos descritos neste documento. De forma geral, os métodos são preferivelmente realizados por qualquer aparelho de hardware.
[000314] As aplicações descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende-se que as modificações e as variações das disposições, e os detalhes descritos no presente documento, serão evidentes a outros especialistas na técnica. É intenção da invenção, portanto, ser limitada apenas pelo escopo das reivindicações da patente anexas e não pelos detalhes específicos apresentados em forma de descrição e explicação das aplicações no presente documento.
REFERÊNCIAS
[000315] [1] Makhoul, John. “Linear prediction: A tutorial review.” Proceedings of the IEEE 63.4 (1975): 561580.
[000316] [2] Soong, Frank, and B. Juang. “Line spectrum pair (LSP) and speech data compression.” Acoustics, Speech, and Signal Processing, IEEE International Conference on ICASSP'84. Vol. 9. IEEE, 1984.
[000317] [3] Pan, Davis. “A tutorial on MPEG/Audio compression.” Multimedia, IEEE 2.2 (1995): 60-74.
[000318] [4] M. Neuendorf, P. Gournay, M. Multrus, J. Lecomte, B. Bessette, R. Geiger, S. Bayer, G. Fuchs, J. Hilpert, N. Rettelbach, R. Salami, G. Schuller, R. Lefebvre, B. Grill. “Unified speech and audio coding scheme for high quality at low bitrates”. In Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE International Conference on (pp. 1-4). IEEE. April, 2009.
[000319] [5] Kuntz, A., Disch, S., Bâckstrôm, T., & Robilliard, J. “The Transient Steering Decorrelator Tool in the Upcoming MPEG Unified Speech and Audio Coding Standard”. In Audio Engineering Society Convention 131, October 2011.
[000320] [6] Herre, Jürgen, and James D. Johnston. “Enhancing the performance of perceptual audio coders by using temporal noise shaping (TNS).' Audio Engineering Society Convention 101. 1996.

Claims (16)

1. Um aparelho para geração de um envelope de sinal de áudio a partir de um ou mais valor(es) de codificação, caracterizado por compreender:uma interface de entrada (1610) para receber um ou mais valor(es) de codificação, eum gerador de envelope (1620) para gerar o envelope de sinal de áudio, dependendo de um ou mais valor(es) de codificação,em que o gerador de envelope (1620) é configurado para gerar uma função de agregação, dependendo de um ou mais valor(es) de codificação, em que a função de agregação compreende uma pluralidade de pontos de agregação, em que cada um dos pontos de agregação compreende um valor de argumento e um valor de agregação, em que a função de agregação aumenta uniformemente e em que cada um de um ou mais valor(es) de codificação indica, pelo menos, um dentre o valor de argumento e o valor de agregação de um dos pontos de agregação da função de agregação,em que o gerador de envelope (1620) é configurado para gerar o envelope de sinal de áudio, de modo que o envelope de sinal de áudio compreenda uma pluralidade de pontos de envelope, em que cada um dos pontos de envelope compreende um valor de argumento e um valor de envelope e em que, para cada um dos pontos de agregação da função de agregação, um dos pontos de envelope do envelope de sinal de áudio é atribuído ao referido ponto de agregação de modo que o valor de argumento do referido ponto de envelope seja igual ao valor de argumento do referido ponto de agregação, eem que o gerador de envelope (1620) é configurado para gerar o envelope de sinal de áudio, de modo que o valor de envelope de cada um dos pontos de envelope do envelope de sinal de áudio dependa do valor de agregação de pelo menos um ponto de agregação da função de agregação.
2. Um aparelho de acordo com a reivindicação 1, caracterizado pelo gerador de envelope (1620) ser configurado para determinar a função de agregação pela determinação de um dos pontos de agregação para cada um de um ou mais valor(es) de codificação, dependendo do referido valor de codificação, e através da aplicação da interpolação para obter a função de agregação, dependendo do ponto de agregação de cada um de um ou mais valor(es) de codificação.
3. Um aparelho de acordo com a reivindicação 1 ou 2, caracterizado pelo gerador de envelope (1620) ser configurado para determinar um primeiro derivado da função de agregação em uma pluralidade de pontos de agregação da função de agregação.
4. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo gerador de envelope (1620) ser configurado para gerar a função de agregação, dependendo dos valores de codificação, de modo que a função de agregação tenha um primeiro derivado contínuo.
5. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo gerador de envelope (1620) ser configurado para determinar o envelope de sinal de áudio, determinando um índice de uma primeira diferença e uma segunda diferença, a referida primeira diferença sendo uma diferença entre um primeiro valor de agregação (c(k+1)) de um primeiro dentre os pontos de agregação da função de agregação e um segundo valor de agregação (c(k-1); c(k)) de um segundo dentre os pontos de agregação da função de agregação e a referida segunda diferença sendo uma diferença entre um primeiro valor de argumento (f(k+1)) do referido primeiro dentre os pontos de agregação da função de agregação e um segundo valor de argumento (f (k-1); f (k)) do referido segundo dentre os pontos de agregação da função de agregação.
6. Um aparelho de acordo com a reivindicação 5, caracterizado pelo gerador de envelope (1620) ser configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0044
em que incinação(k) indica um derivado da função de agregação no valor de codificação k-th,em que c(k+1) é o referido primeiro valor de agregação,em que f(k+1) é o referido primeiro valor de argumento, em que c(k-1) é o referido segundo valor de agregação,em que f(k-1) é o referido segundo valor de argumento,em que k é um número inteiro que indica um índice de um de um ou mais valor(es) de codificação,em que c(k +1)- c(k -1) é a primeira diferença dos dois valores agregados c(k +1) e c(k -1) , eem que f(k+1)- f(k -1) é a segunda diferença dos dois valores de argumento f (k + 1) e f (k -1) .
7. Um aparelho de acordo com a reivindicação 5, caracterizado pelo gerador de envelope (1620) ser configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0045
em que a inclinação(k) indica um derivado da função de agregação no valor de codificação k-th,em que c(k+1) é o referido primeiro valor de agregação,em que f(k+1) é o referido primeiro valor de argumento,em que c(k) é o referido segundo valor de agregação,em que f(k) é o referido segundo valor de argumento,em que c(k-1) é um terceiro valor de agregação de um terceiro dos pontos de agregação da função de agregação,em que f(k-1) é um terceiro valor de argumento de um referido terceiro dos pontos de agregação da função de agregação,em que k é um número inteiro que indica um índice de um ou mais valor(es) de codificação,em que c(k +1)-c(k) é a primeira diferençados dois valores agregados c(k+1) e c(k) , eem que f(k+1)- f(k) é a segunda diferença dos dois valores de argumento f (k + 1) e f (k) .
8. Um aparelho de acordo com qualquer uma das reivindicações anteriores,caracterizado pela interface de entrada(1610) ser configurada para receber um ou mais valor(es) de divisão como um ou mais valor(es) de codificação,em que o gerador de envelope (1620) éconfigurado para gerar a função de agregação, dependendo de um ou mais valor(es) de divisão, em que cada um de um ou mais valor(es) de divisão indica(m) o valor de agregação de um dos pontos de agregação da função de agregação,em que o gerador de envelope (1620) éconfigurado para gerar o envelope de sinal de áudio reconstruído, de modo que um ou mais ponto(s) de divisão divida(m) o envelope de sinal de áudio reconstruído em duas ou mais partes do envelope de sinal de áudio, em que uma regra de atribuição predefinida define um valor da parte do envelope do sinal para cada parte do envelope do sinal de duas ou mais partes do envelope do sinal, dependendo da referida parte do envelope do sinal, eem que o gerador de envelope (1620) é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada uma de duas ou mais partes do envelope do sinal, um valor absoluto de seu valor da parte do envelope do sinal seja maior que metade de um valor absoluto do valor da parte do envelope do sinal de cada das outras partes do envelope do sinal.
9. Um aparelho para determinação de um ou mais valor(es) de codificação para codificar um envelope de sinal de áudio, caracterizado por compreender:um agregador (1710) para determinar um valor agregado para cada uma de uma pluralidade de valores de argumento, em que a pluralidade de valores de argumento é organizada, de modo que um primeiro valor de argumento da pluralidade de valores de argumento tanto preceda quanto suceda um segundo valor de argumento da pluralidade de valores de argumento, quando o referido segundo valor de argumento for diferente do primeiro valor de argumento, em que um valor de envelope é atribuído a cada dos valores de argumento, em que o valor de envelope de cada dos valores de argumento depende do envelope de sinal de áudio e em que o agregador (1710) é configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, dependendo do valor de envelope do referido valor de argumento e dependendo do valor de envelope de cada da pluralidade de valores de argumento que precede o referido valor de argumento, e uma unidade de codificação (1720) para determinar um ou mais valor(es) de codificação, dependendo de um ou mais dos valores agregados da pluralidade de valores de argumento.
10. Um aparelho de acordo com a reivindicação 9, caracterizado pelo agregador (1710) ser configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, adicionando o valor de envelope do referido valor de argumento e os valores de envelope dos valores de argumento que precedem o referido valor de argumento.
11. Um aparelho de acordo com a reivindicação 9 ou 10, caracterizado pelo valor de envelope de cada dos valores de argumento indicar uma potência n-th de um valor espectral de um envelope de sinal de áudio, tendo o envelope de sinal de áudio como envelope de sinal, em que n é um número inteiro maior que zero.
12. Um aparelho de acordo com a reivindicação 9 ou 10, caracterizado pelo valor de envelope de cada um dos valores de argumento indicar uma potência nth de um valor de amplitude de um envelope de sinal de áudio, sendo representado em um domínio de tempo e tendo o envelope de sinal de áudio como envelope de sinal, em que n é um número inteiro maior que zero.
13. Um aparelho de acordo com qualquer uma das reivindicações de 9 a 12, caracterizado pela unidade de codificação (1720) ser configurada para determinar um ou mais valor(es) de codificação, dependendo de um ou mais dos valores agregados dos valores de argumento e dependendo de um número dos valores de codificação que indica quantos valores devem ser determinados pela(1720) como um ou mais valor(es) de de codificação.
14. Um aparelho de acordo com areivindicação 13, caracterizado pela unidade de codificaçãoser configurada para determinar um ou mais valor(es) decodificação de acordo com
Figure img0046
em que c(k) indica o valor de codificaçãok-th a ser determinado pela unidade de codificação,em que j indica o valor de argumento j-thda pluralidade de valores de argumento,em que a(j) indica o valor agregado sendoatribuído ao valor de argumento j-th,em que max(a) indica um valor máximo sendoum dos valores agregados que são atribuídos a um dosvalores de argumento, em que nenhum dos valores agregadosque são atribuídos a um dos valores de argumento é maiorque o valor máximo, eem que
Figure img0047
indica um valormínimo sendo um dos valores de argumento para qual
Figure img0048
é mínimo.
15. Um método para geração de um envelopede sinal de áudio de um ou mais valor(es) de codificação,caracterizado por compreender:receber um ou mais valor(es) decodificação, egerar o envelope de sinal de áudio,dependendo de um ou mais valor(es) de codificação,em que a geração do envelope de sinal deáudio é conduzida pela geração de uma função de agregação,dependendo de um ou mais valor(es) de codificação, em que afunção de agregação compreende uma pluralidade de pontos deagregação, em que cada um dos pontos de agregaçãocompreende um valor de argumento e um valor de agregação,em que a função de agregação aumenta uniformemente e em quecada um de um ou mais valor(es) de codificação indica, pelomenos, um dentre o valor de argumento e o valor deagregação de um dos pontos de agregação da função deagregação,em que a geração do envelope de sinal deáudio é conduzida, de modo que o envelope de sinal de áudiocompreenda uma pluralidade de pontos de envelope, em quecada um dos pontos de envelope compreende um valor deargumento e um valor de envelope e em que, para cada um dospontos de agregação da função de agregação, um do pontos deenvelope do envelope de sinal de áudio é atribuído aoreferido ponto de agregação de modo que o valor deargumento do referido ponto de envelope seja igual ao valorde argumento do referido ponto de agregação, eem que a geração do envelope de sinal deáudio é conduzida, de modo que o valor de envelope de cadaum dos pontos de envelope do envelope de sinal de áudiodependa do valor de agregação de, pelo menos, um ponto deagregação da função de agregação.
16. Um método para determinação de um ou mais valor(es) de codificação para codificar um envelope de sinal de áudio, caracterizado por compreender:determinar um valor agregado para cada uma de uma pluralidade de valores de argumento, em que a pluralidade de valores de argumento é organizada, de modo que um primeiro valor de argumento da pluralidade de valores de argumento tanto preceda quanto suceda um segundo valor de argumento da pluralidade de valores de argumento, quando o referido segundo valor de argumento é diferente do primeiro valor de argumento, em que um valor de envelope é atribuído a cada um dos valores de argumento, em que o valor de envelope de cada um dos valores de argumento depende do envelope de sinal de áudio e em que o agregador (1710) é configurado para determinar o valor agregado para cada valor de argumento da pluralidade de valores de argumento, dependendo do valor de envelope do referido valor de argumento e dependendo do valor de envelope de cada um da pluralidade de valores de argumento que precede o referido valor de argumento, edeterminar um ou mais valor(es) de codificação, dependendo de um ou mais dos valores agregados da pluralidade de valores de argumento.
BR112015030686-1A 2013-06-10 2014-06-10 Aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por modelagem da representação de soma cumulativa empregando codificação e quantização de distribuição BR112015030686B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP13171314.1 2013-06-10
EP14167070.3 2014-05-05

Publications (1)

Publication Number Publication Date
BR112015030686B1 true BR112015030686B1 (pt) 2021-12-28

Family

ID=

Similar Documents

Publication Publication Date Title
RU2696292C2 (ru) Аудиокодер и декодер
BR112013020587B1 (pt) esquema de codificação com base em previsão linear utilizando modelagem de ruído de domínio espectral
KR101698905B1 (ko) 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법
BRPI0906300B1 (pt) Decodificador de sinal de áudio, provedor de dados de contorno de distorção de tempo e método
BR122020015614B1 (pt) Método e dispositivo para interpolar parâmetros de filtro de predição linear em um quadro de processamento de sinal sonoro atual seguindo um quadro de processamento de sinal sonoro anterior
WO2013078974A1 (zh) 非激活音信号参数估计方法及舒适噪声产生方法及系统
BR112015005980B1 (pt) Método para codificar sinais e codificador de áudio
CN106605263B (zh) 确定用于编码lpd/fd过渡帧的预算
KR20220045260A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
BR112015030672B1 (pt) aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por divisão do envelope de sinal de áudio empregando codificação e quantização de distribuição
US10734008B2 (en) Apparatus and method for audio signal envelope encoding, processing, and decoding by modelling a cumulative sum representation employing distribution quantization and coding
BR112015030686B1 (pt) Aparelho e método de codificação, processamento e decodificação de envelope de sinal de áudio por modelagem da representação de soma cumulativa empregando codificação e quantização de distribuição
US10950251B2 (en) Coding of harmonic signals in transform-based audio codecs