BR112015030672B1 - 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 - Google Patents

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 Download PDF

Info

Publication number
BR112015030672B1
BR112015030672B1 BR112015030672-1A BR112015030672A BR112015030672B1 BR 112015030672 B1 BR112015030672 B1 BR 112015030672B1 BR 112015030672 A BR112015030672 A BR 112015030672A BR 112015030672 B1 BR112015030672 B1 BR 112015030672B1
Authority
BR
Brazil
Prior art keywords
signal envelope
value
envelope
audio signal
point
Prior art date
Application number
BR112015030672-1A
Other languages
English (en)
Other versions
BR112015030672A2 (pt
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 BR112015030672A2 publication Critical patent/BR112015030672A2/pt
Publication of BR112015030672B1 publication Critical patent/BR112015030672B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/03Spectral prediction for preventing pre-echo; Temporary noise shaping [TNS], e.g. in MPEG2 or MPEG4
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0016Codebook for LPC parameters

Abstract

“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”.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 (110) para gerar o envelope de sinal de áudio reconstruído, dependendo de um ou mais ponto(s) de divisão. Além disso, o aparelho compreende uma interface de saída (120) para emitir o envelope de sinal de áudio reconstruído. 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. Uma regra de atribuição 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 da referida parte do envelope de sinal. 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 de seu valor da parte do envelope de sinal seja 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.

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 5, por um aparelho de acordo com a reivindicação 17, por um método de acordo com a reivindicação 22, por um método de acordo com a reivindicação 23, por um método de acordo com a reivindicação 24 e por um programa de computador de acordo com a reivindicação 25.
[0004] 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.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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.
[0009] 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.
[00010] 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.
[00011] 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.
[00012] 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) 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 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.
[00013] 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.
[00014] 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.
[00015] 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.
[00016] 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.
[00017] 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.
[00018] 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.
[00019] 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.
[00020] 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 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.
[00021] 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.
[00022] 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.
[00023] 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.
[00024] 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.
[00025] 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.
[00026] 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.
[00027] 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.
[00028] 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.
[00029] Um aparelho para gerar 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.
[00030] 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.
[00031] 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.
[00032] 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.
[00033] 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.
[00034] De acordo com uma aplicação, a interface de entrada 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.
[00035] Além disso, um aparelho para determinar um 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.
[00036] 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.
[00037] 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.
[00038] 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, caracterizado por n ser um número ímpar inteiro maior que zero.
[00039] Em uma aplicação, o valor de envelope de cada 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 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.
[00040] De acordo com uma aplicação, a unidade de codificaçã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 indique quantos valores deverão ser determinados pela unidade de codificação como um ou mais valor(es) de codificações.
[00041] Em uma aplicação, a unidade de codificação pode, por exemplo, ser configurada para determinar um ou mais valor(es) de codificações de acordo com
Figure img0002
[00042] caracterizado por c(k) indicar o valor de codificação k-th a ser determinado pela unidade de codificação, em que j indica o valor de argumento j-th d pluralidade de valores de argumento, em que a(j) indica o valor agregado sendo atribuído ao valor de argumento j-th, em que max(a) indica um valor máximo, sendo um dos valores agregados que são atribuídos a um dos valores de argumento, em que nenhum dos valores agregados que são atribuídos aos valores de argumento é maior do que o valor máximo, e
[00043] em que
Figure img0003
indica um valor mínimo, sendo um dos valores de argumento para que
Figure img0004
seja mínimo.
[00044] Além disso, um método para gerar um envelope 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.
[00045] 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.
[00046] 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.
[00047] 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.
[00048] 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.
[00049] 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.
[00050] 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.
[00051] 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.
[00052] De acordo com as aplicações, são fornecidos conceitos 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.
[00053] A seguir, as aplicações da presente invenção serão descritas em mais detalhes com referência às figuras, nas quais:
[00054] 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,
[00055] 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,
[00056] A figura 3 ilustra um aparelho de codificação um envelope de sinal de áudio, de acordo com uma aplicação,
[00057] 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,
[00058] 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,
[00059] A figura 6 ilustra três envelopes de sinais sendo descritos por blocos de energia constantes, de acordo com as aplicações,
[00060] A figura 7 ilustra uma representação cumulativa do espectro da figura 6, de acordo com as aplicações, e
[00061] 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,
[00062] 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,
[00063] 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,
[00064] A figura 11 ilustra um processo de codificação para codificar os pontos de divisão, de acordo com uma aplicação,
[00065] 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,
[00066] A figura 13 ilustra um decodificador dos pontos de divisão, de acordo com uma aplicação,
[00067] A figura 14 ilustra um aparelho de codificação um sinal de áudio, de acordo com uma aplicação,
[00068] A figura 15 um aparelho para reconstruir um sinal de áudio, de acordo com uma aplicação,
[00069] A figura 16 ilustra um aparelho para gerar um envelope de sinal de áudio de um ou mais valor(es) de codificações, de acordo com uma aplicação,
[00070] A figura 17 ilustra um aparelho para determinar um ou mais valor(es) de codificações para codificar um envelope de sinal de áudio, de acordo com uma aplicação,
[00071] A figura 18 ilustra uma função de agregação, de acordo com um primeiro exemplo, e
[00072] A figura 19 ilustra uma função de agregação, de acordo com um segundo exemplo.
[00073] A figura 3 ilustra um aparelho de codificação um envelope de sinal de áudio, de acordo com uma aplicação.
[00074] O aparelho compreende uma interface de envelope do sinal de áudio 210 para receber o envelope de sinal de áudio.
[00075] 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.
[00076] 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.
[00077] 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.
[00078] 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 compreendendo um ou mais ponto(s) de divisão, são 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.
[00079] 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).
[00080] 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.
[00081] 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.
[00082] Há uma regra de atribuição predefinida que atribui 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.
[00083] Em algumas aplicações, os pontos de divisão sã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:
[00084] Na figura 6 (a), um único ponto de divisão para 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.
[00085] 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.
[00086] 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.
[00087] Como outra aplicação particular, o exemplo a seguir pode ser considerado:
[00088] 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).
[00089] Diferentes partes do envelope de sinal podem agora ser consideradas. Por exemplo, uma primeira parte do envelope de sinal pode compreender os primeiros 10 valores espectrais vi (i = 0, ..., 9; com i sendo um índice do valor espectral) e a segunda parte do envelope de sinal pode compreender os últimos 23 valores espectrais (i = 10, ., 32).
[00090] Em uma aplicação, uma regra de atribuição predefinida pode, por exemplo, ser tal que o valor de parte do envelope de sinal p(m) de uma parte do envelope de sinal espectral m com valores espectrais v0, v1, ..., vs-1 seja a energia da parte do envelope de sinal espectral, por exemplo,
Figure img0005
[00091] caracterizado pelo limite inferior ser o valor do limite inferior da parte do envelope de sinal m e em que o limite superior é o valor de limite superior da parte do envelope de sinal m.
[00092] O determinador do valor de parte do envelope de 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.
[00093] 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.
[00094] Por exemplo, em uma aplicação particular, o determinador 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
[00095] 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.
[00096] O determinador do valor de parte do envelope de 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.
[00097] Em algumas aplicações, ambos valores de partes 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.
[00098] Em algumas aplicações, s(k) pode ser selecionado 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.
[00099] Em aplicações onde mais do que um ponto de divisã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
[000100] Se os pontos de divisão N puderem ser determinados, então, os pontos de divisão s(1), s(2), _, s(N) são determinados, de modo que:
Figure img0008
[000101] caracterizado pela energia total ser a energia total do envelope de sinal.
[000102] Em uma aplicação, o ponto de divisão s(k) de modo que
Figure img0009
[000103] seja mínima.
[000104] Deste modo, de acordo com uma aplicação, o determinador 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
[000105] 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.
[000106] Em outra aplicação, se o determinador do ponto de divisão 220 for configurado para selecionar somente um único ponto de divisão s, então, o determinador do ponto de divisão 220 pode testar todos os possíveis pontos de divisão s =1, ..., 32.
[000107] Em algumas aplicações, o determinador do ponto de divisão 220 pode selecionar o melhor valor para o ponto de divisão s, por exemplo, o ponto
Figure img0011
é mínimo.
[000108] 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.
[000109] 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.
[000110] 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).
[000111] 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.
[000112] 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.
[000113] 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.
[000114] 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.
[000115] 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.
[000116] 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.
[000117] 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.
[000118] Além disso, o aparelho compreende uma interface de saída 120 para emissão do envelope de sinal de áudio reconstruído.
[000119] 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.
[000120] 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.
[000121] 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.
[000122] 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;
[000123] 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.
[000124] 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.
[000125] 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.
[000126] 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.
[000127] 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.
[000128] 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.
[000129] 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.
[000130] 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.
[000131] 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.
[000132] Em uma aplicação onde o reconstrutor de envelope de sinal 110 é reconstruído de forma exata, o reconstrutor de envelope de sinal 110 é configurado para gerar o envelope de sinal de áudio reconstruído, envelope 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.
[000133] 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, 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.
[000134] 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.
[000135] 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.
[000136] 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.
[000137] 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.
[000138] 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.
[000139] Agora, para ilustrar a presente invenção em mais detalhes, aplicações particulares são fornecidas.
[000140] 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.
[000141] 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).
[000142] 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.
[000143] 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.
[000144] Até agora, explicações foram fornecidas em relaçã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.
[000145] No entanto, se uma sequência não for positiva, 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, ou 2) 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.
[000146] Também não é necessário restringir o modelo para 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.
[000147] 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.
[000148] A figura 17 ilustra um aparelho para determinar um ou mais valor(es) de codificações para codificar um envelope de sinal de áudio de acordo com uma aplicação.
[000149] 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.
[000150] 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.
[000151] 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.
[000152] A figura 18 ilustra uma função de agregação 1810, de acordo com um primeiro exemplo.
[000153] 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.
[000154] 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.
[000155] 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.
[000156] 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.
[000157] 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.
[000158] 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.
[000159] 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.
[000160] 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.
[000161] 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.
[000162] 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.
[000163] 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.
[000164] 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.
[000165] Em 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 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.
[000166] De acordo com uma aplicação, a unidade de codificaçã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.
[000167] Em uma aplicação, a unidade de codificação pode, por exemplo, ser configurada para determinar um ou mais valor(es) de codificação de acordo com
Figure img0012
caracterizado por c(k) indicar o valor de codificação k-th a ser determinado pela unidade de codificação, em que j indica o j-th valor de argumento da pluralidade de valores de argumento, em que a(j) indica o valor agregado sendo atribuído ao j-th valor de argumento, em que max(a) indica um valor máximo sendo um dos valores agregados que são atribuídos a um dos valores de argumento, em que nenhum dos valores agregados que são atribuídos a um dos valores de argumento é maior que o valor máximo, e em
Figure img0013
que indica um valor mínimo, sendo um dos valores de argumento para o qual
Figure img0014
e minimo.
[000168] A figura 16 ilustra um aparelho para gerar um envelope de sinal de áudio de um ou mais valor(es) de codificação de acordo com uma aplicação.
[000169] 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.
[000170] O gerador de envelope 1620 é configurado para gerar 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.
[000171] 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.
[000172] 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.
[000173] 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.
[000174] 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.
[000175] 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.
[000176] 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.
[000177] 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.
[000178] 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.
[000179] 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.
[000180] 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.
[000181] 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.
[000182] 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.
[000183] Neste domínio, a massa cumulativa espectral pode ser interpolada por qualquer algoritmo de interpolação convencional.
[000184] 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.
[000185] 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.
[000186] De modo geral, os pontos k-1, k e k+1 podem ser qualquer tipo de valores de codificação.
[000187] De acordo com uma aplicação, o gerador de envelope 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.
[000188] Em uma aplicação particular, o gerador de envelope 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).
[000189] Por exemplo, c(k+1) é o referido primeiro valor 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.
[000190] Em outra aplicação, o gerador de envelope 1620 é configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0017
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) é 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ça dos dois valores agregados c(k +1) e c(k) , e em que f (k +1)- f (k) é a segunda diferença dos dois valores de argumento f (k + 1) e f(k).
[000191] Por exemplo, c(k+1) é o referido primeiro valor 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.
[000192] 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.
[000193] 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.
[000194] 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.
[000195] 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 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.
[000196] 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.
[000197] 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.
[000198] 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.
[000199] As bordas mais à esquerda e à direita não podem 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, de modo que
Figure img0018
Figure img0019
[000200] Visto que há quatro restrições (massa cumulativa e inclinação em ambos os pontos finais), a estria correspondente pode ser escolhida como sendo um polinomial de 4a ordem.
[000201] A figura 8 ilustra um exemplo do envelope da massa espectral interpolada tanto no domínio (a) original quanto no domínio de (b) massa cumulativa.
[000202] 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.
[000203] Em (b), 840 indica o envelope de sinal original 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.
[000204] As aplicações fornecem os conceitos para codificar 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.
[000205] Ainda, se há N níveis de quantização, então, há
Figure img0020
quantizações possíveis. Por exemplo, com 32 níveis de quantização e 5 pontos de divisão, há 201376 quantizações possíveis que podem ser codificadas com 18 bits.
[000206] 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.
[000207] De modo alternativo, para melhorar mais a precisã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.
[000208] A seguir, algoritmos de acordo com aplicações são descritos.
[000209] Primeiramente, o caso de aplicação geral é considerado.
[000210] Em particular, a seguir é descrito uma aplicaçã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:
[000211] De acordo com algumas aplicações, o codificador é 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.
[000212] De acordo com algumas aplicações, o decodificador é 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 cumulative para reconstruir o envelope espectral.
[000213] Algumas aplicações compreendem, ainda, adições opcionais:
[000214] Por exemplo, algumas aplicações fornecem habilidades 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.
[000215] 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.
[000216] 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.
[000217] 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.
[000218] A seguir, um algoritmo que realiza a quantização de distribuição e codificação do envelope de acordo com uma aplicação é descrito.
[000219] 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.
[000220] A seguir, um codificador correspondente é descrito.
[000221] 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
[000222] 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).
[000223] Agora, um decodificador correspondente é descrito.
[000224] A decodificação e quantização inversa podem, por exemplo, ser conduzidas, conforme segue: - Decodificação do número de blocos a ser utilizado para quantização de distribuição e decodificação do total de energia. - Decodificação de índices divididos, utilizando o mesmo algoritmo que na ferramenta TSD (consulte [5]). - Aproximação da curva de massa cumulativa lisa através da interpolação de estria. - Reconstrução do envelope espectral a partir do domínio cumulativo através do 1o derivado (por exemplo, considerando a diferença das amostras consecutivas).
[000225] O pós-processamento pode, por exemplo, ser conduzido, conforme segue: - Aplicação da estabilização do envelope para contrariar as flutuações entre os envelopes subsequentes causados pelos erros de quantização (por exemplo, através do nivelamento temporal dos valores de subfaixa reconstruídos, xcurr.k = 1 - α ) xcurr,k + α ' xprev.k , com Para estruturas contendo partes do sinal transiente e a = 0,25 de outra forma) . - Reversão da conversão do envelope de acordo com a aplicação no codificador. - Reversão da distorção do envelope de acordo com a aplicação no codificador.
[000226] A seguir, a codificação e decodificação eficientes 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.
[000227] Na aplicação ilustrada pela figura 2, o 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.
[000228] 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 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çõespossí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 de um ou mais ponto(s) de divisão.
[000229] 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.
[000230] 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.
[000231] Com base nessas suposições, algumas aplicações implementam os seguintes conceitos:
[000232] Deixe N ser o número (total) de posições possíveis dos pontos de divisão e deixe P ser o número (total) de pontos de divisão.
[000233] Supõe-se que tanto o aparelho de codificação quanto o aparelho de decodificação estão cientes dos valores de N e P.
[000234] Conhecendo N e P, pode ser derivado que há apenas
Figure img0022
combinações diferentes de posições possíveis do ponto de divisão.
[000235] Por exemplo, se as posições das posições possí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, N-1), de modo que no total hajam
Figure img0023
combinações diferentes.
[000236] Outra constatação é empregada, em que um nú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 íN das I p I 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.
[000237] Declarado de forma diferente, o problema d codificaçã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 é o coeficiente binominal Ip I . O número de bits necessários e, então,
Figure img0024
[000238] 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:
[000239] 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:
[000240] Se a primeira posição possível do ponto de divisã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 img0025
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.
[000241] Entretanto, se a posição possível do ponto de divisã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 img0026
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.
[000242] 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
Figure img0027
[000243] Em uma aplicação, é determinado, se a primeira 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).
[000244] Após analisar a primeira posição possível do ponto 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.
[000245] Em uma aplicação, um número discreto P de posiçõ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 possíveis estados reduz para I P I . Inversamente, se o estado for maior que I P I, 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 Se o estado
Figure img0028
, então, Atribuir um ponto de partição A pspp h Atualizar o estado remanescente para estado:= estado -
Figure img0029
Reduzir o número de posições deixado P:= P-1 Fim Fim
[000246] 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 img0030
[000247] 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.
[000248] 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.
[000249] 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 img0031
[000250] A complexidade de pior caso do codificador é multiplicações P«(P-1) e divisões P«(P-1), bem como adições P-1.
[000251] A figura 9 ilustra um processo de decodificaçã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.
[000252] Na etapa 110, os valores são inicializados. O aparelho 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.
[000253] 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.
[000254] 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.
[000255] 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.
[000256] 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.
[000257] Na etapa 160, o valor c =e calculado. c e utilizado como valor limite.
[000258] 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.
[000259] 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.
[000260] 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.
[000261] 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.
[000262] 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).
[000263] 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).
[000264] 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.
[000265] 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.
[000266] 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.
[000267] 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.
[000268] As posições do ponto de divisão na matriz são armazenadas em ordem crescente.
[000269] 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.
[000270] Na etapa 340, o valor
Figure img0032
é calculado.
[000271] Na etapa 350, a variável p_s é atualizada e definida como p_s:=p_s+c.
[000272] Na etapa 360, k é definido como k := k-1.
[000273] Então, na etapa 370, um teste é conduzido, testando se k>0. Nesse caso, a próxima posição possível do ponto de divisão k-1 é referida. Caso contrário, o processo termina.
[000274] A figura 12 descreve o pseudocódigo, implementando a codificação de posições do ponto de divisão de acordo com uma aplicação da presente invenção.
[000275] A figura 13 ilustra um decodificador dos pontos de divisão 410 de acordo com uma aplicação.
[000276] 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.
[000277] A decodificação “com base em partição” do decodificador dos pontos de divisão 410 dessa aplicação se baseia nos seguintes conceitos:
[000278] 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.
[000279] 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”).
[000280] Como o próprio decodificador dos pontos de divisão divide o conjunto de todos os possíveis pontos de divisão em duas divisões, sabe-se que a partição A compreende Na posições possíveis do ponto de divisão e que a partição B compreende Nb posições possíveis do ponto de divisão. Determinar o número de pontos de divisão reais para cada uma de ambas as divisões é com base nas seguintes constatações:
[000281] 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á agora situada na partição A ou na partição B. Ainda, assumindo que P é o número de pontos de divisão de uma divisão, e N é o número total de posições possíveis do ponto de divisão da divisão e que f(P,N) é uma função que retorna o número de diferentes combinações de posições do ponto de divisão, então o número de diferentes combinações da divisão de todo o conjunto de posições possíveis do ponto de divisão (que foi dividido em partição A e partição B) é:
Figure img0033
[000282] 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) .
[000283] 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.
[000284] 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) .
[000285] 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”.
[000286] 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.
[000287] A decodificação é, então, conduzida para ambas 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.
[000288] Em uma aplicação, um número do subestado dos pontos 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).
[000289] Preferivelmente, o número do subestado dos pontos 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.
[000290] 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 img0034
[000291] Pode, assim, ser concluído que se o número codificado 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,
[000292] A seguir, um pseudocódigo é fornecido de acordo 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ão quebrar 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 por xa = 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 por xb = 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].
[000293] 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).
[000294] A seguir, um pseudocódigo é fornecido, de acordo 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 0 4. Para k de 0 a sp_a-1 a. 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 conjuntamente estado := estado + state_a*f(sp_b,Nb) + state_b.
[000295] Aqui, supõe-se que, similarmente ao algoritmo do 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).
[000296] Os métodos recursivos acima formulados no pseudocódigo podem prontamente ser implementados de uma maneira não recursiva utilizando métodos padrão.
[000297] 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 img0035
[000298] De acordo com uma aplicação da presente invenção, tanto o codificador quanto o decodificador têm um loop FOR onde o produto f(p-k,Na)*f(k,Nb) é calculado para os valores consecutivos de k. Para cálculo computacional eficiente, isso pode ser escrito como
Figure img0036
em outras palavras, os termos sucessivos para subtração/adição (na etapa 2b e 2c no decodificador, e na etapa 4a no codificador) podem ser calculados por três multiplicações e uma divisão por iteração.
[000299] Retornando à figura 1, as aplicações alternativas implementam o aparelho da figura 1 para decodificação para obter um envelope de sinal de audio reconstruí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.
[000300] 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.
[000301] 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.
[000302] 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.
[000303] 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.
[000304] 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.
[000305] 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.
[000306] Tais aplicações alternativas que empregam valores da parte do envelope predefinido podem empregar cada um dos conceitos descritos antes.
[000307] Em uma aplicação, os valores da parte do envelope predefinido de, pelo menos, duas das partes do envelope de sinal diferem entre si.
[000308] 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.
[000309] 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.
[000310] 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.
[000311] 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.
[000312] 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.
[000313] 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.
[000314] 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.
[000315] 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.
[000316] 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.
[000317] 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.
[000318] 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.
[000319] Outra aplicação compreende um computador, em que o programa de computador para realizar um dos métodos descritos neste documento está instalado nele.
[000320] 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.
[000321] 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
[000322] [1] Makhoul, John. “Linear prediction: A tutorial review.” Proceedings of the IEEE 63.4 (1975): 561580.
[000323] [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.
[000324] [3] Pan, Davis. “A tutorial on MPEG/Audio compression.” Multimedia, IEEE 2.2 (1995): 60-74.
[000325] [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.
[000326] [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.
[000327] [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 (24)

1. Um aparelho de decodificação para obter um envelope de sinal de áudio reconstruído, caracterizado por compreender: 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, em que 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, em que 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 da referida parte do envelope de sinal, e em que o reconstrutor de envelope de sinal (110) é configurado para gerar o envelope de sinal de áudio reconstruído, de modo que, para cada duas ou mais partes do envelope de sinal, um valor absoluto de seu valor da parte do envelope de sinal seja 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.
2. Um aparelho de acordo com a reivindicação 1, caracterizado pelo reconstrutor de envelope de sinal (110) 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 de seu valor da parte do envelope de sinal seja maior que 90% do valor absoluto do valor da parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
3. Um aparelho de acordo com a reivindicação 2, caracterizado pelo reconstrutor de envelope de sinal (110) 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, o valor absoluto de seu valor da parte do envelope de sinal seja maior que 99% do valor absoluto do valor da parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
4. Um aparelho de acordo com a reivindicação 3, caracterizado pelo reconstrutor de envelope de sinal (110) ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que o valor da parte do envelope de sinal de cada de duas ou mais partes do envelope de sinal seja igual ao valor da parte do envelope de sinal de cada uma das outras partes do envelope de sinal de duas ou mais partes do envelope de sinal.
5. Um aparelho de decodificação para obter um envelope de sinal de áudio reconstruído, caracterizado por compreender: 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, em que 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, em que 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 da referida parte do envelope de sinal, e em que um valor da parte do envelope predefinido é atribuído a cada uma de duas ou mais partes do envelope de sinal, e em que 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 de 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.
6. Um aparelho de acordo com a reivindicação 5, caracterizado pelo reconstrutor de envelope de sinal (110) ser configurado para gerar o envelope de sinal de áudio reconstruído, de modo que o valor da parte do envelope de sinal de cada de 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.
7. Um aparelho de acordo com a reivindicação 5 ou 6, caracterizado pelos valores da parte do envelope predefinido de, pelo menos, duas das partes do envelope de sinal diferirem entre si.
8. Um aparelho de acordo com a reivindicação 5 ou 6, caracterizado pelo valor da parte do envelope predefinido de cada uma das partes do envelope de sinal diferir do valor da parte do envelope predefinido de cada uma das outras partes do envelope de sinal.
9. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo valor da parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal 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 em que o valor da parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal depende de qualquer outro valor adequado para reconstruir um nível original ou direcionado do envelope de sinal de áudio.
10. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo reconstrutor de envelope de sinal (110) 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 aumenta uniformemente e em que cada um de um ou mais ponto(s) de divisão indica, pelo menos, um do valor de argumento e do valor de agregação de um dos pontos de agregação da função de agregação, em que o reconstrutor de envelope de sinal (110) é 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, e em que o reconstrutor de envelope de sinal (110) é 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.
11. Um aparelho de acordo com a reivindicação 10, caracterizado pelo reconstrutor de envelope de sinal (110) 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.
12. Um aparelho de acordo com a reivindicação 11, caracterizado pelo reconstrutor de envelope de sinal (110) ser configurado para determinar o envelope de sinal de áudio aplicando
Figure img0037
em que inclinação(k) indica um derivado da função de agregação no ponto de divisã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, indicando um índice de um de um ou mais ponto(s) de divisã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) .
13. Um aparelho de acordo com a reivindicação 11, caracterizado pelo reconstrutor de envelope de sinal (110) ser configurado para determinar o envelope de sinal de áudio, aplicando
Figure img0038
em que inclinação(k) indica um derivado da função de agregação no ponto de divisã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 do 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 de um ou mais ponto(s) de divisão, em que c(k +1)-c(k) é a primeira diferença dos dois valores agregados c(k +1) e c(k) , e em que f(k+1)- f(k) é a segunda diferença dos dois valores de argumento f (k + 1) e f (k) .
14. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo aparelho compreender, ainda, um 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 uma posição de cada um de um ou mais ponto(s) de divisão, em que 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 o número de um ou mais ponto(s) de divisão e um número do estado dos pontos de divisão; e em que o decodificador dos pontos de divisão (105) é 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 dos pontos de divisão.
15. Um aparelho de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo reconstrutor de envelope de sinal (110) ser configurado para gerar o envelope de sinal de áudio reconstruído, dependendo de um valor de energia total que indica 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 direcionado do envelope de sinal de áudio.
16. Um aparelho de reconstrução de um sinal de áudio, caracterizado por compreender: um aparelho (1510) para decodificação, de acordo com qualquer uma das reivindicações de 1 a 15, 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.
17. Um aparelho de codificação de um envelope de sinal de áudio, caracterizado por compreender: um envelope de sinal de áudio interface (210) para receber o envelope de sinal de áudio, e um determinador do ponto de divisão (220) para determinar, dependendo de uma regra de atribuição predefinida, um valor da 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 cada uma de, pelo menos, duas configurações do ponto de divisão, em que cada uma de, pelo menos, duas configurações do 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 duas ou mais configurações do ponto de divisão divide o envelope de sinal de áudio em duas ou mais partes do envelope de sinal de áudio, e em que o determinador do ponto de divisão (220) é configurado para selecionar um ou mais ponto(s) de divisão de um de, pelo menos, duas configurações do 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 da parte do envelope de sinal de, pelo menos, cada parte 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 do ponto de divisão.
18. Um aparelho de acordo com a reivindicação 17, caracterizado pelo valor da parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal 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 em que o valor da parte do envelope de sinal de cada parte do envelope de sinal de duas ou mais partes do envelope de sinal depende de qualquer outro valor adequado para reconstruir um nível original ou direcionado do envelope de sinal de áudio.
19. Um aparelho de acordo com a reivindicação 17 ou 18, caracterizado pelo aparelho compreender, ainda, um codificador dos pontos de divisão (225) para codificar uma posição de cada de um ou mais ponto(s) de divisão para obter um ou mais ponto(s) codificado(s), em que 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, e em que 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, em que 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.
20. Um aparelho de acordo com qualquer uma das reivindicações de 17 a 19, caracterizado pelo aparelho compreender, ainda, um determinador de energia (230) para determinar um total de energia do envelope de sinal de áudio e para codificar o total de energia do envelope de sinal de áudio ou em que o aparelho é configurado, ainda, para determinar qualquer outro valor adequado para reconstruir um nível original ou direcionado do envelope de sinal de áudio.
21. Um aparelho de codificação de um sinal de áudio, caracterizado por compreender: um aparelho (1410) para codificação, de acordo com qualquer uma das reivindicações de 17 a 20, para codificar um envelope de sinal de áudio do sinal de áudio, e um codificador de característica do sinal secundário (1420) para codificar uma característica adicional do sinal do sinal de áudio, a característica adicional do sinal sendo diferente do envelope de sinal de áudio.
22. Um método de decodificação para obter um envelope de sinal de áudio reconstruído, 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, em que 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, em que 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, e em que 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 de seu valor da parte do envelope de sinal seja maior que a metade de um valor absoluto do valor da parte do envelope de sinal de cada uma das outras partes do envelope de sinal.
23. Um método de decodificação para obter um envelope de sinal de áudio reconstruído, 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, em que 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, em que 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 da referida parte do envelope de sinal, e em que um valor da parte do envelope predefinido é atribuído a cada uma de duas ou mais partes do envelope de sinal, e em que 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 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.
24. Um método de codificação de um envelope de sinal de áudio, caracterizado por compreender: receber o envelope de sinal de áudio, determinar, dependendo de uma regra de atribuição predefinida, um valor da 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 cada uma de, pelo menos, duas configurações do ponto de divisão, em que cada uma de, pelo menos, duas configurações do 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 das duas ou mais configurações do ponto de divisão divide o envelope de sinal de áudio em 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 do 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 é conduzida, dependendo do valor da parte do envelope de sinal de cada uma de, pelo menos, uma parte do envelope de sinal de áudio de duas ou mais partes do envelope de sinal de áudio de cada uma de, pelo menos, duas configurações do ponto de divisão.
BR112015030672-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 divisão do envelope de sinal de áudio empregando codificação e quantização de distribuição BR112015030672B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
EP13171314.1 2013-06-10
EP13171314 2013-06-10
EP14167065.3 2014-05-05
EP14167065 2014-05-05
PCT/EP2014/062032 WO2014198724A1 (en) 2013-06-10 2014-06-10 Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding

Publications (2)

Publication Number Publication Date
BR112015030672A2 BR112015030672A2 (pt) 2017-08-22
BR112015030672B1 true BR112015030672B1 (pt) 2021-02-23

Family

ID=50897640

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015030672-1A BR112015030672B1 (pt) 2013-06-10 2014-06-10 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

Country Status (16)

Country Link
US (1) US10115406B2 (pt)
EP (1) EP3008725B1 (pt)
JP (1) JP6224233B2 (pt)
KR (1) KR101789085B1 (pt)
CN (1) CN105340010B (pt)
AU (1) AU2014280256B2 (pt)
BR (1) BR112015030672B1 (pt)
CA (1) CA2914418C (pt)
ES (1) ES2635026T3 (pt)
HK (1) HK1223726A1 (pt)
MX (1) MX353188B (pt)
MY (1) MY170179A (pt)
RU (1) RU2660633C2 (pt)
SG (1) SG11201510164RA (pt)
WO (1) WO2014198724A1 (pt)
ZA (1) ZA201600080B (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101789085B1 (ko) 2013-06-10 2017-11-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 분포 양자화 및 코딩을 사용하는 오디오 신호 엔벨로프의 분할에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법
JP6224827B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5765127A (en) * 1992-03-18 1998-06-09 Sony Corp High efficiency encoding method
JP3271193B2 (ja) * 1992-03-31 2002-04-02 ソニー株式会社 音声符号化方法
US5710863A (en) 1995-09-19 1998-01-20 Chen; Juin-Hwey Speech signal quantization using human auditory models in predictive coding systems
JP3283413B2 (ja) 1995-11-30 2002-05-20 株式会社日立製作所 符号化復号方法、符号化装置および復号装置
SE512719C2 (sv) * 1997-06-10 2000-05-02 Lars Gustaf Liljeryd En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion
SE9903553D0 (sv) * 1999-01-27 1999-10-01 Lars Liljeryd Enhancing percepptual performance of SBR and related coding methods by adaptive noise addition (ANA) and noise substitution limiting (NSL)
US6978236B1 (en) * 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
SE0202159D0 (sv) * 2001-07-10 2002-07-09 Coding Technologies Sweden Ab Efficientand scalable parametric stereo coding for low bitrate applications
US20030187663A1 (en) * 2002-03-28 2003-10-02 Truman Michael Mead Broadband frequency translation for high frequency regeneration
US7573912B2 (en) * 2005-02-22 2009-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. Near-transparent or transparent multi-channel encoder/decoder scheme
DE602006004959D1 (de) * 2005-04-15 2009-03-12 Dolby Sweden Ab Zeitliche hüllkurvenformgebung von entkorrelierten signalen
US7630882B2 (en) 2005-07-15 2009-12-08 Microsoft Corporation Frequency segmentation to obtain bands for efficient coding of digital media
WO2007080211A1 (en) * 2006-01-09 2007-07-19 Nokia Corporation Decoding of binaural audio signals
MX2008010836A (es) 2006-02-24 2008-11-26 France Telecom Un metodo para codificacion binaria de indices de cuantificacion de una envoltura de señal, un metodo para descodificar una envoltura de señal, y modulos de codificacion y descodificacion correspondiente.
ES2362920T3 (es) * 2006-03-28 2011-07-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Método mejorado para la conformación de señales en reconstrucción de audio multicanal.
US8392176B2 (en) * 2006-04-10 2013-03-05 Qualcomm Incorporated Processing of excitation in audio coding and decoding
US8532984B2 (en) * 2006-07-31 2013-09-10 Qualcomm Incorporated Systems, methods, and apparatus for wideband encoding and decoding of active frames
DE102006049154B4 (de) * 2006-10-18 2009-07-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodierung eines Informationssignals
US8417532B2 (en) * 2006-10-18 2013-04-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoding an information signal
PL2165328T3 (pl) 2007-06-11 2018-06-29 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Kodowanie i dekodowanie sygnału audio zawierającego część impulsową i część stacjonarną
US20100207689A1 (en) * 2007-09-19 2010-08-19 Nec Corporation Noise suppression device, its method, and program
CN101430880A (zh) 2007-11-07 2009-05-13 华为技术有限公司 一种背景噪声的编解码方法和装置
CN101521010B (zh) * 2008-02-29 2011-10-05 华为技术有限公司 一种音频信号的编解码方法和装置
BRPI0910796B1 (pt) * 2008-07-11 2021-07-13 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E. V. Codificador de áudio e decodificador de áudio
CN102144259B (zh) * 2008-07-11 2015-01-07 弗劳恩霍夫应用研究促进协会 用于产生带宽扩展输出数据的装置和方法
ES2372014T3 (es) * 2008-07-11 2012-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y método para calcular datos de ampliación de ancho de banda utilizando un encuadre controlado por pendiente espectral.
CN102081926B (zh) 2009-11-27 2013-06-05 中兴通讯股份有限公司 格型矢量量化音频编解码方法和系统
CN102081927B (zh) * 2009-11-27 2012-07-18 中兴通讯股份有限公司 一种可分层音频编码、解码方法及系统
US9117459B2 (en) * 2010-07-19 2015-08-25 Dolby International Ab Processing of audio signals during high frequency reconstruction
US9135929B2 (en) 2011-04-28 2015-09-15 Dolby International Ab Efficient content classification and loudness estimation
DE102013104921A1 (de) * 2013-05-14 2014-11-20 A. Monforts Textilmaschinen Gmbh & Co. Kg Vorrichtung zum Beschichten und/oder Imprägnieren einer textilen Warenbahn
JP6224827B2 (ja) 2013-06-10 2017-11-01 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 分配量子化及び符号化を使用した累積和表現のモデル化によるオーディオ信号包絡符号化、処理及び復号化の装置と方法
KR101789085B1 (ko) 2013-06-10 2017-11-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 분포 양자화 및 코딩을 사용하는 오디오 신호 엔벨로프의 분할에 의한 오디오 신호 엔벨로프 인코딩, 처리 및 디코딩을 위한 장치 및 방법

Also Published As

Publication number Publication date
CN105340010B (zh) 2019-06-04
WO2014198724A1 (en) 2014-12-18
RU2015156587A (ru) 2017-07-14
ZA201600080B (en) 2017-08-30
RU2660633C2 (ru) 2018-07-06
CA2914418A1 (en) 2014-12-18
MY170179A (en) 2019-07-09
MX2015016789A (es) 2016-03-31
KR20160028420A (ko) 2016-03-11
JP6224233B2 (ja) 2017-11-01
CN105340010A (zh) 2016-02-17
CA2914418C (en) 2017-05-09
AU2014280256A1 (en) 2016-01-21
EP3008725A1 (en) 2016-04-20
HK1223726A1 (zh) 2017-08-04
BR112015030672A2 (pt) 2017-08-22
AU2014280256B2 (en) 2016-10-27
EP3008725B1 (en) 2017-05-17
SG11201510164RA (en) 2016-01-28
JP2016524186A (ja) 2016-08-12
MX353188B (es) 2018-01-05
KR101789085B1 (ko) 2017-11-20
ES2635026T3 (es) 2017-10-02
US10115406B2 (en) 2018-10-30
US20160148621A1 (en) 2016-05-26

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) 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법
PT1719116E (pt) A comutação de acelp para o modo de codificação tcx
BR112019020515A2 (pt) aparelho para pós-processamento de um sinal de áudio usando uma detecção de localização transiente
US20200168236A1 (en) Determining a budget for lpd/fd transition frame encoding
BR112014032735B1 (pt) Codificador e decodificador de áudio com base em predição linear e respectivos métodos para codificar e decodificar
BR112015005980B1 (pt) Método para codificar sinais e codificador de áudio
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
KR20220045260A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
US10734008B2 (en) Apparatus and method for audio signal envelope encoding, processing, and decoding by modelling a cumulative sum representation employing distribution quantization and coding
Boucheron et al. Hybrid scalar/vector quantization of mel-frequency cepstral coefficients for low bit-rate coding of speech
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
KR102569784B1 (ko) 오디오 코덱의 장기 예측을 위한 시스템 및 방법
Hang et al. A low computational complexity bandwidth extension method for mobile audio coding

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 10/06/2014, OBSERVADAS AS CONDICOES LEGAIS.