BR112015031617B1 - Método e dispositivo de quantização vetorial de envelope de domínio de frequência - Google Patents

Método e dispositivo de quantização vetorial de envelope de domínio de frequência Download PDF

Info

Publication number
BR112015031617B1
BR112015031617B1 BR112015031617-4A BR112015031617A BR112015031617B1 BR 112015031617 B1 BR112015031617 B1 BR 112015031617B1 BR 112015031617 A BR112015031617 A BR 112015031617A BR 112015031617 B1 BR112015031617 B1 BR 112015031617B1
Authority
BR
Brazil
Prior art keywords
codebook
vector
quantized
quantized vector
vectors
Prior art date
Application number
BR112015031617-4A
Other languages
English (en)
Other versions
BR112015031617A2 (pt
Inventor
Chen Hu
Lei Miao
Zexin LIU
Original Assignee
Crystal Clear Codec, Llc
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=52143115&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BR112015031617(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Crystal Clear Codec, Llc filed Critical Crystal Clear Codec, Llc
Publication of BR112015031617A2 publication Critical patent/BR112015031617A2/pt
Publication of BR112015031617B1 publication Critical patent/BR112015031617B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; 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/0013Codebook search algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Patente de Invenção: "MÉTODO E APARELHO DE QUANTIZAÇÃO VETORIAL DE ENVELOPE DE DOMÍNIO DE FREQUÊNCIA". A presente invenção refere-se a um método e dispositivo de quantização vetorial de envelope de domínio de frequência, onde o método inclui: divisão (S101) de N envelopes de domínio de frequência em um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de domínio de frequência; quantização (S102) de um primeiro vetor nos N1 vetores usando um primeiro livro de códigos para obter uma palavra de código que corresponde ao primeiro vetor quantizado, onde o primeiro livro de códigos é dividido em 2B1 porções; determinação (S103), de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, do primeiro vetor que é quantiza- do associado com a ia porção nas 2B1 porções do primeiro livro de códigos; determinação (S104) de um segundo livro de códigos de acordo com o livro de códigos da ia porção; e quantização (S105) de um segundo vetor nos N1 vetores com base no segundo livro de códigos. Nas modalidades da presente invenção, os envelopes de domínio de frequências são divididos em uma pluralidade de vetores com menos dimensões, de modo que quantização vetorial pode ser realizada em vetores do envelope de domínio de frequência usando um livro de códigos com uma menor quantidade de bits. Portanto, a complexidade de quantização vetorial pode ser reduzida e um efeito de quantização vetorial também pode ser assegurado.

Description

CAMPO TÉCNICO
[0001] A presente invenção refere-se ao campo de codificação e descodificação e, em particular, a um método e dispositivo de quanti- zação vetorial de envelope de frequência.
ANTECEDENTE
[0002] Em geral, valores de energia de todas ou algumas das fre quências em um quadro de um sinal de entrada são calculados e, então, uma raiz quadrada de um valor médio de energia é calculada para obter envelopes de frequência destas frequências.
[0003] Atualmente, um método para quantização de um envelope de frequência por um codec geralmente se refere à quantização escalar simples ou quantização vetorial. No entanto, em alguns casos especiais, por exemplo, quando muitos envelopes de frequência precisam ser obtidos a partir de um quadro e a quantidade de bits que são usados para quantizar os envelopes de frequência é um tanto limitada, uma grande quantidade de bits pode ser consumida se quantização escalar é usada para cada um dos envelopes de frequência.
[0004] Um método de quantização vetorial existente inclui as se guintes etapas: (1) dividir frequências que precisam ser quantizadas em vários vetores de acordo com as dimensões dos vetores; (2) pré- formar um livro de códigos com um comprimento de 2B usando uma grande quantidade de amostras vetoriais e de acordo com a quantidade B de bits para quantização de cada um dos vetores, isto é, este livro de código tem 2B vetores e estes vetores são formados antecipadamente de acordo com a grande quantidade de amostras vetoriais; (3) comparar um vetor A que precisa ser quantizado com cada um dos vetores no livro de códigos e buscar um vetor B que seja mais próximo do vetor A; (4) um índice de localização do vetor B no livro de códigos é um valor quantizado do vetor A. Portanto, se todos os envelopes de frequência são combinados como um vetor para quantização vetorial, um grande livro de códigos é necessário, o que aumenta a complexidade.
[0005] Como conceber um método de quantização vetorial de envelope de frequência simples e eficaz, bem como para assegurar a qualidade de quantização é um problema urgente a ser resolvido.
SUMÁRIO
[0006] A presente invenção propõe um método e dispositivo de quantização vetorial de envelope de frequência com o objetivo de resolver os problemas de precisão de quantização insuficiente e alta complexidade excessiva causada por a quantidade insuficiente de bits em um livro de códigos e a quantidade relativamente grande de envelopes de frequência.
[0007] De acordo com um primeiro aspecto, é proposto um método de quantização vetorial de envelope de frequência, onde o método inclui: divisão de N envelopes de frequência em um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e n é maior do que N1; quantização de um primeiro vetor nos N1 vetores usando um primeiro livro de códigos que tem B bits para obter uma palavra de código que corresponde ao primeiro vetor quantizado, onde o primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; determinação, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, de que o primeiro vetor quantizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, onde i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção; e quantificação de um segundo vetor nos N1 vetores com base no segundo livro de códigos.
[0008] Com referência ao primeiro aspecto, em uma primeira forma de implementação do primeiro aspecto, a determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção inclui: uso da ia porção do primeiro livro de códigos como o segundo livro de códigos, onde a quantidade de bits na ia porção do primeiro livro de códigos é B-B1.
[0009] Com referência ao primeiro aspecto, em uma segunda forma de implementação do primeiro aspecto, a determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção inclui: uso de um livro de códigos pré-formado como o segundo livro de códigos, onde a quantidade de bits no livro de códigos pré-formado e a quantidade de bits na ia porção do primeiro livro de códigos são as mesmas e são ambas B-B1.
[0010] Com referência ao primeiro aspecto ou à primeira ou segunda formas de implementação do primeiro aspecto, em uma terceira forma de implementação do primeiro aspecto, quando B1 é 1, a determinação, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, de que o primeiro vetor quantizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos inclui: quando a palavra de código que corresponde ao primeiro vetor quantizado pertence a uma primeira parte em duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a primeira parte do primeiro livro de códigos; ou, quando a palavra de código que corresponde ao primeiro vetor quantizado pertence a uma segunda parte nas duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a segunda parte do primeiro livro de códigos.
[0011] Com referência ao primeiro aspecto ou à primeira ou segunda formas de implementação do primeiro aspecto, em uma quarta forma de implementação do primeiro aspecto, quando M é 2 e B1 é 1, a determinação, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, de que o primeiro vetor quantizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos inclui: determinar se uma proporção do primeiro valor do primeiro vetor quantizado que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida; e, quando é determinado que a proporção está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma primeira parte em duas partes do primeiro livro de códigos; ou, quando é determinado que a proporção não está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma segunda parte nas duas partes do primeiro livro de códigos.
[0012] Com referência ao primeiro aspecto ou qualquer uma das primeira à quarta formas de implementação do primeiro aspecto, em uma quinta forma de implementação do primeiro aspecto, a divisão de N envelopes de frequência em um quadro em N1 vetores, onde cada vetor nos N1 vetores inclui M envelopes de frequência, inclui: quando o quadro inclui M subquadros, e cada subquadro nos M subquadros inclui N1 envelopes, onde o produto de M e N1 é N, combinação de um envelope que corresponde a cada subquadro nos M subquadros em um vetor para obter N1 vetores, onde cada vetor nos N1 vetores inclui M envelopes de frequência.
[0013] De acordo com um segundo aspecto, um dispositivo de quantização vetorial de envelope de frequência é proposto, em que o dispositivo inclui: uma unidade de divisão vetorial configurada para dividir os N envelopes de frequência de um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e n é maior do que N1; uma primeira unidade de quantização configurada para usar um primeiro livro de códigos que tem B bits para quantizar um primeiro vetor nos N1 vetores que são obtidos por meio da divisão pela unidade de divisão vetor para obter uma palavra de código que corresponde ao primeiro vetor quantizado, onde o primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; uma primeira unidade de determinação configurada para de-terminar, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado que é obtido por meio de quantização pela primeira unidade de quantização, de que o primeiro vetor quantizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, onde i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; uma segunda unidade de determinação configurada para determinar um segundo livro de códigos de acordo com o livro de códigos que é a ia porção e é determinado pela primeira unidade de determinação; e uma segunda unidade de quantização configurada para quantizar um segundo vetor nos N1 vetores com base no segundo livro de códigos que é determinado pela segunda unidade de determinação.
[0014] Com referência ao segundo aspecto, em uma primeira forma de implementação do segundo aspecto, a segunda unidade de determinação é configurada especificamente para: usar a ia porção do primeiro livro de códigos como o segundo livro de códigos, onde a quantidade de bits da ia porção do primeiro livro de códigos é B-B1.
[0015] Com referência ao segundo aspecto, em uma segunda forma de implementação do segundo aspecto, a segunda unidade de determinação é configurada especificamente para: usar um livro de códi- gos pré-formado como o segundo livro de códigos, onde a quantidade de bits no livro de códigos pré-formado e a quantidade de bits na ia porção do primeiro livro de códigos são as mesmas e são ambas B- B1.
[0016] Com referência ao segundo aspecto ou à primeira ou segunda forma de implementação do segundo aspecto, em uma terceira forma de implementação do segundo aspecto, quando B1 é 1, a primeira unidade de determinação é configurada especificamente para: quando a palavra de código que corresponde ao primeiro vetor quanti- zado pertence a uma primeira parte em duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a primeira parte do primeiro livro de códigos; ou, quando a palavra de código que corresponde ao primeiro vetor quantizado pertence a uma segunda parte nas duas partes do primeiro livro de códigos, determinar que o segundo vetor quantizado está associado com a segunda parte do primeiro livro de códigos.
[0017] Com referência ao segundo aspecto ou à primeira ou segunda forma de implementação do segundo aspecto, em uma quarta forma de implementação do segundo aspecto, quando M é 2 e B1 é 1, a primeira unidade de determinação é configurada especificamente para: determinar se uma proporção do primeiro valor do primeiro vetor quantizado que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida; e, quando é determinado que a proporção está dentro da faixa predefinida, determinação de que o primeiro vetor quantizado está associado com uma primeira parte em duas partes do primeiro livro de códigos; ou, quando é determinado que a proporção não está dentro da faixa predefinida, determinação de que o primeiro vetor quantizado está associado com uma segunda parte nas duas partes do primeiro livro de códigos.
[0018] Com referência ao segundo aspecto ou qualquer uma das primeira à quarta formas de implementação do segundo aspecto, em uma quinta forma de implementação do segundo aspecto, a unidade de divisão vetorial é configurada especificamente para: quando o quadro inclui M subquadros e cada subquadro nos M subquadros inclui N1 envelopes, onde o produto de M e N1 é N, combinar um envelope que corresponde a cada subquadro nos M subquadros em um vetor para obter N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência.
[0019] Nas modalidades da presente invenção, ao dividir os envelopes de frequência em uma pluralidade de vetores com menos dimensões, a quantização vetorial pode ser realizada em vetores do envelope de frequência ao usar um livro de códigos com uma menor quantidade de bits. Portanto, a complexidade de quantização vetorial pode ser reduzida e um efeito de quantização vetorial pode ser assegurado.
BREVE DESCRIÇÃO DOS DESENHOS
[0020] Para descrever as soluções técnicas nas modalidades da presente invenção com mais clareza, o seguinte introduz brevemente os desenhos anexos necessários para descrever as modalidades da presente invenção. Evidentemente, os desenhos anexos na descrição a seguir mostram meramente algumas modalidades da presente invenção e aqueles versados na técnica ainda podem derivar outros desenhos a partir destes desenhos anexos sem esforços criativos.
[0021] A Figura 1 é um fluxograma de um método de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção;
[0022] a Figura 2 é um diagrama esquemático estrutural de um dispositivo de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção; e
[0023] a Figura 3 mostra um codec que implementa um método de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção.
DESCRIÇÃO DE MODALIDADES
[0024] O seguinte descreve clara e completamente as soluções técnicas nas modalidades da presente invenção com referência aos desenhos anexos nas modalidades da presente invenção. Evidentemente, as modalidades descritas são algumas, em vez de todas, as modalidades da presente invenção. Todas as outras modalidades obtidas por aqueles versados na técnica com base nas modalidades da presente invenção sem esforços criativos cairão dentro do âmbito de proteção da presente invenção.
[0025] Específico para um caso onde a quantidade total de bits é limitada quando quantização vetorial é realizada em envelopes de frequência, as modalidades da presente invenção propõem, de acordo com as características de envelopes de frequências que precisam ser codificados e usando relações tal como relevância entre envelopes de frequência em um subquadro, um método de quantização vetorial de envelope de frequência o qual é simples, poupa bits e pode assegurar um efeito de quantização. O método de quantização vetorial de acordo com a modalidade da presente invenção é específico para um caso no qual um quadro inclui uma pluralidade de envelopes de frequência.
[0026] Com referência à Figura 1, o seguinte descreve um método de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção. O método de quantização vetorial inclui as seguintes etapas:
[0027] S101. Dividir N envelopes de frequência em um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e N é maior do que N1.
[0028] Por exemplo, N envelopes de frequência em um quadro são divididos em N1 vetores M-dimensionais e, portanto, N1 x M = N. Então, quantização vetorial é realizada nos N1 vetores. Deste modo, uma vez que a quantidade de dimensões diminui, para alcançar precisão de quantização adequada, a quantidade de bits requerida para um único vetor diminui correspondentemente e a complexidade de quantização vetorial também é reduzida.
[0029] Quando um quadro inclui M subquadros e cada subquadro nos M subquadros inclui N1 envelopes, onde o produto de M e N1 é N, para reduzir a quantidade de dimensões, um envelope que corresponde a cada subquadro nos M subquadros pode ser ainda combinado em um vetor. Aqui, o envelope correspondente pode ser um envelope em uma localização correspondente. Por exemplo, os primeiros envelopes dos M subquadros são combinados em um primeiro vetor e os segundos envelopes dos M subquadros são combinados em um segundo vetor e o restante pode ser deduzido por analogia. Finalmente, são obtidos N1 vetores, onde cada um dos vetores inclui M envelopes de frequência.
[0030] Em geral, diferentes formas de combinação de vetor podem ser usadas para diferentes características de envelope de frequência. Primeiro, quando um mesmo subquadro tem mais do que dois envelopes de frequência, e há uma pequena quantidade de subquadros, por exemplo, apenas dois subquadros, os mesmos envelopes de frequência dos diferentes subquadros podem ser combinados, de modo que uma pluralidade de vetores bidimensionais pode ser obtida; segundo, quando há mais do que dois subquadros, os primeiros envelopes de frequência dos subquadros podem ser combinados em um primeiro vetor e os J° envelopes de frequência dos subquadro s podem ser combinados no J° vetor.
[0031] S102. Quantizar um primeiro vetor nos N1 vetores usando um primeiro livro de códigos para obter uma palavra de código que corresponde ao primeiro vetor quantizado, onde B bits do primeiro livro de códigos são divididos em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1.
[0032] Por exemplo, a quantidade de bits que são necessários para realização de quantização vetorial em um primeiro vetor é B; então, um primeiro livro de códigos que tem 2B palavras de código precisa ser obtido por meio de formação. Uma vez que os N1 vetores de envelope de frequência pertencem a um mesmo quadro, uma sequência de um livro de códigos para os N1 vetores pode ser ajustada de acordo com uma ordem destes vetores, deste modo, estimando uma faixa de um vetor subsequente de acordo com um resultado de quantização de um vetor anterior e reduzindo a quantidade de bits que são necessários para realização de quantização vetorial no vetor subsequente.
[0033] É fácil entender que, se o primeiro livro de códigos é dividido em duas partes e, subsequentemente, uma parte do primeiro livro de códigos é usada para quantificar um vetor subsequente, a parte do primeiro livro de códigos que é usada para quantificar o vetor subsequente tem apenas B-1 bits; ou, se o primeiro livro de códigos é dividido em quatro partes e, subsequentemente, uma parte do primeiro livro de códigos é usada para quantificar um vetor subsequente, a parte do primeiro livro de códigos que é usada para quantificar o vetor subsequente tem apenas B-3 bits; e o restante pode ser deduzido por analogia. Isto é, um livro de códigos com uma menor quantidade de bits pode ser usado para realizar quantização vetorial em vetores de envelope de frequência, deste modo, reduzindo a complexidade de quantiza- ção vetorial e assegurando um efeito de quantização vetorial.
[0034] S103. Determinar, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, que o primeiro vetor quanti- zado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, onde i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1.
[0035] Por exemplo, quando B1 é 1, o primeiro livro de códigos é dividido em duas partes. Portanto, o primeiro vetor quantizado é comparado com cada vetor no primeiro livro de códigos para buscar um vetor que está no primeiro livro de códigos e está mais próximo do primeiro vetor, onde um índice de localização do vetor no primeiro livro de códigos é um valor quantizado do primeiro vetor.
[0036] Quando é determinado que o valor quantizado do primeiro vetor está na primeira parte do primeiro livro de códigos, é determinado que a palavra de código que corresponde ao primeiro vetor quanti- zado pertence à primeira parte nas duas partes do primeiro do livro de códigos, isto é, é determinado que o primeiro vetor quantizado está associado com a primeira parte do primeiro livro de códigos e a primeira parte do primeiro livro de códigos pode ser usada como o segundo livro de códigos; ou, quando é determinado que o valor quantizado do primeiro vetor está na última parte do primeiro livro de códigos, é determinado que a palavra de código que corresponde ao primeiro vetor quantizado pertence à segunda parte nas duas partes do primeiro livro de códigos, isto é, é determinado que o primeiro vetor quantizado está associado com a segunda parte do primeiro livro de códigos e a segunda parte do primeiro livro de códigos pode ser usada como o segundo livro de códigos.
[0037] Alternativamente, por exemplo, quando M é 2 e B1 é 1, o primeiro livro de códigos é dividido em duas partes e cada vetor é bidimensional. Portanto, o primeiro vetor quantizado é comparado com cada um dos vetores no primeiro livro de códigos para buscar um vetor que está no primeiro livro de códigos e está mais próximo do primeiro vetor, onde um índice de localização do vetor no primeiro livro de códi- gos é um valor quantizado do primeiro vetor.
[0038] Então, é determinado se uma proporção do primeiro valor do primeiro vetor quantizado que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida; e, quando é determinado que a proporção está dentro da faixa predefinida, é determinado que o primeiro vetor quantizado está associado com a primeira parte nas duas partes do primeiro livro de códigos; ou, quando é determinado que a proporção não está dentro da faixa predefinida, é determinado que o primeiro vetor quantizado está associado com a segunda parte nas duas partes do primeiro livro de códigos. Aqui, a faixa predefinida é uma faixa limite que é predefinida de acordo com experimentação.
[0039] Supõe-se que o primeiro livro de códigos que inclui vetores bidimensionais é {(a1, b1), (a2, b2), (a3, b3), (a4, b4)}, onde uma palavra de código de (a1, b1) (isto é, um índice de localização de (a1, b1) no primeiro livro de códigos) é 1, uma palavra de código de (a2, b2) é 2, uma palavra de código de (a3, b3) é 3 e um palavra de código de (a4, b4) é 4. Uma palavra de código é um índice de localização que está em um livro de códigos e que corresponde a cada vetor no livro de códigos. Se é determinado que uma palavra de código que corresponde ao primeiro vetor quantizado é 3, o primeiro vetor quantizado que corresponde à palavra de código é (a3, b3). Então, uma proporção do primeiro valor a3 para o segundo valor b3 é comparada com uma faixa predefinida [a, b] e, se a proporção está dentro da faixa, é determinado que o primeiro vetor quantizado está associado com a primeira parte nas duas partes do primeiro livro de códigos e a primeira parte do primeiro livro de códigos pode ser usada como o segundo livro de códigos; ou, se a proporção não está dentro da faixa, é determinado que o primeiro vetor quantizado está associado com a segunda parte nas duas partes do primeiro livro de códigos e a segunda parte do primeiro livro de códigos pode ser usada como o segundo livro de códigos.
[0040] S104. Determinar um segundo livro de códigos de acordo com o livro de códigos da ia porção.
[0041] Por exemplo, conforme descrito acima, a ia porção do primeiro livro de códigos pode ser usada como o segundo livro de códigos, onde a quantidade de bits na ia porção do primeiro livro de códigos é B-B1. Alternativamente, por exemplo, um livro de códigos pré- formado pode ser usado como o segundo livro de códigos, onde a quantidade de bits no livro de códigos pré-formado e a quantidade dos bits na ia porção do primeiro livro de códigos são as mesmas e são ambas B-B1.
[0042] Isto é, um livro de códigos para o segundo vetor pode ser diretamente determinado de acordo com uma parte de um livro de códigos para quantização do primeiro vetor de. Em operações reais, um ou mais livros de códigos (com B-B1 bits) que incluem apenas algumas das palavras de código do primeiro livro de códigos podem ser novamente formados de acordo com os requisitos de diferentes codecs e usados como um livro de códigos para o segundo vetor e um vetor subsequente, deste modo, obtendo um efeito de redução da quantidade de bits que são necessários para quantização e otimizando a qualidade de quantização.
[0043] S105. Quantizar um segundo vetor nos N1 vetores com ba se no segundo livro de códigos.
[0044] Por exemplo, o segundo vetor e o vetor subsequente podem ser quantizados com base no segundo livro de códigos que é determinado de acordo com um resultado de quantização do primeiro vetor. Isto é, o primeiro livro de códigos que tem B bits é usado para quantificar o primeiro vetor nos N1 vetores para obter a palavra de có- digo que corresponde ao primeiro vetor quantizado; então, é determinado que a palavra de código que corresponde ao primeiro vetor quan- tizado pertence à ia porção nas 2B1 porções do primeiro livro de códigos; então, o segundo livro de códigos é determinado de acordo com o livro de códigos da ia porção; finalmente, o segundo livro de códigos é usado para quantificar outro vetor nos N1 vetores, exceto o primeiro vetor.
[0045] Alternativamente, por exemplo, o segundo vetor também pode ser quantizado com base no segundo livro de códigos que é determinado de acordo com o resultado de quantização do primeiro vetor e, então, um terceiro vetor é quantizado com base em um terceiro livro de códigos que é determinado de acordo com um resultado de quanti- zação do segundo vetor e o restante pode ser deduzido por analogia.
[0046] Pode ser observado que, nas modalidades da presente invenção, ai dividir os envelopes de frequência em uma pluralidade de vetores com menos dimensões, quantização vetorial pode ser realizada em vetores do envelope de frequência usando um livro de códigos com uma menor quantidade de bits. Portanto, a complexidade de quantização vetorial pode ser reduzida e um efeito de quantização vetorial também pode ser assegurado.
[0047] Em uma forma de implementação, quando B1 é 1, a determinação de que a palavra de código que corresponde ao primeiro vetor quantizado pertence à ia porção nas 2B1 porções do primeiro livro de códigos na etapa S103 e a determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção na etapa S104 incluem especificamente: determinar se a palavra de código que corresponde ao primeiro vetor quantizado pertence à primeira parte, por exemplo, a primeira parte, nas duas partes do primeiro livro de códigos; e quando é determinado que a palavra de código que corres- ponde ao primeiro vetor quantizado pertence à primeira parte nas duas partes do primeiro livro de códigos, determinação de que o primeiro vetor quantizado está associado com a primeira parte nas duas partes do primeiro livro de códigos e, ainda, determinação de que o segundo livro de códigos é a primeira parte do primeiro livro de códigos; ou quando é determinado que a palavra de código que corresponde ao primeiro vetor quantizado não pertence à primeira parte nas duas partes do primeiro livro de códigos, determinação de que o primeiro vetor quantizado está associado com a segunda parte nas duas partes do primeiro livro de códigos e, ainda, determinação de que o segundo livro de códigos é a segunda parte do primeiro livro de códigos.
[0048] Neste caso, o segundo livro de códigos precisa apenas de B-1 bits.
[0049] Em uma outra forma de implementação, quando M é 2 e B1 é 1, a determinação, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, de que o primeiro vetor quantiza- do está associado com a ia porção nas 2B1 porções do primeiro do livro de códigos na etapa 103 e a determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção na etapa S104 incluem especificamente: determinar se uma proporção do primeiro valor do primeiro vetor quantizado (um vetor bidimensional) que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida; e quando é determinado que a proporção está dentro da faixa predefinida, determinação de que o primeiro vetor quantizado está associado com uma primeira parte em duas partes do primeiro livro de códigos e, ainda, determinação de que o segundo livro de códigos é a primeira parte do primeiro livro de códigos; ou quando é determinado que a proporção não está dentro da faixa predefinida, determinação de que o primeiro vetor quantizado está associado com uma segunda parte nas duas partes do primeiro livro de códigos e, ainda, determinação de que o segundo livro de códigos é a segunda parte do primeiro livro de códigos.
[0050] Neste caso, o segundo livro de códigos precisa apenas de B-1 bits.
[0051] Nas duas formas de implementação precedentes, um caso no qual o primeiro livro de códigos que tem B bits é dividido em duas partes é exemplificativamente descrito, e estas são formas de implementação fáceis de implementar. Deverá ser entendido que, nesta modalidade da presente invenção, a quantidade de partes nas quais o primeiro livro de códigos é dividido não está limitada a 2 e o primeiro livro de códigos pode também ser dividido em quatro partes, oito partes ou mesmo mais partes cuja quantidade é uma potência inteira de 2. Em geral, uma maior quantidade de partes nas quais o primeiro livro de códigos é dividido resulta em menor precisão do segundo livro de códigos determinado; portanto, a precisão de quantização pode ser afetada. Portanto, o valor de B1 pode ser determinado com referência à quantidade de bits que pode ser efetivamente usada, isto é, a quantidade de partes nas quais o primeiro livro de códigos é dividido e que pode assegurar qualidade de quantização.
[0052] O seguinte fornece algumas modalidades específicas para descrever em detalhes o método de quantização vetorial de envelope de domínio de frequência de acordo com esta modalidade da presente invenção.
[0053] Uma primeira modalidade específica é como segue: se um quadro inclui N envelopes frequência, o quadro é dividido em N1 subquadros e cada um dos subquadros tem uma mesma quantidade M de envelopes de domínio de frequência, os envelopes de domínio de frequências (um total de M envelopes de domínio de frequência) de cada um dos subquadros são agrupados como um vetor e, portanto, há N1 vetores.
[0054] Primeiro, um primeiro livro de códigos A que tem 2B palavras de código que são pré-formadas e ordenadas é usado para quan- tizar um primeiro vetor usando B bits e um resultado de quantização é ind(1).
[0055] Então, é determinado se o resultado de quantização ind(1) está na primeira parte do primeiro livro de códigos A.
[0056] Se o resultado de quantização ind(1) está na primeira parte do primeiro livro de códigos A, as palavras de código na primeira parte do livro de códigos A são usadas como um novo livro de códigos (isto é, um segundo livro de códigos que inclui B-1 bits) para quantizar o segundo vetor e um vetor subsequente usando os B-1 bits; ou se o resultado de quantização ind(1) não está na primeira parte do primeiro livro de códigos A, as palavras de código na última parte do livro de códigos A são usadas como um novo livro de códigos (isto é, um segundo livro de códigos que inclui B-1 bits) para quantizar o segundo vetor e um vetor subsequente usando os B-1 bits.
[0057] Pode ser observado que, na primeira modalidade específica, primeiro, um livro de códigos geral (por exemplo, um primeiro livro de códigos) é ordenado; então, com referência a um resultado de quantização do primeiro vetor, um resultado de quantização subsequente é estimado; e, então, a faixa do livro de códigos é reduzida para o vetor de quantização subsequente.
[0058] Uma segunda modalidade específica é como segue: se um vetor é bidimensional, o método nesta modalidade específica também pode ser usado.
[0059] Primeiro, um primeiro livro de códigos A que tem 2B palavras de código que são pré-formadas e ordenadas é usado para quan- tizar um primeiro vetor usando B bits e o resultado de quantização é ind(1).
[0060] Então, é determinado se uma proporção entre dois valores do primeiro vetor quantizado está dentro de uma faixa predefinida [a, b], em que a proporção é obtida dividindo-se o primeiro valor do primeiro vetor quantizado pelo segundo valor do primeiro vetor quantiza- do.
[0061] Se a proporção está dentro da faixa predefinida [a, b], as palavras de código na primeira parte do livro de códigos A são usadas como um novo livro de códigos (isto é, um segundo livro de códigos que inclui B-1 bits) para quantizar o segundo vetor e um vetor subsequente usando os B-1 bits; ou se o índice não está dentro da faixa predefinida [a, b], as palavras de código na segunda parte do livro de códigos A são usadas como um novo livro de códigos (isto é, um segundo livro de códigos que inclui B-1 bits) para quantizar o segundo vetor e um vetor subsequente usando os B-1 bits.
[0062] Pode ser observado que, nesta modalidade específica, com referência às características de um vetor bidimensional, é estimado um resultado de quantização de um vetor subsequente e, então, a faixa do livro de códigos é reduzida para quantização do vetor subsequente.
[0063] Com referência à Figura 2, o seguinte descreve um dispositivo de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção.
[0064] Na Figura 2, o dispositivo de quantização vetorial de envelope de frequência 20 inclui uma unidade de divisão vetorial 21, uma primeira unidade de quantização 22, uma primeira unidade de determinação 23, uma segunda unidade de determinação 24 e uma segunda unidade de quantização 25, onde: a unidade de divisão vetorial 21 é configurada para dividir os N envelopes de frequência em um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e N é maior do que N1; a primeira unidade de quantização 22 é configurada para usar um primeiro livro de códigos que tem B bits para quantizar um primeiro vetor nos N1 vetores que são obtidos por meio da divisão pela unidade de divisão vetorial 21 para obter uma palavra de código que corresponde ao primeiro vetor quantizado, em que o primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; a primeira unidade de determinação 23 é configurada para determinar, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado que é obtido por meio de quantização pela primeira unidade de quantização 22, que o primeiro vetor quantizado associado com a ia porção nas 2B1 porções do primeiro livro de códigos, onde i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; a segunda unidade de determinação 24 é configurada para determinar um segundo livro de códigos de acordo com o livro de códigos que é da ia porção e é determinado pela primeira unidade de determinação 23; e a segunda unidade de quantização 25 é configurada para quantizar um segundo vetor nos N1 vetores com base no segundo livro de códigos que é determinado pela segunda unidade de determinação 24.
[0065] Especificamente, a segunda unidade de determinação 24 pode ser configurada para usar a ia porção do primeiro livro de códigos como o segundo livro de códigos, onde a quantidade de bits na ia por- ção do primeiro livro de códigos é B-B1. Alternativamente, a segunda unidade de determinação 24 pode ser configurada para usar um livro de códigos pré-formado como o segundo livro de códigos, onde a quantidade de bits no livro de códigos pré-formado e a quantidade de bits na ia porção do primeiro livro de códigos são as mesmas e são ambas B-B1.
[0066] Especificamente, quando B1 é 1, a primeira unidade de determinação 23 pode ser configurada para: quando a palavra de código que corresponde ao primeiro vetor quantizado pertence a uma primeira parte em duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a primeira parte do primeiro livro de códigos; ou, quando a palavra de código que corresponde ao primeiro vetor quantizado pertence a uma segunda parte nas duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a segunda parte do primeiro livro de códigos.
[0067] Alternativamente, quando M é 2 e B1 é 1, a primeira unidade de determinação 23 pode ser configurada para: determinar se uma proporção do primeiro valor do primeiro vetor quantizado que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida; e, quando é determinado que a proporção está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma primeira parte em duas partes do primeiro livro de códigos; ou, quando é determinado que a proporção não está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma segunda parte nas duas partes do primeiro livro de códigos.
[0068] Mais especificamente, a unidade de divisão vetorial 21 pode ser ainda configurada para: quando o quadro inclui M subquadros e cada subquadro nos M subquadros inclui N1 envelopes, onde o produto de M e N1 representa N, combinar um envelope que corresponde a cada subquadro nos M subquadros em um vetor para obter N1 vetores, onde cada vetor nos N1 vetores inclui M envelopes de frequência.
[0069] Nas modalidades da presente invenção, ao dividir os envelopes de frequência em uma pluralidade de vetores com menos dimensões, quantização vetorial pode ser realizada em vetores do envelope de frequência usando um livro de códigos com uma quantidade de bits. Portanto, a complexidade da quantização vetorial pode ser reduzida e um efeito de quantização vetorial também pode ser assegurado.
[0070] A Figura 3 mostra um codec que implementa um método de quantização vetorial de envelope de frequência de acordo com uma modalidade da presente invenção. O codec 30 inclui um processador 31 e uma memória 32. O processador 31 está configurado para: dividir N envelopes de frequência em um quadro em N1 vetores, em que cada vetor nos N1 vetores inclui M envelopes de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e N é maior do que N1; usar um primeiro livro de códigos que tem B bits para quanti- zar um primeiro vetor nos N1 vetores para obter uma palavra de código que corresponde ao primeiro vetor quantizado, onde o primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro posi-tivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; determinar, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado, que o primeiro vetor quantizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, onde i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; determinar um segundo livro de códigos de acordo com o livro de códigos da ia porção; e quantizar um segundo vetor nos N1 vetores com base no segundo livro de códigos. A memória 32 está configurada para armazenar instruções que são usadas pelo processador 31 para executar o método precedente.
[0071] Especificamente, quando o quadro inclui M subquadros e cada subquadro nos M subquadros inclui N1 envelopes, onde o produto de M e N1 é N, o processador 31 pode combinar um envelope que corresponde a cada subquadro nos M subquadros em um vetor para obter N1 vetores, onde cada vetor nos N1 vetores inclui M envelopes de frequência.
[0072] O processador 31 pode usar a ia porção do primeiro livro de códigos como o segundo livro de códigos, onde a quantidade de bits na ia porção do primeiro livro de códigos é B-B1; ou usar um livro de códigos pré-formado como o segundo livro de códigos, onde a quantidade de bits no livro de códigos pré-formado e a quantidade de bits na ia porção do primeiro livro de códigos são as mesmas e são ambas B- B1.
[0073] Quando B1 é 1, o processador 31 pode determinar, de acordo com a palavra de código que corresponde ao primeiro vetor quantizado pertencente a uma primeira parte em duas partes do primeiro livro de códigos, que o primeiro vetor quantizado associado com a primeira parte do primeiro livro de códigos; ou determinar, de acordo com a palavra de código que corresponde ao primeiro vetor quantiza- do pertencente a uma segunda parte nas duas partes do primeiro livro de códigos, que o primeiro vetor quantizado está associado com a segunda parte do primeiro livro de códigos. Alternativamente, quando M é 2 e B1 é 1, o processador 31 pode determinar, de acordo com se uma proporção do primeiro valor do primeiro vetor quantizado que corresponde à palavra de código para o segundo valor do primeiro vetor quantizado que corresponde à palavra de código está dentro de uma faixa predefinida, que o primeiro vetor quantizado está associado com a primeira parte ou a segunda parte do primeiro livro de códigos; e, quando é determinado que a proporção está dentro da faixa prede- finida, determinar que o primeiro vetor quantizado está associado com uma primeira parte em duas partes do primeiro livro de códigos; ou, quando é determinado que a proporção não está dentro da faixa pre- definida, determinar que o primeiro vetor quantizado está associado com uma segunda parte nas duas partes do primeiro livro de códigos.
[0074] Pode ser observado que, nas modalidades da presente invenção, ao dividir os envelopes de frequência em uma pluralidade de vetores com menos dimensões, quantização vetorial pode ser realizada em vetores do envelope de frequência usando um livro de códigos com uma menor quantidade de bits. Portanto, a complexidade de quantização vetorial pode ser reduzida e um efeito de quantização vetorial também pode ser assegurado.
[0075] Compreensivelmente, a solução descrita em cada reivindicação da presente invenção deve também considerada uma modalidade e as características das reivindicações podem ser combinadas. Por exemplo, diferentes etapas de execução tributárias após uma etapa de determinação na presente invenção podem servir como diferentes modalidades.
[0076] Aqueles versados na técnica podem estar cientes de que, em combinação com os exemplos descritos nas modalidades descritas no presente relatório descritivo, as unidades e etapas de algoritmo podem ser implementadas por um hardware eletrônico ou uma combinação de software e hardware eletrônico. Se as funções são desempenhadas por um hardware ou software depende de determinadas aplicações e condições de restrição de design das soluções técnicas. Aqueles versados na técnica podem usar diferentes métodos para implementar as funções descritas para cada aplicação em particular, mas não deve ser considerado que a implementação vai além do âmbito da presente invenção.
[0077] Será claramente entendido por aqueles versados na técnica que, para fins de descrição conveniente e breve, para um processo de trabalho detalhado do sistema, dispositivos e unidades precedentes, refira-se a um processo correspondente nas modalidades do método precedente e os detalhes não são novamente descritos aqui.
[0078] Nas várias modalidades fornecidas no presente pedido, deverá ser entendido que o sistema, dispositivo e método descritos podem ser implementados de outras maneiras. Por exemplo, a modalidade do dispositivo descrito é meramente exemplificativa. Por exemplo, a unidade de divisão é meramente uma divisão de função lógica e pode ser outra divisão na implementação real. Por exemplo, uma pluralidade de unidades ou componentes podem ser combinados ou integrados em outro sistema ou as características podem ser ignoradas ou não concretizadas. Além disso, os acoplamentos mútuos mostrados ou discutidos ou acoplamentos ou conexões de comunicação diretas podem ser implementados através de algumas interfaces. Os acoplamentos ou conexões de comunicação indiretas entre os dispositivos ou unidades podem ser implementados em formas eletrônicas, mecânicas ou outras.
[0079] As unidades descritas como partes separadas podem ou não estar fisicamente separadas e partes exibidas como unidades podem ou não ser unidades físicas, podem estar localizadas na mesma posição ou podem estar distribuídas em uma pluralidade de unidades de rede. Algumas ou todas as unidades podem ser selecionadas de acordo com as necessidades reais para atingir os objetivos das soluções das modalidades.
[0080] Além disso, as unidades funcionais nas modalidades da presente invenção podem ser integradas uma unidade de processamento ou cada uma das unidades pode existir sozinha fisicamente ou duas ou mais unidades são integradas em uma única unidade.
[0081] Quando as funções são implementadas na forma de uma unidade funcional de software e vendidas ou usadas como um produto independente, as funções podem ser armazenadas em um meio de armazenamento legível em computador. Com base em tal entendimento, as soluções técnicas da presente invenção essencialmente, ou a parte que contribui para o estado da técnica, ou algumas das soluções técnicas podem ser aplicadas na forma de um produto de software. O produto de software é armazenado em um meio de armazenamento e inclui várias instruções para instruir um dispositivo de computador (o qual pode ser um computador pessoal, um servidor ou um dispositivo de rede) para executar todas ou algumas das etapas dos métodos descritas nas modalidades da presente invenção. O meio de armazenamento precedente inclui: qualquer meio que possa armazenar o código de programa, tal como um USB flash drive, um disco rígido removível, uma memória de leitura (Read-Only Memory, ROM), uma memória de acesso aleatório (Random Access Memory, RAM), um disco magnético ou um disco óptico.
[0082] As descrições precedentes são meramente formas de implementação específicas da presente invenção, mas não se destinam a limitar o âmbito de proteção da presente invenção. Qualquer variação ou substituição facilmente descoberta por aqueles versados na técnica dentro do âmbito técnico descrito na presente invenção cai dentro do âmbito de proteção da presente invenção. Portanto, o âmbito de proteção da presente invenção estará sujeito ao âmbito de proteção das reivindicações.

Claims (6)

1. Método de quantização vetorial de envelope de domínio de frequência, compreendendo as etapas de: dividir (S101) N envelopes de domínio de frequência em um quadro em N1 vetores, em que o um quadro inclui N1 subquadros, os envelopes de domínio de frequência de cada subquadro é correspondente a um vetor, cada vetor nos N1 vetores compreende M envelopes de domínio de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e N é maior do que N1, caracterizado pelo fato de que compreende ainda: quantizar (S102) um primeiro vetor nos N1 vetores usando um primeiro livro de códigos que possui B bits, para obter uma palavra de código correspondendo ao primeiro vetor quantizado, em que a primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; determinar (S103), de acordo com a palavra de código cor-respondendo ao primeiro vetor quantizado, que o primeiro vetor quan- tizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, em que i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; determinar (S104) um segundo livro de códigos de acordo com o livro de códigos da ia porção do primeiro livro de códigos; e quantizar (S105) um segundo vetor nos N1 vetores com base no segundo livro de códigos; a determinação de um segundo livro de códigos de acordo com o livro de códigos da ia porção compreende: usar a ia porção do primeiro livro de códigos como o segundo livro de códigos, em que uma quantidade de bits na ia porção do primeiro livro de códigos é B-B1.
2. Método de acordo com a reivindicação 1, caracterizado pelo fato de que quando B1 é 1, a determinação, de acordo com a palavra de código correspondente ao primeiro vetor quantizado, o primeiro vetor quantizado é associado com a ia porção nas 2B1 porções do primeiro livro de códigos compreende: quando a palavra de código correspondendo ao primeiro vetor quantizado pertence a uma primeira parte em duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a parte anterior do primeiro livro de códigos; ou quando a palavra de código correspondendo ao primeiro vetor quantizado pertence a uma última parte nas duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a última parte do primeiro livro de códigos.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que quando M é 2 e B1 é 1, a determinação, de acordo com a palavra de código correspondendo ao primeiro vetor quantizado, de que o primeiro vetor quantizado é associado com a ia porção nas 2B1 porções do primeiro livro de códigos compreende: determinar se uma proporção do primeiro valor do primeiro vetor quantizado correspondendo à palavra de código para o segundo valor do primeiro vetor quantizado correspondendo à palavra de código está dentro de uma faixa predefinida; e quando é determinado que a proporção está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma parte anterior em duas partes do primeiro livro de códigos; ou quando é determinado que a proporção não está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma última parte nas duas partes do primeiro livro de códigos.
4. Aparelho de quantização vetorial de envelope de domínio de frequência (20), caracterizado pelo fato de que o aparelho compreende: uma unidade de divisão vetorial (21), configurada para dividir N envelopes de domínio de frequência em um quadro em N1 vetores, em que o um quadro inclui N1 subquadros, os envelopes de domínio de frequência de cada subquadro é correspondente a um vetor, cada vetor nos N1 vetores compreende M envelopes de domínio de frequência, N1, N e M são números inteiros positivos, M é maior ou igual a 2 e N é maior do que N1; uma primeira unidade de quantização (22), configurada para usar um primeiro livro de códigos que possui B bits para quantizar um primeiro vetor nos N1 vetores que são obtidos por meio da divisão pela unidade de divisão vetorial (21), para obter uma palavra de código correspondendo ao primeiro vetor quantizado, em que o primeiro livro de códigos é dividido em 2B1 porções, B é um número inteiro positivo maior do que ou igual a 2 e B1 é um número inteiro positivo maior do que ou igual a 1; uma primeira unidade de determinação (23), configurada para determinar, de acordo com a palavra de código correspondendo ao primeiro vetor quantizado que é obtido por meio de quantização pela primeira unidade de quantização (22), de que o primeiro vetor quan- tizado está associado com a ia porção nas 2B1 porções do primeiro livro de códigos, em que i é um inteiro positivo maior do que ou igual a 1 e menor do que ou igual a 2B1; uma segunda unidade de determinação (24), configurada para determinar um segundo livro de códigos de acordo com o livro de códigos que é a ia porção e é determinado pela primeira unidade de determinação (23); e uma segunda unidade de quantização (25), configurada pa- ra quantizar um segundo vetor nos N1 vetores com base no segundo livro de códigos que é determinado pela segunda unidade de determinação; a segunda unidade de determinação (24) é configurada es-pecificamente para: usar a ia porção do primeiro livro de códigos como o segundo livro de códigos, em que uma quantidade de bits na ia porção do primeiro livro de códigos é B-B1.
5. Aparelho (20), de acordo com a reivindicação 4, caracterizado pelo fato de que, quando B1 é 1, a primeira unidade de determinação (23) é configurada especificamente para: quando a palavra de código correspondendo ao primeiro vetor quantizado pertence a uma parte anterior em duas partes do primeiro livro de códigos, determinar que o primeiro vetor quantizado está associado com a parte anterior do primeiro livro de códigos; ou quando a palavra de código correspondendo ao primeiro vetor quantizado pertence a uma última parte nas duas partes do primeiro livro de códigos, determinar que o segundo vetor quantizado está associado com a última parte do primeiro livro de códigos.
6. Aparelho (20), de acordo com a reivindicação 4, caracte rizado pelo fato de que, quando M é 2 e B1 é 1, a primeira unidade de determinação (23) é configurada especificamente para: determinar se uma proporção do primeiro valor do primeiro vetor quantizado correspondendo à palavra de código para o segundo valor do primeiro vetor quantizado correspondendo à palavra de código está dentro de uma faixa predefinida; e quando é determinado que a proporção está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma parte anterior em duas partes do primeiro livro de códigos; ou quando é determinado que a proporção não está dentro da faixa predefinida, determinar que o primeiro vetor quantizado está associado com uma última parte nas duas partes do primeiro livro de códigos.
BR112015031617-4A 2013-07-04 2014-07-03 Método e dispositivo de quantização vetorial de envelope de domínio de frequência BR112015031617B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310279924.5A CN104282308B (zh) 2013-07-04 2013-07-04 频域包络的矢量量化方法和装置
CN201310279924.5 2013-07-04
PCT/CN2014/081530 WO2015000416A1 (zh) 2013-07-04 2014-07-03 频域包络的矢量量化方法和装置

Publications (2)

Publication Number Publication Date
BR112015031617A2 BR112015031617A2 (pt) 2017-07-25
BR112015031617B1 true BR112015031617B1 (pt) 2022-04-12

Family

ID=52143115

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112015031617-4A BR112015031617B1 (pt) 2013-07-04 2014-07-03 Método e dispositivo de quantização vetorial de envelope de domínio de frequência

Country Status (16)

Country Link
US (2) US9805732B2 (pt)
EP (3) EP2983170B1 (pt)
JP (1) JP6301459B2 (pt)
KR (1) KR101725531B1 (pt)
CN (2) CN104282308B (pt)
AU (1) AU2014286716B2 (pt)
BR (1) BR112015031617B1 (pt)
CA (1) CA2911314C (pt)
ES (2) ES2954460T3 (pt)
HK (1) HK1206137A1 (pt)
MX (1) MX351967B (pt)
MY (1) MY170701A (pt)
PL (1) PL3594944T3 (pt)
RU (1) RU2635069C2 (pt)
SG (1) SG11201509155RA (pt)
WO (1) WO2015000416A1 (pt)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102168650B1 (ko) * 2018-11-27 2020-10-21 한국과학기술원 다중 안테나 다중 사용자 간섭채널에서 기계학습 기반 빔포밍 방법 및 장치
CN113766150B (zh) * 2021-08-31 2024-03-26 北京安酷智芯科技有限公司 一种降噪方法、电路系统、电子设备及计算机可读存储介质

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5680508A (en) * 1991-05-03 1997-10-21 Itt Corporation Enhancement of speech coding in background noise for low-rate speech coder
WO1995010760A2 (en) * 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor
TW321810B (pt) * 1995-10-26 1997-12-01 Sony Co Ltd
US6014618A (en) 1998-08-06 2000-01-11 Dsp Software Engineering, Inc. LPAS speech coder using vector quantized, multi-codebook, multi-tap pitch predictor and optimized ternary source excitation codebook derivation
US6952671B1 (en) 1999-10-04 2005-10-04 Xvd Corporation Vector quantization with a non-structured codebook for audio compression
US7337110B2 (en) 2002-08-26 2008-02-26 Motorola, Inc. Structured VSELP codebook for low complexity search
CA2415105A1 (en) 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
US7657429B2 (en) 2003-06-16 2010-02-02 Panasonic Corporation Coding apparatus and coding method for coding with reference to a codebook
WO2006030865A1 (ja) 2004-09-17 2006-03-23 Matsushita Electric Industrial Co., Ltd. スケーラブル符号化装置、スケーラブル復号化装置、スケーラブル符号化方法、スケーラブル復号化方法、通信端末装置および基地局装置
AU2006232364B2 (en) 2005-04-01 2010-11-25 Qualcomm Incorporated Systems, methods, and apparatus for wideband speech coding
US7805314B2 (en) * 2005-07-13 2010-09-28 Samsung Electronics Co., Ltd. Method and apparatus to quantize/dequantize frequency amplitude data and method and apparatus to audio encode/decode using the method and apparatus to quantize/dequantize frequency amplitude data
US7602745B2 (en) * 2005-12-05 2009-10-13 Intel Corporation Multiple input, multiple output wireless communication system, associated methods and data structures
WO2007114290A1 (ja) * 2006-03-31 2007-10-11 Matsushita Electric Industrial Co., Ltd. ベクトル量子化装置、ベクトル逆量子化装置、ベクトル量子化方法及びベクトル逆量子化方法
EP1970900A1 (en) * 2007-03-14 2008-09-17 Harman Becker Automotive Systems GmbH Method and apparatus for providing a codebook for bandwidth extension of an acoustic signal
US8125884B1 (en) * 2007-07-11 2012-02-28 Marvell International Ltd. Apparatus for pre-coding using multiple codebooks and associated methods
CN100585699C (zh) * 2007-11-02 2010-01-27 华为技术有限公司 一种音频解码的方法和装置
CN101335004B (zh) 2007-11-02 2010-04-21 华为技术有限公司 一种多级量化的方法及装置
US8515767B2 (en) 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
CN101483043A (zh) * 2008-01-07 2009-07-15 中兴通讯股份有限公司 基于分类和排列组合的码本索引编码方法
JPWO2009090875A1 (ja) * 2008-01-16 2011-05-26 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
WO2009090876A1 (ja) * 2008-01-16 2009-07-23 Panasonic Corporation ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
CN101261835B (zh) 2008-04-25 2010-12-15 清华大学 基于超帧模式的多矢量多码本尺寸联合优化方法
US9037474B2 (en) * 2008-09-06 2015-05-19 Huawei Technologies Co., Ltd. Method for classifying audio signal into fast signal or slow signal
WO2010031003A1 (en) * 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
US9236063B2 (en) * 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
CN102208188B (zh) * 2011-07-13 2013-04-17 华为技术有限公司 音频信号编解码方法和设备

Also Published As

Publication number Publication date
JP6301459B2 (ja) 2018-03-28
US20160111105A1 (en) 2016-04-21
JP2016528529A (ja) 2016-09-15
MX2015017003A (es) 2016-04-25
ES2738883T3 (es) 2020-01-27
KR101725531B1 (ko) 2017-04-10
CA2911314C (en) 2018-12-04
HK1206137A1 (en) 2015-12-31
CN107316647A (zh) 2017-11-03
BR112015031617A2 (pt) 2017-07-25
WO2015000416A1 (zh) 2015-01-08
CA2911314A1 (en) 2015-01-08
ES2954460T3 (es) 2023-11-22
PL3594944T3 (pl) 2023-10-09
RU2015155949A (ru) 2017-08-09
EP2983170A1 (en) 2016-02-10
AU2014286716A1 (en) 2015-11-26
EP3594944B1 (en) 2023-06-07
CN104282308B (zh) 2017-07-14
MX351967B (es) 2017-11-06
US9805732B2 (en) 2017-10-31
EP2983170A4 (en) 2016-04-13
MY170701A (en) 2019-08-26
EP4231288A1 (en) 2023-08-23
SG11201509155RA (en) 2015-12-30
KR20160003178A (ko) 2016-01-08
RU2635069C2 (ru) 2017-11-08
EP3594944C0 (en) 2023-06-07
CN104282308A (zh) 2015-01-14
CN107316647B (zh) 2021-02-09
AU2014286716B2 (en) 2017-03-30
EP2983170B1 (en) 2019-06-05
US10032460B2 (en) 2018-07-24
EP3594944A1 (en) 2020-01-15
US20180018980A1 (en) 2018-01-18

Similar Documents

Publication Publication Date Title
US9652321B2 (en) Recovery algorithm in non-volatile memory
US10680645B2 (en) System and method for data storage, transfer, synchronization, and security using codeword probability estimation
TW201539187A (zh) 快閃記憶體之壓縮、讀取方法及應用其方法的裝置
TWI498818B (zh) 指示可變長度指令集的指令長度之技術
US10474374B2 (en) Method and apparatus for storage device latency/bandwidth self monitoring
JP7356887B2 (ja) 誤り訂正符号加速装置及びシステム
CN108027713A (zh) 用于固态驱动器控制器的重复数据删除
CN110572164B (zh) Ldpc译码方法、装置、计算机设备及存储介质
BR112015031617B1 (pt) Método e dispositivo de quantização vetorial de envelope de domínio de frequência
US20160182234A1 (en) Hash value capable of generating one or more hash functions
JP2020510935A5 (pt)
US10824338B2 (en) Using variable sized uncompressed data blocks to address file positions when simultaneously compressing multiple blocks
JP2015537282A5 (pt)
US9588882B2 (en) Non-volatile memory sector rotation
US10452368B2 (en) Recording medium having compiling program recorded therein, information processing apparatus, and compiling method
US20190109605A1 (en) Data processing device, data processing method, and computer readable medium
JP2018195274A (ja) Cpuのアーキテクチャを上手く使った、自然数を素因数分解する方法
KR102638270B1 (ko) 파일 시스템 디스크에서 내장된 데이터 블록 정보로부터 디렉토리/블록 할당 맵을 재구축하는 장치 및 방법
WO2021098526A1 (zh) 确定条带一致性的方法及装置
WO2022151505A1 (zh) 神经网络量化方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: G10L 19/00

Ipc: G10L 19/038 (2013.01)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B25G Requested change of headquarter approved

Owner name: HUAWEI TECHNOLOGIES CO., LTD. (CN)

B25A Requested transfer of rights approved

Owner name: CRYSTAL CLEAR CODEC, LLC (US)

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 03/07/2014, OBSERVADAS AS CONDICOES LEGAIS.