BRPI0718422B1 - Método para sintetizar um sinal de áudio digital, memória de um dispositivo de síntese de sinal de áudio digital, dispositivo de síntese de sinal de áudio digital e decodificador de um sinal de áudio digital - Google Patents

Método para sintetizar um sinal de áudio digital, memória de um dispositivo de síntese de sinal de áudio digital, dispositivo de síntese de sinal de áudio digital e decodificador de um sinal de áudio digital Download PDF

Info

Publication number
BRPI0718422B1
BRPI0718422B1 BRPI0718422-0A BRPI0718422A BRPI0718422B1 BR PI0718422 B1 BRPI0718422 B1 BR PI0718422B1 BR PI0718422 A BRPI0718422 A BR PI0718422A BR PI0718422 B1 BRPI0718422 B1 BR PI0718422B1
Authority
BR
Brazil
Prior art keywords
signal
repetition period
samples
amplitude
block
Prior art date
Application number
BRPI0718422-0A
Other languages
English (en)
Inventor
Balazs Kovesi
Stéphane Ragot
Original Assignee
France Telecom
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 France Telecom filed Critical France Telecom
Publication of BRPI0718422A2 publication Critical patent/BRPI0718422A2/pt
Publication of BRPI0718422B1 publication Critical patent/BRPI0718422B1/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/022Blocking, i.e. grouping of samples in time; Choice of analysis windows; Overlap factoring
    • G10L19/025Detection of transients or attacks for time/frequency resolution switching

Landscapes

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

Abstract

síntese de blocos perdidos de um sinal audiodigital com correção de período de pitch a presente invenção visa a modificação de sinal antes da repetição do período de pitch para a síntese de blocos perdidos na decodificação de sinais audiodigitais. os efeitos de repetição de transitórios, tais como dos fonemas explosivos de um sinal de fala, são evitados comparando-se as amostras de um período de pitch com o do período de pitch precedente. o sinal é modificado, tomando-se, de preferência, o mínimo entre uma amostra corrente (e(3)) do último período de pitch (tj) e pelo menos uma amostra (e(2-t0)) substancialmente de mesma posição no período de pitch precedente (tj-1 ) .

Description

“MÉTODO PARA SINTETIZAR UM SINAL DE ÁUDIO DIGITAL, MEMÓRIA DE UM DISPOSITIVO DE SÍNTESE DE SINAL DE ÁUDIO DIGITAL, DISPOSITIVO DE SÍNTESE DE SINAL DE ÁUDIO DIGITAL E DECODIFICADOR DE UM SINAL DE ÁUDIO DIGITAL”
A presente invenção refere-se ao tratamento de sinais de áudio digitais (sinais de fala, principalmente).
Ela intervém em um sistema de codificação/decodificação adaptado para a transmissão/recepção de tais sinais. Mais especificamente, a presente invenção se apoia sobre um tratamento na recepção que permite que se melhore a qualidade dos sinais decodificados na presença de perdas de blocos de dados.
Existem técnicas diferentes para converter sob forma digital e comprimir um sinal de áudio digital. As técnicas mais atuais são:
- os métodos de codificação de forma de onda, tais como a codificação MIC (significando “Modulação por Impulsos Codificados”) e MICDA (significando “Modulação por Impulso e Codificação Diferencial Adaptativa”) também denominados “PCM” e “ADPCM” em inglês,
- os métodos de codificação paramétrica pro análise por síntese como a codificação CELP (“Code Excited Linear Prediction”), e
- os métodos de codificação perceptual em sub-bandas ou por transformada.
Estas técnicas tratam o sinal de entrada de modo sequencial amostra por amostra (MIC ou MICDA) ou por blocos de amostras denominados “estruturas” (CELP e codificação por transformada).
Lembremos rapidamente que um sinal de fala pode ser previsto a partir do seu passado recente (de 8 a 12 amostras a 8 kHz, por exemplo) por meio de parâmetros avaliados em janelas curtas (10 a 20 ms neste exemplo). Estes parâmetros de previsão a curto prazo, representativos da função de transferência do conduto vocal (para pronunciar as consoantes, por exemplo), são obtidos por métodos de análise LPC (significando “Linear Prediction Coding”). Existe também uma correlação a um prazo mais longo associada às quasiperiodicidades da fala (de sons vocalizados, tais como as vogais, por exemplo) que são devidas à vibração das cordas vogais. Trata-se, portanto, de se determinar pelo menos a frequência fundamental do sinal vocalizado que varia tipicamente de 60 Hz (voz grave) a 600 Hz (voz aguda) de acordo com os locutores. Determinam-se, então, por uma análise LTP (significando “Long Term Prediction”), os parâmetros LTP de um previsor a longo prazo, e especialmente o inverso da frequência fundamental, denominado freqüentemente “período de pitch”. Define-se, então, o número de amostras em um período de pitch pela relação Fe/F0 (ou sua parte inteira), em que:
- Fe é a cadência de amostragem, e
- F0 é a frequência fundamental.
Petição 870190091834, de 14/09/2019, pág. 8/36
2/17
Observe-se, portanto, que os parâmetros de previsão a longo prazo LTP, inclusive o período de pitch, representam a vibração fundamental do sinal de fala (quando ele é vocalizado) ao passo que os parâmetros de previsão a curto prazo LPC representam o envoltório espectral deste sinal.
Em determinados codificadores, o conjunto destes parâmetros LPC e LTP, resultando, portanto, de uma codificação de fala, podem ser transmitidos por blocos para um decodificador homólogo, por meio de uma ou mais redes de telecomunicação para devolver em seguida o sinal de fala inicial.
Interessamo-nos, no entanto, em seguida (a título de exemplo) pelo sistema de codificação G.722 a 48, 56 e 64 kbits/s normalizado por UIT-T para a transmissão de sinais de fala em banda ampliada (que são amostrados a 16 kHz). O codificador G.722 apresenta um esquema de codificação MICDA em duas sub-bandas obtidas pro um banco de filtros QMF (significando “Quadrature Mirror Filter”). Para se obter mais detalhes, pode-se consultar o texto da norma G.722.
A Figura 1 da técnica anterior mostra a estrutura de codificação e de decodificação de acordo com a norma G.722. Os blocos 101 a 103 representam o banco de filtros QMF de transmissão (separação espectral em frequências altas 102 e baixas 100 e sub-amostragem 101 e 103), aplicado ao sinal de entrada Se. Os blocos seguintes 104 e 105 correspondem respectivamente aos codificadores MICDA em banda de frequência baixa e alta. A saída do codificador MICDA em banda de frequência baixa é especificada por um modo que vale 0, 1 ou 2, indicando respectivamente uma saída de 6,5 ou 4 bits por amostra, ao passo que a saída do codificador MICDA em banda de frequência alta é fixa (dois bits por amostra). Encontra-se no decodificador os blocos equivalentes de decodificação MICDA (blocos 106 e 107) cujas saídas são combinadas no banco de filtros QMF de recepção (sobre-amostragem 108 e 110, filtros inversos 109, 111 e reunião das bandas de frequência baixa e alta 112), para gerar o sinal de síntese Ss.
Um problema geral estudado aqui se refere à correção de perdas de blocos durante a decodificação. Na verdade, o trem binário oriundo da codificação é em geral formatado por blocos binários para a transmissão sobre muitos tipos de redes. Fala-se, por exemplo, de “pacotes IP” (significando “Internet Protocol”) para blocos transmitidos por meio da rede Internet, de “estruturas” para blocos transmitidos sobre redes ATM (significando “Asynchronous Transfer Mode”) ou outros. Os blocos transmitidos depois da codificação podem ser perdidos por diversas razões:
- se um encaminhador da rede estiver saturado e esvazia sua fila de espera,
- se o bloco for recebido com atraso (não sendo, portanto, levado em conta) durante uma decodificação de fluxo contínuo e no tempo real,
- se um bloco recebido estiver corrompido (se seu código de paridade CRC, por
Petição 870190091834, de 14/09/2019, pág. 9/36
3/17 exemplo, não for verificado).
Durante uma perda de um ou diversos blocos consecutivos, o decodificador deve reconstruir o sinal sem informação sobre os blocos perdidos ou errados. Ele se apoia sobre a informação decodificada precedentemente a partir dos blocos válidos recebidos. Este problema, denominado “correção de blocos perdidos” (ou ainda, abaixo, no presente documento, “correção de estruturas deletadas ou apagadas” na verdade é mais geral do que a simples extrapolação de informação ausente, pois a perda de estruturas ocasiona frequentemente uma perda de sincronização entre codificado e decodificador, especialmente quando estes são previsores, assim como problemas de continuidade entre a informação extrapolada e a informação decodificada depois de uma perda. A correção de estruturas deletadas engloba, portanto, também técnicas de restauração de estados, de re-convergência e outros.
O anexo 1 da norma UIT-T G.711 descreve uma correção de estruturas deletadas adaptada à codificação MIC. A codificação MIC não sendo previsora, a correção de perdas de estruturas se resume, portanto, simplesmente, em extrapolar a informação que falta e assegurar a continuidade entre uma estrutura reconstruída e estruturas corretamente recebidas, em seguida a uma perda. A extrapolação é colocada em prática por repetição do sinal passado de modo síncrono com a frequência fundamental (ou inversamente, com o “período de pitch”), isto é, simplesmente repetindo os períodos de pitch. A continuidade é assegurada por uma nivelação (ou “fusão encadeada” correspondente ao termo inglês “cross-fading”) entre amostras recebidas e amostras extrapoladas.
No documento: A Packet Loss Concealment Method using Pitch Waveform Repetition and Internal State Update on the Decoded Speech for the Sub-band ADPCM Wideband Speech Coded, M. Serizawa e Y. Nozawa, IEEE Speech Coding Workshop, páginas 68-70 (2002), foi proposta uma correção de estruturas deletadas para o codificador/decodificador normalizado G.722 extrapolando uma estrutura perdida com a ajuda de um algoritmo de repetição dos períodos de pitch (repetição que pode ser similar àquela descrita no anexo I da norma G.711). Para produzir o status do codificador G. 722 (memória dos filtros e memória de adaptação de passos), a estrutura assim extrapolada é dividida em duas sub-bandas que são codificadas novamente por codificação MICDA.
No entanto, tais técnicas de correção de perdas de estrutura por repetição de períodos de pitch não podem funcionar corretamente senão se o sinal passado estiver estacionário ou pelo menos ciclo-estacionário. Elas se apóiam, portanto, sobre a hipótese implícita de que o sinal associado à estrutura perdida (que deve ser extrapolada) é ”similar” ao sinal decodificado até a perda de estrutura. No caso do sinal de fala, esta hipótese de caráter estacionário não é rigorosamente válida que para sons tais como uma porção de vogais a serem repetidas. Uma vogal “a”, por exemplo, pode ser repetida muitas vezes (o que resulta
Petição 870190091834, de 14/09/2019, pág. 10/36
4/17 em “aaaa...” sem causar um incômodo ao ser ouvida). Ora, um sinal de fala compreende sons ditos “transitórios” (sons não estacionários que incluem tipicamente os ataques (inícios) de vogais e os sons denominados “explosivos” que correspondem a consoantes breves tais como “p”, “b”, “d”, “t”, “k”). Assim, se uma estrutura for perdida, por exemplo, imediatamente depois do som “t”, uma correção de perda de estrutura por simples repetição gerará uma seqüência muito desagradável quando se ouvir “t” (que se ouvirá em francês como “teu-teuteu-teu-teu”) numa rajada para uma perda de diversas estruturas sucessivas (cinco perdas consecutivas, por exemplo).
As Figuras 2a e 2b ilustram este efeito acústico n caso de um sinal em banda ampliada codificado por um codificador de acordo com a norma G.722. Mais especificamente, a Figura 2a mostra um sinal de fala decodificado sobre um canal ideal (sem perda de estrutura). Este sinal corresponde, no exemplo representado, à palavra francesa “temps”, dividida em dois fonemas: /t/ seguido por /an/. As linhas verticais pontilhadas indicam as fronteiras entre estruturas. Considera-se aqui o caso de estruturas de comprimento da ordem de 10 ms. A Figura 2b mostra o sinal decodificado de acordo com uma técnica similar à da referência Serizawa et al., citada acima, quando uma perda de estrutura se segue imediatamente ao fonema /t/. Esta Figura 2b mostra bem o problema da repetição do sinal passado. Constata-se que o fonema /t/ é repetido na estrutura extrapolada. Ele também se encontra presente na ou nas estruturas que se seguem, pois a extrapolação é fracamente prolongada depois de uma perda, no exemplo representado, a fim de se realizar uma fusão encadeada com a decodificação em condições normais (isto é, na presença de informações úteis no sinal recebido).
O problema da repetição de fonemas explosivos não foi aparentemente jamais evocado na técnica anterior conhecida.
A presente invenção vem melhorar a situação.
Ela propõe para tal fim um método de síntese de um sinal de áudio digital representado por blocos sucessivos de amostras, no qual quando do recebimento de um tal sinal, para substituir pelo menos um bloco inválido, gera-se um bloco de substituição a partir de amostras de pelo menos um bloco válido.
De um modo geral, o método compreende as etapas seguintes:
a) definir um período de repetição do sinal em pelo menos um bloco válido, e
b) copiar as amostra do período de repetição em pelo menos um bloco de substituição.
No método nos termos da presente invenção:
- na etapa a), determina-se um último período de repetição em pelo menos um bloco válido que precede imediatamente um bloco inválido, e
- na etapa b), corrigem-se as amostras do último período de repetição, em função
Petição 870190091834, de 14/09/2019, pág. 11/36
5/17 das amostras de um período de repetição precedente, e para limitar a amplitude de qualquer sinal transitório que estaria presente no último período de repetição.
Copiam-se em seguida as amostras assim corrigidas no bloco de substituição.
O método nos termos da presente invenção se aplica com vantagem ao tratamento de um sinal de fala, e tanto no caso de um sinal vocalizado como no caso de um sinal não vocalizado. Assim, se o sinal for vocalizado, o período de repetição consiste simplesmente no período de pitch e a etapa a) do método visa principalmente a determinação de um período de pitch (dado tipicamente pelo inverso de uma frequência fundamental) de um tom do sinal (de um tom de uma voz, por exemplo, em um sinal de fala) em pelo menos um bloco válido que precede a perda.
Se o sinal válido recebido não for vocalizado, não existe realmente período de pitch detectável. Neste caso, pode ser previsto se fixar um número dado de amostras arbitrário que será considerado como o comprimento do período de pitch (que se poderá então denominar de modo genérico “período de repetição”) e realizar o método de acordo com a presente invenção com base neste período de repetição. Pode-se escolher, por exemplo, um período de pitch o mais longo possível, tipicamente de 20 ms (correspondendo a 50 Hz de uma voz muito grave), ou seja, 160 amostras a 8 kHz de frequência de amostragem. É também possível se tomar o valor que corresponde ao máximo de uma função de correlação limitando a busca dentro de um intervalo de valor (entre MAX_PITCH/2 e MAX_PITCH, por exemplo, em que MAX_PITCH é o valor máximo na busca de período de pitch).
É preferível, se uma pluralidade de blocos inválidos consecutivos devem ser substituídos quando recebidos e que estes blocos se estendem por pelo menos um período de repetição, que a etapa de correção de amostras b) seja aplicada a todas as amostras do último período de repetição, tomadas uma a uma, na medida em que são amostras atuais.
Por outro lado, se estes blocos inválidos chegam a se estender por diversos períodos de repetição, copia-se diversas vezes o período de repetição assim corrigido na etapa b) para formar os blocos de substituição.
Em uma realização específica, para a correção de amostra citada acima e que é efetuada na etapa b), pode se proceder do seguinte modo. Para uma amostra atual do último período de repetição, compara-se:
- a amplitude desta amostra atual em valor absoluta,
- com a amplitude, em valor absoluto, de pelo menos uma amostra posicionada no tempo aproximadamente em um período de repetição anterior á amostra atual, e atribuir à amostra atual com a amplitude mínima, em valor absoluto, entre as duas amplitudes, atribuindo esta amostra também, evidentemente com o sinal de sua amplitude inicial.
Compreende-se com os termos “posicionado substancialmente” o fato de que se
Petição 870190091834, de 14/09/2019, pág. 12/36
6/17 busca no período de repetição precedente uma vizinhança a ser associada à amostra atual. Assim, de preferência, para uma amostra atual do último período de repetição:
- constitui-se um conjunto de amostras em vizinhança centralizada ao redor de uma amostra posicionada no tempo em um período de repetição antes da amostra atual,
- determina-se uma amplitude escolhida dentre as amplitudes das amostras da vizinhança, tomadas em valor absoluto,
- e compara-se esta amplitude escolhida com a amplitude da amostra atual, em valor absoluto, para atribuir a amostra atual com a amplitude mínima, em valor absoluta, dentre a amplitude escolhida e a amplitude da amostra atual.
Esta amplitude escolhida entre as amplitudes das amostras da vizinhança é, de preferência, a amplitude máxima em valor absoluto.
Por outro lado, aplica-se habitualmente um amortecimento (atenuação progressiva) da amplitude das amostras nos blocos de substituição. Neste caso, é vantajoso se detectar um caráter transitório do sinal antes da perda de blocos, caso seja necessário, aplica-se um amortecimento mais rápido do que para um sinal estacionário (não transitório).
Pode-se, como complemento ou como variante, efetuar-se também uma atualização (RAZ) das memórias dos filtros seguintes no tratamento de síntese adaptada especificamente aos sons transitórios, para evitar se encontrar novamente a influência de tais sons transitórios no tratamento dos blocos válidos seguintes.
É preferível que a detecção de um sinal transitório precedendo a parda do bloco se efetue do seguinte modo:
- para uma pluralidade de amostras atuais do último período de repetição, medir-se uma relação, em valor absoluto, da amplitude de uma amostra atual para a amplitude escolhida citada acima (determinada na vizinhança conforme indicado acima), e
- contar em seguida o número de ocorrências, para as amostras atuais, para as quais a relação acima for superior a um primeiro limiar predeterminado (um valor próximo de 4, por exemplo, conforme se verá abaixo), e
- detectar-se a presença de um sinal transitório se o número de ocorrências for superior a um segundo limiar predeterminado (se houver mais de uma ocorrência, por exemplo, conforme se verá mais abaixo).
Estas etapas acima podem ser exploradas para desencadear também a etapa de correção b), de acordo com a invenção, no caso da detecção de um som transitório no período de repetição que precede imediatamente a perda de um bloco.
No entanto, para se decidir a aplicar ou não a etapa de correção b) do método de acordo com a presente invenção, procede-se de preferência, da seguinte maneira. Se o sinal de áudio digital for um sinal de fala, detecta-se com vantagem um grau de vocalização no sinal de fala e não se executa a correção da etapa b) se o sinal de fala for muito vocaliPetição 870190091834, de 14/09/2019, pág. 13/36
7/17 zado (o que se manifesta por um coeficiente de correlação próximo de “1” na busca de um período de pitch). Em outras palavras, não se executa esta correção a não ser que o sinal não seja vocalizado ou se ele for fracamente vocalizado.
Evita-se assim a aplicação da correção da etapa b) e a atenuação inútil do sinal nos blocos de substituição, se o sinal válido recebido for muito vocalizado (portanto estacionário), o que corresponde na realidade à pronuncia de uma vogal estável (“aaaa”, por exemplo).
Assim, resumindo, a presente invenção visa a modificação do sinal antes da repetição do período de repetição (ou “pitch” para um sinal de fala vocalizado), para a síntese de blocos perdidos na decodificação de sinais de áudio digitais. Os efeitos de repetição de transitórios são evitados comparando-se as amostras de um período de pitch com as do período de pitch precedente. O sinal é modificado tomando-se, de preferência, o mínimo entre a amostra atual e pelo menos uma amostra substancialmente de mesma posição do período de pitch precedente.
A invenção oferece diversas vantagens especialmente dentro do contexto de decodificação na presença de perdas de blocos. Ela permite principalmente se evitar os artefatos que provêm da repetição errônea de transitórios (quando uma simples repetição de período de pitch é utilizada). Além disso, ela realiza uma detecção de transitórios que pode servir para a adaptação do controle de energia do sinal extrapolado (por meio de uma atenuação variável).
Outras vantagens e características da invenção aparecerão com a leitura da descrição detalhada, dada a título de exemplo abaixo e dos desenhos apensos nos quais, além das Figuras 1, 2a e 2b apresentadas acima:
- a Figura 2c ilustra, a título de comparação o efeito do tratamento de acordo com a invenção sobre o mesmo sinal que consta nas Figuras 2a e 2b para o qual foi perdida uma estrutura TP, a Figura 3 representa o decodificador de acordo com a norma G.722, mas modificada integrando-se um dispositivo de correção de estruturas deletadas de acordo com a presente invenção,
- a Figura 4 ilustra o princípio de extrapolação da banda baixa,
- a Figura 5 ilustra o princípio da repetição de pitch (no domínio da excitação),
- a Figura 6 ilustra a modificação do sinal de excitação de acordo com a presente invenção seguida pela repetição de pitch,
- a Figura 7 ilustra as etapas do método da invenção, de acordo com uma realização específica,
- a Figura 8 ilustra esquematicamente um dispositivo de síntese para a colocação em prática do método de acordo com a presente invenção,
Petição 870190091834, de 14/09/2019, pág. 14/36
8/17
- a Figura 8a ilustra a estrutura geral de um banco de filtros em quadrature (QMF) de dois canais,
- a Figura 8b representa os espectros dos sinais x(n), xl(n), xh(n) da Figura 8a quando os filtros L(z) e H(z) são ideais (ou seja, f'e = 2fe).
Uma realização da invenção que se apóia a título de exemplo sobre o sistema de codificação de acordo com a norma G.722 é descrita abaixo. Não se faz aqui a descrição do codificador G.722 (descrita acima com referência à Figura 1). Restringe-se aqui à descrição de um decodificador G.722 modificado que integra um corretor de períodos de pitch a serem reproduzidos em caso de perda de estruturas.
Com referência à Figura 3, o decodificados de acordo com a presente invenção (neste caso de acordo com a norma G.722) apresenta novamente uma arquitetura de duas sub-bandas com os bancos de filtros QMF de recepção (blocos 310 a 314). Em relação ao decodificador da Figura 1, o decodificador da Figura 3 integra, além disso, um dispositivo 320 de correção de estruturas deletadas.
O decodificador G.722 gera um sinal de saída Ss com amostragem a 16 kHz e recortado em estruturas temporais (ou blocos de amostras) de 10, 20 ou 40 ms. O seu funcionamento difere dependendo da presença ou não de perda de estruturas.
Na ausência total de perda de estruturas (portanto, se todas as estruturas tiverem sido recebidas e forem válidas), o trem binário da banda de baixas frequências BF é decodificado pelo bloco 300 do dispositivo 320 de acordo com a presente invenção, nenhuma nivelação de encadeamento (bloco 303) é realizada e o sinal reconstruído é dado simplesmente por zl-xl. Do mesmo modo, o trem binário da banda de frequências altas HF é decodificado pelo bloco 304. O comutador 307 seleciona o trajeto uh - xh e o comutador 309 seleciona o trajeto zh - uh = xh.
Mesmo assim, no caso de perda de uma ou mais estruturas, na banda baixa BF, a estrutura deletada é extrapolada no bloco 301 a partir do sinal xl passado (cópia de pitch principalmente) e o status do decodificador MICDA é atualizado no bloco 302. A estrutura deletada é reconstruída como sendo zl-yl. Este método é repetido enquanto uma perda de estruturas for detectada. É importante se observar que o bloco de extrapolação 301 não se limita somente a gerar um sinal extrapolado sobre a estrutura atual (perdida): ele gera igualmente 10 ms de sinal para a estrutura seguinte para realizar uma nivelação de encadeamento no bloco 303.
Em seguida, quando uma estrutura válida é recebida, ela é decodificada pelo bloco 300 e uma nivelação de encadeamento 303 é realizada durante os 10 primeiros milissegundos entre a estrutura válida xl e a estrutura precedentemente extrapolada yl.
Na banda de alta frequência HF, a estrutura deletada é extrapolada no bloco 305 a partir do sinal xh passado e o status do decodificador MICDA são atualizados no bloco 306.
Petição 870190091834, de 14/09/2019, pág. 15/36
9/17
Na modalidade de realização preferida, a extrapolação yh é uma simples repetição do último período do sinal xh passado. O comutador 307 seleciona o trajeto uh=yh.
É vantajoso que o sinal uh seja filtrado para dar o sinal vh. Na verdade, a codificação G.722 é um esquema de codificação previsor reatual (do tipo “backward”). Ela utiliza em cada sub-banda uma operação de previsão do tipo ARMA (significando “Auto-Regressive Moving Average” - filtro auto-regressivo de média móvel) e um procedimento de adaptação de passo de quantificação e de adaptação do filtro ARMA, idênticos ao codificador e ao decodificador. A previsão e a adaptação do passo se apóiam sobre informações decodificadas (erro de previsão, sinal reconstruído).
Os erros de transmissão, mais especificamente as perdas de estruturas, conduzem a uma dessincronização entre as variáveis do decodificador e do codificador. Os procedimentos de adaptação de passo e de previsão estão então errados e são tendenciosos durante um grande período de tempo (até 300-500 ms). Na banda de frequência alta, este caráter tendencioso pode resultar dentre outros artefatos, na aparição de um componente contínuo de amplitude muito baixa (da ordem de ± 10 para um sinal de dinâmica máxima ± 32767). No entanto, depois da passagem pelo banco de filtros QMF de síntese, este componente contínuo se encontra na forma de uma senóide a 8 kHz audível e é muito incômoda para o ouvido.
A transformação do componente contínuo (ou “componente DC”) em uma senóide a 8 kHz é explicada abaixo. A Figura 8a representa um banco de filtros em quadratura (QMF) de dois canais. O sinal x(n) é decomposto em duas sub-bandas pelo banco de análise. Obtém-se assim uma banda de frequência baixa xl(n) e uma banda alta xh(n). Estes sinais são definidos pela sua transformada em z:
XL(z) = 1(X(z1/2)L(z1/2) + X(-z1/2)L(-z1/2))
XH(z) = 1(X(z1/2)H(z1/2) + X(-z1/2)H(-z1/2))
Os filtros de passa baixa L(z) e passa alta H (z) estando em quadratura, tem-se: H(z) = L(-z).
Se L(z) verifica as restrições de reconstrução perfeita, o sinal obtido depois do banco de filtro de síntese é idêntico ao sinal x(n) com aproximação de defasagem.
Assim, se a frequência de amostragem do sinal x(n) for f'e, os sinais xl(n) e xh(n) são submetidos a amostragem na frequência fe = f'e/2. Tipicamente, frequentemente tem-se f'e = 16 kHz, ou seja, fe = 8 kHz. Indica-se, além disso, que os filtros L(z) e H(z) podem ser, por exemplo, os filtros QMF de 24 coeficientes especificados na norma UIT-T G.722.
A Figura 8b mostra o espectro dos sinais x(n), xl(n) e xh(n) no caso em que os filtros L(z) e h(z) são filtros de meia banda ideais. A resposta em frequência de L(z) no interva
Petição 870190091834, de 14/09/2019, pág. 16/36
10/17 lo [-f'e/2, + fe’/2] é então dada, no caso ideal, por:
|L(f)| = 1, se |f| < fe’/4 |L(f)| = 0, no caso contrário
Observe-se que o espectro de xh(n) corresponde à banda alta desdobrada. Esta propriedade de desdobramento (ou “folding” em inglês), conhecida no estado da técnica, se explica visualmente assim como por meio da equação acima que define XH(z). O desdobramento da banda alta é “invertido” pelo banco de filtros de síntese que restabelece o espectro da banda alta na ordem natural das frequências.
No entanto, na prática, os filtros L(z) e H(z) não são ideais. O seu caráter não ideal tem por consequência a aparição de uma componente de desdobramento espectral que é anulada pelo banco de síntese. A banda alta permanece, no entanto, invertida.
O bloco 308 realiza então uma filtragem passa alta (HPF significando “high pass filter”) que suprime o componente contínuo (significando “DC remove” em inglês). A utilização de um tal filtro é especialmente vantajosa, inclusive fora do quadro da correção do período de pitch na banda baixa de acordo com a presente invenção.
Aliás, a utilização de um tal filtro HPF (bloco 308) eliminando o componente contínuo na banda alta poderia ser objeto de uma proteção separada dentro de um contexto geral de perda de estruturas na decodificação. Em termos gerais, compreender-se-á, portanto, que dentro do contexto da codificação de um sinal recebido com separação deste sinal em banda de frequências altas e banda de frequências baixas, portanto, em pelo menos dois canais como na decodificação de acordo com a norma G.722, quando ocorre uma perda de sinal seguida por uma síntese de um sinal de substituição, de modo geral, no trajeto de altas frequências do decodificador, isto pode resultar na presença de uma componente contínua no sinal de substituição. O efeito deste componente contínuo pode se prolongar também no sinal decodificado, durante um certo tempo, quando o sinal codificado recebido estiver novamente válido, no entanto, devido à dessincronização entre o codificador e o decodificador e ao tamanho da memória dos filtros.
Prevê-se com vantagem um filtro de passa alta 308 no trajeto das frequências altas. Este filtro de passa alta 308 é previsto com vantagem a montante, por exemplo, do banco de filtros QMF deste trajeto das altas frequências do decodificador G.722. Esta disposição permite que se evite o desdobramento do componente contínuo a 8 kHz (valor estirado da taxa de amostragem f’e) quando ele é aplicado ao banco de filtros QMF. A título mais geral, quando o decodificador faz intervir um banco de filtro no fim do tratamento no trajeto das altas frequências, prevê-se, de preferência, o filtro de passa alta (308) a montante deste banco de filtros.
Assim, com referência novamente à Figura 3, o comutador 309 seleciona o trajeto zh = vh, enquanto houver uma perda de estruturas.
Petição 870190091834, de 14/09/2019, pág. 17/36
11/17
Em seguida, desde que é recebida uma estrutura válida, esta é decodificada pelo bloco 304 e o comutador 307 seleciona o trajeto uh = xh. Durante alguns instantes seguintes (depois de quatro segundos, por exemplo), o comutador 309 seleciona ainda o trajeto zh = vh, mas passados estes alguns segundos, volta-se ao funcionamento “normal” onde o comutador 309 seleciona novamente o trajeto zh = uh contornando o bloco 308 e sem aplicação do filtro de passa alta 308, portanto.
Em termos gerais, compreender-se-á, portanto que se aplica, de preferência, temporariamente (alguns segundos, por exemplo) este filtro de passa alta 308, durante e depois de uma perda de blocos, mesmo se forem novamente recebidos blocos válidos. O filtro 308 poderia ser utilizado permanentemente. Mesmo assim, ele não está ativo senão no caso de perdas de estruturas, pois a perturbação devida ao componente contínuo não é gerada a não ser neste caso, de modo que a saída do decodificador G.722 modificado (pois integra o mecanismo de correção de perdas) é idêntica à do decodificador UIT-T G.722 na ausência de perda de estruturas. Este filtro 308 é aplicado somente durante a correção da perda de estruturas e durante alguns segundos consecutivos a uma perda. Na verdade, no caso de perda, o decodificador G.722 é dessincronizado do codificador durante um período de 100 a 500 ms após a uma perda e o componente contínuo na faixa alta não está tipicamente presente a não ser durante uma duração de 1 a 2 segundos. O filtro 308 é mantido durante um pouco mais de tempo para se ter uma margem de segurança (durante quatro segundos, por exemplo).
Não descreveremos com mais detalhes o decodificador objeto da Figura 3, pois fica subentendido que a presente invenção é especialmente executada no bloco 301 de extrapolação da banda baixa. Este bloco 301 é dado em detalhes na Figura 4.
Com referência à Figura 4, a extrapolação da banda baixa se apóia sobre uma análise do sinal passado xl (parte da Figura 4 atribuida com a referência ANALYS) seguida de uma síntese do sinal yl a ser fornecidos (parte da Figura 4 atribuida com a referência SYNTH). O bloco 400 realiza uma análise por previsão linear (LPC) sobre o sinal passado xl. Esta análise é similar à realizada principalmente no codificador normalizado G.729. Ela pode consistir em dotar o sinal de janelas, calcular a autocorrelação e encontrar os coeficientes de previsão linear pelo algoritmo de Levinson-Durbin. É preferível que somente sejam utilizados os 10 últimos segundos do sinal e que a ordem LPC seja fixada em 8. Obtém-se, portanto, nove coeficientes LPC (denominados abaixo a0, a1, ..., ap) sob a forma:
A(z) = a0 + a1z-1 + ... + apz-p, sendo p = 8 e a0 = 1.
Depois da análise LPC, o sinal de excitação passado é calculado pelo bloco 401. O sinal de excitação passado é denominado e(n), sendo n = -M, ..., -1, em que M corresponde ao número de amostras passadas e armazenadas. O bloco 402 realiza uma estimativa da frequência fundamental ou do seu inverso; o período de pitch t0. Esta estimativa é realizada,
Petição 870190091834, de 14/09/2019, pág. 18/36
12/17 por exemplo, de um modo similar à análise de pitch (denominada “em circuito aberto” principalmente como no codificador normalizado G.729).
O pitch To assim estimado é utilizado pelo bloco 403 para extrapolar a excitação da estrutura atual.
Por outro lado, o sinal passado xl é classificado no bloco 404. Pode-se buscar neste caso se detectar a presença de transitórios, a presença de um fonema explosivo, por exemplo, para aplicar a correção do período de pitch de acordo com a invenção, mas, em uma variante preferencial, busca-se de preferência se detectar se o sinal Se é muito vocalizado (quando a correlação em relação ao período de pitch, por exemplo, está muito próxima de 1). Se o sinal for muito vocalizado (o que corresponde à pronúncia de uma vogal estável, “aaaa...”, por exemplo), então o sinal Se está isento de transitórios e a correção do período de pitch de acordo com a presente invenção pode não ser executada. Caso contrário, aplicar-se-á, de preferência, a correção do período de pitch de acordo com a presente invenção em todos os demais casos.
Os detalhes da detecção de um grau de vizinhança não são apresentados aqui, pois eles são conhecidos em si e não incidem no âmbito da invenção.
Com referência novamente à Figura 4, a síntese SYNTH segue o modelo bem conhecido no estado da técnica e denominado “fonte-filtro”. Ela consiste em filtrar a excitação extrapolada por um filtro LPC. Neste caso, a excitação extrapolada e(n) (ou agora n = 0, L-1, sendo L o comprimento da estrutura a ser extrapolada) é filtrada pelo filtro inverso 1/A(z) (bloco 405). Em seguida o sinal obtido é atenuado pelo bloco 407 em função de uma atenuação calculada no bloco 406, para ser finalmente fornecido em yl.
A invenção em si é realizada pelo bloco 403 da Figura 4, sendo suas funções descritas em detalhes abaixo.
Representou-se na Figura 5, a título ilustrativo, o princípio da simples repetição da excitação tal como ela é realizada na técnica anterior. A excitação pode ser extrapolada repetindo-se simplesmente o último período de pitch to, isto é, copiando-se a sucessão das últimas amostras da excitação passada, o número de amostras nesta sucessão correspondendo ao número de amostras que compreende o período de pitch To.
Com referência agora à Figura 6, antes de se repetir o último período de pitch To, modifica-se este último, de acordo com a presente invenção, do seguinte modo.
Para cada amostra n = -To, ..., -1, a amostra e(n) é modificada em emOd(n) seguindose uma fórmula do tipo:
= 7q + ')|)'H)|) xsign(e(n))
Conforme indicado acima, é preferível que esta modificação de sinal não seja aplicada se o sinal xl (e, consequentemente, o sinal de entrada Se) seja muito vocalizado. Na verdade, no caso de um sinal muito vocalizado, a repetição simples do último período de
Petição 870190091834, de 14/09/2019, pág. 19/36
13/17 pitch, sem modificação, pode dar um resultado melhor, ao passo que uma modificação do último período de pitch e a sua repetição poderia acarretar uma ligeira degradação de qualidade.
Representamos na Figura 7 o tratamento correspondente à aplicação desta fórmula, em forma de organograma, para ilustrar as etapas do método de acordo com uma modalidade de realização da invenção. Parte-se aqui do sinal passado e(n) que fornece o bloco 401. Na etapa 70 obtém-se a informação de acordo com a qual o sinal xl é muito vocalizado ou não a partir do módulo 404 que determina o grau de vocalização. Se o sinal for muito vocalizado (seta O na saída do teste 71), copia-se o último período de pitch dos blocos válidos, como vêm, no bloco 403 da Figura 4 e o tratamento prossegue diretamente em seguida pela aplicação da filtragem inversa 1/A(z) pelo módulo 405.
Por outro lado, se o sinal xl não for muito vocalizado (seta N na saída do teste 71) vai-se buscar modificar as últimas amostras do sinal de excitação e(n) correspondendo aos últimos blocos válidos recebidos, estendendo-se estas amostras em todo um período de pitch T0 (etapa 73), dado pelo módulo 402 da Figura 4 (na etapa 72). Na realização ilustrada na Figura 7, busca-se modificar todas as amostras e(n) em todo um período de pitch T0, estando n compreendido entre nrT + 1 e nl, correspondendo, portanto, e(nl) à última amostra válida recebida (etapa 74). Compreender-se-á assim, com estas indicações, que uma amostra e(n), em que n está compreendido entre nl-T0 + 1 e nl, pertence simplesmente ao último período de pitch validamente recebido.
Na etapa 75, faz-se corresponder a cada amostra e(n) do último período de pitch uma vizinhança NEIGH no período de pitch precedente, portanto no penúltimo período de pitch. Esta medida é vantajosa, mas não é absolutamente necessária. A vantagem que ela confere será descrita mais abaixo. iNdica-se simplesmente aqui que esta vizinhança compreende um número de amostras ímpar 2k + 1, no exemplo descrito. Naturalmente, como uma variante, este número pode ser par. Por outro lado, no exemplo da Figura 6, tem-se k = 1. Na verdade, com referência ainda à Figura 6 constata-se que a terceira amostra do último período de pitch observado e(3) é selecionado (etapa 74) e as amostras da vizinhança NEIGH que são associadas a ela no penúltimo período de pitch (etapa 75) são representadas em negrito e são e(2-T0), e(3-To) e e(4-T0). Elas são, portanto, repartidas ao redor de e(3-T0).
Na etapa 76, determina-se o máximo, em valor absoluto, dentre as amostras da vizinhança NEIGH (ou seja, a amostra e(2-%) no exemplo da Figura 6). Esta característica é vantajosa, mas não é absolutamente necessária. A vantagem que ela confere será descrita mais abaixo. Tipicamente, como uma variante, poder-se-ia escolher determinar a média da vizinhança NEIGH, por exemplo.
Na etapa 77, determina-se o mínimo, em valor absoluto, entre o valor da amostra
Petição 870190091834, de 14/09/2019, pág. 20/36
14/17 atual e(n) e o valor de máximo M encontrado na vizinhança NEIGH na etapa 76. No exemplo ilustrado na Figura 6, este mínimo entre e(3) e e(2-%) é exatamente a amostra do penúltimo período de pitch e(2-%). Continuando nesta etapa 77, substitui-se então a amplitude da amostra atual e(n) pro este mínimo. Na Figura 6, a amplitude da amostra e(3) se torna igual à da amostra e(2-%). O mesmo método é aplicado a todas as amostras do último período, de e(1) a e(12). Na Figura 6, representam-se as amostras corrigidas pelos traços pontilhados. As amostras dos períodos de pitch extrapolados Tj+1, Tj_2, corrigidos de acordo com a invenção, são representadas por setas fechadas.
Compreender-se-á, portanto, que pela execução vantajosa desta etapa 77, se um fonema explosivo estiver realmente presente no último período de pitch Tj (intensidade forte do sinal, em valor absoluto, conforme representado na Figura 6), vai se determinar o mínimo entre esta intensidade do fonema explosivo e a das amostras substancialmente na mesma posição no tempo no período de pitch precedente (o termo “substancialmente” significando aqui “numa vizinhança de ± k”,, de onde decorre a vantagem da realização da etapa 75), e substituir, se for necessário, a intensidade do fonema explosivo por uma intensidade mais baixa pertencendo ao penúltimo período de pitch Tj_1. Por outro lado, se a intensidade das amostras do ultimo período de pitch Tj for inferior à do penúltimo período j selecionandose o mínimo entre a amostra atual e(3) e o valor de intensidade e(2-T0) no penúltimo período de pitch Tj-1, não se modifica o último período e evita-se assim o risco de que um fonema explosivo (de grande intensidade) possa ser copiada do penúltimo período de pitch Tj-1.
Assim, na etapa 76, determina-se o máximo M em valor absoluto das amostras da vizinhança (e não um outro parâmetro tal como a média da vizinhança, por exemplo), de modo a compensar o efeito de se escolher o mínimo na etapa 77, para se efetuar a substituição do valor e(n). Esta medida permite, portanto, não se limitar demasiado a amplitude dos períodos de pitch de substituição Tj+1, Tj+2 (Figura 6).
Por outro lado, a etapa 75 de determinação de vizinhança, é executada, de modo vantajoso, pois um período de pitch não é sempre regular e, se uma amostra e(n) tem uma intensidade máxima em um período de pitch T0, não ocorre sempre o mesmo para uma amostra e(n + T0) em um período de pitch seguinte. Por outro lado, um período de pitch pode se estender até uma posição no tempo que incide entre duas amostras (a uma frequência de amostragem dada). Fala-se de “pitch fracionário”. É, portanto, sempre preferível se tomar uma vizinhança centralizada ao redor de uma amostra e(n-T0) se for necessário se associar esta amostra e(n-T0) a uma amostra e(n) posicionada em um período de pitch seguinte.]
Finalmente, como os tratamentos das etapas 75 a 77 se apoiam substancialmente sobre os valores absolutos das amostras, a etapa 78 consiste simplesmente em reatribuir a amostra modificada emod(n) com o sinal da amostra inicial e(n).
Petição 870190091834, de 14/09/2019, pág. 21/36
15/17
Repetem-se as etapas 75 a 78 para uma amostra e(n) seguinte (n antes de n + 1 na etapa 79) até se esgotar o período de pitch To (ou seja, portanto, até se chegar à última amostra válida e(ni)).
Fornece-se assim o sinal modificado emOd(n) ao filtro inverso 1/A(z) (referência 405 da Figura 4) para se continuar com a decodificação.
Convém, no entanto, se observar ainda duas variantes possíveis de realização. É possível se corrigir assim o último período de pitch Tj, aplicar esta correção T’j a este último período de pitch Tj e se copiar a correção para os períodos de pitch seguintes, isto é: Tj = Tj+i - Tj+2 = T’j. Em uma variante, deixa-se intacto o último período de pitch Tj e copia-se por outro lado sua correção Tj nos períodos de pitch seguintes Tj+i e Tj+2.
A comparação das Figuras 5 e 6 mostra em que a modificação da excitação assim feita é vantajosa. Assim, resumindo, no caso em que um fonema explosivo está presente no último período de pitch, este será automaticamente eliminado antes da repetição de pitch, pois ele não terá equivalente no penúltimo período de pitch. Esta realização permite assim que se elimine um dos artefatos mais incômodos da repetição de pitch e consistindo na repetição de fonemas explosivos.
Por outro lado, prevê-se com vantagem uma atenuação mais rápida do sinal sintetizado e repetido, se um fone explosivo for detectado no último período de pitch. Um exemplo de realização de uma detecção de um transitório, de modo geral, pode consistir em se contra o número de ocorrências da condição (1) seguinte:
j-V
Se esta condição for verificada mais de uma vez, por exemplo, sobre a estrutura atual, então o sinal passado xl compreende um transitório (um fonema explosivo, por exemplo), o que permite que se force uma atenuação rápida pelo bloco 406 sobre o sinal de síntese yl (uma atenuação durante 10 ms, por exemplo).
A Figura 2c ilustra então o sinal decodificado quando a invenção é colocada em prática, a título de comparação com as Figuras 2a e 2b para as quais estava perdida uma estrutura que compreende o fonema explosivo /t/. A repetição do fonema /t/ é aqui evitada, graças à colocação em prática da invenção. As diferenças que se seguem à perda de estrutura não estão ligadas à detecção de fonemas explosivos propriamente dita. Na verdade, a atenuação do sinal depois da perda de estrutura na Figura 2c se explica pelo fato de que neste caso, o decodificador G.722 é reinicializado (atualização completa do status no bloco 302 da Figura 3), ao passo que no caso da Figura 2b, o decodificador G.722 não é reinicializado. Compreender-se-á, no entanto, que a invenção se apoia sobre a detecção de fonemas explosivos para a extrapolação de uma estrutura deletada e não sobre o problema de reinicialização depois de uma perda de estrutura.
Petição 870190091834, de 14/09/2019, pág. 22/36
16/17
No entanto, ao ser ouvido, o sinal ilustrado na Figura 2c é de uma qualidade melhor do que o da Figura 2b.
A presente invenção visa também um programa de computador destinado a ser armazenado na memória de um dispositivo de síntese de um sinal de áudio digital. Este programa compreende então instruções para a execução do método de acordo com a presente invenção, quando ele é executado por um método de um tal dispositivo de síntese. Alias, a Figura 7 descrita acima pode ilustrar um organograma de um tal programa de computador.
Por outro lado, a presente invenção visa também um dispositivo de síntese de um sinal de áudio digital constituído por uma sucessão de blocos. Este dispositivo poderia compreender, aliás, uma memória que armazenasse o programa de computador citado acima e poderia consistir no bloco 403 da Figura 4 com as funções descritas acima. Com referência à Figura 8, este dispositivo SYN, compreende:
- uma entrada E para receber blocos do sinal e(n), precedendo pelo menos um bloco atual a ser sintetizado, e
- uma saída S para fornecer o sinal sintetizado emod(n) e compreendendo pelo menos um bloco atual sintetizado.
O dispositivo de síntese SYN de acordo com a presente invenção compreende meios tais como uma memória operacional MEM (ou de armazenagem do programa de computador citado acima) e um processador PROC cooperando com esta memória MEM, para a condução do método de acordo com a presente invenção, e para sintetizar assim o bloco atual a partir de pelo menos um dos blocos precedentes do sinal e(n).
A presente invenção visa também um decodificador de um sinal de áudio digital constituído por uma sucessão de blocos, compreendendo este decodificador o dispositivo 403 de acordo com a presente invenção para sintetizar os blocos inválidos.
De um modo mais geral, a presente invenção não se limita às formas de realização descritas acima a título de exemplo; ela se estende a outras variantes.
Nas realizações variantes, os parâmetros de correção de período de pitch e/ou de detecção de fonemas transitórios podem ser os seguintes. Pode-se considerar um intervalo compreendendo um número diferente de três amostras no penúltimo período de pitch. Podese tomar, por exemplo, k = 2 para se ter cinco amostras consideradas ao todo. O valor do limiar para a detecção de transitório (de 1/4 no exemplo da condição (1) acima) pode também ser adaptado. Além disso, pode-se declarar o sinal como transitório se a condição de detecção não for verificada pelo menos m vezes, sendo m > 1.
Por outro lado, a invenção pode também ser aplicada a outros contextos diferentes do descrito acima.
A detecção e a modificação de sinal, por exemplo, podem ser realizadas no domínio do sinal (e não no domínio da excitação). Tipicamente, para a correção de perdas de
Petição 870190091834, de 14/09/2019, pág. 23/36
17/17 estrutura em um decodificador CELP (que funciona também de acordo com o modelo fontefiltro), a excitação é extrapolada por repetição de pitch e eventualmente é acrescentada de uma contribuição aleatória e esta excitação é filtrada por um filtro do tipo 1/A(z) em que A(z) é derivada do último filtro previsor corretamente recebido.
Ela pode ser aplicada também, naturalmente, a um decodificador de acordo com a norma G.711.
É evidente que o fato de se simplesmente copiar o penúltimo período de pitch j para constituir os novos períodos sintetizados Tj+1, Tj+2 já permitiría se superar o problema de repetição de fonemas explosivos, se, além disso, se tomar o cuidado de se detectar fone10 mas explosivos no penúltimo período de pitch (utilizando-se, por exemplo, uma condição do tipo da condição (1) citado acima). Esta realização incide no âmbito da presente invenção.
Por outro lado, para fins de clareza do exposto acima, descreve-se uma correção de amostra, na etapa b), seguida pela cópia das amostras corrigidas no(s) bloco(s) de substituição. É evidente e de modo estritamente equivalente tecnicamente, é também possível se 15 copiar inicialmente as amostras do último período de repetição e de as corrigir todas em seguida no(s) bloco(s) de substituição. Assim, a correção das amostras e a operação de copiar podem ser etapas que podem intervir em qualquer ordem, e especialmente, serem invertidas.

Claims (13)

  1. REIVINDICAÇÕES
    1. Método para sintetizar um sinal de áudio digital representado por blocos sucessivos de amostras, no qual, na recepção de um tal sinal, para substituir pelo menos um bloco inválido, gera-se um bloco de substituição a partir de amostras de pelo menos um bloco válido, o método compreendendo as seguintes etapas:
    a) determinar (402) um período de repetição em pelo menos um bloco válido, e
    b) copiar (403) as amostras do período de repetição em pelo menos um bloco de substituição, o dito período de repetição correspondendo a um período de pitch se o sinal é um sinal de fala vocalizado ou um valor determinado arbitrariamente ou a partir de uma função de correção se o sinal não for um sinal de fala vocalizado,
    CARACTERIZADO pelo fato de que:
    na etapa a), determina-se um último período de repetição (Tj) em pelo menos um bloco válido que precede imediatamente um bloco inválido, na etapa b), corrigem-se as amostras (e(3)) do último período de repetição (Tj) em função de amostras (e(2-T0), e(3-T0), e(4-T0)) de um período de repetição (Tj-1) que precede o último período de repetição, para limitar a amplitude de qualquer sinal transitório no último período de repetição, e copiam-se as amostras assim corrigidas no bloco de substituição (Tj+1, Tj+2), a dita correção sendo executada em relação a uma vizinhança centralizada ao redor de uma amostra posicionada no tempo em um período de repetição anterior à amostra atual.
  2. 2. Método, de acordo com a reivindicação 1, em que o sinal é um sinal de fala vocalizado, CARACTERIZADO pelo fato de que o período de repetição é um período de pitch que corresponde ao inverso de uma frequência fundamental do sinal.
  3. 3. Método, de acordo com qualquer uma das reivindicações 1 ou 2, CARACTERIZADO pelo fato de que, na etapa b), corrige-se uma amostra atual (e(3)) do último período de repetição, comparando-se:
    a amplitude desta amostra atual, em valor absoluto, a amplitude, em valor absoluto, de pelo menos uma amostra (e(2-T0)) posicionada no tempo aproximadamente em um período de repetição anterior à amostra atual, e atribuir à amostra atual com a amplitude mínima, em valor absoluto, entre essas as duas amplitudes.
  4. 4. Método, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que, para uma amostra atual (e(3)) do último período de repetição:
    constituir um conjunto de amostras (75) em uma vizinhança centralizada ao redor de uma amostra (e(3-T0)) posicionada no tempo em um período de repetição anterior à amostra atual,
    Petição 870190091834, de 14/09/2019, pág. 25/36
    2/3 determinar uma amplitude escolhida (76) dentre as amplitudes das amostras desta vizinhança, tomadas em valor absoluto, e comparar essa amplitude escolhida com a amplitude da amostra atual, em valor absoluto, para atribuir (77) a amostra atual (e(3)) com a amplitude mínima, em valor absoluto, entre a amplitude escolhida e a amplitude da amostra atual.
  5. 5. Método, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que a amplitude escolhida dentre as amplitudes das amostras da vizinhança é a amplitude máxima em valor absoluto (M).
  6. 6. Método para sintetizar um sinal de áudio digital, em que o sinal de áudio digital é um sinal de fala, uma detecção de grau de vocalização sendo aplicada ao sinal de fala (71), CARACTERIZADO pelo fato de que um método, conforme definido em qualquer uma das reivindicações precedentes, é executado se o sinal de fala não for vocalizado ou se for fracamente vocalizado.
  7. 7. Método, de acordo com qualquer uma das reivindicações precedentes, em que se aplica um amortecimento da amplitude das amostras no bloco de substituição, CARACTERIZADO pelo fato de que se detecta qualquer caráter transitório do sinal no último período de repetição, e, caso seja necessário, a correção da etapa b) é executada, aplicando um amortecimento mais rápido do que para um sinal estacionário.
  8. 8. Método, de acordo com as reivindicações 3, 4 e 7, CARACTERIZADO pelo fato de que:
    para uma pluralidade de amostras atuais do último período de repetição, mede-se uma relação, em valor absoluto, da amplitude de uma amostra atual sobre a amplitude escolhida, e conta-se o número de ocorrências, para as amostras atuais, para as quais a relação é superior a um primeiro limiar predeterminado, e detecta-se a presença de um caráter transitório se o número de ocorrências for superior a um segundo limiar predeterminado.
  9. 9. Método, de acordo com qualquer uma das reivindicações precedentes, CARACTERIZADO pelo fato de que, no caso de um recebimento de uma pluralidade de blocos inválidos consecutivos que se estendem sobre pelo menos por um período de repetição, a etapa de correção de amostras b) é aplicada a todas as amostras do último período de repetição, tomadas uma a uma, na medida em que forem amostras atuais.
  10. 10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que, no caso de um recebimento de uma pluralidade de blocos inválidos consecutivos que se estendem por diversos períodos de repetição, para substituir a pluralidade de blocos inválidos, copia-se diversas vezes o período de repetição corrigido na etapa b) para formar os blocos de substituição.
    Petição 870190091834, de 14/09/2019, pág. 26/36
    3/3
  11. 11. Memória de um dispositivo de síntese de sinal de áudio digital, CARACTERIZADA pelo fato de que compreende instruções para a execução do método conforme definido em qualquer uma das reivindicações 1 a 10, quando ele for executado por um processador do dito dispositivo de síntese.
    5
  12. 12. Dispositivo de síntese de sinal de áudio digital constituído por uma sucessão de blocos, compreendendo:
    uma entrada (E) para receber blocos do sinal (e(n)), precedendo pelo menos um bloco atual a ser sintetizado, e uma saída (S) para fornecer o sinal sintetizado (emod(n)) e contendo pelo menos o 10 bloco atual,
    CARACTERIZADO pelo fato de que compreende meios (MEM, PROC) para a condução do método conforme definido em qualquer uma das reivindicações 1 a 10, para sintetizar o bloco atual a partir de pelo menos um dos blocos precedentes.
  13. 13. Decodificador de um sinal de áudio digital constituído por uma sucessão de blo15 cos, CARACTERIZADO pelo fato de que compreende adicionalmente um dispositivo (403) conforme definido na reivindicação 12, para sintetizar blocos inválidos.
BRPI0718422-0A 2006-10-20 2007-10-17 Método para sintetizar um sinal de áudio digital, memória de um dispositivo de síntese de sinal de áudio digital, dispositivo de síntese de sinal de áudio digital e decodificador de um sinal de áudio digital BRPI0718422B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0609227 2006-10-20
FR0609227A FR2907586A1 (fr) 2006-10-20 2006-10-20 Synthese de blocs perdus d'un signal audionumerique,avec correction de periode de pitch.
PCT/FR2007/052189 WO2008096084A1 (fr) 2006-10-20 2007-10-17 Synthèse de blocs perdus d'un signal audionumérique, avec correction de période de pitch

Publications (2)

Publication Number Publication Date
BRPI0718422A2 BRPI0718422A2 (pt) 2013-11-12
BRPI0718422B1 true BRPI0718422B1 (pt) 2020-02-11

Family

ID=37735201

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0718422-0A BRPI0718422B1 (pt) 2006-10-20 2007-10-17 Método para sintetizar um sinal de áudio digital, memória de um dispositivo de síntese de sinal de áudio digital, dispositivo de síntese de sinal de áudio digital e decodificador de um sinal de áudio digital

Country Status (14)

Country Link
US (1) US8417519B2 (pt)
EP (1) EP2080195B1 (pt)
JP (1) JP5289320B2 (pt)
KR (1) KR101406742B1 (pt)
CN (1) CN101627423B (pt)
AT (1) ATE502376T1 (pt)
BR (1) BRPI0718422B1 (pt)
DE (1) DE602007013265D1 (pt)
ES (1) ES2363181T3 (pt)
FR (1) FR2907586A1 (pt)
MX (1) MX2009004211A (pt)
PL (1) PL2080195T3 (pt)
RU (1) RU2432625C2 (pt)
WO (1) WO2008096084A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8706479B2 (en) * 2008-11-14 2014-04-22 Broadcom Corporation Packet loss concealment for sub-band codecs
KR101622950B1 (ko) * 2009-01-28 2016-05-23 삼성전자주식회사 오디오 신호의 부호화 및 복호화 방법 및 그 장치
JP5456370B2 (ja) * 2009-05-25 2014-03-26 任天堂株式会社 発音評価プログラム、発音評価装置、発音評価システムおよび発音評価方法
US8976675B2 (en) * 2011-02-28 2015-03-10 Avaya Inc. Automatic modification of VOIP packet retransmission level based on the psycho-acoustic value of the packet
JP5932399B2 (ja) * 2012-03-02 2016-06-08 キヤノン株式会社 撮像装置及び音声処理装置
CN105976830B (zh) * 2013-01-11 2019-09-20 华为技术有限公司 音频信号编码和解码方法、音频信号编码和解码装置
FR3001593A1 (fr) * 2013-01-31 2014-08-01 France Telecom Correction perfectionnee de perte de trame au decodage d'un signal.
MX2021000353A (es) * 2013-02-05 2023-02-24 Ericsson Telefon Ab L M Método y aparato para controlar ocultación de pérdida de trama de audio.
ES2664968T3 (es) 2013-02-05 2018-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Encubrimiento de pérdida de trama de audio
WO2014123469A1 (en) 2013-02-05 2014-08-14 Telefonaktiebolaget L M Ericsson (Publ) Enhanced audio frame loss concealment
JP6153661B2 (ja) * 2013-06-21 2017-06-28 フラウンホーファーゲゼルシャフト ツール フォルデルング デル アンゲヴァンテン フォルシユング エー.フアー. 改善されたパルス再同期化を採用するacelp型封じ込めにおける適応型コードブックの改善された封じ込めのための装置および方法
BR112015031181A2 (pt) 2013-06-21 2017-07-25 Fraunhofer Ges Forschung aparelho e método que realizam conceitos aperfeiçoados para tcx ltp
US9418671B2 (en) * 2013-08-15 2016-08-16 Huawei Technologies Co., Ltd. Adaptive high-pass post-filter
JP6306175B2 (ja) 2013-10-31 2018-04-04 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ 時間ドメイン励振信号に基づくエラーコンシールメントを用いて、復号化されたオーディオ情報を提供するオーディオデコーダおよび復号化されたオーディオ情報を提供する方法
BR122022008603B1 (pt) 2013-10-31 2023-01-10 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Decodificador de áudio e método para fornecer uma informação de áudio decodificada utilizando uma dissimulação de erro que modifica um sinal de excitação no domínio de tempo
NO2780522T3 (pt) 2014-05-15 2018-06-09
US9706317B2 (en) * 2014-10-24 2017-07-11 Starkey Laboratories, Inc. Packet loss concealment techniques for phone-to-hearing-aid streaming
JP6611042B2 (ja) * 2015-12-02 2019-11-27 パナソニックIpマネジメント株式会社 音声信号復号装置及び音声信号復号方法
GB2547877B (en) * 2015-12-21 2019-08-14 Graham Craven Peter Lossless bandsplitting and bandjoining using allpass filters
CN106970950B (zh) * 2017-03-07 2021-08-24 腾讯音乐娱乐(深圳)有限公司 相似音频数据的查找方法及装置
WO2022045395A1 (ko) * 2020-08-27 2022-03-03 임재윤 파열음 제거를 위한 오디오데이터를 보정하는 방법 및 장치

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3369077A (en) * 1964-06-09 1968-02-13 Ibm Pitch modification of audio waveforms
CA2137459A1 (en) * 1993-05-04 1994-11-10 Stephen V. Cahill Apparatus and method for substantially eliminating noise in an audible output signal
US6597961B1 (en) * 1999-04-27 2003-07-22 Realnetworks, Inc. System and method for concealing errors in an audio transmission
JP2001228896A (ja) * 2000-02-14 2001-08-24 Iwatsu Electric Co Ltd 欠落音声パケットの代替置換方式
US6584438B1 (en) * 2000-04-24 2003-06-24 Qualcomm Incorporated Frame erasure compensation method in a variable rate speech coder
US20030163304A1 (en) * 2002-02-28 2003-08-28 Fisseha Mekuria Error concealment for voice transmission system
US20030220787A1 (en) * 2002-04-19 2003-11-27 Henrik Svensson Method of and apparatus for pitch period estimation
US7411985B2 (en) * 2003-03-21 2008-08-12 Lucent Technologies Inc. Low-complexity packet loss concealment method for voice-over-IP speech transmission
GB2416467B (en) * 2003-05-14 2006-08-30 Oki Electric Ind Co Ltd Apparatus and method for concealing erased periodic signal data
JP4135621B2 (ja) * 2003-11-05 2008-08-20 沖電気工業株式会社 受信装置および方法
CN1989548B (zh) * 2004-07-20 2010-12-08 松下电器产业株式会社 语音解码装置及补偿帧生成方法
EP2054876B1 (en) * 2006-08-15 2011-10-26 Broadcom Corporation Packet loss concealment for sub-band predictive coding based on extrapolation of full-band audio waveform

Also Published As

Publication number Publication date
ATE502376T1 (de) 2011-04-15
BRPI0718422A2 (pt) 2013-11-12
KR20090082415A (ko) 2009-07-30
ES2363181T3 (es) 2011-07-26
PL2080195T3 (pl) 2011-09-30
EP2080195A1 (fr) 2009-07-22
JP5289320B2 (ja) 2013-09-11
EP2080195B1 (fr) 2011-03-16
CN101627423B (zh) 2012-05-02
RU2432625C2 (ru) 2011-10-27
WO2008096084A1 (fr) 2008-08-14
JP2010507121A (ja) 2010-03-04
KR101406742B1 (ko) 2014-06-12
FR2907586A1 (fr) 2008-04-25
RU2009118929A (ru) 2010-11-27
DE602007013265D1 (de) 2011-04-28
US20100318349A1 (en) 2010-12-16
CN101627423A (zh) 2010-01-13
US8417519B2 (en) 2013-04-09
MX2009004211A (es) 2009-07-02

Similar Documents

Publication Publication Date Title
BRPI0718422B1 (pt) Método para sintetizar um sinal de áudio digital, memória de um dispositivo de síntese de sinal de áudio digital, dispositivo de síntese de sinal de áudio digital e decodificador de um sinal de áudio digital
ES2625895T3 (es) Método y dispositivo para la ocultación eficiente del borrado de tramas en códecs de voz basados en la predicción lineal
US9881621B2 (en) Position-dependent hybrid domain packet loss concealment
ES2434947T3 (es) Procedimiento y dispositivo para la ocultación eficiente de un borrado de trama en códecs de voz
RU2667029C2 (ru) Аудиодекодер и способ обеспечения декодированной аудиоинформации с использованием маскирования ошибки, модифицирующего сигнал возбуждения во временной области
ES2644967T3 (es) Extensión adaptativa del ancho de banda y aparato para la misma
CN108831490B (zh) 用于对音频帧丢失隐藏进行控制的方法和设备
JP5062937B2 (ja) オーディオ信号における伝送エラーの抑止シミュレーション
BR112016030056B1 (pt) Aperfeiçoamento de classificação entre codificação de domínio de tempo e codificação de domínio de frequência
BR112015031606B1 (pt) Aparelho e método para desvanecimento de sinal aperfeiçoado em diferentes domínios durante ocultação de erros
BRPI0910327B1 (pt) processo de dissimulação de erro de transmissão, dispositivo de dissimulação de erro de transmissão, decodificador de sinal digital e suporte físico
BR112013020324B1 (pt) Aparelho e método para supressão de erro em fala unificada de baixo atraso e codificação de áudio
JP6687599B2 (ja) Fd/lpd遷移コンテキストにおけるフレーム喪失管理
RU2741518C1 (ru) Кодирование и декодирование аудиосигналов
ES2378972T3 (es) Atenuación de la sobresonorización, en particular para la generación de una excitación en un decodificador, en ausencia de información
BR112014024648B1 (pt) Método e sistema para codificar por celp um sinal de áudio/voz e método de busca rápida de um livro-código mixado
JP6584431B2 (ja) 音声情報を用いる改善されたフレーム消失補正
CN111312261B (zh) 突发帧错误处理
Kovesi et al. A low complexity packet loss concealment algorithm for ITU-T G. 722

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B15K Others concerning applications: alteration of classification

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

Ipc: G10L 19/005 (2013.01), G10L 19/025 (2013.01), G10L

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: 10 (DEZ) ANOS CONTADOS A PARTIR DE 11/02/2020, OBSERVADAS AS CONDICOES LEGAIS.