"MÉTODO PARA GERAR UMA SEQÜÊNCIA DE AMOSTRAS DEENCOBRIMENTO COM RELAÇÃO À TRANSMISSÃO DE UM SINALDE ÁUDIO DIGITALIZADO, CÓDIGO DE PROGRAMA EXECUTÁVELPOR COMPUTADOR, DISPOSITIVO DE ARMAZENAMENTO DEPROGRAMA, E, ARRANJO PARA RECEBER UM SINAL DE ÁUDIODIGITALIZADO"
Campo da Invenção
A presente invenção relaciona-se a sistemas detelecomunicação. Mais particularmente, a presente invenção relaciona-se aum método, um dispositivo e um arranjo que compensam perda e/ouinstabilidade de atraso e/ou desvio de relógio de pacotes sinal para melhorar aqualidade de transmissão de sinal através de sistemas de telecomunicação semfios e redes comutadas por pacote.
Fundamento da Invenção
Telecomunicações modernas são baseadas em transmissãodigital de sinais. Por exemplo, na Figura 1, um transmissor 200 coleta umsinal de som de uma fonte 100. Esta fonte pode ser o resultado de uma oumais pessoas falando e outras fontes de onda acústica coletadas por ummicrofone, ou pode ser um armazenamento de sinal de som ou sistema degeração tal como uma síntese de texto para fala ou sistema de diálogo. Se osinal de fonte for analógico, ele é convertido a uma representação digital pormeio de um conversor analógico para digital. A representação digital écodificada subseqüentemente e colocada em pacotes seguindo um formatoadequado para o canal digital 300. Os pacotes são transmitidos através docanal digital. O canal digital tipicamente inclui múltiplas camadas deabstração.
Na camada de abstração na Figura 1, o canal digital toma umaseqüência de pacotes como entrada e entrega uma seqüência de pacotes comosaída. Devido a degradações no canal, tipicamente causadas em ruído,imperfeições, e sobrecarga no canal, a seqüência de pacote de saída étipicamente contaminada com perda de alguns dos pacotes e atraso de tempode chegada e instabilidade de atraso para outros pacotes. Além disso,diferença em relógio do transmissor e do receptor pode resultar em desvio derelógio. É a tarefa do receptor 400 decodificar os pacotes de dados recebidos econverter as representações digitais decodificadas do fluxo de pacote edecodificar isto em representações de sinal digitais e adicionalmenteconverter estas representações em um sinal de som decodificado em umformato adequado para saída ao recebedor de sinal 500. Este recebedor desinal pode ser uma ou mais pessoas que são apresentadas ao sinal de somdecodificado, por exemplo, um ou mais alto-falantes. Alternativamente, orecebedor de sinal pode ser um sistema de armazenamento de fala ou áudio ouuma sistema de diálogo de fala ou áudio ou reconhecedor.
É a tarefa do receptor reproduzir precisamente um sinal que pode ser apresentado ao recebedor. Quando a recebedor inclui diretamente ouindiretamente ouvintes humanos, um objetivo do receptor é obter umarepresentação do sinal de som que, quando apresentado aos ouvinteshumanos, reproduz precisamente a impressão percebida humanamente einformação do sinal acústico da fonte ou fontes. Para assegurar esta tarefa nocaso comum, onde o canal degrada a seqüência recebida de pacotes comperda, atraso, instabilidade de atraso, e desvio de relógio pode além dissoestar presente, um encobrimento eficiente é necessário como parte dosubsistema de receptor.
Como um exemplo, uma possível implementação de um subsistema de receptor para realizar esta tarefa é ilustrada na Figura 2. Comoindicado nesta figura, pacotes entrantes são armazenados em uma memóriatemporária de instabilidade 410, donde uma unidade de decodificação eencobrimento 420 adquire representações de sinal codificadas recebidas, edecodifica e encobre estas representações de sinal codificadas para obterrepresentações de sinal adequadas para armazenamento em uma memóriatemporária de representação 430 e representação subseqüente. O controle dequando iniciar encobrimento e quais parâmetros específicos desteencobrimento, tal como comprimento do sinal encoberto, pode, como umexemplo, ser efetuado por uma unidade de controle 440, que monitora osconteúdos da memória temporária de instabilidade e da memória temporáriade representação e controla a ação da unidade de decodificação eencobrimento 420.
Encobrimento também pode ser realizado como parte de umsubsistema de canal. Figura 3 ilustra um exemplo de um subsistema de canalno qual pacotes são remetidos de um canal 310 para um canal 330 por umsubsistema 320, que nós para referência posterior chamamos a retransmissão.
Em sistemas práticos, a função de retransmissão pode ser realizada porunidades, que podem levar uma variedade de nomes dependentes de contexto,tais como tipos diversos de roteadores, servidores de procuração, servidoresde borda, controladores de acesso de rede, controladores de rede de área localsem fios, portais de Voz através de IP, portais de mídia, controladores de redenão licenciada, e outros nomes. No presente contexto, todos estes sãoexemplos de sistemas de retransmissão.
Um exemplo de um sistema de retransmissão que é capaz de
fzer encobrimento de áudio é ilustrado na Figura 4. Como ilustrado nestafigura, pacotes são remetidos de uma memória temporária de entrada 310 parauma memória temporária de saída 360 por subsistemas de comutação depacote 320 e 350. A unidade de controle 370 monitora as memóriastemporárias de entrada e saída, e como resultado desta monitoração, tomadecisões se 35 transcodificação e encobrimento são necessários. Se este for ocaso, as chaves dirigem os pacotes pela unidade de transcodificação eencobrimento 330. Se este não for o caso, as chaves dirigem os pacotes pelosubsistema de ação de protocolo mínimo 340, que fará um mínimo deoperações nos cabeçalhos de pacote para permanecer complacente comprotocolos aplicados. Isto pode incluir etapas de alterar número de seqüênciae marca de tempo dos pacotes.
Em transmissão de sinais de áudio usando sistemasexemplificados por, mas não limitados, as descrições anteriores, há anecessidade por encobrimento de perda, atraso, instabilidade de atraso, desviode relógio e/ou em sinais representativos, ou parcialmente representativos, dosinal de som. Técnicas da arte anterior para abordar esta tarefa deencobrimento categorizam em métodos de repetição de passo e métodos demodificação em escala de tempo.
Métodos de repetição de passo, às vezes concretizados nomodelo de oscilador, são baseados em uma estimativa do período de passo emfala articulada, ou alternativamente na estimação da freqüência fundamentalcorrespondente do sinal de fala articulada. Dado o período de passo, umquadro de encobrimento é obtido por leitura repetida do último período depasso. Descontinuidades no princípio e fim do quadro de encobrimento eentre cada repetição do período de passo podem ser niveladas usando umprocedimento de adição de sobreposição em janela. Veja Patente número WO0148736 e recomendação da União de Telecomunicações Internacional ITU-TG.711 Apêndice 1 para exemplos do método de repetição de passo.
Sistemas da arte anterior integram encobrimento baseado emrepetição de passo com decodificadores baseados no princípio de codificaçãopreditiva linear. Nestes sistemas, a repetição de passo é tipicamente realizadano domínio de excitação preditiva linear por uma leitura do preditor de longoprazo ou malha de livro-código adaptável. Veja Patente número US5699481,recomendação da União de Telecomunicações Internacional ITU-T G.729, ePedido Para Comentários 3951 da Força-tarefa de Engenharia da Internet paraexemplos de encobrimento baseado em repetição de passo no domínio deexcitação preditiva linear. Os métodos anteriores aplicam para encobrir umaperda ou um atraso crescente, isto é, uma instabilidade de atraso positiva, esituações subfluxo de entrada ou memória temporária de instabilidade ouperto de subfluxo, por exemplo devido a desvio de relógio. Para encobrir umatraso decrescente, uma instabilidade de atraso negativa, ou umtransbordamento de memória temporária de entrada ou instabilidade ou pertode transbordamento, da geração de um sinal de encobrimento encurtado éprecisada. Métodos baseados em passo realizam isto por um procedimento deadição de sobreposição entre um período de passo e um período de passoanterior. Veja Patente número WO 0148736 para um exemplo deste método.
Novamente, isto pode ser realizado enquanto explorandoinstalações presentes em decodificadores preditivos lineares. Como umexemplo, Patente número US5699481 expõe um método pelo qual vetores decontribuição de livro-código fixos são simplesmente descartados do sinal dereprodução, se confiando no estado do livro-código adaptável para assegurarperiodicidade de passo no sinal reproduzido. Com relação a métodos derepetição de passo, um objetivo é uma continuação de sinal sem costura doquadro de encobrimento para o próximo quadro. Patente n° WO 0148736expõe um método para alcançar este objetivo. Pela invenção exposta em WO0148736, este objetivo é alcançado por meio de quadros de encobrimento decomprimento variado em tempo e possivelmente dependente de sinal.Enquanto isto pode assegurar eficazmente continuação de sinal sem costuracom relação a encobrimento de instabilidade de atraso e desvio de relógio,esta solução introduz uma deficiência com relação a sistemas do tipo descritona Figura 4: Seguindo este tipo de encobrimento, uma codificação do encobrimento em quadros de comprimento prefixado fixo que conecta semcostura com os quadros já codificadas que são retransmitidos preferivelmentepela ação de protocolo mínimo 340, não pode ser garantida.
Um problema periódico em repetição de métodos baseados empasso para encobrimento de perda e atraso abruptamente crescente é que arepetição de ciclos de passo faz o som de sinal reproduzido antinatural. Maisespecificamente, este sinal de áudio fica periódico demais. Em casos piores,denominados sons de corda são percebidos no sinal de som reproduzido. Paraaliviar este problema, numerosos métodos existem na arte anterior. Estesmétodos incluem o uso de períodos de repetição que são o dobro ou triplo doperíodo de passo estimado. Como um exemplo, Pedido Para Comentários3951 da Força-tarefa de Engenharia da Internet descreve um método pelo qualduas vezes o período de passo estimado será usado se o período de passoestimado for menos de 10 ms. Como outro exemplo, recomendação da Uniãode Telecomunicações Internacional ITU-T G.711 Apêndice 1 descreve ummétodo pelo qual uma dobra e depois uma triplicação do período de repetiçãosão introduzidos para repetir dois e depois três ciclos de passo em lugar derepetir um único período de passo. Veja recomendação da União deTelecomunicações Internacional ITU-T G.711 Apêndice 1 para uma descriçãocompleta deste método. Além disso, um mistura do sinal de encobrimentocom um sinal aleatório ou componente de sinal com aleatório com um nívelque é dependente do nível de articulação da fala, e uma atenuação gradual dosinal de encobrimento é tipicamente introduzida para aliviar sons de corda. Àsvezes, este sinal como aleatório é derivado por operações no sinalmemorizado ou usando facilidades como livros-código aleatórios que já estãodisponíveis no decodificador. Veja Patente número US5699481,recomendação da União de Telecomunicações Internacional ITU-T G.729, ePedido Para Comentários 3951 da Força-tarefa de Engenharia da Internet paraexemplos de usar tais características. Também atenuação gradual é usada parasuprimir artefatos introduzidos. Enquanto isso, dado o método deencobrimento subjacente, pode ser a melhor escolha como interpretado porum ouvinte em proximidade. Um ouvinte distante, em um cenário comretorno de eco e um filtro adaptável para cancelar este eco, pode interpretar oefeito desta atenuação como predominantemente negativo. Isto é porque aatenuação diminui a persistência da excitação do cancelador de eco adaptável.Por esse meio, o rastreamento disto para o caminho de eco atual degrada, e oouvinte distante pode experimentar um retorno de eco maior.
Métodos de modificação de escala de tempo do tipo descritopor exemplo em Linag, Farber e Girod, "Adaptive Playout Scheduling andLoss Concealment for Voice Communication over IP Networks", IEEETransactions on Multimedia, vol. 5, n° 4, pp. 532-543, Dez. 2003, funcionampor um procedimento de adição de sobreposição lisa casada. Nesteprocedimento, um segmento de sinal é memorizado, mas sinal ainda nãorepresentado é suavemente posto em janela e identificado como o segmentode modelo, subseqüentemente outros segmentos suavemente postos em janelasão pesquisados para identificar o segmento semelhante, onde semelhançapode ser por exemplo na medida de correlação. O segmento de modelosuavemente posto em janela e o segmento semelhante suavemente posto em janela são subseqüentemente sobrepostos e adicionados para produzir o sinalmodificado em escala de tempo. Quando a escala de tempo de representação éestendida, a região de pesquisa para o segmento semelhante é posicionadaantes do segmento de modelo em tempo de amostra. Reciprocamente, quandoa escala de tempo de representação é comprimida, a região de pesquisa para o segmento semelhante é posicionada à frente do segmento de modelo emtempo de amostra. Em métodos de modificação de escala de tempoconhecidos, o comprimento do modelo e segmento semelhante e as janelasaplicado a eles são predefmidos antes de execução da modificação de escalade tempo, estas quantidades não são adaptadas em resposta a característicasdo sinal particular no qual a modificação de escala de tempo é aplicada. Comoobservado em Linag, Farber e Girod, "Adaptive Playout Scheduling and LossConcealment for Voice Communication over IP Networks", IEEETransactions on Multimedia, vol. 5, n° 4, pp. 532-543, Dez. 2003: commodificação de escala de tempo, atrasos de pico não podem ser aliviadosefetivamente de um ponto de partida em uma programação de representaçãode baixo atraso como precisado em comunicação de voz bidirecional emtempo real através de redes de pacote.
Outros métodos com pontos de semelhança para a modificaçãode escala de tempo e métodos de repetição de passo são conhecidos. Um tipoque deveria ser mencionado neste contexto é métodos de encobrimentobaseados senoidalmente. Veja por exemplo Radbro and Jensen, "Time-scalingof Sinusoids for Intelligent Jitter Buffer in Packet Based Telephony", in IEEEProc. Workshop on Speech Coding, 2002, pp. 71-73. Dependendo daquantidade de interpolação, respectivamente repetição de passo que érealizada pelo domínio modelo senoidal por estes métodos, estes métodosestão sujeitos às mesmas limitações como identificadas para a repetição depasso e métodos de modificação de escala de tempo mencionados acima.
Sumário da Invenção
A invenção exposta, ou melhor concretizações dela, diminuemefetivamente as limitações identificadas acima em soluções conhecidas, porexemplo artefatos audíveis, como também outras deficiências nãoespecificadas nas soluções conhecidas.
Especificamente comparando com métodos conhecidosbaseados em repetição de passo, a invenção exposta prove técnicas para gerarsinais de encobrimento representativos do sinal de som, onde estes sinais deencobrimento contêm significativamente artefatos menos perceptivamenteirritantes tais como sons de corda. Por esse meio aliviando uma limitaçãodestes sistemas com qualidade de som percebida diretamente melhorada.Simultaneamente, isto é obtido enquanto ao mesmo tempo introduzindosignificativamente menos atenuação nos sinais de encobrimento. Por essemeio aliviando uma segunda limitação de sistemas baseados em repetição depasso. Este alívio de segunda limitação também dá uma qualidade percebidadiretamente melhorada do sinal de encobrimento no lado terminal próximo dacomunicação. Além disso, o alívio de segunda limitação dá, em sistemas comecos acústicos e um filtro adaptável no terminal próximo para diminuir oefeito de ecos acústicos como percebidos pelo terminal distante, umaqualidade percebida melhorada no lado de terminal distante da comunicação.
Este segundo efeito é obtido porque os sinais de encobrimento da invençãoexposta, porque eles exibem menos atenuação, provêem uma excitação maispersistente para o processo de adaptação do filtro de cancelamento de ecoadaptável. Além disso, a robustez da técnica exposta para ruído de fundoacústico ultrapassa aquela de métodos conhecidos baseados em repetição depasso.
Além disso, e especificamente comparando com métodosconhecidos de modificação de escala de tempo, a invenção exposta habilitaum encobrimento de atrasos de pico em um sistema com programação dememória temporária de saída ou representação de baixo atraso, comoprecisado em comunicação de voz bidirecional em tempo real através de redesde pacote. Por esse meio aliviando esta limitação principal em modificaçãoconhecida de escala de tempo.
Em um primeiro aspecto, a invenção prove um método paragerar uma seqüência de amostras de encobrimento com relação à transmissãode um sinal de áudio digitalizado, em que o método inclui gerar a seqüênciade amostras de encobrimento de amostras de memória temporária darepresentação digitalizadas de sinal de áudio em ordem de tempo de amostra,em que pelo menos duas subseqüências consecutivas de amostras naseqüência de amostras de encobrimento são baseadas em subseqüências deamostras de memória temporária, em que ditas subseqüências de amostras dememória temporária são consecutivas em tempo reordenado.
As definições seguintes se aplicam ao primeiro aspecto e serãousadas ao longo da presente exposição. Por uma "amostra" é compreendidouma amostra se originando de um sinal de áudio digitalizado ou de um sinalderivado dele ou coeficientes ou parâmetros representativos de tais sinais,estes coeficientes ou parâmetros sendo avaliado escalar ou vetor. Por um"quadro" é compreendido um conjunto de amostras sucessivas, usando adefinição de amostra acima. Por "subseqüência" é compreendido um conjuntode uma ou mais amostras consecutivas, usando a definição anterior deamostra. Assim, em um caso especial, uma subseqüência iguala uma amostra.
No caso de uso de por exemplo adição de sobreposição, duas subseqüênciasconsecutivas podem incluir amostras sobrepostas.
Dependendo da escolha de quadros, um subseqüência pode se estender entre dois quadros consecutivos. Em concretizações preferidas,subseqüências são arranjadas tal que uma subseqüência não possa ser umsubconjunto de outra subseqüência.
Preferivelmente, as pelo menos duas subseqüênciasconsecutivas de amostras na seqüência de amostras de encobrimento são baseadas em subseqüências de amostras de memória temporária, em que ditassubseqüências de amostras de memória temporária são consecutivas emordem de tempo inversa. Assim, em concretizações preferidas, uma seqüênciade amostras de encobrimento inclui subseqüências consecutivas, tais comoamostras consecutivas que são baseadas em amostras de memória temporáriaconsecutivas em ordem de tempo inversa. Por exemplo duas, três, quarto ouate mesmo mais subseqüências consecutivas de amostras na seqüência deamostras de encobrimento podem ser baseadas em subseqüências de amostrasde memória temporária que são consecutivas em ordem de tempo inversa. Emoutras palavras, a seqüência de encobrimento gerada preferivelmente inclui partes que são baseadas em uma reprodução inversa mais ou menos direta deamostras de memória temporária. Em uma concretização preferida, aseqüência de amostras de encobrimento inclui um conjunto de amostrasconsecutivas de amostras de memória temporária em ordem de tempo inversa.Calculando pelo menos parte de uma seqüência de amostras de encobrimentobaseado em amostras de memória temporária usando este esquema dereordenação ou ordenação inversa prove uma seqüência de encobrimentosonora mais natural sem sofrer de efeitos sonoros de corda da arte anterior eajuda a eliminar ou reduzir vários outros artefatos igualmente.
O método descrito tem um grande número de vantagens comrelação a sistemas de comunicação, por exemplo sistemas de VoIP. Sinais defala digitalizados aqui são transmitidos em quadros e onde a comunicaçãoestá sujeita à perda de quadro e instabilidade e uma necessidade por umaseqüência de encobrimento de amostras para pelo menos reduzir parcialmenteruptura do sinal altamente audível e irritante.
Em concretizações preferidas, um local de ditas amostras dememória temporária está localizado em um ponto que evolui gradualmentepara trás e adiante em tempo de amostra durante a geração da seqüência de.amostras de encobrimento. Isto pode ser implementado por um gerador depadrão de índice que controla esta evolução temporal. Analisando amostras dememória temporária, este gerador de padrão de índice seleciona o começo,paradas e velocidades de passagens de evolução temporais inversas, tambémcontrola começo de evolução dianteira, paradas e velocidades, e um padrãopor qual evolução temporal inversa e evolução temporal dianteira sãoseqüenciadas para produzir uma seqüência de encobrimento naturalmentesonora.
A seqüência de amostras de encobrimento pode começar comum subseqüência baseada em uma subseqüência de amostras de memóriatemporária que é última em ordem de tempo.
A reordenação em tempo de subseqüências podem ser baseadaem um processo seqüencial de indexar e ler amostras adiante em tempo erecuando em tempo. Preferivelmente, o processo seqüencial de indexar e leramostras inclui a etapa de:
a) indexar uma amostra de memória temporária seguindovárias amostras de memória temporária para trás em ordem de tempo, seguidopelo etapa de:
b) ler várias amostras de memória temporária adiante emordem de tempo, começando com a amostra de memória temporária indexadana etapa a), e usar as amostras lidas para cálculo de um subseqüência daseqüência de amostras de encobrimento,
em que o número de amostras de memória temporária lidasadiante é diferente do número de amostras de memória temporária seguidaspara trás. Com este número sendo diferente, a periodicidade que conduz asons de corda antinaturais é evitada. O método é adicionalmente chamado"recuos" e "comprimentos de leitura" na descrição detalhada deconcretizações no seguinte.
O número de amostras de memória temporária lidas adiantepode ser maior ou menor que o número de amostras de memória temporáriaseguidas para trás. Preferivelmente, o número de amostras de memóriatemporária lidas adiante é menor que o número de amostras de memóriatemporária seguidas para trás. Esta escolha provera um método que evoluigradualmente adicionalmente atrás em tempo nas amostras de memóriatemporária e assim prove uma seqüência de encobrimento onde amostrassubseqüentes são gradualmente baseadas em amostras de memória temporáriamais antigas, onde depois uma evolução dianteira é iniciada.
As subseqüências da seqüência de amostras de encobrimentopodem ser calculadas de subseqüências das amostras de memória temporáriaenvolvendo um procedimento de adição de sobreposição ponderada. Asfunções de ponderação em dito procedimento de adição de sobreposiçãoponderada podem ser adicionalmente uma função de freqüência. Oprocedimento de adição de sobreposição ponderada pode ser modificado emresposta a um indicador de qualidade de casamento, este indicador dequalidade de casamento sendo uma medida em duas ou mais subseqüênciasde amostras que entram no procedimento de adição de sobreposiçãoponderada.
A reordenação em tempo pode ser descrita parcialmente poruma evolução para trás e adiante de um ponteiro de localização.
Preferivelmente, a evolução para trás de dito ponteiro de localização estálimitada pelo uso de um critério de parada. O critério de parada para ditaevolução para trás, o passo (ou velocidade) de dita evolução para trás eadiante, e o número de ditas evoluções para trás iniciadas podem serotimizados juntamente como otimizar a qualidade de som quando interpretada por um ouvinte humano.
Preferivelmente, uma operação de nivelação e equalização éaplicada às amostras de memória temporária. Isto pode ser feito tanto antesque as amostras sejam memorizadas temporariamente, enquanto na memóriatemporária, ou logo antes que as amostras sejam usadas para calcularamostras de encobrimento. Os critérios de parada para a evolução para trás, opasso de dita evolução adiante e dita evolução para trás, o número de ditasevoluções para trás iniciadas, e a operação de nivelação e equalização podemser otimizados juntamente como otimizar a qualidade de som quandointerpretado por um ouvinte humano.
As evoluções para trás e adiante do ponteiro de localizaçãopodem ser otimizadas juntamente como otimizar a qualidade de som quandointerpretado por um ouvinte humano.
Preferivelmente, uma filtragem de fase é aplicada paraminimizar descontinuidades em limites entre a seqüência de amostras de encobrimento e uma quadro consecutivo de amostras. Introduzir filtragem defase ajuda a reduzir os problemas de descontinuidade bem conhecidos aointroduzir uma seqüência de encobrimento. Em casos onde tal filtragem defase é aplicada, a otimização associada mencionada também pode incluirdistorção de sinal introduzida pela filtragem de fase como otimizar aqualidade de som quando percebido por um ouvinte humano.
Uma mistura de ruído pode ser introduzida na seqüência deamostras de encobrimento. Especialmente, uma mistura de ruído pode serintroduzida na seqüência de amostras de encobrimento, e em que dita misturade ruído é modificada em resposta ao processo seqüencial de indexaramostras adiante em tempo e recuando em tempo. Em tais casos, o processoseqüencial de indexar amostras adiante em tempo e recuar em tempo e ditaresposta a isto pode incluir o uso de uma indicação de qualidade decasamento.
Uma função de atenuação pode ser aplicada na seqüência deamostras de encobrimento. Especialmente, tal função de atenuação pode sermodificada em resposta ao processo seqüencial de indexar amostras adianteem tempo e recuando em tempo. O processo seqüencial de indexar amostrasadiante em tempo e recuando em tempo e dita resposta a isto pode incluir o uso de uma indicação de qualidade de casamento.
Preferivelmente, um número resultante de amostras naseqüência de amostras de encobrimento é prefixado, por exemplo um númerode amostras em um quadro de encobrimento pode ser fixado. O número deamostras é preferivelmente independente de características do sinal de áudiodigitalizado. O número prefixado de amostras tem um valor inteiro prefixadopreferivelmente na gama 5-1000, tal como na gama 20-500, dependendopreferivelmente da freqüência de amostra atual.
A seqüência de amostras de encobrimento pode ser incluídaem um quadro de encobrimento. O método pode adicionalmente incluir gerarpelo menos um segundo quadro de encobrimento consecutivo para o primeiroquadro de encobrimento, o segundo quadro incluindo uma segunda seqüênciade amostras de encobrimento. As seqüências de amostras de encobrimento noprimeiro e segundo quadros de encobrimento são preferivelmente diferentes,isto é, cópias consecutivas de quadros de encobrimento são preferivelmenteevitadas. Usar quadros incluindo seqüências de encobrimento diferentesconduz a um encobrimento naturalmente sonoro. Preferivelmente, o primeiroe segundo quadros de encobrimento incluem o mesmo número de amostras.
Preferivelmente, pelo menos uma subseqüência de amostras nosegundo quadro de encobrimento é pelo menos parcialmente baseado emsubseqüências de amostras de memória temporária adicionalmente atrás emtempo que qualquer das subseqüências de amostras incluídas no primeiroquadro de encobrimento. Assim, quadros de encobrimento subseqüentes sãopreferivelmente baseados em amostras de memória temporária mais antigas.
Em um segundo aspecto, a invenção prove um código deprograma executável por computador adaptado para executar o método deacordo com o primeiro aspecto. Tal código de programa pode ser escrito emuma forma dependente de máquina ou independente de máquina e emqualquer linguagem de programação tal como código de máquina oulinguagem de programação de nível mais alto.
Em um terceiro aspecto, a invenção prove um dispositivo dearmazenamento de programa incluindo uma seqüência de instruções para ummicroprocessador, tal como um microprocessador de propósito geral, paraexecutar o método do primeiro aspecto. O dispositivo de armazenamentopode ser qualquer tipo de meio de memória de dados como discos, cartões dememória ou hastes de memória, discos rígidos, etc.
Em um quarto aspecto, a invenção prove um arranjo, porexemplo um dispositivo ou aparelho, para receber um sinal de áudiodigitalizado, o arranjo incluindo:
- meio de memória para armazenar amostras representativas deum sinal de áudio digitalizado recebido, e
- meio de processador para executar o método do primeiroaspecto.
Implementando esta invenção com meios adequados, como osdescritos para as concretizações preferidas abaixo, habilita um decodificador esistema de encobrimento e/ou um transcodificador e sistema de encobrimentoencobrir eficazmente seqüências de pacotes perdidos ou atrasados semintroduzir artefatos percep ti vãmente irritantes. Além disso, isto é realizadocom robustez para ruído de fundo acústico e múltiplos alto-falantes e semintroduzir um desvanecimento rápido. A robustez aumentada é obtida porcausa da consistência de método, pela evolução temporal, é menosdependente em periodicidade de sinal rígida que são métodos baseados emrepetição. Por esse meio, nossa invenção habilita comunicação bidirecional dealta qualidade de fala em situações com ruído de fundo acústico, eco acústicoe/ou desvio de relógio severo, perda de canal e/ou instabilidade de atraso.
Breve Descrição dos Desenhos
No seguinte, a invenção é descrita em mais detalhes comreferência às figuras acompanhantes, das quais:
Figura 1 é um diagrama de bloco ilustrando um sistema detransmissão de som comutado por pacote de ponta a ponta conhecido sujeitoaos efeitos de perda, atraso, instabilidade de atraso e/ou desvio de relógio;
Figura 2 é um subsistema de receptor exemplar realizandomemorização de instabilidade, decodificação e encobrimento e memorizaçãode representação sob o controle de uma unidade de controle;
Figura 3 é um diagrama de bloco ilustrando um subsistema deretransmissão de um canal comutado por pacote, sujeito aos efeitos de desviode relógio, perda, atraso e instabilidade de atraso;
Figura 4 é um subsistema de retransmissão exemplarrealizando memorização de entrada, memorização de saída, e quandonecessário, transcodificação e encobrimento sob o controle de uma unidade decontrole;
Figura 5 é um diagrama de bloco ilustrando um conjunto deconcretizações preferidas da presente invenção;Figura 5A é um esboço ilustrativo de subseqüências emquadros de encobrimento começando com subseqüências sendo baseadas nasúltimas subseqüências de memória temporária em ordem de tempo inversa;
Figura 5B ilustra outro exemplo de uma seqüência maior de subseqüências em quadros de encobrimento começando com as últimas duassubseqüências de memória temporária em ordem de tempo inversa, e ondesubseqüências consecutivas são baseadas em subseqüências de memóriatemporária adicionalmente atrás em tempo;
Figura 5C ilustra os índices de contagem de amostra em umpadrão de indexação formatado por recuos e comprimentos de leitura;
Figura 6 é um esboço ilustrativo de sinais envolvidos nafunção de indexação e interpolação;
Figura 7 é um fluxograma ilustrando um possível modo paraimplementar uma lógica de decisão para critérios de parada;
Figura 8 é um fluxograma ilustrando um possível modo pararealizar uma otimização associada iterativa de nivelação e equalização,critérios de parada e o número de repetições permitidas;
Figura 9 ilustra o uso de deslocamento circular e adição desobreposição com relação a iniciar e alimentar um filtro de ajuste de fase; e
Figura 10 ilustra uma concretização do procedimento deadição de sobreposição ponderada.
Enquanto a invenção é suscetível a várias modificações eformas alternativas, concretizações específicas foram mostradas por meio deexemplo nos desenhos e serão descritas em detalhes aqui. Deveria serentendido, porém, que a invenção não é pretendida ser limitada às formasparticulares expostas. Em lugar disso, a invenção é para cobrir todas asmodificações, equivalentes e alternativas caindo dentro do espírito e extensãoda invenção como definida pelas reivindicações anexas.Descrição das Concretizações PreferidasO método inventivo é ativado na unidade de decodificação eencobrimento 420 de um receptor tal como o na Figura 2 ou é ativado naunidade de transcodificação e encobrimento 330 de uma retransmissão talcomo a na Figura 4 ou em qualquer outro local em um sistema decomunicação onde sua ação é adequada. Nestes locais, vários quadros de sinalmemorizados estão disponíveis e vários quadros de encobrimento sãoqueridos. Os quadros de sinal disponíveis e quadros de encobrimento queridospodem consistir em amostras de domínio de tempo de um sinal de áudio, porexemplo um sinal de fala, ou elas podem consistir em amostras derivas disso,tais como amostras de excitação de predição linear, ou elas podem consistirem outros coeficientes derivados do sinal de áudio e representativoscompletamente ou parcialmente de quadros de sinal de som. Exemplos de taiscoeficientes são coeficientes de domínio de freqüência, coeficientes demodelo senoidal, coeficientes de codificação preditiva linear, coeficientes deinterpolação de forma de onda, e outros conjuntos de coeficientes que sãorepresentativos completamente ou parcialmente das amostras de sinal deáudio.
Figura 5 ilustra uma concretização preferida da invenção.Seguindo a Figura 5, os quadros de sinal 595 disponíveis, que podem serrecebidos e decodificados ou quadros de sinal transcodificados ou quadros deencobrimento de operação anterior disto ou outros métodos para gerarquadros de encobrimento ou uma combinação dos supracitados tipos dequadros de sinal, são armazenados em uma memória temporária de quadro600. O sinal no memória temporária de quadro é analisado por um gerador depadrão de índice 660. O gerador de padrão de índice pode vantajosamentefazer uso de estimativas de passo de sinal 596 e articulação 597. Dependendodo projeto de sistema global, estas estimativas podem estar disponíveis paraentrada de outros processos tal como um processo de codificação,decodificação ou transcodificação ou eles são calculados por outros meiosusando preferivelmente métodos do estado da arte para análise de sinal. Alémdisso, o gerador de padrão de índice toma como entrada o número 598 dequadros de sinal de encobrimento para gerar e ponteiros 599 para o começo efim dos quadros de sinal particulares na memória temporária de quadro que oquadro ou quadros de encobrimento são para substituição. Como um exemplo,se estas memórias temporárias apontarem para o fim da memória temporáriade quadro, então isto significa que o quadro ou quadros de encobrimentodeveriam ser feitos adequados para seguir o sinal armazenado no memóriatemporária de quadro. Como outro exemplo, se estes ponteiros mostrarem umsubconjunto não vazio de quadros consecutivos na memória temporária dequadro, então isto significa que o quadro ou quadros de encobrimentodeveriam ser feitos para substituir estes quadros na seqüência de quadrorepresentativa ou parcialmente representativa do sinal de som. Para ilustrar isto adicionalmente, assuma que a memóriatemporária de quadro 600 contém quadros de sinal A, B, C, D, E, e que onúmero de quadros de encobrimento 598 é dois. Então, se os ponteiros paroquadros para substituir 599 pontos ao fim da memória temporária de quadro,isto significa que dois quadros de sinal de encobrimento deveriam ser feitosseguirem em seqüência depois de quadro de sinal E. Reciprocamente, se osponteiros 599 mostrarem quadros de sinal B, C, D, os dois quadros deencobrimento deveriam ser feitos substituir os quadros de sinal B, C, D eseguirem em seqüência depois de quadro de sinal A e serem seguidos emseqüência por quadro de sinal E. Métodos interessados para determinar o número de quadros deencobrimento 598 e o subconjunto de quadros que os quadros deencobrimento deveriam substituir eventualmente, isto é, os ponteiros 599,métodos do estado da arte deveriam ser usados preferivelmente. Assim, osdados 596, 597, 598, e 599 junto com os quadros de sinal 595 constituementradas para o dispositivo de método e arranjo da presente invenção.Em certos projetos de sistema global, o comprimento oudimensão de um quadro de sinal de som mantido vantajosamente como umaconstante durante a execução da unidade de encobrimento. Entre outroscenários, este é tipicamente o caso quando a unidade de encobrimento éintegrada em um sistema de retransmissão, onde o resultado do encobrimentodeveria ser posto em pacotes representativos de sinal de som dentro de umintervalo de tempo de comprimento prefixado, este comprimento prefixadosendo determinado em outro lugar. Como um exemplo, este comprimentoprefixado pode ser determinado durante as negociações de protocolo duranteuma chamada estabelecida em um sistema de Voz através de IP, e pode seralterado durante a conversação em resposta a por exemplo mecanismos decontrole de congestão de rede. Algumas concretizações da presente invenção,como ficará claro mais tarde, satisfazem este requisito de trabalhar com umcomprimento prefixado de um quadro de sinal de um modo vantajoso. Porém,a inovação como tal não está limitada a estes requisitos de sistema; outrasconcretizações da presente inovação podem trabalhar com encobrimentos quesão um número não inteiro de quadros, e quadros de encobrimento que têmcomprimentos variados em tempo, e onde estes comprimentos podem serfunções do conteúdo específico na memória temporária de quadro,possivelmente em combinação com outros fatores.
Concretizações da presente invenção podem vantajosamentefazer uso de uma operação de nivelação e equalização 610 operando no sinal605 da memória temporária de quadro. Esta nivelação e equalização gera umsinal 615, em que quadros mais cedo em tempo que o quadro ou quadros deencobrimento têm uma semelhança aumentada com o quadro ou quadros desinal que o quadro ou quadros de encobrimento substituem ou um quadroimediatamente antes disso. Alternativamente, se o quadro ou quadros deencobrimento forem inseridos em seqüência com os quadros existentes semsubstituição, semelhança é com o quadro ou quadros imediatamente antes daposição planejada do quadro ou quadros de encobrimento. Para referênciaposterior, nós simplesmente chamamos ambos estes casos como semelhança.Semelhança é como interpretado por um ouvinte humano. A nivelação eequalização obtém um sinal com semelhança aumentada, enquanto ao mesmotempo preservando uma evolução naturalmente sonora do sinal 615.
Exemplos de operações crescentes de semelhança que são executadasvantajosamente pela nivelação e equalização 610 incluem suavidadeaumentada e semelhança em parâmetros tais como envelope de energia,contorno de passo, grau de articulação, corte de articulação e envelope espectral, e outros parâmetros perceptivamente importantes.
Relativo a cada um destes parâmetros, transientes abruptos emevolução do parâmetro dentro dos quadros a serem nivelados e equalizadossão filtrados fora e o nível médio do parâmetro nestes quadros é modificadosuavemente para se tornar mais semelhante no significado de semelhançadefinido acima. Vantajosamente, semelhança só é introduzida a uma extensãoque ainda preserva uma evolução naturalmente sonora do sinal. Sob ocontrole do gerador de padrão de índice 660, a nivelação e equalização podemvantajosamente diminuir transientes e descontinuidades que podem casocontrário ocorrer na operação de indexação e interpolação 620 seguinte.
Além disso, a nivelação e equalização de contorno de passo pode servantajosamente controlados pelo gerador de padrão de índice 660 de tal modoa minimizar a distorção que é introduzida eventualmente caso contrário nosquadros de encobrimento mais tarde pelo filtro de fase 650.
A operação de nivelação e equalização pode vantajosamente fazer uso de sinal ousubstituição de parâmetro, mistura, interpolação e/ou fusão com quadros desinal (ou parâmetros derivados dele) achados adicionalmente atrás em tempona memória temporária de quadro 600. A operação de nivelação e equalização610 pode ser omitida do sistema sem desviar da extensão geral da presenteinvenção. Neste caso, o sinal 615 iguala ao sinal 605 e a entrada de sinal 656e saída de controle 665 do gerador de padrão de índice 660 podem nesse casoser omitidas do projeto de sistema.
A operação de indexação e interpolação 620 toma comoentrada, possivelmente. nivelado e equalizado, o sinal 615, e um padrão deíndice 666. Além disso, em algumas concretizações vantajosas da presenteinvenção, a operação de indexação e interpolação leva um indicador dequalidade de casamento 667 como entrada. O indicador de qualidade decasamento pode ser um valor escalar por instante de tempo ou pode ser umafunção de ambos tempo e freqüência. O propósito do indicador de qualidadede casamento se tornará aparente mais tarde nesta descrição. O padrão deíndice 666 parametriza a operação da função de indexação e interpolação.
Figura 5A ilustra um exemplo de como um padrão de índicepode indexar subseqüências nas amostras de memória temporária, BS1, BS2,BS3, BS4, gradualmente para trás em tempo na síntese de um ou maisquadros de encobrimento. No exemplo mostrado, subseqüências consecutivasCS1, CS2, CS3, CS4, CS5, CS6, CS7 nos quadros de encobrimento CF1,CF2, CF3 são baseadas em subseqüências de memória temporária BS1, BS2,BS3 e BS4 de amostras em quadros BF1, BF2. Como visto, as subseqüênciasde encobrimento CS1-CS7 são indexadas das subseqüências de memóriatemporária BS1-BS4 com um ponteiro de localização que se movegradualmente para trás e então gradualmente adiante em tempo comoexpresso pela notação funcional CS1(BS4), CS2(BS3), CS3(BS2),significando que CS1 é baseado em BS4, e assim por diante. Assim, Figura5A serve como um exemplo de ilustrar como subseqüências consecutivas emquadros de encobrimento podem seguir uma a outra, baseado emsubseqüências de memória temporária consecutivas, mas reordenadas emtempo. Como visto, as primeiras quatro subseqüências de encobrimentoCS1(BS4), CS2(BS3), CS3(BS2) e CS4(BS1) são escolhidas para serembaseadas nas últimas quatro subseqüências de amostras de memóriatemporária BS1, BS2, BS3, BS4, em ordem consecutiva, mas em ordem detempo inversa, assim começando com a última subseqüência de memóriatemporária BS1. Depois das primeiras quatro subseqüências em ordem detempo inversa, três subseqüências CS5, CS6, CS7 seguem que são todasbaseadas em subseqüências de memória temporária consecutivas em ordemde tempo, isto é BS2, BS3 e BS4, respectivamente. O padrão de índicepreferido é um resultado do gerador de padrão de índice 660 e pode variargrandemente com entradas 656, 596, 597, 598 e 599 para este bloco.
Figura 5B dá, seguindo a notação da Figura 5A, outro exemplo ilustrativo de comosubseqüências de encobrimento CS 1-CS 11 podem ser baseadas emsubseqüências de memória temporária BS1-BS4 que reordenação em tempo.
Como visto, subseqüências de encobrimento posteriores são baseadasgradualmente em subseqüências de memória temporária adicionalmente atrásem tempo. Por exemplo, as primeiras duas subseqüências de encobrimentoconsecutivas CS1 e CS2 são baseadas nas últimas duas subseqüências dememória temporária BS3, BS4, em ordem de tempo inversa, enquanto umasubseqüência encobrimento posterior por exemplo, CS 10 é baseada em BS1,isto é, uma subseqüência de memória temporária adicionalmente atrás emtempo que aquelas usadas para calcular CS1 e CS2. Assim, Figura 5B serve para ilustrar que subseqüências de encobrimento consecutivas são baseadasem subseqüências de memória temporária indexadas adiante e para trás emtempo de uma maneira de forma que a indexação evolua gradualmente paratrás em tempo.
Em concretizações vantajosas da presente invenção, estaevolução gradual para trás em tempo é formalizada como uma seqüência doque nós para o propósito desta descrição chamamos recuos e uma seqüênciado que nós para o propósito desta descrição chamamos comprimentos deleitura. Em concretizações simples deste formato do padrão de índice, umponteiro para sinalizar amostras, ou parâmetros ou coeficientesrepresentativos disso, é movido para trás por uma quantidade igual a umprimeiro recuo depois do qual, uma quantidade de amostras, ou parâmetros oucoeficientes representativos disso, são inseridos no quadro de encobrimento,esta quantidade sendo igual a um primeiro comprimento de leitura. Depoisdisso, o ponteiro é movido para trás com uma quantidade igual a um segundorecuo e uma quantidade de amostras, ou parâmetros ou coeficientesrepresentativos disso, igual a um segundo comprimento de leitura é lido, eassim sucessivamente.
Figura 5C ilustra um exemplo deste processo reordenando umaprimeira enumeração de amostras indexadas. Esta primeira enumeração élistada no eixo de tempo de sinal enquanto a lista de enumeração no eixo detempo de encobrimento da Figura 5C corresponde à reordenação das amostrasoriginais como elas são colocadas no quadro de encobrimento. Para esteexemplo ilustrativo, o primeiro, segundo e terceiro recuos eram escolhidosarbitrariamente como 5, 6, 5, respectivamente, e o primeiro, segundo eterceiro comprimentos de leitura eram escolhidos igualmente arbitrariamentecomo 3, 4, 3, respectivamente. Neste exemplo, as subseqüências comconjuntos de índice de tempo {6,7,8}, {3,4,5,6} e {2,3,4}, respectivamente,são subseqüências que evoluem gradualmente para trás em tempo. Asseqüências de recuos e comprimentos de leitura são escolhidas aquipuramente para o propósito de ilustração. Com amostras de fala residuaisamostradas a 16 kHz como um exemplo, valores típicos de recuos estão nafaixa de 40 a 240, mas não estão limitados a esta faixa, e valores típicos paraos comprimentos de leitura estão na faixa de 5 a 1000 amostras, mas nãoestão limitados a esta faixa. Em concretizações mais avançadas deste formato,a transição de uma seqüência dirigida adiante (por exemplo, tempo original ouuma subseqüência indexada atrás em tempo) para outra seqüência dirigidaadiante, um recuo adicionalmente em tempo, é feita gradualmente por umainterpolação gradualmente deslocada.Figura 6 ilustra a operação de uma concretização simples dafunção de indexação e interpolação em resposta a um recuo e umcomprimento de leitura correspondente e indicador de qualidade decasamento. Só para o propósito de ilustração, quadros de sinal consistem aquiem amostras de áudio de domínio de tempo. A interpolação gradualmentedeslocada se aplica na definição geral de "amostra" usada nesta descrição, istoé, incluindo coeficientes escalares ou vetor avaliado ou parâmetrosrepresentativos das amostras de áudio de domínio de tempo, de uma maneirasemelhante e por esse meio direta. Nesta figura, 700 ilustra um segmento do sinal 615. O ponteiro 705 é o instante de tempo de amostra seguindo oinstante de tempo de amostra da última amostra gerada no sinal de saída deindexação e interpolação 625. O intervalo de tempo 750 tem um comprimentoigual ao comprimento de leitura. O intervalo de tempo 770 também tem umcomprimento igual ao comprimento de leitura. O intervalo de tempo 760 temum comprimento igual ao recuo. As amostras de sinal em 700 a partir detempo 705 e comprimento de leitura adiante em tempo são um por ummultiplicados com uma função de janela 720. Também as amostras de sinalem 700 começando em um local uma amostra depois de recuo antes do local706 e amostras de comprimento de leitura à frente de lá são multiplicadas uma por uma com uma função de janela 710. As amostras resultantes demultiplicação com janela 710 e com janela 720 são adicionadas uma por uma730 para resultar nas amostras 740 que constituem um novo lote de amostraspara a saída 625 da operação de indexação e interpolação. Na conclusão destaoperação, o ponteiro 705 se move para o local 706.
Em concretizações simples da presente invenção, as funçõesde janela 710 e 720 são funções simples do comprimento de leitura 750. Umatal função simples é escolher a janela 710 e a janela 720 como a primeira esegunda metades, respectivamente, de uma janela de Hanning decomprimento duas vezes o comprimento de leitura. Enquanto uma amplagama de funções pode ser escolhida aqui, observe que para tais funções seremsignificantes no contexto da presente invenção, elas devem realizar umainterpolação ponderada entre as amostras no segmento indicado por 750 e asamostras indicadas por 770 de tal modo que nós gradualmente, mas nãonecessariamente monotonicamente, movamos de um peso alto no segmentoindicado por 750 a um peso alto no segmento indicado por 770.
Em outras concretizações da presente invenção, as funções dejanela 710 e 720 são funções do indicador de qualidade de casamento. Umexemplo simples de uma tal função é que, dependendo de um limiar emcorrelação normalizada nos segmentos do sinal 700 indicado por intervalos detempo 750 e 770, uma operação de interpolação é escolhida para tanto somara unidade em amplitudes ou em potências. Outro exemplo de tal função evitao constrangimento para englobar amplitudes ou potências a um, mas ao invéssó otimiza pesos de janela como uma função da medida de casamento.Refinamento adicional deste método toma o valor real da correlaçãonormalizada e otimiza a operação de interpolação em resposta a ele, porexemplo usando métodos de estimação linear clássicos. Porém, exemplos demétodos preferidos são descritos no seguinte. Nestes exemplos, o limiar,respectivamente o valor atual de correlação normalizada dá exemplos deinformação vantajosa levada pelo indicador de qualidade de casamento 667.De acordo com concretizações preferidas descritas no seguinte, a operação deinterpolação pode ser feita para implementar ponderações diferentes afreqüências diferentes. Neste caso, o indicador de qualidade de casamento 667pode vantajosamente fazer medições de casamento como uma função defreqüência. Em concretizações vantajosas, esta ponderação como uma funçãode freqüência é implementada como uma linha de atraso com derivações ououtra forma de filtro paramétrico que pode ser otimizado para maximizar ocritério de casamento.
Na Figura 6, uma ilustração é dada da operação de indexação einterpolação quando o sinal 615 (e portanto o segmento de sinal 700) contémamostras que são representativas de amostras de domínio de tempo de umsinal de som ou de um sinal de domínio de tempo derivado dele. Comomencionado acima, amostras em quadros 595, e por esse meio em sinais 605 e 615, podem ser vantajosamente tais que cada amostra seja um vetor (amostrasavaliadas de vetor) onde um tal vetor contém coeficientes ou parâmetros quesão representativos ou parcialmente representativos do sinal de som.Exemplos de tais coeficientes são freqüências espectrais de linha, coeficientesde domínio de freqüência, ou coeficientes definindo um modelo de sinalsenoidal, tais como conjuntos de amplitudes, freqüências e fases. Com umabase nesta descrição detalhada de concretizações preferidas da presenteinvenção, o projeto de operações de interpolação que são aplicadasvantajosamente a amostras avaliadas de vetor é possível- a uma pessoaqualificada na arte, como os detalhes restantes podem ser achados descritos na literatura geral para cada um dos casos específicos de tais amostras avaliadasde vetor.
É vantajoso para a compreensão da presente invenção observarque quando a operação de indexação e interpolação é aplicada repetidamentecom um comprimento de leitura que é menor do que o recuo, então oresultado será que as amostras no sinal 625 se tornam representativas deamostras de sinal que são gradualmente adicionais e adicionalmente de voltano sinal 615. Quando então o recuo ou comprimento de leitura é mudado talque o comprimento de leitura fique maior que o recuo, então este processovirará e amostras no sinal 625 agora se tornam representativas de amostras de sinal que são gradualmente cada vez mais adiante no sinal 615. Por escolhavantajosa da seqüência de recuos e da seqüência de comprimentos de leitura,um sinal de encobrimento longo com variação rica e natural pode ser obtidosem pedir amostras à frente em tempo do quadro de sinal recebido maisrecente na memória temporária de quadro 600 ou até mesmo sem pediramostras à frente de outro instante de tempo prefixado, que pode serlocalizado mais cedo que a amostra mais recente no quadro recebido maisrecente na memória temporária de quadro 600. Por esse meio, encobrimentode picos de atraso em um sistema com representação de baixo atraso ouprogramação de memória temporária de saída se torna possível com apresente invenção. Na formulação da presente descrição, a evolução temporalretrógrada simples rígida do sinal, que pode ser útil para pensar de como umelemento em uma concretização simples da presente invenção, é realizada poruso repetido de um comprimento de leitura de uma amostra, um recuo de duasamostras e uma janela 720 incluindo uma única amostra de valor 0 e umajanela 710 incluindo uma única amostra de valor 1,0.
O objetivo primário do gerador de padrão de índice 660 écontrolar a ação da operação de indexação e interpolação 620. Em umconjunto de concretizações preferidas, este controle é formalizado dentro epadrão de indexação 666, que pode consistir em uma seqüência de recuos euma seqüência de comprimentos de leitura. Este controle pode ser aumentadoadicionalmente com uma seqüência de indicações de qualidade de casamento,que por sua vez podem ser funções por exemplo de freqüência. Umacaracterística adicional, que pode ser saída do gerador de padrão de índice, equal uso se tornará claro mais tarde nesta descrição é uma contagem derepetição 668. O significado de contagem de repetição é o número de vezesque uma evolução recuada em tempo é iniciada na construção do quadro ouquadros de encobrimento. O gerador de padrão de índice obtém estasseqüências de uma base em informação, que pode incluir o sinal nivelado eequalizado 656 saído da operação de nivelação e equalização 610; umaestimativa de passo 596, uma estimativa de articulação 597, um número 598de quadros de encobrimento para gerar e ponteiros 599 para os quadros asubstituir. Em uma concretização do gerador de padrão de índice, ele entraráem modos diferentes dependendo do indicador de articulação. Tais modos sãoexemplificados abaixo.
Como um exemplo vantajosamente usado no domínio deexcitação preditiva linear, se o indicador de articulação indicar robustamenteque o sinal é fala não articulada ou que nenhuma fala ativa está presente nosinal, isto é, o sinal consiste em ruído de fundo, o gerador de padrão de índicepode entrar em um modo no qual uma reversão simples da evolução temporaldas amostras de sinal é iniciada. Como descrito anteriormente, isto pode serrealizado por exemplo submetendo uma seqüência de valores de recuo igual adois e uma seqüência de valores de comprimento de leitura igual a um (estadescrição é baseada na escolha de projeto que a própria operação deindexação e interpolação identificará estes valores e aplicará a função dejanela adequada como descrito acima). Em alguns casos, esta seqüência podecontinuar até que uma evolução temporal inversa do sinal tenha sidoimplementada para metade do número de amostras novas precisadas noquadro ou quadros de encobrimento, depois do que, os valores na seqüênciade recuo podem mudar a 0, por meio de que uma evolução temporal dianteirado sinal é começada, e continuar até que o ponteiro 706 esteja efetivamenteatrás no ponto de partida para o ponteiro 705 na primeira aplicação do recuo.Porém, este procedimento simples não será sempre suficiente paro quadros deencobrimento de alta qualidade. Uma tarefa importante do gerador de padrãode índice é a monitoração de critérios de parada adequados. No exemploanterior, a evolução temporal inversa pode retornar o ponteiro 706 a umaposição no sinal a qual o som, como interpretado por um ouvinte humano, ésignificativamente diferente do ponto de partida. Antes que isto ocorra, aevolução temporal deveria ser virada.
Concretizações preferidas da presente invenção podem aplicarum conjunto de critérios de parada baseado em um conjunto de medidas. Oseguinte exemplifica algumas destas medidas e critérios de parada. Se aarticulação indicar que o sinal no ponteiro 706 é articulado, então no exemploanterior começando de não articulada, a direção de evolução temporal pode ser virada vantajosamente, também se a energia de sinal em uma área ao redor ao ponteiro 706 for diferente (como determinado por um limiar absoluto ou relativo) da energia de sinal no ponto de partida para o ponteiro 705, a direção de evolução temporal pode ser vantajosamente virada. Como um terceiro exemplo, a diferença espectral entre uma região ao redor do ponto de partida para o ponteiro 705 e a posição atual do ponteiro 706 podem exceder um limiar e a direção de evolução temporal deveria ser virada.
Um segundo exemplo de um modo pode ser evocado quando o sinal não pode ser determinado robustamente como não articulado ou não contendo nenhuma fala ativa. Neste modo, a estimativa de passo 596 constitui uma base para determinar o padrão de índice. Um procedimento para fazer isto é que cada recuo seja pesquisado para dar uma correlação normalizada maximizada entre o sinal de ponteiro 705 e um ciclo de passo à frente em tempo e o sinal de um ponto que está recuado mais cedo que o ponteiro 705 e um ciclo de passo à frente. A pesquisa para valores potenciais de recuo pode ser vantajosamente constrangida a uma região. Esta região pode ser fixada vantajosamente a mais ou menos 10 por cento ao redor do recuo previamente achado ou o atraso de passo se nenhum recuo foi achado.
Uma vez que o recuo foi determinado, o valor de comprimento de leitura determinará se a evolução de sinal temporal deveria evoluir para trás ou adiante em tempo, e quão rápida esta evolução deveria acontecer. Uma evolução lenta é obtida por uma escolha de comprimento de leitura perto do valor identificado de recuo. Uma evolução rápida é obtida por uma escolha de comprimento de leitura queé muito menor ou muito maior que o recuo no caso de evolução para trás e adiante, respectivamente. Um objetivo do gerador de padrão de índice é selecionar o comprimento de leitura para otimizar a qualidade de som como interpretado por um ouvinte humano. Selecionar o comprimento de leitura perto demais ao recuo pode em alguns sinais, tais como sinais que não sãosuficientemente periódicos, resultar em artefatos perceptivamente irritantes tais como sons de corda. Selecionar o comprimento de leitura longe demais do recuo, implica que um intervalo de tempo maior na memória temporária de quadro é varrido finalmente durante a evolução temporal do quadro ou 5 quadros de encobrimento, alternativamente que a direção de evolução temporal tem que ser virada mais vezes antes que a quantidade suficiente de amostras para o quadro ou quadros de encobrimento tenha sido gerada.
O primeiro caso pode em alguns sinais, tais como sinais que não são suficientemente estacionários (alternativamente não suficientementelisos e equalizados), resultar em um tipo de artefatos perceptivamente irritantes que têm certa semelhança com um gaguejar no som do quadro ou quadros de encobrimento. No segundo caso, artefatos como som de corda podem ocorrer. Uma característica de concretizações vantajosas da presente invenção é que o comprimento de leitura pode ser determinado como umafunção do recuo e da correlação normalizada, que é otimizada na pesquisa para o recuo ótimo. Uma escolha simples, contudo vantajosa, desta função em concretizações da presente invenção trabalhando em sinais de fala e quando quadros de sinal contém 20 ms de sinal de excitação preditiva linear amostrada a 16 kHz, é como um exemplo dada pela função seguinte:
ReadLength = [(0,2 + NormalizedCorrelation/3) * StepBack]
Onde colchetes quadrados [] são usados para indicararredondamento ao inteiro mais próximo e onde símbolos ReadLength, NormalizedCorrelation, e StepBack são usados para denotar o comprimento de leitura que a correlação normalizada obteve para o recuo ótimo e o recuo correspondente, respectivamente. A função anterior só está incluída como umexemplo para levar uma escolha vantajosa em algumas concretizações da presente invenção. Qualquer escolha de comprimento de leitura incluindo qualquer relação funcional para obter este comprimento de leitura é possível sem desviar do espírito da presente invenção. Em particular, métodosvantajosos para selecionar o comprimento de leitura incluem o uso de controle 665 para parametrizar a operação de nivelação e equalização 610 tal como alcançar uma minimização associada de artefatos como gaguejar e como som de corda em um quadro de encobrimento intermediário 625. Isto explica por que o gerador de padrão de índice 660 toma o sinal intermediário 656 como entrada em lugar da saída 615 da operação de nivelação e equalização: o sinal 656 representa versões potenciais do sinal final 615 sob o controle 665, e habilita o gerador de padrão de índice a aproximar a tarefa de otimização por meio de repetições. Como é o caso para o modo de fala não articulada e não ativo acima, os critérios de parada são essenciais neste modo também. Todos os exemplos de critérios de parada postos adiante no modo acima se aplicam a este modo igualmente. Adicionalmente, neste modo, critérios de parada de medir no passo e correlação normalizada pode fazer vantajosamente parte de concretizações da presente invenção.
Figura 7 ilustra, como um exemplo, uma lógica de decisão vantajosa para uma combinação de critérios de parada. Na Figura 7, os sinais de referência indicam o seguinte:
800: Identifique se o sinal é tipo de alta correlação, tipo de baixa correlação ou nenhum destes. Determine o nível de energia inicial;
801: Determine próximo recuo e correlação normalizada e comprimento de leitura;
802: Determine se o sinal entrou em tipo de baixa correlação;
803: Determine se o sinal entrou em tipo de alta correlação;
804: Sinal é de tipo de alta correlação?;
805: Sinal é de tipo de baixa correlação?;
806: Energia está abaixo de limiar mínimo relativo ou acima de limiar máximo relativo?;
807: Correlação está normalizada abaixo de limiar para tipo de alta correlação?;808: Correlação está normalizada acima de limiar para tipo de baixa correlação?;
809: Amostras suficientes foram geradas?
No caso de operação no domínio de excitação preditiva linear 5 de fala amostrada a 16 kHz, os limiares tratados na Figura 7 podem ser escolhidos vantajosamente como segue: tipo de alta correlação pode ser entrado quando uma correlação normalizada maior que 0,8 é encontrada; um limiar para permanecer em tipo de alta correlação pode ser fixado a 0,5 em correlação normalizada; tipo de baixa correlação pode ser entrado quandouma correlação normalizada mais baixa que 0,5 é encontrada; um limiar para permanecer em tipo de baixa correlação pode ser fixado a 0,8 em correlação normalizada; uma energia relativa mínima pode ser fixada a 0,3; e uma energia relativa máxima pode ser fixada a 3,0. Além disso, outras lógicas podem ser usadas e outros critérios de parada podem ser usados no contextoda presente invenção sem desviar do espírito e extensão da presente invenção.
A aplicação de critérios de parada significa que uma única evolução, para trás em tempo até qualquer amostra suficiente, é gerada ou um critério de parada é cumprido e então adiante em tempo novamente, não é garantido dar o número precisado de amostras para as quadros deencobrimento. Portanto, mais evoluções, para trás e adiante em tempo, podem ser aplicadas pelo gerador de padrão de índice. Porém, evoluções demais atrás e adiante podem em alguns sinais criar artefatos como som de corda. Portanto, concretizações preferíveis da presente invenção podem otimizar juntamente os critérios de parada, a função aplicada em cálculo dos comprimentos deleitura, o controle de nivelação e equalização 665, e o número de evoluções atrás e adiante, isto é, a contagem de repetição 668, e se habilitado pelos ponteiros aos quadros a substituir 599, também o número de amostras que nós evoluímos adiante em tempo antes que cada evolução para trás em tempo seja iniciada. Para este fim, a operação de nivelação e equalização também podeser controlada vantajosamente assim para modificar ligeiramente o contorno de passo do sinal. Além disso, a otimização associada pode levar em conta a operação do filtro de fase 650, e fazer mudanças leves ao contorno de passo tal como resultar em um padrão de índice que minimize a distorção introduzida no filtro de fase juntamente com os outros parâmetros mencionados acima. Com uma base na descrição de concretizações preferidas para a presente invenção, uma pessoa qualificada na arte entende que uma variedade de ferramentas de otimização geral se aplica a esta tarefa, estas ferramentas incluem otimização iterativa, processos de decisão de Markov, métodos de Viterbi e outros. Qualquer de quais é aplicável a esta tarefa sem desviar da extensão da presente invenção.
Figura 8 ilustra por meio de um gráfico de fluxo um exemplo de um procedimento iterativo para realizar uma otimização simples, contudo eficiente, destes parâmetros. Na Figura 8, os sinais de referência indicam o seguinte:
820: Inicie controles para nivelação e equalização 665;
821: Obtenha novo sinal liso 656;
822: Inicie critérios de parada;
823: Inicie o número permitido de repetições;
824: Identifique o padrão de índice para uma seqüência de evoluções atrás e adiante distribuída uniformemente através dos quadros disponíveis indicados por ponteiros 599 ou se apontando para fim de quadros disponíveis, evoluções para trás seguindo diretamente depois de evoluções adiante;
825: A quantidade de amostras é suficiente para o número de quadros de encobrimento 598 gerados?;
826: O número máximo de repetições é alcançado?; 827: Aumente o número de repetições;
828: O limiar mais frouxo é para critérios de paradaalcançados?;
829: Afrouxe os limiares para critérios de parada;
830: Mude controles para aumentar o impacto de nivelação eequalização.
Note que uma evolução para trás e adiante em tempo e umaevolução seguinte para trás e adiante em tempo, no caso que sinal suficiente não tinha sido sintetizado na evolução ou evoluções prévias para trás e adiante em tempo, pode diferir vantajosamente.
Como exemplos, as seqüências recuos, comprimentos de leitura, e funções de interpolação, e também oponteiro de localização de fim depois de evolução para trás e adiante em tempo deveria ser idealizado tal a minimizar artefatos de periodicidade que caso contrário resultam de uma repetição de padrões de índice semelhantes.
Com amostras de domínio residual de fala articulada a 16 kHz como um exemplo, uma evolução para trás e adiante em tempo, gerandoaproximadamente, digamos, 320 amostras, pode terminar preferivelmente aproximadamente 100 amostras adicionalmente atrás no sinal que uma evolução anterior para trás e adiante em tempo.
As concretizações expostas até este ponto diminuem eficazmente os problemas de sons de corda artificialmente soando conhecidos de métodos da arte anterior, enquanto ao mesmo tempo habilitam encobrimento eficiente de picos de instabilidade de atraso abruptos e perdas de pacote repetidas ocorrendo abruptamente.
Porém, em condições de rede adversas, como encontradas por exemplo em alguns sistemas sem fios e redes ad hoc sem fios e redes de melhor esforço e outros cenários de transmissão, ate mesmo o método exposto pode em alguns casos introduzir componentes leves de tonalidade nos quadros de encobrimento. Uma operação de mistura de ruído secundária 630 e 640 um filtro de atenuação suave portanto podem ser aplicados vantajosamente em algumas concretizações da presente invenção. As técnicas gerais de mistura de ruído e atenuação são bemconhecidas a uma pessoa qualificada na arte. Isto inclui o uso vantajoso de evolução temporal dependente de freqüência da potência do componente de ruído e evolução temporal dependente de freqüência da função de atenuação. Uma característica específica ao uso de mistura de ruído e atenuação no contexto da presente invenção é o uso explícito do padrão de índice 666, a medida de qualidade de casamento 667 e/ou a contagem de repetição 668 para parametrização adaptável das operações de mistura e atenuação de ruído. Especificamente, o padrão de indexação indexa onde amostras de sinal inalteradas são colocadas no quadro de encobrimento e onde as amostras do quadro de encobrimento resultam de uma operação de interpolação. Além disso, a relação de recuo relativo a comprimento de leitura em combinação com a medida de qualidade de casamento são indicativos da qualidade perceptiva resultando da operação de interpolação. Assim, pouco ou nenhum ruído pode ser misturado vantajosamente nas amostras originais, mais ruído pode ser misturado vantajosamente nas amostras que resultam de um processo de interpolação e a quantidade de ruído misturada nestas amostras pode ser vantajosamente uma função da medida de qualidade de casamento, vantajosamente de uma maneira diferenciada em freqüência. Além disso, o valor do comprimento de leitura relativo ao recuo também é indicativo da quantidade de periodicidade que pode ocorrer, a mistura de ruído pode vantajosamente iricluir esta medida na determinação de quantidade de ruído a misturar no sinal de encobrimento. O mesmo princípio se aplica à atenuação; uma atenuação suave é vantajosamente usada, mas menos atenuação pode ser introduzida para amostras que são representativas de amostras de sinal originais e mais atenuação pode ser introduzida para amostras que resultam da operação de interpolação. Além disso, a quantidade de atenuação nestas amostras pode ser vantajosamente uma função da indicação de qualidade de casamento e vantajosamente de uma maneira diferenciada em freqüência. Novamente, o valor do comprimento de leitura relativo ao recuo é indicativoda quantidade de periodicidade que pode ocorrer; a operação de atenuação pode vantajosamente incluir esta medida no projeto da atenuação.
Como tratado no fundo para a presente invenção, um objetivo importante de um subconjunto de concretizações da presente invenção obtém quadros de encobrimento de comprimento prefixado igual ao comprimento de quadros de sinal regulares. Quando isto é querido de uma perspectiva de sistema, os meios para este fim podem ser vantajosamente um filtro de fase 650. Uma operação computacionalmente simples, aproximada mas freqüentemente suficiente deste bloco é realizar suma adição de sobreposição lisa entre amostras que ultrapassam o comprimento de quadro prefixado vezes o número de quadros de encobrimento com um subconjunto de amostras do quadro seguindo os quadros de encobrimento. Visto isolado, este método é bem conhecido do estado da arte e usado por exemplo na recomendação da União de Telecomunicações Internacional ITU-T G.711 Apêndice 1. Quando prático de uma perspectiva de sistema, o procedimento simples de adição de sobreposição ponderada pode ser melhorado por uma multiplicação de quadros subseqüentes com -1 sempre que isto aumentar a correlação na região de adição de sobreposição. Porém, outros métodos podem ser usados vantajosamente, por exemplo na transição entre quadros de sinal falado, para diminuir adicionalmente o efeito de descontinuidades nos limites de quadro. Um tal método é uma re-amostragem dos quadros de encobrimento. Visto como um método isolado, isto também é bem conhecido do estado da arte. Veja por exemplo, Valenzuela e Animalu, "A new voice-packet reconstruction technique", IEEE, 1989. Assim, diminuir descontinuidades em limites de quadro pode ser executado por uma pessoa qualificada na arte. Porém, em concretizações preferidas da invenção expostas com isto, a re-amostragem pode ser vantajosamente continuada nos quadros seguido o último quadro de encobrimento. Por este meio, o declive de mudança temporal e assim o deslocamento de freqüência, que é uma conseqüência datécnica de re-amostragem, pode ser feito imperceptível quando interpretado por um ouvinte humano. Adicionalmente, em lugar de re-amostragem, o uso de filtros passa-tudo variados em tempo para diminuir descontinuidades em limites de quadro é exposto com a presente invenção. Uma concretização disto, é como dada pela equação de filtro:
H_L(z,t) = (alpha_l(t) + alpha_2(t)*zA(-L))/(alpha_2(t) + alpha_l(t) * zA(-L))
A função de qual é explicada como segue. Suponha que uma varredura de um atraso de L amostras para uma atraso de 0 amostras é querida através de um intervalo de varredura, que pode incluir todas ou parte das amostras em todos ou parte dos quadros de encobrimento; e em quadros antesdos quadros de encobrimento; e em quadros depois dos quadros de encobrimento. Então, no princípio do intervalo de varredura, alpha_l(t) é fixado a zero e alpha_2(t) é fixado a 1,0 assim para implementar um atraso de L amostras. Quando a varredura através de t começa, alpha_l(t) deveria aumentar gradualmente para 0,5 e alpha_2(t) deveria diminuir gradualmente para 0,5. Quando, no fim do intervalo de varredura alpha_l(t) iguala alpha_2(t), o filtro H_L(z,t) introduz um atraso de zero. Reciprocamente, se uma varredura de um atraso de zero amostras a um atraso de L amostras for querida através de um intervalo de varredura, que pode incluir todas ou parte das amostras em todos ou parte dos quadros de encobrimento; e em quadros antes dos quadros de encobrimento; e em quadros depois dos quadros de encobrimento. Então, no princípio do intervalo de varredura, alpha_l(t) é fixado a 0,5 e alpha_2(t) é fixado a 0,5 assim para implementar um atraso de 0 amostras. Quando a varredura através de t começa, alpha_l(t) deveria diminuir gradualmente para 0 e alpha_2(t) deveria aumentar gradualmentepara 1,0. Quando, no fim do intervalo de varredura alpha_l(t) iguala 0 e alpha_2(t) iguala 1,0, o filtro H_L(z,t) introduz um atraso de L amostras.
A filtragem anterior é computacionalmente simples, porém tem uma resposta de fase não linear. Por razões perceptivas, esta fase nãolinear limita seu uso a L relativamente pequeno. Vantajosamente, L < 10 para fala a uma taxa de amostra de 16 kHz. Um método para realizar a filtragem para valores maiores de L inicial é iniciar vários filtros para valores de L menores que englobam o valor de L total desejado, estes vários filtros podem ser iniciados vantajosamente a instantes diferentes de tempo e varrer sua gama de alfa através de intervalos diferentes de tempo. Um outro método para aumentar a gama de L no qual este filtro é aplicável, é exposto no seguinte. Uma estrutura que implementa um mesma funcionalmente de filtragem como a anterior é dividir o sinal em L polifases e conduzir a seguinte filtragem emcada uma destas polifases:
H_l(z,t) = (alpha_l(t) + alpha_2(t)*zA(-l))/(alpha_2(t) + alpha_l(t) * zA(-l)) Pela presente invenção, a filtragem polifásica é implementada vantajosamente por uso de sobre-amostragem. Um modo para fazer isto vantajosamente é sobre-amostrar cada polifase com um fator K e conduzir a filtragem H_l(z,t) K vezes em cada polifase sobre-amostrada antes desubamostragem com um fator K e reconstrução do sinal modificado em fase das polifases. O fator K pode ser escolhido vantajosamente como K=2. Pelo procedimento de sobre-amostragem, uma resposta de fase, que é mais perto de linear, é obtida. Por este meio, a qualidade percebida como interpretada por um ouvinte humano é melhorada.
O ajuste de fase descrito acima através de múltiplos quadros éaplicável quando quadros de encobrimento são inseridos em uma seqüência de quadros recebidas sem perda. Também é aplicável quando quadros são retirados da seqüência de sinal a fim de reduzir atraso de reprodução de quadros subseqüentes.
E é aplicável quando quadros são perdidos e zero oumais quadros de encobrimento são inseridos entre os quadros recebidos antes e os quadros recebidos depois da perda.
Nestes casos, um método vantajoso para adquirir o sinal de entrada para este filtro e achar a atraso L é como segue:1) Nos quadros mais cedo em tempo que o ponto de descontinuidade, um método de encobrimento, o exposto com isto ou qualquer outro, é continuado ou iniciado.
2) nos quadros mais tarde em tempo que a descontinuidade várias amostras L_test são inseridas no começo de quadro por um método de encobrimento, o exposto com isto ou qualquer outro, mas com uma indexação invertida das amostras de tempo.
3) Uma medida casamento, tal como correlação normalizada, é aplicada entre o quadro ou quadros de encobrimento de 1) e o quadro ou quadros de 2) incluindo as amostras L_test de cabeçalho.
4) O L_test que maximiza a medida de casamento é selecionado como L.
5) O quadro ou quadros de encobrimento de 2) e o quadro ou quadros de 3) são agora somados usando juntos um procedimento de adição de sobreposição ponderada. Enquanto esta adição de sobreposição ponderada pode ser executada como conhecido por uma pessoa qualificada na arte, pode ser preferivelmente otimizada como exposto mais tarde nesta descrição;
6) O quadro ou quadros resultantes são usados como entrada à filtragem de adaptação de fase descrita acima, iniciada com o determinado valor L. Se L for maior que um limiar, então vários filtros são iniciados e coeficiente varrido em instantes de tempo diferentes e intervalos de tempo, com seus valores L englobando o determinado valor L.
Vantajosamente, em fala ou resíduo de fala amostrada a 8 ou 16 kHz, o limiar anterior pode ser escolhido a um valor na gama de 5 a 50.
Adicionalmente vantajosamente, em fala articulada ou resíduo de fala articulada, as amostras de encobrimento L_test e sua continuação no quadro seguinte são obtidas por deslocamento circular das amostras do primeiro período de passo do quadro. Por esse meio, uma medida de correlação sem normalização, correlatando o período de passo completo, pode ser usadavantajosamente como medida de casamento para achar o deslocamento circular preferido L.
Figura 9 ilustra uma concretização de tal método. Nesta figura, o ajuste de fase cria uma transição lisa entre um quadro de sinal 900 e os quadros seguintes. Isto é realizado como segue: Do quadro de sinal 900 e quadros anteriores, um sinal de encobrimento 910 é gerado. Este sinal de encobrimento pode ser gerado usando os métodos expostos com isso, ou usando outros métodos que são bem conhecidos do estado da arte. O sinal de encobrimento é multiplicado com uma janela 920 e somado 925 com outra janela 930, que é multiplicada com um sinal gerado como segue: Um sinal de encobrimento 940 é gerado, de amostras seguintes 950 e possivelmente 960, aplicando efetivamente um método de encobrimento tal como o exposto com isso, ou usando outros métodos que são bem conhecidos do estado da arte, e concatenados com as amostras seguintes 950. O número de amostras no encobrimento 940 é otimizado tal como a maximizar o casamento entre o encobrimento 910 e a concatenação de 940 e as amostras seguintes 950.
Vantajosamente, correlação normalizada pode ser usada como uma medida deste casamento. Adicionalmente, para reduzir complexidade de computacional, o casamento pode para fala articulada ou resíduo de fala articulada ser limitado para incluir um período de passo. Neste caso, as " amostras de encobrimento podem 940 ser obtidas como uma primeira parte de um deslocamento circular de um período de passo, e a medida de correlação através de período de passo agora não precisa ser normalizada. Por este meio, computações para cálculo do fator de normalização são evitadas. Como para a operação de indexação e interpolação descrita anteriormente nesta descrição detalhada de concretizações preferidas, as janelas vantajosamente podem ser novamente uma função de um indicador de qualidade de casamento e/ou uma função de freqüência e vantajosamente implementada como uma linha de atraso com derivações. A operação do filtro 970 é como segue. As primeirasamostras L resultando do procedimento de adição de sobreposição são passadas diretamente a sua saída, e usadas para estabelecer o estado inicial do filtro. Depois disso, os coeficientes de filtro são iniciados como descrito acima, e como o filtro filtra de amostra L+l e remete estes coeficientes são ajustados gradualmente, tal como para remover gradualmente as L amostras de atraso, como exposto acima.
Novamente, no procedimento descrito acima, o método de otimizar os pesos das janelas de acordo com maximizar o critério de casamento, como descrito acima, se aplica, e também a generalização dasfunções de janela a pesos dependentes de freqüência e a filtros casados na forma de linhas de atraso com derivações ou outras formas de filtro paramétrico. Em concretizações vantajosas, a evolução temporal do peso de filtro dependente de freqüência é obtida por uma seqüência de três seqüências de adição de sobreposição, primeiro desvanece o quadro ou quadros deencobrimento anteriores, segundo amplia uma versão filtrada destes com um filtro tal como para casar os quadros de encobrimento obtidos tempo indexado inverso, então desvanece isto novamente, terceiro amplia o quadro ou quadros mais tarde em tempo. Em outro conjunto de concretizações vantajosas, a evolução temporal do peso de filtro dependente de freqüência é obtida poruma seqüência de quatro seqüências de adição de sobreposição, primeiro desvanece o quadro ou quadros de encobrimento de quadros anteriores, segundo amplia uma versão filtrada destes com um filtro tal como a casar os quadros de encobrimento de quadros posteriores obtidos em tempo indexado inverso, então desvanece isto novamente, terceiro amplia uma versão filtradados quadros mais tarde em tempo, tal como para adicionalmente melhorar este casamento, e desvanece isso novamente, e quarto finalmente amplia o quadro ou quadros mais tarde em tempo. Concretizações vantajosas adicionais de métodos de adição de sobreposição ponderada são expostas mais tarde nesta descrição.Relativo à operação de nivelação e equalização 610 em concretizações onde amostras de domínio residuais são usadas como uma parte da informação representativa para o sinal de fala, nivelação e equalização podem ser aplicados vantajosamente neste sinal residual usando filtragem adaptada de passo, tal como um filtro de pente ou um filtro de entalhe periódico. Além disso, filtragem de Wiener ou Kalman com um filtro de correlação de longo prazo mais ruído como um modelo para o resíduo não filtrado podem ser aplicados vantajosamente.
Neste modo de aplicar o filtro de Wiener ou Kalman, a variância do ruído no modelo se aplica para ajustar a quantidade de nivelação e equalização. Isto é um uso algo contra-intuitivo, como este componente é tradicionalmente em teoria de filtragem de Wiener e Kalman aplicado para modelar a existência de um componente de ruído indesejado. Quando aplicado na presente inovação, o propósito é fixar o nível de nivelação e equalização.
Como uma alternativa a filtragem de penteadaptada de passo ou de entalhe e filtragem do tipo de Wiener ou Kalman, um terceiro método é vantajosamente aplicado para nivelação e equalização de sinais residuais no contexto da presente inovação.
Por este terceiro método, tanto amplitudes de amostra, como vantajosamente aplicadas por exemplo para fala não articulada, ou vetores consecutivos de amostras, comovantajosamente aplicados, por exemplo, para fala articulada, são feitos similares crescentemente. Possíveis procedimentos para realizar isto estão esboçados abaixo para vetores de fala articulada e amostras de fala não articulada, respectivamente.
Para fala articulada, amostras consecutivas de fala ou resíduo são juntados em vetores com várias amostras em cada vetor igual a um período de passo. Para conveniência de descrição, nós aqui denotamos este vetor como v(k). Agora, o método obtém um vetor de resto r(k) como um componente de v(k) que não pôde por algum meio ser achado em vetores circunvizinhos v(k-Ll), v(k-Ll+l),..., v(k-l) e v(k+l), v(k+2),..., v(k+L2).Para conveniência de descrição, o componente achado em vetores circunvizinhos é denotado a(k). O de vetor de resto r(k) é manipulado subseqüentemente de alguma maneira linear ou não linear assim para reduzir sua audibilidade, enquanto preservando naturalidade do vetor reconstruído resultante, que é obtido re-inserindo o componente a(k) na versão manipulada de r(k).
Isto conduz à versão nivelada e equalizado de fala articulada ou fala residual articulada. Uma concretização simples do princípio descrito acima, usando para conveniência notação de matriz de vetor e para simplicidade de exemplo, a noção de combinação linear e mínimos quadrados para definir a(k) é dada abaixo. Isto serve somente como um exemplo de uma única concretização simples do princípio geral anterior para nivelação e equalização.
Para o propósito deste exemplo, deixe a matriz M(k) serdefinida como:
M(k) = [v(k-Ll) v(k-Ll+l).... v(k-l) v(k+l) v(k+2).... V(k+L2)]
De qual a(k) pode ser calculado por exemplo como a estimativa de mínimos quadrados de v(k) dado M(k):
a(k) = M(k) inv(trans(M(k)) M(k)) v(k), onde 'inv ()' denota inversão de matriz ou pseudo-inversão e 'trans ()' denota transposição de matriz. Agora, o resto r(k) pode ser calculado por exemplo por subtração.
r(k) = v(k)-a(k)
Um exemplo de manipular r(k) é cortando picos fora neste vetor, por exemplo, tal como a limitar o valor absoluto máximo de uma amostra a um nível igual à amplitude máxima do vetor r(k) mais perto do ponto de partida do procedimento de encobrimento retrógrado-dianteiro, ou a algum fator vezes a amplitude da amostra na mesma posição em vetor, mas no vetor mais perto do ponto de partida do procedimento de encobrimentoretrógrado-dianteiro. O resto manipulado rm(k) é combinado subseqüentemente com o vetor a(k) para reconstruir a versão equalizada de v(k), para conveniência aqui denotada por ve(k). Esta combinação pode como um exemplo ser realizada por adição simples:
ve(k) = alpha*rm(k) + a(k)
O parâmetro alfa neste exemplo pode ser fixado a 1,0 ou pode ser selecionado vantajosamente para ser menor que 1,0, uma escolha vantajosa para alfa é 0,8.
Para fala não articulada, outro método de equalização e nivelação pode ser usado com vantagem. Um exemplo de nivelação e equalização para fala não articulada calcula uma adaptação polinomial a amplitudes de sinal residual em domínio logarítmico. Como um exemplo, um polinômio de segunda ordem e em domínio de logio pode ser usado. Depois de converter a adaptação polinomial de domínio logarítmico de volta para domínio linear, a curva de adaptação é normalizada vantajosamente a 1,0 no ponto que corresponde ao ponto de partida para o procedimento retrógrado-dianteiro. Subseqüentemente, a curva de adaptação é limitada inferior, por exemplo, a 0,5, onde depois as amplitudes do sinal residual podem ser divididas com a curva de adaptação tal como para equalizar suavemente fora as variações em amplitude do sinal residual não articulado.
Relativo a procedimentos de adição de sobreposição ponderada, algumas, mas não todas as aplicações de quais são expostas mais cedo nesta descrição, isto é, a operação de indexação e interpolação 620 e o método para iniciar o sinal de entrada para a filtragem de ajuste de fase 970, procedimentos podem ser executados como conhecido por uma pessoa qualificada na arte. Porém, em concretizações preferidas de procedimentos de adição de sobreposição ponderada, os métodos expostos no seguinte podem ser usados vantajosamente.
Em uma concretização simples de um procedimento de adiçãode sobreposição ponderada modificada em resposta a um indicador de qualidade de casamento, nós consideramos uma primeira janela multiplicada com uma primeira subseqüência e uma segunda janela multiplicada com uma segunda subseqüência, e estes dois produtos entram em uma operação de adição de sobreposição. Agora, como um exemplo, nós deixamos a primeira janela ser uma janela de derivação abaixo, tal como uma função monotonicamente decrescente, e nós deixamos a segunda janela ser uma janela de derivação à cima, tal como um função monotonicamente crescente.
Em segundo lugar, para o propósito de um exemplo simples, nós deixamos asegunda janela ser parametrizada por um forma de janela básica vezes um multiplicador escalar. Nós agora definimos: objetivo como dita primeira subseqüência; w_target como dita primeira subseqüência multiplicada amostra por amostra com dita janela de derivação abaixo; w_regressor como dita segunda subseqüência multiplicada amostra por amostra com dita forma de janela básica para a janela de derivação à cima; e coef como dito multiplicador de escalar. Agora, o componente de multiplicador de escalar da segunda janela pode ser otimizado tal como a minimizar um erro quadrado somado entre objetivo e o resultado da operação de adição de sobreposição.
Usando por conveniência uma notação de matriz-vetor, o problema pode serformulado como minimizando a diferença quadrada somada entre objetivo e a quantidade:
w_target + w_regressor*coef
Definindo daqui vetores T e H como: T = objetivo - w_target H - wjregressor
A solução para esta otimização é dada como:coef = inv(trans(H)*H)*trans(H)*T Em que 'inv ()' denota inversão de escalar ou matriz, 'trans ()'denota a transposição de uma matriz ou vetor e * é multiplicação de matriz ouvetor. Agora, como componentes centrais nas invenções expostas com isso, este método pode ser expandido para otimizar a forma atual de uma janela. Um modo para obter isto é como segue. Nós definimos um conjunto de formas para as quais a janela querida é obtida como uma combinação linear de elementos neste conjunto. Nós agora definimos H tal que cada coluna de H seja uma forma desta amostra por amostra fixa através multiplicado com dita segunda subseqüência, e nós definimos coef como um vetor de coluna contendo os pesos desconhecidos destas formas na função de janela otimizada. Com estas definições, as equações anteriores formulando o problema e sua solução, agora se aplicam a resolver para uma forma de janela mais geral. Naturalmente, o papel da primeira e a segunda janelas pode ser trocado no anterior, tal que agora seja a primeira janela para qual otimização acontece.
Uma concretização mais avançada da presente invenção otimiza juntamente ambas as formas de janela. Isto é feito definindo um segundo conjunto de formas de janela básicas, possivelmente equivalente com o primeiro fixado de formas de janela, e vantajosamente selecionado como uma indexação invertida em tempo das amostras em cada uma das formas de janela no primeiro conjunto de formas de janela. Agora defina o w_target como uma matriz, em que cada coluna é uma forma de janela básica de dito segundo conjunto de formas de janela multiplicado amostra por amostra com a primeira subseqüência e definem coef como um vetor de coluna contendo os pesos para a primeira janela e segundo os pesos para a segunda janela. Então, o problema mais geral pode ser formulado como minimizar a diferença quadrada somada entre o objetivo e a quantidade:
[w_target w_regressor]*coef,
onde colchetes quadrados [] são usados para formar uma matriz de submatrizes ou vetores. Agora, definindo daqui vetores T e H como:
T = objetivoH = [w_target w_regressor]
A solução para esta otimização é dada como:
coef = inv(trans(H)*H)*trans(H)*T
Adicionalmente, uma concretização mais avançada da presente invenção não só formas de janela instantâneas, mas janelas com uma ponderação dependente de freqüência otimizada. Uma concretização desta invenção aplica a forma de uma linha de atraso com derivações, entretanto a invenção geral não está por nenhum meio limitada a esta forma. Um modo para realizar esta generalização é substituir, na definição de w_target e w_regressor acima, cada coluna com várias colunas multiplicando cada amostra por amostra com a forma de janela básica correspondendo à coluna que elas substituem, mas onde esta forma de janela básica é agora multiplicada amostra por amostra com a subseqüência pertinente atrasada correspondendo a uma posição específica em uma linha de atraso com derivações.
Vantajosamente, otimizações de coeficientes nestes métodos levam em conta uma ponderação, constrangimento, ou cálculo seqüencial dos coeficientes sem diferir da invenção exposta com isso. Tais ponderações podem incluir vantajosamente ponderação para mais peso em coeficientes correspondendo a baixos valores de atraso absoluto. Tal cálculo seqüencial pode vantajosamente calcular coeficientes para baixos valores de atraso absoluto primeiro, tal como para minimizar a soma de erro quadrado só usando esses coeficientes, e então repetindo subseqüentemente este processo para valores de atraso crescentes, mas só no erro restante das etapas anteriores neste processo.
Em geral, concretizações desta invenção tomam várias subseqüências como objetivos da otimização. A otimização em termos gerais minimiza uma função de distorção, que é uma função destas subseqüências visadas e a saída do sistema adição de sobreposição ponderada. Estaotimização pode sem desviar da presente invenção, aplicar vários constrangimentos na seleção de formas básicas e atrasos e sua ponderação na adição de sobreposição global. Dependendo da seleção exata de formas, o efeito do adição de sobreposição é vantajosamente gradualmente aumentado de subseqüências seguindo a região de adição de sobreposição em tempo.
Figura 10 ilustra uma concretização do método exposto de adição de sobreposição. Esta figura é só para o propósito de ilustrar uma concretização desta invenção, como a invenção não está limitada à estrutura exata nesta figura. Na Figura 10, um subseqüência 1000 entra na adição desobreposição otimizada em forma de tempo e freqüência com outra subseqüência 1010. Cada uma destas subseqüências entra em uma linha de atraso separada, onde na figura, z designa um avanço de tempo de uma amostra e z-1 designa um atraso de tempo de uma amostra, e onde os atrasos selecionados de 1, -1, e 0 são puramente para o propósito de ilustração: outrosatrasos, mais e menos, podem ser usados vantajosamente com relação à presente invenção. Cada versão atrasada de cada subseqüência é multiplicada agora com várias formas de janela básicas, e o resultado de cada uma destas é multiplicado com um coeficiente a ser achado juntamente com os outros coeficientes no curso da otimização. Depois de multiplicação com estescoeficientes, as subseqüências resultantes são somados para produzir a saída 1020 da adição de sobreposição otimizada em forma de tempo e freqüência. A otimização 1030 de coeficientes toma, no exemplo da Figura 10, subseqüências 1040 e 1050 como entrada, e minimiza uma função de distorção, que é uma função de 1040 e 1050 e a saída 1020.
Nas reivindicações, sinais de referência para as figuras sãoincluídos só por razões de clareza. Estas referências a concretizações exemplares nas figuras não deveriam de qualquer forma ser interpretadas como limitando a extensão das reivindicações.