BR112012009714A2 - metodo de codificação de audio de quantização de vetor de reticulo metodo de decodificação de audio de quantização de reticulo sistema de cotificação de audio de quantização de vetor de reticulo e sistema de decodificação de audio de quantização de vetor de reticulo - Google Patents

metodo de codificação de audio de quantização de vetor de reticulo metodo de decodificação de audio de quantização de reticulo sistema de cotificação de audio de quantização de vetor de reticulo e sistema de decodificação de audio de quantização de vetor de reticulo Download PDF

Info

Publication number
BR112012009714A2
BR112012009714A2 BR112012009714-8A BR112012009714A BR112012009714A2 BR 112012009714 A2 BR112012009714 A2 BR 112012009714A2 BR 112012009714 A BR112012009714 A BR 112012009714A BR 112012009714 A2 BR112012009714 A2 BR 112012009714A2
Authority
BR
Brazil
Prior art keywords
quantization
coding
vector
bit
subband
Prior art date
Application number
BR112012009714-8A
Other languages
English (en)
Other versions
BR112012009714B1 (pt
Inventor
Zhibin LIN
Original Assignee
Zte Corporation
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 Zte Corporation filed Critical Zte Corporation
Publication of BR112012009714A2 publication Critical patent/BR112012009714A2/pt
Publication of BR112012009714B1 publication Critical patent/BR112012009714B1/pt

Links

Classifications

    • 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/0212Speech 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 using orthogonal transformation
    • 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
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • 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/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/4006Conversion to or from arithmetic code
    • H03M7/4012Binary arithmetic codes
    • H03M7/4018Context adapative binary arithmetic codes [CABAC]
    • 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/70Type of the data to be coded, other than image and sound
    • 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/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical 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)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

SISTEMA E MÉTODO DE CODIFICAÇÃO/DECODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO Trata-se do método de codificação de áudio e sistema de quantização de vetor de retículo. O método compreende: dividir coeficientes de domínio de frequência de um sinal de áudio para o qual uma transformada discreta modificada do cosseno (MDCT) foi realizada em uma pluralidade de sub-bandas codificadoras, e quantizar e codificar um valor de envelope de amplitude de cada sub-banda codificadora para obter bits codificados de envelopes de amplitude; realizar a alocação de bit em cada sub-banda codificadora, e realizar a normalização, quantização e codificação, respectivamente, em vetores em uma sub-banda codificadora de bit baixo com quantização de vetor de retículo de pirâmide e em vetores em uma sub-banda codificadora de bit alto com quantização de vetor de retículo de esfera a fim de obter bits codificados dos coeficientes de domínio de frequência; multiplexar e embalar os bits codificados do envelope de amplitude e os bits codificados dos coeficientes de domínio de frequência de cada sub-banda codificadora, então, os enviando para um lado decodificador.

Description

MÉTODO DE CODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, MÉTODO DE DECODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, SISTEMA DE CODIFICAÇÃO DE
ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO E SISTEMA DE . 5 DECODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO
CAMPO DA TÉCNICA ¶ A presente invenção refere-se à tecnologia de codificação e decodificação de áudio e, em particular, a um sistema e método de codificação e decodificação de áudio de 10 quantização de vetor do tipo retículo.
ANTECEDENTES DA TÉCNICA RELACIONADA A tecnologia de codificação e decodificação de áudio é o núcleo de tecnologias de aplicação de multimídia tais como difusão de áudio digital, transmissão de música e 15 telecomunicação de áudio na internet e assim por diante, que beneficiará enormemente a partir do aprimoramento do desempenho de pressionamento de encodificadores de áudio. A perceptual encodificador de áudio, um tipo de codificação de domínio de transformação com perda, é um encodificador de 20 áudio moderno principal. O codec existente, como Grupo de Especialistas em Imagem de Movimento (MPEG) 4 Codificação de - Áudio Avançada (AAC) e assim por diante, realiza a codificação e decodificação de áudio de domínio de ^ transformação de um modo de quantizaçao ~ escalar nao ~ uniforme, 25 para o qual o cálculo tem uma alta complexidade e a capacidade de compressão não é alta. O quantizador de vetor estatístico de convenção (por exernplo, o quantizador de vetor projetado com algoritmo LBG, em que, o LBG é um método de quantização de vetor fornecido por Linde, Buzo e Gray) tem 30 uma capacidade de compressão forte e, portanto, tem sido usado amplamente no campo de compressão de áudio e vídeo. Entretanto, a complexidade do cálculo de um quantizador de vetor aumenta exponencialmente com a dimensão e o livro de código obtido treinando-se a sequência de treinamento com um algoritmo de agrupamento não é normalmente o ideal global.
Recenternente, surgiu um novo quantizador de vetor de codificação e decodificação de áudio, isto é, quantização de . 5 vetor de retículo, que quantiza sinais com pontos de retículo em uma grade de espaço sendo o quantizador de vetor. já que a " pontos de retículo de espaço são regulares, o livro de código pode ser construído por método de álgebra e apenas ocupa pouco espaço de armazenamento e a quantização de vetor de 10 retículo tem as vantagens de baixa complexidade de cálculo e alta precisão de quantização. Entretanto, já que o codec de áudio com base em quantização de vetor de retículo existente (como G.719 e assim por diante) adota uma grade de esfera em relação ao livro de código de codificação e decodificação, o 15 truncamento do livro de código é aplicável apenas a fontes de informações de alocação uniforme e alocação gaussiana e não tem um bom efeito para a voz, que é uma fonte de informações em conformidade com alocação de Laplace. No entanto, a extensão da etapa de bit do quantizador de vetor de retículo 20 existente (como G.719) é de bits de números inteiros (por exemplo, um bit) durante a codificação, então a extensão da " etapa é Ionga demais eín baixa alocação de bít, que provoca uma alocação de bit concentrada demais e os bits limitados ^ não podem ser usados de modo mais eficiente; adicionalmente, 25 o livro de código de espaço de um único bit do codec ocupa um espaço de armazenamento grande demais.
SUMÁRIO DA INVENÇÃO O problema da técnica a ser resolvido na invenção é fornecer um sistema e método de codificação de áudio de 30 quantização de vetor de retículo para obter um bom efeito de codificação de fonte de informações de voz.
Para resolver o problema da técnica acima, a invenção fornece um método de codificação de áudio de quantização de vetor de retículo, que compreende: dividir os coeficientes de domínio de frequência de um sinal de áudio para o qual a transformada de cosseno discreta modificada (MDCT) foi realizada em uma pluralidade , 5 de sub-bandas codificadoras, e quantizar e codificar valor de envelope de amplitude de cada sub-banda codificadora para 7 obter bits codificados de envelope de amplitudes; realizar alocação de bit em cada sub-banda codificadora e realizar normalização, quantização e 10 codificação, respectivamente, ern vetores em uma sub-banda codificadora de bit baixo em uma quantização de vetor de retículo de pirâmide e em vetores em uma sub-banda codificadora de bit alto em uma quantização de vetor de retículo de esfera para obter bits codificados dos 15 coeficientes de domínio de frequência, em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora em que o número de bits alocados para um coeficiente de domínio de frequência única é menor do que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda 20 codificadora em que o número de bits alocados para um coeficiente de domínio de frequência única é maior do que ou " igual a um valor limiar pré-ajustado; e multiplexar e embalar os bits codificados do envelope de amplitude e os bits codificados dos coeficientes 25 de domínio de frequência de cada sub-banda codificadora, depois enviar para um lado decodificador.
De preferência, quando as sub-bandas codificadoras são divididas, os coeficientes de domínio de frequência após a MDCT ser realizada são divididos em diversas sub-bandas 30 codificadoras com um intervalo uniforme, ou são divididas em diversas sub-bandas codificadoras com um intervalo não uniforme de acordo com recurso de percepção auditiva.
De preferência, antes da etapa de realização alocação de bit em cada sub-banda codificadora, o método compreende ainda: calcular um valor inicial de importância de cada sub-banda codificadora, de acordo com o valor de envelope de amplitude de cada sub-banda codificadora; 5 na etapa de realização alocação de bit em cada sub- - banda codificadora, a alocação de bit é realizada em cada à coeficiente de domínio de frequência em cada sub-banda codificadora, de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, a extensão 10 da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit são, ambas, variáveis. De preferência, o valor inicial de importância é calculado de acordo com um valor de bit ideal e com um fator de escalonamento, em conformidade com o recurso de percepção 15 auditiva sob o sinal de quantização máxima para a condição de ganho de razão de ruído, ou é o exponente de quantização 77i,(j) ou Lµxlog2[Th(j)]+vj de cada envelope de amplitude de sub-banda codificadora, em que, µ>0 e µ e v são números reais . 20 De preferência, o processo de realização de alocação de bit em cada sub-banda codificadora compreende:
W calcular um valor médio de consumo de bit de um coeficiente de domínio de frequência; - calcular um valor de bit ideal sob o sinal de 25 quantização máxima para a condição de ganho de razão de ruído, de acordo com uma teoria de distorção de taxa de código; calcular o valor inicial de importância de cada sub-banda codificadora ern alocação de bit; 30 realizar alocação de bit em cada sub-banda codificadora, de acordo com a importância de cada sub-banda codificadora: aumentar o número de bits codificados de cada coeficiente de domínio de frequência na sub-banda codificadora com a importância máxima e diminuir a importância da sub-banda codificadora; até que a soma do número de bits consumidos por todas as sub-bandas
W 5 codificadoras pode atender o valor máximo sob a condição da limitação de bit.
-, De preferência, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são 10 menores do que a extensão da etapa de alocação de bit e do que a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit zero e da sub-banda codificadora de bit alto. De preferência, a extensão da etapa de alocação de 15 bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são 0,5; a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit zero e da sub-banda 20 codificadora de bit alto são, ambas, 1. De preferência, a etapa de realização de . normalização e quantização na sub-banda codificadora de bit baixo em uma quantização de vetor de retículo de pirâmide . compreende: 25 realizar processamento de normalização em todos os coeficientes de domínio de frequência na sub-banda codificadora usando-se o valor de envelope de amplitude de quantização da sub-banda codificadora e agrupá-los para formar uma pluralidade de vetores a serem quantizados de 30 rnúltiplas dimensões; realizar processamento de quantização em cada vetor a ser quantizado; em que, a etapa de realização de processamento de quantização em cada vetor a ser quantizado compreende: realizar uma regulação de energia em um vetor a ser regulado de 8 dimensões na sub-banda codificadora e quantizar o vetor a ser quantizado de 8 dimensões de energia regulada para um ponto de retículo D8; e comparar a energia do ponto de retículo D8 obtida
W 5 por meio da quantização com urn raio de energia de superfície de pirâmide máximo em um livro de código de codificação, se a - energia do ponto de retículo D8 é menor do que ou igual ao raio de energia de superfície de pirâmide máximo, calcular um índice de quantização do ponto de retículo D8 no livro de 10 código; se a energia do ponto de retículo D8 for maior do que o raio de energia de superfície de pirâmide máximo, realizar um truncamento de energia em um vetor a ser quantizado regulado da sub-banda codificadora até que a energia do ponto de retículo de quantização do vetor a ser quantizado de 15 energia truncada não é maior do que o raio de energia de superfície de pirâmide máximo e, no entanto, adicionar continuamente uma energia para o vetor a ser quantizado de energia truncada até que a energia do ponto de retículo D8 para o qual o vetor a ser quantizado de energia adicionada é 20 quantizado é mais do que o raio de energia de superfície de pirâmide máximo e, então, determinar o último ponto de . retículo D8 cuja energia não é maior do que o raio de energia de superfície de pirâmide máximo a ser um ponto de retículo " de quantização de vetor e calcular o índice de quantização do 25 ponto de retículo de quantização de vetor no livro de código; e/ou a etapa de realização de normalização e quantização na sub-banda codificadora de bit alto em uma quantização de vetor de retículo de esfera compreende: 30 realizar processamento de normalização em todos os coeficientes de domínio de frequência na sub-banda codificadora, usando-se o valor de envelope de amplitude de quantização da sub-banda codificadora, e agrupá-los para formar uma pluralidade de vetores a serem quantizados de múltiplas dimensões; realizar processamento de quantização em cada vetor a ser quantizado; em que, a etapa de realização de processamento de quantização em cada vetor a ser quantizado e 5 compreende: realizar uma regulação de energia em um vetor a ser
- regulado de 8 dimensões na sub-banda codificadora e quantizar o vetor a ser quantizado de 8 dimensões de energia regulada para um ponto de retículo D8;
10 dividir um valor do ponto de retículo D8 obtido através da quantização por 2, para uma potência do número de bits alocados 2"gion_bit(j) e, então, requantizar para o ponto de retículo D8, julgar se o ponto de retículo D8 requantizado é um vetor zero, se sim, determinar que uma condição de vetor 15 zero seja atendida, se não, determinar que a condição de vetor zero não seja atendida, em que, region_bit(j) representa o número de bits alocados para um coeficiente de domínio de frequência na j-ésima sub-banda codificadora; se a condição de vetor zero é atendida, calcular um
20 vetor de índice do ponto de retículo D8; e se a condição de vetor zero não é atendida, a realizar truncamento de energia em um valor de um vetor a ser quantizado até que a condição de vetor zero seja atendida, q realizar cópia de segurança de um valor múltiplo w do próprio
25 vetor a ser quantizado, adicionar o valor múltiplo de cópia de segurança w ao vetor a ser quantizado de energia truncada,
depois quantizar para o ponto de retículo D8, julgar se a condição de vetor zero é atendida, se não, calcular um último vetor de índice k do ponto de retículo D8 que atende a 30 condição de vetor zero, se sim, adicionar continuamente o valor múltiplo de cópia de segurança w ao vetor a ser quantizado e, então, quantizar para o ponto de retículo D8 até que a condição de vetor zero não seja atendida.
De preferência, na etapa de realização da regulação de energia no vetor a ser regulado de 8 dimensões, primeiramente pesquisar a tabela abaixo para o número de
5 sequência de livro de código index e o fator de escalonamento - de energia scale que correspondem ao número de bits, de
- acordo com o número de bits regionbit(j) alocados para um coeficiente de domínio de frequência na sub-banda codificadora j, onde o vetor a ser regulado de 8 dimensões
10 está localizado; então, realizar a regulação de energia no vetor a ser quantizado, de acordo com a equação a seguirú
E:,al, =(LT-a)*scale(index)
em que, ÍJ"representa o m ésimo vetor a ser regulado de 8 dimensões normalizado na sub-banda codificadora
~ 15 j, L:s,al, representa um vetor de 8 dimensões após realizar a regulação de energia em Yi" , a = (2"',2"',2"',2^,2",2^,2-',2_') ;
O número Número Fator Raio de bits de sequência de de de energia ( livro de código escalonamento superfície ( Regionjbit Index de energia pirâmide máxirrr Larg( Scale 1 0 0,5 2 1,5 I 1 I 0,65 I 4 2 I 2 I 0,85 I 6 10 2,5 I 3 I 1,2 3 ) 4 l 1,6 14 3,5 I 5 I_ 2,25 À__ 22 30 4 I 6 I 3,05 Á__ 4,5 I 7 I 4,64 I 44 na etapa de quantização do vetor a ser quantizado de 8 dimensões de energia regulada para o ponto de retículo
D8, quantizar o vetor de 8 dimensões de energia reguladaE:,,al,
20 para o ponto de retículo D8 Yj" com a equação a seguirü ij; = A (F:scale) em que , Jd, (0) representa um operador de quantização para mapear um certo vetor de 8 dimensões para o - ponto de retículo D8.
5 a etapa de calcular o índice de quantização do « ~ ponto de retículo D8 L" no livro de código compreende: etapa 1, marcar os pontos de retículo em cada superf ície de pirâmide, de acordo com a magnitude da energia da superfície da pirâmide; 10 em que , para uma grade de ponto de retículo de número inteiro Z'cuja dimensão é l, a superfície da pirâmide cujo raio de energia é K é definido como: l S(L,K)={Y=(y,,y,,...,y,)eZ' I F|y,|=K} em que , N(L,K)é verif icado como o número de pontos 15 de retículo em S(L,K) e para a grade de número inteiro Zl , há fórmulas de recursão a seguir for N(L,K) : N(L,0) =1 (L Z 0), N(0,K) = 0 (K Z 1) N(L,K)=N(L-1,K)+N(L-1,K-1)+N(L,K-1) (LZ1,KZI); m para um ponto de retículo de número inteiro 20 y _(yl}y2>···3yL) e z' na superf ície da pirâmide cuj o raio de superfície de energia é K, urri número b em [0,1,.... ,N(L,K) -1] é usado para identificar e b é chamado de marcador do ponto de retículo e as etapas para resolver o marcador b são como a seguiru 25 etapa 1.1, deixar b=0Qi=1Ok=KCjl=L, calcular N(in, n) , (m<=L, n<=K) de acordo com as fórmulas de recursão e definim 'g"(") ).1 ::,:0'
etapa 1.2, se J/j=O, então b=b+0;
se Wi I -1, então b - b + N(l -1,k)+ [1" 'g:(yi)l N(l -l,k -1) ;
se |yi|>1, então |y,j-l b=b+N(l-1,k)+2XN(l-l,k-j) 0
!
" +l1"'g:(yi)]N(l-1,k-|y,|)
5 etapa 1.3, k=k-jy,|, 1=1-1, i=i+1, se k=O agora,
parada de pesquisa, b(j, m)=b, que é o marcador de Y, ou então, continuar a etapa 1.2;
etapa 2, marcar o ponto de retículo de modo uniforme em toda a superfície da pirâmide;
10 em que, o marcador uniforrne do ponto de retículo em toda a superfície da pirâmide é calculado de acordo com o número de pontos de retículo em cada superfície de pirâmide,
e o marcador do ponto de retículo em sua própria superfície da pirâmide, k-2
15 index _ b(j,m)=b(j,m)+EN(8,kk) kk=O em que, kk é um número par, b(j,m) é o marcador de ~ ponto de retículo D8 Y"na superfície da pirâmide onde o ~ ponto de retículo D8 Y"está localizado e index b(j,m) é o r~ índice de quantização do ponto de retículo D8 L"no livro de
20 código.
De preferência, a etapa de codificar a sub-banda codificadora de bit baixo em uma quantização de vetor de retículo de pirâmide compreende:
25 realizar A codificação de Huffman nos índices de quantização de todas as sub-bandas codificadoras de bit baixo ; e se um número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for menor do que um número total
_ 5 de bits necessário para codificação natural dos índices de quantização de todas as sub-bandas codificadoras de bit baixo, então com o uso da codificação de Huffman e ajustando- se um indicador da codificação de Huffman do coeficiente de domínio de frequência como sendo 1 ou verdadeiro, com o uso
10 dos bits salvos pela codificação de Huffman para modificar o número de bits alocados da sub-banda codificadora e realizar quantização de vetor e codificar novamente na sub-banda codificadora após o número de bits alocados ser modificado;
se o número total de bits consumidos dos índices de 15 quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for maior do que ou igual ao número total de bits necessário para codificação natural dos índices de quantização de todas as sub-bandas codificadoras de bit baixo, realizar codificação natural no o índice de
20 quantização novamente e ajustar o indicador da codificação de Huffman do coeficiente de domínio de frequência como sendo 0
- ou falso.
De preferência, a etapa de usar os bits salvos pela e codificação de Huffman para modificar o número de bits
25 alocados da sub-banda codificadora compreerlde: calcular o número de bits salvos pela codificação de Huffman; encontrar uma sub-banda codificadora com uma importância máxima em todas as sub-bandas codificadoras, se o
30 número de bits alocados para a sub-banda codificadora alcançar o valor máximo do número de bits possivelmente alocado para a sub-banda codificadora, ajustar a importância da sub-banda codificadora como sendo a menor e não modificar mais o número de bits alocados para a sub-banda codificadora, se o número de bits alocados para a sub-banda codificadora não alcançar o valor máximo do número de bits, possivelmente alocado para a sub-banda codificadora, então realizar , 5 modificação de alocação de bit na sub-banda codificadora com a importância rnáxima; e no processo de modificação de alocação de bit, alocar 1 bit para a sub-banda codificadora com o número de bits alocados sendo 0 e a importância após a alocação de bit 10 ser reduzida por 1; alocar 0,5 bit para a sub-banda codificadora com o número de bits alocados sendo maior do que 0 e menor do que 5 e a importância após a alocação de bit é reduzida por 0,5; alocar 1 bit para a sub-banda codificadora com o número de bits alocados é maior do que 5 e a 15 importância após a alocação de bit é reduzida por 1. De preferência, após cada intervalo o número de bits alocados é modificado, isto é o número de iterações de modificação de alocação de bit count é adicionado por 1, se o número de iterações de modificação de alocação de bit count 20 alcançar um limite superior pré-ajustado ou se o número de bits que pode ser usado é menor do que o número de bits - necessário para a modificação de alocação de bit, o processo de modificação de alocação de bit termina.
N De preferência, a sequência de multiplexação e 25 embalamento dos bits codificados é como: um indicador de codificação de Huffman de envelope de amplitude, um indicador da codificação de Huffman do coeficiente de domínio de frequência, o número de iterações de modificação de alocação de bit, bits codificados do envelope de amplitude, bits 30 codificados do coeficiente de domínio de frequência. De preferência, quando a codificação de Huffman é realizada nos índices de quantização de todas as sub-bandas codificadoras de bit baixo, diferentes livros de código são usados para codificar o índice de quantização de vetor da sub-banda codificadora, de acordo com o número de bits alocados para um coeficiente de domínio de frequência na sub- banda codificadora.
. 5 para resolver o problema da técnica acima, a invenção ainda fornece um método de decodificação de áudio de · quantização de vetor de retículo, que compreende: decodificar cada bit codificado de envelope de amplitude em uma força de bit a ser decodificada para obter 10 urn envelope de amplitude exponente de quantização de cada sub-banda codificadora; realizar alocação de bit em cada sub-banda codificadora e realizar decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de 15 pirâmide em uma sub-banda codificadora de bit baixo para obter um coeficiente de domínio de frequência da sub-banda codificadora de bit baixo e realizar decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide em uma sub-banda codificadora 20 de bit alto para obter um coeficiente de domínio de frequência da sub-banda codificadora de bit alto; em que, a ·· sub-banda codificadora de bit baixo é uma sub-banda codificadora em que o número de bits alocados para um . coeficiente de domínio de frequência é menor do que um valor 25 limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora em que o número de bits alocados para um coeficiente de domínio de frequência é maior do que ou igual a um valor limiar pré-ajustado; e realizar uma transformada de cosseno discreta 30 modificada inversa (IMDCT) no coeficiente de frequência para o qual um carregamento de ruído é realizado para obter um sinal de áudio final.
De preferência, antes da etapa de realização
14 /104 alocação de bit em cada sub-banda codificadora, o método compreende ainda: calcular um valor inicial de importância de cada sub-banda codificadora, de acordo com o valor de envelope de amplitude de cada sub-banda codificadora; . 5 na etapa de realização alocação de bit em cada sub- banda codificadora, alocação de bit é realizada em cada · coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, a extensão 10 da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit são, ambas, variáveis.
De preferência, ap6s a alocação de bit ser realizada e antes da decodificação, a rnodificação de alocação de bit é realizada na sub-banda codificadora para count 15 intervalos novamente, de acordo com um valor do número de iterações de modificação de alocação de bit count e a importância de cada sub-banda codificadora em um sítio codificador.
De preferência, quando a alocação de bit é 20 realizada, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação - de bit da sub-banda codificadora de bit baixo são menores do que a extensão da etapa de alocação de bit e a extensão da ~ etapa de redução de importância após a alocação de bit da 25 sub-banda codificadora de bit zero e sub-banda codificadora de bit alto; quando alocação de bit é modificada, a extensão da etapa de modificação de bit e a extensão da etapa de redução de importância após a modificação de bit da sub-banda 30 codificadora de bit baixo são menores do que a extensão da etapa de modificação de bit e a extensão da etapa de redução de importância após a modificação de bit da sub-banda codificadora de bit zero e sub-banda codificadora de bit alto. De preferência, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são, . 5 ambas, 0,5; a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação · de bit da sub-banda codificadora de bit zero e sub-banda codificadora de bit alto são, ambas, 1.
De preferência, na etapa de realização de 10 decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide na sub-banda codificadora de bit baixo, o índice de quantização de vetor da sub-banda codificadora de bit baixo é obtido realizando-se a codificação de Huffman ou decodificação direta na sub-banda 15 codificadora de bit baixo, de acordo com o indicador da codificação de Huffman do coeficiente de domínio de frequência do lado codificador e a quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide são realizadas em todos os índices de quantização de 20 vetor para obter o coeficiente de domínio de frequência da sub-banda codificadora de bit baixo; na etapa de realização - de decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de esfera na sub-banda + codificadora de bit alto, decodificação natural é usada 25 diretamente para obter o índice de quantização de vetor da sub-banda codificadora de bit alto e a quantização inversa e normalização inversa da quantização de vetor de retículo de esfera são realizadas em todos os índices de quantização de vetor para obter o coeficiente de domínio de frequência da 30 sub-banda codificadora de bit alto. Para resolver o problema da técnica acima, a invenção ainda fornece um sistema de codificação de áudio de quantização de vetor de retículo, que compreende: uma unidade de transformada de cosseno discreta modificada (MDCT), uma unidade de cálculo de envelope de amplitude, uma unidade de quantização e codificação de envelope de amplitude, uma unidade de alocação de bit, uma unidade de processamento de
, 5 normalização, uma unidade de codificação e quantização de vetor de retículo de classificação e um multiplexador de
· fluxo de bit; em que, a unidade de MDCT é configurada para realizar a MDCT em um sinal de áudio para gerar coeficientes de domínio
10 de Erequência; a unidade de cálculo de envelope de amplitude é conectada a uma unidade de MDCT e é configurada para dividir os coeficientes de domínio de frequência gerados por uma unidade de MDCT em uma pluralidade de sub-bandas
15 codificadoras e calcular um valor de envelope de amplitude de cada sub-banda codificadora;
a unidade de quantificação e codificação do envelope de amplitude é conectada à unidade de cálculo de envelope de amplitude e é configurada para quantizar e
20 codificar o valor de envelope de amplitude de cada sub-banda codificadora para gerar um bit codificado do envelope de
- amplitude de cada sub-banda codificadora; a unidade de alocação de bit é conectada à unidade
" de quantificação e codificação do envelope de amplitude e é
25 configurada para realizar alocação de bit para obter o número de bits codificados alocados para cada coeficiente de domínio de frequência ern cada sub-banda codificadora;
a unidade de processamento de normalização é conectada a uma unidade de MDCT e é configurada para usar o
30 valor de envelope de amplitude de quantização da sub-banda codificadora para realizar processamento de normalização em todos os coeficientes de domínio de frequência em cada sub-
banda codificadora;
a unidade de codificação e quantização de vetor de retículo de classificação é conectada à unidade de processamento de normalização e a unidade de alocação de bit é configurada para realizar quantização e codificação nos e 5 vetores a serem quantizados normalizados em uma sub-banda codificadora de bit baixo e uma sub-banda codificadora de bit
· ' alto respectivamente em uma quantização de vetor de retículo de pirâmide e uma quantização de vetor de retículo de esfera para obter o bit codificado do coeficiente de domínio de
10 frequência; em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora em que o número de bits alocados para um coeficiente de domínio de frequência é menor do que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora em que o número de bits
15 alocados para um coeficiente de domínio de frequência é maior do que ou igual a um valor limiar pré-ajustado;
o multiplexador de fluxo de bit é conectado à unidade de quantificação e codificação do envelope de amplitude e a unidade de codificação e quantização de vetor
20 de retículo de classificação é configurada para multiplexar os bits codificados de cada sub-banda codificadora e os bits
- codificados dos coeficientes de domínio de frequência e enviar para um lado decodificador. . De preferência, quando se dividem as sub-bandas 25 codificadoras, a unidade de cálculo de envelope de amplitude divide os coeficientes de domínio de frequência após a MDCT ser realizada em diversas sub-bandas codificadoras com um intervalo uniforme, ou divide em diversas sub-bandas codificadoras com um intervalo não uniforme, de acordo com
30 recurso de percepção auditiva.
De preferência, a unidade de alocação de bit compreende um módulo de cálculo de importância e um módulo de alocação de bit que são conectados, em que,
o módulo de cálculo de importância é configurado para calcular um valor inicial de importância de cada sub- banda codificadora, de acordo com o valor de envelope de amplitude da sub-banda codificadora; µ 5 o módulo de alocação de bit é configurado para realizar alocação de bit em cada coeficiente de domínio de · frequência em cada sub-banda codificadora, de acordo com a importância de cada sub-banda codificadora, ern que, durante a alocação de bit, a extensão da etapa de alocação de bit e a 10 extensão da etapa de redução de importância após a alocação de bit são, ambas, variáveis. De preferência, o valor inicial de importância é calculado de acordo com um valor de bit ideal e com um fator de escalonamento em conformidade com o recurso de percepção 15 auditiva sob o sinal de quantização máxima para a condição de ganho de razão de ruído, ou é o exponente de quantização 77i,(j) ou Lµxlog,[Th(j)]+v] de cada envelope de amplitude de sub-banda codificadora, em que, µ>0 e µ e v são, ambos, números reais.
20 De preferência, quando se calcula o valor inicial da importância, o módulo de cálculo de importância primeiramente calcula um valor médio de consumo de bit de um coeficiente de domínio de frequência; então calcula um valor . de bit ideal sob o sinal de quantização máxima para a 25 condição de ganho de razão de ruído, de acordo com uma teoria de distorção de taxa de código; então calcula o valor inicial de importância de cada sub-banda codificadora em alocação de bit, de acordo com o valor médio de consumo de bit e o valor de bit ideal; 30 o módulo de cálculo de iinportância que realiza alocação de bit em cada sub-banda codificadora, de acordo com a importância de cada sub-banda codificadora compreende:
aumentar o número de bits codificados de cada coeficiente de domínio de frequência na sub-banda codificadora com a importância máxima e diminuir a importância da sub-banda codificadora; até que a soma dos números de bits consumidos .j 5 por todas as sub-bandas codificadoras atende o valor máximo sob a condição da limitação de bit. m De preferência, quando o módulo de alocação de bit realiza alocação de bit, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a 10 alocação de bit da sub-banda codificadora de bit baixo são menores do que a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância ap6s a alocação de bit da sub-banda codificadora de bit zero e a sub-banda codificadora de bit alto.
15 De preferência, quando o módulo de alocação de bit realiza a alocação de bit, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são, ambas, 0,5; a extensão da etapa de alocação de bit e a 20 extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit zero e a sub-banda - codificadora de bit alto são, ambas, 1. De preferência, a unidade de codificação e - quantização de vetor de retículo de classificação compreende 25 um módulo de processamento de classificação e um módulo de quantização de vetor de retículo de pirâmide, em que, o módulo de processamento de classificação é conectado à unidade de processamento de normalização e é configurado para agrupar os coeficientes de dornínio de 30 frequência normalizados para formar um vetor a ser quantizado de múltiplas dimensões e encaminhar o vetor a ser quantizado normalizado da sub-banda codificadora de bit baixo para o módulo de quantização de vetor de retículo de pirâmide;
o módulo de quantização de vetor de retículo de pirâmide é conectado ao módulo de processamento de classificação e é configurado para realizar a quantização de vetor de retículo de pirâmide após o vetor a ser quantizado
, 5 normalizado de cada sub-banda codificadora de bit baixo; o módulo de quantização de vetor de retículo de pirâmide
- compreende um primeiro submódulo de regulação de energia, um primeiro submódulo de quantização de ponto de retículo, um primeiro submódulo de ajuste de energia e submódulo de 10 cálculo de índice de quantização, em que, o primeiro submódulo de regulação de energia é configurado para realizar a regulação de energia em um vetor a ser regulado de 8 dimensões na sub-banda codificadora; o primeiro submódulo de quantização de ponto de
15 retículo é conectado ao primeiro submódulo de regulação de energia e é configurado para quantizar o vetor a ser regulado de 8 dimensões para um ponto de retículo D8;
o primeiro submódulo de ajuste de energia é conectado ao primeiro submódulo de quantização de ponto de
20 retículo e é configurado para comparar a energia do ponto de retículo D8 com um raio de energia de superfície de pirâmide máximo em um livro de código de codifícação, se a energia do ponto de retículo D8 é menor do que ou igual ao raio de © energia de superfície de pirâmide máximo, notificar o 25 submódulo de cálculo de índice de quantização para calcular um índice de quantização do ponto de retículo D8 no livro de código; se a energia do ponto de retículo D8 é maior do que o raio de energia de superfície de pirâmide máximo, realizar um truncamento de energia no vetor a ser quantizado regulado na
30 sub-banda codificadora e notificar o primeiro submódulo de quantização de ponto de retículo para truncar a energia até que a energia do ponto de retículo de quantização do vetor a ser quantizado de energia truncada não seja maior do que o raio de energia de superfície de pirâmide máximo e, no entanto, adicionar continuamente uma energia ao vetor a ser quantizado de energia truncada e notificar o primeiro submódulo de quantização de ponto de retículo para quantizar
, 5 o vetor a ser quantizado de energia adicionada para o ponto de retículo D8 até que a energia do ponto de retículo D8 para
- o qual o vetor a ser quantizado de energia adicionada é quantizado seja maior do que o raio de energia de superfície de pirâmide máximo e notificar o submódulo de cálculo de
10 índice de quantização para calcular o índice de quantização de o último ponto de retículo D8 cuja energia não é maior do que o raio de energia de superfície de pirâmide máximo no livro de código; o módulo de cálculo de quantização de índice é
15 conectado ao primeiro subrnódulo de ajuste de energia e é configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código, de acordo com a notificação do primeiro submódulo de ajuste de energia;
e 20 a unidade de codificação e quantização de vetor de retículo de classificação compreende, ainda, um módulo de
· quantização de vetor de retículo de esfera conectado ao módulo de processamento de classificação; o módulo de " processamento de classificação é, ainda, configurado para
25 encaminhar o vetor a ser quantizado normalizado na sub-banda codificadora de bit alto para o módulo de quantização de vetor de retículo de esfera para processar; o módulo de quantização de vetor de retículo de esfera é configurado para realizar quantização de vetor. de
30 retículo de esfera no vetor a ser quantizado normalizado na sub-banda codificadora de bit alto; o módulo de quantização de vetor de retículo de esfera compreende um segundo submódulo de regulação de energia, um segundo submódulo de quantização de ponto de retículo, um submódulo de julgamento de condição de vetor, um segundo submódulo de ajuste de energia e um submódulo de cálculo de vetor de índice, em que, o segundo submódulo de regulação de energia é , 5 configurado para realizar a regulação de energia no vetor a ser regulado de 8 dimensões na sub-banda codificadora;
W o segundo submódulo de quantização de ponto de retículo é conectado ao segundo submódulo de regulação de energia e é configurado para quantizar o vetor a ser regulado 10 de 8 dimensões para o ponto de retículo D8; o submódulo de julgamento de condição de vetor zero é conectado ao segundo submódulo de quantização de ponto de retículo, e é configurado para julgar se o ponto de retículo D8 atende a condição de vetor zero, se sim, notificar o 15 submódulo de cálculo de vetor de índice para calcular o vetor de índice do ponto de retículo D8; se não, notificar o segundo submódulo de ajuste de energia para ajustar a energia do vetor a ser quantizado; a condição de vetor zero é dividir o valor de ponto de retículo D8 obtido por quantização de 20 vetor por 2, para uma potência do número de bits alocados 2reg'onbi[(/") e, então, projetar para o ponto de retículo D8, o valor de ponto de retículo D8 projetado é um vetor zero, em que, region_bit(j) representa o número de bits alocados para um * coeficiente de domínio de frequência na j-ésima sub-banda 25 codificadora; o segundo submódulo de ajuste de energia é conectado ao submódulo de julgamento de condição de vetor zero e o segundo submódulo de quantização de ponto de retículo, e é configurado para realizar truncamento de 30 energia em um valor do vetor a ser quantizado e notificar o segundo submódulo de quantização de ponto de retículo para quantizar o vetor a ser quantizado, após truncamento de energia para o ponto de retículo D8, até que a condição de vetor zero seja satisfeita; fazer cópia de segurança de um valor múltiplo w do próprio vetor a ser quantizado, e adicionar o valor múltiplo de cópia de segurança w ao vetor a a 5 ser quantizado de energia truncada, e notificar o segundo subm6dulo de quantização de ponto de retículo para quantizar - o vetor a ser quantizado de energia truncada para o ponto de retículo D8, até que a condição de vetor zero não seja satisfeita; e notificar o submódulo de cálculo de vetor de 10 índice para calcular um último vetor de índice do ponto de retículo D8 que atende a condição de vetor zero; o submódulo de cálculo de vetor de índice é conectado ao submódulo de julgamento de condição de vetor zero e o segundo submódulo de ajuste de energia e é 15 configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código, de acordo com notificações a partir do submódulo de julgamento de condição de vetor zero e do segundo submódulo de ajuste de energia.
preferencialmente, o vetor de retículo de 20 classificação que quantifica e codifica a unidade ainda compreende um módulo julgador de tipo de codificação, urn módulo codificador de Huffman, um módulo codificador natural e um módulo modificador de alocação de bit, em que, + o módulo julgador de tipo de codificação é 25 configurado para julgar se um número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo é menor que um número total de bits necessário para codificação natural dos índices de quantização de doas as sub-bandas codificadoras de bit 30 baixo, se sim, notificar o módulo codificador de Huffman e módulo modificador de alocação de bit; se o número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for maior ou igual ao número total de bits necessário para codificação dos índices de quantização de todas as sub-bandas codificadoras de bit baixo, notificar o módulo codificador natural;
. 5 o módulo codificador de Huffrnan é configurado para realizar a codificação de Huffman no índice de quantização da
" sub-banda codificadora de bit baixo, e ajustar o indicador de codificação de Huffman de coeficiente de domínio de frequência para ser 1 ou verdadeiro,
10 o módulo codificador natural é configurado para realizar a codificação natural no índice de quantização da sub-banda codificadora de bit baixo e o vetor de índice da sub-banda codificadora de bit alto;
o módulo modificador de alocação de bit é 15 configurado para usas bits salvos pela codificação de Huffman para modificar o número de bits alocados da sub-banda codificadora, e notificar o módulo processador de classificação para realizar a quantização e codificação de vetor novamente após a classificação das sub-bandas 20 codificadoras com o número de bits alocados que são modificados. preferencialmente, o módulo modificador de alocação de bit é configurado para, quando realiza alocação de bit, 7 encontrar uma sub-banda codificadora com uma importância 25 rnáxima em todas as sub-bandas codificadoras, se q número de bits alocados na sub-banda codificadora tiver atingido o valor máximo do número de bits possivelmente alocados na sub-
banda codificadora, ajustar a importância da sub-banda codificadora a mais baixa, e não modificar mais o número de
30 bits alocados para a sub-banda codificadora, se o número de bits alocados na sub-banda codificadora não tiver atingido o valor máximo do número de bits possivelmente alocados na sub- banda codificadora, então realizar a modificação de alocação de bit na sub-banda codificadora com a importância máxima; e durante a modificação de alocação de bit, alocar 1 bit na sub-banda codificadora com o número de bits alocados sendo 0, e reduzir a importância em 1 após a alocação de bit; . 5 alocar 0,5 bit na sub-banda codificadora com o número de bits alocados sendo maior que 0 e menor que 5, e reduzir a · importância em 0,5 após a alocação de bit; alocar 1 bit na sub-banda codificadora com o número de bits alocados sendo maior que 5, e reduzir a importância em 1 após a alocação de 10 bit. Preferencialmente, após cada tempo, o número de bits alocados é modificado pelo módulo modificador de alocação de bit, isto é, o número de iterações de modificação de alocação de bit count é adicionado em 1, se o número de 15 iterações de modificação de alocação de bit count tiver atingido um lirnite superior pré-ajustado ou o número de bits que pode ser usado for menor que o número de bits necessário para a modificação de alocação de bit, finalizar um processo da modificação de alocação de bit.
20 Preferencialmente, a sequência do multiplexador de fluxo de bit que multiplexa e empacota os bits codificados é coMorme: um indicador de codificação de Huffman de envelope de arnplitude, um indicador de codificação de Huffrnan de ^ coeficiente de domínio de frequência, o número de iterações 25 de modificação de alocação de bit, bits codificados de um envelope de amplitude, bits codificados do coeficiente de domínio de frequência. Preferencialmente, quando o módulo codificador de Huffman realiza a codificação de Huffman nos índices de 30 quantização de todas as sub-bandas codificadoras de bit baixo, este usa diferentes livros de códigos para codificar o índice de quantização do vetor da sub-banda codificadora de acordo com o número de bits alocados a um coeficiente de domínio de frequência na sub-banda codificadora. Para resolver o problema têcnico acima, a invenção ainda fornece um sistema decodificador de áudio de quantização de vetor de retículo, que compreende: um 5 demultiplexador de fluxo de bit, uma unidade decodificadora de envelope de amplitude de sub-banda codificadora, unidade · aiocadora de bit, uma unidade decodificadora de coeficiente de domínio de frequência, uma unidade quantizadora inversa de quantização de vetor de retículo de classificação, uma 10 unidade processadora de normalização inversa, unidade de carregamento de ruído e uma unidade de transforrnada de cosseno discreta modificada inversa (IMDCT), em que, o demultiplexador de fluxo de bit é configurado para separar um bit codificado de envelope de amplitude e bit 15 codificado de coeficiente de domínio de um fluxo de bit a ser codificado; a unidade decodificadora de envelope de amplitude de sub-banda codificadora é conectada ao demultiplexador de fluxo de bit e é configurada para decodificar o bit 20 codificado de envelope de amplitude emitido pelo demultiplexador de fluxo de bit para obter um exponente de quantização de envelope de amplitude de cada sub-banda codificadora; a unidade alocadora de bit é conectada à unidade
D 25 decodificadora de envelope de amplitude e é configurada para realizar a alocação de bit para obter o número de bits codificados alocados em cada coeficiente de domínio de frequência erri cada sub-banda codificadora; a unidade decodificadora de coeficiente de domínio 30 de frequência é conectada à unidade decodificadora de envelope de amplitude e à unidade alocadora de e é configurada para decodificar uma sub-banda codificadora de bit baixo para obter um índice de quantização da sub-banda codificadora de bit baixo; e decodificar uma sub-banda codificadora de bit alto para obter o vetor de índice da sub- banda codificadora de bit alto, em que, a sub-banda codifícadora de bit baixo é a sub-banda codificadora em que o . 5 número de bits alocados em um coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, a sub- · banda codificadora de bit alto é uma sub-banda codificadora em que o número de bits alocados em um coeficiente de domínio de frequência é maior ou igual a um valor limiar pré- IO ajustado; a unidade quantizadora inversa de quantificação de vetor de retículo de classificação é configurada para realizar a quantização inversa da quantização de vetor de retículo de pirâmide no índice de quantização da sub-banda 15 codificadora de bit baixo, e realizar quantização inversa da quantização de vetor de retículo de esfera no vetor de índice da sub-banda codificadora de bit alto; a unidade processadora de normalização inversa é configurada para realizar normalização inversa em valores 20 após a quantização inversa ter sido realizada para a sub- banda codificadora, e obter o coeficiente de domínio de « frequência; a unidade de carregamento de ruído é configurada
W para realizar carregamento de ruído na sub-banda em que 25 nenhum bit está alocado no valor de saída de coeficiente de domínio de frequência emitido pela unidade processadora de normalização inversa; a unidade de transformada de cosseno discreta modificada inversa (IMDCT) é conectada à unidade de 30 carregamento de ruído e é configurada para realizar IMDCT no coeficiente de domínio de frequência para o qual o carregamento de ruído foi realizado para obter um sinal de áudio.
Preferencialmente, a unidade alocadora de bit compreende um módulo de cálculo de importância e um módulo alocador de bit conectados entre si, em que, o módulo de cálculo de importância é configurado 5 para calcular um valor inicial da importância de cada sub- . banda codificadora de acordo com o valor de envelope de · amplitude da sub-banda codificadora; o módulo alocador de bit é configurado para realizar alocação de bit em cada coeficiente de domínio de 10 frequência em casa sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, a extensão etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit são ambas variáveis.
15 Preferencialmente, a unidade alocadora de bit ainda compreende um módulo modificador de alocação de bit conectado ao módulo alocador de bit, e o módulo modificador de alocação de bit é configurado para realizar a modificação de alocação de bit na sub-banda codificadora para tempos de count 20 novamente após a realização da alocação de bit de acordo com um valor do número de iterações de modificação de alocação de . bit count e a importância de cada sub-banda codificadora ern um lado codificador. Preferencialmente, quando o módulo alocador de bit 4 25 realiza a alocação de bit, a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são menores que a extensão da etapa de alocação de bit e a extensão da etapa de redução de importância após a alocação 30 de bit da sub-banda codificadora de zero bit e sub-banda codificadora de bit alto. Quando o módulo modificador de alocação de bit realiza a modificação de alocação de bit, a extensão da etapa de modificação de alocação de bit e a extensão da etapa de redução de importância após a modificação de alocação de bit da sub-banda codificadora de bit baixo são menores que a extensão da etapa de modificação de alocação de bit e a
. 5 extensão da etapa de redução de importância após a modificação de alocação de bit da sub-banda codificadora de
· zero bit e a sub-banda codificadora de bit alto.
Preferencialmente, a unidade decodificadora de coeficiente de domínio de frequência, quando realiza a 10 decodificação na sub-banda codificadora de bit baixo, realiza a codificação de Huffman na sub-banda codificadora de bit baixo de acordo com o indicador de codificação de Huffman de coeficiente de domínio de frequência no lado codificador ou realiza codificação natural para obter o índice de 15 quantização de vetor da sub-banda codificadora de bit baixo; quando realiza a decodificação na sub-banda codificadora de bit alto, realiza diretamente codificação natural para obter o vetor índice de quantização da sub-banda codificadora de bit alto. 20 preferencialmente, a unidade quantizadora inversa de quantização de vetor de retículo de classificação
· compreende um módulo processador de classificação e um módulo quantizador inverso de quantização de vetor de retículo de
. pirâmide, em que,
25 o módulo processador de classificação é configurado para encaminhar o índice de quantização da sub-banda codificadora de bit baixo para o módulo quantizador inverso de quantização de vetor de retículo de pirâmide;
o módulo quantizador inverso de quantização de 30 vetor de retículo de pirâmide é configurado para realizar quantização inversa no índice de quantização da sub-banda codificadora de bit baixo; em que, o módulo quantizador inverso de vetor de retículo de pirâmide compreende um primeiro submódulo quantizador inverso de ponto de retículo e um primeiro submódulo regulador inverso de energia conectados entre si, em que, o primeiro submódulo quantizador inverso de ponto 5 de retículo é configurado para determinar uma superfície de - pirâmide de energia em que o índice de quantização da sub- · banda codificadora de bit baixo está localizado e um marcador na superfície de pirâmide de energia e, ademais, resolver um ponto de retículo D8 correspondente; 10 o primeiro submódulo regulador inverso de energia é configurado para realizar regulação inversa de energia no ponto de retículo D8 resolvido Y, e obter í;" =(Y+a)/scale(index) em que, a=(2"',2-',2-',2-',2",2_',2"',2"') , scale(index) é 15 um fator de escalonamento; a unidade processadora de norrnalização inversa é configurada para realizar um processamento de normalização inversa em Yi" para obter o coeficiente de domínio de frequência do m-ésimo vetor da sub-banda codificadora j 20 recuperado no lado decodificador: 0 N = ?"h,{j}/2 gS7, e em que, Thq(j) é um exponente de quantização de envelope de amplitude da j-ésima sub-banda codificadora.
preferencialmente, a unidade quantizadora inversa 25 de vetor de retículo de classificação compreende um módulo quantizador inverso de quantização de vetor de retículo de esfera; o módulo processador de classificação é ainda configurado para encaminhar o vetor de índice da sub-banda codificadora de bit alto para o módulo quantizador inverso de 30 quantização de vetor de retículo de esfera para processo; o módulo quantizador inverso de quantização de vetor de retículo de esfera é configurado para realizar a quantização inversa no vetor de índice da sub-banda codificadora de bit alto; o rnódulo quantizador inverso de quantização de vetor de retículo de esfera compreende um
. 5 segundo submódulo quantizador inverso de ponto de retículo e um segundo submódulo regulador inverso de energia conectados
- entre si, em que, o segundo submódulo quantizador inverso de ponto de retículo é configurado para resolver o ponto de retículo D8
10 correspondente ao vetor de índice, em que, a etapa de resolução do ponto de retículo D8 correspondente ao vetor de índice compreende: calcular x=k*G, e calcular ytemp=x/(2^(region_bit(j));
15 e calcular o ponto de retículo D8 y=x-fD8(ytemp)* (2^(region_bit(j)); em que, k é o vetor de índice da quantização de vetor, regionbit(j) representa o número de bits alocados em um coeficiente de domínio de frequência na sub-
banda codificadora j; G é uma matriz geradora do ponto de
20 retículo D8 e sua forma é conforme segue: 2 0 0 0 0 0 0 0
G 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 e 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 o segundo submódulo regulador inverso de energia é configurado para realizar regulação inversa de energia no ponto de retículo D8 resolvido, e obter
25 r = y * scale(region _ bit(j)) /(2"g'on _ bit(j)) + a em que, a=(2",2",2-',2_',2^,2^,2",2"), scale(region_bit(j)) é um fator de escalonamento; a unidade processadora de normalização inversa é configurada para realizar processamento de normalização - 5 inversa em L" para obter o coeficiente de domínio de q frequência do m-ésimo vetor da sub-banda codificadora j recuperado no lado decodificadom 4' = 2"q'j)" gç em que, Thq(j) é um exponente de quantização de 10 envelope de amplitude da j-ésima sub-banda codificadora. O método de codificação de áudio e o sistema de quantização de vetor de retículo na invenção consideram completamente a característica de alocação da fonte de informações de voz, realizam quantização no vetor a ser 15 quantizado em uma quantização de vetor de retículo unida, especificamente, a quantização de vetor de retículo de pirâmide e a quantização de vetor de retículo de esfera são respectivamente usadas para a sub-banda codificadora de bit baixo e a sub-banda codificadora de bit alto de acordo com o 20 número de bits alocados na sub-banda codificadora, e o
B processo inverso da codificação é usado na decodificação, assirn obtendo um efeito de codificação de fonte de .
informações de voz bom. Adicionalmente, uma alocação de bit com extensão de etapa variável é usada para a alocação de 25 bit, e a extensão da etapa de alocação de bit de um coeficiente de domínio de frequência pode ser ajustada minimamente como metade de um bit, assim melhorando a eficácia de bits. Entretanto, o quantizador de vetor de retículo de pirâmide corri a extensão da etapa de bit baixo é 30 designado, e seu algoritmo de marcador de ponto de retículo tem uma complexidade baixa, assim o espaço de armazenamento é reduzido. Adicionalmente, na quantização de vetor de retículo de esfera da sub-banda codificadora de bit alto, um novo critério é usado para o marcador de extensão de livro de códigos, assim reduzindo ainda rnais a complexidade do . 5 algoritmo do quantizador de vetor de retículo. O algoritmo para economizar bits é também designado no processo de " codificação.
BREVE DESCRIÇÃO DOS DESENHOS A FIGURA 1 é um diagrama esquemático do método de 10 codificação de áudio de quantização de vetor de retículo em concordância com a invenção. A FIGURA 2 é um diagrama esquemático do processo de quantização de vetor de retículo em concordância com a invenção.
15 A FIGURA 3 é um diagrama esquemático do processo de modificação de alocação de bit em concordância com a invenção. A FIGURA 4 é um diagrama esquemático do método de decodificação de áudio de quantização de vetor de retículo em 20 concordância com a invenção. A FIGURA 5 é um diagrama esquemático da estrutura . do sistema de codificação de áudio de quantização de vetor de retículo em concordância com a invenção. * A FIGURA 6 é um diagrama esquemático da estrutura 25 dos módulos da unidade quantizadora e codificadora de vetor de retículo de classificação do sistema de codificação em concordância com a invenção. A FIGURA 7 é um diagrama esquemático da estrutura do sistema de decodificação de áudio de quantização de vetor 30 de retículo em concordância com a invenção. A FIGURA 8 é um diagrama esquemático da estrutura dos módulos da unidade quantizadora inversa de quantização de vetor de retículo de classificação do sistema de decodificação em concordância com a invenção. A FIGURA 9 é um diagrama esquemático da composição do fluxo de códigos em concordância com o exemplo da invenção.
, 5 MODALIDADES PREFERENCIAIS DA PRESENTE INVENÇÃO a ideia nuclear da invenção é quantizar os vetores " a serem quantizados em uma quantização de vetor de retículo unida, ou seja, uma quantização de vetor de retículo de pirâmide e uma quantização de vetor de retículo de esfera são 10 usadas respectivamente para uma sub-banda codificadora de bit baixo e uma sub-banda codificadora de bit alto de acordo com o número de bits alocados na sub-banda codificadora, e o processo inverso da codificação é usado para a decodificação, assim obtendo-se um bom efeito de codificação.
15 Adicionalmente, a alocação de bit com uma extensão de etapa variável é usada para a alocação de bit para melhorar a eficácia de uso dos bits. A invenção é descrita em detalhes abaixo em quatro partes, isto é um método de codificação, um método de 20 decodificação, um sistema de codificação e um sistema de decodificação. B 1. MÉTODO DE CODIFICAÇÃO O método de codificação de áudio de quantização de . vetor de retículo na invenção compreende as seguintes etapas: 25 A. dividir os coeficientes de domínio de frequência de um sinal de áudio para o qual uma transformada de cosseno discreta modificada (MDCT) foi realizada em uma pluralidade de sub-bandas codificadoras, e quantizar e codificar o valor de envelope de amplitude de cada sub-banda codificadora para 30 obter bits codificados de envelopes de amplitude; quando se divide a sub-banda codificadora, se divide os coeficientes de domínio de frequências após a MDCT em diversas sub-bandas codificadoras igualmente espaçadas, ou se dividem os mesmos em diversas sub-bandas codificadoras não uniformes de acordo com o atributo de percepção auditiva; B. realizar uma alocação de bit em cada sub-banda codificadora, e realizar normalização, quantização e . 5 codificação respectivamente em vetores em uma sub-banda codificadora de bit baixo com uma quantização de vetor de " retículo de pirâmide e em vetores em uma sub-banda codificadora de bit alto em uma quantização de vetor de retículo de esfera para obter bits codificados do coeficiente 10 de domínio de frequências, em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora em que o número de bits alocados em um coeficiente de domínio de frequência é menor que um valor limiar, a sub-banda codificadora de bit alto é uma sub-banda codificadora em que o número de bits 15 alocados em um coeficiente de domínio de frequência é maior ou igual a um valor limiar pré-ajustado; antes da etapa de realização de alocação de bit para cada sub-banda codificadora, calcular um valor inicial da importância de cada sub-banda codificadora de acordo com o 20 valor de envelope de amplitude da sub-banda codificadora; então realizar a alocação de bit para cada coeficiente de · domínio de frequência na sub-banda codificadora de acordo com a importância da sub-banda codificadora, em que, durante a
O alocação de bit, a extensão da etapa de alocação de bit e a 25 extensão da etapa de redução de importância após alocação de bit são ambas variáveis. Durante a alocação de bit para cada coeficiente de domínio de frequência na sub-banda codificadora de acordo com a importância da sub-banda codificadora, a extensão da etapa 30 de alocação de bit e a extensão da etapa de redução de importância após a alocação de bit são variáveis; especificamente, quando se realiza a alocação de bit para a sub-
banda codificadora, a extensão da etapa de alocação' de bit e a extensão da etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são menores que a extensão da etapa de alocação de bit e a extensão da etapa . 5 de redução de importância após a alocação de bit da sub-banda codificadora de zero bit e a sub-banda codificadora de bit " alto, em que, a sub-banda codificadora de zero bit é referida como um sub-banda codificadora em que o número de bits alocados em um coeficiente de domínio de frequência é zero na 10 sub-banda codificadora; o valor inicial da importância pode ser calculado de acordo com um valor de bit ideal sob o sinal de quantização máxima para condição de ganho de razão de ruído e um fator de escalonamento que atende a característica de 15 percepção auditiva, e um exponente de quantização Th,(j) de envelope de amplitude da sub-banda codificadora, ou Lµxlog2[Th(j)]+v] (em que, µ>0, e µ e v são ambos os números reais) pode também ser o valor inicial da importância para a alocação de bit de cada sub-banda codificadora, em que, 20 j=o,...,Llj1; C. multiplexar e embalar os bits codificados do ·* envelope de amplitude e os bits codificados do coeficiente de · domínio de frequências de cada sub-banda codificadora, e enviá-los a um lado decodificador.
25 EXEMPLO 1- MÉTODO DE CODIFICAÇÃO A FIGURA 1 é um diagrama esquemático da estrutura do método de codificação de áudio de quantização de vetor de retículo em concordância com o exemplo da invenção. O fluxo de áudio com uma extensão de quadro que é de 20ms e uma taxa 30 de amostragem que é de 32KHz é tomado, por exemplo, para ilustrar o método de codificação de áudio da invenção no exemplo. O método da invenção é tarribém adequado sob as condições de outras extensões de quadro e taxas de amostragem. Conforme mostrado na FIGURA 1, o método compreende as seguintes etapas: Etapa 101, Transformada de Cosseno Discreta , 5 Modificada (MDCT) é realizada no fluxo de áudio a ser codificado para obter coeficientes de domínio de frequência e em N pontos de amostragem no domínio de frequência. A implantação específica na etapa pode ser: constituir um sinal de amostragem de domínio de 10 tempo de 2n pontos F(n)por um sinal de amostragem de domínio de tempo de N -pontos x (n) do quadro atual e um sinal de amostragem de domínio de tempo de N pontos Xold (n) do último quadro, em que, o sinal de amostragem de domínio de tempo de 2N pontos pode ser representado na seguinte equação: 15 F(n) - í Xold (n) x(n-N) n = nN,N =O,1,···,N-1 +1,···,2N-l (1) A MDCT é realizada em ii(n) para obter o seguinte coef iciente de domínio de frequências: X(k) = F F(n))v(n)cos[%(n + : +4)(k Q)] K=0,L ,N-1 (2) , 20 Em que, w(n) representa uma função de janela de seno, a expressão é: w(n)_sin[S(n+9)] n_0,L .2N-l (3) Quando a extensão do quadro é de 20ms e a taxa de amostragem é de 32 kHz, 640 coeficientes de domínio de 25 frequências são obtidos. Outras extensões de quadro e taxas de amostragem podem ser usadas para obter o número correspondente N de coeficientes de domínio de frequências.
Etapa 102, os coeficientes de domínio de frequência de n pontos são divididos em diversas sub-bandas codificadoras, e o envelope de amplitude de cada sub-banda codificadora é calculado. No exemplo, uma divisão de sub-bandas não uniforme 5 é usada e um envelope de amplitude de domínio de frequência (chamado de envelope de amplitude em resumo) de cada sub- banda é calculado. A etapa pode ser implantada nas seguintes subetapas .
10 Etapa 102a, os coeficientes de domínio de frequência na faixa de frequência necessária a ser processada são divididos em L sub-bandas (que podem ser chamadas de sub- bandas codificadoras). No exemplo, a faixa de frequência necessária a ser 15 processada é de OCI13,6kHz, e a divisão de sub-banda não uniforme pode ser realizada de acordo com características de percepção do ouvido humano. A tabela 1 mostra uma divisão específica.
Na tabela 1, os coeficientes de domínio de 20 frequência na faixa de frequência de OIJ13,6kHz são divididos em 28 sub-bandas codificadoras, isto é L=28; e os - coeficientes de domínio de frequência acima de 13,6 kHz são definidos em 0. 4 Etapa 102b, o envelope de amplitude de cada sub- 25 banda codificadora é calculado de acordo com a seguinte equação: 7h(j)= d 1¶ d . '"È"X(k)X(k) j=0,1,LL-l " , Eún éj¢(j)_á n exÚ")+l kaLh=/) (4) Em que, L1nde:'c(j) e H1ndex(j) representam 30 respectivamente o ponto de frequência de partida e o ponto de frequência de final da j-ésima sub-banda codificadora, cujos valores específicos são conforme mostrado na tabela 1.
Ponto de Número de frequência de Ponto de Largura de - sequência de partida frequência de sub-banda sub-banda final (Hlridex) (BandWidth) (Llndex) 0 0 7 8 '—L— 2 8 16 15 23 8 8 3 24 31 8 4 32 47 16 5 48 63 16 6 64 79 16 '-J— 8 80 96 95 111 16 16 9 112 127 16 10 128 143 16 "-J— 12 144 160 159 183 16 24 13 184 207 24 14 208 231 24 15 232 255 24 16 256 279 24 17 280 303 24 18 304 327 24 19 328 351 24 20 352 375 24 21 3 76 399 24 22 4 00 423 24 23 424 447 24 24 44 8 471 24 25 472 495 24 26 496 519 24 27 520 543 24 Tabela 1 Exemplo de divisão de sub-banda não 5 uniforme de domínio de frequência Etapa 103, o valor de envelope de amplitude de cada sub-banda codificadora é quantizado e codificado para obter um exponente de quantização do envelope de amplitude e bits codificados de exponente de quantização do envelope de 10 amplitude (isto é, os bits codificados do envelope de amplitude).
Cada um dos envelopes de amplitude de sub-bandas codificadoras calculado de acordo com a equação (4) é quantizado por uso da equação (5) para obter o exponente de quantização do envelope de amplitude de cada sub-banda 5 codificadora: Th,(j) = L2log, Th(j)j (5) Em que, L x] representa arredondado para baixo , Thq(0) é o exponente de quantização de envelope de amplitude da primeira sub-banda codif icadora, cuj a f aixa é limitada a [-5 , 34] , ou sej a, quando Th,(0) < -5 , Th, (0) = -5 ; quando Th,(0) > 34 , Th,(0) = 34 . O envelope de amplitude quantizado reconstruído de acordo com a exponente de quantização é2Thq(j)/2 0 6 bits são usados para codificar o envelope de amplitude exponente de quantização da primeira sub-banda codificadora, isto é, 6 bits são consumidos.
Os valores de operação diferenciais entre exponentes de quantização de sub-banda codificadora envelope de amplitude são calculados pela seguinte equação: ATh,(j) = Th,,( j+1)—Th,(,j) j = o,l ,.l" 2 (6) O envelope de amplitude pode ser corrigido pela seguinte forma para garantir que o AThq(j) esteja na faixa de [-15, 16]: se ATh,(j)<-15 , ^77?,T(j)=-l5, n,(j)=T/l,(j+.1)+l5, 1=l'-2,l ,0; se ATh,(j)>16 , A7h,(j)=16, 7h,(j+1)=Th,(j)+16, 1=o,...,l-2 ; realizar codif icação de Huf f man para ATh,(j)>j=0,...,L—2 , e calcular o número de bits consumidos q i 41/104 (bits codificados de Huffman) no momento. Se o número de bits codificados de Huffman for agora maior que o número dos bits fixos alocados (no exemplo, maior que (L-1)x5), então a codificação natural é usada para codificar ,ATh,(j)3j=0,...,L-2, 5 e o bit indicador de codificação de Huffman de envelope de · amplitude Flag_huffjms é ajustado em 0. De outra forma, a codificação de Huffman é usada para codificar ATh,(j),j=o,...,L-2, e o bit indicador de codificação de Huffman de envelope de amplitude F1ag_huff_rms é ajustado em 1. Os 10 bits codificados do exponente de quantização de envelope de amplitude (isto é , os bits codificados de valor diferencial de envelope de amplitude) e o bit indicador de codificação de Huffman de envelope de amplitude necessário para ser entregue em MUX. 15 Etapa 104, uma alocação de bit é realizada em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora. O valor inicial da importância de cada sub-banda codificadora é calculado primeiramente de acordo com uma 20 teoria de distorção de taxa de código e informações de envelope de amplitude de sub-banda codificadora, e então a alocação de bit é realizada em cada sub-banda de acordo com a importância de cada sub-banda. a etapa pode ser implantada nas seguintes subetapas: 25 Etapa 104a, o valor médio de consumo de bit para coeficiente de domínio de frequência único é calculado.
O número dos bits, bit sides, consumidos por informações de lado e o número dos bits, bits_Th , consumidos por um envelope de amplitude de sub-banda codificadora são 30 subtraídos do número total dos bits, bits_available, que podem ser fornecidos pelos quadros com a extensão de 20 ms para obter o número dos bits restantes, bits_left , que podem ser usados para codificação de coeficiente de domínio de frequência, isto é : bits left = bits available - bit sides - bits Th (7) 5 As informações de lado compreendem bits para " indicador de codificação de Huffman F1aghuff rms, indicador — de codificação de Huffman de coeficiente de domínio de frequência Flag_huff _plvq e o número de iterações count. Flag_huff_rms é usado para identificar se a codificação de 10 Huffman é usada para envelope de amplitude de sub-banda; F1ag_huff _plvq é usado para identificar se a codificação de Huffman é usada quando se realiza a quantização e codificação de vetor nos coeficientes de domínio de frequência; e o número de iterações count é usado para identificar o número 15 de modificação de iterações in alocação de bit (conforme descrito em detalhes nas etapas anteriores).
O valor médio de consumo de bit R de coeficiente de domínio de frequência único é cãlculado: bits le/í R= T (8) Hndex(L-1)+1 20 Em que, L é o número das sub-bandas codificadoras. q Etapa 104b, o valor de bit ideal é calculado de acordo com a teoria de distorção ) de taxa de código sob o sinal de quantização máxima para condição de ganho de razão de ruído.
25 a distorção de taxa de código corn base na variável aleatória de alocação de Gaussian independente é otimizada pelo método de Lagrange, e o valor de alocação de bit ideal sob o sinal de quantização máxima para condição de ganho de razão de ruído de cada sub-banda codificadora sob o limite de 30 distorção de taxa de código pode ser calculado como sendo:
n°(j)=[R+Rn,,,Ú')], jI=0,L ,L_l (9)
Em que ,
rú, (j) = í[Th,(j) _ mean _ nj 1=q,l ,L-l ( 10 )
e mean _ Thq = HIndex(1L - 1) +L-l1 E Th,(i)[Hlndex(i) - Llndexji) + 1] 5
( 11 ) Etapa 104C, o valor inicial de importância de cada sub-banda codificadora na alocação de bit é calculado.
O valor inicial de importância de cada sub-banda
10 codificadora usado para controlar a alocação de bit in real alocação de bit pode ser obtido com uso do valor de bit ideal acirna e fatores de escalonamento que atendem à característica de percepção do ouvido humancc rk(j) = axrr(j) = a[R +R,,,,Ú")]7 .j =O,L ,L—.1
15 ( 12 )
Em que,aé o fator de escalonamento, que está associado à taxa de bit de codificação e pode ser obtido através de análise estatística, usualmente 0<a<1. No
· exemplo, aé calculado em 0,6. rk(j) representa a importância
20 da j-ésima sub-banda codificadora que é suada para alocação de bit.
Etapa 104d, a alocação de bit é realizada em cada sub-banda codificadora com base na importância de cada sub-
banda codificadora. 25 A descrição específica é conforme segue: a sub-banda codificadora em que o valor máximo está localizado em cada rk{j) é primeiramente encontrada, e assume-se que o marcador da sub-banda codificadora seja jkv então o número de bits codificados de cada coeficiente de domínio de frequência na sub-banda codificadora é aumentado e a importância da sub-banda codificadora é reduzida; entretanto, o número total de bits consumidos para a - 5 codificação de sub-banda bit_band_used(jj é calculado; finalmente, a soma dos números de bits consumidos por todas
P as sub-bandas codificadoras sum(bit band used (j)), j=o,...,Lcl1 é calculada; o processo acima é repetido até a soma dos números de bits consumidos poder satisfazer o valor máximo 10 sob a condição da condição de limitação de bit. O número dos bits alocados se refere ao número de bits alocados em um coeficiente de domínio de frequência em uma sub-banda codificadora. O número de bits consumidos em uma sub-banda codificadora se refere ao número de bits 15 alocados em um coeficiente de domínio de frequência em uma sub-banda codificadora que multiplica o número de coeficientes de domínio de frequência incluídos na sub-banda codificadora. No exemplo, a extensão de etapa para alocar bits na 20 sub-banda codificadora com o número de bits alocados sendo 0 é 1 bit, e a extensão da etapa de redução de importância após a alocação de bit é 1; a extensão de etapa para alocar bits
P adicionais na sub-banda codificadora com o número de bits alocados sendo maior que 0 e menor que o valor limiar 5 é 0,5 25 bit; e a extensão da etapa de redução de importância após a alocação de bit adicional é também 0,5; a extensão de etapa para alocação de bits adicionais na sub-banda codificadora com o número de bits alocados sendo maior que o valor limiar 5 é 1 e a extensão da etapa de redução de importância após a 30 alocação de bit adicional é também 1. O método de alocação de bit na etapa pode ser representado como o seguinte pseudocódigo:
permitir region bit ( j) =0 , 1=q,1,l ,L—l; — para as sub-bandas codificadoras O,1,...,L-1: { buscar A = arg max[rk(j)] ; j=0,···,L-l 5 se region bit (jk) <5 — { se region_bit (jk) =0 permitir region_ bit (jk) = region_bit (jk) + 1; calcular bit band used(jk) = region_bit (jk) 10 BandWidth ( 1k) ; permitir rk(jk) = rk(jk) _ 1 ; de outra forma, se region_ bit (jk) >=1 permitir region_ bit (jk) = region _bit (jk) + 0, 5; calcular bit _band used(jk) = region_ bit (jk) * — 15 BandWidth ( jk) *0, 5 ; permitir rk(jk) = rk(jk) - 0,5; } de outra forma, se ,region_ bit ( jk) >=5 { _ 20 permitir region_ bit (jk) = region_ bit (jk) + 1; permitir rk(jk) ={_i0O rk(j])-l ifelse region _ bit(jk) < MaxBit 0
V 0 calcular bit band_ used ( 1k) _ — region bit (j k) xBandWidth (jk) ; — } 25 calcular bit used all = sum (bit band_ used ( j ) ) j =0, 1, ..., L - 1; se bit used all < bits left - 24, retornar e buscar j k novamente em cada sub - banda codif icadora, circularmente calcular o valor de alocação de bit; em que , 24 é o valor máximo da largura da sub-banda codificadora; de outra forma, finalizar o círculo, calcular o valor de alocação de bit e emitir o valor de alocação de bit atual.
, 5 } Finalmente, os bits remanescentes cujo número é ' menor que 24 são alocados nas sub-bandas codificadoras que atendem os requisitos de acordo com o seguinte princípio com base na importância da sub-banda codificadora. 10 preferencialmente, 0,5 bit é alocado em cada coeficiente de domínio de frequência na sub-banda codificadora cuja alocação de bit é 1, e entretanto a importância da sub-banda codificadora é reduzida em 0,5; de outra forma, 1 bit é alocada em cada coeficiente de domínio de frequência na sub- 15 banda codificadora cuja alocação de bit é 0, e entretanto a importância da sub-banda codificadora é reduzida em 1, até bit leftljbit used all < 4 quando a alocação de bit acabar.
Em que, MaxBit é o número máximo dos bits codificados que podem ser alocados em um coeficiente de 20 domínio de frequência na sub-banda codificadora. No exemplo, MaxBit=9 é usado. O valor pode ser propriamente ajustado de acordo com a taxa de código de codificação do codec. region_bit(j) é o número dos bits alocados a um coeficiente . de domínio de frequência na j-ésima sub-banda codificadora.
25 Etapa 105, a quantização de vetor de retículo de pirâmide e a quantização de vetor de retículo de esfera são respectivarrtente usadas para os vetores na sub-banda codificadora de bit baixo e na sub-banda codificadora de bit alto para quantizar e codificar para obter os bits 30 codificados do coeficiente de domínio de frequência. O processo da quantização e codificação de vetor de retículo de classificação na invenção é descrita a seguir com referência à FIGURA 2.
Etapa 106, o fluxo de código de codificação é construído. A FIGURA 9 é o diagrama esquemático da composição de fluxo de códigos no exemplo da invenção. Primeiramente, as . 5 informações de lado são registradas no multiplexador de fluxo de bit MUX na seguinte sequência,
B Flag_huffrms1jFlag_huff _~plvq e count; então a sub-banda codificadora de envelope de amplitude de sub-banda codificadora é registrada no MUX, e então os bits codificados 10 do coeficiente de domínio de frequência são registrados no MUX; finalmente, o fluxo de código escrito pela ordem acima é transmitido ao lado decodificador. A quantização de vetor de retículo e classificação e processo de codificação 15 Especificamente, conforme mostrado na FIGURA 2, a quantização de vetor de retículo de classificação e processo de codificação compreendem as seguintes etapas.
Etapa 201, o valor de envelope de amplitude de quantização da sub-banda codificadora é usado para realizar 20 processamento de normalização em todos os coeficientes de domínio de frequência na sub-banda codificadora, e todos os coeficientes de dornínio de frequência são agrupados para formar diversos vetores a serem quantizados.
L b O envelope de amplitude de quantização 2Thq(j)/2 da 25 sub-banda codificadora j é usado para realizar processamento de normalização em todos os coeficientes de domínio de frequência xj na sub-banda codificadora: X normalized _ X j j " 2Th,(j)/2 ; em que, os 8 coeficientes de domínio de frequência 30 contínuos na sub-banda codificadora são agrupados para formar 1 vetor de 8 dimensões. Com base na divisão da sub-banda codificadora na tabela 1, os coeficientes na sub-banda codificadora j são precisamente agrupados para formar vetores de 8 dimensões Lattice_D8(j). Cada vetor a ser quantizado de 8 dimensões agrupado e normalizado pode ser representado como " 5 L", em que, m representa a localização do vetor de 8 dimensões na sub-banda codificadora, cuja faixa está entre 0
S e Lattice_D8(j)-l.
Etapa 202, julga-se se o número dos bits alocados da sub-banda codificadora j regionbit(j) é menor que o valor 10 limiar pré-ajustado, se sim, a sub-banda codificadora é a sub-banda codificadora de bit baixo, e a etapa 203 é realizada, isto é a quantização de vetor de retículo de pirâmide é usada para quantizar, e a etapa 205 é realizada para codificar após a quantização; de outra forma, a sub- 15 banda codificadora é a sub-banda codificadora de bit alto, a etapa 204 é realizada, isto é, a quantização de vetor de retículo de esfera é usada para quantizar, e a etapa 206 é realizada após a quantização para codificação.
Etapa 203, a sub-banda codificadora de bit baixo é 20 quantizada com a quantização de vetor de retículo de pirâmide. - No exemplo, o valor limiar pré-ajustado é 5, isto . é, o número dos bits alocados na sub-banda codificadora de bit baixo j atende: 1<=regionjjit(j)<5.
25 No exemplo, o vetor de retículo de 8 dimensões com base no ponto de retículo D8 é usado para quantizar, em que, O D8 ponto de retículo é definido conforme segue: D, =!v=(v,,v,,...,v,)' eZ' l 7?, 8 =even) ern que, Z' representa'o espaço de número inteiro 30 de 8 dimensões. O método básico para mapear o vetor de 8 dimensões (ou seja, quantizado ao) ao ponto de retículo D8 é descrito conforme segue: assume-se que x é um número real arbitrário, f(x) representa a quantização arredondada -para o número inteiro 5 que está mais próximo a x dos dois números inteiros adjacentes a x, W(X) representa a quantização arredondada para o número inteiro que está mais distante de x dos dois números inteiros adjacentes a x. Para qualquer vetorX = (Xl,X2:···>X8) e R8 , f(X) = (f(x,),f(x,),...,f(xj) pode ser 10 definido similarmente. O subscrito mínimo nos componentes com o valor absoluto máximo do erro de quantização arredondado é selecionado em f{X) e é notado como k, então, g(X)=(f(x,),f(x,),...w(xk):·.·:f(x8))é definido, então um e somente um dentre f(x) ou g(X) é o valor do ponto de retículo D8, e 15 agora o valor de quantização do ponto de retículo D8 é: J,,,(x) jf(x)jff(x)eD, 0 g(X),ifg(X)eD, O processo de realização da quantização de vetor de retículo de pirâmide no vetor a ser quantizado da sub-banda codificadora de bit baixo compreende: . 20 Etapa 203a, a regulação de energia é realizada no vetor a ser quantizado.
N De acordo com o número, region_bit(j), de bits alocados em um coeficiente de domínio de frequência na sub- banda codificadora j em que o vetor a ser quantizado está 25 localizado, um número de sequência de livro de códigos (index) e um fator de escalonamento de energia (scale) que correspondem ao número de bits são consultados na tabela 2 abaixo; então a regulação de energia é realizada no vetor a ser quantizado de acordo com a seguinte equação: 30 L:sca/e =(L"-a)*scale(index)
em que, Y"representa o m-ésimo vetor a ser quantizado de 8 dimensões normalizado na sub-banda ~ codificadora j, L:,,a/, representa um vetor de 8 dimensões após
·0 realizar a regulação de energia em Ym jV
0 5 a=(2",2"',2"',2"',2_',2",2-',2_') . Deve-se notar que a seguinte tabela 2 é obtida com base em estatística, e o método estatístico é:
primeiramente, limitar scale em uma certa faixa e usar uma extensão de etapa especificada de 1 para calcular o
10 valor de erro de quadrado médio que corresponde à quantização de vetor de retículo de pirâmide e a quantização inversa sob uma certa condição de número de bit de quantização quando se adota uma extensão de etapa correspondente, e buscar uma faixa de área especificada em que o valor de scale que
15 corresponde ao valor de erro de quadrado médio mínimo está localizado; e usar uma extensão de etapa especificada 2 para buscar o valor de erro de quadrado médio que corresponde à quantização de vetor de retículo de pirâmide e quantização inversa sob uma certa condição de número de bit de
, 20 quantização, e buscar um valor de scale que corresponde ao valor de erro de quadrado médio mínimo, que é o valor de > scale correspondente sob uma certa condição de bit de quantização.
Tabela 2 Relação correspondente entre o número dos
25 bits de quantização de vetor de retículo de pirâmide, o número de sequência de livro de código, o fator de escalonamento de energia e o raio de energia de superfície de pirâmide máximo
Níimero de bits Número de Fator de Raio de energia region_bit sequência de escalonarnento de superfície livro de de energia cíe pirâmide código Scale rnáximo
Tndex LameK 1 0 0,5 2 1, 5 1 0 , 65 4 2 2 0, 85 6 2,5 3 1, 2 10 3 4 1, 6 14 3,5 5 2 , 25 22 4 6 3 , 05 30 4,5 7 4 , 64 44 Etapa 203b, o vetor regulado por energia é quantizado ao ponto de retículo.
O vetor regulado por energia é primeiramente 5 quantizado ao ponto de retículo, e então é julgado se a energia de superfície de pirâmide do ponto de retículo quantizado lj" é menor ou igual ao raio de energia de superfície de pirâmide máximo no livro de código de codificação, se sim, proceder a etapa 203C, de outra forma, 10 realizar truncamento de energia no vetor regulado por energia e então realizar a quantização do ponto de retículo.
Quantizar o vetor de 8 dimensões regulado por energia Z:,,al,ao ponto de retículo D, ij;" : ~ ij;" = Jd, (L:scale) .. 15 em que, Jd,(0) representa um operador de quantização para mapear um certo vetor de 8 dimensões ao ponto de retículo D8. A energia de superfície de pirâmide do ponto de ~ calculada e comparada ao raio de energia de retículo D8 Y"é 20 superfície de pirâmide máxima no livro de código de codificação. A energia de superfície de pirâmide do ponto de retículo D8 Y"é a soma dos valores absolutos de todos os
L
~ componentes deY:. O livro de código de codificação significa o conjunto de todos os pontos de retículo D8 usados para quantizar o vetor a ser quantizado. Se a energia de superfície de pirâmide do ponto de
PK ~ 5 retículo D8 Yj"não for maior que o raio de energia de t7 superfície de pirâmide máximo LargeK(index), a etapa 203C é diretamente executada, e o índice de quantização do ponto de retículo no livro de código é calculado. Se a energia de superfície de pirâmide do ponto de ~ 10 retículoL"for maior que o raio de energia de superfície de pirâmide máximo, um truncamento de energia é realizado em um ~ vetor a ser quantizado regulado L:,,al, da sub banda codificadora até a energia do ponto de retículo de quantização do vetor a ser quantizado regulado por energia 15 não ser maior que o raio de energia de superfície de pirâmide máximo; no momento, uma energia é continuamente adicionada ao vetor a ser quantizado truncado por energia até a energia do ponto de retículo D8 ao qual o vetor é quantizado ser maior que o raio de energia de superfície de pirâmide máximo; o ¶ 20 últirno ponto de retículo D8 cuja energia não é maior que o · raio de energia de superfície de pirâmide máximo é determinado que seja o valor de quantização do vetor a ser quantizado, isto é, seja o ponto de retículo que gera o vetor índice de quantização.
25 Quando a energia do ponto de retículo jij" é maior que o raio de energia de superfície de pirâmide máximo, o processo específico de realização de truncamento de energia no vetor a ser quantizado pode ser descrito no seguinte pseudocódigo:
calcular a energia de superfície de pirâmide do ~ ponto de retículo D8 Yj"iStO é, resolver a soma dos valores absolutos de cada componente de lj";
temp _ K = sum( Yj" )
5 Ybak = ij;
Kbak = temp _ K
Se temp _ K> LargeK( index)
{ Enquanto t emp _ K> LargeK( index)
{ 9L, = E:,,a,, / 2 [j
~ i;" = Jd, (L:scale )
temp _ K = sum( Y; )
}
W = Z:,,ak /16
Ybak = i;
Kbak = temp K Enquan to temp _ K< = LargeK( index)
{ Ybak = i;"
Kbak = temp _ K
Z:,,a/, = Yj:,,al, + W y; = Jd, (L:scale)
temp _ K = sum( Y; )
} } jij; = Ybak temp _ K = Kbak k 5 No momento, i;" se o últirno ponto de retículo D8 « cuja energia não é maior que o raio de energia de superf ície de pirâmide máximo, e temp _ K é a energia dos pontos de retículo .
Etapa 203c, o índice de quantização de vetor do ~ 10 ponto de retículo D8 ji;" no livro de código é calculado.
A etapa de cálculo do índice de quantização de ~ vetor do ponto de retículo D8 Yj" no livro de código compreende : etapa 1, marcar o ponto de retículos em cada 15 superfície de pirâmide respectivamente de acordo com o tamanho da energia de superfície de pirâmide.
Para a grade de ponto de retículo de número inteiro Z' cuja dimensão é L, a superfície de pirâmide com o raio de " energia sendo K é definida conio: - 20 S(L,K)={Y=(y,,y,,...,y,)eZ' I tly,:=K} Nota- se que N(L,K) é o número dos pontos de retículo noS(L,K) , e para a grade de número inteiro Z' , as seguintes fórmulas de recurso são paraN(L,K) : N(L,0) =1 (L Z 0), N(0,K)=O (K zl) 25 N(L,K)=N(L-1,K)+N(L-1,K-1)+N(L,K-1) (LZ1,KZ1).
Para o ponto de retículo de número inteiro Y=(yl3y23···}yL) eZ'na superf ície de pirâmide com o raio de superfície de energia sendo K, um número b em [O,1,....,N(L,K)- 1] é usado para identificar, e b é chamado de identificador do ponto de retículo, e as etapas para solucionar o identificador b são as seguintes: 5 etapa 1.1, deixar b=0[ji=1ak=ml=L, calcular N(m,n), (m<=L, n<=K) de acordo com as fórmulas de recursão, e definir: 'g"(") ).1 ::,:0' etapa 1.2, se Yj=O, então b=b+0; 10 se l y,í ! 1, então b -b+N(l-1,k)+[1"sg:(yi)] N(l-l,k-l) ; se |yi|>1, então jy,j-l b=b+N(l-1,k)+2XN(l-1,k- j) 0
V +[1"'g:(yi)j N(l-1,k-|y, I) etapa 1.3, k=k-|y,|, 1=1-1, i=i+1, se k=O agora, parar a busca, b(j, m)=b, que é o identificador de Y, senão, 15 continuar etapa 1.2; etapa 2, identificar os números uniformemente para o ponto de retículos em todas as superfícies de pirâmide; ^ em que o identificador de cada ponto de retículo em todas as superfícies de pirâmide é calculado de acordo com o 20 número do ponto de retículos em cada superfície de pirâmide e o identificador do ponto de retículo em sua própria superfície de pirâmide, k-2 index _ b(j,m)=b(j,m)+EN(8,kk) kk=O em que, kk é um número par, b(j,m) é o ~ 25 identificador de ponto de retículo D8 Y"na superfície de pirâmide em que o ponto de retículo D8 lj"'está localizado, e index b(j,in) é o índice do ponto de retículo D8 t"no ~livro de códigos, ou seja, o índice do m-ésimo vetor de 8 dimensões ^ na sub-banda codificadora j. 5 etapa 203d, as etapas acima 203a -203C são ^ repetidas até que o cálculo do índice de quantização do vetor seja completado para cada vetor de 8 dimensões de cada uma das sub-bandas codificadoras com o número dos bits codificados sendo maior que 0, mas menor que o valor limiar 10 5. Etapa 204, a quantização é realizada na sub-banda codificadora de bit alto na quantização de retículo de esfera O número de bits alocados na sub-banda codificadora 15 de bit alto j satisfaz 5<=region_bit(j) <=9. Neste ponto, a quantização de vetor de retículo de 8 dimensões baseado no retículo & também é usada.
O processo para a realização da quantização de retículo de esfera no vetor a ser quantizado da sub-banda 20 codificadora de bit alto compreende: 4 Etapa 204a, a regulação de energia é realizada no .A vetor a ser quantizado. A seguinte regulação de energia é realizada no m° vetor normalizado a ser quantizado r na sub banda 25 codificadora j: ^ L"=B(L"_a) em que, a=(2"',2"',2"',2"',2"',2"',2"',2"')0 B= 2 "gion _ bit(j) scale(region _ bit(j)) b e scale(region _ bit(j)) representa o f ator de escalonamento de energia quando o número de bits alocados de um coeficiente de domínio de frequência na sub-banda codificadora é region_bit(j), e a relação correspondente dos mesmos pode ser encontrada de acordo com a tabela 3.
, 5 ' A maneira estatística para se obter a tabela abaixo 3 é a mesma que para se obter a tabela 2 abaixo. '\ Tabela 3 Relação correspondente entre o número de bits alocados e o fator de escalonamento de energia de quantização de esfera de vetor de retículo Número de bits alocados Fator de escalonamento de region^t5 jenergia sc;ie 6 I 6,2 7 6,5 8 : 6,2 9 ! 6,6 10 Etapa 204b, o vetor regulado por energia é quantizado ao ponto de retículo, e é julgado quanto ao valor de quantização fA(Z:/2"g"°n-bit(j')), que é obtido depois que ao valor de ponto de retículo de quantização é dividido por 2 a uma potência do número de bits alocados 2"g'on_bi((j) e, então, 15 rnapeado ao ponto de retículo, é um vetor zero, se sim, deve- se proceder para a etapa 204C, senão, o truncamento de energia é realizada no vetor regulado por energia e, então, o 4 vetor é quantizado ao ponto de retículo; Deve-se mapear o m-ésimo vetor a ser quantizado 20 regulado por energia ij:" na sub-banda codificadora j para o ~ ponto de retículo D8 YJ": Y;=jD,(Z"), em que, Jd,(0) representa um operador de quantização para rnapear um certo vetor de 8 dimensões para o ponto de retículo D8.
25 Deve-se julgar se o valor de quantizaçãofR(Z"/2"&°n-bit(j')), que é obtido após o valor de ponto de retículo de quantização ser dividido por 2 a uma potência do número de bits alocados 2"g'°n-bl/(j) e, então, mapeado para o ponto de retículo, é um vetor zero, isto é se n ~ ~ 5 todos os componentes do valor de quantizaçao sao zero, se ,% sim, refere-se a isso que a condição de vetor zero está cumprida, senão, refere-se a isso que a condição de vetor zero não está cumprida.
Se a condição de vetor zero for cumprida, então a 10 etapa 204c é realizada diretamente.
Se a condição de vetor zero não for cumprida, o truncamento de energia é realizada no vetor regulado por ^ . energiaY/" No exemplo, o valor de ^ Yj"é dividido por 2 até que a condição de vetor zero jA(Z"/2"gion_bit(j'))=0 seja cumprida, 15 e o valor múltiplo baixo de Yj"em si é transferido para uma cópia de segurança para ser w, então o valor múltiplo baixo de cópia de segurança w é acrescentado ao vetor de energia truncada Yj"e, então, o vetor é quantizado para o ponto de · retículo D8, e será, agora, julgado em relação a se a 20 condição de vetor zero é cumprida. Se a condição de vetor + zero não for cumprida, o último ponto de retículo D8 que cumpre a condição de vetor zero é tido como o ponto de retículo de quantização do vetor a ser quantizado, senão, o valor múltiplo baixo de cópia de segurança w é continuamente 25 acrescentado ao vetor Yj"e, então, o vetor quantizado para o ponto de retículo D8, até que a condição de vetor zero não seja cumprida.
O processo específico de realização de truncamento de energia do vetor a ser quantizado pode ser descrito no seguinte pseudocódigo:
temp D = Jd, (Y: / 2"g'°n-b't(j))
Ybak = i;
k Dbak = temp _ D Enquanto temp _ D ¥ 0 "r 5
{
r^ = r^ /2 Yj" = f,,, (Z")
temp D = Jd, (Vjj / 2"g'°"-b"(j))
10 } ^ w=lj!716 Ybak = i;
Dbak = temp _ D
Enquanto temp _ D = 0
15 { Ybak = i; Dbak = temp _ D
^ ^ lj" =L"+w y;' = Jd, (Y,7')
20 temp D = Jd, (Yjt" / 2"g'on _ bit(j) )
} ij; =Ybak Etapa 204C, o vetor índice do vetor quantização do
] 60/104 ponto de retículo D, Y"é gerado.
O índice do vetor quantização pode ser obtido pela seguinte equação de geração de vetor índice: k (Z7G"')mod2""°"-'"(j)
N ~ Ym ~ 5 O vetor índice k do ponto de retículo D8 jé emitido agora, em que G é a matriz geradora do ponto de retículo D8, e sua forma é conforme segue: 2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 Etapa 205, o índice de quantização do vetor da sub- lO banda codificadora de bit baixo é codificado; e a etapa termina. Conforme seguido abaixo, o número de bits alocados na sub-banda codificadora de bit baixo cumpre: "I 1<=region_bit(j)<5.
)1 15 Realizar a codificação no índice de quantização do vetor da sub-banda codificadora de bit baixo compreende as seguintes etapas: etapa 205a, a codificação de Huffman é realizada no índice de quantização do vetor da sub-banda codificadora de 20 bit baixo. A codificação de Huffman é realizada no índice de quantização do vetor no conjunto c composto de todas as sub- bandas codificadoras nas quais o número de bits alocados de um único coeficiente de domínio de frequência é menor que um certo valor limiar.
O índice de quantização do vetor index b(j,k) de cada vetor de 8 dimensões em cada sub-banda codificadora é obtido com base no quantização de vetor de retículo de pirârnide, em que, k representa o k-ésimo vetor de
5 8 dimensões da sub-banda codificadora j.
Realizar a codificação de Huffman no índice de quantização index_b(j,k)
compreende as seguintes cenas: a. em todas as sub-bandas codificadoras nas quais o número de bits alocados em um coeficiente de domínio de 10 frequência for maior que 1, menor que 5 e exceto 2, cada quatro bits nos códigos binários naturais para cada índice de quantização do vetor é dividido e um grupo e a codificação de Huffman é realizada naquele grupo, e a soma dos números de bits da codificação de Huffman para todos os grupos de 4 bits
15 é o número de bits consumido na codificação de Huffman do índice de quantização; b. em todas as sub-bandas codificadoras nas quais o número de bits alocados para um coeficiente de domínio de frequência é 2, 15 bits são usados para o retículo índice de
20 quantização do vetor de pirâmide de cada vetor de 8 dimensões para codificar; os 15 bits são divididos em 3 grupos de 4 bits e 1 grupo de 3 bits, então a codificação de Huffrnan é realizada nos grupos, a soma dos números de bits consumidos dos 4 -. 25 grupos de codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização;
c. quando o núrnero de bits alocados em um coeficiente de domínio de frequência da sub-banda
30 codificadora é 1, se o índice de quantização for menor que 127, então o índice de quantização é codificado com 7 bits, esses 7 bits são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits consumidos nos dois grupos de codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização; 5 d. quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o índice de quantização for igual a 127, então seu próprio código binário natural é definido como "1111 1110", 7 números 1 na frente são divididos em 1 grupo 10 de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits consumidos nos dois grupos de codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização; 15 e, quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o índice de quantização for igual a 128, então seu próprio código binário natural é definido como "1111 1111", 7 números 1 na frente são divididos em 1 grupo 20 de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits consumidos nos dois grupos de codificação de Huffman é o núrnero de bits consumidos na codificação de Huffman do índice de quantização.
- 25 O método de realização da codificação de Huffman no índice de quantização pode ser descrito no seguinte pseudocódigo: em todas as sub-bandas codificadoras da region_bit(j) =1,5 e 2<region_bit(j)<5, 30 { n está na faixa de [0, region_bit(j)x8/4-1], é aumentado com a etapa extensão sendo 1 e o ciclo seguinte é l
63/104 realizado:
{ deixar index_b(j,k) deslocamento em direção à direita para 4*n bits,
5 Calcular os 4 jjits baixos tmp do index_b(j,k), isto é tmp = e {index_b(j,k) , 15)
Calcular a palavra código de tmp no livro de código e o número de consumo de bit do mesmo: plvq_ codebook(j,k) = plvq_ code(tmp+1); 10 plvq_ count(j,k) = plvq_ bit_count(tmp+1);
em que, plvq_ codebook(j,k) e plvq_ count(j,k) são, respectivamente, a palavra código e o número de consumo de bit no livro de código da codificação de Huffman do k-ésimo vetor de 8 dimensões da j-enésima sub-banda; plvq_ bit_count e
15 plvq_ code são pesquisados com base na tabela 4. O número total de consumo de bit após a codificação de Huffman ser usada é atualizado: bit used huff all = bit used huff all + plvq_ bit_count(tmp+1); 20 }
} Na sub-banda codificadora de region_bit(j) =2
{ n está na faixa de [0, region bit(j)x8/4-2], é — 25 aumentado com a etapa extensão sendo 1, e o seguinte ciclo é realizado:
{ Deixar index_b(j,k) deslocar em direção à direita por 4*n bits,
30 Calcular os 4 bits baixos tmp de index_b(j,k), isto j 64/104 é tmp = and (index_ b( j , k) , 15 )
Calcular a palavra código de tmp no livro de código e o núrnero de consumo de bit do mesmo: plvq_ count(j,k) = plvq_ bit_count (tmp+1);
5 plvq_ codebook(j,k) = plvq_ code (tmp+1); em que, plvq_ codebook(j,k) e plvq_ count(j,k) são respectivamente o número de consumo de bit de Huffman e palavra código do k-ésimo vetor de 8 dimensões da j-ésima sub-banda; plvq_ bit_count e plvq_ code são pesquisados com base na tabela 4. O número total de consumo de bit após a codificação de Huffman ser usada é atualizado: bit used huff all = bit used huff all + p1vq_ bit_count(tmp+1);
}
{ Uma condição de 3 bits é necessária para ser processada abaixo: após o index_b(j,k) ser deslocado em direção à direita para [region_bit(j)x8/4-2]*4 bits,
calcular os 3 bits baixos tmp of index_b(j,k), isto é tmp = and (index _ b ( j , k) , 7)
calcular a palavra código de tmp no livro de código e o número de consumo de bit do mesmo:
plvq_ count(j,k) = plvq_ bit_count _r2_3(tmp+1); plvq_ codebook(j,k) = plvq_ code _r2_3(tmp+1);
em que, plvq_ count(j,k) e plvq_ codebook(j,k) são, respectivamente, o número de consumo de bit e Huffman e a palavra código do k-ésimo vetor de 8 dimensões da j-ésima sub-bandâ; plvq_ bit count_r2_3 e plvq_ code_r2_3 são — pesquisados com base na tabela 5.
O número total de consumo de bit após a codificação de Huffman ser usada é atualizadm bit used_huff all = bit_used_huff_all + — plvq_ bit_count(tmp+1);
5 } } Na sub-banda codificadora de region bit(j) =1 — { Se index b(j,k)<127
{
{ Calcular os 4 bits baixos tmp of index_b(j,k), isto é tmp = and ( index _ b ( j , k) , 15 )
Calcular as palavras código de tmp no livro de código e o número de consumo de bit do mesmm plvq_ count(j,k) = plvq,, bit_count _r1_4(tmp+1); plvq_ codebook(j,k) = plvq_ code _r14(tmp+1);
em que, plvq_ count(j,k) e p"lvq_ codebook(j,k) são, respectivarnente, o número de consumo de bit de Huffman e palavras código do k-ésimo vetor de 8 dimensões da j-ésima sub-banda; p1vq_ bit_count_r14 e plvq_ code_r1_4 são pesquisados com base na tabela 6. O número total de consumo de bit após a codificação de Huffman ser usada é atualizado:
bit_used_huff_all = bit_used_huff_all + plvq_ bitcount(tmp+1);
} { Uma condição de 3 bits é necessária para ser processada abaixo: Deixar index_b(j,k) deslocar para a direita por 4 bits,
Calcular os 3 bits baixos tmp of index_b(j,k), isto é tmp = and ( index_ b( j , k) , 7) Calcular a palavra código de tmp no livro de código e o núrnero de consumo de bit do mesmo: 5 plvq_ count(j,k) = plvqj, bit_count _r1_3(tmp+1); plvq_ codebook(j,k) = plvq_ code _r1_3(tmp+1); em que, plvq_ count(j,k) e plvq_ codebook(j,k) são, respectivamente, o número de consumo de bit de Huffman e palavra código do k-ésimo vetor de 8 dimensões da j-ésima sub-banda; o livro de código plvq_ bit_count_r1_3 e plvq_ code_r1_3 são pesquisados com base na tabela 7. O número total de consumo de bit após a codificação de Huffman ser usada é atualizadm bit used_huff_all = bit_used_huff_all + plvq_ bit_count(tmp+1); } } Se index b(j,k)=127 {seu valor binário é "1111 1110" Para os três "números 1" na frente dos últimos quatro "números 1", as tabelas de Huffman da tabela 7 e da tabela 6 são respectivamente pesquisadas. O método de cálculo é o mesmo que aquele sob a condição anterior de index_b(j,k)<127.
O número total de consumo de bit após a codificação de Huffman ser usada é atualizado: um total de 8 bits são necessários.
} Se index_b(j,k)=128 {seu valor binário é "1111 1111" Para os três "números 1" e os últimos quatro "números 1", as tabelas de Huffman da tabela 7 e da tabela 6
67/104 T são respectivamente pesquisadas, o método de cálculo é o mesmo que sob a condição anterior de index_b(j,k)<127. O número total de consumo de bit após a codificação de Huffman ser usada é atualizado: um total de 8 bits é 5 necessário.
} } Tabela 4 Tabela de código de Huffman vetor quantização de pirâmide ) Tabela 3 4 5 6 7 Tabela 5 quantização de pirâmide Tmp 0 1 2 6 Tabela Tabela de de Plvq_ bit count r2 3 1 4 4 5 3 3 4 5 código código de de plvqj code Huffman Huffman de r2 3 0 1 15 25 3 5 7 9 vetor de vetor quantização de pirâmide Tmp PlvçL bit count r1 4 plvqj code r1 4 0 3 7
Tabela 7 Tabela de código de Huffman de vetor quantização de pirâmide Tmp Plvq,bit count,r1 3 plvq code.r1_3 0 2 1 1 3 0 2 3 2 3 4 7 4 4 15 '" 5 3 6 6 3 4 7 3 3.— Quando a codificação de Huffman é realizada no índice de quantização do vetor de pirâmides de retículo de 5 todas as sub-bandas codificadoras, livros de código diferentes são usados para codificar o índice de quantização do vetor da sub-banda codificadora de acordo com o número de bits alocados a um coeficiente de domínio de frequência na sub-banda codificadora.
Etapa 205b, julga-se se a codificação de Huffman economiza bits, se sim, a codificação de Huffman é usada para o índice de quantização, e a etapa 205C é realizada, senão, a codificação natural é realizada no índice de quantização.
Pela etapa 205a, o número total de bits consumido pelos índices de quantização codificados por Huffman pertencentes ao vetor de 8 dimensões de todas as sub-bandas codificadoras em C bit_used_huB_all é calculado. O bit_used_hu¶_all é comparado à soma de bits consumidos por todas as sub-bandas codificadoras em C sum(bit_band_used(j),jeC), isto é, comparada à soma de produtos 5 do número de coeficientes de domínio de frequência de todas as sub-bandas codificadoras em C e o número de bits alocados a um coeficiente de domínio de frequência na sub-banda codificadora. Se bit_used_huB_all< sum(bit_band_used(j),jeC), os bits do índice de quantização codificado por Huffman é transmitido, e, enquanto isso, o indicador de coeficiente de domínio de frequência codificação de Huffman Flag_huff _plvq é configurado para 1; senão, a codificação natural é realizada no índice de vetor de quantização, e o indicador de coeficiente de domínio de frequência codificação de Huffman F1ag_huff _plvq é configurado para 0. Etapa 205c, a modificação de alocação de bit é realizada, e a quantização e codificação de vetor são realizadas novamente na sub-banda codificadora para a qual a alocação de bit foi modificada.
Se o indicador de coeficiente de domínio de frequência codificação de Huffman Flag_huff _plvq for 0, a alocação de bit da sub-banda codificadora não é modificada. Se a codificação de Huffman do indicador de coeficiente de domínio de frequência Flag_huff _plvq for 1, a alocação de bit da sub-banda codificadora é modificada com os bits salvos pela codificação de Huffman. Quando a alocação de bit da sub-banda codificadora é modificada, no exemplo, a extensão de etapa de modificação de bit e a extensão de etapa de redução de importância após a modificação de bit da sub-banda codificadora de bit baixo são, ambas, 0,5; a extensão da etapa de aumento de bit e a extensão de etapa de redução de importância após o aumento de bit da sub-banda codificadora de zero bit e sub-banda codificadora de bit alto são, ambas, 1. A sub-banda codificadora de bit baixo é uma sub- banda codificadora na qual o número de bits alocados a um 5 coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, e a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o número de bits alocados a um coeficiente de domínio de frequência é maior ou igual a um valor limiar pré-ajustado. a sub-banda codificadora de zero bit é chamada de sub-banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é zero . Conforme mostrado na Figura 3, o processo de modificação de alocação de bit da etapa 205C compreende, especificamente, as seguintes etapas: etapa 301, calcular o número de bits salvos pela codificação de Huffman diff_huff, deixando count=0: di¶ _ hug=sum(bit _ band _ used(j),jeC)-bit _ used _ huK _ all.
Se diff huff for maior que 0, representa que a codificação de Huffman pode economizar bits, e o número de bits salvos pela codificação de Huffrnan é o número de bits que pode ser usado quando a modificação de alocação de bit é realizada na sub-banda codificadora.
Etapa 302, encontrar a sub-banda codificadora com uma importância máxima em todas as sub-bandas codificadoras; encontrar o valor máximo rk(jk) em cada rk(j)Oj=o,...,W1O,que é representado na equação: j, = arg max[rk(j)] j=0,··.,L-l Etapa 303, julgar se o número dos bits alocados da sub-banda codificadora com importância máxima mais lljregion bit(jk)+1aé menor ou igual ao número l máximo dos bits codificados que podem ser alocados em um coeficiente de domínio de frequência na sub-banda codificadora MaxBit (por exemplo, MaxBit=9), se sim, prosseguir para a etapa 304, senão, ajustar a importância da sub-banda codificadora correspondente a jk par a mais baixa (por exemplo, deixar 5 rk(jk)=[j100), que representa que o valor de alocação de bit da sub-banda codificadora não precisa ser modificado e, então, passar para a etapa 302. Se o número de bits alocados na sub-banda codificadora com importância máxima alcançou o valor máximo do número dos bits que podem ser alocados, a importância da sub-banda codificadora é ajustada para a mais baixa, e o valor de alocação de bit não é modificado para a sub-banda codificadora. Etapa 304, julgar se diff huff1j(region bit(jk)+1)xBandwidth(jk) é maior ou igual a — 0, se sirn, indicar que o número dos bits salvos é o suficiente para realizar a modificação de alocação de bit na sub-banda codificadora, e prosseguir para a etapa 305; senão, terminar o processo de rnodificação de alocação de bit.
Etapa 305, julgar se o número de bits alocados region_bit(jk) é igual a 0, ou maior ou igual ao limite 5, se sim, prosseguir para a etapa 306, senão, prosseguir para a etapa 307. Etapa 306, modificar o núrnero de bits alocado na sub-banda codificadora jk region_bit(jk) para fazer a region_bit(jk)=region_bit(jk)+1, reduzir o valor da importância da sub-banda rk(jk) para fazer rk(jk)=rk(jk)-1; deixar o número de iteração de modificação de alocação de bit count=count+1, e realizar a quantização e codificação de Huffman de vetor novamente na sub-banda codificadora jk e atualizar o valor de diff_huff finalmente. Etapa 307, modificar o número de bits alocados na sub-banda codificadora jk region_bit(jk) para fazer region_bit(jk)=region_bit(jk)+0,5; reduzir o valor da importância da sub-banda rk(jk) para fazer rk(jk)=rk(jk)-0,5; deixar count=count+1, e realizar a quantização e codificação 5 de Huffman de vetor novamente na sub-banda codificadora jk e atualizar o valor de diff huff finalmente. — A quantização e codificação de vetor são realizadas novamente na sub-banda codificadora para a qual a alocação de bit foi modificada, e se a codificação de Huffman economizar ainda mais bits que a codificação natural, os bits salvos são adicionalmente usados para a modificação de alocação de bit da sub-banda codificadora.
Etapa 308, julgar se o número de iterações de modificação de alocação de bit count é menor que Maxcount, se sim, pular para a etapa 302, senão, terminar o processo de modificação de alocação de bit.
O Maxcount acima é o valor limiar superior do número de iterações de rnodificação de alocação de bit, que é determinado pelo fluxo de bit codificado e a taxa de amostragem do mesmo. No exemplo, Maxcount=31 é usado. Etapa 206, o índice de quantização do vetor da sub- banda codificadora de bit alto é codificado. O número de bits alocados na sub-banda codificadora de bit alto j satisfaz: 5<=region_bit(j)<=9.
O vetor índice k={k1, k2, k3, k4, k5, k6, k7, k8) é obtido após o vetor de 8 dimensões na sub-banda codificadora cujo número de bits codificados é 5 a 9 ser quantizado, sendo que cada componente do vetor índice k é codificado diretamente de acordo com o número de bits alocados em um coeficiente de domínio de frequência para obter os bits codificados do vetor. Pode-se perceber, pelo resultado estatístico, que,
sob a condição de taxa de amostragem de 32kHz e taxa de codificação de 32kbps, 96% de todas as sub-bandas codificadoras são sub-bandas codificadoras com o número de bits alocados menor que 5. Ou seja, a possibilidade de usar a 5 quantização de vetor de retículo de pirâmide é 96% em toda a quantização de vetor. A quantização de vetor de retículo de pirâmide tem um papel muito importante na invenção e usa uma alocação de bit variável de extensão de etapa para uma alocação de bit, em que a extensão de etapa de alocação de bit de um coeficiente de domínio de frequência pode ser ajustada minimamente para meio bit, melhorando, assim, a eficácia de uso de bit. O algoritmo de ponto de retículo identificador para o método de quantização de vetor de retículo de pirâmide da extensão de etapa de bit baixo na invenção tem uma baixa complexidade e ocupa pouco espaço de armazenamento. Ademais, uma nova regra de julgamento é usada para o identificador de extensão de livro de código na quantização de esfera de vetor de retículo da sub-banda codificadora de bit alto, reduzindo, assim, ainda mais a complexidade do método de quantização de vetor de retículo.
2. MÉTODO DE DECODIFICAÇÃO O método de decodificação de áudio de quantização de vetor de retículo na invenção é o processo inverso do método de codificação, que compreende: A. decodificar os bits codificados de cada envelope de amplitude em uma fluxo de bit a ser decodificado para obter um exponente de quantização de envelope de amplitude de cada sub-banda codificaCíora; B. realizar a alocação de bit em cada sub-banda codificadora, dividir as sub-bandas codificadoras em uma sub- banda codificadora de bit baixo e uma sub-banda codificadora de bit alto de acordo com o número dos bits alocados de cada sub-banda codificadora, realizando a decodificação,
quantização inversa e norrnalização inversa da quantização de vetor de retículo de pirâmide na sub-banda codificadora de bit baixo, e realizar a decodificação, quantização inversa e normalização inversa da quantização de esfera de vetor de 5 retículo na sub-banda codificadora de bit alto, e obter o coeficientes de domínio de frequência da sub-banda codificadora de bit baixo e da sub-banda codificadora de bit alto; em que a sub-banda codificadora de bit baixo é uma sub- banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o número de bits alocados a um coeficiente de domínio de frequência é maior ou igual a um valor limiar pré-ajustado; antes da etapa de realização de alocação de bit em cada sub-banda codificadora, primeiramente calcular um valor inicial de importância de cada sub-banda codificadora de acordo corn o valor de envelope de amplitude da sub-banda codificadora, e então realizar a alocação de bit em cada coeficiente de domínio de frequência na sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, e durante a alocação de bit, a extensão de etapa de alocação de bit e extensão de etapa de redução de importância depois da alocação de bit são, ambas, variáveis.
Após a alocação de bit ser realizada e antes da decodificação, a modificação de alocação de bit é realizada na sub-banda codificadora para count vezes novamente, de acordo com um valor do número de iterações de modificação de alocação de bit count e a importância de cada sub-banda codificadora ern um lado de codificação. Quando a sub-banda codificadora de bit baixo é decodificada, a codificação de Huffman ou decodificação direta é realizada na sub-banda codificadora de bit baixo de acordo corno indicador de coeficiente de domínio de frequência codificação de Huffman no lado de codificação para obter o índice de quantização do vetor da sub-banda codificadora de bit baixo, e a quantização inversa da quantização de vetor de 5 retículo de pirâmide é realizada em todos os índices de quantização do vetor para obter o coeficiente de domínio de frequência da sub-banda codificadora; quando a sub-banda codificadora de bit alto é decodificada, a sub-banda codificadora de bit alto é direta e naturalmente decodificada lO para obter o índice de quantização do vetor da sub-banda codificadora de bit alto, e a quantização inversa da quantização de esfera de vetor de retículo é realizada em todos os índices de quantização do vetor para obter o coeficiente de domínio de frequência da sub-banda codificadora. C. realizar uma transformada de cosseno discreta modificada inversa (IMDCT) no coeficiente de frequência depois de um carregamento de ruído par obter um sinal de áudio final.
A Figura 4 e um diagrama esquemático de estrutura do método de decodificação de áudio de quantização de vetor de retículo de acordo com o exemplo da invenção. Conforme mostrado na Figura 4, o método cornpreende as seguintes etapas .
Etapa 401, os bits codificados de cada envelope de amplitude são decodificados para obter o exponente de quantização de envelope de amplitude de cada sub-banda codificadora. Um quadro de bits codificados é extraído do fluxo de bit codificado enviado do lado de codificação (isto é, do desmultiplexador de fluxo de bit DeMUX); após os bits codificados serem extraídos, as informações laterais são decodificadas primeiramente, e, então, os bits codificados de cada envelope de amplitude no quadro são decodificados por Huffman ou diretamente decodificados, de acordo com o valor do indicador da codificação de Huffman de envelope de amplitude Flag_huff_rms para obter o exponente de quantização 5 de envelope de amplitude de cada sub-banda codificadora Thq{j)Qj=o,...,u]1. Etapa 402, alocação de bit é realizada em cada sub- banda codificadora. O valor inicial de importância de cada sub-banda codificadora é calculado de acordo com o exponente de quantização de envelope de amplitude de cada sub-banda codificadora, e a importância da sub-banda codificadora é usada para realizar a alocação de bit em cada sub-banda codificadora para obter o número de bits alocados na sub- banda codificadora; a alocação de bit s no lado decodificador e no lado codificador são a mesma. Durante a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância da sub-banda codificadora após a alocação de bit são ambas variáveis.
Após o processo de alocação de bit acima estar completo, a modificação de alocação de bit é realizada na sub-banda codificadora por count vezes novamente, de acordo corri O valor do número de iterações de modificação de alocação de bit count e a importância de cada sub-banda codificadora no lado codificador, e, então, o processo de alocação de bit está terminado.
Durante a alocação de bit e o progresso de modificação, a extensão de etapa de alocação de bit e a extensão de etapa de modificação de alocação de bit são ambas 1 bit quando os bits são alocados na sub-banda codificadora com o número de bits alocados sendo 0, e a extensão de etapa de redução de importância após a alocação de bit e a modificação de alocação de bit é 1. A extensão de etapa de alocação de bit e a extensão de etapa de modificação de alocação de bit são ambas 0,5 bit quando os bits são alocados adicionalmente na sub-banda codificadora sendo que o número de bits alocados é maior que 0 e menor que um certo valor 5 limiar, e a extensão de etapa de redução de importância após a alocação de bit e a modificação de alocação de bit também é 0,5. A extensão de etapa de alocação de bit e a extensão de etapa de modificação de alocação de bit são ambas 1 bit quando os bits são alocados adicionalmente à sub-banda codificadora, sendo que o número de bits alocados é maior ou igual ao valor limiar, e a extensão de etapa de redução de importância depois da alocação de bit e da modificação de alocação de bit também é 1. Etapa 403, todas as sub-bandas codificadoras são divididas em sub-bandas codificadoras de bit baixo e sub- bandas codificadoras de bit alto, de acordo com o número de bits alocados nas sub-bandas codificadoras, isto é, julga-se se o número de bits alocados na sub-banda codificadora j region_bit{j) é menor que um valor limiar pré-ajustado, se sim, a sub-banda codificadora é uma sub-banda codificadora de bit baixo, prosseguindo para a etapa 404, senão, a sub-banda codificadora é uma sub-banda codificadora de bit alto, prosseguindo para a etapa 405. Etapa 404, a sub-banda codificadora de bit baixo é decodificada para obter o índice da quantização de vetor de retículo de pirâmide, e o ponto de retículo D8 correspondente ao índice da quantização de vetor de retículo de pirâmide é calculado, e o coeficiente de domínio de Erequência da sub- banda codificadora de bit baixo é obtido depois que a normalização inversa é realizada; prosseguindo para a etapa
406. A decodificação de Huffman ou a decodificação natural direta é realizada na sub-banda codificadora de bit baixo de acordo com as informações laterais par obter o índice de quantização de vetor de retículo de pirâmide da sub-banda codificadora de bit baixo.
Se Flag_huff _plvq=0, a decodificação natural é 5 realizada diretamente para obter o índice do m-ésimo vetor quantização da sub-banda codificadora de bit baixo j index_b(j,m); se Flag_huff _plvq=1, o índice do m-ésimo vetor quantização da sub-banda codificadora de bit baixo j index_b(j,m) é obtido de acordo com a tabela de código da codificação de Huffman correspondente ao número de bits alocados em um coeficiente de domínio de frequência da sub- banda codificadora. Quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se um valor do código binário natural do índice de quantização for menor que "1111 111", então o índice de quantização é calculado de acordo com o valor do código binário natural; se o valor do código binário natural do índice de quantização for igual a "1111 111", então o bit seguinte é continuamente lido, se o bit seguinte é 0, então o índice de valor de quantização é 127, se o bit seguinte é 1, então o índice de valor de quantização é 128. O processo de cálculo do ponto de retículo D8 correspondente ao índice da quantização de vetor de retículo de pirâmide é, na verdade, o processo inverso do processo de quantização de vetor, e o processo de quantização inversa da quantização de vetor de retículo de pirâmide é conforme segue: Etapa 404a), a superfície de pirâmide de energia em que o índice de quantização do vetor está localizado e o identificador na superfície de pirâmide de energia são determinados: buscar um kk na energia de superfície de pirâmide a partir de 2 a Largek(region_bit(j)) para cumprir a diferença abaixo: N(8,kk) <= index_b(j,m) < N(8,kk+2), se tal kk for encontrado, então K=kk é a energia da 5 superfície de pirâmide em que o ponto de retículo D8 correspondente ao índice de quantização index_b(j,rn) está localizado, b= index_b(j,m)-N(8,kk) é o identificador de índice do ponto de retículo D8 na superfície de pirâmide.
se tal kk não for encontrado, a energia de superfície de pirâmide do ponto de retículo D8 correspondente ao índice de quantização indexb(j,m) k=o e o identificador de índice b=O.
etapa 404b), os procedimentos específicos para resolver o vetor do ponto de retículo D8 Y=(y1, y2 y3, y4, y5, y6, y7, y8,) cuja energia de superfície de pirâmide é K e o identificador de índice é b são conforme segue: etapa 1, deixar Y=(0,0,0,0,0,O,O,O), xb=0, 1=1, k=k, 1=8 ; etapa 2, se b=xb então yi=0; pular para a etapa 6; etapa 3, se b<xb+N(l-1,k), então yi=0, e pular para a etapa 5 ; ou, senão, xb=xb+N(l-1,k); deixar j=1; etapa 4, se b<xb+2*N(l-1,k-j), então se xb<=b<xb+N(l-1,k-j), então yi=j ; se b>=xb+N(l-1,k-j), então yi= - j , xb=xb+N (1-1, k- j) ; senão, xb=xb+2*N (1-1, k- j ) , j=j +1; cont inuar a etapa; etapa 5, atualizar k=k-jyi|, l=l-1, i=i+1, se k>O, então pular para a etapa 2; etapa 6, se k>O, então y8=k-j yi|, y=( y1, y2,..., y8) é o ponto de retículo resolvido.
! 80/104 q· [ Etapa 404C) a regulação inversa de energia é realizada no ponto de retículo D8 resolvido para obter lij" =(Y+a)/scale(index) em que, a=(2"',2"',2"',2"',2"',2"',2"',2"') , scale(index) é 5 um fator de escalonagem, que pode ser encontrado na tabela 2. Etapa 404d), o processamento da normalização — inversa é realizado em Yi" para obter o coeficiente de j domínio de frequência do m-ésimo vetor na sub-banda codificadora j recuperada pelo lado decodificador: 10 .Y;:' = 2"q(j)" giín7 em que, Thq(j) é um exponente de quantização de envelope de amplitude da j-ésima sub-banda codificadora.
Etapa 405, uma decodificação, uma quantização inversa e uma normalização inversa da quantização de esfera 15 de vetor de retículo são realizadas na sub-banda codificadora q de bit alto para obter o coeficientes de domínio de frequência da sub-banda codificadora de bit alto.
a decodificação natural é diretamente realizada nos bits codificados da sub-banda codificadora de bit alto para 20 obter o m-ésimo vetor índice k do bit j codificado por bit alto. O processo de realização da quantização inversa da quantização de esfera de vetor de retículo no vetor índice é, na verdade, o processo inverso do processo de quantização, sendo que as etapas específicas são conforme segue: l ! 25 etapa 405a), calcular x=k*G e calcular ytemp=x/(2^(region_bit(j)); em que k é o vetor índice da quantização de vetor, sendo que region_bit(j) representa o número de bits locados em um coeficiente de domínio de frequência na sub-banda codificadora j; G é a matriz geradora 30 do ponto de retículo D8 e a forma é conforme segue:
H 2 0 0 0 0 0 0 0 . 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 l 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 etapa 405b), calcular y=x-fD8(ytemp)* (2^(region_bit(j)); etapa 405c), realizar regulação inversa de energia 5 no ponto de retículo D8 resolvido para obter F." = y*sca/e(region _ bit(j))/(2"g'Qn_blt(j))+a em que a=(2"',2"',2",2",2_',2",2",2") , scale(region _ bit(j)) é o fator de escalonagem e pode ser encontrado na tabela 3. 10 etapa 405d), realizar o processamento de normalização inversa em Íj" para obter o coeficiente de
W domínio de frequência do m-ésimo vetor na sub-banda
I codificadora j recuperada pelo lado decodificador: T; = 2Th,(j)'2 Qjm 15 ern que, Thq(j) é um exponente de quantização de envelope de amplitude da j-ésima sub-banda codificadora. Etapa 406, o coeficientes de domínio de frequência de todas as sub-bandas codificadoras é sequenciado de acordo com a amplitude da Erequência, e o carregamento de ruído e 20 extensão de largura de banda são realizados nas sub-bandas com nenhum bit alocado codificado no processo de codificação ou nas sub-bandas perdidas no processo de transmissão.
Etapa 407, IMDCT (Transformada de Cosseno Discreta Modificada Inversa) é realizada no coeficiente de âomínio de frequência após o preenchimento de ruído e a extensão de largura de banda ser realizados para obter o sinal de áudio emitido final.
3. SISTEMA DE ENCODIFICAÇÃO 5 Para implantar o método de codificação acima, a invenção fornece, ainda, um sistema de codificação de áudio de quantização de vetor de retículo, conforme mostrado na Figura 5, sendo que o sistema compreende uma unidade de transformada de cosseno discreta modificada (MDCT) 51, uma unidade de cálculo de envelope de amplitude 52, uma unidade de quantização e codificação de envelope de amplitude 53, uma unidade de alocação de bit 54, uma unidade de processamento de normalização 55, uma unidade de quantização e codificação de vetor de retículo de classificação 56 e um multiplexador de fluxo de bit (MUX) 57. Em que, a unidade MDCT é configurada para realizar o MDCT erri um sinal de áudio para gerar coeficientes de domínio de frequência; a unidade de cálculo de envelope de amplitude é conectada à unidade MDCT e é configurada para dividir os coeficientes de domínio de frequência gerados pela unidade MDCT em diversas sub-bandas codificadoras, e calcular um valor de envelope de amplitude de cada sub-banda codificadora; quando divide a sub-banda codificadora, a unidade de cálculo de envelope de amplitude divide os coeficientes de domínio de frequência depois da MDCT em diversas sub-bandas codificadoras igualmente espaçadas, ou divide os mesmos em diversas sub-bandas codificadoras não uniformes de acordo com a característica de percepção auditória. A unidade de quantização e codificação de envelope de amplitude é conectada à unidade de cálculo de envelope de amplitude e é configurada para quantizar e codificar o valor de envelope de amplitude de cada sub-banda codificadora para gerar os bits codificados do envelope de amplitude de cada sub-banda codificadora. A unidade de alocação de bit é conectada à unidade 5 de quantização e codificação de envelope de amplitude e é configurada para realizar a alocação de bit para obter o número dos bits codificados alocados ern cada coeficiente de domínio de frequência em cada sub-banda codificadora.
Especificamente, a unidade de alocação de bit compreende um módulo de cálculo de importância e um módulo de alocação de bit conectados um ao outro, em que, o módulo de cálculo de importância é configurado para calcular um valor inicial de importância de cada sub- banda codificadora, de acordo com o valor de envelope de amplitude da sub-banda codificadora; o módulo de alocação de bit é configurado para realizar a alocação de bit em cada coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância após a alocação de bit são ambas variáveis.
O valor inicial da importância é calculado de acordo com um valor de bit ótimo sob o sinal de quantização máxima para condição de ganho de ruído e um fator de escalonagem complacente com a característica de percepçãc' auditória, ou é o exponente de quantização Thq(j) ou Lµxlog,[Th(j)]+v] de cada sub-banda codificadora envelope de amplitude, em que µ>0, e µ e v são ambos números reais. O módulo de cálculo de importância é configurado para, quando calcula o valor inicial da importância, calcula primeiramente um valor médio de consumo de bit de um coeficiente de domínio de frequência; então calcula um valor de bit Ótimo sob o sinal de quantização máxima para condição de ganho de ruído, de acordo com uma teoria de distorção de taxa de código; então calcular o valor inicial de importância
5 de cada sub-banda codificadora na alocação de bit de acordo com o valor médio de consumo de bit e o valor de bit Ótimo;
o módulo de alocação de bit é configurado para realizar a alocação de bit em cada sub-banda codificadora, de acordo coma importância de cada sub-banda codificadora,
aumentar o número dos bits codificados de cada coeficiente de domínio de frequência na sub-banda codificadora com a importância máxima, e diminuir a importância da sub-banda codificadora até que a soma dos números de bits consumidos por todas as sub-bandas codificadoras cumpre o valor máximo sob a condição da limitação de bit.
Quando o módulo de alocação de bit realiza a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância depois da alocação de bit da sub-banda codificadora de bit baixo são menores que a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância depois da alocação de bit da sub-banda codificadora de zero bit e sub- banda codificadora de bit alto.
Por exemplo, quando o rnódulo de alocação de bit realiza a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância depois da alocação de bit da sub-banda codificadora de bit baixo são ambas 0,5; a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância depois da alocação de bit da sub-banda codificadora de zero bit e sub-banda codificadora de bit alto são ambas 1. A unidade de processamento de normalização é conectada à unidade MDCT e é configurada para usar o valor de envelope de amplitude de quantização da sub-banda codificadora para realizar o processamento de normalização em todos os coeficientes de domínio de frequência em cada sub- banda codificadora.
5 A unidade de quantização e codificação de vetor de retículo é conectada à unidade de processamento de normalização e a unidade de alocação de bit é configurada para realizar a quantização e codificação nos vetores normalizados a serem quantizados em uma sub-banda codificadora de bit baixo e uma sub-banda codificadora de bit alto, respectivamente, em uma quantização de vetor de retículo de pirâmide e uma quantização de esfera de vetor de retículo para obter os bits codificados do coeficiente de domínio de frequência; em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual o número de bits alocados a um coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o número de bits alocados a um coeficiente de domínio de frequência é maior ou igual a um valor limiar pré-ajustado. O multiplexador de fluxo de bit (MUX) é conectado à unidade quantizadora e codificadora de envelope de amplitude e à unidade quantizadora e codificadora de vetor de retículo de classificação e está configurado para multiplexar os bits codificados de cada sub-banda codificadora e os bits codificados dos coeficientes de domínio de frequência e enviá-los para um lado de decodificação. A unidade quantizadora e codificadora de vetor de retículo de classificação está descrita detalhadamente com referência à Figura 6: conforme mostrado na Figura 6, a unidade quantizadora e codificadora de vetor de retículo de classificação compreende um módulo de processamento de classificação 61, um módulo quantizador de vetor de retículo de pirâmide 62, um módulo quantizador de vetor de retículo de esfera 63, um módulo julgador tipo codificador 64, um módulo codificador de Huffman 65, um módulo codificador natural 66 e
5 um módulo modificador de alocação de bit 67, em que,
o módulo de processamento de classificação é conectado à unidade processadora de normalização e está configurada para agrupar os coeficientes de domínio de frequência normalizados a fim de formar um vetor a ser quantizado de 8 dimensões, e encaminhar o vetor a ser quantizado normalizado da sub-banda codificadora de bit baixo para o módulo quantizador de vetor de retículo de pirâmide e encaminhar o vetor a ser quantizado normalizado da sub-banda codificadora de bit alto para processamento no módulo quantizador de vetor de retículo de esfera;
o módulo quantizador de vetor de retículo de pirâmide é conectado ao módulo de processamento de classificação e configurado para realizar a quantização de vetor de retículo de pirâmide no vetor a ser quantizado normalizado de cada sub-banda codificadora de bit baixo; o módulo quantizador de vetor de retículo de pirâmide compreende um primeiro submódulo regulador de energia 621, a primeiro subrnÓdulo quantizador de ponto de retículo 622, a primeiro submódulo de ajuste de energia 623 e um submódulo de cálculo de índice de quantização 624, em que,
o primeiro submódulo regulador de energia está configurado para realizar a regulação de energia em um vetor a ser quantizado de 8 dimensões na sub-banda codificadora;
o primeiro submódulo regulador de energia está adicionalmente configurado para, ao realizar a regulação de energia no vetor a ser quantizado de 8 dimensões, pesquisar,
em primeiro lugar, a tabela anterior 2 por um índice de número de sequência de livro de código e uma escala de fator de escalonamento de energia que corresponde ao numero de bits de acordo com o número de bits region_bit(j) alocados em um coeficiente de domínio de frequência na sub-banda codificadora j onde o vetor a ser quantizado de 8 dimensões
5 está situado; então, realizar a regulação de energia no vetor a ser quantizado de acordo com a equação a seguir:
ÈLi, =(y7'—a)*scale(index)
em que, L"representa o m ésirno vetor a ser quantizado normalizado de 8 dimensões na sub-banda codificadora j, E:,,al, representa um vetor de 8 dimensões após realização da regulação de energia em 1j",
a=(2^,2_',2-',2"',2"',2_',2_',2") ;
o primeiro submódulo quantizador de ponto de retículo está conectado ao primeiro submódulo regulador de energia e está configurado para quantizar o vetor a ser quantizado de 8 dimensões em um ponto de retículo D8;
ao realizar quantização de ponto de retículo, o primeiro submódulo quantizador de ponto de retículo quantiza o vetor de 8 dimensõesZ:,,a/, no ponto de retículo D8 r com uma equação a seguir:
~ ~ Lj = Jd, (L:,cale)
em que, Jd,(0) representa um operador de quantização para mapear um certo vetor de 8 dimensões em relação ao ponto de retículo D8;
o primeiro submódulo de ajuste de energia está conectado ao primeiro subrnódulo quantizador de ponto de retículo e está configurado para comparar a energia do ponto de retículo D8 com um raio de energia de superfície de pirâmide máximo no livro de código de codificação, se a energia do ponto de retículo D8 for menor que ou igual ao raio de energia de superfície de pirârnide máximo, notificar o submódulo de cálculo de índice de quantização para calcular 5 um índice de quantização do ponto de retículo D8 no livro de código; se a energia do ponto de retículo D8 for maior que o raio de energia de superfície de pirâmide máximo, realizar um truncamento de energia no vetor a ser quantizado regulado na sub-banda codificadora, e notificar o primeiro submódulo quantizador de ponto de retículo para quantizar o vetor a ser quantizado de energia truncada em relação ao ponto de retículo D8 até a energia do ponto de retículo de quantização do vetor a ser quantizado de energia truncada não ser maior que o raio de energia de superfície de pirâmide máximo, e, nesse ínterim, adicionar de forma contínua uma energia ao vetor a ser quantizado de energia truncada, e notificar o primeiro submódulo quantizador de ponto de retículo para quantizar o vetor a ser quantizado de energia adicionada em relação ao ponto de retículo D8 até a energia do ponto de retículo D8 ao qual o vetor a ser quantizado de energia adicionada é quantizado ser maior que o raio de energia de superfície de pirâmide máximo, e notificar o submódulo de cálculo de índice de quantização para calcular o índice de quantização do último ponto de retículo D8 cuja energia não é maior que o raio de energia de superfície de pirâmide máximo no livro de código; o módulo de cálculo de índice de quantização está conectado ao primeiro submódulo de ajuste de energia e está configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código de acordo com a notificação do primeiro submódulo de ajuste de energia.
O submódulo de cálculo de índice de quantização está configurado para, ao calcular o índice de quantização do
~ ponto de retículo D8 lj" no livro de código, marcar os pontos de retículo em cada superfície de pirâmide respectivamente de acordo com a amplitude da energia de superfície de pirâmide, então marcar uniformemente o ponto de retículo em todas as
5 superfícies de pirâmide, em que, a marca uniforme é o índice ~ de quantização do ponto de retículo D8 Yj" no livro de código.
O módulo quantizador de vetor de retículo de esfera está conectado ao módulo de processamento de classificação e está configurado para realizar quantização de vetor de retículo de esfera no vetor a ser quantizado normalizado na sub-banda codificadora de bit alto; o módulo quantizador de vetor de retículo de esfera compreende um segundo submódulo regulador de energia 631, um segundo submódulo quantizador de ponto de retículo 632, um submódulo julgador de condição de vetor zero 633, um segundo submódulo de ajuste de energia 634 e um submódulo de cálculo de vetor de índice 635, em que,
o segundo subrnódulo regulador de energia está configurado para realizar a regulação de energia no vetor a ser quantizado de 8 dimensões na sub-banda codificadora; ao realizar urna regulação de energia no vetor a ser quantizado de 8 dimensões, o segundo submódulo ,regulador de energia pesquisa, em primeiro lugar, por um fator de escalonamento de energia scale(region_bit(j)) que corresponde ao número de bits de acordo com o número de bits region_bit(j) alocados em um coeficiente de domínio de frequência na sub-
banda codificadora j onde o vetor a ser quantizado jj"está situado; então realiza a regulação de energia no m-ésimo vetor a ser quantizado 1JYe acordo com a equação a seguir:
^
L" = m _")
em que, Yj" representa o m- és imo vetor a ser quanti zado normalizado de 8 dimensões na sub-banda codif icadora j, a = (2", 2", 2_', 2_', 2", 2^, 2"',2") ,
2region_ bit(j)
5 8= scale(region bit(j)) q e scale(region_bit(j)) representa o fator de escalonamento de energia quando o número de bits alocados em um coeficiente de domínio de frequência na sub-banda codificadora for region_bit(j), e a relação correspondente pode ser encontrada com base na tabela 3; o segundo submódulo quantizador de ponto de retículo está conectado ao segundo submódulo regulador de energia e está configurado para quantizar o vetor a ser quantizado de 8 dimensões em relação a ponto de retículo Du o segundo submódulo quantizador de ponto de retículo mapeia o m-ésimo vetor a ser quantizado jí" na sub-
banda codificadora j em relação ao ponto de retículo D8 L" -
com a equação a seguir:
i; =jD,(Y:); o submódulo julgador de condição de vetor zero está conectado ao segundo submódulo quantizador de ponto de retículo e está configurado para julgar se o ponto de retículo D8 atende a condição de vetor zero, se sim, notificar o submódulo de cálculo de vetor de índice para calcul-ar o vetor de índice do ponto de retículo D8; se não, notificar o segundo submódulo de ajuste de energia para ajustar a energia do vetor a ser quantizado; a condição de vetor zero é dividir o valor de ponto de retículo D8 obtido por quantização de vetor por 2 em relação a uma potência do número de bits 2"g'on"bit(j) alocadosf e, - entao, projetar em relação ao ponto de retículo D8, o valor de ponto de retículo
D8 projetado é um vetor zero, em que, region_bit(j) representa o número de bits alocados em um coeficiente de domínio de
5 frequência na j-ésima sub-banda codificadora;
o segundo submódulo de ajuste de energia está conectado ao submódulo julgador de condição de vetor zero e ao segundo submódulo quantizador de ponto de retículo e está configurado para realizar truncamento de energia em um valor do vetor a ser quantizado, e notificar o segundo submódulo quantizador de ponto de retículo para quantizar o vetor a ser quantizado de energia truncada em relação ao ponto de retículo D8 até a condição de vetor zero ser satisfeita; e para realizar cópia de segurança de um valor múltiplo w do próprio vetor a ser quantizado, e adicionar o valor múltiplo de cópia de segurança w ao vetor a ser quantizado de energia truncada, e notificar o segundo subrnódulo quantizador de ponto de retículo para quantizar o vetor a ser quantizado de energia truncada em relação ao ponto de retículo D8 até a condição de vetor zero não ser satisfeita e para notificar o submódulo de cálculo de vetor de índice para calcular um último vetor de índice do ponto de retículo D8 que atende à condição de vetor zero;
o submódulo de cálculo de vetor de índice está conectado ao submódulo julgador de condição de vetor zero e ao segundo submódulo de ajuste de energia e está configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código de acordo com notificações do submódulo julgador de condição de vetor zero e do segundo submódulo de ajuste de energia.
O submódulo de cálculo de vetor de índice calcula o vetor de índice de quantização de vetor k do m-ésimo vetor quantizado em relação ao ponto de retículo D8 lj"~na j-ésima sub-banda codificadora de acordo com a equação a seguir: k = (ZTG"')mOd2"g'on-bIl(j) em que, regionbit(j) representa o número de bits 5 alocados em um coeficiente de domínio de frequência na sub- banda codificadora j; g é a matriz geradora do ponto de retículo D8 e a forma é como segue: 2 0 0 0 0 0 0 0 I 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 O módulo julgador tipo codificador está conectado ao módulo quantizador de vetor de retículo de pirâmide e está configurado para julgar se um número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo é menor que um número total de bits necessários para codificar naturalmente os índices de quantização de todas as sub-bandas codificadoras de bit baixo, se sim, notificar o módulo codificador de Huffman e módulo modificador de alocação de bit; se não, notificar o módulo codificador natural. O módulo codificador de Huffman está configurado para realizar a codificação de Huffman no índice de quantização da sub-banda codificadora de bit baixo, e ajustar urri indicador de codificação de Huffman de coeficiente de domínio de frequência para que seja aquele que a codificação de Huffman utilizou.
Quando o módulo codificador de Huffman realiza codificação de Huffman nos índices de quantização de todas as sub-bandas codificadoras de bit baixo, em todas as sub-bandas codificadoras nas quais o número de bits alocados em um coeficiente de domínio de
5 frequência é maior que 1, menor que 5 e não 2, cada quatro bits nos códigos binários naturais para cada índice de quantização de vetor são divididos em um grupo e a codificação de Huffman é realizada naquele grupo, e a soma dos números de bits da codificação de Huffman para todos os grupos de 4 bits é o número de bits consumidos na codificação de Huffman do índice de quantização; em todas as sub-bandas codificadoras nas quais o número de bits alocados em um coeficiente de domínio de frequência é 2, 15 bits são usados para codificar o índice de quantização de vetor de retículo de pirâmide de cada vetor de 8 dimensões, e os 15 bits são divididos em 3 grupos de 4 bits e 1 grupo de 3 bits, então a codificação de Huffman é realizada nos grupos, a soma dos números de bits dos 4 grupos consumidos na codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o núrnero de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora for 1, se o índice de quantização for menor que 127, então o índice de quantização é codificado com 7 bits, que são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits dos dois grupos consumidos na codificação de
Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora for I, se o índice de quantização for igual a 127, então seu próprio código binário natural é definido como "1111 1110", os 7 números 1 na frente são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits 5 dos dois grupos consumidos na codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora for 1, se o índice de quantização for igual a 128, então seu próprio código binário natural é definido como "1111 1111", os 7 números 1 são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits dos dois grupos consumidos na codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização. Quando a codificação de Huffman é realizada nos índices de quantização de todas as sub-bandas codificadoras de bit baixo, diferentes livros de código são usados para codificar o índice de quantização de vetor da sub-banda codificadora de acordo com o número de bits alocados em um coeficiente de dornínio de frequência na sub-banda codificadora. O rnódulo codificador natural está configurado para realizar a codificação natural no índice de quantização da sub-banda codificadora de bit baixo e no vetor de índice da sub-banda codificadora de bit alto.
O módulo modificador de alocação de bit está configurado para usar bits salvos pela codificação de Huffman para modificar o número de bits alocados da sub-banda codificadora, e notificar o módulo de processamento de classificação para realizar quantização de vetor e codificação novamente após classificar as sub-bandas codificadoras para as quais a alocação de bit foi modificada.
Ao realizar alocação de bit, o módulo modificador de alocação de bit pesquisa por uma sub-banda codificadora
5 com uma importância máxima em todas as sub-bandas codificadoras, se o número de bits alocados na sub-banda codificadora tiver alcançado o valor máximo do número dos bits possivelmente alocados, ajustar a importância da sub- banda codificadora para ser a mais baixa, e não mais modificar q número de bits alocados para a sub-banda codificadora, se não, realizar modificação de alocação de bit na sub-banda codificadora com a importância máxima; durante a modificação de alocação de bit, o módulo modificador de alocação de bit aloca 1 bit na sub-banda codificadora com o núrnero de bits alocados sendo 0, e reduz a importância em 1 após a alocação de bit ser realizada; aloca
0,5 bit na sub-banda codificadora com o número de bits alocados sendo maior que 0 e menor que 5, e reduz a importância em 0,5 após a alocação de bit ser realizada;
aloca 1 bit na sub-banda codificadora com o número de bits alocados sendo maior que 5, e reduz a importância ern 1 após a alocação de bit ser realizada.
Após cada tempo, o núrnero de bits alocados é modificado pelo módulo modificador de alocação de bit, o número de iteração de modificação de alocação de bit count é adicionada em 1, se o número de iterações de modificação de alocação de bit count for alcançado, um limiar superior pré- ajustado ou o número de bits que podem ser usados é menor que o número de bits necessários para a modificação de alocação de bit, o processo da modificação de alocação de bit é finalizado. a ordem para que o multiplexador de fluxo de bit multiplexe e embale os bits codificados está em sequência de um indicador de codificação de Huffman de envelope de amplitude, um indicador de codificação de Huffman de coeficiente de domínio de frequência, o número de iterações de modificação de alocação de bit, um bit codificado de um 5 envelope de amplitude, um bit codificado do coeficiente de domínio de frequência.
4. SISTEMA DE DECODIFICAÇÃO Para implantar o método de decodificação acima, a invenção fornece adicionalmente um sistema de decodificação de áudio de quantização de vetor de retículo, conforme mostrado na Figura 7, o sistema compreende um demultiplexador de fluxo de bit (DeMUX) 71, uma unidade de decodificação de envelope de amplitude de sub-banda codificadora 72, uma unidade de alocação de bit 73, uma unidade de decodificação de coeficiente de domínio de frequência 74, uma unidade de quantização inversa de quantização de vetor de retículo de classificação 75, uma unidade processadora de normalização inversa 76, uma unidade de carregamento de ruído 77 e uma unidade de transformada de cosseno discreta modificada inversa (IMDCT) 78, em que, o demultiplexador de fluxo de bit (DeMUX) está configurado para separar lado de informação, um bit codificado de envelope de amplitude e um bit codificado de coeficiente de domínio de frequência de um fluxo de bit a ser decodificado; a unidade de decodificação de envelope de amplitude está conectada ao demultiplexador de fluxo de bit e está configurada para decodificar o bit codificado do envelope de amplitude emitido pelo demultiplexador de fluxo de bit para obter o exponente de quantização de envelope de amplitude de cada sub-banda codificadora; a unidade de alocação de bit está conectada à unidade de decodificação de envelope de amplitude de sub-
banda codificadora e está configurada para realizar alocação de bit para obter o número de bits codificados alocados para cada coeficiente de domínio de frequência em cada sub-banda codificadora;
5 a unidade de alocação de bit compreende um módulo de cálculo de importância e um módulo de alocação de bit e um módulo modificador de alocação de bit, em que, o módulo de cálculo de importância está configurado para calcular um valor inicial da importância de cada sub-
IO banda codificadora de acordo com o valor de envelope de amplitude de sub-banda codificadora; o módulo de alocação de bit está configurado para realizar alocação de bit em cada coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com o valor inicial da importância de cada sub-banda codificadora,
em que, durante a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância após a alocação de bit são ambas variáveis;
o módulo modificador de alocação de bit está configurado para realizar a modificação de alocação de bit na sub-banda codificadora para tempos de contagem novarnente após a alocação de bit ser realizada de acordo com um valor do número de contagem de iterações de modificação de alocação de bit e da importância de cada sub-banda codificadora em um lado de codificação.
Quando o módulo de alocação de bit realiza a alocação de bit, a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit baixo são rnenores que a extensão de etapa de alocação de bit e a extensão de etapa de redução de importância após a alocação de bit da sub-banda codificadora de bit zero e da sub-banda codificadora de bit alto.
Quando o módulo modificador de alocação de bit realiza modificação de bit, a extensão da etapa de modificação de bit e a extensão de etapa de redução de importância após a modificação de bit da sub-banda
5 codificadora de bit baixo são menores que a extensão da etapa de modificação de bit e a extensão de etapa de redução de importância após a modificação de bit da sub-banda codificadora de bit zero e da sub-banda codificadora de bit alto.
A unidade de decodificação de coeficiente de domínio de frequência está conectada à unidade de decodificação de envelope de amplitude e à unidade de alocação de bit e está configurada para decodificar a sub- banda codificadora de bit baixo para obter um índice de quantização da sub-banda codificadora de bit baixo; e decodificar uma sub-banda codificadora de bit alto para obter o vetor de índice da sub-banda codificadora de bit alto, em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o número de bits alocados ern um coeficiente de dornínio de frequência é maior que ou igual a um valor limiar pré-ajustado;
a unidade de decodificação de coeficiente de domínio de frequência, ao realizar decodificação na sub-banda codificadora de bit baixo, realiza codificação de Huffman na sub-banda codificadora de bit baixo de acordo com o indicador de codificação de Huffman de coeficiente de domínio de frequência no lado de codificação ou decodifica diretamente a sub-banda codificadora de bit baixo para obter o índice de quantização de vetor da sub-banda codificadora de bit baixo; ao realizar decodificação na sub-banda codificadora de bit alto, decodifica diretamente a sub-banda codificadora de bit alto para obter o índice de quantização de vetor da sub-banda codificadora de bit alto.
A unidade de decodificação de coeficiente de 5 domínio de frequência, ao realizar decodificação de Huffman na sub-banda codificadora de bit baixo, e quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o valor do código binário natural do índice de quantização for menor que "1111 1111", calcular o índice de quantização de acordo com o valor do código binário natural; se o valor do código binário natural do índice de quantização for igual a "1111 1111", então lê de modo contínuo o próximo bit, em que, se o próximo bit for 0, então o valor de índice de quantização é 127, se o próximo bit for 1, então o valor de índice de quantização é 128. A unidade de quantização inversa de vetor de retículo de classificação está configurada para realizar quantização inversa da quantização de vetor de retículo de pirâmide no índice de quantização da sub-banda codificadora de bit baixo, e realizar quantização inversa da quantização de vetor de retículo de esfera no vetor de índice da sub- banda codificadora de bit alto.
A unidade processadora de normalização inversa está configurada para realizar normalização inversa em valores após a quantização inversa ter sido realizada para a sub- banda codificadora, e obter o coeficiente de domínio de frequência.
Especificamente, a normalização inversa é realizada em lij" para obter o coeficiente de domínio de frequência do m-ésimo vetor da sub-banda codificadora j recuperado no lado de decodificação:
i"; = 2"q(j)"Uj" em que, Thq(j) é urn exponente de quantização de envelope de amplitude da j-ésima sub-banda codificadora. A unidade de carregamento de ruído está configurada 5 para realizar carregamento de ruído na sub-banda na qual nenhum bit está alocado no valor de emissão de coeficiente de domínio de frequência que é emitido pela unidade processadora de normalização inversa; a unidade de transformada de cosseno discreta modificada inversa {IMDCT) está conectada à unidade de carregamento de ruído e está configurada para realizar IMDCT no coeficiente de domínio de frequência para qual o carregamento de ruído foi realizado para obter um sinal de áudio.
A unidade de quantização inversa de quantização de vetor de retículo de classificação é descrita detalhadamente com referência à Figura 8. Conforme mostrado na Figura 8, a unidade de quantização inversa de quantização de vetor de retículo de classificação compreende um módulo de processamento de classificação 81 e um módulo de quantização inversa de quantização de vetor de retículo de pirâmide 82 e um rnódulo de quantização inversa de quantização de vetor de retículo de esfera 83, em que, o módulo de processamento de classificação está configurado para encaminhar o índice de quantização da sub- banda codificadora de bit baixo para processamento no módulo de quantização inversa de quantização de vetor de retículo de pirâmide, e encaminhar o índice de quantização da sub-banda codificadora de bit alto para processamento no módulo de quantização inversa de vetor de retículo de esfera. O módulo de quantização inversa de quantização de vetor de retículo de pirâmide está configurado para realizar quantização inversa no índice de quantização da sub-banda codificadora de bit baixo; em que, o módulo de quantização inversa de vetor de retículo de pirâmide 82 compreende um
5 primeiro submódulo de quantização inversa de ponto de retículo 821 e um primeiro submódulo de regulação inversa de . energia 822 que estão conectados, em que,
o primeiro submódulo de quantização inversa de ponto de retículo está configurado para determinar uma superfície de pirâmide de energia na qual o índice de quantização da sub-banda codificadora de bit baixo está situado e sua marcação na superfície de pirâmide de energia e, mais adiante, resolve um ponto de retículo D8 correspondente;
o primeiro submódulo de regulação inversa de energia está configurado para realizar regulação inversa de energia no ponto de retículo D8 resolvido, e obter lj" =(Y+a)/scale(index) em que, a=(2"',2"',2"',2"',2"',2"',2"',2"'), scale(index)é um fator de escalonamento.
O módulo de quantização inversa de quantização de vetor de retículo de esfera está configurado para realizar quantização inversa no vetor de índice da sub-banda codificadora de bit alto; o módulo de quantização inversa de quantização de vetor de retículo de esfera 83 compreende um segundo submódulo de quantização inversa de ponto de retículo 831 e um segundo submódulo de regulação inversa de energia
832 conectados entre si, em que, o segundo submódulo de quantização inversa de ponto de retículo está configurado para resolver o ponto de retículo D8 que corresponde ao vetor de índice, que compreende especificamente:
calcular x=k*G,
e calcular ytenp=x/(2^(region_bit(j))Oy=x- fD8(ytenp)* (2^(region_bit(j));
em que, k é o vetor de índice da quantização de
5 vetor, region_bit(j) representa o número de bits alocados em um coeficiente de domínio de frequência na sub-banda codificadora j; g é uma matriz geradora do ponto de retículo
D8 e sua forma é como segue:
2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 o segundo submódulo de regulação inversa de energia está configurado para realizar regulação inversa de energia no ponto de retículo D8 resolvido, e obter lj" = y*scale(region _ bit(j))/(2"'gion_bit(j'))+a em que, a=(2"',2_',2_',2_',2_',2",2_',2") ,
scale(region _ bit(j)) é o fator de escalonamento.
O método de codificação de áudio e sistema de quantização de vetor de retículo na invenção, que considera,
de forma geral, a característica de alocação da fonte de informação de voz, realiza quantização no vetor a ser quantizado na quantização de vetor de retículo integrada, a quantização de vetor de retículo de pirârnide e a quantização de vetor de retículo de esfera são respectivarnente usadas para a sub-banda codificadora de bit baixo e a sub-banda codificadora de bit alto especificamente de acordo com o número de bits alocados para a sub-banda codificadora, e o processo inverso da codificação é usado na decodificação, obtendo assim uma efeito de codificação de fonte de informação de voz satisfatório. Além disso, uma alocação de bit com uma extensão de etapa variável é usada para alocação 5 de bit, e a extensão de etapa de alocação de bit de um coeficiente de domínio de frequência pode ser ajustada minimamente em metade de um bit, aperfeiçoando assim a eficácia de uso de bits. Nesse ínterim, o quantificador de vetor de retículo de pirâmide com a extensão de etapa de bit baixo é projetado, e o algoritmo de identificação de ponto de retículo tem uma baixa complexidade, deste modo, é reduzido o espaço de armazenamento. Além disso, na quantização de vetor de retículo de esfera da sub-banda codificadora de bit alto, urn novo critério é usado para a identificação de extensão de livro de código, reduzindo assim, adicionalmente, a complexidade do algoritmo do quantizador de vetor de retículo. O algoritmo para economizar bits também é projetado no processo de codificação. O versado na técnica pode compreender que todas ou parte das etapas no método acima podem ser completadas ao instruir hardware relacionado pelos programas, e os programas podem ser armazenados em meio de armazenamento legível por computador, como memória apenas para leitura, disco rnagnético ou disco óptico e assim em diante. Opcionalmente, todas ou parte das etapas dos exemplos acima podem ser implantadas com um ou mais circuitos integrados. Consequentemente, todos os módulos/unidades nos exemplos acima podem ser implantadas em hardware ou implantadas em módulos funcionais de software. A invenção não se limita a qualquer combinação de hardware e software.
APLICABILIDADE INDUSTRIAL O método de codificação de áudio e sistema de quantização de vetor de retículo na invenção, que considera,
de forma geral, a característica de alocação da fonte de informação de voz, realiza quantização no vetor a ser quantizado na quantização de vetor de retículo integrada, a quantização de vetor de retículo de pirâmide e a quantização
5 de vetor de retículo de esfera são respectivamente usadas para a sub-banda codificadora de bit baixo e a sub-banda codificadora de bit alto especificamente de acordo com o número de bits alocados para a sub-banda codificadora, e o processo inverso da codificação é usado na decodificação, obtendo assim uma efeito de codificação de fonte de informação de voz satisfatório.
Além disso, uma alocação de bit com uma extensão de etapa variável é usada para alocação de bit, e a extensão de etapa de alocação de bit de um coeficiente de domínio de frequência pode ser ajustada minimamente em metade de um bit, aperfeiçoando assim a eficácia de uso de bits.
Nesse ínterim, o quantificador de vetor de retículo de pirâmide com a extensão de etapa de bit baixo é projetado, e o algoritmo de identificação de ponto de retículo tem uma baixa complexidade, deste modo, é reduzido o espaço de armazenamento.
Além disso, na quantização de vetor de retículo de esfera da sub-banda codificadora de bit alto, um novo critério é usado para a identificação de extensão de livro de código, reduzindo assim, adicionalmente, a complexidade do algoritmo do quantizador de vetor de retículo.

Claims (13)

REIVINDICAÇÕES
1. MÉTODO DE CODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, caracterizado por compreender: dividir coeficientes de domínio de frequência de um 5 sinal de áudio para o qual uma transformada de cosseno discreta modificada (MDCT) foi realizada em uma pluralidade de sub-bandas codificadoras, e quantizar e codificar um valor de envelope de amplitude de cada sub-banda codificadora para obter bits codificados do envelope de amplitude; realizar alocação de bit em cada sub-banda codificadora, e realizar normalização, quantização e codificação respectivamente em vetores em uma sub-banda codificadora de bit baixo com quantização de vetor de retículo de pirâmide e em vetores em uma sub-banda codificadora de bit alto com quantização de vetor de retículo de esfera para obter bits codificados dos coeficientes de domínio de frequência, em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual o números bits alocados em um coeficiente de domínio de frequência é menor que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o núrriero de bits alocados em um coeficiente de domínio de frequência é maior que ou igual ao valor limiar pré-ajustado; e multiplexar e embalar os bits codificados do envelope de amplitude e os bits codificados dos coeficientes de domínio de frequência de cada sub-banda codificadora para enviar para um lado de decodificação.
2. MÉTODO, de acordo com a reivindicação 1, caracterizado em que, antes da etapa de realização de alocação de bit em cada sub-banda codificadora, o método compreende adicionalmente: calcular um valor inicial de importância de cada sub-banda codificadora de acordo com o valor de envelope
2 /35 de amplitude de cada sub-banda codificadora; na etapa de realização de alocação de bit em cada sub-banda codificadora, a alocação de bit é realizada em cada coeficiente de domínio de frequência em cada sub-banda 5 codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante o processo de alocação de bit, uma extensão de etapa de alocação de bit e uma extensão de etapa de redução de importância após a alocação de bit são ambas variáveis.
3. MÉTODO, de acordo com a reivindicação 1, caracterizado em que, a etapa de realização de normalização e quantização na sub-banda codificadora de bit baixo com quantização de vetor de retículo de pirâmide corrlpreende: realizar processamento de normalização em todos os coeficientes de domínio de frequência na sub-banda codificadora através do uso do valor de envelope de amplitude quantizado da sub-banda codificadora para agrupar a fim de formar uma pluralidade de vetores a serem quantizados de múltiplas dimensões; realizar processamento de quantização em cada vetor a ser quantizado; em que, a etapa de realização de processamento de quantização em cada vetor a ser quantizado compreende: realizar uma regulação de energia em um vetor a ser quantizado de 8 dimensões na sub-banda codificadora, e quantizar o vetor a ser quantizado de energia regulada de 8 dimensões em relação a um ponto de retículo D8; e comparar uma energia do ponto de retículo D8 obtida pela quantização com um raio de energia de superfície de pirâmide máximo em um livro de código de codificação, se a energia do ponto de retículo D8 for menor que ou igual a raio de energia de superfície de pirâmide máximo, calcular urn índice de quantização do ponto de retículo D8 no livro de código; se a energia do ponto de retículo D8 for maior que o
3 /3 5 raio de energia de superfície de pirâmide máximo, realizar um truncamento de energia no vetor a ser quantizado regulado da sub-banda codificadora até a energia de um ponto de retículo de quantização do vetor a ser quantizado de energia truncada
5 não ser maior que o raio de energia de superfície de pirâmide máximo, e, nesse ínterim, adicionar de forma contínua uma energia para o vetor a ser quantizado de energia truncada até a energia do ponto de retículo D8 ao qual o vetor a ser quantizado de energia adicionada é quantizado ser maior que o raio de energia de superfície de pirâmide máximo, e, então, determinar um último ponto de retículo D8 cuja energia não é maior que o raio de energia de superfície de pirâmide máximo para ser um ponto de retículo de quantização de vetor, e calcular o índice de quantização do ponto de retículo de quantização de vetor no livro de código; e/ou a etapa de realização de normalização e quantização na sub-banda codificadora de bit alto com quantização de vetor de retículo de esfera compreende:
realizar processamento de normalização em todos os coeficientes de domínio de frequência na sub-banda codificadora através do uso do valor de envelope de amplitude quantizado da sub-banda codificadora para agrupar a fim de formar uma pluralidade de vetores a serem quantizados de múltiplas dimensões; realizar processamento de quantização em cada vetor a ser quantizado; em que, a etapa de realização de processamento de quantização em cada vetor a ser quantizado compreende: realizar uma regulação de energia em um vetor a ser quantizadol de 8 dimensões na sub-banda codificadora, e quantizar o vetor a ser quantizado de energia regulada de 8 dimensões em relação a um ponto de retículo D8; dividir o valor de ponto de retículo D8 obtido
4 /35 através da quantização por 2 para uma potência de inúmeros bits alocados 2"g'on-b't(j'), e, então, requantizar em relação ao ponto de retículo D8, julgar se o valor de ponto de retículo D8 requantizado é um vetor zero, se sim, determinar que uma 5 condição de vetor zero é atendida, se não, determinar que a condição de vetor zero não é atendida, em que, region_bit(j)representa o número de bits alocados em um coeficiente de domínio de frequência ern uma j-ésima sub-banda codificadora; se a condição de vetor zero for atendida, calcular um vetor de índice do ponto de retículo D8; e se a condição de vetor zero não for atendida, realizar truncamento de energia em um valor de um vetor a ser quantizado até a condição de vetor zero ser atendida, realizar cópia de segurança de valor múltiplo w do próprio vetor a ser quantizado, adicionar o valor rnúltiplo de cópia de segurança w ao vetor a ser quantizado de energia truncada , então requantizar em relação ao ponto de retículo D8, julgar se a condição de vetor zero foi atendida, se não, calcular um último vetor de índice k do ponto de retículo D8 que atende à condição de vetor zero, se sim, adicionar de forma contínua o valor múltiplo de cópia de segurança w ao vetor a ser quantizado e, então, requantizar em relação ao ponto de retículo D8 até a condição de vetor zero não ser atendida.
4. MÉTODO, de acordo com a reivindicação 3, caracterizado em que, na etapa de realização da regulação de energia no vetor a ser quantizado de 8 dimensões, em primeiro lugar, de acordo com o número de bits region_bit(j) alocados em um coeficiente de domínio de frequência na sub-banda codificadora j onde o vetor a ser quantizado de 8 dimensões
5 /35 está situado, observar uma tabela abaixo para um índice de número de sequência de livro de código e uma escala de fator de escalonamento de energia que corresponde ao número de bits; então realizar a regulação de energia no vetor a ser
5 quantizado de acordo com a equação a seguir:
E:,,al, =(L"—a)*scale(index)
em que, ÍJ"representa um m ésimo vetor a ser quantizado normalizado de 8 dimensões na sub-banda codificadora j, L:,,al, representa um vetor de 8 dimensões após a regulação de energLa ter sido realizada em l'j)",
a-(2"',2"',2"',2"',2"',2"',2_',2"') ;
Número de bits Número de Fator de Raio de I sequência dejescalonamento I energia dej jRegion_bit I livro dejde Energia I superfície dej I código I | pirâmide ! Ihdex I Scale ! máximo jLargeK 1 ! 0 I 0,5 I 2 1,5 I 1 i 0,65 I 4 2 I 2 ) 0,85 ! 6 e 2l5 I 3 I 42 I 10 _Á 3 I 4 I 1,6 I 1-4 _À 3,5 | 5 ! 2,25 I 22 _Á 4 I 6 ! 3,05 I 30 4,5 I 7 l 4,64 I 44 na etapa de quantização do vetor a ser quantizado de energia regulado de 8 dimensões em relação ao ponto de retículo D8, quantizar o vetor de 8 dimensões de energia regulada Z:,,al, em relação ao ponto de retículo D8 Yj" com a equação a seguiru
~ r = Jd, (L:scale)
em que, Jd,(0) representa um operador de quantização para mapear um certo vetor de 8 dimensões em i k
6/35 relação a um ponto de retículo D8;
a etapa de cálculo do índice de quantização do ponto de retículo D8r no livro de código compreende:
a etapa 1. marcar os pontos de retículo em cada 0
5 superfície de pirâmide de acordo com uma amplitude da energia de superfície de pirâmide; em que, para uma grade de ponto de retículo inteiro
Z' com a dimensão sendo l, a superf ície de pirâmide com um l raio de energia sendo K é definido como: l
10 S(L,K) = {Y = (y,,y,,...,y,)e Z' | E|y, 1= K}
em que , N(L,K)é registrado como o número de pontos de retículo em S(L,K) , e para a grade inteira Z' , as l fórmulas de recursão a seguir são para N(L,K) :
N(L,O)=1 (LZO), N(0,K)=O (KZl)
15 N(L,K)=N(L-1,K)+N(L-1,K-1)+N(L,K-I) (LZ1,KZ1);
para um ponto de retículo inteiro y= (yl:y23···:yL) e Zl sobre a superf ície de pirâmide corn o raio de energia sendo K, urn núme ro b em [O,1,....,N(L,K) -1] é usado para identif icar, e b é denominado como uma marcação do ponto
20 de retículo, e etapas para resolver a marcação b são como segue : etapa 1.1, deixar b=0[ji=1nk=ml=L, calcular N(m,n) ,
(m<=L, n<=K) de acordo com as fórmulas de recursão, e definir:
'g"(") j.l "":,:0 ' 25 etapa 1.2, se yi=0, então b=b+0;
se I }'i I 1, então b - b + N(l l,k)+l1"'g2n(yi) j N(l-1,k -1) ;
se |yi|>l, então 4 |y,-l b=b+N(/-1,k)+2[N(l-l,k-j) f +|1"'g:(y'))N(l-1,k-|y,|) etapa 1.3, k=k-|y,), l=l-1, i=i+1, se k=o agora, interromper pesquisa, b{j, m)=b, que é a marcação de Y, se 5 não, continuar etapa 1.2; etapa 2. marcar uniformemente o ponto de retículo em todas as superfícies de pirâmide; em que, a marcação uniforme do ponto de retículo em todas as superfícies de pirâmide é calculada de acordo com o lO número dos pontos de retículo em cada superfície de pirâmide e a marcação do ponto de retículo sobre a superfície de pirâmide onde o ponto de retículo está situado, k-2 index _ b(j,m)=b(j,m)"EN(8,kk) kk-O em que, kk é um número par, b(j,m) é a marcação de - 15 ponto de retículo D8 t" sobre a superfície de pirâmide onde - o ponto de retículo & Yj" está situado, e index b(j,m) é o - de índice de quantização do ponto de retículo D8 Y"no livro código.
5. MÉTODO, de acordo com a reivindicação 1, 20 caracterizado em que, a etapa de codificação da sub-banda codificadora de bit baixo com quantização de vetor de retículo de pirâmide compreende: realizar codificação de Huffman nos índices de 25 quantização de todas as sub-bandas codificadoras de bit baixo; e se um número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for menor que um número total de bits necessários para codificação natural dos índices de quantização de todas as sub-bandas codificadoras de bit 5 baixo, então usar a codificação de Huffman e ajustar um coeficiente de domínio de frequência de Huffman que encodifica o identificador como 1 ou verdadeiro, usar bits salvos pela codificação de Huffman para modificar o número dos bits alocados da sub-banda codificadora e realizar quantização de vetor e codificar novamente na sub-banda codificadora para qual o número dos bits alocados é modificado; se o número total de bits consumidos dos índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for maior que ou igual ao número total de bits necessários para codificação natural dos índices de quantização de todas as sub-bandas codificadoras de bit baixo, realizar a codificação natural no índice de quantização novamente, e ajustar o coeficiente de domínio de frequência de Huffrnan que encodifica o identificador como 0 ou falso.
6. MÉTODO, de acordo com a reivindicação 5, caracterizado em que, a etapa de uso de bits salvos pela codificação de Huffman para modificar o número dos bits alocados da sub- banda codificadora corrlpreende: calcular o número de bits salvos pela codificação de Huffman; encontrar uma sub-banda codificadora com importância máxima em todas as sub-bandas codificadoras, se o número de bits alocados para a sub-banda codificadora tiver alcançado um valor máximo do número de bits que pode ser alocado para a sub-banda codificadora, ajustar a importância da sub-banda codificadora como mais baixa, e não rnais modificar o número de bits alocados para a sub-banda codificadora, se o número de bits alocados para a sub-banda codificadora não tiver alcançado o valor rnáximo do número de bits que podem ser alocados para a sub-banda codificadora, 5 realizar, então, a modificação de alocação de bit na sub- banda codificadora com a importância máxima; e após cada tempo, o número de bits alocados é modificado, isto é, inúmeras iterações de modificação de alocação count de bit são adicionadas por 1, se o número das iterações de modificação de alocação de bit count tiver alcançado um limiar superior pré-ajustado ou o número de bits que puder ser usado for menor que o número de bits que é necessário para a modificação de alocação de bit, finalizar um processo da modificação de alocação de bit.
7. MÉTODO, de acordo com a reivindicação 5, caracterizado em que, quando a codificação de Huffman é realizada nos índices de quantização de todas as sub-bandas codificadoras de bit baixo, em todas as sub-bandas codificadoras nas quais o número de bits alocados em um coeficiente de domínio de frequência é maior que 1, menor que 5 e não 2, cada quatro bits nos códigos binários naturais para cada índice de quantização de vetor são divididos em um grupo e a codificação de Huffman é realizada naquele grupo, e a soma dos números de bits da codificação de Huffman para todos os grupos de 4 bits é o número de bits consumidos na codificação de Huffman do índice de quantização; em todas as sub-bandas codificadoras nas quais o número de bits alocados em um coeficiente de domínio de frequência é 2, 15 bits são usados para codificar o índice de quantização de vetor de retículo de pirâmide de cada vetor de 8 dimensões, e os 15 bits são divididos em 3 grupos de 4 bits e 1 grupo de 3 bits, então a codificação de Huffman é realizada nos grupos, a soma dos números de bits dos 4 grupos consumidos na codificação de Huffman é o número de bits consumidos na codificação de Huffman do índice de
5 quantização; quando o número de bits alocados ern um coeficiente de domínio de frequência da sub-banda codificadora for 1, se o índice de quantização for menor que 127, então o índice de quantização é codificado com 7 bits, que são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits dos dois grupos consumidos na codificação de
Huffman é o número de bits consumidos na codificação de Huffman do índice de quantização;
quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora for 1, se o índice de quantização for igual a 1-27, então o código binário natural do índice de quantização é definido como "1111 1110", os 7 números 1 são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffman é realizada respectivamente nos dois grupos, a soma dos números de bits dos dois grupos consumidos na codificação Huffman é o número de bits consurnidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora for 1, se o índice de quantização for igual a 128, então o código binário natural do índice de quantização é definido como "1111- 1111", os 7 números 1 são divididos em 1 grupo de 3 bits e 1 grupo de 4 bits, a codificação de Huffrnan é realizada respectivamente nos dois grupos, a soma dos números de bits dos dois grupos consumidos na codificação Huffman é o número de bits consumidos na codificação de Huffman do índice
—)
de quantização.
8. MÉTODO DE DECODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, caracterizado pelo fato de que compreende: 5 decodificar bits codificados de cada envelope de amplitude em um fluxo debitado a ser debitado para obter um exponente de quantização de envelope de amplitude de cada sub-banda codificaciora; realizar alocação de bit em cada sub-banda codificadora, e realizar decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide em uma sub-banda codificadora de bit baixo para obter coeficientes de domínio de frequência da sub-banda codificadora de bit baixo, e realizar decodificação, quantização inversa e normalização inversa de quantização de vetor de retículo de esfera em uma sub-banda codificadora de bit alto para obter coeficientes de domínio de frequência da sub-banda codificadora de bit alto; em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual inúmeros bits alocados em um coeficiente de domínio de frequência são menores que um valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual inúmeros bits alocados em um coeficiente de domínio de frequência são maiores que ou igual ao valor limiar pré-ajustado; e realizar uma transformada de cosseno discreta modificada inversa (IMDCT) nos coeficientes de domínio de frequência para os quais o carregamento de ruído foi realizado para obter um sinal de áudio final.
9. MÉTODO, de acordo com a reivindicação 8, caracterizado em que, antes da etapa de realização de alocação de bit em cada sub-banda codificadora, sendo que o método compreende,
ainda: calcular um valor inicial de importância de cada sub- banda codificadora de acordo com o valor de envelope de amplitude de cada sub-banda codificadora; na etapa de realização de alocação de bit em cada 5 sub-banda codificadora, a alocação de bit é realizada em cada coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, uma extensão da etapa de alocação de bit e uma extensão da etapa de redução de importância após a alocação de bit são ambas variáveis; após a alocação de bit ser realizada e antes da decodificação, de acordo com um valor de inúmeras iterações de modificação de alocação de bit count e a importância de cada sub-banda codificadora em um lado codificador, a modificação de alocação de bit é realizada na sub-banda codificadora por count vezes novamente.
10. MÉTODO, de acordo com a reivindicação 8, caracterizado em que, na etapa de realização de decodificação, a quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide na sub-banda codificadora de bit baixo, os índices de quantização de vetor da sub-banda codificadora de bit baixo são obtidos pela realização de codificação de Huffman ou decodificação direta na sub-banda codificadora de bit baixo de acordo com um indicador de encodificação de Huffman de coeficiente de domínio de frequência do lado codificador, e a quantização inversa e normalização inversa de quantização de vetor de retículo de pirâmide são realizadas em todos os índices de quantização de vetor para obter os coeficientes de domínio de frequência da sub-banda codificadora de bit baixo; na etapa de realização de decodificação, a quantização inversa e normalização inversa de quantização de vetor de retículo de esfera na sub- banda codificadora de bit alto, a decodificação natural é diretamente usada para obter índices de quantização de vetor da sub-banda codificadora de bit alto, e a quantização 5 inversa e normalização inversa da quantização de vetor de retículo de esfera são realizadas em todos os índices de quantização de vetor para obter os coeficientes de domínio de frequência da sub-banda codificadora de bit alto.
11. MÉTODO, de acordo com a reivindicação 8 ou 10, caracterizado em que, em um processo de decodificação da sub-banda codificadora de bit baixo, quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se um valor de código binário natural do índice de quantização for menor do que "1111 111", então, o índice de quantização é calculado de acordo com o valor do código binário natural; se o valor do cócíigo binário natural do índice de quantização for igual a "1111 111", então, um próximo bit é continuamente lido, se o próximo bit for 0, então, o valor do índice de quantização é 127, se o próximo bit for 1, então o valor do índice de quantização é 128.
12. MÉTODO, de acordo com a reivindicação 8 ou 10, caracterizado em que, na etapa de decodificação da sub-banda codificadora de bit baixo, se o indicador de encodificação de Huffman de coeficiente de domínio de frequência indicar que a codificação de Huffman não foi usada, então, um m-ésimo índice de quantização de vetor index_b(j,m) em uma sub-banda codificadora de bit baixo j é diretamente decodificado; se o indicador de encodificação de Huffman de coeficiente de domínio de frequência indicar que a codificação de Huffman foi usada, então o m-ésimo índice de quantização de vetor
14 /35 index b(j,m) na sub-banda codificadora de bit baixo j é obtido por decodificação de Huffman;
a etapa de realização quantização inversa de quantização de vetor de retículo de pirâmide na sub-banda
5 codificadora de bit baixo compreende: a. determinar uma superfície de pirâmide de energia na qual o índice de quantização está localizado e uma marca do índice de quantização sobre essa superfície de pirâmide de energia; em que, kk é pesquisado em energias de superfície de pirâmide de 2 a Largek(region_bit(j)) para satisfazer uma desigualdade a seguir: N(8,kk) <= index_b(j,m) < N(8,kk+2), se tal kk for encontrado, então, K=kk é a energia da superfície de pirâmide, onde um ponto de retículo D8 correspondente ao índice de quantização index_b(j,m) está localizado, b= indexb(j,m)-N(8,kk) é uma marca de índice do ponto de retículo D8 sobre a superfície de pirâmide onde o ponto de retículo D8 está localizado; se tal kk não for encontrado, a energia de superfície de pirâmide do ponto de retículo D8 correspondente ao índice de quantização index_b(j,m) k=o e a marca de índice b=0lj b. as etapas para solucionar um vetor de ponto de retículo D8 Y=(y1, y2, y3, y4, y5, y6, y7, y8,) cuja energia de superfície de pirâmide é K e a marca de índice é b, são conforme a seguir: etapa 1. deixar Y=(0,0,0,0,0,O,O,O), xb=0, 1=1, k=k, 1=8 ; etapa 2. se b=xb, então, yi=0; pular para a etapa 6; etapa 3 . se b<xb+N (1-1, k) , então, yi=0, pular para a etapa 5;
senão, xb=xb+N (1- 1, k) ; deixar j =111 etapa 4. se b<xb+2*N(l-l,k- j) , então,
se xb<=b<xb+N(l-1,k-j), então, yi=j ;
se b>=xb+N(l-1,k-j), então, yi=-j, xb=xb+N(l-1, k-
5 j) ; senão, xb=xb+2 *N (1-1, k- j ) [ j=j+l; continuar realizando a etapa atual;
etapa 5. atualizar k=k- |yi|, l=l-1, i=i+1, se k>O,
pular para a etapa 2;
etapa 6. se k>O, então, y8=k- I yi I , Y= ( y1, y2 ,...,
y8) , que é ponto de retículo solucionado;
c. realizar uma regulação inversa de energia no ponto de retículo D8, e obter
Y7 = (Y + a) / scale(index)
ern que , a=(2"',2",2"',2"',2"',2",2"',2"'), scale(index) é um f ator de escalonamento e é encontrado a partir de uma primeira tabela correspondente,
a primeira tabela correspondente
Número de Fator de Raio de energia de de superfície . Número de Mts sequência . escalonamento ^ de . de piramide Region_bit ltvro de energLa ^ código maximo Scale LargeK Ihdex 1 0 0,5 2 1,5 1 0,65 4 2 2 0,85 6 2,5 3 1,2 10 3 4 1,6 14 3,5 5 2,25 22 4 6 3,05 30 4,5 7 4,64 44 na etapa de realização normalização inversa em todos os Y"s para obter os coeficientes de domínio de frequência da sub-banda codificadora de bit baixo,
um processamento de normalização inversa é realizado em Yi" para obter o coeficiente de domínio de frequência do m-ésimo vetor da sub-banda codificadora j recuperado em um lado decodificador:
Y;n = 2"h,(j))'2gjÊ7
5 em que, Thq( j) é um expoente de quantização de envelope de amplitude da j -ésima sub-banda codificadora.
13 . MÉTODO, de acordo com a reivindicação 8 ou 10, caracterizado em que, a etapa de usar diretamente a codificação natural para obter os índices de quantização de vetor da sub-banda codificadora de bit alto e realizar a quantização inversa da quantização de vetor de retículo de esfera em todos os índices de quantização de vetor compreende: a). calcular x=k*G, e calcular ytemp=x/(2^(region_bit(j)); em que, k é o vetor de índice da m-ésima quantização de vetor na sub-banda codificadora de bit alto j, region_bit(j) representa o número de bits alocados em um coeficiente de domínio de frequência na sub-banda codificadora j; G é uma matriz geradora do ponto de retículo
D8 e uma forma da matriz geradora é conforme a seguim
2 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 G= 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 l 0 0 0 0 0 0 1 b). calcular y=x-fD8(ytemp)* (2^(region_bit(j)); C). realizar uma regulação inversa de energia no ponto de retículo D8 solucionado e obter
T" = y * scale(region _ bit( j)) /(2"gi°n-bit(j) ) + a em que, a = (2",2", 2_', 2-', 2", 2",2-', 2^) , scale(region _ bit(j)) é um fator de escalonamento e é encontrado a partir de uma segunda tabela correspondente, 5 a segunda tabela correspondente Número de bits alocados Fator de escalonamento de region bit energia scale 5 6 6 6,2 7 6,5 8 6,2 9 6,6 na etapa de realização normalização inversa em todos os J;s para obter os coeficientes de domínio de frequência da sub-banda codificadora de bit alto, realizar processamento de normalização inversa em — L" para obter o coeficiente de domínio de frequência do m- ésimo vetor da sub-banda codificadora j recuperado no lado decodificadom JT; = 2"'q(/""' 9T em que, Thq(j) é um expoente de quantização de envelope de amplitude da j-ésima sub-banda codificadora.
14. SISTEMA DE CODIFICAçÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, caracterizado pelo fato de que compreende: uma unidade de transformada discreta modificada do cosseno (MDCT), uma unidade de cálculo de envelope de amplitude, uma unidade de quantização de envelope de amplitude e de codificação, uma unidade de alocação de bit, uma unidade de processamento de normalização, um unidade quantização de vetor de retículo de classificação e de codificação e um multiplexador de fluxo de bit; em que, a unidade de MDCT é configurada para realizar a r" 18/35
MDCT em um sinal de áudio para gerar coeficientes de domínio de frequência; a unidade de cálculo de envelope de amplitude é conectada à unidade de MDCT e configurada para dividir os
5 coeficientes de domínio de frequência gerados pela unidade de MDCT em uma pluralidade de sub-bandas codificadoras, e calcular um valor de envelope de amplitude de cada sub-banda codificadora; a unidade de quantização de envelope de amplitude e
10 de codificação é conectada à unidade de cálculo de envelope de amplitude e configurada para quantizar e codificar o valor de envelope de amplitude de cada sub-banda codificadora para gerar bits codificados do envelope de amplitude de cada sub- banda codificadora;
15 a unidade de alocação de bit é conectada à unidade de quantização de envelope de amplitude e de codificação e configurada para realizar alocação de bit para obter um número de bits codificados alocados em cada coeficiente de domínio de frequência em cada sub-banda codificadora;
20 a unidade de processamento de normalização é conectada à unidade de MDCT e configurada para usar um valor de envelope de amplitude de quantização da sub-banda codificadora para realizar o processamento de normalização ern todos os coeficientes de domínio de frequência em cada sub-
25 banda codificadora;
a unidade quantização de vetor de retículo de classificação e de codificação é conectada à unidade de processamento de normalização e à unidade de alocação de bit e configurada para realizar quantização e codificação em 30 vetores a serem quantizados normalizados em uma sub-banda codificadora de bit baixo e uma sub-banda codificadora de bit alto com quantização de vetor de retículo de pirâmide e quantização de vetor de retículo de esfera, respectivamente,
para obter os bits codificados dos coeficientes de domínio de frequência; em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é menor do que um 5 valor limiar pré-ajustado, a sub-banda codificadora de bit alto é uma sub-banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é maior ou igual ao valor limiar pré-ajustado; o multiplexador de fluxo de bit é conectado à unidade de quantização de envelope de amplitude e de codificação e a uma unidade quantização de vetor de retículo de classificação e de codificação e configurado para multiplexar os bits codificados de cada sub-banda codificadora e os bits codificados dos coeficientes de domínio de frequência para enviar para um lado decodificador.
15. SISTEMA, de acordo com a reivindicação 14, caracterizado em que, a unidade de alocação de bit compreende um módulo de cálculo de importância e um módulo de alocação de bit que são conectados, em que, o módulo de cálculo de importância é configurado para calcular um valor inicial de importância de cada sub- banda codificadora de acordo com o valor de envelope de amplitude da sub-banda codificadora; o módulo de alocação de bit é configurado para realizar a alocação de bit em cada coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, uma extensão da etapa de alocação de bit e uma extensão da etapa de redução de importância após a alocação de bit são ambas variáveis.
16. SISTEMA, de acordo com a reivindicação 14, caracterizado em que,
a unidade quantização de vetor de retículo de classificação e de codificação compreende um módulo de processamento de classificação e um módulo de quantização de vetor de retículo de pirârnide, em que,
5 o módulo de processamento de classificação é conectado à unidade de processamento de normalização e configurado para agrupar os coeficientes de domínio de frequência norrnalizados a fim de formar vetores a serem quantizados multidimensionais, e encaminhar os vetores a serem quantizados normalizados da sub-banda codificadora de bit baixo para o módulo de quantização de vetor de retículo de pirâmide; o módulo de quantização de vetor de retículo de pirâmide é conectado ao módulo de processamento de classificação e configurado para realizar a quantização de vetor de retículo de pirârnide no vetor a ser quantizado normalizado de cada sub-banda codificadora de bit baixo; sendo que o módulo de quantização de vetor de retículo de pirâmide compreende um primeiro submódulo de regulação de energia, um primeiro submódulo de quantização de ponto de ret.ículo, um primeiro submódulo de ajuste de energia e submódulo de cálculo de índice de quantização, em que,
o primeiro submódulo de regulação de energia é configurado para realizar uma regulação de energia em um vetor a ser quantizado de 8 dimensões na sub-banda codificaCíora; o primeiro submódulo de quantização de ponto de retículo é conectado ao primeiro submódulo de regulação de energia e configurado para quantizar o vetor a ser quantizado de 8 dimensões para um ponto de retículo D8;
o primeiro submódulo de ajuste de energia é conectado ao primeiro submódulo de quantização de ponto de retículo e configurado para comparar uma energia do ponto de retículo D8 com um raio de energia de superfície de pirâmide máximo em um livro de código de codificação, se a energia do ponto de retículo D8 for menor ou igual ao raio de energia de superfície de pirâmide máximo, deve-se notificar o submódulo
5 de cálculo de índice de quantização para calcular um índice de quantização do ponto de retículo D8 no livro de código; se a energia do ponto de retículo D8 for maior do que o raio de energia de superfície de pirâmide máximo, deve-se realizar um truncamento de energia no vetor a ser quantizado regulado na sub-banda codificadora, e notificar o primeiro submódulo de quantização de ponto de retículo para truncar a energia até que a energia do ponto de retículo de quantização do vetor a ser quantizado de energia truncada não seja maior do que o raio de energia de superfície de pirâmide máximo e, enquanto isso, adicionar continuamente uma energia ao vetor a ser quantizado de energia truncada, e notificar o primeiro submódulo de quantização de ponto de retículo para quantizar o vetor a ser quantizado de energia adicionada para o ponto de retículo D8 até a energia do ponto de retículo D8 para a qual o vetor a ser quantizado de energia adicionada é maior do que o raio de energia de superfície de pirâmide máximo, e notificar o subrnÓdulo de cálculo de índice de quantização para calcular o índice de quantização de um último ponto de retículo D8 cuja energia não é maior do que o raio de energia de superfície de pirâmide máximo no livro de código; o módulo de cálculo de quantização de índice é conectado ao primeiro submódulo de ajuste de energia e configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código de acordo com uma notificação do primeiro submódulo de ajuste de energia; e a unidade quantização de vetor de retículo de classificação e de codificação compreende adicionalmente um módulo de quantização de vetor de retículo de esfera conectado ao módulo de processamento de classificação; sendo que o módulo de processamento de classificação é configurado, ainda, para encaminhar o vetor a ser quantizado normalizado
5 na sub-banda codificadora de bit alto para o módulo de quantização de vetor de retículo de esfera para processar; o módulo de quantização de vetor de retículo de esfera é configurado para realizar quantização de vetor de retículo de esfera no vetor a ser quantizado normalizado na
10 sub-banda codificadora de bit alto; sendo que o módulo de quantização de vetor de retículo de esfera compreende um segundo submódulo de regulação de energia, um segundo submódulo de quantização de ponto de retículo, um submódulo julgador de condição de vetor zero, um segundo submódulo de
15 ajuste de energia e um segundo submódulo de cálculo de vetor de índice, em que,
o segundo submódulo de regulação de energia é configurado para realizar a regulação de energia no vetor a ser quantizado de 8 dimensões na sub-banda codificadora;
20 o segundo submódulo de quantização de ponto de retículo é conectado ao segundo submódulo de regulação de energia e configurado para quantizar o vetor a ser quantizado de 8 dimensões para um ponto de retículo D8; o submódulo julgador de condição de vetor zero é
25 conectado ao segundo submódulo de quantização de ponto de retículo e configurado para julgar se o ponto de retículo D8 atende uma condição de vetor zero, se sim, notificar o segundo submódulo de cálculo de vetor de índice para calcular o vetor de índice do ponto de retículo D8; se não, notificar
30 o segundo submódulo de ajuste de energia para ajustar a energia do vetor a ser quantizado; sendo que a condição de vetor zero deve dividir o valor de ponto de retículo D8 . obtido pela quantização de vetor por 2 para uma potência do número de bits alocados 2"g'on-bl/(j") e, então, projetar para o ponto de retículo D8, o valor de ponto de retículo D8 projetado é um vetor zero, ern que, region_bit(j) representa o número de bits alocados em um coeficiente de domínio de 5 frequência na j-ésima sub-banda codificadora; o segundo subrnódulo de ajuste de energia é conectado ao submódulo julgador de condição de vetor zero e ao segundo submódulo de quantização de ponto de retículo e configurado para realizar um truncamento de energia em um valor do vetor a ser quantizado, e notificar o segundo submódulo de quantização de ponto de retículo para quantizar o vetor a ser quantizado de energia truncada para um ponto de retículo D8 até que a condição de vetor zero seja satisfeita; realizar cópia de segurança de um valor múltiplo w do próprio vetor a ser quantizado, e adicionar o valor múltiplo da cópia de segurança w no vetor a ser quantizado de energia truncada, e notificar o segundo submódulo de quantização de ponto de retículo para quantizar o vetor a ser quantizado de energia truncada para o ponto de retículo D8 até que a condição de vetor zero não seja satisfeita; e notificar o segundo submódulo de cálculo de vetor de índice para calcular um último vetor de índice do ponto de retículo D8 que atende a condição de vetor zero; o segundo submódulo de cálculo de vetor de índice é conectado ao submódulo julgador de condição de vetor zero e ao segundo submódulo de ajuste de energia e configurado para calcular o índice de quantização do ponto de retículo D8 no livro de código de acordo com notificações do submódulo julgador de condição de vetor zero e do segundo submódulo de ajuste de energia.
17. SISTEMA, de acordo com a reivindicação 16, caracterizado em que,
o primeiro submódulo de regulação de energia é configurado para, na etapa de realização da regulação de energia no vetor a ser quantizado de 8 dimensões, de acordo com um número de bits region_bit(j) alocados em um 5 coeficiente de domínio de frequência na sub-banda codificadora j onde o vetor a ser quantizado de 8 dimensões está localizado, pesquisar em uma tabela abaixo por um número de sequência de livro de código index e um fator de escalonamento de energia scale correspondente ao número de bits regionbit(j); então, realizar a regulação de energia no vetor a ser quantizado de acordo com uma equação abaixo:
E:,,a,, =(y7'-a)*scale(index)
em que, YJ"representa um rri ésimo vetor a ser quantizado de 8 dimensões normalizado na sub-banda ~ codificadora j, L:,,al, representa um vetor de 8 dimensões após energia Yjm , a realização da regulação de em a-(2"',2"',2"',2"',2_',2_',2-',2^);
Número Raio de energia de Fator de de superfície Número de btts , sequência , de escalonamento de pirâmide ltvro de de energia Region _ bi t ., máximo codtgo Scale Ihdex LargeK 1 0 0,5 2 1,5 1 0,65 4 2 2 0,85 6 2,5 3 1,2 10 3 4 1,6 14 3,5 5 2,25 22 4 6 3,05 30 4,5 7 4,64 44 o primeiro submódulo de quantização de ponto de retículo é configurado para, quando o vetor a ser quantizado de 8 dimensões for quantizado para um ponto de retículo D8, ~ quantizar o vetor de 8 dimensõesL:,,,l, para o ponto de
~ retículo D8 Yj" com uma equação a seguir: r~= Jd, (L:scale) ~ em que, Jd,(0) representa um operador de quantização para mapear um determinado vetor de 8 dimensões 5 para um ponto de retículo D8; o submódulo de cálculo de índice de quantização é configurado para, durante o cálculo do índice de quantização ^f do ponto de retículo D8Yj" no livro de código, marcar os pontos de retículo em cada superfície de pirâmide, respectivamente, de acordo com uma amplitude da energia de superfície de pirâmide, então, marcar uniformemente o ponto de retículo sobre todas as superfícies de pirâmide, em que, a marca uniforme é o índice de quantização do ponto de retículo d,L" no livro de código.
18. SISTEMA, de acordo com a reivindicação 14, caracterizado em que, a unidade quantização de vetor de retículo de classificação e de codificação compreende, ainda, urn módulo julgador do tipo codificação, um módulo de codificação de Huffman, um módulo de codificação natural e um módulo de modificação de alocação de bit, em que, o módulo julgador do tipo codificação é configurado para julgar se um número total de bits consumidos de índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo é menor do que um número total de bits necessário para a codificação natural dos índices de quantização de todas as sub-bandas codificadoras de bit baixo, se sim, notificar o módulo de codificação de Huffman e módulo de modificação de alocação de bit; se o número total de bits consumidos de índices de quantização codificados de Huffman de todas as sub-bandas codificadoras de bit baixo for maior ou igual ao número total de bits necessário para a codificação natural dos índices de quantização de todas as 5 sub-bandas codificadoras de bit baixo, notificar o módulo de codificação natural; o módulo de codificação de Huffman é configurado para realizar a codificação de Huffrnan no índice de quantização da sub-banda codificadora de bit baixo, e ajustar um indicador de encodificação de Huffman de coeficiente de domínio de frequência para ser 1 ou verdadeiro, o módulo de codificação natural é configurado para realizar a codificação natural no índice de quantização da sub-banda codificadora de bit baixo e do vetor de índice da sub-banda codificadora de bit alto; o módulo de modificação de alocação de bit é configurado para usar bits salvos pela codificação de Huffman para modificar o número de bits alocados da sub-banda codificadora, e notificar o módulo de processamento de classificação para classificar as sub-bandas codificadoras com o número de bits alocados a ser modificado, então, para realizar a quantização de vetor e codificação novamente.
19. SISTEMA, de acordo com a reivindicação 18, caracterizado em que, o módulo de modificação de alocação de bit é configurado para, durante a realização de alocação de bit, pesquisar por uma sub-banda codificadora com uma importância máxima em todas as sub-bandas codificadoras, se o número de bits alocados na sub-banda codificadora alcançou um valor máximo do número de bits que podem ser alocados na sub-banda codificadora, ajustar a importância da sub-banda codificadora para ser inferior, e não mais modificar o número de bits alocados para a sub-banda codificadora, se o número de bits alocados na sub-banda codificadora não tiver alcançado o valor máximo do número de bits que podem ser alocados na sub- banda codificadora, então, realizar a modificação de alocação de bit na sub-banda codificadora com a importância máxima; 5 durante a modificação de alocação de bit, alocar 1 bit na sub-banda codificadora com o número de bits alocados sendo 0, e reduzir a importância em 1 após a alocação de bit; alocar 0,5 bit na sub-banda codificadora com o número de bits alocados sendo maior do que 0 e menor do que 5, e reduzir a importância em 0,5 após a alocação de bit; alocar 1 bit na sub-banda codificadora com o número de bits alocados sendo maior do que 5, e reduzir a importância em 1 após a alocação de bit; e após cada ciclo, o número de bits alocados é modificado pelo módulo de modificação de alocação de bit, isto é, um número de iterações de modificação de alocação de bit count é adicionado em 1, se o número de iterações de modificação de alocação de bit count tiver alcançado um limite superior pré-ajustado ou o número de bits que podem ser usados é menor do que o número de bits necessário para a modificação de alocação de bit, terminar um processo da modificação de alocação de bit.
20. SISTEMA, de acordo com a reivindicação 18, caracterizado em que, quando o módulo de codificação de Huffman realiza a codificação de Huffman nos índices de quantização de todas as sub-bandas codificadoras de bit baixo, em todas as sub-bandas codificadoras nas quais o número de bits alocados em urri coeficiente de domínio de frequência é maior do que 1, menor do que 5 e não 2, o módulo de codificação de Huffman divide cada 4 bits em código binário natural de cada índice de quantização de vetor em um grupo e realiza a codificação de Huffman no mesmo, em que,
uma soma dos números de bits da codificação de Huffman de todos os grupos de 4 bits é o número de bits consumidos na codificação de Huffman do índice de quantização; em todas as sub-bandas codificadoras nas quais o 5 número de bits alocados em um coeficiente de domínio de frequência é 2, o módulo de codificação de Huffman usa 15 bits para codificar o índice de quantização de vetor de retículo de pirâmide de cada vetor de 8 dimensões, e divide os 15 bits em 3 grupos de 4 bits e 1 grupo de 3 bits, então, realiza a codificação de Huffman nos grupos, respectivamente, em que, uma soma dos números de bits consumidos de codificação de Huffman dos 4 grupos é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o índice de quantização for menor do que 127, então, o módulo de codificação de Huffman usa 7 bits para codificar o índice de quantização, e divide os 7 bits em 1 grupo de 3 bits e 1 grupo de 4 bits, realiza a codificação de Huffman, respectivamente, nos dois grupos, em que, uma soma dos números de bits consumidos da codificação de Huffman dos dois grupos é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o índice de quantização for igual a 127, então, o módulo de codificação de Huffman define o código binário natural do mesmo como "1111 1110", divide os 7 números 1 na frente em 1 grupo de 3 bits e 1 grupo de 4 bits, realiza a codificação de Huffman, respectivamente, nesses dois grupos, em que, uma soma dos números de bits consumidos de codificação de Huffman dos dois grupos é o número de bits consumidos na codificação de Huffman do índice de quantização; quando o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora é 1, se o índice de quantização for igual a 128, então, o módulo de 5 codificação de Huffman define o código binário natural do mesmo como "1111 1111", divide os 7 números 1 na frente em 1 grupo de 3 bits e 1 grupo de 4 bits, realiza a codificação de Huffman, respectivamente, nesses dois grupos, em que, uma soma dos números de bits consumidos de codificação de Huffman dos dois grupos é o número de bits consumidos na codificação de Huffman do índice de quantização.
21. SISTEMA DE DECODIFICAÇÃO DE ÁUDIO DE QUANTIZAÇÃO DE VETOR DE RETÍCULO, caracterizado pelo fato de que compreende: um demultiplexador de fluxo de bit, uma unidade de decodificação de envelope de amplitude de sub- banda codificadora, uma unidade de alocação de bit, uma unidade de decodificação de coeficiente de domínio de frequência, uma unidade de quantização inversa de quantização de vetor de retículo de classificação, uma unidade de processamento de normalização inversa, uma unidade de carregamento de ruído e uma unidade de transformada discreta modificada do cosseno (IMDCT) inversa, em que, o demultiplexador de fluxo de bit é configurado para separar bits codificados de um envelope de amplitude a partir de um fluxo de bit a ser decodificado; a unidade de decodificação de envelope de amplitude de sub-banda codificadora é conectada ao demultiplexador de fluxo de bit e configurada para decodificar os bits codificados do envelope de amplitude emitidos pelo demultiplexador de fluxo de bit para obter um expoente de quantização de envelope de amplitude de cada sub-banda codificadora; a unidade de alocação de bit é conectada à unidade de decodificação de envelope de amplitude e configurada para realizar alocação de bit a fim de obter um número de bits codificados alocados em cada coeficiente de domínio de frequência em cada sub-banda codificadora;
5 a unidade de decodificação de coeficiente de domínio de frequência é conectada à unidade de decodificação de envelope de amplitude e à unidade de alocação de bit e configurada para decodificar uma sub-banda codificadora de bit baixo a fim de obter um índice de quantização da sub-
lO banda codificadora de bit baixo; e decodificar uma sub-banda codificadora de bit alto a fim de obter um vetor de índice da sub-banda codificadora de bit alto, em que, a sub-banda codificadora de bit baixo é uma sub-banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é menor do que um valor limiar pré-ajustado, sendo que a sub-banda codificadora de bit alto é uma sub- banda codificadora na qual o número de bits alocados em um coeficiente de domínio de frequência é maior ou igual ao valor limiar pré-ajustado; a unidade de quantização inversa de quantização de vetor de retículo de classificação é configurada para realizar quantização inversa da quantização de vetor de retículo de pirâmide no índice de quantização da sub-banda codificadora de bit baixo, e realizar a quantização inversa da quantização de vetor de retículo de esfera no vetor de índice da sub-banda codificadora de bit alto; a unidade de processamento de normalização inversa é configurada para realizar normalização inversa em valores após a quantização inversa ter sido realizada para a sub-
banda codificadora, e obter os coeficientes de domínio de frequência; a unidade de carregamento de ruído é configurada para realizar carregamento de ruído na sub-banda na qual nenhum bit está alocado nos valores de saída de coeficiente de domínio de frequência emitidos pela unidade de processamento de normalização inversa; a unidade de transformada discreta modificada do 5 cosseno (IMDCT) inversa é conectada à unidade de carregamento de ruído e configurada para realizar IMDCT no coeficiente de domínio de frequência para o qual o carregamento de ruído foi realizado para obter um sinal de áudio.
22. SISTEMA, de acordo com a reivindicação 21, caracterizado em que, a unidade de alocação de bit compreende um módulo de cálculo de importância e um módulo de alocação de bit que são conectados, e um módulo de modificação de alocação de bit conectado ao módulo de alocação de bit, em que, o módulo de cálculo de importância é configurado para calcular um valor inicial de importância de cada sub- banda codificadora de acordo com um valor de envelope de amplitude da sub-banda codificadora; o módulo de alocação de bit é configurado para realizar alocação de bit em cada coeficiente de domínio de frequência em cada sub-banda codificadora de acordo com a importância de cada sub-banda codificadora, em que, durante a alocação de bit, uma extensão da etapa de alocação de bit e uma extensão da etapa de redução de importância após a alocação de bit são ambas variáveis; o módulo de modificação de alocação de bit é configurado para realizar a modificação de alocação de bit na sub-banda codificadora por ciclos count novamente, após realizar a alocação de bitCj de acordo com um valor de um número de iterações de modificação de alocação de bit count e a importância de cada sub-banda codificadora em um lado codificador.
23. SISTEMA, de acordo com a reivindicação 21,
caracterizado em que, a unidade de decodificação de coeficiente de domínio de frequência é configurada para, durante a realização da decodificação na sub-banda codificadora de bit 5 baixo, e o número de bits alocados em um coeficiente de domínio de frequência da sub-banda codificadora ser 1, se um valor de código binário natural do índice de quantização for menor do que "1111 111", então, calcular o índice de quantização de acordo com o valor do código binário natural; se o valor do código binário natural do índice de quantização for igual a "1111 111", então, ler continuamente um próximo bit, em que, se o próximo bit for 0, então, o valor de índice de quantização é 127, se o próximo bit for 1, então o valor de índice de quantização é 128.
24. SISTEMA, de acordo com a reivindicação 22, caracterizado em que, a unidade de quantização inversa de quantização de vetor de retículo de classificação compreende um módulo de processamento de classificação e um modulo de quantização inversa de quantização de vetor de retículo de pirâmide, em que, o módulo de processamento de classificação é configurado para encaminhar o índice de quantização da sub- banda codificadora de bit baixo para o modulo de quantização inversa de quantização de vetor de retículo de pirâmide; o modulo de quantização inversa de quantização de vetor de retículo de pirâmide é configurado para realizar quantização inversa no índice de quantização da sub-banda codificadora de bit baixo; sendo que o módulo de quantização inversa de vetor de retículo de pirâmide compreende um primeiro submódulo de quantização inversa de ponto de retículo e um primeiro submódulo de regulação inversa de energia que são conectados, em que,
o primeiro submódulo de quantização inversa de ponto de retículo é configurado para determinar uma superfície de pirâmide de energia na qual o índice de quantização da sub-banda codificadora de bit baixo está 5 localizado e uma marca do índice de quantização nessa superfície de pirârnide de energia e, ainda, solucionar um ponto de retículo D8 correspondente; o primeiro submódulo de regulação inversa de energia é configurado para realizar regulação inversa de energia no ponto de retículo D8 solucionado Y, e obter lj" =(Y+a)/scale(index) em que, a = (2"',2"',2"',2",2",2^,2"',2"') , scale(index) é um fator de escalonamento; a unidade de processamento de normalização inversa é conf igurada para realizar processamento de normalização inversa em L" para obter o coeficiente de domínio de f requência de um m-ésimo vetor da sub-banda codif icadora j recuperado ern um lado decodif icador: T:'· = 2,'h,(j)/2 Ü7 em que, Thq(j) é um expoente de quantização de envelope de amplitude da j-ésima sub-banda codificadora.
25. SISTEMA, de acordo com a reivindicação 22, caracterizado em que, a unidade de quantização inversa de vetor de retículo de classificação compreende, ainda, um módulo de quantização inversa de quantização de vetor de retículo de esfera; o módulo de processamento de classificação é configurado, ainda, encaminhar o vetor de índice da sub-banda codificadora de bit alto para o módulo de quantização inversa de quantização de vetor de retículo de esfera para processar;
o módulo de quantização inversa de quantização de vetor de retículo de esfera é configurado para realizar quantização inversa no vetor de índice da sub-banda codificadora de bit alto; o módulo de quantização inversa de
5 quantização de vetor de retículo de esfera compreende um segundo submódulo de quantização inversa de ponto de retículo e um segundo submódulo de regulação inversa de energia que são conectados, em que, o segundo submódulo de quantização inversa de ponto de retículo é configurado para solucionar um ponto de retículo D8 correspondente ao vetor de índice, em que, a etapa de solução do ponto de retículo D8 correspondente ao vetor de índice compreende: calcular x=k*G, e calcular ytemp=x/(2^(region_bit(j)); e calcular o ponto de retículo D8 y=x-fD8{ytemp)* (2^(region bit(j)); em que, k é o vetor de índice da quantização de vetor, region_bit(j) representa o número de bits alocados em um coeficiente de domínio de frequência na sub-
banda codificadora j; g é uma matriz geradora do ponto de retículo D8 e uma forma da matriz geradora é conforme a seguiru
2 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 G= 1 0 0 0 1 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 o segundo submódulo de regulação inversa de energia é configurado para realizar uma regulação inversa de energia no ponto de retículo D8 solucionado, e obter t" = y * scale(region _ bit( j)) /(2"g'on _bit(j) ) + a em que, a=(2^,2"',2_',2_',2",2",2"',2"), scale(region _ bit(j)) é um fator de escalonamento;
a unidade de processamento de normalização inversa
5 é configurada para realizar processamento de nortnalização — a fim de obter o coeficiente de domínio de inversa em lj"
frequência do m-ésimo vetor da sub-banda codificadora j recuperado no lado decodificadom
K = 2"'q(')" gÊj" em que, Thq(j) é um expoente de quantização de envelope de amplitude da j-ésima sub-banda codificadora.
BR112012009714-8A 2009-11-27 2010-10-12 método de codificação de áudio de quantização de vetor de retículo, método de decodificação de áudio de quantização de vetor de retículo, sistema de cotificação de áudio de quantização de vetor de retículo e sistema de decodificação de áudio de quantização de vetor de retículo BR112012009714B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN2009102498542 2009-11-27
CN2009102498542A CN102081926B (zh) 2009-11-27 2009-11-27 格型矢量量化音频编解码方法和系统
CN200910249854.2 2009-11-27
PCT/CN2010/001597 WO2011063594A1 (zh) 2009-11-27 2010-10-12 格型矢量量化音频编解码方法和系统

Publications (2)

Publication Number Publication Date
BR112012009714A2 true BR112012009714A2 (pt) 2020-08-04
BR112012009714B1 BR112012009714B1 (pt) 2021-01-19

Family

ID=44065830

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112012009714-8A BR112012009714B1 (pt) 2009-11-27 2010-10-12 método de codificação de áudio de quantização de vetor de retículo, método de decodificação de áudio de quantização de vetor de retículo, sistema de cotificação de áudio de quantização de vetor de retículo e sistema de decodificação de áudio de quantização de vetor de retículo

Country Status (7)

Country Link
US (1) US9015052B2 (pt)
EP (1) EP2472241B1 (pt)
CN (1) CN102081926B (pt)
BR (1) BR112012009714B1 (pt)
HK (1) HK1158354A1 (pt)
RU (1) RU2506698C9 (pt)
WO (1) WO2011063594A1 (pt)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2447943A4 (en) * 2009-06-23 2013-01-09 Nippon Telegraph & Telephone ENCODING METHOD, DECODING METHOD, AND DEVICE AND PROGRAM USING THE METHODS
KR101821532B1 (ko) * 2012-07-12 2018-03-08 노키아 테크놀로지스 오와이 벡터 양자화
CN106941004B (zh) * 2012-07-13 2021-05-18 华为技术有限公司 音频信号的比特分配的方法和装置
CN102801427B (zh) * 2012-08-08 2015-05-06 深圳广晟信源技术有限公司 源信号变速率格矢量量化的编解码方法和系统
CN103854653B (zh) 2012-12-06 2016-12-28 华为技术有限公司 信号解码的方法和设备
US9560386B2 (en) * 2013-02-21 2017-01-31 Mozilla Corporation Pyramid vector quantization for video coding
US9665541B2 (en) 2013-04-25 2017-05-30 Mozilla Corporation Encoding video data using reversible integer approximations of orthonormal transforms
SG11201510164RA (en) 2013-06-10 2016-01-28 Fraunhofer Ges Forschung Apparatus and method for audio signal envelope encoding, processing and decoding by splitting the audio signal envelope employing distribution quantization and coding
PT3008726T (pt) 2013-06-10 2017-11-24 Fraunhofer Ges Forschung Aparelho e método de codificação, processamento e descodificação de envelope de sinal de áudio por modelação da representação de soma cumulativa empregando codificação e quantização de distribuição
CA2916150C (en) 2013-06-21 2019-06-18 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method realizing improved concepts for tcx ltp
EP2824661A1 (en) 2013-07-11 2015-01-14 Thomson Licensing Method and Apparatus for generating from a coefficient domain representation of HOA signals a mixed spatial/coefficient domain representation of said HOA signals
EP3040987B1 (en) * 2013-12-02 2019-05-29 Huawei Technologies Co., Ltd. Encoding method and apparatus
KR102280943B1 (ko) * 2014-02-27 2021-07-22 텔레폰악티에볼라겟엘엠에릭슨(펍) 오디오/비디오 샘플 벡터의 피라미드 벡터 양자화 인덱싱 및 디인덱싱을 위한 방법 및 장치
EP3913628A1 (en) * 2014-03-24 2021-11-24 Samsung Electronics Co., Ltd. High-band encoding method
CN106409303B (zh) * 2014-04-29 2019-09-20 华为技术有限公司 处理信号的方法及设备
US9847087B2 (en) 2014-05-16 2017-12-19 Qualcomm Incorporated Higher order ambisonics signal compression
EP2980792A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating an enhanced signal using independent noise-filling
KR101777994B1 (ko) 2014-07-28 2017-09-13 텔레폰악티에볼라겟엘엠에릭슨(펍) 피라미드 벡터 양자화기의 형상 검색
US10580416B2 (en) * 2015-07-06 2020-03-03 Nokia Technologies Oy Bit error detector for an audio signal decoder
US10395664B2 (en) 2016-01-26 2019-08-27 Dolby Laboratories Licensing Corporation Adaptive Quantization
EP3335215B1 (en) 2016-03-21 2020-05-13 Huawei Technologies Co., Ltd. Adaptive quantization of weighted matrix coefficients
CN105957533B (zh) * 2016-04-22 2020-11-10 杭州微纳科技股份有限公司 语音压缩方法、语音解压方法及音频编码器、音频解码器
WO2018028779A1 (en) 2016-08-10 2018-02-15 Huawei Technologies Co., Ltd. Unit-norm codebook design and quantization
US10366698B2 (en) * 2016-08-30 2019-07-30 Dts, Inc. Variable length coding of indices and bit scheduling in a pyramid vector quantizer
CN107895580B (zh) * 2016-09-30 2021-06-01 华为技术有限公司 一种音频信号的重建方法和装置
CN108109629A (zh) * 2016-11-18 2018-06-01 南京大学 一种基于线性预测残差分类量化的多描述语音编解码方法和系统
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
CN108806712B (zh) * 2018-04-27 2020-08-18 深圳市沃特沃德股份有限公司 减少频域处理量的方法与装置
US10573331B2 (en) 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10580424B2 (en) 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
CN109286922B (zh) * 2018-09-27 2021-09-17 珠海市杰理科技股份有限公司 蓝牙提示音处理方法、系统、可读存储介质和蓝牙设备
GB2585187A (en) * 2019-06-25 2021-01-06 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
CN111554245B (zh) * 2020-05-22 2021-10-08 Tcl华星光电技术有限公司 显示装置的驱动方法和显示装置
RU2754497C1 (ru) * 2020-11-17 2021-09-02 федеральное государственное автономное образовательное учреждение высшего образования "Казанский (Приволжский) федеральный университет" (ФГАОУ ВО КФУ) Способ передачи речевых файлов по зашумленному каналу и устройство для его реализации
CN117476012A (zh) * 2022-07-27 2024-01-30 华为技术有限公司 音频信号的处理方法及其装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3272214B2 (ja) * 1995-10-09 2002-04-08 三洋電機株式会社 格子量子化器および入力ベクトルを格子量子化するための方法
US6064954A (en) * 1997-04-03 2000-05-16 International Business Machines Corp. Digital audio signal coding
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification
US6594627B1 (en) * 2000-03-23 2003-07-15 Lucent Technologies Inc. Methods and apparatus for lattice-structured multiple description vector quantization coding
KR20020075592A (ko) * 2001-03-26 2002-10-05 한국전자통신연구원 광대역 음성 부호화기용 lsf 양자화기
CA2388358A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
US7433824B2 (en) * 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
KR100487719B1 (ko) * 2003-03-05 2005-05-04 한국전자통신연구원 광대역 음성 부호화를 위한 엘에스에프 계수 벡터 양자화기
DE10345995B4 (de) * 2003-10-02 2005-07-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Verarbeiten eines Signals mit einer Sequenz von diskreten Werten
US7895034B2 (en) * 2004-09-17 2011-02-22 Digital Rise Technology Co., Ltd. Audio encoding system
FR2888699A1 (fr) * 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
CN101266795B (zh) * 2007-03-12 2011-08-10 华为技术有限公司 一种格矢量量化编解码的实现方法及装置
EP2015293A1 (en) * 2007-06-14 2009-01-14 Deutsche Thomson OHG Method and apparatus for encoding and decoding an audio signal using adaptively switched temporal resolution in the spectral domain
CN101110214B (zh) 2007-08-10 2011-08-17 北京理工大学 一种基于多描述格型矢量量化技术的语音编码方法
US8527265B2 (en) * 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
CN101562015A (zh) * 2008-04-18 2009-10-21 华为技术有限公司 音频处理方法及装置
CN101540172B (zh) * 2009-04-15 2012-02-22 炬力集成电路设计有限公司 一种音频数据的编解码系统及方法

Also Published As

Publication number Publication date
EP2472241A1 (en) 2012-07-04
EP2472241A4 (en) 2013-04-17
WO2011063594A1 (zh) 2011-06-03
US9015052B2 (en) 2015-04-21
US20120259644A1 (en) 2012-10-11
BR112012009714B1 (pt) 2021-01-19
RU2012116045A (ru) 2014-01-10
EP2472241B1 (en) 2015-09-23
CN102081926A (zh) 2011-06-01
HK1158354A1 (en) 2012-07-13
RU2506698C2 (ru) 2014-02-10
RU2506698C9 (ru) 2014-07-20
CN102081926B (zh) 2013-06-05

Similar Documents

Publication Publication Date Title
BR112012009714A2 (pt) metodo de codificação de audio de quantização de vetor de reticulo metodo de decodificação de audio de quantização de reticulo sistema de cotificação de audio de quantização de vetor de reticulo e sistema de decodificação de audio de quantização de vetor de reticulo
US8694325B2 (en) Hierarchical audio coding, decoding method and system
ES2701862T3 (es) Decodificación de una señal de audio estéreo usando predicción compleja
AU2006270171B2 (en) Frequency segmentation to obtain bands for efficient coding of digital media
BR112012026324B1 (pt) Codificador de aúdio ou vídeo, decodificador de aúdio ou vídeo e métodos relacionados para o processamento do sinal de aúdio ou vídeo de múltiplos canais usando uma direção de previsão variável
BR122023025319A2 (pt) Aparelho e método para carregamento estéreo em conversão em código multicanal e sistema
BRPI0606387B1 (pt) Decodificador, dispositivo de reprodução de áudio, codificador, dispositivo de gravação, método para gerar um sinal de áudio multicanal, meio de armazenamento, método paracodificar um sinal de áudio multicanal, receptor, transmissor, sistema de transmissão, método de receber um sinal de áudio multicanal, e método de transmitir um sinal deáudio multicanal
WO2007132750A1 (ja) Lspベクトル量子化装置、lspベクトル逆量子化装置、およびこれらの方法
BR112015025009B1 (pt) Unidades de quantização e quantização inversa, codificador e decodificador, métodos para quantizar e dequantizar
KR20100113172A (ko) 복잡성이 축소된 벡터 인덱싱 및 탈-인덱싱
JP5714002B2 (ja) 符号化装置、復号装置、符号化方法及び復号方法
JP2020204771A (ja) 最下位ビットの符号化および復号に適合するオーディオ符号化器、オーディオ復号器、方法、およびコンピュータプログラム
BR112019014125A2 (pt) integração retrocompatível de transpositor harmônico para reconstrução de alta frequência de sinais de áudio
JPWO2011045926A1 (ja) 符号化装置、復号装置およびこれらの方法
US8924208B2 (en) Encoding device and encoding method
JP5544371B2 (ja) 符号化装置、復号装置およびこれらの方法
ES2708581T3 (es) Codificación de audio multicanal usando predicción compleja e información de forma de ventana
Oger et al. Companded lattice VQ for efficient parametric LPC quantization
Vasilache New directions in lattice based lossy compression
Xie Lattice Vector Quantization Applied to Speech and Audio Coding
Vasilache Entropic encoding of lattice codevectors based on product code indexing
BR112018016898B1 (pt) Aparelho e método para carregamento estéreo em conversão em código multicanal e sistema
BRPI0317954B1 (pt) Variable rate audio coding and decoding process

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according art. 34 industrial property law
B06U Preliminary requirement: requests with searches performed by other patent offices: suspension of the patent application procedure
B09A Decision: intention to grant
B16A Patent or certificate of addition of invention granted

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 19/01/2021, OBSERVADAS AS CONDICOES LEGAIS.