PT1719116E - A comutação de acelp para o modo de codificação tcx - Google Patents

A comutação de acelp para o modo de codificação tcx Download PDF

Info

Publication number
PT1719116E
PT1719116E PT57064941T PT05706494T PT1719116E PT 1719116 E PT1719116 E PT 1719116E PT 57064941 T PT57064941 T PT 57064941T PT 05706494 T PT05706494 T PT 05706494T PT 1719116 E PT1719116 E PT 1719116E
Authority
PT
Portugal
Prior art keywords
zero
signal
tcx
window
frame
Prior art date
Application number
PT57064941T
Other languages
English (en)
Inventor
Bruno Bessette
Original Assignee
Voiceage Corp
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 Voiceage Corp filed Critical Voiceage Corp
Publication of PT1719116E publication Critical patent/PT1719116E/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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/0204Speech 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 subband decomposition
    • G10L19/0208Subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/26Pre-filtering or post-filtering
    • G10L19/265Pre-filtering, e.g. high frequency emphasis prior to encoding
    • 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/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L21/0232Processing in the frequency domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (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)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

ΡΕ1719116 1
DESCRIÇÃO "A CGMUTAÇAO DE ACELP PARA O MODO DE CODIFICAÇÃO TCX"
CAMPO DA INVENÇÃO A presente invenção diz respeito à codificação e descodificação de sinais sonoros, por exemplo, nos sistemas de armazenamento e transmissão digital. Em particular, mas não exclusivamente, a presente invenção diz respeito à transformada de híbridos e à codificação e descodificação de Predicção Linear com Excitação por Código (CELP).
ANTECEDENTES DA INVENÇÃO A representação digital da informação proporciona muitas vantagens. No caso de sinais sonoros, a informação tal como um sinal vocal ou musical é digitalizada utilizando, por exemplo, o formato PCM (Modulação por Código de Impulsos). 0 sinal é assim amostrado e quantizado com, por exemplo, 16 ou 20 bits por amostra. Apesar de simples, o formato PCM requer uma taxa de bits elevada (número de bits por segundo ou bits/s). Esta limitação é a principal motivação para a concepção de eficientes técnicas de codificação de fonte capazes de reduzir a taxa de bits de fonte e de satisfazer os condicionalismos específicos de muitas aplicações em termos de qualidade de áudio, de atraso de codificação, e de complexidade. 2 ΡΕ1719116 A função de um codificador de áudio digital é converter um sinal sonoro num fluxo de bits que seja, por exemplo, transmitido através de um canal de comunicação ou armazenado num meio de armazenamento. Aqui, é considerada a codificação de fonte com perdas, ou seja, a compressão do sinal. Mais especificamente, o papel de um codificador de áudio digital é representar as amostras, por exemplo, as amostras PCM com um número mais pequeno de bits enquanto se mantém uma boa qualidade áudio subjectiva. Um descodificador ou sintetizador é sensivel ao fluxo de bits transmitidos ou armazenados para em retorno o converter para um sinal sonoro. É feita referência a [Jayant, 1984] e a [Gersho, 1992] para uma introdução a métodos de compressão de sinal, e para os capítulos gerais, a [Kleijn, 1995], para uma cobertura em profundidade de técnicas modernas de voz e de codificação de áudio.
Na codificação de áudio de alta qualidade, podem ser distinguidas duas classes de algoritmos: Predicção Linear com Excitação por Código (CELP) codificação que se destina principalmente para codificar sinais de voz, e codificação de transformação do espectro sonoro (ou sub-banda) a qual é bem adaptada para representar os sinais de música. Estas técnicas podem conseguir um bom compromisso entre a qualidade subjectiva e a taxa de bits. A codificação CELP tem sido desenvolvida no contexto de aplicações bidireccionais de baixo atraso, tais como a telefonia ou a audioconferência, onde o sinal de áudio é tipicamente amostrado para, por exemplo, 8 ou 16 kHz. A 3 ΡΕ1719116 codificação de transformação do espectro sonoro tem sido aplicada principalmente para sinais musicais de banda larga de alta-fidelidade amostrados para, por exemplo, 32, 44,1 ou 48 kHz para aplicações de propagação ou de armazenamento. A codificação CELP [Atai, 1985] é a trama nuclear dos padrões de codificação de discursos mais modernos. De acordo com este modelo de codificação, o sinal de voz é processado em blocos sucessivos de N amostras denominados de tramas, onde N é um número pré-determinado de amostras, correspondendo tipicamente a, por exemplo, 10 - 30 ms. A redução da taxa de bits é conseguida através da remoção da correlação temporal entre as amostras de voz sucessivas através de predicção linear e utilizando eficiente quantização vectorial (VQ) . É calculado e transmitido em cada trama um filtro de predicção linear (LP). O cálculo do filtro LP exige tipicamente uma antecipação, por exemplo, um segmento de voz de 5 - 10 ms a partir da trama subsequente. Em geral, a trama da N - amostra é dividida em blocos mais pequenos chamados sub-tramas, de modo a aplicar-se a predicção de passo. O comprimento da sub-trama pode ser definido, por exemplo, na gama de 4 - 10 ms. Em cada sub-trama, é normalmente obtido um sinal de excitação a partir de dois componentes, uma parte da excitação passada e uma excitação inovadora ou fixada da tabela de codificação. O componente formado a partir de uma parte da excitação passada é muitas vezes referido como a excitação de passo ou tabela de codificação adaptativa. Os parâmetros 4 ΡΕ1719116 que caracterizam o sinal de excitação são codificados e transmitidos para o descodificador, onde o sinal de excitação é reconstruído e utilizado como a entrada do filtro LP. Uma ocorrência de codificação CELP é o modelo de codificação ACELP (CELP Algébrico), em que a tabela de codificação inovadora é constituída pelos impulsos formados intercalados. 0 modelo CELP tem sido desenvolvido no contexto de banda estreita de codificação de voz, para a qual a largura de banda de entrada é 300 - 3400 Hz. No caso de sinais de voz de banda larga definidos na banda de 50 -7000 Hz, o modelo CELP é geralmente utilizado numa abordagem de divisão de banda, em que uma banda mais baixa é codificada pela correspondente forma de onda (codificação CELP) e uma banda mais alta é parametricamente codificada. Esta divisão de banda tem várias motivações: - A maior parte dos bits de uma trama podem ser atribuídos ao sinal de banda mais baixa para maximizar a qualidade. - A complexidade computacional (de filtragem, etc) pode ser reduzida em comparação com a codificação de banda completa. - Além disso, a forma de onda de correspondência não é muito eficiente para os componentes de alta frequência.
Esta abordagem de divisão de banda é utilizada, por exemplo, no padrão de codificação de voz de banda larga 5 ΡΕ1719116 ETSI AMR-WB. Este padrão de codificação é especificado em [3GPP TS 26.190] e descrito em [Bessette, 2002]. A implementação do padrão AMR -WB é dada em [3GPP TS 26,173]. 0 algoritmo de codificação de voz AMR-WB é constituído essencialmente na divisão do sinal de entrada de banda larga numa banda mais baixa (0 - 6400 Hz) e numa banda mais elevada (6400 - 7000 Hz), e aplicando-se o algoritmo ACELP apenas para a banda mais baixa e codificando a banda mais alta através da extensão da largura de banda (BWE).
As técnicas de codificação de áudio no actual estado da tecnologia, por exemplo MPEG-AAC ou ITU-T G. 722.1, são construídas no seio da codificação de transformação do espectro sonoro (ou sub- banda). Na codificação de transformação, o sinal de áudio no domínio do tempo é processado por janelas de sobreposição de comprimento apropriado. A redução da taxa de bits é conseguida pela descorrelacção e propriedade de compactação de energia de uma transformação específica, bem como de codificação apenas dos coeficientes de transformada relevantes no espectro sonoro. O sinal de janela é geralmente decomposto (analisado) por uma transformada de Fourier discreta (DFT), uma transformada de co-seno discreta (DCT) ou uma transformada de co-seno discreta modificada (MDCT). É normalmente necessário um comprimento de trama de, por exemplo, 40 - 60 ms, para se obter uma boa qualidade de áudio. No entanto, para representar transitórios e evitar tempo de espalhamento de codificação do ruído antes de ataques (pré - eco), para descrever os 6 ΡΕ1719116 segmentos de áudio não estacionários são também utilizadas as tramas mais curtas de, por exemplo, 5 - 10 ms. A formação de ruido de quantização é conseguida através da normalização dos coeficientes de transformação com factores de escala prévios à quantização. Os coeficientes normalizados são tipicamente codificados por quantização escalar seguida pela codificação de Huffman. Em paralelo, é calculada uma curva de compressão de banda espectral sonora para controlar o processo de quantização e optimizar a qualidade subjectiva; esta curva é utilizada para codificar os coeficientes de transformada no espectro sonoro mais relevantes.
Para melhorar a eficiência de codificação (em particular em baixas taxas de bits), também pode ser utilizada a banda de clivagem com a codificação de transformação. Esta abordagem é utilizada, por exemplo, no novo padrão de Alta Eficiência MPEG -AAC, também conhecido como aacPlus. Em aacPlus, o sinal é dividido em duas sub-bandas, o sinal de banda mais baixa é codificado por codificação de transformação do espectro sonoro (AAC), enquanto que o sinal de banda mais alta é descrito pela denominada Replicação de Banda Espectral (SBR), que é uma espécie de extensão de largura de banda (BWE).
Em certas aplicações, tais como conferência de áudio/video, armazenamento de multimédia e propagação de áudio da Internet, o sinal de áudio é composto normalmente de voz, música e conteúdo misto. Como uma consequência, em 7 ΡΕ1719116 tais aplicações, é utilizada uma técnica de codificação de áudio que seja robusta para este tipo de sinal de entrada. Por outras palavras, o algoritmo de codificação de áudio deverá alcançar uma qualidade boa e consistente para uma ampla classe de sinais de áudio, incluindo a voz e a música. No entanto, a técnica de CELP, é conhecida por ser intrinsecamente de voz optimizada, mas que pode apresentar problemas quando utilizada para codificar sinais musicais. Por outro lado, no actual estado da tecnologia de codificação de transformação espectral sonora, tem um bom desempenho para sinais musicais, mas não é apropriada para codificação de sinais de voz, especialmente para baixas taxas de bits. Várias abordagens têm sido então consideradas para codificar os sinais de áudio em geral, incluindo ambas voz e música, com uma qualidade boa e bastante constante. A codificação de transformação de predicção como descrito em [Moreau, 1992] [Lefebvre, 1994] [Chen, 1996] e [Chen, 1997], proporciona uma boa base para a inclusão de técnicas de codificação de ambas, voz e música, numa única estrutura de tramas. Esta abordagem combina a predicção linear e a codificação de transformação. A técnica de [Lefebvre, 1994], denominada codificação TCX (eXcitação Codificada de Transformação), a qual é equivalente à de [Moreau, 1992], [Chen, 1996] e [Chen, 1997], será considerada na descrição seguinte.
Originalmente, foram concebidas duas variantes de ΡΕ1719116 codificação TCX [Lefebvre, 1994] : uma para sinais de voz utilizando tramas curtas e predicção de passo, uma outra para os sinais musicais com tramas longas e sem predicção de passo. Em ambos os casos, o processamento envolvido na codificação TCX pode ser decomposto em duas etapas: 1) A trama corrente do sinal de áudio é processada por filtragem temporal para se obter um denominado sinal alvo e, em seguida 2) 0 sinal alvo é codificado no domínio da transformação. A codificação de transformação do sinal alvo utiliza um DFT com gestão de janela rectangular. Porém, para reduzir o bloqueio de artefactos nas fronteiras da trama, foi utilizada antes da DFT, a gestão de janela com uma pequena sobreposição, em [Jbira, 1998]. Ao invés, é utilizado em [Ramprashad, 2001], uma MDCT com comutação de janela, a MDCT tem a vantagem de proporcionar uma melhor resolução de frequência do que a DFT, enquanto sendo uma bateria de filtros maximizadamente decimada. No entanto, no caso de [Ramprashad, 2001], o codificador não funciona em ciclo fechado, em particular para análise de passo. A este respeito, o codificador de [Ramprashad de 2001] não pode ser qualificado como uma variante de TCX. A representação do sinal alvo não só desempenha um papel na codificação de TCX, mas também controla parte 9 ΡΕ1719116 da qualidade de áudio de TCX, uma vez que consome a maior parte dos bits disponíveis em cada trama de codificação. A referência é feita aqui para transformação de codificação no domínio de DFT. Vários métodos têm sido propostos para codificar o sinal alvo neste domínio, ver, por exemplo [Lefebvre, 1994], [Xie, 1996], [Jbira, 1998], [Schnitzler, 1999] e [Bessette, 1999]. Todos estes métodos implementam uma forma de quantização de ganho de forma, o que significa que o espectro do sinal alvo é em primeiro lugar normalizado por um factor ou ganho global g prioritariamente à codificação presente. Em [Lefebvre, 1994], [Xie, 1996] e [Jbira, 1998] , este factor g é estabelecido para o valor RMS (Root Mean Square - valor quadrático médio) do espectro. No entanto, em geral, ele pode ser optimizado em cada trama, testando diferentes valores para o factor g, tal como divulgado por exemplo em [Schnitzler, 1999] e [Bessette, 1999]. Em [Bessette, 1999] não é divulgada a optimização efectiva do factor g. Para melhorar a qualidade da codificação TCX, o ruído de preenchimento (isto é, a injecção de ruído de conforto em vez de coeficientes desquantizados) foi utilizado em [Schnitzler, 1999] e [Bessette, 1999].
Como explicado em [Lefebvre, 1994], a codificação TCX pode com bastante sucesso codificar sinais de banda larga, por exemplo sinais amostrados a 16 kHz; a qualidade de áudio é boa para a voz a uma taxa de amostragem de 16 kbit/s, e para a música a uma taxa de amostragem de 24 kbit/s. No entanto, a codificação TCX não é tão eficiente 10 ΡΕ1719116 quanto a ACELP para codificação de sinais de voz. Por essa razão, uma estratégia de codificação comutada ACELP/TCX foi resumidamente apresentada em [Bessette, 1999]. 0 conceito de codificação ACELP/TCX é semelhante, por exemplo, à técnica de ATCELP (Adaptive Transform e CELP Transformação adaptativa e CELP) [Combescure, 1999]. Obviamente, a qualidade de audio pode ser maximizada pela comutação entre modos diferentes, os quais, na actualidade, estão especializados para codificar um determinado tipo de sinal. Por exemplo, a codificação CELP é especializada para voz e a codificação de transformação é mais adaptada à música, por isso é natural combinar estas duas técnicas numa estrutura de tramas multi-modo no qual cada trama de áudio é codificada de forma adaptativa com a ferramenta de codificação mais adequada. Na codificação ATCELP, a comutação entre codificação CELP e de transformação não é perfeita, ela exige modos de transição. Para além disso, é aplicada uma decisão de modo de ciclo aberto, ou seja, a decisão de modo é efectuada previamente à codificação com base no sinal de áudio disponível. Pelo contrário, o ACELP/TCX apresenta a vantagem de utilizar dois modos de predicção lineares homogéneos (codificação ACELP e TCX), o que torna mais fácil a comutação; além do mais, a decisão de modo é de ciclo fechado, o que significa que todos os modos de codificação são testados e a melhor síntese pode ser seleccionada.
Embora [Bessette, 1999] apresente resumidamente uma estratégia de codificação comutada ACELP/TCX, 11 ΡΕ1719116 [Bessette, 1999] não divulga a decisão de modo ACELP/TCX e os detalhes da quantização do sinal alvo TCX em codificação ACELP/TCX. 0 método de quantização subjacente só é conhecido por ser baseado na auto-escalonável quantização vectorial recticular de multi-taxa, tal como introduzido por [Xie, 1996]. É feita referência a [Gibson, 1988] e a [Gersho, 1992] para uma introdução à quantização vectorial recticular. Uma recticular de dimensão N é uma matriz regular de pontos no espaço N-dimensional (euclidiano). Por exemplo, [Xie, 1996] utiliza uma recticular de dimensão 8, conhecida como recticular de Gosset, a qual é definida como: onde
e :4
Esta trama matemática permite a quantização de um bloco de oito (8) números reais. REs pode também ser definido de forma mais intuitiva como o conjunto de pontos (xi, ..., x§) que verificam as propriedades: 12 ΡΕ1719116 i. Os componentes X± são registados como inteiros (para i = 1, . .., 8); ii. A soma xj + ... + x§ é um múltiplo de 4, e iii. Os componentes Xj têm a mesma paridade (para i = 1, ... , 8), isto é, eles são ou todos pares ou todos impares.
Uma tabela de codificação de quantização de dimensão 8 pode então ser obtida através da selecção de um subconjunto finito de REs. Normalmente, o erro quadrático médio é o critério de pesquisa na tabela de codificação. Na técnica de [Xie, 1996], seis (6) diferentes tabelas de códigos, chamadas Qo, Qi, . .., Qs, são definidas com base na recticular REg. Cada tabela de codificação Qn em que n = 0, 1, ..., 5, compreende 24n pontos, o que corresponde a uma taxa de 4n bits por sub- vector de dimensão 8 ou de n/2 bits por amostra. O espectro do sinal alvo TCX, normalizado por um factor de escala g, é então quantizado dividindo-o em sub-vectores de dimensão 8 (ou sub-bandas) . Cada um destes sub-vectores está codificado dentro de uma das tabelas de codificação Qo, Qi ... , Qs · Como consequência, a quantização do sinal alvo TCX, após a normalização pelo factor g produz para cada sub-vector de dimensão 8 um número n da tabela de codigos indicando qual a tabela de codificação Qn tem sido utilizada e um indice i identificando um vector de código especifico da tabela de codificação Qn. Este processo de quantização é referido 13 ΡΕ1719116 como quantização vectorial recticular de multi-taxa, para as tabelas de codificação Qn que têm taxas diferentes. 0 modo TCX de [Bessette, 1999] segue o mesmo principio porém, não são proporcionados detalhes sobre o cálculo do factor de normalização g, nem sobre a multiplexagem dos indices de quantização e os números das tabelas de códigos. A técnica de quantização vectorial recticular de [Xie, 1996] com base em RE8 foi estendida em [Ragot, 2002], para melhorar a eficiência e reduzir a complexidade. No entanto, nunca foi proposta a aplicação do conceito descrito por [Ragot, 2002] para a codificação de TCX.
No dispositivo de [Ragot, 2002], um vector de dimensão 8 é codificado por meio de um quantizador multi-taxa que incorpora um conjunto de tabelas de código RE8 indicadas como {Q0, Q2r Q3r . Qee} · A tabela de
codificação Qi não está definida no conjunto, com o fim de melhorar a eficiência de codificação. Todas as tabelas de codificação Qn são construidas como subconjuntos da mesma recticular RE8 de dimensão 8, Qn <^REe. A taxa de bit da na (n-ésima) tabela de codificação definida como bits por dimensão é 4n/8, ou seja, cada tabela de codificação Q„ contém 24n vectores de código. A construção do quantizador multi-taxa segue os preceitos de [Ragot, 2002]. Para um dado vector de entrada de dimensão 8, o codificador do quantizador multi-taxa encontra o vizinho mais próximo em REq, e faz sair um número n de tabela de codificação e um indice i na correspondente tabela de codificação Qn. A 14 ΡΕ1719116 eficiência da codificação é melhorada pela aplicação de uma técnica de codificação de entropia para os índices de quantização, isto é, os números n de tabela de codificação e os índices i das divisões. Em [Ragot, 2002], um número n de tabela de codificação é codificado anteriormente à multiplexagem para o fluxo de bits com um código monádico que compreende um número n-1 de l's e um bit de paragem zero. 0 número de tabela de codificação representado pelo código monádico é indicado por nE. Nenhuma codificação de entropia é empregada para os índices í da tabela de codificação. O código monádico nE e a alocação de bits i estão exemplificados na Tabela 1 seguinte.
Tabela 1 O número de bits requerido para o índice de tabela de codificação._ N° dè tabela de codificação nk Codigo monádico nEk na forma binária Número de llilllliiiliiii l!l!l!l!l!liilil!l!l!l!l!ll Número de bits para ík Número de bits por divisão 0 0 1 0 1 2 10 2 8 10 3 110 3 12 15 4 1110 4 16 20 5 11110 5 20 25
Tal como ilustrado na Tabela 1, é necessário um bit para codificar o vector de entrada, quando n = 0 e no caso contrário são necessários 5n bits.
Para além disso, a questão prática na codificação de áudio é a formatação do fluxo de bits e o tratamento de 15 ΡΕ1719116 tramas ruins, também conhecido como dissimulação de apagamento de trama. 0 fluxo de bits é geralmente formatado no lado de codificação como tramas sucessivas (ou blocos) de bits. Devido à violação por degradações de canal (por exemplo, CRC (Cyclic Redundancy Check - Verificação de Redundância Ciclica), perda de pacotes ou atraso, etc.), algumas tramas podem não ser recebidas correctamente no lado de descodificação. Num tal caso, o descodificador recebe tipicamente uma bandeira de aviso que manifesta um apagamento de trama e a trama ruim é "descodificada" por extrapolação com base no passado histórico do descodificador. Um procedimento vulgar para lidar com tramas ruins na descodificação CELP consiste em reutilizar o filtro de sintese LP do passado, e fazendo a extrapolação da excitação anterior.
Para melhorar a robustez contra perda de tramas, pode ser utilizada a repetição de parâmetro, também conhecida como codificação com Correcção de Erro para Diante (Error Correction) ou FEC. 0 problema de dissimulação de apagamento de trama para TCX ou codificação ACELP/TCX comutada ainda não foi abordado na tecnologia corrente.
SUMÁRIO DA INVENÇÃO
Em conformidade com a presente invenção, são proporcionados métodos e dispositivos para a comutação de 16 ΡΕ1719116 um modo de codificação ACELP para um modo de codificação TCX de acordo com as reivindicações independentes 1, 7, 8, 14, 19 e 20.
Os anteriores e outros objectivos, vantagens e caracteristicas da presente invenção tornar-se-ão mais evidentes após a leitura da seguinte descrição, não restritiva de modelos de realização ilustrativos da mesma, apenas dados a titulo de exemplo, com referência aos desenhos anexos.
BREVE DESCRIÇÃO DOS DESENHOS
Nos desenhos anexos: A Figura 1 é um diagrama de blocos esquemático de nivel alto de um modelo de realização do codificador de acordo com a presente invenção; A Figura 2 é um exemplo não limitativo de mapa de temporização dos tipos de trama numa super-trama; A Figura 3 é um gráfico que mostra um exemplo não limitativo de gestão de janela para análise de predicção linear, juntamente com os factores de interpolação tal como utilizados para sub-tramas de 5-ms e, dependendo do modo de trama ACELP de 2 0-ms, de TCX de 2 0-ms, TCX de 4 0-ms ou TCX de 80-ms; 17 ΡΕ1719116
As Figura 4a-4c são gráficos que ilustram um exemplo não limitativo de gestão de janela de trama num codificador ACELP/TCX, dependendo do modo de trama corrente e comprimento, e do modo de trama passado; A Figura 5a é um diagrama de blocos de nivel alto ilustrando um modelo de realização da trama e método implementado pelo codificador de acordo com a presente invenção, para tramas de TCX; A Figura 5b é um gráfico que ilustra um exemplo não limitativo do espectro de amplitude antes e depois do espectro de pré-formatação realizada pelo codificador da Figura 5a; A Figura 5c é um gráfico que ilustra um exemplo não limitativo de função de ponderação que determina o ganho aplicado ao espectro durante a pré-formatação de espectro; A Figura 6 é um diagrama de blocos esquemático, que mostra como é que a codificação algébrica é utilizada para quantizar um conjunto de coeficientes, por exemplo, coeficientes de frequência com base num auto-escalonável quantizador de vector recticular de multi-taxa descrito anteriormente utilizando uma recticular REs; A Figura 7 é um fluxograma que descreve um exemplo não limitativo do procedimento iteractivo de 18 ΡΕ1719116 estimação global de ganho em domínio logarítmico (domain-log) para um codificador de TCX, este procedimento de estimação global é uma etapa implementada na codificação TCX utilizando um quantizador recticular, para reduzir a complexidade embora permanecendo dentro do dimensionamento de bit para uma determinada trama; A Figura 8 é um gráfico que ilustra um exemplo não limitativo da estimação do ganho global e estimação do nível de ruído (revertido o enchimento) em tramas TCX; A Figura 9 é um fluxograma que mostra um exemplo de tratamento do extravasamento do dimensionamento de bit em codificação TCX, quando se calculam os índices de ponto de rectícula das divisões; A Figura 10a é um diagrama de blocos esquemático que mostra um exemplo não limitativo de um codificador de frequência mais alta (HF) baseado na extensão da largura de banda; A Figura 10b é diagrama de blocos esquemático e gráficos que mostram um exemplo não limitativo do procedimento de harmonização de ganho executado pelo codificador da Figura 10a entre o invólucro de frequência mais baixa e mais alta, calculado pelo codificador da Figura 10a; A figura 11 é um diagrama de blocos de nível alto 19 ΡΕ1719116 de um modelo de realização de um descodificador de acordo com a presente invenção, mostrando a recombinação de um sinal de frequência mais baixa, codificada com ACELP/TCX híbrido, e um sinal de HF codificado utilizando extensão de largura de banda; A figura 12 é um diagrama de blocos esquemático que ilustra um exemplo não limitativo de descodificador ACELP/TCX para um sinal de LF; A Figura 13 é um fluxograma, que mostra um exemplo não limitativo de lógica subjacente à descodificação ACELP/TCX, após o processamento de quatro (4) pacotes que formam uma trama de 80-ms; A figura 14 é um diagrama de blocos esquemático que ilustra um exemplo não limitativo de descodificador ACELP utilizado no descodificador ACELP/TCX da Figura 12; A figura 15 é um diagrama de blocos esquemático que mostra um exemplo não limitativo de descodificador TCX tal como utilizado no descodificador ACELP/TCX da Figura 12; A figura 16 é um diagrama de blocos esquemático de um exemplo não limitativo do descodificador de HF funcionando com base no método de extensão de largura de banda; 20 ΡΕ1719116 A figura 17 é um diagrama de blocos esquemático de um exemplo não limitativo da bateria de filtros de pós-processamento e de síntese no lado do descodificador; A Figura 18 é um diagrama de blocos esquemático de um exemplo não limitativo de codificador de LF, mostrando como é que codificadores ACELP e TCX são experimentados em confronto, utilizando um critério SNR por segmentos (Signal-to-Noise Ratio - Relação Sinal-Ruído) para seleccionar o modo de codificação apropriado para cada trama numa super-trama de 80-ms; A figura 19 é um diagrama de blocos esquemático que mostra um exemplo não limitativo de decomposição de pré-processamento e de sub-banda aplicada no lado do codificador em cada super-trama de 80-ms; A Figura 20 é um diagrama de fluxo esquemático que descreve o funcionamento do módulo de pré-formatação de espectro do codificador da Figura 5a; e A Figura 21 é um diagrama de fluxo esquemático que descreve o funcionamento do módulo de desacentuação de baixa frequência adaptativa do descodificador da Figura 15.
DESCRIÇÃO DETALHADA DOS MODELOS DE REALIZAÇÃO ILUSTRATIVOS
Os modelos de realização ilustrativos e não 21 ΡΕ1719116 restritivos da presente invenção serão divulgados em relação a um dispositivo de codificação/descodificação de áudio utilizando o modelo de codificação ACELP/TCX e o modelo de quantização vectorial recticular de multi-taxa auto-escalonável. No entanto, deve ser mantido em mente que a presente invenção pode ser igualmente aplicada a outros tipos de codificação e modelos de quantização.
VISÃO GERAL DO CODIFICADOR
Descrição do nível alto do codificador
Um diagrama de blocos esquemático do nível alto de um modelo de realização de um codificador de acordo com a presente invenção é ilustrado na Figura 1.
Referindo-nos à Figura 1, o sinal de entrada é amostrado a uma frequência de 16 kHz ou mais alta, e é codificado em super-tramas de T ms tais como 1004, por exemplo, com T = 80ms. Cada super-trama 1004 é pré- processada e dividida em duas sub-bandas, por exemplo, de uma maneira semelhante ao pré-processamento em AMR-WB. Os sinais de mais baixa frequência (LF) , tais como 1005 são definidos dentro da faixa de 0-6400 Hz, enquanto os sinais de mais alta frequência (HF), tais como 1006 são definidos dentro da faixa de 6400-Fmax Hz, onde Fmax é a frequência de Nyquist. A frequência de Nyquist é a frequência de amostragem mínima, a qual teoricamente, permite ao sinal original ser reconstituído sem distorção: para um sinal 22 ΡΕ1719116 cujo espectro se estende nominalmente a partir da frequência zero até um máximo de frequência, a frequência de Nyquist é igual a duas vezes esta frequência máxima.
Ainda com referência à Figura 1, o sinal de LF construído 1005 é codificado por meio de codificação ACELP/TCX multi- -modo (veja-se módulo 1002), no exemplo ilustrado, após o núcleo AMR-WB. 0 AMR - WB funciona em tramas de 2 0-ms dentro da super-trama de 80 -ms. 0 modo ACELP é baseado no algoritmo de codificação AMR-WB e, portanto, funciona em tramas de 20-ms. 0 modo TCX pode funcionar em qualquer das tramas de 20, 40 ou 80-ms dentro da super-trama de 80-ms. Neste exemplo ilustrativo, os três (3) comprimentos de trama TCX de 20, 40 e 80-ms são utilizados respectivamente com uma sobreposição de 2,5, 5 e 10 ms. A sobreposição é necessária para reduzir o efeito de selecção de trama no modo TCX (tal como na codificação de transformação). A Figura 2 apresenta um exemplo de mapa de tempo dos tipos de trama para a codificação ACELP/TCX do sinal de LF. Tal como ilustrado na Figura 2, o modo ACELP pode ser escolhido em qualquer uma das primeira 2001, segunda 2002, terceira 2003 e quarta 2004 tramas de 20-ms de ACELP dentro da super-trama 2005 de 80-ms. Da mesma forma, o modo TCX pode ser utilizado em qualquer uma das primeira 2006, segunda 2007, terceira 2008 e quarta 2009 tramas TC x de 20-ms dentro da super-trama 2005 de 80-ms. Além disso, as duas primeiras ou as duas últimas tramas de 20-ms podem ser 23 ΡΕ1719116 agrupadas conjuntamente para formar tramas TCX de 40-ms 2011 e 2012 para serem codificadas no modo TCX. Finalmente, toda a super-trama 2005 de 80-ms pode ser codificada numa única trama TCX 2010, de 80-ms. Assim, um total de 26 diferentes combinações de tramas ACELP e TCX estão disponíveis para codificar uma super-trama de 80-ms, tal como a 2005. Os tipos de tramas ACELP ou TCX e os seus comprimentos, numa super-trama de 80-ms, são determinados em ciclo fechado, tal como será divulgado na descrição a seguir.
Referindo-nos de volta à Figura 1, o sinal de HF 1006 é codificado utilizando uma abordagem de extensão de largura de banda (ver módulo 1003 de codificação de HF). Na extensão de largura de banda, é utilizado um modelo paramétrico de filtro de excitação, onde o filtro é codificado utilizando poucos bits e em que a excitação é reconstruída no descodificador a partir da excitação de sinal de LF recebido. Também, num modelo de realização, os tipos de tramas escolhidos para a banda mais baixa (ACELP/TCX) prescrevem directamente o comprimento de trama utilizado para a extensão de largura de banda na super-trama de 80-ms.
Configurações de Super-trama
Todas os possíveis configurações de super-trama estão listadas na Tabela 2 , na forma de {mlr m2, m3, m4) , onde mk indica o tipo de trama seleccionada para a trama k“ 24 ΡΕ1719116 esima de 20-ms no interior da super-trama de 80-ms, tal que: mk = 0 para trama ACELP de 20-ms, mk = 1 para trama TCX de 20-ms, mk = 2 para trama TCX de 40-ms, mk = 3 para trama TCX de 80-ms.
Por exemplo, a configuração (1, 0, 2, 2) indica que a super-trama de 80-ms é codificada pela codificação da primeira trama de 20-ms como uma trama TCX de 20-ms (TCX20), seguida pela codificação da segunda trama de 20-ms como uma trama ACELP de 20-ms e, finalmente, pela codificação das duas últimas tramas de 20-ms como uma única trama TCX de 40-ms (TCX40) Do mesmo modo, a configuração (3, 3, 3, 3) indica que uma trama TCX de 80-ms (TCX8 0) define toda a super-trama 2005.
Tabela 2
Todas as possíveis 26 configurações de super-trama O O O o (0,0,0,1) (2,2,0,0) o o o 1—1 (1,0,0,1) (2,2,1,0) o o 1—1 o (0,1,0,1) (2,2,0,1) (1,1,0,0) (1,1,0,1) (2,2,1,1) o 1—1 o o (0,0,1,1) (0,0,2,2) (1,0,1,0) (1,0,1,1) (1,0,2,2) (0,1,1,0) (0,1,1,1) (0,1,2,2) (2,2,2,2) (1,1,1,0) (1,1,1,1) (1,1,2,2) (3,3,3,3)
Selecção de modo 25 ΡΕ1719116 A configuração de super-trama pode ser determinada por decisão quer por ciclo aberto ou por ciclo fechado. A abordagem por ciclo aberto consiste em seleccionar a configuração de super-trama seguindo algumas análises prévias à codificação de super-trama de tal modo como que a reduzir a complexidade global. A abordagem por ciclo fechado consiste em tentar todas as combinações de super-trama e escolher a melhor. A decisão por ciclo fechado proporciona geralmente mais elevada qualidade em comparação com uma decisão por ciclo aberto, com uma troca de compromisso com a complexidade. Um exemplo não limitativo de decisão por ciclo fechado é resumido na Tabela 3 seguinte.
Neste exemplo, não limitativo na decisão por ciclo fechado, todas as 26 possíveis configurações de super-trama da Tabela 2 podem ser seleccionadas com apenas 11 ensaios. A metade esquerda da Tabela 3 (Ensaios) mostra qual o modo de codificação que é aplicado a cada trama de 20-ms para cada um dos 11 ensaios. De Frl a Fr4 referem-se 'da Trama 1 à Trama 4 na super-trama. Cada número de ensaio (1 a 11) indica uma etapa no processo de decisão por ciclo fechado. A decisão final apenas será conhecida após a etapa 11. Deve notar-se que cada trama de 20-ms é envolvida em apenas quatro (4) dos 11 ensaios. Quando mais do que uma (1) trama está envolvida num ensaio (ver, por exemplo ensaios 5, 10 e 11), é em seguida aplicada a codificação TCX de comprimento correspondente (TCX40 ou TCX80) . Para compreender as etapas intermediárias do processo de decisão 26 ΡΕ1719116 por ciclo fechado, a metade direita da Tabela 3 dá um exemplo de decisão de ciclo fechado, onde a decisão final após o ensaio 11 é TCX80. Isto corresponde a um valor 3 para o modo em todas as quatro (4) tramas de 20-ms daquela particular super-trama. No exemplo, os números em negrito à direita da Tabela 3 mostram até que ponto uma selecção do modo ocorre nas etapas intermediárias do processo de decisão por ciclo fechado.
Tabela 3
Ensaios e exemplo do modo de selecção por ciclo fechado
Ensaios (11) Frl Fr2 Fr3 Fr4 1 ACELP 2 TCX2 0 3 ACELP 4 TCX20 5 TCX4 0 TCX40 6 ACELP 7 TCX20 8 ACELP 9 TCX2 0 10 TCX40 TCX4 0 11 TCX80 TCX80 TCX80 TCX80
Exemplo de selecção Em negrito = feita a comparação Frl Fr2 Fr3 Fr4 ACELP ACELP ACELP ACELP ACELP TCX20 ACELP TCX20 ACELP TCX20 ACELP ACELP TCX20 TCX20 ACELP TCX20 TCX2 0 ACELP ACELP TCX20 TCX2 0 TCX20 ACELP TCX20 TCX40 TCX40 TCX80 TCX80 TCX80 TCX80 0 processo de decisão por ciclo fechado da Tabela 3 prossegue como se segue. Em primeiro lugar, nos ensaios 1 e 2, a codificação ACELP (AMR-WB) e TCX20 são tentadas na trama de 20-ms Frl. Em seguida, é feita uma selecção para a trama Frl entre estes dois modos. 0 critério de selecção pode ser por segmentação da Relação Sinal-Ruido (SNR) entre o sinal ponderado e o sinal ponderado sintetizado. A segmentação SNR é calculada utilizando, por exemplo, 27 ΡΕ1719116 segmentos de 5 ms, e o modo de codificação seleccionado é aquele que resulta na melhor segmentação de SNR. No exemplo da Tabela 3, é assumido que o modo ACELP foi retido como indicado a negrito no lado direito da Tabela 3.
Nos ensaios 3 e 4, é feita a mesma comparação para a trama Fr2 entre ACELP e TCX20. No exemplo ilustrado da Tabela 3, é assumido que TCX20 foi melhor do que ACELP. Novamente TCX20 é seleccionado com base na medida da segmentação de SNR acima descrita. Esta selecção é indicada em negrito na linha 4 do lado da direita da Tabela 3.
No ensaio 5, as tramas Frl e Fr2 são agrupadas conjuntamente para formarem uma trama de 40-ms, a qual é codificada utilizando TCX40. 0 algoritmo agora tem que escolher entre TCX40 para as primeiras duas tramas Frl e Fr2, em comparação com ACELP na primeira trama Frl e TCX20 na segunda trama Fr2. No exemplo da Tabela 3, é assumido que a sequência ACELP-TCX20 foi seleccionada em conformidade com o critério de segmentação de SNR acima descrito como indicado a negrito na linha 5, no lado direito da Tabela 3. 0 mesmo procedimento dos ensaios 1 a 5, é em seguida aplicado à terceira Fr3 e quarta FR4 tramas nos ensaios de 6 a 10. Seguindo o ensaio 10 no exemplo da
Tabela 3, as quatro tramas de 20-ms são classificadas como ACELP para a trama Frl, TCX2 0 para a trama FR2, e TCX4 0 para as tramas FR3e Fr4 agrupadas conjuntamente. 28 ΡΕ1719116
Um último ensaio 11 é realizado quando, todas as quatro tramas de 20-ms, isto é, toda a super-trama de 80-ms é codificada com TCX80. Novamente, o critério de segmentação de SNR é de novo utilizado, com segmentos de 5-ms para comparar os ensaios 10 e 11. No exemplo da Tabela 3, assume-se que a decisão por ciclo fechado final é TCX80 para toda a super-trama. Os bits de modo, para as quatro (4) tramas de 20-ms poderiam então ser (3,3,3,3) tal como discutido na Tabela 2.
Visão geral do modo TCX A selecção de modo por ciclo fechado acima descrita implica que as amostras numa super-trama têm de ser codificadas utilizando ACELP e TCX antes de tomar a decisão de modo. A codificação ACELP é realizada tal como em AMR-WB. A codificação TCX é realizada conforme mostrado no diagrama de blocos da Figura 5. O modo de codificação TCX é semelhante para as tramas TCX de 20, 40 e 80-ms, com poucas diferenças, na sua maioria envolvendo a de gestão de janela e interpolação de filtros. Os detalhes de codificação TCX, serão dados na descrição seguinte do codificador. Por agora, a codificação TCX da Figura 5 pode ser resumida como se segue. O sinal áudio de entrada é filtrado através de um filtro de ponderação do espectro sonoro (o mesmo filtro de ponderação do espectro sonoro como em AMR-WB) para se obter um sinal ponderado. Os coeficientes do filtro de ponderação 29 ΡΕ1719116 são interpolados de uma maneira que depende do comprimento de trama TCX. Se a trama anterior foi uma trama ACELP, a resposta de entrada zero (ZIR) do filtro de ponderação do espectro sonoro é removido a partir do sinal ponderado. 0 sinal é em seguida, gerido em janela (a forma da janela será descrita na descrição a seguir) e uma transformação é aplicada ao sinal gerido em janela. No domínio da transformada, o sinal é em primeiro lugar pré-formatado, para minimizar o instrumento de codificação de ruído nas frequências mais baixas e, em seguida quantizado utilizando um quantizador recticular específico que será divulgado na descrição seguinte. Depois de quantização, a função de pré-formatação inversa é aplicada ao espectro, que é em seguida transformado inversamente para proporcionar um sinal quantizado no domínio do tempo. Depois de redimensionamento de ganho, uma janela é novamente aplicada ao sinal quantizado para minimizar os efeitos de bloco da quantização no domínio da transformação. A acção de sobreposição e acréscimo é utilizada com a trama anterior se essa trama anterior também estivesse no modo TCX. Finalmente, o sinal de excitação é encontrado através de filtragem inversa com actualização da memória de filtro adequado. Esta excitação TCX está no mesmo "domínio" como o de excitação ACELP (AMR-WB).
Os detalhes de codificação TCX, como mostrado na Figura 5 serão em baixo aqui descritos.
Visão geral da extensão da largura de banda (BWE) 30 ΡΕ1719116 A extensão de largura de banda é um método utilizado para codificar o sinal de HF com baixo custos, tanto em termos de taxa de bits como da complexidade. Neste exemplo não limitativo, é utilizado um modelo de filtro de excitação para codificar o sinal de HF. A excitação não é transmitida; de preferência, o descodificador extrapola a excitação do sinal de HF recebido, a excitação de LF descodificada. Não são necessários quaisquer bits para a transmissão do sinal de excitação de HF; todos os bits relacionados com o sinal de HF são utilizados para transmitir uma aproximação do invólucro espectral deste sinal de HF. Um modelo LPC linear (filtro) é calculado no sinal de HF de amostragem reduzida 1006 da Figura 1. Estes coeficientes de LPC podem ser codificados com poucos bits uma vez que a resolução do ouvido diminui para frequências mais altas, e a dinâmica espectral dos sinais de áudio também tende a ser mais pequena para frequências mais altas. Um ganho é também transmitido para cada trama de 20-ms. Este ganho é necessário para compensar a falta de correspondência entre o extrapolado sinal de excitação de HF a partir do sinal de excitação de LF e o filtro LPC transmitido relacionado com o sinal de HF. O filtro LPC é quantizado no dominio de Frequências Espectrais de Imitância (ISF). A codificação nas bandas de mais baixa e mais alta frequência é sincrona no tempo tal que a extensão da largura de banda é segmentada sobre a super-trama de acordo com a selecção de modo da banda mais baixa. 0 módulo de 31 ΡΕ1719116 extensão de largura de banda será divulgado na descrição seguinte do codificador.
Parâmetros de Codificação
Os parâmetros de codificação podem ser divididos em três (3) categorias, tal como mostrado na Figura 1; informação de configuração de super-trama (ou informação de modo) 1007, parâmetros de LF 1008 e parâmetros de HF 1009. A configuração de super-trama pode ser codificada utilizando diferentes abordagens. Por exemplo, para atender aos requisitos específicos do sistema, é muitas vezes desejado ou necessário enviar grandes pacotes, tais como super-tramas de 80-ms, como uma sequência de pacotes mais pequenos, cada um correspondendo a menos bits e tendo possivelmente, uma duração mais curta. Aqui, cada super-trama de 80-ms é dividida em quatro pacotes consecutivos mais pequenos. Para fazer a partição de uma super-trama em quatro pacotes, o tipo de trama escolhida para cada trama de 20-ms dentro de uma super-trama é indicada por meio de dois bits a serem incluídos no correspondente pacote. Isto pode ser facilmente conseguido por meio do mapeamento do inteiro mk E {0, 1, 2, 3} dentro da sua representação binária correspondente. Deve ser relembrado que o mk é um número inteiro que descreve o modo de codificação seleccionado para a k-ésima trama de 20-ms dentro de uma super-trama de 80-ms. 32 ΡΕ1719116
Os parâmetros de LF dependem do tipo de trama. Nas tramas ACELP os parâmetros de LF são os mesmos que os de AMR-WB, em acréscimo a um parâmetro média de energia para melhorar o desempenho de AMR-WB nos ataques em sinais musicais. Mais especificamente, quando uma trama de 20-ms é codificada no modo ACELP (modo 0), os parâmetros de LF enviados para essa trama particular, no correspondente pacote são: □ Os parâmetros ISF (46 bits reutilizados a partir de AMR-WB); □ O parâmetro média de energia (2 bits adicionais comparados com AMR-WB); □ 0 atraso de passo (como em AMR-WB); □ O filtro de passo (como em AMR-WB); □ Os indices de tabela de codificação fixados (reutilizados a partir de AMR-WB), e □ Os ganhos de tabela de codificação (tal como no 3GPP AMR-WB).
Nas tramas de TCX, os parâmetros ISF são os mesmos que no modo ACELP (AMR-WB) , mas são transmitidos apenas uma vez em cada trama de TCX. Por exemplo, se a super-trama de 80-ms é composto por duas tramas TCX de 40-ms, em seguida apenas dois conjuntos de parâmetros de ISF são transmitidos para toda a super-trama de 80-ms. Da mesma maneira, quando a super-trama de 80-ms é codificada como uma única trama TCX de 80-ms, então somente é transmitido para aquela super-trama um conjunto de parâmetros de ISF. 33 ΡΕ1719116
Para cada trama TCX, ou TCX20, TCX40 e TCX80, são transmitidos os seguintes parâmetros: □ Um conjunto de parâmetros ISF (46 bits reutilizados a partir de AMR-WB); □ Parâmetros que descrevem os coeficientes de espectro quantizados na VQ recticular de multi-taxa (ver Figura 6); □ Factor de ruido para o ruido de preenchimento (3 bits), e □ Ganho Global (escalar, 7 bits).
Estes parâmetros e as suas codificações serão divulgados na descrição seguinte do codificador. Deve notar-se que uma grande parte do dimensionamento de bits nas tramas TCX é dedicado aos índices de VQ recticulados.
Os parâmetros de HF, que são fornecidos pela extensão de Largura de banda, estão normalmente relacionados com o invólucro do espectro e a energia. São transmitidos os seguintes parâmetros de HF: □ Um conjunto de parâmetros ISF (ordem 8, 9 bits) por trama, em que uma trama pode ser uma trama ACELP de 20-ms, uma trama TCX20, uma trama TCX40 ou uma trama TCX80; □ Ganho de HF (7 bits), quantizado como um vector de ganho de dimensão 4, com um ganho de peso por tramas de 20, 40 ou 80-ms; e 34 ΡΕ1719116 □ Correção de ganho de HF para tramas TCX40 e TCX80, para modificar mais grosseiramente os ganhos de HF quantizados nestes modos TCX.
Alocações de bits de acordo com um modelo de realização 0 codec ACELP/TCX de acordo com este modelo de realização pode funcionar em cinco taxas de bits: 13,6, 16,8, 19,2, 20,8 e 24,0 kbits/s. Estas taxas de bits estão relacionadas com algumas das taxas AMR-WB. Os números de bits para codificar cada super-trama de 80-ms para as cinco (5) taxas de bits acima mencionados são respectivamente, 1088, 1344, 1536, 1664 e 1920 bits. Mais especificamente, são alocados um total de 8 bits para a configuração de super-trama (2 bits por trama de 20-ms) e são alocados 64 bits para a extensão de largura de banda em cada super-trama de 80-ms. Podem ser utilizados mais ou menos bits para a extensão de largura de banda, de acordo com a resolução desejada para codificar o ganho de HF e do invólucro espectral. O remanescente do dimensionamento de bits, ou seja, a maior parte do dimensionamento de bits, é utilizada para codificar o sinal de LF 1005 da Figura 1. Um exemplo não limitativo de uma alocação tipica de bits para os diferentes tipos de tramas é dado nas Tabelas anexas 4, 5a, 5b e 5c. A alocação de bits para a extensão de largura de banda é mostrada na Tabela 6. Estas tabelas indicam a percentagem do dimensionamento de bits total normalmente utilizada para a codificação dos diferentes parâmetros. 35 ΡΕ1719116
Deve notar-se que, nas Tabelas 5b e 5c, que correspondem respectivamente, a tramas TCX40 e TCX80, os números entre parêntesis mostram uma divisão dos bits em dois pacotes (Tabela 5b) ou quatro pacotes (Tabela 5c) de igual tamanho. Por exemplo, a Tabela 5c indica que no modo TCX80, os 46 bits de ISF da super-trama (um filtro LPC para toda a super-trama) estão divididos em 16 bits no primeiro pacote, 6 bits no segundo pacote, 12 bits no terceiro pacote e finalmente 12 bits no último pacote.
Do mesmo modo, os bits VQ algébricos (a maior parte do dimensionamento de bits nos modos TCX) são divididos em dois pacotes (Tabela 5b) ou quatro pacotes (Tabela 5c) . Esta divisão é realizada de tal forma que o espectro quantizado é dividido em duas (Tabela 5b) ou quatro (Tabela 5C) faixas intercaladas, em que cada faixa contém um em cada dois (Tabela 5b) , ou um em cada quatro (Tabela 5c) blocos espectrais. Cada bloco espectral é constituído por quatro coeficientes sucessivos de espectro complexo. Esta intercalação assegura que, se um pacote estiver em falta, ele só irá dar origem a "buracos" intercalados no espectro descodificado para tramas TCX40 e TCX80. Essa divisão de bits em pacotes mais pequenos para tramas TCX40 e TCX80 tem que ser feito com cuidado, para gerir o excesso de fluxo quando se escreve para dentro de um determinado pacote.
DESCRIÇÃO DE UM MODO DE REALIZAÇÃO ILUSTRATIVO NÃO RESTRITIVO DO CODIFICADOR 36 ΡΕ1719116
Neste modelo de realização do codificador, o sinal de áudio é suposto ser amostrado no formato PCM a 16 kHz ou mais, com uma resolução de 16 bits por amostra. 0 papel do codificador é calcular e codificar parâmetros com base no sinal de áudio, e para transmitir os parâmetros codificados para dentro do fluxo de bits para descodificar e para propósitos de síntese. Uma bandeira de aviso indica ao codificador qual é a taxa de amostragem de entrada.
Um diagrama de blocos simplificado do modelo de realização do codificador é mostrado na Figura 1. 0 sinal de entrada é dividido em sucessivos blocos de 80-ms, os quais serão referidos como super-tramas, tais como 1004 (Figura 1) na descrição seguinte. Cada super-trama de 80-ms 1004 é pré-processada, e em seguida, dividida em dois sinais de sub-bandas, ou seja, um sinal LP 1005 e um sinal de HF 1006 por um pré-processador e uma bateria de filtros de análise 1001 utilizando uma técnica idêntica à codificação de voz de AMR-WB. Por exemplo, os sinais de LF e de HF 1005 e 1006 são definidos respectivamente nas bandas de frequência de 0-6400 Hz e 6400-11025 Hz.
Como foi divulgado na visão geral do codificador, o sinal de LF 1005 é codificado por codificação ACELP/TCX de multi-modo através de um módulo de codificação (ACELP/TCX) de LF 1002 para produzir informação de modo 1007 e parâmetros de LF quantizados 1008, enquanto o sinal 37 ΡΕ1719116 de HF é codificado através de um módulo de codificação de HF (extensão da largura de banda) 1003 para produzir parâmetros de HF quantizados 1009. Tal como ilustrado na Figura 1, os parâmetros de codificação calculados numa determinada super-trama de 80-ms, incluindo a informação de modo 1007 e os parâmetros de HF e de LF quantizados 1008 e 1009 são multiplexados dentro de, por exemplo, quatro (4) pacotes 1011 de igual tamanho através de um multiplexador 1010.
Na descrição seguinte os principais blocos do diagrama da Figura 1, incluindo o pré- processador e a bateria de filtros de análise 1001, o módulo de codificação de LF (ACELP/TCX) 1002 e o módulo de codificação de HF 1003 irão ser descritos com mais detalhe.
Pré- processador e bateria de filtros de análise 1001 A Figura 19 é um diagrama de blocos esquemático do pré-processador e bateria de filtros de análise 1001 da Figura 1. Referindo-nos à Figura 19, a super-trama de 80-ms de entrada 1004 está dividida em dois sinais de sub-banda, mais especificamente, o sinal de LF 1005 e o sinal de HF 1006 na saida do pré-processador e bateria de filtros de análise 1001 da Figura 1.
Referindo-nos ainda à Figura 19, um módulo de amostragem descendente de HF 19001 realiza a amostragem 38 ΡΕ1719116 descendente com filtragem adequada (ver, por exemplo AMR-WB) da super-trama de entrada de 80-ms para obter o sinal de HF 1006 (trama de 80-ms) e um módulo de amostragem descendente LF 19002 realiza amostragem descendente com filtragem adequada (ver, por exemplo AMR-WB) da super-trama de entrada de 80-ms para obter o sinal de LF (trama de 80-ms) , utilizando um método idêntico ao de decomposição de sub-banda AMR-WB. 0 sinal de HF 1006 forma o sinal de entrada do módulo de codificação de HF 1003 na Figura 1. O sinal de LF a partir do módulo de amostragem descendente de LF 19002 é adicionalmente pré-processado por dois filtros, antes de ser fornecido ao módulo de codificação de LF 1002 da Figura 1. Em primeiro lugar, o sinal de LF a partir do módulo 19002 é processado através de um filtro passa-alto 19003, tendo uma frequência de corte de 50 Hz para remover a componente DC e as componentes de muito baixa frequência. Então, o sinal de LF filtrado a partir do filtro passa-alto 19003 é processado através de um filtro de pós-correcção 19004 para acentuar os componentes de alta-frequência. Esta pós-correcção é típica em codificadores de voz de banda larga e, consequentemente, não será discutida na presente especificação. A saída do filtro de pós-correcção 19004 constitui o sinal de LF 1005 da Figura 1 fornecida ao módulo de codificação de LF 1002.
Codificação de LF
Um diagrama de blocos simplificado de um exemplo não limitativo do codificador de LF é mostrado na Figura 39 ΡΕ1719116 18. A Figura 18 mostra que dois modos de codificação, em particular mas não exclusivamente os modos ACELP e TCX estão em confronto dentro de cada super-trama de 80-ms. Mais especificamente, um selector comutador 18017 na sarda do codificador ACELP 18015 e codificador TCX 18016 permitem que cada trama de 20-ms dentro de uma super-trama de 80-ms seja codificada em qualquer dos modos ACELP ou TCX, ou seja, quer no modo TCX20, TCX40 ou TCX80. A selecção de modo é efectuada como explicado na visão geral do codificador acima.
Por conseguinte, a codificação de LF utiliza dois modos de codificação: um modo ACELP e um TCX aplicado a tramas de 20-ms. Para optimizar a qualidade de áudio, é permitido que o comprimento das tramas no modo de TCX seja variável. Como anteriormente explicado, o modo TCX opera quer em tramas de 20-ms, de 40-ms ou de 80-ms. A efectiva estrutura de tempo utilizada no codificador é ilustrada na Figura 2.
Na Figura 18, a análise LPC é realizada primeiramente na entrada do sinal de LF s (n) . O tipo de janela, a posição e o comprimento para a análise LPC são mostrados na Figura 3, onde as janelas são posicionadas em relação a um segmento de 80-ms do sinal de LF, mais uma dada antecipação. As janelas estão posicionados a cada 20-ms. Depois da gestão de janela, os coeficientes LPC são calculados a cada 20-ms, em seguida, transformados em representação de Pares Espectrais de Imitância (ISP) e 40 ΡΕ1719116 quantizados para transmissão para o descodificador. Os coeficientes ISP quantizados são interpolados a cada 5 ms para suavizar a evolução do invólucro espectral.
Mais especificamente, o módulo 18002 é respondente ao sinal de entrada de LF s (n) para realizar tanto a gestão de janela como a auto-correlação a cada 20-ms. Módulo de 18002 é seguido pelo módulo 18003 que executa atraso da gestão de janela e a correcção de ruido branco. 0 sinal de desfasamento na gestão de janela e do ruido branco corrigido é processado através do algoritmo Levinson-Durbin implementado no módulo 18004 . Um módulo 18005, executa em seguida a conversão ISP dos coeficientes de LPC. Os coeficientes ISP a partir do módulo 18005 são interpolados a cada 5 ms no domínio ISP pelo módulo 18006. Por fim, o módulo 18007 converte os coeficientes ISP interpolados a partir do módulo 18006 em coeficientes de filtro LPC interpolados A(z) a cada 5 ms.
Os parâmetros ISP a partir do módulo 18005 são transformados em parâmetros ISF (Frequências Espectrais de Imitância) no módulo 18008 previamente à quantização no domínio ISF (módulo 18009). Os parâmetros ISF quantizados a partir do módulo 18009 são fornecidos a um multiplexador ACELP/TCX 18021.
Também, os parâmetros de ISF quantizados a partir do módulo 18009 são convertidos em parâmetros ISP no módulo 18010, os parâmetros ISP obtidos são interpolados a cada 41 ΡΕ1719116 5ms no dominio ISP pelo módulo 18011, e os parâmetros ISP interpolados são convertidos para os parâmetros LPC quantizados Â(z) a cada 5 ms. 0 sinal de entrada de LF s (n) da Figura 18 é codificado, tanto no modo de ACELP por meio de codificador ACELP 18015 como no modo de TCX por meio de codificador TCX 18016 em todas as possíveis combinações de comprimento de trama, como se explicou na descrição anterior. No modo ACELP, apenas tramas de 20-ms são consideradas dentro de uma super-trama de 80-ms, enquanto que no modo TCX podem ser consideradas tramas de 20-ms, de 40-ms e de 80-ms. Todas as possíveis combinações de codificação ACELP/TCX da Tabela 2 são geradas pelos codificadores 18015 e 18016 e em seguida testadas por comparação do sinal sintetizado que corresponde ao sinal original no domínio ponderado. Como mostrado na Tabela 2, a selecção final pode ser uma mistura de tramas ACELP e TCX numa super-trama codificada de 80-ms.
Para esse propósito, o sinal de LF s(n) é processado através de um filtro de ponderação espectral sonora 18013 para gerar um sinal ponderado de LF. Da mesma maneira, o sinal sintetizado a partir quer do codificador ACELP 18015 ou do codificador TCX 18016, dependendo da posição do selector comutador 18017 é processado através de um filtro de ponderação espectral sonora 18018 para gerar um sinal sintetizado ponderado. Um diminuidor 18019 subtrai o sinal sintetizado ponderado a partir do sinal de LF ponderado para gerar um sinal de erro ponderado. Uma 42 ΡΕ1719116 unidade de cálculo de segmentação de SNR 18020 é sensível tanto para o sinal LP ponderado a partir do filtro 18013 como ao sinal de erro ponderado para gerar uma segmentação de Relação Sinal-Ruído (SNR). A segmentação de SNR é produzida a cada sub-trama de 5ms. O cálculo da segmentação de SNR é bem conhecido de vulgares especializados na tecnologia e, consequentemente, não irá ser adicionalmente descrito na presente especificação. A combinação de modos ACELP e/ou TCX a qual minimiza a segmentação de SNR sobre a super-trama de 80-ms é escolhida como a melhor combinação de modo de codificação. Mais uma vez, é feita referência à Tabela 2 que define as 26 combinações possíveis dos modos ACELP e/ou TCX numa super-trama de 80-ms.
Modo ACELP O modo ACELP utilizado é muito semelhante ao algoritmo ACELP a funcionar para 12,8 KHz no padrão de codificação de voz AMR-WB. As principais alterações comparadas com o algoritmo ACELP em AMR-WB são: □ A análise LP utiliza uma diferente gestão de janela, o que é ilustrado na Figura 3. □ Quantização dos ganhos da tabela de codificação é feito a cada sub-trama de 5-ms, tal como se explica na descrição seguinte. O modo ACELP funciona em sub-tramas de 5-ms, em que a 43 ΡΕ1719116 análise de passo e a pesquisa de tabela de codificação algébrica são realizadas em cada sub-trama.
Tabela de codificação de quantização de ganho no
modo ACELP
Numa determinada sub-trama ACELP de 5-ms os dois ganhos de tabela de codificação, incluindo o ganho de passo gp e o ganho de tabela de codificação fixado gc são quantizados em conjunto com base na quantização de ganho de 7-bits da AMR-WB. No entanto, a predicção de média móvel (MA) do ganho de tabela de codificação fixado gc, que é utilizado em AMR-WB, é substituida por uma referência absoluta que é codificada explicitamente. Assim, os ganhos da tabela de codificação são quantizados por uma forma de quantização de média-removida. Esta quantização sem memória (de não predicção) é bem justificada, porque o modo ACELP pode ser aplicado a sinais que não sejam de voz, por exemplo, transitórios num sinal musical, que requerem uma quantização mais geral do que a abordagem de predicção de AMR-WB. Cálculo e quantização da referência absoluta (em domínio logarítmico - log)
Um parâmetro, simbolizado por çener, é calculado em ciclo aberto e quantizado uma vez por trama com 2 bits. A presente trama de 20-ms residual de LPC r = (r0, rlf . . . , rL) , onde Lê o número de amostras na trama, é dividida 44 ΡΕ1719116 em quatro sub-tramas (4) de 5-ms, ς±=(γ±(0), . (Lsub- 1)), com i = 0, 1, ... , 3e Lsub é o número de amostras na sub-trama. 0 parâmetro pener, é simplesmente definido como a média das energias das sub-tramas (em dB) sobre a trama presente residual de LPC:
onde M = 14 —^-— é a energia da i-ésima sub-trama residual de LPC e e± (dB)=101ogio {ei}. Uma constante 1 é adicionada à energia de sub-trama corrente na equação acima, com o fim de evitar o cálculo subsequente do valor logarítmico de 0.
Um valor médio de parâmetro pener é então actualizado como se segue:
jBwCdi} := *wCdB> ~ S*#* + íQ onde pi (i = 1 ou 2) é a correlação normalizada calculada como um produto lateral da i-ésima análise de passo de ciclo aberto. Esta modificação de pener melhora a qualidade de áudio para segmentos de voz sonorizados. A média de pener (dB) é então, escalar quantizado 45 ΡΕ1719116 com 2 bits. Os níveis de quantização são definidos com uma etapa de 12 dB a 18, 30, 42 e 54 dB. O índice de quantização pode ser simplesmente calculado como:
Uap - - 1S>/13 feíti® ~ tLo€r(tmp -§· se (índice < 0) índice =0, se(índice > 3) índice =3
Aqui, a palavra "floor" significa tomar a parte inteira do número de ponto flutuante. Por exemplo "floor" (1,2)= 1, e "floor" (7,9)= 7. A média reconstruída (em dB) é portanto: ff1#»®?·'·' !(t — 3L8 Ί·
No entanto, o índice e a média reconstruída são depois actualizados para melhorar a qualidade de áudio para sinais transitórios, tais como ataques, como segue: max = max(ei(dB), e2(dB), e^ídB), e^(dB)) i f < msix· — 27£ e IsalUaf· < 3
Ssálí» = fadÉ»+l e +1
Quantização dos ganhos de tabela de codificação
Em AMR-WB, o passo e os ganhos de tabela de codificação fixada gp e gc são conjuntamente quantizados na 46 ΡΕ1719116 forma de (gp, gc * gc0) onde gc0 combina uma predicção MA para gc e uma normalização respeitante à energia do vector de código inovador.
Os dois ganhos gp e gc numa determinada sub-trama são conjuntamente quantizados com exactamente 7 bits tal como em codificação de voz AMR-WB, na forma de (gp, gc * gco) . A única diferença reside no cálculo do gco· 0 valor de gco é apenas baseado na energia média quantizada e calculado como se segue: onde enerc (dB) = 10*logl0 (0, 01+ (c (0) *2+. . . +c (Lsub-1) *2) /Lsub) onde c(0), ... , c(Lsub-l) são amostras do vector residual LP numa sub-trama de amostras de comprimento Lsub. 0 c(0) é a primeira amostra, c(l) é a segunda amostra, ... , e c (Lsub) é a última amostra residual LP numa subtrama.
Modo TCX
Nos modos TCX (codificador TCX 18016), uma sobreposição com a próxima trama é definida para reduzir artefactos de bloqueio devido à codificação de transformação do sinal alvo TCX. A gestão de janela e a sobreposição de sinal depende tanto do tipo de trama 47 ΡΕ1719116 presente (ACELP ou TCX) e tamanho, como do tipo de trama passado e tamanho. A gestão de janela será divulgada na próxima secção.
Um modelo de realização do codificador de TCX 18016 está ilustrado na Figura 5a. O procedimento de codificação de TCX será agora descrito e, em seguida, seguir-se-á a descrição àcerca da quantização recticular utilizada para quantizar o espectro. A codificação TCX de acordo com um modelo de realização processa-se da seguinte forma.
Em primeiro lugar, tal como ilustrado na figura 5a, o sinal de entrada (trama TCX) é filtrado através de um filtro de ponderação espectral sonora 5001 para gerar um sinal ponderado. Nos modos TCX, o filtro de ponderação espectral sonora 5001 utiliza coeficientes LPC quantizados Â(z), em vez dos coeficientes de LPC desquantizados A(z) utilizados no modo ACELP. Isto é porque, ao contrário do ACELP que utiliza análise por sintese, o descodificador de TCX tem de aplicar um filtro de ponderação inversa para recuperar o sinal de excitação. Se a trama codificada antecedente foi uma trama ACELP, então, a resposta de entrada zero (ZIR) do filtro de ponderação espectral sonora é removida a partir do sinal ponderado por meio de um adicionador 5014. Num modelo de realização, a ZIR é truncada para 10 ms e gerida em janela, de tal maneira que a sua amplitude diminui monotonicamente para zero depois de 48 ΡΕ1719116 10 ms (calculador 5100). Várias janelas no domínio do tempo podem ser utilizadas para esta operação. 0 cálculo actual da ZIR não é mostrado na Figura 5a uma vez que este sinal, também referido como o "filtro de zumbido" nos codificadores do tipo CELP, é bem conhecido de vulgares especializados na tecnologia. Uma vez que o sinal ponderado é calculado, o sinal é gerido em janela no gerador de janela adaptativo 5003, de acordo com uma selecção de janela descrito nas Figuras 4a-4c.
Depois da gestão de janela pelo gerador 5003, um módulo de transformação 5004 transforma o sinal de janela para o domínio de frequência utilizando a Transformada Rápida de Fourier (FFT).
Gestão de janela nos modos TCX - Módulo de gestão de janelas adaptivo 5003 A comutação de modo entre as tramas ACELP e as tramas TCX será agora descrita. Para minimizar artefactos de transição após a comutação de um modo para o outro, um cuidado apropriado tem de ser dado na gestão de janela e na sobreposição de tramas sucessivas. A gestão de janela adaptativa é realizada pelo Processador 6003. As Figuras 4a-4c mostram as formas de janela, dependendo do comprimento de trama TCX e do tipo da trama anterior (ACELP ou TCX).
Na Figura 4a, é considerado o caso em que a 49 ΡΕ1719116 presente trama é uma trama TCX20. Dependendo da trama anterior, a janela aplicada pode ser: 1) Se a trama anterior foi ACELP de 20-ms, a janela é uma concatenação de dois segmentos de janela: uma janela plana de 20-ms de duração seguida por parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 2,5-ms. 0 codificador, então necessita de uma antecipação de 2,5 ms da voz ponderada. 2) Se a trama anterior foi uma trama TCX20, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 2,5-ms, seguida, uma j anela plana de duração de 17,5-ms finalmente a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 2,5-ms. 0 codificador necessita novamente de uma antecipação de 2,5 ms da voz ponderada. 3) Se a trama anterior foi uma trama TCX40, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 5-ms, em seguida, uma janela plana com a duração de 15-ms, e finalmente, 50 ΡΕ1719116 a parte da metade direita da raiz quadrada de uma janela de Hanning (ou parte da metade direita de uma janela de seno) com a duração de 2,5-ms. O codificador necessita novamente de uma antecipação de 2,5 ms da voz ponderada. 4) Se a trama anterior foi uma trama TCX80, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 10-ms, em
seguida, uma janela plana com a duração de 10-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 2,5-ms. O codificador necessita novamente de uma antecipação de 2,5 ms da voz ponderada.
Na Figura 4b, é considerado o caso em que a presente trama é uma trama TCX40. Dependendo da trama anterior, a janela aplicada pode ser: 1) Se a trama anterior foi uma trama ACELP de 20-ms, a janela é uma concatenação de dois segmentos de janela: a janela plana com a duração de 40-ms, seguida pela parte da metade-direita da raiz quadrada de uma janela de Hanning (ou a parte da metade-direita de uma janela de seno) com a duração de 5-ms. O codificador, necessita então de uma antecipação de 5 ms da voz 51 ΡΕ1719116 ponderada. 2) Se a trama anterior foi uma trama TCX20, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 2,5-ms, em seguida, uma janela plana com a duração de 37,5-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 5-ms. 0 codificador necessita novamente de uma antecipação de 5 ms da voz ponderada. 3) Se a trama anterior foi uma trama TCX40, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 5-ms, em seguida, uma janela plana com a duração de 35-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 5-ms. 0 codificador necessita novamente de uma antecipação de 5 ms da voz ponderada. 4) Se a trama anterior foi uma trama TCX80, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de 52 ΡΕ1719116 uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 10-ms, em seguida, uma janela plana com a duração de 30-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 5-ms. 0 codificador necessita novamente de uma antecipação de 5 ms da voz ponderada.
Finalmente, na Figura 4c, é considerado o caso em que a presente trama é uma trama TCX80. Dependendo da trama anterior, a janela aplicada pode ser: 1) Se a trama anterior foi uma trama ACELP de 20-ms, a janela é uma concatenação de dois segmentos de janela: a janela plana com a duração de 80-ms, seguida pela parte da metade-direita da raiz quadrada de uma janela de Hanning (ou a parte da metade-direita de uma janela de seno) com a duração de 5-ms. 0 codificador, necessita então de uma antecipação de 10 ms da voz ponderada. 2) Se a trama anterior foi uma trama TCX20, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 2,5-ms, em seguida, uma janela plana com a duração de 77,5-ms, e finalmente, a parte da metade direita da raiz quadrada 53 ΡΕ1719116 de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 10-ms. 0 codificador necessita novamente de uma antecipação de 10 ms da voz ponderada. 3) Se a trama anterior foi uma trama TCX40, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 5-ms, em seguida, uma janela plana com a duração de 75-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 10-ms. O codificador necessita novamente de uma antecipação de 10 ms da voz ponderada. 4) Se a trama anterior foi uma trama TCX80, a janela é uma concatenação de três segmentos de janela: em primeiro lugar, a metade esquerda da raiz quadrada de uma janela de Hanning (ou parte da metade esquerda de uma janela de seno) com a duração de 10-ms, em seguida, uma janela plana com a duração de 70-ms, e finalmente, a parte da metade direita da raiz quadrada de uma janela de Hanning (ou a parte da metade direita de uma janela de seno) com a duração de 10-ms. O codificador necessita novamente de uma antecipação de 10 ms da voz ponderada. 54 ΡΕ1719116
Note-se que todos estes tipos de janela são aplicados ao sinal ponderado, apenas quando a presente trama é uma trama de TCX. As tramas de tipo ACELP são substancialmente codificadas de acordo com a codificação AMR-WB, ou seja, por meio de codificação de análise por sintese do sinal de excitação, de modo a minimizar o erro no sinal alvo, em que o sinal alvo é, essencialmente, o sinal ponderado para o qual é removida a resposta de entrada zero do filtro de ponderação. É também de notar que, após a codificação de uma trama de TCX que é precedida por uma outra trama de TCX, o sinal de gestão de janela é quantizado directamente por meio das janelas acima descritas num dominio de transformação, tal como a seguir será aqui descrito. Em seguida, depois de quantização e transformação inversa, o sinal ponderado sintetizado é recombinado utilizando-se a sobreposição e soma, no inicio da trama com a antecipação memorizada da trama precedente.
Por outro lado, quando se codifica uma trama TCX precedida por uma trama ACELP, a resposta de entrada zero do filtro de ponderação, na realidade, uma versão truncada da gestão de janela da resposta de entrada zero, é em primeiro lugar removida a partir do sinal ponderado da gestão de janela. Desde que a resposta de entrada zero seja uma boa aproximação das primeiras amostras da trama, 0 efeito resultante é aquele em que o sinal da gestão de j anela tenderá para zero, tanto no inicio da trama (por causa da subtração da resposta de entrada zero ) como na extremidade de fim da trama (em virtude da metade da janela 55 ΡΕ1719116 de Hanning aplicada à antecipação, como descrito e mostrado acima nas figuras 4a-4c). Claro que, a resposta de entrada zero truncada e de gestão de janela é para trás adicionada ao sinal ponderado quantizado depois de transformação inversa.
Assim, um compromisso adequado é conseguido entre uma janela óptima (por exemplo, a janela de Hanning) prévia à transformação utilizada em tramas TCX, e a janela rectangular implicita que tem de ser aplicada ao sinal alvo, quando na codificação no modo ACELP. Isto assegura uma comutação suave entre tramas ACELP e TCX, enquanto permitindo gestão de janela adequada em ambos os modos.
Mapeamento tempo - frequência - Transforme Módulo de Transformação 5004
Depois da gestão de janela conforme acima descrito, .é aplicada uma transformação ao sinal ponderado no módulo de transformação 5004. No exemplo da Figura 5a, é utilizada uma Transformada Rápida de Fourier (FFT).
Tal como ilustrado nas figuras 4a-4c, o modo TCX utiliza a sobreposição entre tramas sucessivas para reduzir os artefactos de bloqueio. 0 comprimento da sobreposição depende do comprimento dos modos TCX: ele é definido, respectivamente, a 2,5, 5 e 10 ms, quando o modo de TCX trabalha respectivamente com uma trama de comprimento de 20, 40 e 80 ms, (isto é, o comprimento da sobreposição é 56 ΡΕ1719116 definido para 1/8<011:&ν°> do comprimento de trama). Esta escolha de sobreposição simplifica a base de numeração no cálculo rápido da DFT pela FFT. Como consequência, o tempo efectivo de suporte dos modos TCX20, TCX40 e TCX80 é respectivamente de 22,5, 45 e 90 ms, como mostrado na Figura 2. Com uma frequência de amostragem de 12800 amostras por segundo (no sinal de LF produzido pelo pré-processador e bateria de filtros de análise 1001 da Figura 1), e com trama+durações de antecipação de 22,5, 45 e 90 ms, o suporte de tempo da FFT torna-se respectivamente de 288, 576 e 1152 amostras. Estes comprimentos podem ser expressos como 9 vezes 32, 9 vezes 64 e 9 vezes 128.
Consequentemente, pode então ser utilizado um sistema especializado de FFT de base de numeração-9 para calcular rapidamente o espectro de Fourier.
Pré-formação (ênfase em baixa frequência) Módulo de pré-formação 5005.
Uma vez que o espectro de Fourier (FFT) seja calculado, é aplicado um ênfase em baixa frequência adaptável ao espectro do sinal pelo módulo de pré-formação 5005 para minimizar a distorção percebida nas frequências mais baixas. Um ênfase em baixa frequência inversa será aplicado no descodificador, bem como no codificador por meio de um módulo de formação de espectro 5007 para produzir o sinal de excitação utilizado para codificar as tramas seguintes. 0 ênfase em baixa frequência adaptativa é aplicado apenas ao primeiro quartel do espectro, como se 57 ΡΕ1719116 segue .
Em primeiro lugar, chamemos X ao sinal transformado na saida do módulo de transformação de FFT 5004. O coeficiente de Fourier na frequência de Nyquist é sistematicamente definido como 0. Em seguida, se N é o número de amostras na FFT (N corresponde então ao comprimento da j anela), os coeficientes de Fourier dde valor complexo K=N/2 são agrupados em blocos de quatro (4) coeficientes consecutivos, formando blocos de valor real de dimensão 8. Apenas uma palavra para mencionar que comprimentos de bloco de diferentes dimensões a partir de 8 podem em geral ser utilizados. Num modelo de realização, é escolhido um bloco de dimensão 8 de modo a coincidir com o quantizador recticular de dimensão 8 utilizado para a quantização espectral. Referindo-nos à Figura 20, a energia de cada bloco é calculada até ao primeiro quartel do espectro, e são armazenadas a energia Emax e o índice de posição i do bloco com a máxima energia (calculador 20001). Em seguida, é calculado um factor Rm para cada bloco de dimensão 8 com posição de índice m mais pequeno do que i (calculador 20002) como se segue: □ calcular a energia Em do bloco de dimensão 8 na posição de índice m (módulo 20003); □ calcular a razão Rm = Emax/Em (módulo 20004) ; □ se -Rffl>10 então definir Rm = 10 (módulo 20005) ; □ também, se Rm>Rim-p então Rm=R(m-i) (módulo 20006) ; □ calcular o valor (Rm)1/4 (módulo 20007) . 58 ΡΕ1719116 A última condição (se -Rjn>R(m-i) então Rm=R(m-li,) , assegura a função de razão Rm diminui monotonicamente. Para além disso, a limitação da razão Rm para que seja menor ou igual a 10 significa que nenhum dos componentes espectrais na função ênfase em baixas frequências será modificado por mais do que 20 dB.
Depois de calcular a razão (Rm) 1/4= (Emax/Em)1/4 para todos os blocos com indice de posição menor que i (e com as condições limitativas acima descritas), estas razões são aplicadas como um ganho para os coeficientes de transformada de cada correspondente bloco (calculador 20008). Isto tem o efeito de aumentar a energia dos blocos com uma energia relativamente baixa, comparada com a do bloco com a máxima de energia Emax. Aplicando este procedimento previamente à quantização tem o efeito de formação do ruido de codificação na banda mais baixa. A Figura 5b mostra um exemplo do espectro para o qual é aplicada a pré-formação acima divulgada. 0 eixo de frequência é normalizado entre 0 e 1, em que 1 é a frequência de Nyquist. 0 espectro de amplitude é mostrado em dB. Na Figura 5b, a linha a negrito representa o espectro de amplitude antes da pré-formação, e a parte da linha que não em negrito é o espectro modificado (pré-formado). Assim, apenas o espectro correspondente à linha que não em negrito é modificado neste exemplo. Na figura 5c, é mostrado o ganho actual aplicado a cada componente espectral pela função de pré-formação. Pode ser visto a 59 ΡΕ1719116 partir da Figura 5c que o ganho é limitado a 10, e diminui monotonicamente para 1 quando atinge o componente espectral com energia mais elevada (aqui, a terceira harmónica do espectro) para a frequência normalizada em cerca de 0,18.
Divisão de quantização vectorial recticular multi-taxa - Módulo 5006
Após a ênfase em baixa frequência, os coeficientes espectrais são quantizados utilizando, num modelo de realização, um módulo de quantização algébrica 5006 com base em códigos recticulares. As recticulas utilizadas são recticulas de Gosset de dimensão 8, o que explica a divisão dos coeficientes espectrais em blocos de dimensão 8. Os índices de quantização são essencialmente um ganho global e uma série de índices que descrevem os pontos de rectícula utilizados para quantizar cada sub-vector de dimensão 8 no espectro. O módulo de quantização recticular 5006 executa, de uma maneira estruturada, uma pesquisa do vizinho mais próximo entre cada vector de dimensão 8 do espectro pré-formado escalonado a partir do módulo 5005 e os pontos de uma tabela de codificação recticulada utilizada para a quantização. O factor de escala (ganho global) determina efectivamente a alocação de bits e a distorção média. Quanto mais amplo for o ganho global, mais bits são utilizados e mais baixa é a distorção média. Para cada vector de dimensão 8 dos coeficientes espectrais, o módulo de quantização recticular 5006 coloca na saída um índice que indica o número da tabela de codificação 60 ΡΕ1719116 recticular utilizado e o ponto recticular efectivo escolhido na correspondente tabela de codificação recticular. O descodificador será então capaz de reconstruir o espectro quantizado utilizando o indice do ganho global, juntamente com os indices que descrevem cada vector de dimensão 8. Os detalhes deste procedimento serão divulgados abaixo.
Uma vez que o espectro é quantizado, o ganho global, a partir da sarda módulo 5009 de quantização e de cálculo do ganho, e os indices de vectores de recticula a partir da sarda do módulo de quantização 5006 podem ser transmitidos para o descodificador através de um multiplexador (não mostrado).
Otimização do ganho global e cálculo do factor de preenchimento de ruído
Uma etapa não-trivial na utilização de quantizadores vector recticulares é determinar a alocação de bits apropriada dentro de um dimensionamento de bits pré-determinado. Contrariamente às tabelas de codificação armazenadas, onde o indice de uma tabela de codificação é basicamente a sua posição numa tabela, o indice de uma tabela de codificação recticular é calculada utilizando as fórmulas matemáticas (algébricas). O número de bits para codificar o indice do vector da recticula é por conseguinte conhecido apenas depois que o vector de entrada seja quantizado. Em principio, para ficar dentro de um 61 ΡΕ1719116 dimensionamento de bits pré-determinado, são executadas vários tentativas de ganhos globais e quantização com cada diferente ganho do espectro normalizado, para calcular o número total de bits. 0 ganho global, que atinge a alocação de bits para o mais próximo do dimensionamento de bits pré-determinado, sem contudo exceder isto, será escolhido como o ganho óptimo. Num modelo de realização, em vez disto, é utilizada uma abordagem heurística, para evitar a necessidade de quantizar várias vezes o espectro antes da obtenção da quantização óptima e a alocação de bits.
Por uma questão de clareza, os símbolos chave relacionados com a descrição que se segue estão reunidos na Tabela A-l.
Com referência a partir da Figura 5a, o sinal ponderado de TCX x, no domínio do tempo, é processado por uma transformada T e uma pré-formação P, que produz um espectro de X a ser quantizado. A transformada T pode ser uma FFT e a pré-formação pode corresponder à ênfase em baixa frequência adaptativa acima descrita.
Será feita referência ao vector X como espectro pré-formado. Assume-se que este vector tem a forma X = [xo xi ... xN_i]T, onde N é o número de coeficientes de transformação obtidos a partir da transformada T (a pré-formação P não altera este número de coeficientes).
Visão geral do procedimento de quantização para o 62 ΡΕ1719116 espectro pré-formado
Num modelo de realização, o espectro pré-formado X é quantizado tal como descrito na Figura 6. A quantização é baseada no dispositivo de [Ragot, 2002], assumindo um dimensionamento de bit disponível de Rx bits de codificação para X. Como mostrado na Figura 6, X é quantizado pelo ganho em forma de divisão de quantização do vector em três etapas principais: o Um ganho global estimado g, chamado daqui em diante de ganho global, é calculado por um módulo de estimação de divisão de energia 6001 e um módulo de ganho global e de estimação do nível de ruído 6002, e um divisor 6003 normaliza o espectro X por este ganho global g para se obter X'= X/g, em que X' é o espectro pré-formado normalizado. o A quantização vectorial recticular de de multi-taxa de [Ragot, 2002], é aplicada por um módulo de codificação RE8 multi-taxa de divisão auto-escalonável 6004 para todos os blocos de dimensão 8 de coeficientes que constituem o espectro X', e os parâmetros resultantes são multiplexados. Para ser capaz de aplicar este esquema de quantização, o espectro X' é dividido em K sub-vectores de tamanho idêntico, de modo que X = [Χ'οτ X'iT ··· Χ'κ-ιτ]τ, em que o if3^0 sub-vector (ou de divisão) 63 ΡΕ1719116 é dado por X' k = [Xr8k ··· X,8k+K-l]/ k = 0, 1, . . . , K-1. Uma vez que o dispositivo de [Ragot, 2002] implementa efectivamente uma forma de quantização vectorial de dimensão 8, K é simplesmente definido como 8. Assume-se que N é um múltiplo de K. o Um ganho de preenchimento de ruido fac é calculado no módulo 6002 para depois injectar ruido de conforto em divisões não quantizadas do espectro X' . As divisões não quantizadas são blocos de coeficientes que foram estabelecidos como zero pela quantizador. A injecção de ruido permite mascarar artefactos a baixas taxas de bits e melhora a qualidade de áudio. Um único ganho fac é utilizado porque a codificação TCX assume que o ruido de codificação é liso no dominio do alvo e formado pelo filtro do espectro sonoro inverso Wfz)-1. Embora a pré-formação seja aqui utilizada, a quantização e a injecção de ruido baseia-se no mesmo principio.
Em consequência, a quantização do espectro X mostrado na Figura 6, produz três tipos de parâmetros: o ganho global g, os parâmetros VQ algébricos (divisão) e o ganho de preenchimento de ruido fac. A alocação de bit, ou dimensionamento de bit Rx é decomposto como: 64 ΡΕ1719116
Rx ~ Rg+R+Rfacr onde Rg, R e Rfac são o número de bits (ou dimensionamento de bits) atribuídos respectivamente ao ganho g, aos parâmetros VQ algébricos, e ao ganho fac. Neste modelo de realização ilustrativo, Rfac = 0. A quantização vectorial recticular multi-taxa de [Ragot, 2002] é auto-escalonável e não permite controlar directamente a alocação de bits e a distorção em cada divisão. Esta é a razão pela qual o dispositivo de [Ragot, 2002], é aplicado às divisões do espectro X' em vez de X. A optimização do ganho global g, controla por conseguinte a qualidade do modo TCX. Num modelo de realização, a optimização do ganho g é baseada em log-energia (energia logarítmica) das divisões.
Na descrição seguinte, cada bloco da Figura 6, é descrito um por um. Módulo de estimação de divisão de energia 6001 se torna xk A energia (isto é norma quadrado) dos vectores de divisão é utilizada no algoritmo de alocação de bits, e é empregada para determinar o ganho global, bem como o nível de ruído. Apenas uma palavra para relembrar que o vector de entrada de dimensão N X = [xo xi ... xw-i]T é repartido em K divisões, sub-vectores de dimensão 8, de tal modo que a divisão lés^& se torna xk = [Xsk Xsk+i··· Xsk+ 7] t para k = 0, 65 ΡΕ1719116
1, ... , Κ-1. Assume-se que N é um múltiplo de oito. A energia do vector de divisão ifsimo é calculada como ek = XjtTXjc = X8jt2+ · · · +x%k+72r k=0, 1, . . .K-l Módulo de ganho global e de estimação do nível de ruído 6002 0 ganho global g controla directamente o consumo de bits das divisões e é resolvido a partir de R(g) « R, em que R(g) é o número de bits utilizados (ou consumo de bits) por todo a VQ algébrica dividida para um determinado valor de g. Como indicado na descrição anterior, Ré o dimensionamento de bits alocados à VQ algébrica dividida. Como consequência, o ganho g global é optimizado de modo a coincidir com o consumo de bits e o dimensionamento de bits da VQ algébrica. 0 principio subjacente é conhecido na literatura como preenchimento de retorno.
Para reduzir a complexidade de quantização, não é calculado o consumo de bits efectivo para cada divisão, mas estima-se apenas a partir da energia das divisões. Esta informação de energia em conjunto com um conhecimento a priori da quantização vectorial RE8 de multi-taxa permite estimar R(g) como uma função simples de g. 0 ganho global g é determinado pela aplicação deste principio básico no módulo de ganho global e de estimação do nivel de ruido 6002. O consumo de bits estimativa da divisão Xk é uma função do ganho global g, e 66 ΡΕ1719116 é indicado como Rk (g) . Com ganho unitário g = 1 as heurísticas dão:
Rk( 1) = 51og2 (ε + ek)/2, k = 0,1,...,K-1 como uma estimativa do consumo de bits. A constante ε> 0 evita o cálculo de log2 0 e, por exemplo, é utilizado o valor ε = 2. Em geral, a constante ε é desprezível em comparação com a energia ek da divisão. A fórmula de Rk( 1) é baseada num conhecimento a priori do quantizador de multi-taxa de [Ragot, 2002], e nas propriedades da rectícula REs subjacente: o A necessidade de dimensionamento de bit para codificar a jfsima divisão na maioria dos 5nk bits, para o número de tabela de codificação nk > 1, como pode ser confirmado a partir da Tabela 1. Isto dá um factor 5 na fórmula quando log2 (ε + ek)/2 é como que uma estimativa do número da tabela de codificação. o O logaritmo log2 reflecte a propriedade de que a norma quadrado média dos vectores de código é aproximadamente o dobro quando se utiliza Q„k em vez de Qnk+i · A propriedade pode ser observada a partir da Tabela 4. o O factor 1/2 aplicado a ε + ek calibra a estimação do número de tabela de codificação para a tabela de 67 ΡΕ1719116 codificação Q2- A norma quadrado média dos pontos de recticula, nesta tabela de codificação particular é conhecida por ser à volta de 8,0 (ver Tabela 4). Uma vez que log2 (ε + ek)/2 ~ log2 (2 + 8,0))/2 * 2, a estimação do número de tabela de codificação é na verdade correcto para Q2.
Tabela 4
Algumas estatísticas nas normas quadrado dos pontos de recticula em diferentes tabelas de codificação N Norma Média 0 0 2 8,5 3 ....... 20, 09......... 4 42, 23 5 93,85 6 182,49 7 .......3 &2 , 74.....
Quando um ganho global g é aplicado a uma divisão, a energia de Xk/g, é obtida pela divisão de ek por g2. Isto implica que o consumo de bits da divisão de ganho escalonado pode ser estimado com base em Rk( 1) subtraindo 51og2 g2 = 101og2 g a partir dele:
Rk(g) = 51og2 (ε + ek)/2g2 = 51og2 (ε + e*) /2 + 51og2 g2 = Rk( 1)- gl0g (4) em que giog 101og2 g. A estimativa Rk(g) é mais baixa 68 ΡΕ1719116 delimitada a zero, pelo que a relação
Rk(g) = max{ Rk( 1) - glog, 0 } (5) é utilizada na prática. 0 consumo de bits para codificação de todos as divisões K é agora simplesmente uma soma sobre as divisões individuais, R(g) = R0(g) + Ri(g) + ... + Rk-i(g) (6) A não linearidade da equação (6) impede a resolução analiticamente o ganho global g que produz o consumo de bits correspondente a determinado dimesionamento de bits, R(g) = R. No entanto, a solução pode ser encontrada com um simples algoritmo iteractivo porque R(g) é uma função monotónica de g.
Num modelo de realização, o ganho global g é pesquisado de modo eficiente mediante a aplicação de uma pesquisa de bissecção para giog = 101og2 g, com inicio a partir do valor giog = 128. Em cada iteração iter, R(g) é avaliada utilizando as equações (4), (5) e (6), e giog é, respectivamente ajustado como giog = giog ± 128/2Iter. Dez iteracções dão uma precisão suficiente. 0 ganho global pode então ser resolvido a partir de giog como g = 2glog/1°. 0 diagrama de fluxo da Figura 7 descreve o 69 ΡΕ1719116 algoritmo de bissecção empregue para a determinação do ganho global g. 0 algoritmo proporciona também o nível de ruído como um produto lateral. 0 algoritmo inicia-se, ajustando o dimensionamento de bits R na operação 7001 para o valor 0,95(R-K) . Este ajustamento foi determinado experimentalmente, com o fim de evitar uma sobre-estimação do ganho global óptimo g. O algoritmo de bissecção requer, como seu valor inicial, o consumo de bits estimado R^(l) para k = 0, 1, ..., K-l, assumindo um ganho global unitário. Estas estimativas são calculadas empregando a equação (4) na operação 7002 tendo primeiro obtido o quadrado das normas das divisões ek. O algoritmo inicia-se a partir dos valores iniciais iter = 0, gkoq = 0, e fac = 128/2lter = 128 estabelecido na operação 7004.
Se iter<10 (operação 7004), cada iteracção no algoritmo de bissecção compreende um incremento de giog = giog + fac na operação 7005, e a avaliação da estimativa de consumo de bit R(g) nas operações 7006 e 7007 com o novo valor do giog· Se a estimativa R(g) excede o dimensionamento de bit R na operação 7008, giog é actualizado na operação 7009. A iteracção termina pelo incremento do contador iter e tendo o tamanho da etapa fac na operação 7010. Após dez iteracções, é obtida uma precisão suficiente para giog e o ganho global pode ser resolvido g = 2glog/10 na operação 7011. O nivel de ruido gns é estimado na operação 7012 pela média das estimativas de consumo de bits daquelas divisãoes que são provavelmente para serem deixadas sem quantização com o ganho global determinado giog. 70 ΡΕ1719116 A figura 8 mostra as operações envolvidas na determinação do nivel de ruido fac. O nivel de ruido é calculado como a raiz quadrada da energia média das divisões que são provavelmente para serem deixadas sem quantização. Para um determinado ganho global giog, uma divisão é provável de ser não quantizada se o seu consumo de bit estimadoo de é menor do que 5 bits, isto é, se Rk{ 1) giog <5. O consumo total de bits de todas as tais divisões, Rns(g) r é obtido por meio do cálculo de Rk(l) ~ giog sobre as divisões para as quais Rk( 1) - giog <5. A energia média dessas divisões pode então ser calculada em dominio log a partir de Rns(g) como Rns(g)/nb, em que nb é o número dessas divisões. O nivel de ruido é
Nesta equação, a constante -5 no expoente é um factor de afinação que ajusta o factor de ruido de 3 dB (em energia) abaixo da estimação real baseada na energia média. Módulo de Quantização Vector Recticular de Multi-
Taxa 5004 O módulo de quantização 6004 respeita aos meios de quantização multi-taxa divulgados e explicados em [Ragot, 2002]. As divisões de dimensão 8 do espectro normalizado X' são codificadas utilizando quantização multi-taxa que emprega um conjunto de tabelas de codificação REe indicados como {Qo, Qi, Qs, ...}. A tabela 71 ΡΕ1719116 de codificação Q1 não está definida no conjunto de modo a melhorar a eficiência de codificação. A n-ésima tabela de codificação é indicada por Qn onde n é referido como um número da tabela de codificação. Todas as tabelas de codificação Qn são construidas como sub-conjuntos da mesma recticula RE8 de dimensão 8, Qn c: REq. A taxa de bit da n-ésima tabela de codificação definida como bits por dimensão, é 4n/8, ou seja, cada tabela de codificação Qn contém 24n vectores de código. 0 quantizador multi-taxa é construido de acordo com os ensinamentos de [Ragot, 2002].
Para a k-ésima divisão X'k de dimensão 8, o módulo de codificação 6004 encontra o vizinho mais próximo Yk na recticular REg e faz sair: o o número mais pequeno nk da tabela de codificação de tal modo que Yk E Qnk; e o o indice ik de Yk em Qnk. 0 número da tabela de codificação nk é uma informação lateral que tem de ser colocado à disposição do descodificador em conjunto com o índice ik para reconstruir o vector de código Yk. Por exemplo, o tamanho do índice ik é 4nk bits para nk > 1. Este índice pode ser representado com blocos de 4 bits.
Para nk = 0, a reconstrução yk torna-se num vector zero de dimensão 8 e ik não é necessário. 72 ΡΕ1719116 Módulo de Tratamento de Sobrecarga do fluxo de Dimensionamento de Bits e Indexação de Divisões 6005
Para um determinado ganho global g, o consumo bit efectivo pode ou exceder ou permanecer ao abrigo do dimensionamento de bits. Uma possivel subcarga de fluxo do dimensionamento de bits não é abordada por qualquer meio especifico, mas os bits extras disponíveis são levados a zero e deixados sem utilização. Quando ocorre um sobrecarga de fluxo de dimensionamento de bits, o consumo de bits é acomodado, no dimensionamento bits Rx no módulo 6005, pelo levar a zeros de alguns dos números n0, nlr ..., nK-i da tabela de codificação. 0 levar a zeros um número da tabela de codificação nk > 0 reduz o consumo de bits total, pelo menos de 5nk-i bits. As divisões levadas a zero no tratamento da sobrecarga do fluxo de dimensionamento de bits são reconstruídas no descodificador pelo ruído de preenchimento.
Com o fim de minimizar a distorção de codificação, que ocorre quando os números da tabela de codificação de algumas divisões são forçadas a zero, estas divisões deverão ser seleccionadas de forma prudente. Num modeloo de realização, o consumo de bits é acumulado pelo tratamento das divisões uma por uma numa ordem descendente de energia ek = XkTXk para k = 0, 1, . .., K-l. Este procedimento é dependente do sinal e de acordo com os meios utilizados anteriormente na determinação do ganho global. 73 ΡΕ1719116
Antes de analisar os detalhes do tratamento de excesso no módulo 6005, será resumida a estrutura do código utilizado para a representação da saida dos Quantizadores múlti-taxa. 0 código monádico nk > 0 compreende k - 1 uns, seguidos por um bit de paragem zero. Tal como foi mostrado na Tabela 1, são necessários 5nk - 1 bits para codificar o índice de ik e o número nk da tabela de codificação excluindo o bit de paragem. 0 número da tabela de codificação nk = 0 apenas compreende um bit de paragem que indica divisão de zero. Quando K divisões estão codificadas, apenas são necessários K - 1 bits de paragem, tal como no último é implicitamente determinado pelo bit R de dimensionamento e portanto, redundante. Mais especificamente, quando as últimas k divisões são zero, apenas são suficientes k - 1 bits de paragem, porque as últimas divisões zero podem ser descodificadas pelo conhecimento do bit R de dimensionamento. O funcionamento do módulo 6005 de tratamento da sobrecarga de fluxo de bit de dimensionamento da Figura 6 está representado no fluxograma da Figura 9. Este módulo 6005 funciona com índices de divisão k( 0) , k (1),..., k (K-l) , determinados no funcionamento em 9001, ordenando o quadrado de normas das divisões numa ordem descendente de tal modo que ek(0) ú ek(u h ... > ek(K-i) . Assim, o índice k(K) refere-se à divisão xA(k), que tem a K-ésima maior quadrado de norma. As normas quadrado das divisões são fornecidos, para o tratamento de sobrecarga de fluxo, como uma saída do funcionamento de 9001. 74 ΡΕ1719116 A K-ésima iteracção de tratamento de sobrecarga de fluxo pode ser facilmente ignorada quando nk(K)=0, pela passagem directa para a próxima iteracção, porque as divisões a zero não podem causar qualquer sobrecarga de fluxo. Esta funcionalidade é implementada com a operação lógica 9005. Se k<K (operação 9003) e assumindo que a k (K)-ésima divisão é uma divisão que não é zero, o ponto yk(K> de REg é em primeiro lugar indexado na operação 9004. A indexação multi-taxa proporciona o valor exacto do número da tabela de codificação nk(K)r e indice de vector de código ik(K) · 0 consumo de bits de todas as divisões até e incluindo a K(k)-ésima divisão actual, pode ser calculado.
Utilizando as propriedades do código monádico, o consumo de bits Rk até e incluindo a actual divisão é contado na operação do bloco 9008 como uma soma de dois termos: os bits necessários RD/ k para os dados com exclusão dos bits de paragem e o bit de paragem Rs, k:
Rk = Rd, k + Rs, k (7)
Onde para nk(K) > 0
Rd, k = Rd, k-i + 5nk(K)~i (8)
Rs, k = max{K(k) , Rs, k-i) (9)
Os valores iniciais necessários são fixados em zero na operação 9002. Os bits de paragem são contados na operação 75 ΡΕ1719116 9007 a partir da Equação (9), tendo em conta que apenas divisões até à última divisão não-zero até ao momento são indicadas com bits de paragem, porque pela construção do código, as subsequentes divisões são conhecidas como sendo zero. 0 indice da última divisão não-zero, também pode ser expressa como max{ií(0), K(k), ...,K(k)}.
Uma vez que o tratamento de sobrecarga de fluxo começa a partir de valores iniciais zero para RD/ k e Rs, k nas equações (8) e (9), o consumo de bits até à actual divisão actual enquadra-se sempre no dimensionamento de bits, Rs, k-i + Rd, k-i < R. Se o consumo de bits Rk, incluindo a K(k)-ésima divisão actual excede o dimensionamento de bits R, tal como verificado na operação lógica 9008, o número da tabela de codificação nk(K) e a reconstrução y'k(K) são levados a zero no bloco 9009. Os contadores de consumo bits RD/ k, e RD/ k, são por conseguinte, actualizados e redefinidos aos seus valores anteriores no bloco 9010. Depois disto, o tratamento de sobrecarga de fluxo pode avançar para a próxima iteracção, pelo incremento de k com 1 na operação 9011 e retornando à operação lógica 9003.
Note-se que a operação 9004 produz a indexação das divisões como uma parte integrante rotinas de tratamento da sobrecarga de fluxo. A indexação pode ser armazenada e posteriormente fornecida ao multiplexador de fluxo de bits 6007 da Figura 6. Módulo de formação de espectro quantizado 5007 76 ΡΕ1719116
Uma vez que o espectro seja quantizado utilizando a VQ recticular de multi-taxa de divisão do módulo de 5006, os índices de quantização (números da tabela de codificação e os índices de ponto de rectícula) podem ser calculados e enviados para um canal através de um multiplexador (não mostrado). A pesquisa no vizinho mais próximo na rectícula, e o cálculo de índice, são realizados como em [Ragot, 2002]. 0 codificador TCX executa então a formação de espectro no módulo 5007, de um tal modo como que para inverter a pré-formação do módulo de 5005. A formação de espectro funciona utilizando apenas o espectro quantizado. Para obter um processo que inverta o funcionamento do módulo 5005, o módulo 5007 aplica as seguintes etapas: □ calcular a posição i e energia Emax do bloco de dimensão 8 de maior energia no primeiro quartel (baixas frequências) do espectro; □ calcular a energia Em do bloco de dimensão 8 na posição de índice m; □ calcular a razão Rm = Emax/Em; □ se Rm > 10, então defina Rm = 10; □ também, se Rm > R(m-υ , então, Rm = R(m-i); 77 ΡΕ1719116 □ calcular o valor (Rm)1/2.
Depois de calcular a razão Rm = Emax/Em para todos os blocos com Índice de posição mais pequeno que i, um inverso multiplicativo desta razão é então aplicado como um ganho para cada bloco correspondente. As diferenças com a pré-formação do módulo 5005 são: (a) no módulo de formação 5007, é calculada a raiz quadrada (e não a potência de 1/4) da razão Rmr e (b) esta razão é tomada como um divisor (e não um multiplicador)do correspondente bloco de dimensão 8. Se o efeito de quantização no módulo 5006 é negligenciado (quantização perfeita), pode ser mostrado que a sarda do módulo 5007 é exactamente igual à entrada do módulo 5005. 0 processo de pré-formação é assim um processo invertivel.
Codificação de HF
0 funcionamento do módulo de codificação de HF 1003 da Figura 1 está ilustrado na Figura 10a. Como indicado na descrição anterior, com referência à Figura 1, o sinal de HF é composto pelas componentes de frequência do sinal de entrada maior do que 6.400 Hz. A largura de banda deste sinal de HF depende da taxa de amostragem do sinal de entrada. Para codificar o sinal de HF, a uma taxa baixa, é empregue num modelo de realização, um esquema de extensão de largura de banda (BWE). Em BWE, a informação de energia é enviada para o descodificador sob a forma de um invólucro espectral e energia de trama, mas a estrutura fina do sinal é extrapolada no descodificador a partir do sinal de 78 ΡΕ1719116 excitação recebido (descodificado) a partir do sinal de LF, o qual, de acordo com um modelo de realização, é codificado no módulo de codificação ACELP/TCX comutada 1002. O sinal de HF estabelecido na amostra na saida do pré-processador e da bateria de filtros de análise 1001 é chamado de SHF(n) na Figura 10a. O espectro deste sinal pode ser visto como uma versão torcida da banda de frequência mais alta prévia ao estabelecimento da amostra. Uma análise LPC como anteriormente aqui descrita com referência à Figura 18, é realizada nos módulos 10020 a 10022 no sinal SHf (-Π) para obter um conjunto de coeficientes de LPC que modela o invólucro espectral deste sinal. Tipicamente, são necessários menos parâmetros do que para o sinal de LF. Num modelo de realização, foi utilizado um filtro de ordem 8. Os coeficientes de LPC A(z) são então transformados dentro do dominio de ISP no módulo 10023, em seguida, convertidos a partir do dominio de ISP para o dominio de ISF no módulo 10004, e quantizados no módulo 10003 para a transmissão através de um multiplexador 10029. 0 número de análises LPC numa super-trama de 80-ms depende dos comprimentos de trama na super-trama. Os coeficientes ISF quantizados são convertidos de volta para os coeficientes ISP no módulo 10004 e em seguida, interpolados (podemos descrever brevemente o método de interpolação) no módulo 10005 antes de serem convertidos em coeficientes LPC quantizados AHF(z) pelo módulo 10006.
Um conjunto de coeficientes de filtro LPC pode 79 ΡΕ1719116 ser representado como um polinómio na variável z. Além disso, A(z) é o filtro de LPC para o sinal de LF e AHF(z) o filtro LPC para o sinal de HF. As versões quantizadas destes dois filtros são, respectivamente, Â(z) e ÂHF(z). A partir do sinal de LF s (n) , da Figura 10, é primeiramente obtido por filtragem através do filtro residual de Â(Z), um sinal residual s (n) identificado pela referência 10014. Em seguida, este sinal residual é filtrado através do filtro de sintese de HF quantizado 1/ÂHf(z) identificado pela referência 10015. Até que tenhamos um factor de ganho, isto gera uma versão sintetizada do sinal de HF, mas numa versão espectralmente torcida. 0 sinal de sintese de HF efectivo será recuperado após ter sido aplicada a sobre amostragem.
Uma vez que a excitação é recuperada a partir do sinal de LF, é calculado o ganho adequado para o sinal de HF. Isto é feito através da comparação da energia do sinal de HF de referência SHF(n) com a energia do sinal de HF sintetizado. A energia é calculada uma vez por sub-trama de 5-ms, com correspondência de energia assegurada para o limite de sub-banda de 6.400 Hz. Especificamente, o sinal de HF sintetizado e o sinal de HF de referência são filtrados através de um filtro do espectro sonoro (módulos 10011-10012 e 10024-10025) . No modelo de realização da Figura 10, este filtro do espectro sonoro é derivado a partir de AHF(z) e é chamado de "filtro do espectro sonoro de HF". A energia destes dois sinais filtrados é calculada a cada 5 ms respectivamente, nos módulos 10013 e 10026, a razão entre as energias calculadas pelos módulos de 10013 e 80 ΡΕ1719116 10126 é calculada pelo divisor 10027 e expressa em dB no módulo 10016. Há quatro de tais ganhos numa trama de 20-ms (um para cada sub-trama de 5-ms) . Este vector de 4 ganho, representa o ganho deverá ser aplicado ao sinal de HF para corresponder apropriadamente a energia do sinal de HF.
Em vez de transmitir este ganho directamente, uma razão de ganho estimado é primeiramente calculada pela comparação dos ganhos dos filtros Â(z) a partir da banda mais baixa e ÂHF(z) a partir da banda mais alta. Esta estimação razão de ganho é detalhada na Figura 10b e será explicada na descrição seguinte. A estimação razão de ganho é interpolada a cada 5-ms, expressa em dB e subtraída no módulo 10010 a partir da razão de ganho medida. As diferenças de ganho resultantes ou correções de ganho, observadas g0 a Bnb-i na Figura 10, são quantizadas no módulo 10009. As correcções de ganho podem ser quantizadas como vectores de dimensão 4, isto é, quatro valores por trama de 20-ms e, em seguida, fornecidos ao multiplexador de 10029 para a transmissão. A estimação de ganho calculado no módulo de filtros 10007 Â(z) e ÂHF(z) é explicada na Figura 10b. Estes dois filtros estão disponíveis no lado do descodificador. As primeiras 64 amostras de uma decomposição sinusóidal pela frequência de Nyquist de π radianos por cada amostra são calculadas em primeiro lugar através da filtragem de uma unidade de impulso δ(η) através de um filtro de um pólo de 10017. A frequência de Nyquist é 81 ΡΕ1719116 utilizada, desde que o objectivo seja fazer coincidir os ganhos de filtro em torno de 6400 Hz, ou seja, na junção de frequência entre os sinais de LF e de HF. Aqui, o comprimento de 64 amostras deste sinal de referência é o comprimento da sub-trama (5 ms). A decomposição sinusóidal h(n) é em seguida filtrada, primeiramente através de um filtro Â(z) 10018 para obter uma baixa frequência residual, em seguida através de um filtro l/ÂHF(z) 10019 para obter um sinal de sintese a partir do filtro de síntese de HF. Se os filtros Â(z) e ÂHF(z) tiverem ganhos idênticos na frequência normalizada de π radianos por amostra, a energia da saída x(n) do filtro 10019 seria equivalente à energia de entrada de h (n ) de filtro 10018 (a decomposição sinusóidal). Se os ganhos diferem, então essa diferença de ganho é tomada em consideração na energia do sinal x(n) na saída do filtro 10019. 0 ganho de correcção deveria realmente aumentar à medida que a energia do sinal x(n) diminui. Por conseguinte, a correcção de ganho é calculada no módulo 10028 como o inverso multiplicativo da energia do sinal x(n), no domínio logarítmico (isto é, em dB). Para obter uma verdadeira razão de energia, a energia de decomposição sinusóidal h(n), em dB , deve ser removida a partir da saída do módulo 10028. No entanto, uma vez que este desvio de energia é uma constante, ele simplesmente vai ser tido em conta no codificador de correcção de ganho no módulo 10009. Finalmente, o ganho a partir do módulo 10007, é interpolado e expresso em dB, antes de ser subtraído pelo módulo 10010. 82 ΡΕ1719116
No descodificador, o ganho do sinal de HF pode ser recuperado pela adição da sarda do dispositivo de codificação de HF 1003, conhecido no descodificador, com as descodificadas correcções de ganho codificadas no módulo 11009.
DESCRIÇÃO DETALHADA DO DESCODIFICADOR 0 papel do descodificador é para ler os parâmetros codificados a partir do fluxo de bits e sintetizar uma super-trama de áudio reconstruída. Um diagrama de blocos de nível alto do descodificador é mostrado na Figura 11.
Tal como indicado na descrição anterior, cada super-trama de 80-ms é codificada em quatro (4) pacotes binários sucessivos de igual tamanho. Estes quatro (4) pacotes formam a entrada do descodificador. Uma vez que todos os pacotes podem não estar disponíveis devido a apagamentos de canal, o principal desmultiplexador 11001 também recebe como entrada quatro (4) indicadores de tramas ruins BFI = (bfio ,bfi\, bfi2, bfis), os quais indicam qual dos quatro pacotes foi recebido. Assume-se aqui que bfi\ = 0 quando o k-ésimo pacote é recebido, e jbfík = 1, quando o k-ésimo é pacote perdido. O tamanho dos dos quatro (4) pacotes é especificado para o desmultiplexador 11001 pela entrada "bit_rate_flag" (bandeira de aviso_taxa_bit) indicativo da taxa de bits utilizada pelo codificador. 83 ΡΕ1719116
Desmultiplexação principal 0 desmultiplexador 11001 faz simplesmente a operação inversa do multiplexador do codificador. Os bits relacionados com os parâmetros codificados em k pacotes são extraídos quando o pacote k está disponível, isto é, quando bfi]c = 0 .
Tal como indicado na descrição anterior, os parâmetros codificados são divididos em três (3) categorias: indicadores de modo, parâmetros de LF e parâmetros de HF. Os indicadores de modo de especificam qual modo de codificação que foi utilizado no codificador (ACELP, TCX20, TCX40 ou TCX80) . Depois de o desmultiplexador principal 11001 ter recuperado estes parâmetros, são descodificados por um módulo de extrapolação de modo 11002, respectivamente um descodificador de ACELP/TCX 11003) e um descodificador de HF 11004. Esta descodificação resulta em 2 sinais, um sinal sintese de LF e um sinal de sintese de HF, que são combinados para formar a saida de áudio da bateria de filtros de pós-processamento e sintese 11005. Assume-se que uma bandeira de aviso de entrada FS indica ao descodif icador qual é a taxa de amostragem de saida. Num modelo de realização, as taxas de amostragem permitidas são de 16 kHz e acima desta.
Os módulos da figura 11 serão descritos na seguinte descrição. 84 ΡΕ1719116
Descodificador ACELP/TCX de sinal de LF 11003 A descodificação do sinal de LF envolve essencialmente descodificação ACELP/TCX. Este procedimento é descrito na Figura 12. 0 desmultiplexador ACELP/TCX 12001 extrai os parâmetros de LF codificados com base nos valores de MODO. Mais especificamente, os parâmetros de LF são divididos por um lado, em parâmetros ISF, e por outro lado em parâmetros específicos ACELP ou TCX. A descodificação dos parâmetros de LF é controlada por uma unidade de controlo de descodificação ACELP/TCX principal 12002. Em particular, esta unidade de controlo de descodificação ACELP/TCX principal 12002 envia sinais de controlo para um módulo de descodificação ISF 12003, um módulo de interpolação ISP 12005, bem como descodificadores ACELP e TCX 12007 e 12008. A unidade de controlo de descodificação ACELP/TCX principal 12002 também lida com a comutação entre o descodificador ACELP 12007 e o descodificador TCX 12008 pelo estabelecimento de entradas adequadas para estes dois descodificadores e a activação do selector 12009. A unidade de controlo de descodificação ACELP/TCX principal 12002 ainda controla as saidas da memória tampão (buffer) 12010 do sinal de LF para que as tramas ACELP ou TCX descodificadas sejam escritas nos segmentos de tempo correctos da memória tampão de saida de 80-ms.
A unidade de controlo de descodificação ACELP/TCX 85 ΡΕ1719116 principal 12002 gera dados de controlo que são internos ao descodificador de LF: BFI_ISF, nb (o número de sub-tramas para interpolação ISP) , bfí_acelp, Ltcx (comprimento de trama TCX), BFI_TCX, interruptorjoandeira de aviso, e trama selector (para definir um ponteiro de trama no buffer de saida de LF 12010) . A natureza destes dados é aqui definida a seguir:
> BFI_ISF pode ser expandido como o vector inteiro 2-D BFI_ISF — (bfd-i° estágio bfd-2°_estágío) ® consiste de indicadores de tramas ruins para descodificação ISF. O valor bfi1°_ estágio é binário, e bfii°_ estágio = 0 quando o Io estágio ISF está disponível e bfii°_ estágio = 1 quando está perdido. 0 valor 0^jb.fÍ2°_estágiO^31 é uma bandeira de aviso de 5 bits que fornece um indicador de trama ruim para cada uma das 5 divisões do 2° estagio ISF: bfÍ2° estágio ~' bfi l°_estágio f 2 *bbÍ2°_estágio F 4 *-bbÍ3°_estágio F 8 *bfi 4 °_estágio F 1 6 *bfi 5 °_estágio r Onde bfik-ésimo estágio = 0 quando a divisão k está disponível e é igual a 1 em caso contrário. Com o formato de fluxo de bits acima descrito, os valores - de bfii° estágio e b:fÍ2°_estágio podem ser calculados a partir BFI = (bfio bfii bfi2 bfis) como segue:
Para ACELP ou TCX20 no pacote k, BFI_ISF = (bfik) ,
Para TCX40 nos pacotes k e k+1, BFI_ISF = (bfik) (31* bfik+1) ) ,
Para TCX80 nos pacotes k=0 até k=3, BFI_ISF = (bfío (bfii+6*bfÍ2+20*bfÍ3) ) , 86 ΡΕ1719116
Estes valores de BFI_ISF podem ser directamente explicados pelo formato de fluxo de bits utilizado para empacotar os bits de quantização ISF, e como é que os estágios e as divisões são distribuídos em um ou em vários pacotes, dependendo do tipo de codificador (ACELP/TCX20, TCX40 ou TCX80). > 0 número de sub-tramas para a interpolação de ISF refere-se ao número de sub-tramas de 5-ms na trama descodificada ACELP ou TCX. Assim, nb = 4 para ACELP e TCX20, a 8 para TCX40 e a 16 para TCX80. > bfi_acelp é uma bandeira de aviso binária indicando uma perda de pacote ACELP. É simplesmente definido como bfi_acelp = bfik para uma trama ACELP no pacote k. > 0 comprimento de trama TCX (em amostras) é dado por LTCx = 256 (20 ms) para TCX20, a 512 (40 ms) para TCX4 0 e a 1024 (80 ms) para TCX80. Isto não leva em conta a sobreposição utilizada em TCX para reduzir os efeitos de bloqueio. > BFI_TCX é um vector binário utilizado para sinalizar as perdas de pacotes para o descodificador TCX: BFI_TCX = (bfik) para TCX2 0 no pacote k, (bfik bfik+i) para TCX4 0 em pacotes k e k+1, e BFI_TCX = BFI para TCX80. 87 ΡΕ1719116
Os outros dados, gerados pela unidade de controlo de descodificação ACELP/TCX principal 12002, são bastante auto-explicativos. 0 selector comutador 12009 é controlado de acordo com o tipo de trama descodificada (ACELP ou TCX). Os dados trama_selector permitem escrever as tramas descodificadas (ACELP ou TCX20, TCX40 ou TCX80) dentro dos correctos segmentos de 20-ms da super-trama. Na Figura 12, também aparecem alguns dos dados auxiliares como ACELP_ZIR e rmSwsyn. Estes dados são definidos nos parágrafos subsequentes. 0 módulo de descodificação ISF 12003 corresponde ao descodificador ISF definido no padrão de codificação de voz AMR-WB, com a mesma predicção MA e tabelas de quantização, exce~pto para o tratamento de tramas ruins. A diferença em relação ao dispositivo AMR-WB é a utilização de BFI_ISF = (bíí i°_estágio bf±2°_es tágio) em vez de um único indicador de trama ruim binário. Quando o Io estágio do quantizador ISF está perdido (ou seja, bfii° estágio = 1) os parâmetros ISF são simplesmente descodificados utilizando a dissimulação de apagamento de trama do descodificador de ISF AMR -WB. Quando o Io estágio estiver disponível (ou seja, bfii° estágio = 0), este Io estágio é descodificado. Os vectores de divisão de 2° estágio são acumulados ao Io estágio descodificado somente se eles estiverem disponíveis. A ISF reconstruída residual é adicionada à predicção MA e ao vector médio ISF para formar os parâmetros ISF reconstruídos. 88 ΡΕ1719116 0 conversor 12004 transforma os parâmetros ISF (definido no dominio da frequência) em parâmetros ISP (no dominio do co-seno). Esta operação é feita a partir de codificação de voz AMR-WB.
0 módulo de interpolação de ISP 12005 realiza uma interpolação linear simples entre os parâmetros ISP da trama descodificada anteriormente (ACELP/TCX20, TCX40 ou TCX80) e os parâmetros de ISP descodificados. A interpolação é realizada no dominio de ISP e resulta em parâmetros de ISP para cada sub-trama de 5-ms, de acordo com a fórmula: ISPsub—trama-i r / nb ÍS]pnovo t (1 J- / nb) ispantigo onde nb é o número de sub-tramas dentro da trama actual descodificada (nb=4 para ACELP e TCX20, a 8 para TCX40, a 16 para TCX80), i = 0 , nb-1 é o indice de sub-trama, ispantigo é o conjunto dos parâmetros ISP obtidos a partir dos parâmetros ISF descodificados da trama descodificada anterior (ACELP, TCX20/40/80) e ispnoVo é o conjunto de parâmetros ISP obtidos a partir dos parâmetros ISF descodificados no descodificador 12003. Os parâmetros interpolados ISP são então convertidos em coeficientes de predicção lineares para cada sub-trama no conversor 12006.
Os descodificadores ACELP e TCX 12007 e 12008 serão descritos separadamente no final da descrição de descodificação ACELP/TCX geral. 89 ΡΕ1719116
Comutação de ACELP/TCX A descrição da Figura 12 sob a forma de um diagrama de blocos é completada pelo fluxograma da Figura 13, a qual define exactamente como é que é tratada a comutação entre ACELP e TCX com base nos indicadores de modo da super-trama no MODO. Por isso, a Figura 13 explica como é que os módulos 12003 a 12006 da Figura 12 são utilizados.
Um dos aspectos-chave da descodificação ACELP/TCX é o tratamento de uma sobreposição a partir da passada trama descodificada para permitir a comutação perfeita entre ACELP e TCX, bem como entre as tramas TCX. A Figura 13 apresenta com detalhes esta caracteristica chave para o lado da descodificação. A sobreposição consiste de uma única memória tampão de 10-ms: OVLP_TCX. Quando passada trama descodificada é uma trama ACELP, OVLP_TCX = ACELP_ZIR memoriza a resposta de impulso zero (ZIR) do filtro de síntese LP (1/A(z)) no domínio ponderado da trama ACELP anterior. Quando passada trama descodificada é uma trama TCX, apenas os primeiros de 2,5 ms (32 amostras) para TCX20, 5 ms (64 amostras) para TCX40, e 10 ms (128 amostras) para TCX80 são utilizados em OVLP_TCX (as outras amostras são estabelecidas em zero).
Como ilustrado na Figura 13, a descodificação 90 ΡΕ1719116 ACELP/TCX depende de uma interpretação sequencial dos indicadores de modo em MODO. O número de pacote e indice de trama descodificada k é incrementado de 0 a 3. O ciclo realizado pelas operações 13002, 13003 e 13021 a 13023 permite sequencialmente processar os quatro (4) pacotes de uma super-trama de 80-ms. A descrição das operações de 13005, 13006 e 13009 a 13011 é ignorada porque elas realizam a descodificação ISF acima descrita, conversão de ISF para ISP, interpolação de ISP e uma conversão de ISP para A (z) .
Quando descodificação ACELP (ou seja, quando mk=0 como detectado na operação 13012), a memória tampão ACELP_ZIR é actualizada e o comprimento ovp_len da sobreposição TCX é definida como 0 (operações de 13013 e 16017). 0 verdadeiro cálculo de ACELP_ZIR é explicado no próximo parágrafo lidando com a descodificação ACELP.
Quando da descodificação de TCX, a memória tampão OVLP_TCX é actualizada (operações 13014 a 13016) e o verdadeiro comprimento ovp_len da sobreposição TCX é definido para um número de amostras equivalente a 2,5, 5 e 10 ms respectivamente para TCX20, TCX40 e TCX80, (operações 13018 a 13020). 0 verdadeiro cálculo da OVLP_TCX é explicado no próximo parágrafo lidando com a descodificação TCX. 0 descodificador ACELP/TCX também calcula dois parâmetros para o subsequente passo pós-filtragem da 91 ΡΕ1719116 síntese LF: os ganhos de passo gp = (go, gi, çis) e desfasagens de passo T = (T0, Tlr . .., T15) para cada sub- trama de 5-ms da super-trama de 80-ms. Estes parâmetros são inicializados no Processor 13001. Para cada nova super-trama, os ganhos de passo são definidos por defeito para 9pk = 0 para k=0,..., 15, enquanto as desfasagens de passo são todas inicializadas para 64 (ou seja, 5 ms) . Estes vectores são modificados somente por ACELP na operação 13013: se ACELP for definido no pacote k, g4k, g4k+:L, . .., g4k+3 correspondem aos ganhos de passo em cada sub-trama ACELP descodificada, enquanto T4K, T4k+i , . .., ΤΛΚ+3 são as desfasagens de passo.
A descodificação ACELP
0 descodificador ACELP apresentado na Figura 14, é derivado do algoritmo de codificação de voz AMR-WB
[Bessette et al, 2002] . Os blocos novos ou modificados comparados com o descodificador ACELP de AMR-WB são realçados (pelo sombreamento destes blocos) na Figura 14.
Numa primeira etapa, parâmetros específicos de ACELP são desmultiplexados através do desmultiplexador 14001.
Ainda com referência à Figura 14, a descodificação ACELP consiste em reconstruir o sinal de excitação r(n) como a combinação linear gp p(n)+ gc c(n), onde gp e gc são, respectivamente, o ganho de passo e o 92 ΡΕ1719116 ganho da tabela de codificação fixa, a desfasagem de passo T, p(n) é a contribuição de passo derivada da tabela de codificação adaptativa 14005 através do filtro de passo 14006, e c(n) é um vector de código de pós-processamento da tabela de codificação inovadora 14009 obtido a partir dos indices da tabela de codificação inovadora de ACELP descodificado pelo descodificador de 14008 e processado através dos módulos 14012 e 14013; p(n) é multiplicado pelo ganho gp no multiplicador 14007, c(n) é multiplicado pelo ganho gc no multiplicador 14014, e os produtos gp por p(n) e gc por c(n) são adicionados no módulo adicionador 14015. Quando a desfasagem de passo T é fraccionada, p(n) envolve a interpolação na tabela de codificação adaptativa 14005. Em seguida, a excitação reconstruída é passada através do filtro de síntese 1/Â(z) 14016 para obter a síntese s(n). Este processamento é realizado numa base de sub-trama, nos coeficientes LP interpolados e a síntese é processada através de uma memória tampão de saída 14017. Todo o processo de descodificação ACELP é controlado por uma unidade de descodificação principal ACELP 14002. Os apagamentos de pacotes (sinalizado por bfi_acelp = 1) são tratados por um selector comutador 14011 comutando, a partir da tabela de codificação inovadora 14009 para uma tabela de codificação inovadora aleatória 14010, o passo de extrapolação e os parâmetros de ganho a partir dos seus valores passados nos decodificadores de ganho 14003 e 14004, e contando com os coeficientes LP extrapolados.
As modificações em comparação com o 93 ΡΕ1719116
descodificador de ACELP de AMR-WB são afectadas com o ganho do descodificador 14003, o cálculo da resposta de impulso zero (ZIR) de 1/Â(z) no domínio ponderado nos módulos 14018 a 14020, e a actualização do valor de r.m.s da síntese ponderada (rms„syn) nos módulos 14021 e 14022. A descodificação de ganho já foi divulgada quando bfi_acelp = 0 ou 1. Baseia-se num parâmetro de energia média de modo a aplicar VQ de média removida. A (ZIR) de 1/Â(z) é aqui calculada no domínio ponderado para a comutação a partir de uma trama ACELP para uma trama TCX evitando ao mesmo tempo efeitos de bloqueio. 0 processamento relacionado é repartido em três (3) etapas e o seu resultado é armazenado numa memória tampão de 10-ms indicada por ACELP_ZIR: 1) um calculador calcula ZIR de 1/Â(z) de 10-ms, onde os coeficientes LP são tomados a partir da última sub-trama ACELP (módulo 14018); 2) um filtro do espectro sonoro pondera a ZIR (módulo 14019), 3) A ACELP_ZIR é encontrada após a aplicação de uma gestão híbrida de janelas triangulares lisas (através de um gerador de janela) para a ZIR ponderada de 10-ms no módulo 14020. Esta etapa utiliza uma janela de 10-ms w(n) definida em baixo: ΡΕ1719116 94 w(n) = 1 se n=0,..,63, w(n) = (128-n)/64 se n=64,..,127
Deve-se notar que o módulo 14020 faz sempre a actualização OVLP_TCX como OVLP_TCX = ACELP_ZIR.
0 parâmetro iTi?7SWSyn Θ actualizado no descodificador ACELP uma vez que é utilizado no descodificador TCX para dissimulação de apagamento de pacote. A sua actualização em tramas ACELP descodificadas consiste no cálculo por sub-trama da síntese ACELP ponderada s„(n) com o filtro de ponderação espectral sonora 14021 e cálculado no módulo 14022:
onde L 256 (20 ms) é o comprimento de trama ACELP.
A descodificação TCX
Um modelo de realização do descodificador de TCX é mostrado na Figura 15. Um selector comutador de 15017 é utilizado para lidar com dois casos de descodificação diferentes:
Caso 1: Dissimulação de apagamento de pacote em TCX20 através dos módulos 15013 a 15016, quando o comprimento da trama TCX é de 2 0 ms e é perdido o pacote 95 ΡΕ1719116 relacionado, ou seja, BFI_TCX =1; e
Caso 2: Descodificação TCX normal, possivelmente com perdas parciais de pacote através de módulos 15001 a 15012.
No Caso 1, não há informação disponível para descodificar a trama TCX20. A síntese de TCX é feita por processamento, através de um filtro não linear grosseiramente equivalente a 1/Â(z) (módulos 15014 a 15016), a excitação passada a partir da trama TCX previamente descodificada armazenada na memória tampão de excitação 15013 e retardada por T, onde T = passo_ tcx é uma desfasagem de passo estimada na trama TCX previamente descodificada. É utilizado um filtro não linear em vez do filtro 1/Â(z) para evitar ruídos na síntese. Este filtro é decomposto em três (3) blocos: um filtro 15014 tendo uma função de transferência  (ζ/γ) / (z) / (1-az-1) para mapear a excitação atrasada por T no domínio alvo TCX, limitador 15015 para limitar a amplitude a ± rmswsyn, e finalmente o filtro 15016 tendo uma função de transferência (1-az-1)/ Â(z/y) para encontrar a síntese. A memória tampão OVLP_ TCX é neste caso definida como zero.
No Caso 2, a descodificação TCX envolve a descodificação dos parâmetros VQ algébricos através do desmultiplexador 15001 e descodificador de parâmetro de VQ 15. Esta operação de descodificação é apresentada numa outra parte da presente descrição. Como indicado na 96 ΡΕ1719116 descrição anterior, o conjunto de coeficientes de transformada Y = [Yo Yi ... Yn-i] , onde N = 288, 576 e 1152 para respectivamente TCX20, TCX40 e TCX80, está dividido em K subvectores (blocos consecutivos de coeficientes de transformada) de dimensão 8 os quais estão representados na recticula RES. 0 número K de subvectores é de 36, 72 e 144 respectivamente para TCX20, TCX40 e TCX80. Porconsequência, os coeficientes Y podem ser expandidos como Y = [Yb Yi, . . . . Yk-i] com 3¾ = [Yek . . . lúk+7] e k = 0, . . , K-l. 0 nivel de ruido de preenchimento aruído é descodificado no descodificador de nivel de ruido de preenchimento 15003 por inversão de quantização escalar uniforme de 3 bits utilizada no codificador. Para um índice 0 ^ idx 1 ^ 7, ffruído é dado por: aruído = 0,1* (8 - idx 1) . No entanto, pode acontecer que o índice idx 1 não esteja disponível. Este é o caso quando BFI_TCX = (1) em TCX20, a (1 x) , em TCX40 e (x 1 x x) em TCX80, com x a representar um valor binário arbitrário. Neste caso, <7ruído ® definido para o seu valor máximo, ou seja, ffruid0 = 0,8. É injectado ruído de conforto nos subvectores Yk arredondado para zero, e o qual corresponde a uma frequência acima de 6400/6 * 1067 Hz (módulo 15004) . Mais precisamente, Z é inicializado como Z = Y e para K/6< k< K (apenas), se Yk = (0, 0,..., 0), Zk é substituído pelo vector de dimensão 8: tfruído* [cos (θι) sen (θι) cos (θ2) sen (Θ2) cos (θ3) sen (θ3) cos (θ4) sen (θ4) ] 97 ΡΕ1719116 onde as fases θι θ2 Θ3 e 04 são seleccionadas aleatoriamente. 0 módulo de desacentuação (de-ênfase) de baixa frequência adaptiva 15005 escalona os coeficientes de transformada de cada sub-vector Zk, para k=0...K/4-l, por um factor fack (módulo 21004 da Figura 21), o qual varia com k: X'k = fack.Zk , k = 0 4-1 O factor faCk é realmente uma função monótona crescente por partes constante de k e satura em 1 para um dado k=kmax <K/4 (ou seja, fack < 1 para k < kmax e fack = 1 para k > kmax) . O valor de kmax depende de Z. Para obter fack, a energia £k de cada sub-vector Zk é calculada como se segue (módulo 21001): Sk — ZkT Zk + 0,01 onde o termo 0,01 é definido arbitrariamente para evitar uma energia zero (o inverso de ek é mais tarde calculado). Então, a energia máxima sobre os primeiros K/4 subvectores é pesquisado (módulo 21002): £max ~ max (ε0, ek/4-i) O cálculo efectivo de fack é dado pela fórmula em baixo (módulo 21003): 98 ΡΕ1719116 fac0= rnax ( ( e0/Smax) °'5, 0,1) fack= max( (ek/smax)°'5ffack-1) para k=l ,...,Κ/4-l A estimação do passo dominante é realizada pelo estimador 15006 de modo que a trama seguinte a ser descodificada possa ser adequadamente extrapolada se corresponder a TCX20 e se o pacote relacionado foi perdido. Esta estimação é baseada na suposição de que o pico de amplitude máxima no espectro do alvo de TCX corresponde ao passo dominante. A pesquisa para o máximo M é restringida a uma frequência abaixo de 400 Hz M = max±=i. .n/32 (X'2í)2+ (X'2i+i)2 e o minimo indice 1 ^ imax ^ N/32 tal que ( X' 2i)2 + (X' 2i+l)2 = M também é encontrado. Em seguida, o passo dominante é estimado em número de amostras tal como Test = N/imax (este valor pode não ser um inteiro). O passo dominante é calculado para a dissimulação de apagamento pacote em TCX20. Para evitar problemas de memorização tampão (a memória tampão de excitação 15013 a ser limitada a 20 ms) , se Test > 256 amostras (20 ms) , o passo_tcx é definido para 256; caso contrário, se rest ^ 256 são evitados periodos de passo múltiplos em 20 ms definindo passo_tcx para passo_tcx = max{ passo_tcx = max{|n TestJ I n inteiro > 0 e n Test ^ 256} 99 ΡΕ1719116 onde [.J indica o arredondamento para o número inteiro mais próximo de
Num modelo de realização, a transformação utilizada é um DFT e é implementada como uma FFT. Devido à ordenação utilizada no codificador TCX, os coeficientes de transformação X' = (X'o, X'N-i) são tais que: o X'o corresponde ao coeficiente de DC; o X'i corresponde à frequência de Nyquist (isto é 6400 Hz desde que o sinal alvo no dominio do tempo seja amostrado a 12,8 kHz) e o os coeficientes X' 2k e X'2^+1, para k= 1..N/2-1, são as partes real e imaqinária da componente de frequência de Fourier k(/N/2)*6400 Hz. O módulo FFT 15007 obriqa sempre para 0. Após este ir a zero, o sinal alvo TCX no dominio do tempo X'w é encontrado no módulo FFT 15007 por FFT inversa. 0 ganho TCX (global) gTCx é descodificado no descodificador de ganho global TCX 15008 por inversão da quantização logarítmica de 7-bits utilizada no codificador TCX. Para se fazer isto, o descodificador 17008 calcula o valor r.m.s. do sinal alvo TCX X'„ como: rms = sqrt (1 /N {X'vq2+X'vi2+...+X') ) 100 ΡΕ1719116 A partir de um índice de 0 ^ ídx2 ^ 127, o ganho de TCX é dado por: _ _ idx 2/28/(4xrms) gTCX - 10 A etapa de quantização (logarítmica) é de cerca de 0,71 dB.
Este ganho é utilizado no multiplicador 15009 para escalonar X'w dentro de Xw. A partir de extrapolação de modo e da estratégia de repetição de ganho tal como utilizado neste modelo de realização ilustrativo, o índice idx 2 está disponível para o multiplicador 15009. No entanto, em caso de perdas de pacotes parciais (1 perda para TCX40 e até 2 perdas para TCX80) o bit menos significativo de ídx2 pode ser estabelecido por defeito para 0 no desmultiplexador 15001.
Uma vez que o codificador TCX utiliza gestão de janelas com sobreposição e remoção ZIR ponderada antes de transformar a codificação do sinal alvo, o sinal alvo de TCX reconstruído X=(X0, Xi, . .., Xn-i) é realmente encontrado pela sobreposição adicionada no módulo de síntese 15010. A sobreposição adicionada depende do prévio tipo de trama descodificada (ACELP ou TCX). Um primeiro gerador de janela multiplica o sinal alvo TCX por uma janela adaptativa w = [w0 W! ... WN-!] :
Xi : = x±
Wi, i=0 r ··· r L-l ΡΕ1719116 101 onde w é definido por =sen (n/ovlp_len* (i + l)/2, i=0,ovlp_len-l 1 i=ovlp_len, L-1 wi = cos (π/ (L-N) * (i + l-L) /2) i=L, N-l
Se ovlp_len 0, ou seja, se a trama descodificada anteriormente é uma trama ACELP, a parte esquerda dessa janela é ignorada por meio de saltos adequados. Em seguida, a sobreposição a partir da trama descodificada passada (OVLP_TCX) é adicionada, por meio de um adicionador adequado, ao sinal x da janela:
[x0 ... X128] : = [xo ... Xi28]+ OVLP_TCX
Se ovlp_len = 0, OVLP_TCX é a ZIR ponderada de 10-ms de ACELP (128 amostras) de x. Caso contrário, OVLP_TCX =[x x ... x 0 0 ... 0] v____) amostras olvp_len onde ovlp_len pode ser igual a 32, 64 ou 128 (2,5, 5 ou 10 ms) , que indica que a trama anteriormente descodificada é respectivamente, TCX20, TCX40 ou TCX80. O sinal alvo TCX reconstruído é dada por [xo . . . 102 ΡΕ1719116 xL] e as últimas N-L amostras são guardadas na memória t amp ã o OVLP_TCX: OVLP_TCX =[xL ... xN_i 0 0 ... 0] 128-(L-N)amostras O alvo TCX reconstruído é filtrado no filtro 15011 pelo f iltro do espectro sonoro inverso W1(z)=(l-a z 1)/Â(z/y) para encontrar a síntese. A excitação também é calculada no módulo 15012 para actualizar a tabela de codificação adaptativa de ACELP e permitir comutar de TCX para ACELP numa trama subsequente. Note-se que o comprimento da síntese de TCX é dado pelo comprimento da trama TCX (sem a sobreposição): 20, 40 ou 80 ms.
Descodificação do sinal de mais alta frequência (HF) A descodificação do sinal de HF implementa uma espécie de mecanismo de extensão de largura de banda (BWE) e utiliza alguns dados a partir do descodificador de LF. É uma evolução do mecanismo BWE utilizado no descodificador de voz AMR-WB. A estrutura do descodif icador de HF está ilustrada sob a forma de um diagrama de blocos na Figura 16. A cadeia de síntese de HF consiste nos módulos 16012 a 16014. Mais precisamente, o sinal de HF é sintetizado em 2 etapas: cálculo do sinal de excitação de HF, e o cálculo do sinal de HF a partir do sinal de excitação de HF. A excitação de HF é obtida por meio da formação no domínio do 103 ΡΕ1719116 tempo (multiplicador 16012), do sinal de excitação de LF com factores escalares (ou ganhos) por sub-tramas de 5-ms. Esta excitação de HF é pós-processada no módulo 16013 para reduzir a "barulheira" ("buzziness") da saida e em seguida filtrada através de um filtro de sintese de predicção linear de HF 06014 tendo uma função de transferência 1/ãhf (z) . Como indicado na descrição anterior, a ordem de LP utilizada para codificar e em seguida descodificar o sinal de HF é 8. 0 resultado é também pós-processado para suavizar as variações de energia no módulo 16015 de suavização de energia de HF. 0 descodificador de HF sintetiza uma super-trama de 8 0 ms. Esta super-trama é segmentada de acordo com o MODO = (m0, mlr m2, m3) . Para ser mais especifico, as tramas descodificadas utilizadas no descodificador de HF são síncronas com as tramas utilizadas no descodificador de LF. Assim, mk < 1, mk < 2 mk < 3 indicam, respectivamente, as tramas de 20-ms, 40-ms e 80-ms. Estas tramas são respectivamente referidas como HF-20, HF-40 e HF-80. A partir da cadeia de síntese acima descrita, parece que os únicos parâmetros necessários para a descodificação de HF são os parâmetros de ISF e os de ganho. Os parâmetros de ISF representam o filtro 18014 (1 /Ârf (z) ) , enquanto que os parâmetros de ganho são uutilizados para formar o sinal de excitação de LF utilizando o multiplicador 16012. Estes parâmetros são desmultiplexados a partir do fluxo de bits no 104 ΡΕ1719116 desmultiplexador 16001 baseado no MODO e conhecimento do formato do fluxo de bits. A descodificação dos parâmetros de HF é controlada por uma unidade de controlo de descodificação de HF principal 16002. Mais particularmente, a unidade de controlo de descodificação de HF principal 16002 controla a descodificação (descodificador ISF 16003) e interpolação (módulo interpolação de ISP 16005) dos parâmetros de predicção linear (LP) . A unidade de controlo de descodificação de HF principal 16002 define indicadores trama ruins apropriados para o ISF e descodificadores de ganho 16003 e 16009. Controla também a memória tampão de saida 16016 do sinal de HF de modo que as tramas descodificadas sejam escritas nos segmentos de tempo correctos da saida da memória tampão de 80-ms. A unidade de controlo de descodificação de HF principal 16002 gera os dados de controlo que são internos ao descodificador de HF: bfi_isf_hf, BFI_GAIN, o número de sub-tramas para interpolação ISF e um selector de trama para definir um ponteiro de trama na saida da memória tampão 16016. Excepto para o selector de trama que é auto-explicativo, a natureza desses dados é definida com mais detalhes aqui e abaixo: > bfi_isf hf é uma bandeira de aviso binária que indica a perda dos parâmetros ISF. A sua definição é dada abaixo a partir de BFI = (bfi0, bfilr bfÍ2, bfi3) : 105 ΡΕ1719116
Para HF-2 0 no pacote k, bfi_isf_hf = bfik
Para HF-40 em pacotes k e k+1, bfi_isf_hf = bfik
Para HF-80 (em pacotes k= 0 a 3) , bfi_isf_hf = bfi0
Esta definição pode ser facilmente entendida a partir do formato de fluxo de bits. Como indicado na descrição anterior, os parâmetros ISF para o sinal de HF estão sempre no primeiro pacote descrevendo tramas de HF-20, HF-40 ou HF-80. > BFI_GANHO é um vector binário utilizado para sinalizar as perdas de pacotes para o descodificador de ganho de HF: BFI_GAIN = (bfik) para HF-20 no pacote k, (bfi^ bfi^+ι) para HF-40 nos pacotes k e k+1, BFI_GANHO = BFI para HF-80.
> 0 número de sub-tramas para a interpolação de ISF refere-se ao número de sub-tramas de 5-ms na trama descodificada. Este número se, 4 para HF-20, 8 para HF-40 e 16 para HF-80. O ISF vector isf_hf_q é descodificado utilizando VQ predictivo AR(1) no descodificador ISF 16003. Se bfi isf hf = 0, 0 índice ii de 2 bit do 1° estágio e 0 indice ±2 de 7 bit do 2o estágio estão disponíveis e isf_hfq é dado por 106 ΡΕ1719116 isf_hf_q = cbl (ii) + cb2 (i2) + média_isf_hf + μι; . * mem_isf_hf onde cbl(ii) é o ii-ésimo vector de código do Io estágio, cb2(i2) é o i2-ésimo vector de código do 2o estágio, mean_isf_hf é o vector média de ISF, piSf_hf = 0,5 é o coeficiente de predição AR(1) e mem_isf_hf é a memória do descodificador de predicção de ISF. Se bfi_isf_hf = 1, o vector ISF descodificado corresponde ao vector ISF prévio deslocado no sentido do vector média de ISF: isf_hf_q = oíisf hf * mem_isf_hf + média_isf_hf com oíisf hf = 0,9. Depois de calcular isf_hf_q, o reordenamento ISF definido na codificação de voz AMR-WB é aplicado a isf_hf_q com um hiato ISF de 180 Hz. Finalmente, a memória mem_isf_hf é actualizada para a próximo trama de HF como: mem_isf_hf = isf__hf__q - média_isf_hf O valor inicial da mem_isf_hf (na reposição do descodificador) é zero. O conversor 16004 converte os parâmetros ISF (no dominio da frequência) para parâmetros de ISP (em dominio de co-seno).
O módulo de interpolação de ISP 16005 realiza uma interpolação linear simples entre os parâmetros de ISP da trama de HF descodificada préviamente (HF-20, HF-40 ou HF-80) e os novos parâmetros de ISP descodificados. A 107 ΡΕ1719116 interpolação é realizada no dominio de ISF e resulta nos parâmetros ISF para cada sub-trama de 5-ms, de acordo com a fórmula: ÍSPsub-trama-i = i /nb * ÍSpnova + (1 ~i/nb) * ÍSpantiva onde nb é o número de sub-tramas dentro da trama descodificada actual (nb=4 para HF-20, a 8 para HF-40, a 16 para HF-80), em que i=0,...,nb-l é o índice de sub-trama, ispantiga é o conjunto de parâmetros de ISP obtidos a partir dos parâmetros de ISF da trama de HF anteriormente descodificada e ispn0va é o conjunto de parâmetros ISP obtidos a partir dos parâmetros de ISF descodificados nos Processadores 18003. Em seguida, o conversor 10006 converte os parâmetros ISP interpolados dentro dos coeficientes de predicção linear quantizados ÂHf (z) para cada sub-trama. O cálculo do ganho gmatch em dB no módulo 16007 é descrito nos próximos parágrafos. Este ganho é interpolado no módulo 16008 para cada sub-trama de 5-ms com base nos seus valores anteriores old_gmatch como: 8i ~ í/nb Çmatch t (l~i/nb) old_Qmatchr onde nb é o número de sub-tramas na trama descodificada actual (nb=4 para HF -20, a 8 para HF -40, a 16 para HF-80), em que i=0,...,nb-l é o índice de sub-trama. Isto resulta num vector (So,...,ênh-i) · 108 ΡΕ1719116
Ganhar Cálculo de estimação de ganho para correspondência de amplitude em 6400 Hz (Módulo 16007) O processador 16007 é descrito na Figura 10b. Uma vez que este processo apenas utiliza a versão quantizada dos filtros de LPC, é idêntico ao que o codificador tiver calculado no estágio equivalente. Uma sinusoidal amortecida da frequência de 6400 Hz é gerada pelo cálculo das primeiras 64 amostras [h(0) h( 1) ... h(63)] da resposta de impulso h(n) do filtro autorregressivo de Ia ordem 1/(1+0,9 z"1) tendo um pólo z=-0, 9 (filtro 10017). Este sinal h(n) de 5-ms é processado através do predictor (no estado zero) Â(z) de ordem 16 cujos coeficientes são tomados a partir do descodificador de LF (filtro 10018), e em seguida, o resultado é processado através do filtro de síntese (no estado zero) 1/ÂHF(z) de ordem de 8 cujos coeficientes são tomados a partir do descodificador de HF (filtro 10018) para obter o sinal x(n). Os dois conjuntos de coeficientes de LP correspondem à última sub-trama da trama corrente descodificada HF-20, HF-40 ou HF-80. Um ganho de correcção é então calculado em dB como gmatCh = 10 logio [ 1 / (x (0)2 + x(l)2 + ... + x(63)2] como ilustrado no módulo 10028.
Relembremo-nos que a frequência de amostragem de ambos os sinais de LF e HF é 12800 Hz. Para além disso, o sinal de LF corresponde ao sinal de áudio passado-em-baixo, enquanto o sinal HF é espectralmente uma versão torcidada do sinal de audio passado-em-alto. Se o sinal HF é uma sinusoidal em 6400 Hz, que depois de uma bateria de filtros 109 ΡΕ1719116 de síntese se torna sinusoidal em 6400 Hz e não em 12800 Hz. Como consequência, parece que gmatch é concebido de modo que a amplitude da resposta de frequência torcida de 10A(gmatch/20)/AHF(z) corresponda à amplitude da resposta de frequência de 1/A(z) em torno de 6400 Hz.
Descodificação dos ganhos de correcção e cálculo de ganho (Descodificador de ganho 16009)
Como foi descrito na descrição antecedente, após a interpolação de ganho, o descodificador de HF a partir do módulo 16008 recebe os ganhos estimados (gesto, gestí, ···, gestnb-i) em dB, para cada um das nb sub-tramas da trama descodificada corrente. Para além disso, nb = 4, a 8 e a 16 respectivamente em HF-20, HF-40 e HF-80. O papel do descodificador de ganho 16009 é descodificar os ganhos de correcção em dB, os quais irão ser adicionados, por meio de adicionador 16010, com os ganhos estimados por sub-trama para formar os ganhos de descodificação G0, G1 , ..., GNB-1: {§0 (dB) ,§! (dB) ,§nb-l (dB) ) = (3 (gO , Jlf ™;|nb-l) , onde (9o, :§nb-l ) = (gCl0, gCli,...,gClnb-l) + (gc20, gc2l,...,gc2nb-l) .
Portanto, a descodificação de ganho corresponde à descodificação de quantização por VQ-escalar de dois 110 ΡΕ1719116 estágios de predicção,onde a predicção é dada pelo ganho correspondente de junção de 6400 Hz interpolada. A dimensão de quantização é variável e é igual a nb.
Descodificação do Io estágio: O indice de 7 bits 0 d idx d 127 da tabela de codificação de ganho de HF de dimensão 4 no Io estágio é descodificado em quatro ganhos (Go, Gi, G2, G3) . Um indicador de trama ruim bfi = BFI_GAIN0 em HF-20, HF -40 e HF-80 permite lidar com as perdas de pacotes. Se bfi = 0, esses ganhos são descodificados como (G0, Gi, G2, G3)= cb_gain_hf (idx) + mean_gain_hf onde cb_gain_hf (idx) é o idx-ésimo vector de código da tabela de codificação cb_gain__hf. Se bfi=l, a memória past ganho_hf_q é deslocado para -20 dB: past ganho_hf_q:oLganh0 hf * (past_ganho_hf_q + 20)-20 onde OLganho_hf = 0,9 e os 4 ganhos (G0, Glr G2, G3) são definidos para o mesmo valor:
Gk = past__ganho_hf_q + mean_gain_hf, para k= 0, 1, 2 e 3 Então a memória past_gain_hf_q é actualizada como: past_ganho_hf_q: (Go, Glr G2, G3)/4 - mean_gain_hf. ΡΕ1719116 111 0 cálculo da reconstrução do Io estágio é então dada como: HF- -20: (gclo, rrcl g 11 gcl ~cl \ 2, g 3) = (Go , Gi, G2 , G3) . HF- -40 : (gcl 0, rrcl g 1 r ... r g 1) - (Go, Go, Gi, Gi, G2, G2, G3 G3) . HF- -80: (gclo, rrcl g n ... r rrcl 'í - g 15; - (Go, Go, Go, Go, Gi, Gi, Gi, Gi, g2, g2, g2 , g2, g3, g3, g3, g3) φ
Descodificação do 2° estágio:
Em TCX-20, (gc20, gc21, gc2 2, gc2 3) é simplesmente definida como (0,0,0,0) e não existe um verdadeira 2o estágio de descodificação. Em HF-40, o indice de 2 bits 0 < idxi ^ 3 da i-ésima sub-trama, onde i=0, ..., 7, é descodificado como: se bfi=0, gc2i= 3*idxi-4,5 outro gc2i=0.
Em TCX-80, 16 sub-tramas indice de 3 bits a 0 ^ idx 1 ^ 7 da i-ésima sub-trama, onde i = 0, ..., 15, é descodificado como: se bfi=0r gc2i= 3*idxi-10,5 outro gc2i=0.
Em TCX-40, a amplitude do segundo refinamento escalar é até ± 4,5 dB e em TCX-80 até ± 10,5 dB. Em ambos os casos, a etapa de quantização é de 3 dB. 112 ΡΕ1719116
Reconstrução do ganho de HF: 0 ganho para cada sub-trama, é em seguida calculado no módulo como 16011 como: 10θι/2° Módulo de Redução de Barulheira (Buzziness) 16013 e módulo de suavização de energia HF 16015) O papel do módulo de redução de Barulheira 16013 é o de atenuar impulsos do sinal de excitação HF no domínio do tempo xhf(^), o qual muitas vezes causa a saída de áudio para soar a "entretenimento". Os impulsos são detectados através pela verificação de se o valor absoluto |rHF(n)|> 2 * thres{n), onde thres{n) é um limiar adaptativo correspondente ao invólucro de jhf(^) no domínio do tempo. As amostras jAf (n) , que são detectadas como impulsos estão limitadas a 2 * thres (n) , onde ± é o registo de jtEF(n) .
Cada amostra τηρ(ώ) da excitação de HF é filtrada por um filtro passa-baixo de Ia ordem 0, 02/(1-0, 98z_1) para actualizar thres(η). O valor inicial de thres(n) (na reposição do descodificador) é 0. A amplitude da atenuação de impulso é dada por: Δ = max ( | Jhf (n) \ -2* thres (n) , 0, 0) .
Assim, Δ é definido em 0 se a amostra corrente não for detectada como um impulso, o que vai deixar rEF(n) inalterado. Em seguida, o valor corrente thres(n) do limiar 113 ΡΕ1719116 adaptativo é alterado como: thres (n) := thres (n) + 0,5 * Δ.
Finalmente, cada amostra fEF(n) é modificada para: f'EF(n) = ΡΕΕ(η)-Δ se fEF(n) > 0, e f'EF(n) = ΡΕΕ(η)+Δ se caso contrário.
As variações de energia de curto prazo da sintese de HF SEF(n) são suavizadas no módulo 16015. A energia é medida por sub-trama. A energia de cada sub-trama é modificada por até ± 1,5 dB basada num limiar adaptativo.
Para uma dada sub-trama [SHf(0) Sef(1) ...
Shf (63)], a energia de subtrama é calculado como s2 = 0, 0001 + Shf (0) 2 + Shf (D 2 +· · .+Shf(63)2. O valor t do limiar é actualizado como: min(ε2 * 1,414, t) , se ε2 < t max(ε2 * 1,414, t) , se caso contrário A sub-trama corrente é então escalonada por V(t/s2): [S'hf(0) 5'hfU) · · .S'ef(63) ]=V(t/s2) * [Shf(0) SEF (1) . . . SEF (63) ] Pós-processamento & bateria de filtros de síntese O pós-processamento da sintese de LF e de HF e a recombinação das duas bandas na largura de banda de áudio 114 ΡΕ1719116 original estão ilustrados na Figura 17. A síntese de LF (que é a saída do descodificador ACELP/TCX) é em primeiro lugar pré-enfatizada pelo filtro 17001 função de transformação de 1/ (l-oípreemphZ, x) onde Oípreemph = 0,75. 0 resultado é passado através de um pós-filtro de passo de LF 17002 para reduzir o nível de codificação de ruído entre as harmónicas de passo apenas em segmentos descodificados ACELP. Este pós-filtro toma como parâmetros os ganhos de passo gp = (gpcv 9pi, ···, gPis) e as desfasagens de passo T = (To, Ti,...,Ti5) para cada sub-trama de 5-ms da super-trama de 80-ms. Estes vectores, gp e T são tomados a partir do descodificador ACELP/TCX. 0 filtro 17003 é o filtro passa-alto a 50 Hz de 2a ordem utilizado na codificação de voz AMR-WB. O pós-processamento da síntese de HF é feita através de um módulo de atraso 17005, o qual realiza um alinhamento de tempo simples da síntese de HF para a tornar síncrona com a síntese de LF pós-processada. A síntese de HF é assim retardada por 7 6 amostras de modo a compensar pelo atraso gerado pelo pós-filtro de passo de LF 17002. A bateria de filtros de sintese é realizada pelo módulo de sobre-amostragem de LP 17004, módulo de sobre-amostragem de HF 17007 e o adicionador 17008. A taxa de amostragem de saida FS = 16000 ou 24000 Hz é especificada como um parâmetro. A sobre-amostragem a partir de 12800 Hz para FS nos módulos 17004 e 17007 é implementada de uma 115 ΡΕ1719116 forma semelhante à da codificação de voz AMR- WB. Quando FS = 16000, os sinais pós-filtrados de LF e de HF são sobre-amostrados por 5, processado por um filtro FIR de 120a ordem, em seguida sub-amostrados por 4 e escalonados por 5/4. A diferença entre os módulos de sobre-amostragem 17004 e 17007 é afectada com os coeficientes do filtro FIR de 120a ordem. Da mesma forma, quando FS = 24000, os sinais pós-f iltrados de LF e de HF são sub-amostrados por 15, processados por um filtro FIR de 368a ordem, em seguida sub-amostrados por 8 e escalonados por 15/8. O adicionador 17008 finalmente combina os dois sinais sobre-amostrados de LF e de HF para formar a super-trama de 80-ms do sinal de áudio de saida.
Embora a presente invenção tenha aqui sido acima descrita por meio do modelo de realização ilustrativo que não é restritivo, deve ser mantido em mente que estes modelos de realização podem ser modificados com à vontade, dentro do âmbito das reivindicações anexas. ΡΕ1719116 116
Tabela A- 1
Lista dos símbolos-chave de acordo com o modelo de realização ilustrativo da invenção (a) Quantização vectorial RE8multi-taxa auto-escalonável. Símbolo Significado Notas N Dimensão da quantização vectorial Λ Recticulado (regular) de dimensão N RE8 x ou X y ou Y n Qn i nE R Recticulado de Gosset de dimensão 8. Vector fonte de dimensão 8. Ponto recticulado mais próximo de x em RE8. Número de tabela de codificação, restringido ao conjunto {0, 2, 3, 4, 5, . . . } . Tabela de codificação recticulada em \ de índice n. índice do Ponto recticulado numa tabela de codificação Qn. Representação binária do número n de tabela de codificação. Alocação de bits para a quantização vectorial RE8 multi-taxa auto-escalável (i.e., dimensionamento de bits disponíveis para quantizar x) No quantizador vectorial RE8 multi-taxa auto-escalonável, Qn é indexado com 4n bits. Na quantização vectorial RE8 multi-taxa auto-escalável, o índice i é representado com 4 bits. Ver Tabela 2 para um exemplo. 117 ΡΕ1719116 (b) Quantização vectorial RE8 multi-taxa auto-escalonável de divisão.
Símbolo Signi ficado Notas M Arredondamento para o número inteiro mais próximo no sentido de + 00 Às vezes chamado de ceil () N Dimensão da quantização vectorial múltiplo de 8 K K número de sub-vectores de dimensão 8 s? II Co ih REs Recticulado de Gosset de dimensão 8. CD Produto cartesiano de RE8 (K vezes): REgK = REg 0 ... 0 REg esta é uma rede de dimensão N Z Vector fonte de dimensão N. X Vector de Entrada de dimensão N para quantização vectorial em REg de divisão x=l/gz <3 Parâmetro de ganho da quantização vectorial de ganho de forma e Vector de energias dividida (K-tuplo) e= (e(0), . ..,e(K-l) ) e (k)=z (8k)2+____+z (8k+7 )2, 0 < k < K-l R Vector de dimensionamento de bit dividido estimado (K-tuplo) para g = 1 R= (R (0) , . . .,R(K-1) ) b Vector de alocação de bit dividido estimado (K-tuplo) para um determinado desvio b=(b(0), . ..,b(K-l) ) Para um determinado desvio, b (k) =R (k) -desvio (offset) , se b (k) <0, b (k) :=0 Offset Desvio de inteiro em domínio logarítmico utilizado na pesquisa discreta para o g óptimo rr_-^offset/10 y QbdesvioE255 fac Estimativa do nível de ruído V mais próximo malha ponto de x em RE8 K 118 ΡΕ1719116 nq Vector de números tabela de codificação (K-tuplo) nq=(nq(0),...,nq(K-l)1) cada entrada nq(k), é restringida para o conjunto}0,2,3,4,5,...} Qn Tabela de codificação recticulada em RE$ de indice n. Qn é indexado com 4n bits. ᣠVector de índices (K-tuplo) iq=(iq(0) , . . . ,iqr (k-1) ) o índice de iq(k), é representado com 4nq(k) bits. nqE Vector de (comprimento variável) representações binárias para os números da tabela de codificação em nq' Ver Tabela 2 para um exemplo R Alocação de bit para dividir a quantização vectorial REs multi-taxa auto-escalonável (isto é, dimensionamento disponível de bit para quantizar x) nq' Vector de números de tabela de codificação (K-tuplo) de tal que o dimensionamento de bit necessário para a multiplexagem de nqE e iq (até último sub-vector) não exceda R nq' = (nq' (0) , . . . ,nq' (K-D) cada entrada nq' (k) () é restringida ao conjunto {0, 2, 3, 4, 5, ...}. last índice do último sub-vector a ser multiplexado na tabela de formatação parm 0<last^K-l pos índices de sub-vectores classificados em relação às suas energias de divisão pos= (pos (0) , . . . ,pos (K-Di) pos é uma permutação de (0,1,...,K-1) e (pos (0)) A e (pos ((1)) A ... > e (pos (K-1)) parm tabela de formatação de inteiros para multiplexagem \R/4] entradas de inteiro cada entrada tem 4 bits, excepto para a 119 ΡΕ1719116 última, que tenha (R mod 4) bits se R não for um múltiplo de 4, caso contrário 4 bits. pOSi ponteiro para escrever/ler indices em tabela de formatação parm no caso de um único pacote: inicializado em 0, incrementado por etapas de múltiplos inteiros de 4 pOSn ponteiro para escrever / ler os números no tabela de codificação parm mesa formatação no caso de um único pacote: inicializado para R-l, desincrementado por etapas de inteiros 120 ΡΕ1719116 (c) codificação de transformação baseada em quantização vectorial RE8 multi-taxa auto-escalonável de divisão: Símbolo Significado Notas N Dimensão de quantização de vector. re8 Recticulado de Gosset de dimensão 8. R Alocação de bits para a quantização vectorial RE8 multi-taxa auto-escalonável (ou seja, dimensionamento de bit disponivel para quantizar x) 121 ΡΕ1719116
REFERÊNCIAS (Jayant, 1984) N.S. Jayant and P. Noll, Digital Coding of Waveforms - Principies and Applications to Speech and Video, Prentice-Hall, 1984 (Gersho, 1992) A. Gersho and R.M. Gray, Vector quantization and signal compression, Kluwer Academic Publishers, 1992 (Kleijn, 1995) W.B. Kleijn and K.P. Paliwal, Speech coding and synthesis, Elsevier, 1995 (Gibson, 1988) J.D. Gibson and K. Sayood, "Lattice Quantization," Adv. Electron. Phys., vol. 72, pp. 259-331, 1988 (Lefebvre, 1994) R. Lefebvre and R. Salami and C. Laflamme and J.-P. Adoul, "High quality coding of wideband audio signals using transform coded excitation (TCX)," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1, 19-22 April 1994, pp. 1/193-1/196 (Xie, 1996) M. Xie and J-P. Adoul, "Embedded algebraic vector quantizers (EAVQ) with application to wideband speech coding," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1, 7-10 May 1996 , pp. 240 -243 (Ragot, 2002) S. Ragot, B. Bessette and J.-P. Adoul, A Method and System for Multi-Rate Lattice Vector Quantization ofa Signal, PCT application W003103151 A1 (Jbira, 1998) A. Jbira and N. Moreau and P. Dymarski, "Low delay coding of wideband audio (20 Hz-15 kHz) at 64 kbps," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 6, 12-15 May 1998, pp. 3645 -3648 (Schnitzler, 1999) J. Schnitzler et al., "Wideband speech coding using forward/backward adaptive prediction with mixed time/frequency domain excitation," Proceedings IEEE Workshop on Speech Coding Proceedings, 20-23 June 1999, pp. 4-6 (Moreau, 1992) N. Moreau and P. Dymarski, "Successive orthogonalizations in the multistage CELP coder," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), 1992, pp. 61-64 (Bessette, 2002) B. Bessette et al., "The adaptive multirate wideband speech codec (AMR-WB)," IEEE Transactions on Speech and Audio Processing, vol. 10, no. 8, Nov. 2002, pp. 620 -636 (Bessette, 1999) B. Bessette and R. Salami and C. Laflamme and R. Lefebvre, . "A wideband speech and audio codec at 16/24/32 kbit/s using hybrid ACELP/TCX techniques," Proceedings IEEE Workshop on Speech Coding Proceedings, 20-23 June 1999, pp. 7-9 (Chen, 1997) J.-H. Chen, "A candidate coder for the ITU-T’s new wideband speech coding Standard," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 2,21-24 April 1997, pp. 1359-1362 (Chen, 1996) J.-H. Chen and D. Wang, "Transform predictive coding of wideband speech signals," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1,7-10 May 1996, pp. 275-278 122 ΡΕ1719116 (Ramprashad, 2001) S.A. Ramprashad, "The multimode transform predictive coding paradigm," IEEE Transactions on Speech and Audio Processing, vol. 11, no. 2 , March 2003, pp. 117-129 (Combescure, 1999) P. Combescure et al., "A 16, 24, 32 kbit/s wideband speech codec based on ATCELP," Proceedings IEEE International Conference on Acoustics, Speech, and Signal Processing (ICASSP), vol. 1,15-19 March 1999, pp. 5-8 (3GPPTS 26.190) 3GPP TS 26.190, "AMR Wideband Speech Codec; Transcoding Functions". (3GPPTS 26.173) 3GPP TS 26.173, "ANSI-C code for AMR Wideband speech codec". 123 ΡΕ1719116
Parâmetro Alocação de bits por trama de 20-ms i ;, í, k llllllliíl iiiliiillílii! iiilililiiliiii . Parâmetros ISF 46 média de energia 2 Atraso de passo 32 Filtro de passo 4x1 Parâmetro Alocação de bits por trama de 20-ms i ;, í, k llllllliíl iiiliiillílii! i!ililil!il!iii . Parâmetros ISF 46 média de energia 2 Atraso de passo 32 Filtro de passo 4x1 índices de tabela de codificação fixados 4 x 36 4 x 52 4x64 4 x 72 4 x 88 Ganhos de Tabela de codificação 4x7 Total em bits .:54
Tabela 4. Alocação de bits para uma trama ACELP de 20-ms. 124 ΡΕ1719116
Parâmetro Alocação de bits por trama de 20-ms i ;, í, k lllllllill III1I1IIIIIIII lllllllill . Parâmetros ISF 46 Factor de Ruído 3 Ganho Global 7 VQ Algébrico 198 262 310 342 406 Total em bits 254 366 462
Tabela 5a. Alocação de bits para uma trama TCX de 20-ms. 125 ΡΕ1719116
Parâmetro Alocacáo de bits por trama de 40-ms íl trama de 20-ms, 2' trama de 20-ms) 13,6 K | 16,8 K | IS,2 k | 20,8 K | 24 K Parâmetros ISF 46 (16,30) Factor de Ruído 3 (3,0) Ganho Global 13 (7,6) VQ Algébrico 446 (228,218) 574 (292,282) 670 (340,330) 734 (372,362) 862 (436,426) Total em bits 30o 7.;_ 796
Tabela 5b. Alocação de bits para uma trama TCX de 40-ms. 126 ΡΕ1719116
Parâmetro ' , - ' 1 , < mm : . V : -N Parâmetros ISF 46 (16,6,12,12 ) Factor de Ruído 3 (0,3,0,0) Ganho Global 16 (7,3,3,3) VQ Algébrico 960 (231,242,239 , 239) 1207 (295,306,303 , 303) 1399 (343,354,359 , 359) 15 3 6 (375,386,383 , 383) 1792 (439,450,447 , 447) Total em bits iiiiiiiiiiiiiii ' 2 ;/ i!!!!!l!i!ii!i >3
Tabela 5c. Alocação de bits para uma trama TCX de 80-ms. 127 ΡΕ1719116
Parâmetro Alocacão de bits por trama de 20/40/80-ms Parâmetros ISF 9 (2+7) Ganho 7 Correcções de Ganho 0/8 x 2/ 16 x 3 Total em bits 16 / 32 / 64
Tabela 6. Alocação de bits para extensão de largura de banda.
Lisboa, 29 de Outubro de 2013

Claims (26)

  1. ΡΕ1719116 1 REIVINDICAÇÕES 1. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, na junção entre uma trama anterior codificada de acordo com o modo de codificação ACELP e uma trama corrente codificada de acordo com o modo de codificação TCX, em que o sinal sonoro é filtrado através de um filtro de ponderação para produzir, na trama corrente, um sinal ponderado, compreendendo: o cálculo de uma resposta de entrada com zero do filtro de ponderação; truncagem e a gestão de janela para a resposta de entrada com zero, para que a referida resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois de um predeterminado período de tempo, e a remoção, na trama corrente, da resposta de entrada com zero, truncada e em janela gerida, a partir do sinal ponderado.
  2. 2. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 1, em que o cálculo da resposta de entrada com zero do filtro de ponderação compreende o cálculo de uma resposta de entrada com zero no domínio ponderado. 2 ΡΕ1719116
  3. 3. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 1, em que a truncagem e a gestão de janela para a resposta de entrada com zero compreende a truncagem da referida resposta de entrada com zero para o periodo de tempo predeterminado.
  4. 4. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 1, compreendendo a gestão de janela para o sinal ponderado dentro de uma trama TCX de duração predeterminada após, a resposta de entrada com zero, truncada e em janela gerida, ter sido removida a partir do sinal ponderado.
  5. 5. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 4, compreendendo ainda a transformação para o dominio de frequência do sinal ponderado de janela gerida, dentro de uma trama TCX de duração pré-determinada.
  6. 6. Um método para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 1, em que o filtro de ponderação é um filtro de ponderação do espectro sonoro. 3 ΡΕ1719116
  7. 7. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, na junção entre uma trama anterior codificada de acordo com o modo de codificação ACELP e uma trama corrente codificada de acordo com o modo de codificação TCX, em que o sinal sonoro é filtrado através de um filtro de ponderação para produzir, na trama corrente, um sinal ponderado, compreendendo: meios para cálculo de uma resposta de entrada com zero do filtro de ponderação; meios para truncagem e a gestão de janela para a resposta de entrada com zero, para que a referida resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois de um predeterminado período de tempo, e meios para a remoção, na trama corrente, da resposta de entrada com zero, truncada e em janela gerida, a partir do sinal ponderado.
  8. 8. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, na junção entre uma trama anterior codificada de acordo com o modo de codificação ACELP e uma trama corrente codificada de acordo com o modo de codificação TCX, em que o sinal sonoro é filtrado através de um filtro de ponderação para produzir, na trama corrente, um sinal ponderado, compreendendo: uma calculadora para cálculo de uma resposta de entrada com zero do filtro de ponderação; 4 ΡΕ1719116 um gerador de janela para truncagem e a gestão de janela para a resposta de entrada com zero, para que a referida resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois de um predeterminado período de tempo, e um adicionador para a remoção, na trama corrente, da resposta de entrada com zero, truncada e em janela gerida, a partir do sinal ponderado.
  9. 9. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 8, em que o calculador para resposta de entrada com zero calcula uma resposta de entrada com zero no domínio ponderado.
  10. 10. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 8, em que o gerador de janela faz a truncagem da resposta de entrada com zero para o período de tempo predetermi nado.
  11. 11. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 8, que compreende um outro gerador de janela para a gestão de janela do sinal ponderado dentro de uma trama TCX de duração predeterminada após, a resposta de 5 ΡΕ1719116 entrada com zero, truncada e em janela gerida, ter sido removida a partir do sinal ponderado.
  12. 12. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 11, que compreende ainda um módulo de transformação de frequência o qual, em funcionamento, transforma no domínio da frequência o sinal ponderado de janela gerida dentro de uma trama TCX de duração pré- determinada .
  13. 13. Um dispositivo para comutar a partir de um sinal sonoro em modo de codificação ACELP para um sinal sonoro em modo de codificação TCX, tal como definido na reivindicação 8, em que o filtro de ponderação é um filtro de ponderação do espectro sonoro.
  14. 14. Um método para a produção a partir de um sinal alvo descodificado um sinal alvo adicionado de sobreposição numa trama corrente codificada de acordo com um modo de codificação TCX, que compreende: gestão de janela do sinal alvo descodificado da trama corrente numa determinada janela; ignorância de uma parte esquerda da janela; calculando uma resposta de entrada com zero do filtro de ponderação da trama anterior codificada de acordo com um modo de codificação ACELP e truncagem e a gestão de janela para a resposta de entrada com zero para que a referida 6 ΡΕ1719116 resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois de um período de tempo predeterminado, e adição da resposta de entrada com zero truncada e de janela gerida com o sinal alvo descodificado para reconstruir o referido o sinal alvo adicionado de sobreposição.
  15. 15. Um método para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 14, compreendendo ponderação da anterior resposta de entrada com zero calculada para gerir a janela da referida resposta de entrada com zero calculada.
  16. 16. Um método para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 15, em que a ponderação de resposta de entrada com zero calculada compreende em modo do espectro sonoro a ponderação da referida resposta de entrada com zero calculada.
  17. 17. Um método para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 14, que compreende preservação da última parte de amostras da trama corrente numa memória tampão.
  18. 18. Um método para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação [[16]] 14, em que a truncada e em janela 7 ΡΕ1719116 gerida resposta de entrada com zero calculada, tenha uma amplitude monotonicamente decrescente para zero depois de 10 ms.
  19. 19. Um dispositivo para a produção, a partir de um sinal de alvo descodificado, de um sinal alvo adicionado de sobreposição numa trama corrente codificada de acordo com um modo de codificação TCX, que compreende: meios para gerir a janela do sinal alvo descodificado da trama corrente numa determinada janela; meios para ignorar uma parte esquerda da janela; meios para o cálculo de uma resposta de entrada com zero de um filtro de ponderação da trama anterior codificada de acordo com um modo de codificação ACELP, e meios para a truncagem e de gestão da janela de resposta de entrada com zero, para que a referida resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois um período de tempo predeterminado, e meios para adição da resposta de entrada com zero truncada e de janela gerida com o sinal alvo descodificado para reconstruir o referido o sinal alvo adicionado de sobreposição.
  20. 20. Um dispositivo para a produção, a partir de um sinal de alvo descodificado, de um sinal alvo adicionado de sobreposição numa trama corrente codificada de acordo com um modo de codificação TCX, que compreende: um primeiro gerador de janela para gerir janela do sinal alvo descodificado da trama corrente numa ΡΕ1719116 determinada janela ; meios para ignorar uma parte esquerda da janela; um calculador de uma resposta de entrada com zero de um filtro de ponderação da trama anterior codificada de acordo com um modo de codificação ACELP, e meios para a truncagem e de gestão da janela de resposta de entrada com zero, para que a referida resposta de entrada com zero tenha uma amplitude monotonicamente decrescente para zero depois um período de tempo predeterminado, e um adicionador para adicionar a resposta de entrada com zero truncada e de janela gerida com o sinal alvo descodificado para reconstruir o referido o sinal alvo adicionado de sobreposição.
  21. 21. Um dispositivo para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 20, que compreende um filtro para ponderação da anterior resposta de entrada com zero calculada para gerir a janela da referida resposta de entrada com zero calculada.
  22. 22. Um dispositivo para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 21, em que o filtro de ponderação é um filtro de ponderação do espectro sonoro.
  23. 23. Um dispositivo para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 20, compreendendo uma memória tampão para 9 ΡΕ1719116 preservar uma última parte de amostras da trama corrente.
  24. 24. Um dispositivo para a produção de um sinal alvo adicionado de sobreposição, tal como definido na reivindicação 20, em que a truncada e de janela gerida, resposta de entrada com zero calculada tenha uma amplitude monotonnicamente decrescente para zero depois de 10 ms.
  25. 25. O método da reivindicação 1, compreendendo ainda baixa frequência enfatizando o espectro do sinal ponderado a partir do qual a truncada e de janela gerida, resposta de entrada com zero tenha sido removida, transformada num domínio de frequência utilizando uma transformada de Fourier rápida, o espectro compreendendo coeficientes de transformada agrupados num determinado número de blocos, a enfatização do espectro de baixa frequência que compreende: cálculo de um máximo de energia Emax para um certo bloco tendo um índice de posição; cálculo de um factor de Rm para cada bloco tendo um índice de posição m mais pequeno do que o índice de posição do bloco com o máximo de energia Emax, o cálculo de um factor de compreendendo, para cada bloco: - calcular uma de energia Em do bloco; e - calcular o factor de R^ a partir do máximo de energia calculado Emax e a energia calculada Em do bloco utilizando a relação Rm = Emax/Em, em que se Rm > 10, então Rm é definido como 10 e se Rm > R(m-l), então Rm é definido como R(m-p e 10 ΡΕ1719116 para cada bloco, a determinação a partir do factor Rm de um ganho (Rm)1/4 aplicado aos coeficientes de transformada do bloco.
  26. 26. O dispositivo da reivindicação 7, compreendendo meios para a baixa frequência enfatizando o espectro do sinal ponderado, a partir do qual a truncada e de janela gerida resposta de entrada com zero tenha sido removida, transformada num dominio de frequência utilizando uma transformada de Fourier rápida, o espectro compreendendo coeficientes de transformada agrupados num determinado número de blocos, e os meios para a enfatização do espectro de baixa frequência compreendendo; meios para cálculo de um máximo de energia Emax para um certo bloco tendo um indice de posição; meios para cálculo de um factor de Rm para cada bloco tendo um indice de posição m mais pequeno do que o indice de posição do bloco com o máximo de energia Emax, o cálculo de um factor de Rm compreendendo, para cada bloco: - meios para calcular uma de energia Em do bloco; e - Os meios calcular o factor de Rm a partir do máximo de energia calculado Emax e a energia calculada Em do bloco utilizando a relação Rm = Emax/Em, em que se Rm > 10, então Rm é definido como 10 e se Rm > R(m-l), então Rm é definido como R(m-p e Meios para determinar para cada bloco, a 11 ΡΕ1719116 determinação a partir do factor de um ganho (Rm) 1/4 aplicado aos coeficientes de transformada do bloco. Lisboa, 29 de Outubro de 2013
PT57064941T 2004-02-18 2005-02-18 A comutação de acelp para o modo de codificação tcx PT1719116E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CA002457988A CA2457988A1 (en) 2004-02-18 2004-02-18 Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization

Publications (1)

Publication Number Publication Date
PT1719116E true PT1719116E (pt) 2013-11-05

Family

ID=34842422

Family Applications (1)

Application Number Title Priority Date Filing Date
PT57064941T PT1719116E (pt) 2004-02-18 2005-02-18 A comutação de acelp para o modo de codificação tcx

Country Status (12)

Country Link
US (2) US7979271B2 (pt)
EP (1) EP1719116B1 (pt)
JP (1) JP4861196B2 (pt)
CN (1) CN1957398B (pt)
AU (1) AU2005213726A1 (pt)
BR (1) BRPI0507838A (pt)
CA (2) CA2457988A1 (pt)
DK (1) DK1719116T3 (pt)
ES (1) ES2433043T3 (pt)
PT (1) PT1719116E (pt)
RU (1) RU2389085C2 (pt)
WO (1) WO2005078706A1 (pt)

Families Citing this family (196)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7483386B2 (en) * 2005-03-31 2009-01-27 Alcatel-Lucent Usa Inc. Adaptive threshold setting for discontinuous transmission detection
US7707034B2 (en) * 2005-05-31 2010-04-27 Microsoft Corporation Audio codec post-filter
FR2888699A1 (fr) * 2005-07-13 2007-01-19 France Telecom Dispositif de codage/decodage hierachique
JP4876574B2 (ja) * 2005-12-26 2012-02-15 ソニー株式会社 信号符号化装置及び方法、信号復号装置及び方法、並びにプログラム及び記録媒体
WO2007083931A1 (en) * 2006-01-18 2007-07-26 Lg Electronics Inc. Apparatus and method for encoding and decoding signal
WO2007107670A2 (fr) * 2006-03-20 2007-09-27 France Telecom Procede de post-traitement d'un signal dans un decodeur audio
ATE533289T1 (de) * 2006-05-26 2011-11-15 Incard Sa Verfahren zum implementieren von voice over ip mittels eines mit einem paketorientierten netz verbundenen elektronischen geräts
KR20070115637A (ko) * 2006-06-03 2007-12-06 삼성전자주식회사 대역폭 확장 부호화 및 복호화 방법 및 장치
US8682652B2 (en) 2006-06-30 2014-03-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder and audio processor having a dynamically variable warping characteristic
BRPI0712625B1 (pt) * 2006-06-30 2023-10-10 Fraunhofer - Gesellschaft Zur Forderung Der Angewandten Forschung E.V Codificador de áudio, decodificador de áudio, e processador de áudio tendo uma caractéristica de distorção ("warping") dinamicamente variável
EP2054876B1 (en) * 2006-08-15 2011-10-26 Broadcom Corporation Packet loss concealment for sub-band predictive coding based on extrapolation of full-band audio waveform
US8239190B2 (en) * 2006-08-22 2012-08-07 Qualcomm Incorporated Time-warping frames of wideband vocoder
JP4827661B2 (ja) * 2006-08-30 2011-11-30 富士通株式会社 信号処理方法及び装置
WO2008035949A1 (en) * 2006-09-22 2008-03-27 Samsung Electronics Co., Ltd. Method, medium, and system encoding and/or decoding audio signals by using bandwidth extension and stereo coding
US7953595B2 (en) 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
EP3288027B1 (en) 2006-10-25 2021-04-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for generating complex-valued audio subband values
USRE50158E1 (en) 2006-10-25 2024-10-01 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for generating audio subband values and apparatus and method for generating time-domain audio samples
WO2008053970A1 (fr) * 2006-11-02 2008-05-08 Panasonic Corporation Dispositif de codage de la voix, dispositif de décodage de la voix et leurs procédés
KR101434198B1 (ko) * 2006-11-17 2014-08-26 삼성전자주식회사 신호 복호화 방법
US8639500B2 (en) * 2006-11-17 2014-01-28 Samsung Electronics Co., Ltd. Method, medium, and apparatus with bandwidth extension encoding and/or decoding
EP1927981B1 (en) * 2006-12-01 2013-02-20 Nuance Communications, Inc. Spectral refinement of audio signals
EP2096631A4 (en) * 2006-12-13 2012-07-25 Panasonic Corp TONE DECODING DEVICE AND POWER ADJUSTMENT METHOD
FR2911020B1 (fr) * 2006-12-28 2009-05-01 Actimagine Soc Par Actions Sim Procede et dispositif de codage audio
FR2911031B1 (fr) * 2006-12-28 2009-04-10 Actimagine Soc Par Actions Sim Procede et dispositif de codage audio
KR101379263B1 (ko) * 2007-01-12 2014-03-28 삼성전자주식회사 대역폭 확장 복호화 방법 및 장치
CN101231850B (zh) * 2007-01-23 2012-02-29 华为技术有限公司 编解码方法及装置
US20080208575A1 (en) * 2007-02-27 2008-08-28 Nokia Corporation Split-band encoding and decoding of an audio signal
JP4871894B2 (ja) * 2007-03-02 2012-02-08 パナソニック株式会社 符号化装置、復号装置、符号化方法および復号方法
ES2404408T3 (es) * 2007-03-02 2013-05-27 Panasonic Corporation Dispositivo de codificación y método de codificación
GB0704622D0 (en) * 2007-03-09 2007-04-18 Skype Ltd Speech coding system and method
US8630863B2 (en) * 2007-04-24 2014-01-14 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding audio/speech signal
CN102271024B (zh) * 2007-06-10 2014-04-30 华为技术有限公司 帧补偿方法及系统
CN101321033B (zh) * 2007-06-10 2011-08-10 华为技术有限公司 帧补偿方法及系统
US20090006081A1 (en) * 2007-06-27 2009-01-01 Samsung Electronics Co., Ltd. Method, medium and apparatus for encoding and/or decoding signal
WO2009001874A1 (ja) * 2007-06-27 2008-12-31 Nec Corporation オーディオ符号化方法、オーディオ復号方法、オーディオ符号化装置、オーディオ復号装置、プログラム、およびオーディオ符号化・復号システム
CN100583649C (zh) 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
BRPI0814129A2 (pt) * 2007-07-27 2015-02-03 Panasonic Corp Dispositivo de codificação de áudio e método de codificação de áudio
JP5098492B2 (ja) * 2007-07-30 2012-12-12 ソニー株式会社 信号処理装置及び信号処理方法、並びにプログラム
JP5045295B2 (ja) * 2007-07-30 2012-10-10 ソニー株式会社 信号処理装置及び方法、並びにプログラム
KR101410229B1 (ko) * 2007-08-20 2014-06-23 삼성전자주식회사 오디오 신호의 연속 정현파 신호 정보를 인코딩하는 방법및 장치와 디코딩 방법 및 장치
DK2571024T3 (en) 2007-08-27 2015-01-05 Ericsson Telefon Ab L M Adaptive transition frequency between the noise filling and bandwidth extension
ES2704286T3 (es) 2007-08-27 2019-03-15 Ericsson Telefon Ab L M Método y dispositivo para la descodificación espectral perceptual de una señal de audio, que incluyen el llenado de huecos espectrales
CN100524462C (zh) 2007-09-15 2009-08-05 华为技术有限公司 对高带信号进行帧错误隐藏的方法及装置
CN101889306A (zh) * 2007-10-15 2010-11-17 Lg电子株式会社 用于处理信号的方法和装置
KR101540138B1 (ko) * 2007-12-20 2015-07-28 퀄컴 인코포레이티드 적응적 조사영역을 갖는 모션추정 장치 및 방법
KR101536794B1 (ko) * 2007-12-20 2015-07-14 퀄컴 인코포레이티드 후광현상이 줄어든 영상보간 장치 및 방법
CN101572092B (zh) * 2008-04-30 2012-11-21 华为技术有限公司 编解码端的固定码本激励的搜索方法及装置
WO2010005360A1 (en) * 2008-07-08 2010-01-14 Scalado Ab Method for compressing images and a format for compressed images
CA2972808C (en) * 2008-07-10 2018-12-18 Voiceage Corporation Multi-reference lpc filter quantization and inverse quantization device and method
EP2311034B1 (en) * 2008-07-11 2015-11-04 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder for encoding frames of sampled audio signals
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
CN102089814B (zh) * 2008-07-11 2012-11-21 弗劳恩霍夫应用研究促进协会 对编码的音频信号进行解码的设备和方法
EP2301028B1 (en) 2008-07-11 2012-12-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. An apparatus and a method for calculating a number of spectral envelopes
EP4407610A1 (en) * 2008-07-11 2024-07-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
EP2144231A1 (en) * 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme with common preprocessing
KR101381513B1 (ko) 2008-07-14 2014-04-07 광운대학교 산학협력단 음성/음악 통합 신호의 부호화/복호화 장치
ES2592416T3 (es) * 2008-07-17 2016-11-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Esquema de codificación/decodificación de audio que tiene una derivación conmutable
EP2347412B1 (en) * 2008-07-18 2012-10-03 Dolby Laboratories Licensing Corporation Method and system for frequency domain postfiltering of encoded audio data in a decoder
US8532983B2 (en) * 2008-09-06 2013-09-10 Huawei Technologies Co., Ltd. Adaptive frequency prediction for encoding or decoding an audio signal
US8515747B2 (en) * 2008-09-06 2013-08-20 Huawei Technologies Co., Ltd. Spectrum harmonic/noise sharpness control
US8407046B2 (en) * 2008-09-06 2013-03-26 Huawei Technologies Co., Ltd. Noise-feedback for spectral envelope quantization
US8532998B2 (en) 2008-09-06 2013-09-10 Huawei Technologies Co., Ltd. Selective bandwidth extension for encoding/decoding audio/speech signal
US8577673B2 (en) * 2008-09-15 2013-11-05 Huawei Technologies Co., Ltd. CELP post-processing for music signals
WO2010031003A1 (en) 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
CN102216982A (zh) * 2008-09-18 2011-10-12 韩国电子通信研究院 在基于修正离散余弦变换的译码器与异质译码器间转换的编码设备和解码设备
FR2936898A1 (fr) * 2008-10-08 2010-04-09 France Telecom Codage a echantillonnage critique avec codeur predictif
CN102177426B (zh) * 2008-10-08 2014-11-05 弗兰霍菲尔运输应用研究公司 多分辨率切换音频编码/解码方案
US20100114568A1 (en) * 2008-10-24 2010-05-06 Lg Electronics Inc. Apparatus for processing an audio signal and method thereof
KR101610765B1 (ko) * 2008-10-31 2016-04-11 삼성전자주식회사 음성 신호의 부호화/복호화 방법 및 장치
FR2938688A1 (fr) * 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
GB2466669B (en) * 2009-01-06 2013-03-06 Skype Speech coding
GB2466674B (en) * 2009-01-06 2013-11-13 Skype Speech coding
GB2466671B (en) * 2009-01-06 2013-03-27 Skype Speech encoding
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
GB2466673B (en) 2009-01-06 2012-11-07 Skype Quantization
GB2466670B (en) * 2009-01-06 2012-11-14 Skype Speech encoding
GB2466672B (en) * 2009-01-06 2013-03-13 Skype Speech coding
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
EP2249333B1 (en) * 2009-05-06 2014-08-27 Nuance Communications, Inc. Method and apparatus for estimating a fundamental frequency of a speech signal
KR20110001130A (ko) * 2009-06-29 2011-01-06 삼성전자주식회사 가중 선형 예측 변환을 이용한 오디오 신호 부호화 및 복호화 장치 및 그 방법
EP3474279A1 (en) 2009-07-27 2019-04-24 Unified Sound Systems, Inc. Methods and apparatus for processing an audio signal
CN102498515B (zh) * 2009-09-17 2014-06-18 延世大学工业学术合作社 处理音频信号的方法和设备
US8452606B2 (en) * 2009-09-29 2013-05-28 Skype Speech encoding using multiple bit rates
CA2777073C (en) * 2009-10-08 2015-11-24 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Multi-mode audio signal decoder, multi-mode audio signal encoder, methods and computer program using a linear-prediction-coding based noise shaping
ES2797525T3 (es) 2009-10-15 2020-12-02 Voiceage Corp Conformación simultánea de ruido en el dominio del tiempo y el dominio de la frecuencia para transformaciones TDAC
PL2491553T3 (pl) 2009-10-20 2017-05-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Koder audio, dekoder audio, sposób kodowania informacji audio, sposób dekodowania informacji audio i program komputerowy wykorzystujący iteracyjne zmniejszania rozmiaru przedziału
BR112012009490B1 (pt) 2009-10-20 2020-12-01 Fraunhofer-Gesellschaft zur Föerderung der Angewandten Forschung E.V. ddecodificador de áudio multimodo e método de decodificação de áudio multimodo para fornecer uma representação decodificada do conteúdo de áudio com base em um fluxo de bits codificados e codificador de áudio multimodo para codificação de um conteúdo de áudio em um fluxo de bits codificados
WO2011048117A1 (en) * 2009-10-20 2011-04-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio signal encoder, audio signal decoder, method for encoding or decoding an audio signal using an aliasing-cancellation
BR122020024236B1 (pt) * 2009-10-20 2021-09-14 Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E. V. Codificador de sinal de áudio, decodificador de sinal de áudio, método para prover uma representação codificada de um conteúdo de áudio, método para prover uma representação decodificada de um conteúdo de áudio e programa de computador para uso em aplicações de baixo retardamento
ES2805349T3 (es) 2009-10-21 2021-02-11 Dolby Int Ab Sobremuestreo en un banco de filtros de reemisor combinado
JP5624159B2 (ja) 2010-01-12 2014-11-12 フラウンホーファーゲゼルシャフトツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. オーディオ符号化器、オーディオ復号器、オーディオ情報を符号化および復号するための方法、ならびに以前に復号されたスペクトル値のノルムに基づいてコンテキストサブ領域値を取得するコンピュータプログラム
EP3002752A1 (en) 2010-01-15 2016-04-06 LG Electronics, Inc. Method and apparatus for processing an audio signal
US8537283B2 (en) 2010-04-15 2013-09-17 Qualcomm Incorporated High definition frame rate conversion
ES2719102T3 (es) * 2010-04-16 2019-07-08 Fraunhofer Ges Forschung Aparato, procedimiento y programa informático para generar una señal de banda ancha que utiliza extensión de ancho de banda guiada y extensión de ancho de banda ciega
US9508356B2 (en) 2010-04-19 2016-11-29 Panasonic Intellectual Property Corporation Of America Encoding device, decoding device, encoding method and decoding method
WO2012000882A1 (en) 2010-07-02 2012-01-05 Dolby International Ab Selective bass post filter
AU2016202478B2 (en) * 2010-07-02 2016-06-16 Dolby International Ab Pitch filter for audio signals and method for filtering an audio signal with a pitch filter
US9236063B2 (en) 2010-07-30 2016-01-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dynamic bit allocation
US8489391B2 (en) * 2010-08-05 2013-07-16 Stmicroelectronics Asia Pacific Pte., Ltd. Scalable hybrid auto coder for transient detection in advanced audio coding with spectral band replication
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
KR101826331B1 (ko) * 2010-09-15 2018-03-22 삼성전자주식회사 고주파수 대역폭 확장을 위한 부호화/복호화 장치 및 방법
WO2012037515A1 (en) 2010-09-17 2012-03-22 Xiph. Org. Methods and systems for adaptive time-frequency resolution in digital data coding
US8738385B2 (en) * 2010-10-20 2014-05-27 Broadcom Corporation Pitch-based pre-filtering and post-filtering for compression of audio signals
SI3239979T1 (sl) * 2010-10-25 2024-09-30 Voiceage Evs Llc Kodiranje generičnih zvočnih signalov pri nizkih bitnih hitrostih in majhni zakasnitvi
EP3518234B1 (en) 2010-11-22 2023-11-29 NTT DoCoMo, Inc. Audio encoding device and method
US20130311174A1 (en) * 2010-12-20 2013-11-21 Nikon Corporation Audio control device and imaging device
SG191771A1 (en) * 2010-12-29 2013-08-30 Samsung Electronics Co Ltd Apparatus and method for encoding/decoding for high-frequency bandwidth extension
WO2012095700A1 (en) * 2011-01-12 2012-07-19 Nokia Corporation An audio encoder/decoder apparatus
JP5743137B2 (ja) 2011-01-14 2015-07-01 ソニー株式会社 信号処理装置および方法、並びにプログラム
ES2639646T3 (es) 2011-02-14 2017-10-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificación y decodificación de posiciones de impulso de pistas de una señal de audio
KR101551046B1 (ko) 2011-02-14 2015-09-07 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 저-지연 통합 스피치 및 오디오 코딩에서 에러 은닉을 위한 장치 및 방법
MY166394A (en) 2011-02-14 2018-06-25 Fraunhofer Ges Forschung Information signal representation using lapped transform
PL2676264T3 (pl) 2011-02-14 2015-06-30 Fraunhofer Ges Forschung Koder audio estymujący szum tła podczas faz aktywnych
TWI488176B (zh) * 2011-02-14 2015-06-11 Fraunhofer Ges Forschung 音訊信號音軌脈衝位置之編碼與解碼技術
KR101525185B1 (ko) * 2011-02-14 2015-06-02 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 트랜지언트 검출 및 품질 결과를 사용하여 일부분의 오디오 신호를 코딩하기 위한 장치 및 방법
BR112013020482B1 (pt) 2011-02-14 2021-02-23 Fraunhofer Ges Forschung aparelho e método para processar um sinal de áudio decodificado em um domínio espectral
EP3373296A1 (en) 2011-02-14 2018-09-12 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Noise generation in audio codecs
CN103477387B (zh) * 2011-02-14 2015-11-25 弗兰霍菲尔运输应用研究公司 使用频谱域噪声整形的基于线性预测的编码方案
PL2676265T3 (pl) * 2011-02-14 2019-09-30 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Urządzenie i sposób do kodowania sygnału audio z stosowaniem zrównanej części antycypacji
US9626982B2 (en) * 2011-02-15 2017-04-18 Voiceage Corporation Device and method for quantizing the gains of the adaptive and fixed contributions of the excitation in a CELP codec
WO2012122303A1 (en) 2011-03-07 2012-09-13 Xiph. Org Method and system for two-step spreading for tonal artifact avoidance in audio coding
WO2012122299A1 (en) * 2011-03-07 2012-09-13 Xiph. Org. Bit allocation and partitioning in gain-shape vector quantization for audio coding
WO2012122297A1 (en) 2011-03-07 2012-09-13 Xiph. Org. Methods and systems for avoiding partial collapse in multi-block audio coding
US9536534B2 (en) 2011-04-20 2017-01-03 Panasonic Intellectual Property Corporation Of America Speech/audio encoding apparatus, speech/audio decoding apparatus, and methods thereof
NO2669468T3 (pt) * 2011-05-11 2018-06-02
TWI606441B (zh) * 2011-05-13 2017-11-21 三星電子股份有限公司 解碼裝置
US8873763B2 (en) 2011-06-29 2014-10-28 Wing Hon Tsang Perception enhancement for low-frequency sound components
EP2774147B1 (en) * 2011-10-24 2015-07-22 Koninklijke Philips N.V. Audio signal noise attenuation
EP2772914A4 (en) * 2011-10-28 2015-07-15 Panasonic Corp DECODER FOR HYBRID SOUND SIGNALS, COORDINATORS FOR HYBRID SOUND SIGNALS, DECODING PROCEDURE FOR SOUND SIGNALS AND CODING SIGNALING PROCESSES
EP3754989A1 (en) * 2011-11-01 2020-12-23 Velos Media International Limited Multi-level significance maps for encoding and decoding
US9454972B2 (en) 2012-02-10 2016-09-27 Panasonic Intellectual Property Corporation Of America Audio and speech coding device, audio and speech decoding device, method for coding audio and speech, and method for decoding audio and speech
CN103325373A (zh) 2012-03-23 2013-09-25 杜比实验室特许公司 用于传送和接收音频信号的方法和设备
CA2877161C (en) * 2012-06-28 2020-01-21 Tom Backstrom Linear prediction based audio coding using improved probability distribution estimation
KR101434206B1 (ko) * 2012-07-25 2014-08-27 삼성전자주식회사 신호 복호화 장치
US9325544B2 (en) * 2012-10-31 2016-04-26 Csr Technology Inc. Packet-loss concealment for a degraded frame using replacement data from a non-degraded frame
MY178710A (en) * 2012-12-21 2020-10-20 Fraunhofer Ges Forschung Comfort noise addition for modeling background noise at low bit-rates
CN103915100B (zh) * 2013-01-07 2019-02-15 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置
CN103928031B (zh) * 2013-01-15 2016-03-30 华为技术有限公司 编码方法、解码方法、编码装置和解码装置
KR101434207B1 (ko) 2013-01-21 2014-08-27 삼성전자주식회사 오디오/스피치 신호 부호화방법
KR101775084B1 (ko) * 2013-01-29 2017-09-05 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에.베. 주파수 향상 오디오 신호를 생성하는 디코더, 디코딩 방법, 인코딩된 신호를 생성하는 인코더, 및 컴팩트 선택 사이드 정보를 이용한 인코딩 방법
ES2714289T3 (es) * 2013-01-29 2019-05-28 Fraunhofer Ges Forschung Llenado con ruido en la codificación de audio por transformada perceptual
CA2899013C (en) 2013-01-29 2017-11-07 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Apparatus and method for selecting one of a first audio encoding algorithm and a second audio encoding algorithm
BR112015018040B1 (pt) 2013-01-29 2022-01-18 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Ênfase de baixa frequência para codificação com base em lpc em domínio de frequência
ES2664968T3 (es) 2013-02-05 2018-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Encubrimiento de pérdida de trama de audio
WO2014123469A1 (en) 2013-02-05 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Enhanced audio frame loss concealment
MX2021000353A (es) * 2013-02-05 2023-02-24 Ericsson Telefon Ab L M Método y aparato para controlar ocultación de pérdida de trama de audio.
US9842598B2 (en) 2013-02-21 2017-12-12 Qualcomm Incorporated Systems and methods for mitigating potential frame instability
SI3848929T1 (sl) * 2013-03-04 2023-12-29 Voiceage Evs Llc Naprava in metoda za zmanjšanje šuma kvantizacije v dekoderju časovne domene
IN2015MN02784A (pt) 2013-04-05 2015-10-23 Dolby Int Ab
US9247342B2 (en) 2013-05-14 2016-01-26 James J. Croft, III Loudspeaker enclosure system with signal processor for enhanced perception of low frequency output
JP6201043B2 (ja) 2013-06-21 2017-09-20 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. エラー封じ込め中の切替音声符号化システムについての向上した信号フェードアウトのための装置及び方法
JP6153661B2 (ja) 2013-06-21 2017-06-28 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 改善されたパルス再同期化を採用するacelp型封じ込めにおける適応型コードブックの改善された封じ込めのための装置および方法
BR112015031181A2 (pt) 2013-06-21 2017-07-25 Fraunhofer Ges Forschung aparelho e método que realizam conceitos aperfeiçoados para tcx ltp
FR3008533A1 (fr) * 2013-07-12 2015-01-16 Orange Facteur d'echelle optimise pour l'extension de bande de frequence dans un decodeur de signaux audiofrequences
KR101434209B1 (ko) 2013-07-19 2014-08-27 삼성전자주식회사 오디오/스피치 신호 부호화장치
EP2830061A1 (en) 2013-07-22 2015-01-28 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an encoded audio signal using temporal noise/patch shaping
CN104517611B (zh) * 2013-09-26 2016-05-25 华为技术有限公司 一种高频激励信号预测方法及装置
CN105706166B (zh) * 2013-10-31 2020-07-14 弗劳恩霍夫应用研究促进协会 对比特流进行解码的音频解码器设备和方法
JP6306175B2 (ja) * 2013-10-31 2018-04-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 時間ドメイン励振信号に基づくエラーコンシールメントを用いて、復号化されたオーディオ情報を提供するオーディオデコーダおよび復号化されたオーディオ情報を提供する方法
BR122022008603B1 (pt) 2013-10-31 2023-01-10 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Decodificador de áudio e método para fornecer uma informação de áudio decodificada utilizando uma dissimulação de erro que modifica um sinal de excitação no domínio de tempo
EP3066760B1 (en) * 2013-11-07 2020-01-15 Telefonaktiebolaget LM Ericsson (publ) Methods and devices for vector segmentation for coding
FR3013496A1 (fr) * 2013-11-15 2015-05-22 Orange Transition d'un codage/decodage par transformee vers un codage/decodage predictif
US9293143B2 (en) 2013-12-11 2016-03-22 Qualcomm Incorporated Bandwidth extension mode selection
EP2887350B1 (en) * 2013-12-19 2016-10-05 Dolby Laboratories Licensing Corporation Adaptive quantization noise filtering of decoded audio data
CN104751849B (zh) 2013-12-31 2017-04-19 华为技术有限公司 语音频码流的解码方法及装置
EP3091536B1 (en) * 2014-01-15 2019-12-11 Samsung Electronics Co., Ltd. Weight function determination for a quantizing linear prediction coding coefficient
EP2916319A1 (en) 2014-03-07 2015-09-09 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Concept for encoding of information
CN107369455B (zh) * 2014-03-21 2020-12-15 华为技术有限公司 语音频码流的解码方法及装置
GB2524333A (en) * 2014-03-21 2015-09-23 Nokia Technologies Oy Audio signal payload
JP6035270B2 (ja) * 2014-03-24 2016-11-30 株式会社Nttドコモ 音声復号装置、音声符号化装置、音声復号方法、音声符号化方法、音声復号プログラム、および音声符号化プログラム
US9911427B2 (en) 2014-03-24 2018-03-06 Nippon Telegraph And Telephone Corporation Gain adjustment coding for audio encoder by periodicity-based and non-periodicity-based encoding methods
CN107452391B (zh) 2014-04-29 2020-08-25 华为技术有限公司 音频编码方法及相关装置
WO2015180866A1 (en) * 2014-05-28 2015-12-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Data processor and transport of user control data to audio decoders and renderers
KR102318581B1 (ko) * 2014-06-10 2021-10-27 엠큐에이 리미티드 오디오 신호의 디지털 캡슐화
CN106228991B (zh) 2014-06-26 2019-08-20 华为技术有限公司 编解码方法、装置及系统
EP2980794A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and decoder using a frequency domain processor and a time domain processor
EP2980796A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method and apparatus for processing an audio signal, audio decoder, and audio encoder
EP2980795A1 (en) 2014-07-28 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoding and decoding using a frequency domain processor, a time domain processor and a cross processor for initialization of the time domain processor
CN110444219B (zh) * 2014-07-28 2023-06-13 弗劳恩霍夫应用研究促进协会 选择第一编码演算法或第二编码演算法的装置与方法
TWI602172B (zh) * 2014-08-27 2017-10-11 弗勞恩霍夫爾協會 使用參數以加強隱蔽之用於編碼及解碼音訊內容的編碼器、解碼器及方法
FR3025923A1 (fr) * 2014-09-12 2016-03-18 Orange Discrimination et attenuation de pre-echos dans un signal audionumerique
WO2016142002A1 (en) 2015-03-09 2016-09-15 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, method for encoding an audio signal and method for decoding an encoded audio signal
US9613628B2 (en) 2015-07-01 2017-04-04 Gopro, Inc. Audio decoder for wind and microphone noise reduction in a microphone array system
WO2017040317A1 (en) 2015-08-28 2017-03-09 Thoratec Corporation Blood pump controllers and methods of use for improved energy efficiency
US10008214B2 (en) * 2015-09-11 2018-06-26 Electronics And Telecommunications Research Institute USAC audio signal encoding/decoding apparatus and method for digital radio services
CN108352165B (zh) * 2015-11-09 2023-02-03 索尼公司 解码装置、解码方法以及计算机可读存储介质
US9986202B2 (en) 2016-03-28 2018-05-29 Microsoft Technology Licensing, Llc Spectrum pre-shaping in video
JP6976277B2 (ja) * 2016-06-22 2021-12-08 ドルビー・インターナショナル・アーベー 第一の周波数領域から第二の周波数領域にデジタル・オーディオ信号を変換するためのオーディオ・デコーダおよび方法
CN107845385B (zh) 2016-09-19 2021-07-13 南宁富桂精密工业有限公司 信息隐藏的编解码方法及系统
BR112020004909A2 (pt) * 2017-09-20 2020-09-15 Voiceage Corporation método e dispositivo para distribuir, de forma eficiente, um bit-budget em um codec celp
BR112020008223A2 (pt) * 2017-10-27 2020-10-27 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. decodificador para decodificação de um sinal de domínio de frequência definido em um fluxo de bits, sistema que compreende um codificador e um decodificador, métodos e unidade de armazenamento não transitório que armazena instruções
US10847172B2 (en) * 2018-12-17 2020-11-24 Microsoft Technology Licensing, Llc Phase quantization in a speech encoder
BR112021020507A2 (pt) * 2019-05-07 2021-12-07 Voiceage Corp Métodos e dispositivos para detectar um ataque em um sinal de som a ser codificado e para codificar o ataque detectado
TWI789577B (zh) * 2020-04-01 2023-01-11 同響科技股份有限公司 音訊資料重建方法及系統
JPWO2023100494A1 (pt) * 2021-12-01 2023-06-08

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61242117A (ja) 1985-04-19 1986-10-28 Fujitsu Ltd ブロツクフロ−テイング方式
GB9512284D0 (en) * 1995-06-16 1995-08-16 Nokia Mobile Phones Ltd Speech Synthesiser
US6092041A (en) * 1996-08-22 2000-07-18 Motorola, Inc. System and method of encoding and decoding a layered bitstream by re-applying psychoacoustic analysis in the decoder
JPH1084284A (ja) * 1996-09-06 1998-03-31 Sony Corp 信号再生方法および装置
JP3307875B2 (ja) * 1998-03-16 2002-07-24 松下電送システム株式会社 符号化音声再生装置および符号化音声再生方法
US7272556B1 (en) * 1998-09-23 2007-09-18 Lucent Technologies Inc. Scalable and embedded codec for speech and audio signals
US6003224A (en) 1998-10-16 1999-12-21 Ford Motor Company Apparatus for assembling heat exchanger cores
US6691082B1 (en) * 1999-08-03 2004-02-10 Lucent Technologies Inc Method and system for sub-band hybrid coding
JP2001117573A (ja) 1999-10-20 2001-04-27 Toshiba Corp 音声スペクトル強調方法/装置及び音声復号化装置
AU2001285936A1 (en) * 2000-09-08 2002-03-22 Koninklijke Philips Electronics N.V. Audio signal processing with adaptive noise-shaping modulation
JP3478267B2 (ja) 2000-12-20 2003-12-15 ヤマハ株式会社 ディジタルオーディオ信号圧縮方法および圧縮装置
JP3942882B2 (ja) * 2001-12-10 2007-07-11 シャープ株式会社 ディジタル信号符号化装置およびそれを備えたディジタル信号記録装置
CA2388439A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for efficient frame erasure concealment in linear predictive based speech codecs
CA2388358A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
CA2388352A1 (en) 2002-05-31 2003-11-30 Voiceage Corporation A method and device for frequency-selective pitch enhancement of synthesized speed
CA2566368A1 (en) * 2004-05-17 2005-11-24 Nokia Corporation Audio encoding with different coding frame lengths
US7596486B2 (en) * 2004-05-19 2009-09-29 Nokia Corporation Encoding an audio signal using different audio coder modes

Also Published As

Publication number Publication date
AU2005213726A1 (en) 2005-08-25
CA2556797A1 (en) 2005-08-25
RU2389085C2 (ru) 2010-05-10
EP1719116A1 (en) 2006-11-08
CN1957398A (zh) 2007-05-02
JP4861196B2 (ja) 2012-01-25
US20070225971A1 (en) 2007-09-27
EP1719116B1 (en) 2013-10-02
CA2457988A1 (en) 2005-08-18
US7933769B2 (en) 2011-04-26
US20070282603A1 (en) 2007-12-06
CN1957398B (zh) 2011-09-21
RU2006133307A (ru) 2008-03-27
WO2005078706A1 (en) 2005-08-25
JP2007525707A (ja) 2007-09-06
ES2433043T3 (es) 2013-12-09
EP1719116A4 (en) 2007-08-29
DK1719116T3 (da) 2013-11-04
US7979271B2 (en) 2011-07-12
BRPI0507838A (pt) 2007-07-10
CA2556797C (en) 2014-01-07

Similar Documents

Publication Publication Date Title
PT1719116E (pt) A comutação de acelp para o modo de codificação tcx
EP2450883B1 (en) Frame error concealment method and apparatus using regression analysis
RU2696292C2 (ru) Аудиокодер и декодер
US8527265B2 (en) Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
US9666202B2 (en) Adaptive bandwidth extension and apparatus for the same
US20070147518A1 (en) Methods and devices for low-frequency emphasis during audio compression based on ACELP/TCX
JP4394578B2 (ja) 可変ビットレート通話符号化における線形予測パラメータの強力な予測ベクトル量子化方法と装置
KR101698905B1 (ko) 정렬된 예견 부를 사용하여 오디오 신호를 인코딩하고 디코딩하기 위한 장치 및 방법
KR20120121928A (ko) 오디오 코덱 포스트 필터
KR20220045260A (ko) 음성 정보를 갖는 개선된 프레임 손실 보정
Magner Orthogonal analysis of multipulse-excited LPC speech coders
Moreno Variable frame size for vector quantization and application to speech coding
MXPA06009342A (es) Metodos y dispositivos para enfasis a baja frecuencia durante compresion de audio basado en prediccion lineal con excitacion por codigo algebraico/excitacion codificada por transformada (acelp/tcx)