ES2689566T3 - Compresión de las representaciones descompuestas de un campo sonoro - Google Patents

Compresión de las representaciones descompuestas de un campo sonoro Download PDF

Info

Publication number
ES2689566T3
ES2689566T3 ES16183135.9T ES16183135T ES2689566T3 ES 2689566 T3 ES2689566 T3 ES 2689566T3 ES 16183135 T ES16183135 T ES 16183135T ES 2689566 T3 ES2689566 T3 ES 2689566T3
Authority
ES
Spain
Prior art keywords
coefficients
vectors
vector
unit
audio
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
ES16183135.9T
Other languages
English (en)
Inventor
Nils Gunther Peters
Dipanjan Sen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Application granted granted Critical
Publication of ES2689566T3 publication Critical patent/ES2689566T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S5/00Pseudo-stereo systems, e.g. in which additional channel signals are derived from monophonic signals by means of phase shifting, time delay or reverberation 
    • H04S5/005Pseudo-stereo systems, e.g. in which additional channel signals are derived from monophonic signals by means of phase shifting, time delay or reverberation  of the pseudo five- or more-channel type, e.g. virtual surround
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/002Dynamic bit allocation
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; 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/18Vocoders using multiple modes
    • G10L19/20Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • 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
    • 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
    • H04S7/302Electronic adaptation of stereophonic sound system to listener position or orientation
    • H04S7/303Tracking of listener position or orientation
    • H04S7/304For headphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/40Visual indication of stereophonic sound image
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • G10L2019/0005Multi-stage vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2205/00Details of stereophonic arrangements covered by H04R5/00 but not provided for in any of its subgroups
    • H04R2205/021Aspects relating to docking-station type assemblies to obtain an acoustical effect, e.g. the type of connection to external loudspeakers or housings, frequency improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/01Multi-channel, i.e. more than two input channels, sound reproduction with two speakers wherein the multi-channel information is substantially preserved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2400/00Details of stereophonic systems covered by H04S but not provided for in its groups
    • H04S2400/15Aspects of sound capture and related signal processing for recording or reproduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S2420/00Techniques used stereophonic systems covered by H04S but not provided for in its groups
    • H04S2420/01Enhancing the perception of the sound image or of the spatial distribution using head related transfer functions [HRTF's] or equivalents thereof, e.g. interaural time difference [ITD] or interaural level difference [ILD]
    • 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

Abstract

Un procedimiento que comprende: obtener un primer conjunto distinto de cero de coeficientes de un vector (717) representativo de un componente de primer plano de un campo sonoro, habiéndose descompuesto linealmente el vector a partir de una pluralidad de coeficientes armónicos esféricos que describen el campo sonoro; obtener uno de una pluralidad de modos de configuración (760) mediante el cual extraer el conjunto distinto de cero de coeficientes del vector de acuerdo con el uno de la pluralidad de modos de configuración, en el que el uno de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye aquellos coeficientes que corresponden a un orden mayor que un orden de una función de base a la que uno o varios de la pluralidad de coeficientes armónicos esféricos corresponden y excluye al menos uno de los coeficientes que corresponden a un orden mayor que el orden de la función de base a la que el uno o varios de la pluralidad de coeficientes armónicos esféricos corresponde; y extraer el conjunto distinto de cero de los coeficientes del vector (717) basándose en el un modo obtenido de la pluralidad de modos de configuración

Description

5
10
15
20
25
30
35
40
45
50
55
60
65
DESCRIPCIÓN
Compresión de las representaciones descompuestas de un campo sonoro CAMPO TÉCNICO
[0001] Esta divulgación se refiere a datos de audio y, más específicamente, a la compresión de datos de audio. ANTECEDENTES
[0002] Una señal ambisónica de orden superior (HOA) (a menudo representada por una pluralidad de coeficientes armónicos esféricos (SHC) u otros elementos jerárquicos) es una representación tridimensional de un campo sonoro. Esta representación de HOA o SHC puede representar este campo sonoro de una manera que sea independiente de la geometría del altavoz local utilizado para reproducir una señal de audio multicanal producida a partir de esta señal SHC. Esta señal SHC también puede facilitar la compatibilidad hacia atrás, ya que esta señal SHC puede producirse en formatos multicanal bien conocidos y altamente adoptados, tales como un formato de canal de audio 5.1 o un formato de canal de audio 7.1. La representación SHC puede, por lo tanto, permitir una mejor representación de un campo sonoro que también acomode la compatibilidad hacia atrás.
[0003] El documento “Registro de Campo Sonoro 3D con Señal Ambisónica de Orden Superior - Mediciones Objetivas y Validación de Micrófono Esférico” [3D Sound Field Reoording with Higher ürder Ambisonics - übjeotive Measurements and Validation of Spherical Microphone] de Moreau et al (presentada en la 120a Convención de la Sociedad de Ingenieros de Audio, Paris, Francia, 2006) describe el HOA como un enfoque flexible para representar y producir campos sonoros 3D pero establece que la falta de sistemas de micrófono efectivo ha limitado su uso. Tras la creación de un micrófono HOA de 4° orden y su medición y uso para el registro natural, el presente documento trata primero aspectos teóricos y limitaciones físicas propias de configuraciones discretas relativamente pequeñas (solapamiento espacial, estimación de baja frecuencia) y luego se centra en la validación objetiva de dichos micrófonos. El documento de Deep Sen et al: “Proyecto de Texto de Trabajo RM1-HOA” [RM1-HÜA Working Draft Text], 107. Reunión MPEG; 13-1-2014 - 17-1-2014; San José; (Grupo de Expertos en Películas, ISO/IEC JTC1/SC29/WG11), divulga coeficientes armónicos esféricos que se descomponen linearmente en un conjunto de coeficientes distintos de cero.
RESUMEN
[0004] En general, se describen técnicas para la compresión y descompresión de datos de audio ambisónicos de orden superior.
[0005] La invención está definida por las reivindicaciones independientes, con características preferidas indicadas en las reivindicaciones dependientes.
[0006] Los detalles de uno o más aspectos de las técnicas se exponen en los dibujos adjuntos y en la siguiente descripción. Otras características, objetos y ventajas de estas técnicas serán evidentes a partir de la descripción y los dibujos, y a partir de las reivindicaciones.
BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0007]
Las FIG. 1 y 2 son diagramas que ilustran funciones de base armónicas esféricas de varios órdenes y subórdenes.
La FIG. 3 es un diagrama que ilustra un sistema que puede realizar varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 4 es un diagrama de bloques que ilustra con más detalle un ejemplo del dispositivo de codificación de mostrado en el ejemplo de la FIG. 3 que puede realizar varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 5 es un diagrama de bloques que ilustra el dispositivo de descodificación de audio de la FIG. 3 con más detalle.
La FIG. 6 es un diagrama de flujo que ilustra el funcionamiento a modo de ejemplo de una unidad de análisis de contenido de un dispositivo de codificación de audio en la realización de varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 7 es un diagrama de flujo que ilustra el funcionamiento a modo de ejemplo de un dispositivo de
5
10
15
20
25
30
35
40
45
50
55
60
65
codificación de audio en la realización de varios aspectos de las técnicas de síntesis basadas en vectores descritas en esta divulgación.
La FIG. 8 es un diagrama de flujo que ilustra el funcionamiento a modo de ejemplo de un dispositivo de descodificación de audio en la realización de varios aspectos de las técnicas descritas en esta divulgación.
Las FIG. 9A-9L son diagramas de bloques que ilustran varios aspectos del dispositivo de codificación de audio del ejemplo de la FIG. 4 con más detalle.
Las FIG. 10A-10O(ii) son diagramas que ilustran una parte de la información del canal de bits o del canal lateral que puede especificar los componentes espaciales comprimidos con más detalle.
Las FIG. 11A-11G son diagramas de bloques que ilustran con más detalle varias unidades del dispositivo de descodificación de audio mostrado en el ejemplo de la FIG. 5.
La FIG. 12 es un diagrama que ilustra un ejemplo de ecosistema de audio que puede realizar varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 13 es un diagrama que ilustra un ejemplo del ecosistema de audio de la FIG. 12 con más detalle.
La FIG. 14 es un diagrama que ilustra un ejemplo del ecosistema de audio de la FIG. 12 con más detalle.
Las FIG. 15A y 15B son diagramas que ilustran otros ejemplos del ecosistema de audio de la FIG. 12 con más detalle.
La FIG. 16 es un diagrama que ilustra un ejemplo de dispositivo de codificación de audio que puede realizar varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 17 es un diagrama que ilustra un ejemplo del dispositivo de codificación de audio de la FIG. 16 con más detalle.
La FIG. 18 es un diagrama que ilustra un ejemplo de dispositivo de descodificación de audio que puede realizar varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 19 es un diagrama que ilustra un ejemplo del dispositivo de descodificación de audio de la FIG. 18 con más detalle.
Las FIG. 20A-20G son diagramas que ilustran ejemplos de dispositivos de adquisición de audio que pueden realizar varios aspectos de las técnicas descritas en esta divulgación.
Las FIG. 21A-21E son diagramas que ilustran ejemplos de dispositivos de reproducción de audio que pueden realizar varios aspectos de las técnicas descritas en esta divulgación.
Las FIG. 22A-22H son diagramas que ilustran ejemplos de entornos de reproducción de audio de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 23 es un diagrama que ilustra un ejemplo de caso de uso en el que un usuario puede experimentar un campo sonoro 3D de un juego deportivo mientras lleva auriculares de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 24 es un diagrama que ilustra un estadio deportivo en el que se puede grabar un campo sonoro 3D de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 25 es un diagrama de flujo que ilustra una técnica para producir un campo sonoro 3D basado en un paisaje de audio local de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 26 es un diagrama que ilustra un ejemplo de estudio de juego de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 27 es un diagrama que ilustra una pluralidad de sistemas de juego que incluyen motores de reproducción de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 28 es un diagrama que ilustra una configuración de altavoces que se puede simular mediante auriculares de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 29 es un diagrama que ilustra una pluralidad de dispositivos móviles que pueden usarse para adquirir y/o
5
10
15
20
25
30
35
40
45
50
55
60
65
editar un campo sonoro 3D de acuerdo con una o más técnicas descritas en esta divulgación.
La FIG. 30 es un diagrama que ilustra una trama de vídeo asociada con un campo sonoro 3D que puede procesarse de acuerdo con una o más técnicas descritas en esta divulgación.
Las FIG. 31A-31M son diagramas que ilustran gráficas que muestran varios resultados de simulación de realizar una categorización sintética o registrada del campo sonoro de acuerdo con varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 32 es un diagrama que ilustra un gráfico de valores singulares de una matriz S descompuesta a partir de coeficientes ambisónicos de orden superior de acuerdo con las técnicas descritas en esta divulgación.
Las FIG. 33A y 33B son diagramas que ilustran gráficas respectivas que muestran un impacto potencial que tiene la reordenación cuando se codifican los vectores que describen los componentes de primer plano del campo sonoro de acuerdo con las técnicas descritas en esta divulgación.
Las FIG. 34 y 35 son diagramas conceptuales que ilustran diferencias entre únicamente la identificación basada en energía y la direccionalidad de distintos objetos de audio, de acuerdo con esta divulgación.
Las FIG. 36A-36G son diagramas que ilustran proyecciones de al menos una parte de la versión descompuesta de los coeficientes armónicos esféricos en el dominio espacial para realizar la interpolación de acuerdo con varios aspectos de las técnicas descritas en esta divulgación.
La FIG. 37 ilustra una representación de técnicas para obtener una interpolación espacio-temporal como se describe en el presente documento.
La FIG. 38 es un diagrama de bloques que ilustra matrices US artificiales, US1 y US2, para los bloques SVD secuenciales para una señal multidimensional de acuerdo con técnicas descritas en el presente documento.
La FIG. 39 es un diagrama de bloques que ilustra la descomposición de tramas subsiguientes de una señal ambisónica de orden superior (HOA) usando la Descomposición en Valores Singulares y suavizando los componentes espacio-temporales de acuerdo con técnicas descritas en esta divulgación.
Las FIG. 40A-40J son cada una un diagrama de bloques que ilustra ejemplos de dispositivos de codificación de audio que pueden realizar varios aspectos de las técnicas descritas en esta divulgación para comprimir coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales.
La FIG. 41A-41D son diagramas de bloques que ilustran cada uno un ejemplo de dispositivo de descodificación de audio que puede realizar varios aspectos de las técnicas descritas en esta divulgación para descodificar coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales.
Las FIG. 42A-42C son cada una diagramas de bloques que ilustran la unidad de reducción de orden mostrada en los ejemplos de las FIG. 40B-40J con más detalle.
La FIG. 43 es un diagrama que ilustra la unidad de compresión V mostrada en la FIG. 40l con más detalle.
La FIG. 44 es un diagrama que ilustra funcionamientos a modo de ejemplo realizados por el dispositivo de codificación de audio para compensar el error de cuantización de acuerdo con varios aspectos de las técnicas descritas en esta divulgación.
Las FIG. 45A y 45B son diagramas que ilustran la interpolación de subtramas de partes de dos tramas de acuerdo con varios aspectos de las técnicas descritas en esta divulgación.
Las FIG. 46A-46E son diagramas que ilustran una sección transversal de una proyección de uno o más vectores de una versión descompuesta de una pluralidad de coeficientes armónicos esféricos que han sido interpolados de acuerdo con las técnicas descritas en esta divulgación.
La FIG. 47 es un diagrama de bloques que ilustra, con más detalle, la unidad de extracción de los dispositivos de descodificación de audio mostrados en los ejemplos de las FIG. 41A-41D.
La FIG. 48 es un diagrama de bloques que ilustra la unidad de producción de audio del dispositivo de descodificación de audio mostrado en los ejemplos de las FIG. 41A-41D con más detalle.
Las FIG. 49A-49E(ii) son diagramas que ilustran sistemas de codificación de audio respectivos que pueden realizar varios aspectos de las técnicas descritas en esta divulgación.
5
10
15
20
25
30
35
40
45
50
55
60
Las FIG. 50A y 50B son diagramas de bloques que ilustran cada uno de ellos uno o dos enfoques diferentes para reducir potencialmente el orden del contenido de fondo de acuerdo con las técnicas descritas en esta divulgación.
La FIG. 51 es un diagrama de bloques que ilustra ejemplos de una trayectoria de compresión de componente distinta de un dispositivo de codificación de audio que puede realizar varios aspectos de las técnicas descritas en esta divulgación para comprimir coeficientes armónicos esféricos.
Las FIG. 52 es un diagrama de bloques que ilustra otro ejemplo de un dispositivo de descodificación de audio que puede implementar varios aspectos de las técnicas descritas en esta divulgación para reconstruir o casi reconstruir coeficientes armónicos esféricos (SHC).
DESCRIPCIÓN DETALLADA
[0008] La evolución del sonido envolvente ha puesto a disposición muchos formatos de salida para el entretenimiento de hoy en día. Los ejemplos de tales formatos de sonido envolvente de consumo son en su mayoría "canales" basados en que, implícitamente, especifican las señales a los altavoces en ciertas coordenadas geométricas. Estos incluyen el popular formato 5.1 (que incluye los siguientes seis canales: delantero izquierdo (FL), delantero derecho (FR), central o delantero central, posterior izquierdo o de sonido envolvente izquierdo, posterior derecho o de sonido envolvente derecho y efectos de baja frecuencia (LFE)), el creciente formato 7.1, varios formatos que incluyen altavoces de altura tales como el formato 7.1.4 y el formato 22.2 (por ejemplo, para usar con el estándar de Televisión de Alta Definición). Los formatos no consumidores pueden abarcar cualquier número de altavoces (en geometrías simétricas y no simétricas) a menudo denominados "configuraciones de sonido envolvente". Un ejemplo de una configuración de este tipo incluye 32 altavoces colocados en coordenadas en las esquinas de un icosaedro truncado.
[0009] La entrada a un futuro codificador MPEG es opcionalmente uno de tres formatos posibles: (i) audio basado en canal tradicional (como se ha comentado anteriormente), que está destinado a ser reproducido a través de altavoces en posiciones preestablecidas; (ii) audio basado en objetos, que implica datos de modulación por código de pulso (PCM) discretos para objetos de audio individuales con metadatos asociados que contienen sus coordenadas de ubicación (entre otra información); y (iii) audio basado en escena, que implica representar el campo sonoro utilizando coeficientes de funciones de base armónicas esféricas (también llamados "coeficientes armónicos esféricos" o SHC, "Ambisónicos de Orden Superior" o HOA y "coeficientes HOA"). Este futuro codificador MPEG se puede describir con mayor detalle en un documento titulado "Convocatoria de propuestas para audio 3D", de la Organización Internacional para la Estandarización/Comisión Electrotécnica Internacional (ISO)/(IEC) JTC1/SC29/WG11/N13411, publicado en enero 2013 en Ginebra, Suiza, y disponible en
http://mpeg.chiariglione.org/sites/default/files/files/standards/parts/docs/w13411 .zip.
[0010] Hay varios formatos de "sonido envolvente" en el mercado. Por ejemplo, desde el sistema de cine en casa 5.1 (que es el que ha tenido más éxito en cuanto a entrar en las salas de estar más allá del estéreo) hasta el sistema 22.2 desarrollado por NHK (Nippon Hoso Kyokai o Japan Broadcasting Corporation). Los creadores de contenido (por ejemplo, los estudios de Hollywood) desean producir la banda sonora de una película una vez y no gastar los esfuerzos en volver a mezclarla para cada configuración de altavoz. Recientemente, las Organizaciones de Desarrollo de Normas han estado considerando maneras de proporcionar una codificación en un flujo de bits estandarizado y una descodificación subsiguiente que sea adaptable e indiferente con respecto a la geometría (y número) del altavoz y a las condiciones acústicas en la ubicación de la reproducción (que implica un reproductor).
[0011] Para proporcionar dicha flexibilidad a los creadores de contenido, se puede usar un conjunto jerárquico de elementos para representar un campo sonoro. El conjunto jerárquico de elementos puede referirse a un conjunto de elementos en el que los elementos están ordenados de tal manera que un conjunto básico de elementos de orden inferior proporciona una representación completa del campo sonoro modelado. A medida que el conjunto se extiende para incluir elementos de orden superior, la representación se hace más detallada, aumentando la resolución.
[0012] Un ejemplo de un conjunto jerárquico de elementos es un conjunto de coeficientes armónicos esféricos (SHC). La siguiente expresión demuestra una descripción o representación de un campo sonoro usando SHC:
imagen1
[0013] Esta expresión muestra que la presión p, en cualquier punto {rh Qr, <pr¡ del campo sonoro, en el tiempo f,
k=- c
puede representarse únicamente por el SHC, A„m(k). Aquí, c’ es la velocidad del sonido (-343 m/s), {rr, Qr, (prt es un punto de referencia (o punto de observación), jn(-) es la función esférica de Bessel de orden n, y Ynm (Qr, Pr) son las funciones de base armónicas esféricas de orden n y suborden m. Se puede reconocer que el término entre corchetes es una representación en el dominio de la frecuencia de la señal (es decir, S(®, r, Qr , Pr)) que puede ser
5
10
15
20
25
30
35
40
45
50
55
60
aproximada por varias transformaciones tiempo-frecuencia, tales como la transformada discreta de Fourier (DFT), la transformada de coseno discreta (DCT) o una transformada de ondícula. Otros ejemplos de conjuntos jerárquicos incluyen conjuntos de coeficientes de transformada de ondícula y otros conjuntos de coeficientes de funciones de base a partir de multirresolución.
[0014] La FIG. 1 es un diagrama que ilustra las funciones de base armónicas esféricas desde el orden cero (n = 0) hasta el cuarto orden (n = 4). Como puede verse, para cada orden, hay una expansión de los subórdenes m que se muestran pero no se anotan explícitamente en el ejemplo de la FIG. 1 para facilitar la ilustración.
[0015] La FIG. 2 es otro diagrama que ilustra las funciones de base armónicas esféricas desde el orden cero (n = 0) hasta el cuarto orden (n = 4). En la FIG. 2, las funciones de la base armónica esférica se muestran en el espacio de coordenadas tridimensional con el orden y el suborden mostrados.
[0016] El SHC Anm{k) puede ser físicamente adquirido (por ejemplo, registrado) con varias configuraciones de micrófono o, alternativamente, se puede obtener de descripciones basadas en canales o basadas en objetos del campo sonoro. El SHC representa el audio basado en escenas, donde el SHC puede ser introducido en un codificador de audio para obtener el SHC codificado que puede fomentar una transmisión o un almacenamiento más eficiente. Por ejemplo, puede utilizarse una representación de cuarto orden que implique coeficientes (1+4)2 (25 y, por lo tanto, de cuarto orden).
[0017] Como se ha indicado anteriormente, el SHC puede obtenerse de una grabación con micrófono utilizando un micrófono. En Poletti, M., "Three-Dimensional Surround Sound Systems Based on Spherical Harmonics", se describen varios ejemplos de cómo se puede obtener el SHC a partir de configuraciones de micrófonos, J. Audio Eng. Soc., Vol. 53, n.° 11,2005 Noviembre, págs. 1004-1025.
[0018] Para ilustrar cómo estos SHCs se pueden obtener a partir de una descripción basada en objetos, considere la siguiente ecuación. Los coeficientes Anm{k) del campo sonoro correspondiente a un objeto de audio individual pueden expresarse como:
imagen2
donde i es V-l, hn(2)( ) es la función esférica de Hankel (del segundo tipo) de orden n, y |rs, Gs, ps } es la ubicación del objeto. El hecho de conocer la fuente de energía del objeto g{a>) como una función de la frecuencia (por ejemplo, utilizando técnicas de análisis de tiempo-frecuencia, tales como la realización de una transformada rápida de Fourier en el flujo PCM) nos permite convertir cada objeto PCM y su ubicación en el SHC Anm{k). Además, se puede demostrar (ya que lo anterior es una descomposición lineal y ortogonal) que los coeficientes Anm{k) para cada objeto son aditivos. De esta manera, una multitud de objetos PCM puede ser representada con los coeficientes Anm{k) (por ejemplo, como una suma de los vectores de coeficientes para los objetos individuales). Esencialmente, estos coeficientes contienen información sobre el campo sonoro (la presión como una función de las coordenadas 3D), y lo anterior representa la transformación de los objetos individuales a una representación del campo sonoro global en las proximidades del punto de observación [rr, 9r, <pr}. Las cifras restantes se describen a continuación en el contexto de la codificación de audio basada en objetos y basada en SHC.
[0019] La FIG. 3 es un diagrama de bloques que ilustra un sistema 10 que puede realizar diversos aspectos de las técnicas descritas en esta divulgación. Como se muestra en el ejemplo de la FIG. 3, el sistema 10 incluye un creador de contenido 12 y un consumidor de contenido 14. Aunque se describen en el contexto del creador de contenido 12 y del consumidor de contenido 14, las técnicas pueden implementarse en cualquier contexto en el que los SHC (que también pueden denominarse coeficientes HOA) o cualquier otra representación jerárquica de un campo sonoro se codifican para formar un flujo de bits representativo de los datos de audio. Además, el creador de contenido 12 puede representar cualquier forma de dispositivo informático capaz de implementar las técnicas descritas en esta divulgación, incluido un teléfono móvil (o teléfono celular), un ordenador de tableta, un teléfono inteligente o un ordenador de sobremesa para proporcionar algunos ejemplos. Del mismo modo, el consumidor de contenido 14 puede representar cualquier forma de dispositivo informático capaz de implementar las técnicas descritas en esta divulgación, incluido un teléfono móvil, una tableta, un teléfono inteligente, un descodificador o un ordenador de sobremesa para proporcionar algunos ejemplos.
[0020] El creador de contenido 12 puede representar un estudio de cine u otra entidad que puede generar contenido de audio multicanal para el consumo de los consumidores de contenido, tal como el consumidor de contenido 14. En algunos ejemplos, el creador de contenido 12 puede representar a un usuario individual que desea comprimir los coeficientes HOA 11. A menudo, este creador de contenido genera contenido de audio junto con el contenido de vídeo. El consumidor de contenido 14 representa un individuo que posee o tiene acceso a un sistema de reproducción de audio, que puede referirse a cualquier forma de sistema de reproducción de audio capaz de reproducir SHC para reproducirlo como contenido de audio multicanal. En el ejemplo de la FIG. 3, el consumidor de contenido 14 incluye un sistema de reproducción de audio 16.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0021] El creador de contenido 12 incluye un sistema de edición de audio 18. El creador de contenido 12 obtiene grabaciones en directo 7 en diversos formatos (incluidos directamente como coeficientes HOA) y objetos de audio 9, que el creador de contenido 12 puede editar utilizando el sistema de edición de audio 18. El creador de contenido puede, durante el proceso de edición, reproducir los coeficientes HOA 11 de los objetos de audio 9, escuchando las señales de los altavoces reproducidas en un intento de identificar varios aspectos del campo sonoro que requieran una edición adicional. El creador de contenido 12 puede entonces editar los coeficientes HOA 11 (potencialmente indirectamente a través de la manipulación de diferentes objetos de audio 9 a partir de los cuales pueden obtenerse los coeficientes HOA originales de la manera descrita anteriormente). El creador de contenido 12 puede emplear el sistema de edición de audio 18 para generar los coeficientes HOA 11. El sistema de edición de audio 18 representa cualquier sistema capaz de editar datos de audio y emitir estos datos de audio como uno o más coeficientes armónicos esféricos originales.
[0022] Cuando se completa el proceso de edición, el creador de contenido 12 puede generar un flujo de bits 21 basado en los coeficientes HOA 11. Es decir, el creador de contenido 12 incluye un dispositivo de codificación de audio 20 que representa un dispositivo configurado para codificar o, de algún modo, comprimir los coeficientes HOA 11 de acuerdo con diversos aspectos de las técnicas descritas en esta divulgación para generar el flujo de bits 21. El dispositivo de codificación de audio 20 puede generar el flujo de bits 21 para la transmisión, por ejemplo, a través de un canal de transmisión, que puede ser un canal cableado o inalámbrico, un dispositivo de almacenamiento de datos o algo similar. El flujo de bits 21 puede representar una versión codificada de los coeficientes HOA 11 y puede incluir un flujo de bits primario y otro flujo de bits lateral, que se puede denominar información de canal lateral.
[0023] Aunque se describe con más detalle a continuación, el dispositivo de codificación de audio 20 puede configurarse para codificar los coeficientes HOA 11 basándose en una síntesis basada en vectores o una síntesis basada en la dirección. Para determinar si se debe realizar la metodología de síntesis basada en vectores o una metodología de síntesis basada en la dirección, el dispositivo de codificación de audio 20 puede determinar, en base al menos en parte en los coeficientes HOA 11, si los coeficientes HOA 11 se generaron a través de una grabación natural de un campo sonoro (por ejemplo, grabación en directo 7) o se produjeron artificialmente (es decir, sintéticamente) a partir de, por ejemplo, objetos de audio 9, tales como un objeto PCM. Cuando los coeficientes HOA 11 se generaron a partir de los objetos de audio 9, el dispositivo de codificación de audio 20 puede codificar los coeficientes HOA 11 usando la metodología de síntesis basada en la dirección. Cuando los coeficientes HOA 11 se capturaron en directo usando, por ejemplo, un eigenmike, el dispositivo de codificación de audio 20 puede codificar los coeficientes HOA 11 basados en la metodología de síntesis basada en vectores. La distinción anterior representa un ejemplo de dónde puede implantarse la metodología de síntesis basada en vectores o direccional. Puede haber otros casos en que uno o ambos pueden ser útiles para las grabaciones naturales, el contenido generado artificialmente o una mezcla de ambos (contenido híbrido). Además, también es posible utilizar ambas metodologías simultáneamente para codificar un solo intervalo de tiempo de los coeficientes HOA.
[0024] Asumiendo con fines de ilustración que el dispositivo de codificación de audio 20 determina que los coeficientes HOA 11 se capturaron en directo o, de algún modo, representan grabaciones en directo, tales como la grabación en directo 7, el dispositivo de codificación de audio 20 puede configurarse para codificar los coeficientes HOA 11 utilizando un vector basado en la aplicación de una transformada lineal invertible (LIT). Un ejemplo de la transformada lineal invertible se denomina "descomposición en valores singulares" (o "SVD"). En este ejemplo, el dispositivo de codificación de audio 20 puede aplicar una SVD a los coeficientes HOA 11 para determinar una versión descompuesta de los coeficientes HOA 11. El dispositivo de codificación de audio 20 puede entonces analizar la versión descompuesta de los coeficientes HOA 11 para identificar varios parámetros, lo que puede facilitar la reordenación de la versión descompuesta de los coeficientes HOA 11. El dispositivo de codificación de audio 20 puede entonces reordenar la versión descompuesta de los coeficientes HOA 11 basándose en los parámetros identificados, donde dicha reordenación, tal como se describe con más detalle a continuación, puede mejorar la eficacia de la codificación dado que la transformación puede reordenar los coeficientes HOA a través de las tramas de los coeficientes HOA (donde una trama comúnmente incluye M muestras de los coeficientes HOA 11 y M es, en algunos ejemplos, establecido en 1024). Después de reordenar la versión descompuesta de los coeficientes HOA 11, el dispositivo de codificación de audio 20 puede seleccionar aquellos coeficientes de la versión descompuesta de los coeficientes HOA 11 representativos de los componentes de primer plano (o, en otras palabras, distintos, predominantes o salientes) del campo sonoro. El dispositivo de codificación de audio 20 puede especificar la versión descompuesta de los coeficientes HOA 11 representativos de los componentes de primer plano como un objeto de audio y la información direccional asociada.
[0025] El dispositivo de codificación de audio 20 también puede realizar un análisis de campo sonoro con respecto a los coeficientes HOA 11 con el fin, al menos en parte, de identificar aquellos coeficientes de los coeficientes HOA 11 representativos de uno o más componentes de fondo del campo sonoro. El dispositivo de codificación de audio 20 puede realizar compensación de energía con respecto a los componentes de fondo dado que, en algunos ejemplos, los componentes de fondo solo pueden incluir un subconjunto de cualquier muestra dada de los coeficientes HOA 11 (por ejemplo, los correspondientes a las funciones de base esférica de cero y primer orden y no las correspondientes a las funciones de base esférica de segundo o de orden superior). Cuando se realiza la reducción de orden, en otras palabras, el dispositivo de codificación de audio 20 puede aumentar (por ejemplo,
5
10
15
20
25
30
35
40
45
50
55
60
65
sumar/restar energía a/desde) los coeficientes HOA de fondo restantes de los coeficientes HOA 11 para compensar el cambio en la energía total que resulta de realizar la reducción de orden.
[0026] El dispositivo de codificación de audio 20 puede realizar, a continuación, una forma de codificación psicoacústica (tal como la envolvente MPEG, MPEG-AAC, MPEG-USAC u otras formas conocidas de codificación psicoacústica) con respecto a cada uno de los coeficientes HOA 11 representativos de los componentes de fondo y de cada uno de los objetos de audio de primer plano. El dispositivo de codificación de audio 20 puede realizar una forma de interpolación con respecto a la información direccional de primer plano y luego realizar una reducción de orden con respecto a la información direccional de primer plano interpolada para generar información direccional de primer plano reducida por orden. El dispositivo de codificación de audio 20 puede realizar adicionalmente, en algunos ejemplos, una cuantización con respecto a la información direccional de primer plano reducida por orden, que proporciona información direccional de primer plano codificada. En algunos casos, esta cuantización puede comprender una cuantización escalar/entrópica. El dispositivo de codificación de audio 20 puede formar entonces el flujo de bits 21 para incluir los componentes de fondo codificados, los objetos de audio de primer plano codificados y la información direccional cuantizada. El dispositivo de codificación de audio 20 puede entonces transmitir o, de algún modo, emitir el flujo de bits 21 al consumidor de contenido 14.
[0027] Como se muestra en la FIG. 3 como transmitido directamente al consumidor de contenido 14, el creador de contenido 12 puede emitir el flujo de bits 21 a un dispositivo intermedio situado entre el creador de contenido 12 y el consumidor de contenido 14. Este dispositivo intermedio puede almacenar el flujo de bits 21 para su posterior suministro al consumidor de contenido 14, que puede solicitar este flujo de bits. El dispositivo intermedio puede comprender un servidor de archivos, un servidor web, un ordenador de sobremesa, un ordenador portátil, un ordenador de tabletas, un teléfono móvil, un teléfono inteligente o cualquier otro dispositivo capaz de almacenar el flujo de bits 21 para su posterior recuperación mediante un descodificador de audio. Este dispositivo intermedio puede residir en una red de suministro de contenido capaz de transmitir en flujo continuo el flujo de bits 21 (y posiblemente junto con la transmisión de un flujo de bits de datos de vídeo correspondiente) a los suscriptores, como el consumidor de contenido 14 que solicita el flujo de bits 21.
[0028] Alternativamente, el creador de contenido 12 puede almacenar el flujo de bits 21 en un medio de almacenamiento, tal como un disco compacto, un disco de vídeo digital, un disco de vídeo de alta definición u otros medios de almacenamiento, la mayoría de los cuales pueden ser leídos por un ordenador y, por lo tanto, pueden denominarse medios de almacenamiento legibles por ordenador o medios de almacenamiento no transitorios legibles por ordenador. En este contexto, el canal de transmisión puede referirse a aquellos canales a través de los cuales se transmiten contenidos almacenados en estos medios (y pueden incluir tiendas minoristas y otros mecanismos de suministro basados en almacén). En cualquier caso, las técnicas de esta divulgación no deben, por lo tanto, estar limitadas a este respecto al ejemplo de la FIG. 3.
[0029] Como se muestra adicionalmente en el ejemplo de la FIG. 3, el consumidor de contenido 14 incluye el sistema de reproducción de audio 16. El sistema de reproducción de audio 16 puede representar cualquier sistema de reproducción de audio capaz de reproducir datos de audio multicanal. El sistema de reproducción de audio 16 puede incluir un número de diferentes procesadores 22. Los reproductores 22 pueden proporcionar cada uno una forma diferente de reproducción, en la que las diferentes formas de reproducción pueden incluir una o más de las diversas formas de realizar la exploración de amplitud de base vectorial (VBAP) y/o una o más de las diversas formas de realizar la síntesis del campo sonoro. Como se usa en el presente documento, "A y/o B" significa "A o B" o ambos "A y B".
[0030] El sistema de reproducción de audio 16 puede incluir además un dispositivo de descodificación de audio 24. El dispositivo de descodificación de audio 24 puede representar un dispositivo configurado para descodificar los coeficientes HOA 11' desde el flujo de bits 21, donde los coeficientes HOA 11' pueden ser similares a los coeficientes HOA 11, pero difieren debido a las operaciones con pérdida (por ejemplo, cuantización) y/o la transmisión a través del canal de transmisión. Es decir, el dispositivo de descodificación de audio 24 puede desquantizar la información direccional de primer plano especificada en el flujo de bits 21, al mismo tiempo que realiza la descodificación psicoacústica con respecto a los objetos de audio de primer plano especificados en el flujo de bits 21 y los coeficientes HOA codificados representativos de componentes de fondo. El dispositivo de descodificación de audio 24 puede realizar además la interpolación con respecto a la información direccional de primer plano descodificada y luego determinar los coeficientes HOA representativos de los componentes de primer plano basados en los objetos de audio de primer plano descodificados y la información direccional de primer plano interpolada. El dispositivo de descodificación de audio 24 puede entonces determinar los coeficientes HOA 11' basándose en los coeficientes HOA determinados representativos de los componentes de primer plano y los coeficientes HOA descodificados representativos de los componentes de fondo.
[0031] El sistema de reproducción de audio 16 puede, después de descodificar el flujo de bits 21, obtener los coeficientes HOA 11' y reproducir los coeficientes HOA 11' en las señales de salida de los altavoces 25. Las señales de los altavoces 25 pueden accionar uno o más altavoces (que no se muestran en el ejemplo de la FIG. 3 para facilitar la ilustración).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0032] Para seleccionar el reproductor apropiado o, en algunos casos, generar un reproductor apropiado, el sistema de reproducción de audio 16 puede obtener información de los altavoces 13 indicativa de un número de altavoces y/o una geometría espacial de los altavoces. En algunos casos, el sistema de reproducción de audio 16 puede obtener la información de los altavoces 13 usando un micrófono de referencia y accionando los altavoces de tal manera que determina dinámicamente la información de los altavoces 13. En otros casos o, junto con la determinación dinámica de la información de los altavoces 13, el sistema de reproducción de audio 16 puede pedirle a un usuario que interconecte con el sistema de reproducción de audio 16 e introduzca la información de los altavoces 16.
[0033] El sistema de reproducción de audio 16 puede entonces seleccionar una información de los reproductores de audio 22 en base a la información de los altavoces 13. En algunos casos, el sistema de reproducción de audio 16 puede, cuando ninguno de los procesadores de audio 22 están dentro de una medida de similitud de umbral (altavoz geométrica) con respecto a la especificada en la información de los altavoces 13, el sistema de reproducción de audio 16 puede generar la información de reproducción de audio 22 en base a la información de los altavoces 13. El sistema de reproducción de audio 16 puede, en algunos casos, generar la información de los procesadores de audio 22 en base a la información de los altavoces 13 sin intentar primero seleccionar una información existente de los procesadores de audio 22.
[0034] La FIG. 4 es un diagrama de bloques que ilustra, en más detalle, un ejemplo del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 3 que puede realizar diversos aspectos de las técnicas descritas en esta divulgación. El dispositivo de codificación de audio 20 incluye una unidad de análisis de contenido 26, una unidad de metodología de síntesis basada en vectores 27 y una unidad de metodología de síntesis basada en la dirección 28.
[0035] La unidad de análisis de contenido 26 representa una unidad configurada para analizar el contenido de los coeficientes HOA 11 y que identifica si los coeficientes HOA 11 representan contenido generado a partir de una grabación en directo o un objeto de audio. La unidad de análisis de contenido 26 puede determinar si los coeficientes HOA 11 se generaron a partir de una grabación de un campo sonoro real o de un objeto audio artificial. La unidad de análisis de contenido 26 puede realizar esta determinación de varias maneras. Por ejemplo, la unidad de análisis de contenido 26 puede codificar (N+1)2-1 canales y predecir el último canal restante (que puede representarse como un vector). La unidad de análisis de contenido 26 puede aplicar escalares a, al menos algunos de los canales (N+1)2-1, y añadir los valores resultantes para determinar el último canal restante. Además, en este ejemplo, la unidad de análisis de contenido 26 puede determinar una precisión del canal predicho. En este ejemplo, si la precisión del canal predicho es relativamente alta (por ejemplo, la precisión excede un umbral particular), es probable que los coeficientes HOA 11 se generen a partir de un objeto de audio sintético. Por el contrario, si la precisión del canal predicho es relativamente baja (por ejemplo, la precisión está por debajo del umbral particular), es más probable que los coeficientes HOA 11 representen un campo sonoro registrado. Por ejemplo, en este ejemplo, si una relación señal-ruido (SNR) del canal predicho es superior a 100 decibeles (dbs), los coeficientes HOA 11 son más propensos a representar un campo sonoro generado a partir de un objeto de audio sintético. En contraste, la SNR de un campo sonoro grabado utilizando un micrófono propio puede ser de 5 a 20 dbs. Por lo tanto, puede haber una demarcación aparente en las relaciones SNR entre el campo sonoro representado con los coeficientes HOA 11 generados a partir de una grabación directa real y desde un objeto de audio sintético.
[0036] Más específicamente, la unidad de análisis de contenido 26 puede, al determinar si los coeficientes HOA 11 representativos de un campo sonoro se generan a partir de un objeto de audio sintético, obtener unos coeficientes HOA por trama, que puede ser del tamaño 25 por 1024 para una representación de cuarto orden (es decir, N = 4). Después de obtener los coeficientes HOA por trama (que también se pueden indicar en el presente documento como una matriz de SHC por trama 11 y las matrices SHC por trama subsiguiente se pueden indicar como matrices SHC por trama 27B, 27C, etc.). La unidad de análisis de contenido 26 puede excluir entonces el primer vector de los coeficientes en HOA por trama 11 para generar coeficientes HOA reducidos por trama. En algunos ejemplos, este primer vector excluido de los coeficientes HOA por trama 11 puede corresponder a los de los coeficientes HOA 11 asociados con la función de base armónica esférica de orden cero y suborden cero.
[0037] La unidad de análisis de contenido 26 puede entonces predecir el primer vector distinto de cero de los coeficientes HOA reducidos por trama a partir de los vectores restantes de los coeficientes HOA reducidos por trama. El primer vector distinto de cero puede referirse a un primer vector que va desde el primer orden (y considerando cada uno de los subórdenes dependientes del orden) al cuarto orden (y considerando cada uno de los subórdenes dependientes del orden) que tiene valores distintos de cero. En algunos ejemplos, el primer vector distinto de cero de los coeficientes HOA reducidos por trama se refiere a los de los coeficientes HOA 11 asociados con la función de base armónica esférica de primer orden y suborden cero. Aunque se describen con respecto al primer vector distinto de cero, las técnicas pueden predecir otros vectores de los coeficientes HOA reducidos por trama de los vectores restantes de los coeficientes HOA reducidos por trama. Por ejemplo, la unidad de análisis de contenido 26 puede predecir los de los coeficientes HOA reducidos por trama asociados con una función de base armónica esférica de primer orden y primer suborden o una función de base armónica esférica de primer orden y primer orden negativo. Aún otros ejemplos, la unidad de análisis de contenido 26 puede predecir los de los coeficientes HOA reducidos por trama asociados con una función de base armónica esférica de segundo orden y orden cero.
5
10
15
20
25
30
35
40
45
50
55
60
[0038] Para predecir el primer vector distinto de cero, la unidad de análisis de contenido 26 puede funcionar de acuerdo con la siguiente ecuación:
2>,v,),
/
donde i es de 1 a (N + 1)2-2, que es 23 para una representación de cuarto orden, a¡ denota alguna constante para el i-ésimo vector y v¡ se refiere al i-ésimo vector. Después de predecir el primer vector distinto de cero, la unidad de análisis de contenido 26 puede obtener un error basado en el primer vector distinto de cero predicho y el vector distinto de cero real. En algunos ejemplos, la unidad de análisis de contenido 26 substrae el primer vector distinto de cero predicho del primer vector distinto de cero real para derivar el error. La unidad de análisis de contenido 26 puede calcular el error como una suma del valor absoluto de las diferencias entre cada entrada en el primer vector distinto de cero predicho y el primer vector distinto de cero real.
[0039] Una vez obtenido el error, la unidad de análisis de contenido 26 puede calcular una relación basada en una energía del primer vector distinto de cero real y del error. La unidad de análisis de contenido 26 puede determinar esta energía cuadrando cada entrada del primer vector distinto de cero y añadiendo las entradas cuadradas una a otra. La unidad de análisis de contenido 26 puede entonces comparar esta relación con un umbral. Cuando la relación no excede el umbral, la unidad de análisis de contenido 26 puede determinar que los coeficientes HOA por trama 11 se generan a partir de una grabación e indica en el flujo de bits que la representación codificada correspondiente de los coeficientes HOA 11 se generó a partir de una grabación. Cuando la relación excede el umbral, la unidad de análisis de contenido 26 puede determinar que los coeficientes HOA por trama 11 se generan a partir de un objeto de audio sintético e indica en el flujo de bits que la representación codificada correspondiente de los coeficientes HOA por trama 11 se generó a partir de un objeto de audio sintético.
[0040] La indicación de si los coeficientes HOA por trama 11 se generaron a partir de una grabación o de un objeto de audio sintético puede comprender un solo bit para cada trama. El bit único puede indicar que se usaron diferentes codificaciones para cada trama de manera eficaz, intercambiando entre diferentes maneras de codificar la trama correspondiente. En algunos casos, cuando los coeficientes HOA por trama 11 se generaron a partir de una grabación, la unidad de análisis de contenido 26 pasa los coeficientes HOA 11 a la unidad de síntesis basada en vectores 27. En algunos casos, cuando los coeficientes HOA por trama 11 se generaron a partir de un objeto de audio sintético, la unidad de análisis de contenido 26 pasa los coeficientes HOA 11 a la unidad de síntesis basada en la dirección 28. La unidad de síntesis basada en la dirección 28 puede representar una unidad configurada para realizar una síntesis basada en la dirección de los coeficientes HOA 11 para generar un flujo de bits basado en la dirección 21.
[0041] En otras palabras, las técnicas se basan en la codificación de los coeficientes HOA utilizando un clasificador de entrada. El clasificador puede funcionar de la siguiente manera:
Comienza con una matriz SH por trama (supongamos de 4° orden, tamaño de trama de 1024, que también se pueden denominar coeficientes HOA por trama o como coeficientes HOA) - donde se obtiene una matriz de tamaño 25 x 1024.
[0042] Excluye el 1er vector (SH de orden 0) - de manera que hay una matriz de tamaño 24 x 1024.
[0043] Predice el primer vector distinto de cero en la matriz (vector de tamaño a 1 x 1024) - del resto de los vectores de la matriz (23 vectores de tamaño 1x1024).
[0044] La predicción es la siguiente: vector predicho = suma-sobre-i [alfa-i x vector-I] (donde la suma sobre I se hace sobre 23 índices, i=1... 23).
[0045] A continuación, comprueba el error: vector real - vector predicho = error.
[0046] Si la relación de la energía del vector/error es grande (es decir, el error es pequeño), entonces el campo sonoro subyacente (en esa trama) es escaso/sintético. De lo contrario, el campo sonoro subyacente es un campo sonoro grabado (usando una configuración de micrófonos).
[0047] En función de la decisión grabada vs. sintética, lleva a cabo la codificación/descodificación (que puede referirse a la compresión del ancho de banda) de diferentes maneras. La decisión es una decisión de 1 bit que se envía a través del flujo de bits para cada trama.
[0048] Como se muestra en el ejemplo de la FIG. 4, la unidad de síntesis basada en vectores 27 puede incluir una unidad de transformada lineal invertible (LIT) 30, una unidad de cálculo de parámetros 32, una unidad de reordenación 34, una unidad de selección del primer plano 36, una unidad de compensación de energía 38, una unidad codificadora de audio psicoacústico 40, una unidad de generación del flujo de bits 42, una unidad de análisis
5
10
15
20
25
30
35
40
45
50
55
60
65
del campo sonoro 44, una unidad de reducción de coeficientes 46, una unidad de selección de fondo 48 (BG), una unidad de interpolación espacio-temporal 50 y una unidad de cuantización 52.
[0049] La unidad de transformada lineal invertible (LIT) 30 recibe los coeficientes HOA 11 en forma de canales HOA, cada canal representativo de un bloque o trama de un coeficiente asociado con un orden dado, suborden de las funciones de base esférica (que se puede indicar como HOA[ft], donde k puede indicar la trama o bloque actual de muestras). La matriz de coeficientes HOA 11 puede tener dimensiones D: M x (N+1)2.
[0050] Es decir, la unidad LIT 30 puede representar una unidad configurada para realizar una forma de análisis denominada descomposición en valores singulares. Aunque se describe con respecto a la SVD, las técnicas descritas en esta divulgación pueden realizarse con respecto a cualquier transformación o descomposición similar que proporcione conjuntos de salida de energía compacta y no correlacionada linealmente. También, la referencia a "conjuntos" en esta divulgación generalmente se refiere a conjuntos diferentes de cero a menos que se indique específicamente lo contrario y no se pretende referir a la definición matemática clásica de conjuntos que incluye el denominado "conjunto vacío".
[0051] Una transformación alternativa puede comprender un análisis de componentes principales que se denomina a menudo "PCA". Un PCA se refiere a un procedimiento matemático que emplea una transformación ortogonal para convertir un conjunto de observaciones de variables posiblemente correlacionadas en un conjunto de variables linealmente no correlacionadas denominadas componentes principales. Las variables linealmente no correlacionadas representan variables que no tienen una relación estadística lineal (o dependencia) entre sí. Estos componentes principales pueden ser descritos como teniendo un pequeño grado de correlación estadística entre sí. En cualquier caso, el número de componentes denominados principales es menor o igual que el número de variables originales. En algunos ejemplos, la transformación se define de tal manera que el primer componente principal tiene la varianza más grande posible (o, en otras palabras, representa la mayor parte de la variabilidad en los datos como sea posible) y cada componente sucesivo a su vez tiene la mayor varianza posible bajo la restricción de que este componente sucesivo sea ortogonal (lo que puede ser reexpresado como no correlacionado) con los componentes anteriores. Un PCA puede realizar una forma de reducción de orden que, en términos de los coeficientes HOA 11, puede dar lugar a la compresión de los coeficientes HOA 11. En función del contexto, el PCA puede ser referido con varios nombres diferentes, tales como la transformada discreta de Karhunen-Loeve, la transformada de Hotelling, la descomposición ortogonal apropiada (POD) y la descomposición del valor propio (EVD) para nombrar algunos ejemplos. Las propiedades de dichas operaciones que conducen a la meta subyacente de compresión de datos de audio son la "compactación energética" y la "descorrelación" de los datos de audio multicanal.
[0052] En cualquier caso, la unidad LIT 30 realiza una descomposición en valores singulares (que, de nuevo, puede denominarse "SVD") para transformar los coeficientes HOA 11 en dos o más conjuntos de coeficientes HOA transformados. Estos "conjuntos" de coeficientes HOA transformados pueden incluir vectores de coeficientes HOA transformados. En el ejemplo de la FIG. 4, la unidad LIT 30 puede realizar la SVD con respecto a los coeficientes HOA 11 para generar una matriz llamada V, una matriz S y una matriz U. La SVD, en álgebra lineal, puede representar una factorización de una matriz real y-por-z o compleja X (donde X puede representar datos de audio multicanal como los coeficientes HOA 11) de la siguiente forma:
X = USV*
[0053] U puede representar una matriz unitaria real y-por-y o compleja, donde las columnas y de U se conocen comúnmente como los vectores singulares izquierdos de los datos de audio multicanal. S puede representar una matriz diagonal y-por-z con números reales no negativos en la diagonal, donde los valores diagonales de S se conocen comúnmente como valores singulares de los datos de audio multicanal. V* (que puede indicar una transposición conjugada de V) puede representar una matriz unitaria real o compleja z-por-z, donde las columnas z de V* se conocen comúnmente como vectores singulares derechos de los datos de audio multicanal.
[0054] Aunque se describe en esta divulgación como aplicable a datos de audio multicanal que comprenden coeficientes HOA 11, las técnicas pueden aplicarse a cualquier forma de datos de audio multicanal. De esta manera, el dispositivo de codificación de audio 20 puede realizar una descomposición en valores singulares con respecto a datos de audio multicanal representativos de, al menos una parte, del campo sonoro para generar una matriz U representativa de los vectores singulares izquierdos de los datos de audio multicanal, una matriz S representativa de los valores singulares de los datos de audio multicanal y una matriz V representativa de los vectores singulares derechos de los datos de audio multicanal y que representa los datos de audio multicanal como una función de, al menos una parte, de una o más de la matriz U, la matriz S y la matriz V.
[0055] En algunos ejemplos, la matriz V* en la expresión matemática SVD mencionada anteriormente se denomina transposición conjugada de la matriz V para reflejar que la SVD se puede aplicar a matrices que comprenden números complejos. Cuando se aplica a matrices que comprenden solo números reales, el conjugado complejo de la matriz V (o, en otras palabras, la matriz V*) puede considerarse como la transposición de la matriz V. A continuación se supone, para facilitar la ilustración, que los coeficientes HOA 11 comprenden números reales, con el resultado de
5
10
15
20
25
30
35
40
45
50
55
60
que la matriz V se emite a través de la SVD en lugar de la matriz V*. Además, aunque se denotan como la matriz V en esta divulgación, la referencia a la matriz V debe entenderse que hace referencia a la transposición de la matriz V cuando sea apropiado. Aunque se supone que es la matriz V, las técnicas pueden aplicarse de manera similar a los coeficientes HOA 11 que tienen coeficientes complejos, donde la salida de la SVD es la matriz V*. Por consiguiente, las técnicas no deben estar limitadas a este respecto para proporcionar solamente la aplicación de la SVD para generar una matriz V, sino que pueden incluir la aplicación de la SVD a coeficientes HOA 11 que tienen componentes complejos para generar una matriz V*.
[0056] En cualquier caso, la unidad LIT 30 puede realizar una forma en bloque de SVD con respecto a cada bloque (que puede referirse a una trama) de datos de audio ambisónicos (HOA) de orden superior (donde estos datos de audio ambisónicos incluyen bloques o muestras de los coeficientes HOA 11 o cualquier otra forma de datos de audio multicanal). Como se ha indicado anteriormente, se puede usar una variable M para indicar la longitud de una trama de audio en muestras. Por ejemplo, cuando una trama de audio incluye 1024 muestras de audio, M es igual a 1024. Aunque se describen con respecto a este valor típico para M, las técnicas de esta divulgación no deben limitarse a este valor típico para M. La unidad LIT 30 puede realizar, por lo tanto, una SVD en bloque con respecto a un bloque, con los coeficientes HOA 11 que tienen M-por-(N+1)2 coeficientes HOA, donde N, de nuevo, indica el orden de los datos de audio HOA. La unidad LIT 30 puede generar, mediante la realización de esta SVD, una matriz V, una matriz S y una matriz U, donde cada una de las matrices puede representar las respectivas matrices V, S y U descritas anteriormente. De esta manera, la unidad de transformada lineal invertible 30 puede realizar una SVD con respecto a los coeficientes HOA 11 para emitir vectores US[k] 33 (que pueden representar una versión combinada de los S vectores y los U vectores) que tienen dimensiones D: Vectores M x (N+1)2 y V[k] 35 con dimensiones D: (N+1)2 x (N+1)2. Los elementos vectoriales individuales en la matriz US[k] también pueden denominarse Xps(k), mientras que los vectores individuales de la matriz V[k] también pueden denominarse v(k).
[0057] Un análisis de las matrices U, S y V puede revelar que estas matrices llevan o representan características espaciales y temporales del campo sonoro subyacente representado anteriormente por X. Cada uno de los N vectores en U (de longitud M muestras) puede representar señales de audio normalizadas separadas en función del tiempo (para el período de tiempo representado por M muestras), que son ortogonales entre sí y que han sido desacopladas de cualquier característica espacial (que también puede denominarse información direccional). Las características espaciales, que representan la anchura de , la forma espacial y la posición (r, theta, phi) pueden representarse en su lugar por iÉSIm0S vectores individuales, v(i(k) en la matriz V (cada uno de longitud (N+1 )2). Ambos vectores de la matriz U y la matriz V se normalizan de tal manera que sus energías de valor cuadrático medio son iguales a la unidad. La energía de las señales de audio en U está representada por los elementos diagonales en S. Multiplicando U y S para formar US[k] (con los elementos vectoriales individuales Xps(k)), representan la señal de audio con energías verdaderas. La capacidad de la descomposición SVD para desacoplar las señales de tiempo de audio (en U), sus energías (en S) y sus características espaciales (en V) pueden soportar varios aspectos de las técnicas descritas en esta divulgación. Además, este modelo de síntesis de los coeficientes HOA[k] subyacentes, X, por una multiplicación de vectores de US[k] y V[k] da lugar al término "metodología de síntesis basada en vectores" que se utiliza en todo este documento.
[0058] Aunque se describe que se realiza directamente con respecto a los coeficientes HOA 11, la unidad LIT 30 puede aplicar la transformada lineal invertible a los derivados de los coeficientes HOA 11. Por ejemplo, la unidad LIT 30 puede aplicar una SVD con respecto a una matriz de densidad espectral de potencia obtenida partir de los coeficientes HOA 11. La matriz de densidad espectral de potencia se puede indicar como PSD y se obtiene mediante la multiplicación matricial de la transposición del hoaFrame al hoaFrame, como se indica en el pseudocódigo que sigue a continuación. La notación hoaFrame se refiere a una trama de los coeficientes HOA 11.
[0059] La unidad LIT 30 puede, después de aplicar la SVD (svd) a la PSD, puede obtener una matriz S[k]2 (S_squared) y una matriz V[k]. La matriz S[k]2 puede indicar una matriz S[k] al cuadrado, con lo que la unidad LIT 30 puede aplicar una operación de raíz cuadrada a la matriz S[k]2 para obtener la matriz S[k]. La unidad LIT 30 puede, en algunos casos, realizar la cuantización con respecto a la matriz V[k] para obtener una matriz V[k] cuantizada (que puede estar indicada como matriz V[k]'). La unidad LIT 30 puede obtener la matriz U[k] multiplicando primero la matriz S[k] por la matriz cuantizada V[k]' para obtener una matriz SV[k]'. La unidad LIT 30 puede obtener a continuación la pseudoinversa (pinv) de la matriz SV[k]' y luego multiplicar los coeficientes HOA 11 por la pseudoinversa de la matriz SV[k]' para obtener la matriz U[k]. Lo anterior puede estar representado por el siguiente pseudocódigo:
PSD = hoaFrame’*hoaFrame; [V, S_squared] = svd(PSD,’econ’); S = sqrt(S_squared);
U = hoaFrame * pinv(S*V’);
5
10
15
20
25
30
35
40
45
50
55
60
65
[0060] Mediante la realización de la SVD con respecto a la densidad espectral de potencia (PSD) de los coeficientes HOA en lugar de los coeficientes en sí, la unidad LIT 30 puede reducir potencialmente la complejidad computacional de realizar la SVD en términos de uno o más ciclos de procesador y espacio de almacenamiento, al mismo tiempo que se consigue la misma eficacia en la codificación de la fuente de audio como si la SVD se aplicara directamente a los coeficientes HOA. Es decir, la SVD de tipo PSD anteriormente descrita puede ser potencialmente menos exigente de cálculo porque la SVD se realiza sobre una matriz F*F (con F el número de coeficientes HOA). En comparación con una matriz M * F con M siendo la longitud de tramas, es decir, 1024 o más muestras. La complejidad de una SVD puede ahora, a través de la aplicación en la PSD en lugar de los coeficientes HOA 11, estar alrededor de O(LA3) en comparación con O(M*LA2) cuando se aplica a los coeficientes HOA 11 (donde O(*) indica la notación gran-O de la complejidad computacional común a las artes de la informática).
[0061] La unidad de cálculo de parámetros 32 representa una unidad configurada para calcular varios parámetros, tales como un parámetro de correlación (R), parámetros de propiedades direccionales (G, y, R) y una propiedad de energía (e). Cada uno de estos parámetros para la trama actual puede indicarse como R[k], G[k], y[k], r[k] y e[k]. La unidad de cálculo de parámetros 32 puede realizar un análisis de energía y/o correlación (o lo que se denomina correlación cruzada) con respecto a los vectores US[k] 33 para identificar estos parámetros. La unidad de cálculo de parámetros 32 también puede determinar estos parámetros para la trama anterior, donde los parámetros de trama anteriores pueden indicarse R[k-1], G[k-1], y[k-1], r[k-1] y e[k-1] en base a la trama anterior de vectores US[k-1] y V[k-1]. La unidad de cálculo de parámetros 32 puede emitir los parámetros actuales 37 y los parámetros anteriores 39 para reordenar la unidad 34.
[0062] Es decir, la unidad de cálculo de parámetros 32 puede realizar un análisis de energía con respecto a cada uno de los L primeros US[k] vectores 33 correspondientes a una primera vez y cada uno de los segundos vectores US[k-1] 33 correspondientes a una segunda vez, calculando una energía media cuadrática para al menos una parte de la primera trama de audio (pero a menudo la totalidad) y una parte de la segunda trama de audio (pero a menudo la totalidad) y de este modo generar 2L energías, una para cada uno de los L primeros vectores US[k] 33 de la primera trama de audio y uno para cada uno de los segundos vectores US[k-1 ] 33 de la segunda trama de audio.
[0063] En otros ejemplos, la unidad de cálculo de parámetros 32 puede realizar una correlación cruzada entre una parte (si no la totalidad) del conjunto de muestras para cada uno de los primeros vectores US[k] 33 y cada uno de los segundos vectores US[k-1] 33. La correlación cruzada puede referirse a la correlación cruzada tal como se entiende en las técnicas de procesamiento de señales. En otras palabras, la correlación cruzada puede referirse a una medida de similitud entre dos formas de onda (que en este caso se define como un conjunto discreto de M muestras) como una función de un retardo de tiempo aplicada a una de ellas. En algunos ejemplos, para realizar una correlación cruzada, la unidad de cálculo de parámetros 32 compara las últimas L muestras de cada uno de los primeros vectores US[k] 27, por orden, con las L primeras muestras de cada uno de los restantes de los segundos vectores US [k-1] 33 para determinar un parámetro de correlación. Tal como se utiliza en el presente documento, una operación "por orden" se refiere a una operación elemento por elemento realizada con respecto a un primer conjunto de elementos y un segundo conjunto de elementos, en el que la operación extrae un elemento de cada uno de los conjuntos primero y segundo de elementos "uno tras otro" de acuerdo con una ordenación de los conjuntos.
[0064] La unidad de cálculo de parámetros 32 también puede analizar los vectores V[k] y/o V[k-1] 35 para determinar los parámetros de propiedad direccionales. Estos parámetros de propiedad direccionales pueden proporcionar una indicación de movimiento y localización del objeto de audio representado por los vectores correspondientes US[k] y/o US[k-1] 33. La unidad de cálculo de parámetros 32 puede proporcionar cualquier combinación de los parámetros actuales anteriores 37 (determinada con respecto a los vectores US[k] 33 y/o los vectores V[k] 35) y cualquier combinación de los parámetros anteriores 39 (determinada con respecto a los vectores US[k-1] 33 y/o los vectores V[k-1] 35) a la unidad de reordenación 34.
[0065] La descomposición SVD no garantiza que la señal/objeto de audio representada por el p-ésimo vector en los vectores US[k-1] 33, que se pueda indicar como vector US[k-1][p] (o, alternativamente, como Xps(p)(K-1)), será la misma señal/objeto de audio (progresado en el tiempo) representado por el vector p-ésimo en los vectores US[k] 33, que también se puede indicar como vectores US[k][p] 33 (o, alternativamente, como Xps(p)(k)). Los parámetros calculados por la unidad de cálculo de parámetros 32 pueden ser utilizados por la unidad de reordenación 34 para reordenar los objetos de audio para representar su evaluación natural o continuidad en el tiempo.
[0066] Es decir, la unidad de reordenación 34 puede entonces comparar cada uno de los parámetros 37 de los primeros vectores US[k] 33 por orden frente a cada uno de los parámetros 39 de los segundos vectores US[k-1] 33. La unidad de reordenación 34 puede reordenar (utilizando como ejemplo un algoritmo húngaro) los diversos vectores dentro de la matriz US[k] 33 y la matriz V[k] 35 en base a los parámetros actuales 37 y los parámetros anteriores 39 para emitir una matriz US[k] reordenada 33' (que se puede designar matemáticamente como Ü5[k]) y una matriz V[k] reordenada 35' (que se puede designar matemáticamente como V [k]) a una unidad de selección de sonido de primer plano 36 (o sonido predominante - PS) ("unidad de selección del primer plano 36") y una unidad de compensación de energía 38.
5
10
15
20
25
30
35
40
45
50
55
[0067] En otras palabras, la unidad de reordenación 34 puede representar una unidad configurada para reordenar los vectores dentro de la matriz US[k] 33 para generar la matriz US[k] reordenada 33'. La unidad de reordenación 34 puede reordenar la matriz US[k] 33 porque el orden de los vectores US[k] 33 (donde, de nuevo, cada vector de los vectores US[k] 33, que de nuevo se puede indicar como XPs(p)(K), puede representar uno o más objetos monoaudio distintos (o, en otras palabras, predominantes) presentes en el campo sonoro) puede variar a partir de partes de los datos de audio. Es decir, dado que el dispositivo de codificación de audio 12, en algunos ejemplos, opera en estas partes de los datos de audio denominadas generalmente tramas de audio, la posición de los vectores correspondientes a estos distintos objetos monoaudio como se representa en la matriz uS[k] 33 tal como se obtiene, puede variar desde la trama de audio a la trama de audio debido a la aplicación de la SVD a las tramas y la notabilidad variable de cada forma de objeto de audio trama a trama.
[0068] Pasar los vectores dentro de la matriz US[k] 33 directamente a la unidad codificadora de audio psicoacústico 40 sin reordenar los vectores dentro de la matriz US[k] 33 desde la trama de audio a la trama de audio puede reducir el alcance de la compresión alcanzable para algunos esquemas de compresión, tales como los esquemas de compresión heredados que funcionan mejor cuando los objetos monoaudio son continuos (en el sentido del canal, que se define en este ejemplo por el orden de posición de los vectores dentro de la matriz US[k] 33 relativos unos a otros) a través de tramas de audio. Además, cuando no se vuelve a ordenar, la codificación de los vectores dentro de la matriz US[k] 33 puede reducir la calidad de los datos de audio cuando se descodifican. Por ejemplo, los codificadores AAC que pueden representarse en el ejemplo de la FIG. 3 con la unidad codificadora de audio psicoacústico 40 pueden comprimir más eficazmente uno o más de los vectores reordenados dentro de la matriz US[k] 33' trama a trama en comparación con la compresión lograda al codificar directamente los vectores dentro de la matriz US[k] 33 trama a trama. Aunque se ha descrito anteriormente con respecto a los codificadores AAC, las técnicas pueden realizarse con respecto a cualquier codificador que proporcione mejor compresión cuando se especifican objetos monoaudio a través de tramas en un orden o posición específicos (sentido del canal).
[0069] Varios aspectos de las técnicas pueden, de este modo, permitir al dispositivo de codificación de audio 12 reordenar uno o más vectores (por ejemplo, los vectores dentro de la matriz US[k] 33 para generar uno o más vectores reordenados dentro de la matriz US[k] reordenada 33' y, de este modo, facilitar la compresión de los vectores dentro de la matriz US[k] 33 mediante un codificador de audio heredado tal como la unidad codificadora de audio psicoacústico 40).
[0070] Por ejemplo, la unidad de reordenación 34 puede reordenar uno o más vectores dentro de la matriz US[k] 33 desde una primera trama de audio subsiguiente en el tiempo a la segunda trama a la que uno o más vectores segundos dentro de la matriz US[k-1] 33 corresponden en base a los parámetros actuales 37 y los parámetros anteriores 39. Aunque se describe en el contexto de una primera trama de audio que es posterior en el tiempo a la segunda trama de audio, la primera trama de audio puede preceder en el tiempo a la segunda trama de audio. Por consiguiente, las técnicas no deben limitarse al ejemplo descrito en esta divulgación.
[0071] Para ilustrar considere la siguiente Tabla 1 donde cada uno de los p vectores dentro de la matriz US[k] 33 se denomina US[k][p], donde k indica si el vector correspondiente es de la k-ésima trama o la trama anterior (k-1)- ésima y p indica la fila del vector relativa a los vectores de la misma trama de audio (donde la matriz US[k] tiene (N+1)2 de dichos vectores). Como se ha indicado anteriormente, suponiendo que se determina que N es uno, p puede indicar los vectores uno (1) a (4).
Tabla 1
Energía Bajo Consideración
Comparado Con
US[k-1][1]
US[k][1], US[k][2], US[k][3], US[k][4]
US[k-1][2]
US[k][1], US[k][2], US[k][3], US[k][4]
US[k-1][3]
US[k][1], US[k][2], US[k][3], US[k][4]
US[k-1][4]
US[k][1], US[k][2], US[k][3], US[k][4]
[0072] En la Tabla 1 anterior, la unidad de reordenación 34 compara la energía calculada para US[k-1][1] con la energía calculada para cada uno de US[k][1], US[k][2], US[k][3], US[k][4], la energía calculada para US[k-1][2] a la energía calculada para cada uno de US[k][1], US[k][2], US[k][3], US[k][4], etc. La unidad de reordenación 34 puede entonces descartar uno o más de los segundos vectores US[k-1] 33 de la segunda trama de audio anterior (en el tiempo). Para ilustrar, considere la siguiente Tabla 2 que muestra los segundos vectores US[k-1] restantes 33:
5
10
15
20
25
30
35
40
45
Tabla 2
Vector Bajo Consideración
Restante Bajo Consideración
US[K-1][1]
US[K][1], US[K][2]
US[K-1][2]
US[K][1], US[K][2]
US[K-1][3]
US[K][3], US[K][4]
US[K-1][4]
US[K][3], US[K][4]
[0073] En la Tabla 2 anterior, la unidad de reordenación 34 puede determinar, en base a la comparación de energía, que la energía calculada para US[K-1][1] es similar a la energía calculada para cada uno de US[A][1 ] y US[K][2], la energía calculada para US[K-1][2] es similar a la energía calculada para cada uno de US[K][1] y US[K][2], la energía calculada para US[K-1][3] es similar a la energía calculada para cada uno de US[K][3] y US[K][4], y la energía calculada para US[K-1][4] es similar a la energía calculada para cada uno de US[K][3] y US[K][4]. En algunos ejemplos, la unidad de reordenación 34 puede realizar un análisis de energía adicional para identificar una similitud entre cada uno de los primeros vectores de la matriz US[K] 33 y cada uno de los segundos vectores de la matriz US[K-1] 33.
[0074] En otros ejemplos, la unidad de reordenación 32 puede reordenar los vectores basándose en los parámetros actuales 37 y los parámetros anteriores 39 relativos a la correlación cruzada. En estos ejemplos, haciendo referencia de nuevo a la Tabla 2 anterior, la unidad de reordenación 34 puede determinar la siguiente correlación ejemplar expresada en la Tabla 3 basándose en estos parámetros de correlación cruzada:
Tabla 3
Vector Bajo Consideración
Correlaciona Con
US[K-1][1]
US[K][2]
US[K-1][2]
US[K][1]
US[K-1][3]
US[K][3]
US[K-1][4]
US[K][4]
[0075] A partir de la Tabla 3 anterior, la unidad de reordenación 34 determina, por ejemplo, que el vector US[K-1][1] correlaciona con el vector US[K][2] posicionado de forma diferente, el vector US[K-1][2] correlaciona con el vector US[K][1] posicionado de forma diferente, el vector US[K-1][3] correlaciona con el vector US[K][3] posicionado de forma similar y el US[K-1][4] correlaciona con el vector US[K][4] posicionado de forma similar. En otras palabras, la unidad de reordenación 34 determina lo que puede denominarse información de reordenación que describe cómo reordenar los primeros vectores de la matriz US[K] 33 de manera que el vector US[K][2] se reposiciona en la primera fila de los primeros vectores de la matriz US[K] 33 y el vector US[K][1] se reposicionan en la segunda fila de los primeros vectores US[K] 33. La unidad de reordenación 34 puede entonces reordenar los primeros vectores de la matriz US[K] 33 basándose en esta información de reordenación para generar la matriz US[K] reordenada 33'.
[0076] Además, la unidad de reordenación 34 puede, aunque no se muestra en el ejemplo de la FIG. 4, proporcionar esta información de reordenación al dispositivo de generación de flujo de bits 42, que puede generar el flujo de bits 21 para incluir esta información de reordenación de modo que el dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24 mostrado en el ejemplo de las FIG. 3 y 5, puede determinar cómo reordenar los vectores reordenados de la matriz US[K] 33' para recuperar los vectores de la matriz US[K] 33.
[0077] Aunque se ha descrito más arriba que realizan un proceso de dos pasos que implica un análisis basado primero en parámetros específicos de energía y luego en parámetros de correlación cruzada, la unidad de reordenación 32 puede sólo realizar este análisis con respecto solamente a parámetros de energía para determinar la información de reordenación, realizar este análisis sólo con respecto a parámetros de correlación cruzada para determinar la información de reordenación, o realizar el análisis con respecto tanto a los parámetros de energía como a los parámetros de correlación cruzada de la manera descrita anteriormente. Además, las técnicas pueden emplear otros tipos de procesos para determinar correlación que no implique realizar una o ambas de una comparación de energía y/o una correlación cruzada. Por consiguiente, las técnicas no deben estar limitadas a este respecto a los ejemplos expuestos anteriormente. Además, pueden usarse también (simultáneamente, conjuntamente o secuencialmente) otros parámetros obtenidos a partir de la unidad de cálculo de parámetros 32 (como los parámetros de posición espacial obtenidos de los vectores V o la correlación de los vectores en la V[K] y V[K-1]) con la energía y los parámetros de correlación cruzada obtenidos de US[K] y US[K-1] para determinar el orden
5
10
15
20
25
30
35
40
45
50
55
correcto de los vectores en US.
[0078] Como un ejemplo de utilización de correlación de los vectores de la matriz V, la unidad de cálculo de parámetros 34 puede determinar que los vectores de la matriz V[K] 35 están correlacionados tal como se especifica en la siguiente Tabla 4:
Tabla 4
Vector Bajo Consideración
Correlaciona Con
V[K-1][1]
V[K][2]
V[K-1][2]
V[K][1]
V[K-1][3]
V[K][3]
V[K-1][4]
V[K][4]
A partir de la Tabla 4 anterior, la unidad de reordenación 34 determina, por ejemplo, que el vector V[K-1][1] correlaciona con el vector V[K][2] posicionado de forma diferente, el vector V[K-1][2] correlaciona con el vector V[A][1 ] posicionado de forma diferente, el vector V[K-1][3] correlaciona con el vector V[K][3] posicionado de forma similar y el vector V[K-1][4] correlaciona con el vector V[K][4] posicionado de forma similar. La unidad de reordenación 34 puede emitir la versión reordenada de los vectores de la matriz V[K] 35 como una matriz V[K] reordenada 35'.
[0079] En algunos ejemplos, la misma reordenación que se aplica a los vectores de la matriz US se aplica también a los vectores de la matriz V. En otras palabras, cualquier análisis usado para reordenar los vectores V puede usarse junto con cualquier análisis usado para reordenar los vectores US. Para ilustrar un ejemplo en el que la información de reordenación no se determina únicamente con respecto a los parámetros de energía y/o los parámetros de correlación cruzada con respecto a los vectores US[K] 35, la unidad de reordenación 34 también puede realizar este análisis con respecto a los vectores V[K] 35 en base a los parámetros de correlación cruzada y los parámetros energéticos de una manera similar a la descrita anteriormente con respecto a los vectores V[K] 35. Además, aunque los vectores US[K] 33 no tienen propiedades direccionales, los vectores V[K] 35 pueden proporcionar información relativa a la direccionalidad de los correspondientes vectores US[K] 33. En este sentido, la unidad de reordenación
34 puede identificar correlaciones entre los vectores V[K] 35 y los vectores V[K-1] 35 en base a en un análisis de los correspondientes parámetros de propiedades direccionales. Es decir, en algunos ejemplos, el objeto de audio se mueve dentro de un campo sonoro de una manera continua cuando se mueve o permanece en una posición relativamente estable. Como tal, la unidad de reordenación 34 puede identificar aquellos vectores de la matriz V[K]
35 y la matriz V[K-1] 35 que exhiben algún movimiento realista físicamente conocido o que permanecen estacionarios dentro del campo sonoro como correlacionados, reordenando los vectores US[K] 33 y los vectores V[K] 35 basados en esta correlación de propiedades direccionales. En cualquier caso, la unidad de reordenación 34 puede emitir los vectores US[K] reordenados 33' y los vectores V[K] reordenados 35' a la unidad de selección del primer plano 36.
[0080] Además, las técnicas pueden emplear otros tipos de procesos para determinar el orden correcto que no implican realizar una comparación de energía y/o una correlación cruzada, o ambas. Por consiguiente, las técnicas no deben estar limitadas a este respecto a los ejemplos expuestos anteriormente.
[0081] Aunque se describen anteriormente como reordenando los vectores de la matriz V para reflejar la reordenación de los vectores de la matriz US, en ciertos casos, los V vectores pueden reordenarse de manera diferente que los vectores US, donde se pueden generar elementos sintácticos separados para indicar la reordenación de los vectores US y la reordenación de los vectores V. En algunos casos, los vectores V pueden no ser reordenados y solo los vectores US pueden ser reordenados dado que los vectores V pueden no estar codificados psicoacústicamente.
[0082] Un modo de realización en el que la reordenación de los vectores de la matriz V y los vectores de la matriz US son diferentes, es cuando la intención es intercambiar objetos de audio en el espacio, es decir, alejarlos de la posición original registrada (cuando el campo sonoro subyacente era una grabación natural) o la posición artísticamente deseada (cuando el campo sonoro subyacente es una mezcla artificial de objetos). Por ejemplo, supongamos que hay dos fuentes de audio A y B, A puede ser el sonido de un gato "miau" que emana de la parte "izquierda" del campo sonoro y B puede ser el sonido de un perro "guau" que emana de la parte "derecha" del campo sonoro. Cuando la reordenación de V y US es diferente, la posición de las dos fuentes de sonido es intercambiada. Después del intercambio, A (el "miau") emana de la parte derecha del campo sonoro, y B ("el guau") emana de la parte izquierda del campo sonoro.
[0083] La unidad de análisis del campo sonoro 44 puede representar una unidad configurada para realizar un análisis de campo sonoro con respecto a los coeficientes HOA 11 para alcanzar potencialmente una velocidad de bits objetivo 41. La unidad de análisis del campo sonoro 44 puede, en base a este análisis y/o en una velocidad de bits objetivo recibida 41, determinar el número total de instanciaciones del codificador psicoacústico (que puede ser
5
10
15
20
25
30
35
40
45
50
55
60
65
una función del número total de canales ambientales o de fondo (BGtot) y el número de canales de primer plano o, en otras palabras, canales predominantes. El número total de instanciaciones del codificador psicoacústico se puede indicar como numHOATransportChannels. La unidad de análisis del campo sonoro 44 también puede determinar, de nuevo para alcanzar potencialmente la velocidad de bits objetivo 41, el número total de canales de primer plano (nFG) 45, el orden mínimo del campo sonoro de fondo (o, en otras palabras, ambiente) (Nbg o, alternativamente, MinAmbHoaOrder), el número correspondiente de canales reales representativos del orden mínimo del campo sonoro de fondo (nBGa = (MinAmbHoaOrder+1)2), y los índices (i) de los canales adicionales de BG HOA a enviar (que pueden ser colectivamente indicados como información de canal de fondo 43 en el ejemplo de la FIG. 4). La información de canal de fondo 42 también puede denominarse información de canal ambiental 43. Cada uno de los canales que permanece de numHOATransportChannels - nBGa, puede ser un "canal de fondo/ambiental adicional", un "canal predominante basado en un vector activo", una "señal predominante basada en la dirección activa" o "completamente inactivo". En un modo de realización, estos tipos de canales se pueden indicar (como un "ChannelType") un elemento de sintaxis con dos bits (por ejemplo, 00: canal de fondo adicional, 01: señal predominante basada en vector, 10: señal inactiva, 11: señal basada la dirección). El número total de señales de fondo o de ambiente, nBGa, puede ser dado por (MinAmbHoaOrder +1 )2 + el número de veces que el índice 00 (en el ejemplo anterior) aparece como un tipo de canal en el flujo de bits para esa trama.
[0084] En cualquier caso, la unidad de análisis del campo sonoro 44 puede seleccionar el número de canales de fondo (o, en otras palabras, ambientales) y el número de canales de primer plano (o, en otras palabras, predominantes) en base a la velocidad de bits objetivo 41, seleccionado más canales de fondo y/o de primer plano cuando la velocidad de bits objetivo 41 es relativamente mayor (por ejemplo, cuando la velocidad de bits objetivo 41 es igual o mayor que 512 Kbps). En un modo de realización, el numHOATransportChannels se puede establecer en 8 mientras que el MinAmbHoaOrder puede ser puesto a 1 en la sección de encabezamiento del flujo de bits (que se describe con más detalle con respecto a las FIG. 10-10O(ii)). En este escenario, en cada trama se pueden dedicar cuatro canales para representar la parte de fondo o ambiente del campo sonoro, mientras que los otros 4 canales pueden, en una base trama a trama, variar según el tipo de canal, por ejemplo, un canal de fondo/ambiente adicional o un canal de primer plano/predominante. Las señales en primer plano/predominantes pueden ser una entre señales basadas en vectores o en la dirección, como se ha descrito anteriormente.
[0085] En algunos casos, el número total de señales predominantes basadas en vectores para una trama, puede darse con el número de veces que el índice ChannelType es 01, en el flujo de bits de dicha trama, en el ejemplo anterior. En la realización anterior, para cada canal de fondo/ambiente adicional (por ejemplo, correspondiente a un ChannelType de 00), se puede representar en ese canal una información correspondiente de los posibles coeficientes HOA (más allá de los cuatro primeros). Esta información, para el contenido HOA de cuarto orden, puede ser un índice para indicar entre 5-25 (los primeros cuatro 1-4 se pueden enviar todo el tiempo cuando minAmbHoaOrder se establece en 1, por lo tanto, solo es necesario indicar uno entre 5-25). Esta información podría ser enviada utilizando un elemento de sintaxis de 5 bits (para el contenido de 4° orden), que puede denominarse "CodedAmbCoeffIdx".
[0086] En una segunda forma de realización, todas las señales de primer plano/predominantes son señales basadas en vectores. En esta segunda forma de realización, el número total de señales en primer plano/ predominantes puede darse con nFG = numHOATransportChannels - [(MinAmbHoaOrder +1)2 + el número de veces del índice 00].
[0087] La unidad de análisis del campo sonoro 44 envía la información de canal de fondo 43 y los coeficientes HOA 11 a la unidad de selección de fondo 46, la información de canal de fondo 43 a la unidad de reducción de coeficientes 46 y la unidad de generación del flujo de bits 42 y el nFG 45 a una unidad de selección de primer plano 36.
[0088] En algunos ejemplos, la unidad de análisis del campo sonoro 44 puede seleccionar, basándose en un análisis de los vectores de la matriz US[ft] 33 y de la velocidad de bits objetivo 41, un número variable de nFG de estos componentes que tiene el valor máximo. En otras palabras, la unidad de análisis del campo sonoro 44 puede determinar un valor para una variable A (que puede ser similar o sustancialmente similar a Nbg), que separa dos subespacios, analizando la pendiente de la curva creada por los valores diagonales descendentes de los vectores de la matriz S[k] 33, donde los grandes valores singulares representan sonidos de primer plano o distintos y los valores singulares bajos singular representan los componentes de fondo del campo sonoro. Es decir, la variable A puede segmentar el campo sonoro global en un subespacio de primer plano y un subespacio de fondo.
[0089] En algunos ejemplos, la unidad de análisis del campo sonoro 44 puede usar una primera y una segunda derivada de la curva de valor singular. La unidad de análisis del campo sonoro 44 puede también limitar el valor para la variable A a estar entre uno y cinco. Como otro ejemplo, la unidad de análisis del campo sonoro 44 puede limitar el valor de la variable A a estar entre uno y (N+1)2. Alternativamente, la unidad de análisis del campo sonoro 44 puede predefinir el valor para la variable A, por ejemplo a un valor de cuatro. En cualquier caso, basándose en el valor de A, la unidad de análisis del campo sonoro 44 determina el número total de canales de primer plano (nFG) 45, el orden del campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de los canales BG HOA adicionales a enviar.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0090] Además, la unidad de análisis del campo sonoro 44 puede determinar la energía de los vectores de la matriz V[A] 35 sobre una base por vector. La unidad de análisis del campo sonoro 44 puede determinar la energía para cada uno de los vectores de la matriz V[ft] 35 e identificar aquellos que tienen una alta energía como componentes de primer plano.
[0091] Además, la unidad de análisis del campo sonoro 44 puede realizar otros análisis diversos con respecto a los coeficientes HOA 11, que incluyen un análisis de energía espacial, un análisis de enmascaramiento espacial, un análisis de difusión u otras formas de análisis auditivo. La unidad de análisis del campo sonoro 44 puede realizar el análisis de energía espacial a través de la transformación de los coeficientes HOA 11 en el dominio espacial e identificar áreas de alta energía representativas de componentes direccionales del campo sonoro que deben conservarse. La unidad de análisis del campo sonoro 44 puede realizar el análisis de enmascaramiento espacial perceptivo de una manera similar a la del análisis de energía espacial, excepto que la unidad de análisis del campo sonoro 44 puede identificar áreas espaciales que están enmascaradas por sonidos de energía superior espacialmente próximos. La unidad de análisis del campo sonoro 44 puede entonces, en base a áreas perceptualmente enmascaradas, identificar en menor número de componentes de primer plano en algunos casos. La unidad de análisis del campo sonoro 44 puede realizar además un análisis de difusión con respecto a los coeficientes HOA 11 para identificar áreas de energía difusa que pueden representar componentes de fondo del campo sonoro.
[0092] La unidad de análisis del campo sonoro 44 también puede representar una unidad configurada para determinar la notabilidad, la distinción o el predominio de los datos de audio que representan un campo sonoro, utilizando información basada en la direccionalidad asociada con los datos de audio. Mientras que las determinaciones basadas en energía pueden mejorar la reproducción de un campo sonoro descompuesto por SVD para identificar componentes de audio distintos del campo sonoro, las determinaciones basadas en energía también pueden hacer que un dispositivo identifique erróneamente componentes de audio de fondo como componentes de audio distintos, en aquellos casos en los que los componentes de audio de fondo exhiben un alto nivel de energía. Es decir, una separación de componentes de audio distintos y de fondo, exclusivamente basada en energía, puede no ser robusta, ya que los componentes de audio de fondo energéticos (por ejemplo, más altos) pueden identificarse incorrectamente como componentes de audio distintos. Para distinguir más fuertemente entre componentes de audio distintos y de fondo del campo sonoro, diversos aspectos de las técnicas descritas en esta divulgación pueden permitir que la unidad de análisis del campo sonoro 44 realice un análisis basado en direccionalidad de los coeficientes HOA 11 para separar los componentes de audio de primer plano y ambientales de las versiones descompactadas de los coeficientes HOA 11.
[0093] A este respecto, la unidad de análisis de campos sonoros 44 puede representar una unidad configurada o, de algún modo, operable para identificar elementos distintos (o de primer plano) a partir de elementos de fondo incluidos en uno o más de los vectores de la matriz US[ft] 33 y los vectores de la matriz V[ft] 35. De acuerdo con algunas técnicas basadas en SVD, los componentes más energéticos (por ejemplo, los primeros vectores de una o más de la matriz US[ft] 33 y la matriz V[ft] 35 o vectores derivados de la misma) pueden tratarse como componentes distintos. Sin embargo, los componentes más enérgicos (que están representados por vectores) de uno o más de los vectores de la matriz US[ft] 33 y los vectores de la matriz V[ft] 35 pueden no representar en todos los escenarios, los componentes/señales que son los más direccionales.
[0094] La unidad de análisis del campo sonoro 44 puede implementar uno o más aspectos de las técnicas descritas aquí para identificar elementos de primer plano/directo/predominantes basados en la direccionalidad de los vectores de uno o más de los vectores de la matriz US[ft] 33 y los vectores de la matriz V[ft] 35 o los vectores derivados de la misma. En algunos ejemplos, la unidad de análisis del campo sonoro 44 puede identificar o seleccionar como componentes de audio distintos (donde los componentes también pueden denominarse "objetos"), uno o más vectores basados tanto en energía como en la direccionalidad de los vectores. Por ejemplo, la unidad de análisis del campo sonoro 44 puede identificar aquellos vectores de uno o más de los vectores de la matriz US[ft] 33 y los vectores de la matriz V[ft] 35 (o vectores derivados de la misma) que muestran tanto una alta energía como una alta direccionalidad (por ejemplo, representada como un cociente de direccionalidad) como componentes de audio distintos. Como resultado, si la unidad de análisis del campo sonoro 44 determina que un vector particular es relativamente menos direccional cuando se compara con otros vectores de uno o más de los vectores de la matriz US[ft] 33 y los vectores de la matriz V[A] 35 (o vectores derivados de la misma), entonces independientemente del nivel de energía asociado con el vector particular, la unidad de análisis del campo sonoro 44 puede determinar que el vector particular representa componentes de audio de fondo (o ambiente) del campo sonoro representados por los coeficientes HOA 11.
[0095] En algunos ejemplos, la unidad de análisis del campo sonoro 44 puede identificar objetos de audio distintos (que, como se ha indicado anteriormente, también pueden denominarse "componentes") basándose en la direccionalidad, realizando las siguientes operaciones. La unidad de análisis del campo sonoro 44 puede multiplicar (por ejemplo, usando uno o más procesos de multiplicación de matrices) los vectores de la matriz S[k] (que pueden derivarse a partir de los vectores US[K] 33 o, aunque no se muestra en el ejemplo de la FIG. 4, emitidos por separado mediante la unidad LIT 30) con los vectores de la matriz V[K] 35. Mediante la multiplicación de la matriz V[K] 35 y de los vectores S[K], la unidad de análisis del campo sonoro 44 puede obtener la matriz VS[K]. Además, la
5
10
15
20
25
30
35
40
45
50
55
60
unidad de análisis del campo sonoro 44 puede ser cuadrada (es decir, elevar exponencialmente por una potencia de dos) al menos algunas de las entradas de cada uno de los vectores de la matriz VS[K]. En algunos casos, la unidad de análisis del campo sonoro 44 puede sumar aquellas entradas al cuadrado de cada vector que están asociadas con un orden mayor que 1.
[0096] Por ejemplo, si cada vector de la matriz VS[K], que incluye 25 entradas, la unidad de análisis del campo sonoro 44 puede, con respecto a cada vector, elevar al cuadrado las entradas de cada vector comenzando por la entrada quinta y terminando por la entrada vigésimo quinta, sumando las entradas al cuadrado para determinar un cociente de direccionalidad (o un indicador de direccionalidad). Cada operación de suma puede dar como resultado un cociente de direccionalidad para un vector correspondiente. En este ejemplo, la unidad de análisis del campo sonoro 44 puede determinar que aquellas entradas de cada fila que están asociadas con un orden menor o igual a 1, concretamente, de la primera a la cuarta entradas, se dirigen más generalmente a la cantidad de energía y menos a la direccionalidad de esas entradas. Es decir, los ambisónicos de orden inferior asociados a un orden de cero o uno corresponden a funciones de base esférica que, como se ilustra en la FIG. 1 y la FIG. 2, no proporcionan mucho en términos de la dirección de la onda de presión, sino que proporcionan algo de volumen (que es representativo de la energía).
[0097] Las operaciones descritas en el ejemplo anterior también se pueden expresar de acuerdo con el siguiente pseudocódigo. El pseudocódigo siguiente incluye anotaciones, en forma de declaraciones de comentarios que se incluyen en las instancias consecutivas de las cadenas de caracteres "/*" y "*/" (sin comillas).
[U, S, V] = svd(audioframe,'ecom');
VS = V*S;
/* La línea siguiente se dirige a analizar cada fila independientemente y a sumar los valores de la primera fila (por ejemplo) de la quinta entrada a la entrada vigésimo quinta para determinar un cociente de direccionalidad o métrica de direccionalidad para un vector correspondiente. Elevar al cuadrado las entradas antes de sumar. Las entradas en cada fila que están asociadas con un orden mayor que 1 están asociadas con ambisónicos de orden superior y, por lo tanto, tienen más probabilidades de ser direccionales. */
sumVS = sum(VS(5:end,:).A2,i);
/* La línea siguiente se dirige a ordenar la suma de los cuadrados de la matriz VS generada, y a seleccionar un conjunto de los valores más grandes (por ejemplo, tres o cuatro de los valores más grandes) */
[~,idxVS] = sort(sumVS,’descend’);
U = U(:,idxVS);
V = V(:,idxVS);
S = S(idxVS,idxVS);
[0098] En otras palabras, de acuerdo con el pseudocódigo anterior, la unidad de análisis del campo sonoro 44 puede seleccionar entradas de cada vector de la matriz VS[K] descompuesta de las de los coeficientes HOA 11 correspondientes a una función de base esférica que tiene un orden mayor que uno. La unidad de análisis del campo sonoro 44 puede entonces elevar al cuadrado estas entradas para cada vector de la matriz VS[K], sumando las entradas elevadas al cuadrado para identificar, calcular o, de algún modo, determinar una métrica o cociente de direccionalidad para cada vector de la matriz VS[K]. A continuación, la unidad de análisis del campo sonoro 44 puede ordenar los vectores de la matriz VS[K] en base a las respectivas métricas de direccionalidad de cada uno de los vectores. La unidad de análisis del campo sonoro 44 puede clasificar estos vectores en un orden descendente de métricas de direccionalidad, de tal manera que los vectores con la direccionalidad correspondiente más alta son los primeros y aquellos vectores con la direccionalidad correspondiente más baja son últimos. La unidad de análisis del campo sonoro 44 puede entonces seleccionar el subconjunto diferente de cero de los vectores que tienen la métrica de direccionalidad relativa más alta.
[0099] La unidad de análisis del campo sonoro 44 puede realizar cualquier combinación de los análisis anteriores para determinar el número total de instanciaciones del codificador psicoacústico (que puede ser una función del número total de canales ambientales o de fondo (BGtot) y el número de canales de primer plano. La unidad de análisis del campo sonoro 44 puede, en base a cualquier combinación de los análisis anteriores, determinar el número total de canales de primer plano (nFG) 45, el orden del campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de los canales bG HOA adicionales para enviar (que pueden indicarse colectivamente como información de canal de fondo 43 en el ejemplo de la FIG. 4).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0100] En algunos ejemplos, la unidad de análisis del campo sonoro 44 puede realizar este análisis cada M- muestras, las cuales pueden ser reexpresadas en una base de trama por trama. A este respecto, el valor de A puede variar de trama en trama. Un ejemplo de un flujo de bits donde se toma la decisión cada M-muestras se muestra en las FIG. 10-10O(ii). En otros ejemplos, la unidad de análisis del campo sonoro 44 puede realizar este análisis más de una vez por trama, analizando dos o más partes de la trama. Por consiguiente, las técnicas no deben estar limitadas a este respecto a los ejemplos descritos en esta divulgación.
[0101] La unidad de selección de fondo 48 puede representar una unidad configurada para determinar los coeficientes HOA de fondo o ambientales 47 en base a la información de canal de fondo (por ejemplo, el campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de los canales BG HOA adicionales para enviar). Por ejemplo, cuando NBG es igual a uno, la unidad de selección de fondo 48 puede seleccionar los coeficientes HOA 11 para cada muestra de la trama de audio que tiene un orden igual o inferior a uno. La unidad de selección de fondo 48 puede, en este ejemplo, seleccionar entonces los coeficientes HOA 11 que tienen un índice identificado por uno de los índices (i) como coeficientes BG HOA adicionales, en donde el nBGa se proporciona a la unidad de generación del flujo de bits 42 que se especificará en el flujo de bits 21 para permitir que el dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 3, para analizar los coeficientes BG HOA 47 del flujo de bits 21. La unidad de selección de fondo 48 puede emitir entonces los coeficientes HOA ambientales 47 a la unidad de compensación de energía 38. Los coeficientes HOA ambientales 47 pueden tener dimensiones D: M x [(Nbg+1 )2+nBGá].
[0102] La unidad de selección del primer plano 36 puede representar una unidad configurada para seleccionar aquellos vectores de la matriz US[*] reordenada 33' y la matriz V[*] reordenada 35' que representan componentes de primer plano o distintos del campo sonoro en base a nFG 45 (que pueden representar uno o más índices que identifican estos vectores de primer plano). La unidad de selección del primer plano 36 puede emitir señales nFG 49 (que se pueden designar como US[*]1, nFG 49, FG1,nfG[*] 49, o Xps(1"nFG)(k) 49) a la unidad codificadora de audio psicoacústico 40, en la que las señales nFG 49 pueden tener dimensiones D: M x nFG y cada una representa objetos monoaudio. La unidad de selección del primer plano 36 también puede emitir la matriz V[*] reordenada 35' (o v(1-nFG)(k) 35') correspondiente a los componentes de primer plano del campo sonoro a la unidad de interpolación espacio-temporal 50, donde aquellos componentes de la matriz V[*] reordenada 35 correspondiente a los componentes de primer plano se puede indicar como matriz V[*] de primer plano 51* (que se puede designar matemáticamente como V1, nFG[*]) con dimensiones D: (N+1)2 x nFG.
[0103] La unidad de compensación de energía 38 puede representar una unidad configurada para realizar compensación de energía con respecto a los coeficientes HOA ambientales 47 y compensar la pérdida de energía debido a la eliminación de varios de los canales HOA por la unidad de selección de fondo 48. La unidad de compensación de energía 38 puede realizar un análisis energético con respecto a una o más entre la matriz reordenada US[*] 33', la matriz V[*] reordenada 35', las señales nFG 49, los vectores V[*] 51* y los coeficientes HOA ambientales 47 y luego realizar una compensación de energía basada en este análisis de energía para generar los coeficientes HOA ambientales compensados de energía 47'. La unidad de compensación de energía 38 puede emitir los coeficientes HOA ambientales compensados de energía 47' a la unidad codificadora de audio psicoacústico 40.
[0104] Efectivamente, la unidad de compensación de energía 38 puede utilizarse para compensar posibles reducciones en la energía global de los componentes de sonido de fondo del campo sonoro causadas por la reducción del orden de los componentes ambientales del campo sonoro descritos por los coeficientes HOA 11 y generar los coeficientes HOA ambientales de orden reducido 47 (que, en algunos ejemplos, tienen un orden menor que N en términos de coeficientes solo incluidos que corresponden a funciones de base esférica que tienen los siguientes órdenes/subórdenes: [(Nbg+1)2+nBGa]). En algunos ejemplos, la unidad de compensación de energía 38 compensa esta pérdida de energía determinando una ganancia de compensación en forma de valores de amplificación que se aplican a cada una de las columnas [(Nbg+1)2 + nBGá] de los coeficientes HOA ambientales 47 con el fin de aumentar la energía cuadrática media (RMS) de los coeficientes HOA ambientales 47 para igualar o, al menos aproximar, aproximadamente el RMS de los coeficientes HOA 11 (determinado a través del análisis de energía agregado de uno o más de las matrices US[*] reordenadas 33', la matriz V[*] reordenada 35', las señales nFG 49, los vectores V[*] de primer plano 51* y los coeficientes HOA ambientales de orden reducido 47) antes de emitir los coeficientes HOA ambientales 47 a la unidad codificadora de audio psicoacústico 40.
[0105] En algunos casos, la unidad de compensación de energía 38 puede identificar el RMS para cada fila y/o columna de una o más entre la matriz US[*] reordenada 33' y la matriz V[*] reordenada 35'. La unidad de compensación de energía 38 también puede identificar el RMS para cada fila y/o columna de uno o más de los canales de primer plano seleccionados, los cuales pueden incluir las señales nFG 49 y los vectores V[*] de primer plano 51* y los coeficientes HOA ambientales de orden reducido 47. El RMS para cada fila y/o columna de una o más entre la matriz US[*] reordenada 33' y la matriz V[*] reordenada 35' puede almacenarse en un vector denotado RMScompleto, mientras que el RMS para cada fila y/o columna de una o más de las señales nFG 49, los vectores V[*] de primer plano 51* y los coeficientes HOA ambientales de orden reducido 47 pueden almacenarse en un vector denotado RMSreducido. La unidad de compensación de energía 38 puede entonces calcular un vector de valores de amplificación Z de acuerdo con la siguiente ecuación: Z = RMScompleto/RMSreducido. La unidad de compensación
5
10
15
20
25
30
35
40
45
50
55
60
65
de energía 38 puede entonces aplicar este vector de valores de amplificación Z, o varias partes del mismo, a uno o más entre las señales nFG 49, los vectores V[*] de primer plano 51* y los coeficientes HOA ambientales de orden reducido 47. En algunos casos, el vector de valor de amplificación Z se aplica solo a los coeficientes HOA ambientales de orden reducido 47 mediante la siguiente ecuación HOAbg-red'= HOAbg-redZ7", donde HOAbg-red indica los coeficientes HOA ambiental de orden reducido 47, HOAbg-rED' indica los coeficientes HOA ambientales reducidos y compensados en energía 47' y Z7 representa la transposición del vector Z.
[0106] En algunos ejemplos, para determinar cada RMS de las respectivas filas y/o columnas de una o más entre la matriz US[*] reordenada 33', la matriz V[*] reordenada 35', las señales nFG 49, los vectores V[*] de primer plano 51*, y los coeficientes HOA ambientales de orden reducido 47, la unidad de compensación de energía 38 puede aplicar primero un coeficiente de armónicos esféricos de referencia (SHC) a las columnas. La aplicación del reproductor SHC de referencia con la unidad de compensación de energía 38 permite la determinación de RMS en el dominio SHC para determinar la energía del campo sonoro global descrito por cada fila y/o columna de la trama representado por filas y/o columnas de uno o más entre la matriz US[*] reordenada 33', la matriz V[*] reordenada 35', las señales nFG 49, los vectores V[*] de primer plano 51* y los coeficientes HOA ambientales de orden reducido 47, como se describe en más detalle a continuación.
[0107] La unidad de interpolación espacio-temporal 50 puede representar una unidad configurada para recibir los vectores V[*] de primer plano 51* para la k’ésima y los vectores V[*-1] de primer plano 51 *-1 para la trama anterior (de ahí la anotación k-1) y realizar una interpolación espacio-temporal para generar los vectores V[*] de primer plano interpolados. La unidad de interpolación espacio-temporal 50 puede recombinar las señales nFG 49 con los vectores V[*] de primer plano 51* para recuperar los coeficientes HOA de primer plano reordenados. La unidad de interpolación espacio-temporal 50 puede entonces dividir los coeficientes HOA de primer plano reordenados por los vectores V[*] interpolados y generar unas señales nFG interpoladas 49'. La unidad de interpolación espacio-temporal 50 también puede emitir los de los vectores V[*] de primer plano 51* que se usaron para generar los vectores V[*] de primer plano interpolados de modo que un dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24 puede generar los vectores V[*] de primer plano interpolados y recuperar así los vectores V[*] de primer plano 51*. Los vectores V[*] de primer plano 51* utilizados para generar los vectores V[*] de primer plano interpolados se indican como los vectores V[*] de primer plano restantes 53. Con el fin de asegurar que los mismos V[*] y V[*-1] se usen en el codificador y el descodificador (para crear los vectores interpolados V[*]) se pueden usar versiones cuantizadas/descuantizadas de éstos en el codificador y el descodificador.
[0108] A este respecto, la unidad de interpolación espacio-temporal 50 puede representar una unidad que interpola una primera parte de una primera trama de audio a partir de algunas otras partes de la primera trama de audio y una segunda trama de audio temporalmente subsiguiente o anterior. En algunos ejemplos, las partes pueden indicarse como subtramas, donde la interpolación realizada con respecto a las subtramas se describe con más detalle a continuación con respecto a las FIG. 45-46E. En otros ejemplos, la unidad de interpolación espacio- temporal 50 puede funcionar con respecto a algún último número de muestras de la trama anterior y algún primer número de muestras de la siguiente trama, como se describe con más detalle con respecto a las FIG. 37-39. La unidad de interpolación espacio-temporal 50 puede, al realizar esta interpolación, reducir el número de muestras de los vectores V[*] de primer plano 51* que se requieren para ser especificados en el flujo de bits 21, ya que solo aquellos de los vectores V[*] de primer plano 51k que se utilizan para generar los vectores V[*] interpolados representan un subconjunto de los vectores V[*] de primer plano 51*. Es decir, con el fin de potencialmente hacer más eficiente la compresión de los coeficientes HOA 11 (reduciendo el número de los vectores V[*] de primer plano 51* que se especifican en el flujo de bits 21), diversos aspectos de las técnicas descritas en esta divulgación pueden proporcionar la interpolación de una o más partes de la primera trama de audio, donde cada una de las partes puede representar versiones descompuestas de los coeficientes HOA 11.
[0109] La interpolación espacio-temporal puede resultar en varias ventajas. En primer lugar, las señales nFG 49 pueden no ser continuas de una trama a otra debido a la naturaleza en bloque en la que se realiza la SVD u otro LIT. Dicho de otro modo, dado que la unidad LIT 30 aplica la SVD en base a cada fotograma, pueden existir ciertas discontinuidades en los coeficientes HOA transformados resultantes como evidencia, por ejemplo, la naturaleza no ordenada de la matriz US[*] 33 y la matriz V[*] 35. Mediante la realización de esta interpolación, la discontinuidad puede reducirse dado que la interpolación puede tener un efecto suavizante que potencialmente reduce los artefactos introducidos debido a los límites de la trama (o, en otras palabras, la segmentación de los coeficientes HOA 11 en tramas). Usando los vectores V[*] de primer plano 51* para realizar esta interpolación y después generar las señales nFG interpoladas 49' basadas en los vectores V[*] de primer plano 51* interpolados a partir de los coeficientes HOA reordenados recuperados pueden suavizar al menos algunos efectos debidos a la operación trama por trama, así como debido a la reordenación de las señales nFG 49.
[0110] En funcionamiento, la unidad de interpolación espacio-temporal 50 puede interpolar una o más subtramas de una primera trama de audio desde una primera descomposición, por ejemplo, vectores V[*] de primer plano 51*, de una parte de una primera pluralidad de los coeficientes HOA 11 incluidos en la primera trama y una segunda descomposición, por ejemplo, vectores V[*] de primer plano 51 *-j, de una parte de una segunda pluralidad de los coeficientes HOA 11 incluidos en una segunda trama para generar coeficientes armónicos esféricos interpolados descompuestos para una o más subtramas.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0111] En algunos ejemplos, la primera descomposición comprende los primeros vectores V[A] de primer plano 51* representativos de los vectores singulares derechos de la parte de los coeficientes HOA 11. De manera similar, en algunos ejemplos, la segunda descomposición comprende los segundos vectores V[k] de primer plano 51* representativos de los vectores singulares derechos de la parte de los coeficientes HOA 11.
[0112] En otras palabras, el audio 3D basado en armónicos esféricos puede ser una representación paramétrica del campo de presión 3D en términos de funciones de base ortogonales sobre una esfera. Cuanto mayor sea el orden N de la representación, la resolución espacial será potencialmente más alta y, a menudo, mayor será el número de coeficientes armónicos esféricos (SH) (para un total de (N+1)2 coeficientes). Para muchas aplicaciones, puede requerirse una compresión de ancho de banda de los coeficientes para poder transmitir y almacenar los coeficientes de manera eficaz. Estas técnicas dirigidas en esta divulgación pueden proporcionar un proceso de reducción de la dimensionalidad basado en tramas utilizando la descomposición en valores singulares (SVD). El análisis SVD puede descomponer cada trama de coeficientes en tres matrices U, S y V. En algunos ejemplos, las técnicas pueden manejar algunos de los vectores de la matriz US[k] como componentes de primer plano del campo sonoro subyacente. Sin embargo, cuando se manejan de esta manera, estos vectores (en la matriz US[k]) son discontinuos de trama en trama, aunque representan el mismo componente de audio distinto. Estas discontinuidades pueden conducir a artefactos significativos cuando los componentes son alimentados a través de codificadores de audio de transformadas.
[0113] Las técnicas descritas en esta divulgación pueden abordar esta discontinuidad. Es decir, las técnicas pueden basarse en la observación de que la matriz V puede interpretarse como ejes espaciales ortogonales en el dominio de las armónicas esféricas. La matriz U[k] puede representar una proyección de los datos de armónicos esféricos (HOA) en términos de las funciones de base, donde la discontinuidad puede atribuirse al eje espacial ortogonal (V[k]) que cambia cada trama y, por lo tanto, son discontinuas en sí mismas. Esto es diferente a la descomposición similar, como la Transformada de Fourier, donde las funciones de base son, en algunos ejemplos, constantes de una trama a otra. En estos términos, la SVD puede considerarse como un algoritmo de búsqueda por coincidencia. Las técnicas descritas en esta divulgación pueden permitir que la unidad de interpolación espacio- temporal 50 mantenga la continuidad entre las funciones de base (V[k]) de una trama a otra mediante interpolación entre ellas.
[0114] Como se ha indicado anteriormente, la interpolación puede realizarse con respecto a las muestras. Este caso se generaliza en la descripción anterior cuando las subtramas comprenden un solo conjunto de muestras. Tanto en el caso de la interpolación sobre muestras como sobre subtramas, la operación de interpolación puede adoptar la forma de la siguiente ecuación:
v(Z) = w(l)v(k) + (1 - w(l))v(k - 1).
[0115] En esta ecuación anterior, la interpolación puede realizarse con respecto al único vector V v(k) a partir del único vector V v(*-1), que en un modo de realización podría representar V vectores de las tramas adyacentes k y k-1. En la ecuación anterior, I, representa la resolución sobre la que se está llevando a cabo la interpolación, donde I puede indicar una muestra entera y I = 1, ..., T (donde T es la longitud de las muestras sobre las que se realiza la interpolación y sobre la cual los vectores interpolados de salida, v(l) son necesarios y también indica que la salida de este proceso produce I de estos vectores). Alternativamente, I podría indicar subtramas consistentes en múltiples muestras. Cuando, por ejemplo, una trama está dividida en cuatro subtramas, I puede comprender valores de 1, 2, 3 y 4 para cada una de las subtramas. El valor de I se puede señalar como un campo denominado "CodedSpatialInterpolationTime" a través de un flujo de bits, de modo que la operación de interpolación puede ser replicada en el descodificador. El w(I) puede comprender valores de los pesos de interpolación. Cuando la interpolación es lineal, w(I) puede variar linealmente y monotónicamente entre 0 y 1, en función de I. En otros casos, w(I) puede variar entre 0 y 1 de una manera no lineal pero monótona (tal como un cuarto de ciclo de un coseno elevado) en función de /. La función, w(I), puede ser indexada entre unas pocas posibilidades diferentes de funciones y señalada en el flujo de bits como un campo denominado "SpatialInterpolationMethod" de tal manera que la operación de interpolación idéntica pueda ser replicada por el descodificador. Cuando w(I) es un valor cercano a 0, la salida, v(T) puede estar altamente ponderado o influenciado por v(k-1). Mientras que w(/) es un valor cercano a 1, asegura que la salida, v(T), está altamente ponderada o influenciada por v(k-1).
[0116] La unidad de reducción de coeficientes 46 puede representar una unidad configurada para realizar una reducción de coeficiente con respecto a los vectores V[k] de primer plano restantes 53 basados en la información de canal de fondo 43 para emitir los vectores reducidos de primer plano V[k] 55 a la unidad de cuantización 52. Los vectores V[k] de primer plano reducidos pueden tener dimensiones D: [(N+1 )2-(Nbg+1 )2-nBGa] x nFG.
[0117] La unidad de reducción de coeficientes 46 puede, a este respecto, representar una unidad configurada para reducir el número de coeficientes de los vectores V[k] restantes de primer plano 53. En otras palabras, la unidad de reducción de coeficientes 46 puede representar una unidad configurada para eliminar aquellos coeficientes de los vectores V[k] de primer plano (que forman los vectores V[k] de primer plano restantes) que tienen poca o ninguna
5
10
15
20
25
30
35
40
45
50
55
60
65
información direccional. Como se ha descrito anteriormente, en algunos ejemplos, los coeficientes de los vectores V[A] distintos o, en otras palabras, de primer plano que corresponden a funciones de base de primer orden y de orden cero (que pueden indicarse como Nbg) proporcionan poca información direccional y por lo tanto pueden Ser retirados de los V vectores de primer plano (a través de un proceso que se puede denominar "reducción de coeficientes"). En este ejemplo, se puede proporcionar una mayor flexibilidad para identificar no solo estos coeficientes que corresponden a NBG sino para identificar canales HOA adicionales (que pueden indicarse con la variable TotalOfAddAmbHOAChan) a partir del conjunto de [(NBG +1)2+1, (N+1)2]. La unidad de análisis del campo sonoro 44 puede analizar los coeficientes HOA 11 para determinar BGtot, que puede identificar no solo el (Nbg +1)2, sino el TotalOfAddAmbHOAChan, que se puede denominar colectivamente como la información de canal de fondo 43. La unidad de reducción de coeficientes 46 puede entonces eliminar aquellos coeficientes correspondientes a (Nbg+1)2 y el TotalOfAddAmbHOAChan de los vectores V[A] restantes de primer plano 53 para generar una matriz V[ft] dimensional menor 55 de tamaño ((N+1)2-(BGtot) x nFG, que también se puede denominar los vectores V[A] de primer plano reducidos 55.
[0118] La unidad de cuantización 52 puede representar una unidad configurada para realizar cualquier forma de cuantización para comprimir los vectores V[ft] de primer plano reducidos 55 y generar vectores de primer plano V[ft] codificados 57, que emiten estos vectores de primer plano codificados V[ft] 57 a la unidad de generación del flujo de bits 42. En funcionamiento, la unidad de cuantización 52 puede representar una unidad configurada para comprimir un componente espacial del campo sonoro, es decir, uno o más de los vectores V[ft] de primer plano reducidos 55 de este ejemplo. A efectos de ejemplo, se supone que los vectores V[ft] de primer plano reducidos 55 incluyen dos vectores de fila que tienen, como resultado de la reducción del coeficiente, menos de 25 elementos cada uno (lo que implica una representación HOA de cuarto orden del campo sonoro). Aunque se describe con respecto a dos vectores de fila, se puede incluir cualquier número de vectores en los vectores V[ft] de primer plano reducidos 55 hasta (n+1)2, donde n indica el orden de la representación HOA del campo sonoro. Además, aunque se describe a continuación como realizando una cuantización escalar y/o entrópica, la unidad de cuantización 52 puede realizar cualquier forma de cuantización que resulte de la compresión de los vectores V[ft] de primer plano reducidos 55.
[0119] La unidad de cuantización 52 puede recibir los vectores V[ft] de primer plano reducidos 55 y realizar un esquema de compresión para generar los vectores V[ft] de primer plano codificados 57. Este esquema de compresión puede implicar cualquier esquema de compresión concebible para comprimir elementos de un vector o datos en general, y no debe limitarse al ejemplo descrito más adelante con más detalle. La unidad de cuantización 52 puede realizar, como ejemplo, un esquema de compresión que incluye uno o más entre una transformación de representaciones de coma flotante de cada elemento de los vectores reducidos V[ft] de primer plano 55 a representaciones enteras de cada elemento de los vectores reducidos V[ft] de primer plano 55, una cuantización uniforme de las representaciones enteras de los vectores reducidos V[ft] de primer plano 55 y la categorización y codificación de las representaciones enteras cuantizadas de los vectores restantes V[At] de primer plano.
[0120] En algunos ejemplos, varios entre uno o más procesos de este esquema de compresión pueden ser controlados dinámicamente por parámetros para conseguir, o casi conseguir, por ejemplo, una velocidad de bits objetivo para el flujo de bits resultante 21. Dado que cada uno de los vectores reducidos V[ft] de primer plano 55 son ortonormales entre sí, cada uno de los vectores reducidos V[ft] de primer plano 55 puede codificarse independientemente. En algunos ejemplos, tal como se describe con más detalle a continuación, cada elemento de cada vector reducido V[ft] de primer plano 55 puede codificarse utilizando el mismo modo de codificación (definido por varios submodos).
[0121] En cualquier caso, tal como se ha indicado anteriormente, este esquema de codificación puede implicar en primer lugar la transformación de las representaciones en coma flotante de cada elemento (que es, en algunos ejemplos, un número de coma flotante de 32 bits) de cada uno de los vectores de fondo reducidos V[A] 55 en una representación entera de 16 bits. La unidad de cuantización 52 puede realizar esta transformación de coma flotante a entero multiplicando cada elemento de uno dado de los vectores reducidos V[A] de primer plano 55 por 215, que es, en algunos ejemplos, realizado por un desplazamiento a la derecha de 15.
[0122] La unidad de cuantización 52 puede entonces realizar una cuantización uniforme con respecto a todos los elementos del uno dado de los reducidos vectores V[ft] de primer plano 55. La unidad de cuantización 52 puede identificar un tamaño de paso de cuantización basado en un valor, que se puede indicar como un parámetro de nbits. La unidad de cuantización 52 puede determinar dinámicamente este parámetro de nbits basado en la velocidad de bits objetivo 41. La unidad de cuantización 52 puede determinar el tamaño del paso de cuantización como una función de este parámetro de nbits. Por ejemplo, la unidad de cuantización 52 puede determinar el tamaño del paso de cuantización (denominado "delta" o "A" en esta divulgación) como igual a 216-nb'ts. En este ejemplo, si nbits es igual a seis, delta es igual a 210 y hay 26 niveles de cuantización. A este respecto, para un elemento vectorial v, el elemento vectorial cuantizado vq es igual a [v/A] y -2nblts-1 <Vq<2nblts-1.
[0123] La unidad de cuantización 52 puede realizar entonces la categorización y la codificación residual de los elementos vectoriales cuantizados. Por ejemplo, la unidad de cuantización 52 puede, para un elemento vectorial cuantizado dado Vq , identificar una categoría (mediante la determinación de un identificador de categoría cid ) a la que este elemento se corresponde usando la siguiente ecuación:
5
10
15
20
25
30
35
40
0, if vq = 0
[l0g2\Vq\\ + 1, Ífvq* 0
[0124] La unidad de cuantización 52 puede entonces codificar con Huffman este índice de categoría cid, al mismo tiempo que también identifica un bit de signo que indica si vq es un valor positivo o un valor negativo. La unidad de cuantización 52 puede identificar a continuación un residuo en esta categoría. Por ejemplo, la unidad de cuantización 52 puede determinar este residuo de acuerdo con la siguiente ecuación:
residual = \vq\ - 2cid-1
[0125] La unidad de cuantización 52 puede entonces bloquear el código de este residuo con cid-1 bits.
[0126] El siguiente ejemplo ilustra un ejemplo simplificado de este proceso de categorización y codificación residual. Primero, suponga que nbits es igual a seis, de modo que vq e [-31,31]. A continuación, asuma lo siguiente:
cid
vq Código Huffman para cid
0
0
"1"
1
-1, 1 "01"
2
-3, -2, 2, 3 "000"
3
-7, -6, -5, -4, 4, 5, 6, 7 "0010"
4
-15, -14, ...., -8, 8, ..., 14, 15 "00110"
5
-31, -30, ..., -16, 16, ..., 30, 31 "00111"
[0127] Además, asuma lo siguiente:
cid
Código de bloque para residuales
0
N/A
1
0, 1
2
01,00, 10, 11
3
011,010, 001,000, 100, 101, 110, 111
4
0111,0110..., 0000, 1000, ..., 1110, 1111
5
01111,..., 00000, 10000, ..., 11111
[0128] Por lo tanto, para un Vq = [6, -17, 0, 0, 3], se puede determinar lo siguiente: » cid = 3, 5, 0, 0, 2
» signo = 1, 0, x, x, 1 » residual = 2, 1, x, x, 1 » Bits para 6 = ’0010’ + ’1 ’ + ’10’
» Bits para -17 = ’00111’ + ’0’ + ’0001 ’
» Bits para 0 = ’0’
» Bits para 0 = ’0’
» Bits para 3 = ’000’ + ’1’ + ’1’
» Total de bits = 7 + 10 + 1 + 1 + 5 = 24 » Promedio de bits = 24/5 = 4,8
5
10
15
20
25
30
35
40
45
50
[0129] Aunque no se muestra en el ejemplo simplificado anterior, la unidad de cuantización 52 puede seleccionar diferentes libros de código Huffman para diferentes valores de nbits cuando codifica el cid. En algunos ejemplos, la unidad de cuantización 52 puede proporcionar una tabla de codificación Huffman diferente para los valores de nbits 6, ..., 15. Además, la unidad de cuantización 52 puede incluir cinco libros de código de Huffman diferentes para cada uno de los diferentes valores de nbits que van desde 6, ..., 15 para un total de 50 libros de código de Huffman. A este respecto, la unidad de cuantización 52 puede incluir una pluralidad de diferentes libros de código Huffman para acomodar la codificación del cid en varios contextos estadísticos diferentes.
[0130] Para ilustrar, la unidad de cuantización 52 puede incluir, para cada uno de los valores de nbits, un primer libro de códigos Huffman para codificar los elementos vectoriales de uno a cuatro, un segundo libro de códigos Huffman para codificar los elementos vectoriales de cinco a nueve, un tercer libro de códigos Huffman para codificar los elementos vectoriales de nueve y por encima. Estos primeros tres libros de código de Huffman pueden usarse cuando el vector entre los vectores reducidos V[ft] de primer plano 55 a comprimir no se predice a partir de un correspondiente correlativo temporal posterior de los vectores reducidos V[ft] reducidos de primer plano 55 y no es representativo de la Información espacial de un objeto de audio sintético (uno definido, por ejemplo, originalmente por un objeto de audio modulado por impulsos codificados (PCM)). La unidad de cuantización 52 puede incluir adicionalmente, para cada uno de los valores de nbits, un cuarto libro de códigos de Huffman para codificar uno de los vectores reducidos V[ft] de primer plano 55 cuando se predice este vector entre los vectores reducidos V[ft] de primer plano 55 se predice a partir de un vector subsiguiente temporal que se corresponde con uno de los vectores reducidos V[ft] de primer plano 55. La unidad de cuantización 52 puede incluir también, para cada uno de los valores de nbits, un quinto libro de códigos de Huffman para codificar uno de los vectores reducidos V[ft] de primer plano 55 cuando este vector entre los vectores reducidos V[ft] de primer plano 55 es representativo de un objeto de audio sintético. Los diversos libros de código de Huffman pueden desarrollarse para cada uno de estos diferentes contextos estadísticos, es decir, el contexto no predicho y no sintético, el contexto predicho y el contexto sintético en este ejemplo.
[0131] La tabla siguiente ilustra la selección de la tabla Huffman y los bits que se especificarán en el flujo de bits para permitir que la unidad de descompresión seleccione la tabla Huffman adecuada:
Modo Pred
Info HT Tabla HT
0
0
HT5
0
1 HT {1,2,3}
1
0 HT4
1
1
HT5
[0132] En la tabla anterior, el modo de predicción ("Modo Pred") indica si se realizó la predicción para el vector actual, mientras que la Tabla Huffman ("Info HT") indica la información adicional del libro de códigos Huffman (o tabla) usada para seleccionar una tabla de Huffman de uno a cinco.
[0133] La tabla siguiente ilustra este proceso de selección de tablas de Huffman dados diversos contextos o escenarios estadísticos.
Grabación Sintética
W/O Pred
HT{1,2,3} HT5
Con Pred
HT4 HT5
[0134] En la tabla anterior, la columna "Grabación" indica el contexto de codificación cuando el vector es representativo de un objeto de audio que fue grabado mientras que la columna "sintética" indica un contexto de codificación cuando el vector es representativo de un objeto de audio sintético. La fila "W/O Pred" indica el contexto de codificación cuando la predicción no se realiza con respecto a los elementos vectoriales, mientras que la fila "Con Pred" indica el contexto de codificación cuando se realiza la predicción con respecto a los elementos vectoriales. Como se muestra en esta tabla, la unidad de cuantización 52 selecciona HT{1, 2, 3} cuando el vector es representativo de un objeto de audio grabado y no se realiza la predicción con respecto a los elementos de vector. La unidad de cuantización 52 selecciona HT5 cuando el objeto de audio es representativo de un objeto de audio sintético y no se realiza la predicción con respecto a los elementos de vector. La unidad de cuantización 52 selecciona HT4 cuando el vector es representativo de un objeto de audio grabado y se realiza la predicción con respecto a los elementos vectoriales. La unidad de cuantización 52 selecciona HT5 cuando el objeto de audio es representativo de un objeto de audio sintético y se realiza la predicción con respecto a los elementos de vector.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0135] A este respecto, la unidad de cuantización 52 puede realizar la cuantización escalar y/o la codificación de Huffman antes mencionadas para comprimir los vectores reducidos V[A] de primer plano 55, que emiten los vectores codificados V[ft] de primer plano 57, que se pueden referir como información de canal lateral 57. Esta información de canal lateral 57 puede incluir elementos de sintaxis usados para codificar los vectores V[ft] de primer plano restantes 55. La unidad de cuantización 52 puede emitir la información de canal lateral 57 de una manera similar a la que se muestra en el ejemplo de una de las FIG. 10B y 10C.
[0136] Como se ha indicado anteriormente, la unidad de cuantización 52 puede generar elementos de sintaxis para la información de canal lateral 57. Por ejemplo, la unidad de cuantización 52 puede especificar un elemento de sintaxis en un encabezamiento de una unidad de acceso (que puede incluir uno o más tramas) que indica cuál de la pluralidad de modos de configuración ha sido seleccionado. Aunque se describe que se especifica en una base de unidad de acceso, la unidad de cuantización 52 puede especificar este elemento sintáctico sobre una base por trama o cualquier otra base periódica o no periódica (como una vez para el flujo de bits completo). En cualquier caso, este elemento de sintaxis puede comprender dos bits que indican cuál de los cuatro modos de configuración fueron seleccionados para especificar el conjunto de coeficientes diferente de cero de los vectores reducidos V[ft] de primer plano 55 para representar los aspectos direccionales de este componente distinto. El elemento de sintaxis se puede indicar como "codedVVecLength". De esta manera, la unidad de cuantización 52 puede señalar o especificar de algún modo en el flujo de bits cuál de los cuatro modos de configuración se usaron para especificar los vectores codificados V[ft] de primer plano 57 en el flujo de bits. Aunque se describen con respecto a cuatro modos de configuración, las técnicas no deben limitarse a cuatro modos de configuración, sino a cualquier número de modos de configuración, incluido un único modo de configuración o una pluralidad de modos de configuración. La unidad de cuantización escalar/entrópica 53 también puede especificar el indicador 63 como otro elemento sintáctico en la información del canal lateral 57.
[0137] La unidad codificadora de audio psicoacústico 40 incluida dentro del dispositivo de codificación de audio 20 puede representar múltiples instancias de un codificador de audio psicoacústico, cada una de las cuales se utiliza para codificar un objeto de audio diferente o canal HOA de cada uno de los coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49' para generar los coeficientes HOA ambientales codificados 59 y señales nFG codificadas 61. La unidad codificadora de audio psicoacústico 40 puede emitir los coeficientes HOA ambientales codificados 59 y las señales nFG codificadas 61 a la unidad de generación de flujo de bits 42.
[0138] En algunos casos, esta unidad codificadora de audio psicoacústico 40 puede representar una o más instancias de una unidad codificadora de codificación de audio avanzada (AAC). La unidad codificadora de audio psicoacústico 40 puede codificar cada columna o fila de los coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49. A menudo, la unidad codificadora de audio psicoacústico 40 puede invocar una instancia de una unidad de codificación AAC para cada una de las combinaciones de orden/suborden que permanecen en los coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49'. Puede encontrarse más información sobre cómo se pueden codificar los coeficientes armónicos esféricos de fondo 31 mediante una unidad de codificación AAC en un documento de convención de Eric Hellerud, y col., titulado "Encoding Higher Order Ambisonics with AAC", presentado en la 124a Convención, 2008 17-20 de mayo y disponible en:
http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025&context=engpapers. En algunos casos, la unidad de codificación de audio 14 puede codificar en audio los coeficientes HOA ambientales compensados de energía 47' usando una velocidad binaria objetivo inferior que la utilizada para codificar las señales nFG interpoladas 49', comprimiendo potencialmente los coeficientes HOA ambientales compensados de energía 47' más en comparación con las señales nFG interpoladas 49'.
[0139] La unidad de generación del flujo de bits 42 incluida dentro del dispositivo de codificación de audio 20 representa una unidad que formatea datos para adaptarse a un formato conocido (que puede referirse a un formato conocido por un dispositivo de descodificación), generando de este modo el flujo de bits basado en vectores 21. La unidad de generación de flujo de bits 42 puede representar un multiplexor en algunos ejemplos, que pueden recibir los vectores codificados V[ft] de primer plano 57, los coeficientes de HOA codificados 59, las señales nFG codificadas 61 y la información de canal de fondo 43. La unidad de generación de flujo de bits 42 puede generar entonces un flujo de bits 21 basado en los vectores codificados V[A] de primer plano 57, los coeficientes HOA codificados 59, las señales nFG codificadas 61 y la información de canal de fondo 43. El flujo de bits 21 puede incluir un flujo de bits principal o principal y uno o más flujos de bits de canal lateral.
[0140] Aunque no se muestra en el ejemplo de la FIG. 4, el dispositivo de codificación de audio 20 también puede incluir una unidad de salida de flujo de bits que conmuta la salida de flujo de bits del dispositivo de codificación de audio 20 (por ejemplo, entre el flujo de bits basado en la dirección 21 y el flujo de bits basado en vectores 21) en base a si la trama actual va a codificarse usando la síntesis basada en la dirección o la síntesis basada en vectores. Esta unidad de salida de flujo de bits puede realizar esta conmutación basada en el elemento de sintaxis emitido por la unidad de análisis de contenido 26 indicando si se realizó una síntesis basada en la dirección (como resultado de detectar que los coeficientes HOA 11 se generaron a partir de un objeto de audio sintético) o si se realizó la síntesis basada en vectores (como resultado de detectar que se registraron los coeficientes HOA). La unidad de salida del
5
10
15
20
25
30
35
40
45
50
55
60
65
flujo de bits puede especificar la sintaxis de encabezado correcta para indicar esta conmutación o codificación actual utilizada para la trama actual junto con la respectiva de los flujos de bits 21.
[0141] En algunos casos, el dispositivo de codificación de audio 20 está configurado para excluir un primer vector de una matriz de coeficientes armónicos esféricos por trama que almacena al menos una parte de los coeficientes armónicos esféricos representativos del campo sonoro para obtener una matriz de coeficientes armónicos esféricos reducida por trama.
[0142] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para excluir un primer vector de una matriz de coeficientes armónicos esféricos por trama que almacena al menos una parte de los coeficientes armónicos esféricos representativos del campo sonoro para obtener una matriz de coeficientes armónicos esféricos reducida por trama, y predecir un vector de la matriz de coeficientes armónicos esféricos reducida por trama en base a los vectores restantes de la matriz de coeficientes armónicos esféricos reducida.
[0143] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para excluir un primer vector de una matriz de coeficientes armónicos esféricos por trama que almacena al menos una parte de los coeficientes armónicos esféricos representativos del campo sonoro para obtener una matriz de coeficientes armónicos esféricos enmarcada reducida, y predecir un vector de la matriz de coeficientes armónicos esféricos enmarcada reducida basada, al menos en parte, en una suma de vectores restantes de la matriz de coeficientes armónicos esféricos enmarcada reducida.
[0144] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para predecir un vector de una matriz de coeficientes armónicos esféricos enmarcada que almacena al menos una parte de los coeficientes armónicos esféricos basados, al menos en parte, en una suma de vectores restantes del vector enmarcado Matriz de coeficientes armónicos esféricos.
[0145] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para configurarse adicionalmente para predecir un vector de una matriz de coeficientes armónicos esféricos enmarcada que almacena al menos una parte de los coeficientes armónicos esféricos basados, al menos en parte, en una suma de vectores restantes De la matriz de coeficientes armónicos esféricos por trama, y calcular un error basado en el vector predicho.
[0146] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para configurarse para predecir un vector de una matriz de coeficientes armónicos esféricos enmarcada que almacena al menos una parte de los coeficientes armónicos esféricos basado, al menos en parte, en una suma de vectores restantes de La matriz de coeficientes armónicos esféricos por trama, y calcular un error basado en el vector predicho y el correspondiente vector de la matriz de coeficientes armónicos esféricos por trama.
[0147] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para configurarse para predecir un vector de una matriz de coeficientes armónicos esféricos enmarcada que almacena al menos una parte de los coeficientes armónicos esféricos basado, al menos en parte, en una suma de vectores restantes de La matriz de coeficientes armónicos esféricos por trama y calcular un error como una suma del valor absoluto de la diferencia del vector predicho y el correspondiente vector de la matriz de coeficientes armónicos esféricos por trama.
[0148] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para configurarse para predecir un vector de una matriz de coeficientes armónicos esféricos enmarcada que almacena al menos una parte de los coeficientes armónicos esféricos basado, al menos en parte, en una suma de vectores restantes de La matriz de coeficientes armónicos esféricos por trama, calcular un error basado en el vector predicho y el correspondiente vector de la matriz de coeficientes armónicos esféricos por trama, calcular una razón basada en una energía del vector correspondiente de la matriz de coeficientes armónicos esféricos por trama y el error, y Comparar la relación con un umbral para determinar si los coeficientes armónicos esféricos representativos del campo sonoro se generan a partir del objeto de audio sintético.
[0149] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para configurarse para especificar la indicación en un flujo de bits 21 que almacena una versión comprimida de los coeficientes armónicos esféricos.
[0150] En algunos casos, las diversas técnicas pueden permitir que el dispositivo de codificación de audio 20 realice una transformación con respecto a los coeficientes HOA 11. En estos y otros casos, el dispositivo de codificación de audio 20 puede configurarse para obtener uno o más primeros vectores que describen componentes distintos del campo sonoro y uno o más segundos vectores que describen componentes de fondo del campo sonoro, tanto uno como más primeros vectores y el uno o más segundos vectores generados al menos realizando una transformación con respecto a la pluralidad de coeficientes armónicos esféricos 11.
[0151] En estos y otros casos, el dispositivo de codificación de audio 20, en el que la transformación comprende una descomposición en valores singulares que genera una matriz U representativa de los vectores singulares
5
10
15
20
25
30
35
40
45
50
55
60
65
izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de los vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos 11.
[0152] En estos y otros casos, el dispositivo de codificación de audio 20, en el que uno o más primeros vectores comprenden uno o más vectores Udist * Sdist codificados de audio que, antes de la codificación de audio, se generaron multiplicando uno o más vectores UDIST codificados de audio de una matriz U por uno o más vectores Sdist de una matriz S, y en el que la matriz U y la matriz S se generan al menos realizando la descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos.
[0153] En estos y otros casos, el dispositivo de codificación de audio 20, en el que uno o más de los primeros vectores comprenden uno o más vectores Udist * Sdist codificados de audio que, antes de la codificación de audio, se generaron multiplicando uno o más vectores Udist codificados de audio de una matriz U por uno o más vectores Sdist de una matriz S y uno o más vectores VTdist de una transposición de una matriz V, y en el que la matriz U y la matriz S y la matriz V se generan al menos realizando la descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos 11.
[0154] En estos y otros casos, el dispositivo de codificación de audio 20, en el que uno o más primeros vectores comprenden uno o más vectores Udist * Sdist que, antes de la codificación de audio, se generaron multiplicando uno o más vectores Udist codificados por audio de una matriz U por uno o más vectores Sdist de una matriz S y uno o más vectores VTdist de una transposición de una matriz V, en donde la matriz U, la matriz S y la matriz V se generaron al menos realizando la descomposición de valor singular con respecto a la pluralidad de coeficientes armónicos esféricos y en el que el dispositivo de codificación de audio 20 está configurado adicionalmente para obtener un valor D que indica el número de vectores a extraer de un flujo de bits para formar uno o más vectores Udist *Sdist y uno o más vectores Vtdist.
[0155] En estos y otros casos, el dispositivo de codificación de audio 20, en el que uno o más primeros vectores comprenden uno o más vectores Udist * Sdist que, antes de la codificación por audio, se generaron multiplicando uno o más vectores Udist codificados por audio de una matriz U por uno o más vectores Sdist de una matriz S y uno o más vectores VTdist de una transposición de una matriz V, en donde la matriz U, la matriz S y la matriz V se generaron al menos realizando la descomposición singular con respecto a la pluralidad de coeficientes armónicos esféricos, en el que el dispositivo de codificación de audio 20 está configurado adicionalmente para obtener un valor D sobre una base de trama de audio por trama de audio que indica el número de vectores que se van a extraer de un flujo de bits para formar uno o más vectores Udist * Sdist y uno o más vectores Vtdist.
[0156] En estos y otros casos, el dispositivo de codificación de audio 20, en el que la transformación comprende un análisis de componente principal para identificar los distintos componentes del campo sonoro y los componentes de fondo del campo sonoro.
[0157] Los diversos aspectos de las técnicas pueden permitir además que el dispositivo de codificación de audio 20 genere coeficientes armónicos esféricos reducidos o descomposiciones de los mismos. En algunos casos, el dispositivo de codificación de audio 20 puede configurarse para realizar, en base a una velocidad de bits objetivo, una reducción de orden con respecto a una pluralidad de coeficientes armónicos esféricos o descomposiciones de los mismos para generar coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos, en los que la pluralidad de los coeficientes armónicos esféricos representan un campo sonoro.
[0158] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para, antes de realizar la reducción de orden, realizar una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos para identificar uno o más de los primeros vectores que describen componentes distintos del campo sonoro, y uno o más de los segundos vectores que identifican componentes de fondo del campo sonoro, configurados para realizar la reducción de orden con respecto a uno o más de los primeros vectores, uno o más de los segundos vectores o, ambos, uno o más de los primeros vectores y uno o más de los segundos vectores.
[0159] En estos y otros casos, el dispositivo de codificación de audio 20 está además configurado para realizar un análisis de contenido con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos, y configurado para realizar, basándose en la velocidad de bits objetivo y el análisis de contenido, una reducción de orden con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos para generar los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos.
[0160] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para realizar un análisis espacial con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos.
[0161] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para realizar un análisis de difusión con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0162] En estos y otros casos, el dispositivo de codificación de audio 20 es uno o más procesadores que están configurados para realizar un análisis espacial y un análisis de difusión con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos.
[0163] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para especificar uno o más órdenes y/o una o más subórdenes de funciones de base esférica con las que los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de éstos se corresponden en un flujo de bits que incluye los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos.
[0164] En estos y otros casos, los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos tienen valores menores que la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos.
[0165] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para eliminar aquellos de la pluralidad de coeficientes armónicos esféricos o vectores de las descomposiciones de los mismos que tienen un orden y/o suborden especificados para generar los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos.
[0166] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para poner a cero los de la pluralidad de coeficientes armónicos esféricos o aquellos vectores de su descomposición que tienen un orden y/o suborden especificados para generar los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos.
[0167] Varios aspectos de las técnicas también pueden permitir que el dispositivo de codificación de audio 20 sea configurado para representar componentes distintos del campo sonoro. En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para obtener un primer conjunto diferente de cero de coeficientes de un vector que se utilizará para representar un componente distinto de un campo sonoro, en el que el vector se descompone a partir de una pluralidad de coeficientes armónicos esféricos que describen el campo sonoro.
[0168] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar el primer conjunto distinto de cero de los coeficientes del vector para incluir todos los coeficientes.
[0169] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar el primer conjunto distinto de cero de coeficientes como los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden.
[0170] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar el primer conjunto distinto de cero de coeficientes para incluir los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden y excluyen al menos uno de los coeficientes que corresponde a un orden mayor que el orden de la función de base con la cual se corresponden uno o más de la pluralidad de coeficientes armónicos esféricos.
[0171] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar el primer conjunto distinto de cero de coeficientes para incluir todos los coeficientes excepto por lo menos uno de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden.
[0172] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para especificar el primer conjunto distinto de cero de los coeficientes del vector en la información de canal lateral.
[0173] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para especificar el primer conjunto distinto de cero de los coeficientes del vector en la información de canal lateral sin codificación de audio del primer conjunto distinto de cero de los coeficientes del vector.
[0174] En estos y otros casos, el vector comprende un vector descompuesto a partir de la pluralidad de coeficientes armónicos esféricos utilizando la síntesis basada en vectores.
[0175] En estos y otros casos, la síntesis basada en vectores comprende una descomposición en valores singulares.
[0176] En estos y otros casos, el vector comprende un vector V descompuesto a partir de la pluralidad de coeficientes armónicos esféricos utilizando descomposición en valores singulares.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0177] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para seleccionar uno de una pluralidad de modos de configuración mediante los cuales se especifica el conjunto de coeficientes del vector distinto de cero y se especifica el conjunto distinto de cero de los coeficientes del vector basado en el modo seleccionado de la pluralidad de modos de configuración.
[0178] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye todos los coeficientes.
[0179] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de coeficientes incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden.
[0180] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden y excluyen al menos uno de los coeficientes correspondientes a un orden mayor que el orden de la función de base con la cual se corresponden uno o más de la pluralidad de coeficientes armónicos esféricos,
[0181] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto de coeficientes distinto de cero incluye todos los coeficientes excepto por lo menos uno de los coeficientes.
[0182] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para especificar el modo seleccionado de la pluralidad de modos de configuración en un flujo de bits.
[0183] Varios aspectos de las técnicas descritas en esta descripción pueden permitir también que el dispositivo de codificación de audio 20 sea configurado para representar de forma diferente dicho componente distinto del campo sonoro. En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para obtener un primer conjunto distinto de cero de coeficientes de un vector que representa un componente distinto de un campo sonoro, habiéndose descompuesto el vector a partir de una pluralidad de coeficientes armónicos esféricos que describen el campo sonoro.
[0184] En estos y otros casos, el primer conjunto distinto de cero de los coeficientes incluye todos los coeficientes del vector.
[0185] En estos y otros casos, el primer conjunto distinto de cero de coeficientes incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la que se corresponden uno o más de la pluralidad de coeficientes armónicos esféricos.
[0186] En estos y otros casos, el primer conjunto distinto de cero de los coeficientes incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden y excluyen al menos uno de los coeficientes correspondientes a un orden mayor que el orden de la función de base con la cual se corresponden uno o más de la pluralidad de coeficientes armónicos esféricos.
[0187] En estos y otros casos, el primer conjunto distinto de cero de coeficientes incluye todos los coeficientes excepto por lo menos uno de los coeficientes identificados porque no tienen suficiente información direccional.
[0188] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para extraer el primer conjunto distinto de cero de los coeficientes como una primera parte del vector.
[0189] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para extraer el primer conjunto distinto de cero del vector de la información de canal lateral y obtener una versión recompuesta de la pluralidad de coeficientes armónicos esféricos basándose en el primer conjunto distinto de cero de los coeficientes del vector.
[0190] En estos y otros casos, el vector comprende un vector descompuesto a partir de la pluralidad de coeficientes armónicos esféricos utilizando la síntesis basada en vectores.
[0191] En estos y otros casos, la síntesis basada en vectores comprende la descomposición en valores singulares.
[0192] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para determinar uno de una pluralidad de modos de configuración mediante los cuales extraer el conjunto de coeficientes del vector distinto de cero de acuerdo con el modo de la pluralidad de modos de configuración y extraer el conjunto distinto de cero de los coeficientes del vector basado en el modo obtenido de la pluralidad de modos de configuración.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0193] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye todos los coeficientes.
[0194] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto de coeficientes distinto de cero incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden.
[0195] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye los de los coeficientes correspondientes a un orden mayor que el orden de una función de base con la cual uno o más de la pluralidad de coeficientes armónicos esféricos se corresponden y excluyen al menos uno de los coeficientes correspondientes a un orden mayor que el orden de la función de base con la cual se corresponden uno o más de la pluralidad de coeficientes armónicos esféricos,
[0196] En estos y otros casos, el un modo de la pluralidad de modos de configuración indica que el conjunto distinto de cero de coeficientes incluye todos los coeficientes excepto por lo menos uno de los coeficientes.
[0197] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar el modo de la pluralidad de modos de configuración basándose en un valor señalado en un flujo de bits.
[0198] Varios aspectos de las técnicas también pueden, en algunos casos, permitir que el dispositivo de codificación de audio 20 identifique uno o más objetos de audio distintos (o, en otras palabras, objetos de audio predominantes). En algunos casos, el dispositivo de codificación de audio 20 puede configurarse para identificar uno o más objetos de audio distintos a partir de uno o más coeficientes armónicos esféricos (SHC) asociados con los objetos de audio basados en una direccionalidad determinada para uno o más de los objetos de audio.
[0199] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para determinar la direccionalidad de uno o más objetos de audio basándose en los coeficientes armónicos esféricos asociados con los objetos de audio.
[0200] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para realizar una descomposición en valores singulares con respecto a los coeficientes armónicos esféricos para generar una matriz U representativa de los vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de los valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de los vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, y representar la pluralidad de coeficientes armónicos esféricos como una función de al menos una parte de una o más de la matriz U, la matriz S y la matriz V, en la que el dispositivo de codificación de audio 20 está configurado para determinar la direccionalidad respectiva de uno o más objetos de audio y se basa al menos en parte en la matriz V.
[0201] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para reordenar uno o más vectores de la matriz V de modo que los vectores que tienen un cociente de direccionalidad mayor estén situados por encima de los vectores que tienen un cociente de direccionalidad menor en la matriz V reordenada.
[0202] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para determinar que los vectores que tienen el mayor cociente de direccionalidad incluyen una mayor información direccional que los vectores que tienen el cociente de direccionalidad menor.
[0203] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para multiplicar la matriz V por la matriz S para generar una matriz VS, la matriz VS que incluye uno o más vectores.
[0204] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para seleccionar entradas de cada fila de la matriz VS que están asociadas con un orden mayor de 14, cuadrar cada una de las entradas seleccionadas para formar entradas cuadráticas correspondientes y, para cada fila de la matriz VS, sumar todas las entradas al cuadrado para determinar un cociente de direccionalidad para un vector correspondiente.
[0205] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para seleccionar las entradas de cada fila de la matriz VS asociada con el orden mayor que 14 comprende seleccionar todas las entradas comenzando en una 18a entrada de cada fila de la matriz VS y terminando en una 38a entrada de cada fila de la matriz VS.
[0206] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado además para seleccionar un subconjunto de los vectores de la matriz VS para representar los distintos objetos de audio. En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para seleccionar cuatro vectores de la matriz VS, y en el que los cuatro vectores seleccionados tienen los cuatro cocientes de direccionalidad más grandes de todos los vectores de la matriz VS.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0207] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado para determinar que el subconjunto seleccionado de los vectores representa los distintos objetos de audio y se basa tanto en la direccionalidad como en una energía de cada vector.
[0208] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para realizar una comparación de energía entre uno o más primeros vectores y uno o más segundos vectores representativos de los distintos objetos de audio para determinar uno o más primeros vectores reordenados, en el que uno o más primeros vectores describen los distintos objetos de audio una primera parte de datos de audio y uno o más segundos vectores describen los distintos objetos de audio en una segunda parte de los datos de audio.
[0209] En estos y otros casos, el dispositivo de codificación de audio 20 está configurado adicionalmente para realizar una correlación cruzada entre uno o más primeros vectores y uno o más segundos vectores representativos de los distintos objetos de audio para determinar uno o más primeros vectores reordenados, en el que uno o más primeros vectores describen los distintos objetos de audio una primera parte de datos de audio y uno o más segundos vectores describen los distintos objetos de audio en una segunda parte de los datos de audio.
[0210] Varios aspectos de las técnicas también pueden, en algunos casos, permitir que el dispositivo de codificación de audio 20 esté configurado para realizar compensación de energía con respecto a las descomposiciones de los coeficientes HOA 11. En estos y otros casos, el dispositivo de codificación de audio 20 puede estar configurado para realizar una síntesis basada en vectores con respecto a una pluralidad de coeficientes armónicos esféricos para generar representaciones descompuestas de la pluralidad de coeficientes armónicos esféricos representativos de uno o más objetos de audio y la correspondiente información direccional, en el que los coeficientes armónicos esféricos están asociados con un orden y describen un campo sonoro, determinan información direccional distinta y de fondo a partir de la información direccional, reducen un orden de la información direccional asociada con los objetos de audio de fondo para generar información de dirección de fondo transformada, aplican compensación para incrementar los valores de la información direccional transformada para preservar una energía global del campo sonoro.
[0211] La FIG. 5 es un diagrama de bloques que ilustra el dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 3 con mayor detalle. Como se muestra en el ejemplo de la FIG. 5, el dispositivo de descodificación de audio 24 puede incluir una unidad de extracción 72, una unidad de reconstrucción basada en la direccionalidad 90 y una unidad de reconstrucción basada en vectores 92.
[0212] La unidad de extracción 72 puede representar una unidad configurada para recibir el flujo de bits 21 y extraer las diversas versiones codificadas (por ejemplo, una versión codificada basada en la direccionalidad o una versión codificada basada en vector) de los coeficientes HOA 11. La unidad de extracción 72 puede determinar a partir del elemento de sintaxis anotado anteriormente (por ejemplo, el elemento de sintaxis ChannelType que se muestra en los ejemplos de las FIG. 10E y 10H(i)-10O(ii) si los coeficientes HOA 11 se han codificado a través de las diversas versiones. Cuando se ha realizado una codificación basada en la dirección, la unidad de extracción 72 puede extraer la versión basada en la dirección de los coeficientes HOA 11 y los elementos de sintaxis asociados con esta versión codificada (que se designa como información basada en la dirección 91 en el ejemplo de la FIG. 5), pasando esta información basada en la dirección 91 a la unidad de reconstrucción basada en la dirección 90. Esta unidad de reconstrucción basada en la dirección 90 puede representar una unidad configurada para reconstruir los coeficientes HOA en forma de coeficientes HOA 11' basados en la información basada en la dirección 91. El flujo de bits y la disposición de elementos de sintaxis dentro del flujo de bits se describen a continuación con más detalle con respecto al ejemplo de las FIG. 10-10O(ii) y 11.
[0213] Cuando el elemento de sintaxis indica que los coeficientes HOA 11 se han codificado utilizando una síntesis basada en vectores, la unidad de extracción 72 puede extraer los vectores V[K] codificados de primer plano 57, los coeficientes HOA codificados 59 y las señales nFG codificadas 59. La unidad de extracción 72 puede pasar los vectores codificados V[K] de primer plano 57 a la unidad de cuantización 74 y los coeficientes HOA ambientales codificados 59 junto con las señales nFG codificadas 61 a la unidad de descodificación psicoacústica 80.
[0214] Para extraer los vectores de primer plano codificados V[K] 57, los coeficientes HOA ambientales codificados 59 y las señales nFG codificadas 59, la unidad de extracción 72 puede obtener la información de canal lateral 57, que incluye el elemento de sintaxis denominado codedVVecLength. La unidad de extracción 72 puede analizar la codedVVecLength a partir de la información de canal lateral 57. La unidad de extracción 72 puede estar configurada para funcionar en cualquiera de los modos de configuración descritos anteriormente basándose en el elemento de sintaxis codedVVecLength.
[0215] La unidad de extracción 72 funciona entonces de acuerdo con cualquiera de los modos de configuración para analizar una forma comprimida de los vectores V[K] de primer plano reducidos 55k a partir de la información del canal lateral 57. La unidad de extracción 72 puede operar de acuerdo con la instrucción de conmutación que se presenta en el pseudocódigo siguiente con la sintaxis que se presenta en la siguiente tabla de sintaxis para VVectorData:
5
10
15
20
25
30
35
switch CodedVVecLength {
caso 0:
VVec Longitud = NumOfHoaCoeffs; para (m = 0; m <VVecLength; ++m){
VVecCoeffId [m] = m;
}
break;
caso 1:
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA - NumOfContAddHoaChans; n=0
para (m=MinNumOfCoeffsForAmbHOA; m<NumOfHoaCoeffs; ++m){ Coeffldx = m+
si (Coeffldx isNotMemberüf ContAddHoaCoeff) {
VVecCoeffId[n] = Coeffldx-1; n++;
}
}
break;
caso 2:
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA; para (m=0; m< VVecLength; ++m){
VVecCoeffId[m] = m + MinNumOfCoeffsForAmbHOA;
}
break; caso 3:
VVecLength = NumOfHoaCoeffs - NumOfContAddHoaChans; n=0;
para (m=0; m<NumOfHoaCoeffs; ++m){ c = m+1;
si (c isNotMemberüf ContAddHoaCoeff){
VVecCoeffId[n] = c-1; n++;
}
}
}
Sintaxis No. de bits
VVectorData(i)
{
si (NbitsQ(k)[i] == 5){ para (m=0; m< VVecLength; ++m){
VVec[i][VVecCoeffId[m]](k) = (VecVal/128.0)- 1.0; 8
}
sino si (NbitsQ(k)[i] >= 6){ para (m=0; m< VVecLength; ++m){
huffldx = huffSe/ect(VVecCoeffld[m], PFIag[i],
CbFlag[i]);
cid = huffDecocfe{NbitsQ[i], huffldx, huffVal); dinámica
aVal[i][m] = 0.0; si (cid > 0) {
aVal[i][m] = sgn = (sgnVal * 2)-1; 1
si (cid > 1){
aVal[i][m] = sgn * (2.0A(cid-1) + intAddVal); cid-1
}
}
VVec[i][VVecCoeffId[m]](k) = aVal[i][m] *(2A(16_
NbitsQ(k)[i])*aVal[i][m])/2A15; si (PFIag(k)[i] ==1){
VVec[i] [VVecCoeffId[m]](k)+=
VVec[i][VVecCoeffId[m]](k-1)
5
10
15
20
25
30
35
40
45
50
55
60
}
}
}
[0216] En la tabla de sintaxis anterior, la primera instrucción de conmutación con los cuatro casos (casos 0-3) proporciona una forma mediante la cual se determina la longitud del vector VTdist en términos del número (VVecLength) y los índices de coeficientes (VVecCoeffld). El primer caso, caso 0, indica que se especifican todos los coeficientes para los vectores VTdist (NumOfHoaCoeffs). El segundo caso, caso 1, indica que solo se especifican aquellos coeficientes del vector VTdist que corresponden al número mayor que un MinNumOfCoeffsForAmbHOA, que puede indicar lo que se denomina (Ndist+1)2 - (Nbg+1)2 anteriormente. Además, estos coeficientes NumOfContAddAmbHoaChan identificados en ContAddAmbHoaChan se suprimen. La lista ContAddAmbHoaChan especifica canales adicionales (donde "canales" se refiere a un coeficiente particular correspondiente a un cierta combinación de orden y suborden) correspondiente a un orden que excede el orden MinAmbHoaOrder. El tercer caso, caso 2, indica que se especifican aquellos coeficientes del vector VTdist que corresponden al número mayor que un MinNumOfCoeffsForAmbHOA, que puede indicar lo que se denomina (Ndist+1)2 - (Nbg+1)2 anteriormente. El cuarto caso, caso 3, indica que se especifican aquellos coeficientes del vector VTdist que quedan después de eliminar los coeficientes identificados por NumOfContAddAmbHoaChan. Tanto la VVecLength como la lista VVecCoeffld son válidas para todos los VVectors dentro de HOAFrame.
[0217] Después de esta instrucción de conmutación, la decisión de realizar una decuantización uniforme puede ser controlada por NbitsQ (o, como se ha designado anteriormente nbits) que, si es igual a 5, se realiza una decuantización escalar uniforme de 8 bits. Por el contrario, un valor de NbitsQ mayor o igual a 6 puede resultar en la aplicación de la descodificación de Huffman. El valor cid mencionado anteriormente puede ser igual a los dos bits menos significativos del valor NbitsQ. El modo de predicción tratado anteriormente se designa como PFlag en la tabla de sintaxis anterior, mientras que el bit de información HT se designa como CbFlag en la tabla de sintaxis anterior. La sintaxis restante especifica cómo ocurre la descodificación de una manera sustancialmente similar a la descrita anteriormente. Varios ejemplos del flujo de bits 21 que se adapta a cada uno de los diversos casos mencionados anteriormente se describen con más detalle a continuación con respecto a las FIG. 10H(i)-10O(ii).
[0218] La unidad de reconstrucción basada en vectores 92 representa una unidad configurada para realizar operaciones recíprocas a las descritas anteriormente con respecto a la unidad de síntesis basada en vectores 27 para reconstruir los coeficientes HOA 11'. La unidad de reconstrucción basada en vectores 92 puede incluir una unidad de cuantización 74, una unidad de interpolación espacio-temporal 76, una unidad de formulación del primer plano 78, una unidad de descodificación psicoacústica 80, una unidad de formulación de coeficientes HOA 82 y una unidad de reordenación 84.
[0219] La unidad de cuantización 74 puede representar una unidad configurada para operar de manera recíproca con la unidad de cuantización 52 que se muestra en el ejemplo de la FIG. 4 a fin de decuantizar los vectores V[K] de primer plano codificados y, de este modo, generar V[K] vectores de primer plano reducidos 55k. La unidad de decuantización 74 puede, en algunos ejemplos, realizar una forma de descodificación de entropía y de decuantización escalar de una manera recíproca a la descrita anteriormente con respecto a la unidad de cuantización 52. La unidad de decuantización 74 puede enviar los vectores V[K] de primer plano reducidos 55k a la unidad de reordenación 84.
[0220] La unidad de descodificación psicoacústica 80 puede operar de manera recíproca con la unidad de codificación de audio psicoacústica 40 que se muestra en el ejemplo de la FIG. 4 para descifrar los coeficientes HOA codificados 59 y las señales nFG 61 codificadas y, de este modo, generar coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49' (que también se pueden denominar objetos de audio nFG interpolados 49'). La unidad de descodificación psicoacústica 80 puede pasar los coeficientes HOA ambientales compensados de energía 47' a la unidad de formulación de coeficientes HOA 82 y las señales nFG 49' a la reordenación 84.
[0221] La unidad de reordenación 84 puede representar una unidad configurada para operar de una manera similar a la descrita anteriormente con respecto a la unidad de reordenación 34. La unidad de reordenación 84 puede recibir elementos de sintaxis indicativos del orden original de los componentes en primer plano de los coeficientes HOA 11. La unidad de reordenación 84 puede, con base en estos elementos de sintaxis de reordenación, reordenar las señales nFG interpoladas 49' y los vectores V[K] de primer plano reducidos 55k para generar señales nFG reordenadas 49'' y vectores V[K] de primer plano reordenados 55k'. La unidad de reordenación 84 puede emitir las señales nFG reordenadas 49" a la unidad de formulación del primer plano 78 y los vectores V[K] de primer plano reordenados 55K a la unidad de interpolación espacio-temporal 76.
[0222] La unidad de interpolación espacio-temporal 76 puede funcionar de una manera similar a la descrita anteriormente con respecto a la unidad de interpolación espacio-temporal 50. La unidad de interpolación espacio- temporal 76 puede recibir los vectores V[K] reordenados 55K y realizar la interpolación espacio-temporal con respecto a los vectores V[K] reordenados de primer plano 55K y los vectores V[K-1] reordenados de primer plano 55k-
5
10
15
20
25
30
35
40
45
50
55
60
65
i' para generar vectores V[K] de primer plano interpolados 55K'. La unidad de interpolación espacio-temporal 76 puede enviar los vectores V[K] de primer plano interpolados 55K' a la unidad de formulación del primer plano 78.
[0223] La unidad de formulación del primer plano 78 puede representar una unidad configurada para realizar la multiplicación matricial con respecto a los vectores V[K] interpolados de primer plano 55K' y las señales nFG reordenadas 49" para generar los coeficientes HOA de primer plano 65. La unidad de formulación del primer plano 78 puede realizar una multiplicación matricial de las señales nFG reordenadas 49'' por los vectores V[K] de primer plano interpolados 55k".
[0224] La unidad de formulación de coeficientes HOA 82 puede representar una unidad configurada para añadir los coeficientes HOA de primer plano 65 a los canales HOA ambientales 47' para obtener los coeficientes HOA 11', donde la notación primaria refleja que estos coeficientes HOA 11' pueden ser similares a, pero no los mismos que, los coeficientes HOA 11. Las diferencias entre los coeficientes HOA 11 y 11' pueden resultar de pérdidas debidas a transmisión sobre un medio de transmisión con pérdidas, cuantización u otras operaciones con pérdidas.
[0225] De esta manera, las técnicas pueden permitir que un dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24, determine, a partir de un flujo de bits, información direccional cuantizada, un objeto de audio de primer plano codificado y coeficientes ambisónicos de orden superior (HOA) codificados, en el que la información direccional cuantizada y el objeto de audio de primer plano codificado representan coeficientes HOA de primer plano que describen un componente en primer plano de un campo sonoro, y en el que los coeficientes HOA ambientales codificados describen un componente ambiental del campo sonoro, decuantizan la información direccional cuantizada para generar información direccional, realizan la interpolación espacio-temporal para generar una información direccional interpolada, descodifican por audio el objeto de audio de primer plano codificado para generar un objeto de audio de primer plano y los coeficientes HOA ambientales codificados para generar coeficientes HOA ambientales, determinan los coeficientes HOA de primer plano en función de la información direccional interpolada y el objeto de audio de primer plano, y determinan los coeficientes HOA como una función de los coeficientes HOA de primer plano y los coeficientes HOA ambientales.
[0226] De esta manera, varios aspectos de las técnicas pueden permitir que un dispositivo de descodificación de audio unificado 24 conmute entre dos esquemas de descompresión diferentes. En algunos casos, el dispositivo de descodificación de audio 24 puede estar configurado para seleccionar uno de una pluralidad de esquemas de descompresión basándose en la indicación de si se genera una versión comprimida de coeficientes armónicos esféricos representativos de un campo sonoro a partir de un objeto de audio sintético y descomprimir la versión comprimida de los coeficientes armónicos esféricos utilizando el esquema seleccionado de la pluralidad de esquemas de descompresión.
[0227] En cada uno de los diversos casos descritos anteriormente, debe entenderse que el dispositivo de descodificación de audio 24 puede realizar un procedimiento o comprender de otro modo medios para realizar cada paso del procedimiento para el que está configurado el dispositivo de descodificación de audio 24. En algunos casos, estos medios pueden comprender uno o más procesadores. En algunos casos, uno o más procesadores pueden representar un procesador de propósito especial configurado por medio de instrucciones almacenadas en un medio de almacenamiento no transitorio legible por ordenador. En otras palabras, varios aspectos de las técnicas en cada uno de los conjuntos de ejemplos de codificación pueden proporcionar un medio de almacenamiento no transitorio legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, hacen que uno o más procesadores realicen el procedimiento para el cual el dispositivo de descodificación de audio 24 se ha configurado para realizar.
[0228] La FIG. 6 es un diagrama de flujo que ilustra el funcionamiento ejemplar de una unidad de análisis de contenido de un dispositivo de codificación de audio, tal como la unidad de análisis de contenido 26 que se muestra en el ejemplo de la FIG. 4, en la realización de diversos aspectos de las técnicas descritas en esta descripción.
[0229] La unidad de análisis de contenido 26 puede, al determinar si los coeficientes HOA 11 representativos de un campo sonoro se generan a partir de un objeto de audio sintético, obtener un entramado de coeficientes HOA (93), que puede ser de tamaño 25 por 1024 para una representación de cuarto orden (es decir, N = 4). Después de obtener los coeficientes HOA entramados (que también se pueden denominar en este documento como una matriz de SHC entramada 11 y las matrices de SHC entramadas subsiguientes pueden designarse como matrices de SHC entramadas 27B, 27C, etc.), la unidad de análisis de contenido 26 puede entonces excluir el primer vector de los coeficientes HOA entramados 11 para generar coeficientes HOA entramados reducidos (94).
[0230] La unidad de análisis de contenido 26 puede entonces predecir el primer vector distinto de cero de los coeficientes HOA entramados reducidos a partir de los vectores restantes de los coeficientes HOA entramados reducidos (95). Después de predecir el primer vector distinto de cero, la unidad de análisis de contenido 26 puede obtener un error basado en el primer vector distinto de cero predicho y el vector distinto de cero real (96). Una vez obtenido el error, la unidad de análisis de contenido 26 puede calcular una relación basada en una energía del primer vector distinto de cero real y del error (97). La unidad de análisis de contenido 26 puede entonces comparar esta relación con un umbral (98). Cuando la relación no excede el umbral ("NO" 98), la unidad de análisis de
5
10
15
20
25
30
35
40
45
50
55
60
65
contenido 26 puede determinar que la matriz de SHC entramada 11 se genera a partir de un registro e indicar en el flujo de bits que la representación codificada correspondiente de la matriz SHC 11 se generó a partir de una grabación (100, 101). Cuando la relación excede el umbral ("SÍ" 98), la unidad de análisis de contenido 26 puede determinar que la matriz de SHC entramada 11 se genera a partir de un objeto de audio sintético e indica en el flujo de bits que la representación codificada correspondiente de la matriz SHC 11 se generó a partir de un objeto de audio sintético (102, 103). En algunos casos, cuando se genera la matriz de SHC entramada 11 a partir de una grabación, la unidad de análisis de contenido 26 pasa la matriz de SHC entramada 11 a la unidad de síntesis basada en vectores 27 (101). En algunos casos, cuando la matriz de SHC entramada 11 se generó a partir de un objeto de audio sintético, la unidad de análisis de contenido 26 pasa la matriz de SHC entramada 11 a la unidad de síntesis basada en la dirección 28 (104).
[0231] La FIG. 7 es un diagrama de flujo que ilustra una operación a modo de ejemplo de un dispositivo de codificación de audio, tal como el dispositivo de codificación de audio 20 que se muestra en la FIG. 4, en la realización de diversos aspectos de las técnicas de síntesis basadas en vectores descritas en esta descripción. Inicialmente, el dispositivo de codificación de audio 20 recibe los coeficientes HOA 11 (106). El dispositivo de codificación de audio 20 puede invocar la unidad LIT 30, que puede aplicar una LIT con respecto a los coeficientes HOA para dar salida a los coeficientes HOA transformados (por ejemplo, en el caso de SVD, los coeficientes HOA transformados pueden comprender los vectores US[ft] 33 y los vectores V[A] 35) (107).
[0232] El dispositivo de codificación de audio 20 puede invocar, a continuación, la unidad de cálculo de parámetros 32 para realizar el análisis descrito anteriormente con respecto a cualquier combinación de los vectores US[ft] 33, los vectores US[^-1] 33, los vectores V[ft] y/o los vectores V[^-1] 35 para identificar varios parámetros de la manera descrita anteriormente. Es decir, la unidad de cálculo de parámetros 32 puede determinar al menos un parámetro basado en un análisis de los coeficientes HOA transformados 33/35 (108).
[0233] El dispositivo de codificación de audio 20 puede entonces invocar la unidad de reordenación 34, que puede reordenar los coeficientes HOA transformados (que, de nuevo en el contexto de SVD, pueden referirse a los vectores US[ft] 33 y los vectores V[A] 35 basados en el parámetro para generar los coeficientes HOA transformados reordenados 33'/35' (o, en otras palabras, los vectores US[ft] 33' y los vectores V[ft] 35'), como se ha descrito anteriormente (109). El dispositivo de codificación de audio 20 puede, durante cualquiera de las operaciones anteriores u operaciones subsiguientes, invocar también la unidad de análisis del campo sonoro 44. La unidad de análisis del campo sonoro 44 puede, como se ha descrito anteriormente, realizar un análisis de campo sonoro con respecto a los coeficientes HOA 11 y/o los coeficientes HOA transformados 33/35 para determinar el número total de canales de primer plano (nFG) 45, el orden del campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de canales BG HOA adicionales a enviar (que pueden designarse colectivamente como información de canal de fondo 43 en el ejemplo de la FIG. 4) (109).
[0234] El dispositivo de codificación de audio 20 también puede invocar la unidad de selección de fondo 48. La unidad de selección de fondo 48 puede determinar coeficientes HOA de fondo o ambientales 47 basados en la información de canal de fondo 43 (110). El dispositivo de codificación de audio 20 puede invocar adicionalmente la unidad de selección del primer plano 36, la cual puede seleccionar las de los vectores US[ft] reordenados 33' y los vectores V[A] reordenados 35 que representan componentes en primer plano o distintos del campo sonoro basados en nFG 45 (que puede representar uno o más índices que identifican estos vectores de primer plano) (112).
[0235] El dispositivo de codificación de audio 20 puede invocar la unidad de compensación de energía 38. La unidad de compensación de energía 38 puede realizar compensación de energía con respecto a los coeficientes HOA ambientales 47 para compensar la pérdida de energía debido a la eliminación de varios de los canales HOA por la unidad de selección de fondo 48 (114) y generar así coeficientes HOA ambientales compensados de energía 47'.
[0236] El dispositivo de codificación de audio 20 también invoca entonces la unidad de interpolación espacio- temporal 50. La unidad de interpolación espacio-temporal 50 puede realizar interpolación espacio-temporal con respecto a los coeficientes HOA transformados reordenados 33'/35' para obtener las señales de primer plano interpoladas 49' (que también pueden denominarse las "señales nFG interpoladas 49’") y la información direccional restante en primer plano 53 (que también se puede denominar los vectores "V[A] 53") (116). El dispositivo de codificación de audio 20 puede entonces invocar la unidad de reducción de coeficientes 46. La unidad de reducción de coeficientes 46 puede realizar una reducción de los coeficientes con respecto a los vectores V[ft] de primer plano restantes basados en la información de canal de fondo 43 para obtener información direccional reducida en primer plano 55 (que también se puede denominar vectores de primer plano reducidos V[ft] 55) (118).
[0237] El dispositivo de codificación de audio 20 puede entonces invocar la unidad de cuantización 52 para comprimir, de la manera descrita anteriormente, los vectores V[ft] de primer plano reducidos 55 y generar los vectores V[ft] 57 de primer plano codificados.
[0238] El dispositivo de codificación de audio 20 también puede invocar la unidad codificadora de audio psicoacústico 40. La unidad codificadora de audio psicoacústico 40 puede codificar psicoacústicamente cada vector
5
10
15
20
25
30
35
40
45
50
55
60
65
de los coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49' para generar coeficientes HOA codificados 59 y señales nFG codificadas 61. El dispositivo de codificación de audio puede entonces invocar la unidad de generación del flujo de bits 42. La unidad de generación del flujo de bits 42 puede generar el flujo de bits 21 basado en la información direccional codificada en primer plano 57, los coeficientes HOA ambientales codificados 59, las señales nFG codificadas 61 y la información de canal de fondo 43.
[0239] La FIG. 8 es un diagrama de flujo que ilustra el funcionamiento ejemplar de un dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24 que se muestra en la FIG. 5, al realizar diversos aspectos de las técnicas descritas en esta descripción. Inicialmente, el dispositivo descodificador de audio 24 puede recibir el flujo de bits 21 (130). Al recibir el flujo de bits, el dispositivo de descodificación de audio 24 puede invocar la unidad de extracción 72. Suponiendo a efectos de este análisis que el flujo de bits 21 indica que se va a realizar una reconstrucción basada en vectores, el dispositivo de extracción 72 puede analizar este flujo de bits para recuperar la información anotada anteriormente, pasando esta información a la unidad de reconstrucción basada en vectores 92.
[0240] En otras palabras, la unidad de extracción 72 puede extraer la información direccional codificada en primer plano 57 (que, de nuevo, también se puede denominar los vectores V[K] de primer plano codificados 57), los coeficientes HOA ambientales codificados 59 y las señales de primer plano codificadas que también se pueden denominar las señales nFG de primer plano codificadas 59 o los objetos de audio de primer plano codificados 59) del flujo de bits 21 de la manera descrita anteriormente (132).
[0241] El dispositivo de descodificación de audio 24 puede invocar adicionalmente la unidad de cuantización 74. La unidad de cuantización 74 puede descodificar por entropía y decuantizar la información direccional codificada en primer plano 57 para obtener información direccional reducida en primer plano 55k (136). El dispositivo de descodificación de audio 24 también puede invocar la unidad de descodificación psicoacústica 80. La unidad de codificación de audio psicoacústica 80 puede descodificar los coeficientes HOA ambientales codificados 59 y las señales de primer plano codificadas 61 para obtener coeficientes HOA ambientales compensados de energía 47' y las señales de primer plano interpoladas 49' (138). La unidad de descodificación psicoacústica 80 puede pasar los coeficientes HOA ambientales compensados de energía 47' a la unidad de formulación de coeficientes HOA 82 y las señales nFG 49' a la unidad de reordenación 84.
[0242] La unidad de reordenación 84 puede recibir elementos de sintaxis indicativos del orden original de los componentes en primer plano de los coeficientes HOA 11. La unidad de reordenación 84 puede, con base en estos elementos de sintaxis de reordenación, reordenar las señales nFG 49' interpoladas y los vectores de primer plano V[K] reducidos 55k para generar señales nFG reordenadas 49' y vectores V[K] de primer plano reordenados 55K (140). La unidad de reordenación 84 puede emitir las señales nFG reordenadas 49" a la unidad de formulación del primer plano 78 y los vectores V[K] de primer plano reordenados 55K a la unidad de interpolación espacio-temporal 76.
[0243] El dispositivo de descodificación de audio 24 puede invocar a continuación la unidad de interpolación espacio-temporal 76. La unidad de interpolación espacio-temporal 76 puede recibir la información direccional de primer plano reordenada 55K y realizar la interpolación espacio-temporal con respecto a la información direccional reducida de primer plano 55k/55k-1 para generar la información direccional de primer plano interpolada 55k" (142). La unidad de interpolación espacio-temporal 76 puede enviar los vectores V[K] de primer plano interpolados 55k" a la unidad de formulación del primer plano 78.
[0244] El dispositivo de descodificación de audio 24 puede invocar la unidad de formulación del primer plano 78. La unidad de formulación del primer plano 78 puede realizar la multiplicación matricial de las señales de primer plano interpoladas 49" por la información direccional de primer plano interpolada 55K' para obtener los coeficientes HOA de primer plano 65 (144). El dispositivo de descodificación de audio 24 también puede invocar la unidad de formulación de coeficientes HOA 82. La unidad de formulación de coeficientes HOA 82 puede añadir los coeficientes HOA de primer plano 65 a los canales ambientales HOA 47' para obtener los coeficientes HOA 11' (146).
[0245] Las FIG. 9A-9L son diagramas de bloques que ilustran varios aspectos del dispositivo de codificación de audio 20 del ejemplo de la FIG. 4 con mayor detalle. La FIG. 9A es un diagrama de bloques que ilustra la unidad LIT 30 del dispositivo de codificación de audio 20 con más detalle. Como se muestra en el ejemplo de la FIG. 9A, la unidad LIT 30 puede incluir múltiples transformadas reversibles lineales diferentes 200-200N. La unidad LIT 30 puede incluir, para proporcionar unos pocos ejemplos, una transformación 200A ("SVD 200A") de una descomposición en valores singulares (SVD 200A), una transformación de análisis de componentes principales (PCA) 200B ("PCA 200B"), una transformada de Karhunen-Loeve (KLT) 200C ("KLT 200C"), una transformada de Fourier rápida (FFT) 200D ("FFT 200D") y una transformada de coseno discreta (DCT) 200N ("DCT 200N"). La unidad LIT 30 puede invocar cualquiera de estas transformadas lineales reversibles 200 para aplicar la transformación respectiva con respecto a los coeficientes HOA 11 y generar los coeficientes HOA transformados respectivos 33/35.
[0246] Aunque se describe que se realiza directamente con respecto a los coeficientes HOA 11, la unidad LIT 30 puede aplicar las transformadas lineales reversibles 200 a derivados de los coeficientes HOA 11. Por ejemplo, la
5
10
15
20
25
30
35
40
45
50
55
60
unidad LIT 30 puede aplicar la SVD 200 con respecto a una matriz de densidad espectral de potencia derivada de los coeficientes HOA 11. La matriz de densidad espectral de potencia se puede designarse como PSD y se obtiene mediante la multiplicación matricial de la transposición del hoaFrame al hoaFrame, como se indica en el pseudocódigo que sigue a continuación. La notación HoaFrame se refiere a una trama de los coeficientes HOA 11.
[0247] La unidad LIT 30 puede, después de aplicar la SVD 200 (svd) al PSD, puede obtener una matriz S[K]2 (S_squared) y una matriz V[K]. La matriz S[K]2 puede designar una matriz S[K] al cuadrado, con lo que la unidad LIT 30 (o, alternativamente, la unidad SVD 200 como un ejemplo) puede aplicar una operación de raíz cuadrada a la matriz S[K]2 para obtener la matriz S[K]. La unidad SVD 200 puede, en algunos casos, realizar la cuantización con respecto a la matriz V[K] para obtener una matriz V[K] cuantizada (que puede estar designada como matriz V[K]'). La unidad LIT 30 puede obtener la matriz U[K] multiplicando primero la matriz S[K] por la matriz cuantizada V[K]' para obtener una matriz SV[K]'. La unidad LIT 30 puede obtener a continuación la pseudoinversa (pinv) de la matriz SV[K]' y luego multiplicar los coeficientes HOA 11 por la pseudoinversa de la matriz SV[K]' para obtener la matriz U[K]. Lo anterior puede estar representado por el siguiente pseudocódigo:
PSD = hoaFrame’*hoaFrame;
[V, S_squared] = svd(PSD,’econ’);
S = sqrt(S_squared);
U = hoaFrame * pinv(S*V’);
[0248] Mediante la realización de SVD con respecto a la densidad espectral de potencia (PSD) de los coeficientes HOA en lugar de los coeficientes en sí, la unidad LIT 30 puede reducir potencialmente la complejidad computacional de realizar la SVD en términos de uno o más ciclos de procesador y espacio de almacenamiento, mientras que se consigue la misma eficacia en la codificación de la fuente de audio como si la SVD se aplicara directamente a los coeficientes HOA. Es decir, la SVD de tipo PSD anteriormente descrita puede ser potencialmente menos exigente de cálculo porque la SVD se realiza sobre una matriz F*F (con F el número de coeficientes HOA). En comparación con una matriz M * F con M es la longitud de tramas, es decir, 1024 o más muestras. La complejidad de una SVD puede ahora, a través de la aplicación a la PSD en lugar de los coeficientes HOA 11, estar alrededor de O(LA3) en comparación con O(M*LA2) cuando se aplica a los coeficientes HOA 11 (donde O(*) indica la notación gran-O de la complejidad computacional común a las ciencias informáticas).
[0249] La FIG. 9B es un diagrama de bloques que ilustra la unidad de cálculo de parámetros 32 del dispositivo de codificación de audio 20 con más detalle. La unidad de cálculo de parámetros 32 puede incluir una unidad de análisis de energía 202 y una unidad de correlación cruzada 204. La unidad de análisis de energía 202 puede realizar el análisis de energía descrito anteriormente con respecto a uno o más de los vectores US[K] 33 y los vectores V[K] 35 para generar uno o más de los parámetros de correlación (R), los parámetros de propiedades direccionales (G, y, t) y la propiedad de la energía (e) para uno o más de la trama actual (K) o de la trama anterior (K- 1). Del mismo modo, la unidad de correlación cruzada 204 puede realizar la correlación cruzada descrita anteriormente con respecto a uno o más de los vectores US[K] 33 y los vectores V[K] 35 para generar uno o más de los parámetro de correlación (R), los parámetros de propiedades direccionales (G, y, t) y la propiedad de la energía (e) para una o más de la trama actual (K) o de la trama anterior (K-1). La unidad de cálculo de parámetros 32 puede emitir los parámetros de las tramas actuales 37 y los parámetros de las tramas anteriores 39.
[0250] La FIG. 9C es un diagrama de bloques que ilustra la unidad de reordenación 34 del dispositivo de codificación de audio 20 con más detalle. La unidad de reordenación 34 incluye una unidad de evaluación de parámetros 206 y una unidad de reordenación de vectores 208. La unidad de evaluación de parámetros 206 representa una unidad configurada para evaluar los parámetros de las tramas anteriores 39 y los parámetros de la trama actual 37 de la manera descrita anteriormente para generar índices de reordenación 205. Los índices de reordenación 205 incluyen índices que identifican cómo se reordenarán los vectores de los vectores US[K] 33 y los vectores de los vectores V[K] 35 (por ejemplo, por pares de índice con el primer índice del par que identifica el índice de la ubicación actual del vector y el segundo índice del par que identifica la ubicación reordenada del vector). La unidad de reordenación de vectores 208 representa una unidad configurada para reordenar los vectores US[K] 33 y los vectores V[K] 35 de acuerdo con los índices de reordenación 205. La unidad de reordenación 34 puede emitir los vectores US[K] reordenados 33' y los vectores V[K] reordenados 35', al pasar también los índices de reordenación 205 como uno o más elementos de sintaxis a la unidad de generación del flujo de bits 42.
[0251] La FIG. 9D es un diagrama de bloques que ilustra la unidad de análisis del campo sonoro 44 del dispositivo de codificación de audio 20 con más detalle. Como se muestra en el ejemplo de la FIG. 9d, la unidad de análisis del campo sonoro 44 puede incluir una unidad de análisis de los valores singulares 210A, una unidad de análisis de energía 210B, una unidad de análisis espacial 210C, una unidad de análisis de enmascaramiento espacial 210D, una unidad de análisis de difusión 210E y una unidad de análisis direccional 210F. La unidad de análisis de los
5
10
15
20
25
30
35
40
45
50
55
60
65
valores singulares 210A puede representar una unidad configurada para analizar la pendiente de la curva creada por los valores diagonales descendentes de S vectores (que forman parte de los vectores US[ft] 33), donde los grandes valores singulares representan sonidos de primer plano o distintos sonidos y los valores singulares bajos representan componentes de fondo del campo sonoro, como se ha descrito anteriormente. La unidad de análisis de energía 210B puede representar una unidad configurada para determinar la energía de los vectores V[ft] 35 sobre una base por vector.
[0252] La unidad de análisis espacial 210C puede representar una unidad configurada para realizar el análisis de energía espacial descrito anteriormente mediante la transformación de los coeficientes HOA 11 en el dominio espacial e identificar áreas de alta energía representativas de los componentes direccionales del campo sonoro que deben ser preservadas. La unidad de análisis de enmascaramiento espacial 210D puede representar una unidad configurada para realizar el análisis de enmascaramiento espacial de una manera similar a la del análisis de energía espacial, excepto que la unidad de análisis de enmascaramiento espacial 210D puede identificar áreas espaciales que están enmascaradas por sonidos de energía superior espacialmente próximos. La unidad 210E de análisis de difusión puede representar una unidad configurada para realizar el análisis de difusión descrito anteriormente con respecto a los coeficientes HOA 11 para identificar áreas de energía difusa que pueden representar componentes de fondo del campo sonoro. La unidad de análisis direccional 210F puede representar una unidad configurada para realizar el análisis direccional anotado anteriormente que implica el cálculo de los vectores VS[ft], y el cuadrado y la suma de cada entrada de cada uno de estos vectores VS[K] para identificar un cociente de direccionalidad. La unidad de análisis direccional 210F puede proporcionar este cociente de direccionalidad para cada uno de los vectores VS[K] a la unidad de identificación de fondo/primer plano (BG/FG) (ID) 212.
[0253] La unidad de análisis del campo sonoro 44 puede incluir también la unidad de ID BG/FG 212, que puede representar una unidad configurada para determinar el número total de canales de primer plano (nFG) 45, el orden del campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de canales BG HOA adicionales para enviar (que se pueden designar colectivamente como información de canal de fondo 43 en el ejemplo de la FIG. 4) basado en cualquier combinación de la salida de análisis por cualquier combinación de unidades de análisis 210-210F. La unidad de ID de BG/FG 212 puede determinar el nFG 45 y la información de canal de fondo 43 para alcanzar la velocidad de bits objetivo 41.
[0254] La FIG. 9E es un diagrama de bloques que ilustra la unidad de selección del primer plano 36 del dispositivo de codificación de audio 20 con más detalle. La unidad de selección del primer plano 36 incluye una unidad de análisis de vectores 214 que puede analizar o extraer de otro modo los vectores US[K] de primer plano 49 y los vectores V[K] de primer plano 51k identificados por el elemento de sintaxis nFG 45 a partir de los vectores US[K] reordenados 33' y los vectores V[K] reordenados 35'. La unidad de análisis de vectores 214 puede analizar los diversos vectores representativos de los componentes en primer plano del campo sonoro identificados por la unidad de análisis del campo sonoro 44 y especificados por el elemento de sintaxis de nFG 45 (que también se puede denominar información de canal de primer plano 45). Como se muestra en el ejemplo de la FIG. 9E, la unidad de análisis de vectores 214 puede seleccionar, en algunos casos, vectores no consecutivos dentro de los vectores US[K] de primer plano 49 y los vectores V[K] de primer plano 51k para representar los componentes en primer plano del campo sonoro. Además, la unidad de análisis de vectores 214 puede seleccionar, en algunos casos, los mismos vectores (posición) de los vectores US[K] de primer plano 49 y los vectores V[K] de primer plano 51 k para representar los componentes en primer plano del campo sonoro.
[0255] La FIG. 9F es un diagrama de bloques que ilustra la unidad de selección de fondo 48 del dispositivo de codificación de audio 20 con más detalle. La unidad de selección de fondo 48 puede determinar coeficientes HOA de fondo o ambientales 47 basados en la información de canal de fondo (por ejemplo, el campo sonoro de fondo (Nbg) y el número (nBGa) y los índices (i) de canales BG HOA adicionales para enviar). Por ejemplo, cuando Nbg es igual a uno, la unidad de selección de fondo 48 puede seleccionar los coeficientes HOA 11 para cada muestra de la trama de audio que tiene un orden igual o inferior a uno. La unidad de selección de fondo 48 puede, en este ejemplo, seleccionar entonces los coeficientes HOA 11 que tienen un índice identificado por uno de los índices (i) como coeficientes adicionales de BG HOA, en donde el nBGa se proporciona a la unidad de generación del flujo de bits 42 que se especificará en el flujo de bits 21 para permitir que el dispositivo de descodificación de audio, tal como el dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5, pueda analizar los coeficientes BG HOA 47 del flujo de bits 21. La unidad de selección de fondo 48 puede emitir entonces los coeficientes HOA ambientales 47 a la unidad de compensación de energía 38. Los coeficientes HOA ambientales 47 pueden tener dimensiones D: M x [(Nbg+1)2+nBGa].
[0256] La FIG. 9G es un diagrama de bloques que ilustra la unidad de compensación de energía 38 del dispositivo de codificación de audio 20 con más detalle. La unidad de compensación de energía 38 puede representar una unidad configurada para realizar compensación de energía con respecto a los coeficientes HOA ambientales 47 para compensar la pérdida de energía debido a la eliminación de varios de los canales HOA por la unidad de selección de fondo 48. La unidad de compensación de energía 38 puede incluir una unidad de determinación de energía 218, una unidad de análisis de energía 220 y una unidad de amplificación de energía 222.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0257] La unidad 218 de determinación de energía puede representar una unidad configurada para identificar el RMS para cada fila y/o columna de una o más de la matriz reordenada US[K] 33' y la matriz reordenada V[K] 35'. La unidad de determinación de energía 38 también puede identificar el RMS para cada fila y/o columna de uno o más de los canales de primer plano seleccionados, los cuales pueden incluir las señales nFG 49 y los vectores V[K] de primer plano 51k y los coeficientes HOA ambientales de orden reducido 47. El RMS para cada fila y/o columna de una o más de la matriz US[K] reordenada 33' y la matriz V[K] reordenada 35' puede almacenarse en un vector indicado RMScompleto, mientras que el RMS para cada fila y/o la columna de una o más de las señales nFG 49, los vectores V[K] primer plano 51k y los coeficientes HOA ambientales de orden reducido 47 pueden almacenarse en un vector indicado RMSreducido.
[0258] En algunos ejemplos, para determinar cada RMS de las respectivas filas y/o columnas de una o más de la matriz US[K] reordenada 33', la matriz V[K] reordenada 35', las señales nFG 49, el primer plano V[K] Vectores 51 k, y los coeficientes HOA ambientales de orden reducido 47, la unidad de determinación de energía 218 puede aplicar primero unos coeficiente de armónicos esféricos (SHC) de referencia a las columnas. La aplicación del renderizador de los SHC de referencia por la unidad 218 de determinación de energía permite la determinación de RMS en el dominio SHC para determinar la energía del campo sonoro total descrito por cada fila y/o columna de la trama representado por filas y/o columnas de uno o más más de la matriz US[K] reordenada 33', la matriz V[K] reordenada 35', las señales nFG 49, los vectores V[K] 51 k de primer plano y los coeficientes HOA ambientales de orden reducido 47. La unidad de determinación de energía 38 puede pasar estos vectores RMScompleto y RMSreducido a la unidad 220 de análisis de energía.
[0259] La unidad de análisis de energía 220 puede representar una unidad configurada para calcular un vector de valores de amplificación Z, de acuerdo con la siguiente ecuación: Z = RMScompleto/RMSreducido. La unidad de análisis de energía 220 puede entonces pasar este vector de valores de amplificación Z a la unidad de amplificación de energía 222. La unidad de amplificación de energía 222 puede representar una unidad configurada para aplicar este vector de valores de amplificación Z o varias partes del mismo a una o más de las señales nFG 49, los vectores V[K] de primer plano 51 k y los coeficientes HOA ambientales de orden reducido 47. En algunos casos, el vector de valores de amplificación Z se aplica solo a los coeficientes HOA ambientales de orden reducido 47 por la siguiente ecuación HOAbg-red' = HOAbg-redZt, donde HOAbg-red indica los coeficientes HOA ambientales de orden reducido 47, HOAbg-red' indica los coeficientes HOA ambientales reducidos y reducidos en energía 47' y ZT representa la transposición del vector Z.
[0260] La FIG. 9H es un diagrama de bloques que ilustra, con más detalle, la unidad de interpolación espacio- temporal 50 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad de interpolación espacio-temporal 50 puede representar una unidad configurada para recibir los vectores V[K] de primer plano 51 k para la k-ésima trama y los vectores V[K-1] de primer plano 51 k-1 para la trama anterior (de ahí la anotación k-1) y realizar interpolación espacio-temporal para generar los vectores V[K] de primer plano interpolados. La unidad de interpolación espacio-temporal 50 puede incluir una unidad de interpolación V 224 y una unidad de adaptación de primer plano 226.
[0261] La unidad de interpolación V 224 puede seleccionar una parte de los vectores V[K] actuales de primer plano 51 k para interpolar basándose en las partes restantes de los vectores V[K] actuales de primer plano 51 k y los vectores anteriores V[K-1] de primer plano 51 k -1. La unidad de interpolación V 224 puede seleccionar la parte para ser una o más de las subtramas anotadas anteriormente o solo una única parte indefinida que puede variar según una base de trama a trama. La unidad de interpolación V 224 puede, en algunos casos, seleccionar una única 128 parte de muestras de las muestras 1024 de los vectores V[K] de primer plano actuales 51 k para interpolar. La unidad de interpolación V 224 puede entonces convertir cada uno de los vectores en los vectores V[k] de primer plano actuales 51 k y los vectores anteriores V[K-1] de primer plano 51 k-1 para separar mapas espaciales proyectando los vectores en una esfera (utilizando una matriz de proyección tal como una matriz de diseño T). La unidad de interpolación V 224 puede entonces interpretar los vectores en V como formas en una esfera. Para interpolar las matrices V para la parte de 256 muestras, la unidad de interpolación V 224 puede interpolar entonces estas formas espaciales y luego transformarlas de nuevo a los vectores de dominio armónico esférico a través de la inversa de la matriz de proyección. Las técnicas de esta descripción pueden, de esta manera, proporcionar una transición suave entre las matrices V. La unidad de interpolación V 224 puede entonces generar los vectores restantes V[K] 53, que representan los vectores V[K] de primer plano 51 k después de haber sido modificados para eliminar la parte interpolada de los vectores V[K] de primer plano 51 k. La unidad de interpolación V 224 puede entonces pasar los vectores V[K] interpolados de primer plano 51K a la unidad de adaptación de nFG 226.
[0262] Cuando se selecciona una sola parte a interpolación, la unidad de interpolación V 224 puede generar un elemento sintáctico denominado CodedSpatialInterpolationTime 254, que identifica la duración o, en otras palabras, el tiempo de la interpolación (por ejemplo, en términos de un número de muestras). Cuando se selecciona una sola parte de realizar la interpolación de subtrama, la unidad de interpolación V 224 también puede generar otro elemento de sintaxis denominado SpatialInterpolationMethod 255, que puede identificar un tipo de interpolación realizada (o, en algunos casos, si la interpolación fue realizada o no). La unidad de interpolación espacio-temporal 50 puede emitir estos elementos de sintaxis 254 y 255 a la unidad de generación del flujo de bits 42.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0263] La unidad de adaptación de nFG 226 puede representar una unidad configurada para generar las señales de nFG adaptadas 49'. La unidad de adaptación de nFG 226 puede generar las señales de nFG adaptadas 49' obteniendo primero los coeficientes HOA de primer plano mediante la multiplicación de las señales nFG 49 por los vectores V[K] 51 k de primer plano. Después de obtener los coeficientes HOA de primer plano, la unidad de adaptación de nFG 226 puede dividir los coeficientes HOA de primer plano por los vectores V[K] interpolados en primer plano 53 para obtener las señales nFG adaptadas 49' (que se pueden denominar las señales nFG interpoladas 49' dado que estas señales se derivan de los vectores V[K] interpolados de primer plano 51 k').
[0264] La FIG. 9I es un diagrama de bloques que ilustra, con más detalle, la unidad de reducción de coeficientes 46 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad de reducción de coeficientes 46 puede representar una unidad configurada para realizar una reducción de coeficiente con respecto a los vectores V[K] de primer plano restantes 53 basados en la información de canal de fondo 43 para emitir los vectores de primer plano reducidos V[K] 55 a la unidad de cuantización 52. Los vectores de primer plano reducidos V[K] 55 pueden tener dimensiones D: [(N+1 )2 - (Nbg+1 )2 - nBGa] x nFG.
[0265] La unidad de reducción de coeficientes 46 puede incluir una unidad de minimización de coeficientes 228, que puede representar una unidad configurada para reducir o minimizar de otro modo el tamaño de cada uno de los vectores V[K] de primer plano restantes 53 eliminando cualquier coeficiente que se contabilice en los coeficientes HOA de fondo 47 (identificados por la información de canal de fondo 43). La unidad de minimización de coeficientes 228 puede eliminar aquellos coeficientes identificados por la información de canal de fondo 43 para obtener los vectores V[k] de primer plano reducidos 55.
[0266] La FIG. 9J es un diagrama de bloques que ilustra, con más detalle, la unidad codificadora de audio psicoacústico 40 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad codificadora de audio psicoacústico 40 puede representar una unidad configurada para realizar la codificación psicoacústica con respecto a los coeficientes HOA de fondo compensados de energía 47' y las señales nFG interpoladas 49'. Como se muestra en el ejemplo de la FIG. 9H, la unidad codificadora de audio psicoacústico 40 puede invocar múltiples instancias de un codificador de audio psicoacústico 40A-40N para codificar en audio cada uno de los canales de los coeficientes HOA de fondo compensado de energía 47' (donde un canal en este contexto hace referencia a coeficientes para todas las muestras en la trama correspondiente a una función de base esférica y orden/suborden particular) y cada señal de las señales nFG interpoladas 49'. En algunos ejemplos, la unidad codificadora de audio psicoacústico 40 instancia, o de otra manera incluye, (cuando se implementa en hardware) codificadores de audio 40A-40N de número suficiente para codificar por separado cada canal de los coeficientes HOA de fondo compensados de energía 47'(o nBGa más el número total de índices (i)) y cada señal de las señales nFG interpoladas 49' (o nFG) para un total de nBGa más el número total de índices (i) de canales HOA ambientales adicionales más nFG. Los codificadores de audio 40A-40N pueden emitir los coeficientes HOA de fondo codificados 59 y las señales nFG codificadas 61.
[0267] La FIG. 9K es un diagrama de bloques que ilustra, con más detalle, la unidad de cuantización 52 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. En el ejemplo de la FIG. 9K, la unidad de cuantización 52 incluye una unidad de cuantización uniforme 230, una unidad de nbits 232, una unidad de predicción 234, una unidad de modo de predicción 236 ("Pred Mode Unit 236"), una unidad de codificación de categoría y residuo 238 y una unidad de selección de tabla Huffman 240. La unidad de cuantización uniforme 230 representa una unidad configurada para llevar a cabo la cuantización uniforme descrita anteriormente con respecto a uno de los componentes espaciales (que puede representar cualquiera de los vectores V[K] de primer plano reducidos 55). La unidad de nbits 232 representa una unidad configurada para determinar el parámetro o valor de nbits.
[0268] La unidad de predicción 234 representa una unidad configurada para realizar la predicción con respecto al componente espacial cuantizado. La unidad de predicción 234 puede realizar la predicción realizando una sustracción de elementos del actual de los vectores V[K] de primer plano reducidos 55 por un vector correspondiente temporal posterior de los V[K] vectores de primer plano reducidos 55 (que se pueden designar como vectores reducidos en primer plano V[K-1] 55). El resultado de esta predicción puede ser referido como un componente espacial predicho.
[0269] La unidad de modo de predicción 236 puede representar una unidad configurada para seleccionar el modo de predicción. La unidad de selección de tabla Huffman 240 puede representar una unidad configurada para seleccionar una tabla Huffman apropiada para la codificación del cid. La unidad de modo de predicción 236 y la unidad de selección de tabla Huffman 240 pueden funcionar, como un ejemplo, de acuerdo con el siguiente pseudocódigo:
Para un determinado nbits, recuperar todas las tablas Huffman con nbits
B00 = 0; B01 = 0; B _ {10} = 0; B11 = 0; // inicializar para calcular los bits esperados por modo de codificación para m = 1: (# elementos en el vector)
// calcular el número esperado de bits para un elemento vectorial v (m)
5
10
15
20
25
30
35
40
45
50
55
60
// sin predicción y utilizando tabla Huffman 5 B00 = B00 + calculate_bits(v (m), HT5);
// sin predicción y utilizando tabla Huffman {1, 2, 3}
B01 = B01 + calculate_bits(v (m), HTq); q in {1, 2, 3}
// calcular el número esperado de bits para el residuo de predicción e (m) e (m) = v (m) - vp (m); // vp (m): elemento vectorial de trama anterior // con predicción y uso de tabla Huffman 4 B10 = B10 + calculate_bits(e(m), HT4);
// con predicción y uso de Huffman Tabla 5 B11 = B11 + calculate_bits (e (m), HT5); fin
// encuentra un mejor modo de predicción y una tabla Huffman que producen bits mínimos // el mejor modo de predicción y la tabla Huffman son marcados por pflag y Htflag, respectivamente.
[Be, id] = min ([B00 B01 B10 B11]);
Conmutar id
caso 1: pflag = 0; HTflag = 0; caso 2: pflag = 0; HTflag = 1; caso 3: pflag = 1; HTflag = 0; caso 4: pflag = 1; HTflag = 1; fin
[0270] La unidad de codificación de categoría y residuo 238 puede representar una unidad configurada para realizar la categorización y la codificación residual de un componente espacial previsto o el componente espacial cuantizado (cuando la predicción está desactivada) de la manera descrita con más detalle anteriormente.
[0271] Como se muestra en el ejemplo de la FIG. 9K, la unidad de cuantización 52 puede emitir varios parámetros o valores para su inclusión en el flujo de bits 21 o información lateral (que puede ser un flujo de bits separado del flujo de bits 21). Asumiendo que la información se especifica en la información de canal lateral, la unidad de cuantización escalar/entropía 50 puede emitir el valor de nbits como valor de nbits 233, el modo de predicción como modo de predicción 237 y la información de tabla Huffman como información de tabla Huffman 241 a unidad de generación del flujo de bits 42 junto con la versión comprimida del componente espacial (que se muestra como vectores de primer plano codificados V[A] 57 en el ejemplo de la FIG. 4), que en este ejemplo puede referirse al código de Huffman seleccionado para codificar el cid, el bit de signo y el residuo codificado por bloques. El valor de nbits se puede especificar una vez en la información de canal lateral para todos los vectores V[ft] codificados de primer plano 57, mientras que el modo de predicción y la información de tabla Huffman pueden especificarse para cada uno de los vectores V[ft] codificados de primer plano 57. La parte del flujo de bits que especifica la versión comprimida del componente espacial se muestra más en el ejemplo de las FIG. 10B y/o 10C.
[0272] La FIG. 9L es un diagrama de bloques que ilustra, con más detalle, la unidad de generación del flujo de bits 42 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad de generación del flujo de bits 42 puede incluir una unidad de generación de información de canal principal 242 y una unidad de generación de información de canal lateral 244. La unidad de generación de información de canal principal 242 puede generar un flujo de bits principal 21 que incluye uno o más, si no todos, los índices de reordenación 205, el elemento de sintaxis CodedSpatialInterpolationTime 254, el elemento de sintaxis SpatialInterpolationMethod 255, los coeficientes HOA de fondo codificados 59 y las señales nFG codificadas 61. La unidad de generación de información de canal lateral 244 puede representar una unidad configurada para generar un flujo de bits de canal lateral 21B que puede incluir uno o más, si no todos, del valor de nbits 233, el modo de predicción 237, la información de tabla Huffman 241 y los vectores V[ft] de primer plano codificados 57. Los flujos de bits 21 y 21B pueden denominarse en conjunto como el flujo de bits 21. En algunos contextos, el flujo de bits 21 solo puede referirse al flujo de bits de canal principal 21, mientras que el flujo de bits 21B puede denominarse información de canal lateral 21B.
[0273] Las FIG. 10A-10O(ii) son diagramas que ilustran partes de la información del canal de bits o del canal lateral que puede especificar los componentes espaciales comprimidos con más detalle. En el ejemplo de la FIG. 10A, una parte 250 incluye un campo identificador del renderizador ("renderer ID") 251 y un campo HOADecoderConfig 252. El campo ID del renderizador 251 puede representar un campo que almacena un ID del renderizador que se ha utilizado para la mezcla del contenido HOA. El campo HOADecoderConfig 252 puede representar un campo configurado para almacenar la información para inicializar el descodificador espacial HOA.
[0274] El campo HOADecoderConfig 252 incluye además un campo de información direccional ("direction info") 253, un campo CodedSpatialInterpolationTime 254, un campo SpatialInterpolationMethod 255, un campo CodedVVecLength 256 y un campo de información de ganancia 257. El campo de información direccional 253 puede representar un campo que almacena información para configurar el descodificador de síntesis direccional. El campo CodedSpatialInterpolationTime 254 puede representar un campo que almacena un tiempo de la interpolación
5
10
15
20
25
30
35
40
45
50
55
60
65
espacio-temporal de las señales basadas en vectores. El campo SpatialInterpolationMethod 255 puede representar un campo que almacena una indicación del tipo de interpolación aplicada durante la interpolación espacio-temporal de las señales basadas en vectores. El campo CodedVVecLength 256 puede representar un campo que almacena una longitud del vector de datos transmitido utilizado para sintetizar las señales basadas en vectores. El campo de información de ganancia 257 representa un campo que almacena información indicativa de una corrección de ganancia aplicada a las señales.
[0275] En el ejemplo de la FIG. 10B, la parte 258A representa una parte del canal de información lateral, en donde la parte 258A incluye una cabecera de trama 259 que incluye un número de campos de bytes 260 y un campo de bits 261. El número de bytes del campo 260 puede representar un campo para expresar el número de bytes incluidos en la trama para especificar los componentes espaciales v1 a vn que incluyen los ceros para el campo de alineación de bytes 264. El campo nbits 261 representa un campo que puede especificar el valor nbits identificado para su uso en la descompresión de los componentes espaciales v1-vn.
[0276] Como se muestra adicionalmente en el ejemplo de la FIG. 10B, la parte 258A puede incluir flujos de bits secundarios para v1-vn, cada una de las cuales incluye un campo de modo de predicción 262, un campo de información de tabla Huffman 263 y uno correspondiente de los componentes espaciales comprimidos v1-vn. El campo de modo de predicción 262 puede representar un campo para almacenar una indicación de si la predicción se ha realizado con respecto al correspondiente de los componentes espaciales comprimidos v1-vn. El campo de información de tabla Huffman 263 representa un campo para indicar, al menos en parte, qué tabla Huffman se va a utilizar para descodificar diversos aspectos de los correspondientes componentes espaciales comprimidos v1 -vn.
[0277] A este respecto, las técnicas pueden permitir que el dispositivo de codificación de audio 20 obtenga un flujo de bits que comprende una versión comprimida de un componente espacial de un campo sonoro, el componente espacial generado realizando una síntesis basada en vectores con respecto a una pluralidad de coeficientes armónicos esféricos.
[0278] La FIG. 10C es un diagrama que ilustra un ejemplo alternativo de una parte 258B de la información de canal lateral que puede especificar los componentes espaciales comprimidos con más detalle. En el ejemplo de la FIG. 10C, la parte 258B incluye una cabecera de trama 259 que incluye un campo Nbits 261. El campo Nbits 261 representa un campo que puede especificar un valor nbits identificado para su uso en la descompresión de los componentes espaciales v1 -vn.
[0279] Como se muestra adicionalmente en el ejemplo de la FIG. 10C, la parte 258B puede incluir flujos de bits secundarios para v1-vn, cada uno de las cuales incluye un campo de modo de predicción 262, un campo de información de tabla Huffman 263 y uno correspondiente de los componentes espaciales comprimidos v1-vn. El campo de modo de predicción 262 puede representar un campo para almacenar una indicación de si la predicción se ha realizado con respecto al correspondiente de los componentes espaciales comprimidos v1-vn. El campo de información de tabla Huffman 263 representa un campo para indicar, al menos en parte, qué tabla Huffman se va a utilizar para descodificar diversos aspectos de los correspondientes componentes espaciales comprimidos v1 -vn.
[0280] El campo Nbits 261 en el ejemplo ilustrado incluye los subcampos A 265, B 266 y C 267. En este ejemplo, A 265 y B 266 son cada uno subcampos de 1 bit, mientras que C 267 es un subcampo de 2 bits. Otros ejemplos pueden incluir subcampos de tamaño diferente 265, 266 y 267. El campo A 265 y el campo B 266 pueden representar campos que almacenan primer y segundo bits más significativos del campo Nbits 261, mientras que el campo C 267 puede representar un campo que almacena los bits menos significativos del campo Nbits 261.
[0281] La parte 258B también puede incluir un campo AddAmbHoaInfoChannel 268. El campo AddAmbHoaInfoChannel 268 puede representar un campo que almacena información para los coeficientes HOA ambientales adicionales. Como se muestra en el ejemplo de la FIG. 10C, el AddAmbHoaInfoChannel 268 incluye un campo CodedAmbCoeffIdx 246, un campo AmbCoeffIdxTransition 247. El campo CodedAmbCoeffIdx 246 puede representar un campo que almacena un índice de un coeficiente HOA ambiental adicional. El campo AmbCoeffIdxTransition 247 puede representar un campo configurado para almacenar datos indicativos de si, en esta trama, un coeficiente HOA ambiente adicional está o bien se ha desvanecido o ha desaparecido.
[0282] La FIG. 10C(i) es un diagrama que ilustra un ejemplo alternativo de una parte 258B' de la información de canal lateral que puede especificar los componentes espaciales comprimidos con más detalle. En el ejemplo de la FIG. 10C(i), la parte 258B' incluye una cabecera de trama 259 que incluye un campo Nbits 261. El campo Nbits 261 representa un campo que puede especificar un valor nbits identificado para su uso en la descompresión de los componentes espaciales v1 -vn.
[0283] Como se muestra adicionalmente en el ejemplo de la FIG. 10C(i), la parte 258B' puede incluir flujos de bits secundarios para v1-vn, cada uno de los cuales incluye un campo 263 de información de la tabla Huffman y uno correspondiente de los componentes direccionales comprimidos v1-vn sin incluir el campo de modo de predicción 262. En todos los demás aspectos, la parte 258B' puede ser similar a la parte 258B.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0284] La FIG. 10D es un diagrama que ilustra una parte 258C del flujo de bits 21 con más detalle. La parte 258C es similar a la parte 258, excepto que la cabecera de trama 259 y la alineación de cero bytes 264 han sido eliminadas, mientras que el campo de Nbits 261 se ha añadido antes de cada uno de los flujos de bits para v1-vn, como se muestra en el ejemplo de la FIG. 10D.
[0285] La FIG. 10D(i) es un diagrama que ilustra una parte 258C' del flujo de bits 21 con más detalle. La parte 258C' es similar a la parte 258C excepto que la parte 258C' no incluye el campo de modo de predicción 262 para cada uno de los V vectores v1-vn.
[0286] La FIG. 10E es un diagrama que ilustra una parte 258D del flujo de bits 21 con más detalle. La parte 258D es similar a la parte 258B, excepto que se han eliminado el encabezado de trama 259 y la alineación de cero bytes 264, mientras que el campo de Nbits 261 se ha añadido antes de cada uno de los flujos de bits para v1-vn, como se muestra en el ejemplo de la FIG. 10E.
[0287] La FIG. 10E(i) es un diagrama que ilustra una parte 258D' del flujo de bits 21 con más detalle. La parte 258D' es similar a la parte 258D excepto que la parte 258D' no incluye el campo de modo de predicción 262 para cada uno de los V vectores v1-vn. A este respecto, el dispositivo de codificación de audio 20 puede generar un flujo de bits 21 que no incluye el campo de modo de predicción 262 para cada vector V comprimido, como se demuestra con respecto a los ejemplos de las FIG. 10C(i), 10D(i) y 10E(i).
[0288] La FIG. 10F es un diagrama que ilustra, de manera diferente, la parte 250 del flujo de bits 21 ilustrada en el ejemplo de la FIG. 10A. La parte 250 que se muestra en el ejemplo de la FIG. 10D, incluye un campo HOAOrder (que no se ha mostrado en el ejemplo de la FIG. 10F para facilitar la ilustración), un campo MinAmbHoaOrder (que de nuevo no se ha mostrado en el ejemplo de la FIG. 10 para facilitar la ilustración), el campo de información direccional 253, el campo CodedSpatialInterpolationTime 254, el campo SpatialInterpolationMethod 255, el campo CodedVVecLength 256 y el campo de información de ganancia 257. Como se muestra en el ejemplo de la FIG. 10F, el campo CodedSpatialInterpolationTime 253 puede comprender un campo de tres bits, el campo SpatialInterpolationMethod 255 puede comprender un campo de un bit y el campo CodedVVecLength 256 puede comprender un campo de dos bits.
[0289] La FIG. 10G es un diagrama que ilustra una parte 248 del flujo de bits 21 con más detalle. La parte 248
representa una carga útil tridimensional (3D) de codificador de voz/audio unificado (USAC) que incluye un campo HOAframe 249 (que también se puede designar como información de banda lateral, información de canal lateral o
flujo de bits de canal lateral). Como se muestra en el ejemplo de la FIG. 10E, la vista ampliada del campo
HOAFrame 249 puede ser similar a la parte 258B del flujo de bits 21 que se muestra en el ejemplo de la FIG. 10C. El "ChannelSideInfoData" incluye un campo ChannelType 269, que no se ha mostrado en el ejemplo de la FIG. 10C para facilitar la ilustración, el campo A 265 designado como "ba" en el ejemplo de la FIG. 10E, el campo B 266
designado como "bb" en el ejemplo de la FIG. 10E y el campo C 267 designado como "unitC" en el ejemplo de la
FIG. 10E. El campo ChannelType indica si el canal es una señal basada en la dirección, una señal basada en vectores o un coeficiente HOA ambiental adicional. Entre diferentes ChannelSideInfoData hay campos AddAmbHoaInfoChannel 268 con los diferentes flujos de bits de vectores V indicados en gris (por ejemplo, "flujo de bits para v1" y "flujo de bits para v2").
[0290] Las FIG. 10H-10O(ii) son diagramas que ilustran otras varias partes de ejemplo 248H-248O del flujo de bits 21 junto con las partes de HOAconfig correspondientes 250H-250O con más detalle. Las FIG. 10H(i) y 10H(ii) ilustran un primer flujo de bits de ejemplo 248H y la parte de HOAconfig correspondiente 250H que se ha generado para corresponder con el caso 0 en el pseudocódigo anterior. En el ejemplo de la FIG. 10H(i), la parte de HOAconfig 250H incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, por ejemplo, todos los 16 elementos vectoriales V. La parte de HOAconfig 250H también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250H además incluye un conjunto CodedSpatialInterpolationTime 254 para indicar una duración de muestra interpolada de 256. La parte de HOAconfig 250H incluye además un elemento de sintaxis MinAmbHoaOrder 150 establecido para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumofCoeffsForAmbHOA igual a (1+1)2 o cuatro. La parte de HOAconfig 250H incluye un elemento de sintaxis HoaOrder 152 configurado para indicar que el orden de HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOf-HoaCoeffs a ser Igual a (N+1 )2 o 16.
[0291] Como se muestra adicionalmente en el ejemplo de la FIG. 10H(i), la parte 248H incluye una trama de audio unificada de codificación de voz y audio (USAC) tridimensional (USAC-3D) en la que dos tramas HOA 249A y 249B se almacenan en una carga útil de extensión USAC dado que se almacenan dos tramas de audio dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles como una función de un elemento de sintaxis numHOATransportChannels y un elemento de sintaxis MinNumOfCoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis
5
10
15
20
25
30
35
40
45
50
55
60
65
MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0292] La FIG. 10H(ii) ilustra las tramas 249A y 249B con más detalle. Como se muestra en el ejemplo de la FIG. 10H(ii), la trama 249A incluye los campos 154-154C de ChannelSideInfoData (CSID), los campos HOAGainCorrectionData (HOAgCd), los campos VVectorData 156 y 156B y los campos HOAPredictionInfo. El campo CSID 154 incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales se ajusta a los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10H(i). El campo CSID 154B incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1,0 y 01 que se muestran en el ejemplo de la FIG. 10H(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3. Cada uno de los campos CSID 154-154C corresponde al canal respectivo de los canales de transporte 1, 2 y 3. En efecto, cada campo CSID 154-154C indica si la carga útil correspondiente 156 y 156B son señales basadas en la dirección (cuando el ChannelType correspondiente es igual a cero), señales basadas en vectores (cuando el ChannelType correspondiente es igual a uno), un coeficiente HOA ambiental adicional (cuando el ChannelType correspondiente es igual a dos) o vacío (cuando el ChannelType es igual a tres).
[0293] En el ejemplo de la FIG. 10H(ii), la trama 249A incluye dos señales basadas en vectores (dado el ChannelType 269 igual a 1 en los campos CSID 154 y 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250H, el dispositivo de descodificación de audio 24 puede determinar que todos los 16 elementos vectoriales V están codificados. Por tanto, los VVectorData 156 y 156B incluyen cada uno de los 16 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se señala con el asterisco único (*), el esquema de codificación se señala con NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0294] En la trama 249B, el campo CSID 154 y 154B son los mismos que en la trama 249, mientras que el campo CSID 154C de la trama 249B ha conmutado a un ChannelType de uno. El campo CSID 154C de la trama 249b incluye por lo tanto el Cbflag 267, el Pflag 267 (que indica la codificación de Huffman) y el Nbits 261 (igual a doce). Como resultado, la trama 249B incluye un tercer campo VVectorData 156C que incluye 16 elementos vectoriales de V, cada uno de ellos cuantizado uniformemente con 12 bits y codificado por Huffman. Como se ha indicado anteriormente, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0, mientras que el esquema de codificación de Huffman está señalizado por el NbitsQ = 12, CbFlag = 0 y Pflag = 0 en el campo CSID 154C para este particular canal de transporte (por ejemplo, canal de transporte n° 3).
[0295] El ejemplo de las FIG. 10I(i) y 10I(ii) ilustran un segundo flujo de bits de ejemplo 248I y la parte de HOAconfig correspondiente 250I que ha sido generada para corresponder con el caso 0 en el pseudocódigo anterior. En el ejemplo de la FIG. 10I(i), la parte de configuración HOA 250I incluye un elemento de sintaxis CodedVVecLength 256 configurado para indicar que todos los elementos de un vector V están codificados, por ejemplo, todos los 16 elementos vectoriales de V. La parte de HOAconfig 250I también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250I además incluye un CodedSpatialInterpolationTime 254 configurado para indicar una duración de la muestra interpolada de 256.
[0296] La parte de HOAconfig 250I incluye además un elemento sintaxis MinAmbHoaOrder 150 configurado para indicar que el orden MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento sintáctico MinNumof-CoeffsForAmbHOA para que sea igual a (1+1)2 o cuatro. El dispositivo de descodificación de audio 24 puede obtener también un elemento de sintaxis MaxNoofAddActiveAmbCoeffs configurado como una diferencia entre el elemento de sintaxis NumOfHoaCoeff y el MinNumOfCoeffsForAmbHOA, que se supone en este ejemplo igual a 16-4 o 12. El dispositivo de descodificación de audio 24 también puede obtener un elemento de sintaxis AmbAsignmbits configurado como ceil(log2(MaxNoOfAddActiveAmbCoeffs)) = ceil(log2(12)) = 4. La parte de HOAconfig 250H incluye un elemento de sintaxis HoaOrder 152 configurado para indicar que el orden HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N+1)2 o 16.
[0297] Como se muestra adicionalmente en el ejemplo de la FIG. 10I(i), la parte 248H incluye una trama de audio USAC-3D en la que dos tramas HOA 249C y 249D están almacenadas en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis de MinNumOfCoeffs-ForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0298] La FIG. 10I(ii) ilustra las tramas 249C y 249D con más detalle. Como se muestra en el ejemplo de la FIG. 10I(ii), la trama 249C incluye los campos de CSID 154-154C y campos de VVectorData 156. El campo CSID 154 incluye el CodedAmb-CoeffIdx 246, el AmbCoeffIdxTransition 247 (donde el doble asterisco (**) indica que, para el canal de transporte flexible n° 1, aquí se supone que el estado interno del descodificador es AmbCoeffIdxTransitionState = 2, lo que da lugar a que el campo de bits CodedAmbCoeffIdx se indica o se especifica de otro modo en el flujo de bits), y el ChannelType 269 (que es igual a dos, indicando que la carga útil correspondiente es un coeficiente HOA ambiental adicional). El dispositivo de descodificación de audio 24 puede obtener el AmbCoeffIdx como igual al CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA o 5 en este ejemplo. El campo CSID 154B incluye unitC 267, bb 266 y ba265, junto con ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10I(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3.
[0299] En el ejemplo de la FIG. 10I(ii), la trama 249C incluye una única señal basada en vectores (dado que el ChannelType 269 es igual a 1 en los campos CSID 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250I, el dispositivo de descodificación de audio 24 puede determinar que todos los 16 elementos vectoriales V están codificados. Por lo tanto, el VVectorData 156 incluye todos los 16 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se indica en la nota a pie de página 2, el esquema de codificación se indica mediante NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0300] En la trama 249D, el campo CSID 154 incluye un AmbCoeffIdxTransition 247 que indica que no ha ocurrido ninguna transición y, por lo tanto, el CodedAmbCoeffIdx 246 puede estar implícito desde la trama anterior y no necesita ser señalado o de otra manera especificado de nuevo. El campo CSID 154B y 154C de la trama 249D es el mismo que el de la trama 249C y por lo tanto, al igual que la trama 249C, la trama 249D incluye un único campo VVectorData 156, que incluye todos los 16 elementos vectoriales, cada uno de ellos cuantizado uniformemente con 8 bits.
[0301] Las FIG. 10J(i) y 10J(ii) ilustran un primer flujo de bits de ejemplo 248J y la parte de HOA config correspondiente 250J que han sido generados para corresponderse con el caso 1 en el pseudocódigo anterior. En el ejemplo de la FIG. 10J(i), la parte de HOAconfig 250J incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, excepto los elementos de sintaxis del elemento 1 por un elemento de sintaxis MinNumOfCoeffsForAmbHOA y aquellos elementos especificados en un elemento de sintaxis ContAddAmbHoaChan (se supone que es cero en este ejemplo). La parte de HOAconfig 250J también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250J incluye además un CodedSpatialInterpolationTime 254 establecido para indicar una duración de muestra interpolada de 256. La parte de HOAconfig 250J incluye además un elemento de sintaxis MinAmbHoaOrder 150 configurado para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumofCoeffsForAmbHOA igual a (1+1)2 o cuatro. La parte de HOAconfig 250J incluye un elemento de sintaxis HoaOrder 152 configurado para indicar que el orden de HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N + 1 )2 o 16.
[0302] Como se muestra adicionalmente en el ejemplo de la FIG. 10J(i), la parte 248J incluye una trama de audio USAC-3D en la que dos tramas HOA 249E y 249F se almacenan en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis de MinNumOfCoeffs-ForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0303] La FIG. 10J(ii) ilustra las tramas 249E y 249F con más detalle. Como se muestra en el ejemplo de la FIG. 10J(ii), la trama 249E incluye los campos CSID 154-154C y los campos VVectorData 156 y 156B. El campo CSID 154 incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales se ajusta a los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10J(i). El campo CSID 154B incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10J(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3. Cada uno de los campos CSID 154-154C corresponde al canal respectivo de los canales de transporte 1, 2 y 3.
[0304] En el ejemplo de la FIG. 10J(ii) la trama 249E incluye dos señales basadas en vectores (dado que el ChannelType 269 es igual a 1 en los campos CSID 154 y 154B) y un vacío (dado el ChannelType 269 igual a 3 en
5
10
15
20
25
30
35
40
45
50
55
60
65
los campos CSID 154C). Dada la parte de HOAconfig anterior 250H, el dispositivo de descodificación de audio 24 puede determinar que todos los 12 elementos vectoriales V están codificados (donde 12 se obtiene como HOAOrder + 1)2 - (MinNumOfCoeffsForAmbHOA) - (ContAddAmb - HoaChan) = 16 - 4 - 0 = 12). Por tanto, los VVectorData 156 y 156B incluyen cada uno de los 12 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se señala con el asterisco único (*), el esquema de codificación se señala con NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0305] En la trama 249F, el campo CSID 154 y 154B son los mismos que en la trama 249E, mientras que el campo CSID 154C de la trama 249F ha conmutado a un ChannelType de uno. El campo CSID 154C de la trama 249b incluye por lo tanto el Cbflag 267, el Pflag 267 (que indica la codificación de Huffman) y el Nbits 261 (igual a doce). Como resultado, la trama 249F incluye un tercer campo de VVectorData 156C que incluye 12 elementos vectoriales de V, cada uno de ellos cuantizado uniformemente con 12 bits y codificado por Huffman. Como se ha indicado anteriormente, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0, mientras que el esquema de codificación de Huffman está señalizado por el NbitsQ = 12, CbFlag = 0 y Pflag = 0 en el campo CSID 154C para este particular canal de transporte (por ejemplo, canal de transporte n° 3).
[0306] El ejemplo de las FIG. 10K(i) y 10K(ii) ilustra un segundo flujo de bits de ejemplo 248K y la parte de HOAconfig correspondiente 250K que se han generado para corresponder con el caso 1 en el pseudocódigo anterior. En el ejemplo de la FIG. 10K(i), la parte de HOAconfig 250K incluye un elemento de sintaxis CodedVVecLength 256 configurado para indicar que todos los elementos de un vector V están codificados, excepto los elementos de sintaxis del elemento 1 al MinNumOfCoeffsForAmbHOA y aquellos elementos especificados en un elemento de sintaxis ContAddAmbHoaChan (se supone que es uno en este ejemplo). La parte de HOAconfig 250K también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250K además incluye un CodedSpatial-InterpolationTime 254 configurado para indicar una duración de muestra interpolada de 256.
[0307] La parte de HOAconfig 250K incluye además un elemento de sintaxis MinAmbHoaOrder 150 establecido para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumof-CoeffsForAmbHOA igual a (1+1)2 o cuatro. El dispositivo de descodificación de audio 24 puede obtener también un elemento de sintaxis MaxNoofAddActiveAmbCoeffs configurado como una diferencia entre el elemento de sintaxis NumOfHoaCoeff y el MinNumOfCoeffsForAmbHOA, que se supone en este ejemplo igual a 16-4 o 12. El dispositivo de descodificación de audio 24 también puede obtener un elemento de sintaxis AmbAsignmbits configurado como ceil(log2(MaxNoOfAddActiveAmbCoeffs)) = ceil(log2(12)) = 4. La parte de HOAconfig 250K incluye un elemento de sintaxis HoaOrder 152 configurado para indicar que el orden HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs que es igual a (N+1)2 o 16.
[0308] Como se muestra adicionalmente en el ejemplo de la FIG. 10K(i), la parte 248K incluye una trama de audio USAC-3D en la que dos tramas HOA 249G y 249h se almacenan en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis MinNumOfCoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0309] La FIG. 10K(ii) ilustra las tramas 249G y 249H con más detalle. Como se muestra en el ejemplo de la FIG. 10K(ii), la trama 249G incluye los campos CSID 154-154C y los campos VVectorData 156. El campo CSID 154 incluye el CodedAmb-Coeffldx 246, la AmbCoeffIdxTransition 247 (donde el doble asterisco (**) indica que, para el canal de transporte flexible n° 1, aquí se supone que el estado interno del descodificador es AmbCoeffIdxTransitionState = 2, lo que da lugar a que el campo de bits CodedAmbCoeffldx se indica o se especifica de otro modo en el flujo de bits) y el ChannelType 269 (que es igual a dos, indicando que la carga útil correspondiente es un coeficiente HOA ambiental adicional). El dispositivo de descodificación de audio 24 puede obtener el AmbCoeffldx igual que el CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA o 5 en este ejemplo. El campo CSID 154B incluye unitC 267, bb 266 y ba265, junto con ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1,0 y 01 que se muestran en el ejemplo de la FIG. 10K(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3.
[0310] En el ejemplo de la FIG. 10K(ii), la trama 249G incluye una única señal basada en vectores (dado el ChannelType 269 igual a 1 en los campos CSID 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250K, el dispositivo de descodificación de audio 24 puede determinar que se codifiquen 11 elementos vectoriales V (donde 12 se deriva como (HOAOrder + 1)2 -
5
10
15
20
25
30
35
40
45
50
55
60
65
(MinNumOfCoeffsForAmbHOA) - (ContAddAmbHoaChan) = 16-4-1 = 11). Por lo tanto, el VVectorData 156 incluye todos los 11 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se indica en la nota a pie de página 2, el esquema de codificación se indica mediante NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0311] En la trama 249H, el campo CSID 154 incluye una AmbCoeffIdxTransition 247 que indica que no ha ocurrido ninguna transición y por lo tanto el CodedAmbCoeffldx 246 puede estar implícito en la trama anterior y no necesita ser señalado o especificado otra vez de nuevo. El campo CSID 154B y 154C de la trama 249H es el mismo que el de la trama 249G y por lo tanto, al igual que la trama 249G, la trama 249H incluye un único campo VVectorData 156, el cual incluye 11 elementos vectoriales, cada uno de ellos cuantizado uniformemente con 8 bits
[0312] Las FIG. 10L(i) y 10L(ii) ilustran un primer flujo de bits de ejemplo 248L y la parte de HOAconfig correspondiente 250L que han sido generados para corresponder con el caso 2 en el pseudocódigo anterior. En el ejemplo de la FIG. 10L(i), la parte de HOAconfig 250L incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, excepto los elementos del orden cero hasta el orden especificado por el elemento de sintaxis MinAmbHoaOrder 150 (que es igual a (HoaOrder + 1)2 - (MinAmbHoaOrder + 1)2 = 16 - 4 = 12 en este ejemplo). La parte de HOAconfig 250L también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250L además incluye un CodedSpatialInterpolation- Time 254 para indicar una duración de muestra interpolada de 256. La parte de HOAconfig 250L incluye además un elemento de sintaxis MinAmbHoaOrder 150 configurado para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumofCoeffsForAmbHOA igual a (1+1)2 o cuatro. La parte de HOAconfig 250L incluye un elemento 152 de sintaxis HoaOrder establecido para indicar que el orden HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N + 1)2 o 16.
[0313] Como se muestra adicionalmente en el ejemplo de la FIG. 10L(i), la parte 248L incluye una trama de audio USAC -3D en la cual dos tramas HOA 249I y 249J se almacenan en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis MinNumOf- CoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0314] La FIG. 10L(ii) ilustra las tramas 249I y 249J con más detalle. Como se muestra en el ejemplo de la FIG. 10L(ii), la trama 249I incluye los campos CSID 154-154C y los campos VVectorData 156 y 156B. El campo CSID 154 incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales se ajusta a los valores correspondientes 01, 1,0 y 01 que se muestran en el ejemplo de la FIG. 10J(i). El campo CSID 154B incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10L(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3. Cada uno de los campos CSID 154-154C corresponde al canal respectivo de los canales de transporte 1, 2 y 3.
[0315] En el ejemplo de la FIG. 10L(ii), la trama 249I incluye dos señales basadas en vectores (dado el ChannelType 269 igual a 1 en los campos CSID 154 y 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig 250H, el dispositivo de descodificación de audio 24 puede determinar que se codifiquen 12 elementos vectoriales de V. Por tanto, los VVectorData 156 y 156B incluyen cada uno 12 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se señala con el asterisco único (*), el esquema de codificación se señala con NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0316] En la trama 249J, el campo CSID 154 y 154B son los mismos que en la trama 249I, mientras que el campo CSID 154C de la trama 249F ha conmutado a un ChannelType de uno. El campo CSID 154C de la trama 249b incluye por lo tanto el Cbflag 267, el Pflag 267 (que indica la codificación de Huffman) y el Nbits 261 (igual a doce). Como resultado, la trama 249F incluye un tercer campo de VVectorData 156C que incluye 12 elementos vectoriales de V, cada uno de ellos cuantizado uniformemente con 12 bits y codificado por Huffman. Como se ha indicado anteriormente, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0, mientras que el esquema de codificación de Huffman está señalizado por el NbitsQ = 12, CbFlag = 0 y Pflag = 0 en el campo CSID 154C para este particular canal de transporte (por ejemplo, canal de transporte n° 3).
5
10
15
20
25
30
35
40
45
50
55
60
65
[0317] El ejemplo de las FIG. 10M(i) y 10M(ii) ilustran un segundo ejemplo de flujo de bits 248M y la parte de HOAconfig correspondiente 250M que ha sido generada para corresponder con el caso 2 en el pseudocódigo anterior. En el ejemplo de la FIG. 10M(i), la parte de HOAconfig 250M incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, excepto los elementos del orden cero hasta el orden especificado por el elemento de sintaxis MinAmb-HoaOrder 150 (que es igual a (HoaOrder+1)2 - (MinAmbHoaOrder+1)2 = 16 - 4 = 12 en este ejemplo). La parte de HOAconfig 250M también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250M además incluye un CodedSpatialInterpolationTime 254 para indicar una duración de muestra interpolada de 256.
[0318] La parte de HOAconfig 250M incluye además un elemento de sintaxis MinAmbHoaOrder 150 configurado
para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumof-CoeffsForAmbHOA igual a (1+1)2 o cuatro. El dispositivo de descodificación de audio 24 puede obtener también un elemento de sintaxis MaxNoofAddActiveAmbCoeffs configurado como una diferencia entre el elemento de sintaxis NumOfHoaCoeff y el MinNumOfCoeffsForAmbHOA, que se supone en este ejemplo igual a 16-4 o 12. El dispositivo de descodificación de audio 24 también puede obtener un elemento de sintaxis AmbAsignmbits configurado como
ceil(log2(MaxNoOfAddActiveAmbCoeffs)) = ceil(log2(12)) = 4. La parte de HOAconfig 250M incluye un elemento de sintaxis HoaOrder 152 configurado para indicar que el orden HOA del contenido sea igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N+1)2 o 16.
[0319] Como se muestra adicionalmente en el ejemplo de la FIG. 10M(i), la parte 248M incluye una trama de audio USAC-3D en la que dos tramas HOA 249K y 249L se almacenan en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis MinNumOfCoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0320] La FIG. 10M(ii) ilustran las tramas 249K y 249L con más detalle. Como se muestra en el ejemplo de la FIG. 10M(ii), la trama 249K incluye los campos CSID 154-154C y un campo VVectorData 156. El campo CSID 154 incluye el CodedAmb-CoeffIdx 246, el AmbCoeffIdxTransition 247 (donde el doble asterisco (**) indica que, para el canal de transporte flexible n° 1, aquí se supone que el estado interno del descodificador es AmbCoeffIdxTransitionState = 2, lo que da lugar a que el campo de bits CodedAmbCoeffIdx se indica o se especifica de otro modo en el flujo de bits), y el ChannelType 269 (que es igual a dos, indicando que la carga útil correspondiente es un coeficiente HOA ambiental adicional). El dispositivo de descodificación de audio 24 puede obtener el AmbCoeffldx igual que el CodedAmbCoeffIdx+1+MinNumOfCoeffsForAmbHOA o 5 en este ejemplo. El campo CSID 154B incluye unitC 267, bb 266 y ba265, junto con ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10M(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3.
[0321] En el ejemplo de la FIG. 10M(ii), la trama 249K incluye una única señal basada en vectores (dado que el ChannelType 269 es igual a 1 en los campos CSID 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250M, el dispositivo de descodificación de audio 24 puede determinar que se codifiquen 12 elementos vectoriales de V. Por lo tanto, el VVectorData 156 incluye 12 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se indica en la nota a pie de página 2, el esquema de codificación se indica mediante NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0322] En la trama 249L, el campo CSID 154 incluye una AmbCoeffIdxTransition 247 que indica que no ha ocurrido ninguna transición y por lo tanto el CodedAmbCoeffIdx 246 puede estar implícito desde la trama anterior y no necesita ser señalado o especificado otra vez de nuevo. El campo CSID 154B y 154C de la trama 249L es el mismo que el de la trama 249K y, por lo tanto, al igual que la trama 249K, la trama 249L incluye un único campo VVectorData 156, que incluye 12 elementos vectoriales, cada uno de ellos cuantizado uniformemente con 8 bits
[0323] Las FIG. 10N(i) y 10N(ii) ilustran un primer ejemplo de flujo de bits 248N y la parte de HOAconfig correspondiente 250N que se han generado para corresponder con el caso 3 en el pseudocódigo anterior. En el ejemplo de la FIG. 10N(i), la parte de HOAconfig 250N incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, excepto aquellos elementos especificados en un elemento de sintaxis ContAddAmbHoaChan (que se supone que es cero en este ejemplo). La parte de HOAconfig 250N también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de
5
10
15
20
25
30
35
40
45
50
55
60
65
HOAconfig 250N además incluye un CodedSpatialInterpolationTime 254 para indicar una duración de muestra interpolada de 256. La parte de HOAconfig 250N incluye además un elemento de sintaxis MinAmbHoaOrder 150 establecido para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumofCoeffsForAmbHOA igual a (1+1)2 o cuatro. La parte de HOAconfig 250N incluye un elemento de sintaxis HOAOrder 152 configurado para indicar que el orden HOA del contenido es igual a tres (o, en otras palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N+ 1)2 o 16.
[0324] Como se muestra adicionalmente en el ejemplo de la FIG. 10N(i), la parte 248N incluye una trama de audio USAC-3D en la que dos tramas HOA 249M y 249N están almacenadas en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis MinNumOf-CoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0325] La FIG. 10N(ii) ilustra las tramas 249M y 249N con más detalle. Como se muestra en el ejemplo de la FIG. 10N(ii), la trama 249M incluye los campos CSID 154-154C y los campos VVectorData 156 y 156B. El campo CSID 154 incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales se ajusta a los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10J(i). El campo CSID 154B incluye la unitC 267, bb 266 y ba265 junto con el ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10N(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3. Cada uno de los campos CSID 154-154C corresponde al canal respectivo de los canales de transporte 1, 2 y 3.
[0326] En el ejemplo de la FIG. 10N(ii), la trama 249M incluye dos señales basadas en vectores (dado el ChannelType 269 igual a 1 en los campos CSID 154 y 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250M, el dispositivo de descodificación de audio 24 puede determinar que se codifiquen 16 elementos vectoriales de V. Por tanto, los VVectorData 156 y 156B incluyen cada uno 16 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se señala con el asterisco único (*), el esquema de codificación se señala con NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0327] En la trama 249N, el campo CSID 154 y 154B son los mismos que en la trama 249M, mientras que el campo CSID 154C de la trama 249F ha conmutado a un ChannelType de uno. El campo CSID 154C de la trama 249B incluye por lo tanto el Cbflag 267, el Pflag 267 (que indica la codificación de Huffman) y el Nbits 261 (igual a doce). Como resultado, la trama 249F incluye un tercer campo de VVectorData 156C que incluye 16 elementos vectoriales de V, cada uno de ellos cuantizado uniformemente con 12 bits y codificado por Huffman. Como se ha indicado anteriormente, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0, mientras que el esquema de codificación de Huffman está señalizado por el NbitsQ = 12, CbFlag = 0 y Pflag = 0 en el campo CSID 154C para este particular canal de transporte (por ejemplo, canal de transporte n° 3).
[0328] El ejemplo de las FIG. 10O(i) y 10O(ii) ilustran un segundo ejemplo de flujo de bits 248O y la parte de HOAconfig correspondiente 250O que han sido generados para corresponder con el caso 3 en el pseudocódigo anterior. En el ejemplo de la FIG. 10O(i), la parte de HOAconfig 250O incluye un elemento de sintaxis CodedVVecLength 256 establecido para indicar que todos los elementos de un vector V están codificados, excepto aquellos elementos especificados en un elemento de sintaxis ContAddAmbHoaChan (que se supone que es uno en este ejemplo). La parte de HOAconfig 250O también incluye un elemento de sintaxis SpatialInterpolationMethod 255 establecido para indicar que la función de interpolación de la interpolación espacio-temporal es un coseno elevado. La parte de HOAconfig 250O además incluye un CodedSpatialInterpolationTime 254 para indicar una duración de la muestra interpolada de 256.
[0329] La parte de HOAconfig 250O incluye además un elemento de sintaxis MinAmbHoaOrder 150 establecido
para indicar que el orden de MinimumHOA del contenido de HOA ambiental es uno, donde el dispositivo de descodificación de audio 24 puede obtener un elemento de sintaxis MinNumof-CoeffsForAmbHOA igual a (1+1)2 o cuatro. El dispositivo de descodificación de audio 24 puede obtener también un elemento de sintaxis MaxNoofAddActiveAmbCoeffs configurado como una diferencia entre el elemento de sintaxis NumOfHoaCoeff y el MinNumOfCoeffsForAmbHOA, que se supone en este ejemplo igual a 16-4 o 12. El dispositivo de descodificación de audio 24 también puede obtener un elemento de sintaxis AmbAsignmbits configurado como
ceil(log2(MaxNoOfAddActiveAmbCoeffs)) = ceil(log2(12)) = 4. La parte de HOAconfig 250O incluye un elemento de sintaxis HOAOrder 152 configurado para indicar que el orden de HOA del contenido es igual a tres (o, en otras
5
10
15
20
25
30
35
40
45
50
55
60
65
palabras, N = 3), donde el dispositivo de descodificación de audio 24 puede obtener un NumOfHoaCoeffs igual a (N+1)2 o 16.
[0330] Como se muestra adicionalmente en el ejemplo de la FIG. 10O(i), la parte 248O incluye una trama de audio USAC-3D en la que dos tramas HOA 249O y 249p se almacenan en una carga útil de extensión USAC dado que dos tramas de audio se almacenan dentro de una trama USAC-3D cuando la replicación de banda espectral (SBR) está habilitada. El dispositivo de descodificación de audio 24 puede obtener una serie de canales de transporte flexibles en función de un elemento de sintaxis numHOATransportChannels y de un elemento de sintaxis MinNumOf- CoeffsForAmbHOA. En los siguientes ejemplos, se supone que el elemento de sintaxis numHOATransportChannels es igual a 7 y el elemento de sintaxis MinNumOfCoeffsForAmbHOA es igual a cuatro, donde el número de canales de transporte flexibles es igual al elemento de sintaxis numHOATransportChannels menos el elemento de sintaxis MinNumOfCoeffsForAmbHOA (o tres).
[0331] La FIG. 10O(ii) ilustra las tramas 249O y 249P con más detalle. Como se muestra en el ejemplo de la FIG. 10O(ii), la trama 249O incluye los campos CSID 154-154C y un campo VVectorData 156. El campo CSID 154 incluye el CodedAmb-CoeffIdx 246, el AmbCoeffIdxTransition 247 (donde el doble asterisco (**) indica que, para el canal de transporte flexible n° 1, aquí se supone que el estado interno del descodificador es AmbCoeffIdxTransitionState = 2, lo que da lugar a que el campo de bits CodedAmbCoeffIdx se indica o se especifica de otro modo en el flujo de bits), y el ChannelType 269 (que es igual a dos, indicando que la carga útil correspondiente es un coeficiente HOA ambiental adicional). El dispositivo de descodificación de audio 24 puede obtener el AmbCoeffIdx como igual al CodedAmbCoeffIdx + 1 + MinNumOfCoeffsForAmbHOA o 5 en este ejemplo. El campo CSID 154B incluye unitC 267, bb 266 y ba265, junto con ChannelType 269, cada uno de los cuales está configurado en los valores correspondientes 01, 1, 0 y 01 que se muestran en el ejemplo de la FIG. 10O(ii). El campo CSID 154C incluye el campo ChannelType 269 que tiene un valor de 3.
[0332] En el ejemplo de la FIG. 10O(ii), la trama 249O incluye una única señal basada en vectores (dada el ChannelType 269 igual a 1 en los campos CSID 154B) y un vacío (dado el ChannelType 269 igual a 3 en los campos CSID 154C). Dada la parte de HOAconfig anterior 250O, el dispositivo de descodificación de audio 24 puede determinar que 16 menos el especificado por el elemento de sintaxis ContAddAmbHoaChan (por ejemplo, donde el elemento vectorial asociado con un índice de 6 se especifica como el elemento de sintaxis ContAddAmbHoaChan) o 15 elementos vectoriales V están codificados. Por tanto, el VVectorData 156 incluye 15 elementos vectoriales, cada uno de ellos uniformemente cuantizado con 8 bits. Como se indica en la nota 1, el número y los índices de los elementos VVectorData codificados se especifican mediante el parámetro CodedVVecLength = 0. Además, como se indica en la nota a pie de página 2, el esquema de codificación se indica mediante NbitsQ = 5 en el campo CSID para el canal de transporte correspondiente.
[0333] En la trama 249P, el campo CSID 154 incluye una AmbCoeffIdxTransition 247 que indica que no ha ocurrido ninguna transición y por lo tanto el CodedAmbCoeffIdx 246 puede estar implícito desde la trama anterior y no necesita ser señalado o especificado otra vez de nuevo. El campo CSID 154B y 154C de la trama 249P son iguales a los de la trama 249O y, por lo tanto, al igual que la trama 249O, la trama 249P incluye un único campo VVectorData 156, que incluye 15 elementos vectoriales, cada uno de ellos cuantizado uniformemente con 8 bits
[0334] Las FIG. 11A-11G son diagramas de bloques que ilustran, con más detalle, varias unidades del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La FIG. 11A es un diagrama de bloques que ilustra, con más detalle, la unidad de extracción 72 del dispositivo de descodificación de audio 24. Como se muestra en el ejemplo de la FIG. 11A, la unidad de extracción 72 puede incluir una unidad de análisis de modo 270, una unidad de configuración de modo 272 ("mode config unit 272") y una unidad de extracción configurable 274.
[0335] La unidad de análisis de modo 270 puede representar una unidad configurada para analizar el elemento de sintaxis anotado anteriormente indicativo de un modo de codificación (por ejemplo, el elemento de sintaxis de ChannelType que se muestra en el ejemplo de la FIG. 10E) usado para codificar los coeficientes HOA 11 para formar el flujo de bits 21. La unidad de análisis de modo 270 puede pasar el elemento de sintaxis de determinación a la unidad de configuración de modo 272. La unidad de configuración de modo 272 puede representar una unidad configurada para configurar la unidad de extracción configurable 274 en base al elemento de sintaxis analizado. La unidad de configuración de modo 272 puede configurar la unidad de extracción configurable 274 para extraer una representación codificada basada en la dirección de los coeficientes HOA 11 desde el flujo de bits 21, o extraer una representación codificada basada en los vectores de los coeficientes HOA 11 del flujo de bits 21 basado en el análisis del elemento de sintaxis.
[0336] Cuando se ha realizado una codificación basada en la dirección, la unidad de extracción configurable 274 puede extraer la versión basada en la dirección de los coeficientes HOA 11 y los elementos sintácticos asociados con esta versión codificada (que se designa como información basada en la dirección 91 en el ejemplo de la FIG. 11A). Esta información basada en la dirección 91 puede incluir la información direccional 253 que se muestra en el ejemplo de la FIG. 10D y SideChannelInfoData basados en la dirección que se muestran en el ejemplo de la FIG. 10E como se define por un ChannelType igual a cero.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0337] Cuando el elemento de sintaxis indica que los coeficientes HOA 11 se han codificado utilizando una síntesis basada en vectores (por ejemplo, cuando el elemento de sintaxis de ChannelType es igual a uno), la unidad de extracción configurable 274 puede extraer los vectores V[K] de primer plano codificados 57, los coeficientes HOA ambientales codificados 59 y las señales nFG codificadas 59. La unidad de extracción configurable 274 también puede, al determinar que el elemento de sintaxis indica que los coeficientes HOA 11 se han codificado utilizando una síntesis basada en vectores, extraer el elemento de sintaxis CodedSpatialInterpolationTime 254 y el elemento de sintaxis SpatialInterpolationMethod 255 del flujo de bits 21, pasando estos elementos de sintaxis 254 y 255 a la unidad de interpolación espacio-temporal 76.
[0338] La FIG. 11B es un diagrama de bloques que ilustra, con más detalle, la unidad de cuantización 74 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La unidad de cuantización 74 puede representar una unidad configurada para operar de manera recíproca con la unidad de cuantización 52 que se muestra en el ejemplo de la FIG. 4 con el fin de descodificar por entropía y decuantizar los vectores V[K] de primer plano codificados 57 y, de este modo, generar vectores los V[K] de primer plano reducidos 55k. La unidad de decuantización escalar/entrópica 984 puede incluir una unidad de descodificación de categoría/residuo 276, una unidad de predicción 278 y una unidad de decuantización uniforme 280.
[0339] La unidad de descodificación de categoría/residuo 276 puede representar una unidad configurada para llevar a cabo la descodificación de Huffman con respecto a los vectores de primer plano V[K] codificados 57 utilizando la tabla Huffman identificada mediante la información de la tabla Huffman 241 (que es, como se ha indicado anteriormente, expresada como un elemento de sintaxis en el flujo de bits 21). La unidad de descodificación de categoría/residuo 276 puede emitir vectores de primer plano cuantizados V[k] a la unidad de predicción 278. La unidad de predicción 278 puede representar una unidad configurada para realizar la predicción con respecto a los vectores V[K] de primer plano cuantizados basados en el modo de predicción 237, que emiten vectores V[K] de primer plano cuantizados aumentados a la unidad de decuantización uniforme 280. La unidad de decuantización uniforme 280 puede representar una unidad configurada para realizar la decuantización con respecto a los vectores V[K] de primer plano cuantizados aumentados basándose en el valor de nbits 233, produciendo los vectores V[K] de primer plano reducidos 55k
[0340] La FIG. 11C es un diagrama de bloques que ilustra, con más detalle, la unidad de descodificación psicoacústica 80 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. Como se ha indicado anteriormente, la unidad de descodificación psicoacústica 80 puede operar de una manera recíproca con la unidad de codificación de audio psicoacústica 40 que se muestra en el ejemplo de la FIG. 4 a fin de descodificar los coeficientes HOA 59 codificados y las señales nFG 61 codificadas y, de este modo, generar coeficientes HOA ambientales compensados de energía 47' y las señales nFG interpoladas 49' (que también se pueden denominar objetos de audio nFG interpolados 49'). La unidad de descodificación psicoacústica 80 puede pasar los coeficientes HOA ambientales compensados de energía 47' a la unidad de formulación de coeficientes HOA 82 y las señales nFG 49' a la reordenación 84. La unidad de descodificación psicoacústica 80 puede incluir una pluralidad de descodificadores de audio 80-80N similares a la unidad de codificación de audio psicoacústica 40. Los descodificadores de audio 80-80N pueden ser instanciados por o incluidos de otro modo dentro de la unidad de codificación de audio psicoacústica 40 en cantidad suficiente para permitir, como se ha indicado anteriormente, la descodificación concurrente de cada canal de los coeficientes HOA de fondo 47' y cada señal de las señales nFG 49'.
[0341] La FIG. 11D es un diagrama de bloques que ilustra, con más detalle, la unidad de reordenación 84 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La unidad de reordenación 84 puede representar una unidad configurada para operar de una manera similar a la descrita anteriormente con respecto a la unidad de reordenación 34. La unidad de reordenación 84 puede incluir una unidad de reordenación de vectores 282 que puede representar una unidad configurada para recibir elementos de sintaxis 205 indicativos del orden original de los componentes en primer plano de los coeficientes HOA 11. La unidad de extracción 72 puede analizar estos elementos de sintaxis 205 del flujo de bits 21 y pasar el elemento de sintaxis 205 a la unidad de reordenación 84. La unidad de reordenación de vectores 282 puede, basándose en estos elementos 205 de sintaxis de reordenación, reordenar las señales nFG interpoladas 49' y los vectores V[K] de primer plano reducidos 55k para generar señales nFG reordenadas 49' y los vectores V[K] de primer plano reordenados 55k'. La unidad de reordenación 84 puede emitir las señales nFG reordenadas 49" a la unidad de formulación del primer plano 78 y los vectores V[K] de primer plano reordenados 55K a la unidad de interpolación espacio-temporal 76.
[0342] La FIG. 11E es un diagrama de bloques que ilustra, con más detalle, la unidad de interpolación espacio- temporal 76 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La unidad de interpolación espacio-temporal 76 puede funcionar de una manera similar a la descrita anteriormente con respecto a la unidad de interpolación espacio-temporal 50. La unidad de interpolación espacio-temporal 76 puede incluir una unidad de interpolación V 284, que puede representar una unidad configurada para recibir los vectores V[K] reordenados 55K y realizar la interpolación espacio-temporal con respecto a los vectores V[K] de primer plano reordenados 55K y los vectores V[K-1] de primer plano reordenados 55^' para generar los vectores V[K] de primer plano interpolados 55k". La unidad de interpolación V 284 puede realizar interpolación basada en el elemento de sintaxis CodedSpatialInterpolationTime 254 y el elemento de sintaxis SpatialInterpolationMethod 255. En algunos ejemplos, la unidad de interpolación V 285 puede interpolar los vectores V durante la duración especificada por el
5
10
15
20
25
30
35
40
45
50
55
60
65
elemento de sintaxis CodedSpatialInterpolationTime 254 utilizando el tipo de interpolación identificado por el elemento de sintaxis SpatialInterpolationMethod 255. La unidad de interpolación espacio-temporal 76 puede enviar los vectores V[K] de primer plano interpolados 55*" a la unidad de formulación del primer plano 78.
[0343] La FIG. 11F es un diagrama de bloques que ilustra, con más detalle, la unidad de formulación del primer plano 78 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La unidad de formulación del primer plano 78 puede incluir una unidad de multiplicación 286 que puede representar una unidad configurada para realizar la multiplicación matricial con respecto a los vectores V[K] interpolados de primer plano 55*" y las señales nFG reordenadas 49" para generar los coeficientes HOA de primer plano 65.
[0344] La FIG. 11G es un diagrama de bloques que ilustra, con más detalle, la unidad de formulación de coeficientes HOA 82 del dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5. La unidad de formulación de coeficientes HOA 82 puede incluir una unidad de adición 288, que puede representar una unidad configurada para añadir los coeficientes HOA de primer plano 65 a los canales ambientales HOA 47' para obtener los coeficientes HOA 11'.
[0345] La FIG. 12 es un diagrama que ilustra un ecosistema de audio ejemplar que puede realizar diferentes aspectos de las técnicas descritas en esta divulgación. Como se ilustra en la FIG. 12, el ecosistema de audio 300 puede incluir la adquisición 301, edición 302, codificación, 303, transmisión 304 y reproducción 305.
[0346] La adquisición 301 puede representar las técnicas del ecosistema de audio 300 donde se adquiere el contenido de audio. Los ejemplos de adquisición 301 incluyen, pero no se limitan a, grabación de sonido (por ejemplo, sonido en directo), generación de audio (por ejemplo, objetos de audio, producción de foley, síntesis de sonido, simulaciones) y similares. En algunos ejemplos, el sonido puede ser grabado en conciertos, eventos deportivos, y cuando se lleva a cabo vigilancia. En algunos ejemplos, se puede generar audio al realizar simulaciones, y crear/mezclar (por ejemplo, movimientos, juegos). Los objetos de audio pueden ser utilizados en Hollywood (por ejemplo, estudios IMAX). En algunos ejemplos, la adquisición 301 puede ser realizada por un creador de contenido, tal como el creador de contenido 12 de la FIG. 3.
[0347] La edición 302 puede representar las técnicas del ecosistema de audio 300 donde el contenido de audio se edita y/o se modifica. Como ejemplo, el contenido de audio se puede editar combinando múltiples unidades de contenido de audio en una sola unidad de contenido de audio. Como otro ejemplo, el contenido de audio puede ser editado ajustando el contenido de audio real (por ejemplo, ajustando los niveles de uno o más componentes de frecuencia del contenido de audio). En algunos ejemplos, la edición 302 puede realizarse mediante un sistema de edición de audio, tal como el sistema de edición de audio 18 de la FIG. 3. En algunos ejemplos, la edición 302 puede realizarse en un dispositivo móvil, tal como uno o más de los dispositivos móviles ilustrados en la FIG. 29.
[0348] La codificación 303 puede representar las técnicas del ecosistema de audio 300 donde el contenido de audio está codificado en una representación del contenido de audio. En algunos ejemplos, la representación del contenido de audio puede ser un flujo de bits, tal como el flujo de bits 21 de la FIG. 3. En algunos ejemplos, la codificación 302 puede realizarse mediante un dispositivo de codificación de audio, tal como el dispositivo de codificación de audio 20 de la FIG. 3.
[0349] La transmisión 304 puede representar los elementos del ecosistema de audio 300 donde el contenido de audio se transporta desde un creador de contenido a un consumidor de contenido. En algunos ejemplos, el contenido de audio puede ser transportado en tiempo real o casi en tiempo real. Por ejemplo, el contenido de audio puede transmitirse al consumidor de contenido. En algunos ejemplos, el contenido de audio puede ser transportado codificando el contenido de audio en un medio, tal como un medio de almacenamiento legible por ordenador. Por ejemplo, el contenido de audio puede almacenarse en un disco, unidad y similares (por ejemplo, un disco Blu-ray, una tarjeta de memoria, un disco duro, etc.)
[0350] La reproducción 305 puede representar las técnicas del ecosistema de audio 300 donde el contenido de audio se reproduce y reproduce para el consumidor de contenido. En algunos ejemplos, la reproducción 305 puede incluir renderizar un campo sonoro 3D basado en uno o más aspectos de un entorno de reproducción. En otras palabras, la reproducción 305 puede estar basada en un paisaje acústico local.
[0351] La FIG. 13 es un diagrama que ilustra un ejemplo de un ecosistema de audio de la FIG. 12 con mayor detalle. Como se ilustra en la FIG. 13, el ecosistema de audio 300 puede incluir contenido de audio 308, estudios de cine 310, estudios de música 311, estudios de audio de juegos 312, contenido de audio basado en canales 313, motores de codificación 314, derivaciones de audio de juegos 315, motores 316 de codificación/317. Un ejemplo de estudio de audio de juegos 312 se ilustra en la FIG. 26. Algunos ejemplos de motores 316 de codificación/reproducción de audio de juegos se ilustran en la FIG. 27.
[0352] Como se ilustra en la FIG. 13, los estudios de cine 310, los estudios de música 311 y los estudios de audio de juegos 312 pueden recibir contenido de audio 308. En algún ejemplo, el contenido de audio 308 puede representar la salida de la adquisición 301 de la FIG. 12. Los estudios de películas 310 pueden emitir contenido de
5
10
15
20
25
30
35
40
45
50
55
60
65
audio basado en canales 313 (por ejemplo, en 2.0, 5.1 y 7.1), tal como utilizando una estación de trabajo de audio digital (DAW). Los estudios de música 310 pueden emitir contenido de audio basado en canales 313 (por ejemplo, en 2.0 y 5.1), tal como utilizando un DAW. En cualquier caso, los motores de codificación 314 pueden recibir y codificar el contenido de audio basado en el canal 313 basado en uno o más códecs (por ejemplo, AAC, AC3, Dolby True HD, Dolby Digital Plus y DTS Master Audio) para emitir por los sistemas de suministro 317. De esta manera, los motores de codificación 314 pueden ser un ejemplo de codificación 303 de la FIG. 12. Los estudios de audio de juegos 312 pueden emitir uno o más fragmentos de audios de juego 315, por ejemplo, mediante un DAW. Los motores 316 de codificación/reproducción de audios de juego pueden codificar y/o hacer que las derivaciones de audio 315 se conviertan en contenido de audio basado en canales para la salida por los sistemas de suministro 317. En algunos ejemplos, la salida de estudios de películas 310, estudios de música 311 y estudios de audio de juegos 312 puede representar la salida de edición 302 de la FIG. 12. En algunos ejemplos, la salida de los motores de codificación 314 y/o motores 316 de codificación/reproducción de audios de juego puede ser transportada a sistemas de suministro 317 a través de las técnicas de transmisión 304 de la FIG. 12.
[0353] La FIG. 14 es un diagrama que ilustra otro ejemplo del ecosistema de audio de la FIG. 12 con mayor detalle. Como se ilustra en la FIG. 14, el ecosistema de audio 300B puede incluir objetos de audio de grabación de difusión 319, sistemas de audio profesionales 320, captura de dispositivos de consumo 322, formato de audio HOA 323, reproducción de dispositivos 324, audio de consumo, TV y accesorios 325 y sistemas de audio para automóviles 326.
[0354] Como se ilustra en la FIG. 14, los objetos de audio de grabación de difusión 319, los sistemas de audio profesionales 320 y la captura de dispositivos de consumo 322 pueden codificar todos sus resultados utilizando el formato de audio HOA 323. De esta manera, el contenido de audio puede codificarse utilizando el formato de audio HOA 323 en una representación única que puede reproducirse utilizando la representación en dispositivo 324, audio de consumo, TV y accesorios 325 y sistemas de audio para automóviles 326. En otras palabras, la representación única del contenido de audio se puede reproducir en un sistema genérico de reproducción de audio (es decir, en lugar de requerir una configuración particular tal como 5.1,7.1, etc.).
[0355] Las FIG. 15A y 15B son diagramas que ilustran otros ejemplos del ecosistema de audio de la FIG. 12 con mayor detalle. Como se ilustra en la FIG. 15A, el ecosistema de audio 300C puede incluir elementos de adquisición 331 y elementos de reproducción 336. Los elementos 331 de adquisición pueden incluir dispositivos 332 de adquisición cableados y/o inalámbricos (por ejemplo, micrófonos Eigen), captura de sonido envolvente en dispositivo 334 y dispositivos móviles 335 (por ejemplo, teléfonos inteligentes y tabletas). En algunos ejemplos, los dispositivos de adquisición cableados y/o inalámbricos 332 pueden estar acoplados al dispositivo móvil 335 a través de canales de comunicación cableados y/o inalámbricos 333.
[0356] De acuerdo con una o más técnicas de esta descripción, el dispositivo móvil 335 puede usarse para adquirir un campo sonoro. Por ejemplo, el dispositivo móvil 335 puede adquirir un campo sonoro a través de dispositivos de adquisición cableados y/o inalámbricos 332 y/o captura de sonido envolvente en el dispositivo 334 (por ejemplo, una pluralidad de micrófonos integrados en el dispositivo móvil 335). El dispositivo móvil 335 puede entonces codificar el campo sonoro adquirido en las HOA 337 para su reproducción mediante uno o más de los elementos de reproducción 336. Por ejemplo, un usuario del dispositivo móvil 335 puede grabar (adquirir un campo sonoro de) un evento en directo (por ejemplo, una reunión, una conferencia, una obra de teatro, un concierto, etc.) y codificar la grabación en HOAs.
[0357] El dispositivo móvil 335 también puede utilizar uno o más de los elementos de reproducción 336 para reproducir el campo sonoro codificado por HOA. Por ejemplo, el dispositivo móvil 335 puede descodificar el campo sonoro codificado por HOA y emitir una señal a uno o más de los elementos de reproducción 336 que hace que uno o más de los elementos de reproducción 336 recreen el campo sonoro. Como un ejemplo, el dispositivo móvil 335 puede utilizar canales de comunicación inalámbricos y/o inalámbricos 338 para emitir la señal a uno o más altavoces (por ejemplo, matrices de altavoces, barras de sonido, etc.). Como otro ejemplo, el dispositivo móvil 335 puede utilizar soluciones de acoplamiento 339 para emitir la señal a una o más estaciones de acoplamiento y/o uno o más altavoces acoplados (por ejemplo, sistemas de sonido en coches inteligentes y/o hogares). Como otro ejemplo, el dispositivo móvil 335 puede utilizar la renderización de auriculares 340 para enviar la señal a un conjunto de auriculares, por ejemplo, para crear un sonido binaural realista.
[0358] En algunos ejemplos, un dispositivo móvil particular 335 puede adquirir un campo sonoro 3D y reproducir el mismo campo sonoro 3D en un momento posterior. En algunos ejemplos, el dispositivo móvil 335 puede adquirir un campo sonoro 3D, codificar el campo sonoro 3D en HOA y transmitir el campo sonoro 3D codificado a uno o más dispositivos (por ejemplo, otros dispositivos móviles y/u otros dispositivos no móviles) para su reproducción.
[0359] Como se ilustra en la FIG. 15B, el ecosistema de audio 300D puede incluir contenido de audio 343, estudios de juego 344, contenido de audio codificado 345, motores de renderización 346 y sistemas de entrega 347. En algunos ejemplos, los estudios de juego 344 pueden incluir uno o más DAW que pueden permitir la edición de señales HOA. Por ejemplo, uno o más DAW pueden incluir plugins HOA y/o herramientas que pueden ser configuradas para funcionar con (por ejemplo, trabajar con) uno o más sistemas de audio de juegos. En algunos ejemplos, los estudios de juego 344 pueden producir nuevos formatos de derivación que soporten HOA. En
5
10
15
20
25
30
35
40
45
50
55
60
65
cualquier caso, los estudios de juego 344 pueden emitir contenido de audio codificado 345 a los motores de representación 346 que pueden proporcionar un campo sonoro para su reproducción mediante los sistemas de entrega 347.
[0360] La FIG. 16 es un diagrama que ilustra un dispositivo de codificación de vídeo ejemplar que puede realizar diferentes aspectos de las técnicas descritas en esta divulgación. Como se ilustra en la FIG. 16, el ecosistema de audio 300E puede incluir contenido de audio 3D original 351, codificador 352, flujo de bits 353, descodificador 354, renderizador 355 y elementos de reproducción 356. Como se ilustra adicionalmente en la FIG. 16, el codificador 352 puede incluir análisis y descomposición de campo sonoro 357, extracción de fondo 358, determinación de relevancia de fondo 359, codificación de audio 360, extracción de audio de primer plano/distinto 361 y codificación de audio 362. En algunos ejemplos, el codificador 352 puede estar configurado para realizar operaciones similares al dispositivo de codificación de audio 20 de las FIG. 3 y 4. En algunos ejemplos, el análisis y la descomposición del campo sonoro 357 pueden estar configurados para realizar operaciones similares a la unidad de análisis del campo sonoro 44 de la FIG. 4. En algunos ejemplos, la extracción de fondo 358 y la determinación de relevancia de fondo 359 pueden estar configuradas para realizar operaciones similares a la unidad de selección de bg 48 de la FIG. 4. En algunos ejemplos, la codificación de audio 360 y la codificación de audio 362 pueden configurarse para llevar a cabo operaciones similares a la unidad codificadora de audio psicoacústico 40 de la FIG. 4. En algunos ejemplos, la extracción de audio de primer plano/distinto 363 puede configurarse para llevar a cabo operaciones similares a la unidad de selección del primer plano 36 de la FIG. 4.
[0361] En algunos ejemplos, la extracción de audio de primer plano/distinto 361 puede analizar el contenido de audio correspondiente a la trama de vídeo 390 de la FIG. 33. Por ejemplo, la extracción de audio en primer plano/distinto 361 puede determinar que el contenido de audio correspondiente a las regiones 391A-391C es audio de primer plano.
[0362] Como se ilustra en la FIG. 16, el codificador 352 puede configurarse para codificar el contenido original 351, que puede tener una velocidad de bits de 25-75 Mbps, en el flujo de bits 353, que puede tener un velocidad de bits de 256 kbps - 1,2 Mbps. La FIG. 17 es un diagrama que ilustra un ejemplo del dispositivo de codificación de audio de la FIG. 16 con mayor detalle.
[0363] La FIG. 18 es un diagrama que ilustra un dispositivo de descodificación de audio ejemplar que puede implementar diferentes aspectos de las técnicas descritas en esta divulgación. Como se ilustra en la FIG. 18, el ecosistema de audio 300E puede incluir contenido de audio 3D original 351, codificador 352, flujo de bits 353, descodificador 354, renderizador 355 y elementos de reproducción 356. Como se ilustra adicionalmente en la FIG. 16, el descodificador 354 puede incluir descodificador de audio 363, descodificador de audio 364, reconstrucción de primer plano 365 y mezcla 366. En algunos ejemplos, el descodificador 354 puede estar configurado para realizar operaciones similares al dispositivo de descodificación de audio 24 de las FIG. 3 y 5. En algunos ejemplos, el descodificador de audio 363, el descodificador de audio 364 pueden estar configurados para realizar operaciones similares a la unidad de descodificación psicoacústica 80 de la FIG. 5. En algunos ejemplos, la reconstrucción de primer plano 365 puede estar configurada para realizar operaciones similares a la unidad de formulación del primer plano 78 de la FIG. 5.
[0364] Como se ilustra en la FIG. 16, el descodificador 354 puede estar configurado para recibir y descodificar el flujo de bits 353 y dar salida al campo sonoro 3D reconstruido resultante al renderizador 355 que puede entonces hacer que, uno o más de los elementos de reproducción 356, produzcan una representación del contenido 3D original 351. La FIG. 19 es un diagrama que ilustra un ejemplo del dispositivo de descodificación de audio de la FIG. 18 con mayor detalle.
[0365] Las FIG. 20A-20G son diagramas que ilustran ejemplos de dispositivos de adquisición de audio que pueden realizar diversos aspectos de las técnicas descritas en esta descripción. La FIG. 20A ilustra el micrófono Eigen 370 que puede incluir una pluralidad de micrófonos que están configurados colectivamente para grabar un campo sonoro 3D. En algunos ejemplos, la pluralidad de micrófonos del micrófono Eigen 370 puede estar situada en la superficie de una bola sustancialmente esférica con un radio de aproximadamente 4 cm. En algunos ejemplos, el dispositivo de codificación de audio 20 puede estar integrado en el micrófono de Eigen de manera que emita un flujo de bits 17 directamente desde el micrófono 370.
[0366] La FIG. 20B ilustra el camión de producción 372 que puede estar configurado para recibir una señal de uno o más micrófonos, tal como uno o más micrófonos Eigen 370. El camión de producción 372 también puede incluir un codificador de audio, tal como el codificador de audio 20 de la FIG. 3.
[0367] Las FIG. 20C-20E ilustran el dispositivo móvil 374 que puede incluir una pluralidad de micrófonos que están configurados colectivamente para grabar un campo sonoro 3d. En otras palabras, la pluralidad de micrófonos puede tener diversidad X, Y, Z. En algunos ejemplos, el dispositivo móvil 374 puede incluir un micrófono 376 que puede ser girado para proporcionar diversidad X, Y, Z con respecto a uno o más micrófonos del dispositivo móvil 374. El dispositivo móvil 374 también puede incluir un codificador de audio, tal como el codificador de audio 20 de la FIG. 3.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0368] La FIG. 20F ilustra un dispositivo de captura de vídeo robusto 378 que puede configurarse para grabar un campo sonoro 3D. En algunos ejemplos, el dispositivo de captura de vídeo robusto 378 puede estar unido a un casco de un usuario que participa en una actividad. Por ejemplo, el dispositivo de captura de vídeo reforzado 378 puede estar unido a un casco de un usuario de rafting en aguas bravas. De esta manera, el dispositivo de captura de vídeo robusto 378 puede capturar un campo sonoro 3D que representa la acción alrededor del usuario (por ejemplo, agua que se estrella detrás del usuario, otro rafter que habla delante del usuario, etc.).
[0369] La FIG. 20G ilustra un dispositivo móvil mejorado secundario 380 que puede configurarse para grabar un campo sonoro 3D. En algunos ejemplos, el dispositivo móvil 380 puede ser similar al dispositivo móvil 335 de la FIG. 15, con la adición de uno o más accesorios. Por ejemplo, un micrófono Eigen puede estar unido al dispositivo móvil 335 de la FIG. 15 para formar un dispositivo móvil mejorado secundario 380. De esta manera, el dispositivo móvil mejorado secundario 380 puede capturar una versión de calidad superior del campo sonoro 3D que utilizar únicamente componentes de captura de sonido integrados en el dispositivo móvil mejorado secundario 380.
[0370] Las FIG. 21A-21E son diagramas que ilustran ejemplos de dispositivos de reproducción de audio que pueden realizar diversos aspectos de las técnicas descritas en esta descripción. Las FIG. 21A y 21B ilustran una pluralidad de altavoces 382 y barras de sonido 384. De acuerdo con una o más técnicas de esta descripción, los altavoces 382 y/o las barras de sonido 384 pueden disponerse en cualquier configuración arbitraria mientras se sigue reproduciendo un campo sonoro 3D. Las FIG. 21C-21E ilustran una pluralidad de dispositivos de reproducción de auriculares 386-386C. Los dispositivos de reproducción de auriculares 386-386C pueden estar acoplados a un descodificador a través de una conexión cableada o inalámbrica. De acuerdo con una o más técnicas de esta descripción, se puede utilizar una única representación genérica de un campo sonoro para renderizar el campo sonoro sobre cualquier combinación de altavoces 382, barras de sonido 384 y dispositivos de reproducción de auriculares 386-386C.
[0371] Las FIG. 22A-22H son diagramas que ilustran ejemplos de entornos de reproducción de audio de acuerdo con una o más técnicas descritas en esta descripción. Por ejemplo, la FIG. 22A ilustra un entorno de reproducción de altavoces 5.1, la FIG. 22B ilustra un entorno de reproducción de altavoces 2.0 (por ejemplo, estéreo), la FIG. 22C ilustra un entorno de reproducción de altavoces 9.1 con altavoces delanteros de altura completa, las FIG. 22D y 22E ilustran cada una un entorno de reproducción de altavoces 22.2, la FIG. 22F ilustra un entorno de reproducción de altavoces 16.0, la FIG. 22G ilustra un entorno de reproducción de altavoces para automóviles, y la FIG. 22H ilustra un dispositivo móvil con un entorno de reproducción de oído.
[0372] De acuerdo con una o más técnicas de esta descripción, se puede utilizar una única representación genérica de un campo sonoro para representar el campo sonoro en cualquiera de los entornos de reproducción ilustrados en las FIG. 22A-22H. Adicionalmente, las técnicas de esta descripción permiten a un renderizador renderizar un campo sonoro desde una representación genérica para reproducción en entornos de reproducción distintos de los ilustrados en las FIG. 22A-22H. Por ejemplo, si las consideraciones de diseño prohíben la colocación correcta de los altavoces de acuerdo con un entorno de reproducción de altavoces 7.1 (por ejemplo, si no es posible colocar un altavoz envolvente derecho), las técnicas de esta descripción permiten que un renderizador compense con los otros 6 altavoces tales que la reproducción se puede lograr en un entorno de reproducción de altavoces 6.1.
[0373] Como se ilustra en la FIG. 23, un usuario puede ver un juego de deportes mientras utiliza los auriculares 386. De acuerdo con una o más técnicas de esta descripción, se puede adquirir el campo sonoro 3D del juego deportivo (por ejemplo, uno o más micrófonos Eigen se pueden colocar en y/o alrededor del estadio de béisbol ilustrado en la FIG. 24), los coeficientes HOA correspondientes al campo sonoro 3D pueden obtenerse y transmitirse a un descodificador, el descodificador puede determinar reconstruir el campo sonoro 3D basado en los coeficientes HOA y emitir el campo sonoro 3D a un renderizador, el renderizador puede obtener una indicación como el tipo de entorno de reproducción (por ejemplo, los auriculares) y convertir el campo sonoro 3D en señales que hacen que los auriculares emitan una representación del campo sonoro 3D del juego deportivo. En algunos ejemplos, el renderizador puede obtener una indicación del tipo de entorno de reproducción de acuerdo con las técnicas de la FIG. 25. De esta manera, el renderizador puede "adaptarse" a diferentes ubicaciones de altavoces, tipo de números, tamaño e idealmente ecualizar para el entorno local.
[0374] La FIG. 28 es un diagrama que ilustra una configuración de altavoz que puede ser simulada por auriculares de acuerdo con una o más técnicas descritas en esta descripción. Como se ilustra en la FIG. 28, las técnicas de esta descripción pueden permitir que un usuario que lleve audífonos 389 experimente un campo sonoro como si el campo sonoro fuera reproducido por los altavoces 388. De esta manera, un usuario puede escuchar un campo sonoro en 3D sin que se emita el sonido en un área grande.
[0375] La FIG. 30 es un diagrama que ilustra una trama de vídeo asociada con un campo sonoro 3D que puede procesarse de acuerdo con una o más técnicas descritas en esta descripción.
[0376] Las FIG. 31A-31M son diagramas que ilustran los gráficos 400A-400M que muestran diversos resultados de simulación de realizar categorización sintética o grabada del campo sonoro de acuerdo con diversos aspectos de las técnicas descritas en esta descripción. En el ejemplo de la FIG. 31A-31M, cada uno de los gráficos 400A-400M
5
10
15
20
25
30
35
40
45
50
55
60
65
incluye un umbral 402 que está indicado por una línea de puntos y un objeto de audio respectivo 404A- 404M(colectivamente, "los objetos de audio 404") indicados por una línea discontinua.
[0377] Cuando se determina que los objetos de audio 404 a través del análisis descrito anteriormente con respecto a la unidad de análisis de contenido 26 están por debajo del umbral 402, la unidad de análisis de contenido 26 determina que el objeto correspondiente de los objetos de audio 404 representa un objeto de audio que ha sido grabado. Como se ilustra en el ejemplo de la FIG. 31B, 31D-31H y 31J-31L, la unidad de análisis de contenido 26 determina que los objetos de audio 404B, 404D-404H, 404J-404L están por debajo del umbral 402 (al menos más del 90% del tiempo y a menudo el 100% del tiempo) y por lo tanto representan objetos de audio grabados. Como se ilustra en el ejemplo de las FIG. 31A, 31C y 31I, la unidad de análisis de contenido 26 determina que los objetos de audio 404A, 404C y 404I exceden el umbral 402 y por lo tanto representan objetos de audio sintéticos.
[0378] En el ejemplo de la FIG. 31M, el objeto de audio 404M representa un objeto de audio sintético/grabado mezclado, que tiene algunas partes sintéticas (por ejemplo, por encima del umbral 402) y algunas partes sintéticas (por ejemplo, por debajo del umbral 402). La unidad de análisis de contenido 26 identifica en este caso las partes sintéticas y grabadas del objeto de audio 404M con el resultado de que el dispositivo de codificación de audio 20 genera el flujo de bits 21 para incluir tanto datos de audio codificados basados en la direccionalidad como datos de audio codificados basados en vector.
[0379] La FIG. 32 es un diagrama que ilustra un gráfico 406 de valores singulares de una matriz S descompuesta a partir de coeficientes ambisónicos de orden superior de acuerdo con las técnicas descritas en esta descripción. Como se muestra en la FIG. 32, los valores singulares distintos de cero que tienen valores grandes son pocos. La unidad de análisis del campo sonoro 44 de la FIG. 4 puede analizar estos valores singulares para determinar los componentes de primer plano nFG (o, en otras palabras, predominantes) de los vectores US[ft] reordenados 33' y los vectores V[ft] reordenados 35'.
[0380] Las FIG. 33A y 33B son diagramas que ilustran los respectivos gráficos 410A y 410B que muestran un impacto potencial que tiene la reordenación cuando se codifican los vectores que describen componentes en primer plano del campo sonoro de acuerdo con las técnicas descritas en esta descripción. El gráfico 410A muestra el resultado de la codificación de al menos algunos de los vectores US[ft] no ordenados 33 (o, en otras palabras, los originales), mientras que el gráfico 410B muestra el resultado de la codificación de los correspondientes vectores US[ft] ordenados 33'. La gráfica superior en cada una de las gráficas 410A y 410B muestra el error en la codificación, donde es probable que solo se observe un error notable en el gráfico 410B en los límites de la trama. Por consiguiente, las técnicas de reordenación descritas en esta descripción pueden facilitar o de otra manera promover la codificación de objetos monoaudio utilizando un codificador de audio heredado.
[0381] Las FIG. 34 y 35 son diagramas conceptuales que ilustran diferencias entre la identificación basada en energía y la direccionalidad de distintos objetos de audio, de acuerdo con esta descripción. En el ejemplo de la FIG. 34, los vectores que presentan mayor energía se identifican como siendo distintos objetos de audio, independientemente de la direccionalidad. Como se muestra en la FIG. 34, se determina que los objetos de audio que están posicionados de acuerdo con valores de energía más altos (dibujados en un eje y) están "en primer plano", independientemente de la direccionalidad (por ejemplo, representados por cocientes de direccionalidad dibujados en un eje x).
[0382] La FIG. 35 ilustra la identificación de objetos de audio distintos basándose tanto en la direccionalidad como en la energía, tal como de acuerdo con las técnicas implementadas por la unidad de análisis del campo sonoro 44 de la FIG. 4. Como se muestra en la FIG. 35, los cocientes de mayor direccionalidad se trazan hacia la izquierda del eje x, y los mayores niveles de energía se representan en la parte superior del eje y. En este ejemplo, la unidad de análisis del campo sonoro 44 puede determinar que, objetos de audio distintos (por ejemplo, que están "en primer plano"), están asociados con datos vectoriales dibujados relativamente hacia la parte superior izquierda del gráfico. Como ejemplo, la unidad de análisis del campo sonoro 44 puede determinar que los vectores que están representados en el cuadrante superior izquierdo del gráfico están asociados con distintos objetos de audio.
[0383] Las FIG. 36A-36F son diagramas que ilustran proyecciones de al menos una parte de la versión descompuesta de coeficientes armónicos esféricos en el dominio espacial para realizar interpolación de acuerdo con diversos aspectos de las técnicas descritas en esta descripción. La FIG. 36A es un diagrama que ilustra la proyección de uno o más de los V[ft] vectores 35 en una esfera 412. En el ejemplo de la FIG. 36A, cada número identifica un coeficiente armónico esférico diferente proyectado sobre la esfera (posiblemente asociado con una fila y/o columna de la matriz V 19'). Los diferentes colores sugieren una dirección de un componente de audio distinto, donde el color más claro (y progresivamente más oscuro) indica la dirección primaria del componente distinto. La unidad de interpolación espacio-temporal 50 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4 puede realizar interpolación espacio-temporal entre cada uno de los puntos rojos para generar la esfera que se muestra en el ejemplo de la FIG. 36A.
[0384] La FIG. 36B es un diagrama que ilustra la proyección de uno o más de los V[ft] vectores 35 sobre una viga. La unidad de interpolación espacio-temporal 50 puede proyectar una fila y/o una columna de los vectores V[ft] 35 o
5
10
15
20
25
30
35
40
45
50
55
60
65
múltiples filas y/o columnas de los vectores V[*] 35 para generar el haz 414 que se muestra en el ejemplo de la FIG. 36B.
[0385] La FIG. 36C es un diagrama que ilustra una sección transversal de una proyección de uno o más vectores de uno o más de los vectores V[*] 35 en una esfera, tal como la esfera 412 que se muestra en el ejemplo de la FIG. 36.
[0386] En las FIG. 36D-36G son ejemplos de instantáneas de tiempo (más de 1 trama de unos 20 milisegundos) cuando se pueden ilustrar diferentes fuentes de sonido (abejas, helicópteros, música electrónica y personas en un estadio) en un espacio tridimensional.
[0387] Las técnicas descritas en esta descripción permiten que la representación de estas diferentes fuentes de sonido sea identificada y representada utilizando un único vector US[*] y un único vector V[*]. La variabilidad temporal de las fuentes sonoras se representa en el vector US[*], mientras que la distribución espacial de cada fuente sonora está representada por el único vector V[*]. Un vector V[*] puede representar el ancho, la ubicación y el tamaño de la fuente de sonido. Además, el único vector V[*] puede representarse como una combinación lineal de funciones de base armónica esférica. En las gráficas de las FIG. 36D-36G, la representación de las fuentes de sonido se basa en la transformación del único vector V en un sistema de coordenadas espaciales. Procedimientos similares de ilustración de fuentes sonoras se utilizan en las FIG. 36-36C.
[0388] La FIG. 37 ilustra una representación de técnicas para obtener una interpolación espacio-temporal como se describe en este documento. La unidad de interpolación espacio-temporal 50 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4 puede realizar la interpolación espacio-temporal descrita más adelante con más detalle. La interpolación espacio-temporal puede incluir la obtención de componentes espaciales de mayor resolución en las dimensiones espaciales y temporales. Los componentes espaciales pueden estar basados en una descomposición ortogonal de una señal multidimensional compuesta por coeficientes ambisónicos de orden superior (HOA) (o, como coeficientes HOA también pueden ser referidos, "coeficientes armónicos esféricos").
[0389] En el gráfico ilustrado, los vectores V1 y V1 representan los vectores correspondientes de dos componentes espaciales diferentes de una señal multidimensional. Los componentes espaciales pueden obtenerse mediante una descomposición en bloques de la señal multidimensional. En algunos ejemplos, los componentes espaciales resultan de realizar una forma en bloques de SVD con respecto a cada bloque (que puede referirse a una trama) de datos de audio ambisónicos (HOA) de orden superior (donde estos datos de audio ambisónicos incluyen bloques, muestras o cualquier otra forma de datos de audio multicanal). Se puede utilizar una variable M para indicar la longitud de una trama de audio en muestras.
[0390] Por consiguiente, V1 y V2 pueden representar los vectores correspondientes de los vectores V[*] de primer plano 51* y los vectores V[*-1] de primer plano 51*-1 para bloques secuenciales de los coeficientes HOa 11. Por ejemplo, V1 puede representar un primer vector de los vectores V[*-1] de primer plano 51 *-1 para una primera trama (*-1), mientras que V2 puede representar un primer vector de los vectores V[*] de primer plano 51* para una segunda y siguiente trama (*). V1 y V2 pueden representar un componente espacial para un único objeto de audio incluido en la señal multidimensional.
[0391] Los vectores interpolados Vx para cada x se obtienen ponderando V1 y V2 de acuerdo con un número de segmentos temporales o "muestras de tiempo", x, para una componente temporal de la señal multidimensional a la que se pueden aplicar los vectores interpolados Vx para suavizar el componente temporal (y, en consecuencia, en algunos casos el espacial). Suponiendo una composición SVD, como se ha descrito anteriormente, se puede obtener el suavizado de las señales nFG 49 haciendo una división vectorial de cada vector de muestra de tiempo (por ejemplo, una muestra de los coeficientes HOA 11) con la correspondiente Vx interpolada. Esto es, US[n] = HOA[n] * Vx[n]-1, donde esto representa un vector de fila multiplicado por un vector de columna, produciendo así un elemento escalar para US. Vx[n]-1 se puede obtener como un pseudoinversa de Vx[n].
[0392] Con respecto a la ponderación de V1 y V2, V1 se pondera proporcionalmente más bajo a lo largo de la dimensión de tiempo debido a que el V2 se produce subsiguiente en el tiempo a V1. Es decir, aunque los vectores V[*-1] de primer plano 51*-1 son componentes espaciales de la descomposición, los vectores V[*] de primer plano secuencial temporalmente 51* representan valores diferentes del componente espacial a lo largo del tiempo. Por consiguiente, el peso de V1 disminuye mientras que el peso de V2 crece a medida que x aumenta a lo largo de t. Aquí, d 1 y d 2 representan pesos.
[0393] La FIG. 38 es un diagrama de bloques que ilustra las matrices US artificiales, US1 y US2, para bloques SVD secuenciales para una señal multidimensional de acuerdo con las técnicas descritas en la presente memoria. Pueden aplicarse vectores V interpolados a los vectores de fila de las matrices US artificiales para recuperar la señal multidimensional original. Más específicamente, la unidad de interpolación espacio-temporal 50 puede multiplicar la pseudoinversa de los vectores V[*] de primer plano interpolados al resultado de multiplicar las señales nFG 49 por los vectores V[*] de primer plano 51* (que pueden designarse como coeficientes HOA de primer plano) para obtener
5
10
15
20
25
30
35
40
45
50
55
60
65
muestras interpoladas K/2, que pueden utilizarse en lugar de las muestras K/2 de las señales nFG como las primeras muestras K/2 como se muestra en el ejemplo de la FIG. 38 de la matriz U2.
[0394] La FIG. 39 es un diagrama de bloques que ilustra la descomposición de tramas subsiguientes de una señal ambisónica de orden superior (HOA) utilizando la descomposición en valores singulares y el suavizado de los componentes espacio-temporales de acuerdo con las técnicas descritas en esta descripción. La trama n-1 y la trama n (que también se pueden designar como trama n y trama n+1) representan tramas posteriores en el tiempo, con cada trama que comprende 1024 segmentos de tiempo y que tiene un orden HOA de 4, dando (4+1)2 = 25 coeficientes. Las matrices US que son matrices U suavizadas artificialmente en la trama n-1 y la trama n pueden obtenerse mediante la aplicación de vectores V interpolados como se ilustra. Cada fila gris o columna de vectores representa un objeto de audio.
Cálculo de la representación HOA de señales activas basadas en vectores
[0395] El CVECk instantáneo se crea tomando cada una de las señales basadas en vectores representadas en XVECk y multiplicándolas por su vector espacial (decuantizado) correspondiente, VVECk. Cada VVECk está representado en MVECk. Por lo tanto, para una señal HOA de orden L y M señales basadas en vectores, habrá M señales basadas en vectores, cada una de las cuales tendrá una dimensión dada por la longitud de trama P. Estas señales pueden representarse así: XVECkmn, n=0,..P-1; m=ü,..M-1. Correspondientemente, habrá M vectores espaciales, VVECk de dimensión (L+1)2. Estos pueden representarse como MVECkml, 1=0,.., (L+1)2-1; m=0,..,M-1. La representación HOA para cada señal basada en vectores, CVECkm, es una multiplicación de vectores matricial dada por:
CVECkm=(XVECkm(MVECkm) T) T
que produce una matriz de (L+1)2 por P. La representación HOA completa se da sumando la contribución de cada señal basada en vectores como sigue:
CVECk=m=0M-1CVECk[m]
Interpolación espacio-temporal de V vectores
[0396] Sin embargo, con el fin de mantener la continuidad espacio-temporal suave, el cálculo anterior solo se lleva a cabo para la parte de la longitud de trama P-B. Las primeras B muestras de una matriz HOA, se llevan a cabo en su lugar utilizando un conjunto interpolado de MVECkml, m=0,.., M-1 ; I= 0,.., {L+1}2, obtenido del MVECkm actual y los valores MVECk-lm anteriores. Esto da como resultado un vector espacial de mayor densidad de tiempo a medida que obtenemos un vector para cada muestra de tiempo p, como sigue:
MVECkmp=pB-1MVECkm+B-1-pB-1MVECk-1m, p=0,..,B-1.
[0397] Para cada muestra de tiempo p, se calcula un nuevo vector HOA de {L+1}2 dimensiones tal como:
CVECkp=(XVECkmp)MVECkmp, p=0,..,B-1
[0398] Estas primeras B muestras se aumentan con las P-B muestras de la sección anterior para dar como resultado la representación HOA completa, CVECkm de la m-ésima señal basada en vectores.
[0399] En el descodificador (por ejemplo, el dispositivo de descodificación de audio 24 que se muestra en el ejemplo de la FIG. 5), para ciertos sonidos distintos, de primer plano o de base vectorial predominante, el vector V de la trama anterior y el vector V de la trama actual pueden interpolarse utilizando una interpolación lineal (o no lineal) para producir un vector V de mayor resolución (en el tiempo) interpolado sobre un segmento de tiempo particular. La unidad de interpolación espacial temporal 76 puede realizar esta interpolación, en la que la unidad de interpolación espacio-temporal 76 puede entonces multiplicar el vector US en la trama actual con el vector V de mayor resolución interpolado para producir la matriz HOA sobre ese segmento temporal particular.
[0400] Alternativamente, la unidad de interpolación espacio-temporal 76 puede multiplicar el vector US con el vector V de la trama actual para crear una primera matriz HOA. El descodificador puede multiplicar adicionalmente el vector US con el vector V desde la trama anterior para crear una segunda matriz HOA. La unidad de interpolación espacio-temporal 76 puede entonces aplicar una interpolación lineal (o no lineal) a la primera y segunda matrices HOA sobre un segmento de tiempo particular. La salida de esta interpolación puede coincidir con la de la multiplicación del vector US con un vector V interpolado, proporcionando matrices/vectores de entrada comunes.
[0401] Las FIG. 40A-40J son cada una un diagrama de bloques que ilustra ejemplos de dispositivos de codificación de audio 510A-510J que pueden realizar diversos aspectos de las técnicas descritas en esta descripción para comprimir coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales.
5
10
15
20
25
30
35
40
45
50
55
60
65
En cada uno de los ejemplos de las FIG. 40A-40J, los dispositivos de codificación de audio 510A y 510B representan, en algunos ejemplos, cualquier dispositivo capaz de codificar datos de audio, tales como un ordenador de sobremesa, un ordenador portátil, una estación de trabajo, una tableta o un ordenador de pizarra, un dispositivo de grabación de audio dedicado, un teléfono móvil (incluidos los llamados "teléfonos inteligentes"), un dispositivo de reproductor multimedia personal, un dispositivo de juego personal o cualquier otro tipo de dispositivo capaz de codificar datos de audio.
[0402] Aunque se muestra como un dispositivo único, es decir, los dispositivos 510A-510J en los ejemplos de las FIG. 40A-40J, los diversos componentes o unidades a los que se hace referencia a continuación como incluidos en los dispositivos 510A-510J pueden en realidad formar dispositivos separados que son externos a los dispositivos 510A-510J. En otras palabras, aunque se describe en esta descripción como realizada por un solo dispositivo, es decir, los dispositivos 510A-510J en los ejemplos de las FIG. 40A-40J, las técnicas pueden ser implementadas o realizadas de otro modo por un sistema que comprende múltiples dispositivos, donde cada uno de estos dispositivos puede incluir cada uno uno o más de los diversos componentes o unidades descritos con más detalle a continuación. En consecuencia, las técnicas no deben limitarse a los ejemplos de la FIG. 40A-40J.
[0403] En algunos ejemplos, los dispositivos de codificación de audio 510A-510J representan dispositivos de codificación de audio alternativos a los descritos anteriormente con respecto a los ejemplos de las FIG. 3 y 4. A lo largo de la siguiente descripción de dispositivos de codificación de audio 510A-510J se observan diversas similitudes en términos de funcionamiento con respecto a las diversas unidades 30-52 del dispositivo de codificación de audio 20 descrito anteriormente con respecto a la FIG. 4. En muchos aspectos, los dispositivos de codificación de audio 510A-510J pueden, como se describe más adelante, operar de una manera sustancialmente similar al dispositivo de codificación de audio 20 aunque con ligeras derivaciones o modificaciones.
[0404] Como se muestra en el ejemplo de la FIG. 40A, el dispositivo de codificación de audio 510A comprende una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación del flujo de bits 516. La unidad de compresión de audio 512 puede representar una unidad que comprime los coeficientes armónicos esféricos (SHC) 511 ("SHC 511"), que también se pueden designar como coeficientes ambisónicos de orden superior (HOA) 511. La unidad de compresión de audio 512 puede en algunos casos, la unidad de compresión de audio 512 representar una unidad que puede comprimir sin pérdidas o realizar compresión con pérdida con respecto a los SHC 511. Los SHC 511 pueden representar una pluralidad de SHC, donde al menos uno de la pluralidad de SHC corresponde a una función de base esférica que tiene un orden mayor que uno (donde los SHC de esta variedad se denominan ambisónicos de orden superior (HOA) para distinguirse de los ambisónicos de orden inferior de los cuales un ejemplo es el llamado "formato B"), como se describe con más detalle anteriormente. Si bien la unidad de compresión de audio 512 puede comprimir los SHC 511 sin pérdidas, en algunos ejemplos, la unidad de compresión de audio 512 elimina las de los SHC 511 que no son relevantes o relevantes para describir el campo sonoro cuando se reproducen (en que algunas no pueden ser escuchados por el sistema auditivo humano). En este sentido, la naturaleza con pérdidas de esta compresión no puede afectar excesivamente la calidad percibida del campo sonoro cuando se reproduce a partir de la versión comprimida de los SHC 511.
[0405] En el ejemplo de la FIG. 40A, la unidad de compresión de audio incluye una unidad de descomposición 518 y una unidad de extracción de componentes del campo sonoro 520. La unidad de descomposición 518 puede ser similar a la unidad de transformada reversible lineal 30 del dispositivo de codificación de audio 20. Es decir, la unidad de descomposición 518 puede representar una unidad configurada para realizar una forma de análisis denominada descomposición en valores singulares. Aunque se describe con respecto a la SVD, las técnicas pueden realizarse con respecto a cualquier transformación o descomposición similar que proporcione conjuntos de datos linealmente no correlacionados. También, la referencia a "conjuntos" en esta descripción pretende referirse a conjuntos "distintos de cero" a menos que se indique específicamente lo contrario y no se pretende referirse a la definición matemática clásica de conjuntos que incluye el denominado "conjunto vacío."
[0406] En cualquier caso, la unidad de descomposición 518 realiza una descomposición en valores singulares (que, de nuevo, se puede designar por su inicialismo "SVD") para transformar los coeficientes armónicos esféricos 511 en dos o más conjuntos de coeficientes armónicos esféricos transformados. En el ejemplo de la FIG. 40, la unidad de descomposición 518 puede realizar la SVD con respecto a los SHC 511 para generar una matriz V llamada 519, una matriz S 519B y una matriz U 519C. En el ejemplo de la FIG. 40, la unidad de descomposición 518 emite cada una de las matrices por separado en lugar de emitir los vectores US[ft] en forma combinada como se ha tratado anteriormente con respecto a la unidad de transformada lineal reversible 30.
[0407] Como se ha indicado anteriormente, la matriz V* en la expresión matemática SVD mencionada anteriormente se designa como transposición conjugada de la matriz V para reflejar que la SVD se puede aplicar a matrices que comprenden números complejos. Cuando se aplica a matrices que comprenden solo números reales, el conjugado complejo de la matriz V (o, en otras palabras, la matriz V*) puede considerarse igual a la matriz V. A continuación se supone, para facilitar la ilustración, que los SHC 511 comprenden números reales con el resultado de que la matriz V se emite a través de SVD en lugar de la matriz V*. Aunque se supone que es la matriz V, las técnicas pueden aplicarse de una manera similar a los SHC 511 que tienen coeficientes complejos, donde la salida de la SVD es la matriz V*. Por consiguiente, las técnicas no deberían limitarse a este respecto a proporcionar
5
10
15
20
25
30
35
40
45
50
55
60
65
solamente la aplicación de SVD para generar una matriz V, sino que pueden incluir la aplicación de SVD a los SHC 511 que tienen componentes complejos para generar una matriz V*.
[0408] En cualquier caso, la unidad de descomposición 518 puede realizar una forma en bloque de SVD con respecto a cada bloque (que puede referirse a una trama) de datos de audio ambisónicos (HOA) de orden superior (donde estos datos de audio ambisónicos incluyen bloques o muestras de los SHC 511 o cualquier otra forma de datos de audio multicanal). Se puede utilizar una variable M para indicar la longitud de una trama de audio en muestras. Por ejemplo, cuando una trama de audio incluye 1024 muestras de audio, M es igual a 1024. La unidad de descomposición 518 puede realizar por lo tanto una SVD en bloque con respecto a un bloque, los SHC 511 que tiene M-por-(N+1)2 SHC, donde N, nuevamente, indica el orden de los datos de audio HOA. La unidad de descomposición 518 puede generar, mediante la realización de esta SVD, la matriz V 519, la matriz S 519B y la matriz U 519C, donde cada una de las matrices 519-519C ("matrices 519") puede representar las respectivas matrices V, S y U descritas en más detalle arriba. La unidad de descomposición 518 puede pasar o emitir estas matrices 519A a la unidad de extracción de componentes del campo sonoro 520. La matriz V 519A puede ser de tamaño (N+1)2-por-(N+1)2, la matriz S 519B puede ser de tamaño (N+1)2-por-(N+1)2 y la matriz U puede ser de tamaño M-por-(N+1)2, donde M se refiere al número de muestras en una trama de audio. Un valor típico para M es 1024, aunque las técnicas de esta descripción no deben limitarse a este valor típico para M.
[0409] La unidad de extracción de componentes del campo sonoro 520 puede representar una unidad configurada para determinar y luego extraer componentes distintos del campo sonoro y componentes de fondo del campo sonoro, separando eficazmente los distintos componentes del campo sonoro de los componentes de fondo del campo sonoro. A este respecto, la unidad de extracción de componentes del campo sonoro 520 puede realizar muchas de las operaciones descritas anteriormente con respecto a la unidad de análisis del campo sonoro 44, la unidad de selección de fondo 48 y la unidad de selección del primer plano 36 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. Dado que los distintos componentes del campo sonoro, en algunos ejemplos, requieren funciones de orden superior (relativas a los componentes de fondo del campo sonoro) (y por lo tanto más SHC) para representar con precisión la naturaleza distinta de estos componentes, separar los distintos componentes de los componentes de fondo puede permitir que se asignen más bits a los componentes distintos y se asignen menos bits (relativamente, hablando) a los componentes de fondo. Por consiguiente, a través de la aplicación de esta transformación (en forma de SVD o cualquier otra forma de transformación, incluyendo PCA), las técnicas descritas en esta descripción pueden facilitar la asignación de bits a varios SHC y, por lo tanto, la compresión de los SHC 511.
[0410] Además, las técnicas también pueden permitir, como se describe con más detalle a continuación con respecto a la FIG. 40B, la reducción del orden de los componentes de fondo del campo sonoro dado que las funciones de base de orden superior no son, en algunos ejemplos, necesarias para representar estas partes de fondo del campo sonoro dada la naturaleza difusa o de fondo de estos componentes. Por lo tanto, las técnicas pueden permitir la compresión de aspectos difusos o de fondo del campo sonoro mientras que se preservan los componentes o aspectos distintos relevantes del campo sonoro mediante la aplicación de SVD a los SHC 511.
[0411] Como se muestra adicionalmente en el ejemplo de la FIG. 40, la unidad de extracción de componentes del campo sonoro 520 incluye una unidad de transposición 522, una unidad de análisis de componentes relevantes 524 y una unidad de matemáticas 526. La unidad de transposición 522 representa una unidad configurada para transponer la matriz V 519A para generar una transposición de la matriz V 519, que se designa como "matriz VT 523". La unidad de transposición 522 puede emitir esta matriz VT 523 a la unidad matemática 526. La matriz VT 523 puede ser de tamaño (N+1 )2-por-(N+1 )2.
[0412] La unidad de análisis de componentes relevantes 524 representa una unidad configurada para realizar un análisis de relevancia con respecto a la matriz S 519B. La unidad de análisis de componentes relevantes 524 puede, a este respecto, realizar operaciones similares a las descritas anteriormente con respecto a la unidad de análisis del campo sonoro 44 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad de análisis de componentes relevantes 524 puede analizar los valores diagonales de la matriz S 519B, seleccionando un número variable D de estos componentes que tienen el valor más alto. En otras palabras, la unidad de análisis de componentes relevantes 524 puede determinar el valor D, que separa los dos subespacios (por ejemplo, el subespacio de primer plano o predominante y el subespacio de fondo o ambiente), analizando la pendiente de la curva creada por los valores diagonales descendentes de S, donde los grandes valores singulares representan sonidos de primer plano o distintos y los valores de bajo singular representan componentes de fondo del campo sonoro. En algunos ejemplos, la unidad de análisis de componentes relevantes 524 puede utilizar una primera y una segunda derivada de la curva de valor singular. La unidad de análisis de componentes relevantes 524 puede limitar también el número D a estar entre uno y cinco. Como otro ejemplo, la unidad de análisis de componentes relevantes 524 puede limitar el número D a estar entre uno y (N+1)2. Alternativamente, la unidad de análisis de componentes relevantes 524 puede predefinir el número D, tal como a un valor de cuatro. En cualquier caso, una vez que se ha estimado el número D, la unidad 24 de análisis de componentes relevantes extrae el subespacio de primer plano y fondo de las matrices U, V y S.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0413] En algunos ejemplos, la unidad de análisis de componentes relevantes 524 puede realizar este análisis cada M muestras, las cuales pueden ser reestructuradas como una base de trama por trama. A este respecto, D puede variar de trama a trama. En otros ejemplos, la unidad de análisis de componentes relevantes 24 puede realizar este análisis más de una vez por trama, analizando dos o más partes de la trama. Por consiguiente, las técnicas no deben estar limitadas a este respecto a los ejemplos descritos en esta descripción.
[0414] En efecto, la unidad de análisis de componentes relevantes 524 puede analizar los valores singulares de la matriz diagonal, que se designa como matriz S 519B en el ejemplo de la FIG. 40, identificando aquellos valores que tienen un valor relativo mayor que los otros valores de la matriz diagonal S 519B. La unidad de análisis de componentes relevantes 524 puede identificar valores D, extrayendo estos valores para generar la matriz SDIST 525A y la matriz SBG 525B. La matriz SDIST 525A puede representar una matriz diagonal que comprende columnas D que tienen (N+1)2 de la matriz S original 519B. En algunos casos, la matriz Sbg 525B puede representar una matriz que tiene (N+1 )2-D columnas, cada una de las cuales incluye (N+1)2 coeficientes armónicos esféricos transformados de la matriz S original 519B. Aunque se describe como una matriz Sdist que representa una matriz que comprende columnas D que tienen valores (N+1)2 de la matriz S original 519B, la unidad de análisis de componentes relevantes 524 puede truncar esta matriz para generar una matriz SDIST que tiene D columnas que tienen D valores de la matriz S original 519B, dado que la matriz S 519B es una matriz diagonal y los valores (N+1)2 de las D columnas después del Davo en cada columna es a menudo un valor de cero. Aunque se describe con respecto a una matriz SDIST completa 525A y una matriz Sbg completa 525B, las técnicas pueden implementarse con respecto a versiones truncadas de esta matriz Sdist 525A y una versión truncada de esta matriz Sbg 525B. Por consiguiente, las técnicas de esta descripción no deben estar limitadas a este respecto.
[0415] En otras palabras, la matriz Sdist 525A puede tener un tamaño de D-por-(N+1)2, mientras que la matriz Sbg 525B puede tener un tamaño de (N+1)2-D-por-(N+1)2. La matriz Sdist 525A puede incluir aquellos componentes principales o, en otras palabras, valores singulares que se determinan como relevantes en términos de componentes de audio distintos (DIST) del campo sonoro, mientras que la matriz Sbg 525B puede incluir aquellos valores singulares que se determinan como fondo (BG) o, en otras palabras, componentes de audio ambiental o no distinto del campo sonoro. Aunque 525A y 525B se muestran como matrices separadas en el ejemplo de la FIG. 40, las matrices 525A y 525B pueden especificarse como una matriz única utilizando la variable D para indicar el número de columnas (de izquierda a derecha) de esta única matriz que representa la matriz Sdist 525. En algunos ejemplos, la variable D puede establecerse en cuatro.
[0416] La unidad de análisis de componentes relevantes 524 también puede analizar la matriz U 519C para generar la matriz UDIST 525C y la matriz UBG 525D. A menudo, la unidad de análisis de componentes relevantes 524 puede analizar la matriz S 519B para identificar la variable D, generando la matriz Udist 525C y la matriz Ubg 525B basada en la variable D. Es decir, después de identificar las columnas D de la matriz S 519B que son relevantes, la unidad de análisis de componentes relevantes 524 puede dividir la matriz U 519C en base a esta variable D determinada. En este caso, la unidad de análisis de componentes relevantes 524 puede generar la matriz Udist 525C para incluir las D columnas (de izquierda a derecha) de los (N+1)2 coeficientes armónicos esféricos transformados de la matriz U original 519C y la matriz Ubg 525D para incluir las columnas restantes (N+1)2-D de los (N+1)2 coeficientes armónicos esféricos transformados de la matriz U original 519C. La matriz Udist 525C puede tener un tamaño de M-por-D, mientras que la matriz U bg 525D puede tener un tamaño de M-por-(N+1)2-D. Aunque 525C y 525D se muestran como matrices separadas en el ejemplo de la FIG. 40, las matrices 525C y 525D pueden especificarse como una matriz única utilizando la variable D para indicar el número de columnas (de izquierda a derecha) de esta única matriz que representa la matriz Udist 525B.
[0417] La unidad de análisis de componentes relevantes 524 también puede analizar la matriz VT 523 para generar la matriz VTdist 525E y la matriz VT bg 525F. A menudo, la unidad de análisis de componentes relevantes 524 puede analizar la matriz S 519B para identificar la variable D, generando la matriz VTDIST 525e y la matriz VBG 525F basada en la variable D. Es decir, después de identificar las columnas D de la matriz S 519B que son relevantes, la unidad de análisis de componentes relevantes 254 puede dividir la matriz V 519A en base a esta variable determinada D. En este caso, la unidad de análisis de componentes relevantes 524 puede generar la matriz VTdist 525E para incluir las (N+1)2 filas (de arriba a abajo) de los D valores de la matriz original VT 523 y de la matriz VTbg 525F para incluir las restantes (N+1)2 filas de los (N+1)2-D valores de la matriz VT original 523. La matriz VTdist 525E puede tener un tamaño de (N+1)2-por-D, mientras que la matriz VTbg 525D puede tener un tamaño de (N+1)2-por-(N+1)2-D. Aunque se muestran como matrices separadas 525E y 525F en el ejemplo de la FIG. 40, las matrices 525E y 525F pueden especificarse como una matriz única utilizando la variable D para indicar el número de columnas (de izquierda a derecha) de esta única matriz que representa la matriz VDIST 525E. La unidad de análisis de componentes relevantes 524 puede emitir la matriz SDIST 525, la matriz SBG 525B, la matriz UDIST 525C, la matriz UBG 525D y la matriz VTBG 525F en la unidad matemática 526, al mismo tiempo que emite la matriz VTDIST 525E a la unidad de generación del flujo de bits 516.
[0418] La unidad matemática 526 puede representar una unidad configurada para realizar multiplicaciones matriciales o cualquier otra operación matemática capaz de realizarse con respecto a una o más matrices (o vectores). Más específicamente, como se muestra en el ejemplo de la FIG. 40, la unidad matemática 526 puede representar una unidad configurada para realizar una multiplicación matricial para multiplicar la matriz Udist 525c por
5
10
15
20
25
30
35
40
45
50
55
60
65
la matriz Sdist 525A para generar los vectores Udist * Sdist 527 de tamaño M-por-D. La unidad matemática matricial 526 también puede representar una unidad configurada para realizar una multiplicación matricial para multiplicar la matriz Ubg 525D por la matriz Sbg 525B y luego por la matriz VTbg 525F para generar la matriz Ubg * Sbg * VTbg 525F para generar coeficientes armónicos esféricos de fondo 531 de tamaño M-por-(N+1 )2 (que pueden representar los de los coeficientes armónicos esféricos 511 representativos de los componentes de fondo del campo sonoro). La unidad matemática 526 puede emitir los vectores Udist * Sdist 527 y los coeficientes armónicos esféricos de fondo 531 a la unidad de codificación de audio 514.
[0419] El dispositivo de codificación de audio 510 difiere por lo tanto del dispositivo de codificación de audio 20 en que el dispositivo de codificación de audio 510 incluye esta unidad de matemáticas 526 configurada para generar los vectores Udist * Sdist 527 y los coeficientes armónicos esféricos de fondo 531 a través de la multiplicación matricial al final del proceso de codificación. La unidad de transformación lineal reversible 30 del dispositivo de codificación de audio 20 realiza la multiplicación de las matrices U y S para emitir los vectores US[ft] 33 en el comienzo relativo del proceso de codificación, lo que puede facilitar las operaciones posteriores, tales como la reordenación, que no que se muestra en el ejemplo de la FIG. 40. Además, el dispositivo de codificación de audio 20, en lugar de recuperar los SHC de fondo 531 al final del proceso de codificación, selecciona los coeficientes HOA de fondo 47 directamente a partir de los coeficientes HOA 11, potencialmente evitando de este modo multiplicaciones matriciales para recuperar los SHC de fondo 531.
[0420] La unidad de codificación de audio 514 puede representar una unidad que realiza una forma de codificación para comprimir adicionalmente los vectores Udist * Sdist 527 y los coeficientes armónicos esféricos de fondo 531. La unidad de codificación de audio 514 puede operar de una manera sustancialmente similar a la unidad codificadora de audio psicoacústico 40 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. En algunos casos, esta unidad de codificación de audio 514 puede representar una o más instancias de una unidad codificadora de codificación de audio avanzada (AAC). La unidad de codificación de audio 514 puede codificar cada columna o fila de los vectores UdiST * SdiST 527. A menudo, la unidad de codificación de audio 514 puede invocar una instancia de una unidad de codificación AAC para cada una de las combinaciones de orden/suborden que permanecen en los coeficientes armónicos esféricos de fondo 531. Se puede encontrar más información sobre cómo se pueden codificar los coeficientes armónicos esféricos de fondo 531 utilizando una unidad de codificación AAC en un documento de convención de Eric Hellerud y col., titulado "Encoding Higher Order Ambisonics with AAC", presentado en la 124a Convención de 2008 el 17-20 de mayo y disponible en:
http://ro.uow.edu.au/cgi/viewcontent.cgi?article=8025 &context=engpapers. La unidad de codificación de audio 14 puede emitir una versión codificada de los vectores Udist *Sdist 527 (denominados "vectores Udist* Sdist codificados 515") y una versión codificada de los coeficientes armónicos esféricos de fondo 531 (denominados "coeficientes armónicos esféricos de fondo codificados 515B") a la unidad de generación del flujo de bits 516. En algunos casos, la unidad de codificación de audio 514 puede codificar en audio los coeficientes armónicos esféricos de fondo 531 utilizando una velocidad de bits objetivo inferior a la utilizada para codificar los vectores Udist * Sdist 527, de este modo comprimiendo potencialmente más los coeficientes armónicos esféricos de fondo 531 en comparación con los vectores Udist *S dist 527.
[0421] La unidad de generación del flujo de bits 516 representa una unidad que formatea datos para ajustarse a un formato conocido (que puede referirse a un formato conocido por un dispositivo de descodificación), generando de este modo el flujo de bits 517. La unidad de generación del flujo de bits 42 puede operar de una manera sustancialmente similar a la descrita anteriormente con respecto a la unidad de generación del flujo de bits 42 del dispositivo de codificación de audio 24 que se muestra en el ejemplo de la FIG. 4. La unidad de generación del flujo de bits 516 puede incluir un multiplexor que multiplexa los vectores codificados Udist * Sdist 515, los coeficientes armónicos esféricos de fondo codificados 515B y la matriz VTdist 525E.
[0422] La FIG. 40B es un diagrama de bloques que ilustra un ejemplo de dispositivo de codificación de audio 510B que puede realizar diversos aspectos de las técnicas descritas en esta descripción para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510B puede ser similar al dispositivo de codificación de audio 510 en que el dispositivo de codificación de audio 510B incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación del flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510B puede ser similar a la del dispositivo de codificación de audio 510 en que la unidad de compresión de audio 512 incluye una unidad de descomposición 518. La unidad de compresión de audio 512 del dispositivo de codificación de audio 510B puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510 porque la unidad de extracción de los componentes del campo sonoro 520 incluye una unidad adicional designada como unidad de reducción del orden 528A"). Por esta razón, la unidad de extracción de componentes del campo sonoro 520 del dispositivo de codificación de audio 510B se designa como "unidad de extracción de componentes del campo sonoro 520B".
[0423] La unidad de reducción del orden 528A representa una unidad configurada para realizar una reducción del orden adicional de los coeficientes armónicos esféricos de fondo 531. En algunos casos, la unidad de reducción del orden 528A puede girar el campo sonoro representado los coeficientes armónicos esféricos de fondo 531 para reducir el número de los coeficientes armónicos esféricos de fondo 531 necesarios para representar el campo
5
10
15
20
25
30
35
40
45
50
55
60
65
sonoro. En algunos casos, dado que los coeficientes armónicos esféricos de fondo 531 representan componentes de fondo del campo sonoro, la unidad de reducción del orden 528A puede borrar, eliminar o suprimir de otro modo (a menudo por reducción a cero) los de los coeficientes armónicos esféricos de fondo correspondientes a las funciones de base esférica y orden superior. A este respecto, la unidad de reducción del orden 528A puede realizar operaciones similares a la unidad de selección de fondo 48 del dispositivo de codificación de audio 20 que se muestra en el ejemplo de la FIG. 4. La unidad de reducción del orden 528A puede emitir una versión reducida de los coeficientes armónicos esféricos de fondo 531 (designados como "coeficientes armónicos esféricos de fondo reducidos 529") a la unidad de codificación de audio 514, que pueden realizar la codificación en audio de la manera descrita anteriormente para codificar los coeficientes armónicos esféricos de fondo reducidos 529 y, de este modo, generar los coeficientes armónicos esféricos de fondo reducidos codificados 515B.
[0424] La FIG. 40C es un diagrama de bloques que dispositivos de codificación de audio ejemplares 510C que pueden realizar diversos aspectos de las técnicas descritas en esta divulgación para comprimir coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510C puede ser similar al dispositivo de codificación de audio 510B en que el dispositivo de codificación de audio 510C incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510C puede ser similar a la del dispositivo de codificación de audio 510B porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518.
[0425] Sin embargo, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510C puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510B porque la unidad de extracción de componente de campo sonoro 520 incluye una unidad adicional, indicada como unidad de reordenación de vectores 532. Por esta razón, la unidad de extracción de componentes del campo sonoro 520 del dispositivo de codificación de audio 510C se denomina "unidad de extracción de componentes del campo sonoro 520C".
[0426] La unidad de reordenación de vectores 532 puede representar una unidad configurada para reordenar los vectores Udist * Sdist 527 para generar uno o más vectores Udist * Sdist reordenados 533. A este respecto, la unidad de reordenación de vectores 532 puede operar de una manera similar a la descrita anteriormente con respecto a la unidad de reordenación 34 del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4. La unidad de extracción de componentes del campo sonoro 520C puede llamar a la unidad de reordenación de vectores 532 para reordenar los vectores Udist * Sdist 527 porque el orden de los vectores Udist * Sdist 527 (donde cada vector de los vectores UDIST * SdiSt 527 puede representar uno o más objetos monoaudio distintos presentes en el campo sonoro) puede variar desde partes de los datos de audio por la razón indicada anteriormente. Es decir, dado que la unidad de compresión de audio 512, en algunos ejemplos, opera en estas porciones de los datos de audio denominados generalmente tramas de audio (que pueden tener M muestras de los coeficientes armónicos esféricos 511, donde M es, en algunos ejemplos, ajustado a 1024), la posición de los vectores correspondientes a estos objetos monoaudio distintos, como se representan en la matriz U 519C a partir de la cual se derivan los vectores Udist * Sdist 527, puede variar de trama de audio a trama de audio.
[0427] El paso de estos vectores UDIST * SDIST 527 directamente a la unidad de codificación de audio 514 sin reordenar estos vectores UDIST * SDIST 527 de trama de audio a trama de audio puede reducir el alcance de la compresión alcanzable para algunos esquemas de compresión, tales como la compresión heredada que se realizan mejor cuando los objetos monoaudio están correlacionados (sentido del canal, que se define en este ejemplo por el orden de los vectores Udist * Sdist 527 uno con relación al otro) a través de tramas de audio. Además, cuando no se reordena, la codificación de los vectores Udist * Sdist 527 puede reducir la calidad de los datos de audio cuando se recuperan. Por ejemplo, los codificadores AAC que pueden representarse en el ejemplo de la FIG. 40C por la unidad de codificación de audio 514, pueden comprimir más eficientemente uno o más vectores UDIST * SDIST reordenados 533 de trama a trama en comparación con la compresión lograda al codificar directamente los vectores UDIST * SDIST 527 de trama a trama. Aunque se ha descrito anteriormente con respecto a los codificadores AAC, las técnicas pueden realizarse con respecto a cualquier codificador que proporcione mejor compresión cuando se especifican objetos monoaudio a través de tramas en un orden o posición específicos (sentido del canal).
[0428] Como se describe con más detalle a continuación, las técnicas pueden permitir que el dispositivo de codificación de audio 510C reordene uno o más vectores (es decir, los vectores Udist * Sdist 527 para generar uno o más vectores reordenados UDIST * SDIST 533 y así facilitar la compresión de los vectores UDIST * SDIST 527 por un codificador de audio heredado, tal como la unidad de codificación de audio 514. El dispositivo de codificación de audio 510C puede realizar adicionalmente las técnicas descritas en esta divulgación para codificar audio del uno o más vectores UDIST * SDIST reordenados 533 usando la unidad de codificación de audio 514 para generar una versión codificada 515A del uno o más vectores Udist * Sdist reordenados 533.
[0429] Por ejemplo, la unidad de extracción de componentes del campo sonoro 520C puede recurrir a la unidad de reordenación de vectores 532 para reordenar uno o más primeros vectores Udist * Sdist 527 de una primera trama de audio posterior en el tiempo con respecto a la segunda trama a la que corresponden uno o más segundos vectores Udist * Sdist 527. Aunque se describe en el contexto de una primera trama de audio que es posterior en el
5
10
15
20
25
30
35
40
45
50
55
60
65
tiempo a la segunda trama de audio, la primera trama de audio puede preceder en el tiempo a la segunda trama de audio. Por consiguiente, las técnicas no deben limitarse al ejemplo descrito en esta divulgación.
[0430] La unidad de reordenación de vectores 532 puede realizar primero un análisis de energía con respecto a cada uno de los primeros vectores Udist * Sdist 527 y los segundos vectores Udist * Sdist 527, calculando una energía cuadrática media para al menos una porción de (pero a menudo la totalidad de) la primera trama de audio y una porción de (pero a menudo la totalidad de) una segunda trama de audio y generar así (suponiendo que D sea cuatro) ocho energías, una para cada uno de los primeros vectores Udist * Sdist 527 de la primera trama de audio y uno para cada uno de los segundos vectores Udist * Sdist 527 de la segunda trama de audio. La unidad de reordenación de vectores 532 puede entonces comparar cada energía de los primeros vectores Udist * Sdist 527 de forma giratoria contra cada uno de los segundos vectores Udist * Sdist 527 como se ha descrito anteriormente con respecto a las Tablas 1-4.
[0431] En otras palabras, cuando se usa descomposición SVD basada en tramas (o procedimientos relacionados tales como KLT y PCA) en señales HoA, puede no garantizarse que el ordenamiento de los vectores de trama a trama sea consistente. Por ejemplo, si hay dos objetos en el campo acústico subyacente, la descomposición (que, cuando se lleva a cabo correctamente, puede denominarse "descomposición ideal") puede dar como resultado la separación de los dos objetos de tal manera que un vector represente un objeto en la matriz U. Sin embargo, incluso cuando la descomposición puede representarse como una "descomposición ideal", los vectores pueden alternarse de posición en la matriz U (y correspondientemente en la matriz S y V) de trama a trama. Además, pueden existir también diferencias de fase, en las que la unidad de reordenación de vectores 532 puede invertir la fase usando inversión de fase (multiplicando por puntos cada elemento del vector invertido por menos o uno negativo). Para alimentar estos vectores, la trama por trama en el mismo "motor de codificación AAC/Audio" puede requerir que se identifique el orden (o, en otras palabras, que las señales se emparejen), que la fase se rectifique, y que se aplique una interpolación cuidadosa en los límites de trama. Sin esto, el códec de audio subyacente puede producir artefactos extremadamente discordantes incluyendo los conocidos como "difuminado temporal" o "pre-eco".
[0432] De acuerdo con diversos aspectos de las técnicas descritas en esta divulgación, el dispositivo de codificación de audio 510C puede aplicar múltiples metodologías para identificar/combinar vectores, utilizando energía y correlación cruzada en los límites de trama de los vectores. El dispositivo de codificación de audio 510C también puede garantizar que se corrija un cambio de fase de 180 grados -que a menudo aparece en los límites de trama-. La unidad de reordenación de vectores 532 puede aplicar una forma de ventana de interpolación de entrada en fundido/fundirse entre los vectores para asegurar una transición suave entre las tramas. De esta manera, el dispositivo de codificación de audio 530c puede reordenar uno o más vectores para generar uno o más primeros vectores reordenados y facilitar así la codificación por un codificador de audio heredado, en el que uno o más vectores describen componentes distintos de un campo sonoro, y codificación de audio del uno o más vectores reordenados usando el codificador de audio heredado para generar una versión codificada de uno o más vectores reordenados.
[0433] La FIG. 40D es un diagrama de bloques que ilustra un ejemplo de dispositivo de codificación de audio 510D que puede realizar diversos aspectos de las técnicas descritas en esta descripción para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510D puede ser similar al dispositivo de codificación de audio 510C en que el dispositivo de codificación de audio 510D incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510D puede ser similar a la del dispositivo de codificación de audio 510C porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518.
[0434] Sin embargo, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510D puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510C en que la unidad de extracción de componente de campo sonoro 520 incluye una unidad adicional, indicada como unidad de cuantización 534 ("unidad cuant. 534"). Por esta razón, la unidad de extracción de componentes del campo sonoro 520 del dispositivo de codificación de audio 510D se denomina "unidad de extracción de componentes del campo sonoro 520D".
[0435] La unidad de cuantización 534 representa una unidad configurada para cuantizar uno o más vectores VTdist 525E y/o uno o más vectores VTBG 525F para generar uno o más vectores Vtq_diSt 525G correspondientes y/o uno o más vectores VTQ_BG 525H. La unidad de cuantización 534 puede cuantizar (que es un término de procesamiento de señales para el redondeo matemático a través de la eliminación de bits utilizados para representar un valor) uno o más vectores VtdiSt 525E para reducir el número de bits que se utilizan para representar el uno o más vectores VTdist 525E en el flujo de bits 517. En algunos ejemplos, la unidad de cuantización 534 puede cuantizar los valores de 32 bits de uno o más vectores VTdist 525E reemplazando estos valores de 32 bits por valores de 16 bits redondeados para generar uno o más vectores VTq_dist 525G. A este respecto, la unidad de cuantización 534 puede operar de una manera similar a la descrita anteriormente con respecto a la unidad de cuantización 52 del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0436] La cuantización de esta naturaleza puede introducir un error en la representación del campo sonoro que varía de acuerdo con la tosquedad de la cuantización. En otras palabras, los bits más utilizados para representar uno o más vectores VTdist 525E pueden dar lugar a menos error de cuantización. El error de cuantización debido a la cuantización de los vectores VTdist 525E (que se puede denominar ''Edist') puede determinarse restando uno o más vectores VTdist 525E a uno o más vectores VTq_dist 525G.
[0437] De acuerdo con las técnicas descritas en esta divulgación, el dispositivo de codificación de audio 510D puede compensar uno o más de los errores de cuantización Edist proyectando el error Edist o modificando de otro modo uno o más de los vectores Udist * Sdist 527 o los coeficientes armónicos esféricos de fondo 531 generados multiplicando uno o más vectores Ubg 525D por uno o más vectores Sbg 525B y luego por uno o más vectores VTbg 525F. En algunos ejemplos, el dispositivo de codificación de audio 510D sólo puede compensar el error Edist en los vectores Udist * Sdist 527. En otros ejemplos, el dispositivo de codificación de audio 510D sólo puede compensar el error Ebg en los coeficientes armónicos esféricos de fondo. En otros ejemplos, el dispositivo de codificación de audio 510D puede compensar el error Edist tanto en los vectores Udist * Sdist 527 como en los coeficientes armónicos esféricos de fondo.
[0438] En funcionamiento, la unidad de análisis de componentes relevantes 524 puede configurarse para emitir el uno o más vectores SdiSt 525, uno o más vectores Sbg 525B, uno o más vectores UDIST 525C, uno o más vectores Ubg 525D, el uno o más vectores VTdist 525E y uno o más vectores VTbg 525F a la unidad matemática 526. La unidad de análisis de componentes relevantes 524 también puede emitir el uno o más vectores VTdist 525E a la unidad de cuantización 534. La unidad de cuantización 534 puede cuantizar uno o más vectores VTdist 525E para generar uno o más vectores VTq_dist 525G. La unidad de cuantización 534 puede proporcionar uno o más vectores VTq_dist 525G a la unidad matemática 526, proporcionando al mismo tiempo uno o más vectores VTq_dist 525G a la unidad de reordenación de vectores 532 (como se ha descrito anteriormente). La unidad de reordenación de vectores 532 puede operar con respecto a uno o más vectores Vtq_dist 525G de una manera similar a la descrita anteriormente con respecto a los vectores VTq_dist 525E.
[0439] Al recibir estos vectores 525-525G ("vectores 525"), la unidad matemática 526 puede determinar primero coeficientes armónicos esféricos distintos que describen componentes distintos de los coeficientes armónicos esféricos de campo sonoro y de fondo que describen componentes de fondo del campo sonoro. La unidad matemática matricial 526 puede configurarse para determinar los distintos coeficientes armónicos esféricos multiplicando el uno o más vectores UDIST 525C por el uno o más vectores SdiSt 525A y luego por uno o más vectores VtdiSt 525E. La unidad matemática 526 puede configurarse para determinar los coeficientes armónicos esféricos de fondo multiplicando el uno o más vectores UBG 525D por uno o más vectores Sbg 525A y luego por uno o más vectores Vtbg 525e.
[0440] La unidad matemática 526 puede entonces determinar uno o más vectores Udist * Sdist compensados 527' (que pueden ser similares a los vectores Udist * Sdist 527 excepto que estos vectores incluyen valores para compensar el error Edist) realizando una operación de pseudoinvertida con respecto a uno o más vectores VTq_dist 525G y multiplicando luego los distintos armónicos esféricos por la pseudoinvertida del uno o más vectores Vtq_dist 525G. La unidad de reordenación de vectores puede operar de la manera descrita anteriormente para generar vectores reordenados 527', los cuales son entonces codificados de audio por la unidad de codificación de audio 515A para generar vectores 515' reordenados codificados de audio, de nuevo como se ha descrito anteriormente.
[0441] La unidad matemática 526 puede proyectar a continuación el error Edist a los coeficientes esféricos armónicos de fondo. La unidad matemática 526 puede, para realizar esta proyección, determinar o recuperar de otro modo los coeficientes esféricos armónicos originales 511 añadiendo los coeficientes armónicos esféricos distintos a los coeficientes esféricos de armónicos de fondo. La unidad matemática 526 puede entonces restar los coeficientes armónicos esféricos distintos cuantificados (que pueden generarse multiplicando los vectores Udist 525C por los vectores SdiSt 525A y luego por los vectores Vtq_diSt 525G) y los coeficientes armónicos esféricos de fondo de los coeficientes armónicos esféricos 511 para determinar el error restante debido a la cuantización de los vectores VtdiSt 519. La unidad matemática 526 puede entonces añadir este error a los coeficientes armónicos esféricos de fondo cuantificados para generar coeficientes armónicos esféricos de fondo cuantificados compensados 531'.
[0442] En cualquier caso, la unidad de reducción de órdenes 528A puede actuar como se ha descrito anteriormente para reducir los coeficientes armónicos esféricos de fondo cuantificados compensados 531' a coeficientes armónicos esféricos de fondo reducidos 529', que pueden codificarse por audio por la unidad de codificación de audio 514 de la manera descrita anteriormente para generar coeficientes armónicos esféricos de fondo reducidos codificados de audio 515B'.
[0443] De este modo, las técnicas pueden permitir que el dispositivo de codificación de audio 510D cuantifique uno o más primeros vectores, tales como vectores VTdist 525E, representativos de uno o más componentes de un campo sonoro y compensen el error introducido debido a la cuantización del uno o más primeros vectores en uno o más segundos vectores, tales como los vectores Udist * Sdist 527 y/o los vectores de coeficientes armónicos esféricos de fondo 531, que son también representativos del mismo uno o más componentes del campo sonoro.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0444] En otras palabras, cuando se usa descomposición SVD basada en tramas (o procedimientos relacionados tales como KLT y PCA) en señales HoA con el propósito de reducción de ancho de banda, las técnicas descritas en esta divulgación pueden permitir que el dispositivo de codificación de audio 10D cuantifique los primeros vectores de la matriz U (multiplicada por los valores singulares correspondientes de la matriz S), así como los correspondientes vectores del vector V. Esto comprenderá los componentes de "primer plano" o "distintos" del campo sonoro. Las técnicas pueden entonces permitir que el dispositivo de codificación de audio 510D codifique los vectores U*S usando un motor de codificación de audio de "caja negra", tal como un codificador AAC. El V vector puede ser escalar o un vector cuantificado.
[0445] Además, algunos de los vectores restantes en la matriz U pueden multiplicarse con los valores singulares correspondientes de la matriz S y de la matriz V y también codificarse utilizando un motor de codificación de audio de "caja negra". Estos comprenderán los componentes "de fondo" del campo sonoro. Una simple cuantización escalar de 16 bits de los vectores V puede dar como resultado una sobrecarga de aproximadamente 80 kbps para el 4° orden (25 coeficientes) y 160 kbps para el 6° orden (49 coeficientes). Una cuantización más gruesa puede dar lugar a errores de cuantización mayores. Las técnicas descritas en esta divulgación pueden compensar el error de cuantización de los vectores V, mediante la "proyección" del error de cuantización del vector V sobre los componentes de primer plano y de fondo.
[0446] Las técnicas en esta divulgación pueden incluir el cálculo de una versión cuantificada del vector V real. Este V vector cuantificado puede denominarse V’ (donde V’ = V+e). La señal HoA subyacente -para los componentes de primer plano- que las técnicas están intentando recrear está dada por H_f = USV, donde U, S y V contienen solamente los elementos de primer plano. Para el propósito de este análisis, US será reemplazado por un solo conjunto de vectores U. Por lo tanto, H_f = UV. Dado que hay un V' erróneo, las técnicas están intentando recrear H_f lo más cerca posible. Por lo tanto, las técnicas pueden permitir que el dispositivo de codificación de audio 10D encuentre U' de tal forma que H_f = U'V'. El dispositivo de codificación de audio 10D puede utilizar una metodología pseudoinvertida que permite que U’ = H_f[V’]A(-1). Utilizando el denominado motor de codificación de audio de "caja negra" para codificar U', las técnicas pueden minimizar el error en H, causado por lo que se puede denominar como el vector V' erróneo.
[0447] De manera similar, las técnicas también pueden permitir que el dispositivo de codificación de audio proyecte el error debido a la cuantización de V en los elementos de fondo. El dispositivo de codificación de audio 510D puede configurarse para recrear la señal HoA total que es una combinación de señales HoA de primer plano y de fondo, es decir, H = H_f + H_b. Esto puede nuevamente ser modelado como H = H_f + e + H_b, debido al error de cuantización en V'. De esta manera, en lugar de poner el H_b a través del "codificador de audio de caja negra", se pone (e + H_b) a través del codificador de audio, compensando de hecho el error en V'. En la práctica, esto compensa el error sólo hasta el orden determinado por el dispositivo de codificación de audio 510D para enviar los elementos de fondo.
[0448] La FIG. 40E es un diagrama de bloques que ilustra un ejemplo de dispositivo de codificación de audio 510E que puede realizar diversos aspectos de las técnicas descritas en esta descripción para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510E puede ser similar al dispositivo de codificación de audio 510D en que el dispositivo de codificación de audio 510E incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510E puede ser similar a la del dispositivo de codificación de audio 510D porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518.
[0449] Sin embargo, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510E puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510D en que la unidad matemática 526 de la unidad de extracción de componentes del campo sonoro 520 realiza aspectos adicionales de las técnicas descritas en esta divulgación para reducir aún más la matriz V 519A antes de incluir la versión reducida de la transposición de la matriz V 519A en el flujo de bits 517. Por esta razón, la unidad de extracción de componentes del campo sonoro 520 del dispositivo de codificación de audio 510E se denomina "unidad de extracción de componentes del campo sonoro 520E".
[0450] En el ejemplo de la FIG. 40E, la unidad de reducción de órdenes 528, en lugar de reenviar los coeficientes armónicos esféricos de fondo reducidos 529' a la unidad de codificación de audio 514, devuelve los coeficientes armónicos esféricos de fondo reducidos 529' a la unidad matemática 526. Como se ha indicado anteriormente, estos coeficientes armónicos esféricos de fondo reducidos 529' pueden haberse reducido eliminando los de los coeficientes correspondientes a funciones de base esférica que tienen uno o más órdenes y/o subórdenes identificados. El orden reducido de los coeficientes armónicos esféricos de fondo reducidos 529' puede estar representado por la variable Nbg.
[0451] Dado que la unidad de extracción de componentes del campo sonoro 520E no puede realizar reducción de orden con respecto a uno o más vectores Udist * Sdist reordenados 533', el orden de esta descomposición de los coeficientes armónicos esféricos que describen componentes distintos del campo sonoro (que puede representarse
5
10
15
20
25
30
35
40
45
50
55
60
65
por la variable Ndist) puede ser mayor que el orden de fondo, Nbg. En otras palabras, Nbg puede ser comúnmente menor que Ndist. Una posible razón de que Nbg pueda ser menor que Ndist es que se asume que los componentes de fondo no tienen mucha direccionalidad de tal forma que no se requieren funciones de base esférica de orden superior, permitiendo de este modo la reducción de orden y dando lugar a que Nbg sea menor que Ndist.
[0452] Dado que el uno o más de los vectores VTq_dist reordenados 539 previamente se enviaron abiertamente, sin codificación de audio de estos vectores 539 en el flujo de bits 517, como se muestra en los ejemplos de las FIG. 40A-40D, el uno o más vectores VTq_dist reordenados 539 pueden consumir un ancho de banda considerable. Como un ejemplo, cada uno de los vectores VTq_dist 539, cuando se cuantifican a valores escalares de 16 bits, pueden consumir aproximadamente 20 Kbps para los datos de audio ambisónicos de cuarto orden (donde cada vector tiene 25 coeficientes) y 40 Kbps para los datos de audio ambisónicos de sexto orden (donde cada vector tiene 49 coeficientes).
[0453] De acuerdo con diversos aspectos de las técnicas descritas en esta divulgación, la unidad de extracción de componentes del campo sonoro 520E puede reducir la cantidad de bits que necesitan ser especificados para coeficientes armónicos esféricos o descomposiciones de los mismos, tales como los uno o más vectores VTq_dist reordenados 539. En algunos ejemplos, la unidad matemática 526 puede determinar, basándose en los coeficientes armónicos esféricos reducidos ordenados 529', los de los vectores VTq_disT reordenados 539 que se van a eliminar y recombinar con los coeficientes armónicos esféricos reducidos ordenados 529' y los de los vectores VTq_dist reordenados 539 que son para formar los vectores VTpequeño 521. Es decir, la unidad matemática 526 puede determinar un orden del orden reducido de los coeficientes armónicos esféricos 529', donde este orden se puede representar Nbg. Los vectores VTq_dist reordenados 539 pueden ser de un orden representado por la variable Ndist, donde Ndist es mayor que el orden Nbg.
[0454] La unidad matemática 526 puede entonces analizar los primeros Nbg órdenes de los vectores VTq_dist reordenados 539, eliminando los vectores que especifican coeficientes armónicos esféricos descompuestos que corresponden a funciones de base esféricas que tienen un orden menor o igual que Nbg. Estos vectores VTq_dist reordenados eliminados 539 pueden usarse entonces para formas coeficientes armónicos esféricos intermedios multiplicando los de los vectores Udist * Sdist reordenados 533’ representativo de las versiones descompuestas de los coeficientes armónicos esféricos 511 correspondientes a las funciones de base esférica que tienen un orden menor de o igual a Nbg por los vectores VTq_dist reordenados eliminados 539 para formar los coeficientes armónicos esféricos distintos intermedios. La unidad matemática 526 puede entonces generar coeficientes armónicos esféricos de fondo modificados 537 añadiendo los coeficientes armónicos esféricos distintos intermedios a los coeficientes armónicos esféricos reducido ordenados 529'. La unidad matemática 526 puede entonces pasar estos coeficientes armónicos esféricos de fondo modificados 537 a la unidad de codificación de audio 514, cuyo audio codifica estos coeficientes 537 para formar coeficientes armónicos esféricos de fondo modificado codificados de audio 515B'.
[0455] La unidad matemática 526 puede entonces pasar el uno o más vectores VTpequeño 521, que pueden representar los vectores 539 representativos de una forma descompuesta de los coeficientes armónicos esféricos 511 correspondientes a funciones de base esféricas que tienen un orden mayor que Nbg y menor que o igual a Ndist. A este respecto, la unidad matemática 526 puede realizar operaciones similares a la unidad de reducción de coeficientes 46 del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4. La unidad matemática 526 puede pasar el uno o más vectores VTpequeño 521 a la unidad de generación de flujo de bits 516, que puede generar el flujo de bits 517 para incluir los vectores VTpequeño 521 a menudo en su forma codificada sin audio original. Dado que los vectores VTpequeño 521 incluyen menos vectores que los vectores VTq_dist reordenados 539, las técnicas pueden facilitar la asignación de menos bits a los vectores VTq_dist reordenados 539 especificando únicamente los vectores VTpequeño 521 en el flujo de bits 517.
[0456] Aunque se muestra sin cuantificar, en algunos casos, el dispositivo de codificación de audio 510E puede cuantizar los vectores VTbg 525F. En algunos casos, tal como cuando la unidad de codificación de audio 514 no se utiliza para comprimir coeficientes armónicos esféricos de fondo, el dispositivo de codificación de audio 510E puede cuantizar los vectores VTbg 525F.
[0457] De este modo, las técnicas pueden permitir que el dispositivo de codificación de audio 510E determine al menos uno de uno o más vectores descompuestos a partir de coeficientes armónicos esféricos a recombinar con coeficientes armónicos esféricos de fondo para reducir la cantidad de bits que se requiere asignar a uno o más vectores en un flujo de bits, en el que los coeficientes armónicos esféricos describen un campo sonoro, y en el que los coeficientes armónicos esféricos de fondo describen uno o más componentes de fondo del mismo campo sonoro.
[0458] Es decir, las técnicas pueden permitir que el dispositivo de codificación de audio 510E sea configurado de una manera indicada por las siguientes cláusulas.
[0459] Cláusula 133149-1A. Un dispositivo, tal como el dispositivo de codificación de audio 510E, que comprende: uno o más procesadores configurados para determinar al menos uno de uno o más vectores descompuestos a partir de coeficientes armónicos esféricos para ser recombinados con coeficientes armónicos esféricos de fondo para reducir una cantidad de bits que se requiere para asignarse a uno o más vectores en un flujo de bits, en el que los
5
10
15
20
25
30
35
40
45
50
55
60
65
coeficientes armónicos esféricos describen un campo sonoro, y en el que los coeficientes armónicos esféricos de fondo describen uno o más componentes de fondo del mismo campo sonoro.
[0460] Cláusula 133149-2A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para generar un conjunto reducido de uno o más vectores eliminando el determinado al menos uno de uno o más vectores del uno o más vectores.
[0461] Cláusula 133149-3A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para generar un conjunto reducido de uno o más vectores eliminando el determinado al menos uno de uno o más vectores del uno o más vectores, recombinar el al menos uno de uno o más vectores eliminados con los coeficientes armónicos esféricos de fondo para generar coeficientes armónicos esféricos de fondo modificados, y generar el flujo de bits para incluir el conjunto reducido de uno o más vectores y los coeficientes armónicos esféricos de fondo modificados.
[0462] Cláusula 133149-4A. El dispositivo de la cláusula 133149-3A, en el que el conjunto reducido de uno o más vectores está incluido en el flujo de bits sin que primero se codifique con audio.
[0463] Cláusula 133149-5A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados adicionalmente para generar un conjunto reducido de uno o más vectores eliminando el determinado al menos uno de uno o más vectores del uno o más vectores, recombinar el al menos uno eliminado de uno o más vectores con los coeficientes armónicos esféricos de fondo para generar coeficientes armónicos esféricos de fondo modificados, codificación de audio de los coeficientes armónicos esféricos de fondo modificados, y generar el flujo de bits para incluir el conjunto reducido de uno o más vectores y los coeficientes armónicos esféricos de fondo modificados codificados con audio.
[0464] Cláusula 133149-6A. El dispositivo de la cláusula 133149-1A, en el que el uno o más vectores comprenden vectores representativos de al menos algún aspecto de uno o más componentes distintos del campo sonoro.
[0465] Cláusula 133149-7A. El dispositivo de la cláusula 133149-1A, en el que el uno o más vectores comprenden uno o más vectores de una transposición de una matriz V generada, al menos en parte, realizando una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos que describen el campo sonoro.
[0466] Cláusula 133149-8A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados adicionalmente para realizar una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos para generar una matriz U representativa de los vectores singulares izquierdos de la pluralidad de armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de los vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, y en el que el uno o más vectores comprenden uno o más vectores a partir de una transposición de la matriz V.
[0467] Cláusula 133149-9A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una reducción de orden con respecto a los coeficientes armónicos esféricos de fondo para eliminar aquellos de los coeficientes armónicos esféricos de fondo correspondientes a funciones de base esféricas que tienen un orden y/o suborden identificado, en el que los coeficientes armónicos esféricos de fondo corresponden a un orden Nbg.
[0468] Cláusula 133149-10A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una reducción de orden con respecto a los coeficientes armónicos esféricos de fondo para eliminar aquellos de los coeficientes armónicos esféricos de fondo correspondientes a funciones de base esféricas que tienen un orden y/o suborden identificado, en el que los coeficientes armónicos esféricos de fondo corresponden a un orden NBG que es menor del orden de coeficientes armónicos esféricos distintos, NDIST, y en el que los coeficientes armónicos esféricos distintos representan distintos componentes del campo sonoro.
[0469] Cláusula 133149-11A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una reducción de orden con respecto a los coeficientes armónicos esféricos de fondo para eliminar aquellos de los coeficientes armónicos esféricos de fondo correspondientes a funciones de base esféricas que tienen un orden y/o suborden identificado, en el que los coeficientes armónicos esféricos de fondo corresponden a un orden NBG que es menor del orden de coeficientes armónicos esféricos distintos, NDIST, y en el que los coeficientes armónicos esféricos distintos representan distintos componentes del campo sonoro y no están sujetos a la reducción de orden.
[0470] Cláusula 133149-12A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos para generar una matriz U representativa de vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de
5
10
15
20
25
30
35
40
45
50
55
60
65
coeficientes armónicos esféricos y una matriz V representativa de vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, y determinar uno o más vectores VTDIST y uno o más VTBG de una transposición de la matriz V, uno o más vectores VTdist describen uno o más componentes distintos del campo sonoro y uno o más vectores VTbg describen uno o más componentes de fondo del campo sonoro, y en el que el uno o más vectores incluyen uno o más vectores VTdist.
[0471] Cláusula 133149-13A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos para generar una matriz U representativa de vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, determinar uno o más vectores VTdist y uno o más VTbg de una transposición de la matriz V, uno o más vectores Vdist describen uno o más componentes distintos del campo sonoro y uno o más vectores Vbg describen uno o más componentes de fondo del campo sonoro, y cuantifican uno o más vectores VTdist para generar uno o más vectores VTq_dist, y en el que uno o más vectores incluye uno o más vectores VTq_dist.
[0472] Cláusula 133149-14A. El dispositivo de la cláusula 133149-12A o la cláusula 133149-13A, en el que el uno o más procesadores están configurados adicionalmente para determinar uno o más vectores UDIST y uno o más vectores UBG de la matriz U, uno o más vectores UDIsT describen uno o más componentes distintos del campo sonoro y uno o más vectores UBG describen uno o más componentes de fondo del campo sonoro, y determinan uno o más vectores Sdist y uno o más vectores Sbg de la matriz S, uno o más vectores Sdist describen uno o más componentes distintos del campo sonoro y uno o más vectores Sbg describen uno o más componentes de fondo del campo sonoro.
[0473] Cláusula 133149-15A. El dispositivo de la cláusula 133149-14A, en el que el uno o más procesadores están configurados además para determinar los coeficientes armónicos esféricos de fondo en función de uno o más vectores UBG, uno o más vectores SBG, y uno o más VTBG, realizan reducción de orden con respecto a los coeficientes armónicos esféricos de fondo para generar coeficientes armónicos esféricos de fondo reducidos que tienen un orden igual a Nbg, multiplicar uno o más Udist por uno o más vectores Sdist para generar uno o más vectores Udist * Sdist, eliminar el menos uno determinado de uno o más vectores del uno o más vectores para generar un conjunto reducido de uno o más vectores, multiplicar uno o más vectores Udist * Sdist por el al menos uno eliminado de uno o más vectores VTDIST o uno o más vectores VTQ_DIST para generar coeficientes armónicos esféricos distintos intermedios, y añadir los coeficientes armónicos esféricos distintos intermedios al coeficiente armónico esférico de fondo para recombinar el al menos uno eliminado de uno o más vectores VTDIST o uno o más vectores Vtq_dist con los coeficientes esféricos de armónicos de fondo.
[0474] Cláusula 133149-16A. El dispositivo de la cláusula 133149-14A, en el que el uno o más procesadores están configurados además para determinar los coeficientes armónicos esféricos de fondo en función de uno o más vectores Ubg, uno o más vectores Sbg y uno o más VTbg, realizar una reducción de orden con respecto a los coeficientes armónicos esféricos de fondo para generar coeficientes armónicos esféricos de fondo reducido que tienen un orden igual a Nbg, multiplicar uno o más Udist por uno o más vectores Sdist para generar uno o más Udist * SDIST, reordenar uno o más vectores UDIST * SDIST para generar uno o más vectores UDIST * SDIST reordenados, eliminar al menos uno determinado de uno o más vectores del uno o más vectores para generar un conjunto reducido de uno o más vectores, multiplicar el uno o más vectores Udist * Sdist reordenados por el al menos uno eliminado de uno o más vectores VTdist o uno o más vectores VTq_dist para generar coeficientes armónicos esféricos distintos intermedios, y añadir los coeficientes armónicos esféricos distintos intermedios al coeficiente armónico esférico de fondo para recombinar el al menos uno eliminado de uno o más vectores VTdist o uno o más vectores VTq_dist con los coeficientes armónicos esféricos de fondo.
[0475] Cláusula 133149-17A. El dispositivo de la cláusula 133149-15A o la cláusula 133149-16A, en el que el uno o más procesadores están configurados adicionalmente para codificar en audio los coeficientes armónicos esféricos de fondo después de añadir los coeficientes armónicos esféricos distintos intermedios a los coeficientes armónicos esféricos de fondo, y generar el flujo de datos para incluir los coeficientes armónicos esféricos de fondo codificados en audio.
[0476] Cláusula 133149-18A. El dispositivo de la cláusula 133149-1A, en el que el uno o más procesadores están configurados además para realizar una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos para generar una matriz U representativa de vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos, y una matriz V representativa de vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, determinar uno o más vectores VTdist y uno o más VTbg de una transposición de la matriz V, uno o más vectores Vdist describen uno o más componentes distintos del campo sonoro, y uno o más vectores Vbg describen uno o más componentes de fondo del campo sonoro, cuantificar uno o más vectores VTdist para generar uno o más vectores VTq_dist, y reordenar uno o más vectores VTq_dist para generar uno o más vectores VTq_dist reordenados, y en el que el uno o más vectores incluye el uno o más vectores VtQ_dist reordenados.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0477] La FIG. 40F es un diagrama de bloques que ilustra un dispositivo de codificación de audio ejemplar 510F que puede realizar diversos aspectos de las técnicas descritas en esta divulgación para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510F puede ser similar al dispositivo de codificación de audio 510C en que el dispositivo de codificación de audio 510F incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510F puede ser similar a la del dispositivo de codificación de audio 510C porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518 y una unidad de reordenación de vectores 532, que pueden operar de forma similar a las unidades del dispositivo de codificación de audio 510C. En algunos ejemplos, el dispositivo de codificación de audio 510F puede incluir una unidad de cuantización 534, como se ha descrito con respecto a las FIG. 40D y 40E, para cuantizar uno o más vectores de cualquiera de los vectores UDIST 525C, los vectores Ubg 525D, los vectores VTdist 525E y los vectores VTbg 525J.
[0478] Sin embargo, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510F puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510C en que la unidad de análisis de componentes relevantes 524 de la unidad de extracción de componentes de campo sonoro 520 puede realizar un análisis de contenido para seleccionar el número de componentes de primer plano, denominado D en el contexto de las FIG. 40A-40J. En otras palabras, la unidad de análisis de componentes relevantes 524 puede operar con respecto a las matrices U, S y V 519 de la manera descrita anteriormente para identificar si las versiones descompuestas de los coeficientes armónicos esféricos se generaron a partir de objetos de audio sintéticos o de una grabación natural con un micrófono. La unidad de análisis de componentes relevantes 524 puede entonces determinar D sobre la base de esta determinación sintética.
[0479] Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510F puede diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510C en que la unidad de extracción de componentes del campo sonoro 520 puede incluir una unidad adicional, una unidad de reducción de orden y conservación de energía 528F (ilustrada como "unidad de red. orden y conserv. de energía 528F"). Por estas razones, la unidad de extracción de componentes del campo sonoro 520 del dispositivo de codificación de audio 510F se denomina "unidad de extracción de componentes del campo sonoro 520F".
[0480] La unidad de reducción de orden y conservación de energía 528F representa una unidad configurada para realizar la reducción de orden de los componentes de fondo de la matriz VBG 525H representativa de los vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos 511 manteniendo la energía global (y la presión de sonido concomitante) del campo sonoro descrito en parte por la matriz VBG completa 525H. A este respecto, la unidad de reducción de orden y conservación de energía 528F puede realizar operaciones similares a las descritas anteriormente con respecto a la unidad de selección de fondo 48 y la unidad de compensación de energía 38 del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4.
[0481] La matriz Vbg completa 525H tiene una dimensionalidad (N+1)2 x (N+1)2 - D, donde D representa varios componentes principales o, en otras palabras, valores singulares que se determinan como relevantes en términos de ser componentes de audio distintos del campo sonoro. Es decir, la matriz Vbg completa 525H incluye aquellos valores singulares que se determinan como fondo (BG) o, en otras palabras, componentes de sonido ambiental o audio no distinto del campo sonoro.
[0482] Como se ha descrito anteriormente con respecto, por ejemplo, a la unidad de reducción de orden 524 de las FIG. 40B-40E, la unidad de reducción de orden y conservación de energía 528F puede extraer, eliminar o borrar de otro modo (a menudo por reducción a cero) los valores singulares de de fondo de la matriz Vbg 525H correspondientes a funciones de base esférica de orden superior. La unidad de reducción de orden y conservación de energía 528F puede emitir una versión reducida de la matriz VBG 525H (designada como "matriz VBG’ 525I" y denominada en lo sucesivo "matriz VBG’ reducida 525I") para transponer la unidad 522. La matriz VBG’ reducida 525I puede tener una dimensionalidad (r +1 )2 x (N+1 )2 - D, con r<N. La unidad de transposición 522 aplica una operación de transposición a la matriz VBG’ reducida 525I para generar y producir una matriz VTBG' reducida transpuesta 525J a la unidad matemática 526, que puede operar para reconstruir los componentes de sonido de fondo del campo sonoro calculando Ubg*Sbg*VTbg usando la matriz Ubg 525D, la matriz Sbg 525B, y la matriz VTbg' reducida transpuesta 525J.
[0483] De acuerdo con las técnicas descritas en el presente documento, la unidad de reducción de orden y conservación de energía 528F está configurada además para compensar posibles reducciones en la energía total de los componentes de sonido de fondo del campo sonoro causadas por la reducción del orden de la matriz Vbg completa 525H para generar la matriz VBG' reducida 525I. En algunos ejemplos, la unidad de reducción de orden y conservación de energía 528F compensa determinando una ganancia de compensación en forma de valores de amplificación que se aplican a cada una de las columnas (N+1)2 - D de la matriz Vbg' reducida 525I con el fin de aumentar la energía cuadrática media (RMS) de la matriz Vbg' reducida 525I para igualar o al menos aproximar la RMS de la matriz Vbg completa 525H, antes de emitir la matriz Vbg’ reducida 525I para transponer la unidad 522.
[0484] En algunos casos, la unidad de reducción de orden y conservación de energía 528F puede determinar la
5
10
15
20
25
30
35
40
45
50
55
60
energía RMS de cada columna de la matriz Vbg completa 525H y la energía RMS de cada columna de la matriz Vbg’ reducida 525I, a continuación, determinar el valor de amplificación para la columna como la relación de la primera con respecto a la última, como se indica en la siguiente ecuación:
« = vbg / vbg’,
[0485] donde a es el valor de amplificación para una columna, vbg representa una única columna de la matriz Vbg 525H, y vbg' representa la columna única correspondiente de la matriz Vbg' 525I. Esto puede representarse en la notación matricial como:
a =
VbgRMS/Vbg
rms
A = [«1... <X(N+1)2-D ],
donde Vbgrms es un vector RMS que tiene elementos que representan la RMS de cada columna de matriz Vbg 525H, Vbg’rms es un vector RMS que tiene elementos que representan la RMS de cada columna de la matriz Vbg’ reducida 525I, y A es un vector de valor de amplificación que tiene elementos para cada columna de la matriz Vbg 525H. La unidad de reducción de orden y conservación de energía 528F aplica una multiplicación escalar a cada columna de matriz Vbg reducida 525I usando el correspondiente valor de amplificación a, o en forma vectorial:
V"bg = Vbg’AT,
[0486] donde V”bg representa una matriz Vbg' reducida 525I que incluye compensación de energía. La unidad de reducción de orden y conservación de energía 528F puede producir una matriz Vbg' reducida 525I que incluye una compensación de energía para transponer la unidad 522 para igualar (o casi igualar) la RMS de la matriz Vbg' reducida 525I con la de la matriz Vbg completa 525H. La dimensionalidad de salida de la matriz Vbg' reducida 525I que incluye la compensación de energía puede ser (rj+1 )2x(N+1 )2-D.
[0487] En algunos ejemplos, para determinar cada RMS de columnas respectivas de matriz Vbg' reducida 525I y matriz Vbg completa 525H, la unidad de reducción de orden y conservación de energía 528F puede aplicar primero un reproductor de coeficientes armónicos esféricos de referencia (SHC) a las columnas. La aplicación del reproductor de SHC de referencia por la unidad de reducción de orden y conservación de energía 528F permite la determinación de RMS en el dominio SHC para determinar la energía del campo acústico global descrito por cada columna de la trama representada por la matriz Vbg’ reducida 525I y la matriz Vbg completa 525H. Por lo tanto, en tales ejemplos, la unidad de reducción de orden y conservación de energía 528F puede aplicar el reproductor de SHC de referencia a cada columna de la matriz Vbg completa 525H y a cada columna reducida de la matriz Vbg' reducida 525I, determinar los valores de RMS respectivos para la columna y la columna reducida, y determinar el valor de amplificación para la columna como la relación del valor de RMS para la columna con respecto al valor de RMS para la columna reducida. En algunos ejemplos, la reducción de orden a la matriz Vbg' reducida 525I procede en dirección de la columna coincidente con la conservación de energía. Esto puede expresarse en pseudocódigo como se indica a continuación:
R = ReferenceRenderer;
para m = numDist+1 : numChannels
fullV = V(:,m); //toma una columna de V => fullV reducedV =[fullV(1 :numBG); zeros(numChannels-numBG,1)]; alpha=sqrt(sum((fullV'*R).A2)/sum((reducedV'*R).A2)); if isnan(alpha) | | isinf(alpha), alpha = 1; end;
V_out(:,m) = reducedV * alpha; fin
[0488] En el pseudocódigo anterior, numChannels puede representar (N+1)2 - D, numBG puede representar (r+1)2, V puede representar la matriz Vbg 525H, y V_out puede representar la matriz Vbg’ reducida 525I, y R puede representar el reproductor de SHC de referencia de la unidad de reducción de orden y conservación de energía 528F. La dimensionalidad de V puede ser (N+1)2 x (N+1)2 - D y la dimensionalidad de V_out puede ser (r +1)2 x (N+1)2 - D.
[0489] Como resultado, el dispositivo de codificación de audio 510F puede, al representar la pluralidad de coeficientes armónicos esféricos 511, reconstruir los componentes de sonido de fondo usando una matriz Vbg' reducida ordenada 525I que incluye compensación de energía que puede perderse como resultado del proceso de reducción de orden.
[0490] La FIG. 40G es un diagrama de bloques que ilustra un dispositivo de codificación de audio ejemplar 510G que puede realizar diversos aspectos de las técnicas descritas en esta divulgación para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. En el ejemplo de la FIG.
5
10
15
20
25
30
35
40
45
50
55
60
65
40G, el dispositivo de codificación de audio 510G incluye una unidad de extracción de componentes del campo sonoro 520F. A su vez, la unidad de extracción de componentes del campo sonoro 520F incluye una unidad de análisis de componentes relevantes 524G.
[0491] La unidad de compresión de audio 512 del dispositivo de codificación de audio 510G puede, sin embargo, diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 10F en que la unidad de compresión de audio 512 del dispositivo de codificación de audio 510G incluye una unidad de análisis de componentes relevantes 524G. La unidad de análisis de componentes relevantes 524G puede representar una unidad configurada para determinar la saliencia o distinción de los datos de audio que representan un campo sonoro, usando información basada en direccionalidad asociada con los datos de audio.
[0492] Mientras que las determinaciones basadas en energía pueden mejorar la reproducción de un campo sonoro descompuesto por SVD para identificar componentes de audio distintos del campo sonoro, las determinaciones basadas en energía también pueden hacer que un dispositivo identifique erróneamente componentes de audio de fondo como componentes de audio distintos, en aquellos casos en los que los componentes de audio de fondo exhiben un alto nivel de energía. Es decir, una separación de componentes de audio distintos y de fondo, exclusivamente basada en energía, puede no ser robusta, ya que los componentes de audio de fondo energéticos (por ejemplo, más altos) pueden identificarse incorrectamente como componentes de audio distintos. Para distinguir más fuertemente entre componentes de audio distintos y de fondo del campo sonoro, diversos aspectos de las técnicas descritas en esta divulgación pueden permitir que la unidad de análisis de componentes relevantes 524G realice un análisis basado en direccionalidad de SHC 511 para separar componentes de audio distintos y de fondo de versiones descompuestas de SHC 511.
[0493] La unidad de análisis de componentes relevantes 524G puede, en el ejemplo de la FIG. 40H, representar una unidad configurada o operable de otro modo para separar elementos distintos (o de primer plano) de elementos de fondo incluidos en una o más de la matriz V 519, la matriz S 519B y la matriz U 519C, similar a las unidades de análisis de componentes relevantes 524 de los dispositivos de codificación de audio descritos anteriormente 510- 510F. De acuerdo con algunas técnicas basadas en SVD, los componentes más energéticos (por ejemplo, los primeros vectores de una o más de las matrices V, S y U 519-519C, o una matriz derivada de las mismas) pueden tratarse como componentes distintos. Sin embargo, los componentes más enérgicos (que están representados por vectores) de una o más de las matrices 519-519C no pueden, en ninguno de los escenarios, representar los componentes/señales que son los más direccionales.
[0494] A diferencia de las unidades de análisis de componentes relevantes descritas anteriormente 524, la unidad de análisis de componentes relevantes 524G puede implementar uno o más aspectos de las técnicas descritas en el presente documento para identificar elementos de primer plano basados en la direccionalidad de los vectores de una o más de las matrices 519-519C o una matriz derivada de las mismas. En algunos ejemplos, la unidad de análisis de componentes relevantes 524G puede identificar o seleccionar como componentes de audio distintos (donde los componentes también pueden denominarse "objetos"), uno o más vectores basados tanto en energía como en la direccionalidad de los vectores. Por ejemplo, la unidad de análisis de componentes relevantes 524G puede identificar aquellos vectores de una o más de las matrices 519-519C (o una matriz derivada de las mismas) que muestran tanto alta energía como alta direccionalidad (por ejemplo, representada como cociente de direccionalidad) como componentes de audio distintos. Como resultado, si la unidad de análisis de componentes relevantes 524G determina que un vector particular es relativamente menos direccional cuando se compara con otros vectores de una o más de las matrices 519-519C (o una matriz derivada de las mismas), independientemente entonces del nivel de energía asociado con el vector particular, la unidad de análisis de componentes relevantes 524G puede determinar que el vector particular representa componentes de audio de fondo (o ambientales) del campo sonoro representado por los SHC 511. A este respecto, la unidad de análisis de componentes relevantes 524G puede realizar operaciones similares a las descritas anteriormente con respecto a la unidad de análisis de campo sonoro 44 del dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4.
[0495] En algunas implementaciones, la unidad de análisis de componentes relevantes 524G puede identificar objetos de audio distintos (que, como se ha indicado anteriormente, también pueden denominarse "componentes") basándose en la direccionalidad, realizando las siguientes operaciones. La unidad de análisis de componentes relevantes 524G puede multiplicar (por ejemplo, utilizando uno o más procesos de multiplicación de matrices) la matriz V 519A por la matriz S 519B. Mediante la multiplicación de la matriz V 519A y la matriz S 519B, la unidad de análisis de componentes relevantes 524G puede obtener una matriz VS. Además, la unidad de análisis de componentes relevantes 524G puede cuadrar (es decir, exponenciar por una potencia de dos) al menos algunas de las entradas de cada uno de los vectores (que pueden ser una fila) de la matriz VS. En algunos casos, la unidad de análisis de componentes relevantes 524G puede sumar aquellas entradas al cuadrado de cada vector que están asociadas con un orden mayor que 1. Como un ejemplo, si cada vector de la matriz incluye 25 entradas, la unidad de análisis de componentes relevantes 524G puede, con respecto a cada vector, elevar al cuadrado las entradas de cada vector comenzando por la entrada quinta y terminando por la entrada vigésimo quinta, sumando las entradas al cuadrado para determinar un cociente de direccionalidad (o un indicador de direccionalidad). Cada operación de suma puede dar como resultado un cociente de direccionalidad para un vector correspondiente. En este ejemplo, la unidad de análisis de componentes relevantes 524G puede determinar que aquellas entradas de cada fila que están
5
10
15
20
25
30
35
40
45
50
55
60
asociadas con un orden menor o igual a 1, concretamente, de la primera a la cuarta entradas, se dirigen más generalmente a la cantidad de energía y menos a la direccionalidad de esas entradas. Es decir, los ambisónicos de orden inferior asociados a un orden de cero o uno corresponden a funciones de base esférica que, como se ilustra en la FIG. 1 y la FIG. 2, no proporcionan mucho en términos de la dirección de la onda de presión, sino que proporcionan algo de volumen (que es representativo de la energía).
[0496] Las operaciones descritas en el ejemplo anterior también se pueden expresar de acuerdo con el siguiente pseudocódigo. El pseudocódigo siguiente incluye anotaciones, en forma de declaraciones de comentarios que se incluyen en las instancias consecutivas de las cadenas de caracteres "/*" y "*/" (sin comillas).
[U,S,V] = svd(audioframe,'ecom');
VS = V*S;
/* La línea siguiente se dirige a analizar cada fila independientemente y a sumar los valores de la primera fila (por ejemplo) de la quinta entrada a la entrada vigésimo quinta para determinar un cociente de direccionalidad o métrica de direccionalidad para un vector correspondiente. Elevar al cuadrado las entradas antes de sumar. Las entradas en cada fila que están asociadas con un orden mayor que 1 están asociadas con ambisónicos de orden superior y, por lo tanto, tienen más probabilidades de ser direccionales. */
SumVS = sum(VS(5:end,:).A2,i);
/* La línea siguiente se dirige a ordenar la suma de los cuadrados de la matriz VS generada, y a seleccionar un conjunto de los valores más grandes (por ejemplo, tres o cuatro de los valores más grandes) */
[~,idxVS] = sort(sumVS,'descend');
U = U(:,idxVS);
V = V(:,idxVS);
S = S(idxVS,idxVS);
[0497] En otras palabras, de acuerdo con el pseudocódigo anterior, la unidad de análisis de componentes relevantes 524G puede seleccionar entradas de cada vector de la matriz VS descompuesta de las de los SHC 511 correspondientes a una función de base esférica que tiene un orden mayor que uno. La unidad de análisis de componentes relevantes 524G puede entonces elevar al cuadrado estas entradas para cada vector de la matriz VS, sumando las entradas elevadas al cuadrado para identificar, calcular o, de algún modo, determinar una métrica o cociente de direccionalidad para cada vector de la matriz VS. A continuación, la unidad de análisis de componentes relevantes 524G puede ordenar los vectores de la matriz VS en base a las respectivas métricas de direccionalidad de cada uno de los vectores. La unidad de análisis de componentes relevantes 524G puede clasificar estos vectores en un orden descendente de métricas de direccionalidad, de tal manera que los vectores con la direccionalidad correspondiente más alta son los primeros y aquellos vectores con la direccionalidad correspondiente más baja son últimos. La unidad de análisis de componentes relevantes 524G puede entonces seleccionar el subconjunto diferente de cero de los vectores que tienen la métrica de direccionalidad relativa más alta.
[0498] De acuerdo con algunos aspectos de las técnicas descritas en el presente documento, el dispositivo de codificación de audio 510G, o uno o más de sus componentes, puede identificar o utilizar de otra manera un número predeterminado de los vectores de la matriz VS como componentes de audio distintos. Por ejemplo, después de seleccionar las entradas 5 a 25 de cada fila de la matriz VS y de elevar al cuadrado y sumar las entradas seleccionadas para determinar la métrica de direccionalidad relativa para cada vector respectivo, la unidad de análisis de componentes relevantes 524G puede implementar una selección adicional entre los vectores para identificar vectores que representan distintos componentes de audio. En algunos ejemplos, la unidad de análisis de componentes relevantes 524G puede seleccionar un número predeterminado de los vectores de la matriz VS, comparando los cocientes de direccionalidad de los vectores. Como ejemplo, la unidad de análisis de componentes relevantes 524G puede seleccionar los cuatro vectores representados en la matriz VS que tienen los cuatro cocientes de direccionalidad más elevados (y que son los primeros cuatro vectores de la matriz VS ordenada). A su vez, la unidad de análisis de componentes relevantes 524G puede determinar que los cuatro vectores seleccionados representan los cuatro objetos de audio más distintos asociados con la representación SHC correspondiente del campo sonoro.
[0499] En algunos ejemplos, la unidad de análisis de componentes relevantes 524G puede reordenar los vectores derivados de la matriz VS, para reflejar la distinción de los cuatro vectores seleccionados, como se ha descrito anteriormente. En un ejemplo, la unidad de análisis de componentes relevantes 524G puede reordenar los vectores
5
10
15
20
25
30
35
40
45
50
55
60
65
de tal manera que las cuatro entradas seleccionadas se reubican en la parte superior de la matriz VS. Por ejemplo, la unidad de análisis de componentes relevantes 524G puede modificar la matriz VS de modo que las cuatro entradas seleccionadas estén situadas en una primera fila (o superior) de la matriz VS reordenada resultante. Aunque se describe en el presente documento con respecto a la unidad de análisis de componentes relevantes 524G, en diversas implementaciones, otros componentes del dispositivo de codificación de audio 510G, tal como la unidad de reordenación de vectores 532, pueden realizar la reordenación.
[0500] La unidad de análisis de componentes relevantes 524G puede comunicar la matriz resultante (es decir, la matriz VS, reordenada o no, según sea el caso) a la unidad de generación de flujo de bits 516. A su vez, la unidad de generación de flujo de bits 516 puede usar la matriz VS 525K para generar el flujo de bits 517. Por ejemplo, si la unidad de análisis de componentes relevantes 524G ha reordenado la matriz VS 525K, la unidad de generación de flujo de bits 516 puede usar la fila superior de la versión reordenada de matriz VS 525K como objetos de audio distintos, por ejemplo cuantificando o descartando los vectores restantes de la versión reordenada de la matriz VS 525K. Mediante la cuantización de los vectores restantes de la versión reordenada de la matriz VS 525K, la unidad de generación de flujo de bits 16 puede tratar los vectores restantes como datos de audio ambiental o de fondo.
[0501] En los ejemplos en los que la unidad de análisis de componentes relevantes 524G no ha reordenado la matriz VS 525K, la unidad de generación de flujo de bits 516 puede distinguir datos de audio distintos de datos de audio de fondo, basados en entradas particulares (por ejemplo, las entradas 5a a 25a) de cada fila de la matriz VS 525K, según se seleccionan por la unidad de análisis de componentes relevantes 524G. Por ejemplo, la unidad de generación de flujo de bits 516 puede generar el flujo de bits 517 cuantificando o descartando las primeras cuatro entradas de cada fila de la matriz VS 525K.
[0502] De esta manera, el dispositivo de codificación de audio 510G y/o sus componentes, tal como la unidad de análisis de componentes relevantes 524G, pueden implementar técnicas de esta divulgación para determinar o utilizar de otra manera las relaciones de las energías de coeficientes mayores e inferiores de datos de audio, con el fin de distinguir entre distintos objetos de audio y datos de audio de fondo representativos del campo sonoro. Por ejemplo, como se describe, la unidad de análisis de componentes relevantes 524G puede utilizar las relaciones de energía basadas en valores de las diversas entradas de la matriz VS 525K generadas por la unidad de análisis de componentes relevantes 524H. Mediante la combinación de datos proporcionados por la matriz V 519A y la matriz S 519B, la unidad de análisis de componentes relevantes 524G puede generar la matriz VS 525K para proporcionar información sobre la direccionalidad y la energía global de los diversos componentes de los datos de audio, en la forma de vectores y datos relacionados (por ejemplo, cocientes de direccionalidad). Más específicamente, la matriz V 519A puede proporcionar información relacionada con determinaciones de direccionalidad, mientras que la matriz S 519B puede proporcionar información relacionada con determinaciones energéticas globales para los componentes de los datos de audio.
[0503] En otros ejemplos, la unidad de análisis de componentes relevantes 524G puede generar la matriz VS 525K usando los vectores VTdist reordenados 539. En estos ejemplos, la unidad de análisis de componentes relevantes 524G puede determinar la distinción basada en la matriz V 519, antes de cualquier modificación basada en la matriz S 519B. En otras palabras, de acuerdo con estos ejemplos, la unidad de análisis de componentes relevantes 524G puede determinar la direccionalidad usando sólo la matriz V 519, sin realizar la etapa de generación de la matriz VS 525K. Más específicamente, la matriz V 519A puede proporcionar información sobre la forma en que se mezclan componentes (por ejemplo, vectores de la matriz V 519) de los datos de audio y, potencialmente, información sobre diversos efectos sinérgicos de los datos transportados por los vectores. Por ejemplo, la matriz V 519A puede proporcionar información sobre la "dirección de llegada" de diversos componentes de audio representados por los vectores, tales como la dirección de llegada de cada componente de audio, según se transmiten al dispositivo de codificación de audio 510G por un EigenMike®. Como se utiliza en el presente documento, la expresión "componente de datos de audio" se puede usar indistintamente con "entrada" de cualquiera de las matrices 519 o cualquier matriz derivada de las mismas.
[0504] De acuerdo con algunas implementaciones de las técnicas de esta descripción, la unidad de análisis de componentes relevantes 524G puede complementar o aumentar las representaciones de SHC con información extraña para realizar diversas determinaciones descritas en el presente documento. Como un ejemplo, la unidad de análisis de componentes relevantes 524G puede aumentar el SHC con información extraña con el fin de determinar la saliencia de varios componentes de audio representados en las matrices 519-519C. Como otro ejemplo, la unidad de análisis de componentes relevantes 524G y/o la unidad de reordenación de vectores 532 pueden aumentar el HOA con datos extraños para distinguir entre objetos de audio distintos y datos de audio de fondo.
[0505] En algunos ejemplos, la unidad de análisis de componentes relevantes 524G puede detectar que partes (por ejemplo, objetos de audio distintos) de los datos de audio muestran energía keynesiana. Un ejemplo de tales objetos distintos puede estar asociado con una voz humana que modula. En el caso de los datos de audio basados en voz que modula, la unidad de análisis de componentes relevantes 524G puede determinar que la energía de los datos de modulación, como relación con respecto a las energías de los componentes restantes, permanece aproximadamente constante (por ejemplo, constante dentro de un intervalo umbral), o aproximadamente estacionaria en el tiempo. Tradicionalmente, si las características de energía de distintos componentes de audio con
5
10
15
20
25
30
35
40
45
50
55
60
65
energía keynesiana (por ejemplo, los asociados con la voz de modulación) cambian de una trama de audio a otra, un dispositivo puede no ser capaz de identificar la serie de componentes de audio como una sola señal. Sin embargo, la unidad de análisis de componentes relevantes 524G puede implementar técnicas de esta divulgación para determinar una direccionalidad o una apertura del objeto de distancia representado como un vector en las diversas matrices.
[0506] Más específicamente, la unidad de análisis de componentes relevantes 524G puede determinar que es improbable que las características tales como la direccionalidad y/o la apertura cambien sustancialmente a través de las tramas de audio. Como se utiliza en el presente documento, la apertura representa una relación entre los coeficientes de orden superior y los coeficientes de orden inferior, dentro de los datos de audio. Cada fila de la matriz V 519A puede incluir vectores que corresponden a SHC particulares. La unidad de análisis de componentes relevantes 524G puede determinar que los SHC de orden inferior (por ejemplo, asociado con un orden menor o igual a 1) tienden a representar datos ambientales, mientras que las entradas de orden superior tienden a representar datos distintos. Además, la unidad de análisis de componentes relevantes 524G puede determinar que, en muchos casos, los SHC de orden superior (por ejemplo, asociados con un orden mayor de 1) muestran una mayor energía, y que la relación de energía de los SHC de orden superior con respecto a orden inferior permanece sustancialmente similar (o aproximadamente constante) de trama de audio a trama de audio.
[0507] Uno o más componentes de la unidad de análisis de componentes relevantes 524G pueden determinar características de los datos de audio tales como direccionalidad y apertura, utilizando la matriz V 519. De esta manera, los componentes del dispositivo de codificación de audio 510G, tal como la unidad de análisis de componentes relevantes 524G, pueden implementar las técnicas descritas en el presente documento para determinar saliencia y/o distinguir objetos de audio distintos del audio de fondo, utilizando información basada en direccionalidad. Mediante la utilización de la direccionalidad para determinar la saliencia y/o la distinción, la unidad de análisis de componentes relevantes 524G puede llegar a determinaciones más robustas que en los casos de un dispositivo configurado para determinar la saliencia y/o distinción usando sólo datos basados en energía. Aunque se ha descrito anteriormente con respecto a las determinaciones basadas en la direccionalidad de la saliencia y/o distinción, la unidad de análisis de componentes relevantes 524G puede implementar las técnicas de esta divulgación para usar la direccionalidad además de otras características, tales como la energía, para determinar la saliencia y/o la distinción de componentes particulares de los datos de audio, según se representa por vectores de una o más de las matrices 519-519C (o cualquier matriz derivada de las mismas).
[0508] En algunos casos, un procedimiento incluye identificar uno o más objetos de audio distintos de uno o más coeficientes armónicos esféricos (SHC) asociados con los objetos de audio basados en una direccionalidad determinada para uno o más de los objetos de audio. En un ejemplo, el procedimiento incluye además determinar la direccionalidad de uno o más objetos de audio basándose en los coeficientes armónicos esféricos asociados con los objetos de audio. En algunos ejemplos, el procedimiento incluye además realizar una descomposición en valores singulares con respecto a los coeficientes armónicos esféricos para generar una matriz U representativa de vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos; y representar la pluralidad de coeficientes armónicos esféricos en función de al menos una parte de una o más de la matriz U, la matriz S y la matriz V, en el que la determinación de la direccionalidad respectiva de uno o más objetos de audio se basa, al menos en parte, en la matriz V.
[0509] En un ejemplo, el procedimiento incluye además reordenar uno o más vectores de la matriz V de modo que los vectores que tienen un mayor cociente de direccionalidad se posicionan por encima de los vectores que tienen un cociente de direccionalidad menor en la matriz V reordenada. En un ejemplo, el procedimiento incluye además determinar que los vectores que tienen el mayor cociente de direccionalidad incluyen mayor información direccional que los vectores que tienen el cociente de direccionalidad menor. En un ejemplo, el procedimiento incluye además multiplicar la matriz V por la matriz S para generar una matriz VS, incluyendo la matriz VS uno o más vectores. En un ejemplo, el procedimiento incluye además seleccionar entradas de cada fila de la matriz VS que están asociadas con un orden mayor de 1, elevar al cuadrado cada una de las entradas seleccionadas para formar entradas cuadráticas correspondientes, y para cada fila de la matriz VS, sumar todas las entradas al cuadrado para determinar un cociente de direccionalidad para un vector correspondiente.
[0510] En algunos ejemplos, cada fila de la matriz VS incluye 25 entradas. En un ejemplo, seleccionar las entradas de cada fila de la matriz VS asociada con el orden mayor de 1 incluye seleccionar todas las entradas que empiezan en una 5a entrada de cada fila de la matriz VS y que terminan en una 25a entrada de cada fila de la VS. En un ejemplo, el procedimiento incluye además seleccionar un subconjunto de los vectores de la matriz VS para representar los distintos objetos de audio. En algunos ejemplos, seleccionar el subconjunto incluye seleccionar cuatro vectores de la matriz VS, y los cuatro vectores seleccionados tienen los cuatro cocientes de direccionalidad más grandes de todos los vectores de la matriz VS. En un ejemplo, la determinación de que el subconjunto seleccionado de los vectores representan los objetos de audio distintos se basa tanto en la direccionalidad como en una energía de cada vector.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0511] En algunos casos, un procedimiento incluye identificar uno o más objetos de audio distintos de uno o más coeficientes armónicos esféricos asociados con los objetos de audio basados en una direccionalidad y una energía determinadas para uno o más de los objetos de audio. En un ejemplo, el procedimiento incluye además determinar una o ambas de la direccionalidad y la energía de uno o más objetos de audio basándose en los coeficientes armónicos esféricos asociados con los objetos de audio. En algunos ejemplos, el procedimiento incluye además realizar una descomposición en valores singulares con respecto a los coeficientes armónicos esféricos representativos del campo sonoro para generar una matriz U representativa de vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos, y representar la pluralidad de coeficientes armónicos esféricos en función de al menos una parte de una o más de la matriz U, la matriz S y la matriz V, en el que la determinación de la direccionalidad respectiva de uno o más objetos de audio se basa, al menos en parte, en la matriz V, y en el que la determinación de la energía respectiva del uno o más objetos de audio se basa, al menos en parte, en la matriz S.
[0512] En un ejemplo, el procedimiento incluye además multiplicar la matriz V por la matriz S para generar una matriz VS, incluyendo la matriz VS uno o más vectores. En algunos ejemplos, el procedimiento incluye además seleccionar entradas de cada fila de la matriz VS que están asociadas con un orden mayor de 1, elevar al cuadrado cada una de las entradas seleccionadas para formar entradas cuadráticas correspondientes, y para cada fila de la matriz VS, sumar todas las entradas al cuadrado para generar un cociente de direccionalidad para un vector correspondiente de la matriz VS. En algunos ejemplos, cada fila de la matriz VS incluye 25 entradas. En un ejemplo, seleccionar las entradas de cada fila de la matriz VS asociada con el orden mayor de 1 comprende seleccionar todas las entradas que empiezan en una 5a entrada de cada fila de la matriz VS y que terminan en una 25a entrada de cada fila de la VS. En algunos ejemplos, el procedimiento incluye además seleccionar un subconjunto de los vectores para representar objetos de audio distintos. En un ejemplo, seleccionar el subconjunto comprende seleccionar cuatro vectores de la matriz VS, y los cuatro vectores seleccionados tienen los cuatro cocientes de direccionalidad más grandes de todos los vectores de la matriz VS. En algunos ejemplos, la determinación de que el subconjunto seleccionado de los vectores representan los objetos de audio distintos se basa tanto en la direccionalidad como en una energía de cada vector.
[0513] En algunos casos, un procedimiento incluye determinar, usando información basada en la direccionalidad, uno o más primeros vectores que describen componentes distintos del campo sonoro y uno o más segundos vectores que describen componentes de fondo del campo sonoro, tanto uno como los más primeros vectores y uno o los más segundos vectores generados al menos realizando una transformación con respecto a la pluralidad de coeficientes armónicos esféricos. En un ejemplo, la transformación comprende una descomposición en valores singulares que genera una matriz U representativa de los vectores singulares izquierdos de la pluralidad de coeficientes armónicos esféricos, una matriz S representativa de los valores singulares de la pluralidad de coeficientes armónicos esféricos y una matriz V representativa de los vectores singulares derechos de la pluralidad de coeficientes armónicos esféricos. En un ejemplo, la transformación comprende un análisis de componentes principales para identificar los distintos componentes del campo sonoro y los componentes de fondo del campo sonoro.
[0514] En algunos ejemplos, un dispositivo está configurado o es operativo de otro modo, para llevar a cabo cualquiera de las técnicas descritas en el presente documento o cualquier combinación de las técnicas. En algunos ejemplos, se codifica un medio de almacenamiento legible por ordenador con instrucciones que, cuando se ejecutan, hacen que uno o más procesadores realicen cualquiera de las técnicas descritas en el presente documento o cualquier combinación de las técnicas. En algunos ejemplos, un dispositivo incluye medios para llevar a cabo cualquiera de las técnicas descritas en el presente documento o cualquier combinación de las técnicas.
[0515] La FIG. 40H es un diagrama de bloques que ilustra un dispositivo de codificación de audio ejemplar 510H que puede realizar diversos aspectos de las técnicas descritas en esta divulgación para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510H puede ser similar al dispositivo de codificación de audio 510G en que el dispositivo de codificación de audio 510H incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510H puede ser similar a la del dispositivo de codificación de audio 510C porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518 y una unidad de extracción de componentes del campo sonoro 520G, que pueden operar de forma similar a las unidades del dispositivo de codificación de audio 510G. En algunos ejemplos, el dispositivo de codificación de audio 510H puede incluir una unidad de cuantización 534, como se ha descrito con respecto a las FIG. 40D-40E, para cuantizar uno o más vectores de cualquiera de los vectores UDIst 525C, los vectores UbG 525D, los vectores VtDIst 525E y los vectores VTbG 525J.
[0516] La unidad de compresión de audio 512 del dispositivo de codificación de audio 510H puede, sin embargo, diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510G en que la unidad de compresión de audio 512 del dispositivo de codificación de audio 510H incluye una unidad adicional denominada como unidad de interpolación 550. La unidad de interpolación 550 puede representar una unidad que interpola subtramas de una primera trama de audio de las subtramas de la primera trama de audio y una segunda trama de
5
10
15
20
25
30
35
40
45
50
55
60
65
audio temporalmente posterior o anterior, como se describe con más detalle a continuación con respecto a las FIG. 45 y 45B. La unidad de interpolación 550 puede reducir, al realizar esta interpolación, la complejidad computacional (en términos de ciclos de procesamiento y/o consumo de memoria) reduciendo potencialmente la medida en que la unidad de descomposición 518 se requiere para descomponer SHC 511. A este respecto, la unidad de interpolación 550 puede realizar operaciones similares a las descritas anteriormente con respecto a la unidad de interpolación espacio-temporal 50 del dispositivo de codificación de audio 24 mostrado en el ejemplo de la FIG. 4.
[0517] Es decir, la descomposición en valores singulares realizada por la unidad de descomposición 518 es potencialmente muy intensiva en el procesador y/o la memoria, mientras que en algunos ejemplos, toma cantidades extensas de tiempo para descomponer los SHC 511, especialmente conforme aumenta el orden de los SHC 511. Con el fin de reducir la cantidad de tiempo y hacer que la compresión de los SHC 511 sea más eficiente (en términos de ciclos de procesamiento y/o consumo de memoria), las técnicas descritas en esta divulgación pueden proporcionar la interpolación de una o más subtramas de la primera trama de audio, donde cada una de las subtramas puede representar versiones descompuestas de los SHC 511. En lugar de realizar la SVD con respecto a toda la trama, las técnicas pueden permitir que la unidad de descomposición 518 descomponga una primera subtrama de una primera trama de audio, generando una matriz V 519'.
[0518] La unidad de descomposición 518 también puede descomponer una segunda subtrama de una segunda trama de audio, en la que esta segunda trama de audio puede ser temporalmente posterior o temporalmente anterior a la primera trama de audio. La unidad de descomposición 518 puede emitir una matriz V 519' para esta subtrama de la segunda trama de audio. La unidad de interpolación 550 puede entonces interpolar las subtramas restantes de la primera trama de audio basándose en las matrices V 519' descompuestas de las primera y segunda subtramas, dando la matriz V 519, la matriz S 519B y la matriz U 519C, donde las descomposiciones para las subtramas restantes se pueden calcular basándose en los SHC 511, la matriz V 519A para la primera trama de audio y las matrices V 519 interpoladas para las subtramas restantes de la primera trama de audio. Por lo tanto, la interpolación puede evitar el cálculo de las descomposiciones para las subtramas restantes de la primera trama de audio.
[0519] Además, como se ha indicado anteriormente, la matriz U 519C puede no ser continua de una trama a otra, donde pueden especificarse componentes distintos de la matriz U 519C descompuestos de una primera trama de audio de los SHC 511 en filas y/o columnas diferentes que en la matriz U 519C descompuesta a partir de una segunda trama de audio de los SHC 511. Mediante la realización de esta interpolación, la discontinuidad puede reducirse dado que la interpolación lineal puede tener un efecto suavizante que puede reducir los artefactos introducidos debido a los límites de la trama (o, en otras palabras, la segmentación de los SHC 511 en tramas). El uso de la matriz V 519' para realizar esta interpolación y después recuperar las matrices U 519C basadas en la matriz V 519' interpolada de los SHC 511 puede suavizar cualquier efecto de reorganizar la matriz U 519C.
[0520] En funcionamiento, la unidad de interpolación 550 puede interpolar una o más subtramas de una primera trama de audio a partir de una primera descomposición, por ejemplo, la matriz V 519', de una parte de una primera pluralidad de coeficientes armónicos esféricos 511 incluidos en la primera trama y una segunda descomposición, por ejemplo, la matriz V 519', de una porción de una segunda pluralidad de coeficientes armónicos esféricos 511 incluidos en una segunda trama para generar coeficientes armónicos esféricos interpolados descompuestos para la una o más subtramas.
[0521] En algunos ejemplos, la primera descomposición comprende la primera matriz V 519' representativa de vectores singulares derechos de la porción de la primera pluralidad de coeficientes armónicos esféricos 511. De manera similar, en algunos ejemplos, la segunda descomposición comprende la segunda matriz V 519' representativa de vectores singulares derechos de la porción de la segunda pluralidad de coeficientes armónicos esféricos.
[0522] La unidad de interpolación 550 puede realizar una interpolación temporal con respecto a una o más subtramas basadas en la primera matriz V 519' y la segunda matriz V 519'. Es decir, la unidad de interpolación 550 puede interpolar temporalmente, por ejemplo, la segunda, tercera y cuarta subtramas de cuatro subtramas totales para la primera trama de audio basadas en una matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio y la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio. En algunos ejemplos, esta interpolación temporal es una interpolación temporal lineal, en la que la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio se pondera más pesadamente cuando se interpola la segunda subtrama de la primera trama de audio que cuando se interpola la cuarta subtrama de la primera trama de audio. Cuando se interpola la tercera subtrama, las matrices V 519' pueden ponderarse uniformemente. Cuando se interpola la cuarta subtrama, la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio puede ponderarse con mayor peso que la matriz V 519' descompuesta de la primera subtrama de la primera trama de audio.
[0523] En otras palabras, la interpolación temporal lineal puede ponderar las matrices V 519' dada la proximidad de una de las subtramas de la primera trama de audio a interpolar. Para que la segunda subtrama sea interpolada, la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio se pondera en mayor medida dada su proximidad a la segunda subtrama a interpolar que la matriz V 519' descompuesta a partir de la
5
10
15
20
25
30
35
40
45
50
55
60
65
primera subtrama de la segunda trama de audio. Los pesos pueden ser equivalentes por este motivo al interpolar la tercera subtrama basada en las matrices V 519'. El peso aplicado a la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio puede ser mayor que el aplicado a la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio dado que la cuarta subtrama a interpolar está más próxima a la primera subtrama de la segunda trama de audio que la primera subtrama de la primera trama de audio.
[0524] Aunque, en algunos ejemplos, sólo se utiliza una primera subtrama de cada trama de audio para realizar la interpolación, la parte de la primera pluralidad de coeficientes armónicos esféricos puede comprender dos de cuatro subtramas de la primera pluralidad de coeficientes armónicos esféricos 511. En estos y otros ejemplos, la porción de la segunda pluralidad de coeficientes armónicos esféricos 511 comprende dos de cuatro subtramas de la segunda pluralidad de coeficientes armónicos esféricos 511.
[0525] Como se ha indicado anteriormente, un dispositivo individual, por ejemplo, el dispositivo de codificación de audio 510H, puede realizar la interpolación, al tiempo que también descompone la parte de la primera pluralidad de coeficientes armónicos esféricos para generar las primeras descomposiciones de la porción de la primera pluralidad de coeficientes armónicos esféricos. En estos y otros ejemplos, la unidad de descomposición 518 puede descomponer la porción de la segunda pluralidad de coeficientes armónicos esféricos para generar las segundas descomposiciones de la porción de la segunda pluralidad de coeficientes armónicos esféricos. Aunque se describen con respecto a un único dispositivo, dos o más dispositivos pueden realizar las técnicas descritas en esta divulgación, donde uno de los dos dispositivos realiza la descomposición y otro de los dispositivos realiza la interpolación de acuerdo con las técnicas descritas en esta divulgación.
[0526] En otras palabras, el audio 3D basado en armónicos esféricos puede ser una representación paramétrica del campo de presión 3D en términos de funciones de base ortogonales sobre una esfera. Cuanto mayor sea el orden N de la representación, la resolución espacial será potencialmente más alta y, a menudo, mayor será el número de coeficientes armónicos esféricos (SH) (para un total de (N+1)2 coeficientes). Para muchas aplicaciones, puede requerirse una compresión de ancho de banda de los coeficientes para poder transmitir y almacenar los coeficientes de manera eficaz. Estas técnicas dirigidas en esta divulgación pueden proporcionar un proceso de reducción de la dimensionalidad basado en tramas utilizando la descomposición en valores singulares (SVD). El análisis SVD puede descomponer cada trama de coeficientes en tres matrices U, S y V. En algunos ejemplos, las técnicas pueden manejar algunos de los vectores en U como componentes direccionales del campo sonoro subyacente. Sin embargo, cuando se manejan de esta manera, estos vectores (en U) son discontinuos de trama en trama, aunque representan el mismo componente de audio distinto. Estas discontinuidades pueden conducir a artefactos significativos cuando los componentes son alimentados a través de codificadores de audio de transformadas.
[0527] Las técnicas descritas en esta divulgación pueden abordar esta discontinuidad. Es decir, las técnicas pueden basarse en la observación de que la matriz V puede interpretarse como ejes espaciales ortogonales en el dominio de las armónicas esféricas. La matriz U puede representar una proyección de los datos de armónicos esféricos (HOA) en términos de las funciones de base, donde la discontinuidad puede atribuirse a las funciones de base (V) que cambian cada trama y, por lo tanto, son discontinuas en sí mismas. Esto es diferente a la descomposición similar, como la Transformada de Fourier, donde las funciones de base son, en algunos ejemplos, constantes de una trama a otra. En estos términos, la SVD puede considerarse como un algoritmo de búsqueda por coincidencia. Las técnicas descritas en esta divulgación pueden permitir que la unidad de interpolación 550 mantenga la continuidad entre las funciones de base (V) de una trama a otra mediante interpolación entre ellas.
[0528] En algunos ejemplos, las técnicas permiten a la unidad de interpolación 550 dividir la trama de datos SH en cuatro subtramas, como se describió anteriormente y se describe adicionalmente a continuación con respecto a las FIG. 45 y 45B. La unidad de interpolación 550 puede entonces calcular la SVD para la primera subtrama. De forma similar, se calcula la SVD para la primera subtrama de la segunda trama. Para cada una de la primera trama y la segunda trama, la unidad de interpolación 550 puede convertir los vectores en V en un mapa espacial proyectando los vectores sobre una esfera (utilizando una matriz de proyección tal como una matriz de diseño en T). La unidad de interpolación 550 puede entonces interpretar los vectores en V como formas en una esfera. Para interpolar las matrices V para las tres subtramas entre la primera subtrama de la primera trama, la primera subtrama de la trama siguiente, la unidad de interpolación 550 puede interpolar entonces estas formas espaciales y luego transformarlas de nuevo en los vectores SH a través de la inversa de la matriz de proyección. Las técnicas de esta descripción pueden, de esta manera, proporcionar una transición suave entre las matrices V.
[0529] La FIG. 40I es un diagrama de bloques que ilustra un dispositivo de codificación de audio ejemplar 510I que puede realizar diversos aspectos de las técnicas descritas en esta divulgación para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510I puede ser similar al dispositivo de codificación de audio 510H en que el dispositivo de codificación de audio 510I incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510I puede ser similar a la del dispositivo de codificación de audio 510H porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518 y una unidad de extracción de componentes
5
10
15
20
25
30
35
40
45
50
55
60
del campo sonoro 520, que pueden operar de forma similar a las unidades del dispositivo de codificación de audio 510H. En algunos ejemplos, el dispositivo de codificación de audio 10I puede incluir una unidad de cuantización 34, como se ha descrito con respecto a las FIG. 3D-3E, para cuantizar uno o más vectores de cualquiera de Udist 25C, Ubg 25D, VTdist 25E, y VTbg 25J.
[0530] Sin embargo, aunque tanto la unidad de compresión de audio 512 del dispositivo de codificación de audio 510I como la unidad de compresión de audio 512 del dispositivo de codificación de audio 10H incluyen una unidad de extracción de componente de campo de sonido, la unidad de extracción de componente de campo sonoro 520I del dispositivo de codificación de audio 510I puede incluir una módulo adicional denominado unidad de compresión V 552. La unidad de compresión V 552 puede representar una unidad configurada para comprimir un componente espacial del campo sonoro, es decir, uno o más de los vectores VTdist 539 en este ejemplo. Es decir, la descomposición de valores singulares realizada con respecto al SHC puede descomponer el SHC (que es representativo del campo sonoro) en componentes energéticos representados por vectores de la matriz S, componentes temporales representados por la matriz U y componentes espaciales representados por la matriz V. La unidad de compresión V 552 puede realizar operaciones similares a las descritas anteriormente con respecto a la unidad de cuantización 52.
[0531] A efectos de ejemplo, se supone que los vectores VTDIST 539 comprenden dos vectores de fila que tienen 25 elementos cada uno (lo que implica una representación HOA de cuarto orden del campo sonoro). Aunque se describe con respecto a dos vectores de fila, se puede incluir cualquier número de vectores en los vectores VTdist 539 hasta (n+1)2, donde n indica el orden de la representación HOA del campo sonoro.
[0532] La unidad de compresión V 552 puede recibir los vectores VTdist 539 y realizar un esquema de compresión para generar representaciones de vector Vtdist comprimidas 539'. Este esquema de compresión puede implicar cualquier esquema de compresión concebible para comprimir elementos de un vector o datos en general, y no debe limitarse al ejemplo descrito más adelante con más detalle.
[0533] La unidad de compresión V 552 puede realizar, como ejemplo, un esquema de compresión que incluye uno o más de representaciones de coma flotante de transformación de cada elemento de los vectores VTDIST 539 a representaciones enteras de cada elemento de los vectores VTdist 539, cuantización uniforme de las representaciones enteras de los vectores VTDIST 539 y la categorización y codificación de las representaciones enteras cuantificadas de los vectores VTDIST 539. Varios entre uno o más procesos de este esquema de compresión pueden ser controlados dinámicamente por parámetros para conseguir, o casi conseguir, por ejemplo, una velocidad de bits objetivo para el flujo de bits resultante 517.
[0534] Dado que cada uno de los vectores VTdist 539 son ortonormales entre sí, cada uno de los vectores VTdist 539 puede codificarse independientemente. En algunos ejemplos, como se describe con más detalle a continuación, cada elemento de cada vector VTdist 539 puede codificarse utilizando el mismo modo de codificación (definido por diversos sub-modos).
[0535] En cualquier caso, como se ha indicado anteriormente, este esquema de codificación puede implicar primero transformar las representaciones de coma flotante de cada elemento (que es, en algunos ejemplos, un número de coma flotante de 32 bits) de cada uno de los vectores VTdist 539 a una representación entera de 16 bits. La unidad de compresión V 552 puede realizar esta transformación de coma flotante a entero multiplicando cada elemento de uno dado de los vectores VTdist 539 por 215, que es, en algunos ejemplos, realizado por un desplazamiento a la derecha por 15.
[0536] La unidad de compresión V 552 puede realizar entonces una cuantización uniforme con respecto a todos los elementos del uno dado de los vectores VTDIST 539. La unidad de compresión V 552 puede identificar un tamaño de paso de cuantización basado en un valor, que se puede indicar como un parámetro de nbits. La unidad de compresión V 552 puede determinar dinámicamente este parámetro de nbits basado en una velocidad de bits diana. La unidad de compresión V 552 puede determinar el tamaño del paso de cuantización como una función de este parámetro de nbits. Como ejemplo, la unidad de compresión V 552 puede determinar el tamaño del paso de cuantización (designado como "delta" o "A" en esta divulgación) como igual a 216 - nblts. En este ejemplo, si nbits es igual a seis, delta es igual a 210 y hay 26 niveles de cuantización. A este respecto, para un elemento vectorial v, el elemento vectorial cuantizado vq equivale a [v/A] y -2 nblts-1< vq < 2 nblts-1.
[0537] La unidad de compresión V 552 puede realizar entonces la categorización y la codificación residual de los elementos vectoriales cuantizados. Por ejemplo, la unidad de compresión V 552 puede, para un elemento vectorial cuantizado dado vq, identificar una categoría (mediante la determinación de un identificador de categoría cid) a la que este elemento se corresponde usando la siguiente ecuación:
cid =
0,
l*O02 Kl] + 1.
íf Vq = 0
if Vq ± 0
[0538] La unidad de compresión V 552 puede entonces codificar con Huffman este índice de categoría cid, al mismo tiempo que también identifica un bit de signo que indica si vq es un valor positivo o un valor negativo. La unidad de compresión V 552 puede identificar a continuación un residuo en esta categoría. Como un ejemplo, la 5 unidad de compresión V 552 puede determinar este residuo de acuerdo con la siguiente ecuación:
residual = \vq\ -2clci~l
[0539] La unidad de compresión V 552 puede entonces bloquear el código de este residuo con cid -1 bits.
10
[0540] El siguiente ejemplo ilustra un ejemplo simplificado de este proceso de categorización y codificación residual. En primer lugar, se asume que nbits equivale a seis, de manera que vq e [-31,31]. A continuación, se asume lo siguiente:
cid
vq Código Huffman para cid
0
0
'1'
1
-1, 1 '01'
2
-3, -2, 2, 3 '000'
3
-7, -6, -5, -4, 4, 5, 6, 7 '0010'
4
-15, -14, ..., -8, 8, ...,14, 15 '00110'
5
-31, -30, ..., -16, 16, ..., 30, 31 '00111'
15
[0541] Además, se asume lo siguiente:
cid
Código de bloque para residuales
0
No disponible
1
0, 1
2
01,00, 10, 11
3
011,010, 001,000, 100, 101, 110, 111
4
0111,0110...,0000, 1000, ...,1110, 1111
5
01111, ..., 00000, 10000, ..., 11111
[0542] Por lo tanto, para Vq = [6, -17, 0, 0, 3], puede determinarse lo siguiente:
20
» cid = 3,5,0,0,2 » signo =1,0,x,x,1 » residual = 2,1,x,x,1 » Bits para 6 = '0010' + '1' + '10'
25 » Bits para -17 = '00111' + '0' + '0001'
» Bits para 0 = '0'
» Bits para 0 = '0'
» Bits para 3 = '000' + '1' + '1'
» Bits totales = 7+10+1+1+5 = 24
30 » Promedio de bits = 24/5 = 4,8
[0543] Aunque no se muestra en el ejemplo simplificado anterior, la unidad de compresión V 552 puede seleccionar diferentes libros de código Huffman para diferentes valores de nbits cuando codifica el cid. En algunos ejemplos, la unidad de compresión V 552 puede proporcionar una tabla de codificación Huffman diferente para los
35 valores de nbits 6, ..., 15. Además, la unidad de compresión V 552 puede incluir cinco libros de código de Huffman diferentes para cada uno de los diferentes valores de nbits que van desde 6, ..., 15 para un total de 50 libros de código de Huffman. A este respecto, la unidad de compresión V 552 puede incluir una pluralidad de diferentes libros de código Huffman para acomodar la codificación del cid en varios contextos estadísticos diferentes.
40 [0544] Para ilustrar, la unidad de compresión V 552 puede incluir, para cada uno de los valores de nbits, un primer
libro de códigos Huffman para codificar los elementos vectoriales de uno a cuatro, un segundo libro de códigos Huffman para codificar los elementos vectoriales de cinco a nueve, un tercer libro de códigos Huffman para codificar los elementos vectoriales de nueve y sucesivos. Estos primeros tres libros de código de Huffman pueden usarse cuando uno de los vectores VTdist 539 a comprimir no se predice a partir de uno correspondiente temporalmente
5
10
15
20
25
30
35
40
45
50
posterior de los vectores VTdist 539 y no es representativo de la información espacial de un objeto de audio sintético (uno definido, por ejemplo, originalmente por un objeto de audio modulado por impulsos codificados (PCM)). La unidad de compresión V 552 puede incluir adicionalmente, para cada uno de los valores de nbits, un cuarto libro de códigos de Huffman para codificar uno de los vectores VTdist 539 cuando este de los vectores VTdist 539 se predice a partir de uno correspondiente temporalmente posterior de los vectores VTdist 539. La unidad de compresión V 552 también puede incluir, para cada uno de los valores de nbits, un quinto libro de códigos de Huffman para codificar uno de los vectores VTdisT 539 cuando este uno de los vectores VTdisT 539 es representativo de un objeto de audio sintético. Los diversos libros de código de Huffman pueden desarrollarse para cada uno de estos diferentes contextos estadísticos, es decir, el contexto no predicho y no sintético, el contexto predicho y el contexto sintético en este ejemplo.
[0545] La tabla siguiente ilustra la selección de la tabla Huffman y los bits que se especificarán en el flujo de bits para permitir que la unidad de descompresión seleccione la tabla Huffman adecuada:
Modo Pred
Info HT Tabla HT
0
0
HT5
0
1 HT{1,2,3}
1
0 HT4
1
1
HT5
[0546] En la tabla anterior, el modo de predicción ("Modo Pred") indica si se realizó la predicción para el vector actual, mientras que la Tabla Huffman ("Info HT") indica la información adicional del libro de códigos Huffman (o tabla) usada para seleccionar una tabla de Huffman de uno a cinco.
[0547] La tabla siguiente ilustra este proceso de selección de tablas de Huffman dados diversos contextos o escenarios estadísticos.
Grabación Sintético
Sin Pred
HT{1,2,3} HT5
Con Pred
HT4 HT5
[0548] En la tabla anterior, la columna "Grabación" indica el contexto de codificación cuando el vector es representativo de un objeto de audio que fue grabado mientras que la columna "sintética" indica un contexto de codificación cuando el vector es representativo de un objeto de audio sintético. La fila "sin Pred" indica el contexto de codificación cuando la predicción no se realiza con respecto a los elementos vectoriales, mientras que la fila "Con Pred" indica el contexto de codificación cuando se realiza la predicción con respecto a los elementos vectoriales. Como se muestra en esta tabla, la unidad de compresión V 552 selecciona HT{1, 2, 3} cuando el vector es representativo de un objeto de audio grabado y no se realiza la predicción con respecto a los elementos de vector. La unidad de compresión V 552 selecciona HT5 cuando el objeto de audio es representativo de un objeto de audio sintético y no se realiza la predicción con respecto a los elementos de vector. La unidad de compresión 552 selecciona HT4 cuando el vector es representativo de un objeto de audio grabado y se realiza la predicción con respecto a los elementos vectoriales. La unidad de compresión V 552 selecciona HT5 cuando el objeto de audio es representativo de un objeto de audio sintético y se realiza la predicción con respecto a los elementos de vector.
[0549] De esta manera, las técnicas pueden permitir que un dispositivo de compresión de audio comprima un componente espacial de un campo sonoro, donde el componente espacial se generó realizando una síntesis basada en vectores con respecto a una pluralidad de coeficientes armónicos esféricos.
[0550] La FIG. 43 es un diagrama que ilustra la unidad de compresión V 552 mostrada en la FIG. 40I en más detalle. En el ejemplo de la FIG. 43, la unidad de compresión V 552 incluye una unidad de cuantización uniforme 600, una unidad de nbits 602, una unidad de predicción 604, una unidad de modo de predicción 606 ("PredModeUnit 606"), una unidad de codificación de categoría y residual 608 y una unidad de selección de tabla Huffman 610. La unidad de cuantización uniforme 600 representa una unidad configurada para llevar a cabo la cuantización uniforme descrita anteriormente con respecto a uno de los componentes espaciales representado como v en el ejemplo de la FIG. 43 (que puede representar uno cualquiera de los vectores VTdist 539). La unidad de nbits 602 representa una unidad configurada para determinar el parámetro o valor de nbits.
[0551] La unidad de predicción 604 representa una unidad configurada para realizar la predicción con respecto al componente espacial cuantizado indicado como Vq en el ejemplo de la FlG. 43. La unidad de predicción 604 puede realizar la predicción realizando una resta de elementos del actual de los vectores VTdist 539 por uno temporalmente posterior correspondiente de los vectores VTdist 539. El resultado de esta predicción puede ser referido como un componente espacial predicho.
5
10
15
20
25
30
35
40
45
50
55
60
[0552] La unidad de modo de predicción 606 puede representar una unidad configurada para seleccionar el modo de predicción. La unidad de selección de tabla Huffman 610 puede representar una unidad configurada para seleccionar una tabla Huffman apropiada para la codificación del cid. La unidad de modo de predicción 606 y la unidad de selección de tabla Huffman 610 pueden funcionar, como un ejemplo, de acuerdo con el siguiente pseudocódigo:
Para un determinado nbits, recuperar todas las tablas Huffman con nbits
B00 = 0; B01 = 0; B10 = 0; B11 = 0; // inicializar para calcular bits esperados por modo de codificación
para m = 1: (# Elementos en el vector)
// calcular el número esperado de bits para un elemento vectorial v(m)
// sin predicción y utilizando tabla Huffman 5 B00 = B00 + calculate_bits(v(m), HT5);
// sin predicción y usando tabla Huffman {1,2,3}
B01 = B01 + calculate_bits(v(m), HTq); q en {1,2,3}
// calcular el número esperado de bits para residuo de predicción e(m) e(m) = v(m) - vp(m); // vp(m): elemento vectorial de trama anterior // con predicción y uso de tabla Huffman 4 B10 = B10 + calculate_bits(e(m), HT4);
// con predicción y uso de tabla Huffman 5 B11 = B11 + calculate_bits(e(m), HT5);
fin
// encontrar un mejor modo de predicción y una tabla Huffman que produzcan bits mínimos
// el mejor modo de predicción y la tabla Huffman son marcados por pflag y Htflag,
respectivamente
[Be, id] = min([B00 B01 B10 B11]);
Conmutar id
caso 1: pflag = 0; HTflag = 0; caso 2: pflag = 0; HTflag = 1; caso 3: pflag = 1; HTflag = 0; caso 4: pflag = 1; HTflag = 1; fin
[0553] La unidad de codificación de categoría y residual 608 puede representar una unidad configurada para realizar la codificación de categorización y residual de un componente espacial previsto o el componente espacial cuantizado (cuando la predicción está desactivada) de la manera descrita con más detalle anteriormente.
[0554] Como se ilustra en el ejemplo de la FIG. 43, la unidad de compresión V 552 puede emitir varios parámetros o valores para su inclusión en el flujo de bits 517 o información lateral (que puede ser un flujo de bits separado del flujo de bits 517). Asumiendo que la información se especifica en el flujo de bits 517, la unidad de compresión V 552 puede emitir el valor de nbits, el modo de predicción y la información de tabla de Huffman a la unidad de generación de flujo de bits 516 junto con la versión comprimida del componente espacial (mostrado como el componente espacial comprimido 539' en el ejemplo de la FIG. 40I), que en este ejemplo puede referirse al código de Huffman seleccionado para codificar el cid, el bit de signo y el residuo codificado por bloques. El valor de nbits se puede especificar una vez en el flujo de bits 517 para todos los vectores VTdist 539, mientras que el modo de predicción y la información de tabla Huffman pueden especificarse para cada uno de los vectores VTdist 539. La parte del flujo de bits que especifica la versión comprimida del componente espacial se muestra en el ejemplo de las FIG. 10B y 10C.
[0555] La FIG. 40J es un diagrama de bloques que ilustra un ejemplo de dispositivo de codificación de audio 510J que puede realizar diversos aspectos de las técnicas descritas en esta descripción para comprimir los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de codificación de audio 510J puede ser similar al dispositivo de codificación de audio 510G en que el dispositivo de codificación de audio 510J incluye una unidad de compresión de audio 512, una unidad de codificación de audio 514 y una unidad de generación de flujo de bits 516. Además, la unidad de compresión de audio 512 del dispositivo de codificación de audio 510J puede ser similar a la del dispositivo de codificación de audio 510G porque la unidad de compresión de audio 512 incluye una unidad de descomposición 518 y una unidad de extracción de componentes del campo sonoro 520, que pueden operar de forma similar a las unidades del dispositivo de codificación de audio 510I. En algunos ejemplos, el dispositivo de codificación de audio 510J puede incluir una unidad de cuantización 534, como se ha descrito con respecto a las FIG. 40D-40E, para cuantizar uno o más vectores de cualquiera de los vectores Udist 525C, los vectores Ubg 525D, los vectores VTdist 525E y los vectores VTbg 525J.
[0556] La unidad de compresión de audio 512 del dispositivo de codificación de audio 510J puede, sin embargo, diferir de la unidad de compresión de audio 512 del dispositivo de codificación de audio 510G en que la unidad de
5
10
15
20
25
30
35
40
45
50
55
60
65
compresión de audio 512 del dispositivo de codificación de audio 510J incluye una unidad adicional denominada como unidad de interpolación 550. La unidad de interpolación 550 puede representar una unidad que interpola subtramas de una primera trama de audio de las subtramas de la primera trama de audio y una segunda trama de audio temporalmente posterior o anterior, como se describe con más detalle a continuación con respecto a las FIG. 45 y 45B. La unidad de interpolación 550 puede reducir, al realizar esta interpolación, la complejidad computacional (en términos de ciclos de procesamiento y/o consumo de memoria) reduciendo potencialmente la medida en que la unidad de descomposición 518 se requiere para descomponer SHC 511. La unidad de interpolación 550 puede operar de una manera similar a la descrita anteriormente con respecto a la unidad de interpolación 550 de los dispositivos de codificación de audio 510H y 510I mostrados en los ejemplos de las FIG. 40H y 40I.
[0557] En funcionamiento, la unidad de interpolación 200 puede interpolar una o más subtramas de una primera trama de audio a partir de una primera descomposición, por ejemplo, la matriz V 19', de una parte de una primera pluralidad de coeficientes armónicos esféricos 11 incluidos en la primera trama y una segunda descomposición, por ejemplo, la matriz V 19', de una porción de una segunda pluralidad de coeficientes armónicos esféricos 11 incluidos en una segunda trama para generar coeficientes armónicos esféricos interpolados descompuestos para la una o más subtramas.
[0558] La unidad de interpolación 550 puede obtener coeficientes armónicos esféricos interpolados descompuestos para un segmento de tiempo, realizando al menos en parte una interpolación con respecto a una primera descomposición de una primera pluralidad de coeficientes armónicos esféricos y una segunda descomposición de una segunda pluralidad de coeficientes armónicos esféricos. La unidad de suavizado 554 puede aplicar los coeficientes armónicos esféricos interpolados descompuestos para suavizar al menos uno de componentes espaciales y los componentes temporales de la primera pluralidad de coeficientes armónicos esféricos y la segunda pluralidad de coeficientes armónicos esféricos. La unidad de suavizado 554 puede generar matrices Udist suavizadas 525C' como se ha descrito anteriormente con respecto a las FIG. 37-39. La primera y segunda descomposiciones pueden referirse a V/ 556, V2T 556B en la FIG. 40J.
[0559] En algunos casos, VT u otros vectores V o matrices V pueden ser emitidos en una versión cuantificada para interpolación. De esta manera, los vectores V para la interpolación pueden ser idénticos a los vectores V en el descodificador, que también realiza la interpolación de vectores V, por ejemplo, para recuperar la señal multidimensional.
[0560] En algunos ejemplos, la primera descomposición comprende la primera matriz V 519' representativa de vectores singulares derechos de la porción de la primera pluralidad de coeficientes armónicos esféricos 511. De manera similar, en algunos ejemplos, la segunda descomposición comprende la segunda matriz V 519' representativa de vectores singulares derechos de la porción de la segunda pluralidad de coeficientes armónicos esféricos.
[0561] La unidad de interpolación 550 puede realizar una interpolación temporal con respecto a una o más subtramas basadas en la primera matriz V 519' y la segunda matriz V 19'. Es decir, la unidad de interpolación 550 puede interpolar temporalmente, por ejemplo, la segunda, tercera y cuarta subtramas de cuatro subtramas totales para la primera trama de audio basadas en una matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio y la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio. En algunos ejemplos, esta interpolación temporal es una interpolación temporal lineal, en la que la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio se pondera más pesadamente cuando se interpola la segunda subtrama de la primera trama de audio que cuando se interpola la cuarta subtrama de la primera trama de audio. Cuando se interpola la tercera subtrama, las matrices V 519' pueden ponderarse uniformemente. Cuando se interpola la cuarta subtrama, la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio puede ponderarse con mayor peso que la matriz V 519' descompuesta de la primera subtrama de la primera trama de audio.
[0562] En otras palabras, la interpolación temporal lineal puede ponderar las matrices V 519' dada la proximidad de una de las subtramas de la primera trama de audio a interpolar. Para que la segunda subtrama sea interpolada, la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio se pondera en mayor medida dada su proximidad a la segunda subtrama a interpolar que la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio. Los pesos pueden ser equivalentes por este motivo al interpolar la tercera subtrama basada en las matrices V 519'. El peso aplicado a la matriz V 519' descompuesta a partir de la primera subtrama de la segunda trama de audio puede ser mayor que el aplicado a la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de audio dado que la cuarta subtrama a interpolar está más próxima a la primera subtrama de la segunda trama de audio que la primera subtrama de la primera trama de audio.
[0563] En algunos ejemplos, la unidad de interpolación 550 puede proyectar la primera matriz V 519' descompuesta de la primera subtrama de la primera trama de audio a un dominio espacial para generar las primeras descomposiciones proyectadas. En algunos ejemplos, esta proyección incluye una proyección en una esfera (por ejemplo, utilizando una matriz de proyección, tal como una matriz de diseño T). La unidad de interpolación 550 puede entonces proyectar la segunda matriz V 519' descompuesta de la primera subtrama de la segunda trama de
5
10
15
20
25
30
35
40
45
50
55
60
65
audio al dominio espacial para generar segundas descomposiciones proyectadas. La unidad de interpolación 550 puede entones interpolar espacialmente (que de nuevo puede ser una interpolación lineal) las primeras descomposiciones proyectadas y las segundas descomposiciones proyectadas para generar una primera descomposición proyectada espacialmente interpolada y una segunda descomposición proyectada espacialmente interpolada. La unidad de interpolación 550 puede entonces interpolar temporalmente la una o más subtramas basándose en la primera descomposición proyectada espacialmente interpolada y la segunda descomposición proyectada espacialmente interpolada.
[0564] En los ejemplos, en los que la unidad de interpolación 550 proyecta espacialmente y después temporalmente las matrices V 519', la unidad de interpolación 550 puede proyectar los coeficientes armónicos esféricos interpolados temporalmente resultantes de la interpolación de uno o más subtramas de vuelta a un dominio armónico esférico, generando así la matriz V 519, la matriz S 519B y la matriz U 519C.
[0565] En algunos ejemplos, la porción de la primera pluralidad de coeficientes armónicos esféricos comprende una única subtrama de la primera pluralidad de coeficientes armónicos esféricos 511. En algunos ejemplos, la parte de la segunda pluralidad de coeficientes armónicos esféricos comprende una única subtrama de la segunda pluralidad de coeficientes armónicos esféricos 511. En algunos ejemplos, esta subtrama única de la que se descomponen las matrices V 19' es la primera subtrama.
[0566] En algunos ejemplos, la primera trama se divide en cuatro subtramas. En estos y otros ejemplos, la parte de la primera pluralidad de coeficientes armónicos esféricos comprende solamente la primera subtrama de la pluralidad de coeficientes armónicos esféricos 511. En estos y otros ejemplos, la segunda trama está dividida en cuatro subtramas, y la parte de la segunda pluralidad de coeficientes armónicos esféricos 511 comprende solamente la primera subtrama de la segunda pluralidad de coeficientes armónicos esféricos 511.
[0567] Aunque, en algunos ejemplos, sólo se utiliza una primera subtrama de cada trama de audio para realizar la interpolación, la parte de la primera pluralidad de coeficientes armónicos esféricos puede comprender dos de cuatro subtramas de la primera pluralidad de coeficientes armónicos esféricos 511. En estos y otros ejemplos, la porción de la segunda pluralidad de coeficientes armónicos esféricos 511 comprende dos de cuatro subtramas de la segunda pluralidad de coeficientes armónicos esféricos 511.
[0568] Como se ha indicado anteriormente, un dispositivo individual, por ejemplo, el dispositivo de codificación de audio 510J, puede realizar la interpolación, al tiempo que también descompone la parte de la primera pluralidad de coeficientes armónicos esféricos para generar las primeras descomposiciones de la porción de la primera pluralidad de coeficientes armónicos esféricos. En estos y otros ejemplos, la unidad de descomposición 518 puede descomponer la porción de la segunda pluralidad de coeficientes armónicos esféricos para generar las segundas descomposiciones de la porción de la segunda pluralidad de coeficientes armónicos esféricos. Aunque se describen con respecto a un único dispositivo, dos o más dispositivos pueden realizar las técnicas descritas en esta divulgación, donde uno de los dos dispositivos realiza la descomposición y otro de los dispositivos realiza la interpolación de acuerdo con las técnicas descritas en esta divulgación.
[0569] En algunos ejemplos, la unidad de descomposición 518 puede realizar una descomposición en valores singulares con respecto a la porción de la primera pluralidad de coeficientes armónicos esféricos 511 para generar una matriz V 519' (así como una matriz S 519B' y una matriz U 519C', que no se muestran con fines de ilustración) representativa de vectores singulares derechos de la primera pluralidad de coeficientes armónicos esféricos 511. En estos y otros ejemplos, la unidad de descomposición 518 puede realizar la descomposición en valores singulares con respecto a la porción de la segunda pluralidad de coeficientes armónicos esféricos 511 para generar una matriz V 519' (así como una matriz S 519B' y una matriz U 519C', que no se muestran con fines de ilustración) representativa de vectores singulares derechos de la segunda pluralidad de coeficientes armónicos esféricos.
[0570] En algunos ejemplos, como se ha indicado anteriormente, la primera y la segunda pluralidad de coeficientes armónicos esféricos representan, cada una, una representación de ondas planas del campo sonoro. En estos y otros ejemplos, la primera y la segunda pluralidad de coeficientes armónicos esféricos 511 representan cada uno uno o más objetos monoaudio mezclados entre sí.
[0571] En otras palabras, el audio 3D basado en armónicos esféricos puede ser una representación paramétrica del campo de presión 3D en términos de funciones de base ortogonales sobre una esfera. Cuanto mayor sea el orden N de la representación, la resolución espacial será potencialmente más alta y, a menudo, mayor será el número de coeficientes armónicos esféricos (SH) (para un total de (N+1)2 coeficientes). Para muchas aplicaciones, puede requerirse una compresión de ancho de banda de los coeficientes para poder transmitir y almacenar los coeficientes de manera eficaz. Estas técnicas dirigidas en esta divulgación pueden proporcionar un proceso de reducción de la dimensionalidad basado en tramas utilizando la descomposición en valores singulares (SVD). El análisis SVD puede descomponer cada trama de coeficientes en tres matrices U, S y V. En algunos ejemplos, las técnicas pueden manejar algunos de los vectores en U como componentes direccionales del campo sonoro subyacente. Sin embargo, cuando se manejan de esta manera, estos vectores (en U) son discontinuos de trama en trama, aunque representan el mismo componente de audio distinto. Estas discontinuidades pueden conducir a
5
10
15
20
25
30
35
40
45
50
55
60
65
artefactos significativos cuando los componentes son alimentados a través de codificadores de audio de transformadas.
[0572] Las técnicas descritas en esta divulgación pueden abordar esta discontinuidad. Es decir, las técnicas pueden basarse en la observación de que la matriz V puede interpretarse como ejes espaciales ortogonales en el dominio de las armónicas esféricas. La matriz U puede representar una proyección de los datos de armónicos esféricos (HOA) en términos de las funciones de base, donde la discontinuidad puede atribuirse a las funciones de base (V) que cambian cada trama y, por lo tanto, son discontinuas en sí mismas. Esto es diferente a la descomposición similar, como la Transformada de Fourier, donde las funciones de base son, en algunos ejemplos, constantes de una trama a otra. En estos términos, la SVD puede considerarse como un algoritmo de búsqueda por coincidencia. Las técnicas descritas en esta divulgación pueden permitir que la unidad de interpolación 550 mantenga la continuidad entre las funciones de base (V) de una trama a otra mediante interpolación entre ellas.
[0573] En algunos ejemplos, las técnicas permiten a la unidad de interpolación 550 dividir la trama de datos SH en cuatro subtramas, como se describió anteriormente y se describe adicionalmente a continuación con respecto a las FIG. 45 y 45B. La unidad de interpolación 550 puede entonces calcular la SVD para la primera subtrama. De forma similar, se calcula la SVD para la primera subtrama de la segunda trama. Para cada una de la primera trama y la segunda trama, la unidad de interpolación 550 puede convertir los vectores en V en un mapa espacial proyectando los vectores sobre una esfera (utilizando una matriz de proyección tal como una matriz de diseño en T). La unidad de interpolación 550 puede entonces interpretar los vectores en V como formas en una esfera. Para interpolar las matrices V para las tres subtramas entre la primera subtrama de la primera trama, la primera subtrama de la trama siguiente, la unidad de interpolación 550 puede interpolar entonces estas formas espaciales y luego transformarlas de nuevo en los vectores SH a través de la inversa de la matriz de proyección. Las técnicas de esta descripción pueden, de esta manera, proporcionar una transición suave entre las matrices V.
[0574] La FIG. 41-41D son diagramas de bloques que ilustran cada uno un dispositivo de descodificación de audio ejemplar 540A-540D que puede realizar diversos aspectos de las técnicas descritas en esta divulgación para descodificar coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de descodificación de audio 540A puede representar cualquier dispositivo capaz de descodificar datos de audio, tales como un ordenador de sobremesa, un ordenador portátil, una estación de trabajo, una tableta o un ordenador de pizarra, un dispositivo de grabación de audio dedicado, un teléfono móvil (incluidos los llamados "teléfonos inteligentes"), un dispositivo de reproductor multimedia personal, un dispositivo de juego personal o cualquier otro tipo de dispositivo capaz de descodificar datos de audio.
[0575] En algunos ejemplos, el dispositivo de descodificación de audio 540A realiza un proceso de descodificación de audio que es recíproco al proceso de codificación de audio realizado por cualquiera de los dispositivos de codificación de audio 510 o 510B con la excepción de realizar la reducción de orden (como se ha descrito anteriormente con respecto a los ejemplos de las FIG. 40B-40J), que es, en algunos ejemplos, utilizado por los dispositivos de codificación de audio 510B-510J para facilitar la eliminación de datos irrelevantes extraños.
[0576] Aunque se muestra como un dispositivo individual, es decir, el dispositivo 540A en el ejemplo de la FIG. 41, los diversos componentes o unidades a los que se hace referencia a continuación como incluidos en el dispositivo 540A pueden formar dispositivos separados que son externos al dispositivo 540. En otras palabras, aunque se describe en esta divulgación como realizadas por un solo dispositivo, es decir, el dispositivo 540A en el ejemplo de la FIG. las técnicas pueden ser implementadas o realizadas de otro modo por un sistema que comprende múltiples dispositivos, donde cada uno de estos dispositivos puede incluir cada uno uno o más de los diversos componentes o unidades descritos con más detalle a continuación. Por consiguiente, las técnicas no deben estar limitadas a este respecto al ejemplo de la FIG. 41.
[0577] Como se ilustra en el ejemplo de la FIG. 41, el dispositivo de descodificación de audio 540A comprende una unidad de extracción 542, una unidad de descodificación de audio 544, una unidad matemática 546 y una unidad de representación de audio 548. La unidad de extracción 542 representa una unidad configurada para extraer los coeficientes armónicos esféricos de fondo reducidos codificados 515B, los vectores Udist * SDIST codificados 515A y los vectores VTdist 525E del flujo de bits 517. La unidad de extracción 542 emite los coeficientes armónicos esféricos de fondo reducidos codificados 515B y los vectores Udist * Sdist codificados 515A a la unidad de descodificación de audio 544, a la vez que emite la matriz VTdist 525E a la unidad matemática 546. A este respecto, la unidad de extracción 542 puede funcionar de una manera similar a la unidad de extracción 72 del dispositivo de descodificación de audio 24 mostrado en el ejemplo de la FIG. 5.
[0578] La unidad de descodificación de audio 544 representa una unidad para descodificar los datos de audio codificados (a menudo de acuerdo con un esquema de descodificación de audio recíproco, tal como un esquema de descodificación AAC) para recuperar los vectores Udist * Sdist 527 y los coeficientes armónicos esféricos de fondo reducidos 529. La unidad de descodificación de audio 544 emite los vectores Udist * Sdist 527 y los coeficientes armónicos esféricos de fondo reducidos 529 a la unidad matemática 546. A este respecto, la unidad de descodificación de audio 544 puede funcionar de una manera similar a la unidad de descodificación psicoacústica 80 del dispositivo de descodificación de audio 24 mostrado en el ejemplo de la FIG. 5.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0579] La unidad matemática 546 puede representar una unidad configurada para realizar multiplicación y adición matricial (así como, en algunos ejemplos, cualquier otra operación matricial matemática). La unidad matemática 546 puede realizar primero una multiplicación matricial de los vectores Udist * Sdist 527 por la matriz VTdist 525E. La unidad matemática 546 puede entonces añadir el resultado de la multiplicación de los vectores Udist * Sdist 527 por la matriz VTdist 525E por los coeficientes armónicos esféricos de fondo reducidos 529 (que, de nuevo, pueden referirse al resultado de la multiplicación de la matriz UbG 525D por la matriz SBG 525B y luego por la matriz VTbG 525F) al resultado de la multiplicación matricial de los vectores Udist * Sdist 527 por la matriz VTdist 525E para generar la versión reducida de los coeficientes armónicos esféricos originales 11, que se representa como coeficientes armónicos esféricos recuperados 547. La unidad matemática 546 puede emitir los coeficientes armónicos esféricos recuperados 547 a la unidad de representación de audio 548. A este respecto, la unidad matemática 546 puede funcionar de una manera similar a la unidad de formulación de primer plano 78 y la unidad de formulación de coeficiente HOA 82 del dispositivo de descodificación de audio 24 mostrado en el ejemplo de la FiG. 5.
[0580] La unidad de representación de audio 548 representa una unidad configurada para representar los canales 549A-549N (los "canales 549", que también pueden denominarse generalmente los "datos de audio multicanal 549" o las "señales de altavoz 549"). La unidad de representación de audio 548 puede aplicar una transformación (a menudo expresada en forma de matriz) a los coeficientes armónicos esféricos recuperados 547. Debido a que los coeficientes armónicos esféricos recuperados 547 describen el campo sonoro en tres dimensiones, los coeficientes armónicos esféricos recuperados 547 representan un formato de audio que facilita la reproducción de los datos de audio multicanal 549A de una manera que es capaz de alojar la mayoría de las geometrías de descodificador- altavoz local (que puede referirse a la geometría de los altavoces que reproducirán los datos de audio multicanal 549). Se ha descrito anteriormente más información sobre la reproducción de los datos de audio multicanal 549A con respecto a la FiG. 48.
[0581] Aunque se describe en el contexto de los datos de audio multicanal 549A que son datos de audio multicanal de sonido envolvente 549, la unidad de reproducción de audio 48 también puede realizar una forma de binauralización para binauralizar los coeficientes armónicos esféricos recuperados 549A y generar así dos canales binauralmente reproducidos 549. Por consiguiente, las técnicas no deben limitarse a formas de sonido envolvente de datos de audio multicanal, pero pueden incluir datos de audio multicanal binauralizados.
[0582] La FIG. 41B es un diagrama de bloques que ilustra un ejemplo de dispositivo de descodificación de audio 540B que puede realizar diversos aspectos de las técnicas descritas en esta descripción para descodificar los coeficientes armónicos esféricos que describen campos sonoros bidimensionales o tridimensionales. El dispositivo de descodificación de audio 540B puede ser similar al dispositivo de descodificación de audio 540, excepto que, en algunos ejemplos, la unidad de extracción 542 puede extraer vectores VTdist reordenados 539 en lugar de vectores Vdist 525e. En otros ejemplos, la unidad de extracción 542 puede extraer los vectores VTdist 525E y luego reordenar estos vectores VTdist 525E basándose en la información de reordenación especificada en el flujo de bits o inferida (mediante el análisis de otros vectores) para determinar los vectores Vtdist reordenados 539. A este respecto, la unidad de extracción 542 puede funcionar de una manera similar a la unidad de extracción 72 del dispositivo de descodificación de audio 24 mostrado en el ejemplo de la FIG. 5. En cualquier caso, la unidad de extracción 542 puede emitir los vectores VtdiSt reordenados 539 a la unidad matemática 546, donde el proceso descrito anteriormente con respecto a la recuperación de los coeficientes armónicos esféricos puede realizarse con respecto a estos vectores VTdist reordenados 539.
[0583] De esta manera, las técnicas pueden permitir que el dispositivo de descodificación de audio 540B descodifique audio de uno o más vectores reordenados representativos de componentes distintos de un campo sonoro, habiéndose reordenado uno o más de los vectores reordenados para facilitar la compresión del uno o más vectores. En estos y otros ejemplos, el dispositivo de descodificación de audio 540B puede recombinar el uno o más vectores reordenados con uno o más vectores adicionales reordenados adicionales para recuperar coeficientes armónicos esféricos representativos de componentes distintos del campo sonoro. En estos y otros ejemplos, el dispositivo de descodificación de audio 540B puede entonces recuperar una pluralidad de coeficientes armónicos esféricos basados en los coeficientes armónicos esféricos representativos de componentes distintos del campo sonoro y coeficientes armónicos esféricos representativos de componentes de fondo del campo sonoro.
[0584] La FIG. 41C es un diagrama de bloques que ilustra otro dispositivo de codificación de audio ejemplar 540C. El dispositivo de descodificación de audio 540C puede representar cualquier dispositivo capaz de descodificar datos de audio, tales como un ordenador de sobremesa, un ordenador portátil, una estación de trabajo, una tableta o un ordenador de pizarra, un dispositivo de grabación de audio dedicado, un teléfono móvil (incluidos los llamados "teléfonos inteligentes"), un dispositivo de reproductor multimedia personal, un dispositivo de juego personal o cualquier otro tipo de dispositivo capaz de descodificar datos de audio.
[0585] En el ejemplo de la FIG. 41C, el dispositivo de descodificación de audio 540C realiza un proceso de descodificación de audio que es recíproco al proceso de codificación de audio realizado por cualquiera de los dispositivos de codificación de audio 510B-510E con la excepción de realizar la reducción de orden (como se ha
5
10
15
20
25
30
35
40
45
50
55
60
65
descrito anteriormente con respecto a los ejemplos de las FIG. 40B-40J), que es, en algunos ejemplos, utilizado por el dispositivo de codificación de audio 510B-51 0j para facilitar la eliminación de datos irrelevantes extraños.
[0586] Aunque se muestra como un dispositivo individual, es decir, el dispositivo 540C en el ejemplo de la FIG. 41C, los diversos componentes o unidades a los que se hace referencia a continuación como incluidos en el dispositivo 540C pueden formar dispositivos separados que son externos al dispositivo 540C. En otras palabras, aunque se describe en esta descripción como realizada por un solo dispositivo, es decir, el dispositivo 540C en el ejemplo de la FIG. 41C, las técnicas pueden ser implementadas o realizadas de otro modo por un sistema que comprende múltiples dispositivos, donde cada uno de estos dispositivos puede incluir cada uno uno o más de los diversos componentes o unidades descritos con más detalle a continuación. Por consiguiente, las técnicas no deben estar limitadas a este respecto al ejemplo de la FIG. 41C.
[0587] Además, el dispositivo de codificación de audio 540C puede ser similar al dispositivo de codificación de audio 540B. Sin embargo, la unidad de extracción 542 puede determinar uno o más vectores VTpequeño 521 del flujo de bits 517 en lugar de vectores VTq_dist reordenados 539 o vectores VTdist 525E (como es el caso descrito con respecto al dispositivo de codificación de audio 510 de la FIG. 40). Como resultado, la unidad de extracción 542 puede pasar los vectores VTPEQUEÑO 521 a la unidad matemática 546.
[0588] Además, la unidad de extracción 542 puede determinar coeficientes armónicos esféricos de fondo modificados codificados de audio 515B' desde la corriente de bits 517, pasando estos coeficientes 515B' a la unidad de descodificación de audio 544, que puede descodificar en audio los coeficientes armónicos esféricos de fondo modificados codificados 515B para recuperar los coeficientes armónicos esféricos de fondo modificados 537. La unidad de descodificación de audio 544 puede pasar estos coeficientes armónicos esféricos de fondo modificados 537 a la unidad matemática 546.
[0589] La unidad matemática 546 puede entonces multiplicar los vectores Udist * Sdist descodificados de audio (y posiblemente no ordenados) 527' por uno o más vectores Vtpequeño 521 para recuperar los coeficientes armónicos esféricos distintos de orden superior. La unidad matemática 546 puede entonces añadir los coeficientes armónicos esféricos distintos de orden superior a los coeficientes armónicos esféricos de fondo modificados 537 para recuperar la pluralidad de los coeficientes armónicos esféricos 511 o algún derivado de los mismos (que puede ser un derivado debido a la reducción de orden realizada en la unidad codificadora 510E).
[0590] De este modo, las técnicas pueden permitir que el dispositivo de descodificación de audio 540C determine, a partir de un flujo de bits, al menos uno de uno o más vectores descompuestos a partir de coeficientes armónicos esféricos que se recombinaron con coeficientes armónicos esféricos de fondo para reducir la cantidad de bits que se requiere asignar a uno o más vectores en el flujo de bits, en el que los coeficientes armónicos esféricos describen un campo sonoro, y en el que los coeficientes armónicos esféricos de fondo describen uno o más componentes de fondo del mismo campo sonoro.
[0591] Varios aspectos de las técnicas pueden permitir a este respecto que el dispositivo de descodificación de audio 540C, en algunos casos, se configure para determinar, a partir de un flujo de bits, al menos uno de uno o más vectores descompuestos a partir de coeficientes armónicos esféricos que se recombinaron con coeficientes armónicos esféricos de fondo en el que los coeficientes armónicos esféricos describen un campo sonoro, y en el que los coeficientes armónicos esféricos de fondo describían uno o más componentes de fondo del mismo campo sonoro.
[0592] En estos y otros casos, el dispositivo de descodificación de audio 540C está configurado para obtener, a partir del flujo de bits, una primera porción de los coeficientes armónicos esféricos que tienen un orden igual a Nbg.
[0593] En estos y otros casos, el dispositivo de descodificación de audio 540C está configurado además para obtener, a partir del flujo de bits, una primera parte codificada de audio, teniendo los coeficientes armónicos esféricos un orden igual a NBG, y descodificar en audio la primera porción codificada de audio de los coeficientes armónicos esféricos para generar una primera porción de los coeficientes armónicos esféricos.
[0594] En estos y otros casos, el al menos uno de uno o más vectores comprende uno o más vectores VTpequeño, habiéndose determinado uno o más vectores VTpequeño a partir de una transposición de una matriz V generada realizando una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos.
[0595] En estos y otros casos, el al menos uno de uno o más vectores comprende uno o más vectores Vtpequeño, habiéndose determinado uno o más vectores Vtpequeño a partir de una transposición de una matriz V generada realizando una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, y el dispositivo de descodificación de audio 540C está configurado adicionalmente para obtener, a partir del flujo de bits, uno o más vectores Udist * Sdist que se han derivado de una matriz U y una matriz S, ambos de los cuales se generaron realizando la descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, y multiplicando los vectores Udist * Sdist por los vectores VTpequeño.
5
10
15
20
25
30
35
40
45
50
55
60
[0596] En estos y otros casos, el al menos uno de uno o más vectores comprende uno o más vectores VTpequeño, habiéndose determinado uno o más vectores VTpequeño a partir de una transposición de una matriz V generada realizando una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, y el dispositivo de descodificación de audio 540C está configurado adicionalmente para obtener, a partir del flujo de bits, uno o más vectores Udist * Sdist que se han derivados de una matriz U y una matriz S, ambos de los cuales se generaron realizando la descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, multiplicar los vectores UdisT * SdisT por los vectores VTpeqUeño para recuperar los coeficientes armónicos esféricos de fondo distintos de orden superior, y sumar los coeficientes armónicos esféricos de fondo que incluyen los coeficientes armónicos esféricos de fondo distinto de orden inferior a los coeficientes armónicos esféricos de fondo distinto de orden superior para recuperar, al menos en parte, la pluralidad de coeficientes armónicos esféricos.
[0597] En estos y otros casos, el al menos uno de uno o más vectores comprende uno o más vectores VTpequeño, habiéndose determinado uno o más vectores VTpequeño a partir de una transposición de una matriz V generada realizando una descomposición en valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, y el dispositivo de descodificación de audio 540C está configurado adicionalmente para obtener, a partir del flujo de bits, uno o más vectores UdisT * SdisT que han sido derivados de una matriz U y una matriz S, ambos de los cuales se generaron realizando la descomposición de valores singulares con respecto a la pluralidad de coeficientes armónicos esféricos, multiplicar los vectores Udist * Sdist por los vectores VTpequeño para recuperar coeficientes armónicos esféricos de fondo diferentes de orden superior, añadir los coeficientes esféricos de armónicos de fondo que incluyen los coeficientes armónicos esféricos de fondo distinto de orden inferior a los coeficientes armónicos esféricos de fondo distintos de orden superior para recuperar, al menos en parte, la pluralidad de coeficientes armónicos esféricos, y reproducir la pluralidad recuperada de coeficientes armónicos esféricos.
[0598] La FIG. 41D es un diagrama de bloques que ilustra otro dispositivo de codificación de audio ejemplar 540D. El dispositivo de descodificación de audio 540D puede representar cualquier dispositivo capaz de descodificar datos de audio, tales como un ordenador de sobremesa, un ordenador portátil, una estación de trabajo, una tableta o un ordenador de pizarra, un dispositivo de grabación de audio dedicado, un teléfono móvil (incluidos los llamados "teléfonos inteligentes"), un dispositivo de reproductor multimedia personal, un dispositivo de juego personal o cualquier otro tipo de dispositivo capaz de descodificar datos de audio.
[0599] En el ejemplo de la FIG. 41D, el dispositivo de descodificación de audio 540D realiza un proceso de descodificación de audio que es recíproco al proceso de codificación de audio realizado por cualquiera de los dispositivos de codificación de audio 510B-510J con la excepción de realizar la reducción de orden (como se ha descrito anteriormente con respecto a los ejemplos de las FIG. 40B-40J), que es, en algunos ejemplos, utilizado por los dispositivos de codificación de audio 510B-510J para facilitar la eliminación de datos irrelevantes extraños.
[0600] Aunque se muestra como un dispositivo individual, es decir, el dispositivo 540D en el ejemplo de la FIG. 41D, los diversos componentes o unidades a los que se hace referencia a continuación como incluidos en el dispositivo 540D pueden formar dispositivos separados que son externos al dispositivo 540D. En otras palabras, aunque se describe en esta descripción como realizada por un solo dispositivo, es decir, el dispositivo 540D en el ejemplo de la FIG. 41D, las técnicas pueden ser implementadas o realizadas de otro modo por un sistema que comprende múltiples dispositivos, donde cada uno de estos dispositivos puede incluir cada uno uno o más de los diversos componentes o unidades descritos con más detalle a continuación. Por consiguiente, las técnicas no deben estar limitadas a este respecto al ejemplo de la FIG. 41D.
[0601] Además, el dispositivo de descodificación de audio 540D puede ser similar al dispositivo de descodificación de audio 540B, excepto que el dispositivo de descodificación de audio 540D realiza una descompresión V adicional que es generalmente recíproca a la compresión realizada por la unidad de compresión V 552 descrita anteriormente con respecto a la FIG. 40I. En el ejemplo de la FIG. 41D, la unidad de extracción 542 incluye una unidad de descompresión V 555 que realiza esta descompresión V de los componentes espaciales comprimidos 539' incluidos en el flujo de bits 517 (y generalmente se especifica de acuerdo con el ejemplo mostrado en una de las FIG. 10B y 10C). La unidad de descompresión V 555 puede descomprimir vectores VTdist 539 basándose en la siguiente ecuación:
Vq =
0,
sgn * (2cld~1 + residual),
si cid = 0 si cid ^ 0
[0602] En otras palabras, la unidad de descompresión V 555 puede analizar primero el valor de nbits del flujo de bits 517 e identificar el conjunto apropiado de cinco tablas de código Huffman para usar al descodificar el código Huffman representativo de cid. Basándose en el modo de predicción y en la información de codificación Huffman especificada en el flujo de bits 517 y posiblemente en el orden del elemento del componente espacial con respecto a los otros elementos del componente espacial, la unidad de descompresión V 555 puede identificar la correcta de las cinco tablas Huffman definidas para el valor de nbits analizados. Utilizando esta tabla Huffman, la unidad de
descompresión V 555 puede descodificar el valor cid del código Huffman. La unidad de descompresión V 555 puede entonces analizar el bit de signo y el código de bloque residual, descodificando el código de bloque residual para identificar el residuo. De acuerdo con la ecuación anterior, la unidad de descompresión V 555 puede descodificar uno de los vectores VTdist 539.
5
[0603] Lo anterior puede resumirse en la siguiente tabla de sintaxis:
Tabla - Vectores descodificados
Sintaxis N.° de bits Mnemónica
decodeVVec(i)
{
switch codedVVecLength { caso 0: //Vector completo
VVecLength = NumOfHoaCoeffs;
para (m=0; m< VVecLength; ++m){ VecCoeff[m] = m+1; }
break;
caso 1: //se eliminan los órdenes inferiores VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA;
para (m=0; m< VVecLength; ++m){
VecCoeff[m] = m + MinNumOfCoeffsForAmbHOA +
1;
}
break; caso 2:
VVecLength = NumOfHoaCoeffs- MinNumOfCoeffsForAmbHOA - NumOfAddAmbHoaChan; n = 0;
para (m=0;m<NumOfHoaCoeffs- MinNumOfCoeffsForAmbHOA; ++m){
c = m + MinNumOfCoeffsForAmbHOA + 1; if (ismember(c, AmbCoeffldx) == 0){
VecCoeff[n] = c;
______________n++;________________________________
}
}
break; caso 3:
VVecLength = NumOfHoaCoeffs - NumOfAddAmbHoaChan; n = 0;
para (m=0; m<NumOfHoaCoeffs; ++m){ c = m + 1;
if (ismember(c, AmbCoeffldx) == 0){
VecCoeff[n] = c; n++;
}
}
}
if (NbitsQ[i] == 5) { /* cuantizador uniforme */ para (m=0; m< VVecLength; ++m){
VVec(k)[i][m] = (VecValue /128.0) - 1.0;
}
}
else { /* descodificación Huffman */
para (m=0; m< VVecLength; ++m){
Idx = 5;
If(CbFlag[i] == 1){
idx = (min(3, max(l, ceil(sqrt(VecCoeff[m]) - 1)));
}
else if (PFlag[i] == 1) {idx = 4;} cid =
huffDecode(huffmannTable[NbitsQ].codebook[idx]; huffVal);
8 uimsbf
dinámico huffDe code
5
10
15
20
25
30
35
40
45
50
if(cid>0) { aVal = sgn = (sgnVal * 2) - 1;
1 bslbf
if (cid > 1) { aVal = sgn * (2.0A(cid -1) + intAddVal);
cid-1 uimsbf
}
} else {aVal = 0.0;}
}
}
j____________________________________________________________________________
NOTA:
- La función del codificador para el cuantificador uniforme es min(255, round((x+ 1.0) *128.0))
- El n.° de bits para huffDecode nemónico es dinámico_______________________________
[0604] En la tabla de sintaxis anterior, la primera instrucción de conmutación con los cuatro casos (casos 0-3) proporciona una forma mediante la cual se determina la longitud del vector VTdist en términos del número de coeficientes. El primer caso, caso 0, indica que se especifican todos los coeficientes para los vectores VTDIST. El segundo caso, caso 1, indica que sólo se especifican los coeficientes del vector VTDIST que corresponden a un orden mayor que un MinNumOfCoeffsForAmbHOA, lo que puede indicar lo que se denomina (Ndist + 1) - (Nbg + 1) anteriormente. El tercer caso, caso 2, es similar al segundo caso, pero resta aún más los coeficientes identificados por NumOfAddAmbHoaChan, que indica una variable para especificar canales adicionales (donde "canales" se refiere a un coeficiente particular que corresponde a un cierto orden, combinación de suborden) correspondiente a un orden que excede el orden Nbg. El cuarto caso, caso 3, indica que únicamente se especifican aquellos coeficientes del vector VTDIST que quedan después de eliminar los coeficientes identificados por NumOfAddAmbHoaChan.
[0605] Después de esta instrucción de conmutación, la decisión de realizar una descuantización unificada es controlada por NbitsQ (o, como se ha indicado anteriormente, nbits), que si no es igual a 5, da como resultado la aplicación de la descodificación Huffman. El valor cid mencionado anteriormente es igual a los dos bits menos significativos del valor NbitsQ. El modo de predicción analizado anteriormente se designa como PFlag en la tabla de sintaxis anterior, mientras que el bit de información HT se designa como CbFlag en la tabla de sintaxis anterior. La sintaxis restante especifica cómo ocurre la descodificación de una manera sustancialmente similar a la descrita anteriormente.
[0606] De esta manera, las técnicas de esta divulgación pueden permitir que el dispositivo de descodificación de audio 540D obtenga un flujo de bits que comprenda una versión comprimida de un componente espacial de un campo sonoro, estando el componente espacial generando realizando una síntesis basada en vectores con respecto a una pluralidad de coeficientes armónicos esféricos, y descomprimir la versión comprimida del componente espacial para obtener el componente espacial.
[0607] Además, las técnicas pueden permitir que el dispositivo de descodificación de audio 540D descomprima una versión comprimida de un componente espacial de un campo sonoro, el componente espacial generado realizando una síntesis basada en vectores con respecto a una pluralidad de coeficientes de armónicos esféricos.
[0608] Las FIG. 42-42C son cada una de ellas diagramas de bloques que ilustran la unidad de reducción de orden 528A mostrada en los ejemplos de las FIG. 40B-40J en más detalle. La FIG. 42 es un diagrama de bloques que ilustra una unidad de reducción de orden 528, que puede representar un ejemplo de la unidad de reducción de orden 528A de las FIG. 40B-40J. La unidad de reducción de órdenes 528A puede recibir o determinar de otro modo una velocidad de bits objetivo 535 y realizar una reducción de orden con respecto a los coeficientes armónicos esféricos de fondo 531 basándose únicamente en esta velocidad de bits objetivo 535. En algunos ejemplos, la unidad de reducción de órdenes 528A puede acceder a una tabla u otra estructura de datos utilizando la velocidad de bits objetivo 535 para identificar las órdenes y/o subórdenes que han de eliminarse de los coeficientes de armónicos esféricos de fondo 531 para generar coeficientes armónicos esféricos de fondo reducido 529.
[0609] De este modo, las técnicas pueden permitir que un dispositivo de codificación de audio, tal como los dispositivos de codificación de audio 510B-410J, realicen, sobre la base de una velocidad de bits objetivo 535, una reducción de orden con respecto a una pluralidad de coeficientes armónicos esféricos o descomposiciones de los mismos, tales como los coeficientes armónicos esféricos de fondo 531, para generar coeficientes armónicos esféricos reducidos 529 o las descomposiciones reducidas de los mismos, en el que la pluralidad de coeficientes armónicos esféricos representa un campo sonoro.
[0610] En cada una de las diversas instancias descritas anteriormente, debe entenderse que el dispositivo de descodificación de audio 540 puede realizar un procedimiento o comprender de otro modo medios para realizar cada paso del procedimiento para el que está configurado el dispositivo de descodificación de audio 540. En algunos casos, estos medios pueden comprender uno o más procesadores. En algunos casos, uno o más procesadores pueden representar un procesador de propósito especial configurado por medio de instrucciones almacenadas en un medio de almacenamiento no transitorio legible por ordenador. En otras palabras, varios aspectos de las técnicas en
5
10
15
20
25
30
35
40
45
50
55
60
65
cada uno de los conjuntos de ejemplos de codificación pueden proporcionar un medio de almacenamiento no transitorio legible por ordenador que tiene almacenadas en él instrucciones que, cuando se ejecutan, hacen que uno o más procesadores realicen el procedimiento para el cual el dispositivo de descodificación de audio 540 se ha configurado para realizar.
[0611] La FIG. 42B es un diagrama de bloques que ilustra una unidad de reducción de orden 528B, que puede representar un ejemplo de la unidad de reducción de orden 528A de las FIG. 40B-40J. En el ejemplo de la FIG. 42B, en lugar de realizar una reducción de orden basada solamente en una velocidad de bits objetivo 535, la unidad de reducción de orden 528B puede realizar una reducción de orden basada en un análisis de contenido de los coeficientes armónicos esféricos de fondo 531. La unidad de reducción de órdenes 528B puede incluir una unidad de análisis de contenido 536A que realiza este análisis de contenido.
[0612] En algunos ejemplos, la unidad de análisis de contenido 536A puede incluir una unidad de análisis espacial 536A que realiza una forma de análisis de contenido referida al análisis espacial. El análisis espacial puede implicar analizar los coeficientes de armónicos esféricos de fondo 531 para identificar información espacial que describe la forma u otras propiedades espaciales de los componentes de fondo del campo sonoro. En base a esta información espacial, la unidad de reducción de órdenes 528B puede identificar las órdenes y/o subórdenes que han de eliminarse de los coeficientes de armónicos esféricos de fondo 531 para generar coeficientes armónicos esféricos de fondo reducido 529.
[0613] En algunos ejemplos, la unidad de análisis de contenido 536A puede incluir una unidad de análisis de difusión 536B que realiza una forma de análisis de contenido referida al análisis de difusión. El análisis de difusión puede implicar analizar los coeficientes de armónicos esféricos de fondo 531 para identificar información de difusión que describe la difluoroetilo de los componentes de fondo del campo sonoro. En base a esta información de difusión, la unidad de reducción de órdenes 528B puede identificar las órdenes y/o subórdenes que han de eliminarse de los coeficientes de armónicos esféricos de fondo 531 para generar coeficientes armónicos esféricos de fondo reducido 529.
[0614] Aunque se muestra incluyendo tanto la unidad de análisis espacial 536A como la unidad de análisis de difusión 36B, la unidad de análisis de contenido 536A puede incluir solamente la unidad de análisis espacial 536, solamente la unidad de análisis de difusión 536B o tanto la unidad de análisis espacial 536A como la unidad de análisis de difusión 536B. En algunos ejemplos, la unidad de análisis de contenido 536A puede realizar otras formas de análisis de contenido además o como una alternativa a uno o ambos del análisis espacial y el análisis de difusión. Por consiguiente, las técnicas descritas en esta divulgación no deben limitarse en este aspecto.
[0615] De esta manera, las técnicas pueden permitir que un dispositivo de codificación de audio, tal como los dispositivos de codificación de audio 510B-510J, realice, basándose en un análisis de contenido de una pluralidad de coeficientes armónicos esféricos o descomposiciones de los mismos que describen un campo sonoro, la reducción de orden con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos, para generar coeficientes armónicos esféricos reducidos o descomposiciones reducidas de los mismos.
[0616] La FIG. 42C es un diagrama de bloques que ilustra una unidad de reducción de orden 528C, que puede representar un ejemplo de la unidad de reducción de orden 528A de las FIG. 40B-40J. La unidad de reducción de órdenes 528C de la FIG. 42B es sustancialmente la misma que la unidad de reducción de órdenes 528B, pero puede recibir o determinar de otro modo una velocidad de bits objetivo 535 de la manera descrita anteriormente con respecto a la unidad de reducción de órdenes 528A de la FIG. 42, mientras que también realiza el análisis de contenido de la manera descrita anteriormente con respecto a la unidad de reducción de órdenes 528B de la FIG. 42B. La unidad de reducción de órdenes 528C puede realizar entonces una reducción de orden con respecto a los coeficientes de armónicos esféricos de fondo 531 basados en esta velocidad de bits objetivo 535 y el análisis de contenido.
[0617] De este modo, las técnicas pueden permitir que un dispositivo de codificación de audio, tal como los dispositivos de codificación de audio 510B-51 0j, realice un análisis de contenido con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos. Al realizar la reducción de orden, los dispositivos de codificación de audio 510B-510J pueden realizar, basándose en la velocidad de bits objetivo 535 y en el análisis de contenido, la reducción de orden con respecto a la pluralidad de coeficientes armónicos esféricos o las descomposiciones de los mismos para generar los coeficientes armónicos esféricos reducidos o las descomposiciones reducidas de los mismos.
[0618] Dado que se eliminan uno o más vectores, los dispositivos de codificación de audio 510B-510J pueden especificar el número de vectores en el flujo de bits como datos de control. Los dispositivos de codificación de audio 510B-510J pueden especificar este número de vectores en el flujo de bits para facilitar la extracción de los vectores del flujo de bits por el dispositivo de descodificación de audio.
[0619] La FIG. 44 es una ilustración del diagrama de operaciones ejemplares realizadas por el dispositivo de codificación de audio 410D para compensar el error de cuantización de acuerdo con diversos aspectos de las
5
10
15
20
25
30
35
40
45
50
55
60
65
técnicas descritas en esta divulgación. En el ejemplo de la FIG. 44, la unidad matemática 526 del dispositivo de codificación de audio 510D se muestra como un bloque de líneas discontinuas para indicar que las operaciones matemáticas pueden ser realizadas por la unidad matemática 526 del dispositivo de descodificación de audio 510D.
[0620] Como se ilustra en el ejemplo de la FIG. 44, la unidad matemática 526 puede multiplicar primero los vectores Udist * Sdist 527 por los vectores VTdist 525E para generar coeficientes armónicos esféricos distintos (designados como "vectores HDIST 630"). La unidad matemática 526 puede entonces dividir los vectores HDIST 630 por la versión cuantificada de los vectores VTdist 525E (que se indican, de nuevo, como "vectores VTq_dist 525G"). La unidad matemática 526 puede realizar esta división determinando una pseudoinvertida de los vectores VTq_dist 525G y multiplicando luego los vectores Hdist por la pseudoinvertida de los vectores VTq_dist 525G, emitiendo una versión compensada de error de Udist * Sdist (que pueden abreviarse como "vectores USdist" o ''USdist'). La versión compensada de error de USdist puede representarse como vectores US*dist 527' en el ejemplo de la FIG. 44. De esta manera, las técnicas pueden proyectar eficazmente el error de cuantización, al menos en parte, a los vectores USdist 527, generando los vectores uS*dist 527'.
[0621] La unidad matemática 526 puede entonces restar los vectores US*diSt 527' de los vectores UDIST * SdiSt 527 para determinar los vectores USerr 634 (que pueden representar al menos una porción del error debido a la cuantización proyectada en los vectores UDIST * SdiSt 527). La unidad matemática 526 puede entonces multiplicar los vectores USerr 634 por los vectores VTq_dist 525G para determinar los vectores Herr 636. Matemáticamente, los vectores Herr 636 pueden ser equivalentes a los vectores USdist 527 - vectores US*dist 527', cuyo resultado se multiplica entonces por los vectores VTdist 525E. La unidad matemática 526 puede entonces añadir los vectores Herr 636 a los coeficientes armónicos esféricos de fondo 531 (designados como vectores Hbg 531 en el ejemplo de la FIG. 44) calculados multiplicando los vectores Ubg 525D por los vectores Sbg 525B y luego por los vectores VTbg 525F. La unidad matemática 526 puede sumar los vectores Herr 636 a los vectores Hbg 531, proyectando eficazmente al menos una porción del error de cuantización en los vectores Hbg 531 para generar los vectores Hbg 531' compensados. De esta manera, las técnicas pueden proyectar al menos una porción del error de cuantización en los vectores Hbg 531.
[0622] Las FIG. 45 y 45B son diagramas que ilustran la interpolación de subtramas de partes de dos tramas de acuerdo con diversos aspectos de las técnicas descritas en esta divulgación. En el ejemplo de la FIG. 45, se muestra una primera trama 650 y una segunda trama 652. La primera trama 650 puede incluir coeficientes armónicos esféricos ("SH[1 ]") que se pueden descomponer en las matrices U[1], S[1] y V'[1 ]. La segunda trama 652 puede incluir coeficientes armónicos esféricos ("SH[2]"). Estos SH[1] y SH[2] pueden identificar diferentes tramas de los SHC 511 descritos anteriormente.
[0623] En el ejemplo de la FIG. 45B, la unidad de descomposición 518 del dispositivo de codificación de audio 510H mostrado en el ejemplo de la FIG. 40H puede separar cada una de las tramas 650 y 652 en cuatro subtramas 651A-651D y 653A-653D respectivas. La unidad de descomposición 518 puede entonces descomponer la primera subtrama 651A (designada como "SH[1,1]") de la trama 650 en las matrices U[1, 1], S[1, 1] y V[1, 1], emitiendo la matriz V[1, 1] 519' a la unidad de interpolación 550. La unidad de descomposición 518 puede entonces descomponer la segunda subtrama 653A (designada como "SH[2,1]") de la trama 652 en las matrices U[1, 1], S[1, 1] y v[1, 1], emitiendo la matriz V[2, 1] 519' a la unidad de interpolación 550. La unidad de descomposición 518 también puede emitir SH[1, 1], SH[1, 2], SH[1,3] y SH[1,4] de los SHC 11 y SH[2, 1], SH[2, 2], SH[2, 3] y SH[2, 4] de los SHC 511 a la unidad de interpolación 550.
[0624] La unidad de interpolación 550 puede entonces realizar las interpolaciones identificadas en la parte inferior de la ilustración mostrada en el ejemplo de la FIG. 45B. Es decir, la unidad de interpolación 550 puede interpolar V'[1, 2] en base a V'[1, 1] y V'[2, 1]. La unidad de interpolación 550 también puede interpolar V'[1, 3] en base a V'[1, 1] y V'[2, 1]. Además, la unidad de interpolación 550 también puede interpolar V'[1,4] en base a V'[1, 1] y V'[2, 1]. Estas interpolaciones pueden implicar una proyección de V'[1, 1] y V'[2, 1] en el dominio espacial, como se muestra en el ejemplo de las FlG. 46-46E, seguido por una interpolación temporal y luego una proyección de nuevo en el dominio armónico esférico.
[0625] La unidad de interpolación 550 puede obtener a continuación U[1, 2]S[1,2] multiplicando SH[1, 2] por (V’[1, 2])-1, U[1, 3]S[1, 3] multiplicando SH[1, 3] por (V’[1, 3])-1, y U[1, 4]S[1, 4] multiplicando Sh[1, 4] por (V’[1, 4])-1. La unidad de interpolación 550 puede entonces reformar la trama en forma descompuesta que emite la matriz V 519, la matriz S 519B y la matriz U 519C.
[0626] Las FlG. 46A-46E son diagramas que ilustran una sección transversal de una proyección de uno o más vectores de una versión descompuesta de una pluralidad de coeficientes armónicos esféricos que han sido interpolados de acuerdo con las técnicas descritas en esta divulgación. La FlG. 46A ilustra una sección transversal de una proyección de uno o más primeros vectores de una primera matriz V 19' que se ha descompuesto de SHC 511 de una primera subtrama a partir de una primera trama a través de un proceso de SVD. La FlG. 46B ilustra una sección transversal de una proyección de uno o más segundos vectores de una segunda matriz V 519' que se ha descompuesto de SHC 511 de una primera subtrama a partir de una segunda trama a través de un proceso de SVD.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0627] La FIG. 46C ilustra una sección transversal de una proyección de uno o más vectores interpolados para una matriz V 519A representativa de una segunda subtrama de la primera trama, habiéndose interpolado estos vectores de acuerdo con las técnicas descritas en esta divulgación a partir de la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46 en este ejemplo) y la primera subtrama de la segunda trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46B en este ejemplo).
[0628] La FIG. 46D ilustra una sección transversal de una proyección de uno o más vectores interpolados para una matriz V 519A representativa de una tercera subtrama de la primera trama, habiéndose interpolado estos vectores de acuerdo con las técnicas descritas en esta divulgación a partir de la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46 en este ejemplo) y la primera subtrama de la segunda trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46B en este ejemplo).
[0629] La FIG. 46E ilustra una sección transversal de una proyección de uno o más vectores interpolados para una matriz V 519A representativa de una cuarta subtrama de la primera trama, habiéndose interpolado estos vectores de acuerdo con las técnicas descritas en esta divulgación a partir de la matriz V 519' descompuesta a partir de la primera subtrama de la primera trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46 en este ejemplo) y la primera subtrama de la segunda trama de los SHC 511 (es decir, uno o más vectores de la matriz V 519' mostrada en el ejemplo de la FIG. 46B en este ejemplo).
[0630] La FIG. 47 es un diagrama de bloques que ilustra, con más detalle, la unidad de extracción 542 de los dispositivos de descodificación de audio 540A-540D mostrados en los ejemplos de las FIG. 41-41D. En algunos ejemplos, la unidad de extracción 542 puede representar un extremo frontal a lo que se puede denominar "descodificador integrado", que puede realizar dos o más esquemas de descodificación (donde mediante la realización de estos dos o más esquemas, el descodificador puede considerarse para "integrar" los dos o más esquemas). Como se ilustra en el ejemplo de la FIG. 44, la unidad de extracción 542 incluye un multiplexor 620 y las subunidades de extracción 622A y 622B ("subunidades de extracción 622"). El multiplexor 620 identifica aquellas matrices de SHC entramadas codificadas 547-547N a enviar a la subunidad de extracción 622A y a la subunidad de extracción 622B basándose en la indicación correspondiente de si las matrices de SHC entramadas codificadas asociadas 547-547N se generan a partir de un objeto de audio sintético o una grabación. Cada una de las subunidades de extracción 622A puede realizar un esquema de descodificación diferente (que se puede denominar "descompresión") que está, en algunos ejemplos, adaptado a los SHC generados a partir de un objeto de audio sintético o SHC generados a partir de una grabación. Cada una de las subunidades de extracción 622A puede realizar uno de estos esquemas de descompresión respectivos con el fin de generar tramas de SHC 547, que se emiten a SHC 547.
[0631] Por ejemplo, la unidad de extracción 622A puede realizar un esquema de descompresión para reconstruir SA a partir de una señal predominante (PS) usando la siguiente fórmula:
HOA = DirV x PS,
donde DirV es un vector direccional (representativo de varias direcciones y anchuras), que puede ser transmitido a través de un canal lateral. La unidad de extracción 622B puede, en este ejemplo, realizar un esquema de descompresión que reconstruye la matriz HOA de la PS usando la siguiente fórmula:
HOA = sqrt(4n) * Ynm ( theta, phi ) * PS,
donde Ynm es la función armónica esférica y la información de theta y phi puede ser enviada a través del canal lateral.
[0632] A este respecto, las técnicas permiten a la unidad de extracción 358 seleccionar uno de una pluralidad de esquemas de descompresión basándose en la indicación de si se genera una versión comprimida de coeficientes armónicos esféricos representativos de un campo sonoro a partir de un objeto de audio sintético y descomprimir la versión comprimida de los coeficientes armónicos esféricos utilizando el esquema seleccionado de la pluralidad de esquemas de descompresión. En algunos ejemplos, el dispositivo comprende un descodificador integrado.
[0633] La FIG. 48 es un diagrama de bloques que ilustra la unidad de reproducción de audio 48 del dispositivo de descodificación de audio 540A-540D mostrado en los ejemplos de la FIG. 41A-41D con más detalle. La FIG. 48 ilustra una conversión de los coeficientes armónicos esféricos recuperados 547 en los datos de audio multicanal 549A que son compatibles con una geometría de descodificador-altavoz local. Para algunas geometrías de altavoces locales (que, de nuevo, pueden referirse a una geometría de altavoz en el descodificador), algunas transformaciones que aseguran la invertibilidad pueden dar como resultado una calidad de audio-imagen menos que deseable. Es decir, la reproducción del sonido no siempre puede dar como resultado una correcta localización de los sonidos en comparación con el audio que se está capturando. Para corregir esta calidad de imagen menos que
5
10
15
20
25
30
35
40
45
deseable, las técnicas pueden aumentarse adicionalmente para introducir un concepto que puede denominarse como "altavoces virtuales".
[0634] En lugar de requerir que uno o más altavoces sean reposicionados o posicionados en regiones particulares o definidas de espacio que tengan ciertas tolerancias angulares especificadas por una norma, tal como la citada anteriormente ITU-R BS.775-1, la trama anterior puede modificarse para incluir alguna forma de panoramización, tal como la panoramización de amplitud basada en vectores (VBAP), la panoramización de amplitud basada en la distancia, u otras formas de panoramización. Centrándose en la VBAp con fines de ilustración, VBAP puede introducir eficazmente lo que se puede caracterizar como "altavoces virtuales". VBAP puede modificar una alimentación a uno o más altavoces para que estos uno o más altavoces emitan de manera eficaz un sonido que parece originarse desde un altavoz virtual en una o más de una ubicación y ángulo diferente de al menos uno de la ubicación y/o el ángulo del uno o más altavoces que soportan el altavoz virtual.
[0635] Para ilustrar, la siguiente ecuación para determinar las alimentaciones de altavoz en términos de los SHC puede ser la siguiente:
r a°q(oj) 1
.-(Order+l)(Orcler+l) s s . (Order+l')(Order+1) IW.
imagen3
'01 (<*>)' 02 0>) 03 M
[0636] En la ecuación anterior, la matriz de VBAP es de tamaño de M filas por N columnas, donde M representa el número de altavoces (y será igual a cinco en la ecuación anterior) y N representa el número de altavoces virtuales. La matriz VBAP se puede calcular en función de los vectores desde la posición definida del oyente a cada una de las posiciones de los altavoces y los vectores desde la posición definida del oyente a cada una de las posiciones de los altavoces virtuales. La matriz D en la ecuación anterior puede ser de un tamaño de N filas por (orden+1)2 columnas, donde el orden puede referirse al orden de las funciones de SH. La matriz D puede representar lo siguiente
imagen4
[0637] La matriz g (o vector, dado que sólo hay una sola columna) puede representar la ganancia para las alimentaciones de altavoz para los altavoces dispuestos en la geometría descodificador-local. En la ecuación, la matriz g es de tamaño M. La matriz A (o vector, dado que sólo hay una sola columna) puede representar los SHC 520, y es de tamaño (Orden+1 )(Orden+1), que también puede representarse como (Orden+1 )2.
[0638] De hecho, la matriz VBAP es una matriz MxN que proporciona lo que se puede denominar un "ajuste de ganancia" que influye en la ubicación de los altavoces y la posición de los altavoces virtuales. La introducción de la panoramización de esta manera puede dar como resultado una mejor reproducción del audio multicanal que da como resultado una imagen de mejor calidad cuando se reproduce por la geometría del altavoz local. Además, al incorporar VBAP en esta ecuación, las técnicas pueden superar geometrías de altavoz deficientes que no se alinean con las especificadas en varios estándares.
[0639] En la práctica, la ecuación puede invertirse y emplearse para transformar los SHC de nuevo en las alimentaciones multicanal para una geometría o configuración particular de altavoces, que de nuevo se puede denominar geometría de descodificador-local en esta divulgación. Es decir, la ecuación puede invertirse para resolver la matriz g. La ecuación invertida puede ser como se indica a continuación:
'0i (<*>)'
02 O)
03 («>) 0m(")-
imagen5
' D-1
_Nx(Order + l)2
ytí(ro)
.-(Order+l)(Order+l) , \ . (Ortíer+l)(Or(ler+l)
[0640] La matriz g puede representar la ganancia del altavoz para, en este ejemplo, cada uno de los cinco
5
10
15
20
25
30
35
40
45
50
55
60
65
altavoces en una configuración de 5.1 altavoces. Las ubicaciones de los altavoces virtuales utilizadas en esta configuración pueden corresponder a las ubicaciones definidas en una especificación o estándar de formato multicanal 5.1. La ubicación de los altavoces que puede soportar cada uno de estos altavoces virtuales se puede determinar usando cualquier número de técnicas de localización de audio conocidas, muchas de las cuales implican reproducir un tono que tiene una frecuencia particular para determinar una ubicación de cada altavoz con respecto a una unidad de cabecera (tal como un receptor de audio/vídeo (receptor A/V), televisión, sistema de juegos, sistema de disco de vídeo digital u otros tipos de sistemas de cabecera). Alternativamente, un usuario de la unidad de cabecera puede especificar manualmente la ubicación de cada uno de los altavoces. En cualquier caso, dadas estas ubicaciones conocidas y ángulos posibles, la unidad de cabecera puede resolver las ganancias, asumiendo una configuración ideal de altavoces virtuales por medio de VBAP.
[0641] A este respecto, un dispositivo o aparato puede realizar una panoramización de amplitud basada en vectores u otra forma de panoramización en la pluralidad de canales virtuales para producir una pluralidad de canales que impulsan a los altavoces en una geometría descodificador-local para emitir sonidos que parecen originarse a partir de altavoces virtuales configurados en una geometría local diferente. Por lo tanto, las técnicas pueden permitir al dispositivo de descodificación de audio 40 realizar una transformación en la pluralidad de coeficientes armónicos esféricos, tales como los coeficientes armónicos esféricos recuperados 47, para producir una pluralidad de canales. Cada una de la pluralidad de canales puede estar asociada con una región de espacio correspondiente diferente. Además, cada una de la pluralidad de canales puede comprender una pluralidad de canales virtuales, donde la pluralidad de canales virtuales puede estar asociada con la correspondiente región de espacio diferente. Por lo tanto, un dispositivo puede realizar una panoramización de amplitud basada en vectores en los canales virtuales para producir la pluralidad de canales de los datos de audio multicanal 49.
[0642] Las FIG. 49A-49E (ii) son diagramas que ilustran sistemas de codificación de audio respectivos 560A-560C, 567D, 569D, 571E y 573E que pueden implementar diversos aspectos de las técnicas descritas en esta divulgación. Como se ilustra en el ejemplo de la FIG. 49A, el sistema de codificación de audio 560A puede incluir un dispositivo de codificación de audio 562 y un dispositivo de descodificación de audio 564. El dispositivo de codificación de audio 562 puede ser similar a cualquiera de los dispositivos de codificación de audio 20 y 510A-510D mostrados en el ejemplo de las FIG. 4 y 40A-40D, respectivamente. El dispositivo de descodificación de audio 564 puede ser similar al dispositivo de descodificación de audio 24 y 40 mostrado en el ejemplo de las FIG. 5 y 41.
[0643] Como se ha descrito anteriormente, el ambisónico de orden superior (HOA) es una manera mediante la cual describir toda la información direccional de un campo sonoro basado en una transformada espacial de Fourier. En algunos ejemplos, cuanto mayor es el orden de ambisónicos, N, mayor es la resolución espacial y mayor es el número de coeficientes armónicos esféricos (SH) (N+1)2. Por lo tanto, cuanto más alto sea el orden de los ambisónicos N, en algunos ejemplos, se obtienen requisitos de ancho de banda mayores para transmitir y almacenar los coeficientes. Debido a que los requisitos de ancho de banda de HOA son bastante altos en comparación, por ejemplo, con datos de audio de sonido envolvente 5.1 o 7.1, se puede desear una reducción de ancho de banda para muchas aplicaciones.
[0644] De acuerdo con las técnicas descritas en esta divulgación, el sistema de codificación de audio 560A puede realizar un procedimiento basado en separar los elementos distintos (de primer plano) de los no distintos (fondo o ambiente) en una escena de sonido espacial. Esta separación puede permitir que el sistema de codificación de audio 560A procese elementos de primer plano y de fondo independientemente entre sí. En este ejemplo, el sistema de codificación de audio 560A explora la propiedad de que los elementos de primer plano pueden llamar más la atención (por el oyente) y pueden ser más fáciles de localizar (de nuevo, por el oyente) en comparación con los elementos de fondo. Como resultado, el sistema de codificación de audio 560A puede almacenar o transmitir contenido HOA de manera más eficiente.
[0645] En algunos ejemplos, el sistema de codificación de audio 560A puede conseguir esta separación empleando el proceso de descomposición en valores singulares (SVD). El proceso SVD puede separar una trama de coeficientes HOA en 3 matrices (U, S, V). La matriz U contiene los vectores singulares izquierdos y la matriz V contiene los vectores singulares derechos. La matriz Diagonal S contiene los valores singulares no negativos clasificados en su diagonal. Una reconstrucción de los coeficientes HOA generalmente buena (o, en algunos casos, perfecta suponiendo una precisión ilimitada en la representación de los coeficientes HOA) será dada por U*S*V'. Sólo reconstruyendo el subespacio con los D valores singulares más grandes: U(:,1:D)*S(1:D,:)*V’, el sistema de codificación de audio 560A puede extraer la información espacial más sobresaliente de esta trama HOA, es decir, elementos de sonido de primer plano (y tal vez algunas reflexiones de la sala tempranas fuertes). El resto U(:,D+1 :end)*S(D+1 :end,:)*V’ puede reconstruir elementos de fondo y reverberación a partir del contenido.
[0646] El sistema de codificación de audio 560A puede determinar el valor D, que separa los dos subespacios, analizando la pendiente de la curva creada por los valores diagonales descendentes de S: los valores singulares grandes representan sonidos de primer plano, los valores singulares bajos representan valores de fondo. El sistema de codificación de audio 560A puede utilizar una primera y una segunda derivada de la curva de valor singular. El sistema de codificación de audio 560A puede también limitar el número D entre uno y cinco. Alternativamente, el sistema de codificación de audio 560A puede predefinir el número D, tal como a un valor de cuatro. En cualquier
5
10
15
20
25
30
35
40
45
50
55
60
65
caso, una vez estimado el número D, el sistema de codificación de audio 560A extrae el subespacio de primer plano y fondo de las matrices U y S.
[0647] El sistema de codificación de audio 560A puede entonces reconstruir los coeficientes HOA de la escena de fondo mediante U(:,D+1 :end)*S(D+1 :end,:)*V’, dando como resultado (N+1 )2 canales de coeficientes HOA. Como se sabe que los elementos de fondo, en algunos ejemplos, no tan relevantes y no son tan localizables con respecto a los elementos de primer plano, el sistema de codificación de audio 560A puede truncar el orden de los canales HOA. Además, el sistema de codificación de audio 560A puede comprimir estos canales con códecs de audio con pérdidas o sin pérdida, tales como AAC, u opcionalmente con un códec de audio más agresivo en comparación con el utilizado para comprimir los elementos relevantes de primer plano. En algunos casos, para ahorrar ancho de banda, el sistema de codificación de audio 560A puede transmitir los elementos de primer plano de manera diferente. Es decir, el sistema de codificación de audio puede transmitir los vectores singulares izquierdos U(:,1:D) después de comprimirse con códecs de audio con pérdidas o sin pérdida (tales como AAC) y transmitir estos valores singulares izquierdos comprimidos junto con la matriz de reconstrucción R=S(1:D,:)*V’. R puede representar una matriz D x (N+1 )2, que puede diferir entre tramas.
[0648] En el lado receptor del sistema de codificación de audio 560, el sistema de codificación de audio puede multiplicar estas dos matrices para reconstruir una trama de (N+1)2 canales HOA. Una vez que se suman los canales HOA de fondo y de primer plano, el sistema de codificación de audio 560A puede reproducir cualquier configuración de altavoz utilizando cualquier reproductor ambisónico apropiado. Dado que las técnicas proporcionan la separación de elementos de primer plano (sonido directo o distinto) de los elementos de fondo, una persona con discapacidad auditiva podrá controlar la mezcla de elementos de primer plano con elementos de fondo para aumentar la inteligibilidad. Además, pueden aplicarse otros efectos de audio, por ejemplo, un compresor dinámico en los elementos de primer plano.
[0649] La FIG. 49B es un diagrama de bloques que ilustra el sistema de codificación de audio 560B con más detalle. Como se ilustra en el ejemplo de la FIG. 49b, el sistema de codificación de audio 560B puede incluir un dispositivo de codificación de audio 566 y un dispositivo de descodificación de audio 568. El dispositivo de codificación de audio 566 puede ser similar a los dispositivos de codificación de audio 24 y 510E mostrados en el ejemplo de las FIG. 4 y 40E. El dispositivo de descodificación de audio 568 puede ser similar al dispositivo de descodificación de audio 24 y 540B mostrado en el ejemplo de las FIG. 5 y 41B.
[0650] De acuerdo con las técnicas descritas en esta divulgación, cuando se utiliza la descomposición SVD basada en tramas (o procedimientos relacionados tales como KLT y PCA) en señales HoA, con el fin de reducir el ancho de banda, el dispositivo de codificación de audio 66 puede cuantizar los primeros pocos vectores de la U (multiplicado por los valores singulares correspondientes de la matriz S), así como los vectores correspondientes del vector VT. Esto comprenderá los componentes "de primer plano" del campo sonoro. Las técnicas pueden permitir que el dispositivo de codificación de audio 566 codifique el vector Udist * Sdist utilizando un motor de codificación de audio de "caja negra". El V vector puede ser escalar o un vector cuantificado. Además, algunos o todos los vectores restantes en la matriz U pueden multiplicarse con los valores singulares correspondientes de la matriz S y de la matriz V y también codificarse utilizando un motor de codificación de audio de "caja negra". Estos comprenderán los componentes "de fondo" del campo sonoro.
[0651] Puesto que los componentes auditivos más ruidosos se descomponen en los "componentes de primer plano", el dispositivo de codificación de audio 566 puede reducir el orden ambisónico de los componentes "de fondo" antes de utilizar un motor de codificación de audio de "caja negra" porque (se asume) que el fondo no contiene contenido localizable importante. Dependiendo del orden ambisónico de los componentes de primer plano, la unidad de codificación de audio 566 puede transmitir el o los vectores correspondientes, que pueden ser bastante grandes. Por ejemplo, una cuantización escalar simple de 16 bits de los vectores V dará como resultado una sobrecarga de aproximadamente 20 kbps para el 4° orden (25 coeficientes) y 40 kbps para el 6° orden (49 coeficientes) por componente de primer plano. Las técnicas descritas en esta divulgación pueden proporcionar un procedimiento para reducir esta sobrecarga del vector V.
[0652] Para ilustración, se asume que el orden ambisónico de los elementos de primer plano es Ndist y el orden ambisónico de los elementos de fondo Nbg, como se ha descrito anteriormente. Dado que el dispositivo de codificación de audio 566 puede reducir el orden ambisónico de los elementos de fondo como se ha descrito anteriormente, NBG puede ser menor que NDIST. La longitud del vector V de primer plano que necesita transmitirse para reconstruir los elementos de primer plano en el lado del receptor tiene la longitud de (NDIST+1 )2 por elemento de primer plano, mientras que los primeros coeficientes ((NDIST+1)2) - ((NBG+1)2) se pueden utilizar para reconstruir los componentes de primer plano o distintos hasta el orden NBG. Usando las técnicas descritas en esta divulgación, el dispositivo de codificación de audio 566 puede reconstruir el primer plano hasta el orden Nbg y fusionar los canales (Nbg+1)2 resultantes con los canales de fondo, dando como resultado un campo sonoro completo hasta el orden NBG. El dispositivo de codificación de audio 566 puede entonces reducir el vector V a aquellos coeficientes con el índice mayor de (Nbg+1)2 para la transmisión, (donde estos vectores pueden denominarse "VTpequeño"). En el lado del receptor, la unidad de descodificación de audio 568 puede reconstruir los canales de audio de primer plano para el orden ambisónico mayor que Nbg multiplicando los elementos de primer plano por los vectores VTpequeño.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0653] La FIG. 49c es un diagrama de bloques que ilustra el sistema de codificación de audio 560C con más detalle. Como se ilustra en el ejemplo de la FIG. 49C, el sistema de codificación de audio 560B puede incluir un dispositivo de codificación de audio 567 y un dispositivo de descodificación de audio 569. El dispositivo de codificación de audio 567 puede ser similar a los dispositivos de codificación de audio 20 y 510F mostrados en el ejemplo de las FIG. 4 y 40F. El dispositivo de descodificación de audio 569 puede ser similar a los dispositivos de descodificación de audio 24 y 540B mostrados en el ejemplo de las FIG. 5 y 41b.
[0654] De acuerdo con las técnicas descritas en esta divulgación, cuando se utiliza la descomposición SVD basada en tramas (o procedimientos relacionados tales como KLT y PCA) en señales HoA, con el fin de reducir el ancho de banda, el dispositivo de codificación de audio 567 puede cuantizar los primeros pocos vectores de la U (multiplicado por los valores singulares correspondientes de la matriz S), así como los vectores correspondientes del vector VT. Esto comprenderá los componentes "de primer plano" del campo sonoro. Las técnicas pueden permitir que el dispositivo de codificación de audio 567 codifique el vector Udist * Sdist utilizando un motor de codificación de audio de "caja negra". El V vector puede ser escalar o un vector cuantificado. Además, algunos o todos los vectores restantes en la matriz U pueden multiplicarse con los valores singulares correspondientes de la matriz S y de la matriz V y también codificarse utilizando un motor de codificación de audio de "caja negra". Estos comprenderán los componentes "de fondo" del campo sonoro.
[0655] Puesto que los componentes auditivos más ruidosos se descomponen en los "componentes de primer plano", el dispositivo de codificación de audio 567 puede reducir el orden ambisónico de los componentes "de fondo" antes de utilizar un motor de codificación de audio de "caja negra" porque (se asume) que el fondo no contiene contenido localizable importante. El dispositivo de codificación de audio 567 puede reducir el orden de tal manera que conserve la energía total del campo sonoro de acuerdo con las técnicas descritas en el presente documento. Dependiendo del orden ambisónico de los componentes de primer plano, la unidad de codificación de audio 567 puede transmitir el o los vectores correspondientes, que pueden ser bastante grandes. Por ejemplo, una cuantización escalar simple de 16 bits de los vectores V dará como resultado una sobrecarga de aproximadamente 20 kbps para el 4° orden (25 coeficientes) y 40 kbps para el 6° orden (49 coeficientes) por componente de primer plano. Las técnicas descritas en esta divulgación pueden proporcionar un procedimiento para reducir esta sobrecarga del uno o más vectores V.
[0656] Para ilustración, se asume que el orden ambisónico de los elementos de primer plano y de los elementos de fondo es N. El dispositivo de codificación de audio 567 puede reducir el orden ambisónico de los elementos de fondo del uno o más vectores V de N a rj de tal forma que rj <N. El dispositivo de codificación de audio 67 aplica además una compensación para aumentar los valores de los elementos de fondo del uno o más vectores V para conservar la energía total del campo sonoro descrito por los SHC. Se han descrito anteriormente técnicas de aplicación de la compensación con respecto a la FIG. 40F. En el lado del receptor, la unidad de descodificación de audio 569 puede reconstruir los canales de audio de fondo para el orden ambisónico.
[0657] Las FIG. 49D(i) y 49D(ii) ilustran un dispositivo de codificación de audio 567D y un dispositivo de descodificación de audio 569D respectivamente. El dispositivo de codificación de audio 567D y el dispositivo de descodificación de audio 569D pueden estar configurados para llevar a cabo una o más determinaciones de distinción basadas en la direccionalidad, de acuerdo con aspectos de esta divulgación. El ambisónico de orden superior (HOA) es un procedimiento para describir toda la información direccional de un campo sonoro basado en la transformada espacial de Fourier. Cuanto mayor es el orden ambisónico N, mayor es la resolución espacial, cuanto mayor es el número de coeficientes armónicos esféricos (SH) (N+1)A2, mayor será el ancho de banda necesario para transmitir y almacenar los datos. Debido a que los requisitos de ancho de banda de HOA son bastante altos, para muchas aplicaciones se desea una reducción de ancho de banda.
[0658] Las descripciones anteriores han descrito cómo la SVD (descomposición en valores singulares) o procesos relacionados pueden ser utilizados para la compresión de audio espacial. Las técnicas descritas en el presente documento presentan un algoritmo mejorado para seleccionar los elementos relevantes también conocidos como los elementos de primer plano. Después de una descomposición basada en SVD de una trama de audio de HOA en sus matrices U, S y V, las técnicas basan la selección de los K elementos relevantes exclusivamente en los primeros K canales de la matriz U [U(:,1 :K)*S(1 :K,1 :K)]. Esto da como resultado la selección de los elementos de audio con mayor energía. Sin embargo, no está garantizado que estos elementos sean también direccionales. Por lo tanto, las técnicas se dirigen a encontrar los elementos sonoros que tienen alta energía y también son direccionales. Esto se logra potencialmente ponderando la matriz V con la matriz S. A continuación, para cada fila de esta matriz resultante, los elementos indexados superiores (que están asociados con los coeficientes HOA de orden más alto) se elevan al cuadrado y se suman, dando como resultado un valor por fila [sumVS en el pseudocódigo descrito con respecto a la FIG. 40H]. De acuerdo con el flujo de trabajo representado en el pseudocódigo, se consideran los coeficientes ambisónicos de orden superior que comienzan en el 5° índice. Estos valores se clasifican según su tamaño y el índice de clasificación se utiliza para reordenar la matriz U, S y V original en consecuencia. El algoritmo de compresión basado en SVD descrito anteriormente en esta divulgación puede entonces aplicarse sin modificación adicional.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0659] Las FIG. 49E(i) y 49E(ii) son diagramas de bloques que ilustran un dispositivo de codificación de audio 571E y un dispositivo de descodificación de audio 573E respectivamente. El dispositivo de codificación de audio 571E y el dispositivo de descodificación de audio 573E pueden realizar diversos aspectos de las técnicas descritas anteriormente con respecto a los ejemplos de las FIG. 49-49D(ii), excepto que el dispositivo de codificación de audio 571E puede realizar la descomposición en valores singulares con respecto a una matriz de densidad espectral de potencia (PDS) de los coeficientes HOA para generar una matriz S2 y una matriz V. La matriz S2 puede representar una matriz S al cuadrado, con lo que la matriz S2 puede experimentar una operación de raíz cuadrada para obtener la matriz S. El dispositivo de codificación de audio 571E, en algunos casos, puede realizar la cuantización con respecto a la matriz V para obtener una matriz V cuantizada (que puede estar designada como matriz V').
[0660] El dispositivo de codificación de audio 571E puede obtener la matriz U multiplicando primero la matriz S por la matriz cuantizada V' para generar una matriz SV'. El dispositivo de codificación de audio 571E puede obtener a continuación la pseudoinvertida (pinv) de la matriz SV' y luego multiplicar los coeficientes HOA 11 por la pseudoinvertida de la matriz SV' para obtener la matriz U. Mediante la realización de SVD con respecto a la densidad espectral de potencia de los coeficientes HOA en lugar de los coeficientes en sí, el dispositivo de codificación de audio 571E puede reducir potencialmente la complejidad computacional de realizar la SVD en términos de uno o más ciclos de procesador y espacio de almacenamiento, mientras que se consigue la misma eficacia en la codificación de la fuente de audio como si la SVD se aplicara directamente a los coeficientes HOA.
[0661] El dispositivo de descodificación de audio 573E puede ser similar a los dispositivos de descodificación de audio descritos anteriormente, excepto que el dispositivo de descodificación de audio 573 puede reconstruir los coeficientes HOA de las descomposiciones de los coeficientes HOA obtenidos mediante la aplicación de la SVD a la densidad espectral de potencia de los coeficientes HOA en lugar de los coeficientes HOA directamente.
[0662] Las FIG. 50A y 50B son diagramas de bloques que ilustran cada uno de dos enfoques diferentes para reducir potencialmente el orden del contenido de fondo de acuerdo con las técnicas descritas en esta divulgación. Como se ilustra en el ejemplo de la FIG. 50, el primer enfoque puede emplear la reducción de orden con respecto a los vectores Ubg * Sbg * VT para reducir el orden de N a q, donde q es menor que (<) N. Es decir, la unidad de reducción de órdenes 528A mostrada en los ejemplos de la FIG. 40B-40J puede realizar una reducción de orden para truncar o reducir de otro modo el orden N de los vectores Ubg * Sbg * VT a q, donde q es menor que (<) N.
[0663] Como un enfoque alternativo, la unidad de reducción de órdenes 528A, como se muestra en el ejemplo de la FIG. 50B, puede realizar este truncamiento con respecto a VT eliminando las filas que serán (q +1)2, lo cual no se ilustra en el ejemplo de la FIG. 40B para facilitar la ilustración. En otras palabras, la unidad de reducción de órdenes 528A puede eliminar uno o más órdenes de la matriz VT para generar eficazmente una matriz Vbg. El tamaño de esta matriz Vbg es (q+1)2 x (N+1)2 - D, donde esta matriz Vbg se usa entonces en lugar de la matriz VT al generar los vectores Ubg * Sbg * VT, realizando eficazmente el truncamiento para generar los vectores Ubg * Sbg * VT del tamaño M x (q + 1)2.
[0664] La FIG. 51 es un diagrama de bloques que ilustra ejemplos de una trayectoria de compresión de componente distinta de un dispositivo de codificación de audio 700a que puede implementar diversos aspectos de las técnicas descritas en esta divulgación para comprimir coeficientes armónicos esféricos 701. En el ejemplo de la FIG. 51, la trayectoria de compresión de componente distinta puede referirse a una trayectoria de procesamiento del dispositivo de codificación de audio 700A que comprime los distintos componentes del campo sonoro representados por SHC 701. Otra trayectoria, que puede denominarse trayectoria de compresión de componente de fondo, puede representar una trayectoria de procesamiento del dispositivo de codificación de audio 700A que comprime los componentes de fondo de los SHC 701.
[0665] Aunque no se muestra para facilitar la ilustración, la trayectoria de compresión del componente de fondo puede operar con respecto a los SHC 701 directamente en lugar de las descomposiciones de los SHC 701. Es similar a lo descrito anteriormente con respecto a las FIG. 49-49C, excepto que en lugar de recomponer los componentes de fondo de las matrices UBG, SBG y VBG y luego realizar alguna forma de codificación psicoacústica (por ejemplo, usando un codificador AAC) de estos componentes de fondo recompuestos, la trayectoria de procesamiento de componente de fondo puede funcionar con respecto al SHC 701 directamente (como se ha descrito anteriormente con respecto al dispositivo de codificación de audio 20 mostrado en el ejemplo de la FIG. 4), comprimiendo estos componentes de fondo utilizando el codificador psicoacústico. Mediante la realización de la codificación psicoacústica con respecto a los SHC 701 directamente, las discontinuidades pueden reducirse al mismo tiempo que se reduce la complejidad computacional (en términos de operaciones requeridas para comprimir los componentes de fondo) en comparación con la realización de la codificación psicoacústica con respecto a los componentes de fondo recompuestos. Aunque se hace referencia en términos de un fondo distinto y de fondo, el término "prominente" puede usarse en lugar de "distinto" y el término "ambiente" puede usarse en lugar de "fondo" en esta divulgación.
[0666] En cualquier caso, los coeficientes armónicos esféricos 701 ("SHC 701") pueden comprender una matriz de coeficientes que tienen un tamaño de M x (N+1)2, donde M representa el número de muestras (y es, en algunos ejemplos, 1024) en una trama de audio y N representa el orden más alto de la función de base a la que
5
10
15
20
25
30
35
40
45
50
55
60
65
corresponden los coeficientes. Como se ha indicado anteriormente, N se fija comúnmente a cuatro (4) para un total de 1024x25 coeficientes. Cada uno de los SHC 701 correspondientes a una combinación de suborden, de orden particular, puede denominarse canal. Por ejemplo, todos los M coeficientes de muestra correspondientes a una función básica de primer orden, de sub-orden cero orden pueden representar un canal, mientras que los coeficientes correspondientes a la función de orden cero, sub-orden cero pueden representar otro canal, etc. Los SHC 701 también se pueden denominar en esta divulgación como contenido ambisónico de orden superior (HOA) 701 o como una señal de SH 701.
[0667] Como se ilustra en el ejemplo de la FIG. 51, el dispositivo de codificación de audio 700A incluye una unidad de análisis 702, una unidad de síntesis basada en vectores 704, una unidad de reducción de vectores 706, una unidad de codificación psicoacústica 708, una unidad de reducción de coeficientes 710 y una unidad de compresión 712 ("unidad compr. 712"). La unidad de análisis 702 puede representar una unidad configurada para realizar un análisis con respecto a los SHC 701 para identificar componentes distintos del campo sonoro (D) 703 y un número total de componentes de fondo (BGtot) 705. En comparación con los dispositivos de codificación de audio descritos anteriormente, el dispositivo de codificación de audio 700A no realiza esta determinación con respecto a las descomposiciones de los SHC 701, sino directamente con respecto a los SHC 701.
[0668] La unidad de síntesis basada en vectores 704 representa una unidad configurada para realizar alguna forma de síntesis basada en vectores con respecto a los SHC 701, tal como SVD, KLT, PCA o cualquier otra síntesis basada en vectores, para generar, en los casos de SVD, una matriz [US] 707 que tiene un tamaño de M x (N+1)2 y una matriz [V] 709 que tiene un tamaño de (N+1)2 x (N+1)2. La matriz [US] 707 puede representar una matriz resultante de una multiplicación matricial de la matriz [U] y de la matriz [S] generadas mediante la aplicación de SVD a los SHC 701.
[0669] La unidad de reducción de vectores 706 puede representar una unidad configurada para reducir el número de vectores de la matriz [US] 707 y la matriz [V] 709 de tal forma que cada uno de los vectores restantes de la matriz [US] 707 y de la matriz [V] 709 identifiquen un componente distinto o prominente del campo sonoro. La unidad de reducción de vectores 706 puede realizar esta reducción en base al número de componentes D distintos 703. El número de componentes distintos D 703 puede, en efecto, representar una matriz de números, donde cada número identifica diferentes vectores distintos de las matrices 707 y 709. La unidad de reducción de vectores 706 puede producir una matriz [US] reducida 711 de tamaño M x D y una matriz [V] reducida 713 de tamaño (N+1)2 x D.
[0670] Aunque no se muestra para facilitar la ilustración, la interpolación de la matriz [V] 709 puede ocurrir antes de la reducción de la matriz [V] 709 de manera similar a la descrita con más detalle anteriormente. Además, aunque no se muestra con fines fáciles de ilustración, reordenación de la matriz [US] reducida 711 y/o la matriz [V] reducida 712 de la manera descrita con más detalle anteriormente. Por consiguiente, las técnicas no deben estar limitadas en estos y otros aspectos (tales como proyección de errores o cualquier otro aspecto de las técnicas anteriores descritas anteriormente, pero no mostradas en el ejemplo de la FIG. 51).
[0671] La unidad de codificación psicoacústica 708 representa una unidad configurada para realizar la codificación psicoacústica con respecto a la matriz [US] 711 para generar un flujo de bits 715. La unidad de reducción de coeficientes 710 puede representar una unidad configurada para reducir el número de canales de la matriz [V] reducida 713. En otras palabras, la unidad de reducción de coeficientes 710 puede representar una unidad configurada para eliminar aquellos coeficientes de los vectores V distintos (que forman la matriz [V] reducida 713) que tienen poca o ninguna información direccional. Como se ha descrito anteriormente, en algunos ejemplos, los coeficientes de los distintos vectores V que corresponden a funciones de base de primer orden y de orden cero (representados como Nbg anteriores) proporcionan poca información direccional y por lo tanto pueden ser eliminados de los distintos vectores V (a través de lo que se conoce como "reducción de orden" anteriormente). En este ejemplo, se puede proporcionar una mayor flexibilidad para identificar no solo estos coeficientes que corresponden a NBG sino para identificar canales HOA adicionales (que pueden indicarse con la variable TotalOfAddAmbHOAChan) a partir del conjunto de [(NBG+1)2+1, (N+1)2]. La unidad de análisis 702 puede analizar los SHC 701 para determinar BGTOT, que puede identificar no solo el (NBG +1)2, sino el TotalOfAddAmbHOAChan. La unidad de reducción de coeficientes 710 puede entonces eliminar aquellos coeficientes correspondientes a (Nbg+1)2 y el TotalOfAddAmbHOAChan de la matriz [V] reducida 713 para generar una matriz [V] pequeña 717 de tamaño ((N+1)2 - (BGtot) x D.
[0672] La unidad de compresión 712 puede entonces realizar la codificación escalar escalar y/o la codificación Huffman indicada anteriormente para comprimir la matriz [V] pequeña 717, que emite la matriz [V] pequeña comprimida 717 como información de canal lateral 719 ("información de canal lateral 719"). La unidad de compresión 712 puede emitir la información de canal lateral 719 de una manera similar a la que se muestra en el ejemplo de las FIG. 10-10O(ii). En algunos ejemplos, una unidad de generación de flujo de bits similar a las descritos anteriormente puede incorporar la información de canal lateral 719 en el flujo de bits 715. Además, aunque se denomina flujo de bits 715, el dispositivo de codificación de audio 700A puede, como se ha indicado anteriormente, incluir una trayectoria de procesamiento de componentes de fondo que da como resultado otro flujo de bits, donde una unidad de generación de flujo de bits similar a las descritas anteriormente puede generar un flujo de bits similar al flujo de bits 17 descrito anteriormente que incluye el flujo de bits 715 y el flujo de bits transmitido por la trayectoria de procesamiento del componentes de fondo.
5
10
15
20
25
30
35
40
45
50
[0673] De acuerdo con las técnicas descritas en esta divulgación, la unidad de análisis 702 puede configurarse para determinar un primer conjunto distinto de cero de coeficientes de un vector, es decir, los vectores de la matriz [V] reducida 713 en este ejemplo, que se utilizarán para representar el componente distinto del campo sonoro. En algunos ejemplos, la unidad de análisis 702 puede determinar que todos los coeficientes de cada vector que forma la matriz [V] reducida 713 deben incluirse en la información de canal lateral 719. La unidad de análisis 702 puede por lo tanto ajustar BGTOT igual a cero.
[0674] Por lo tanto, el dispositivo de codificación de audio 700A puede actuar eficazmente de una manera recíproca a la descrita anteriormente con respecto a la Tabla indicada como "Vectores descodificados". Además, el dispositivo de codificación de audio 700A puede especificar un elemento de sintaxis en un encabezamiento de una unidad de acceso (que puede incluir uno o más tramas) de la que la pluralidad de modos de configuración se seleccionó. Aunque se describe que se especifica en una base de unidad de acceso, la unidad de análisis 702 puede especificar este elemento sintáctico sobre una base por trama o cualquier otra base periódica o no periódica (como una vez para el flujo de bits completo). En cualquier caso, este elemento de sintaxis puede comprender dos bits que indican cuál de los cuatro modos de configuración fueron seleccionados para especificar el conjunto de coeficientes diferente de cero de la matriz [V] reducida 713 para representar los aspectos direccionales de este componente distinto. El elemento de sintaxis se puede indicar como "codedVVecLength". De esta manera, el dispositivo de codificación de audio 700A puede señalar o especificar de otro modo en el flujo de bits cuál de los cuatro modos de configuración se usó para especificar la matriz [V] pequeña 717 en el flujo de bits. Aunque se describen con respecto a cuatro modos de configuración, las técnicas no deben limitarse a cuatro modos de configuración, sino a cualquier número de modos de configuración, incluido un único modo de configuración o una pluralidad de modos de configuración.
[0675] Las FIG. 52 es un diagrama de bloques que ilustra otro ejemplo de un dispositivo de descodificación 750A de audio que puede implementar diversos aspectos de las técnicas descritas en esta divulgación para reconstruir o casi reconstruir los SHC 701. En el ejemplo de la FIG. 52, el dispositivo de descodificación de audio 750A es similar al dispositivo de descodificación de audio 540D mostrado en el ejemplo de la FIG. 41D, excepto que la unidad de extracción 542 recibe el flujo de bits 715' (que es similar al flujo de bits 715 descrito anteriormente con respecto al ejemplo de la FIG. 51, excepto que el flujo de bits 715' incluye también la versión codificada de audio de SHCbg 752) y la información de canal lateral 719. Por esta razón, la unidad de extracción se denomina "unidad de extracción 542'".
[0676] Además, la unidad de extracción 542' difiere de la unidad de extracción 542 en que la unidad de extracción 542' incluye una forma modificada de la unidad de descompresión V 555 (que se muestra como "unidad de descompresión V 555'' en el ejemplo de la FIG. 52). la unidad de descompresión V 555' recibe la información de canal lateral 719 y el elemento de sintaxis representado codedVVecLength 754. La unidad de extracción 542' analiza la codedVVecLength 754 del flujo de bits 715' (y, en un ejemplo, del encabezado de la unidad de acceso incluido dentro del flujo de bits 715'). La unidad de descompresión V 555' incluye una unidad de configuración de modo 756 ("unidad de config de modo 756") y una unidad de análisis sintáctico 758 configurable para funcionar de acuerdo con uno cualquiera de los modos de configuración descritos anteriormente 760.
[0677] La unidad de configuración de modo 756 recibe el elemento de sintaxis 754 y selecciona uno de los modos de configuración 760. La unidad de configuración de modo 756 configura entonces la unidad de análisis sintáctico 758 con el modo seleccionado de los modos de configuración 760. La unidad de análisis sintáctico 758 representa una unidad configurada para operar de acuerdo con uno cualquiera de los modos de configuración 760 para analizar una forma comprimida de los vectores [V] pequeños 717 a partir de la información de canal lateral 719. La unidad de análisis sintáctico 758 puede funcionar de acuerdo con la declaración de conmutación presentada en la siguiente Tabla.
____________________________Tabla - Vectores descodificados____________________________
Sintaxis_________________________________________________________N.° de bits Mnemónica
decodeVVec(i)
{
switch codedVVecLength { caso 0: //Vector completo VVecLength = NumOfHoaCoeffs; para (m=0; m< VVecLength; ++m){ VecCoeff[m] = m+1; } break;
caso 1: //se eliminan los órdenes inferiores VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA;
para (m=0; m< VVecLength; ++m){
VecCoeff[m] = m + MinNumOfCoeffsForAmbHOA +
}
break; caso 2:
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA - NumOfAddAmbHoaChan; n = 0;
para (m=0;m<NumOfHoaCoeffs- MinNumOfCoeffsForAmbHOA; ++m){
c = m + MinNumOfCoeffsForAmbHOA + 1; if ( ismember(o, AmbCoeffldx) == 0){
VecCoeff[n] = c; n++;
}
}
break; caso 3:
VVecLength = NumOfHoaCoeffs - NumOfAddAmbHoaChan; n = 0;
para (m=0; m<NumOfHoaCoeffs; ++m){ c = m + 1;
if ( ismember(c, AmbCoeffldx) == 0){
VecCoeff[n] = c; n++;
}
}
}
if (NbitsQ[i] == 5) { /* cuantizador uniforme */ para (m=0; m< VVecLength; ++m){
VVec(k)[i][m] = (VecValue /128.0) - 1.0; 8 uimsbf
}
}
else { /* descodificación Huffman */ para (m=0; m< VVecLength; ++m){
Idx = 5;
If (CbFlag[i] == 1){
idx = (min(3, max(l, ceil(sqrt(VecCoeff[m]) - 1)));
}
else if (PFlag[i] == 1) {idx = 4;}
cid =
dinámica huffDe
huffDecoate(huffmannTable[NbitsQ].codebook[idx]; huffVal);
code
if (cid>0) {
aVal = sgn = (sgnVal * 2) - 1;
1 bslbf
if (cid > 1) {
aVal = sgn * (2.0"(cid -1 ) + intAddVal);
cid-1 uimsbf
}
} else {aVal = 0.0;}
}
}
i_________________________________________________________
NOTA:
- La función del codificador para el cuantificador uniforme es min(255, round((x + 1.0) * 128.0))
- El n.° de bits para huffDecode nemónico es dinámico________________________________
[0678] En la tabla de sintaxis anterior, la primera instrucción de conmutación con los cuatro casos (caso 0-3) proporciona una forma mediante la cual se determinan las longitudes de cada vector de la matriz [V] pequeña 717 en términos del número de coeficientes. El primer caso, caso 0, indica que se especifican todos los coeficientes para los 5 vectores VTDIsT. El segundo caso, caso 1, indica que sólo se especifican los coeficientes del vector VTDIsT que corresponden a un orden mayor que un MinNumOfCoeffsForAmbHOA, lo que puede indicar lo que se denomina (Ndist + 1) - (Nbg + 1) anteriormente. El tercer caso, caso 2, es similar al segundo caso, pero resta aún más los coeficientes identificados por NumOfAddAmbHoaChan, que indica una variable para especificar canales adicionales (donde "canales" se refiere a un coeficiente particular que corresponde a un cierto orden, combinación de suborden) 10 correspondiente a un orden que excede el orden Nbg. El cuarto caso, caso 3, indica que únicamente se especifican aquellos coeficientes del vector VTdist que quedan después de eliminar los coeficientes identificados por NumOfAddAmbHoaChan.
5
10
15
20
25
30
35
40
45
50
55
60
65
[0679] A este respecto, el dispositivo de descodificación de audio 750A puede funcionar de acuerdo con las técnicas descritas en esta divulgación para determinar un primer conjunto distinto de cero de coeficientes de un vector que representan un componente distinto del campo sonoro, habiéndose descompuesto el vector de una pluralidad de coeficientes armónicos esféricos que describen un campo sonoro.
[0680] Además, el dispositivo de descodificación de audio 750A puede estar configurado para operar de acuerdo con las técnicas descritas en esta divulgación para determinar uno de una pluralidad de modos de configuración mediante los cuales se extrae un conjunto distinto de cero de coeficientes de un vector de acuerdo con una de una pluralidad de modos de configuración, habiéndose descompuesto el vector de una pluralidad de coeficientes armónicos esféricos que describen un campo sonoro y representando un componente distinto del campo sonoro, y extraer el conjunto distinto de cero de los coeficientes del vector basado en el obtenido de la pluralidad de modos de configuración.
[0681] En uno o más ejemplos, las funciones descritas pueden implementarse en hardware, software, firmware o cualquier combinación de estos. Si se implementan en software, las funciones pueden almacenarse en un medio legible por ordenador, o transmitirse a este, como una o más instrucciones o código, y ejecutarse mediante una unidad de procesamiento basada en hardware. Los medios legibles por ordenador pueden incluir medios de almacenamiento legibles por ordenador, que corresponden a un medio tangible tal como unos medios de almacenamiento de datos, o medios de comunicación que incluyen cualquier medio que facilite la transferencia de un programa informático de un lugar a otro, por ejemplo, de acuerdo con un protocolo de comunicación. De esta manera, los medios legibles por ordenador pueden corresponder, en general, a (1) unos medios de almacenamiento tangibles y legibles por ordenador que sean no transitorios o (2) un medio de comunicación tal como una señal u onda portadora. Los medios de almacenamiento de datos pueden ser cualquier medio disponible al que se puede acceder desde uno o más ordenadores o uno o más procesadores para recuperar instrucciones, código y/o estructuras de datos para implementar las técnicas descritas en la presente divulgación. Un producto de programa informático puede incluir un medio legible por ordenador.
[0682] A modo de ejemplo, y no de manera limitativa, dichos medios de almacenamiento legibles por ordenador pueden comprender RAM, ROM, EEPROM, CD-ROM u otro almacenamiento de disco óptico, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, memoria flash o cualquier otro medio que pueda utilizarse para almacenar código de programa deseado en forma de instrucciones o estructuras de datos y al que pueda accederse mediante un ordenador. Además, cualquier conexión puede denominarse de forma correcta con el término medio legible por ordenador. Por ejemplo, si las instrucciones se transmiten desde un sitio web, un servidor u otra fuente remota mediante un cable coaxial, un cable de fibra óptica, un par trenzado, una línea de abonado digital (DSL) o tecnologías inalámbricas tales como infrarrojos, radio y microondas, entonces el cable coaxial, el cable de fibra óptica, el par trenzado, la DSL o las tecnologías inalámbricas tales como infrarrojos, radio y microondas se incluyen en la definición de medio. Sin embargo, debería entenderse que los medios de almacenamiento legibles por ordenador y los medios de almacenamiento de datos no incluyen conexiones, ondas portadoras, señales u otros medios transitorios, sino que, en cambio, se orientan a medios de almacenamiento tangibles no transitorios. Los discos, como se usan en el presente documento, incluyen el disco compacto (CD), el disco de láser, el disco óptico, el disco versátil digital (DVD), el disco flexible y el disco Blu-ray, donde algunos discos normalmente reproducen datos de manera magnética, mientras que otros discos reproducen los datos de manera óptica con láser. Las combinaciones de lo anterior también deberían incluirse dentro del alcance de los medios legibles por ordenador.
[0683] Las instrucciones pueden ser ejecutadas por uno o más procesadores, tales como uno o más procesadores de señales digitales (DSP), microprocesadores de propósito general, circuitos integrados específicos de la aplicación (ASIC), matrices lógicas programables in situ (FPGA) u otros circuitos lógicos integrados o discretos equivalentes. Por consiguiente, el término «procesador», como se utiliza en el presente documento, puede referirse a cualquier estructura anterior o a cualquier otra estructura adecuada para la implementación de las técnicas descritas en el presente documento. Además, en algunos aspectos, la funcionalidad descrita en el presente documento puede proporcionarse dentro de módulos de hardware y/o software específicos configurados para la codificación y la descodificación, o incorporarse en un códec combinado. Además, las técnicas podrían implementarse completamente en uno o más circuitos o elementos lógicos.
[0684] Las técnicas de la presente divulgación se pueden implementar en una amplia variedad de dispositivos o aparatos, que incluyen un teléfono inalámbrico, un circuito integrado (IC) o un conjunto de IC (por ejemplo, un conjunto de chips). En la presente divulgación se describen varios componentes, módulos o unidades para enfatizar aspectos funcionales de dispositivos configurados para realizar las técnicas divulgadas, pero no requieren necesariamente su realización mediante diferentes unidades de hardware. En su lugar, como se ha descrito anteriormente, diversas unidades pueden combinarse en una unidad de hardware de códec o proporcionarse por medio de un grupo de unidades de hardware interoperativas, que incluyen uno o más procesadores como los descritos anteriormente, conjuntamente con software y/o firmware adecuado.
[0685] Se han descrito diversas realizaciones de las técnicas. Éste y otros aspectos de las técnicas están dentro del alcance de las reivindicaciones siguientes.

Claims (15)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    60
    65
    REIVINDICACIONES
    1. Un procedimiento que comprende:
    obtener un primer conjunto distinto de cero de coeficientes de un vector (717) representativo de un componente de primer plano de un campo sonoro, habiéndose descompuesto linealmente el vector a partir de una pluralidad de coeficientes armónicos esféricos que describen el campo sonoro;
    obtener uno de una pluralidad de modos de configuración (760) mediante el cual extraer el conjunto distinto de cero de coeficientes del vector de acuerdo con el uno de la pluralidad de modos de configuración, en el que el uno de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye aquellos coeficientes que corresponden a un orden mayor que un orden de una función de base a la que uno o varios de la pluralidad de coeficientes armónicos esféricos corresponden y excluye al menos uno de los coeficientes que corresponden a un orden mayor que el orden de la función de base a la que el uno o varios de la pluralidad de coeficientes armónicos esféricos corresponde; y
    extraer el conjunto distinto de cero de los coeficientes del vector (717) basándose en el un modo obtenido de la pluralidad de modos de configuración.
  2. 2. El procedimiento de la reivindicación 1, que comprende además extraer el primer conjunto distinto de cero de los coeficientes como una primera parte del vector.
  3. 3. El procedimiento de la reivindicación 1, que comprende además:
    extraer el primer conjunto distinto de cero del vector (717) a partir de información de canal lateral; y obtener una versión recompuesta de la pluralidad de coeficientes armónicos esféricos basándose en el primer conjunto distinto de cero de los coeficientes del vector (717).
  4. 4. El procedimiento de la reivindicación 1, en el que el vector (717) comprende un vector descompuesto linealmente a partir de la pluralidad de coeficientes armónicos esféricos usando una descomposición lineal.
  5. 5. El procedimiento de la reivindicación 1, en el que obtener el uno de la pluralidad de modos de configuración (760) comprende obtener el uno de la pluralidad de modos de configuración basándose en un valor señalado en un flujo de bits.
  6. 6. Un dispositivo que comprende:
    uno o varios procesadores configurados para:
    obtener un primer conjunto distinto de cero de coeficientes de un vector (717) representativo de un componente de primer plano de un campo sonoro, habiéndose descompuesto linealmente el vector a partir de una pluralidad de coeficientes armónicos esféricos que describen el campo sonoro;
    obtener uno de una pluralidad de modos de configuración (760) mediante el cual extraer el conjunto distinto del cero de coeficientes del vector de acuerdo con el uno de la pluralidad de modos de configuración, en el que el uno de la pluralidad de modos de configuración indica que el conjunto distinto de cero de los coeficientes incluye aquellos coeficientes que corresponden a un orden mayor que un orden de una función de base a la que uno o varios de la pluralidad de coeficientes armónicos esféricos corresponden y excluye al menos uno de los coeficientes que corresponden a un orden mayor que el orden de la función de base a la que el uno o varios de la pluralidad de coeficientes armónicos esféricos corresponde ; y
    extraer el conjunto distinto de cero de los coeficientes del vector (717) basándose en el un modo obtenido de la pluralidad de modos de configuración.
  7. 7. El dispositivo de la reivindicación 6, en el que el uno o varios procesadores están configurados además para extraer el primer conjunto distinto de cero de los coeficientes como una primera parte del vector (717).
  8. 8. El dispositivo de la reivindicación 6, en el que el uno o varios procesadores están configurados además para extraer el primer conjunto distinto de cero del vector (717) a partir de información de canal lateral, y obtener una versión recompuesta de la pluralidad de coeficientes armónicos esféricos basados en el primer conjunto distinto de cero de los coeficientes del vector (717).
  9. 9. El dispositivo de la reivindicación 6, en el que el vector (717) comprende un vector descompuesto linealmente a partir de la pluralidad de coeficientes armónicos esféricos usando una descomposición lineal.
    10
    15
    20
  10. 10. El dispositivo de la reivindicación 9, en el que la descomposición lineal comprende una descomposición en valores singulares, descomposición del valor propio o el análisis de componentes principal.
  11. 11. El dispositivo de la reivindicación 6, en el que el uno o varios procesadores están configurados para determinar el uno de la pluralidad de modos de configuración (760) basándose en un valor señalado en un flujo de bits.
  12. 12. El dispositivo de la reivindicación 11, en el que el valor en base al cual el uno o varios procesadores están configurados para determinar el uno de la pluralidad de modos de configuración (760) se señala una vez en el flujo de bits.
  13. 13. El dispositivo de la reivindicación 11, en el que el valor en base al cual el uno o varios procesadores están configurados para determinar el uno de la pluralidad de modos de configuración (760) se señala en el flujo de bits sobre una base por trama o por unidad de acceso.
  14. 14. El dispositivo de cualquiera de las reivindicaciones 6 a 13, que comprende además uno o varios altavoces.
  15. 15. Un medio de almacenamiento legible por ordenador no transitorio que tiene almacenadas instrucciones que, al ejecutarse, hacen que uno o varios procesadores realicen un procedimiento de acuerdo con cualquiera de las reivindicaciones 1 a 5.
ES16183135.9T 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro Active ES2689566T3 (es)

Applications Claiming Priority (38)

Application Number Priority Date Filing Date Title
US201361828445P 2013-05-29 2013-05-29
US201361828615P 2013-05-29 2013-05-29
US201361828445P 2013-05-29
US201361828615P 2013-05-29
US201361829155P 2013-05-30 2013-05-30
US201361829174P 2013-05-30 2013-05-30
US201361829182P 2013-05-30 2013-05-30
US201361829155P 2013-05-30
US201361829174P 2013-05-30
US201361829182P 2013-05-30
US201361829846P 2013-05-31 2013-05-31
US201361829791P 2013-05-31 2013-05-31
US201361829791P 2013-05-31
US201361829846P 2013-05-31
US201361886605P 2013-10-03 2013-10-03
US201361886617P 2013-10-03 2013-10-03
US201361886617P 2013-10-03
US201361886605P 2013-10-03
US201361899034P 2013-11-01 2013-11-01
US201361899041P 2013-11-01 2013-11-01
US201361899041P 2013-11-01
US201361899034P 2013-11-01
US201461925126P 2014-01-08 2014-01-08
US201461925158P 2014-01-08 2014-01-08
US201461925074P 2014-01-08 2014-01-08
US201461925112P 2014-01-08 2014-01-08
US201461925112P 2014-01-08
US201461925126P 2014-01-08
US201461925158P 2014-01-08
US201461925074P 2014-01-08
US201461933721P 2014-01-30 2014-01-30
US201461933706P 2014-01-30 2014-01-30
US201461933721P 2014-01-30
US201461933706P 2014-01-30
US201462003515P 2014-05-27 2014-05-27
US201462003515P 2014-05-27
US14/289,551 US9502044B2 (en) 2013-05-29 2014-05-28 Compression of decomposed representations of a sound field
US201414289551 2014-05-28

Publications (1)

Publication Number Publication Date
ES2689566T3 true ES2689566T3 (es) 2018-11-14

Family

ID=51985123

Family Applications (4)

Application Number Title Priority Date Filing Date
ES16183135.9T Active ES2689566T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro
ES16183136T Active ES2764384T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro
ES14733873.5T Active ES2635327T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro
ES14736510.0T Active ES2641175T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES16183136T Active ES2764384T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro
ES14733873.5T Active ES2635327T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro
ES14736510.0T Active ES2641175T3 (es) 2013-05-29 2014-05-29 Compresión de las representaciones descompuestas de un campo sonoro

Country Status (20)

Country Link
US (15) US10499176B2 (es)
EP (8) EP3282448A3 (es)
JP (6) JP6449256B2 (es)
KR (11) KR101795900B1 (es)
CN (7) CN105580072B (es)
AU (1) AU2014274076B2 (es)
BR (1) BR112015030102B1 (es)
CA (1) CA2912810C (es)
ES (4) ES2689566T3 (es)
HK (1) HK1215752A1 (es)
HU (3) HUE039457T2 (es)
IL (1) IL242648B (es)
MY (1) MY174865A (es)
PH (1) PH12015502634B1 (es)
RU (1) RU2668059C2 (es)
SG (1) SG11201509462VA (es)
TW (2) TWI645723B (es)
UA (1) UA116140C2 (es)
WO (12) WO2014194115A1 (es)
ZA (1) ZA201509227B (es)

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2665208A1 (en) 2012-05-14 2013-11-20 Thomson Licensing Method and apparatus for compressing and decompressing a Higher Order Ambisonics signal representation
EP2743922A1 (en) 2012-12-12 2014-06-18 Thomson Licensing Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field
US9913064B2 (en) 2013-02-07 2018-03-06 Qualcomm Incorporated Mapping virtual speakers to physical speakers
US10178489B2 (en) 2013-02-08 2019-01-08 Qualcomm Incorporated Signaling audio rendering information in a bitstream
US9883310B2 (en) 2013-02-08 2018-01-30 Qualcomm Incorporated Obtaining symmetry information for higher order ambisonic audio renderers
US9609452B2 (en) 2013-02-08 2017-03-28 Qualcomm Incorporated Obtaining sparseness information for higher order ambisonic audio renderers
US10499176B2 (en) 2013-05-29 2019-12-03 Qualcomm Incorporated Identifying codebooks to use when coding spatial components of a sound field
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
WO2014195190A1 (en) * 2013-06-05 2014-12-11 Thomson Licensing Method for encoding audio signals, apparatus for encoding audio signals, method for decoding audio signals and apparatus for decoding audio signals
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US20150243292A1 (en) 2014-02-25 2015-08-27 Qualcomm Incorporated Order format signaling for higher-order ambisonic audio data
EP2922057A1 (en) * 2014-03-21 2015-09-23 Thomson Licensing Method for compressing a Higher Order Ambisonics (HOA) signal, method for decompressing a compressed HOA signal, apparatus for compressing a HOA signal, and apparatus for decompressing a compressed HOA signal
US10412522B2 (en) 2014-03-21 2019-09-10 Qualcomm Incorporated Inserting audio channels into descriptions of soundfields
US10134403B2 (en) 2014-05-16 2018-11-20 Qualcomm Incorporated Crossfading between higher order ambisonic signals
US9959876B2 (en) 2014-05-16 2018-05-01 Qualcomm Incorporated Closed loop quantization of higher order ambisonic coefficients
US20150332682A1 (en) 2014-05-16 2015-11-19 Qualcomm Incorporated Spatial relation coding for higher order ambisonic coefficients
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9847087B2 (en) 2014-05-16 2017-12-19 Qualcomm Incorporated Higher order ambisonics signal compression
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US20150347392A1 (en) * 2014-05-29 2015-12-03 International Business Machines Corporation Real-time filtering of massive time series sets for social media trends
KR101941764B1 (ko) 2014-05-30 2019-01-23 퀄컴 인코포레이티드 고차 앰비소닉 오디오 렌더러들에 대한 대칭성 정보의 획득
EP2960903A1 (en) * 2014-06-27 2015-12-30 Thomson Licensing Method and apparatus for determining for the compression of an HOA data frame representation a lowest integer number of bits required for representing non-differential gain values
US9838819B2 (en) 2014-07-02 2017-12-05 Qualcomm Incorporated Reducing correlation between higher order ambisonic (HOA) background channels
US9536531B2 (en) * 2014-08-01 2017-01-03 Qualcomm Incorporated Editing of higher-order ambisonic audio data
US9847088B2 (en) 2014-08-29 2017-12-19 Qualcomm Incorporated Intermediate compression for higher order ambisonic audio data
US20160093308A1 (en) 2014-09-26 2016-03-31 Qualcomm Incorporated Predictive vector quantization techniques in a higher order ambisonics (hoa) framework
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
US9875745B2 (en) 2014-10-07 2018-01-23 Qualcomm Incorporated Normalization of ambient higher order ambisonic audio data
US9984693B2 (en) 2014-10-10 2018-05-29 Qualcomm Incorporated Signaling channels for scalable coding of higher order ambisonic audio data
US10140996B2 (en) 2014-10-10 2018-11-27 Qualcomm Incorporated Signaling layers for scalable coding of higher order ambisonic audio data
US9940937B2 (en) 2014-10-10 2018-04-10 Qualcomm Incorporated Screen related adaptation of HOA content
CN106303897A (zh) 2015-06-01 2017-01-04 杜比实验室特许公司 处理基于对象的音频信号
CN113242448B (zh) * 2015-06-02 2023-07-14 索尼公司 发送装置和方法、媒体处理装置和方法以及接收装置
EP3739578A1 (en) 2015-07-30 2020-11-18 Dolby International AB Method and apparatus for generating from an hoa signal representation a mezzanine hoa signal representation
JP6501259B2 (ja) * 2015-08-04 2019-04-17 本田技研工業株式会社 音声処理装置及び音声処理方法
US10693936B2 (en) * 2015-08-25 2020-06-23 Qualcomm Incorporated Transporting coded audio data
US20170098452A1 (en) * 2015-10-02 2017-04-06 Dts, Inc. Method and system for audio processing of dialog, music, effect and height objects
US10249312B2 (en) * 2015-10-08 2019-04-02 Qualcomm Incorporated Quantization of spatial vectors
US9961475B2 (en) 2015-10-08 2018-05-01 Qualcomm Incorporated Conversion from object-based audio to HOA
US9961467B2 (en) 2015-10-08 2018-05-01 Qualcomm Incorporated Conversion from channel-based audio to HOA
CA3228657A1 (en) 2015-10-08 2017-04-13 Dolby International Ab Layered coding and data structure for compressed higher-order ambisonics sound or sound field representations
US10070094B2 (en) 2015-10-14 2018-09-04 Qualcomm Incorporated Screen related adaptation of higher order ambisonic (HOA) content
US9959880B2 (en) 2015-10-14 2018-05-01 Qualcomm Incorporated Coding higher-order ambisonic coefficients during multiple transitions
WO2017085140A1 (en) * 2015-11-17 2017-05-26 Dolby International Ab Method and apparatus for converting a channel-based 3d audio signal to an hoa audio signal
EP3174316B1 (en) * 2015-11-27 2020-02-26 Nokia Technologies Oy Intelligent audio rendering
EP3188504B1 (en) 2016-01-04 2020-07-29 Harman Becker Automotive Systems GmbH Multi-media reproduction for a multiplicity of recipients
WO2017119318A1 (ja) * 2016-01-08 2017-07-13 ソニー株式会社 音声処理装置および方法、並びにプログラム
MX2018005090A (es) 2016-03-15 2018-08-15 Fraunhofer Ges Forschung Aparato, metodo o programa de computadora para generar una descripcion de campo de sonido.
WO2018001500A1 (en) * 2016-06-30 2018-01-04 Huawei Technologies Duesseldorf Gmbh Apparatuses and methods for encoding and decoding a multichannel audio signal
KR102561371B1 (ko) * 2016-07-11 2023-08-01 삼성전자주식회사 디스플레이장치와, 기록매체
US11032663B2 (en) 2016-09-29 2021-06-08 The Trustees Of Princeton University System and method for virtual navigation of sound fields through interpolation of signals from an array of microphone assemblies
CN107945810B (zh) * 2016-10-13 2021-12-14 杭州米谟科技有限公司 用于编码和解码hoa或多声道数据的方法和装置
US20180107926A1 (en) * 2016-10-19 2018-04-19 Samsung Electronics Co., Ltd. Method and apparatus for neural network quantization
US11321609B2 (en) 2016-10-19 2022-05-03 Samsung Electronics Co., Ltd Method and apparatus for neural network quantization
CN109804645A (zh) * 2016-10-31 2019-05-24 谷歌有限责任公司 基于投影的音频代码化
CN108206021B (zh) * 2016-12-16 2020-12-18 南京青衿信息科技有限公司 一种后向兼容式三维声编码器、解码器及其编解码方法
WO2018139683A1 (ko) * 2017-01-24 2018-08-02 주식회사 알티스트 차량 상태 모니터링 시스템 및 방법
US10455321B2 (en) 2017-04-28 2019-10-22 Qualcomm Incorporated Microphone configurations
US9820073B1 (en) 2017-05-10 2017-11-14 Tls Corp. Extracting a common signal from multiple audio signals
US11277705B2 (en) 2017-05-15 2022-03-15 Dolby Laboratories Licensing Corporation Methods, systems and apparatus for conversion of spatial audio format(s) to speaker signals
US10390166B2 (en) * 2017-05-31 2019-08-20 Qualcomm Incorporated System and method for mixing and adjusting multi-input ambisonics
SG11202000285QA (en) * 2017-07-14 2020-02-27 Fraunhofer Ges Forschung Concept for generating an enhanced sound-field description or a modified sound field description using a multi-layer description
WO2019012135A1 (en) 2017-07-14 2019-01-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. CONCEPT FOR GENERATING AN ENHANCED AUDIO FIELD DESCRIPTION OR A MODIFIED SOUND FIELD DESCRIPTION USING DIRAC TECHNIQUE EXTENDED IN DEPTH OR OTHER TECHNIQUES
AR112451A1 (es) 2017-07-14 2019-10-30 Fraunhofer Ges Forschung Concepto para generar una descripción mejorada de campo de sonido o un campo de sonido modificado utilizando una descripción de campo de sonido multi-punto
US10075802B1 (en) 2017-08-08 2018-09-11 Qualcomm Incorporated Bitrate allocation for higher order ambisonic audio data
US10674301B2 (en) * 2017-08-25 2020-06-02 Google Llc Fast and memory efficient encoding of sound objects using spherical harmonic symmetries
US10764684B1 (en) 2017-09-29 2020-09-01 Katherine A. Franco Binaural audio using an arbitrarily shaped microphone array
US10986456B2 (en) * 2017-10-05 2021-04-20 Qualcomm Incorporated Spatial relation coding using virtual higher order ambisonic coefficients
RU2020111480A (ru) 2017-10-05 2021-09-20 Сони Корпорейшн Устройство и способ кодирования, устройство и способ декодирования и программа
FI3711047T3 (fi) 2017-11-17 2023-01-13 Laite ja menetelmä suunnattujen audiokoodausparametrien koodaamiseksi tai dekoodaamiseksi käyttäen eri aika/taajuusresoluutioita
US10595146B2 (en) 2017-12-21 2020-03-17 Verizon Patent And Licensing Inc. Methods and systems for extracting location-diffused ambient sound from a real-world scene
EP3506080B1 (en) * 2017-12-27 2023-06-07 Nokia Technologies Oy Audio scene processing
US11409923B1 (en) * 2018-01-22 2022-08-09 Ansys, Inc Systems and methods for generating reduced order models
FR3079706B1 (fr) * 2018-03-29 2021-06-04 Inst Mines Telecom Procede et systeme de diffusion d'un flux audio multicanal a des terminaux de spectateurs assistant a un evenement sportif
GB2572650A (en) * 2018-04-06 2019-10-09 Nokia Technologies Oy Spatial audio parameters and associated spatial audio playback
US10672405B2 (en) * 2018-05-07 2020-06-02 Google Llc Objective quality metrics for ambisonic spatial audio
CN108831494B (zh) * 2018-05-29 2022-07-19 平安科技(深圳)有限公司 语音增强方法、装置、计算机设备及存储介质
GB2574873A (en) * 2018-06-21 2019-12-25 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
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
EP4220639A1 (en) * 2018-10-26 2023-08-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Directional loudness map based audio processing
US20210407525A1 (en) * 2018-10-31 2021-12-30 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
GB2578625A (en) * 2018-11-01 2020-05-20 Nokia Technologies Oy Apparatus, methods and computer programs for encoding spatial metadata
KR20230112750A (ko) 2018-12-07 2023-07-27 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 방향 컴포넌트 보상을 사용하는 DirAC 기반 공간 오디오코딩과 관련된 인코딩, 디코딩, 장면 처리 및 기타 절차를 위한 장치, 방법 및 컴퓨터 프로그램
FR3090179B1 (fr) * 2018-12-14 2021-04-09 Fond B Com Procédé d’interpolation d’un champ sonore, produit programme d’ordinateur et dispositif correspondants.
CA3199318A1 (en) * 2018-12-19 2020-06-25 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for reproducing a spatially extended sound source or apparatus and method for generating a bitstream from a spatially extended sound source
KR102277952B1 (ko) * 2019-01-11 2021-07-19 브레인소프트주식회사 디제이 변환에 의한 주파수 추출 방법
EP3706119A1 (fr) * 2019-03-05 2020-09-09 Orange Codage audio spatialisé avec interpolation et quantification de rotations
GB2582748A (en) * 2019-03-27 2020-10-07 Nokia Technologies Oy Sound field related rendering
RU2722223C1 (ru) * 2019-04-16 2020-05-28 Вадим Иванович Филиппов Способ сжатия многомерных образов путем приближения элементов пространств Lp{ (0, 1]m} , p больше или равно 1 и меньше бесконечности, по системам сжатий и сдвигов одной функции рядами типа Фурье с целыми коэффциентами и целочисленное разложение элементов многомодулярных пространств
US20200402523A1 (en) * 2019-06-24 2020-12-24 Qualcomm Incorporated Psychoacoustic audio coding of ambisonic audio data
US11538489B2 (en) * 2019-06-24 2022-12-27 Qualcomm Incorporated Correlating scene-based audio data for psychoacoustic audio coding
GB2586214A (en) * 2019-07-31 2021-02-17 Nokia Technologies Oy Quantization of spatial audio direction parameters
JP7270836B2 (ja) * 2019-08-08 2023-05-10 ブームクラウド 360 インコーポレイテッド 音響心理学的周波数範囲拡張のための非線形適応フィルタバンク
WO2021041623A1 (en) * 2019-08-30 2021-03-04 Dolby Laboratories Licensing Corporation Channel identification of multi-channel audio signals
GB2587196A (en) * 2019-09-13 2021-03-24 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
US11430451B2 (en) * 2019-09-26 2022-08-30 Apple Inc. Layered coding of audio with discrete objects
CN110708647B (zh) * 2019-10-29 2020-12-25 扆亮海 一种球面分配引导的数据匹配立体声场重构方法
US11636866B2 (en) * 2020-03-24 2023-04-25 Qualcomm Incorporated Transform ambisonic coefficients using an adaptive network
CN113593585A (zh) * 2020-04-30 2021-11-02 华为技术有限公司 音频信号的比特分配方法和装置
GB2595871A (en) * 2020-06-09 2021-12-15 Nokia Technologies Oy The reduction of spatial audio parameters
FR3113993B1 (fr) * 2020-09-09 2023-02-24 Arkamys Procédé de spatialisation sonore
CN116391365A (zh) * 2020-09-25 2023-07-04 苹果公司 高阶环境立体声编码和解码
CN112327398B (zh) * 2020-11-20 2022-03-08 中国科学院上海光学精密机械研究所 一种矢量补偿体布拉格光栅角度偏转器的制备方法
US11743670B2 (en) 2020-12-18 2023-08-29 Qualcomm Incorporated Correlation-based rendering with multiple distributed streams accounting for an occlusion for six degree of freedom applications
US11521623B2 (en) 2021-01-11 2022-12-06 Bank Of America Corporation System and method for single-speaker identification in a multi-speaker environment on a low-frequency audio recording
CN113518299B (zh) * 2021-04-30 2022-06-03 电子科技大学 一种改进的源分量及环境分量提取方法、设备及计算机可读存储介质
CN113345448B (zh) * 2021-05-12 2022-08-05 北京大学 一种基于独立成分分析的hoa信号压缩方法
CN115376527A (zh) * 2021-05-17 2022-11-22 华为技术有限公司 三维音频信号编码方法、装置和编码器
CN113378063B (zh) * 2021-07-09 2023-07-28 小红书科技有限公司 一种基于滑动谱分解确定内容多样性的方法和内容排序方法
WO2023008831A1 (ko) * 2021-07-27 2023-02-02 브레인소프트 주식회사 해석적 방법에 기반한 디제이 변환 주파수 추출 방법
US20230051841A1 (en) * 2021-07-30 2023-02-16 Qualcomm Incorporated Xr rendering for 3d audio content and audio codec
CN113647978B (zh) * 2021-08-18 2023-11-21 重庆大学 一种带有截断因子的高鲁棒性符号相干系数超声成像方法

Family Cites Families (209)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1159034B (it) 1983-06-10 1987-02-25 Cselt Centro Studi Lab Telecom Sintetizzatore vocale
US4972344A (en) 1986-05-30 1990-11-20 Finial Technology, Inc. Dual beam optical turntable
US5012518A (en) 1989-07-26 1991-04-30 Itt Corporation Low-bit-rate speech coder using LPC data reduction processing
US5363050A (en) 1990-08-31 1994-11-08 Guo Wendy W Quantitative dielectric imaging system
ATE138238T1 (de) 1991-01-08 1996-06-15 Dolby Lab Licensing Corp Kodierer/dekodierer für mehrdimensionale schallfelder
US5757927A (en) * 1992-03-02 1998-05-26 Trifield Productions Ltd. Surround sound apparatus
JP2626492B2 (ja) 1993-09-13 1997-07-02 日本電気株式会社 ベクトル量子化装置
US5790759A (en) 1995-09-19 1998-08-04 Lucent Technologies Inc. Perceptual noise masking measure based on synthesis filter frequency response
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
JP3707116B2 (ja) 1995-10-26 2005-10-19 ソニー株式会社 音声復号化方法及び装置
US5956674A (en) 1995-12-01 1999-09-21 Digital Theater Systems, Inc. Multi-channel predictive subband audio coder using psychoacoustic adaptive bit allocation in frequency, time and over the multiple channels
JP3849210B2 (ja) 1996-09-24 2006-11-22 ヤマハ株式会社 音声符号化復号方式
US5821887A (en) 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6167375A (en) 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
US6072878A (en) 1997-09-24 2000-06-06 Sonic Solutions Multi-channel surround sound mastering and reproduction techniques that preserve spatial harmonics
US6263312B1 (en) 1997-10-03 2001-07-17 Alaris, Inc. Audio compression and decompression employing subband decomposition of residual signal and distortion reduction
JP3211762B2 (ja) 1997-12-12 2001-09-25 日本電気株式会社 音声及び音楽符号化方式
AUPP272698A0 (en) 1998-03-31 1998-04-23 Lake Dsp Pty Limited Soundfield playback from a single speaker system
EP1018840A3 (en) 1998-12-08 2005-12-21 Canon Kabushiki Kaisha Digital receiving apparatus and method
AU4072400A (en) 1999-04-05 2000-10-23 Hughes Electronics Corporation A voicing measure as an estimate of signal periodicity for frequency domain interpolative speech codec system
US6370502B1 (en) 1999-05-27 2002-04-09 America Online, Inc. Method and system for reduction of quantization-induced block-discontinuities and general purpose audio codec
US6782360B1 (en) 1999-09-22 2004-08-24 Mindspeed Technologies, Inc. Gain quantization for a CELP speech coder
US20020049586A1 (en) 2000-09-11 2002-04-25 Kousuke Nishio Audio encoder, audio decoder, and broadcasting system
JP2002094989A (ja) 2000-09-14 2002-03-29 Pioneer Electronic Corp ビデオ信号符号化装置及びビデオ信号符号化方法
US7660424B2 (en) 2001-02-07 2010-02-09 Dolby Laboratories Licensing Corporation Audio channel spatial translation
US20020169735A1 (en) * 2001-03-07 2002-11-14 David Kil Automatic mapping from data to preprocessing algorithms
GB2379147B (en) 2001-04-18 2003-10-22 Univ York Sound processing
US20030147539A1 (en) 2002-01-11 2003-08-07 Mh Acoustics, Llc, A Delaware Corporation Audio system based on at least second-order eigenbeams
US7031894B2 (en) * 2002-01-16 2006-04-18 Timbre Technologies, Inc. Generating a library of simulated-diffraction signals and hypothetical profiles of periodic gratings
US7262770B2 (en) 2002-03-21 2007-08-28 Microsoft Corporation Graphics image rendering with radiance self-transfer for low-frequency lighting environments
US20030223603A1 (en) * 2002-05-28 2003-12-04 Beckman Kenneth Oren Sound space replication
US8160269B2 (en) * 2003-08-27 2012-04-17 Sony Computer Entertainment Inc. Methods and apparatuses for adjusting a listening area for capturing sounds
DK1400954T3 (da) 2002-09-04 2008-03-31 Microsoft Corp Entropi-kodning ved tilpasning af kodning mellem niveau- og runlængde/niveau-moduser
FR2844894B1 (fr) * 2002-09-23 2004-12-17 Remy Henri Denis Bruno Procede et systeme de traitement d'une representation d'un champ acoustique
US7330812B2 (en) 2002-10-04 2008-02-12 National Research Council Of Canada Method and apparatus for transmitting an audio stream having additional payload in a hidden sub-channel
FR2847376B1 (fr) 2002-11-19 2005-02-04 France Telecom Procede de traitement de donnees sonores et dispositif d'acquisition sonore mettant en oeuvre ce procede
US6961696B2 (en) 2003-02-07 2005-11-01 Motorola, Inc. Class quantization for distributed speech recognition
FI115324B (fi) 2003-03-14 2005-04-15 Elekta Neuromag Oy Menetelmä ja järjestelmä monikanavaisen mittaussignaalin käsittelemiseksi
US7558393B2 (en) 2003-03-18 2009-07-07 Miller Iii Robert E System and method for compatible 2D/3D (full sphere with height) surround sound reproduction
US7920709B1 (en) * 2003-03-25 2011-04-05 Robert Hickling Vector sound-intensity probes operating in a half-space
JP2005086486A (ja) * 2003-09-09 2005-03-31 Alpine Electronics Inc オーディオ装置およびオーディオ処理方法
US7433815B2 (en) 2003-09-10 2008-10-07 Dilithium Networks Pty Ltd. Method and apparatus for voice transcoding between variable rate coders
US7447317B2 (en) 2003-10-02 2008-11-04 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V Compatible multi-channel coding/decoding by weighting the downmix channel
KR100556911B1 (ko) 2003-12-05 2006-03-03 엘지전자 주식회사 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조
KR100629997B1 (ko) 2004-02-26 2006-09-27 엘지전자 주식회사 오디오 신호의 인코딩 방법
US7283634B2 (en) 2004-08-31 2007-10-16 Dts, Inc. Method of mixing audio channels using correlated outputs
US7630902B2 (en) 2004-09-17 2009-12-08 Digital Rise Technology Co., Ltd. Apparatus and methods for digital audio coding using codebook application ranges
FR2880755A1 (fr) * 2005-01-10 2006-07-14 France Telecom Procede et dispositif d'individualisation de hrtfs par modelisation
KR100636229B1 (ko) 2005-01-14 2006-10-19 학교법인 성균관대학 신축형 부호화를 위한 적응적 엔트로피 부호화 및 복호화방법과 그 장치
JP5012504B2 (ja) 2005-03-30 2012-08-29 アイシン・エィ・ダブリュ株式会社 車両用ナビゲーションシステム
US7271747B2 (en) 2005-05-10 2007-09-18 Rice University Method and apparatus for distributed compressed sensing
EP1899960A2 (en) * 2005-05-26 2008-03-19 LG Electronics Inc. Method of encoding and decoding an audio signal
DE602005003342T2 (de) 2005-06-23 2008-09-11 Akg Acoustics Gmbh Methode zur Modellierung eines Mikrofons
US7599840B2 (en) * 2005-07-15 2009-10-06 Microsoft Corporation Selectively using multiple entropy models in adaptive coding and decoding
US8090587B2 (en) 2005-09-27 2012-01-03 Lg Electronics Inc. Method and apparatus for encoding/decoding multi-channel audio signal
US8510105B2 (en) 2005-10-21 2013-08-13 Nokia Corporation Compression and decompression of data vectors
EP1946612B1 (fr) 2005-10-27 2012-11-14 France Télécom Individualisation de hrtfs utilisant une modelisation par elements finis couplee a un modele correctif
US8190425B2 (en) 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
CN101385077B (zh) 2006-02-07 2012-04-11 Lg电子株式会社 用于编码/解码信号的装置和方法
ATE527833T1 (de) 2006-05-04 2011-10-15 Lg Electronics Inc Verbesserung von stereo-audiosignalen mittels neuabmischung
US8712061B2 (en) 2006-05-17 2014-04-29 Creative Technology Ltd Phase-amplitude 3-D stereo encoder and decoder
US8379868B2 (en) 2006-05-17 2013-02-19 Creative Technology Ltd Spatial audio coding based on universal spatial cues
US8345899B2 (en) 2006-05-17 2013-01-01 Creative Technology Ltd Phase-amplitude matrixed surround decoder
US20080004729A1 (en) 2006-06-30 2008-01-03 Nokia Corporation Direct encoding into a directional audio coding format
US7877253B2 (en) 2006-10-06 2011-01-25 Qualcomm Incorporated Systems, methods, and apparatus for frame erasure recovery
DE102006053919A1 (de) 2006-10-11 2008-04-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und Verfahren zum Erzeugen einer Anzahl von Lautsprechersignalen für ein Lautsprecher-Array, das einen Wiedergaberaum definiert
US7966175B2 (en) 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
MX2008012439A (es) 2006-11-24 2008-10-10 Lg Electronics Inc Metodo de codificacion y decodificacion de señal de audio basada en objetos y aparato para lo mismo.
WO2008069594A1 (en) * 2006-12-07 2008-06-12 Lg Electronics Inc. A method and an apparatus for processing an audio signal
US7663623B2 (en) 2006-12-18 2010-02-16 Microsoft Corporation Spherical harmonics scaling
JP2008227946A (ja) 2007-03-13 2008-09-25 Toshiba Corp 画像復号装置
US9015051B2 (en) 2007-03-21 2015-04-21 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Reconstruction of audio channels with direction parameters indicating direction of origin
US8908873B2 (en) 2007-03-21 2014-12-09 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
US8290167B2 (en) 2007-03-21 2012-10-16 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for conversion between multi-channel audio formats
JP5686594B2 (ja) 2007-04-12 2015-03-18 トムソン ライセンシングThomson Licensing スケーラブル・ビデオ符号化のためのビデオ・ユーザビリティ情報(vui)用の方法及び装置
US8180062B2 (en) 2007-05-30 2012-05-15 Nokia Corporation Spatial sound zooming
US20080298610A1 (en) * 2007-05-30 2008-12-04 Nokia Corporation Parameter Space Re-Panning for Spatial Audio
EP2278582B1 (en) * 2007-06-08 2016-08-10 LG Electronics Inc. A method and an apparatus for processing an audio signal
US7885819B2 (en) 2007-06-29 2011-02-08 Microsoft Corporation Bitstream syntax for multi-process audio decoding
US8612220B2 (en) 2007-07-03 2013-12-17 France Telecom Quantization after linear transformation combining the audio signals of a sound scene, and related coder
US8463615B2 (en) 2007-07-30 2013-06-11 Google Inc. Low-delay audio coder
ATE479182T1 (de) 2007-07-30 2010-09-15 Global Ip Solutions Gips Ab Audiodekoder mit geringer verzögerung
CN101842833B (zh) 2007-09-11 2012-07-18 沃伊斯亚吉公司 语音和音频编码中快速代数码本搜索的方法和设备
GB2467668B (en) 2007-10-03 2011-12-07 Creative Tech Ltd Spatial audio analysis and synthesis for binaural reproduction and format conversion
US8509454B2 (en) * 2007-11-01 2013-08-13 Nokia Corporation Focusing on a portion of an audio scene for an audio signal
WO2009067741A1 (en) 2007-11-27 2009-06-04 Acouity Pty Ltd Bandwidth compression of parametric soundfield representations for transmission and storage
EP2234104B1 (en) 2008-01-16 2017-06-14 III Holdings 12, LLC Vector quantizer, vector inverse quantizer, and methods therefor
EP2094032A1 (en) 2008-02-19 2009-08-26 Deutsche Thomson OHG Audio signal, method and apparatus for encoding or transmitting the same and method and apparatus for processing the same
EP2259253B1 (en) 2008-03-03 2017-11-15 LG Electronics Inc. Method and apparatus for processing audio signal
EP2293295A3 (en) 2008-03-10 2011-09-07 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. Device and method for manipulating an audio signal having a transient event
US8219409B2 (en) 2008-03-31 2012-07-10 Ecole Polytechnique Federale De Lausanne Audio wave field encoding
CN105182263A (zh) 2008-04-28 2015-12-23 康奈尔大学 分子mri中的磁敏度精确量化
US8184298B2 (en) 2008-05-21 2012-05-22 The Board Of Trustees Of The University Of Illinois Spatial light interference microscopy and fourier transform light scattering for cell and tissue characterization
US8452587B2 (en) 2008-05-30 2013-05-28 Panasonic Corporation Encoder, decoder, and the methods therefor
CN102089634B (zh) 2008-07-08 2012-11-21 布鲁尔及凯尔声音及振动测量公司 重建声学场
EP2144230A1 (en) 2008-07-11 2010-01-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low bitrate audio encoding/decoding scheme having cascaded switches
GB0817950D0 (en) 2008-10-01 2008-11-05 Univ Southampton Apparatus and method for sound reproduction
JP5697301B2 (ja) 2008-10-01 2015-04-08 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、及び動画像符号化・復号システム
US8207890B2 (en) 2008-10-08 2012-06-26 Qualcomm Atheros, Inc. Providing ephemeris data and clock corrections to a satellite navigation system receiver
US8391500B2 (en) 2008-10-17 2013-03-05 University Of Kentucky Research Foundation Method and system for creating three-dimensional spatial audio
FR2938688A1 (fr) 2008-11-18 2010-05-21 France Telecom Codage avec mise en forme du bruit dans un codeur hierarchique
US8817991B2 (en) 2008-12-15 2014-08-26 Orange Advanced encoding of multi-channel digital audio signals
US8964994B2 (en) 2008-12-15 2015-02-24 Orange Encoding of multichannel digital audio signals
EP2205007B1 (en) 2008-12-30 2019-01-09 Dolby International AB Method and apparatus for three-dimensional acoustic field encoding and optimal reconstruction
US8332229B2 (en) 2008-12-30 2012-12-11 Stmicroelectronics Asia Pacific Pte. Ltd. Low complexity MPEG encoding for surround sound recordings
WO2010086342A1 (en) 2009-01-28 2010-08-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder, audio decoder, method for encoding an input audio information, method for decoding an input audio information and computer program using improved coding tables
GB2467534B (en) * 2009-02-04 2014-12-24 Richard Furse Sound system
JP5163545B2 (ja) 2009-03-05 2013-03-13 富士通株式会社 オーディオ復号装置及びオーディオ復号方法
EP2237270B1 (en) 2009-03-30 2012-07-04 Nuance Communications, Inc. A method for determining a noise reference signal for noise compensation and/or noise reduction
GB0906269D0 (en) 2009-04-09 2009-05-20 Ntnu Technology Transfer As Optimal modal beamformer for sensor arrays
US8629600B2 (en) 2009-05-08 2014-01-14 University Of Utah Research Foundation Annular thermoacoustic energy converter
JP4778591B2 (ja) 2009-05-21 2011-09-21 パナソニック株式会社 触感処理装置
CN102460573B (zh) * 2009-06-24 2014-08-20 弗兰霍菲尔运输应用研究公司 音频信号译码器、对音频信号译码的方法
ES2690164T3 (es) * 2009-06-25 2018-11-19 Dts Licensing Limited Dispositivo y método para convertir una señal de audio espacial
AU2010305313B2 (en) 2009-10-07 2015-05-28 The University Of Sydney Reconstruction of a recorded sound field
KR101370192B1 (ko) 2009-10-15 2014-03-05 비덱스 에이/에스 오디오 코덱을 갖는 보청기 및 방법
WO2011058758A1 (ja) 2009-11-13 2011-05-19 パナソニック株式会社 符号化装置、復号装置およびこれらの方法
JP5427565B2 (ja) * 2009-11-24 2014-02-26 株式会社日立製作所 Mri装置用磁場調整
EP2706529A3 (en) 2009-12-07 2014-04-02 Dolby Laboratories Licensing Corporation Decoding of multichannel audio encoded bit streams using adaptive hybrid transformation
EP2346028A1 (en) * 2009-12-17 2011-07-20 Fraunhofer-Gesellschaft zur Förderung der Angewandten Forschung e.V. An apparatus and a method for converting a first parametric spatial audio signal into a second parametric spatial audio signal
CN102104452B (zh) 2009-12-22 2013-09-11 华为技术有限公司 信道状态信息反馈方法、信道状态信息获得方法及设备
TWI557723B (zh) 2010-02-18 2016-11-11 杜比實驗室特許公司 解碼方法及系統
WO2011104463A1 (fr) 2010-02-26 2011-09-01 France Telecom Compression de flux audio multicanal
CA2792504C (en) 2010-03-10 2016-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio signal decoder, audio signal encoder, method for decoding an audio signal, method for encoding an audio signal and computer program using a pitch-dependent adaptation of a coding context
ES2472456T3 (es) 2010-03-26 2014-07-01 Thomson Licensing Método y dispositivo para decodificar una representación de un campo ac�stico de audio para reproducción de audio
EP2375410B1 (en) * 2010-03-29 2017-11-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. A spatial audio processor and a method for providing spatial parameters based on an acoustic input signal
JP5850216B2 (ja) 2010-04-13 2016-02-03 ソニー株式会社 信号処理装置および方法、符号化装置および方法、復号装置および方法、並びにプログラム
WO2011147950A1 (en) 2010-05-28 2011-12-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Low-delay unified speech and audio codec
US9053697B2 (en) 2010-06-01 2015-06-09 Qualcomm Incorporated Systems, methods, devices, apparatus, and computer program products for audio equalization
US9398308B2 (en) 2010-07-28 2016-07-19 Qualcomm Incorporated Coding motion prediction direction in video coding
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
NZ587483A (en) 2010-08-20 2012-12-21 Ind Res Ltd Holophonic speaker system with filters that are pre-configured based on acoustic transfer functions
WO2012025580A1 (en) * 2010-08-27 2012-03-01 Sonicemotion Ag Method and device for enhanced sound field reproduction of spatially encoded audio input signals
CN101977349A (zh) 2010-09-29 2011-02-16 华南理工大学 Ambisonic声重发系统解码的优化改进方法
US20120093323A1 (en) 2010-10-14 2012-04-19 Samsung Electronics Co., Ltd. Audio system and method of down mixing audio signals using the same
CN103155591B (zh) 2010-10-14 2015-09-09 杜比实验室特许公司 使用自适应频域滤波和动态快速卷积的自动均衡方法及装置
US9552840B2 (en) 2010-10-25 2017-01-24 Qualcomm Incorporated Three-dimensional sound capturing and reproducing with multi-microphones
EP2450880A1 (en) 2010-11-05 2012-05-09 Thomson Licensing Data structure for Higher Order Ambisonics audio data
EP2451196A1 (en) 2010-11-05 2012-05-09 Thomson Licensing Method and apparatus for generating and for decoding sound field data including ambisonics sound field data of an order higher than three
KR101401775B1 (ko) 2010-11-10 2014-05-30 한국전자통신연구원 스피커 어레이 기반 음장 합성을 이용한 음장 재생 장치 및 방법
US9448289B2 (en) * 2010-11-23 2016-09-20 Cornell University Background field removal method for MRI using projection onto dipole fields
CA2819394C (en) 2010-12-03 2016-07-05 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Sound acquisition via the extraction of geometrical information from direction of arrival estimates
EP2464146A1 (en) * 2010-12-10 2012-06-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for decomposing an input signal using a pre-calculated reference curve
EP2469741A1 (en) 2010-12-21 2012-06-27 Thomson Licensing Method and apparatus for encoding and decoding successive frames of an ambisonics representation of a 2- or 3-dimensional sound field
US20120163622A1 (en) 2010-12-28 2012-06-28 Stmicroelectronics Asia Pacific Pte Ltd Noise detection and reduction in audio devices
CA2823907A1 (en) 2011-01-06 2012-07-12 Hank Risan Synthetic simulation of a media recording
US9008176B2 (en) 2011-01-22 2015-04-14 Qualcomm Incorporated Combined reference picture list construction for video coding
US20120189052A1 (en) 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
AU2011357816B2 (en) * 2011-02-03 2016-06-16 Telefonaktiebolaget L M Ericsson (Publ) Determining the inter-channel time difference of a multi-channel audio signal
WO2012122397A1 (en) 2011-03-09 2012-09-13 Srs Labs, Inc. System for dynamically creating and rendering audio objects
RU2669139C1 (ru) 2011-04-21 2018-10-08 Самсунг Электроникс Ко., Лтд. Устройство для квантования коэффициентов кодирования с линейным предсказанием, устройство кодирования звука, устройство для деквантования коэффициентов кодирования с линейным предсказанием, устройство декодирования звука, и электронное устройство для этого
EP2541547A1 (en) 2011-06-30 2013-01-02 Thomson Licensing Method and apparatus for changing the relative positions of sound objects contained within a higher-order ambisonics representation
TW202339510A (zh) * 2011-07-01 2023-10-01 美商杜比實驗室特許公司 用於適應性音頻信號的產生、譯碼與呈現之系統與方法
US8548803B2 (en) 2011-08-08 2013-10-01 The Intellisis Corporation System and method of processing a sound signal including transforming the sound signal into a frequency-chirp domain
US9641951B2 (en) 2011-08-10 2017-05-02 The Johns Hopkins University System and method for fast binaural rendering of complex acoustic scenes
EP2560161A1 (en) 2011-08-17 2013-02-20 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Optimal mixing matrices and usage of decorrelators in spatial audio processing
EP2592846A1 (en) 2011-11-11 2013-05-15 Thomson Licensing Method and apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
EP2592845A1 (en) 2011-11-11 2013-05-15 Thomson Licensing Method and Apparatus for processing signals of a spherical microphone array on a rigid sphere used for generating an Ambisonics representation of the sound field
EP2600343A1 (en) 2011-12-02 2013-06-05 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for merging geometry - based spatial audio coding streams
KR101590332B1 (ko) 2012-01-09 2016-02-18 삼성전자주식회사 영상장치 및 그 제어방법
WO2013108200A1 (en) 2012-01-19 2013-07-25 Koninklijke Philips N.V. Spatial audio rendering and encoding
EP2637427A1 (en) 2012-03-06 2013-09-11 Thomson Licensing Method and apparatus for playback of a higher-order ambisonics audio signal
EP2645748A1 (en) 2012-03-28 2013-10-02 Thomson Licensing Method and apparatus for decoding stereo loudspeaker signals from a higher-order Ambisonics audio signal
WO2013156818A1 (en) * 2012-04-19 2013-10-24 Nokia Corporation An audio scene apparatus
EP2665208A1 (en) 2012-05-14 2013-11-20 Thomson Licensing Method and apparatus for compressing and decompressing a Higher Order Ambisonics signal representation
US9288603B2 (en) 2012-07-15 2016-03-15 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for backward-compatible audio coding
US20140086416A1 (en) 2012-07-15 2014-03-27 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients
US9190065B2 (en) 2012-07-15 2015-11-17 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for three-dimensional audio coding using basis function coefficients
KR102597573B1 (ko) 2012-07-16 2023-11-02 돌비 인터네셔널 에이비 오디오 재생을 위한 오디오 음장 표현을 렌더링하는 방법 및 장치
US9473870B2 (en) 2012-07-16 2016-10-18 Qualcomm Incorporated Loudspeaker position compensation with 3D-audio hierarchical coding
EP2688066A1 (en) 2012-07-16 2014-01-22 Thomson Licensing Method and apparatus for encoding multi-channel HOA audio signals for noise reduction, and method and apparatus for decoding multi-channel HOA audio signals for noise reduction
JP6279569B2 (ja) 2012-07-19 2018-02-14 ドルビー・インターナショナル・アーベー マルチチャンネルオーディオ信号のレンダリングを改善する方法及び装置
US9479886B2 (en) 2012-07-20 2016-10-25 Qualcomm Incorporated Scalable downmix design with feedback for object-based surround codec
US9761229B2 (en) 2012-07-20 2017-09-12 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for audio object clustering
JP5967571B2 (ja) 2012-07-26 2016-08-10 本田技研工業株式会社 音響信号処理装置、音響信号処理方法、及び音響信号処理プログラム
ES2705223T3 (es) 2012-10-30 2019-03-22 Nokia Technologies Oy Un método y aparato para cuantificación de vector flexible
US9336771B2 (en) 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
EP2743922A1 (en) 2012-12-12 2014-06-18 Thomson Licensing Method and apparatus for compressing and decompressing a higher order ambisonics representation for a sound field
US9913064B2 (en) * 2013-02-07 2018-03-06 Qualcomm Incorporated Mapping virtual speakers to physical speakers
US10178489B2 (en) 2013-02-08 2019-01-08 Qualcomm Incorporated Signaling audio rendering information in a bitstream
EP2765791A1 (en) 2013-02-08 2014-08-13 Thomson Licensing Method and apparatus for determining directions of uncorrelated sound sources in a higher order ambisonics representation of a sound field
US9883310B2 (en) 2013-02-08 2018-01-30 Qualcomm Incorporated Obtaining symmetry information for higher order ambisonic audio renderers
US9609452B2 (en) 2013-02-08 2017-03-28 Qualcomm Incorporated Obtaining sparseness information for higher order ambisonic audio renderers
US9338420B2 (en) 2013-02-15 2016-05-10 Qualcomm Incorporated Video analysis assisted generation of multi-channel audio data
CN104010265A (zh) * 2013-02-22 2014-08-27 杜比实验室特许公司 音频空间渲染设备及方法
US9685163B2 (en) 2013-03-01 2017-06-20 Qualcomm Incorporated Transforming spherical harmonic coefficients
ES2742853T3 (es) 2013-03-05 2020-02-17 Fraunhofer Ges Forschung Aparato y procedimiento para la descomposición directa-ambiental de multicanal para el procesamiento de señales de audio
US9197962B2 (en) 2013-03-15 2015-11-24 Mh Acoustics Llc Polyhedral audio system based on at least second-order eigenbeams
EP2800401A1 (en) 2013-04-29 2014-11-05 Thomson Licensing Method and Apparatus for compressing and decompressing a Higher Order Ambisonics representation
WO2014184353A1 (en) 2013-05-16 2014-11-20 Koninklijke Philips N.V. An audio processing apparatus and method therefor
US9384741B2 (en) 2013-05-29 2016-07-05 Qualcomm Incorporated Binauralization of rotated higher order ambisonics
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US10499176B2 (en) 2013-05-29 2019-12-03 Qualcomm Incorporated Identifying codebooks to use when coding spatial components of a sound field
WO2014195190A1 (en) 2013-06-05 2014-12-11 Thomson Licensing Method for encoding audio signals, apparatus for encoding audio signals, method for decoding audio signals and apparatus for decoding audio signals
EP3933834A1 (en) 2013-07-05 2022-01-05 Dolby International AB Enhanced soundfield coding using parametric component generation
TWI673707B (zh) 2013-07-19 2019-10-01 瑞典商杜比國際公司 將以L<sub>1</sub>個頻道為基礎之輸入聲音訊號產生至L<sub>2</sub>個揚聲器頻道之方法及裝置,以及得到一能量保留混音矩陣之方法及裝置,用以將以輸入頻道為基礎之聲音訊號混音以用於L<sub>1</sub>個聲音頻道至L<sub>2</sub>個揚聲器頻道
US20150127354A1 (en) 2013-10-03 2015-05-07 Qualcomm Incorporated Near field compensation for decomposed representations of a sound field
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US20150243292A1 (en) * 2014-02-25 2015-08-27 Qualcomm Incorporated Order format signaling for higher-order ambisonic audio data
US20150264483A1 (en) 2014-03-14 2015-09-17 Qualcomm Incorporated Low frequency rendering of higher-order ambisonic audio data
US20150332682A1 (en) * 2014-05-16 2015-11-19 Qualcomm Incorporated Spatial relation coding for higher order ambisonic coefficients
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US9959876B2 (en) * 2014-05-16 2018-05-01 Qualcomm Incorporated Closed loop quantization of higher order ambisonic coefficients
US10770087B2 (en) 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US10142642B2 (en) 2014-06-04 2018-11-27 Qualcomm Incorporated Block adaptive color-space conversion coding
US20160093308A1 (en) 2014-09-26 2016-03-31 Qualcomm Incorporated Predictive vector quantization techniques in a higher order ambisonics (hoa) framework
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework

Also Published As

Publication number Publication date
CN105284132B (zh) 2018-02-02
WO2014194080A1 (en) 2014-12-04
US20140358558A1 (en) 2014-12-04
US9769586B2 (en) 2017-09-19
BR112015030102B1 (pt) 2022-08-23
EP3282448A2 (en) 2018-02-14
US20140355770A1 (en) 2014-12-04
US9716959B2 (en) 2017-07-25
TWI645723B (zh) 2018-12-21
CN105284132A (zh) 2016-01-27
HUE039457T2 (hu) 2019-01-28
EP3005360B1 (en) 2017-05-03
EP3282448A3 (en) 2018-04-11
WO2014194105A1 (en) 2014-12-04
KR20160016879A (ko) 2016-02-15
CN105284131A (zh) 2016-01-27
US20140358562A1 (en) 2014-12-04
JP6121625B2 (ja) 2017-04-26
KR20210094128A (ko) 2021-07-28
JP2016523376A (ja) 2016-08-08
CN105340009B (zh) 2019-08-09
KR20160016881A (ko) 2016-02-15
HK1215752A1 (zh) 2016-09-09
CN105580072B (zh) 2019-10-22
WO2014194084A1 (en) 2014-12-04
CN105340009A (zh) 2016-02-17
KR20160016883A (ko) 2016-02-15
EP3005359B1 (en) 2017-05-10
JP2017142520A (ja) 2017-08-17
EP3005359A1 (en) 2016-04-13
EP3005358B1 (en) 2017-06-28
JP2016524727A (ja) 2016-08-18
US9883312B2 (en) 2018-01-30
UA116140C2 (uk) 2018-02-12
SG11201509462VA (en) 2015-12-30
KR20160013133A (ko) 2016-02-03
RU2668059C2 (ru) 2018-09-25
WO2014194110A1 (en) 2014-12-04
EP3107094A1 (en) 2016-12-21
US20140358561A1 (en) 2014-12-04
US10499176B2 (en) 2019-12-03
PH12015502634A1 (en) 2016-03-07
ZA201509227B (en) 2022-01-26
AU2014274076B2 (en) 2019-11-21
EP3107095A1 (en) 2016-12-21
EP3005358A1 (en) 2016-04-13
KR102190201B1 (ko) 2020-12-11
JP2016523468A (ja) 2016-08-08
IL242648B (en) 2018-12-31
ES2764384T3 (es) 2020-06-03
CN105284131B (zh) 2018-09-18
US20140358564A1 (en) 2014-12-04
WO2014194116A1 (en) 2014-12-04
US9854377B2 (en) 2017-12-26
WO2014194090A1 (en) 2014-12-04
EP3107093A1 (en) 2016-12-21
US20140355771A1 (en) 2014-12-04
US20140358559A1 (en) 2014-12-04
EP3005360A1 (en) 2016-04-13
KR20160015264A (ko) 2016-02-12
CN105264598B (zh) 2018-12-18
US20160366530A1 (en) 2016-12-15
CN105580072A (zh) 2016-05-11
JP2017199013A (ja) 2017-11-02
US20140358560A1 (en) 2014-12-04
US20160381482A1 (en) 2016-12-29
JP6199519B2 (ja) 2017-09-20
JP6449256B2 (ja) 2019-01-09
WO2014194109A1 (en) 2014-12-04
KR101961986B1 (ko) 2019-03-25
EP3005361B1 (en) 2017-06-21
ES2635327T3 (es) 2017-10-03
US20140358563A1 (en) 2014-12-04
WO2014194115A1 (en) 2014-12-04
WO2014194075A1 (en) 2014-12-04
KR20160016877A (ko) 2016-02-15
JP6185159B2 (ja) 2017-08-23
EP3107094B1 (en) 2018-07-04
US11962990B2 (en) 2024-04-16
US20140358266A1 (en) 2014-12-04
US9749768B2 (en) 2017-08-29
KR102407554B1 (ko) 2022-06-13
US11146903B2 (en) 2021-10-12
US9774977B2 (en) 2017-09-26
JP2016526189A (ja) 2016-09-01
KR20160013125A (ko) 2016-02-03
RU2015151021A (ru) 2017-07-04
TW201511583A (zh) 2015-03-16
US9495968B2 (en) 2016-11-15
WO2014194099A1 (en) 2014-12-04
MY174865A (en) 2020-05-19
WO2014194090A9 (en) 2015-03-26
CN110767242A (zh) 2020-02-07
CA2912810A1 (en) 2014-12-04
AU2014274076A1 (en) 2015-12-24
HUE046520T2 (hu) 2020-03-30
US20140355769A1 (en) 2014-12-04
US9763019B2 (en) 2017-09-12
JP6290498B2 (ja) 2018-03-07
EP3107095B1 (en) 2019-10-02
US20140358565A1 (en) 2014-12-04
US9502044B2 (en) 2016-11-22
KR101877605B1 (ko) 2018-07-12
CN105264598A (zh) 2016-01-20
US9980074B2 (en) 2018-05-22
JP6345771B2 (ja) 2018-06-20
CN105917407B (zh) 2020-04-24
PH12015502634B1 (en) 2016-03-07
WO2014194107A1 (en) 2014-12-04
CN105917407A (zh) 2016-08-31
HUE033545T2 (hu) 2017-12-28
KR20160016885A (ko) 2016-02-15
EP3005361A1 (en) 2016-04-13
KR20160016878A (ko) 2016-02-15
KR20160013132A (ko) 2016-02-03
BR112015030102A2 (pt) 2020-07-14
KR101929092B1 (ko) 2018-12-13
TW201509200A (zh) 2015-03-01
WO2014194106A1 (en) 2014-12-04
ES2641175T3 (es) 2017-11-08
KR101795900B1 (ko) 2017-11-08
CA2912810C (en) 2021-12-28
US20220030372A1 (en) 2022-01-27

Similar Documents

Publication Publication Date Title
ES2689566T3 (es) Compresión de las representaciones descompuestas de un campo sonoro
ES2922451T3 (es) Indicación de la reusabilidad de parámetros de un marco para la codificación de vectores
US20150127354A1 (en) Near field compensation for decomposed representations of a sound field
BR112015030103B1 (pt) Compressão de representações decomposta de campo sonoro