BR112016030056B1 - Aperfeiçoamento de classificação entre codificação de domínio de tempo e codificação de domínio de frequência - Google Patents

Aperfeiçoamento de classificação entre codificação de domínio de tempo e codificação de domínio de frequência Download PDF

Info

Publication number
BR112016030056B1
BR112016030056B1 BR112016030056-4A BR112016030056A BR112016030056B1 BR 112016030056 B1 BR112016030056 B1 BR 112016030056B1 BR 112016030056 A BR112016030056 A BR 112016030056A BR 112016030056 B1 BR112016030056 B1 BR 112016030056B1
Authority
BR
Brazil
Prior art keywords
encoding
digital signal
speech
signal
bitrate
Prior art date
Application number
BR112016030056-4A
Other languages
English (en)
Other versions
BR112016030056A2 (pt
Inventor
Yang Gao
Original Assignee
Huawei Technologies Co., Ltd
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 Huawei Technologies Co., Ltd filed Critical Huawei Technologies Co., Ltd
Publication of BR112016030056A2 publication Critical patent/BR112016030056A2/pt
Publication of BR112016030056B1 publication Critical patent/BR112016030056B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • 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
    • G10L19/125Pitch excitation, e.g. pitch synchronous innovation CELP [PSI-CELP]
    • 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/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/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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/22Mode decision, i.e. based on audio signal content versus external parameters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0002Codebook adaptations
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0016Codebook for LPC parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

APERFEIÇOAMENTO DE CLASSIFICAÇÃO ENTRE CODIFICAÇÃO DE DOMÍNIO DE TEMPO E CODIFICAÇÃO DE DOMÍNIO DE FREQUÊNCIA. Um método para processar sinais de fala antes de encriptar um sinal digital compreendendo dados de áudio inclui selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital.

Description

CAMPO DA TÉCNICA
[0001] A presente invenção pertence de modo geral ao campo de codificação de sinal. Em particular, a presente invenção pertence ao campo de aperfeiçoar a classificação entre codificação de domínio de tempo e codificação de domínio de frequência.
ANTECEDENTES
[0002] A codificação de fala se refere a um processo que reduz a taxa de bits de um arquivo de fala. A codificação de fala é um aplicativo de compressão de dados de sinais de áudio digitais contendo fala. A codificação de fala usa estimativa de parâmetro específico de fala usando técnicas de processar sinal de áudio para modelar o sinal de fala, combinadas com algoritmos de compressão de dados genéricos para representar os parâmetros modelados resultantes em uma corrente de bits compacta. O objetivo de codificação de fala é conseguir economia no espaço de armazenamento de memória, largura de banda de transmissão e potência de transmissão exigidos reduzindo-se o número de bits por amostra de modo que a fala decodificada (descompactada) seja perceptivelmente indistinguível da fala original.
[0003] Entretanto, codificadores de fala são codificadores com perdas, isto é, o sinal decodificado é diferente do original. Portanto, uma das metas em codificação de fala é minimizar a distorção (ou perda perceptível) a uma dada taxa de bits, ou minimizar a taxa de bits para alcançar uma dada distorção.
[0004] A codificação de fala difere de outras formas de codificação de áudio em que a fala é um sinal muito mais simples que a maioria dos outros sinais de áudio, e muito mais informações estatísticas estão disponíveis sobre as propriedades de fala. Como resultado, algumas informações auditivas que são relevantes em codificação de áudio podem ser desnecessárias no contexto de codificação de fala. Na codificação de fala, o mais importante critério é preservação de inteligibilidade e "suavidade" de fala, com uma quantidade restrita de dados transmitidos.
[0005] A inteligibilidade de fala inclui, além do conteúdo literal efetivo, também identidade, emoções, entonação, timbre etc. do interlocutor que são todos importantes para inteligibilidade perfeita. O conceito mais abstrato de suavidade de fala degradada é uma propriedade diferente de inteligibilidade, uma vez que é possível que a fala degradada seja completamente inteligível, mas subjetivamente incômoda para quem ouve.
[0006] Tradicionalmente, todos os métodos de codificação paramétrica de fala fazem uso da redundância inerente no sinal de fala para reduzir a quantidade de informações que precisa ser enviada e para estimar os parâmetros de amostras de fala de um sinal a intervalos curtos. Essa redundância vem principalmente a partir da repetição de formatos de onda de fala a uma taxa quase periódica, e do envelope espectral de mudança lenta de sinal de fala.
[0007] A redundância de formas onda de fala pode ser considerada com relação a diversos tipos diferentes de sinal de fala, tais como sinais de fala vocalizados e não vocalizados. Sons vocalizados, por exemplo, ‘a’, ‘b’, são essencialmente devidos a vibrações das cordas vocais, e são oscilatórios. Portanto, por curtos períodos de tempo, os mesmos são bem modelados por somas de sinais periódicos tais como senóides. Em outras palavras, para fala vocalizada, o sinal de fala é essencialmente periódico. Entretanto, essa periodicidade pode ser variável pela duração de um segmento de fala e o formato da onda periódica normalmente muda gradualmente de segmento para segmento. Uma codificação de fala de taxa baixa de bits poderia se beneficiar muito da exploração dessa periodicidade. Uma codificação de fala de domínio de tempo poderia se beneficiar muito da exploração dessa periodicidade. O período de fala vocalizada é também chamado passo, e a previsão de passo é frequentemente chamada previsão a longo prazo (LTP). Em contraste, sons não vocalizados tais como ‘s’, ‘sh’, são mais similares a um ruído. Isso é porque sinal de fala não vocalizado é mais similar a um ruído aleatório e tem uma quantidade menor de previsibilidade.
[0008] Em qualquer um dos casos, codificação paramétrica pode ser usada para reduzir a redundância dos segmentos de fala separando-se o componente de excitação de sinal de fala do componente de envelope espectral, o qual muda a uma taxa mais lenta. O componente de envelope espectral que muda lentamente pode ser representado por Codificação de Previsão Linear (LPC) também chamada previsão a curto prazo (STP). Uma codificação de fala de taxa baixa de bits poderia também se beneficiar muito de explorar tal previsão a curto prazo. A vantagem da codificação vem da taxa baixa à qual os parâmetros mudam. No entanto, é raro que os parâmetros sejam significativamente diferentes dos valores mantidos após uns poucos milissegundos.
[0009] Em padrões mais recentes bem conhecidos tais como G.723.1, G.729, G.718, Taxa Total Melhorada (EFR), Codificador de Voz de Modo Selecionável (SMV), Multitaxa Adaptativa (AMR), Banda Larga Multimodo de Taxa Variável (VMR-WB), ou Banda Larga Multitaxa Adaptativa (AMR-WB), Técnica de Previsão Linear Excitada por Código ("CELP") têm sido adotados. A CELP é comumente entendida como uma combinação técnica de Excitação Codificada, previsão a longo prazo e previsão a curto prazo. A CELP é principalmente usada para codificar sinal de fala beneficiando-se de características específicas de voz humana ou modelo de produção de voz vocal humana. A codificação de fala por CELP é um princípio de algoritmo muito popular em área de compressão de fala embora os detalhes de CELP para diferentes codecs pudessem ser significativamente diferentes. Devido à sua popularidade, o algoritmo CELP foi usado em vários padrões ITU-T, MPEG, 3GPP e 3GPP2. Variantes de CELP incluem CELP algébrica, CELP relaxada, CELP de baixo retardo e previsão linear excitada por soma de vetor, e outras. CELP é um termo genérico para uma classe de algoritmos e não para um codec em particular.
[0010] O algoritmo CELP se baseia em quatro ideias principais. Primeiro, um modelo de filtro de fonte de produção de fala através de previsão linear (LP) é usado. O modelo de filtro de fonte de produção modela a fala como uma combinação de uma fonte de som, tal como as cordas vocais, e um filtro acústico linear, o trato vocal (e característica de radiação). Na implantação do modelo de filtro de fonte de produção de fala, a fonte de som, ou sinal de excitação, é frequentemente modelado como um trem de impulso periódico, para fala vocalizada, ou ruído branco para fala não vocalizada. Em segundo lugar, um livro-código adaptativo e um fixo é usado como a entrada (excitação) do modelo LP. Em terceiro lugar, uma busca é desempenhada em laço fechado em a “domínio perceptivelmente ponderado”. Em quarto lugar, quantização de vetor (VQ) é aplicada.
SUMÁRIO
[0011] De acordo com uma modalidade da presente invenção, um método para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio inclui selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital.
[0012] De acordo com uma modalidade alternativa da presente invenção, um método para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio compreende selecionar codificação de domínio de frequência para codificar o sinal digital quando uma taxa de bits de codificação é mais alta que um limite superior de taxa de bits. Alternativamente, o método seleciona codificação de domínio de tempo para codificar o sinal digital quando a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits. O sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo.
[0013] De acordo com uma modalidade alternativa da presente invenção, um método para processar sinais de fala antes de codificar compreende selecionar codificação de domínio de tempo para codificar um sinal digital compreendendo dados de áudio quando o sinal digital não compreende sinal de passo curto e o sinal digital é classificado como fala não vocalizada ou fala normal. O método compreende adicionalmente selecionar codificação de domínio de frequência para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits. O sinal digital compreende sinal de passo curto e a periodicidade de vocalização é baixa. O método inclui adicionalmente selecionar codificação de domínio de tempo para codificar o sinal digital quando taxa de bits de codificação é intermediária e o sinal digital compreende sinal de passo curto e uma periodicidade de vocalização é muito forte.
[0014] De acordo com uma modalidade alternativa da presente invenção, um aparelho para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio compreende um seletor de codificação configurado para selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital.
BREVE DESCRIÇÃO DOS DESENHOS
[0015] Para um entendimento mais completo da presente invenção, e das vantagens da mesma, referência é feita agora às descrições a seguir tomadas em conjunto com os desenhos anexos, nos quais:
[0016] A Figura 1 ilustra operações desempenhadas durante codificação de uma fala original usando um codificador CELP convencional;
[0017] A Figura 2 ilustra operações desempenhadas durante decodificação de uma fala original usando um decodificador CELP;
[0018] A Figura 3 ilustra um codificador CELP convencional;
[0019] A Figura 4 ilustra um decodificador CELP básico que corresponde ao codificador na Figura 3;
[0020] As Figuras 5 e 6 ilustram exemplos de sinais esquemáticos de fala e de sua relação com tamanho de quadro e tamanho de subquadro no domínio de tempo;
[0021] A Figura 7 ilustra um exemplo de um espectro de banda larga vocalizado original;
[0022] A Figura 8 ilustra um espectro de banda larga vocalizado codificado do espectro de banda larga vocalizado original ilustrado na Figura 7 usando codificação de latência de passo em duplicação;
[0023] Figuras 9A e 9B ilustram o esquema de um típico codec de percepção de domínio de frequência, em que a Figura 9A ilustra um codificador de domínio de frequência enquanto que a Figura 9B ilustra um decodificador de domínio de frequência;
[0024] A Figura 10 ilustra um esquema das operações em um codificador antes de codificar um sinal de fala compreendendo dados de áudio de acordo com as modalidades da presente invenção;
[0025] Figura 11 ilustra um sistema de comunicação 10 de acordo com uma modalidade da presente invenção;
[0026] A Figura 12 ilustra um diagrama de blocos de um sistema de processamento que pode ser usado para implantar os dispositivos e métodos revelados no presente documento;
[0027] A Figura 13 ilustra um diagrama de blocos de um aparelho para processar sinais de fala antes de codificar um sinal digital; e
[0028] A Figura 14 ilustra um diagrama de blocos de outro aparelho para processar sinais de fala antes de codificar um sinal digital.
DESCRIÇÃO DETALHADA DE MODALIDADES ILUSTRATIVAS
[0029] Em um sistema de comunicação de sinal digital de áudio/fala moderno, um sinal digital é compactado em um codificador, e as informações compactadas ou corrente de bits podem ser em pacotes e enviadas para um decodificador quadro a quadro através de um canal de comunicação. O decodificador recebe e decodifica as informações compactadas para obter o sinal digital de áudio/fala.
[0030] Em um sistema de comunicação de sinal áudio digital/fala moderno, um sinal digital é compactado em um codificador, e as informações compactadas ou corrente de bits podem ser em pacotes e enviadas para um decodificador quadro a quadro através de um canal de comunicação. O sistema tanto do codificador quanto do decodificador juntos é chamado codec. A compressão de fala/áudio pode ser usada para reduzir o número de bits que representam o sinal de fala/áudio desse modo reduzindo a largura de banda e/ou a taxa de bits necessária para transmissão. Em geral, uma taxa de bits mais alta irá resultar em qualidade de áudio mais alta, enquanto uma taxa de bits inferior irá resultar em qualidade de áudio inferior.
[0031] A Figura 1 ilustra operações desempenhadas durante a codificação de uma fala original usando um codificador CELP convencional.
[0032] A Figura 1 ilustra um codificador CELP inicial convencional onde um erro ponderado 109 entre uma fala sintetizada 102 e uma fala original 101 é minimizado frequentemente usando-se uma abordagem análise por síntese, o que significa que a codificação (análise) é desempenhada otimizando- se perceptivelmente o sinal decodificado (síntese) em um laço fechado.
[0033] O princípio básico que todos os codificadores de fala exploram é o fato de que sinais de fala são formas de onda altamente correlacionadas. A título de ilustração, a fala pode ser representada usando-se um modelo autorregressivo (AR) como na Equação (1) abaixo.
Figure img0001
[0034] Na Equação (11), cada amostra é representada como uma combinação linear das amostras P prévias mais um ruído branco. Os coeficientes ponderados a1, a2, ... aP, são chamados Coeficientes de Previsão Linear (LPCs). Para cada quadro, os coeficientes ponderados a1, a2, ... aP, são escolhidos de modo que o espectro de {X1, X2, ..., XN}, gerado usando o modelo acima, se iguale muito próximo do espectro do quadro de fala alimentado.
[0035] Alternativamente, sinais de fala podem também ser representados por uma combinação de um modelo harmônico e um modelo de ruído. A parte harmônica do modelo é efetivamente uma representação de série de Fourier do componente periódico do sinal. Em geral, para sinais vocalizados, o modelo de fala harmônico mais ruído é composto de uma mistura de harmônico e de ruído. A proporção de harmônica e ruído em uma fala vocalizada depende de diversos fatores incluindo as características do interlocutor (por exemplo, até que ponto a de voz do interlocutor é normal ou se se escuta a respiração); o caráter do segmento de fala (por exemplo, até que ponto um segmento de fala é periódico) e da frequência. As frequências mais altas de fala vocalizada têm uma proporção mais alta de componentes similares a ruído.
[0036] O modelo de previsão linear e o modelo de ruído harmônico são os dois métodos principais para modelar e codificar sinais de fala. O modelo de previsão linear é particularmente bom em modelar o envelope espectral de fala enquanto que o modelo de ruído harmônico é bom em modelar a estrutura fina de fala. Os dois métodos podem ser combinados para tirar vantagem de suas forças relativas.
[0037] Conforme indicado anteriormente, antes da codificação de CELP, o sinal de entrada para o microfone do fone é filtrado e amostrado, por exemplo, a uma taxa de 8.000 amostras por segundo. Cada amostra é então quantizada, por exemplo, com 13 bit por amostra. A fala amostrada é segmentada em segmentos ou quadros de 20 ms (por exemplo, nesse caso 160 amostras).
[0038] O sinal de fala é analisado e seu modelo LP, sinais de excitação e passo são extraídos. O modelo LP representa o envelope espectral de fala. O mesmo é convertido em um conjunto de coeficientes de frequências espectrais de linha (LSF), o que é uma representação alternativa de parâmetros de previsão linear, porque coeficientes LSF têm boas propriedades de quantização. Os coeficientes LSF podem ser quantizados de modo escalar ou mais eficientemente eles podem ser quantizados por vetor usando livros-código de vetor LSF anteriormente treinados.
[0039] A excitação por código inclui um livro-código compreendendo vetores de código, os quais têm componentes que são todos independentemente escolhidos de modo que cada vetor de código possa ter um espectro aproximadamente ‘branco’. Para cada subquadro de fala de entrada, cada um dos vetores de código é filtrado através do filtro de previsão linear de curto prazo 103 e o filtro de previsão a longo prazo 105, e a saída é comparada às amostras de fala. Em cada subquadro, o vetor de código cuja saída melhor se iguale à fala de entrada (erro minimizado) é escolhido para representar aquele subquadro.
[0040] A excitação codificada 108 normalmente compreende sinal similar a pulso ou sinal similar a ruído, os quais são matematicamente construídos ou salvos em um livro-código. O livro-código está disponível tanto para o codificador quanto para o decodificador de recebimento. A excitação codificada 108, que pode ser um livro-código estocástico ou fixo, pode ser um dicionário de quantização de vetor que é (implicitamente ou explicitamente) codificado rígido no codec. Esse livro-código fixo pode ser uma previsão algébrica excitada por código linear ou ser armazenada explicitamente.
[0041] Um vetor de código a partir do livro-código é escalado por um ganho apropriado para fazer a energia igual à energia da fala de entrada. Consequentemente, a saída da excitação codificada 108 é escalada por um ganho Gc 107 antes de ir através dos filtros lineares.
[0042] O filtro de previsão linear de curto prazo 103 conforma o ‘branco’ espectro do vetor de código para parecer o espectro da fala de entrada. De modo equivalente, em domínio de tempo, o filtro de previsão linear de curto prazo 103 incorpora correlações de curto prazo (correlação com amostras anteriores) na sequência branca. O filtro que conforma a excitação tem um modelo todo de polo da forma 1/A(z) (filtro de previsão linear de curto prazo 103), onde A(z) é chamado o filtro de previsão e pode ser obtido usando previsão linear (por exemplo, algoritmo Levinson-Durbin). Em uma ou mais modalidades, um filtro todo de polo pode ser usado porque o mesmo é uma boa representação do trato vocal humano e porque é fácil de computar.
[0043] O filtro de previsão linear de curto prazo 103 é obtido analisando-se o sinal original 101 e representado por um conjunto de coeficientes:
Figure img0002
[0044] Conforme anteriormente descrito, regiões de fala vocalizada exibem periodicidade de longo prazo. Esse período, conhecido como passo, é introduzido no espectro sintetizado pelo filtro de passo 1/(B(z)). A saída do filtro de previsão a longo prazo 105 depende do passo e do ganho de passo. Em uma ou mais modalidades, o passo pode ser estimado a partir do sinal original, sinal residual, ou sinal original ponderado. Em uma modalidade, a função de previsão a longo prazo (B(z)) pode ser expressada usando a Equação (3) como a seguir.
Figure img0003
[0045] O filtro ponderado 110 está relacionado ao filtro de previsão a curto prazo acima. Um dos típicos filtros ponderados pode ser representado conforme descrito na Equação (4).
Figure img0004
onde β < a , 0 < β < 1, 0 < a < 1.
[0046] Em outra modalidade, o filtro ponderado W(z) pode ser derivado a partir do filtro LPC pelo uso de expansão de largura de banda conforme ilustrado em uma modalidade na Equação (5) abaixo.
Figure img0005
Na Equação (5), Y1 > Y2, os quais são os fatores com os quais os polos são movidos na direção da origem.
[0047] Consequentemente, para todo quadro de fala, os LPCs e o passo são computados e os filtros são atualizados. Para todo subquadro de fala, o vetor de código que produz a ‘melhor’ saída filtrada é escolhido para representar o subquadro. O valor quantizado de ganho correspondente tem de ser transmitido para o decodificador para decodificação apropriada. Os LPCs e os valores de passo também têm de ser quantizados e enviados para todo quadro para reconstruir os filtros no decodificador. Consequentemente, o índice de excitação codificada, o índice de ganho quantizado, o índice de parâmetro de previsão a longo prazo quantizado, e o índice de parâmetro de previsão a curto prazo quantizado são transmitidos para o decodificador.
[0048] A Figura 2 ilustra operações desempenhadas durante a decodificação de uma fala original usando um decodificador CELP.
[0049] O sinal de fala é reconstruído no decodificador passando-se os vetores de código recebidos através dos filtros correspondentes. Consequentemente, todo bloco exceto o de pós-processamento tem a mesma definição conforme descrito no codificador da Figura 1.
[0050] A corrente de bits de CELP codificada é recebida e desempacotada 80 em um dispositivo de recebimento. Para cada subquadro recebido, o índice de excitação codificada recebida, o índice de ganho quantizado, o índice de parâmetro de previsão a longo prazo quantizado, e o índice de parâmetro de previsão a curto prazo quantizado, são usados para encontrar os parâmetros correspondentes usando decodificadores correspondentes, por exemplo, decodificador de ganho 81, decodificador de previsão a longo prazo 82, e decodificador de previsão a curto prazo 83. Por exemplo, os indícios de posições e amplitude dos pulsos de excitação e o vetor de código algébrico da excitação por código 402 podem ser determinados a partir do índice de excitação codificada recebida.
[0051] Com referência à Figura 2, o decodificador é uma combinação de diversos blocos o que inclui excitação codificada 201, previsão a longo prazo 203, previsão a curto prazo 205. O decodificador inicial inclui adicionalmente bloco pós-processamento 207 após uma fala sintetizada 206. O pós-processamento pode compreender adicionalmente pós-processamento a curto prazo e pós-processamento a longo prazo.
[0052] A Figura 3 ilustra um codificador CELP convencional.
[0053] Figura 3 ilustra um codificador CELP básico usando um livro código adaptativo adicional para aperfeiçoar previsão linear a longo prazo. A excitação é produzida somando-se as contribuições a partir de um livro-código adaptativo 307 e uma excitação por código 308, o qual pode ser um livro-código estocástico ou fixo conforme descrito anteriormente. As entradas no livro-código adaptativo compreendem versões retardadas da excitação. Isso torna possível codificar eficientemente sinais periódicos tais como sons vocalizados.
[0054] Com referência à Figura 3, um livro-código adaptativo 307 compreende uma excitação sintetizada passada 304 ou repetir ciclo de passo de excitação passada no período de passo. A latência de passo pode ser codificada em valor de número inteiro quando a mesma é grande ou longa. A latência de passo é frequentemente codificada em valor fracional mais preciso quando o mesmo é pequeno ou curto. As informações de passo periódicas são empregadas para gerar o componente adaptativo da excitação. Esse componente de excitação é então escalado por um ganho Gp 305 (também chamado ganho de passo).
[0055] A previsão a longo prazo desempenha um papel muito importante para codificação de fala vocalizada porque a fala vocalizada tem forte periodicidade. Os ciclos de passo adjacentes de fala vocalizada são similares entre si, o que significa que matematicamente o ganho de passo Gp na excitação expressa a seguir é alto ou próximo de 1. A excitação resultante pode ser expressada como na Equação (6) como combinação das excitações individuais.
Figure img0006
onde, ep(n) é um subquadro de série de amostra indexada por n, vindo a partir do livro-código adaptativo 307 o qual compreende a excitação passada 304 através do laço de retorno (Figura 3). ep(n) pode ser adaptativamente filtrado em filtro passa-baixa uma vez que a área de baixa frequência é frequentemente mais periódica ou mais harmônica que a área de alta frequência. ec(n) é a partir do livro-código de excitação codificada 308 (também chamado livro-código fixo) o qual é uma contribuição de excitação de corrente. Além disso, ec(n) também pode ser melhorado usando-se, por exemplo, melhora de filtragem passa-alta, melhora de passo, melhora de dispersão, melhora de formante, e outros.
[0056] Para fala vocalizada, a contribuição de ep(n) a partir do livro- código adaptativo 307 pode ser dominante e o ganho de passo Gp 305 é por volta de um valor de 1. A excitação é normalmente atualizada para cada subquadro. O tamanho de quadro típico é 20 milissegundos e o tamanho de subquadro típico é 5 milissegundos.
[0057] Conforme descrito na Figura 1, a excitação codificada fixa 308 é escalada por um ganho Gc 306 antes de ir através dos filtros lineares. Os dois componentes de excitação escalados a partir da excitação codificada fixa 108 e do livro-código adaptativo 307 são adicionados juntos antes da filtragem através do filtro de previsão linear de curto prazo 303. Os dois ganhos (Gp e Gc) são quantizados e transmitidos para um decodificador. Consequentemente, o índice de excitação codificada, o índice de livro-código adaptativo, os índices de ganho quantizados, e o índice de parâmetro de previsão a curto prazo quantizado são transmitidos para o dispositivo de áudio receptor.
[0058] A corrente CELP de bits codificada usando um dispositivo ilustrado na Figura 3 é recebido em um dispositivo de recebimento. A Figura 4 ilustra o decodificador correspondente do dispositivo de recebimento.
[0059] A Figura 4 ilustra um decodificador CELP básico que corresponde ao codificador na Figura 3. A Figura 4 inclui um bloco pós- processamento 408 que recebe a fala sintetizada 407 a partir do decodificador principal. Esse decodificador é similar à Figura 3 exceto pelo livro-código adaptativo 307.
[0060] Para cada subquadro recebido, o índice de excitação codificada recebida, o índice de ganho de excitação codificada quantizada, o índice de passo quantizado, o índice de ganho de livro-código adaptativo quantizado, e o índice de parâmetro de previsão a curto prazo quantizado, são usados para encontrar os parâmetros correspondentes usando decodificadores correspondentes, por exemplo, decodificador de ganho 81, decodificador de passo 84, decodificador de ganho de livro-código adaptativo 85 e decodificador de previsão a curto prazo 83.
[0061] Em várias modalidades, o decodificador CELP é uma combinação de diversos blocos e compreende excitação codificada 402, livro- código adaptativo 401, previsão a curto prazo 406, e pós-processamento 408. Todo bloco exceto pós-processamento tem a mesma definição conforme descrito no codificador da Figura 3. O pós-processamento pode incluir adicionalmente pós-processamento a curto prazo e pós-processamento a longo prazo.
[0062] A excitação por código bloco (tendo como referência a identificação 308 na Figura 3 e 402 na Figura 4) ilustra a localização de Livro- Código Fixo (FCB) para uma codificação de CELP geral. Um vetor de código selecionado a partir de um FCB é escalado por um ganho frequentemente indicado como Gc 306.
[0063] As Figuras 5 e 6 ilustram exemplos de sinais esquemáticos de fala e sua relação ao tamanho de quadro e tamanho de subquadro no domínio de tempo. As Figuras 5 e 6 ilustram um quadro incluindo uma pluralidade de subquadros.
[0064] Cada uma das amostras da fala de entrada é dividida em blocos de amostras, chamados quadros, por exemplo, 80 a 240 amostras ou quadros. Cada quadro é dividido em blocos de amostras menores, cada um deles chamados subquadros. À taxa de amostra de 8 kHz, 12,8 kHz, ou 16 kHz, o algoritmo de codificação de fala é tal que a duração de quadro nominal é na faixa de dez a trinta milissegundos, e tipicamente vinte milissegundos. Na Figura 5 ilustrada, o quadro tem um tamanho de quadro 1 e um tamanho de subquadro 2, em que cada quadro é dividido em 4 subquadros.
[0065] Com referência às porções inferiores ou de fundo das Figuras 5 e 6, as regiões vocalizadas em uma fala parecem um sinal quase periódico na representação de domínio de tempo. A abertura e fechamento periódicos das dobras vocais de interlocutor resultam na estrutura harmônica em sinais de fala vocalizados. Portanto, por curtos períodos de tempo, os segmentos de fala vocalizada podem ser tratados para serem periódicos para toda análise e processamento práticos. A periodicidade associada a tais segmentos é definida como “Período de Passo” ou simplesmente “passo” no domínio de tempo e “Frequência de Passo ou Frequência Fundamental f0” no domínio de frequência. O inverso do período de passo é a frequência de fala fundamental. Os termos frequência de passo e fundamental de fala são frequentemente usados indistintamente.
[0066] Para a maior parte de fala vocalizada, um quadro contém mais que dois ciclos de passo. A Figura 5 ilustra adicionalmente um exemplo em que o período de passo 3 é menor que o tamanho de subquadro 2. Em contraste, a Figura 6 ilustra um exemplo em que o período de passo 4 é maior que o tamanho de subquadro 2 e menor que a metade do tamanho de quadro.
[0067] A fim de codificar o sinal de fala mais eficientemente, o sinal de fala pode ser classificado em diferentes classes e cada classe é encodificada em um modo diferente. Por exemplo, em alguns padrões tais como G.718, VMR- WB, ou AMR-WB, o sinal de fala é classificado em NÃO VOCALIZADO, TRANSIÇÃO, GENÉRICO, VOCALIZADO e RUÍDO.
[0068] Para cada classe, um filtro LPC ou STP é sempre usado para representar envelope espectral. Entretanto, a excitação para o filtro LPC pode ser diferente. As classes NÃO VOCALIZADO e RUÍDO podem ser codificadas com uma excitação de ruído e alguma melhora de excitação. A classe TRANSIÇÃO pode ser codificada com uma excitação de pulso e alguma melhora de excitação sem usar o livro-código adaptativo ou LTP.
[0069] GENÉRICO pode ser codificado com uma abordagem CELP tradicional tal como CELP Algébrico usado em G.729 ou AMR-WB, no qual um quadro de 20 ms contém quatro subquadros de 5 ms. Tanto o componente de excitação de livro-código adaptativo quanto o componente de excitação de livro- código fixo são produzidos com alguma melhora de excitação para cada subquadro. As latências de passo para o livro-código adaptativo no primeiro e terceiro subquadros são codificadas em uma faixa inteira a partir de um limite de passo mínimo PIT_MIN até um limite de passo máximo PIT_MAX. As latências de passo para o livro-código adaptativo no segundo e quarto subquadros são codificadas diferencialmente da latência de passo codificada anterior.
[0070] Classes VOCALIZADAS podem ser codificadas em um modo tal que as mesmas sejam ligeiramente diferentes da classe GENÉRICA. Por exemplo, a latência de passo no primeiro subquadro pode ser codificada em uma faixa inteira a partir de um limite de passo mínimo PIT_MIN até um limite de passo máximo PIT_MAX. As latências de passo nos outros subquadros podem ser codificadas diferencialmente da latência de passo codificada anterior. A título de ilustração, supondo-se que a taxa de amostra de excitação é 12,8 kHz, então o valor PIT_MIN de exemplo pode ser 34 e PIT_MAX pode ser 231.
[0071] As modalidades da presente invenção que aperfeiçoam a classificação de codificação de domínio de tempo e codificação de domínio de frequência irão ser descritas agora.
[0072] Falando de modo geral, é melhor usar codificação de domínio de tempo para sinal de fala e codificação de domínio de frequência para sinal de música a fim de conseguir melhor qualidade a uma taxa de bits muito alta (por exemplo, 24kbps <= taxa de bits <= 64kbps). Entretanto, para algum sinal de fala específico tal como sinal de passo curto, sinal de fala cantada, ou sinal de fala muito ruidoso, pode ser melhor usar codificação de domínio de frequência. Para alguns sinais de música específicos tais como sinal muito periódico, pode ser melhor usar codificação de domínio de tempo beneficiando- se de ganho LTP muito alto. A taxa de bits é um importante parâmetro para classificação. Normalmente, a codificação de domínio de tempo favorece taxa de bits baixa e a codificação de domínio de frequência favorece taxa de bits alta. Uma melhor classificação ou seleção entre codificação de domínio de tempo e codificação de domínio de frequência precisa ser decidida com cuidado, considerando também a faixa de taxa de bits e a característica de codificar algoritmos.
[0073] Nas próximas seções, a detecção de fala normal e o sinal de passo curto serão descritos.
[0074] A fala normal é um sinal de fala que exclui sinal de fala cantada, sinal de passo curto de fala, ou sinal misturado de fala/música. A fala normal também pode ser um sinal de fala que muda rapidamente, o espectro e/ou energia do qual muda mais rápido que a maioria dos sinais de música. Normalmente, o algoritmo de codificação de domínio de tempo é melhor que o algoritmo codificação de domínio de frequência para codificar sinal de fala normal. A seguir se encontra um algoritmo de exemplo para detectar sinal de fala normal.
[0075] Para um candidato de passo P, a correlação de passo normalizada é frequentemente definida em forma matemática como na Equação (8).
Figure img0007
[0076] Na Equação (8), sw(n) é um sinal de fala ponderado, o numerador é a correlação, e o denominador é um fator de normalização de energia. Supondo-se que Vocalização indica o valor médio de correlação de passo normalizado dos quatro subquadros no quadro de fala, Vocalização pode ser computada como na Equação (9) abaixo.
Figure img0008
[0077] R1(P1), R2(P2), R3(P3), e R4(P4) são as quatro correlações de passo normalizadas calculadas para cada subquadro; P1, P2, P3, e P4 para cada subquadrosão os melhores candidatos de passo encontrados na faixa de passo de P=PIT_MIN a P=PIT_MAX. A correlação de passo suavizado do quadro anterior para o quadro corrente pode ser calculada como na Equação (10).
Figure img0009
[0078] Na Equação (10), VAD é Detecção de Atividade de Voz e VAD=1 é uma referência de que o sinal de fala sai. Supondo-se que Fs é a taxa de amostra, a energia máxima na região de frequência muito baixa [0, FMIN=Fs / PIT_MIN] (Hz) é Energy0 (dB), a energia máxima na região de frequência baixa [FMIN , 900] (Hz) é Energy1 (dB), e a energia máxima na região de frequência alta [5.000 , 5.800] (Hz) é Energy3 (dB), um parâmetro de inclinação espectral Tilt é definido como a seguir.
Figure img0010
[0079] Um parâmetro de inclinação espectral suavizado é indicado como na Equação (12).
Figure img0011
[0080] Uma inclinação espectral de diferença do quadro corrente e do quadro anterior pode ser dada como na Equação (13).
Figure img0012
[0081] Uma inclinação espectral de diferença suavizada é dada como na Equação (14).
Figure img0013
[0082] Uma energia de frequência baixa de diferença do quadro corrente e do quadro anterior é
Figure img0014
[0083] Uma energia de diferença suavizada é dada pela Equação (16).
Figure img0015
[0084] Adicionalmente, um sinalizador de fala normal indicado como Speech_flag é decidido e mudado durante área vocalizada considerando- se variação de energia Diff_energy1_sm, variação de vocalização Voicing_sm, e variação de inclinação espectral Diff_tilt_sm conforme fornecido na Equação (17).
Figure img0016
[0085] As modalidades da presente invenção para detectar sinal de passo curto serão descritas.
[0086] A maioria dos codecs CELP funcionam bem para sinais de fala normais. Entretanto, codecs de CELP com taxa baixa de bits frequentemente falham para sinais de música e/ou sinais de voz cantada. Se a faixa de codificação de passo é de PIT_MIN até PIT_MAX e a latência de passo real é menor que PIT_MIN, o desempenho de codificação de CELP pode ser perceptivelmente ruim devido a passo duplo ou passo triplo. Por exemplo, a faixa de passo de PIT_MIN=34 até PIT_MAX =231 para frequência de amostragem Fs=12,8 kHz adapta a maioria das vozes humanas. Entretanto, a latência de passo real de música regular ou sinal vocalizado de canto pode ser muito mais curta que a limitação mínima PIT_MIN=34 definida no algoritmo CELP do exemplo acima.
[0087] Quando a latência de passo real é P, a frequência fundamental normalizada correspondente (ou primeira harmônica) é f0=Fs / P, onde Fs é a frequência de amostragem e f0 é a localização do primeiro pico harmônico em espectro. Então, para uma dada frequência de amostragem, a limitação de passo mínimo PIT_MIN efetivamente define a limitação de frequência harmônica fundamental máxima FM=Fs / PIT_MIN para algoritmo CELP.
[0088] A Figura 7 ilustra um exemplo de um espectro de banda larga vocalizado original. A Figura 8 ilustra um espectro de banda larga vocalizado codificado do espectro de banda larga vocalizado original ilustrado na Figura 7 usando codificação de latência de passo em duplicação. Em outras palavras, a Figura 7 ilustra um espectro antes da codificação e a Figura 8 ilustra o espectro após a codificação.
[0089] No exemplo mostrado na Figura 7, o espectro é formado por picos harmônicos 701 e envelope espectral 702. A frequência harmônica fundamental real (a localização do primeiro pico harmônico) já está além da limitação de frequência harmônica fundamental máxima FM de modo que a latência de passo transmitida para o algoritmo CELP não está habilitada a ser igual à latência de passo real e poderia ser o dobro ou um múltiplo da latência de passo real.
[0090] A latência de passo errada transmitida com um múltiplo da latência de passo real pode causar uma degradação de qualidade óbvia. Em outras palavras, quando a latência de passo real para sinal de música harmônica ou sinal de voz cantada é menor que a limitação de latência mínima PIT_MIN definida no algoritmo CELP, a latência transmitida poderia ser dupla, tripla ou múltipla da latência de passo real.
[0091] Como resultado, o espectro do sinal codificado com a latência de passo transmitida poderia ser conforme mostrado na Figura 8. Conforme ilustrado na Figura 8, além de incluir os picos harmônicos 8011 e o envelope espectral 802, picos pequenos indesejados 803 entre os picos harmônicos reais podem ser vistos enquanto o espectro correto deve ser como aquele na Figura 7. Aqueles picos de espectro pequenos na Figura 8 poderiam causar distorção de percepção desconfortável.
[0092] De acordo com as modalidades da presente invenção, uma solução para resolver esse problema quando a CELP falha para alguns sinais específicos é que a codificação de domínio de frequência é usada em vez de codificação de domínio de tempo.
[0093] Normalmente, sinais harmônicos de música ou sinais de voz cantada são mais estacionários que sinais normais de fala. A latência de passo (ou frequência fundamental) de sinal de fala normal muda constantemente. Entretanto, a latência de passo (ou frequência fundamental) de sinal de música ou sinal de voz cantada frequentemente mantém uma mudança relativamente lenta por uma longa duração de tempo. A faixa de passo muito curto é definida a partir de PIT_MIN0 a PIT_MIN. Na frequência de amostragem Fs=12,8 kHz, uma definição exemplificativa da faixa de passo muito curto pode ser de PIT_MIN0<=17 até PIT_MIN=34. Como o passo candidato é tão curto, a energia de 0 Hz a FMIN=Fs / PIT_MIN Hz precisa ser relativamente baixa o bastante. Outras condições tais como Detecção de Atividade de Voz e Classificação Vocalizada podem ser adicionadas durante a detecção de existência de sinal de passo curto.
[0094] Os dois parâmetros a seguir podem ajudar a detectar a possível existência de sinal de passo muito curto. Um apresenta “Falta de Energia de Frequência Muito Baixa” e outro apresenta “Nitidez Espectral”. Conforme já mencionado acima, supondo-se que a energia máxima na região de frequência [0, FMIN] (Hz) é Energy0 (dB), a energia máxima na região de frequência [FMIN , 900] (Hz) é Energy1 (dB), a razão de energia relativa entre Energy0 e Energy1 é fornecida na Equação (18) abaixo.
Figure img0017
[0095] Essa razão de energia pode ser ponderada multiplicando-se um valor de correlação de passo normalizado médio Voicing, o qual é mostrado abaixo na Equação (19).
Figure img0018
[0096] A razão para fazer a ponderação na Equação (19) usando- se um fator Voicing é que detecção de passo curto é significativo para fala vocalizada ou música harmônica, e não é significativo para fala não vocalizada ou música não harmônica. Antes de usar o parâmetro Ratio para detectar a ausência de energia de baixa frequência, é melhor ser suavizado a fim de reduzir a incerteza conforme na Equação (20).
Figure img0019
[0097] Se LF_lack_flag=1 significa que a ausência de energia de baixa frequência é detectada (ou então LF_lack_flag=0 ), LF_lack_flag pode ser determinado pelo seguinte procedimento. se ( (LF_EnergyRatio_sm>30) ou (Ratio>48) ou (LF_EnergyRatio_sm>22 e Ratio>38) ) { LF_lack_flag=1 ; } ou se (LF_ EnergyRatio _sm <13) { LF_lack_flag=0 ; } ou então { LF_lack_flag se mantém inalterado. }
[0098] Parâmetros relacionados a Nitidez espectral são determinados do seguinte modo. Supondo-se Energy1 (dB) é a energia máxima na região de frequência baixa [FMIN , 900] (Hz) , i_peak é a localização de pico harmônico de energia máxima na região de frequência [FMIN ,900] (Hz) e Energy2 (dB) é a energia média na região de frequência [i _ peak , i _ peak + 400] (Hz) . Um parâmetro de nitidez espectral é definido como na Equação (21).
Figure img0020
[0099] Um parâmetro de nitidez espectral suavizado é dado como a seguir. if (VAD = 1) { SpecSharp_sm = (7 ■ SpecSharp_sm + SpecSharp )/8 }
[0100] Um sinalizador de nitidez espectral indicando a possível existência de sinal de passo curto é avaliado como a seguir. se ( SpecSharp_sm>50 ou SpecSharp>80 ) { SpecSharp_flag=1; //possíveis passo curto ou tons curtos } se ( SpecSharp_sm<8 ) { SpecSharp_flag=0; } se nenhuma das condições acima são satisfeitas, SpecSharp_flag se mantém inalterado.
[0101] Em várias modalidades, os parâmetros acima estimados podem ser usados para aperfeiçoar a classificação ou seleção de codificação de domínio de tempo e codificação de domínio de frequência. Supor Sp_Aud_Deci=1 denota que a codificação de domínio de frequência é selecionada e Sp_Aud_Deci=0 denota que a codificação de domínio de tempo é selecionada. O seguinte procedimento gera um algoritmo de exemplo para aperfeiçoar a classificação de codificação de domínio de tempo e a codificação de domínio de frequência para diferentes taxas de bits de codificação.
[0102] As modalidades da presente invenção podem ser usadas para aperfeiçoar altas taxas de bits, por exemplo, taxa de bits de codificação é maior que ou igual a 46.200 bps. Quando taxa de bits de codificação é muito alta e o sinal de passo curto possivelmente existe, a codificação de domínio de frequência é selecionada porque a codificação de domínio de frequência pode oferecer qualidade sólida e confiável enquanto que a codificação de domínio de tempo arrisca uma má influência de uma detecção de passo errada. Em contraste, quando o sinal de passo curto não existe e o sinal é de fala não vocalizada ou fala normal, a codificação de domínio de tempo é selecionada porque a codificação de domínio de tempo pode oferecer melhor qualidade que a codificação de domínio de frequência para sinal de fala normal. /* para possível sinal de passo curto, selecionar codificação de domínio de frequência */ se (LF_lack_flag=1 ou SpecSharp_flag=1) { Sp_Aud_Deci = 1; // selecionar codificação de domínio de frequência } /* para fala não vocalizada ou fala normal, selecionar codificação de domínio de tempo */ se (LF_lack_flag=0 e SpecSharp_flag=0) { se ( (Tilt>40) e (Voicing<0,5) e (speech_class=UNVOICED) e (VAD=1) ) { Sp_Aud_Deci = 0; // selecionar codificação de domínio de tempo } se (Speech_flag=1) { Sp_Aud_Deci = 0; // selecionar codificação de domínio de tempo } }
[0103] As modalidades da presente invenção podem ser usadas para aperfeiçoar codificação de taxa de bits intermediária, por exemplo, quando taxa de bits de codificação é entre 24,4kbps e 46.200 bps. Quando o sinal de passo curto possivelmente existe e a periodicidade de vocalização é baixa, a codificação de domínio de frequência é selecionada porque a codificação de domínio de frequência pode oferecer qualidade sólida e confiável enquanto a codificação de domínio de tempo arrisca má influência de baixa periodicidade de vocalização. Quando o sinal de passo curto não existe e o sinal é de fala não vocalizada ou fala normal, a codificação de domínio de tempo é selecionada porque a codificação de domínio de tempo pode oferecer melhor qualidade que a codificação de domínio de frequência para sinal de fala normal. Quando a periodicidade de vocalização é muito forte, a codificação de domínio de tempo é selecionada porque a codificação de domínio de tempo pode se beneficiar muito de alto ganho LTP com periodicidade de vocalização muito forte.
[0104] As modalidades da presente invenção podem também ser usadas para aperfeiçoar altas taxas de bits, por exemplo, taxa de bits de codificação é menor que 24,4kbps. Quando o sinal de passo curto existe e a periodicidade de vocalização não é baixa com correta detecção de latência de passo curto, a codificação de domínio de frequência não é selecionada porque a codificação de domínio de frequência não pode oferecer qualidade sólida e confiável a uma taxa baixa enquanto a codificação de domínio de tempo pode se beneficiar bem da função LTP.
[0105] O seguinte algoritmo ilustra uma modalidade específica das modalidades acima a título de ilustração. Todos os parâmetros podem ser computados conforme descrito anteriormente em uma ou mais modalidades. /* preparar parâmetros ou limiares */ se (quadro anterior é codificação de domínio de tempo ) { DPIT=0,4; TH1=0,92; TH2=0,8; } ou então { DPIT=0,9; TH1=0,9; TH2=0,7; } Stab _Pitch_Flag = (|P0 -P1| < DPIT) e (|P1 - P2| < DPIT) e (|P2 - P3| < DPIT) ; High_Voicing = (Voicing_sm>TH1) e (Voicing >TH2) ; /* para possível sinal de passo curto com baixa periodicidade (baixa vocalização), selecionar codificação de domínio de frequência */ se ( (LF_lack_flag=1) ou (SpecSharp_flag=1) ) { se ( ( (Stab_Pitch_Flag=0 ou High_Voicing=0) e ( Tilt_sm<=-50) ) ou (Tilt_sm<=-60) ) { Sp_Aud_Deci = 1; // selecionar codificação de domínio de frequência } } /* para sinal não vocalizado ou sinal de fala normal, selecionar codificação de domínio de tempo */ se ( LF_lack_flag=0 e SpecSharp_flag=0 ) { se ( Tilt>40 e Voicing<0,5 e speech_class=UNVOICED e Vad=1) { Sp_Aud_Deci = 0; // selecionar codificação de domínio de tempo } se ( Speech_flag=1) { Sp_Aud_Deci = 0; // selecionar codificação de domínio de tempo } } /* para sinal de vocalização forte, selecionar codificação de domínio de tempo */ se ( Tilt_sm>-60 e ( speech_class não é UNVOICED ) ) { se ( High_Voicing=1 e (Stab_Pitch_Flag=1 ou (LF_lack_flag=0 e SpecSharp_flag=0) ) ) { Sp_Aud_Deci = 0; // selecionar codificação de domínio de tempo } }
[0106] Em várias modalidades, a classificação ou seleção de codificação de domínio de tempo e a codificação de domínio de frequência podem ser usadas para aperfeiçoar significativamente a qualidade de percepção de alguns sinais de fala ou sinal de música específicos.
[0107] A codificação de áudio com base em tecnologia de banco de filtros é amplamente usada em codificação de domínio de frequência. Em processamento de sinal, um banco de filtros é um arranjo de filtros passa banda que separa o sinal de entrada em múltiplos componentes, cada um portando uma única sub-banda de frequência do sinal original de entrada. O processo de decomposição desempenhado pelo banco de filtros é chamado análise, e a saída de análise de banco de filtros é referida como um sinal sub-banda tendo tantas sub-bandas quanto existem filtros no banco de filtros. O processo de reconstrução é chamado síntese de banco de filtros. Em processamento de sinal digital, o termo banco de filtros é também comumente aplicado a um banco de receptores, os quais podem também conversor para baixo as sub-bandas até uma frequência central baixa que pode ser amostrada de novo a uma taxa reduzida. O mesmo resultado sintetizado pode algumas vezes ser também conseguido por subamostragem da sub-bandas passa-banda. A saída de análise de banco de filtros pode ser em uma forma de coeficientes complexos. Cada coeficiente complexo tendo um elemento real e um elemento imaginário representando respectivamente um termo de cosseno e um termo de seno para cada sub-banda de banco de filtros.
[0108] A Análise de Banco de Filtros e a Síntese de Banco de Filtros é um tipo de par de transformação que transforma um sinal de domínio de tempo em coeficientes de domínio de frequência e transforma por inversão coeficientes de domínio de frequência de volta em um sinal de domínio de tempo. Outros pares de transformação populares, tais como (FFT e iFFT), (DFT e iDFT) e (MDCT e iMDCT), podem ser também usados em codificação de fala/áudio.
[0109] Na aplicação de banco de filtros para compressão de sinal, algumas frequências são perceptivelmente mais importantes que outras. Após decomposição, de frequências perceptivelmente significativas podem ser codificadas com uma resolução fina, uma vez que pequenas diferenças a essas frequências são perceptivelmente notadas para garantir usando um esquema de codificação que preserva essas diferenças. Por outo lado, frequências menos significativas perceptivelmente não são replicadas tão precisamente. Portanto, um esquema de codificação mais rústico pode ser usado, mesmo que alguns dos detalhes mais finos vão ser perdidos na codificação. Um típico esquema de codificação mais rústico pode ser com base no conceito de Extensão de Largura de Banda (BWE), também conhecido como Extensão de Banda Alta (HBE). Uma abordagem recentemente popular específica para BWE ou HBE é conhecida como Réplica de Sub-Banda (SBR) ou Réplica de Banda Espectral (SBR). Essas técnicas são similares porque as mesmas codificam e decodificam algumas subbandas de frequência (normalmente bandas altas) com pouco ou nenhum orçamento de taxa de bits, desse modo rendendo uma taxa de bits significativamente mais baixa que uma abordagem normal de codificação/decodificação. Com a tecnologia SBR, uma estrutura fina espectral em banda de alta frequência é copiada a partir de banda de baixa frequência, e ruído aleatório pode ser adicionado. A seguir, um envelope espectral da banda de alta frequência é conformado usando-se informações secundárias transmitidas a partir do codificador para o decodificador.
[0110] O uso de princípio psicoacústico ou de efeito de mascaramento de percepção para o projeto de compressão de áudio faz sentido. Equipamento ou comunicação de áudio/fala se destina a interação com seres humanos, com todas as suas habilidades e limitações de percepção. O equipamento de áudio tradicional tenta reproduzir sinais com a máxima fidelidade ao original. Uma meta mais apropriadamente direcionada e frequentemente mais eficiente é conseguir a fidelidade perceptível por seres humanos. Essa é a meta de codificadores de percepção.
[0111] Embora uma meta principal de codificadores de percepção de áudio digital seja a redução de dados, codificação de percepção pode também ser usada para aperfeiçoar a representação de áudio digital através de alocação de bits avançada. Um dos exemplos de codificadores de percepção poderia ser sistemas multibanda, dividindo o espectro em um modo que imita as bandas críticas de psicoacústicos. Modelando-se a percepção humana, codificadores de percepção podem processar sinais de modo muito semelhante ao dos seres humanos, e tirar vantagem de fenômenos tais como mascaramento. Embora essa seja a meta dos mesmos, o processo depende de um algoritmo exato. Devido ao fato de que é difícil ter um modelo de percepção muito exato que cubra o comportamento da audição humana comum, a exatidão de qualquer expressão matemática de modelo de percepção é ainda limitada. Entretanto, com exatidão limitada, o conceito de percepção tem ajudado no projeto de codecs de áudio. Numerosos esquemas de codificação de áudio MPEG se beneficiaram da exploração de efeito de mascaramento de percepção. Diversos codecs padrões de ITU também usam o conceito de percepção. Por exemplo, ITU G.729.1 desempenha a chamada alocação de bit dinâmico com base no conceito mascaramento de percepção. O conceito de alocação de bit dinâmico com base na importância de percepção é também usado no codec 3GPP EVS recente.
[0112] As Figuras 9A e 9B ilustram o esquema de um típico codec de percepção de domínio de frequência. A Figura 9A ilustra um codificador de domínio de frequência enquanto a Figura 9B ilustra um decodificador de domínio de frequência.
[0113] O sinal original 901 é primeiro transformado em domínio de frequência para obter coeficientes de domínio de frequência não quantizados 902. Antes de quantizar os coeficientes, a função de mascaramento (importância de percepção) divide o espectro de frequência em muitas sub-bandas (frequentemente espaçadas igualmente para simplificar). Cada sub-banda aloca dinamicamente o número necessário de bits enquanto manter o número total de bits distribuído para todas as sub-bandas não está além do limite superior. Para algumas sub-bandas pode ser alocado 0 bits caso seja julgado estar abaixo do limiar de mascaramento. Uma vez que uma determinação é feita quanto ao que pode ser descartado, é alocado para o restante o número de bits disponíveis. Pelo fato de os bits não serem desperdiçados em espectro mascarado, os mesmos podem ser distribuídos em maior quantidade para o resto do sinal.
[0114] De acordo com os bits alocados, os coeficientes são quantizados e a corrente de bits 703 é enviada para o decodificador. Embora o conceito mascaramento de percepção tenha ajudado muito durante o projeto do codec, o mesmo ainda não é perfeito devido a várias razões e limitações.
[0115] Com referência à Figura 9B, o pós-processamento do lado do decodificador pode aperfeiçoar adicionalmente a qualidade de percepção de sinal decodificado produzido com taxas de bits limitadas. O decodificador primeiro usa os bits recebidos 904 para reconstruir os coeficientes quantizados 905. Então, os mesmos são pós-processados por um módulo apropriadamente projetado 906 para obter os coeficientes melhorados 907. Uma transformação inversa é desempenhada nos coeficientes melhorados para se ter a saída de domínio de tempo final 908.
[0116] A Figura 10 ilustra um esquema das operações em um codificador antes de codificar um sinal de fala compreendendo dados de áudio de acordo com as modalidades da presente invenção.
[0117] Com referência à Figura 10, o método compreende selecionar codificação de domínio de frequência ou codificação de domínio de tempo (boxe 1000) com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma latência de passo do sinal digital.
[0118] A seleção da codificação de domínio de frequência ou codificação de domínio de tempo compreende a etapa de determinar se o sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo (boxe 1010). Além disso, é determinado se a taxa de bits de codificação é ou não mais alta que um limite superior de taxa de bits (boxe 1020). Se o sinal digital compreende um sinal de passo curto e a taxa de bits de codificação é mais alta que um limite superior de taxa de bits, a codificação de domínio de frequência é selecionada para codificar o sinal digital.
[0119] De outra maneira, é determinado se a taxa de bits de codificação é ou não mais baixa que um limite inferior de taxa de bits (boxe 1030). Se o sinal digital compreende um sinal de passo curto e a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits, a codificação de domínio de tempo é selecionada para codificar o sinal digital.
[0120] De outra maneira, é determinado se a taxa de bits de codificação é ou não intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits (boxe 1040). A periodicidade de vocalização é determinada em seguida (boxe 1050). Se o sinal digital compreende um sinal de passo curto e a taxa de bits de codificação é intermediária e a periodicidade de vocalização é baixa, a codificação de domínio de frequência é selecionada para codificar o sinal digital. Alternativamente, se o sinal digital compreende um sinal de passo curto e a taxa de bits de codificação é intermediária e a periodicidade de vocalização é muito forte, a codificação de domínio de tempo é selecionada para codificar o sinal digital.
[0121] Alternativamente, com referência ao boxe 1010, o sinal digital não compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo. É determinado se o sinal digital é classificado ou não como fala não vocalizada ou fala normal (boxe 1070). Se o sinal digital não compreender um sinal de passo curto e se o sinal digital é classificado como fala não vocalizada ou fala normal, a codificação de domínio de tempo é selecionada para codificar o sinal digital.
[0122] Consequentemente, em várias modalidades, um método para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio inclui selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital. O sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo. Em várias modalidades, o método de selecionar codificação de domínio de frequência ou codificação de domínio de tempo compreende selecionar codificação de domínio de frequência para codificar o sinal digital quando uma taxa de bits de codificação é mais alta que um limite superior de taxa de bits, e selecionar codificação de domínio de tempo para codificar o sinal digital quando a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits. A taxa de bits de codificação é mais alta que o limite superior de taxa de bits quando a taxa de bits de codificação é maior que ou igual a 46.200 bps. A taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits quando a taxa de bits de codificação é menor que 24,4 kbps.
[0123] Similarmente, em outra modalidade, um método para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio compreende selecionar codificação de domínio de frequência para codificar o sinal digital quando uma taxa de bits de codificação é mais alta que um limite superior de taxa de bits. Alternativamente, o método seleciona codificação de domínio de tempo para codificar o sinal digital quando a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits. O sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo. A taxa de bits de codificação é mais alta que o limite superior de taxa de bits quando a taxa de bits de codificação é maior que ou igual a 46.200 bps. A taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits quando a taxa de bits de codificação é menor que 24,4 kbps.
[0124] Similarmente, em outra modalidade, um método para processar sinais de fala antes de codificar compreende selecionar codificação de domínio de tempo para codificar um sinal digital compreendendo dados de áudio quando o sinal digital não compreender sinal de passo curto e o sinal digital é classificado como fala não vocalizada ou fala normal. O método compreende adicionalmente selecionar codificação de domínio de frequência para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits. O sinal digital compreende sinal de passo curto e a periodicidade de vocalização é baixa. O método inclui adicionalmente selecionar codificação de domínio de tempo para codificar o sinal digital quando taxa de bits de codificação é intermediária e o sinal digital compreende sinal de passo curto e uma periodicidade de vocalização é muito forte. O limite inferior de taxa de bits é 24,4 kbps e o limite superior de taxa de bits é 46,2 kbps.
[0125] A Figura 11 ilustra um sistema de comunicação 10 de acordo com uma modalidade da presente invenção.
[0126] O sistema de comunicação 10 tem dispositivos de acesso a áudio 7 e 8 acoplados a uma rede 36 por meio de enlaces de comunicação 38 e 40. Em uma modalidade, dispositivos de acesso a áudio 7 e 8 são dispositivos de protocolo de voz sobre internet (VOIP) e a rede 36 é uma rede de longa distância (WAN), uma rede telefônica comutada pública (PTSN) e/ou a internet. Em outra modalidade, enlaces de comunicação 38 e 40 são conexões de banda larga com fio e/ou sem fio. Em uma modalidade alternativa, dispositivos de acesso a áudio 7 e 8 são telefones celulares ou móveis, os enlaces 38 e 40 são canais de telefone móvel sem fio e a rede 36 representa uma rede de telefone móvel.
[0127] O dispositivo de acesso a áudio 7 usa um microfone 12 para conversor som, tal como música ou a voz de uma pessoa em um sinal de entrada de áudio analógico 28. Uma interface de microfone 16 converte o sinal de entrada de áudio analógico 28 em um sinal digital de áudio 33 para entrada em um codificador 22 de um CODEC 20. O codificador 22 produz sinal de áudio codificado TX para transmissão para uma rede 26 por meio de uma interface de rede 26 de acordo com as modalidades da presente invenção. Um decodificador 24 dentro do CODEC 20 recebe sinal de áudio codificado RX da rede 36 por meio de interface de rede 26, e converte o sinal de áudio codificado RX em um sinal digital de áudio 34. A interface de interlocutor 18 converte o sinal digital de áudio 34 no sinal de áudio 30 adequado para acionar o alto-falante 14.
[0128] Em modalidades da presente invenção, onde o dispositivo de acesso a áudio 7 é um dispositivo VOIP, alguns dos ou todos os componentes dentro do dispositivo de acesso a áudio 7 são implantados dentro de um fone. Em algumas modalidades, entretanto, o microfone 12 e o alto-falante 14 são unidades separadas, e a interface de microfone 16, a interface de interlocutor 18, o CODEC 20 e a interface de rede 26 são implantadas dentro de um computador pessoal. O CODEC 20 pode ser implantado ou em software rodando em um computador ou um processador dedicado, ou por hardware dedicado, por exemplo, um circuito integrado de aplicação específica (ASIC). A interface de microfone 16 é implantada por um conversor analógico para digital (A/D), assim como outro conjunto de circuitos de interface localizado dentro do fone e/ou dentro do computador. Da mesma forma, a interface de interlocutor 18 é implantada por um conversor digital para analógico e outro conjunto de circuitos de interface localizado dentro do fone e/ou dentro do computador. Em modalidades adicionais, o dispositivo de acesso a áudio 7 pode ser implantado e dividido em partições em outros modos conhecidos na técnica.
[0129] Em modalidades da presente invenção onde o dispositivo de acesso a áudio 7 é um telefone celular ou móvel, os elementos dentro de dispositivo de acesso a áudio 7 são implantados dentro de um fone celular. O CODEC 20 é implantado por software rodando em um processador dentro do fone ou por hardware dedicado. Em modalidades adicionais da presente invenção, o dispositivo de acesso a áudio pode ser implantado em outros dispositivos tais como sistemas de comunicação digital com fio e sem fio ponto a ponto, tais como intercomunicadores, e fones de rádio. Em aplicações tais como dispositivos de áudio de consumidor, o dispositivo de acesso a áudio pode conter um CODEC apenas com o codificador 22 ou o decodificador 24, por exemplo, em um sistema de microfone digital ou dispositivo de reprodução de música. Em outras modalidades da presente invenção, o CODEC 20 pode ser usado sem o microfone 12 e de interlocutor 14, por exemplo, em estações de base celulares que acessam a PTSN.
[0130] O processamento de fala para aperfeiçoar a classificação não vocalizada/vocalizada descrita em várias modalidades da presente invenção pode ser implantado no codificador 22 ou no decodificador 24, por exemplo. O processamento de fala para aperfeiçoar a classificação não vocalizada/vocalizada pode ser implantado em hardware ou software em várias modalidades. Por exemplo, o codificador 22 ou o decodificador 24 pode ser parte de um chip de processamento de sinal digital (DSP).
[0131] A Figura 12 ilustra um diagrama de blocos de um sistema de processamento que pode ser usado para implantar os dispositivos e métodos revelados no presente documento. Dispositivos específicos podem utilizar todos os componentes mostrados, ou apenas um subconjunto dos componentes, e níveis de integração podem variar de dispositivo para dispositivo. Além disso, um dispositivo pode conter múltiplas instâncias de um componente, tais como múltiplas unidades de processamento, processadores, memórias, transmissores, receptores, etc. O sistema de processamento pode compreender uma unidade de processamento equipada com um ou mais dispositivos de entrada/saída, tais como um interlocutor, microfone, mouse, tela de toque, teclado numérico, teclado, impressora, mostrador e similares. A unidade de processamento pode incluir uma unidade de processamento central (CPU), memória, um dispositivo de armazenamento em massa, um adaptador de vídeo, e uma interface de I/O conectada a um barramento.
[0132] O barramento pode ser um ou mais de qualquer tipo de diversas arquiteturas de barramento incluindo um barramento de memória ou controlador de memória, a barramento periférico, barramento de vídeo, ou similar. A CPU pode compreender qualquer tipo de processador de dados eletrônico. A memória pode compreender qualquer tipo de memória de sistema tal como memória de acesso aleatório estática (SRAM), memória de acesso aleatório dinâmica (DRAM), DRAM síncrona (SDRAM), memória apenas para leitura (ROM), uma combinação das mesmas, ou similares. Em uma modalidade, a memória pode incluir ROM para uso na inicialização, e DRAM para armazenamento de programa e dados para uso enquanto executa programas.
[0133] O dispositivo de armazenamento em massa pode compreender qualquer tipo de dispositivo de armazenamento configurado para armazenar dados, programas, e outras informações e para fazer os dados, programas, e outras informações accessíveis por meio do barramento. O dispositivo de armazenamento em massa pode compreender, por exemplo, um ou mais dentre um acionador de estado sólido, acionador de disco rígido, um acionador de disco magnético, um acionador de disco óptico, ou similares.
[0134] O adaptador de vídeo e a interface de I/O fornecem interfaces para acoplar dispositivos entrada e saída externos à unidade de processamento. Conforme ilustrado, exemplos de dispositivos de entrada e saída incluem o mostrador acoplado ao adaptador de vídeo e o mouse/teclado/impressora acoplados à interface de I/O. Outros dispositivos podem ser acoplados à unidade de processamento, e mais ou menos cartões de interface podem ser utilizados. Por exemplo, uma interface serial tal como Barramento Serial Universal (USB) (não mostrada) pode ser usada para fornecer uma interface para uma impressora.
[0135] A unidade de processamento também inclui uma ou mais interfaces de rede, as quais podem compreender enlaces com fio, tais como um cabo Ethernet ou similares, e/ou enlaces sem fio para acessar nós ou diferentes redes. A interface de rede permite que a unidade de processamento se comunique com unidades remotas por meio das redes. Por exemplo, a interface de rede pode fornecer comunicação sem fio por meio de um ou mais transmissoras/ antenas de transmissão e um ou mais receptores/antenas de recepção. Em uma modalidade, a unidade de processamento é acoplada a uma rede de área local ou a uma rede de longa distância para processamento de dados e comunicações com dispositivos remotos, tais como outras unidades de processamento, a Internet, instalações de armazenamento remotas, ou similares.
[0136] Embora essa invenção tenha sido descrita com referência a modalidades ilustrativas, essa descrição não se destina a ser interpretada em um sentido limitativo. Várias modificações e combinações das modalidades ilustrativas, bem como outras modalidades da invenção, serão evidentes para as pessoas versadas na técnica mediante referência à descrição. Por exemplo, várias modalidades descritas acima podem ser combinadas entre si.
[0137] Com referência à Figura 13, é descrita uma modalidade de um aparelho 130 para processar sinais de fala antes de codificar um sinal digital. O aparelho inclui:
[0138] um seletor de codificação 131 configurado para selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação a ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital.
[0139] Em que quando o sinal digital inclui um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, o seletor de codificação é configurado para
[0140] selecionar codificação de domínio de frequência para codificar o sinal digital quando uma taxa de bits de codificação é mais alta que um limite superior de taxa de bits, e
[0141] selecionar codificação de domínio de tempo para codificar o sinal digital quando a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits.
[0142] Em que quando o sinal digital inclui um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, o seletor de codificação é configurado para selecionar codificação de domínio de frequência para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits, e em que uma periodicidade de vocalização é baixa.
[0143] Em que quando o sinal digital não inclui um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, o seletor de codificação é configurado para selecionar a codificação de domínio de tempo para codificar o sinal digital quando o sinal digital é classificado como fala não vocalizada ou fala normal.
[0144] Em que quando o sinal digital inclui um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, o seletor de codificação é configurado para selecionar codificação de domínio de tempo para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits e uma periodicidade de vocalização é muito forte.
[0145] O aparelho inclui adicionalmente uma unidade de codificação 132, a unidade de codificação é configurada para codificar o sinal digital usando a codificação de domínio de frequência selecionada pelo seletor 131 ou a codificação de domínio de tempo selecionada pelo seletor 131.
[0146] O seletor de codificação e a unidade de codificação podem ser implantados por CPU ou por alguns circuitos de hardware tais como FPGA, ASIC.
[0147] Com referência à Figura 14, é descrita uma modalidade de um aparelho 140 para processar sinais de fala antes de codificar um sinal digital. O aparelho inclui:
[0148] uma unidade de selecionar codificação 141, a unidade de selecionar codificação é configurada para selecionar codificação de domínio de tempo para codificar um sinal digital compreendendo dados de áudio quando o sinal digital não inclui sinal de passo curto e o sinal digital é classificado como fala não vocalizada ou fala normal;
[0149] selecionar codificação de domínio de frequência para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits, e o sinal digital inclui sinal de passo curto e a periodicidade de vocalização é baixa; e
[0150] selecionar codificação de domínio de tempo para codificar o sinal digital quando taxa de bits de codificação é intermediária e o sinal digital inclui sinal de passo curto e uma periodicidade de vocalização é muito forte.
[0151] O aparelho inclui adicionalmente uma segunda unidade de codificação 142, a segunda unidade de codificação é configurada para codificar o sinal digital usando a codificação de domínio de frequência selecionada pela unidade de selecionar codificação 141 ou a codificação de domínio de tempo selecionada pela unidade de selecionar codificação 141.
[0152] A unidade de selecionar codificação e a unidade de codificação podem ser implantadas por CPU ou por alguns circuitos de hardware tais como FPGA, ASIC.
[0153] Embora a presente invenção e as vantagens da mesma tenham sido descritas em detalhe, deve ser entendido que várias mudanças, substituições e alterações podem ser feitas no presente documento sem que haja um afastamento do espírito e escopo da invenção conforme definidos pelas reivindicações anexas. Por exemplo, muitos dos recursos e funções discutidos acima podem ser implantados em software, hardware, ou firmware, ou uma combinação dos mesmos. Além disso, o escopo do presente pedido não se destina a ser limitado às modalidades particulares do processo, máquina, manufatura, composição de matéria, meios, métodos e etapas descritas no relatório descritivo. Como uma pessoa de habilidade comum na técnica irá prontamente observar a partir da revelação da presente invenção, processos, máquinas, manufatura, composições de matéria, meios, métodos, ou etapas, que existem no presente ou a serem desenvolvidos posteriormente, que desempenham substancialmente a mesma função ou conseguem substancialmente o mesmo resultado que as modalidades correspondentes descritas no presente documento podem ser utilizados de acordo com a presente invenção. Consequentemente, as reivindicações anexas se destinam a incluir dentro do escopo das mesmas tais processos, máquinas, manufatura, composições de matéria, meios, métodos ou etapas.

Claims (10)

1. Método para processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio, o método é CARACTERIZADO pelo fato de que compreende: selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base em uma taxa de bits de codificação para ser usada para codificar o sinal digital e uma detecção de latência de passo curto do sinal digital; em que a detecção de latência de passo curto compreende detectar se o sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, em que o limite de latência de passo é um passo permissível mínimo para um algoritmo de Previsão Linear Excitada por Código (CELP) para codificar o sinal digital.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, e em que selecionar codificação de domínio de frequência ou codificação de domínio de tempo compreende: selecionar codificação de domínio de frequência para codificar o sinal digital quando uma taxa de bits de codificação é mais alta que um limite superior de taxa de bits, e selecionar codificação de domínio de tempo para codificar o sinal digital quando a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits.
3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a taxa de bits de codificação é mais alta que um limite superior de taxa de bits quando a taxa de bits de codificação é maior que ou igual a 46200bps, e em que a taxa de bits de codificação é mais baixa que um limite inferior de taxa de bits quando a taxa de bits de codificação é menor que 24,4 kbps.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, e em que selecionar codificação de domínio de frequência ou codificação de domínio de tempo compreende: selecionar codificação de domínio de frequência para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits, e em que uma periodicidade de vocalização é baixa.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o sinal digital não compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, e em que selecionar codificação de domínio de frequência ou codificação de domínio de tempo compreende: selecionar codificação de domínio de tempo para codificar o sinal digital quando o sinal digital é classificado como fala não vocalizada ou fala normal.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o sinal digital compreende um sinal de passo curto para o qual a latência de passo é mais curta que um limite de latência de passo, e em que selecionar codificação de domínio de frequência ou codificação de domínio de tempo compreende: selecionar codificação de domínio de tempo para codificar o sinal digital quando taxa de bits de codificação é intermediária entre um limite inferior de taxa de bits e um limite superior de taxa de bits e uma periodicidade de vocalização é muito forte.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o método compreende adicionalmente codificar o sinal digital usando a codificação de domínio de frequência selecionada ou a codificação de domínio de tempo selecionada.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que selecionar codificação de domínio de frequência ou codificação de domínio de tempo com base na latência de passo do sinal digital compreende detectar sinal de passo curto com base em determinação de um parâmetro para detectar ausência de energia de frequência muito baixa ou um parâmetro para nitidez espectral.
9. Aparelho CARACTERIZADO pelo fato de processar sinais de fala antes de codificar um sinal digital compreendendo dados de áudio, o aparelho compreendendo um seletor de codificação configurado para realizar o método conforme definido em qualquer uma das reivindicações 1 a 8.
10. Aparelho, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o aparelho compreende adicionalmente uma unidade de codificação a qual é configurada para codificar o sinal digital usando a codificação de domínio de frequência selecionada pelo seletor ou a codificação de domínio de tempo selecionada pelo seletor.
BR112016030056-4A 2014-07-26 2015-07-23 Aperfeiçoamento de classificação entre codificação de domínio de tempo e codificação de domínio de frequência BR112016030056B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462029437P 2014-07-26 2014-07-26
US62/029,437 2014-07-26
US14/511,943 2014-10-10
US14/511,943 US9685166B2 (en) 2014-07-26 2014-10-10 Classification between time-domain coding and frequency domain coding
PCT/CN2015/084931 WO2016015591A1 (en) 2014-07-26 2015-07-23 Improving classification between time-domain coding and frequency domain coding

Publications (2)

Publication Number Publication Date
BR112016030056A2 BR112016030056A2 (pt) 2017-08-22
BR112016030056B1 true BR112016030056B1 (pt) 2023-05-16

Family

ID=55167212

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016030056-4A BR112016030056B1 (pt) 2014-07-26 2015-07-23 Aperfeiçoamento de classificação entre codificação de domínio de tempo e codificação de domínio de frequência

Country Status (18)

Country Link
US (4) US9685166B2 (pt)
EP (2) EP3152755B1 (pt)
JP (1) JP6334808B2 (pt)
KR (2) KR101960198B1 (pt)
CN (2) CN109545236B (pt)
AU (2) AU2015296315A1 (pt)
BR (1) BR112016030056B1 (pt)
CA (1) CA2952888C (pt)
ES (2) ES2938668T3 (pt)
FI (1) FI3499504T3 (pt)
HK (1) HK1232336A1 (pt)
MX (1) MX358252B (pt)
MY (1) MY192074A (pt)
PL (1) PL3499504T3 (pt)
PT (2) PT3499504T (pt)
RU (1) RU2667382C2 (pt)
SG (1) SG11201610552SA (pt)
WO (1) WO2016015591A1 (pt)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589570B2 (en) 2012-09-18 2017-03-07 Huawei Technologies Co., Ltd. Audio classification based on perceptual quality for low or medium bit rates
KR101621774B1 (ko) * 2014-01-24 2016-05-19 숭실대학교산학협력단 음주 판별 방법, 이를 수행하기 위한 기록매체 및 단말기
WO2019056108A1 (en) * 2017-09-20 2019-03-28 Voiceage Corporation METHOD AND DEVICE FOR EFFICIENT DISTRIBUTION OF A BINARY BUDGET IN A CELP CODEC
EP3483880A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Temporal noise shaping
EP3483878A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder supporting a set of different loss concealment tools
WO2019091573A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for encoding and decoding an audio signal using downsampling or interpolation of scale parameters
WO2019091576A1 (en) 2017-11-10 2019-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoders, audio decoders, methods and computer programs adapting an encoding and decoding of least significant bits
EP3483882A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Controlling bandwidth in encoders and/or decoders
EP3483879A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Analysis/synthesis windowing function for modulated lapped transformation
EP3483886A1 (en) * 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Selecting pitch lag
EP3483883A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio coding and decoding with selective postfiltering
EP3483884A1 (en) 2017-11-10 2019-05-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Signal filtering
US11270721B2 (en) * 2018-05-21 2022-03-08 Plantronics, Inc. Systems and methods of pre-processing of speech signals for improved speech recognition
USD901798S1 (en) 2018-08-16 2020-11-10 Samsung Electronics Co., Ltd. Rack for clothing care machine
JP7130878B2 (ja) * 2019-01-13 2022-09-05 華為技術有限公司 高分解能オーディオコーディング
US11367437B2 (en) * 2019-05-30 2022-06-21 Nuance Communications, Inc. Multi-microphone speech dialog system for multiple spatial zones
CN110992963B (zh) * 2019-12-10 2023-09-29 腾讯科技(深圳)有限公司 网络通话方法、装置、计算机设备及存储介质
CN113129910A (zh) * 2019-12-31 2021-07-16 华为技术有限公司 音频信号的编解码方法和编解码装置
CN113132765A (zh) * 2020-01-16 2021-07-16 北京达佳互联信息技术有限公司 码率决策模型训练方法、装置、电子设备及存储介质
WO2023110082A1 (en) * 2021-12-15 2023-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Adaptive predictive encoding

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5504834A (en) 1993-05-28 1996-04-02 Motrola, Inc. Pitch epoch synchronous linear predictive coding vocoder and method
WO2001065544A1 (en) 2000-02-29 2001-09-07 Qualcomm Incorporated Closed-loop multimode mixed-domain linear prediction speech coder
US7185082B1 (en) * 2000-08-09 2007-02-27 Microsoft Corporation Fast dynamic measurement of connection bandwidth using at least a pair of non-compressible packets having measurable characteristics
JP4963962B2 (ja) * 2004-08-26 2012-06-27 パナソニック株式会社 マルチチャネル信号符号化装置およびマルチチャネル信号復号装置
KR20060119743A (ko) 2005-05-18 2006-11-24 엘지전자 주식회사 구간 속도에 대한 예측정보를 제공하고 이를 이용하는 방법및 장치
US8203930B2 (en) * 2005-10-05 2012-06-19 Lg Electronics Inc. Method of processing a signal and apparatus for processing a signal
KR100647336B1 (ko) * 2005-11-08 2006-11-23 삼성전자주식회사 적응적 시간/주파수 기반 오디오 부호화/복호화 장치 및방법
KR101149449B1 (ko) * 2007-03-20 2012-05-25 삼성전자주식회사 오디오 신호의 인코딩 방법 및 장치, 그리고 오디오 신호의디코딩 방법 및 장치
BR122021003726B1 (pt) 2008-07-11 2021-11-09 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificador de áudio, decodificador de áudio, métodos para codificar e decodificar um sinal de áudio.
ES2396927T3 (es) * 2008-07-11 2013-03-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Aparato y procedimiento para decodificar una señal de audio codificada
KR101756834B1 (ko) * 2008-07-14 2017-07-12 삼성전자주식회사 오디오/스피치 신호의 부호화 및 복호화 방법 및 장치
US9037474B2 (en) * 2008-09-06 2015-05-19 Huawei Technologies Co., Ltd. Method for classifying audio signal into fast signal or slow signal
WO2010031049A1 (en) * 2008-09-15 2010-03-18 GH Innovation, Inc. Improving celp post-processing for music signals
WO2010031003A1 (en) 2008-09-15 2010-03-18 Huawei Technologies Co., Ltd. Adding second enhancement layer to celp based core layer
JP5519230B2 (ja) * 2009-09-30 2014-06-11 パナソニック株式会社 オーディオエンコーダ及び音信号処理システム
WO2012000882A1 (en) * 2010-07-02 2012-01-05 Dolby International Ab Selective bass post filter
EP2798631B1 (en) 2011-12-21 2016-03-23 Huawei Technologies Co., Ltd. Adaptively encoding pitch lag for voiced speech
EP2795613B1 (en) * 2011-12-21 2017-11-29 Huawei Technologies Co., Ltd. Very short pitch detection and coding
US9589570B2 (en) 2012-09-18 2017-03-07 Huawei Technologies Co., Ltd. Audio classification based on perceptual quality for low or medium bit rates
CN103915100B (zh) 2013-01-07 2019-02-15 中兴通讯股份有限公司 一种编码模式切换方法和装置、解码模式切换方法和装置

Also Published As

Publication number Publication date
EP3499504A1 (en) 2019-06-19
US20160027450A1 (en) 2016-01-28
EP3152755B1 (en) 2019-02-13
AU2015296315A1 (en) 2017-01-12
US9837092B2 (en) 2017-12-05
MX358252B (es) 2018-08-10
SG11201610552SA (en) 2017-01-27
KR20190029779A (ko) 2019-03-20
KR101960198B1 (ko) 2019-03-19
CN106663441B (zh) 2018-10-19
PL3499504T3 (pl) 2023-08-14
CN106663441A (zh) 2017-05-10
EP3152755A1 (en) 2017-04-12
AU2018217299B2 (en) 2019-11-28
US10586547B2 (en) 2020-03-10
EP3499504B1 (en) 2022-11-23
MY192074A (en) 2022-07-25
CN109545236B (zh) 2021-09-07
WO2016015591A1 (en) 2016-02-04
EP3152755A4 (en) 2017-04-12
AU2018217299A1 (en) 2018-09-06
CN109545236A (zh) 2019-03-29
ES2938668T3 (es) 2023-04-13
PT3152755T (pt) 2019-05-27
CA2952888C (en) 2020-08-25
HK1232336A1 (zh) 2018-01-05
MX2017001045A (es) 2017-05-04
US20200234724A1 (en) 2020-07-23
JP6334808B2 (ja) 2018-05-30
ES2721789T3 (es) 2019-08-05
RU2017103905A (ru) 2018-08-27
US10885926B2 (en) 2021-01-05
RU2667382C2 (ru) 2018-09-19
US9685166B2 (en) 2017-06-20
FI3499504T3 (fi) 2023-01-31
JP2017526956A (ja) 2017-09-14
KR20170016964A (ko) 2017-02-14
BR112016030056A2 (pt) 2017-08-22
RU2017103905A3 (pt) 2018-08-27
KR102039399B1 (ko) 2019-11-04
US20170249949A1 (en) 2017-08-31
US20180040331A1 (en) 2018-02-08
CA2952888A1 (en) 2016-02-04
PT3499504T (pt) 2023-01-02

Similar Documents

Publication Publication Date Title
US10885926B2 (en) Classification between time-domain coding and frequency domain coding for high bit rates
US10249313B2 (en) Adaptive bandwidth extension and apparatus for the same
BR112016004544B1 (pt) Método para processamento de um sinal de fala compreendendo uma pluralidade de quadros e aparelho de processamento de fala
US9418671B2 (en) Adaptive high-pass post-filter

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 23/07/2015, OBSERVADAS AS CONDICOES LEGAIS