BR112016026724B1 - Vetores de codificação decompostos a partir de sinais de áudio ambissônicos de ordem mais alta - Google Patents

Vetores de codificação decompostos a partir de sinais de áudio ambissônicos de ordem mais alta Download PDF

Info

Publication number
BR112016026724B1
BR112016026724B1 BR112016026724-9A BR112016026724A BR112016026724B1 BR 112016026724 B1 BR112016026724 B1 BR 112016026724B1 BR 112016026724 A BR112016026724 A BR 112016026724A BR 112016026724 B1 BR112016026724 B1 BR 112016026724B1
Authority
BR
Brazil
Prior art keywords
vector
vectors
codevectors
unit
audio
Prior art date
Application number
BR112016026724-9A
Other languages
English (en)
Other versions
BR112016026724A2 (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
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112016026724A2 publication Critical patent/BR112016026724A2/pt
Publication of BR112016026724B1 publication Critical patent/BR112016026724B1/pt

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks

Landscapes

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

Abstract

VETORES DE CODIFICAÇÃO DECOMPOSTOS A PARTIR DE SINAIS DE ÁUDIO AMBISSÔNICOS DE ORDEM MAIS ALTA Trata-se, em geral, de técnicas para a codificação de vetores decompostos a partir de coeficientes ambissônicos de ordem mais alta. Um dispositivo que compreende um processador e uma memória pode realizar as técnicas. O processador pode ser configurado para obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído em uma versão decomposta da pluralidade de coeficientes de HOA. Cada um dos valores de peso pode corresponder a um respectivo peso dentre uma pluralidade de pesos em uma soma ponderada de vetores de código que representam o vetor e que incluem um conjunto de vetores de código. O processador pode ser adicionalmente configurado para reconstruir o vetor com base nos valores de peso e nos vetores de código. A memória pode ser configurada para armazenar o vetor reconstruído.

Description

[0001] Este pedido reivindica o benefício dos seguintes Pedidos Provisórios nos U.S.:
[0002] Pedido Provisório no U.S. 61/994.794, depositado em 16 de maio de 2014, intitulado "CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0003] Pedido Provisório no U.S. 62/004.128, depositado em quarta-feira, 28 de maio de 2014, intitulado "CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0004] Pedido Provisório no U.S. 62/019.663, depositado em terça-feira, 1 de julho de 2014, intitulado "CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0005] Pedido Provisório no U.S. 62/027.702, depositado em terça-feira, 22 de julho de 2014, intitulado "CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0006] Pedido Provisório no U.S. 62/028.282, depositado em quarta-feira, 23 de julho de 2014, intitulado "CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0007] Pedido Provisório no U.S. 62/032.440, depositado em sexta-feira, 1 de agosto de 2014, intitulado "CODING V-VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HO A) AUDIO SIGNAL”;
[0008] em que cada dentre os Pedidos Provisórios nos U.S. está incorporado a título de referência como se apresentados em sua respectiva totalidade no presente documento.
CAMPO DA TÉCNICA
[0009] Esta revelação se refere a dados de áudio e, mais especificamente, à codificação de dados de áudio ambissônicos de ordem mais alta.
ANTECEDENTES
[0010] Um sinal de ambissônicos 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 sonoro. A representação HOA ou SHC pode representar o campo sonoro de uma forma que é independente da geometria da caixa acústica local usada para reproduzir um sinal de áudio de múltiplos canais renderizado a partir do sinal de SHC. O sinal de SHC também pode facilitar a compatibilidade com versões anteriores à medida que o sinal de SHC pode ser renderizado para formatos de múltiplos canais bem conhecidos e altamente adotados, tal como um formato de canal de áudio 5.1 ou um formato de canal de áudio 7.1. A representação de SHC pode permitir, portanto, uma representação melhor de um campo sonoro que também acomoda a compatibilidade com versões anteriores.
SUMÁRIO
[0011] Em geral, técnicas são descritas para representar eficientemente vetores V (os quais podem representar informações espaciais, tais como largura, formato, direção e localização, de um objeto de áudio associado) de um sinal de áudio de ambissônicos de ordem maior (HOA) decompostos com base em um conjunto de vetores de código. As técnicas podem envolver decompor o vetor V em uma soma ponderada de vetores de código, selecionar um subconjunto de uma pluralidade de pesos e vetores de código correspondentes, quantizar o subconjunto selecionado dos pesos e indexar o subconjunto selecionado de vetores de código. As técnicas podem fornecer taxas de bits aperfeiçoadas para codificar sinais de áudio de HOA.
[0012] Em um aspecto, um método para obter uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que o método compreende obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído na versão decomposta da pluralidade de coeficientes de HOA. Cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor que inclui um conjunto de vetores de código. O método compreende adicionalmente reconstruir o vetor com base nos valores de peso e os vetores de código.
[0013] Em outro aspecto, um dispositivo configurado para obter uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que o dispositivo compreende um ou mais processadores configurados para obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído em uma versão decomposta da pluralidade de coeficientes de HOA. Cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor e que inclui um conjunto de vetores de código. Os um ou mais processadores adicionalmente configurados para reconstruir o vetor com base nos valores de peso e nos vetores de código. O dispositivo também compreende uma memória configurada para armazenar o vetor reconstruído.
[0014] Em outro aspecto, um dispositivo configurado para obter uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que o dispositivo compreende meios para obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído na versão decomposta da pluralidade de coeficientes de HOA, em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor que inclui um conjunto de vetores de código e meios para reconstruir o vetor com base nos valores de peso e nos vetores de código.
[0015] Em outro aspecto, um meio de armazenamento legível por computador não transitório tem armazenado no mesmo instruções que, quando executadas, fazem com que um ou mais processadores obtenham, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído na versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor que inclui um conjunto de vetores de código, e reconstruam o vetor com base nos valores de peso e nos vetores de código.
[0016] Em outro aspecto, um método compreende determinar, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0017] Em outro aspecto, um dispositivo compreende uma memória configurada para armazenar um conjunto de vetores de código e um ou mais processadores configurados para determinar, com base no conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0018] Em outro aspecto, um aparelho compreende meios para realizar uma decomposição em relação a uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA) para gerar uma versão decomposta dos coeficientes de HOA. O aparelho compreende adicionalmente meios para determinar, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído na versão decomposta dos coeficientes de HOA, em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos incluídos em um a soma ponderada dos vetores de código que representa o vetor. Em outro aspecto, um meio de armazenamento legível por computador não transitório tem armazenado no mesmo instruções que, quando executadas, fazem com que um ou mais processadores determinem, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0019] Em outro aspecto, um método para decodificar dados de áudio indicativos de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), o método compreende determinar a possibilidade de realizar a desquantização vetorial ou a desquantização escalar em relação a uma versão decomposta da pluralidade de coeficientes de HOA.
[0020] Em outro aspecto, um dispositivo configurado para decodificar dados de áudio indicativos de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA), em que o dispositivo compreende uma memória configurada para armazenar os dados de áudio, e um ou mais processadores configurados para determinar a possibilidade de realizar desquantização vetorial ou desquantização escalar em relação a uma versão decomposta da pluralidade de coeficientes de HOA.
[0021] Em outro aspecto, um método para criptar dados de áudio, em que o método compreende determinar a possibilidade de realizar quantização vetorial ou quantização escalar em relação a uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA).
[0022] Em outro aspecto, um método para decodificar dados de áudio, em que o método compreende selecionar um dentre uma pluralidade de livros de código para usar quando se realizar desquantização vetorial em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0023] Em outro aspecto, um dispositivo compreende uma memória configurada para armazenar uma pluralidade de livros de código para usar quando se realiza desquantização vetorial em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta, e um ou mais processadores configurados para selecionar um dentre a pluralidade de livros de código.
[0024] Em outro aspecto, um dispositivo compreende meios para armazenar uma pluralidade de livros de código para usar quando se realiza desquantização vetorial em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta, e meios para selecionar um dentre a pluralidade de livros de código.
[0025] Em outro aspecto, um meio de armazenamento legível por computador não transitório tem armazenado no mesmo instruções que, quando executadas, fazem com que um ou mais processadores selecionam um dentre uma pluralidade de livros de código para usar quando se realiza desquantização vetorial em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial é obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0026] Em outro aspecto, um método para criptar dados de áudio, em que o método compreende selecionar um dentre uma pluralidade de livros de código para usar quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0027] Em outro aspecto, um dispositivo compreende uma memória configurada para armazenar uma pluralidade de livros de código para usar quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta. O dispositivo também compreende um ou mais processadores configurados para selecionar um dentre uma pluralidade de livros de código.
[0028] Em outro aspecto, um dispositivo compreende meios para armazenar uma pluralidade de livros de código para usar quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma síntese com base em vetor a uma pluralidade de coeficientes ambissônicos de ordem mais alta, e meios para selecionar um dentre a pluralidade de livros de código.
[0029] Em outro aspecto, um meio de armazenamento legível por computador não transitório tem armazenado no mesmo instruções que, quando executadas, fazem com que um ou mais processadores selecionem um dentre uma pluralidade de livros de código para usar quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma síntese com base em vetor a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0030] Os detalhes da um ou mais aspectos das técnicas são apresentados nos desenhos anexos e na descrição abaixo. Outros recursos, objetivos e vantagens das técnicas ficarão evidentes a partir da descrição e dos desenhos, bem como a partir das reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0031] A Figura 1 é um diagrama que ilustra funções de base harmônicas esféricas de diversas ordens e subordens.
[0032] A Figura 2 é um diagrama que ilustra um sistema que pode realizar diversos aspectos das técnicas descritas nesta revelação.
[0033] As Figuras 3A e 3B são diagramas em blocos que ilustram, em mais detalhes, diferentes exemplos do dispositivo de criptação de áudio mostrado no exemplo da Figura 2 que pode realizar diversos aspectos das técnicas descritas nesta revelação.
[0034] As Figuras 4A e 4B são diagramas em blocos que ilustram versões diferentes do dispositivo de decodificação de áudio da Figura 2 em mais detalhes.
[0035] A Figura A Figura 5 é um fluxograma que ilustra uma operação exemplificativa de um dispositivo de criptação de áudio no desempenho de diversos aspectos das técnicas de síntese com base em vetor descritas nesta revelação.
[0036] A Figura 6 é um fluxograma que ilustra a operação exemplificativa de um dispositivo de decodificação de áudio no desempenho de diversos aspectos das técnicas descritas nesta revelação.
[0037] As Figuras 7 e 8 são diagramas que ilustram versões diferentes da unidade de codificação de vetor V do dispositivo de criptação de áudio da Figura 3A ou da Figura 3B em mais detalhes.
[0038] A Figura 9 é um diagrama conceitual que ilustra um campo sonoro gerado a partir de um vetor V.
[0039] A Figura 10 é um diagrama conceitual que ilustra um campo sonoro gerado a partir de um modelo de 25a ordem do vetor V.
[0040] A Figura 11 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 25a ordem mostrado na Figura 10.
[0041] A Figura 12 é um diagrama conceitual que ilustra um modelo de 5a ordem do vetor V descrito acima em relação à Figura 9.
[0042] A Figura 13 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 5a ordem mostrado na Figura 12.
[0043] A Figura 14 é um diagrama conceitual que ilustra dimensões exemplificativas de matrizes exemplificativas usadas para realizar a decomposição de valor singular.
[0044] A Figura 15 é um gráfico que ilustra aperfeiçoamentos de desempenho exemplificativos que podem ser obtidos usando-se as técnicas de codificação de vetor V desta revelação.
[0045] A Figura 16 é diversos diagramas que mostram um exemplo da codificação de vetor V quando realizada de acordo com as técnicas descritas nesta revelação.
[0046] A Figura 17 é um diagrama conceitual que ilustra uma decomposição com base em vetor de código exemplificativa de um vetor V de acordo com esta revelação.
[0047] A Figura 18 é um diagrama que ilustra formas diferentes pelas quais os 16 vetores de código diferentes podem ser empregados pela unidade de codificação de vetor V mostrada no exemplo de uma ou de ambas as Figuras 10 e 11.
[0048] As Figuras 19A e 19B são diagramas que ilustram livros de código com 256 fileiras, em que cada fileira tem 10 valores e 16 valores, respectivamente, que podem ser usados de acordo com diversos aspectos das técnicas descritas nesta revelação.
[0049] A Figura 20 é um diagrama que ilustra um gráfico exemplificativo que mostra um erro limítrofe usado para selecionar X* número de vetores de código de acordo com diversos aspectos das técnicas descritas nesta revelação.
[0050] A Figura 21 é um diagrama em blocos que ilustra uma unidade de quantização vetorial exemplificativa 520 de acordo com esta revelação.
[0051] As Figuras 22, 24 e 26 são fluxogramas que ilustram uma operação exemplificativa da unidade de quantização vetorial ao realizar diversos aspectos das técnicas descritas nesta revelação.
[0052] As Figuras 23, 25 e 27 são fluxogramas que ilustram uma operação exemplificativa da unidade de reconstrução de vetor V ao realizar diversos aspectos das técnicas descritas nesta revelação.
DESCRIÇÃO DETALHADA
[0053] Em geral, técnicas são descritas para representar eficientemente vetores V (os quais podem representar informações espaciais, tais como largura, formato, direção e localização, de um objeto de áudio associado) de um sinal de áudio de ambissônicos de ordem maior (HOA) decompostos com base em um conjunto de vetores de código. As técnicas podem envolver decompor o vetor V em uma soma ponderada de vetores de código, selecionar um subconjunto de uma pluralidade de pesos e vetores de código correspondentes, quantizar o subconjunto selecionado dos pesos e indexar o subconjunto selecionado de vetores de código. As técnicas podem fornecer taxas de bits aperfeiçoadas para codificar sinais de áudio de HOA.
[0054] A evolução do som surround disponibilizou muitos formatos de saída para o entretenimento hoje em dia. Exemplos de tais formatos de som surround para consumidor são, em sua maioria, um “canal” com base no fato de que os mesmos especificam implicitamente alimentações para os alto-falantes em determinadas coordenadas geométricas. Os formatos de som surround para consumidor incluem o formato popular 5.1 (que inclui os seguintes seis canais: esquerda frontal (FL), direita frontal (FR), centro ou centro frontal, esquerda posterior ou esquerda surround, direita posterior ou direita surround, e efeitos de baixa frequência (LFE)), o crescente formato 7.1, diversos formatos que incluem alto- falantes de altura, tais como o formato 7.1.4 e o formato 22.2 (por exemplo, para uso com o padrão de Televisão de Definição Ultra Alta). Os formatos para não consumidor podem abranger qualquer quantidade de alto-falantes (em geometrias simétricas e não simétricas) frequentemente designados “matrizes surround”. Um exemplo de tal arranjo inclui 32 alto-falantes posicionados em coordenadas nos cantos de um icosaedro truncado.
[0055] A entrada em um codificador de MPEG futuro é opcionalmente um dentre três formatos possíveis: (i) áudio com base em canal tradicional (conforme discutido acima), que é destinado a ser reproduzido através de alto- falantes em posições pré-especificadas; (ii) áudio com base em objeto, que envolve dados de modulação de código de pulso discreto (PCM) para objetos de áudio únicos com metadados associados que contêm suas coordenadas de local (dentre outras informações); e (iii) áudio com base em cena, que envolve representar o campo sonoro com o uso de coeficientes de funções de base harmônica esférica (também chamados de “coeficientes harmônicos esféricos” ou SHC, “ambissônicos de ordem superior” ou HOA e “coeficientes de HOA”). O codificador de MPEG futuro pode ser descrito em mais detalhes em um documento intitulado “Call for Proposals for 3D Audio”, pela Organização Internacional para Padronização/Comissão Internacional de Eletrotécnica (ISO)/(IEC) JTC1/SC29/WG11/N13411, liberado em janeiro de 2013 em Geneva, Suíça, e disponível em http://mpeg.chiariglione.org/sites/default/files/files/stan dards/parts/docs/w13411.zip
[0056] Existem diversos formatos com base em canal de “som surround” no mercado. Os mesmos variam, por exemplo, de sistema de home theatre 5.1 (que foi o mais bem-sucedido em termos de fazer avanços nas salas de estar além do estéreo) ao sistema 22.2 desenvolvido por NHK (Nippon Hoso Kyokai ou Japan Broadcasting Corporation). Os criadores de conteúdo (por exemplo, estúdios de Hollywood) gostariam de produzir a trilha sonora para um filme uma vez e sem gastar esforços para remixar a mesma para cada configuração de caixa acústica. Recentemente, as Organizações de Desenvolvimento de Padrões têm considerado modos nos quais se deve fornecer uma codificação para um fluxo de bits padronizado e uma decodificação subsequente que é adaptável e agnóstica à geometria do alto-falante (e número) e condições acústicas no local da reprodução (que envolve um renderizador).
[0057] Para fornecer tal flexibilidade para os criadores de conteúdo, um conjunto hierárquico de elementos pode ser usado para representar um campo sonoro. O conjunto hierárquico de elementos pode se referir a um conjunto de elementos em que os elementos são ordenados de tal modo que um conjunto básico de elementos ordenados inferiores fornece uma representação completa do campo sonoro modelado. Conforme o conjunto é estendido para incluir elementos de ordem superior, a representação se torna mais detalhada, aumentando a resolução.
[0058] Um exemplo de um conjunto hierárquico de elementos é um conjunto de coeficientes harmônicos esféricos (SHC). A expressão a seguir demonstra uma descrição ou representação de um campo sonoro com o uso de SHC:
Figure img0001
[0059] A expressão mostra que a pressão pi em qualquer ponto {rr, θr, Φr} do campo sonoro, no tempo t, pode ser representada unicamente pelo SHC, (k). Aqui, = —, c é a velocidade do som (-343 m/s), {rr, θr, Φr} é um ponto de referência (ou ponto de observação), () é a função de Bessel esférica da ordem n e y^n(θr, Φr)são as funções de base harmônicas esféricas da ordem n e da subordem m. Pode- se reconhecer que o termo em colchetes é uma representação de domínio de frequência do sinal (isto é, S(w, rr, θr, Φr)) que pode ser aproximada por diversas transformações de tempo e frequência, tais como a transformada de Fourier distinta (DFT), a transformada de cosseno distinta (DCT) ou uma transformada de ondeleta. Outros exemplos de conjuntos hierárquicos incluem conjuntos de coeficientes de transformada de ondeleta e outros conjuntos de coeficientes de funções com base de multiresolução.
[0060] A Figura 1 é um diagrama que ilustra funções de base harmônica esférica da ordem zero (n = 0) até a quarta ordem (n = 4). Conforme pode ser visto, para cada ordem, há uma expressão de subordens m que são mostrados, mas não explicitamente notados no exemplo da Figura 1 para facilitar os propósitos de ilustração.
[0061] O SHC (k) pode ou ser fisicamente adquirido (por exemplo, registrado) através de diversas configurações de matriz de microfone ou, alternativamente, o mesmo pode ser derivado de descrições com base em canal ou com base em objeto do campo sonoro. O SHC representa o áudio com base em cena, em que o SHC pode ser inserido em um codificador de áudio para obter o SHC criptado que pode promover a transmissão ou o armazenamento mais eficaz. Por exemplo, uma representação de quarta ordem que envolve coeficientes (1+4)2o (25 e, por isso, quarta ordem) pode ser usada.
[0062] Conforme observado acima, o SHC pode ser derivado de uma gravação por microfone com o uso de uma matriz de microfone. Diversos exemplos de como o SHC pode ser derivado das matrizes de microfone são descritos em Poletti, M., “Three-Dimensional Surround Sound Systems Based on Spherical Harmonics”, J. Audio Eng. Soc, Volume 53, n° 1, novembro de 2005, páginas 1.004 a 1.025.
[0063] Para ilustrar como os SHCs podem ser derivados de uma descrição com base em objeto, considere a equação a seguir. Os coeficientes (k) para o campo sonoro que corresponde a um objeto de áudio individual podem ser expressos como:
Figure img0002
[0064] em que i é V—1,(t))(•) a função de Hankel esférica (do segundo tipo) da ordem n e {rs, θs, Φs} é o local do objeto. Conhecendo-se a energia da fonte do objeto g(w) como uma função da frequência (por exemplo, com o uso das técnicas de análise de tempo e frequência, tal como realizar uma transformada rápida de Fourier no fluxo de PCM) permite converter cada objeto de PCM e seu local no SHC . Além disso, pode ser mostrado (uma vez que a decomposição acima é linear e ortogonal) que os coeficientes (k) para cada objeto são aditivos. Dessa forma, diversos objetos de PCM podem ser representados pelos coeficientes (k) (por exemplo, como uma soma dos vetores de coeficiente para os objetos individuais). Essencialmente, os coeficientes contêm informações sobre o campo sonoro (a pressão como uma função de coordenadas 3D) e o supracitado representa a transformação de objetos individuais para uma representação do campo sonoro geral, na proximidade do ponto de observação {rr, θr, Φr }. As Figuras restantes são descritas abaixo no contexto de codificação de áudio com base em objeto e em SHC.
[0065] A Figura 2 é um diagrama que ilustra um sistema que pode realizar diversos aspectos das técnicas descritas nesta revelação. Conforme 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 descritas no contexto do dispositivo criador de conteúdo 12 e do dispositivo consumidor de conteúdo 14, as técnicas podem ser implantadas em qualquer contexto em que SHCs (que também podem ser denominados como coeficientes de HOA) ou qualquer outra representação hierárquica de um campo sonoro é criptada 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 que tem capacidade para implantar as técnicas descritas nesta revelação, que incluem um aparelho de telefone (ou telefone celular), um computador do tipo tablet, um telefone inteligente ou a computador do tipo desktop para fornecer alguns exemplos. Do mesmo modo, o dispositivo consumidor de conteúdo 14 pode representar qualquer forma de dispositivo de computação que tem capacidade para implantar as técnicas descritas nesta revelação, que incluem um aparelho de telefone (ou telefone celular), um computador do tipo tablet, um telefone inteligente, um decodificador de sinais ou um computador do tipo desktop para fornecer alguns exemplos.
[0066] O dispositivo criador de conteúdo 12 pode ser operado por um estúdio de cinema ou outra entidade que possa gerar um conteúdo de áudio de múltiplos canais para o consumo por operadores de dispositivos consumidores de conteúdo, tal como o dispositivo 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. Normalmente, o criador de conteúdo gera conteúdo de áudio em conjunto com conteúdo de vídeo. O dispositivo consumidor de conteúdo 14 pode ser operado por um indivíduo. O dispositivo consumidor de conteúdo 14 pode incluir um sistema de reprodução de áudio 16, o qual pode se referir a qualquer forma de sistema de reprodução de áudio que tenha capacidade para renderizar SHC para reprodução como conteúdo de áudio de múltiplos canais.
[0067] O dispositivo criador de conteúdo 12 inclui um sistema de edição de áudio 18. O dispositivo criador de conteúdo 12 obtém gravações ao vivo 7 em diversos formatos (que incluem diretamente como coeficientes de HOA) e objetos de áudio 9, os quais o dispositivo criador de conteúdo 12 pode editar com o uso do 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, renderizar coeficientes de HOA 11 a partir de objetos de áudio 9, em que se ouve as alimentações de caixa acústica renderizadas em uma tentativa de identificar diversos aspectos do campo sonoro que exigem edição adicional. O dispositivo criador de conteúdo 12 pode, então, editar coeficientes de HOA 11 (de modo potencialmente indireto através da manipulação de objetos diferentes dos objetos de áudio 9 dos quais os coeficientes de HOA de fonte podem ser derivados da forma descrita acima). O dispositivo 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 emitir os dados de áudio como um ou mais coeficientes harmônicos esféricos de fonte.
[0068] Quando o processo de edição é concluído, o dispositivo criador de conteúdo 12 pode gerar um fluxo de bits 21 com base nos coeficientes de HOA 11. Isto é, o dispositivo criador de conteúdo 12 inclui um dispositivo de criptação de áudio 20 que representa um dispositivo configurado para criptar ou compactar de outro modo coeficientes de HOA 11, de acordo com diversos aspectos das técnicas descritas nesta revelação, para gerar o fluxo de bits 21. O dispositivo de criptaçã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, o qual pode ser um canal com fio ou sem fio, um dispositivo de armazenamento de dados ou semelhantes. O fluxo de bits 21 pode representar uma versão criptada dos coeficientes de HOA 11 e pode incluir um fluxo de bits primário e outro fluxo de bits secundário, o qual pode ser denominado como informações de canal secundário.
[0069] Embora mostrado na Figura 2 como sendo diretamente transmitido ao dispositivo consumidor de conteúdo 14, o dispositivo criador de conteúdo 12 pode emitir o fluxo de bits 21 para um dispositivo intermediário posicionado entre o dispositivo criador de conteúdo 12 e o dispositivo consumidor de conteúdo 14. O dispositivo intermediário pode armazenar o fluxo de bits 21 para uma entrega posterior ao dispositivo consumidor de conteúdo 14, o qual pode exigir o fluxo de bits. O dispositivo intermediário pode compreender um servidor de arquivo, um servidor da web, um computador do tipo desktop, um computador do tipo laptop, um computador do tipo tablet, um telefone móvel, um telefone inteligente ou qualquer outro dispositivo que tem capacidade para 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 entrega de conteúdo que tem capacidade para difundir o fluxo de bits 21 (e possivelmente em conjunto com transmitir um fluxo de bits de dados de vídeo correspondente) a assinantes, tal como o dispositivo consumidor de conteúdo 14, que exige o fluxo de bits 21.
[0070] Alternativamente, o dispositivo criador de conteúdo 12 pode armazenar o fluxo de bits 21 em um meio de armazenamento, tais como um disco compacto, um disco de vídeo digital, um disco de vídeo de alta definição ou outros meios de armazenamento, em que a maioria tem capacidade para serem lidos por um computador e, portanto, podem ser referidos como meios de armazenamento legíveis por computador ou meios de armazenamento legíveis por computador não transitórios. Nesse contexto, o canal de transmissão pode se referir aos canais pelos quais o conteúdo armazenado nos meios são transmitidos (e pode incluir lojas de varejo e outro mecanismo de entrega com base em loja). Em qualquer evento, as técnicas desta revelação não devem, portanto, ser limitadas em relação a isso ao exemplo da Figura 2.
[0071] Conforme mostrado adicionalmente no exemplo da Figura 2, o dispositivo 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 que tem capacidade para reproduzir dados de áudio de múltiplos canais. O sistema de reprodução de áudio 16 pode incluir diversos renderizadores diferentes 22. Os Renderizadores 22 podem possibilitar, cada um, uma forma diferente de renderização, em que as formas diferentes de renderização podem incluir uma ou mais dentre as diversas formas de realizar panorama sonoro com base em vetor (VBAP) e/ou uma ou mais dentre as diversas formas de realizar a síntese de campo sonoro. Conforme usado no presente documento, “A e/ou B” significa “A ou B” ou ambos “A e B”.
[0072] O sistema de reprodução de áudio 16 pode incluir adicionalmente um dispositivo de decodificação de áudio 24. O dispositivo de decodificação de áudio 24 pode representar um dispositivo configurado para decodificar coeficientes de HOA 11’ a partir do fluxo de bits 21, em que os coeficientes de HOA 11’ podem ser semelhantes aos coeficientes de HOA 11, mas se diferem devido a operações com perda (por exemplo, quantização) e/ou transmissão por meio 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 de HOA 11’ e renderizar os coeficientes de HOA 11’ para emitir alimentações de alto-falante 25. As alimentações de alto- falante 25 podem acionar um ou mais alto-falantes (os quais não são mostrados no exemplo da Figura 2 para facilidade de propósitos de ilustração).
[0073] 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 indicativas de diversos alto-falantes e/ou uma geometria espacial dos alto- falantes. Em alguns casos, o sistema de reprodução de áudio 16 pode obter as informações de alto-falante 13 com o uso de um microfone de referência e acionar os alto-falantes de tal forma a fim de determinar dinamicamente as informações de alto-falante 13. Em outros casos ou em conjunto com a determinação dinâmica das informações de alto-falante 13, o sistema de reprodução de áudio 16 pode incitar um usuário a realizar interface com o sistema de reprodução de áudio 16 e inserir as informações de alto-falante 13.
[0074] O sistema de reprodução de áudio 16 pode, então, selecionar um dentre os renderizadores de áudio 22 com base nas informações de alto-falante 13. Em alguns casos, o sistema de reprodução de áudio 16 pode, quando nenhum dentre os renderizadores de áudio 22 está em alguma medição de similaridade limítrofe (em termos da geometria de alto-falante) à geometria de alto-falante especificada nas informações de alto-falante 13, gera o um dentre os renderizadores de áudio 22 com base nas informações de alto-falante 13. O sistema de reprodução de áudio 16 pode, em alguns casos, gerar um dentre os renderizadores de áudio 22 com base nas informações de alto-falante 13 sem tentar, primeiro, selecionar um renderizador existente dentre os renderizadores de áudio 22. Uma ou mais caixas acústicas 3 podem, então, reproduzir as alimentações de alto-falante renderizadas 25.
[0075] A Figura 3A é um diagrama em blocos que ilustra, em mais detalhes, um exemplo do dispositivo de criptação de áudio 20 mostrado no exemplo da Figura 2 que pode realizar diversos aspectos das técnicas descritas nesta revelação. O dispositivo de criptação de áudio 20 inclui uma unidade de análise de conteúdo 26, uma unidade de decomposição com base em vetor 27 e uma unidade de decomposição com base direcional 28. Embora descrito rapidamente abaixo, mais informações em relação ao dispositivo de criptação de áudio 20 e aos diversos aspectos para compactar ou criptar de outro modo coeficientes de HOA estão disponíveis na Publicação de Pedido de Patente Internacional no WO 2014/194099, intitulado “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD”, depositado em 29 de maio de 2014.
[0076] A unidade de análise de conteúdo 26 representa uma unidade configurada para analisar o conteúdo dos coeficientes de HOA 11 para identificar a possibilidade de os coeficientes de HOA 11 representarem o conteúdo gerado a partir 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 de HOA 11 foram gerados a partir de uma gravação de um campo sonoro real ou a partir de um objeto de áudio artificial. Em alguns casos, quando os coeficientes de HOA em quadro 11 foram gerados a partir de uma gravação, a unidade de análise de conteúdo 26 passa os coeficientes de HOA 11 para a unidade de decomposição com base em vetor 27. Em alguns casos, quando os coeficientes de HOA em quadro 11 foram gerados a partir de um objeto de áudio sintético, a unidade de análise de conteúdo 26 passa os coeficientes de HOA 11 para a unidade de síntese com base direcional 28. A unidade de síntese com base direcional 28 pode representar uma unidade configurada para realizar uma síntese com base direcional dos coeficientes de HOA 11 para gerar um fluxo de bits com base direcional 21.
[0077] Conforme mostrado no exemplo da Figura 3A, a unidade de decomposição com base 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 reordenação 34, uma unidade de seleção de primeiro plano 36, uma unidade de compensação de energia 38, uma unidade codificadora de áudio psicoacústica 40, uma unidade de geração de fluxo de bits 42, uma unidade de análise de campo sonoro 44, uma unidade de redução de coeficiente 46, uma unidade de seleção de fundo (BG) 48, uma unidade de interpolação espaço-temporal 50 e uma unidade de codificação de vetor V 52.
[0078] A unidade de transformada invertível linear (LIT) 30 recebe os coeficientes de HOA 11 na forma de canais de HOA, em que cada canal é representativo de um bloco ou um quadro de um coeficiente associado a uma dada ordem, subordem das funções de base esféricas (as quais podem ser denotadas como HOA[k], em que k pode denotar o quadro ou o bloco atual de amostras). A matriz de coeficientes de HOA 11 podem ter dimensões D: M x (N+l)2.
[0079] A unidade de LIT 30 pode representar uma unidade configurada para realizar uma forma de análise denominada como decomposição de valor singular. Embora descritas em relação a SVD, as técnicas descritas nesta revelação podem ser realizadas em relação a qualquer transformação ou decomposição semelhante que possibilita conjuntos de saídas compactadas de energia linearmente não correlacionadas. Além disso, a referência a “conjuntos” nesta revelação é destinada, em geral, a se referir a conjuntos não zero, a menos que especificamente indicado o contrário, e não é direcionado a se 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, a qual é denominada normalmente como “PCA”. Dependendo do contexto, pode-se referir à PCA por diversos nomes diferentes, tais como transformada de Karhunen-Loeve distinta, a transformada de Hotelling, decomposição ortogonal apropriada (POD) e decomposição de autovalor (EVD), para citar alguns exemplos. As propriedades de tais operações que são condutivas ao objetivo subjacente de compactar dados de áudio são “compactação de energia” e “decorrelação” dos dados de áudio de múltiplos canais.
[0080] Em qualquer evento, presumindo-se que a unidade de LIT 30 realiza uma decomposição de valor singular (a qual, novamente, pode ser denominada como “SVD”) para propósitos de exemplo, a unidade de LIT 30 pode transformar os coeficientes de HOA 11 em dois ou mais conjuntos de coeficientes de HOA transformados. Os “conjuntos” de coeficientes de HOA transformados podem incluir vetores de coeficientes de HOA transformados. No exemplo da Figura 3A, a unidade de LIT 30 pode realizar a SVD em relação aos coeficientes de HOA 11 para gerar uma chamada matriz V, uma matriz S e uma matriz U. SVD, em álgebra linear, pode representar uma fatorização de uma matriz X real y por z ou complexa (em que X pode representar dados de áudio de múltiplos canais, tais como os coeficientes de HOA 11) na seguinte forma: X = USV*
[0081] U pode representar uma matriz unitária real y por y ou complexa, em que as colunas y de U são conhecidas como os vetores singulares esquerdos dos dados de áudio de múltiplos canais. S pode representar uma matriz diagonal retangular y por z com números reais não negativos na diagonal, em que os valores diagonais de S são conhecidos como os valores singulares dos dados de áudio de múltiplos canais. V* (que pode denotar uma transposição conjugada de V) pode representar uma matriz real z por z ou unitária complexa, em que as colunas z de V* são conhecidas como os vetores singulares direitos dos dados de áudio de múltiplos canais.
[0082] Em alguns exemplos, a matriz V* na expressão matemática de SVD referenciada acima é denotada como a transposição conjugada da matriz V para fletir que SVD pode ser aplicada a matrizes que compreendem números complexos. Quando aplicada a matrizes que compreendem apenas números reais, o conjugado complexo da matriz V (ou, em outras palavras, a matriz V*) pode ser considerado como a transposição da matriz V. Abaixo, presume-se que, para facilitar os propósitos de ilustração, os coeficientes de HOA 11 compreendem números reais com o resultado de que a matriz V é emitida através da SVD em vez da matriz V*. Além disso, embora denotada como a matriz V nesta revelação, a referência à matriz V deve ser compreendida para se referir à transposição da matriz V quando apropriado. Embora se presuma que seja a matriz V, as técnicas podem ser aplicadas de modo semelhante a coeficientes de HOA 11 que têm coeficientes complexos, em que a saída da SVD é a matriz V*. Consequentemente, as técnicas não devem ser limitadas, em relação a isso, a possibilitar apenas a aplicação de SVD para gerar a matriz V, mas podem incluir a aplicação de SVD a coeficientes de HOA 11 que têm componentes complexos para gerar uma matriz V*.
[0083] Dessa forma, a unidade de LIT 30 pode realizar SVD em relação aos coeficientes de HOA 11 para emitir vetores US[k] 33 (os quais podem representar uma versão combinada dos vetores S e dos vetores U) que têm dimensões D M x (N+l)2 e vetores V[k] 35 que têm dimensões D: (N+l)2 x (N+l)2. Elementos vetoriais individuais na matriz US[k] também podem ser denominados XPS(k) enquanto vetores individuais da matriz V[k] também podem ser denominados v(k).
[0084] Uma análise das matrizes U, S e V pode revelar que as matrizes portam ou representam características espaciais e temporais do campo sonoro subjacente representado acima por X. Cada um dentre os vetores N em U (de amostras M de comprimento) 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 uns aos outros e que foram desacoplados de quaisquer características espaciais (as quais também podem ser denominadas como informações direcionais). As características espaciais, que representam o formato e a posição espaciais (r, teta, fi), podem ser representadas, em vez disso, por vetores i-ésimos individuais, v(i)(k), na matriz V (cada um de comprimento (N+l)2). Os elementos individuais de cada um dentre os vetores v(i)(k) podem representar um coeficiente de HOA que descreve o formato (incluindo a largura) e a posição do campo sonoro para um objeto de áudio associado. Ambos os vetores na matriz U e na matriz V são normalizados de forma que suas energias de raiz quadrática média são iguais à unidade. A energia dos sinais de áudio em U é, então, representada pelos elementos diagonais em S. Multiplicar U e S para formar US[k] (com elementos vetoriais individuais XPS(k)) representa, dessa forma, o sinal de áudio com energias. A capacidade da decomposição de SVD para desacoplar os sinais de tempo de áudio (em U), suas energias (em S) e suas características espaciais (em V) pode sustentar diversos aspectos das técnicas descritas nesta revelação. Além disso, o modelo de sintetização dos coeficientes de HOA[k] subjacentes, X por uma multiplicação vetorial de US[k] e V[k] origina o termo “decomposição com base em vetor”, o qual é usado por todo este documento.
[0085] Embora seja descrita como sendo realizada diretamente em relação aos coeficientes de HOA 11, a unidade de LIT 30 pode aplicar a transformada invertível linear 200 a derivados dos coeficientes de HOA 11. Por exemplo, a unidade de LIT 30 pode aplicar SVD em relação a uma matriz de densidade espectral de potência derivada dos coeficientes de HOA 11. Realizando-se SVD em relação à densidade espectral de potência (PSD) dos coeficientes de HOA em vez dos próprios coeficientes, a unidade de LIT 30 pode reduzir potencialmente a complexidade computacional da realização da SVD em termos de um ou mais dos ciclos de processador e espaço de armazenamento, enquanto se alcança a mesma eficiência de criptação de áudio de fonte como se a SVD fosse aplicada diretamente aos coeficientes de HOA.
[0086] A unidade de cálculo de parâmetro 32 representa uma unidade configurada para calcular diversos parâmetros, tais como um parâmetro de correlação (R), parâmetros de propriedades direcionais (θ, Φ, r) e uma propriedade de energia (e). Cada um dentre os parâmetros para o quadro atual pode ser denotado como R[k], θ[k], Φ[k], r[k] e e[k]. A unidade de cálculo de parâmetro 32 pode realizar uma análise e/ou correlação de energia (ou a chamada correlação cruzada) em relação aos vetores US[k] 33 para identificar os parâmetros. A unidade de cálculo de parâmetro 32 também pode determinar os parâmetros para o quadro anterior, em que os parâmetros de quadro anterior podem ser denotados como R[k-l], θ[k-l], Φ[k-l], r[k-l] e e[k-l], com base no quadro anterior de vetor US[k-l] e vetores V[k-l]. A unidade de cálculo de parâmetro 32 pode emitir os parâmetros atuais 37 e os parâmetros anteriores 39 para a unidade de reordenação 34.
[0087] Os parâmetros calculados pela unidade de cálculo de parâmetro 32 podem ser usados pela unidade de reordenação 34 para reordenar os objetos de áudio para representar sua avaliação ou continuidade natural ao longo do tempo. A unidade de reordenação 34 pode comparar cada um dentre os parâmetros 37 a partir dos primeiros vetores US[k] 33 em termos de virada contra cada um dentre os parâmetros 39 para os segundos vetores US[k-1] 33. A unidade de reordenação 34 pode reordenar (com o uso de, como um exemplo, um algoritmo húngaro) os diversos vetores dentro da matriz US[k] 33 e da matriz V[k] 35 com base nos parâmetros atuais 37 e nos parâmetros anteriores 39 para emitir uma matriz US[k] reordenada 33’ (a qual pode ser matematicamente denotada como US[k]) e uma matriz V[k] reordenada 35’ (a qual pode ser matematicamente denotada como V[k]) para uma unidade de seleção de som de primeiro plano 36 (ou um som predominante - PS) (”unidade de seleção de primeiro plano 36”) e uma unidade de compensação de energia 38.
[0088] A unidade de análise de campo sonoro 44 pode representar uma unidade configurada para realizar uma análise de campo sonoro em relação aos coeficientes de HOA 11 a fim de alcançar potencialmente uma taxa de bits alvo 41. A unidade de análise de campo sonoro 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 (a qual pode ser uma função do número total de canais ambientes ou de fundo (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 denotado como numHOATransportChannels.
[0089] A unidade de análise de campo sonoro 44 também pode determinar, novamente para alcançar potencialmente a taxa de bits alvo 41, o número total de canais de primeiro plano (nFG) 45, a ordem mínima do campo sonoro de fundo (ou, em outras palavras, ambiente) (NBG ou, alternativamente, MinAmbHOAorder), em que o número correspondente de canais reais representativos da ordem mínima de campo sonoro de fundo (nBGa = (MinAmbHOAorder + l)2) e índices (i) de canais de HOA de BG adicionais para envio (os quais podem ser coletivamente denotados como informações de canal de fundo 43 no exemplo da Figura 3A). As informações de canal de fundo 42 também podem ser denominadas como informações de canal ambiente 43. Cada um dentre os canais que permanece de numHOATransportChannels - nBGa pode ser um “canal de fundo/ambiente adicional”, um “canal predominante com base em vetor”, um “sinal predominante com base direcional ativo” ou “completamente inativo”. Em um aspecto, os tipos de canal podem ser indicados (como um elemento de sintaxe “ChannelType”) por dois bits (por exemplo, 00: sinal com base direcional; 01: sinal predominante com base em vetor; 10: sinal ambiente adicional; 11: sinal inativo). O número total de sinais de fundo ou ambientes, 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.
[0090] A unidade de análise de campo sonoro 44 pode selecionar o número de canais de fundo (ou, em outras palavras, ambientes) e o número de canais de primeiro plano (ou, em outras palavras, predominantes com base na taxa de bits alvo 41, selecionar mais canais de fundo e/ou de primeiro plano quando a taxa de bits alvo 41 é relativamente mais alta (por exemplo, quando a taxa de bits alvo 41 é igual ou maior que 512 Kbps). Em um aspecto, o numHOATransportChannels pode ser definido como 8 enquanto o MinAmbHOAorder pode ser definido como 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 fundo ou ambiente do campo sonoro enquanto os outros 4 canais podem, em uma base de quadro por quadro, variar no tipo de canal - por exemplo, usado como um canal de fundo/ambiente adicional ou um canal de primeiro plano/predominante. Os sinais de primeiro plano/predominante podem ser um dentre os sinais com base em vetor ou com base direcional, conforme descrito acima.
[0091] Em alguns casos, o número total de sinais predominantes com base 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 de fundo/ambiente adicional (por exemplo, que corresponde a um ChannelType de 10), informações correspondentes de cada um dentre os coeficientes de HOA possíveis (além dos primeiros quatro) podem ser representadas naquele canal. As informações, para conteúdo de HOA de quarta ordem, podem ser um índice para indicar os coeficientes de HOA 5 a 25. Os primeiros quatro coeficientes de HOA ambientes 1 a 4 podem ser enviados a todo tempo quando minAmbHOAorder é definido como 1, logo, o dispositivo de criptação de áudio pode precisar indicar apenas um dos coeficientes de HOA ambientes adicionais que têm um índice de 5 a 25. As informações podem, dessa forma, ser enviadas com o uso de um elemento de sintaxe de 5 bits (para conteúdo de 4a ordem), o qual pode ser denotado com “CodedAmbCoeffldx”. Em qualquer evento, a unidade de análise de campo sonoro 44 emite as informações de canal de fundo 43 e os coeficientes de HOA 11 para a unidade de seleção de fundo (BG) 36, as informações de canal de fundo 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.
[0092] A unidade de seleção de fundo 48 pode representar uma unidade configurada para determinar coeficientes de HOA de fundo ou ambientes 47 com base nas informações de canal de fundo (por exemplo, o campo sonoro de fundo (NBG) e o número (nBGa) e os índices (i) de canais de HOA de BG adicionais para envio). Por exemplo, quando NBG for igual a um, a unidade de seleção de fundo 48 pode selecionar os coeficientes de HOA 11 para cada amostra do quadro de áudio que tem uma ordem igual ou menor do que um. A unidade de seleção de fundo 48 pode, nesse exemplo, selecionar, então, os coeficientes de HOA 11 que têm um índice identificado por um dentre os índices (i) como coeficientes de HOA de BG adicionais, em que o nBGa é fornecido para a unidade de geração de fluxo de bits 42 para ser especificado no fluxo de bits 21 a fim de permitir que o dispositivo de decodificação de áudio, tal como o dispositivo de decodificação de áudio 24 mostrado no exemplo das Figuras 4A e 4B, analise os coeficientes de HOA de fundo 47 a partir do fluxo de bits 21. A unidade de seleção de fundo 48 pode, então, emitir os coeficientes de HOA ambientes 47 para a unidade de compensação de energia 38. Os coeficientes de HOA ambientes 47 podem ter dimensões D: M x [(NBG+1)2+ nBGa]. Os coeficientes de HOA ambientes 47 também podem ser denominados como “coeficientes de HOA ambientes 47”, em que cada um dentre os coeficientes de HOA ambientes 47 corresponde a um canal de HOA ambiente separado 47 para ser criptado pela unidade codificadora de áudio psicoacústica 40.
[0093] 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 sonoro com base no nFG 45 (o qual pode representar um ou mais índices que identificam os vetores de primeiro plano). A unidade de seleção de primeiro plano 36 pode emitir sinais de nFG 49 (os quais podem ser denotados como um US[k]1,_,nFG 49,FG1_,nFG[k] 49 ou
Figure img0003
49 reordenado) para a unidade codificadora de áudio psicoacústica 40, em que os sinais de nFG 49 podem ter dimensões D: M x nFG e cada um representa objetos de monoáudio. A unidade de seleção de primeiro plano 36 também Jv(1-npG\^ 35’)ou
Figure img0004
que corresponde a componentes de primeiro plano do campo sonoro para a unidade de interpolação espaço-temporal 50, em que um subconjunto da matriz V[k] reordenada 35’ corresponde aos componentes de primeiro plano pode ser denotado como matriz V[k] 51k de primeiro plano (a qual pode ser matematicamente denotada como Vl nFG[k]) que tem dimensões D: (N+l)2x nFG.
[0094] A unidade de compensação de energia 38 pode representar uma unidade configurada para realizar compensação de energia em relação aos coeficientes de HOA ambientes 47 para compensar pela perda de energia devido à remoção de diversos os canais de HOA pela unidade de seleção de fundo 48. A unidade de compensação de energia 38 pode realizar uma análise de energia em relação a um ou mais dentre a matriz US[k] reordenada 33’, a matriz V[k] reordenada 35’, os sinais de nFG 49, os vetores de primeiro plano V[k] 5 e os coeficientes de HOA ambientes 47 e, então, realizar compensação de energia com base na análise de energia para gerar coeficientes de HOA ambientes compensados por energia 47'. A unidade de compensação de energia 38 pode emitir os coeficientes de HOA ambientes compensados por energia 47’ para a unidade codificadora de áudio psicoacústica 40.
[0095] A unidade de interpolação espaço- temporal 50 pode representar uma unidade configurada para receber os vetores V[k] de primeiro plano 5k para o k-ésimo quadro e os vetores V[k-1] de primeiro plano 51k-1 para o quadro anterior (por conseguinte a notação k-1) e realizar interpolação espaço-temporal para gerar vetores de V[k] de primeiro plano interpolados. A unidade de interpolação espaço-temporal 50 pode recombinar os sinais de nFG 49 com os vetores de primeiro plano V[k] 51k para recuperar coeficientes de HOA de plano de fundo reordenados. A unidade de interpolação espaço-temporal 50 pode, então, dividir os coeficientes de HOA de plano de fundo reordenados pelos vetores V[k] interpolados para gerar sinais de nFG interpolados 49’. A unidade de interpolação espaço-temporal 50 também pode emitir os vetores de primeiro plano V[k] 51k que foram usados para gerar os vetores de primeiro plano V[k] interpolados de forma que um dispositivo de decodificação de áudio, tal como o dispositivo de decodificação de áudio 24, possa gerar os vetores de primeiro plano V[k] interpolados e recuperar, desse modo, os vetores de primeiro plano V[k] 51k. Os vetores de primeiro plano V[k] 51k usados para gerar os vetores de primeiro plano V[k] interpolados são denotados como os vetores de primeiro plano V[k] restantes 53. A fim de assegurar que o mesmo V[k] e V[k-1] sejam usados no codificador e no decodificador (para criar os vetores V[k] interpolados) versões quantizadas/desquantizadas dos vetores podem ser usadas no codificador e no decodificador. A unidade de interpolação espaço-temporal 50 pode emitir os sinais de nFG interpolados 49’ para a unidade codificadora de áudio psicoacústica 46 e os vetores de primeiro plano V[k] interpolados 51 para a unidade de redução de coeficiente 46.
[0096] A unidade de redução de coeficiente 46 pode representar uma unidade configurada para realizar a redução de coeficiente em relação aos vetores V[k] de primeiro plano restantes 53 com base nas informações de canal de fundo 43 para emitir vetores de primeiro plano V[k] reduzidos 55 para a unidade de codificação de vetor V 52. Os vetores de primeiro plano V[k] reduzidos 55 podem ter dimensões D: [(N+l)2- (NBG+1)2-BOTOT] x nFG. A unidade de redução de coeficiente 46 pode, em relação a isso, representar uma unidade configurada para reduzir o número de coeficientes nos vetores de primeiro plano V[k] 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 de primeiro plano V[k] restantes 53) que têm pouca ou nenhuma informação direcional. Em alguns exemplos, os coeficientes dos vetores distintos ou, em outras palavras, de primeiro plano V[k] que correspondem a funções de base de primeira ordem e de ordem zero (que podem ser denotadas como NBG) fornecem poucas informações direcionais e, portanto, podem ser removidos dos vetores V de primeiro plano (através de um processo que pode ser denominado como “redução de coeficiente”). Nesse exemplo, uma flexibilidade maior pode ser fornecida não apenas para identificar os coeficientes que correspondem a NBG, mas para identificar canais de HOA adicionais (os quais podem ser denotados pelo TotalOfAddAmbHOAChan variável) a partir do conjunto de [(NBG+1)2+1,(N+1)2].
[0097] A unidade de codificação de vetor V 52 pode representar uma unidade configurada para realizar qualquer forma de quantização para compactar os vetores de primeiro plano V[k] reduzidos 55 para gerar vetores de primeiro plano V[k] codificados 57, emitir os vetores de primeiro plano V[k] codificados 57 para a unidade de geração de fluxo de bits 42. Em operação, a unidade de codificação de vetor V 52 pode representar uma unidade configurada para compactar um componente espacial do campo sonoro, isto é, um ou mais dentre os vetores V[k] de primeiro plano reduzidos 55 nesse exemplo. A unidade de codificação de vetor V 52 pode realizar qualquer um dentre os seguintes 12 modos de quantização, conforme indicado por um elemento de sintaxe de modo de quantização denotado "NbitsQ": Valor de Tipo de Modo de Quantização NbitsQ 0 a 3: Reservado 4: Quantização de Vetor 5: Quantização Huffman Escalar sem Codificação de 6: Quantização Codificação Escalar de 6 bits com de Huffman 7: Quantização Codificação Escalar de 7 bits com de Huffman 8: Quantização Codificação Escalar de 8 bits com de Huffman Quantização Escalar de 6 bits com 16: Codificação de Huffman A unidade de codificação de vetor V 52 também pode realizar versões previstas de qualquer um dentre os tipos supracitados de modos de quantização, em que uma diferença é determinada entre um elemento (ou um peso quando a quantização vetorial é realizada) do vetor V de um quadro anterior e o elemento (ou peso quando a quantização vetorial é realizada) do vetor V de um quadro atual é determinada. A unidade de codificação de vetor V 52 pode, então, quantizar a diferença entre os elementos ou pesos do quadro atual e do quadro anterior em vez do valor do elemento do vetor V do próprio quadro atual.
[0098] A unidade de codificação de vetor V 52 pode realizar múltiplas formas de quantização em relação a cada um dentre os vetores de primeiro plano V[k] reduzidos 55 para obter múltiplas versões codificadas dos vetores de primeiro plano V[k] reduzidos 55. A unidade de codificação de vetor V 52 pode selecionar a uma dentre as versões codificadas dos vetores de primeiro plano V[k] reduzidos 55 como o vetor de primeiro plano V[k] codificado 57. A unidade de codificação de vetor V 52 pode, em outras palavras, selecionar um dentre o vetor V quantizado por vetor não previsto, o vetor V quantizado por vetor previsto, o vetor V quantizado de modo escalar não codificado por Huffman e o vetor V quantizado de modo escalar codificado por Huffman para usar como o vetor V comutado quantizado de saída com base em qualquer combinação dos critérios discutidos nesta revelação.
[0099] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um modo de quantização a partir de um conjunto de modos de quantização que inclui um modo de quantização vetorial e um ou mais modos de quantização escalar e quantizar um vetor V de entrada com base (ou de acordo com) no modo selecionado. A unidade de codificação de vetor V 52 pode, então, fornecer o vetor selecionado dentre o vetor V quantizado por vetor não previsto (por exemplo, em termos de valores de peso ou bits indicativos dos mesmos), o vetor V quantizado por vetor previsto (por exemplo, em termos de valores de erro ou bits indicativos dos mesmos), o vetor V quantizado de modo escalar não codificado por Huffman e o vetor V quantizado de modo escalar codificado por Huffman para a unidade de geração de fluxo de bits 52 como os vetores de primeiro plano V[k] codificados 57. A unidade de codificação de vetor V 52 também pode 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 reconstruir de outro modo o vetor V.
[0100] Em relação à quantização vetorial, a unidade de codificação de vetor V 52 pode codificar os vetores de primeiro plano V[k] reduzidos 55 com base nos vetores de código 63 para gerar vetores V[k] codificados. Conforme mostrado na Figura 3A, a unidade de codificação de vetor V 52 pode, em alguns exemplos, emitir pesos codificados 57 e índices 73. Os pesos codificados 57 e os índices 73, em tais exemplos, podem representar, em conjunto, os vetores V[k] codificados. Os índices 73 podem representar quais vetores de código em uma soma ponderada de vetores de codificação correspondem a cada um dentre os pesos nos pesos codificados 57.
[0101] Para codificar os vetores de primeiro plano V[k] reduzidos 55, a unidade de codificação de vetor V 52 pode, em alguns exemplos, decompor cada um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código com base nos vetores de código 63. A soma ponderada de vetores de código pode incluir uma pluralidade de pesos e uma pluralidade de vetores de código e pode representar a soma dos produtos de cada um dentre os pesos que pode ser multiplicado por um respectivo vetor dentre os vetores de código. A pluralidade de vetores de código incluída na soma ponderada dos vetores de código pode corresponder aos vetores de código 63 recebidos pela unidade de codificação de vetor V 52. Decompor um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código pode envolver determinar valores de peso para um ou mais dentre os pesos incluídos na soma ponderada de vetores de código.
[0102] Após determinar os valores de peso que correspondem aos pesos incluídos na soma ponderada de vetores de código, a unidade de codificação de vetor V 52 pode codificar um ou mais dentre os valores de peso para gerar os pesos codificados 57. Em alguns exemplos, codificar os valores de peso pode incluir quantizar os valores de peso. Em exemplos adicionais, codificar os valores de peso pode incluir quantizar os valores de peso e realizar codificação de Huffman em relação aos valores de peso quantizados. Em exemplos adicionais, codificar os valores de peso pode incluir codificar um ou mais dentre os valores de peso, dados indicativos dos valores de peso, os valores de peso quantizados, os dados indicativos dos valores de peso quantizados com o uso de qualquer técnica de codificação.
[0103] Em alguns exemplos, os vetores de código 63 podem ser um conjunto de vetores ortonormais. Em exemplos adicionais, os vetores de código 63 podem ser um conjunto de vetores pseudo-ortonormais. Em exemplos adicionais, os vetores de código 63 podem ser um ou mais dentre os seguintes: um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de vetores direcionais pseudo-ortonormais, um conjunto de vetores direcionais pseudo-ortogonais, um conjunto de vetores de base direcional, um conjunto de vetores ortogonais, um conjunto de vetores pseudo-ortogonais, um conjunto de vetores de base harmônica esférica, um conjunto de vetores normalizados e um conjunto de vetores de base. Em exemplos e que os vetores de código 63 incluem vetores direcionais, cada um dentre os vetores direcionais pode ter uma direcionalidade que corresponde a um padrão de radiação de direção ou direcional em espaço 2D ou 3D.
[0104] Em alguns exemplos, os vetores de código 63 podem ser um conjunto de vetores de código predefinido e/ou predeterminado 63. Em exemplos adicionais, os vetores de código podem ser independentes dos coeficientes de campo sonoro de HOA subjacentes e/ou não serem gerados com base nos coeficientes de campo sonoro de HOA subjacentes. Em exemplos adicionais, os vetores de código 63 podem ser os mesmos quando se codifica quadros diferentes de coeficientes de HOA. Em exemplos adicionais, os vetores de código 63 podem ser diferentes quando se codifica quadros diferentes de coeficientes de HOA. Em exemplos adicionais, os vetores de código 63 podem ser alternativamente denominados como vetores de livro de código e/ou vetores de código candidatos.
[0105] Em alguns exemplos, para determinar os valores de peso que correspondem a um dentre os vetores de primeiro plano V[k] reduzidos 55, a unidade de codificação de vetor V 52 pode, para cada um dentre os valores de peso na soma ponderada de vetores de código, multiplicar o vetor V[k]
[0106] de primeiro plano reduzido por um respectivo vetor dentre os vetores de código 63 para determinar o respectivo valor de peso. Em alguns casos, para multiplicar o vetor V[k] de primeiro plano reduzido pelo vetor de código, a unidade de codificação de vetor V 52 pode multiplicar o vetor V[k] de primeiro plano reduzido por uma transposição do respectivo vetor dentre os vetores de código 63 para determinar o respectivo valor de peso.
[0107] Para quantize os pesos, a unidade de codificação de vetor V 52 pode realizar qualquer tipo de quantização. Por exemplo, a unidade de codificação de vetor V 52 pode realizar quantização escalar, quantização vetorial ou quantização de matriz em relação aos valores de peso.
[0108] Em alguns exemplos, em vez de codificar todos os valores de peso para gerar os pesos codificados 57, a unidade de codificação de vetor V 52 pode codificar um subconjunto dos valores de peso incluídos na soma ponderada de vetores de código para gerar os pesos codificados 57. Por exemplo, a unidade de codificação de vetor V 52 pode quantizar um conjunto dos valores de peso incluídos na soma ponderada de vetores de código. Um subconjunto dos valores de peso incluídos na soma ponderada de vetores de código pode se referir a um conjunto de valores de peso que tem um número de valores de peso que é menor que o número de valores de peso em todo o conjunto de valores de peso incluídos na soma ponderada de vetores de código.
[0109] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um subconjunto dos valores de peso incluídos na soma ponderada de vetores de código para codificar e/ou quantizar com base em diversos critérios. Em um exemplo, o número inteiro N pode representar o número total de valores de peso incluídos na soma ponderada de vetores de código e a unidade de codificação de vetor V 52 pode selecionar os M valores de peso maiores (isto é, valores de peso máximos) a partir do conjunto de N valores de peso para formar o subconjunto dos valores de peso, em que M é um número inteiro menor que N. Dessa forma, as contribuições de vetores de código que contribuem uma quantidade relativamente grande com o vetor V decomposto podem ser preservadas, enquanto as contribuições de vetores de código que contribuem uma quantidade relativamente pequena com o vetor V decomposto podem ser descartadas para aumentar a eficiência de codificação. Outros critérios também podem ser usados para selecionar o subconjunto dos valores de peso para codificação e/ou quantização.
[0110] Em alguns exemplos, os M valores de peso maiores podem ser os M valores de peso do conjunto de N valores de peso que têm o maior valor. Em exemplos adicionais, os M valores de peso maiores podem ser os M valores de peso do conjunto de N valores de peso que têm o maior valor absoluto.
[0111] Em exemplos em que a unidade de codificação de vetor V 52 codifica e/ou quantiza um subconjunto dos valores de peso, os pesos codificados 57 podem incluir dados indicativos de quais dentre os valores de peso foram selecionados para quantizar e/ou codificar além de quantizar os dados indicativos dos valores de peso. Em alguns exemplos, os dados indicativos de quais dentre os valores de peso foram selecionados para quantizar e/ou codificar podem incluir um ou mais índices de um conjunto de índices que correspondem aos vetores de código na soma ponderada de vetores de código. Em tais exemplos, para cada um dentre os pesos que foram selecionados para codificação e/ou quantização, um valor de índice do vetor de código que corresponde ao valor de peso na soma ponderada de vetores de código pode ser incluído no fluxo de bits.
[0112] Em alguns exemplos, cada um dentre os vetores V[k] de primeiro plano reduzidos 55 podem ser representados com base na seguinte expressão:
Figure img0005
[0113] em que Qj representa o j-ésimo vetor de código em um conjunto de vetores de código ({Qj}), wj representa o j-ésimo peso em um conjunto de pesos ({Wj}) e VFG corresponde ao vetor V que está sendo representado, decomposto e/ou codificado pela unidade de codificação de vetor V 52. O lado direito da expressão (1) pode representar uma soma ponderada de vetores de código que inclui um conjunto de pesos ({Wj}) e um conjunto de vetores de código ({Qj}).
[0114] Em alguns exemplos, a unidade de codificação de vetor V 52 pode determinar os valores de peso com base na seguinte equação:
Figure img0006
[0115] em que Q representa uma transposição do k-ésimo vetor de código em um conjunto de vetores de código ({Qk}), VFG corresponde ao vetor V que está sendo representado, decomposto e/ou codificado pela unidade de codificação de vetor V 52 e Wk representa o j-ésimo peso em um conjunto de pesos ({Wk}).
[0116] Em exemplos em que o conjunto de vetores de código ({Qj}) é ortonormal, a seguinte expressão pode se aplicar:
Figure img0007
[0117] Em tais exemplos, o lado direito da equação (2) pode simplificar conforme segue:
Figure img0008
[0118] em que Wk corresponde ao k-ésimo peso na soma ponderada de vetores
[0119] Para a soma ponderada exemplificativa de vetores de código usada na equação (1), a unidade de codificação de vetor V 52 pode calcular os valores de peso para cada um dentre os pesos na soma ponderada de vetores de código com o uso da equação (2) e os pesos resultantes podem ser representados como:
Figure img0009
[0120] Considere um exemplo em que a unidade de codificação de vetor V 52 seleciona os cinco valores de peso máximos (isto é, pesos com os maiores valores ou valores absolutos). O subconjunto dos valores de peso a serem quantizados pode ser representado como:
Figure img0010
[0121] O subconjunto dos valores de peso, em conjunto com seus vetores de código correspondentes, pode ser usado para formar uma soma ponderada de vetores de código que estima o vetor V, conforme mostrado na seguinte expressão:
Figure img0011
[0122] em que Qj representa o j-ésimo vetor de código em um subconjunto dos vetores de código ({Qj}), Oj representa o j-ésimo peso em um subconjunto de pesos ({Oj}) e VFG corresponde a um vetor V estimado que corresponde ao vetor V que é decomposto e/ou codificado pela unidade de codificação de vetor V 52. O lado direito da expressão (1) pode representar uma soma ponderada de vetores de código que inclui um conjunto de pesos ({Oj}) e um conjunto de vetores de código ({Qj}).
[0123] A unidade de codificação de vetor V 52 pode quantizar o subconjunto dos valores de peso para gerar valores de peso quantizados que podem ser representados como:
Figure img0012
[0124] Os valores de peso quantizados, em conjunto com seus vetores de código correspondentes, podem ser usados para formar uma soma ponderada de vetores de código que representa uma versão quantizada do vetor V estimado, conforme mostrado na seguinte expressão:
Figure img0013
[0125] em que Qj representa o j-ésimo vetor de código em um subconjunto dos vetores de código ({Qj}), ój representa o j-ésimo peso em um subconjunto de pesos ({ój}) e VFG corresponde a um vetor V estimado que corresponde ao vetor V que é decomposto e/ou codificado pela unidade de codificação de vetor V 52. O lado direito da expressão (1) pode representar uma soma ponderada de um subconjunto dos vetores de código que inclui um conjunto de pesos ({ój}) e um conjunto de vetores de código ({Qj}).
[0126] Uma reafirmação alternativa do supracitado (a qual é amplamente equivalente àquela descrita acima) pode ser conforme segue. Os vetores V podem ser codificados com base em um conjunto de vetores de código predefinido. Para codificar os vetores V, cada vetor V é decomposto em uma soma ponderada de vetores de código. A soma ponderada de vetores de código consiste em k pares de vetores de código predefinidos e pesos associados:
Figure img0014
[0127] em que Qj representa o j-ésimo vetor de código em um conjunto de vetores de código predefinidos ({Q j}), Wj representa o j-ésimo peso de valor real em um conjunto de pesos predefinidos ({wj}), k corresponde ao índice de adendos, o qual pode ser até 7, e V corresponde ao vetor V que está sendo codificado. A escolha k depende do codificador. Se o codificador escolher uma soma ponderada de dois ou mais vetores de código, o número total de vetores de código predefinidos que o codificador pode escolher é (N+l)2, em que vetores de código predefinidos são derivados como coeficientes de expansão de HOA a partir das tabelas, em alguns exemplos, F.2 a F.ll. Faz-se referência às tabelas denotadas por F seguidas por um período e um número se referem às tabelas especificadas no Anexo F do Padrão de Áudio MPEG-H 3D, intitulado “Information Technology - High efficiency coding and media delivery in heterogeneous environments - Part 3 : 3D Audio”, ISO/IEC JTC 1/SC 29, datado em 20-02-2015 (20 de fevereiro de 2015), ISO/IEC 23008-3 :2015(E), ISO/IEC JTC 1/SC 29/WG 11 (nome do arquivo: ISO_IEC_23008-3(E)- Word_document_v33.doc).
[0128] Quando N é 4, a Tabela no Anexo F.6 com 32 direções predefinidas é usada. Em todos os casos, os valores absolutos dos pesos w são vetorialmente quantizados em relação aos valores de ponderação predefinidos á encontrados nas primeiras colunas k + 1 da Tabela na Tabela F.12 mostrada abaixo e sinalizada com o índice de número de fileira associado.
[0129] Os signos numéricos dos pesos w são separadamente codificados como
Figure img0015
[0130] Em outras palavras, após sinalizar o valor k , um vetor V é criptado com k + 1 índices que apontam para os k + 1 vetores de código predefinidos {Qj}, um índice que aponta para os k pesos quantizados {áj} no livro de código de ponderação predefinido e k + 1 valores de signo numérico sj :
Figure img0016
Se o codificador selecionar uma soma ponderada de um vetor de código, um livro de código derivado da Tabela F.8 é usado em combinação com os valores de ponderação absolutos ó na Tabela da Tabela F.11 , em que ambas essas Tabelas são mostradas abaixo. Além disso, o signo numérico do valor de ponderação w pode ser separadamente codificado.
[0131] Em relação a isso, as técnicas podem permitir que o dispositivo de criptação de áudio 20 selecione um dentre uma pluralidade de livros de código para usar quando se realizar quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma síntese com base em vetor para uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0132] Além disso, as técnicas podem permitir que o dispositivo de criptação de áudio 20 selecione entre uma pluralidade de livros de código pareados a serem usados quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma síntese com base em vetor para uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0133] Em alguns exemplos, a unidade de codificação de vetor V 52 pode determinar, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA). Cada um
[0134] dentre os valores de peso pode corresponder a um respectivo peso de uma pluralidade de pesos incluído em uma soma ponderada dos vetores de código que representa o vetor.
[0135] Em tais exemplos, a unidade de codificação de vetor V 52 pode, em alguns exemplos, quantizar os dados indicativos dos valores de peso. Em tais exemplos, para quantizar os dados indicativos dos valores de peso a unidade de codificação de vetor V 52 podem, em alguns exemplos, selecionar um subconjunto dos valores de peso para quantizar, e quantizar dados indicativos do subconjunto selecionado dos valores de peso. Em tais exemplos, a unidade de codificação de vetor V 52 pode, em alguns exemplos, não quantizar dados indicativos de valores de peso que não estão incluídos no subconjunto selecionado dos valores de peso.
[0136] Em alguns exemplos, a unidade de codificação de vetor V 52 pode determinar um conjunto de N valores de peso. Em tais exemplos, a unidade de codificação de vetor V 52 pode selecionar os M valores de peso maiores a partir do conjunto de N valores de peso para formar o subconjunto dos valores de peso, em que M é menor que N.
[0137] Para quantizar os dados indicativos dos valores de peso, a unidade de codificação de vetor V 52 pode realizar pelo menos uma dentre quantização escalar, quantização vetorial e quantização de matriz em relação aos dados indicativos dos valores de peso. Outras técnicas de quantização, além das técnicas de quantização mencionadas acima ou no lugar das mesmas, também podem ser realizadas.
[0138] Para determinar os valores de peso, a unidade de codificação de vetor V 52 pode, para cada um dentre os valores de peso, determinar o respectivo valor de peso com base em um respectivo vetor dentre os vetores de código 63. Por exemplo, a unidade de codificação de vetor V 52 pode multiplicar o vetor por um respectivo vetor dentre os vetores de código 63 para determinar o respectivo valor de peso. Em alguns casos, a unidade de codificação de vetor V 52 pode envolver multiplicar o vetor por uma transposição do respectivo vetor dentre os vetores de código 63 para determinar o respectivo valor de peso.
[0139] Em alguns exemplos, a versão decomposta dos coeficientes de HOA pode ser uma versão decomposta de valor singular dos coeficientes de HOA. Em exemplos adicionais, a versão decomposta dos coeficientes de HOA pode ser pelo menos uma dentre uma versão de componente principal analisada (PCA) dos coeficientes de HOA, uma versão transformada de arhunen-Loeve dos coeficientes de HOA, uma versão transformada de Hotelling dos coeficientes de HOA, uma versão decomposta ortogonal apropriada (POD) dos coeficientes de HOA e uma versão decomposta de autovalor (EVD) dos coeficientes de HOA.
[0140] Em exemplos adicionais, o conjunto de vetores de código 63 pode incluir pelo menos um dentre um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de vetores direcionais pseudo- ortonormais, um conjunto de vetores direcionais pseudo- ortogonais, um conjunto de vetores de base direcional, um conjunto de vetores ortogonais, um conjunto de vetores ortonormais, um conjunto de vetores pseudo-ortonormais, um conjunto de vetores pseudo-ortogonais, um conjunto de vetores de base harmônica esférica, um conjunto de vetores normalizados e um conjunto de vetores de base.
[0141] Em alguns exemplos, a unidade de codificação de vetor V 52 pode usar um livro de código de decomposição para determinar os pesos que são usados para representar um vetor V (por exemplo, um vetor V[k] de primeiro plano reduzido). Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um livro de código de decomposição a partir de um conjunto de livros de códigos de decomposição candidatos e determinar os pesos que representam o vetor V com base no livro de código de decomposição selecionado.
[0142] Em alguns exemplos, cada um dentre os livros de código de decomposição candidatos pode corresponder a um conjunto de vetores de código 63 que podem ser usados para decompor um vetor V e/ou para determinar os pesos que correspondem ao vetor V. Em outras palavras, cada livro de código de decomposição diferente corresponde a um conjunto de vetores de código diferente 63 que pode ser usado para decompor um vetor V. Cada entrada no livro de código de decomposição corresponde a um dentre os vetores no conjunto de vetores de código.
[0143] O conjunto de vetores de código em um livro de código de decomposição pode corresponder a todos os vetores de código incluídos em uma soma ponderada de vetores de código que é usada para decompor um vetor V. Por exemplo, o conjunto de vetores de código pode corresponder ao conjunto de vetores de código 63 ({Qj}) incluídos na soma ponderada de vetores de código mostrados no lado direito da expressão (1). Nesse exemplo, cada um dentre os vetores de código 63 (isto é, Qj) pode corresponder a uma entrada no livro de código de decomposição.
[0144] Livros de código de decomposição diferentes podem ter o mesmo número de vetores de código 63 em alguns exemplos. Em exemplos adicionais, livros de código de decomposição diferentes podem ter um número diferente de vetores de código 63.
[0145] Por exemplo, pelo menos dois dentre os livros de código de decomposição candidatos podem ter um número diferente de entradas (isto é, vetores de código 63 nesse exemplo). Como outro exemplo, todos os livros de código de decomposição candidatos podem ter um número diferente de entradas 63. Como um exemplo adicional, pelo menos dois dentre os livros de código de decomposição candidatos podem ter um mesmo número de entradas 63. Como um exemplo adicional, todos os livros de código de decomposição candidatos podem ter o mesmo número de entradas 63.
[0146] A unidade de codificação de vetor V 52 pode selecionar um livro de código de decomposição a partir do conjunto de livros de código de decomposição candidatos com base em um ou mais diversos critérios. Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um livro de código de decomposição com base nos pesos que correspondem a cada livro de código de decomposição. Por exemplo, a unidade de codificação de vetor V 52 pode realizar uma análise dos pesos que correspondem a cada livro de código de decomposição (a partir da soma ponderada correspondente que representa o vetor V) para determinar quantos pesos são exigidos para representar o vetor V com alguma margem de precisão (conforme definido, por exemplo, por um erro limítrofe). A unidade de codificação de vetor V 52 pode selecionar o livro de código de decomposição que exige o menor número de pesos. Em exemplos adicionais, a unidade de codificação de vetor V 52 pode selecionar um livro de código de decomposição com base nas características do campo sonoro subjacente (por exemplo, artificialmente criado, naturalmente gravado, altamente difundido, etc.).
[0147] Para determinar os pesos (isto é, valores de peso) com base em um livro de código selecionado, a unidade de codificação de vetor V 52 pode, para cada um dentre os pesos, selecionar uma entrada de livro de código (isto é, vetor de código) que corresponde ao respectivo peso (conforme identificado, por exemplo, pelo elemento de sintaxe “Weightldx”) e determinar o valor de peso para o respectivo peso com base na entrada de livro de código selecionada. Para determinar o valor de peso com base na entrada de livro de código selecionada, a unidade de codificação de vetor V 52 pode, em alguns exemplos, multiplicar o vetor V pelo vetor de código 63 que é especificado pela entrada de livro de código selecionada para gerar o valor de peso. Por exemplo, a unidade de codificação de vetor V 52 pode multiplicar o vetor V pela transposição do vetor de código 63 que é especificada pela entrada de livro de código selecionada para gerar um valor de peso escalar. Como outro exemplo, a equação (2) pode ser usada para determinar os valores de peso.
[0148] Em alguns exemplos, cada um dentre os livros de código de decomposição pode corresponder a um respectivo livro dentre uma pluralidade de livros de código de quantização. Em tais exemplos, quando a unidade de codificação de vetor V 52 seleciona um livro de código de decomposição, a unidade de codificação de vetor V 52 também pode selecionar um livro de código de quantização que corresponde ao livro de código de decomposição.
[0149] A unidade de codificação de vetor V 52 pode fornecer à unidade de geração de fluxo de bits 42 dados indicativos de qual livro de código de decomposição foi selecionado (por exemplo, o elemento de sintaxe Codebkldx) para codificar um ou mais dentre os vetores V[k] de primeiro plano reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 possa incluir tais dados no fluxo de bits resultante. Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um livro de código de decomposição para usar para cada quadro de coeficientes de HOA a ser codificado. Em tais exemplos, a unidade de codificação de vetor V 52 pode fornecer dados indicativos de qual livro de código de decomposição foi selecionado para codificar cada quadro (por exemplo, o elemento de sintaxe Codebkldx) para a unidade de geração de fluxo de bits 42. Em alguns exemplos, os dados indicativos de qual livro de código de decomposição foi selecionado podem ser um índice de livro de código e/ou um valor de identificação que corresponde ao livro de código selecionado.
[0150] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um número indicativo de quantos pesos devem ser usados para estimar um vetor V (por exemplo, um vetor V[k] de primeiro plano reduzido). O número indicativo de quantos pesos devem ser usados para estimar um vetor V também pode ser indicativo do número de pesos a ser quantizado e/ou codificado pela unidade de codificação de vetor V 52 e/ou pelo dispositivo de criptação de áudio 20. O número indicativo de quantos pesos devem ser usados para estimar um vetor V também pode ser denominado como o número de pesos a ser quantizado e/ou codificado. Esse número indicativo de quantos pesos pode ser alternativamente representado como número de vetores de código 63 aos quais esses pesos correspondem. Portanto, esse número também pode ser denotado como o número de vetores de código 63 usado para desquantizar um vetor V quantizado por vetor e pode ser denotado por um elemento de sintaxe NumVecIndices.
[0151] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar o número de pesos a ser quantizado e/ou codificado para um vetor V em particular com base nos valores de peso que foram determinados para aquele vetor V em particular. Em exemplos adicionais, a unidade de codificação de vetor V 52 pode selecionar o número de pesos a ser quantizado e/ou codificado para um vetor V em particular com base em um erro associado à estimativa do vetor V com o uso de um ou mais números de pesos particulares.
[0152] Por exemplo, a unidade de codificação de vetor V 52 pode determinar um limiar de erro máximo para um erro associado à estimativa de um vetor V e pode determinar quantos pesos são necessários para tornar o erro entre um vetor V estimado, que é estimado com diversos pesos, e o vetor V menor ou igual ao limiar de erro máximo. O vetor estimado pode corresponder à soma ponderada de vetores de código em que menor que todos os vetores de código do livro de código são usados na soma ponderada.
[0153] Em alguns exemplos, a unidade de codificação de vetor V 52 pode determinar quantos pesos são necessários para tornar o erro abaixo de um limitar com base na seguinte equação:
Figure img0017
[0154] em que Qi representa o i-ésimo vetor de código, Oi representa o j-ésimo peso, VFG corresponde ao vetor V que está sendo decomposto, quantizado e/ou codificado pela unidade de codificação de vetor V 52 e |x|α é uma norma do valor x, em que α é um valor indicativo de qual tipo de norma é usado. Por exemplo, α = 1 representa um norma L1 e α = 2 representa uma norma L2. A Figura 20 é um diagrama que ilustra um gráfico exemplificativo 700 que mostra um erro limítrofe usado para selecionar X* número de vetores de código de acordo com diversos aspectos das técnicas descritas nesta revelação. O gráfico 700 inclui uma linha 702 que ilustra como o erro diminui conforme o número de vetores de código aumenta.
[0155] No exemplo mencionado acima, os índices, i, podem, em alguns exemplos, indexar os pesos em uma sequência de ordem de forma que pesos de magnitude maior (por exemplo, valor absoluto maior) ocorram antes de pesos de magnitude menor (por exemplo, valor absoluto menor) na sequência ordenada. Em outras palavras, w1 pode representa o maior valor de peso, w2 pode representar o próximo maior valor de peso e assim por diante. De modo semelhante, ux pode representar o menor valor de peso.
[0156] A unidade de codificação de vetor V 52 pode fornecer à unidade de geração de fluxo de bits 42 dados indicativos de quantos pesos foram selecionados para codificar um ou mais dentre os vetores de primeiro plano V[k] reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 possa incluir tais dados no fluxo de bits resultante. Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar diversos pesos para usar para codificar um vetor V para cada quadro de coeficientes de HOA a ser codificado. Em tais exemplos, a unidade de codificação de vetor V 52 pode fornecer à unidade de geração de fluxo de bits 42 dados indicativos de quantos pesos foram selecionados para codificar cada quadro para a unidade de geração de fluxo de bits 42. Em alguns exemplos, os dados indicativos de quantos pesos foram selecionados podem ser um número indicativo de quantos pesos foram selecionados para codificação e/ou quantização.
[0157] Em alguns exemplos, a unidade de codificação de vetor V 52 pode usar um livro de código de quantização para quantizar o conjunto de pesos que é usado para representar e/ou estimar um vetor V (por exemplo, um vetor V[k] de primeiro plano reduzido). Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um livro de código de quantização a partir de um conjunto de livros de código de quantização candidatos e quantizar o vetor V com base no livro de código de quantização selecionado.
[0158] Em alguns exemplos, cada um dentre os livros de código de quantização candidatos pode corresponder a um conjunto de vetores de quantização candidatos que pode ser usado para quantizar um conjunto de pesos. O conjunto de pesos pode formar um vetor de pesos que devem ser quantizados com o uso desses livros de código de quantização. Em outras palavras, cada livro de código de quantização diferente corresponde a um conjunto de vetores de quantização diferente a partir do qual um único vetor de quantização pode ser selecionado para quantizar o vetor V.
[0159] Cada entrada no livro de código pode corresponder a um vetor de quantização candidato. O número de componentes em cada um dentre os vetores de quantização candidatos pode, em alguns exemplos, ser igual ao número de pesos a ser quantizado.
[0160] Em alguns exemplos, livros de código de quantização diferentes podem ter o mesmo número de vetores de quantização candidatos. Em exemplos adicionais, livros de código de quantização diferentes podem ter um número diferente de vetores de quantização candidatos.
[0161] Por exemplo, pelo menos dois dentre os livros de código de quantização candidatos podem ter um número diferente de vetores de quantização candidatos. Como outro exemplo, todos os livros de código de quantização candidatos podem ter um número diferente de vetores de quantização candidatos. Como um exemplo adicional, pelo menos dois dentre os livros de código de quantização candidatos pode ter um mesmo número de vetores de quantização candidatos. Como um exemplo adicional, todos os livros de código de quantização candidatos podem ter o mesmo número de vetores de quantização candidatos.
[0162] A unidade de codificação de vetor V 52 pode selecionar um livro de código de quantização a partir do conjunto de livros de código de quantização candidatos com base em um ou mais diversos critérios. Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um livro de código de quantização para um vetor V com base em um livro de código de decomposição que foi usado para determinar os pesos para o vetor V. Como outro exemplo, a unidade de codificação de vetor V 52 pode selecionar o livro de código de quantização para um vetor V com base em uma distribuição de probabilidade dos valores de peso a serem quantizados. Em outros exemplos, a unidade de codificação de vetor V 52 pode selecionar o livro de código de quantização para um vetor V com base em uma combinação da seleção do livro de código de decomposição que foi usado para determinar os pesos para o vetor V assim como o número de pesos que foi considerado necessário para representar o vetor V em algum limiar de erro (por exemplo, segundo a Equação 14).
[0163] Para quantizar os pesos com base no livro de código de quantização selecionado, a unidade de codificação de vetor V 52 pode, em alguns exemplos, determinar um vetor de quantização para usar para quantizar o vetor V com base no livro de código de quantização selecionado. Por exemplo, a unidade de codificação de vetor V 52 pode realizar quantização vetorial (VQ) para determinar o vetor de quantização para usar para quantizar o vetor V.
[0164] Em exemplos adicionais, para quantizar os pesos com base no livro de código de quantização selecionado, a unidade de codificação de vetor V 52 pode, para cada vetor V, selecionar um vetor de quantização a partir do livro de código de quantização selecionado com base em um erro de quantização associado ao uso de um ou mais dentre os vetores de quantização para representar o vetor V. Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um vetor de quantização candidato a partir do livro de código de quantização selecionado que minimize um erro de quantização (por exemplo, minimize um erro de quadrados mínimos).
[0165] Em alguns exemplos, cada um dentre os livros de código de quantização pode corresponder a um respectivo livro dentre uma pluralidade de livros de código de decomposição. Em tais exemplos, a unidade de codificação de vetor V 52 também pode selecionar um livro de código de quantização para quantizar o conjunto de pesos associado a um vetor V com base no livro de código de decomposição que foi usado para determinar os pesos para o vetor V. Por exemplo, a unidade de codificação de vetor V 52 pode selecionar um livro de código de quantização que corresponde ao livro de código de decomposição que foi usado para determinar os pesos para o vetor V.
[0166] A unidade de codificação de vetor V 52 pode fornecer à unidade de geração de fluxo de bits 42 dados indicativos de qual livro de código de quantização foi selecionado para quantizar os pesos que correspondem a um ou mais dentre os vetores de primeiro plano V[k] reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 possa incluir tais dados no fluxo de bits resultante. Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um livro de código de quantização para usar para cada quadro de coeficientes de HOA a ser codificado. Em tais exemplos, a unidade de codificação de vetor V 52 pode fornecer dados indicativos de qual livro de código de quantização foi selecionado para quantizar pesos em cada quadro para a unidade de geração de fluxo de bits 42. Em alguns exemplos, os dados indicativos de qual livro de código de quantização foi selecionado podem ser um índice de livro de código e/ou um valor de identificação que corresponde ao livro de código selecionado.
[0167] A unidade codificadora de áudio psicoacústica 40 incluída no dispositivo de criptação de áudio 20 pode representar múltiplos casos de um codificador de áudio psicoacústico, em que cada um é usado para criptar um objeto de áudio ou canal de HOA diferente de cada um dentre os coeficientes de HOA ambientes compensados por energia 47’ e os sinais de nFG interpolados 49’ para gerar coeficientes de HOA ambientes criptados 59 e sinais de nFG criptados 61. A unidade codificadora de áudio psicoacústica 40 pode emitir os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 61 para a unidade de geração de fluxo de bits 42.
[0168] A unidade de geração de fluxo de bits 42 incluída no dispositivo de criptação de áudio 20 representa uma unidade que formata dados para conformar a um formato conhecido (o qual pode se referir a um formato conhecido por um dispositivo de decodificação), gerando, desse modo, o fluxo de bits com base em vetor 21. O fluxo de bits 21 pode, em outras palavras, representar dados de áudio criptados que foram criptados da forma descrita acima. A unidade de geração de fluxo de bits 42 pode representar um multiplexador em alguns exemplos, o qual pode receber os vetores de primeiro plano V[k] codificados 57, os coeficientes de HOA ambientes criptados 59, os sinais de nFG criptados 61 e as informações de canal de fundo 43. A unidade de geração de fluxo de bits 42 pode, então, gerar um fluxo de bits 21 com base nos vetores de primeiro plano V[k] codificados 57, nos coeficientes de HOA ambientes criptados 59, nos sinais de nFG criptados 61 e nas informações de canal de fundo 43. Dessa forma, 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 bits de canal secundários.
[0169] Embora não mostrado no exemplo da Figura 3A, o dispositivo de criptação de áudio 20 também pode incluir uma unidade de emissão de fluxo de bits que comuta o fluxo de bits emitido a partir do dispositivo de criptação de áudio 20 (por exemplo, entre o fluxo de bits com base direcional 21 e o fluxo de bits com base em vetor 21) com base em se um quadro atual deve ser criptado com o uso da síntese com base direcional ou da síntese com base em vetor. A unidade de emissão de fluxo de bits pode realizar a comutação com base no elemento de sintaxe emitido pela unidade de análise de conteúdo 26 que indica se uma síntese com base direcional foi realizada (como um resultado da detecção de que os coeficientes de HOA 11 foram gerados a partir de um objeto de áudio sintético) ou uma síntese com base em vetor foi realizada (como um resultado da detecção de que os coeficientes de HOA foram registrados). A unidade de emissão de fluxo de bits pode especificar a sintaxe de cabeçalho correta para indicar a comutação ou a criptação atual usada para o quadro atual em conjunto com o respectivo fluxo de bits dentre os fluxos de bits 21.
[0170] Além disso, conforme observado acima, a unidade de análise de campo sonoro 44 pode identificar coeficientes de HOA ambientes de BGTOT 47, os quais podem alterar em uma base de quadro por quadro (embora, em alguns momentos, BGTOT possa permanecer constante ou o mesmo por dois ou mais quadros adjacentes (no tempo)). A alteração em BGTOT pode resultar em alterações aos coeficientes expressos nos vetores de primeiro plano V[k] reduzidos 55. A alteração em BGTOT pode resultar em coeficientes de HOA de fundo (os quais também podem ser denominado como “coeficientes de HOA ambientes”) que alteram em uma base de quadro por quadro (embora, novamente, em alguns momentos, BGTOT possa permanecer constante ou o mesmo por dois ou mais quadros adjacentes (no tempo)). As alterações resultam normalmente em uma alteração de energia para os aspectos do campo sonoro representados pela adição ou a remoção dos coeficientes de HOA ambientes adicionais e pela remoção correspondente de coeficientes dos vetores de primeiro plano V[k] reduzidos 55 ou pela adição de coeficientes aos mesmos.
[0171] Como um resultado, a unidade de análise de campo sonoro 44 pode determinar adicionalmente quando os coeficientes de HOA ambientes alteram de quadro a quadro e gerar um sinalizador ou outro elemento de sintaxe indicativo da alteração ao coeficiente de HOA ambiente em termos de ser usado para representar os componentes ambientes do campo sonoro (em que a alteração também pode ser denominada como uma “transição” do coeficiente de HOA ambiente ou como uma “transição” do coeficiente de HOA ambiente). Em particular, a unidade de redução de coeficiente 46 pode gerar o sinalizador (o qual pode ser denotado como um sinalizador AmbCoeffTransition ou um sinalizador AmbCoeffldxTransition), o que fornece o sinalizador à unidade de geração de fluxo de bits 42 de forma que o sinalizador possa ser incluído no fluxo de bits 21 (possivelmente como parte das informações de canal secundário).
[0172] A unidade de redução de coeficiente 46 também pode, além de especificar o sinalizador de transição de coeficiente ambiente, modificar como os vetores V[k] de primeiro plano reduzidos 55 são gerados. Em um exemplo, mediante a determinação de que um dentre os coeficientes de HOA ambientes está em transição durante o quadro atual, a unidade de redução de coeficiente 46 pode especificar um coeficiente de vetor (o qual também pode ser denominado como um “elemento de vetor” ou “elemento”) para cada um dentre os vetores V dos vetores de primeiro plano V[k] reduzidos 55 que corresponde ao coeficiente de HOA ambiente em transição. Novamente, o coeficiente de HOA ambiente em transição pode adicionar ou remover do número total de BGTOT de coeficientes de fundo. Portanto, a alteração resultante no número total de coeficientes de fundo afeta se o coeficiente de HOA ambiente está 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 especificados no fluxo de bits no segundo e no terceiro modos de configuração descritos acima. Mais informações em relação a como a unidade de redução de coeficiente 46 pode especificar os vetores de primeiro plano V[k] reduzidos 55 para superar as alterações na energia são fornecidas no Pedido no de série U.S. 14/594.533, intitulado “TRANSITIONING OF AMBIENT HIGHER ORDER AMBISONIC COEFFICIENTS”, depositado em 12 de janeiro de 2015.
[0173] A Figura 3B é um diagrama em blocos que ilustra, em mais detalhes, outro exemplo do dispositivo de criptação de áudio 420 mostrado no exemplo da Figura 3 que pode realizar diversos aspectos das técnicas descritas nesta revelação. O dispositivo de criptação de áudio 420 mostrado na Figura 3B é semelhante ao dispositivo de criptação de áudio 20 exceto pelo fato de que a unidade de codificação de vetor V 52 no dispositivo de criptação de áudio 420 também fornece informações de valor de peso 71 à unidade de reordenação 34.
[0174] Em alguns exemplos, as informações de valor de peso 71 podem incluir um ou mais dentre os valores de peso calculados pela unidade de codificação de vetor V 52. Em exemplos adicionais, as informações de valor de peso 71 podem incluir informações indicativas de quais pesos foram selecionados para quantização e/ou codificação pela unidade de codificação de vetor V 52. Em exemplos adicionais, as informações de valor de peso 71 podem incluir informações indicativas de quais pesos não foram selecionados para quantização e/ou codificação pela unidade de codificação de vetor V 52. As informações de valor de peso 71 podem incluir qualquer combinação de qualquer um dentre os itens de informações mencionados acima assim como outros itens além dos itens de informações mencionados acima ou no lugar dos mesmos.
[0175] Em alguns exemplos, a unidade de reordenação 34 pode reordenar os vetores com base nas informações de valor de peso 71 (por exemplo, com base nos valores de peso). Em exemplos em que a unidade de codificação de vetor V 52 seleciona um subconjunto dos valores de peso para quantizar e/ou codificar, a unidade de reordenação 34 pode, em alguns exemplos, reordenar os vetores com base em quais dentre os valores de peso foram selecionados para quantização ou codificação (os quais podem ser indicados pelas informações de valor de peso 71).
[0176] A Figura 4A é um diagrama em blocos que ilustra o dispositivo de decodificação de áudio 24 da Figura 2 em mais detalhes. Conforme mostrado no exemplo da Figura 4A, o dispositivo de decodificação de áudio 24 pode incluir uma unidade de extração 72, uma unidade de reconstrução com base em direcionalidade 90 e uma unidade de reconstrução com base em vetor 92. Embora descrito abaixo, mais informações em relação ao dispositivo de decodificação de áudio 24 e aos diversos aspectos para descompactar ou decodificar de outro modo coeficientes de HOA estão disponíveis na Publicação de Pedido de Patente Internacional no WO 2014/194099, intitulado “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD”, depositado em 29 de maio de 2014.
[0177] A unidade de extração 72 pode representar uma unidade configurada para receber o fluxo de bits 21 e extrair as diversas versões criptadas (por exemplo, uma versão criptada com base direcional ou uma versão criptada com base em vetor) dos coeficientes de HOA 11. A unidade de extração 72 pode determinar a partir do elemento de sintaxe observado acima um indicativo de se os coeficientes de HOA 11 foram criptados por meio das diversas versões com base em direção ou com base em vetor. Quando uma criptação com base direcional foi realizada, a unidade de extração 72 pode extrair a versão com base direcional dos coeficientes de HOA 11 e os elementos de sintaxe associados à versão criptada (os quais são denotados como informações com base direcional 91 no exemplo da Figura 4A), o que passa as informações com base direcional 91 para a unidade de reconstrução com base direcional 90. A unidade de reconstrução com base direcional 90 pode representar uma unidade configurada para reconstruir os coeficientes de HOA na forma de coeficientes de HOA 11’ com base nas informações com base direcional 91.
[0178] Quando o elemento de sintaxe indica que os coeficientes de HOA 11 foram criptados com o uso de uma síntese com base em vetor, a unidade de extração 72 pode extrair os vetores de primeiro plano V[k] codificados (os quais podem incluir pesos codificados 57 e/ou índices 73), os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 59. A unidade de extração 72 pode passar os pesos codificados 57 para a unidade de quantização 74 e os coeficientes de HOA ambientes criptados 59 em conjunto com os sinais de nFG criptados 61 para a unidade de decodificação psicoacústica 80.
[0179] Para extrair os pesos codificados 57, os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 59, a unidade de extração 72 pode obter um recipiente HOADecoderConfig que inclui o elemento de sintaxe denotado CodedVVecLength. A unidade de extração 72 pode analisar o CodedVVecLength a partir do recipiente HOADecoderConfig. A unidade de extração 72 pode ser configurada para operar em qualquer um dentre os modos de configuração descritos acima com base no elemento de sintaxe CodedVVecLength.
[0180] Em alguns exemplos, a unidade de extração 72 pode operar de acordo com a afirmação de comutação apresentada no pseudocódigo a seguir com a sintaxe apresentada na Tabela de sintaxe a seguir (em que os riscados indicam a remoção da matéria riscada e sublinhados indicam a adição da matéria sublinhada em relação a versões anteriores da Tabela de sintaxe) para VVectorData conforme compreendido em vista da semântica anexa:
Figure img0018
Figure img0019
VVectorData( VecSigChannellds(i) ) Essa estrutura contém os dados de vetor V codificados usados para a síntese de sinal com base em vetor. VVec(k)[i] Esse é o vetor V para o k-ésimo HOAframe() para o i-ésimo canal. VVecLength Essa variável indica o número de elementos de vetor a serem lidos. VVecCoeffld Esse vetor contém os índices dos coeficientes de vetor V transmitidos. VecVal Um valor de número inteiro entre 0 e 255. aVal Uma variável temporária usada durante decodificação do VVectorData. huffVal Uma palavra de código de Huffman a ser decodificada por Huffman. sgnVal Esse é o valor de signo codificado usado durante a decodificação. intAddVal Esse é o valor de número inteiro adicional usado durante a decodificação. NumVecIndices O número de vetores usado para desquantizar um vetor V quantizado por vetor. Weightldx O índice em WeightValCdbk usado para desquantizar um vetor V quantizado por vetor. nbitsW Tamanho de campo para ler Weightldx para decodificar um vetor V quantizado por vetor. WeightValCdbk Livro de código que contém um vetor de coeficientes de ponderação de valor real positivo. Se NumVecIndices for definido para 1, o WeightValCdbk com 16 entradas é usado, de outro modo o WeightValCdbk com 256 entradas é usado. Vvecldx Um índice para VecDict usado para desquantizar um vetor V quantizado por vetor. nbitsldx Tamanho de campo para ler Vvecldxs individual para decodificar um vetor V quantizado por vetor. Weight Val Um coeficiente de ponderação de valor real para decodificar um vetor V quantizado por vetor.
[0181] Na Tabela de sintaxe supracitada, a primeira afirmação de comutação com os quatro casos (caso 0 a 3) possibilita uma forma pela qual se determina o comprimento do vetor VTDIST em termos do número (VVecLength) e dos índices de coeficientes (VVecCoeffld). O primeiro caso, caso 0, indica que todos os coeficientes para os vetores VTDIST (NumOfHoaCoeffs) são especificados. O segundo caso, caso 1, indica que apenas aqueles coeficientes do vetor VTDIST que corresponde ao número maior que um MinNumOfCoeffsForAmbHOA é especificado, os quais podem ser denotados como o que é denominado como (NDIST+ l)2 - (NBG + l)2 acima. Além disso, esses coeficientes NumOfContAddAmbHoaChan identificados em ContAddAmbHoaChan são subtraídos. A lista ContAddAmbHoaChan especifica canais adicionais (em que “canais” se referem a um coeficiente em particular que corresponde a uma determinada ordem, combinação de subordem) que correspondem a uma ordem que excede a ordem MinAmbHoaOrder. O terceiro caso, caso 2, indica que aqueles coeficientes do vetor VTDIST que correspondem ao número maior que um MinNumOfCoeffsForAmbHOA é especificado, os quais podem denotar o que é denominado como (NDIST + l)2 - (NBG + 1)2 acima. Tanto VVecLength quanto a lista de VVecCoeffld são válidos para todos VVectors dentro de HOAFrame.
[0182] Após essa afirmação de comutação, a decisão da possibilidade de realizar quantização vetorial ou desquantização escalar uniforme pode ser controlada por NbitsQ (ou, conforme denotado acima, nbits). Anteriormente, apenas a quantização escalar foi proposta para quantizar os VVectors (por exemplo, quando NbitsQ é igual a 4). Embora a quantização escalar ainda seja fornecida quando NBitsQ é igual a 5, uma quantização vetorial pode ser realizada de acordo com as técnicas descritas nesta revelação quando, como um exemplo, NbitsQ é igual a 4.
[0183] Em outras palavras, um sinal de HOA que tem uma direcionalidade forte é representado por um sinal de áudio de primeiro plano e pelas informações correspondentes espaciais, isto é, um vetor V nos exemplos desta revelação. Nas técnicas de codificação de vetor V descritas nesta revelação, cada vetor V é representado por uma somatória ponderada de vetores direcionais predefinidos conforme dado pela seguinte equação:
Figure img0020
[0184] em que wi e Qi são um i-ésimo valor de ponderação e o vetor direcional correspondente, respectivamente.
[0185] Um exemplo da codificação de vetor V é ilustrado na Figura 16. Conforme mostrado na Figura 16 (a), um vetor V original pode ser representado por uma mistura dos diversos vetores direcionais. O vetor V original pode, então, ser estimado por uma soma ponderada, conforme mostrado na Figura 16 (b), em que um vetor de ponderação é mostrado na Figura 16(e). As Figuras 16 (c) e (f) ilustram os casos em que apenas Is (Is <I) valores de ponderação mais altos são selecionados. A quantização vetorial (VQ) pode, então, ser realizada para os valores de ponderação selecionados e o resultado é ilustrado nas Figuras 16 (d) e (g).
[0186] A complexidade computacional desse esquema de codificação de vetor V pode ser determinada conforme segue: 0,06 MOPS (ordem de HOA = 6) / 0,05 MOPS (ordem de HOA = 5); e 0,03 MOPS (ordem de HOA = 4) / 0,02 MOPS (ordem de HOA = 3).
[0187] A complexidade de ROM pode ser determinada como 16,29 kbytes (para ordens de HOA 3, 4, 5 e 6), enquanto o atraso algorítmico é determinado para ser 0 amostras.
[0188] A modificação exigida para a versão atual do padrão de codificação de áudio 3D mencionado acima pode ser denotada dentro da Tabela de sintaxe VYectorData mostrada acima pelo uso de sublinhados. Isto é, no CD do padrão proposto de áudio MPEG-H 3D mencionado acima, a codificação de vetor V foi realizada com quantização escalar (SQ) ou SQ seguida pela codificação de Huffman. Os bits exigidos do método de quantização vetorial (VQ) proposto podem ser menores que os métodos de codificação de SQ convencionais. Para os 12 itens de teste de referência, os bits exigidos em média são conforme segue:
[0189] • SQ+Huffman: 16,25 kbps
[0190] • VQ proposta: 5,25 kbps
[0191] Os bits salvos podem ser atribuídos um novo propósito para uso para codificação de áudio perceptual.
[0192] A unidade de reconstrução de vetor V 74 pode, em outras palavras, operar de acordo com o pseudocódigo a seguir para reconstruir os vetores V:
Figure img0021
[0193] De acordo com o pseudocódigo supracitado (em que riscados indicam a remoção da matéria riscada), a unidade de reconstrução de vetor V 74 pode determinar VVecLength pelo pseudocódigo para a afirmação de comutação com base no valor de CodedVVecLength. Com base nesse VVecLength, a unidade de reconstrução de vetor V 74 pode iterar através de afirmações if/elseif subsequentes, as quais consideram o valor de NbitsQ. Quando o i-ésimo valor de NbitsQ para o k-ésimo quadro é igual a 4, a unidade de reconstrução de vetor V 74 determina que a desquantização vetorial deve ser realizada.
[0194] O elemento de sintaxe cdbLen indica o número de entradas no dicionário ou livro de código de vetores de código (em que esse dicionário é denotado como “VecDict” no pseudocódigo supracitado e representa um livro de código com entradas de livro de código cdbLen que contêm vetores de coeficientes de expansão de HOA usados para decodificar para decodificar um vetor V quantizado por vetor), o qual é derivado com base no NumVvecIndicies e na ordem de HOA. Quando o valor de NumVvecIndicies é igual a um, os coeficientes de expansão de HOA de livro de código de vetor derivados da Tabela F.8 acima em conjunto com um livro de código de valores de ponderação 8x1 são mostrados na Tabela F.l1 acima. Quando o valor de NumVvecIndicies é maior que um, o livro de código de vetor com o vetor O é usado em combinação com valores de ponderação 256x8 mostrados na Tabela F.12 acima.
[0195] Embora se descreva acima o uso de um livro de código de tamanho 256x8, livros de código diferentes podem ser usados que têm números diferentes de valores. Isto é, em vez de val0 a val7, um livro de código com 256 fileiras pode ser usado, em que cada fileira é indexada por um valor de índice diferente (índice 0 a índice 255) e tem um número diferente de valores, tal como val 0 a val 9 (para um total de dez valores) ou val 0 a val 15 (para um total de 16 valores). As Figuras 19A e 19B são diagramas que ilustram livros de código com 256 fileiras, em que cada fileira tem 10 valores e 16 valores, respectivamente, que podem ser usados de acordo com diversos aspectos das técnicas descritas nesta revelação.
[0196] A unidade de reconstrução de vetor V 74 pode derivar o valor de peso para cada vetor de código correspondente usado para reconstruir o vetor V com base em um livro de código de valor de peso (denotado como “WeightValCdbk”, o qual pode representar uma Tabela multidimensional indexada com base em um ou mais dentre um índice de livro de código (denotado “Codebkldx” na Tabela de sintaxe WectorData(i) supracitada) e um índice de peso (denotado “Weightldx” na Tabela de sintaxe WectorData(i) supracitada)). Esse elemento de sintaxe Codebkldx pode ser definido em uma porção das informações de canal secundário, conforme mostrado na Tabela de sintaxe ChannelSidelnfoData(i) a seguir. Tabela - Sintaxe de ChannelSidelnfoData(i)
Figure img0022
Figure img0023
[0197] Os sublinhados na Tabela supracitada denotam alterações na Tabela de sintaxe existente para acomodar a adição do Codebkldx. A semântica para a Tabela supracitada é conforme segue.
[0198] Essa carga útil retém as informações secundárias para o i-ésimo canal. O tamanho e os dados da carga útil dependem do tipo do canal.
[0199] ChannelType[i] Esse elemento armazena o tipo d i-ésimo canal que é definido na Tabela 95.
[0200] ActiveDirsIds[i] Esse elemento indica a direção do sinal direcional ativo com o uso de um índice dos 900 pontos uniformemente distribuídos predefinidos a partir do Anexo F.7. A palavra de código 0 é usada para sinalizar o fim de um sinal direcional.
[0201] PFlag[i] O sinalizador de previsão usado para a decodificação de Huffman do vetor V quantizado de modo escalar associado ao sinal com base em vetor do i- ésimo canal.
[0202] CbFlag[i] O sinalizador de livro de código usado para a decodificação de Huffman do vetor V quantizado de modo escalar associado ao sinal com base em vetor do i-ésimo canal.
[0203] Codebkldxfil Sinaliza o livro de código específico usado para desquantizar o vetor V quantizado por vetor associado ao sinal com base em vetor do i-ésimo canal.
[0204] NbitsQ[i] Esse índice determina a Tabela de Huffman usada para a decodificação de Huffman dos dados associados ao sinal com base em vetor do i-ésimo canal. A palavra de código 5 determina o uso de um desquantizador de 8 bits uniforme. Os dois MSBs 00 determinam a reutilização dos dados do quadro anterior (k- 1) NbitsQ[i], PFlag[i] e CbFlag[i].
[0205] bA, bB O msb (bA) e o segundo msb (bB) do
[0206] Campo de NbitsQ[i]. uintC A palavra de código dos dois bits restantes do
[0207] campo de NbitsQ[i].
[0208] AddAmbHoalnfoChannel(i) Essa carga útil retém as informações para coeficientes de HOA ambientes adicionais.
[0209] Pela semântica da Tabela de sintaxe VVectorData, o elemento de sintaxe nbitsW representa um tamanho de campo para ler Weightldx para decodificar um vetor V quantizado por vetor, enquanto o elemento de sintaxe WeightValCdbk representa um livro de código que contém um vetor de coeficientes de ponderação de valor real positivo. Se NumVecIndices for definido para 1, o WeightValCdbk com 8 entradas é usado, de outro modo o WeightValCdbk com 256 entradas é usado. Pela Tabela de sintaxe VVectorData, quando o Codebkldx é igual a zero, a unidade de reconstrução de vetor V 74 determina que nbitsW é igual a 3 e o Weightldx pode ter um valor na faixa de 0 a 7. Nesse caso, o dicionário de vetor de código VecDict tem um número relativamente grande de entradas (por exemplo, 900) e é pareado com um livro de código de peso que tem apenas 8 entradas. Quando o Codebkldx não é igual a zero, a unidade de reconstrução de vetor V 74 determina que nbitsW é igual a 8 e o Weightldx pode ter um valor na faixa de 0 a 255. Nesse caso, o VecDict tem um número relativamente menor de entradas (por exemplo, 25 ou 32 entradas) e um número relativamente maior de pesos é exigido (por exemplo, 256) no livro de código de peso para assegurar um erro aceitável. Dessa forma, as técnicas podem possibilitar livros de código pareados (com referência ao VecDict pareado usado e aos livros de código de peso). O valor de peso (denotado “WeightVal” na Tabela de sintaxe VVectorData supracitada) pode, então, ser computado conforme segue: |WeightVal[j] = ((SgnVal*2)-1 ) * WeightValCdbk[Codebkldx(k)[i]][Weightldx][j];
[0210] Esse WeightVal pode, então, ser aplicado pelo pseudocódigo acima a um vetor de código correspondente a desquantizar por vetor o vetor V.
[0211] Em relação a isso, as técnicas podem permitir que um dispositivo de decodificação de áudio, por exemplo, o dispositivo de decodificação de áudio 24, selecione um dentre uma pluralidade de livros de código para usar quando se realiza desquantização de vetor em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial é obtido através da aplicação de uma síntese com base em vetor a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0212] Além disso, as técnicas podem permitir que o dispositivo de decodificação de áudio 24 selecione entre uma pluralidade de livros de código pareados a serem usados quando se realiza desquantização vetorial em relação a um componente espacial quantizado vetorial de um campo sonoro, em que o componente espacial quantizado vetorial é obtido através da aplicação de uma síntese com base em vetor a uma pluralidade de coeficientes ambissônicos de ordem mais alta.
[0213] Quando NbitsQ é igual a 5, uma desquantização escalar de 8 bits uniforme é realizada. Por outro lado, um valor de NbitsQ maior ou igual a 6 pode resultar na aplicação de decodificação de Huffman. O valor de cid mencionado acima pode ser igual aos dois bits menos significativos do valor de NbitsQ. O modo de previsão discutido acima é denotado como o PFlag na Tabela de sintaxe acima, enquanto o bit de informações de HT é denotado como o CbFlag na Tabela de sintaxe acima. A sintaxe restante especifica como a decodificação ocorre de uma forma substancialmente semelhante àquela descrita acima.
[0214] A unidade de reconstrução com base em vetor 92 representa uma unidade configurada para realizar operações recíprocas àquelas descritas acima em relação à unidade de síntese com base em vetor 27 a fim de reconstruir os coeficientes de HOA 11’. A unidade de reconstrução com base em vetor 92 pode incluir uma unidade de reconstrução de vetor V 74, uma unidade de interpolação espaço-temporal 76, uma unidade de formulação de primeiro plano 78, a unidade de decodificação psicoacústica 80, uma unidade de formulação de coeficiente de HOA 82 e uma unidade de reordenação 84.
[0215] A unidade de reconstrução de vetor V 74 pode receber pesos codificados 57 e gerar vetores de primeiro plano V[k] reduzidos 55k. A unidade de reconstrução de vetor V 74 pode encaminhar os vetores de primeiro plano V[k] reduzidos 55k para a unidade de reordenação 84.
[0216] Por exemplo, a unidade de reconstrução de vetor V 74 pode obter os pesos codificados 57 a partir do fluxo de bits 21 por meio da unidade de extração 72 e reconstruir os vetores de primeiro plano V[k] reduzidos 55k com base nos pesos codificados 57 e em um ou mais vetores de código. Em alguns exemplos, os pesos codificados 57 podem incluir valores de peso que correspondem a todos os vetores de código em um conjunto de vetores de código que é usado para representar os vetores de primeiro plano V[k] reduzidos 55k. Em tais exemplos, a unidade de reconstrução de vetor V 74 pode reconstruir os vetores de primeiro plano V[k] reduzidos 55k com base em todo o conjunto de vetores de código.
[0217] Os pesos codificados 57 podem incluir valores de peso que correspondem a um subconjunto de um conjunto de vetores de código que é usado para representar os vetores de primeiro plano V[k] reduzidos 55k. Em tais exemplos, os pesos codificados 57 podem incluir adicionalmente dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir os vetores de primeiro plano V[k] reduzidos 55k e a unidade de reconstrução de vetor V 74 pode usar um subconjunto dos vetores de código indicado por tais dados para reconstruir os vetores de primeiro plano V[k] reduzidos 55k. Em alguns exemplos, os dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir os vetores de primeiro plano V[k] reduzidos 55k podem corresponder aos índices 57.
[0218] Em alguns exemplos, a unidade de reconstrução de vetor V 74 pode obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor que está incluído em uma versão decomposta de uma pluralidade de coeficientes de HOA e reconstruir o vetor com base nos valores de peso e nos vetores de código. Cada um dentre os valores de peso pode corresponder a um respectivo peso de uma pluralidade de pesos em uma soma ponderada de vetores de código que representam o vetor.
[0219] Em alguns exemplos, para reconstruir o vetor, a unidade de reconstrução de vetor V 74 pode determinar uma soma ponderada dos vetores de código em que os vetores de código são ponderados pelos valores de peso. Em exemplos adicionais, para reconstruir o vetor, a unidade de reconstrução de vetor V 74 pode, para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor dentre os vetores de código para gerar um respectivo vetor de código ponderado incluído em uma pluralidade de vetores de código ponderados e somar a pluralidade de vetores de código ponderados para determinar o vetor.
[0220] Em alguns exemplos, a unidade de reconstrução de vetor V 74 pode obter, a partir do fluxo de bits, dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir o vetor e reconstruir o vetor com base nos valores de peso (por exemplo, o elemento WeightVal derivado de Weight ValCdbk com base nos elementos de sintaxe Codebkldx e Weightldx), os vetores de código e os dados indicativos de qual dentre uma pluralidade de vetores de código (conforme identificado, por exemplo, pelo elemento de sintaxe Wecldx além do NumVecIndices) usar para reconstruir o vetor. Em tais exemplos, para reconstruir o vetor, a unidade de reconstrução de vetor V 74 pode, em alguns exemplos, selecionar um subconjunto dos vetores de código com base nos dados indicativos de qual dentre uma pluralidade de vetores de código usados para reconstruir o vetor e reconstruir o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código.
[0221] Em tais exemplos, para reconstruir o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código, a unidade de reconstrução de vetor V 74 pode, para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor dentre os vetores de código no subconjunto de vetores de código para gerar um respectivo vetor de código ponderado e somar a pluralidade de vetores de código ponderados para determinar o vetor.
[0222] A unidade de decodificação psicoacústica 80 pode operar de uma forma recíproca à unidade de codificação de áudio psicoacústica 40 mostrada no exemplo da Figura 4A a fim de decodificar os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 61 e, desse modo, gerar coeficientes de HOA ambientes compensados por energia 47’ e os sinais de nFG interpolados 49’ (os quais também podem ser denominados como objetos de áudio de nFG interpolados 49’). Embora sejam mostrados como sendo separados uns dos outros, os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 61 podem não ser separados uns dos outros e, em vez disso, podem ser especificados como canais criptados, conforme descrito abaixo em relação à Figura 4B. A unidade de decodificação psicoacústica 80 pode, quando os coeficientes de HOA ambientes criptados 59 e os sinais de nFG criptados 61 são especificados em conjunto como os canais criptados, decodificar os canais criptados para obter canais decodificados e, então, realizar uma forma de reatribuição de canal em relação aos canais decodificados para obter os coeficientes de HOA ambientes compensados por energia 47’ e os sinais de nFG interpolados 49'.
[0223] Em outras palavras, a unidade de decodificação psicoacústica 80 pode obter os sinais de nFG interpolados 49’ de todos os sinais sonoros predominantes, os quais podem ser denotados como o quadro Xps(k), os coeficientes de HOA ambientes compensados por energia 47’ representativos da representação intermediária do componente de HOA ambiente, os quais podem ser denotados como o quadro CI,AMB(k). A unidade de decodificação psicoacústica 80 pode realizar essa reatribuição de canal com base nos elementos de sintaxe especificados no fluxo de bits 21 ou 29, os quais podem incluir um vetor de atribuição que especifica, para cada canal de transporte, o índice de uma sequência de coeficiente possivelmente contida do componente de HOA ambiente e de outros elementos de sintaxe indicativos de um conjunto de vetores V ativos. Em qualquer evento, a unidade de decodificação psicoacústica 80 pode passar os coeficientes de HOA ambientes compensados por energia 47’ para a unidade de formulação de coeficiente de HOA 82 e os sinais de nFG 49’ para a reordenação 84.
[0224] Em outras palavras, a unidade de decodificação psicoacústica 80 pode obter os sinais de nFG interpolados 49’ de todos os sinais sonoros predominantes, os quais podem ser denotados como o quadro Xps(k), os coeficientes de HOA ambientes compensados por energia 47’ representativos da representação intermediária do componente de HOA ambiente, os quais podem ser denotados como o quadro CI,AMB(k). A unidade de decodificação psicoacústica 80 pode realizar essa reatribuição de canal com base nos elementos de sintaxe especificados no fluxo de bits 21 ou 29, os quais podem incluir um vetor de atribuição que especifica, para cada canal de transporte, o índice de uma sequência de coeficiente possivelmente contida do componente de HOA ambiente e de outros elementos de sintaxe indicativos de um conjunto de vetores V ativos. Em qualquer evento, a unidade de decodificação psicoacústica 80 pode passar os coeficientes de HOA ambientes compensados por energia 47’ para a unidade de formulação de coeficiente de HOA 82 e os sinais de nFG 49’ para a reordenação 84.
[0225] Para reafirmar o supracitado, os coeficientes de HOA podem ser reformulados a partir dos sinais com base em vetor da forma descrita acima. A desquantização escalar pode ser realizada, primeiro, em relação a cada vetor V para gerar MVEC(k), em que os i- ésimos vetores individuais do quadro atual podem ser denotados como
Figure img0024
Os vetores V podem ter sido decompostos a partir dos coeficientes de HOA com o uso de uma transformada invertível linear (tais como uma decomposição de valor singular, uma análise de componente de princípio, uma transformada de Karhunen-Loeve, uma transformada de Hotelling, uma decomposição ortogonal apropriada ou uma decomposição de autovalor), conforme descrito acima. A decomposição também emite, no caso de uma decomposição de valor singular, vetores S[k] e U[k], os quais podem ser combinados para formar US[k]. Elementos vetoriais individuais na matriz US[k] podem ser denotados como XPS(k,l).
[0226] A interpolação espaço-temporal pode ser realizada em relação ao MVEC(k) e ao MVEC(k— 1) (os quais denotam vetores V a partir de um quadro anterior com
Figure img0025
método de interpolação espacial é, como um exemplo, controlado por wVEC(l). Após a interpolação, o i-ésimo vetor V interpolado é,
Figure img0026
entao, multiplicado pelo i-ésimo US[k] (o qual é denotado como XPS,i(k,l)) para emitir a i ésima coluna da representação de HOA
Figure img0027
Os vetores de coluna podem, entao, ser somados para formular a representaçao de HOA dos sinais com base em vetor. Dessa forma, a representaçao interpolada decomposta dos coeficientes de HOA é obtida para um quadro realizandouma interpolação em relação a
Figure img0028
e
Figure img0029
conforme descrito em maiores detalhes abaixo.
[0227] A Figura 4B é um diagrama em blocos que ilustra outro exemplo do dispositivo de decodificaçao de áudio 24 em mais detalhes. O exemplo mostrado na Figura 4B do dispositivo de decodificação de áudio 24 é denotado como o dispositivo de decodificação de áudio 24’. O dispositivo de decodificação de áudio 24’ é substancialmente semelhante ao dispositivo de decodificação de áudio 24 mostrado no exemplo da Figura 4A, exceto pelo fato de que a unidade de decodificação psicoacústica 902 do dispositivo de decodificação de áudio 24’ não realiza a reatribuição de canal descrita acima. Em vez disso, o dispositivo de criptação de áudio 24’ inclui uma unidade de reatribuição de canal separada 904 que realiza a reatribuição de canal descrita acima. No exemplo da Figura 4B, a unidade de decodificação psicoacústica 902 recebe canais criptados 900 e realiza decodificação psicoacústica em relação aos canais criptados 900 para obter canais decodificados 901. A unidade de decodificação psicoacústica 902 pode emitir o canal decodificado 901 para a unidade de reatribuição de canal 904. A unidade de reatribuição de canal 904 pode, então, realizar a reatribuição de canal descrita acima em relação ao canal decodificado 901 para obter os coeficientes de HOA ambientes compensados por energia 47’ e os sinais de nFG interpolados 49’.
[0228] A unidade de interpolação espaço- temporal 76 pode operar de uma forma semelhante àquela descrita acima em relação à unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 76 pode receber os vetores de primeiro plano V[k] reduzidos 55k e realizar a interpolação espaço-temporal em relação aos vetores de primeiro plano V[k] 55k e os vetores V[k-1] de primeiro plano reduzidos 55k-1 para gerar vetores de primeiro plano V[k] interpolados 55k”. A unidade de interpolação espaço-temporal 76 pode encaminhar os vetores de primeiro plano V[k] interpolados 55k” para a unidade de desaparecimento 770.
[0229] A unidade de extração 72 também pode emitir um sinal 757 indicativo de quando um dentre os coeficientes de HOA ambientes está em transição para a unidade de desaparecimento 770, a qual pode, então, determinar qual dentre o SHCBG 47’ (em que o SHCBG 47’ também pode ser denotado como “canais de HOA ambientes 47’” ou “coeficientes de HOA ambientes 47’”) e os elementos dos vetores de primeiro plano V[k] interpolados 55k” devem ser feitos com que apareçam ou desapareçam gradualmente. Em alguns exemplos, a unidade de desaparecimento 770 pode operar em relação a cada um dentre os coeficientes de HOA ambientes 47’ e os elementos dos vetores de primeiro plano V[k] interpolados 55k”. Isto é, a unidade de desaparecimento 770 pode realizar um aparecimento ou um desaparecimento gradual, ou tanto um aparecimento quanto um desaparecimento gradual em relação a um coeficiente correspondente dentre os coeficientes de HOA ambientes 47’, enquanto realiza um aparecimento ou um desaparecimento gradual, ou tano um aparecimento quanto um desaparecimento gradual, em relação ao elemento correspondente dente os elementos dos vetores de primeiro plano V[k] interpolados 55k”. A unidade de desaparecimento 770 pode emitir coeficientes de HOA ambientes ajustados 47” para a unidade de formulação de coeficiente de HOA 82 e vetores de primeiro plano V[k] 55k” ajustados para a unidade de formulação de primeiro plano 78. Em relação a isso, a unidade de desaparecimento 770 representa uma unidade configurada para realizar uma operação de desaparecimento em relação a diversos aspectos dos coeficientes de HOA ou derivadas dos mesmos, por exemplo, na forma dos coeficientes de HOA ambientes 47’ e dos elementos dos vetores de primeiro plano V[k] interpolados 55k”.
[0230] A unidade de formulação de primeiro plano 78 pode representar uma unidade configurada para realizar multiplicação de matriz em relação aos vetores de primeiro plano V[k] 55k”’ ajustados e aos sinais de nFG interpolados 49’ para gerar os coeficientes de HOA de primeiro plano 65. Em relação a isso, a unidade de formulação de primeiro plano 78 pode combinar os objetos de áudio 49’ (o que é outra forma pela qual se denota os sinais de nFG interpolados 49’) com os vetores 55k”’ para reconstruir o primeiro plano ou, em outras palavras, os aspectos dos coeficientes de HOA predominantes 11’. A unidade de formulação de primeiro plano 78 pode realizar uma multiplicação de matriz dos sinais de nFG interpolados 49’ pelos vetores de primeiro plano V[k] 55k”’ ajustados.
[0231] A unidade de formulação de coeficiente de HOA 82 pode representar uma unidade configurada para combinar os coeficientes de HOA de primeiro plano 65 com os coeficientes de HOA ambientes 47” ajustados a fim de obter os coeficientes de HOA 11’. O registro principal reflete que os coeficientes de HOA 11’ podem ser semelhantes aos coeficientes de HOA 11, mas não os mesmos. As diferenças entre os coeficientes de HOA 11 e 11’ podem resultar da perda devido à transmissão por um meio de transmissão com perdas, quantização ou outras operações com perda.
[0232] A Figura 5 é um fluxograma que ilustra a operação exemplificativa de um dispositivo de criptação de áudio, tal como o dispositivo de criptação de áudio 20 mostrado no exemplo da Figura 3A, ao realizar diversos aspectos da síntese com base em técnicas de vetor descritas nesta revelação. Inicialmente, o dispositivo de criptação de áudio 20 recebe os coeficientes de HOA 11 (106). O dispositivo de criptação de áudio 20 pode invocar a unidade de LIT 30, a qual pode aplicar um LIT em relação aos coeficientes de HOA para emitir coeficientes de HOA transformados (por exemplo, no caso de SVD, os coeficientes de HOA transformados pode compreender os vetores US[k] 33 e os vetores V[k] 35) (107).
[0233] O dispositivo de codificação de áudio 20 pode, a seguir, invocar a unidade de cálculo de parâmetro 32 para realizar a análise descrita acima em relação a qualquer combinação dos vetores US[k] 33, dos vetores US[k-1] 33, dos vetores V[k] e/ou V[k-1] 35 para identificar diversos parâmetros da forma descrita acima. Isto é, a unidade de cálculo de parâmetro 32 pode determinar pelo menos um parâmetro com base em uma análise dos coeficientes de HOA transformados 33/35 (108).
[0234] O dispositivo de criptação de áudio 20 pode, então, invocar a unidade de reordenação 34, a qual pode reordenar os coeficientes de HOA transformados (os quais, novamente no contexto de SVD, podem se referir aos vetores US[k] 33 e aos vetores V[k] 35) com base no parâmetro para gerar coeficientes de HOA transformados reordenados 33’/35’ (ou, em outras palavras, os vetores US[k] 33’ e os vetores V[k] 35’), conforme descrito acima (109). O dispositivo de criptação de áudio 20 pode, durante qualquer uma dentre as operações supracitadas ou as operações subsequentes, invocar também a unidade de análise de campo sonoro 44. A unidade de análise de campo sonoro 44 pode, conforme descrito acima, realizar uma análise de campo sonoro em relação aos coeficientes de HOA 11 e/ou aos coeficientes de HOA transformados 33/35 para determinar o número total de canais de primeiro plano (nFG) 45, a ordem do campo sonoro de fundo (NBG) e o número (nBGa) e os índices (i) de canais de HOA de BG adicionais para envio (os quais podem ser coletivamente denotados como informações de canal de fundo 43 no exemplo da Figura 3A) (109).
[0235] O dispositivo de criptação de áudio 20 também pode invocar a unidade de seleção de fundo 48. A unidade de seleção de fundo 48 pode determinar coeficientes de HOA de fundo ou ambientes 47 com base nas informações de canal de fundo 43 (110). O dispositivo de criptação de áudio 20 pode invocar adicionalmente a unidade de seleção de primeiro plano 36, a qual pode selecionar os vetores US[k] reordenados 33’ e os vetores V[k] reordenados 35’ que representam componentes de primeiro plano ou distintos do campo sonoro com base em nFG 45 (o qual pode representar um ou mais índices que identificam os vetores de primeiro plano) (112).
[0236] O dispositivo de criptação de áudio 20 pode invocar a unidade de compensação de energia 38. A unidade de compensação de energia 38 pode realizar compensação de energia em relação aos coeficientes de HOA ambientes 47 para compensar pela perda de energia devido à remoção de diversos coeficientes dos coeficientes de HOA pela unidade de seleção de fundo 48 (114) e, desse modo, gerar coeficientes de HOA ambientes compensados por energia 47’.
[0237] O dispositivo de criptação de áudio 20 também pode invocar a unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 50 pode realizar a interpolação espaço-temporal em relação aos coeficientes de HOA transformados reordenados 33’/35’ para obter os sinais de primeiro plano interpolados 49’ (os quais também podem ser denominados como os “sinais de nFG interpolados 49’”) e as informações direcionais de primeiro plano restantes 53 (as quais também podem ser denominadas como “vetores V[k] 53”) (116). O dispositivo de criptação de áudio 20 pode, então, invocar a unidade de redução de coeficiente 46. A unidade de redução de coeficiente 46 pode realizar redução de coeficiente em relação aos vetores de primeiro plano V[k] restantes 53 com base nas informações de canal de fundo 43 para obter informações direcionais de primeiro plano reduzidas 55 (as quais também podem ser denominadas como os vetores de primeiro plano V[k] reduzidos 55) (118).
[0238] O dispositivo de codificação de áudio 20 pode, então, invocar a unidade de codificação de vetor V 52 para compactar, da forma descrita acima, os vetores V[k] de primeiro plano reduzidos 55 e gerar vetores V[ k] de primeiro plano codificados 57 (120).
[0239] O dispositivo de criptação de áudio 20 também pode invocar a unidade codificadora de áudio psicoacústica 40. A unidade codificadora de áudio psicoacústica 40 pode codificar de modo psicoacústico cada vetor dentre os coeficientes de HOA ambientes compensados por energia 47’ e os sinais de nFG interpolados 49’ para gerar coeficientes de HOA ambientes criptados 59 e sinais de nFG criptados 61. O dispositivo de criptação de áudio pode, então, invocar uma unidade de geração de fluxo de bits 42. A unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 com base nas informações direcionais de primeiro plano codificadas 57, nos coeficientes de HOA ambientes codificados 59, nos sinais de nFG codificados 61 e nas informações de canal de fundo 43.
[0240] A Figura 6 é um fluxograma que ilustra operação exemplificativa de um dispositivo de decodificação de áudio, tal como o dispositivo de decodificação de áudio 24 mostrado na Figura 4A, ao realizar diversos aspectos das técnicas descritas nesta revelação. Inicialmente, o dispositivo de decodificação de áudio 24 pode receber o fluxo de bits 21 (130). Mediante o recebimento de fluxo de bits, o dispositivo de decodificação de áudio 24 pode invocar a unidade de extração 72. Presumindo-se, para propósitos de discussão, que o fluxo de bits 21 indica que a reconstrução com base em vetor deve ser realizada, a unidade de extração 72 pode analisar o fluxo de bits para recuperar as informações observadas acima, passando essas informações para a unidade de reconstrução com base em vetor 92.
[0241] Em outras palavras, a unidade de extração 72 pode extrair as informações direcionais de primeiro plano codificadas 57 (que, novamente, também podem ser chamadas de vetores de primeiro plano codificados V[k] 57), os coeficientes de HOA de ambiente codificados 59 e os sinais de primeiro plano codificados (que também podem ser chamados de sinais de nFG de primeiro plano codificados 59 ou os objetos de áudio de primeiro plano codificados 59) a partir do fluxo de bits 21 da forma descrita acima (132).
[0242] O dispositivo de decodificação de áudio 24 pode invocar adicionalmente a unidade de desquantização 74. A unidade de desquantização 74 pode decodificar e desquantizar por entropia as informações direcionais de primeiro plano codificadas 57 para obter informações direcionais de primeiro plano reduzidas 55k (136). O dispositivo de decodificação de áudio 24 também pode invocar a unidade de decodificação psicoacústica 80. A unidade de decodificação de áudio psicoacústica 80 pode decodificar os coeficientes de HOA ambientes criptados 59 e os sinais de primeiro plano criptados 61 para obter coeficientes de HOA ambientes compensados por energia 47’ e os sinais de primeiro plano interpolados 49’ (138). A unidade de decodificação psicoacústica 80 pode passar os coeficientes de HOA ambientes compensados por energia 47’ para a unidade de desaparecimento 770 e os sinais de nFG 49’ para a unidade de formulação de primeiro plano 78.
[0243] O dispositivo de decodificação de áudio 24 pode, após, invocar a unidade de interpolação espaço- temporal 76. A unidade de interpolação espaço-temporal 76 pode receber as informações direcionais de primeiro plano reordenadas 55k’ e realizar a interpolação espaço-temporal em relação às informações direcionais de primeiro plano reduzidas 55k/55k-1 para gerar as informações direcionais de primeiro plano interpoladas 55k” (140). A unidade de interpolação espaço-temporal 76 pode encaminhar os vetores de primeiro plano V[k] interpolados 55k” para a unidade de desaparecimento 770.
[0244] O dispositivo de decodificação de áudio 24 pode invocar a unidade de desaparecimento 770. A unidade de desaparecimento 770 pode receber ou obter de outro modo elementos de sintaxe (por exemplo, da unidade de extração 72) indicativos de quando os coeficientes de HOA ambientes compensados por energia 47’ estão em transição (por exemplo, o elemento de sintaxe AmbCoeffTransition). A unidade de desaparecimento 770 pode, com base nos elementos de sintaxe de transição e nas informações de estado de transição mantidas, fazer com que os coeficientes de HOA ambientes compensados por energia 47’ apareçam ou desapareçam gradualmente emitindo-se coeficientes de HOA ambientes ajustados 47” para a unidade de formulação de coeficiente de HOA 82. A unidade de desaparecimento 770 também pode, com base nos elementos de sintaxe e nas informações de estado de transição mantidas, fazer com que os um ou mais elementos correspondentes dos vetores de primeiro plano V[k] interpolados 55k” apareçam ou desapareçam gradualmente emitindo-se os vetores de primeiro plano V[k] ajustados 55k”’ para a unidade de formulação de primeiro plano 78 (142).
[0245] O dispositivo de decodificação de áudio 24 pode invocar a unidade de formulação de primeiro plano 78. A unidade de formulação de primeiro plano 78 pode realizar multiplicação de matriz dos sinais de nFG 49’ pelas informações direcionais de primeiro plano ajustadas 55k’” para obter os coeficientes de HOA de primeiro plano 65 (144). O dispositivo de decodificação de áudio 24 também pode invocar a unidade de formulação de coeficiente de HOA 82. A unidade de formulação de coeficiente de HOA 82 pode adicionar os coeficientes de HOA de primeiro plano 65 aos coeficientes de HOA ambientes ajustados 47” a fim de obter os coeficientes de HOA 11’ (146).
[0246] A Figura 7 é um diagrama em blocos que ilustra, em mais detalhes, uma unidade de codificação de vetor V exemplificativa 52 que pode ser usada no dispositivo de criptação de áudio 20 da Figura 3A. A unidade de codificação de vetor V 52 inclui uma unidade de decomposição 502 e uma unidade de quantização 504. A unidade de decomposição 502 pode decompor cada um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código com base nos vetores de código 63. A unidade de decomposição 502 pode gerar pesos 506 e fornecer os pesos 506 à unidade de quantização 504. A unidade de quantização 504 pode quantizar os pesos 506 para gerar os pesos codificados 57.
[0247] A Figura 8 é um diagrama em blocos que ilustra, em mais detalhes, uma unidade de codificação de vetor V exemplificativa 52 que pode ser usada no dispositivo de criptação de áudio 20 da Figura 3A. A unidade de codificação de vetor V 52 inclui uma unidade de decomposição 502, uma unidade de seleção de peso 510 e uma unidade de quantização 504. A unidade de decomposição 502 pode decompor cada um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código com base nos vetores de código 63. A unidade de decomposição 502 pode gerar pesos 514 e fornecer os pesos 514 à unidade de seleção de peso 510. A unidade de seleção de peso 510 pode selecionar um subconjunto dos pesos 514 para gerar um subconjunto selecionado de pesos 516 e fornecer o subconjunto selecionado de pesos 516 à unidade de quantização 504. A unidade de quantização 504 pode quantizar o subconjunto selecionado de pesos 516 para gerar os pesos codificados 57.
[0248] A Figura 9 é um diagrama conceitual que ilustra um campo sonoro gerado a partir de um vetor V. A Figura 10 é um diagrama conceitual que ilustra um campo sonoro gerado a partir de um modelo de 25a ordem do vetor V descrita em relação à Figura 9. A Figura 11 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 25a ordem mostrado na Figura 10. A Figura 12 é um diagrama conceitual que ilustra um modelo de 5a ordem do vetor V descrito acima em relação à Figura 9. A Figura 13 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 5a ordem mostrado na Figura 12.
[0249] A Figura 14 é um diagrama conceitual que ilustra dimensões exemplificativas de matrizes exemplificativas usadas para realizar a decomposição de valor singular. Conforme mostrado na Figura 14, uma matriz UFG está incluída em uma matriz U, uma matriz SFG está incluída em uma matriz S e uma matriz VFGT está incluída em uma matriz VT.
[0250] Nas matrizes exemplificativas da Figura 14, a matriz UFG tem dimensões 1.280 por 2, em que 1.280 corresponde ao número de amostras e 2 corresponde ao número de vetores de primeiro plano selecionados para codificação de primeiro plano. A matriz U tem dimensões de 1.280 por 25, em que 1.280 corresponde ao número de amostras e 25 corresponde ao número de canais no sinal de áudio de HOA. O número de canais pode ser igual a (N+l)2, em que N é igual à ordem do sinal de áudio de HOA.
[0251] A matriz SFG tem dimensões 2 por 2, em que cada 2 corresponde ao número de vetores de primeiro plano selecionados para codificação de primeiro plano. A matriz S tem dimensões de 25 por 25, em que cada 25 corresponde ao número de canais no sinal de áudio de HOA.
[0252] A matriz VFGT tem dimensões 25 por 2, em que 25 corresponde ao número de canais no sinal de áudio de HOA e 2 corresponde ao número de vetores de primeiro plano selecionados para codificação de primeiro plano. A matriz VT tem dimensões de 25 por 25, em que cada 25 corresponde ao número de canais no sinal de áudio de HOA.
[0253] Conforme mostrado na Figura 14, a matriz UFG, a matriz SFG e a matriz VFGT podem ser multiplicadas em conjunto para gerar uma matriz HFG. A matriz HFG tem dimensões de 1.280 por 25, em que 1.280 corresponde ao número de amostras e 25 corresponde ao número de canais no sinal de áudio de HOA.
[0254] A Figura 15 é um gráfico que ilustra aperfeiçoamentos de desempenho exemplificativos que podem ser obtidos usando-se as técnicas de codificação de vetor V desta revelação. Cada fileira representa um item de teste e as indicam, da esquerda para a direita, o número de item de teste, o nome de item de teste, os bits por quadro associados ao item de teste, a taxa de bits que usa uma ou mais das técnicas de codificação de vetor V exemplificativas desta revelação e a taxa de bits obtida com o uso de outras técnicas de codificação de vetor V (por exemplo, quantização escalar dos componentes de vetor V sem decompor o vetor V). Conforme mostrado na Figura 15, as técnicas desta revelação podem, em alguns exemplos, fornecer aperfeiçoamentos significativos na taxa de bits relativa a outras técnicas que não decompõem vetores V em pesos e/ou selecionam um subconjunto dos pesos para quantizar.
[0255] Em alguns exemplos, as técnicas desta revelação podem realizar quantização de vetor V com base em um conjunto de vetores direcionais. Um vetor V pode ser representado por uma soma ponderada de vetores direcionais. Em alguns exemplos, para um dado conjunto de vetores direcionais que são ortonormais uns aos outros, a unidade de codificação de vetor V 52 pode calcular o valor de ponderação para cada vetor direcional. A unidade de codificação de vetor V 52 pode selecionar os N valores de ponderação máximos, {w_i} e os vetores direcionais correspondentes, {o_i}. A unidade de codificação de vetor V 52 pode transmitir índices {i} para o decodificador que correspondem aos valores de ponderação selecionados e/ou aos vetores direcionais. Em alguns exemplos, ao se calcular a máxima, a unidade de codificação de vetor V 52 pode usar valores absolutos (negligenciando-se informações de signo). A unidade de codificação de vetor V 52 pode quantizar os N valores de ponderação máximos, {w_i}, para gerar valores de ponderação quantizados {wA_i} . A unidade de codificação de vetor V 52 pode transmitir a quantização índices para {wA_i} para o decodificador. No decodificador, o vetor V quantizado pode ser sintetizado como soma_i (wA_i * o_i)
[0256] Em alguns exemplos, as técnicas desta revelação podem fornecer um aperfeiçoamento significativo em desempenho. Por exemplo, em comparação com usar quantização escalar seguida por codificação de Huffman, uma redução de taxa de bits de aproximadamente 85% pode ser obtida. Por exemplo, a quantização escalar seguida por codificação de Huffman pode, em alguns exemplos, exigir uma taxa de bits de 16,26 kbps (quilo bits por segundo) enquanto as técnicas desta revelação podem, em alguns exemplos, ter capacidade para codificar em taxa de bits de 2,75 kbsp.
[0257] Considere um exemplo em que X vetores de código de um livro de código (e X pesos correspondentes) são usados para codificar um vetor V. Em alguns exemplos, a unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 de forma que cada vetor V seja representado por 3 categorias de parâmetros: (1) X número de índices, em que cada um aponta para um vetor em particular em um livro de código de vetores de código (por exemplo, um livro de código de vetores direcionais normalizados); (2) um (X) número de pesos correspondente para acompanhar os índices acima; e (3) um bit de signo para cada um dentre os (X) números de pesos acima. Em alguns casos, o X número de pesos pode ser adicionalmente quantizado com o uso de ainda outra quantização vetorial (VQ).
[0258] O livro de código de decomposição usado para determina os pesos nesse exemplo pode ser selecionado de um conjunto de livros de código candidatos. Por exemplo, o livro de código pode ser 1 de 8 livros de código diferentes. Cada um desses livros de código pode ter comprimentos diferentes. Logo, por exemplo, não apenas um livro de código de tamanho 49 pode ser usado para determinar pesos para conteúdo de HOA de 6a ordem, mas as técnicas desta revelação podem oferecer a opção de usar qualquer um dentre 8 livros de código de tamanhos diferentes.
[0259] O livro de código de quantização usado para a VQ dos pesos também pode, em alguns exemplos, ter o mesmo número correspondente de livros de código possíveis que o número de livros de código possíveis de decomposição usados para determinar os pesos. Dessa forma, em alguns exemplos, pode existir um número variável de livros de código diferentes para determinar os pesos e um número variável de livros de código para quantizar os pesos.
[0260] Em alguns exemplos, o número de pesos usado para estimar um vetor V (isto é, o número de pesos selecionado para quantização) pode ser variável. Por exemplo, um critério de erro limítrofe pode ser definido e o número (X) de pesos selecionado para quantização pode depender de alcançar o limiar de erro, em que o limiar de erro é definido acima na equação (10).
[0261] Em alguns exemplos, um ou mais dentre os conceitos mencionados acima podem ser sinalizados em um fluxo de bits. Considere um exemplo em que o número máximo de pesos usados para codificar vetores V seja definido para 128 pesos e oito livros de código diferentes de quantização sejam usados para quantizar os pesos. Em tal exemplo, a unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 de forma que uma Unidade de Quadro de Acesso in o fluxo de bits 21 indique o número máximo de índices que pode ser usado em uma base de quadro por quadro. Nesse exemplo, o número máximo de índices é um número de 0 a 128, de forma que os dados mencionados acima possam consumir 7 bits na Unidade de Quadro de Acesso.
[0262] No exemplo mencionado acima, em uma base de quadro por quadro, a unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 para incluir dados indicativos de: (1) qual livro dentre os 8 livros de código diferentes foi usado para fazer a VQ (para cada vetor V); e (2) o número real de índices (X) usado para codificar cada vetor V. Os dados indicativos de qual livro dentre os 8 livros de código diferentes foi usado para fazer a VQ podem consumir 3 bits nesse exemplo. Os dados indicativos do número real de índices (X) usado para codificar cada vetor V podem ser dados pelo número máximo de índices especificado na Unidade de Quadro de Acesso. Isso pode variar de 0 bits a 7 bits nesse exemplo.
[0263] Em alguns exemplos, a unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 para incluir: (1) índices que indicam quais vetores direcionais são selecionados e transmitidos (de acordo com os valores de ponderação calculados); e (2) valor(es) de ponderação para cada vetor direcional selecionado. Em alguns exemplos, esta revelação pode fornecer técnicas para a quantização de vetores V com o uso de uma decomposição em um livro de código de vetores de código harmônicos esféricos normalizados.
[0264] A Figura 17 é um diagrama que ilustra 16 vetores de código diferentes 63A a 63P representados em um domínio espacial que pode ser usado pela unidade de codificação de vetor V 52 mostrada no exemplo de uma ou de ambas as Figuras 7 e 8. Os vetores de código 63A a 63P podem representar um ou mais dos vetores de código 63 discutidos acima.
[0265] A Figura 18 é um diagrama que ilustra formas diferentes pelas quais os 16 vetores de código diferentes 63A a 63P podem ser empregados pela unidade de codificação de vetor V 52 mostrada no exemplo de uma ou de ambas as Figuras 7 e 8. A unidade de codificação de vetor V 52 pode receber um dentre os vetores V[k] de primeiro plano reduzidos 55, o qual é mostrado após ser renderizado para o domínio espacial e é denotado como vetor V 55. A unidade de codificação de vetor V 52 pode realizar a quantização vetorial discutida acima para produzir três versões codificadas diferentes do vetor V 55. As três versões codificadas diferentes do vetor V 55 são mostradas após serem renderizadas para o domínio espacial e são denotadas como vetor V codificado 57A, vetor V codificado 57B e vetores V codificados 57C. A unidade de codificação de vetor V 52 pode selecionar um dentre os vetores V codificados 57A a 57C como um dentre os vetores de primeiro plano V[k] codificados 57 que correspondem ao vetor V 55.
[0266] A unidade de codificação de vetor V 52 pode gerar cada um dentre vetores V codificados 57A a 57C com base nos vetores de código 63A a 63P (”vetores de código 63”) mostrados em melhores detalhes no exemplo da Figura 17. A unidade de codificação de vetor V 52 pode gerar o vetor V codificado 57A com base em todos os 16 vetores de código 63, conforme mostrado no gráfico 300A, em que todos os 16 índices são especificados em conjunto com 16 valores de ponderação. A unidade de codificação de vetor V 52 pode gerar o vetor V codificado 57A com base em um subconjunto não zero dos vetores de código 63 (por exemplo, os vetores de código 63 contidos na caixa quadrada e associados aos índices 2, 6 e 7, conforme mostrado no gráfico 300B, dado que os outros têm uma ponderação de zero). A unidade de codificação de vetor V 52 pode gerar o vetor V codificado 57C com o uso dos mesmos três vetores de código 63 que aqueles usados quando se gera o vetor V codificado 57B, exceto pelo fato de que o vetor V original 55 é quantizado primeiro.
[0267] A revisão das renderizações dos vetores V codificados 57A a 57C em comparação com o vetor V original 55 ilustra que a quantização vetorial pode fornecer uma representação substancialmente semelhante do vetor V original 55 (o que significa que o erro entre cada um dentre os vetores V codificados 57A a 57C é possivelmente pequeno). A comparação dos vetores V codificados 57A a 57C uns com os outros também revela que existem apenas pequenas ou leves diferenças. Como tal, o um dentre os vetores V codificados 57A a 57C que fornece a melhor redução de bit é possivelmente o vetor dentre os vetores V codificados 57A a 57C que uma unidade de codificação de vetor V 52 pode selecionar. Dado que o vetor V codificado 57C fornece mais possivelmente a menor taxa de bits (dado que o vetor V codificado 57C utiliza uma versão quantizada do vetor V 55 enquanto também usa apenas três dos vetores de código 63), a unidade de codificação de vetor V 52 pode selecionar o vetor V codificado 57C como o um dentre os vetores de primeiro plano V[k] codificados 57 que corresponde ao vetor V 55.
[0268] A Figura 21 é um diagrama em blocos que ilustra uma unidade de quantização vetorial exemplificativa 520 de acordo com esta revelação. Em alguns exemplos, a unidade de quantização vetorial 520 pode ser um exemplo da unidade de codificação de vetor V 52 no dispositivo de criptação de áudio 20 da Figura 3A ou no dispositivo de criptação de áudio 20 da Figura 3B. A unidade de quantização vetorial 520 inclui uma unidade de decomposição 522, uma unidade de seleção e ordenação de peso 524 e uma unidade de seleção de vetor 526. A unidade de decomposição 522 pode decompor cada um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código com base nos vetores de código 63. A unidade de decomposição 522 pode gerar valores de peso 528 e fornecer os valores de peso 528 para a unidade de seleção e ordenação de peso 524.
[0269] A unidade de seleção e ordenação de peso 524 pode selecionar um subconjunto dos valores de peso 528 para gerar um subconjunto selecionado de valores de peso. Por exemplo, a unidade de seleção e ordenação de peso 524 pode selecionar os M valores de peso de maior magnitude a partir do conjunto de valores de peso 528. A unidade de seleção e ordenação de peso 524 pode reordenar adicionalmente o subconjunto selecionado de valores de peso com base nas magnitudes dos valores de peso para gerar um subconjunto selecionado reordenado de valores de peso 530 e fornecer o subconjunto selecionado reordenado de valores de peso 530 para a unidade de seleção de vetor 526.
[0270] A unidade de seleção de vetor 526 pode selecionar um vetor de componente M a partir de um livro de código de quantização 532 para representar M valores de peso. Em outras palavras, a unidade de seleção de vetor 526 pode quantizar de modo vetorial M valores de peso. Em alguns exemplos, M pode corresponder ao número de valores de peso selecionado pela unidade de seleção e ordenação de peso 524 para representar um único vetor V. A unidade de seleção de vetor 526 pode gerar dados indicativos do vetor de componente M selecionado para representar os M valores de peso e fornecer esses dados para a unidade de geração de fluxo de bits 42 como os pesos codificados 57. Em alguns exemplos, o livro de código de quantização 532 pode incluir uma pluralidade de vetores de componente M que são indexados e os dados indicativos do vetor de componente M podem ser um valor de índice no livro de código de quantização 532 que aponta para o vetor selecionado. Em tais exemplos, o decodificador pode incluir um livro de código de quantização semelhantemente indexado para decodificar o valor de índice.
[0271] A Figura 22 é um fluxograma que ilustra uma operação exemplificativa da unidade de quantização vetorial ao realizar diversos aspectos das técnicas descritas nesta revelação. Conforme descrito acima em relação ao exemplo da Figura 21, a unidade de quantização vetorial 520 inclui uma unidade de decomposição 522, uma unidade de seleção e ordenação de peso 524 e uma unidade de seleção de vetor 526. A unidade de decomposição 522 pode decompor cada um dentre os vetores de primeiro plano V[k] reduzidos 55 em uma soma ponderada de vetores de código com base nos vetores de código 63 (750). A unidade de decomposição 522 pode obter valores de peso 528 e fornecer os valores de peso 528 para a unidade de seleção e ordenação de peso 524 (752).
[0272] A unidade de seleção e ordenação de peso 524 pode selecionar um subconjunto dos valores de peso 528 para gerar um subconjunto selecionado de valores de peso (754). Por exemplo, a unidade de seleção e ordenação de peso 524 pode selecionar os M valores de peso de maior magnitude a partir do conjunto de valores de peso 528. A unidade de seleção e ordenação de peso 524 pode reordenar adicionalmente o subconjunto selecionado de valores de peso com base nas magnitudes dos valores de peso para gerar um subconjunto selecionado reordenado de valores de peso 530 e fornecer o subconjunto selecionado reordenado de valores de peso 530 para a unidade de seleção de vetor 526 (756).
[0273] A unidade de seleção de vetor 526 pode selecionar um vetor de componente M a partir de um livro de código de quantização 532 para representar M valores de peso. Em outras palavras, a unidade de seleção de vetor 526 pode quantizar de modo vetorial M valores de peso (758). Em alguns exemplos, M pode corresponder ao número de valores de peso selecionado pela unidade de seleção e ordenação de peso 524 para representar um único vetor V. A unidade de seleção de vetor 526 pode gerar dados indicativos do vetor de componente M selecionado para representar os M valores de peso e fornecer esses dados para a unidade de geração de fluxo de bits 42 como os pesos codificados 57. Em alguns exemplos, o livro de código de quantização 532 pode incluir uma pluralidade de vetores de componente M que são indexados e os dados indicativos do vetor de componente M podem ser um valor de índice no livro de código de quantização 532 que aponta para o vetor selecionado. Em tais exemplos, o decodificador pode incluir um livro de código de quantização semelhantemente indexado para decodificar o valor de índice.
[0274] A Figura 23 é um fluxograma que ilustra a operação exemplificativa da unidade de reconstrução de vetor V ao realizar diversos aspectos das técnicas descritas nesta revelação. A unidade de reconstrução de vetor V 74 da Figura 4A ou 4B pode, primeiro, obter os valores de peso, por exemplo, a partir da unidade de extração 72, após serem analisados a partir do fluxo de bits 21 (760). A unidade de reconstrução de vetor V 74 também pode obter vetores de código, por exemplo, a partir de um livro de código, com o uso de um índice sinalizado no fluxo de bits 21 da forma descrita acima (762). A unidade de reconstrução de vetor V 74 pode, então, reconstruir os vetores de primeiro plano V[k] reduzidos (os quais também podem ser denominados como os vetores V) 55 com base nos valores de peso e nos vetores de código em uma ou mais dentre as diversas formas descritas acima (764).
[0275] A Figura 24 é um fluxograma que ilustra a operação exemplificativa da unidade de codificação de vetor V da Figura 3A ou 3B ao realizar diversos aspectos das técnicas descritas nesta revelação. A unidade de codificação de vetor V 52 pode obter uma taxa de bits alvo (que também pode ser denominada como uma taxa de bits limítrofe) 41 (770). Quando a taxa de bits alvo 41 é maior que 256 Kbps (ou qualquer outra taxa de bits especificada, configurada ou determinada) (”NÃO” 772), a unidade de codificação de vetor V 52 pode determinar a aplicação, então, aplicar quantização escalar aos vetores V 55 (774). Quando a taxa de bits alvo 41 é menor ou igual a 256 Kbps (”SIM” 772), a unidade de reconstrução de vetor V 52 pode determinar a aplicação e, então, aplicar quantização vetorial aos vetores V 55 (776). A unidade de codificação de vetor V 52 também pode sinalizar no fluxo de bits 21 que quantização escalar ou vetorial foi realizada em relação aos vetores V 55 (778).
[0276] A Figura 25 é um fluxograma que ilustra a operação exemplificativa da unidade de reconstrução de vetor V ao realizar diversos aspectos das técnicas descritas nesta revelação. A unidade de reconstrução de vetor V 74 da Figura 4A ou 4B pode, primeiro, obter uma indicação (tal como um elemento de sintaxe) de se quantização escalar ou vetorial foi realizada em relação aos vetores V 55 (780). Quando o elemento de sintaxe indica que quantização escalar não foi realizada (”NÃO” 782), a unidade de reconstrução de vetor V 74 pode realizar desquantização vetorial para reconstruir os vetores V 55 (784). Quando o elemento de sintaxe indica que quantização escalar foi realizada (”SIM” 782), a unidade de reconstrução de vetor V 74 pode realizar desquantização escalar para reconstruir os vetores V 55 (786).
[0277] A Figura 26 é um fluxograma que ilustra a operação exemplificativa da unidade de codificação de vetor V da Figura 3A ou 3B ao realizar diversos aspectos das técnicas descritas nesta revelação. A unidade de codificação de vetor V 52 pode selecionar um dentre uma pluralidade (o que significa dois ou mais) de livros de código para usar quando se quantiza de modo vetorial os vetores V 55 (790). A unidade de codificação de vetor V 52 pode, então, realizar quantização vetorial da forma descrita acima em relação aos vetores V 55 com o uso do livro selecionado dentre os dois ou mais livros de código (792). A unidade de codificação de vetor V 52 pode, então, indicar ou sinalizar de outro modo que um dentre os dois ou mais livros de código foi usado para quantizar o vetor V 55 no fluxo de bits 21 (794).
[0278] A Figura 27 é um fluxograma que ilustra a operação exemplificativa da unidade de reconstrução de vetor V ao realizar diversos aspectos das técnicas descritas nesta revelação. A unidade de reconstrução de vetor V 74 da Figura 4A ou 4B pode, primeiro, obter uma indicação (tal como um elemento de sintaxe) de um dentre dois ou mais livros de código usado quando se quantiza de modo vetorial um vetor V 55 (800). A unidade de reconstrução de vetor V 74 pode, então, realizar desquantização vetorial para reconstruir o vetor V 55 com o uso do livro selecionado dentre os dois ou mais livros de código da forma descrita acima (802).
[0279] Diversos aspectos das técnicas podem permitir um dispositivo apresentado nas seguintes cláusulas:
[0280] Cláusula 1. Um dispositivo que compreende meios para armazenar uma pluralidade de livros de código para usar quando se realiza quantização vetorial em relação a um componente espacial de um campo sonoro, em que o componente espacial é obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem mais alta e meios para selecionar um dentre a pluralidade de livros de código.
[0281] Cláusula 2. O dispositivo, de acordo com a cláusula 1, que compreende adicionalmente meios para especificar um elemento de sintaxe em um fluxo de bits que inclui o componente espacial quantizado vetorial, em que o elemento de sintaxe identifica um índice no livro selecionado dentre a pluralidade de livros de código que tem um valor de peso usado quando se realiza a quantização vetorial do componente espacial.
[0282] Cláusula 3. O dispositivo, de acordo com a cláusula 1, que compreende adicionalmente meios para especificar um elemento de sintaxe em um fluxo de bits que inclui o componente espacial quantizado vetorial, em que o elemento de sintaxe identifica um índice em um vetor dicionário que tem um vetor de código usado quando se realiza a quantização vetorial do componente espacial.
[0283] Cláusula 4. O método, conforme definido na cláusula 1, em que os meios para selecionar um dentre uma pluralidade de livros de código compreende meios para selecionar o um dentre a pluralidade de livros de código com base em um número de vetores de código usados quando se realiza a quantização vetorial.
[0284] Diversos aspectos das técnicas também podem permitir um dispositivo apresentado nas seguintes cláusulas:
[0285] Cláusula 5. Um aparelho que compreende meios para realizar uma decomposição em relação a uma pluralidade de coeficientes ambissônicos de ordem mais alta (HOA) para gerar uma versão decomposta dos coeficientes de HOA e meios para determinar, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que está incluído na versão decomposta dos coeficientes de HOA, em que cada um dentre os valores de peso corresponde a um respectivo peso de uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representam o vetor.
[0286] Cláusula 6. O aparelho, de acordo com a cláusula 5, que compreende adicionalmente meios para selecionar um livro de código de decomposição a partir de um conjunto de livros de códigos de decomposição candidatos, em que os meios para determinar, com base no conjunto de vetores de código, os um ou mais valores de peso compreende meios para determinar os valores de peso com base no conjunto de vetores de código especificado pelo livro de código de decomposição selecionado.
[0287] Cláusula 7. O aparelho, de acordo com a cláusula 6, em que cada um dentre os livros de código de decomposição candidatos inclui uma pluralidade de vetores de código e em que pelo menos dois dentre os livros de código de decomposição candidatos têm um número diferente de vetores de código.
[0288] Cláusula 8. O aparelho, de acordo com a reivindicação 5, que compreende meios para gerar um fluxo de bits para incluir um ou mais índices que indicam quais vetores de código são usados para determinar os pesos e meios para gerar o fluxo de bits para incluir adicionalmente valores de ponderação que correspondem a cada um dentre os índices.
[0289] Qualquer uma dentre as técnicas supracitadas pode ser realizada em relação a qualquer número de contextos diferentes e ecossistemas de áudio. Diversos contextos exemplificativos são descritos abaixo, embora as técnicas não devam ser limitadas aos contextos exemplificativos. Um ecossistema de áudio exemplificativo pode incluir conteúdo de áudio, estúdios de cinema, estúdios musicais, estúdios de áudio para jogos, conteúdo de áudio com base em canal, ferramentas de codificação, núcleos de áudio de jogo, ferramentas de codificação/renderização de áudio de jogo e sistemas de entrega.
[0290] Os estúdios de cinema, os estúdios musicais e os estúdios de áudio para 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 de cinema podem emitir conteúdo de áudio com base em canal (por exemplo, em 2.0, 5.1 e 7.1), tal como mediante o uso de uma estação de trabalho de áudio digital (DAW). Os estúdios musicais podem emitir conteúdo de áudio com base em canal (por exemplo, em 2.0 e 5.1), tal como mediante o uso de uma DAW. Em qualquer caso, as ferramentas de codificação podem receber e criptar o conteúdo de áudio com base em canal com base em um ou mais codecs (por exemplo, AAC, AC3, Dolby True HD, Dolby Digital Plus e DTS Master Audio) para saída pelos sistemas de entrega. Os estúdios de áudio para jogos podem emitir um ou mais núcleos de áudio de jogo, tal como mediante o uso de uma DAW. As ferramentas de codificação/renderização de áudio de jogo podem codificar e/ou renderizar os núcleos de áudio em conteúdo de áudio com base em canal para saída pelos sistemas de entrega. Outro contexto exemplificativo em que as técnicas podem ser realizadas compreende um ecossistema de áudio que pode incluir objetos de áudio de registro de difusão, sistemas de áudio profissionais, captura em dispositivo para consumidor, formato de áudio de HOA, renderização em dispositivo, áudio, TV e acessórios de consumidor e sistemas de áudio para carro.
[0291] Os objetos de áudio de registro de difusão, os sistemas de áudio profissionais e a captura em dispositivo para consumidor podem, todos, codificar sua saída com o uso do formato de áudio de HOA. Dessa forma, o conteúdo de áudio pode ser codificado com o uso do formato de áudio de HOA em uma única representação que pode ser reproduzida com o uso da renderização em dispositivo, do áudio, da TV e dos acessórios de consumidor, e dos sistemas de áudio para 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 é, em oposição a exigir uma configuração em particular, tal como 5.1, 7.1, etc.), tal como um sistema de reprodução de áudio 16.
[0292] Outros exemplos de contexto em que as técnicas podem ser realizadas 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 com fio e/ou sem fio (por exemplo, microfones de Eigen), captura de som surround em dispositivo e dispositivos móveis (por exemplo, telefones inteligentes e computadores do tipo tablet). Em alguns exemplos, os dispositivos de aquisição com fio e/ou sem fio podem ser acoplados a um dispositivo móvel por meio de canal(is) de comunicação com fio e/ou sem fio.
[0293] De acordo com uma ou mais técnicas desta revelação, o dispositivo móvel pode ser usado para adquirir um campo sonoro. Por exemplo, o dispositivo móvel pode adquirir um campo sonoro por meio dos dispositivos de aquisição com fio e/ou sem fio e/ou da 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 adquirido sonoro nos coeficientes de HOA para reprodução por um ou mais dos elementos de reprodução. Por exemplo, um usuário do dispositivo móvel pode registrar (adquirir um campo sonoro de) um evento ao vivo (por exemplo, uma reunião, uma conferência, uma peça, um show, etc.) e codificar o registro em coeficientes de HOA.
[0294] O dispositivo móvel também pode utilizar um ou mais dentre os elementos de reprodução para reproduzir o campo sonoro codificado de HOA. Por exemplo, o dispositivo móvel pode decodificar o campo sonoro codificado de HOA e emitir um sinal para um ou mais dentre os elementos de reprodução que fazem com que o um ou mais dentre os elementos de reprodução recriem o campo sonoro. Como um exemplo, o dispositivo móvel pode utilizar os canais de comunicação com fio e/ou sem fio para emitir o sinal para uma ou mais caixas acústicas (por exemplo, matrizes de caixa acústica, barras de som, etc.). Como outro exemplo, o dispositivo móvel pode utilizar soluções de encaixe para emitir o sinal para uma ou mais estações de encaixe e/ou uma ou mais caixas acústicas encaixadas (por exemplo, sistemas sonoros em carros e/ou casas inteligentes). Como outro exemplo, o dispositivo móvel pode utilizar renderização de fones de ouvido para emitir o sinal para um conjunto de fones de ouvido, por exemplo, para criar um som binaural realístico.
[0295] Em alguns exemplos, um dispositivo móvel em particular pode tanto adquirir um campo sonoro 3D quanto reproduzir o mesmo campo sonoro 3D em um momento posterior. Em alguns exemplos, o dispositivo móvel pode adquirir um campo sonoro 3D, criptar o campo sonoro 3D em HOA e transmitir o campo sonoro 3D criptado para um ou mais outros dispositivos (por exemplo, outros dispositivos móveis e/ou outros dispositivos não móveis) para reprodução.
[0296] Ainda outro contexto em que 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, ferramentas de renderização e sistemas de entrega. Em alguns exemplos, os estúdios de jogos podem incluir uma ou mais DAWs que podem suportar a edição de sinais de HOA. Por exemplo, as uma ou mais DAWs podem incluir plugins e/ou ferramentas de HOA que podem ser configurados para operar com (por exemplo, trabalhar com) um ou mais sistemas de áudio de jogo. Em alguns exemplos, os estúdios de jogos podem emitir novos formatos de núcleo que suportam HOA. De qualquer forma, os estúdios de jogos podem emitir conteúdo de áudio codificado para as ferramentas de renderização que podem renderizar um campo sonoro para reprodução pelos sistemas de entrega.
[0297] As técnicas também podem ser realizadas em relação a dispositivos de aquisição de áudio exemplificativos. Por exemplo, as técnicas podem ser realizadas em relação a um microfone de Eigen, o qual pode incluir uma pluralidade de microfones que são coletivamente configurados para registrar um campo sonoro 3D. Em alguns exemplos, a pluralidade de microfones de microfone de Eigen pode estar localizada na superfície de uma bola substancialmente esférica com um raio de aproximadamente 4 cm. Em alguns exemplos, o dispositivo de criptação de áudio 20 pode ser integrado no microfone de Eigen a fim de emitir um fluxo de bits 21 diretamente a partir do microfone.
[0298] Outro contexto de aquisição de áudio exemplificativo pode incluir um caminhão de produção que pode ser configurado para receber um sinal dos um ou mais microfones, tais como um ou mais microfones de Eigen. O caminhão de produção também pode incluir um codificador de áudio, tal como o codificador de áudio 20 da Figura 3A.
[0299] O dispositivo móvel também pode, em alguns casos, incluir uma pluralidade de microfones que são coletivamente configurados para registrar um campo sonoro 3D. Em outras palavras, a pluralidade de microfone pode ter uma diversidade X, Y, Z. Em alguns exemplos, o dispositivo móvel pode incluir um microfone que pode ser girado para fornecer uma diversidade X, Y, Z em relação a um ou mais outros microfones do dispositivo móvel. O dispositivo móvel também pode incluir um codificador de áudio, tal como o codificador de áudio 20 da Figura 3A.
[0300] Um dispositivo de captura de vídeo protegido pode ser adicionalmente configurado para registrar um campo sonoro 3D. Em alguns exemplos, o dispositivo de captura de vídeo protegido pode ser fixado a um capacete de um usuário envolvido em uma atividade. Por exemplo, o dispositivo de captura de vídeo protegido pode ser fixado a um capacete de um usuário que faz rafting em corredeiras. Dessa forma, o dispositivo de captura de vídeo protegido pode capturar um campo sonoro 3D que representa a ação ao redor do usuário (por exemplo, água batendo atrás do usuário, outro praticante de rafting falando na frente do usuário, etc.).
[0301] As técnicas também podem ser realizadas em relação a um dispositivo móvel aprimorado por acessório, o qual pode ser configurado para registrar um campo sonoro 3D. Em alguns exemplos, o dispositivo móvel pode ser semelhante aos dispositivos móveis discutidos acima, com a adição de um ou mais acessórios. Por exemplo, um microfone de Eigen pode ser fixado ao dispositivo móvel observado acima para formar um dispositivo móvel aprimorado por acessório. Dessa forma, o dispositivo móvel aprimorado por acessório pode capturar uma versão de qualidade maior do campo sonoro 3D do que apenas quando se usa componentes de captura de som integrais ao dispositivo móvel aprimorado por acessório.
[0302] Os dispositivos de reprodução de áudio exemplificativos que podem realizar diversos aspectos das técnicas descritas nesta revelação são adicionalmente discutidos abaixo. De acordo com uma ou mais técnicas desta revelação, caixas acústicas e/ou barras de som podem ser dispostas em qualquer configuração arbitrária enquanto ainda se reproduz um campo sonoro 3D. Além disso, em alguns exemplos, dispositivos de reprodução por fone de ouvido podem ser acoplados a um decodificador 24 por meio de uma conexão com fio ou sem fio. De acordo com uma ou mais técnicas desta revelação, uma representação genérica única de um campo sonoro pode ser utilizada para renderizar o campo sonoro em qualquer combinação das caixas acústicas, das barras de som e dos dispositivos de reprodução por fone de ouvido.
[0303] Diversos ambientes de reprodução de áudio exemplificativos também podem ser adequados para realizar diversos aspectos das técnicas descritas nesta revelação. Por exemplo, um ambiente de reprodução por caixa acústica 5.1, um ambiente de reprodução por caixa acústica 2.0 (por exemplo, estéreo), um ambiente de reprodução por caixa acústica 9.1 com alto-falantes de altura frontal completa, um ambiente de reprodução por caixa acústica 22.2, um ambiente de reprodução por caixa acústica 16.0, um ambiente de reprodução de caixa acústica automotivo e um dispositivo móvel com ambiente de reprodução com almofada para orelha podem ser ambientes adequados para realizar diversos aspectos das técnicas descritas nesta revelação.
[0304] De acordo com uma ou mais técnicas desta revelação, uma representação genérica única de um campo sonoro pode ser utilizada para renderizar o campo sonoro em qualquer um dentre os ambientes de reprodução supracitados. Adicionalmente, as técnicas desta revelação permitem que um renderizador renderize um campo sonoro a partir de uma representação genérica para reprodução nos ambientes de reprodução diferentes daqueles descritos acima. Por exemplo, se considerações de projeto proibirem uma colocação apropriada de caixas acústicas de acordo com um ambiente de reprodução por caixa acústica 7.1 (por exemplo, se não for possível colocar uma caixa acústica de surround direita), as técnicas desta revelação permitem que um renderizador compense com as outras 6 caixas acústicas, de forma que a reprodução possa ser alcançada em um ambiente de reprodução por caixa acústica 6.1.
[0305] Além disso, um usuário pode assistir um jogo de esporte enquanto utiliza fones de ouvido. De acordo com uma ou mais técnicas desta revelação, o campo sonoro 3D do jogo de esporte pode ser adquirido (por exemplo, um ou mais microfones de Eigen podem ser colocados no estádio de basebol e/ou ao redor do mesmo), os coeficientes de HOA que correspondem ao campo sonoro 3D podem ser obtidos e transmitidos para um decodificador, o decodificador pode reconstruir o campo sonoro 3D com base nos coeficientes de HOA e emitir o campo sonoro 3D reconstruído para um renderizador, o renderizador pode obter uma indicação sobre o tipo de ambiente de reprodução (por exemplo, fones de ouvido) e renderizar o campo sonoro 3D reconstruído em sinais que fazem com que os fones de ouvido emitam uma representação do campo sonoro 3D do jogo de esporte.
[0306] Em cada um dos diversos casos descritos acima, deve ser compreendido que o dispositivo de criptação de áudio 20 pode realizar um método ou compreender de outro modo meios para realizar cada etapa do método para o qual o dispositivo de criptação de áudio 20 é configurado para realizar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, os um ou mais processadores podem representar um processador de propósito especial configurado por meio de instruções armazenadas em um meio de armazenamento legível por computador não transitório. Em outras palavras, diversos aspectos das técnicas em cada um dos conjuntos de exemplos de criptação podem possibilitar um meio de armazenamento legível por computador não transitório que tem armazenado no mesmo instruções que, quando executadas, fazem com que os um ou mais processadores realizem o método para o qual o dispositivo de criptação de áudio 20 foi configurado para realizar.
[0307] Em um ou mais exemplos, as funções descritas podem ser implantadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implantadas em software, as funções podem ser armazenadas ou transmitidas como uma ou mais instruções ou código em um meio legível por computador e executadas por uma unidade de processamento com base em hardware. Os meios legíveis por computador podem incluir meios de armazenamento legíveis por computador, os quais correspondem a um meio tangível, tal como meios de armazenamento de dados. Os meios de armazenamento de dados podem ser quaisquer meios disponíveis que possam ser acessados por um ou mais computadores ou um ou mais processadores para recuperar instruções, estruturas de código e/ou dados para a implantação das técnicas descritas nessa revelação. Um produto de programa de computador pode incluir um meio legível por computador.
[0308] Do mesmo modo, em cada um dos diversos casos descritos acima, deve ser compreendido que o dispositivo de decodificação de áudio 24 pode realizar um método ou compreender de outro modo meios para realizar cada etapa do método para o qual o dispositivo de decodificação de áudio 24 é configurado para realizar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, os um ou mais processadores podem representar um processador de propósito especial configurado por meio de instruções armazenadas em um meio de armazenamento legível por computador não transitório. Em outras palavras, diversos aspectos das técnicas em cada um dos conjuntos de exemplos de criptação podem possibilitar um meio de armazenamento legível por computador não transitório que tem armazenado no mesmo instruções que, quando executadas, fazem com que os um ou mais processadores realizem o método para o qual o dispositivo de decodificação de áudio 24 foi configurado para realizar.
[0309] A título de exemplo, e não de limitação, tais meios de armazenamento legíveis por computador podem compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético ou outros dispositivos de armazenamento magnético, ou qualquer outro meio que possa ser usado para armazenar o código de programa desejado na forma de instruções ou estruturas de dados e que possa ser acessado por um computador. Entretanto, deve ser compreendido que os meios de armazenamento legíveis por computador e os meios de armazenamento de dados não incluem conexões, ondas portadoras, sinais ou outros meios transitórios, mas são, em vez disso, direcionados a meios de armazenamento tangíveis não transitórios. Disco magnético e disco óptico, conforme usado no presente documento, incluem disco compacto (CD), disco laser, disco ótico, disco versátil digital (DVD), disquete e disco blu-ray, em que os discos magnéticos reproduzem normalmente os dados de modo magnético, enquanto os discos ópticos reproduzem os dados de modo óptico com lasers. As combinações dos supracitados também devem ser abrangidas pelo escopo de meios legíveis por computador.
[0310] As instruções podem ser executadas por um ou mais processadores, tais como um ou mais processadores de sinal digital (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), matrizes lógicas programáveis em campo (FPGAs) ou outro conjunto de circuitos lógico distinto ou integrado equivalente. Consequentemente, o termo “processador”, conforme usado no presente documento, pode se referir a qualquer um dentre a estrutura supracitada ou qualquer outra estrutura adequada para implantação das técnicas descritas no presente documento. Além disso, em alguns aspectos, a funcionalidade descrita no presente documento pode ser fornecida dentro de um hardware dedicado e/ou de módulos de software configurados para criptação e decodificação ou incorporados em um codec combinado. Além disso, as técnicas podem ser completamente implantadas em um ou mais circuitos ou elementos lógicos.
[0311] As técnicas desta revelação podem ser implantadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um telefone sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Diversos componentes, módulos ou unidades são descritos nesta revelação para enfatizar os aspectos funcionais dos dispositivos configurados para realizar as técnicas reveladas, mas não exigem necessariamente a realização por diferentes unidades de hardware. Em vez disso, conforme descrito acima, diversas unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperativas, incluindo um ou mais processadores, conforme descrito acima, em conjunto com software e/ou firmware adequados.
[0312] Diversos aspectos das técnicas foram descritos. Esses e outros aspectos das técnicas estão no escopo das seguintes reivindicações.

Claims (17)

1. Dispositivo configurado para obter uma pluralidade de coeficientes AMBISONICS de ordem superior, HOA, representantes de um campo sonoro, caracterizado pelo fato de que compreende: um ou mais processadores configurados para: obter, a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor, cada um dentre os valores de peso correspondente a um respectivo peso dentre uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor, o vetor definido em um domínio harmônico esférico, e representante de um componente direcional de um objeto de áudio correspondente presente no campo sonoro representado pela pluralidade de coeficientes HOA; obter, a partir do fluxo de bits, dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir o vetor; selecionar um subconjunto dos vetores de código com base nos dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir o vetor; reconstruir o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código; e renderizar, com base no vetor reconstruído, alimentações de alto-falantes para reprodução por alto- falantes para reproduzir o campo sonoro; uma memória acoplada ao um ou mais processadores, e configurada para armazenar o vetor reconstruído.
2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para determinar uma soma ponderada do subconjunto selecionado dos vetores de código em que o subconjunto selecionado dos vetores de código é ponderado pelos valores de peso.
3. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para: para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor de código dentre os vetores de código para gerar um respectivo vetor de código ponderado incluído em uma pluralidade de vetores de código ponderados; e somar a pluralidade de vetores de código ponderados para determinar o vetor.
4. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para: para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor de código dentre os vetores de código no subconjunto de vetores de código para gerar um respectivo vetor de código ponderado; e somar a pluralidade de vetores de código ponderados para determinar o vetor.
5. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para obter a partir do fluxo de bits os dados indicativos de uma pluralidade de valores de peso que representam o vetor que está incluído na versão decomposta da pluralidade de coeficientes HOA, cada um dentre os valores de peso correspondente ao um respectivo peso dentre a pluralidade de pesos na soma ponderada de vetores de código que representa o vetor e que inclui o conjunto de vetores de código, o conjunto de vetores de código compreendendo pelo menos um dentre um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de vetores direcionais pseudo- ortonormais, um conjunto de vetores direcionais pseudo- ortogonais, um conjunto de vetores de base direcional, um conjunto de vetores ortogonais, um conjunto de vetores ortonormais, um conjunto de vetores pseudo-ortonormais, um conjunto de vetores pseudo-ortogonais e um conjunto de vetores de base.
6. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente os alto-falantes acionados pelas alimentações de alto-falantes para reproduzir o campo sonoro, os alto-falantes acoplados ao um ou mais processadores.
7. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para determinar uma soma ponderada do subconjunto selecionado dos vetores de código, em que o subconjunto selecionado dos vetores de código é ponderado pelos valores de peso.
8. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para: para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor de código dentre o subconjunto selecionado dos vetores de código para gerar um vetor de código ponderado respectivo incluído em uma pluralidade de vetores de código ponderados; e somar a pluralidade de vetores de código ponderados para determinar o vetor.
9. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende adicionalmente os alto-falantes, em que o um ou mais processadores são acoplados aos alto-falantes.
10. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que o um ou mais processadores são configurados adicionalmente para reconstruir os coeficientes HOA com base no vetor reconstruído e renderizar os coeficientes HOA para alimentações de alto- falantes, e em que o dispositivo compreende adicionalmente alto-falantes acionados pelas alimentações de alto-falantes para reproduzir um campo sonoro representado pelos coeficientes HOA.
11. Método para obter uma pluralidade de coeficientes AMBISONICS de ordem superior, HOA, representantes de um campo sonoro, caracterizado pelo fato de que compreende: obter, por um decodificador de áudio e a partir de um fluxo de bits, dados indicativos de uma pluralidade de valores de peso que representam um vetor, cada um dentre os valores de peso correspondentes a um peso respectivo dentre uma pluralidade de pesos em uma soma ponderada de vetores de código usados para representar o vetor, o vetor definido em um domínio harmônico esférico e representante de um componente direcional de um objeto de áudio correspondente presente no campo sonoro representado pela pluralidade de coeficientes HOA; obter, a partir do fluxo de bits, dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir o vetor; selecionar, pelo decodificador de áudio, um subconjunto dos vetores de código com base nos dados indicativos de qual dentre uma pluralidade de vetores de código usar para reconstruir o vetor; reconstruir, pelo decodificador de áudio, o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código; renderizar, pelo decodificador de áudio e com base no vetor reconstruído, alimentações de alto-faltantes para reprodução por alto-falantes para reproduzir o campo sonoro.
12. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que reconstruir o vetor compreende determinar uma soma ponderada do subconjunto selecionado dos vetores de código, em que o subconjunto selecionado de vetores de código é ponderado pelos valores de peso.
13. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que reconstruir o vetor compreende: para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor de código dentre o subconjunto dos vetores de código para gerar um respectivo vetor de código ponderado incluído em uma pluralidade de vetores de código ponderados; e somar a pluralidade de vetores de código ponderados para determinar o vetor.
14. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que reconstruir o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código compreende: para cada um dentre os valores de peso, multiplicar o valor de peso por um respectivo vetor de código dentre os vetores de código no subconjunto de vetores de código para gerar um respectivo vetor de código ponderado incluído em uma pluralidade de vetores de código ponderados; e somar a pluralidade de vetores de código ponderados para determinar o vetor.
15. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que o conjunto de vetores de código compreende pelo menos um dentre um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de vetores direcionais pseudo-ortonormais, um conjunto de vetores direcionais pseudo-ortogonais, um conjunto de vetores de base direcional, um conjunto de vetores ortogonais, um conjunto de vetores ortonormais, um conjunto de vetores pseudo-ortonormais, um conjunto de vetores pseudo-ortogonais e um conjunto de vetores de base.
16. Método, de acordo com a reivindicação 11, caracterizado pelo fato de que compreende adicionalmente reconstruir os coeficientes HOA com base no vetor reconstruído, em que renderizar as alimentações de alto- falantes compreende renderizar, com base nos coeficientes HOA reconstruídos, as alimentações de alto-falante para reprodução pelos alto-falantes para reproduzir o campo sonoro.
17. Memória caracterizada pelo fato de que compreende instruções armazenadas na mesma, as instruções sendo executadas por um computador para realizar o método conforme definido em qualquer uma das reivindicações 11 a 16.
BR112016026724-9A 2014-05-16 2015-05-15 Vetores de codificação decompostos a partir de sinais de áudio ambissônicos de ordem mais alta BR112016026724B1 (pt)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201461994794P 2014-05-16 2014-05-16
US61/994,794 2014-05-16
US201462004128P 2014-05-28 2014-05-28
US201462019663P 2014-07-01 2014-07-01
US62/019,663 2014-07-01
US201462027702P 2014-07-22 2014-07-22
US62/027,702 2014-07-22
US201462028282P 2014-07-23 2014-07-23
US201462032440P 2014-08-01 2014-08-01
US62/032,440 2014-08-01
US14/712,836 2015-05-14
US14/712,836 US9852737B2 (en) 2014-05-16 2015-05-14 Coding vectors decomposed from higher-order ambisonics audio signals
PCT/US2015/031156 WO2015175981A1 (en) 2014-05-16 2015-05-15 Coding vectors decomposed from higher-order ambisonics audio signals

Publications (2)

Publication Number Publication Date
BR112016026724A2 BR112016026724A2 (pt) 2017-08-15
BR112016026724B1 true BR112016026724B1 (pt) 2022-10-11

Family

ID=53274838

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016026724-9A BR112016026724B1 (pt) 2014-05-16 2015-05-15 Vetores de codificação decompostos a partir de sinais de áudio ambissônicos de ordem mais alta

Country Status (20)

Country Link
US (1) US9852737B2 (pt)
EP (1) EP3143614B1 (pt)
JP (1) JP6549156B2 (pt)
KR (1) KR102032021B1 (pt)
CN (2) CN106463127B (pt)
AU (1) AU2015258899B2 (pt)
BR (1) BR112016026724B1 (pt)
CA (1) CA2946820C (pt)
CL (1) CL2016002867A1 (pt)
DK (1) DK3143614T3 (pt)
ES (1) ES2714356T3 (pt)
HU (1) HUE042623T2 (pt)
MX (1) MX360614B (pt)
MY (1) MY176232A (pt)
PH (1) PH12016502120A1 (pt)
RU (1) RU2685997C2 (pt)
SG (1) SG11201608518TA (pt)
TW (1) TWI670709B (pt)
WO (1) WO2015175981A1 (pt)
ZA (1) ZA201607875B (pt)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9667959B2 (en) 2013-03-29 2017-05-30 Qualcomm Incorporated RTP payload format designs
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US9502044B2 (en) 2013-05-29 2016-11-22 Qualcomm Incorporated Compression of decomposed representations of a sound field
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US9736606B2 (en) 2014-08-01 2017-08-15 Qualcomm Incorporated Editing of higher-order ambisonic audio data
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
US10249312B2 (en) 2015-10-08 2019-04-02 Qualcomm Incorporated Quantization of spatial vectors
US9961475B2 (en) 2015-10-08 2018-05-01 Qualcomm Incorporated Conversion from object-based audio to HOA
US9961467B2 (en) 2015-10-08 2018-05-01 Qualcomm Incorporated Conversion from channel-based audio to HOA
EP3297298B1 (en) 2016-09-19 2020-05-06 A-Volute Method for reproducing spatially distributed sounds
GB2554446A (en) * 2016-09-28 2018-04-04 Nokia Technologies Oy Spatial audio signal format generation from a microphone array using adaptive capture
WO2018162803A1 (en) * 2017-03-09 2018-09-13 Aalto University Foundation Sr Method and arrangement for parametric analysis and processing of ambisonically encoded spatial sound scenes
US10242486B2 (en) * 2017-04-17 2019-03-26 Intel Corporation Augmented reality and virtual reality feedback enhancement system, apparatus and method
US10405126B2 (en) * 2017-06-30 2019-09-03 Qualcomm Incorporated Mixed-order ambisonics (MOA) audio data for computer-mediated reality systems
US11120363B2 (en) * 2017-10-19 2021-09-14 Adobe Inc. Latency mitigation for encoding data
US10942914B2 (en) 2017-10-19 2021-03-09 Adobe Inc. Latency optimization for digital asset compression
US11086843B2 (en) 2017-10-19 2021-08-10 Adobe Inc. Embedding codebooks for resource optimization
US10657974B2 (en) * 2017-12-21 2020-05-19 Qualcomm Incorporated Priority information for higher order ambisonic audio data
US11270711B2 (en) * 2017-12-21 2022-03-08 Qualcomm Incorproated Higher order ambisonic audio data
US10264386B1 (en) * 2018-02-09 2019-04-16 Google Llc Directional emphasis in ambisonics
CN110876100B (zh) * 2018-08-29 2022-12-09 嘉楠明芯(北京)科技有限公司 一种音源定向方法与系统
US11361776B2 (en) 2019-06-24 2022-06-14 Qualcomm Incorporated Coding scaled spatial components
US11538489B2 (en) 2019-06-24 2022-12-27 Qualcomm Incorporated Correlating scene-based audio data for psychoacoustic audio coding
US11356266B2 (en) 2020-09-11 2022-06-07 Bank Of America Corporation User authentication using diverse media inputs and hash-based ledgers
US11368456B2 (en) 2020-09-11 2022-06-21 Bank Of America Corporation User security profile for multi-media identity verification
US11743670B2 (en) 2020-12-18 2023-08-29 Qualcomm Incorporated Correlation-based rendering with multiple distributed streams accounting for an occlusion for six degree of freedom applications
US11521623B2 (en) 2021-01-11 2022-12-06 Bank Of America Corporation System and method for single-speaker identification in a multi-speaker environment on a low-frequency audio recording
US11600282B2 (en) * 2021-07-02 2023-03-07 Google Llc Compressing audio waveforms using neural networks and vector quantizers
CN117556431A (zh) * 2024-01-12 2024-02-13 北京北大软件工程股份有限公司 一种混合软件漏洞分析方法和系统

Family Cites Families (130)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1159034B (it) 1983-06-10 1987-02-25 Cselt Centro Studi Lab Telecom Sintetizzatore vocale
US5012518A (en) 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
EP0520068B1 (en) 1991-01-08 1996-05-15 Dolby Laboratories Licensing Corporation Encoder/decoder for multidimensional sound fields
US5757927A (en) 1992-03-02 1998-05-26 Trifield Productions Ltd. Surround sound apparatus
JP2626492B2 (ja) * 1993-09-13 1997-07-02 日本電気株式会社 ベクトル量子化装置
US5790759A (en) 1995-09-19 1998-08-04 Lucent Technologies Inc. Perceptual noise masking measure based on synthesis filter frequency response
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
JP3849210B2 (ja) 1996-09-24 2006-11-22 ヤマハ株式会社 音声符号化復号方式
US5821887A (en) 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6167375A (en) 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
AUPP272698A0 (en) 1998-03-31 1998-04-23 Lake Dsp Pty Limited Soundfield playback from a single speaker system
EP1018840A3 (en) 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US20020049586A1 (en) 2000-09-11 2002-04-25 Kousuke Nishio Audio encoder, audio decoder, and broadcasting system
JP2002094989A (ja) 2000-09-14 2002-03-29 Pioneer Electronic Corp ビデオ信号符号化装置及びビデオ信号符号化方法
US20020169735A1 (en) 2001-03-07 2002-11-14 David Kil Automatic mapping from data to preprocessing algorithms
GB2379147B (en) 2001-04-18 2003-10-22 Univ York Sound processing
US20030147539A1 (en) 2002-01-11 2003-08-07 Mh Acoustics, Llc, A Delaware Corporation Audio system based on at least second-order eigenbeams
US7262770B2 (en) 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
US8160269B2 (en) 2003-08-27 2012-04-17 Sony Computer Entertainment Inc. Methods and apparatuses for adjusting a listening area for capturing sounds
ATE543179T1 (de) 2002-09-04 2012-02-15 Microsoft Corp Entropische kodierung mittels anpassung des kodierungsmodus zwischen niveau- und lauflängenniveau-modus
FR2844894B1 (fr) 2002-09-23 2004-12-17 Remy Henri Denis Bruno Procede et systeme de traitement d'une representation d'un champ acoustique
US6961696B2 (en) 2003-02-07 2005-11-01 Motorola, Inc. Class quantization for distributed speech recognition
US7920709B1 (en) 2003-03-25 2011-04-05 Robert Hickling Vector sound-intensity probes operating in a half-space
JP2005086486A (ja) 2003-09-09 2005-03-31 Alpine Electronics Inc オーディオ装置およびオーディオ処理方法
US7433815B2 (en) 2003-09-10 2008-10-07 Dilithium Networks Pty Ltd. Method and apparatus for voice transcoding between variable rate coders
US7283634B2 (en) 2004-08-31 2007-10-16 Dts, Inc. Method of mixing audio channels using correlated outputs
FR2880755A1 (fr) 2005-01-10 2006-07-14 France Telecom Procede et dispositif d'individualisation de hrtfs par modelisation
US7271747B2 (en) 2005-05-10 2007-09-18 Rice University Method and apparatus for distributed compressed sensing
ATE378793T1 (de) 2005-06-23 2007-11-15 Akg Acoustics Gmbh Methode zur modellierung eines mikrofons
US8510105B2 (en) 2005-10-21 2013-08-13 Nokia Corporation Compression and decompression of data vectors
WO2007048900A1 (fr) 2005-10-27 2007-05-03 France Telecom Individualisation de hrtfs utilisant une modelisation par elements finis couplee a un modele correctif
US8190425B2 (en) 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US8712061B2 (en) 2006-05-17 2014-04-29 Creative Technology Ltd Phase-amplitude 3-D stereo encoder and decoder
US8379868B2 (en) 2006-05-17 2013-02-19 Creative Technology Ltd Spatial audio coding based on universal spatial cues
US8345899B2 (en) 2006-05-17 2013-01-01 Creative Technology Ltd Phase-amplitude matrixed surround decoder
US20080004729A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Direct encoding into a directional audio coding format
DE102006053919A1 (de) 2006-10-11 2008-04-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer Anzahl von Lautsprechersignalen für ein Lautsprecher-Array, das einen Wiedergaberaum definiert
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US7663623B2 (en) 2006-12-18 2010-02-16 Microsoft Corporation Spherical harmonics scaling
US8908873B2 (en) 2007-03-21 2014-12-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
US8290167B2 (en) * 2007-03-21 2012-10-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
US9015051B2 (en) 2007-03-21 2015-04-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Reconstruction of audio channels with direction parameters indicating direction of origin
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
WO2009007639A1 (fr) 2007-07-03 2009-01-15 France Telecom Quantification apres transformation lineaire combinant les signaux audio d'une scene sonore, codeur associe
CN101842833B (zh) * 2007-09-11 2012-07-18 沃伊斯亚吉公司 语音和音频编码中快速代数码本搜索的方法和设备
CN101884065B (zh) 2007-10-03 2013-07-10 创新科技有限公司 用于双耳再现和格式转换的空间音频分析和合成的方法
US8515767B2 (en) * 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
JP5419714B2 (ja) 2008-01-16 2014-02-19 パナソニック株式会社 ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法
RU2565008C2 (ru) 2008-03-10 2015-10-10 Фраунхофер-Гезелльшафт цур Фёрдерунг дер ангевандтен Форшунг Е.Ф. Устройство и метод для обработки аудио сигнала, содержащего переходный сигнал
US8219409B2 (en) 2008-03-31 2012-07-10 Ecole Polytechnique Federale De Lausanne Audio wave field encoding
EP2287836B1 (en) 2008-05-30 2014-10-15 Panasonic Intellectual Property Corporation of America Encoder and encoding method
CN102089634B (zh) 2008-07-08 2012-11-21 布鲁尔及凯尔声音及振动测量公司 重建声学场
GB0817950D0 (en) 2008-10-01 2008-11-05 Univ Southampton Apparatus and method for sound reproduction
JP5697301B2 (ja) 2008-10-01 2015-04-08 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、及び動画像符号化・復号システム
US8207890B2 (en) 2008-10-08 2012-06-26 Qualcomm Atheros, Inc. Providing ephemeris data and clock corrections to a satellite navigation system receiver
US8391500B2 (en) 2008-10-17 2013-03-05 University Of Kentucky Research Foundation Method and system for creating three-dimensional spatial audio
FR2938688A1 (fr) 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
EP2374123B1 (fr) 2008-12-15 2019-04-10 Orange Codage perfectionne de signaux audionumeriques multicanaux
EP2374124B1 (fr) * 2008-12-15 2013-05-29 France Telecom Codage perfectionne de signaux audionumériques multicanaux
EP2205007B1 (en) 2008-12-30 2019-01-09 Dolby International AB Method and apparatus for three-dimensional acoustic field encoding and optimal reconstruction
GB2476747B (en) * 2009-02-04 2011-12-21 Richard Furse Sound system
EP2237270B1 (en) 2009-03-30 2012-07-04 Nuance Communications, Inc. A method for determining a noise reference signal for noise compensation and/or noise reduction
GB0906269D0 (en) 2009-04-09 2009-05-20 Ntnu Technology Transfer As Optimal modal beamformer for sensor arrays
WO2011022027A2 (en) 2009-05-08 2011-02-24 University Of Utah Research Foundation Annular thermoacoustic energy converter
CN102227696B (zh) 2009-05-21 2014-09-24 松下电器产业株式会社 触感处理装置
ES2690164T3 (es) 2009-06-25 2018-11-19 Dts Licensing Limited Dispositivo y método para convertir una señal de audio espacial
WO2011041834A1 (en) 2009-10-07 2011-04-14 The University Of Sydney Reconstruction of a recorded sound field
WO2011044898A1 (en) 2009-10-15 2011-04-21 Widex A/S Hearing aid with audio codec and method
EP2510515B1 (en) 2009-12-07 2014-03-19 Dolby Laboratories Licensing Corporation Decoding of multichannel audio encoded bit streams using adaptive hybrid transformation
CN102104452B (zh) 2009-12-22 2013-09-11 华为技术有限公司 信道状态信息反馈方法、信道状态信息获得方法及设备
WO2011104463A1 (fr) 2010-02-26 2011-09-01 France Telecom Compression de flux audio multicanal
AU2011226143B9 (en) 2010-03-10 2015-03-19 Dolby International Ab Audio signal decoder, audio signal encoder, method for decoding an audio signal, method for encoding an audio signal and computer program using a pitch-dependent adaptation of a coding context
AU2011231565B2 (en) 2010-03-26 2014-08-28 Dolby International Ab Method and device for decoding an audio soundfield representation for audio playback
JP5850216B2 (ja) 2010-04-13 2016-02-03 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
US9053697B2 (en) 2010-06-01 2015-06-09 Qualcomm Incorporated Systems, methods, devices, apparatus, and computer program products for audio equalization
NZ587483A (en) * 2010-08-20 2012-12-21 Ind Res Ltd Holophonic speaker system with filters that are pre-configured based on acoustic transfer functions
WO2012025580A1 (en) 2010-08-27 2012-03-01 Sonicemotion Ag Method and device for enhanced sound field reproduction of spatially encoded audio input signals
US9084049B2 (en) 2010-10-14 2015-07-14 Dolby Laboratories Licensing Corporation Automatic equalization using adaptive frequency-domain filtering and dynamic fast convolution
US9552840B2 (en) 2010-10-25 2017-01-24 Qualcomm Incorporated Three-dimensional sound capturing and reproducing with multi-microphones
EP2450880A1 (en) 2010-11-05 2012-05-09 Thomson Licensing Data structure for Higher Order Ambisonics audio data
KR101401775B1 (ko) 2010-11-10 2014-05-30 한국전자통신연구원 스피커 어레이 기반 음장 합성을 이용한 음장 재생 장치 및 방법
EP2469741A1 (en) 2010-12-21 2012-06-27 Thomson Licensing Method and apparatus for encoding and decoding successive frames of an ambisonics representation of a 2- or 3-dimensional sound field
US20120163622A1 (en) 2010-12-28 2012-06-28 Stmicroelectronics Asia Pacific Pte Ltd Noise detection and reduction in audio devices
US8809663B2 (en) 2011-01-06 2014-08-19 Hank Risan Synthetic simulation of a media recording
EP2541547A1 (en) * 2011-06-30 2013-01-02 Thomson Licensing Method and apparatus for changing the relative positions of sound objects contained within a higher-order ambisonics representation
US8548803B2 (en) 2011-08-08 2013-10-01 The Intellisis Corporation System and method of processing a sound signal including transforming the sound signal into a frequency-chirp domain
US9641951B2 (en) 2011-08-10 2017-05-02 The Johns Hopkins University System and method for fast binaural rendering of complex acoustic scenes
EP2560161A1 (en) 2011-08-17 2013-02-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Optimal mixing matrices and usage of decorrelators in spatial audio processing
EP2592846A1 (en) * 2011-11-11 2013-05-15 Thomson Licensing Method and apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
EP2592845A1 (en) * 2011-11-11 2013-05-15 Thomson Licensing Method and Apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
US9584912B2 (en) 2012-01-19 2017-02-28 Koninklijke Philips N.V. Spatial audio rendering and encoding
EP2665208A1 (en) 2012-05-14 2013-11-20 Thomson Licensing Method and apparatus for compressing and decompressing a Higher Order Ambisonics signal representation
US9288603B2 (en) 2012-07-15 2016-03-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for backward-compatible audio coding
US9190065B2 (en) 2012-07-15 2015-11-17 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients
US9473870B2 (en) 2012-07-16 2016-10-18 Qualcomm Incorporated Loudspeaker position compensation with 3D-audio hierarchical coding
KR102201034B1 (ko) 2012-07-16 2021-01-11 돌비 인터네셔널 에이비 오디오 재생을 위한 오디오 음장 표현을 렌더링하는 방법 및 장치
EP2688066A1 (en) 2012-07-16 2014-01-22 Thomson Licensing Method and apparatus for encoding multi-channel HOA audio signals for noise reduction, and method and apparatus for decoding multi-channel HOA audio signals for noise reduction
KR102201713B1 (ko) 2012-07-19 2021-01-12 돌비 인터네셔널 에이비 다채널 오디오 신호들의 렌더링을 향상시키기 위한 방법 및 디바이스
US9761229B2 (en) 2012-07-20 2017-09-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for audio object clustering
US9479886B2 (en) 2012-07-20 2016-10-25 Qualcomm Incorporated Scalable downmix design with feedback for object-based surround codec
JP5967571B2 (ja) 2012-07-26 2016-08-10 本田技研工業株式会社 音響信号処理装置、音響信号処理方法、及び音響信号処理プログラム
PL2915166T3 (pl) 2012-10-30 2019-04-30 Nokia Technologies Oy Sposób i urządzenie do kwantyzacji odpornego wektora
US9336771B2 (en) 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
EP2743922A1 (en) 2012-12-12 2014-06-18 Thomson Licensing Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field
US9913064B2 (en) 2013-02-07 2018-03-06 Qualcomm Incorporated Mapping virtual speakers to physical speakers
US10178489B2 (en) 2013-02-08 2019-01-08 Qualcomm Incorporated Signaling audio rendering information in a bitstream
EP2765791A1 (en) 2013-02-08 2014-08-13 Thomson Licensing Method and apparatus for determining directions of uncorrelated sound sources in a higher order ambisonics representation of a sound field
US9609452B2 (en) 2013-02-08 2017-03-28 Qualcomm Incorporated Obtaining sparseness information for higher order ambisonic audio renderers
US9883310B2 (en) 2013-02-08 2018-01-30 Qualcomm Incorporated Obtaining symmetry information for higher order ambisonic audio renderers
US9338420B2 (en) 2013-02-15 2016-05-10 Qualcomm Incorporated Video analysis assisted generation of multi-channel audio data
US9959875B2 (en) 2013-03-01 2018-05-01 Qualcomm Incorporated Specifying spherical harmonic and/or higher order ambisonics coefficients in bitstreams
BR112015021520B1 (pt) 2013-03-05 2021-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V Aparelho e método para criar um ou mais sinais do canal de saída de áudio dependendo de dois ou mais sinais do canal de entrada de áudio
US9197962B2 (en) 2013-03-15 2015-11-24 Mh Acoustics Llc Polyhedral audio system based on at least second-order eigenbeams
EP2800401A1 (en) 2013-04-29 2014-11-05 Thomson Licensing Method and Apparatus for compressing and decompressing a Higher Order Ambisonics representation
US9502044B2 (en) 2013-05-29 2016-11-22 Qualcomm Incorporated Compression of decomposed representations of a sound field
US9384741B2 (en) 2013-05-29 2016-07-05 Qualcomm Incorporated Binauralization of rotated higher order ambisonics
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US9830918B2 (en) 2013-07-05 2017-11-28 Dolby International Ab Enhanced soundfield coding using parametric component generation
TWI631553B (zh) 2013-07-19 2018-08-01 瑞典商杜比國際公司 將以<i>L</i><sub>1</sub>個頻道為基礎之輸入聲音訊號產生至<i>L</i><sub>2</sub>個揚聲器頻道之方法及裝置,以及得到一能量保留混音矩陣之方法及裝置,用以將以輸入頻道為基礎之聲音訊號混音以用於<i>L</i><sub>1</sub>個聲音頻道至<i>L</i><sub>2</sub>個揚聲器頻道
US20150127354A1 (en) 2013-10-03 2015-05-07 Qualcomm Incorporated Near field compensation for decomposed representations of a sound field
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US20150264483A1 (en) 2014-03-14 2015-09-17 Qualcomm Incorporated Low frequency rendering of higher-order ambisonic audio data
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20160093308A1 (en) 2014-09-26 2016-03-31 Qualcomm Incorporated Predictive vector quantization techniques in a higher order ambisonics (hoa) framework
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework

Also Published As

Publication number Publication date
KR20170007801A (ko) 2017-01-20
DK3143614T3 (en) 2019-03-18
JP2017516149A (ja) 2017-06-15
ZA201607875B (en) 2019-08-28
CL2016002867A1 (es) 2017-05-26
MX360614B (es) 2018-11-09
EP3143614B1 (en) 2018-12-05
HUE042623T2 (hu) 2019-07-29
CN111312263A (zh) 2020-06-19
ES2714356T3 (es) 2019-05-28
MX2016014929A (es) 2017-03-31
SG11201608518TA (en) 2016-11-29
BR112016026724A2 (pt) 2017-08-15
CN106463127B (zh) 2020-03-17
RU2016144327A (ru) 2018-06-20
JP6549156B2 (ja) 2019-07-24
US20150332690A1 (en) 2015-11-19
WO2015175981A1 (en) 2015-11-19
PH12016502120B1 (en) 2017-01-09
TW201603006A (zh) 2016-01-16
CN111312263B (zh) 2024-05-24
CA2946820A1 (en) 2015-11-19
MY176232A (en) 2020-07-24
US9852737B2 (en) 2017-12-26
PH12016502120A1 (en) 2017-01-09
AU2015258899B2 (en) 2019-09-19
TWI670709B (zh) 2019-09-01
EP3143614A1 (en) 2017-03-22
CA2946820C (en) 2021-08-10
KR102032021B1 (ko) 2019-10-14
RU2685997C2 (ru) 2019-04-23
CN106463127A (zh) 2017-02-22
AU2015258899A1 (en) 2016-11-10
RU2016144327A3 (pt) 2018-12-12

Similar Documents

Publication Publication Date Title
BR112016026724B1 (pt) Vetores de codificação decompostos a partir de sinais de áudio ambissônicos de ordem mais alta
CA2948563C (en) Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
EP3143615B1 (en) Determining between scalar and vector quantization in higher order ambisonic coefficients
BR112016017589B1 (pt) Indicação de reusabilidade de parâmetros de quadros para vetores de codificação

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/05/2015, OBSERVADAS AS CONDICOES LEGAIS