BR112016028215B1 - GETTING SCATTERED INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS - Google Patents

GETTING SCATTERED INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS Download PDF

Info

Publication number
BR112016028215B1
BR112016028215B1 BR112016028215-9A BR112016028215A BR112016028215B1 BR 112016028215 B1 BR112016028215 B1 BR 112016028215B1 BR 112016028215 A BR112016028215 A BR 112016028215A BR 112016028215 B1 BR112016028215 B1 BR 112016028215B1
Authority
BR
Brazil
Prior art keywords
audio
bitstream
information
matrix
coefficients
Prior art date
Application number
BR112016028215-9A
Other languages
Portuguese (pt)
Other versions
BR112016028215A2 (en
Inventor
Nils Günther Peters
Dipanjan Sen
Martin James Morrell
Original Assignee
Qualcomm Incorporated
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/724,560 external-priority patent/US9609452B2/en
Application filed by Qualcomm Incorporated filed Critical Qualcomm Incorporated
Publication of BR112016028215A2 publication Critical patent/BR112016028215A2/en
Publication of BR112016028215B1 publication Critical patent/BR112016028215B1/en

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech 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/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/03Application of parametric coding in stereophonic audio systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/11Application of ambisonics in stereophonic audio systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Stereophonic System (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

OBTENÇÃO DE INFORMAÇÃO DISPERSA PARA RENDERIZADORES DE ÁUDIO AMBISSÔNICOS DE ORDEM SUPERIOR Em geral, as técnicas são descritas para obter a informação de renderização de áudio em um bitstream. Um dispositivo configurado para renderizar coeficientes ambissônicos de ordem superior que compreendem um processador e uma memória pode realizar as técnicas. O processador pode ser configurado para obter informação de esparsidade indicativa de esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para uma pluralidade de alimentações de alto-falantes. A memória pode ser configurada para armazenar as informações de dispersão.SCATTERED INFORMATION GETTING FOR HIGH ORDER AMBISSONIC AUDIO RENDERS In general, techniques are described for getting the audio rendering information in a bitstream. A device configured to render higher-order ambisonic coefficients comprising a processor and memory can perform the techniques. The processor may be configured to obtain sparsity information indicative of sparsity from a matrix used to render the higher order ambisonic coefficients for a plurality of speaker feeds. Memory can be configured to store scatter information.

Description

[0001] Este pedido reivindica o benefício do Pedido provisório de patente US n° 62/023.662, depositado em 11 de julho de 2014, intitulado “SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM,” e Pedido provisório de patente US n° 62/005.829, depositado em 30 de maio de 2014, intitulado “SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM,” o conteúdo total de cada um dos Pedidos Provisórios US estão aqui incorporadas, por referência como se aqui apresentado em suas respectivas totalidades.[0001] This application claims the benefit of US Provisional Patent Application No. 62/023,662, filed July 11, 2014, entitled “SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM,” and US Provisional Patent Application No. 62/005,829 , filed May 30, 2014, titled “SIGNALING AUDIO RENDERING INFORMATION IN A BITSTREAM,” the entire contents of each of the US Interim Applications are hereby incorporated by reference as if set forth herein in their respective entireties.

CAMPO TÉCNICOTECHNICAL FIELD

[0002] Esta revelação refere-se à renderização de informação e, mais especificamente, renderização da informação para dados de áudio ambissônicos de ordem superior (HOA).[0002] This revelation pertains to information rendering, and more specifically, information rendering for higher order ambisonic audio (HOA) data.

ANTECEDENTESBACKGROUND

[0003] Durante a produção de conteúdo de áudio, o engenheiro de som pode renderizar o conteúdo de áudio usando um renderizador específico na tentativa de adaptar o conteúdo de áudio às configurações alvo dos alto- falantes usados para reproduzir o conteúdo de áudio. Em outras palavras, o engenheiro de som pode renderizar o conteúdo de áudio e reproduzir o conteúdo de áudio renderizado usando alto-falantes dispostos na configuração desejada. O engenheiro de som pode então remixar vários aspectos do conteúdo de áudio, renderizar o conteúdo de áudio remixado e reproduzir novamente o conteúdo de áudio renderizado e remixado usando os alto-falantes dispostos na configuração direcionada. O engenheiro de som pode iterar desta forma até que uma certa intenção artística ser fornecida pelo conteúdo de áudio. Desta forma, o engenheiro de som pode produzir conteúdo de áudio que forneça uma certa intenção artística ou que de outra forma forneça um determinado campo de som durante a reprodução (por exemplo, para acompanhar o conteúdo de vídeo reproduzido juntamente com o conteúdo de áudio).[0003] During the production of audio content, the sound engineer may render the audio content using a specific renderer in an attempt to adapt the audio content to the target settings of the speakers used to play the audio content. In other words, the sound engineer can render the audio content and play the rendered audio content using speakers arranged in the desired configuration. The sound engineer can then remix various aspects of the audio content, render the remixed audio content, and replay the rendered and remixed audio content using the speakers arranged in the targeted configuration. The sound engineer can iterate in this way until a certain artistic intent is provided by the audio content. In this way, the sound engineer can produce audio content that provides a certain artistic intent or that otherwise provides a certain sound field during playback (e.g. to accompany the video content played alongside the audio content) .

SUMÁRIOSUMMARY

[0004] Em geral, as técnicas são descritas para especificar a informação de renderização de áudio em um bitstream representativo de dados de áudio. Em outras palavras, as técnicas podem fornecer uma maneira pela qual sinalizar a informação de renderização de áudio utilizada durante a produção de conteúdo de áudio para um dispositivo de reprodução, que pode então utilizar a informação de renderização de áudio para renderizar o conteúdo de áudio. Fornecer a informação de renderização deste modo permite que o dispositivo de reprodução processe o conteúdo de áudio de uma maneira pretendida pelo engenheiro de som e, deste modo, potencialmente assegura a reprodução apropriada do conteúdo de áudio de modo que a intenção artística seja potencialmente compreendida por um ouvinte. Em outras palavras, a informação de renderização utilizada durante a renderização pelo engenheiro de som é fornecida de acordo com as técnicas descritas nesta revelação de modo que o dispositivo de reprodução de áudio possa utilizar a informação de renderização para renderizar o conteúdo de áudio de uma maneira pretendida pelo engenheiro de som, garantindo assim uma experiência mais consistente durante a produção e reprodução do conteúdo de áudio em comparação com sistemas que não fornecem esta informação de renderização de áudio[0004] In general, techniques are described for specifying audio rendering information in a representative bitstream of audio data. In other words, the techniques can provide a way in which to signal the audio rendering information used during the production of audio content to a playback device, which can then use the audio rendering information to render the audio content. Providing rendering information in this way allows the playback device to render the audio content in a manner intended by the sound engineer and thus potentially ensures proper reproduction of the audio content so that the artistic intent is potentially understood by the sound engineer. a listener. In other words, the rendering information used during rendering by the sound engineer is provided according to the techniques described in this disclosure so that the audio playback device can use the rendering information to render the audio content in a intended by the sound engineer, thus ensuring a more consistent experience during the production and playback of audio content compared to systems that do not provide this audio rendering information

[0005] Em um aspecto, um dispositivo configurado para renderizar coeficientes ambissônicos de ordem superior compreende um ou mais processadores configurados para obter informação de esparsidade indicativa de uma esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para uma pluralidade de feeds de alto-falantes; e uma memória configurada para armazenar as informações de esparsidade.[0005] In one aspect, a device configured to render higher-order ambisonic coefficients comprises one or more processors configured to obtain sparsity information indicative of the sparsity of a matrix used to render the higher-order ambisonic coefficients for a plurality of feeds. loudspeakers; and a memory configured to store sparsity information.

[0006] Em outro aspecto, um método de renderização de coeficientes ambissônicos de ordem superior compreende obter informação de esparsidade indicativa de uma esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto-falantes.[0006] In another aspect, a method of rendering higher-order ambisonic coefficients comprises obtaining sparsity information indicative of a sparsity of a matrix used to render higher-order ambisonic coefficients to generate a plurality of speaker feeds.

[0007] Em outro aspecto, um dispositivo configurado para produzir um bitstream compreende uma memória configurada para armazenar uma matriz, e um ou mais processadores configurados para obter a informação de esparsidade indicativa de uma esparsidade da matriz usada para renderizar coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto-falante.[0007] In another aspect, a device configured to produce a bitstream comprises a memory configured to store a matrix, and one or more processors configured to obtain sparsity information indicative of a sparseness of the matrix used to render higher-order ambisonic coefficients for generate a plurality of speaker feeds.

[0008] Em outro aspecto, um método de produzir um bitstream compreende obter informação de esparsidade indicativa de uma esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto-falantes.[0008] In another aspect, a method of producing a bitstream comprises obtaining sparsity information indicative of a sparsity of a matrix used to render higher order ambisonic coefficients to generate a plurality of speaker feeds.

[0009] Em outro aspecto, um dispositivo configurado para renderizar coeficientes ambissônicos de ordem superior compreende um ou mais processadores configurados para obter informação de simetria de sinal indicativa da simetria de sinal de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto- falantes; e uma memória configurada para armazenar as informações de esparsidade.[0009] In another aspect, a device configured to render higher-order ambisonic coefficients comprises one or more processors configured to obtain signal symmetry information indicative of the signal symmetry of a matrix used to render the higher-order ambisonic coefficients to generate a plurality of speaker feeds; and a memory configured to store sparsity information.

[0010] Em outro aspecto, um método de renderização de coeficientes ambissônicos de ordem superior compreende obter informação de simetria de sinal indicativa da simetria de sinal de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto-falantes.[0010] In another aspect, a method of rendering higher-order ambisonic coefficients comprises obtaining signal symmetry information indicative of the signal symmetry of a matrix used to render the higher-order ambisonic coefficients to generate a plurality of high-order feeds. speakers.

[0011] Em outro aspecto, um dispositivo configurado para produzir um bitstream compreende uma memória configurada para armazenar uma matriz usada para renderizar o coeficiente ambissônico de ordem superior para gerar uma pluralidade de feeds de alto-falante, e um ou mais processadores configurados para sinalizar a informação de simetria indicativa da simetria de sinal da matriz.[0011] In another aspect, a device configured to output a bitstream comprises a memory configured to store a matrix used to render the higher-order ambisonic coefficient to generate a plurality of speaker feeds, and one or more processors configured to signal the symmetry information indicative of the signal symmetry of the matrix.

[0012] Em outro aspecto, um método de produzir um bitstream compreende obter informação de esparsidade indicativa de uma esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de feeds de alto-falantes.[0012] In another aspect, a method of producing a bitstream comprises obtaining sparsity information indicative of a sparsity of a matrix used to render higher order ambisonic coefficients to generate a plurality of speaker feeds.

[0013] Os detalhes de um ou mais aspectos das técnicas são apresentados nos desenhos de acompanhamento e na descrição abaixo. Outras características, objetos e vantagens das técnicas serão evidentes a partir da descrição e desenhos, e a partir das reivindicações.[0013] Details of one or more aspects of the techniques are presented in the accompanying drawings and description below. Other features, objects and advantages of the techniques will be evident from the description and drawings, and from the claims.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF THE DRAWINGS

[0014] A FIG. 1 é um diagrama que ilustra funções de base harmônica esférica de várias ordens e sub- ordens.[0014] FIG. 1 is a diagram illustrating spherical harmonic basis functions of various orders and suborders.

[0015] A FIG. 2 é um diagrama ilustrando um sistema que pode realizar vários aspectos das técnicas descritas nesta revelação.[0015] FIG. 2 is a diagram illustrating a system that can perform various aspects of the techniques described in this disclosure.

[0016] A FIG. 3 é um diagrama de blocos que ilustra, em mais detalhe, um exemplo do dispositivo de codificação de áudio mostrado no exemplo da Fig. 2 que pode realizar vários aspectos das técnicas descritas nesta revelação.[0016] FIG. 3 is a block diagram illustrating in more detail an example of the audio encoding device shown in the example of Fig. 2 which can perform various aspects of the techniques described in this disclosure.

[0017] A FIG. 4 é um diagrama de blocos ilustrando o dispositivo de decodificação de áudio da Fig. 2 em maior detalhe.[0017] FIG. 4 is a block diagram illustrating the audio decoding device of Fig. 2 in greater detail.

[0018] A FIG. 5 é um fluxograma ilustrando a operação exemplar de um dispositivo de codificação de áudio na realização de vários aspectos das técnicas de síntese baseada em vetor descritos nesta revelação.[0018] FIG. 5 is a flowchart illustrating exemplary operation of an audio encoding device in performing various aspects of the vector-based synthesis techniques described in this disclosure.

[0019] A FIG. 6 é um fluxograma ilustrando a operação exemplar de um dispositivo de decodificação de áudio na realização de vários aspectos das técnicas descritas nesta revelação.[0019] FIG. 6 is a flowchart illustrating exemplary operation of an audio decoding device in performing various aspects of the techniques described in this disclosure.

[0020] A FIG. 7 é um fluxograma que ilustra a operação exemplar de um sistema, como um dos sistemas mostrados nos exemplos das Figs. 2 na realização de vários aspectos das técnicas descritas nesta revelação.[0020] FIG. 7 is a flowchart illustrating exemplary operation of a system, such as one of the systems shown in the examples of Figs. 2 in carrying out various aspects of the techniques described in this disclosure.

[0021] As FIGs. 8A-8D são diagramas ilustrando bitstreams formados de acordo com as técnicas descritas nesta revelação.[0021] FIGs. 8A-8D are diagrams illustrating bitstreams formed according to the techniques described in this disclosure.

[0022] As FIGs. 8E-8G são diagramas ilustrando porções do bitstream ou informação de canal lateral que podem especificar os componentes espaciais comprimidos em mais detalhe.[0022] FIGs. 8E-8G are diagrams illustrating portions of bitstream or sidechannel information that can specify compressed spatial components in more detail.

[0023] A FIG. 9 é um diagrama ilustrando um exemplo de ganhos min e max dependentes da ordem ambissônica de ordem superior (HOA) dentro de uma matriz de renderização de HOA.[0023] FIG. 9 is a diagram illustrating an example of higher order ambisonic (HOA) dependent min and max gains within an HOA rendering matrix.

[0024] A FIG. 10 é um diagrama ilustrando uma matriz de renderização HOA de 6a ordem parcialmente esparsa para 22 alto-falantes.[0024] FIG. 10 is a diagram illustrating a partially sparse 6th order HOA rendering matrix for 22 speakers.

[0025] A FIG. 11 é um diagrama de fluxo que ilustra a sinalização das propriedades de simetria.[0025] FIG. 11 is a flow diagram illustrating signaling symmetry properties.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

[0026] A evolução do som ambiente disponibilizou muitos formatos de saída para o entretenimento hoje em dia. Exemplos de tais formatos de som ambiente para consumidores são em sua maioria “canais”, porque eles implicitamente especificam feeds para alto- falantes em certas coordenadas geométricas. Os formatos de som ambiente do consumidor incluem o popular formato 5.1 (que inclui os seguintes seis canais: frente esquerdo (FL), frente direito (FR), centro ou centro frontal, esquerdo traseiro ou esquerdo ambiente, direito traseiro ou direito ambiente e efeitos de baixa frequência (LFE)), o crescente formato 7.1, vários formatos que incluem alto-falantes de altura 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). Os formatos de não-consumidores podem abranger qualquer número de alto-falantes (em geometrias simétricas e não-simétricas), muitas vezes denominados “arranjos ambiente”. Um exemplo desse arranjo inclui 32 alto- falantes posicionados em coordenadas nos cantos de um icosaedro truncado.[0026] The evolution of ambient sound has made many output formats available for entertainment today. Examples of such ambient sound formats for consumers are mostly “channels”, because they implicitly specify feeds to speakers in certain geometric coordinates. Consumer ambient sound formats include the popular 5.1 format (which includes the following six channels: Front Left (FL), Front Right (FR), Front Center or Center, Left Back or Left Ambient, Right Rear or Right Ambient, and (LFE)), the growing 7.1 format, various formats that include loudspeakers such as the 7.1.4 format and the 22.2 format (for example, for use with the Ultra High Definition Television standard). Non-consumer formats can span any number of loudspeakers (in symmetrical and non-symmetrical geometries), often referred to as “ambient arrays”. An example of this arrangement includes 32 speakers positioned in coordinates at the corners of a truncated icosahedron.

[0027] A entrada para um futuro codificador MPEG é opcionalmente um dos três formatos possíveis: (i) áudio baseado em canal tradicional (como discutido acima), que se destina a ser reproduzido através de alto-falantes em posições pré-especificadas; (ii) áudio baseado em objeto, que envolve dados de modulação por código de pulso (PCM) para objetos de áudio individuais com metadados associados contendo as suas coordenadas de localização (entre outras informações); e (iii) áudio baseado em cena, que envolve a representação do campo de som usando coeficientes de funções de base harmônicas esféricas (também chamados de “coeficientes harmônicos esféricos” ou SHC, “Ambissônicos de Ordem Superior" ou HOA e "coeficientes HOA"). O futuro codificador MPEG pode ser descrito em mais detalhe em um documento intitulado “Call for Proposals for 3D Audio,” pela Organização Internacional para Padronização/Comissão Internacional de Eletrotécnica (ISO)/(IEC) JTC1/SC29/WG11/N13411, lançado em Janeiro de 2013 em Genebra, Suíça, e disponível em http://mpeg.chiariglione.org/sites/default/files/files/stan dards/parts/docs/w13411.zip.[0027] Input to a future MPEG encoder is optionally one of three possible formats: (i) traditional channel-based audio (as discussed above), which is intended to be played through speakers at pre-specified positions; (ii) object-based audio, which involves pulse code modulation (PCM) data for individual audio objects with associated metadata containing their location coordinates (among other information); and (iii) scene-based audio, which involves representing the sound field using coefficients of spherical harmonic basis functions (also called “spherical harmonic coefficients” or SHC, “Higher Order Ambisonics” or HOA and “HOA coefficients” The future MPEG encoder can be described in more detail in a document entitled “Call for Proposals for 3D Audio,” by the International Organization for Standardization/International Electrotechnical Commission (ISO)/(IEC) JTC1/SC29/WG11/N13411, released January 2013 in Geneva, Switzerland, and available at http://mpeg.chiariglione.org/sites/default/files/files/stan dards/parts/docs/w13411.zip.

[0028] Existem vários formatos de “som ambiente” baseados em canais no mercado. Eles variam, por exemplo, do sistema home theater 5.1 (que tem sido o mais bem-sucedido em termos de fazer incursões em salas de estar além de estéreo) para o sistema 22.2 desenvolvido pela NHK (Nippon Hoso Kyokai ou Japan Broadcasting Corporation). Os criadores de conteúdo (por exemplo, os estúdios de Hollywood) gostariam de produzir a trilha sonora de um filme uma vez e não gastar o esforço para remixá-la para cada configuração de alto-falante. Recentemente, as Organizações de Desenvolvimento de Padrões têm considerado modos de fornecer uma codificação para um bitstream padronizado e uma decodificação subsequente que seja adaptável e agnóstica à geometria (e número) do alto- falante e às condições acústicas no local da reprodução (envolvendo um renderizador).[0028] There are several channel-based “ambient sound” formats on the market. They range, for example, from the 5.1 home theater system (which has been the most successful in terms of making inroads into living rooms beyond stereo) to the 22.2 system developed by NHK (Nippon Hoso Kyokai or Japan Broadcasting Corporation). Content creators (eg Hollywood studios) would like to produce a movie's soundtrack once and not spend the effort remixing it for every speaker setup. Recently, Standards Development Organizations have been considering ways to provide an encoding for a standardized bitstream and subsequent decoding that is adaptive and agnostic to speaker geometry (and number) and acoustic conditions at the playback location (involving a renderer). ).

[0029] Para fornecer essa flexibilidade aos criadores de conteúdo, um conjunto hierárquico de elementos pode ser usado para representar um campo de som. O conjunto hierárquico de elementos pode se referir a um conjunto de elementos nos quais os elementos são ordenados de forma que um conjunto básico de elementos ordenados inferiores fornece uma representação completa do campo de som modelado. À medida que o conjunto é estendido para incluir elementos de ordem superior, a representação torna- se mais detalhada, aumentando a resolução.[0029] To provide this flexibility to content creators, a hierarchical set of elements can be used to represent a sound field. The hierarchical set of elements can refer to a set of elements in which the elements are ordered such that a basic set of lower-ordered elements provides a complete representation of the modeled sound field. As the set is extended to include higher-order elements, the representation becomes more detailed, increasing resolution.

[0030] Um exemplo de um conjunto hierárquico de elementos é um conjunto de coeficientes harmônicos esféricos (SHC). A expressão a seguir demonstra uma descrição ou representação de um campo de som usando SHC:

Figure img0001
[0030] An example of a hierarchical set of elements is a set of spherical harmonic coefficients (SHC). The following expression demonstrates a description or representation of a sound field using SHC:
Figure img0001

[0031] A expressão mostra que a pressão pt em qualquer ponto {rr,θr,ϕr} do campo de som, no momento t, pode ser representada unicamente pelo SHC,

Figure img0002
. Aqui
Figure img0003
, c é a velocidade do som (~343 m/s) , {rr,θr,ϕr} é um ponto de referência (ou ponto de observação) , jn(•) é a função de Bessel esférica da ordem n, e
Figure img0004
, são as funções de base harmônica esférica de ordem n e subordem m. Deve-se reconhecer que o termo em colchetes quadrados é uma representação do domínio de frequência do sinal (i.e.,S(ω,rr, θr,ϕr)) que pode ser aproximada pelas várias transformadas de tempo-frequência, como a transformada de Fourier discreta (DFT), a transformada de cosseno discreta (DCT) ou uma transformada em ondeleta. Outros exemplos de conjuntos hierárquicos incluem conjuntos de coeficientes de transformada em ondeleta e outros conjuntos de coeficientes de funções de base de multiresolução.[0031] The expression shows that the pressure pt at any point {rr,θr,ϕr} in the sound field, at time t, can be represented solely by the SHC,
Figure img0002
. Here
Figure img0003
, c is the speed of sound (~343 m/s) , {rr,θr,ϕr} is a reference point (or observation point), jn(•) is the spherical Bessel function of order n, and
Figure img0004
, are the spherical harmonic basis functions of order n and suborder m. It should be recognized that the term in square brackets is a representation of the signal frequency domain (ie,S(ω,rr, θr,ϕr)) that can be approximated by various time-frequency transforms, such as the Fourier transform discrete (DFT), the discrete cosine transform (DCT) or a wavelet transform. Other examples of hierarchical sets include wavelet transform coefficient sets and other multiresolution base function coefficient sets.

[0032] A FIG. 1 é um diagrama ilustrando funções de base harmônica esférica a partir da ordem zero (n = 0) até a quarta ordem (n = 4). Como pode ser visto, para cada ordem, há uma expansão de subordens m que é mostrada mas não explicitamente observadas no exemplo da FIG. 1 para facilidade dos fins de ilustração.[0032] FIG. 1 is a diagram illustrating spherical harmonic basis functions from zero order (n = 0) to fourth order (n = 4). As can be seen, for each order, there is an expansion of suborders m which is shown but not explicitly observed in the example in FIG. 1 for ease of illustration purposes.

[0033] O SHC

Figure img0005
pode ou ser fisicamente adquirido (ex., gravado) por várias configurações de arranjo de microfone ou, alternativamente, eles podem ser derivados de descrições baseada em canal ou baseada em objeto do campo de som. O SHC represente o áudio baseado na cena, onde o SHC pode ser inserido em um codificador de áudio para obter o SHC codificado que pode promover a transmissão ou armazenamento mais eficiente. Por exemplo, uma representação de quarta ordem que envolve coeficientes (1+4)2 (25, e portanto, de quarta ordem) pode ser usada.[0033] The SHC
Figure img0005
can either be physically acquired (eg, recorded) by various microphone array configurations or, alternatively, they can be derived from channel-based or object-based descriptions of the sound field. SHC represents scene-based audio, where SHC can be inserted into an audio encoder to get encoded SHC which can promote more efficient transmission or storage. For example, a fourth-order representation involving coefficients (1+4)2 (25, and therefore fourth-order) can be used.

[0034] Como observado acima, o SHC pode ser derivado de uma gravação de microfone usando um arranjo de microfone. Vários exemplos de como o SHC pode ser derivado dos arranjos de microfone são descritos em Poletti, M., “Three-Dimensional Surround Sound Systems Based on Spherical Harmonics”, J. Audio Eng. Soc., Vol. 53, No. 11, Novembro de 2005, pp. 1004-1025.[0034] As noted above, SHC can be derived from a microphone recording using a microphone array. Several examples of how SHC can be derived from microphone arrays are described in Poletti, M., “Three-Dimensional Surround Sound Systems Based on Spherical Harmonics”, J. Audio Eng. Soc., Vol. 53, No. 11, November 2005, p. 1004-1025.

[0035] Para ilustrar como os SHCs podem ser derivados de uma descrição baseada em objeto, considere a seguinte equação. Os coeficientes

Figure img0006
para o campo de som correspondente a um objeto de áudio individual podem ser expressos como:
Figure img0007
onde i é
Figure img0008
é a função de Hankel esférica (do segundo tipo) de ordem n, e {rs, θs, ϕs] é a localização do objeto. Conhecer a fonte de energia do objeto g(w) como uma função da frequência (por exemplo, usando técnicas de análise de frequência de tempo, como executar uma transformada de Fourier rápida no fluxo de PCM) nos permite converter cada objeto PCM e o local correspondente no SHC,
Figure img0009
Além disso, pode ser mostrado (uma vez que o acima é uma decomposição linear e ortogonal) que os coeficientes
Figure img0010
para cada objeto são aditivos. Desta maneira, uma multiplicidade de objetos PCM pode ser representada pelos coeficientes
Figure img0011
(por exemplo, como uma soma dos vetores de coeficiente para os objetos individuais). Essencialmente, os coeficientes contêm informações sobre o campo de som (a pressão em função de coordenadas 3D), e o acima representa a transformação de objetos individuais para uma representação do campo de som global, na vizinhança do ponto de observação {rr,θr,ϕr}. As figuras restantes são descritas abaixo no contexto da codificação de áudio baseada em objeto e baseada em SHC.[0035] To illustrate how SHCs can be derived from an object-based description, consider the following equation. The coefficients
Figure img0006
for the sound field corresponding to an individual audio object can be expressed as:
Figure img0007
where i is
Figure img0008
is the spherical Hankel function (of the second type) of order n, and {rs, θs, ϕs] is the location of the object. Knowing the energy source of the object g(w) as a function of frequency (e.g. using time frequency analysis techniques such as performing a fast Fourier transform on the PCM stream) allows us to convert each PCM object and location correspondent in the SHC,
Figure img0009
Furthermore, it can be shown (since the above is a linear and orthogonal decomposition) that the coefficients
Figure img0010
for each object are additive. In this way, a multiplicity of PCM objects can be represented by the coefficients
Figure img0011
(for example, as a sum of the coefficient vectors for the individual objects). Essentially, the coefficients contain information about the sound field (the pressure as a function of 3D coordinates), and the above represents the transformation of individual objects to a representation of the global sound field, in the vicinity of the observation point {rr,θr, ϕr}. The remaining figures are described below in the context of object-based and SHC-based audio encoding.

[0036] A FIG. 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 FIG. 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údos 12 e do dispositivo consumidor de conteúdo 14, as técnicas podem ser implementadas em qualquer contexto em que os SHCs (que também podem ser referidos como coeficientes HOA) ou qualquer outra representação hierárquica de um campo de som são codificados para formar um bitstream 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 telefone móvel (ou telefone celular), um computador tablet, um smartphone ou um computador desktop para fornecer alguns exemplos. De modo similar, 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 telefone móvel (ou telefone celular), um computador tablet, um smartphone, um decodificador ou um computador desktop para fornecer alguns exemplos.[0036] FIG. 2 is a diagram illustrating a system 10 that can perform various aspects of the techniques described in this disclosure. As shown in the example of FIG. 2, the system 10 includes a content creator device 12 and a content consuming device 14. While described in the context of the content creator device 12 and the content consuming device 14, the techniques can be implemented in any context where SHCs (which may also be referred to as HOA coefficients) or any other hierarchical representation of a sound field are encoded to form a representative bitstream of the audio data. In addition, content creator device 12 may represent any form of computing device capable of implementing the techniques described in this disclosure, including a mobile phone (or cell phone), a tablet computer, a smartphone, or a desktop computer to provide some examples. . Similarly, content consuming device 14 may represent any form of computing device capable of implementing the techniques described in this disclosure, including a mobile phone (or cell phone), a tablet computer, a smartphone, a set-top box or a desktop computer. to provide some examples.

[0037] O dispositivo criador de conteúdo 12 pode ser operado por um estúdio de filme ou outra entidade que pode gerar conteúdo de áudio multicanal para consumo pelos operadores de dispositivos de consumo de conteúdo, 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 os coeficientes HOA 11. Muitas vezes, 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.[0037] Content creator device 12 may be operated by a film studio or other entity that can generate multi-channel audio content for consumption by operators of content consumption devices, such as content consuming device 14. In some examples, the content creator device 12 can be operated by an individual user who would like to compress the HOA coefficients 11. Often, the content creator generates audio content in conjunction with video content. Content consuming device 14 may be operated by an individual. Content consuming device 14 may include an audio playback system 16, which may refer to any form of audio playback system capable of rendering SHC for playback as multi-channel audio content.

[0038] 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ários formatos (incluindo diretamente como coeficientes HOA) e objetos de áudio 9, que o dispositivo criador de conteúdo 12 pode editar utilizando o sistema de edição de áudio 18. Um microfone 5 pode capturar as gravações ao vivo 7. O criador de conteúdo pode, durante o processo de edição, renderizar coeficientes de HOA 11 a partir de objetos de áudio 9, ouvindo os feeds de alto-falante renderizados em uma tentativa de identificar vários aspectos do campo de som que necessitem de mais edição. O dispositivo criador de conteúdo 12 pode então editar os coeficientes HOA 11 (potencialmente indiretamente através da manipulação de diferentes dos objetos de áudio 9 a partir dos quais os coeficientes HOA de fonte podem ser derivados da forma descrita acima). O dispositivo criador de conteúdo 12 pode empregar o sistema de edição de áudio 18 para gerar os coeficientes 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 de harmônicos esféricos de fonte.[0038] Content creator device 12 includes an audio editing system 18. Content creator device 12 obtains live recordings 7 in various formats (including directly as HOA coefficients) and audio objects 9, which the content creator device content 12 can edit using the audio editing system 18. A microphone 5 can capture the live recordings 7. The content creator can, during the editing process, render HOA coefficients 11 from audio objects 9 by listening the rendered speaker feeds in an attempt to identify various aspects of the sound field that need further editing. The content creator device 12 can then edit the HOA coefficients 11 (potentially indirectly through manipulation of different audio objects 9 from which the source HOA coefficients can be derived in the manner described above). The content creator device 12 may employ the audio editing system 18 to generate the HOA coefficients 11. The audio editing system 18 represents any system capable of editing audio data and producing the audio data as one or more coefficients of spherical source harmonics.

[0039] Quando o processo de edição está completo, o dispositivo criador de conteúdo 12 pode gerar um bitstream 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 de outro modo comprimir os coeficientes HOA 11 de acordo com vários aspectos das técnicas descritas nesta revelação para gerar o bitstream 21. O dispositivo de codificação de áudio 20 pode gerar o bitstream 21 para transmissão, como um exemplo, através de um canal de transmissão, que pode ser um canal com ou sem fios, um dispositivo de armazenamento de dados ou semelhante. O bitstream 21 pode representar uma versão codificada dos coeficientes HOA 11 e pode incluir um bitstream primário e outro bitstream lateral, que podem ser referidos como informação de canal lateral.[0039] When the editing process is complete, content creator device 12 can generate a bitstream 21 based on HOA coefficients 11. That is, content creator device 12 includes an audio encoding device 20 that represents a device configured to encode or otherwise compress HOA coefficients 11 in accordance with various aspects of the techniques described in this disclosure for generating bitstream 21. Audio encoding device 20 may generate bitstream 21 for transmission, as an example, through a transmission channel, which may be a wired or wireless channel, a data storage device or the like. Bitstream 21 may represent an encoded version of HOA coefficients 11 and may include a primary bitstream and another side bitstream, which may be referred to as side channel information.

[0040] Enquanto mostrado na FIG. 2 como sendo diretamente transmitido para o dispositivo consumidor de conteúdo 14, o dispositivo criador de conteúdo 12 pode emitir o bitstream 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 intermédio pode armazenar o bitstream 21 para distribuição posterior para o dispositivo consumidor de conteúdo 14, o qual pode solicitar o bitstream. O dispositivo intermédio pode compreender um servidor de arquivo, um servidor da web, um computador desktop, um computador portátil, um computador tablet, um telefone móvel, um smartphone ou qualquer outro dispositivo capaz de armazenar o bitstream 21 para posterior recuperação por um decodificador de áudio. O dispositivo intermediário pode residir em uma rede de distribuição de conteúdo capaz de transmitir o fluxo contínuo do bitstream 21 (e possivelmente em conjunto com a transmissão de um fluxo de dados de dados de vídeo correspondente) aos assinantes, como o dispositivo consumidor de conteúdo 14, solicitando o bitstream 21.[0040] While shown in FIG. 2 as being directly transmitted to the content consuming device 14, the content creating device 12 may output the bitstream 21 to an intermediate device positioned between the content creating device 12 and the content consuming device 14. The intermediate device may store the bitstream 21 for later distribution to content consuming device 14, which can request the bitstream. The intermediate device may comprise a file server, a web server, a desktop computer, a laptop computer, a tablet computer, a mobile phone, a smartphone or any other device capable of storing the bitstream 21 for later retrieval by a decoder. audio. The intermediate device may reside in a content delivery network capable of streaming the bitstream 21 (and possibly in conjunction with the transmission of a corresponding video data stream) to subscribers, such as the content consuming device 14 , requesting bitstream 21.

[0041] Alternativamente, o dispositivo criador de conteúdo 12 pode armazenar o bitstream 21 em uma mídia de armazenamento, 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 são capazes de ser lidas por um computador e portanto, podem ser referidas como mídias de armazenamento legíveis por computador ou mídias de armazenamento legíveis por computador não transitórias. Neste contexto, o canal de transmissão pode se referir aos canais pelos quais o conteúdo armazenado para as mídias é transmitido (e pode incluir lojas de varejo e outro mecanismo de distribuição baseado em loja). Em qualquer caso, as técnicas desta descrição não devem, portanto, ser limitadas a este respeito ao exemplo da FIG. 2.[0041] Alternatively, content creator device 12 may store bitstream 21 on storage media such as a compact disc, digital video disc, high definition video disc, or other storage media, most of which are capable of being read by a computer and therefore may be referred to as computer-readable storage media or non-transient computer-readable storage media. In this context, broadcast channel can refer to the channels through which content stored for media is broadcast (and can include retail stores and other store-based distribution mechanisms). In any case, the techniques of this description should therefore not be limited in this regard to the example of FIG. two.

[0042] Como mostrado adicionalmente no exemplo da FIG. 2, o dispositivo criador de conteúdo 14 inclui um 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 multicanal. O sistema de reprodução de áudio 16 pode incluir um número de renderizadores diferentes 22. Os renderizadores 22 podem proporcionar, cada um, uma forma diferente de renderização, onde as diferentes formas de renderização podem incluir uma ou mais das várias formas de realizar o posicionamento de amplitude a base de vetor (VBAP) e/ou uma ou mais das várias formas de realizar a síntese do campo de som. Como aqui utilizado, “A e/ou B” significa “A ou B”, ou ambos “A e B”.[0042] As further shown in the example of FIG. 2 , content creator device 14 includes an audio reproduction system 16. Audio reproduction system 16 may represent any audio reproduction system capable of reproducing multi-channel audio data. The audio reproduction system 16 may include a number of different renderers 22. The renderers 22 may each provide a different form of rendering, where the different forms of rendering may include one or more of several ways of performing audio positioning. vector-based amplitude (VBAP) and/or one or more of several ways to perform sound field synthesis. As used herein, "A and/or B" means "A or B", or both "A and B".

[0043] O sistema de reprodução de áudio 16 pode ainda incluir um dispositivo de decodificação de áudio 24. O dispositivo de decodificação de áudio 24 pode representar um dispositivo configurado para decodificar os coeficientes HOA 11’ a partir do bitstream 21, onde os coeficientes de HOA 11’ podem ser semelhantes aos coeficientes de HOA 11 mas diferem devido a operações com perdas (por exemplo, quantização) e/ou através do canal de transmissão. O sistema de reprodução de áudio 16 pode, depois de decodificar o bitstream 21 obter os coeficientes de HOA 11’ e renderizar os coeficientes de HOA 11’ para fornecer feeds de alto-falante de saída 25. Os feeds de alto-falantes 25 podem acionar um ou mais alto-falantes (que não estão ilustrados no exemplo da FIG. 2 para facilidade dos fins de ilustração).[0043] Audio reproduction system 16 may further include an audio decoding device 24. Audio decoding device 24 may represent a device configured to decode HOA coefficients 11' from bitstream 21, where HOA 11' may be similar to HOA 11 coefficients but differ due to lossy operations (eg quantization) and/or across the transmission channel. Audio reproduction system 16 may, after decoding bitstream 21, obtain HOA coefficients 11' and render HOA coefficients 11' to provide output speaker feeds 25. Speaker feeds 25 may drive one or more loudspeakers (which are not illustrated in the example of FIG. 2 for ease of illustration purposes).

[0044] Para selecionar o processador apropriado ou, em alguns casos, gerar um renderizador apropriado, o sistema de reprodução de áudio 16 pode obter informação de alto-falante 13 indicativa de um número de alto-falantes e/ou uma geometria espacial dos alto- falantes. Em alguns casos, o sistema de reprodução de áudio 16 pode obter a informação de alto-falante 13 utilizando um microfone de referência e acionando os alto- falantes de modo a determinar dinamicamente a informação do alto-falante 13. Em outros casos ou em conjunto com a determinação dinâmica da informação do alto-falante 13, o sistema de reprodução de áudio 16 pode pedir a um usuário que interaja com o sistema de reprodução de áudio 16 e introduza a informação de alto-falante 13.[0044] To select the appropriate processor or, in some cases, generate an appropriate renderer, the audio reproduction system 16 may obtain speaker information 13 indicative of a number of speakers and/or a spatial geometry of the loudspeakers. - speakers. In some cases, the audio reproduction system 16 may obtain information from speaker 13 using a reference microphone and driving the speakers so as to dynamically determine information from speaker 13. In other cases or together with the dynamic determination of the information from the speaker 13, the audio reproduction system 16 can ask a user to interact with the audio reproduction system 16 and input the information from the speaker 13.

[0045] O sistema de reprodução de áudio 16 pode então selecionar um dos renderizadores de áudio 22 com base na informação do alto-falante 13. Em alguns casos, o sistema de reprodução de áudio 16 pode, quando nenhum dos renderizadores de áudio 22 está dentro de uma medida de similaridade de limite (em termos da geometria de alto- falante) para a geometria de alto-falante especificada na informação de alto-falante 13, gerar um dos renderizadores de áudio 22 com base nas informações do alto-falante 13. O sistema de reprodução de áudio 16 pode, em alguns casos, gerar um dos renderizadores de áudio 22 com base na informação de alto-falante 13 sem primeiro tentar selecionar um existente dos renderizadores de áudio 22. Um ou mais alto-falantes 3 podem então reproduzir os feeds de alto-falante renderizados 25.[0045] Audio playback system 16 may then select one of audio renderers 22 based on information from speaker 13. In some cases, audio playback system 16 may, when none of audio renderers 22 are within a threshold similarity measure (in terms of speaker geometry) for the speaker geometry specified in speaker information 13, generate one of audio renderers 22 based on speaker information 13 The audio playback system 16 may, in some cases, generate one of the audio renderers 22 based on speaker information 13 without first attempting to select an existing one of the audio renderers 22. One or more speakers 3 may then play the rendered speaker feeds 25.

[0046] Em alguns casos, o sistema de reprodução de áudio 16 pode selecionar qualquer um dos renderizadores de áudio 22 e pode ser configurado para selecionar um ou mais dos renderizadores de áudio 22 dependendo da fonte a partir da qual o bitstream 21 é recebido (como um leitor de DVD, um leitor Blu-ray, um smartphone, um computador tablet, um sistema de jogos e uma televisão para fornecer alguns exemplos). Embora qualquer um dos renderizadores de áudio 22 possa ser selecionado, muitas vezes o processador de áudio utilizado ao criar o conteúdo fornece uma forma melhor (e possivelmente a melhor) de renderização devido ao fato de o conteúdo ter sido criado pelo criador de conteúdo 12 utilizando este processador de áudio específico, isto é, o processador de áudio 5 no exemplo da FIG. 3. Selecionar um dos renderizadores de áudio 22 que é o mesmo ou pelo menos próximo (em termos de forma de renderização) pode proporcionar uma melhor representação do campo de som e pode resultar em uma melhor experiência de som ambiente para o consumidor de conteúdos 14.[0046] In some cases, the audio playback system 16 may select any of the 22 audio renderers and may be configured to select one or more of the 22 audio renderers depending on the source from which the 21 bitstream is received ( such as a DVD player, a Blu-ray player, a smartphone, a tablet computer, a gaming system and a television to give a few examples). While any of the audio renderers 22 can be selected, often the audio processor used when creating the content provides a better (and possibly the best) form of rendering due to the content being created by the content creator 12 using this specific audio processor, i.e. the audio processor 5 in the example of FIG. 3. Selecting one of the audio renderers 22 that is the same or at least close (in terms of rendering form) can provide a better representation of the sound field and can result in a better ambient sound experience for the content consumer 14 .

[0047] De acordo com as técnicas descritas nesta revelação, o dispositivo de codificação de áudio 20 pode gerar o bitstream 21 para incluir a informação de renderização de áudio 2 (“render info 2”). A informação de renderização de áudio 2 pode incluir um valor de sinal que identifica um renderizador de áudio utilizado quando se gera o conteúdo de áudio multicanal, isto é, o renderizador de áudio 1 no exemplo da FIG. 3. Em alguns casos, o valor de sinal inclui uma matriz usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0047] In accordance with the techniques described in this disclosure, the audio encoding device 20 can generate the bitstream 21 to include the audio rendering information 2 ("render info 2"). The audio rendering information 2 may include a signal value that identifies an audio renderer used when generating multichannel audio content, i.e., the audio renderer 1 in the example of FIG. 3. In some cases, the signal value includes a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0048] Em alguns casos, o valor de sinal inclui dois ou mais bits que definem um índice que indica que o bitstream inclui uma matriz utilizada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. Em alguns casos, quando é utilizado um índice, o valor de sinal inclui ainda dois ou mais bits que definem um número de linhas da matriz incluída no bitstream e dois ou mais bits que definem um número de colunas da matriz incluída no bitstream. Usando estas informações e dado que cada coeficiente da matriz bidimensional é tipicamente definido por um número de ponto flutuante de 32 bits, o tamanho em termos de bits da matriz pode ser calculado como uma função do número de linhas, o número de colunas e o tamanho dos números de ponto flutuante que definem cada coeficiente da matriz, ou seja, 32 bits neste exemplo.[0048] In some cases, the signal value includes two or more bits that define an index that indicates that the bitstream includes an array used to render spherical harmonic coefficients for a plurality of speaker feeds. In some cases, when an index is used, the sign value further includes two or more bits that define a number of rows of the matrix included in the bitstream and two or more bits that define a number of columns of the matrix included in the bitstream. Using this information and given that each coefficient of the two-dimensional matrix is typically defined by a 32-bit floating point number, the bit size of the matrix can be calculated as a function of the number of rows, the number of columns and the size. of the floating point numbers that define each coefficient of the matrix, that is, 32 bits in this example.

[0049] Em alguns casos, o valor de sinal especifica um algoritmo de renderização usado para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. O algoritmo de renderização pode incluir uma matriz que é conhecida tanto pelo dispositivo de codificação de áudio 20 como pelo dispositivo de decodificação 24. Isto é, o algoritmo de renderização pode incluir a aplicação de uma matriz além de outras etapas de renderização, como posicionamento (por exemplo, VBAP, DBAP ou posicionamento simples) ou filtragem NFC. Em alguns casos, o valor de sinal inclui dois ou mais bits que definem um índice associado com uma de uma pluralidade de matrizes utilizadas para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. Mais uma vez, tanto o dispositivo de codificação de áudio 20 como o dispositivo de decodificação 24 podem ser configurados com informação que indica a pluralidade de matrizes e a ordem da pluralidade de matrizes de modo que o índice pode identificar de forma única uma matriz particular da pluralidade de matrizes. Alternativamente, o dispositivo de codificação de áudio 20 pode especificar dados no bitstream 21 que definem a pluralidade de matrizes e/ou a ordem da pluralidade de matrizes de modo que o índice pode identificar de forma única uma matriz particular da pluralidade de matrizes.[0049] In some cases, the signal value specifies a rendering algorithm used to render spherical harmonic coefficients for a plurality of speaker feeds. The rendering algorithm may include a matrix that is known to both the audio encoding device 20 and the decoding device 24. That is, the rendering algorithm may include applying a matrix in addition to other rendering steps, such as positioning ( for example VBAP, DBAP or simple placement) or NFC filtering. In some cases, the signal value includes two or more bits that define an index associated with one of a plurality of matrices used to render spherical harmonic coefficients for a plurality of speaker feeds. Again, both the audio encoding device 20 and the decoding device 24 can be configured with information indicating the plurality of matrices and the order of the plurality of matrices so that the index can uniquely identify a particular matrix of the plurality of matrices. Alternatively, the audio encoding device 20 may specify data in the bitstream 21 that define the plurality of matrices and/or the order of the plurality of matrices so that the index can uniquely identify a particular matrix of the plurality of matrices.

[0050] Em alguns casos, o valor de sinal inclui dois ou mais bits que definem um índice associado com uma de uma pluralidade de algoritmos de renderização utilizados para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. Mais uma vez, tanto o dispositivo de codificação de áudio 20 como o dispositivo de decodificação 24 podem ser configurados com informação que indica a pluralidade de algoritmos de renderização e a ordem da pluralidade de algoritmos de renderização de modo que o índice pode identificar de forma única uma matriz particular da pluralidade de matrizes. Alternativamente, o dispositivo de codificação de áudio 20 pode especificar dados no bitstream 21 que definem a pluralidade de matrizes e/ou a ordem da pluralidade de matrizes de modo que o índice pode identificar de forma única uma matriz particular da pluralidade de matrizes.[0050] In some cases, the signal value includes two or more bits that define an index associated with one of a plurality of rendering algorithms used to render spherical harmonic coefficients for a plurality of speaker feeds. Again, both the audio encoding device 20 and the decoding device 24 can be configured with information indicating the plurality of rendering algorithms and the order of the plurality of rendering algorithms so that the index can uniquely identify a particular matrix of the plurality of matrices. Alternatively, the audio encoding device 20 may specify data in the bitstream 21 that define the plurality of matrices and/or the order of the plurality of matrices so that the index can uniquely identify a particular matrix of the plurality of matrices.

[0051] Em alguns casos, o dispositivo de codificação de áudio 20 especifica a informação de renderização de áudio 2 em uma base de quadro de áudio no bitstream. Em outros casos, o dispositivo de codificação de áudio 20 especifica a informação de renderização de áudio 2 uma única vez no bitstream.[0051] In some cases, audio encoding device 20 specifies audio rendering information 2 on an audio frame basis in the bitstream. In other cases, the audio encoding device 20 specifies the audio rendering information 2 once in the bitstream.

[0052] O dispositivo de decodificação 24 pode então determinar a informação de renderização de áudio 2 especificada no bitstream. Com base no valor de sinal incluído na informação de renderização de áudio 2, o sistema de reprodução de áudio 16 pode renderizar uma pluralidade de feeds de alto-falante 25 com base na informação de renderização de áudio 2. Como observado acima, o valor de sinal pode, em alguns casos, incluir uma matriz usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. Neste caso, o sistema de reprodução de áudio 16 pode configurar um dos renderizadores de áudio 22 com a matriz, utilizando este um dos renderizadores de áudio 22 para renderizar os feeds de alto-falante 25 com base na matriz.[0052] Decoding device 24 can then determine the audio rendering information 2 specified in the bitstream. Based on the signal value included in the audio rendering information 2, the audio playback system 16 can render a plurality of speaker feeds 25 based on the audio rendering information 2. As noted above, the value of signal may, in some cases, include a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds. In this case, the audio playback system 16 can configure one of the audio renderers 22 with the matrix, this using one of the audio renderers 22 to render the speaker feeds 25 based on the matrix.

[0053] Em alguns casos, o valor de sinal inclui dois ou mais bits que definem um índice que indica que o bitstream inclui uma matriz utilizada para renderizar os coeficientes HOA 11’ para os feeds de alto-falante 25. O dispositivo de decodificação 24 pode analisar a matriz a partir do bitstream em resposta ao índice, após o que o sistema de reprodução de áudio 16 pode configurar um dos renderizadores de áudio 22 com a matriz analisada e invocar este um dos processadores 22 para renderizar os feeds de alto-falante 25. Quando o valor de sinal inclui dois ou mais bits que definem um número de linhas da matriz incluída no bitstream e dois ou mais bits que definem um número de colunas da matriz incluída no bitstream, o dispositivo de decodificação 24 pode analisar a matriz do bitstream em resposta ao índice e com base nos dois ou mais bits que definem um número de linhas e os dois ou mais bits que definem o número de colunas da maneira descrita acima.[0053] In some cases, the signal value includes two or more bits that define an index indicating that the bitstream includes an array used to render HOA coefficients 11' for speaker feeds 25. Decoding device 24 can parse the array from the bitstream in response to the index, after which the audio playback system 16 can configure one of the audio renderers 22 with the parsed array and invoke this one of the processors 22 to render the speaker feeds 25. When the sign value includes two or more bits that define a number of rows of the matrix included in the bitstream and two or more bits that define a number of columns of the matrix included in the bitstream, the decoding device 24 can parse the matrix of the bitstream in response to the index and based on the two or more bits that define a number of rows and the two or more bits that define the number of columns in the manner described above.

[0054] Em alguns casos, o valor de sinal especifica um algoritmo de renderização usado para renderizar os coeficientes HOA 11’ para os feeds de alto- falante 25. Nestes casos, alguns ou todos os renderizadores de áudio 22 podem executar estes algoritmos de renderização. O dispositivo de reprodução de áudio 16 pode então utilizar o algoritmo de renderização especificado, por exemplo, um dos renderizadores de áudio 22, para renderizar os feeds de alto-falante 25 a partir dos coeficientes HOA 11’.[0054] In some cases, the signal value specifies a rendering algorithm used to render the HOA coefficients 11' for the speaker feeds 25. In these cases, some or all of the audio renderers 22 may execute these rendering algorithms . The audio player 16 can then use the specified rendering algorithm, for example one of the audio renderers 22, to render the speaker feeds 25 from the HOA coefficients 11'.

[0055] Quando o valor de sinal inclui dois ou mais bits que definem um índice associado a uma de uma pluralidade de matrizes utilizadas para renderizar os coeficientes HOA 11’para os feeds de alto-falantes 25, alguns ou todos os renderizadores de áudio 22 podem representar esta pluralidade de matrizes. Deste modo, o sistema de reprodução de áudio 16 pode renderizar os feeds de alto-falante 25 a partir dos coeficientes de HOA 11’ utilizando um dos renderizadores de áudio 22 associados ao índice.[0055] When the signal value includes two or more bits that define an index associated with one of a plurality of matrices used to render HOA coefficients 11' for speaker feeds 25, some or all of the audio renderers 22 can represent this plurality of matrices. In this way, the audio reproduction system 16 can render the speaker feeds 25 from the HOA coefficients 11' using one of the audio renderers 22 associated with the index.

[0056] Quando o valor de sinal inclui dois ou mais bits que definem um índice associado a uma de uma pluralidade de algoritmos de renderização utilizados para renderizar os coeficientes HOA 11’para os feeds de alto- falantes 25, alguns ou todos os renderizadores de áudio 34 podem representar estes algoritmos de renderização. Deste modo, o sistema de reprodução de áudio 16 pode renderizar os feeds de alto-falante 25 a partir dos coeficientes harmônicos esféricos 11’ utilizando um dos renderizadores de áudio 22 associados ao índice.[0056] When the signal value includes two or more bits that define an index associated with one of a plurality of rendering algorithms used to render HOA coefficients 11' for speaker feeds 25, some or all of the renderers of audio 34 can represent these rendering algorithms. In this way, the audio reproduction system 16 can render the speaker feeds 25 from the spherical harmonic coefficients 11' using one of the audio renderers 22 associated with the index.

[0057] Dependendo da frequência com que esta informação de renderização de áudio é especificada no bitstream, o dispositivo de decodificação 24 pode determinar a informação de renderização de áudio 2 em uma base por quadro de áudio ou de uma única vez.[0057] Depending on how often this audio rendering information is specified in the bitstream, the decoding device 24 may determine the audio rendering information 2 on a per audio frame or a one-time basis.

[0058] Especificando a informação de renderização de áudio 3 desta maneira, as técnicas podem potencialmente resultar em uma melhor reprodução do conteúdo de áudio multicanal e de acordo com a maneira pela qual o criador de conteúdo 12 pretendia que o conteúdo de áudio multicanal fosse reproduzido. Como resultado, as técnicas podem fornecer um som ambiente ou experiência de áudio multicanal mais imersiva.[0058] By specifying the audio rendering information 3 in this way, the techniques can potentially result in better reproduction of multi-channel audio content and in accordance with the manner in which the content creator 12 intended the multi-channel audio content to be reproduced . As a result, the techniques can provide a more immersive ambient sound or multi-channel audio experience.

[0059] Em outras palavras e como observado acima, o Ambissônicos de Ordem Superior (HOA) podem representar uma maneira pela qual descrever a informação direcional de um campo de som baseado em uma transformada de Fourier espacial. Tipicamente, quanto maior a ordem de Ambissônicos N, maior a resolução espacial, maior o número de coeficientes harmônicos esféricos (SH) (N+1)A2 e maior a largura de banda necessária para transmitir e armazenar os dados.[0059] In other words and as noted above, Higher Order Ambisonics (HOA) may represent a way in which to describe the directional information of a sound field based on a spatial Fourier transform. Typically, the higher the order of Ambisonics N, the greater the spatial resolution, the greater the number of spherical harmonic coefficients (SH) (N+1)A2 and the greater the bandwidth required to transmit and store the data.

[0060] Uma vantagem potencial desta descrição é a possibilidade de reproduzir este campo de som na maioria de qualquer das configurações de alto-falante (por exemplo, 5.1, 7.1 22.2, etc.). A conversão da descrição do campo de som em M sinais de alto-falante pode ser feita através de uma matriz de renderização estática com (N+1)2 entradas e M saídas. Consequentemente, cada configuração de alto-falante pode exigir uma matriz de renderização dedicada. Podem existir vários algoritmos para calcular a matriz de renderização para uma configuração de alto- falante desejada, que pode ser otimizada para determinadas medidas objetivas ou subjetivas, como os critérios de Gerzon. Para configurações de alto-falantes irregulares, os algoritmos podem tornar-se complexos devido aos procedimentos de otimização numéricos iterativos, como a otimização convexa. Para calcular uma matriz de renderização para layouts de alto-falante irregulares sem tempo de espera, pode ser benéfico ter recursos de computação suficientes disponíveis. Configurações de alto- falante irregulares podem ser comuns em ambientes domésticos de sala de estar devido a restrições arquitetônicos e preferências estéticas. Portanto, para a melhor reprodução de campos sonoros, uma matriz de renderização otimizada para tal cenário pode ser preferida na medida em que pode permitir a reprodução do campo de som com mais precisão.[0060] A potential advantage of this description is the possibility to reproduce this sound field in most any of the speaker configurations (eg 5.1, 7.1 22.2, etc.). The conversion of the sound field description into M speaker signals can be done through a static rendering matrix with (N+1)2 inputs and M outputs. Consequently, each speaker configuration may require a dedicated rendering matrix. There may be several algorithms to calculate the rendering matrix for a desired speaker configuration, which can be optimized for certain objective or subjective measures, such as the Gerzon criteria. For irregular speaker configurations, the algorithms can become complex due to iterative numerical optimization procedures such as convex optimization. To calculate a render matrix for irregular speaker layouts with no wait time, it can be beneficial to have sufficient compute resources available. Irregular speaker configurations can be common in home living room environments due to architectural restrictions and aesthetic preferences. Therefore, for the best reproduction of sound fields, a rendering matrix optimized for such a scenario may be preferred as it may allow sound field reproduction more accurately.

[0061] Como um decodificador de áudio geralmente não requer muitos recursos computacionais, o dispositivo pode não ser capaz de calcular uma matriz de renderização irregular em um tempo amigável ao consumidor. Vários aspectos das técnicas descritas nesta revelação podem proporcionar a utilização de uma abordagem de computação baseada na nuvem como a seguir: 1. O decodificador de áudio pode enviar através de uma conexão de Internet as coordenadas do alto-falante (e, em alguns casos, também as medições de SPL obtidas com um microfone de calibração) para um servidor; 2. O servidor baseado na nuvem pode calcular a matriz de renderização (e possivelmente algumas versões diferentes, para que o cliente possa mais tarde escolher entre essas diferentes versões); e 3. O servidor pode então enviar a matriz de renderização (ou as diferentes versões) de volta para o decodificador de áudio via conexão à Internet.[0061] As an audio decoder generally does not require a lot of computational resources, the device may not be able to calculate an irregular rendering matrix in a consumer-friendly time. Various aspects of the techniques described in this disclosure may provide for the use of a cloud-based computing approach as follows: 1. The audio decoder may send over an Internet connection the speaker coordinates (and, in some cases, also SPL measurements taken with a calibration microphone) to a server; 2. The cloud-based server can calculate the rendering matrix (and possibly a few different versions, so that the client can later choose between these different versions); and 3. The server can then send the rendering matrix (or different versions) back to the audio decoder via the Internet connection.

[0062] Essa abordagem pode permitir que o fabricante mantenha os custos de fabricação de um decodificador de áudio baixo (porque um processador poderoso pode não ser necessário para calcular essas matrizes de renderização irregulares), ao mesmo tempo que facilita uma reprodução de áudio mais ideal em comparação com as matrizes de renderização normalmente projetadas para configurações ou geometrias de alto-falantes. O algoritmo para calcular a matriz de renderização também pode ser otimizado depois que um decodificador de áudio ser enviado, potencialmente reduzindo os custos para revisões de hardware ou até mesmo recalls. As técnicas também podem, em alguns casos, reunir muita informação sobre diferentes configurações de alto-falantes de produtos de consumidor que podem ser benéficas para futuros desenvolvimentos de produto.[0062] This approach may allow the manufacturer to keep the manufacturing costs of an audio decoder low (because a powerful processor may not be needed to calculate these irregular rendering matrices), while also facilitating more optimal audio reproduction compared to rendering matrices typically designed for speaker configurations or geometries. The algorithm for calculating the rendering matrix can also be optimized after an audio decoder is shipped, potentially reducing costs for hardware overhauls or even recalls. The techniques can also, in some cases, gather a lot of information about different consumer product speaker configurations that can be beneficial for future product developments.

[0063] Em alguns casos, o sistema mostrado na FIG. 3 pode não sinalizar a informação de renderização de áudio 2 no bitstream 21 como descrito acima, mas sim sinalizar esta informação de renderização de áudio 2 como metadados separados do bitstream 21. Alternativamente ou em conjunto com o descrito acima, o sistema mostrado na FIG. 3 pode sinalizar uma porção da informação de renderização de áudio 2 no bitstream 21 como descrito acima e sinalizar uma porção desta informação de renderização de áudio 3 como metadados separados do bitstream 21. Em alguns exemplos, o dispositivo de codificação de áudio 20 pode produzir estes metadados, que podem então ser carregados para um servidor ou outro dispositivo. O dispositivo de decodificação de áudio 24 pode então descarregar ou de outro modo recuperar estes metadados, que são então utilizados para aumentar a informação de renderização de áudio extraída do bitstream 21 pelo dispositivo de decodificação de áudio 24. O bitstream 21 formado de acordo com os aspectos de informação de renderização das técnicas é descrito abaixo em relação aos exemplos das FIGs. 8A-8D.[0063] In some cases, the system shown in FIG. 3 may not flag audio rendering information 2 in bitstream 21 as described above, but rather flag this rendering audio information 2 as separate metadata from bitstream 21. Alternatively or in conjunction with the above, the system shown in FIG. 3 may signal a portion of the audio rendering information 2 in the bitstream 21 as described above and may signal a portion of this audio rendering information 3 as separate metadata from the bitstream 21. In some instances, the audio encoding device 20 may output these metadata, which can then be uploaded to a server or other device. The audio decoding device 24 can then download or otherwise retrieve this metadata, which is then used to augment the audio rendering information extracted from the bitstream 21 by the audio decoding device 24. The bitstream 21 is formed in accordance with the information rendering aspects of the techniques is described below with respect to the examples of FIGs. 8A-8D.

[0064] A FIG. 3 é um diagrama de blocos que ilustra, em mais detalhe, um exemplo do dispositivo de codificação de áudio 20 mostrado no exemplo da Fig. 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 baseada em direção 28. Embora brevemente descrito a seguir, mais informação sobre o dispositivo de codificação de áudio 20 e os vários aspectos da compressão ou de outro modo codificação de coeficientes de 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.[0064] FIG. 3 is a block diagram illustrating in more detail an example of the audio encoding device 20 shown in the example of Fig. 2 which can perform various aspects of the techniques described in this disclosure. The audio encoding device 20 includes a content analysis unit 26, a vector-based decomposition unit 27 and a direction-based decomposition unit 28. Although briefly described below, more information about the audio encoding device 20 and the various aspects of compressing or otherwise encoding HOA coefficients are available in International Patent Application Publication No. WO 2014/194099 entitled “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD” filed May 29, 2014.

[0065] 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 o conteúdo gerado a partir de uma gravação ao vivo ou um objeto de áudio. A unidade de análise de conteúdo 26 pode determinar se os coeficientes de HOA 11 foram gerados a partir de uma gravação de um campo de som real ou de um objeto de áudio artificial. Em alguns casos, quando os coeficientes de HOA enquadrados 11 foram 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 de HOA enquadrados 11 foram 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 decomposição baseada em direção 28. A unidade de síntese com base direcional 28 pode representar uma unidade configurada para executar uma síntese de base direcional dos coeficientes HOA 11 para gerar um bitstream com base direcional 21.[0065] Content analysis unit 26 represents a unit configured to analyze the content of HOA coefficients 11 to identify whether HOA coefficients 11 represent content generated from a live recording or an audio object. The content analysis unit 26 can determine whether the HOA coefficients 11 were generated from a recording of a real sound field or an artificial audio object. In some cases, when the framed HOA coefficients 11 were generated from a recording, the content analysis unit 26 passes the HOA coefficients 11 to the vector-based decomposition unit 27. In some cases, when the HOA coefficients frames 11 were generated from a synthetic audio object, the content analysis unit 26 passes the HOA coefficients 11 to the direction-based decomposition unit 28. The directional-based synthesis unit 28 may represent a unit configured to perform a directional basis synthesis of HOA 11 coefficients to generate a directional basis 21 bitstream.

[0066] Como mostrado no exemplo da FIG. 3, a unidade de decomposição baseada em vetor 27 pode incluir uma unidade de transformada inversível linear (LIT) 30, uma unidade de cálculo de parâmetros 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 codificador de áudio psicoacústico 40 , uma unidade de geração de bitstream 42, uma unidade de análise de campo de som 44, uma unidade de redução de coeficiente 46, uma unidade de seleção de fundo (BG) 48, uma unidade de interpolação espaço-temporal 50 e uma unidade de quantização 52.[0066] As shown in the example of FIG. 3, the vector-based decomposition unit 27 may include a linear invertible transform (LIT) unit 30, a parameter calculation unit 32, a reorder unit 34, a foreground selection unit 36, a compensation unit. 38, a psychoacoustic audio encoder unit 40, a bitstream generation unit 42, a sound field analysis unit 44, a coefficient reduction unit 46, a background selection (BG) unit 48, a spatiotemporal interpolation unit 50 and a quantization unit 52.

[0067] A unidade de transformada inversível linear (LIT) 30 recebe os coeficientes HOA 11 na forma dos canais HOA, cada canal representativo de um bloco ou quadro de um coeficiente associado com uma dada ordem, sub-ordem das funções de base esféricas (que podem ser denotadas como HOA[k], onde k pode denotar o quadro atual ou bloco de amostras). A matriz de coeficientes HOA 11 pode ter dimensões D: M x (N+1)2.[0067] Linear invertible transform unit (LIT) 30 receives HOA coefficients 11 in the form of HOA channels, each channel representative of a block or frame of a coefficient associated with a given order, sub-order of spherical base functions ( which can be denoted as HOA[k], where k can denote the current frame or block of samples). The HOA coefficient matrix 11 can have dimensions D: M x (N+1)2.

[0068] A unidade LIT 30 pode representar uma unidade configurada para realizar uma forma de análise referida como uma decomposição de valor singular. Embora descritas em relação à SVD, as técnicas descritas nesta descrição podem ser realizadas com relação a qualquer transformação ou decomposição semelhante que proporcione conjuntos de saída compactada de energia, linearmente não correlacionados. Também, referência aos “conjuntos” nesta revelação é geralmente pretendida para se referir aos conjuntos não nulos, a menos que especificamente indicado em contrário e não se destina a fazer referência à definição matemática clássica de conjuntos que inclui o chamado “conjunto vazio”. Uma transformada alternativa pode compreender uma análise de componente principais, que é frequentemente referida como “PCA”. Dependendo do contexto, a PCA pode ser referida por vários nomes diferentes, tais como a transformada de Karhunen-Loeve discreta, a transformada de Hotelling, decomposição ortogonal adequada (POD) e decomposição de valores próprios (EVD) para citar alguns exemplos. As propriedades de tais operações que são conducentes à meta subjacente de compressão de dados de áudio são “compactação de energia” e “decodificação” dos dados de áudio multicanal.[0068] The LIT unit 30 may represent a unit configured to perform a form of analysis referred to as a singular value decomposition. Although described with respect to SVD, the techniques described in this description can be performed with respect to any transformation or similar decomposition that provides linearly uncorrelated, energy-packed output sets. Also, reference to "sets" in this disclosure is generally intended to refer to non-zero sets unless specifically stated otherwise and is not intended to refer to the classical mathematical definition of sets which includes the so-called "empty set". An alternate transform may comprise a principal component analysis, which is often referred to as "PCA". Depending on the context, PCA can be referred to by several different names, such as the discrete Karhunen-Loeve transform, the Hotelling transform, proper orthogonal decomposition (POD) and eigenvalue decomposition (EVD) to name a few examples. The properties of such operations that are conducive to the underlying goal of audio data compression are “power compression” and “decoding” of multichannel audio data.

[0069] Em qualquer caso, assumindo que a unidade LIT 30 executa uma decomposição de valor singular (que, novamente, pode ser referida como “SVD”) para efeitos 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 pode incluir vetores de coeficientes HOA transformados. No exemplo da FIG. 3, a unidade LIT 30 pode executar 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 uma fatorização de uma matriz real ou complexa X de y-por-z (onde X pode representar dados de áudio multicanal, como os coeficientes de HOA 11) da seguinte forma: X = USV* U pode representar uma matriz unitária real ou complexa y-por-y, onde as colunas y de U são conhecidas como os vetores singulares esquerdos dos dados de áudio multicanal. S pode representar uma matriz diagonal y-por-z com números reais não negativos na diagonal, onde os valores diagonais de S são conhecidos como os valores singulares dos dados de áudio multicanal. V* (que pode denotar uma transposição de V) pode representar uma matriz unitária real ou complexa z-por-z, onde as colunas z de V* são conhecidas como os vetores singulares direitos dos dados de áudio multicanal.[0069] In any case, assuming that the LIT unit 30 performs a singular value decomposition (which, again, may be referred to as “SVD”) for the purposes of example, the LIT unit 30 can transform the HOA coefficients 11 into two or more sets of transformed HOA coefficients. The “sets” of transformed HOA coefficients can include vectors of transformed HOA coefficients. In the example of FIG. 3, the LIT unit 30 can perform SVD against HOA coefficients 11 to generate a so-called matrix V, a matrix S, and a matrix U. SVD, in linear algebra, can represent a factorization of a real or complex matrix X of y-by-z (where X can represent multichannel audio data, such as HOA 11 coefficients) as follows: X = USV* U can represent a real or complex y-by-y unitary matrix, where the y columns of U are known as the left singular vectors of multichannel audio data. S can represent a y-by-z diagonal matrix with non-negative real numbers on the diagonal, where the diagonal values of S are known as the singular values of the multichannel audio data. V* (which can denote a transposition of V) can represent a real or complex z-by-z unitary matrix, where the z columns of V* are known as the right singular vectors of the multichannel audio data.

[0070] Em alguns exemplos, a matriz V* na expressão matemática SVD referida acima é designada como a transposição conjugada da matriz V para refletir que a SVD pode ser aplicada às matrizes que compreendem números complexos. Quando aplicado às matrizes que compreendem somente números reais, o conjugado complexo da matriz V (ou, em outras palavras, a matriz V*) pode ser considerado como a transposição da matriz V. Abaixo, assume-se, para facilidade de ilustração, que os coeficientes HOA 11 compreendem números reais, com o resultado de que a matriz V é produzida através de SVD em vez da matriz V*. Além disso, embora denotada como a matriz V nesta descrição, referência à matriz V deve ser entendida como referindo-se à transposição da matriz V quando apropriado. Embora se presuma que seja a matriz V, as técnicas podem ser aplicadas de uma forma semelhante aos coeficientes HOA 11 com coeficientes complexos, onde a saída da SVD é a matriz V*. Consequentemente, as técnicas não devem ser limitadas a este respeito apenas para fornecer a aplicação de SVD para gerar uma matriz V, mas podem incluir a aplicação de SVD aos coeficientes HOA 11 tendo componentes complexos para gerar uma matriz V*.[0070] In some examples, the matrix V* in the mathematical expression SVD referred to above is designated as the conjugate transposition of the matrix V to reflect that the SVD can be applied to matrices comprising complex numbers. When applied to matrices comprising only real numbers, the complex conjugate of the matrix V (or, in other words, the matrix V*) can be thought of as the transposition of the matrix V. Below, it is assumed, for ease of illustration, that the HOA 11 coefficients comprise real numbers, with the result that matrix V is produced via SVD instead of matrix V*. Furthermore, although denoted as the V matrix in this description, reference to the V matrix should be understood as referring to the transposition of the V matrix where appropriate. Although it is assumed to be the V matrix, the techniques can be applied in a similar way to HOA 11 coefficients with complex coefficients, where the output of the SVD is the V* matrix. Consequently, the techniques should not be limited in this regard to just providing the application of SVD to generate a matrix V, but may include the application of SVD to HOA coefficients 11 having complex components to generate a matrix V*.

[0071] Deste modo, a unidade LIT 30 pode realizar SVD com relação aos coeficientes HOA 11 para produzir vetores US[k] 33 (que podem representar uma versão combinada dos vetores S e os vetores U) tendo dimensões D: M x (N2)2, e vetores V[k] 35 tendo dimensões D: (N+1)2 x (N+1)2. Elementos de vetor individuais na matriz US[k] tambpem podem ser chamados XpS(k) enquanto vetores individuais da matriz V[k] também podem ser chamados de v(k~).[0071] In this way, the LIT unit 30 can perform SVD with respect to the HOA coefficients 11 to produce US[k] 33 vectors (which can represent a combined version of the S vectors and the U vectors) having dimensions D: M x (N2 )2, and vectors V[k] 35 having dimensions D: (N+1)2 x (N+1)2. Individual vector elements in the matrix US[k] can also be called XpS(k) while individual vectors in the matrix V[k] can also be called v(k~).

[0072] Uma análise das matrizes U, S e V pode revelar que as matrizes carregam ou representam características espaciais e temporais do campo de som subjacente representado acima por X. Cada um dos N vetores em U (de amostras de comprimento M) 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 dissociados de quaisquer características espaciais (o que também pode ser referido como informação direcional). As características espaciais, que representam o formato espacial e posição (r, teta, fi) podem ao invés ser representadas pelos vetores individuais iésimo, u(l\k'), na matriz V (cada do comprimento (N+1)2) . Os elementos individuais de cada um dos vetores v^Çk) podem representar um coeficiente HOA que descreve o formato (incluindo a largura) e a posição do campo de som para um objeto de áudio associado. Ambos os vetores na matriz U e na matriz V são normalizados de tal forma que suas energias de média quadrática são iguais à unidade. A energia dos sinais de áudio em U é assim representada pelos elementos diagonais em S. Multiplicar U e S para formar US[k] (com os elementos de vetor individual XPS(k)), representa assim o sinal de áudio com energias. A capacidade da decomposição SVD para desacoplar os sinais de tempo de áudio (em U), as suas energias (em S) e as suas características espaciais (em V) podem suportar vários aspectos das técnicas descritas nesta revelação. Ainda, o modelo de sintetização dos coeficientes HOA subjacentes [k], X, por uma multiplicação de vetor de US[k] e V[k] dá origem ao termo “decomposição baseada em vetor”, o qual é usado por dodo este documento.[0072] An analysis of the U, S and V matrices can reveal that the matrices carry or represent spatial and temporal characteristics of the underlying sound field represented above by X. Each of the N U-shaped vectors (of samples of length M) can represent separate audio signals normalized as a function of time (for the time period represented by M samples), which are orthogonal to each other and which have been decoupled from any spatial features (which may also be referred to as directional information). The spatial features, which represent the spatial shape and position (r, theta, fi) can instead be represented by the ith individual vectors, u(l\k'), in the matrix V (each of length (N+1)2) . The individual elements of each of the vectors v^Çk) can represent an HOA coefficient that describes the shape (including width) and position of the sound field for an associated audio object. Both vectors in matrix U and matrix V are normalized such that their root mean square energies are equal to unity. The energy of the audio signals in U is thus represented by the diagonal elements in S. Multiplying U and S to form US[k] (with the individual vector elements XPS(k)), thus represents the audio signal with energies. The ability of SVD decomposition to decouple the audio time signals (in U), their energies (in S), and their spatial characteristics (in V) can support various aspects of the techniques described in this disclosure. Furthermore, the model of synthesizing the underlying HOA coefficients [k], X, by a vector multiplication of US[k] and V[k] gives rise to the term “vector-based decomposition”, which is used throughout this document. .

[0073] Embora descrito como sendo realizado diretamente em relação aos coeficientes HOA 11, a unidade LIT 30 pode aplicar a transformada linear inversível aos derivados 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 11 de HOA. Ao realizar a SVD em relação à densidade espectral de potência (PSD) dos coeficientes HOA em vez dos próprios coeficientes, a unidade LIT 30 pode potencialmente reduzir a complexidade computacional da realização de SVD em termos de um ou mais ciclos de processador e espaço de armazenamento, enquanto obtendo a mesma eficiência de codificação do áudio da fonte como se a SVD fosse aplicada diretamente aos coeficientes HOA.[0073] Although described as being performed directly with respect to HOA 11 coefficients, the LIT unit 30 can apply the invertible linear transform to the derivatives of the HOA 11 coefficients. For example, the LIT unit 30 can apply SVD with respect to a density matrix power spectral derived from HOA coefficients 11. By performing SVD against the power spectral density (PSD) of the HOA coefficients rather than the coefficients themselves, the LIT 30 unit can potentially reduce the computational complexity of performing SVD in terms of one or more processor cycles and storage space , while achieving the same coding efficiency of the source audio as if the SVD were applied directly to the HOA coefficients.

[0074] A unidade de cálculo de parâmetro 32 representa uma unidade configurada para calcular vários parâmetros, como um parâmetro de correlação (R), parâmetros de propriedades direcionais (θ, Φ, r), e uma propriedade de energia (e). Cada um dos parâmetros para o quadro atual pode ser denotado como R [k] , θ [k], Φ [k] , r [k] e e [k]. A unidade de cálculo de parâmetro 32 pode realizar uma análise e/ou correlação de energia (ou a chamada correlação cruzada) com relação aos vetores US[k] 33 para identificar os parâmetros. A unidade de cálculo de parâmetro 32 também pode determinar os parâmetros para o quadro anterior, onde os parâmetros do quadro anterior podem ser denotados R[k- 1], θ[k-1], Φ[k—1], r[k—1] e e[k—1], com base no quadro anterior do vetor US[k-1] e vetores V[k-1]. A unidade de cálculo de parâmetros 32 pode fornecer os parâmetros atuais 37 e os parâmetros anteriores 39 para a unidade de reordenação 34.[0074] Parameter calculation unit 32 represents a unit configured to calculate various parameters, such as a correlation parameter (R), directional property parameters (θ, Φ, r), and an energy property (e). Each of the parameters for the current frame can be denoted as R [k] , θ [k], Φ [k] , r [k] and e [k]. The parameter calculation unit 32 can perform an analysis and/or energy correlation (or so-called cross-correlation) against the US[k] vectors 33 to identify the parameters. The parameter calculation unit 32 can also determine the parameters for the previous frame, where the parameters of the previous frame can be denoted R[k-1], θ[k-1], Φ[k—1], r[k —1] and e[k—1], based on the previous frame of the US[k-1] vector and V[k-1] vectors. The parameter calculation unit 32 can supply the current parameters 37 and the previous parameters 39 to the reordering unit 34.

[0075] Os parâmetros calculados pela unidade de cálculo de parâmetros 32 podem ser utilizados pela unidade de reordenação 34 para reordenar os objetos de áudio para representarem a sua avaliação ou continuidade natural ao longo do tempo. A unidade de reordenação 34 pode comparar cada um dos parâmetros 37 dos primeiros vetores US [k] 33 por virada 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ários vetores dentro da matriz US[k] 33 e a matriz V[k] 35 com base nos parâmetros atuais 37 e os parâmetros anteriores 39 para produzir uma matriz US[k] reordenada 33’ (que pode ser denotada matematicamente como

Figure img0012
e uma matriz V[k] reordenada 35’ (que pode ser denotada matematicamente como
Figure img0013
para uma unidade de seleção de som de primeiro plano (ou som predominante — PS) 36 (“unidade de seleção de primeiro plano 36”) e uma unidade de compensação de energia 38.[0075] The parameters calculated by the parameter calculation unit 32 can be used by the reordering unit 34 to reorder the audio objects to represent their evaluation or natural continuity over time. The reordering unit 34 can compare each of the parameters 37 of the first US vectors [k] 33 per turn against each of the parameters 39 for the second US vectors [k-1] 33. The reordering unit 34 can reorder (using, as an example, a Hungarian algorithm) the various vectors within the matrix US[k] 33 and the matrix V[k] 35 based on the current parameters 37 and the previous parameters 39 to produce a reordered US[k] matrix 33' ( which can be mathematically denoted as
Figure img0012
and a 35' reordered matrix V[k] (which can be mathematically denoted as
Figure img0013
to a foreground sound selection unit (or predominant sound — PS) 36 (“foreground selection unit 36”) and a power compensation unit 38.

[0076] A unidade de análise de campo de som 44 pode representar uma unidade configurada para realizar uma análise de campo de som com relação aos coeficientes HOA 11 de modo a potencialmente atingir uma taxa de bit alvo 41. A unidade de análise de campo de som 44 pode, com base na análise e/ou em uma taxa de bit 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 ambiente ou de fundo (BGTOT) e o número de canais de primeiro plano ou, em outras palavras, canais predominantes. O número total de instanciações do codificador psicoacusticas pode ser denotado como numHOATransportChannels.[0076] The sound field analysis unit 44 may represent a unit configured to perform a sound field analysis with respect to HOA coefficients 11 in order to potentially achieve a target bit rate 41. The sound field analysis unit sound 44 can, based on analysis and/or a received target bit rate 41, determine the total number of instantiations of the psychoacoustic encoder (which may be a function of the total number of ambient or background channels (BGTOT) and the number of foreground channels or, in other words, predominant channels.The total number of psychoacoustic encoder instantiations can be denoted as numHOATransportChannels.

[0077] A unidade de análise de campo de som 44 também pode determinar, novamente atingir potencialmente a taxa de bit alvo 41, o número total de canais de primeiro plano (nFG) 45, a ordem mínima do campo de som de fundo (ou, em outras palavras, ambiente) (NBG ou, alternativamente, MinAmbHOAorder), o número correspondente de canais reais representativos da ordem mínima do campo de som de fundo (nBGa = (MinAmbHOAorder + 1)2), e índices (i) dos canais BG HOA adicionais para enviar (que podem coletivamente ser denotados como informação de canal de fundo 43 no exemplo da FIG. 3. A informação do canal de fundo 42 também pode ser referida como informação de canal ambiente 43. Cada um dos canais que restam a partir de numHOATransportChannels - nBGa, podem ser ou um “canal de fundo/ambiente adicional”, um “canal predominante a base de vetor ativo”, um “sinal predominante com base direcional ativo” ou “completamente inativo”. Em um aspecto, os tipos de canal podem ser o elemento de sintaxe indicado (como um “ChannelType”) por dois bits (por exemplo, 00: sinal com base direcional, 01: sinal predominante baseado em vetor, 10: sinal ambiente adicional, 11: sinal inativo). O número total de sinais de fundo ou ambiente, nBGa, pode ser dado por (MinAmbHOAorder +1)2 + o número de vezes que o índice 10 (no exemplo acima) aparece como um tipo de canal no bitstream para aquele quadro.[0077] The sound field analysis unit 44 can also determine, again potentially reaching the target bit rate 41, the total number of foreground channels (nFG) 45, the minimum order of the background sound field (or , in other words ambient) (NBG or, alternatively, MinAmbHOAorder), the corresponding number of actual channels representing the minimum order of the background sound field (nBGa = (MinAmbHOAorder + 1)2), and indices (i) of the channels Additional HOA BGs to send (which may collectively be denoted as background channel information 43 in the example of FIG. 3. Background channel information 42 may also be referred to as background channel information 43. Each of the channels remaining to from numHOATransportChannels - nBGa, can be either an “additional background/environment channel”, an “active vector based predominant channel”, an “active directional based predominant signal”, or “completely inactive”. channel types can be the indic syntax element (as a “ChannelType”) by two bits (e.g. 00: directional based signal, 01: vector based predominant signal, 10: additional ambient signal, 11: idle signal). The total number of background or ambient signals, nBGa, can be given by (MinAmbHOAorder +1)2 + the number of times index 10 (in the example above) appears as a channel type in the bitstream for that frame.

[0078] A unidade de análise de campo de som 44 pode selecionar o número de canais de fundo (ou, em outras palavras, ambiente) e o número de canais de primeiro plano (ou, em outras palavras, predominantes) com base na taxa de bits alvo 41, selecionando mais canais de fundo e/ou de primeiro plano quando a taxa de bits alvo 41 é relativamente mais elevada (por exemplo, quando a taxa de bits alvo 41 é igual ou superior a 512 Kbps). Em um aspecto, o numHOATransportChannels pode ser definido para 8 enquanto o MinAmbHOAorder pode ser definido para 1 na seção de cabeçalho do bitstream. Neste cenário, em cada quadro, podem ser dedicados quatro canais para representar a porção de fundo ou ambiente do campo de som enquanto os outros 4 canais podem, em uma base quadro a quadro, variar no tipo de canal - por exemplo, utilizado como um canal de fundo/ambiente adicional ou um canal de primeiro de primeiro plano/predominante. Os sinais de primeiro plano/predominantes podem ser um dos sinais baseados em vetor ou direcionais, como descrito acima.[0078] The sound field analysis unit 44 can select the number of background (or in other words ambient) channels and the number of foreground (or in other words predominant) channels based on the rate bitrate 41, selecting more background and/or foreground channels when the target bitrate 41 is relatively higher (e.g., when the target bitrate 41 is equal to or greater than 512 Kbps). In one aspect the numHOATransportChannels can be set to 8 while the MinAmbHOAorder can be set to 1 in the header section of the bitstream. In this scenario, in each frame, four channels can be dedicated to represent the background or ambient portion of the sound field while the other 4 channels can, on a frame-by-frame basis, vary in channel type - for example, used as a additional background/environment channel or a foreground/dominant channel. The foreground/predominant signals can be one of the vector based or directional signals as described above.

[0079] 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 de ChannalType é 01 no bitstream desse quadro. No aspecto acima, para cada canal de fundo/ambiente adicional (por exemplo, correspondente a um ChannelType de 10), a informação correspondente de qual dos possíveis coeficientes de HOA (além dos quatro primeiros) pode ser representado nesse canal. A informação, para o conteúdo HOA de quarta ordem, pode ser um índice para indicar os coeficientes HOA 5-25. Os primeiros quatro coeficientes HOA ambiente 1-4 podem ser enviados todo o tempo quando minAmbHOAorder é ajustado para 1, portanto, o dispositivo de codificação de áudio pode apenas precisar indicar um dos coeficientes HOA ambiente adicionais com um índice de 5-25. A informação poderia assim ser enviada usando um elemento de sintaxe de 5 bits (para o conteúdo de 4 a ordem) , que pode ser denotado como “CodedAmbCoeffIdx”. Em qualquer caso, a unidade de análise de campo de som 44 produz a informação de canal de fundo 43 e os coeficientes HOA 11 para a unidade de seleção de fundo (BG) 36, a informação de canal de fundo 43 para a unidade de redução do coeficiente 46 e a unidade de geração de bitstream 42, e o nFG 45 para uma unidade de seleção de primeiro plano 36.[0079] In some cases, the total number of vector-based predominant signals for a frame can be given by the number of times the ChannalType index is 01 in the bitstream of that frame. In the above aspect, for each additional background/environment channel (eg corresponding to a ChannelType of 10), the corresponding information of which of the possible HOA coefficients (in addition to the first four) can be represented in that channel. The information, for fourth-order HOA content, can be an index to indicate HOA coefficients 5-25. The first four ambient HOA coefficients 1-4 can be sent all the time when minAmbHOAorder is set to 1, so the audio encoding device may only need to indicate one of the additional ambient HOA coefficients with an index of 5-25. Information could thus be sent using a 5-bit syntax element (for 4th-order content), which can be denoted as “CodedAmbCoeffIdx”. In either case, the sound field analysis unit 44 outputs the background channel information 43 and the HOA coefficients 11 to the background selection unit (BG) 36, the background channel information 43 to the reduction unit. of the coefficient 46 and the bitstream generation unit 42, and the nFG 45 for a foreground selection unit 36.

[0080] A unidade de seleção de fundo 48 pode representar uma unidade configurada para determinar coeficientes HOA de fundo ou ambiente 47 com base na informação de canal de fundo (ex., o campo de som de fundo (NBG) e o número (nBGa) e os índices (i) dos canais BG HOA adicionais para enviar). Por exemplo, quando NBG é igual a um, a unidade de seleção de fundo 48 pode selecionar os coeficientes HOA 11 para cada amostrado quadro de áudio tendo uma ordem igual a ou menor que um. A unidade de seleção de fundo 48 pode neste exemplo selecionar então os coeficientes HOA 11 possuindo um índice identificado por um dos índices (i) como coeficientes BG HOA adicionais, em que o nBGa é fornecido à unidade de geração de bitstream 42 para ser especificado no bitstream 21 de modo a permitir que o dispositivo de decodificação de áudio, como o dispositivo de decodificação de áudio 24 mostrado no exemplo das FIGs. 2 e 4, analise os coeficientes HOA de fundo 47 a partir do bitstream 21. A unidade de seleção de fundo 48 pode emitir então os coeficientes de HOA ambiente 47 para a unidade de compensação de energia 38. Os coeficientes HOA ambiente 47 podem ter dimensões D: M x [(NBG+1)2 + nBGa]. Os coeficientes de HOA ambiente 47 podem também ser referidos como “coeficientes de HOA ambiente 47”, onde cada um dos coeficientes de HOA ambiente 47 corresponde a um canal HOA ambiente separado 47 para ser codificado pela unidade de codificador de áudio psicoacústico 40.[0080] Background selection unit 48 may represent a unit configured to determine background or ambient HOA coefficients 47 based on background channel information (e.g., background sound field (NBG) and number (nBGa) ) and the indices (i) of the additional BG HOA channels to send). For example, when NBG is equal to one, the background selection unit 48 may select HOA coefficients 11 for each sampled audio frame having an order equal to or less than one. The background selection unit 48 may in this example then select HOA coefficients 11 having an index identified by one of the indices (i) as additional BG HOA coefficients, wherein the nBGa is provided to the bitstream generation unit 42 to be specified in the bitstream 21 so as to allow the audio decoding device, such as the audio decoding device 24 shown in the example of FIGs. 2 and 4, analyze the background HOA coefficients 47 from the bitstream 21. The background selection unit 48 may then output the ambient HOA coefficients 47 to the power compensation unit 38. The ambient HOA coefficients 47 may have dimensions D: M x [(NBG+1)2 + nBGa]. The ambient HOA coefficients 47 may also be referred to as "ambient HOA coefficients 47", where each of the ambient HOA coefficients 47 corresponds to a separate ambient HOA channel 47 to be encoded by the psychoacoustic audio encoder unit 40.

[0081] 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 representa os componentes de primeiro plano ou distintos do campo de som baseado em nFG 45 (que pode representar um ou mais índices que identificam os vetores de primeiro plano). A unidade de seleção de primeiro plano 36 pode produzir sinais nFG 49 (que podem ser denotados como uma US reordenada [k]1, „, nFG 49, FG1, ..., nfG[k] 49, ou

Figure img0014
49) para a unidade de codificador de áudio psicoacústico 40, onde os sinais nFG 49 podem ter dimensões D: M x nFG e cada representa objetos de monoaudio. A unidade de seleção de primeiro plano 36 podem também produzir a matriz reordenada V[k] 35’ (ou v(1nFG)(k) 35’) que corresponde aos componentes de primeiro plano do campo de som para a unidade de interpolação espaço-temporal 50, onde um subconjunto da matriz reordenada V[k] 35’ correspondente aos componentes de primeiro plano pode ser denotado como matriz de primeiro plano V[k] 51k (que pode ser matematicamente denotada como
Figure img0015
tendo dimensões D: (N+1)2 x nFG.[0081] The foreground selection unit 36 may represent a unit configured to select the reordered US[k] matrix 33' and the reordered V[k] matrix 35' representing the foreground or distinct components of the sound field based on nFG 45 (which can represent one or more indices that identify the foreground vectors). The foreground selection unit 36 can output nFG 49 signals (which can be denoted as a reordered US [k]1, „, nFG 49, FG1, ..., nfG[k] 49, or
Figure img0014
49) to the psychoacoustic audio encoder unit 40, where the nFG signals 49 may have dimensions D:M x nFG and each represents monoaudio objects. The foreground selection unit 36 may also produce the reordered matrix V[k] 35' (or v(1nFG)(k) 35') which corresponds to the foreground components of the sound field for the space-space interpolation unit. temporal 50, where a subset of the reordered matrix V[k] 35' corresponding to the foreground components can be denoted as the foreground matrix V[k] 51k (which can be mathematically denoted as
Figure img0015
having dimensions D: (N+1)2 x nFG.

[0082] A unidade de compensação de energia 38 pode representar uma unidade configurada para realizar a compensação de energia com relação aos coeficientes HOA ambiente 47 para compensar a perda de energia devido à 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 uma análise de energia com relação a uma ou mais da matriz reordenada US[k] 33’, a matriz reordenada V[k] 35’, os sinais nFG 49, os vetores de primeiro plano V[k] 51k e os coeficientes HOA ambiente 47 e então realizar a compensação de energia com base na análise de energia para gerar coeficientes HOA ambiente 47’ compensados em energia. A unidade de compensação de energia 38 pode produzir os coeficientes HOA ambiente 47’ compensados em energia para a unidade de codificador de áudio psicoacústico 40.[0082] Power offset unit 38 may represent a unit configured to perform power offset against ambient HOA coefficients 47 to compensate for power loss due to the removal of several of the HOA channels by background select unit 48. The power compensation unit 38 can perform an energy analysis with respect to one or more of the reordered matrix US[k] 33', the reordered matrix V[k] 35', the signals nFG 49, the foreground vectors V [k] 51k and ambient HOA coefficients 47 and then perform energy compensation based on energy analysis to generate energy compensated ambient HOA coefficients 47'. The power compensation unit 38 can output the power compensated ambient HOA coefficients 47' to the psychoacoustic audio encoder unit 40.

[0083] 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-1] de primeiro plano 51k-1 para o quadro anterior (aqui a notação k-1) e realizar a interpolação espaço-temporal para gerar os vetores de primeiro plano interpolados V[k]. 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 os coeficientes HOA de primeiro plano reordenados. A unidade de interpolação espaço-temporal 50 pode então dividir os coeficientes HOA de primeiro plano reordenados pelos vetores V[k] interpolados para gerar os sinais nFG interpolados 49’. A unidade de interpolação espaço-temporal 50 também pode produzir os vetores V[k] de primeiro plano 51k que foram usados para gerar os vetores interpolados V[k] de primeiro plano de modo que um dispositivo de decodificação de áudio, como o dispositivo de decodificação de áudio 24, possa gerar os vetores interpolados V[k] de primeiro plano e assim recuperar os vetores V[k] de primeiro plano 51k. Os vetores V[k] de primeiro plano 51k usados para gerar os vetores interpolados V[k] de primeiro plano são denotados como os vetores restantes V[k] de primeiro plano 53. Para garantir que os mesmos V[k] e V[k-1] são usados no codificador e decodificador (para criar os vetores interpolados V[k]) versões quantizadas/dequantizadas dos vetores podem ser usadas no codificador e decodificador. A unidade de interpolação espaço-temporal 50 pode produzir os sinais nFG interpolados 49’ para a unidade de codificador de áudio psicoacústico 46 e os vetores interpolados V[k] de primeiro plano 51k para a unidade de redução de coeficiente 46.[0083] The spatiotemporal interpolation unit 50 may represent a unit configured to receive the 51k foreground V[k] vectors for the kth frame and the 51k-1 foreground V[k-1] vectors for the frame above (here the k-1 notation) and perform spatiotemporal interpolation to generate the interpolated foreground vectors V[k]. The spatiotemporal interpolation unit 50 can recombine the nFG signals 49 with the foreground vectors V[k] 51k to recover the reordered foreground HOA coefficients. The spatiotemporal interpolation unit 50 can then divide the reordered foreground HOA coefficients by the interpolated vectors V[k] to generate the interpolated nFG signals 49'. The spatiotemporal interpolation unit 50 can also output the foreground V[k] vectors 51k that were used to generate the foreground interpolated V[k] vectors so that an audio decoding device such as the audio decoding 24, can generate the interpolated foreground vectors V[k] and thus recover the foreground vectors V[k] 51k. The foreground vectors V[k] 51k used to generate the interpolated foreground vectors V[k] are denoted as the remaining foreground vectors V[k] 53. To ensure that the same V[k] and V[ k-1] are used in the encoder and decoder (to create the interpolated vectors V[k]) quantized/dequantized versions of the vectors can be used in the encoder and decoder. The spatiotemporal interpolation unit 50 can output the interpolated nFG signals 49' to the psychoacoustic audio encoder unit 46 and the interpolated foreground V[k] vectors 51k to the coefficient reduction unit 46.

[0084] A unidade de redução de coeficiente 46 pode representar uma unidade configurada para realizar a redução de coeficiente com relação aos vetores restantes V[k] de primeiro plano 53 com base na informação do canal de fundo 43 para produzir vetores reduzidos V[k] de primeiro plano 55 para a unidade de quantização 52. Os vetores reduzidos V[k] de primeiro plano 55 podem ter dimensões D: [(N+1)2 - (NBG +1)2-BGTOT] x nFG. A unidade de redução de coeficiente 46 pode, nesse aspecto, representar uma unidade configurada para reduzir o número de coeficientes nos vetores restantes V[k] de primeiro plano 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 restantes V[k] de primeiro plano 53) tendo pouca ou nenhuma informação direcional. Em alguns exemplos, os coeficientes do distinto ou, em outras palavras, vetores V[k] de primeiro plano correspondentes a uma função básica de primeira ordem ou ordem zero (que pode ser denotada como NBG) fornece pouca informação direcional e, portanto, pode ser removida dos vetores V do primeiro plano (através 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) a partir do conjunto de [(NBG +1)2+1, (N+1)2].[0084] Coefficient reduction unit 46 may represent a unit configured to perform coefficient reduction with respect to remaining foreground vectors V[k] 53 based on background channel information 43 to produce reduced vectors V[k ] foreground 55 to the quantization unit 52. The reduced foreground vectors V[k] 55 can have dimensions D: [(N+1)2 - (NBG+1)2-BGTOT] x nFG. The coefficient reduction unit 46 may, in this regard, represent a unit configured to reduce the number of coefficients in the remaining foreground vectors V[k] 53. In other words, the coefficient reduction unit 46 may represent a unit configured to eliminate the coefficients in the foreground V[k] vectors (which form the remaining foreground V[k] vectors 53) having little or no directional information. In some examples, the coefficients of the distinct or, in other words, foreground vectors V[k] corresponding to a first-order or zero-order basic function (which may be denoted as NBG) provide little directional information and therefore may be removed from the foreground V vectors (through a process that may be referred to as “coefficient reduction”). In this example, greater flexibility can be provided not only to identify the coefficients that correspond to NBG but to identify additional HOA channels (which can be denoted by the variable TotalOfAddAmbHOAChan) from the set of [(NBG +1)2+1, (N +1)2].

[0085] A unidade de quantização 52 pode representar uma unidade configurada para realizar qualquer forma de quantização para comprimir os vetores reduzidos V[k] de primeiro plano 55 para gerar vetores codificados V[k] de primeiro plano 57, produzindo os vetores codificados V[k] de primeiro plano 57 para a unidade de geração de bitstream 42. Em funcionamento, a unidade de quantização 52 pode representar uma unidade configurada para comprimir um componente espacial do campo de som, ou seja, um ou mais dos vetores reduzidos V[k] de primeiro plano 55 neste exemplo. A unidade de quantização 52 pode realizar qualquer um dos 12 modos de quantização a seguir, como indicado por um elemento de sintaxe de modo de quantização denotado “NbitsQ”: Valor 0-3. 4: 5: de NbitsQ Tipo de Modo de Quantização Reservado Vetor Quantização Escalar Quantização sem Codificação de Huffman 6: 6-Bit Escalar Quantização sem Codificação de Huffman 7: 7-Bit Escalar Quantização sem Codificação de Huffman 8: 8-Bit Escalar Quantização sem Codificação de Huffman 16: 16-Bit Escalar Quantização sem Codificação de Huffman A unidade de quantização 52 também pode executar versões previstas de qualquer um dos tipos anteriores de modos de quantização, onde é determinada uma diferença entre um elemento de (ou um peso quando a quantização do vetor é realizada) do vetor V de um quadro anterior e o elemento (ou peso quando a quantização do vetor é realizada) do vetor V de um quadro atual é determinado. A unidade de quantização 52 pode então quantizar a diferença entre os elementos ou pesos do quadro atual e do quadro anterior em vez do valor do elemento do vetor V do próprio quadro atual.[0085] The quantization unit 52 may represent a unit configured to perform any form of quantization to compress the reduced foreground vectors V[k] 55 to generate coded foreground vectors V[k] 57, yielding the coded vectors V [k] 57 to the bitstream generating unit 42. In operation, the quantizing unit 52 may represent a unit configured to compress a spatial component of the sound field, i.e., one or more of the reduced vectors V[ k] foreground 55 in this example. The quantization unit 52 can perform any of the following 12 quantization modes, as indicated by a quantization mode syntax element denoted "NbitsQ": Value 0-3. 4: 5: of NbitsQ Reserved Quantization Mode Type Vector Scalar Quantization Without Huffman Encoding 6: 6-Bit Scalar Quantization without Huffman Encoding 7: 7-Bit Scalar Quantization without Huffman Encoding 8: 8-Bit Scalar Quantization without Huffman Encoding Huffman Encoding 16: 16-Bit Scalar Quantization without Huffman Encoding The quantization unit 52 can also perform predicted versions of any of the above types of quantization modes, where a difference between an element of (or a weight when the vector quantization is performed) of vector V of a previous frame and the element (or weight when vector quantization is performed) of vector V of a current frame is determined. The quantization unit 52 can then quantize the difference between the elements or weights of the current frame and the previous frame rather than the value of the vector V element of the current frame itself.

[0086] A unidade de quantização 52 pode executar múltiplas formas de quantização em relação a cada um dos vetores [V] [k] de primeiro plano reduzidos para obter múltiplas versões codificadas dos vetores [V] [k] de primeiro plano reduzidos. A unidade de quantização 52 pode selecionar uma das versões codificadas dos vetores [V] [k] de primeiro plano reduzidos 55 como o vetor V[k] codificado de primeiro plano 57. Em outras palavras, a unidade de quantização 52 pode selecionar um vetor V quantizado por vetor não previsto, vetor V quantizado por vetor previsto, vetor V quantizado escalar codificado não-Huffman e o vetor V quantizado escalar codificado d Huffman para usar como o vetor V quantizado comutado de saída com base em qualquer combinação dos critérios discutidos nesta revelação. Em alguns exemplos, a unidade de quantização 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 de vetor e um ou mais modos de quantização escalares e quantizar um vetor de entrada V baseado em (ou de acordo com) o modo selecionado. A unidade de quantização 52 pode então fornecer o vetor V quantizado do vetor não previsto (por exemplo, em termos de valores de peso ou bits indicativos do mesmo), vetor V quantizado por vetor previsto (por exemplo, em termos de valores de erro ou bits indicativos do mesmo), o vetor V quantizado escalar codificado não-Huffman e o vetor V quantizado escalar codificado de Huffman para a unidade de geração de bitstream 52 como os vetores de primeiro plano codificados V[k] 57. A unidade de quantização 52 também pode fornecer os elementos de sintaxe indicativos do modo de quantização (por exemplo, o elemento de sintaxe de NbitsQ) e quaisquer outros elementos de sintaxe usados para desquantizar ou de outra forma reconstruir o vetor V.[0086] The quantization unit 52 can perform multiple forms of quantization with respect to each of the reduced foreground vectors [V][k] to obtain multiple encoded versions of the reduced foreground vectors [V][k]. The quantization unit 52 may select one of the encoded versions of the reduced foreground vectors [V][k] 55 as the encoded foreground vector V[k] 57. In other words, the quantization unit 52 may select a vector Unpredicted vector quantized V, predicted vector quantized V vector, non-Huffman encoded scalar quantized V vector, and Huffman encoded scalar quantized V vector to use as the output switched quantized V vector based on any combination of the criteria discussed in this revelation. In some examples, the quantization unit 52 may select a quantization mode from a set of quantization modes that includes a vector quantization mode and one or more scalar quantization modes and quantize an input vector V based on ( or according to) the selected mode. The quantization unit 52 can then provide the quantized vector V of the predicted vector (e.g., in terms of weight values or bits indicative thereof), vector V quantized per predicted vector (e.g., in terms of error values or bits indicative of the same), the non-Huffman encoded scalar quantized vector V and the Huffman encoded scalar quantized vector V for the bitstream generation unit 52 as the encoded foreground vectors V[k] 57. The quantization unit 52 can also provide the syntax elements indicative of the quantization mode (e.g. the NbitsQ syntax element) and any other syntax elements used to dequantize or otherwise reconstruct the vector V.

[0087] A unidade de codificador 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, sendo cada uma delas utilizada para codificar um objeto de áudio diferente ou canal de HOA de cada um dos coeficientes de HOA ambiente compensados por energia 47’ e os sinais de nFG interpolados 49’ para gerar coeficientes de HOA ambiente codificados 59 e sinais de nFG codificados 61. A unidade de codificador de áudio psicoacústico 40 pode emitir os coeficientes de HOA ambiente codificados 59 e os sinais de nFG codificados 61 para a unidade de geração de bitstream 42.[0087] The psychoacoustic audio encoder unit 40 included in the audio encoding device 20 can represent multiple instances of a psychoacoustic audio encoder, each of which is used to encode a different audio object or HOA channel from each of the energy compensated ambient HOA coefficients 47' and the interpolated nFG signals 49' to generate encoded ambient HOA coefficients 59 and encoded nFG signals 61. The psychoacoustic audio encoder unit 40 can output the encoded ambient HOA coefficients 59 and the encoded nFG signals 61 to the bitstream generating unit 42.

[0088] A unidade de geração de bitstream 42 incluída no dispositivo de codificação de áudio 20 representa uma unidade que formata os dados de acordo com um formato conhecido (que pode referir-se a um formato conhecido por um dispositivo de decodificação), gerando deste modo o bitstream baseado em vetor 21. O bitstream 21 pode, em outras palavras, representar dados de áudio codificados, tendo sido codificados da maneira descrita acima. A unidade de geração de bitstream 42 pode representar um multiplexador em alguns exemplos, os quais podem receber os vetores de primeiro plano V[k] codificados 57, os coeficientes de HOA ambiente codificados 59, os sinais de nFG codificados 61 e as informações de canal de fundo 43. A unidade de geração de bitstream 42 pode então gerar um bitstream 21 baseado nos vetores de primeiro plano V[k] codificados 57, os coeficientes de HOA ambiente codificados 59, os sinais de nFG codificados 61 e as informações de canal de fundo 43. Deste modo, a unidade de geração de bitstream 42 pode, deste modo, especificar os vetores 57 no bitstream 21 para obter o bitstream 21. O bitstream 21 pode incluir um bitstream primário ou principal e um ou mais bitstreams de canal lateral.[0088] The bitstream generating unit 42 included in the audio encoding device 20 represents a unit that formats data according to a known format (which may refer to a format known by a decoding device), thereby generating the vector-based bitstream 21 mode. The bitstream 21 may, in other words, represent encoded audio data, having been encoded in the manner described above. The bitstream generation unit 42 can represent a multiplexer in some examples, which can receive the coded foreground vectors V[k] 57, the coded ambient HOA coefficients 59, the coded nFG signals 61 and the channel information 43. The bitstream generation unit 42 can then generate a bitstream 21 based on the coded foreground vectors V[k] 57, the coded ambient HOA coefficients 59, the coded nFG signals 61, and the coded channel information. background 43. In this way, the bitstream generating unit 42 can thus specify the vectors 57 in the bitstream 21 to obtain the bitstream 21. The bitstream 21 can include a primary or main bitstream and one or more sidechannel bitstreams.

[0089] Vários aspectos das técnicas também podem permitir que a unidade de geração de bitstream 46, como descrito acima, especifique a informação de renderização de áudio 2 no bitstream 21. Embora a versão atual do próximo rascunho de trabalho de compressão de áudio 3D forneça sinalização de matrizes de mistura específicas dentro do bitstream 21, o rascunho de trabalho não fornece a especificação de renderizadores usados na renderização de coeficientes HOA no bitstream 21. Para o conteúdo de HOA, o equivalente dessa matriz de mistura é a matriz de renderização que converte a representação de HOA nos feeds dos alto-falantes desejados. Vários aspectos das técnicas descritas nesta revelação propõem harmonizar ainda mais os conjuntos de características de conteúdo de canal e HOA permitindo que a unidade de geração de bitstream 46 sinalize as matrizes de renderização de HOA dentro do bitstream (como, por exemplo, informação de renderização de áudio 2).[0089] Various aspects of the techniques may also allow bitstream 46 generation unit, as described above, to specify audio rendering information 2 in bitstream 21. Although the current version of the upcoming 3D audio compression working draft provides flagging specific mix matrices within bitstream 21, the working draft does not provide the specification of renderers used in rendering HOA coefficients in bitstream 21. For HOA content, the equivalent of this mix matrix is the rendering matrix that converts the representation of HOA in the desired speaker feeds. Various aspects of the techniques described in this disclosure propose to further harmonize the sets of channel and HOA content characteristics by allowing the bitstream generation unit 46 to signal HOA rendering matrices within the bitstream (such as, for example, audio 2).

[0090] Uma solução de sinalização exemplar baseada no esquema de codificação das matrizes de mistura e otimizada para HOA é apresentada a seguir. Semelhante à transmissão de matrizes de mistura, as matrizes de renderização de HOA podem ser sinalizadas dentro de mpegh3daConfigExtension(). As técnicas podem fornecer um novo tipo de extensão ID_CONFIG_EXT_HOA_MATRIX conforme estabelecido nas tabelas a seguir (com itálico e negrito indicando alterações na tabela existente). Tabela - Sintaxe de mpegh3daConfigExtension() (Tabela 13 no CD)

Figure img0016
Tabela - Valor de usacConfigExtType (Tabela 1 no CD)
Figure img0017
[0090] An exemplary signaling solution based on the coding scheme of mixing matrices and optimized for HOA is presented below. Similar to passing mix arrays, HOA render arrays can be flagged inside mpegh3daConfigExtension(). The techniques can provide a new ID_CONFIG_EXT_HOA_MATRIX extension type as set out in the following tables (italics and bold indicating changes to the existing table). Table - Syntax of mpegh3daConfigExtension() (Table 13 on CD)
Figure img0016
Table - UsacConfigExtType Value (Table 1 on CD)
Figure img0017

[0091] O campo de bits HOARenderingMatrixSet() pode ser igual em estrutura e funcionalidade comparado ao DownmixMatrixSet(). Ao invés de inputCount(audioChannelLayout), o HOARenderingMatrixSet() pode usar o valor “equivalente” NumOfHoaCoeffs, calculado em HOAConfig. Ainda, porque o ordenação dos coeficientes HOA pode ser fixa dentro do decodificador HOA (ver, ex., Anexo G no CD), o HOARenderingMatrixSet não precisa de qualquer equivalente à inputConfig(audioChannelLayout). Tabela 2 — Sintaxe de HOARenderingMatrixSet()(adotado a partir da Tabela 15 no CD)

Figure img0018
[0091] HOARenderingMatrixSet() bitfield can be equal in structure and functionality compared to DownmixMatrixSet(). Instead of inputCount(audioChannelLayout), the HOARenderingMatrixSet() can use the “equivalent” value NumOfHoaCoeffs, calculated in HOAConfig. Also, because the ordering of HOA coefficients can be fixed within the HOA decoder (see, eg, Appendix G on the CD), the HOARenderingMatrixSet does not need any equivalent to inputConfig(audioChannelLayout). Table 2 — Syntax of HOARenderingMatrixSet() (adopted from Table 15 on CD)
Figure img0018

[0092] Vários aspectos das técnicas também podem permitir que a unidade de geração de bitstream 46, ao comprimir os dados de áudio HOA (por exemplo, os coeficientes de HOA 11 no exemplo da FIG. 4), utilizando um primeiro esquema de compressão (como o esquema de compressão de decomposição representado pela unidade de decomposição baseada em vetor 27), especifique o bitstream 21 de modo que os bits correspondentes a um segundo esquema de compressão (por exemplo, o sistema de compressão baseado e direção ou esquema de compressão baseado em direcionalidade representado pela unidade de decomposição baseada na direcção 28) não estão incluídos no bitstream 21. Por exemplo, a unidade de geração de bitstream 42 pode gerar o bitstream 21 de modo a não incluir elementos de sintaxe HOAPredictionInfo ou campo que pode ser reservado para utilização para especificar a informação de predição entre sinais direcionais do esquema de compressão com base na direção. Exemplos do bitstream 21 gerado de acordo com vários aspectos das técnicas descritas nesta descrição são mostrados nos exemplos das FIGs. 8E e 8F.[0092] Various aspects of the techniques may also allow the bitstream generation unit 46, when compressing the HOA audio data (e.g., the HOA coefficients 11 in the example of FIG. 4), using a first compression scheme ( as the decompression compression scheme represented by vector-based decomposition unit 27), specify bitstream 21 so that bits corresponding to a second compression scheme (e.g. direction-based compression system or in directionality represented by the direction-based decomposition unit 28) are not included in the bitstream 21. For example, the bitstream generating unit 42 may generate the bitstream 21 so as not to include HOAPredictionInfo syntax elements or field that may be reserved for Use to specify prediction information between directional signals of the direction-based compression scheme. Examples of the bitstream 21 generated in accordance with various aspects of the techniques described in this description are shown in the examples of FIGs. 8E and 8F.

[0093] Em outras palavras, a previsão de sinais direcionais pode ser parte da Síntese de Som Predominante empregada pela unidade de decomposição com base direcional 28 e depende da existência de ChannelType 0 (o que pode indicar um sinal baseado em direção). Quando nenhum sinal com base na direção está presente dentro de um quadro, nenhuma previsão de sinais direcionais pode ser efetuada. No entanto, a informação de banda lateral associada HOAPredictionInfo() pode, embora não utilizada, ser escrita em cada quadro independentemente da existência de sinais com base na direção. Quando não existe sinal direcional dentro de um quadro, as técnicas descritas nesta descrição podem permitir que a unidade de geração de bitstream 42 reduza o tamanho da banda lateral não sinalizando HOAPredictionInfo na banda lateral conforme estabelecido na seguinte Tabela (em que os itálicos com sublinhado denotam adições): Tabela: Sintaxe de HOAFrame

Figure img0019
Figure img0020
[0093] In other words, the prediction of directional signals can be part of the Predominant Sound Synthesis employed by the directional-based decomposition unit 28 and depends on the existence of ChannelType 0 (which may indicate a direction-based signal). When no direction-based signals are present within a frame, no directional signals prediction can be performed. However, the sideband information associated with HOAPredictionInfo() can, although unused, be written to each frame regardless of whether there are direction-based signals. When there is no directional signal within a frame, the techniques described in this description may allow the bitstream generation unit 42 to reduce the size of the sideband by not signaling HOAPredictionInfo in the sideband as set out in the following Table (where underlined italics denote additions): Table: HOAFrame Syntax
Figure img0019
Figure img0020

[0094] Nesse aspecto, as técnicas podem permitir que um dispositivo, como o dispositivo de codificação de áudio 20 seja configurado para, ao comprimir dados de áudio ambissônicos de ordem superior utilizando um primeiro esquema de compressão, especificar um bitstream representativo de uma versão comprimida dos dados de áudio de ordem ambissônica superior que não incluem bits correspondentes a um segundo esquema de compressão também utilizado para comprimir os dados de áudio ambissônicos de ordem superior.[0094] In this regard, the techniques may allow a device such as the audio encoding device 20 to be configured to, when compressing higher-order ambisonic audio data using a first compression scheme, specify a bitstream representative of a compressed version. higher-order ambisonic audio data that does not include bits corresponding to a second compression scheme also used to compress the higher-order ambisonic audio data.

[0095] Em alguns casos, o primeiro esquema de compressão compreende um esquema de compressão de decomposição baseado em vetor. Nestes e em outros casos, o esquema de compressão de decomposição baseado em vetor compreende um esquema de compressão que envolve a aplicação de uma decomposição de valor singular (ou equivalentes deste descrito com mais detalhe nesta descrição) aos dados de áudio ambissônicos de ordem superior.[0095] In some cases, the first compression scheme comprises a vector-based decomposition compression scheme. In these and other cases, the vector-based decomposition compression scheme comprises a compression scheme that involves applying a single-value decomposition (or equivalents thereof described in more detail in this description) to the higher-order ambisonic audio data.

[0096] Nestes e em outros casos, o dispositivo de codificação de áudio 20 pode ser configurado para especificar o bitstream que não inclui os bits que correspondem a pelo menos um elemento de sintaxe utilizado para executar o segundo tipo de esquema de compressão. O segundo esquema de compressão pode, como referido acima, compreender um esquema de compressão baseado em direcionalidade.[0096] In these and other cases, the audio encoding device 20 can be configured to specify the bitstream that does not include the bits that correspond to at least one syntax element used to perform the second type of compression scheme. The second compression scheme may, as noted above, comprise a compression scheme based on directionality.

[0097] O dispositivo de codificação de áudio 20 também pode ser configurado para especificar o bitstream 21 de modo que o bitstream 21 não inclua os bits correspondentes a um elemento de sintaxe HOAPredictionInfo do segundo esquema de compressão.[0097] Audio encoding device 20 can also be configured to specify bitstream 21 so that bitstream 21 does not include the bits corresponding to a HOAPredictionInfo syntax element of the second compression scheme.

[0098] Quando o segundo esquema de compressão compreende um esquema de compressão baseado em direcionalidade, o dispositivo de codificação de áudio 20 pode ser configurado para especificar o bitstream 21 de modo que o bitstream 21 não inclua os bits correspondentes a um elemento de sintaxe HOAPredictionInfo do esquema de compressão baseado na direcionalidade. Em outras palavras, o dispositivo de codificação de áudio 20 pode ser configurado para especificar o bitstream 21 de modo que o bitstream 21 não inclua os bits que correspondem a pelo menos um elemento de sintaxe utilizado para executar o segundo tipo de esquemas de compressão, pelo menos um elemento de sintaxe indicativo de uma previsão entre dois ou mais sinais baseados em direção. Reiniciado novamente, quando o segundo esquema de compressão compreende um esquema de compressão baseado em direcionalidade, o dispositivo de codificação de áudio 20 pode ser configurado para especificar o bitstream 21 de modo que o bitstream 21 não inclua os bits correspondentes a um elemento de sintaxe HOAPredictionInfo do esquema de compressão baseado na direcionalidade, onde o elemento de sintaxe HOAPredictionInfo é indicativo de uma previsão entre dois ou mais sinais baseados em direção.[0098] When the second compression scheme comprises a directionality-based compression scheme, the audio encoding device 20 can be configured to specify bitstream 21 so that bitstream 21 does not include the bits corresponding to a HOAPredictionInfo syntax element of the directionality-based compression scheme. In other words, the audio encoding device 20 can be configured to specify bitstream 21 so that bitstream 21 does not include the bits that correspond to at least one element of syntax used to perform the second type of compression schemes, at least least one syntax element indicative of a prediction between two or more direction-based signals. Again, when the second compression scheme comprises a directionality-based compression scheme, the audio encoding device 20 can be configured to specify bitstream 21 so that bitstream 21 does not include the bits corresponding to a HOAPredictionInfo syntax element of the directionality-based compression scheme, where the HOAPredictionInfo syntax element is indicative of a prediction between two or more direction-based signals.

[0099] Vários aspectos das técnicas podem, ainda, permitir que a unidade de geração de bitstream 46 especifique o bitstream 21 em determinados casos de modo que o bitstream 21 não inclui dados de correção de ganho. A unidade de geração de bitstream 46 pode, quando a correção de ganho é suprimida, especificar o bitstream 21 de modo que o bitstream 21 não inclui os dados de correção de ganho. Exemplos do bitstream 21 gerado de acordo com vários aspectos das técnicas como mostrado, conforme observado acima, nos exemplos das FIGs. 8E e 8F.[0099] Various aspects of the techniques may further allow the bitstream generation unit 46 to specify bitstream 21 in certain cases so that bitstream 21 does not include gain correction data. The bitstream generating unit 46 may, when the gain correction is suppressed, specify the bitstream 21 so that the bitstream 21 does not include the gain correction data. Examples of bitstream 21 generated in accordance with various aspects of the techniques as shown, as noted above, in the examples of FIGs. 8E and 8F.

[0100] Em alguns casos, a correção de ganho é aplicada quando certos tipos de codificação psicoacústica são executados dado o intervalo dinâmico relativamente menor destes tipos específicos de codificação psicoacústica em comparação com outros tipos de codificação psicoacústica. Por exemplo, AAC tem um intervalo dinâmico relativamente menor do que a codificação unificada de voz e áudio (USAC). Quando o esquema de compressão (como um esquema de compressão de síntese baseado em vetor ou um esquema de compressão baseado em direção) envolve USAC, a unidade de geração de bitstream 46 pode sinalizar no bitstream 21 que a correção de ganho foi suprimida (por exemplo, epecificando um elemento d sintaxe MaxGainCorrAmpExp no HOAConfig com um valor de zero no bitstream 21) e, em seguida, especificar o bitstream 21 para não incluir os dados de correção de ganho (em um campo HOAGainCorrectionData ()).[0100] In some cases, gain correction is applied when certain types of psychoacoustic encoding are performed given the relatively smaller dynamic range of these specific types of psychoacoustic encoding compared to other types of psychoacoustic encoding. For example, AAC has a relatively smaller dynamic range than unified voice and audio coding (USAC). When the compression scheme (such as a vector-based synthesis compression scheme or a direction-based compression scheme) involves USAC, bitstream generation unit 46 can signal in bitstream 21 that gain correction has been suppressed (e.g. , specifying a MaxGainCorrAmpExp syntax element in HOAConfig with a value of zero in bitstream 21), and then specifying bitstream 21 not to include gain correction data (in a HOAGainCorrectionData() field).

[0101] Em outras palavras, o campo de bit MaxGainCorrAmpExp como parte do HOAConfig (consulte a Tabela 71 no CD) pode controlar a extensão em que o módulo de controle de ganho automático afeta os sinais do canal de transporte antes da codificação do núcleo USAC. Em alguns casos, este módulo foi desenvolvido para RM0 para melhorar a faixa dinâmica não ideal da implementação do codificador AAC disponível. Com a mudança de AAC para o codificador de núcleo USAC durante a fase de integração, o intervalo dinâmico do codificador de núcleo pode melhorar e, portanto, a necessidade deste módulo de controle de ganho não pode ser tão crítica como antes.[0101] In other words, the MaxGainCorrAmpExp bitfield as part of HOAConfig (see Table 71 on CD) can control the extent to which the auto gain control module affects transport channel signals prior to USAC core encoding . In some cases, this module was developed for RM0 to improve the non-optimal dynamic range of the available AAC encoder implementation. With the switch from AAC to USAC core encoder during the integration phase, the dynamic range of the core encoder can improve and therefore the need for this gain control module may not be as critical as before.

[0102] Em alguns casos, a funcionalidade de controle de ganho pode ser suprimida se MaxGainCorrAmpExp for definido como 0. Nesses casos, a informação de banda lateral associada HOAGainCorrectionData() pode não ser gravada em cada quadro de HOA pela tabela acima ilustrando a “Sintaxe de HOAFrame”. Para a configuração onde MaxGainCorrAmpExp é definido como 0, as técnicas descritas nesta revelação podem não sinalizar o HOAGainCorrectionData. Além disso, em tal cenário, o módulo de controle de ganho inverso pode ainda ser anulado, reduzindo a complexidade do decodificador em cerca de 0,05 MOPS por canal de transporte sem qualquer efeito secundário negativo.[0102] In some cases, gain control functionality may be suppressed if MaxGainCorrAmpExp is set to 0. In such cases, the sideband information associated with HOAGainCorrectionData() may not be written to every HOA frame per the table above illustrating the “ HOAFrame syntax”. For the configuration where MaxGainCorrAmpExp is set to 0, the techniques described in this disclosure may not flag the HOAGainCorrectionData. Furthermore, in such a scenario, the inverse gain control module can still be bypassed, reducing the decoder complexity by about 0.05 MOPS per transport channel without any negative side effects.

[0103] Nesse aspecto, as técnicas podem configurar o dispositivo de codificação de áudio 20 para, quando a correção de ganho é suprimida durante a compressão de dados de áudio ambissônicos de ordem superior, especificar o bitstream 21 representativo de uma versão comprimida dos dados de áudio ambissônicos de ordem superior de modo que o bitstream 21 não inclui dados de correção de ganho.[0103] In this regard, techniques can configure the audio encoding device 20 to, when gain correction is suppressed during compression of higher-order ambisonic audio data, specify the bitstream 21 representative of a compressed version of the audio data. higher order ambisonic audio so bitstream 21 does not include gain correction data.

[0104] Nestes e em outros casos, o dispositivo de codificação de áudio 20 pode ser configurado para comprimir os dados de áudio ambissônicos de ordem superior de acordo com um esquema de compressão de decomposição baseado em vetor para gerar a versão comprimida dos dados de áudio ambissônicos de ordem superior. Exemplos do esquema de compressão de decomposição podem envolver a aplicação de uma decomposição de valor singular (ou seus equivalentes descritos em maior detalhe acima) aos dados de áudio ambissônicos de ordem superior para gerar a versão comprimida dos dados de áudio ambissônicos de ordem superior.[0104] In these and other cases, the audio encoding device 20 can be configured to compress the higher-order ambisonic audio data in accordance with a vector-based decomposition compression scheme to generate the compressed version of the audio data. higher-order ambisonics. Examples of the decompression compression scheme may involve applying a singular value decomposition (or its equivalents described in greater detail above) to the higher-order ambisonic audio data to generate the compressed version of the higher-order ambisonic audio data.

[0105] Nestes e em outros casos, o dispositivo de codificação de áudio 20 pode ser configurado para especificar um elemento de sintaxe MaxGainCorrAmbExp no bitstream 21 como zero para indicar que a correção de ganho é suprimida. Em alguns casos, o dispositivo de codificação de áudio 20 pode ser configurado para especificar, quando a correção de ganho é suprimida, o bitstream 21 de modo que o bitstream 21 não inclua um campo de dados de HOAGainCorrection que armazene os dados de correção de ganho. Em outras palavras, o dispositivo de codificação de áudio 20 pode ser configurado para especificar um elemento de sintaxe MaxGainCorrAmbExp no bitstream 21 como zero para indicar que a correção de ganho é suprimida e não incluir no bitstream um campo de dados de HOAGainCorrection que armazena os dados de correção de ganho.[0105] In these and other cases, the audio encoding device 20 can be configured to specify a MaxGainCorrAmbExp syntax element in bitstream 21 as zero to indicate that gain correction is suppressed. In some cases, audio encoding device 20 may be configured to specify, when gain correction is suppressed, bitstream 21 so that bitstream 21 does not include a HOAGainCorrection data field that stores gain correction data. . In other words, audio encoding device 20 can be configured to specify a MaxGainCorrAmbExp syntax element in bitstream 21 as zero to indicate that gain correction is suppressed and not include in the bitstream a HOAGainCorrection data field that stores the data. gain correction.

[0106] Nestes e em outros casos, o dispositivo de codificação de áudio 20 pode ser configurado para suprimir a correção de ganho quando a compressão dos dados de áudio ambissônicos de ordem superior inclui a aplicação de uma codificação de uma fala de áudio unificada e codificação de áudio de fala (USAC) aos dados de áudio ambissônicos de ordem superior.[0106] In these and other cases, the audio encoding device 20 may be configured to suppress gain correction when the compression of higher-order ambisonic audio data includes the application of unified audio speech coding and coding speech audio (USAC) to higher-order ambisonic audio data.

[0107] As otimizações potenciais anteriores para a sinalização de várias informações no bitstream 21 podem ser adaptadas ou de outro modo atualizadas da maneira descrita em maior detalhe abaixo. As atualizações podem ser aplicadas em conjunto com outras atualizações discutidas abaixo ou usadas para atualizar apenas vários aspectos das otimizações discutidas acima. Como tal, cada combinação potencial de atualizações para as otimizações descritas acima são consideradas, incluindo a aplicação de uma única atualização descrita abaixo para as otimizações descritas acima ou quaisquer combinações particulares das atualizações descritas abaixo para as otimizações descritas acima.[0107] The previous potential optimizations for signaling various information in bitstream 21 can be adapted or otherwise updated in the manner described in greater detail below. Updates can be applied in conjunction with other updates discussed below, or used to update just various aspects of the optimizations discussed above. As such, each potential combination of updates for the optimizations described above is considered, including applying a single update described below for the optimizations described above or any particular combination of the updates described below for the optimizations described above.

[0108] Para especificar uma matriz no bitstream, a unidade de geração de bitstream 42 pode, por exemplo, especificar um ID_CONFIG_EXT_HOA_MATRIX em um mpegh3daConfigExtension() do bitstream 21, como ilustrado em negrito e realçado na Tabela seguinte. A Tabela a seguir é representativa da sintaxe para especificar a porção mpegh3daConfigExtension() do bitstream 21: Tabela - Sintaxe de mpegh3daConfigExtension()

Figure img0021
O ID_CONFIG_EXT_HOA_MATRIX na tabela anterior fornece um recipiente no qual especificar a matriz de renderização, o recipiente denotado como “HoaRenderingMatrixSet()”.[0108] To specify a matrix in the bitstream, the bitstream generation unit 42 can, for example, specify an ID_CONFIG_EXT_HOA_MATRIX in an mpegh3daConfigExtension() of bitstream 21, as illustrated in bold and highlighted in the following Table. The following Table is representative of the syntax for specifying the mpegh3daConfigExtension() portion of bitstream 21: Table - mpegh3daConfigExtension() Syntax
Figure img0021
The ID_CONFIG_EXT_HOA_MATRIX in the previous table provides a container in which to specify the rendering matrix, the container denoted as “HoaRenderingMatrixSet()”.

[0109] O conteúdo do recipiente HoaRenderingMatrixSet() pode ser definido de acordo com a sintaxe estabelecida na Tabela a seguir: Tabela - Sintaxe de HoaRenderingMatrixSet()

Figure img0022
Como mostrado na Tabela acima, o HoaRenderingMatrixSet() inclui vários elementos de sintaxe diferentes, incluindo um numHoaRenderingMatrices, um HoaRendereringMatrixId, um CICPspeakerLayoutIdx, um HoaMatrixLenBits e um HoARenderingMatrix.[0109] The contents of the HoaRenderingMatrixSet() container can be defined according to the syntax established in the following Table: Table - HoaRenderingMatrixSet() Syntax
Figure img0022
As shown in the Table above, the HoaRenderingMatrixSet() includes several different syntax elements, including a numHoaRenderingMatrices, a HoaRendereringMatrixId, a CICPspeakerLayoutIdx, a HoaMatrixLenBits, and a HoARenderingMatrix.

[0110] O elemento de sintaxe numHoaRenderingMatrices pode especificar um número de definições HoaRendereringMatrixId presentes no elemento de bitstream. O elemento de sintaxe HoaRenderingMatrixId pode representar um campo que define unicamente um ID para uma matriz de renderização HOA padrão disponível no lado do decodificador ou uma matriz de renderização HOA transmitida. Nesse aspecto, o HoaRenderingMatrixId pode representar um exemplo do valor de sinal que inclui dois ou mais bits que definem um índice que indica que o bitstream inclui uma matriz usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto- falante ou o valor de sinal que inclui dois ou mais bits que definem um índice associado a uma de uma pluralidade de matrizes utilizadas para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. O elemento de sintaxe CICPspeakerLayoutIdx pode representar um valor que descreve o layout do alto-falante de saída para a dada matriz de renderização HOA e pode corresponder a um elemento ChannelConfiguration definido na ISO/IEC 23000 1-8. O elemento de sintaxe HoaMatrixLenBits (que também pode ser denominado como “HoaRenderingMatrixLenBits”) pode especificar um comprimento do seguinte elemento de bitstream (por exemplo, o recipiente HoaRenderingMatrix()) em bits.[0110] The numHoaRenderingMatrices syntax element can specify a number of HoaRendereringMatrixId definitions present in the bitstream element. The HoaRenderingMatrixId syntax element can represent a field that uniquely defines an ID for a standard HOA rendering matrix available on the decoder side or a passed HOA rendering matrix. In this regard, the HoaRenderingMatrixId can represent an example of the signal value that includes two or more bits that define an index that indicates that the bitstream includes a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds, or the value of signal that includes two or more bits that define an index associated with one of a plurality of matrices used to render spherical harmonic coefficients for a plurality of speaker feeds. The CICPspeakerLayoutIdx syntax element can represent a value that describes the output speaker layout for the given HOA rendering matrix and can correspond to a ChannelConfiguration element defined in ISO/IEC 23000 1-8. The HoaMatrixLenBits syntax element (which may also be referred to as “HoaRenderingMatrixLenBits”) can specify a length of the following bitstream element (for example, the HoaRenderingMatrix() container) in bits.

[0111] O recipiente HoaRenderingMatrix() inclui um NumOfHoaCoeffs seguido de um recipiente outputConfig() e um recipiente outputCount(). O recipiente outputConfig() pode incluir vetores de configuração de canal especificando as informações sobre cada alto-falante. A unidade de geração de bitstream 42 pode assumir que esta informação de alto-falante é conhecida a partir das configurações de canal do layout de saída. Cada entrada, outputConfig[i], pode representar uma estrutura de dados com os seguintes membros: AzimuthAngle (que pode indicar o valor absoluto do ângulo de azimute do alto-falante); AzimuthDirection (que pode indicar a direção azimutal usando, como um exemplo, 0 para esquerda e 1 para direita); ElevationAngle (que pode indicar o valor absoluto dos ângulos de elevação do alto-falante); ElevationDirection (que pode indicar a direção de elevação usando, por exemplo, 0 para cima e 1 para baixo); e isLFE (que pode indicar se o alto-falante é um alto-falante de efeito de baixa frequência (LFE)). A unidade de geração de bitstream 42 pode invocar uma função auxiliar, em alguns casos, designada por “findSymmetricSpeakers”, que pode especificar ainda o seguinte: pairType (que pode armazenar um valor de SYMMETRIC (que significa um par simétrico de dois alto- falantes em algum exemplo), CENTER, ou ASYMMETRIC); e symmetricPair-> originalPosition (que pode indicar a posição na configuração do canal original do segundo (por exemplo, direito) alto-falante no grupo, apenas para grupos SYMMETRIC). O recipiente outputCount() pode especificar um número de alto-falantes para os quais a matriz de renderização HOA é definida.[0111] The HoaRenderingMatrix() container includes a NumOfHoaCoeffs followed by an outputConfig() container and an outputCount() container. The outputConfig() container can include channel configuration vectors specifying information about each speaker. The bitstream generating unit 42 can assume that this speaker information is known from the channel settings of the output layout. Each entry, outputConfig[i], can represent a data structure with the following members: AzimuthAngle (which can indicate the absolute value of the speaker's azimuth angle); AzimuthDirection (which can indicate the azimuth direction using, as an example, 0 for left and 1 for right); ElevationAngle (which can indicate the absolute value of the speaker's elevation angles); ElevationDirection (which can indicate the elevation direction using, for example, 0 for up and 1 for down); and isLFE (which can indicate whether the speaker is a Low Frequency Effect (LFE) speaker). The bitstream generation unit 42 can invoke a helper function, in some cases called “findSymmetricSpeakers”, which can further specify the following: pairType (which can store a value of SYMMETRIC (which means a symmetrical pair of two speakers) in some instance), CENTER, or ASYMMETRIC); and symmetricPair->originalPosition (which can indicate the position in the original channel configuration of the second (eg right) speaker in the group, for SYMMETRIC groups only). The outputCount() container can specify a number of speakers for which the HOA rendering matrix is defined.

[0112] A unidade de geração de bitstream 42 pode especificar o recipiente HoaRenderingMatrix() de acordo com a sintaxe estabelecida na Tabela seguinte: Tabela - Sintaxe de HoaRenderingMatrix()

Figure img0023
Figure img0024
Como mostrado na Tabela diretamente acima, o elemento de sintaxe numPairs é definido para o valor de saída a partir da invocação da função auxiliar findSymmetricSpeakers usando o outputCount e outputConfig e hasLfeRendering como entradas. O numPairs pode, portanto, indicar o número de pares de alto-falantes simétricos identificados na configuração de alto-falantes de saída que podem ser considerados para a codificação de simetria eficiente. O elemento de sintaxe precisionLevel na Tabela acima pode indicar uma precisão usada para quantização uniforme dos ganhos de acordo com a seguinte Tabela: Tabela - Tamanho da etapa de quantização uniforme de hoaGain em função de precisionLevel
Figure img0025
[0112] The bitstream generation unit 42 can specify the HoaRenderingMatrix() container according to the syntax established in the following Table: Table - HoaRenderingMatrix() Syntax
Figure img0023
Figure img0024
As shown in the Table directly above, the numPairs syntax element is set to the output value from invoking the findSymmetricSpeakers helper function using the outputCount and outputConfig and hasLfeRendering as inputs. numPairs can therefore indicate the number of symmetrical speaker pairs identified in the output speaker configuration that can be considered for efficient symmetry encoding. The precisionLevel syntax element in the Table above can indicate a precision used for uniform quantization of gains according to the following Table: Table - Size of uniform quantization step of hoaGain as a function of precisionLevel
Figure img0025

[0113] O elemento de sintaxe de gainLimitPerHoaOrder mostrado na tabela acima que estabelece a sintaxe de HoaRenderingMatrix() pode representar um sinalizador indicando se o maxGain e minGain são especificados individualmente para cada ordem ou para toda a matriz de renderização de HOA. Os elementos de sintaxe maxGain[i] podem especificar um ganho real máximo na matriz para coeficientes para a ordem HOA i expressa, como um exemplo, em decibéis (dB). Os elementos de sintaxe mixGain[i] podem especificar um ganho real mínimo na matriz para coeficientes da ordem HOA i expressa, como um exemplo, em dB. O elemento de sintaxe isFullMatrix pode representar um sinalizador que indica se a matriz de renderização HOA é esparsa ou cheia. O elemento de sintaxe firstSparseOrder pode especificar, no caso de a matriz de renderização HOA ter sido especificada como esparsa pelo elemento de sintaxe isFullMatrix, a primeira ordem de HOA que está codificada de forma esparsa. O elemento de sintaxe isHoaCoefSparse pode representar um vetor de máscara de bits derivado do elemento de sintaxe firstSparseOrder. O elemento de sintaxe lfeExists pode representar um sinalizador indicativo de se existe um ou mais LFEs em outputConfig. O elemento de sintaxe hasLfeRendering indica se a matriz de renderização contém elementos diferentes de zero para um ou mais canais LFE. O elemento de sintaxe zerothOrderAlwaysPositive pode representar um sinalizador indicativo de se a 0a ordem HOA tem apenas valores positivos.[0113] The gainLimitPerHoaOrder syntax element shown in the table above that establishes the syntax of HoaRenderingMatrix() can represent a flag indicating whether maxGain and minGain are specified individually for each order or for the entire HOA rendering matrix. The maxGain[i] syntax elements can specify a maximum real gain in the array for coefficients for the HOA order i expressed, as an example, in decibels (dB). The mixGain[i] syntax elements can specify a minimum real gain in the array for coefficients of the order HOA i expressed, as an example, in dB. The isFullMatrix syntax element can represent a flag that indicates whether the HOA rendering matrix is sparse or full. The firstSparseOrder syntax element can specify, in case the HOA render matrix was specified as sparse by the isFullMatrix syntax element, the first HOA order that is sparsely encoded. The isHoaCoefSparse syntax element can represent a bitmask vector derived from the firstSparseOrder syntax element. The lfeExists syntax element can represent a flag indicating whether one or more LFEs exist in outputConfig. The hasLfeRendering syntax element indicates whether the rendering array contains non-zero elements for one or more LFE channels. The zerothOrderAlwaysPositive syntax element can represent a flag indicative of whether the 0th order HOA has only positive values.

[0114] O elemento de sintaxe isAllValueSymmetric pode representar um sinalizador indicativo de se todos os pares de alto-falantes simétricos têm valores absolutos iguais na matriz de renderização HOA. O elemento de sintaxe isAnyValueSymmetric representa um sinalizador que indica, quando falso, por exemplo, se alguns dos pares de alto-falantes simétricos têm valores absolutos iguais na matriz de renderização HOA. O elemento de sintaxe valueSymmetricPairs pode representar uma máscara de bit de comprimento numPairs indicando os pares de alto- falantes com simetria de valor. O elemento de sintaxe isValueSymmetric pode representar uma máscara de bits derivada da maneira mostrada na Tabela 3 a partir do elemento de sintaxe valueSymmetricPairs. O elemento de sintaxe isAllSignSymmetric pode indicar, quando não há simetrias de valor na matriz, se todos os pares de alto- falantes simétricos têm pelo menos simetrias de sinal de número. O elemento de sintaxe isAnySignSymmetric pode representar um sinalizador indicativo de se existem pelo menos alguns pares de alto-falantes simétricos com simetrias de sinal numérico. O elemento de sintaxe signSymmetricPairs pode representar uma máscara de bit de comprimento numPairs indicando os pares de alto-falantes com simetria de sinal. A variável isSignSymmetric pode representar uma máscara de bits derivada do elemento de sintaxe signSymmetricPairs da maneira mostrada acima na Tabela estabelecendo a sintaxe de HoaRenderingMatrix(). O elemento de sintaxe hasVerticalCoef pode representar um sinalizador indicativo de se a matriz é uma matriz de renderização HOA somente horizontal. O elemento de sintaxe bootVal pode representar uma variável usada no circuito de decodificação.[0114] The isAllValueSymmetric syntax element can represent a flag indicative of whether all symmetric speaker pairs have equal absolute values in the HOA rendering matrix. The isAnyValueSymmetric syntax element represents a flag that indicates, when false, for example, whether some of the symmetric speaker pairs have equal absolute values in the HOA rendering matrix. The valueSymmetricPairs syntax element can represent a bitmask of length numPairs indicating the speaker pairs with value symmetry. The isValueSymmetric syntax element can represent a bitmask derived in the manner shown in Table 3 from the valueSymmetricPairs syntax element. The isAllSignSymmetric syntax element can indicate, when there are no value symmetries in the array, whether all pairs of symmetric speakers have at least sign-number symmetries. The isAnySignSymmetric syntax element can represent a flag indicative of whether there are at least some pairs of symmetric speakers with number sign symmetries. The signSymmetricPairs syntax element can represent a bitmask of length numPairs indicating the signal symmetry speaker pairs. The isSignSymmetric variable can represent a bitmask derived from the signSymmetricPairs syntax element in the manner shown above in the Table establishing the syntax of HoaRenderingMatrix(). The hasVerticalCoef syntax element can represent a flag indicative of whether the array is a horizontal-only HOA rendering array. The bootVal syntax element can represent a variable used in the decoding circuit.

[0115] Em outras palavras, a unidade de geração de bitstream 42 pode analisar o renderizador de áudio 1 para gerar uma ou mais das informações de simetria de valor acima (por exemplo, qualquer combinação de um ou mais elemento de sintaxe isAllValueSymmetric, elemento de sintaxe isAnyValueSymmetric, elemento de sintaxe valueSymmetricPairs, elemento de sintaxe isValueSymmetric e elemento de sintaxe valueSymmetricPairs) ou obter a informação de simetria de valor. A unidade de geração de bitstream 42 pode especificar a informação de renderização de áudio 2 no bitstream 21 da maneira mostrada acima de modo que a informação de renderização de áudio 2 inclui a informação de simetria de sinal de valor.[0115] In other words, bitstream generation unit 42 can parse audio renderer 1 to generate one or more of the above value symmetry information (e.g. any combination of one or more syntax element isAllValueSymmetric, element of isAnyValueSymmetric syntax, valueSymmetricPairs syntax element, isValueSymmetric syntax element, and valueSymmetricPairs syntax element) or get the value symmetry information. The bitstream generating unit 42 can specify the audio rendering information 2 in the bitstream 21 in the manner shown above so that the audio rendering information 2 includes the value signal symmetry information.

[0116] Além disso, em outras palavras, a unidade de geração de bitstream 42 também pode analisar o renderizador de áudio 1 para gerar uma ou mais das informações de simetria de sinal acima (por exemplo, qualquer combinação de um ou mais elemento de sintaxe isAllSignSymmetric, elemento de sintaxe isAnySignSymmetric, elemento de sintaxe signSymmetricPairs, elemento de sintaxe isSignSymmetric e elemento de sintaxe signSymmetricPairs) ou obter a informação de simetria de sinal. A unidade de geração de bitstream 42 pode especificar a informação de renderização de áudio 2 no bitstream 21 da maneira mostrada acima de modo que a informação de renderização de áudio 2 inclui a informação de simetria de sinal de áudio.[0116] Also, in other words, bitstream generation unit 42 can also parse audio renderer 1 to generate one or more of the above signal symmetry information (e.g. any combination of one or more syntax elements isAllSignSymmetric, isAnySignSymmetric syntax element, signSymmetricPairs syntax element, isSignSymmetric syntax element, and signSymmetricPairs syntax element) or get the sign symmetry information. The bitstream generating unit 42 can specify the audio rendering information 2 in the bitstream 21 in the manner shown above so that the audio rendering information 2 includes the audio signal symmetry information.

[0117] Quando se determina a informação de simetria de valor e a informação de simetria de sinal, a unidade de geração de bitstream 42 pode analisar os vários valores do processador de áudio 1, que podem ser especificados como uma matriz. Uma matriz de renderização pode ser formulada como uma pseudo-inversa de uma matriz R. Em outras palavras, para renderizar (N+1)2 canais HOA (indicados como Z abaixo) para L sinais de alto-falante (indicados pelo vetor coluna, p, dos sinais do alto-falante L), pode ser dada a seguinte equação: Z = R * p. Para chegar à matriz de renderização que produz os sinais de alto-falante L, o inverso da matriz R é multiplicado pelos Z canais HOA como mostrado na seguinte equação: p = R-1 * Z. A menos que o número de canais de alto-falantes, L, seja o mesmo que o número de canais HOA Z, (N+1)2, a matriz R não será quadrada e um inverso perfeito não pode ser determinado. Como resultado, o pseudo-inverso pode ser usado em vez disso, que é definido da seguinte forma: pinv(R) = RT (R * RT)-1, onde RT denota a transposição da matriz R. Substituindo R-1 na equação acima, a resolução para os sinais de alto-falante L denotados pelo vetor de coluna p pode ser denotada matematicamente como se segue: p = pinv(R) * Z = RT (R * RT)-1 * Z.[0117] When determining the value symmetry information and the signal symmetry information, the bitstream generation unit 42 can analyze the various values of the audio processor 1, which can be specified as a matrix. A rendering matrix can be formulated as a pseudo-inverse of an R matrix. In other words, to render (N+1)2 HOA channels (indicated as Z below) for L speaker signals (indicated by the column vector, p, of the loudspeaker L signals), the following equation can be given: Z = R * p. To arrive at the rendering matrix that produces the L speaker signals, the inverse of the R matrix is multiplied by the Z HOA channels as shown in the following equation: p = R-1 * Z. -speakers, L, is the same as the number of channels HOA Z, (N+1)2, the matrix R will not be square and a perfect inverse cannot be determined. As a result, the pseudo-inverse can be used instead, which is defined as follows: pinv(R) = RT(R * RT)-1, where RT denotes the transposition of the matrix R. Substituting R-1 into the equation above, the resolution for the loudspeaker signals L denoted by the column vector p can be mathematically denoted as follows: p = pinv(R) * Z = RT(R * RT)-1 * Z.

[0118] As entradas da matriz R são os valores dos harmônicos esféricos para as posições de alto-falante com (N+1)2 fileiras para os diferentes harmônicos esféricos e L colunas para os alto-falantes. A unidade de geração de bitstream 42 pode determinar pares de alto-falantes com base nos valores para os alto-falantes. Analisando os valores dos harmônicos esféricos para as posições de alto- falante, a unidade de geração de bitstream 42 pode determinar com base nos valores cujas posições de alto- falantes são pares (por exemplo, como pares podem ter valores semelhantes, quase iguais ou iguais, mas com sinais opostos).[0118] The entries of the matrix R are the values of the spherical harmonics for the speaker positions with (N+1)2 rows for the different spherical harmonics and L columns for the speakers. The bitstream generation unit 42 can determine speaker pairs based on the values for the speakers. By analyzing the values of the spherical harmonics for the speaker positions, the bitstream generation unit 42 can determine based on the values whose speaker positions are even (e.g., as pairs can have similar, nearly equal, or equal values , but with opposite signs).

[0119] Depois de identificar os pares, a unidade de geração de bitstream 42 pode determinar para cada par, se os pares têm o mesmo valor ou quase o mesmo valor. Quando todos os pares têm o mesmo valor, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAllValueSymmetric para um. Quando todos os pares não têm o mesmo valor, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAllValueSymmetric para zero. Quando um ou mais mas não todos os pares têm o mesmo valor, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAnyValueSymmetric para um. Quando nenhum os pares têm o mesmo valor, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAnyValueSymmetric para zero. Para pares com valores simétricos, a unidade de geração de bitstream 42 pode especificar apenas um valor em vez de dois valores separados para o par de alto-falantes, reduzindo assim o número de bits utilizados para representar a informação de renderização de áudio 2 (por exemplo, a matriz neste exemplo) no bitstream 21.[0119] After identifying the pairs, the bitstream generation unit 42 can determine for each pair whether the pairs have the same value or nearly the same value. When all pairs have the same value, bitstream generation unit 42 can set the syntax element isAllValueSymmetric to one. When all pairs do not have the same value, bitstream generation unit 42 can set the isAllValueSymmetric syntax element to zero. When one or more but not all pairs have the same value, bitstream generation unit 42 may set the isAnyValueSymmetric syntax element to one. When none of the pairs have the same value, bitstream generation unit 42 can set the isAnyValueSymmetric syntax element to zero. For pairs with symmetric values, the bitstream generation unit 42 can specify only one value instead of two separate values for the speaker pair, thus reducing the number of bits used to represent the audio rendering information 2 (for example, the array in this example) in bitstream 21.

[0120] Quando não existem simetrias de valor entre os pares, a unidade de geração de bitstream 42 também pode determinar para cada par, se os pares de alto-falantes têm simetria de sinal (significando que um alto-falante tem um valor negativo enquanto o outro alto-falante tem um valor positivo). Quando todos os pares têm simetria de sinal, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAllSignSymmetric para um. Quando todos os pares não têm simetria de sinal, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAllSignSymmetric para zero. Quando um ou mais mas não todos os pares têm simetria de sinal, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAnySignSymmetric para um. Quando nenhum dos pares têm simetria de sinal, a unidade de geração de bitstream 42 pode definir o elemento de sintaxe isAnySignSymmetric para zero. Para pares com sinais simétricos, a unidade de geração de bitstream 42 pode especificar apenas um ou nenhum sinal em vez de dois sinais separados para o par de alto-falantes, reduzindo assim o número de bits utilizados para representar a informação de renderização de áudio 2 (por exemplo, a matriz neste exemplo) no bitstream 21.[0120] When there are no value symmetries between the pairs, the bitstream generation unit 42 can also determine for each pair whether the loudspeaker pairs have sign symmetry (meaning that a loudspeaker has a negative value while the other speaker has a positive value). When all pairs have sign symmetry, bitstream generation unit 42 can set the syntax element isAllSignSymmetric to one. When all pairs do not have sign symmetry, bitstream generation unit 42 can set the syntax element isAllSignSymmetric to zero. When one or more but not all pairs have sign symmetry, the bitstream generation unit 42 may set the isAnySignSymmetric syntax element to one. When none of the pairs have sign symmetry, the bitstream generation unit 42 may set the isAnySignSymmetric syntax element to zero. For pairs with symmetrical signals, the bitstream generation unit 42 may specify only one or no signals instead of two separate signals for the speaker pair, thus reducing the number of bits used to represent the audio rendering information 2 (e.g. the array in this example) in bitstream 21.

[0121] A unidade de geração de bitstream 42 pode especificar o recipiente DecodeHoaMatrixData() mostrado na Tabela que estabelece a sintaxe de HoaRenderingMatrix() de acordo com a sintaxe mostrada na Tabela seguinte: Tabela - Sintaxe de DecodeHoaMatrixData

Figure img0026
Figure img0027
[0121] The bitstream generation unit 42 can specify the DecodeHoaMatrixData() container shown in the Table establishing the syntax of HoaRenderingMatrix() according to the syntax shown in the following Table: Table - DecodeHoaMatrixData Syntax
Figure img0026
Figure img0027

[0122] O elemento de sintaxe hasValue na Tabela anterior que estabelece a sintaxe de DecodeHoaMatrixData pode representar um sinalizador indicativo de se o elemento de matriz é codificado de modo esparso. O elemento de sintaxe signMatrix pode representar uma matriz com os valores de sinal da matriz de renderização HOA em, como um exemplo, forma vetorial linearizada. O elemento de sintaxe hoaMatrix pode representar os valores da matriz de renderização HOA em, como um exemplo, forma vetorial linearizada. A unidade de geração de bitstream 42 pode especificar o recipiente DecodeHoaGainValeu() mostrado na Tabela que estabelece a sintaxe de DecodeHoaMatrixData de acordo com a sintaxe mostrada na Tabela seguinte: Tabela - Sintaxe de DecodeHoaGainValue

Figure img0028
[0122] The hasValue syntax element in the previous Table establishing the DecodeHoaMatrixData syntax can represent a flag indicative of whether the array element is sparsely encoded. The signMatrix syntax element can represent a matrix with the sign values of the HOA rendering matrix in, as an example, linearized vector form. The hoaMatrix syntax element can represent HOA rendering matrix values in, as an example, linearized vector form. The bitstream generation unit 42 can specify the DecodeHoaGainValeu() container shown in the Table establishing the DecodeHoaMatrixData syntax according to the syntax shown in the following Table: Table - DecodeHoaGainValue Syntax
Figure img0028

[0123] A unidade de geração de bitstream 42 pode especificar o recipiente readRange() mostrado na Tabela que estabelece a sintaxe de DecodeHoaGainValeu de acordo com a sintaxe especificada na Tabela seguinte: Tabela 7 - Sintaxe de ReadRange

Figure img0029
[0123] The bitstream generation unit 42 can specify the readRange() container shown in the Table establishing the DecodeHoaGainValeu syntax according to the syntax specified in the following Table: Table 7 - ReadRange Syntax
Figure img0029

[0124] Embora não ilustrado no exemplo da FIG. 3, o dispositivo de codificação de áudio 20 também pode incluir uma unidade de saída de bitstream que comuta a saída de bitstream do dispositivo de codificação de áudio 20 (por exemplo, entre o bitstream baseado na direção 21 e o bitstream baseado no vetor 21) com base em se um quadro atual deve ser codificado utilizando a síntese de base direcional ou a síntese baseada em vetor. A unidade de saída de bitstream pode executar a comutação com base no elemento de sintaxe emitido pela unidade de análise de conteúdo 26 indicando se foi efetuada uma síntese baseada em direção (como resultado da detecção de que os coeficientes HOA foram gerados a partir de um objeto de áudio sintético) ou uma síntese baseada em vetor foi realizada (como resultado da detecção de que os coeficientes de HOA foram registrados). A unidade de saída de bitstream pode especificar a sintaxe de cabeçalho correta para indicar a codificação de comutação ou corrente usada para a quadro atual juntamente com um respectivo dos bitstreams 21.[0124] Although not illustrated in the example of FIG. 3, audio encoding device 20 may also include a bitstream output unit that switches the bitstream output of audio encoding device 20 (e.g., between direction-based bitstream 21 and vector-based bitstream 21) based on whether a current frame should be encoded using directional based synthesis or vector based synthesis. The bitstream output unit may perform switching based on the syntax element emitted by the content analysis unit 26 indicating whether a direction-based synthesis has been performed (as a result of detecting that HOA coefficients were generated from an object audio) or a vector-based synthesis was performed (as a result of detecting that HOA coefficients were recorded). The bitstream output unit can specify the correct header syntax to indicate the switch or current encoding used for the current frame along with a respective one of the 21 bitstreams.

[0125] Além disso, como observado acima, a unidade de análise de campo de som 44 pode identificar os coeficientes HOA ambiente BGTOT 47, os quais podem mudar em uma base quadro a quadro (embora às vezes a BGTOT possa permanecer constante ou igual através de dois ou mais quadros adjacentes (no tempo)). A alteração em BGTOT pode resultar em alterações nos coeficientes expressos nos vetores V[k] de primeiro plano reduzidos. A alteração em BGTOT pode resultar em coeficientes HOA de fundo (que também podem ser referidos como “coeficientes HOA ambiente”) que mudam em uma base quadro a quadro (embora, novamente, às vezes BGTOT possa permanecer constante ou igual em dois ou mais quadros adjacentes (no tempo)). As alterações resultam frequentemente em uma alteração de energia para os aspectos do campo de som representados pela adição ou remoção dos coeficientes HOA ambiente adicionais e a correspondente remoção de coeficientes de ou adição de coeficientes para aos vetores V[k] de primeiro plano reduzidos.[0125] In addition, as noted above, the sound field analysis unit 44 can identify ambient HOA BGTOT 47 coefficients, which may change on a frame-by-frame basis (although sometimes the BGTOT may remain constant or equal across two or more adjacent frames (in time)). The change in BGTOT can result in changes in the coefficients expressed in the reduced foreground V[k] vectors. Changing BGTOT can result in background HOA coefficients (which may also be referred to as “ambient HOA coefficients”) that change on a frame-by-frame basis (although, again, sometimes BGTOT can remain constant or equal across two or more frames adjacent (in time)). The changes often result in an energy change for the aspects of the sound field represented by the addition or removal of additional ambient HOA coefficients and the corresponding removal of coefficients from or addition of coefficients to the reduced foreground V[k] vectors.

[0126] Como resultado, a unidade de análise de campo de som 44 pode determinar adicionalmente quando os coeficientes HOA ambiente mudam de quadro para quadro e gerar um sinalizador ou outro elemento sintático indicativo da alteração para o coeficiente HOA ambiente em termos de serem utilizados para representar os componentes ambiente do campo de som (onde a alteração também pode ser referida como uma “transição” do coeficiente HOA ambiente ou como uma “transição” do coeficiente HOA ambiente). Em particular, a unidade de redução de coeficientes 46 pode gerar o sinalizador (que pode ser denotado como um sinalizador AmbCoeffTransition ou um sinalizador AmbCoeffIdxTransition), fornecendo o sinalizador para a unidade de geração de bitstream 42 de modo que o sinalizador pode ser incluído no bitstream 21 (possivelmente como parte da informação do canal lateral).[0126] As a result, the sound field analysis unit 44 can further determine when the ambient HOA coefficients change from frame to frame and generate a flag or other syntactic element indicative of the change to the ambient HOA coefficient in terms of being used for represent the ambient components of the sound field (where the change may also be referred to as a “transition” of the ambient HOA coefficient or as a “transition” of the ambient HOA coefficient). In particular, coefficient reduction unit 46 can generate the flag (which may be denoted as an AmbCoeffTransition flag or an AmbCoeffIdxTransition flag) by supplying the flag to the bitstream generation unit 42 so that the flag can be included in the bitstream 21 (possibly as part of the side channel information).

[0127] A unidade de redução de coeficientes 46 pode, além de especificar o indicador de transição de coeficiente ambiente, também modificar como são produzidos os vetores de primeiro plano V[k] reduzidos 55. Em um exemplo, ao determinar que um dos coeficientes ambiente de HOA ambiente está em transição durante a quadro atual, a unidade de redução de coeficientes 46 pode especificar um coeficiente de vetor (que também pode ser referido como um “elemento de vetor” ou “elemento”) para cada um dos vetores V dos vetores de primeiro plano V[k] reduzidos 55 que corresponde ao coeficiente de HOA ambiente em transição. Novamente, o coeficiente HOA ambiente em transição pode adicionar ou remover do número total de BGTOT dos coeficientes de fundo. Por conseguinte, a alteração resultante no número total de coeficientes de fundo afeta se o coeficiente HOA ambiente está incluído ou não no bitstream e se o elemento correspondente dos vetores V está incluído para os vetores V especificados no bitstream nos segundo e terceiro modos de configuração descritos acima. Mais informações sobre como a unidade de redução de coeficientes 46 pode especificar os vetores V[k] de primeiro plano reduzidos para superar as mudanças na energia são fornecidas no Pedido N° de Série 14/594.533, intitulada “TRANSITIONING OF AMBIENT HIGHER_ORDER AMBISONIC COEFFICIENTS”, depositado em 12 de janeiro de 2015.[0127] The coefficient reduction unit 46 can, in addition to specifying the ambient coefficient transition indicator, also modify how the reduced foreground vectors V[k] 55 are produced. In an example, when determining that one of the coefficients HOA environment is in transition during the current frame, the coefficient reduction unit 46 can specify a vector coefficient (which may also be referred to as a “vector element” or “element”) for each of the V vectors of the reduced foreground vectors V[k] 55 which corresponds to the transitional ambient HOA coefficient. Again, the transitional ambient HOA coefficient can add to or remove from the total number of BGTOT of the background coefficients. Therefore, the resulting change in the total number of background coefficients affects whether or not the ambient HOA coefficient is included in the bitstream and whether the corresponding element of the V vectors is included for the specified V vectors in the bitstream in the second and third configuration modes described. above. More information on how the coefficient reduction unit 46 can specify reduced foreground V[k] vectors to overcome changes in energy is provided in Application Serial No. , filed on January 12, 2015.

[0128] A FIG. 4 é um diagrama de blocos ilustrando o dispositivo de decodificação de áudio 24 da Fig. 2 em maior detalhe. Como mostrado no exemplo da FIG. 4 dispositivo de codificação de áudio 24 pode incluir uma unidade de extração 72, uma unidade de reconstrução de renderizador 81, uma unidade de reconstrução de base direcional 90 e uma unidade de reconstrução baseada em vetor 92. Embora descrito a seguir, mais informação sobre o dispositivo de decodificação de áudio 24 e os vários aspectos da descompressão ou de outro modo decodificação de coeficientes de 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.[0128] FIG. 4 is a block diagram illustrating the audio decoding device 24 of Fig. 2 in greater detail. As shown in the example of FIG. 4 audio encoding device 24 may include an extractor unit 72, a renderer reconstruction unit 81, a directional base reconstruction unit 90 and a vector based reconstruction unit 92. audio decoding device 24 and the various aspects of decompressing or otherwise decoding HOA coefficients are available in International Patent Application Publication No. WO 2014/194099 entitled “INTERPOLATION FOR DECOMPOSED REPRESENTATIONS OF A SOUND FIELD” filed May 29, 2014.

[0129] A unidade de extração 72 pode representar uma unidade configurada para receber o bitstream 21 e extrair a informação de renderização de áudio 2 e as várias versões codificadas (por exemplo, uma versão codificada com base direcional ou uma versão codificada baseada no vetor) dos coeficientes HOA 11. Em outras palavras, as matrizes de renderização de Amnissônicos de Ordem Superior (HOA) podem ser transmitidas pelo dispositivo de codificação de áudio 20 para permitir o controle sobre o processo de renderização de HOA no sistema de reprodução de áudio 16. A transmissão pode ser facilitada por meio do mpegh3daConfigExtension do Tipo ID_ CONFIG_EXT_HOA_MATRIX mostrado acima. O mpegh3daConfigExtension pode conter várias matrizes de renderização HOA para diferentes configurações de reprodução de alto-falante. Quando as matrizes de renderização de HOA são transmitidas, o dispositivo de codificação de áudio 20 sinaliza, para cada sinal de matriz de renderização HOA, o layout de alto-falante alvo associado que determina juntamente com o HoaOrder as dimensões da matriz de renderização.[0129] The extraction unit 72 may represent a unit configured to receive the bitstream 21 and extract the audio rendering information 2 and the various encoded versions (e.g. a directional-based encoded version or a vector-based encoded version) of the HOA coefficients 11. In other words, the Higher Order Amnisonics (HOA) rendering matrices can be transmitted by the audio encoding device 20 to allow control over the HOA rendering process in the audio playback system 16. Transmission can be facilitated via the mpegh3daConfigExtension of Type ID_CONFIG_EXT_HOA_MATRIX shown above. The mpegh3daConfigExtension can contain multiple HOA render arrays for different speaker playback configurations. When the HOA render arrays are transmitted, the audio encoding device 20 signals, for each HOA render array signal, the associated target speaker layout which together with the HoaOrder determines the rendering array dimensions.

[0130] A transmissão de um único HoaRenderingMatrixId permite referenciar uma matriz de renderização de HOA predefinida disponível no sistema de reprodução de áudio 16, ou a uma matriz de renderização de HOA transmitida a partir do exterior do bitstream de áudio 21. Em alguns casos, cada matriz de renderização de HOA é assumida como normalizada em N3D e segue a ordenação dos coeficientes de HOA como definido no bitstream 21.[0130] Streaming a single HoaRenderingMatrixId allows referencing a predefined HOA rendering matrix available on the audio playback system 16, or a HOA rendering matrix transmitted from outside the audio bitstream 21. In some cases, each HOA rendering matrix is assumed to be normalized in N3D and follows the ordering of the HOA coefficients as defined in bitstream 21.

[0131] A função findSymmetricSpeakers pode, como referido acima, indicar um número e uma posição de todos os pares de alto-falantes dentro da configuração de alto-falante fornecida que são simétricos em relação, como um exemplo, ao plano médio de um ouvinte no chamado “sweet spot”. Esta função auxiliar pode ser definida da seguinte forma: int findSymmetricSpeakers(int outputCount, SpeakerInformation* outputConfig, int hasLfeRendering); A unidade de extração 72 pode invocar a função createSymSigns para calcular um vetor de valores 1,0 e -1,0 que podem então ser utilizados para gerar os elementos de matriz associados com alto-falantes simétricos. Esta função createSymSigns pode ser definida da seguinte forma: void createSymSigns(int* symSigns, int hoaOrder) { int n, m, k = 0; para (n = 0; n<=hoaOrder; ++n) { para (m = -n; m<=n; ++m) symSigns[k++] = ((m>=0)*2)-1; } }[0131] The findSymmetricSpeakers function can, as noted above, indicate a number and position of all speaker pairs within the given speaker configuration that are symmetrical with respect, as an example, to the midplane of a listener in the so-called “sweet spot”. This helper function can be defined as follows: int findSymmetricSpeakers(int outputCount, SpeakerInformation* outputConfig, int hasLfeRendering); The extraction unit 72 can invoke the createSymSigns function to calculate a vector of 1.0 and -1.0 values which can then be used to generate the matrix elements associated with symmetric speakers. This createSymSigns function can be defined as follows: void createSymSigns(int* symSigns, int hoaOrder) { int n, m, k = 0; to (n = 0; n<=hoaOrder; ++n) { to (m = -n; m<=n; ++m) symSigns[k++] = ((m>=0)*2)-1; } }

[0132] A unidade de extração 72 pode invocar a função create2dBitmask para gerar uma máscara de bit para identificar os coeficientes HOA que somente são usados no plano horizontal. A função create2dBitmask pode ser definida da seguinte forma: void create2dBitmask(int* bitmask, int hoaOrder) { int n, m, k = 0; bitmask[k++] = 0; para (n = 1; n<=hoaOrder; ++n) { para (m = -n; m<=n; ++m) bitmask[k++] = abs(m)!=n; } }[0132] Extraction unit 72 can invoke the create2dBitmask function to generate a bit mask to identify HOA coefficients that are only used in the horizontal plane. The create2dBitmask function can be defined as follows: void create2dBitmask(int* bitmask, int hoaOrder) { int n, m, k = 0; bitmask[k++] = 0; to (n = 1; n<=hoaOrder; ++n) { to (m = -n; m<=n; ++m) bitmask[k++] = abs(m)!=n; } }

[0133] Para decodificar os Coeficientes da Matriz de Renderização de HOA, a unidade de extração 72 pode primeiro extrair o elemento de sintaxe HoaRenderingMatrixSet(), o qual, como referido acima, pode conter uma ou mais matrizes de renderização de HOA que podem ser aplicadas para obter uma renderização de HOA para um layout de alto-falante desejado. Em alguns casos, um determinado bitstream pode não conter mais de uma instância de HoaRenderingMatrixSet(). O elemento de sintaxe HoaRenderingMatrix() contém a informação de matriz de renderização HOA (que pode ser indicada como informação de processador 2 no exemplo da FIG. 4). A unidade de extração 72 pode primeiro ler as informações de configuração, que podem guiar o processo de decodificação. Depois, a unidade de extração 72 lê os elementos da matriz em conformidade.[0133] To decode the HOA Rendering Matrix Coefficients, the extraction unit 72 can first extract the HoaRenderingMatrixSet() syntax element, which, as noted above, can contain one or more HOA rendering matrices that can be applied to get an HOA rendering for a desired speaker layout. In some cases, a given bitstream may not contain more than one instance of HoaRenderingMatrixSet(). The HoaRenderingMatrix() syntax element contains the HOA rendering matrix information (which may be denoted as processor 2 information in the example of FIG. 4). The extraction unit 72 can first read configuration information, which can guide the decoding process. Then, extraction unit 72 reads the array elements accordingly.

[0134] Em alguns casos, a unidade de extração 72, no início, lê os campos precisionLevel e gainLimitPerOrder. Quando o sinalizador gainLimitPerOrder é definida, a unidade de extração 72 lê e decodifica os campos maxGain e minGain para cada ordem HOA separadamente. Quando o sinalizador gainLimitPerOrder não está definido, a unidade de extração 72 lê e decodifica os campos maxGain e minGain uma vez e aplica estes campos a todas as ordens de HOA durante o processo de decodificação. Em alguns casos, o valor minGain deve estar entre 0db e -69dB. Em alguns casos, o valor maxGain deve estar entre 1dB e 111dB menor que o valor minGain. A FIG. 9 é um diagrama ilustrando um exemplo de ganhos min e max dependentes de HOA dentro de uma matriz de renderização de HOA.[0134] In some cases, extraction unit 72 initially reads the precisionLevel and gainLimitPerOrder fields. When the gainLimitPerOrder flag is set, extraction unit 72 reads and decodes the maxGain and minGain fields for each HOA order separately. When the gainLimitPerOrder flag is not set, extraction unit 72 reads and decodes the maxGain and minGain fields once and applies these fields to all HOA orders during the decoding process. In some cases, the minGain value must be between 0db and -69dB. In some cases, the maxGain value must be between 1dB and 111dB lower than the minGain value. FIG. 9 is a diagram illustrating an example of HOA dependent min and max gains within an HOA rendering matrix.

[0135] A unidade de extração 72 pode depois ler o sinalizador isFullMatrix, o qual pode sinalizar se uma matriz é definida como cheia ou como parcialmente esparsa. Quando a matriz é definida como parcialmente esparsa, a unidade de extração 72 lê o campo seguinte (por exemplo, o elemento de sintaxe firstSparaseOrder), que especifica a ordem HOA a partir da qual a matriz de renderização HOA é codificada de forma esparsa. As matrizes de renderização de HOA podem muitas vezes ser esparsas para baixa ordem e tornar-se esparsas nas ordens mais altas, dependendo da configuração da reprodução do alto-falante. A FIG. 10 é um diagrama ilustrando uma matriz de renderização HOA de 6a ordem parcialmente esparsa para 22 alto-falantes. A esparsidade da matriz ilustrada na FIG. 10 começa com o 26° coeficiente de HOA (HOA ordem 5).[0135] Extract unit 72 can then read the isFullMatrix flag, which can signal whether a matrix is defined as full or partially sparse. When the array is set to partially sparse, extracting unit 72 reads the following field (for example, the firstSparaseOrder syntax element), which specifies the HOA order from which the HOA rendering array is sparsely encoded. HOA rendering matrices can often be sparse for low order and become sparse for higher orders depending on the speaker playback configuration. FIG. 10 is a diagram illustrating a partially sparse 6th order HOA rendering matrix for 22 speakers. The sparsity of the matrix illustrated in FIG. 10 starts with the 26th HOA coefficient (HOA order 5).

[0136] Dependendo se existe um ou mais canais de efeitos de baixa frequência (LFE) dentro da configuração de reprodução do alto-falante (indicada pelo elemento de sintaxe lfeExists), a unidade de extração 72 pode ler o campo hasLfeRendering. Quando hasLfeRendering não é definido, a unidade de extração 72 é configurada para assumir que os elementos de matriz relacionados com os canais LFE são zeros digitais. O campo seguinte lido pela unidade de extração 72 é o indicador zerothOrderAlwaysPositive, que sinaliza se os elementos de matriz associados com o coeficiente da ordem 0 são positivos. Neste caso em que zerothOrderAlwaysPositive indica que os coeficientes de HOA de ordem zero são positivos, a unidade de extração 72 determina que os sinais numéricos não são codificados para os coeficientes de matriz de renderização correspondentes aos coeficientes HOA de ordem zero.[0136] Depending on whether one or more Low Frequency Effects (LFE) channels exist within the speaker playback configuration (indicated by the lfeExists syntax element), the extraction unit 72 can read the hasLfeRendering field. When hasLfeRendering is not set, the extraction unit 72 is configured to assume that the array elements related to the LFE channels are digital zeros. The next field read by extraction unit 72 is the zerothOrderAlwaysPositive indicator, which signals whether the array elements associated with the 0-order coefficient are positive. In this case where zerothOrderAlwaysPositive indicates that the zero-order HOA coefficients are positive, the extraction unit 72 determines that the numeric signals are not encoded for the rendering matrix coefficients corresponding to the zero-order HOA coefficients.

[0137] No que se segue, as propriedades da matriz de renderização HOA podem ser sinalizadas para pares de alto-falantes simétricos em relação ao plano médio. Em alguns casos, existem duas propriedades de simetria relativas a) simetria de valores e b) simetria de sinal. No caso da simetria de valor, os elementos de matriz do alto-falante esquerdo do par de alto-falantes simétricos não são codificados, mas sim a unidade de extração 72 deriva aqueles elementos dos elementos de matriz decodificados do alto-falante direito utilizando a função auxiliar createSymSigns que executa o seguinte: pairIdx = outputConfig[j].symmetricPair- >originalPosition; hoaMatrix[i * outputCount + j] = hoaMatrix[i * outputCount + pairIdx]; and signMatrix[i * outputCount + j] = symSigns[i] * signMatrix[i * outputCount + pairIdx].[0137] In what follows, the properties of the HOA rendering matrix can be signaled for speaker pairs symmetrical about the midplane. In some cases, there are two related symmetry properties a) value symmetry and b) signal symmetry. In the case of value symmetry, the matrix elements of the left speaker of the pair of symmetrical speakers are not encoded, but rather the extraction unit 72 derives those elements from the decoded matrix elements of the right speaker using the function createSymSigns helper that does the following: pairIdx = outputConfig[j].symmetricPair->originalPosition; hoaMatrix[i * outputCount + j] = hoaMatrix[i * outputCount + pairIdx]; and signMatrix[i * outputCount + j] = symSigns[i] * signMatrix[i * outputCount + pairIdx].

[0138] Quando um par de alto-falantes não é simétrico em valor, então os elementos de matriz podem ser simétricos em relação aos seus sinais numéricos. Quando um par de alto-falantes é simétrico em sinal, os sinais numéricos dos elementos de matriz do alto-falante esquerdo do par de alto-falantes simétricos não são codificados e a unidade de extração 72 deriva estes sinais numéricos dos sinais numéricos dos elementos de matriz associados com o alto-falante direito usando a função auxiliar createSymSigns, que executa o seguinte: pairIdx = outputConfig[j].symmetricPair- >originalPosition; signMatrix[i * outputCount + j] = symSigns[i] * signMatrix[i * outputCount + pairIdx];[0138] When a pair of speakers is not symmetrical in value, then the matrix elements can be symmetrical with respect to their number signals. When a pair of speakers is symmetrical in sign, the numeric signals of the left speaker array elements of the pair of symmetrical speakers are not encoded and the extraction unit 72 derives these numeric signals from the numeric signals of the symmetrical speaker pair. array associated with the right speaker using the createSymSigns helper function, which performs the following: pairIdx = outputConfig[j].symmetricPair->originalPosition; signMatrix[i * outputCount + j] = symSigns[i] * signMatrix[i * outputCount + pairIdx];

[0139] A FIG. 11 é um diagrama que ilustra a sinalização das propriedades de simetria. Um par de alto- falantes não pode ser definido como simétrico em valor e simétrico em sinal ao mesmo tempo. O sinalizador de decodificação final hasVerticalCoef especificado se apenas os elementos de matriz associados com coeficientes de HOA circulares (isto é, 2D) são codificados. Se hasVerticalCoef não for definido, os elementos de matriz associados aos coeficientes HOA definidos com a função auxiliar create2dBitmask são definidos como zero digital.[0139] FIG. 11 is a diagram illustrating signaling symmetry properties. A pair of speakers cannot be defined as symmetrical in value and symmetrical in signal at the same time. The final decoding flag hasVerticalCoef specified if only array elements associated with circular (ie 2D) HOA coefficients are encoded. If hasVerticalCoef is not defined, array elements associated with HOA coefficients defined with the helper function create2dBitmask are set to digital zero.

[0140] Isto é, a unidade de extração 72 pode extrair a informação de renderização de áudio 2 de acordo com o processo apresentado na FIG. 11. A unidade de extração 72 pode primeiro ler o elemento de sintaxe isAllValueSymmetric a partir do bitstream 21 (300). Quando o elemento de sintaxe isAllValueSymmetric é definido como um (ou, em outras palavras, um booleano verdadeiro), a unidade de extração 72 pode iterar através do valor do elemento de sintaxe numPairs, definindo o elemento de sintaxe do arranjo valueSymmetricPairs como um valor de um (efetivamente indicando que todos os pares de alto-falantes são valores simétricos) (302).[0140] That is, the extraction unit 72 can extract the audio rendering information 2 according to the process shown in FIG. 11. The extraction unit 72 can first read the isAllValueSymmetric syntax element from bitstream 21 (300). When the isAllValueSymmetric syntax element is set to one (or, in other words, a true boolean), the extraction unit 72 can iterate through the value of the numPairs syntax element, setting the valueSymmetricPairs array syntax element to a value of one (effectively indicating that all speaker pairs are symmetrical values) (302).

[0141] Quando o elemento de sintaxe isAllValueSymmetric é definido como zero (ou, em outras palavras, um booleano falso), a unidade de extração 72 pode ler em seguida o elemento de sintaxe isAnyValueSymmetric (304). Quando o elemento de sintaxe isAnyValueSymmetric é definido como um (ou, em outras palavras, um booleano verdadeiro), a unidade de extração 72 pode iterar através do valor do elemento de sintaxe numPairs, definindo o elemento de sintaxe do arranjo valueSymmetricPairs para um bit lido sequencialmente a partir do bitstream (306). A unidade de extração 72 também pode obter o elemento de sintaxe isAnySignSymmetric para qualquer um dos pares tendo um elemento de sintaxe valueSymmetricPairs definido como zero (308). A unidade de extração 72 pode então iterar através do número de pares novamente e, quando o valueSymmetricPairs for igual a zero, definir um bit de signSymmetricPairs para um valor lido a partir do bitstream 21 (310).[0141] When the isAllValueSymmetric syntax element is set to zero (or, in other words, a false boolean), extraction unit 72 can then read the isAnyValueSymmetric syntax element (304). When the isAnyValueSymmetric syntax element is set to one (or, in other words, a true boolean), the extraction unit 72 can iterate through the value of the numPairs syntax element, setting the valueSymmetricPairs array syntax element to a read bit sequentially from the bitstream (306). The extraction unit 72 can also get the isAnySignSymmetric syntax element for any of the pairs having a valueSymmetricPairs syntax element set to zero (308). The extraction unit 72 can then iterate through the number of pairs again and, when valueSymmetricPairs equals zero, set a bit of signSymmetricPairs to a value read from bitstream 21 (310).

[0142] Quando o elemento de sintaxe isAnyValueSymmetric é definido como zero (ou, em outras palavras, um booleano falso), a unidade de extração 72 pode ler em seguida o elemento de sintaxe isAllValueSymmetric a partir do bitstream 21 (312). Quando o elemento de sintaxe isAllSignSymmetric é definido como um valor de um (ou, em outras palavras, um booleano verdadeiro), a unidade de extração 72 pode iterar através do valor do elemento de sintaxe numPairs, definindo o elemento de sintaxe do arranjo signSymmetricPairs como um valor de um (efetivamente indicando que todos os pares de alto-falantes são simétricos em sinal) (316).[0142] When the isAnyValueSymmetric syntax element is set to zero (or, in other words, a false boolean), extraction unit 72 can then read the isAllValueSymmetric syntax element from bitstream 21 (312). When the isAllSignSymmetric syntax element is set to a value of one (or, in other words, a true boolean), the extraction unit 72 can iterate through the value of the numPairs syntax element, setting the signSymmetricPairs array syntax element to a value of one (effectively indicating that all speaker pairs are symmetrical in sign) (316).

[0143] Quando o elemento de sintaxe isAllSignSymmetric é definido como zero (ou, em outras palavras, um booleano falso), a unidade de extração 72 pode ler em seguida o elemento de sintaxe isAnySignSymmetric a partir do bitstream 21 (316). A unidade de extração 72 pode iterar através do valor do elemento de sintaxe numPairs, definindo o elemento de sintaxe do arranjo signSymmetricPairs para um bit lido sequencialmente a partir do bitstream (318). A unidade de geração de bitstream 42 pode executar um processo recíproco em relação ao descrito acima em relação à unidade de extração 72 para especificar a informação de simetria de valor, a informação de simetria de sinal ou uma combinação de ambas as informações de simetria de valor e de sinal.[0143] When the isAllSignSymmetric syntax element is set to zero (or, in other words, a false boolean), extraction unit 72 can then read the isAnySignSymmetric syntax element from bitstream 21 (316). The extraction unit 72 may iterate through the value of the numPairs syntax element, setting the syntax element of the signSymmetricPairs array to a bit read sequentially from the bitstream (318). The bitstream generation unit 42 may perform a reciprocal process with respect to that described above with respect to the extraction unit 72 to specify the value symmetry information, the signal symmetry information, or a combination of both the value symmetry information. and signal.

[0144] A unidade de reconstrução de renderizador 81 pode representar uma unidade de configuração d para reconstruir um processador com base na informação de renderização de áudio 2. Isto é, usando as propriedades acima mencionadas, a unidade de reconstrução de renderizador 81 pode ler uma série de valores de ganho de elemento de matriz. Para ler o valor de ganho absoluto, a unidade de reconstrução de renderizador 81 pode invocar a função DecodeGainValue(). A unidade de reconstrução de renderizador 81 pode invocar a função ReadRange() do índice de alfabeto para decodificar uniformemente os valores de ganho. Quando o valor de ganho decodificado não é um zero digital, a unidade de reconstrução de renderizador 81 pode ler o valor do sinal numérico adicionalmente (de acordo com a Tabela a abaixo). Quando o elemento de matriz está associado a um coeficiente de HOA que foi sinalizado como esparso (via isHoaCoefSparse) o sinalizador hasValue precede o valor de gainValueIndex (ver Tabela b). Quando o sinalizador hasValue é zero, este elemento é definido como zero digital e nenhum gainValueIndex e sinal são sinalizados. Tabelas a e b - Exemplos de sintaxe de bitstream para decodificar um elemento de matriz

Figure img0030
[0144] The renderer reconstruction unit 81 can represent a configuration unit d to reconstruct a processor based on the audio rendering information 2. That is, using the aforementioned properties, the renderer reconstruction unit 81 can read a array of array element gain values. To read the absolute gain value, renderer reconstruction unit 81 can invoke the DecodeGainValue() function. The renderer reconstruction unit 81 can invoke the ReadRange() function of the alphabet index to uniformly decode the gain values. When the decoded gain value is not a digital zero, the renderer reconstruction unit 81 can read the numerical signal value additionally (according to Table a below). When the array element is associated with an HOA coefficient that has been flagged as sparse (via isHoaCoefSparse) the hasValue flag precedes the value of gainValueIndex (see Table b). When the hasValue flag is zero, this element is set to digital zero and no gainValueIndex and sign are flagged. Tables a and b - Bitstream syntax examples for decoding an array element
Figure img0030

[0145] Dependendo das propriedades de simetria especificadas para pares de alto-falantes, a unidade de reconstrução de renderização 81 pode derivar os elementos de matriz associados com o alto-falante esquerdo a partir do alto-falante direito. Neste caso, a informação de renderização de áudio 2 no bitstream 21 para decodificar um elemento de matriz para o alto-falante esquerdo é reduzida ou potencialmente completamente omitida em conformidade.[0145] Depending on the symmetry properties specified for speaker pairs, the rendering reconstruction unit 81 can derive the array elements associated with the left speaker from the right speaker. In this case, the audio rendering information 2 in bitstream 21 for decoding a matrix element for the left speaker is reduced or potentially completely omitted accordingly.

[0146] Deste modo, o dispositivo de decodificação de áudio 24 pode determinar a informação de simetria para reduzir um tamanho da informação de renderização de áudio a ser especificada. Em alguns casos, o dispositivo de decodificação de áudio 24 pode determinar informações de simetria para reduzir um tamanho da informação de renderização de áudio a ser especificada e derivar pelo menos uma porção do processador de áudio com base na informação de simetria.[0146] In this way, the audio decoding device 24 can determine the symmetry information to reduce a size of the audio rendering information to be specified. In some cases, the audio decoding device 24 may determine symmetry information to reduce a size of the audio rendering information to be specified and derive at least a portion of the audio processor based on the symmetry information.

[0147] Nestes e em outro casos, o dispositivo de decodificação de áudio 24 pode determinar a informação de simetria de valor para reduzir um tamanho da informação de renderização de áudio a ser especificada. Nestes e em outros casos, o dispositivo de decodificação de áudio 24 pode derivar pelo menos uma porção do processador de áudio com base na informação de simetria de valor.[0147] In these and other cases, the audio decoding device 24 can determine the value symmetry information to reduce a size of the audio rendering information to be specified. In these and other cases, the audio decoding device 24 may derive at least a portion of the audio processor based on the value symmetry information.

[0148] Nestes e em outro casos, o dispositivo de decodificação de áudio 24 pode determinar a informação de simetria de sinal para reduzir um tamanho da informação de renderização de áudio a ser especificada. Nestes e em outros casos, o dispositivo de decodificação de áudio 24 pode derivar pelo menos uma porção do processador de áudio com base na informação de simetria de sinal.[0148] In these and other cases, the audio decoding device 24 can determine the signal symmetry information to reduce a size of the audio rendering information to be specified. In these and other cases, the audio decoding device 24 may derive at least a portion of the audio processor based on the signal symmetry information.

[0149] Nestes e em outros casos, o dispositivo de decodificação de áudio 24 pode determinar a informação de esparsidade indicativa de uma esparsidade de uma matriz utilizada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0149] In these and other cases, the audio decoding device 24 may determine sparsity information indicative of a sparsity of a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0150] Nestes e em outros casos, o dispositivo de decodificação de áudio 24 pode determinar um layout de alto-falante para o qual uma matriz deve ser usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0150] In these and other cases, the audio decoding device 24 can determine a speaker layout for which a matrix is to be used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0151] O dispositivo de decodificação de áudio 24, nesse aspecto, pode então determinar a informação de renderização de áudio 2 especificada no bitstream. Com base no valor de sinal incluído na informação de renderização de áudio 2, o sistema de reprodução de áudio 16 pode renderizar uma pluralidade de feeds de alto-falante 25 usando um dos renderizadores de áudio 22. Os feeds de alto-falante podem acionar os alto-falantes 3. Como observado acima, o valor de sinal pode, em alguns casos, incluir uma matriz (que é decodificada e fornecida como um dos renderizadores de áudio 22) usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante. Neste caso, o sistema de reprodução de áudio 16 pode configurar um dos renderizadores de áudio 22 com a matriz, utilizando este um dos renderizadores de áudio 22 para renderizar os feeds de alto-falante 25 com base na matriz.[0151] Audio decoding device 24, in this regard, can then determine the audio rendering information 2 specified in the bitstream. Based on the signal value included in the audio rendering information 2, the audio playback system 16 may render a plurality of speaker feeds 25 using one of the audio renderers 22. The speaker feeds may trigger the speakers 3. As noted above, the signal value may, in some cases, include a matrix (which is decoded and provided as one of the 22 audio renderers) used to render spherical harmonic coefficients for a plurality of loudspeakers feeds. speaker. In this case, the audio playback system 16 can configure one of the audio renderers 22 with the matrix, this using one of the audio renderers 22 to render the speaker feeds 25 based on the matrix.

[0152] Para extrair e depois decodificar as várias versões codificadas dos coeficientes HOA 11 para que os coeficientes HOA 11 estejam disponíveis para serem processados utilizando o processador de áudio 22 obtido, a unidade de extração 72 pode determinar a partir do elemento de sintaxe observado acima indicativo de se os coeficientes HOA 11 foram codificados através das várias versões baseadas em direção ou baseadas em vetor. Quando uma codificação baseada em direção foi realizada, a unidade de extração 72 pode extrair a versão com base direcional dos coeficientes HOA 11 e os elementos de sintaxe associados à versão codificada (que é denotado como informação de base direcional 91 no exemplo da FIG. 4), passando a informação de base direcional 91 para a unidade de reconstrução com base direcional 90. A unidade de reconstrução com base direcional 90 pode representar uma unidade configurada para reconstruir os coeficientes HOA na forma de coeficientes HOA 11’ com base na informação baseada em direção 91.[0152] To extract and then decode the various encoded versions of the HOA coefficients 11 so that the HOA coefficients 11 are available to be processed using the obtained audio processor 22, the extraction unit 72 can determine from the syntax element noted above indicative of whether the HOA 11 coefficients were encoded using the various direction-based or vector-based versions. When a direction-based encoding has been performed, the extraction unit 72 can extract the directional-based version of the HOA coefficients 11 and the syntax elements associated with the coded version (which is denoted as directional-based information 91 in the example of FIG. 4 ), passing the directionally based information 91 to the directionally based reconstruction unit 90. The directionally based reconstruction unit 90 may represent a unit configured to reconstruct HOA coefficients in the form of HOA coefficients 11' based on information based on direction 91.

[0153] Quando o elemento de sintaxe indica que os coeficientes HOA 11 foram codificados utilizando uma decomposição baseada em vetor, a unidade de extração 72 pode extrair os vetores V[k] codificados em primeiro plano 57 (que podem incluir pesos codificados 57 e/ou índices 63 ou vetores V quantizados escalares), os coeficientes HOA ambiente codificados 59 e os objetos de áudio correspondentes 61 (que também podem ser referidos como os sinais de nFG codificados 61). Os objetos de áudio 61 correspondem cada um a um dos vetores 57. A unidade de extração 72 pode passar os vetores de primeiro plano V[k] codificados para a unidade de reconstrução de vetor V 74 e os coeficientes HOA de ambiente codificados 59 juntamente com os sinais de nFG codificados 61 para a unidade de decodificação psicoacústica 80.[0153] When the syntax element indicates that the HOA coefficients 11 have been encoded using a vector-based decomposition, the extraction unit 72 may extract the foreground encoded V[k] vectors 57 (which may include encoded weights 57 and/or or indices 63 or quantized scalar V vectors), the encoded ambient HOA coefficients 59 and the corresponding audio objects 61 (which may also be referred to as the encoded nFG signals 61). The audio objects 61 each correspond to one of the vectors 57. The extraction unit 72 may pass the coded foreground vectors V[k] to the vector reconstruction unit V 74 and the coded ambient HOA coefficients 59 along with the encoded nFG signals 61 to the psychoacoustic decoding unit 80.

[0154] A unidade de reconstrução de vetor V 74 pode representar uma unidade configurada para reconstruir os vetores V a partir dos vetores de primeiro plano codificados V[k] 57. A unidade de reconstrução do vetor V 74 pode funcionar de um modo recíproco ao da unidade de quantização 52.[0154] The V vector reconstruction unit 74 may represent a unit configured to reconstruct the V vectors from the coded foreground vectors V[k] 57. The V vector reconstruction unit 74 may function in a reciprocal manner to of the quantization unit 52.

[0155] A unidade de decodificação psicoacústica 80 pode funcionar de um modo recíproco à unidade de codificador de áudio psicoacústico 40 mostrada no exemplo da FIG. 3 de modo a decodificar os coeficientes HOA codificados ambiente 59 e os sinais de nFG codificados 61 e assim gerar coeficientes HOA ambiente compensados em energia 47’ e os sinais de nFG interpolados 49’ (que também podem ser referidos como objetos de áudio nFG interpolados 49’). A unidade de decodificação psicoacústica 80 pode passar os coeficientes HOA ambiente compensados em energia 47’ para a unidade de desvanecimento 770 e os sinais de nFG 49’ para a unidade de formulação de primeiro plano 78.[0155] The psychoacoustic decoding unit 80 may work in a reciprocal manner to the psychoacoustic audio encoder unit 40 shown in the example of FIG. 3 in order to decode the ambient encoded HOA coefficients 59 and the encoded nFG signals 61 and thus generate energy compensated ambient HOA coefficients 47' and the interpolated nFG signals 49' (which may also be referred to as interpolated nFG audio objects 49). '). Psychoacoustic decoding unit 80 may pass energy compensated ambient HOA coefficients 47' to fading unit 770 and nFG signals 49' to foreground formulation unit 78.

[0156] A unidade de interpolação espaço- temporal 76 pode funcionar de uma maneira semelhante à descrita acima em relação à unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 76 pode receber os vetores [V][k] de primeiro plano reduzidos 55k e realizar a interpolação espaço-temporal com relação aos vetores V[k] de primeiro plano 55k e aos vetores de primeiro plano V[k-1] reduzidos 55k-1 para gerar vetores V[k] interpolados de primeiro plano 55k’’. A unidade de interpolação espaço-temporal 76 pode encaminhar os vetores de primeiro plano interpolados V[k] 55k’’ para a unidade de desvanecimento 770.[0156] The spatiotemporal interpolation unit 76 may function in a similar manner as described above with respect to the spatiotemporal interpolation unit 50. The spatiotemporal interpolation unit 76 may receive the vectors [V][k] of 55k reduced foreground vectors and perform spatiotemporal interpolation with respect to 55k reduced foreground vectors V[k] and 55k-1 reduced foreground vectors V[k-1] to generate interpolated foreground vectors V[k] 55k''. The spatiotemporal interpolation unit 76 can forward the interpolated foreground vectors V[k] 55k'' to the fading unit 770.

[0157] A unidade de extração 72 também pode emitir um sinal 757 indicativo de quando um dos coeficientes HOA ambiente está em transição para a unidade de desvanecimento 770, que pode então determinar qual dos SHCBG 47’ (onde o SHCBG 47’ também pode ser designado como “coeficientes HOA ambiente 47’” ou “ coeficientes HOA ambiente 47’”) e os elementos dos vetores [V][k] de primeiro plano interpolados 55k” devem aparecer ou desvanecer. Em alguns exemplos, a unidade de desvanecimento 770 pode operar oposta em relação a cada um dos coeficientes HOA ambiente 47’ e os elementos dos vetores de primeiro plano V[k] interpolados 55k”. Ou seja, a unidade de desvanecimento 770 pode executar um aparecimento ou desvanecimento, ou ambos um aparecimento ou desvanecimento em relação a um correspondente dos coeficientes HOA ambiente 47’, enquanto executa um aparecimento ou desvanecimento ou ambos um aparecimento e um desvanecimento, em relação a um correspondente dos elementos dos vetores de primeiro plano interpolados V[k] 55k”. A unidade de desvanecimento 770 pode produzir os coeficientes HOA ambiente ajustados 47’’ para a unidade de formulação de coeficiente HOA 82 e vetores de primeiro plano ajustados V[k] 55k’’ para a unidade de formulação de primeiro plano 78. A este respeito, a unidade de desvanecimento 770 representa uma unidade configurada para executar uma operação de desvanecimento em relação a vários aspectos dos coeficientes HOA ou dos seus derivados, por exemplo, sob a forma dos coeficientes HOA ambiente 47’ e os elementos dos vetores de primeiro plano interpolados V[k] 55k’’.[0157] The extraction unit 72 may also output a signal 757 indicative of when one of the ambient HOA coefficients is transitioning to the fading unit 770, which may then determine which of the SHCBG 47' (where SHCBG 47' may also be designated as “ambient HOA coefficients 47'” or “ambient HOA coefficients 47'”) and elements of interpolated foreground vectors [V][k] 55k” must appear or fade. In some examples, the fading unit 770 may operate opposite each of the ambient HOA coefficients 47' and the elements of the interpolated foreground vectors V[k] 55k". That is, the fading unit 770 can perform either a fade in or out, or both a fade in or out with respect to a corresponding one of the ambient HOA coefficients 47', while performing a fade in or out or both a fade in and a fade out, with respect to a corresponding of the elements of the interpolated foreground vectors V[k] 55k”. The fading unit 770 can produce the adjusted ambient HOA coefficients 47'' for the HOA coefficient formulation unit 82 and adjusted foreground vectors V[k] 55k'' for the foreground formulation unit 78. , the fading unit 770 represents a unit configured to perform a fading operation with respect to various aspects of the HOA coefficients or their derivatives, e.g. in the form of ambient HOA coefficients 47' and elements of interpolated foreground vectors V[k] 55k''.

[0158] A unidade de formulação de primeiro plano 78 pode representar uma unidade configurada para realizar a multiplicação de matriz em relação aos vetores de primeiro plano V[k] ajustados 55k’’’ e os sinais de nFG interpolados 49’ para gerar os coeficientes HOA de primeiro plano 65. Nesse aspecto, a unidade de formulação de primeiro plano 78 pode combinar os objetos de áudio 49’ (que é outra forma de designar os sinais de nFG interpolados 49’) com os vetores 55k”’ para reconstruir o primeiro plano ou, em outras palavras, aspectos predominantes dos coeficientes HOA 11’. A unidade de formulação de primeiro plano 78 pode realizar uma multiplicação de matriz dos sinais de nFG interpolados 49’ pelos vetores de primeiro plano ajustados V[k] 55k”’.[0158] The foreground formulation unit 78 may represent a unit configured to perform matrix multiplication with respect to the adjusted foreground vectors V[k] 55k''' and the interpolated nFG signals 49' to generate the coefficients Foreground HOA 65. In this regard, the foreground formulation unit 78 can combine the audio objects 49' (which is another way of designating the interpolated nFG signals 49') with the vectors 55k"' to reconstruct the first plane or, in other words, predominant aspects of the HOA 11' coefficients. The foreground formulation unit 78 can perform a matrix multiplication of the interpolated nFG signals 49' by the fitted foreground vectors V[k] 55k"'.

[0159] A unidade de formulação de coeficientes HOA 82 pode representar uma unidade configurada para combinar os coeficientes HOA de primeiro plano 65 com os coeficientes HOA ajustados 47” de modo a obter os coeficientes HOA 11’. A notação primária reflete que os coeficientes HOA 11’ podem ser semelhantes, mas não iguais aos coeficientes HOA 11. As diferenças entre os coeficientes HOA 11 e 11’ podem resultar da perda devido a transmissão através de uma mídia de transmissão com perdas, quantização ou outras operações com perdas.[0159] The HOA coefficient formulation unit 82 may represent a unit configured to combine the foreground HOA coefficients 65 with the adjusted HOA coefficients 47" to obtain the HOA coefficients 11'. The primary notation reflects that HOA 11' coefficients may be similar to, but not equal to, HOA 11 coefficients. Differences between HOA 11 and 11' coefficients may result from loss due to transmission over lossy transmission media, quantization, or other lossmaking operations.

[0160] Além disso, a unidade de extração 72 e o dispositivo de decodificação de áudio 24 mais genericamente também podem ser configurados para operarem de acordo com vários aspectos das técnicas descritas nesta revelação para obter os bitstreams 21 que são potencialmente otimizados nas formas descritas acima em relação a não incluir vários elementos de sintaxe ou campos de dados em determinadas instâncias.[0160] In addition, the extraction unit 72 and the audio decoding device 24 more generally can also be configured to operate in accordance with various aspects of the techniques described in this disclosure to obtain the bitstreams 21 that are potentially optimized in the ways described above regarding not including multiple syntax elements or data fields in certain instances.

[0161] Em alguns casos, o dispositivo de decodificação de áudio 24 pode ser configurado para, ao descomprimir dados de áudio ambissônicos de ordem superior comprimidos utilizando um primeiro esquema de compressão, obter um bitstream 21 representativo de uma versão comprimida dos dados de áudio ambissônicos de ordem superior que não inclui bits correspondentes para um segundo esquema de compressão também usado para comprimir os dados de áudio ambissônicos de ordem superior. O primeiro esquema de compressão pode compreender um esquema de compressão baseado em vetor, o vetor resultante definido no domínio harmônico esférico e enviado através do bitstream 21. O esquema de compressão de decomposição baseado em vetor pode, em alguns exemplos, compreender um esquema de compressão que envolve a aplicação de uma decomposição de valor singular (ou equivalentes do mesmo como descrito em maior detalhe em relação ao exemplo da FIG. 3) para os dados de áudio ambissônicos de ordem superior.[0161] In some cases, the audio decoding device 24 may be configured to, upon decompressing higher order ambisonic audio data compressed using a first compression scheme, obtain a bitstream 21 representative of a compressed version of the ambisonic audio data order that does not include corresponding bits for a second compression scheme also used to compress the higher order ambisonic audio data. The first compression scheme may comprise a vector-based compression scheme, the resulting vector defined in the spherical harmonic domain and sent through bitstream 21. The vector-based decomposition compression scheme may, in some instances, comprise a compression scheme which involves applying a singular value decomposition (or equivalents thereof as described in greater detail with respect to the example in FIG. 3) to the higher order ambisonic audio data.

[0162] O dispositivo de decodificação de áudio 24 pode ser configurado para obter o bitstream 21 que não inclui os bits que correspondem a pelo menos um elemento de sintaxe utilizado para executar o segundo tipo de esquema de compressão. Como observado acima, o segundo esquema de compressão compreende um esquema de compressão baseado em direcionalidade. Mais especificamente, o dispositivo de decodificação de áudio 24 pode ser configurado para obter o bitstream 21 que não inclua os bits correspondentes a um elemento de sintaxe HOAPredictionInfo do segundo esquema de compressão. Em outras palavras, quando o segundo esquema de compressão compreende um esquema de compressão baseado em direcionalidade, o dispositivo de decodificação de áudio 24 pode ser configurado para obter o bitstream 21 que não inclua os bits correspondentes a um elemento de sintaxe HOAPredictionInfo do esquema de compressão baseado na direcionalidade. Conforme mencionado acima, o elemento de sintaxe HOAPredictionInfo pode ser indicativo de uma previsão entre dois ou mais sinais baseados em direcionalidade.[0162] Audio decoding device 24 can be configured to obtain bitstream 21 that does not include the bits that correspond to at least one syntax element used to perform the second type of compression scheme. As noted above, the second compression scheme comprises a directionality-based compression scheme. More specifically, the audio decoding device 24 can be configured to obtain bitstream 21 that does not include the bits corresponding to a HOAPredictionInfo syntax element of the second compression scheme. In other words, when the second compression scheme comprises a directionality-based compression scheme, the audio decoding device 24 can be configured to obtain bitstream 21 that does not include the bits corresponding to a HOAPredictionInfo syntax element of the compression scheme. based on directionality. As mentioned above, the HOAPredictionInfo syntax element can be indicative of a prediction between two or more signals based on directionality.

[0163] Em alguns casos, ou como uma alternativa ou em conjunto com os exemplos anteriores, o dispositivo de decodificação de áudio 24 pode ser configurado para, quando a correção de ganho é suprimida durante a compressão de dados de áudio ambissônicos de ordem superior, obter o bitstream 21 representativo de uma versão comprimida dos dados de áudio ambissônicos de ordem superior que não incluem dados de correção de ganho. O dispositivo de decodificação de áudio 24 pode, nestas instâncias, ser configurado para descomprimir os dados de áudio ambissônicos de ordem superior de acordo com um esquema de descompressão de síntese baseado em vetor. A versão comprimida dos dados ambissônicos de ordem superior é gerada através da aplicação de uma decomposição de valor singular (ou seus equivalentes descritos em maior detalhe em relação ao exemplo da FIG. 3 acima) para os dados de áudio ambissônicos de ordem superior. Quando SVD é aplicado ou equivalentes aos dados de áudio de HOA, o dispositivo de codificação de áudio 20 especifica pelo menos um dos vetores ou bits resultantes indicativos no bitstream 21, onde os vetores descrevem características espaciais de objetos de áudio de primeiro plano correspondentes (tais como um largura, localização e volume dos objetos de áudio de primeiro plano correspondentes).[0163] In some cases, either as an alternative or in conjunction with the previous examples, the audio decoding device 24 may be configured to, when gain correction is suppressed during compression of higher-order ambisonic audio data, obtaining the representative bitstream 21 of a compressed version of the higher order ambisonic audio data that does not include gain correction data. The audio decoding device 24 may, in these instances, be configured to decompress the higher order ambisonic audio data in accordance with a vector-based synthesis decompression scheme. The compressed version of the higher order ambisonic data is generated by applying a singular value decomposition (or its equivalents described in greater detail with respect to the example of FIG. 3 above) to the higher order ambisonic audio data. When SVD is applied or equivalents to the HOA audio data, the audio encoding device 20 specifies at least one of the indicative resultant vectors or bits in the bitstream 21, where the vectors describe spatial characteristics of corresponding foreground audio objects (such as as a width, location, and volume of the corresponding foreground audio objects).

[0164] Mais especificamente, o dispositivo de decodificação de áudio 24 pode ser configurado para obter um elemento de sintaxe MaxGainCorrAmbExp a partir do bitstream 21 com um valor definido como zero para indicar que a correção de ganho é suprimida. Ou seja, o dispositivo de codificação de áudio 24 pode ser configurado para obter, quando a correção de ganho é suprimida, o bitstream de modo que o bitstream não inclua um campo de dados de HOAGainCorrection que armazene os dados de correção de ganho. O bitstream 21 pode compreender um elemento de sintaxe MaxGainCorrAmbExp tendo um valo de zero para indicar que a correção de ganho é suprimida e não incluir um campo de dados de HOAGainCorrection que armazena os dados de correção de ganho. A supressão da correção de ganho pode ocorrer quando a compressão dos dados de áudio ambissônicos de ordem superior inclui a aplicação de uma codificação de fala e áudio e fala unificada (USAC) aos dados de áudio ambissônicos de ordem superior.[0164] More specifically, audio decoding device 24 can be configured to obtain a MaxGainCorrAmbExp syntax element from bitstream 21 with a value set to zero to indicate that gain correction is suppressed. That is, the audio encoding device 24 can be configured to obtain, when gain correction is suppressed, the bitstream so that the bitstream does not include a HOAGainCorrection data field that stores the gain correction data. Bitstream 21 may comprise a MaxGainCorrAmbExp syntax element having a value of zero to indicate that gain correction is suppressed and not include a HOAGainCorrection data field that stores the gain correction data. Gain correction suppression can occur when compression of the higher-order ambisonic audio data includes the application of a unified speech and audio and speech coding (USAC) to the higher-order ambisonic audio data.

[0165] A FIG. 5 é um fluxograma que ilustra a operação exemplar de um dispositivo de codificação de áudio, como o dispositivo de codificação de áudio 20 mostrado no exemplo da Fig. 3 na realização de vários aspectos das técnicas de síntese baseada 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 um LIT em relação aos coeficientes HOA para produzir os 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).[0165] FIG. 5 is a flowchart illustrating exemplary operation of an audio encoding device, such as the audio encoding device 20 shown in the example of Fig. 3 in performing various aspects of the vector-based synthesis techniques described in this disclosure. Initially, the audio encoding device 20 receives HOA coefficients 11 (106). The audio coding device 20 may invoke the LIT unit 30, which may apply a LIT against the HOA coefficients to produce the transformed HOA coefficients (e.g., in the case of SVD, the transformed HOA coefficients may comprise the vectors US[k ] 33 and the vectors V[k] 35) (107).

[0166] O dispositivo de codificação de áudio 20 pode em seguida invocar a unidade de cálculo de parâmetros 32 para realizar a análise acima descrita com relação a qualquer combinação dos vetores US[k] 33, vetores US[k-1] 33, os vetores V[k] e/ou V [k-1] 35 para identificar vários parâmetros do modo descrito acima. Ou seja, a unidade de cálculo de parâmetros 32 pode determinar pelo menos um parâmetro com base em uma análise dos coeficientes HOA transformados 33/35 (108).[0166] Audio encoding device 20 may then invoke parameter calculation unit 32 to perform the above-described analysis with respect to any combination of US[k]33 vectors, US[k-1]33 vectors, the vectors V[k] and/or V[k-1] 35 to identify various parameters in the manner described above. That is, the parameter calculation unit 32 can determine at least one parameter based on an analysis of the transformed HOA coefficients 33/35 (108).

[0167] O dispositivo de codificação de áudio 20 pode então invocar a unidade de reordenação 34, a qual pode reordenar os coeficientes HOA transformados (que, novamente no contexto de SVD, podem referir-se aos vetores US[k] 33 e V[k] 35 com base nos parâmetros para gerar os coeficientes HOA transformados reordenados 33’/35’ (ou, em outras palavras, os vetores US[k] 33’ e os vetores V[k] 35’), como descrito acima (109). O dispositivo de codificação de áudio 20 pode, durante qualquer das operações precedentes ou operações subsequentes, invocar também a unidade de análise de campo de som 44. A unidade de análise de campo de som 44 pode, como descrito acima, realizar uma análise de campo de som com relação aos coeficientes HOA 11 e/ou aos coeficientes HOA transformados 33/35 para determinar o número total de canais de primeiro plano (nFG) 45, a ordem do campo de som de fundo (NBG) e o número (nBGa) e os índices (i) de canais BG HOA adicionais para enviar (que podem ser coletivamente denotados como informação de canal de fundo 43 no exemplo da FIG. 3) (109).[0167] The audio encoding device 20 can then invoke the reorder unit 34, which can reorder the transformed HOA coefficients (which, again in the context of SVD, can refer to the vectors US[k] 33 and V[ k] 35 based on the parameters to generate the 33'/35' reordered transformed HOA coefficients (or, in other words, the US[k] 33' vectors and the V[k] 35' vectors), as described above (109 The audio encoding device 20 may, during any of the preceding or subsequent operations, also invoke the sound field analysis unit 44. The sound field analysis unit 44 may, as described above, perform an analysis of sound field with respect to HOA coefficients 11 and/or transformed HOA coefficients 33/35 to determine the total number of foreground channels (nFG) 45, the background sound field (NBG) order, and the number ( nBGa) and the indices (i) of additional HOA BG channels to send (which may collectively be denoted os as background channel information 43 in the example of FIG. 3) (109).

[0168] O dispositivo de codificação de áudio 20 também pode invocar a unidade de seleção de fundo 48. A unidade de seleção de fundo 48 pode determinar coeficientes HOA de fundo ou ambiente 47 com base na informação de canal de fundo 43 (110). A unidade de codificação de áudio 20 pode ainda 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 os componentes de primeiro plano ou distintos do campo de som baseado em nFG 45 (que pode representar um ou mais índices que identificam os vetores de primeiro plano) (112).[0168] Audio encoding device 20 may also invoke background selection unit 48. Background selection unit 48 may determine background or ambient HOA coefficients 47 based on background channel information 43 (110). The audio coding unit 20 can further invoke the foreground selection unit 36 which can select the reordered US[k] vectors 33' and the reordered V[k] vectors 35' representing the foreground or distinct components of the sound field based on nFG 45 (which may represent one or more indices that identify the foreground vectors) (112).

[0169] 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 a compensação de energia com relação aos coeficientes HOA ambiente 47 para compensar a perda de energia devido à remoção de vários dos coeficientes HOA pela unidade de seleção de fundo 48 (114) e assim gerar os coeficientes HOA ambiente compensados em energia 47’.[0169] Audio encoding device 20 may invoke power compensation unit 38. Power compensation unit 38 may perform power compensation against ambient HOA coefficients 47 to compensate for power loss due to removal of several of the HOA coefficients by the background selection unit 48 (114) and thus generate the energy compensated ambient HOA coefficients 47'.

[0170] O dispositivo de codificação de áudio 20 também pode invocar a unidade de interpolação espaço- temporal 50. A unidade de interpolação espaço-temporal 50 pode executar a interpolação espaço-temporal com relação aos coeficientes HOA transformados reordenados 33’/35’ para obter os sinais de primeiro plano interpolados 49’ (que também podem ser referidos como os “sinais nFG interpolados 49’ ) e as informações direcionais de primeiro plano restantes 53 (que também podem 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 coeficientes 46 pode executar uma redução de coeficientes em relação aos vetores V[k] de primeiro plano restantes com base na informação de canal de fundo 43 para obter informação de direção de primeiro plano reduzida 55 (que também pode ser referida como os vetores de primeiro plano reduzido V[k] 55) (118).[0170] Audio encoding device 20 may also invoke spatiotemporal interpolation unit 50. Spatiotemporal interpolation unit 50 may perform spatiotemporal interpolation with respect to transformed HOA coefficients reordered 33'/35' to obtain the interpolated foreground signals 49' (which may also be referred to as the "interpolated nFG signals 49' ) and the remaining foreground directional information 53 (which may also be referred to as the "V[k] vectors 53") ( 116). The audio encoding device 20 can then invoke the coefficient reduction unit 46. The coefficient reduction unit 46 can perform a coefficient reduction with respect to the remaining foreground vectors V[k] based on the channel information of background 43 to obtain reduced foreground direction information 55 (which may also be referred to as the reduced foreground vectors V[k] 55) (118).

[0171] O dispositivo de codificação de áudio 20 pode então invocar a unidade de quantização 52 para comprimir, da maneira descrita acima, os vetores de primeiro plano V[k] reduzidos 55 e gerar vetores de primeiro plano V[k] codificados 57 (120).[0171] The audio coding device 20 can then invoke the quantization unit 52 to compress, in the manner described above, the reduced foreground vectors V[k] 55 and generate coded foreground vectors V[k] 57 ( 120).

[0172] O dispositivo de codificação de áudio 20 também pode invocar a unidade de codificador de áudio psicoacústica 40. A unidade de codificador de áudio psicoacústica 40 pode codificar psicoacusticamente cada vetor dos coeficientes HOA ambiente com compensação de energia 47’ e os sinais de nFG interpolados 49’ para gerar coeficientes HOA ambiente codificados 59 e sinais de nFG codificados 61. O dispositivo de codificação de áudio pode então invocar a unidade de geração de bitstream 42. A unidade de geração de bitstream 42 pode então gerar o bitstream 21 baseado na informação direcional de primeiro plano codificada 57, nos coeficientes HOA ambiente codificados 59, nos sinais de nFG codificados 61 e nas informações de canal de fundo 43.[0172] Audio encoding device 20 may also invoke psychoacoustic audio encoder unit 40. Psychoacoustic audio encoder unit 40 may psychoacoustically encode each vector of energy compensated ambient HOA coefficients 47' and nFG signals interpolated 49' to generate coded ambient HOA coefficients 59 and coded nFG signals 61. The audio encoding device may then invoke the bitstream generation unit 42. The bitstream generation unit 42 may then generate the bitstream 21 based on the information encoded foreground directional 57, encoded ambient HOA coefficients 59, encoded nFG signals 61, and background channel information 43.

[0173] A FIG. 6 é um fluxograma que ilustra a operação exemplar de um dispositivo de decodificação de áudio, como o dispositivo de decodificação de áudio 24 mostrado na Fig. 4 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 bitstream 21 (130). Ao receber o bitstream, o dispositivo de decodificação de áudio 24 pode invocar a unidade de extração 72. Assumindo, para fins de discussão, que o bitstream 21 indica que a reconstrução baseada em vetor deve ser executada, a unidade de extração 72 pode analisar o bitstream para recuperar a informação acima mencionada, passando a informação para a unidade de reconstrução baseada em vetor 92.[0173] FIG. 6 is a flowchart illustrating exemplary operation of an audio decoding device, such as the audio decoding device 24 shown in Fig. 4 in carrying out various aspects of the techniques described in this disclosure. Initially, audio decoding device 24 may receive bitstream 21 (130). Upon receiving the bitstream, the audio decoding device 24 may invoke the extraction unit 72. Assuming, for purposes of discussion, that the bitstream 21 indicates that vector-based reconstruction is to be performed, the extraction unit 72 can parse the bitstream to retrieve the aforementioned information, passing the information to the vector-based reconstruction unit 92.

[0174] Em outras palavras, a unidade de extração 72 pode extrair a informação direcional de primeiro plano codificada 57 (que, de novo, também pode ser referida como os vetores de primeiro plano codificados V[k] 57), os coeficientes HOA ambiente codificados 59 e os sinais de primeiro plano codificados que também podem ser referidos como os sinais de nFG de primeiro plano codificados 59 ou os objetos de áudio de primeiro plano codificados 59) a partir do bitstream 21 da maneira descrita acima (132).[0174] In other words, the extraction unit 72 can extract the coded foreground directional information 57 (which, again, may also be referred to as the coded foreground vectors V[k] 57), the ambient HOA coefficients 59 and encoded foreground signals which may also be referred to as encoded foreground nFG signals 59 or encoded foreground audio objects 59) from bitstream 21 in the manner described above (132).

[0175] O dispositivo de decodificação de áudio 24 pode ainda invocar a unidade de desquantização 74. A unidade de desquantização 74 pode decodificar e desquantizar por entropia a informação direcional de primeiro plano codificada 57 para obter informação direcional de primeiro plano reduzida 55k (136). O dispositivo de decodificação de áudio 24 também pode invocar a unidade de decodificação psicoacústica 80. A unidade de decodificação de áudio psicoacústica 80 pode decodificar os coeficientes HOA ambiente codificados 59 e os sinais de primeiro plano codificados 61 para obter coeficientes HOA ambiente compensados em energia 47’ e os sinais de primeiro plano interpolados 49’ (138). A unidade de decodificação psicoacústica 80 pode passar os coeficientes HOA ambiente compensados em energia 47’ para a unidade de desvanecimento 770 e os sinais de nFG 49’ para a unidade de formulação de primeiro plano 78.[0175] Audio decoding device 24 may further invoke dequantization unit 74. Dequantization unit 74 may entropy decode and dequantize encoded foreground directional information 57 to obtain 55k reduced foreground directional information (136) . Audio decoding device 24 may also invoke psychoacoustic decoding unit 80. Psychoacoustic audio decoding unit 80 may decode ambient coded HOA coefficients 59 and encoded foreground signals 61 to obtain energy compensated ambient HOA coefficients 47 ' and interpolated foreground signals 49' (138). Psychoacoustic decoding unit 80 may pass energy compensated ambient HOA coefficients 47' to fading unit 770 and nFG signals 49' to foreground formulation unit 78.

[0176] 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 a informação direcional reordenada de primeiro plano 55k’ e realizar a interpolação espaço- temporal com relação à informação direcional de primeiro plano 55k/55k-1 reduzida para gerar a informação interpolada 55k” (140) de direção de primeiro plano. A unidade de interpolação espaço-temporal 76 pode encaminhar os vetores de primeiro plano interpolados V[k] 55k’’ para a unidade de desvanecimento 770.[0176] The audio decoding device 24 may then invoke the spatiotemporal interpolation unit 76. The spatiotemporal interpolation unit 76 may receive the foreground reordered directional information 55k' and perform spatiotemporal interpolation with 55k/55k-1 foreground directional information reduced to generate 55k” (140) interpolated foreground directional information. The spatiotemporal interpolation unit 76 can forward the interpolated foreground vectors V[k] 55k'' to the fading unit 770.

[0177] O dispositivo de decodificação de áudio 24 pode invocar a unidade de desvanecimento 770. A unidade de desvanecimento 770 pode receber ou de outro modo obter elementos de sintaxe (por exemplo, a partir da unidade de extração 72) indicativa de quando os coeficientes HOA ambiente compensados em energia 47’ estão em transição (por exemplo, o elemento de sintaxe AmbCoeffTransition). A unidade de desvanecimento 770 pode, com base nos elementos de sintaxe de transição e na informação de estado de transição mantida, fazer surgir ou desvanecer os coeficientes HOA ambiente com compensação de energia 47’, fornecendo coeficientes HOA 47” ajustados para a unidade de formulação de coeficiente HOA 82. A unidade de desvanecimento 770 pode também, com base nos elementos de sintaxe e na informação de estado de transição mantida, e fazer surgir ou desvanecer os um ou mais elementos dos vetores de primeiro plano interpolados V[k] 55k” correspondentes emitindo os vetores de primeiro plano ajustados V[k] 55k”’ para a unidade de formulação de primeiro plano 78 (142).[0177] Audio decoding device 24 may invoke fading unit 770. Fading unit 770 may receive or otherwise obtain syntax elements (e.g. from extraction unit 72) indicative of when the coefficients HOA environment compensated at 47' are in transition (for example, the AmbCoeffTransition syntax element). The fading unit 770 can, based on the transition syntax elements and the maintained transition state information, pop-up or fade the energy-compensated ambient HOA coefficients 47', providing 47" adjusted HOA coefficients for the formulation unit. of HOA coefficient 82. The fading unit 770 can also, based on the syntax elements and the maintained transition state information, make the one or more elements of the interpolated foreground vectors V[k] 55k appear or fade out.” corresponding outputs by outputting the adjusted foreground vectors V[k] 55k”' to the foreground formulation unit 78 (142).

[0178] 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 a multiplicação da matriz dos sinais de nFG 49’ pela informação direcional de primeiro plano ajustada 55k”’ para obter os coeficientes HOA de primeiro plano 65 (144). O dispositivo de decodificação de áudio 24 também pode invocar a unidade de formulação de coeficiente HOA 82. A unidade de formulação de coeficientes HOA 82 pode adicionar os coeficientes HOA de primeiro plano 65 aos coeficientes HOA ajustados 47” de modo a obter os coeficientes HOA 11’ (146).[0178] Audio decoding device 24 may invoke foreground formulation unit 78. Foreground formulation unit 78 may perform matrix multiplication of nFG signals 49' by adjusted foreground directional information 55k” ' to get the foreground HOA coefficients 65 (144). The audio decoding device 24 can also invoke the HOA coefficient formulation unit 82. The HOA coefficient formulation unit 82 can add the foreground HOA coefficients 65 to the adjusted HOA coefficients 47" to obtain the HOA coefficients 11 ' (146).

[0179] A FIG. 7 é um fluxograma que ilustra a operação exemplar de um sistema, como o sistema 10 mostrado no exemplo da Fig. 2 na realização de vários aspectos das técnicas descritas nesta revelação. Conforme discutido acima, o dispositivo criador de conteúdo 12 pode utilizar o sistema de edição de som 18 para criar ou editar conteúdos de áudio capturados ou gerados (o que é mostrado como os coeficientes HOA 11 no exemplo da FIG. 2). O dispositivo criador de conteúdo 12 pode então renderizar os coeficientes HOA 11 utilizando o processador de áudio 1 para os feeds de alto-falante de multicanal gerados, como discutido em maior detalhe acima (200). O dispositivo criador de conteúdo 12 pode então reproduzir estes feeds de alto-falantes utilizando um sistema de reprodução de áudio e determinar se são necessários mais ajustes ou edição para capturar, por exemplo, a intenção artística desejada (202). Quando são desejados mais ajustes (”SIM” 202), o dispositivo criador de conteúdo 12 pode remixar os coeficientes HOA (204), renderizar os coeficientes HOA (11) (200) e determinar se são necessários outros ajustes (202). Quando não são desejados mais ajustes (“NÃO” 202), o dispositivo de codificação de áudio 20 pode codificar o conteúdo de áudio para gerar o bitstream 21 da maneira descrita acima em relação ao exemplo da FIG. 5) (206). O dispositivo de codificação de áudio 20 também pode gerar e especificar a informação de renderização de áudio 2 no bitstream 21, como descrito em maior detalhe acima (208).[0179] FIG. 7 is a flowchart illustrating exemplary operation of a system, such as system 10 shown in the example of Fig. 2 in carrying out various aspects of the techniques described in this disclosure. As discussed above, content creator device 12 can use sound editing system 18 to create or edit captured or generated audio content (which is shown as HOA coefficients 11 in the example of FIG. 2). The content creator device 12 can then render the HOA coefficients 11 using the audio processor 1 to the generated multichannel speaker feeds, as discussed in more detail above (200). The content creator device 12 can then play back these speaker feeds using an audio playback system and determine if further adjustment or editing is needed to capture, for example, the desired artistic intent (202). When more adjustments are desired ("YES" 202), the content creator device 12 can remix the HOA coefficients (204), render the HOA coefficients (11) (200), and determine if further adjustments are needed (202). When no further adjustments are desired ("NO" 202), the audio encoding device 20 can encode the audio content to generate the bitstream 21 in the manner described above with respect to the example of FIG. 5) (206). Audio encoding device 20 can also generate and specify audio rendering information 2 in bitstream 21, as described in greater detail above (208).

[0180] O dispositivo consumidor de conteúdo 14 pode então obter a informação de renderização de áudio 2 a partir do bitstream 21 (210). O dispositivo de decodificação 24 pode então decodificar o bitstream 21 para obter o conteúdo de áudio (que é mostrado como os coeficientes de HOA 11’ no exemplo da FIG. 2 da maneira acima descrita com relação ao exemplo da FIG. 6) (211). O sistema de reprodução de áudio 16 pode então renderizar os coeficientes HOA 11’ com base na informação de renderização de áudio 2 da maneira descrita acima (212) e reproduzir o conteúdo de áudio renderizado através dos alto-falantes 3 (214).[0180] Content consuming device 14 can then obtain audio rendering information 2 from bitstream 21 (210). Decoding device 24 can then decode bitstream 21 to obtain the audio content (which is shown as HOA coefficients 11' in the example of FIG. 2 in the manner described above with respect to the example of FIG. 6) (211) . The audio playback system 16 can then render the HOA coefficients 11' based on the audio rendering information 2 in the manner described above (212) and play the rendered audio content through the speakers 3 (214).

[0181] As técnicas descritas nesta revelação podem, por conseguinte, permitir, como um primeiro exemplo, um dispositivo que gera um bitstream representativo de conteúdo de áudio de multi-canal para especificar informação de renderização de áudio. O dispositivo pode, neste primeiro exemplo, incluir meios para especificar a informação de renderização de áudio que inclui um valor de sinal que identifica um processador de áudio utilizado quando se gera o conteúdo de áudio multicanal.[0181] The techniques described in this disclosure may therefore allow, as a first example, a device that generates a bitstream representative of multi-channel audio content to specify audio rendering information. The device may, in this first example, include means for specifying audio rendering information that includes a signal value that identifies an audio processor used when generating multichannel audio content.

[0182] O dispositivo do primeiro exemplo, sendo que o valor de sinal inclui uma matriz usada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0182] The device of the first example, the signal value including a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0183] Em um segundo exemplo, o dispositivo do primeiro exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice que indica que o bitstream inclui uma matriz utilizada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto- falante.[0183] In a second example, the device of the first example, where the signal value includes two or more bits that define an index that indicates that the bitstream includes an array used to render spherical harmonic coefficients for a plurality of high feeds - speaker.

[0184] O dispositivo do segundo exemplo, sendo que a informação de renderização de áudio inclui ainda dois ou mais bits que definem um número de linhas da matriz incluída no bitstream e dois ou mais bits que definem um número de colunas da matriz incluída no bitstream.[0184] The device of the second example, where the audio rendering information further includes two or more bits that define a number of rows of the matrix included in the bitstream and two or more bits that define a number of columns of the matrix included in the bitstream .

[0185] O dispositivo do primeiro exemplo, sendo que o valor de sinal especifica um algoritmo de renderização usado para renderizar objetos de áudio para uma pluralidade de feeds de alto-falante.[0185] The device of the first example, where the signal value specifies a rendering algorithm used to render audio objects to a plurality of speaker feeds.

[0186] O dispositivo do primeiro exemplo, sendo que o valor de sinal especifica um algoritmo de renderização usado para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0186] The device of the first example, where the signal value specifies a rendering algorithm used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0187] O dispositivo do primeiro exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma de uma pluralidade de matrizes utilizadas para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0187] The device of the first example, the signal value including two or more bits that define an index associated with one of a plurality of matrices used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0188] O dispositivo do primeiro exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma de uma pluralidade de algoritmos de renderização usados para renderizar objetos de áudio para uma pluralidade de feeds de alto-falante.[0188] The device of the first example, where the signal value includes two or more bits that define an index associated with one of a plurality of rendering algorithms used to render audio objects to a plurality of speaker feeds.

[0189] O dispositivo do primeiro exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma de uma pluralidade de algoritmos de renderização utilizadas para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante.[0189] The device of the first example, where the signal value includes two or more bits that define an index associated with one of a plurality of rendering algorithms used to render spherical harmonic coefficients for a plurality of speaker feeds.

[0190] O dispositivo do primeiro exemplo, sendo que os meios para especificar a informação de renderização de áudio compreendem meios para especificar a informação de renderização de áudio em uma base por quadro de áudio no bitstream.[0190] The device of the first example, the means for specifying the audio rendering information comprises means for specifying the audio rendering information on a per-frame basis of audio in the bitstream.

[0191] O dispositivo do primeiro exemplo, sendo que os meios para especificar a informação de renderização de áudio compreendem meios para especificar a informação de renderização de áudio em um único momento no bitstream.[0191] The device of the first example, the means for specifying the audio rendering information comprises means for specifying the audio rendering information at a single moment in the bitstream.

[0192] Em um terceiro exemplo, uma mídia de armazenamento legível por computador não transitória que tem instruções armazenadas na mesma que, quando executadas, fazem com que um ou mais processadores especifiquem a informação de renderização de áudio no bitstream, sendo que a informação de renderização de áudio identifica um processador de áudio utilizado ao gerar o conteúdo de áudio multicanal.[0192] In a third example, a non-transient computer-readable storage medium that has instructions stored on it that, when executed, cause one or more processors to specify the audio rendering information in the bitstream, with the audio rendering identifies an audio processor used when generating multichannel audio content.

[0193] Em um quarto exemplo, um dispositivo para renderizar conteúdo de áudio multicanal a partir de um bitstream, o dispositivo compreendendo meios para determinar informação de renderização de áudio que inclui um valor de sinal que identifica um renderizador de áudio usado quando se gera o conteúdo de áudio multicanal e meios para renderizar uma pluralidade de feeds de alto-falante com base na informação de renderização de áudio especificada no bitstream.[0193] In a fourth example, a device for rendering multichannel audio content from a bitstream, the device comprising means for determining audio rendering information that includes a signal value that identifies an audio renderer used when generating the audio. multichannel audio content and means for rendering a plurality of speaker feeds based on the audio rendering information specified in the bitstream.

[0194] O dispositivo do quarto exemplo, sendo que o valor de sinal inclui uma matriz utilizada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto-falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes com base na matriz.[0194] The device of the fourth example, wherein the signal value includes a matrix used to render spherical harmonic coefficients for a plurality of speaker feeds, and wherein the means for rendering the plurality of speaker feeds comprises means for rendering the plurality of speaker feeds based on the matrix.

[0195] Em um quinto exemplo, o dispositivo do quarto exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice que indica que o bitstream inclui uma matriz utilizada para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto- falante, em que o dispositivo adicionalmente compreendendo meios para analisar a matriz a partir do bitstream em resposta ao índice e sendo que os meios para renderizar a pluralidade de feeds de alto-falante compreendem meios para renderizar a pluralidade de feeds de alto-falante com base na matriz analisada.[0195] In a fifth example, the device of the fourth example, where the signal value includes two or more bits that define an index that indicates that the bitstream includes an array used to render spherical harmonic coefficients for a plurality of high feeds - speaker, wherein the device further comprising means for parsing the matrix from the bitstream in response to the index and the means for rendering the plurality of speaker feeds comprising means for rendering the plurality of speaker feeds with based on the analyzed matrix.

[0196] O dispositivo do quinto exemplo, sendo que o valor de sinal inclui ainda dois ou mais bits que definem um número de linhas da matriz incluída no bitstream e dois ou mais bits que definem um número de colunas da matriz incluída no bitstream, e sendo que os meios para analisar a matriz a partir do bitstream compreende meios para analisar a matriz do bitstream em resposta ao índice e com base nos dois ou mais bits que definem um número de linhas e os dois ou mais bits que definem o número de colunas.[0196] The device of the fifth example, where the sign value further includes two or more bits that define a number of rows of the matrix included in the bitstream and two or more bits that define a number of columns of the matrix included in the bitstream, and wherein the means for parsing the array from the bitstream comprises means for parsing the array from the bitstream in response to the index and based on the two or more bits defining a number of rows and the two or more bits defining the number of columns .

[0197] O dispositivo do quarto exemplo, sendo que o valor de sinal especifica o algoritmo de renderização usado para renderizar objetos de áudio para a pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto-falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes a partir dos objetos de áudio usando o algoritmo de renderização especificado.[0197] The device of the fourth example, where the signal value specifies the rendering algorithm used to render audio objects for the plurality of speaker feeds, and where the means for rendering the plurality of speaker feeds speaker comprise means for rendering the plurality of speaker feeds from the audio objects using the specified rendering algorithm.

[0198] O dispositivo do quarto exemplo, sendo que o valor de sinal especifica o algoritmo de renderização usado para renderizar coeficientes harmônicos esféricos para a pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto- falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes a partir dos coeficientes harmônicos esféricos usando o algoritmo de renderização especificado[0198] The fourth example device, where the signal value specifies the rendering algorithm used to render spherical harmonic coefficients for the plurality of speaker feeds, and the means for rendering the plurality of speaker feeds speaker comprise means for rendering the plurality of speaker feeds from the spherical harmonic coefficients using the specified rendering algorithm

[0199] O dispositivo do quarto exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma da pluralidade de matrizes usada para renderizar coeficientes harmônicos esféricos para a pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto- falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes a partir dos coeficientes harmônicos esféricos usando uma da pluralidade de matrizes associadas com o índice.[0199] The device of the fourth example, wherein the signal value includes two or more bits that define an index associated with one of the plurality of matrices used to render spherical harmonic coefficients for the plurality of speaker feeds, and wherein the means for rendering the plurality of speaker feeds comprises means for rendering the plurality of speaker feeds from the spherical harmonic coefficients using one of the plurality of matrices associated with the index.

[0200] O dispositivo do quarto exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma da pluralidade de algoritmos de renderização usados para renderizar os objetos d áudio para a pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto- falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes a partir dos objetos de áudio usando uma da pluralidade de algoritmos de renderização associadas com o índice.[0200] The device of the fourth example, where the signal value includes two or more bits that define an index associated with one of the plurality of rendering algorithms used to render the audio objects to the plurality of speaker feeds, and wherein the means for rendering the plurality of speaker feeds comprises means for rendering the plurality of speaker feeds from the audio objects using one of the plurality of rendering algorithms associated with the index.

[0201] O dispositivo do quarto exemplo, sendo que o valor de sinal inclui dois ou mais bits que definem um índice associado com uma da pluralidade de algoritmos de renderização usados para renderizar coeficientes harmônicos esféricos para uma pluralidade de feeds de alto-falante, e sendo que os meios para renderizar a pluralidade de feeds de alto-falante compreendem meios para renderizar a pluralidade de feeds de alto-falantes a partir dos coeficientes harmônicos esféricos usando uma da pluralidade de algoritmos de renderização associadas com o índice.[0201] The device of the fourth example, wherein the signal value includes two or more bits that define an index associated with one of the plurality of rendering algorithms used to render spherical harmonic coefficients for a plurality of speaker feeds, and wherein the means for rendering the plurality of speaker feeds comprises means for rendering the plurality of speaker feeds from the spherical harmonic coefficients using one of the plurality of rendering algorithms associated with the index.

[0202] O dispositivo do quarto exemplo, sendo que os meios para determinar a informação de renderização de áudio incluem meios para determinar a informação de renderização de áudio em uma base por quadro de áudio a partir do bitstream.[0202] The device of the fourth example, the means for determining audio rendering information includes means for determining audio rendering information on a per-frame basis of audio from the bitstream.

[0203] O dispositivo do quarto exemplo, sendo que os meios para determinar os meios de informação de renderização de áudio incluem determinar a informação de renderização de áudio em um momento único a partir do bitstream.[0203] The device of the fourth example, the means for determining the audio rendering information means includes determining the audio rendering information at a single time from the bitstream.

[0204] Em um sexto exemplo, uma mídia de armazenamento legível por computador não transitória tendo armazenadas nela informações que, quando executadas, fazem com que um ou mais processadores determinem a informação de renderização de áudio que inclui um valor de sinal que identifica um renderizador de áudio usado quando se gera o conteúdo de áudio multicanal; e renderizem uma pluralidade de feeds de alto-falante com base na informação de renderização de áudio especificada no bitstream.[0204] In a sixth example, a non-transient computer-readable storage medium having information stored on it that, when executed, causes one or more processors to determine audio rendering information that includes a signal value that identifies a renderer audio used when generating multichannel audio content; and render a plurality of speaker feeds based on the audio rendering information specified in the bitstream.

[0205] As FIGs. 8A-8D são diagramas ilustrando bitstreams 21A-21D formados de acordo com as técnicas descritas nesta revelação. No exemplo da FIG. 8A, o bitstream 21A pode representar um exemplo do bitstream 21 mostrado nas FIGS. 2-4 acima. O bitstream 21A inclui a informação de renderização de áudio 2A que inclui um ou mais bits que definem um valor de sinal 554. O valor de sinal 554 pode representar qualquer combinação dos tipos de informação descritos abaixo. O bitstream 21A inclui também conteúdo de áudio 558, o qual pode representar um exemplo do conteúdo de áudio 7/9.[0205] FIGs. 8A-8D are diagrams illustrating bitstreams 21A-21D formed according to the techniques described in this disclosure. In the example of FIG. 8A, bitstream 21A may represent an example of bitstream 21 shown in FIGS. 2-4 above. Bitstream 21A includes audio rendering information 2A that includes one or more bits that define a signal value 554. Signal value 554 can represent any combination of the types of information described below. Bitstream 21A also includes 558 audio content, which may represent an example of 7/9 audio content.

[0206] No exemplo da FIG. 8B, o bitstream 21B pode ser semelhante ao bitstream 21A onde o valor de sinal 554 da informação de renderização de áudio 2B compreende um índice 554A, um ou mais bits que definem um tamanho de fileira 554B da matriz sinalizada, um ou mais bits que definem um tamanho de coluna 554C da matriz sinalizada, e coeficientes de matriz 554D. O índice 554A pode ser definido utilizando dois a cinco bits, enquanto que cada tamanho de fileira 554B e tamanho de coluna 554C pode ser definido utilizando dois a dezasseis bits.[0206] In the example of FIG. 8B, bitstream 21B may be similar to bitstream 21A where the signal value 554 of the audio rendering information 2B comprises an index 554A, one or more bits that define a row size 554B of the signed array, one or more bits that define a column size 554C of the signed matrix, and matrix coefficients 554D. Index 554A can be set using two to five bits, while each row size 554B and column size 554C can be set using two to sixteen bits.

[0207] A unidade de extração 72 pode extrair o índice 554A e determinar se o índice indica que a matriz está incluída no bitstream 21B (onde certos valores de índice, como 0000 ou 1111, podem sinalizar que a matriz é explicitamente especificada no bitstream 21B). No exemplo da FIG. 8B, o bitstream 21B inclui um índice 554A sinalizando que a matriz é explicitamente especificada no bitstream 21B. Como resultado, a unidade de extração 72 pode extrair o tamanho da fileira 554B e o tamanho da coluna 554C. A unidade de extração 72 pode ser configurada para calcular o número de bits para analisar que representam coeficientes de matriz em função do tamanho de fileira 554B, do tamanho da coluna 554C e de um tamanho de bit sinalizado (não ilustrado na FIG. 8A) ou implícito de cada coeficiente de matriz. Usando o número determinado de bits, a unidade de extração 72 pode extrair os coeficientes de matriz 554D, que o sistema de reprodução de áudio 16 pode utilizar para configurar um dos renderizadores de áudio 22 como descrito acima. Embora ilustrado como sinalizando a informação de renderização de áudio 2B uma única vez no bitstream 21B, a informação de renderização de áudio 2B pode ser sinalizada várias vezes no bitstream 21B ou pelo menos parcialmente ou totalmente em um canal separado fora da banda (como dados opcionais em alguns casos).[0207] Extract unit 72 can extract index 554A and determine if the index indicates that the array is included in bitstream 21B (where certain index values such as 0000 or 1111 may signal that the array is explicitly specified in bitstream 21B ). In the example of FIG. 8B, bitstream 21B includes an index 554A signaling that the array is explicitly specified in bitstream 21B. As a result, extraction unit 72 can extract row size 554B and column size 554C. Extractor unit 72 may be configured to calculate the number of bits to parse representing matrix coefficients as a function of row size 554B, column size 554C and a signaled bit size (not shown in FIG. 8A) or implicit of each matrix coefficient. Using the given number of bits, the extraction unit 72 can extract the matrix coefficients 554D, which the audio reproduction system 16 can use to configure one of the audio renderers 22 as described above. Although illustrated as signaling 2B audio rendering information only once in bitstream 21B, 2B audio rendering information may be signaled multiple times in bitstream 21B or at least partially or entirely on a separate out-of-band channel (as optional data). in some cases).

[0208] No exemplo da FIG. 8C, o bitstream 21C pode representar um exemplo do bitstream 21 mostrado nas FIGS. 2-4 acima. O bitstream 21C inclui a informação de renderização de áudio 2C que inclui um valor de sinal 554, que neste exemplo especifica um índice de algoritmo 554E. O bitstream 21C também inclui o conteúdo de áudio 558. O índice de algoritmo 554E pode ser definido utilizando dois a cinco bits, como referido acima, onde este índice de algoritmo 554E pode identificar um algoritmo de renderização a ser utilizado ao renderizar o conteúdo de áudio 558.[0208] In the example of FIG. 8C, bitstream 21C may represent an example of bitstream 21 shown in FIGS. 2-4 above. Bitstream 21C includes audio rendering information 2C that includes a signal value 554, which in this example specifies an algorithm index 554E. Bitstream 21C also includes audio content 558. Algorithm index 554E can be set using two to five bits as noted above, where this algorithm index 554E can identify a rendering algorithm to be used when rendering audio content 558.

[0209] A unidade de extração 72 pode extrair o índice de algoritmo 550E e determinar se o índice de algoritmo 554E indica que a matriz está incluída no bitstream 21C (onde certos valores de índice, como 0000 ou 1111, podem sinalizar que a matriz é explicitamente especificada no bitstream 21C). No exemplo da FIG. 8C, o bitstream 21C inclui o índice de algoritmo 554E sinalizando que a matriz não é explicitamente especificada no bitstream 21C. Como resultado, a unidade de extração 72 encaminha o índice de algoritmo 554E para o sistema de reprodução de áudio 16, que seleciona um correspondente (se disponível) dos algoritmos de renderização (que são designados como renderizadores 22 no exemplo das FIGs 2-4). Embora ilustrado como sinalizando da informação de renderização de áudio 2C, uma única vez no bitstream 21C, no exemplo da FIG. 8C, a informação de renderização de áudio 2C pode ser sinalizada várias vezes no bitstream 21B ou pelo menos parcialmente ou totalmente em um canal separado fora da banda (como dados opcionais em alguns casos).[0209] The extraction unit 72 can extract algorithm index 550E and determine if algorithm index 554E indicates that the array is included in bitstream 21C (where certain index values such as 0000 or 1111 may signal that the array is explicitly specified in bitstream 21C). In the example of FIG. 8C, bitstream 21C includes algorithm index 554E signaling that the array is not explicitly specified in bitstream 21C. As a result, the extraction unit 72 forwards the algorithm index 554E to the audio reproduction system 16, which selects a match (if available) from the rendering algorithms (which are designated as renderers 22 in the example of FIGs 2-4) . Although illustrated as signaling the audio rendering information 2C, once in bitstream 21C, in the example of FIG. 8C, the 2C audio rendering information may be signaled multiple times in the 21B bitstream or at least partially or fully on a separate out-of-band channel (as optional data in some cases).

[0210] No exemplo da FIG. 8D, o bitstream 21D pode representar um exemplo do bitstream 21 mostrado nas FIGS. 2-4 acima. O bitstream 21D inclui a informação de renderização de áudio 2D que inclui um valor de sinal 554, que neste exemplo especifica um índice de matriz 554F. O bitstream 21D também inclui o conteúdo de áudio 558. O índice de matriz 554F pode ser definido utilizando dois a cinco bits, como referido acima, onde este índice de matriz 554F pode identificar um algoritmo de renderização a ser utilizado ao renderizar o conteúdo de áudio 558.[0210] In the example of FIG. 8D, bitstream 21D may represent an example of bitstream 21 shown in FIGS. 2-4 above. Bitstream 21D includes 2D audio rendering information that includes a signal value 554, which in this example specifies an array index 554F. Bitstream 21D also includes audio content 558. Array index 554F can be set using two to five bits as noted above, where this array index 554F can identify a rendering algorithm to be used when rendering audio content 558.

[0211] A unidade de extração 72 pode extrair o índice de matriz 550F e determinar se o índice de matriz 554F indica que a matriz está incluída no bitstream 21D (onde certos valores de índice, como 0000 ou 1111, podem sinalizar que a matriz é explicitamente especificada no bitstream 21C). No exemplo da FIG. 8D, o bitstream 21D inclui o índice de matriz 554F sinalizando que a matriz não é explicitamente especificada no bitstream 21D. Como resultado, a unidade de extração 72 encaminha o índice de matriz 554F para um dispositivo de reprodução de áudio, que seleciona um correspondente (se disponível) dos renderizadores 22. Embora ilustrado como sinalização da informação de renderização de áudio 2D, um único momento no bitstream 21D, no exemplo da FIG. 8D, a informação de renderização de áudio 2D pode ser sinalizada várias vezes no bitstream 21D ou pelo menos parcialmente ou totalmente em um canal separado fora da banda (como dados opcionais em alguns casos).[0211] Extraction unit 72 can extract array index 550F and determine if array index 554F indicates that the array is included in bitstream 21D (where certain index values such as 0000 or 1111 may signal that the array is explicitly specified in bitstream 21C). In the example of FIG. 8D, bitstream 21D includes array index 554F signaling that the array is not explicitly specified in bitstream 21D. As a result, the extraction unit 72 forwards the matrix index 554F to an audio playback device, which selects a match (if available) from the renderers 22. Although illustrated as signaling the 2D audio rendering information, a single moment in the bitstream 21D, in the example of FIG. 8D, 2D audio rendering information can be signaled multiple times in the 21D bitstream or at least partially or fully on a separate out-of-band channel (as optional data in some cases).

[0212] As FIGs. 8E-8G são diagramas ilustrando porções do bitstream ou informação de canal lateral que podem especificar os componentes espaciais comprimidos em mais detalhe. A FIG. 8E ilustra um primeiro exemplo de um quadro 249A’ do bitstream 21. No exemplo da FIG. 8E, o quadro 249A’ inclui campos de ChannelSideInfoData (CSID) 154A-154C, campos HOAGainCorrectionData (HOAGCD) e campos VVectorData 156A e 156B. O campo CSD 154A inclui a unitC 267, bb 266 e ba 265 juntamente com o ChannelType 269, cada um dos quais é ajustado para os valores correspondentes 01, 1, 0 e 01 mostrados no exemplo da FIG. 8E. O campo CSD 154B inclui a unitC 267, bb 266 e ba 265 juntamente com o ChannelType 269, cada um dos quais é ajustado para os valores correspondentes 01, 1, 0 e 01 mostrados no exemplo da FIG. 8E. O campo CSC 154C inclui o campo ChannelType 269 com um valor de 3. Cada um dos campos CSA 154A-154C corresponde ao respectivo dos canais de transporte 1, 2 e 3. Com efeito, cada campo CSID 154A-154C indica se a carga útil correspondente 156A e 156B são sinais com base na direção (quando o ChannelType correspondente é igual a zero), sinais baseados em vetor (quando o ChannelType correspondente é igual a um) um coeficiente HOA ambiente adicional (quando o ChannelType correspondente é igual a dois), ou vazio (quando o ChannelType é igual a três).[0212] FIGs. 8E-8G are diagrams illustrating portions of bitstream or sidechannel information that can specify compressed spatial components in more detail. FIG. 8E illustrates a first example of a frame 249A' of bitstream 21. In the example of FIG. 8E, frame 249A' includes ChannelSideInfoData (CSID) fields 154A-154C, HOAGainCorrectionData (HOAGCD) fields, and VVectorData fields 156A and 156B. The CSD field 154A includes the unitC 267, bb 266 and ba 265 along with the ChannelType 269, each of which is set to the corresponding values 01, 1, 0 and 01 shown in the example of FIG. 8E. The CSD field 154B includes the unitC 267, bb 266 and ba 265 along with the ChannelType 269, each of which is set to the corresponding values 01, 1, 0 and 01 shown in the example of FIG. 8E. The CSC field 154C includes the ChannelType field 269 with a value of 3. Each of the CSA fields 154A-154C corresponds to the respective one of transport channels 1, 2 and 3. In effect, each CSID field 154A-154C indicates whether the payload corresponding 156A and 156B are direction-based signals (when the corresponding ChannelType is equal to zero), vector-based signals (when the corresponding ChannelType is equal to one), an additional ambient HOA coefficient (when the corresponding ChannelType is equal to two) , or empty (when the ChannelType is equal to three).

[0213] No exemplo da FIG. 8E, o quadro 249A inclui dois sinais baseados em vetor (dado o ChannelType 269 igual a 1 nos campos de CSID 154A e 154B) e um vazio (dado que o ChannelType 269 é igual a 3 no campo CSC 154C). Com base em uma porção de HOAconfig anterior (não mostrada para facilidade de ilustração), o dispositivo de decodificação de áudio 24 pode determinar que todos os 16 elementos de vetor V são codificados. Assim, os VVectorData 156A e 156B incluem, cada um, todos os 16 elementos de vetor, cada um deles uniformemente quanzado com 8 bits.[0213] In the example of FIG. 8E, frame 249A includes two vector-based signals (given ChannelType 269 equals 1 in CSID fields 154A and 154B) and an empty one (given ChannelType 269 equals 3 in CSC field 154C). Based on a portion of the above HOAconfig (not shown for ease of illustration), the audio decoding device 24 can determine that all 16 V-vector elements are encoded. Thus, VVectorData 156A and 156B each include all 16 vector elements, each uniformly quantized with 8 bits.

[0214] Como mostrado adicionalmente no exemplo da FIG. 8E, a estrutura 249A’ não inclui um campo HOAPredictionInfo. O campo HOAPredictionInfo pode representar um campo correspondente a um segundo esquema de compressão com base direcional que pode ser removido de acordo com a técnica descrita nesta revelação quando o esquema de compressão baseado em vetor é utilizado para comprimir dados de áudio HOA.[0214] As shown further in the example of FIG. 8E, the 249A' structure does not include a HOAPredictionInfo field. The HOAPredictionInfo field can represent a field corresponding to a second directional-based compression scheme that can be removed according to the technique described in this disclosure when the vector-based compression scheme is used to compress HOA audio data.

[0215] A FIG. 8F é um diagrama que ilustra um quadro 249A” que é substancialmente semelhante ao quadro 249A exceto pelo fato de que o HOAGainCorrectionData foi removido de cada canal de transporte armazenado no quadro 249A”. O campo HOAGainCorrectionData pode ser removido do quadro 249A” quando a correção de ganho é suprimida de acordo com vários aspectos das técnicas descritas acima.[0215] FIG. 8F is a diagram illustrating a frame 249A" which is substantially similar to frame 249A except that the HOAGainCorrectionData has been removed from each transport channel stored in frame 249A". The HOAGainCorrectionData field may be removed from frame 249A” when gain correction is suppressed according to various aspects of the techniques described above.

[0216] A FIG. 8G é um diagrama que ilustra um quadro 249A”’ que pode ser semelhante ao quadro 249A”, exceto pelo fato de que o campo HOAPredictionInfo é removido. O quadro 249A”’ representa um exemplo onde ambos os aspectos das técnicas podem ser aplicados conjuntamente para remover vários campos que podem não ser necessários em certas circunstâncias.[0216] FIG. 8G is a diagram illustrating a 249A”' frame which may look similar to 249A'' frame, except that the HOAPredictionInfo field is removed. Table 249A"' represents an example where both aspects of the techniques can be applied together to remove various fields that may not be necessary in certain circumstances.

[0217] As técnicas anteriores podem ser realizadas com relação a qualquer número de contextos diferentes e ecossistemas de áudio. Uma série de contextos exemplares são descritos abaixo, embora as técnicas devam ser limitadas aos contextos de exemplo. Um exemplo de ecossistema de áudio pode incluir conteúdo de áudio, estúdios de cinema, estúdios de música, estúdios de áudio de jogos, conteúdo de áudio baseado em canais, mecanismos de codificação, hastes de áudio de jogo, mecanismos de codificação/renderização de áudio de jogo e sistemas de entrega.[0217] The above techniques can be performed against any number of different contexts and audio ecosystems. A number of exemplary contexts are described below, although the techniques should be limited to example contexts. An example of an audio ecosystem might include audio content, movie studios, music studios, game audio studios, channel-based audio content, encoding engines, game audio stems, audio encoding/rendering engines game and delivery systems.

[0218] 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 cinema podem fornecer conteúdo de áudio baseado em canal (por exemplo, em 2.0, 5.1 e 7.1), como usando uma estação de trabalho de áudio digital (DAW). Os estúdios de música podem fornecer conteúdo de áudio baseado em canal (por exemplo, em 2.0 e 5.1), como usando uma DAW. Em qualquer dos casos, os mecanismos de codificação podem receber e codificar o conteúdo de áudio baseado em canal baseado em um ou mais codecs (por exemplo, AAC, AC3, Dolby True HD, Dolby Digital Plus e DTS Master Audio) para saída pelos sistemas de distribuição. Os estúdios de áudio de jogos podem produzir uma ou mais hastes de áudio do jogo, como pelo uso de uma DAW. Os mecanismos de codificação/renderização de áudio do jogo podem codificar e/ou renderizar as hastes de áudio para o conteúdo de áudio baseado em canal para saída pelos sistemas de entrega. Outro contexto de exemplo no qual as técnicas podem ser realizadas compreende um ecossistema de áudio que pode incluir a transmissão de objetos de áudio de gravaçã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 para automóveis.[0218] Movie studios, music studios and game audio studios can receive audio content. In some examples, the audio content may represent the output of an acquisition. Film studios can deliver channel-based audio content (for example, in 2.0, 5.1, and 7.1), such as using a digital audio workstation (DAW). Music studios can deliver channel-based audio content (eg in 2.0 and 5.1) as using a DAW. In either case, the encoding engines can receive and encode channel-based audio content based on one or more codecs (e.g., AAC, AC3, Dolby True HD, Dolby Digital Plus, and DTS Master Audio) for output by the systems. of distribution. Game audio studios may produce one or more stems of game audio, such as through the use of a DAW. The game's audio encoding/rendering engines can encode and/or render the audio stems for channel-based audio content for output by delivery systems. Another example context in which the techniques can be performed comprises an audio ecosystem that may include streaming audio recording objects, professional audio systems, consumer device capture, HOA audio format, on-device rendering, audio from consumer, TV and accessories and car audio systems.

[0219] A transmissão de objetos de áudio de gravação, os sistemas de áudio profissionais e a captura no dispositivo do consumidor podem codificar sua saída usando o formato de áudio HOA. Desta forma, o conteúdo de áudio pode ser codificado usando o formato de áudio HOA em uma única representação que pode ser reproduzida usando a renderização no dispositivo, o áudio do consumidor, TV e acessórios e os sistemas de áudio do carro. Em outras palavras, a representação única do conteúdo de áudio pode ser reproduzida em um sistema genérico de reprodução de áudio (isto é, em oposição a uma configuração específica como 5.1, 7.1, etc.), como o sistema de reprodução de áudio 16.[0219] Streaming recording audio objects, professional audio systems and capturing on consumer device can encode their output using HOA audio format. In this way, audio content can be encoded using the HOA audio format into a single representation that can be played back using on-device rendering, consumer audio, TV and accessories, and car audio systems. In other words, the single representation of the audio content can be played on a generic audio playback system (i.e. as opposed to a specific configuration like 5.1, 7.1, etc.), such as the 16 audio playback system.

[0220] Outros exemplos de contexto em que as técnicas podem ser realizadas incluem um ecossistema de áudio que pode incluir elementos de aquisição e elementos de reprodução. Os elementos de aquisição podem incluir dispositivos de aquisição com fio e/ou sem fio (por exemplo, microfones Eigen), captura de som ambiente no dispositivo e dispositivos móveis (por exemplo, smartphones e tablets). Em alguns exemplos, os dispositivos de aquisição com fios e/ou sem fios podem ser acoplados ao dispositivo móvel através de canais de comunicação com fios e/ou sem fios.[0220] Other examples of context in which the techniques can be performed include an audio ecosystem that can include both acquisition elements and playback elements. Acquisition elements can include wired and/or wireless acquisition devices (e.g. Eigen microphones), ambient sound capture on the device, and mobile devices (e.g. smartphones and tablets). In some examples, wired and/or wireless acquisition devices may be coupled to the mobile device via wired and/or wireless communication channels.

[0221] De acordo com uma ou mais técnicas desta revelação, o dispositivo móvel pode ser utilizado para adquirir um campo de som. Por exemplo, o dispositivo móvel pode adquirir um campo de som através dos dispositivos de aquisição com fios e/ou sem fios e/ou a captura de som ambiente no dispositivo (por exemplo, uma pluralidade de microfones integrados no dispositivo móvel). O dispositivo móvel pode então codificar o campo de som adquirido nos coeficientes HOA para reprodução por um ou mais dos elementos de reprodução. Por exemplo, um usuário do dispositivo móvel pode gravar (adquirir um campo de som de) um evento ao vivo (por exemplo, uma reunião, uma conferência, uma peça de teatro, um concerto, etc.) e codificar a gravação em coeficientes HOA.[0221] In accordance with one or more techniques of this disclosure, the mobile device may be used to acquire a sound field. For example, the mobile device may acquire a sound field through wired and/or wireless acquisition devices and/or capture ambient sound on the device (e.g., a plurality of microphones integrated into the mobile device). The mobile device can then encode the acquired sound field into HOA coefficients for playback by one or more of the playback elements. For example, a mobile device user can record (acquire a sound field of) a live event (e.g. a meeting, a conference, a play, a concert, etc.) and encode the recording in HOA coefficients. .

[0222] O dispositivo móvel também pode utilizar um ou mais dos elementos de reprodução para reproduzir o campo de som codificado HOA. Por exemplo, o dispositivo móvel pode decodificar o campo de som codificado HOA e emitir um sinal para um ou mais dos elementos de reprodução que fazem com que um ou mais dos elementos de reprodução recriem o campo de som. Como um exemplo, o dispositivo móvel pode utilizar os canais de comunicação sem fios e/ou com fios para enviar o sinal para um ou mais alto-falantes (por exemplo, conjuntos de alto- falantes, barras de som, etc.). Como outro exemplo, o dispositivo móvel pode utilizar soluções de acoplamento para emitir o sinal para uma ou mais estações de ancoragem e/ou um ou mais alto-falantes encaixados (por exemplo, sistemas de som em carros e/ou casas inteligentes). Como outro exemplo, o dispositivo móvel pode utilizar processamento de fones de ouvido para emitir o sinal para um conjunto de fones de ouvido, por exemplo, para criar um som binaural realista.[0222] The mobile device may also use one or more of the playback elements to reproduce the HOA encoded sound field. For example, the mobile device may decode the HOA encoded sound field and output a signal to one or more of the playback elements that causes one or more of the playback elements to recreate the sound field. As an example, the mobile device may use wireless and/or wired communication channels to send the signal to one or more speakers (eg speaker arrays, soundbars, etc.). As another example, the mobile device may use docking solutions to output the signal to one or more docking stations and/or one or more built-in speakers (e.g. car stereo systems and/or smart homes). As another example, the mobile device can use headphone processing to output the signal to a set of headphones, for example to create realistic binaural sound.

[0223] Em alguns exemplos, um determinado dispositivo móvel pode adquirir um campo de som 3D e reproduzir o mesmo campo de som 3D posteriormente. Em alguns exemplos, o dispositivo móvel pode adquirir um campo de som 3D, codificar o campo de som 3D em HOA e transmitir o campo de som 3D codificado para um ou mais outros dispositivos (por exemplo, outros dispositivos móveis e/ou outros dispositivos não móveis) para reprodução.[0223] In some examples, a certain mobile device can acquire a 3D sound field and play the same 3D sound field later. In some examples, the mobile device may acquire a 3D sound field, encode the 3D sound field in HOA, and transmit the encoded 3D sound field to one or more other devices (e.g., other mobile devices and/or other devices not mobile) for playback.

[0224] Ainda outro contexto no qual as técnicas podem ser realizadas inclui um ecossistema de áudio que pode incluir conteúdo de áudio, estúdios de jogos, conteúdo de áudio codificado, mecanismos de renderização e sistemas de distribuição. Em alguns exemplos, os estúdios de jogos podem incluir um ou mais DAWs que podem suportar a edição de sinais HOA. Por exemplo, um ou mais DAWs podem incluir plugins HOA e/ou ferramentas que podem ser configuradas para funcionar com (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 haste que suportam HOA. Em qualquer caso, os estúdios de jogos podem produzir conteúdo de áudio codificado para os mecanismos de renderização que podem renderizar um campo de som para reprodução pelos sistemas de distribuição.[0224] Yet another context in which the techniques can be performed includes an audio ecosystem that may include audio content, game studios, encoded audio content, rendering engines, and delivery systems. In some examples, game studios may include one or more DAWs that can support editing HOA signals. For example, one or more DAWs may include HOA plugins and/or tools that can be configured to work with (eg work with) one or more game audio systems. In some examples, game studios may produce new stem formats that support HOA. In any case, game studios can produce encoded audio content for rendering engines that can render a sound field for playback by distribution systems.

[0225] As técnicas também podem ser realizadas com relação aos dispositivos de aquisição de áudio exemplares. 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 de som 3D. Em alguns exemplos, a pluralidade de microfones de microfone Eigen pode estar localizada na superfície de uma bola substancialmente esférica com um raio de aproximadamente 4 cm. Em alguns exemplos, o dispositivo de codificação de áudio 20 pode ser integrado no microfone de Eigen de modo a produzir um bitstream 21 diretamente a partir do microfone.[0225] The techniques can also be performed with respect to exemplary audio acquisition devices. For example, the techniques may be performed in connection with an Eigen microphone which may include a plurality of microphones that are collectively configured to record a 3D sound field. In some examples, the plurality of Eigen microphone microphones may be located on the surface of a substantially spherical ball having a radius of approximately 4 cm. In some examples, the audio encoding device 20 may be integrated into the Eigen microphone so as to produce a bitstream 21 directly from the microphone.

[0226] Outro contexto exemplificativo de aquisição de áudio pode incluir um caminhão de produção que pode ser configurado para receber um sinal de um ou mais microfones, tais como um ou mais microfones Eigen. O caminhão de produção também pode incluir um codificador de áudio, como o codificador de áudio 20 da FIG. 3.[0226] Another exemplary audio acquisition context may include a production truck that may be configured to receive a signal from one or more microphones, such as one or more Eigen microphones. The production truck may also include an audio encoder, such as the audio encoder 20 of FIG. 3.

[0227] O dispositivo móvel também pode, em alguns casos, incluir uma pluralidade de microfones que são coletivamente configurados para gravar um campo de som 3D. Por outras palavras, a pluralidade de microfones pode ter diversidade X, Y, Z. Em alguns exemplos, o dispositivo móvel pode incluir um microfone que pode ser rodado para fornecer diversidade X, Y, Z em relação a um ou mais microfones do dispositivo móvel. O dispositivo móvel também pode incluir um codificador de áudio, como o codificador de áudio 20 da FIG. 3.[0227] The mobile device may also, in some cases, include a plurality of microphones that are collectively configured to record a 3D sound field. In other words, the plurality of microphones may have X, Y, Z diversity. In some examples, the mobile device may include a microphone which can be rotated to provide X, Y, Z diversity with respect to one or more microphones of the mobile device. . The mobile device may also include an audio encoder, such as the audio encoder 20 of FIG. 3.

[0228] Um dispositivo de captura de vídeo reforçado pode ainda ser configurado para gravar um campo de som 3D. Em alguns exemplos, o dispositivo de captura de vídeo reforçado pode ser ligado a um capacete de um usuário envolvido em uma atividade. Por exemplo, o dispositivo de captura de vídeo reforçado pode ser ligado a um capacete de um usuário praticando rafting em águas claras. Desta forma, o dispositivo de captura de vídeo reforçado pode capturar um campo de som 3D que representa a ação ao redor do usuário (por exemplo, água caindo atrás do usuário, outro praticante de rafting falando na frente do usuário, etc ...).[0228] An enhanced video capture device can even be configured to record a 3D sound field. In some examples, the enhanced video capture device can be attached to a helmet of a user engaged in an activity. For example, the reinforced video capture device can be attached to a helmet of a user rafting in clear water. In this way, the enhanced video capture device can capture a 3D sound field representing the action around the user (e.g. water falling behind the user, another rafter talking in front of the user, etc...) .

[0229] As técnicas também podem ser realizadas com relação a um dispositivo móvel acessório melhorado, que pode ser configurado para gravar um campo de som 3D. Em alguns exemplos, o dispositivo móvel pode ser semelhante aos dispositivos móveis discutidos acima, com a adição de um ou mais acessórios. Por exemplo, um microfone Eigen pode ser ligado ao dispositivo móvel acima mencionado para formar um dispositivo móvel acessório melhorado. Desta forma, o dispositivo móvel acessório melhorado pode capturar uma versão de qualidade superior do campo de som 3D do que apenas usando componentes de captura de som integrado ao dispositivo móvel acessório melhorado.[0229] The techniques can also be performed with respect to an enhanced mobile accessory device, which can be configured to record a 3D sound field. In some examples, the mobile device may be similar to the mobile devices discussed above, with the addition of one or more accessories. For example, an Eigen microphone can be connected to the aforementioned mobile device to form an enhanced mobile accessory device. In this way, the Enhanced Mobile Accessory Device can capture a higher quality version of the 3D sound field than just using sound capture components built into the Enhanced Mobile Accessory Device.

[0230] Exemplo de dispositivos de reprodução de áudio que podem executar vários aspectos das técnicas descritas nesta revelação são discutidos adicionalmente abaixo. De acordo com uma ou mais técnicas desta descrição, os alto-falantes e/ou as barras de som podem ser dispostos em qualquer configuração arbitrária enquanto ainda reproduzem um campo de som 3D. Além disso, em alguns exemplos, os dispositivos de reprodução de fones de ouvido podem ser acoplados a um decodificador 24 através de uma conexão com fios ou sem fios. De acordo com uma ou mais técnicas desta descrição, uma única representação genérica de um campo de som pode ser utilizada para renderizar o campo de som em qualquer combinação de alto-falantes, barras de som e dispositivos de reprodução de fones de ouvido.[0230] Example of audio playback devices that can perform various aspects of the techniques described in this disclosure are discussed further below. According to one or more techniques of this description, the speakers and/or soundbars can be arranged in any arbitrary configuration while still reproducing a 3D sound field. Furthermore, in some examples, the headphone playback devices may be coupled to a decoder 24 via a wired or wireless connection. According to one or more of the techniques in this description, a single generic representation of a sound field can be used to render the sound field in any combination of speakers, soundbars, and headphone playback devices.

[0231] Um certo número de diferentes ambientes de reprodução de áudio exemplares também podem ser adequados para executar 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-falantes 9.1 com alto-falantes dianteiros de altura total, um ambiente de reprodução de alto-falantes 22.2, um dispositivo móvel com ambiente de reprodução de botão auricular pode ser ambiente adequado para executar vários aspectos das técnicas descritas nesta descrição.[0231] A number of different exemplary audio playback environments may also be suitable for performing various aspects of the techniques described in this disclosure. For example, a 5.1 speaker playback environment, a 2.0 speaker playback environment (for example, stereo), a 9.1 speaker playback environment with full-height front speakers, a 22.2 speaker playback, a mobile device with ear button playback environment may be suitable environment to perform various aspects of the techniques described in this description.

[0232] De acordo com uma ou mais técnicas desta descrição, uma única representação genérica de um campo de som pode ser utilizada para renderizar o campo de som em qualquer dos ambientes de reprodução anteriormente mencionados. Adicionalmente, as técnicas desta revelação permitem a um renderizado renderizar um campo de som a partir de uma representação genérica para reprodução em ambientes de reprodução diferentes dos descritos acima. Por exemplo, se as considerações de projeto proibirem a colocação correta 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 um renderizador compense com os outros 6 alto-falantes, de modo a reprodução pode ser alcançada em um ambiente de reprodução de alto-falante 6.1.[0232] According to one or more techniques of this description, a single generic representation of a sound field can be used to render the sound field in any of the aforementioned playback environments. Additionally, the techniques of this disclosure allow a renderer to render a sound field from a generic representation for playback in playback environments other than those described above. For example, if design considerations prohibit placing speakers correctly in a 7.1 speaker playback environment (for example, if you cannot place a right ambient speaker), the techniques in this disclosure allow that one renderer offsets the other 6 speakers, so playback can be achieved in a 6.1 speaker playback environment.

[0233] 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 de som 3D do jogo esportivo pode ser adquirido (por exemplo, um ou mais microfones Eigen podem ser colocados dentro e/ou ao redor do estádio de basebol), os coeficientes HOA correspondentes ao campo de som 3D podem ser obtidos e transmitidos a um decodificador, o decodificador pode reconstruir o campo de som 3D com base nos coeficientes HOA e emitir o campo de som 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 de som 3D reconstruído em sinais que fazem com que os fones de ouvido produzam uma representação do campo de som 3D do jogo esportivo.[0233] Additionally, a user can watch a sports game while wearing headphones. According to one or more techniques of this disclosure, the 3D sound field of the sports game can be acquired (e.g., one or more Eigen microphones can be placed in and/or around the baseball stadium), the HOA coefficients corresponding to the 3D sound field can be obtained and transmitted to a decoder, the decoder can reconstruct the 3D sound field based on HOA coefficients and output the reconstructed 3D sound field to a renderer, the renderer can get an indication of the type of environment of playback (e.g. headphones) and render the 3D sound field reconstructed into signals that cause the headphones to produce a representation of the 3D sound field of the sports game.

[0234] Em cada uma das várias instâncias descritas acima, deve ser entendido que o dispositivo de codificação de áudio 20 pode executar um método ou de outro modo compreender meios para executar cada etapa do método para o qual o dispositivo de codificação de áudio 20 está configurado para executar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, os um ou mais processadores podem representar um processador de finalidade 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 armazenadas nela instruções que, quando executadas, fazem com que um ou mais processadores executem o método para o qual o dispositivo de codificação de áudio 20 foi configurado para executar.[0234] In each of the various instances described above, it is to be understood that the audio encoding device 20 may perform a method or otherwise comprise means for performing each step of the method for which the audio encoding device 20 is configured to run. In some cases, the means may comprise one or more processors. In some cases, the one or more processors may represent a special-purpose processor configured through instructions stored on non-transient computer-readable storage media. In other words, various aspects of the techniques in each of the sets of encoding examples can provide non-transient computer-readable storage media having instructions stored on it that, when executed, cause one or more processors to execute the method for which audio encoding device 20 has been configured to run.

[0235] Em um ou mais exemplos, as funções descritas podem ser implementadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implementadas em software, as funções podem ser armazenadas em ou transmitidas através de 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. A mídia legível por computador pode incluir mídia de armazenamento legível por computador que corresponde a uma mídia tangível como mídia de armazenamento de dados. A 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 a implementação das técnicas descritas na presente revelação. Um produto de programa de computador pode incluir uma mídia legível por computador.[0235] In one or more examples, the functions described may be implemented in hardware, software, firmware or any combination thereof. If implemented in software, functions may be stored in or transmitted through one or more instructions or code on computer-readable media and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media that correspond to tangible media such as data storage media. Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code, and/or data structures for implementing the techniques described in the present disclosure. A computer program product may include computer readable media.

[0236] De modo similar, cada uma das várias instâncias descritas acima, deve ser entendido que o dispositivo de decodificação de áudio 24 pode executar um método ou de outro modo compreender meios para executar cada etapa do método para o qual o dispositivo de decodificação de áudio 24 está configurado para executar. Em alguns casos, os meios podem compreender um ou mais processadores. Em alguns casos, os um ou mais processadores podem representar um processador de finalidade 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 armazenadas nela instruções que, quando executadas, fazem com que um ou mais processadores executem o método para o qual o dispositivo de decodificação de áudio 24 foi configurado para executar.[0236] Similarly, each of the various instances described above, it is to be understood that the audio decoding device 24 may perform a method or otherwise comprise means for performing each step of the method for which the audio decoding device 24 audio 24 is set to run. In some cases, the means may comprise one or more processors. In some cases, the one or more processors may represent a special-purpose processor configured through instructions stored on non-transient computer-readable storage media. In other words, various aspects of the techniques in each of the sets of encoding examples can provide non-transient computer-readable storage media having instructions stored on it that, when executed, cause one or more processors to execute the method for which audio decoding device 24 has been configured to run.

[0237] A título de exemplo, e não como limitação, tais mídias de armazenamento legíveis por computador podem compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento em disco ótico, armazenamento em disco magnético ou outros dispositivos de armazenamento magnéticos, memória flash ou qualquer outro meio que possa ser utilizado para armazenar código de programa desejado sob a forma de instruções ou estruturas de dados e que pode ser acessado por um computador. Deve-se compreender, no entanto, que a mídia de armazenamento legível por computador e mídia de armazenamento de dados não incluem conexões, ondas transportadoras, sinais ou outra mídia trasnsitória, mas são, ao invés, direcionadas à mídia de armazenamento tangível, não transitória. Disco e disquete, como aqui utilizados, incluem disco compacto (CD), disco a laser, disco ótico, disco versátil digital (DVD), disquete e disco Blu-ray onde os disquetes geralmente reproduzem dados magneticamente, enquanto que os discos reproduzem dados oticamente com lasers. Combinações dos anteriores também devem ser incluídas dentro do escopo de mídias legíveis por computador.[0237] By way of example, and not by way of limitation, such computer readable storage media may comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, memory flash or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to tangible, non-transient storage media. . Disk and floppy disk, as used herein, include compact disk (CD), laser disk, optical disk, digital versatile disk (DVD), diskette, and Blu-ray disk where diskettes generally reproduce data magnetically, while discs reproduce data optically. with lasers. Combinations of the above must also be included within the scope of computer readable media.

[0238] As instruções podem ser executadas por um ou mais processadores, como um ou mais processadores de sinal digital (DSPs), microprocessadores de uso geral, circuitos integrados de aplicação específica (ASIC), arranjos de lógica programáveis em campo (FPGA), ou outros circuitos lógicos ou discretos equivalentes. Consequentemente, o termo “processador” como aqui utilizado pode referir-se a qualquer uma das estruturas precedentes ou qualquer outra estrutura adequada para implementação das técnicas aqui descritas. Além disso, em alguns aspectos, a funcionalidade aqui descrita pode ser fornecida dentro de módulos de hardware e/ou software dedicados configurados para a codificação e decodificação, ou incorporados em um codec combinado. Também, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.[0238] Instructions can be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASIC), field-programmable logic arrays (FPGA), or other equivalent logic or discrete circuits. Accordingly, the term "processor" as used herein may refer to any of the foregoing structures or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a combined codec. Also, the techniques can be fully implemented in one or more circuits or logic elements.

[0239] As técnicas da presente revelação podem ser implementadas em uma vasta variedade de dispositivos ou aparelhos, incluindo um monofone sem fios, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos na presente revelação para enfatizar os aspectos funcionais dos dispositivos configurados para executar as técnicas divulgadas, mas não precisam necessariamente da realização por diferentes unidades de hardware. Em vez disso, como descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecida por uma coleta de unidades de hardware interoperativas, incluindo um ou mais processadores, conforme descrito acima, em conjunto com o software e/ou firmware adequado.[0239] The techniques of the present disclosure can be implemented in a wide variety of devices or apparatus, including a wireless handset, an integrated circuit (IC), or a set of ICs (eg, a chip set). Various components, modules or units are described in the present disclosure to emphasize the functional aspects of devices configured to perform the disclosed techniques, but do not necessarily need to be performed by different hardware units. Instead, as described above, multiple units may be combined into one codec hardware unit or provided by a collection of interoperable hardware units including one or more processors as described above in conjunction with software and/or firmware adequate.

[0240] Vários aspectos das técnicas foram descritos. Esses e outros aspectos das técnicas estão dentro do escopo das reivindicações a seguir.[0240] Various aspects of the techniques have been described. These and other aspects of the techniques are within the scope of the claims that follow.

Claims (15)

1. Dispositivo configurado para renderizar coeficientes ambissônicos de ordem superior, o dispositivo caracterizado por compreender: um ou mais processadores configurados para: obter, a partir de um bitstream que inclui uma versão codificada dos coeficientes ambissônicos de ordem superior, informações de esparsidade indicativas de uma esparsidade de uma matriz usada para renderizar os coeficientes ambissônicos de ordem superior para uma pluralidade de alimentações de alto-falante; obter, a partir do bitstream, informações de simetria de valores que indicam simetria de valores da matriz; obter, a partir do bitstream, um número reduzido de bits usados para representar a matriz; e com base nas informações de esparsidade, nas informações de simetria de valor e no número reduzido de bits, reconstruir a matriz; e uma memória acoplada a um ou mais processadores e configurada para armazenar informações de esparsidade.1. Device configured to render higher-order ambisonic coefficients, the device characterized by comprising: one or more processors configured to: obtain, from a bitstream that includes an encoded version of the higher-order ambisonic coefficients, sparsity information indicative of a sparsity of a matrix used to render higher-order ambisonic coefficients for a plurality of speaker feeds; obtaining, from the bitstream, value symmetry information that indicates symmetry of matrix values; get, from the bitstream, a reduced number of bits used to represent the array; and based on the sparsity information, the value symmetry information and the reduced number of bits, reconstruct the matrix; and a memory coupled to one or more processors and configured to store sparse information. 2. Dispositivo, de acordo com a reivindicação 1, caracterizado pelos um ou mais processadores serem adicionalmente configurados para determinar um formato de alto-falante para o qual a matriz deve ser utilizada para renderizar a pluralidade de alimentações de alto-falante a partir dos coeficientes ambissônicos de ordem superior.Device according to claim 1, characterized in that the one or more processors are further configured to determine a speaker format for which the matrix is to be used to render the plurality of speaker feeds from the coefficients. higher-order ambisonics. 3. Dispositivo, de acordo com a reivindicação 1, caracterizado por compreender adicionalmente um alto- falante configurado para reproduzir um campo de som representado pelos coeficientes ambissônicos de ordem superior com base na pluralidade de alimentações de alto- falante.Device according to claim 1, characterized in that it further comprises a loudspeaker configured to reproduce a sound field represented by higher order ambisonic coefficients based on the plurality of loudspeaker feeds. 4. Dispositivo, de acordo com a reivindicação 1, caracterizado pelos um ou mais processadores serem adicionalmente configurados para obter, a partir do bitstream, informações de renderização de áudio indicativas de um valor de sinal que identifica um renderizador de áudio utilizado ao gerar o conteúdo de áudio multi-canal e renderizar a pluralidade de alimentações de alto-falante com base nas informações de renderização de áudio.Device according to claim 1, characterized in that one or more processors are additionally configured to obtain, from the bitstream, audio rendering information indicative of a signal value that identifies an audio renderer used when generating the content. multi-channel audio and render the plurality of speaker feeds based on the audio rendering information. 5. O dispositivo, de acordo com a reivindicação 4, caracterizado pelo valor de sinal incluir um índice associado à matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para os dados de áudio de multi-canal, e pelos um ou mais processadores serem configurados para renderizar a pluralidade de alimentações de alto- falante com base na matriz associada ao índice incluída no valor de sinal.The device of claim 4, characterized in that the signal value includes an index associated with the matrix used to render higher-order ambisonic coefficients for the multi-channel audio data, and that one or more processors are configured. to render the plurality of speaker feeds based on the array associated with the index included in the signal value. 6. Método para renderizar coeficientes ambissônicos de ordem superior, o método caracterizado por compreender: obter, a partir de um bitstream que inclui uma versão codificada dos coeficientes ambissônicos de ordem superior, as informações de esparsidade indicativas de uma esparsidade de uma matriz usada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de alimentações de alto-falante; e obter, a partir de um bitstream, informações de simetria de valores que indicam simetria de valores da matriz; e obter, a partir de um bitstream, um número reduzido de bits usados para representar a matriz; com base nas informações de simetria de valor, nas informações de esparsidade e no número reduzido de bits, reconstruir a matriz.6. Method for rendering higher-order ambisonic coefficients, the method characterized by comprising: obtaining, from a bitstream that includes a coded version of the higher-order ambisonic coefficients, sparsity information indicative of a sparseness of a matrix used to render higher order ambisonic coefficients for generating a plurality of speaker feeds; and obtaining, from a bitstream, value symmetry information that indicates matrix value symmetry; and obtaining, from a bitstream, a reduced number of bits used to represent the array; based on the value symmetry information, the sparsity information, and the reduced number of bits, reconstruct the array. 7. Método, de acordo com a reivindicação 6, caracterizado por compreender adicionalmente determinar um formato de alto-falante para o qual a matriz deve ser utilizada para renderizar a pluralidade de alimentações de alto-falante a partir dos coeficientes ambissônicos de ordem superior.A method as claimed in claim 6, further comprising determining a speaker format for which the matrix is to be used to render the plurality of speaker feeds from the higher order ambisonic coefficients. 8. Método, de acordo com a reivindicação 6, caracterizado por compreender adicionalmente reproduzir um campo de som representado pelos coeficientes ambissônicos de ordem superior com base na pluralidade de alimentações de alto-falante.A method as claimed in claim 6, further comprising reproducing a sound field represented by higher order ambisonic coefficients based on the plurality of speaker feeds. 9. Método, de acordo com a reivindicação 6, caracterizado por compreender adicionalmente obter, a partir do bitstream, informações de renderização de áudio indicativas de um valor de sinal que identifica um renderizador de áudio usado ao gerar a pluralidade de alimentações de alto-falante; e renderizar a pluralidade de alimentações de alto- falante com base nas informações de renderização de áudio.A method as claimed in claim 6, further comprising obtaining from the bitstream audio rendering information indicative of a signal value that identifies an audio renderer used when generating the plurality of speaker feeds. ; and rendering the plurality of speaker feeds based on the audio rendering information. 10. Método, de acordo com a reivindicação 9, caracterizado pelo valor de sinal incluir um índice associado à matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para a pluralidade de alimentações de alto-falante, e pelo método compreender adicionalmente renderizar a pluralidade de alimentações de alto-falante com base na matriz associada ao índice incluída no valor de sinal.A method as claimed in claim 9, characterized in that the signal value includes an index associated with the matrix used to render the higher order ambisonic coefficients for the plurality of speaker feeds, and the method further comprises rendering the plurality of loudspeakers. speaker feeds based on the array associated with the index included in the signal value. 11. Dispositivo configurado para produzir um bitstream, o dispositivo caracterizado por compreender: uma memória configurada para armazenar uma matriz; e um ou mais processadores acoplados à memória, e configurados para: obter informações de esparsidade indicativas de uma esparsidade da matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de alimentações de alto-falante; obter informações de simetria de valor que indicam a simetria de valor da matriz; com base nas informações de simetria de valores e nas informações de esparsidade, determinar um número reduzido de bits usados para representar a matriz; e gerar o bitstream para incluir uma versão codificada dos coeficientes ambissônicos de ordem superior, as informações de simetria de valor, as informações de esparsidade e o número reduzido de bits.11. Device configured to produce a bitstream, the device characterized in that it comprises: a memory configured to store an array; and one or more memory-coupled processors, and configured to: obtain sparsity information indicative of a sparseness of the matrix used to render higher-order ambisonic coefficients to generate a plurality of speaker feeds; get value symmetry information that indicates the value symmetry of the array; based on the value symmetry information and the sparsity information, determine a reduced number of bits used to represent the matrix; and generating the bitstream to include an encoded version of the higher-order ambisonic coefficients, the value symmetry information, the sparsity information, and the reduced number of bits. 12. Dispositivo, de acordo com a reivindicação 11, caracterizado pelos um ou mais processadores serem adicionalmente configurados para determinar um formato de alto-falante para o qual a matriz deve ser utilizada para renderizar a pluralidade de alimentações de alto-falante a partir dos coeficientes ambissônicos de ordem superior.Device according to claim 11, characterized in that one or more processors are further configured to determine a speaker format for which the matrix is to be used to render the plurality of speaker feeds from the coefficients. higher-order ambisonics. 13. Dispositivo, de acordo com a reivindicação 11, caracterizado por compreender adicionalmente um microfone configurado para capturar um campo de som representado pelos coeficientes ambissônicos de ordem superior.Device according to claim 11, characterized in that it additionally comprises a microphone configured to capture a sound field represented by higher order ambisonic coefficients. 14. Método para produzir um bitstream, o método caracterizado por compreender: obter informações de esparsidade indicativas de uma esparsidade de uma matriz utilizada para renderizar os coeficientes ambissônicos de ordem superior para gerar uma pluralidade de alimentações de alto-falante; obter informações de simetria de valor que indicam a simetria de valor da matriz; e com base nas informações de simetria de valor e nas informações de esparsidade, reduzir um número de bits usados para representar a matriz; e gerar o bitstream para incluir uma versão codificada dos coeficientes ambissônicos de ordem superior, as informações de simetria de valor, as informações de esparsidade e o número reduzido de bits.14. Method for producing a bitstream, the method comprising: obtaining sparsity information indicative of a sparsity of a matrix used to render higher-order ambisonic coefficients to generate a plurality of speaker feeds; get value symmetry information that indicates the value symmetry of the array; and based on the value symmetry information and the sparsity information, reduce a number of bits used to represent the matrix; and generating the bitstream to include an encoded version of the higher-order ambisonic coefficients, the value symmetry information, the sparsity information, and the reduced number of bits. 15. Método, de acordo com a reivindicação 14, caracterizado por compreender adicionalmente determinar um formato de alto-falante para o qual a matriz deve ser utilizada para renderizar a pluralidade de alimentações de alto-falante a partir dos coeficientes ambissônicos de ordem superior.The method of claim 14, further comprising determining a speaker format for which the matrix is to be used to render the plurality of speaker feeds from the higher order ambisonic coefficients.
BR112016028215-9A 2014-05-30 2015-05-29 GETTING SCATTERED INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS BR112016028215B1 (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201462005829P 2014-05-30 2014-05-30
US62/005,829 2014-05-30
US201462023662P 2014-07-11 2014-07-11
US62/023,662 2014-07-11
US14/724,560 2015-05-28
US14/724,560 US9609452B2 (en) 2013-02-08 2015-05-28 Obtaining sparseness information for higher order ambisonic audio renderers
PCT/US2015/033262 WO2015184307A1 (en) 2014-05-30 2015-05-29 Obtaining sparseness information for higher order ambisonic audio renderers

Publications (2)

Publication Number Publication Date
BR112016028215A2 BR112016028215A2 (en) 2017-08-22
BR112016028215B1 true BR112016028215B1 (en) 2022-08-23

Family

ID=53366340

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112016028215-9A BR112016028215B1 (en) 2014-05-30 2015-05-29 GETTING SCATTERED INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS

Country Status (9)

Country Link
EP (1) EP3149971B1 (en)
JP (1) JP6297721B2 (en)
KR (1) KR101818877B1 (en)
CN (2) CN106415712B (en)
BR (1) BR112016028215B1 (en)
CA (1) CA2949108C (en)
ES (1) ES2699657T3 (en)
HU (1) HUE042058T2 (en)
WO (1) WO2015184307A1 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020518159A (en) 2017-04-18 2020-06-18 オムニオ、サウンド、リミテッドOmnio Sound Limited Stereo expansion with psychoacoustic grouping phenomenon
GB2572419A (en) * 2018-03-29 2019-10-02 Nokia Technologies Oy Spatial sound rendering
EP3782152A2 (en) 2018-04-16 2021-02-24 Dolby Laboratories Licensing Corporation Methods, apparatus and systems for encoding and decoding of directional sound sources
US10999693B2 (en) 2018-06-25 2021-05-04 Qualcomm Incorporated Rendering different portions of audio data using different renderers
US11798569B2 (en) * 2018-10-02 2023-10-24 Qualcomm Incorporated Flexible rendering of audio data
CN110764696B (en) * 2019-09-26 2020-10-16 开放智能机器(上海)有限公司 Vector information storage and updating method and device, electronic equipment and storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101379552B (en) * 2006-02-07 2013-06-19 Lg电子株式会社 Apparatus and method for encoding/decoding signal
JP5524237B2 (en) * 2008-12-19 2014-06-18 ドルビー インターナショナル アーベー Method and apparatus for applying echo to multi-channel audio signals using spatial cue parameters
JP5773540B2 (en) * 2009-10-07 2015-09-02 ザ・ユニバーシティ・オブ・シドニー Reconstructing the recorded sound field
US9042560B2 (en) * 2009-12-23 2015-05-26 Nokia Corporation Sparse audio
EP2450880A1 (en) * 2010-11-05 2012-05-09 Thomson Licensing Data structure for Higher Order Ambisonics audio data
TWI543642B (en) * 2011-07-01 2016-07-21 杜比實驗室特許公司 System and method for adaptive audio signal generation, coding and rendering
EP2637427A1 (en) * 2012-03-06 2013-09-11 Thomson Licensing Method and apparatus for playback of a higher-order ambisonics audio signal
EP3629605B1 (en) * 2012-07-16 2022-03-02 Dolby International AB Method and device for rendering an audio soundfield representation

Also Published As

Publication number Publication date
CN110827839B (en) 2023-09-19
HUE042058T2 (en) 2019-06-28
WO2015184307A1 (en) 2015-12-03
BR112016028215A2 (en) 2017-08-22
ES2699657T3 (en) 2019-02-12
EP3149971B1 (en) 2018-08-29
CN106415712B (en) 2019-11-15
CA2949108A1 (en) 2015-12-03
CN110827839A (en) 2020-02-21
CA2949108C (en) 2019-02-26
KR20170015897A (en) 2017-02-10
CN106415712A (en) 2017-02-15
JP2017520177A (en) 2017-07-20
JP6297721B2 (en) 2018-03-20
KR101818877B1 (en) 2018-01-15
EP3149971A1 (en) 2017-04-05

Similar Documents

Publication Publication Date Title
US9870778B2 (en) Obtaining sparseness information for higher order ambisonic audio renderers
US9883310B2 (en) Obtaining symmetry information for higher order ambisonic audio renderers
US10412522B2 (en) Inserting audio channels into descriptions of soundfields
US9847088B2 (en) Intermediate compression for higher order ambisonic audio data
US20160099001A1 (en) Normalization of ambient higher order ambisonic audio data
BR112016017278B1 (en) METHOD OF PRODUCING A STREAM OF AUDIO DATA BITS ENCODED BY AN AUDIO ENCODING DEVICE, AUDIO ENCODING DEVICE, METHOD OF DECODING AN AUDIO DATA BITS ENCODED BY AN AUDIO DECODING DEVICE, AUDIO, SYSTEM AND COMPUTER READable MEMORY DECODING
BR112016017589B1 (en) INDICATION OF REUSABILITY OF FRAME PARAMETERS FOR ENCODING VECTORS
BR112016030558B1 (en) REDUCTION OF CORRELATION BETWEEN CHANNELS OF HIGHER ORDER AMBISSONIC BACKGROUND (HOA)
BR112016028215B1 (en) GETTING SCATTERED INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS
US20150243292A1 (en) Order format signaling for higher-order ambisonic audio data
US9959876B2 (en) Closed loop quantization of higher order ambisonic coefficients
BR112016028212B1 (en) OBTAINING SYMMETRY INFORMATION FOR HIGHER ORDER AMBISSONIC AUDIO RENDERERS

Legal Events

Date Code Title Description
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 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 29/05/2015, OBSERVADAS AS CONDICOES LEGAIS