BR112017007153B1 - Canais de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior - Google Patents

Canais de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior Download PDF

Info

Publication number
BR112017007153B1
BR112017007153B1 BR112017007153-3A BR112017007153A BR112017007153B1 BR 112017007153 B1 BR112017007153 B1 BR 112017007153B1 BR 112017007153 A BR112017007153 A BR 112017007153A BR 112017007153 B1 BR112017007153 B1 BR 112017007153B1
Authority
BR
Brazil
Prior art keywords
layers
bitstream
channels
indication
layer
Prior art date
Application number
BR112017007153-3A
Other languages
English (en)
Other versions
BR112017007153A2 (pt
Inventor
Moo Young Kim
Nils Günther Peters
Dipanjan Sen
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 US14/878,729 external-priority patent/US9984693B2/en
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112017007153A2 publication Critical patent/BR112017007153A2/pt
Publication of BR112017007153B1 publication Critical patent/BR112017007153B1/pt

Links

Abstract

CANAIS DE SINALIZAÇÃO PARA CODIFICAÇÃO ESCALONÁVEL DE DADOS DE ÁUDIO AMBISONIC DE ORDEM SUPERIOR. Em geral, técnicas são descritas para canais de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior. Um dispositivo compreendendo uma memória e um processador pode ser configurado para executar as técnicas. A memória pode ser configurada para armazenar o fluxo de bits. O processador pode ser configurado para obter, a partir do fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas no fluxo de bits, e obter os canais especificados em uma ou mais camadas no fluxo de bits com base na indicação do número de canais.

Description

[0001] O presente pedido reivindica o benefício do seguinte: Pedido provisional US número 62/062.584, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em 10 de outubro de 2014; Pedido provisional US número 62/084.461, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em 25 de novembro de 2014; Pedido provisional US número 62/087.209, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em de dezembro de 2014; Pedido provisional US número 62/088.445, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em 5 de dezembro de 2014; Pedido provisional US número 62/145.960, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em 10 de abril de 2015; Pedido provisional US número 62/175.185, intitulado “SCALABLE CODING OF HIGHER ORDER AMBISONIC AUDIO DATA, ” depositado em 12 de junho de 2015; Pedido provisional US número 62/187.799, intitulado “REDUCING CORRELATION BETWEEN HIGHER ORDER AMBISONIC (HOA) BACKGROUND CHANNELS, ” depositado em 1 de julho de 2015; e Pedido provisional US número 62/209.764, intitulado “TRANSPORTING CODED SCALABLE AUDIO DATA, ” depositado em 25 de agosto de 2015; O teor na íntegra de cada é incorporado aqui por referência.
CAMPO TÉCNICO
[0002] A presente revelação refere-se a dados de áudio e, mais especificamente, codificação escalonável de dados de áudio ambisonic de ordem superior.
ANTECEDENTES
[0003] Um sinal ambisonics de ordem superior (HOA) (frequentemente representado por uma pluralidade de coeficientes harmônicos esféricos (SHC) ou outros elementos hierárquicos) é uma representação tridimensional de um campo de som. A representação HOA ou SHC pode representar o campo de som em um modo que é independente da geometria de alto-falante local usado para reprodução de um sinal de áudio de multicanais fornecido a partir do sinal SHC. O sinal SHC pode facilitar também compatibilidade regressiva visto que o sinal SHC pode ser fornecido para formatos de multicanal bem conhecidos e altamente adotados, como um formato de canal de áudio 5.1 ou um formato de canal de áudio 7.1. A representação SHC pode, portanto, permitir que uma representação melhor de um campo de som que também acomoda compatibilidade regressiva.
SUMÁRIO
[0004] Em geral, técnicas são descritas para codificação escalonável de dados de áudio ambisonics de ordem superior. Dados de áudio ambisonics de ordem superior podem compreender pelo menos um coeficiente ambisonic de ordem superior (HOA) correspondendo a uma função de base harmônica esférica tendo uma ordem maior que um. As técnicas podem fornecer codificação escalonável dos coeficientes HOA por codificar os coeficientes HOA ilustrando múltiplas camadas, como uma camada base e uma ou mais camadas de aperfeiçoamento. A camada base pode permitir reprodução de um campo de som representado pelos coeficientes HOA que podem ser aperfeiçoados por uma ou mais camadas de aperfeiçoamento. Em outras palavras, as camadas de aperfeiçoamento (em combinação com a camada base) podem fornecer resolução adicional que permite uma reprodução mais completa (ou mais precisa) do campo de som em comparação com a camada base sozinha.
[0005] Em um aspecto, um dispositivo é configurado para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior. O dispositivo compreende uma memória configurada para armazenar o fluxo de bits, e um ou mais processadores configurados para obter, a partir do fluxo de bits, uma indicação de um número de camadas especificadas no fluxo de bits, e obter as camadas do fluxo de bits com base na indicação do número de camadas.
[0006] Em outro aspecto, um método de decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o método compreendendo obter, a partir do fluxo de bits, uma indicação de um número de camadas especificadas no fluxo de bits, e obter as camadas do fluxo de bits com base na indicação do número de camadas.
[0007] Em outro aspecto, um aparelho é configurado para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior. O aparelho compreende meio para armazenar o fluxo de bits, meio para obter, a partir do fluxo de bits, uma indicação de um número de camadas especificado no fluxo de bits, e meio para obter as camadas do fluxo de bits com base na indicação do número de camadas.
[0008] Em outro aspecto, uma mídia de armazenagem legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores obtenha, a partir do fluxo de bits, uma indicação de um número de camadas especificado no fluxo de bits, e obtenha as camadas do fluxo de bits com base na indicação do número de camadas.
[0009] Em outro aspecto, um dispositivo é configurado para codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits. O dispositivo compreende uma memória configurada para armazenar o fluxo de bits, e um ou mais processadores configurados para especificar uma indicação de um número de camadas no fluxo de bits, e transmitir o fluxo de bits que inclui o número indicado das camadas.
[00010] Em outro aspecto, um método de gerar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o método compreende especificar uma indicação de um número de camadas no fluxo de bits, e transmitir o fluxo de bits que inclui o número indicado das camadas.
[00011] Em outro aspecto, um dispositivo é configurado para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior. O dispositivo compreende uma memória configurada para armazenar o fluxo de bits, e um ou mais processadores configurados para obter, a partir do fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas no fluxo de bits, e obter os canais especificados em uma ou maios camadas no fluxo de bits com base na indicação do número de canais.
[00012] Em outro aspecto, um método de decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o método compreendendo obter, a partir do fluxo de bits, uma indicação de um número de canais especificado em uma ou mais camadas no fluxo de bits, e obter os canais especificados em uma ou mais camadas no fluxo de bits com base na indicação do número de canais.
[00013] Em outro aspecto, um dispositivo é configurado para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior. O dispositivo compreende meio para obter, a partir do fluxo de bits, uma indicação de um número de canais especificado em uma ou mais camadas do fluxo de bits, e meio para obter os canais especificados em uma ou mais camadas no fluxo de bits com base na indicação do número de canais.
[00014] Em outro aspecto, uma mídia de armazenagem legível em computador não transitória tendo armazenada na mesma instruções que, quando executadas, fazem com que um ou mais processadores obtenham, de um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, uma indicação de um número de canais especificado em uma ou mais camadas do fluxo de bits, e obtenham os canais especificados em uma ou mais camadas do fluxo de bits com base na indicação do número de canais.
[00015] Em outro aspecto, um dispositivo é configurado para codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits. O dispositivo compreende um ou mais processadores configurados para especificar, no fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas do fluxo de bits, e especificar o número indicado dos canais em uma ou mais camadas do fluxo de bits, e uma memória configurada para armazenar o fluxo de bits.
[00016] Em outro aspecto, um método de codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits, o método compreende especificar, no fluxo de bits, uma indicação de um número de canais especificado em uma ou mais camadas do fluxo de bits, e especificar o número indicado dos canais em uma ou mais camadas do fluxo de bits.
[00017] Os detalhes de um ou mais aspectos das técnicas são expostos nos desenhos em anexo e descrição abaixo. Outras características, objetivos e vantagens das técnicas serão evidentes a partir da descrição e desenhos, e das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[00018] A figura 1 é um diagrama ilustrando funções básicas harmônicas esféricas de várias ordens e subordens.
[00019] A figura 2 é um diagrama ilustrando um sistema que pode executar vários aspectos das técnicas descritas nessa revelação.
[00020] A figura 3 é um diagrama de blocos ilustrando, em mais detalhe, um exemplo do dispositivo de codificação de áudio mostrado no exemplo da figura 2 que pode executar vários aspectos das técnicas descritas nessa revelação.
[00021] A figura 4 é um diagrama de blocos ilustrando o dispositivo de decodificação de áudio da figura 2 em mais detalhe.
[00022] A figura 5 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits da figura 3 quando configurada para executar uma primeira das versões em potencial das técnicas de codificação de áudio escalonável descritas nessa revelação.
[00023] A figura 6 é um diagrama ilustrando, em mais detalhe, a unidade de extração da figura 4 quando configurada para executar a primeira das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação.
[00024] As figuras 7A-7D são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio na geração de uma representação de duas camadas codificada dos coeficientes ambisonic de ordem superior (HOA).
[00025] As figuras 8A e 8B são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio na geração de uma representação de três camadas codificada dos coeficientes HOA.
[00026] As figuras 9A e 9B são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio na geração de uma representação de quatro camadas codificada dos coeficientes HOA.
[00027] A figura 10 é um diagrama ilustrando um exemplo de um objeto de configuração de HOA especificado no fluxo de bits de acordo com vários aspectos das técnicas.
[00028] A figura 11 é um diagrama ilustrando informação de banda lateral gerada pela unidade de geração de fluxo de bits para a primeira e a segunda camadas.
[00029] As figuras 12A e 12B são diagramas ilustrando informações de banda lateral geradas de acordo com os aspectos de codificação de áudio das técnicas descritas nessa revelação.
[00030] As figuras 13A e 13B são diagramas ilustrando informações de banda lateral geradas de acordo com os aspectos de codificação escalonável das técnicas descritas nessa revelação.
[00031] As figuras 14A e 14B são fluxogramas ilustrando operações de exemplo de dispositivo de codificação de áudio na execução de vários aspectos das técnicas descritas nessa revelação.
[00032] As figuras 15A e 15B são fluxogramas ilustrando operações de exemplo de dispositivo de decodificação de áudio na execução de vários aspectos das técnicas descritas nessa revelação.
[00033] A figura 16 é um diagrama ilustrando codificação de áudio escalonável como executada pela unidade de geração de fluxo de bits mostrada no exemplo da figura 16 de acordo com vários aspectos das técnicas descritas nessa revelação.
[00034] A figura 17 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há duas camadas com quatro coeficientes HOA de ambiente codificado especificados em uma camada de base e dois sinais de primeiro plano codificados são especificados na camada de aperfeiçoamento.
[00035] A figura 18 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits da figura 3 quando configurada para executar uma segunda das versões em potencial das técnicas de codificação de áudio escalonável descritas nessa revelação.
[00036] A figura 19 é um diagrama ilustrando, em mais detalhe, a unidade de extração da figura 3 quando configurada para executar a segunda das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação.
[00037] A figura 20 é um diagrama ilustrando um segundo caso de uso pelo qual a unidade de geração de fluxo de bits da figura 18 e a unidade de extração da figura 19 podem executar a segunda da versão em potencial das técnicas descritas nessa revelação.
[00038] A figura 21 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há três camadas com dois coeficientes HOA de ambiente codificado especificados em uma camada base, dois sinais de primeiro plano codificados são especificados em uma primeira camada de aperfeiçoamento e dois sinais de primeiro plano codificados são especificados em uma segunda camada de aperfeiçoamento.
[00039] A figura 22 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits da figura 3 quando configurada para executar uma terceira das versões em potencial das técnicas de codificação de áudio escalonável descritas nessa revelação.
[00040] A figura 23 é um diagrama ilustrando, em mais detalhe, a unidade de extração da figura 4 quando configurada para executar a terceira das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação.
[00041] A figura 24 é um diagrama ilustrando um terceiro caso de uso pelo qual um dispositivo de codificação de áudio pode especificar múltiplas camadas em um fluxo de bits de multicamadas de acordo com as técnicas descritas nessa revelação.
[00042] A figura 25 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há três camadas com dois sinais de primeiro plano codificados especificados em uma camada ase, dois sinais de primeiro plano codificados são especificados em uma primeira camada de aperfeiçoamento e dois sinais de primeiro plano codificados são especificados em uma segunda camada de aperfeiçoamento.
[00043] A figura 26 é um diagrama ilustrando um terceiro caso de uso pelo qual um dispositivo de codificação de áudio pode especificar múltiplas camadas em um fluxo de bits de multicamadas de acordo com as técnicas descritas nessa revelação.
[00044] As figuras 27 e 28 são diagramas de bloco ilustrando uma unidade de geração de fluxo de bits escalonável e uma unidade de extração de fluxo de bits escalonável que pode ser configurada para executar vários aspectos das técnicas descritas nessa revelação.
[00045] A figura 29 representa um diagrama conceptual representando um codificador que pode ser configurado para operar de acordo com vários aspectos das técnicas descritas nessa revelação.
[00046] A figura 30 é um diagrama ilustrando o codificador mostrado no exemplo da figura 27 em mais detalhe.
[00047] A figura 31 é um diagrama de bloco ilustrando um decodificador de áudio que pode ser configurado para operar de acordo com vários aspectos das técnicas descritas nessa revelação.
DESCRIÇÃO DETALHADA
[00048] A evolução de som surround tornou disponível muitos formatos de saída para entretenimento hoje em dia. Os exemplos de tais formatos de som surround de consumidor são na maioria baseados em ‘canal’ em que os mesmos implicitamente especificam feeds para alto-falantes em certas coordenadas geométricas. Os formatos de som surround de consumidor incluem o popular formato 5.1 (que inclui os seis canais a seguir: frontal esquerda (FL),frontal direita (FR), centro ou frontal centro, posterior esquerdo ou surround esquerdo, posterior direito ou surround direito, e efeitos de baixa frequência (LFE)), o formato 7.1 aumentando, vários formatos que incluem alto- falantes de altura como o formato 7.1.4 e o formato 22.2 (por exemplo, para usar com o padrão de Televisão de definição ultraelevada). Formatos não de consumidor podem cobrir qualquer número de alto-falantes (em geometrias simétricas e não simétricas) frequentemente denominadas ‘conjuntos de surround’. Um exemplo de tal conjunto inclui 32 alto-falantes posicionados em coordenadas nos cantos de um icosaedro truncado.
[00049] A entrada em um codificador MPEG futuro é opcionalmente um de três formatos possíveis: (i) audio baseado em canal tradicional (como discutido acima), que é para ser tocado através de alto-falantes em posições especificadas previamente; (ii) áudio baseado em objeto, que envolve dados de modulação-código-pulso (PCM) discretos para objetos de áudio únicos com metadados associados contendo suas coordenadas de local (entre outras informações); e (iii) áudio baseado em cena, que envolve representar o campo de som usando coeficientes de funções de base harmônica esférica (também chamados “coeficientes harmônicos esféricos” ou SHC, “Ambisonics de ordem superior” ou HOA e “coeficientes de HOA”). O codificador MPEG futuro pode ser descrito em mais detalhe em um documento intitulado “Call for proposals for 3D áudio,” pela Organização Internacional para Padronização/Comissão eletrotécnica internacional (ISO)/(IEC) JTC1/SC19/WG11/N13411, lançado em janeiro de 2013 em Genebra, Suíça, e disponível em http://mpeg.chiariglione.org/sites/default/files/files/stan dards/aprtes/docs/w134.11.zip.
[00050] Há vários formatos baseados em canal ‘som-surround’ no mercado. Variam, por exemplo, do sistema de home theatre 5.1 (que tem sido o mais bem-sucedido em termos de fazer incursões em salas-de-estar além de estéreo) até o sistema 22.2 desenvolvido por NHK (Nippon Hoso Kyokai ou Japan Broadcasting Corporation). Criadores de conteúdo (por exemplo, estudos de Hollywood) gostariam de produzir a trilha sonora para um filme uma vez, e não gastar esforço em remixar a mesma para a configuração de cada alto-falante. Recentemente, Organizações de desenvolvimento de padrão estão considerando modos nos quais fornecer uma codificação para um fluxo de bits padronizado e uma decodificação subsequente que é adaptável e agnóstica à geometria do alto0falante (e número) e condições acústicas no local da reprodução (envolvendo um renderizador).
[00051] Para fornecer tal flexibilidade para criadores de conteúdo, um conjunto hierárquico de elementos pode ser usado para representar um campo de som. O conjunto hierárquico de elementos pode se referir a um conjunto de elementos no qual os elementos são ordenados de modo que um conjunto básico de elementos de ordem inferior fornece uma representação completa do campo de som modelado. Como o conjunto é estendido para incluir elementos de ordem superior, a representação se torna mais detalhada, aumentando a resolução.
[00052] Um exemplo de um conjunto hierárquico de elementos é um conjunto de coeficientes harmônicos esféricos (SHC). A seguinte expressão demonstra uma descrição ou representação de um campo de som usando SHC:
[00053] A expressão mostra que a pressão pi em qualquer ponto {rr, θr, Φr} do campo de som, no tempo t, pode ser representada exclusivamente pelo SCH, Aqui, é a velocidade de som (~343 m/s),{rr, θr, Φr} é um ponto de referência (ou ponto de observação), jn(.) é a função Bessel esférica da ordem n, esão as funções de base harmônica esférica de ordem n e subordem m. Pode ser reconhecido que o termo em colchetes é uma representação de domínio de frequência do sinal (isto é, s (o,rr, θr, Φr)) que pode ser aproximada por várias transformações de frequência de tempo, como a transformada Fourier discreta (DFT), a transformada de cosseno discreta (DCT), ou uma transformada de wavelet. Outros exemplos de conjuntos hierárquicos incluem conjuntos de coeficientes de transformada de wavelet e outros conjuntos de coeficientes de funções de base de multi- resolução.
[00054] A figura 1 é um diagrama ilustrando funções de base harmônica esférica a partir da ordem zero (n = 0) até a quarta rodem (n = 4). Como pode ser visto,para cada ordem, há uma expansão de subordens m que são mostradas, porém não explicitamente mencionadas no exemplo da figura 1 para fins de facilidade de ilustração.
[00055] O SHCpode ser fisicamente adquirido (por exemplo, gravado por várias configurações de conjunto de microfones ou, alternativamente, pode ser derivado de descrições baseadas em objeto ou baseadas em canal do campo de som. O SHC representa áudio baseado em cena, onde o SCH pode ser entrado em um codificador de áudio para obter SHC codificado que pode promover transmissões ou armazenagem mais eficiente. Por exemplo, uma representação de quarta ordem envolvendo coeficientes (1+4)2 (25, e consequentemente quarta ordem) pode ser usada.
[00056] Como observado acima, o SHC pode ser derivado de uma gravação de microfone usando um conjunto de microfones. Vários exemplos de como SHC pode ser derivado de conjuntos de microfone são descritos em Poletti, M., “Three-dimensional surround sound systems based on spherical harmonics, ” J. Audio Eng. Soc., Vol. 53, no. 11, novembro de 200, páginas 1004-1025.
[00057] Para ilustrar como os SHCs podem ser derivados de uma descrição baseada em objeto, considere a seguinte equação. Os coeficientes para o campo de som correspondendo a um objeto de áudio individual podem ser expressos como:Onde i é é a função Hankel esférica (do segundo tipo) de ordem n, e {rs, θs, Φs} é a localização do objeto. Conhecendo a energia de fonte de objeto g(ra) como uma função de frequência (por exemplo, usando técnicas de análise de frequência de tempo, como executar uma transformada Fourier rápida no fluxo PCM) permite que convertemos cada objeto de PCM e a localização correspondente em SHC Além disso, pode ser mostrado (uma vez que o acima é uma decomposição linear e ortogonal) que os coeficientes para cada objeto são aditivos. Desse modo, uma variedade de objetos PCM pode ser representada pelos coeficientes (por exemplo, como uma soma dos vetores de coeficiente para os objetos individuais). Essencialmente, os coeficientes contêm informações sobre o campo de som (a pressão como uma função de coordenadas 3D) e o acima representa a transformação a partir de objetos individuais em uma representação do campo de som geral, nas proximidades do ponto de observação {rr, θr, Φr}. As figuras restantes são descritas abaixo no contexto de codificação de áudio baseado em objeto e baseado em SHC.
[00058] A figura 2 é um diagrama ilustrando um sistema 10 que pode executar vários aspectos das técnicas descritas nessa revelação. Como mostrado no exemplo da figura 2, o sistema 10 inclui um dispositivo criador de conteúdo 12 e um dispositivo consumidor de conteúdo 14. Embora descritos no contexto do dispositivo criador de conteúdo 12 e dispositivo consumidor de conteúdo 14, as técnicas podem ser implementadas em qualquer controle no qual SHCs (que podem ser também mencionados como coeficientes HOA) ou qualquer outra representação hierárquica de um campo de som são codificados para formar um fluxo de bits representativo dos dados de áudio. Além disso, o dispositivo criador de conteúdo 12 pode representar qualquer forma de dispositivo de computação capaz de implementar as técnicas descritas nessa revelação, incluindo um aparelho telefônico (ou telefone celular), um computador tablet, um smart phone, ou um computador de mesa para fornecer alguns exemplos. De modo semelhante, o dispositivo consumidor de conteúdo 14 pode representar qualquer forma de dispositivo de computação capaz de implementar as técnicas descritas nessa revelação, incluindo um aparelho telefônico (ou telefone celular), um computador tablet, um smart phone, um conversor de sinais de frequência, ou um computador de mesa para fornecer alguns exemplos.
[00059] O dispositivo criador de conteúdo 12 pode ser operado por um estúdio de filme ou outra entidade que pode gerar conteúdo de áudio de multicanais para consumo por operadores de dispositivos de consumidor de conteúdo, como o dispositivo de consumidor de conteúdo 14. Em alguns exemplos, o dispositivo criador de conteúdo 12 pode ser operado por um usuário individual que gostaria de comprimir coeficientes de HOA 11. Frequentemente, o criador de conteúdo gera conteúdo de áudio em combinação com conteúdo de vídeo. O dispositivo de consumidor de conteúdo 14 pode ser operado por um indivíduo. O dispositivo de consumidor de conteúdo 14 pode incluir um sistema de reprodução de áudio 16, que pode se referir a qualquer forma de sistema de reprodução de áudio capaz de fornecer SHC para reprodução como conteúdo de áudio de multicanais.
[00060] O dispositivo de criador de conteúdo 12 inclui um sistema de edição de áudio 18. O dispositivo de criador de conteúdo 12 obtém gravações ao vivo 7 em vários formatos (incluindo diretamente como coeficientes HOA) e objetos de áudio 9, que o dispositivo de criador de conteúdo 12 pode editar usando sistema de edição de áudio 18. Um microfone 5 pode capturar as gravações ao vivo 7. O criador de conteúdo pode, durante o processo de edição, fornecer coeficientes de HOA 11 a partir de objetos de áudio 9, ouvindo os feeds de alto-falante fornecidos em uma tentativa para identificar vários aspectos do campo de som que exigem edição adicional. O dispositivo de criador de conteúdo 12 pode então editar coeficientes de HOA 11 (potencialmente indiretamente através de manipulação de objetos diferentes dos objetos de áudio 9 dos quais os coeficientes de HOA de fonte podem ser derivados no modo descrito acima). O dispositivo de criador de conteúdo 12 pode empregar o sistema de edição de áudio 18 para gerar os coeficientes de HOA 11. O sistema de edição de áudio 18 representa qualquer sistema capaz de editar dados de áudio e transmitir os dados de áudio como um ou mais coeficientes harmônicos esféricos de fonte.
[00061] Quando o processo de edição é concluído, o dispositivo de criador de conteúdo 12 pode gerar um fluxo de bits 21 com base nos coeficientes de HOA 11. Isto é, o dispositivo de criador de conteúdo 12 inclui um dispositivo de codificação de áudio 20 que representa um dispositivo configurado para codificar ou de outro modo comprimir coeficientes de HOA 11 de acordo com vários aspectos das técnicas descritas nessa revelação para gerar o fluxo de bits 21. O dispositivo de codificação de áudio 20 pode gerar o fluxo de bits 21 para transmissão, como um exemplo, através de um canal de transmissão, que pode ser um canal cabeado ou sem fio, um dispositivo de armazenagem de dados ou similar. O fluxo de bits 21 pode representar uma versão codificada dos coeficientes de HOA 11 e pode incluir um fluxo de bits primário e outro fluxo de bits secundário, que pode ser mencionado como informação de canal secundário.
[00062] Embora mostrado na figura 2 como sendo diretamente transmitido para o dispositivo de consumidor de conteúdo 14, o dispositivo de criador de conteúdo 12 pode transmitir o fluxo de bits 21 para um dispositivo intermediário posicionado entre o dispositivo de criador de conteúdo 12 e o dispositivo de consumidor de conteúdo 14. O dispositivo intermediário pode armazenar o fluxo de bits 21 para fornecimento posterior ao dispositivo de consumidor de conteúdo 14, que pode solicitar o fluxo de bits. O dispositivo intermediário pode compreender um servidor de arquivo, um servidor de rede, um computador de mesa, um computador de laptop, um computador de tablet, um telefone móvel, um smart phone, ou qualquer outro dispositivo capaz de armazenar o fluxo de bits 21 para recuperação posterior por um decodificador de áudio. O dispositivo intermediário pode residir em uma rede de fornecimento de conteúdo capaz de streaming o fluxo de bits 21 (e possivelmente em combinação com a transmissão de um fluxo de bits de dados de vídeo correspondente) para assinantes, como o dispositivo de consumidor de conteúdo 14, solicitando o fluxo de bits.
[00063] Alternativamente, o dispositivo de criador de conteúdo 12 pode armazenar o fluxo de bits 21 para uma mídia de armazenagem, como um compact disc, um digital vídeo disc, um disco de vídeo de alta definição ou outra mídia de armazenagem, a maioria dos quais é capaz de ser lida por um computador e, portanto, pode ser mencionada como mídia de armazenagem legível em computador ou mídia de armazenagem legível em computador não transitória. Nesse contexto, o canal de transmissão pode se referir aos canais pelos quais conteúdo armazenado para as mídias é transmitido (e pode incluir lojas a varejo e outro mecanismo de fornecimento baseado em loja). Em qualquer evento, as técnicas dessa revelação não devem, portanto, ser limitadas nesse aspecto ao exemplo da figura 2.
[00064] Como adicionalmente mostrado no exemplo da figura 2, o dispositivo de consumidor de conteúdo 14 inclui o sistema de reprodução de áudio 16. O sistema de reprodução de áudio 16 pode representar qualquer sistema de reprodução de áudio capaz de reproduzir dados de áudio de multicanais. O sistema de reprodução de áudio 16 pode incluir diversos renderizadores diferentes 22. Os renderizadores 22 podem individualmente fornecer uma forma diferente de renderização, onde as formas diferentes de renderização podem incluir um ou mais dos vários modos de executar giro de amplitude de base-vetor (VBAP), e/ou um ou mais dos vários modos de executar síntese de campo de som. Como usado aqui, “A e/ou B” significa “A ou B”, ou ambos “A e B”.
[00065] O sistema de reprodução de áudio 16 pode incluir ainda um dispositivo de decodificação de áudio 24. O dispositivo de decodificação de áudio 24 pode representar um dispositivo configurado para decodificar coeficientes HOA 11’ a partir do fluxo de bits 21, onde os coeficientes HOA 11’ podem ser similares aos coeficientes HOA 11, porém diferentes devido a operações de perda (por exemplo, quantização) e/ou transmissão através do canal de transmissão. O sistema de reprodução de áudio 16 pode, após decodificar o fluxo de bits 21 obter os coeficientes HOA q11’ e fornecer os coeficientes HOA 11’ para transmitir feeds de alto-falantes 25. Os feeds de alto-falante 25 podem acionar um ou mais alto-falantes (que não são mostrados no exemplo da figura 2 para fins de facilidade de ilustração).
[00066] Para selecionar o renderizador apropriado ou, em alguns casos, gerar um renderizador apropriado, o sistema de reprodução de áudio 16 pode obter informações de alto-falante 13 indicativa de um número de alto-falantes e/ou geometria espacial dos alto-falantes. Em algumas instâncias, o sistema de reprodução de áudio 16 pode obter as informações de alto-falante 13 usando um microfone de referência e acionando os alto-falantes de tal modo a determinar dinamicamente as informações de alto- falante 13. Em outras instâncias ou em combinação com a determinação dinâmica das informações de alto-falante 13, o sistema de reprodução de áudio 16 pode induzir um usuário a fazer interface com o sistema de reprodução de áudio 16 e entrar as informações de alto-falante 13.
[00067] O sistema de reprodução de áudio 16 pode selecionar então um dos renderizadores de áudio 22 com base nas informações de alto-falante 13. Em algumas instâncias, o sistema de reprodução de áudio 16 pode, quando nenhum dos renderizadores de áudio 22 está compreendido em alguma medição de similaridade de limiar (em termos da geometria de alto-falante) para a geometria de alto-falante especificada nas informações de alto- falante 13, gerar um de renderizadores de áudio 22 com base nas informações de alto-falante 13. O sistema de reprodução de áudio 16 pode, em algumas instâncias, gerar um dos renderizadores de áudio 22 com base nas informações de alto-falante 13 sem primeiramente tentar selecionar um renderizador existente dos renderizadores de áudio 22. Um ou mais alto-falantes 3 pode então reproduzir os feeds de alto-falante renderizados 25. Em outras palavras, os alto- falantes 3 podem ser configurados para reproduzir um campo de som baseado em dados de áudio ambisonic de ordem superior.
[00068] A figura 3 é um diagrama de blocos ilustrando em mais detalhe, um exemplo do dispositivo de codificação de áudio 20 mostrado no exemplo da figura 2 que pode executar vários aspectos das técnicas descritas nessa revelação. O dispositivo de codificação de áudio 20 inclui uma unidade de análise de conteúdo 26, uma unidade de decomposição baseada em vetor 27 e uma unidade de decomposição baseada em direcional 28.
[00069] Embora descrito brevemente abaixo, mais informações referentes à unidade de decomposição baseada em vetor 27 e os vários aspectos de comprimir coeficientes HOA são disponíveis na Publicação do pedido de patente internacional no. WO 2014/194099, intitulada “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD, ” depositada em 29 de maio de 2014. Além disso, mais detalhes de vários aspectos da compressão dos coeficientes HOA de acordo com o padrão de áudio MPEG-H, incluindo uma discussão da decomposição baseada em vetor resumida abaixo, podem ser encontrados em: Documento ISO/IEC DIS 23008-3, intitulado “Information technology - High efficiency coding and media delivery in heterogeneous environments - part 3: 3D áudio,” por ISO/IEC JTC 1/SC 29/WG 11, datado de 25-07-2014 (disponível em: http://mpeg.chiariglione.org/standards/mpeg-h/3d- audio/dis-mpeg-h-3d-audio, a seguir mencionado como “fase 1 do padrão de áudio MPEG-H 3D”); Documento ISO/IEC DIS 23008-3:2015/PDAM 3, intitulado “Information technology - high efficiency coding and media delivery in heterogeneous environments - part 3: 3D áudio, AMENDMENT 3: MPEG-H 3D áudio phase 2”, por ISO/IEC JTC 1/SC 29/WG 11, datado de 25-07-2014 (disponível em: http://mpeg.chiariglione.org/standards/mpeg-h/3d- audio/text-isoiec-23008-3201xpdam-3-mpeg-h-3d- audio-phase-2, e a seguir mencionado como “fase II do padrão de áudio MPEG-H 3D”); e Jurgen Herre, e outros, intitulado “MPEG-H 3D Audio - The New standard for Coding of immersive spatial áudio,” datado de agosto de 2015 e publicado no vol. 9, no. 5 do IEEE Journal of Selected topics in Signal Processing.
[00070] A unidade de análise de conteúdo 26 representa uma unidade configurada para analisar o conteúdo dos coeficientes HOA 11 para identificar se os coeficientes HOA 11 representam conteúdo gerado de uma gravação ao vivo ou um objeto de áudio. A unidade de análise de conteúdo 26 pode determinar se os coeficientes HOA 11 foram geradas de uma gravação de um campo de som efetivo ou de um objeto de áudio artificial. Em algumas instâncias, quando os coeficientes HOA enquadrados 11 foram gerados de uma gravação, a unidade de análise de conteúdo 26 passa os coeficientes HOA 11 para a unidade de decomposição baseada em vetor 27. Em algumas instâncias, quando os coeficientes HOA enquadrados 11 foram gerados de um objeto de áudio sintético, a unidade de análise de conteúdo 26 passa os coeficientes HOA 11 para a unidade de síntese baseada em direcional 28. A unidade de síntese baseada em direcional 28 pode representar uma unidade configurada para executar uma síntese baseada em direcional dos coeficientes HOA 11 para gerar um fluxo de bits baseado em direcional 21.
[00071] Como mostrado no exemplo da figura 3, a unidade de decomposição baseada em vetor 27 pode incluir uma unidade de transformada invertível linear (LIT) 30, uma unidade de cálculo de parâmetro 32, uma unidade de reordenar 34, uma unidade de seleção de primeiro plano 36, uma unidade de compensação de energia 38, uma unidade de decorrelação 60 (mostrada como “unidade decorr 60”), uma unidade de controle de ganho 62, uma unidade de codificador de áudio psicoacústico 40, uma unidade de geração de fluxo de bits 42, uma unidade de análise de campo de som 44, uma unidade de redução de coeficiente 46, uma unidade de seleção de segundo plano (BG) 48, uma unidade de interpolação espaço-temporal 50, e uma unidade de quantização 52.
[00072] A unidade de transformada invertível linear (LIT) 30 recebe os coeficientes HOA 11 na forma de canais HOA, cada canal representativo de um bloco ou quadro de um coeficiente associado a uma ordem dada, subordem das funções de base esférica (que podem ser indicadas como HOA[k], onde k pode indicar o quadro ou bloco atual de amostras). A matriz de coeficientes HOA 11 pode ter dimensões D: M x (N+1)2.
[00073] A unidade LIT 30 pode representar uma unidade configurada para executar uma forma de análise mencionada como decomposição de valor singular. Embora descrito com relação a SVD, as técnicas descritas nessa revelação podem ser executadas com relação a qualquer transformação ou decomposição similar que forneça conjuntos de saída compactada em energia, linearmente não correlacionada. Também, referência a “conjuntos” nessa revelação são genericamente destinadas a se referir a conjuntos não zero a menos que especificamente mencionado ao contrário e não se pretende referir à definição matemática clássica de conjuntos que inclui o chamado “conjunto vazio”. Uma transformação alternativa pode compreender uma análise de componente principal, que é frequentemente mencionada como “PCA. ” Dependendo do contexto, PCA pode ser mencionado como um número de nomes diferentes, como transformada Karhunen-Loeve discreta, transformada Hotelling, decomposição ortogonal apropriada (POD) e decomposição eigenvalor (EVC) citando alguns exemplos. Propriedades de tais operações que são úteis a um dos objetivos subjacentes em potencial de compressão de dados de áudio podem incluir uma ou mais de ‘compactação de energia’ e ‘decorrelação’ dos dados de áudio de multicanais.
[00074] Em qualquer evento, assumindo que a unidade LIT 30 executa uma decomposição de valor singular (que, novamente, pode ser mencionada como “SVD”) para fins de exemplo, a unidade LIT 30 pode transformar os coeficientes HOA 11 em dois ou mais conjuntos de coeficientes HOA transformados. Os “conjuntos” de coeficientes HOA transformados podem incluir vetores de coeficientes HOA transformados. No exemplo da figura 3, a unidade LIT 30 pode executar o SVD com relação aos coeficientes HOA 11 para gerar uma matriz denominada V, uma matriz S, e uma matriz U. SVD, em álgebra linear, pode representar uma factorização de uma matriz y-por-z real ou completa X (onde X pode representar dados de áudio de multicanais, como os coeficientes HOA 11) na seguinte forma: X = USV* U pode representar uma matriz unitária y por y real ou complexa, onde as colunas y de U são conhecidas como os vetores singulares-esquerdos dos dados de áudio de multicanais. S pode representar uma matriz diagonal retangular y-por- z com números reais não negativos na diagonal, onde os valores diagonais de S são conhecidos como os valores singulares dos dados de áudio de multicanais. V* (que pode indicar um transpose conjugado de V) pode representar uma matriz unitária z-por-z real ou complexa, onde as colunas z de V* são conhecidas como os vetores singulares-da direita dos dados de áudio de multicanais.
[00075] Em alguns exemplos, a matriz V* na expressão matemática SVD referenciada acima é indicada como a transpose conjugada da matriz V para refletir que SVD pode ser aplicada a matrizes compreendendo números complexos. Quando aplicado a matrizes compreendendo somente números reais, o conjugado complexo da matriz V (ou, em outras palavras, a matriz V*) pode ser considerada como sendo a transpose da matriz V. Abaixo é assumido, para fins de facilidade de ilustração, que os coeficientes HOA 11 compreendem números reais com o resultado de que a matriz V é transmitida através de SVD ao invés da matriz V*. Além disso, embora indicado como a matriz V nessa revelação, referência à matriz V deve ser entendida como se referindo à transpose da matriz V onde apropriado. Embora assumido como sendo a matriz V, as técnicas podem ser aplicadas em um modo similar a coeficientes HOA 11 tendo coeficientes complexos, onde a saída do SVD é a matriz V*. Por conseguinte, as técnicas não devem ser limitadas nesse aspecto a somente fornecer aplicação de SVD para gerar uma matriz V, porém pode incluir aplicação de SVD a coeficientes HOA 11 tendo componentes complexos para gerar uma matriz V*.
[00076] Desse modo, a unidade LIT 30 pode executar SVD com relação aos coeficientes 11 para transmitir vetores US[k] 33 (que podem representar uma versão combinada dos vetores S e vetores U) tendo dimensões D: M x (N+1)2, e vetores V[k] 35 tendo dimensões D: (N+1)2 x (N+1)2. Elementos de vetor individuais na matriz US[k] pode ser também denominados XPS(k) enquanto vetores individuais da matriz V[k] podem ser também denominados v(k).
[00077] Uma análise das matrizes U, S e V pode revelar que as matrizes carregam ou representam características espaciais e temporais do campo de som subjacente representado acima por X. cada dos vetores N em U (de amostras de comprimento M) pode representar sinais de áudio separados, normalizados como uma função de tempo (para o período de tempo representado por amostras M), que são ortogonais entre si e que foram desacoplados de quaisquer características espaciais (que também podem ser mencionadas como informações direcionais). As características espaciais, representando formato e posição espacial (r, teta, phi) podem ao invés ser representadas por i° vetores individuais, v(i) (k), na matriz V (cada do comprimento (N+1)2).
[00078] Os elementos individuais de cada de vetores v(i)(k) podem representar um coeficiente HOA descrevendo o formato (incluindo largura) e posição do campo de som para um objeto de áudio associado. Os dois vetores na matriz U e matriz V são normalizados de modo que suas energias de raiz quadrada média são iguais a unidade. A energia dos sinais de áudio em U são, desse modo representadas pelos elementos diagonais em S. Multiplicando U e S para formar US[k] (com elementos de vetor individuais XPS(k)), desse modo representa o sinal de áudio com energias. A capacidade da decomposição de SVD desacoplar os sinais de tempo de áudio (em U), suas energias (em S) e suas características espaciais (em V) pode suportar vários aspectos das técnicas descritas nessa revelação. Além disso, o modelo de sintetizar os coeficientes HOA[k] subjacentes, X, por uma multiplicação de vetor de US[k] e V[k] origina o termo “decomposição baseada em vetor, ” que é usado do início ao fim desse documento.
[00079] Embora descrito como sendo executado diretamente com relação aos coeficientes HOA 11, a unidade LIT 30 pode aplicar a transformada invertível linear em derivados dos coeficientes HOA 11. Por exemplo, a unidade LIT 30 pode aplicar SVD com relação a uma matriz de densidade espectral de energia derivada dos coeficientes HOA 11. Por executar SVD com relação à densidade espectral de energia (PSD) dos coeficientes HOA ao invés dos próprios coeficientes, a unidade LIT 30 pode potencialmente reduzir a complexidade computacional de executar o SVD em termos de um ou mais dos ciclos de processador e espaço de armazenagem, enquanto obtém a mesma eficiência de codificação de áudio de fonte como se o SVD fosse aplicado diretamente aos coeficientes HOA.
[00080] A unidade de cálculo de parâmetro 32 representa uma unidade configurada para calcular vários parâmetros, como um parâmetro de correlação (R), parâmetros de propriedades direcionais (θ, Φ, r) e uma propriedade de energia (e). Cada dos parâmetros para o quadro atual pode ser indicado como R[k], θ[k], Φ[k], r[k] e e[k]. A unidade de cálculo de parâmetro 32 pode executar uma análise e/ou correlação de energia (ou a denominada correlação cruzada) com relação aos vetores US[k] 33 para identificar os parâmetros. A unidade de cálculo de parâmetro 32 pode determinar também os parâmetros para o quadro anterior, onde os parâmetros de quadro anterior podem ser indicados R[k-1], 0[k-1], Φ[k-1], r[-1k] e e[k-1], com base no quadro anterior de vetor US[k-1] e vetores V[k-1]. A unidade de cálculo de parâmetro 32 pode transmitir os parâmetros atuais 37 e os parâmetros anteriores 39 para a unidade de reordenar 34.
[00081] Os parâmetros calculados pela unidade de cálculo de parâmetro 32 podem ser usados pela unidade de reordenar 34 para reordenar os objetos de áudio para representar sua avaliação natural ou continuação ao longo do tempo. A unidade de reordenar 34 pode comparar cada dos parâmetros 37 a partir dos primeiros vetores US[k] 33 no sentido de curva contra cada dos parâmetros 39 para os segundos vetores US[k-1] 33. A unidade de reordenar 34 pode reordenar (usando, como exemplo, um algoritmo húngaro) os vários vetores na matriz US[k] 33 e a matriz V[k] 35 com base nos parâmetros atuais 37 e os parâmetros anteriores 39 para transmitir uma matriz US[k] reordenada 33’ (que pode ser indicada matematicamente como) e uma matriz V[k] reordenada 35’ (que pode ser indicada vw) matematicamente como para uma unidade de seleção de som de primeiro plano (ou som predominante - PS) 36 (“unidade de seleção de primeiro plano 36”) e uma unidade de compensação de energia 38.
[00082] A unidade de análise de campo de som 44 pode representar uma unidade configurada para executar uma análise de campo de som com relação aos coeficientes HOA 11 de modo a potencialmente obter uma taxa de bits alvo 41. A unidade de análise de campo de som 44 pode, com base na análise e/ou em uma taxa de bits alvo recebida 41, determinar o número total de instanciações de codificador psicoacústico (que pode ser uma função do número total de canais ambiente ou de segundo plano (BGTOT) e o número de canais de primeiro plano ou, em outras palavras, canais predominantes. O número total de instanciações de codificador psicoacústico pode ser indicado como numHOATransportChannels.
[00083] A unidade de análise de campo de som 44 pode determinar também, novamente para obter potencialmente a taxa de bits alvo 41, o número total de canais de primeiro plano (nFG) 45, a ordem mínima do campo de som de segundo plano (ou, em outras palavras, ambiente) )NBG ou, alternativamente, MinAmbHOAorder), o número correspondente de canais efetivos representativos da ordem mínima de campo de som de segundo plano (nBGa = (MinAmbHOAorder + 1)2 e índices (i) de canais HOA BG adicionais para enviar (que podem ser coletivamente indicados como informações de canal de segundo plano 43 no exemplo da figura 3). As informações de canal de segundo plano 42 podem ser também mencionadas como informações de canal ambiente 43. Cada dos canais que permanece de numHOATransportChannels - nBGa, pode ser um “canal ambiente/segundo plano adicional”, um “canal predominante baseado em vetor ativo”, um “sinal predominante baseado em direcional ativo” ou “totalmente inativo”. Em um aspecto, os tipos de canal podem ser indicados (como um “ChannelType”) elemento de sintaxe por dois bits (por exemplo, 00: sinal baseado em direcional; 01: sinal predominante baseado em vetor; 10: sinal ambiente adicional; 11: sinal inativo). O número total de sinais de segundo plano ou ambiente, nBGa, pode ser dado por (MinAmbHOAorder +1)2 + o número de vezes que o índice 10 (no exemplo acima) aparece como um tipo de canal no fluxo de bits para aquele quadro.
[00084] A unidade de análise de campo de som 44 pode selecionar o número de canais de segundo plano (ou, em outras palavras, ambiente) e o número de canais de primeiro plano (ou, em outras palavras, predominante) com base na taxa de bits alvo 41, selecionando mais canais de segundo plano e/ou primeiro plano quando a taxa de bits alvo 41 é relativamente mais elevada (por exemplo, quando a taxa de bits alvo 41 é igual ou maior que 512 Kbps). Em um aspecto, os numHOATransportChannels podem ser definidos em 8 enquanto o MinAmbHOAorder pode ser definido em 1 na seção de cabeçalho do fluxo de bits. Nesse cenário, em cada quadro, quatro canais podem ser dedicados a representar a porção de segundo plano ou ambiente do campo de som enquanto os outros 4 canais podem, em uma base de quadro a quadro variar no tipo de canal - por exemplo, usado como um canal de segundo plano/ambiente adicional ou um canal predominante/primeiro plano. Os sinais predominantes/primeiro plano podem ser um entre sinais baseados em vetor ou baseados em direcional, como descrito acima.
[00085] Em algumas instâncias, o número total de sinais predominantes baseados em vetor para um quadro, pode ser dado pelo número de vezes que o índice ChannelType é 01 no fluxo de bits daquele quadro. No aspecto acima, para cada canal ambiente/segundo plano adicional (por exemplo, correspondendo a um ChannelType de 10), informações correspondentes de qual dos coeficientes HOA possíveis (além dos primeiros quatro) podem ser representadas naquele canal. As informações, para conteúdo HOA de quarta ordem, podem ser um índice para indicar os coeficientes HOA 5-25. Os quatro primeiros coeficientes HOA 1-4 podem ser enviados todo tempo quando minAmbHOAorder é definido em 1, consequentemente, o dispositivo de codificação de áudio pode somente precisar indicar um dos coeficientes HOA ambiente adicionais tendo um índice de 525. As informações poderiam ser desse modo enviadas usando um elemento de sintaxe de 5 bits (para conteúdo de 4a ordem), que podem ser indicadas como “CodedAmbCoeffIdx.” Em qualquer evento, a unidade de análise de campo de som 44 transmite as informações de canal de segundo plano 43 e os coeficientes HOA 11 para a unidade de seleção de segundo plano (BG) 36, as informações de canal de segundo plano 43 para a unidade de redução de coeficiente 46 e a unidade de geração de fluxo de bits 42 e o nFG 45 para uma unidade de seleção de primeiro plano 36.
[00086] A unidade de seleção de segundo plano 48 pode representar uma unidade configurada para determinar coeficientes HOA ambiente ou de segundo plano 47 com base nas informações de canal de segundo plano (por exemplo, o campo de som de segundo plano (NBG) e o número (nBGa) e os índices (i) de canais HOA BG adicionais a enviar). Por exemplo, quando NBG é igual a um, a unidade de seleção de segundo plano 48 pode selecionar os coeficientes HOA 11 para cada amostra do quadro de áudio tendo uma ordem igual ou menor que um. A unidade de seleção de segundo plano 48 pode, nesse exemplo, então selecionar os coeficientes HOA 11 tendo um índice identificado por um dos índices (i) como coeficientes HOA BG, onde o nBGa é fornecido para a unidade de geração de fluxo de bits 42 para ser especificado no fluxo de bits 21 de modo a permitir que o dispositivo de decodificação de áudio, como o dispositivo de decodificação de áudio 24 mostrado no exemplo das figuras 2 e 4, analise os coeficientes HOA de segundo plano 47 a partir do fluxo de bits 21. A unidade de seleção de segundo plano 48 pode então transmitir os coeficientes HOA ambiente 47 para a unidade de compensação de energia 38. Os coeficientes HOA ambiente 47 podem ter dimensões D: M x [(NBG+1)2 + nBGa]. Os coeficientes HOA ambiente 47 podem ser também mencionados como “coeficientes HOA ambiente 47,” onde cada dos coeficientes HOA ambiente 47 corresponde a um canal HOA ambiente separado 47 a ser codificado pela unidade de codificador de áudio psicoacústico 40.
[00087] A unidade de seleção de primeiro plano 36 pode representar uma unidade configurada para selecionar a matriz US[k] reordenada 33’ e a matriz V[k] reordenada 35’ que representam componentes de primeiro plano ou distintos do campo de som com base em nFG 45 (que pode representar um ou mais índices identificando os vetores de primeiro plano). A unidade de seleção de primeiro plano 36 pode transmitir sinais nFG 49 (que podem ser indicados como um US[k]1,...,nFG reordenado 49, oupara a unidade de codificador de áudio psicoacústico 40, onde os sinais nFG 49 podem ter dimensões D: M x nFG e cada representa objetos mono-áudio. A unidade de seleção de primeiro plano 36 pode também transmitir a matriz V[k] reordenada 35’ (ou v(1...nFG)(k) 35’) correspondendo a componentes de primeiro plano do campo de som para a unidade de interpolação espaço-temporal 50, onde um subconjunto da matriz V[k] reordenada 35’ correspondendo aos componentes de primeiro plano pode ser indicado como matriz V[k] de primeiro plano 51k (que pode ser matematicamente indicado como tendo dimensões D: (N=1)2 x nFG.
[00088] A unidade de compensação de energia 38 pode representar uma unidade configurada para executar compensação de energia com relação aos coeficientes HOA ambiente 47 para compensar perda de energia devido à remoção de vários dos canais HOA pela unidade de seleção de segundo plano 48. A unidade de compensação de energia 38 pode executar uma análise de energia com relação a uma ou mais entre a matriz US[k] reordenada 33’, matriz V[k] reordenada 35’, sinais nFG 49, os vetores V[k] de primeiro plano 51k e os coeficientes HOA ambiente 47 e então executar compensação de energia com base na análise de energia para gerar coeficientes HOA ambiente compensados em energia 47’. A unidade de compensação de energia 38 pode transmitir os coeficientes HOA ambiente compensados em energia 47’ para a unidade de decorrelação 60.
[00089] A unidade de decorrelação 60 pode representar uma unidade configurada para implementar vários aspectos das técnicas descritas nessa revelação para reduzir ou eliminar correlação entre os coeficientes HOA ambiente compensados em energia 47’ para formar um ou mais sinais de áudio HOA ambiente decorrelacionados 67. A unidade de decorrelação 40’ pode transmitir os sinais de áudio HOA decorrelacionados 67 para a unidade de controle de ganho 62. A unidade de controle de ganho 62 pode representar uma unidade configurada para executar controle de ganho automático (que pode ser abreviado como “AGC”) com relação aos sinais de áudio HOA ambiente decorrelacionados 67 para obter sinais de áudio HOA ambiente de ganho controlado 67’. Após aplicar o controle de ganho, a unidade de controle de ganho automático 62 pode fornecer os sinais de áudio HOA ambiente de ganho controlado 67’ para a unidade de codificador de áudio psicoacústico 40.
[00090] A unidade de decorrelação 60 incluída no dispositivo de codificação de áudio 20 pode representar instâncias únicas ou múltiplas de uma unidade configurada para aplicar uma ou mais transformadas de decorrelação aos coeficientes HOA ambiente compensados em energia 47’, para obter os sinais de áudio HOA decorrelacionados 67. Em alguns exemplos, a unidade de decorrelação 40’ pode aplicar uma matriz UHJ aos coeficientes HOA ambiente compensados em energia 47’. Em várias instâncias dessa revelação, a matriz UHJ pode ser também mencionada como uma “transformada baseada em fase”. A aplicação da transformada baseada em fase pode ser também mencionada aqui como “decorrelação de deslocamento de fase. ”
[00091] Formato UHJ ambisonic é um desenvolvimento do sistema de som surround Ambisonic projetado para ser compatível como mídia mono e estéreo. O formato UHJ inclui uma hierarquia de sistemas na qual o campo de som gravado será reproduzido com um grau de precisão que varia de acordo com os canais disponíveis. Em várias instâncias, UHJ também é mencionado como “Formato- C”. As iniciais indicam algumas das fontes incorporadas no sistema: U de Universal (UD-4); H de Matriz H; e J do Sistema 45J.
[00092] UHJ é um sistema hierárquico de codificar e decodificar informações de som direcionais na tecnologia de Ambisonics. Dependendo do número de canais disponíveis, um sistema pode transportar mais ou menos informações. UHJ é totalmente estéreo- e mono-compatível.Até quatro canais (L, R, T, Q ) podem ser usados.
[00093] Em uma forma, UHJ de 2 canais (L, R), informações surround horizontais (ou “planares”) podem ser transportadas por canais de sinal estéreo normal - CD, FM ou rádio digital, etc. - que podem ser recuperados usando um decodificador UHJ na extremidade de escuta. Somando os dois canais pode fornecer um sinal mono compatível, que pode ser uma representação mais precisa da versão de dois canais do que somando uma fonte “mono panpotted” convencional. Se um terceiro canal (T) estiver disponível, o terceiro canal pode ser usado para fornecer precisão de localização aperfeiçoada para o efeito surround planar quando decodificado através de um decodificador UHJ de 3 canais. O terceiro canal pode não ser necessário ter largura de banda de áudio total para essa finalidade, levando a possibilidade de sistemas denominados de ‘2 ^ canais”, onde o terceiro canal é limitado em largura de banda. Em um exemplo, o limite pode ser 5 kHz. O terceiro canal pode ser broadcast através de rádio FM, por exemplo, por meio de modulação de quadratura de fase. A adição de um quarto canal (Q) ao sistema UHJ pode permitir a codificação de som surround total com altura, às vezes mencionado como Periphony, com um nível de precisão idêntico ao Formato-B de 4 canais.
[00094] UHJ de 2 canais é um formato comumente usado para distribuição de gravações Ambisonic. Gravações UHJ de 2 canais podem ser transmitidas através de todos os canais estéreo normais e qualquer da mídia de 2 canais normal pode ser usada sem alteração. UHJ é compatível com estéreo em que, sem decodificação, o ouvinte pode perceber uma imagem estéreo, porém uma que é significativamente mais ampla que estéreo convencional (por exemplo, denominado “Super estéreo”). Os canais da esquerda e direita também podem ser somados para um grau muito alto de mono- compatibilidade. Retransmitido através de um decodificador UHJ, a capacidade de surround pode ser revelada.
[00095] Uma representação matemática de exemplo da unidade de decorrelação 60 aplicando a matriz UHJ (ou transformada baseada em fase) é como a seguir: Codificação de UHJ: Conversão de S e D em Esquerda e direita: Esquerda = (S+D)q2 Direita = (S-D)/2
[00096] De acordo com algumas implementações dos cálculos acima, assunções com relação aos cálculos acima podem incluir o seguinte: canal de segundo plano HOA são Ambisonics de 1a ordem, normalizados FuMa, na ordem de numeração de canal Ambisonics W (a00), X(a11), Y(a11-),Z(a10).
[00097] Nos cálculos listados acima, a unidade de decorrelação 40’ pode executar uma multiplicação escalar de várias matrizes por valores constantes. Por exemplo, para obter o sinal S, a unidade de decorrelação 60 pode executar multiplicação escalar de uma matriz W pelo valor constante de 0.9397 (por exemplo, por multiplicação escalar), e de uma matriz X pelo valor constante de 0.1856. Como também ilustrado nos cálculos listados acima, a unidade de decorrelação 60 pode aplicar uma transformada Hilbert (indicada pela função “Hilbert()” na codificação UHJ acima) na obtenção de cada dos sinais D e T. a função “Imag()” na codificação UHJ acima indica que o imaginário (no sentido matemático) do resultado da transformada Hilbert é obtido.
[00098] Outra representação matemática de exemplo da unidade de decorrelação 60 aplicando a matriz UHJ (ou transformada baseada em fase) é como a seguir:Codificação UHJ: Conversão de S e D em esquerda e direita: Esquerda = (S+D)/2; Direita = (S-D)/2;
[00099] Em algumas implementações de exemplo dos cálculos acima, assunções com relação aos cálculos acima podem incluir o seguinte: canal de segundo plano HOA são Ambisonics de 1a ordem, N3D (ou “três-D total”) normalizado, na ordem de numeração de canal Ambisonics W(a00), X(a11), Y(a11-), Z(a10). Embora descrito aqui com relação à normalização N3D, será reconhecido que os cálculos de exemplo podem ser também aplicados a canais de segundo plano HOA que são SN3D normalizados (ou semi- normalizados Schmidt). Normalização N3D e SN3D podem diferir em termos dos fatores de escalonamento usados. Uma representação de exemplo de normalização N3D, em relação à normalização SN3D, é expressa abaixo:
[000100] Um exemplo de coeficientes de ponderação usados em normalização SN3D é expresso abaixo:
[000101] Nos cálculos listados acima, a unidade de decorrelação 60 pode executar uma multiplicação escalar de várias matrizes por valores constantes. Por exemplo, para obter o sinal S, a unidade de decorrelação 60 pode executar multiplicação escalar de uma matriz W pelo valor constante de 0.9396926 (por exemplo, por multiplicação escalar) e de uma matriz X pelo valor constante de 0.151520536509082. Como também ilustrado nos cálculos listados acima, a unidade de decorrelação 60 pode aplicar uma transformada Hilbert (indicada pela função “Hilbert()” na codificação UHJ acima ou decorrelação de deslocamento de fase) na obtenção de cada dos sinais D e T. A função “Imag()” na codificação UHJ acima indica que o imaginário (no sentido matemático) do resultado da transformada Hilbert é obtido.
[000102] A unidade de decorrelação 60 pode executar os cálculos listados acima, de modo que os sinais S e D resultantes representam sinais de áudio da esquerda e direita (ou em outras palavras sinais de áudio estéreo). Em alguns desses cenários, a unidade de decorrelação 60 pode transmitir os sinais T e Q como parte dos sinais de áudio HOA ambiente decorrelacionados 67, porém um dispositivo de decodificação que recebe o fluxo de bits 21 pode não processar os sinais T e Q ao renderizar para uma geometria de alto-falante estéreo (ou, em outras palavras, configuração de alto-falante estéreo). Em exemplos, os coeficientes HOA ambiente 47’ podem representar um campo de som a ser renderizado em um sistema de produção mono-áudio. A unidade de decorrelação 60 pode transmitir os sinais S e D como parte dos sinais de áudio HOA ambiente decorrelacionados 67, e um dispositivo de decodificação que recebe o fluxo de bits 21 pode combinar (ou “misturar”) os sinais S e D para formar um sinal de áudio a ser renderizado e/ou transmitido em formato mono-áudio.
[000103] Nesses exemplos, o dispositivo de decodificação e/ou dispositivo de reprodução podem recuperar o sinal mono-áudio em vários modos. Um exemplo é por misturar os sinais da esquerda e direita (representados por sinais S e D). Outro exemplo é por aplicar uma matriz UHJ (ou transformada baseada em fase) para decodificar um sinal W. Por produzir um sinal esquerdo natural e um sinal direito natural na forma dos sinais S e D por aplicar a matriz UHJ (ou transformada baseada em fase), a unidade de decorrelação 60 pode implementar técnicas dessa revelação para fornecer vantagens em potencial e/ou aperfeiçoamentos em potencial em relação a técnica que aplicam outras transformadas de decorrelação (como uma matriz de modo descrita no padrão MPEG-H).
[000104] Em vários exemplos, a unidade de decorrelação 60 pode aplicar transformadas de decorrelação diferentes, com base em uma taxa de bits dos coeficientes HOA ambiente compensados em energia, recebidos, 47’. Por exemplo, a unidade de decorrelação 60 pode aplicar a matriz UHJ (ou transformada baseada em fase) descrita acima em cenários onde os coeficientes HOA ambiente compensados em energia 47’ representam uma entrada de quatro canais. Mais especificamente, com base nos coeficientes HOA ambiente compensados em energia 47’ representando uma entrada de quatro canais, a unidade de decorrelação 60 pode aplicar uma matriz UHJ 4 x 4 (ou transformada baseada em fase). Por exemplo, a matriz 4 x 4 pode ser ortogonal à entrada de quatro canais dos coeficientes HOA ambiente compensados em energia 47’. Em outras palavras, em instâncias onde os coeficientes HOA ambiente compensados em energia 47’ representam um número menor de canais (por exemplo, quatro), a unidade de decorrelação 60 pode aplicar a matriz UHJ como a transformada de decorrelação selecionada, para decorrelacionar os sinais de segundo plano dos sinais HOA ambiente compensados em energia 47’ para obter os sinais de áudio HOA ambiente decorrelacionados 67.
[000105] De acordo com esse exemplo, se os coeficientes HOA ambiente compensados em energia 47’ representarem um número maior de canais (por exemplo, nove), a unidade de decorrelação 60 pode aplicar uma transformada de decorrelação diferente da matriz UHJ (ou transformada baseada em fase). Por exemplo, em um cenário onde os coeficientes HOA ambiente compensados em energia 47’ representam uma entrada de nove canais, a unidade de decorrelação 60 pode aplicar uma matriz de modo (por exemplo, como descrito na fase I do padrão de áudio 3D MPEG-H referenciado acima), para decorrelacionar os coeficientes HOA ambiente compensados em energia 47’. Em exemplos onde os coeficientes HOA ambiente compensados em energia 47’ representam uma entrada de nove canais, a unidade de decorrelação 60 pode aplicar uma matriz de modo 9 x 9 para obter os sinais de áudio HOA ambiente decorrelacionados 67.
[000106] Por sua vez, vários componentes do dispositivo de codificação de áudio 20 (como o codificador de áudio psicoacústico 40) pode codificar de forma perceptual os sinais de áudio HOA ambiente decorrelacionados 67 de acordo com AAC ou USAC. A unidade de decorrelação 60 pode aplicar a transformada de decorrelação de deslocamento de fase (por exemplo, a matriz UHJ ou transformada baseada em fase no caso de uma entrada de quatro canais), para otimizar potencialmente a codificação AAC/USAC para HOA. Em exemplos onde os coeficientes HOA ambiente compensados em energia 47’ (e desse modo, os sinais de áudio HOA ambiente decorrelacionados 67) representam dados de áudio a serem renderizados em um sistema de reprodução estéreo, a unidade de decorrelação 60 pode aplicar as técnicas dessa revelação para melhorar ou otimizar a compressão, com base em AAC e USAC sendo dados de áudio estéreo relativamente orientados (ou otimizados para).
[000107] Será entendido que a unidade de decorrelação 60 pode aplicar as técnicas descritas aqui em situações onde os coeficientes HOA ambiente compensados em energia 47’ incluem canais de primeiro plano, bem como em situações onde os coeficientes HOA ambiente compensados em energia 47’ não incluem nenhum canal de primeiro plano. Como exemplo, a unidade de decorrelação 40’ pode aplicar as técnicas e/ou cálculos descritos acima, em um cenário onde os coeficientes HOA ambiente compensados em energia 47’ incluem zero (0) canais de primeiro plano e quatro (4) canais de segundo plano (por exemplo, um cenário de uma taxa de bits inferior/menor).
[000108] Em alguns exemplos, a unidade de decorrelação 60 pode fazer com que a unidade de geração de fluxo de bits 42 sinalize, como parte do fluxo de bits baseado em vetor 21, um ou mais elementos de sintaxe que indicam que a unidade de decorrelação 60 aplicou uma transformada de decorrelação aos coeficientes HOA ambiente compensados em energia 47’. Por fornecer tal indicação para um dispositivo de decodificação, a unidade de decorrelação 60 pode permitir que o dispositivo de decodificação execute transformadas de decorrelação recíproca em dados de áudio no domínio HOA. Em alguns exemplos, a unidade de decorrelação 60 pode fazer com que a unidade de geração de fluxo de bits 42 sinalize elementos de sintaxe que indicam qual transformada de decorrelação foi aplicada, como a matriz UHJ (ou outra transformada baseada em fase) ou a matriz de modo.
[000109] A unidade de decorrelação 60 pode aplicar uma transformada baseada em fase ao coeficiente HOA ambiente compensado em energia 47’. A transformada baseada em fase para as primeiras sequências de coeficiente HOA OMIN de CAMB (k-1) é definida por Com os coeficientes d como definido na Tabela 1, os quadros de sinal S(k-2) e M(K-2) sendo definidos por E A+90 (k-2) e B+90(k-2) são os quadros de sinais deslocados em fase de +90 graus A e B definidos por A transformada baseada em fase para as primeiras sequências de coeficiente HOA OMIN de CP,AMB(k-1) é definida de acordo. A transformada descrita pode introduzir um retardo de um quadro.
[000110] Acima, o xAMB,LOW,1 (k-1) até xAMB,LOW,4 (k- 2) pode corresponder aos sinais de áudio HOA ambiente decorrelacionados 67. Na equação acima, a variável CAMB,1(k) indica os coeficientes HOA para o k° quadro correspondendo às funções de base esférica tendo uma (ordem:subordem) de (0:0), que pode ser também referida como o componente ou canal “W”. A variável CAMB,2 (k) indica os coeficientes HOA para o k° quadro correspondendo às funções de base esférica tendo uma (ordem: subordem) de (1:-1), que também pode ser mencionado como o canal ou componente ‘Y’. A variável CAMB,3 (k) indica os coeficientes HOA para o k° quadro correspondendo às funções de base esférica tendo uma (ordem: subordem) de (1:0), que também pode ser mencionado como o canal ou componente ‘Z’. A variável CAMB,4 (k) indica os coeficientes HOA para o k° quadro correspondendo às funções de base esférica tendo uma (ordem: subordem) de (1:1), que também pode ser mencionado como o canal ou componente ‘X’. O CAMB,1 (k) até CAMB,3(k) podem corresponder a coeficientes HOA ambiente 47’.
[000111] A tabela 11 abaixo ilustra um exemplo de coeficientes que a unidade de decorrelação 40 pode usar para executar uma transformada baseada em fase.Tabela 1 Coeficientes para transformada baseada em fase
[000112] Em alguns exemplos, vários componentes do dispositivo de codificação de áudio 20 (como a unidade de geração de fluxo de bits 42) podem ser configurados para transmitir somente representações HOA de primeira ordem para taxas de bit alvo inferiores (por exemplo, uma taxa de bit alvo de 128K ou 256K). De acordo com alguns desses exemplos, o dispositivo de codificação de áudio 20 (ou componentes do mesmo, como a unidade de geração de fluxo de bits 42) pode ser configurado para descartar coeficientes HOA de ordem superior (por exemplo, coeficientes com uma ordem maior que a primeira ordem, ou em outras palavras, N>1). Entretanto, em exemplos onde o dispositivo de codificação de áudio 20 determina que a taxa de bits alvo seja relativamente elevada, o dispositivo de codificação de áudio 20 (por exemplo, a unidade de geração de fluxo de bits 42) pode separar os canais de primeiro plano e segundo plano, e pode atribuir bits (por exemplo, em quantidades maiores) aos canais de primeiro plano.
[000113] Embora descrito como sendo aplicado aos coeficientes HOA ambiente compensados em energia 47’, o dispositivo de codificação de áudio 20 pode não aplicar decorrelação aos coeficientes HOA ambiente compensados em energia 47’. Ao invés, a unidade de compensação de energia 38 pode fornecer os coeficientes HOA ambiente compensados em energia 47’ diretamente à unidade de controle de ganho 62, que pode executar controle de ganho automático com relação aos coeficientes HOA ambiente compensados em energia 47’. Como tal, a unidade de decorrelação 60 é mostrada como uma linha tracejada para indicar que a unidade de decorrelação pode nem sempre executar decorrelação ou ser incluída no dispositivo de decodificação de áudio 20.
[000114] A unidade de interpolação espaço- temporal 50 pode representar uma unidade configurada para receber os vetores V[k] de primeiro plano, 51k para o k° quadro e os vetores V[k-1] de primeiro plano 51k-1 para o quadro anterior (consequentemente a notação k-1) e executar interpolação espaço-temporal para gerar vetores V[k] de primeiro plano interpolados. A unidade de interpolação espaço-temporal 50 pode recombinar os sinais nFG 49 com os vetores V[k] de primeiro plano 51k para recuperar coeficientes HOA de primeiro plano reordenados. A unidade de interpolação espaço-temporal 50 pode então dividir os coeficientes HOA de primeiro plano reordenados pelos vetores V[k] interpolados para gerar sinais nFG interpolados 49’.
[000115] A unidade de interpolação espaço- temporal 50 pode também transmitir os vetores V[k] de primeiro plano 51k que foram usados para gerar os vetores V[k] de primeiro plano interpolados de modo que um dispositivo de decodificação de áudio, como o dispositivo de decodificação de áudio 24, possa gerar os vetores V[k] de primeiro plano interpolados e desse modo recuperar os vetores V[k] de primeiro plano 51k. Os vetores V[k] de primeiro plano 51k usados para gerar os vetores V[k] de primeiro plano interpolados são indicados como os vetores V[k] de primeiro plano restantes 53. Para assegurar que o mesmo V[k] e V[k-1] sejam usados no codificador e decodificador (para criar os vetores interpolados V[k]) versões quantizadas/desquantizadas dos vetores podem ser usadas no codificador e decodificador. A unidade de interpolação espaço-temporal 50 pode transmitir os sinais nFG interpolados 49’ para a unidade de controle de ganho 62 e os vetores V[k] de primeiro plano interpolados 51k para a unidade de redução de coeficiente 46.
[000116] A unidade de controle de ganho 62 pode também representar uma unidade configurada para executar controle automático de ganho (que pode ser abreviado como “AGC”) com relação aos sinais nFG interpolados 49’ para obter sinais nFG de ganho controlado 49’’. Após aplicar o controle de ganho, a unidade de controle de ganho automático 62 pode fornecer os sinais nFG de ganho controlado 49’’ para a unidade de codificador de áudio psicoacústico 40.
[000117] A unidade de redução de coeficiente 46 pode representar uma unidade configurada para executar redução de coeficiente com relação aos vetores V[k] de primeiro plano restantes 53 com base nas informações de canal de segundo plano 43 para transmitir vetores V[k] de primeiro plano reduzidos 55 para a unidade de quantização 52. Os vetores V[k] de primeiro plano reduzido 55 podem ter dimensões D: [(N+1)2 - (NBG +1)2 - BGTOT] x nFG. A unidade de redução de coeficiente 46 pode, nesse aspecto, representar uma unidade configurada para reduzir o número de coeficientes nos vetores V[k] de primeiro plano restantes 53. Em outras palavras, a unidade de redução de coeficiente 46 pode representar uma unidade configurada para eliminar os coeficientes nos vetores V[k] de primeiro plano (que formam os vetores V[k] de primeiro plano restantes 53) tendo pouca a nenhuma informação direcional. Em alguns exemplos, os coeficientes dos vetores V[k] distintos ou, em outras palavras, de primeiro plano correspondendo a uma primeira e funções de base de ordem zero (que podem ser indicadas como NBG) fornecem pouca informação direcional e, portanto, podem ser removidos dos vetores V de primeiro plano (através de um processo que pode ser mencionado como “redução de coeficiente”). Nesse exemplo, maior flexibilidade pode ser fornecida não somente para identificar os coeficientes que correspondem a NBG, porém para identificar canais HOA adicionais (que podem ser indicados pela variável TotalOfAddAmbHOAChan) a partir do conjunto de [(NBG + 1)2 +1, (N+1)2].
[000118] A unidade de quantização 52 pode representar uma unidade configurada para executar qualquer forma de quantização para comprimir os vetores V[k] de primeiro plano reduzidos 55 para gerar vetores V[k] de primeiro plano codificados 57, transmitindo os vetores V[k] de primeiro plano codificados 57 para a unidade de geração de fluxo de bits 42. Em operação, a unidade de quantização 52 pode representar uma unidade configurada para comprimir um componente espacial do campo de som, isto é, um ou mais dos vetores V[k] de primeiro plano reduzidos 55 nesse exemplo. A unidade de quantização 52 pode executar qualquer um dos seguintes 12 modos de quantização expostos na fase I ou fase II do padrão de codificação de áudio MPEG-H 3D referenciado acima. A unidade de quantização 52 pode executar também versões previstas de qualquer dos tipos acima de modos de quantização, onde uma diferença é determinada entre um elemento de (ou um peso quando quantização de vetor é executada) do vetor-V de um quadro anterior e o elemento (ou peso quando quantização de vetor é executada) do vetor-V de um quadro atual é determinado. A unidade de quantização 52 pode então quantizar a diferença entre os elementos ou pesos do quadro atual e quaro anterior ao invés do valor do elemento do vetor-V do próprio quadro atual. A unidade de quantização 52 pode fornecer os vetores V[k] de primeiro plano codificados 57 para a unidade de geração de fluxo de bits 42. A unidade de quantização 52 pode também fornecer os elementos de sintaxe indicativos do modo de quantização (Por exemplo, o elemento de sintaxe NbitsQ) e quaisquer outros elementos de sintaxe usados para desquantizar ou de outro modo reconstruir o vetor-V.
[000119] A unidade de codificador de áudio psicoacústico 40 incluída no dispositivo de codificação de áudio 20 pode representar múltiplas instâncias de um codificador de áudio psicoacústico, cada uma das quais é usada para codificar um canal HOA ou objeto de áudio diferente de cada dos coeficientes HOA ambiente compensados em energia 47’ e os sinais nFG interpolados 49’ para gerar coeficientes HOA ambiente codificados 59 e sinais nFG codificados 61. A unidade de codificador de áudio psicoacústico 40 pode transmitir os coeficientes HOA ambiente codificados 59 e os sinais nFG codificados 61 para a unidade de geração de fluxo de bits 42.
[000120] A unidade de geração de fluxo de bits 42 incluída no dispositivo de codificação de áudio 20 representa uma unidade que formata dados para se conformar a um formato conhecido (que pode se referir a um formato conhecido por um dispositivo de decodificação), desse modo gerando o fluxo de bits baseado em vetor 21. O fluxo de bits 21 pode, em outras palavras, representar dados de áudio codificados, tendo sido codificados no modo descrito acima. A unidade de geração de fluxo de bits 42 pode representar um multiplexor em alguns exemplos, que pode receber os vetores V[k] de primeiro plano codificados 57, os coeficientes HOA ambiente codificados 59, os sinais nFG codificados 61 e as informações de canal de segundo plano 43. A unidade de geração de fluxo de bits 42 pode então gerar um fluxo de bits 21 com base nos vetores V[k] de primeiro plano codificados 57, os coeficientes HOA ambiente codificados 59, os sinais nFG codificados 61 e as informações de canal de segundo plano 43. Desse modo, a unidade de geração de fluxo de bits 42 pode desse modo especificar os vetores 57 no fluxo de bits 21 para obter o fluxo de bits 21. O fluxo de bits 21 pode incluir um fluxo de bits primário ou principal e um ou mais fluxos de bit de canal secundário.
[000121] Embora não mostrado no exemplo da figura 3, o dispositivo de codificação de áudio 20 pode também incluir uma unidade de saída de fluxo de bits que comuta a saída do fluxo de bits a partir do dispositivo de codificação de áudio 20 (por exemplo, entre o fluxo de bits baseado em direcional 21 e o fluxo de bits baseado em vetor 21) com base em se um quadro atual deve ser codificado usando a síntese baseada em direcional ou a síntese baseada em vetor. A unidade de saída de fluxo de bits pode executar a comutação com base no elemento de sintaxe transmitido pela unidade de análise de conteúdo 26 indicando se uma síntese baseada em direcional foi realizada (como resultado de detectar que os coeficientes HOA 11 foram gerados de um objeto de áudio sintético) ou uma síntese baseada em vetor foi executada (como resultado de detectar que os coeficientes HOA foram registrados). A unidade de saída de fluxo de bits pode especificar a sintaxe de cabeçalho correta para indicar a comutação ou codificação atual usada para o quadro atual juntamente com o respectivo dos fluxos de bits 21.
[000122] Além disso, como observado acima, a unidade de análise de campo de som 44 pode identificar coeficientes HOA ambiente BGTOT 47, que podem alterar em uma base de quadro a quadro (embora às vezes BGTOT possa permanecer constante ou igual através de dois ou mais quadros adjacentes (em tempo)). A alteração em BGTOT pode resultar em alterações nos coeficientes expressos nos vetores V[k] de primeiro plano reduzidos 55. A alteração em BGTOT pode resultar em coeficientes HOA de segundo plano (que também podem ser mencionados como “coeficientes HOA ambiente”) que alteram em uma base de quadro a quadro (embora, novamente, às vezes BGTOT possa permanecer constante ou igual através de dois ou mais quadros adjacentes (em tempo)). As alterações frequentemente resultam em uma alteração de energia para os aspectos do campo de som representados pela adição ou remoção dos coeficientes HOA ambiente adicionais e a remoção correspondente de coeficientes a partir de ou adição de coeficientes aos vetores V[k] de primeiro plano reduzidos 55.
[000123] Como resultado, a unidade de análise de campo de som 44 pode determinar ainda quando os coeficientes HOA ambiente mudam de quadro para quadro e geram um flag ou outro elemento de sintaxe indicativo da alteração no coeficiente HOA ambiente em termos de ser usado para representar os componentes ambiente do campo de som (onde a alteração também pode ser mencionada como uma “transição” do coeficiente HOA ambiente ou como uma “transição” do coeficiente HOA ambiente). Em particular, a unidade de redução de coeficiente 46 pode gerar o flag (que pode ser indicado como um flag AmbCoeffTransition ou um flag AmbCoeffIdxTransition), fornecendo o flag para a unidade de geração de fluxo de bits 42 de modo que o flag possa ser incluído no fluxo de bits 21 (possivelmente como parte de informação de canal secundário).
[000124] A unidade de redução de coeficiente 46 pode, além de especificar o flag de transição de coeficiente ambiente, também modificar como os vetores V[k] de primeiro plano reduzidos 55 são gerados. Em um exemplo, após determinar que um dos coeficientes ambiente HOA ambiente está em transição durante o quadro atual, a unidade de redução de coeficiente 46 pode especificar, um coeficiente de vetor (que também pode ser mencionado como um “elemento de vetor” ou “elemento”) para cada dos vetores-V dos vetores V[k] de primeiro plano reduzido 55 que corresponde ao coeficiente HOA ambiente em transição. Novamente, o coeficiente HOA ambiente pode adicionar ou remover do BGTOT número total de coeficientes de Segundo plano. Portanto, a alteração resultante no número total de coeficientes de segundo plano afeta se o coeficiente HOA ambiente é incluído ou não incluído no fluxo de bits, e se o elemento correspondente dos vetores-V está incluído para os vetores-V especificado no fluxo de bits no segundo e terceiro modos de configuração descritos acima. Mais informações referentes a como a unidade de redução de coeficiente 46 pode especificar os vetores V[k] de primeiro plano reduzidos 55 para superar as alterações em energia são fornecidas no pedido US número de série 14/594.533, intitulado “TRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTS, ” depositado em 12 de janeiro de 2015.
[000125] Nesse aspecto, a unidade de geração de fluxo de bits 42 pode gerar um fluxo de bits 21 em uma ampla variedade de esquemas de codificação diferentes, que pode facilitar geração de fluxo de bits flexível para acomodar um número grande de contextos de fornecimento de conteúdo diferentes. Um contexto que parece estar ganhando impulso na indústria de áudio é o fornecimento (ou, em outras palavras, “streaming”) de dados de áudio através de redes para um número crescente de dispositivos de reprodução diferentes. Fornecer conteúdo de áudio através de redes de largura de banda limitada para dispositivos tendo graus variáveis de capacidades de reprodução pode ser difícil, especialmente no contexto de dados de áudio HOA que permitem um alto grau de fidelidade de áudio 3D durante reprodução à custa de grande consumo de largura de banda (em relação a dados de áudio baseados em objeto ou canal).
[000126] De acordo com as técnicas descritas nessa revelação, a unidade de geração de fluxo de bits 42”pode utilizar uma ou mais camadas escalonáveis para permitir várias reconstruções dos coeficientes HOA 11. Cada das camadas pode ser hierárquica. Por exemplo, uma primeira camada (que pode ser mencionada como uma “camada base”) pode fornecer uma primeira reconstrução dos coeficientes HOA que permite que feeds de alto-falante estéreo sejam renderizados. Uma segunda camada (que pode ser mencionada como uma primeira “camada de aperfeiçoamento”) pode, quando aplicada à primeira reconstrução dos coeficientes HOA, escalonar a primeira reconstrução do coeficiente HOA para permitir que feeds de alto-falante de som surround horizontal (por exemplo, feeds de alto-falante 5.1) sejam renderizados. Em outras palavras, as camadas são hierárquicas de modo que uma primeira camada, quando combinada com uma segunda camada, fornece uma representação de resolução mais alta do sinal de áudio ambisonic de ordem superior.
[000127] Embora descrito acima como permitindo escalonamento de uma camada imediatamente precedente, qualquer camada acima de outra camada pode escalonar a camada inferior. Em outras palavras, a terceira camada descrita acima pode ser usada para escalonar a primeira camada, embora a primeira camada não tenha sido “escalonada” pela segunda camada. A terceira camada, quando aplicada diretamente à primeira camada, pode fornecer informações de altura e desse modo permitir que feeds de alto-falante irregulares correspondendo a geometrias de alto-falante irregularmente dispostas sejam renderizadas.
[000128] A unidade de geração de fluxo de bits 42 pode, para permitir que as camadas sejam extraídas do fluxo de bits 21, especificar uma indicação de um número de camadas especificadas no fluxo de bits. A unidade de geração de fluxo de bits 42 pode transmitir o fluxo de bits 21 que inclui o número indicado de camadas. A unidade de geração de fluxo de bits 42 é descrita em mais detalhe com relação à figura 5. Vários exemplos diferentes de gerar os dados de áudio HOA escalonáveis são descritos nas figuras 7A-9B a seguir, com um exemplo das informações de banda lateral para cada dos exemplos acima nas figuras 10-13B.
[000129] A figura 5 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits 42 da figura 3 quando configurada para executar uma primeira das versões em potencial das técnicas de codificação de áudio escalonáveis descritas nessa revelação. No exemplo da figura 5, a unidade de geração de fluxo de bits 42 inclui uma unidade de geração de fluxo de bits escalonável 1000 e uma unidade de geração de fluxo de bits não escalonável 1002. A unidade de geração de fluxo de bits escalonável 1000 representa uma unidade configurada para gerar um fluxo de bits escalonável 21 compreendendo duas ou mais camadas (embora em alguns casos um fluxo de bits escalonável possa compreender uma única camada para certos contextos de áudio) tendo HOAFrames() similar àqueles mostrados em e descritos abaixo com relação aos exemplos das figuras 1113B. A unidade de geração de fluxo de bits não escalonável 1002 pode representar uma unidade configurada para gerar um fluxo de bits não escalonável 21 que não fornece camadas ou, em outras palavras, escalabilidade.
[000130] Tanto o fluxo de bits não escalonável 21 como o fluxo de bits escalonável 21 pode ser mencionado como “fluxo de bits 21” dado que ambos incluem, tipicamente os mesmos dados subjacentes em termos dos coeficientes HOA ambiente codificados 59, os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57. Uma diferença, entretanto, entre o fluxo de bits não escalonável 21 e o fluxo de bits escalonável 21 é que o fluxo de bits escalonável 21 inclui camadas, que podem ser indicadas como camadas 21A, 21B, etc. As camadas 21A podem incluir subconjuntos dos coeficientes HOA ambiente codificados 59, os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57, como descrito em mais detalhe abaixo.
[000131] Embora os fluxos de bits escalonável e não escalonável 21 possam ser efetivamente representações diferentes do mesmo fluxo de bits 21, o fluxo de bits não escalonável 21 é indicado como fluxo de bits não escalonável 21’ para diferenciar o fluxo de bits escalonável 121 a partir do fluxo de bits não escalonável 21’. Além disso, em algumas instâncias, o fluxo de bits escalonável 21 pode incluir várias camadas que se conformam com o fluxo de bits não escalonável 21. Por exemplo, o fluxo de bits escalonável 21 pode incluir uma camada base que se conforma ao fluxo de bits não escalonável 21. Nessas instâncias, o fluxo de bits não escalonável 21’ pode representar um sub-fluxo de bits de fluxo de bits escalonável 21, onde esse sub-fluxo de bits não escalonável 21’ pode ser aperfeiçoado com camadas adicionais do fluxo de bits escalonável 21 (que são mencionados como camadas de aperfeiçoamento).
[000132] A unidade de geração de fluxo de bits 42 pode obter informações de escalabilidade 1003 indicativas de se deve invocar a unidade de geração de fluxo de bits escalonável 1000 ou a unidade de geração de fluxo de bits não escalonável 1002. Em outras palavras, as informações de escalabilidade 1003 podem indicar se a unidade de geração de fluxo de bits 42 deve transmitir fluxo de bits escalonável 21 ou fluxo de bits não escalonável 21’. Para fins de ilustração, as informações de escalabilidade 1003 são assumidas como indicando que a unidade de geração de fluxo de bits 42 deve invocar a unidade de geração de fluxo de bits escalonável 1000 para transmitir o fluxo de bits escalonável 21’.
[000133] Como adicionalmente mostrado no exemplo da figura 5, a unidade de geração de fluxo de bits 42 pode receber os coeficientes HOA ambiente codificados 59A-59D, os sinais nFG codificados 61A e 61B, e os vetores V[k] de primeiro plano codificados 57A e 57B. os coeficientes HOA ambiente codificados 59A podem representar coeficientes HOA ambiente codificados associados a uma função de base esférica tendo uma ordem de zero e uma subordem de zero. Os coeficientes HOA ambiente codificados 59B podem representar coeficientes HOA ambiente codificados associados a uma função base esférica tendo uma ordem de um e uma subordem de zero. Os coeficientes HOA ambiente codificados 59C podem representar coeficientes HOA ambiente codificados associados a uma função base esférica tendo uma ordem de um e uma subordem de um negativo. Os coeficientes HOA ambiente codificados 59D podem representar coeficientes HOA ambiente codificados associados a uma função base esférica tendo uma ordem de um e uma subordem de um positivo. Os coeficientes HOA ambiente codificados 59A-59D podem representar um exemplo de, e como resultado podem ser mencionados coletivamente como os coeficientes HOA ambiente codificados 59 discutidos acima.
[000134] Os sinais nFG codificados 61A e 61B podem representar individualmente um objeto de áudio US representativo, nesse exemplo, de dois aspectos de primeiro plano mais predominantes do campo de som. Os vetores V[k] de primeiro plano codificados 57A e 57B podem representar informações direcionais (que também podem especificar largura além de direção) para os sinais nFG codificados 61A e 61B respectivamente. Os sinais nFG codificados 61A e 61B podem representar um exemplo de, e como resultado podem ser mencionados coletivamente como, os sinais nFG codificados 61 descritos acima. Os vetores V[k] de primeiro plano codificados 57A e 57B podem representar um exemplo de, e como resultado podem ser mencionados coletivamente como, os vetores V[k] de primeiro plano codificados 57 descritos acima.
[000135] Após invocada, a unidade de geração de fluxo de bits escalonável 1000 pode gerar o fluxo de bits escalonável 21 para incluir as camadas 21A e 21B em um modo substancialmente similar àquele descrito abaixo com relação às figuras 7A-9B. A unidade de geração de fluxo de bits escalonável 1000 pode especificar uma indicação do número de camadas no fluxo de bits escalonável 21 bem como o número de elementos de primeiro plano e elementos do segundo plano em cada das camadas 21A e 21B. A unidade de geração de fluxo de bits escalonável 1000 pode, como exemplo, especificar um elemento de sintaxe NumberOfLayers que pode especificar L número de camadas, onde a variável L pode indicar o número de camadas. A unidade de geração de fluxo de bits escalonável 1000 pode então especificar, para cada camada (que pode ser indicada como a variável i = 1 para L), o número Bi dos coeficientes HOA ambiente codificados 59 e o número Fi dos sinais nFG codificados 61 enviados para cada camada (que também pode ou alternativamente indicar o número de vetores V[k] de primeiro plano codificados correspondentes 57).
[000136] No exemplo da figura 5, a unidade de geração de fluxo de bits escalonável 1000 pode especificar no fluxo de bits escalonável 21 que codificação escalonável foi permitida e que duas camadas são incluídas no fluxo de bits escalonável 21, que a primeira camada 21A inclui quatro coeficientes HOA ambiente codificados 59 e sinais nFG codificados zero 61, e que a segunda camada 21A inclui coeficientes HOA ambiente codificado zero 59 e sinais nFG codificados w 61. A unidade de geração de fluxo de bits escalonável 1000 pode gerar também a primeira camada 21A (que pode ser também mencionada como uma “camada base 21A”) para incluir os coeficientes HOA ambiente codificados 59. A unidade de geração de fluxo de bits escalonável 1000 pode gerar ainda a segunda camada 21A (que pode ser mencionada como uma “camada de aperfeiçoamento 21B”) para incluir os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57. A unidade de geração de fluxo de bits escalonável 1000 pode transmitir as camadas 21A e 21B como fluxo de bits escalonável 21. Em alguns exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode armazenar o fluxo de bits escalonável 21’ em uma memória (quer interna ou externa a partir do codificador 20).
[000137] Em algumas instâncias, a unidade de geração de fluxo de bits escalonável 1000 pode não especificar uma ou mais de quaisquer das indicações do número de camadas, o número de componentes de primeiro plano (por exemplo, número de sinais nFG codificados 61 e vetores V[k] de primeiro plano codificados 57) em uma ou mais camadas, e o número de componentes de segundo plano (por exemplo, os coeficientes HOA ambiente codificados 59) em uma ou mais camadas. Os componentes também podem ser mencionados como canais nessa revelação. Ao invés, a unidade de geração de fluxo de bits escalonável 1000 pode comparar o número de camadas para um quadro atual com o número de camadas para um quadro anterior (por exemplo, o quadro anterior mais temporalmente recente). Quando a comparação resulta em nenhuma diferença (significando que o número de camadas no quadro atual é igual ao número de camadas no quadro anterior, a unidade de geração de fluxo de bits escalonável 1000 pode comparar o número de componentes de segundo plano e primeiro plano em cada camada em um modo similar.
[000138] Em outras palavras, a unidade de geração de fluxo de bits escalonável 1000 pode comparar o número de componentes de segundo plano em uma ou mais camadas para o quadro atual com o número de componente de segundo plano em uma ou mais camadas para um quadro anterior. A unidade de geração de fluxo de bits escalonável 1000 pode comparar ainda o número de componentes de primeiro plano em uma ou mais camadas para o quadro atual com o número de componentes de primeiro plano em uma ou mais camadas para o quadro anterior.
[000139] Quando ambas as comparações baseadas em componente resultam em nenhuma diferença (significando que o número de componentes de primeiro plano e segundo plano no quadro anterior é igual ao número de componentes de primeiro plano e segundo plano no quadro atual), a unidade de geração de fluxo de bits escalonável 1000 pode especificar uma indicação (por exemplo, um elemento de sintaxe HOABaseLayerConfigurationFlag) no fluxo de bits escalonável 21 que o número de camadas no quadro atual é igual ao número de camadas no quadro anterior ao invés de especificar uma ou mais ou qualquer das indicações do número de camadas, o número de componentes de primeiro plano (por exemplo, número dos sinais nFG codificados 61 e vetores V[k] de primeiro plano codificados 57) em uma ou mais camadas, e o número de componentes de segundo plano (por exemplo, os coeficientes HOA ambiente codificados 59) em uma ou mais camadas. O dispositivo de decodificação de áudio 24 pode então determinar que as indicações de quadro anterior do número de camadas, componentes de segundo plano e componentes de primeiro plano igualam a indicação de quadro atual de número do número de camadas, componentes de segundo plano e componentes de primeiro plano, como descrito abaixo em mais detalhe.
[000140] Quando qualquer uma das comparações mencionadas acima resulta em diferenças, a unidade de geração de fluxo de bits escalonável 1000 pode especificar uma indicação (por exemplo, um elemento de sintaxe HOABaseLayerConfigurationFlag) no fluxo de bits escalonável 21 que o número de camadas no quadro atual não é igual ao número de camadas no quadro anterior. A unidade de geração de fluxo de bits escalonável 1000 pode então especificar as indicações do número de camadas, o número de componentes de primeiro plano (por exemplo, número dos sinais nFG codificados 61 e vetores V[k] de primeiro plano codificados 57) em uma ou mais camadas, e o número de componentes de segundo plano (por exemplo, os coeficientes HOA ambiente codificados 59) em uma ou mais camadas, como mencionado acima. Nesse aspecto, a unidade de geração de fluxo de bits escalonável 1000 pode especificar, no fluxo de bits, uma indicação de se um número de camadas do fluxo de bits alterou em um quadro atual quando comparado com um número de camadas do fluxo de bits em um quadro anterior, e especificar o número indicado de camadas do fluxo de bits no quadro atual.
[000141] Em alguns exemplos, ao invés de não especificar uma indicação do número de componentes de primeiro plano e a indicação do número de componentes de segundo plano, a unidade de geração de fluxo de bits escalonável 1000 pode não especificar uma indicação de um número de componentes (por exemplo, um elemento de sintaxe “NumChannels”, que pode ser um conjunto tendo [i]entradas onde i é igual ao número de camadas) no fluxo de bits escalonável 21. A unidade de geração de fluxo de bits escalonável 1000 pode não especificar essa indicação do número de componentes (onde esses componentes podem ser também mencionados como “canais”) no lugar de não especificar o número de componentes de primeiro plano e segundo plano dado que o número de componentes de primeiro plano e segundo plano pode ser derivado do número mais geral de canais. A derivação da indicação do número de componentes de primeiro plano e da indicação do número de canais de segundo plano pode, em alguns exemplos, proceder de acordo com a seguinte tabela:Tabela - sintaxe de ChannelSideinfoData(i) Onde a descrição do ChannelType é dada como a seguir: ChannelType: 0: sinal baseado em direção 1: sinal baseado em vetor (que pode representar um sinal de primeiro plano) 2: coeficiente HOA ambiente adicional (que pode representar um sinal ambiente ou de segundo plano) 3: vazio Como resultado de sinalizar o ChannelType de acordo com a tabela de sintaxe SideChannelinfo acima, o número de componentes de primeiro plano por camada pode ser determinado como uma função do número de elementos de sintaxe de ChannelType definidos para 1 e o número de componentes de segundo plano por camada pode ser determinado como uma função do número de elementos de sintaxe ChannelType definido para 2.
[000142] A unidade de geração de fluxo de bits escalonável 1000 pode, em alguns exemplos, especificar um HOADecoderConfig em uma base quadro a quadro, que fornece as informações de configuração para extrair as camadas a partir do fluxo de bits 21. A HOADecoderConfig pode ser especificada como uma alternativa para ou em combinação com a tabela acima. A seguinte tabela pode definir a sintaxe para o objeto HOADecoderConfig_FrameByFrame() no fluxo de bits 21.
[000143] Na tabela acima, o elemento de sintaxe HOABaseLayerPresent pode representar um flag que indica se a camada base do fluxo de bits escalonável 21 está presente. Quando presente, a unidade de geração de fluxo de bits escalonável 1000 especifica um elemento de sintaxe HOABaseLayerConfigurationFlag, que pode representar um elemento de sintaxe indicando se informações de configuração para a camada base estão persentes no fluxo de bits 21. Quando as informações de configuração para a camada base estão presentes no fluxo de bits 21, a unidade de geração de fluxo de bits escalonável 1000 especifica um número de camadas (isto é, o elemento de sintaxe Numlayers no exemplo), um número de canais de primeiro plano (isto é, o elemento de sintaxe NumFGchannels no exemplo) para cada das camadas, e um número de canais de segundo plano (isto é, o elemento de sintaxe NumBGchannels no exemplo) para cada das camadas. Quando o flag HOABaseLayerPresent indica que a configuração de camada base não está presente, a unidade de geração de fluxo de bits escalonável 1000 pode não fornecer quaisquer elementos de sintaxe adicionais e o dispositivo de decodificação de áudio 24 pode determinar que os dados de configuração para o quadro atual sejam iguais àqueles para um quadro anterior.
[000144] Em alguns exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode especificar o objeto HOADecoderConfig no fluxo de bits escalonável 21, porém não especificar o número de canais de primeiro plano e segundo plano por camada, onde o número de canais de primeiro plano e segundo plano podem ser estáticos ou determinados como descrito acima com relação à tabela ChannelSideInfo. O HOADecoderConfig pode, nesse exemplo, ser definido de acordo com a seguinte tabela.
[000145] Ainda como outra alternativa, as tabelas de sintaxe acima para HOADecoderConfig podem ser substituídas com a seguinte tabela de sintaxe para HOADecoderConfig. Nota: MinAmbHOAOrder = 30...37 são reservados
[000146] Nesse aspecto, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para, como descrito acima, especificar, no fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas do fluxo de bits, e especificar o número indicado dos canais em uma ou mais camadas do fluxo de bits.
[000147] Além disso, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar um elemento de sintaxe (por exemplo, na forma de um elemento de sintaxe NumLayers ou um elemento de sintaxe codedLayerCh como descrito abaixo em mais detalhe) indicativo do número de canais.
[000148] Em alguns exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar uma indicação de um número total de canais especificados no fluxo de bits. A unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para, nessas instâncias, especificar o número total indicado dos canais em uma ou mais camadas do fluxo de bits. Nessas instâncias, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar um elemento de sintaxe (por exemplo, um elemento de sintaxe numHOATransportChannels como descrito abaixo em mais detalhe) indicativo do número total de canais.
[000149] Nesses e em outros exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits. Nessas instâncias, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar o número indicado do tipo indicado de um dos canais em uma ou mais camadas do fluxo de bits. O canal de primeiro plano pode compreender um objeto de áudio US e um vetor-V correspondente.
[000150] Nesses e em outros exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de primeiro plano. Nessas instâncias, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar o canal de primeiro plano em uma ou mais camadas do fluxo de bits.
[000151] Nesses e em outros exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de segundo plano. Nessas instâncias, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar o canal de segundo plano em uma ou mais camadas do fluxo de bits. O canal de segundo plano pode compreender um coeficiente HOA ambiente.
[000152] Nesses e em outros exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar um elemento de sintaxe (por exemplo, um elemento de sintaxe ChannelType) indicativo do tipo de um dos canais.
[000153] Nesses e em outros exemplos, a unidade de geração de fluxo de bits escalonável 1000 pode ser configurada para especificar a indicação do número de canais com base em um número de canais que resta no fluxo de bits após uma das camadas ser obtida (como definido por exemplo por um elemento de sintaxe remainingCh ou um elemento de sintaxe numAvaiableTransportChannels como descrito em mais detalhe abaixo.
[000154] As figuras 7A-7D são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio 20 na geração de uma representação de duas camadas codificada dos coeficientes HOA 11. Com referência primeiramente ao exemplo da figura 7A, a unidade de decorrelação 60 pode primeiramente aplicar a decorrelação UHJ com relação ao segundo plano ambisonics de primeira ordem (onde “segundo plano ambisonics” pode se referir a coeficientes ambisonic descrevendo um componente de segundo plano de um campo de som) representado como coeficientes HOA de segundo plano compensado em energia 47A’-47D’ (300). O segundo plano ambisonics de primeira ordem 47A’-47D’ pode incluir os coeficientes HOA correspondendo a funções de base esférica tendo a seguinte (ordem, subordem): (0,0), (1,0), (1,-1), (1,1).
[000155] A unidade de decorrelação 60 pode transmitir os sinais de áudio HOA ambiente decorrelacionados 67 como os sinais de áudio Q, T, L e R acima mencionados. O sinal de áudio Q pode fornecer informação de altura. O sinal de áudio T pode fornecer informação horizontal (incluindo informação para representar canais além do ponto ideal). O sinal de áudio L provê um canal estéreo esquerdo. O sinal de áudio R provê um canal estéreo direito.
[000156] Em alguns exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a um canal de áudio esquerdo. Em outros exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a um canal de áudio direito. Ainda em outros exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a um canal de localização. Em outros exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a um canal de altura. Em outros exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a uma banda lateral para correção de ganho automático. Em outros exemplos, a matriz UHJ pode compreender pelo menos dados de áudio ambisonic de ordem superior associados a um canal de áudio esquerdo, um canal de áudio direito, um canal de localização, e um canal de altura e uma banda lateral para correção automática de ganho.
[000157] A unidade de controle de ganho 62 pode aplicar controle automático de ganho (AGC) aos sinais de áudio HOA ambiente decorrelacionados 67 (302). A unidade de controle de ganho 62 pode passar os sinais de áudio HOA ambiente ajustados 67’ para a unidade de geração de fluxo de bits 42, que pode formar a camada base com base nos sinais de áudio HOA ambiente ajustados 67’ e pelo menos parte do canal de banda lateral com base nos dados de controle de ganho ambisonic de ordem superior (HOAGCD) (304).
[000158] A unidade de controle de ganho 62 pode aplicar também o controle automático de ganho com relação aos sinais de áudio nFg interpolados 491 (que também podem ser mencionados como os “sinais predominantes baseados em vetor”) (306). A unidade de controle de ganho 62 pode transmitir os sinais de áudio nFG ajustados 49’’ juntamente com o HOAGCD para os sinais de áudio nFG ajustados 49’’ para a unidade de geração de fluxo de bits 42. A unidade de geração de fluxo de bits 42 pode formar a segunda camada com base nos sinais de áudio nFG ajustados 49’’ enquanto faz parte das informações de banda lateral com base no HOADGCD para os sinais de áudio nFG ajustados 49’’ e os vetores V[k] de primeiro plano codificados correspondentes 57 (308).
[000159] A primeira camada (isto é, uma camada base) de duas ou mais camadas de dados de áudio ambisonic de ordem superior pode compreender coeficientes ambisonic de ordem superior correspondendo a uma ou mais funções de base esférica tendo uma ordem igual a ou menor que um. Em alguns exemplos, a segunda camada (isto é, uma camada de aperfeiçoamento) compreende dados de áudio predominantes baseados em vetor.
[000160] Em alguns exemplos, o audio predominante baseado em vetor compreende pelo menos dados de áudio predominante e um vetor-V codificado. Como descrito acima, o vetor-V codificado pode ser decomposto a partir dos dados de áudio ambisonic de ordem superior através da aplicação de uma transformada invertível linear pela unidade LIT 30 do dispositivo de codificação de áudio 20. Em outros exemplos, os dados de áudio predominantes baseados em vetor compreendem pelo menos um canal ambisonic de ordem superior adicional. Ainda em outros exemplos, os dados de áudio predominantes baseados em vetor compreendem pelo menos uma banda lateral de correção automática de ganho. Em outros exemplos, os dados de áudio predominantes baseados em vetor compreendem pelo menos dados de áudio predominantes, um vetor-V codificado, um canal ambisonic de ordem superior adicional e uma banda lateral de correção automática de ganho.
[000161] Na formação da primeira camada e segunda camada, a unidade de geração de fluxo de bits 42 pode executar processos de verificação de erro que fornecem detecção de erro, correção de erro ou tanto detecção como correção de erro. Em alguns exemplos, a unidade de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base). Em outro exemplo, o dispositivo de codificação de áudio pode executar um processo de verificação de erro na segunda camada (isto é, a camada de aperfeiçoamento). Ainda em outro exemplo, a unidade de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base, e, em resposta à determinação de que a primeira camada é isenta de erro, o dispositivo de codificação de áudio pode executar um processo de verificação de erro na segunda camada (isto é, a camada de aperfeiçoamento). Em qualquer dos exemplos acima nos quais a unidade de geração de fluxo de bits 42 executa o processo de verificação de erro na primeira camada (isto é, a camada base), a primeira camada pode ser considerada uma camada robusta que é robusta para erros.
[000162] Com referência a seguir à figura 7B, a unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 executam operações similares àquela da unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 descritas acima com relação à figura 7A. entretanto, a unidade de decorrelação 60 pode aplicar uma decorrelação de matriz de modo, ao invés da decorrelação UHJ, ao segundo plano ambisonics de primeira ordem 47A’- 47D’ (301).
[000163] Com referência a seguir à figura 7C, a unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 podem executar operações similares àquela da unidade de controle de ganho 62 e a unidade de fluxo de bits 42 descritas acima com relação aos exemplos das figuras 7A e 7B. Entretanto, no exemplo da figura 7C, a unidade de decorrelação 60 pode não aplicar qualquer transformada ao segundo plano ambisonics de primeira ordem 47A’-47D’. Em cada dos seguintes exemplos 8A-10B, é assumido, porém não ilustrado que a unidade de decorrelação 60 pode, como alternativa, não aplicar decorrelação com relação a um ou mais do segundo plano ambisonics de primeira ordem 47A’-47D’.
[000164] Com referência a seguir à figura 7D, a unidade de decorrelação 60 e a unidade de geração de fluxo de bits 42 podem executar operações similares àquela da unidade de controle de ganho 52 e a unidade de geração de fluxo de bits 42 descritas acima com relação aos exemplos das figuras 7A e 7B. Entretanto, no exemplo da figura 7D, a unidade de controle de ganho 62 pode não aplicar qualquer controle de ganho aos sinais de áudio HOA ambiente decorrelacionados 67. Em cada dos seguintes exemplos 8A- 10B, é assumido, porém não ilustrado que a unidade de controle de ganho 52 pode, como alternativa, não aplicar decorrelação com relação a um ou mais dos sinais de áudio HOA ambiente de decorrelação 67.
[000165] Em cada dos exemplos das figuras 7A-7D, a unidade de geração de fluxo de bits 42 pode especificar um ou mais elementos de sintaxe no fluxo de bits 21. A figura 10 é um diagrama ilustrando um exemplo de um objeto de configuração HOA especificado no fluxo de bits 21. Para cada dos exemplos das figuras 7A-7D, a unidade de geração de fluxo de bits 42 pode definir o elemento de sintaxe codedVVecLength 400 em 1 ou 2, que indica que os canais HOA de segundo plano de 1a ordem contêm o componente de 1a ordem de todos os sons predominantes. A unidade de geração de fluxo de bits 42 pode também definir o elemento de sintaxe ambienceDecorrelationMethod 402 de modo que o elemento 402 sinaliza o uso da decorrelação UHJ (por exemplo, como descrito acima com relação à figura 7A), sinaliza o uso da decorrelação de modo de matriz (Por exemplo, como descrito acima com relação à figura 7B), ou sinaliza que nenhuma decorrelação foi usada (por exemplo, como descrito acima com relação à figura 7C).
[000166] A figura 11 é um diagrama ilustrando informações de banda lateral 410 geradas pela unidade de geração de fluxo de bits 42 para a primeira e segunda camadas. As informações de banda lateral 410 incluem informações de camada base de banda lateral 412 e informações de segunda camada de banda lateral 414A e 414B. Quando somente a camada base é fornecida ao dispositivo de decodificação de áudio 24, o dispositivo de codificação de áudio 20 pode fornecer somente as informações de camada base de banda lateral 412. As informações de camada base de banda lateral 412 incluem o HOAGCD para a camada base. As informações de segunda camada de banda lateral 414A incluem elementos de sintaxe de canais de transporte 1-4 e HOAGCD correspondente. As informações de segunda camada de banda lateral 414B incluem dois vetores V[k] reduzidos codificados correspondentes 57 correspondendo aos canais de transporte 1 e 2 (dado que os canais de transporte 3 e 4 estão vazios como indicado pelo elemento de sintaxe ChannelType igualando 112 ou 310).
[000167] As figuras 8A e 8B são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio 20 na geração de uma representação de três camadas codificada dos coeficientes HOA 11. Com referência primeiramente ao exemplo da figura 8A, a unidade de decorrelação 60 e a unidade de controle de ganho 62 podem executar operações similares àquelas descritas acima com relação à figura 7A. Entretanto, a unidade de geração de fluxo de bis 42 pode formar a camada base com base no sinal de áudio L e o sinal de áudio R dos sinais de áudio HOA ambiente ajustados 67 ao invés de todos os sinais de áudio HOA ambiente ajustados 67 (310). A camada base pode,nesse aspecto, fornecer canais estéreo quando renderizados no dispositivo de decodificação de áudio 24. A unidade de geração de fluxo de bits 42 pode também gerar informações de banda lateral para a camada base que inclui o HOAGCD.
[000168] A operação da unidade de geração de fluxo de bis 42 pode também diferir daquela descrita acima com relação à figura 7A em que a unidade de geração de fluxo de bits 42 pode formar uma segunda camada com base nos sinais de áudio Q e T dos sinais de áudio HOA ambiente ajustados 67 (312). A segunda camada no exemplo da figura 8A pode fornecer canais horizontais e canais de áudio 3d quando renderizados no dispositivo de decodificação de áudio 24. A unidade de geração de fluxo de bits 42 pode gerar também informações de banda lateral para a segunda camada que inclui o HOAGCD. A unidade de geração de fluxo de bits 42 pode também formar uma terceira camada em um modo substancialmente similar àquele descrito acima com relação à formação da segunda camada no exemplo da figura 7A.
[000169] A unidade de geração de fluxo de bits 42 pode especificar o objeto de configuração HOA para o fluxo de bits 21 similar àquele descrito acima com relação à figura 10. Além disso, a unidade de geração de fluxo de bits 42 do codificador de áudio 20 define o elemento de sintaxe MinAmbHoaOrder 404 em 2 de modo a indicar que o segundo plano HOA de primeira ordem é transmitido.
[000170] A unidade de geração de fluxo de bits 42 pode também gerar informações de banda lateral similares a informações de banda lateral 412 mostradas no exemplo da figura 12A. A figura 12A é um diagrama ilustrando informações de banda lateral 412 geradas de acordo com os aspectos de codificação escalonável das técnicas descritas nessa revelação. As informações de banda lateral 412 incluem informações de camada base de banda lateral 416, informações de segunda camada de banda lateral 418, e informações de terceira camada de banda lateral 420A e 420B. as informações de camada base de banda lateral 416 podem fornecer o HOAGCD para a camada base. As informações de segunda camada de banda lateral 418 podem fornecer o HOAGCD para a segunda camada. As informações de terceira camada de banda lateral 420A e 420B podem ser similares às informações de banda lateral 414A e 414B descritas acima com relação à figura 11.
[000171] Similar à figura 7A, o dispositivo de geração de fluxo de bits 42 pode executar processos de verificação de erro. Em alguns exemplos, o dispositivo de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base). Em outro exemplo, o dispositivo de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base) e refrear de executar um processo de verificação de erro na segunda camada (isto é, a camada de aperfeiçoamento). Ainda em outro exemplo, o dispositivo de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base) e, em resposta à determinação de que a primeira camada é isenta de erro, o dispositivo de codificação de áudio pode executar um processo de verificação de erro na segunda camada (isto é, a camada de aperfeiçoamento). Em qualquer dos exemplos acima nos quais o dispositivo de codificação de áudio executa o processo de verificação de erro na primeira camada (isto é, a camada base), a primeira camada pode ser considerada uma camada robusta que é robusta a erros.
[000172] Embora descrito como fornecendo três camadas, em alguns exemplos, o dispositivo de geração de fluxo de bits 42 pode especificar uma indicação no fluxo de bits que há somente duas camadas e especificar uma primeira das camadas do fluxo de bits indicativo de componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de canal estéreo, e uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de multicanais horizontais por três ou mais alto-falantes dispostos em um plano horizontal único. Em outras palavras, embora mostrado como fornecendo três camadas, o dispositivo de geração de fluxo de bits 42 pode gerar somente duas das três camadas em algumas instâncias. Deve ser entendido que qualquer subconjunto das camadas pode ser gerado, embora não descrito em detalhe aqui.
[000173] Com referência a seguir à figura 8B, a unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 executam operações similares àquela da unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 descritas acima com relação à figura 8A. entretanto, a unidade de decorrelação 60 pode aplicar uma decorrelação de matriz de modo, ao invés da decorrelação UHJ, para o segundo plano ambisonics de primeira ordem 47A’ (316). Em alguns exemplos, o segundo plano ambisonics de primeira ordem 47A’ pode incluir os coeficientes ambisonic de ordem zero 47A’. A unidade de controle de ganho 62 pode aplicar o controle automático de ganho aos coeficientes ambisonic de primeira ordem correspondendo aos coeficientes harmônicos esféricos tendo uma primeira ordem, e o sinal de áudio HOA ambiente decorrelacionado 67.
[000174] A unidade de geração de fluxo de bits 42 pode formar uma camada base com base no sinal de áudio HOA ambiente ajustado 67 e pelo menos parte da banda lateral com base no HOAGCD correspondente (310). O sinal de áudio HOA ambiente 67 pode fornecer um mono canal quando renderizado no dispositivo de decodificação de áudio 24. A unidade de geração de fluxo de bits 42 pode formar uma segunda camada com base nos coeficientes HOA ambiente ajustados 47B’’-47D’’ e pelo menos parte da banda lateral com base no HOAGCD correspondente (318). Os coeficientes HOA ambiente ajustados 47B’-47D’ podem fornecer canais X, Y e Z (ou estéreo, horizontal e de altura) quando renderizados no dispositivo de decodificação de áudio 24. A unidade de geração de fluxo de bits 42 pode formar a terceira camada e pelo menos parte das informações de banda lateral em um modo similar àquele descrito acima com relação à figura 8A. a unidade de geração de fluxo de bits 42 pode gerar informações de banda lateral 412 como descrito em mais detalhe com relação à figura 12B (326).
[000175] A figura 12B é um diagrama ilustrando informações de banda lateral 414 geradas de acordo com os aspectos de codificação escalonáveis das técnicas descritas nessa revelação. As informações de banda lateral 414 incluem informações de camada base de banda lateral 416, informações de segunda camada de banda lateral 422, e informações de terceira camada de banda lateral 424A-424C. As informações de camada base de banda lateral 416 podem fornecer o HOAGCD para a camada abse. As inofmrações de segunda camada de sidband 422 podem fornecer o HOAGCD para a segunda camada. As informações de terceira camada de banda lateral 424A-424C podem ser similares ás informações de banda lateral 414A (exceto pelas informações de banda lateral 414A serem especificadas como informações de terceira camada de banda lateral 424A e 424B) e 414B descritas acima com relação à figura 11.
[000176] As figuras 9A e 9B são fluxogramas ilustrando operação de exemplo do dispositivo de codificação de áudio 20 na geração de uma representação de quatro camadas codificada dos coeficientes HOA 11. Com referência primeiramente ao exemplo da figura 9A, a unidade de decorrelação 60 e a unidade de controle de ganho 62 podem executar operações similares àquelas descritas acima com relação à figura 8A. a unidade de geração de fluxo de bits 42 pode formar a camada base em um modo similar àqueles descrito acima com relação ao exemplo da figura 8A, isto é, com base no sinal de áudio L e o sinal de áudio R dos sinais de áudio HOA ambiente ajustados 67 ao invés de todos os sinais de áudio HOA ambiente ajustados 67 (310). A camada base pode, nesse aspecto, fornecer canais estéreo quando renderizados no dispositivo de decodificação de áudio 24 (ou, em outras palavras, fornecer reprodução de canal estéreo). A unidade de geração de fluxo de bits 42 também pode gerar informações de banda lateral para a camada base que incluem o HOAGCD.
[000177] A operação da unidade de geração de fluxo de bits 42 pode diferir daquela descrita acima com relação à figura 8A em que a unidade de geração de fluxo de bits 42 pode formar uma segunda camada com base no sinal de áudio T (e não o sinal de áudio Q) dos sinais de áudio HOA ambiente ajustados 67 (322). A segunda camada no exemplo da figura 9A pode fornecer canais horizontais quando renderizados no dispositivo de decodificação de áudio 24 (ou, em outras palavras, reprodução de multicanais por três ou mais alto-falante em um plano horizontal único). A unidade de geração de fluxo de bits 42 pode também gerar informações de banda lateral para a segunda camada que inclui o HOAGCD. A unidade de geração de fluxo de bits 42 pode formar também uma terceira camada com base no sinal de áudio Q dos sinais de áudio HOA ambiente ajustados 67 (324). A terceira camada pode fornecer reprodução tridimensional por três ou mais alto-falantes dispostos em um ou mais planos horizontais. A unidade de geração de fluxo de bits 42 pode formar a quarta camada em um modo substancialmente similar ao descrito acima com relação à formação da terceira camada no exemplo da figura 8A (326).
[000178] A unidade de geração de fluxo de bits 42 pode especificar o objeto de configuração HOA para o fluxo de bits 21 similar àquele descrito acima com relação à figura 10. Além disso, a unidade de geração de fluxo e bits 42 do codificador de áudio 20 define o elemento de sintaxe MinAmbHoaOrder 404 em 2 de modo a indicar que o segundo plano HOA de 1a ordem é transmitido.
[000179] A unidade de geração de fluxo de bits 42 pode também gerar informações de banda lateral similares a informações de banda lateral 412 mostradas no exemplo da figura 13A. A figura 13A é um diagrama ilustrando informações de banda lateral 430 geradas de acordo com os aspectos de codificação escalonável das técnicas descritas nessa revelação. As informações de banda lateral 430 incluem informações de camada base de banda lateral 416, informações de segunda camada de banda lateral 418, informações de terceira camada de banda lateral 432 e informações de quarta camada de banda lateral 434A e 434B. As informações de camada base de banda lateral 416 podem fornecer o HOAGCD para a camada base. As informações de segunda camada de banda lateral 418 podem fornecer o HOAGCD para a segunda camada. As informações de terceira camada de banda lateral 430 podem fornecer o HOAGCD para a terceira camada. As informações de quarta camada de banda lateral 434A e 434B podem ser similares às informações de banda lateral 420A e 420B descritas acima com relação à figura 12A.
[000180] Similar à figura 7A, o dispositivo de geração de fluxo de bits 42 pode executar processos de verificação de erro. Em alguns exemplos, o dispositivo de geração de fluxo de bit 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base). Em outro exemplo, o dispositivo de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base) e refrear de executar um processo de verificação de erro na camada restante (isto é, as camadas de aperfeiçoamento). Ainda em outro exemplo, o dispositivo de geração de fluxo de bits 42 pode executar um processo de verificação de erro na primeira camada (isto é, a camada base) e, em resposta à determinação de que a primeira camada é isenta de erro, o dispositivo de codificação de áudio pode executar um processo de verificação de erro na segunda camada (isto é, a camada de aperfeiçoamento). Em qualquer um dos exemplos acima nos quais o dispositivo de codificação de áudio executa o processo de verificação de erro na primeira camada (isto é, a camada base), a primeira camada pode ser considerada uma camada robusta que é robusta a erros.
[000181] Com referência a seguir à figura 9B, a unidade de controle de ganho 62 e a unidade de geração de fluxo de bits 42 executam operações similares àquela da unidade de controle de ganho 62 e unidade de geração de fluxo de bits 42 descritas acima com relação à figura 9A. Entretanto, a unidade de decorrelação 60 pode aplicar uma decorrelação de matriz de modo, ao invés da decorrelação UHJ, ao segundo plano ambisonics de primeira ordem 47A’ (316). Em alguns exemplos, o segundo plano ambisonics de primeira ordem 47A’ pode incluir os coeficientes ambisonic de zero ordem 47A’. A unidade de controle de ganho 62 pode aplicar o controle de ganho automático aos coeficientes ambisonic de primeira ordem correspondendo aos coeficientes harmônicos esféricos tendo uma primeira ordem, e o sinal de áudio HOA ambiente decorrelacionado 67 (302).
[000182] A unidade de geração de fluxo de bits 42 pode formar uma camada base com base no sinal de áudio HOA ambiente ajustado 67 e pelo menos parte da banda lateral com base no HOAGCD correspondente (310). O sinal de áudio HOA ambiente 67 pode fornecer um canal mono quando renderizado no dispositivo de decodificação de áudio 24. A unidade de geração de fluxo de bits 42 pode formar uma segunda camada com base nos coeficientes HOA ambiente ajustados 47B” e 47C” e pelo menos parte da banda lateral com base no HOAGCD correspondente (322). Os coeficientes HOA ambiente ajustados 47B” e 47C” podem fornecer X, Y reprodução de multicanais horizontal por três ou mais alto- falantes dispostos em um plano horizontal único. A unidade de geração de fluxo de bits 42 pode formar uma terceira camada com base nos coeficientes HOA ambiente ajustados 47D” e pelo menos parte da banda lateral com base no HOAGCD correspondente (324). Os coeficientes HOA ambiente ajustados 47D” podem fornecer reprodução tridimensional por três ou mais alto-falantes dispostos em um ou mais planos horizontais. A unidade de geração de fluxo de bits 42 pode formar a quarta camada e pelo menos parte das informações de banda lateral em um modo similar àquele descrito acima com relação à figura 8A (326). A unidade de geração de fluxo de bits 42 pode gerar informações de banda lateral 412 como descrito em mais detalhe com relação à figura 12B.
[000183] A figura 13B é um diagrama ilustrando informações de banda lateral 440 geradas de acordo com os aspectos de codificação escalonável das técnicas descritas nessa revelação. As informações de banda lateral 440 incluem informações de camada base de banda lateral 416, informações de segunda camada de banda lateral 442, informações de terceira camada de banda lateral 444 e informações de quarta camada de banda lateral 446A-446C. as informações de camada base de banda lateral 416 podem fornecer o HOAGCD para a camada base. As informações de segunda camada de banda lateral 442 podem fornecer o HOAGCD para a segunda camada. As informações de terceira camada de banda lateral podem fornecer o HOAGCD para a terceira camada. As informações de quarta camada de banda lateral 446A-446C podem ser similares às informações de banda lateral 424A-424C descritas acima com relação à figura 12B.
[000184] A figura 4 é um diagrama de blocos ilustrando o dispositivo de decodificação de áudio 24 da figura 2 em mais detalhe. Como mostrado no exemplo da figura 4 o dispositivo de decodificação de áudio 24 pode incluir uma unidade de extração 72, uma unidade de reconstrução baseada em direcionalidade 90 e uma unidade de reconstrução baseada em vetor 92. Embora descrito abaixo, mais informações referentes ao dispositivo de decodificação de áudio 24 e os vários aspectos de descomprimir ou de outro modo decodificar coeficientes HOA são disponíveis na Publicação de Pedido de Patente internacional no. WO 2014/194099, intitulada “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD, ” depositado em 29 de maio de 2014. Informações adicionais também podem ser encontradas na fase I e fase II acima referenciadas do padrão de codificação de áudio 3D MPEG-H e o artigo correspondente referenciado acima resumindo a fase I do padrão de codificação de áudio 3D MPEG-H.
[000185] A unidade de extração 72 pode representar uma unidade configurada para receber o fluxo de bits 21 e extrair as várias versões codificadas (por exemplo, uma versão codificada baseada em direcional ou uma versão codificada baseada em vetor) dos coeficientes HOA 11. A unidade de extração 72 pode determinar do elemento de sintaxe acima mencionado indicativo de se os coeficientes HOA 11 foram codificados através de várias versões baseadas em vetor ou baseadas em direção. Quando uma codificação baseada em direcional foi executada, a unidade de extração 72 pode extrair a versão baseada em direcional dos coeficientes HOA 11 e os elementos de sintaxe associados à versão codificada (que é indicado como informações baseadas em direcional 92 no exemplo da figura 4), passando as informações baseadas em direcional 91 para a unidade de reconstrução baseada em direcional 90. A unidade de reconstrução baseada em direcional 90 pode representar uma unidade configurada para reconstruir os coeficientes HOA na forma de coeficientes HOA 11’ com base nas informações baseadas em direcional 91.
[000186] Quando o elemento de sintaxe indica que os coeficientes HOA 11 foram codificados usando uma síntese baseada em vetor, a unidade de extração 72 pode extrair os vetores V[k] de primeiro plano 57 (que podem incluir pesos codificados 57 e/ou índices 63 ou vetores-V quantizados escalares), os coeficientes HOA ambiente codificados 59 e os objetos de áudio correspondentes 61 (que podem ser também mencionados como sinais nFG codificados 61). Os objetos de áudio 61 correspondem, individualmente, a um dos vetores 57. A unidade de extração 72 pode passar os vetores V[k] de primeiro plano codificados 57 para a unidade de reconstrução de vetor-V 74 e os coeficientes HOA ambiente codificados 59 juntamente com os sinais nFG codificados 61 para a unidade de decodificação psicoacústica 80. A unidade de extração 72 é descrita em mais detalhe com relação ao exemplo da figura 6.
[000187] A figura 6 é um diagrama ilustrando, em mais detalhe, a unidade de extração 72 da figura 4 quando configurada para executar a primeira das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação. No exemplo da figura 6, a unidade de extração 72 inclui uma unidade de seleção de modo 1010, uma unidade de extração escalonável 1012 e uma unidade de extração não escalonável 1014. A unidade de seleção de modo 1010 representa uma unidade configurada para selecionar se extração escalonável ou não escalonável deve ser executada com relação ao fluxo de bits 21. A unidade de seleção de modo 1010 pode incluir uma memória na qual o fluxo de bits 21 é armazenado. A unidade de seleção de modo 1010 pode determinar se extração escalonável ou não escalonável deve ser executada com base na indicação de se codificação escalonável foi habilitada. Um elemento de sintaxe HOABaseLayerPresent pode representar a indicação de se codificação escalonável foi realizada ao codificar o fluxo de bits 21.
[000188] Quando o elemento de sintaxe HOABaseLayerPresent indica que codificação escalonável foi habilitada, a unidade de seleção de modo 1010 pode identificar o fluxo de bits 21 como o fluxo de bits escalonável 21 e transmitir o fluxo de bits escalonável 21 para a unidade de extração escalonável 1012. Quando o elemento de sintaxe HOABaseLayerPresent indica que codificação escalonável não foi habilitada, a unidade de seleção de modo 1010 pode identificar o fluxo de bits 21 como o fluxo de bits não escalonável 21’ e transmitir o fluxo de bits não escalonável 21’ para a unidade de extração não escalonável 1014. A unidade de extração não escalonável 1014 representa uma unidade configurada para operar de acordo com a fase I do padrão de codificação de áudio 3D MPEG-H.
[000189] A unidade de extração escalonável 1012 pode representar uma unidade configurada para extrair um ou mais dos coeficientes HOA ambiente 59, os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57 a partir de uma ou mais camadas do fluxo de bits escalonável 21 com base em vários elementos de sintaxe descritos abaixo em mais detalhe (e mostrados acima em várias tabelas HOADecoderConfig). No exemplo da figura 6, a unidade de extração escalonável 1012 pode extrair, como um exemplo, os quatro coeficientes HOA ambiente codificados 59A-59D a partir da camada base 21A do fluxo de bits escalonável 21. A unidade de extração escalonável 1012 pode extrair também, a partir da camada de aperfeiçoamento 21B do fluxo de bits escalonável 21, os dois sinais nFG codificados 61A e 61B (como um exemplo) bem como os dois vetores V[k] de primeiro plano codificados 57A e 57B. a unidade de extração escalonável 1012 pode transmitir os coeficientes HOA ambiente 59, os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57 para a unidade de decodificação baseada em vetor 92 mostrada no exemplo da figura 4.
[000190] Mais especificamente, a unidade de extração 72 do dispositivo de decodificação de áudio 24 pode extrair canais das camadas L como exposto na tabela de sintaxe HOADecoderCofnig_FramebyFrame acima.
[000191] De acordo com a tabela de sintaxe HOADecoderCofnig_FramebyFrame acima, a unidade de seleção de modo 1010 pode primeiramente obter o elemento de sintaxe HOABaseLayerPresent, que pode indicar se codificação de áudio escalonável foi executada. Quando não habilitado como especificado por, por exemplo, um valor zero para o elemento de sintaxe HOABaseLayerPresent, a unidade de seleção de modo 1010 pode determinar o elemento de sintaxe MinAmbHoaOrder e provê o fluxo de bits não escalonável para a unidade de extração não escalonável 1014, que executa processos de extração não escalonável similares àqueles descritos acima. Quando habilitado como especificado, por exemplo, por um valor para o elemento de sintaxe HOABaseLayerPresent, a unidade de seleção de modo 1010 define o valor de elemento de sintaxe MinAmbHOAOrder como sendo negativo um (-1) e provê o fluxo de bits escalonável 21’ para a unidade de extração escalonável 1012.
[000192] A unidade de extração escalonável 1012 pode obter uma indicação de se um número de camadas do fluxo de bits foi alterado em um quadro atual quando comparado com um número de camadas do fluxo de bits em um quadro anterior. A indicação de se o número de camadas do fluxo de bits foi alterado no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior pode ser indicado como um elemento de sintaxe “HOABaseLayerConfigurationFlag” na tabela acima.
[000193] A unidade de extração escalonável 1012 pode obter uma indicação de um número de camadas do fluxo de bits no quadro atual com base na indicação. Quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, a unidade de extração escalonável 1012 pode determinar o número de camadas do fluxo de bits no quadro atual como igual ao número de camadas do fluxo de bits no quadro anterior de acordo com a porção da tabela de sintaxe acima que afirma: } else } NumLayers = NumLayersPrevFrame; Onde a “NumLayers” pode representar um elemento de sintaxe representando o número de camadas do fluxo de bits no quadro atual e o “NumLayersPrevFrame” pode representar um elemento de sintaxe representando o número de camadas do fluxo de bits no quadro anterior.
[000194] De acordo com a tabela de sintaxe HOADecoderConfig_FramebyFrame acima, a unidade de extração escalonável 1012 pode, quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, determinar uma indicação de primeiro plano atual de um número atual de componentes de primeiro plano em uma ou mais das camadas para o quadro atual como sendo igual a uma indicação de primeiro plano anterior para um número anterior de componentes de primeiro plano em uma ou mais das camadas do quadro anterior. Em outras palavras, a unidade de extração escalonável 1012 pode, quando o HOABaseLayerConfigurationFlag é igual a zero, determinar o elemento de sintaxe HumFGchannels[i] representativo da indicação de primeiro plano atual do número atual de componente de primeiro plano em uma ou mais das camadas do quadro atual como sendo igual ao elemento de sintaxe NumFGchannels_PrevFrame[i] que é representativo da indicação de primeiro plano anterior do número anterior de componentes de primeiro plano em uma ou mais camadas do quadro anterior. A unidade de extração escalonável 1012 pode obter adicionalmente os componentes de primeiro plano a partir de uma ou mais camadas no quadro atual com base na indicação de primeiro plano atual.
[000195] A unidade de extração escalonável 1012 pode também, quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, determinar uma indicação de segundo plano atual de um número atual de componentes de segundo plano em uma ou mais das camadas para o quadro atual como sendo igual a uma indicação de segundo plano anterior para um número anterior de componentes de segundo plano em uma ou mais das camadas do quadro anterior. Em outras palavras, a unidade de extração escalonável 1012 pode, quando HOABaseLayerConfigurationFlag é igual a zero, determinar o elemento de sintaxe NumBGchannels[i] representativo da indicação de segundo plano atual do número atual de componente de segundo plano em uma ou mais das camadas do quadro atual como sendo igual ao elemento de sintaxe NumBGchannels_PrevFrame[i] que é representativo da indicação de segundo plano anterior do número anterior de componentes de segundo plano em uma ou mais camadas do quadro anterior. A unidade de extração escalonável 1012 pode obter ainda os componentes de segundo plano a partir de uma ou mais camadas no quadro atual com base na indicação de segundo plano atual.
[000196] Para habilitar as técnicas acima que podem potencialmente reduzir sinalização de várias indicações do número de camadas, componentes de primeiro plano e componentes de segundo plano, a unidade de extração escalonável 1012 pode definir o elemento de sintaxe NumFGChannels_PrevFrame[i] e o elemento de sintaxe NumBGchannel_PrevFrame[i] para as indicações para o quadro atual (por exemplo, o elemento de sintaxe NumFGchannels[i] e o NumBGchannels[i], iterando através de todas as camadas i. isso é representado na seguinte sintaxe:
[000197] Quando a indicação indica que o número de camadas do fluxo de bits mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior (por exemplo, quando o HOABaseLayerConfigurationFlag é igual a um), a unidade de extração escalonável 1012 obtém o elemento de sintaxe NumLayerBits como uma função do numHOATransportChannels, que é passado para a tabela de sintaxe tendo sido obtida de acordo com outras tabelas de sintaxe não descritas nessa)
[000198] A unidade de extração escalonável 1012 no fluxo de bits (por exemplo, o elemento de sintaxe NumLayers), onde a indicação pode ter um número de bits indicados pelo elemento de sintaxe NumLayerBits. O elemento de sintaxe NumLayers pode especificar o número de camadas especificadas no fluxo de bits, onde o número de camadas pode ser indicado como L acima. A unidade de extração escalonável 1012 pode determinar a seguir o numAvailableTransportChannels como uma função do numHOATransportChannels e o numAvailableTransportChannels como uma função do numAvailableTransportChannels.
[000199] A unidade de extração escalonável 1012 pode então iterar através de NumLayers de 1 até Num-Layers- 1 para determinar o número de canais HOA de segundo plano (Bi) e o número de canais HOA de primeiro plano (Fi) especificado para ia camada. A unidade de extração escalonável 1012 pode não iterar através do número de última camada (NumLayer) e somente através da NumLayer-1 visto que a última camada BL pode ser determinada quando o número total de canais HOA de primeiro plano e segundo plano enviados no fluxo de bits são conhecidos pela unidade de extração escalonável 1012 (por exemplo, quando o número total de canais HOA de primeiro plano e segundo plano são sinalizados como elementos de sintaxe).
[000200] Nesse aspecto, a unidade de extração escalonável 1012 pode obter as camadas do fluxo de bits baseado na indicação do número de camadas. A unidade de extração escalonável 1012 pode, como descrito acima, obter uma indicação de um número de canais especificados no fluxo de bits 21 (por exemplo, numHOATransportChannels), e obter as camadas, por pelo menos em parte, obter as camadas do fluxo de bits 21 com base na indicação do número de camadas e a indicação do número de canais.
[000201] Ao iterar através de cada camada, a unidade de extração escalonável 1012 pode primeiramente determinar o número de canais de primeiro plano para a ia camada por obter o elemento de sintaxe NumFGchannels[i]. A unidade de extração escalonável 1012 pode então subtrair o NumFGchannels[i] do numAvailableTransportChannels para atualizar o numAvailableTransportChannels e refletir que NumFGchannels[i] dos canais HOA de primeiro plano 61 (que podem ser também mencionados como os “sinais nFG codificados 61”) foram extraídos do fluxo de bits. Desse modo, a unidade de extração escalonável 1012 pode obter uma indicação de um número de canais de primeiro plano especificados no fluxo de bits 21 para pelo menos uma das camadas (por exemplo, numFGchannels) e obter os canais de primeiro plano para pelo menos uma das camadas do fluxo de bits com base na indicação do número de canais de primeiro plano.
[000202] De modo semelhante, a unidade de extração escalonável 1012 pode determinar o número de canais de segundo plano para a ia camada por obter o elemento de sintaxe NumBGchannels[i]. A unidade de extração escalonável 1012 pode então subtrair o NumBGchannels[i] a partir do numAvailableTransportChannels para refletir que NumBGchannels[i] dos canais HOA de segundo plano 59 (que também podem ser mencionados como os “coeficientes HOA ambiente codificados 59”) foram extraídos do fluxo de bits. Desse modo, a unidade de extração escalonável 1012 pode obter uma indicação de um número de canais de segundo plano (por exemplo, NumBGchannels) especificado no fluxo de bits 21 para pelo menos uma das camadas, e obter os canais de segundo plano para pelo menos uma das camadas do fluxo de bits com base na indicação do número de canais de segundo plano.
[000203] A unidade de extração escalonável 1012 pode continuar por obter o numAvailableTransportChannelsBits como uma função do numAvailableTransports. De acordo com a tabela de sintaxe acima, a unidade de extração escalonável 1012 pode analisar o número de bits especificado pelo numAvaiableTransportChannelsBits para determinar o numFGchannels[i] e o NumBGchannels [i]. Dado que o numAvailableTransportChannelBits muda (por exemplo, se torna menor após cada iteração), o número de bits usados para representar o elemento de sintaxe NumFGchannels[i] e o elemento de sintaxe numBGchannels[i] reduz, desse modo fornece uma forma de codificação de comprimento variável que potencialmente reduz overhead na sinalização do elemento de sintaxe NumFGchannels[i] e o elemento de sintaxe NumBGchannels [i].
[000204] Como observado acima, a unidade de geração de fluxo de bits escalonável 1000 pode especificar o elemento de sintaxe NumChannels no lugar dos elementos de sintaxe NumFGchannels e NumBGchannels. Nesse caso, a unidade de extração escalonável 1012 pode ser configurada para operar de acordo com a segunda tabela de sintaxe HOADecoderConfig mostrada acima.
[000205] Nesse aspecto, a unidade de extração escalonável 1012 pode, quando a indicação indica que o número de camadas do fluxo de bits mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, obter uma indicação de um número de componentes em uma ou mais das camadas para o quadro atual com base em um número de componentes em uma ou mais das camadas do quadro anterior. A unidade de extração escalonável 1012 pode obter ainda uma indicação de um número de componentes de segundo plano em uma ou mais camadas para o quadro atual com base na indicação do número de componentes. A unidade de extração escalonável 1012 pode também obter uma indicação de um número de componentes de primeiro plano em uma ou mais camadas para o quadro atual com base na indicação do número de componentes.
[000206] Dado que o número de camadas pode mudar de quadro para quadro que a indicação do número de canais de primeiro plano e segundo plano pode mudar de quadro para quadro, a indicação de que o número de camadas mudou pode efetivamente também indicar que o número de canais mudou. Como resultado, a indicação de que o número de camadas mudou pode resultar na unidade de extração escalonável 1012 obtendo uma indicação de se o número de canais especificado em uma ou mais camadas no fluxo de bits 21 mudou em um quadro atual quando comparado com um número de canais especificado em uma ou mais camadas no fluxo de bits do quadro anterior. Como tal, a unidade de extração escalonável 1012 pode obter um dos canais com base na indicação de se o número de canais especificados em uma ou mais camadas no fluxo de bits mudou no quadro atual.
[000207] Além disso, a unidade de extração escalonável 1012 pode determinar o número de canais especificados em uma ou mais camadas do fluxo de bits 21 no quadro atual como igual ao número de canais especificados em uma ou mais camadas do fluxo de bits 21 no quadro anterior quando a indicação indica que o número de canais especificados em uma ou mais camadas do fluxo de bits 21 não mudou no quadro atual quando comparado com o número de canais especificados em uma ou mais camadas do fluxo de bits no quadro anterior.
[000208] Além disso, a unidade de extração escalonável 1012 pode, quando a indicação indica que o número de canais especificados em uma ou mais camadas do fluxo de bits 21 não mudou no quadro atual quando comparado com o número de canais especificados em um ou mais camadas do fluxo de bits no quadro anterior, obter uma indicação de um número atual de canais em uma ou mais das camadas para o quadro atual como sendo igual a um número anterior de canais em uma ou mais das camadas do quadro anterior.
[000209] Para permitir as técnicas acima que podem reduzir potencialmente a sinalização de várias indicações do número de camadas e componentes (que também pode ser mencionado como “canais” nessa revelação), a unidade de extração escalonável 1012 pode definir o elemento de sintaxe NumChannels_PrevFrame[i] para as indicações para o quadro atual (por exemplo, o elemento de sintaxe NumChannels[i], iterando através de todas as camadas i. isso é representado na seguinte sintaxe:
[000210] Alternativamente, o elemento de sintaxe acima (NumLayersPrevFrame=NumLayers, etc.) pode ser omitido e a tabela de sintaxe HOADecoderConfig(numHOATransportChannels) listada acima pode ser atualizada como exposto na seguinte tabela:
[000211] Ainda como outra alternativa, a unidade de extração 72 pode operar de acordo com o terceiro HOADecdor Config listado acima. De acordo com a terceira tabela de sintaxe HOADecoderConfig listada acima, a unidade de extração escalonável 1012 pode ser configurada para obter, a partir do fluxo de bits escalonável 21, uma indicação de um número de canais especificados em uma ou mais camadas no fluxo de bits, e obter os canais especificados em uma ou mais camadas no fluxo de bits com base na indicação do número de canais (que pode se referir a um componente de segundo plano ou um componente de primeiro plano do campo de som). Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter um elemento de sintaxe (por exemplo, o codedLayerCh na tabela acima referenciada) indicativa do número de canais.
[000212] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter uma indicação de um número total de canais especificados no fluxo de bits. A unidade de extração escalonável 1012 pode ser também configurada para obter os canais especificados em uma ou mais camadas com base na indicação do número de canais especificados em uma ou mais camadas e a indicação do número total de canais. Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada par obter um elemento de sintaxe (por exemplo, o elemento de sintaxe NumHOATransportChannels acima mencionado) indicativo do número total de canais.
[000213] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits. A unidade de extração escalonável 1012 pode ser também configurada para obter um dos canais com base na indicação do número de camadas e a indicação do tipo de um dos canais.
[000214] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de primeiro plano. A unidade de extração escalonável 1012 pode ser configurada para obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de primeiro plano. Nessas instâncias, um dos canais compreende um objeto de áudio US e um vetor-V correspondente.
[000215] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de segundo plano. Nessas instâncias, a unidade de extração escalonável 1012 pode ser também configurada para obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de segundo plano. Nessas instâncias, um dos canais compreende um coeficiente ambisonic de ordem superior de segundo plano.
[000216] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter um elemento de sintaxe (por exemplo, o elemento de sintaxe ChannelType descrito acima com relação à figura 30) indicativo do tipo de um dos canais.
[000217] Nessas e em outras instâncias, a unidade de extração escalonável 1012 pode ser configurada para obter a indicação do número de canais com base em um número de canais que resta no fluxo de bits após obtenção de uma das camadas. Isto é, o valor do elemento de sintaxe HOALayerChBits varia como uma função do elemento de sintaxe remainingCh como exposto na tabela de sintaxe acima por todo o curso do loop. A unidade de extração escalonável 1012 pode então analisar o elemento de sintaxe codedLayerCh com base no elemento de sintaxe HOALayerChBits em mutação.
[000218] Voltando ao exemplo dos quatro canais de segundo plano e os dois canais de primeiro plano, a unidade de extração escalonável 1012 pode receber uma indicação de que o número de camadas é dois, isto é, a camada base 21A e a camada de aperfeiçoamento 21B no exemplo da figura 6. A unidade de extração escalonável 1012 pode obter uma indicação de que o número de canais de primeiro plano é zero para a camada base 21A (por exemplo, a partir de NumFGchannels[0] e dois para a camada de aperfeiçoamento 21B (por exemplo, de NumFGchannels[1]). A unidade de extração escalonável 1012 pode, nesse exemplo, também obter uma indicação de que o número de canais de segundo plano é quatro para a camada base 21A (por exemplo, de NumBGchannels[0]) e zero para a camada de aperfeiçoamento 21B (por exemplo, de NumBGchannels[1]). Embora descrito com relação a um exemplo específico, qualquer combinação diferente de canais de segundo plano e primeiro plano pode ser indicada. A unidade de extração escalonável 1012 pode então extrair os quatro canais de segundo plano especificados 59A-59D a partir da camada base 21A e os dois canais de primeiro plano 61A e 61B a partir da camada de aperfeiçoamento 21B (juntamente com a informação de vetor-V correspondente 57A e 57B a partir da informação de banda lateral).
[000219] Embora descrito acima com relação aos elementos de sintaxe NumFGchannels e ao NumBGchannels, as técnicas também podem ser executadas usando o elemento de sintaxe ChannelType a partir da tabela de sintaxe ChannelSideinfo acima. Nesse aspecto, o NumFGchannels e o NumBGchannels também podem representar uma indicação de um tipo de um dos canais. Em outras palavras, o NumBGchannels pode representar uma indicação de que um tipo de um dos canais é um canal de segundo plano. O NumFGchannels pode representar uma indicação de que um tipo de um dos canais é um canal de primeiro plano.
[000220] Como tal, se o elemento de sintaxe ChannelType ou o elemento de sintaxe NumFGchannels com o elemento de sintaxe NumBGchannels forem usados (ou potencialmente ambos ou algum subconjunto de qualquer um), a unidade de extração de fluxo de bits escalonável 1012 pode obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits. A unidade de extração de fluxo de bits escalonável 1012 pode, quando a indicação do tipo indica que um dos canais é um canal de segundo plano, obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de segundo plano. A unidade de extração de fluxo de bits escalonável 1012 pode, quando a indicação do tipo indica que um dos canais é um canal de primeiro plano, obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de primeiro plano.
[000221] A unidade de reconstrução de vetor-V 74 pode representar uma unidade configurada para reconstruir os vetores-V a partir dos vetores V[k] de primeiro plano codificados 57. A unidade de reconstrução de vetor-V 74 pode operar em um modo recíproco àquele da unidade de quantização 52.
[000222] A unidade de decodificação psicoacústica 80 pode operar em um modo recíproco à unidade de codificador de áudio psicoacústico 40 mostrada no exemplo da figura 3 de modo a decodificar os coeficientes HOA ambiente codificados 59 e os sinais nFG codificados 61 e desse modo gerar sinais de áudio HOA ambiente ajustados 67’ e os sinais nFG interpolados ajustados 49’’ (que também podem ser mencionados como objetos de áudio nFG interpolados ajustados 49’). A unidade de decodificação psicoacústica 80 pode passar os sinais de áudio HOA ambiente ajustados 67’ e os sinais nFG interpolados ajustados 49’’ para a unidade de controle de ganho inverso 86.
[000223] A unidade de controle de ganho inverso 86 pode representar uma unidade configurada para executar um controle de ganho inverso com relação a cada dos sinais de áudio HOA ambiente ajustados 67’ e os sinais nFG interpolados ajustados 49’’, onde esse controle de ganho inverso é recíproco ao controle de ganho executado pela unidade de controle de ganho 62. A unidade de controle de ganho inverso 86 pode executar o controle de ganho inverso de acordo com o HOAGCD correspondente especificado na informação de banda lateral discutida acima com relação aos exemplos das figuras 11-13B. A unidade de controle de ganho inverso 86 pode transmitir sinais de áudio HOA ambiente decorrelacionados 67 para a unidade de recorrelação 88 (mostrada como “unidade recorr 88” no exemplo da figura 4) e os sinais de áudio nFG interpolados 49’’ para a unidade de formulação de primeiro plano 78.
[000224] A unidade de recorrelação 88 pode implementar técnicas dessa revelação para reduzir correlação entre canais de segundo plano dos sinais de áudio HOA ambiente decorrelacionados 67 para reduzir ou mitigar desmascaramento de ruído. Nos exemplos onde a unidade de recorrelação 88 aplica uma matriz UHJ (por exemplo, uma matriz UHJ inversa) como a transformada de recorrelação selecionada, a unidade de recorrelação 81 pode aperfeiçoar as taxas de compressão e conservar recursos de computação por reduzir operações de processamento de dados.
[000225] Em alguns exemplos, o fluxo de bits escalonável 21 pode incluir um ou mais elementos de sintaxe que indicam que uma transformada de decorrelação foi aplicada durante codificação. A inclusão de tais elementos de sintaxe no fluxo de bits baseado em vetor 21 pode permitir que a unidade de recorrelação 88 execute transformadas de decorrelação recíproca (por exemplo, correlação ou recorrelação) nos sinais de áudio HOA ambiente decorrelacionados 67. Em alguns exemplos, os elementos de sintaxe de sinal podem indicar qual transformada de decorrelação foi aplicada, como a matriz UHJ ou a matriz de modo, desse modo permitindo que unidade de recorrelação 88 selecione a transformada de recorrelação apropriada para aplicar aos sinais de áudio HOA decorrelacionados 67.
[000226] A unidade de recorrelação 88 pode executar a recorrelação com relação aos sinais de áudio HOA ambiente decorrelacionados 67 para obter coeficientes HOA ambiente compensados em energia 47’. A unidade de recorrelação 88 pode transmitir os coeficientes HOA ambiente compensados em energia 47’ para a unidade de desvanecimento 770. Embora descrito como executando a decorrelação, em alguns exemplos nenhuma decorrelação pode ter sido executada. Como tal, a unidade de reconstrução baseada em vetor 92 pode não executar ou em alguns exemplos incluir uma unidade de recorrelação 88. A ausência da unidade de recorrelação 88 em alguns exemplos é indicada.
[000227] A unidade de interpolação espaço- temporal 76 pode operar em um modo similar àquele descrito acima com relação à unidade de interpolação espaço-temporal 50. A unidade de interpolação espaço-temporal 76 pode receber os vetores V[k] de primeiro plano reduzidos 55k e executar a interpolação espaço-temporal com relação aos vetores V[k] de primeiro plano 55k e os vetores V[k-1] de primeiro plano reduzidos 55k-1 para gerar vetores V[k] de primeiro plano interpolados 55k”. A unidade de interpolação espaço-temporal 76 pode enviar os vetores V[k] de primeiro plano interpolados 55k” para a unidade de desvanecimento 770.
[000228] A unidade de extração 72 pode também transmitir um sinal 757 indicativo de quando um dos coeficientes HOA ambiente está em transição para a unidade de desvanecimento 770, que pode então determinar qual do SHCBG 47’ (onde o SHCBG 47’ pode ser também indicado como “canais HOA ambiente 47”’ ou “coeficientes HOA ambiente 47’”) e os elementos dos vetores V[k] de primeiro plano interpolados 55k” são para ser desvanecidos ou desaparecidos. Em alguns exemplos, a unidade de desvanecimento 770 pode operar oposta com relação a cada dos coeficientes HOA ambiente 47’ e os elementos dos vetores V[k] de primeiro plano interpolados 55k”. Isto é, a unidade de desvanecimento 770 pode executar um desvanecimento ou desaparecimento, ou tanto umdesvanecimento como desaparecimento com relação a um correspondente dos coeficientes HOA ambiente 47’, enquanto executa um desvanecimento ou desaparecimento ou tanto um desvanecimento como um desaparecimento, com relação a um correspondente dos elementos dos vetores V[k] de primeiro plano interpolados 55k”. A unidade de desvanecimento 770 pode transmitir coeficientes HOA ambiente ajustados 47” para a unidade de formulação de coeficiente HOA 82 e vetores V[k] de primeiro plano ajustados 55k”’ para a unidade de formulação de primeiro plano 78. Nesse aspecto, a unidade de desvanecimento 770 representa uma unidade configurada para executar uma operação de desvanecimento com relação a vários aspectos dos coeficientes HOA ou derivados dos mesmos, por exemplo, na forma de coeficientes HOA ambiente 47’ e os elementos dos vetores V[k] de primeiro plano interpolados 55k”.
[000229] A unidade de formulação de primeiro plano 78 pode representar uma unidade configurada para executar multiplicação de matriz com relação aos vetores V[k] de primeiro plano ajustados 55k”’ e os sinais nFG interpolados 49’ para gerar os coeficientes HOA de primeiro plano 65. Nesse aspecto, a unidade de formulação de primeiro plano 78 pode combinar os objetos de áudio 49’ (que é outro modo pelo qual indicar os sinais nFG interpolados 49’) com os vetores 55k”’ para reconstruir o primeiro plano ou, em outras palavras, aspectos predominantes dos coeficientes HOA 11’. A unidade de formulação de primeiro plano 78 pode executar uma multiplicação de matriz dos sinais nFG interpolados 49’ pelos vetores V[k] de primeiro plano ajustados 55k”’.
[000230] A unidade de formulação de coeficiente HOA 82 pode representar uma unidade configurada para combinar os coeficientes HOA de primeiro plano 65 com os coeficientes HOA ambiente 47” de modo a obter os coeficientes HOA 11’. A notação principal reflete que os coeficientes HOA 11’ podem ser similares a, porém não iguais aos coeficientes HOA 11. As diferenças entre os coeficientes HOA 11 e 11’ podem resultar de perda devido à transmissão através de uma mídia de transmissão de perda, quantização ou outras operações de perda.
[000231] As figuras 14A e 14B são fluxogramas ilustrando operações de exemplo de dispositivo de codificação de áudio 20 na execução de vários aspectos das técnicas descritas nessa revelação. Com referência primeiramente ao exemplo da figura 14A, o dispositivo de codificação de áudio 20 pode obter canais para um quadro atual de coeficientes HOA 11 no modo descrito acima (por exemplo, uma decomposição linear, interpolação, etc.) (500). Os canais podem compreender coeficientes HOA ambiente codificados 59, sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57) ou tanto coeficiente HOA ambiente codificado 59 como sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57).
[000232] A unidade de geração de fluxo de bits 42 do dispositivo de codificação de áudio 20 pode então especificar uma indicação de um número de camadas no fluxo de bits escalonável 21 no modo descrito acima (502). A unidade de geração de fluxo de bits 42 pode especificar um subconjunto dos canais na camada atual do fluxo de bits escalonável 21 (504). A unidade de geração de fluxo de bits 42 pode manter um contador para a camada atual, onde o contador fornece uma indicação da camada atual. Após especificar os canais na camada atual, a unidade de geração de fluxo de bits 42 pode incrementar o contador.
[000233] A unidade de geração de fluxo de bits 42 pode então determinar se a camada atual (por exemplo, o contador) é maior que o número de camadas especificadas no fluxo de bits (506). Quando a camada atual não é maior que o número de camadas (“NÃO” 506), a unidade de geração de fluxo de bits 42 pode especificar um subconjunto diferente dos canais na camada atual (que mudou quando o contador foi incrementado) (504). A unidade de geração de fluxo de bits 42 pode continuar desse modo até que a camada atual seja maior que o número de camadas (“SIM” 506). Quando a camada atual é maior que o número de camadas (“SIM” 506), a unidade de geração de fluxo de bits pode prosseguir para o quadro seguinte com o quadro atual se tornando o quadro anterior e obter os canais para o quadro agora atual do fluxo de bits escalonável 21 (500). O processo pode continuar até atingir o último quadro dos coeficientes HOA 11 (500-506). Como observado acima, em alguns exemplos, a indicação do número de camadas pode não ser explicitamente indicada, porém implicitamente especificada no fluxo de bits escalonável 21 (por exemplo, quando o número de camadas não mudou do quadro anterior para o quadro atual).
[000234] Com referência a seguir ao exemplo ad figura 14B, o dispositivo de codificação de áudio 20 pode obter canais para um quadro atual de coeficientes HOA 11 no modo descrito acima (por exemplo, uma decomposição linear, interpolação, etc.) (510). Os canais podem compreender coeficientes HOA ambiente codificados 59, sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57) ou tanto coeficiente HOA ambiente codificado 59 como sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificado 57).
[000235] A unidade de geração de fluxo de bits 42 do dispositivo de codificação de áudio 20 pode então especificar uma indicação de um número de canais em uma camada do fluxo de bits escalonável 21 no modo descrito acima (512). A unidade de geração de fluxo de bits 42 pode especificar os canais correspondentes na camada atual do fluxo de bits escalonável 20 (514).
[000236] A unidade de geração de fluxo de bits 42 pode então determinar se a camada atual (por exemplo, o contador) é maior que um número de camadas (516). Isto é, no exemplo da figura 14B, o número de camadas pode ser estático ou fixo (ao invés de especificado no fluxo de bits escalonável 21), enquanto o número de canais por camada pode ser especificado, ao contrário do exemplo da figura 14A onde o número de canais pode ser estático ou fixo e não sinalizado. A unidade de geração de fluxo de bits 42 pode ainda manter o contador indicativo da camada atual.
[000237] Quando a camada atual (como indicado pelo contador) não é maior que o número de camadas (“NÃO” 516), a unidade de geração de fluxo de bits 42 pode especificar outra indicação do número de canais em outra camada do fluxo de bits escalonável 21 para a camada agora atual (que mudou devido ao incremento do contador) (512). A unidade de geração de fluxo de bits 42 pode especificar também o número correspondente de canais na camada adicional do fluxo de bits 21 (514). A unidade de geração de fluxo de bits 42 pode continuar desse modo até que a camada atual seja maior que o número de camadas (“SIM” 516). Quando a camada atual é maior que o número de camadas (“SIM” 516), a unidade de geração de fluxo de bits pode prosseguir para o quadro seguinte com o quadro atual se tornando o quadro anterior e obter os canais para o quadro agora atual do fluxo de bits escalonável 21 (510). O processo pode continuar até atingir o último quadro dos coeficientes HOA 11 (510-516).
[000238] Como observado acima, em alguns exemplos, a indicação do número de canais pode não ser explicitamente indicada, porém implicitamente especificada no fluxo de bits escalonável 21 (por exemplo, quando o número de camadas não mudou do quadro anterior para o quadro atual). Além disso, embora descrito como processos separados, as técnicas descritas com relação às figuras 14A e 14B podem ser executadas em combinação no modo descrito acima.
[000239] As figuras 15A e 15B são fluxogramas ilustrando operações de exemplo de dispositivo de decodificação de áudio 24 na execução de vários aspectos das técnicas descritas nessa revelação. Com referência primeiramente ao exemplo da figura 15A, o dispositivo de decodificação de áudio 24 pode obter um quadro atual a partir do fluxo de bits escalonável 21 (520). O quadro atual pode incluir uma ou mais camadas, cada uma das quais pode incluir um ou mais canais. Os canais podem compreender coeficientes HOA ambiente codificados 59, sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57) ou tanto coeficientes HOA ambiente codificados 59 como sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57).
[000240] A unidade de extração 72 do dispositivo de decodificação de áudio 24 pode, então, obter uma indicação de um número de camadas no quadro atual do fluxo de bits escalonável 21 no modo descrito acima (522). A unidade de extração 72 pode obter um subconjunto dos canais na camada atual do fluxo de bits escalonável 21 (524). A unidade de extração 72 pode manter um contador para a camada atual, onde o contador fornece uma indicação da camada atual. Após especificar os canais na camada atual, a unidade de extração 72 pode incrementar o contador.
[000241] A unidade de extração 72 pode então determinar se a camada atual (por exemplo, o contador) é maior que o número de camadas especificadas no fluxo de bits (526). Quando a camada atual não é maior que o número de camadas (“Não” 526), a unidade de extração 72 pode obter um subconjunto diferente dos canais na camada atual (que mudou quando o contador foi incrementado) (524). A unidade de extração 72 pode continuar desse modo até que a camada atual seja maior que o número de camadas (“SIM” 526). Quando a camada atual é maior que o número de camadas (“SIM” 526), a unidade de extração 72 pode prosseguir para o quadro seguinte com o quadro atual se tornando o quadro anterior e obter o quadro atual novo do fluxo de bits escalonável 21 (520). O processo pode continuar até atingir o último quadro do fluxo de bits escalonável 21 (520-526).Como observado acima, em alguns exemplos, a indicação do número de camadas pode não ser explicitamente indicada, porém implicitamente especificada no fluxo de bits escalonável 21 (por exemplo, quando o número de camadas não mudou do quadro anterior para o quadro atual).
[000242] Com referência a seguir ao exemplo da figura 15B, o dispositivo de decodificação de áudio 24 pode obter um quadro atual a partir do fluxo de bits escalonável 21 (530). O quadro atual pode incluir uma ou mais camadas,cada uma das quais pode incluir um ou mais canais. Os canais podem compreender coeficientes HOA ambiente codificados 59, sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificados 57) ou tanto coeficiente HOA ambiente codificado 59 como sinais nFG codificados 61 (e banda lateral correspondente na forma de vetores-V de primeiro plano codificado 57).
[000243] A unidade de extração 72 do dispositivo de decodificação de áudio 24 pode então obter uma indicação de um número de canais em uma camada do fluxo de bits escalonável 21 no modo descrito acima (532). A unidade de geração de fluxo de bits 42 pode obter o número correspondente de canais a partir da camada atual do fluxo de bits escalonável 21 (534).
[000244] A unidade de extração 72 pode então determinar se a camada atual (por exemplo, o contador) é maior que um número de camadas (536). Isto é, no exemplo da figura 15B, o número de camadas pode ser estático ou fixo (ao invés de especificado no fluxo de bits escalonável 21), enquanto o número de canais por camada pode ser especificado, ao contrário do exemplo da figura 15A, onde o número de canais pode ser estático ou fixo e não sinalizado. A unidade de extração 72 pode ainda manter o contador indicativo da camada atual.
[000245] Quando a camada atual (como indicado pelo contador) não é maior que o número de camadas (“NÃO” 536), a unidade de extração 72 pode obter outra indicação do número de canais em outra camada do fluxo de bits escalonável 21 para a camada agora atual (que mudou devido ao incremento do contador) (532). A unidade de extração 72 pode também especificar o número correspondente de canais na camada adicional do fluxo de bits 21 (514). A unidade de extração 72 pode continuar desse modo até que a camada atual seja maior que o número de camadas (“SIM” 516). Quando a camada atual é maior que o número de camadas (“SIM” 516), a unidade de geração de fluxo de bits pode prosseguir para o quadro seguinte com o quadro atual se tornando o quadro anterior e obter os canais para o quadro agora atual do fluxo de bits escalonável 21 (510). O processo pode continuar até atingir o último quadro dos coeficientes HOA 11 (510-516).
[000246] Como observado acima, em alguns exemplos, a indicação do número de canais pode não ser explicitamente indicada, porém implicitamente especificada no fluxo de bits escalonável 21 (por exemplo, quando o número de camadas não mudou do quadro anterior para o quadro atual). Além disso, embora descrito como processos separados, as técnicas descritas com relação às figuras 15A e 15B podem ser executadas em combinação no modo descrito acima.
[000247] A figura 16 é um diagrama ilustrando codificação de áudio escalonável como executada pela unidade de geração de fluxo de bits 42 mostrada no exemplo da figura 16 de acordo com vários aspectos das técnicas descritas nessa revelação. No exemplo da figura 16, um codificador de áudio HOA, como o dispositivo de codificação de áudio 20 mostrado nos exemplos das figuras 2 e 3, pode codificar coeficientes HOA 11 (que também podem ser mencionados como um “sinal HOA 11”). O sinal HOA 11 pode compreender 24 canais, cada canal tendo 1024 amostras. Como observado acima, cada canal inclui 1024 amostras, que podem se referir a 1024 coeficientes HOA correspondendo a uma das funções de base esférica. O dispositivo de codificação de áudio 20 pode, como descrito acima com relação à unidade de geração de fluxo de bits 42 mostrada no exemplo da figura 5, executar várias operações para obter os coeficientes HOA ambiente codificados 59 (que também podem ser mencionados como os “canais HOA de segundo plano 59”) a partir do sinal HOA 11.
[000248] Como adicionalmente mostrado no exemplo da figura 16, o dispositivo de codificação de áudio 20 obtém os canais HOA de segundo plano 59 como os primeiros quadros canais do sinal HOA 11. Os canais HOA de Segundo plano 50 são indicados comoonde 1:4 reflete que os quatro primeiros canais do sinal HOA 11 foram selecionados para representar os componentes de segundo plano do campo de som. Essa seleção de canal pode ser sinalizada como B = 4 em um elemento de sintaxe. A unidade de geração de fluxo de bits escalonável 1000 do dispositivo de codificação de áudio 20 pode então especificar os canais de segundo plano HOA 59 na camada base 21A (que pode ser mencionada como uma primeira camada de duas ou mais camadas).
[000249] A unidade de geração de fluxo de bits escalonável 1000 pode gerar a camada base 21A para incluir os canais de segundo plano 59 e informações de ganho como especificado de acordo com a seguinte equação:
[000250] Como mostrado adicionalmente no exemplo da figura 16, o dispositivo de codificação de áudio 20 pode obter F canais HOA de primeiro plano, que podem ser expressos como os objetos de áudio US e o vetor-V correspondente. É assumido para fins de ilustração F=2. O dispositivo de codificação de áudio 20 pode, portanto, selecionar o primeiro e segundo objetos de áudio US 61 (que também podem ser mencionados como os “sinais nFG codificados 61 “) e os primeiro e segundo vetores-V 57 (que podem ser também mencionados como os “vetores V[l] de primeiro plano 57”), onde a seleção é indicada no exemplo da figura 5 como US1:2 e V1:2, respectivamente. A unidade de geração de fluxo de bits escalonável 1000 pode então gerar, a segunda camada 21B do fluxo de bits escalonável 21 para incluir o primeiro e segundo objetos de áudio US 61 e primeiro e segundo vetores-V 57.
[000251] A unidade de geração de fluxo de bits escalonável 1000 pode gerar também a camada de aperfeiçoamento 21B para incluir os canais HOA de primeiro plano 61 e informações de ganho juntamente com os vetores-V 57 como especificado de acordo com a seguinte equação:
[000252] Para obter os coeficientes HOA 11’ a partir do fluxo de bits escalonável 21’, o dispositivo de decodificação de áudio 24 mostrado nos exemplos da figura 2 e 3 pode invocar a unidade de extração 72 mostrada em mais detalhe no exemplo da figura 6. A unidade de extração 72 que pode extrair os coeficientes HOA ambiente codificados 59A-59D, os sinais nFG codificados 61A e 61B, e os vetores V[k] de primeiro plano codificados 57A e 57B no modo descrito acima com relação à figura 6. A unidade de extração 72 pode então transmitir os coeficientes HOA ambiente codificados 59A-59D, os sinais nFG codificados 61A e 61B e os vetores V[k] de primeiro plano codificados 57A e 57B para a unidade de decodificação baseada em vetor 92.
[000253] A unidade de decodificação baseada em vetor 92 pode, então, multiplicar os objetos de áudio US 61 pelos vetores-V 57 de acordo com as seguintes equações: A primeira equação fornece a expressão matemática da operação genérica com relação a F. A segunda equação fornece a expressão matemática no exemplo onde F é assumido como igual a dois. O resultado dessa multiplicação é indicado como o sinal HOA de primeiro plano 1020. A unidade de decodificação baseada em vetor 92 então seleciona os canais mais altos (dado que os quatro coeficientes mais baixos já foram selecionados como os canais de segundo plano HOA 59), onde esses canais mais altos são indicados como A unidade de decodificação baseada em vetor 92 em outras palavras obtém os canais de primeiro plano HOA 65 a partir do sinal HOA de primeiro plano 1020.
[000254] Como resultado, as técnicas podem facilitar disposição em camadas variável (ao contrário de exigir um número estático de camadas) para acomodar um número grande de contextos de codificação e fornecer potencialmente muito mais flexibilidade na especificação dos componentes de segundo plano e primeiro plano do campo de som. As técnicas podem fornecer muitos outros casos de uso, como descrito com relação às figuras 17-26. Esses vários casos de uso podem ser executados separadamente ou juntos em um fluxo de áudio dado. Além disso, a flexibilidade em especificar esses componentes nas técnicas de codificação de áudio escalonável pode permitir muito mais casos de uso. Em outras palavras, as técnicas não devem ser limitadas aos casos de uso descritos abaixo, porém podem incluir qualquer modo pelo qual os componentes de segundo plano e primeiro plano podem ser sinalizados em uma ou mais camadas de um fluxo de bits escalonável.
[000255] A figura 17 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há duas camadas com quatro coeficientes HOA ambiente codificados especificados em uma camada base e dois sinais nFG codificados são especificados na camada de aperfeiçoamento.O exemplo da figura 17 mostra o quadro HOA como a unidade de geração de fluxo de bits escalonável 1000 mostrada no exemplo da figura 5 pode segmentar o quadro para formar a camada base incluindo dados de correção de ganho HOA de banda lateral para os coeficientes HOA ambiente codificados 59A-59D. A unidade de geração de fluxo de bits escalonável 1000 pode também segmentar o quadro HOA de uma camada de aperfeiçoamento 21 que inclui os dois vetores V[k] de primeiro plano codificados 57 e os dados de correção de ganho HOA para os sinais nFG ambiente codificados 61.
[000256] Como adicionalmente mostrado no exemplo da figura 17, a unidade de codificação de áudio psicoacústico 40 é mostrada como dividida em instanciações separadas de codificador de áudio psicoacústico 40A, que pode ser mencionado como codificadores temporais de camada base 40A, e codificadores de áudio psicoacústico 40B, que podem ser mencionados como codificadores temporais de camada de aperfeiçoamento 40B. Os codificadores temporais de camada base 40A representam quatro instanciações de codificadores de áudio psicoacústico que processam os quatro componentes da camada base. Os codificadores temporais de camada de aperfeiçoamento 40B representam duas instanciações de codificadores de áudio psicoacústico que processam os dois componentes da camada de aperfeiçoamento.
[000257] A figura 18 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits 42 da figura 3 quando configurada para executar uma segunda das versões em potencial das técnicas de codificação de áudio escalonável descritas nessa revelação. Nesse exemplo, a unidade de geração de fluxo de bits 42 é substancialmente similar à unidade de geração de fluxo de bits 42 descrita acima com relação ao exemplo da figura 5. Entretanto, a unidade de geração de fluxo de bits 42 executa a segunda versão das técnicas de codificação escalonável para especificar três camadas 21A-21C ao invés de duas camadas 21A e 21B. A unidade de geração de fluxo de bits escalonável 1000 pode especificar indicações de que dois coeficientes HOA ambiente codificados e sinais nFG codificados em zero são especificados na camada base 21A, indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento 21B, e indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados 61 são especificados em uma segunda camada de aperfeiçoamento 21C. a unidade de geração de fluxo de bits escalonável 1000 pode então especificar os dois coeficientes HOA ambiente codificados 59A e 59B na camada base 21A, os dois sinais nFG codificados 61A e 61B com os dois vetores V[k] de primeiro plano codificados 57A e 57B na primeira camada de aperfeiçoamento 21B, e os dois sinais nFG codificados 61C e 61D com os dois vetores V[k] de primeiro plano codificados 57C e 57D na segunda camada de aperfeiçoamento 21C. A unidade de geração de fluxo de bits escalonável 1000 pode então transmitir essas camadas como fluxo de bits escalonável 21.
[000258] A figura 19 é um diagrama ilustrando, em mais detalhe, a unidade de extração 72 da figura 3 quando configurada para executar a segunda das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação. Nesse exemplo, a unidade de extração de fluxo de bits 72 é substancialmente similar à unidade de extração de fluxo de bits 72 descrita acima com relação ao exemplo da figura 6. Entretanto, a unidade de extração de fluxo de bits 72 executa a segunda versão das técnicas de codificação escalonável com relação a três camadas 21A-21C ao invés de duas camadas 21A e 21B.a unidade de extração de fluxo de bits escalonável 1012 pode obter indicações de que dois coeficientes HOA ambiente codificados e sinais nFG codificados em zero são especificados na camada base 21A, indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento 21B, e indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma segunda camada de aperfeiçoamento 21C. A unidade de extração de fluxo de bits escalonável 1012 pode então obter os dois coeficientes HOA ambiente codificados 59A e 59B a partir da camada base 21A, os dois sinais nFG codificados 61A e 61B com os dois vetores V[k] de primeiro plano codificados 57A e 57B a partir da primeira camada de aperfeiçoamento 21B, e os dois sinais nFG codificados 61C e 61D com os dois vetores V[k] de primeiro plano codificados 57C e 57D a partir da segunda camada de aperfeiçoamento 21C. a unidade de extração de fluxo de bits escalonável 1012 pode transmitir os coeficientes HOA ambiente codificados 59, os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57 sinais nFG codificados 61 sinais nFG codificados 61 sinais nFG codificados 61 para a unidade de decodificação baseada em vetor 92.
[000259] A figura 20 é um diagrama ilustrando um segundo caso de uso pelo qual a unidade de geração de fluxo de bits da figura 18 e a unidade de extração da figura 19 podem executar a segunda das versões em potencial das técnicas descritas nessa revelação. Por exemplo, a unidade de geração e fluxo de bits 42 mostrada no exemplo da figura 18 pode especificar o elemento de sintaxe NumLayer (que é mostrado como “NumberOfLayers” para facilidade de compreensão) para indicar o número de camadas especificadas no fluxo de bits escalonável 21 é três. A unidade de geração de fluxo de bits 42 pode especificar ainda que o número de canais de segundo plano especificado na primeira camada 21A (que também é mencionado como a “camada base”) é dois enquanto o número de canais de primeiro plano especificado na primeira camada 21B é zero (isto é, B1 = 2, F1 = 0 no exemplo da figura 20). A unidade de geração de fluxo de bits 42 pode especificar ainda que o número de canais de segundo plano especificados na segunda camada 21B (que também é mencionada como a “camada de aperfeiçoamento”) é zero enquanto o número de canais de primeiro plano especificados na segunda camada 21B é dois (isto é, B2 = 0, F2 = 2 no exemplo d figura 20). A unidade de geração de fluxo de bits 42 pode especificar ainda que o número de canais de segundo plano especificados na segunda amada 21C (que também é mencionada como a “camada de aperfeiçoamento”) é zero enquanto o número de canais de primeiro plano especificados na segunda camada 21C é dois (isto é, B3 = 0, F3 = 2 no exemplo da figura 20). Entretanto, o dispositivo de codificação de áudio 20 pode não necessariamente sinalizar as informações de canal de primeiro plano e segundo plano da terceira camada quando o número total de canais de primeiro plano e segundo plano já são conhecidos no decodificador (Por exemplo, por meio de elementos de sintaxe adicionais, como totalNumBGchannels e totalNumFGchannels).
[000260] A unidade de geração de fluxo de bits 42 pode especificar esses valores Bi e Fi como NumBGchannels[i] e NumFGchannels[i]. Para o exemplo acima, o dispositivo de codificação de áudio 20 pode especificar o elemento de sintaxe NumBGchannels como {2, 0, 0} e o elemento de sintaxe NumFGchannels como {0, 2, 2}. A unidade de geração de fluxo de bits 42 pode especificar também os canais de áudio HOA de segundo plano 59, os canais HOA de primeiro plano 61 e os vetores-V 57 no fluxo de bits escalonável 21.
[000261] O dispositivo de decodificação de áudio 24 mostrado nos exemplos das figuras 2 e 4 pode operar em um modo recíproco àquele do dispositivo de codificação de áudio 20 para analisar esses elementos de sintaxe a partir do fluxo de bits (por exemplo, como exposto na tabela de sintaxe HOADecoderConfig), como descrito acima com relação à unidade de extração de fluxo de bits 72 da figura 19. O dispositivo de decodificação de áudio 24 pode também analisar os canais de áudio HOA de segundo plano correspondentes 1002 e os canais HOA de primeiro plano 1010 a partir do fluxo de bits 21 de acordo com os elementos de sintaxe analisados, novamente como descrito acima com relação à unidade de extração de fluxo de bits 72 da figura 19.
[000262] A figura 21 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há três camadas com dois coeficientes HOA ambiente codificados especificados em uma camada base, dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento e dois sinais nFG codificados são especificados em uma segunda camada de aperfeiçoamento. O exemplo da figura 21 mostra o quadro HOA como a unidade de geração de fluxo de bits escalonável 1000 mostrada no exemplo da figura 18 pode segmentar o quadro para formar a camada base incluindo dados de correção de ganho HOA de banda lateral para os coeficientes HOA ambiente codificados 59A e 59B. a unidade de geração de fluxo de bits escalonável 1000 pode também segmentar o quadro HOA de uma camada de aperfeiçoamento 21B que inclui os dois vetores V[k] de primeiro plano codificados 57 e os dados de correção de ganho HOA para os sinais nFG ambiente codificados 61 e uma camada de aperfeiçoamento 21C que inclui os dois vetores V[k] de primeiro plano codificados adicionais 57 e os dados de correção de ganho HOA para os sinais nFG codificados ambiente 61.
[000263] Como mostrado adicionalmente no exemplo da figura 21, a unidade de codificação de áudio psicoacústico 40 é mostrada como dividida em instanciações separadas de codificador de áudio psicoacústico 40A, que pode ser mencionado como codificadores temporais de camada base 40A, e codificadores de áudio psicoacústico 40B, que podem ser mencionados como codificadores temporais de camada de aperfeiçoamento 40B. Os codificadores temporais de camada base 40A representam duas instanciações de codificadores de áudio psicoacústico que processam os quatro componentes da camada base. Os codificadores temporais de camada de aperfeiçoamento 40B representam quatro instanciações de codificadores de áudio psicoacústico que processam os dois componentes da camada de aperfeiçoamento.
[000264] A figura 22 é um diagrama ilustrando, em mais detalhe, a unidade de geração de fluxo de bits 42 da figura 3 quando configurada para executar uma terceira das versões em potencial das técnicas de codificação de áudio escalonável descritas nessa revelação. Nesse exemplo, a unidade de geração de fluxo de bits 42 é substancialmente similar à unidade de geração de fluxo de bits 42 descrita acima com relação ao exemplo da figura 18. Entretanto, a unidade de geração de fluxo de bits 42 executa a terceira versão das técnicas de codificação escalonável para especificar três camadas 21A-21C ao invés de duas camadas 21A e 21B. Além disso, a unidade de geração de fluxo de bits escalonável 1000 pode especificar indicações que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados na camada base 21A, indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento 21B, e indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma segunda camada de aperfeiçoamento 21C. A unidade de geração de fluxo de bits escalonável 1000 pode então especificar os dois sinais nFG codificados 61A e 61B com os dois vetores V[k] de primeiro plano codificados 57A e 57B na camada base 21A, e dois sinais nFG codificados 61C e 61D com os vetores V[k] de primeiro plano codificados correspondentes 57C e 57D na primeira camada de aperfeiçoamento 21B, e os dois sinais nFG codificados 61E e 61F com os dois vetores V[k] codificados correspondentes 57E e 57F na segunda camada de aperfeiçoamento 21C. A unidade de geração de fluxo de bits escalonável 1000 pode então transmitir essas camadas como fluxo de bits escalonável 21.
[000265] A figura 23 é um diagrama ilustrando em mais detalhe, a unidade de extração 72 da figura 4 quando configurada para executar a terceira das versões em potencial das técnicas de decodificação de áudio escalonável descritas nessa revelação. Nesse exemplo, a unidade de extração de fluxo de bits 72 é substancialmente similar à unidade de extração de fluxo de bits 72 descrita acima com relação ao exemplo da figura 19. Entretanto, a unidade de extração de fluxo de bits 72 executa a terceira versão das técnicas de codificação escalonável com relação a três camadas 21A-21C ao invés de duas camadas 21A e 21B. além disso, a unidade de extração de fluxo de bits escalonável 1012 pode obter indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados na camada base 21A, indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento 21B, e indicações de que coeficientes HOA ambiente codificados em zero e dois sinais nFG codificados são especificados em uma segunda camada de aperfeiçoamento 21C. a unidade de extração de fluxo de bits escalonável 1012 pode, então, obter os dois sinais nFG codificados 61A e 61B com os dois vetores V[k] de primeiro plano codificados correspondentes 57A e 57N a partir da camada base 21A, os dois sinais nFG codificados 61C e 61D com os dois vetores V[k] de primeiro plano codificados correspondentes 57C e 57D a partir da primeira camada de aperfeiçoamento 21B, e os dois sinais nFG codificados 61E e 61F com os dois vetores V[k] codificados correspondentes 57E e 57F a partir da segunda camada de aperfeiçoamento 21C. A unidade de extração de fluxo de bits escalonável 1012 pode transmitir os sinais nFG codificados 61 e os vetores V[k] de primeiro plano codificados 57 para a unidade de decodificação baseada em vetor 92.
[000266] A figura 24 é um diagrama ilustrando um terceiro caso de uso pelo qual um dispositivo de codificação de áudio pode especificar múltiplas camadas em um fluxo de bits de multicamadas de acordo com as técnicas descritas nessa revelação. Por exemplo, a unidade de geração de fluxo de bits 42 da figura 22 pode especificar o elemento de sintaxe NumLayer (que é mostrado como “NumberOfLayers” para facilidade de compreensão) para indicar que o número de camadas especificadas no fluxo de bits 21 é três. A unidade de geração de fluxo de bits 42 pode especificar ainda que o número de canais de segundo plano especificados na primeira camada (que também é mencionada como a “camada base”) é zero enquanto o número de canais de primeiro plano especificados na primeira camada é dois (isto é, B1 = 0, F1 = 2 no exemplo da figura 24). Em outras palavras, a camada base não fornece somente transporte de coeficientes HOA ambiente, mas pode permitir especificação de sinais de áudio HOA predominantes, ou em outras palavras, de primeiro plano.
[000267] Esses dois canais de áudio de primeiro plano são indicados como os sinais nFG codificados 61A/B e os vetores V[k] de primeiro plano codificados 57A/B e podem ser matematicamente representados pela seguinte equação: O indica os dois canais de áudio de primeiro plano, que podem ser representados pelo primeiro e segundo objetos de áudio (US1 e US2) juntamente com os vetores-V correspondentes (V1 e V2).
[000268] O dispositivo de geração de fluxo de bits 42 pode especificar ainda que o número de canais de segundo plano especificados na segunda camada (que também é mencionado como a “camada de aperfeiçoamento”) é zero enquanto o número de canais de primeiro plano especificados na segunda camada é dois (isto é, B2 = 0, F2 = 2) no exemplo da figura 24). Esses dois canais de áudio de primeiro plano são indicados como os sinais nFG codificados 61C/D e os vetores V[k] de primeiro plano codificados 57C/D e podem ser matematicamente representados pela seguinte equação: O indica os dois canais de áudio de primeiro plano, que podem ser representados pelo terceiro e quarto objetos de áudio (US3 e US4) juntamente com os vetores-V correspondentes (V3 e V4).
[000269] Além disso, a unidade de geração de fluxo de bits 42 pode especificar que o número de canais de segundo plano especificados na terceira camada (que também é mencionado como a “camada de aperfeiçoamento”) é zero enquanto o número de canais de primeiro plano especificados na terceira camada é dois (isto é, B3 = 0, F3 = 2 no exemplo da figura 24). Esses dois canais de áudio de primeiro plano são indicados como canais de áudio de primeiro plano 1024 e podem ser matematicamente representados pela seguinte equação: O indica os dois canais de áudio de primeiro plano 1024, que podem ser representados pelo quinto e sexto objetos de áudio (US5 e US6) juntamente com os vetores-V correspondentes (V5 e V6). Entretanto, a unidade de geração de fluxo de bits 42 pode não necessariamente sinalizar essas informações de canal de primeiro plano e segundo plano de terceira camada quando o número total de canais de primeiro plano e segundo plano já são conhecidos no decodificador (por exemplo, por meio de elementos de sintaxe adicionais, como totalNumBGchannels e totalNumFGchannels). A unidade de geração de fluxo de bits 42 pode, entretanto, não sinalizar as informações de canal de segundo plano e primeiro plano de terceira camada quando o número total de canais de primeiro plano e segundo plano já são conhecidos no decodificador (por exemplo, por meio de elementos de sintaxe adicionais, como totalNumBGchannels e totalNumFGchannels).
[000270] A unidade de geração de fluxo de bits 42 pode especificar esses valores Bi e Fi como NumBGchannels[i] e NumFGchannels[i]. Para o exemplo acima, o dispositivo de codificação de áudio 20 pode especificar o elemento de sintaxe NumBGchannels como {0, 0, 0} e o elemento de sintaxe NumFGchannels como {2, 2, 2}. O dispositivo de codificação de áudio 20 pode também especificar os canais HOA de primeiro plano 1020-1024 no fluxo de bits 21.
[000271] O dispositivo de decodificação de áudio 24 mostrado nos exemplos das figuras 2 e 4 pode operar em um modo recíproco àquele do dispositivo de codificação de áudio 20 para analisar, como descrito acima com relação à unidade de extração de fluxo de bits 72 da figura 23, esses elementos de sintaxe a partir do fluxo de bits (por exemplo, como exposto na tabela de sintaxe HOADecoderConfig acima). O dispositivo de decodificação de áudio 24 pode também analisar, novamente como descrito acima com relação à unidade de extração de fluxo de bits 72 da figura 23, os canais de áudio HOA de primeiro plano correspondentes 10201024 a partir do fluxo de bits 21 de acordo com os elementos de sintaxe analisados e reconstruir coeficientes HOA 1026 através da soma dos canais de áudio HOA de primeiro plano 1020-1024.
[000272] A figura 25 é um diagrama conceptual de um exemplo onde os elementos de sintaxe indicam que há três camadas com dois sinais nFG codificados especificados em uma camada base, dois sinais nFG codificados são especificados em uma primeira camada de aperfeiçoamento e dois sinais nFG codificados são especificados em uma segunda camada de aperfeiçoamento. O exemplo ad figura 25 mostra o quadro HOA como a unidade de geração de fluxo de bits escalonável 1000 mostrada no exemplo da figura 22 pode segmentar o quadro para formar a camada base incluindo dados de correção de ganho HOA de banda lateral para os sinais nFG codificados 61A e 61B e dois vetores V[k] de primeiro plano codificados 57. A unidade de geração de fluxo de bits escalonável 1000 pode também segmentar o quadro HOA para formar uma camada de aperfeiçoamento 21B que inclui os dois vetores V[k] de primeiro plano codificados 57 e os dados de correção de ganho HOA para os sinais Nfg ambiente codificados 61 e uma camada de aperfeiçoamento 21C que inclui os dois vetores V[k] de primeiro plano codificados adicionais 57 e os dados de correção de ganho HOA para os sinais nFG ambiente codificados 61.
[000273] Como mostrado adicionalmente no exemplo da figura 25, a unidade de codificação de áudio psicoacústico 40 é mostrada como dividida em instanciações separadas de codificador de áudio psicoacústico 40A, que pode ser mencionado como codificadores temporais de camada base 40A, e codificadores de áudio psicoacústico 40B, que podem ser mencionados como codificadores temporais de camada de aperfeiçoamento 40B. Os codificadores temporais de camada base 40A representam duas instanciações de codificadores de áudio psicoacústico que processam os quatro componentes da camada base. Os codificadores temporais de camada de aperfeiçoamento 40B representam quatro instanciações de codificadores de audio psicoacústicos que processam os dois componentes da camada de aperfeiçoamento.
[000274] A figura 26 é um diagrama ilustrando um terceiro caso de uso pelo qual um dispositivo de codificação de áudio pode especificar múltiplas camadas em um fluxo de bits de multicamadas de acordo com as técnicas descritas nessa revelação. Por exemplo, o dispositivo de codificação de áudio 20 mostrado no exemplo das figuras 2 e 3 pode especificar o elemento de sintaxe NumLayer (que é mostrado como “NumberOfLayers” para facilidade de compreensão) para indicar que o número de camadas especificadas no fluxo de bits 21 é quatro. O dispositivo de codificação de áduio20 pode especificar ainda que o número de canais de segundo plano especificados na primeira camada (que é também mencionado como a “camada base” é um enquanto o número de canais de primeiro plano especificados na primeira camada é zero (isto é, B1 = 1, F1 = 0 no exemplo da figura 26).
[000275] O dispositivo de codificação de áudio 20 pode especificar ainda que o número de canais de Segundo plano especificados na segunda camada (que também é mencionado como uma “primeira camada de aperfeiçoamento”) é um enquanto o número de canais de segundo plano especificados na segunda camada é zero (isto é, B2 = 1, F2 = 0 no exemplo da figura 26). O dispositivo de codificação de áudio 20 pode especificar também que o número de canais de segundo plano especificados na terceira camada (que também é mencionada como uma “segunda camada de aperfeiçoamento”) é um enquanto o número de canais de primeiro plano especificados na terceira camada é zero (isto é, B3 = 1, F3 = 0 no exemplo da figura 26). Além disso, o dispositivo de codificação de áudio 20 pode especificar que o número de canais de segundo plano especificados na quarta camada (que também é mencionada como a “camada de aperfeiçoamento”) é um enquanto o número de canais de primeiro plano especificados na terceira camada é zero (isto é, B4 = 1, F4 = 0 no exemplo da figura 26). Entretanto, o dispositivo de codificação de áudio 20 pode não necessariamente sinalizar as informações de canal de segundo plano e primeiro plano da quarta camada quando o número total de canais de primeiro plano e segundo plano já são conhecidos no decodificador (por exemplo, por meio de elementos de sintaxe adicionais, como numBGchannels e totalNumFGchannels).
[000276] O dispositivo de codificação de áudio 20 pode especificar esses valores Bi e Fi como NumBGchannels[i] e NumFGchannels[i]. Para o exemplo acima, o dispositivo de codificação de áudio 20 pode especificar o elemento de sintaxe NumBGchannels como {1, 1, 1, 1} e o elemento de sintaxe NumFGchnanels como {0, 0, 0, 0}. O dispositivo de codificação de áudio 20 pode também especificar os canais de áudio HOA de segundo plano 1030 no fluxo de bits 21. Nesse aspecto, as técnicas podem permitir que as camadas de aperfeiçoamento especifiquem ambiente, ou em outras palavras canais HOA de segundo plano 1030, que podem ter sido decorrelacionados antes de serem especificados nas camada base e de aperfeiçoamento do fluxo de bits 21 como descrito acima com relação aos exemplos das figuras 7A-9B. Entretanto, novamente, as técnicas expostas nessa revelação não são necessariamente limitadas à decorrelação e podem não fornecer elementos de sintaxe ou quaisquer outras indicações no fluxo de bits relevante para decorrelação como descrito acima.
[000277] O dispositivo de decodificação de áudio 24 mostrado nos exemplos das figuras 2 e 4 pode operar em um modo recíproco àquele do dispositivo de codificação de áudio 20 para analisar esses elementos de sintaxe a partir do fluxo de bits (por exemplo, como exposto na tabela de sintaxe HOADecoderConfig). O dispositivo de decodificação de áudio 24 pode analisar também os canais de áudio HOA de segundo plano correspondentes 1030 a partir do fluxo de bits 21 de acordo com os elementos de sintaxe analisados.
[000278] Como observado acima, em algumas instâncias, o fluxo de bits escalonável 21 pode incluir várias camadas que se conformam ao fluxo de bits não escalonável 21. Por exemplo, o fluxo de bits escalonável 21 pode incluir uma camada base que se conforma ao fluxo de bits não escalonável 21. Nessas instâncias, o fluxo de bits não escalonável 21 pode representar um sub-fluxo de bits de fluxo de bits escalonável 21, onde esse sub-fluxo de bits não escalonável 21 pode ser aperfeiçoado com camadas adicionais do fluxo de bits escalonável 21 (que são mencionadas como camadas de aperfeiçoamento).
[000279] As figuras 27 e 28 são diagramas de bloco ilustrando uma unidade de geração de fluxo de bits escalonável 42 e uma unidade de extração de fluxo de bits escalonável 72 que podem ser configuradas para executar vários aspectos das técnicas descritas nessa revelação. No exemplo da figura 27, a unidade de geração de fluxo de bits escalonável 42 pode representar um exemplo da unidade de geração de fluxo de bits 42 descrita acima com relação ao exemplo da figura 3. A unidade de geração de fluxo de bits escalonável 42 pode transmitir uma camada base 21 que se conforma (em termos de sintaxe e capacidade de ser decodificado por decodificadores de áudio que não suportam codificação escalonável) a um fluxo de bits não escalonável 21. A unidade de geração de fluxo de bits escalonável 42 pode operar em modos descritos acima com relação a qualquer uma das unidades de geração de fluxo de bits supra 42 exceto que a unidade de geração de fluxo de bits escalonável 42 não inclui uma unidade de geração de fluxo de bits não escalonável 1002. Ao invés, a unidade de geração de fluxo de bits escalonável 42 transmite uma camada de base 21 que se conforma a um fluxo de bits não escalonável e como tal não requer uma unidade de geração de fluxo de bits não escalonável separada 1000. No exemplo da figura 28, a unidade de extração de fluxo de bits escalonável 72 pode operar reciprocamente com a unidade de geração de fluxo de bits escalonável 42.
[000280] A figura 29 representa um diagrama conceptual representando um codificador 900 que pode ser configurado para operar de acordo com vários aspectos das técnicas descritas nessa revelação. O codificador 900 pode representar outro exemplo do dispositivo de codificação de áudio 20. O codificador 900 pode incluir uma unidade de decomposição espacial 902, uma unidade de decorrelação 904 e uma unidade de codificação temporal 906. A unidade de decomposição espacial 902 pode representar uma unidade configurada para transmitir os sons predominantes baseados em vetor (na forma dos objetos de áudio mencionados acima), os vetores-V correspondentes associados a esses sons predominantes baseados em vetor e coeficientes HOA ambiente horizontais 903. A unidade de decomposição espacial 902 pode diferir de uma decomposição baseada em direcional em que os vetores-V descrevem tanto a direção como a largura do objeto correspondente dos objetos de áudio à medida que cada objeto de áudio se move ao longo do tempo no campo de som.
[000281] A unidade de decomposição espacial 902 pode incluir unidades 30-38 e 44-52 da unidade de síntese baseada em vetor 27 mostrada no exemplo da figura 3 e opera, em geral, no modo descrito acima com relação à unidade 30-38 e 44-52. A unidade de decomposição espacial 902 pode diferir da unidade de síntese baseada em vetor 27 em que a unidade de decomposição espacial 902 pode não executar codificação psicoacústica ou de outro modo incluir unidade de codificador psicoacústico 40 e pode não incluir uma unidade de geração de fluxo de bits 42. Além disso, no contexto de codificação de áudio escalonável, a unidade de decomposição espacial 902 pode passar através dos coeficientes HOA ambiente horizontais 903 (significando, em alguns exemplos, que esses coeficientes HOA horizontais podem não ser modificados ou de outro modo ajustados e são analisados a partir de coeficientes HOA 901).
[000282] Os coeficientes HOA ambiente horizontais 903 podem se referir a qualquer um dos coeficientes HOA 901 (que também pode ser mencionado como dados de áudio HOA 901) que descrevem um componente horizontal do campo de som. Por exemplo, os coeficientes HOA ambiente horizontais 903 podem incluir coeficientes HOA associados a uma função de base esférica tendo uma ordem de zero e uma subordem de zero, coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um negativo, e terceiros coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um.
[000283] A unidade de decorrelação 904 representa uma unidade configurada para executar decorrelação com relação a uma primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior 903 (onde os coeficientes HOA ambiente 903 são um exemplo desses dados de áudio HOA) para obter uma representação decorrelacionada 905 da primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior. A camada base 903 pode ser similar a qualquer uma das primeiras camadas, camadas base ou subcamadas base descritas acima com relação às figuras 21-26. A unidade de decorrelação 904 pode executar decorrelação usando a matriz UHJ acima mencionada ou a matriz de modo. A unidade de decorrelação 904 pode também executar decorrelação usando uma transformação, como rotação, em um modo similar àquele descrito no pedido US no. De série 14/192.829, intitulado “TRANSFORMING SPHERICAL HARMONIC COEFFICIENTS, ” depositado em 27 de fevereiro de 2014, exceto que a rotação é executada para obter uma representação decorrelacionada da primeira camada ao invés de reduzir o número de coeficientes.
[000284] Em outras palavras, a unidade de decorrelação 904 pode executar uma rotação do campo de som para alinhar energia dos coeficientes HOA ambiente 903 ao longo de três eixos horizontais diferentes separados por 120 graus (como 0 graus azimutal / 0 graus de elevação, 120 graus azimutais / 0 graus de elevação, e 240 graus azimutais /0 grau de elevação). Por alinhar essas energias com os três eixos horizontais, a unidade de decorrelação 904 pode tentar decorrelacionar as energias entre si de modo que a unidade de decorrelação 904 pode utilizar uma transformação espacial para efetivamente renderizar três canais de áudio de decorrelação 905. A unidade de decorrelação 904 pode aplicar essa transformação espacial de modo a computar os sinais de áudio espacial 905 nos ângulos de azimute de 0 grau, 120 graus e 240 graus.
[000285] Embora descrito com referência a ângulos de azimute de 0 grau, 120 graus e 240 graus, as técnicas podem ser aplicadas com relação a quaisquer três ângulos azimutais que uniformemente ou quase uniformemente dividem os 360 graus de azimute do círculo. Por exemplo, as técnicas também podem ser executadas com relação a uma transformação que computa os sinais de áudio espacial 905 nos ângulos de azimute de 60 graus, 180 graus e 300 graus. Além disso, embora descrito com relação a três coeficientes HOA ambiente 901, as técnicas podem ser executadas mais genericamente com relação a quaisquer coeficientes HOA horizontais, incluindo aqueles como descrito acima e quaisquer outros coeficientes HOA horizontais, como aqueles associados a uma função de base esférica tendo uma ordem de dois e subordem de dois, uma função de base esférica tendo uma ordem de dois e uma subordem de dois negativo, ..., uma função de base esférica tendo uma ordem de X e uma subordem de X, e uma função de base esférica tendo uma ordem de X e uma subordem de X negativo, onde X pode representar qualquer número incluindo 3, 4, 5, 6, etc.
[000286] À medida que o número de coeficientes HOA horizontais aumenta, o número de porções uniformes ou quase uniformes do círculo de 360 graus pode aumentar. Por exemplo, quando o número de coeficientes HOA horizontais aumenta para cinco, a unidade de decorrelação 904 pode segmentar o círculo em cinco divisões uniformes (por exemplo, de aproximadamente 72 graus cada). O número de coeficientes HOA horizontais de X pode, como outro exemplo, resultar em X divisões uniformes com cada divisão tendo 360 graus / X graus.
[000287] A unidade de decorrelação 904 pode, para identificar as informações de rotação indicativas da quantidade pela qual girar o campo de som representado pelos coeficientes HOA ambiente horizontais 903, executar uma análise de campo de som, análise de característica de conteúdo, e/ou análise espacial. Com base em uma ou mais dessas análises, a unidade de decorrelação 904 pode identificar a informação de rotação (ou outra informação de transformação da qual a informação de rotação é um exemplo) como um número de graus pelo qual girar horizontalmente o campo de som, e girar o campo de som, obtendo efetivamente uma representação girada (que é um exemplo da representação transformada mais geral) da camada base dos dados de áudio ambisonic de ordem superior.
[000288] A unidade de decorrelação 904 pode então aplicar uma transformada espacial à representação girada da camada base 903 (que também pode ser mencionada como uma primeira camada 903 de duas ou mais camadas) dos dados de áudio ambisonic de ordem superior. A transformada espacial pode converter a representação girada da camada base das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior. A representação de decorrelação da primeira camada pode incluir sinais de áudio espacial 905 renderizados nos três ângulos de azimute correspondentes de 0 grau, 120 graus e 240 graus, como mencionado acima. A unidade de decorrelação 904 pode então passar os sinais de áudio espacial ambiente horizontais 905 para a unidade de codificação temporal 906.
[000289] A unidade de decodificação temporal 906 pode representar uma unidade configurada para executar codificação de áudio psicoacústico. A unidade de codificação temporal 906 pode representar um codificador AAC ou um codificador de áudio e fala unificada (USAC) para fornecer dois exemplos. Unidades de codificação de áudio temporal, como a unidade de codificação temporal 906, podem normalmente operar com relação aos dados de áudio decorrelacionados, como os 6 canais de uma configuração de alto-falante 5.1, esses 6 canais tendo sido renderizados para canais decorrelacionados. Entretanto, os coeficientes HOA ambiente horizontais 903 são aditivos em natureza e desse modo correlacionam em certo aspecto. O fornecimento desses coeficientes HOA ambiente horizontais 903 diretamente à unidade de codificação temporal 906 sem primeiramente executar alguma forma de decorrelação pode resultar em desmascarar ruído espacial no qual sons aparecem em locais que não eram pretendidos. Esses artefatos perceptuais, como desmascaramento de ruído espacial, podem ser reduzidos por executar a decorrelação baseada em transformação (ou, mais especificamente, baseada em rotação no exemplo da figura 29) descrita acima.
[000290] A figura 30 é um diagrama ilustrando o codificador 900 mostrado no exemplo da figura 27 em mais detalhe. No exemplo da figura 30, o codificador 900 pode representar um codificador de camada base 900 que codifica a camada base somente horizontal de primeira ordem HOA 903 e não mostra unidade de decomposição espacial 902 visto que essa unidade 902 não executa, nesse exemplo de passagem, operações significativas diferentes de fornecer a camada base 903 a uma unidade de análise de campo de som 910 e uma unidade de rotação bidimensional (2D) da unidade de decorrelação 904.
[000291] Isto é, a unidade de decorrelação 904 inclui a unidade de análise de campo de som 910 e a unidade de rotação 2D 912. A unidade de análise de campo de som 910 representa uma unidade configurada para executar a análise de campo de som descrita acima em mais detalhe para obter um parâmetro de ângulo de rotação 911. O parâmetro de ângulo de rotação 911 representa um exemplo de informação de transformação na forma de informação de rotação. A unidade de rotação 2D 912 representa uma unidade configurada para executar uma rotação horizontal em torno do eixo-Z do campo de som com base no parâmetro de ângulo de rotação 911. Essa rotação é bidimensional em que a rotação somente envolve um eixo de rotação único e não inclui nenhuma, nesse exemplo, rotação de elevação. A unidade de rotação 2D 912 pode obter informação de rotação inversa 913 (por inverter, como exemplo, o parâmetro de ângulo de rotação 911 para obter o parâmetro de ângulo de rotação inversa 913), que pode ser um exemplo de informação de transformação inversa mais geral. A unidade de rotação 2D 912 pode fornecer o parâmetro de ângulo de rotação inversa 913 de modo que o codificador 900 possa especificar o parâmetro de ângulo de rotação inversa 913 no fluxo de bits.
[000292] Em outras palavras, a unidade de rotação 2D 912 pode, com base na análise de campo de som, girar o campo de som 2D de modo que a energia predominante esteja potencialmente chegando de um dos pontos de amostragem espacial usados no módulo de transformada espacial 2D (0°, 120°, 240°). A unidade de rotação 2D 912 pode, como exemplo, aplicar a seguinte matriz de rotação:Em alguns exemplos, a unidade de rotação 2D 912 pode, para evitar artefatos de quadro, aplicar uma função de suavização (interpolação) para assegurar uma transição suave do ângulo de rotação de variação de tempo. Essa função de suavização pode compreender uma função de suavização linear. Entretanto, outras funções de suavização, incluindo funções de suavização não linear podem ser usadas. A unidade de rotação 2D 912 pode, por exemplo, usar uma função de suavização de ranhura.
[000293] Para ilustrar, quando o módulo de unidade de análise de campo de som 910 indica que a direção dominante de campo de som está em 70° azimute em um quadro de análise, a unidade de rotação 2D 912 pode girar suavemente o campo de som em Φ = -70° de modo que a direção dominante seja agora 0°. Como outra possiblidade, a unidade de rotação 2D 912 pode girar o campo de som em Φ = 50°, de modo que a direção dominante seja agora 120°. A unidade de rotação 2D 912 pode então sinalizar o ângulo de rotação aplicado 913 como um parâmetro de banda lateral adicional no fluxo de bits, de modo que um decodificador possa aplicar a operação de rotação inversa correta.
[000294] Como adicionalmente mostrado no exemplo da figura 30, a unidade de decorrelação 904 também inclui uma unidade de transformação espacial 2D 914. A unidade de transformação espacial 2D 914 representa uma unidade configurada para converter a representação girada da camada base a partir do domínio harmônico esférico para o domínio espacial, efetivamente renderizando a camada base girada 915 para os três ângulos de azimute (por exemplo, 0, 120 e 240). A unidade de transformação espacial 2D 914 pode multiplicar os coeficientes da camada base girada 915 com a seguinte matriz de transformação, que assume a ordem de coeficiente HOA ‘00+’, ’11-‘, ‘11+’ e normalização N3D:A matriz acima computa os sinais de áudio espacial 905 nos ângulos azimute 0°, 120° e 240°, de modo que o círculo de 360° seja uniformemente dividida em 3 porções. Como observado acima, outras separações são possíveis, desde que cada porção cubra 120 graus, por exemplo, computando os sinais espaciais em 60°, 180° e 300°.
[000295] Desse modo, as técnicas podem fornecer um dispositivo 900 configurado para executar codificação de dados de áudio ambisonic de ordem superior escalonável. O dispositivo 900 pode ser configurado para executar decorrelação com relação a uma primeira camada 903 de duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter uma representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000296] Nessas e em outras instâncias, a primeira camada 903 de duas ou mais camadas dos dados de áudio ambisonic de ordem superior compreende coeficientes ambisonic de ordem superior ambiente correspondendo a uma ou mais funções básicas esféricas tendo uma ordem igual a ou menor que um. Nessas e em outras instâncias a primeira camada 903 de duas ou mais camadas dos dados de áudio ambisonic de ordem superior compreende coeficientes ambisonic de ordem superior ambiente correspondendo somente a funções básicas esféricas descritivas de aspectos horizontais do campo de som. Nessas e em outras instâncias, os coeficientes ambisonic de ordem superior ambiente correspondendo somente a funções de base esférica descritivas dos aspectos horizontais do campo de som podem compreender primeiros coeficientes ambisonic de ordem superior ambiente correspondendo a uma função de base esférica tendo uma ordem de zero e uma subordem de zero, segundos coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um negativo, e terceiros coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um.
[000297] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para executar uma transformação (por exemplo, por meio da unidade de rotação 2D 912) com relação à primeira camada 903 dos dados de áudio ambisonic de ordem superior.
[000298] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para executar uma rotação (por exemplo, por meio da unidade de rotação 2D 912) com relação à primeira camada 903 dos dados de áudio ambisonic de ordem superior.
[000299] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para aplicar uma transformação (por exemplo, por meio da unidade de rotação 2D 912) com relação à primeira camada 903 de duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior (por exemplo, por meio da unidade de transformação espacial 2D 914) a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000300] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para aplicar uma rotação com relação à primeira camada 903 das duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter uma representação girada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação girada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000301] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para obter informações de transformação 911, aplicar uma transformação com relação à primeira camada 903 das duas ou mais camadas dos dados de áudio ambisonic de ordem superior com base nas informações de transformação 911 para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000302] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para obter informações de rotação 911, e aplicar uma rotação com relação à primeira camada 903 das duas ou mais camadas dos dados de áudio ambisonic de ordem superior com base nas informações de rotação 911 para obter uma representação girada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação girada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000303] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para aplicar uma transformação com relação à primeira camada 903 das duas ou mais camadas dos dados de áudio ambisonic de ordem superior usando pelo menos em parte uma função de suavização para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio especial para obter uma representação decorrelacionada 905 da primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000304] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para aplicar uma rotação com relação à primeira camada 903 das duas ou mais camadas dos dados de áudio ambisonic de ordem superior usando pelo menos em parte uma função de suavização para obter uma representação girada 915 da primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e converter a representação girada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio harmônico esférico para um domínio espacial para obter uma representação decorrelacionada da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000305] Nessas e em outras instâncias, o dispositivo 900 pode ser configurado para especificar uma indicação da função de suavização a ser usada ao aplicar uma transformação inversa ou uma rotação inversa.
[000306] Nessas e em outras instâncias, o dispositivo 900 pode ser adicionalmente configurado para aplicar uma transformada invertível linear aos dados de áudio ambisonic de ordem superior para obter um vetor-V, e especificar o vetor V como uma segunda camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, como descrito acima com relação à figura 3.
[000307] Nessas e em outras instâncias, o dispositivo 900 pode ser adicionalmente configurado para obter coeficientes ambisonic de ordem superior associados a uma função de base esférica tendo uma ordem de um e uma subordem de zero, e especificar os coeficientes ambisonic de ordem superior como uma segunda camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000308] Nessas e em outras instâncias, o dispositivo 900 pode ser adicionalmente configurada para executar uma codificação temporal com relação à representação decorrelacionada da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000309] A figura 31 é um diagrama de blocos ilustrando um decodificador de áudio 920 que pode ser configurado para operar de acordo com vários aspectos das técnicas descritas nessa revelação. O decodificador 920 pode representar outro exemplo do dispositivo de decodificação de áudio 24 mostrado no exemplo da figura 2 em termos de reconstruir os coeficientes HOA, reconstruir vetores-V das camadas de aperfeiçoamento, executar decodificação de áudio temporal (como executado por uma unidade de decodificação de áudio temporal 922), etc. Entretanto, o decodificador 920 difere em que o decodificador 920 opera com relação a dados de áudio ambisonic de ordem superior codificados escalonáveis como especificado no fluxo de bits.
[000310] Como mostrado no exemplo da figura 31, o decodificador de áudio 920 inclui uma unidade de decodificação temporal 922, uma unidade de transformação espacial 2D inversa 924, uma unidade de renderização de camada base 928 e uma unidade de processamento de camada de aperfeiçoamento 930. A unidade de decodificação temporal 922 pode ser configurada para operar em um modo recíproco àquele da unidade de codificação temporal 906. A unidade de transformação espacial 2D inversa 924 pode representar uma unidade configurada para operar em um modo recíproco àquele da unidade de transformação espacial 2D 914.
[000311] Em outras palavras, a unidade de transformação espacial 2D inversa 924 pode ser configurada para aplicar a matriz abaixo aos sinais de áudio espacial 905 para obter os coeficientes HOA ambiente horizontal girados 915 (que também podem ser mencionados como “a camada base girada 915”). A unidade de transformação espacial 2D inversa 924 pode transformar os 3 sinais de áudio transmitido 905 de volta para o domínio HOA usando a seguinte matriz de transformação, que como a matriz acima assume a ordem de coeficiente HOA ‘00+’, ’11-‘, ‘11+’ e normalização N3D:A matriz acima é o inverso da matriz de transformação usada no decodificador.
[000312] A unidade de rotação 2D inversa 926 pode ser configurada para operar em um modo recíproco àquele descrito acima com relação à unidade de rotação 2D 912. Nesse aspecto, a unidade de rotação 2D 912 pode executar uma rotação de acordo com a matriz de rotação mencionada acima com base no parâmetro de ângulo de rotação inversas 913 ao invés do parâmetro de ângulo de rotação 911. Em outras palavras, a unidade de rotação inversa 926 pode, com base na rotação sinalizada Φ, aplicada à matriz a seguir, que novamente assume a ordem de coeficiente ‘00+’, ’11-‘, ‘11+’ e normalização N3D:A unidade de rotação 2D inversa 926 pode usar a mesma função de suavização (interpolação) usada no decodificador para assegurar uma transição suave para o ângulo de rotação de variação de tempo, que pode ser sinalizado no fluxo de bit ou configurado a priori.
[000313] A unidade de renderização de camada base 928 pode representar uma unidade configurada para renderizar os coeficientes HOA ambiente somente na horizontal da camada base para feeds de alto-falante. A unidade de processamento de camada de aperfeiçoamento 930 pode representar uma unidade configurada para executar processamento adicional da camada base com quaisquer camadas de aperfeiçoamento recebidas (decodificadas através de um percurso de decodificação de camada de aperfeiçoamento separada que invoca grande parte da decodificação descrita acima com relação a coeficientes HOA ambiente adicionais e os vetores-V juntamente com os objetos de áudio correspondendo aos vetores-V) para renderizar feeds de alto-falante. A unidade de processamento de camada de aperfeiçoamento 930 pode efetivamente aumentar a camada base para fornecer uma representação de resolução mais elevada do campo de som que pode fornecer uma experiencia de áudio mais imersiva tendo sons que potencialmente movem realisticamente no campo de som. A camada base pode ser similar a qualquer uma das primeiras camadas, camadas de base ou subcamadas de base descritas acima com relação às figuras 11-13B. as camadas de aperfeiçoamento podem ser similares a qualquer uma das segundas camadas, camadas de aperfeiçoamento, ou subcamadas de aperfeiçoamento descritas acima com relação às figuras 11-13B.
[000314] Nesse aspecto, as técnicas fornecem um dispositivo 920 configurado para executar decodificação de dados de áudio ambisonic de ordem superior escalonável. O dispositivo pode ser configurado para obter uma representação decorrelacionada de uma primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior (por exemplo, sinais de áudio espacial 905), os dados de áudio ambisonic de ordem superior descritivos de um campo de som. A representação decorrelacionada da primeira camada é decorrelacionada por executar decorrelação com relação à primeira camada dos dados de áudio ambisonic de ordem superior.
[000315] Em algumas instâncias, a primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior compreende coeficientes ambisonic de ordem superior ambiente correspondendo a uma ou mais funções de base esférica tendo uma ordem igual a ou menor que um. Nessas e em outras instâncias, a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior compreende coeficientes ambisonic de ordem superior ambiente correspondendo somente a funções de base esférica descritivas de aspectos horizontais do campo de som. Nessas e em outras instâncias, os coeficientes ambisonic de ordem superior ambiente correspondendo somente a funções de base esférica descritivas dos aspectos horizontais do campo de som compreende primeiros coeficientes ambisonic de ordem superior ambiente correspondendo a uma função de base esférica tendo uma ordem de zero e uma subordem de zero, segundos coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um negativo, e terceiros coeficientes ambisonic de ordem superior correspondendo a uma função de base esférica tendo uma ordem de um e uma subordem de um.
[000316] Nessas e em outras instâncias a representação decorrelacionada da primeira camada é decorrelacionada por executar uma transformação com relação à primeira camada dos dados de áudio ambisonic de ordem superior, como descrito acima com relação ao codificador 900.
[000317] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para executar uma rotação (por exemplo, por unidade de rotação 2D inversa 926) com relação à primeira camada dos dados de áudio ambisonic de ordem superior.
[000318] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para recorrelacionar a representação decorrelacionada da primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter a primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior como descrito acima, por exemplo, com relação à unidade de transformação espacial 2D inversa 924 e unidade de rotação 2D inversa 926.
[000319] Nessas e outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e aplicar uma transformação inversa (por exemplo, como descrito acima com relação à unidade de rotação 2D inversa 926) com relação à representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000320] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e aplicar uma rotação inversa com relação à representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000321] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, obter informações de transformação 913, e aplicar uma transformação inversa com relação à representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior com base nas informações de transformação 913 para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000322] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, obter informações de rotação 913, e aplicar uma rotação inversa com relação à representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior com base nas informações de rotação 913 para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000323] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior a partir de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e aplicar uma transformação inversa com relação à representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior usando, pelo menos em parte, uma função de suavização para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000324] Nessas e em outras instâncias, o dispositivo 920 pode ser configurado para converter a representação decorrelacionada 905 da primeira camada de duas ou mais camadas dos dados de áudio ambisonic de ordem superior de um domínio espacial para um domínio harmônico esférico para obter uma representação transformada 915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, e aplicar uma rotação inversa com relação à rrepresentação915 da primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior usando pelo menos em parte, uma função de suavização para obter a primeira camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior.
[000325] Nessas e em outras instâncias, o dispositivo 920 pode ser adicionalmente configurado para obter uma indicação da função de suavização a ser usada ao aplicar a transformação inversa ou a rotação inversa.
[000326] Nessas e em outras instâncias, o dispositivo 920 pode ser adicionalmente configurado para obter uma representação de uma segunda camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, onde a representação da segunda camada compreende dados de áudio predominantes baseados em vetor, os dados de áudio predominantes baseados em vetor compreendem pelo menos um dado de áudio predominante e um vetor-V codificado, e o vetor-V codificado é decomposto a partir dos dados de áudio ambisonic de ordem superior através de aplicação de uma transformada invertível linear, como descrito acima com relação ao exemplo da figura 3.
[000327] Nessas e em outras instâncias, o dispositivo 920 pode ser adicionalmente configurado para obter uma representação de uma segunda camada das duas ou mais camadas dos dados de áudio ambisonic de ordem superior, onde a representação da segunda camada compreende coeficientes ambisonic de ordem superior associados a uma função de base esférica tendo uma ordem de um e uma subordem de zero.
[000328] Desse modo, as técnicas podem habilitar um dispositivo a ser configurado para, ou fornecer um aparelho compreendendo meio para executar, ou uma mídia legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores executem o método exposto nas seguintes cláusulas.
[000329] Cláusula 1A. Método de codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits, o método compreendendo especificar uma indicação de um número de camadas no fluxo de bits, e transmitir o fluxo de bits que inclui o número indicado das camadas.
[000330] Cláusula 2A. Método da cláusula 1A, compreendendo ainda especificar uma indicação de um número de canais incluídos no fluxo de bits.
[000331] Cláusula 3A. Método da cláusula 1A, em que a indicação do número de camadas compreende uma indicação de um número de camadas no fluxo de bits para um quadro anterior, e em que o método compreende ainda especificar, no fluxo de bits, uma indicação de se um número de camadas do fluxo de bits mudou para um quadro atual quando comparado com o número de camadas do fluxo de bits para o quadro anterior, e especificar o número indicado de camadas do fluxo de bits no quadro atual.
[000332] Cláusula 4A. Dispositivo da cláusula 3A, em que a especificação do número indicado de camadas compreende, quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, especificar o número indicado de camadas sem especificar, no fluxo de bits, uma indicação de um número atual de componentes de segundo plano em uma ou mais das camadas para o quadro atual como sendo igual a um número anterior de componentes de segundo plano em uma ou mais das camadas do quadro anterior.
[000333] Cláusula 5A. Método da cláusula 1A, em que as camadas são hierárquicas de modo que uma primeira camada, quando combinada com uma segunda camada, fornece uma representação de resolução mais elevada do sinal de áudio ambisonic de ordem superior.
[000334] Cláusula 6A. Método da cláusula 1A, em que as camadas do fluxo de bits compreendem uma camada de base e uma camada de aperfeiçoamento, e em que o método compreende ainda aplicar uma transformada de decorrelação com relação a um ou mais canais da camada de base para obter uma representação decorrelacionada de componentes de segundo plano do sinal de áudio ambisonic de ordem superior.
[000335] Cláusula 7A. Método da cláusula 6A, em que a transformada de decorrelação compreende uma transformada UHJ.
[000336] Cláusula 8A. Método da cláusula 6A, em que a transformada de decorrelação compreende uma transformada de matriz de modo.
[000337] Além disso, as técnicas podem permitir que um dispositivo seja configurado para, ou forneça um aparelho compreendendo meio para executar, ou uma mídia legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores execute o método exposto nas seguintes cláusulas.
[000338] Cláusula 1B. Método de codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits, o método compreendendo especificar, no fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas do fluxo de bits, e especificar o número indicado dos canais em uma ou mais camadas do fluxo de bits.
[000339] Cláusula 2B. Método da cláusula 1B, compreendendo ainda especificar uma indicação de um número total de canais especificados no fluxo de bits, em que a especificação do número indicado de canais compreende especificar o número total indicado dos canais em uma ou mais camadas do fluxo de bits.
[000340] Cláusula 3B. Método da cláusula 1B, compreendendo ainda especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, e especificar o número indicado de canais compreende especificar o número indicado do tipo indicado de um dos canais em uma ou mais camadas do fluxo de bits.
[000341] Cláusula 4B. Método da cláusula 1B, compreendendo ainda especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de primeiro plano, e em que a especificação do número indicado de canais compreende especificar o canal de primeiro plano em uma ou mais camadas do fluxo de bits.
[000342] Cláusula 5B. Método da cláusula 1B, compreendendo ainda especificar uma indicação, no fluxo de bits, de um número de camadas especificadas no fluxo de bits.
[000343] Cláusula 6B. Método da cláusula 1B, compreendendo ainda especificar uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de segundo plano, em que a especificação do número indicado dos canais compreende especificar o canal de segundo plano em uma ou mais camadas do fluxo de bits.
[000344] Cláusula 7B. Método da cláusula 6B, em que um dos canais compreende um coeficiente ambisonic de ordem superior de segundo plano.
[000345] Cláusula 1B. Método da cláusula 1B, em que a especificação da indicação do número de canais compreende especificar a indicação do número de canais com base em um número de canais que resta no fluxo de bits após uma das camadas ser especificada.
[000346] Desse modo, as técnicas podem permitir que um dispositivo seja configurado para ou fornecer um aparelho compreendendo meio para executar, ou uma mídia legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores execute o método exposto nas seguintes cláusulas.
[000347] Cláusula 1C. Método de decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o método compreendendo obter, a partir do fluxo de bits, uma indicação de um número de camadas especificadas no fluxo de bits, e obter as camadas do fluxo de bits com base na indicação do número de camadas.
[000348] Cláusula 2C. Método da cláusula 1C, compreendendo ainda obter uma indicação de um número de canais especificados no fluxo de bits, e em que a obtenção das camadas compreende obter as camadas do fluxo de bits com base na indicação do número de camadas e indicação do número de canais.
[000349] Cláusula 3C. Método da clausula 1C, compreendendo ainda obter uma indicação de um número de canais de primeiro plano especificados no fluxo de bits para pelo menos uma das camadas, e em que a obtenção das camadas compreende obter os canais de primeiro plano para pelo menos uma das camadas do fluxo de bits com base na indicação do número de canais de primeiro plano.
[000350] Cláusula 4C. Método da cláusula 1C, compreendendo ainda obter uma indicação de um número de canais de segundo plano especificados no fluxo de bits para pelo menos uma das camadas, e em que a obtenção das camadas compreende obter os canais de segundo plano para pelo menos uma das camadas do fluxo de bits com base na indicação do número de canais de segundo plano.
[000351] Cláusula 5C. Método da cláusula 1C, em que a indicação do número das camadas indica que o número de camada é dois, em que as duas camadas compreendem uma camada base e uma camada de aperfeiçoamento, e em que a obtenção das camadas compreende obter uma indicação de que um número de canais de primeiro plano é zero para a camada base e dois para a camada de aperfeiçoamento.
[000352] Cláusula 6C. Método da clausula 1C ou 5C, em que a indicação do número das camadas indica que o número de camada é dois, em que as duas camadas compreendem uma camada base e uma camada de aperfeiçoamento, e em que o método compreende ainda obter uma indicação de que um número de canais de segundo plano é quatro para a camada base e zero para a camada de aperfeiçoamento.
[000353] Cláusula 7. Método da cláusula 1C, em que a indicação do número das camadas indica que o número de camada é três, em que as três camadas compreendem uma camada base, uma primeira camada de aperfeiçoamento e uma segunda camada de aperfeiçoamento, e em que o método compreende ainda obter uma indicação de que um número de canais de primeiro plano é zero para a camada base, dois para a primeira camada de aperfeiçoamento e dois para a terceira camada de aperfeiçoamento.
[000354] Cláusula 8C. Método da cláusula 1C ou 7C, em que a indicação do número das camadas indica que o número de camada é três, em que as três camadas compreendem uma camada base, uma primeira camada de aperfeiçoamento e uma segunda camada de aperfeiçoamento, e em que o método compreende ainda obter uma indicação de que um número de canais de segundo plano é dois para a camada base, zero para a primeira camada de aperfeiçoamento e zero para a terceira camada de aperfeiçoamento.
[000355] Cláusula 9C. Método da cláusula 1C, em que a indicação do número das camadas indica que o número de camada é três, em que as três camadas compreendem uma camada base, uma primeira camada de aperfeiçoamento e uma segunda camada de aperfeiçoamento, e em que o método compreende ainda obter uma indicação de que um número de canais de primeiro plano é dois para a camada base, dois para uma primeira camada de aperfeiçoamento e dois para uma terceira camada de aperfeiçoamento.
[000356] Cláusula 10C. Método da cláusula 1C ou 9C, em que a indicação do número das camadas indica que o número de camada é três, em que as três camadas compreendem uma camada base, uma primeira camada de aperfeiçoamento e uma segunda camada de aperfeiçoamento e em que o método compreende ainda obter um elemento de sintaxe de segundo plano indicando que o número de canais de segundo plano é zero para a camada base, zero para a primeira camada de aperfeiçoamento e zero para a terceira camada de aperfeiçoamento.
[000357] Cláusula 11C. Método da cláusula 1C, em que a indicação do número de camadas compreende uma indicação de um número de camadas em um quadro anterior do fluxo de bits, e em que o método compreende ainda obter uma indicação de se um número de camadas do fluxo de bits mudou em um quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, e obter o número de camadas do fluxo de bits no quadro atual com base na indicação de se o número de camadas do fluxo de bits mudou no quadro atual.
[000358] Cláusula 12C. Método da cláusula 11C, compreendendo ainda determinar o número de camadas do fluxo de bits no quadro atual como igual ao número de camadas do fluxo de bits no quadro anterior quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior.
[000359] Cláusula 13C. Método da cláusula 11C, em que o método compreende ainda, quando a indicação indica que o número de camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de camadas do fluxo de bits no quadro anterior, obter uma indicação de um número atual de componentes em uma ou mais das camadas para o quadro atual como sendo igual a um n'mero anterior de componentes em uma ou mais das camadas do quadro anterior.
[000360] Cláusula 14C. Método da cláusula 1C, em que a indicação do número de camadas indica que três camadas são especificadas no fluxo de bits, e em que a obtenção das camadas compreende obter uma primeira das camadas do fluxo de bits indicativo de componentes de segundo o plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de canal estéreo, obter uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução tridimensional por três ou mais alto-falantes dispostos em um ou mais planos horizontais, e obter uma terceira das camadas do fluxo de bits indicativo de componentes de primeiro plano do sinal de áudio ambisonic de ordem superior.
[000361] Cláusula 15C. Método da cláusula 1C, em que a indicação do número de camadas indica que três camadas são especificadas no fluxo de bits, e em que a obtenção das camadas compreende obter uma primeira das camadas do fluxo de bis indicativos de componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de canal mono, obter uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução tridimensional por três ou mais alto-falantes dispostos em um ou mais planos horizontais, e obter uma terceira das camadas do fluxo de bits indicativo de componentes de primeiro plano do sinal de áudio ambisonic de ordem superior.
[000362] Cláusula 16C. Método da cláusula 1C, em que a indicação do número de camadas indica que três camadas são especificadas no fluxo de bits, e em que a obtenção das camadas compreende obter uma primeira das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de canal estéreo, obter uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de multicanais por três ou mais alto-falantes dispostos em um único plano horizontal, obter uma terceira das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução tridimensional por três ou mais alto-falantes dispostos em dois ou mais planos horizontais, e obter uma quarta das camadas do fluxo de bits indicativo de componentes de primeiro plano do sinal de áudio ambisonic de ordem superior.
[000363] Clausula 17C. Método da cláusula 1C, em que a indicação do número de camadas indica que três camadas são especificadas no fluxo de bits, e em que obter as camadas compreende obter uma primeira das camadas do fluxo de bits indicativo de componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução mono canal, obter uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de multicanais por três ou mais alto-falantes dispostos em um plano horizontal único, e obter uma terceira das camadas do fluxo de bis indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução tridimensional por três ou mais alto-falantes dispostos em dois ou mais planos horizontais, e obter uma quarta das camadas do fluxo de bits indicativo de componentes de primeiro plano do sinal de áudio ambisonic de ordem superior.
[000364] Cláusula 18C. Método da cláusula 1C, em que a indicação do número de camadas indica que duas camadas são especificadas no fluxo de bits, e em que a obtenção das camadas compreende obter uma primeira das camadas do fluxo de bits indicativo de componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de canal estéreo, e obter uma segunda das camadas do fluxo de bits indicativo dos componentes de segundo plano do sinal de áudio ambisonic de ordem superior que fornecem reprodução de multicanais horizontais por três ou mais alto-falantes dispostos em um plano horizontal único.
[000365] Cláusula 19C. Método da cláusula 1C, compreendendo ainda obter uma indicação de um número de canais especificados no fluxo de bits, em que a obtenção das camadas compreende obter as camadas do fluxo de bits com base na indicação do número de camadas e a indicação do número de canais.
[000366] Cláusula 20C. Método da cláusula 1C, compreendendo ainda obter uma indicação de um número de canais de primeiro plano especificados no fluxo de bits para pelo menos uma das camadas, em que a obtenção das camadas compreende obter os canais de primeiro plano para pelo menos uma das camadas do fluxo de bits baseado na indicação do número de canais de primeiro plano.
[000367] Cláusula 21C. Método da cláusula 1C, compreendendo ainda obter uma indicação de um número de canais de segundo plano especificados no fluxo de bits para pelo menos uma das camadas, em que a obtenção das camadas compreende obter os canais de segundo plano para pelo menos uma das camadas do fluxo de bits com base na indicação do número de canais de segundo plano.
[000368] Cláusula 22C. Método da cláusula 1C, compreendendo ainda analisar uma indicação de um n'mero de canais de primeiro plano especificados no fluxo de bits para pelo menos uma das camadas com base em um número de canais restantes no fluxo de bits após pelo menos uma das camadas ser obtida, em que a obtenção das camadas compreende obter os canais de primeiro plano de pelo menos uma das camadas com base na indicação do número de canais de primeiro plano.
[000369] Cláusula 23C. Método da cláusula 22C, em que o número de canais que resta no fluxo de bits após pelo menos uma das camadas ser obtida é representado por um elemento de sintaxe.
[000370] Cláusula 24C. Método da cláusula 1C, compreendendo ainda analisar uma indicação de um número de canais de segundo plano especificados no fluxo de bits para pelo menos uma das camadas com base em um número de canais após pelo menos uma das camadas ser obtida, em que a obtenção dos canais de segundo plano compreende obter os canais de segundo plano para pelo menos uma das camadas a partir do fluxo de bits com base na indicação do número de canais de segundo plano.
[000371] Cláusula 25C. Método da cláusula 24C, em que o número de canais que resta no fluxo de bits após pelo menos uma das camadas ser obtida é representado por um elemento de sintaxe.
[000372] Cláusula 26C. Método da cláusula 1C, em que as camadas do fluxo de bits compreendem uma camada base e uma camada de aperfeiçoamento, e em que o método compreende ainda aplicar uma transformada de correlação com relação a um ou mais canais da camada base para obter uma representação correlacionada de componentes de segundo plano do sinal de áudio ambisonic de ordem superior.
[000373] Cláusula 27C. Método da cláusula 26C, em que a transformada de correlação compreende uma transformada UHJ inversa.
[000374] Cláusula 28C. Método da cláusula 26C, em que a transformada de correlação compreende uma transformada de matriz de modo inverso.
[000375] Cláusula 29C. Método da cláusula 1C, em que um número de canais para cada das camadas do fluxo de bits é fixo.
[000376] Além disso, as técnicas podem permitir que um dispositivo seja configurado para, ou fornecer um aparelho compreendendo meio para executar, ou uma mídia legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores execute o método exposto nas seguintes cláusulas.
[000377] Cláusula 1D. Método de decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o método compreendendo obter, a partir do fluxo de bits, uma indicação de um número de canais especificados em uma ou mais camadas no fluxo de bits, e obter os canais especificados em uma ou mais camadas no fluxo de bits com base na indicação do número de canais.
[000378] Cláusula 2D. Método da cláusula 1D, compreendendo ainda obter uma indicação de um número total de canais especificados no fluxo de bits, e em que a obtenção dos canais compreende obter os canais especificados em uma ou mais camadas com base na indicação do número de canais especificados em uma ou mais camadas e a indicação do número total de canais.
[000379] Cláusula 3D. Método da cláusula 1D, compreendendo ainda obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, e em que a obtenção dos canais compreende obter um dos canais com base na indicação do número de canais e a indicação do tipo de um dos canais.
[000380] Cláusula 4D. Método da cláusula 1D, compreendendo ainda obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de primeiro plano, e em que a obtenção dos canais compreende obter um dos canais com base na indicação do número de canais e a indicação de que o tipo de um dos canais é o canal de primeiro plano.
[000381] Cláusula 5D. Método da cláusula 1D, compreendendo ainda obter uma indicação de um número de camadas especificadas no fluxo de bits, e em que a obtenção dos canais compreende obter um dos canais com base na indicação do número de canais e a indicação do número de camadas.
[000382] Cláusula 6D. Método da cláusula 5D, em que a indicação do número de camadas compreende uma indicação de um número de camadas em um quadro anterior do fluxo de bits, em que o método compreende ainda obter uma indicação de se o número de canais especificados em uma ou mais camadas no fluxo de bits mudou em um quadro atual quando comparado com um número de canais especificados em uma ou mais camadas no fluxo de bits do quadro anterior, e em que a obtenção dos canais compreende obter um dos canais com base na indicação de se o número de canais especificados em uma ou mais camadas no fluxo de bits mudou no quadro atual.
[000383] Cláusula 7D. Método da cláusula 5D, compreendendo ainda determinar o número de canais especificados em uma ou mais camadas do fluxo de bits no quadro atual como igual ao número de canais especificados em uma ou mais camadas do fluxo de bits no quadro anterior quando a indicação indica que o número de canais especificados em uma ou mais camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de canais especificados em uma ou mais camadas do fluxo de bits no quadro anterior.
[000384] Cláusula 8D. Método da cláusula 5D, em que um ou mais processadores são adicionalmente configurados para, quando a indicação indica que o número de canais especificados em uma ou mais camadas do fluxo de bits não mudou no quadro atual quando comparado com o número de canais especificados em uma ou mais camadas do fluxo de bits no quadro anterior, obter uma indicação de um número atual de canais em uma ou mais das camadas para o quadro atual como sendo igual a um número anterior de canais em uma ou mais das camadas do quadro anterior.
[000385] Cláusula 9D. Método da cláusula 1D, compreendendo ainda obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de segundo plano, em que a obtenção dos canais compreende obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de segundo plano.
[000386] Cláusula 10D. Método da cláusula 9D, compreendendo ainda obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, a indicação do tipo de um dos canais indicando que um dos canais é um canal de segundo plano, em que a obtenção dos canais compreende obter um dos canais com base na indicação do número de camadas e a indicação de que o tipo de um dos canais é o canal de segundo plano.
[000387] Cláusula 11D. Método da cláusula 9D, em que um dos canais compreende um coeficiente ambisonic de ordem superior de segundo plano.
[000388] Cláusula 12D. Método da cláusula 9D, em que a obtenção da indicação do tipo de um dos canais compreende obter um elemento de sintaxe indicativo do tipo de um dos canais.
[000389] Cláusula 13D. Método da cláusula 1D, em que a obtenção da indicação do número de canais compreende obter a indicação do número de canais com base em um número de canais que resta no fluxo de bits após uma das camadas ser obtida.
[000390] Cláusula 14D. Método da cláusula 1D, em que as camadas compreendem uma camada de base.
[000391] Cláusula 15D. Método da cláusula 1D, em que as camadas compreendem uma camada base e uma ou mais camadas de aperfeiçoamento.
[000392] Cláusula 16D. Método da cláusula 1D, em que um número de uma ou mais camadas é fixo.
[000393] As técnicas acima podem ser executadas com relação a qualquer número de contextos diferentes e ecossistemas de áudio. Um número de contextos de exemplo é descrito abaixo, embora as técnicas devam ser limitadas aos contextos de exemplo. Um ecossistema de áudio de exemplo pode incluir conteúdo de áudio, estúdios cinematográficos, estúdios de música, estúdios de áudio de jogos, conteúdo de áudio baseado em canal, motores de codificação, troncos de áudio de jogo, motores de renderização/codificação de áudio de jogo e sistemas de fornecimento.
[000394] Os estúdios cinematográficos, os estudos de música, e os estúdios de áudio de jogos podem receber conteúdo de áudio. Em alguns exemplos, o conteúdo de áudio pode representar a saída de uma aquisição. Os estúdios cinematográficos podem transmitir conteúdo de áudio baseado em canal (por exemplo, em 2.0, 5.1 e 7.1) como pelo uso de uma estação de trabalho de áudio digital (DAW). Os estúdios de música podem transmitir conteúdo de áudio baseado em canal (por exemplo, em 2.0 e 5.1) como pelo uso de um DAW. Em qualquer caso, os motores de codificação podem receber e codificar o conteúdo de áudio baseado em canal com base em um ou mais codecs (por exemplo, AAC, AC3, Dolby True HD, Dolby Digital Plus, e DTS Master áudio) para transmissão pelos sistemas de fornecimento. Os estúdios de áudio de jogos podem transmitir um ou mais troncos de áudio de jogos, como pelo uso de um DAW. Os motores de renderização / codificação de áudio de jogos podem codificar e ou renderizar os troncos de áudio em conteúdo de áudio baseado em canal para transmissão pelos sistemas de fornecimento. Outro contexto de exemplo no qual as técnicas podem ser executadas compreende um ecossistema de áudio que pode incluir objetos de áudio de gravação de broadcast, sistemas de áudio profissionais, captura em dispositivo de consumidor, formato de áudio HOA, renderização em dispositivo, áudio de consumidor, TV e acessórios e sistemas de áudio de carro.
[000395] Os objetos de áudio de gravação de broadcast, os sistemas de áudio profissionais, e a captura em dispositivo de consumidor podem todos codificar sua saída usando formato de áudio HOA. Desse modo, o conteúdo de áudio pode ser codificado usando o formato de áudio HOA em uma única representação que pode ser reproduzida usando a renderização em dispositivo, o áudio de consumidor, TV e acessórios e os sistemas de áudio de carro. Em outras palavras, a representação única do conteúdo de áudio pode ser reproduzida em um sistema de reprodução de áudio genérico (isto é, ao contrário de exigir uma configuração específica como 5.1, 7.1, etc.), como sistema de reprodução de áudio 16.
[000396] Outros exemplos de contexto nos quais as técnicas podem ser executadas incluem um ecossistema de áudio que pode incluir elementos de aquisição, e elementos de reprodução. Os elementos de aquisição podem incluir dispositivos de aquisição cabeados e/ou sem fio (por exemplo, microfones Eigen), captura de som surround em dispositivo, e dispositivos móveis (por exemplo,smartphones e tablets). Em alguns exemplos, dispositivos de aquisição cabeados e/ou sem fio podem ser acoplados a dispositivo móvel através de canal(is) de comunicação cabeado(s) e/ou sem fio.
[000397] De acordo com uma ou mais técnicas dessa revelação, o dispositivo móvel pode ser usado para adquirir um campo de som. Por exemplo, o dispositivo móvel pode adquirir um campo de som através de dispositivos de aquisição cabeados e/ou sem fixo e/ou a captura de som surround em dispositivo (por exemplo, uma pluralidade de microfones integrados no dispositivo móvel). O dispositivo móvel pode então codificar o campo de som adquirido nos coeficientes HOA para reprodução por um ou mais dos elementos de reprodução. Por exemplo, um usuário do dispositivo móvel pode gravar (adquirir um campo de som de) um evento ao vivo (por exemplo, uma reunião, uma conferência, uma peça, um concerto, etc.) e codificar a gravação em coeficientes HOA.
[000398] O dispositivo móvel pode também utilizar um ou mais dos elementos de reprodução para reproduzir o campo de som codificado em HOA. Por exemplo, o dispositivo móvel pode decodificar o campo de som codificado em HOA e transmitir um sinal para um ou mais dos elementos de reprodução que faz com que um ou mais dos elementos de reprodução recrie o campo de som. Como exemplo, o dispositivo móvel pode utilizar os canais de comunicação sem fio e/ou sem fio para transmitir o sinal para um ou mais alto-falantes (por exemplo, conjuntos de alto-falantes, barramentos de som, etc.). Como outro exemplo, o dispositivo móvel pode utilizar soluções de acoplamento para transmitir o sinal para uma ou mais estações de acoplamento e/ou um ou mais alto-falantes acoplados (por exemplo, sistemas de som em carros e/ou casas lares inteligentes). Como outro exemplo, o dispositivo móvel pode utilizar renderização de fone de ouvido para transmitir o sinal para um conjunto de fones de ouvido, por exemplo, para criar som binaural realista.
[000399] Em alguns exemplos, um dispositivo móvel específico pode tanto adquirir um campo de som 3D e reproduzir o mesmo campo de som 3D em um momento posterior. Em alguns exemplos, o dispositivo móvel pode adquirir um campo de som 3D, codificar o campo de som 3D em HOA, e transmitir o campo de som 3D codificado para um ou mais outros dispositivos (por exemplo, outros dispositivos móveis e/ou outros dispositivos não móveis) para reprodução.
[000400] Ainda outro contexto no qual as técnicas podem ser realizadas inclui um ecossistema de áudio que pode incluir conteúdo de áudio, estúdios de jogos, conteúdo de áudio codificado, motores de renderização e sistemas de fornecimento. Em alguns exemplos, os estúdios de jogos podem incluir um ou mais DAWs que podem suportar edição de sinais HOA. Por exemplo, um ou mais DAWs podem incluir plugins HOA e/ou ferramentas que podem ser configuradas para operar com (por exemplo, trabalhar com) um ou mais sistemas de áudio de jogo. Em alguns exemplos, os estúdios de jogos podem transmitir novos formatos de stem que suportam HOA. Em qualquer caso, os estúdios de jogos podem transmitir conteúdo de áudio codificado para os motores de renderização que podem renderizar um campo de som para reprodução pelos sistemas de fornecimento.
[000401] As técnicas podem ser também executadas com relação a dispositivos de aquisição de áudio exemplificadores. Por exemplo, as técnicas podem ser realizadas com relação a um microfone Eigen que pode incluir uma pluralidade de microfones que são coletivamente configurados para gravar um campo de som 3D. Em alguns exemplos, a pluralidade de microfones de microfone Eigen pode ser localizada na superfície de uma bola substancialmente esférica com um raio de aproximadamente 4 cm. Em alguns exemplos, o dispositivo de codificação de áudio 20 pode ser integrado no microfone Eigen de modo a transmitir um fluxo de bits 21 diretamente a partir do microfone.
[000402] Outro contexto de aquisição de áudio exemplar pode incluir um caminhão de produção que pode ser configurado para receber um sinal a partir de um ou mais microfones como um ou mais microfones Eigen. O caminhão de produção pode incluir também um codificador de áudio, como codificador de áudio 20 da figura 3.
[000403] O dispositivo móvel pode também, em algumas instâncias, incluir uma pluralidade de microfones que são coletivamente configurados para gravar um campo de som 3D. Em outras palavras, a pluralidade de microfones pode ter diversidade X, Y, Z. em alguns exemplos, o dispositivo móvel pode incluir um microfone que pode ser girado para fornecer diversidade X, Y, Z com relação a um ou mais outros microfones do dispositivo móvel. O dispositivo móvel também pode incluir um codificador de áudio, como codificador de áudio 20 da figura 3.
[000404] Um dispositivo de captura de áudio de vídeo reforçado pode ser adicionalmente configurado para gravar um campo de som 3D. Em alguns exemplos, o dispositivo de captura de vídeo reforçado pode ser fixado em um capacete de um usuário envolvido em uma atividade.Por exemplo, o dispositivo de captura de vídeo reforçado pode ser fixado em um capacete de um usuário de rafting em águas claras. Desse modo, o dispositivo de captura de vídeo reforçado pode capturar um campo de som 3D que representa a ação em volta do usuário (por exemplo, a água batendo atrás do usuário, outro rafter falando na frente do usuário, etc..).
[000405] As técnicas podem ser também executadas com relação a um dispositivo móvel aperfeiçoado acessório, que pode ser configurado para gravar um campo de som 3D. Em alguns exemplos, o dispositivo móvel pode ser similar aos dispositivos móveis discutidos acima, com a adição de um ou mais acessórios. Por exemplo, um microfone Eigen pode ser ligado ao dispositivo móvel acima mencionado para formar um dispositivo móvel aperfeiçoado acessório. Desse modo, o dispositivo móvel aperfeiçoado acessório pode capturar uma versão de qualidade superior do campo de som 3D do que apenas usar componentes de captura de som integrais com o dispositivo móvel aperfeiçoado acessório.
[000406] Dispositivos de reprodução de áudio de exemplo que podem executar vários aspectos das técnicas descritas nessa revelação são adicionalmente discutidos abaixo. De acordo com uma ou mais técnicas dessa revelação, alto-falantes e/ou barramentos de som podem ser dispostos em qualquer configuração arbitrária enquanto ainda reproduz um campo de som 3D. Além disso, em alguns exemplos, dispositivos de reprodução de fone de ouvido podem ser acoplados a um decodificador 24 através de uma conexão cabeada ou sem fio. De acordo com uma ou mais técnicas dessa revelação, uma representação genérica única de um campo de som pode ser utilizada para renderizar o campo de som em qualquer combinação dos alto-falantes, os barramentos de som e os dispositivos de reprodução de fone de ouvido.
[000407] Um número de ambientes de reprodução de áudio de exemplo diferentes também pode ser adequado para executar vários aspectos das técnicas descritas nessa revelação. Por exemplo, um ambiente de reprodução de alto- falante 5.1, um ambiente de reprodução de alto-falante 2.0 (por exemplo, estéreo), um ambiente de reprodução de alto- falante 9.1 com altura total de alto-falantes, um ambiente de reprodução de alto-falante 22.2, um ambiente de reprodução de alto-falante 16.0, um ambiente de reprodução de alto-falante automotivo, e um dispositivo móvel com ambiente de reprodução de auricular podem ser ambientes adequados para executar vários aspectos das técnicas descritas nessa revelação.
[000408] De acordo com uma ou mais técnicas dessa revelação, uma representação genérica única de um campo de som pode ser utilizada para renderizar o campo de som em qualquer um dos ambientes de reprodução acima. Adicionalmente, as técnicas dessa revelação permitem que um renderizador renderize um campo de som a partir de uma representação genérica para reprodução nos ambientes de reprodução diferentes daquele descrito acima. Por exemplo, se considerações de design proíbem colocação adequada de alto-falantes de acordo com um ambiente de reprodução de alto-falante 7.1 (por exemplo, se não for possível colocar um alto-falante surround certo), as técnicas dessa revelação permitem uma renderização para compensar com os outros 6 alto-falantes de modo que a reprodução possa ser obtida em um ambiente de reprodução de alto-falante 6.1.
[000409] Além disso, um usuário pode assistir um jogo de esportes enquanto usa fones de ouvido. De acordo com uma ou mais técnicas dessa revelação, o campo de som 3D do jogo de esportes pode ser adquirido (por exemplo, um ou mais microfones Eigen podem ser colocados em e/ou em torno do estádio de beisebol), coeficientes HOA correspondendo ao campo de som 3D podem ser obtidos e transmitidos para um decodificador, o decodificador pode reconstruir o campo de som 3D com base nos coeficientes HOA e transmitir o campo de som 3D reconstruído para um renderizador, o renderizador pode obter uma indicação com relação ao tipo de ambiente de reprodução (por exemplo, fones de ouvido), e renderizar o campo de som 3D reconstruído em sinais que fazem com que os fontes de ouvido transmitam uma representação do campo de som 3D do jogo de esportes.
[000410] Em cada das várias instâncias descritas acima, deve ser entendido que o dispositivo de codificação de áudio 20 pode executar um método ou de outro modo compreender meio para executar cada etapa do método para o qual o dispositivo de codificação de áudio 20 é configurado para executar. Em algumas instâncias, o meio pode compreender um ou mais processadores. Em algumas instâncias, um ou mais processadores podem representar um processador de propósito especial configurado por meio de instruções armazenadas em uma mídia de armazenagem legível em computador não transitória. Em outras palavras, vários aspectos das técnicas em cada dos conjuntos de exemplos de codificação podem fornecer uma mídia de armazenagem legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores executem o método para o qual o dispositivo de codificação de áudio 20 foi configurado para executar.
[000411] Em um ou mais exemplos, as funções descritas podem ser implementadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implementado em software, as funções podem ser armazenadas em ou transmitidas através como uma ou mais instruções ou código em uma mídia legível em computador e executadas por uma unidade de processamento baseado em hardware. Mídia legível em computador pode incluir mídia de armazenagem legível em computador, que corresponde a uma mídia tangível como mídia de armazenagem de dados. Mídia de armazenagem de dados pode ser qualquer mídia disponível que pode ser acessada por um ou mais computadores ou um ou mais processadores para recuperar instruções código e/ou estruturas de dados para implementação das técnicas descritas nessa revelação. Um produto de programa de computador pode incluir uma mídia legível em computador.
[000412] De modo semelhante, em cada das várias instâncias descritas acima, deve ser entendido que o dispositivo de decodificação de áudio 24 pode executar um método ou de outro modo compreender meio para executar cada etapa do método para o qual o dispositivo de decodificação de áudio 24 é configurado para executar. Em algumas instâncias, o meio pode compreender um ou mais processadores. Em algumas instâncias, um ou mais processadores podem representar um processador de propósito especial configurado por meio de instrução armazenada em uma mídia de armazenagem legível em computador não transitória. Em outras palavras, vários aspectos das técnicas em cada dos conjuntos de exemplos de codificação podem fornecer uma mídia de armazenagem legível em computador não transitória tendo armazenado na mesma instruções que, quando executadas, fazem com que um ou mais processadores execute o método para o qual o dispositivo de decodificação de áudio 24 foi configurado para executar.
[000413] Como exemplo, e não limitação, tal mídia de armazenagem legível em computador pode compreender RAM, ROM EEPROM, CD-ROM ou outra armazenagem de disco ótico, armazenagem de disco magnético, ou outros dispositivos de armazenagem magnética, memória flash, ou qualquer outra mídia que possa ser usada para armazenar código de programa desejado na forma de instruções ou estruturas de dados e que possa ser acessada por um computador. Deve ser entendido, entretanto, que mídia de armazenagem legível em computador e mídia de armazenagem de dados não incluem conexões, ondas portadoras, sinais, ou outra mídia transitória, porém são ao invés dirigidas a mídia de armazenagem tangível não transitória. Disk e disco, como usado aqui, inclui compact disc (CD), disco laser, disco ótico, digital versatile disc (DD), disco flexível e disco Blu-ray, onde disks normalmente reproduzem dados magneticamente, enquanto discos reproduzem dados opticamente com lasers. Combinações do acima devem ser também incluídas no escopo de mídia legível em computador.
[000414] Instruções podem ser executadas por um ou mais processadores, como um ou mais processadores de sinais digitais (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), disposições lógicas programáveis em campo (FPGAs), ou outro conjunto de circuitos de lógica discreta ou integrada equivalente. Por conseguinte, o termo “processador” como usado aqui pode se referir a qualquer da estrutura acima ou qualquer outra estrutura adequada para implementação das técnicas descritas aqui. Além disso, em alguns aspectos, a funcionalidade descrita aqui pode ser fornecida nos módulos de hardware e/ou software dedicados configurados para codificar e decodificar, ou incorporados em um codec combinado. Também, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos de lógica.
[000415] As técnicas dessa revelação podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um aparelho telefônico sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos nessa revelação para enfatizar aspectos funcionais de dispositivos configurados para executar as técnicas reveladas, porém não exigem necessariamente a realização por unidades de hardware diferentes. Ao invés, como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware Inter operativas, incluindo um ou mais processadores como descrito acima, em combinação com software e/ou firmware adequado.
[000416] Vários aspectos das técnicas foram descritos. Esses e outros aspectos das técnicas estão compreendidas no escopo das reivindicações a seguir.

Claims (15)

1. Dispositivo configurado para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o fluxo compreendendo uma pluralidade de camadas hierárquicas incluindo uma camada base e uma ou mais camadas de aprimoramento, o dispositivo sendo caracterizado pelo fato de que compreende: uma memória configurada para armazenar o fluxo de bits representativo do sinal de áudio ambisonic de ordem superior; e um ou mais processadores configurados para: obter, a partir do fluxo de bits (21), uma, indicação de um número total de canais (59A-D, 61A-B) especificados no fluxo de bits; obter, a partir do fluxo de bits, uma indicação de um número de canais especificados em cada camada dentre a pluralidade de camadas no fluxo de bits; obter, a partir do fluxo de bits, para cada camada da pluralidade de camadas, uma indicação do tipo de cada canal especificado na camada, a indicação do tipo de canal indicando se o canal é um canal frontal ou um canal posterior; e obter os canais especificados nas camadas no fluxo de bits com base na indicação do número de canais especificados em cada uma das camadas e a indicação para cada canal do tipo de canal e a indicação do número total de canais especificados no fluxo de bits, em que as camadas são hierárquicas de forma que a camada base é decodável independentemente das uma ou mais camadas de aprimoramento, para forneceruma primeira representação do sinal de áudio ambisonic de ordem superior, e as uma ou mais camadas de aprimoramento contêm mais dados de áudio ambisonic de ordem superior, quando decodadas em combinação com a camada base, fornecendo uma resolução de representação superior do sinal áudio ambisonic de ordem superior, em que os canais são canais de transporte ambisonic de ordem superior.
2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que: os um ou mais processadores são adicionalmente configurados para obter uma indicação de um tipo de um dos canais especificados em uma ou mais camadas no fluxo de bits, e os processadores são configurados para obter o canal dentre os canais com base na indicação do número de canais especificados em cada uma das camadas, na indicação do número total de canais especificados no fluxo de bits e na indicação do número de camadas.
3. Dispositivo, de acordo com a reivindicação 2, onde a indicação do número de camadas compreende uma indicação de um número de camadas em um quadro anterior do fluxo de bits, caracterizado pelo fato de que: os um ou mais processadores são adicionalmente configurados para obter uma indicação se o número de canais especificados em camadas no fluxo de bits tem mudado num quadro atual quando comparado com um número de canais especificados em camadas no fluxo de bits do quadro anterior, onde os um ou mais processadores são adicionalmente configurados para obter uma indicação se o número de canais especificados em camadas no fluxo de bits tem mudado num quadro atual quando comparado com um número de canais especificados em camadas no fluxo de bits do quadro anterior, e onde os processadores são configurados para obter o canal com base na indicação se o número de canais especificados em camadas no fluxo de bits tem mudado no quadro atual.
4. Dispositivo, de acordo com a reivindicação 2, caracterizado pelo fato de que: os processadores são adicionalmente configurados para determinar o número de canais especificados nas camadas do fluxo de bits no quadro anterior quando a indicação indica que o número de canais especificados nas camadas do fluxo de bits não tem mudado no quadro atual quando comparado com o número de canais especificados nas camadas do fluxo de bits no quadro anterior.
5. Dispositivo, de acordo com a reivindicação 2, caracterizado pelo fato de que, quando a indicação indica que o número de canais especificados nas camadas do fluxo de bits não tem mudado no quadro atual quando comparado com o número de canais especificados nas camadas do fluxo de bits no quadro anterior, então receber uma indicação de um número atual de canais em uma ou mais das camadas para o quadro atual para ser o mesmo que um número anterior de canais em uma ou mais das camadas do quadro anterior.
6. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente um alto-falante configurado para reproduzir um campo de som com base no sinal de áudio ambisonic de ordem superior.
7. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que é um do grupo telefone celular, computador tablet, set-top box e computador de mesa.
8. Método para decodificar um fluxo de bits representativo de um sinal de áudio ambisonic de ordem superior, o fluxo de bits compreendendo uma pluralidade de camadas hierárquicas incluindo uma camada base e uma ou mais camadas de aprimoramento, o método caracterizado pelo fato de que compreende: obter, a partir do fluxo de bits (21) representativo do sinal de áudio ambisonic de ordem superior, uma indicação de um número total de canais (59A- D, 61A-B) especificados no fluxo de bits; obter, a partir do fluxo de bits, uma indicação de um número de canais especificados em cada camada da pluralidade de camadas no fluxo de bits; e obter, a partir do fluxo de bits, para cada camada da pluralidade de camadas, uma indicação do tipo de cada canal especificado na camada, a indicação do tipo de canal que indica se o canal é um canal frontal ou um canal posterior; e obter os canais especificados nas camadas no fluxo de bits com base na indicação do número de canais especificados em cada uma das camadas e a indicação para cada canal do tipo de canal e a indicação do número total de canais especificados no fluxo de bits, em que as camadas são hierárquicas de forma que a camada base é decodável independentemente das uma ou mais camadas de aprimoramento, para forneceruma uma primeira representação do sinal de áudio ambisonic de ordem superior, e as uma ou mais camadas de aprimoramento contêm mais dados de áudio ambisonic de ordem superior, quando decodadas em combinação com a camada base, fornecer uma resolução de representação superior do sinal áudio ambisonic de ordem superior, em que os canais são canais de transporte ambisonic de ordem superior.
9. Memória legível por computador, caracterizada pelo fato de que possui instruções nela armazenadas que, quando executadas, fazem com que um computador realize o método conforme definido na reivindicação 8.
10. Dispositivo configurado para codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits, o fluxo de bits compreendendo uma pluralidade de camadas hierárquicas inluindo a camada base e uma ou mais camadas de aprimoramento, o dispositivo sendo caracterizado pelo fato de que compreende: um ou mais processadores configurados para: especificar, no fluxo de bits (21) representativo do sinal de áudio ambisonic de ordem superior, uma indicação de um número total de canais (59A- D, 61A-B) especificados no fluxo de bits; especificar, no fluxo de bits, uma indicação de um número de canais especificados em cada uma das camadas no fluxo de bits; especificar, a partir do fluxo de bits, para cada camada da pluralidade de camadas, uma indicação do tipo de cada canal especificado na camada, a indicação do tipo de canal que indica se o canal é um canal frontal ou um canal posterior; e especificar o número total indicado de camadas no fluxo de bits de tal maneira que cada uma das camadas adicionais compreenda o número indicado de canais, e uma memória configurada para salvar o fluxo de bits, em que as camadas são hierárquicas de forma que a camada base é decodável independentemente das uma ou mais camadas de aprimoramento, para fornecer uma primeira representação do sinal de áudio ambisonic de ordem superior, e as uma ou mais camadas de aprimoramento contêm mais dados de áudio ambisonic de ordem superior, quando decodadas em combinação com a camada base, fornecer uma resolução de representação superior do sinal áudio ambisonic de ordem superior, em que os canais são canais de transporte ambisonic de ordem superior.
11. Dispositivo de acordo com a reivindicação 10, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para especificar uma indicação no fluxo de bits de um número de camadas especificadas no fluxo de bits.
12. Dispositivo de acordo com a reivindicação 10, caracterizado pelo fato de que adicionalmente compreende um microfone configurado para captar o sinal áudio ambisonic de ordem superior.
13. Dispositivo de acordo com a reivindicação 10, caracterizado pelo fato de que o dispositivo é um do grupo telefone celular, computador tablet e computador de mesa.
14. Método para codificar um sinal de áudio ambisonic de ordem superior para gerar um fluxo de bits, o fluxo de bits compreendendo uma pluralidade de camadas hierárquicas incluindo a camada base e uma ou mais camadas de aprimoramente, o método sendo caracterizado pelo fato de que compreende: especificar, no fluxo de bits (21) representativo do sinal de áudio ambisonic de ordem superior, uma indicação de um número total de canais (59A-D, 61A-B) especificados no fluxo de bits; especificar, no fluxo de bits, uma indicação de um número de canais especificados em cada uma das camadas do fluxo de bits; especificar a partir do fluxo de bits, para cada camada da pluralidade de camadas, uma indicação do tipo de cada canal especificado na camada, a indicação do tipo de canal indicando se o canal é um canal frontal ou um canal posterior; e especificar o número total indicado de camadas no fluxo de bits de tal maneira que cada uma das camadas adicionais compreenda o número indicado de canais, em que as camadas são hierárquicas de forma que a camada base é decodável independentemente das uma ou mais camadas de aprimoramento, para fornecer uma primeira representação do sinal de áudio ambisonic de ordem superior, e as uma ou mais camadas de aprimoramento contêm mais dados de áudio ambisonic de ordem superior, quando decodadas em combinação com a camada base, fornecer uma resolução de representação superior do sinal áudio ambisonic de ordem superior, em que os canais são canais de transporte ambisonic de ordem superior.
15. Memória legível por computador, caracterizada pelo fato de que possui instruções nela armazenadas que, quando executadas, fazem com que um computador realize o método conforme definido na reivindicação 14.
BR112017007153-3A 2014-12-03 2015-10-09 Canais de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior BR112017007153B1 (pt)

Applications Claiming Priority (15)

Application Number Priority Date Filing Date Title
US201462062584P 2014-10-10 2014-10-10
US201462084461P 2014-11-25 2014-11-25
US201462087209P 2014-12-03 2014-12-03
US62/087,209 2014-12-03
US201462088445P 2014-12-05 2014-12-05
US62/088,445 2014-12-05
US201562145960P 2015-04-10 2015-04-10
US62/145,960 2015-04-10
US201562175185P 2015-06-12 2015-06-12
US201562187799P 2015-07-01 2015-07-01
US62/187,799 2015-07-01
US201562209764P 2015-08-25 2015-08-25
US14/878,729 2015-10-08
US14/878,729 US9984693B2 (en) 2014-10-10 2015-10-08 Signaling channels for scalable coding of higher order ambisonic audio data
PCT/US2015/054951 WO2016057926A1 (en) 2014-10-10 2015-10-09 Signaling channels for scalable coding of higher order ambisonic audio data

Publications (2)

Publication Number Publication Date
BR112017007153A2 BR112017007153A2 (pt) 2017-12-19
BR112017007153B1 true BR112017007153B1 (pt) 2023-08-22

Family

ID=

Similar Documents

Publication Publication Date Title
US11138983B2 (en) Signaling layers for scalable coding of higher order ambisonic audio data
RU2741763C2 (ru) Уменьшение корреляции между фоновыми каналами амбиофонии высшего порядка (ноа)
AU2015330759B2 (en) Signaling channels for scalable coding of higher order ambisonic audio data
KR101723332B1 (ko) 회전된 고차 앰비소닉스의 바이노럴화
BR112016017283B1 (pt) Codificação de quadros independentes de coeficientes ambissônicos de ordem mais elevada ambiente
BR112016026812B1 (pt) Dispositivo configurado para decodificar dados de áudio indicativos de uma pluralidade de coeficientes ambissônicos de ordem superior (hoa), método para decodificar dados de áudio indicativos de uma pluralidade de coeficientes hoa e método para codificar dados de áudio
BR112017007153B1 (pt) Canais de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior
BR112017007287B1 (pt) Camadas de sinalização para codificação escalonável de dados de áudio ambisonic de ordem superior