BR112020020457A2 - Aparelho, método ou programa de computador para estimar uma diferença de tempo intercanal - Google Patents

Aparelho, método ou programa de computador para estimar uma diferença de tempo intercanal Download PDF

Info

Publication number
BR112020020457A2
BR112020020457A2 BR112020020457-9A BR112020020457A BR112020020457A2 BR 112020020457 A2 BR112020020457 A2 BR 112020020457A2 BR 112020020457 A BR112020020457 A BR 112020020457A BR 112020020457 A2 BR112020020457 A2 BR 112020020457A2
Authority
BR
Brazil
Prior art keywords
signal
time
channel
cross
weighting
Prior art date
Application number
BR112020020457-9A
Other languages
English (en)
Inventor
Eleni FOTOPOULOU
Jan BÜTHE
Emmanuel RAVELLI
Pallavi MABEN
Martin Dietz
Franz Reutelhuber
Stefan DÖHLA
Srikanth KORSE
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V.
Publication of BR112020020457A2 publication Critical patent/BR112020020457A2/pt

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/06Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being correlation coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band

Landscapes

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

Abstract

trata-se de um aparelho para estimar uma diferença de tempo intercanal entre um primeiro sinal de canal e um segundo sinal de canal, que compreende um analisador de sinal (1037) para estimar uma característica de sinal (1038) do primeiro sinal de canal ou o segundo sinal de canal ou ambos os sinais ou um sinal derivado do primeiro sinal de canal ou o segundo sinal de canal; uma calculadora (1020) para calcular um espectro de correlação cruzada para um bloco de tempo do primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo; um ponderador (1036) para ponderar um espectro de correlação cruzada suavizado ou não suavizado para obter um espectro de correlação cruzada ponderado usando um primeiro procedimento de ponderação (1036a) ou usando um segundo procedimento de ponderação (1036b) dependendo de uma característica de sinal estimada pelo analisador de sinal (1037), em que o primeiro procedimento de ponderação é diferente do segundo procedimento de ponderação; e um processador (1040) para processar o espectro de correlação cruzada ponderado para obter a diferença de tempo intercanal.

Description

“APARELHO, MÉTODO OU PROGRAMA DE COMPUTADOR PARA ESTIMAR UMA DIFERENÇA DE TEMPO INTERCANAL” ESPECIFICAÇÃO
[0001] O presente pedido está relacionado ao processamento estéreo ou, geralmente, processamento multicanal, onde um sinal multicanal tem dois canais, como um canal esquerdo e um canal direito no caso de um sinal estéreo ou mais de dois canais, como três, quatro, cinco ou qualquer outro número de canais.
[0002] A fala estéreo e, particularmente, a fala estéreo de conversação tem recebido muito menos atenção científica do que o armazenamento e a transmissão de música estereofônica. De fato, nas comunicações de fala, a transmissão monofônica ainda é mais usada atualmente. No entanto, com o aumento da largura de banda e da capacidade da rede, prevê-se que as comunicações com base em tecnologias estereofônicas se tornem mais populares e proporcionem uma melhor experiência de audição.
[0003] A codificação eficiente de material de áudio estereofônico tem sido estudada por um longo tempo na codificação de áudio perceptual de música para armazenamento ou transmissão eficiente. Em altas taxas de bits, em que a preservação da forma da onda é crucial, o estéreo soma-diferença, conhecido como estéreo médio/lateral (M/S), tem sido empregado há muito tempo.
Para taxas de bits baixas, foi introduzida a codificação estéreo de intensidade e, mais recentemente, a codificação estéreo paramétrica. A técnica mais recente foi adotada em diferentes padrões como HeAACv2 e Mpeg USAC. Ele gera uma mixagem negativa do sinal de dois canais e associa informações secundárias espaciais compactas.
[0004] A codificação estéreo conjunta é geralmente construída sobre uma resolução de alta frequência, isto é, resolução de baixo tempo, transformação de tempo-frequência do sinal e, então, não é compatível com baixo atraso e processamento de domínio de tempo realizado na maioria dos codificadores de fala. Além disso, a taxa de bits gerada geralmente é alta.
[0005] Por outro lado, o estéreo paramétrico emprega um banco de filtros extra posicionado na extremidade frontal do codificador como pré-processador e na extremidade traseira do decodificador como pós- processador. Portanto, o estéreo paramétrico pode ser usado com codificadores de fala convencionais como o ACELP, pois é feito no MPEG USAC. Além disso, a parametrização da cena auditiva pode ser alcançada com a quantidade mínima de informações secundárias, o que é adequado para taxas de bits baixas. No entanto, o estéreo paramétrico, por exemplo, no MPEG USAC não foi projetado especificamente para baixo atraso e não oferece qualidade consistente para diferentes cenários de conversação. Na representação paramétrica convencional da cena espacial, a largura da imagem estéreo é artificialmente reproduzida por um decorrelator aplicado nos dois canais sintetizados e controlado por parâmetros de Coerência Intercanais (ICs) computados e transmitidos pelo codificador. Para a maioria da fala estéreo, essa forma de ampliar a imagem estéreo não é apropriada para recriar o ambiente natural da fala, que é um som bastante direto, uma vez que é produzido por uma única fonte localizada em uma posição específica no espaço (com algumas vezes reverberação da sala). Em contraste, os instrumentos musicais têm uma largura muito mais natural do que a fala, que pode ser melhor imitada ao descorrelacionar os canais.
[0006] Problemas também podem ocorrer quando a fala é gravada com microfones não coincidentes, como na configuração A-B, quando os microfones estão distantes um do outro ou para gravação binaural ou renderização. Esses cenários podem ser concebidos para capturar a fala em teleconferências ou para criar uma cena virtualmente auditiva com alto-falantes distantes na unidade de controle multiponto (MCU). O tempo de chegada do sinal é diferente de um canal para o outro, ao contrário das gravações feitas em microfones coincidentes como X-Y (gravação de intensidade) ou M-S (gravação do meio). O cálculo da coerência de tais dois canais não alinhados no tempo pode então ser erroneamente estimado, o que faz com que a síntese de ambiente artificial falhe.
[0007] As referências da técnica anterior relacinadas com o estereoprocessamento são a Patente US
5.434.948 ou Patente US 8.811.621.
[0008] O documento WO 2006/089570 A1 revela um esquema codificador/decodificador multicanal quase transparente ou transparente. Um esquema codificador/decodificador multicanal gera adicionalmente um sinal residual do tipo de forma de onda. Esse sinal residual é transmitido junto com um ou mais parâmetros multicanais para um decodificador. Em contraste com um decodificador multicanal puramente paramétrico, o decodificador aprimorado gera um sinal de saída multicanal com uma qualidade de saída melhorada por causa do sinal residual adicional. No lado do codificador, um canal esquerdo e um canal direito são ambos filtrados por um banco de filtros de análise. Então, para cada sinal de sub- banda, um valor de alinhamento e um valor de ganho são calculados para uma sub-banda. Esse alinhamento é então executado antes do processamento adicional. No lado do decodificador, um desalinhamento e um processamento de ganho são realizados e os sinais correspondentes são então sintetizados por um banco de filtros de síntese a fim de gerar um sinal decodificado à esquerda e sinal decodificado à direita.
[0009] Em tais aplicações de processamento estéreo, o cálculo de uma diferença de tempo intercanal ou intercanal entre um primeiro sinal de canal e um segundo sinal de canal é útil para realizar tipicamente um procedimento de alinhamento de tempo de banda larga. No entanto, existem outras aplicações para o uso de uma diferença de tempo intercanal entre um primeiro canal e um segundo canal, onde essas aplicações estão em armazenamento ou transmissão de dados paramétricos, processamento estéreo/multicanal que compreende um alinhamento de dois canais, uma estimativa de diferença de tempo de chegada para uma determinação da posição de um alto-falante em uma sala, filtragem especial de formação de feixe, decomposição de primeiro plano/plano de fundo ou a localização de uma fonte ou a localização de uma fonte de som por, por exemplo, triangulação acústica a fim de citar apenas alguns.
[0010] Para todas essas aplicações, é necessária uma determinação eficiente, precisa e robusta de uma diferença de tempo intercanal entre um primeiro e um segundo sinal de canal.
[0011] Já existem tais determinações conhecidas sob o termo “GCC-PHAT” ou, dito de outra forma, transformada de fase de correlação cruzada generalizada.
Normalmente, um espectro de correlação cruzada é calculado entre os dois sinais de canal e, então, uma função de ponderação é aplicada ao espectro de correlação cruzada para obter um denominado espectro de correlação cruzada generalizado antes de realizar uma transformação espectral inversa, como um DFT inverso para o espectro de correlação cruzada generalizado a fim de encontrar uma representação de domínio de tempo. Essa representação de domínio de tempo representa valores para certas defasagens de tempo e o pico mais alto da representação de domínio de tempo, então, normalmente corresponde ao atraso ou diferença de tempo, isto é, o atraso de tempo intercanal de diferença entre os dois sinais de canal.
[0012] No entanto, foi demonstrado que,
particularmente em sinais que são diferentes de, por exemplo, fala limpa sem qualquer reverberação ou ruído de fundo, a robustez dessa técnica não é ideal.
[0013] É, portanto, um objetivo da presente invenção fornecer um conceito melhorado para estimar uma diferença de tempo intercanal entre dois sinais de canal.
[0014] Esse objetivo é alcançado através de um aparelho para estimar uma diferença de tempo intercanal de acordo com a reivindicação 1, ou um método para estimar uma diferença de tempo intercanal de acordo com a reivindicação 28 ou um programa de computador de acordo com a reivindicação 30.
[0015] A presente invenção é com base na descoberta de que uma ponderação de um espectro de correlação cruzada suavizado ou não suavizado para obter um espectro de correlação cruzada ponderado deve ser feito usando um primeiro procedimento de ponderação ou usando um segundo procedimento de ponderação dependendo de uma característica de sinal estimada por um analisador de sinal, em que o primeiro procedimento de ponderação é diferente dos segundos procedimentos de ponderação.
[0016] Em uma modalidade adicional, a suavização do espectro de correlação cruzada ao longo do tempo que é controlada por uma característica espectral do espectro do primeiro sinal de canal ou o segundo sinal de canal melhora significativamente a robustez e a precisão da determinação da diferença de tempo intercanal.
[0017] Em modalidades preferidas, uma característica de tonalidade/ruído do espectro é determinada, e no caso de sinal semelhante a tom, uma suavização é mais forte enquanto, no caso de um sinal de ruído, uma suavização é menos forte.
[0018] De preferência, uma medida de nivelamento espectral é usada e, no caso de sinais semelhantes a tom, a medida de nivelamento espectral será baixa e a suavização se tornará mais forte, e no caso de sinais semelhantes a ruído, a medida de nivelamento espectral será alta, como cerca de 1 ou perto de 1 e a suavização será fraca.
[0019] Assim, de acordo com a presente invenção, um aparelho para estimar uma diferença de tempo intercanal entre um primeiro sinal de canal e um segundo sinal de canal compreende uma calculadora para calcular um espectro de correlação cruzada para um bloco de tempo para o primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo. O aparelho compreende adicionalmente um estimador de característica espectral para estimar uma característica de um espectro do primeiro sinal de canal e o segundo sinal de canal para o bloco de tempo e, adicionalmente, um filtro de suavização para suavizar o espectro de correlação cruzada ao longo do tempo usando a característica espectral para obter um espectro de correlação cruzada suavizado. Em seguida, o espectro de correlação cruzada suavizado é processado adicionalmente por um processador a fim de obter o parâmetro de diferença de tempo intercanal.
[0020] Para modalidades preferidas relacionadas ao processamento adicional do espectro de correlação cruzada suavizado, uma operação limiar adaptativa é realizada, em que a representação de domínio de tempo do espectro de correlação cruzada generalizado suavizado é analisada a fim de determinar um limite variável, que depende na representação de domínio de tempo e um pico da representação de domínio de tempo é comparado com o limite variável, em que uma diferença de tempo intercanal é determinada como uma defasagem de tempo associada a um pico que está em uma relação predeterminada com o limite, como sendo maior do que o limite.
[0021] Em uma modalidade, o limite variável é determinado como um valor que é igual a um múltiplo inteiro de um valor entre os maiores, por exemplo dez por cento dos valores da representação de domínio de tempo ou, alternativamente, em uma modalidade adicional para a determinação variável, o limite variável é calculado por uma multiplicação do limite variável e o valor, onde o valor depende de uma característica de relação sinal-ruído do primeiro e do segundo sinais de canal, onde o valor se torna mais alto para uma relação sinal-ruído mais alta e se torna menor para uma relação sinal-ruído mais baixa.
[0022] Conforme afirmado antes, o cálculo da diferença de tempo intercanal pode ser usado em muitas aplicações diferentes, como o armazenamento ou transmissão de dados paramétricos, um processamento/codificação de estéreo/multicanal, um alinhamento de tempo de dois canais, uma estimativa de diferença de tempo de chegada para a determinação da posição de um alto-falante em uma sala com dois microfones e uma configuração conhecida, para fins de formação de feixe, filtragem espacial, decomposição de primeiro plano/plano de fundo ou uma determinação de localização de uma fonte de som, por exemplo por triangulação acústica com base na diferença de tempo de dois ou três sinais.
[0023] A seguir, no entanto, uma implementação e uso preferidos do cálculo de diferença de tempo intercanal são descritos com a finalidade de alinhamento de tempo de banda larga de dois sinais estéreo em um processo de codificação de um sinal multicanal que tem pelo menos dois canais.
[0024] Um aparelho para codificar um sinal multicanal que tem pelo menos dois canais compreende um determinante de parâmetro para determinar um parâmetro de alinhamento de banda larga por um lado e uma pluralidade de parâmetros de alinhamento de banda estreita por outro.
Esses parâmetros são usados por um alinhador de sinal para alinhar os pelo menos dois canais que usam esses parâmetros para obter canais alinhados. Em seguida, um processador de sinal calcula um sinal médio e um sinal lateral usando os canais alinhados e o sinal médio e o sinal lateral são subsequentemente codificados e encaminhados em um sinal de saída codificado que possui adicionalmente, como informações lateral paramétrica, o parâmetro de alinhamento de banda larga e a pluralidade de parâmetros de alinhamento de banda estreita.
[0025] No lado do decodificador, um decodificador de sinal decodifica o sinal intermediário codificado e o sinal lateral codificado para obter sinais intermediários e laterais decodificados. Esses sinais são então processados por um processador de sinal para calcular um primeiro canal decodificado e um segundo canal decodificado. Esses canais decodificados são então desalinhados usando as informações no parâmetro de alinhamento de banda larga e as informações na pluralidade de parâmetros de banda estreita incluídos em um sinal multicanal codificado para obter o sinal multicanal decodificado.
[0026] Em uma implementação específica, o parâmetro de alinhamento de banda larga é um parâmetro de diferença de tempo intercanal e a pluralidade de parâmetro de alinhamento de banda estreita são diferenças de fase intercanais.
[0027] A presente invenção é baseada na descoberta de que especificamente para sinais de fala onde há mais de um alto-falante, mas também para outros sinais de áudio onde há várias fontes de áudio, os diferentes locais das fontes de áudio que mapeiam ambos em dois canais do sinal multicanal pode ser contabilizado usando um parâmetro de alinhamento de banda larga, como um parâmetro de diferença de tempo intercanal que é aplicado a todo o espectro de um ou ambos os canais. Além desse parâmetro de alinhamento de banda larga, constatou-se que vários parâmetros de alinhamento de banda estreita que diferem de sub-banda para sub-banda resultam adicionalmente em um melhor alinhamento do sinal em ambos os canais.
[0028] Assim, um alinhamento de banda larga correspondente ao mesmo atraso em cada sub-banda junto com um alinhamento de fase correspondente a diferentes rotações de fase para diferentes sub-bandas resulta em um alinhamento ideal de ambos os canais antes que esses dois canais sejam então convertidos em uma representação média/lateral que é então codificado. Devido ao fato de que um alinhamento ótimo foi obtido, a energia no sinal intermediário é tão alta quanto possível por um lado e a energia no sinal lateral é tão pequena quanto possível por outro lado, de modo que um resultado de codificação ideal com uma taxa de bits mais baixa possível ou uma qualidade de áudio mais alta possível para uma determinada taxa de bits pode ser obtida.
[0029] Especificamente para material de fala de conversação, parece que normalmente há falantes ativos em dois lugares diferentes. Além disso, a situação é tal que, normalmente, apenas um falante está falando do primeiro lugar e, em seguida, o segundo falante está falando do segundo lugar ou local. A influência dos diferentes locais nos dois canais, como um primeiro canal ou canal esquerdo e um segundo canal ou canal direito é refletida por diferentes tempos de chegadas e, portanto, um certo atraso de tempo entre ambos os canais devido aos diferentes locais, e esse atraso muda de tempos em tempos. Geralmente, essa influência é refletida nos dois sinais de canal como um desalinhamento de banda larga que pode ser endereçado pelo parâmetro de alinhamento de banda larga.
[0030] Por outro lado, outros efeitos, particularmente vindos de reverberação ou fontes de ruído adicionas podem ser explicados por parâmetros de alinhamento de fase individuais para bandas individuais que são sobrepostas nos diferentes tempos de chegada de banda larga ou desalinhamento de banda larga de ambos os canais.
[0031] Em vista disso, o uso de ambos, um parâmetro de alinhamento de banda larga e uma pluralidade de parâmetros de alinhamento de banda estreita no topo do parâmetro de alinhamento de banda larga resulta em um alinhamento de canal ideal no lado do codificador para obter uma boa e muito compacta representação intermediária/lateral enquanto, por outro lado, um desalinhamento correspondente subsequente a uma decodificação no lado do decodificador resulta em uma boa qualidade de áudio para uma determinada taxa de bits ou em uma pequena taxa de bits para uma certa qualidade de áudio desejada.
[0032] Uma vantagem da presente invenção é que ela fornece um novo esquema de codificação estéreo muito mais adequado para uma conversão de fala estéreo do que os esquemas de codificação estéreo existentes. De acordo com a invenção, as tecnologias estéreo paramétricas e tecnologias de codificação estéreo são combinadas, particularmente, explorando a diferença de tempo intercanal que ocorre nos canais de um sinal multicanal especificamente no caso de fontes de fala, mas também no caso de outras fontes de áudio.
[0033] Várias modalidades fornecem vantagens úteis, conforme discutido mais tarde.
[0034] O novo método é uma abordagem híbrida que mistura elementos de um estéreo M/S convencional e estéreo paramétrico. Em um M/S convencional, os canais são mixados passivamente para gerar um sinal intermediário e um sinal lateral. O processo pode ser estendido adicionalmente girando o canal que usa uma transformada Karhunen-Loeve (KLT), também conhecida como Análise de Componentes Principais (PCA) antes de somar e diferenciar os canais. O sinal intermediário é codificado em uma codificação de código primária, enquanto o lado é transmitido para um codificador secundário. O estéreo M/S evoluído pode ainda usar a previsão do sinal lateral pelo canal intermediário codificado no quadro presente ou anterior. O principal objetivo da rotação e previsão é maximizar a energia do sinal intermediário, enquanto minimiza a energia do lado. O estéreo M/S preserva a forma de onda e, nesse aspecto, é muito robusto para qualquer cenário estéreo, mas pode ser muito caro em termos de consumo de bits.
[0035] Para maior eficiência em taxas de bits baixas, cálculos estéreo paramétrico e parâmetros de códigos, como Diferenças de Nível Intercanais (ILDs), Diferenças de Tempo Intercanais (IPDs), Diferenças de Tempo Intercanais (ITDs) e Coerência Intercanais (ICs). Eles representam compactamente a imagem estéreo e são indicativos da cena auditiva (localização da fonte,
panorâmica, largura do estéreo…). O objetivo é então parametrizar a cena estéreo e codificar apenas um sinal de mixagem de redução que pode estar no decodificador e com a ajuda dos indicativos estéreo transmitidas ser novamente especializado.
[0036] Nossa abordagem misturou os dois conceitos.
Primeiro, os indicativos estéreo ITD e IPD são computados e aplicados nos dois canais. O objetivo é representar a diferença de tempo em banda larga e a fase em diferentes bandas de frequência. Os dois canais são então alinhados em tempo e fase e a codificação M/S é então realizada. A ITD e a IPD foram consideradas úteis para modelar a fala estéreo e são um bom substituto da rotação com base em KLT em M/S.
ao contrário de uma codificação paramétrica pura, o ambiente não é mais modelado pelos ICs, mas diretamente pelo sinal lateral que é codificado e/ou previsto.
Constatou-se que essa abordagem é mais robusta, especialmente ao lidar com sinais de fala.
[0037] O cálculo e processamento de ITDs é uma parte crucial da invenção. As ITDs já eram exploradas na Codificação de Indicativo Binaural (Binaural Cue Coding (BCC)) da técnica anterior, mas de uma forma que era ineficiente uma vez que as ITDs mudam ao longo do tempo.
Para evitar essa deficiência, uma janela específica foi projetada para suavizar as transições entre duas ITDs diferentes e ser capaz de alternar perfeitamente de um alto-falante para outro posicionado em lugares diferentes.
[0038] Outras modalidades estão relacionadas ao procedimento que, no lado do codificador, a determinação do parâmetro para determinar a pluralidade de parâmetros de alinhamento de banda estreita usando canais que já foram alinhados com o parâmetro de alinhamento de banda larga determinado anteriormente.
[0039] Correspondentemente, o desalinhamento de banda estreita no lado do decodificador é executado antes que o desalinhamento de banda larga seja realizado usando o parâmetro de alinhamento de banda larga tipicamente único.
[0040] Em modalidades adicionais, é preferido que, seja no lado do codificador, mas ainda mais importante no lado do decodificador, algum tipo de operação em janelas e sobrepor-adicionar ou qualquer tipo de desvanecimento cruzado de um bloco para o próximo seja realizado subsequente a todos os alinhamentos e, especificamente, subsequente a um alinhamento de tempo usando o parâmetro de alinhamento de banda larga. Isso evita quaisquer artefatos audíveis, como cliques quando o tempo ou parâmetro de alinhamento de banda larga muda de bloco para bloco.
[0041] Em outras modalidades, são aplicadas diferentes resoluções espectrais. Particularmente, os sinais de canais são submetidos a uma conversão espectral de tempo que tem uma resolução de alta frequência, como um espectro DFT, enquanto os parâmetros, como os parâmetro de alinhamento de banda estreita são determinados para bandas com uma resolução espectral inferior. Normalmente, uma banda de parâmetro tem mais de uma linha espectral do que o espectro do sinal e normalmente tem um conjunto de linhas espectrais do espectro DFT. Além disso, as bandas de parâmetros aumentam de frequências baixas para frequências altas, a fim de levar em conta problemas psicoacústicos.
[0042] Modalidades adicionais referem-se a um uso adicional de um parâmetro de nível, como uma diferença entre níveis ou outros procedimentos para processar o sinal lateral, como parâmetros de enchimento estéreo, etc. O sinal lateral codificado pode ser representado pelo próprio sinal lateral real, ou por um sinal residual de previsão que é realizado usando o sinal intermediário do quadro atual ou qualquer outro quadro, ou por um sinal lateral ou um sinal residual de previsão lateral em apenas um subconjunto de bandas e parâmetros de previsão apenas para as bandas restantes, ou mesmo por parâmetros de previsão para todas as bandas sem qualquer informação de sinal lateral de resolução de alta frequência. Logo, na última alternativa acima, o sinal lateral codificado é apenas representado por um parâmetro de previsão para cada banda de parâmetro ou apenas um subconjunto de bandas de parâmetros, de modo que para as bandas de parâmetros restantes não exista nenhuma informação no sinal lateral original.
[0043] Ademais, é preferível ter a pluralidade de parâmetros de alinhamento de banda estreita não para todas as bandas de parâmetros que refletem toda a largura de banda do sinal de banda larga, mas apenas para um conjunto de bandas inferiores, como os 50 por cento inferiores das bandas de parâmetros. Por outro lado, os parâmetros de enchimento estéreo não são usados para o par de bandas inferiores, uma vez que, para essas bandas, o próprio sinal lateral ou um sinal residual de previsão é transmitido a fim de garantir que, pelo menos para as bandas inferiores, uma representação correta da forma de onda está disponível.
Por outro lado, o sinal lateral não é transmitido em uma representação exata da forma de onda para das bandas mais altas, a fim de diminuir ainda mais a taxa de bits, mas o sinal lateral é tipicamente representado por parâmetros de enchimento estéreo.
[0044] Ademais, é preferível realizar toda a análise de parâmetro e alinhamento dentro de um e no mesmo domínio de frequência com base no mesmo espectro DFT. Para esse fim, é ainda mais preferido usar a tecnologia de correlação cruzada generalizada com tecnologia de transformação de fase (GCC-PHAT) para o fim de determinação de diferença de tempo intercanal. Em uma modalidade preferida desse procedimento, uma suavização de um espectro de correlação com base em uma informação em uma forma espectral, as informações que são, de preferência, uma medida de nivelamento espectral realizada de tal forma que uma suavização será fraca no caso de sinais semelhantes a ruído e uma suavização se tornarão mais forte no caso de sinais semelhantes a tom.
[0045] Além disso, é preferível realizar uma rotação de fase especial, onde as amplitudes do canal são levadas em consideração. Particularmente, a rotação de fase é distribuída entre os dois canais para fins de alinhamento no lado do codificador e, é claro, para fins de desalinhamento do lado do decodificador, onde um canal que tem uma amplitude mais alta é considerado como um canal líder e será menos afetado pela rotação de fase, isto é, será menos girado do que um canal com uma amplitude menor.
[0046] Ademais, o cálculo da diferença de soma é realizado usando uma escala de energia com um fator de escala que é derivado das energias de ambos os canais e é, adicionalmente, limitado a uma determinada faixa, a fim de garantir que o cálculo do intermediário/lado não está afetando muito a energia. Por outro lado, no entanto, deve- se notar que, para o propósito da presente invenção, esse tipo de conservação de energia não é tão crítico quanto nos procedimentos da técnica anterior, uma vez que o tempo e a fase foram alinhados previamente. Portanto, as flutuações de energia devido ao cálculo de um sinal intermediário e um sinal lateral esquerdo e direito (no lado do codificador) ou devido ao cálculo de sinal esquerdo e direito do intermediário e do lado (no lado do decodificador) não são tão significativos como na técnica anterior.
[0047] Subsequentemente, as modalidades preferidas da presente invenção são discutidas em relação aos desenhos anexos nos quais: A Figura 1 é um diagrama em bloco de uma implementação preferida de um aparelho para codificar um sinal multicanal; A Figura 2 é uma modalidade preferida de um aparelho para decodificar um sinal multicanal codificado;
A Figura 3 é uma ilustração de diferentes resoluções de frequência e outros aspectos relacionados à frequência para certas modalidades;
A Figura 4a ilustra um fluxograma de procedimentos realizados no aparelho para codificação com o propósito de alinhar os canais;
A Figura 4b ilustra uma modalidade de procedimentos realizados no domínio de frequência;
A Figura 4c ilustra uma modalidade de procedimentos realizados no aparelho para codificação usando uma janela de análise com porções de preenchimento zero e intervalos de sobreposição;
A Figura 4d ilustra um fluxograma para procedimentos adicionais realizados dentro do aparelho para codificação;
A Figura 4e ilustra um fluxograma para mostrar uma implementação de uma estimativa de diferença de tempo intercanal;
A Figura 5 ilustra um fluxograma que ilustra uma modalidade adicional de procedimentos realizados no aparelho para codificação;
A Figura 6a ilustra um gráfico de blocos de uma modalidade de um codificador;
A Figura 6b ilustra um fluxograma de uma modalidade correspondente de um decodificador;
A Figura 7 ilustra um cenário de janela preferido com janelas sinusoidais de sobreposição baixa com preenchimento zero para uma análise e síntese de frequência de tempo estéreo;
A Figura 8 ilustra uma tabela que mostra o consumo de bits de diferentes valores de parâmetros;
A Figura 9a ilustra procedimentos realizados por um aparelho para decodificar um sinal multicanal codificado numa modalidade preferida;
A Figura 9b ilustra uma implementação do aparelho para decodificar um sinal multicanal codificado;
A Figura 9c ilustra um procedimento realizado no contexto de um desalinhamento de uma banda larga no contexto da decodificação de um sinal multicanal codificado;
A Figura 10a ilustra uma modalidade de um aparelho para estimar uma diferença de tempo intercanal;
A Figura 10b ilustra uma representação esquemática de um processamento adicional de sinal onde a diferença de tempo intercanal é aplicada;
A Figura 10c ilustra uma representação esquemática do analisador de sinal implementado como um estimador de ruído em uma modalidade e o ponderador de acordo com modalidades da invenção;
A Figura 10d ilustra uma representação esquemática do ponderador de acordo com modalidades da invenção;
A Figura 10e ilustra uma representação esquemática do processador de acordo com modalidades da invenção;
A Figura 10f ilustra uma representação esquemática do estimador de ruído de acordo com modalidades da invenção;
A Figura 11a ilustra procedimentos realizados pelo processador da Figura 10a;
A Figura 11b ilustra os procedimentos adicionais realizados pelo processador na Figura 10a; A Figura 11c ilustra uma implementação adicional do cálculo de um limite variável e o uso do limite variável na análise da representação de domínio de tempo; A Figura 11d ilustra uma primeira modalidade para a determinação do limite variável; A Figura 11e ilustra uma implementação adicional da determinação do limite; A Figura 11f ilustra uma representação esquemática do processador de acordo com modalidades da invenção; A Figura 12 ilustra uma representação de domínio de tempo para um espectro de correlação cruzada suavizado para um sinal de fala limpo; A Figura 13 ilustra uma representação de domínio de tempo de um espectro de correlação cruzada suavizado para um sinal de fala que tem ruído e ambiência.
[0048] A Figura 10a ilustra uma modalidade de um aparelho para estimar uma diferença de tempo intercanal entre um primeiro sinal de canal, como um canal esquerdo e um segundo sinal de canal, como um canal direito. Esses canais são introduzidos em um conversor espectral de tempo 150 que é adicionalmente ilustrado, em relação à Figura 4e conforme item 451.
[0049] Ademais, a representação de domínio de tempos do sinal de canais esquerdo e direito em uma calculadora 1020 para calcular um espectro de correlação cruzada para um bloco de tempo a partir do primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo. Além disso, o aparelho compreende um estimador de característica espectral 1010 para estimar uma característica de um espectro do primeiro sinal de canal ou o segundo sinal de canal para o bloco de tempo. O aparelho compreende adicionalmente um filtro de suavização 1030 para suavizar o espectro de correlação cruzada ao longo do tempo usando a característica espectral para obter um espectro de correlação cruzada suavizado. O aparelho compreende adicionalmente um processador 1040 para processar o espectro de correlação suavizada para obter a diferença de tempo intercanal.
[0050] Alternativamente, em outra modalidade, o elemento 1030 não está presente e, portanto, o elemento 1010 também não é necessário, como indicado pela linha tracejada 1035. O aparelho compreende adicionalmente um analisador de sinal 1037 que calcula uma característica de sinal estimada, como uma estimativa de ruído 1038. Essa estimativa é enviada para um ponderador 1036 configurado para realizar diferentes operações de ponderação dependendo da estimativa da característica de sinal. A estimativa característica de sinal é, de preferência, também usada para controlar o processador 1040, por exemplo, quando o processador 1040 realiza a operação de escolha de pico. A Figura 10c ilustra adicionalmente o analisador de sinal 1037 e o ponderador controlável 1036.
[0051] Particularmente, um aparelho de acordo com modalidades da presente invenção é direcionado para a estimativa de uma diferença de tempo intercanal entre um primeiro sinal de canal e um segundo sinal de canal. Esse dispositivo compreende o analisador de sinal 1037 da Figura 10a, um espectro de correlação cruzada calculadora 1020 da Figura 10a, um ponderador 1036 para ponderar um espectro de correlação cruzada suavizado ou não suavizado da Figura 10a e um processador subsequentemente conectado 1040 para processar o espectro de correlação cruzada ponderado.
[0052] Os elementos conversores de espectro de tempo 150, estimador de característica espectral 1010, filtro de suavização 1030 não são necessários para uma implementação básica da invenção predefinida, mas são preferidos para modalidades da presente invenção. O analisador de sinal 1037 é configurado para estimar uma característica de sinal, como um nível de ruído 1038 do primeiro sinal de canal ou o segundo sinal de canal ou ambos os sinais ou um sinal derivado do primeiro sinal de canal ou o segundo sinal de canal. Assim, a característica de sinal ou estimativa de característica de sinal, como uma estimativa de ruído a ser usada posteriormente pelo ponderador 1036 e, de preferência, também usada pelo processador 1040 pode ser derivada apenas do primeiro sinal de canal esquerdo, apenas do segundo ou sinal de canal direito, ou pode ser derivado de ambos os sinais. A derivação da característica de sinal de ambos os sinais poderia, por exemplo, ser uma derivação de uma característica de sinal individual do primeiro sinal de canal, uma característica de sinal individual adicional do segundo sinal de canal direito e, então, a característica de sinal final 1038 seria, por exemplo, uma média ou uma média ponderada entre ambos os canais. Aqui, por exemplo, a ponderação pode ser feita de acordo com a amplitude de modo que diferentes amplitudes em, por exemplo, quadros dos canais resultem em diferentes influências da estimativa de ruído individual correspondente no nível de ruído final
1038. Além disso, o sinal derivado do primeiro sinal de canal e o segundo sinal de canal podem ser, por exemplo, um sinal de combinação obtido adicionando o primeiro sinal de canal esquerdo ou direito e o segundo sinal de canal ou direito juntos para obter um sinal combinado e, então, a característica de sinal 1038 é calculada a partir do sinal combinado.
[0053] Em uma modalidade preferida, o analisador de sinal 1036 é implementado como um estimador de ruído ou analisador. No entanto, outras formas de análise de sinal podem ser realizadas, bem como análise de tonalidade, detecção de atividade de voz, uma análise de transientes, uma análise estéreo, uma análise de fala/música, análise locutor interferente, uma análise de música de fundo, uma análise de fala limpa ou qualquer outro sinal a fim de determinar, se um sinal tem uma primeira característica ou uma segunda característica de modo que o procedimento de ponderação correspondente seja selecionado.
[0054] A combinação pode ser uma combinação com fatores de ponderação iguais, isto é, uma combinação do canal esquerdo sem qualquer ponderação e o canal direito sem qualquer ponderação que corresponderia a fatores de ponderação de 1,0 ou, alternativamente, diferentes fatores de ponderação podem ser aplicados. Além disso, o sinal derivado do primeiro canal ou o sinal derivado do segundo canal pode ser obtido realizando-se uma filtragem passa- alta ou filtragem passa-baixa ou pode ser derivado realizando-se um processamento usando uma função de compressão de amplitude ou uma compressão inversa de amplitude. Uma função de compressão de amplitude seria uma função de log ou uma função com um valor de potência menor que 1. Uma função de compressão inversa seria uma função exponencial ou uma função de potência com um exponente sendo maior que 1. Assim, dependendo de certas implementações, diferentes operações de processamento podem ser aplicadas a diferentes sinais de canais esquerdo e direito e ambos os canais podem ser combinados ou não. Na modalidade preferida, os canais esquerdo e direito são adicionados em conjunto, de preferência, mesmo sem qualquer ponderação específica, e a estimativa de característica de sinal é então calculada a partir do resultado do cálculo da combinação.
[0055] A calculadora 1020 para calcular um espectro de correlação cruzada para um bloco de tempo a partir do primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo pode ser implementada de várias maneiras. Uma maneira é que uma correlação cruzada é calculada a partir dos sinais de domínio de tempo nos quadros de domínio de tempo e o resultado é então convertido a partir do domínio de tempo para o domínio espectral. Outra implementação é que, por exemplo, usando-se um DFT ou qualquer outra conversão de tempo espectral, quadros subsequentes do primeiro sinal de canal e quadros subsequentes do segundo sinal de canal são convertidos em uma representação espectral onde os quadros subsequentes podem ser sobrepostos ou não sobrepostos.
Assim, para cada bloco de tempo do primeiro sinal de canal, uma representação espectral é obtida e, correspondentemente, para cada bloco de tempo do segundo sinal de canal, uma representação espectral é obtida. O cálculo de correlação cruzada é realizado multiplicando-se um valor espectral de uma certa frequência bin k e um certo bloco de tempo ou índice de amostra de tempo s pelo valor complexo conjugado do valor espectral com o mesmo índice k e o mesmo índice s da representação espectral do mesmo bloco de tempo do segundo canal. Outros procedimentos de cálculo de correlação cruzada diferentes dos descritos acima podem ser usados também a fim de calcular o espectro de correlação cruzada para um bloco de tempo.
[0056] O ponderador 1036 é configurado para ponderar o espectro de correlação cruzada obtido pela calculadora. Em uma implementação, o espectro de correlação cruzada é um espectro de correlação cruzada não suavizado, mas em outras modalidades, o espectro de correlação cruzada é suavizado onde essa suavização é uma suavização em relação ao tempo. Assim, para o propósito de cálculo do espectro de correlação cruzada suavizado, o espectro de correlação cruzada do último bloco pode ser usado junto com um espectro de correlação cruzada (bruto) do bloco atual e, dependendo da implementação, as informações de controle de suavização podem ser usadas como são, por exemplo, fornecidas pelo estimador de característica espectral 1010 da Figura 10a. No entanto, a suavização também pode ser realizada usando uma configuração de suavização predeterminada, isto é, constante ou invariante de tempo.
De acordo com as modalidades da invenção, o espectro de correlação cruzada ponderado é calculado usando um primeiro procedimento de ponderação 1036a ou usando um segundo procedimento de ponderação 1036b que são, por exemplo, ilustrados na Figura 10d. Particularmente, a seleção, se o espectro de correlação cruzada ponderado é derivado usando o primeiro ou o segundo procedimento é feita dependendo da característica de sinal estimada pelo analisador de sinal
1037. Assim, de acordo com a presente invenção, uma ponderação com uma primeira característica de ponderação é usada para uma certa característica de sinal do primeiro canal ou o segundo canal ou o sinal combinado, enquanto um segundo procedimento de ponderação é aplicado dependendo de outra característica de sinal, conforme determinado pelo analisador de sinal 1037. O resultado do ponderador 1036 é um espectro de correlação cruzada ponderado e suavizado ou não suavizado que é então processado adicionalmente pelo processador 1040 para obter a diferença de tempo intercanal entre o primeiro sinal de canal e o segundo sinal de canal.
[0057] A Figura 10d ilustra uma implementação do analisador de sinal como um estimador de ruído e o ponderador em conexão com o processador 1040 de acordo com uma modalidade da invenção.
Particularmente, o estimador de ruído 1037 compreende uma calculadora de estimativa de ruído 1037a e um classificador de estimativa de ruído
1037b.
O classificador de estimativa de ruído 1037b emite um sinal de controle 1050 correspondente à saída de estimativa correspondente à saída de estimativa de ruído
1038 gerada pelo bloco 1037 na Figura 10a.
Esse sinal de controle pode ser aplicado a um primeiro comutador 1036c ou um segundo comutador 1036d.
Nessa implementação, o processamento de núcleos 1036a implementando o primeiro procedimento de ponderação e outro núcleo de cálculo para implementar o segundo procedimento de ponderação 1036b é fornecido.
Dependendo da implementação, apenas o comutador
1036c é fornecido e, dependendo do sinal de controle 1050,
apenas o procedimento de ponderação, conforme determinado pelo comutador 1036c é selecionado, isto é, o espectro de correlação cruzada, conforme determinado pela calculadora
1020, é introduzido no comutador 1036c e dependendo da configuração do comutador, encaminhando ou para o núcleo
1036a ou o núcleo 1036b.
Em outra implementação, o comutador 1036c não está lá pelo espectro de correlação cruzada conforme determinado pelo bloco 1020 é alimentado em ambos os núcleos de processamento 1036a e 1036b e,
dependendo do controle do comutador de saída 1036d, ou a saída do bloco 1036a ou a saída do bloco 1036b é selecionado e encaminhado para o processador 1040. Assim,
dependendo da implementação, apenas um único espectro de correlação cruzada ponderado é calculado onde a seleção do qual é calculada é feita pelo sinal de controle 1050 e o comutador de entrada. Alternativamente, ambos os espectros de correlação cruzada ponderados e apenas o espectro de correlação cruzada que é selecionado pelo comutador de saída 1036d é encaminhado para o processador 1040. Além disso, apenas um único núcleo de processamento pode estar lá sem quaisquer comutadores de entrada/saída e dependendo do sinal de controle, o procedimento de ponderação correto é definido para o bloco de tempo correspondente. Assim, para cada bloco de tempo, uma estimativa de ruído ou sinal de controle 1050 pode ser calculada e, para cada bloco de tempo, a ponderação pode ser trocada de um procedimento de ponderação para outro procedimento de ponderação. Nesse contexto, deve-se notar que também podem ser implementados três ou mais procedimentos de ponderação diferentes dependendo de três ou mais estimativas de ruídos diferentes, conforme o caso. Assim, a presente invenção não só incorre na seleção entre dois procedimentos de ponderação diferentes, mas também inclui a seleção entre três ou mais procedimentos de ponderação dependendo de um sinal de controle derivado da característica de ruído do primeiro e o segundo sinais de canal.
[0058] Em uma implementação preferida, o primeiro procedimento de ponderação compreende uma ponderação de modo que uma amplitude seja normalizada e uma fase seja mantida e o segundo procedimento de ponderação compreende um fator de ponderação derivado do espectro de correlação cruzada suavizado ou não suavizado usando uma operação de potência que tem uma potência que é inferior a 1 ou maior do que 0. Além disso, o primeiro procedimento de ponderação pode ser mais idêntico ao segundo procedimento de ponderação exceto que o segundo procedimento de ponderação usa uma potência entre 0 e 1, isto é, uma potência que é maior do que 0 e menor do que 1, enquanto o primeiro procedimento de ponderação não aplica nenhuma potência ou,
dito em outras palavras, aplica uma potência de 1. Assim, a normalização realizada pelo segundo procedimento de ponderação é comprimida, isto é, aquele fator de normalização aplicado pelo primeiro procedimento de pesagem tem algum valor e o fator de normalização aplicado por meio do segundo procedimento de ponderação ao mesmo valor de correlação cruzada espectral tem uma magnitude.
Isso se aplica a valores especiais mais altos do espectro de correlação cruzada.
No entanto, para pequenos valores do espectro de correlação cruzada, o valor de correlação para o segundo procedimento de ponderação é maior do que o valor de correlação para o primeiro procedimento de ponderação em relação ao mesmo valor espectral do espectro de correlação cruzada.
Isso se deve ao fato de que uma operação de potência com uma potência menor do que 1, como uma operação de raiz quadrada que tem uma potência de 1/2, aumenta os valores pequenos, mas diminui os valores altos.
Assim, os cálculos do fator de ponderação adicional para o segundo procedimento de ponderação também pode compreender qualquer função de compressão, como uma função de log.
Em uma modalidade preferida, o primeiro procedimento de ponderação opera com base na ponderação aplicada para a transformada de fase (PHAT), e o segundo procedimento de ponderação opera com base nos cálculos aplicados para o procedimento de fase de espectro de potência cruzada modificado (MCSP).
[0059] Ademais, o segundo procedimento de ponderação é, de preferência, implementado para compreender uma normalização de modo que uma faixa de saída do segundo procedimento de normalização esteja em uma faixa, na qual uma faixa de saída do primeiro procedimento de normalização esteja posicionada, ou de modo que a faixa de saída do segundo procedimento de normalização seja a mesma que uma faixa de saída do primeiro procedimento de normalização.
Isso pode, por exemplo, ser implementado calculando-se os valores absolutos de todos os valores espectrais do espectro de correlação cruzada ponderado de MCSP, adicionando todas as magnitudes de uma representação espectral correspondente a um bloco de tempo e então dividindo o resultado pelo número de valores espectrais em um bloco de tempo.
[0060] Geralmente, o processador 1040 da Figura 10a é configurado para realizar algumas etapas de processamento em relação ao espectro de correlação cruzada ponderado onde, particularmente, uma certa operação de escolha de pico é realizada a fim de finalmente obter a diferença de tempo intercanal. De preferência, essa operação de escolha de pico ocorre no domínio de tempo, isto é, o espectro de correlação cruzada ponderado e suavizado ou não suavizado é convertido a partir da representação espectral em uma representação de domínio de tempo e, então, essa representação de domínio de tempo é analisada e, particularmente, um pico ou vários picos são selecionados com base em um limite. Dependendo da configuração da estimativa de ruído, ou uma primeira operação de escolha de pico ou uma segunda operação de escolha de pico é realizada, onde, de preferência, ambas as operações de escolha de picos são diferentes uma da outra em relação ao limite usado pela operação de escolha de pico.
[0061] A Figura 10e ilustra uma situação que é semelhante, em relação ao comutador de entrada 1040 e comutador de saída 1043, ao procedimento na Figura 10d. Em uma implementação ilustrada na Figura 10e, ambas as operações de escolha de picos podem ser aplicadas e o resultado da operação de escolha de pico “correta” pode ser selecionada pelo comutador de saída 1043. Alternativamente, o comutador de entrada está lá e depende do sinal de controle 1050, apenas o procedimento de seleção de pico correto é selecionado, isto é, 1041 ou 1042. Assim, em uma implementação, não haverá ambos os comutadores, mas em uma implementação haverá ou o comutador de entrada 1040 ou o comutador de saída 1043 em analogia ao que foi derivado antes em relação à Figura 10d. Em uma implementação adicional, existe apenas um único núcleo de processamento que aplica a operação de escolha de pico com um limite variável e o sinal de controle 1050 é usado a fim de definir o limite correto dentro de um único núcleo de processamento. Em uma modalidade preferida, a configuração do limite é realizada de tal forma que o segundo limite é mais alto do que o primeiro limite, onde o segundo limite, portanto, é usado quando o segundo procedimento de ponderação no bloco 1036b tiver sido aplicado, e onde o primeiro limite é usado, quando o primeiro procedimento de ponderação no bloco 1036a tiver sido aplicado. Assim, quando um alto nível de ruído de fundo for detectado, então, o segundo procedimento de ponderação com uma potência entre 0 e 1 ou uma operação de log, isto é, um procedimento de compressão é aplicado e, então, o limite para o pico de captação deve ser menor em comparação a um pico de captação limite a ser usado quando um baixo nível de ruído de fundo for detectado, isto é, quando o primeiro procedimento de ponderação for aplicado que realiza uma normalização com um fator de normalização que não depende de uma função de compressão, como uma função de log ou uma função de potência com uma potência menor do que 1.
[0062] Subsequentemente, uma implementação preferida do analisador de sinal como o estimador de ruído 1037 é ilustrado na Figura 10f. Basicamente, o estimador de ruído 1037 consiste em uma calculadora de estimativa de ruído 1037a e um classificador de estimativa de ruído 1037b conforme ilustrado na Figura 10d e também indicado na Figura 10f. A calculadora de estimativa de ruído 1037a compreende um estimador de ruído de fundo 1060 e o subsequentemente conectado (tempo) suavizador 1061 que pode, por exemplo, ser implementado como um filtro IIR.
[0063] A entrada na calculadora de estimativa de ruído 1037a ou, particularmente, o estimador de ruído de fundo 1060 é um quadro do primeiro sinal de canal esquerdo, um quadro do segundo ou sinal de canal direito ou um sinal derivado de tal sinal de canal ou um sinal combinado obtido adicionando-se, por exemplo, uma representação de domínio de tempo do primeiro sinal de canal e uma representação de domínio de tempo do segundo sinal de canal no mesmo bloco de tempo.
[0064] Em relação ao classificador de estimativa de ruído 1037b, o sinal de entrada é entregue a um detector de atividade de sinal 1070 que controla um seletor 1071.
Com base no resultado do detector de atividade de sinal 1070, o seletor 1071 seleciona apenas os quadros ativos.
Além disso, uma calculadora de nível de sinal 1072 é conectada subsequentemente ao seletor 1071. O nível de sinal calculado é então encaminhado para um (tempo) suavizador 1073 que é, por exemplo, implementado como um filtro IIR. Então, nos blocos 1074, um cálculo da razão sinal-ruído ocorre e o resultado é comparado, dentro de um comparador 1075 a um limite predeterminado preferência que é, por exemplo, entre 45 dB e 25 dB e, de preferência, é mesmo em uma faixa entre 30 e 40 dB e mais de preferência, está em 35 dB.
[0065] A saída do comparador 1075 é o resultado da detecção que indica um alto nível de ruído ou um baixo nível de ruído ou que indica que uma configuração de limite de uma certa forma deve ser realizada por um único processador de procedimento de ponderação ou, quando há dois processadores de procedimento de ponderação conforme ilustrado na Figura 10d, então o resultado da decisão do comparador 1075, isto é, sinal 1050 controla ou o comutador de entrada 1036c ou o comutador de saída 1036d a fim de encaminhar o espectro de correlação cruzada ponderado corretamente para o processador 1040.
[0066] O resultado de detecção 1050 é, de preferência, calculado para cada bloco de tempo ou quadro.
Assim, quando, por exemplo, para um certo quadro, o detector de atividade de sinal 1070 indicar que esse é um quadro não ativo, então nem um cálculo de nível de sinal nem uma suavização de tempo é realizada para esse quadro, uma vez que o seletor 1071 apenas seleciona um quadro ativo. Assim, para um quadro inativo um cálculo de razão SNR não é realizado em uma modalidade e, portanto, nessa modalidade, para esse quadro inativo, um resultado de detecção não é fornecido. Assim, em uma implementação, o mesmo procedimento de ponderação conforme foi determinado antes em relação ao último quadro ativo é usado ou, alternativamente, para um quadro inativo, tanto o primeiro procedimento de ponderação ou o segundo procedimento de ponderação ou mesmo um terceiro procedimento de ponderação é aplicado como solução de recurso. Alternativamente, a calculadora de razão SNR 1074 pode ser implementada para usar, para um quadro inativo, o nível de sinal suavizado no tempo do último ou mais recentemente quadro ativo. Assim, o resultado de detecção pode ser obtido mesmo para quadros inativos ou, para quadros inativos, um determinado (recurso) procedimento de ponderação é usado ou, para quadros inativos, o mesmo procedimento de ponderação, conforme foi determinado para o último quadro ativo anterior ao quadro inativo continua a ser usado conforme o caso.
[0067] Em um pedido de patente anterior [1], um estimador de Diferença de Tempo Intercanal (ITD) foi introduzido. Esse estimador é com base na Correlação Cruzada Generalizada com Transformada PHAse (GCC-PHAT), uma técnica amplamente usada na literatura TDOA (o artigo inicial é [2], outra boa referência é [3]). A diferença de tempo entre os dois canais é encontrada escolhendo o pico da saída do GCC. Uma melhor robustez pode ser obtida usando-se um grande comprimento de janela de análise ou suavizando o espectro de correlação cruzada ao longo do tempo. A principal contribuição de [1] foi tornar essa suavização adaptativa com um fator de suavização dependente de uma medida de nivelamento espectral.
[0068] As etapas do estimador ITD de [1] podem ser descritas a seguir: Transformada discreta de Fourier: o sinal do canal esquerdo () e o sinal do canal direito () são enquadrados, em janela e transformados para o domínio da frequência usando um DFT
(, ) =
( + )()
(, ) =
( + )()
com é o índice de amostra de tempo, é o índice do quadro, é o índice de frequência, é o comprimento do quadro, ! é o comprimento DFT e () é a janela de análise.
[0069] Espectro de correlação cruzada: a correlação entre os dois canais é computada no domínio de frequência "(, ) = (, )∗ (, )
[0070] Suavização: o espectro de correlação cruzada é suavizado ao longo do tempo com um fator de suavização dependendo de uma medida de nivelamento espectral. Uma suavização mais forte é usada quando o nivelamento espectral for baixo para tornar o estimador ITD mais robusto em sinais tomais estacionários. Uma suavização mais fraca é usada quando o nivelamento espectral for alto a fim de fazer o estimador ITD se adaptar mais rápido em sinais transitórios, isto é, quando o sinal muda rapidamente.
[0071] A suavização é realizada usando "$ (, ) = %1 − ()( )*"$ (, − 1) + ()( )"(, )
[0072] com
()( ) = max% ()./0(12) , ()./0(13) *
[0073] e ∏ (, ) 567
()./0(1) = 567 567 (, ) ∑ 9:;
[0074] Ponderação: o espectro de correlação cruzada suavizado é ponderado pelo inverso da sua magnitude. Essa ponderação normaliza a amplitude e mantém apenas a fase, por isso é chamada de Transformada de Fase "$ (, ) (PHAT).
"$<=>! (, ) = ?"$ (, )?
[0075] Transformada Inversa: o GCC final é obtido transformando o espectro de correlação cruzada "$<=>! (, ) de
1 volta para o domínio do tempo
@""() =
"$<=>! (, )
!
[0076] Escolha de Pico: a abordagem mais simples é pesquisar o máximo global do valor absoluto do GCC encontrado na Etapa 5. Se esse máximo tiver um valor acima de algum limite, uma ITD é estimada como a defasagem n correspondente a esse máximo. Abordagens mais avançadas usam, adicionalmente, histerese e/ou mecanismos com base em ressaca para obter uma estimativa ITD mais suave ao longo do tempo.
[0077] O GGC-PHAT desempenha muito bem em ambientes reverberativos de baixo ruído (consultar por exemplo [3]). No entanto, quando o nível do ruído de fundo for alto ou na presença de outros componentes de sinal (como música, transientes, cenas estéreo complexas, quadros classificados como inativo, locutores interferentes), o desempenho GCC-PHAT cai significativamente. A saída do GCC é, então, barulhenta e não contém um único pico forte.
Consequentemente, uma seleção de pico muitas vezes falha em encontrar a ITD correta. Isso ocorre porque a transformação de fase trata todas as frequências igualmente, independentemente da relação sinal-ruído. O GCC é então poluído pela fase dos bins, cuja relação sinal-ruído é baixa.
[0078] Para evitar esse problema, muitas outras ponderações GCC foram propostas na literatura. Um deles foi considerado muito eficaz em nossos sinais de teste problemáticos. Foi proposto pela primeira vez em [4] e foi chamado na época de “fase de espectro de potência cruzada modificada” (MCSP). Seu bom desempenho em ambientes de alto ruído foi posteriormente confirmado em vários outros artigos (consultar por exemplo [5]). A ponderação (Etapa 4.
"$ (, ) da técnica anterior) é modificada a seguir: "$ABC< (, ) = $ $ D = "<=>! (, )?" (, )?
D ?"$ (, )? com E um parâmetro entre 0 e 1. E = 0 corresponde ao caso da correlação cruzada normal e E = 1 corresponde ao caso do GCC-PHAT. Normalmente utiliza-se um valor inferior, mas próximo de 1, que permite modificar o GCC-PHAT colocando mais ênfase nos bins com alta correlação, aqueles que normalmente correspondem ao sinal, enquanto os bins com baixa correlação correspondem ao ruído. Mais precisamente, descobrimos que um valor E = 0,8 deu o melhor desempenho (foi 0,75 em [4] e 0,78 em [5]).
[0079] infelizmente, essa nova ponderação tem um desempenho melhor do que o GCC-PHAT apenas quando um alto nível de ruído de fundo estiver presente. Cenários alternativos em que a nova ponderação possivelmente tem um desempenho melhor do que GCC-PHAT são quadros inativos (isto é, a detecção de atividade de voz detecta inativos, o que poderia indicar um baixo nível de fala), presença de transientes, cenários estéreo complexos, música, locutores interferentes, presença de música de fundo, fala que não é limpa, Em ambientes limpos, como fala sem ou com apenas um baixo nível de ruído de fundo ou música ou outros componentes de sinal que desviam da fala limpa, o GCC-PHAT ainda tem um desempenho melhor. Para obter sempre os melhores resultados, tornou-se necessário alternar entre as duas abordagens dependendo do conteúdo do sinal.
[0080] Para detectar a presença de alto nível de ruído de fundo no sinal, são usados um estimador de ruído juntamente com um detector de atividade de sinal (SAD). O nível do sinal HC pode ser determinado nos quadros onde o SAD detecta um sinal, enquanto o nível do ruído H é estimado pelo estimador de ruído. A presença de alto nível de ruído de fundo é então simplesmente detectada comparando-se a razão sinal-ruído I = HC − H (em dB) a um limite, por exemplo, se I < 35, então um alto nível de ruído é detectado.
[0081] Uma vez que seja conhecido se o sinal contém um alto nível de ruído de fundo ou não, uma decisão é feita para selecionar a ponderação PHAT ou a ponderação MCSP para calcular o GCC (Etapa 4. Na técnica anterior). A escolha de picos (Etapa 6. na técnica anterior) também pode ser modificada dependendo se há alto nível de ruído de fundo detectado, para exemplificar diminuindo-se o limite.
[0082] Subsequentemente, uma modalidade preferida é descrita passo a passo.
[0083] 0. Detecção de Alto nível de ruído de fundo: a. um estimador de ruído (por exemplo, de [6]) é usado para estimar o nível de ruído de fundo H . Um filtro de suavização IIR é usado para suavizar o nível de ruído ao longo do tempo.
b. um detector de atividade de sinal (por exemplo, de [6]) é usado para classificar um quadro como ativo ou inativo.
Os quadros ativos são então usados para calcular o nível de sinal HC , simplesmente calculando a energia do sinal e suavizando-a ao longo do tempo usando um filtro de suavização IIR.
c. Se a razão sinal-ruído I = HC − H (em dB) estiver abaixo de um limite (por exemplo, 35 dB), então é detectado um alto nível de ruído.
[0084] 1. Transformada Discreta de Fourier: a mesma que em qualquer técnica anterior
[0085] 2. Espectro de correlação cruzada: o mesmo que em qualquer técnica anterior
[0086] 3. Suavização: o mesmo que em qualquer técnica anterior ou conforme descrito no presente documento com base na característica espectral
[0087] 4. Ponderação: Se um baixo nível de ruído de fundo for detectado, então a mesma ponderação da técnica anterior é usada (GCC-PHAT).
[0088] Se um alto nível de ruído de fundo for "$ (, ) detectado, então a ponderação MCSO é usada "$ABC< (, ) = ?"$ (, )?
D
[0089] com 0<E<1 (por exemplo, E = 0,8). Para manter a saída GCC-MCSP na mesma faixa que a saída GCC- "$ABC< (, ) PHAT, uma etapa de normalização adicional é realizada "$ABC< (, ) = 1 ∑ $ (, ! ?"ABC< )?
[0090] 5. Transformada Inversa: o mesmo que em qualquer técnica anterior
[0091] 6. Escolha de Pico: a escolha de pico pode ser adaptada caso um alto nível de ruído de fundo seja detectado e a ponderação MCSP é usada. Particularmente, descobriu-se que um limite inferior é benéfico.
[0092] Ademais, a Figura 10a ilustra uma implementação que é da implementação da Figura 10c. No ponderador 1036 da Figura 10c, o ponderador realiza o primeiro ou o segundo procedimento de ponderação. No entanto, no ponderador 1036, conforme ilustrado na Figura 10a, o ponderador realiza apenas o segundo procedimento de ponderação em relação à notação na Figura 10d ou 10c. Essa implementação é útil, quando um filtro de suavização, conforme ilustrado no bloco 1030, for usado que já realiza o primeiro procedimento de ponderação subsequente à suavização ou junto com a suavização em, por exemplo, uma única operação matemática ou de hardware. Assim, no caso de realizar o primeiro procedimento de ponderação que é a operação de normalização sem qualquer compressão no filtro de suavização, então ambos, o filtro de suavização 1030 por um lado e o ponderador real 1036 por outro lado correspondem ao ponderador real para ponderação do espectro de correlação cruzada suavizado ou não suavizado.
Assim, na implementação da Figura 10a, a estimativa de ruído 1038 é fornecido apenas um ponderador separado 1036 e a seleção entre a saída do filtro de suavização 1030 que já é ponderada de acordo com o procedimento de ponderação e a seleção entre a saída do ponderador real 136 na Figura 10a é feita por uma determinada configuração do processador
1040 que usa automaticamente a saído do filtro de suavização 1030, quando o ponderador 1036 não fornecer nenhum sinal de saída, mas prioriza automaticamente a saída do ponderador 1036 sobre a saída do filtro de suavização
1030, quando o ponderador 1036 fornecer uma saída.
Então, a estimativa de ruído 1038 ou, conforme discutido em outras
Figuras, o sinal de controle 1050 é então usado para ativar ou desativar o ponderador 1036. Assim, o ponderador real para ponderar o espectro de correlação cruzada suavizado ou não suavizado usando uma primeira ordem de procedimento de ponderação pode ser implementada de muitas maneiras diferentes, como no modo de ativação/desativação específico na Figura 10a ou no modo de dois núcleo na Figura 10d com uma entrada ou um comutador de saída ou de acordo com um único núcleo de procedimento de ponderação que, dependendo do sinal de controle seleciona um ou outro procedimento de ponderação ou adapta um processador de ponderação geral para realizar o primeiro ou o segundo procedimento de ponderação.
[0093] Subsequentemente, é descrita uma modalidade preferida, onde uma suavização é realizada antes da ponderação. Nesse contexto, as funcionalidades do estimador de característica espectral também são refletidas pela Figura 4e, itens 453, 454 Em uma modalidade preferida.
[0094] Ademais, as funcionalidades da calculadora de espectro de correlação cruzada 1020 também são refletidas pelo item 452 na Figura 4e, descrito posteriormente em uma modalidade preferida.
[0095] Correspondentemente, as funcionalidades do filtro de suavização 1030 também são refletidas pelo item 453 no contexto da Figura 4e a ser descrito mais tarde.
Além disso, as funcionalidades do processador 1040 também são descritas no contexto da Figura 4e em uma modalidade preferida como itens 456 a 459.
[0096] As modalidades preferidas do processador 1040 também são descritas na Figura 10c
[0097] De preferência, a estimativa de característica espectral calcula um ruído ou uma tonalidade do espectro onde uma implementação preferida é o cálculo de uma medida de nivelamento espectral que é próxima de 0 no caso de sinais tonais ou não ruidosos e que é próxima de 1 no caso de sinais ruidosos ou semelhantes a ruído.
[0098] Particularmente, o filtro de suavização é então configurado para aplicar uma suavização mais forte com um primeiro grau de suavização ao longo do tempo no caso de uma primeira característica menos ruidosa ou uma primeira característica mais tonal, ou para aplicar uma suavização mais fraca com um segundo grau de suavização ao longo do tempo no caso de um segundo mais ruidoso ou segunda característica menos tonal.
[0099] Particularmente, a primeira suavização é maior do que o segundo grau de suavização, onde a primeira característica ruidosa é menos ruidosa do que a segunda característica ruidosa ou a primeira característica tonal é mais tonal do que a segunda característica tonal. A implementação preferida é a medida de nivelamento espectral.
[0100] Ademais, conforme ilustrado na Figura 11a, o processador é, de preferência, implementado para normalizar o espectro de correlação cruzada suavizado conforme ilustrado em 456 na Figura 4e e 11a antes de realizar o cálculo da representação de domínio de tempo na etapa 1031 correspondente às etapas 457 e 458 na modalidade da Figura 4e. No entanto, conforme também descrito na Figura 11a, o processador também pode operar sem a normalização na etapa 456 na Figura 4e. Então, o processador é configurado para analisar a representação de domínio de tempo, conforme ilustrado no bloco 1032 da Figura 11a, a fim de encontrar a diferença de tempo intercanal. Essa análise pode ser realizada em uma robustez aprimorada, uma vez que a análise é realizada com base no espectro de correlação cruzada que é suavizado de acordo com a característica espectral.
[0101] Conforme ilustrado na Figura 11b, uma implementação preferida da análise no domínio do tempo 1032 é uma filtragem passa-baixa da representação de domínio de tempo conforme ilustrado em 458 na Figura 11b correspondente ao item 458 da Figura 4e e um subsequente processamento adicional 1033 que usa uma operação de busca/seleção de pico dentro da representação de domínio de tempo filtrada passa-baixa.
[0102] Conforme ilustrado na Figura 11c, a implementação preferida da operação do pico de captação ou busca do pico é realizar essa operação usando um limite variável. Particularmente, o processador é configurado para realizar a operação de busca/seleção de pico dentro da representação de domínio de tempo derivada do espectro de correlação cruzada suavizado determinando 1034 um limite variável da representação de domínio de tempo e comparando um pico ou vários picos da representação de domínio de tempo (obtida com ou sem normalização espectral) para o limite variável, em que a diferença de tempo intercanal é determinada como uma defasagem de tempo associada a um pico que está em uma relação predeterminada com o limite, tal como maior do que limite variável.
[0103] Conforme ilustrado na Figura 11d, uma modalidade preferida ilustrada no pseudocódigo relacionado à Figura 4e-b descrito mais tarde consiste na classificação 1034a de valores de acordo com sua magnitude. Então, conforme ilustrado no item 1034b na Figura 11d, o mais alto, por exemplo, 10 ou 5% dos valores são determinados.
[0104] Em seguida, conforme ilustrado na etapa 1034c, um número como o número 3 é multiplicado pelo valor mais baixo dos 10 ou 5% mais altos a fim de obter o limite variável.
[0105] Conforme afirmado, de preferência, os 10 ou 5% mais altos são determinados, mas também pode ser útil determinar o número mais baixo dos 50% dos mais altos dos valores e usar um número de multiplicação mais alto, como
10. Naturalmente, até mesmo uma quantidade menor, como os 3% mais altos dos valores são determinados e o valor mais baixo entre os 3% mais altos dos valores é então multiplicado por um número que é, por exemplo, igual a 2,5 ou 2, isto é, menor que 3. Assim, diferentes combinações de números e porcentagens podem ser usadas na modalidade ilustrada na Figura 11d. Além das porcentagens, os números também podem variar, e números maiores que 1,5 são os preferidos.
[0106] Em uma modalidade adicional ilustrada na Figura 11e, a representação de domínio de tempo é dividida em sub-blocos, conforme ilustrado pelo bloco 1101, e esses sub-blocos são indicados na Figura 13 em 1300. Aqui, cerca de 16 sub-blocos são usados para o intervalo válido de modo que cada sub-bloco tem um período de defasagem de tempo de
20. No entanto, o número de sub-blocos pode ser maior do que esse valor ou menor e, de preferência, maior do que 3 e menor do que 50.
[0107] Na etapa 1102 da Figura 11e, o pico em cada sub-bloco é determinado, e na etapa 1103, o pico médio em todos os sub-blocos é determinado. Então, na etapa 1104, um valor de multiplicação a é determinado que depende de uma razão sinal-ruído por um lado e, em uma modalidade adicional, depende da diferença entre o limite e o pico máximo conforme indicado à esquerda do bloco 1104.
Dependendo desses valores de entrada um, de preferência, três valores de multiplicação diferentes é determinado onde o valor de multiplicação pode ser igual a abaixo, aalto e ainferior.
[0108] Então, na etapa 1105, o valor de multiplicação a determinado no bloco 1104 é multiplicado pelo limite médio, a fim de obter o limite variável que é então usado na operação de comparação no bloco 1106. Para a operação de comparação, mais uma vez a entrada de representação de domínio de tempo no bloco 1101 pode ser usada ou os picos já determinados em cada sub-bloco, conforme descrito no bloco 1102 podem ser usados.
[0109] Subsequentemente, modalidades adicionais a respeito da avaliação e detecção de um pico dentro da função de correlação cruzada no domínio do tempo são delineadas.
[0110] A avaliação e detecção de um pico dentro da função de correlação cruzada no domínio do tempo resultante do método de correlação generalizada (GCC-PHAT), a fim de estimar a Diferença de tempo intercanal (ITD) nem sempre é direta devido à diferentes cenários de entrada. A entrada de fala limpa pode resultar em uma função de correlação cruzada de baixo desvio com um pico forte, enquanto a fala em um ambiente reverberante ruidoso pode produzir um vetor com alto desvio e picos com magnitude inferior, mas ainda notável, indicando a existência de ITD. Um algoritmo de detecção de pico que é adaptável e flexível para acomodar diferentes cenários de entrada é descrito.
[0111] Devido às restrições de atraso, o sistema geral pode lidar com o alinhamento do tempo do canal até um certo limite, a saber ITD_MAX. O algoritmo proposto é projetado para detectar se uma ITD válida existe nos seguintes casos:
[0112] ITD válido devido ao pico notável. Um pico notável dentro dos limites [-ITD_MAX, ITD_MAX] da função de correlação cruzada está presente.
[0113] Nenhuma correlação. Quando não há correlação entre os dois canais, não há pico notável. Deve ser definido um limite, acima do qual o pico é forte o suficiente para ser considerado um valor ITD válido. Caso contrário, nenhuma manipulação de ITD deve ser sinalizado, o que significa que a ITD é definida como zero e nenhum alinhamento de tempo é realizado.
[0114] ITD fora dos limites. Picos fortes da função de correlação cruzada fora da região [-ITD_MAX, ITD_MAX] devem ser avaliados a fim de determinar se existem ITDs que estão fora da capacidade de manipulação do sistema. Nesse caso, nenhuma manipulação de ITD deve ser sinalizado e, assim, nenhum alinhamento de tempo é realizado.
[0115] Para determinar se a magnitude de um pico é alta o suficiente para ser considerada como um valor de diferença de tempo, um limite adequado precisa ser definido. Para diferentes cenários de entrada, a saída da função de correlação cruzada varia dependendo de diferentes parâmetros, por exemplo, o ambiente (ruído, reverberação etc.), a configuração do microfone (AB, M/S, etc.).
Portanto, definir adaptativamente o limite é essencial.
[0116] No algoritmo proposto, o limite é definido calculando primeiro a média de um cálculo aproximado do envelope da magnitude da função de correlação cruzada dentro da região [-ITD_MAX, ITD_MAX] (Figura 13), a média é então ponderada consequentemente, dependendo da estimativa SNR.
[0117] A descrição passo a passo do algoritmo é descrita abaixo.
[0118] A saída da DFT inversa do GCC-PHAT, que representa a correlação cruzada no domínio do tempo, é reorganizada de defasagens de tempo negativas para positivas (Figura 12).
[0119] O vetor de correlação cruzada é dividido em três áreas principais: a área de interesse a saber [- ITD_MAX, ITD_MAX] e a área fora dos limites ITD_MAX, a saber defasagens de tempo menores que –ITD_MAX (max_baixo) e maiores que ITD_MAX (max_alto). Os picos máximos das áreas “fora do limite” são detectados e salvos para serem comparados ao pico máximo detectado na área de interesse.
[0120] A fim de determinar se uma ITD válida está presente, a área de subvetor [-ITD_MAX, ITD_MAX] da função de correlação cruzada é considerada. O subvetor é dividido em N sub-blocos (Figura 13).
[0121] Para cada sub-bloco, a magnitude do pico máximo pico_sub e a posição de defasagem de tempo equivalente índice_sub são encontrados e salvos.
[0122] O máximo dos máximos locais pico_max é determinado e será comparado com o limite para determinar a existência de um valor ITD válido.
[0123] O valor máximo pico_max é comparado a max_baixo e max_alto. Se o pico_max for menor do que qualquer um dos dois, então nenhuma manipulação de itd é sinalizada e nenhum e alinhamento de tempo é realizado. Por causa do limite de manipulação do sistema, as magnitudes dos picos fora do limite não precisam ser avaliadas.
[0124] A média das magnitudes dos picos é Σ MNOP_
VW computada: MNOP = ;éRS
O limite XℎI é então computado pela ponderação MNOP ;éRS com um fator de ponderação dependente de SNR Z[ : Z , _` ≤ _` XℎI = Z[ MNOP ;éRS , where Z[ = \ Z]0^S _` > _` b;cd 0bcS, b;cd Nos casos onde _` ≪ _`b;cd e |XℎI − MNOP_)Z| < h, a magnitude do pico também é comparada a um limite ligeiramente mais relaxado (Z[ = Z:diSi ), a fim de evitar rejeitar um pico notável com alta picos vizinhos. Os fatores de ponderação podem ser, por exemplo aalto = 3, abaixo = 2,5 e ainferior = 2, enquanto o SNRlimite pode ser, por exemplo, 20dB e o limite ε = 0,05.
[0125] Os intervalos preferidos são 2,5 a 5 para aalto; 1,5 a 4 para abaixo; 1,0 a 3 para ainferior; 10 a 30 dB para SNRlimite; e 0,01 para 0,5 para ε, onde aalto é maior do que abaixo que é maior do que ainferior.
[0126] Se pico_max > thres, a defasagem de tempo equivalente é retornada como a ITD estimada, caso contrário, nenhuma manipulação é itd é sinalizada (ITD=0).
Outras modalidades são descritas posteriormente em relação à Figura 4e.
[0127] A Figura 11f ilustra a implementação preferida para determinar uma saída válida de ITD (diferença de tempo intercanal).
[0128] Sub-blocos da representação de domínio de tempo do espectro de correlação cruzada ponderado e suavizado ou não suavizado são introduzidos em uma etapa de determinação dentro do processador 1040. Essa etapa de determinação 1120 determina uma faixa válida e uma faixa inválida dentro da representação de domínio de tempo derivada do espectro de correlação cruzada ponderado suavizado ou não suavizado. Na etapa 1121, um pico máximo é determinado dentro da faixa inválida, e na etapa 1122, um pico máximo é determinado dentro da faixa válida.
Particularmente, pelo menos um pico máximo é determinado dentro da faixa inválida e pelo menos um pico máximo é determinado dentro da faixa inválida. No bloco 1123, os picos máximo da faixa válida e a faixa inválida são comparados. No caso do pico válido, isto é, o pico máximo na faixa válida é maior do que o “pico inválido”, o pico máximo na faixa inválida, então uma determinação ITD 1124 é realmente realizada e uma saída válida ITD é fornecida.
Quando, no entanto, for detectado que um “pico inválido” é maior do que o “pico válido” ou que o pico inválido tem o mesmo tamanho que o pico válido, então uma saída válida não é fornecida e, de preferência, uma mensagem de erro ou qualquer ação comparável é realizada a fim de chamar a atenção do processador para isso.
[0129] Subsequentemente, uma implementação preferida da presente invenção dentro do bloco 1050 da Figura 10b com o propósito de um processador de sinal adicional é discutida em relação às Figuras 1 a 9e, isto é, no contexto de um processamento/codificação estéreo/multicanal e alinhamento de tempo de dois canais.
[0130] No entanto, conforme declarado e ilustrado na Figura 10b, existem muitos outros campos, onde um processamento de sinal adicional usando a diferença de tempo intercanal determinada também pode ser realizada.
[0131] A Figura 1 ilustra um aparelho para codificar um sinal multicanal que tem pelo menos dois canais. O sinal multicanal 10 é introduzido em um determinante de parâmetro 100 por um lado e um alinhador de sinal 200 por outro lado. O determinante de parâmetro 100 determina, por um lado, um parâmetro de alinhamento de banda larga e, por outro lado, uma pluralidade de parâmetro de alinhamento de banda estreita a partir do sinal multicanal. Esses parâmetros são emitidos por meio de uma linha de parâmetro 12. Ademais, esses parâmetros também são emitidos por meio de uma linha de parâmetro adicional 14 para uma interface de saída 500 conforme ilustrado.
Na linha de parâmetro 14, parâmetros adicionais como os parâmetros de nível, são encaminhados do determinante de parâmetro 100 para a interface de saída 500. O alinhador de sinal 200 é configurado para alinhar os pelo menos dois canais do sinal multicanal 10 usando o parâmetro de alinhamento de banda larga e a pluralidade de parâmetros de alinhamento de banda estreita recebidos através da linha de parâmetro 10 para obter canais alinhados 20 na saída do alinhados de sinal 200. Esses canais alinhados 20 são encaminhados a um processador de sinal 300 que é configurado para calcular um sinal intermediário 31 e um sinal lateral 32 dos canais alinhados recebidos através da linha 20. O aparelho para codificar compreende adicionalmente um codificador de sinal 400 para codificar o sinal intermediário da linha 31 e o sinal lateral da linha
32 para obter um sinal intermediário codificado na linha 41 e um sinal lateral codificado na linha 42. Ambos os sinais são encaminhados para a interface de saída 500 para gerar um sinal multicanal codificado na linha de saída 50. O sinal codificado na linha de saída 50 compreende o sinal intermediário codificado da linha 41, o sinal lateral codificado da linha 42, o parâmetro de alinhamento de banda estreita e os parâmetros de alinhamento de banda larga da linha 14 e, opcionalmente, um parâmetro de nível da linha
14 e, adicionalmente opcionalmente, um parâmetro de enchimento estéreo gerado pelo codificador de sinal 400 e encaminhado para a interface de saída 500 através da linha de parâmetro 43.
[0132] De preferência, o alinhador de sinal é configurado para alinhar os canais do sinal multicanal usando o parâmetro de alinhamento de banda larga, antes que o determinante de parâmetro 100 realmente calcule os parâmetros de banda estreita. Portanto, nessa modalidade, o alinhador de sinal 200 envia os canais alinhados de banda larga de volta para o determinante de parâmetro 100 através de uma linha de conexão 15. Em seguida, o determinante de parâmetro 100 determina a pluralidade de parâmetro de alinhamento de banda estreita de um já em relação a característica de banda larga alinhada com o sinal multicanal. Em outras modalidades, no entanto, os parâmetros são determinados sem essa sequência específica de procedimentos.
[0133] A Figura 4a ilustra uma implementação, preferida, onde é realizada a sequência específica de etapas que a linha de conexão 15 incorre. Na etapa 16, o parâmetro de alinhamento de banda larga é determinado usando os dois canais e o parâmetro de alinhamento de banda larga, como uma diferença de tempo intercanal ou parâmetro ITD é obtido. Em seguida, na etapa 21, os dois canais são alinhados pelo alinhador de sinal 200 da Figura 1 usando o parâmetro de alinhamento de banda larga. Em seguida, na etapa 17, os parâmetros de banda estreita são determinados usando os canais alinhados dentro do determinante de parâmetro 100 para determinar uma pluralidade de parâmetro de alinhamento de banda estreita, como uma pluralidade de parâmetros de diferença de fase intercanal para diferentes bandas do sinal multicanal. Em seguida, na etapa 22, os valores espectrais em cada banda de parâmetro são alinhados usando o alinhamento de banda estreita correspondente para essa banda específica. Quando esse procedimento na etapa 22 é realizado para cada banda, para a qual um parâmetro de alinhamento de banda estreita está disponível, então o primeiro e segundo ou esquerdo/direito canais alinhados estão disponíveis para processamento de sinal adicional pelo processador de sinal 300 da Figura 1.
[0134] A Figura 4b ilustra uma implementação adicional do codificador multicanal da Figura 1, onde vários procedimentos são realizados no domínio de frequência.
[0135] Especificamente, o codificador multicanal compreende adicionalmente um conversor de espectro de tempo 150 para conversor um sinal multicanal de domínio de tempo em uma representação espectral de pelo menos dois dentro do domínio de frequência.
[0136] Ademais, conforme ilustrado em 152, o determinante de parâmetro, o alinhador de sinal e o processador de sinal ilustrados em 100, 200 e 300 na Figura 1 todos operam no domínio de frequência.
[0137] Ademais, o codificador multicanal e, especificamente, o processador de sinal compreendem adicionalmente um conversor de espectro-tempo 154 para gerar uma representação de domínio de tempo do sinal intermediário, pelo menos.
[0138] De preferência, o conversor de espectro- tempo converte adicionalmente uma representação espectral do sinal lateral também determinado pelos procedimentos representados pelo bloco 152 em uma representação de domínio de tempo, e o codificador de sinal 400 da Figura 1 é então configurado para codificar adicionalmente o sinal intermediário e/ou o sinal lateral como sinais de domínio de tempo dependendo da implementação específica do codificador de sinal 400 da Figura 1.
[0139] De preferência, o conversor de espectro- tempo 150 da Figura 4b é configurado para implementar as etapas 155, 156 e 157 da Figura 4c. Especificamente, a etapa 155 compreende o fornecimento de uma janela de análise com pelo menos uma porção de preenchimento zero em uma extremidade da mesma e, especificamente, uma porção de preenchimento zero na porção da janela inicial e uma porção de preenchimento zero na porção da janela de terminação conforme ilustrado, por exemplo, na Figura 7 mais adiante.
Ademais, a janela de análise adicionalmente tem faixas de sobreposição ou porções de sobreposição em uma primeira metade da janela e em uma segunda metade da janela e, adicionalmente, de preferência, uma parte do meio que é uma faixa de não sobreposição conforme o caso pode ser.
[0140] Na etapa 156, cada canal é colocado em janela usando a janela de análise com faixas de sobreposição. Especificamente, cada canal é colocado em janela usando a janela de análise de forma que um primeiro bloco do canal é obtido. Subsequentemente, é obtido um segundo bloco do mesmo canal que tem uma certa faixa de sobreposição com o primeiro bloco e assim por diante, de modo que subsequente a, por exemplo, cinco operações de janelamento, cinco blocos de amostras em janela de cada canal estão disponíveis que são então individualmente transformados em uma representação espectral conforme ilustrado em 157 n Figura 4c. O mesmo procedimento é realizado para o outro canal, de modo que, no final da etapa 157, uma sequência de blocos de valores espectrais e, especificamente, valores espectrais complexos, como valores espectrais DFT ou amostras de sub-bandas complexas esteja disponível.
[0141] Na etapa 158, que é realizada pelo determinante de parâmetro 100 da Figura 1, um parâmetro de alinhamento de banda larga é determinado e na etapa 159, que é realizada pelo alinhamento de sinal 200 da Figura 1, um deslocamento circular é realizado usando o parâmetro de alinhamento de banda larga. Na etapa 160, novamente realizada pelo determinante de parâmetro 100 da Figura 1, os parâmetro de alinhamento de banda estreita são determinados para bandas/sub-bandas individuais e na etapa 161, os valores espectrais alinhados são girados para cada banda usando os parâmetros de alinhamento de banda estreita correspondentes determinados para as bandas específicas.
[0142] A Figura 4d ilustra procedimentos adicionais realizados pelo processador de sinal 300.
Especificamente, o processador de sinal 300 é configurado para calcular um sinal intermediário e um sinal lateral conforme ilustrado na etapa 301. Na etapa 302, algum tipo de processamento adicional do sinal lateral pode ser realizado e, em seguida, na etapa 303, cada bloco do sinal intermediário e o sinal lateral é transformado de volta no domínio de tempo e, na etapa 304, uma janela de síntese é aplicada a cada bloco obtido pela etapa 303 e, na etapa 305, uma operação de adição de sobreposição para o sinal intermediário por um lado e uma operação de adição de sobreposição para o sinal lateral por outro lado, é realizada para obter finalmente o domínio de sinais intermediários/laterais.
[0143] Especificamente, as operações das etapas 304 e 305 resultam em um tipo de desvanecimento cruzado de um bloco do sinal intermediário ou o sinal lateral no próximo bloco do sinal intermediário e o sinal lateral é realizado de modo que, mesmo quando qualquer parâmetro muda, ocorre como o parâmetro de diferença de tempo intercanal ou o parâmetro de diferença de fase intercanal ocorre, isso não será audível nos sinais intermediários/laterais de domínio de tempo obtidos pela etapa 305 na Figura 4d.
[0144] A nova codificação estéreo de baixo atraso é uma codificação estéreo conjunta Intermediária/Lateral (M/S) que explora alguns indicativos espaciais, onde o canal intermediário é codificado por um codificador de núcleo mono primário, e o canal lateral é codificado em um codificador de núcleo secundário. Os princípios do codificador e do decodificador são representados nas Figuras 6a, 6b.
[0145] O processamento estéreo é realizado principalmente no Domínio de frequência (FD).
Opcionalmente, algum processamento estéreo pode ser realizado no Domínio de tempo (TD) antes da análise de frequência. É o caso da computação ITD, que pode ser computada e aplicada antes da análise de frequência para alinhar os canais no tempo antes de prosseguir com a análise e processamento. Alternativamente, o processamento de ITD pode ser feito diretamente no domínio de frequência.
Uma vez que os codificadores de voz usuais, como o ACELP, não contém nenhuma decomposição de frequência de tempo interna, a codificação estéreo adiciona um banco de filtros modulados extra complexos por meio de um banco de filtros de análise-síntese antes do codificador de núcleo e outro estágio do banco de filtros de análise-síntese após o decodificador de núcleo. Na modalidade preferida, um DFT sobre amostrado com uma região de baixa sobreposição é empregado. No entanto, em outras modalidades, qualquer decomposição de frequência-tempo com valor complexo com resolução semelhante pode ser usada.
[0146] O processamento estéreo consiste em calcular os indicativos espaciais: diferença de tempo intercanal (ITD), as Diferenças de fase intercanal (IPDs) e Diferenças de Nível intercanal (ILDs). As ITD e IPDs são usadas no sinal estéreo de entrada para alinhar os dois canais L e R no tempo e na fase. A ITD é computada em banda larga ou em domínio de tempo, enquanto as IPDs e ILDs são computadas para cada ou uma parte das bandas de parâmetros, que correspondem a uma decomposição são uniforme do espaço de frequência. Uma vez que os dois canais estão alinhados, um conjunto estéreo M/S é aplicado, onde o Sinal lateral é então adicionalmente previsto a partir do Sinal intermediário. O ganho de previsão é derivado das ILDs.
[0147] O Sinal intermediário é adicionalmente codificado por um codificador de núcleo primário. Na modalidade preferida, o codificador de núcleo primário é o padrão 3GPP EVS, ou uma codificação derivada dele que pode comutar entre um modo de codificação de fala, ACELP, e um modo de música com base em uma transformação MDCT. De preferência, ACELP e o codificador com base MDCTsao suportados por uma Extensão de Banda Larga de Domínio de tempo (TD-BWE) e ou módulos de Preenchimento de Lacuna Inteligente (IGF), respectivamente.
[0148] O Sinal lateral é primeiro previsto pelo canal intermediário usando ganhos de previsão derivados de ILDs. O residual pode ser ainda previsto por uma versão atrasada do Sinal intermediário ou codificado diretamente por um codificador de núcleo secundário, realizado na modalidade preferida no domínio MDCT. O processamento estéreo no codificador pode ser resumido pela Figura 5, como será explicado mais tarde.
[0149] A Figura 2 ilustra um diagrama de bloco de uma modalidade de um aparelho para decodificar um sinal multicanal codificado recebido na linha de entrada 50.
[0150] Em particular, o sinal é recebido por uma interface de entrada 600. Conectado à interface de entrada 600 está um decodificador de sinal 700, e um desalinhador de sinal 900. Ademais, um processador de sinal 800 está conectado a um decodificador de sinal 700 por um lado e está conectado ao desalinhador de sinal por outro lado.
[0151] Em particular, o sinal multicanal codificado compreende um sinal intermediário codificado, um sinal lateral codificado, informações sobre o parâmetro de alinhamento de banda larga e informações na pluralidade de parâmetros de banda estreita. Assim, o sinal multicanal codificado na linha 50 pode ser exatamente o mesmo sinal que a saída pela interface de saída de 500 da Figura 1.
[0152] No entanto, é importante notar aqui que, em contraste com o que é ilustrado na Figura 1, o parâmetro de alinhamento de banda larga e a pluralidade de parâmetros de alinhamento de banda estreita incluídos no sinal codificado de uma certa forma podem ser exatamente os parâmetros de alinhamento conforme usados pelo alinhador de sinal 200 na Figura 1 mas podem ser, alternativamente, também os valores inversos dos mesmos, isto é, parâmetros que podem ser usados exatamente pelas mesmas operações realizadas pelo alinhador de sinal 200, mas com valores inversos de modo que o desalinhamento seja obtido.
[0153] Assim, as informações nos parâmetros de alinhamento podem ser os parâmetros de alinhamento usados pelo alinhador de sinal 200 na Figura 1 ou podem ser valores inversos, isto é, “parâmetros de desalinhamento”
reais. Adicionalmente, esses parâmetros serão tipicamente quantizados de uma certa forma, conforme será discutido mais tarde em relação à Figura 8.
[0154] A interface de entrada 600 da Figura 2 separa as informações no parâmetro de alinhamento de banda larga e a pluralidade de parâmetros de alinhamento de banda estreita dos sinais intermediário/lateral codificados e envia essas informações através da linha de parâmetro 610 para o desalinhador de sinal 900. Por outro lado, o sinal intermediário codificado é enviado para o decodificador de sinal 700 através da linha 601 e o sinal lateral codificado é enviado ao decodificador de sinal 700 através da linha de sinal 602.
[0155] O decodificador de sinal é configurado para decodificar o sinal intermediário codificado e para decodificar o sinal lateral codificado para obter um sinal intermediário decodificado na linha 701 e um sinal lateral decodificado na linha 702. Esses sinais são usados pelo processador de sinal 800 para calcular um primeiro sinal de canal decodificado ou sinal esquerdo decodificado e para calcular um segundo canal decodificado ou um sinal de canal direito decodificado a partir do sinal intermediário decodificado e o sinal lateral decodificado, e o primeiro canal decodificado e o segundo canal decodificado são produzidos nas linhas 801, 802, respectivamente. O desalinhador de sinal 900 é configurado para desalinhar o primeiro canal decodificado na linha 801 e o canal direito decodificado 802 usando as informações no parâmetro de alinhamento de banda larga e adicionalmente usando as informações na pluralidade dos parâmetros de alinhamento de banda estreita para obter um sinal multicanal decodificado, isto é, um sinal decodificado que tem pelo menos dois canais decodificados e desalinhados nas linhas 901 e 902.
[0156] A Figura 9a ilustra uma sequência preferida de etapas realizadas pelo desalinhador de sinal 900 da Figura 2. Especificamente, a etapa 910 recebe canais esquerdo e direito alinhados como disponíveis nas linhas 801, 802 da Figura 2. Na etapa 910, o desalinhador de sinal 900 desalinha sub-bandas individuais usando as informações no parâmetro de alinhamento de banda estreita a fim de obter primeiro e segundo decodificados em fase de desalinhamento ou canais esquerdo e direito em 911a e 911b.
Na etapa 912, os canais são desalinhados usando o parâmetro de alinhamento de banda larga de modo que, em 913a e 913b, canais de fase e tempo desalinhados são obtidos.
[0157] Na etapa 914, qualquer processamento adicional é realizado que compreende o uso de janelas ou qualquer operação de adição de sobreposição, geralmente, qualquer operação de atenuação cruzada a fim de obter, em 915a ou 915b, um sinal decodificado com redução de artefato ou sem redução de artefato, isto é, para canais decodificados que não têm quaisquer artefatos, embora tenha havido, tipicamente, parâmetros de desalinhamento variáveis no tempo para a banda larga por um lado e para a pluralidade de bandas estreitas por outro lado.
[0158] A Figura 9b ilustra uma implementação preferida do decodificador multicanal ilustrado na Figura
2.
[0159] Em particular, o processador de sinal 800 da Figura 2 compreende um conversor de espectro de tempo
810.
[0160] O processador de sinal compreende adicionalmente um conversor intermediário/lateral para esquerda/direita 820 a fim de calcular a partir de um sinal intermediário M e um sinal lateral S um sinal esquerdo L e um sinal direito R.
[0161] No entanto, o mais importante, a fim de calcular L e R pela conversão intermediária/lado esquerdo/direito no bloco 820, o sinal lateral S não deve ser necessariamente usado. Em vez disso, conforme discutido mais tarde, os sinais esquerdo/direito são incialmente calculados usando apenas o parâmetro de ganho derivado de um parâmetro de diferença de nível intercanal ILD.
Geralmente, um ganho de previsão também pode ser considerado uma forma de um ILD. O ganho pode ser derivado do ILD, mas também pode ser computado diretamente. É preferível não calcular mais o ILD, mas calcular um ganho de previsão diretamente e transmitir e usar o ganho de previsão no decodificador em vez do parâmetro ILD.
[0162] Portanto, nessa implementação, o sinal lateral S é usado apenas no atualizador de canal 830 que opera a fim de fornecer um melhor sinal esquerdo/direito usando o sinal lateral transmitido S conforme ilustrado pela linha de desvio 821.
[0163] Portanto, o conversor 820 opera usando um parâmetro de nível obtido por meio de uma entrada de parâmetro de nível 822 e sem realmente usar o sinal lateral S, mas o atualizador de canal 830 então opera usando o lado 821 e, dependendo da implementação específica, usando um parâmetro de enchimento estéreo recebido através da linha
831. O alinhador de sinal 900 então compreende um desalinhador de fase e um escalonador de energia 910. O escalonador de energia é controlado por um fator de escala derivado de uma calculadora de fator de escala 940. A calculadora de fator de escala 940 é alimentada pela saída do atualizador de canal 830. Com base no parâmetro de alinhamento de banda estreita recebido através da entrada 911, o desalinhamento de fase é realizado e, no bloco 920, com base no parâmetro de alinhamento de banda larga recebido através da linha 921, o tempo-desalinhamento é realizado. Finalmente, uma conversão espectro-tempo 930 é realizada a fim de finalmente obter o sinal descodificado.
[0164] A Figura 9c ilustra uma sequência adicional de etapas tipicamente realizada dentro dos blocos 920 e 930 da Figura 9b em uma modalidade preferida.
[0165] Especificamente, os canais desalinhados de banda estreita são introduzidos na funcionalidade de desalinhamento de banda larga correspondente ao bloco 920 da Figura 9b. Uma DFT ou qualquer outra transformação é realizada no bloco 931. Subsequentemente ao cálculo real das amostras do domínio de tempo, é realizada uma janela de síntese opcional usando uma janela de síntese. A janela de síntese é, de preferência exatamente a mesma que a janela de análise ou é derivada da janela de análise, por exemplo, a interpolação ou decimação, mas depende de certa forma da janela de análise. Essa dependência é, de preferência, tal que os fatores de multiplicação definidos por duas janelas sobrepostas somam uma para cada ponto na faixa de sobreposição. Assim, subsequente à janela de síntese no bloco 932, uma operação de sobreposição e uma operação de adição subsequente é realizada. Alternativamente, em vez da janela de síntese e operação de sobreposição/adição, qualquer atenuação cruzada entre blocos subsequentes para cada canal é realizada a fim de obter, conforme já discutido no contexto da Figura 9a, um sinal decodificado reduzido de artefato.
[0166] Quando a Figura 6b é considerada, fica claro que as operações de decodificação reais para o sinal intermediário, isto é, o “decodificador EVS” por um lado e, para o sinal lateral, a quantização de vetor inversa VQ-1 e a operação MDCT inversa (IMDCT) correspondem ao decodificador de sinal 700 da Figura 2.
[0167] Ademais, as operações DFT nos blocos 810 correspondem ao elemento 810 na Figura 9b e funcionalidades do processamento estéreo inverso e a mudança de tempo inversa correspondem aos blocos 800, 900 da Figura 2 e as operações DFT inversas 930 na Figura 6b correspondem a operação correspondente no bloco 930 na Figura 9b.
[0168] Subsequentemente, a Figura 3 é discutida em mais detalhes. Em particular, a Figura 3 ilustra um espectro DFT que tem linhas espectrais individuais. De preferência, o espectro DFT ou qualquer outro espectro ilustrado na Figura 3 é um espectro complexo e cada linha é uma linha espectral complexa que tem magnitude e fase ou tem uma parte real e uma parte imaginária.
[0169] Adicionalmente, o espectro também é dividido em diferentes bandas de parâmetros. Cada banda de parâmetro tem pelo menos uma e, de preferência, mais de uma linha espectral. Adicionalmente, as bandas de parâmetros aumentam das frequências mais baixas para as mais altas.
Normalmente, o parâmetro de alinhamento de banda larga é um único parâmetro de alinhamento de banda larga pata todo o espectro, isto é, para um espectro que compreende todas as bandas 1 a 6 na modalidade exemplificativa na Figura 3.
[0170] Ademais, a pluralidade de parâmetros de alinhamento de banda estreita é fornecida de modo que haja um único parâmetro de alinhamento para cada banda de parâmetro. Isso significa que o parâmetro de alinhamento para uma banda sempre se aplica a todos os valores espectrais dentro da banda correspondente.
[0171] Ademais, além dos parâmetros de alinhamento de banda estreita, parâmetros de níveis também são fornecidos para cada banda de parâmetro.
[0172] Em contraste com os parâmetros de níveis que são fornecidos para cada e toda banda de parâmetro da banda 1 a banda 6, é preferível fornecer a pluralidade de parâmetros de alinhamento de banda estreita apenas para um número limitado de bandas inferiores, como as bandas 1, 2,
3 e 4.
[0173] Adicionalmente, os parâmetros de enchimento estéreo são fornecidos para um certo número de bandas, excluindo as bandas inferiores, como na modalidade exemplificativa, para as bandas 4, 5 e 6, embora existam valores espectrais de sinal lateral para as bandas de parâmetros inferiores 1, 2 e 3 e, consequentemente, não existem parâmetros de enchimento estéreo para essas bandas inferiores onde a correspondência da forma de onda é obtida usando o próprio sinal lateral ou um sinal residual de previsão que representa o sinal lateral.
[0174] Conforme já afirmado, existem mais linhas espectrais em bandas mais altas, como na modalidade na Figura 3, sete linhas espectrais na banda de parâmetro 6 versus apenas três linhas espectrais na banda de parâmetro
2. Naturalmente, no entanto, o número de bandas de parâmetros, o número de linhas espectrais e o número de linhas espectrais dentro de uma banda de parâmetro e também os limites diferentes para certos parâmetros serão diferentes.
[0175] Não obstante, a Figura 8 ilustra uma distribuição dos parâmetros e o número de bandas para as quais os parâmetros são fornecidos em uma determinada modalidade onde existem, em contraste com a Figura 3, na verdade 12 bandas.
[0176] Conforme ilustrado, o parâmetro de nível ILD é fornecido para cada uma das 12 bandas e é quantizado com uma precisão de quantização representada por cinco bits por banda.
[0177] Ademais, os parâmetros de alinhamento de banda estreita IPD são apenas fornecidos para as bandas inferiores até uma frequência de fronteira de 2,5 kHz.
Adicionalmente, a diferença de tempo intercanal ou parâmetro de alinhamento de banda larga é fornecido apenas como um único parâmetro para todo o espectro, mas com uma precisão de quantização muito alta representada por oito bits para toda a banda.
[0178] Ademais, os parâmetros de enchimento estéreo quase quantizados são fornecidos representados por três bits por banda e não para as bandas inferiores abaixo de 1 kHz uma vez que, para as bandas inferiores, sinal lateral codificado realmente ou valores espectrais residuais de sinal lateral são incluídos.
[0179] Subsequentemente, um processamento preferido no lado do codificador é resumido em relação à Figura 5. Em uma primeira etapa, uma análise DFT do canal esquerdo e direito é realizada. Esse procedimento corresponde às etapas 155 a 157 da Figura 4c. Na etapa 158, o parâmetro de alinhamento de banda larga é calculado e, particularmente, o parâmetro de alinhamento de banda larga preferido de diferença de tempo intercanal (ITD). Conforme ilustrado em 170, uma mudança de tempo de L e R no domínio de frequência é realizada. Alternativamente, essa mudança de tempo também pode ser realizada no domínio de tempo. Um DFT inverso é então realizado, a mudança de tempo é realizada no domínio de tempo e um DFT encaminhado adicional é realizado a fim de, mais uma vez, ter representações espectrais subsequentes ao alinhamento usando o parâmetro de alinhamento de banda larga.
[0180] Parâmetros ILD, isto é, parâmetros de nível e parâmetros de fase (parâmetros IPD), são calculados para cada banda de parâmetro nas representações L e R deslocadas conforme ilustrado na etapa 171. Essa etapa corresponde à etapa 160 da Figura 4c, por exemplo. As representações L e R deslocadas no tempo são giradas em função dos parâmetros de diferença de fase intercanal, conforme ilustrado na etapa 161 da Figura 4c ou Figura 5. Subsequentemente, os sinais intermediários e laterais são computados conforme ilustrado na etapa 301 e, de preferência, adicionalmente com uma operação de conversação de energia conforme discutido mais tarde. Em uma etapa subsequente 174, uma previsão de S com M como uma função de ILD e opcionalmente com um sinal M passado, isto é, um sinal intermediário de um quadro anterior é realizado. Subsequentemente, é realizada uma DFT inversa do sinal intermediário e do sinal lateral que corresponde às etapas 303, 304, 305 da Figura 4d na modalidade preferida.
[0181] Na etapa final 175, o sinal intermediário do domínio de tempo m e, opcionalmente, o sinal residual são codificados conforme ilustrado na etapa 175. Esse procedimento corresponde ao que é realizado pelo codificador de sinal 400 na Figura 1.
[0182] No decodificador no processamento estéreo inverso, o Sinal lateral é gerado no domínio DFT e é primeiro previsto a partir do Sinal intermediário como: l = m ∙ oXI)kNáINP jZkP onde g é um ganho computado para cada banda de parâmetro e é função da Diferença de Nível Intercanal transmitida (ILDs).
[0183] O residual da previsão jZkP − m ∙ oXI)kNáINP pode ser refinado de duas maneiras diferentes: Por uma codificação secundária do sinal residual: l = m ∙ oXI)kNáINP + m.SR ∙ (jZkP − m ∙ l jZkP oXI)kqáIqP) onde m.SR é um ganho global transmitido para todo o espectro Por uma previsão residual, conhecida como um enchimento estéreo, prevendo o espectro lateral residual com o espectro de Sinal intermediário decodificado anterior do quadro DFT: l = m ∙ oXI)kNáINP + mridR ∙ oXI)kNáINP ∙ s jZkP onde mridR é um ganho preditivo transmitido por banda de parâmetro.
[0184] Os dois tipos de codificação podem ser combinados dentro do mesmo espectro DFT. Na forma da modalidade preferida, a codificação residual é aplicada nas bandas de parâmetros inferiores, enquanto a previsão residual é aplicada nas bandas restantes. A codificação residual está na modalidade preferida, conforme representado na Figura 1, realiza-se no domínio MDCT após sintetizar o sinal lateral no Domínio de tempo e transformá-lo por um MDCT. Ao contrário do DFT, MDCT é uma amostragem crítica e é mais adequado para codificação de áudio. Os coeficientes MDCT são diretamente quantizados por vetor por um Quantizador Vetor Lattice, mas podem ser alternativamente codificados por um Quantizador Scalar seguido por um codificador de entropia. Alternativamente, o sinal lateral residual também pode ser codificado no Domínio de tempo por uma técnica de codificação de fala ou diretamente no domínio DFT.
1. ANÁLISE DE TEMPO-FREQUÊNCIA: DFT
[0185] É importante que a decomposição de tempo- frequência do processamento estéreo feita por DFTs permita uma boa análise da cena auditiva, enquanto não aumente significativamente o atraso geral do sistema de codificação. Por padrão, uma resolução de 10 ms (duas vezes o enquadramento de 20 ms do codificador de núcleo) é usada.
As janelas de análise e síntese são as mesmas e são simétricas. A janela é representada em 16 kHz de taxa de amostragem na Figura 7. Pode-se observar que a região de sobreposição é limitada para reduzir o atraso engendrado e que preenchimento de zero também é adicionado para contrabalancear o deslocamento circular ao aplicar ITD no domínio de frequência como será explicado a seguir.
2. PARÂMETROS ESTÉREO
[0186] Os parâmetros estéreo podem ser transmitidos no máximo na resolução de tempo do DFT estéreo. No mínimo, pode ser reduzido à resolução de enquadramento do codificador do núcleo, isto é 20 ms. Por padrão, quando nenhum transiente for detectado, os parâmetros são computados a cada 20 ms em 2 janelas DFT. As bandas de parâmetros constituem uma decomposição não uniforme e não sobreposta do espectro que segue aproximadamente 2 vezes ou 4 vezes as larguras de banda retangulares equivalentes (ERB). Por padrão, uma escala de 4 vezes ERB é usada para um total de 12 bandas para uma largura de banda de frequência de 16 kHz (32 kbps taxa de amostragem, estéreo Super Wideband). A Figura 8 resumiu um exemplo de configuração, para a qual as informações laterais são transmitidas com cerca de 5 kbps.
3. CÁLCULO DE ITD E ALINHAMENTO DE TEMPO DE
CANAL
[0187] A ITD é calculada estimando o atraso de chegada (TDOA) usando a Correlação Cruzada Generalizada com j (()` ∗ () a Transformação de Fase (GCC-PHAT): otu = ZIm)Z(ouvt( )) ?j (()` ∗ ()? onde L e R são os espectros de frequência dos canais esquerdo e direito, respectivamente. A análise de frequência pode ser realizada independentemente do DFT usado para o processamento estéreo subsequente ou pode ser compartilhada. O pseudocódigo para calcular a ITD é o seguinte: L =fft(window(l)); R =fft(window(r)); tmp = L .* conj( R ); sfm_L = prod(abs(L).^(1/length(L)))/(mean(abs(L))+eps); sfm_R = prod(abs(R).^(1/length(R)))/(mean(abs(R))+eps); sfm = max(sfm_L,sfm_R);
h.cross_corr_smooth = (1-sfm)*h.cross_corr_smooth+sfm*tmp; tmp = h.cross_corr_smooth ./ abs( h.cross_corr_smooth+eps ); tmp = ifft( tmp ); tmp = tmp([length(tmp)/2+1:length(tmp) 1:length(tmp)/2+1]); tmp_sort = sort( abs(tmp) ); thresh = 3 * tmp_sort( round(0.95*length(tmp_sort)) ); xcorr_time=abs(tmp(- ( h.stereo_itd_q_max - (length(tmp)- 1)/2 - 1 ):- ( h.stereo_itd_q_min - (length(tmp)-1)/2 - 1 ))); %smooth output for better detection xcorr_time=[xcorr_time 0]; xcorr_time2=filter([0.25 0.5 0.25],1,xcorr_time); [m,i] = max(xcorr_time2(2:end)); if m > thresh itd = h.stereo_itd_q_max - i + 1; else itd = 0; end
[0188] A Figura 4e ilustra um fluxograma para implementar o pseudocódigo ilustrado anteriormente a fim de obter um cálculo robusto e eficiente de uma diferença de tempo intercanal como um exemplo para o parâmetro de alinhamento de banda larga.
[0189] No bloco 451, uma análise DFT dos sinais de domínio de tempo para um primeiro canal (l) e um segundo canal (r) é realizada. Essa análise DFT será tipicamente a mesma análise DFT que foi discutida no contexto das etapas
155 a 157 na Figura 5 ou Figura 4c, por exemplo.
[0190] Uma correlação cruzada é então realizada para cada categoria de frequência, conforme ilustrado no bloco 452.
[0191] Assim, um espectro de correlação cruzada é obtido pata toda a faixa espectral dos canais esquerdo e direito.
[0192] Na etapa 453, uma medida de nivelamento espectral é então calculada a partir dos espectros de magnitude L e R e, na etapa 454, a medida de nivelamento espectral maior é selecionada. No entanto, a seleção na etapa 454 não tem necessariamente que ser a seleção do maior, mas essa determinação de um único SFM de ambos os canais também pode ser a seleção e cálculo de apenas o canal esquerdo ou apenas o canal direito ou pode ser o cálculo da média ponderada de ambos os valores SFM.
[0193] Na etapa 455, o espectro de correlação cruzada é então suavizado ao longo do tempo, dependendo da medida de nivelamento espectral.
[0194] De preferência, a medida de nivelamento espectral é calculada dividindo a média geométrica do espectro de magnitude pela média aritmética do espectro de magnitude. Assim, os valores SFM são limitados entre zero e um.
[0195] Na etapa 456, o espectro de correlação cruzada suavizado é então normalizado por sua magnitude e na etapa 457 um DFT inverso do espectro de correlação cruzada suavizado normalizado é calculado. Na etapa 458, um determinado filtro de domínio de tempo é, de preferência realizado, mas dessa vez a filtragem de domínio de tempo também pode ser deixada de lado, dependendo da implementação, mas é preferível, como será descrito mais tarde.
[0196] Na etapa 459, uma estimativa de ITD é realizada por escolha de pico da função de correlação cruzada generalizada de filtro e realizando uma certa operação de limiarização.
[0197] Se nenhum pico acima do limite é obtido, então a ITD é definida como zero e nenhum alinhamento de tempo é realizado para esse bloco correspondente.
[0198] O cálculo da ITD também pode ser resumido como segue. A correlação cruzada é calculada no domínio de frequência antes de ser suavizada dependendo da Medida de Nivelamento Espectral. SFM é limitado entre 0 e 1. No caso de sinais semelhantes a ruído, o SFM será alto (isto é, cerca de 1) e a suavização será fraca. No caso de sinal semelhante ao tom, o SFM será baixo e a suavização ficará mais forte. A correlação cruzada suavizada é então normalizada por sua amplitude antes de ser transformada de volta ao domínio de tempo. A normalização corresponde à transformação da fase da correlação cruzada, e é conhecida por mostrar melhor desempenho do que a correlação cruzada normal em ambientes de baixo ruído e reverberação relativamente alta. A função de domínio de tempo obtida é primeiro filtrada para alcançar uma escolha de pico mais robusta. O índice correspondente à amplitude máxima a uma estimativa da diferença de tempo entre o Canal Esquerdo e Direito (ITD). Se a amplitude do máximo for inferior a um determinado limite, a estimativa de ITD não é considerada confiável e é definida como zero.
[0199] Se o alinhamento de tempo for aplicado no Domínio de tempo, a ITD será calculada em uma análise DFT I() = I( + otu) if otu > 0 separada. A mudança é feita da seguinte forma: \ H() = H( − otu) if otu < 0 Requer um atraso extra no codificador, que é igual no máximo à máxima ITD absoluta que pode ser manipulada. A variação da ITD ao longo do tempo é suavizada pela janela de análise do DFT.
[0200] Alternativamente, o alinhamento de tempo pode ser realizado no domínio de frequência. Nesse caso, o cálculo da ITD e o deslocamento circular estão no mesmo domínio DFT, domínio compartilhado com esse outro {! processamento estéreo. O deslocamento circular é dado por: j(() = j(() z: y {! `(() = `(() |z: O preenchimento de zero das janelas DFT é necessário para simular uma mudança de tempo com uma mudança circular. O tamanho do preenchimento de zero corresponde à máxima ITD absoluta que pode ser manipulada. Na modalidade preferida, o preenchimento zero é dividido uniformemente em ambos os lados das janelas de análise, adicionando 3,125ms de zeros em ambas as extremidades. A máxima ITD absoluta possível é então 6,25 ms. Na configuração de microfones A-B, corresponde, no pior dos casos, a uma distância máxima de cerca de 2,15 metros entre os dois microfones. A variação na ITD ao longo do tempo é suavizada pela janela de síntese e adição de sobreposição do DFT.
[0201] É importante que a mudança de tempo seja seguida por uma janela do sinal alterado. É uma distinção principal com a Codificação de Indicativo Binaural (BCC) da técnica anterior, onde a mudança de tempo á aplicada em um sinal de janela, mas não é em janela adicional no estágio de síntese. Como consequência, qualquer mudança na ITD ao longo do tempo produz um transiente/clique artificial no sinal decodificado.
4. CÁLCULO DE IPDS E ROTAÇÃO DE CANAL
[0202] As IPDs são calculadas após o alinhamento do tempo de dois canais e isso para cada banda de parâmetro ou pelo menos até um determinado NMk_)Z _WZk, dependendo da ]0R‚7‚ƒ5~„ † configuração estéreo. o}u~W = âmVHP(
j~ ` ∗ ~) ]0R‚7‚ƒ5~„
[0203] Os IPDs são então aplicados aos dois canais j′() = j() z‰ para alinhar suas fases: ‡ `′() = `() z({<~]‰) Onde β = atan2(sin(IPD’ ~b) , cos(IPD’ ~b) + c), c = 10{‚ ~]/ e b é o índice de banda de parâmetro ao qual pertence o índice de frequência k. O parâmetro — é responsável por distribuir a quantidade de rotação de fase entre os dois canais enquanto torna sua fase alinhada. — é dependente de IPD, mas também o nível de amplitude relativa dos canais, ILD. Se um canal tiver amplitude mais alta, será considerado como canal líder e será menos afetado pela rotação de fase do que o canal com amplitude mais baixa.
5. DIFERENÇA DE SOMA E CODIFICAÇÃO DE SINAL
LATERAL
[0204] A transformação da soma da diferença é realizada nos espectros alinhados no tempo e fase dos dois canais de forma que a energia seja conservada no Sinal intermediário. ⎧ 1 ⎪œ(() = %j′(() + `′(()* ∙ Z ∙ 2 ⎨ 1 ⎪ _(() = %j′(() − `′(()* ∙ Z ∙  ⎩ 2 em que Z = ž(Ÿ |Ÿ ) é limitado entre 1/1,2 e Ÿ |Ÿ
[0205] 1,2, isto é, -1,58 e +1,58 dB. A limitação evita artefato ao ajustar a energia de M e S. Vale a pena notar que essa conservação de energia é menos importante quando o tempo e a fase forem previamente alinhados. Alternativamente, os limites podem ser aumentados ou diminuídos.
[0206] O sinal lateral S é previsto adicionalmente com M: _′(() = _(() − m(oju)œ(() g(ILD) = .|, c = 10{‚ ~]/ . £ em que onde Alternativamente, o ganho de previsão ideal g pode ser encontrado minimizando o Erro Quadrático Médio (MSE) do residual e ILDs deduzidos pela equação anterior.
[0207] O sinal residual _′(() pode ser modelado por dois meios: predizendo-o com o espectro atrasado de M ou codificando-o diretamente no domínio MDCT no domínio MDCT.
6. DECODIFICAÇÃO ESTÉREO
[0208] O Sinal intermediário X e Sinal lateral S são primeiro convertidos para os canais esquerdo e direito L e R como segue: j ~k = œ ~ + mœ ~, para WZk_HN)NX ~W ≤ < WZk_HN)NX ~W + 1 , ` ~k = œ ~ − mœ ~, para WZk_HN)NX ~W ≤ < WZk_HN)NX ~W + 1 , Onde o ganho g por banda de parâmetro é derivado do parâmetro ILD: g = .|, em que c = 10{‚ ~]/ . £ Para bandas de parâmetros abaixo de cod_max_band, os dois canais são atualizados com o sinal lateral decodificado: j ~k = j ~ + OPk_mZN ∙ _ ~, para 0 ≤ < WZk_HN)NX ~OPk_)Z _WZk, ` ~k = ` ~ − OPk_mZN ∙ _ ~, para 0 ≤ < WZk_HN)NX ~OPk_)Z _WZk, Para bandas de parâmetros mais altos, o sinal lateral é previsto e os canais atualizados como: j ~k = j ~ + OPk_MIk ~W ∙ œ ~, para WZk_HN)NX ~W ≤ < WZk_HN)NX ~W + 1, ` ~k = ` ~ − OPk_MIk ~W ∙ œ ~, para WZk_HN)NX ~W ≤ < WZk_HN)NX ~W + 1, Finalmente, os canais são multiplicados por um valor complexo com o objetivo de restaurar a energia original e a fase intercanal do sinal estéreo: j ~k = Z ∙ z‰ ∙ j ~ ` ~k = Z ∙ z‰¨©ª« ~¬ ∙ ` ~ em que ∑]0R_b;c9~]| œ ~ Z = ­2 ∙ ]0R_b;c9~] ∑]0R_b;c9~]| ]0R_b;c9~] j ~ + ∑]0R_b;c9~] ` ~ ]0R_b;c9~]| em que a é definido e limitado como definido anteriormente, e em que β = atan2(sin(IPD’ ~b) , cos(IPD’ ~b) + c), e onde atan2(x,y) é o quadrante tangente inverso de x sobre y.
[0209] Finalmente, os canais são deslocados no tempo ou no tempo ou no domínio de frequência, dependendo das ITDs transmitidas. Os canais no domínio de tempo são sintetizados por DFTs inversos e adição de sobreposição.
[0210] As características específicas da invenção referem-se à combinação de indicativos espaciais e codificação estéreo conjunta de soma-diferença.
Especificamente, os indicativos espaciais IDT e IPD são calculados e aplicados nos canais estéreo (esquerdo e direito). Ademais, a soma-diferença (sinais M/S) é calculada e, de preferência, uma previsão é aplicada de S com M.
[0211] No lado do decodificador, os indicativos espaciais de banda larga e banda estreita são combinados junto com a codificação estéreo conjunta de soma-diferente.
Em particular, o sinal lateral é previsto com o sinal intermediário usando pelo menos um indicativo espacial, como ILD e uma soma-diferença inversa é calculada para obter os canais esquerdo e direito e, adicionalmente, a banda larga e os indicativos espaciais de banda estreita são aplicados nos canais esquerdo e direito.
[0212] De preferência, o codificador tem uma janela e sobreposição-adição em relação aos canais alinhados no tempo após o processamento usando a ITD.
Ademais, o decodificador tem adicionalmente uma operação de janela e sobreposição-adição das versões deslocadas ou não alinhadas dos canais após a aplicação da diferença de tempo intercanal.
[0213] O cálculo da diferença de tempo intercanal com o método GCC-Phat é um método especificamente robusto.
[0214] O novo procedimento é vantajoso na técnica anterior, uma vez que alcança codificação de taxa de bits de áudio estéreo ou áudio multicanal com baixo atraso. Ele é projetado especificamente para ser robusto a diferentes naturezas de sinais de entrada e diferentes configurações de gravação multicanal ou estéreo. Em particular, a presente invenção fornece uma boa qualidade para codificação de fala estéreo de baixa taxa de bits.
[0215] Os procedimentos preferidos encontram uso na distribuição de transmissão de todos os tipos de conteúdo de áudio estéreo ou multicanal, como fala e música, com qualidade perceptual constante em uma determinada taxa de bits baixa. Essas áreas de aplicação são aplicativos de rádio digital, transmissão contínua de internet ou comunicação de áudio.
[0216] Embora esta invenção tenha sido descrita em termos de várias modalidades, existem alterações, permutações, e equivalentes que se enquadram no escopo desta invenção. Deve ser observado que existem muitas maneiras alternativas de implementar os métodos e composições da presente invenção. Pretende-se, portanto, que as seguintes reivindicações anexas sejam interpretadas como incluindo todas essas alterações, permutações e equivalentes que se enquadram dentro do verdadeiro espírito e escopo da presente invenção.
[0217] Embora alguns aspectos tenham sido descritos no contexto de um aparelho, é claro que esses aspectos representam uma descrição do método correspondente, onde um bloco ou dispositivo corresponde a uma etapa do método ou um recurso de uma etapa do método.
Analogamente, os aspectos descritos no contexto de uma etapa do método também representam uma descrição de um bloco correspondente ou item ou recurso de um aparelho correspondente. Algumas ou todas as etapas do método podem ser executadas por (ou usando) um aparelho de hardware, como, por exemplo, um microprocessador, um computador programável ou um circuito eletrônico. Em algumas modalidades, uma ou mais das etapas mais importantes do método podem ser executadas por tal aparelho.
[0218] O sinal de imagem codificado inventivo pode ser armazenado em um meio de armazenamento digital ou pode ser transmitido em um meio de transmissão sem fio ou um meio de transmissão com fio, como a Internet.
[0219] Dependendo de certos requisitos de implementação, modalidades da invenção podem ser implementadas em hardware ou em software. A implementação pode ser realizada usando um meio de armazenamento digital, por exemplo, um disquete, um DVD, um Blu-Ray, um CD, um ROM, um PROM, um EPROM, um EEPROM ou uma memória FLASH, que tem sinais de controle legíveis eletronicamente armazenados nele, que cooperam (ou são capazes de cooperar) com um sistema de computador programável de modo que o respectivo método seja realizado. Portanto, o meio de armazenamento digital pode ser legível por computador.
[0220] Algumas modalidades de acordo com a invenção compreendem um portador de dados com sinais de controle legíveis eletronicamente, que são capazes de cooperar com um sistema de computador programável, de modo que um dos métodos descritos no presente documento seja realizado.
[0221] Geralmente, as modalidades da presente invenção podem ser implementadas como um produto de programa de computador com um código de programa, o código de programa que é operativo para realizar um dos métodos quando o produto de programa de computador executar em um computador. O código de programa pode, por exemplo, ser armazenado em um portador legível por máquina.
[0222] Outras modalidades compreendem o programa de computador para realizar um dos métodos descritos no presente documento, armazenado em um portador legível por máquina.
[0223] Em outras palavras, uma modalidade do método inventivo é, portanto, um programa de computador que tem um código de programa para realizar um dos métodos descritos no presente documento, quando o programa de computador executar em um computador.
[0224] Uma modalidade adicional dos métodos inventivos é, portanto, um portador de dados (ou um meio de armazenamento digital, ou um meio legível por computador)
que compreende, gravado nele, o programa de computador para realizar um dos métodos descritos no presente documento. O portador de dados, o meio de armazenamento digital ou o meio gravado são tipicamente tangíveis e/ou não transitórios.
[0225] Uma modalidade adicional do método inventivo é, portanto, um fluxo de dados ou uma sequência de sinais que representam o programa de computador para realizar um dos métodos descritos no presente documento. O fluxo de dados ou a sequência de sinais podem, por exemplo, ser configurados para serem transferidos através de uma conexão de comunicação de dados, por exemplo, através da Internet.
[0226] Uma modalidade adicional compreende meios de processamento, por exemplo, um computador, ou um dispositivo lógico programável, configurado ou adaptado para realizar um dos métodos descritos no presente documento.
[0227] Uma modalidade adicional compreende um computador que tem instalado nele o programa de computador para realizar um dos métodos descritos no presente documento.
[0228] Uma modalidade adicional de acordo com a invenção compreende um aparelho ou sistema configurado para transferir (por exemplo, eletronicamente ou opticamente) um programa de computador para realizar um dos métodos descritos no presente documento para um receptor. O receptor pode, por exemplo, ser um computador, um dispositivo móvel, um dispositivo de memória ou semelhante.
O aparelho ou sistema pode, por exemplo, compreende um servidor de arquivos para transferir o programa de computador para o receptor.
[0229] Em algumas modalidades, um dispositivo lógico programável (por exemplo, uma matriz de portas programáveis em campo) pode ser usado para realizar algumas ou todas as funcionalidades dos métodos descritos no presente documento. Em algumas modalidades, uma matriz de portas programáveis em campo pode cooperar com um microprocessador a fim de realizar um dos métodos descritos no presente documento. Geralmente, os métodos são, de preferência, realizados por qualquer aparelho de hardware.
[0230] O aparelho descrito no presente documento pode ser implementado usando um aparelho de hardware, ou usando um computador, ou usando uma combinação de um aparelho de hardware e um computador.
[0231] Os métodos descritos no presente documento podem ser realizados usando um aparelho de hardware, ou usando um computador, ou usando uma combinação de um aparelho de hardware e um computador.
[0232] As modalidades descritas acima são meramente ilustrativas para os princípios da presente invenção. Entende-se que modificações e variações das disposições e os detalhes descritos no presente documento serão evidentes para outros versados na técnica. É a intenção, portanto, ser limitado apenas pelo escopo das reivindicações de patentes iminentes e não pelos detalhes específicos apresentados por meio de descrição e explicação das modalidades neste documento.
REFERÊNCIAS
[0233] [1] Patent application. " Apparatus and Method for Estimating an Inter-Channel Time Difference." International Application Number PCT/EP2017/051214.
[0234] [2] Knapp, Charles, and Glifford Carter.
"The generalized correlation method for estimation of time delay." IEEE Transactions on Acoustics, Speech, e Signal Processing 24.4 (1976): 320 a 327.
[0235] [3] Zhang, Cha, Dinei Florêncio, and Zhengyou Zhang. "Why does PHAT work well in low-noise, reverberative environments?" Acoustics, Speech e Signal Processing, 2008. ICASSP 2008. IEEE International Conference on. IEEE, 2008.
[0236] [4] Rabinkin, Daniel V., et al. "DSP implementation of source location using microphone arrays." Advanced signal processing algorithms, architectures, and implementation VI. Vol. 2846. International Society for Optics and Photonics, 1996.
[0237] [5] Shen, Miao, and Hong Liu. "A modified cross power-spectrum phase method based on microphone array for acoustic source localization." Systems, Man and Cybernetics, 2009. SMC 2009. IEEE International Conference on. IEEE, 2009.
[0238] [6] 3GPP TS 26.445; Codec for Enhanced Voice Services (EVS); Detailed algorithmic description.

Claims (31)

REIVINDICAÇÕES
1. Aparelho para estimar uma diferença de tempo intercanal entre um primeiro sinal de canal e um segundo sinal de canal, caracterizado por compreender: um analisador de sinal (1037) para estimar uma característica de sinal (1038) do primeiro sinal de canal ou o segundo sinal de canal ou ambos os sinais ou um sinal derivado do primeiro sinal de canal ou o segundo sinal de canal; uma calculadora (1020) para calcular um espectro de correlação cruzada para um bloco de tempo do primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo; um ponderador (1036) para ponderar um espectro de correlação cruzada suavizado ou não suavizado para obter um espectro de correlação cruzada ponderado usando um primeiro procedimento de ponderação (1036a) ou usando um segundo procedimento de ponderação (1036b) que depende de uma característica de sinal estimada pelo analisador de sinal (1037), em que o primeiro procedimento de ponderação é diferente do segundo procedimento de ponderação; e um processador (1040) para processar o espectro de correlação cruzada ponderado para obter a diferença de tempo intercanal.
2. Aparelho, de acordo com a reivindicação 1, caracterizado pelo analisador de sinal (1037) ser configurado como um estimador de ruído (1037) para estimar um nível de ruído (1038) do primeiro sinal de canal ou o segundo sinal de canal ou ambos os sinais ou um sinal derivado do primeiro sinal de canal ou o segundo sinal de canal, e em que uma primeira característica de sinal é um primeiro nível de ruído e uma segunda característica de sinal é um segundo nível de ruído, ou em que o analisador de sinal (1037) é configurado para realizar uma análise de fala/música, uma análise de locutor interferente, uma análise de música de fundo, uma análise de fala limpa ou qualquer outra análise de sinal a fim de determinar, se um sinal tem uma primeira característica ou uma segunda característica.
3. Aparelho, de acordo com a reivindicação 1, caracterizado pelo primeiro procedimento de ponderação (1036a) ser selecionado para uma primeira característica de sinal e o segundo procedimento de ponderação (1036b) ser selecionado para uma segunda característica de sinal, e em que a primeira característica de sinal é diferente da segunda característica de sinal.
4. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo primeiro procedimento de ponderação (1036a) compreender uma ponderação de modo que uma amplitude seja normalizada e uma fase seja mantida, ou em que o segundo procedimento de ponderação (1036b) compreende um fator de ponderação derivado do espectro de correlação cruzada suavizado ou não suavizado usando uma operação de potência que tem uma potência que é menor que 1 ou maior que 0 ou uma função log.
5. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo segundo procedimento de ponderação (1036b) compreender uma ponderação de modo que uma amplitude seja normalizada e uma fase seja mantida e, adicionalmente, compreender um fator de ponderação derivado do espectro de correlação cruzada suavizado ou não suavizado usando uma operação de potência que tem uma potência que é menor que 1 ou maior que 0 ou entre 0,79 e 0,82.
6. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo primeiro procedimento de "$<=>! (, ) = |B$ (,9)| , ou $ ponderação (1036a) operar de acordo com a seguinte equação: B (,9) em que o segundo procedimento de ponderação (1036b) opera "$ABC< (, ) = |B$ (,9)|® , $ de acordo com a seguinte equação: B (,9) em que "$<=>! (, ) é um valor de espectro de correlação cruzada suavizada ou não suavizada para um índice de frequência k e um índice de tempo s obtido pela aplicação do primeiro procedimento de ponderação, em que "$ABC< (, ) é um valor de espectro de correlação cruzada suavizada ou não suavizada para um índice de frequência k e um índice de tempo s obtido pela aplicação do segundo procedimento de ponderação, em que "$ (, ) é um valor de espectro de correlação cruzada suavizada ou não suavizada para um índice de frequência k e um índice de tempo s, e em que E é um valor de potência que é diferente de 1.
7. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo segundo procedimento de ponderação (1036b) compreender uma normalização de modo que uma faixa de saída do segundo procedimento de normalização esteja em uma faixa na qual uma faixa de saída do primeiro procedimento de normalização é posicionada, ou de modo que a faixa de saída do segundo procedimento de normalização seja a mesma que uma faixa de saída do primeiro procedimento de normalização.
8. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo segundo procedimento de ponderação (1036b) compreender uma normalização com base na "$ABC< (, ) = B$¯°±² (,9) seguinte equação: |B$¯°±² (,9)| † ³ ´† ∑ . ³ µ¶·
9. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo processador (1040) ser configurado para realizar uma primeira operação de escolha de pico (1041) ou uma segunda operação de escolha de pico (1042) que depende se o primeiro procedimento de ponderação (1036a) ou o segundo procedimento de ponderação (1036b) foi usado, em que a primeira operação de escolha de pico é diferente da segunda operação de escolha de pico.
10. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pela segunda operação de escolha de pico (1042) ser usada quando o segundo procedimento de ponderação for usado, e em que a segunda operação de escolha de pico (1042) é configurada para aplicar um segundo limite que é menor que um primeiro limite usado pela primeira operação de escolha de pico (1041).
11. Aparelho, de acordo com qualquer uma das reivindicações 2 a 10, caracterizado pelo estimador de ruído (1037) ser configurado para estimar (1060) um nível de um ruído de fundo ou ser configurado para suavizar (1061) um nível de ruído estimado ao longo do tempo ou ser configurado para usar um filtro de suavização IIR.
12. Aparelho, de acordo com qualquer uma das reivindicações 2 a 11, caracterizado pelo estimador de ruído (1037) compreender adicionalmente um detector de atividade de sinal (1070) para classificar o bloco de tempo como ativo ou inativo, em que o estimador de ruído (1037) é configurado para calcular (1072) um nível de sinal usando um ou mais blocos de tempo ativo, ou em que o estimador de ruído (1037) é configurado para sinalizar (1050) um alto nível de ruído de fundo, quando uma razão sinal-ruído estiver abaixo de um limite, sendo que o limite está em uma faixa entre 45 a 25 dB.
13. Aparelho, de acordo com as reivindicações 1 a 12, caracterizado por compreender adicionalmente: um estimador de característica espectral (1010) para estimar uma característica de um espectro do primeiro sinal de canal ou o segundo sinal de canal para o bloco de tempo; um filtro de suavização (1030) para suavizar o espectro de correlação cruzada ao longo do tempo usando a característica espectral para obter um espectro de correlação cruzada suavizado, e em que o ponderador (1036) é configurado para ponderar o espectro de correlação cruzada suavizado.
14. Aparelho, de acordo com a reivindicação 1 a 13, caracterizado pelo processador (1040) ser configurado para normalizar (1036a) o espectro de correlação cruzada suavizado usando uma magnitude do espectro de correlação cruzada suavizado.
15. Aparelho, de acordo com qualquer uma das reivindicações 1 a 14, caracterizado pelo processador (1040) ser configurado para calcular (1031) uma representação de domínio de tempo do espectro de correlação cruzada suavizado ou um espectro de correlação cruzada suavizado normalizado; e para analisar (1032) a representação de domínio de tempo para determinar a diferença de tempo intercanal.
16. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo processador (1040) ser configurado para filtrar em passa-baixa (458) a representação de domínio de tempo e processar adicionalmente (1033) um resultado da filtragem passa-baixa.
17. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo processador (1040) ser configurado para realizar a determinação de diferença de tempo intercanal realizando uma operação de busca ou operação de escolha de pico (1041, 1042) dentro de uma representação de domínio de tempo determinada a partir do espectro de correlação cruzada suavizado.
18. Aparelho, de acordo com qualquer uma das reivindicações 13 a 17, caracterizado pelo estimador de característica espectral (1010) ser configurado para determinar, como a característica espectral, um ruído ou uma tonalidade do espectro; e em que o filtro de suavização (1030) é configurado para aplicar uma suavização mais forte ao longo do tempo com um primeiro grau de suavização no caso de uma primeira característica menos ruidosa ou uma primeira característica mais tonal, ou para aplicar uma suavização mais fraca ao longo do tempo com um segundo grau de suavização no caso de uma segunda característica mais ruidosa ou uma segunda característica menos tonal, em que o primeiro grau de suavização é maior do que o segundo grau de suavização, e em que a primeira característica ruidosa é menos ruidosa do que a segunda característica ruidosa, ou a primeira característica tonal é mais tonal do que a segunda característica tonal.
19. Aparelho, de acordo com qualquer uma das reivindicações 13 a 18, caracterizado pelo estimador de características espectrais (1010) ser configurado para calcular, como a característica, uma primeira medida de nivelamento espectral de um espectro do primeiro sinal de canal e uma segunda medida de nivelamento espectral de um segundo espectro do segundo sinal de canal, e para determinar a característica do espectro da primeira e da segunda medida de nivelamento espectral selecionando um valor máximo, determinando uma média ponderada ou uma média não ponderada entre as medidas de nivelamento espectral, ou selecionando um valor mínimo.
20. Aparelho, de acordo com qualquer uma das reivindicações 13 a 19, caracterizado pelo filtro de suavização (1030) ser configurado para calcular um valor de espectro de correlação cruzada suavizado para uma frequência por uma combinação ponderada do valor de espectro de correlação cruzada para a frequência do bloco de tempo e um valor de espectro de correlação cruzada para a frequência de pelo menos um bloco de tempo passado, em que os fatores de ponderação para a combinação ponderada são determinados pela característica do espectro.
21. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo processador (1040) ser configurado para determinar (1120) uma faixa válida e uma faixa inválida dentro de uma representação de domínio de tempo derivada do espectro de correlação cruzada suavizado ponderada ou não suavizado, em que pelo menos um pico máximo dentro da faixa é detectado (1121) e comparado (1123) a um pico máximo dentro da faixa válida, em que a diferença de tempo intercanal é determinada apenas (1124), quando o pico máximo dentro da faixa válida for maior do que pelo menos um pico máximo dentro da faixa inválida.
22. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo processador (1040) ser configurado para realizar (1102) uma operação de busca de pico dentro de uma representação de domínio de tempo derivada do espectro de correlação cruzada suavizado, para determinar (1105) uma variável de um limite fixo da representação de domínio de tempo; e para comparar (1106, 1035) um pico com o limite variável, em que a diferença de tempo intercanal é determinada como uma defasagem de tempo associada a um pico que está em uma relação predeterminada com o limite variável.
23. Aparelho, de acordo com a reivindicação 22, caracterizado pelo processador (1040) ser configurado para determinar (1105) o limite variável como um valor que é igual a um múltiplo inteiro de um valor entre uma porção maior, como 10% dos valores da representação de domínio de tempo.
24. Aparelho, de acordo com a reivindicações 1 a 23, caracterizado pelo processador (1040) ser configurado para determinar (1102) uma amplitude máxima de pico em cada sub- bloco de uma pluralidade de sub-blocos de uma representação de domínio de tempo derivada do espectro de correlação cruzada suavizado, caracterizado pelo processador (1040) ser configurado para calcular (1105, 1034) um limite variável com base em uma magnitude de pico média derivada (1103) das magnitudes de pico máximas da pluralidade de sub-blocos, e em que o processador (1140) é configurado para determinar a diferença de tempo intercanal como um valor de defasagem de tempo correspondente a um pico máximo da pluralidade de sub-blocos que é maior do que o limite variável.
25. Aparelho, de acordo com a reivindicação 24, caracterizado pelo processador (1140) ser configurado para calcular (1105) o limite variável por uma multiplicação do limite médio determinado como um pico médio entre os picos nos sub-blocos e um valor, em que o valor é determinado por uma característica SNR (razão sinal-ruído) do primeiro e do segundo sinal de canal, em que um primeiro valor é associado a um primeiro valor de SNR e um segundo valor está associado a um segundo valor de SNR, em que o primeiro valor é maior do que o segundo valor, e em que o primeiro valor de SNR é maior do que o segundo valor de SNR.
26. Aparelho, de acordo com a reivindicação 25, caracterizado pelo processador ser configurado para usar (1104) um terceiro valor (amais inferior) que é menor do que o segundo valor (ainferior) no caso de um terceiro valor de SNR ser inferior ao segundo valor de SNR e quando uma diferença entre o limite e um pico máximo for inferior a um valor predeterminado.
27. Aparelho, de acordo com qualquer uma das reivindicações 2 a 26, caracterizado pelo estimador de ruído (1037) compreender um estimador de ruído de fundo (1060) e um suavizador de tempo (1061) para fornecer uma estimativa de ruído de fundo, ou em que o estimador de ruído (1037) compreende um detector de atividade de sinal (1070), um seletor de quadro (1071) para selecionar um quadro ativo apenas sob controle do detector de atividade de sinal (1070), e uma calculadora de nível de sinal (1072) para calcular um nível de sinal no quadro ativo, e um suavizador de tempo (1073) para suavizar um resultado da calculadora de nível de sinal (1072) ao longo do tempo para fornecer uma estimativa de nível de sinal, ou em que o estimador de ruído (1037) é configurado para calcular (1074) uma razão sinal-ruído de um nível de sinal suavizado ou não suavizado e um nível de ruído de fundo suavizado ou não suavizado para um quadro, e um comparador (1075) para comparar o valor da razão sinal-ruído para um quadro a fim de fornecer o nível de ruído (1038, 1050) para o quadro.
28. Aparelho, de acordo com qualquer uma das reivindicações anteriores, caracterizado pelo aparelho ser configurado para realizar um armazenamento ou uma transmissão da diferença de tempo intercanal estimada, ou para realizar um processamento estéreo ou multicanal ou codificação do primeiro e do segundo sinais de canal usando a diferença de tempo intercanal estimada, ou para realizar um alinhamento de tempo dos sinais de dois canais usando a diferença de tempo intercanal, ou para realizar uma estimativa de diferença de tempo de chegada usando a diferença de tempo intercanal estimada, ou para realizar uma estimativa de diferença de tempo de chegada usando a diferença de tempo intercanal para a determinação da posição de um alto-falante em uma sala com dois microfones e uma configuração de microfone conhecida, ou para realizar uma formação de feixe usando a diferença de tempo intercanal estimada, ou para realizar uma filtragem espacial usando a diferença de tempo intercanal estimada, ou para realizar uma decomposição de um primeiro ou segundo plano usando a diferença de tempo intercanal estimada, ou para realizar uma operação de localização de uma fonte de som usando a diferença de tempo intercanal estimada, ou para realizar uma localização de uma fonte de som usando a diferença de tempo intercanal estimada ao realizar uma triangulação acústica com base nas diferenças de tempo entre o primeiro sinal de canal e o segundo sinal de canal ou o primeiro sinal de canal, o segundo sinal de canal e pelo menos um sinal adicional.
29. Método para estimar uma diferença de tempo intercanal entre um primeiro sinal de canal e um segundo sinal de canal, sendo que o método é caracterizado por compreender: estimar uma característica de sinal do primeiro sinal de canal ou o segundo sinal de canal ou ambos os sinais ou um sinal derivado do primeiro sinal de canal ou o segundo sinal de canal; calcular um espectro de correlação cruzada para um bloco de tempo do primeiro sinal de canal no bloco de tempo e o segundo sinal de canal no bloco de tempo; ponderar um espectro de correlação cruzada suavizado ou não suavizado para obter um espectro de correlação cruzada ponderado usando um primeiro procedimento de ponderação ou usando um segundo procedimento de ponderação dependendo de uma característica de sinal estimada, em que o primeiro procedimento de ponderação é diferente do segundo procedimento de ponderação; e processar o espectro de correlação cruzada ponderado para obter a diferença de tempo intercanal.
30. Método, de acordo com a reivindicação 29, caracterizado adicionalmente por compreender: estimar uma característica de um espectro do primeiro sinal de canal ou o segundo sinal de canal para o bloco de tempo; suavizar o espectro de correlação cruzada ao longo do tempo usando a característica espectral para obter um espectro de correlação cruzada suavizado, e em que a ponderação pondera o espectro de correlação cruzada suavizado.
31. Programa de computador para realizar, caracterizado por realizar, quando executado em um computador ou um processador, o método de acordo com a reivindicação 29 ou
30.
BR112020020457-9A 2018-04-05 2019-04-03 Aparelho, método ou programa de computador para estimar uma diferença de tempo intercanal BR112020020457A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP18165882 2018-04-05
EP18165882.4 2018-04-05
PCT/EP2019/058434 WO2019193070A1 (en) 2018-04-05 2019-04-03 Apparatus, method or computer program for estimating an inter-channel time difference

Publications (1)

Publication Number Publication Date
BR112020020457A2 true BR112020020457A2 (pt) 2021-01-12

Family

ID=61965696

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112020020457-9A BR112020020457A2 (pt) 2018-04-05 2019-04-03 Aparelho, método ou programa de computador para estimar uma diferença de tempo intercanal

Country Status (18)

Country Link
US (2) US11594231B2 (pt)
EP (2) EP3985665A1 (pt)
JP (2) JP7204774B2 (pt)
KR (1) KR102550424B1 (pt)
CN (1) CN112262433B (pt)
AR (1) AR117567A1 (pt)
AU (1) AU2019249872B2 (pt)
BR (1) BR112020020457A2 (pt)
CA (1) CA3095971C (pt)
ES (1) ES2909343T3 (pt)
MX (1) MX2020010462A (pt)
PL (1) PL3776541T3 (pt)
PT (1) PT3776541T (pt)
RU (1) RU2762302C1 (pt)
SG (1) SG11202009801VA (pt)
TW (1) TWI714046B (pt)
WO (1) WO2019193070A1 (pt)
ZA (1) ZA202006125B (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11418879B2 (en) * 2020-05-13 2022-08-16 Nxp B.V. Audio signal blending with beat alignment
CN113948098A (zh) * 2020-07-17 2022-01-18 华为技术有限公司 一种立体声音频信号时延估计方法及装置
WO2022042908A1 (en) * 2020-08-31 2022-03-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Multi-channel signal generator, audio encoder and related methods relying on a mixing noise signal
CN112242150B (zh) * 2020-09-30 2024-04-12 上海佰贝科技发展股份有限公司 一种检测立体声的方法及其系统
AU2021451130A1 (en) * 2021-06-15 2023-11-16 Telefonaktiebolaget Lm Ericsson (Publ) Improved stability of inter-channel time difference (itd) estimator for coincident stereo capture
WO2023038637A1 (en) * 2021-09-13 2023-03-16 Luminous Computing, Inc. Optical filter system and method of operation
CN114324972B (zh) * 2022-01-10 2022-09-13 浙江大学 一种适用于流体互相关测速的自适应广义互相关时延估计方法
WO2024053353A1 (ja) * 2022-09-08 2024-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 信号処理装置、及び、信号処理方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5434948A (en) 1989-06-15 1995-07-18 British Telecommunications Public Limited Company Polyphonic coding
US7116787B2 (en) * 2001-05-04 2006-10-03 Agere Systems Inc. Perceptual synthesis of auditory scenes
US7720230B2 (en) 2004-10-20 2010-05-18 Agere Systems, Inc. Individual channel shaping for BCC schemes and the like
US7573912B2 (en) 2005-02-22 2009-08-11 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschunng E.V. Near-transparent or transparent multi-channel encoder/decoder scheme
KR20080066537A (ko) * 2007-01-12 2008-07-16 엘지전자 주식회사 부가정보를 가지는 오디오신호의 부호화/복호화 방법 및장치
GB2453117B (en) * 2007-09-25 2012-05-23 Motorola Mobility Inc Apparatus and method for encoding a multi channel audio signal
BRPI0816556A2 (pt) * 2007-10-17 2019-03-06 Fraunhofer Ges Zur Foerderung Der Angewandten Forsschung E V codificação de áudio usando downmix
KR101405956B1 (ko) * 2007-12-28 2014-06-12 엘지전자 주식회사 오디오 신호 처리 방법 및 장치
EP2283483B1 (en) 2008-05-23 2013-03-13 Koninklijke Philips Electronics N.V. A parametric stereo upmix apparatus, a parametric stereo decoder, a parametric stereo downmix apparatus, a parametric stereo encoder
EP2353160A1 (en) * 2008-10-03 2011-08-10 Nokia Corporation An apparatus
US8504378B2 (en) * 2009-01-22 2013-08-06 Panasonic Corporation Stereo acoustic signal encoding apparatus, stereo acoustic signal decoding apparatus, and methods for the same
EP2626855B1 (en) * 2009-03-17 2014-09-10 Dolby International AB Advanced stereo coding based on a combination of adaptively selectable left/right or mid/side stereo coding and of parametric stereo coding
CN101848412B (zh) 2009-03-25 2012-03-21 华为技术有限公司 通道间延迟估计的方法及其装置和编码器
CN102157152B (zh) * 2010-02-12 2014-04-30 华为技术有限公司 立体声编码的方法、装置
US9424852B2 (en) * 2011-02-02 2016-08-23 Telefonaktiebolaget Lm Ericsson (Publ) Determining the inter-channel time difference of a multi-channel audio signal
US9253574B2 (en) * 2011-09-13 2016-02-02 Dts, Inc. Direct-diffuse decomposition
JP5692006B2 (ja) * 2011-11-02 2015-04-01 トヨタ自動車株式会社 音源推定装置、方法、プログラム、及び移動体
CN103534753B (zh) * 2012-04-05 2015-05-27 华为技术有限公司 用于信道间差估计的方法和空间音频编码装置
EP2898506B1 (en) * 2012-09-21 2018-01-17 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
EP2980789A1 (en) * 2014-07-30 2016-02-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for enhancing an audio signal, sound enhancing system
JP2017530579A (ja) * 2014-08-14 2017-10-12 レンセラール ポリテクニック インスティチュート 両耳統合相互相関自己相関メカニズム
CN106033671B (zh) * 2015-03-09 2020-11-06 华为技术有限公司 确定声道间时间差参数的方法和装置
KR102219752B1 (ko) * 2016-01-22 2021-02-24 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 채널 간 시간 차를 추정하기 위한 장치 및 방법
CN107742521B (zh) * 2016-08-10 2021-08-13 华为技术有限公司 多声道信号的编码方法和编码器

Also Published As

Publication number Publication date
EP3776541A1 (en) 2021-02-17
US11594231B2 (en) 2023-02-28
TW202004734A (zh) 2020-01-16
ES2909343T3 (es) 2022-05-06
SG11202009801VA (en) 2020-11-27
CN112262433A (zh) 2021-01-22
JP2023036893A (ja) 2023-03-14
US20210012784A1 (en) 2021-01-14
WO2019193070A1 (en) 2019-10-10
KR102550424B1 (ko) 2023-07-04
CA3095971A1 (en) 2019-10-10
RU2762302C1 (ru) 2021-12-17
EP3985665A1 (en) 2022-04-20
PL3776541T3 (pl) 2022-05-23
US20230169985A1 (en) 2023-06-01
AU2019249872B2 (en) 2021-11-04
TWI714046B (zh) 2020-12-21
JP7204774B2 (ja) 2023-01-16
KR20200140864A (ko) 2020-12-16
PT3776541T (pt) 2022-03-21
ZA202006125B (en) 2022-07-27
CN112262433B (zh) 2024-03-01
AR117567A1 (es) 2021-08-18
AU2019249872A1 (en) 2020-11-12
CA3095971C (en) 2023-04-25
EP3776541B1 (en) 2022-01-12
JP2021519949A (ja) 2021-08-12
MX2020010462A (es) 2020-10-22

Similar Documents

Publication Publication Date Title
JP7161564B2 (ja) チャネル間時間差を推定する装置及び方法
BR112020020457A2 (pt) Aparelho, método ou programa de computador para estimar uma diferença de tempo intercanal
RU2560790C2 (ru) Параметрическое кодирование и декодирование
US20110206209A1 (en) Apparatus
BR112021010964A2 (pt) Aparelho e método para gerar uma descrição de campo de som

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B06G Technical and formal requirements: other requirements [chapter 6.7 patent gazette]

Free format text: VER PARECER.