BR112018010305B1 - Codificação de múltiplos sinais de áudio - Google Patents

Codificação de múltiplos sinais de áudio Download PDF

Info

Publication number
BR112018010305B1
BR112018010305B1 BR112018010305-5A BR112018010305A BR112018010305B1 BR 112018010305 B1 BR112018010305 B1 BR 112018010305B1 BR 112018010305 A BR112018010305 A BR 112018010305A BR 112018010305 B1 BR112018010305 B1 BR 112018010305B1
Authority
BR
Brazil
Prior art keywords
signal
channel
value
audio
audio signal
Prior art date
Application number
BR112018010305-5A
Other languages
English (en)
Other versions
BR112018010305A2 (pt
Inventor
Venkatraman Atti
Venkata Subrahmanyam Chandra Sekhar Chebiyyam
Daniel Jared Sinder
Original Assignee
Qualcomm Incorporated
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
Priority claimed from US15/274,041 external-priority patent/US10152977B2/en
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112018010305A2 publication Critical patent/BR112018010305A2/pt
Publication of BR112018010305B1 publication Critical patent/BR112018010305B1/pt

Links

Abstract

CODIFICAÇÃO DE MÚLTIPLOS SINAIS DE ÁUDIO. Um dispositivo inclui um codificador. O codificador é configurado para receber dois canais de áudio. O codificador também é configurado para determinar um valor de incompatibilidade indicativo de uma quantidade de uma incompatibilidade temporal entre os dois canais de áudio. O codificador é configurado adicionalmente para determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência. O canal-alvo corresponde a um canal de áudio latente dentre os dois canais de áudio e o canal de referência corresponde a um canal de áudio de avanço dentre os dois canais de áudio. O codificador também é configurado para gerar um canal-alvo modificado ajustando-se o canal- alvo com base no valor de desvio. O codificador é configurado adicionalmente para gerar pelo menos um canal codificado com base no canal de referência e no canal-alvo modificado.

Description

Reivindicação de Prioridade
[0001] O presente pedido reivindica prioridade do Pedido de Patente n° U.S. 15/274.041 intitulado "ENCODING OF MULTIPLE AUDIO SIGNALS", depositado em 23 de setembro de 2016 e Pedido de Patente Provisório n° U.S. 62/258.369 intitulado "ENCODING OF MULTIPLE AUDIO SIGNALS", depositado em 20 de novembro de 2015, cujos conteúdos são incorporados por referência no presente documento em sua totalidade.
II. Campo
[0002] A presente revelação é geralmente relacionada para codificar de múltiplos sinais de áudio.
III. Descrição da Técnica Relacionada
[0003] Os avanços na tecnologia resultaram em dispositivos de computação menores e mais poderosos. Por exemplo, existe atualmente uma variedade de dispositivos de computação pessoal portátil, que inclui telefones sem fio como telefones móvel e inteligente, computadores tipo tablet e tipo laptop que são pequenos, leves e facilmente portado por usuários. Esses dispositivos podem comunicar voz e pacotes de dados através de redes sem fio. Adicionalmente, muitos de tais dispositivos incorporam funcionalidade adicional como uma câmera imóvel digital, uma câmera de vídeo digital, um gravador digital e um reprodutor de arquivo de áudio. Além disso, tais dispositivos podem processar instruções executáveis, incluindo aplicações de software, como um aplicativo de navegador de web, que podem ser usados para acessar a Internet. De tal modo, esses dispositivos podem incluir capacidade de computação significativa.
[0004] Um dispositivo de computação pode incluir múltiplos microfones para receber sinais de áudio. Em geral, uma fonte sonora está mais perto de um primeiro microfone do que de um segundo microfone dentre os múltiplos microfones. Consequentemente, um segundo sinal de áudio recebido do segundo microfone pode ser atrasado em relação a um primeiro sinal de áudio recebido a partir do primeiro microfone devido à distância dos microfones a partir da fonte sonora. Em estereocodificação, sinais de áudio a partir dos microfones podem ser codificados para gerar um sinal de canal intermediário e um ou mais sinais de canal lateral. O sinal de canal intermediário pode corresponder a uma soma do primeiro sinal de áudio e do segundo sinal de áudio. Um sinal de canal lateral pode corresponder a uma diferença entre o primeiro sinal de áudio e o segundo sinal de áudio. O primeiro sinal de áudio pode não ser alinhado com o segundo sinal de áudio devido ao atraso no recebimento do segundo sinal de áudio em relação ao primeiro sinal de áudio. O desalinhamento do primeiro sinal de áudio em relação ao segundo sinal de áudio pode aumentar a diferença entre os dois sinais de áudio. Devido ao aumento na diferença, um número superior de bits pode ser usado para codificar o sinal de canal lateral.
IV. Sumário
[0005] Em um aspecto particular, um dispositivo inclui um codificador. O codificador é configurado para receber dois canais de áudio. O codificador também é configurado para determinar um valor de incompatibilidade indicativo de uma quantidade de uma incompatibilidade temporal entre os dois canais de áudio. O codificador é configurado adicionalmente para determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência. O canal- alvo corresponde a um canal de áudio temporariamente latente dentre os dois canais de áudio e o canal de referência corresponde a um canal de áudio temporariamente de avanço dentre os dois canais de áudio. O codificador também é configurado para gerar um canal-alvo modificado ajustando-se o canal-alvo com base no valor de incompatibilidade. O codificador é configurado adicionalmente para gerar pelo menos um canal codificado com base no canal de referência e no canal-alvo modificado.
[0006] Em outro aspecto particular, um método de comunicação inclui receber, em um dispositivo, dois canais de áudio. O método também inclui determinar, no dispositivo, um valor de incompatibilidade indicativo de uma quantidade de incompatibilidade temporal entre dois canais de áudio. O método inclui adicionalmente determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência. O canal- alvo corresponde a um canal de áudio temporariamente latente dentre os dois canais de áudio e o canal de referência corresponde a um canal de áudio temporariamente de avanço dentre os dois canais de áudio. O método também inclui gerar, no dispositivo, um canal-alvo modificado ajustando-se o canal-alvo com base no valor de incompatibilidade. O método inclui adicionalmente gerar, no dispositivo, pelo menos um sinal codificado com base no canal de referência e no canal-alvo modificado.
[0007] Em outro aspecto particular, um dispositivo de armazenamento legível por computador armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que incluem receber dois canais de áudio. As operações também incluem determinar um valor de incompatibilidade indicativo de uma quantidade de incompatibilidade temporal entre os dois canais de áudio. As operações incluem adicionalmente determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência. O canal-alvo corresponde a um canal de áudio temporariamente latente dentre os dois canais de áudio e o canal de referência corresponde a um canal de áudio temporariamente de avanço dentre os dois canais de áudio. As operações também incluem gerar um canal-alvo modificado ajustando-se o canal-alvo com base no valor de incompatibilidade. As operações incluem adicionalmente gerar pelo menos um sinal codificado com base no canal de referência e no canal-alvo modificado.
[0008] Em outro aspecto particular, um dispositivo inclui um codificador e um transmissor. O codificador é configurado para determinar um valor de deslocamento final indicativo de um deslocamento de um primeiro sinal de áudio em relação a um segundo sinal de áudio. O codificador pode, em resposta à determinação da possibilidade de o valor de deslocamento final ser positivo ou negativo, selecionar (ou identificar) um dentre o primeiro sinal de áudio ou o segundo sinal de áudio como um sinal de referência e o outro dentre o primeiro sinal de áudio ou o segundo sinal de áudio como um sinal-alvo. O codificador pode deslocar o sinal-alvo com base em um valor de deslocamento não causal (por exemplo, um valor absoluto do valor de deslocamento final). O codificador também é configurado para gerar pelo menos um sinal codificado com base em primeiras amostras do primeiro sinal de áudio (por exemplo, o sinal de referência) e segundas amostras do segundo sinal de áudio (por exemplo, o sinal-alvo). As segundas amostras são deslocadas no tempo em relação às primeiras amostras por uma quantidade que é baseada no valor de deslocamento final. O transmissor é configurado para transmitir o pelo menos um sinal codificado.
[0009] Em outro aspecto particular, um método de comunicação inclui determinar, em um primeiro dispositivo, um valor de deslocamento final indicativo de um deslocamento de um primeiro sinal de áudio em relação a um segundo sinal de áudio. O método também inclui gerar, no primeiro dispositivo, pelo menos um sinal codificado com base nas primeiras amostras do primeiro sinal de áudio e nas segundas amostras do segundo sinal de áudio. As segundas amostras podem ser deslocadas no tempo em relação às primeiras amostras por uma quantidade que é baseada no valor de deslocamento final. O método inclui adicionalmente enviar o pelo menos um sinal codificado a partir do primeiro dispositivo para um segundo dispositivo.
[0010] Em outro aspecto particular, um dispositivo de armazenamento legível por computador armazena instruções que, quando executadas por um processador, fazem com que o processador realize operações que incluem determinar um valor de deslocamento final indicativo de um deslocamento de um primeiro sinal de áudio em relação a um segundo sinal de áudio. As operações também incluem gerar pelo menos um sinal codificado com base nas primeiras amostras do primeiro sinal de áudio e nas segundas amostras do segundo sinal de áudio. As segundas amostras são deslocadas no tempo em relação às primeiras amostras por uma quantidade que é baseada no valor de deslocamento final. As operações incluem adicionalmente enviar o pelo menos um sinal codificado para um dispositivo.
[0011] Outros aspectos, vantagens e recursos da presente revelação irão se tornar evidentes após a revisão do pedido inteiro, incluindo as seguintes seções: Breve Descrição dos Desenhos, Descrição Detalhada e as Reivindicações.
V. Breve Descrição dos Desenhos
[0012] A Figura 1 é um diagrama de blocos de um exemplo ilustrativo particular de um sistema que inclui um dispositivo operacional para codificar múltiplos sinais de áudio;
[0013] A Figura 2 é um diagrama que ilustra outro exemplo de um sistema que inclui o dispositivo da Figura 1;
[0014] A Figura 3 é um diagrama que ilustra exemplos particulares de amostras que podem ser codificadas pelo dispositivo da Figura 1;
[0015] A Figura 4 é um diagrama que ilustra exemplos particulares de amostras que podem ser codificadas pelo dispositivo da Figura 1;
[0016] A Figura 5 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0017] A Figura 6 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0018] A Figura 7 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0019] A Figura 8 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0020] A Figura 9A é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0021] A Figura 9B é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0022] A Figura 9C é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0023] A Figura 10A é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0024] A Figura 10B é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0025] A Figura 11 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0026] A Figura 12 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0027] A Figura 13 é um fluxograma que ilustra um método particular para codificar múltiplos sinais de áudio;
[0028] A Figura 14 é um diagrama que ilustra outro exemplo de um sistema que inclui o dispositivo da Figura 1;
[0029] A Figura 15 é um diagrama que ilustra outro exemplo de um sistema que inclui o dispositivo da Figura 1;
[0030] A Figura 16 é um fluxograma que ilustra um método particular para codificar múltiplos sinais de áudio;
[0031] A Figura 17 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0032] A Figura 18 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0033] A Figura 19 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0034] A Figura 20 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0035] A Figura 21 é um diagrama que ilustra outro exemplo de um sistema operacional para codificar múltiplos sinais de áudio;
[0036] A Figura 22 é um fluxograma que ilustra um método particular para codificar múltiplos sinais de áudio;
[0037] A Figura 23 é um diagrama de blocos de um exemplo ilustrativo particular de um dispositivo que é operacional para codificar múltiplos sinais de áudio; e
[0038] A Figura 24 é um diagrama de blocos de uma estação-base que é operacional para codificar múltiplos sinais de áudio.
VI. Descrição Detalhada
[0039] São revelados os sistemas e os dispositivos operacionais para codificar múltiplos sinais de áudio. Um dispositivo pode incluir um codificador configurado para codificar os múltiplos sinais de áudio. Os múltiplos sinais de áudio podem ser capturados simultaneamente no tempo com o uso de múltiplos dispositivos de gravação, por exemplo, múltiplos microfones. Em alguns exemplos, os múltiplos sinais de áudio (ou áudio de múltiplos canais) podem ser sinteticamente (por exemplo, artificialmente) gerados multiplexando-se vários canais de áudio que são gravados ao mesmo tempo ou em momentos diferentes. Como exemplos ilustrativos, a gravação ou multiplexação simultânea dos canais de áudio pode resultar e uma configuração de 2 canais (isto é, Estéreo: Esquerdo e Direito), uma configuração de 5.1 canais (Esquerdo, Direito, Central, Esquerdo Surround, Direito Surround e os canais de ênfase de baixa frequência (LFE)), uma configuração de 7.1 canais, uma configuração de 7.1 + 4 canais, uma configuração de 22.2 canais ou uma configuração de N canais.
[0040] Os dispositivos de captura de áudio em ambientes de teleconferência (ou ambientes de telepresença) podem incluir múltiplos microfones que obtêm áudio espacial. O áudio espacial pode incluir fala assim como áudio de segundo plano que é codificado e transmitido. A fala/o áudio de uma dada fonte (por exemplo, um falante) pode chegar nos múltiplos microfones em tempos diferentes dependendo de como os microfones são dispostos, assim como onde a fonte (por exemplo, o falante) é localizado em relação aos microfones e às dimensões do ambiente. Por exemplo, uma fonte sonora (por exemplo, um falante) pode estar mais perto de um primeiro microfone associado ao dispositivo do que um segundo microfone associado ao dispositivo. Portanto, um som emitido a partir da fonte sonora pode alcançar o primeiro microfone anteriormente no tempo do que o segundo microfone. O dispositivo pode receber um primeiro sinal de áudio por meio do primeiro microfone e pode receber um segundo sinal de áudio por meio do segundo microfone.
[0041] Em alguns exemplos, os microfones podem receber áudio a partir de múltiplas fontes sonoras. As múltiplas fontes sonoras podem incluir uma fonte sonora dominante (por exemplo, um falante) e uma ou mais fontes sonoras secundárias (por exemplo, um carro que passa, tráfego, música de segundo plano, ruído da rua). O som emitido a partir da fonte sonora dominante pode alcançar o primeiro microfone anteriormente no tempo do que o segundo microfone.
[0042] Um sinal de áudio pode ser codificado em segmentos ou quadros. Um quadro pode corresponder a um número de amostras (por exemplo, 1.920 amostras ou 2.000 amostras). A codificação intermediária-lateral (MS) e a codificação estéreo paramétrica (PS) são técnicas de codificação estéreo que podem fornecer eficácia aprimorada em relação às técnicas de codificação dual-mono. Na codificação dual-mono, o canal (ou sinal) Esquerdo (L) e o canal (ou sinal) Direito (R) são independentemente codificados sem o uso da correlação intercanais. A codificação MS reduz a redundância entre um par de canais L/R correlacionados transformando-se o canal Esquerdo e o canal Direito em um canal de soma e um canal de diferença (por exemplo, um canal lateral) antes da codificação. O sinal de soma e o sinal de diferença são codificados por forma de onda na codificação MS. Relativamente mais bits são gastos no sinal de soma do que no sinal lateral. A codificação PS reduz a redundância em cada sub-banda transformando-se os sinais L/R em um sinal de soma e um conjunto de parâmetros laterais. Os parâmetros laterais podem indicar uma diferença de intensidade intercanais (IID), uma diferença de fase intercanais (IPD), uma diferença de tempo intercanais (ITD), etc. O sinal de soma é codificado por forma de onda e transmitido juntamente com os parâmetros laterais. Em um sistema híbrido, o canal lateral pode ser codificado por forma de onda nas bandas inferiores (por exemplo, menores do que 2 a 3 quilohertz (kHz)) e codificado por PS nas bandas superiores (por exemplo, maiores ou iguais a 2 a 3 kHz) em que a preservação de fase intercanais é perceptivamente menos crítica.
[0043] A codificação MS e a codificação PS podem ser realizadas tanto no domínio de frequência quanto no domínio de sub-banda. Em alguns exemplos, o canal Esquerdo e o canal Direito podem ser não correlacionados. Por exemplo, o canal Esquerdo e o canal Direito podem incluir sinais sintéticos não correlacionados. Quando o canal Esquerdo e o canal Direito não são correlacionados, a eficácia de codificação da codificação MS, da codificação PS ou ambas, pode se aproximar da eficácia de codificação da codificação dual-mono.
[0044] Dependendo de uma configuração de gravação, pode haver um deslocamento temporal entre um canal Esquerdo e um canal Direito, assim como outros efeitos espaciais como o eco e a reverberação ambiental. Se o deslocamento temporal e a incompatibilidade de fase entre os canais não forem compensados, o canal de soma e o canal de diferença podem conter energias comparáveis que reduzem os ganhos de codificação associados às técnicas de MS ou de PS. A redução nos ganhos de codificação pode ser baseada na quantidade de deslocamento temporal (ou de fase). As energias comparáveis do sinal de soma e do sinal de diferença podem limitar o uso da codificação MS em certos quadros em que os canais são temporariamente deslocados, mas são altamente correlacionados. Na codificação estéreo, um canal Intermediário (por exemplo, um canal de soma) e um canal Lateral (por exemplo, um canal de diferença) podem ser gerados com base na seguinte Fórmula: M= (L + R)/2, S = (L - R)/2, Fórmula 1
[0045] Em que M corresponde ao canal Intermediário, S corresponde ao canal Lateral, L corresponde ao canal Esquerdo e R corresponde ao canal Direito.
[0046] Em alguns casos, o canal Intermediário e o canal Lateral podem ser gerados com base na seguinte Fórmula: M = c (L + R), S = c (L - R), Fórmula 2
[0047] Em que c corresponde a um valor complexo ou um valor real que pode variar de quadro para quadro, de uma frequência ou sub-banda para outra, ou uma combinação dos mesmos.
[0048] Em alguns casos, o canal Intermediário e o canal Lateral podem ser gerados com base na seguinte Fórmula: M = (c1 * L + c2 * R), S = (c3 * L - c4 * R), Fórmula 3
[0049] em c1, c2, c3 e c4 sãos valores complexos ou valores reais que podem variar de quadro para quadro, de uma sub-banda ou frequência para outra, ou uma combinação dos mesmos. Gerar o canal Intermediário e o canal Lateral com base na Fórmula 1, na Fórmula 2 ou na Fórmula 3 pode ser chamado de realizar um algoritmo de "mixagem descendente". Um processo inverso da geração do canal Esquerdo e do canal Direito a partir do canal Intermediário e do canal Lateral com base na Fórmula 1, na Fórmula 2 ou na Fórmula 3 pode ser chamado de realizar um algoritmo de "mixagem ascendente".
[0050] Uma abordagem de ad-hoc usada para escolher entre a codificação MS ou a codificação dual-mono para um quadro particular pode incluir gerar um sinal intermediário e um sinal lateral, calcular energias do sinal intermediário e do sinal lateral e determinar a possibilidade de realizar codificação MS com base nas energias. Por exemplo, a codificação MS pode ser realizada em resposta à determinação de que a razão de energias do sinal lateral e do sinal intermediário é menor do que um limiar. Para ilustrar, se um canal Direito for deslocado por pelo menos um primeiro tempo (por exemplo, cerca de 0,001 segundos ou 48 amostras a 48 kHz), uma primeira energia do sinal intermediário (correspondente a uma soma do sinal esquerdo e do sinal direito) pode ser comparável com uma segunda energia do sinal lateral (correspondente a uma diferença entre o sinal esquerdo e o sinal direito) para certos quadros. Quando a primeira energia é comparável com a segunda energia, um número superior de bits pode ser usado para codificar o canal Lateral, reduzindo, assim, a eficácia de codificação da codificação MS em relação à codificação dual-mono. A codificação dual-mono, portanto, pode ser usada quando a primeira energia é comparável com a segunda energia (por exemplo, quando a razão da primeira energia e da segunda energia é maior ou igual ao limiar). Em uma abordagem alternativa, a decisão entre a codificação MS e a codificação dual-mono para um quadro particular pode ser realizada com base em uma comparação de um limiar e valores de correlação cruzada normalizados do canal Esquerdo e do canal Direito.
[0051] Em alguns exemplos, o codificador pode determinar um valor de incompatibilidade (por exemplo, um valor de deslocamento temporal, um valor de ganho, um valor de energia, um valor de previsão intercanais) indicativo de uma incompatibilidade temporal (por exemplo, um deslocamento) do primeiro sinal de áudio em relação ao segundo sinal de áudio. O valor de deslocamento (por exemplo, o valor de incompatibilidade) pode corresponder a uma quantidade de atraso temporal entre o recebimento do primeiro sinal de áudio no primeiro microfone e o recebimento no segundo sinal de áudio no segundo microfone. Adicionalmente, o codificador pode determinar o valor de deslocamento a uma base de quadro por quadro, por exemplo, com base em cada quadro de fala/áudio de 20 milissegundos (ms). Por exemplo, o valor de deslocamento pode corresponder a uma quantidade de tempo que um segundo quadro do segundo sinal de áudio é atrasado em relação a um primeiro quadro do primeiro sinal de áudio. Alternativamente, o valor de deslocamento pode corresponder a uma quantidade de tempo que o primeiro quadro do primeiro sinal de áudio é atrasado em relação ao segundo quadro do segundo sinal de áudio.
[0052] Quando a fonte sonora está mais perto do primeiro microfone do que do segundo microfone, os quadros do segundo sinal de áudio podem ser atrasados em relação aos quadros do primeiro sinal de áudio. Nesse caso, o primeiro sinal de áudio pode ser chamado de o "sinal de áudio de referência" ou "canal de referência" e o segundo sinal de áudio atrasado pode ser chamado de o "sinal de áudio-alvo" ou "canal-alvo". Alternativamente, quando a fonte sonora está mais perto do segundo microfone do que do primeiro microfone, os quadros do primeiro sinal de áudio podem ser atrasados em relação aos quadros do segundo sinal de áudio. Nesse caso, o segundo sinal de áudio pode ser chamado de o sinal de áudio de referência ou o canal de referência e o primeiro sinal de áudio atrasado pode ser chamado de o sinal de áudio-alvo ou canal-alvo.
[0053] Dependendo de onde as fontes sonoras (por exemplo, falantes) estão localizados em um ambiente de conferência ou telepresença ou como a posição da fonte sonora (por exemplo, falante) é alterada em relação aos microfones, o canal de referência e o canal-alvo podem ser alterados de um quadro para outro; de modo similar, o valor de incompatibilidade temporal (por exemplo, de deslocamento) também pode ser alterado de um quadro para outro. Entretanto, em algumas implementações, o valor de deslocamento temporal pode ser sempre positivo para indicar uma quantidade de atraso do canal-"alvo" em relação ao canal de "referência". Adicionalmente, o valor de deslocamento pode corresponder a um valor de "deslocamento não causal" pelo qual o canal-alvo atrasado é "retrocedido" no tempo de modo que o canal-alvo seja alinhado (por exemplo, maximamente alinhado) com o canal de "referência". "Retroceder" o canal-alvo pode corresponder a avançar o canal-alvo no tempo. Um "deslocamento não causal" pode corresponder a um deslocamento de um canal de áudio atrasado (por exemplo, um canal de áudio latente) em relação a um canal de áudio de avanço para alinhar temporariamente o canal de áudio atrasado com o canal de áudio de avanço. O algoritmo de mixagem descendente para determinar o canal intermediário e o canal lateral pode ser realizado no canal de referência e no canal-alvo deslocado não causal.
[0054] O codificador pode determinar o valor de deslocamento com base no primeiro canal de áudio e uma pluralidade de valores de deslocamento aplicados ao segundo canal de áudio. Por exemplo, um primeiro quadro do primeiro canal de áudio, X, pode ser recebido em um primeiro tempo (m1). Um primeiro quadro particular do segundo canal de áudio, Y, pode ser recebido em um segundo tempo (n1) correspondente a um primeiro valor de deslocamento, por exemplo, deslocamento1 = n1 - m1. Adicionalmente, um segundo quadro do primeiro canal de áudio pode ser recebido em um terceiro tempo (m2). Um segundo quadro particular do segundo canal de áudio pode ser recebido em um quarto tempo (n2) correspondente a um segundo valor de deslocamento, por exemplo, deslocamento2 = n2 - m2.
[0055] O dispositivo pode realizar um enquadramento ou um algoritmo de armazenamento temporário para gerar um quadro (por exemplo, amostras de 20 ms) em uma primeira taxa de amostragem (por exemplo, taxa de amostragem de 32 kHz (isto é, 640 amostras por quadro)). O codificador pode, em resposta à determinação de que um primeiro quadro do primeiro sinal de áudio e um segundo quadro do segundo sinal de áudio chegam ao mesmo tempo no dispositivo, estimar um valor de deslocamento (por exemplo, deslocamento1) como igual a zero amostras. Um canal Esquerdo (por exemplo, correspondente ao primeiro sinal de áudio) e um canal Direito (por exemplo, correspondente ao segundo sinal de áudio) podem ser temporariamente alinhados. Em alguns casos, o canal Esquerdo e o canal Direito, mesmo quando alinhados, podem diferir quanto à energia devido a várias razões (por exemplo, calibração de microfone).
[0056] Em alguns exemplos, o canal Esquerdo e o canal Direito podem ser temporariamente incompatíveis (por exemplo, não alinhados) devido a várias razões (por exemplo, uma fonte sonora, como um falante, pode estar mais perto de um dentre os microfones de que o outro e os dois microfones podem estar afastados por uma distância maior do que um limiar (por exemplo, 1 a 20 centímetros)). Uma localização da fonte sonora em relação aos microfones pode introduzir diferentes atrasos no canal Esquerdo e no canal Direito. Adicionalmente, pode haver uma diferença de ganho, uma diferença de energia ou uma diferença de nível entre o canal Esquerdo e o canal Direito.
[0057] Em alguns exemplos, um tempo de chegada de sinais de áudio nos microfones a partir de múltiplas fontes sonoras (por exemplo, falantes) pode variar quando os múltiplos falantes falam alternadamente (por exemplo, sem sobreposição). Em tal caso, o codificador pode ajustar dinamicamente um valor de deslocamento temporal com base no falante para identificar o canal de referência. Em alguns outros exemplos, os múltiplos falantes podem falar ao mesmo tempo, o que pode resultar em valores de deslocamento temporal variáveis dependendo de quem fala mais alto, quem está mais perto do microfone, etc.
[0058] Em alguns exemplos, o primeiro sinal de áudio e o segundo sinal de áudio podem ser sintetizados ou artificialmente gerados quando os dois sinais potencialmente mostram menos (por exemplo, nenhum) correlação. Deve-se entender que os exemplos descritos no presente documento são ilustrativos e podem ser instrutivos na determinação de uma relação entre o primeiro sinal de áudio e o segundo sinal de áudio em situações similares ou diferentes.
[0059] O codificador pode gerar valores de comparação (por exemplo, valores de diferença ou valores de correlação cruzada) com base em uma comparação de um primeiro quadro do primeiro sinal de áudio e uma pluralidade de quadros do segundo sinal de áudio. Cada quadro dentre a pluralidade de quadros pode corresponder a um valor de deslocamento particular. O codificador pode gerar um primeiro valor de deslocamento estimado (por exemplo, um primeiro valor de incompatibilidade estimado) com base nos valores de comparação. Por exemplo, o primeiro valor de deslocamento estimado pode corresponder a um valor de comparação que indica uma similaridade temporal superior (ou diferença inferior) entre o primeiro quadro do primeiro sinal de áudio e um primeiro quadro correspondente do segundo sinal de áudio. Um valor de deslocamento positivo (por exemplo, o primeiro valor de deslocamento estimado) pode indicar que o primeiro sinal de áudio é um sinal de áudio de avanço (por exemplo, um sinal de áudio temporariamente de avanço) e que o segundo sinal de áudio é um sinal de áudio latente (por exemplo, um sinal de áudio temporariamente latente). Um quadro (por exemplo, amostras) do sinal de áudio latente pode ser temporariamente atrasado em relação a um quadro (por exemplo, amostras) do sinal de áudio de avanço.
[0060] O codificador pode determinar o valor de deslocamento final (por exemplo, o valor de incompatibilidade final) refinando-se, em múltiplos estágios, uma série de valores de deslocamento estimados. Por exemplo, o codificador pode estimar primeiro um valor de deslocamento "provisório" com base em valores de comparação gerados a partir de versões pré-processadas de estéreo e reamostradas do primeiro sinal de áudio e do segundo sinal de áudio. O codificador pode gerar valores de comparação interpolados associados aos valores de deslocamento próximos ao valor de deslocamento "provisório" estimado. O codificador pode determinar um segundo valor de deslocamento "interpolado" estimado com base nos valores de comparação interpolados. Por exemplo, o segundo valor de deslocamento "interpolado" estimado pode corresponder a um valor de comparação interpolado particular que indica uma similaridade temporal superior (ou diferença inferior) do que os valores de comparação interpolados restantes e o primeiro valor de deslocamento "provisório" estimado. Se o segundo valor de deslocamento "interpolado" estimado do quadro atual (por exemplo, o primeiro quadro do primeiro sinal de áudio) for diferente de um valor de deslocamento final de um quadro anterior (por exemplo, um quadro do primeiro sinal de áudio que precede o primeiro quadro), então, o valor de deslocamento "interpolado" do quadro atual é adicionalmente "emendado" para aprimorar a similaridade temporal entre o primeiro sinal de áudio e o segundo sinal de áudio deslocado. Em particular, um terceiro valor de deslocamento "emendado" estimado pode corresponder a uma medida mais precisa de similaridade temporal buscando-se ao redor do segundo valor de deslocamento "interpolado" estimado do quadro atual e do valor de deslocamento estimado final do quadro anterior. O terceiro valor de deslocamento "emendado" estimado é adicionalmente condicionado para estimar o valor de deslocamento final limitando-se quaisquer alterações espúrias no valor de deslocamento entre quadros e adicionalmente controlado para não comutar de um valor de deslocamento negativo para um valor de deslocamento positivo (ou vice-versa) em dois quadros sucessivos (ou consecutivos) como descrito no presente documento.
[0061] Em alguns exemplos, o codificador pode evitar a comutação entre um valor de deslocamento positivo e um valor de deslocamento negativo ou vice-versa em quadros consecutivos ou em quadros adjacentes. Por exemplo, o codificador pode definir o valor de deslocamento final para um valor particular (por exemplo, 0) que indica sem deslocamento temporal com base no valor de deslocamento "interpolado" ou "emendado" estimado do primeiro quadro e um ou valor de deslocamento "interpolado" ou "emendado" ou final estimado correspondente em um quadro particular que precede o primeiro quadro. Para ilustrar, o codificador pode definir o valor de deslocamento final do quadro atual (por exemplo, o primeiro quadro) para indicar que não há deslocamento temporal, isto é, deslocamento1 = 0, em resposta à determinação de que um dentre o valor de deslocamento "provisório" ou "interpolado" ou "emendado" estimado do quadro atual é positivo e o outro dentre o valor de deslocamento estimado "provisório" ou "interpolado" ou "emendado" ou "final" do quadro anterior (por exemplo, o quadro que precede o primeiro quadro) é negativo. Alternativamente, o codificador também pode definir o valor de deslocamento final do quadro atual (por exemplo, o primeiro quadro) para indicar que não há deslocamento temporal, isto é, deslocamento1 = 0, em resposta à determinação de que um dentre o valor de deslocamento "provisório" ou "interpolado" ou "emendado" estimado do quadro atual é negativo e o outro dentre o valor de deslocamento estimado "provisório" ou "interpolado" ou "emendado" ou "final" do quadro anterior (por exemplo, o quadro que precede o primeiro quadro) é positivo. Como mencionado no presente documento, um "deslocamento temporal" pode corresponder a um deslocamento no tempo, um desvio no tempo, um deslocamento de amostra, um desvio de amostra ou desvio.
[0062] O codificador pode selecionar um quadro do primeiro sinal de áudio ou do segundo sinal de áudio como uma "referência" ou um "alvo" baseado no valor de deslocamento. Por exemplo, em resposta à determinação de que o valor de deslocamento final é positivo, o codificador pode gerar um canal de referência ou indicador de sinal que tem um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio é um sinal de "referência" e que o segundo sinal de áudio é o sinal-"alvo". Alternativamente, em resposta à determinação de que o valor de deslocamento final é negativo, o codificador pode gerar o canal de referência ou o indicador de sinal que tem um segundo valor (por exemplo, 1) que indica que o segundo sinal de áudio é o sinal de "referência" e que o primeiro sinal de áudio é o sinal-"alvo".
[0063] O sinal de referência pode corresponder a um sinal de avanço, enquanto o sinal-alvo pode corresponder a um sinal latente. Em um aspecto particular, o sinal de referência pode ser o mesmo sinal que é indicado como um sinal de avanço pelo primeiro valor de deslocamento estimado. Em um aspecto alternativo, o sinal de referência pode diferir do sinal indicado como um sinal de avanço pelo primeiro valor de deslocamento estimado. O sinal de referência pode ser tratado como o sinal de avanço independentemente da possibilidade de o primeiro valor de deslocamento estimado indicar que o sinal de referência corresponde a um sinal de avanço. Por exemplo, o sinal de referência pode ser tratado como o sinal de avanço deslocando-se (por exemplo, ajustando-se) o outro sinal (por exemplo, o sinal-alvo) em relação ao sinal de referência.
[0064] Em alguns exemplos, o codificador pode identificar ou determinar pelo menos um dentre o sinal-alvo ou o sinal de referência com base em um valor de incompatibilidade (por exemplo, um valor de deslocamento estimado ou no valor de deslocamento final) correspondente a um quadro a ser codificado e valores de incompatibilidade (por exemplo, deslocamento) correspondentes aos quadros codificado anteriormente. O codificador pode armazenar os valores de incompatibilidade em uma memória. O canal-alvo pode corresponder a um canal de áudio temporariamente latente dentre os dois canais de áudio e o canal de referência pode corresponder a um canal de áudio temporariamente de avanço dentre os dois canais de áudio. Em alguns exemplos, o codificador pode identificar o canal temporariamente latente e pode não alinhar maximamente o canal-alvo com o canal de referência com base nos valores de incompatibilidade da memória. Por exemplo, o codificador pode alinhar parcialmente o canal-alvo com o canal de referência com base em um ou mais valores de incompatibilidade. Em alguns outros exemplos, o codificador pode ajustar progressivamente o canal-alvo sobre uma série de quadros distribuindo-se "não causalmente" o valor de incompatibilidade geral (por exemplo, 100 amostras) em menores valores de incompatibilidade (por exemplo, 25 amostras, 25 amostras, 25 amostras e 25 amostras) sobre codificados de múltiplos quadros (por exemplo, quatro quadros).
[0065] O codificador pode estimar um ganho relativo (por exemplo, um parâmetro de ganho relativo) associado ao sinal de referência e ao sinal-alvo deslocado não causal. Por exemplo, em resposta à determinação que o valor de deslocamento final é positivo, o codificador pode estimar um valor de ganho para normalizar ou equalizar os níveis de potência ou energia do primeiro sinal de áudio em relação ao segundo sinal de áudio que é desviado pelo valor de deslocamento não causal (por exemplo, um valor absoluto do valor de deslocamento final). Alternativamente, em resposta à determinação de que o valor de deslocamento final é negativo, o codificador pode estimar um valor de ganho para normalizar ou equalizar os níveis de potência do primeiro sinal de áudio deslocado não causal em relação ao segundo sinal de áudio. Em alguns exemplos, o codificador pode estimar um valor de ganho para normalizar ou equalizar os níveis de potência ou energia do sinal de "referência" em relação ao sinal-"alvo" deslocado não causal. Em outros exemplos, o codificador pode estimar o valor de ganho (por exemplo, um valor de ganho relativo) com base no sinal de referência em relação ao sinal-alvo (por exemplo, o sinal- alvo não deslocado).
[0066] O codificador pode gerar pelo menos um sinal codificado (por exemplo, um sinal intermediário, um sinal lateral ou ambos) com base no sinal de referência, no sinal-alvo (por exemplo, o sinal-alvo deslocado ou o sinal- alvo não deslocado), no valor de deslocamento não causal e no parâmetro de ganho relativo. O sinal lateral pode corresponder a uma diferença entre primeiras amostras do primeiro quadro do primeiro sinal de áudio e amostras selecionadas de um quadro selecionado do segundo sinal de áudio. O codificador pode selecionar o quadro selecionado com base no valor de deslocamento final. Menos bits podem ser usados para codificar o sinal de canal lateral devido à diferença reduzida entre as primeiras amostras e as amostras selecionadas em comparação com outras amostras do segundo sinal de áudio que correspondem a um quadro do segundo sinal de áudio que é recebido pelo dispositivo ao mesmo tempo que o primeiro quadro. Um transmissor do dispositivo pode transmitir o pelo menos um sinal codificado, o valor de deslocamento não causal, o parâmetro de ganho relativo, o canal de referência ou o indicador de sinal, ou uma combinação dos mesmos.
[0067] O codificador pode gerar pelo menos um sinal codificado (por exemplo, um sinal intermediário, um sinal lateral ou ambos) com base no sinal de referência, no sinal-alvo (por exemplo, o sinal-alvo deslocado ou o sinal- alvo não deslocado), no valor de deslocamento não causal, o parâmetro de ganho relativo, parâmetros de banda baixa de um quadro particular do primeiro sinal de áudio, parâmetros de banda alta do quadro particular ou uma combinação dos mesmos. O quadro particular pode preceder o primeiro quadro. Certos parâmetros de banda baixa, parâmetros de banda alta ou uma combinação dos mesmos, de um ou mais quadros anteriores podem ser usados para codificar um sinal intermediário, um sinal lateral ou ambos do primeiro quadro. Codificar o sinal intermediário, o sinal lateral ou ambos com base nos parâmetros de banda baixa, nos parâmetros de banda alta ou uma combinação dos mesmos, pode aprimorar estimativas do valor de deslocamento não causal e parâmetro de ganho relativo intercanais. Os parâmetros de banda baixa, os parâmetros de banda alta ou uma combinação dos mesmos podem incluir um parâmetro de tom, um parâmetro de voz, um parâmetro de tipo de codificador, um parâmetro de energia de banda baixa, um parâmetro de energia de banda alta, um parâmetro de inclinação, um parâmetro de ganho de tom, um parâmetro de ganho de FCB, um parâmetro de modo de codificação, um parâmetro de atividade de voz, um parâmetro de estimativa de ruído, um parâmetro de razão de sinal para ruído, um parâmetro de formatos, um parâmetro de decisão de fala/música, o deslocamento não causal, o parâmetro de ganho intercanais ou uma combinação dos mesmos. Um transmissor do dispositivo pode transmitir o pelo menos um sinal codificado, o valor de deslocamento não causal, o parâmetro de ganho relativo, o canal de referência ou o indicador de sinal, ou uma combinação dos mesmos. Como mencionado no presente documento, um "sinal" de áudio corresponde a um "canal" de áudio. Como mencionado no presente documento, um "valor de deslocamento" corresponde a um valor de desvio, um valor de incompatibilidade, um valor de desvio no tempo, um valor de deslocamento de amostra ou um valor de desvio de amostra. Como mencionado no presente documento, "deslocar" um sinal-alvo pode corresponder a deslocar a localização (ou localizações) de dados representativos do sinal-alvo, copiar os dados para um ou mais armazenamentos temporários de memória, mover um ou mais apontadores de memória associados ao sinal-alvo ou uma combinação dos mesmos.
[0068] Com referência à Figura 1, um exemplo ilustrativo particular de um sistema é revelado e geralmente designado 100. O sistema 100 inclui um primeiro dispositivo 104 acoplado comunicativamente, por meio de uma rede 120, a um segundo dispositivo 106. A rede 120 pode incluir uma ou mais redes sem fio, uma ou mais redes com fio ou uma combinação das mesmas.
[0069] O primeiro dispositivo 104 pode incluir um codificador 114, um transmissor 110, uma ou mais interfaces de entrada 112 ou uma combinação dos mesmos. Uma primeira interface de entrada dentre as interfaces de entrada 112 pode ser acoplada a um primeiro microfone 146. Uma segunda interface de entrada da interface (ou interfaces) de entrada 112 pode ser acoplada a um segundo microfone 148. O codificador 114 pode incluir um equalizador temporal 108 e pode ser configurado para mixar descendentemente e codificar múltiplos sinais de áudio, como descrito no presente documento. O primeiro dispositivo 104 também pode incluir uma memória 153 configurada para armazenar dados de análise 190. O segundo dispositivo 106 pode incluir um decodificador 118. O decodificador 118 pode incluir um balanceador temporal 124 que é configurado para mixar ascendentemente e renderizar os múltiplos canais. O segundo dispositivo 106 pode ser acoplado a um primeiro alto-falante 142, um segundo alto-falante 144 ou ambos.
[0070] Durante a operação, o primeiro dispositivo 104 pode receber um primeiro sinal de áudio 130 por meio da primeira interface de entrada a partir do primeiro microfone 146 e pode receber um segundo sinal de áudio 132 por meio da segunda interface de entrada a partir do segundo microfone 148. O primeiro sinal de áudio 130 pode corresponder a um dentre um sinal de canal direito ou um sinal de canal esquerdo. O segundo sinal de áudio 132 pode corresponder ao outro dentre o sinal de canal direito ou o sinal de canal esquerdo. O primeiro microfone 146 e o segundo microfone 148 podem receber áudio a partir de uma fonte sonora 152 (por exemplo, um usuário, um alto-falante, ruído ambiente, um instrumento musical, etc.). Em um aspecto particular, o primeiro microfone 146, o segundo microfone 148 ou ambos podem receber áudio a partir de múltiplas fontes sonoras. As múltiplas fontes sonoras podem incluir uma fonte sonora dominante (ou mais dominante) (por exemplo, a fonte sonora 152) e uma ou mais fontes sonoras secundárias. As uma ou mais fontes sonoras secundárias podem corresponder ao tráfego, à música de segundo plano, outro falante, ruído da rua, etc. A fonte sonora 152 (por exemplo, a fonte sonora dominante) pode estar mais perto do primeiro microfone 146 do que do segundo microfone 148. Consequentemente, um sinal de áudio a partir da fonte sonora 152 pode ser recebido na interface (ou interfaces) de entrada 112 por meio do primeiro microfone 146 em um tempo anterior do que por meio do segundo microfone 148. Esse atraso natural na aquisição de sinal de múltiplos canais através dos múltiplos microfones pode introduzir um deslocamento temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132.
[0071] O primeiro dispositivo 104 pode armazenar o primeiro sinal de áudio 130, o segundo sinal de áudio 132 ou ambos na memória 153. O equalizador temporal 108 pode determinar um valor de deslocamento final 116 (por exemplo, um valor de deslocamento não causal) indicativo do deslocamento (por exemplo, um deslocamento não causal) do primeiro sinal de áudio 130 (por exemplo, "alvo") em relação ao segundo sinal de áudio 132 (por exemplo, "referência"), como descrito adicionalmente com referência às Figuras 10A a 10B. O valor de deslocamento final 116 (por exemplo, um valor de incompatibilidade final) pode ser indicativo de uma quantidade de incompatibilidade temporal (por exemplo, atraso no tempo) entre o primeiro sinal de áudio e o segundo sinal de áudio. Como mencionado no presente documento, "atraso no tempo" pode corresponder a "atraso temporal". A incompatibilidade temporal pode ser indicativa de um atraso no tempo entre o recebimento, por meio do primeiro microfone 146, do primeiro sinal de áudio 130 e o recebimento, por meio do segundo microfone 148, do segundo sinal de áudio 132. Por exemplo, um primeiro valor (por exemplo, um valor positivo) do valor de deslocamento final 116 pode indicar que o segundo sinal de áudio 132 é atrasado em relação ao primeiro sinal de áudio 130. Nesse exemplo, o primeiro sinal de áudio 130 pode corresponder a um sinal de avanço e o segundo sinal de áudio 132 pode corresponder a um sinal latente. Um segundo valor (por exemplo, um valor negativo) do valor de deslocamento final 116 pode indicar que o primeiro sinal de áudio 130 é atrasado em relação ao segundo sinal de áudio 132. Nesse exemplo, o primeiro sinal de áudio 130 pode corresponder a um sinal latente e o segundo sinal de áudio 132 pode corresponder a um sinal de avanço. Um terceiro valor (por exemplo, 0) do valor de deslocamento final 116 pode indicar que não há atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132.
[0072] Em algumas implementações, o terceiro valor (por exemplo, 0) do valor de deslocamento final 116 pode indicar que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 mudou de símbolo. Por exemplo, um primeiro quadro particular do primeiro sinal de áudio 130 pode preceder o primeiro quadro. O primeiro quadro particular e um segundo quadro particular do segundo sinal de áudio 132 podem corresponder ao mesmo som emitido pela fonte sonora 152. O mesmo som pode ser detectado anteriormente no primeiro microfone 146 do que o segundo microfone 148. O atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 pode comutar de ter o primeiro quadro particular atrasado em relação ao segundo quadro particular para ter o segundo quadro atrasado em relação ao primeiro quadro. Alternativamente, o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 pode comutar de ter o segundo quadro particular atrasado em relação ao primeiro quadro particular para ter o primeiro quadro atrasado em relação ao segundo quadro. O equalizador temporal 108 pode definir o valor de deslocamento final 116 para indicar o terceiro valor (por exemplo, 0), como descrito adicionalmente com referência às Figuras 10A a 10B, em resposta à determinação de que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 mudou de símbolo.
[0073] O equalizador temporal 108 pode gerar um indicador de sinal de referência 164 (por exemplo, a indicador de canal de referência) com base no valor de deslocamento final 116, como descrito adicionalmente com referência à Figura 12. Por exemplo, o equalizador temporal 108 pode, em resposta à determinação de que o valor de deslocamento final 116 indica um primeiro valor (por exemplo, um valor positivo), gerar o indicador de sinal de referência 164 para ter um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio 130 é um sinal de "referência". O equalizador temporal 108 pode determinar que o segundo sinal de áudio 132 corresponde a um sinal- "alvo" em resposta à determinação de que o valor de deslocamento final 116 indica o primeiro valor (por exemplo, um valor positivo). Alternativamente, o equalizador temporal 108 pode, em resposta à determinação de que o valor de deslocamento final 116 indica um segundo valor (por exemplo, um valor negativo), gerar o indicador de sinal de referência 164 para ter um segundo valor (por exemplo, 1) que indica que o segundo sinal de áudio 132 é o sinal de "referência". O equalizador temporal 108 pode determinar que o primeiro sinal de áudio 130 corresponde ao sinal-"alvo" em resposta à determinação de que o valor de deslocamento final 116 indica o segundo valor (por exemplo, um valor negativo). O equalizador temporal 108 pode, em resposta à determinação de que o valor de deslocamento final 116 indica um terceiro valor (por exemplo, 0), gerar o indicador de sinal de referência 164 para ter um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio 130 é um sinal de "referência". O equalizador temporal 108 pode determinar que o segundo sinal de áudio 132 corresponde a um sinal-"alvo" em resposta à determinação de que o valor de deslocamento final 116 indica o terceiro valor (por exemplo, 0). Alternativamente, o equalizador temporal 108 pode, em resposta à determinação de que o valor de deslocamento final 116 indica o terceiro valor (por exemplo, 0), gerar o indicador de sinal de referência 164 para ter um segundo valor (por exemplo, 1) que indica que o segundo sinal de áudio 132 é um sinal de "referência". O equalizador temporal 108 pode determinar que o primeiro sinal de áudio 130 corresponde a um sinal- "alvo" em resposta à determinação de que o valor de deslocamento final 116 indica o terceiro valor (por exemplo, 0). Em algumas implementações, o equalizador temporal 108 pode, em resposta à determinação de que o valor de deslocamento final 116 indica um terceiro valor (por exemplo, 0), deixar o indicador de sinal de referência 164 inalterado. Por exemplo, o indicador de sinal de referência 164 pode ser igual a um indicador de sinal de referência correspondente ao primeiro quadro particular do primeiro sinal de áudio 130. O equalizador temporal 108 pode gerar um valor de deslocamento não causal 162 (por exemplo, um valor de incompatibilidade não causal) que indica um valor absoluto do valor de deslocamento final 116.
[0074] O equalizador temporal 108 pode gerar um parâmetro de ganho 160 (por exemplo, um parâmetro de ganho de codec) com base em amostras do sinal-"alvo" e com base em amostras do sinal de "referência". Por exemplo, o equalizador temporal 108 pode selecionar amostras do segundo sinal de áudio 132 com base no valor de deslocamento não causal 162. Como mencionado no presente documento, selecionar amostras de um sinal de áudio com base em um valor de deslocamento pode corresponder a gerar um sinal de áudio modificado (por exemplo, deslocado no tempo) ajustando-se (por exemplo, deslocando-se) o sinal de áudio com base no valor de deslocamento e selecionar amostras do sinal de áudio modificado. Por exemplo, o equalizador temporal 108 pode gerar um segundo sinal de áudio deslocado no tempo deslocando-se o segundo sinal de áudio 132 com base no valor de deslocamento não causal 162 e pode selecionar amostras do segundo sinal de áudio deslocado no tempo. O equalizador temporal 108 pode ajustar (por exemplo, deslocar) um único sinal de áudio (por exemplo, um único canal) do primeiro sinal de áudio 130 ou do segundo sinal de áudio 132 com base no valor de deslocamento não causal 162. Alternativamente, o equalizador temporal 108 pode selecionar amostras do segundo sinal de áudio 132 independentemente do valor de deslocamento não causal 162. O equalizador temporal 108 pode, em resposta à determinação de que o primeiro sinal de áudio 130 é o sinal de referência, determinar o parâmetro de ganho 160 das amostras selecionadas com base nas primeiras amostras do primeiro quadro do primeiro sinal de áudio 130. Alternativamente, o equalizador temporal 108 pode, em resposta à determinação de que o segundo sinal de áudio 132 é o sinal de referência, determinar o parâmetro de ganho 160 das primeiras amostras com base nas amostras selecionadas. Como um exemplo, o parâmetro de ganho 160 pode ser baseado em uma dentre as seguintes Equações:
[0075] Em que gD corresponde ao parâmetro de ganho relativo 160 para processamento de mixagem descendente, Ref (n) corresponde a amostras do sinal de "referência", N1 corresponde ao valor de deslocamento não causal 162 do primeiro quadro, e Targ(n + N1) corresponde a amostras do sinal-"alvo". O parâmetro de ganho 160 (gD) pode ser modificado, por exemplo, com base em uma dentre as Equações 1a a 1f, para incorporar lógica de histerese/suavização de longo prazo para evitar grandes saltos no ganho entre quadros. Quando o sinal-alvo inclui o primeiro sinal de áudio 130, as primeiras amostras podem incluir amostras do sinal-alvo e as amostras selecionadas podem incluir amostras do sinal de referência. Quando o sinal-alvo inclui o segundo sinal de áudio 132, as primeiras amostras podem incluir amostras do sinal de referência, e as amostras selecionadas podem incluir amostras do sinal-alvo.
[0076] Em algumas implementações, o equalizador temporal 108 pode gerar o parâmetro de ganho 160 com base no tratamento do primeiro sinal de áudio 130 como um sinal de referência e no tratamento do segundo sinal de áudio 132 como um sinal-alvo, independentemente do indicador de sinal de referência 164. Por exemplo, o equalizador temporal 108 pode gerar o parâmetro de ganho 160 com base em uma dentre as Equações 1a a 1f em que Ref(n) corresponde às amostras (por exemplo, as primeiras amostras) do primeiro sinal de áudio 130 e Targ(n+N1) corresponde às amostras (por exemplo, as amostras selecionadas) do segundo sinal de áudio 132. Em implementações alternativas, o equalizador temporal 108 pode gerar o parâmetro de ganho 160 com base no tratamento do segundo sinal de áudio 132 como um sinal de referência e no tratamento do primeiro sinal de áudio 130 com um sinal- alvo, independentemente do indicador de sinal de referência 164. Por exemplo, o equalizador temporal 108 pode gerar o parâmetro de ganho 160 com base em uma dentre as Equações 1a a 1f em que Ref(n) corresponde às amostras (por exemplo, as amostras selecionadas) do segundo sinal de áudio 132 e Targ(n+N1) corresponde às amostras (por exemplo, as primeiras amostras) do primeiro sinal de áudio 130.
[0077] O equalizador temporal 108 pode gerar um ou mais sinais codificados 102 (por exemplo, um sinal de canal intermediário, um sinal de canal lateral ou ambos) com base nas primeiras amostras, as amostras selecionadas e o parâmetro de ganho relativo 160 para o processamento de mixagem descendente. Por exemplo, o equalizador temporal 108 pode gerar o sinal intermediário com base em uma dentre as seguintes Equações:
[0078] em que M corresponde ao sinal de canal intermediário, gD corresponde ao parâmetro de ganho relativo 160 para processamento de mixagem descendente, Ref (n) corresponde às amostras do sinal de "referência", N1 corresponde ao valor de deslocamento não causal 162 do primeiro quadro, e Targ(n + N1) corresponde às amostras do sinal-"alvo".
[0079] O equalizador temporal 108 pode gerar o sinal de canal lateral com base em uma dentre as seguintes Equações:
[0080] Em que S corresponde ao sinal de canal lateral, gD corresponde ao parâmetro de ganho relativo 160 para processamento de mixagem descendente, Ref (n) corresponde às amostras do sinal de "referência", N1 corresponde ao valor de deslocamento não causal 162 do primeiro quadro, e Targ(n + N1) corresponde às amostras do sinal-"alvo".
[0081] O transmissor 110 pode transmitir os sinais codificados 102 (por exemplo, o sinal de canal intermediário, o sinal de canal lateral ou ambos), o indicador de sinal de referência 164, o valor de deslocamento não causal 162, o parâmetro de ganho 160 ou uma combinação dos mesmos, por meio da rede 120, para o segundo dispositivo 106. Em algumas implementações, o transmissor 110 pode armazenar os sinais codificados 102 (por exemplo, o sinal de canal intermediário, o sinal de canal lateral ou ambos), o indicador de sinal de referência 164, o valor de deslocamento não causal 162, o parâmetro de ganho 160 ou uma combinação dos mesmos em um dispositivo da rede 120 ou um dispositivo local para processamento ou decodificação adicional posterior.
[0082] O decodificador 118 pode decodificar os sinais codificados 102. O balanceador temporal 124 pode realizar mixagem ascendente para gerar um primeiro sinal de saída 126 (por exemplo, correspondente ao primeiro sinal de áudio 130), um segundo sinal de saída 128 (por exemplo, correspondente ao segundo sinal de áudio 132) ou ambos. O segundo dispositivo 106 pode emitir o primeiro sinal de saída 126 por meio do primeiro alto-falante 142. O segundo dispositivo 106 pode emitir o segundo sinal de saída 128 por meio do segundo alto-falante 144.
[0083] O sistema 100, portanto, pode possibilitar que o equalizador temporal 108 codifique o sinal de canal lateral com o uso de menos bits do que o sinal intermediário. As primeiras amostras do primeiro quadro do primeiro sinal de áudio 130 e as amostras selecionadas do segundo sinal de áudio 132 podem corresponder ao mesmo som emitido pela fonte sonora 152 e, portanto, uma diferença entre as primeiras amostras e as amostras selecionadas pode ser menor do que entre as primeiras amostras e outras amostras do segundo sinal de áudio 132. O sinal de canal lateral pode corresponder à diferença entre as primeiras amostras e as amostras selecionadas.
[0084] Com referência à Figura 2, um aspecto ilustrativo particular de um sistema é revelado e geralmente designado 200. O sistema 200 inclui um primeiro dispositivo 204 acoplado, por meio da rede 120, ao segundo dispositivo 106. O primeiro dispositivo 204 pode corresponder ao primeiro dispositivo 104 da Figura 1. O sistema 200 difere do sistema 100 da Figura 1 no sentido de que o primeiro dispositivo 204 é acoplado a mais do que dois microfones. Por exemplo, o primeiro dispositivo 204 pode ser acoplado ao primeiro microfone 146, um N° microfone 248, e um ou mais microfones adicionais (por exemplo, o segundo microfone 148 da Figura 1). O segundo dispositivo 106 pode ser acoplado ao primeiro alto-falante 142, um Y° alto-falante 244, um ou mais alto-falantes adicionais (por exemplo, o segundo alto-falante 144), ou uma combinação dos mesmos. O primeiro dispositivo 204 pode incluir um codificador 214. O codificador 214 pode corresponder ao codificador 114 da Figura 1. O codificador 214 pode incluir um ou mais equalizadores temporais 208. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode incluir o equalizador temporal 108 da Figura 1.
[0085] Durante a operação, o primeiro dispositivo 204 pode receber mais do que dois sinais de áudio. Por exemplo, o primeiro dispositivo 204 pode receber o primeiro sinal de áudio 130 por meio do primeiro microfone 146, um N° sinal de áudio 232 por meio do N° microfone 248, e um ou mais sinais de áudio adicionais (por exemplo, o segundo sinal de áudio 132) por meio dos microfones adicionais (por exemplo, o segundo microfone 148).
[0086] O equalizador temporal (ou equalizadores temporais) 208 pode gerar um ou mais indicadores de sinal de referência 264, valores de deslocamento final 216, valores de deslocamento não causal 262, parâmetros de ganho 260, sinais codificados 202 ou uma combinação dos mesmos, como descrito adicionalmente com referência às Figuras 14 a 15. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode determinar que o primeiro sinal de áudio 130 é um sinal de referência e que cada um dentre o N° sinal de áudio 232 e os sinais de áudio adicionais é um sinal-alvo. O equalizador temporal (ou equalizadores temporais) 208 pode gerar o indicador de sinal de referência 164, os valores de deslocamento final 216, os valores de deslocamento não causal 262, os parâmetros de ganho 260 e os sinais codificados 202 correspondentes ao primeiro sinal de áudio 130 e cada um dentre o N° sinal de áudio 232 e os sinais de áudio adicionais, como descrito com referência à Figura 14.
[0087] Os indicadores de sinal de referência 264 podem incluir o indicador de sinal de referência 164. Os valores de deslocamento final 216 podem incluir o valor de deslocamento final 116 indicativo de um deslocamento do segundo sinal de áudio 132 em relação ao primeiro sinal de áudio 130, um segundo valor de deslocamento final indicativo de um deslocamento do N° sinal de áudio 232 em relação ao primeiro sinal de áudio 130 ou ambos como descrito adicionalmente com referência à Figura 14. Os valores de deslocamento não causal 262 podem incluir o valor de deslocamento não causal 162 correspondente a um valor absoluto do valor de deslocamento final 116, um segundo valor de deslocamento não causal correspondente a um valor absoluto do segundo valor de deslocamento final ou ambos como descrito adicionalmente com referência à Figura 14. Os parâmetros de ganho 260 podem incluir o parâmetro de ganho 160 de amostras selecionadas do segundo sinal de áudio 132, um segundo parâmetro de ganho de amostras selecionadas do N° sinal de áudio 232 ou ambos como descrito adicionalmente com referência à Figura 14. Os sinais codificados 202 podem incluir pelo menos um dentre os sinais codificados 102. Por exemplo, os sinais codificados 202 podem incluir o sinal de canal lateral correspondente às primeiras amostras do primeiro sinal de áudio 130 e às amostras selecionadas do segundo sinal de áudio 132, um segundo canal lateral correspondente às primeiras amostras e às amostras selecionadas do N° sinal de áudio 232 ou ambos como descrito adicionalmente com referência à Figura 14. Os sinais codificados 202 podem incluir um sinal de canal intermediário correspondente às primeiras amostras, às amostras selecionadas do segundo sinal de áudio 132 e às amostras selecionadas do N° sinal de áudio 232, como descrito adicionalmente com referência à Figura 14.
[0088] Em algumas implementações, o equalizador temporal (ou equalizadores temporais) 208 pode determinar múltiplos sinais de referência e sinais-alvo correspondentes, como descrito com referência à Figura 15. Por exemplo, os indicadores de sinal de referência 264 podem incluir um indicador de sinal de referência correspondente a cada par de sinal de referência e sinal- alvo. Para ilustrar, os indicadores de sinal de referência 264 podem incluir o indicador de sinal de referência 164 correspondente ao primeiro sinal de áudio 130 e ao segundo sinal de áudio 132. Os valores de deslocamento final 216 podem incluir um valor de deslocamento final correspondente a cada par de sinal de referência e sinal-alvo. Por exemplo, os valores de deslocamento final 216 podem incluir o valor de deslocamento final 116 correspondente ao primeiro sinal de áudio 130 e ao segundo sinal de áudio 132. Os valores de deslocamento não causal 262 podem incluir um valor de deslocamento não causal correspondente a cada par de sinal de referência e sinal-alvo. Por exemplo, os valores de deslocamento não causal 262 podem incluir o valor de deslocamento não causal 162 correspondente ao primeiro sinal de áudio 130 e ao segundo sinal de áudio 132. Os parâmetros de ganho 260 podem incluir um parâmetro de ganho correspondente a cada par de sinal de referência e sinal-alvo. Por exemplo, os parâmetros de ganho 260 podem incluir o parâmetro de ganho 160 correspondente ao primeiro sinal de áudio 130 e ao segundo sinal de áudio 132. Os sinais codificados 202 podem incluir um sinal de canal intermediário e um sinal de canal lateral correspondente a cada par de sinal de referência e sinal-alvo. Por exemplo, os sinais codificados 202 podem incluir os sinais codificados 102 correspondentes ao primeiro sinal de áudio 130 e ao segundo sinal de áudio 132.
[0089] O transmissor 110 pode transmitir os indicadores de sinal de referência 264, os valores de deslocamento não causal 262, os parâmetros de ganho 260, os sinais codificados 202 ou uma combinação dos mesmos, por meio da rede 120, para o segundo dispositivo 106. O decodificador 118 pode gerar um ou mais sinais de saída com base nos indicadores de sinal de referência 264, nos valores de deslocamento não causal 262, nos parâmetros de ganho 260, nos sinais codificados 202, ou uma combinação dos mesmos. Por exemplo, o decodificador 118 pode emitir um primeiro sinal de saída 226 por meio do primeiro alto- falante 142, um Y° sinal de saída 228 por meio do Y° alto- falante 244, um ou mais sinais de saída adicionais (por exemplo, o segundo sinal de saída 128) por meio de um ou mais alto-falantes adicionais (por exemplo, o segundo alto- falante 144), ou uma combinação dos mesmos.
[0090] O sistema 200, portanto, pode possibilitar que o equalizador temporal (ou equalizadores temporais) 208 codifique mais do que dois sinais de áudio. Por exemplo, os sinais codificados 202 podem incluir múltiplos sinais de canal lateral que são codificados com o uso de menos bits do que os canais intermediários correspondentes através da geração dos sinais de canal lateral com base nos valores de deslocamento não causal 262.
[0091] Com referência à Figura 3, os exemplos ilustrativos de amostras são mostrados e geralmente designados 300. Pelo menos um subconjunto das amostras 300 pode ser codificado pelo primeiro dispositivo 104, como descrito no presente documento.
[0092] As amostras 300 podem incluir as primeiras amostras 320 correspondentes ao primeiro sinal de áudio 130, as segundas amostras 350 correspondentes ao segundo sinal de áudio 132, ou ambas. As primeiras amostras 320 podem incluir uma amostra 322, uma amostra 324, uma amostra 326, uma amostra 328, uma amostra 330, uma amostra 332, uma amostra 334, uma amostra 336, uma ou mais amostras adicionais, ou uma combinação das mesmas. As segundas amostras 350 podem incluir uma amostra 352, uma amostra 354, uma amostra 356, uma amostra 358, uma amostra 360, uma amostra 362, uma amostra 364, uma amostra 366, uma ou mais amostras adicionais, ou uma combinação das mesmas.
[0093] O primeiro sinal de áudio 130 pode corresponder a uma pluralidade de quadros (por exemplo, um quadro 302, um quadro 304, um quadro 306, ou uma combinação dos mesmos). Cada um dentre a pluralidade de quadros pode corresponder a um subconjunto de amostras (por exemplo, correspondente a 20 ms, como 640 amostras a 32 kHz ou 960 amostras a 48 kHz) das primeiras amostras 320. Por exemplo, o quadro 302 pode corresponder à amostra 322, à amostra 324, uma ou mais amostras adicionais, ou uma combinação das mesmas. O quadro 304 pode corresponder à amostra 326, à amostra 328, à amostra 330, à amostra 332, uma ou mais amostras adicionais, ou uma combinação das mesmas. O quadro 306 pode corresponder à amostra 334, à amostra 336, uma ou mais amostras adicionais, ou uma combinação das mesmas.
[0094] A amostra 322 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 352. A amostra 324 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 354. A amostra 326 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 356. A amostra 328 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 358. A amostra 330 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 360. A amostra 332 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 362. A amostra 334 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 364. A amostra 336 pode ser recebida na interface (ou interfaces) de entrada 112 da Figura 1 aproximadamente ao mesmo tempo que a amostra 366.
[0095] Um primeiro valor (por exemplo, um valor positivo) do valor de deslocamento final 116 pode indicar uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 que é indicativa de um atraso temporal do segundo sinal de áudio 132 em relação ao primeiro sinal de áudio 130. Por exemplo, um primeiro valor (por exemplo, amostras de +X ms ou +Y, em que X e Y incluem números reais positivos) do valor de deslocamento final 116 pode indicar que o quadro 304 (por exemplo, as amostras 326 a 332) corresponde às amostras 358 a 364. As amostras 358 a 364 do segundo sinal de áudio 132 podem ser temporariamente atrasadas em relação às amostras 326 a 332. As amostras 326 a 332 e as amostras 358 a 364 podem corresponder ao mesmo som emitido a partir da fonte sonora 152. As amostras 358 a 364 podem corresponder a um quadro 344 do segundo sinal de áudio 132. A ilustração das amostras com hachura cruzada em uma ou mais dentre as Figuras 1 a 15 pode indicar que as amostras correspondem ao mesmo som. Por exemplo, as amostras 326 a 332 e as amostras 358 a 364 são ilustradas com hachura cruzada na Figura 3 para indicar que as amostras 326 a 332 (por exemplo, o quadro 304) e as amostras 358 a 364 (por exemplo, o quadro 344) correspondem ao mesmo som emitido a partir da fonte sonora 152.
[0096] Deve-se entender que um desvio temporal de Y amostras, como mostrado na Figura 3, é ilustrativo. Por exemplo, o desvio temporal pode corresponder a um número de amostras, Y, que é maior ou igual a 0. Em um primeiro caso em que o desvio temporal Y = 0 amostras, as amostras 326 a 332 (por exemplo, correspondentes ao quadro 304) e as amostras 356 a 362 (por exemplo, correspondentes ao quadro 344) podem mostrar alta similaridade sem qualquer desvio de quadro. Em um segundo caso em que o desvio temporal Y = 2 amostras, o quadro 304 e o quadro 344 podem ser desviados por 2 amostras. Nesse caso, o primeiro sinal de áudio 130 pode ser recebido antes do segundo sinal de áudio 132 na interface (ou interfaces) de entrada 112 por Y = 2 amostras ou X = (2/Fs) ms, em que Fs corresponde à taxa de amostra em kHz. Em alguns casos, o desvio temporal, Y, pode incluir um valor que não é um número inteiro, por exemplo, Y = 1,6 amostras correspondentes a X = 0,05 ms a 32 kHz.
[0097] O equalizador temporal 108 da Figura 1 pode determinar, com base no valor de deslocamento final 116, que o primeiro sinal de áudio 130 corresponde a um sinal de referência e que o segundo sinal de áudio 132 corresponde a um sinal-alvo. O sinal de referência (por exemplo, o primeiro sinal de áudio 130) pode corresponder a um sinal de avanço e o sinal-alvo (por exemplo, o segundo sinal de áudio 132) pode corresponder a um sinal latente. Por exemplo, o primeiro sinal de áudio 130 pode ser tratado como o sinal de referência deslocando-se o segundo sinal de áudio 132 em relação ao primeiro sinal de áudio 130 com base no valor de deslocamento final 116.
[0098] O equalizador temporal 108 pode deslocar o segundo sinal de áudio 132 para indicar que as amostras 326 a 332 devem ser codificadas com as amostras 358 a 264 (em comparação com as amostras 356 a 362). Por exemplo, o equalizador temporal 108 pode deslocar as localizações das amostras 358 a 364 para as localizações das amostras 356 a 362. O equalizador temporal 108 pode atualizar um ou mais apontadores que indicam as localizações das amostras 356 a 362 para que indiquem as localizações das amostras 358 a 364. O equalizador temporal 108 pode copiar dados correspondentes às amostras 358 a 364 para um armazenamento temporário, em comparação com a cópia de dados correspondentes às amostras 356 a 362. O equalizador temporal 108 pode gerar os sinais codificados 102 codificando-se as amostras 326 a 332 e as amostras 358 a 364, como descrito com referência à Figura 1.
[0099] Com referência à Figura 4, os exemplos ilustrativos de amostras são mostrados e geralmente designados como 400. Os exemplos 400 diferem dos exemplos 300 no sentido de que o primeiro sinal de áudio 130 é atrasado em relação ao segundo sinal de áudio 132.
[0100] Um segundo valor (por exemplo, um valor negativo) do valor de deslocamento final 116, pode indicar que uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 é indicativa de um atraso temporal do primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132. Por exemplo, o segundo valor (por exemplo, amostras de -X ms ou -Y, em que X e Y incluem números reais positivos) do valor de deslocamento final 116 pode indicar que o quadro 304 (por exemplo, as amostras 326 a 332) corresponde às amostras 354 a 360. As amostras 354 a 360 podem corresponder ao quadro 344 do segundo sinal de áudio 132. As amostras 326 a 332 são temporariamente atrasadas em relação às amostras 354 a 360. As amostras 354 a 360 (por exemplo, o quadro 344) e as amostras 326 a 332 (por exemplo, o quadro 304) podem corresponder ao mesmo som emitido a partir da fonte sonora 152.
[0101] Deve-se entender que um desvio temporal de -Y amostras, como mostrado na Figura 4, é ilustrativo. Por exemplo, o desvio temporal pode corresponder a um número de amostras, Y, que é menor ou igual a 0. Em um primeiro caso em que o desvio temporal Y = 0 amostras, as amostras 326 a 332 (por exemplo, correspondentes ao quadro 304) e as amostras 356 a 362 (por exemplo, correspondentes ao quadro 344) podem mostrar alta similaridade sem qualquer desvio de quadro. Em um segundo caso em que o desvio temporal Y = -6 amostras, o quadro 304 e o quadro 344 podem ser desviados por 6 amostras. Nesse caso, o primeiro sinal de áudio 130 pode ser recebido subsequente ao segundo sinal de áudio 132 na interface (ou interfaces) de entrada 112 por Y = -6 amostras ou X = (-6/Fs) ms, em que Fs corresponde à taxa de amostra em kHz. Em alguns casos, o desvio temporal, Y, pode incluir um valor que não é um número inteiro, por exemplo, Y = -3,2 amostras correspondentes a X = -0,1 ms a 32 kHz.
[0102] O equalizador temporal 108 da Figura 1 pode determinar que o segundo sinal de áudio 132 corresponde a um sinal de referência e que o primeiro sinal de áudio 130 corresponde a um sinal-alvo. Em particular, o equalizador temporal 108 pode estimar o valor de deslocamento não causal 162 a partir do valor de deslocamento final 116, como descrito com referência à Figura 5. O equalizador temporal 108 pode identificar (por exemplo, designar) um dentre o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132 como um sinal de referência e o outro dentre o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132 como um sinal-alvo com base em um símbolo do valor de deslocamento final 116.
[0103] O sinal de referência (por exemplo, o segundo sinal de áudio 132) pode corresponder a um sinal de avanço e o sinal-alvo (por exemplo, o primeiro sinal de áudio 130) pode corresponder a um sinal latente. Por exemplo, o segundo sinal de áudio 132 pode ser tratado como o sinal de referência deslocando-se o primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132 com base no valor de deslocamento final 116.
[0104] O equalizador temporal 108 pode deslocar o primeiro sinal de áudio 130 para indicar que as amostras 354 a 360 devem ser codificadas com as amostras 326 a 332 (em comparação com as amostras 324 a 330). Por exemplo, o equalizador temporal 108 pode deslocar as localizações das amostras 326 a 332 para as localizações das amostras 324 a 330. O equalizador temporal 108 pode atualizar um ou mais apontadores que indicam as localizações das amostras 324 a 330 para que indiquem as localizações das amostras 326 a 332. O equalizador temporal 108 pode copiar dados correspondentes às amostras 326 a 332 para um armazenamento temporário, em comparação com a cópia de dados correspondentes às amostras 324 a 330. O equalizador temporal 108 pode gerar os sinais codificados 102 codificando-se as amostras 354 a 360 e as amostras 326 a 332, como descrito com referência à Figura 1.
[0105] Com referência à Figura 5, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 500. O sistema 500 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 500. O equalizador temporal 108 pode incluir um reamostrador 504, um comparador de sinal 506, um interpolador 510, um refinador de deslocamento 511, um analisador de alteração de deslocamento 512, um gerador de deslocamento absoluto 513, um designador de sinal de referência 508, um gerador de parâmetro de ganho 514, um gerador de sinal 516, ou uma combinação dos mesmos.
[0106] Durante a operação, o reamostrador 504 pode gerar um ou mais sinais reamostrados, como descrito adicionalmente com referência à Figura 6. Por exemplo, o reamostrador 504 pode gerar um primeiro sinal reamostrado 530 (um sinal amostrado descendentemente ou um sinal amostrado ascendentemente) reamostrando-se (por exemplo, amostragem descendente ou amostragem ascendente) o primeiro sinal de áudio 130 com base em um fato de reamostragem (por exemplo, amostragem descendente ou amostragem ascendente) (R) (por exemplo, > 1). O reamostrador 504 pode gerar um segundo sinal reamostrado 532 reamostrando-se o segundo sinal de áudio 132 com base no fator de reamostragem (R). O reamostrador 504 pode fornecer o primeiro sinal reamostrado 530, o segundo sinal reamostrado 532 ou ambos ao comparador de sinal 506.
[0107] O comparador de sinal 506 pode gerar valores de comparação 534 (por exemplo, valores de diferença, valores de similaridade, valores de coerência, ou valores de correlação cruzada), um valor de deslocamento provisório 536 (por exemplo, um valor de incompatibilidade provisório), ou ambos como descrito adicionalmente com referência à Figura 7. Por exemplo, o comparador de sinal 506 pode gerar os valores de comparação 534 com base no primeiro sinal reamostrado 530 e uma pluralidade de valores de deslocamento aplicados ao segundo sinal reamostrado 532, como descrito adicionalmente com referência à Figura 7. O comparador de sinal 506 pode determinar o valor de deslocamento provisório 536 com base nos valores de comparação 534, como descrito adicionalmente com referência à Figura 7. O primeiro sinal reamostrado 530 pode incluir menos amostras ou mais amostras do que o primeiro sinal de áudio 130. O segundo sinal reamostrado 532 pode incluir menos amostras ou mais amostras do que o segundo sinal de áudio 132. Em um aspecto alternativo, o primeiro sinal reamostrado 530 pode ser igual ao primeiro sinal de áudio 130 e o segundo sinal reamostrado 532 pode ser igual ao segundo sinal de áudio 132. A determinação dos valores de comparação 534 com base nas menos amostras dos sinais reamostrados (por exemplo, o primeiro sinal reamostrado 530 e o segundo sinal reamostrado 532) pode usar menos recursos (por exemplo, tempo, número de operações ou ambos) do que em amostras dos sinais originais (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132). A determinação dos valores de comparação 534 com base nas mais amostras dos sinais reamostrados (por exemplo, o primeiro sinal reamostrado 530 e o segundo sinal reamostrado 532) pode aumentar a precisão em relação às amostras dos sinais originais (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132). O comparador de sinal 506 pode fornecer os valores de comparação 534, o valor de deslocamento provisório 536 ou ambos ao interpolador 510.
[0108] O interpolador 510 pode estender o valor de deslocamento provisório 536. Por exemplo, o interpolador 510 pode gerar um valor de deslocamento interpolado 538 (por exemplo, valor de incompatibilidade interpolado), como descrito adicionalmente com referência à Figura 8. Por exemplo, o interpolador 510 pode gerar valores de comparação interpolados correspondentes aos valores de deslocamento que são próximos ao valor de deslocamento provisório 536 interpolando-se os valores de comparação 534. O interpolador 510 pode determinar o valor de deslocamento interpolado 538 com base nos valores de comparação interpolados e nos valores de comparação 534. Os valores de comparação 534 podem ser baseados em uma granularidade mais grossa dos valores de deslocamento. Por exemplo, os valores de comparação 534 podem ser baseados em um primeiro subconjunto de um conjunto de valores de deslocamento, de modo que uma diferença entre um primeiro valor de deslocamento do primeiro subconjunto e cada segundo valor de deslocamento do primeiro subconjunto seja maior ou igual a um limiar (por exemplo, > 1). O limiar pode ser baseado no fator de reamostragem (R).
[0109] Os valores de comparação interpolados podem ser baseados em uma granularidade mais fina de valores de deslocamento que são próximos do valor de deslocamento provisório reamostrado 536. Por exemplo, os valores de comparação interpolados podem ser baseados em um segundo subconjunto do conjunto de valores de deslocamento de modo que uma diferença entre um valor de deslocamento mais alto do segundo subconjunto e o valor de deslocamento provisório reamostrado 536 seja menor do que o limiar (por exemplo, > 1), e uma diferença entre um valor de deslocamento mais baixo do segundo subconjunto e o valor de deslocamento provisório reamostrado 536 seja menor do que o limiar. A determinação dos valores de comparação 534 com base na granularidade mais grossa (por exemplo, o primeiro subconjunto) do conjunto de valores de deslocamento pode usar menos recursos (por exemplo, tempo, operações ou ambos) do que a determinação dos valores de comparação 534 com base em uma granularidade mais fina (por exemplo, todos) do conjunto de valores de deslocamento. A determinação dos valores de comparação interpolados correspondentes ao segundo subconjunto de valores de deslocamento pode estender o valor de deslocamento provisório 536 com base em uma granularidade mais fina de um conjunto de valores de deslocamento menor que são próximos do valor de deslocamento provisório 536 sem determinar os valores de comparação correspondentes a cada valor de deslocamento do conjunto de valores de deslocamento. Portanto, a determinação do valor de deslocamento provisório 536 com base no primeiro subconjunto de valores de deslocamento e a determinação do valor de deslocamento interpolado 538 com base nos valores de comparação interpolados pode equilibrar a utilização de recursos e o refinamento do valor de deslocamento estimado. O interpolador 510 pode fornecer o valor de deslocamento interpolado 538 ao refinador de deslocamento 511.
[0110] O refinador de deslocamento 511 pode gerar um valor de deslocamento emendado 540 através da refinação do valor de deslocamento interpolado 538, como descrito adicionalmente com referência às Figuras 9A a 9C. Por exemplo, o refinador de deslocamento 511 pode determinar se o valor de deslocamento interpolado 538 indica que uma alteração em um deslocamento entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 é maior do que um limiar de alteração de deslocamento, como descrito adicionalmente com referência à Figura 9A. A alteração no deslocamento pode ser indicada por uma diferença entre o valor de deslocamento interpolado 538 e um primeiro valor de deslocamento associado ao quadro 302 da Figura 3. O refinador de deslocamento 511, em resposta à determinação de que a diferença é menor ou igual ao limiar, pode definir o valor de deslocamento emendado 540 como o valor de deslocamento interpolado 538. Alternativamente, o refinador de deslocamento 511, em resposta à determinação de que a diferença é maior do que o limiar, pode determinar uma pluralidade de valores de deslocamento que correspondem a uma diferença que é menor ou igual ao limiar de alteração de deslocamento, como descrito adicionalmente com referência à Figura 9A. O refinador de deslocamento 511 pode determinar valores de comparação com base no primeiro sinal de áudio 130 e a pluralidade de valores de deslocamento aplicados ao segundo sinal de áudio 132. O refinador de deslocamento 511 pode determinar o valor de deslocamento emendado 540 com base nos valores de comparação, como descrito adicionalmente com referência à Figura 9A. Por exemplo, o refinador de deslocamento 511 pode selecionar um valor de deslocamento da pluralidade de valores de deslocamento com base nos valores de comparação e no valor de deslocamento interpolado 538, como descrito adicionalmente com referência à Figura 9A. O refinador de deslocamento 511 pode definir o valor de deslocamento emendado 540 para indicar o valor de deslocamento selecionado. Uma diferença não zero entre o primeiro valor de deslocamento correspondente ao quadro 302 e o valor de deslocamento interpolado 538 pode indicar que algumas amostras do segundo sinal de áudio 132 correspondem a ambos os quadros (por exemplo, o quadro 302 e o quadro 304). Por exemplo, algumas amostras do segundo sinal de áudio 132 podem ser duplicadas durante a codificação. Alternativamente, a diferença não zero pode indicar que algumas amostras do segundo sinal de áudio 132 não correspondem ao quadro 302 nem ao quadro 304. Por exemplo, algumas amostras do segundo sinal de áudio 132 podem ser perdidas durante a codificação. A definição do valor de deslocamento emendado 540 como um dentre a pluralidade de valores de deslocamento pode impedir uma grande alteração nos deslocamentos entre quadros consecutivos (ou adjacentes), reduzindo, assim, uma quantidade de perda de amostra ou duplicação de amostra durante a codificação. O refinador de deslocamento 511 pode fornecer o valor de deslocamento emendado 540 ao analisador de alteração de deslocamento 512.
[0111] Em algumas implementações, o refinador de deslocamento 511 pode ajustar o valor de deslocamento interpolado 538, como descrito com referência à Figura 9B. O refinador de deslocamento 511 pode determinar o valor de deslocamento emendado 540 com base no valor de deslocamento interpolado ajustado 538. Em algumas implementações, o refinador de deslocamento 511 pode determinar o valor de deslocamento emendado 540 como descrito com referência à Figura 9C.
[0112] O analisador de alteração de deslocamento 512 pode determinar se o valor de deslocamento emendado 540 indica uma comutação ou inversão na temporização entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132, como descrito com referência à Figura 1. Em particular, uma inversão ou uma comutação na temporização pode indicar que, para o quadro 302, o primeiro sinal de áudio 130 é recebido na interface (ou interfaces) de entrada 112 antes do segundo sinal de áudio 132 e, para um quadro subsequente (por exemplo, o quadro 304 ou o quadro 306), o segundo sinal de áudio 132 é recebido na interface (ou interfaces) de entrada antes do primeiro sinal de áudio 130. Alternativamente, uma inversão ou uma comutação na temporização pode indicar que, para o quadro 302, o segundo sinal de áudio 132 é recebido na interface (ou interfaces) de entrada 112 antes do primeiro sinal de áudio 130 e, para um quadro subsequente (por exemplo, o quadro 304 ou o quadro 306), o primeiro sinal de áudio 130 é recebido na interface (ou interfaces) de entrada antes do segundo sinal de áudio 132. Em outras palavras, uma comutação ou inversão na temporização pode indicar que um valor de deslocamento final correspondente ao quadro 302 tem um primeiro símbolo que é distinto de um segundo símbolo do valor de deslocamento emendado 540 correspondente ao quadro 304 (por exemplo, uma transição de positivo para negativo ou vice-versa). O analisador de alteração de deslocamento 512 pode determinar se o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 comutou o símbolo com base no valor de deslocamento emendado 540 e no primeiro valor de deslocamento associado ao quadro 302, como descrito adicionalmente com referência à Figura 10A. O analisador de alteração de deslocamento 512, em resposta à determinação de que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 comutou o símbolo, pode definir o valor de deslocamento final 116 como um valor (por exemplo, 0) que indica que não há deslocamento de tempo. Alternativamente, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 como o valor de deslocamento emendado 540 em resposta à determinação de que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 não comutou o símbolo, como descrito adicionalmente com referência à Figura 10A. O analisador de alteração de deslocamento 512 pode gerar um valor de deslocamento estimado através da refinação do valor de deslocamento emendado 540, como descrito adicionalmente com referência às Figuras 10A, 11. O analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 como o valor de deslocamento estimado. A definição do valor de deslocamento final 116 para indicar que não há deslocamento de tempo pode reduzir a distorção em um decodificador evitando-se o deslocamento no tempo do primeiro sinal de áudio 130 e do segundo sinal de áudio 132 em direções opostas por quadros consecutivos (ou adjacentes) do primeiro sinal de áudio 130. O analisador de alteração de deslocamento 512 pode fornecer o valor de deslocamento final 116 ao designador de sinal de referência 508, ao gerador de deslocamento absoluto 513 ou ambos. Em algumas implementações, o analisador de alteração de deslocamento 512 pode determinar o valor de deslocamento final 116 como descrito com referência à Figura 10B.
[0113] O gerador de deslocamento absoluto 513 pode gerar o valor de deslocamento não causal 162 aplicando-se uma função absoluta ao valor de deslocamento final 116. O gerador de deslocamento absoluto 513 pode fornecer o valor de deslocamento não causal 162 ao gerador de parâmetro de ganho 514.
[0114] O designador de sinal de referência 508 pode gerar o indicador de sinal de referência 164, como descrito adicionalmente com referência às Figuras 12 a 13; por exemplo, o indicador de sinal de referência 164 pode ter um primeiro valor que indica que o primeiro sinal de áudio 130 é um sinal de referência ou um segundo valor que indica que o segundo sinal de áudio 132 é o sinal de referência. O designador de sinal de referência 508 pode fornecer o indicador de sinal de referência 164 ao gerador de parâmetro de ganho 514.
[0115] O gerador de parâmetro de ganho 514 pode selecionar amostras do sinal-alvo (por exemplo, o segundo sinal de áudio 132) com base no valor de deslocamento não causal 162. Por exemplo, o gerador de parâmetro de ganho 514 pode gerar um sinal-alvo deslocado no tempo (por exemplo, um segundo sinal de áudio deslocado no tempo) deslocando-se o sinal-alvo (por exemplo, o segundo sinal de áudio 132) com base no valor de deslocamento não causal 162 e pode selecionar amostras do sinal-alvo deslocado no tempo. Para ilustrar, o gerador de parâmetro de ganho 514 pode selecionar as amostras 358 a 364 em resposta à determinação de que o valor de deslocamento não causal 162 tem um primeiro valor (por exemplo, amostras de +X ms ou +Y, em que X e Y incluem números reais positivos). O gerador de parâmetro de ganho 514 pode selecionar as amostras 354 a 360 em resposta à determinação de que o valor de deslocamento não causal 162 tem um segundo valor (por exemplo, amostras de -X ms ou - Y). O gerador de parâmetro de ganho 514 pode selecionar as amostras 356 a 362 em resposta à determinação de que o valor de deslocamento não causal 162 tem um valor (por exemplo, 0) que indica que não há deslocamento de tempo.
[0116] O gerador de parâmetro de ganho 514 pode determinar se o primeiro sinal de áudio 130 é o sinal de referência ou o segundo sinal de áudio 132 é o sinal de referência com base no indicador de sinal de referência 164. O gerador de parâmetro de ganho 514 pode gerar o parâmetro de ganho 160 com base nas amostras 326 a 332 do quadro 304 e nas amostras selecionadas (por exemplo, as amostras 354 a 360, as amostras 356 a 362, ou as amostras 358 a 364) do segundo sinal de áudio 132, como descrito com referência à Figura 1. Por exemplo, o gerador de parâmetro de ganho 514 pode gerar o parâmetro de ganho 160 com base em uma ou mais dentre da Equação 1a à Equação 1f, em que gD corresponde ao parâmetro de ganho 160, Ref(n) corresponde às amostras do sinal de referência, e Targ(n+N1) corresponde às amostras do sinal-alvo. Para ilustrar, Ref(n) pode corresponder às amostras 326 a 332 do quadro 304 e Targ(n+tN1) pode corresponder às amostras 358 a 364 do quadro 344 quando o valor de deslocamento não causal 162 tiver um primeiro valor (por exemplo, amostras de +X ms ou +Y, em que X e Y incluem números reais positivos). Em algumas implementações, Ref(n) pode corresponder às amostras do primeiro sinal de áudio 130 e Targ(n+N1) pode corresponder a amostras do segundo sinal de áudio 132, como descrito com referência à Figura 1. Em implementações alternativas, Ref(n) pode corresponder às amostras do segundo sinal de áudio 132 e Targ(n+N1) pode corresponder às amostras do primeiro sinal de áudio 130, como descrito com referência à Figura 1.
[0117] O gerador de parâmetro de ganho 514 pode fornecer o parâmetro de ganho 160, o indicador de sinal de referência 164, o valor de deslocamento não causal 162, ou uma combinação dos mesmos, ao gerador de sinal 516. O gerador de sinal 516 pode gerar os sinais codificados 102, como descrito com referência à Figura 1. Por exemplo, os sinais codificados 102 podem incluir um primeiro quadro de sinal codificado 564 (por exemplo, um canal intermediário quadro), um segundo quadro de sinal codificado 566 (por exemplo, um quadro de canal lateral), ou ambos. O gerador de sinal 516 pode gerar o primeiro quadro de sinal codificado 564 com base na Equação 2a ou na Equação 2b, em que M corresponde ao primeiro quadro de sinal codificado 564, gD corresponde ao parâmetro de ganho 160, Ref(n) corresponde às amostras do sinal de referência e Targ(n+N1) corresponde às amostras do sinal-alvo. O gerador de sinal 516 pode gerar o segundo quadro de sinal codificado 566 com base na Equação 3a ou na Equação 3b, em que S corresponde ao segundo quadro de sinal codificado 566, gD corresponde ao parâmetro de ganho 160, Ref(n) corresponde às amostras do sinal de referência, e Targ(n+N1) corresponde às amostras do sinal-alvo.
[0118] O equalizador temporal 108 pode armazenar o primeiro sinal reamostrado 530, o segundo sinal reamostrado 532, os valores de comparação 534, o valor de deslocamento provisório 536, o valor de deslocamento interpolado 538, o valor de deslocamento emendado 540, o valor de deslocamento não causal 162, o indicador de sinal de referência 164, o valor de deslocamento final 116, o parâmetro de ganho 160, o primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566 ou uma combinação dos mesmos na memória 153. Por exemplo, os dados de análise 190 podem incluir o primeiro sinal reamostrado 530, o segundo sinal reamostrado 532, os valores de comparação 534, o valor de deslocamento provisório 536, o valor de deslocamento interpolado 538, o valor de deslocamento emendado 540, o valor de deslocamento não causal 162, o indicador de sinal de referência 164, o valor de deslocamento final 116, o parâmetro de ganho 160, o primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566 ou uma combinação dos mesmos.
[0119] Com referência à Figura 6, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 600. O sistema 600 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 600.
[0120] O reamostrador 504 pode gerar primeiras amostras 620 do primeiro sinal reamostrado 530 reamostrando-se (por exemplo, amostragem descendente ou amostragem ascendente) o primeiro sinal de áudio 130 da Figura 1. O reamostrador 504 pode gerar segundas amostras 650 do segundo sinal reamostrado 532 reamostrando-se (por exemplo, amostragem descendente ou amostragem ascendente) o segundo sinal de áudio 132 da Figura 1.
[0121] O primeiro sinal de áudio 130 pode ser amostrado em uma primeira taxa de amostra (Fs) para gerar as amostras 320 da Figura 3. A primeira taxa de amostra (Fs) pode corresponder a uma primeira taxa (por exemplo, 16 quilohertz (kHz)) associados à largura de banda de banda larga (WB), uma segunda taxa (por exemplo, 32 kHz) associada à largura de banda de banda superlarga (SWB), uma terceira taxa (por exemplo, 48 kHz) associada à largura de banda de banda completa (FB) ou outra taxa. O segundo sinal de áudio 132 pode ser amostrado na primeira taxa de amostra (Fs) para gerar as segundas amostras 350 da Figura 3.
[0122] Em algumas implementações, o reamostrador 504 pode pré-processar o primeiro sinal de áudio 130 (ou o segundo sinal de áudio 132) antes da reamostragem do primeiro sinal de áudio 130 (ou do segundo sinal de áudio 132). O reamostrador 504 pode pré-processar o primeiro sinal de áudio 130 (ou o segundo sinal de áudio 132) filtrando-se o primeiro sinal de áudio 130 (ou o segundo sinal de áudio 132) com base em um filtro de resposta de impulso infinito (IIR) (por exemplo, um filtro de IIR de primeira ordem). O filtro de IIR pode ser baseado na seguinte Equação:
[0123] Em que a é positivo, como 0,68 ou 0,72. Realizar a desenfatização antes da reamostragem pode reduzir os efeitos, como suavização, condicionamento de sinal ou ambos. O primeiro sinal de áudio 130 (por exemplo, o primeiro sinal de áudio pré-processado 130) e o segundo sinal de áudio 132 (por exemplo, o segundo sinal de áudio pré-processado 132) pode ser reamostrado com base em um fator de reamostragem (R). O fator de reamostragem (D) pode ser baseado na primeira taxa de amostra (Fs) (por exemplo, R = Fs/8, R = 2Fs, etc.).
[0124] Em implementações alternativas, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 pode ser filtrado com passa baixa ou decimado com o uso de um filtro antissuavização antes da reamostragem. O filtro de decimação pode ser baseado no fator de reamostragem (R). Em um exemplo particular, o reamostrador 504 pode selecionar um filtro de decimação com uma primeira frequência de corte (por exemplo, π/R ou π/4) em resposta à determinação de que a primeira taxa de amostra (Fs) corresponde a uma taxa particular (por exemplo, 32 kHz). A redução da suavização através da desenfatização de múltiplos sinais (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132) pode ser computacionalmente menos dispendiosa do que aplicar um filtro de decimação aos múltiplos sinais.
[0125] As primeiras amostras 620 podem incluir uma amostra 622, uma amostra 624, uma amostra 626, uma amostra 628, uma amostra 630, uma amostra 632, uma amostra 634, uma amostra 636, uma ou mais amostras adicionais, ou uma combinação das mesmas. As primeiras amostras 620 podem incluir um subconjunto (por exemplo, 1/8°) das primeiras amostras 320 da Figura 3. A amostra 622, a amostra 624, uma ou mais amostras adicionais, ou uma combinação das mesmas, pode corresponder ao quadro 302. A amostra 626, a amostra 628, a amostra 630, a amostra 632, uma ou mais amostras adicionais, ou uma combinação das mesmas, pode corresponder ao quadro 304. A amostra 634, a amostra 636, uma ou mais amostras adicionais, ou uma combinação das mesmas, pode corresponder ao quadro 306.
[0126] As segundas amostras 650 podem incluir uma amostra 652, uma amostra 654, uma amostra 656, uma amostra 658, uma amostra 660, uma amostra 662, uma amostra 664, uma amostra 666, uma ou mais amostras adicionais, ou uma combinação das mesmas. As segundas amostras 650 podem incluir um subconjunto (por exemplo, 1/8°) das segundas amostras 350 da Figura 3. As amostras 654 a 660 podem corresponder às amostras 354 a 360. Por exemplo, as amostras 654 a 660 podem incluir um subconjunto (por exemplo, 1/8 °) das amostras 354 a 360. As amostras 656 a 662 podem corresponder às amostras 356 a 362. Por exemplo, as amostras 656 a 662 podem incluir um subconjunto (por exemplo, 1/8 °) das amostras 356 a 362. As amostras 658 a 664 podem corresponder às amostras 358 a 364. Por exemplo, as amostras 658 a 664 podem incluir um subconjunto (por exemplo, 1/8 °) das amostras 358 a 364. Em algumas implementações, o fator de reamostragem pode corresponder a um primeiro valor (por exemplo, 1) em que as amostras 622 a 636 e as amostras 652 a 666 da Figura 6 podem ser similares às amostras 322 a 336 e às amostras 352 a 366 da Figura 3, respectivamente.
[0127] O reamostrador 504 pode armazenar as primeiras amostras 620, as segundas amostras 650, ou ambas, na memória 153. Por exemplo, os dados de análise 190 podem incluir as primeiras amostras 620, as segundas amostras 650, ou ambas.
[0128] Com referência à Figura 7, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 700. O sistema 700 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 700.
[0129] A memória 153 pode armazenar uma pluralidade de valores de deslocamento 760. Os valores de deslocamento 760 podem incluir um primeiro valor de deslocamento 764 (por exemplo, amostras de -X ms ou -Y, em que X e Y incluem números reais positivos), um segundo valor de deslocamento 766 (por exemplo, amostras de +X ms ou +Y, em que X e Y incluem números reais positivos), ou ambos. Os valores de deslocamento 760 podem variar de um valor de deslocamento inferior (por exemplo, um valor de deslocamento mínimo, T_MIN) a um valor de deslocamento superior (por exemplo, um valor de deslocamento máximo, T_MAX). Os valores de deslocamento 760 podem indicar um deslocamento temporal esperado (por exemplo, um deslocamento temporal esperado máximo) entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132.
[0130] Durante a operação, o comparador de sinal 506 pode determinar os valores de comparação 534 com base nas primeiras amostras 620 e os valores de deslocamento 760 aplicados às segundas amostras 650. Por exemplo, as amostras 626 a 632 podem corresponder a um primeiro tempo (t). Para ilustrar, a interface (ou interfaces) de entrada 112 da Figura 1 pode receber as amostras 626 a 632 correspondentes ao quadro 304 aproximadamente no primeiro tempo (t). O primeiro valor de deslocamento 764 (por exemplo, amostras de -X ms ou -Y, em que X e Y incluem números reais positivos) pode corresponder a um segundo tempo (t-1).
[0131] As amostras 654 a 660 podem corresponder ao segundo tempo (t-1). Por exemplo, a interface (ou interfaces) de entrada 112 pode receber as amostras 654 a 660 aproximadamente no segundo tempo (t-1). O comparador de sinal 506 pode determinar um primeiro valor de comparação 714 (por exemplo, um valor de diferença ou um valor de correlação cruzada) correspondente para o primeiro valor de deslocamento 764 com base nas amostras 626 a 632 e nas amostras 654 a 660. Por exemplo, o primeiro valor de comparação 714 pode corresponder a um valor absoluto de correlação cruzada das amostras 626 a 632 e das amostras 654 a 660. Como outro exemplo, o primeiro valor de comparação 714 pode indicar uma diferença entre as amostras 626 a 632 e as amostras 654 a 660.
[0132] O segundo valor de deslocamento 766 (por exemplo, amostras de +X ms ou +Y, em que X e Y incluem números reais positivos) podem corresponder a um terceiro tempo (t+1). As amostras 658 a 664 podem corresponder ao terceiro tempo (t+1). Por exemplo, a interface (ou interfaces) de entrada 112 pode receber as amostras 658 a 664 aproximadamente no terceiro tempo (t+1). O comparador de sinal 506 pode determinar um segundo valor de comparação 716 (por exemplo, um valor de diferença ou uma correlação cruzada valor) correspondente ao segundo valor de deslocamento 766 com base nas amostras 626 a 632 e nas amostras 658 a 664. Por exemplo, o segundo valor de comparação 716 pode corresponder a um valor absoluto de correlação cruzada das amostras 626 a 632 e das amostras 658 a 664. Como outro exemplo, o segundo valor de comparação 716 pode indicar uma diferença entre as amostras 626 a 632 e as amostras 658 a 664. O comparador de sinal 506 pode armazenar os valores de comparação 534 na memória 153. Por exemplo, os dados de análise 190 podem incluir os valores de comparação 534.
[0133] O comparador de sinal 506 pode identificar um valor de comparação selecionado 736 dos valores de comparação 534 que tem um valor superior (ou inferior) do que outros valores dentre os valores de comparação 534. Por exemplo, o comparador de sinal 506 pode selecionar o segundo valor de comparação 716 como o valor de comparação selecionado 736 em resposta à determinação de que o segundo valor de comparação 716 é maior ou igual ao primeiro valor de comparação 714. Em algumas implementações, os valores de comparação 534 podem corresponder aos valores de correlação cruzada. O comparador de sinal 506 pode, em resposta à determinação de que o segundo valor de comparação 716 é maior do que o primeiro valor de comparação 714, determinar que as amostras 626 a 632 têm uma correlação superior com as amostras 658 a 664 do que com as amostras 654 a 660. O comparador de sinal 506 pode selecionar o segundo valor de comparação 716 que indica a correlação superior como o valor de comparação selecionado 736. Em outras implementações, os valores de comparação 534 podem corresponder aos valores de diferença. O comparador de sinal 506, em resposta à determinação de que o segundo valor de comparação 716 é inferior ao primeiro valor de comparação 714, pode determinar que as amostras 626 a 632 têm uma similaridade maior com as (por exemplo, uma diferença inferior às) amostras 658 a 664 do que as amostras 654 a 660. O comparador de sinal 506 pode selecionar o segundo valor de comparação 716 que indica uma diferença inferior como o valor de comparação selecionado 736.
[0134] O valor de comparação selecionado 736 pode indicar uma correlação superior (ou uma diferença inferior) aos outros valores dos valores de comparação 534. O comparador de sinal 506 pode identificar o valor de deslocamento provisório 536 dos valores de deslocamento 760 que corresponde ao valor de comparação selecionado 736. Por exemplo, o comparador de sinal 506 pode identificar o segundo valor de deslocamento 766 como o valor de deslocamento provisório 536 em resposta à determinação de que o segundo valor de deslocamento 766 corresponde ao valor de comparação selecionado 736 (por exemplo, o segundo valor de comparação 716).
[0135] O comparador de sinal 506 pode determinar o valor de comparação selecionado 736 com base na seguinte Equação:
[0136] Em que maxXCorr corresponde ao valor de comparação selecionado 736 e k corresponde a um valor de deslocamento. w(n)*l' corresponde ao primeiro sinal de áudio desenfatizado, reamostrado e janelado 130 e w(n)*r' corresponde ao segundo sinal de áudio desenfatizado, reamostrado e janelado 132. Por exemplo, w(n)*l' pode corresponder às amostras 626 a 632, w(n-1)*r' pode corresponder às amostras 654 a 660, w(n)*r' pode corresponder às amostras 656 a 662, e w(n+1)*r' pode corresponder às amostras 658 a 664. -K pode corresponder a um valor de deslocamento inferior (por exemplo, um valor de deslocamento mínimo) dos valores de deslocamento 760 e K pode corresponder a um valor de deslocamento superior (por exemplo, um valor de deslocamento máximo) dos valores de deslocamento 760. Na Equação 5, w(n)*l' corresponde ao primeiro sinal de áudio 130 independentemente da possibilidade de o primeiro sinal de áudio 130 corresponder a um sinal de canal direito (r) ou um sinal de canal esquerdo (l). Na Equação 5, w(n)*r' corresponde ao segundo sinal de áudio 132 independentemente da possibilidade de o segundo sinal de áudio 132 corresponde ao sinal de canal direito (r) ou ao sinal de canal esquerdo (l).
[0137] O comparador de sinal 506 pode determinar o valor de deslocamento provisório 536 com base na seguinte Equação:
[0138] em que T corresponde ao valor de deslocamento provisório 536.
[0139] O comparador de sinal 506 pode mapear o valor de deslocamento provisório 536 a partir das amostras reamostradas para as amostras originais com base no fator de reamostragem (D) da Figura 6. Por exemplo, o comparador de sinal 506 pode atualizar o valor de deslocamento provisório 536 com base no fator de reamostragem (R). Para ilustrar, o comparador de sinal 506 pode definir o valor de deslocamento provisório 536 para um produto (por exemplo, 12) do valor de deslocamento provisório 536 (por exemplo, 3) e o fator de reamostragem (D) (por exemplo, 4).
[0140] Com referência à Figura 8, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 800. O sistema 800 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 800. A memória 153 pode ser configurado para armazenar valores de deslocamento 860. Os valores de deslocamento 860 podem incluir um primeiro valor de deslocamento 864, um segundo valor de deslocamento 866 ou ambos.
[0141] Durante a operação, o interpolador 510 pode gerar os valores de deslocamento 860 próximos ao valor de deslocamento provisório 536 (por exemplo, 12), como descrito no presente documento. Os valores de deslocamento mapeados podem corresponder aos valores de deslocamento 760 mapeados a partir das amostras reamostradas para as amostras originais com base no fator de reamostragem (D). Por exemplo, um primeiro valor de deslocamento mapeado dentre os valores de deslocamento mapeados pode corresponder a um produto do primeiro valor de deslocamento 764 e ao fator de reamostragem (D). Uma diferença entre um primeiro valor de deslocamento mapeado dentre os valores de deslocamento mapeados e cada segundo valor de deslocamento mapeado dentre os valores de deslocamento mapeados pode ser maior ou igual a um valor de limiar (por exemplo, o fator de reamostragem (R), como 4). Os valores de deslocamento 860 podem ter uma granularidade mais fina do que os valores de deslocamento 760. Por exemplo, uma diferença entre um valor inferior (por exemplo, um valor mínimo) dentre os valores de deslocamento 860 e o valor de deslocamento provisório 536 pode ser menos do que o valor de limiar (por exemplo, 4). O valor de limiar pode corresponder ao fator de reamostragem (D) da Figura 6. Os valores de deslocamento 860 podem variar a partir de um primeiro valor (por exemplo, o valor de deslocamento provisório 536 - (o valor de limiar-1)) a um segundo valor (por exemplo, o valor de deslocamento provisório 536 + (valor de limiar -1)).
[0142] O interpolador 510 pode gerar valores de comparação interpolados 816 correspondentes aos valores de deslocamento 860 realizando-se a interpolação nos valores de comparação 534, como descrito no presente documento. Os valores de comparação correspondentes a um ou mais dentre os valores de deslocamento 860 podem ser excluídos dos valores de comparação 534 devido à granularidade inferior dos valores de comparação 534. O uso dos valores de comparação interpolados 816 pode possibilitar a busca de valores de comparação interpolados correspondentes aos um ou mais dentre os valores de deslocamento 860 para determinar se um valor de comparação interpolado correspondente a um valor de deslocamento particular próximo ao valor de deslocamento provisório 536 indica uma correlação superior (ou diferença inferior) do que o segundo valor de comparação 716 da Figura 7.
[0143] A Figura 8 inclui um gráfico 820 que ilustra exemplos dos valores de comparação interpolados 816 e dos valores de comparação 534 (por exemplo, valores de correlação cruzada). O interpolador 510 pode realizar a interpolação com base em uma interpolação de seno janelada de hanning, interpolação com base em filtro de IIR, interpolação de spline, outra forma de interpolação de sinal ou uma combinação das mesmas. Por exemplo, o interpolador 510 pode realizar a interpolação de seno janelada de hanning com base na seguinte Equação:
[0144] em que, b corresponde a uma função de seno janelada, corresponde ao valor de deslocamento provisório 536. pode corresponder a um valor particular de comparação dentre os valores de comparação 534. Por exemplo, pode indicar um primeiro valor de comparação dentre os valores de comparação 534 que correspondem a um primeiro valor de deslocamento (por exemplo, 8) quando i corresponde a 4. pode indicar o segundo valor de comparação 716 que corresponde ao valor de deslocamento provisório 536 (por exemplo, 12) quando i corresponde a 0. pode indicar um terceiro valor de comparação dentre os valores de comparação 534 que corresponde a um terceiro valor de deslocamento (por exemplo, 16) quando i corresponde a -4.
[0145] R(k)32kHz pode corresponder a um valor interpolado particular dentre os valores de comparação interpolados 816. Cada valor interpolado dentre os valores de comparação interpolados 816 pode corresponder a uma soma de um produto da função de seno janelada (b) e cada um dentre o primeiro valor de comparação, o segundo valor de comparação 716 e o terceiro valor de comparação. Por exemplo, o interpolador 510 pode determinar um primeiro produto da função de seno janelada (b) e o primeiro valor de comparação, um segundo produto da função de seno janelada (b) e o segundo valor de comparação 716, e um terceiro produto da função de seno janelada (b) e o terceiro valor de comparação. O interpolador 510 pode determinar um valor interpolado particular com base em uma soma do primeiro produto, o segundo produto e o terceiro produto. Um primeiro valor interpolado dentre os valores de comparação interpolados 816 pode corresponder a um primeiro valor de deslocamento (por exemplo, 9). A função de seno janelada (b) pode ter um primeiro valor correspondente ao primeiro valor de deslocamento. Um segundo valor interpolado dentre os valores de comparação interpolados 816 pode corresponder a um segundo valor de deslocamento (por exemplo, 10). A função de seno janelada (b) pode ter um segundo valor correspondente ao segundo valor de deslocamento. O primeiro valor da função de seno janelada (b) pode ser distinto do segundo valor. O primeiro valor interpolado, portanto, pode ser distinto do segundo valor interpolado.
[0146] Na Equação 7, 8 kHz podem corresponder a uma primeira taxa dos valores de comparação 534. Por exemplo, a primeira taxa pode indicar um número (por exemplo, 8) de valores de comparação correspondentes a um quadro (por exemplo, o quadro 304 da Figura 3) que são incluídos nos valores de comparação 534. 32 kHz pode corresponder a uma segunda taxa dos valores de comparação interpolados 816. Por exemplo, a segunda taxa pode indicar um número (por exemplo, 32) de valores de comparação interpolados correspondentes a um quadro (por exemplo, o quadro 304 da Figura 3) que são are incluídos nos valores de comparação interpolados 816.
[0147] O interpolador 510 pode selecionar um valor de comparação interpolado 838 (por exemplo, um valor máximo ou um valor mínimo) dentre os valores de comparação interpolados 816. O interpolador 510 pode selecionar um valor de deslocamento (por exemplo, 14) dentre os valores de deslocamento 860 que corresponde ao valor de comparação interpolado 838. O interpolador 510 pode gerar o valor de deslocamento interpolado 538 que indica o valor de deslocamento selecionado (por exemplo, o segundo valor de deslocamento 866).
[0148] O uso de uma abordagem bruta para determinar o valor de deslocamento provisório 536 e a busca em torno do valor de deslocamento provisório 536 para determinar o valor de deslocamento interpolado 538 podem reduzir a complexidade de busca sem comprometer a eficácia ou precisão de busca.
[0149] Com referência à Figura 9A, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 900. O sistema 900 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 900. O sistema 900 pode incluir a memória 153, um refinador de deslocamento 911 ou ambos. A memória 153 pode ser configurada para armazenar um primeiro valor de deslocamento 962 correspondente ao quadro 302. Por exemplo, os dados de análise 190 podem incluir o primeiro valor de deslocamento 962. O primeiro valor de deslocamento 962 pode corresponder a um valor de deslocamento provisório, um valor de deslocamento interpolado, um valor de deslocamento emendado, um valor de deslocamento final, ou um valor de deslocamento não causal associado ao quadro 302. O quadro 302 pode preceder o quadro 304 no primeiro sinal de áudio 130. O refinador de deslocamento 911 pode corresponder ao refinador de deslocamento 511 da Figura 1.
[0150] A Figura 9A também inclui um fluxograma de um método ilustrativo de operação geralmente designado 920. O método 920 pode ser realizado pelo equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1, o equalizador temporal (ou equalizadores temporais) 208, o codificador 214, o primeiro dispositivo 204 da Figura 2, o refinador de deslocamento 511 da Figura 5, o refinador de deslocamento 911, ou uma combinação dos mesmos.
[0151] O método 920 inclui determinar se um valor absoluto de uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é maior do que um primeiro limiar, em 901. Por exemplo, o refinador de deslocamento 911 pode determinar se um valor absoluto de uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é maior do que um primeiro limiar (por exemplo, um limiar de alteração de deslocamento).
[0152] O método 920 também inclui, em resposta à determinação de que o valor absoluto é menor ou igual ao primeiro limiar, em 901, definir o valor de deslocamento emendado 540 para indicar o valor de deslocamento interpolado 538, em 902. Por exemplo, o refinador de deslocamento 911 pode, em resposta à determinação de que o valor absoluto é menor ou igual ao limiar de alteração de deslocamento, definir o valor de deslocamento emendado 540 para indicar o valor de deslocamento interpolado 538. Em algumas implementações, o limiar de alteração de deslocamento pode ter um primeiro valor (por exemplo, 0) que indica que o valor de deslocamento emendado 540 deve ser definido para o valor de deslocamento interpolado 538 quando o primeiro valor de deslocamento 962 é igual ao valor de deslocamento interpolado 538. Em implementações alternativas, o limiar de alteração de deslocamento pode ter um segundo valor (por exemplo, > 1) que indica que o valor de deslocamento emendado 540 deve ser definido para o valor de deslocamento interpolado 538, em 902, com um grau maior de liberdade. Por exemplo, o valor de deslocamento emendado 540 pode ser definido para o valor de deslocamento interpolado 538 para uma faixa de diferenças entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538. Para ilustrar, o valor de deslocamento emendado 540 pode ser definido para o valor de deslocamento interpolado 538 quando um valor absoluto de uma diferença (por exemplo, -2, -1, 0, 1, 2) entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é menor ou igual ao limiar de alteração de deslocamento (por exemplo, 2).
[0153] O método 920 inclui adicionalmente, em resposta à determinação de que o valor absoluto é maior do que o primeiro limiar, em 901 , determinar se o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento interpolado 538, em 904. Por exemplo, o refinador de deslocamento 911, em resposta à determinação de que o valor absoluto é maior do que o limiar de alteração de deslocamento, pode determinar se o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento interpolado 538.
[0154] O método 920 também inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento interpolado 538, em 904, definir um valor de deslocamento inferior 930 a uma diferença entre o primeiro valor de deslocamento 962 e um segundo limiar, e definir um valor de deslocamento maior 932 para o primeiro valor de deslocamento 962, em 906. Por exemplo, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 20) é maior do que o valor de deslocamento interpolado 538 (por exemplo, 14), definir o valor de deslocamento inferior 930 (por exemplo, 17) para uma diferença entre o primeiro valor de deslocamento 962 (por exemplo, 20) e um segundo limiar (por exemplo, 3). Adicional ou alternativamente, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento interpolado 538, definir o valor de deslocamento maior 932 (por exemplo, 20) para o primeiro valor de deslocamento 962. O segundo limiar pode ser baseado na diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538. Em algumas implementações, o valor de deslocamento inferior 930 pode ser definido para uma diferença entre o valor de deslocamento interpolado 538 e um limiar (por exemplo, o segundo limiar) e o valor de deslocamento maior 932 pode ser definido para uma diferença entre o primeiro valor de deslocamento 962 e um limiar (por exemplo, o segundo limiar).
[0155] O método 920 inclui adicionalmente, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor ou igual ao valor de deslocamento interpolado 538, em 904, definir o valor de deslocamento inferior 930 para o primeiro valor de deslocamento 962, e definir um valor de deslocamento maior 932 para uma soma do primeiro valor de deslocamento 962 e um terceiro limiar, em 910. Por exemplo, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 10) é menor ou igual ao valor de deslocamento interpolado 538 (por exemplo, 14), definir o valor de deslocamento inferior 930 para o primeiro valor de deslocamento 962 (por exemplo, 10). Adicional ou alternativamente, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor ou igual ao valor de deslocamento interpolado 538, definir o valor de deslocamento maior 932 (por exemplo, 13) para uma soma do primeiro valor de deslocamento 962 (por exemplo, 10) e um terceiro limiar (por exemplo, 3). O terceiro limiar pode ser baseado na diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538. Em algumas implementações, o valor de deslocamento inferior 930 pode ser definido para uma diferença entre o primeiro valor de deslocamento 962 e um limiar (por exemplo, o terceiro limiar) e o valor de deslocamento maior 932 pode ser definido para uma diferença entre o valor de deslocamento interpolado 538 e um limiar (por exemplo, o terceiro limiar).
[0156] O método 920 também inclui determinar valores de comparação 916 com base no primeiro sinal de áudio 130 e valores de deslocamento 960 aplicados ao segundo sinal de áudio 132, em 908. Por exemplo, o refinador de deslocamento 911 (ou o comparador de sinal 506) pode gerar os valores de comparação 916, como descrito com referência à Figura 7, com base no primeiro sinal de áudio 130 e nos valores de deslocamento 960 aplicados ao segundo sinal de áudio 132. Para ilustrar, os valores de deslocamento 960 podem variar a partir do valor de deslocamento inferior 930 (por exemplo, 17) para o valor de deslocamento maior 932 (por exemplo, 20). O refinador de deslocamento 911 (ou o comparador de sinal 506) pode gerar um valor particular de comparação dos valores de comparação 916 com base nas amostras 326 a 332 e um subconjunto particular das segundas amostras 350. O subconjunto particular das segundas amostras 350 pode corresponder a um valor de deslocamento particular (por exemplo, 17) dentre os valores de deslocamento 960. O valor particular de comparação pode indicar uma diferença (ou uma correlação) entre as amostras 326 a 332 e o subconjunto particular das segundas amostras 350.
[0157] O método 920 inclui adicionalmente determinar o valor de deslocamento emendado 540 com base nos valores de comparação 916 gerados com base no primeiro sinal de áudio 130 e no segundo sinal de áudio 132, em 912. Por exemplo, o refinador de deslocamento 911 pode determinar o valor de deslocamento emendado 540 com base nos valores de comparação 916. Para ilustrar, em um primeiro caso, quando os valores de comparação 916 correspondem aos valores de correlação cruzada, o refinador de deslocamento 911 pode determinar que o valor de comparação interpolado 838 da Figura 8 correspondente ao valor de deslocamento interpolado 538 é maior ou igual a um valor de comparação mais alto dentre os valores de comparação 916. Alternativamente, quando os valores de comparação 916 correspondem aos valores de diferença, o refinador de deslocamento 911 pode determinar que o valor de comparação interpolado 838 é menor ou igual a um valor de comparação mais baixo dentre os valores de comparação 916. Nesse caso, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 20) é maior do que o valor de deslocamento interpolado 538 (por exemplo, 14), definir o valor de deslocamento emendado 540 para o valor de deslocamento inferior 930 (por exemplo, 17). Alternativamente, o refinador de deslocamento 911 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 10) é menor ou igual ao valor de deslocamento interpolado 538 (por exemplo, 14), definir o valor de deslocamento emendado 540 para o valor de deslocamento maior 932 (por exemplo, 13).
[0158] Em um segundo caso, quando os valores de comparação 916 correspondem aos valores de correlação cruzada, o refinador de deslocamento 911 pode determinar que o valor de comparação interpolado 838 é menor do que o valor de comparação mais alto dentre os valores de comparação 916 e pode definir o valor de deslocamento emendado 540 para um valor de deslocamento particular (por exemplo, 18) dentre os valores de deslocamento 960 que corresponde ao valor de comparação mais alto . Alternativamente, quando os valores de comparação 916 correspondem aos valores de diferença, o refinador de deslocamento 911 pode determinar que o valor de comparação interpolado 838 é maior do que o valor de comparação mais baixo dentre os valores de comparação 916 e pode definir o valor de deslocamento emendado 540 para um valor de deslocamento particular (por exemplo, 18) dentre os valores de deslocamento 960 que corresponde ao valor de comparação mais baixo.
[0159] Os valores de comparação 916 podem ser gerados com base no primeiro sinal de áudio 130, no segundo sinal de áudio 132 e nos valores de deslocamento 960. O valor de deslocamento emendado 540 pode ser gerado com base em valores de comparação 916 com o uso de um procedimento similar como realizado pelo comparador de sinal 506, como descrito com referência à Figura 7.
[0160] O método 920 pode, portanto, possibilitar que o refinador de deslocamento 911 limite uma alteração em um valor de deslocamento associada aos quadros consecutivos (ou adjacentes). A alteração reduzida no valor de deslocamento pode reduzir a perda de amostra ou a duplicação de amostra durante a codificação.
[0161] Com referência à Figura 9B, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 950. O sistema 950 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 950. O sistema 950 pode incluir a memória 153, o refinador de deslocamento 511 ou ambos. O refinador de deslocamento 511 pode incluir um ajustador de deslocamento interpolado 958. O ajustador de deslocamento interpolado 958 pode ser configurado para ajustar seletivamente o valor de deslocamento interpolado 538 com base no primeiro valor de deslocamento 962, como descrito no presente documento. O refinador de deslocamento 511 pode determinar o valor de deslocamento emendado 540 com base no valor de deslocamento interpolado 538 (por exemplo, o valor de deslocamento interpolado ajustado 538), como descrito com referência às Figuras 9A, 9C.
[0162] A Figura 9B também inclui um fluxograma de um método ilustrativo de operação geralmente designado 951. O método 951 pode ser realizado pelo equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1, o equalizador temporal (ou equalizadores temporais) 208, o codificador 214, o primeiro dispositivo 204 da Figura 2, o refinador de deslocamento 511 da Figura 5, o refinador de deslocamento 911 da Figura 9A, o ajustador de deslocamento interpolado 958, ou uma combinação dos mesmos.
[0163] O método 951 inclui gerar um desvio 957 com base em uma diferença entre o primeiro valor de deslocamento 962 e um valor de deslocamento interpolado não restringido 956, em 952. Por exemplo, o ajustador de deslocamento interpolado 958 pode gerar o desvio 957 com base em uma diferença entre o primeiro valor de deslocamento 962 e um valor de deslocamento interpolado não restringido 956. O valor de deslocamento interpolado não restringido 956 pode corresponder ao valor de deslocamento interpolado 538 (por exemplo, antes do ajuste pelo ajustador de deslocamento interpolado 958). O ajustador de deslocamento interpolado 958 pode armazenar o valor de deslocamento interpolado não restringido 956 na memória 153. Por exemplo, os dados de análise 190 podem incluir o valor de deslocamento interpolado não restringido 956.
[0164] O método 951 também inclui determinar se um valor absoluto do desvio 957 é maior do que um limiar, em 953. Por exemplo, o ajustador de deslocamento interpolado 958 pode determinar se um valor absoluto do desvio 957 satisfaz um limiar. O limiar pode corresponder a uma limitação de deslocamento interpolado MAX_SHIFT_CHANGE (por exemplo, 4).
[0165] O método 951 inclui, em resposta à determinação de que o valor absoluto do desvio 957 é maior do que o limiar, em 953, definir o valor de deslocamento interpolado 538 com base no primeiro valor de deslocamento 962, um símbolo do desvio 95 e o limiar, em 954. Por exemplo, o ajustador de deslocamento interpolado 958 pode, em resposta à determinação de que o valor absoluto do desvio 957 não consegue satisfazer (por exemplo, é maior do que) o limiar, restringir o valor de deslocamento interpolado 538. Para ilustrar, o ajustador de deslocamento interpolado 958 pode ajustar o valor de deslocamento interpolado 538 com base no primeiro valor de deslocamento 962, em um símbolo (por exemplo, +1 ou -1) do desvio 957 e no limiar (por exemplo, o valor de deslocamento interpolado 538 = o primeiro valor de deslocamento 962 + símbolo (o desvio 957) * limiar).
[0166] O método 951 inclui, em resposta à determinação de que o valor absoluto do desvio 957 é menor ou igual ao limiar, em 953, definir o valor de deslocamento interpolado 538 para o valor de deslocamento interpolado não restringido 956, em 955. Por exemplo, o ajustador de deslocamento interpolado 958 pode, em resposta à determinação de que o valor absoluto do desvio 957 satisfaz (por exemplo, é menor ou igual a) o limiar, evitar a alteração do valor de deslocamento interpolado 538.
[0167] O método 951, portanto, pode possibilitar a restrição do valor de deslocamento interpolado 538 de modo que uma alteração no valor de deslocamento interpolado 538 em relação ao primeiro valor de deslocamento 962 satisfaça uma limitação de deslocamento de interpolação.
[0168] Com referência à Figura 9C, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 970. O sistema 970 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 970. O sistema 970 pode incluir a memória 153, um refinador de deslocamento 921 ou ambos. O refinador de deslocamento 921 pode corresponder ao refinador de deslocamento 511 da Figura 5.
[0169] A Figura 9C também inclui um fluxograma de um método ilustrativo de operação geralmente designado 971. O método 971 pode ser realizado pelo equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1, o equalizador temporal (ou equalizadores temporais) 208, o codificador 214, o primeiro dispositivo 204 da Figura 2, o refinador de deslocamento 511 da Figura 5, o refinador de deslocamento 911 da Figura 9A, o refinador de deslocamento 921, ou uma combinação dos mesmos.
[0170] O método 971 inclui determinar se uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é diferente de zero, em 972. Por exemplo, o refinador de deslocamento 921 pode determinar se uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é diferente zero.
[0171] O método 971 inclui, em resposta à determinação de que a diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é zero, em 972, definir o valor de deslocamento emendado 540 para o valor de deslocamento interpolado 538, em 973. Por exemplo, o refinador de deslocamento 921 pode, em resposta à determinação de que a diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é zero, determinar o valor de deslocamento emendado 540 com base no valor de deslocamento interpolado 538 (por exemplo, o valor de deslocamento emendado 540 = o valor de deslocamento interpolado 538).
[0172] O método 971 inclui, em resposta à determinação de que a diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é diferente de zero, em 972, determinar se um valor absoluto do desvio 957 é maior do que um limiar, em 975. Por exemplo, o refinador de deslocamento 921 pode, em resposta à determinação de que a diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é diferente de zero, determinar se um valor absoluto do desvio 957 é maior do que um limiar. O desvio 957 pode corresponder a uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado não restringido 956, como descrito com referência à Figura 9B. O limiar pode corresponder a uma limitação de deslocamento interpolado MAX_SHIFT_CHANGE (por exemplo, 4).
[0173] O método 971 inclui, em resposta à determinação de que uma diferença entre o primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538 é diferente de zero, em 972, ou determinar que o valor absoluto do desvio 957 é menor ou igual ao limiar, em 975, definir o valor de deslocamento inferior 930 para uma diferença entre um primeiro limiar e um mínimo do primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538, e definir o valor de deslocamento maior 932 para uma soma de um segundo limiar e um máximo do primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538, em 976. Por exemplo, o refinador de deslocamento 921 pode, em resposta à determinação de que o valor absoluto do desvio 957 é menor ou igual ao limiar, determinar o valor de deslocamento inferior 930 com base em uma diferença entre um primeiro limiar e um mínimo do primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538. O refinador de deslocamento 921 também pode determinar o valor de deslocamento maior 932 com base em uma soma de um segundo limiar e um máximo do primeiro valor de deslocamento 962 e o valor de deslocamento interpolado 538.
[0174] O método 971 também inclui gerar os valores de comparação 916 com base no primeiro sinal de áudio 130 e os valores de deslocamento 960 aplicados ao segundo sinal de áudio 132, em 977. Por exemplo, o refinador de deslocamento 921 (ou o comparador de sinal 506) pode gerar os valores de comparação 916, como descrito com referência à Figura 7, com base no primeiro sinal de áudio 130 e nos valores de deslocamento 960 aplicados ao segundo sinal de áudio 132. Os valores de deslocamento 960 podem variar a partir do valor de deslocamento inferior 930 para o valor de deslocamento maior 932. O método 971 pode seguir para 979.
[0175] O método 971 inclui, em resposta à determinação de que o valor absoluto do desvio 957 é maior do que o limiar, em 975, gerar um valor de comparação 915 com base no primeiro sinal de áudio 130 e no valor de deslocamento interpolado não restringido 956 aplicado ao segundo sinal de áudio 132, em 978. Por exemplo, o refinador de deslocamento 921 (ou o comparador de sinal 506) pode gerar o valor de comparação 915, como descrito com referência à Figura 7, com base no primeiro sinal de áudio 130 e no valor de deslocamento interpolado não restringido 956 aplicado para o segundo sinal de áudio 132.
[0176] O método 971 também inclui determinar o valor de deslocamento emendado 540 com base nos valores de comparação 916, no valor de comparação 915, ou uma combinação dos mesmos, em 979. Por exemplo, o refinador de deslocamento 921 pode determinar o valor de deslocamento emendado 540 com base nos valores de comparação 916, no valor de comparação 915, ou uma combinação dos mesmos, como descrito com referência à Figura 9A. Em algumas implementações, o refinador de deslocamento 921 pode determinar o valor de deslocamento emendado 540 com base em uma comparação do valor de comparação 915 e os valores de comparação 916 para evitar os máximos locais devido à variação de deslocamento.
[0177] Em alguns casos, um tom inerente do primeiro sinal de áudio 130, o primeiro sinal reamostrado 530, o segundo sinal de áudio 132, o segundo sinal reamostrado 532, ou uma combinação dos mesmos, pode interferir com o processo de estimativa de deslocamento. Em tais casos, a desenfatização de tom ou filtração de tom podem ser realizadas para reduzir a interferência devido ao tom e para aprimorar a confiabilidade da estimativa de deslocamento entre múltiplos canais. Em alguns casos, o ruído de segundo plano pode estar presente no primeiro sinal de áudio 130, no primeiro sinal reamostrado 530, no segundo sinal de áudio 132, no segundo sinal reamostrado 532, ou uma combinação dos mesmos, que pode interferir no processo de estimativa de deslocamento. Em tais casos, a supressão de ruído ou o cancelamento de ruído pode ser usado para aprimorar a confiabilidade da estimativa de deslocamento entre múltiplos canais.
[0178] Com referência à Figura 10A, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1000. O sistema 1000 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1000.
[0179] A Figura 10A também inclui um fluxograma de um método ilustrativo de operação geralmente designado 1020. O método 1020 pode ser realizado pelo analisador de alteração de deslocamento 512, pelo equalizador temporal 108, pelo codificador 114, pelo primeiro dispositivo 104, ou uma combinação dos mesmos.
[0180] O método 1020 inclui determinar se o primeiro valor de deslocamento 962 é igual a 0, em 1001. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar se o primeiro valor de deslocamento 962 correspondente ao quadro 302 tem um primeiro valor (por exemplo, 0) indicando que não há deslocamento de tempo. O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é igual a 0, em 1001, seguir para 1010.
[0181] O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é diferente de zero, em 1001, determinar se o primeiro valor de deslocamento 962 é maior do que 0, em 1002. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar se o primeiro valor de deslocamento 962 correspondente ao quadro 302 tem um primeiro valor (por exemplo, um valor positivo) que indica que o segundo sinal de áudio 132 é atrasado no tempo em relação ao primeiro sinal de áudio 130.
[0182] O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que 0, em 1002, determinar se o valor de deslocamento emendado 540 é menor do que 0, em 1004. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem o primeiro valor (por exemplo, um valor positivo), determinar se o valor de deslocamento emendado 540 tem um segundo valor (por exemplo, um valor negativo) que indica que o primeiro sinal de áudio 130 é atrasado no tempo em relação ao segundo sinal de áudio 132. O método 1020 inclui, em resposta à determinação de que o valor de deslocamento emendado 540 é menor do que 0, em 1004, seguir para 1008. O método 1020 inclui, em resposta à determinação de que o valor de deslocamento emendado 540 é maior ou igual a 0, em 1004, seguir para 1010.
[0183] O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor do que 0, em 1002, determinar se o valor de deslocamento emendado 540 é maior do que 0, em 1006. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem o segundo valor (por exemplo, um valor negativo), determinar se o valor de deslocamento emendado 540 tem um primeiro valor (por exemplo, um valor positivo) que indica que o segundo sinal de áudio 132 é atrasado no tempo em relação ao primeiro sinal de áudio 130. O método 1020 inclui, em resposta à determinação de que o valor de deslocamento emendado 540 é maior do que 0, em 1006, seguir para 1008. O método 1020 inclui, em resposta à determinação de que o valor de deslocamento emendado 540 é menor ou igual a 0, em 1006, seguir para 1010.
[0184] O método 1020 inclui definir o valor de deslocamento final 116 para 0, em 1008. Por exemplo, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 para um valor particular (por exemplo, 0) que indica no deslocamento de tempo. O valor de deslocamento final 116 pode ser definido para o valor particular (por exemplo, 0) em resposta à determinação de que o sinal de avanço e o sinal latente foram comutados durante um período após a geração do quadro 302. Por exemplo, o quadro 302 pode ser codificado com base no primeiro valor de deslocamento 962 indicando que o primeiro sinal de áudio 130 é o sinal de avanço e o segundo sinal de áudio 132 é o sinal latente. O valor de deslocamento emendado 540 pode indicar que o primeiro sinal de áudio 130 é o sinal latente e o segundo sinal de áudio 132 é o sinal de avanço. O analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 para o valor particular em resposta à determinação de que um sinal de avanço indicado pelo primeiro valor de deslocamento 962 é distinto de um sinal de avanço indicado pelo valor de deslocamento emendado 540.
[0185] O método 1020 inclui determinar se o primeiro valor de deslocamento 962 é igual ao valor de deslocamento emendado 540, em 1010. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar se o primeiro valor de deslocamento 962 e o valor de deslocamento emendado 540 indicam o mesmo atraso no tempo entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132.
[0186] O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é igual ao valor de deslocamento emendado 540, em 1010, definir o valor de deslocamento final 116 para o valor de deslocamento emendado 540, em 1012. Por exemplo, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 para o valor de deslocamento emendado 540.
[0187] O método 1020 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 não é igual ao valor de deslocamento emendado 540, em 1010, gerar um valor de deslocamento estimado 1072, em 1014. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar o valor de deslocamento estimado 1072 refinando- se o valor de deslocamento emendado 540, como descrito adicionalmente com referência à Figura 11.
[0188] O método 1020 inclui definir o valor de deslocamento final 116 para o valor de deslocamento estimado 1072, em 1016. Por exemplo, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento final 116 para o valor de deslocamento estimado 1072.
[0189] Em algumas implementações, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento não causal 162 para indicar o segundo valor de deslocamento estimado em resposta à determinação de que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 não foi comutado. Por exemplo, o analisador de alteração de deslocamento 512 pode definir o valor de deslocamento não causal 162 para indicar o valor de deslocamento emendado 540 em resposta à determinação de que o primeiro valor de deslocamento 962 é igual a 0, 1001, que o valor de deslocamento emendado 540 é maior ou igual a 0, em 1004, ou que o valor de deslocamento emendado 540 é menor ou igual a 0, em 1006.
[0190] O analisador de alteração de deslocamento 512, portanto, pode definir o valor de deslocamento não causal 162 para indicar que não há deslocamento de tempo em resposta à determinação de que o atraso entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 foram comutados entre o quadro 302 e o quadro 304 da Figura 3. Prevenir que o valor de deslocamento não causal 162 tenha as direções comutadas (por exemplo, positiva para negativa ou negativa para positiva) entre quadros consecutivos pode reduzir a distorção em geração de sinal de mixagem descendente no codificador 114, evitar o uso de atraso adicional para síntese de mixagem ascendente em um decodificador ou ambos.
[0191] Com referência à Figura 10B, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1030. O sistema 1030 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1030.
[0192] A Figura 10B também inclui um fluxograma de um método ilustrativo de operação geralmente designado 1031. O método 1031 pode ser realizado pelo analisador de alteração de deslocamento 512, pelo equalizador temporal 108, pelo codificador 114, pelo primeiro dispositivo 104, ou uma combinação dos mesmos.
[0193] O método 1031 inclui determinar se o primeiro valor de deslocamento 962 é maior do que zero e o valor de deslocamento emendado 540 é menor do que zero, em 1032. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar se o primeiro valor de deslocamento 962 é maior do que zero e se o valor de deslocamento emendado 540 é menor do que zero.
[0194] O método 1031 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que zero e que o valor de deslocamento emendado 540 é menor do que zero, em 1032, definir o valor de deslocamento final 116 para zero, em 1033. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que zero e que o valor de deslocamento emendado 540 é menor do que zero, definir o valor de deslocamento final 116 para um primeiro valor (por exemplo, 0) que indica que não há deslocamento de tempo.
[0195] O método 1031 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor ou igual a zero ou que o valor de deslocamento emendado 540 é maior ou igual a zero, em 1032, determinar se o primeiro valor de deslocamento 962 é menor do que zero e se o valor de deslocamento emendado 540 é maior do que zero, em 1034. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor ou igual a zero ou que o valor de deslocamento emendado 540 é maior ou igual a zero, determinar se o primeiro valor de deslocamento 962 é menor do que zero e se o valor de deslocamento emendado 540 é maior do que zero.
[0196] O método 1031 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor do que zero e que o valor de deslocamento emendado 540 é maior do que zero, seguir para 1033. O método 1031 inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior ou igual a zero ou que o valor de deslocamento emendado 540 é menor ou igual a zero, definir o valor de deslocamento final 116 para o valor de deslocamento emendado 540, em 1035. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior ou igual a zero ou que o valor de deslocamento emendado 540 é menor ou igual a zero, definir o valor de deslocamento final 116 para o valor de deslocamento emendado 540.
[0197] Com referência à Figura 11, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1100. O sistema 1100 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1100. A Figura 11 também inclui um fluxograma que ilustra um método de operação que é geralmente designado 1120. O método 1120 pode ser realizado pelo analisador de alteração de deslocamento 512, pelo equalizador temporal 108, pelo codificador 114, pelo primeiro dispositivo 104, ou uma combinação dos mesmos. O método 1120 pode corresponder à etapa 1014 da Figura 10A.
[0198] O método 1120 inclui determinar se o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento emendado 540, em 1104. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar se o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento emendado 540.
[0199] O método 1120 também inclui, em resposta à determinação de que o primeiro valor de deslocamento 962 é maior do que o valor de deslocamento emendado 540, em 1104, definir um primeiro valor de deslocamento 1130 para uma diferença entre o valor de deslocamento emendado 540 e um primeiro desvio, e definir um segundo valor de deslocamento 1132 para uma soma do primeiro valor de deslocamento 962 e o primeiro desvio, em 1106. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 20) é maior do que o valor de deslocamento emendado 540 (por exemplo, 18), determinar o primeiro valor de deslocamento 1130 (por exemplo, 17) com base no valor de deslocamento emendado 540 (por exemplo, valor de deslocamento emendado 540 - um primeiro desvio). Alternativa ou adicionalmente, o analisador de alteração de deslocamento 512 pode determinar o segundo valor de deslocamento 1132 (por exemplo, 21) com base no primeiro valor de deslocamento 962 (por exemplo, o primeiro valor de deslocamento 962 + o primeiro desvio). O método 1120 pode seguir para 1108.
[0200] O método 1120 inclui adicionalmente, em resposta à determinação de que o primeiro valor de deslocamento 962 é menor ou igual ao valor de deslocamento emendado 540, em 1104, definir o primeiro valor de deslocamento 1130 para uma diferença entre o primeiro valor de deslocamento 962 e um segundo desvio, e definir o segundo valor de deslocamento 1132 para uma soma do valor de deslocamento emendado 540 e do segundo desvio. Por exemplo, o analisador de alteração de deslocamento 512 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 (por exemplo, 10) é menor ou igual ao valor de deslocamento emendado 540 (por exemplo, 12), determinar o primeiro valor de deslocamento 1130 (por exemplo, 9) com base no primeiro valor de deslocamento 962 (por exemplo, primeiro valor de deslocamento 962 - um segundo desvio). Alternativa ou adicionalmente, o analisador de alteração de deslocamento 512 pode determinar o segundo valor de deslocamento 1132 (por exemplo, 13) com base no valor de deslocamento emendado 540 (por exemplo, o valor de deslocamento emendado 540 + o segundo desvio). O primeiro desvio (por exemplo, 2) pode ser distinto do segundo desvio (por exemplo, 3). Em algumas implementações, o primeiro desvio pode ser igual ao segundo desvio. Um valor superior do primeiro desvio, o segundo desvio ou ambos pode aprimorar uma faixa de busca.
[0201] O método 1120 também inclui gerar valores de comparação 1140 com base no primeiro sinal de áudio 130 e valores de deslocamento 1160 aplicados ao segundo sinal de áudio 132, em 1108. Por exemplo, o analisador de alteração de deslocamento 512 pode gerar os valores de comparação 1140, como descrito com referência à Figura 7, com base no primeiro sinal de áudio 130 e nos valores de deslocamento 1160 aplicados ao segundo sinal de áudio 132. Para ilustrar, os valores de deslocamento 1160 podem variar a partir do primeiro valor de deslocamento 1130 (por exemplo, 17) para o segundo valor de deslocamento 1132 (por exemplo, 21). O analisador de alteração de deslocamento 512 pode gerar um valor particular de comparação dos valores de comparação 1140 com base nas amostras 326 a 332 e em um subconjunto particular das segundas amostras 350. O subconjunto particular das segundas amostras 350 pode corresponder a um valor de deslocamento particular (por exemplo, 17) dentre os valores de deslocamento 1160. O valor particular de comparação pode indicar uma diferença (ou uma correlação) entre as amostras 326 a 332 e o subconjunto particular das segundas amostras 350.
[0202] O método 1120 inclui adicionalmente determinar o valor de deslocamento estimado 1072 com base nos valores de comparação 1140, em 1112. Por exemplo, o analisador de alteração de deslocamento 512 pode, quando os valores de comparação 1140 correspondem aos valores de correlação cruzada, selecionar um valor de comparação mais alto dentre os valores de comparação 1140 como o valor de deslocamento estimado 1072. Alternativamente, o analisador de alteração de deslocamento 512 pode, quando os valores de comparação 1140 correspondem aos valores de diferença, selecionar um valor de comparação mais baixo dentre os valores de comparação 1140 como o valor de deslocamento estimado 1072.
[0203] O método 1120, portanto, pode possibilitar que o analisador de alteração de deslocamento 512 gere o valor de deslocamento estimado 1072 refinando-se o valor de deslocamento emendado 540. Por exemplo, o analisador de alteração de deslocamento 512 pode determinar os valores de comparação 1140 com base em amostras originais e pode selecionar o valor de deslocamento estimado 1072 correspondente a um valor de comparação dentre os valores de comparação 1140 que indica uma correlação mais alta (ou diferença mais baixa).
[0204] Com referência à Figura 12, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1200. O sistema 1200 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1200. A Figura 12 também inclui um fluxograma que ilustra um método de operação que é geralmente designado 1220. O método 1220 pode ser realizado através do designador de sinal de referência 508, do equalizador temporal 108, do codificador 114, do primeiro dispositivo 104, ou uma combinação dos mesmos.
[0205] O método 1220 inclui determinar se o valor de deslocamento final 116 é igual a 0, em 1202. Por exemplo, o designador de sinal de referência 508 pode determinar se o valor de deslocamento final 116 tem um valor particular (por exemplo, 0) que indica que não há deslocamento de tempo.
[0206] O método 1220 inclui, em resposta à determinação de que o valor de deslocamento final 116 é igual a 0, em 1202, deixar o indicador de sinal de referência 164 inalterado, em 1204. Por exemplo, o designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem o valor particular (por exemplo, 0) que indica que não há deslocamento de tempo, deixar o indicador de sinal de referência 164 inalterado. Para ilustrar, o indicador de sinal de referência 164 pode indicar que o mesmo sinal de áudio (por exemplo, o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132) é um sinal de referência associado ao quadro 304 como ocorre com o quadro 302.
[0207] O método 1220 inclui, em resposta à determinação de que o valor de deslocamento final 116 é diferente de zero, em 1202, determinar se o valor de deslocamento final 116 é maior do que 0, em 1206. Por exemplo, o designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem um valor particular (por exemplo, um valor diferente de zero) que indica um deslocamento de tempo, determinar se o valor de deslocamento final 116 tem um primeiro valor (por exemplo, um valor positivo) que indica que o segundo sinal de áudio 132 é atrasado em relação ao primeiro sinal de áudio 130 ou a segundo valor (por exemplo, um valor negativo) que indica que o primeiro sinal de áudio 130 é atrasado em relação ao segundo sinal de áudio 132.
[0208] O método 1220 inclui, em resposta à determinação de que o valor de deslocamento final 116 tem o primeiro valor (por exemplo, um valor positivo), definir o indicador de sinal de referência 164 para que tenha um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio 130 é um sinal de referência, em 1208. Por exemplo, o designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem o primeiro valor (por exemplo, um valor positivo), definir o indicador de sinal de referência 164 para um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio 130 é um sinal de referência. O designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem o primeiro valor (por exemplo, o valor positivo), determinar que o segundo sinal de áudio 132 corresponde a um sinal- alvo.
[0209] O método 1220 inclui, em resposta à determinação de que o valor de deslocamento final 116 tem o segundo valor (por exemplo, um valor negativo), definir o indicador de sinal de referência 164 para que tenha um segundo valor (por exemplo, 1) que indica que o segundo sinal de áudio 132 é um sinal de referência, em 1210. Por exemplo, o designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem o segundo valor (por exemplo, um valor negativo) que indica que o primeiro sinal de áudio 130 é atrasado em relação ao segundo sinal de áudio 132, definir o indicador de sinal de referência 164 para um segundo valor (por exemplo, 1) que indica que o segundo sinal de áudio 132 é um sinal de referência. O designador de sinal de referência 508 pode, em resposta à determinação de que o valor de deslocamento final 116 tem o segundo valor (por exemplo, o valor negativo), determinar que o primeiro sinal de áudio 130 corresponde a um sinal-alvo.
[0210] O designador de sinal de referência 508 pode fornecer o indicador de sinal de referência 164 ao gerador de parâmetro de ganho 514. O gerador de parâmetro de ganho 514 pode determinar um parâmetro de ganho (por exemplo, um parâmetro de ganho 160) de um sinal-alvo com base em um sinal de referência, como descrito com referência à Figura 5.
[0211] Um sinal-alvo pode ser atrasado no tempo em relação a um sinal de referência. O indicador de sinal de referência 164 pode indicar se o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132 corresponde ao sinal de referência. O indicador de sinal de referência 164 pode indicar se o parâmetro de ganho 160 corresponde ao primeiro sinal de áudio 130 ou ao segundo sinal de áudio 132.
[0212] Com referência à Figura 13, um fluxograma que ilustra um método particular de operação é mostrado e geralmente designado 1300. O método 1300 pode ser realizado através do designador de sinal de referência 508, do equalizador temporal 108, do codificador 114, do primeiro dispositivo 104, ou uma combinação dos mesmos.
[0213] O método 1300 inclui determinar se o valor de deslocamento final 116 é maior ou igual a zero, em 1302. Por exemplo, o designador de sinal de referência 508 pode determinar se o valor de deslocamento final 116 é maior ou igual a zero. O método 1300 também inclui, em resposta à determinação de que o valor de deslocamento final 116 é maior ou igual a zero, em 1302, seguir para 1208. O método 1300 inclui adicionalmente, em resposta à determinação de que o valor de deslocamento final 116 é menor do que zero, em 1302, seguir para 1210. O método 1300 difere do método 1220 da Figura 12 no sentido de que, em resposta à determinação de que o valor de deslocamento final 116 tem um valor particular (por exemplo, 0) que indica que não há deslocamento de tempo, o indicador de sinal de referência 164 é definido para um primeiro valor (por exemplo, 0) que indica que o primeiro sinal de áudio 130 corresponde a um sinal de referência. Em algumas implementações, o designador de sinal de referência 508 pode realizar o método 1220. Em outras implementações, o designador de sinal de referência 508 pode realizar o método 1300.
[0214] O método 1300, portanto, pode possibilitar a definição do indicador de sinal de referência 164 para um valor particular (por exemplo, 0) que indica que o primeiro sinal de áudio 130 corresponde a um sinal de referência quando o valor de deslocamento final 116 indica que não há deslocamento de tempo independentemente da possibilidade de o primeiro sinal de áudio 130 corresponder ao sinal de referência para o quadro 302.
[0215] Com referência à Figura 14, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1400. O sistema 1400 pode corresponder ao sistema 100 da Figura 1, o sistema 200 da Figura 2 ou ambos. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1, o sistema 200, o primeiro dispositivo 204 da Figura 2, ou uma combinação dos mesmos, podem incluir um ou mais componentes do sistema 1400. O primeiro dispositivo 204 é acoplado ao primeiro microfone 146, ao segundo microfone 148, a um terceiro microfone 1446 e um quarto microfone 1448.
[0216] Durante a operação, o primeiro dispositivo 204 pode receber o primeiro sinal de áudio 130 por meio do primeiro microfone 146, o segundo sinal de áudio 132 por meio do segundo microfone 148, um terceiro sinal de áudio 1430 por meio do terceiro microfone 1446, um quarto sinal de áudio 1432 por meio do quarto microfone 1448, ou uma combinação dos mesmos. A fonte sonora 152 pode estar mais perto de um dentre o primeiro microfone 146, o segundo microfone 148, o terceiro microfone 1446, ou o quarto microfone 1448 do que dos microfones restantes. Por exemplo, a fonte sonora 152 pode estar mais perto do primeiro microfone 146 do que de cada um dentre o segundo microfone 148, o terceiro microfone 1446 e o quarto microfone 1448.
[0217] O equalizador temporal (ou equalizadores temporais) 208 pode determinar um valor de deslocamento final, como descrito com referência à Figura 1, indicativo de um deslocamento de um sinal de áudio particular dentre o primeiro sinal de áudio 130, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430, ou o quarto sinal de áudio 1432 em relação a cada um dentre os sinais de áudio restantes. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode determinar o valor de deslocamento final 116 indicativo de um deslocamento do segundo sinal de áudio 132 em relação ao primeiro sinal de áudio 130, um segundo valor de deslocamento final 1416 indicativo de um deslocamento do terceiro sinal de áudio 1430 em relação ao primeiro sinal de áudio 130, um terceiro valor de deslocamento final 1418 indicativo de um deslocamento do quarto sinal de áudio 1432 em relação ao primeiro sinal de áudio 130, ou uma combinação dos mesmos.
[0218] O equalizador temporal (ou equalizadores temporais) 208 pode selecionar um dentre o primeiro sinal de áudio 130, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 ou o quarto sinal de áudio 1432 como um sinal de referência com base no valor de deslocamento final 116, no segundo valor de deslocamento final 1416 e no terceiro valor de deslocamento final 1418. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode selecionar o sinal particular (por exemplo, o primeiro sinal de áudio 130) como um sinal de referência em resposta à determinação de que cada um dentre o valor de deslocamento final 116, o segundo valor de deslocamento final 1416 e o terceiro valor de deslocamento final 1418 tem um primeiro valor (por exemplo, um valor não negativo) que indica que o sinal de áudio correspondente é atrasado no tempo em relação ao sinal de áudio particular ou que não há atraso no tempo entre o sinal de áudio correspondente e o sinal de áudio particular. Para ilustrar, um valor positivo de um valor de deslocamento (por exemplo, o valor de deslocamento final 116, o segundo valor de deslocamento final 1416 ou o terceiro valor de deslocamento final 1418) pode indicar que um sinal correspondente (por exemplo, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 ou o quarto sinal de áudio 1432) é atrasado no tempo em relação ao primeiro sinal de áudio 130. Um valor de zero de um valor de deslocamento (por exemplo, o valor de deslocamento final 116, o segundo valor de deslocamento final 1416 ou o terceiro valor de deslocamento final 1418) pode indicar que não há atraso no tempo entre um sinal correspondente (por exemplo, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 ou o quarto sinal de áudio 1432) e o primeiro sinal de áudio 130.
[0219] O equalizador temporal (ou equalizadores temporais) 208 pode gerar o indicador de sinal de referência 164 para indicar que o primeiro sinal de áudio 130 corresponde ao sinal de referência. O equalizador temporal (ou equalizadores temporais) 208 pode determinar que o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 e o quarto sinal de áudio 1432 correspondem a sinais-alvo.
[0220] Alternativamente, o equalizador temporal (ou equalizadores temporais) 208 pode determinar que pelo menos um dentre o valor de deslocamento final 116, o segundo valor de deslocamento final 1416 ou o terceiro valor de deslocamento final 1418 tem um segundo valor (por exemplo, um valor negativo) que indica que o sinal de áudio particular (por exemplo, o primeiro sinal de áudio 130) é atrasado em relação a outro sinal de áudio (por exemplo, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 ou o quarto sinal de áudio 1432).
[0221] O equalizador temporal (ou equalizadores temporais) 208 pode selecionar um primeiro subconjunto de valores de deslocamento a partir do valor de deslocamento final 116, do segundo valor de deslocamento final 1416 e do terceiro valor de deslocamento final 1418. Cada valor de deslocamento do primeiro subconjunto pode ter um valor (por exemplo, um valor negativo) que indica que o primeiro sinal de áudio 130 é atrasado no tempo em relação a um sinal de áudio correspondente. Por exemplo, o segundo valor de deslocamento final 1416 (por exemplo, -12) pode indicar que o primeiro sinal de áudio 130 é atrasado no tempo em relação ao terceiro sinal de áudio 1430. O terceiro valor de deslocamento final 1418 (por exemplo, - 14) pode indicar que o primeiro sinal de áudio 130 é atrasado no tempo em relação ao quarto sinal de áudio 1432. O primeiro subconjunto de valores de deslocamento pode incluir o segundo valor de deslocamento final 1416 e o terceiro valor de deslocamento final 1418.
[0222] O equalizador temporal (ou equalizadores temporais) 208 pode selecionar um valor de deslocamento particular (por exemplo, um valor de deslocamento inferior) do primeiro subconjunto que indica um atraso superior do primeiro sinal de áudio 130 para um sinal de áudio correspondente. O segundo valor de deslocamento final 1416 pode indicar um primeiro atraso do primeiro sinal de áudio 130 em relação ao terceiro sinal de áudio 1430. O terceiro valor de deslocamento final 1418 pode indicar um segundo atraso do primeiro sinal de áudio 130 em relação ao quarto sinal de áudio 1432. O equalizador temporal (ou equalizadores temporais) 208 pode selecionar o terceiro valor de deslocamento final 1418 a partir do primeiro subconjunto de valores de deslocamento em resposta à determinação de que o segundo atraso é mais longo do que o primeiro atraso.
[0223] O equalizador temporal (ou equalizadores temporais) 208 pode selecionar um sinal de áudio correspondente ao valor de deslocamento particular como um sinal de referência. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode selecionar o quarto sinal de áudio 1432 correspondente ao terceiro valor de deslocamento final 1418 como o sinal de referência. O equalizador temporal (ou equalizadores temporais) 208 pode gerar o indicador de sinal de referência 164 para indicar que o quarto sinal de áudio 1432 corresponde ao sinal de referência. O equalizador temporal (ou equalizadores temporais) 208 pode determinar que o primeiro sinal de áudio 130, o segundo sinal de áudio 132 e o terceiro sinal de áudio 1430 correspondem a sinais-alvo.
[0224] O equalizador temporal (ou equalizadores temporais) 208 pode atualizar o valor de deslocamento final 116 e o segundo valor de deslocamento final 1416 com base no valor de deslocamento particular correspondente ao sinal de referência. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode atualizar o valor de deslocamento final 116 com base no terceiro valor de deslocamento final 1418 para indicar um primeiro atraso particular do quarto sinal de áudio 1432 em relação ao segundo sinal de áudio 132 (por exemplo, o valor de deslocamento final 116 = o valor de deslocamento final 116 - o terceiro valor de deslocamento final 1418). Para ilustrar, o valor de deslocamento final 116 (por exemplo, 2) pode indicar um atraso do primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132. O terceiro valor de deslocamento final 1418 (por exemplo, -14) pode indicar um atraso do primeiro sinal de áudio 130 em relação ao quarto sinal de áudio 1432. Uma primeira diferença (por exemplo, 16 = 2 - (-14)) entre o valor de deslocamento final 116 e o terceiro valor de deslocamento final 1418 pode indicar um atraso do quarto sinal de áudio 1432 em relação ao segundo sinal de áudio 132. O equalizador temporal (ou equalizadores temporais) 208 pode atualizar o valor de deslocamento final 116 com base na primeira diferença. O equalizador temporal (ou equalizadores temporais) 208 pode atualizar o segundo valor de deslocamento final 1416 (por exemplo, 2) com base no terceiro valor de deslocamento final 1418 para indicar um segundo atraso particular do quarto sinal de áudio 1432 em relação ao terceiro sinal de áudio 1430 (por exemplo, o segundo valor de deslocamento final 1416 = o segundo valor de deslocamento final 1416 - o terceiro valor de deslocamento final 1418). Para ilustrar, o segundo valor de deslocamento final 1416 (por exemplo, - 12) pode indicar um atraso do primeiro sinal de áudio 130 em relação ao terceiro sinal de áudio 1430. O terceiro valor de deslocamento final 1418 (por exemplo, -14) pode indicar um atraso do primeiro sinal de áudio 130 em relação ao quarto sinal de áudio 1432. Uma segunda diferença (por exemplo, 2 = -12 - (-14)) entre o segundo valor de deslocamento final 1416 e o terceiro valor de deslocamento final 1418 pode indicar um atraso do quarto sinal de áudio 1432 em relação ao terceiro sinal de áudio 1430. O equalizador temporal (ou equalizadores temporais) 208 pode atualizar o segundo valor de deslocamento final 1416 com base na segunda diferença.
[0225] O equalizador temporal (ou equalizadores temporais) 208 pode inverter o terceiro valor de deslocamento final 1418 para indicar um atraso do quarto sinal de áudio 1432 em relação ao primeiro sinal de áudio 130. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode atualizar o terceiro valor de deslocamento final 1418 a partir de um primeiro valor (por exemplo, -14) indicando um atraso do primeiro sinal de áudio 130 em relação ao quarto sinal de áudio 1432 para um segundo valor (por exemplo, +14) indicando um atraso do quarto sinal de áudio 1432 em relação ao primeiro sinal de áudio 130 (por exemplo, o terceiro valor de deslocamento final 1418 = - o terceiro valor de deslocamento final 1418).
[0226] O equalizador temporal (ou equalizadores temporais) 208 pode gerar o valor de deslocamento não causal 162 aplicando-se uma função de valor absoluto ao valor de deslocamento final 116. O equalizador temporal (ou equalizadores temporais) 208 pode gerar um segundo valor de deslocamento não causal 1462 aplicando-se uma função de valor absoluto ao segundo valor de deslocamento final 1416. O equalizador temporal (ou equalizadores temporais) 208 pode gerar um terceiro valor de deslocamento não causal 1464 aplicando-se uma função de valor absoluto ao terceiro valor de deslocamento final 1418.
[0227] O equalizador temporal (ou equalizadores temporais) 208 pode gerar um parâmetro de ganho de cada sinal-alvo com base no sinal de referência, como descrito com referência à Figura 1. Em um exemplo em que o primeiro sinal de áudio 130 corresponde ao sinal de referência, o equalizador temporal (ou equalizadores temporais) 208 pode gerar o parâmetro de ganho 160 do segundo sinal de áudio 132 com base no primeiro sinal de áudio 130, um segundo parâmetro de ganho 1460 do terceiro sinal de áudio 1430 com base no primeiro sinal de áudio 130, um terceiro parâmetro de ganho 1461 do quarto sinal de áudio 1432 com base no primeiro sinal de áudio 130, ou uma combinação dos mesmos.
[0228] O equalizador temporal (ou equalizadores temporais) 208 pode gerar um sinal codificado (por exemplo, um sinal de canal intermediário quadro) com base no primeiro sinal de áudio 130, no segundo sinal de áudio 132, no terceiro sinal de áudio 1430 e no quarto sinal de áudio 1432. Por exemplo, o sinal codificado (por exemplo, um primeiro quadro de sinal codificado 1454) pode corresponder a uma soma de amostras de sinal de referência (por exemplo, o primeiro sinal de áudio 130) e amostras dos sinais-alvo (por exemplo, o segundo sinal de áudio 132, o terceiro sinal de áudio 1430 e o quarto sinal de áudio 1432). As amostras de cada um dentre os sinais-alvo podem ser deslocadas no tempo em relação às amostras do sinal de referência com base em um valor de deslocamento correspondente, como descrito com referência à Figura 1. O equalizador temporal (ou equalizadores temporais) 208 pode determinar um primeiro produto do parâmetro de ganho 160 e amostras do segundo sinal de áudio 132, um segundo produto do segundo parâmetro de ganho 1460 e amostras do terceiro sinal de áudio 1430 e um terceiro produto do terceiro parâmetro de ganho 1461 e amostras do quarto sinal de áudio 1432. O primeiro quadro de sinal codificado 1454 pode corresponder a uma soma de amostras do primeiro sinal de áudio 130, o primeiro produto, o segundo produto e o terceiro produto. Ou seja, o primeiro quadro de sinal codificado 1454 pode ser gerado com base nas seguintes Equações:
[0229] Em que M corresponde a um canal intermediário quadro (por exemplo, o primeiro quadro de sinal codificado 1454), Ref(n) corresponde às amostras de um sinal de referência (por exemplo, o primeiro sinal de áudio 130), gD1 corresponde ao parâmetro de ganho 160, gD2 corresponde ao segundo parâmetro de ganho 1460, gD3 corresponde ao terceiro parâmetro de ganho 1461, N1 corresponde ao valor de deslocamento não causal 162, N2 corresponde ao segundo valor de deslocamento não causal 1462, N3 corresponde ao terceiro valor de deslocamento não causal 1464, Targ1(n + N1) corresponde às amostras de um primeiro sinal-alvo (por exemplo, o segundo sinal de áudio 132), Targ2(n + N2) corresponde às amostras de um segundo sinal-alvo (por exemplo, o terceiro sinal de áudio 1430), e Targ3(n + N3) corresponde às amostras de um terceiro sinal- alvo (por exemplo, o quarto sinal de áudio 1432).
[0230] O equalizador temporal (ou equalizadores temporais) 208 pode gerar um sinal codificado (por exemplo, um sinal de quadro de canal lateral) correspondente a cada um dentre os sinais-alvo. Por exemplo, o equalizador temporal (ou equalizadores temporais) 208 pode gerar um segundo quadro de sinal codificado 566 com base no primeiro sinal de áudio 130 e no segundo sinal de áudio 132. Por exemplo, o segundo quadro de sinal codificado 566 pode corresponder a uma diferença de amostras do primeiro sinal de áudio 130 e amostras do segundo sinal de áudio 132, como descrito com referência à Figura 5. De modo similar, o equalizador temporal (ou equalizadores temporais) 208 pode gerar um terceiro quadro de sinal codificado 1466 (por exemplo, um quadro de canal lateral) com base no primeiro sinal de áudio 130 e no terceiro sinal de áudio 1430. Por exemplo, o terceiro quadro de sinal codificado 1466 pode corresponder a uma diferença de amostras do primeiro sinal de áudio 130 e amostras do terceiro sinal de áudio 1430. O equalizador temporal (ou equalizadores temporais) 208 pode gerar um quarto quadro de sinal codificado 1468 (por exemplo, um quadro de canal lateral) com base no primeiro sinal de áudio 130 e no quarto sinal de áudio 1432. Por exemplo, o quarto quadro de sinal codificado 1468 pode corresponder a uma diferença de amostras do primeiro sinal de áudio 130 e amostras do quarto sinal de áudio 1432. O segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1466 e o quarto quadro de sinal codificado 1468 podem ser gerados com base em uma dentre as seguintes Equações:
[0231] em que SP corresponde a um quadro de canal lateral, Ref(n) corresponde a amostras de um sinal de referência (por exemplo, o primeiro sinal de áudio 130), gDP corresponde a um parâmetro de ganho correspondente a um sinal-alvo associado, NP corresponde a um valor de deslocamento não causal correspondente ao sinal-alvo associado, e TargP(n + NP) corresponde a amostras do sinal- alvo associado. Por exemplo, SP pode corresponder ao segundo quadro de sinal codificado 566, gDP pode corresponder ao parâmetro de ganho 160, NP pode corresponder ao valor de deslocamento não causal 162, e TargP(n + NP) pode corresponder às amostras do segundo sinal de áudio 132. As outro exemplo, SP pode corresponder ao terceiro quadro de sinal codificado 1466, gDP pode corresponder ao segundo parâmetro de ganho 1460, NP pode corresponder ao segundo valor de deslocamento não causal 1462, e TargP(n + NP) pode corresponder às amostras do terceiro sinal de áudio 1430. Como um exemplo adicional, SP pode corresponder ao quarto quadro de sinal codificado 1468, gDP pode corresponder ao terceiro parâmetro de ganho 1461, NP pode corresponder ao terceiro valor de deslocamento não causal 1464, e TargP(n + NP) pode corresponder às amostras do quarto sinal de áudio 1432.
[0232] O equalizador temporal (ou equalizadores temporais) 208 pode armazenar o segundo valor de deslocamento final 1416, o terceiro valor de deslocamento final 1418, o segundo valor de deslocamento não causal 1462, o terceiro valor de deslocamento não causal 1464, o segundo parâmetro de ganho 1460, o terceiro parâmetro de ganho 1461, o primeiro quadro de sinal codificado 1454, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1466, o quarto quadro de sinal codificado 1468 ou uma combinação dos mesmos, na memória 153. Por exemplo, os dados de análise 190 podem incluir o segundo valor de deslocamento final 1416, o terceiro valor de deslocamento final 1418, o segundo valor de deslocamento não causal 1462, o terceiro valor de deslocamento não causal 1464, o segundo parâmetro de ganho 1460, o terceiro parâmetro de ganho 1461, o primeiro quadro de sinal codificado 1454, o terceiro quadro de sinal codificado 1466, o quarto quadro de sinal codificado 1468 ou uma combinação dos mesmos.
[0233] O transmissor 110 pode transmitir o primeiro quadro de sinal codificado 1454, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1466, o quarto quadro de sinal codificado 1468, o parâmetro de ganho 160, o segundo parâmetro de ganho 1460, o terceiro parâmetro de ganho 1461, o indicador de sinal de referência 164, o valor de deslocamento não causal 162, o segundo valor de deslocamento não causal 1462, o terceiro valor de deslocamento não causal 1464, ou uma combinação dos mesmos. O indicador de sinal de referência 164 pode corresponder aos indicadores de sinal de referência 264 da Figura 2. O primeiro quadro de sinal codificado 1454, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1466, o quarto quadro de sinal codificado 1468, ou uma combinação dos mesmos, podem corresponder aos sinais codificados 202 da Figura 2. O valor de deslocamento final 116, o segundo valor de deslocamento final 1416, o terceiro valor de deslocamento final 1418, ou uma combinação dos mesmos, podem corresponder aos valores de deslocamento final 216 da Figura 2. O valor de deslocamento não causal 162, o segundo valor de deslocamento não causal 1462, o terceiro valor de deslocamento não causal 1464, ou uma combinação dos mesmos, podem corresponder aos valores de deslocamento não causal 262 da Figura 2. O parâmetro de ganho 160, o segundo parâmetro de ganho 1460, o terceiro parâmetro de ganho 1461, ou uma combinação dos mesmos, podem corresponder aos parâmetros de ganho 260 da Figura 2.
[0234] Com referência à Figura 15, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1500. O sistema 1500 difere do sistema 1400 da Figura 14 no sentido de que o equalizador temporal (ou equalizadores temporais) 208 pode ser configurado para determinar múltiplos sinais de referência, como descrito no presente documento.
[0235] Durante a operação, o equalizador temporal (ou equalizadores temporais) 208 pode receber o primeiro sinal de áudio 130 por meio do primeiro microfone 146, o segundo sinal de áudio 132 por meio do segundo microfone 148, o terceiro sinal de áudio 1430 por meio do terceiro microfone 1446, o quarto sinal de áudio 1432 por meio do quarto microfone 1448, ou uma combinação dos mesmos. O equalizador temporal (ou equalizadores temporais) 208 pode determinar o valor de deslocamento final 116, o valor de deslocamento não causal 162, o parâmetro de ganho 160, o indicador de sinal de referência 164, o primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566, ou uma combinação dos mesmos, com base no primeiro sinal de áudio 130 e no segundo sinal de áudio 132, como descrito com referência às Figuras 1 e 5. De modo similar, o equalizador temporal (ou equalizadores temporais) 208 pode determinar um segundo valor de deslocamento final 1516, um segundo valor de deslocamento não causal 1562, um segundo parâmetro de ganho 1560, um segundo indicador de sinal de referência 1552, um terceiro quadro de sinal codificado 1564 (por exemplo, um sinal de canal intermediário quadro), um quarto quadro de sinal codificado 1566 (por exemplo, um sinal de quadro de canal lateral), ou uma combinação dos mesmos, com base no terceiro sinal de áudio 1430 e no quarto sinal de áudio 1432.
[0236] O transmissor 110 pode transmitir o primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1564, o quarto quadro de sinal codificado 1566, o parâmetro de ganho 160, o segundo parâmetro de ganho 1560, o valor de deslocamento não causal 162, o segundo valor de deslocamento não causal 1562, o indicador de sinal de referência 164, o segundo indicador de sinal de referência 1552, ou uma combinação dos mesmos. O primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1564, o quarto quadro de sinal codificado 1566, ou uma combinação dos mesmos, podem corresponder aos sinais codificados 202 da Figura 2. O parâmetro de ganho 160, o segundo parâmetro de ganho 1560 ou ambos podem corresponder aos parâmetros de ganho 260 da Figura 2. O valor de deslocamento final 116, o segundo valor de deslocamento final 1516 ou ambos podem corresponder aos valores de deslocamento final 216 da Figura 2. O valor de deslocamento não causal 162, o segundo valor de deslocamento não causal 1562 ou ambos podem corresponder aos valores de deslocamento não causal 262 da Figura 2. O indicador de sinal de referência 164, o segundo indicador de sinal de referência 1552 ou ambos podem corresponder aos indicadores de sinal de referência 264 da Figura 2.
[0237] Com referência à Figura 16, um fluxograma que ilustra um método particular de operação é mostrado e geralmente designado 1600. O método 1600 pode ser realizado pelo equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1 ou uma combinação dos mesmos.
[0238] O método 1600 inclui determinar, em um primeiro dispositivo, um valor de deslocamento final indicativo de um deslocamento de um primeiro sinal de áudio em relação a um segundo sinal de áudio, em 1602. Por exemplo, o equalizador temporal 108 do primeiro dispositivo 104 da Figura 1 pode determinar o valor de deslocamento final 116 indicativo de um deslocamento do primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132, como descrito em relação à Figura 1. Como outro exemplo, o equalizador temporal 108 pode determinar o valor de deslocamento final 116 indicativo de um deslocamento do primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132, o segundo valor de deslocamento final 1416 indicativo de um deslocamento do primeiro sinal de áudio 130 em relação ao terceiro sinal de áudio 1430, o terceiro valor de deslocamento final 1418 indicativo de um deslocamento do primeiro sinal de áudio 130 em relação ao quarto sinal de áudio 1432, ou uma combinação dos mesmos, como descrito em relação à Figura 14. Como um exemplo adicional, o equalizador temporal 108 pode determinar o valor de deslocamento final 116 indicativo de um deslocamento do primeiro sinal de áudio 130 em relação ao segundo sinal de áudio 132, o segundo valor de deslocamento final 1516 indicativo de um deslocamento do terceiro sinal de áudio 1430 em relação ao quarto sinal de áudio 1432 ou ambos como descrito com referência à Figura 15.
[0239] O método 1600 também inclui gerar, no primeiro dispositivo, pelo menos um sinal codificado com base nas primeiras amostras do primeiro sinal de áudio e nas segundas amostras do segundo sinal de áudio, em 1604. Por exemplo, o equalizador temporal 108 do primeiro dispositivo 104 da Figura 1 pode gerar os sinais codificados 102 com base nas amostras 326 a 332 da Figura 3 e as amostras 358 a 364 da Figura 3, como descrito adicionalmente com referência à Figura 5. As amostras 358 a 364 podem ser deslocadas no tempo em relação às amostras 326 a 332 por uma quantidade que é baseada no valor de deslocamento final 116.
[0240] Como outro exemplo, o equalizador temporal 108 pode gerar o primeiro quadro de sinal codificado 1454 com base nas amostras 326 a 332, nas amostras 358 a 364 da Figura 3, terceiras amostras do terceiro sinal de áudio 1430, quartas amostras do quarto sinal de áudio 1432, ou uma combinação das mesmas, como descrito com referência à Figura 14. As amostras 358 a 364, as terceiras amostras, e as quartas amostras podem ser deslocadas no tempo em relação às amostras 326 a 332 por uma quantidade que é baseada no valor de deslocamento final 116, no segundo valor de deslocamento final 1416 e no terceiro valor de deslocamento final 1418, respectivamente.
[0241] O equalizador temporal 108 pode gerar o segundo quadro de sinal codificado 566 com base nas amostras 326 a 332 e nas amostras 358 a 364 da Figura 3, como descrito com referência às Figuras 5 e 14. O equalizador temporal 108 pode gerar o terceiro quadro de sinal codificado 1466 com base nas amostras 326 a 332 e nas terceiras amostras. O equalizador temporal 108 pode gerar o quarto quadro de sinal codificado 1468 com base nas amostras 326 a 332 e nas quartas amostras.
[0242] Como um exemplo adicional, o equalizador temporal 108 pode gerar o primeiro quadro de sinal codificado 564 e o segundo quadro de sinal codificado 566 com base nas amostras 326 a 332 e nas amostras 358 a 364, como descrito com referência às Figuras 5 e 15. O equalizador temporal 108 pode gerar o terceiro quadro de sinal codificado 1564 e o quarto quadro de sinal codificado 1566 com base nas terceiras amostras do terceiro sinal de áudio 1430 e nas quartas amostras do quarto sinal de áudio 1432, como descrito com referência à Figura 15. As quartas amostras podem ser deslocadas no tempo em relação às terceiras amostras com base no segundo valor de deslocamento final 1516, como descrito com referência à Figura 15.
[0243] O método 1600 inclui adicionalmente enviar o pelo menos um sinal codificado a partir do primeiro dispositivo para um segundo dispositivo, em 1606. Por exemplo, o transmissor 110 da Figura 1 pode enviar pelo menos os sinais codificados 102 a partir do primeiro dispositivo 104 para o segundo dispositivo 106, como descrito adicionalmente com referência à Figura 1. Como outro exemplo, o transmissor 110 pode enviar pelo menos o primeiro quadro de sinal codificado 1454, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1466, o quarto quadro de sinal codificado 1468, ou uma combinação dos mesmos, como descrito com referência à Figura 14. Como um exemplo adicional, o transmissor 110 pode enviar pelo menos o primeiro quadro de sinal codificado 564, o segundo quadro de sinal codificado 566, o terceiro quadro de sinal codificado 1564, o quarto quadro de sinal codificado 1566, ou uma combinação dos mesmos, como descrito com referência à Figura 15.
[0244] O método 1600, portanto, pode possibilitar a geração de sinais codificados com base nas primeiras amostras de um primeiro sinal de áudio e nas segundas amostras de um segundo sinal de áudio que são deslocadas no tempo em relação ao primeiro sinal de áudio com base em um valor de deslocamento que é indicativo de um deslocamento do primeiro sinal de áudio em relação ao segundo sinal de áudio. O deslocamento no tempo das amostras do segundo sinal de áudio pode reduzir uma diferença entre o primeiro sinal de áudio e o segundo sinal de áudio que pode aprimorar a eficácia de codificação de canal unido. Um dentre o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132 pode ser designado como um sinal de referência com base em um símbolo (por exemplo, negativo ou positivo) do valor de deslocamento final 116. O outro (por exemplo, um sinal-alvo) dentre o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132 pode ser deslocado no tempo ou desviado com base no valor de deslocamento não causal 162 (por exemplo, um valor absoluto do valor de deslocamento final 116).
[0245] Com referência à Figura 17, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1700. O sistema 1700 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1700.
[0246] O sistema 1700 inclui um pré- processador de sinal 1702 acoplado, por meio de um estimador de deslocamento 1704, a um analisador de variação de deslocamento interquadros 1706, ao designador de sinal de referência 508 ou ambos. Em um aspecto particular, o pré-processador de sinal 1702 pode corresponder ao reamostrador 504. Em um aspecto particular, o estimador de deslocamento 1704 pode corresponder ao equalizador temporal 108 da Figura 1. Por exemplo, o estimador de deslocamento 1704 pode incluir um ou mais componentes do equalizador temporal 108.
[0247] O analisador de variação de deslocamento interquadros 1706 pode ser acoplado, por meio de um ajustador de sinal-alvo 1708, ao gerador de parâmetro de ganho 514. O designador de sinal de referência 508 pode ser acoplado ao analisador de variação de deslocamento interquadros 1706, ao gerador de parâmetro de ganho 514 ou ambos. O ajustador de sinal-alvo 1708 pode ser acoplado a um gerador de lado intermediário 1710. Em um aspecto particular, o gerador de lado intermediário 1710 pode corresponder ao gerador de sinal 516 da Figura 5. O gerador de parâmetro de ganho 514 pode ser acoplado ao gerador de lado intermediário 1710. O gerador de lado intermediário 1710 pode ser acoplado a um balanceador espacial de extensão de largura de banda (BWE) 1712, um codificador de BWE intermediário 1714, um regenerador de sinal de banda baixa (LB) 1716 ou uma combinação dos mesmos. O regenerador de sinal de LB 1716 pode ser acoplado a um codificador principal lateral de LB 1718, um codificador principal intermediário de LB 1720 ou ambos. O codificador principal intermediário de LB 1720 pode ser acoplado ao codificador de BWE intermediário 1714, ao codificador principal lateral de LB 1718 ou ambos. O codificador de BWE intermediário 1714 pode ser acoplado ao balanceador espacial de BWE 1712.
[0248] Durante a operação, o pré-processador de sinal 1702 pode receber um sinal de áudio 1728. Por exemplo, o pré-processador de sinal 1702 pode receber o sinal de áudio 1728 a partir da interface (ou interfaces) de entrada 112. O sinal de áudio 1728 pode incluir o primeiro sinal de áudio 130, o segundo sinal de áudio 132 ou ambos. O pré-processador de sinal 1702 pode gerar o primeiro sinal reamostrado 530, o segundo sinal reamostrado 532 ou ambos como descrito adicionalmente com referência à Figura 18. O pré-processador de sinal 1702 pode fornecer o primeiro sinal reamostrado 530, o segundo sinal reamostrado 532 ou ambos ao estimador de deslocamento 1704.
[0249] O estimador de deslocamento 1704 pode gerar o valor de deslocamento final 116 (T), o valor de deslocamento não causal 162 ou ambos com base no primeiro sinal reamostrado 530, no segundo sinal reamostrado 532 ou ambos como descrito adicionalmente com referência à Figura 19. O estimador de deslocamento 1704 pode fornecer o valor de deslocamento final 116 ao analisador de variação de deslocamento interquadros 1706, ao designador de sinal de referência 508 ou ambos.
[0250] O designador de sinal de referência 508 pode gerar o indicador de sinal de referência 164, como descrito com referência às Figuras 5, 12 e 13. O indicador de sinal de referência 164 pode, em resposta à determinação de que o indicador de sinal de referência 164 indica que o primeiro sinal de áudio 130 corresponde a um sinal de referência, determinar que um sinal de referência 1740 inclui o primeiro sinal de áudio 130 e que um sinal-alvo 1742 inclui o segundo sinal de áudio 132. Alternativamente, o indicador de sinal de referência 164 pode, em resposta à determinação de que o indicador de sinal de referência 164 indica que o segundo sinal de áudio 132 corresponde a um sinal de referência, determinar que o sinal de referência 1740 inclui o segundo sinal de áudio 132 e que o sinal-alvo 1742 inclui o primeiro sinal de áudio 130. O designador de sinal de referência 508 pode fornecer o indicador de sinal de referência 164 ao analisador de variação de deslocamento interquadros 1706, ao gerador de parâmetro de ganho 514 ou ambos.
[0251] O analisador de variação de deslocamento interquadros 1706 pode gerar um indicador de sinal-alvo 1764 com base no sinal-alvo 1742, no sinal de referência 1740, no primeiro valor de deslocamento 962 (Tprev), no valor de deslocamento final 116 (T), no indicador de sinal de referência 164, ou uma combinação dos mesmos, como descrito adicionalmente com referência à Figura 21. O analisador de variação de deslocamento interquadros 1706 pode fornecer o indicador de sinal-alvo 1764 ao ajustador de sinal-alvo 1708.
[0252] O ajustador de sinal-alvo 1708 pode gerar um sinal-alvo ajustado 1752 com base no indicador de sinal-alvo 1764, no sinal-alvo 1742 ou ambos. O ajustador de sinal-alvo 1708 pode ajustar o sinal-alvo 1742 com base em uma evolução de deslocamento temporal a partir do primeiro valor de deslocamento 962 (Tprev) para o valor de deslocamento final 116 (T). Por exemplo, o primeiro valor de deslocamento 962 pode incluir um valor de deslocamento final correspondente ao quadro 302. O ajustador de sinal- alvo 1708 pode, em resposta à determinação de que um valor de deslocamento final foi alterado a partir do primeiro valor de deslocamento 962 que tem um primeiro valor (por exemplo, Tprev = 2) correspondente ao quadro 302 que é inferior ao valor de deslocamento final 116 (por exemplo, T=4) correspondente ao quadro 304, interpolar o sinal-alvo 1742 de modo que um subconjunto de amostras do sinal-alvo 1742 que correspondem aos limites do quadro seja abandonado através da suavização e deslocamento lento para gerar o sinal-alvo ajustado 1752. Alternativamente, o ajustador de sinal-alvo 1708 pode, em resposta à determinação de que um valor de deslocamento final foi alterado a partir do primeiro valor de deslocamento 962 (por exemplo, Tprev = 4) que é maior do que o valor de deslocamento final 116 (por exemplo, T=2), interpolar o sinal-alvo 1742 de modo que um subconjunto de amostras do sinal-alvo 1742 que corresponde aos limites do quadro seja repetido através da suavização e deslocamento lento para gerar o sinal-alvo ajustado 1752. A suavização e o deslocamento lento podem ser realizados com base em interpoladores de faixa de latência e seno híbridos. O ajustador de sinal-alvo 1708 pode, em resposta à determinação de que um valor de deslocamento final é inalterado a partir do primeiro valor de deslocamento 962 para o valor de deslocamento final 116 (por exemplo, Tprev = T), temporariamente desviar o sinal-alvo 1742 para gerar o sinal-alvo ajustado 1752. O ajustador de sinal-alvo 1708 pode fornecer o sinal-alvo ajustado 1752 ao gerador de parâmetro de ganho 514, ao gerador de lado intermediário 1710 ou ambos.
[0253] O gerador de parâmetro de ganho 514 pode gerar o parâmetro de ganho 160 com base no indicador de sinal de referência 164, no sinal-alvo ajustado 1752, no sinal de referência 1740, ou uma combinação dos mesmos, como descrito adicionalmente com referência à Figura 20. O gerador de parâmetro de ganho 514 pode fornecer o parâmetro de ganho 160 ao gerador de lado intermediário 1710.
[0254] O gerador de lado intermediário 1710 pode gerar um sinal intermediário 1770, um sinal lateral 1772 ou ambos com base no sinal-alvo ajustado 1752, no sinal de referência 1740, no parâmetro de ganho 160, ou uma combinação dos mesmos. Por exemplo, o gerador de lado intermediário 1710 pode gerar o sinal intermediário 1770 com base na Equação 2a ou na Equação 2b, em que M corresponde ao sinal intermediário 1770, gD corresponde ao parâmetro de ganho 160, Ref(n) corresponde às amostras do sinal de referência 1740, e Targ(n+N1) corresponde às amostras do sinal-alvo ajustado 1752. O gerador de lado intermediário 1710 pode gerar o sinal lateral 1772 com base na Equação 3a ou na Equação 3b, em que S corresponde ao sinal lateral 1772, gD corresponde ao parâmetro de ganho 160, Ref(n) corresponde às amostras do sinal de referência 1740, e Targ(n+N1) corresponde às amostras do sinal-alvo ajustado 1752.
[0255] O gerador de lado intermediário 1710 pode fornecer o sinal lateral 1772 ao balanceador espacial de BWE 1712, ao regenerador de sinal de LB 1716 ou ambos. O gerador de lado intermediário 1710 pode fornecer o sinal intermediário 1770 ao codificador de BWE intermediário 1714, ao regenerador de sinal de LB 1716 ou ambos. O regenerador de sinal de LB 1716 pode gerar um sinal intermediário de LB 1760 com base no sinal intermediário 1770. Por exemplo, o regenerador de sinal de LB 1716 pode gerar o sinal intermediário de LB 1760 através da filtração do sinal intermediário 1770. O regenerador de sinal de LB 1716 pode fornecer o sinal intermediário de LB 1760 ao codificador principal intermediário de LB 1720. O codificador principal intermediário de LB 1720 pode gerar parâmetros (por exemplo, parâmetros principais 1771, parâmetros 1775 ou ambos) com base no sinal intermediário de LB 1760. Os parâmetros principais 1771, os parâmetros 1775 ou ambos podem incluir um parâmetro de excitação, um parâmetro de voz, etc. O codificador principal intermediário de LB 1720 pode fornecer os parâmetros principais 1771 ao codificador de BWE intermediário 1714, os parâmetros 1775 ao codificador principal lateral de LB 1718 ou ambos. Os parâmetros principais 1771 podem ser iguais ou distintos dos parâmetros 1775. Por exemplo, os parâmetros principais 1771 podem incluir um ou mais dentre os parâmetros 1775, podem excluir um ou mais dentre os parâmetros 1775, podem incluir um ou mais parâmetros adicionais, ou uma combinação dos mesmos. O codificador de BWE intermediário 1714 pode gerar um sinal de BWE intermediário codificado 1773 com base no sinal intermediário 1770, nos parâmetros principais 1771, ou uma combinação dos mesmos. O codificador de BWE intermediário 1714 pode fornecer o sinal de BWE intermediário codificado 1773 ao balanceador espacial de BWE 1712.
[0256] O regenerador de sinal de LB 1716 pode gerar um sinal lateral de LB 1762 com base no sinal lateral 1772. Por exemplo, o regenerador de sinal de LB 1716 pode gerar o sinal lateral de LB 1762 através da filtração do sinal lateral 1772. O regenerador de sinal de LB 1716 pode fornecer o sinal lateral de LB 1762 ao codificador principal lateral de LB 1718.
[0257] Com referência à Figura 18, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1800. O sistema 1800 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1800.
[0258] O sistema 1800 inclui o pré-processador de sinal 1702. O pré-processador de sinal 1702 pode incluir um demultiplexador (DeMUX) 1802 acoplado a um estimador de fator de reamostragem 1830, um desenfatizador 1804, um desenfatizador 1834, ou uma combinação dos mesmos. O desenfatizador 1804 pode ser acoplado, por meio de um reamostrador 1806, a um desenfatizador 1808. O desenfatizador 1808 pode ser acoplado, por meio de um reamostrador 1810, a um balanceador de inclinação 1812. O desenfatizador 1834 pode ser acoplado, por meio de um reamostrador 1836, a um desenfatizador 1838. O desenfatizador 1838 pode ser acoplado, por meio de um reamostrador 1840, a um balanceador de inclinação 1842.
[0259] Durante a operação, o deMUX 1802 pode gerar o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 através da demultiplexação do sinal de áudio 1728. O deMUX 1802 pode fornecer uma primeira taxa de amostra 1860 associada ao primeiro sinal de áudio 130, ao segundo sinal de áudio 132 ou ambos ao estimador de fator de reamostragem 1830. O deMUX 1802 pode fornecer o primeiro sinal de áudio 130 ao desenfatizador 1804, ao segundo sinal de áudio 132 ao desenfatizador 1834 ou ambos.
[0260] O estimador de fator de reamostragem 1830 pode gerar um primeiro fator 1862 (dl), um segundo fator 1882 (d2), ou ambos com base na primeira taxa de amostra 1860, uma segunda taxa de amostra 1880 ou ambos. O estimador de fator de reamostragem 1830 pode determinar um fator de reamostragem (D) com base na primeira taxa de amostra 1860, na segunda taxa de amostra 1880 ou ambos. Por exemplo, o fator de reamostragem (D) pode corresponder a uma razão da primeira taxa de amostra 1860 e da segunda taxa de amostra 1880 (por exemplo, o fator de reamostragem (D) = a segunda taxa de amostra 1880 / a primeira taxa de amostra 1860 ou o fator de reamostragem (D) = a primeira taxa de amostra 1860 / a segunda taxa de amostra 1880). O primeiro fator 1862 (dl), o segundo fator 1882 (d2), ou ambos podem ser fatores do fator de reamostragem (R). Por exemplo, o fator de reamostragem (D) pode corresponder a um produto do primeiro fator 1862 (d1) e do segundo fator 1882 (d2) (por exemplo, o fator de reamostragem (D) = o primeiro fator 1862 (d1) * o segundo fator 1882 (d2)). Em algumas implementações, o primeiro fator 1862 (d1) pode ter um primeiro valor (por exemplo, 1), o segundo fator 1882 (d2) pode ter um segundo valor (por exemplo, 1), ou ambos que se desvia dos estágios de reamostragem, como descrito no presente documento.
[0261] O desenfatizador 1804 pode gerar um sinal desenfatizado 1864 através da filtração do primeiro sinal de áudio 130 com base em um filtro de IIR (por exemplo, um filtro de IIR de primeira ordem), como descrito com referência à Figura 6. O desenfatizador 1804 pode fornecer o sinal desenfatizado 1864 ao reamostrador 1806. O reamostrador 1806 pode gerar um sinal reamostrado 1866 através da reamostragem do sinal desenfatizado 1864 com base no primeiro fator 1862 (dl). O reamostrador 1806 pode fornecer o sinal reamostrado 1866 ao desenfatizador 1808. O desenfatizador 1808 pode gerar um sinal desenfatizado 1868 através da filtração do sinal reamostrado 1866 com base em um filtro de IIR, como descrito com referência à Figura 6. O desenfatizador 1808 pode fornecer o sinal desenfatizado 1868 ao reamostrador 1810. O reamostrador 1810 pode gerar um sinal reamostrado 1870 através da reamostragem do sinal desenfatizado 1868 com base no segundo fator 1882 (d2).
[0262] Em algumas implementações, o primeiro fator 1862 (d1) pode ter um primeiro valor (por exemplo, 1), o segundo fator 1882 (d2) pode ter um segundo valor (por exemplo, 1) ou ambos que se desvia dos estágios de reamostragem. Por exemplo, quando o primeiro fator 1862 (d1) tem o primeiro valor (por exemplo, 1), o sinal reamostrado 1866 pode ser igual ao sinal desenfatizado 1864. Como outro exemplo, quando o segundo fator 1882 (d2) tem o segundo valor (por exemplo, 1), o sinal reamostrado 1870 pode ser igual ao sinal desenfatizado 1868. O reamostrador 1810 pode fornecer o sinal reamostrado 1870 ao balanceador de inclinação 1812. O balanceador de inclinação 1812 pode gerar o primeiro sinal reamostrado 530 realizando-se o balanceamento de inclinação no sinal reamostrado 1870.
[0263] O desenfatizador 1834 pode gerar um sinal desenfatizado 1884 através da filtração do segundo sinal de áudio 132 com base em um filtro de IIR (por exemplo, um filtro de IIR de primeira ordem), como descrito com referência à Figura 6. O desenfatizador 1834 pode fornecer o sinal desenfatizado 1884 ao reamostrador 1836. O reamostrador 1836 pode gerar um sinal reamostrado 1886 através da reamostragem do sinal desenfatizado 1884 com base no primeiro fator 1862 (dl). O reamostrador 1836 pode fornecer o sinal reamostrado 1886 ao desenfatizador 1838. O desenfatizador 1838 pode gerar um sinal desenfatizado 1888 através da filtração do sinal reamostrado 1886 com base em um filtro de IIR, como descrito com referência à Figura 6. O desenfatizador 1838 pode fornecer o sinal desenfatizado 1888 ao reamostrador 1840. O reamostrador 1840 pode gerar um sinal reamostrado 1890 através da reamostragem do sinal desenfatizado 1888 com base no segundo fator 1882 (d2).
[0264] Em algumas implementações, o primeiro fator 1862 (d1) pode ter um primeiro valor (por exemplo, 1), o segundo fator 1882 (d2) pode ter um segundo valor (por exemplo, 1) ou ambos que se desvia dos estágios de reamostragem. Por exemplo, quando o primeiro fator 1862 (d1) tem o primeiro valor (por exemplo, 1), o sinal reamostrado 1886 pode ser igual ao sinal desenfatizado 1884. Como outro exemplo, quando o segundo fator 1882 (d2) tem o segundo valor (por exemplo, 1), o sinal reamostrado 1890 pode ser igual ao sinal desenfatizado 1888. O reamostrador 1840 pode fornecer o sinal reamostrado 1890 ao balanceador de inclinação 1842. O balanceador de inclinação 1842 pode gerar o segundo sinal reamostrado 532 realizando- se o balanceamento de inclinação no sinal reamostrado 1890. Em algumas implementações, o balanceador de inclinação 1812 e o balanceador de inclinação 1842 podem compensar por um efeito de passa baixa (LP) devido ao desenfatizador 1804 e ao desenfatizador 1834, respectivamente.
[0265] Com referência à Figura 19, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 1900. O sistema 1900 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 1900.
[0266] O sistema 1900 inclui o estimador de deslocamento 1704. O estimador de deslocamento 1704 pode incluir o comparador de sinal 506, o interpolador 510, o refinador de deslocamento 511, o analisador de alteração de deslocamento 512, o gerador de deslocamento absoluto 513, ou uma combinação dos mesmos. Deve-se entender que o sistema 1900 pode incluir menos do que ou mais do que os componentes ilustrados na Figura 19. O sistema 1900 pode ser configurado para realizar uma ou mais operações descritas no presente documento. Por exemplo, o sistema 1900 pode ser configurado para realizar uma ou mais operações descritas com referência ao equalizador temporal 108 da Figura 5, o estimador de deslocamento 1704 da Figura 17 ou ambos. Deve-se entender que o valor de deslocamento não causal 162 pode ser estimado com base em um ou mais sinais filtrados com passa baixa, um ou mais sinais filtrados com passa alta, ou uma combinação dos mesmos, que são gerados com base no primeiro sinal de áudio 130, no primeiro sinal reamostrado 530, no segundo sinal de áudio 132, no segundo sinal reamostrado 532, ou uma combinação dos mesmos.
[0267] Com referência à Figura 20, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 2000. O sistema 2000 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 2000.
[0268] O sistema 2000 inclui o gerador de parâmetro de ganho 514. O gerador de parâmetro de ganho 514 pode incluir um estimador de ganho 2002 acoplado a um suavizador de ganho 2008. O estimador de ganho 2002 pode incluir um estimador de ganho baseado em envelope 2004, um estimador de ganho baseado em coerência 2006 ou ambos. O estimador de ganho 2002 pode gerar um ganho com base em uma ou mais dentre as Equações 1a a 1f, como descrito com referência à Figura 1.
[0269] Durante a operação, o estimador de ganho 2002 pode, em resposta à determinação de que o indicador de sinal de referência 164 indica que o primeiro sinal de áudio 130 corresponde a um sinal de referência, determinar que o sinal de referência 1740 inclui o primeiro sinal de áudio 130. Alternativamente, o estimador de ganho 2002 pode, em resposta à determinação de que o indicador de sinal de referência 164 indica que o segundo sinal de áudio 132 corresponde a um sinal de referência, determinar que o sinal de referência 1740 inclui o segundo sinal de áudio 132.
[0270] O estimador de ganho baseado em envelope 2004 pode gerar um ganho com base em envelope 2020 com base no sinal de referência 1740, no sinal-alvo ajustado 1752 ou ambos. Por exemplo, o estimador de ganho baseado em envelope 2004 pode determinar o ganho com base em envelope 2020 com base em um primeiro envelope do sinal de referência 1740 e em um segundo envelope do sinal-alvo ajustado 1752. O estimador de ganho baseado em envelope 2004 pode fornecer O ganho com base em envelope 2020 ao suavizador de ganho 2008.
[0271] O estimador de ganho com base em coerência 2006 pode gerar um ganho com base em coerência 2022 com base no sinal de referência 1740, no sinal-alvo ajustado 1752 ou ambos. Por exemplo, o estimador de ganho com base em coerência 2006 pode determinar uma coerência estimada correspondente ao sinal de referência 1740, ao sinal-alvo ajustado 1752 ou ambos. O estimador de ganho com base em coerência 2006 pode determinar o ganho com base em coerência 2022 com base na coerência estimada. O estimador de ganho baseado em coerência 2006 pode fornecer O ganho com base em coerência 2022 ao suavizador de ganho 2008.
[0272] O suavizador de ganho 2008 pode gerar o parâmetro de ganho 160 com base no ganho com base em envelope 2020, no ganho com base em coerência 2022, um primeiro ganho 2060, ou uma combinação dos mesmos. Por exemplo, o parâmetro de ganho 160 pode corresponder a uma média do ganho com base em envelope 2020, do ganho com base em coerência 2022, do primeiro ganho 2060, ou uma combinação dos mesmos. O primeiro ganho 2060 pode ser associado ao quadro 302.
[0273] Com referência à Figura 21, um exemplo ilustrativo de um sistema é mostrado e geralmente designado 2100. O sistema 2100 pode corresponder ao sistema 100 da Figura 1. Por exemplo, o sistema 100, o primeiro dispositivo 104 da Figura 1 ou ambos podem incluir um ou mais componentes do sistema 2100. A Figura 21 também inclui um diagrama de estado 2120. O diagrama de estado 2120 pode ilustrar a operação do analisador de variação de deslocamento interquadros 1706.
[0274] O diagrama de estado 2120 inclui definir o indicador de sinal-alvo 1764 da Figura 17 para indicar o segundo sinal de áudio 132, no estado 2102. O diagrama de estado 2120 inclui definir o indicador de sinal-alvo 1764 para indicar o primeiro sinal de áudio 130, no estado 2104. O analisador de variação de deslocamento interquadros 1706 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem um primeiro valor (por exemplo, zero) e que o valor de deslocamento final 116 tem um segundo valor (por exemplo, um valor negativo), transitar a partir do estado 2104 para o estado 2102. Por exemplo, o analisador de variação de deslocamento interquadros 1706 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem um primeiro valor (por exemplo, zero) e que o valor de deslocamento final 116 tem um segundo valor (por exemplo, um valor negativo), alterar o indicador de sinal-alvo 1764 da indicação do primeiro sinal de áudio 130 para a indicação do segundo sinal de áudio 132. O analisador de variação de deslocamento interquadros 1706 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem um primeiro valor (por exemplo, um valor negativo) e que o valor de deslocamento final 116 tem um segundo valor (por exemplo, zero), transitar a partir do estado 2102 para o estado 2104. Por exemplo, o analisador de variação de deslocamento interquadros 1706 pode, em resposta à determinação de que o primeiro valor de deslocamento 962 tem um primeiro valor (por exemplo, um valor negativo) e que o valor de deslocamento final 116 tem um segundo valor (por exemplo, zero), alterar o indicador de sinal-alvo 1764 da indicação do segundo sinal de áudio 132 para a indicação do primeiro sinal de áudio 130. O analisador de variação de deslocamento interquadros 1706 pode fornecer o indicador de sinal-alvo 1764 ao ajustador de sinal-alvo 1708. Em algumas implementações, o analisador de variação de deslocamento interquadros 1706 pode fornecer um sinal-alvo (por exemplo, o primeiro sinal de áudio 130 ou o segundo sinal de áudio 132) indicado pelo indicador de sinal-alvo 1764 para o ajustador de sinal-alvo 1708 para suavização e deslocamento lento. O sinal-alvo pode corresponder ao sinal-alvo 1742 da Figura 17.
[0275] Com referência à Figura 22, um fluxograma que ilustra um método particular de operação é mostrado e geralmente designado 2200. O método 2200 pode ser realizado pelo equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1 ou uma combinação dos mesmos.
[0276] O método 2200 inclui receber, em um dispositivo, dois canais de áudio, em 2202. Por exemplo, uma primeira interface de entrada dentre as interfaces de entrada 112 da Figura 1 pode receber o primeiro sinal de áudio 130 (por exemplo, um primeiro canal de áudio) e uma segunda interface de entrada dentre as interfaces de entrada 112 pode receber o segundo sinal de áudio 132 (por exemplo, um segundo canal de áudio).
[0277] O método 2200 também inclui determinar, no dispositivo, um valor de incompatibilidade indicativo de uma quantidade de incompatibilidade temporal entre os dois canais de áudio, em 2204. Por exemplo, o equalizador temporal 108 da Figura 1 pode determinar o valor de deslocamento final 116 (por exemplo, um valor de incompatibilidade) indicativo de uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132, como descrito em relação à Figura 1. Como outro exemplo, o equalizador temporal 108 pode determinar o valor de deslocamento final 116 (por exemplo, um valor de incompatibilidade) indicativo de uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132, o segundo valor de deslocamento final 1416 (por exemplo, um valor de incompatibilidade) indicativo de uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o terceiro sinal de áudio 1430, o terceiro valor de deslocamento final 1418 (por exemplo, um valor de incompatibilidade) indicativo de uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o quarto sinal de áudio 1432, ou uma combinação dos mesmos, como descrito em relação à Figura 14. Como um exemplo adicional, o equalizador temporal 108 pode determinar o valor de deslocamento final 116 (por exemplo, um valor de incompatibilidade) indicativo de uma quantidade de incompatibilidade temporal entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132, o segundo valor de deslocamento final 1516 (por exemplo, um valor de incompatibilidade) indicativo de uma incompatibilidade temporal entre o terceiro sinal de áudio 1430 e o quarto sinal de áudio 1432 ou ambos como descrito com referência à Figura 15.
[0278] O método 2200 inclui adicionalmente determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência, em 2206. Por exemplo, o equalizador temporal 108 da Figura 1 pode determinar, com base no valor de deslocamento final 116, pelo menos um dentre o sinal-alvo 1742 (por exemplo, um canal-alvo) ou o sinal de referência 1740 (por exemplo, um canal de referência), como descrito com referência à Figura 17. O sinal-alvo 1742 pode corresponder a um canal de áudio latente dentre os dois canais de áudio (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132). O sinal de referência 1740 pode corresponder a um canal de áudio de avanço dentre os dois canais de áudio (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132).
[0279] O método 2200 também inclui gerar, no dispositivo, um canal-alvo modificado ajustando-se o canal- alvo com base no valor de incompatibilidade, em 2208. Por exemplo, o equalizador temporal 108 da Figura 1 pode gerar o sinal-alvo ajustado 1752 (por exemplo, um canal-alvo modificado) ajustando-se o sinal-alvo 1742 com base no valor de deslocamento final 116, como descrito com referência à Figura 17.
[0280] O método 2200 também inclui gerar, no dispositivo, pelo menos um sinal codificado com base no canal de referência e no canal-alvo modificado, em 2210. Por exemplo, o equalizador temporal 108 da Figura 1 pode gerar os sinais codificados 102 com base no sinal de referência 1740 (por exemplo, um canal de referência) e no sinal-alvo ajustado 1752 (por exemplo, o canal-alvo modificado), como descrito com referência à Figura 17.
[0281] Como outro exemplo, o equalizador temporal 108 pode gerar o primeiro quadro de sinal codificado 1454 com base nas amostras 326 a 332 do primeiro sinal de áudio 130 (por exemplo, o canal de referência), nas amostras 358 a 364 do segundo sinal de áudio 132 (por exemplo, um canal-alvo modificado), nas terceiras amostras do terceiro sinal de áudio 1430 (por exemplo, um canal-alvo modificado), nas quartas amostras do quarto sinal de áudio 1432 (por exemplo, um canal-alvo modificado), ou uma combinação das mesmas, como descrito com referência à Figura 14. As amostras 358 a 364, as terceiras amostras, e as quartas amostras podem ser deslocadas em relação às amostras 326 a 332 por uma quantidade que é baseada no valor de deslocamento final 116, no segundo valor de deslocamento final 1416 e no terceiro valor de deslocamento final 1418, respectivamente. O equalizador temporal 108 pode gerar o segundo quadro de sinal codificado 566 com base nas amostras 326 a 332 (do canal de referência) e nas amostras 358 a 364 (de um canal-alvo modificado), como descrito com referência às Figuras 5 e 14. O equalizador temporal 108 pode gerar o terceiro quadro de sinal codificado 1466 com base nas amostras 326 a 332 (do canal de referência) e nas terceiras amostras (de um canal-alvo modificado). O equalizador temporal 108 pode gerar o quarto quadro de sinal codificado 1468 com base nas amostras 326 a 332 (do canal de referência) e nas quartas amostras (de um canal-alvo modificado).
[0282] Como um exemplo adicional, o equalizador temporal 108 pode gerar o primeiro quadro de sinal codificado 564 e o segundo quadro de sinal codificado 566 com base nas amostras 326 a 332 (do canal de referência) e nas amostras 358 a 364 (de um canal-alvo modificado), como descrito com referência às Figuras 5 e 15. O equalizador temporal 108 pode gerar o terceiro quadro de sinal codificado 1564 e o quarto quadro de sinal codificado 1566 com base nas terceiras amostras do terceiro sinal de áudio 1430 (por exemplo, um canal de referência) e nas quartas amostras do quarto sinal de áudio 1432 (por exemplo, um canal-alvo modificado), como descrito com referência à Figura 15. As quartas amostras podem ser deslocadas em relação às terceiras amostras com base no segundo valor de deslocamento final 1516, como descrito com referência à Figura 15.
[0283] O método 2200, portanto, pode possibilitar a geração de sinais codificados com base em um canal de referência e um canal-alvo modificado. O canal- alvo modificado pode ser gerado ajustando-se um canal-alvo com base em um valor de incompatibilidade. Uma diferença entre o canal-alvo modificado e o canal de referência pode ser inferior a uma diferença entre o canal-alvo e o canal de referência. A diferença reduzida pode aprimorar a eficácia de codificação de canal unido.
[0284] Com referência à Figura 23, um diagrama de blocos de um exemplo ilustrativo particular de um dispositivo (por exemplo, um dispositivo de comunicação sem fio) é representado e geralmente designado 2300. Em vários aspectos, o dispositivo 2300 pode ter menos ou mais componentes do que é ilustrado na Figura 23. Em um aspecto ilustrativo, o dispositivo 2300 pode corresponder ao primeiro dispositivo 104 ou ao segundo dispositivo 106 da Figura 1. Em um aspecto ilustrativo, o dispositivo 2300 pode realizar uma ou mais operações descritas com referência aos sistemas e métodos das Figuras 1 a 22;
[0285] Em um aspecto particular, o dispositivo 2300 inclui um processador 2306 (por exemplo, uma unidade de processamento central (CPU)). O dispositivo 2300 pode incluir um ou mais processadores adicionais 2310 (por exemplo, um ou mais processadores de sinal digital (DSPs)). Os processadores 2310 podem incluir um codificador- decodificador (CODEC) de mídia (por exemplo, fala e música) 2308, e um cancelador de eco 2312. O CODEC de mídia 2308 pode incluir o decodificador 118, o codificador 114 ou ambos da Figura 1. O codificador 114 pode incluir o equalizador temporal 108.
[0286] O dispositivo 2300 pode incluir uma memória 153 e uma CODEC 2334. Embora o CODEC de mídia 2308 seja ilustrado como um componente dos processadores 2310 (por exemplo, conjunto de circuitos dedicado e/ou código de programação executável), em outros aspectos, um ou mais componentes do CODEC de mídia 2308, como o decodificador 118, o codificador 114 ou ambos podem ser incluídos no processador 2306, no CODEC 2334, em outro componente de processamento, ou uma combinação dos mesmos.
[0287] O dispositivo 2300 pode incluir o transmissor 110 acoplado a uma antena 2342. O dispositivo 2300 pode incluir um visor 2328 acoplado a um controlador de exibição 2326. Um ou mais alto-falantes 2348 podem ser acoplados ao CODEC 2334. Um ou mais microfones 2346 podem ser acoplados, por meio da interface (ou interfaces) de entrada 112, ao CODEC 2334. Em um aspecto particular, os alto-falantes 2348 podem incluir o primeiro alto-falante 142, o segundo alto-falante 144 da Figura 1, o Y° alto- falante 244 da Figura 2 ou uma combinação dos mesmos. Em um aspecto particular, os microfones 2346 podem incluir o primeiro microfone 146, o segundo microfone 148 da Figura 1, o N° microfone 248 da Figura 2, o terceiro microfone 1146, o quarto microfone 1148 da Figura 11 ou uma combinação dos mesmos. O CODEC 2334 pode incluir um conversor de digital para analógico (DAC) 2302 e um conversor de analógico para digital (ADC) 2304.
[0288] A memória 153 pode incluir instruções 2360 executáveis pelo processador 2306, pelos processadores 2310, pelo CODEC 2334, por outra unidade de processamento do dispositivo 2300 ou por uma combinação dos mesmos, para realizar uma ou mais operações descritas com referência às Figuras 1 a 22; A memória 153 pode armazenar os dados de análise 190.
[0289] Um ou mais componentes do dispositivo 2300 podem ser implementados por meio de hardware dedicado (por exemplo, conjunto de circuitos), por um processador que executa instruções para realizar uma ou mais tarefas, ou uma combinação dos mesmos. Como um exemplo, a memória 153 ou um ou mais componentes do processador 2306, dos processadores 2310 e/ou do CODEC 2334 podem ser um dispositivo de memória (por exemplo, um dispositivo de armazenamento legível por computador), como uma memória de acesso aleatório (RAM), memória de acesso aleatório magnetorresistiva (MRAM), MRAM de transferência de torque de giro (STT-MRAM), memória flash, memória somente de leitura (ROM), memória somente de leitura programável (PROM), memória somente de leitura programável passível de ser apagada (EPROM), memória somente de leitura programável passível de ser apagada eletricamente (EEPROM), registros, disco rígido, um disco removível ou uma memória somente de leitura de disco compacto (CD-ROM). O dispositivo de memória pode incluir (por exemplo, armazenar) instruções (por exemplo, as instruções 2360) que, quando executadas por um computador (por exemplo, um processador no CODEC 2334, o processador 2306 e/ou os processadores 2310), podem fazer com que o computador realize uma ou mais operações descritas com referência às Figuras 1 a 22; Como um exemplo, a memória 153 ou os um ou mais componentes do processador 2306, dos processadores 2310 e/ou do CODEC 2334 podem ser um meio legível por computador não transitório que inclui instruções (por exemplo, as instruções 2360) que, quando executadas por um computador (por exemplo, um processador no CODEC 2334, o processador 2306 e/ou os processadores 2310), fazem com que o computador realize uma ou mais operações descritas com referência às Figuras 1 a 22;
[0290] Em um aspecto particular, o dispositivo 2300 pode ser incluído em um dispositivo de sistema em pacote ou de sistema em chip (por exemplo, um modem de estação móvel (MSM)) 2322. Em um aspecto particular, o processador 2306, os processadores 2310, o controlador de exibição 2326, a memória 153, o CODEC 2334 e o transmissor 110 são incluídos em um dispositivo de sistema em pacote ou de sistema em chip 2322. Em um aspecto particular, um dispositivo de entrada 2330, como uma tela sensível ao toque e/ou teclado e uma fonte de alimentação 2344 são acoplados ao dispositivo de sistema em chip 2322. Ademais, em um aspecto particular, como ilustrado na Figura 23, o visor 2328, o dispositivo de entrada 2330, os alto-falantes 2348, os microfones 2346, a antena 2342 e a fonte de alimentação 2344 são externos ao dispositivo de sistema em chip 2322. Entretanto, cada um dentre o visor 2328, o dispositivo de entrada 2330, os alto-falantes 2348, os microfones 2346, a antena 2342 e a fonte de alimentação 2344 pode ser acoplado a um componente do dispositivo de sistema em chip 2322, como uma interface ou um controlador.
[0291] O dispositivo 2300 pode incluir um telefone sem fio, um dispositivo de comunicação móvel, um dispositivo móvel, um telefone móvel, um telefone inteligente, um telefone celular, um computador tipo laptop, um computador de mesa, um computador, um computador tipo tablet, um decodificador de sinais, um assistente pessoal digital (PDA), um dispositivo de exibição, uma televisão, um console de jogo, um reprodutor de música, um rádio, um reprodutor de vídeo, uma unidade de entretenimento, um dispositivo de comunicação, uma unidade de dados de localização fixa, um reprodutor de mídia pessoal, a digital reprodutor de vídeo, um reprodutor de disco de vídeo digital (DVD), um afinador, uma câmera, um dispositivo de navegação, um sistema de decodificador, um sistema de codificador, ou qualquer combinação dos mesmos.
[0292] Em um aspecto particular, um ou mais componentes dos sistemas descritos com referência às Figuras 1 a 22 e o dispositivo 2300 podem ser integrados a um sistema ou aparelho de decodificação (por exemplo, um dispositivo eletrônico, um CODEC, ou um processador nos mesmos), em um sistema ou aparelho de codificação ou ambos. Em outros aspectos, um ou mais componentes dos sistemas descritos com referência às Figuras 1 a 22 e o dispositivo 2300 podem ser integrados em um telefone sem fio, um computador tipo tablet, um computador de mesa, um computador tipo laptop, um decodificador de sinais, um reprodutor de música, um reprodutor de vídeo, uma unidade de entretenimento, uma televisão, um console de jogo, um dispositivo de navegação, um dispositivo de comunicação, um assistente pessoal digital (PDA), uma unidade de dados de localização fixa, um reprodutor de mídia pessoal, ou outro tipo de dispositivo.
[0293] Deve-se observar que várias funções realizadas pelos um ou mais componentes dos sistemas descritos com referência às Figuras 1 a 22 e o dispositivo 2300 são descritos como realizados por certos componentes ou módulos. Essa divisão de componentes e módulos é apenas para ilustração. Em um aspecto alternativo, uma função realizada por um componente ou módulo particular pode ser dividida entre múltiplos componentes ou módulos. Ademais, em um aspecto alternativo, dois ou mais componentes ou módulos descritos com referência às Figuras 1 a 22 podem ser integrados em um único componente ou módulo. Cada componente ou módulo descrito com referência às Figuras 1 a 22 pode ser implementado com o uso de hardware (por exemplo, um dispositivo de arranjo de porta programável em campo (FPGA), um circuito integrado de aplicação específica (ASIC), um DSP, um controlador, etc.), software (por exemplo, instruções executáveis por um processador) ou qualquer combinação dos mesmos.
[0294] Em conjunto com os aspectos descritos, um aparelho inclui meios para determinação de um valor de incompatibilidade indicativo de uma quantidade de incompatibilidade temporal entre dois canais de áudio. Por exemplo, os meios para determinação podem incluir o equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1, o CODEC de mídia 2308, os processadores 2310, o dispositivo 2300, um ou mais dispositivos configurados para determinar um valor de incompatibilidade (por exemplo, um processador que executa instruções que são armazenadas em um dispositivo de armazenamento legível por computador), ou uma combinação dos mesmos. Um canal de áudio de avanço dentre os dois canais de áudio (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132 da Figura 1) pode corresponder a um canal de referência (por exemplo, o sinal de referência 1740 da Figura 17). Um canal de áudio latente dentre os dois canais de áudio (por exemplo, o primeiro sinal de áudio 130 e o segundo sinal de áudio 132) pode corresponder a um canal-alvo (por exemplo, o sinal-alvo 1742 da Figura 17).
[0295] O aparelho também inclui meios para gerar pelo menos um canal codificado que é gerado com base no canal de referência e um canal-alvo modificado. Por exemplo, os meios para geração podem incluir o transmissor 110, um ou mais dispositivos configurado para gerar pelo menos um sinal codificado, ou uma combinação dos mesmos. O canal-alvo modificado (por exemplo, o sinal-alvo ajustado 1752 da Figura 17) pode ser gerado ajustando-se (por exemplo, deslocando-se) o canal-alvo com base no valor de incompatibilidade (por exemplo, o valor de deslocamento final 116 da Figura 1).
[0296] Também em conjunto com os aspectos descritos, um aparelho inclui meios para determinar um valor de deslocamento final indicativo de um deslocamento de um primeiro sinal de áudio em relação a um segundo sinal de áudio. Por exemplo, os meios para determinação podem incluir o equalizador temporal 108, o codificador 114, o primeiro dispositivo 104 da Figura 1, o CODEC de mídia 2308, os processadores 2310, o dispositivo 2300, um ou mais dispositivos configurados para determinar um valor de deslocamento (por exemplo, um processador que executa instruções que são armazenadas em um dispositivo de armazenamento legível por computador), ou uma combinação dos mesmos.
[0297] O aparelho também inclui meios para transmitir pelo menos um sinal codificado que é gerado com base em primeiras amostras do primeiro sinal de áudio e segundas amostras do segundo sinal de áudio. Por exemplo, os meios para transmissão podem incluir o transmissor 110, um ou mais dispositivos configurados para transmitir pelo menos um sinal codificado, ou uma combinação dos mesmos. As segundas amostras (por exemplo, as amostras 358 a 364 da Figura 3) podem ser deslocadas no tempo em relação às primeiras amostras (por exemplo, as amostras 326 a 332 da Figura 3) por uma quantidade que é baseada no valor de deslocamento final (por exemplo, o valor de deslocamento final 116).
[0298] Com referência à Figura 24, é representado um diagrama de blocos de um exemplo ilustrativo particular de uma estação-base 2400. Em várias implementações, a estação-base 2400 pode ter mais componentes ou menos componentes do que é ilustrado na Figura 24. Em um exemplo ilustrativo, a estação-base 2400 pode incluir o primeiro dispositivo 104, o segundo dispositivo 106 da Figura 1, o primeiro dispositivo 204 da Figura 2 ou uma combinação dos mesmos. Em um exemplo ilustrativo, a estação-base 2400 pode operar de acordo com um ou mais dentre os métodos ou sistemas descritos com referência às Figuras 1 a 23;
[0299] A estação-base 2400 pode ser parte de um sistema de comunicação sem fio. O sistema de comunicação sem fio pode incluir múltiplas estações-base e múltiplos dispositivos sem fio. O sistema de comunicação sem fio pode ser um sistema de Evolução de Longo Prazo (LTE), um sistema de Acesso Múltiplo por Divisão de Código (CDMA), um sistema tipo Sistema Global para Comunicações Móveis (GSM), um sistema de rede de área local sem fio (WLAN) ou algum outro sistema sem fio. Um sistema de CDMA pode implementar CDMA de Banda Larga (WCDMA), CDMA IX, Dados de Evolução Otimizados (EVDO), CDMA Síncrono por Divisão de Tempo (TD- SCDMA), ou alguma outra versão de CDMA.
[0300] Os dispositivos sem fio também podem ser chamados de equipamento de usuário (UE), uma estação móvel, um terminal, um terminal de acesso, uma unidade de assinante, uma estação, etc. Os dispositivos sem fio podem incluir um telefone celular, um telefone inteligente, um computador tipo tablet, um modem sem fio, um assistente pessoal digital (PDA), um dispositivo portátil, um computador tipo laptop, um livro inteligente, um computador tipo netbook, um computador tipo tablet, um telefone sem cordão, uma estão de circuito local sem fio (WLL), um dispositivo de Bluetooth, etc. Os dispositivos sem fio podem incluir ou corresponder ao dispositivo 2300 da Figura 23.
[0301] Várias funções podem ser realizadas por um ou mais componentes da estação-base 2400 (e/ou em outros componentes não mostrados), como o envio e o recebimento de mensagens e dados (por exemplo, dados de áudio). Em um exemplo particular, a estação-base 2400 inclui um processador 2406 (por exemplo, um CPU). A estação-base 2400 pode incluir um transcodificador 2410. O transcodificador 2410 pode incluir um CODEC de áudio 2408. Por exemplo, o transcodificador 2410 pode incluir um ou mais componentes (por exemplo, conjunto de circuitos) configurados para realizar operações do CODEC de áudio 2408. Como outro exemplo, o transcodificador 2410 pode ser configurado para executar uma ou mais instruções legíveis por computador para realizar as operações do CODEC de áudio 2408. Embora o CODEC de áudio 2408 seja ilustrado como um componente do transcodificador 2410, em outros exemplos, um ou mais componentes do CODEC de áudio 2408 podem ser incluídos no processador 2406, outro componente de processamento ou uma combinação dos mesmos. Por exemplo, um decodificador 2438 (por exemplo, um decodificador tipo vocoder) pode ser incluído em um processador de dados de receptor 2464. Como outro exemplo, um codificador 2436 (por exemplo, um codificador tipo vocoder) pode ser incluído e um processador de dados de transmissão 2482.
[0302] O transcodificador 2410 pode funcionar para transcodificar mensagens e dados entre duas ou mais redes. O transcodificador 2410 pode ser configurado para converter mensagem e dados de áudio a partir de um primeiro formato (por exemplo, um formato digital) para um segundo formato. Para ilustrar, o decodificador 2438 pode decodificar sinais codificados que têm um primeiro formato e o codificador 2436 pode codificar os sinais decodificados em sinais codificados que têm um segundo formato. Adicional ou alternativamente, o transcodificador 2410 pode ser configurado para realizar a adaptação de taxa de dados. Por exemplo, o transcodificador 2410 pode converter de modo descendente uma taxa de dados ou converter de modo ascendente a taxa de dados sem alterar um formato dos dados de áudio. Para ilustrar, o transcodificador 2410 pode converter de modo descendente sinais de 64 kbits/s em sinais de 16 kbits/s.
[0303] O CODEC de áudio 2408 pode incluir o codificador 2436 e o decodificador 2438. O codificador 2436 pode incluir o codificador 114 da Figura 1, o codificador 214 da Figura 2 ou ambos. O decodificador 2438 pode incluir o decodificador 118 da Figura 1.
[0304] A estação-base 2400 pode incluir uma memória 2432. A memória 2432, como um dispositivo de armazenamento legível por computador, pode incluir instruções. As instruções podem incluir uma ou mais instruções que são executáveis pelo processador 2406, pelo transcodificador 2410, ou uma combinação dos mesmos, para realizar uma ou mais operações descritas com referência aos métodos e sistemas das Figuras 1 a 23; A estação-base 2400 pode incluir múltiplos transmissores e receptores (por exemplo, transceptores), como um primeiro transceptor 2452 e um segundo transceptor 2454, acoplados a um arranjo de antenas. O arranjo de antenas pode incluir uma primeira antena 2442 e uma segunda antena 2444. O arranjo de antenas pode ser configurado para se comunicar sem fio com um ou mais dispositivos sem fio, como o dispositivo 2300 da Figura 23. Por exemplo, a segunda antena 2444 pode receber um fluxo de dados 2414 (por exemplo, um fluxo de bits) a partir do dispositivo sem fio. O fluxo de dados 2414 pode incluir mensagens, dados (por exemplo, dados de fala codificados) ou uma combinação dos mesmos.
[0305] A estação-base 2400 pode incluir uma conexão de rede 2460, como conexão de tráfego de retorno. A conexão de rede 2460 pode ser configurada para se comunicar com uma rede principal ou uma ou mais estações-base da rede de comunicação sem fio. Por exemplo, a estação-base 2400 pode receber um segundo fluxo de dados (por exemplo, mensagens ou dados de áudio) a partir de uma rede principal por meio da conexão de rede 2460. A estação-base 2400 pode processar o segundo fluxo de dados para gerar mensagens ou dados de áudio e fornecer as mensagens ou os dados de áudio para um ou mais dispositivos sem fio por meio de uma ou mais antenas do arranjo de antenas ou para outra estação- base por meio da conexão de rede 2460. Em uma implementação particular, a conexão de rede 2460 pode ser uma conexão de rede de área ampla (WAN), como um exemplo não limitante ilustrativo. Em algumas implementações, a rede principal pode incluir ou corresponder a uma Rede de Telefone Comutada Pública (PSTN), uma rede principal de pacote ou ambas.
[0306] A estação-base 2400 pode incluir uma porta de comunicação de mídia 2470 que é acoplada à conexão de rede 2460 e ao processador 2406. A porta de comunicação de mídia 2470 pode ser configurada para converter entre fluxos de mídia de diferentes tecnologias de telecomunicações. Por exemplo, a porta de comunicação de mídia 2470 pode converter entre diferentes protocolos de transmissão, diferentes esquemas de codificação ou ambos. Para ilustrar, a porta de comunicação de mídia 2470 pode converter de sinais de PCM para sinais de Protocolo de Transporte em Tempo Real (RTP) como um exemplo não limitante ilustrativo. A porta de comunicação de mídia 2470 pode converter dados entre reder comutadas por pacote (por exemplo, uma rede de Voz Sobre Protocolo de Internet (VoIP), um Subsistema de Multimídia de IP (IMS), uma rede sem fio da quarta geração (4G), como LTE, WiMax e UMB, etc.), redes comutadas por circuito (por exemplo, uma PSTN) e redes híbridas (por exemplo, uma rede sem fio da segunda geração (2G), como GSM, GPRS e EDGE, uma rede sem fio da terceira geração (3G), como WCDMA, EV-DO e HSPA, etc.).
[0307] Adicionalmente, a porta de comunicação de mídia 2470 pode incluir um transcodificador, como o transcodificador 610 e pode ser configurada para transcodificar dados quando os codecs são incompatíveis. Por exemplo, a porta de comunicação de mídia 2470 pode transcodificar entre um codec de Múltiplas Taxas Adaptativas (AMR) e um codec G.711, como um exemplo não limitante ilustrativo. A porta de comunicação de mídia 2470 pode incluir um roteador e uma pluralidade de interfaces físicas. Em algumas implementações, a porta de comunicação de mídia 2470 também pode incluir um controlador (não mostrado). Em uma implementação particular, o controlador de porta de comunicação de mídia pode ser externo à porta de comunicação de mídia 2470, externo à estação-base 2400 ou ambos. O controlador de porta de comunicação de mídia pode controlar e coordenar as operações de múltiplas portas de comunicação de mídia. A porta de comunicação de mídia 2470 pode receber sinais de controle a partir do controlador de porta de comunicação de mídia e pode funcionar para fazer uma ponte entre diferentes tecnologias de transmissão e pode adicionar serviço às capacidades e conexões do usuário final.
[0308] A estação-base 2400 pode incluir um demodulador 2462 que é acoplado aos transceptores 2452, 2454, ao processador de dados de receptor 2464 e ao processador 2406, e o processador de dados de receptor 2464 pode ser acoplado ao processador 2406. O demodulador 2462 pode ser configurado para demodular sinais modulados recebidos a partir dos transceptores 2452, 2454 e para fornecer dados demodulados para o processador de dados de receptor 2464. O processador de dados de receptor 2464 pode ser configurado para extrair uma mensagem ou dados de áudio a partir dos dados demodulados e enviar a mensagem ou os dados de áudio para o processador 2406.
[0309] A estação-base 2400 pode incluir um processador de dados de transmissão 2482 e um processador de múltiplas entradas e múltiplas saídas (MIMO) de transmissão 2484. O processador de dados de transmissão 2482 pode ser acoplado ao processador 2406 e ao processador de MIMO de transmissão 2484. O processador de MIMO de transmissão 2484 pode ser acoplado aos transceptores 2452, 2454 e ao processador 2406. Em algumas implementações, o processador de MIMO de transmissão 2484 pode ser acoplado à porta de comunicação de mídia 2470. O processador de dados de transmissão 2482 pode ser configurado para receber as mensagens ou os dados de áudio a partir do processador 2406 e para codificar as mensagens ou os dados de áudio com base em um esquema de codificação, como CDMA ou multiplexação por divisão de frequência ortogonal (OFDM), como exemplos não limitantes ilustrativos. O processador de dados de transmissão 2482 pode fornecer os dados codificados ao processador de MIMO de transmissão 2484.
[0310] Os dados codificados podem ser multiplexados com outros dados, como dados-piloto, com o uso de técnicas de CDMA ou de OFDM para gerar dados multiplexados. Os dados multiplexados podem, então, ser modulados (isto é, mapeados por símbolo) pelo processador de dados de transmissão 2482 com base em um esquema de modulação particular (por exemplo, chaveamento de deslocamento de fase binário ("BPSK"), chaveamento de deslocamento de fase de quadratura ("QSPK"), chaveamento de deslocamento de fase M-ário ("M-PSK"), modulação de amplitude de quadratura M-ária ("M-QAM"), etc.) para gerar símbolos de modulação. Em uma implementação particular, os dados codificados e outros dados podem ser modulados com o uso de diferentes esquemas de modulação. A taxa de dados, a codificação e a modulação para cada fluxo de dados pode ser determinada por instruções executadas pelo processador 2406.
[0311] O processador de MIMO de transmissão 2484 pode ser configurado para receber os símbolos de modulação a partir do processador de dados de transmissão 2482 e pode processar adicionalmente os símbolos de modulação e pode realizar a formação de feixe nos dados. Por exemplo, o processador de MIMO de transmissão 2484 pode aplicar ponderações de formação de feixe nos símbolos de modulação. As ponderações de formação de feixe podem corresponder a uma ou mais antenas do arranjo de antenas a partir do qual os símbolos de modulação são transmitidos.
[0312] Durante a operação, a segunda antena 2444 da estação-base 2400 pode receber um fluxo de dados 2414. O segundo transceptor 2454 pode receber o fluxo de dados 2414 a partir da segunda antena 2444 e pode fornecer o fluxo de dados 2414 ao demodulador 2462. O demodulador 2462 pode demodular sinais modulados do fluxo de dados 2414 e fornecer dados demodulados ao processador de dados de receptor 2464. O processador de dados de receptor 2464 pode extrair dados de áudio a partir dos dados demodulados e fornecer os dados de áudio extraídos para o processador 2406.
[0313] O processador 2406 pode fornecer os dados de áudio par ao transcodificador 2410 para a transcodificação. O decodificador 2438 do transcodificador 2410 pode decodificar os dados de áudio a partir de um primeiro formato em dados de áudio decodificados e o codificador 2436 pode codificar os dados de áudio decodificados em um segundo formato. Em algumas implementações, o codificador 2436 pode codificar os dados de áudio com o uso de uma taxa de dados superior (por exemplo, conversão ascendente) ou uma taxa de dados inferior (por exemplo, conversão descendente) à recebida pelo dispositivo sem fio. Em outras implementações, os dados de áudio podem não ser transcodificados. Embora a transcodificação (por exemplo, decodificação e codificação) seja ilustrada como sendo realizada por um transcodificador 2410, as operações de transcodificação (por exemplo, decodificação e codificação) pode ser realizada por múltiplos componentes da estação-base 2400. Por exemplo, a decodificação pode ser realizada pelo processador de dados de receptor 2464 e a codificação pode ser realizada pelo processador de dados de transmissão 2482. Em outras implementações, o processador 2406 pode fornecer os dados de áudio para a porta de comunicação de mídia 2470 para a conversão para outro protocolo de transmissão, esquema de codificação ou ambos. A porta de comunicação de mídia 2470 pode fornecer os dados convertidos para outra estação-base ou rede principal por meio da conexão de rede 2460.
[0314] O codificador 2436 pode determinar o valor de deslocamento final 116 indicativo de um atraso no tempo entre o primeiro sinal de áudio 130 e o segundo sinal de áudio 132. O codificador 2436 pode gerar os sinais codificados 102, o parâmetro de ganho 160 ou ambos através da codificação do primeiro sinal de áudio 130 e do segundo sinal de áudio 132 com base no valor de deslocamento final 116. O codificador 2436 pode gerar o indicador de sinal de referência 164 e o valor de deslocamento não causal 162 com base no valor de deslocamento final 116. O decodificador 118 pode gerar o primeiro sinal de saída 126 e o segundo sinal de saída 128 através da decodificação de sinais codificados com base no indicador de sinal de referência 164, no valor de deslocamento não causal 162, no parâmetro de ganho 160, ou uma combinação dos mesmos. Os dados de áudio codificados gerados no codificador 2436, como os dados transcodificados, podem ser fornecidos ao processador de dados de transmissão 2482 ou à conexão de rede 2460 por meio do processador 2406.
[0315] Os dados transcodificados de áudio do transcodificador 2410 podem ser fornecidos ao processador de dados de transmissão 2482 para a codificação de acordo com um esquema de modulação, como OFDM, para gerar os símbolos de modulação. O processador de dados de transmissão 2482 pode fornecer os símbolos de modulação ao processador de MIMO de transmissão 2484 para processamento adicional e formação de feixe. O processador de MIMO de transmissão 2484 pode aplicar ponderações de formação de feixe e pode fornecer os símbolos de modulação às uma ou mais antenas do arranjo de antenas, como à primeira antena 2442 por meio do primeiro transceptor 2452. Dessa forma, a estação-base 2400 pode fornecer um fluxo de dados transcodificado 2416 que corresponde ao fluxo de dados 2414 recebido a partir do dispositivo sem fio para outro dispositivo sem fio. O fluxo de dados transcodificado 2416 pode ter um formato de codificação, uma taxa de dados ou ambos diferentes do fluxo de dados 2414. Em outras implementações, o fluxo de dados transcodificado 2416 pode ser fornecido à conexão de rede 2460 para a transmissão para outra estação-base ou uma rede principal.
[0316] A estação-base 2400 pode, portanto, incluir um dispositivo de armazenamento legível por computador (por exemplo, a memória 2432) que armazena instruções que, quando executadas por um processador (por exemplo, o processador 2406 ou o transcodificador 2410), fazem com que o processador realize operações que incluem determinar um valor de deslocamento indicativo de uma quantidade de atraso de tempo entre um primeiro sinal de áudio e um segundo sinal de áudio. O primeiro sinal de áudio é recebido por meio de um primeiro microfone e o segundo sinal de áudio é recebido por meio de um segundo microfone. As operações também incluem gerar um segundo sinal de áudio deslocado no tempo através do deslocamento o segundo sinal de áudio com base no valor de deslocamento. As operações incluem adicionalmente gerar pelo menos um sinal codificado com base em primeiras amostras do primeiro sinal de áudio e segundas amostras do segundo sinal de áudio deslocado no tempo. As operações também incluem enviar o pelo menos um sinal codificado para um dispositivo.
[0317] Os elementos versados irão observar, adicionalmente, que os vários blocos lógicos, configurações, módulos, circuitos e etapas de algoritmo ilustrativos descritos em relação aos aspectos revelados no presente documento podem ser implementados como hardware eletrônico, software de computador executado por um dispositivo de processamento como um processador de hardware ou combinações de ambos. Vários componentes, blocos, configurações, módulos, circuitos e etapas ilustrativos foram descritos acima, em geral, em termos de sua funcionalidade. A possibilidade de tal funcionalidade ser implementada como hardware ou como software executável depende da aplicação particular e das restrições de projeto impostas sobre o sistema geral. Os técnicos versados podem implementar a funcionalidade descrita de formas variáveis para cada aplicação particular, porém, tais decisões de implementação não devem ser interpretadas de modo a causar um afastamento do escopo da presente revelação.
[0318] As etapas de um método ou algoritmo descritas em relação aos aspectos revelados no presente documento podem ser incorporados diretamente em hardware, em um módulo de software executado por um processador ou em uma combinação dos dois. Um módulo de software pode estar situado em um dispositivo de memória, como memória de acesso aleatório (RAM), memória de acesso aleatório magnetorresistiva (MRAM), MRAM de transferência de torque de giro (STT- MRAM), memória flash, memória somente de leitura (ROM), memória somente de leitura programável (PROM), memória somente de leitura programável passível de ser apagada (EPROM), memória somente de leitura programável passível de ser apagada eletricamente (EEPROM), registros, disco rígido, um disco removível ou uma memória somente de leitura de disco compacto (CD-ROM). Um dispositivo de memória exemplificativo é acoplado ao processador de modo que o processador possa ler informação a partir de, e gravar informação no dispositivo de memória. Alternativamente, o dispositivo de memória pode ser integral ao processador. O processador e o meio de armazenamento podem estar situados em um circuito integrado de aplicação específica (ASIC). O ASIC pode estar situado em um dispositivo de computação ou um terminal de usuário. Alternativamente, o processador e o meio de armazenamento podem estar situados como componentes distintos em um dispositivo de computação ou um terminal de usuário.
[0319] A descrição supracitada dos aspectos revelados é fornecida para possibilitar que uma pessoa versada na técnica produza ou use os aspectos revelados. Várias modificações em tais aspectos serão prontamente evidentes àqueles versados na técnica, e os princípios definidos no presente documento podem ser aplicados a outros aspectos sem que se afaste do escopo da revelação. Dessa forma, a presente revelação não é destinada a ser limitada aos aspectos mostrados no presente documento, mas deve ser atribuída ao escopo mais amplo possível consistente com os princípios e recursos inovadores como definido pelas reivindicações a seguir.

Claims (14)

1. Dispositivo compreendendo: um codificador (114, 214) configurado para: receber dois canais de áudio (130, 132, 232); determinar valores de comparação (534) com base nos dois canais de áudio (130, 132, 232), cada um dos valores de comparação correspondendo a um deslocamento temporal, em que o deslocamento temporal do primeiro canal é diferente do deslocamento temporal do segundo canal; determinar uma tentativa de valor de incompatibilidade (536) com base na pluralidade de valores de comparação; gerar valores de comparação interpolados (816) com base nos valores de comparação; determinar um valor de incompatibilidade (538) interpolado com base nos valores de comparação interpolados; o dispositivo caracterizado pelo fato de que o codificador é adicionalmente configurado para: determinar um valor de incompatibilidade (116) indicativo de uma quantidade de uma incompatibilidade temporal entre os dois canais de áudio (130, 132, 232) com base no valor de incompatibilidade interpolado (538); determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência, em que o canal-alvo corresponde a um canal de áudio latente dentre os dois canais de áudio (130, 132, 232) e o canal de referência corresponde a um canal de áudio de avanço dentre os dois canais de áudio (130, 132, 232); em resposta à determinação de que o canal-alvo dos dois canais de áudio (130, 132, 232) é o canal de áudio latente e o canal de referência dos dois canais de áudio (130, 132, 232) é o canal de áudio de avanço: gerar um canal-alvo modificado ajustando-se o canal-alvo com base no valor de incompatibilidade; e gerar um primeiro quadro de pelo menos um canal codificado com base no canal de referência e no canal-alvo modificado; e em resposta à determinação de que o canal-alvo dos dois canais de áudio (130, 132, 232) é o canal de áudio latente e o canal de referência dos dois canais de áudio (130, 132, 232) é o canal de áudio de avanço durante um período após a geração do primeiro quadro do pelo menos um canal codificado, gerar um segundo quadro do pelo menos um canal codificado com base em um segundo valor de incompatibilidade, em que o segundo valor de incompatibilidade indica nenhum deslocamento temporal entre os dois canais de áudio (130, 132, 232).
2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelos valores de comparação interpolados serem gerados correspondendo a deslocamentos temporais entre os dois canais de áudio (130, 132, 232) próximos à tentativa de valor de incompatibilidade.
3. Dispositivo, de acordo com a reivindicação 1 ou 2, caracterizado pelo codificador ser ainda configurado para gerar um valor de incompatibilidade estimado (540) buscando em torno do valor de incompatibilidade interpolado, e em que o valor de incompatibilidade é indicativo de uma quantidade de incompatibilidade temporal entre os dois canais de áudio (130, 132, 232) com base no valor de incompatibilidade estimado.
4. Dispositivo, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo codificador ser configurado para gerar o canal-alvo modificado deslocando- se o canal-alvo com base em um valor de desvio, e em que o valor de incompatibilidade indica o valor de desvio.
5. Dispositivo, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado por compreender adicionalmente um transmissor (110) configurado para transmitir o pelo menos um canal codificado.
6. Dispositivo, de acordo com a reivindicação 5, caracterizado pelo transmissor ser adicionalmente configurado para transmitir o valor de incompatibilidade.
7. Dispositivo, de acordo com a reivindicação 5, caracterizado pelo codificador ser configurado adicionalmente para determinar um valor de incompatibilidade não causal aplicando-se uma função de valor absoluto ao valor de incompatibilidade, e em que o transmissor é configurado adicionalmente para transmitir o valor de incompatibilidade não causal.
8. Dispositivo, de acordo com qualquer uma das reivindicações 1 a 7, caracterizado por compreender adicionalmente um reamostrador configurado para: gerar um primeiro canal amostrado descendentemente amostrando-se descendentemente um primeiro canal de áudio dentre os dois canais de áudio (130, 132, 232); e gerar um segundo canal amostrado descendentemente amostrando-se descendentemente um segundo canal de áudio dentre os dois canais de áudio (130, 132, 232), em que os valores de comparação são baseados no primeiro canal amostrado descendentemente e uma pluralidade de valores de incompatibilidade aplicados ao segundo canal amostrado descendentemente.
9. Dispositivo, de acordo com a reivindicação 8, caracterizado pelos valores de comparação indicarem valores de correlação cruzada.
10. Dispositivo, de acordo com qualquer uma das reivindicações 1 a 9, caracterizado por compreender adicionalmente um analisador de alteração de deslocamento (512) configurado para: determinar um primeiro valor de incompatibilidade correspondente a um ajuste anterior de um dentre os dois canais de áudio (130, 132, 232) para gerar um primeiro quadro do pelo menos um canal codificado; e determinar um valor de incompatibilidade emendado com base em valores de comparação correspondentes aos dois canais de áudio (130, 132, 232), em que o valor de incompatibilidade é baseado em uma comparação do valor de incompatibilidade emendado e o primeiro valor de incompatibilidade.
11. Método de comunicação, compreendendo: receber, em um dispositivo, dois canais de áudio (130, 132, 232); determinar valores de comparação (534) com base nos dois canais de áudio (130, 132, 232), cada um dos valores de comparação correspondendo a um deslocamento temporal, em que o deslocamento temporal do primeiro canal é diferente do deslocamento temporal do segundo canal; determinar uma tentativa de valor de incompatibilidade (536) com base na pluralidade de valores de comparação; gerar valores de comparação interpolados (816) com base nos valores de comparação; determinar um valor de incompatibilidade interpolado (538) com base nos valores de comparação interpolados; o método caracterizado por compreender adicionalmente: determinar, no dispositivo, um valor de incompatibilidade (116) indicativo de uma quantidade de incompatibilidade temporal entre dois canais de áudio (130, 132, 232) com base no valor de incompatibilidade interpolados; determinar, com base no valor de incompatibilidade, pelo menos um dentre um canal-alvo ou um canal de referência, em que o canal-alvo corresponde a um canal de áudio latente dentre os dois canais de áudio (130, 132, 232) e o canal de referência corresponde a um canal de áudio de avanço dentre os dois canais de áudio (130, 132, 232); em resposta à determinação de que o canal-alvo dos dois canais de áudio (130, 132, 232) é o canal de áudio latente e o canal de referência dos dois canais de áudio (130, 132, 232) é o canal de áudio de avanço: gerar, no dispositivo, um canal-alvo modificado ajustando-se o canal-alvo com base no valor de incompatibilidade; e gerar, no dispositivo, pelo menos um primeiro quadro de sinal codificado com base no canal de referência e no canal-alvo modificado, em resposta à determinação de que o canal-alvo dos dois canais de áudio (130, 132, 232) é o canal de áudio latente e o canal de referência dos dois canais de áudio (130, 132, 232) é o canal de áudio de avanço durante um período após a geração do primeiro quadro do pelo menos um canal codificado, gerar um segundo quadro do pelo menos um canal codificado com base em um segundo valor de incompatibilidade, em que o segundo valor de incompatibilidade indica nenhum deslocamento temporal entre os dois canais de áudio (130, 132, 232) e é indicativo de uma quantidade particular de incompatibilidade temporal de um terceiro canal de áudio em relação ao canal de referência.
12. Método, de acordo com a reivindicação 11, caracterizado por compreender adicionalmente: gerar, no dispositivo, um terceiro canal de áudio modificado ajustando-se o terceiro canal de áudio com base no segundo valor de incompatibilidade; e gerar, no dispositivo, um segundo sinal codificado com base no canal de referência e no terceiro canal de áudio modificado.
13. Método, de acordo com a reivindicação 11, caracterizado por compreender adicionalmente: determinar, no dispositivo, um segundo valor de incompatibilidade indicativo de uma quantidade particular de incompatibilidade temporal de um terceiro canal de áudio em relação a um quarto canal de áudio; gerar, no dispositivo, um quarto canal de áudio modificado ajustando-se o quarto canal de áudio com base no segundo valor de incompatibilidade; e gerar, no dispositivo, pelo menos um segundo sinal codificado com base no terceiro canal de áudio e no quarto canal de áudio modificado.
14. Memória legível por computador, caracterizada por armazenar instruções que, quando executadas por um processador, fazem com que o processador realize o método conforme definido em qualquer uma das reivindicações 11 a 13.
BR112018010305-5A 2015-11-20 2016-09-26 Codificação de múltiplos sinais de áudio BR112018010305B1 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562258369P 2015-11-20 2015-11-20
US62/258.369 2015-11-20
US62/258,369 2015-11-20
US15/274,041 2016-09-23
US15/274,041 US10152977B2 (en) 2015-11-20 2016-09-23 Encoding of multiple audio signals
US15/274.041 2016-09-23
PCT/US2016/053799 WO2017087073A1 (en) 2015-11-20 2016-09-26 Encoding of multiple audio signals

Publications (2)

Publication Number Publication Date
BR112018010305A2 BR112018010305A2 (pt) 2018-12-04
BR112018010305B1 true BR112018010305B1 (pt) 2024-06-11

Family

ID=

Similar Documents

Publication Publication Date Title
US11094330B2 (en) Encoding of multiple audio signals
ES2821676T3 (es) Codificación de múltiples señales de audio
US10714101B2 (en) Target sample generation
US10115403B2 (en) Encoding of multiple audio signals
US10891961B2 (en) Encoding of multiple audio signals
ES2837406T3 (es) Estimación de desviación temporal
BR112019023204A2 (pt) parâmetros estéreo para decodificação estéreo
TWI778073B (zh) 用於具有時域頻道間頻寬延展之高頻帶殘值預測的音訊信號寫碼裝置、方法、包含指令的非暫時性電腦可讀媒體及設備
BR112019027202A2 (pt) predição intercanal no domínio do tempo
BR112018010305B1 (pt) Codificação de múltiplos sinais de áudio
BR112019026971B1 (pt) Predição residual de banda alta com extensão de largura de banda inter-canal no domínio do tempo