BR112020004883A2 - método e dispositivo para alocar um bit-budget entre subquadros em um codec celp - Google Patents

método e dispositivo para alocar um bit-budget entre subquadros em um codec celp Download PDF

Info

Publication number
BR112020004883A2
BR112020004883A2 BR112020004883-6A BR112020004883A BR112020004883A2 BR 112020004883 A2 BR112020004883 A2 BR 112020004883A2 BR 112020004883 A BR112020004883 A BR 112020004883A BR 112020004883 A2 BR112020004883 A2 BR 112020004883A2
Authority
BR
Brazil
Prior art keywords
bit
budget
celp
module
central
Prior art date
Application number
BR112020004883-6A
Other languages
English (en)
Inventor
Vaclav Eksler
Original Assignee
Voiceage Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Voiceage Corporation filed Critical Voiceage Corporation
Publication of BR112020004883A2 publication Critical patent/BR112020004883A2/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/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/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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

Landscapes

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

Abstract

Um método e dispositivo para alocar um bit-budget a uma pluralidade de primeiras partes e a uma segunda parte de um módulo central do CELP de (a) um codificador para codificar um sinal sonoro ou (b) um decodificador para decodificar o sinal sonoro. Em um quadro do sinal sonoro que compreende subquadros, os respectivos bit-budgets são alocados às primeiras partes do módulo central do CELP e um bit-budget restante, após alocação às primeiras partes do módulo central do CELP de seus respectivos bit-budgets, é alocado à segunda parte do módulo central do CELP. De acordo com uma alternativa, o bit-budget da segunda parte do módulo central do CELP é distribuído entre os subquadros do quadro e um bit-budget maior é alocado a pelo menos um dos subquadros do quadro. O pelo menos um subquadro pode ser o primeiro subquadro do quadro, pelo menos um subquadro após o primeiro subquadro ou o subquadro que usa um livro de códigos no formato de impulso glótico.

Description

Relatório Descritivo da Patente de Invenção para "MÉTO- DO E DISPOSITIVO PARA ALOCAR UM BIT-BUDGET ENTRE SUBQUADROS EM UM CODEC CELP".
CAMPO TÉCNICO
[0001] A presente invenção refere-se a uma técnica para codificar digitalmente um sinal sonoro, por exemplo, um sinal de voz ou de áu- dio, em vista de transmissão ou armazenamento e sintetizar este sinal sonoro. Um codificador converte o sinal sonoro em um fluxo de bits digital usando um bit-budget (espaço, em bits, disponível para grava- ção de uma informação). Um decodificador ou sintetizador, então, ope- ra no fluxo de bits transmitido ou armazenado e o converte novamente ao sinal sonoro. O codificador e o decodificador/sintetizador são co- mumente conhecidos como codec.
[0002] Mais especificamente, mas não exclusivamente, a presente invenção refere-se a um método e um dispositivo para distribuir efici- entemente o bit-budget em um codec.
ANTECEDENTES
[0003] Uma das melhores técnicas para codificar o som em baixas taxas de bits é a codificação Code-Excited Linear Prediction (CELP). Na codificação CELP, o sinal sonoro é coletado e o sinal sonoro cole- tado é processado em blocos sucessivos de L amostras geralmente denominadas quadros (frames), onde L é um número predeterminado que corresponde, tipicamente, a 20 ms. O princípio central por trás do CELP é denominado "Análise por Síntese", onde possíveis saídas do decodificador são sintetizadas durante o processo de codificação e, em seguida, comparadas com o sinal sonoro original. Esta pesquisa minimiza um erro quadrático médio entre o sinal sonoro de entrada e o sinal sonoro sintetizado em um domínio perceptivamente ponderado.
[0004] Na codificação com base em CELP, o sinal sonoro é, tipi- camente, sintetizado ao filtrar uma excitação através de um filtro digital de todos os polos 1/A(z), frequentemente denominado de filtro de sín- tese. O filtro A(z) é calculado por meio de Previsão Linear (Linear Pre- diction, LP) e representa as correlações de curto prazo entre amostras de sinal sonoro. Os coeficientes do filtro LP geralmente são calculados uma vez por quadro. Nos codecs CELP, o quadro é dividido ainda em vários subquadros (geralmente dois (2) a cinco (5)) para codificar a excitação que é, tipicamente, composta de duas partes sequencial- mente pesquisadas. Seus respectivos ganhos podem, então, ser quan- tificados conjuntamente. Na descrição a seguir, o número de subqua- dros é indicado como N e o índice de um subquadro específico é indi- cado como n, onde n=O,..., N-1.
[0005] A primeira parte da excitação é usualmente selecionada a partir de um livro de códigos adaptável. A parte da excitação do livro de códigos adaptável explora a quase periodicidade (ou correlações de longo prazo) do sinal de voz sonorizada ao pesquisar na excitação passada o segmento mais similar ao segmento que está sendo codifi- cado atualmente. A porção de excitação do livro de códigos adaptável é descrita por um índice do livro de códigos adaptável, isto é, um pa- râmetro de atraso que corresponde a um período de afinação (pitch) e um ganho de livro de códigos adaptável adequado, ambos enviados ao decodificador ou armazenados para reconstruir a mesma excitação conforme no codificador.
[0006] A segunda parte da excitação é usualmente um sinal de inovação selecionado a partir de um livro de códigos de inovação. O sinal de inovação modela a evolução (diferença) entre o segmento de fala anterior e o segmento atualmente codificado. A segunda parte da excitação é descrita por um índice de um vetor de código selecionado a partir do livro de códigos de inovação e por um ganho de livro de có- digos de inovação (também conhecido como índice de livro de códigos fixo e ganho de livro de códigos fixo).
[0007] Para melhorar a eficiência da codificação, codecs recentes tais como, por exemplo, G.718, conforme descrito na Referência [1] e EVS, conforme descrito na Referência [2], se baseiam na classificação do sinal sonoro de entrada. Com base nas características do sinal, a codificação básica do CELP é expandida para vários modos de codifi- cação diferentes. Consequentemente, a classificação precisa ser transmitida para o decodificador ou armazenada como uma informa- ção sobre sinalização. Outra informação sobre sinalização que usual- mente é eficiente transmitir é, por exemplo, uma informação sobre lar- gura de banda de áudio.
[0008] Assim, em um codec CELP, as assim denominadas partes do "módulo central" do CELP podem incluir: - Os coeficientes do filtro; - O livro de códigos adaptativo; - O livro de códigos de inovação (fixo); e - Os ganhos do livro de códigos adaptativo e de inovação.
[0009] Os codecs CELP mais recentes se baseiam no princípio da taxa de bits constante (Constant Bit Rate, CBR). Em codecs CBR, um bit-budget para codificar um determinado quadro é constante durante a codificação, independentemente do conteúdo do sinal sonoro ou ca- racterísticas da rede. A fim de obter a melhor qualidade possível em uma dada taxa de bits constante, o bit-budget é cuidadosamente dis- tribuído entre as diferentes partes de codificação. Na prática, o bit- budget por parte de codificação em uma dada taxa de bits é geralmen- te fixo e armazenado em tabelas ROM de codecs. No entanto, quando o número de taxas de bits suportadas por um codec aumenta, o com- primento das tabelas ROM aumenta proporcionalmente e a pesquisa nestas tabelas se torna menos eficiente.
[0010] O problema de grandes tabelas ROM é ainda mais signifi- cativo em codecs complexos, onde o bit-budget alocado ao módulo central do CELP pode flutuar, mesmo em taxas de bits constantes do codec. Por exemplo, em um codec complexo com múltiplos módulos onde o bit-budget em uma taxa de bits constante está alocado entre diferentes módulos com base, por exemplo, no número de canais de entrada de áudio, feedback da rede, largura de banda de áudio, carac- terísticas do sinal de entrada, etc., o bit-budget total do codec está dis- tribuído entre o módulo central do CELP e outros módulos diferentes. Exemplos destes outros módulos diferentes podem compreender, po- rém sem limitações, uma extensão de largura de banda (Band Width Extension, BWE), um módulo estéreo, um módulo de ocultação de erro de quadro (Frame Error Concealment, FEC), etc., os quais são coleti- vamente denominados na presente invenção como "módulos de codec suplementares". Em geral, é vantajoso manter o bit-budget alocado por módulo suplementar variável com base nas características do sinal ou feedback da rede. Além disso, os módulos de codec suplementares podem ser ativados e desativados de forma adaptável. Esta variabili- dade geralmente não causa problemas para a codificação de módulos suplementares, uma vez que o número de parâmetros nestes módulos é usualmente pequeno. No entanto, o bit-budget flutuante alocado a módulos de codec complementares resulta em um bit-budget flutuante alocado ao módulo central do CELP relativamente complexo.
[0011] Na prática, o bit-budget alocado ao módulo central do CELP em uma dada taxa de bits normalmente é obtido através de redução do bit-budget total do codec com o bit-budget alocado a todos os mó- dulos de codec suplementares ativos, os quais podem incluir um bit- budget de sinalização ao codec. Consequentemente, o bit-budget alo- cado ao módulo central do CELP pode flutuar entre uma amplitude de taxa de bits máxima e mínima relativamente grande com uma granula- ridade tão pequena quanto um bit (isto é, 0,05 kbps em um compri- mento de quadro de 20 ms).
[0012] Entradas da tabela ROM dedicadas para todas as possíveis taxas de bits do módulo central do CELP são, obviamente, ineficientes. Portanto, há uma necessidade de uma distribuição mais eficiente e flexível do bit-budget entre os diversos módulos com uma granularida- de da taxa de bits fina com base em um número limitado de taxas de bits intermediárias.
SUMÁRIO
[0013] De acordo com um primeiro aspecto, a presente invenção refere-se a um método de alocação de um bit-budget a uma pluralida- de de primeiras partes e a uma segunda parte de um módulo central do CELP de (a) um codificador para codificar um sinal sonoro ou (b) um decodificador para decodificar o sinal sonoro que compreende, em um quadro do sinal sonoro que compreende subquadros: alocar os respectivos bit-budgets às primeiras partes do módulo central do CELP; e alocar, à segunda parte do módulo central do CELP, um bit- budget restante após alocar os respectivos bit-budgets às primeiras partes do módulo central do CELP. A alocação do bit-budget à segun- da parte do módulo central do CELP compreende distribuir o bit- budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a pelo menos um dos subquadros do quadro.
[0014] De acordo com um segundo aspecto, é fornecido um dispo- sitivo para alocação de um bit-budget a uma pluralidade de primeiras partes e a uma segunda parte de um módulo central do CELP de (a) um codificador para codificar um sinal sonoro ou (b) um decodificador para decodificar o sinal sonoro que compreende, em um quadro do sinal sonoro que compreende subquadros: um primeiro alocador dos respectivos bit-budgets para as primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo cen- tral do CELP, de um bit-budget restante após alocar, às primeiras par-
tes do módulo central do CELP, os respectivos bit-budgets. O segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior a pelo menos um dos subquadros do quadro.
[0015] De acordo com um terceiro aspecto, é fornecido um método de alocação de um bit-budget a uma pluralidade de primeiras partes e uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro que compreende: armazenar tabelas de alocação de bit-budget que atribuem, para cada uma das diversas ta- xas de bits intermediárias, os respectivos bit-budgets às primeiras par- tes do módulo central do CELP; determinar uma taxa de bits do módu- lo central do CELP; selecionar uma das taxas de bits intermediárias com base na taxa de bits determinada do módulo central do CELP; alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budgets para a taxa de bits intermediária selecionada; e alocar, à segunda parte do módulo central do CELP, um bit-budget restante após alocar, às pri- meiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budgets para a taxa de bits intermediária selecionada. O módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos no for- mato de impulso glótico e a alocação do bit-budget à segunda parte do módulo central do CELP compreende distribuir o bit-budget da segun- da parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior ao subquadro que compreende o livro de códigos no formato de impulso glótico.
[0016] Um outro aspecto refere-se a um dispositivo para alocação de um bit-budget a uma pluralidade de primeiras partes e uma segun- da parte de um módulo central do CELP de (a) um codificador para codificar um sinal sonoro ou (b) um decodificador para decodificar o sinal sonoro que compreende: tabelas de alocação de bit-budgets que atribuem, para cada uma dentre uma pluralidade de taxas de bits in- termediárias, respectivos bit-budgets às primeiras partes do módulo central do CELP; uma calculadora de taxa de bits do módulo central do CELP; um seletor de uma das taxas de bits intermediárias com base na taxa de bits determinada do módulo central do CELP; um primeiro alocador dos respectivos bit-budgets atribuídos pelas tabelas de alo- cação de bit-budgets, para a taxa de bits intermediária selecionada, às primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primeiras partes do módulo central do CELP, dos respectivos bit-budgets atribuídos pelas tabelas de aloca- ção de bit-budgets para a taxa de bits intermediária selecionada. O módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos no formato de impulso glótico e o segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior ao subquadro que compreende o livro de códigos no formato de impulso glótico.
[0017] O precedente e outros objetivos, vantagens e característi- cas do método e dispositivo de alocação de bit-budget serão mais evi- dentes quando de leitura da descrição não restritiva a seguir de moda- lidades ilustrativas dos mesmos, fornecidas a título de exemplo apenas com referência aos desenhos em anexo.
BREVE DESCRIÇÃO DOS DESENHOS
[0018] Nos desenhos em anexo: a Figura 1 é um diagrama de blocos esquemático de um sistema de comunicação e processamento de som estéreo que repre- senta um possível contexto de implementação do método e dispositivo de alocação de bit-budget conforme descrito na descrição a seguir;
a Figura 2 é um diagrama de blocos que ilustra simultane- amente um método e dispositivo de alocação de bit-budget da presen- te invenção; e a Figura 3 é um diagrama de blocos simplificado de um exemplo de configuração de componentes de hardware que formam a método e dispositivo de alocação de bit-budget da presente invenção.
DESCRIÇÃO DETALHADA
[0019] A Figura 1 é um diagrama de blocos esquemático de um sistema de comunicação e processamento de som estéreo 100 que descreve um possível contexto de implementação do método e dispo- sitivo de alocação de bit-budget conforme descrito na descrição a se- guir. Deve ser observado que o método e o dispositivo de alocação de bit-budget apresentados não se limitam ao estéreo, mas também po- dem ser usados na codificação multicanal ou mono.
[0020] O sistema de comunicação e processamento de som esté- reo 100 da Figura 1 tem suporte para a transmissão de um sinal sono- ro estéreo através de um /ink de comunicação 101. O link de comuni- cação 101 pode compreender, por exemplo, um link com fio ou de fibra óptica. Alternativamente, o /ink de comunicação 101 pode compreen- der, pelo menos em parte, um /ink de radiofrequência. O link de radio- frequência geralmente tem suporte para várias comunicações simultãà- neas, requerendo recursos de largura de banda compartilhada, tais como aqueles encontrados na telefonia celular. Embora não mostrado, o link de comunicação 101 pode ser substituído por um dispositivo de armazenamento em uma implementação de um único dispositivo do sistema de comunicação e processamento 100 que registra e armaze- na o sinal sonoro estéreo codificado para posterior reprodução.
[0021] Ainda com referência à Figura 1, por exemplo, um par de microfones 102 e 122 produz os canais esquerdo 103 e direito 123 de um sinal sonoro estéreo analógico original detectado. Conforme indi-
cado na descrição anterior, o sinal sonoro pode compreender, em par- ticular, mas não exclusivamente, fala e/ou áudio.
[0022] Os canais esquerdo 103 e direito 123 do sinal sonoro ana- lógico original são fornecidos a um conversor digital-analógico (D/A) 104 para convertê-los em canais esquerdo 105 e direito 125 de um sinal sonoro estéreo digital original. Os canais esquerdo 105 e direito 125 do sinal sonoro estéreo digital original também podem ser grava- dos e fornecidos a partir de um dispositivo de armazenamento (não mostrado).
[0023] Um codificador de som estéreo 106 codifica os canais es- querdo 105 e direito 125 do sinal sonoro estéreo digital, deste modo, produzindo um conjunto de parâmetros de codificação que são multi- plexados sob a forma de um fluxo de bits 107 distribuído a um codifi- cador de correção de erros 108 opcional. O codificador de correção de erros 108 opcional, quando presente, acrescenta redundância à repre- sentação binária dos parâmetros de codificação no fluxo de bits 107 antes de transmitir o fluxo de bits resultante 111 sobre o link de comu- nicação 101.
[0024] No lado do receptor, um decodificador de correção de erros 109 opcional usa a informação redundante supracitada no fluxo de bits digital recebido 111 para detectar e corrigir erros que possam ter ocor- rido durante a transmissão através do /ink de comunicação 101, pro- duzindo um fluxo de bits 112 com parâmetros de codificação recebi- dos. Um decodificador de som estéreo 110 converte os parâmetros de codificação recebidos no fluxo de bits 112 para criar canais esquerdo 113 e direito 133 sintetizados do sinal sonoro estéreo digital. Os canais esquerdo 113 e direito 133 do sinal sonoro estéreo digital reconstruído no decodificador de som estéreo 110 são convertidos nos canais es- querdo 133 e direito 134 sintetizados do sinal sonoro estéreo analógi- co em um conversor digital-analógico (D/A) 115.
[0025] Os canais esquerdo 114 e direito 134 sintetizados do sinal sonoro estéreo analógico são, respectivamente, reproduzidos em um par de unidades de alto-falantes 116 e 136 (o par de unidades de alto- falantes 116 e 136 pode, obviamente, ser substituído por um head- phone). Alternativamente, os canais esquerdo 113 e direito 133 do si- nal sonoro estéreo digital do decodificador de som estéreo 110 tam- bém podem ser fornecidos e gravados em um dispositivo de armaze- namento (não mostrado).
[0026] Como exemplo não limitativo, o método e o dispositivo de alocação de bit-budgets de acordo com a presente invenção podem ser implementados no codificador de som 106 e no decodificador 110 da Figura 1. Deve ser observado que a Figura 1 pode ser estendida para cobrir o caso de áudio multicanal e/ou com base em cena e/ou codificação e decodificação de fluxos independentes (por exemplo, surround e ambisonics de ordem superior).
[0027] A Figura 2 é um diagrama de blocos que ilustra simultane- amente o método de alocação de bit-budgets 200 e o dispositivo 250 de acordo com a presente invenção.
[0028] Aqui, deve ser observado que o método de alocação de bit- budgets 200 e o dispositivo 250 operam quadro a quadro e a descri- ção a seguir está relacionada a um dos quadros sucessivos do sinal sonoro que está sendo codificado, a menos que seja indicado de outra forma.
[0029] Na Figura 2, é considerada a codificação do módulo central do CELP cujo bit-budget varia de quadro para quadro como um resul- tado de um número flutuante de bits usados para codificar os módulos de codec suplementares. Além disso, a distribuição de bit-budget entre as diferentes partes do módulo central do CELP é feita simetricamente no codificador 106 e no decodificador 110 e é com base no bit-budget alocado à codificação do módulo central do CELP.
[0030] A descrição a seguir apresenta um exemplo não restritivo de implementação em um codec com base em EVS usando o modo de codificação genérica. O codec com base em EVS é um codec com ba- se no padrão EVS, conforme descrito na Referência [2], com modifica- ções para permitir outras taxas de bits do núcleo do CELP ou melhori- as no codec. O codec com base em EVS na presente invenção é usa- do dentro de uma estrutura de codificação que usa módulos de codifi- cação suplementares, tais como metadados, codificação estéreo ou multicanal (isto é denominado a seguir como codec EVS estendido). Princípios similares àqueles descritos na presente invenção podem ser aplicados a outros modos de codificação (por exemplo, Codificação com Voz, Codificação de Transição, Codificação Inativa, ...) dentro do codec com base em EVS. Além disso, princípios similares podem ser implementados em qualquer outro codec diferente do EVS e usando um esquema de codificação diferente do CELP. Operação 201
[0031] Em referência à Figura 2, um bit-budget total brotar é alocado ao codec para cada quadro sucessivo do sinal sonoro. No caso de CBR, este bit-budget total brotar do codec é constante. Também é pos- sível usar o método de alocação de bit-budget 200 e o dispositivo 250 em codecs com uma taxa de bits variável, em que o bit-budget total do codec brotar poderia variar de quadro para quadro (conforme no caso do codec EVS estendido). Operações 202
[0032] Nas operações 202, contadores 252 determinam (contam) o número de bits (bit-budget) bsuptementar usados para codificar os módu- los de codec suplementares e o número de bits (bit-budget) bco dec sinalização (não mostrado) para transmitir o codec sinalizando ao de- codificador.
[0033] Os módulos de codec suplementares podem compreender um módulo estéreo, um módulo de Ocultação de Quadro-Apagamento (Frame-Erasure Concealment, FEC), um módulo de Extensão de Lar- gura de Banda (BWE), módulo de codificação de metadados, etc. Na modalidade ilustrativa a seguir, os módulos suplementares compreen- dem um módulo estéreo e um módulo BWE. Obviamente, módulos de codec suplementares diferentes ou adicionais podem ser usados. Módulo Estéreo
[0034] Um codec pode ser concebido para dar suporte à codifica- ção de mais de um canal de áudio de entrada. No caso de dois canais de áudio, um codec mono (canal único) pode ser estendido por um módulo estéreo para formar um codec estéreo. O módulo estéreo for- ma um dos módulos de codec suplementares. Um codec estéreo pode ser implementado usando várias técnicas diferentes de codificação estéreo. Como exemplos não limitativos, o uso de duas técnicas de codificação estéreo que podem ser eficientemente usadas em baixas taxas de bits é discutido a seguir. Obviamente, outras técnicas de codi- ficação estéreo podem ser implementadas.
[0035] Uma primeira técnica de codificação estéreo é denominada estéreo paramétrico. O estéreo paramétrico codifica dois canais de áudio como um sinal mono usando um codec mono em comum mais uma determinada quantidade de informação lateral sobre o estéreo (as quais correspondem aos parâmetros estéreo) que representam uma imagem estéreo. Os dois canais de áudio de entrada são down-mixed em um sinal mono e os parâmetros estéreo são, então, computados geralmente no domínio de transformação, por exemplo, no domínio da Transformada de Fourier Discreta (Discrete Fourier Transform, DFT), e estão relacionados aos assim denominados sinais binaurais ou inter- canais. Os sinais binaurais (consulte Referência [5]) compreendem Diferença de Nível Interaural (Interaural Level Difference, ILD), Dife- rença de Tempo Interaural (Interaural Time Difference, ITD) e Correla-
ção Interaural (Interaural Correlation, IC). Dependendo das caracterís- ticas do sinal, configuração da cena estéreo, etc., alguns ou todos os sinais binaurais são codificados e transmitidos ao decodificador. A in- formação sobre quais sinais são codificados é enviada como informa- ção sobre sinalização, a qual geralmente faz parte da informação so- bre lado estéreo. Um sinal binaural específico também pode ser quan- tizado usando diferentes técnicas de codificação que resultam em um número variável de bits sendo usado. Então, além dos sinais binaurais quantizados, a informação sobre o lado estéreo pode conter, geral- mente em taxas de bits médias e mais altas, um sinal residual quanti- zado que resulta do down-mixing. O sinal residual pode ser codificado usando uma técnica de codificação de entropia, por exemplo, um codi- ficador aritmético. Consequentemente, o número de bits usados para codificar o sinal residual pode flutuar significativamente de quadro para quadro.
[0036] Outra técnica de codificação estéreo é uma técnica que opera no domínio do tempo. Esta técnica de codificação estéreo mistu- ra os dois canais de áudio de entrada nos assim denominados canal primário e canal secundário. Por exemplo, seguindo o método descrito na Referência [6], a mixagem no domínio do tempo pode ser com base em um fator de mixagem, o qual determina as respectivas contribui- ções dos dois canais de áudio de entrada para a produção do canal primário e do canal secundário. O fator de mixagem é derivado de vá- rias métricas, por exemplo, correlações normalizadas dos canais de entrada em relação a um sinal mono ou uma diferença de correlação de longo prazo entre os dois canais de entrada. O canal primário pode ser codificado por um codec mono em comum, enquanto que o canal secundário pode ser codificado por um codec com uma taxa de bits mais baixa. A codificação do canal secundário pode explorar a coerên- cia entre os canais primário e secundário e pode reutilizar alguns pa-
râmetros do canal primário. Consequentemente, o número de bits usados para codificar o canal primário e o canal secundário pode flu- tuar significativamente de quadro para quadro com base nas similari- dades de canal e nos modos de codificação dos respectivos canais.
[0037] Técnicas de codificação estéreo são, de outro modo, co- nhecidas por aqueles versados na técnica e, portanto, não serão mais descritas no presente relatório descritivo. Embora o estéreo tenha sido descrito como uma forma exemplificativa de módulos de codificação suplementares, o método descrito pode ser usado em uma estrutura de codificação de áudio 3D, incluindo ambisonics (áudio com base em cena), multicanal (áudio com base em canal) ou objetos mais metada- dos (áudio com base em objeto). Os módulos suplementares também podem compreender qualquer uma destas técnicas. Módulo BWE
[0038] Na maioria dos codecs de fala recentes, incluindo codecs de Banda Larga (Wide Band, WB) ou Super Banda Larga (Super Wide Band, SWB), o sinal de entrada é processado em blocos (quadros), ao mesmo tempo em que emprega o processamento de divisão de banda de frequência. Uma banda de frequência mais baixa é, em geral, codi- ficada usando o modelo CELP e cobre frequências até uma frequência de corte. Então, a banda de frequência mais alta é codificada com efi- ciência ou estimada separadamente por uma técnica BWE, a fim de cobrir o restante do espectro codificado. A frequência de corte entre as duas bandas é um parâmetro de design de cada codec. Por exemplo, no codec EVS, conforme descrito na Referência [2], a frequência de corte depende do modo operacional e da taxa de bits do codec. Em particular, a banda de frequência mais baixa se estende até 6,4 kHz em taxas de bits de 7,2 - 13,2 kbps ou até 8 kHz em taxas de bits de 16,4 - 64 kbps. A BWE estende ainda mais a largura de banda de áu- dio para codificação WB (até 8 kHz), SWB (até 14,4 ou 16 kHz) ou
Banda Completa (Full Band, FB, até 20 kHz).
[0039] A ideia por trás da BWE é explorar a correlação intrínseca entre as bandas de frequências mais baixas e mais altas e tirar provei- to da maior tolerância perceptiva à codificação de distorções nas fre- quências mais altas quando comparado com as frequências mais bai- xas. Consequentemente, o número de bits usados para a codificação BWE de banda mais alta geralmente é muito baixo quando comparado com a codificação CELP de banda mais baixa, ou mesmo zero. Por exemplo, no codec EVS, conforme descrito na Referência [2], uma BWE em que nenhum bit-budget é transmitido (a assim denominada BWE às cegas) é usada com taxas de bits de 7,2 - 8,0 kbps, enquanto que uma BWE com algum bit-budget (a assim denominada BWE orien- tada) é usada em taxas de bits de 9,6 a 64 kbps. O bit-budget exato de uma BWE orientada depende da taxa de bits real do codec.
[0040] Na descrição a seguir, é considerada a BWE orientada, a qual forma um dos módulos de codec suplementares. O número de bits usados para a codificação BWE de banda mais alta pode variar de quadro para quadro e é muito menor (tipicamente 1 a 3 kbps) do que o número de bits usados para a codificação CELP de banda mais baixa.
[0041] Mais uma vez, a BWE é, de outro modo, conhecida por aqueles versados na técnica e, portanto, não será mais descrita no presente relatório descritivo. Sinalização de Codec
[0042] O fluxo de bits, geralmente em seu início, contém bits de sinalização de codec. Estes bits (bit-budget de sinalização de codec) usualmente representam parâmetros de codec de nível muito alto, por exemplo, configuração ou informação sobre a natureza dos módulos de codec suplementares que são codificados. No caso de um codec multicanal, estes bits podem representar, por exemplo, vários canais codificados (transporte) e/ou o formato do codec (com base em cena ou objeto, etc.). No caso de codificação estéreo, estes bits podem re- presentar, por exemplo, a técnica de codificação estéreo usada. Outro exemplo de parâmetro de codec que pode ser enviado usando bits de sinalização de codec é uma largura de banda do sinal de áudio.
[0043] Novamente, a sinalização de codec é, de outro modo, co- nhecida por aqueles versados na técnica e, portanto, não será mais descrita no presente relatório descritivo. Além disso, um contador (não mostrado) pode ser usado para contar o número de bits (bit-budgets) usados para sinalização de codec. Operação 204
[0044] Com referência à Figura 2, na operação 204, um subtrator 254 subtrai o bit-budget bsuptementar para codificação dos módulos de codec suplementares e o bit-budget bcodec sinalização Para transmissão de sinalização de codec, do bit-budget total do codec brota para obter um bit-budget bcentraa do módulo central do CELP, usando a seguinte rela- ção: bcentral = Dtotai - Dsuplementar - Dcodec sinalização (1)
[0045] Conforme explicado acima, o número de bits bsuplementar Para codificar os módulos de codec suplementares e bit-budget bco- dec sinalização para a transmissão de sinalização de codec para o decodi- ficador flutua de quadro para quadro e, portanto, o bit-budget bcentrar do módulo central do CELP também varia de quadro para quadro. Operação 205
[0046] Na operação 205, um contador 255 conta o número de bits (bit-budget) bsinarização para transmitir ao descodificador a sinalização ao módulo central do CELP. A sinalização ao módulo central do CELP pode compreender, por exemplo, largura de banda de áudio, tipo de codificador CELP, sinalizador de nitidez, etc. Operação 206
[0047] Na operação 206, um subtrator 256 subtrai o bit-budget bs;
nalização para transmissão de sinalização ao módulo central do CELP a partir do bit-budget bcentraa do módulo central do CELP para encontrar um bit-budget b2 para codificar as partes do módulo central do CELP usando a seguinte relação: b2= boentrar - bsinalização (2) Operação 207
[0048] Na operação 207, um seletor de taxa de bits intermediária 257 compreende uma calculadora que converte o bit-budget b2 em uma taxa de bits do módulo central do CELP ao dividir o número de bits br pela duração de um quadro. O seletor 257 encontra uma taxa de bits intermediária com base na taxa de bits do módulo central do CELP.
[0049] É usado um pequeno número de taxas de bits intermediá- rias candidatas. Em um exemplo de implementação no codec com ba- se em EVS, as seguintes taxas de quinze (15) bits podem ser conside- radas como taxas de bits intermediárias candidatas: 5,00 kbps, 6,15 kbps, 7,20 kbps, 8,00 kbps, 9,60 kbps, 11,60 kbps, 13,20 kbps, 14,80 kbps, 16,40 kbps, 19,40 kbps, 22,60 kbps, 24,40 kbps, 32,00 kbps, 48,00 kbps e 64,00 kbps. Obviamente, é possível usar um número de taxas de bits intermediárias candidatas diferente de quinze (15) e tam- bém usar taxas de bits intermediárias candidatas de valores diferentes.
[0050] No mesmo exemplo de implementação, dentro do codec com base em EVS, a taxa de bits intermediária encontrada é a taxa de bits intermediária mais alta candidata mais próxima da taxa de bits do módulo central do CELP. Por exemplo, para uma taxa de bits do mó- dulo central do CELP de 9,00 kbps, a taxa de bits intermediária encon- trada seria 9,60 kbps ao usar as taxas de bits intermediárias candida- tas listadas no parágrafo anterior.
[0051] Em outro exemplo de implementação, a taxa de bits inter- mediária encontrada é a taxa de bit intermediária mais baixa candidata mais próxima da taxa de bits do módulo central do CELP. Usando o mesmo exemplo, para uma taxa de bits do módulo CELP de 9,00 Kbps, a taxa de bits intermediária encontrada seria 8,00 kbps ao usar as taxas de bits intermediárias candidatas listadas no parágrafo anteri- or. Operações 208
[0052] Na operação 208, as tabelas ROM 258 armazenam, para cada taxa de bits intermediária candidata, respectivos bit-budgets predeterminados para codificar as primeiras partes do módulo central do CELP . Como um exemplo não limitativo, as primeiras partes do módulo central do CELP para as quais os bit-budgets são armazena- dos nas tabelas ROM 258 podem compreender os coeficientes do filtro LP, o livro de códigos adaptável, o ganho do livro de códigos adaptável e o ganho do livro de códigos de inovação. Nesta implementação, ne- nhum bit-budget para codificação do livro de códigos de inovação é armazenado nas tabelas ROM 258.
[0053] Em outras palavras, quando uma das taxas de bits interme- diárias candidatas é selecionada pelo seletor 257, os bit-budgets as- sociados armazenados nas tabelas ROM 258 são alocados para codi- ficação das primeiras partes do módulo central do CELP identificadas acima (os coeficientes do filtro LP, o livro de códigos adaptável, o ga- nho do livro de códigos adaptável e o ganho do livro de códigos de inovação). No entanto, na implementação descrita, nenhum bit-budget para codificação do livro de códigos de inovação é armazenado nas tabelas ROM 258.
[0054] A Tabela 1 a seguir é um exemplo da tabela ROM 258 que armazena, para cada taxa de bits intermediária candidata, um respec- tivo bit-budget (número de bits) brerc para codificar os coeficientes do filtro LP. A coluna da direita identifica as taxas de bits intermediárias candidatas, enquanto que a coluna da esquerda indica os respectivos bit-budgets (número de bits) brrc . Por simplicidade, o bit-budget para codificar os coeficientes do filtro LP é um valor único por quadro, em- bora possa ser uma soma de diversos valores de bit-budget quando mais de uma análise LP é feita em um quadro atual (por exemplo, uma análise LP de um quadro intermediário e um quadro final). Tabela 1 (expressa em pseudocódigo) const short LSF bits tbl[15] = ( 27, /* 5k00 */ 28, /* 6k15 */ 29, /* 7Tk20 */ 33, /* BKOO */ 35, /* 9k60 */ 37, /* 11k60 */ 38, /* 13Kk20 */ 39, /* 14k80 */ 3s;, /* 16k40 */ 40, /* 19k40 */ 41, /* 22K60 */ 42, /* 24k40 */ 43, /* 32k */ 44, /* 48k */ 46, /* 64k */ 7
[0055] A Tabela 2 a seguir é um exemplo da tabela ROM 258 que armazena, para cada taxa de bits intermediária candidata, os respecti- vos bit-budgets (número de bits) bacgn para codificar o livro de códigos adaptável. A coluna da direita identifica as taxas de bits intermediárias candidatas, enquanto que a coluna da esquerda indica os respectivos bit-budgets (número de bits) bacgn . Uma vez que o livro de códigos adaptável é pesquisado em cada subquadro n, N bit-budgets bacgn (um por subquadro) são obtidos para cada taxa de bits intermediária candi- data, N representa o número de subquadros em um quadro. Observe que os bit-budgets bacgn podem ser diferentes em diferentes subqua-
dros. Especificamente, a Tabela 2 é um exemplo da tabela ROM 258 que armazena bit-budgets bacgn no codec com base em EVS usando as quinze (15) taxas de bits intermediárias candidatas definidas acima. Tabela 2 (expressa em pseudocódigo) const short ACB bits tbl[15] = | Try. 1,4, /* 5K00 */ F5e Tr5, /* 6k15 */ 8,5, S;5, 1% Ik20 */ 9,5, 8,5, /* B8k00 */ 9,5, 9,6, /* 9k60 */ <-——-— taxade bitsintermediária 10,6, 9,6, /*-IIK60 *7 10,6, 9,6, /* 13k20 */ 10,6,10,6, /* 14kx80 */ 10,6,10,6, /* 16k40 */ 9,6, 9,6,6, /* 19k40 */ 10,6, 9,6,6, /* 22k60 */ 10;6,10,6,6, /* 24kx40 */ 10,6,10,6,6, /*32k */ 10,6,10,6,6, /* 48k *” 10,6,10,6,6, /* 64k */ Vi
[0056] Deve ser observado que, no exemplo que usa o codec com base em EVS, quatro (4) bit-budgets bacgn por taxa de bits intermediá- ria são armazenados em taxas de bits mais baixas, onde o quadro de ms é composto por quatro (4) subquadros (N = 4) e cinco (5) bit- budgets bacegn por taxa de bits intermediária são armazenados em ta- xas de bits mais altas, onde o quadro de 20 ms é composto por cinco (5) subquadros (N = 5) . Em referência à Tabela 2, para uma taxa de bits do módulo central do CELP de 9,00 kbps que corresponde a uma taxa de bits intermediária de 9,60 kbps, os bit-budgets bacgn nos subquadros individuais são 9, 6, 9 e 6 bits, respectivamente.
[0057] A Tabela 3 a seguir é um exemplo da tabela ROM 258 que armazena, para cada taxa de bits intermediária candidata, os respecti- vos bit-budgets (número de bits) ben para codificar o ganho do livro de códigos adaptável e o ganho do livro de códigos de inovação. No exemplo abaixo, o ganho do livro de códigos adaptável e o ganho do livro de códigos de inovação são quantizados usando um quantizador de vetores e, portanto, representados como apenas um índice de quantização. A coluna da direita identifica as taxas de bits intermediá- rias candidatas, enquanto que a coluna da esquerda indica os respec- tivos bit-budgets (número de bits) ben. Conforme pode ser visto na Ta- bela 3, há um bit-budget ben para cada subquadro n de um quadro. Con- sequentemente, N bit-budgets ben São armazenados para cada taxa de bits intermediária candidata, N representando o número de subquadros em um quadro. Deve ser observado que, dependendo do quantizador e do tamanho da tabela de quantização que está sendo usada, os bit- budgets ben podem ser diferentes em diferentes subquadros. Tabela 3 (expressa em pseudocódigo) const short gain bits tbl[15] = í 6, 6, 5, 5, /* 5kK00 */ 6, 6, 6, 6, /* 6k15 */ 7, 6, 6, 6, /* 7Tk20 */ 8, 7, 6, 6, /* Bk00O */ 6, 5, 6. 5, /* 9k60 */ 6, 6, 6, 6, /* 11k60 */ 6, 6, 6, 6, /* 13k20 */ Tr Br Tr. 6 /* 14k80 */ Tre Te Te Ta /* 16k40 */ 6, 6, 6, 6, 6, /* 19k40 */ Fr DT. 6, E /* 22k60 */ Ty e A TA E /* 24k40 */ g Ps AE, A: /* 32k */ 10,10,10,10,10, /* A4Bk —*/ 12,12,12,12,12, /* 64k */ Yz
[0058] Da mesma maneira, um bit-budget para quantificar outras partes do módulo central do CELP (se estiverem presentes) poderia ser armazenado nas tabelas ROM 258 para cada taxa de bits interme-
diária candidata. Um exemplo pode ser um sinalizador (flag) de uma filtragem passa-baixa do livro de códigos adaptável (um bit por subquadro). Portanto, um bit-budget associado a todas as partes do módulo central do CELP (primeiras partes), com exceção do livro de códigos de inovação, pode ser armazenado nas tabelas ROM 258 pa- ra cada taxa de bits intermediária candidata, ao mesmo tempo em que um determinado bit-budget ba ainda permanece disponível. Operação 209
[0059] Na operação 209, um alocador de bit-budget 259 aloca, pa- ra codificar as primeiras partes do módulo central do CELP supracita- das (os coeficientes de filtro LP, o livro de códigos adaptável, os ga- nhos do livro de códigos adaptável e de inovação, etc.), os bit-budgets armazenados nas tabelas ROM 258 e associados à taxa de bits inter- mediária selecionada pelo seletor 257. Operação 210
[0060] Na operação 210, um subtrator 260 subtrai do bit-budget b2 (a) o bit-budget brrc para codificar os coeficientes de filtro LP associa- dos à taxa de bits intermediária candidata selecionada pelo seletor 257, (b) a soma dos bit-budgets bacgn dos N subquadros associados à taxa de bits intermediária candidata selecionada, (c) a soma dos bit- budgets ben para quantizar os ganhos do livro de códigos adaptável e de inovação dos N subquadros associados à taxa de bits intermediária candidata selecionada e (d) o bit-budget, associado à taxa de bits in- termediária selecionada, para codificar outras partes do módulo central do CELP (se houver) para encontrar um bit-budget restante (número de bits) bs ainda disponível para codificação do livro de códigos de ino- vação (segunda parte do módulo central do CELP). Para esta finalida- de, a seguinte relação pode ser usada pelo subtrator 260: ba =by—bipe he tis — (3)
Operação 211
[0061] Na operação 211, um alocador de bits FCB 261 distribui os bit-budgets restantes ba para a codificação do livro de código inovador (livro de códigos fixo (DCT), o segundo central CELP módulo parte) entre os N subquadros do quadro atual. Especificamente, o bit-budget ba é dividido em bit-budgets brcgn alocados aos vários subquadros n. Por exemplo, isto pode ser feito através de um procedimento iterativo que divide o bit-budget bs entre os N subquadros da maneira mais igual possível.
[0062] Em outras implementações não limitativas, o alocador de bits do FCB 261 pode ser concebido ao assumir pelo menos um dos seguintes requisitos:
[0063] |. No caso onde o bit-budget bs não pode ser distribuído igualmente entre todos os subquadros, um bit-budget mais alto possí- vel (ou seja, um maior) é alocado ao primeiro subquadro. Como um exemplo, se ba = 106 bits, o bit-budget pelo FCB por 4 subquadros é alocado como 28-26-26-26 bits.
[0064] Il. Se houver mais bits disponíveis para aumentar potenci- almente outros livros de códigos FCB de subquadro, o bit-budget do FCB (número de bits) alocado a pelo menos um subquadro seguinte após o primeiro subquadro (ou pelo menos um subquadro depois do primeiro subquadro) é aumentado. Por exemplo, se ba = 108 bits, o bit- budget do FCB por 4 subquadros é alocado como 28-28-26-26 bits. Em um exemplo adicional, se ba = 110 bits, o bit-budget do FCB por 4 subquadros é alocado como 28-28-28-26 bits.
[0065] Il. O bit-budget bs não é necessariamente distribuído tão igualmente quanto possível entre todos os subquadros, mas sim para uso tanto quanto possível do bit-budget ba. Por exemplo, se ba = 87 bits, o bit-budget do FCB por 4 subquadros é alocado como 26-20-20- bits em vez de, por exemplo, 24-20-20-20 bits ou 20-20-20- 24 bits quando o requisito Ill não é considerado. Em outro exemplo, se ba = 91 bits, o bit-budget do FCB por 4 subquadros é alocado como 26-24-20-20 bits, enquanto que, por exemplo, 20-24-24-20 bits seriam alocados se o requisito Ill não for considerado. Consequentemente, em ambos os exemplos, apenas 1 bit permanece sem uso quando o requisito Ill é con- siderado, enquanto que 3 bits permanecem, de outro modo, sem uso.
[0066] O requisito Ill permite que o alocador de bits do FCB 261 selecione duas linhas não consecutivas de uma tabela de configuração do FCB, por exemplo, a Tabela 4 abaixo. Como um exemplo não limi- tativo, considere ba = 87 bits. O alocador de bits do FCB 261 primeiro escolhe a linha 6 da Tabela 4 para todos os subquadros a serem em- pregados para configurar a pesquisa no FCB (isto resulta em alocação de bit-budgets de 20-20-20-20 bits). O requisito | altera a alocação de modo que as linhas 6 e 7 (24-20-20-20 bits) sejam empregadas e o requisito Ill seleciona a alocação usando as linhas 6 e 8 (26-20-20-20) da tabela de configuração do FCB (Tabela 4).
[0067] Abaixo está a Tabela 4 como exemplo da tabela de configu- ração do FCB (copiada do EVS (Referência [2])): Tabela 4 (expressa em pseudocódigo) const PulseConfig PulseConfTable[] = ( ( 7,4, 2.0f, 1, 0, (8), TRACKPOS FREE ONE 1, (10, 4, 2.0f, 2, 0, (8), TRACKPOS FIXED EVEN ), 112, 4, 2.0f, 2, 0, (8), TRACKPOS FIXED TWO ), 115, 4, 2.,0f, 3, O, (8), TRACKPOS FIXED FIRST ), 117, 6, 2.0f, 3, O, (8), TRACKPOS FREE THREE ), 120,4, 2.0f, 4, 00, (4, 8), TRACKPOS FIXED FIRST ), <- linhha6 (124,4, 2.0f, 5, 0, (4, 8), TRACKPOS FIXED FIRST ), <- lnha7 (126, 4, 2.0f, 5, 0, (4, 8), TRACKPOS FREE ONE ), <- linha8 (28,4, 1.5f, 6, 00, (4, 8, 8), TRACKPOS FIXED FIRST ), (30, 4, 1.5£, 6, 00, (4,8, 8), TRACKPOS FIXED TWO ), 132, 4, 1.5f, 7, 0, (4, 8, 8), TRACKPOS FIXED FIRST ), 134, 4, 1.5f, 7, 0, (4, 8, 8), TRACKPOS FREE THREE ), 136, 4, 1.0f, 8, 2, (4, 8, 8), TRACKPOS FIXED FIRST ), (40, 4, 1,0f, 9, 2, (4, 8, 8), TRACKPOS FIXED FIRST ), ,
onde a primeira coluna corresponde ao número de bits do livro de có- digos FCB e a quarta coluna corresponde ao número de impulsos no FCB por subquadro. Observe que, no exemplo acima para ba = 87 bits, não existe um livro de códigos de 22 bits e o alocador do FCB selecio- na duas linhas não consecutivas da tabela de configuração do FCB, resultando em uma alocação de bit-budgets de 26-20-20-20 bits no FCB.
[0068] IV. No caso em que o bit-budget não pode ser distribuído igualmente entre todos os subquadros quando de codificação usando um modo de Codificação de Transição (Transition Coding, TC) (con- sulte referência [2]), o bit-budget maiorpossível (maior) é atribuído ao subquadro usando um livro de códigos na forma de impulso glótico. Como exemplo, se ba = 122 bits e o livro de códigos na forma de im- pulso glótico for usado no terceiro subquadro, o bit-budget do FCB por 4 subquadros será alocado como 30-30-32-30 bits.
[0069] V. Se, após a aplicação do requisito IV, houver mais bits disponíveis para aumentar potencialmente outro livro de códigos FCB em um quadro no modo TC, o bit-budget do FCB (número de bits) alo- cado ao último subquadro é aumentado. Como exemplo, se ba = 116 bits e o livro de códigos na forma de impulso glótico for usado no se- gundo subquadro, o bit-budget do FCB por 4 subquadros será alocado como 28-30-28-30 bits. A ideia por trás deste requisito é construir me- lhor a parte da excitação após o evento de início/transição, o qual é perceptivamente mais importante do que a parte de excitação antes dele.
[0070] Um livro de códigos na forma de impulso glótico pode con- sistir em formatos normalizados quantizados de impulsos glóticos trun- cados colocados em posições específicas, conforme descrito na Se- ção 5.2.3.2.1 (pesquisa no livro de códigos de pulso glótico) da Refe- rência [2]. A pesquisa no livro de códigos compreende, então, selecio-
nar o melhor formato e melhor posição. Por exemplo, os formatos de impulso glótico podem ser representados por vetores de códigos que contêm apenas um elemento diferente de zero, o qual corresponde às posições candidatas ao impulso. Uma vez selecionado, o vetor de có- digo de posição é convolvido com a resposta ao impulso de um filtro de modelagem.
[0071] Usando os requisitos acima, o alocador de bits do FCB 261 pode ser concebido da seguinte forma (expresso em código C): * acelp FCB allocator() * * Routine to allocate fixed innovation codebook bit-budget static void acelp FCB allocator( short * Fr /* i/o: available bit-budget */ int [O], /*to : codebook index */ short » /*i : number of subframes */ const short > /*i : subframe length * const short , /*i : coder type bi À const short , /*i : TC subframe index *” const short /*i : fix first subframe bit-budget */ ) ft short cdbk, sfr, step; short nBits tmp; int *p fixed cdk index; p fixed cdk index = ; /* TRANSITION coding: first subframe bit-budget was already fixed, glottal pulse not in the first subframe */ if( >= L SUBFR && ) € short i;
for(i=0 ic ix) t * -= ACELP FIXED CDK BITS( GD; ) return; , /* TRANSITION coding: first subframe bit-budget was already fixed, glottal pulse in the first subframe */ sfr = O; if ) í * -= ACELP FIXED CDK BITS( [º)); sfr = 1; p fixed cdk index++; =3; ) /* distribute the bit-budget equally between subframes */ cdbk = 8; while( fcb table(cdbk, ) <«c* ) i cdbk++; ) cdbk--; set i( p fixed cdk index, cdbk, nBits tmp = O; if( cdbk >= O ) f nBits tmp = fcb table(cdbk, ) ) else í nBits tmp = O; ) * -= nBits tmp * 5 /* try to increase the FCB bit-budget of the first subframe(s) */ step = fcb table(cdbk+1, ) - nBits tmp; while( + >= step ) (
(*p fixed cdk index)++; * -= step; p fixed cdk index++; ) /* try to increase the FCB of the first subframe in cases when the next step is lower than the current step */ step = fcb table( [sfr]+1, > - fcb table( [sfr], )” af * >= step && cdbk >= & ) í [sfr]++; * -= step; afoo o » >= step —&& [sfr+1] == [sfr] - 1) t sfr++; [sfr]H; * -= step; ) /* TRANSITION coding: allocate highest FCBQ bit-budget to the subframe with the glottal-shape codebook */ af >= L SUBFR ) í short tempr; SWAP( (e), [ /LSUBFR] ); /* TRANSITION coding: allocate second highest FCBQ bit-budget to the last subframe */ if /L SUBFR < 1) ( SWAP( K - — L SUBFR)/L SUBFR]), [ 11) ) ) /* when subframe length > L SUBFR, number of bits instead of codebook index is signalled */ if > LSUBFR ) í short i, j; for( i=0 ic ix) 3 = Gn); [i] = fast FCB bits 2sfr[j]; ) 1, return; x * fcb table() * Selection of fixed innovation codebook bit-budget table static short fcb table( const short , const short ) í short out; out = PulseConfTable[ ].bits; if( > L SUBFR ) í out = fast FCB bits 2sfr[ 1; > return( out ); ) onde a função SWAP () troca/permuta os dois valores de entrada. À função fcb table () seleciona a linha correspondente da tabela de con- figuração do FCB (livro de códigos fixo ou de inovação) (conforme de- finido acima) e retorna o número de bits necessários para codificar o FCB selecionado (livro de código fixo ou de inovação). Operação 212
[0072] Um contador 262 determina a soma dos bit-budgets (núme-
ro de bits) brcgn alocado aos vários N subquadros para codificar o livro de códigos de inovação (Fixed CodeBook (FCB); segunda parte do módulo central do CELP). Enzo bregn (4) Operação 213
[0073] Na operação 213, um subtrator 263 determina o número de bits bs restantes após a codificação do livro de códigos de inovação, usando a seguinte relação:
NA bs =b4 — N'brean (5) não
[0074] De forma ideal, após a codificação do livro de códigos de inovação, o número de bits restantes bs é igual a zero. No entanto, tal- vez não seja possível alcançar este resultado, uma vez que a granula- ridade do índice do livro de códigos de inovação é maior do que 1 (ge- ralmente de 2 a 3 bits). Consequentemente, um pequeno número de bits usualmente permanece não utilizado após a codificação do livro de códigos de inovação. Operação 214
[0075] Na operação 214, um alocador de bits 264 atribui o bit budget não utilizado (número de bits) bs para aumentar o bit-budget de uma das partes do módulo central do CELP (primeiras partes do mó- dulo central do CELP), exceto o livro de códigos de inovação. Por exemplo, o bit-budget bs não utilizado pode ser usado para aumentar o bit-budget brpc obtido a partir das tabelas ROM 258 usando a seguinte relação: bipe=hbrpec +bs. (6)
[0076] O bit-budget bs não utilizado também pode ser usado para aumentar o bit-budget de outras partes do módulo central do CELP,
por exemplo, os bit-budgets bacen ou ben. Além disso, o bit-budget não utilizado bs, quando maior do que 1 bit, pode ser redistribuído entre duas ou mais partes iniciais do módulo central do CELP. Alternativa- mente, o bit-budget não utilizado bs pode ser usado para transmitir in- formação FEC (se ainda não foram computadas nos módulos de co- dec suplementares), por exemplo, uma classe de sinal (consulte a Re- ferência [2]). CELP de Alta Taxa de Bits
[0077] O CELP tradicional tem limitações de escalabilidade e complexidade quando é usado com taxas de bits elevadas. Para supe- rar estas limitações, o modelo CELP pode ser estendido por um livro de códigos de domínio de transformação especial, conforme descrito nas Referências [3] e [4]. Em contraste com o CELP tradicional, onde a excitação é composta apenas pelas contribuições adaptativa e de inovação, o modelo estendido apresenta uma terceira parte da excita- ção, a saber, uma contribuição de excitação no domínio da transfor- mação. O livro de códigos de domínio de transformação adicional ge- ralmente compreende um filtro de pré-ênfase, uma transformação de domínio de tempo em domínio de frequência, um quantizador de vetor e um ganho de domínio de transformação. No modelo estendido, um número substancial (pelo menos dezenas) de bits é atribuído ao quan- tizador vetorial em cada subquadro.
[0078] No CELP de alta taxa de bits, o bit-budget é alocado a par- tes do módulo central do CELP usando o procedimento descrito acima. Seguindo este procedimento, a soma dos bit-budgets brcen para codifi- car o livro de códigos de inovação nos N subquadros deve ser igual ou se aproximar do bit-budget ba. No CELP de alta taxa de bits, os bit- budgets brcgn São, usualmente, modestos e o número de bits não utili- zados bs é relativamente alto e é usado para codificar os parâmetros do livro de códigos do domínio de transformação.
[0079] Primeiro, a soma do bit-budget brpen para codificar o ganho do domínio de transformação nos N subquadros e, eventualmente, o bit-budget de outros parâmetros do livro de códigos do domínio de transformação, exceto o bit-budget do quantizador vetorial, é subtraída do bit-budget não utilizado bs, usando a seguinte relação: b, = bs; — O bmos —.— (7) n=0
[0080] Então, o bit-budget restante (número de bits) b; é alocado ao quantizador vetorial dentro do livro de códigos do domínio de trans- formação e distribuído entre todos os subquadros. O bit-budget (núme- ro de bits) por subquadro do quantizador vetorial é indicado como bvon. Dependendo do quantizador vetorial que está sendo usado (por exem- plo, um quantizador AVQ usado no EVS), o quantizador não consome todo o bit-budget bvon alocado, deixando um pequeno número variável de bits disponível em cada subquadro. Estes bits são bits flutuantes empregados no subquadro seguinte, dentro do mesmo quadro. Para uma melhor eficácia do livro de códigos do domínio de transformação, um bit-budget (maior) (número de bits) ligeiramente maior (maior) é alocado ao quantizador vetorial no primeiro subquadro. Um exemplo de implementação é fornecido no pseudocódigo a seguir: bp =|b,/N] fort n = 0; n < N; n++ ) ( bror = bem
H bo = bimp + (Db; — Nºbry) onde Lx] denota o maior número inteiro menor do que ou igual a xe N é o número de subquadros em um quadro. O bit-budget (número de bits) b; é distribuído igualmente entre todos os subquadros, enquanto que o bit-budget para o primeiro subquadro é eventualmente aumen- tado ligeiramente em até N- 1 bits. Consequentemente, no CELP de alta taxa de bits, não há bits restantes após esta operação. Outros Aspectos Relacionados ao Codec EVS Estendido
[0081] Em muitos casos, há mais de uma alternativa para codificar uma determinada parte do módulo central do CELP. Em codecs com- plexos como EVS, várias técnicas diferentes estão disponíveis para codificar uma determinada parte do módulo central do CELP e a sele- ção de uma técnica geralmente é feita com base na taxa de bits do módulo central do CELP (a taxa de bits do módulo central corresponde ao bit-budget bcentrrar do módulo central do CELP multiplicado pelo nú- mero de quadros por segundo). Um exemplo é a quantização de ga- nhos, onde há três (3) técnicas diferentes disponíveis no codec EVS, conforme descrito na Referência [2], modo de codificação genérica (Generic Coding, GC): - um quantizador de vetor com base na previsão de subquadro (GQ1; usado em taxas de bits centrais iguais ou menores do que 8,0 kbps); - um quantizador vetorial sem memória de ganhos adaptati- vos e de inovação (GQ2; usado em taxas de bits centrais maiores do que 8 kbps e iguais ou menores do que 32 kbps); e - dois quantizadores escalares (GQ3; usados em taxas de bits centrais maiores do que 32 kbps).
[0082] Além disso, com uma taxa de bits total do codec constante brotar , diferentes técnicas para codificar e quantizar uma determinada parte do módulo central do CELP podem ser comutadas quadro a quadro, dependendo da taxa de bits do módulo central do CELP. Um exemplo é o modo de codificação estéreo paramétrico a 48 kbps, no qual diferentes quantizadores de ganho (consulte a Referência [2]) são usados em quadros diferentes, conforme mostrado na Tabela 5 abai-
xo: Tabela 5 tendido com taxa de bits centrais flutuante central kbps kbps kbps kbps kbps kbps kbps quantizador 008
[0083] Também é interessante observar que podem existir diferen- tes alocações de bits a uma dada taxa de bits do módulo central do CELP dependendo da configuração do codec. Como um exemplo, a codificação do canal primário no modo de codificação estéreo TD com base em EVS funciona, em um primeiro caso, em uma taxa total de bits do codec de 16,4 kbps e, em um segundo caso, em uma taxa total de bits de 24,4 kbps. Nos dois casos, pode acontecer que a taxa de bits do módulo central do CELP seja a mesma, ainda que a taxa de bits total do codec seja diferente. Porém, uma configuração de codec diferente pode levar a uma distribuição de bit-budgets diferente.
[0084] Na estrutura estéreo com base em EVS, as diferentes con- figurações de codec entre 16,4 kbps e 24,4 kbps estão relacionadas a uma taxa de amostragem interna do módulo central do CELP diferen- te, a qual é de 12,8 kHz a 16,4 kbps e 16 kHz a 24,4 kbps, respecti- vamente. Assim, o módulo central do CELP que codifica quatro (4), respectivamente, cinco (5) subquadros é empregado e uma distribui- ção de bit-budgets correspondente é usada. Abaixo, são mostradas estas diferenças entre as duas taxas de bits de codec totais mencio- nadas (um valor por célula da tabela corresponde a um parâmetro por quadro, enquanto que mais valores correspondem aos parâmetros por subquadros).
Tabela 6 as taxas de bits totais diferentes. [snaização — A
36. 42.
[0085] Consequentemente, a tabela acima mostra que pode haver diferentes distribuições de bit-budgets para a mesma taxa de bits cen- tral em diferentes taxas de bits totais de codec. Fluxo de Processo do Codificador
[0086] Quando os módulos de codec suplementares compreen- dem um módulo estéreo e um módulo BWE, o fluxo de processo do codificador pode ser o seguinte: - A informação do lado estéreo (ou canal secundário) é co- dificada e o bit-budget alocado é subtraído do bit-budget total do co- dec. Os bits de sinalização do codec também são subtraídos dos bit- budgets totais.
- O bit-budget para codificação do módulo suplementar BWE é, então, definido com base nos bit-budgets totais do codec me- nos o módulo estéreo e os bit-budgets de sinalização do codec.
- O bit-budget BWE é subtraído dos bit-budgets totais do codec menos os bit-budgets do "módulo estéreo suplementar" e "sina-
lização do codec".
- O procedimento descrito acima para alocar o bit-budget do módulo central é executado.
- O módulo central do CELP é codificado.
- O módulo BWE suplementar é codificado. Decodificador
[0087] A taxa de bits do módulo central do CELP não é sinalizada diretamente no fluxo de bits, mas é calculada no decodificador com base nos bit-budgets dos módulos de codec suplementares. No exem- plo de implementação que compreende módulos suplementares esté- reo e BWE, o seguinte procedimento pode ser seguido: - A sinalização do codec é gravada/lida para/a partir do flu- xo de bits.
- A informação do lado estéreo (ou canal secundário) é gra- vada/lida para/a partir do fluxo de bits. O bit-budget para codificar a informação do lado estéreo flutua e depende da sinalização do lado estéreo e da técnica usada para codificação. Basicamente (a) em esté- reo paramétrico, o codificador aritmético e a sinalização do lado esté- reo determinam quando interromper a gravação/leitura da informação do lado estéreo, enquanto que (b) na codificação estéreo no domínio do tempo, o fator de mixagem e o modo de codificação determinam o bit-budget da informação do lado estéreo.
- Os bit-budgets para sinalização do codec e a informação do lado estéreo são subtraídos dos bit-budgets totais do codec.
- Em seguida, o bit-budget para o módulo suplementar BWE também é subtraído dos bit-budgets totais do codec. A granulari- dade do bit-budget do BWE geralmente é pequena: a) existe apenas uma taxa de bits por largura de banda de áudio (WB/SWB/FB) e a in- formação sobre largura de banda é transmitida como parte do sinal de codec no fluxo de bits; ou b) o bit-budget para uma largura de banda específica pode ter uma determinada granularidade e o bit-budget do BWE é determinado a partir dos bit-budgets totais do codec menos o bit-budget do módulo estéreo. Em uma modalidade ilustrativa, por exemplo, o BWE no domínio do tempo do SWB pode ter uma taxa de bits de 0,95 kbps, 1,6 kbps ou 2,8 kbps, dependendo da taxa total de bits do codec menos a taxa de bits do módulo estéreo.
[0088] O que resta é o bit-budget bcentraa do módulo central do CELP, o qual é um parâmetro de entrada para o procedimento de alo- cação de bits descrito na descrição anterior. A mesma alocação é in- vocada no codificador CELP (logo após o pré-processamento) e no decodificador CELP (no início da decodificação do quadro CELP).
[0089] A seguir, um trecho de código C de um codec com base em EVS estendido para alocação de bit-budgets de Codificação Genérica é fornecido apenas a título de exemplo. void config acelpl ( const int total brate, /* ii : total bit rate irá const int core brate inp, /* à : core bit rate *” ACELP. config *acelp cfga, /* à : ACELP bit allocation */ const short signaling bits, /* i : number of signaling bits *”r short *nBits es Pred, /1*'o : number of bits for Es pred Q */ short *unbits /* o :; number of unused bits */ ) ( * Find intermediate bit rate
MS ESELSRASERASNAALSMA AMAS ANE AA i=0o while( i < SIZE BRATE INTERMED TEL ) [ if( core brate inp < brate intermed tbl[(i] ) break; ) + core brate = brate intermed tbl[i]); ThenemeenenaneRaeERRRARRRRREARREnRRa RR RRERRaRRERnRRanREnARPRaAÉ * ACELP bit allocation
PSA /* Set the bit-budget */ bits = (short) (core brate inp / 50); /* Subtract core module signaling bits */ bits -= signaling bits; JressensssteessessestsssenssssersasPRSCSSSCCSPSS SPSS CCORESERO * LPCQ bit-budget
ERES COEEESERLRRNESECEEORERECCRSE ES ERCRDSRCQSEERECCLLORECECU /* LSF Q bit-budget */ acelp cfg->lsf bits = LSF bits tbl [ALLOC IDX(core brate)]; if( total brate <= 9600 ) ( acelp cfg->1sf bits = 31; , else if( total brate <= 20000 ) ( acelp cfg->1sf bits = 36; else ( acelp cfg->lsf bits = 41; , bits -—= acelp cfg->l1sf bits; /* mid-LSF Q bit-budget */ acelp cfg->mid 18f bits = mid LSF bits tbl [ALLOC IDX(core brate)]; bits -—= acelp cfg->mid l1sf bits; Pres==s—sssessesesscsssssssstRsSRCRECRSCRSRECSRSRRSESSRCS NS CSS ERC /* gain Q bit-budget - part 1 */ ss essas ECsEsCs SPSS ss S EC SSDSS CSS SS SDRESSSCS ESC ECCCO
*nBits es Pred = Es pred bits tbl[ALLOC IDX(core brate)]; bits -= *nBits es. Pred;
OE A CA AMA A SE AAA AA * Supplementary information for FEC
ESSLECSESERRCRCCRRRSSESERRSRSRESRSSSSRSRESRSRSCRSRRSSRRCSRRSCESDRRA acelp cfg->FEC mode = 0; if( core brate >= ACELP 11k60 ) ( acelp cfg->FEC mode = 1; bits -—-= FEC BITS CLS; if( total brate >= ACELP 16k40 ) ( acelp cfg->FEC mode = 2; bits -= FEC BITS ENR; , if( total brate >= ACELP 32k ) ( acelp cfg->FEC mode = 3; bits -= FEC BITS POS;
Y , frnmeeeeeemermmmmmmEErEmmmEEEEEEmEEmEEmETEEEEEEEmEmEETEmEmEmEmE— * LP filtering of the adaptive excitation E cara TETE RRENEREEN EEE FNE NNE TETE STENT se ee if( core brate < ACELP 11k60 ) ( acelp cfg->l1tf mode = LOW PASS; 1 else if( core brate >= ACELP 11k60 ) ( acelp cfg->1tf mode = NORMAL OPERATION; bits -= nb subfr; ) else 1 acelp cfg->ltf mode = FULL BAND; ,
JOTTISTTESSE ESEC CRESC SDSSCERS SUSCCDIEDL CUECAS OLCSCU A * pitch, innovation, gains bit-budget
ESSES RCC CSS SERES RSS SNS RSS SE SS CRS ESSES SSSRRSS SE acelp cfg->fcb mode = O; /* pitch Q & gain Q bit-budget - part 2%/ for( i=0; i<nb subfr; i++ ) ( acelp cfg->pitch bits[i] = ACB bits tbl[ALLOC IDX(core brate,i)); acelp cfg->gains mode[i] = gain bits tbl[ALLOC IDX(core brate,i)]; bits -= acelp cfg->pitch bits[il; bits -= acelp cfg->gains mode(i]; , /* innovation codebook bit-budget */ if( core brate inp >= MIN BRATE AVQ EXC )
A for( i=0; i<nb subfr; i++ ) ( acelp cfg->fixed cdk index[i]=FCB bits tbl [ALLOC IDX(core brate, i)); bits -= acelp cfg->fixed cdk index[i]; ) , else ( acelp. cfg->fcb mode = 1; acelp FCB allocator( &bits, acelp cfg->fixed cdk index, nb subfr, te subfr, fix first ); )
/* AVQ codebook */ if( core brate inp >= MIN BRATE AVQ EXC ) ( for( i=0; i<nb subfr; i++ ) ( bits -= G AVQ BITS; ' if(core brate inp>=MIN BRATE AVQ EXC && core brate inp<=MAX BRATE AVQ EXC TD ) í /* harmonicity flag ACELP AVQ */ bits--; ) bit tmp = bits / nb subfr; set s( acelp cfg->AVQ cdk bits, bit tmp, nb subfr ); bits -= bit tmp * nb subfr; bit tmp = bits % nb subfr; acelp cfg->AVQ cdk bits[0] += bit tmp; bits -= bit tmp; '
GONE TISENNEIAE RERNESRAE EA ENAEC SARSRANTSCSNS NSREA * unemployed bits handling
NCRERESES RENAS ERR DNS ESSES BENS MENSRERERACRACAV acelp cfg->ubits = O; /* unused bits */ if( bits > 0 ) ( /* increase LPCQ bits */ acelp cfg->1sf bits += bits; if( acelp cfg->1sf bits > 46 ) ( acelp cfg->ubits = acelp cfg->1sf bits - 46; acelp cfg->l1sf bits = 46; ' ) return; '
[0090] A Figura 3 é um diagrama de blocos simplificado de uma configuração exemplificativa de componentes de hardware que for- mam o dispositivo de alocação de bit-budgets e implementam o méto- do de alocação de bit-budgets.
[0091] O dispositivo de alocação de bit-buadget pode ser implemen- tado como parte de um terminal móvel, como parte de um media pla- yer portátil ou em qualquer dispositivo similar. O dispositivo de aloca- ção de bit-budget (identificado como 300 na Figura 3) compreende uma entrada 302, uma saída 304, um processador 306 e uma memó- ria 308.
[0092] A entrada 302 está configurada para receber, por exemplo, os bit-budgets totais do codec brota (Figura 2). A saída 304 está confi- gurada para fornecer os vários bit-budgets alocados. A entrada 302 e a saída 304 podem ser implementadas em um módulo em comum, por exemplo, um dispositivo de entrada/saída serial.
[0093] O processador 306 está operacionalmente conectado à en- trada 302, à saída 304 e à memória 308. O processador 306 é concre- tizado como um ou mais processadores para executar instruções de código que dão suporte às funções dos vários módulos do dispositivo de alocação de bit-budget da Figura 2.
[0094] A memória 308 pode compreender uma memória não tran- sitória para armazenar instruções de código executáveis pelo proces- sador 306, especificamente uma memória legível por processador que compreende instruções não transitórias as quais, quando executadas, fazem com que um processador implemente as operações e módulos do método e dispositivo de alocação de bit-budget da Figura 2. A me- mória 308 também pode compreender uma memória de acesso aleató- rio ou buffer(s) para armazenar dados de processamento intermediá- rios das várias funções executadas pelo processador 306.
[0095] Aqueles versados na técnica perceberão que a descrição do método e dispositivo de alocação de bit-budget é apenas ilustrativa e não pretende ser de forma alguma limitativa. Outras modalidades serão prontamente sugeridas para aqueles versados na técnica tendo o benefício da presente invenção. Além disso, o método e o dispositivo de alocação de bit-budget descritos podem ser personalizados para oferecer soluções valiosas às necessidades e problemas existentes relacionados à alocação ou distribuição de bit-budgets.
[0096] Por uma questão de clareza, nem todas as características de rotina das implementações do método e dispositivo de alocação de bit-budget são mostradas e descritas. Obviamente, será apreciado que, no desenvolvimento de qualquer implementação real do método e dispositivo de alocação de bit-budget, várias decisões específicas da implementação podem ser necessárias para alcançar os objetivos es- pecíficos do desenvolvedor, tais como conformidade com restrições relacionadas a aplicativos, sistemas, redes e negócios, e que estes objetivos específicos variam de uma implementação para outra e de um desenvolvedor para outro. Além disso, será apreciado que um es- forço de desenvolvimento pode ser complexo e demorado, mas, no entanto, seria uma tarefa rotineira de engenharia para aqueles versa- dos na área de processamento de som tendo o benefício da presente invenção.
[0097] De acordo com a presente invenção, os módulos, opera- ções de processamento e/ou estruturas de dados descritos aqui po- dem ser implementados usando vários tipos de sistemas operacionais, plataformas de computação, dispositivos de rede, programas de com- putador e/ou máquinas de finalidade geral. Além disso, aqueles versa- dos na técnica reconhecerão que dispositivos de natureza menos ge- nérica, tais como dispositivos com fio, arranjos de portas programáveis em campo (field programmable gate arrays, FPGAs), circuitos integra- dos de específicos para aplicação (Application Specific Integrated Cir- cuits, ASICs) ou similar, também podem ser usados. Quando um mé- todo que compreende uma série de operações e suboperações é im- plementado por um processador, computador ou máquina e tais ope- rações e suboperações podem ser armazenadas como uma série de instruções de código não transitórias legíveis por processador, compu- tador ou máquina, elas podem ser armazenadas em um meio tangível e/ou não transitório.
[0098] Os módulos do método e dispositivo de alocação de bit- budget, conforme descrito aqui, podem compreender software, firmwa- re, hardware ou qualquer combinação de software, firmware ou hardware adequado para as finalidades descritas aqui.
[0099] No método de alocação de bit-budget conforme descrito aqui, as várias operações e suboperações podem ser executadas em várias ordens e algumas das operações e suboperações podem ser opcionais.
[00100] Embora a presente invenção tenha sido feita por meio de modalidades ilustrativas e não restritivas, tais modalidades podem ser modificadas à vontade dentro do escopo das reivindicações anexas sem se afastar do espírito e natureza da presente invenção.
REFERÊNCIAS
[00101] As referências a seguir são citadas no presente relatório descritivo e o conteúdo completo das mesmas é aqui incorporado por referência.
[1] ITU-T Recommendation G.718: "Frame error robust narrowband and wideband embedded variable bit-rate coding of spe- ech and audio from 8-32 kbps," 2008.
[2] 3GPP Spec. TS 26.445: "Codec for Enhanced Voice Services (EVS). Detailed Algorithmic Description," v.12.0.0, Setembro de 2014.
[3] B. Bessette, "Flexible and scalable combined innova- tion codebook for use in CELP coder and decoder," Patente Norte- Americana Nº 9.053.705, Junho de 2015.
[4] V. Eksler, "Transform-Domain Codebook in a CELP Coder and Decoder," Publicação de Patente Norte-Americana Nº
2012/0290295, Novembro de 2012 e Patente Norte-Americana Nº
8.825.475, Setembro de 2014.
[5] F. Baumgarte, C. Faller, "Binaural cue coding - Part |: Psychoacoustic fundamentals and design principles," IEEE Trans. Speech Audio Processing, vol. 11, páginas 509-519, Novembro de
2003.
[6] Tommy Vaillancourt, “Method and system using a long-term correlation difference between left and right channels for time domain down mixing a stereo sound signal into primary and secondary chan- nels," Pedido PCT WOZ2017/049397A1.

Claims (82)

REIVINDICAÇÕES
1. Método para alocar um bit-budget a uma pluralidade de primeiras partes e a uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro caracterizado por compreender, em um quadro do sinal sonoro que compreende subquadros: alocar às primeiras partes do módulo central do CELP os respectivos bit-budgets; alocar à segunda parte do módulo central do CELP um bit- budget restante após alocar às primeiras partes do módulo central do CELP os ditos respectivos bit-budgets, em que a alocação de bit- budgets à segunda parte do módulo central do CELP compreende dis- tribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a pelo menos um dos subquadros do quadro.
2. Método de alocação de bit-budget, de acordo com a rei- vindicação 1, caracterizado pelo fato de que pelo menos um subqua- dro é o primeiro subquadro do quadro do sinal sonoro.
3. Método de alocação de bit-budget, de acordo com a rei- vindicação 2, caracterizado pelo fato de que o pelo menos um subquadro compreende pelo menos um subquadro após o primeiro subquadro do quadro do sinal sonoro.
4. Método de alocação de bit-budget, de acordo com qual- quer uma das reivindicações 1 a 3, caracterizado pelo fato de que dis- tribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro compreende usar, tanto quanto possível, o bit-budget da segunda parte do módulo central do CELP.
5. Método de alocação de bit-budget, de acordo com a rei- vindicação 1, caracterizado pelo fato de que: o módulo central do CELP usa, em um subquadro do quadro do sinal sonoro, um livro de códigos em formato de impulso glótico; e o pelo menos um quadro do quadro ao qual um bit-budget maior é alocado é o subquadro que usa o livro de códigos em formato de impulso glótico.
6. Método de alocação de bit-budget, de acordo com qual- quer uma das reivindicações 1 a 5, caracterizado pelo fato de que a alocação dos respectivos bit-budgets às primeiras partes do módulo central do CELP compreende alocar às primeiras partes do módulo central do CELP respectivos bit-budgets atribuídos às primeiras partes do módulo central do CELP por tabelas de alocação de bit-budget.
7. Método para codificar um sinal sonoro usando um módu- lo central do CELP e módulos de codec suplementares caracterizado por compreender: alocar um bit-budget aos módulos de codec suplementares; subtrair, de um bit-budget total do codec, o bit-budget dos módulos de codec suplementares para determinar um bit-budget do módulo central do CELP; e usando o método como definido em qualquer uma das rei- vindicações 1 a 6, alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
8. Método para codificar um sinal sonoro usando um módu- lo central do CELP e módulos de codec suplementares caracterizado por compreender: alocar um primeiro bit-budget para sinalização de codec; alocar um segundo bit-budget aos módulos de codec su- plementares; subtrair, de um bit-budget total do codec, os primeiro e se- gundo bit-budgets para determinar um bit-budget do módulo central do CELP; e usando o método como definido em qualquer uma das rei- vindicações 1 a 6, alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
9. Método para codificar um sinal sonoro de acordo com a reivindicação 7 ou 8, caracterizado por compreender determinar um bit-budget não utilizado que inclui subtrair o bit-budget total do codec (a) do bit-budget alocado aos módulos de codec suplementares, (b) dos bit-budgets alocados às primeiras partes do módulo central do CELP e (c) do bit-budget alocado à segunda parte do módulo central do CELP.
10. Método para codificar um sinal sonoro, de acordo com a reivindicação 9, caracterizado por compreender alocar o bit-budget não utilizado para a codificação de pelo menos uma das primeiras par- tes do módulo central do CELP.
11. Método para codificar um sinal sonoro, de acordo com a reivindicação 9, caracterizado por compreender alocar o bit-budget não utilizado para a codificação de um livro de códigos de domínio de transformação.
12. Método para codificar um sinal sonoro, de acordo com a reivindicação 11, caracterizado pelo fato de que a alocação do bit budget não utilizado para codificação do livro de códigos do domínio de transformação compreende alocar uma primeira parte do bit-budget não utilizado aos parâmetros do domínio de transformação e alocar uma segunda parte do bit-budget não utilizado a um quantizador veto- rial no livro de códigos do domínio de transformação.
13. Método para codificar um sinal sonoro, de acordo com a reivindicação 12, caracterizado por compreender distribuir a segunda parte do bit-budget não utilizado entre todos os subquadros do quadro do sinal sonoro.
14. Método para codificar um sinal sonoro, de acordo com a reivindicação 13, caracterizado pelo fato de que um bit-budget maior é alocado a um primeiro subquadro do quadro.
15. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro, caracteri- zado por compreender, para um quadro do sinal sonoro que compre- ende subquadros: um primeiro alocador dos respectivos bit-budgets para as primeiras partes do módulo central do CELP; um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primei- ras partes do módulo central do CELP, dos ditos respectivos bit- budgets, em que o segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior a pelo menos um dos subquadros do qua- dro.
16. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 15, caracterizado pelo fato de que pelo menos um subquadro é o primeiro subquadro do quadro do sinal sonoro.
17. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 16, caracterizado pelo fato de que pelo menos um subquadro compreende pelo menos um subquadro após o primeiro subquadro do quadro do sinal sonoro.
18. Dispositivo de alocação de bit-budget, de acordo com qualquer uma das reivindicações 15 a 17, caracterizado pelo fato de que distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro compreende usar, tanto quanto possível, o bit-budget da parte do módulo central do CELP.
19. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 15, caracterizado pelo fato de que: o módulo central do CELP usa, em um subquadro do quadro do sinal sonoro, um livro de códigos em formato de impulso glótico; e o pelo menos um quadro do quadro ao qual um bit-budget maior é alocado é o subquadro que usa o livro de códigos em formato de impulso glótico.
20. Dispositivo de alocação de bit-budget, de acordo com qualquer uma das reivindicações 15 a 19, caracterizado pelo fato de que o primeiro alocador aloca, às primeiras partes do módulo central do CELP, respectivos bit-budgets atribuídos às primeiras partes do módulo central do CELP através de tabelas de alocação de bit-budget.
21. Dispositivo para codificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender: um alocador de um bit-budget aos módulos de codec su- plementares; um subtrator de bit-budget dos módulos de codec suple- mentares de um bit-budget de codec total para determinar um bit- budget do módulo central do CELP; e o dispositivo de alocação de bit-budget, como definido em qualquer uma das reivindicações 15 a 20, para alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
22. Dispositivo para codificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender: um alocador de um primeiro bit-budget para sinalização de codec; um alocador de um segundo bit-budget aos módulos de co- dec suplementares;
um subtrator dos primeiro e segundo bit-budgets de um bit- budget total de codecs para determinar um bit-budget do módulo cen- tral do CELP; e o dispositivo de alocação de bit-budget, como definido em qualquer uma das reivindicações 15 a 20, para alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
23. Dispositivo para codificar um sinal sonoro de acordo com a reivindicação 21 ou 22, caracterizado por compreender, para determinar um bit-budget não utilizado, um subtrator (a) do bit-budget alocado aos módulos de codec suplementares, (b) dos bit-budgets alocados às primeiras partes do módulo central do CELP e (c) do bit- budget alocado à segunda parte do módulo central do CELP do bit- budget total do codec.
24. Dispositivo para codificar um sinal sonoro, de acordo com a reivindicação 23, caracterizado por compreender um alocador do bit-budget não utilizado para codificar pelo menos uma das primei- ras partes do módulo central do CELP.
25. Dispositivo para codificar um sinal sonoro, de acordo com a reivindicação 23, caracterizado por compreender um alocador do bit-budget não utilizado para codificação de um livro de códigos de domínio de transformação.
26. Dispositivo para codificar um sinal sonoro, de acordo com a reivindicação 25, caracterizado pelo fato de que o alocador do bit-budget não utilizado para codificação do livro de códigos do domí- nio de transformação aloca uma primeira parte do bit-budget não utili- zado aos parâmetros do domínio de transformação e aloca uma se- gunda parte do bit-budget não utilizado a um quantizador vetorial no livro de códigos do domínio de transformação.
27. Dispositivo para codificar um sinal sonoro, de acordo com a reivindicação 26, caracterizado pelo fato de que o alocador do bit-budget não utilizado distribui a segunda parte do bit-budget não uti- lizado entre todos os subquadros do quadro do sinal sonoro.
28. Dispositivo para codificar um sinal sonoro, de acordo com a reivindicação 27, caracterizado pelo fato de que o alocador do bit-budget não utilizado aloca um bit-budget maior a um primeiro subquadro do quadro.
29. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro, caracteri- zado por compreender um quadro do sinal sonoro que compreende subquadros: pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador implemente: um primeiro alocador dos respectivos bit-budgets para as primeiras partes do módulo central do CELP; um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primei- ras partes do módulo central do CELP, dos ditos respectivos bit- budgets, em que o segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior a pelo menos um dos subquadros do qua- dro.
30. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro, caracteri- zado por compreender um quadro do sinal sonoro que compreende subquadros:
pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador: aloque os respectivos bit-budgets às primeiras partes do módulo central do CELP; aloque, à segunda parte do módulo central do CELP, um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os ditos respectivos bit-budgets, em que a alocação do bit- budget à segunda parte do módulo central do CELP incluirá a distribui- ção do bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocação de um bit-budget maior a pelo menos um dos subquadros do quadro.
31. Método para alocar um bit-budget a uma pluralidade de primeiras partes e a uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro que com- preende em um quadro do sinal sonoro que compreende subquadros, caracterizado por compreender: alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets; alocar, à segunda parte do módulo central do CELP, um bit- budget restante após alocar, às primeiras partes do módulo central do CELP os ditos respectivos bit-budgets, em que a alocação de bit budgets à segunda parte do módulo central do CELP compreende dis- tribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a pelo menos um dos subquadros do quadro.
32. Método de alocação de bit-budget, de acordo com a rei- vindicação 31, caracterizado pelo fato de que pelo menos um subqua- dro é o primeiro subquadro do quadro do sinal sonoro.
33. Método de alocação de bit-budget, de acordo com a rei- vindicação 32, caracterizado pelo fato de que pelo menos um subqua- dro compreende pelo menos um subquadro após o primeiro subquadro do quadro do sinal sonoro.
34. Método de alocação de bit-budget, de acordo com qual- quer uma das reivindicações 31 a 33, caracterizado pelo fato de que distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro compreende usar, tanto quanto possí- vel, o bit-budget da segunda parte do módulo central do CELP.
35. Método de alocação de bit-budget, de acordo com a rei- vindicação 31, caracterizado pelo fato de que: o módulo central do CELP usa, em um subquadro do qua- dro do sinal sonoro, um livro de códigos em formato de impulso glótico; e o pelo menos um quadro do quadro ao qual um bit-budget maior é alocado é o subquadro que usa o livro de códigos em formato de impulso glótico.
36. Método de alocação de bit-budget, de acordo com qual- quer uma das reivindicações 31 a 35, caracterizado pelo fato de que a alocação, às primeiras partes do módulo central do CELP, de respecti- vos bit-budgets compreende alocar, às primeiras partes do módulo central do CELP, respectivos bit-budgets alocados às primeiras partes do módulo central do CELP através de tabelas de alocação de bit- budget.
37. Método para decodificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender: alocar um bit-budget aos módulos de codec suplementares; subtrair, de um bit-budget total do codec, o bit-budget dos módulos de codec suplementares para determinar um bit-budget do módulo central do CELP; e usando o método como definido em qualquer uma das rei- vindicações 31 a 36, alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
38. Método para decodificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender: alocação de um primeiro bit-budget para sinalização de co- dec; alocação de um segundo bit-budget aos módulos de codec suplementares; subtrair, de um bit-budget total do codec, os primeiro e se- gundo bit-budgets para determinar um bit-budget do módulo central do CELP; e usando o método como definido em qualquer uma das rei- vindicações 31 a 36, alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
39. Método para decodificar um sinal sonoro, de acordo com a reivindicação 37 ou 38, caracterizado por compreender deter- minar um bit-budget não utilizado que inclui ao subtrair do bit-budget total do codec (a) o bit-budget alocado aos módulos de codec suple- mentares, (b) os bit-budgets alocados às primeiras partes do módulo central do CELP e (c) o bit-budget alocado à segunda parte do módulo central do CELP.
40. Método para decodificar um sinal sonoro, de acordo com a reivindicação 39, caracterizado por compreender alocar o bit- budget não utilizado para decodificação de pelo menos uma das pri- meiras partes do módulo central do CELP.
41. Método para decodificar um sinal sonoro, de acordo com a reivindicação 39, caracterizado por compreender alocar o bit- budget não utilizado para decodificação de um livro de códigos de do- mínio de transformação.
42. Método para decodificar um sinal sonoro, de acordo com a reivindicação 41, caracterizado pelo fato de que a alocação do bit-budget não utilizado para decodificação do livro de códigos do do- mínio de transformação compreende alocar uma primeira parte do bit- budget não utilizado a parâmetros do domínio de transformação e alo- car uma segunda parte do bit-budget não utilizado a um quantizador vetorial no livro de códigos do domínio de transformação.
43. Método para decodificar um sinal sonoro, de acordo com a reivindicação 42, caracterizado por compreender distribuir a se- gunda parte do bit-budget não utilizado entre todos os subquadros do quadro do sinal sonoro.
44. Método para decodificar um sinal sonoro, de acordo com a reivindicação 43, caracterizado pelo fato de que um bit-budget maior é alocado a um primeiro subquadro do quadro.
45. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender, para um quadro do sinal sonoro que com- preende subquadros: um primeiro alocador dos respectivos bit-budgets para pri- meiras partes do módulo central do CELP; um segundo alocador, para segunda parte do módulo cen- tral do CELP, de um bit-budget restante após alocação, às primeiras partes do módulo central do CELP, dos ditos respectivos bit-budgets, em que o segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior a pelo menos um dos subquadros do quadro.
46. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 45, caracterizado pelo fato de que pelo menos um subquadro é o primeiro subquadro do quadro do sinal sonoro.
47. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 45, caracterizado pelo fato de que pelo menos um subquadro compreende pelo menos um subquadro após o primeiro subquadro do quadro do sinal sonoro.
48. Dispositivo de alocação de bit-budget, de acordo com qualquer uma das reivindicações 45 a 47, caracterizado pelo fato de que distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro compreende usar, tanto quanto possível, o bit-budget da segunda parte do módulo central do CELP.
49. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 45, caracterizado pelo fato de que: o módulo central do CELP usa, em um subquadro do qua- dro do sinal sonoro, um livro de códigos em formato de impulso glótico; e o pelo menos um quadro do quadro ao qual um bit-budget maior é alocado é o subquadro que usa o livro de códigos em formato de impulso glótico.
50. Dispositivo de alocação de bit-budget, de acordo com qualquer uma das reivindicações 45 a 49, caracterizado pelo fato de que o primeiro alocador aloca, às primeiras partes do módulo central do CELP, respectivos bit-budgets atribuídos às primeiras partes do módulo central do CELP através de tabelas de alocação de bit buadgets.
51. Dispositivo para decodificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender:
um alocador de um bit-budget aos módulos de codec su- plementares; um subtrator de bit-budget dos módulos de codec suple- mentares de um bit-budget do codec total para determinar um bit- budget do módulo central do CELP; e o dispositivo de alocação de bit-budget, como definido em qualquer uma das reivindicações 45 a 50, para alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
52. Dispositivo para decodificar um sinal sonoro usando um módulo central do CELP e módulos de codec suplementares, caracte- rizado por compreender: um alocador de um primeiro bit-budget para sinalização de codec; um alocador de um segundo bit-budget aos módulos de co- dec suplementares; um subtrator dos primeiro e segundo bit-budgets de um bit- budget total de codecs para determinar um bit-budget do módulo cen- tral do CELP; e o dispositivo de alocação de bit-budget, como definido em qualquer uma das reivindicações 45 a 50, para alocar o bit-budget do módulo central do CELP às primeiras partes do módulo central do CELP e à segunda parte do módulo central do CELP.
53. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 51 ou 52, caracterizado pelo fato de que compre- ende, para determinar um bit-budget não utilizado, um subtrator (a) do bit-budget alocado aos módulos de codec suplementares, (b) dos bit- budgets alocados às primeiras partes do módulo central do CELP e (c) do bit-budget alocado à segunda parte do módulo central do CELP do bit-budget total do codec.
54. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 53, caracterizado por compreender um alocador do bit-budget não utilizado para decodificar pelo menos uma das pri- meiras partes do módulo central do CELP.
55. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 53, caracterizado por compreender um alocador do bit-budget não utilizado para decodificação de um livro de códigos de domínio de transformação.
56. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 55, caracterizado pelo fato de que o alocador do bit-budget não utilizado para decodificar o livro de códigos do domínio de transformação aloca uma primeira parte do bit-budget não utilizado aos parâmetros do domínio de transformação e aloca uma segunda parte do bit-budget não utilizado a um quantizador vetorial no livro de códigos do domínio de transformação.
57. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 56, caracterizado pelo fato de que o alocador do bit-budget não utilizado distribui a segunda parte do bit-budget não uti- lizado entre todos os subquadros do quadro do sinal sonoro.
58. Dispositivo para decodificar um sinal sonoro, de acordo com a reivindicação 57, caracterizado pelo fato de que o alocador do bit-budget não utilizado aloca um bit-budget maior a um primeiro subquadro do quadro.
59. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender, para um quadro do sinal sonoro que com- preende subquadros: pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador implemente: um primeiro alocador dos respectivos bit-budgets para as primeiras partes do módulo central do CELP; um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primei- ras partes do módulo central do CELP, dos ditos respectivos bit- budgets, em que o segundo alocador distribui o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior a pelo menos um dos subquadros do qua- dro.
60. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e a uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender, para um quadro do sinal sonoro que com- preende subquadros: pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador: aloque os respectivos bit-budgets às primeiras partes do módulo central do CELP; aloque, à segunda parte do módulo central do CELP, um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os ditos respectivos bit-budgets, em que a alocação da se- gunda parte do módulo central do CELP incluirá distribuir a segunda parte do bit-budget do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a pelo menos um dos subqua- dros do quadro.
61. Método para alocar um bit-budget a uma pluralidade de primeiras partes e uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro caracterizado por compreender: armazenar tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respecti- vos bit-budgets às primeiras partes do módulo central do CELP; determinar uma taxa de bits do módulo central do CELP; selecionar uma das taxas de bits intermediárias com base na taxa de bits do módulo central do CELP determinada; alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit- budget para a taxa de bits intermediária selecionada; e alocar, à segunda parte do módulo central do CELP, um bit- budget restante após alocar às primeiras partes do módulo central do CELP os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget para a taxa de bits intermediária selecionada; em que: - o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e - a alocação do bit-budget à segunda parte do módulo cen- tral do CELP compreende distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a um subquadro que compreende o livro de códigos em formato de impulso glótico.
62. Método de alocação de bit-budget, de acordo com a rei- vindicação 61, caracterizado pelo fato de que: as primeiras partes do módulo central do CELP compreen- dem pelo menos um de coeficientes do filtro LP, um livro de códigos adaptável do CELP, um ganho do livro de códigos adaptável do CELP e um ganho do livro de códigos de inovação do CELP; e a segunda parte do módulo central do CELP compreende um livro de códigos de inovação do CELP.
63. Método de alocação de bit-budget, de acordo com a rei- vindicação 61 ou 62, caracterizado pelo fato de que a seleção de uma das taxas de bits intermediárias compreende selecionar uma das taxas de bit intermediárias mais alta mais próxima da taxa de bits do módulo central do CELP.
64. Método de alocação de bit-budget, de acordo com a rei- vindicação 61 ou 62, caracterizado pelo fato de que a seleção de uma das taxas de bits intermediárias compreende selecionar uma das taxas de bits intermediárias mais baixa mais próxima da taxa de bits do mó- dulo central do CELP.
65. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro caracteriza- do por compreender: tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respectivos bit- budgets às primeiras partes do módulo central do CELP; uma calculadora de uma taxa de bits do módulo central do CELP; um seletor de uma das taxas de bits intermediárias com ba- se na taxa de bits do módulo central do CELP determinada; um primeiro alocador dos respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermedi- ária selecionada, às primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primei- ras partes do módulo central do CELP, dos respectivos bit-budgets atribuídos pelas tabelas de alocação do bit-budget para a taxa de bits intermediária selecionada; em que: - o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e - o segundo alocador distribui o bit-budget da segunda par- te do módulo CELP entre os subquadros do quadro e aloca um bit- budget maior ao subquadro que compreende o livro de códigos em formato de impulso glótico.
66. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 65, caracterizado pelo fato de que: as primeiras partes do módulo central do CELP compreen- dem pelo menos um de coeficientes do filtro LP, um livro de códigos adaptável do CELP, um ganho do livro de códigos adaptável do CELP e um ganho do livro de códigos de inovação do CELP; e a segunda parte do módulo central do CELP compreende um livro de códigos de inovação do CELP.
67. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 65 ou 66, caracterizado pelo fato de que o seletor de uma das taxas de bits intermediárias seleciona uma das taxas de bits intermediárias mais alta mais próxima da taxa de bits do módulo cen- tral do CELP.
68. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 65 ou 66, caracterizado pelo fato de que o seletor de uma das taxas de bits intermediárias seleciona uma das taxas de bits intermediárias mais baixa mais próxima da taxa de bits do módulo cen- tral do CELP.
69. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro caracteriza- do por compreender: pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador implemente: tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respectivos bit- budgets às primeiras partes do módulo central do CELP; uma calculadora de uma taxa de bits do módulo central do CELP; um seletor de uma das taxas de bits intermediárias com ba- se na taxa de bits do módulo central do CELP determinada; um primeiro alocador dos respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermedi- ária selecionada, às primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocação, às primei- ras partes do módulo central do CELP, dos respectivos bit-budgets atribuídos pelas tabelas de alocação do bit-budget para a taxa de bits intermediária selecionada; em que: - o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e - o segundo alocador distribui o bit-budget da segunda par- te do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior ao subquadro que compreende o livro de códigos em formato de impulso glótico.
70. Dispositivo de alocação de um bit-budget a uma plurali-
dade de primeiras partes e uma segunda parte de um módulo central do CELP de um codificador para codificar um sinal sonoro caracteriza- do por compreender:
pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador:
armazene tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respecti- vos bit-budgets às primeiras partes do módulo central do CELP;
determine uma taxa de bits do módulo central do CELP;
selecione uma das taxas de bits intermediárias com base na taxa de bits do módulo central do CELP determinada;
aloque os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermediária seleciona- da, às primeiras partes do módulo central do CELP; e aloque, para a segunda parte do módulo central do CELP, um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget para a taxa de bits intermediária seleciona- da;
em que:
- o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e
- a alocação do bit-budget à segunda parte do módulo cen- tral do CELP compreende distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior ao subquadro que compreende o livro de códigos em formato de impulso glótico.
71. Método para alocar um bit-budget a uma pluralidade de primeiras partes e uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro caracterizado por compreender: armazenar tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respecti- vos bit-budgets às primeiras partes do módulo central do CELP; determinar uma taxa de bits do módulo central do CELP; selecionar uma das taxas de bits intermediárias com base na taxa de bits do módulo central do CELP determinada; alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit- budget para a taxa de bits intermediária selecionada; e alocar, à segunda parte do módulo central do CELP, um bit- budget restante após alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget para a taxa de bits intermediária selecionada; em que: - o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e - a alocação do bit-budget da segunda parte do módulo central do CELP compreende distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget maior a um subquadro que compreende o livro de códi- gos em formato de impulso glótico.
72. Método de alocação de bit-budget, de acordo com a rei- vindicação 71, caracterizado pelo fato de que: as primeiras partes do módulo central do CELP compreen- dem pelo menos um de coeficientes do filtro LP, um livro de códigos adaptável do CELP, um ganho do livro de códigos adaptável do CELP e um ganho do livro de códigos de inovação do CELP; e a segunda parte do módulo central do CELP compreende um livro de códigos de inovação do CELP.
73. Método de alocação de bit-budget, de acordo com a rei- vindicação 71 ou 72, caracterizado pelo fato de que a seleção de uma das taxas de bits intermediárias compreende selecionar uma taxa de bits intermediária mais alta mais próxima da taxa de bits do módulo central do CELP.
74. Método de alocação de bit-budget, de acordo com a rei- vindicação 71 ou 72, caracterizado pelo fato de que a seleção de uma das taxas de bits intermediárias compreende selecionar uma taxa de bits intermediária mais baixa mais próxima da taxa de bits do módulo central do CELP.
75. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender: tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respectivos bit- budgets às primeiras partes do módulo central do CELP; uma calculadora de uma taxa de bits do módulo central do CELP; um seletor de uma das taxas de bits intermediárias com ba- se na taxa de bits do módulo central do CELP determinada; um primeiro alocador dos respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermedi- ária selecionada, às primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuí- dos pelas tabelas de alocação de bit-budget para a taxa de bits inter- mediária selecionada; em que: - o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e - o segundo alocador distribui o bit-budget da segunda par- te do módulo central do CELP entre os subquadros do quadro e aloca um bit-budget maior ao subquadro que compreende o livro de códigos em formato de impulso glótico.
76. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 75, caracterizado pelo fato de que: as primeiras partes do módulo central do CELP compreen- dem pelo menos um de coeficientes do filtro LP, um livro de códigos adaptável do CELP, um ganho do livro de códigos adaptável do CELP e um ganho do livro de códigos de inovação do CELP; e a segunda parte do módulo central do CELP compreende um livro de códigos de inovação do CELP.
77. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 75 ou 76, caracterizado pelo fato de que o seletor de uma das taxas de bits intermediárias seleciona uma taxa de bits inter- mediária mais alta mais próxima da taxa de bits do módulo central do CELP.
78. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 75 ou 76, caracterizado pelo fato de que o seletor de uma das taxas de bits intermediárias seleciona uma taxa de bits inter- mediária mais baixa mais próxima da taxa de bits do módulo central do CELP.
79. Dispositivo de alocação de um bit-budget a uma plurali-
dade de primeiras partes e uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender:
pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador implemente:
tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respectivos bit- budgets às primeiras partes do módulo central do CELP;
uma calculadora de uma taxa de bits do módulo central do CELP;
um seletor de uma das taxas de bits intermediárias com ba- se na taxa de bits do módulo central do CELP determinada;
um primeiro alocador dos respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermedi- ária selecionada, às primeiras partes do módulo central do CELP; e um segundo alocador, para a segunda parte do módulo central do CELP, de um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuí- dos pelas tabelas de alocação do bit-budget para a taxa de bits inter- mediária selecionada;
em que:
- o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e
- o segundo alocador distribui o bit-budget da segunda par- te do módulo CELP entre os subquadros do quadro e aloca um bit- budget maior ao subquadro que compreende o livro de códigos em formato de impulso glótico.
80. Dispositivo de alocação de um bit-budget a uma plurali- dade de primeiras partes e uma segunda parte de um módulo central do CELP de um decodificador para decodificar um sinal sonoro carac- terizado por compreender:
pelo menos um processador; e uma memória acoplada ao processador e que compreende instruções não transitórias as quais, quando executadas, fazem com que o processador:
armazene tabelas de alocação de bit-budget que atribuem, para cada uma das diversas taxas de bits intermediárias, os respecti- vos bit-budgets às primeiras partes do módulo central do CELP;
determine uma taxa de bits do módulo central do CELP;
selecione uma das taxas de bits intermediárias com base na taxa de bits do módulo central do CELP determinada;
aloque os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget, para a taxa de bits intermediária seleciona- da, às primeiras partes do módulo central do CELP; e aloque, para a segunda parte do módulo central do CELP, um bit-budget restante após alocar, às primeiras partes do módulo central do CELP, os respectivos bit-budgets atribuídos pelas tabelas de alocação de bit-budget para a taxa de bits intermediária seleciona- da;
em que:
- o módulo central do CELP usa, em um subquadro de um quadro do sinal sonoro, um livro de códigos em formato de impulso glótico e
- a alocação do bit-budget da segunda parte do módulo central do CELP compreende distribuir o bit-budget da segunda parte do módulo central do CELP entre os subquadros do quadro e alocar um bit-budget mais alto ao subquadro que compreende o livro de códi-
gos em formato de impulso glótico.
81. Método de alocação de bit-budget, de acordo com a rei- vindicação 5 ou 35, caracterizado por compreender ainda aumento do bit-budget do último subquadro do quadro.
82. Dispositivo de alocação de bit-budget, de acordo com a reivindicação 19 ou 49, caracterizado pelo fato de que o segundo alo- cador também aumenta o bit-budget do último subquadro do quadro.
o Ss o = 88 o E — Es “E o 8 o
A = = = = = Oo 58 8%o Bo co OE OE o 2ES o ES = s8o o sos BO = oo o8 os rr o N = . - 7 O 2 Ss S o o o ES F58 o 2% o 205 — ES E 388 | E 383 o O o vo o o = o : i : : À . o = 3 SS 8 bd So = FA oO ss o = 8“ 2< o o o ao Oo Ss co 2 z V -
ENO = — [PA o o E A dE = -
QN ao bit-budget 202 200 total do codec NS Fo b, h a total Bits dos módulos 208 Dsuplementar | Contadores de Suplementares — S bit-budget dos E módulos 254 suplementares bit-budget do 252 módulo central flexível 205 b central T>— 255 206 Contador de inalizanã D sinalização bit-budget de Bits de sinalização — sinalização 208 * >256 b. 207 ParteY bits 2 Taxa de bits | Tabelas Parte2 bit Seletor de intermediária | ROM de artes bits taxa de bits partes do intermediária módulo 1-— 257 central 209 A Alocador de bit-budgets das 258 210 os primeiras partes — do módulo central 60 doCELP — Tr 259 b, 213 | Contador de [e : bit-budget Alocador de Bits do FCB do FCB bits do FCB 263 b, ; S 262 212 289 Alocador de 214 Parte1 bits bit-budget DD ão utilizad: náoutilizado | 2,
BR112020004883-6A 2017-09-20 2018-09-20 método e dispositivo para alocar um bit-budget entre subquadros em um codec celp BR112020004883A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762560724P 2017-09-20 2017-09-20
US62/560,724 2017-09-20
PCT/CA2018/051175 WO2019056107A1 (en) 2017-09-20 2018-09-20 METHOD AND DEVICE FOR ALLOCATING A BINARY BUDGET BETWEEN SUB-FRAMES IN A CELP CODEC

Publications (1)

Publication Number Publication Date
BR112020004883A2 true BR112020004883A2 (pt) 2020-09-15

Family

ID=65810135

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112020004883-6A BR112020004883A2 (pt) 2017-09-20 2018-09-20 método e dispositivo para alocar um bit-budget entre subquadros em um codec celp
BR112020004909-3A BR112020004909A2 (pt) 2017-09-20 2018-09-20 método e dispositivo para distribuir, de forma eficiente, um bit-budget em um codec celp

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112020004909-3A BR112020004909A2 (pt) 2017-09-20 2018-09-20 método e dispositivo para distribuir, de forma eficiente, um bit-budget em um codec celp

Country Status (12)

Country Link
US (2) US11276412B2 (pt)
EP (2) EP3685376A4 (pt)
JP (2) JP7239565B2 (pt)
KR (2) KR20200055726A (pt)
CN (2) CN111149160B (pt)
AU (2) AU2018338424B2 (pt)
BR (2) BR112020004883A2 (pt)
CA (2) CA3074750A1 (pt)
MX (2) MX2020002972A (pt)
RU (2) RU2754437C1 (pt)
WO (2) WO2019056107A1 (pt)
ZA (2) ZA202001506B (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR112021025420A2 (pt) * 2019-07-08 2022-02-01 Voiceage Corp Método e sistema para codificar metadados em fluxos de áudio e para adaptação de taxa de bits intraobjeto e interobjeto flexível
CN117178322A (zh) * 2021-01-08 2023-12-05 沃伊斯亚吉公司 用于声音信号的统一时域/频域编码的方法和装置
US11985341B2 (en) * 2022-06-22 2024-05-14 Ati Technologies Ulc Assigning bit budgets to parallel encoded video data

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083719B2 (ja) * 1986-11-17 1996-01-17 日本電気株式会社 音声分析合成装置
JP3092436B2 (ja) * 1994-03-02 2000-09-25 日本電気株式会社 音声符号化装置
JP3329216B2 (ja) * 1997-01-27 2002-09-30 日本電気株式会社 音声符号化装置及び音声復号装置
US7072832B1 (en) * 1998-08-24 2006-07-04 Mindspeed Technologies, Inc. System for speech encoding having an adaptive encoding arrangement
US6782360B1 (en) 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US6898566B1 (en) * 2000-08-16 2005-05-24 Mindspeed Technologies, Inc. Using signal to noise ratio of a speech signal to adjust thresholds for extracting speech parameters for coding the speech signal
US7171355B1 (en) 2000-10-25 2007-01-30 Broadcom Corporation Method and apparatus for one-stage and two-stage noise feedback coding of speech and audio signals
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
US7657427B2 (en) * 2002-10-11 2010-02-02 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
CA2501368C (en) * 2002-10-11 2013-06-25 Nokia Corporation Methods and devices for source controlled variable bit-rate wideband speech coding
CA2457988A1 (en) * 2004-02-18 2005-08-18 Voiceage Corporation Methods and devices for audio compression based on acelp/tcx coding and multi-rate lattice vector quantization
WO2006091139A1 (en) 2005-02-23 2006-08-31 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive bit allocation for multi-channel audio encoding
US9626973B2 (en) * 2005-02-23 2017-04-18 Telefonaktiebolaget L M Ericsson (Publ) Adaptive bit allocation for multi-channel audio encoding
RU2419171C2 (ru) * 2005-07-22 2011-05-20 Франс Телеком Способ переключения скорости передачи битов при аудиодекодировании с масштабированием скорости передачи битов и масштабированием полосы пропускания
WO2007083931A1 (en) * 2006-01-18 2007-07-26 Lg Electronics Inc. Apparatus and method for encoding and decoding signal
KR101406113B1 (ko) 2006-10-24 2014-06-11 보이세지 코포레이션 스피치 신호에서 천이 프레임을 코딩하기 위한 방법 및 장치
US8527265B2 (en) 2007-10-22 2013-09-03 Qualcomm Incorporated Low-complexity encoding/decoding of quantized MDCT spectrum in scalable speech and audio codecs
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
KR101381513B1 (ko) 2008-07-14 2014-04-07 광운대학교 산학협력단 음성/음악 통합 신호의 부호화/복호화 장치
GB2466675B (en) 2009-01-06 2013-03-06 Skype Speech coding
FR2947945A1 (fr) * 2009-07-07 2011-01-14 France Telecom Allocation de bits dans un codage/decodage d'amelioration d'un codage/decodage hierarchique de signaux audionumeriques
FR2947944A1 (fr) * 2009-07-07 2011-01-14 France Telecom Codage/decodage perfectionne de signaux audionumeriques
CN102844810B (zh) 2010-04-14 2017-05-03 沃伊斯亚吉公司 用于在码激励线性预测编码器和解码器中使用的灵活和可缩放的组合式创新代码本
US20120029926A1 (en) * 2010-07-30 2012-02-02 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for dependent-mode coding of audio signals
KR101858466B1 (ko) 2010-10-25 2018-06-28 보이세지 코포레이션 혼합형 시간-영역/주파수-영역 코딩 장치, 인코더, 디코더, 혼합형 시간-영역/주파수-영역 코딩 방법, 인코딩 방법 및 디코딩 방법
LT2676271T (lt) 2011-02-15 2020-12-10 Voiceage Evs Llc Prietaisas ir metodas adaptacinio fiksuoto sužadinimo prieaugio kiekiui įvertinti mobiliojo celp kodeke
PT2908313T (pt) * 2011-04-15 2019-06-19 Ericsson Telefon Ab L M Partilha adaptativa de taxas de ganho/forma
NO2669468T3 (pt) * 2011-05-11 2018-06-02
CN106910509B (zh) * 2011-11-03 2020-08-18 沃伊斯亚吉公司 用于修正通用音频合成的设备及其方法
TWI505262B (zh) * 2012-05-15 2015-10-21 Dolby Int Ab 具多重子流之多通道音頻信號的有效編碼與解碼
US20140068097A1 (en) * 2012-08-31 2014-03-06 Samsung Electronics Co., Ltd. Device of controlling streaming of media, server, receiver and method of controlling thereof
US10614816B2 (en) * 2013-10-11 2020-04-07 Qualcomm Incorporated Systems and methods of communicating redundant frame information
US9685166B2 (en) * 2014-07-26 2017-06-20 Huawei Technologies Co., Ltd. Classification between time-domain coding and frequency domain coding
FR3024581A1 (fr) 2014-07-29 2016-02-05 Orange Determination d'un budget de codage d'une trame de transition lpd/fd
MY186661A (en) 2015-09-25 2021-08-04 Voiceage Corp Method and system for time domain down mixing a stereo sound signal into primary and secondary channels using detecting an out-of-phase condition of the left and right channels

Also Published As

Publication number Publication date
EP3685375A1 (en) 2020-07-29
EP3685376A1 (en) 2020-07-29
CA3074749A1 (en) 2019-03-28
CN111149160B (zh) 2023-10-13
AU2018338424B2 (en) 2023-03-02
JP7239565B2 (ja) 2023-03-14
JP7285830B2 (ja) 2023-06-02
MX2020002988A (es) 2020-07-22
AU2018337086A1 (en) 2020-03-19
MX2020002972A (es) 2020-07-22
CN111133510A (zh) 2020-05-08
AU2018338424A1 (en) 2020-03-19
JP2020534581A (ja) 2020-11-26
RU2754437C1 (ru) 2021-09-02
US11276411B2 (en) 2022-03-15
CA3074750A1 (en) 2019-03-28
WO2019056108A1 (en) 2019-03-28
KR20200055726A (ko) 2020-05-21
JP2020534582A (ja) 2020-11-26
CN111149160A (zh) 2020-05-12
RU2744362C1 (ru) 2021-03-05
BR112020004909A2 (pt) 2020-09-15
KR20200054221A (ko) 2020-05-19
EP3685376A4 (en) 2021-11-10
WO2019056107A1 (en) 2019-03-28
ZA202001507B (en) 2023-02-22
US11276412B2 (en) 2022-03-15
US20200243100A1 (en) 2020-07-30
ZA202001506B (en) 2023-01-25
AU2018337086B2 (en) 2023-06-01
EP3685375A4 (en) 2021-06-02
CN111133510B (zh) 2023-08-22
US20210134310A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
US10839813B2 (en) Method and system for decoding left and right channels of a stereo sound signal
KR102229487B1 (ko) 리던던트 프레임 정보를 통신하는 시스템들 및 방법들
BRPI0514650B1 (pt) Métodos para codificação e decodificação de sinais de áudio, codificador e decodificador de sinais de áudio
US8977557B2 (en) Method, medium, and apparatus encoding and/or decoding multichannel audio signals
BR112020004883A2 (pt) método e dispositivo para alocar um bit-budget entre subquadros em um codec celp
DK2697795T3 (en) ADAPTIVE SHARING Gain / FORM OF INSTALLMENTS
US20230051420A1 (en) Switching between stereo coding modes in a multichannel sound codec
CN113614827A (zh) 用于预测性译码中的低成本错误恢复的方法和设备
CN116547748A (zh) 多通道编解码器中的空间噪声填充
NZ717780B2 (en) Systems and methods of communicating redundant frame information

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]