BR112016026822B1 - Dispositivo e método para decodificar dados de áudio e memória legível por computador - Google Patents
Dispositivo e método para decodificar dados de áudio e memória legível por computador Download PDFInfo
- Publication number
- BR112016026822B1 BR112016026822B1 BR112016026822-9A BR112016026822A BR112016026822B1 BR 112016026822 B1 BR112016026822 B1 BR 112016026822B1 BR 112016026822 A BR112016026822 A BR 112016026822A BR 112016026822 B1 BR112016026822 B1 BR 112016026822B1
- Authority
- BR
- Brazil
- Prior art keywords
- vector
- unit
- vectors
- codebooks
- audio
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 124
- 239000013598 vector Substances 0.000 claims abstract description 830
- 238000000354 decomposition reaction Methods 0.000 claims abstract description 87
- 238000009877 rendering Methods 0.000 claims description 13
- 238000013139 quantization Methods 0.000 description 152
- 239000011159 matrix material Substances 0.000 description 62
- 238000010586 diagram Methods 0.000 description 36
- 238000004458 analytical method Methods 0.000 description 29
- 230000005236 sound signal Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 21
- 230000015572 biosynthetic process Effects 0.000 description 19
- 238000003786 synthesis reaction Methods 0.000 description 19
- 239000000203 mixture Substances 0.000 description 18
- 238000000605 extraction Methods 0.000 description 17
- 238000009472 formulation Methods 0.000 description 17
- 230000009467 reduction Effects 0.000 description 17
- 230000006870 function Effects 0.000 description 15
- 238000005562 fading Methods 0.000 description 14
- 230000001052 transient effect Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 9
- 102000005717 Myeloma Proteins Human genes 0.000 description 8
- 108010045503 Myeloma Proteins Proteins 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 8
- 230000007704 transition Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 238000000513 principal component analysis Methods 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 239000007993 MOPS buffer Substances 0.000 description 4
- 238000003491 array Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- VBRBNWWNRIMAII-WYMLVPIESA-N 3-[(e)-5-(4-ethylphenoxy)-3-methylpent-3-enyl]-2,2-dimethyloxirane Chemical compound C1=CC(CC)=CC=C1OC\C=C(/C)CCC1C(C)(C)O1 VBRBNWWNRIMAII-WYMLVPIESA-N 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000003032 molecular docking Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009545 invasion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/04—Speech 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 predictive techniques
- G10L19/08—Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
- G10L19/09—Long term prediction, i.e. removing periodical redundancies, e.g. by using adaptive codebook or pitch predictor
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/0001—Codebooks
- G10L2019/0013—Codebook search algorithms
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
SELEÇÃO DE LIVROS DE CÓDIGO PARA CODIFICAR VETORES DECOMPOSTOS A PARTIR DE SINAIS DE ÁUDIO AMBISONICS DE ORDEM SUPERIOR. Em geral, trata-se de técnicas para realizar a seleção de livro de código durante a codificação de vetores decompostos a partir de coeficientes ambisonics de ordem superior. Um dispositivo que compreende uma memória e um processador pode realizar as técnicas. A memória pode ser configurada para armazenar uma pluralidade de livros de código para usar durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico. O componente espacial vetorialmente quantizado pode ser obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambisonics de ordem superior. O processador pode ser configurado para selecionar um dentre a pluralidade de livros de código.
Description
[0001] Este pedido reivindica o benefício dos Pedidos Provisórios U.S. seguintes:
[0002] Pedido Provisório U.S. no 61/994.794, depositado em 16 de maio de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”;
[0003] Pedido Provisório U.S. no 62/004.128, depositado em 28 de maio de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”;
[0004] Pedido Provisório U.S. no 62/019.663, depositado em 1o de julho de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”
[0005] Pedido Provisório U.S. no 62/027.702, depositado em 22 de julho de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”;
[0006] Pedido Provisório U.S. no 62/028.282, depositado em 23 de julho de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”;
[0007] Pedido Provisório U.S. no 62/032.440, depositado em 1o de agosto de 2014, intitulado “CODING V- VECTORS OF A DECOMPOSED HIGHER ORDER AMBISONICS (HOA) AUDIO SIGNAL”;
[0008] cada um dos Pedidos Provisórios U.S. supracitados está incorporado pela referência como se apresentado em sua respectiva íntegra aqui.
[0009] Esta revelação diz respeito a dados de áudio e, mais especificamente, a codificação de dados de áudio ambissônico de ordem superior.
[0010] Um sinal ambissônico de ordem superior (HOA) (frequentemente representado por uma pluralidade de coeficientes dos harmônicos esféricos (SHC) ou outros elementos hierárquicos) é uma representação tridimensional de um campo acústico. A representação HOA ou SHC pode representar o campo acústico de uma maneira que é independente da geometria do alto-falante local usado para reproduzir um sinal de áudio multicanal renderizado a partir do sinal SHC. O sinal SHC pode também facilitar compatibilidade com versões anteriores, já que o sinal SHC pode ser renderizado em formatos multicanal 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 SHC pode portanto permitir uma melhor representação de um campo acústico que também acomoda compatibilidade com versões anteriores.
[0011] Em geral, são descritas técnicas para representar eficientemente vetores V (que podem representar informações espaciais, tais como largura, forma, direção e localização, de um objeto de áudio associado) de um sinal de áudio ambissônico de ordem superior decomposto (HOA) 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 melhoradas para codificar sinais de áudio HOA.
[0012] Em um aspecto, um método para obter uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), o método compreende obter, de um fluxo de bits, dados indicativos dentre uma pluralidade de valores de peso que representam um vetor que é incluído na versão decomposta da pluralidade de coeficientes HOA. Cada dos valores de peso corresponde a um respectivo dentre 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 nos vetores de código.
[0013] Em um outro aspecto, um dispositivo configurado para obter uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), o dispositivo compreende um ou mais processadores configurados para obter, de um fluxo de bits, dados indicativos dentre uma pluralidade de valores de peso que representam um vetor que é incluído em uma versão decomposta da pluralidade de coeficientes HOA. Cada um dos valores de peso corresponde a um respectivo dentre 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. O 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 um outro aspecto, um dispositivo configurado para obter uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), o dispositivo compreende meios para obter de um fluxo de bits dados indicativos dentre uma pluralidade de valores de peso que representam um vetor que é incluído na versão decomposta da pluralidade de coeficientes HOA, sendo que cada um dos valores de peso corresponde a um respectivo dentre 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 um outro aspecto, uma mídia de armazenamento legível por computador não transitória tem armazenado nela instruções que, quando executadas, fazem com que um ou mais processadores obtenham de um fluxo de bits dados indicativos dentre uma pluralidade de valores de peso que representam um vetor que é incluído na versão decomposta dentre uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), cada um dos valores de peso correspondente a um respectivo dentre 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 reconstroem o vetor com base nos valores de peso e nos vetores de código.
[0016] Em um 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 é incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), sendo que cada um dos valores de peso corresponde a um respectivo dentre uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0017] Em um 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 é incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), sendo que cada um dos valores de peso corresponde a um respectivo dentre uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0018] Em um outro aspecto, um aparelho compreende meios para realizar uma decomposição em relação a uma pluralidade de coeficientes ambissônicos de ordem superior (HOA) para gerar uma versão decomposta dos coeficientes HOA. O aparelho adicionalmente compreende meios para determinar, com base em um conjunto de vetores de código, um ou mais valores de peso que representam um vetor que é incluído na versão decomposta dos coeficientes HOA, sendo que cada um dos valores de peso corresponde a um respectivo dentre uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0019] Em um outro aspecto, uma mídia de armazenamento legível por computador não transitória tem armazenado nela 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 é incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), sendo que cada um dos valores de peso corresponde a um respectivo dentre uma pluralidade de pesos incluídos em uma soma ponderada dos vetores de código que representa o vetor.
[0020] Em um outro aspecto, um método de decodificar dados de áudio indicativos de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), o método compreende determinar se realiza desquantização vetorial ou desquantização escalar em relação a uma versão decomposta da pluralidade de coeficientes HOA.
[0021] Em um outro aspecto, um dispositivo configurado para decodificar dados de áudio indicativos de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA), o dispositivo compreende uma memória configurada para armazenar os dados de áudio, e um ou mais processadores configurados para determinar se realiza desquantização vetorial ou desquantização escalar em relação a uma versão decomposta da pluralidade de coeficientes HOA.
[0022] Em um outro aspecto, um método para codificar dados de áudio, o método compreende determinar se realiza quantização vetorial ou quantização escalar em relação a uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA).
[0023] Em um outro aspecto, um método de decodificar dados de áudio, o método compreende selecionar um dentre uma pluralidade de livros de código para usar durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior.
[0024] Em um outro aspecto, um dispositivo compreende uma memória configurada para armazenar uma pluralidade de livros de código para usar durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior, e um ou mais processadores configurados para selecionar um da pluralidade de livros de código.
[0025] Em um outro aspecto, um dispositivo compreende meios para armazenar uma pluralidade de livros de código para usar durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior, e meios para selecionar um da pluralidade de livros de código.
[0026] Em um outro aspecto, uma mídia de armazenamento legível por computador não transitória tem armazenado nela instruções que, quando executadas, fazem com que um ou mais processadores selecionem um de uma pluralidade de livros de código para usar durante a realização de desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior.
[0027] Em um outro aspecto, um método para codificar dados de áudio, o método compreende selecionar um de uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior.
[0028] Em um outro aspecto, um dispositivo compreende uma memória configurada para armazenar uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior. O dispositivo também compreende um ou mais processadores configurados para selecionar um da pluralidade de livros de código.
[0029] Em um outro aspecto, um dispositivo compreende meios para armazenar uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior, e meios para selecionar um da pluralidade de livros de código.
[0030] Em um outro aspecto, uma mídia de armazenamento legível por computador não transitória tem armazenado nela instruções que, quando executadas, fazem com que um ou mais processadores selecionem um de uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior.
[0031] Os detalhes de um ou mais aspectos das técnicas são apresentados nos desenhos anexos e na descrição seguinte. Outros recursos, objetivos e vantagens das técnicas ficarão aparentes a partir da descrição e desenhos, e das reivindicações.
[0032] A Figura 1 é um diagrama que ilustra funções de base de harmônico esférico de várias ordens e subordens.
[0033] A Figura 2 é um diagrama que ilustra um sistema que pode realizar vários aspectos das técnicas descritas nesta revelação.
[0034] As Figuras 3A e 3B são diagramas de blocos que ilustram, com mais detalhes, diferentes exemplos do dispositivo de codificação de áudio mostrado no exemplo da Figura 2 que pode realizar vários aspectos das técnicas descritas nesta revelação.
[0035] As Figuras 4A e 4B são diagramas de blocos que ilustram diferentes versões do dispositivo de decodificação de áudio da Figura 2 com mais detalhes.
[0036] A Figura 5 é um fluxograma que ilustra a operação exemplificativa de um dispositivo de codificação de áudio na realização de vários aspectos das técnicas de síntese baseada em vetor descritas nesta revelação.
[0037] A Figura 6 é um fluxograma que ilustra operação exemplificativa de um dispositivo de decodificação de áudio na realização de vários aspectos das técnicas descritas nesta revelação.
[0038] As Figuras 7 e 8 são diagramas que ilustram diferentes versões da unidade de codificação de vetor V do dispositivo de codificação de áudio da Figura 3A ou da Figura 3B com mais detalhes.
[0039] A Figura 9 é um diagrama conceitual que ilustra um campo acústico gerado a partir de um vetor V.
[0040] A Figura 10 é um diagrama conceitual que ilustra um campo acústico gerado a partir de um modelo de 25a ordem do vetor V descrito acima em relação à Figura 60.
[0041] A Figura 11 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 25a ordem mostrado na Figura 10.
[0042] A Figura 12 é um diagrama conceitual que ilustra um modelo de 5a ordem do vetor V descrito acima em relação à Figura 9.
[0043] A Figura 13 é um diagrama conceitual que ilustra a ponderação de cada ordem para o modelo de 5a ordem mostrado na Figura 12.
[0044] A Figura 14 é um diagrama conceitual que ilustra dimensões exemplificativas de matrizes de exemplo usadas para realizar decomposição de valor singular.
[0045] A Figura 15 é um gráfico que ilustra melhorias de desempenho exemplificativas que podem ser obtidas com o uso das técnicas de codificação de vetor V desta revelação.
[0046] A Figura 16 são diversos diagramas que mostram um exemplo da codificação de vetor V quando realizada de acordo com as técnicas descritas nesta revelação.
[0047] A Figura 17 é um diagrama conceitual que ilustra um exemplo decomposição baseada em vetor de código de um vetor V de acordo com esta revelação.
[0048] A Figura 18 é um diagrama que ilustra diferentes maneiras pelas quais os 16 diferentes vetores de código podem ser empregados pela unidade de codificação de vetor V mostrada no exemplo de qualquer ou ambas das Figuras 10 e 11.
[0049] As Figuras 19A e 19B são diagramas que ilustra os livros de código com 256 fileiras, sendo que cada fileira tem 10 valores e 16 valores respectivamente que podem ser usados de acordo com vários aspectos das técnicas descritas nesta revelação.
[0050] A Figura 20 é um diagrama que ilustra um gráfico de exemplo que mostra um limiar de erro usado para selecionar X* número de vetores de código de acordo com vários aspectos das técnicas descritas nesta revelação.
[0051] A Figura 21 é um diagrama de blocos que ilustra uma unidade de quantização vetorial de exemplo 520 de acordo com esta revelação.
[0052] As Figuras 22, 24 e 26 são fluxogramas que ilustra a operação exemplificativa da unidade de quantização vetorial na realização de vários aspectos das técnicas descritas nesta revelação.
[0053] As Figuras 23, 25 e 27 são fluxogramas que ilustram a operação exemplificativa da unidade de reconstrução do vetor V na realização de vários aspectos das técnicas descritas nesta revelação.
[0054] Em geral, são descritas técnicas para representar eficientemente vetores V, que podem representar informações espaciais, tais como largura, forma, direção e localização de um objeto de áudio associado, de um sinal de áudio ambissônico de ordem superior (HOA) decomposto 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 melhoradas para codificar sinais de áudio HOA.
[0055] A evolução de som ambiente disponibilizou muitos formatos de saída para entretenimento hoje em dia. Exemplos de tais formatos de som ambiente de consumidor são basicamente baseados em 'canal' em que eles implicitamente especificam alimentações nos alto-falantes em certas coordenadas geométricas. Os formatos de som ambiente de consumidor incluem formato 5.1 popular (que inclui os seguintes seis canais: esquerdo frontal (FL), direito frontal (FR), centro ou centro frontal, esquerdo traseiro ou esquerdo ambiente, direito traseiro ou direito ambiente, e efeitos de baixa frequência (LFE)), o formato 7.1 crescente, vários formatos que incluem oito alto- falantes tais como o formato 7.1.4 e o formato 22.2 (por exemplo, para uso com o padrão de Televisão de Ultra Alta definição). Formatos de não consumidor podem cobrir qualquer número de alto-falantes (em geometrias simétrica e não simétrica) frequentemente denominadas 'arranjos ambientes'. Um exemplo de um arranjo como este inclui 32 alto-falantes posicionados em coordenadas nos cantos de um icosaedro truncado.
[0056] A entrada de um futuro codificador MPEG é opcionalmente um de três possíveis formatos: (i) áudio baseado em canal tradicional (como anteriormente discutido), que deve ser tocado por alto-falantes em posições pré-especificadas; (ii) áudio baseado em objeto, que envolve modulação por código de pulso discreta (PCM) de dados para objetos de áudio simples com metadados associados contendo suas coordenadas de localização (entre outras informações); e (iii) áudio baseado em cena, que envolve representação do campo acústico usando coeficientes de funções de base de harmônico esférico (também denominados “coeficientes dos harmônicos esféricos” ou SHC, “Ambissônico de Ordem Superior” ou HOA, e “coeficientes HOA”). O futuro codificador MPEG pode ser descrito com mais detalhes em um documento intitulado “Call for Proposals for 3D Audio”, pelo International Organization for Standardization/ International Electrotechnical Commission (ISO)/(IEC) JTC1/SC29/WG11/N13411, publicado em janeiro de 2013 em Geneva, Suíça, e disponível em http://mpeg.chiariulione.oru/sites/default/files/files/stan dards/parts/docs/w13411.zip.
[0057] Existem vários formatos baseados em canal de “som ambiente” no mercado. Eles variam, por exemplo, do sistema de teatro em casa 5.1 (que foi o mais bem sucedido em termos de produzir invasão em salas de estar além do estéreo) até o sistema 22.2 desenvolvido por NHK (Nippon Hoso Kyokai ou Japan Broadcasting Corporation). Criadores de conteúdo (por exemplo, estúdios de Hollywood) gostariam de produzir a trilha sonora para um filme uma vez, e não dispender esforço para remixá-la para cada configuração de alto-falante. Recentemente, Standards Developing Organizations estiveram considerando maneiras nas quais fornecer uma codificação em 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 na localização da reprodução (envolvendo um renderizador).
[0058] Para proporcionar tal flexibilidade para criadores de conteúdo, um conjunto hierárquico de elementos pode ser usado para representar um campo acústico. O conjunto hierárquico de elementos pode se referir a um conjunto de elementos no qual os elementos são ordenados de maneira tal que um conjunto básico de elementos ordenados inferiores fornece uma representação total do campo acústico modelado. À medida que o conjunto é estendido de forma a incluir elementos de ordem superior, a representação fica mais detalhada, aumentando a resolução.
[0059] Um exemplo de um conjunto hierárquico de elementos é um conjunto de coeficientes dos harmônicos esféricos (SHC). A expressão seguinte demonstra uma descrição ou representação de um campo acústico usando SHC:
[0060] A expressão mostra que a pressão Pi em qualquer ponto do campo acústico, no tempo t, pode ser representada exclusivamente pelo SHC, Aqui,a velocidade do som (~343 m/s),é um ponto de referência (ou ponto de observação),é a função de Bessel esférica de ordem n, esão as funções de base de harmônico esférico de ordem n e subordem m. Pode-se perceber que o termo em parênteses ao quadrado é uma representação no domínio de frequência do sinal (isto é,que pode ser aproximada por várias transformações de tempo-frequência, tais como transformada de Fourier discreta (DFT), a transformada do cosseno discreta (DCT), ou uma transformada de ondeletas. Outros exemplos de conjuntos hierárquicos incluem conjuntos de coeficientes de transformada de ondeleta e outros conjuntos de coeficientes de funções de base de multirresolução.
[0061] A Figura 1 é um diagrama ilustrando funções de base do harmônico esférico de ordem zero (n = 0) até a quarta ordem (n = 4). Como pode-se ver, para cada ordem, existe uma expansão de subordens m que são mostradas, mas não explicitamente notadas no exemplo da Figura 1 com propósitos de facilidade de ilustração.
[0062] O SHC pode tanto ser fisicamente adquirido (por exemplo, gravado) por várias configurações de arranjo de microfone quanto, alternativamente, eles podem ser derivado de descrições baseadas em canal ou Petição 870200125316, de 05/10/2020, pág. 18/137 15/117 baseadas em objeto do campo acústico. O SHC representa áudio baseado em cena, onde o SHC pode ser alimentado em um codificador de áudio para obter SHC codificado que pode promover transmissão ou armazenamento mais eficiente. Por exemplo, uma representação de quarta ordem envolvendo (1+4)2 coeficientes (25, e consequentemente quarta ordem) pode ser usada.
[0063] Como notado anteriormente, o SHC pode ser derivado de uma gravação de microfone usando um arranjo de microfone. Vários exemplos de como SHC pode ser derivado do arranjo de microfones são descritos em Poletti, M., “Tridimensional Surround Sound Systems Based on Spherical Harmonics”, J. Audio Eng. Soc, Vol. 53, no 11, novembro de 2005, pp. 1.004 a 1.025.
[0064] Para ilustrar como os SHCs podem ser derivados de uma descrição baseada em objeto, considere a seguinte equação. Os coeficientes para o campo acústico correspondente a um objeto de áudio individual pode ser expresso como:
[0065] como i é é o função de Hankel esférica (do segundo tipo) de ordem n, e é a localização do objeto. Conhecer a energia da fonte de objeto g(w) em função da frequência (por exemplo, usando técnicas de análise de tempo-frequência, tal como realizando uma transformada de Fourier rápida no fluxo PCM) nos permite converter cada objeto PCM e a localização correspondente no SHC Adicionalmente, pode ser mostrado (uma vez que esta citada é uma decomposição linear e ortogonal) que os coeficientes para cada objeto são aditivos. Desta maneira, uma pluralidade de objetos PCM pode ser representada pelos coeficientes (por exemplo, como uma soma dos vetores de coeficiente para os objetos individuais). Essencialmente, os coeficientes contêm informações a respeito do campo acústico (a pressão em função de coordenadas 3D), e o exposto representa a transformação de objetos individuais em uma representação do campo acústico geral, nas proximidades do ponto de observação Os demais valores são descritos a seguir no contexto de codificação de áudio baseada em objeto e baseada em SHC.
[0066] A Figura 2 é um diagrama ilustrando um sistema 10 que pode realizar vários aspectos das técnicas descritas nesta revelação. Como mostrado no exemplo da Figura 2, o sistema 10 inclui um dispositivo criador de conteúdo 12 e um dispositivo consumidor de conteúdo 14. Embora descritas no contexto do dispositivo criador de conteúdo 12 e do dispositivo consumidor de conteúdo 14, as técnicas podem ser implementadas em qualquer contexto no qual SHCs (que podem também ser referidos como coeficientes HOA) ou qualquer outra representação hierárquica de um campo acústico é codificada para formar um fluxo de bits representativo dos dados de áudio. Além disso, o dispositivo criador de conteúdo 12 pode representar qualquer forma de dispositivo de computação capaz de implementar as técnicas descritas nesta revelação, incluindo um fone de ouvido (ou telefone celular), um computador portátil, um telefone inteligente, ou um computador de mesa para citar alguns exemplos. Similarmente, o dispositivo consumidor de conteúdo 14 pode representar qualquer forma de dispositivo de computação capaz de implementar as técnicas descritas nesta revelação, incluindo um fone de ouvido (ou telefone celular), um computador portátil, um telefone inteligente, um aparelho decodificador de televisão, ou um computador de mesa para fornecer alguns exemplos.
[0067] O dispositivo criador de conteúdo 12 pode ser operado por um estúdio de cinema ou outra entidade que pode gerar conteúdo de áudio multicanal para 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 HOA 11. Frequentemente, 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, que pode se referir a qualquer forma de sistema de reprodução de áudio capaz de renderizar SHC para reprodução como conteúdo de áudio multicanal.
[0068] 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 várias formatos (incluindo diretamente como coeficientes HOA) e objetos de áudio 9, que o dispositivo criador de conteúdo 12 pode editar usando sistema de edição de áudio 18. Um microfone 5 pode capturar as gravações ao vivo 7. O criador de conteúdo pode, durante o processo de edição, renderizar coeficientes HOA 11 dos objetos de áudio 9, ouvindo as alimentações do alto-falante renderizadas em uma tentativa de identificar vários aspectos do campo acústico que exigem edição adicional. O dispositivo criador de conteúdo 12 pode então editar coeficientes HOA 11 (potencialmente indiretamente por manipulação de diferentes dos objetos de áudio 9 dos quais os coeficientes HOA fontes podem ser derivados da maneira supradescrita). O dispositivo criador de conteúdo 12 pode empregar o sistema de edição de áudio 18 para gerar os coeficientes HOA 11. O sistema de edição de áudio 18 representa qualquer sistema capaz de editar dados de áudio e produzir os dados de áudio como um ou mais coeficientes dos harmônicos esféricos fontes.
[0069] Quando o processo de edição é completado, o dispositivo criador de conteúdo 12 pode gerar um fluxo de bits 21 com base nos coeficientes HOA 11. Ou seja, o dispositivo criador de conteúdo 12 inclui um dispositivo de codificação de áudio 20 que representa um dispositivo configurado para codificar ou senão comprimir coeficientes HOA 11 de acordo com vários aspectos das técnicas descritas nesta revelação para gerar o fluxo de bits 21. O dispositivo de codificação de áudio 20 pode gerar o fluxo de bits 21 para transmissão, como um exemplo, através de um canal de transmissão, que pode ser um canal físico ou sem fio, um dispositivo de armazenamento de dados, ou similares. O fluxo de bits 21 pode representar uma versão codificada dos coeficientes HOA 11 e pode incluir um fluxo de bits primário e um outro fluxo de bits lateral, que pode ser referido como informações de canal lateral.
[0070] Embora mostrado na Figura 2 como sendo diretamente transmitido para o dispositivo consumidor de conteúdo 14, o dispositivo criador de conteúdo 12 pode enviar 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 entrega posterior ao dispositivo consumidor de conteúdo 14, que pode solicitar o fluxo de bits. O dispositivo intermediário pode compreender um servidor de arquivo, um servidor de rede, um computador de mesa, um computador portátil, uma mesa digitadora, um telefone móvel, um telefone inteligente, ou qualquer outro dispositivo capaz de armazenar o fluxo de bits 21 para recuperação posterior por um decodificador de áudio. O dispositivo intermediário pode residir em uma rede de entrega de conteúdo capaz de encaminhar o fluxo de bits 21 (e possivelmente em conjunto com a transmissão de um fluxo de bits de dados de vídeo correspondente) aos assinantes, tal como o dispositivo consumidor de conteúdo 14, solicitando o fluxo de bits 21.
[0071] Alternativamente, o dispositivo criador de conteúdo 12 pode armazenar o fluxo de bits 21 em uma mídia de armazenamento, tais como um disco compacto, um disco de vídeo digital, um disco de vídeo de alta definição ou outra mídia de armazenamento, a maioria das quais é capaz de ser lida por um computador e, portanto, pode ser referida como mídia de armazenamento legível por computador ou mídia de armazenamento legível por computador não transitória. Neste contexto, o canal de transmissão pode se referir aos canais pelos quais conteúdo armazenado nas mídias é transmitido (e pode incluir depósitos varejistas e outro mecanismo de entrega baseado em armazém). De qualquer maneira, as técnicas desta revelação portanto não devem ser limitadas a este respeito ao exemplo da Figura 2.
[0072] Como adicionalmente mostrado 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 capaz de reproduzir dados de áudio multicanais. O sistema de reprodução de áudio 16 pode incluir um número de diferentes renderizadores 22. Os renderizadores 22 podem cada qual fornecer uma forma diferente de renderização, onde as diferentes formas de renderização podem incluir uma ou mais das várias maneiras de realizar panoramização sonora baseada em amplitude de vetores (VBAP), e/ou uma ou mais da várias maneiras de realizar síntese do campo acústico. Da maneira usada aqui, “A e/ou B” significa “A ou B”, ou tanto “a quanto B”.
[0073] O sistema de reprodução de áudio 16 pode adicionalmente incluir um dispositivo de decodificação de áudio 24. O dispositivo de decodificação de áudio 24 pode representar um dispositivo configurado para decodificar coeficientes HOA 11' do fluxo de bits 21, onde os coeficientes HOA 11' podem ser similares aos coeficientes HOA 11, mas diferem por causa das 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, depois da decodificação do fluxo de bits 21, obter os coeficientes HOA 11' e renderizar os coeficientes HOA 11' para produzir alimentações de alto-falante 25. As alimentações de alto-falante 25 podem acionar um ou mais alto-falantes (que não estão mostrados no exemplo da Figura 2 com propósitos de facilidade de ilustração).
[0074] 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 usando um microfone de referência e acionando os alto-falantes de uma maneira tal a determinar dinamicamente as informações de alto-falante 13. Em outros casos, ou em relação a determinação dinâmica das informações de alto-falante 13, o sistema de reprodução de áudio 16 pode alertar um usuário para fazer interface com o sistema de reprodução de áudio 16 e entrar com informações de alto-falante 13.
[0075] O sistema de reprodução de áudio 16 pode então selecionar um dos 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 dos renderizadores de áudio 22 estiver dentro de alguma medida de limiar de similaridade (em termos da geometria do alto- falante) para a geometria do alto-falante especificada nas informações de alto-falante 13, gerar um dos 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 dos renderizadores de áudio 22 com base nas informações de alto-falante 13 sem primeiro tentar selecionar um existente dentre os renderizadores de áudio 22. Um ou mais alto-falantes 3 podem então reproduzir as alimentações de alto-falante renderizadas 25.
[0076] A Figura 3A é um diagrama de blocos ilustrando, com mais detalhes, um exemplo do dispositivo de codificação de áudio 20 mostrado no exemplo da Figura 2 que pode realizar vários aspectos das técnicas descritas nesta revelação. O dispositivo de codificação de áudio 20 inclui uma unidade de análise de conteúdo 26, uma unidade de decomposição baseada em vetor 27 e uma unidade de decomposição com base em direção 28. Embora descrito resumidamente a seguir, mais informações relativas ao dispositivo de codificação de áudio 20 e aos vários aspectos de compressão ou, de outro modo, codificação de coeficientes HOA estão disponíveis na Publicação de Pedido de Patente Internacional no WO 2014/194099, intitulada “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD”, depositado em 29 de maio de 2014.
[0077] A unidade de análise de conteúdo 26 representa uma unidade configurada para analisar o conteúdo dos coeficientes HOA 11 para identificar se os coeficientes HOA 11 representam
[0078] 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 HOA 11 foram gerados a partir de uma gravação de um campo acústico real ou de um objeto de áudio artificial. Em alguns casos, quando os coeficientes HOA 11 estruturados forem gerados a partir de uma gravação, a unidade de análise de conteúdo 26 passa os coeficientes HOA 11 para a unidade de decomposição baseada em vetor 27. Em alguns casos, quando os coeficientes HOA 11 estruturados forem gerados a partir de um objeto de áudio sintético, a unidade de análise de conteúdo 26 passa os coeficientes HOA 11 para a unidade de síntese com base em direção 28. A unidade de síntese com base em direção 28 pode representar uma unidade configurada para realizar uma síntese com base em direção dos coeficientes HOA 11 para gerar um fluxo de bits com base em direção 21.
[0079] Como mostrado no exemplo da Figura 3A, a unidade de decomposição baseada em vetor 27 pode incluir uma unidade de transformada inversa 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 de codificação de áudio psicoacústica 40, uma unidade de geração de fluxo de bits 42, uma unidade de análise de campo acústico 44, uma unidade de redução de coeficiente 46, uma unidade de seleção de plano de fundo (BG) 48, uma unidade de interpolação espaço-temporal 50, e uma unidade de codificação de vetor V 52.
[0080] A unidade de transformada inversa linear (LIT) 30 recebe os coeficientes HOA 11 na forma de canais HOA, cada canal representativo de um bloco ou quadro de um coeficiente associado com uma dada ordem, subordem das funções de base esférica (que podem ser denotadas como HOA[k], onde k pode denotar o quadro ou bloco atual de amostras). A matriz de coeficientes HOA 11 pode ter dimensões D: Mx (N+1)2.
[0081] A unidade LIT 30 pode representar uma unidade configurada para realizar uma forma de análise referida 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 similar que permite conjuntos de saída compactada de energia linearmente não correlacionada. Também, referência a “conjuntos” nesta revelação no geral se refere a conjuntos não zero, a menos que especificamente declarado ao contrário, e não visa referir à definição matemática clássica de conjuntos que inclui o assim chamado “conjunto vazio”. Uma transformação alternativa pode compreender uma análise de componente principal, que é frequentemente referida como “PCA”. Dependendo do contexto, PCA pode ser referida por inúmeros diferentes nomes, tais como transformada de Karhunen-Loeve discreta, a transformada de Hotelling, decomposição ortogonal própria (POD), e decomposição de autovalor (EVD), para citar alguns exemplos. Propriedades de tais operações que são condutivas para a meta fundamental de comprimir dados de áudio são “compactação de energia” e “descorrelação” dos dados de áudio multicanal.
[0082] De qualquer maneira, considerando que a unidade LIT 30 realiza uma decomposição de valor singular (que, novamente, pode ser referida como “SVD”) com propósitos de exemplo, a unidade LIT 30 pode transformar os coeficientes HOA 11 em dois ou mais conjuntos de coeficientes HOA transformados. Os “conjuntos” de coeficientes HOA transformados podem incluir vetores de coeficientes HOA transformados. No exemplo da Figura 3A, a unidade LIT 30 pode realizar a SVD em relação aos coeficientes HOA 11 para gerar uma assim chamada matriz V, uma matriz S, e uma matriz U. SVD, em álgebra linear, pode representar um fatoramento de uma matriz real ou complexa y-por-z X (onde X pode representar dados de áudio multicanal, tais como os coeficientes HOA 11) na forma seguinte: X = USV*
[0083] U pode representar uma matriz unitária real ou complexa y-por-y, onde as y colunas de U são conhecidas como os vetores esquerdo-singular dos dados de áudio multicanais. S pode representar uma matriz diagonal retangular y-por-z com números reais não negativos na diagonal, onde os valores da diagonal de S são conhecidos como os valores singulares dos dados de áudio multicanais. V* (que pode denotar uma transposta conjugada de V) pode representar uma matriz unitária real ou complexa z-por-z, onde as z colunas de V* são conhecidas como os vetores direito-singular dos dados de áudio multicanais.
[0084] Em alguns exemplos, a matriz V* na expressão matemática SVD suprareferida é denotada como a transposta conjugada da matriz V para refletir que SVD pode ser aplicado a matrizes compreendendo números complexos. Quando aplicado a matrizes compreendendo somente números reais, o conjugado complexo da matriz V (ou, em outras palavras, a matriz V*) pode ser considerado a transposta da matriz V. A seguir, considera-se que, com propósitos de facilidade de ilustração, os coeficientes HOA 11 compreendem números reais, em decorrência do que a matriz V é produzida através de SVD, em vez da matriz V*. Além disso, embora denotada como a matriz V nesta revelação, referência à matriz V deve ser entendida para se referir à transposta da matriz V onde apropriado. Embora consideradas ser a matriz V, as técnicas podem ser aplicadas de uma maneira similar aos coeficientes HOA 11 com coeficientes complexos, onde a saída do SVD é a matriz V*. Dessa maneira, as técnicas não devem ser limitadas a este respeito para aplicação somente de SVD para gerar uma matriz V, mais pode incluir aplicação de SVD aos coeficientes HOA 11 com componentes complexos para gerar uma matriz V*.
[0085] Desta maneira, a unidade LIT 30 pode realizar SVD em relação aos coeficientes HOA 11 para produzir vetores US[k] 33 (que podem representar uma versão combinada dos vetores S e dos vetores U) com dimensões D: M x (N+1)2, e vetores V[k] 35 com dimensões D: (N+1)2 x (N+1)2. Elementos vetoriais individuais na matriz US[k] podem também ser denominados XPS(k), enquanto vetores individuais da matriz V[k] podem também ser denominados v(k).
[0086] Uma análise das matrizes U, S e V pode revelar que as matrizes carregam ou representam características espaciais e temporais do campo acústico subjacente anteriormente representado por X. Cada dos N vetores em U (de comprimento M amostras) pode representar sinais de áudio separados normalizados em função do tempo (para o período de tempo representado por M amostras), que são ortogonais entre si e que foram desacoplados de qualquer característica espacial (que pode também ser referida como informações direcionais). As características espaciais, representando forma e posição espacial (r, teta, IJh ■ x , , x x 1 iA‘\k) individuais, , na matriz V (cada qual de comprimento (N+1)2). Os elementos individuais de cada um dos vetores podem representar um coeficiente HOA que descreve a forma (incluindo largura) e posição do campo acústico para um objeto de áudio associado. Ambos os vetores na matriz U e na matriz V são normalizado de maneira tal que suas energias médias quadráticas são iguais à unidade. As energias dos sinais de áudio em U são assim representadas pelos elementos diagonais em S. Multiplicando U e S para formar US[k] (com elementos vetoriais individuais XPS(k)), assim representam o sinal de áudio com energias. A capacidade da decomposição SVD em desacoplar os sinais de tempo-áudio (em U), suas energias (em S) e suas características espaciais (em V) pode suportar vários aspectos das técnicas descritas nesta revelação. Adicionalmente, o modelo de sintetizar os coeficientes de HOA[k] subjacentes, X, por uma multiplicação vetorial de US[k] e V[k] dá origem à expressão “decomposição baseada em vetor”, que é usado em todos este documento.
[0087] Embora descrito como sendo realizado diretamente em relação aos coeficientes HOA 11, a unidade LIT 30 pode aplicar a transformada inversa linear nas derivadas dos coeficientes HOA 11. Por exemplo, a unidade LIT 30 pode aplicar SVD em relação a uma matriz de densidade espectral de potência derivada dos coeficientes HOA 11. Realizando SVD em relação à densidade espectral de potência (PSD) dos coeficientes HOA em vez de os próprios coeficientes, a unidade LIT 30 pode potencialmente reduzir a complexidade computacional de realização de SVD em termos de um ou mais de ciclos do processador e espaço de armazenamento, ainda conseguindo a mesma eficiência de codificação de áudio da fonte que se o SVD fosse aplicado diretamente nos coeficientes HOA.
[0088] A unidade de cálculo de parâmetro 32 representa uma unidade configurada para calcular vários parâmetros, tais como um parâmetro de correlação (R), parâmetros de propriedades direcionais (θ, Φ, r), e uma propriedade de energia (e). Cada dos parâmetros para o quadro atual pode ser denotado como R[k], θ[k], <p[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 assim chamado 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 pode também determinar os parâmetros para o quadro anterior, onde os parâmetros do quadro anterior podem ser denotados R[k-1], θ[k-l], Φ[k-l], r[k-l] e e[k- l], com base no quadro anterior do vetor US[k-1] e vetores V[k-l]. A unidade de cálculo de parâmetro 32 pode enviar os parâmetros atuais 37 e os parâmetros anteriores 39 para a unidade de reordenação 34.
[0089] Os parâmetros calculados pela unidade de cálculo de parâmetro 32 podem ser usados pela unidade de reordenação 34 para reordenar objetos de áudio para representar sua evolução natural ou continuidade com o tempo. A unidade de reordenação 34 pode comparar cada um dos parâmetros 37 a partir dos primeiros vetores US[k] 33 no sentido de giro contra cada um dos parâmetros 39 para os segundos vetores US[k-1] 33. A unidade de reordenação 34 pode reordenar (usando, como um exemplo, um algoritmo Húngaro) os várias 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 par produzir uma matrizreordenada 33' (que pode ser denotada matematicamente como e uma matriz V[k] reordenada 35' (que pode ser denotada matematicamente como ^l'‘l) em uma unidade de seleção de som de primeiro pano (ou som predominante - PS) 36 (“unidade de seleção de primeiro pano 36”) e uma unidade de compensação de energia 38.
[0090] A unidade de análise de campo acústico 44 pode representar uma unidade configurada para realizar uma análise de campo acústico em relação aos coeficientes HOA 11 de maneira a potencialmente conseguir um taxa de bits alvo 41. A unidade de análise de campo acústico 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 do codificador psicoacústico (que pode ser uma função do número total de canais ambientes ou de fundo (BGTOT) e o número de canais primeiro plano ou, em outras palavras, canais predominantes. O número total de instanciações do codificador psicoacústico pode ser denotado como numHOATransportChannels.
[0091] A unidade de análise de campo acústico 44 pode também determinar, novamente para atingir potencialmente a taxa de bits alvo 41, o número total de canais de primeiro plano (nFG) 45, a mínima ordem do campo acústico de fundo (ou, em outras palavras, ambiente) (NBG ou, alternativamente, MmAmbHOAorder), o número correspondente de canais reais representativos da mínima ordem do campo acústico de fundo (nBGa = (MmAmbHOAorder + 1)2), e índices (i) de canais HOA BG adicionais para transmitir (que podem coletivamente ser denotado como informações de canal de fundo 43 no exemplo da Figura 3A). As informações de canal de fundo 42 podem também ser referidas como informações de canal ambiente 43. Cada dos canais que permanece de numHOATransportChannels - nBGa pode tanto ser um “canal de fundo/do ambiente adicional”, um “canal predominante baseado em vetor ativo”, um “sinal predominante baseado em direcional ativo” ou “completamente inativo”. Em um aspecto, os tipos de canal podem ser indicados (como um “ChannelType”) elemento de sintaxe por dois bits (por exemplo, 00: sinal de base direcional; 01: sinal predominante baseado em vetor; 10: sinal do ambiente adicional; 11: sinal inativo). O número total de sinais de fundo ou do ambiente, nBGa, pode ser dado por (MmAmbHOAorder +1)2 + o número de vezes que o índice 10 (no exemplo anterior) aparece como um tipo de canal no fluxo de bits para esse quadro.
[0092] A unidade de análise de campo acústico 44 pode selecionar o número de canais de fundo (ou, em outras palavras, ambiente) e o número de canais de primeiro pano (ou, em outras palavras, predominante) com base na taxa de bits alvo 41, selecionando mais canais de fundo e/ou canais de primeiro plano quando a taxa de bits alvo 41 for relativamente mais alta (por exemplo, quando a taxa de bits alvo 41 for maior ou igual a 512 Kbps). Em um aspecto, os numHOATransportChannels podem ser estabelecidos em 8 enquanto o MmAmbHOAorder pode ser estabelecido em 1 na seção do cabeçalho do fluxo de bits. Neste cenário, a cada quadro, quatro canais podem ser dedicados para representar a porção do fundo ou do ambiente do campo acústico, enquanto os outros 4 canais podem, com base quadro-por- quadro, variar no tipo de canal - por exemplo, tanto usado como um canal de fundo/do ambiente adicional quanto um canal de primeiro plano/predominante. Os sinais de primeiro plano/predominante podem ser um tanto de sinais a base de vetor quanto com base em direção, como descrito anteriormente.
[0093] Em alguns casos, o número total de sinais predominantes baseados em vetor para um quadro pode ser dado pelo número de vezes que o índice ChannelType é 01 no fluxo de bits desse quadro. No aspecto citado, para cada canal de fundo/do ambiente adicional (por exemplo, correspondente a um ChannelType de 10), informações correspondentes de qual dos possíveis coeficientes HOA (além dos quatro primeiros) pode ser representado nesse canal. As informações, para conteúdo HOA de quarta ordem, pode ser um índice para indicar os coeficientes HOA 5-25. Os quatro primeiros coeficientes ambientes HOA 1-4 podem ser transmitidos toda vez quando minAmbHOAorder é estabelecido em 1, consequentemente o dispositivo de codificação de áudio só pode precisar indicar um dos coeficientes HOA ambiente adicionais com um índice de 5-25. As informações poderiam assim ser transmitidas usando um elemento de sintaxe de 5 bits (para conteúdo de 4a ordem), que pode ser denotada como “CodedAmbCoeffldx”. De qualquer maneira, a unidade de análise de campo acústico 44 envia as informações de canal de fundo 43 e os coeficientes HOA 11 para a unidade de seleção de plano 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.
[0094] A unidade de seleção de fundo 48 pode representar uma unidade configurada para determinar coeficientes HOA de fundo ou do ambiente 47 com base nas informações de canal de fundo (por exemplo, o campo acústico de fundo (NBG) e o número (nBGa) e os índice (i) de canais HOA BG adicionais a transmitir). Por exemplo, quando NBG é igual a um, a unidade de seleção de fundo 48 pode selecionar os coeficientes HOA 11 para cada amostra do quadro de áudio com uma ordem menor ou igual a um. A unidade de seleção de fundo 48 pode, neste exemplo, então selecionar os coeficientes HOA 11 com um índice identificado por um dos índices (i) como coeficientes HOA BG adicionais, onde o nBGa é fornecido à unidade de geração de fluxo de bits 42 a ser especificada no fluxo de bits 21 de maneira a 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 HOA de fundo 47 do fluxo de bits 21. A unidade de seleção de fundo 48 pode então enviar os coeficientes HOA do ambiente 47 para a unidade de compensação de energia 38. Os coeficientes HOA do ambiente 47 podem ter dimensões D: M x [(NBG+1)2 + nBGa]. Os coeficientes HOA do ambiente 47 podem também ser referidos como “coeficientes HOA do ambiente 47”, onde cada um dos coeficientes HOA do ambiente 47 corresponde a um canal HOA do ambiente separado 47 a ser codificado pela unidade de codificação de áudio psicoacústica 40.
[0095] 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 do primeiro plano ou distintos do campo acústico com base em nFG 45 (que pode representar um ou mais índices identificando os vetores de primeiro plano). A unidade de seleção de primeiro plano 36 pode enviar nFG sinais 49 (que podem ser denotados como um ou reordenado para a unidade de codificação de áudio psicoacústica 40, onde os sinais nFG 49 podem ter dimensões D: M x nFG e cada qual representa mono-objetos de áudio. A unidade de seleção de primeiro plano 36 pode também enviar a matriz V[k] reordenada 35'(ou 35') correspondente aos componentes de primeiro plano do campo acústico para a unidade de interpolação espaço-temporal 50, onde um subconjunto da matriz V[k] reordenada 35' correspondente aos componentes de primeiro plano pode ser denotado como matriz V[k] de primeiro plano 51k (que pode ) ser matematicamente denotada como r com dimensões D: (N+1)2 xnFG.
[0096] A unidade de compensação de energia 38 pode representar uma unidade configurada para realizar compensação de energia em relação aos coeficientes HOA do ambiente 47 para compensar perda de energia por causa da remoção de vários dos canais HOA pela unidade de seleção de fundo 48. A unidade de compensação de energia 38 pode realizar um análise de energia em relação a um ou mais da matriz US[K] reordenada 33', da matriz V[k] reordenada 35', dos sinais nFG 49, dos vetores V[k] de primeiro plano 51k e dos coeficientes HOA do ambiente 47 e então realizar compensação de energia com base na análise de energia para gerar coeficientes HOA do ambiente com energia compensada 47'. A unidade de compensação de energia 38 pode enviar os coeficientes HOA do ambiente com energia compensada 47' para a unidade de codificação de áudio psicoacústica 40.
[0097] A unidade de interpolação espaço- temporal 50 pode representar uma unidade configurada para receber os vetores V[k] de primeiro plano 51k para o k- ésimo quadro e os vetores V[k-l] de primeiro plano para os quadros anteriores (consequentemente, a notação k-1) e realizar interpolação espaço-temporal para gerar vetores V[k] de primeiro plano interpolados. A unidade de interpolação espaço-temporal 50 pode recombinar os sinais nFG 49 com os vetores V[k] de primeiro plano 51k para recuperar coeficientes HOA de primeiro plano reordenados. A unidade de interpolação espaço-temporal 50 pode então dividir coeficientes HOA de primeiro plano reordenados pelos vetores V[k] interpolados para gerar sinais nFG interpolados 49’. A unidade de interpolação espaço-temporal 50 pode também produzir os vetores V[k] de primeiro plano 51k que foram usados para gerar os vetores V[k] de primeiro plano 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 V[k] de primeiro plano interpolados e por meio disto recuperar os vetores V[k] de primeiro plano 51k. Os vetores V[k] de primeiro plano 51k usados para gerar os vetores V[k] de primeiro plano interpolados são denotados como os vetores V[k] de primeiro plano restantes 53. A fim de assegurar que os mesmos V[k] e V[k-1] são usados no codificador e decodificador (para criar os vetores V[k]) interpolados, versões quantizadas/desquantizadas dos vetores podem ser usadas no codificador e decodificador. A unidade de interpolação espaço-temporal 50 pode enviar os sinais nFG 49’ interpolados para a unidade de codificação de áudio psicoacústica 46 e os vetores V[k] de primeiro plano interpolados 51k para a unidade de redução de coeficiente 46.
[0098] A unidade de redução de coeficiente 46 pode representar uma unidade configurada para realizar 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 enviar vetores V[k] de primeiro plano reduzidos 55 para a unidade de codificação de vetor V 52. Os vetores V[k] de primeiro plano reduzidos 55 podem ter dimensões D: [(N+1)2 - (NBG+1)2-BGTOT] x nFG. A unidade de redução de coeficiente 46 pode, a este respeito, representar uma unidade configurada para reduzir o número de coeficientes nos vetores V[k] de primeiro plano restantes 53. Em outras palavras, a unidade de redução de coeficiente 46 pode representar uma unidade configurada para eliminar os coeficientes nos vetores V[k] de primeiro plano (que formam os vetores V[k] de primeiro plano restantes 53) com poucas ou sem informações direcionais. Em alguns exemplos, os coeficientes dos distintos ou, em outras palavras, vetores V[k] de primeiro plano correspondentes a funções de base de primeira ordem e ordem zero (que podem ser denotadas como NBG) fornecem poucas informações direcionais e, portanto, podem ser removidos dos vetores de primeiro plano v (por meio de um processo que pode ser referido como “redução de coeficiente”). Neste exemplo, maior flexibilidade pode ser fornecida não somente para identificar os coeficientes que correspondem a NBG, mas para identificar canais HOA adicionais (que podem ser denotados pela variável TotalOfAddAmbHOAChan) do conjunto de [(NBG +1)2+1, (N+1)2].
[0099] A unidade de codificação de vetor V 52 pode representar uma unidade configurada para realizar qualquer forma de quantização para comprimir os vetores V[k] de primeiro plano reduzidos 55 para gerar vetores V[k] de primeiro plano codificados 57, enviando os vetores V[k] de primeiro plano codificados 57 para a unidade de geração de fluxo de bits 42. Em operação, a unidade de codificação de vetor V 52 pode representar uma unidade configurada para comprimir um componente espacial do campo acústico, isto é, um ou mais dos vetores V[k] de primeiro plano reduzidos 55, neste exemplo. A unidade de codificação de vetor V 52 pode realizar qualquer um dos 12 seguintes modos de quantização, como indicado por um elemento de sintaxe do modo de quantização denotado “NbitsQ”: Valor NbitsQ Tipo de Modo de quantização 0-3: Reverso 4: Quantização vetorial 5: Quantização escalar sem Codificação de Huffman 6: 6-bit Quantização escalar com Codificação de Huffman 7: 7-bit Quantização escalar com Codificação de Huffman 8: 8-bit Quantização escalar com Codificação de Huffman 16: 16-bit Quantização escalar com Codificação de Huffman
[0100] A unidade de codificação de vetor V 52 pode também realizar versões previstas de qualquer dos tipos seguintes de modos de quantização, onde é determinada uma diferença entre um elemento (ou um peso, quando quantização vetorial é realizada) do vetor V de um quadro anterior e o elemento (ou peso, quando quantização vetorial for realizada) do vetor V de um quadro atual. 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 quadro anterior, em vez de o valor do elemento do vetor V do próprio quadro atual.
[0101] A unidade de codificação de vetor V 52 pode realizar múltiplas formas de quantização em relação a cada um dos vetores V[k] de primeiro plano reduzidos 55 para obter múltiplas versões codificadas dos vetores V[k] de primeiro plano reduzidos 55. A unidade de codificação de vetor V 52 pode selecionar uma das versões codificadas dos vetores V[k] de primeiro plano reduzidos 55 como o vetor V[k] de primeiro plano codificado 57. A unidade de codificação de vetor V 52 pode, em outras palavras, selecionar o vetor V vetorialmente quantizado não previsto, vetor V vetorialmente quantizado previsto, o vetor V quantizado escalarmente não Huffman codificado, e o vetor V quantizado escalarmente Huffman-codificado para usar como vetor V quantizado comutado na saída com base em qualquer combinação dos critérios discutidos nesta revelação.
[0102] 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 selecionado do vetor V vetorialmente quantizado não previsto (por exemplo, em termos de valores de peso ou bits indicativos do mesmo), vetor V vetor quantizado previsto (por exemplo, em termos de valores de erro ou bits indicativos do mesmo), o vetor V quantizado escalarmente não Huffman-codificado e o vetor V quantizado escalarmente Huffman-codificado à unidade de geração de fluxo de bits 52 como os vetores V[k] de primeiro plano codificados 57. A unidade de codificação de vetor V 52 pode também fornecer elementos de sintaxe indicativos do modo de quantização (por exemplo, o elemento de sintaxe NbitsQ) e qualquer outro elemento de sintaxe usado para desquantizar ou senão reconstruir o vetor V.
[0103] Com relação à quantização vetorial, a unidade de codificação de vetor V 52 pode codificar os vetores V[k] de primeiro plano reduzidos 55 com base nos vetores de código 63 para gerar vetores V[k] codificados. Como mostrado na Figura 3A, a unidade de codificação de vetor V 52 pode, em alguns exemplos, produzir pesos codificados 57 e índices 73. Os pesos codificados 57 e os índices 73, em tais exemplos, podem juntos representar os vetores V[k] codificados. Os índices 73 pode representar qual vetor de código em uma soma ponderada de vetores de codificação corresponde a cada um dos pesos nos pesos codificados 57.
[0104] Para codificar os vetores V[k] de primeiro plano reduzidos 55, a unidade de codificação de vetor V 52 pode, em alguns exemplos, decompor cada um dos vetores V[k] de primeiro plano 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 dos pesos que pode ser multiplicado por um respectivo dos 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 dos vetores V[k] de primeiro plano reduzidos 55 em uma soma ponderada de vetores de código pode envolver determinar valores de peso para um ou mais dos pesos incluídos na soma ponderada de vetores de código.
[0105] Depois da determinação dos 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 dos valores de peso para gerar os pesos codificados 57. Em alguns exemplos, codificar dos 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 dos valores de peso, dados indicativos dos valores de peso, os valores de peso quantizados, dados indicativos dos valores de peso quantizados usando qualquer técnica de codificação.
[0106] 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 pseudovetores ortonormais. Em exemplos adicionais, os vetores de código 63 podem ser um ou mais dos seguintes: um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de pseudovetores direcionais ortonormais, um conjunto de pseudovetores direcionais ortogonais, um conjunto de vetores de base direcionais, um conjunto de vetores ortogonais, um conjunto de pseudovetores ortogonais, um conjunto de vetores de base harmônicos esféricos, um conjunto de vetores normalizados, e um conjunto de vetores de base. Em exemplos onde os vetores de código 63 incluem vetores direcionais, cada um dos vetores direcionais pode ter um direcionalidade que corresponde a uma direção ou padrão de radiação direcional no espaço 2D ou 3D.
[0107] 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 acústico HOA subjacentes e/ou não ser gerados com base nos coeficientes de campo acústico HOA subjacentes. Em exemplos adicionais, os vetores de código 63 podem ser os mesmos durante codificação de diferentes quadros de coeficientes HOA. Em exemplos adicionais, os vetores de código 63 podem ser diferentes durante codificação de diferentes quadros de coeficientes HOA. Em exemplos adicionais, os vetores de código 63 podem ser alternativamente referidos como vetores de livro de código e/ou vetores de código candidatos.
[0108] Em alguns exemplos, para determinar os valores de peso correspondentes a um dos vetores V[k] de primeiro plano reduzidos 55, a unidade de codificação de vetor V 52 pode, para cada um dos valores de peso na soma ponderada de vetores de código, multiplicar o vetor V[k] de primeiro plano reduzido por um respectivo dos vetores de código 63 para determinar o respectivo valor de peso. Em alguns casos, 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 transposta do respectivo dos vetores de código 63 para determinar o respectivo valor de peso.
[0109] Para quantizar 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.
[0110] 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ído 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ído na soma ponderada de vetores de código. Um subconjunto dos valores de peso incluído 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ído na soma ponderada de vetores de código.
[0111] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um subconjunto dos valores de peso incluído na soma ponderada de vetores de código para codificar e/ou quantizar com base em vários 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 maiores valores de peso (isto é, máximos valores de peso) a partir do conjunto de N valores de peso para formar o subconjunto dos valores de peso onde M é um número inteiro menor que N. Desta maneira, as contribuições de vetores de código que contribuem com uma quantidade relativamente grande para o vetor V decomposto podem ser preservadas, enquanto as contribuições de vetores de código que contribuem com uma quantidade relativamente pequena para o vetor V decomposto podem ser descartadas para aumentar a eficiência de codificação. Outros critérios podem também ser usados para selecionar o subconjunto dos valores de peso para codificação e/ou quantização.
[0112] Em alguns exemplos, os M maiores valores de peso 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 maiores valores de peso podem ser os M valores de peso do conjunto de N valores de peso que têm o maior valor absoluto.
[0113] Em exemplos onde 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 dos valores de peso foram selecionados para quantização e/ou codificação além dos dados quantizados indicativos dos valores de peso. Em alguns exemplos, os dados indicativos de quais dos valores de peso foram selecionados para quantização e/ou codificação podem incluir um ou mais índices de um conjunto de índices que corresponde aos vetores de código na soma ponderada de vetores de código. Em tais exemplos, para cada um dos 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.
[0114] Em alguns exemplos, cada um dos vetores V[k] de primeiro plano reduzidos 55 pode ser representado com base na expressão seguinte:
[0115] em que Qj representa o j-ésimo vetor de código em um conjunto de vetores de código representa o j-ésimo peso em um conjunto de pesos 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 pesose um conjunto de vetores de código
[0116] Em alguns exemplos, a unidade de codificação de vetor V 52 pode determinar os valores de peso com base na seguinte equação:
[0117] em que representa uma transposta do k-ésimo vetor de código em um conjunto de vetores de código VFG corresponde ao vetor V que está sendo representado, decomposto e/ou codificado pela unidade de codificação de vetor V 52, e f' representa o j-ésimo peso em um conjunto de pesos
[0118] Em exemplos em que o conjunto de vetores de código é ortonormal, a expressão seguinte pode aplicar:
[0120] em que f' corresponde ao k-ésimo peso na soma ponderada de vetores de código.
[0121] Para a soma ponderada de exemplo de vetores de código usados na equação (1), a unidade de codificação de vetor V 52 pode calcular os valores de peso para cada um dos pesos na soma ponderada de vetores de código usando a equação (2) e os pesos resultantes podem ser representados como:
[0122] Considere um exemplo onde a unidade de codificação de vetor V 52 seleciona os cinco máximos valores de peso (isto é, pesos com maiores valores ou valores absolutos). O subconjunto dos valores de peso a ser quantizado pode ser representado como:
[0123] O subconjunto dos valores de peso juntos 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, como mostrado na expressão seguinte:
[0124] em que representa o j-ésimo vetor de código em um subconjunto dos vetores de código
epresenta o j-ésimo peso em um subconjunto de pesos ( corresponde a um vetor V estimado que corresponde ao vetor V que está sendo 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 e um conjunto de vetores de código
[0125] 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:
[0126] Os valores de peso quantizados juntos 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, como mostrado na expressão seguinte:
[0127] onde representa o j-ésimo vetor de -Q - código em um subconjunto dos vetores de código representa o j-ésimo peso em um subconjunto de pesos ) , e corresponde a um vetor V estimado que corresponde ao vetor V que está sendo 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 e um conjunto de vetores de código
[0128] Uma reformulação alternativa do exposto (que é amplamente equivalente ao descrito acima) pode ser como se segue. Os vetores V podem ser codificados com base em um conjunto predefinido de vetores de código. 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:
[0129] onde representa o j-ésimo vetor de código em um conjunto de vetores de código predefinidos ( representa o j-ésimo peso de valor real em um conjunto de pesos predefinidos corresponde ao índice de adendos, que pode ser até 7, e V corresponde ao vetor V que está sendo codificado. A escolha de 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+1)2, onde vetores de código predefinidos são derivados como coeficientes de expansão HOA, em alguns exemplos, das tabelas F.2 a F.11. Referência às tabelas denotada por F seguida por um ponto final e um número se refere às tabelas especificada no Anexo F do MPEG-H 3D Audio Standard, intitulado “Information Technology - High efficiency coding and media delivery in heterogenous environments - Part 3 : 3D Audio”, ISO/IEC JTC 1/SC 29, datado de 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).
[0130] Quando N é 4, a tabela em Anexo F.6 com 32 direções predefinidas é usada. Em todos os casos, valores absoluto dos pesos a são vetorialmente quantizados em relação aos valores de ponderação predefinidos f'-' encontrados nas primeiras k+1 colunas da tabela na tabela F.12 mostrada a seguir e sinalizado com o índice do número da fileira associado.
[0132] Em outras palavras, depois da sinalização do valor k, um vetor V é codificado com k+1 índices que apontam para os k+1 vetores de código predefinidosum índice que aponta para os k pesos quantizadosno livro de código de ponderação predefinido, e k+1 valores de sinal de número sj:
[0133] Se o codificador seleciona 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, onde ambas essas tabelas são mostradas a seguir. Também, o sinal do número do valor de ponderação w pode ser separadamente codificado.
[0134] A este respeito, as técnicas podem permitir que o dispositivo de codificação de áudio 20 selecione um de uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior.
[0135] Além disso, as técnicas podem permitir que o dispositivo de codificação de áudio 20 selecione entre uma pluralidade de livros de código emparelhados para ser usado durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior.
[0136] 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 é incluído em uma versão decomposta de uma pluralidade de coeficientes ambissônicos de ordem superior (HOA). Cada dos valores de peso pode corresponder a um respectivo de uma pluralidade de pesos incluída em uma soma ponderada dos vetores de código que representa o vetor.
[0137] 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, quantizar os dados indicativos dos valores de peso a unidade de codificação de vetor V 52 pode, 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 são incluídos no subconjunto selecionado dos valores de peso.
[0138] 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 maiores valores de peso a partir do conjunto de N valores de peso para formar o subconjunto dos valores de peso onde M é menor que N.
[0139] Para quantizar os dados indicativos dos valores de peso, a unidade de codificação de vetor V 52 pode realizar pelo menos uma de 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 em adição ou em substituição às técnicas de quantização supramencionadas podem também ser realizadas.
[0140] Para determinar os valores de peso, a unidade de codificação de vetor V 52 pode, para cada um dos valores de peso, determinar o respectivo valor de peso com base em um respectivo dos vetores de código 63. Por exemplo, a unidade de codificação de vetor V 52 pode multiplicar o vetor por um respectivo dos 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 transposta do respectivo dos vetores de código 63 para determinar o respectivo valor de peso.
[0141] Em alguns exemplos, a versão decomposta dos coeficientes HOA pode ser uma versão decomposta do valor singular dos coeficientes HOA. Em exemplos adicionais, a versão decomposta dos coeficientes HOA pode ser pelo menos um de uma versão de análise do componente principal (PCA) dos coeficientes HOA, uma versão transformada de Karhunen-Loeve dos coeficientes HOA, uma versão transformada de Hotelling dos coeficientes HOA, uma versão decomposta própria ortogonal (POD) dos coeficientes HOA, e uma versão dos coeficientes HOA decomposta em autovalores (EVD).
[0142] Em exemplos adicionais, o conjunto de vetores de código 63 pode incluir pelo menos um de um conjunto de vetores direcionais, um conjunto de vetores direcionais ortogonais, um conjunto de vetores direcionais ortonormais, um conjunto de pseudovetores direcionais ortonormais, um conjunto de pseudovetores direcionais ortogonais, um conjunto de vetores de base direcionais, um conjunto de vetores ortogonais, um conjunto de vetores ortonormais, um conjunto de pseudovetores ortonormais, um conjunto de pseudovetores ortogonais, um conjunto de vetores de base harmônicos esféricos, um conjunto de vetores normalizados, e um conjunto de vetores de base.
[0143] 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ódigo de decomposição candidatos, e determinar os pesos que representam o vetor V com base no livro de código de decomposição selecionado.
[0144] Em alguns exemplos, cada um dos livros de código de decomposição candidatos pode corresponder a um conjunto de vetores de código 63 que pode ser usado 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 diferente de vetores de código 63 que pode ser usado para decompor um vetor V. Cada entrada no livro de código de decomposição corresponde a um dos vetores no conjunto de vetores de código.
[0145] 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 incluído na soma ponderada de vetores de código mostrada no lado direito da expressão (1). Neste exemplo, cada um dos vetores de código 63 (isto é, pode corresponder a uma entrada no livro de código de decomposição.
[0146] Diferentes livros de código de decomposição podem ter um mesmo número de vetores de código 63 em alguns exemplos. Em exemplos adicionais, diferentes livros de código de decomposição podem ter um número diferente de vetores de código 63.
[0147] Por exemplo, pelo menos dois dos livros de código de decomposição candidatos podem ter um número diferente de entradas (isto é, vetores de código 63 neste exemplo). Como um 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 dos 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.
[0148] 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 de vários 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 correspondentes 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 correspondentes a cada livro de código de decomposição (da soma ponderada correspondente que representa o vetor V) para determinar quantos pesos são necessários para representar o vetor V dentro de uma certa margem de precisão (definida, por exemplo, por um limiar de erro). A unidade de codificação de vetor V 52 pode selecionar o livro de código de decomposição que exige o mínimo 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 acústico subjacente (por exemplo, artificialmente criado, naturalmente registrado, altamente difuso, etc.).
[0149] 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 dos pesos, selecionar uma entrada do livro de código (isto é, vetor de código) que corresponde ao respectivo peso (como identificado, por exemplo, pelo elemento de sintaxe “Weightldx”), e determinar o valor de peso para o respectivo peso com base na entrada do livro de código selecionado. Para determinar o valor de peso com base na entrada do 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 do livro de código selecionado para gerar o valor de peso. Por exemplo, a unidade de codificação de vetor V 52 pode multiplicar o vetor V pela transposta do vetor de código 63 que é especificada pela entrada do livro de código selecionado para gerar um valor de peso escalar. Como um outro exemplo, a equação (2) pode ser usada para determinar os valores de peso.
[0150] Em alguns exemplos, cada um dos livros de código de decomposição pode corresponder a um respectivo de 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 pode também selecionar um livro de código de quantização que corresponde ao livro de código de decomposição.
[0151] 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 dos vetores V[k] de primeiro plano reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 pode 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 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 do livro de código e/ou um valor de identificação que corresponde ao livro de código selecionado.
[0152] 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 pode também ser indicativo do número de pesos a ser quantizado e/ou codificado pela unidade de codificação de vetor V 52 e/ou o dispositivo de codificação de áudio 20. O número indicativo de quantos pesos devem ser usados para estimar um vetor V pode também ser referido como o número de pesos a ser quantizados e/ou codificados. Este número indicativo de quantos pesos pode alternativamente ser representado como o número de vetores de código 63 aos quais esses pesos correspondem. Este número pode portanto também ser denotado como o número de vetores de código 63 usados para desquantizar um vetor V vetorialmente quantizado, e pode ser denotado por um elemento de sintaxe NuMVECIndices.
[0153] Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar o número de pesos a ser quantizados e/ou codificados para um vetor V particular com base nos valores de peso que foram determinados para esse vetor V particular. Em exemplos adicionais, a unidade de codificação de vetor V 52 pode selecionar o número de pesos a ser quantizados e/ou codificados para um vetor V particular com base em um erro associado com a estimativa do vetor V usando um ou mais números de pesos particulares.
[0154] Por exemplo, a unidade de codificação de vetor V 52 pode determinar um máximo limiar de erro para um erro associado com a 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 esse número de pesos e o vetor V menor ou igual ao máximo limiar de erro. O vetor estimado pode corresponder à soma ponderada de vetores de código onde nem todos os vetores de código do livro de código são usados na soma ponderada.
[0155] 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 limiar com base na seguinte equação:
[0156] onderepresenta o i-ésimo vetor de código, ' representa o í-é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 é uma norma do valor x, onde α é 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 ilustrando um gráfico de exemplo 700 mostrando um limiar de erro usado para selecionar X* número de vetores de código de acordo com vários aspectos das técnicas descritas nesta revelação. O gráfico 700 inclui uma linha 702 ilustrando como o erro diminui à medida que o número de vetores de código aumenta.
[0157] No exemplo supramencionado, os índices, i, podem, em alguns exemplos, indexar os pesos em uma sequência de ordem de maneira tal que pesos de maior magnitude (por exemplo, maior valor absoluto) ocorrem antes dos pesos de menor magnitude (por exemplo, menor valor absoluto) na sequência ordenada. Em outras palavras, 01 pode representar o maior valor de peso, W2 pode representar o seguinte maior valor de peso, e assim por diante. Similarmente, Wx pode representar o menor valor de peso.
[0158] 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 dos vetores V[k] de primeiro plano reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 pode incluir tais dados no fluxo de bits resultante. Em alguns exemplos, a unidade de codificação de vetor V 52 pode selecionar um número de pesos para usar para codificar um vetor V para cada quadro dos coeficientes 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 selecionado à unidade de geração de fluxo de bits 42. Em alguns exemplos, os dados indicativos de quantos pesos foram selecionados pode ser um número indicativo de quantos pesos foram selecionados para codificação e/ou quantização.
[0159] 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 são usados 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.
[0160] Em alguns exemplos, cada um dos 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 usando esses 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 de um que um único vetor de quantização pode ser selecionado para quantizar o vetor V.
[0161] Cada entrada no livro de código pode corresponder a um vetor de quantização candidato. O número de componentes em cada um dos vetores de quantização candidatos pode, em alguns exemplos, ser igual ao número de pesos a ser quantizado.
[0162] Em alguns exemplos, diferentes livros de código de quantização podem ter o mesmo número de vetores de quantização candidatos. Em exemplos adicionais, diferentes livros de código de quantização podem ter um número diferente de vetores de quantização candidatos.
[0163] Por exemplo, pelo menos dois dos livros de código de quantização candidatos podem ter um número diferente de vetores de quantização candidatos. Como um 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 dos livros de código de quantização candidatos podem 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.
[0164] 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 várias 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 um 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 ser 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 bem como o número de pesos que foram considerados necessários para representar o vetor V dentro de um certo limiar de erro (por exemplo, como pela Equação 14).
[0165] 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.
[0166] 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 com o uso de um ou mais dos 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 minimiza um erro de quantização (por exemplo, minimiza um erro dos mínimos quadrados).
[0167] Em alguns exemplos, cada um dos livros de código de quantização pode corresponder a um respectivo de uma pluralidade de livros de código de decomposição. Em tais exemplos, a unidade de codificação de vetor V 52 pode também selecionar um livro de código de quantização para quantizar o conjunto de pesos associado com 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.
[0168] 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 correspondentes a um ou mais dos vetores V[k] de primeiro plano reduzidos 55 de forma que a unidade de geração de fluxo de bits 42 pode 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 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 pode ser um índice do livro de código e/ou valor de identificação que corresponde ao livro de código selecionado.
[0169] A unidade de codificação de áudio psicoacústica 40 incluída no dispositivo de codificação de áudio 20 pode representar múltiplas instâncias de um codificador de áudio psicoacústico, cada uma das quais é usada para codificar um diferente objeto de áudio ou canal HOA de cada um dos coeficientes HOA do ambiente com energia compensada 47' e os sinais nFG 49’ interpolados para gerar coeficientes HOA do ambiente codificados 59 e sinais nFG codificados 61. A unidade de codificação de áudio psicoacústica 40 pode enviar os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 61 para a unidade de geração de fluxo de bits 42.
[0170] A unidade de geração de fluxo de bits 42 incluída no dispositivo de codificação de áudio 20 representa uma unidade que formata dados para conformar com um formato conhecido (que pode se referir a um formato conhecido por um dispositivo de decodificação), por meio disto gerando o fluxo de bits baseado em vetor 21. O fluxo de bits 21 pode, em outras palavras, representar dados de áudio codificados, tendo sido codificados da maneira supradescrita. A unidade de geração de fluxo de bits 42 pode representar um multiplexador em alguns exemplos, que pode receber os vetores V[k] de primeiro plano codificados 57, os coeficientes HOA do ambiente codificados 59, os sinais nFG codificados 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 V[k] de primeiro plano codificados 57, nos coeficientes HOA do ambiente codificados 59, nos sinais nFG codificados 61 e nas informações de canal de fundo 43. Dessa maneira, a unidade de geração de fluxo de bits 42 pode por meio disto 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 lateral.
[0171] Embora não mostrado no exemplo da Figura 3A, o dispositivo de codificação de áudio 20 pode também incluir uma unidade de saída de fluxo de bits que comuta a saída do fluxo de bits do dispositivo de codificação de áudio 20 (por exemplo, entre o fluxo de bits de base direcional 21 e o fluxo de bits baseado em vetor 21) com base se um quadro atual deve ser codificado usando a síntese de base direcional ou a síntese baseada em vetor. A unidade de saída de fluxo de bits pode realizar a comutação com base na saída do elemento de sintaxe pela unidade de análise de conteúdo 26 indicando se uma síntese de base direcional foi realizada (em decorrência da detecção de que os coeficientes HOA 11 foram gerados a partir de um objeto de áudio sintético) ou se uma síntese baseada em vetor foi realizada (em decorrência da detecção de que os coeficientes HOA foram gravados). A unidade de saída de fluxo de bits pode especificar a sintaxe de cabeçalho correta para indicar a comutação ou codificação atual usada para o quadro atual junto com um respectivo dos fluxos de bits 21.
[0172] Além disso, como anteriormente notado, a unidade de análise de campo acústico 44 pode identificar coeficientes HOA do ambiente BGTOT 47, que podem mudar com base em quadro-por-quadro (embora às vezes BGTOT pode permanecer constante ou o mesmo em dois ou mais quadros adjacentes (no tempo)). A mudança em BGTOT pode resultar em mudanças nos coeficientes expressos nos vetores V[k] de primeiro plano reduzidos 55. A mudança em BGTOT pode resultar em coeficientes HOA de fundo (que podem também ser referidos como “coeficientes HOA do ambiente”) que mudam com base em quadro por quadro (embora, novamente, à vezes BGTOT pode permanecer constante ou o mesmo em dois ou mais quadros adjacentes (no tempo)). As mudanças frequentemente resultam em uma mudança de energia para os aspectos do campo acústico representado pela adição ou remoção dos coeficientes HOA do ambiente adicionais e a remoção correspondente de coeficientes ou adição de coeficientes aos vetores V[k] de primeiro plano reduzidos 55.
[0173] Em decorrência disto, a unidade de análise de campo acústico 44 pode adicionalmente determinar quando os coeficientes HOA do ambiente mudam de quadro para quadro e gerar uma sinalização ou outro elemento de sintaxe indicativo da mudança para o coeficiente HOA do ambiente em termos de ser usados para representar os componentes do ambiente do campo acústico (onde a mudança pode também ser referida como uma “transição” do coeficiente HOA do ambiente ou como uma “transição” do coeficiente HOA do ambiente). Em particular, a unidade de redução de coeficiente 46 pode gerar a sinalização (que pode ser denotada como uma sinalização AmbCoeffTransition ou uma sinalização AmbCoeffldxTransition), fornecendo a sinalização à unidade de geração de fluxo de bits 42 de forma que a sinalização pode ser incluída no fluxo de bits 21 (possivelmente como parte de informações de canal lateral).
[0174] A unidade de redução de coeficiente 46 pode, além de especificar a sinalização do coeficiente transição do ambiente, também modificar como os vetores V[k] de primeiro plano reduzidos 55 são gerados. Em um exemplo, ao determinar que um dos coeficientes HOA do ambiente do ambiente está em transição durante o quadro atual, a unidade de redução de coeficiente 46 pode especificar um coeficiente do vetor (que pode também ser referido como um “elemento vetorial” ou “elemento”) para cada um dos vetores V dos vetores V[k] de primeiro plano reduzidos 55 que corresponde ao coeficiente HOA do ambiente em transição. Novamente, o coeficiente HOA do ambiente em transição pode adicionar ou remover do número total de coeficientes de fundo BGTOT. Portanto, a mudança resultante no número total de coeficientes de fundo afeta se os coeficientes HOA do ambiente são ou não incluídos no fluxo de bits, e se os elementos dos vetores V correspondentes são incluídos para os vetores V especificados no fluxo de bits no segundo e no terceiro modos de configuração descritos acima. Mais informações relativas a como a unidade de redução de coeficiente 46 pode especificar os vetores V[k] de primeiro plano reduzidos 55 para superar as mudanças na energia é fornecida no Pedido U.S. no de série 14/594.533, intitulado “TRANSITIONING OF AMBIENT HIGHER_ORDER AMISONIC COEFFICIENTS”, depositado em 12 de janeiro de 2015.
[0175] A Figura 3B é um diagrama de blocos ilustrando, com mais detalhes, um outro exemplo do dispositivo de codificação de áudio 420 mostrado no exemplo da Figura 3 que pode realizar vários aspectos das técnicas descritas nesta revelação. O dispositivo de codificação de áudio 420 mostrado na Figura 3B é similar ao dispositivo de codificação de áudio 20, exceto que a unidade de codificação de vetor V 52 no dispositivo de codificação de áudio 420 também fornece informações do valor de peso 71 à unidade de reordenação 34.
[0176] Em alguns exemplos, as informações do valor de peso 71 podem incluir um ou mais dos valores de peso calculados pela unidade de codificação de vetor V 52. Em exemplos adicionais, as informações do valor de peso 71 podem incluir as 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 do 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 do valor de peso 71 podem incluir qualquer combinação de quaisquer um dos itens de informações supramencionados, bem como outros itens em adição ou em substituição aos itens de informações supramencionados.
[0177] Em alguns exemplos, a unidade de reordenação 34 pode reordenar os vetores com base nas informações do valor de peso 71 (por exemplo, com base nos valores de peso). Em exemplos onde 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 dos valores de peso foram selecionados para quantização ou codificação (que pode ser indicado pelas informações do valor de peso 71).
[0178] A Figura 4A é um diagrama de blocos ilustrando o dispositivo de decodificação de áudio 24 da Figura 2 com mais detalhes. Como 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 baseada na direcionalidade 90 e uma unidade de reconstrução baseada em vetor 92. Embora descrito a seguir, mais informações relativas ao dispositivo de decodificação de áudio 24 e aos vários aspectos de descompressão ou senão decodificação de coeficientes HOA é disponível no Relatório Descritivo do Pedido de Patente International no WO 2014/194099, intitulado “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD”, depositado em 29 de maio de 2014.
[0179] A unidade de extração 72 pode representar uma unidade configurada para receber o fluxo de bits 21 e extrair as várias versões codificadas (por exemplo, uma versão codificada com base em direção ou uma versão codificada baseada em vetor) dos coeficientes HOA 11. A unidade de extração 72 pode determinar a partir do elemento de sintaxe supranotado indicativo se os coeficientes HOA 11 foram codificados por meio das várias versões com base em direção ou com base em vetor. Quando uma codificação com base em direção foi realizada, a unidade de extração 72 pode extrair a versão dos coeficientes HOA 11 com base em direção e os elementos de sintaxe associados com a versão codificada (que é denotada como informações com base em direção 91 no exemplo da Figura 4A), passando as informações com base em direção 91 para a unidade de reconstrução com base em direção 90. A unidade de reconstrução com base em direção 90 pode representar uma unidade configurada para reconstruir os coeficientes HOA na forma de coeficientes HOA 11' com base nas informações de base direcional 91.
[0180] Quando o elemento de sintaxe indica que os coeficientes HOA 11 foram codificados usando uma síntese baseada em vetor, a unidade de extração 72 pode extrair os vetores V[k] de primeiro plano codificados (que pode incluir pesos codificados 57 e/ou índices 73), os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 59. A unidade de extração 72 pode passar os pesos codificados 57 para a unidade de quantização 74 e os coeficientes HOA do ambiente codificados 59 junto com os sinais nFG codificados 61 para a unidade de decodificação psicoacústica 80.
[0181] Para extrair os pesos codificados 57, os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 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 do recipiente HOADecoderConfig. A unidade de extração 72 pode ser configurada para operar em qualquer um dos modos de configuração descritos acima com base no elemento de sintaxe CodedVVecLength.
[0182] Em alguns exemplos, a unidade de extração 72 pode operar de acordo com o declaração de comutação apresentada no pseudocódigo seguinte com a sintaxe apresentada na tabela de sintaxe seguinte (onde riscados no meio indicam remoção da matéria objeto riscada no meio e sublinhados indicam adição da matéria objeto sublinhada em relação a versões anteriores da tabela de sintaxe) para WectorData como entendido em vista das semânticas anexas: switch CodedVVecLength{
[0183] WectorData( VecSigCanallds(i) )
[0184] Esta estrutura contém os dados de vetor V codificados usados para o síntese de sinal baseada em vetor.
[0185] VVec(k)[i] Este é o vetor V para o k- ésimo HOAframe() para o i-gésimo canal.
[0186] VVecLength Esta variável indica o número de elementos vetoriais a ser lidos.
[0187] VVecCoeffld Este vetor contém os índices do coeficientes do vetor V transmitido. VecVal Um número inteiro de valor entre 0 e 255.
[0188] aVal Uma variável temporária usada durante decodificação do VVetorData.
[0189] huffV al Uma palavra código de Huffman, a ser decodificada por Huffman.
[0190] sgnVal Este é o valor do sinal codificado usado durante decodificação.
[0191] intAddVal Este é valor de número inteiro adicional usado durante decodificação.
[0192] NuMVECIndices O número de vetores usados para desquantizar um vetor V vetorialmente quantizado.
[0193] Weightldx O índice em WeightValCdbk usado para desquantizar um vetor V vetorialmente quantizado.
[0194] nbitsW Tamanho de campo para ler Weightldx para decodificar um vetor V vetorialmente quantizado.
[0195] WeightValCdbk Livro de código que contém um vetor de coeficientes de ponderação de valor real positivo. Se NuMVECIndices for estabelecido em 1, o WeightValCdbk com 16 entradas é usado, senão o WeightValCdbk com 256 entradas é usado.
[0196] Vvecldx Um índice para VecDict, usado para desquantizar um vetor V vetorialmente quantizado.
[0197] nbitsldx Tamanho de campo para ler Vvecldxs individuais para decodificar um vetor V vetor V vetorialmente quantizado.
[0198] WeightVal Um coeficiente de ponderação de valor real para decodificar um vetor V quantizado por vetor.
[0199] Na tabela de sintaxe apresentada, a primeira declaração de comutação com os quatro casos (caso 0-3) fornece uma maneira pela qual se determina o comprimento vetorial VTDIST em termos do número (VVecLength) e í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 somente aqueles coeficientes do vetor VTDIST correspondente ao número maior que um MmNumOfCoeffsForAmbHOA são especificados, que pode denotar o que é referido como (NDIST + 1)2 - (NBG + 1)2 anteriormente. Adicionalmente, aqueles coeficientes NumOfContAddAmbHoaChan identificados em ContAddAmbHoaChan são subtraído. A lista ContAddAmbHoaChan especifica canais adicionais (onde “canais” se refere a um coeficiente particular correspondente a uma certa ordem, combinação de subordem) correspondente a uma ordem que excede a ordem MinAmbHoaOrder. O terceiro caso, caso 2, indica que aqueles coeficientes do vetor VTDIST correspondentes ao número maior que um MmNumOfCoeffsForAmbHOA são especificados, que pode denotar o que é referido como (NDIST + 1)2 - (NBG + 1)2 anteriormente. Tanto o VVecLength bem como o VVecCoeffldlist é válido para todos VVectors dentro do HOAframe.
[0200] Depois desta declaração de comutação, a decisão se realiza quantização vetorial, ou desquantização escalar uniforme pode ser controlada por NbitsQ (ou, como anteriormente denotado, nbits). Previamente, somente quantização escalar foi proposta para quantizar os Vvectors (por exemplo, quando NbitsQ é igual a 4). Embora quantização escalar seja ainda 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.
[0201] Em outras palavras, um sinal HOA que tem forte direcionalidade é representado por um sinal de áudio de primeiro plano e as informações espaciais correspondentes, 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 um somatório ponderado de vetores direcionais predefinidos dados pela seguinte equação:
[0202] onde são um i-gésimo valor de ponderação e o vetor direcional correspondente, respectivamente.
[0203] Um exemplo da codificação de vetor V é ilustrado na Figura 16. Como 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 como mostrado na Figura 16(b) onde um vetor de ponderação é mostrado na Figura 16(e). A Figura 16 (c) e (f) ilustram os casos em que somente valores de ponderação mais altos É (É^I) são selecionados. Quantização vetorial (VQ) pode então ser realizada para os valores de ponderação selecionados e o resultado é ilustrado na Figura 16(d) e (g).
[0204] A complexidade computacional deste esquema de codificação de vetor V pode ser determinada da seguinte maneira: 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).
[0205] A complexidade de ROM pode ser determinada como 16.29 kbytes (para ordens HOA 3, 4, 5 e 6), bem como o atraso algorítmico é determinado como 0 amostra.
[0206] A modificação exigida para a versão atual do padrão de codificação de áudio 3D suprareferenciado pode ser denotada na tabela de sintaxe WectorData aqui mostrada pelo uso de subscritos. Ou seja, no CD do padrão proposto de áudio MPEG-H 3D suprareferenciado, codificação de vetor V foi feita com quantização escalar (SQ) ou SQ seguida pela codificação de Huffman. Os bits exigidos do método de quantização vetorial proposto (VQ) podem ser menores que os métodos de codificação SQ convencionais. Para os 12 itens de teste de referência, os bits necessários em média são como se segue: • SQ+Huffman: 16.25 kbps • VQ proposto: 5.25 kbps
[0207] Os bits economizados podem ser redirecionados para uso para codificação de áudio perceptual.
[0208] A unidade de reconstrução do vetor V 74 pode, em outras palavras, operar de acordo com o pseudocódigo seguinte para reconstruir os vetores V:
[0209] De acordo com o pseudocódigo apresentado (com riscados ao meio indicando remoção da matéria objeto riscados ao meio), a unidade de reconstrução do vetor V 74 pode determinar VVecLength por pseudocódigo para a declaração de comutação com base no valor de CodedVVecLength. Com base neste VVecLength, a unidade de reconstrução do vetor V 74 pode interagir através das declarações de se/senão subsequentes, que consideram o valor NbitsQ. Quando o i-gésimo valor NbitsQ para o k-ésimo quadro é igual a 4, a unidade de reconstrução do vetor V 74 determina que desquantização vetorial tem que ser feita.
[0210] O elemento de sintaxe cdbLen indica o número de entradas no dicionário ou livro de código de vetores de código (onde este dicionário é denotado como “VecDict” no pseudocódigo seguinte e representa um livro de código com entradas do livro de código cdbLen contendo vetores de coeficientes de expansão HOA, usados para decodificar um vetor V vetorialmente quantizado pelo V), que é derivado com base no NumVvecIndices e na ordem HOA. Quando o valor de NumVvecIndicies é igual a um, os coeficientes de expansão HOA do livro de código de Vetor derivado da tabela F.8 anterior em conjunto com um livro de código de 8x1 valores de ponderação mostrado na tabela F.11 anterior. Quando o valor de NumVvecIndicies é maior que um, o livro de código de vetor com O vetor é usado em combinação com 256x8 valores de ponderação mostrados na tabela F.12 anterior.
[0211] Embora descrito anteriormente usando um livro de código de tamanho 256x8, diferentes livros de código podem ser usados com números diferentes de valores. Ou seja, em vez do val0-val7, um livro de código com 256 fileiras pode ser usado, com cada fileira sendo indexada por um diferente valor de índice (índice 0 - índice 255) e com um número diferente de valores, tais como val 0 - val 9 (para um total de dez valores) ou val 0 - val 15 (para um total de 16 valores). As Figuras 19A e 19B são diagramas ilustrando livros de código com 256 fileiras, com cada fileira tendo 10 valores e 16 valores respectivamente que podem ser usados de acordo com vários aspectos das técnicas descritas nesta revelação.
[0212] A unidade de reconstrução do 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”, que pode representar uma tabela multidimensional indexada com base em um ou mais de um índice do livro de código (denotado “Codebkldx” na tabela de sintaxe WectorData(i) anterior) e um índice de peso (denotado “Weightldx” na tabela de sintaxe WectorData(i) anterior)). Este Elemento de sintaxe Codebkldx pode ser definido em uma porção das informações de canal lateral, como mostrado na tabela de sintaxe ChannelsideInfoData(i) seguinte. TABELA - SINTAXE DE ChannelSideInfoData(i)(I)
[0213] Sublinhados na tabela apresentada denotam mudanças na tabela de sintaxe existente para acomodar a adição do Codebkldx. A semântica para a tabela anterior é como se segue.
[0214] Esta carga contém as informações laterais para o i-gésimo canal. O tamanho e os dados da carga dependem do tipo do canal. CanalType[i] Este elemento armazena o tipo do i-gésimo canal que é definido na Tabela 95. ActiveDirsIds[i] Este elemento indica a direção do sinal direcional ativo usando um índice dos 900 pontos predefinidos uniformemente distribuídos do Anexo F.7. A palavra-código 0 é usada para sinalizar o final de um sinal direcional. PFlag[i] A sinalização de previsão usada para a decodificação de Huffman do vetor V escalar quantizado associado com o sinal baseado em vetor do i- gésimo canal. CbFlag[i] A sinalização do livro de código usada para a decodificação de Huffman do vetor V escalar quantizado associado com o sinal baseado em vetor do i-gésimo canal. Codebkldx[i] Sinaliza o livro de código específico usado para desquantizar o vetor V quantizado por vetor associado com o sinal baseado em Vetor do i-gésimo canal. NbitsQ[i] Este índice determina a tabela de Huffman usada para a decodificação Huffman dos dados associados com o sinal baseado em vetor do i-gésimo canal. A palavra- código 5 determina o uso de um desquantizador de 8 bits uniforme. O dois MSBs 00 determinam a reutilização dos dados NbitsQ[i], PFlag[i] e CbFlag[i] do quadro anterior (k-1). bA, bB O msb (bA) e segundo msb (bB) do campo NbitsQ[i]. uintC O palavra-código dos dois bits restantes do campo NbitsQ[i]. AddAmbHoalnfoChannel(i) Esta carga contém as informações para coeficientes HOA do ambiente adicionais.
[0215] Pela semântica da tabela de sintaxe VVetorData, 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 coeficientes de ponderação de valor real positivo. Se NuMVECIndices for estabelecido em 1, o WeightValCdbk com 8 entradas é usado, senão o WeightValCdbk com 256 entradas é usado. Pela tabela de sintaxe VVetorData, quando o Codebkldx é igual a zero, a unidade de reconstrução do vetor V 74 determina que nbitsW é igual a 3 e o Weightldx pode ter um valor na faixa de 0-7. Neste caso, o dicionário de vetor de código VecDict tem um número de entradas relativamente grande (por exemplo, 900) e é emparelhado com um livro de código de peso com apenas 8 entradas. Quando o Codebkldx não é igual a zero, a unidade de reconstrução do vetor V 74 determina que nbitsW é igual 8 e o Weightldx pode ter um valor na faixa de 0-255. Neste caso, o VecDict tem um número de entradas relativamente menor (por exemplo, 25 ou 32 entradas) e um número de pesos relativamente grande é exigido (por exemplo, 256) no livro de código de peso para assegurar um erro aceitável. Desta maneira, as técnicas podem fornecer livros de código emparelhados (referindo ao VecDict emparelhado usado e os livros de código de peso). O valor de peso (denotado “WeightVal” na tabela de sintaxe VVetorData apresentada) pode então ser computado como se segue: |WeightVal[j]=((SgnVal*2)-1)* WeightValCdbk[Codebkldx(k)[i]][ Weightldx][j];
[0216] Este WeightVal pode então ser aplicado pelo pseudocódigo anterior em um vetor de código correspondente para desquantizar vetorialmente o vetor V.
[0217] A este respeito, 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 de uma pluralidade de livros de código para usar durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior.
[0218] 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 emparelhados a ser usado durante a realização da desquantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo acústico, o componente espacial vetorialmente quantizado obtido através da aplicação de uma síntese baseada em vetor a uma pluralidade de coeficientes ambissônicos de ordem superior.
[0219] Quando NbitsQ é igual a 5, uma desquantização escalar de 8 bits uniforme é realizada. Ao contrário, um valor de NbitsQ maior ou igual a 6 pode resultar na aplicação de decodificação de Huffman. O valor cid referido anteriormente pode ser igual aos dois bits menos significantes do valor NbitsQ. O modo de previsão supradiscutido é denotado como PFlag na tabela de sintaxe apresentada, enquanto o bit info HT é denotado como CbFlag na tabela de sintaxe apresentada. A sintaxe restante especifica como ocorre a decodificação de uma maneira substancialmente similar à supradescrita.
[0220] A unidade de reconstrução baseada em vetor 92 representa uma unidade configurada para realizar operações recíprocas às supradescritas em relação à unidade de síntese baseada em vetor 27 de maneira a reconstruir os coeficientes HOA 11'. A unidade de reconstrução baseada em vetor 92 pode incluir uma unidade de reconstrução do vetor V 74, uma unidade de interpolação espaço-temporal 76, uma unidade de formulação de primeiro plano 78, uma unidade de decodificação psicoacústica 80, uma unidade de formulação do coeficiente HOA 82 e uma unidade de reordenação 84.
[0221] A unidade de reconstrução do vetor V 74 pode receber pesos codificados 57 e gerar vetores V[k] de primeiro plano reduzidos 55k. A unidade de reconstrução do vetor V 74 pode encaminhar os vetores V[k] de primeiro plano reduzidos 55k para a unidade de reordenação 84.
[0222] Por exemplo, a unidade de reconstrução do 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 V[k] de primeiro plano reduzidos 55k com base nos pesos codificados 57 e um ou mais vetores de código. Em alguns exemplos, os pesos codificados 57 podem incluir valores de peso correspondentes a todos os vetores de código em um conjunto de vetores de código que é usado para representar os vetores V[k] de primeiro plano reduzidos 55k. Em tais exemplos, a unidade de reconstrução do vetor V 74 pode reconstruir os vetores V[k] de primeiro plano reduzidos 55k com base em todo o conjunto de vetores de código.
[0223] Os pesos codificados 57 podem incluir valores de peso correspondentes a um subconjunto de um conjunto de vetores de código que é usado para representar os vetores V[k] de primeiro plano reduzidos 55k. Em tais exemplos, os pesos codificados 57 podem adicionalmente incluir dados indicativos de qual de uma pluralidade de vetores de código usar para reconstruir os vetores V[k] de primeiro plano reduzidos 55k, e a unidade de reconstrução do vetor V 74 pode usar um subconjunto dos vetores de código indicado por tais dados para reconstruir os vetores V[k] de primeiro plano reduzidos 55k. Em alguns exemplos, os dados indicativos de qual de uma pluralidade de vetores de código usar para reconstruir os vetores V[k] de primeiro plano reduzidos 55k pode corresponder aos índices 57.
[0224] Em alguns exemplos, a unidade de reconstrução do vetor V 74 pode obter de um fluxo de bits dados indicativos de uma pluralidade de valores de peso que representam um vetor que é incluído em uma versão decomposta de uma pluralidade de coeficientes HOA, e reconstruir o vetor com base nos valores de peso e nos vetores de código. Cada dos valores de peso pode corresponder a um respectivo de uma pluralidade de pesos em uma soma ponderada de vetores de código que representa o vetor.
[0225] Em alguns exemplos, para reconstruir o vetor, a unidade de reconstrução do vetor V 74 pode determinar uma soma ponderada dos vetores de código onde os vetores de código são ponderados pelos valores de peso. Em exemplos adicionais, para reconstruir o vetor, a unidade de reconstrução do vetor V 74 pode, para cada um dos valores de peso, multiplicar o valor de peso por um respectivo 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.
[0226] Em alguns exemplos, a unidade de reconstrução do vetor V 74 pode obter, do fluxo de bits, dados indicativos de quais de 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 do WeightValCdbk com base nos elementos de sintaxe Codebkldx e Weightldx), os vetores de código, e os dados indicativos de qual de uma pluralidade de vetores de código (identificados, por exemplo, pelo elemento de sintaxe Wecldx, além do NuMVEC Indices) usar para reconstruir o vetor. Em tais exemplos, para reconstruir o vetor, a unidade de reconstrução do vetor V 74 pode, em alguns exemplos, selecionar um subconjunto dos vetores de código com base nos dados indicativos de qual de uma pluralidade de vetores de código usar para reconstruir o vetor, e reconstruir o vetor com base nos valores de peso e no subconjunto selecionado dos vetores de código.
[0227] 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 do vetor V 74 pode, para cada um dos valores de peso, multiplicar o valor de peso por um respectivo dos 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.
[0228] A unidade de decodificação psicoacústica 80 pode operar de uma maneira recíproca à unidade de codificação de áudio psicoacústica 40 mostrada no exemplo da Figura 4A de maneira a decodificar os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 61 e por meio disto gerar coeficientes HOA do ambiente com energia compensada 47' e os sinais nFG interpolados 49’ (que podem também ser referidos como objetos de áudio nFG interpolados 49'). Embora mostrado como sendo separados um do outro, os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 61 podem não ser separados um do outro e, em vez disso, podem ser especificados como canais codificados, como descrito a seguir em relação à Figura 4B. A unidade de decodificação psicoacústica 80 pode, quando os coeficientes HOA do ambiente codificados 59 e os sinais nFG codificados 61 forem especificados juntos como os canais codificado, pode decodificar os canais codificados 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 HOA do ambiente com energia compensada 47' e os sinais nFG 49’ interpolados.
[0229] Em outras palavras, a unidade de decodificação psicoacústica 80 pode obter os sinais nFG 49’ interpolados de todos os sinais acústicos predominantes, que podem ser denotado como o quadro XPS (k), os coeficientes HOA do ambiente com energia compensada 47' representativa da representação intermediária do componente HOA do ambiente, que pode ser denotado como o quadro CLAMB(k). A unidade de decodificação psicoacústica 80 pode realizar esta reatribuição de canal com base em elementos de sintaxe especificados no fluxo de bits 21 ou 29, que pode incluir um vetor de atribuição especificando, para cada canal de transporte, o índice de uma sequência de coeficientes possivelmente contida do componente HOA do ambiente e outros elementos de sintaxe indicativos de um conjunto de vetores V ativos. De qualquer maneira, a unidade de decodificação psicoacústica 80 pode passar os coeficientes HOA do ambiente com energia compensada 47' para a unidade de formulação do coeficiente HOA 82 e os sinais nFG 49' para reordenador 84.
[0230] Em outras palavras, a unidade de decodificação psicoacústica 80 pode obter os sinais nFG 49’ interpolados de todos os sinais acústicos predominantes, que podem ser denotado como o quadro XPS(k), os coeficientes HOA do ambiente com energia compensada 47' representativos da representação intermediária do componente HOA do ambiente, que pode ser denotada como o quadro Ci AMB (k). A unidade de decodificação psicoacústica 80 pode realizar esta reassociação de canal com base em elementos de sintaxe especificados no fluxo de bits 21 ou 29, que pode incluir um vetor de associação especificando, para cada canal de transporte, o índice de uma sequência de coeficientes possivelmente contida do componente HOA do ambiente e outros elementos de sintaxe indicativos de um conjunto de vetores V ativos. De qualquer maneira, a unidade de decodificação psicoacústica 80 pode passar os coeficientes HOA do ambiente com energia compensada 47' para a unidade de formulação do coeficiente HOA 82 e os sinais nFG 49' para o reordenador 84.
[0231] Para refazer o exposto, os coeficientes HOA podem ser reformulados a partir dos sinais baseados em vetor da maneira supradescrita. Desquantização escalar pode primeiramente ser realizada em relação a cada vetor V para gerar MVEC (k), onde os i-gésimos vetores individuais do x x 1 . Os vetores V podem ter sido decompostos a partir dos coeficientes HOA usando uma transformada inversa linear (tal como uma decomposição de valor singular, uma análise de componente de princípio, uma transformada de Karhunen-Loeve, uma transformada de Hotelling, decomposição própria ortogonal, ou uma decomposição de autovalor), como aqui descrito. A decomposição também produz, no caso de uma decomposição de valor singular, vetores S[k] e U[k], que podem ser combinados para formar US[k]. Elementos vetoriais individuais na matriz US[k] podem ser denotados como XPS(k,1).
[0232] Interpolação espaço-temporal pode ser feita em relação ao MVEC(k) e MVEC(k—1) (que denota vetores V de um quadro anterior com vetores individuais de MVEC (k—1) denotados como O método de interpolação espacial é, como um exemplo, controlado por wVEC(l). Após interpolação, o i-gésimo vetor V interpoladoé então multiplicado pelo i-gésimo US[k] (que é denotado como XPS,i (k,l)) para produzir a i-gésima coluna da representação HOAOs vetores de coluna podem então ser considerados para formular a representação HOA dos sinais baseados em vetor. Desta maneira, a representação interpolada decomposta dos coeficientes HOA éobtida para um quadro para realizar uma interpolação em relação acomo descrito com detalhes adicionais a seguir.
[0233] A Figura 4B é um diagrama de blocos ilustrando um outro exemplo do dispositivo de decodificação de áudio 24 com 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 similar ao dispositivo de decodificação de áudio 24 mostrado no exemplo da Figura 4a, exceto que a unidade de decodificação psicoacústica 902 do dispositivo de decodificação de áudio 24' não realiza a reassociação de canal supradescrita. Em vez disso, o dispositivo de codificação de áudio 24' inclui uma unidade de reassociação de canal separada 904 que realiza a reassociação de canal supradescrita. No exemplo da Figura 4B, a unidade de decodificação psicoacústica 902 recebe canais codificados 900 e realiza decodificação psicoacústica em relação aos canais codificados 900 para obter canais decodificados 901. A unidade de decodificação psicoacústica 902 pode enviar o canal decodificado 901 para a unidade de reassociação de canal 904. A unidade de reassociação de canal 904 pode então realizar a reassociação de canal supradescrita em relação ao canal decodificado 901 para obter os coeficientes HOA do ambiente com energia compensada 47' e os sinais nFG 49’ interpolados.
[0234] A unidade de interpolação espaço- temporal 76 pode operar de uma maneira similar à supradescrita em relação à unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 76 pode receber os vetores V[k] de primeiro plano reduzidos 55k e realizar a interpolação espaço-temporal em relação aos vetores V[k] de primeiro plano 55k e os V[-l] vetores de primeiro plano reduzidos 55t-i para gerar vetores V[k] de primeiro plano interpolados 55k”. A unidade de interpolação espaço-temporal 76 pode encaminhar os vetores V[k] de primeiro plano interpolados 55k” para a unidade de desvanecimento 770.
[0235] A unidade de extração 72 pode também produzir um sinal 757 indicativo de quando um dos coeficientes HOA do ambiente está em transição para a unidade de desvanecimento 770, que pode então determinar qual do SHCBG 47' (onde o SHCBG 47' pode também ser denotado como “canais HOA do ambiente 47”' ou “coeficientes HOA do ambiente 47”') e os elementos dos vetores V[k] de primeiro plano interpolados 55k” devem ser tanto apresentados lentamente quanto desvanecidos. Em alguns exemplos, a unidade de desvanecimento 770 pode operar oposta em relação a cada qual dos coeficientes HOA do ambiente 47' e o elementos dos vetores V[k] de primeiro plano interpolados 55k”. Ou seja, a unidade de desvanecimento 770 pode realizar uma apresentação lenta ou desvanecimento, ou tanto uma apresentação lenta quanto um desvanecimento em relação a um correspondente dos coeficientes HOA do ambiente 47', enquanto realiza uma apresentação lenta ou desvanecimento, ou tanto um apresentação lenta quanto desvanecimento, em relação ao correspondente dos elementos dos vetores V[k] de primeiro plano interpolados 55k”. A unidade de desvanecimento 770 pode enviar os coeficientes HOA do ambiente ajustados 47” para a unidade de formulação do coeficiente HOA 82 e vetores V[k] de primeiro plano ajustados 55k’’’ para a unidade de formulação de primeiro plano 78. A este respeito, a unidade de desvanecimento 770 representa uma unidade configurada para realizar uma operação de desvanecimento em relação a vários aspectos dos coeficientes HOA ou derivadas dos mesmos, por exemplo, na forma dos coeficientes HOA do ambiente 47' e dos elementos dos vetores V[k] de primeiro plano interpolados 55k”.
[0236] 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 V[k] de primeiro plano ajustados 55k’’’ e os sinais nFG 49’ interpolados para gerar os coeficientes HOA de primeiro plano 65. A este respeito, a unidade de formulação de primeiro plano 78 pode combinar os objetos de áudio 49' (que são uma outra maneira pela qual se denotam os sinais nFG 49’ interpolados) com os vetores 55k’’’ para reconstruir o primeiro plano ou, em outras palavras, aspectos predominantes dos coeficientes HOA 11'. A unidade de formulação de primeiro plano 78 pode realizar uma multiplicação de matriz dos sinais nFG 49’ interpolados pelos vetores V[k] de primeiro plano ajustados 55k’’’.
[0237] A unidade de formulação do coeficiente HOA 82 pode representar uma unidade configurada para combinar os coeficientes HOA de primeiro plano 65 com os coeficientes HOA do ambiente ajustados 47” de maneira a obter os coeficientes HOA 11'. A notação com asterisco reflete que os coeficientes HOA 11' podem ser similares, mas não iguais, aos coeficientes HOA 11. As diferenças entre os coeficientes HOA 11 e 11' pode resultar de perda por causa da transmissão por um meio de transmissão com perdas, quantização ou outras operações com perda.
[0238] A Figura 5 é um fluxograma ilustrando operação exemplificativa de um dispositivo de codificação de áudio, tal como o dispositivo de codificação de áudio 20 mostrado no exemplo da Figura 3A, na realização de vários aspectos das técnicas de síntese baseadas em vetor descritas nesta revelação. Inicialmente, o dispositivo de codificação de áudio 20 recebe os coeficientes HOA 11 (106). O dispositivo de codificação de áudio 20 pode invocar a unidade LIT 30, que pode aplicar uma LIT em relação aos coeficientes HOA para produzir coeficientes HOA transformados (por exemplo, no caso de SVD, os coeficientes HOA transformados podem compreender os vetores US[K] 33 e os vetores V[k] 35) (107).
[0239] O dispositivo de codificação de áudio 20 pode em seguida invocar a unidade de cálculo de parâmetro 32 para realizar a análise supradescrita em relação a qualquer combinação dos vetores US[K] 33, vetores US[-1] 33, os vetores V[k] e/ou V[-l] 35 para identificar vários parâmetros da maneira supradescrita. Ou seja, a unidade de cálculo de parâmetro 32 pode determinar pelo menos um parâmetro com base em uma análise dos coeficientes HOA transformados 33/35 (108).
[0240] O dispositivo de codificação de áudio 20 pode então invocar a unidade de reordenação 34, que pode reordenar os coeficientes HOA transformados (que, novamente no contexto de SVD, pode se referir aos vetores US[K] 33 e os vetores V[k] 35) com base no parâmetro para gerar coeficientes HOA transformados reordenados 33’/35' (ou, em outras palavras, os vetores US[K] 33' e os vetores V[k] 35'), como descrito anteriormente(109). O dispositivo de codificação de áudio 20 pode, durante qualquer das operações apresentadas ou operações subsequentes, também invocar a unidade de análise de campo acústico 44. A unidade de análise de campo acústico 44 pode, como anteriormente descrito, realizar uma análise de campo acústico em relação aos coeficientes HOA 11 e/ou os coeficientes HOA transformados 33/35 para determinar o número total de canais de primeiro plano (nFG) 45, a ordem do campo acústico de fundo (NBG) e o número (nBGa) e índices (i) de canais HOA BG adicionais para transmitir (que podem coletivamente ser denotados como informações de canal de fundo 43 no exemplo da Figura 3A) (109).
[0241] O dispositivo de codificação de áudio 20 pode também invocar a unidade de seleção de fundo 48. A unidade de seleção de fundo 48 pode determinar coeficientes HOA de fundo ou do ambiente 47 com base nas informações de canal de fundo 43 (110). O dispositivo de codificação de áudio 20 pode adicionalmente invocar a unidade de seleção de primeiro plano 36, que pode selecionar os Vetores US[K] reordenados 33' e os vetores V[k] reordenados 35' que representam componentes do primeiro plano ou distintos do campo acústico com base em nFG 45 (que pode representar um ou mais índices identificando os vetores de primeiro plano) (112).
[0242] O dispositivo de codificaçã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 HOA do ambiente 47 para compensar perda de energia por causa da remoção de vários dos coeficientes HOA pela unidade de seleção de fundo 48 (114) e por meio disto gerar coeficientes HOA do ambiente com energia compensada 47'.
[0243] O dispositivo de codificação de áudio 20 pode também invocar a unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 50 pode realizar interpolação espaço-temporal em relação aos coeficientes HOA transformados reordenados 33735' para obter os sinais de primeiro plano interpolados 49' (que podem também ser referidos como os “sinais nFG interpolados 49”') e as informações direcionais de primeiro plano restante 53 (que pode também ser referidas como vetores “V[k] 53”) (116). O dispositivo de codificaçã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 V[k] de primeiro plano restantes 53 com base nas informações de canal de fundo 43 para obter informações direcionais de primeiro plano reduzida 55 (que podem também ser referidas como os vetores V[k] de primeiro plano reduzidos 55) (118).
[0244] O dispositivo de codificação de áudio 20 pode então invocar a unidade de codificação de vetor V 52 para comprimir, da maneira supradescrita, os vetores V[k] de primeiro plano reduzidos 55 e gerar vetores V[k] de primeiro plano codificados 57 (120).
[0245] O dispositivo de codificação de áudio 20 pode também invocar a unidade de codificação de áudio psicoacústica 40. A unidade de codificação de áudio psicoacústica 40 pode codificar psicoacusticamente cada vetor dos coeficientes HOA do ambiente com energia compensada 47' e os sinais nFG 49’ interpolados para gerar coeficientes HOA do ambiente codificados 59 e sinais nFG codificados 61. O dispositivo de codificação de áudio pode então invocar a 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 codificada 57, nos coeficientes HOA do ambiente codificados 59, nos sinais nFG codificados 61 e nas informações de canal de fundo 43.
[0246] A Figura 6 é um fluxograma ilustrando 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, na realização de vários 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 recepção do fluxo de bits, o dispositivo de decodificação de áudio 24 pode invocar a unidade de extração 72. Considerando com propósitos de discussão que o fluxo de bits 21 indica que reconstrução baseada em vetor tem que ser feita, a unidade de extração 72 pode analisar o fluxo de bits para recuperar as informações supranotadas, passando as informações para a unidade de reconstrução baseada em vetor 92.
[0247] Em outras palavras, a unidade de extração 72 pode extrair as informações direcional de primeiro plano codificada 57 (que, novamente, pode também ser referida como os vetores V[k] de primeiro plano codificados 57), os coeficientes HOA do ambiente codificados 59 e os sinais de primeiro plano codificados (que podem também ser referidos como os sinais nFG de primeiro plano codificados 59 ou os objetos de áudio de primeiro plano codificados 59) do fluxo de bits 21 da maneira supradescrita (132).
[0248] O dispositivo de decodificação de áudio 24 pode adicionalmente invocar a unidade de desquantização 74. A unidade de desquantização 74 pode decodificar e desquantizar entropicamente 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 pode também invocar a unidade de decodificação psicoacústica 80. A unidade de decodificação de áudio psicoacústica 80 pode decodificar os coeficientes HOA do ambiente codificados 59 e os sinais de primeiro plano codificados 61 para obter coeficientes HOA do ambiente com energia compensada 47' e os sinais de primeiro plano interpolados 49' (138). A unidade de decodificação psicoacústica 80 pode passar os coeficientes HOA do ambiente com energia compensada 47' para a unidade de desvanecimento 770 e os sinais nFG 49' para a unidade de formulação de primeiro plano 78.
[0249] O dispositivo de decodificação de áudio 24 pode em seguida 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-i 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 V[k] de primeiro plano interpolados 55k” para a unidade de desvanecimento 770.
[0250] O dispositivo de decodificação de áudio 24 pode invocar a unidade de desvanecimento 770. A unidade de desvanecimento 770 pode receber ou senão obter elementos de sintaxe (por exemplo, da unidade de extração 72) indicativos de quando os coeficientes HOA do ambiente com energia compensada 47' estão em transição (por exemplo, o elemento de sintaxe AmbCoefiTransition). A unidade de desvanecimento 770 pode, com base nos elementos de sintaxe de transição e nas informações do estado de transição mantidas, apresentar lentamente ou desvanecer os coeficientes HOA do ambiente com energia compensada 47' produzindo coeficientes HOA do ambiente ajustados 47” para a unidade de formulação do coeficiente HOA 82. A unidade de desvanecimento 770 pode também, com base nos elementos de sintaxe e na informação do estado de transição mantida, e desvanecer ou aparecer lentamente com um ou mais elementos dos vetores V[k] de primeiro plano interpolados correspondentes 55k” enviar os vetores V[k] de primeiro plano ajustados 55k’’’ para a unidade de formulação de primeiro plano 78 (142).
[0251] 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 nFG 49' para as informações direcionais de primeiro plano ajustada 55k’’’ para obter os coeficientes HOA de primeiro plano 65 (144). O dispositivo de decodificação de áudio 24 pode também invocar a unidade de formulação do coeficiente HOA 82. A unidade de formulação do coeficiente HOA 82 pode adicionar os coeficientes HOA de primeiro plano 65 nos coeficientes HOA do ambiente ajustados 47” de maneira a obter os coeficientes HOA 11' (146).
[0252] A Figura 7 é um diagrama de blocos ilustrando, com mais detalhes, uma unidade de codificação de vetor V de exemplo 52 que pode ser usada no dispositivo de codificaçã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 dos vetores V[k] de primeiro plano 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 pesos 506 à unidade de quantização 504. A unidade de quantização 504 pode quantizar os pesos 506 para gerar os pesos codificados 57.
[0253] A Figura 8 é um diagrama de blocos ilustrando, com mais detalhes, uma unidade de codificação de vetor V de exemplo 52 que pode ser usada no dispositivo de codificaçã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 dos vetores V[k] de primeiro plano 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 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 a 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.
[0254] A Figura 9 é um diagrama conceitual ilustrando um campo acústico gerado a partir de um vetor V. A Figura 10 é um diagrama conceitual ilustrando um campo acústico gerado a partir de um modelo de 25a ordem do vetor V descrito acima em relação à Figura 9. A Figura 11 é um diagrama conceitual ilustrando a ponderação de cada ordem para o modelo de 25a ordem mostrado na Figura 10. A Figura 12 é um diagrama conceitual ilustrando um modelo de 5a ordem do vetor V descrito acima em relação à Figura 9. A Figura 13 é um diagrama conceitual ilustrando a ponderação de cada ordem para o modelo de 5a ordem mostrado na Figura 12.
[0255] A Figura 14 é um diagrama conceitual ilustrando dimensões de exemplo de matrizes de exemplo usadas para realizar decomposição de valor singular. Como mostrado na Figura 14, uma matriz UFG é incluída em uma matriz U, uma matriz SFG é incluída em uma matriz S, e uma matriz VFGT é incluída em uma matriz VT.
[0256] Nas matrizes de exemplo da Figura 14, a matriz UFG tem dimensões 1280 por 2, onde 1280 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 1280 por 25, onde 1280 corresponde ao número de amostras e 25 corresponde ao número de canais no sinal de áudio HOA. O número de canais pode ser igual a (N+1)2, onde N é igual à ordem do sinal de áudio HOA.
[0257] A matriz SFG tem dimensões 2 por 2 onde cada 2 corresponde ao número de vetores de primeiro plano selecionado para codificação de primeiro plano. A matriz S tem dimensões de 25 por 25 onde cada 25 corresponde ao número de canais no sinal de áudio HOA.
[0258] A matriz VFGT tem dimensões 25 por 2 onde 25 corresponde ao número de canais no sinal de áudio 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 onde cada 25 corresponde ao número de canais no sinal de áudio HOA.
[0259] Como mostrado na Figura 14, a matriz UFG, a matriz SFG e a matriz VFGT podem ser multiplicadas entre si para gerar uma matriz HFG. A matriz HFG tem dimensões de 1280 por 25 onde 1280 corresponde ao número de amostras, e 25 corresponde ao número de canais no sinal de áudio HOA.
[0260] A Figura 15 é um gráfico ilustrando melhorias de desempenho de exemplo que podem ser obtidas usando as técnicas de codificação de vetor V desta revelação. Cada fileira representa um item de teste, e as colunas indicam da esquerda para direita o número do item de teste, o nome do item de teste, os bits por quadro associados com o item de teste, a taxa de bits usando um ou mais das técnicas de codificação de vetor V de exemplo desta revelação, e a taxa de bits obtida usando outras técnicas de codificação de vetor V (por exemplo, quantização escalar dos componentes do vetor V sem decompor o vetor V). Como mostrado na Figura 15, as técnicas desta revelação podem, em alguns exemplos, proporcionar melhorias significantes na taxa de bits em relação a outras técnicas que não decompõem vetores V em pesos e/ou seleciona um subconjunto dos pesos para quantizar.
[0261] 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 ortogonais entre si, 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-máximos valores de ponderação, {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 e/ou vetores direcionais selecionados. Em alguns exemplos, durante cálculo do máximo, a unidade de codificação de vetor V 52 pode usar valores absolutos (desprezando as informações de sinal). A unidade de codificação de vetor V 52 pode quantizar os N-máximos valores de ponderação, {w_i}, para gerar valores de ponderação quantizados {wA_i}. A unidade de codificação de vetor V 52 pode transmitir os índices de quantização para {wA_i} para o decodificador. No decodificador, o vetor V quantizado pode ser sintetizado como sum_i (wA_i * o_i)
[0262] Em alguns exemplos, as técnicas desta revelação podem fornecer uma melhoria significante no desempenho. Por exemplo, comparado com o uso de quantização escalar seguida por codificação de Huffman, uma redução de aproximadamente 85% na taxa de bits pode ser obtida. Por exemplo, quantização escalar seguida por codificação de Huffman pode, em alguns exemplos, exigir uma taxa de bits de 16.26kbps (kilo bits por segundo) enquanto as técnicas desta revelação podem, em alguns exemplos, ser capazes de codificar na taxa de bits de 2.75kbsp.
[0263] Considere um exemplo onde 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 maneira tal que cada vetor V é representado por 3 categorias de parâmetros: (1) X número de índices cada qual apontando para um vetor 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 citados; e (3) um bit de sinal para cada um dos (X) números de pesos citados. Em alguns casos, os X números de pesos podem ser adicionalmente quantizados usando também uma outra quantização vetorial (VQ).
[0264] O livro de código de decomposição usado para determinar os pesos neste 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 diferentes livros de código. Cada desses livros de código pode ter diferentes comprimentos. Assim, por exemplo, não somente um livro de código de tamanho 49 pode ser usado para determinar pesos para conteúdo HOA de 6a ordem, mas as técnicas desta revelação podem dar a opção de usar qualquer um de 8 livros de código de diferentes tamanhos.
[0265] O livro de código de quantização usado para o VQ dos pesos pode, em alguns exemplos, também ter o mesmo número correspondente de possíveis livros de código que o número de possíveis livros de código de decomposição usados para determinar os pesos. Assim, em alguns exemplos, pode haver um número variável de diferentes livros de código para determinar os pesos e um número variável de livros de código para quantizar os pesos.
[0266] Em alguns exemplos, o número de pesos usados 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 limiar de erro pode ser estabelecido, e o número (X) de pesos selecionados para quantização pode depender de atingir o limiar de erro onde o limiar de erro é anteriormente definido na equação (10).
[0267] Em alguns exemplos, um ou mais dos conceitos supramencionados podem ser sinalizados em um fluxo de bits. Considere um exemplo onde o máximo número de pesos usados para codificar vetores V é estabelecido em 128 pesos, e oito diferentes livros de código de quantização são usados para quantizar os pesos. Em um exemplo como este, a unidade de geração de fluxo de bits 42 pode gerar o fluxo de bits 21 de maneira tal que uma unidade de quadro de acesso no fluxo de bits 21 indica o máximo número de índices que pode ser usado com base em quadro por quadro. Neste exemplo, o máximo número de índices é um número de 0128, e assim os dados supramencionados podem consumir 7 bits na unidade de quadro de acesso.
[0268] No exemplo supramencionado, em uma base 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 dos 8 diferentes livros de código foi usado para fazer o VQ (para cada vetor V); e (2) o número real de índices (X) usado para codificar cada vetor V. O dados indicativos de qual dos 8 diferente livros de código foi usado para fazer o VQ pode consumir 3 bits neste exemplo. Os dados indicativos do número real de índices (X) usado para codificar cada vetor V pode ser dado pelo máximo número de índices especificado na unidade de quadro de acesso. Isto pode variar de 0 bit a 7 bits neste exemplo.
[0269] 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 valores de ponderação calculados); e (2) valor(s) 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 usando uma decomposição em um livro de código de vetores de código harmônicos esféricos normalizados.
[0270] A Figura 17 é um diagrama ilustrando 16 diferentes vetores de código 63A-63P representados em um domínio espacial que pode ser usado pela unidade de codificação de vetor V 52 mostrada no exemplo de qualquer ou ambas as Figuras 7 e 8. Os vetores de código 63A-63P podem representar um ou mais dos vetores de código 63 discutidos anteriormente.
[0271] A Figura 18 é um diagrama ilustrando diferentes maneiras pelas quais os 16 diferentes vetores de código 63A-63P podem ser empregados pela Unidade de codificação de vetor V 52 mostrada no exemplo de qualquer ou ambas as Figuras 7 e 8. A unidade de codificação de vetor V 52 pode receber um dos vetores V[k] de primeiro plano reduzidos 55, que está mostrado depois de ser renderizado para o domínio espacial e é denotado com vetor V 55. A unidade de codificação de vetor V 52 pode realizar a quantização vetorial supradiscutida para produzir três diferentes versões codificadas do vetor V 55. As três diferentes versões codificadas do vetor V 55 são mostradas depois de ser renderizadas para o domínio espacial e são denotadas 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 dos vetores V codificados 57A a 57C como um dos vetores V[k] de primeiro plano codificados 57 correspondente ao vetor V 55.
[0272] A unidade de codificação de vetor V 52 pode gerar cada um dos vetores V codificados 57A a 57C com base em vetores de código 63A-63P (“vetores de código 63”) mostrados com mais 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 16 dos vetores de código 63 como mostrado no gráfico 300A onde todos os 16 índices são especificados junto 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 encerrados na caixa quadrada e associados com os índices 2, 6 e 7 como mostrado no gráfico 300B dado que os outros índices têm uma ponderação de zero). A unidade de codificação de vetor V 52 pode gerar o vetor V codificado 57C usando os mesmos três vetores de código 63 daqueles usados durante geração do vetor V codificado 57B, exceto que o vetor V original 55 é primeiro quantizado.
[0273] Revisando as renderizações dos vetores V codificados 57A a 57C em comparação com o vetor V original 55 ilustra que quantização vetorial pode fornecer uma representação do vetor V original substancialmente similar 55 (significando que o erro entre cada um dos vetores V codificados 57A a 57C é provavelmente pequeno). Comparação de vetores V codificados 57A a 57C um com o outro também revela que existem apenas diferenças menores ou leves. Como tal, um dos vetores V codificados 57A a 57C que promove a melhor redução de bits provavelmente é um dos vetores V codificados 57A a 57C que a unidade de codificação de vetor V 52 pode selecionar. Dado que o vetor V codificado 57C fornece a menor taxa de bits mais provavelmente (dado que o vetor V codificado 57C utiliza uma versão quantizada do vetor V 55 ainda também usando somente 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 aquele dos vetores V[k] de primeiro plano codificados 57 correspondente ao vetor V 55.
[0274] A Figura 21 é um diagrama de blocos ilustrando uma unidade de quantização vetorial de exemplo 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 codificação de áudio 20 da Figura 3A ou no dispositivo de codificaçã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 ordenamento de peso 524, e uma unidade de seleção de vetor 526. A unidade de decomposição 522 pode decompor cada um dos vetores V[k] de primeiro plano 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 valores de peso 528 à unidade de seleção e ordenamento de peso 524.
[0275] A unidade de seleção e ordenamento 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 ordenamento de peso 524 pode selecionar os M valores de peso de máxima magnitude a partir do conjunto de valores de peso 528. A unidade de seleção e ordenamento de peso 524 pode adicionalmente reordenar o subconjunto selecionado de valores de peso com base em magnitudes dos valores de peso para gerar um subconjunto selecionado reordenado de valores de peso 530, e fornecer subconjunto selecionado reordenado de valores de peso 530 à unidade de seleção de vetor 526.
[0276] A unidade de seleção de vetor 526 pode selecionar um vetor de M componentes 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 vetorialmente M valores de peso. Em alguns exemplos, M pode corresponder ao número de valores de peso selecionado pela unidade de seleção e ordenamento de peso 524 para representar um único vetor V. A unidade de seleção de vetor 526 pode gerar dados indicativos do vetor de M componentes selecionados para representar os M valores de peso, e fornecer estes dados à 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 M componentes que são indexados, e os dados indicativos do vetor de M componentes pode 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 similarmente indexado para decodificar o valor de índice.
[0277] A Figura 22 é um fluxograma ilustrando operação exemplificativa da unidade de quantização vetorial na realização de vários aspectos das técnicas descritas nesta revelação. Como anteriormente descrito 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 ordenamento de peso 524, e uma unidade de seleção de vetor 526. A unidade de decomposição 522 pode decompor cada um dos vetores V[k] de primeiro plano 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 valores de peso 528 à unidade de seleção e ordenamento de peso 524 (752).
[0278] A unidade de seleção e ordenamento 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 ordenamento 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 ordenamento de peso 524 pode adicionalmente reordenar o subconjunto selecionado de valores de peso com base em 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 à unidade de seleção de vetor 526 (756).
[0279] A unidade de seleção de vetor 526 pode selecionar um vetor de M componentes 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 vetorialmente M valores de peso (758). Em alguns exemplos, M pode corresponder ao número de valores de peso selecionados pela unidade de seleção e ordenamento de peso 524 para representar um único vetor V. A unidade de seleção de vetor 526 pode gerar dados indicativos do vetor de M componentes selecionado para representar os M valores de peso, e fornecer estes dados à 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 M componentes que são indexados, e os dados indicativos do Vetor de M componentes pode 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 similarmente indexado para decodificar o valor de índice.
[0280] A Figura 23 é um fluxograma ilustrando operação exemplificativa da unidade de reconstrução do vetor V na realização de vários aspectos das técnicas descritas nesta revelação. A unidade de reconstrução do vetor V 74 das Figuras 4A ou 4B pode primeiro obter os valores de peso, por exemplo, a partir da unidade de extração 72 depois de ser analisada a partir do fluxo de bits 21 (760). A unidade de reconstrução do vetor V 74 pode também obter vetores de código, por exemplo, a partir de um livro de código usando um índice sinalizado no fluxo de bits 21 da maneira supradescrita (762). A unidade de reconstrução do vetor V 74 pode então reconstruir os vetores V[k] de primeiro plano reduzidos (que podem também ser referidos como os vetores V) 55 com base nos valores de peso e nos vetores de código de uma ou mais das várias maneiras supradescritas (764).
[0281] A Figura 24 é um fluxograma ilustrando operação exemplificativa da unidade de codificação de vetor V das Figuras 3A ou 3B na realização de vários 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 pode também ser referida como uma taxa de bits limiar) 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 aplicar, e então aplica 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 do vetor V 52 pode determinar aplicar, e então aplica quantização vetorial aos vetores V 55 (776). A unidade de codificação de vetor V 52 pode também sinalizar no fluxo de bits 21 que quantização escalar ou vetorial foi realizada em relação aos vetores V 55 (778).
[0282] A Figura 25 é um fluxograma ilustrando operação exemplificativa da unidade de reconstrução do vetor V na realização de vários aspectos das técnicas descritas nesta revelação. A unidade de reconstrução do vetor V 74 das Figuras 4A ou 4B pode primeiro obter uma indicação (tal como um elemento de sintaxe) 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 do 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 feita (“SIM” 782), a unidade de reconstrução do vetor V 74 pode realizar desquantização escalar para reconstruir os vetores V 55 (786).
[0283] A Figura 26 é um fluxograma ilustrando operação exemplificativa da unidade de codificação de vetor V das Figuras 3A ou 3B na realização de vários aspectos das técnicas descritas nesta revelação. A unidade de codificação de vetor V 52 pode selecionar um de uma pluralidade (significando dois ou mais) livros de código para usar durante quantização vetorial dos vetores V 55 (790). A unidade de codificação de vetor V 52 pode então realizar quantização vetorial da maneira supradescrita em relação aos vetores V 55 usando o selecionado de dois ou mais livros de código (792). A unidade de codificação de vetor V 52 pode então indicar ou senão sinalizar que um dos dois ou mais livros de código foi usado na quantização do vetor V 55 no fluxo de bits 21 (794).
[0284] A Figura 27 é um fluxograma ilustrando operação exemplificativa da unidade de reconstrução do vetor V na realização de vários aspectos das técnicas descritas nesta revelação. A unidade de reconstrução do vetor V 74 das Figuras 4A ou 4B pode primeiro obter uma indicação (tal como um elemento de sintaxe) de um de dois ou mais livros de código usados durante quantização vetorial de um vetor V 55 (800). A unidade de reconstrução do vetor V 74 pode então realizar desquantização vetorial para reconstruir o vetor V 55 usando o selecionado dos dois ou mais livros de código da maneira supradescrita (802).
[0285] Vários aspectos das técnicas podem fornecer um dispositivo apresentado nas cláusulas seguintes:
[0286] Cláusula 1. Um dispositivo compreendendo meios para armazenar uma pluralidade de livros de código para usar durante a realização de quantização vetorial em relação a um componente espacial de um campo acústico, o componente espacial obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem superior, e meios para selecionar um da pluralidade de livros de código.
[0287] Cláusula 2. O dispositivo da cláusula 1, adicionalmente compreendendo meios para especificar um elemento de sintaxe em um fluxo de bits que inclui o componente espacial vetorialmente quantizado, o elemento de sintaxe identificando um índice no selecionado da pluralidade de livros de código com um valor de peso usado durante a realização da quantização vetorial do componente espacial.
[0288] Cláusula 3. O dispositivo da cláusula 1, adicionalmente compreendendo meios para especificar um elemento de sintaxe em um fluxo de bits que inclui o componente espacial vetorialmente quantizado, o elemento de sintaxe identificando um índice em um vetor dicionário com um vetor de código usado durante a realização da quantização vetorial do componente espacial.
[0289] Cláusula 4. O método da cláusula 1, em que os meios para selecionar um de uma pluralidade de livros de código compreende meios para selecionar um da pluralidade de livros de código com base em inúmeros vetores de código usados durante a realização da quantização vetorial.
[0290] Vários aspectos das técnicas podem também fornecer um dispositivo apresentado nas cláusulas seguintes:
[0291] Cláusula 5. Um aparelho compreendendo meios para realizar uma decomposição em relação a uma pluralidade de coeficientes ambissônicos de ordem superior (HOA) para gerar uma versão decomposta dos coeficientes 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 é incluído na versão decomposta dos coeficientes HOA, sendo que cada um dos valores de peso corresponde a um respectivo de uma pluralidade de pesos incluída em uma soma ponderada dos vetores de código que representa o vetor.
[0292] Cláusula 6. O aparelho da cláusula 5, adicionalmente compreendendo meios para selecionar um livro de código de decomposição a partir de um conjunto de livros de código de decomposição candidatos, em que os meios para determinar, com base no conjunto de vetores de código, 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.
[0293] Cláusula 7. O aparelho da cláusula 6, em que cada um dos livros de código de decomposição candidatos inclui uma pluralidade de vetores de código, e em que pelo menos dois dos livros de código de decomposição candidatos tem um número diferente de vetores de código.
[0294] Cláusula 8. O aparelho da reivindicação 5, adicionalmente compreendendo 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 correspondentes a cada um dos índices.
[0295] Qualquer das técnicas apresentadas pode ser realizada em relação a qualquer número de diferentes contextos e ecossistemas de áudio. Inúmeros contextos de exemplo são descritos a seguir, embora as técnicas devam ser limitadas aos contextos de exemplo. Um ecossistema de áudio de exemplo pode incluir conteúdo de áudio, estúdio de cinemas, estúdios de música, estúdios de áudio de jogos, conteúdo de áudio baseado em canal, motores de codificação, troncos de áudio de jogos, motores de codificação / renderização de áudio de jogos, e sistemas de entrega.
[0296] Os estúdios de cinema, os estúdios de música, e os estúdios de áudio de jogos podem receber conteúdo de áudio. Em alguns exemplos, o conteúdo de áudio pode representar a saída de uma aquisição. Os estúdios de cinemas podem produzir conteúdo de áudio baseado em canal (por exemplo, em 2.0, 5.1 e 7.1) tal como usando uma estação de trabalho de áudio digital (DAW). Os estúdios de música podem produzir conteúdo de áudio baseado em canal (por exemplo, em 2.0 e 5.1) tal como usando um DAW. Em qualquer caso, os motores de codificação podem receber e codificar o conteúdo de áudio baseado em canal com base em um ou mais codecs (por exemplo, AAC, AC3, Dolby True HD, Dolby Digital Plus, e DTS Master Audio) para produção pelos sistemas de entrega. Os estúdios de áudio de jogos podem produzir um ou mais troncos de áudio de jogos, tal como usando um DAW. Os motores de codificação / renderização de áudio de jogos podem codificar e ou renderizar os troncos de áudio em conteúdo de áudio baseado em canal para produzir para sistemas de entrega. Um outro contexto de exemplo no qual as técnicas podem ser realizadas compreende um ecossistema de áudio que pode incluir objetos de áudio de gravação de difusão, sistemas de áudio profissionais, captura no dispositivo do consumidor, formato de áudio HOA, renderização no dispositivo, áudio de consumidor, TV, e acessórios, e sistemas de áudio automotivos.
[0297] Os objetos de áudio de gravação de difusão, os sistemas de áudio profissionais, e a captura no dispositivo do consumidor pode todos codificar sua saída usando formato de áudio HOA. Desta maneira, o conteúdo de áudio pode ser codificado usando o formato de áudio HOA em uma única representação que pode reproduzida usando a renderização no dispositivo, o áudio de consumidor, TV, e acessórios, e os sistemas de áudio automotivos. Em outras palavras, a única representação do conteúdo de áudio pode ser reproduzida em um sistema de reprodução de áudio genérico (isto é, ao contrário de exigir uma configuração particular tais como 5.1, 7.1, etc.), tal como um sistema de reprodução de áudio 16.
[0298] Outros exemplos de contexto nos quais 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 físicos e/ou sem fio (por exemplo, microfones Eigen), captura de som ambiente no dispositivo, e dispositivos móveis (por exemplo, telefones inteligentes e mesas digitadoras). Em alguns exemplos, dispositivos de aquisição físicos e/ou sem fio podem ser acoplados em dispositivo móvel por meio de canal(s) de comunicação físico(s) e/ou sem fio.
[0299] De acordo com uma ou mais técnicas desta revelação, o dispositivo móvel pode ser usado para adquirir um campo acústico. Por exemplo, o dispositivo móvel pode adquirir um campo acústico por meio dos dispositivos de aquisição físicos e/ou sem fio e/ou da captura de som ambiente no dispositivo (por exemplo, uma pluralidade de microfones integrada no dispositivo móvel). O dispositivo móvel pode então codificar o campo acústico adquirido nos coeficientes HOA para reprodução por um ou mais dos elementos de reprodução. Por exemplo, um usuário do dispositivo móvel pode gravar (adquirir um campo acústico) um evento ao vivo (por exemplo, uma reunião, uma conferência, um jogo, um concerto, etc.), e codificar a gravação em coeficientes HOA.
[0300] O dispositivo móvel pode também utilizar um ou mais dos elementos de reprodução para reproduzir o campo acústico HOA codificado. Por exemplo, o dispositivo móvel pode decodificar o campo acústico HOA codificado e produzir um sinal para um ou mais dos elementos de reprodução que faz com que um ou mais dos elementos de reprodução recriem o campo acústico. Como um exemplo, o dispositivo móvel pode utilizar os canais de comunicação físicos e/ou sem fio para produzir o sinal para um ou mais alto-falantes (por exemplo, arranjos de alto- falantes, barras de som, etc.). Como um outro exemplo, o dispositivo móvel pode utilizar soluções de ancoragem para produzir o sinal para uma ou mais estações de ancoragem e/ou um ou mais alto-falantes ancorados (por exemplo, sistemas de som em caros e/ou casas inteligentes). Como um outro exemplo, o dispositivo móvel pode utilizar renderização de fone de ouvido para produzir o sinal para um conjunto de fones de ouvido, por exemplo, para criar som binaural realístico.
[0301] Em alguns exemplos, um dispositivo móvel particular pode tanto adquirir um campo acústico 3D quanto reproduzir o mesmo campo acústico 3D em um momento posterior. Em alguns exemplos, o dispositivo móvel pode adquirir um campo acústico 3D, codificar o campo acústico 3D em HOA, e transmitir o campo acústico 3D codificado para um ou mais outros dispositivos (por exemplo, outros dispositivos móveis e/ou outros dispositivos não móveis) para reprodução.
[0302] Também um outro contexto no qual as técnicas podem ser realizada inclui um ecossistema de áudio que pode incluir conteúdo de áudio, estúdios de jogos, conteúdo de áudio codificado, motores de renderização e sistemas de entrega. Em alguns exemplos, os estúdios de jogos podem incluir um ou mais DAWs que podem suportar edição de sinais HOA. Por exemplo, um ou mais DAWs podem incluir plugins HOA e/ou ferramentas que podem ser configuradas para operar (por exemplo, trabalhar) com um ou mais sistemas de áudio de jogos. Em alguns exemplos, os estúdios de jogos podem produzir novos formatos de tronco que suportam HOA. Em qualquer caso, os estúdios de jogos podem produzir conteúdo de áudio codificado para os motores de renderização que podem renderizar um campo acústico para reprodução para os sistemas de entrega.
[0303] As técnicas podem também 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 Eigen que pode incluir uma pluralidade de microfones que são coletivamente configurados para gravar um campo acústico 3D. Em alguns exemplos, a pluralidade de microfones de microfone Eigen pode ser localizada na superfície de um esfera substancialmente esférica com um raio de aproximadamente 4cm. Em alguns exemplos, o dispositivo de codificação de áudio 20 pode ser integrado no microfone Eigen de maneira a produzir um fluxo de bits 21 diretamente a partir do microfone.
[0304] Um outro contexto de aquisição de áudio exemplificativo pode incluir um caminhão de produção que pode ser configurado para receber um sinal proveniente de um ou mais microfones, tal como um ou mais microfones Eigen. O caminhão de produção pode também incluir um codificador de áudio, tal como o codificador de áudio 20 da Figura 3A.
[0305] O dispositivo móvel pode também, em alguns casos, incluir uma pluralidade de microfones que são coletivamente configurados para gravar um campo acústico 3D. Em outras palavras, a pluralidade de microfone pode ter diversidade X, Y, Z. Em alguns exemplos, o dispositivo móvel pode incluir um microfone que pode ser rotacionado para fornecer diversidade X, Y, Z em relação a um ou mais outros microfones do dispositivo móvel. O dispositivo móvel pode também incluir um codificador de áudio, tal como o codificador de áudio 20 da Figura 3A.
[0306] Um dispositivo de captura de vídeo Rugged pode adicionalmente ser configurado para gravar um campo acústico 3D. Em alguns exemplos, o dispositivo de captura de vídeo Rugged pode ser anexado a um capacete de um usuário posto em atividade. Por exemplo, o dispositivo de captura de vídeo Rugged pode ser anexado a um capacete de um usuário viajando em água branca. Desta maneira, o dispositivo de captura de vídeo Rugged pode capturar um campo acústico 3D que representa a ação em volta do usuário (por exemplo, colisão de água detrás do usuário, um outro Rafter falando na frente do usuário, etc.).
[0307] As técnicas podem também ser realizadas em relação a um dispositivo móvel melhorado de acessório, que pode ser configurado para gravar um campo acústico 3D. Em alguns exemplos, o dispositivo móvel pode ser similar aos dispositivos móveis discutidos anteriormente, com a adição de um ou mais acessórios. Por exemplo, um microfone Eigen pode ser anexado no dispositivo móvel supranotado para formar um dispositivo móvel melhorado de acessório. Desta maneira, o dispositivo móvel melhorado de acessório pode capturar uma versão de campo acústico 3D de melhor qualidade do que apenas usando componentes de captura de som integral com o dispositivo móvel melhorado de acessório.
[0308] Dispositivos de reprodução de áudio de exemplo que podem realizar vários aspectos das técnicas descritas nesta revelação são adicionalmente discutidos a seguir. De acordo com uma ou mais técnicas desta revelação, alto-falantes e/ou barras de som podem ser arranjadas em qualquer configuração arbitrária, ainda reproduzindo um campo acústico 3D. Além disso, em alguns exemplos, dispositivos de reprodução de fone de ouvido podem ser acoplados a um decodificador 24 tanto por meio de uma conexão física quanto sem fio connection. De acordo com uma ou mais técnicas desta revelação, uma única representação genérica de um campo acústico pode ser utilizada para renderizar o campo acústico em qualquer combinação dos alto-falantes, as barras de som, e os dispositivos de reprodução de fone de ouvido.
[0309] Inúmeros diferentes ambientes de reprodução de áudio de exemplo podem também ser adequados para realizar vários aspectos das técnicas descritas nesta revelação. Por exemplo, um ambiente de reprodução de alto- falante 5.1, um ambiente de reprodução de alto-falante 2.0 (por exemplo, estéreo), um ambiente de reprodução de alto- falante 9.1 com alto-falantes frontais de altura total, um ambiente de reprodução de alto-falante 22.2, um ambiente de reprodução de alto-falante 16.0, um ambiente de reprodução de alto-falante automotivo, e um dispositivo móvel com ambiente de reprodução de fone de ouvido miniatura podem ser ambientes adequados para realizar vários aspectos das técnicas descritas nesta revelação.
[0310] De acordo com uma ou mais técnicas desta revelação, uma única representação genérica de um campo acústico pode ser utilizada para renderizar o campo acústico em qualquer dos ambientes de reprodução apresentados. Adicionalmente, as técnicas desta revelação permitem que um renderizado renderize um campo acústico a partir de uma representação genérica para reprodução nos ambientes de reprodução além do descrito acima. Por exemplo, se considerações de projeto proibirem colocação adequada de alto-falantes de acordo com um ambiente de reprodução de alto-falante 7.1 (por exemplo, se não for possível colocar um alto-falante ambiente direito), as técnicas desta revelação permitem que uma renderização compense os outros 6 alto-falantes de maneira tal que a reprodução possa ser obtida em um ambiente de reprodução de alto-falante 6.1.
[0311] Além disso, um usuário pode assistir a um jogo esportivo enquanto usa fones de ouvido. De acordo com uma ou mais técnicas desta revelação, o campo acústico 3D do jogo esportivo pode ser adquirido (por exemplo, um ou mais microfones Eigen podem ser colocados no e/ou em torno do estádio de baseball), coeficientes HOA correspondentes ao campo acústico 3D podem ser obtidos e transmitidos para um decodificador, o decodificador pode reconstruir o campo acústico 3D com base nos coeficientes HOA e produzir o campo acústico 3D reconstruído para um renderizador, o renderizador pode obter uma indicação do tipo de ambiente de reprodução (por exemplo, fones de ouvido), e renderizar o campo acústico 3D reconstruído em sinais que fazem com que os fones de ouvido produzam uma representação do campo acústico 3D do jogo esportivo.
[0312] Em cada uma das várias instâncias supradescritas, deve-se entender que o dispositivo de codificação de áudio 20 pode realizar um método ou senão compreender meios para realizar cada etapa do método para o qual o dispositivo de codificação de áudio 20 é configurado para realizar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, um ou mais processadores podem representar um processador de uso especial configurado por meio de instruções armazenadas em uma mídia de armazenamento legível por computador não transitória. Em outras palavras, vários aspectos das técnicas em cada um dos conjuntos de exemplos de codificação podem fornecer uma mídia de armazenamento legível por computador não transitória tendo armazenado nela instruções que, quando executadas, fazem com que um ou mais processadores realizem o método para o qual o dispositivo de codificação de áudio 20 foi configurado para operar.
[0313] Em um ou mais exemplos, as funções descritas podem ser implementadas em hardware, software, firmware, ou qualquer combinação das mesmas. Se implementada em software, as funções podem ser armazenadas ou transmitidas por uma ou mais instruções ou código em uma mídia legível por computador e executadas por uma unidade de processamento baseada em hardware. Mídia legível por computador pode incluir mídia de armazenamento legível por computador, que corresponde a uma mídia tangível tal como mídia de armazenamento de dados. Mídia de armazenamento de dados pode ser qualquer mídia disponível que pode ser acessada por um ou mais computadores ou um ou mais processadores para recuperar instruções, código e/ou estruturas de dados para implantação das técnicas descritas nesta revelação. Um produto programa de computador pode incluir uma mídia legível por computador.
[0314] Similarmente, em cada uma das várias instâncias supradescritas, deve-se entender que o dispositivo de decodificação de áudio 24 pode realizar um método ou senão compreender meios para realizar cada etapa do método para o qual o dispositivo de decodificação de áudio 24 é configurado para operar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, um ou mais processadores podem representar um processador de uso especial configurado por meio de instruções armazenadas em uma mídia de armazenamento legível por computador não transitória. Em outras palavras, vários aspectos das técnicas em cada um dos conjuntos de exemplos de codificação podem fornecer uma mídia de armazenamento legível por computador não transitória com instruções armazenadas nela que, quando executadas, fazem com que um ou mais processadores realizem o método para o qual o dispositivo de decodificação de áudio 24 foi configurado para operar.
[0315] A título de exemplo, e não de limitação, tal mídia de armazenamento legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco ótico, armazenamento de disco magnético, ou outros dispositivos de armazenamento magnéticos, memória flash, ou qualquer outra mídia que pode ser usada para armazenar código de programa desejado na forma de instruções ou estruturas de dados e que pode ser acessado por um computador. Deve-se entender, entretanto, que mídia de armazenamento legível por computador e mídia de armazenamento de dados não incluem conexões, ondas portadoras, sinais, ou outra mídia transitória, mas são em vez disso direcionadas para mídia de armazenamento tangível não transitória. Disco (magnético) e disco (ótico), da forma aqui usada, incluem disco compacto (CD), disco laser, disco ótico, disco versátil digital (DVD), disco flexível e disco Blu-ray, onde discos (magnéticos) normalmente reproduzem dados magneticamente, enquanto discos (óticos) reproduzem dados oticamente com lasers. Combinações dos citados devem também ser incluídos no escopo de mídia legível por computador.
[0316] Instruções podem ser executadas por um ou mais processadores, tal como um ou mais processadores de sinal digital (DSPs), microprocessadores de uso geral, circuitos integrados específicos da aplicação (ASICs), arranjos lógicos programáveis no campo (FPGAs), ou outro conjunto de circuitos lógicos integrados ou discretos equivalentes. Dessa maneira, o termo “processador”, da forma aqui usada, pode se referir a qualquer das estruturas apresentadas ou qualquer outra estrutura adequada para implantação das técnicas descritas aqui. Além do mais, em alguns aspectos, a funcionalidade descrita aqui pode ser fornecida em módulos de hardware e/ou software dedicados configurados para codificar e decodificar, ou incorporados em um codec combinado. Também, as técnicas poderiam ser completamente implementadas em um ou mais circuitos ou elementos lógicos.
[0317] As técnicas desta revelação podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, incluindo um fone de ouvido sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chip). Vários componentes, módulos ou unidades são descritos nesta revelação para enfatizar aspectos funcionais de dispositivos configurados para realizar as técnicas reveladas, mas não exigem necessariamente realização por diferentes unidades de hardware. Em vez disso, como descrito anteriormente, várias 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 como descrito aqui, em conjunto com software e/ou firmware adequados.
[0318] Vários aspectos das técnicas foram descritos. Esses e outros aspectos das técnicas estão dentro do escopo das reivindicações seguintes.
Claims (16)
1. Dispositivo caracterizado pelo fato de que compreende: uma memória configurada para armazenar uma pluralidade de livros de código para usar durante a realização da dequantização vetorial em relação a um componente espacial vetorialmente quantizado de um campo sonoro, o componente espacial vetorialmente quantizado definido em um domínio harmônico esférico, e obtido através da aplicação de uma decomposição em uma pluralidade de coeficientes ambissônicos de ordem superior (11) do campo sonoro; e um ou mais processadores configurados para: selecionar um dentre a pluralidade de livros de código; e determinar um elemento de sintaxe a partir de um fluxo de bits (21) que inclui o componente espacial vetorialmente quantizado, o elemento de sintaxe identificando o selecionado dentre os livros de códigos, e realizar a dequantização vetorial com relação ao componente espacial vetorialmente quantizado usando o livro de códigos selecionado dentre a pluralidade de livros de código para obter um componente espacial vetorialmente dequantizado do campo sonoro identificado pelo elemento de sintaxe.
2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para determinar um elemento de sintaxe a partir de um fluxo de bits (21) que inclui o componente espacial vetorialmente quantizado, sendo que o elemento de sintaxe identifica um índice no livro de código selecionado dentre a pluralidade de livros de código com um valor de peso usado durante a realização da dequantização vetorial.
3. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para determinar um primeiro elemento de sintaxe e um segundo elemento de sintaxe a partir de um fluxo de bits (21) que inclui o componente espacial vetorialmente quantizado, em que o primeiro elemento de sintaxe identifica o livro de código selecionado dentre a pluralidade de livros de código, e o segundo elemento de sintaxe identifica um índice no livro de código selecionado dentre a pluralidade de livros de código com um valor de peso usado durante a realização da dequantização vetorial, e realiza a dequantização vetorial em relação ao componente espacial vetorialmente quantizado com base no valor de peso identificado pelo primeiro elemento de sintaxe a partir do livro de código selecionado dentre a pluralidade de livros de código identificados pelo segundo elemento de sintaxe.
4. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para determinar um elemento de sintaxe a partir de um fluxo de bits (21) que inclui o componente espacial vetorialmente quantizado, sendo que o elemento de sintaxe identifica um índice em um dicionário de vetor com um vetor de código usado durante a realização da dequantização vetorial.
5. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para determinar um primeiro elemento de sintaxe, um segundo elemento de sintaxe e um terceiro elemento de sintaxe a partir de um fluxo de bits (21) que inclui o componente espacial vetorialmente quantizado, em que o primeiro elemento de sintaxe identifica o livro de código selecionado dentre a pluralidade de livros de código, o segundo elemento de sintaxe identifica um índice no livro de código selecionado dentre a pluralidade de livros de código com um valor de peso usado durante a realização da dequantização vetorial, e o terceiro elemento de sintaxe identifica um índice em um dicionário de vetor com um vetor de código usado durante a realização da dequantização vetorial, e realiza a dequantização vetorial em relação ao componente espacial vetorialmente quantizado com base no valor de peso identificado pelo primeiro elemento de sintaxe a partir do livro de código selecionado dentre a pluralidade de livros de código identificados pelo segundo elemento de sintaxe e o vetor de código identificado pelo terceiro elemento de sintaxe.
6. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para selecionar um dentre a pluralidade de livros de código com base em inúmeros vetores de código usados durante a realização da dequantização vetorial.
7. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para selecionar um dentre a pluralidade de livros de código com oito valores de peso quando somente um vetor de código é usado durante a realização da dequantização vetorial.
8. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para selecionar um dentre a pluralidade de livros de código com 256 valores de peso quando dois a oitos vetores de código são usados durante a realização da dequantização vetorial.
9. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que a pluralidade de livros de código compreende um livro de código com 256 fileiras com 8 valores de peso em cada fileira e/ou um livro de código com 8 fileiras com um único valor de peso em cada fileira.
10. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são ainda configurados para reconstruir os coeficientes ambissônicos de ordem superior (11) com base no componente espacial vetorialmente quantizado de um campo sonoro e renderizar os coeficientes ambissônicos de ordem superior (11) para alimentações de alto-falante (25), e em que os um ou mais processadores são configurados para renderizar uma ou mais alimentações de alto-falante (25).
11. Dispositivo, de acordo com a reivindicação 1, caracterizado pelo fato de que os um ou mais processadores são configurados para reconstruir os coeficientes ambissônicos de ordem superior (11) com base no componente espacial vetorialmente quantizado de um campo sonoro e renderizar os coeficientes ambissônicos de ordem superior (11) para alimentações de alto-falante (25), e que compreende adicionalmente alto-falantes acionados pelas alimentações de alto-falante (25) para reproduzir o campo sonoro representado pelos coeficientes ambissônicos de ordem superior (11).
12. Dispositivo, de acordo com a reivindicação 11, caracterizado pelo fato de que os um ou mais processadores são adicionalmente configurados para reconstruir os coeficientes ambissônicos de ordem superior (11) com base no um componente espacial vetorialmente quantizado de um campo sonoro e renderizar os coeficientes ambissônicos de ordem superior (11) para alimentações de alto-falante (25).
13. Método para decodificar dados de áudio compreendendo um componente espacial vetorialmente quantizado de um campo sonoro, o método caracterizado por compreender: selecionar um dentre uma pluralidade de livros de código a usar durante a realização da dequantização vetorial com relação a um componente espacial vetorialmente quantizado de um campo sonoro, o componente espacial vetorialmente quantizado definido em um domínio harmônico esférico, e obtido através da aplicação de uma decomposição a uma pluralidade de coeficientes ambissônicos de ordem superior (11); e realizar dequantização vetorial com relação ao componente espacial vetorialmente quantizado usando o livro de códigos selecionado dentre a pluralidade de livros de código para obter um componente espacial vetorialmente dequantizado do campo sonoro.
14. Método, de acordo com a reivindicação 13, caracterizado pelo fato de que os um ou mais processadores são configurados ainda para reconstruir os coeficientes ambissônicos de ordem superior (11) com base no componente espacial vetorialmente quantizado de um campo sonoro e renderizar os coeficientes ambissônicos de ordem superior para alimentações de alto-falante (25), e que compreende adicionalmente renderizar uma ou mais alimentações de alto-falante (25) com base no componente espacial vetorialmente dequantizado.
15. Método, de acordo com a reivindicação 14, caracterizado pelo fato de que compreende adicionalmente reconstruir os coeficientes ambissônicos de ordem superior (11) com base no componente espacial vetorialmente dequantizado.
16. Memória legível por computador caracterizada por compreender instruções nela armazenadas que, quando executadas, realizam o método conforme definido em qualquer uma das reivindicações 13 a 15.
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,849 | 2015-05-14 | ||
US14/712,849 US10770087B2 (en) | 2014-05-16 | 2015-05-14 | Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals |
PCT/US2015/031192 WO2015176003A1 (en) | 2014-05-16 | 2015-05-15 | Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals |
Publications (2)
Publication Number | Publication Date |
---|---|
BR112016026822A2 BR112016026822A2 (pt) | 2017-08-15 |
BR112016026822B1 true BR112016026822B1 (pt) | 2022-12-13 |
Family
ID=53274842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR112016026822-9A BR112016026822B1 (pt) | 2014-05-16 | 2015-05-15 | Dispositivo e método para decodificar dados de áudio e memória legível por computador |
Country Status (17)
Country | Link |
---|---|
US (1) | US10770087B2 (pt) |
EP (1) | EP3143616B1 (pt) |
JP (1) | JP6728065B2 (pt) |
KR (1) | KR102329373B1 (pt) |
CN (1) | CN106463129B (pt) |
AU (1) | AU2015258831B2 (pt) |
BR (1) | BR112016026822B1 (pt) |
CA (1) | CA2948563C (pt) |
CL (1) | CL2016002896A1 (pt) |
MX (1) | MX361040B (pt) |
MY (1) | MY189359A (pt) |
PH (1) | PH12016502273B1 (pt) |
RU (1) | RU2688275C2 (pt) |
SG (1) | SG11201608520RA (pt) |
TW (1) | TWI676983B (pt) |
WO (1) | WO2015176003A1 (pt) |
ZA (1) | ZA201607881B (pt) |
Families Citing this family (13)
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 |
US10499176B2 (en) | 2013-05-29 | 2019-12-03 | Qualcomm Incorporated | Identifying codebooks to use when coding spatial components 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 |
US9852737B2 (en) | 2014-05-16 | 2017-12-26 | Qualcomm Incorporated | Coding vectors decomposed from higher-order ambisonics audio signals |
US9620137B2 (en) | 2014-05-16 | 2017-04-11 | Qualcomm Incorporated | Determining between scalar and vector quantization in higher order ambisonic coefficients |
US9536531B2 (en) * | 2014-08-01 | 2017-01-03 | 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 |
KR20200035396A (ko) * | 2017-08-10 | 2020-04-03 | 소니 주식회사 | 송신 장치, 송신 방법, 수신 장치, 및 수신 방법 |
GB2578625A (en) | 2018-11-01 | 2020-05-20 | Nokia Technologies Oy | Apparatus, methods and computer programs for encoding spatial metadata |
US20200402522A1 (en) * | 2019-06-24 | 2020-12-24 | Qualcomm Incorporated | Quantizing spatial components based on bit allocations determined for psychoacoustic audio coding |
FR3096550B1 (fr) * | 2019-06-24 | 2021-06-04 | Orange | Dispositif de captation sonore à réseau de microphones perfectionné |
Family Cites Families (175)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1159034B (it) | 1983-06-10 | 1987-02-25 | Cselt Centro Studi Lab Telecom | Sintetizzatore vocale |
US4972344A (en) | 1986-05-30 | 1990-11-20 | Finial Technology, Inc. | Dual beam optical turntable |
US5363050A (en) | 1990-08-31 | 1994-11-08 | Guo Wendy W | Quantitative dielectric imaging system |
US5757927A (en) | 1992-03-02 | 1998-05-26 | Trifield Productions Ltd. | Surround sound apparatus |
JP2626492B2 (ja) | 1993-09-13 | 1997-07-02 | 日本電気株式会社 | ベクトル量子化装置 |
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 |
JP3707116B2 (ja) | 1995-10-26 | 2005-10-19 | ソニー株式会社 | 音声復号化方法及び装置 |
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 |
US6072878A (en) | 1997-09-24 | 2000-06-06 | Sonic Solutions | Multi-channel surround sound mastering and reproduction techniques that preserve spatial harmonics |
US6263312B1 (en) | 1997-10-03 | 2001-07-17 | Alaris, Inc. | Audio compression and decompression employing subband decomposition of residual signal and distortion reduction |
JP3211762B2 (ja) | 1997-12-12 | 2001-09-25 | 日本電気株式会社 | 音声及び音楽符号化方式 |
AUPP272698A0 (en) | 1998-03-31 | 1998-04-23 | Lake Dsp Pty Limited | Soundfield playback from a single speaker system |
AU4201100A (en) | 1999-04-05 | 2000-10-23 | Hughes Electronics Corporation | Spectral phase modeling of the prototype waveform components for a frequency domain interpolative speech codec system |
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 |
US6782360B1 (en) | 1999-09-22 | 2004-08-24 | Mindspeed Technologies, Inc. | Gain quantization for a CELP speech coder |
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 | ビデオ信号符号化装置及びビデオ信号符号化方法 |
US7660424B2 (en) | 2001-02-07 | 2010-02-09 | Dolby Laboratories Licensing Corporation | Audio channel spatial translation |
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 |
US7031894B2 (en) | 2002-01-16 | 2006-04-18 | Timbre Technologies, Inc. | Generating a library of simulated-diffraction signals and hypothetical profiles of periodic gratings |
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 |
PT2282310E (pt) | 2002-09-04 | 2012-04-13 | Microsoft Corp | Codificação entrópica por adaptação de modos de codificação entre codificação por nível e codificação por comprimento/nível de sequência |
FR2844894B1 (fr) | 2002-09-23 | 2004-12-17 | Remy Henri Denis Bruno | Procede et systeme de traitement d'une representation d'un champ acoustique |
US7330812B2 (en) | 2002-10-04 | 2008-02-12 | National Research Council Of Canada | Method and apparatus for transmitting an audio stream having additional payload in a hidden sub-channel |
FR2847376B1 (fr) | 2002-11-19 | 2005-02-04 | France Telecom | Procede de traitement de donnees sonores et dispositif d'acquisition sonore mettant en oeuvre ce procede |
US6961696B2 (en) | 2003-02-07 | 2005-11-01 | Motorola, Inc. | Class quantization for distributed speech recognition |
FI115324B (fi) | 2003-03-14 | 2005-04-15 | Elekta Neuromag Oy | Menetelmä ja järjestelmä monikanavaisen mittaussignaalin käsittelemiseksi |
US7558393B2 (en) | 2003-03-18 | 2009-07-07 | Miller Iii Robert E | System and method for compatible 2D/3D (full sphere with height) surround sound reproduction |
US7920709B1 (en) | 2003-03-25 | 2011-04-05 | Robert Hickling | Vector sound-intensity probes operating in a half-space |
US7447317B2 (en) | 2003-10-02 | 2008-11-04 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V | Compatible multi-channel coding/decoding by weighting the downmix channel |
KR100556911B1 (ko) | 2003-12-05 | 2006-03-03 | 엘지전자 주식회사 | 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조 |
KR100629997B1 (ko) | 2004-02-26 | 2006-09-27 | 엘지전자 주식회사 | 오디오 신호의 인코딩 방법 |
US7283634B2 (en) | 2004-08-31 | 2007-10-16 | Dts, Inc. | Method of mixing audio channels using correlated outputs |
US7630902B2 (en) | 2004-09-17 | 2009-12-08 | Digital Rise Technology Co., Ltd. | Apparatus and methods for digital audio coding using codebook application ranges |
FR2880755A1 (fr) | 2005-01-10 | 2006-07-14 | France Telecom | Procede et dispositif d'individualisation de hrtfs par modelisation |
KR100636229B1 (ko) | 2005-01-14 | 2006-10-19 | 학교법인 성균관대학 | 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치 |
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 |
CN101385077B (zh) | 2006-02-07 | 2012-04-11 | Lg电子株式会社 | 用于编码/解码信号的装置和方法 |
EP1853092B1 (en) | 2006-05-04 | 2011-10-05 | LG Electronics, Inc. | Enhancing stereo audio with remix capability |
US8379868B2 (en) | 2006-05-17 | 2013-02-19 | Creative Technology Ltd | Spatial audio coding based on universal spatial cues |
US8712061B2 (en) | 2006-05-17 | 2014-04-29 | Creative Technology Ltd | Phase-amplitude 3-D stereo encoder and decoder |
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 |
US7877253B2 (en) | 2006-10-06 | 2011-01-25 | Qualcomm Incorporated | Systems, methods, and apparatus for frame erasure recovery |
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 |
ES2387692T3 (es) | 2006-11-24 | 2012-09-28 | Lg Electronics Inc. | Método y aparato para codificar señales de audio basadas en objetos |
US7663623B2 (en) | 2006-12-18 | 2010-02-16 | Microsoft Corporation | Spherical harmonics scaling |
JP2008227946A (ja) | 2007-03-13 | 2008-09-25 | Toshiba Corp | 画像復号装置 |
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 |
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 |
US9826243B2 (en) | 2007-04-12 | 2017-11-21 | Thomson Licensing | Methods and apparatus for video usability information (VUI) for scalable video coding (SVC) |
US8180062B2 (en) | 2007-05-30 | 2012-05-15 | Nokia Corporation | Spatial sound zooming |
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 |
US8463615B2 (en) | 2007-07-30 | 2013-06-11 | Google Inc. | Low-delay audio coder |
ATE479182T1 (de) | 2007-07-30 | 2010-09-15 | Global Ip Solutions Gips Ab | Audiodekoder mit geringer verzögerung |
JP5264913B2 (ja) | 2007-09-11 | 2013-08-14 | ヴォイスエイジ・コーポレーション | 話声およびオーディオの符号化における、代数符号帳の高速検索のための方法および装置 |
GB2467668B (en) | 2007-10-03 | 2011-12-07 | Creative Tech Ltd | Spatial audio analysis and synthesis for binaural reproduction and format conversion |
WO2009067741A1 (en) | 2007-11-27 | 2009-06-04 | Acouity Pty Ltd | Bandwidth compression of parametric soundfield representations for transmission and storage |
CN101911185B (zh) | 2008-01-16 | 2013-04-03 | 松下电器产业株式会社 | 矢量量化装置、矢量反量化装置及其方法 |
EP2094032A1 (en) | 2008-02-19 | 2009-08-26 | Deutsche Thomson OHG | Audio signal, method and apparatus for encoding or transmitting the same and method and apparatus for processing the same |
CN101965612B (zh) | 2008-03-03 | 2012-08-29 | Lg电子株式会社 | 用于处理音频信号的方法和装置 |
CA2897278A1 (en) | 2008-03-10 | 2009-09-17 | Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. | Device and method for manipulating an audio signal having a transient event |
US8219409B2 (en) | 2008-03-31 | 2012-07-10 | Ecole Polytechnique Federale De Lausanne | Audio wave field encoding |
EP2283373B1 (en) | 2008-04-28 | 2021-03-10 | Cornell University | Accurate quantification of magnetic susceptibility in molecular mri |
US8184298B2 (en) | 2008-05-21 | 2012-05-22 | The Board Of Trustees Of The University Of Illinois | Spatial light interference microscopy and fourier transform light scattering for cell and tissue characterization |
US8452587B2 (en) | 2008-05-30 | 2013-05-28 | Panasonic Corporation | Encoder, decoder, and the methods therefor |
JP5220922B2 (ja) | 2008-07-08 | 2013-06-26 | ブリュエル アンド ケアー サウンド アンド ヴァイブレーション メジャーメント エー/エス | 音場の再構成 |
EP2144230A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme having cascaded switches |
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 |
EP2374124B1 (fr) | 2008-12-15 | 2013-05-29 | France Telecom | Codage perfectionne de signaux audionumériques multicanaux |
ES2733878T3 (es) | 2008-12-15 | 2019-12-03 | Orange | Codificación mejorada de señales de audio digitales multicanales |
EP2205007B1 (en) | 2008-12-30 | 2019-01-09 | Dolby International AB | Method and apparatus for three-dimensional acoustic field encoding and optimal reconstruction |
US8332229B2 (en) | 2008-12-30 | 2012-12-11 | Stmicroelectronics Asia Pacific Pte. Ltd. | Low complexity MPEG encoding for surround sound recordings |
WO2010086342A1 (en) | 2009-01-28 | 2010-08-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, method for encoding an input audio information, method for decoding an input audio information and computer program using improved coding tables |
GB2478834B (en) | 2009-02-04 | 2012-03-07 | Richard Furse | Sound system |
JP5163545B2 (ja) | 2009-03-05 | 2013-03-13 | 富士通株式会社 | オーディオ復号装置及びオーディオ復号方法 |
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 |
CN102227696B (zh) | 2009-05-21 | 2014-09-24 | 松下电器产业株式会社 | 触感处理装置 |
EP2285139B1 (en) | 2009-06-25 | 2018-08-08 | Harpex Ltd. | Device and method for converting spatial audio signal |
AU2010305313B2 (en) | 2009-10-07 | 2015-05-28 | The University Of Sydney | Reconstruction of a recorded sound field |
JP5326051B2 (ja) | 2009-10-15 | 2013-10-30 | ヴェーデクス・アクティーセルスカプ | 音声コーデックを備えた補聴器および方法 |
JP5746974B2 (ja) | 2009-11-13 | 2015-07-08 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 符号化装置、復号装置およびこれらの方法 |
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 | 华为技术有限公司 | 信道状态信息反馈方法、信道状态信息获得方法及设备 |
TWI557723B (zh) | 2010-02-18 | 2016-11-11 | 杜比實驗室特許公司 | 解碼方法及系統 |
EP2539892B1 (fr) | 2010-02-26 | 2014-04-02 | Orange | Compression de flux audio multicanal |
PL2532001T3 (pl) | 2010-03-10 | 2014-09-30 | Fraunhofer Ges Forschung | Dekoder sygnału audio, koder sygnału audio, sposoby i program komputerowy wykorzystujące zależne od częstotliwości próbkowania kodowanie krzywej dopasowania czasowego |
BR122020001822B1 (pt) | 2010-03-26 | 2021-05-04 | Dolby International Ab | Método e dispositivo para decodificar uma representação para campo de som de áudio para reprodução de áudio e meio legível por computador |
EP2375410B1 (en) | 2010-03-29 | 2017-11-22 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A spatial audio processor and a method for providing spatial parameters based on an acoustic input signal |
JP5850216B2 (ja) | 2010-04-13 | 2016-02-03 | ソニー株式会社 | 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム |
TW201214415A (en) | 2010-05-28 | 2012-04-01 | Fraunhofer Ges Forschung | Low-delay unified speech and audio codec |
US9053697B2 (en) | 2010-06-01 | 2015-06-09 | Qualcomm Incorporated | Systems, methods, devices, apparatus, and computer program products for audio equalization |
US9398308B2 (en) | 2010-07-28 | 2016-07-19 | Qualcomm Incorporated | Coding motion prediction direction in video coding |
US9208792B2 (en) | 2010-08-17 | 2015-12-08 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for noise injection |
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 |
EP2609759B1 (en) | 2010-08-27 | 2022-05-18 | Sennheiser Electronic GmbH & Co. KG | Method and device for enhanced sound field reproduction of spatially encoded audio input signals |
CN101977349A (zh) | 2010-09-29 | 2011-02-16 | 华南理工大学 | Ambisonic声重发***解码的优化改进方法 |
US9084049B2 (en) | 2010-10-14 | 2015-07-14 | Dolby Laboratories Licensing Corporation | Automatic equalization using adaptive frequency-domain filtering and dynamic fast convolution |
US20120093323A1 (en) | 2010-10-14 | 2012-04-19 | Samsung Electronics Co., Ltd. | Audio system and method of down mixing audio signals using the same |
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 | 한국전자통신연구원 | 스피커 어레이 기반 음장 합성을 이용한 음장 재생 장치 및 방법 |
US9448289B2 (en) | 2010-11-23 | 2016-09-20 | Cornell University | Background field removal method for MRI using projection onto dipole fields |
KR101619578B1 (ko) | 2010-12-03 | 2016-05-18 | 프라운호퍼-게젤샤프트 츄어 푀르더룽 데어 안게반텐 포르슝에.파우. | 기하학 기반의 공간 오디오 코딩을 위한 장치 및 방법 |
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 |
EP2661748A2 (en) | 2011-01-06 | 2013-11-13 | Hank Risan | Synthetic simulation of a media recording |
US9008176B2 (en) | 2011-01-22 | 2015-04-14 | Qualcomm Incorporated | Combined reference picture list construction for video coding |
US20120189052A1 (en) | 2011-01-24 | 2012-07-26 | Qualcomm Incorporated | Signaling quantization parameter changes for coded units in high efficiency video coding (hevc) |
US9026450B2 (en) | 2011-03-09 | 2015-05-05 | Dts Llc | System for dynamically creating and rendering audio objects |
MY166916A (en) | 2011-04-21 | 2018-07-24 | Samsung Electronics Co Ltd | Apparatus for quantizing linear predictive coding coefficients, sound encoding apparatus, apparatus for dequantizing linear predictive coding coefficients, sound decoding apparatus, and electronic device therefore |
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 |
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 |
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 |
EP2600343A1 (en) | 2011-12-02 | 2013-06-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for merging geometry - based spatial audio coding streams |
KR101590332B1 (ko) | 2012-01-09 | 2016-02-18 | 삼성전자주식회사 | 영상장치 및 그 제어방법 |
EP2637427A1 (en) | 2012-03-06 | 2013-09-11 | Thomson Licensing | Method and apparatus for playback of a higher-order ambisonics audio signal |
EP2645748A1 (en) | 2012-03-28 | 2013-10-02 | Thomson Licensing | Method and apparatus for decoding stereo loudspeaker signals from a higher-order Ambisonics audio signal |
EP2665208A1 (en) | 2012-05-14 | 2013-11-20 | Thomson Licensing | Method and apparatus for compressing and decompressing a Higher Order Ambisonics signal representation |
US20140086416A1 (en) | 2012-07-15 | 2014-03-27 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients |
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 |
US9288603B2 (en) | 2012-07-15 | 2016-03-15 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for backward-compatible audio coding |
CN106658342B (zh) | 2012-07-16 | 2020-02-14 | 杜比国际公司 | 用于渲染音频声场表示以供音频回放的方法和设备 |
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 |
US9473870B2 (en) | 2012-07-16 | 2016-10-18 | Qualcomm Incorporated | Loudspeaker position compensation with 3D-audio hierarchical coding |
EP2875511B1 (en) | 2012-07-19 | 2018-02-21 | Dolby International AB | Audio coding for improving the rendering of multi-channel audio signals |
US9479886B2 (en) | 2012-07-20 | 2016-10-25 | Qualcomm Incorporated | Scalable downmix design with feedback for object-based surround codec |
US9761229B2 (en) | 2012-07-20 | 2017-09-12 | Qualcomm Incorporated | Systems, methods, apparatus, and computer-readable media for audio object clustering |
JP5967571B2 (ja) | 2012-07-26 | 2016-08-10 | 本田技研工業株式会社 | 音響信号処理装置、音響信号処理方法、及び音響信号処理プログラム |
EP2915166B1 (en) | 2012-10-30 | 2018-10-17 | Nokia Technologies OY | A method and apparatus for resilient vector quantization |
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 |
US9883310B2 (en) | 2013-02-08 | 2018-01-30 | Qualcomm Incorporated | Obtaining symmetry information for higher order ambisonic audio renderers |
US10178489B2 (en) | 2013-02-08 | 2019-01-08 | Qualcomm Incorporated | Signaling audio rendering information in a bitstream |
US9609452B2 (en) | 2013-02-08 | 2017-03-28 | Qualcomm Incorporated | Obtaining sparseness information for higher order ambisonic audio renderers |
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 |
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 |
CN105409247B (zh) | 2013-03-05 | 2020-12-29 | 弗劳恩霍夫应用研究促进协会 | 用于音频信号处理的多声道直接-周围分解的装置及方法 |
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 |
JP6515087B2 (ja) | 2013-05-16 | 2019-05-15 | コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. | オーディオ処理装置及び方法 |
US10499176B2 (en) | 2013-05-29 | 2019-12-03 | Qualcomm Incorporated | Identifying codebooks to use when coding spatial components of a sound field |
US9466305B2 (en) | 2013-05-29 | 2016-10-11 | Qualcomm Incorporated | Performing positional analysis to code spherical harmonic coefficients |
US9384741B2 (en) | 2013-05-29 | 2016-07-05 | Qualcomm Incorporated | Binauralization of rotated higher order ambisonics |
JP6377730B2 (ja) | 2013-06-05 | 2018-08-22 | ドルビー・インターナショナル・アーベー | オーディオ信号を符号化する方法及び装置並びにオーディオ信号を復号する方法及び装置 |
TWI673707B (zh) | 2013-07-19 | 2019-10-01 | 瑞典商杜比國際公司 | 將以L<sub>1</sub>個頻道為基礎之輸入聲音訊號產生至L<sub>2</sub>個揚聲器頻道之方法及裝置,以及得到一能量保留混音矩陣之方法及裝置,用以將以輸入頻道為基礎之聲音訊號混音以用於L<sub>1</sub>個聲音頻道至L<sub>2</sub>個揚聲器頻道 |
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 |
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 |
US9852737B2 (en) | 2014-05-16 | 2017-12-26 | Qualcomm Incorporated | Coding vectors decomposed from higher-order ambisonics 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 |
-
2015
- 2015-05-14 US US14/712,849 patent/US10770087B2/en active Active
- 2015-05-15 BR BR112016026822-9A patent/BR112016026822B1/pt active IP Right Grant
- 2015-05-15 EP EP15725959.9A patent/EP3143616B1/en active Active
- 2015-05-15 AU AU2015258831A patent/AU2015258831B2/en active Active
- 2015-05-15 CN CN201580026551.8A patent/CN106463129B/zh active Active
- 2015-05-15 WO PCT/US2015/031192 patent/WO2015176003A1/en active Application Filing
- 2015-05-15 TW TW104115698A patent/TWI676983B/zh active
- 2015-05-15 MY MYPI2016704156A patent/MY189359A/en unknown
- 2015-05-15 KR KR1020167035108A patent/KR102329373B1/ko active IP Right Grant
- 2015-05-15 SG SG11201608520RA patent/SG11201608520RA/en unknown
- 2015-05-15 JP JP2016567714A patent/JP6728065B2/ja active Active
- 2015-05-15 CA CA2948563A patent/CA2948563C/en active Active
- 2015-05-15 RU RU2016144326A patent/RU2688275C2/ru active
- 2015-05-15 MX MX2016014918A patent/MX361040B/es active IP Right Grant
-
2016
- 2016-11-14 CL CL2016002896A patent/CL2016002896A1/es unknown
- 2016-11-15 ZA ZA2016/07881A patent/ZA201607881B/en unknown
- 2016-11-15 PH PH12016502273A patent/PH12016502273B1/en unknown
Also Published As
Publication number | Publication date |
---|---|
CL2016002896A1 (es) | 2017-05-26 |
RU2016144326A3 (pt) | 2018-12-12 |
US10770087B2 (en) | 2020-09-08 |
RU2016144326A (ru) | 2018-06-20 |
PH12016502273A1 (en) | 2017-03-13 |
JP6728065B2 (ja) | 2020-07-22 |
ZA201607881B (en) | 2022-05-25 |
PH12016502273B1 (en) | 2017-03-13 |
BR112016026822A2 (pt) | 2017-08-15 |
RU2688275C2 (ru) | 2019-05-21 |
MX361040B (es) | 2018-11-26 |
EP3143616B1 (en) | 2023-01-04 |
WO2015176003A1 (en) | 2015-11-19 |
SG11201608520RA (en) | 2016-11-29 |
KR20170008802A (ko) | 2017-01-24 |
KR102329373B1 (ko) | 2021-11-19 |
AU2015258831B2 (en) | 2020-03-12 |
US20150332692A1 (en) | 2015-11-19 |
MY189359A (en) | 2022-02-07 |
TW201601144A (zh) | 2016-01-01 |
CA2948563A1 (en) | 2015-11-19 |
TWI676983B (zh) | 2019-11-11 |
JP2017521693A (ja) | 2017-08-03 |
EP3143616A1 (en) | 2017-03-22 |
AU2015258831A1 (en) | 2016-11-10 |
CA2948563C (en) | 2023-02-28 |
CN106463129A (zh) | 2017-02-22 |
CN106463129B (zh) | 2020-02-21 |
MX2016014918A (es) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DK3143614T3 (en) | RECONSTRUCTION OF VECTORS DESTROYED FROM THE HIGHER ORDER AMBISONIC AUDIO SIGNALS | |
JP6169805B2 (ja) | フレームパラメータ再使用可能性を示すこと | |
BR112016026822B1 (pt) | Dispositivo e método para decodificar dados de áudio e memória legível por computador | |
US9620137B2 (en) | Determining between scalar and vector quantization in higher order ambisonic coefficients |
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 |