"CODIFICAÇÃO APRIMORADA E REPRESENTAÇÃO DE PARÂMETROS DE CODIFICAÇÃO DE OBJETO DE DOWNMIX MULTICANAL"
CAMPO TÉCNICO
A presente invenção refere-se à decodificação de múltiplos objetos de um sinal multi-objeto codificado com base em um downmix multicanal disponível e em dados de controle adicionais.
ANTECEDENTES DA INVENÇÃO
0 desenvolvimento recente em áudio facilita a recriação de uma representação multicanal de um sinal de áudio com base em um sinal estéreo (ou mono) e os dados de controle correspondentes. Esses métodos de codificação surround paramétrica geralmente compreendem uma parametrização. Um decodificador de áudio multicanal paramétrico, (ex. o decodif icador de MPEG Surround definido na ISO/IEC 23003-1 [1], [2]), reconstrói canais M com base em canais K transmitidos, onde M > K, através da utilização dos dados de controle adicionais. Os dados de controle consistem em uma parametrização do sinal multicanal baseada em IID (Diferença de Intensidade Entre Canais) e ICC (Coerência Entre Canais). Esses parâmetros são normalmente extraídos no estágio de codificação e descrevem taxas de potência e correlação entre pares de canais utilizados no processo de upmix. A utilização de tal esquema de codificação permite a codificação a uma taxa de dados significantemente mais baixa do que transmitir todos os canais Mf tornando a codificação bastante eficiente e, ao mesmo tempo assegurando a compatibilidade tanto com dispositivos de canal K como com dispositivos de canal M.
Um sistema de codificação bastante próximo é o codificador de objeto de áudio correspondente [3], [4] onde diversos objetos de áudio passam por downmix [processamento de áudio para redução de canais] no codificador e mais tarde por upmix [processamento de áudio para aumento de canais] guiados por dados de controle. 0 processo de upmix também pode ser visto como uma separação dos objetos que são mixados no downmix. 0 sinal resultante do processo de upmix pode ser processado em um ou mais canais de reprodução. Mais precisamente, [3,4] apresentam um método de sintetizar canais de áudio a partir de um downmix (denominado sinal de soma), informações estatísticas sobre objetos de origem, e dados que descrevam o formato de saída desejado. Caso sejam utilizados diversos sinais downmix, esses consistem em diferentes subconjuntos dos objetos, e o processo de upmix é realizado para cada canal downmix individualmente.
No novo método introduzimos um método no qual o upmix é realizado conjuntamente para todos os canais downmix. Os métodos de codificação de objetos não apresentavam anteriormente à presente invenção uma solução para decodificar conjuntamente um downmix com mais de um canal.
Referências:
[1] L. Villemoes, J. Herre, J. Breebaart, G. Hotho, S. Disch, H. Purnhagen, and K. Kjõrling, "MPEG Surround: The Forthcoming ISO Standard for Spatial Audio Coding," in 28th International AES Conference, The Future of Audio Technology Surround and Beyond, Piteá, Sweden, June 30-July 2, 2006.
[2] J. Breebaart, J. Herre, L. Villemoes, C. Jin, , K. Kjõrling, J. Plogsties, and J. Koppens, "Multi-Channels goes Mobile: MPEG Surround Binaural Rendering," in 29th International AES Conference, Audio for Mobile and Handheld Devices, Seoul, Sept 2-4, 2006.
[3] C. Faller, "Parametric Joint-Coding of Audio Sources," Convention Paper 6752 presented at the 120th AES Convention, Paris, France, May 20-23, 2006.
[4] C. Faller, "Parametric Joint-Coding of Audio Sources," Patent application PCT/EP2006/050904, 2006.
RESUMO DA INVENÇÃO
Um primeiro aspecto da invenção está relacionado a um codificador de objeto de áudio para gerar um sinal de objeto de áudio codificado utilizando uma pluralidade de objetos de áudio, envolvendo: um gerador de informações de downmix para gerar informações de downmix indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix; um gerador de parâmetros objeto para gerar parâmetros objeto para os objetos de áudio; e uma interface de saida para gerar o sinal de objeto de áudio codificado utilizando as informações de downmix e os parâmetros objeto.
Um segundo aspecto da invenção está relacionado a um método de codificação de objetos de áudio para gerar um sinal de objeto de áudio codificado utilizando uma pluralidade de objetos de áudio, envolvendo: gerar informações de downmix indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix; gerar parâmetros objeto para os objetos de áudio; e gerar o sinal de objeto de áudio codificado utilizando as informações de downmix e os parâmetros objeto.
Um terceiro aspecto da invenção está relacionado a um sintetizador de áudio para gerar dados de saida utilizando um sinal de objeto de áudio codificado, envolvendo: um sintetizador de dados de saida para gerar os dados de saida utilizáveis para criar uma pluralidade de canais de saida de uma configuração de saida de áudio pré-definida representando a pluralidade de objetos de áudio, o sintetizador de dados de saida estando operante para utilizar informações de downmix indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix, e parâmetros de objeto de áudio para os objetos de áudio.
Um quarto aspecto da invenção está relacionado a um método de sintetização de áudio gerar dados de saida utilizando um sinal de objeto de áudio codificado, envolvendo: gerar os dados de saida utilizáveis para criar uma pluralidade de canais de saida de uma configuração de saida de áudio pré-definida representando a pluralidade de objetos de áudio, o sintetizador de dados de saida estando operante para utilizar informações de downmix indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix, e parâmetros de objeto de áudio para os objetos de áudio.
Um quinto aspecto da invenção está relacionado a um sinal de objeto de áudio codificado incluindo informações de downmix indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix e parâmetros objeto, os parâmetros objeto sendo tais que a reconstrução dos objetos de áudio seja possível utilizando os parâmetros objeto e ao menos dois canais downmix. Um sexto aspecto da invenção está relacionado a um programa de computador para realizar, quando executado em um computador, o método de codificação de objeto de áudio ou o método de decodificação de objeto de áudio. BREVE DESCRIÇÃO DAS ILUSTRAÇÕES A presente invenção será agora descrita por meio de exemplos ilustrativos, não limitados ao escopo ou espirito da invenção com referência às ilustrações associadas, nas quais:
Fig. Ia ilustra a operação de codificação de
objeto de áudio espacial envolvendo codificação e decodificação;
Fig. Ib ilustra a operação de codificação de
objeto de áudio espacial reutilizando um decodificador de MPEG Surround;
Fig. 2 ilustra a operação de um codificador
de objeto de áudio espacial;
Fig. 3 ilustra um extrator de parâmetros de
objeto de áudio operando em modo baseado em energia;
Fig. 4 ilustra um extrator de parâmetros de
objeto de áudio operando em modo baseado em predição;
Fig. 5 ilustra a estrutura de um
transcodificador de SAOC para MPEG Surround;
Fig. 6 Ilustra diferentes modos de operação
de um conversor downmix;
Fig. 7 Ilustra a estrutura de um
decodificador MPEG Surround para um downmix estéreo;
Fig. 8 Ilustra um caso de utilização
prática incluindo um codificador SAOC;
Fig. 9 Ilustra uma configuração de
codificador;
Fig. 10 Ilustra uma configuração de
decodificador;
Fig. 11 Ilustra uma tabela para mostrar diferentes modos de decodificador/sintetizador preferidos;
Fig. 12 Ilustra um método para calcular
certos parâmetros de upmix espaciais;
Fig. 13a Ilustra um método para calcular
parâmetros de upmix espaciais adicionais;
Fig. 13b Ilustra um método para calcular
utilizando parâmetros de predição;
Fig. 14 Ilustra uma visão geral de um
sistema codificador/decodificador; Fig. 15 Ilustra um método para calcular
parâmetros de objeto de predição; e
Fig. 16 Ilustra um método de renderização
estéreo.
DESCRIÇÃO DAS CONFIGURAÇÕES PREFERIDAS
As configurações descritas abaixo são meramente
ilustrativas dos princípios da presente invenção para codificação aprimorada e representação de parâmetros de codificação de objeto de downmix MUiiTiCANAL. Entende-se que modificações e variações das disposições e dos detalhes aqui descritos serão aparentes a outros experientes na técnica. O intuito é, portanto, limitar-se somente ao objetivo das reivindicações de patente iminentes e não aos detalhes específicos apresentados por meio de descrição e explicação das configurações aqui contidas.
As configurações preferidas fornecem um esquema de codificação que combina a funcionalidade de um esquema de codificação de objeto com as capacidades de processamento de um decodificador multicanal. Os dados de controle transmitidos estão relacionados aos objetos individuais e permitem assim a manipulação na reprodução em termos de posição espacial e nível. Dessa forma os dados de controle estão diretamente relacionados à assim chamada descrição do ambiente, dando informações acerca do posicionamento dos objetos. A descrição do ambiente pode ser tanto controlada no lado do decodificador interativamente pelo ouvinte como também no lado do codificador pelo produtor.
Um estágio transcodificador conforme ministrado pela invenção é utilizado para converter os dados de controle relacionados ao objeto e o sinal downmix em dados de controle e um sinal downmix que esteja relacionado ao sistema de reprodução, como por ex. o decodificador MPEG Surround.
No esquema de codificação apresentado, os objetos podem ser arbitrariamente distribuídos nos canais downmix disponíveis no codificador. O transcodificador faz uso explícito das informações de downmix multicanal, fornecendo um sinal downmix transcodifiçado e dados de controle relacionados ao objeto. Por esse meio o processo de upmix no decodif icador não é feito para todos os canais individualmente, como proposto em [3], mas todos os canais downmix são tratados ao mesmo tempo em um único processo de upmix. No novo esquema as informações de downmix multicanal devem ser parte dos dados de controle e serem codificadas pelo
codificador de objetos.
A distribuição dos objetos nos canais downmix pode ser feita de maneira automática ou pode ser uma escolha de projeto no lado do codificador. No último caso pode-se projetar o downmix de modo a ser adequado para reprodução por um esquema de reprodução multicanal existente (ex., sistema de reprodução Estéreo), apresentando uma reprodução e omitindo a transcodificação e o estágio de decodificação multicanal. Essa é uma vantagem adicional sobre esquemas de codificação da técnica anterior, consistindo em um único canal downmix, ou múltiplos canais downmix contendo subconjuntos dos objetos de origem.
Enquanto esquemas de codificação de objetos da
técnica anterior descrevem unicamente o processo de decodificação utilizando um único canal downmix, a presente invenção não sofre essa limitação uma vez que provê um método de conjuntamente decodificar downmixes que contenham mais de um canal downmix. A qualidade obtenivel na separação de objetos aumenta por um número elevado de canais downmix. Dessa forma a invenção transpõe com sucesso a lacuna entre um esquema de codificação de objeto com um único canal downmix mono e um esquema de codificação multicanal no qual cada objeto é transmitido em um canal separado. O esquema proposto permite desse modo graduação flexível da qualidade para a separação de objetos de acordo com os requisitos da aplicação e as propriedades do sistema de transmissão (como a capacidade do canal).
Além disso, utilizar mais de um canal downmix é vantajoso, já que permite considerar adicionalmente a correlação entre os objetos individuais ao invés de restringir a descrição a diferenças de intensidade como em esquemas de codificação de objetos da técnica anterior. Esquemas da técnica anterior
baseiam-se na suposição de que todos os objetos são independentes e mutuamente não correlacionados (correlação cruzada zero), enquanto na realidade não é improvável que objetos sejam correlacionados, como por ex. os canais esquerdo e direito de um sinal estéreo. Incorporar a correlação à descrição (dados de controle) conforme ministrado pela invenção torna-a mais completa a assim facilita adicionalmente a capacidade de separar os obj etos.
As configurações preferidas compreendem ao menos uma das seguintes características:
Um sistema para transmitir e criar uma pluralidade de objetos de áudio individuais utilizando um downmix multicanal e dados de controle adicionais descrevendo os objetos compreendendo: um codificador de objeto de áudio espacial para codificar uma pluralidade de objetos de áudio em um downmix multicanal, informações sobre o downmix multicanal e parâmetros objeto; ou um decodificador de objeto de áudio espacial para decodificar um downmix multicanal, informações sobre o downmix multicanal, parâmetros objeto e uma matriz de processamento de objeto em um segundo sinal de áudio multicanal adequado para reprodução de áudio.
A Fig. Ia ilustra a operação de codificação de objeto de áudio espacial (SAOC), compreendendo um codificador SAOC 101 e um decodificador SAOC 104. 0 codificador de objeto de áudio espacial 101 codifica objetos N em um downmix de objetos consistindo em canais de áudio >1, de acordo com parâmetros do codificador. Informações sobre a matriz de peso de downmix D são produzidas pelo codificador de SAOC junto com dados opcionais a respeito da potência e correlação do downmix. A matriz D é freqüentemente, mas não necessariamente sempre, constante sobre tempo e freqüência, e, portanto, representa uma quantia relativamente baixa de informação. Por fim, o codificador SAOC extrai parâmetros objeto para cada objeto como uma função tanto de tempo como de freqüência em uma resolução definida por considerações perceptivas. 0 decodificador de objeto de áudio espacial 104 toma os canais downmix de objeto, as informações de downmix, e os parâmetros objeto (conforme gerados pelo codificador) como entrada e gera uma saida com canais de áudio M para apresentação ao usuário. 0 processamento de objetos N em canais de áudio M faz uso de uma matriz de processamento fornecida como entrada do usuário ao decodificador SAOC.
A Fig. Ib ilustra a operação de codificação de objeto de áudio espacial reutilizando um decodificador MPEG Surround. Um decodificador SAOC 104 ministrado pela invenção atual pode ser entendido como um transcodif icador de SAOC para MPEG Surround 102 e um decodificador MPEG Surround 103 baseado em downmix estéreo. Uma matriz de processamento controlada por usuário Ade tamanho MxA^define o processamento pretendido dos objetos N para canais de áudio M . Essa matriz pode depender tanto de tempo como de freqüência e é a saida final de uma interface mais simplificada para manipulação de objeto de áudio (o que também pode fazer uso de uma descrição de ambiente provida externamente) . No caso de uma configuração de falantes 5.1 o número de canais de áudio de saida é M = 6. A tarefa do decodificador SAOC é perceptivamente recriar o processamento pretendido dos objetos de áudio originais. 0 transcodificador de SAOC para MPEG Surround 102 toma como entrada a matriz de processamento A, o downmix do objeto, as informações do lado do downmix incluindo a matriz de peso de downmix D , e as informações do lado do objeto, e gera um downmix estéreo e informações do lado MPEG Surround. Quando o transcodificador é construído de acordo com a invenção atual, um decodificador MPEG Surround 103 subsequente alimentado com esses dados produzirá uma saida de áudio de canal Mcom as propriedades desejadas.
Um decodificador SAOC ministrado pela invenção atual consiste em um transcodificador de SAOC para MPEG Surround 102 e um decodificador MPEG Surround baseado em downmix estéreo 103. Uma matriz de processamento controlada por usuário A de tamanho MxN define o processamento pretendido dos objetos N para canais de áudio M . Essa matriz pode depender tanto de tempo como de freqüência e é a saida final de uma interface mais simplificada para manipulação de objeto de áudio. No caso de uma configuração de falantes 5.1 o número de canais de áudio de saida é M = 6. A tarefa do decodif icador de SAOC é perceptivamente recriar o processamento pretendido dos objetos de áudio originais. 0 transcodif icador de SAOC para MPEG Surround 102 toma como entrada a matriz de processamento A, o downmix de objeto, as informações do lado downmix incluído a matriz de peso downmix D, e as informações do lado do objeto e gera um downmix estéreo e informações do lado MPEG Surround. Quando o transcodificador é construído de acordo com a invenção atual, um decodificador MPEG Surround 103 subsequente alimentado com esses dados produzirá uma saída de áudio de canal Mcom as propriedades desejadas.
A Fig. 2 ilustra a operação de um codificador de objeto de áudio espacial (SAOC) 101 ministrada pela invenção atual. Os objetos de áudio N são levados tanto para um downmixer 201 quanto para um extrator de parâmetros de objetos de áudio 202. 0 downmixer 201 mixa os objetos em um downmix de objetos consistindo em canais de áudio K> 1, de acordo com os parâmetros do codificador e também produz informações de downmix. Essas informações incluem uma descrição da matriz de peso de downmix aplicada D e, como opção, se o extrator de parâmetros de objetos de áudio subsequente operar em modo de predição, parâmetros que descrevem a potência e correlação do downmix de objeto. Conforme será discutido em um parágrafo subsequente, o papel de tais parâmetros adicionais é dar acesso à energia e correlação de subconjuntos de canais de áudio processados no caso em que os parâmetros objeto são expressos somente em relação ao downmix, o principal exemplo sendo os sinais traseiros/frontais para uma configuração de falantes 5.1. 0 extrator de parâmetros de objetos de áudio 202 extrai parâmetros objeto de acordo com os parâmetros do codificador. 0 controle do codificador determina com base na variação de tempo e freqüência qual dos dois modos do codificador é aplicado, o modo baseado em energia ou o modo baseado em predição. No modo baseado em energia, os parâmetros do codificador contêm ainda informações sobre um agrupamento dos objetos de áudio N em objetos estéreo P e objetos mono N-2P . Cada modo será descrito mais adiante pelas Figuras 3 e 4.
A Fig. 3 ilustra um extrator de parâmetros de objetos de áudio 202 operando em modo baseado em energia. Um agrupamento 301 em objetos estéreo P e objetos mono N-2P é realizado de acordo com as informações de agrupamento contidas nos parâmetros do codificador. Para cada intervalo de freqüência de tempo considerado as operações a seguir são então realizadas. Duas potências de objeto e uma correlação normalizada são extraídas para cada um dos objetos estéreo P pelo extrator de parâmetros estéreo 302. Um parâmetro de potência é extraído para cada um dos objetos mono N-2P pelo extrator de parâmetros mono 303. 0 conjunto total de parâmetros de potência N e parâmetros de correlação normalizados P é então codificado em 304 juntamente com os dados do agrupamento para formar os parâmetros objeto. A codificação pode conter uma etapa de normalização com respeito à maior potência de objeto ou com respeito à soma de potências de objeto extraídas.
A Fig. 4 ilustra um extrator de parâmetros de objetos de áudio 202 operando em modo baseado em predição. Para cada intervalo de freqüência de tempo considerado são realizadas as operações a seguir. Para cada um dos objetos N, é deduzida uma combinação linear de canais downmix de objeto K a qual corresponde ao dado objeto em um método de mínimos quadrados. Os pesos K dessa combinação linear são chamados Object Prediction Coefficients (OPC) [Coeficientes de Predição de Objetos] e são computados pelo extrator OPC 401. 0 conjunto total de N ■ K OPCs é codificado em 402 para formar os parâmetros objeto. A codificação pode incorporar uma redução do número total de OPCs baseada em interdependências lineares. Conforme ministrado pela presente invenção, esse número total pode ser reduzido para max{i<C-(7V-^),0}
se a matriz de peso de downmix D tiver característica plena.
A Fig. 5 ilustra a estrutura de um transcodificador de SAOC para MPEG Surround 102 conforme ministrada pela invenção atual. Para cada intervalo de freqüência de tempo, as informações do lado do downmix e os parâmetros objeto são combinados com a matriz de processamento pela calculadora de parâmetros 502 para formar parâmetros de MPEG Surround de tipo CLD, CPC e ICC, e uma matriz conversora de downmix G de tamanho 2χΚ . O conversor de downmix 501 converte o downmix de objeto em um downmix estéreo aplicando uma operação de matriz de acordo com as matrizes G . Em um modo simplificado do transcodificador para K- 2 essa matriz é a matriz de identidade e o downmix de objeto passa inalterado por um downmix estéreo. Esse modo é ilustrado na ilustração com a chave seletora 503 na posição A, enquanto o modo de operação normal tem a chave na posição B. Uma vantagem adicional do transcodificador é sua capacidade de utilização como uma aplicação autônoma onde os parâmetros de MPEG Surround são ignorados e a saida do conversor downmix é utilizada diretamente como um processador estéreo.
A Fig. 6 ilustra diferentes modos de operação de um conversor de downmix 501 conforme ministrados pela presente invenção. Dado o downmix do objeto transmitido no formato de uma saida de fluxo de bits a partir de um codificador de áudio de canal K , esse fluxo de bits é primeiro decodificado pelo decodificador de áudio 601 em sinais de áudio de domínio de tempo K . Esses sinais são então transformados para o domínio de freqüência por um filterbank [banco de filtro] QMF híbrido MPEG Surround na unidade T/F 602. A operação da matriz de variação de tempo e freqüência definida pelos dados da matriz de conversão é realizada nos sinais resultantes do domínio de QMF híbrido pela unidade de matrização 603 que produz um sinal estéreo no domínio QMF híbrido. A unidade de síntese híbrida 604 converte o sinal do domínio de QMF híbrido estéreo em um sinal de domínio de QMF estéreo. 0 domínio de QMF híbrido é definido a fim de obter melhor resolução de freqüência para freqüências mais baixas por meio de uma filtragem subsequente das sub-bandas de QMF. Quando essa filtragem subsequente é definida pelos bancos de filtros Nyquist, a conversão do domínio de QMF híbrido para o domínio de QMF padrão consiste em simplesmente somar grupos de sinais de sub-banda híbridos, ver [E. Schuijers, J. Breebart, and H. Purnhagen "Low complexity parametric stereo coding" Proc 116th AES convention Berlin, Germany 2004, Preprint 6073] . Esse sinal constitui o primeiro formato de saída possível do conversor downmix conforme definido pela chave seletora 607 na posição A. Tal sinal de domínio de QMF pode ser levado diretamente à interface do domínio de QMF correspondente de um decodificador MPEG Surround, e esse é o modo de operação mais vantajoso em termos de retardo, complexidade e qualidade. A próxima possibilidade é obtida realizando uma síntese de filterbank de QMF 605 a fim de obter um sinal de domínio de tempo estéreo. Com a chave seletora 607 na posição B o conversor produz um sinal estéreo de áudio digital que também pode ser levado à interface de domínio de tempo de um decodificador MPEG Surround subsequente ou processado diretamente em um dispositivo de reprodução estéreo. A terceira possibilidade com a chave seletora 607 na posição C é obtida codificando o sinal estéreo de domínio de tempo com um codificador de áudio estéreo 606. 0 formato de saída do conversor downmix é então um fluxo de bits de áudio estéreo que é compatível com um decodificador central contido no decodificador MPEG. Esse terceiro modo de operação é adequado para o caso em que o transcodificador de SAOC para MPEG Surround é separado pelo decodif icador MPEG por uma conexão que impõe restrições sobre a taxa de bits ou no caso em que o usuário deseja armazenar um processamento de objeto em especial para reprodução futura. A Fig 7 ilustra a estrutura de um decodificador MPEG Surround para um downmix estéreo. O downmix estéreo é convertido em três canais intermediários pela caixa Two-To-Three (TTT). Esses canais intermediários são posteriormente divididos em dois pelas três caixas One-To-Two (OTT) para produzir os seis canais de uma configuração de canais 5.1.
A Fig. 8 ilustra um caso de utilização prática incluindo um codificador SAOC. Um mixador de áudio 802 produz um sinal estéreo (E e D) que é composto tipicamente pela combinação de sinais de entrada do mixador (aqui canais de entrada 1-6) e opcionalmente entradas adicionais de retornos de efeito tais como reverberação etc. 0 mixador também produz um canal individual (aqui canal 5) do mixador. Isso poderia ser feito, por exemplo, por meio de funcionalidades do mixador comumente utilizadas tais como "saídas diretas" ou "envio auxiliar" para produzir um canal individual passando por quaisquer processos de inserção (tais como processamento dinâmico e EQ). 0 sinal estéreo (E e D) e a saída do canal individual (obj5) são entrada para o codificador de SAOC 801, o que não é nada além de um caso especial do codificador de SAOC 101 na Fig. 1. No entanto, ilustra uma típica aplicação onde o objeto de áudio obj5 (contendo por ex. voz) deve estar sujeito a modificações de nível controladas pelo usuário no lado do decodificador ao mesmo tempo ainda sendo parte da mixagem estéreo (E e D) . A partir do conceito também é óbvio que dois ou mais objetos de áudio poderiam ser conectados ao painel "entrada de objeto" em 801, e, além disso, a mixagem estéreo poderia ser estendida por uma mixagem multicanal tal como uma mixagem 5.1.
No texto a seguir, será delineada a descrição matemática da presente invenção. Para sinais complexos distintos x,y , o produto interno complexo e a norma quadrada (energia) são
definidos por
\x,y) = X x(k)y(k),
' , 4 2 (1)
Μ = (χ,χ) = Σ\χΜ\>\ k
OndeJj(Ar) denota o sinal conjugado complexo y(k) . Todos os sinais considerados aqui são amostras de sub-banda de um filterbank modulado ou análise de FFT com janela de sinais de tempo distintos. É entendido que essas sub-bandas têm de serem transformadas de volta para o domínio de tempo distinto pelas operações de filterbank de síntese correspondentes. Um bloqueio de sinal de amostras L representa o sinal em um intervalo de tempo e freqüência que é parte do ladrilhamento motivado perceptivamente do plano de tempo-f requência que é aplicado para a descrição de propriedades de sinal. Nessa configuração, os objetos de áudio dados podem ser representados como fileiras N de comprimento L em uma matriz,
"5,(0) S1(I) ... S1(Z-I)" s= S2(O) s2(l) ... S2(Z-I) (2)
_sw(0) sw(l) ... sw(Z-l)_ A matriz de peso de downmix D de tamanho KxN onde K>1 determina o sinal de downmix de canal K na forma de uma matriz com fileiras K através da multiplicação da matriz.
X = DS. (3)
A matriz de processamento de objeto controlada pelo usuário A de tamanho MxN determina o processamento pretendido de canal M dos objetos de áudio na forma de uma matriz com fileiras M através da multiplicação da matriz.
Y = AS . ( 4)
Desconsiderando por um momento os efeitos da codificação de áudio central, a tarefa do decodificador de SAOC é gerar uma aproximação no sentido perceptivo do processamento pretendido Y dos objetos de áudio originais, dada a matriz de processamento A, o downmix X a matriz de downmix D e parâmetros obj eto.
Os parâmetros objeto no modo de energia ministrado pela presente invenção carregam informações sobre a covariância dos objetos originais. Em uma versão deterministica conveniente para a dedução subsequente e também descritiva das operações típicas do codificador, essa covariância é dada em forma não normalizada pelo produto de matriz SS* onde a estrela denota a operação de matriz de transposição conjugada complexa. Então, parâmetros objeto do modo de energia suprem uma matriz NxN positiva semi-definida E tal que, possivelmente até um fator de escala,
SS* «E. (5)
A codificação de objeto de áudio da técnica anterior considera com freqüência um modelo de objeto no qual todos os objetos são não correlacionados. Nesse caso a matriz E é diagonal e contém somente uma aproximação às energias do objeto
Sii=U5J2 para η = 1,2,...,N . 0 extrator de parâmetros objeto de acordo com a Fig 3, permite um refinamento importante dessa idéia, particularmente relevante em casos onde os objetos são supridos como sinais estéreo para os quais as suposições sobre ausência de correlação não são válidas. Um agrupamento de pares estéreo P selecionados de objetos é descrito pelos conjuntos de índice
\{np,mp}, ρ = 1,2,...,Pj . Para esses pares estéreo a correlação (sn,sm) é
computada e o valor complexo, real ou absoluto da correlação normalizada (ICC)
ρ =XjiljhL (6)
m I! Illl Il
FnIrm Il
é extraído pelo extrator de parâmetros estéreo 302. No decodificador, os dados de ICC podem então ser combinados com as energias para formar uma matriz E com elementos de diagonal secundária 2P . Por exemplo, para um total de objetos N -3 dos quais os dois primeiros consistem em um único par (1,2), os
dados de energia e correlação transmitidos são Si,S2,S3 e p12 . Nesse
caso, a combinação na matriz E produz
S1 PU2yjS,.S2 0
E =
p',2 JstS2 S2 0 0 0 S3
Os parâmetros objeto no modo de predição
ministrado pela presente invenção têm como objetivo criar uma matriz de coeficiente de predição de objeto (OPC) NxK C disponível para o decodificador tal que
S w CX = CDS . (7)
Em outras palavras, para cada objeto há uma
combinação linear dos canais downmix tal que o objeto pode ser recuperado aproximadamente por
\(k)~cnMk) + ... + cnKxK(k) . (8)
Em uma configuração preferida, o extrator OPC 401 soluciona as equações normais
CXX'=SX*, (9)
ou, para o caso mais atraente de OPC de representação real, soluciona CRejXX*} =Re{SX*} . (10)
Em ambos os casos, presumindo uma matriz de peso de downmix de representação real D , e uma covariância de downmix não singular, segue por multiplicação da esquerda com D que
DC = I, (11)
onde I é a matriz de identidade de tamanho K . Se
D tiver característica plena segue por álgebra linear elementar que o conjunto de soluções para (9) pode ser parametrizado por parâmetros maxjiC· (TV-AT)jO) . Isso é explorado na codificação
conjunta em 402 dos dados de OPC. A matriz de predição completa C pode ser recriada no decodificador a partir do conjunto reduzido de parâmetros e da matriz de downmix.
Por exemplo, considere para um downmix estéreo (K-2) o caso de três objetos (7V = 3) compreendendo uma faixa de música estéreo (JpJ2) e um único instrumento de panorama central ou faixa de voz J3 . A matriz de downmix é
D
1 0 l/y/2
0 1 1/V2
:i2)
Isto é, o canal esquerdo do downmix é X1= J1 +J3 /72 e o canal direito é X2 = J2 + J3/y/l . Os OPCs para a faixa única objetivam aproximar J3 «C31X1 +C32X2 e a equação (11) pode ser solucionada nesse caso para se obter cn = 1-C31/λ/2 , C12 = -C32/ y/ϊ , C31 / λ/2 ,
l-c„/>/2 .
Consequentemente, ο número dos OPCs cuja
10
15
20
suficiência é dada por K(N-K) = 2·(3-2) = 2 .
Os OPCs C3pC32 podem ser encontrados a partir das
equações normais
da configuração 5.1 são (yx,y2,...,y6) = (lf,ls,rf,rs,c,lfe) . 0 transcodificador
tem de produzir um downmix estéreo (/0,r0) e parâmetros para as caixas TTT e OTT. Como o foco agora é em downmix estéreo será presumido no que segue que K=2. Uma vez que tanto os parâmetros objeto quanto os parâmetros TTT MPS existem tanto em modo de energia quanto em modo de predição, todas as quatro combinações devem ser consideradas. 0 modo de energia é uma escolha adequada, por exemplo, no caso onde o codificador de áudio downmix não é codificador de forma de onda no intervalo de freqüência considerado. É entendido que os parâmetros MPEG Surround deduzidos no texto a seguir devem ser devidamente quantizados e codificados antes de sua transmissão.
Para esclarecer com mais detalhes as quatro combinações mencionadas acima, essas compreendem:
1. Parâmetros objeto em modo de energia e transcodificador em modo de predição
2. Parâmetros objeto em modo de energia e transcodificador em modo de energia
Transcodificador de SAOC para MPEG Surround
Com relação à Figura 7, os canais de saida M = 6 3. Parâmetros objeto em modo de predição (OPC) e transcodificador em modo de predição
4. Parâmetros objeto em modo de predição (OPC) e
transcodificador em modo de energia Se o codificador de áudio downmix for um
codificador de forma de onda no intervalo de freqüência considerado, os parâmetros objeto podem estar tanto em modo de predição como de energia, mas o transcodificador deve operar pref erivelmente em modo de predição. Se o codificador de áudio downmix não for um codificador de forma de onda no intervalo de freqüência considerado, o codificador de objetos e o transcodificador devem ambos operar em modo de energia. A quarta combinação é de menor relevância então a descrição subsequente irá abordar somente as três primeiras combinações. Parâmetros objeto dados em modo de energia
No modo de energia, os dados disponíveis para o
transcodificador são descritos pela tercina de matrizes (D,E,A) . Os parâmetros OTT de MPEG Surround são obtidos realizando estimativas de energia e correlação em um processamento virtual deduzido dos parâmetros transmitidos e a matriz de processamento 6xN A . A covariância pretendida de seis canais é dada por
YY* = AS(AS)* = A(SS*)A* , (13)
Inserindo (5) em (13) produz a aproximação
YY* wF = AEA*, (14)
Que é totalmente definida pelos dados
disponíveis. Deixe fu denotar os elementos de F. Depois os parâmetros de CLD e ICC são lidos a partir de CLD0= IOloglt
CLD.= IOlog1
f f λ
J 55 V. fb(> J
r f \ Jy.
/4
CLD2= IOlog
V ./44 y
f f Λ J11
(15)
(16)
:i7:
/CC1 =
K/22 J /33/44
ICC2 =
/w/22
(19)
A =
onde φ é o valor absoluto φ(ζ) = \ζ\ ou o valor de
representação real <p(z) = Re{z} .
Como um exemplo ilustrativo, considere o caso de
três objetos anteriormente descritos em relação à equação (12) .
Permita que a matriz de processamento seja dada por
0 1 0' 0 1 0 1 0 1 1 0 0 0 o 1 0 0 1
0 processamento pretendido consiste assim em colocar o objeto 1 entre frontal direito e surround direito, o objeto 2 entre frontal esquerdo e surround esquerdo, e o objeto 3 em frontal direito, centro, e esquerdo. Presuma também para simplicidade que os três objetos são não correlacionados e todos têm a mesma energia tal que
E =
1 0 0 0 1 0 0 o 1 10
15
se
Nesse caso, o lado direito da fórmula (14) torna-
1 1 0 0 0 0 1 1 0 0 0 0
F =
0 0 2 11 1
0 0 1 10 0 0 0 10 1 1 0 0 10 1 1
Inserindo os valores apropriados nas fórmulas
(15)-(19) então produz
CLD0 = IOlog1
CLDx= IOlog
r f Λ
J 51 V f(A J
r , λ Jy.
= IOlog1
T
vly
= OdB ,
10
/ O λ
CLD2 = IOlogll
V-/44 y
f r \
J11
Λ
= IOlog10 - = 3dB , U;
= IOlog10I ^l = OdB,
V J 22 y
ICC = HH=_L
ICC2=4àΙ=4ώ=ι,
\UÜÂ2 vn
Como conseqüência, o decodi f icador de MPEG surround será instruído a utilizar alguma decorrelação entre frontal direito e surround direito, mas nenhuma decorrelação entre frontal esquerdo e surround esquerdo.
Para os parâmetros TTT de MPEG Surround em modo de predição, o primeiro passo é formar uma matriz de processamento reduzida A3 de tamanho 3χ N para os canais combinados (l,r,qc) onde q = M. É válido que A3=D36A onde a matriz de downmix parcial 6 para 3 é definida por D36
w, w, O O O O
O O W2 W2 O O
;20)
OOOO qw3 qw3
Os pesos de downmix parciais wp , p = 1,2,3 são ajustados tal que a energia de M>p{y2p_x+y2p) é igual à soma das
energias ||jVif + IWfaté um fator limite. Todos os dados necessários para deduzir a matriz de downmix parcial D36 estão disponíveis em F. A seguir, uma matriz de predição C3 de tamanho 3x2 é produzida tal que
C3X w A3S , (21)
Tal matriz é preferivelmente deduzida considerando primeiro as equações normais
C3 (DED*) = A3ED* ,
A solução para as equações normais produz a melhor correspondência de forma de onda possível para (21) dado o modelo de covariância de objeto E. Processamento posterior da matriz C3 é preferível, incluindo fatores de fileira para uma compensação de perda de predição baseada em canal individual ou total.
Para ilustrar e esclarecer as etapas acima, considere uma continuação do exemplo específico de processamento de seis canais dado acima. Em termos de elementos da matriz de F, os pesos de downmix são soluções para as equações
wI {f2p-\,2p-\ + flp.lp + 2f2p-\,2p) = flp-\,2p-\ + flpjp' P = l>2>3 '
que nesse exemplo específico torna-se, 10
15
20
w,2 (l + 1 + 2 · l) = 1 +1 w22 (2 + 1+ 2-1) = 2 + 1 W2 (l + 1 + 2 · l) = 1 + 1
[20) nos dá,
Tal que, (WpW25W3) = (l/λ/2,λ/375,1/λ/2] . A inserção em
0 λ/2 0
2 Vf 0 Vf
A3=D36A =
0
0 1
Solucionando o sistema de equações
C3 (üED*) = A3ED* descobre-se então, (mudando agora para precisão
finita),
-0.3536 1.0607 1.4358 -0.1134 0.3536 0.3536
A matriz C3 contém os melhores pesos para obter uma aproximação ao processamento do objeto desejado aos canais combinados (l,r,qc) a partir do downmix do objeto. Esse tipo geral de operação de matriz não pode ser implementado pelo decodificador de MPEG surround, que está preso a um espaço limitado de matrizes TTT através do uso de somente dois parâmetros. O objeto do conversor de downmix inventivo é pré-processar o downmix do objeto tal que o efeito combinado do pré-processamento e da matriz TTT de MPEG Surround é idêntico ao upmix desejado descrito por C3 .
Em MPEG Surround, a matriz TTT para predição de cl,r,qc) a partir de (/0,r0) é parametrizada por três parâmetros {a,β,γ) via
C
a + 2 β-l cc — \ β+2 l-a \-β
[22\ A matriz conversora de downmix G ministrada pela presente invenção é obtida escolhendo-se γ=\ e solucionando o sistema de equações
CtttG=C3. (23!
Como se pode verificar facilmente, é válido que DtttCttt=I onde I é a matriz de identidade dois por dois e
Dm =
1 0 1 0 1 1
:24)
A partir dai, uma multiplicação de matriz da esquerda por Drrrde ambos os lados de (23) leva a G = DtttC3. (25)
No caso genérico, G será inversivel e (23) tem uma solução única para Cttt que obedece DtttCttt=I. Os parâmetros
TTT (a,β) são determinados por essa solução.
Para o exemplo especifico considerado anteriormente, pode-se facilmente verificar que as soluções são dadas por
G =
0 1.4142 1.7893 0.2401
and {a,β) = (0.3506, 0.4072) .
Note que uma parte principal do downmix estéreo é trocada entre esquerda e direita para essa matriz conversora, o que reflete o fato de que o exemplo de processamento coloca objetos que estão no canal de downmix de objeto esquerdo na parte direita do ambiente de som e vice-versa. Tal comportamento é impossível de se obter a partir de um decodif icador de MPEG Surround em modo estéreo. Se for impossível aplicar um conversor downmix um 15
procedimento quase ideal pode ser desenvolvido conforme segue. Para os parâmetros TTT de MPEG Surround em modo de energia, o que é necessário é a distribuição de energia dos canais combinados (/,r,c) . Dessa forma os parâmetros de CLD relevantes podem ser deduzidos diretamente a partir dos elementos de F através de
CLD0rn =IOlog10
'"/I2+ IMI^
= IOlOg1
fu +/22 +/33 +/44 fss + -f66
CLDljj= IOlogll
ViiHl ,
= IOlog10
r r r \
fu+fx
[26]
(27)
V fii + fu J
Nesse caso, é adequado utilizar apenas uma matriz diagonal G com elementos positivos para o conversor downmix. É funcional obter a distribuição de energia correta dos canais de downmix antes do upmix TTT. Com a matriz de downmix de seis para dois canais D26=DrrrD36B as definições de
Z = DED* , W = D26ED26,
escolhe-se simplesmente
0
(28) (29]
(30)
0 Vw22/z2 :
Outra observação é que tal conversor downmix de forma diagonal pode ser omitido do objeto para o transcodificador de MPEG Surround e implementado por meio da ativação dos parâmetros de arbitrary downmix gain (ADG) [ganhos downmix arbitrários] do decodificador de MPEG Surround. Esses ganhos serão
os dados no domínio logaritmico por ADG1,= 1 Olog10(w. Izil) para / = 1,2.
Parâmetros objeto dados em modo de predição (OPC) No modo de predição de objeto, os dados disponíveis são representados pela trinca matriz (D,C,A) onde C é
a matriz Nx2 contendo os pares N de OPCs. Devido à natureza relativa dos coeficientes de predição, será ainda necessário que os parâmetros de MPEG Surround baseados em estimativa de energia tenham acesso a uma aproximação à matriz de covariância 2x2 do downmix de objeto,
XX* «Z. (31)
Essas informações são transmitidas de preferência do codificador de objeto como parte das informações do lado de downmix, mas também poderiam ser estimadas no transcodificador a partir de medições realizadas no downmix recebido, ou indiretamente deduzidas de (D,C) por considerações de modelo de
objeto aproximadas. Dado Z, a covariância de objeto pode ser estimada inserindo o modelo preditivo Y=CX, produzindo E = CZC*, (32)
e todos os parâmetros OTT de MPEG Surround e TTT de modo de energia podem ser estimados a partir de E como no caso de parâmetros objeto baseados em energia. Contudo, a grande vantagem de utilizar OPCs aparece na combinação com parâmetros TTT de MPEG Surround no modo de predição. Nesse caso, a aproximação de forma de onda D36Y = A3CX dá imediatamente a matriz de predição reduzida
C3 = A3C , (32)
da qual as etapas restantes para obter os
parâmetros TTT (a,β) e o conversor downmix são similares ao caso
de parâmetros objeto dados no modo de energia. De fato, as etapas das fórmulas (22) a (25) são completamente idênticas. A matriz resultante G é alimentada para o conversor downmix e os parâmetros TTT {a,β) são transmitidos ao decodificador de MPEG Surround.
Aplicação autônoma do conversor downmix para processamento estéreo
Em todos os casos descritos acima o conversor downmix de objeto para estéreo 501 produz uma aproximação a um downmix estéreo do processamento de canais 5.1 dos objetos de áudio. Esse processamento estéreo pode ser expresso por uma matriz 2xN A2 definida por A2=D26A. Em muitas aplicações esse downmix é interessante por convenção e uma manipulação direta do processamento estéreo A2 é atraente. Considere como um exemplo ilustrativo novamente o caso de uma faixa estéreo com uma faixa de voz mono de panorama central sobreposto codificada seguindo um caso especial de método delineado na Figura 8 e discutido na seção em torno da fórmula (12). Um controle do usuário sobre o volume da voz pode ser realizado pelo processamento
Vw
1 0 v/V2 0 1 v/V2
!33)
onde ν é o controle do quociente de voz para música. A estrutura da matriz conversora de downmix é baseada em
GDS w A2S . (34)
Para os parâmetros objeto baseados em predição, simplesmente insere-se a aproximação S «CDS e obtém-se a matriz conversora G«A2C. Para parâmetros objeto baseados em energia, solucionam-se as equações normais
G(DED*) = A2ED* . (35) A Fig. 9 ilustra uma configuração preferida de um codificador de objeto de áudio de acordo com um aspecto da presente invenção. 0 codificador de objeto de áudio 101 já foi descrito de forma geral em relação às figuras anteriores. 0 codificador de objeto de áudio para gerar o sinal de objeto codificado utiliza a pluralidade de objetos de áudio 90 que foram indicados na Fig. 9 como entrando em um downmixer 92 e um gerador de parâmetros objeto 94. Além disso, o codificador de objeto de áudio 101 inclui o gerador de informações de downmix 96 para gerar informações de downmix 97 indicando uma distribuição da pluralidade dos objetos de áudio em pelo menos dois canais downmix indicados em 93 como saindo do downmixer 92.
O gerador de parâmetros objeto é para gerar parâmetros objeto 95 para os objetos de áudio em que os parâmetros objeto são calculados de tal forma que a reconstrução do objeto de áudio é possível utilizando os parâmetros objeto e ao menos dois canais downmix 93. Com importância, no entanto, essa reconstrução não ocorre no lado do codificador, mas sim no lado do decodificador. Mesmo assim, o gerador de parâmetros objeto do lado do codificador calcula os parâmetros objeto para os objetos 95 para que essa reconstrução completa possa ser realizada no lado do decodificador.
Além do mais, o codificador de objeto de áudio 101 inclui uma interface de saída 98 para gerar o sinal de objeto de áudio de codificado 99 utilizando as informações de downmix 97 e os parâmetros objeto 95. Dependendo da aplicação, os canais downmix 93 podem também ser utilizados e codificados no sinal de objeto de áudio codificado. Não obstante, pode haver situações em que a interface de saida 98 gere um sinal de objeto de áudio de codificado 99 que não inclui os canais downmix. Essa situação pode aparecer quando quaisquer canais downmix a serem utilizados no lado do decodificador já estão no lado do decodificador, a fim de que as informações de downmix e os parâmetros objeto para os objetos de áudio sejam transmitidos separadamente a partir dos canais downmix. Tal situação é útil quando os canais downmix de objeto 93 podem ser comprados separadamente dos parâmetros objeto e das informações de downmix por uma quantia menor de dinheiro, e os parâmetros objeto e as informações de downmix podem ser compradas por um montante adicional de dinheiro para proporcionar um valor agregado ao usuário no lado do decodificador.
Sem os parâmetros objeto e as informações de downmix, um usuário pode processar os canais downmix como sinal estéreo ou multicanal dependendo do número de canais incluídos no downmix. Naturalmente, o usuário poderia também processar um sinal mono simplesmente adicionando pelo menos dois canais downmix de objeto transmitidos. Para aumentar a flexibilidade de processamento e qualidade de audição e utilidade, os parâmetros objeto e as informações de downmix possibilitam ao usuário formar um processamento flexível dos objetos de áudio em qualquer configuração de reprodução de áudio pretendida, tal como um sistema estéreo, um sistema multicanal ou até mesmo um sistema de síntese de campo de onda. Enquanto os sistemas de síntese de campo de onda ainda não são muito populares, os sistemas multicanal tais como sistemas 5.1 ou sistemas 7.1 estão se tornando cada vez mais populares no mercado consumidor.
A Fig. 10 ilustra um sintetizador de áudio para gerar dados de saída. Para essa finalidade, o sintetizador de áudio inclui um sintetizador de dados de saída 100. O sintetizador de dados de saída recebe, como entrada, as informações de downmix 97 e parâmetros de objeto de áudio 95 e, provavelmente, dados de fonte de áudio pretendido tais como um posicionamento das fontes de áudio ou um volume especificado pelo usuário de uma fonte específica, a qual deve ter sido a fonte quando processado conforme indicado em 101.
O sintetizador de dados de saída 100 serve para gerar dados de saída úteis para se criar uma pluralidade canais de saída de uma configuração de áudio pré-definida representando uma pluralidade de objetos de áudio. Particularmente, o sintetizador de dados de saída 100 é operante para utilizar as informações de downmix 97 e os parâmetros de objeto de áudio 95. Conforme discutido em relação à Fig. 11 anteriormente, os dados de saída podem ser dados de uma grande variedade de diferentes aplicações úteis, o que inclui o processamento específico de canais de saída ou que incluem apenas uma reconstrução dos sinais de origem ou que incluem uma transcodificação de parâmetros em parâmetros de processamento espacial para uma configuração de upmixer espacial sem nenhum processamento específico de canais de saída, mas, por exemplo, para armazenar ou transmitir tais parâmetros espaciais.
O cenário de aplicação geral da presente invenção está resumido na Fig. 14. Há um lado do codificador 140 que inclui o codificador do objeto de áudio 101 o qual recebe como entrada, objetos de áudio Ν. A saída do codificador de objeto de áudio preferido compreende, além das informações de downmix e dos parâmetros objeto que não são mostrados na Fig. 14, os canais downmix Κ. 0 número de canais downmix de acordo com a presente
invenção é superior ou igual a dois.
Os canais downmix são transmitidos para um lado do decodificador 142, que inclui um upmixer espacial 143. 0 upmixer espacial 143 pode incluir o sintetizador de áudio inventivo quando o sintetizador de áudio for operado em um modo de transcodificador. Quando o sintetizador de áudio 101 conforme ilustrado na Fig. 10, contudo, funcionar em um modo de upmixer espacial, então o upmixer espacial 143 e o sintetizador de áudio são o mesmo dispositivo nessa configuração. O upmixer espacial gera canais de saida M a serem reproduzidos via falantes M. Esse falantes são posicionados em locais espaciais pré-definidos e juntos representam a configuração de saida de áudio pré-definida. Um canal de saida da configuração de saida de áudio pré-definida pode ser visto como um sinal digital ou analógico do falante a ser enviado de uma saida do upmixer espacial 143 para a entrada de um alto-falante em uma posição pré-definida entre a pluralidade de posições pré-definidas da configuração de saida de áudio pré- definida. Dependendo da situação, o número de canais de saida M pode ser igual a dois quando é executado processamento estéreo. Quando, no entanto, um processamento multicanal é executado, então o número de canais de saida M é superior a dois. Tipicamente, haverá uma situação em que o número de canais downmix é menor do que o número de canais de saida devido a um requisito de um link de transmissão. Nesse caso, M é maior do que K e pode até ser muito maior do que K, como o dobro do tamanho ou até mais.
A Fig. 14 inclui, além disso, diversas notações de matriz para ilustrar a funcionalidade do lado inventivo do codificador e do lado inventivo do decodificador. Geralmente, blocos de valores de amostragem são processados. Portanto, conforme indicado na equação (2), um objeto de áudio é representado como uma linha de valores de amostragem L. A matriz S possui linhas N correspondentes ao número de objetos e colunas L correspondentes ao número de amostras. A matriz E é calculada conforme indicado na equação (5) e possui colunas N e linhas Ν. A matriz E inclui os parâmetros objeto quando os parâmetros objeto são dados em modo de energia. Para objetos não correlacionados, a matriz E possui, conforme indicado antes em relação à equação (6), somente elementos da diagonal principal, na qual um elemento da diagonal principal dá a energia de um objeto de áudio. Todos os elementos de diagonal secundária representam, como indicado anteriormente, uma correlação de dois objetos de áudio, o que é especificamente útil quando alguns objetos são dois canais do sinal estéreo.
Dependendo da configuração especifica, a equação (2) é um sinal de domínio de tempo. Então, um único valor de energia é gerado para toda a banda de objetos de áudio. De preferência, todavia, os objetos de áudio são processados por um conversor de tempo/frequência que inclui, por exemplo, um tipo de transformação ou um algoritmo de filter bank. No último caso, a equação (2) é válida para cada sub-banda para que se obtenha uma matriz E para cada sub-banda e, claro, cada intervalo de tempo. A matriz de canal downmix X possui linhas K e
colunas L e é calculada conforme indicado na equação (3) . Conforme indicado na equação (4), os canais de saída M são calculados utilizando os objetos N aplicando-se a assim chamada matriz de processamento A aos objetos N. Dependendo da situação, os objetos N podem ser gerados novamente no lado do decodificador utilizando o downmix e os parâmetros e o processamento pode ser aplicado diretamente nos sinais do objeto reconstruído.
De modo alternativo, o downmix pode ser
diretamente transformado para os canais de saída sem um cálculo explícito dos sinais de origem. Geralmente, a matriz de processamento A indica o posicionamento das fontes individuais com respeito à configuração de saída de áudio pré-definida. Se alguém tiver seis objetos e seis canais de saída, poderia colocar cada objeto em cada canal de saída e a matriz de processamento iria refletir esse esquema. Se, todavia, alguém quisesse colocar todos os objetos entre dois locais de falantes de saída, então a matriz de processamento A pareceria diferente e refletiria essa situação diferente.
A matriz de processamento ou, expresso de modo mais geral, o posicionamento pretendido dos objetos e também um volume relativo pretendido das fontes de áudio podem em geral ser calculados por um codificador e transmitidos ao decodificador como uma assim chamada descrição de ambiente. Em outras configurações, contudo, essa descrição de ambiente pode ser gerada pelo próprio
Λ
usuário para gerar o upmix específico do usuário para a configuração de saída de áudio específica do usuário. Uma transmissão da descrição do ambiente é, portanto, não necessariamente exigida, mas a descrição do ambiente pode também ser gerada pelo usuário a fim de satisfazê-lo. O usuário poderá, por exemplo, querer colocar determinados objetos de áudio em lugares que são diferentes daqueles onde esses objetos estavam ao gerá-los. Existem casos também em que os objetos de áudio são projetados por si mesmos e não têm nenhum local "original" com respeito aos outros objetos. Nessa situação, o local relativo das fontes de áudio é gerado pelo usuário na primeira vez.
Voltando à Fig. 9, é ilustrado um downmixer 92. 0
downmixer serve para o processo de downmix da pluralidade de objetos de áudio na pluralidade de canais downmix, em que o número de objetos de áudio é maior do que o número de canais downmix, e em que o downmixer é ligado ao gerador de informações de downmix de modo que a distribuição da pluralidade dos objetos de áudio na pluralidade de canais downmix é conduzida conforme indicado nas informações de downmix. As informações de downmix geradas pelo gerador de informações de downmix 96 na Fig. 9 podem ser automaticamente criadas ou ajustadas manualmente. É preferível prover às informações de downmix uma resolução inferior à resolução dos parâmetros objeto. Assim, bits de informações de lado podem ser salvos sem maiores perdas de qualidade, desde que informações de downmix fixas para um determinado fragmento de áudio ou apenas uma situação de downmix de lenta alteração, que não precisa ser necessariamente selecionada por freqüência, tenham provado ser suficientes. Em uma configuração, as informações de downmix representam uma matriz de downmix contendo linhas K e colunas N.
0 valor em uma linha da matriz de downmix possui um determinado valor quando o objeto de áudio correspondente a esse valor na matriz de downmix estiver no canal downmix representado pela fileira da matriz de downmix. Quando um objeto de áudio estiver incluído em mais de um canal downmix, os valores de mais de uma fileira da matriz de downmix têm um determinado valor. No entanto, é preferível que os valores quadrados quando somados em um único objeto de áudio totalizem até 1.0. Outros valores, todavia, também são possíveis. Adicionalmente, objetos de áudio podem ser inseridos em um ou mais canais downmix com níveis variados, e esses níveis podem ser indicados por pesos na matriz de downmix que são diferentes de um e que não totalizam 1.0 para
um determinado objeto de áudio.
Quando os canais downmix estão inclusos no sinal do objeto de áudio codificado gerado pela interface de saída 98, o sinal do objeto de áudio codificado pode ser, por exemplo, um sinal multiplexador de tempo em um determinado formato. De modo alternativo, o sinal do objeto de áudio codificado pode ser qualquer sinal que permita a separação dos parâmetros objeto 95, as informações de downmix 97 e os canais downmix 93 em um lado do decodificador. Além do mais, a interface de saída 98 pode incluir codificadores para os parâmetros objeto, as informações de downmix ou os canais downmix. Codificadores para os parâmetros objeto e as informações de downmix podem ser codificadores diferenciais e/ou codificadores de entropia, e codificadores para os canais downmix podem ser codificadores de áudio mono ou estéreo tais como codificadores de MP3 ou codificadores de AAC. Todas essas operações de codificação resultam em uma maior compressão dos dados para uma maior diminuição da taxa de dados requerida para o sinal de objeto de áudio codificado 99.
Dependendo da aplicação específica, o downmixer 92 é operante para incluir a representação estéreo de música ambiente em pelo menos dois canais downmix e, além disso, introduz a faixa de voz em pelo menos dois canais downmix em uma razão pré- definida. Nessa configuração, um primeiro canal da música ambiente está dentro do primeiro canal downmix e o segundo canal da música ambiente está dentro do segundo canal downmix. Isso resulta em uma ótima repetição da música ambiente estéreo em um dispositivo de processamento estéreo. 0 usuário pode, contudo, ainda modificar a posição da faixa de voz entre o falante estéreo esquerdo e o falante estéreo direito. Ou então, o primeiro e segundo canais de música ambiente podem ser incluídos em um canal downmix e a faixa de voz pode ser incluída em outro canal downmix. Assim, eliminando um canal downmix pode-se separar completamente a faixa de voz da música ambiente que é particularmente adequada para aplicações de karaokê. Porém, a qualidade de reprodução estéreo dos canais de música ambiente cairá devido à parametrização do objeto que é, evidentemente, um método de compressão com perda de dados.
Um downmixer 92 é adaptado para realizar uma adição amostra por amostra no domínio de tempo. Essa adição utiliza amostras de objetos de áudio que irão passar pelo processo de downmix em um único canal downmix. Quando um objeto de áudio tiver de ser introduzido em um canal downmix com uma determinada porcentagem, deve ocorrer uma pesagem previamente ao processo de soma de amostras. Como alternativa, a soma pode ocorrer no domínio de freqüência, ou em um domínio de sub-banda, ou seja, em um domínio subsequente à conversão de tempo/frequência. Assim, poder- se-ia até realizar o downmix no domínio de filter bank quando a conversão de tempo/frequência for um filter bank ou no domínio de transformação quando a conversão de tempo/frequência for um tipo de FFT, MDCT ou qualquer outra transformação. Em um aspecto da presente invenção, o gerador de parâmetros objeto 94 gera parâmetros de energia e, adicionalmente, parâmetros de correlação entre dois objetos quando dois objetos de áudio juntos representarem o sinal estéreo conforme fica evidente por meio da equação subsequente (6). Alternativamente, os parâmetros objeto são parâmetros de modo de predição. A Fig. 15 ilustra etapas de algoritmo ou meios de um dispositivo de cálculo de calcular esses parâmetros de predição de objeto de áudio. Conforme foi discutido em relação a equações (7) a (12), algumas informações estatísticas nos canais downmix na matriz X e os objetos de áudio na matriz S tiveram de ser calculadas. Em particular, o bloco 150 ilustra a primeira etapa de calcular a parte real de S · X* e a parte real de X · X*. Essas partes reais não são apenas números, mas matrizes, e essas matrizes são determinadas em uma configuração por meio das notações na equação (1) quando a configuração subsequente à equação (12) é considerada. Geralmente, os valores da etapa 150 podem ser calculados utilizando dados disponíveis no codificador de objeto de áudio 101. Depois, a matriz de predição C é calculada conforme ilustrado na etapa 152. Em especial, o sistema de equação é solucionado conforme conhecido na técnica de modo que todos os valores da matriz de predição C que tem linhas N e colunas K sejam obtidos. Geralmente, os fatores de ponderação cn,± conforme dados na equação (8) são calculados tal que a adição linear pesada de todos os canais downmix reconstrói um objeto de áudio correspondente tão bem quanto possível. Essa matriz de predição resulta em uma melhor reconstrução de objetos de áudio quando o número de canais downmix aumenta. Subseqüentemente, a Fig. 11 será discutida mais detalhadamente. Em especial, a Fig. 7 ilustra diversos tipos de dados de saida úteis para criar uma pluralidade de canais de saida de uma configuração de saida de áudio pré-definida. A linha 111 ilustra uma situação em que os dados de saida do sintetizador de dados de saida 100 são fontes de áudio reconstruídas. Os dados de entrada requeridos pelo sintetizador de dados de saída 100 para processar as fontes de áudio reconstruído incluem informações de downmix, os canais downmix e os parâmetros de objeto de áudio. Para processar as fontes reconstruídas, todavia, uma configuração de saída e um posicionamento pretendido das próprias fontes de áudio na configuração de saída de áudio espacial não são necessariamente requeridos. Nesse primeiro modo indicado pelo modo número 1 na Fig. 11, o sintetizador de dados de saída 100 produziria fontes de áudio reconstruído. No caso de parâmetros de predição como parâmetros de objeto de áudio, o sintetizador de dados de saída 100 funciona conforme definido pela equação (7) . Quando os parâmetros objeto estão no modo de energia, o sintetizador de dados de saída utiliza então um inverso da matriz de downmix e da matriz de energia para reconstrução dos sinais de origem.
Alternativamente, o sintetizador de dados de saída 100 opera como um transcodificador conforme ilustrado, por exemplo, no bloco 102 na Fig. Ib. Quando o sintetizador de saída é um tipo de transcodificador para gerar parâmetros de mixador espacial, as informações de downmix, os parâmetros de objeto de áudio, a configuração de saída e o posicionamento pretendido das fontes são necessários. Particularmente, a configuração de saída e o posicionamento pretendido são fornecidos através da matriz de processamento A. Contudo, os canais downmix não são requeridos para gerar os parâmetros de mixador espacial conforme será discutido mais detalhadamente em relação à Fig. 12. Dependendo da situação, os parâmetros de mixador espacial gerados pelo sintetizador de dados de saida 100 podem então ser utilizados por um mixador espacial direto tal como um mixador de MPEG-surround para realizar o processo de upmix dos canais downmix. Essa configuração não precisa necessariamente modificar os canais downmix de objeto, mas pode prover uma simples matriz de conversão somente tendo elementos de diagonal conforme discutido na equação (13) . No modo 2 conforme indicado por 112 na Fig. 11, o sintetizador de dados de saida 100 produziria, portanto, parâmetros de mixador espacial e, de preferência, a matriz de conversão G conforme indicado na equação (13), o que inclui ganhos que podem ser utilizados como parâmetros de ganhos de downmix arbitrários (ADG) do decodificador de MPEG-surround.
No modo número 3 conforme indicado por 113 da Fig. 11, os dados de saida incluem parâmetros de mixador espacial em uma matriz de conversão tal como a matriz de conversão ilustrada em relação à equação (25) . Nessa situação, o sintetizador de dados de saida 100 não tem de necessariamente realizar a conversão real de downmix para converter o downmix de
objeto em um downmix estéreo. Um modo diferente de operação indicado pelo modo
número 4 na linha 114 na Fig. 11 ilustra o sintetizador de dados de saida 100 da Fig. 10. Nessa situação, o transcodi f icador é operado conforme indicado por 102 na Fig. Ib e produz não somente parâmetros de mixador espacial, mas produz adicionalmente um downmix convertido. No entanto, não é mais necessário produzir a matriz de conversão G além do downmix convertido. Produzir o downmix convertido e os parâmetros de mixador espacial é suficiente conforme indicado pela Fig. Ib.
O modo número 5 indica outra utilização do sintetizador de dados de saida 100 ilustrado na Fig. 10. Nessa situação indicada pela linha 115 na Fig. 11, os dados de saida gerados pelo sintetizador de dados de saida não incluem nenhum parâmetro de mixador espacial mas somente uma matriz de conversão G conforme indicado pela equação (35) por exemplo ou incluem de fato a saida dos próprios sinais estéreo conforme indicado em 115. Nessa configuração, somente interessa um processamento estéreo e nenhum parâmetro de mixador espacial é exigido. Para gerar a saida estéreo, todavia, todas as informações de entrada disponíveis conforme indicado na Fig. 11 são necessárias.
Outro modo de sintetizador de dados de saída é indicado pelo modo número 6 na linha 116. Aqui, o sintetizador de dados de saída 100 gera uma saída multicanal, e o sintetizador de dados de saída 100 seria similar ao elemento 104 na Fig. Ib. Para essa finalidade, o sintetizador de dados de saída 100 requer todas as informações de entrada disponíveis e produz um sinal de saída multicanal tendo mais do que dois canais de saída a serem processados por um número correspondente de falantes a serem posicionados nas posições pretendidas dos falantes de acordo com a configuração de saída de áudio pré-definida. Tal saída multicanal é uma saída 5.1, uma saída 7.1 ou apenas uma saída 3.0 com um falante do lado esquerdo, um falante no centro e um falante do lado direito.
Subseqüentemente, faz-se referência à Fig. 11 para ilustrar um exemplo de cálculo de diversos parâmetros do conceito de parametrização da Fig. 7 conhecidos a partir do decodificador de MPEG-surround. Como indicado, a Fig. 7 ilustra uma parametrização de lado do decodificador de MPEG-surround começando a partir do downmix estéreo 7 0 tendo um canal downmix esquerdo I0 e um canal downmix direito r0. De forma conceituai, ambos os canais downmix são inseridos em uma assim chamada caixa Two-To-Three 71. A caixa Two-To-Three é controlada por diversos parâmetros de entrada 72. A caixa 71 gera três canais de saida 73a, 73b, 73c. Cada canal de saida é inserido em uma caixa One-To- Two. Isso significa que o canal 73a é inserido na caixa 74a, o canal 73b é inserido na caixa 74b, e o canal 73c é inserido na caixa 74c. Cada caixa produz dois canais de saida. A caixa 74a produz um canal frontal esquerdo If e um canal surround esquerdo ls. Ademais, a caixa 74b produz um canal frontal direito rf e um canal surround direito rs. Além disso, a caixa 74c produz um canal central c e um canal de intensificação de baixa freqüência Ife. De forma importante, todo o upmix dos canais downmix 70 para os canais de saida é realizado utilizando uma operação de matriz, e a estrutura de árvore conforme mostrada na Fig. 7 não é necessariamente implementada passo a passo mas pode ser implementada por meio de uma única ou diversas operações de matriz. Ademais, os sinais intermediários indicados por 73a, 73b e 73c não são explicitamente calculados por uma determinada configuração, mas não ilustrados na Fig. 7 apenas para fins de ilustração. Além disso, as caixas 74a, 74b recebem alguns sinais residuais resi0TT, res20TT que podem ser utilizados para introduzir certa aleatoriedade nos sinais de saída.
Conforme conhecido a partir do decodificador de MPEG-surround, a caixa 71 é controlada por parâmetros de predição CPC ou parâmetros de energia CLDttt- Para o upmix de dois canais para três canais, ao menos dois parâmetros de predição CPC1, CPC2 ou pelo menos dois parâmetros de energia CLD TTT e CLD
ttt SdO
necessários. Ademais, a medida de correia Ç3.0 XOCttt
pode ser
colocada na caixa 71 que é, contudo, somente um recurso opcional que não é utilizado em uma configuração da invenção. As Figs. 12 e 13 ilustram as etapas e/ou meios necessários para calcular todos os parâmetros CPC/CLDTTt, CLDO, CLD1, ICC1, CLD2, ICC2 dos parâmetros objeto 95 da Fig. 9, as informações de downmix 97 da Fig. 9 e o posicionamento pretendido das fontes de áudio, por exemplo, a descrição do ambiente 101 conforme ilustrado na Fig. 10. Esses parâmetros são para o formato de saída de áudio pré- definido de um sistema surround 5.1.
Naturalmente, o cálculo específico de parâmetros para essa implementação específica pode ser adaptado para outros formatos de saída ou parametrizações em vista das instruções deste documento. Ademais, a seqüência de etapas ou a organização dos meios nas Figs. 12 e 13a, b são somente formas de exemplo e podem ser alterados dentro do senso lógico das equações matemáticas.
Na etapa 120, é fornecida uma matriz de processamento A. A matriz de processamento indica onde a fonte da pluralidade de fontes deve ser colocada no contexto da configuração de saída pré-definida. A etapa 121 ilustra a dedução da matriz de downmix parcial D36 conforme indicado na equação (20). Essa matriz reflete a situação de um downmix de seis canais de saida para três canais e tem um tamanho 3xN. Quando se pretende gerar mais canais de saida do que a configuração 5.1, tal como uma configuração de saida de 8 canais (7.1), então a matriz determinada no bloco 121 seria uma matriz D38. Na etapa 122, uma matriz de processamento reduzida A3 é gerada multiplicando-se matriz D36 e a matriz de processamento completa conforme definido na etapa 120. Na etapa 123, é introduzida a matriz de downmix D. Essa matriz de downmix D pode ser recuperada do sinal do objeto de áudio codificado quando a matriz estiver completamente incluída nesse sinal. Como alternativa, a matriz de downmix poderia ser parametrizada, por exemplo, para o exemplo de informações de downmix específico e a matriz de downmix G.
Ademais, a matriz de energia de objeto é fornecida na etapa 124. Essa matriz de energia de objeto é refletida pelos parâmetros objeto para os objetos N e pode ser extraída dos objetos de áudio importados ou reconstruída utilizando uma determinada regra de reconstrução. Essa regra de reconstrução pode incluir uma decodificação de entropia, etc.
Na etapa 125, é definida a matriz de predição "reduzida" C3. Os valores dessa matriz podem ser calculados solucionando o sistema de equações lineares conforme indicado na etapa 125. Especificamente, os elementos da matriz C3 podem ser calculados multiplicando-se a equação em ambos os lados por um inverso de (DED*) .
Na etapa 126, é calculada a matriz de conversão G. A matriz de conversão G tem um tamanho de KxK e é gerada conforme definido pela equação (25). Para solucionar a equação na etapa 126, a matriz especifica Dttt deve ser fornecida conforme indicado pela etapa 127. Um exemplo para essa matriz é dado na equação (24) e a definição pode ser derivada da equação correspondente para Cttt conforme definido na equação (22). A equação (22), portanto, define o que deve ser feito na etapa 128. A etapa 129 define as equações para calcular a matriz Cttt . Assim que a matriz Cttt é determinada de acordo com a equação no bloco 129, os parâmetros α, β e γ, que são os parâmetros CPC, podem ser produzidos. De preferência γ é definido como 1 de maneira que os únicos parâmetros de CPC remanescentes inseridos no bloco 71 sejam
α e β.
Os parâmetros remanescentes necessários para o esquema na Fig. 7 são os parâmetros inseridos nos blocos 74a, 74b e 74c. 0 cálculo desses parâmetros é discutido em relação à Fig. 13a. Na etapa 130, é fornecida a matriz de processamento A. 0 tamanho da matriz de processamento A é de linhas N para o número de objetos de áudio e colunas M para o número de canais de saída. Essa matriz de processamento inclui as informações do vetor do ambiente, quando um vetor de ambiente é utilizado. Geralmente, a matriz de processamento inclui as informações sobre a colocação de uma fonte de áudio em uma determinada posição em uma configuração de saída. Quando, por exemplo, a matriz de processamento A abaixo da equação (19) é considerada, torna-se claro como uma determinada colocação de objetos de áudio pode ser codificada dentro da matriz de processamento. Naturalmente, podem ser utilizadas outras maneiras de indicar uma determinada posição, tais como por valores diferentes de 1. Ademais, quando são utilizados valores menores que 1 por um lado e maiores que 1 por outro lado, o volume do som dos determinados objetos de áudio pode ser igualmente influenciado
Em uma configuração, a matriz de processamento é gerada no lado do decodificador sem nenhuma informação do lado do codificador. Isso permite que um usuário coloque os objetos de áudio onde desejar sem prestar atenção em uma relação espacial dos objetos de áudio na configuração do codificador. Em outra configuração, o local relativo ou absoluto de fontes de áudio pode ser codificado no lado do codificador e transmitido para o decodificador como uma espécie de vetor de ambiente. Depois, no lado do decodificador, essas informações sobre locais de fontes de áudio que são preferivelmente independentes de uma configuração de processamento de áudio pretendida são processadas para resultar em uma matriz de processamento que reflete os locais das fontes de áudio customizadas para a configuração de saida de áudio especi fica.
Na etapa 131, é fornecida a matriz de energia de objeto E que já foi discutida em relação à etapa 124 da Fig. 12. Essa matriz possui o tamanho de NxN e inclui os parâmetros de objeto de áudio. Em uma configuração tal matriz de energia de objeto é fornecida para cada sub-banda e cada bloco de amostras de domínio de tempo ou amostras de domínio de sub-banda.
Na etapa 132, é calculada a matriz de energia de saída F. F é a matriz de covariância dos canais de saída. Uma vez que os canais de saída ainda são, contudo, desconhecidos, a matriz de energia de saída F é calculada utilizando a matriz de processamento e a matriz de energia. Essas matrizes são fornecidas nas etapas 130 e 131 e estão prontamente disponíveis no lado do decodificador. Então, as equações especificas (15), (16), (17), (18) e (19) são aplicadas para calcular os parâmetros de diferença de nivel de canal CLD0, CLD1, CLD2 e os parâmetros de coerência entre canais ICCx e ICC2 de maneira que os parâmetros para as caixas 74a, 74b, 74c estejam disponíveis. De forma importante, os parâmetros espaciais são calculados combinando os elementos específicos da matriz de energia de saída F.
Subsequente à etapa 133, todos os parâmetros para um upmixer espacial, conforme o upmixer espacial é ilustrado esquematicamente na Fig. 7, estão disponíveis.
Nas configurações anteriores, os parâmetros objeto foram dados como parâmetros de energia. Quando, no entanto, os parâmetros objeto são dados como parâmetros de predição, ou seja, como uma matriz de predição de objeto C conforme indicado pelo item 124a na Fig. 12, o cálculo da matriz de predição reduzida C3 é apenas uma multiplicação da matriz conforme ilustrado no bloco 125a e discutido em relação à equação (32) . A matriz A3 conforme utilizada no bloco 125a é a mesma matriz A3 conforme mencionado no bloco 122 da Fig. 12. Quando a matriz de predição de objeto C é gerada
por um codificador de objeto de áudio e transmitida ao decodificador, alguns cálculos adicionais são então necessários para gerar os parâmetros para as caixas 74a, 74b, 74c. Essas etapas adicionais são indicadas na Fig. 13b. Novamente, a matriz de predição de objeto C é fornecida conforme indicado por 124a na Fig. 13b, que é a mesma conforme discutido em relação ao bloco 124a da Fig. 12. Então, como discutido em relação à equação (31), a matriz de covariância do downmix de objeto Z é calculada utilizando o downmix transmitido ou é gerada e transmitida como informação de lado adicional. Quando as informações na matriz Z são transmitidas, o decodificador não precisa então necessariamente to executar nenhum cálculo de energia que inerentemente introduza processamento atrasado e aumente a carga de processamento no lado do decodificador. Quando, todavia, essas questões não forem decisivas para uma determinada aplicação, a largura de banda da transmissão pode então ser economizada e a matriz de covariância Z do downmix de objeto pode também ser calculada utilizando as amostras de downmix que estão, evidentemente, disponíveis no lado do decodificador. Assim que a etapa 134 estiver concluída e a matriz de covariância do downmix de objeto estiver pronta, a matriz de energia de objeto E pode ser calculada conforme indicado pela etapa 135 utilizando a matriz de predição Cea covariância de downmix ou a matriz de "energia de downmix" Z. Assim que a etapa 135 estiver concluída, todas as etapas discutidas em relação à Fig. 13a podem ser realizadas, tais como etapas 132, 133, para gerar todos os parâmetros para os
blocos 74a, 74b, 74c da Fig. 7. A Fig. 16 ilustra uma configuração adicional, em
que é necessário apenas um processamento estéreo. O processamento estéreo é a saída conforme fornecido pelo modo número 5 ou linha 115 da Fig. 11. Aqui, o sintetizador de dados de saída 100 da Fig. não tem interesse em quaisquer parâmetros de upmix espacial, mas está interessado principalmente em uma matriz de conversão específica G para converter o downmix de objeto em um downmix estéreo utilizável, evidentemente, prontamente influenciável e controlável. Na etapa 160 da Fig. 16, é calculada uma matriz de downmix parcial M-para-2. No caso de seis canais de saída, a matriz de downmix parcial seria uma matriz de downmix de seis canais para dois canais, mas outras matrizes de downmix também estão disponíveis. 0 cálculo dessa matriz de downmix parcial pode ser, por exemplo, derivado da matriz de downmix parcial D36 conforme gerado na etapa 121 e a matriz Dttt conforme utilizada na etapa 127 da Fig. 12.
Ademais, uma matriz de processamento estéreo A2 é gerada utilizando o resultado da etapa 160 e a "grande" matriz de processamento A é ilustrada na etapa 161. A matriz de processamento A é a mesma matriz daquela discutida em relação ao bloco 120 na Fig. 12.
Subseqüentemente, na etapa 162, a matriz de processamento estéreo pode ser parametrizada por parâmetros de colocação μ e κ. Quando μ estiver definido como IeK estiver definido como 1 também, a equação (33) é então obtida, o que permite uma variação do volume de voz no exemplo descrito em relação à equação (33). Quando, entretanto, outros parâmetros como μ e κ são utilizados, a colocação das fontes pode ser variada também.
Então, conforme indicado na etapa 163, a matriz de conversão G é calculada utilizando a equação (33) . Em particular, a matriz (DED*) pode ser calculada, invertida e a matriz invertida pode ser multiplicada pelo lado direito da equação no bloco 163. Naturalmente, outros métodos para solucionar a equação no bloco 163 podem ser aplicados. Então, a matriz de conversão G está lá, e o downmix de objeto X pode ser convertido multiplicando a matriz de conversão e o downmix de objeto conforme indicado no bloco 164. Então, o downmix convertido X' pode ser estéreo-processado utilizando dois falantes estéreo. Dependendo da implementação, determinados valores para μ, ν e κ podem ser definidos para calcular a matriz de conversão G. De modo alternativo, a matriz de conversão G pode ser calculada utilizando todos esses três parâmetros como variáveis de modo que os parâmetros possam ser definidos após a etapa 163 conforme requerido pelo usuário.
Configurações preferidas resolvem o problema de transmitir uma série de objetos de áudio individuais (utilizando um downmix multicanal e dados de controle adicionais que descrevam os objetos) e processar os objetos para um dado sistema de reprodução (configuração de alto-falantes). É introduzida uma técnica sobre como tornar os dados de controle relacionados ao objeto em dados de controle compatíveis com o sistema de reprodução. É proposto também métodos de codificação adequados com base no esquema de codificação MPEG Surround.
Dependendo de certos requisitos de implementação dos métodos inventivos, os sinais e métodos inventivos podem ser implementados em hardware ou software. A implementação pode ser realizada utilizando um meio de armazenamento digital, em especial um disco ou um CD contendo sinais de controle legíveis eletronicamente nele armazenados, que possa cooperar com um sistema de computador programável tal que os métodos inventivos sejam realizados. Geralmente, a presente invenção é, portanto, um produto de programa de computador com um código do programa armazenado em um portador legível por máquina, o código de programa sendo configurado para executar ao menos um dos métodos inventivos, quando os produtos do programa de computador forem executados em um computador. Em outras palavras, os métodos inventivos são, dessa forma, um programa de computador contendo um código do programa para executar os métodos inventivos, quando o programa de computador for executado em um computador.
Em outras palavras, de acordo com uma configuração do presente caso, um codificador de objeto de áudio para gerar um sinal de objeto de áudio codificado utilizando uma pluralidade de objetos de áudio, compreende um gerador de informações de downmix para gerar informações de downmix indicando uma distribuição da pluralidade de objetos de áudio em pelo menos dois canais downmix; um gerador de parâmetros objeto para gerar parâmetros objeto para os objetos de áudio; e uma interface de saida para gerar o sinal de objeto de áudio codificado utilizando as informações de downmix e os parâmetros objeto.
Opcionalmente, a interface de saida poderá operar para gerar o sinal de áudio codificado utilizando adicionalmente a pluralidade dos canais downmix. Adicional ou alternativamente, o gerador de
parâmetros poderá estar operante para gerar os parâmetros objeto com uma primeira resolução de freqüência e tempo, e na qual o gerador de informações de downmix está operante para gerar as informações de downmix com uma segunda resolução de freqüência e tempo, esta sendo menor do que a primeira.
Ainda, o gerador de informações de downmix poderá estar operante para gerar as informações de downmix tal que sejam iguais para toda a banda de freqüência dos objetos de áudio. Ainda, o gerador de informações de downmix poderá estar operante para gerar as informações de downmix tal que represente uma matriz de downmix definida conforme segue:
X = DS
onde S é a matriz e representa os objetos de áudio e possui um número de linhas igual ao número de objetos de áudio,
onde D é a matriz de downmix, e
onde X é uma matriz e representa a pluralidade de canais downmix e possui um número de linhas igual ao número de canais downmix.
Ainda, as informações em uma porção podem ser um fator menor que 1 e maior que 0.
Ainda, o downmixer poderá estar operante para incluir a representação estéreo de música ambiente em pelo menos dois canais downmix, e introduzir uma faixa de voz em pelo menos dois canais downmix em uma razão pré-definida.
Ainda, o downmixer poderá estar operante para realizar uma adição de amostra de sinais a serem introduzidos em um canal downmix conforme indicado pelas informações de downmix.
Ainda, a interface de saida poderá estar operante para realizar uma compressão de dados das informações de downmix e dos parâmetros objeto antes de gerar o sinal de objeto de áudio codificado.
Ainda, a pluralidade de objetos de áudio poderá incluir um objeto estéreo representado por dois objetos de áudio contendo uma determinada correlação não zero, e em que o gerador de informações de downmix gere informações de agrupamento indicando os dois objetos de áudio formando o objeto estéreo.
Ainda, o gerador de parâmetros objeto poderá estar operante para gerar parâmetros de predição de objeto para os objetos de áudio, os parâmetros de predição sendo calculados tal que a adição ponderada dos canais downmix para um objeto de origem controlado pelos parâmetros de predição ou o objeto da origem resulte em uma aproximação do objeto de origem.
Ainda, os parâmetros de predição poderão ser gerados por banda de freqüência, e nos quais os objetos de áudio cobrem uma pluralidade de bandas de freqüência.
Ainda, o número de objetos de áudio poderá ser igual a Ν, o número de canais downmix é igual a K, e o número de parâmetros de predição de objeto calculado pelo gerador de parâmetros objeto é igual ou menor que N-K. Ainda, o gerador de parâmetros objeto poderá
estar operante para calcular no máximo parâmetros de predição de objeto K · (N-K).
Ainda, o gerador de parâmetros objeto poderá incluir um upmixer para realizar o processo de upmix da pluralidade de canais downmix utilizando diferentes conjuntos parâmetros de predição de objeto de teste; e
em que o codificador de objeto de áudio compreende ainda um controlador de iteração para encontrar os parâmetros de predição de objeto de teste resultando no menor desvio entre um sinal de fonte reconstruído pelo upmixer e o sinal de fonte original correspondente entre os diferentes conjuntos de parâmetros de predição de objeto de teste.
Ainda, o sintetizador de dados de saída pode estar operante para determinar a matriz de conversão utilizando as informações de downmix em que a matriz de conversão é calculada de maneira que ao menos porções dos canais downmix sejam trocadas quando um objeto de áudio incluído em um primeiro canal downmix representando a primeira metade de um plano estéreo for reproduzido na segunda metade do plano estéreo.
Ainda, o sintetizador de áudio poderá compreender um processador de canais para processar canais de saída de áudio para a configuração de saída de áudio pré-definida utilizando os parâmetros espaciais e ao menos dois canais downmix ou os canais
de downmix convertidos.
Ainda, o sintetizador de dados de saída pode estar operante para produzir os canais de saída da configuração de saída de áudio pré-definida adicionalmente utilizando ao menos
dois canais downmix.
Ainda, o sintetizador de dados de saída pode estar operante para calcular pesos de downmix reais para a matriz de downmix parcial de modo que uma energia de uma soma ponderada de dois canais seja igual às energias dos canais dentro de um fator limite.
Ainda, os pesos de downmix para a matriz de downmix parcial poderão ser determinados conforme segue:
wIiflp-\,2p-\ +flp.lp +2/2/,-Up) = flp-\,2p-\ + flplpi P = ]'2'3 '
onde Wp é um peso de downmix, ρ é uma variável de índice de números inteiros, fj(i é um elemento de matriz de uma matriz de energia representando uma aproximação de uma matriz de covariância dos canais de saída da configuração de saída pré- definida . Ainda, o sintetizador de dados de saída pode estar operante para calcular coeficientes separados da matriz de predição solucionando um sistema de equações lineares.
Ainda, o sintetizador de dados de saída pode estar operante para solucionar o sistema de equações lineares baseado em:
C3 (DED*) = A3ED*,
onde C3 é matriz de predição Two-To-Three, D é a matriz de downmix derivada das informações de downmix, E é uma matriz de energia derivada dos objetos de fonte de áudio, e A3 é a matriz de downmix reduzida, e onde indica a operação conjugada
complexa.
Ainda, os parâmetros de predição para o upmix Two-To-Three podem ser derivados de uma parametrização da matriz de predição de maneira que a matriz de predição seja definida utilizando-se somente dois parâmetros, e
em que o sintetizador de dados de saída está operante para pré-processar ao menos os dois canais downmix de maneira que o efeito do pré-processamento e a matriz de predição parametrizada correspondam a uma matriz de upmix desejada.
Ainda, a parametrização da matriz de predição
poderá ser conforme segue:
a + 2 β 1~ a-1 β + 2 , l-a 1-β
onde o índice TTT é a matriz de predição
parametrizada e onde α,β e γ são fatores.
Ainda, uma matriz de conversão de downmix G
r -
^TTT
Y poderá ser calculada conforme segue:
G = DtttC3 ,
onde C3 é uma matriz de predição Two-To-Three, onde Dttt e Cttt é igual a I, onde I é uma matriz de identidade two- by-two, e onde CTtt é baseado em:
c
777 ^
a + 2 β-\ a-1 β + 2 1-a \-β
onde a, β e γ são fatores constantes.
Ainda, os parâmetros de predição para o upmix Two-To-Three poderão ser determinados como α e β, onde γ está definido como 1.
Ainda, o sintetizador de dados de saida pode estar operante para calcular os parâmetros de energia para o upmix Three-Two-Six utilizando uma matriz de energia F baseada em:
YY*«F=AEA*,
onde A é a matriz de processamento, E é a matriz de energia derivada de objetos de fonte de áudio, Y é uma matriz de canal de saida e indica a operação conjugada complexa.
Ainda, o sintetizador de dados de saida pode estar operante para calcular os parâmetros de energia combinando elementos da matriz de energia.
Ainda, o sintetizador de dados de saida pode estar operante para calcular parâmetros de energia com base nas seguintes equações:
í f \
CLD0 = IOlog10
fss
\fó 6 J CLDi =IOlog
10
CLD2 =IOlog
10
(f λ J 33
(f λ J 11
\fl2 J
ICC1 =
ICC2 =
(p(fu)
V /3/44 (Pifl2)
yjfwfn
onde φ é um valor absoluto φ(ζ)=|ζ| ou um operador
de valor real (p(z)=Re{z},
onde CLD0 é um primeiro parâmetro de energia de diferença de nivel de canal, onde CLD1 é um segundo parâmetro de energia de diferença de nivel de canal, onde CLD2 é um terceiro parâmetro de energia de diferença de nivel de canal, onde ICCi é um primeiro parâmetro de energia de coerência entre canais, and ICC2 é um segundo parâmetro de energia de coerência entre canais, e onde fij são elementos de uma matriz de energia F nas posições i,j nessa matriz.
Ainda, o primeiro grupo de parâmetros poderá
incluir parâmetros de energia, e no qual o sintetizador de dados de saida está operante para deduzir os parâmetros de energia combinando elementos da matriz de energia F.
Ainda, os parâmetros de energia poderão ser deduzidos com base em:
CLD0rrr =IOlog10
f l|,i|2 li ..2 Λ
/ +M
= IOlog
10
^Zi1 +./22 +/33 +/44 ^ fs5 + fè 6 10
15
20
25
CLDxrn =IOlog
f Ί/ΙΙ2 ^
ΊΟ
ν ΠΙ J
= IOlog
ί r r Λ
JU + J 22
1IO
/33+/.
44 /
onde CLD0TTT é um primeiro parâmetro de energia do
primeiro grupo e onde Cld1ttT é um segundo parâmetro de energia do
primeiro grupo de parâmetros.
Ainda, o sintetizador de dados de saída pode
estar operante para calcular fatores de peso para ponderar os canais downmix, os fatores de peso sendo utilizados para controlar fatores de ganhos de downmix arbitrários do decodificador
espacial.
Ainda, o sintetizador de dados de saída pode estar operante para calcular fatores de peso com base em:
Z = DED*, W = D25ED426,
G =
Vwn/zi
0
0 -Jw22Iz22 _
onde D é a matriz de downmix, E é uma matriz de energia derivada de objetos de fonte de áudio, onde W é uma matriz intermediária, onde D26 é a matriz de downmix parcial para o processo de downmix de 6 canais para 2 canais da configuração de saída pré-determinada, e onde G é a matriz de conversão incluindo os fatores de ganhos de downmix arbitrários do decodificador espacial.
Ainda, o sintetizador de dados de saída pode estar operante para calcular a matriz de energia com base em:
E=CZC*,
onde E é a matriz de energia, C é a matriz de parâmetros de predição, e Z é uma matriz de covariância de ao menos dois canais downmix.
Ainda, o sintetizador de dados de saída pode
estar operante para calcular a matriz de conversão com base em:
G=A2-C,
onde G a matriz de conversão, A2 é a matriz de
processamento parcial, e C é a matriz de parâmetros de predição.
Ainda, o sintetizador de dados de saída pode estar operante para calcular a matriz de conversão com base em:
G (DED*) =A2ED*,
]0 onde G é a matriz de energia derivada da fonte de
áudio de faixas, D é uma matriz de downmix derivada das informações de downmix, A2 é uma matriz de processamento reduzida, e indica a operação conjugada complexa.
Ainda, a matriz de processamento estéreo
parametrizada A2 pode ser determinada conforme segue:
μ \-μ ν l-κ κ
onde μ, ν e κ são parâmetros de representação real a serem definidos de acordo com posição e volume de um ou mais objetos de áudio de fonte.