ES2930374T3 - Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia - Google Patents
Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia Download PDFInfo
- Publication number
- ES2930374T3 ES2930374T3 ES18803985T ES18803985T ES2930374T3 ES 2930374 T3 ES2930374 T3 ES 2930374T3 ES 18803985 T ES18803985 T ES 18803985T ES 18803985 T ES18803985 T ES 18803985T ES 2930374 T3 ES2930374 T3 ES 2930374T3
- Authority
- ES
- Spain
- Prior art keywords
- time
- parameters
- parameter
- frequency
- diffusivity
- 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
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/0204—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/26—Pre-filtering or post-filtering
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/15—Speech 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 formant information
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
- G10L25/21—Speech 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 power information
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3082—Vector coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6011—Encoder aspects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Un aparato para codificar parámetros de codificación de audio direccional que comprende parámetros de difusividad y parámetros de dirección, comprende: una calculadora de parámetros (100) para calcular los parámetros de difusividad con una primera resolución de tiempo o frecuencia y para calcular los parámetros de dirección con una segunda resolución de tiempo o frecuencia; y un procesador cuantificador y codificador (200) para generar una representación cuantificada y codificada de los parámetros de difusión y los parámetros de dirección. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia
La presente invención se refiere al procesamiento de señal de audio y en particular a esquemas de codificación eficientes de parámetros de codificación de audio direccional tal como metadatos DirAC.
La presente invención tiene por objetivo proponer una solución de codificación de baja tasa de bits para codificar metadatos espaciales a partir de un análisis de la escena de audio en 3D realizado por Codificación de Audio Direccional (DirAC), una técnica perceptivamente motivada para el procesamiento de audio espacial.
La transmisión de una escena de audio en tres dimensiones requiere el manejo de múltiples canales que normalmente generan una gran cantidad de datos para transmitir. La técnica de codificación de audio direccional (DirAC) [1] es un enfoque eficaz para el análisis de la escena de audio y representación de forma paramétrica. DirAC utiliza una representación perceptivamente motivada del campo de sonido con base en la dirección de llegada (DOA) y difusividad medida por banda de frecuencia. Se basa en la suposición de que en un instante de tiempo y para una banda crítica, la resolución espacial del sistema auditivo se limita a la decodificación de una señal para la dirección y otra para la coherencia interaural. Luego, el sonido espacial se reproduce en el dominio de frecuencia por desvanecimiento cruzado de dos corrientes: una corriente difusa no direccional y una corriente no difusa direccional. La presente invención divulga un método para codificar audio en 3D con base en la representación y reproducción sonora DirAC para lograr la transmisión de contenido de audio de inmersión a bajas tasas de bits.
DirAC es una reproducción de sonido espacial perceptivamente motivada. Se asume que en un instante de tiempo y para una banda crítica, la resolución espacial del sistema auditivo se limita a la decodificación de una señal para la dirección y otra para la coherencia interaural.
Con base en estos supuestos, DirAC representa el sonido espacial en una banda de frecuencia por desvanecimiento cruzado de dos corrientes: una corriente difusa no direccional y una corriente no difusa direccional. El procesamiento DirAC se realiza en dos fases: el análisis y la síntesis como se muestra en la figura 10a y 10b.
En la etapa de análisis DirAC, un micrófono coincidente de primer orden en formato B se considera como entrada y la difusividad y dirección de llegada del sonido se analiza en el dominio de frecuencia.
En la etapa de síntesis de DirAC, el sonido se divide en dos corrientes, la corriente no difusa y la corriente difusa. La corriente no difusa se reproduce como fuentes puntuales utilizando paneo de amplitud, lo que puede hacerse mediante el uso de paneo de amplitud con base en vector (VBAP) [2]. La corriente difusa es responsable de la sensación de envolvimiento y se produce mediante la transmisión a los altavoces de señales decorrelacionadas mutuamente.
Los parámetros de DirAC, también denominados metadatos espaciales o metadatos DirAC a continuación, consisten en tuplas de difusividad y dirección. La dirección puede representarse en coordenadas esféricas por dos ángulos, el azimut y la elevación, mientras que la difusividad es un factor de escala entre 0 y 1.
La figura 10a muestra un banco de filtros 130 que recibe la señal de entrada de formato B. Se llevan a cabo un análisis de energía 132 y un análisis de intensidad 134. Se llevan a cabo un promedio temporal de los resultados de energía indicados en 136 y un promedio temporal de los resultados de intensidad indicados en 138 y, a partir de los datos promedio, se calculan los valores de difusividad para los bins individuales de tiempo/frecuencia como se indica en 110. Los valores de dirección para los bins de tiempo/frecuencia dados por la resolución de tiempo o frecuencia del banco de filtros 130 se calculan por el bloque 120.
En la síntesis DirAC que se ilustra en la figura 10b, se utiliza nuevamente un banco de filtros de análisis 431. Se aplica un bloque de procesamiento de micrófono virtual 421, donde los micrófonos virtuales corresponden a, por ejemplo, las posiciones de los altavoces de una configuración de altavoces 5.1, por ejemplo. Los metadatos de difusividad se procesan por los correspondientes bloques de procesamiento 422 para la difusividad y por una tabla de ganancia de VBAP (paneo de amplitud con base en vector) que se indica en el bloque 423. Un bloque de promedio de altavoz 424 está configurado para realizar el promedio de ganancia y un bloque de normalización correspondiente 425 se aplica para tener niveles de sonoridad definidos correspondientes en las señales del altavoz finales individuales. Se lleva a cabo una compensación de micrófono en el bloque 426.
Las señales resultantes se utilizan para generar, por un lado, una corriente difusa 427 que comprende una etapa de decorrelación y, adicionalmente, se genera también una corriente no difusa 428. Ambas corrientes se añaden en el sumador 429 para la correspondiente sub-banda y en el bloque 431, se realiza una adición con otras sub-bandas, es
decir, una conversión de frecuencia a tiempo. Por lo tanto, el bloque 431 puede también considerarse un banco de filtros de síntesis. Se realizan operaciones de procesamiento similares para los otros canales de una configuración de altavoz determinada, donde, por un canal diferente, el ajuste de los micrófonos virtuales en el bloque 421 será diferente.
En la etapa de análisis DirAC, un micrófono coincidente de primer orden en formato B se considera como entrada y la difusividad y dirección de llegada del sonido se analiza en el dominio de frecuencia.
En la etapa de síntesis de DirAC, el sonido se divide en dos corrientes, la corriente no difusa y la corriente difusa. La corriente no difusa se reproduce como fuentes puntuales utilizando paneo de amplitud, lo que puede hacerse mediante el uso de paneo de amplitud con base en vector (VBAP) [2]. La corriente difusa es responsable de la sensación de envolvimiento y se produce mediante la transmisión a los altavoces de señales decorrelacionadas mutuamente.
Los parámetros de DirAC, también denominados metadatos espaciales o metadatos DirAC a continuación, consisten en tuplas de difusividad y dirección. La dirección puede representarse en coordenadas esféricas por dos ángulos, el azimut y la elevación, mientras que la difusividad es un factor de escala entre 0 y 1.
Si una STFT se considera como la transformada de tiempo-frecuencia con una resolución de tiempo de 20 ms, que generalmente se recomienda en varios documentos, y con un solapamiento del 50 % entre ventanas de análisis adyacentes, el análisis DirAC produce, para una entrada muestreada a 48 kHz, 288000 valores por segundo, lo que corresponde si los ángulos se cuantifican en 8 bits a una tasa de bits total de aproximadamente 2,3 Mbit/s. La cantidad de datos no es adecuada para lograr una codificación de audio espacial de baja tasa de bits, y por lo tanto se necesita un esquema de codificación eficiente de los metadatos de DirAC.
Los trabajos anteriores relativos a la reducción de los metadatos se centraban principalmente en escenarios de teleconferencia, donde la capacidad de DirAC se redujo en gran medida para permitir una tasa de datos mínima de sus parámetros [4]. De hecho, se propuso limitar el análisis direccional para el azimut en el plano horizontal para reproducir solamente una escena de audio 2D. Por otra parte, la difusividad y el azimut se transmiten solo hasta 7 kHz, lo que limita la comunicación a la voz de banda ancha. Por último, la difusividad se cuantifica en grandes rasgos en uno o dos bits, a menudo solo encendiendo o apagando la corriente difusa en la etapa de síntesis, lo que no es lo suficientemente genérico al considerar múltiples fuentes de audio y más que solo voces sobre el ruido de fondo. En [4], el azimut se cuantificó en 3 bits y se asumió que la fuente, en este caso, el altavoz, tiene una posición muy estática. Por lo tanto, los parámetros solo se transmiten con una frecuencia de actualización de 50 ms. Con base en estos numerosos y significativos supuestos, la demanda de bits puede reducirse a aproximadamente 3 kbit/s.
Es un objetivo de la presente invención proporcionar un concepto de codificación de audio espacial mejorada.
Este objetivo se consigue mediante un aparato para codificar parámetros de codificación de audio direccional de la reivindicación 1, un método para codificar parámetros de codificación de audio direccional de la reivindicación 17, un decodificador para decodificar una señal de audio codificada de la reivindicación 18, un método para decodificar de la reivindicación 33 o un programa informático de la reivindicación 34.
De acuerdo con un aspecto, la presente invención se basa en el hallazgo de que se obtiene, por un lado, una mejor calidad y, al mismo tiempo, por el otro lado, una tasa de bits reducida para codificar los parámetros de codificación de audio espacial cuando los parámetros de difusividad en una parte, y los parámetros de dirección en la otra parte, se proporcionan con diferentes resoluciones y los diferentes parámetros con diferentes resoluciones se cuantifican y codifican para obtener los parámetros de codificación de audio direccional codificados.
En una realización, la resolución de tiempo o frecuencia para los parámetros de difusividad es menor que la resolución de tiempo o frecuencia de los parámetros de dirección. En una realización adicional, se lleva a cabo una agrupación no solo en la frecuencia, sino también en el tiempo. Los parámetros de codificación audio de difusividad/direccionales originales se calculan con una alta resolución, por ejemplo, para bins de tiempo/frecuencia de alta resolución, y se lleva a cabo una agrupación y preferentemente una agrupación con promedio para calcular un parámetro de difusividad resultante con una baja resolución de tiempo o frecuencia y para calcular un parámetro direccional resultante con una resolución media de tiempo o frecuencia, es decir, con una resolución de tiempo o frecuencia que está entre la resolución de tiempo o frecuencia para el parámetro de difusividad y la alta resolución original, con los que se han calculado los parámetros en bruto originales.
En realizaciones, las primeras y segundas resoluciones de tiempo son diferentes y las primeras y segundas resoluciones de frecuencia son iguales o viceversa, es decir, que las primeras y segundas resoluciones de frecuencia son diferentes, pero las primeras y segundas resoluciones de tiempo son iguales. En una realización adicional, tanto las primeras y segundas resoluciones de tiempo son diferentes como las primeras y segundas
resoluciones de frecuencia también son diferentes. Por lo tanto, la primera resolución de tiempo o frecuencia también puede considerarse una primera resolución de tiempo y frecuencia y la segunda resolución de tiempo o frecuencia también puede considerarse una segunda resolución de tiempo-frecuencia.
En una realización adicional, la agrupación de los parámetros de difusividad se realiza con una adición ponderada, donde los factores de ponderación para la adición ponderada se determinan con base en la potencia de la señal de audio de manera que los bins de tiempo/frecuencia que tienen una potencia mayor o, en general, una medida relacionada con mayor amplitud para la señal de audio tienen una influencia mayor sobre el resultado que un parámetro de difusividad para un bin de tiempo/frecuencia, donde la señal a analizar tiene una potencia inferior o medida relacionada con energía inferior.
Se prefiere, además, llevar a cabo un promedio ponderado de dos veces para calcular los parámetros de dirección agrupados. Este promedio ponderado de dos veces se lleva a cabo de manera tal que los parámetros de dirección de los bins de tiempo/frecuencia tienen una influencia mayor en el resultado final, cuando la potencia de la señal original es bastante alta en este bin de tiempo/frecuencia. Al mismo tiempo también se toma en cuenta el valor de difusividad para el bin correspondiente de manera que, al final, un parámetro direccional de un bin de tiempo/frecuencia que tiene asociado una alta difusividad tiene un menor impacto en el resultado final en comparación con un parámetro direccional que tiene una difusividad baja, cuando la potencia fue igual en ambos bins de tiempo/frecuencia.
Se prefiere realizar un procesamiento de los parámetros en tramas, donde cada trama se organiza en un cierto número de bandas, donde cada banda comprende al menos dos bins de frecuencia originales, en los que se han calculado los parámetros. El ancho de banda de las bandas, es decir, el número de bins de frecuencia originales aumenta con un número de banda creciente de manera que las bandas de frecuencias mayores son más amplias que las bandas de frecuencia más bajas. Se ha descubierto que, en realizaciones preferidas, el número de parámetros de difusividad por banda y trama es igual a uno, mientras que el número de parámetros de dirección por trama y banda es de dos o incluso mayor que dos tal como cuatro, por ejemplo. Se ha descubierto que la misma resolución de frecuencia, pero una resolución de tiempo diferente, para los parámetros de difusividad y direccional es útil, es decir, el número de bandas para los parámetros de difusividad y los parámetros de dirección en una trama son iguales entre sí. Estos parámetros agrupados se cuantifican y codifican entonces por un procesador de cuantificador y codificador.
De acuerdo con un segundo aspecto de la presente invención, el objetivo de proporcionar un concepto de procesamiento mejorado para los parámetros de codificación de audio espacial se logra mediante un cuantificador de parámetros para cuantificar los parámetros de difusividad y los parámetros de dirección y el codificador de parámetros posteriormente conectado para codificar los parámetros de difusividad cuantificados y los parámetros de dirección cuantificados y la interfaz de salida correspondiente para la generación de la representación de parámetros codificados que comprende información sobre los parámetros de difusividad codificados y los parámetros de dirección codificados. Así, mediante la cuantificación y la posterior codificación entrópica, se obtiene una reducción significativa de la tasa de datos.
La entrada de parámetros de difusividad y parámetros de dirección en el codificador pueden ser parámetros de difusividad/dirección de alta resolución o parámetros de codificación direccional de audio de baja resolución agrupados o no agrupados. Una característica de un cuantificador de parámetros preferido es que la precisión de cuantificación para cuantificar los parámetros de dirección se deriva del valor de difusividad del parámetro de difusividad asociado con la misma región de tiempo/frecuencia. Así, en una característica del segundo aspecto, los parámetros de dirección que están asociados con parámetros de difusividad que tienen una elevada difusividad se cuantifican con menos precisión en comparación con los parámetros de dirección asociados con las regiones de tiempo/frecuencia que tienen un parámetro de difusividad que indica una difusividad baja.
Los parámetros de difusividad en sí mismos pueden codificarse por entropía en un modo de codificación en bruto, o pueden codificarse en un modo de codificación de valor único cuando los parámetros de difusividad para las bandas de una trama tienen el mismo valor en toda la trama. En otras realizaciones, los valores de difusividad pueden codificarse en un único procedimiento de dos valores consecutivos.
Otra característica del segundo aspecto es que los parámetros de dirección se convierten en una representación de azimut/elevación. En esta función, el valor de elevación se utiliza para determinar el alfabeto para la cuantificación y codificación del valor de azimut. Preferentemente, el alfabeto de azimut tiene la mayor cantidad de diferentes valores cuando la elevación indica un ángulo de cero o en general un ángulo ecuador de la esfera unitaria. La cantidad más pequeña de los valores en el alfabeto de azimut es cuando la elevación indica el polo norte o sur de la esfera unitaria. Por lo tanto, el valor alfabeto disminuye con un aumento del valor absoluto del ángulo de elevación contado desde el ecuador.
Este valor de elevación se cuantifica con una precisión de cuantificación determinada a partir del valor de difusividad
correspondiente, y el alfabeto de cuantificación por un lado y la precisión de cuantificación por el otro lado determinan la cuantificación y normalmente la codificación entrópica de los valores de azimut correspondientes.
Por lo tanto, se lleva a cabo un procesamiento eficiente y adaptados a los parámetros que elimina la irrelevancia tanto como sea posible y, al mismo tiempo, aplica una alta resolución o alta precisión a regiones donde vale la pena hacerlo, mientras que, en otras regiones, como el polo norte o polo sur de la esfera unitaria, la precisión no es tan alta, en comparación con el ecuador de la esfera unitaria.
El lado del decodificador que opera de acuerdo con el primer aspecto realiza cualquier tipo de decodificación y realiza una correspondiente desagrupación con los parámetros de difusividad codificados o decodificados y los parámetros de dirección codificados o decodificados. Por lo tanto, se lleva a cabo una conversión de resolución de parámetros para mejorar la resolución del parámetro de codificación de audio direccional codificado o decodificado a una resolución que finalmente se utiliza por un renderizador de audio para realizar la representación de una escena de audio. En el curso de esta conversión de resolución, se lleva a cabo una conversión de resolución diferente para los parámetros de difusividad, por un lado, y los parámetros de dirección, por el otro lado.
Los parámetros de difusividad normalmente están codificados con una baja resolución y, por lo tanto, un parámetro de difusividad tiene que multiplicarse o copiarse varias veces para obtener una representación de alta resolución. Por otro lado, un parámetro direccional correspondiente tiene que copiarse con menor frecuencia o multiplicarse con menor frecuencia en comparación con un parámetro de difusividad, dado que la resolución de los parámetros de dirección ya es mayor que la resolución de los parámetros de difusividad en la señal de audio codificada.
En una realización, los parámetros de codificación de audio direccional copiados o multiplicados se aplican como están o se procesan tal como suavizados o filtrados por paso bajo con el fin de evitar artefactos causados por parámetros fuertemente cambiados por frecuencia y/o tiempo. Sin embargo, dado que es una realización preferida, la aplicación de los datos paramétricos de resolución convertida se realiza en el dominio espectral, la correspondiente conversión de frecuencia-tiempo de la señal de audio renderizada desde el dominio de frecuencia al dominio del tiempo realiza un promedio inherente debido a un procedimiento de superposición y adición preferentemente aplicado, que es una característica normalmente incluida en bancos de filtros de síntesis.
En el lado del decodificador de acuerdo con el segundo aspecto, se revierten los procedimientos específicos realizados en el lado del codificador con respecto a la codificación entrópica, por un lado, y cuantificación, por el otro lado. Se prefiere determinar la precisión de descuantificación en el lado del decodificador del parámetro de difusividad normalmente cuantificado o descuantificado asociado con el parámetro de dirección correspondiente.
Se prefiere determinar el alfabeto para el parámetro de elevación del valor de difusividad correspondiente y su precisión de descuantificación relacionada. También se prefiere para el segundo aspecto llevar a cabo la determinación del alfabeto de descuantificación para el parámetro de azimut con base en el valor del parámetro de elevación cuantificado o preferentemente descuantificado.
De acuerdo con el segundo aspecto, un modo de codificación en bruto, por un lado, o un modo de codificación entrópica, por el otro lado, se realiza en el lado del codificador y el modo que resulta en un menor número de bits se selecciona dentro del codificador y se señaliza al decodificador a través de información complementaria. Normalmente, el modo de codificación en bruto se realiza siempre para los parámetros de dirección asociados a altos valores de difusividad, mientras que el modo de codificación entrópica se intenta para los parámetros de dirección asociados a valores de difusividad menores. En el modo de codificación entrópica con codificación en bruto, los valores de azimut y elevación se combinan en un índice de esfera y el índice de esfera se codifica utilizando un código binario o un código perforado y, en el lado del decodificador, esta codificación entrópica se revierte en consecuencia.
En el modo de codificación entrópica con modelado, se calculan un valor promedio de elevación y de azimut para la trama, y de hecho se calculan los valores residuales con respecto a estos valores promedio. Por lo tanto, se lleva a cabo un tipo de predicción y los valores residuales de predicción, es decir, la distancia de elevación y azimut se codifican por entropía. Para este propósito, se prefiere llevar a cabo un procedimiento de Golomb-Rice extendido dependiente de un parámetro de Golomb-Rice que se determina en el lado del codificador y se codifica, además de las distancias preferentemente con signo y los valores promedio. En el lado del decodificador, tan pronto como la codificación entrópica con modelado, es decir, este modo de decodificación, se señaliza y determina por la evaluación de la información complementaria en el decodificador, se lleva a cabo decodificación con el procedimiento de Golomb-Rice extendido utilizando los promedios codificados, las distancias con signo preferentemente codificadas y los parámetros de Golomb-Rice correspondientes para la elevación y el azimut.
A continuación, se comentan realizaciones preferidas de la presente invención con respecto a los dibujos adjuntos, donde:
la figura 1 a o 430 de la figura 1 b con una alta resolución de tiempo o frecuencia;
La figura 3b ilustra una implementación de una agrupación de difusividad con una baja resolución de tiempo o frecuencia y, en particular, una baja resolución de tiempo específica de un único parámetro de difusividad por trama; La figura 3c ilustra una ilustración preferida de la resolución media para los parámetros de dirección que tienen cinco bandas, por un lado, y cuatro regiones de tiempo, por el otro lado, resultantes en 20 regiones de tiempo/frecuencia;
La figura 3d ilustra un flujo de bits de salida con los parámetros de difusividad codificados y los parámetros de dirección codificados;
La figura 4a ilustra un aparato para codificar parámetros de codificación de audio direccional de acuerdo con el segundo aspecto;
La figura 4b ilustra una implementación preferida del cuantificador de parámetros y el codificador de parámetros para calcular los parámetros de difusividad codificados;
La figura 4c ilustra una implementación preferida del codificador de la figura 4a con respecto a la cooperación de diferentes elementos;
La figura 4d ilustra una cobertura cuasi uniforme de la esfera unitaria tal como se aplica a los efectos de cuantificación en una realización preferida;
La figura 5a ilustra una visión general sobre la operación del codificador de parámetros de la figura 4a en operación en diferentes modos de codificación;
La figura 5b ilustra un preprocesamiento de los índices de dirección para ambos modos de la figura 5A;
La figura 5c ilustra el primer modo de codificación en una realización preferida;
La figura 5d ilustra una realización preferida del segundo modo de codificación;
La figura 5e ilustra una implementación preferida de la codificación entrópica de las distancias con signo y los correspondientes promedios utilizando un procedimiento de codificación GR;
La figura 5f ilustra una realización preferida para la determinación del parámetro de Golomb-Rice óptimo; La figura 5g ilustra una implementación del procedimiento de Golomb-Rice extendido para codificar las distancias con signo reordenadas como se indica en el bloque 279 de la figura 5e;
La figura 6a ilustra una implementación del cuantificador de parámetros de la figura 4a;
La figura 6b ilustra una implementación preferida de las funcionalidades para el descuantificador de parámetros que también se utiliza en ciertos aspectos en la implementación del lado del codificador;
La figura 6c ilustra una visión general sobre una implementación del procedimiento de codificación de dirección en bruto;
La figura 6d ilustra una implementación del cálculo y la cuantificación y descuantificación para la dirección promedio para azimut y elevación;
La figura 6e ilustra la proyección de los datos promedio de elevación y azimut;
La figura 6f ilustra el cálculo de las distancias de elevación y azimut;
La figura 6g ilustra una visión general de la codificación de la dirección promedio en el modo de codificación entrópica con modelado;
La figura 7a ilustra un decodificador para decodificar una señal de audio codificada de acuerdo con el primer aspecto,
La figura 7b ilustra una implementación preferida del convertidor de resolución de parámetros de la figura 7a y la renderización de audio posterior;
La figura 8a ilustra un decodificador para decodificar una señal de audio codificada de acuerdo con el segundo aspecto;
La figura 8b ilustra una representación esquemática de flujo de bits para los parámetros de difusividad codificados en una realización;
La figura 8c ilustra una implementación del flujo de bits cuando se ha seleccionado el modo de codificación en bruto;
La figura 8d ilustra un flujo de bits esquemático cuando se ha seleccionado el otro modo de codificación, es decir, el modo de codificación entrópica con modelado;
La figura 8e ilustra una implementación preferida del decodificador de parámetros y descuantificador de parámetros, donde la precisión de descuantificación se determina con base en la difusividad para una región de tiempo/frecuencia;
La figura 8f ilustra una implementación preferida del decodificador de parámetros y descuantificador de parámetros, donde el alfabeto de elevación se determina a partir de la precisión de descuantificación y el alfabeto de azimut se determina con base en la precisión de descuantificación y los datos de elevación para la región de tiempo/frecuencia;
La figura 8g ilustra una visión general del decodificador de parámetros de la figura 8a que ilustra los dos modos de decodificación diferentes;
La figura 9a ilustra una operación de decodificación, cuando el modo de codificación en bruto está activo; La figura 9b ilustra una decodificación de la dirección promedio, cuando el modo de decodificación entrópica con modelado está activo;
La figura 9c ilustra la reconstrucción de las elevaciones y azimuts, cuando el modo de decodificación con modelado está activo, y la posterior descuantificación;
La figura 10a ilustra un analizador DirAC bien conocido; y
La figura 10b ilustra un sintetizador DirAC bien conocido.
La presente invención generaliza la compresión de los metadatos DirAC a cualquier tipo de escenario. La presente invención se aplica en un sistema de codificación espacial que se ilustra en la figura 1a y la figura 1b, donde se representan un codificador y decodificador de audio espacial con base en DirAC.
El alcance protegido se define en las reivindicaciones independientes adjuntas. Se definen características opcionales en las reivindicaciones dependientes.
El codificador analiza normalmente la escena de audio espacial en formato B. Alternativamente, el análisis DirAC se puede ajustar para analizar diferentes formatos de audio como objetos de audio o señales multicanal o la combinación de cualquiera de los formatos de audio espacial. El análisis DirAC extrae una representación paramétrica de la escena de audio de entrada. Una dirección de llegada (DOA) y una difusividad medida por unidad de tiempo-frecuencia forman los parámetros. El análisis DirAC va seguido por un codificador de metadatos espaciales, que cuantifica y codifica los parámetros de DirAC para obtener una representación paramétrica de baja tasa de bits. El último módulo es el sujeto de esta invención.
Junto con los parámetros, una señal de mezcla descendente derivada de las diferentes fuentes o señales de entrada de audio se codifica para la transmisión por un núcleo-codificador de audio convencional. En la realización preferida, se prefiere un codificador de audio EVS para codificar la señal de mezcla descendente, pero la invención no se limita a este núcleo-codificador y puede aplicarse a cualquier núcleo-codificador de audio. La señal de mezcla descendente se compone de diferentes canales, denominados canales de transporte: la señal puede ser, por ejemplo, las cuatro señales de coeficientes que componen una señal de formato B, un par estéreo o una mezcla descendente monofónica dependiendo de la tasa de bits diana. Los parámetros espaciales codificados y el flujo de bits de audio codificado se multiplexan antes de transmitirse sobre el canal de comunicación.
En el decodificador, los canales de transporte se decodifican por el núcleo-decodificador, mientras que los metadatos DirAC se decodifican primero antes de su transporte con los canales de transporte decodificados a la síntesis DirAC. La síntesis DirAC utiliza los metadatos decodificados para controlar la reproducción de la corriente de sonido directo y su mezcla con el flujo de sonido difuso. El campo de sonido reproducido puede reproducirse en un diseño de altavoz arbitrario o puede generarse en formato Ambisonics (HOA/FOA) con un orden arbitrario.
Un codificador de audio para codificar una señal de audio tal como la señal de entrada de formato B se ilustra en la figura 1a. El codificador de audio comprende un analizador DirAC 100. El analizador DirAC 100 puede incluir un banco de filtros de análisis 130, un estimador de difusividad 110 y un estimador de dirección 120. Los datos de difusividad y los datos de dirección se emiten a un codificador de metadatos espaciales 200 que, finalmente, emite metadatos codificados en la línea 250. La señal de formato B también pueden enviarse a un selector de haz/señal 140 que genera, a partir de la señal de entrada, una señal de audio mono o estéreo de transporte que se codifica entonces en un codificador de audio 150 que es, preferentemente, un codificador EVS (Servicios de Voz Mejorados). La señal de audio codificada se emite en 170. Los parámetros de codificación codificados indicados en 250 se introducen en un decodificador de metadatos espaciales 300. Se introduce la señal de audio codificada 170 en un decodificador de audio 340 que se implementa, en una relación preferida y en línea con la implementación del lado del codificador, como un decodificador EVS.
La señal de transporte decodificada se introduce en un sintetizador DirAC 400 junto con los parámetros de codificación de audio direccional decodificados. En la realización ilustrada en la figura 1b, el sintetizador DirAC comprende un sintetizador de salida 420, un banco de filtros de análisis 430 y un banco de filtros de síntesis 440. En la salida del banco de filtros de síntesis 400, se obtiene la señal multicanal decodificada 450 que puede transmitirse a los altavoces o que puede ser, alternativamente, una señal de audio en cualquier otro formato tal como un formato de Ambisonics de primer orden (HOA) o Ambisonics de orden superior (FOA). Naturalmente, cualquier otro dato paramétrico tal como datos MPS (MPEG Surround) o datos SAOC (Codificación de Objetos de Audio Espacial) pueden generarse junto con un canal de transporte que es un canal mono o un canal estéreo.
Generalmente, el sintetizador de salida opera mediante el cálculo, para cada bin de tiempo-frecuencia como se determina por el banco de filtros de análisis 430, una señal de audio directa, por un lado, y una señal de audio difusa, por el otro lado. La señal de audio directa se calcula con base en los parámetros de dirección y la relación entre la señal de audio directa y la señal de audio difusa en la señal de audio final para este bin de tiempo/frecuencia, que se determina con base en el parámetro de difusividad para que un bin de tiempo/frecuencia que tiene un alto parámetro de difusividad resulte en una señal de salida que tiene una alta cantidad de señal difusa y una baja cantidad de señal directa, un bin de tiempo/frecuencia que tiene una baja difusividad resulta en una señal de salida que tiene una alta cantidad de señal directa y una baja cantidad de señal difusa.
La figura 2a ilustra un aparato para codificar los parámetros de codificación de audio direccional que comprenden parámetros de difusividad y parámetros de dirección de acuerdo con el primer aspecto. El aparato comprende un calculador de parámetros 100 para calcular los parámetros de difusividad con una primera resolución de tiempo o frecuencia y calcular los parámetros de dirección con una segunda resolución de tiempo o frecuencia. El aparato comprende un procesador de cuantificador y codificador 200 para generar una representación cuantificada y codificada de los parámetros de difusividad y los parámetros de dirección ilustrados en 250. El calculador de parámetros 100 puede comprender los elementos 110, 120, 130 de la figura 1a, donde los diferentes parámetros ya se calcularon en la primera o segunda resolución de tiempo o frecuencia.
Alternativamente, la implementación preferida se ilustra en la figura 2b. En la presente, el calculador de parámetros y, en particular, los bloques 110, 120 en la figura 1 a están configurados como se ilustra en el punto 130 de la figura 2b, es decir, que calculan parámetros con una tercera o cuarta resolución de tiempo o frecuencia normalmente alta. Se realiza una operación de agrupación. Con el fin de calcular los parámetros de difusividad, se realiza una agrupación y promedio como se ilustra en el bloque 141 con el fin de obtener la representación de parámetros de difusividad con la primera resolución de tiempo o frecuencia y, para calcular los parámetros de dirección, se realiza una agrupación (y promedio) en el bloque 142 con el fin de obtener la representación parámetros de dirección en la segunda resolución de tiempo o frecuencia.
Los parámetros de difusividad y los parámetros de dirección se calculan de manera que la segunda resolución de tiempo o frecuencia es diferente de la primera resolución de tiempo o frecuencia y la primera resolución de tiempo es menor que la segunda resolución de tiempo o la segunda resolución de frecuencia es mayor que la primera resolución de frecuencia o, de nuevo alternativamente, la primera resolución de tiempo es menor que la segunda resolución de tiempo y la primera resolución de frecuencia es igual a la segunda resolución de frecuencia.
Normalmente, los parámetros de difusividad y los parámetros de dirección se calculan para un conjunto de bandas de frecuencia, donde una banda que tiene una frecuencia central inferior es más estrecha que una banda que tiene una frecuencia central superior. Como ya se ha comentado con respecto a la figura 2b, el calculador de parámetros 100 está configurado para obtener parámetros de difusividad iniciales que tienen una tercera resolución de tiempo o frecuencia y el calculador de parámetros 100 también está configurado para obtener parámetros de dirección iniciales que tienen una cuarta resolución de tiempo o frecuencia donde, normalmente, las terceras y cuartas resoluciones de tiempo o de frecuencia son iguales entre sí.
Luego, el calculador de parámetros se configura para agrupar y promediar los parámetros de difusividad iniciales de manera que la tercera resolución de tiempo o frecuencia es mayor que la primera resolución de tiempo o frecuencia, es decir, se realiza una reducción de resolución. El calculador de parámetros también está configurado para agrupar y promediar los parámetros de dirección iniciales de manera que la cuarta resolución de tiempo o frecuencia es mayor que la segunda resolución de tiempo o frecuencia, es decir, se realiza una reducción de resolución. Preferentemente, la tercera resolución de tiempo o frecuencia es una resolución de tiempo constante, de manera que cada parámetro de difusividad inicial se asocia con una ranura de tiempo o un bin de frecuencia que tiene el mismo tamaño. La cuarta resolución de tiempo o frecuencia es también una resolución de frecuencia constante de manera que cada parámetro de dirección inicial se asocia con una ranura de tiempo o un bin de frecuencia que tiene el mismo tamaño.
El calculador de parámetros está configurado para promediar una primera pluralidad de parámetros de difusividad asociados con una primera pluralidad de ranuras de tiempo. El calculador de parámetros 100 también está configurado para promediar una segunda pluralidad de parámetros de difusividad asociados con la segunda pluralidad de bins de frecuencia, y el calculador de parámetros también está configurado para promediar una tercera pluralidad de parámetros de dirección asociados con una tercera pluralidad de ranuras de tiempo o el calculador de parámetros también está configurado para promediar la cuarta pluralidad de parámetros de dirección asociados con la cuarta pluralidad de bins de frecuencia.
Como se comentará con respecto a la figura 2c y la figura 2D, el calculador de parámetros 100 está configurado para realizar un cálculo de promedio ponderado donde se ponderan un parámetro de difusividad o un parámetro de dirección derivado de una porción de señal de entrada que tiene una medida relacionada con amplitud superior utilizando un factor de ponderación mayor en comparación con un parámetro de difusividad o un parámetro de dirección derivado de una porción de señal de entrada que tiene una medida relacionada con amplitud inferior. El calculador de parámetros 100 está configurado para calcular 143 y la medida relacionada con amplitud por bin en la tercera o la cuarta resolución de tiempo o frecuencia como se ilustra en la figura 2c, punto 143. En el bloque 144, se calculan los factores de ponderación para cada bin y, en el bloque 145, se lleva a cabo una agrupación y promedio utilizando una combinación ponderada tal como una adición ponderada donde se introducen los parámetros de difusividad para los bins individuales en el bloque 145. En la salida del bloque 145, se obtienen los parámetros de difusividad con la primera resolución de tiempo o frecuencia que luego pueden normalizarse en el bloque 146, pero este procedimiento es únicamente opcional.
La figura 2d ilustra el cálculo de los parámetros de dirección con la segunda resolución. En el bloque 146, la medida relacionada con amplitud se calcula por bin en la tercera o cuarta resolución similar al punto 143 de la figura 2c. En el bloque 147, los factores de ponderación se calculan para cada bin, pero no solo dependen de la medida relacionada con amplitud obtenida a partir del bloque 147, sino también usando el parámetro de difusividad correspondiente por bin como se ilustra en la figura 2d. Por lo tanto, para la misma medida relacionada con amplitud, normalmente se calcula un factor superior para una difusividad menor. En el bloque 148, se lleva a cabo agrupación y promedio utilizando una combinación ponderada tal como una adición y el resultado puede normalizarse como se ilustra en el bloque opcional 146. Por lo tanto, en la salida del bloque 146, el parámetro de dirección se obtiene como un vector unitario correspondiente a una región bidimensional o tridimensional tal como un vector cartesiano que puede convertirse fácilmente en una forma polar que tiene un valor de azimut y un valor de elevación.
La figura 3a ilustra una trama de tiempo/frecuencia obtenida por el análisis de banco de filtros 430 de la figura 1a y la figura 1b o aplicada por el banco de filtros de síntesis 440 de la figura 1b. En una realización, todo el intervalo de frecuencia se separa en 60 bandas de frecuencias y una trama, además, tiene 16 ranuras de tiempo. Esta alta resolución de tiempo o frecuencia es preferentemente la tercera o la cuarta resolución de tiempo o frecuencia. Por lo tanto, a partir de 60 bandas de frecuencia y 16 ranuras de tiempo, se obtienen 960 mosaicos o bins de tiempo/frecuencia por trama.
La figura 3b ilustra la reducción de resolución realizada por el calculador de parámetros y, en particular, por el bloque 141 de la figura 2b con el fin de obtener la primera representación de resolución de tiempo o frecuencia para los valores de difusividad. En esta realización, todo el ancho de banda de frecuencia se divide en cinco bandas de agrupación y solo una única ranura de tiempo. Por lo tanto, para una trama, se obtienen, al final, solo cinco parámetros de difusividad por cada trama, que luego se cuantifican y codifican en forma adicional.
La figura 3c ilustra el procedimiento correspondiente realizado por el bloque 142 de la figura 2b. Los parámetros de dirección de alta resolución de la figura 3a, donde se calcula un parámetro de dirección para cada bin, se agrupan y se promedian en la representación de resolución media en la figura 3c donde uno tiene, para cada trama, cinco bandas de frecuencia, pero, en contraste con la figura 3a, ahora cuatro ranuras de tiempo. Por lo tanto, al final, una trama recibe 20 parámetros de dirección, es decir, 20 bins agrupados por trama para los parámetros de dirección y solo cinco bins agrupados por trama para los parámetros de difusividad de la figura 3b. En una realización preferida, los extremos de la banda de frecuencia son exclusivos en sus extremos superiores, de manera que
Al comparar la figura 3b y la figura 3c, cabe señalar que el parámetro de difusividad para la primera banda, es decir, el parámetro de difusividad 1 corresponde a cuatro parámetros de dirección de la primera banda o asociada con ellos. Como se indica más adelante, la precisión de cuantificación para todos los parámetros de dirección en la primera banda está determinada por el parámetro de difusividad para la primera banda o, a modo de ejemplo, la precisión de cuantificación para los parámetros de dirección de la quinta banda, esto es, para los cuatro parámetros de dirección correspondientes que cubren la quinta banda y las cuatro ranuras de tiempo en la quinta banda, se determinan por el parámetro de difusividad único para la quinta banda.
Por lo tanto, en esta realización, donde solo un único parámetro de difusividad consiste en una banda, todos los parámetros de dirección en una banda tienen la misma precisión de cuantificación/descuantificación. Como se describe más adelante, el alfabeto para cuantificar y codificar un parámetro de azimut depende del valor del parámetro de elevación original/cuantificado/descuantificado. Por lo tanto, aunque cada parámetro de dirección para cada banda tiene el mismo parámetro de cuantificación/descuantificación, cada parámetro de azimut para cada bin agrupado o región de tiempo/frecuencia de la figura 3c puede tener un alfabeto diferente para cuantificación y codificación.
El flujo de bits resultante generado por el procesador de cuantificador y codificador 200 que se ilustra en 250 en la figura 2a se ilustra con más detalle en la figura 3d. El flujo de bits puede comprender una indicación de resolución 260 que indica la primera resolución y la segunda resolución. Sin embargo, cuando la primera resolución y la segunda resolución se establecen de manera fija por el codificador y el decodificador, entonces esta indicación de resolución no es necesaria. Los elementos 261, 262 ilustran los parámetros de difusividad codificados para las bandas correspondientes. Dado que la figura 3D ilustra solo cinco bandas, se incluyen solo cinco parámetros de difusividad en el flujo de datos codificados. Los elementos 363, 364 ilustran los parámetros de dirección codificados. Para la primera banda, hay cuatro parámetros de dirección codificados, donde el primer índice del parámetro de dirección indica la banda y el segundo parámetro indica la ranura de tiempo. El parámetro de dirección para la quinta banda y la cuarta ranura de tiempo, es decir, para el bin de frecuencia superior derecho en la figura 3c, se indica como DIR54.
Posteriormente, la aplicación preferida adicional se comenta en detalle.
Descomposición de tiempo-frecuencia
En DirAC, se llevan a cabo tanto el análisis como la síntesis en el dominio de frecuencia. El análisis y síntesis de tiempo-frecuencia se pueden realizar utilizando varias transformaciones de bloque, como transformada de Fourier a corto plazo (STFT), o bancos de filtro, como banco de filtro de espejo en cuadratura modulada por complejo (QMF). En una realización preferida, el objetivo de la presente es compartir las tramas entre el procesamiento DirAC y el codificador de núcleo. Dado que el codificador de núcleo se basa preferentemente en el códec EVS 3GPP, se desea una formulación de 20 ms. Además, criterios importantes tales como resoluciones de tiempo y frecuencia y robustez para solapamiento son relevantes para un procesamiento de tiempo-frecuencia muy activo en DirAC. Dado que el sistema está diseñado para comunicaciones, el retardo algorítmico es otro aspecto de importancia.
Por todas estas razones, el banco de filtros de bajo retardo modulado por complejo (CLDFB) es la opción preferida. El CLDFB tiene una resolución de tiempo de 1,25 ms y divide la trama de 20 ms en 16 ranuras de tiempo. La resolución de frecuencia es de 400 Hz, lo que significa que la señal de entrada se descompone en (fs/2)/400 bandas de frecuencia. La operación de banco de filtros se describe en forma general por la siguiente fórmula:
dónde Xcr y Xci son los valores de sub-banda reales e imaginarios, respectivamente, t es el índice de tiempo de sub-banda con 0<t<15 y k es el índice de sub-banda con 0<k<Lc-1. El prototipo de análisis wc es un filtro de paso bajo asimétrico con una longitud de adaptación dependiente de shp. La longitud de wc viene dada por Lwc = 10 Lc lo que significa que el filtro se extiende por más de 10 bloques consecutivos para la transformación.
Por ejemplo, CLDFB descompondrá una señal muestreada a 48 kHz en 60x16 = 960 mosaicos de tiempo-frecuencia por trama. El retardo después del análisis y la síntesis se puede ajustar mediante la selección de diferentes filtros de prototipo. Se ha descubierto que un retardo de 5 ms (análisis y síntesis) era un buen compromiso entre la calidad entregada y el retraso engendrado. Para cada mosaico de tiempo-frecuencia, se calcula la difusividad y dirección.
Estimación de parámetros DirAC
En cada banda de frecuencia, se estima la dirección de llegada del sonido junto con la difusividad del sonido. A partir del análisis de tiempo-frecuencia de los componentes de formato B de entrada W(n), X'(rí), yi(n), z'(rí), pueden determinarse los vectores de presión y velocidad como:
donde i es el índice de la entrada, n y k los índices de tiempo y frecuencia del mosaico de tiempo-frecuencia, y ex, ey, ez representan los vectores unitarios cartesianos. P{n, k) y U(n, k) necesarios para calcular los parámetros DirAC, a
H n , k ) = ~ $ { { P ( r i , ¡ i ) . U ( n , k ) } saber, DOA y difusividad a través del cálculo del vector de intensidad: 2 , donde (.) denota conjugación compleja. La difusividad del campo de sonido combinado viene dada por:
donde E{.} denota el operador de promedio temporal, c la velocidad del sonido y E(k, n) la energía del campo de sonido dada por:
La difusividad del campo de sonido se define como la relación entre la intensidad del sonido y la densidad de energía, que tiene valores entre 0 y 1.
La dirección de llegada (DOA) se expresa por medio del vector unitario, direction(n, k), definido como
La dirección de llegada se determina mediante un análisis energético de la entrada de formato B y se puede definir como dirección opuesta del vector de intensidad. La dirección se define en coordenadas cartesianas, pero se puede transformar fácilmente en coordenadas esféricas definidas por un radio de unidad, el ángulo de azimut y el ángulo de elevación.
En total, si los valores de los parámetros se convierten directamente en bits, para cada mosaico de tiempofrecuencia, tienen que codificarse 3 valores: ángulo de azimut, ángulo de elevación y difusividad. Entonces, los
metadatos consisten en el ejemplo de CLDFB de 2880 valores por trama, es decir, 144000 valores por segundo. Esta gran cantidad de datos necesita reducirse drásticamente para lograr codificación de baja tasa de bits.
Agrupación y promedio de metadatos DirAC
Para reducir el número de parámetros, los parámetros calculados en cada mosaico de tiempo-frecuencia en primer lugar se agrupan y promedian a lo largo de las bandas de parámetro de frecuencia y durante varias ranuras de tiempo. La agrupación se desacopla entre la difusividad y la dirección, lo que es un aspecto importante de la invención. De hecho, el desacoplamiento explota el hecho de que la difusividad conserva una característica a más largo plazo del campo de sonido que la dirección, que es una señal espacial más reactiva.
Las bandas de parámetros constituyen una descomposición no uniforme y que no se solapa de las bandas de frecuencia luego de, a grandes rasgos, un número entero de veces en la escala de Ancho de Banda Rectangular Equivalente (ERB). Por defecto, se adopta una escala de ERB 9 veces para un total de 5 bandas de parámetros para un ancho de banda de audio de 16 kHz.
La difusividad se calcula como:
, s lo td iffEg+i]- - i y b a n d d i f f [ b i , -1
Jn = s l o t diff[g] ¿ k= b a n d d iff ib ] d i f f u s e n e s s ( n , k ) - p o w e r ( n , k ) £
= b a n d di f f [b)
donde power(n, k)a es la energía de la señal de entrada medida en el mosaico de tiempo-frecuencia de los índices (t, k) y elevada a la potencia de a, diffusess(n,k) es la difusividad de la señal de entrada medida en el mosaico de tiempo-frecuencia de los índices (n, k), y donde banddv[] define el límite de las bandas de parámetros en términos de índices de banda de frecuencia, y slotdv[] define el límite de agrupación con el tiempo en los índices de ranuras de tiempo. Por ejemplo, pueden definirse tablas para 5 bandas de parámetros y 4 grupos de tiempo como:
sloU = [0,4,8,12,16]
banddv = [0,1,3,7,15,60]
El vector de dirección en coordenadas cartesianas se calcula como:
ySlotdv [g+ i ] - i kandcivlb i r 1
-diffuseness(n,k))-power(n,k)«
donde power(n, k)a es la energía de la señal de entrada medida en el mosaico de tiempo-frecuencia de los índices (t, k) y elevado a la potencia de a, diffusess(n,k) es la difusividad de la señal de entrada medida en el mosaico de tiempo-frecuencia de los índices (n, k), y direction(n, k) es la dirección medida en el mosaico de tiempo-frecuencia de los índices (n, k) en coordenadas cartesianas, y donde banddv[] define el límite de las bandas de parámetros en términos de índices de banda de frecuencia, y slotdv[] define el límite de la agrupación con el tiempo en índices de ranuras de tiempo. Por ejemplo, pueden definirse tablas para 5 parámetros de bandas y 4 grupos de tiempo como: slotdv = [0,4,8,12,16]
banddv = [0,1,3,7,15,60]
El parámetro a permite la compresión o la expansión de los pesos con base en energía en la suma de ponderación realizada para promediar los parámetros. En el modo preferido, a = 1.
Generalmente, este valor puede ser un número no negativo real, dado que un exponente menor de 1 también podría ser útil. Por ejemplo 0,5 (raíz cuadrada) todavía da más peso a las señales relacionadas con amplitud mayores, pero de forma más moderada en comparación con un exponente de 1 o mayor de 1.
Después de agrupar y promediar, el vector direccional resultante dv[g, b] ya no es un vector unitario en general. Por lo tanto, la normalización es necesaria:
Posteriormente, se comenta una realización preferida del segundo aspecto de la presente invención. La figura 4a ilustra un aparato para codificar los parámetros de codificación de audio direccional que comprenden parámetros de difusividad y parámetros de dirección de acuerdo con el segundo aspecto adicional. El aparato comprende un cuantificador de parámetros 210 que recibe, en su entrada, los parámetros agrupados como se comenta con respecto al primer aspecto o los parámetros que no se han agrupado o que se han agrupado de manera diferente.
Por lo tanto, el cuantificador de parámetros 210 y el codificador de parámetros posteriormente conectados 220 para codificar parámetros de difusividad cuantificados y parámetros de dirección cuantificados se incluyen junto con la interfaz de salida para generar una representación de parámetros codificados que comprende información sobre los parámetros de difusividad codificados y los parámetros de dirección codificados dentro del bloque 200 de la figura 1 a, por ejemplo. El procesador de cuantificador y codificador 200 de la figura 2a se puede implementar como, por ejemplo, se comenta posteriormente con respecto al cuantificador de parámetros 210 y el codificador de parámetros 220, pero el procesador de cuantificador y codificador 200 también se puede implementar en cualquier forma diferente para el primer aspecto.
Preferentemente, el cuantificador de parámetros 210 de la figura 4a está configurado para cuantificar el parámetro de difusividad como se ilustra en 231 en la figura 4b utilizando un cuantificador no uniforme para producir índices de difusividad. El codificador de parámetros 220 de la figura 4a está configurado como se ilustra en el punto 232, es decir, para codificar de manera entrópica los valores de difusividad obtenidos para una trama utilizando preferentemente tres modos diferentes, aunque se puede utilizar también un único modo o solo dos modos diferentes. Un modo es el modo en bruto que se realiza de tal manera que cada valor de difusividad individual se codifica utilizando, por ejemplo, un código binario o un código binario perforado. Alternativamente, se puede realizar una codificación diferencial de manera que cada diferencia y el valor absoluto original se codifican utilizando el modo en bruto. Sin embargo, la situación puede ser que la misma trama tiene la misma difusividad sobre todas las bandas de frecuencia y se puede utilizar un valor de código único. Una vez más, alternativamente, la situación puede ser que solo hay valores consecutivos para difusividad, es decir, índices de difusividad consecutivos en una trama, y luego la tercera modalidad de codificación puede aplicarse como se ilustra en el bloque 232.
La figura 4c ilustra una implementación del cuantificador de parámetros 210 de la figura 4a. El cuantificador de parámetros 210 de la figura 4a está configurado para convertir el parámetro de dirección en una forma polar como se ilustra en 233. En el bloque 234, se determina una precisión de cuantificación para un bin. Este bin puede ser un bin de alta resolución original o, como alternativa, y preferentemente, un bin agrupado de baja resolución.
Como se ha comentado con anterioridad con respecto a la figura 3b y figura 3c, cada banda tiene el mismo valor de difusividad, pero tiene cuatro valores de dirección diferentes. La misma precisión de cuantificación se determina para toda la banda, es decir, para todos los parámetros de dirección dentro de una banda. En el bloque 235, el parámetro de elevación como salida por el bloque 233 se cuantifica utilizando la precisión de cuantificación. El alfabeto de cuantificación para cuantificar el parámetro de elevación preferentemente también se obtiene a partir de la precisión de cuantificación para el bin como se determina en el bloque 234.
Para el propósito de procesar el valor de azimut, el alfabeto de azimut se determina 236 a partir de la información de elevación para el bin de tiempo/frecuencia (agrupado) correspondiente. La información de elevación puede ser el valor de elevación cuantificado, el valor de elevación original o el valor de elevación cuantificado y nuevamente descuantificado donde se prefiere este último valor, es decir, el valor de elevación cuantificado y nuevamente descuantificado, con el fin de tener la misma situación en el lado del codificador y en el lado del decodificador. En el bloque 237, el parámetro de azimut se cuantifica con el alfabeto para este bin de tiempo/frecuencia. Mientras que uno puede tener la misma precisión de cuantificación de una banda como se ha comentado con anterioridad con respecto a la figura 3b, sin embargo, puede tenerse diferentes alfabetos de azimut para cada bin de tiempo/frecuencia agrupado individual asociado con un parámetro de dirección.
Codificación de metadatos DirAC
Para cada trama, los parámetros espaciales DirAC se calculan sobre una rejilla que consiste en bandas nbands a través de la frecuencia y, para cada banda de frecuencia b, las ranuras de tiempo num_slots se agrupan en un número de grupos de tiempo nblocks(b) de igual tamaño. Se envía un parámetro de difusividad para cada banda de frecuencia, y un parámetro de dirección para cada grupo de tiempo de cada banda de frecuencia.
Por ejemplo, si nbands = 5 y nblocks(b) = 4, con num_slots = 16, esto resulta en 5 parámetros de difusividad y 20 parámetros de dirección por trama, que se cuantificarán adicionalmente y se codificarán de manera entrópica.
Cuantificación de parámetros de difusividad
Cada parámetro de difusividad diff(b) se cuantifica a uno de los niveles discretos diff_alph, utilizando un cuantificador no uniforme que produce el índice de difusividad diff_idx(b). Por ejemplo, el cuantificador puede derivarse de la tabla de cuantificación ICC utilizada en el estándar MPS, para los que los umbrales y los niveles de reconstrucción se calculan por la función generate_diffuseness_quantizer.
Preferentemente, solo se utilizan los valores no negativos de la tabla de cuantificación ICC, como icc = [1,0, 0,937, 0,84118, 0,60092, 0,36764, 0,0], que contiene solo 6 niveles de los 8 originales. Dado que un ICC de 0,0 corresponde a una difusividad de 1,0, y un ICC de 1,0 corresponde a una difusividad de 0,0, se crea un conjunto de coordenadas y como y = 1,0 - icc, con un conjunto correspondiente de coordenadas x como x = [0,0, 0,2, 0,4, 0,6, 0,8, 1,0]. Un método de interpolación cúbica por piezas de preservación de la forma, denominado polinomio de interpolación de Hermite cúbico por piezas (PCHIP), se utiliza para derivar una curva que pasa por el conjunto de puntos definidos por x e y. El número de pasos del cuantificador de difusividad es diff_alph, que en la implementación propuesta es 8, pero no tiene relación con el número total de los niveles de la tabla de cuantificación ICC, que es también 8.
Se genera un nuevo conjunto de coordenadas diff_alph igualmente espaciadas interpoladas por x de 0,0 a 1,0 (o cerca de, pero menor de 1,0, cuando el caso de difusividad pura de 1,0 se evita debido a consideraciones de renderización de sonido), y los valores de y correspondientes en la curva se utilizan como los valores de reconstrucción, estando esos valores de reconstrucción no linealmente espaciados. También se generan puntos a mitad camino entre los valores interpolados por x consecutivos, y los valores de y correspondientes de la curva se utilizan como valores de umbral para decidir qué valores asignar a un índice de difusividad en particular y, por lo tanto, valor de reconstrucción. Para la implementación propuesta, los valores generados de reconstrucción y de umbral (redondeados a 5 dígitos), calculados por la función generate_diffuseness_quantizer son:
reconstrucciones = [0,0, 0,03955, 0,08960, 0,15894, 0,30835, 0,47388, 0,63232, 0,85010]
umbrales = [0,0, 0,01904, 0,06299, 0,11938, 0,22119, 0,39917, 0,54761,0,73461,2,0]
Se añade un valor de umbral grande de marcador de posición fuera del rango (2,0) en el extremo de los umbrales para que la búsqueda sea más sencilla. A modo de ejemplo, si diff(b) = 0,33, para una banda particular b, entonces umbrales[4] <= diff(b) < umbrales [5], por lo tanto, diff_idx(b) = 4, y el valor de reconstrucción correspondiente es reconstrucciones[4] = 0,30835.
El procedimiento anterior es solo una posible elección de un cuantificador no lineal para los valores de difusividad.
Codificación entrópica de los parámetros de difusividad
La función EncodeQuasiUniform(value, alphabet_sz) se utiliza para codificar value con probabilidad cuasi uniforme utilizando un código perforado. Para value e {0, alphabet_sz - 1}, una serie de las más pequeñas se codifica utilizando Uog2alpbabet_sz-¡ bits, y el resto utilizando Uog2alpbabet_sz-¡ + 1 bits. Si alphabet_sz es una potencia de dos, resulta una codificación binaria.
Dependiendo de sus valores, los índices de difusividad cuantificados pueden codificarse de manera entrópica utilizando uno de los tres métodos disponibles: codificación en bruto, solo un valor y solo dos valores consecutivos. El primer bit (diff_use_raw_coding) indica si se utiliza el método de codificación en bruto. Para la codificación en bruto, cada valor de índice de difusividad se codifica utilizando la función EncodeQuasiUniform.
Si todos los valores de índice son iguales, se utiliza el método de solo un valor. Un segundo bit (diff_have_unique_value) se utiliza para indicar este método, entonces el valor único se codifica utilizando la función EncodeQuasiUniform. Si todos los valores de índice consisten solamente en dos valores consecutivos, se utiliza el método de solo dos valores consecutivos, indicado por el segundo bit anteriormente. El menor de los dos valores consecutivos se codifica utilizando la función EncodeQuasiUniform, teniendo en cuenta que su tamaño de alfabeto se reduce a diff_alph - 1. Entonces, para cada valor, la diferencia entre este y el valor mínimo se codifica utilizando un bit.
Una función EncodeQuasiUniform preferida (value, alphabet_sz) implementa lo que se denomina un código perforado. Se puede definir en pseudo-código como:
bits = floor(log2(alphabet_sz))
thresh = 2 A (bits 1) - alphabet_sz
si (value < thresh)
write_bits(value, bits)
entonces
write_bits(value thresh, bits 1)
Si alphabet_sz es una potencia de 2, entonces alphabet_sz = 2 A bits, y thresh = 2 A bits, por lo tanto, la rama “entonces” nunca se utiliza, y el resultado es codificación binaria. De lo contrario, los primeros valores más pequeños de thresh se codifican utilizando un código binario que tiene bits de los bits, y el resto, comenzando con un valor = thresh, se codifican utilizando un código binario que tiene bits 1 bits. El primer código binario codificado utilizando bits 1 bits tiene el valor value thresh = thresh thresh = thresh * 2, por lo tanto, el decodificador puede determinar, mediante solo la lectura de los primeros bits y su comparación con su valor con thresh, si necesita leer otro bit adicional. La función de decodificación, DecodeQuasiUniform(alphabet_sz) se puede definir en pseudocódigo como:
bits = floor(log2(alphabet_sz))
thresh = 2 a (bits 1) - alphabet_sz
value = read_bits(bits)
si (value >= thresh)
value = (value * 2 read_bits(1)) - thresh
return value
Conversión de los parámetros de dirección a coordenadas polares
Cada vector de dirección tridimensional dv, que está normalizado, de manera tal que dv[0]2 dv[1]2 dv[2]2 = 1, se convierte en una representación polar que consiste en un ángulo de elevación el e [-90,90] y un ángulo de azimut az e [0,360], utilizando la función DirectionVector2AzimuthElevation. La conversión de dirección inversa, a partir de coordenadas polares a un vector de dirección normalizada, se logra utilizando la función AzimuthEle vation2Direction Vector.
Cuantificación de los parámetros de dirección
Una dirección, representada como un par de elevación y azimut, se cuantifica en forma adicional. Para cada nivel de índice de difusividad cuantificado, se selecciona una precisión angular requerida del vector de configuración angle_spacing como deg_req = angle_spacing(diff_idx(b)) y se utiliza para generar un conjunto de puntos de cuantificación distribuidos de manera cuasi-uniforme sobre la esfera unitaria.
El valor de separación de ángulo deg_req preferentemente no se calcula a partir de la difusividad diff(b), sino a partir del índice de difusividad diff_idx(b). Por lo tanto, hay valores deg_req posibles de diff_alph, uno para cada índice de difusividad posible. En el lado del decodificador, la difusividad original diff(b) no está disponible, solo el índice de difusividad diff_idx(b), que puede utilizarse para seleccionar el mismo valor de separación de ángulo que en el codificador. En la aplicación propuesta, la tabla de separación de ángulo es:
angle_spacing_table = [5,0, 5,0, 7,5, 10,0, 18,0, 30,0, 45,0, 90,0]
Los puntos distribuidos de manera cuasi uniforme sobre la esfera unitaria se generan de manera que satisfacen varias propiedades deseables importantes. Los puntos deben distribuirse simétricamente con respecto a los ejes X, Y y Z. La cuantificación de una dirección dada al punto más cercano y la asignación a un índice de número entero debe ser una operación de tiempo constante. Por último, el cálculo del punto correspondiente en la esfera del índice de número entero y la descuantificación a una dirección debe ser una operación de tiempo constante o logarítmica con respecto al número total de puntos en la esfera.
Hay dos tipos de simetría con respecto a un eje para los puntos de un plano horizontal: con dos puntos presentes donde el eje ortogonal corta la esfera unitaria en el plano actual, y sin puntos presentes. Como ejemplo para un plano horizontal arbitrario, hay tres casos posibles. Si el número de puntos es un múltiplo de 4, como 8, hay simetría con respecto al eje X (izquierdo-derecho) y dos puntos presentes en 90 y 270 grados en el eje Y, y la simetría con respecto al eje Y (delantero-trasero) y dos puntos presentes en 0 y 180 grados en el eje X. Si el número de puntos es solamente un múltiplo de 2, como 6, hay simetría con respecto al eje X, pero no hay puntos en 90 y 270 grados en el eje Y, y la simetría con respecto al eje Y y dos puntos presentes en 0 y 180 grados en el eje X. Finalmente, cuando el número de puntos es un número entero arbitrario, como 5, hay simetría con respecto al eje X pero ningún punto a 90 y 270 grados en el eje Y, y ninguna simetría con respecto al eje Y.
En la realización preferida, tener puntos en 0, 90, 180 y 270 grados en todos los planos horizontales (que corresponden a todas las elevaciones cuantificadas) se consideró útil desde una perspectiva psicoacústica, lo que implica que el número de puntos en cada plano horizontal es siempre un múltiplo de 4. Sin embargo, dependiendo de la aplicación particular, la condición del número de puntos en cada plano horizontal se puede relajar de modo que sea solo un múltiplo de 2, o un número entero arbitrario.
Además, en la realización preferida, para cada elevación siempre existe un punto de azimut de “origen” en la dirección privilegiada de 0 grados (hacia delante). Esta propiedad puede relajarse por la selección de un ángulo de desplazamiento de cuantificación precalculado para cada elevación por separado, con los puntos de azimut distribuidos con respecto a esta en lugar de la dirección de 0 grados. Se puede implementar fácilmente añadiendo el desplazamiento antes de la cuantificación, y restándolo después de la descuantificación.
La precisión angular requerida es deg_req y debe ser un divisor de 90 grados. De lo contrario, se vuelve a calcular antes del uso real como deg_req = 90 4- r90 4 deg_req]. Por ejemplo, la lista de valores posibles es {90, 45, 30, 22,5, 18, 15, 12,86, 11,25, 10, ... ,5, ...}. El ángulo de elevación el se cuantifica uniformemente, con tamaño de paso deg_req, produciendo el_idx = round(el 4 deg_req) + n_points, uno de los índices de cuantificación el_alph = 2 ■ n_points + 1 , donde n_points = r904 deg_req .^ Este índice corresponde a una elevación descuantificada de q_el = (el_idx - n_points) • deg_req. De manera equivalente, con base solo en el tamaño de alfabeto, el_idx = round (((el + 90) 4180) ■ (el_alph - 1)) para la cuantificación y q_el = (el_idx 4 (el_alph - 1)) ■ 180 - 90 para la descuantificación.
En el ecuador, el ángulo de azimut az se cuantifica uniformemente, con tamaño de paso deg_req, produciendo az_idx, uno de los índices de cuantificación 4 ■ n_points. Para otras elevaciones, la separación de ángulo horizontal, observada desde el centro de la esfera unitaria, que corresponde a la longitud de cuerda entre dos puntos consecutivos, se puede aproximar por la longitud del arco en el círculo horizontal situado en la elevación q_el. Por lo tanto, el número de puntos que corresponde a 90 grados en este círculo horizontal se reduce, con respecto al círculo del ecuador, proporcionalmente con su radio, de manera que la longitud del arco entre dos puntos consecutivos permanece aproximadamente igual en todas partes. En los polos, el número total de puntos se convierte en uno.
Existen índices de cuantificación az_alph = max(4 ■ round(radius_len ■ n_points),1), correspondientes a la elevación q_el, donde radius_len = cos(q_el). El índice de cuantificación correspondiente es az_idx = round((az 4360), donde un valor resultante de az_alph se sustituye con 0. Este índice corresponde a un azimut descuantificado de q_az = az_idx ■ (3604 az_alph). Como nota, con exclusión de los polos donde az_alph = 1, los valores más pequeños cerca de los polos son az_alph = 4 para deg_req = 90 y deg_req = 45, y az_alph = 8 para todos los demás.
Si la condición del número de puntos en cada plano horizontal se relaja de modo que es solo un múltiplo de 2, el alfabeto de azimut se convierte en az_alph = max(2 ■ round(radius_len ■ (2 ■ n_points)),1), porque hay 2 ■ n_points correspondientes a 180 grados sobre el plano ecuatorial. Si la condición del número de puntos se relaja de modo que es un número entero arbitrario, el alfabeto de azimut se convierte en az_alph = max(round(radius_len ■ (4 ■ n_points)),1), porque hay 4 ■ n_points correspondientes a 360 grados sobre el plano ecuatorial. En ambos casos, en el plano ecuatorial el número de puntos es siempre un múltiplo de 4, porque radius_len = 1 y n_points es un número entero.
El proceso de cuantificación y descuantificación descrito anteriormente se logra usando las funciones QuantizeAzimuthElevation y DequantizeAzimuthElevation, respectivamente.
Preferentemente, la función round(x) redondea x al número entero más cercano, normalmente implementado en un punto fijo como round(x) = floor(x 0,5). El redondeo de esos valores, que son valores exactamente a medio camino entre los números enteros, como 1,5, se puede hacer de varias maneras. La definición anterior redondea los valores hacia infinito (1,5 se redondea a 2, 2,5 se redondea a 3). Las implementaciones de coma flotante por lo general tienen una función nativa de redondeo a enteros, redondeando los valores a números enteros pares (1,5 se redondea a 2, 2,5 se redondea a 2).
La figura 4d indicada como “cobertura cuasi uniforme de la esfera unitaria” ilustra un ejemplo de una cobertura cuasi uniforme de la esfera unitaria utilizando 15 grados de precisión angular, que muestra las direcciones cuantificadas. La vista 3D es desde arriba, solo se representa el hemisferio superior para una mejor visualización, y la línea de puntos en espiral de conexión es solo para facilitar la identificación visual de los puntos del mismo círculo o plano horizontal.
Posteriormente, se ilustra una implementación preferida del codificador de parámetros 220 de la figura 4a con el fin de codificar los parámetros de dirección cuantificados, es decir, los índices de elevación cuantificados y los índices de azimut cuantificados. Como se ilustra en la figura 5a, el codificador está configurado para categorizar 240 cada trama con respecto a los valores de difusividad en la trama. El bloque 240 recibe los valores de difusividad que son, en la realización de la figura 3b, solo cinco valores de difusividad para la trama. Si la trama comprende solamente los valores de baja difusividad, se aplica el modo de codificación de baja difusividad 241. Cuando los cinco valores de difusividad en la trama son solo valores de alta difusividad, entonces se aplica el modo de codificación de alta difusividad 242. Cuando se determina que ambos valores de difusividad en la trama están por debajo y por encima del umbral de difusividad ec_max, entonces, se aplica el modo de codificación de difusividad mixta 243. En el modo de codificación de baja difusividad 241 y el modo de codificación de alta difusividad 242, y también para las bandas de baja difusividad, con respecto a una trama de difusividad mixta, se intentan la codificación en bruto, por un lado, y
la codificación entrópica, por el otro lado, es decir, como se indica en 244a, 244b y 244c. Sin embargo, para las bandas de alta difusividad en una trama de difusividad mixta, siempre se utiliza el modo de codificación en bruto como se indica en 244d.
En el caso en que se utilizan los diferentes modos de codificación, es decir, el modo de codificación en bruto y el modo de codificación entrópica (con modelado), el resultado se selecciona por un controlador de codificador que selecciona el modo que se traduce en un menor número de bits para codificar los índices cuantificados. Esto se indica en 245a, 245b y 245c.
Por el otro lado, solo se puede utilizar el modo de codificación en bruto para todas las tramas y bandas o solo el modo de codificación entrópica con modelado para todas las bandas o cualquier otro modo de codificación para codificar los índices como un modo de codificación de Huffman o modo de codificación aritmética con o sin adaptación de contexto.
Dependiendo del resultado del procedimiento seleccionado en los bloques 245a, 245b y 245c, se establece la información complementaria para toda la trama, como se ilustra en los bloques 246a, 246b o se establece solo para las bandas correspondientes, es decir, las bandas de baja difusividad en el bloque 246c. Alternativamente, la información complementaria también se puede configurar para toda la trama en el caso del elemento 246c. En este caso, la determinación de las bandas de alta difusividad se puede llevar a cabo solo en el decodificador, así que a pesar de que la información complementaria se establece para toda la trama, el decodificador, sin embargo, determina que hay una trama de difusividad mixta y que los parámetros de dirección para la bandas que tienen un alto valor de difusividad en esta trama de difusividad mixta están codificados con el modo de codificación en bruto aunque la información complementaria para la trama indica el modo de codificación entrópica con modelado.
En una realización preferida, diff_alph = 8. Entonces, el valor de umbral ec_max se selecciona de modo que sea 5, por medio de la reducción al mínimo del tamaño comprimido promedio en un gran corpus de prueba. Este valor de umbral ec_max se utiliza en el siguiente modo, dependiendo del rango de valores para los índices de difusividad de la trama actual:
- para tramas de difusividad baja a media, donde diff_idx (b) <= ec_max, para todas las bandas b, todas las direcciones se codifican utilizando codificación en bruto y entrópica y se selecciona la mejor y se indica mediante un bit de información complementaria (identificado anteriormente como dir_use_raw_coding);
- para tramas de difusividad mixta, donde diff_idx (b) <= ec_max, para algunas bandas b, las direcciones correspondientes a esas bandas se codifican exactamente como en el primer caso; sin embargo, para las otras bandas b de alta difusividad, donde diff_idx (b) > ec_max, las direcciones correspondientes a estas otras bandas siempre se codifican como en bruto (para evitar la mezcla de estadísticas de codificación entrópica de direcciones que tienen difusividad baja a media con direcciones que tienen alta difusividad, que también se cuantifican de manera aproximada);
- para tramas de alta difusividad, donde diff_idx(b) > ec_max, para todas las bandas b, el umbral ec_max se establece con anterioridad a ec_max = diff_alph para la trama actual (ya que los índices de difusividad se codifican antes de las direcciones, este ajuste se puede hacer de antemano de manera idéntica en el lado del decodificador), por lo tanto, este caso se reduce al primer caso.
La figura 5b ilustra un preprocesamiento preferido pero opcional de los índices de dirección para ambos modos. Para ambos modos, los índices de dirección cuantificados, es decir, los índices de azimut cuantificados y los índices de elevación cuantificados se procesan en el bloque 247 en una conversión de índices de elevación/azimut que resulta en valores con signo, donde el índice de cero corresponde a un ángulo de elevación o azimut de cero. Una conversión posterior 248 a valores sin signo que comprende un entrelazado de valores positivos/negativos se lleva a cabo con el fin de tener una representación más compacta de los índices de azimut/elevación sin signo reordenados.
La figura 5c ilustra una implementación preferida del primer modo de codificación 260, es decir, el modo de codificación en bruto sin modelado. Los índices de azimut/elevación preprocesados se introducen en el bloque 261 con el fin de fusionar ambos índices en un solo índice de esfera. Sobre la base de la precisión de cuantificación derivada del índice de difusividad asociado, es decir, deg_req, se realiza 262 una codificación con una función de codificación tal como EncodeQuasiUniform o un código binario (perforado). Por lo tanto, se obtienen los índices de esfera codificados ya sea para las bandas o para toda la trama. Los índices de esfera codificados para toda la trama se obtienen en el caso de una trama única de baja difusividad donde se ha seleccionado codificación en bruto o en una trama única de alta difusividad, donde nuevamente se ha seleccionado la codificación en bruto o los índices de esfera codificados solo para bandas de alta difusividad de una trama se obtienen en el caso de una trama de difusividad mixta indicada en 243 en la figura 5a donde, para las otras bandas, con difusividad baja o media, se ha seleccionado un segundo modo de codificación tal como codificación entrópica con modelado.
La figura 5d ilustra este segundo modo de codificación que puede, por ejemplo, ser un modo de codificación entrópica con modelado. Los índices preprocesados que, por ejemplo, se clasifican para una trama de difusividad mixta como se ilustra en la figura 5a en 240, se introducen en un bloque 266 que recoge los datos de cuantificación correspondientes, tales como índices de elevación, alfabetos de elevación, índices de azimut, alfabetos de azimut, y estos datos se recogen en vectores separados para una trama. En el bloque 267, se calculan los promedios para la elevación y el azimut claramente sobre la base de la información derivada de la descuantificación y el vector de transformación correspondiente, como se comenta más adelante. Estos valores promedio se cuantifican con la máxima precisión angular utilizada en la trama indicada en el bloque 268. Los índices de elevación y azimut predichos se generan a partir de los valores promedio, como se ilustra en el bloque 269, y las distancias con signo para elevación y azimut de los índices originales y relacionados con los índices de elevación y azimut predichos se calculan y opcionalmente se reducen a otro intervalo de valores más pequeño.
Como se ilustra en la figura 5e, los datos generados por la operación de modelado utilizando una operación de proyección para derivar los valores de predicción ilustrados en la figura 5d se codifican de manera entrópica. Esta operación de codificación ilustrada en la figura 5e finalmente genera bits de codificación a partir de los datos correspondientes. En el bloque 271, los valores promedio de azimut y elevación se convierten en valores con signo y se lleva a cabo una cierta reordenación 272 con el fin de tener una representación más compacta, y estos valores promedio se codifican 273 con un código binario o un código binario perforado para generar los bits de elevación promedio 274 y los bits de azimut promedio. En el bloque 275, se determina un parámetro de Golomb-Rice tal como se ilustra en la figura 5f, y este parámetro también se codifica con un código binario (perforado) ilustrado en el bloque 276 para contar con el parámetro de Golomb-Rice para elevación y otro parámetro de Golomb-Rice para azimut ilustrado en 277. En el bloque 278, las distancias con signo (reducidas) calculadas por el bloque 270 se reordenan y luego se codifican con el método de Golomb-Rice extendido ilustrado en 279 para contar con las distancias de elevación y distancias de azimut codificadas indicadas en 280.
La figura 5f ilustra una implementación preferida para la determinación del parámetro de Golomb-Rice en el bloque 275 que se realiza para la determinación del parámetro de Golomb-Rice de elevación o el parámetro de Golomb-Rice de azimut. En el bloque 281, se determina un intervalo para el parámetro de Golomb-Rice correspondiente. En el bloque 282, el número total de bits para todas las distancias con signo reducidas se calcula para cada valor candidato y, en el bloque 283, el valor candidato que resulta en el menor número de bits se selecciona como el parámetro de Golomb-Rice para cualquiera de procesamiento de azimut o elevación.
Posteriormente, se comenta la figura 5g con el fin de ilustrar adicionalmente el procedimiento en el bloque 279 de la figura 5e, es decir, el método de Golomb-Rice extendido. Con base en el parámetro p de Golomb-Rice seleccionado, el índice de distancia para elevación o azimut se separa en una parte de MSP más significativa y una parte de LSP menos significativa como se ilustra a la derecha del bloque 284. En el bloque 285, se elimina una terminación de cero bits de la parte de MSP, en el caso en que el MSP es el valor máximo posible, y en el bloque 286, el resultado se codifica con un código binario (perforado).
La parte de LSP también se codifica con un código binario (perforado) que se ilustra en 287. Por lo tanto, en las líneas 288 y 289, se obtienen los bits codificados para la parte de MSP más significativa y los bits codificados para la parte de LSP menos significativa que en conjunto representan las distancias con signo correspondientes reducidas codificadas ya sea por elevación o por azimut.
La figura 8d ilustra un ejemplo de una dirección codificada. Un modo de bit 806 indica el, por ejemplo, modo de codificación entrópica con modelado. El elemento 808a ilustra los bits promedio de azimut y el elemento 808b ilustra los bits promedio de elevación como se ha comentado con anterioridad con respecto al elemento 274 de la figura 5e. Un parámetro de azimut de Golomb-Rice 808c y un parámetro de elevación de Golomb-Rice 808d también se incluyen en forma codificada en el flujo de bits de la figura 8d correspondiente a lo que se ha comentado con anterioridad con respecto al elemento 277. Las distancias de elevación codificadas y las distancias de azimut codificadas 808e y 808f se incluyen en el flujo de bits obtenido en 288 y 289 o como se ha comentado con anterioridad con respecto al elemento 280 en la figura 5e y la figura 5g. El elemento 808g ilustra bits de carga útil adicionales para otras distancias de elevación/azimut. Los promedios para elevación y azimut y los parámetros de Golomb-Rice para elevación y azimut solo se requieren una única vez para cada trama, pero pueden, de ser necesario, también calcularse dos veces para una trama o así, si la trama es bastante larga o las estadísticas de señal cambian fuertemente dentro de una trama.
La figura 8c ilustra el flujo de bits cuando el modo de bit indica la codificación en bruto tal como se define por la figura 5c, bloque 260. El modo de bit 806 indica el modo de codificación en bruto y el punto 808 indica los bits de carga útil para los índices de esfera, es decir, el resultado del bloque 262 de la figura 5c.
Codificación entrópica de parámetros de dirección
Cuando se codifica una dirección cuantificada, el índice de elevación el_idx siempre se codifica primero, antes del
índice de azimut az_idx. Si la configuración actual solo tiene en cuenta el plano ecuatorial horizontal, entonces nada se codifica para la elevación y se considera cero en todas partes.
Antes de la codificación, se asignan valores con signo a valores sin signo mediante el uso de una transformación de reordenamiento genérica, que intercala los números positivos y negativos en números sin signo como u_val = 2 ■ |s_va| -(s_val< 0), implementados por la función ReorderGeneric. La expresión (condition) se evalúa a 1 si condition es real, y se evalúa a 0 si condition es falso.
Dado que varios de los valores sin signo más pequeños se codifican de manera más eficiente, con un bit menos, utilizando la función EncodeQuasiUniform, tanto los índices de elevación como azimut, que ya están sin signo, se convierten a con signo de manera que un valor de índice con signo de cero corresponde a un ángulo de elevación o azimut de cero, y solo después se aplica la función ReorderGeneric. Por la primera conversión a con signo, el valor de cero se encuentra en el medio del intervalo con signo de valores posibles, y después de la aplicación de la función ReorderGeneric, el valor del índice de elevación reordenado sin signo resultante es el_idx_r = ReorderGeneric(el_idx - êl_alph 4- 2J), y el valor del índice de azimut reordenado sin signo resultante es az_idx_r= ReorderCeneric(az_idx - az_alph ■ (az_idx > az_alph 42)).
Para la codificación en bruto, sin modelado, los dos índices reordenados sin signo se fusionan en un solo índice de esfera sin signo sphere_idx = sphere_offsets(deg_req, el_idx_i) + az_idx_r, donde la función sphere_offsets calcula la suma de todos los alfabetos de azimut az_alph correspondientes a los índices de elevación reordenados sin signo menores que el_idx_r. Por ejemplo, cuando deg_req = 90, donde el_idx_r = 0 (elevación de 0 grados) tiene az_alph = 4, el_idx_r = 1 (elevación de -90 grados) tiene az_alph = 1, y el_idx_r = 2 (elevación de 90 grados) tiene az_alph = 1, sphere_offsets(90,2) tomaría el valor 4 1. Si la configuración actual solo tiene en cuenta el plano ecuatorial horizontal, entonces el_idx_r es siempre 0 y el índice de esfera sin signo se simplifica a sphere_idx = az_idx_r. En general, el número total de puntos de la esfera, o recuento de puntos de la esfera, es sphere_alph = sphere_offsets(deg_req, el_alph + 1).
El índice de esfera sin signo shpere_idx se codifica utilizando la función EncodeQuasiUniform. Para codificación entrópica, con modelado, las direcciones cuantificadas se agrupan en dos categorías. La primera contiene las direcciones cuantificadas para los índices de difusividad diff_idx(b) < ec_max que se codifican de manera entrópica, y la segunda contiene las direcciones cuantificadas para los índices de difusividad diff_idx(b) > ec_max que se codifican en bruto, donde ec_max es un umbral elegido de manera óptima dependiente de diff_alph. Este enfoque excluye implícitamente de la codificación entrópica las bandas de frecuencia con alta difusividad, cuando las bandas de frecuencia con difusividad baja a media también están presentes en una trama, para evitar mezclar estadísticas de los residuales. Para una trama de difusividad mixta, siempre se utiliza codificación en bruto para las bandas de frecuencia con alta difusividad. Sin embargo, si todas las bandas de frecuencia tienen una alta difusividad, diff_idx(b) > ec_max, el umbral se fija de antemano a ec_max = diff_alph para permitir la codificación entrópica para todas las bandas de frecuencia.
Para la primera categoría de direcciones cuantificadas, que se codifican de manera entrópica, los correspondientes índices de elevación el_idx, alfabetos de elevación el_alph, índices de azimut az_idx y alfabetos de azimut az_alph se recogen en vectores separados para su posterior procesamiento.
Un vector de dirección promedio se deriva, mediante la conversión de cada dirección cuantificada que se codifica de manera entrópica nuevamente a un vector de dirección, por el cálculo de la media, la mediana o el modo de los vectores de dirección incluyendo renormalización, y la conversión del vector de dirección en elevación el_avg y azimut az_avg promedio. Estos dos valores se cuantifican utilizando la mejor precisión angular deg_req utilizada por las direcciones cuantificadas que se codifican de manera entrópica, denotadas por deg_req_avg, que es normalmente la precisión angular requerida correspondiente al índice de difusividad más pequeño mine(diff_idx(b)), para b e {0, ..., nbands - 1} y diff_idx(b) < ec_max.
Por el uso del valor n_points_avg correspondiente derivado de deg_req_avg, se cuantifica normalmente el_avg para producir el_avg_idx y el_avg_alph, sin embargo, se cuantifica az_avg mediante la precisión en el ecuador, produciendo az_avg_idx y az_avg_alph = 4 ■ n_points_avg.
Para cada dirección a codificar de manera entrópica, la elevación promedio descuantificada q_el_avg y el azimut q_az_avg se proyectan utilizando la precisión de esa dirección, para obtener índices de elevación y azimut predichos. Para un índice de elevación el_idx, su precisión, que se puede derivar de el_alph, se utiliza para calcular el índice de elevación promedio proyectado el_avg_idx_p. Para el índice de azimut correspondiente az_idx, su precisión en el círculo horizontal situado en la elevación q_el, que se puede derivar de az_alph, se utiliza para calcular el índice de azimut promedio proyectado az_avg_idx_p.
La proyección para obtener índices de elevación y azimut predichos puede calcularse de varias maneras
el_avg_idx_p - round (q~el
equivalentes. Para la elevación, 1 a 8 v 0 a+9° ■ (el_alph - 1)
que puede simplificarse el_avg_idx_p = round e L a v g j d x • (el_alph - 1) j
fácilmente a \ei_avg_aiph-i ' ~ ‘ para facilitar la operación de bits exactos, la fórmula anterior se puede reescribir utilizando matemáticas de números enteros solamente, incluyendo la división, como el_avg_idx_p = (2 ■ el_avg_idx ■ (el_alph - 1) (el_avg_alph - 1)) div (2 ■ (el_avg_alph - 1)). Para azimut, az_avg_idx_p = round ( f-q _a¿_avg _ a z m Q ¿ a z a lp f r
360 J , que puede simplificarse fácilmente a az_avq_idx_p = round { "z "/T . az_alph) mod azjalph
\az„avg„aiph ) . Para facilitar la operación de bits exactos, la fórmula anterior se puede reescribir utilizando matemáticas de números enteros solamente, incluyendo la división, como az_avg_idx_p = ((2 ■ az_avg_idx ■ az_alph + az_avg_alph) div (2 ■ az_avg_alph)) mod az_alph. En los polos, donde az_alph = 1, siempre se ajusta a z id x = 0 y az_avg_idx_p directamente.
La distancia con signo el_idx_dist se calcula como la diferencia entre cada índice de elevación el_idx y su el_avg_idx_p correspondiente. Además, debido a que la diferencia produce valores en el intervalo {-el_alph + 1, ..., el_alph - 1}, se reducen al intervalo {-lel_alph ^ 2j ,..., Lel_alph ^ 2J } mediante la adición de el_alph a valores que son demasiado pequeños y resta de el_alph a los valores que son demasiado grandes, como en la aritmética modular. Si esta distancia reducida con respecto a el_avg_idx_p se interpreta utilizando la envolvente, puede producir todos los valores del alfabeto sin signo que contienen valores el_alph.
De manera similar, la distancia con signo az idx dist se calcula como la diferencia entre cada índice de azimut az idx y su az_avg_idx_p correspondiente. La operación de diferencia produce valores en el intervalo {-az_alph + 1, ..., az_alph - 1}, que se reducen al intervalo {-az_alph ^ 2, ..., az_alph -f 2 - 1} mediante la adición de az_alph a valores que son demasiado pequeños y resta de az_alph a valores que son demasiado grandes. Cuando az_alph = 1, el índice de azimut es siempre a z id x = 0 y no se requiere codificación.
Dependiendo de sus valores, los índices de elevación y azimut cuantificados pueden codificarse utilizando uno de los dos métodos disponibles: codificación en bruto o codificación entrópica. El primer bit (dir_use_raw_coding) indica si se utiliza el método de codificación en bruto. Para la codificación en bruto, los índices de esfera sin signo individuales sphere_index fusionados se codifican directamente utilizando la función de EncodeQuasiUniform.
La codificación entrópica se compone de varias partes. Todos los índices de elevación y azimut cuantificados correspondientes a los índices de difusividad diff_idx(b) > ec_max se codifican como para codificación en bruto. Entonces, para los demás, la parte de elevación se codifica en primer lugar de manera entrópica, seguido por la parte de azimut.
La parte de elevación se compone de tres componentes: el índice de elevación promedio, un parámetro de Golomb-Rice, y las distancias de elevación con signo reducidas. El índice de elevación promedio el_avg_idx se convierte a con signo, de manera que el valor de cero está en el medio del intervalo con signo de valores posibles, se aplica la función ReorderGeneric, y el resultado se codifica utilizando la función EncodeQuasiUniform. El parámetro de Golomb-Rice, que tiene un tamaño de alfabeto dependiente del máximo de los tamaños de alfabeto de los índices de elevación, se codifica utilizando la función EncodeQuasiUniform. Por último, para cada distancia de elevación con signo reducida el_idx_dist, se aplica la función ReorderGeneric para producir el_idx_dist_r, y el resultado se codifica utilizando el método de Golomb-Rice extendido con el parámetro indicado anteriormente.
Por ejemplo, si la mejor precisión angular deg_req_min utilizada es de 5 grados, entonces el máximo de los tamaños de alfabeto de elevación el_alph será el_alph_max = 2 ■ r90 ^ deg_req_min- + 1 = 37. En este caso, los valores de parámetro de Golomb-Rice (denotados como p en la descripción del método de Golomb-Rice a continuación) se limitan al intervalo {0,1,2,3,4}. En general, el valor más grande potencialmente útil del parámetro de Golomb-Rice es r log2 el_alph_max- - 1, que produce palabras de código binario de una longitud igual o ligeramente mayor que las producidas por la codificación en bruto utilizando la función EncodeQuasiUniform. El valor óptimo del parámetro de Golomb-Rice el_gr_param se selecciona mediante el cálculo de manera eficiente sin codificación, para cada valor en el intervalo anterior, del tamaño total en bits para todos los valores el_idx_dist_r a codificar utilizando el método de Golomb-Rice extendido, y se selecciona el que proporciona el tamaño de bits más pequeño.
La parte de azimut también se compone de tres componentes: el índice promedio de azimut, un parámetro de Golomb-Rice y las distancias de azimut con signo reducidas. El índice de azimut promedio az_avg_idx se convierte a con signo, de manera que el valor de cero está en el medio del intervalo con signo de los valores posibles, se aplica la función ReorderGeneric y el resultado se codifica utilizando la función EncodeQuasiUniform. El parámetro de Golomb-Rice, que tiene un tamaño de alfabeto dependiente del máximo de los tamaños de alfabeto de los índices de azimut, se codifica utilizando la función EncodeQuasiUniform. Por último, para cada distancia de azimut con signo reducida az_idx_dist, se aplica la función ReorderGeneric para producir az_idx_dist_r, y el resultado se
codifica utilizando el método de Golomb-Rice extendido con el parámetro indicado anteriormente.
Por ejemplo, si la mejor precisión angular deg_req_min utilizada es de 5 grados, entonces el máximo de los tamaños de alfabeto de azimut az_alph será az_alph_max = 4 ■ [90 deg_req_min^ = 72. En este caso, los valores de parámetro de Golomb-Rice (denotados como p en la descripción del método de Golomb-Rice a continuación) se limitan al intervalo {0,1,2,3,4,5}. El valor óptimo del parámetro de Golomb-Rice az_gr_param se selecciona mediante el cálculo de manera eficiente, para cada valor en el intervalo anteriormente, del tamaño total en bits para todos los valores az_idx_dist_r a codificar utilizando el método de Golomb-Rice extendido, y se selecciona el que proporciona el tamaño de bits más pequeño.
Una propiedad importante a considerar para una codificación entrópica eficiente es que cada distancia de elevación reducida reordenada el_idx_dist_r puede tener un tamaño de alfabeto diferente, que es exactamente el el_alph del valor de índice de elevación original el_idx, y depende del índice de difusividad diff_idx(b) correspondiente. También, cada distancia de azimut reducida reordenada az_idx_dist_r puede tener un tamaño de alfabeto diferente, que es exactamente el az_alph del valor de índice de azimut original az_idx, y depende del q_el correspondiente de su círculo horizontal y el índice de difusividad diff_idx(b).
El método de codificación entrópica de Golomb-Rice existente, con un parámetro de número entero p > 0, se utiliza para codificar un número entero sin signo u. En primer lugar, u se divide en la parte menos significativa con p bits, u_lsp = u mod2p y la parte más significativa u_msp = lu 2pJ. La parte más significativa se codifica en unario, utilizando u_msp un bit y una terminación de cero bits, y la parte menos significativa se codifica en binario.
Dado que pueden codificarse números enteros arbitrariamente grandes, puede perderse cierta eficiencia de codificación cuando los valores reales a codificar tienen un tamaño de alfabeto conocido y relativamente pequeño. Otra desventaja es la posibilidad de decodificar un valor fuera de rango o no válido, o de la lectura de un número muy grande de un bit, en caso de un error de transmisión o un flujo de bits no válido creado a propósito.
El método de Golomb-Rice extendido combina tres mejoras sobre el método de Golomb-Rice existente, para codificar un vector de valores, cada uno con un tamaño de alfabeto conocido y potencialmente diferente u_alph. En primer lugar, el tamaño de alfabeto de la parte más significativa puede calcularse como u_msp_alph = ru_alph + 2pn. Si se codifica el valor máximo posible de la parte más significativa, u_msp_alph - 1, la terminación de cero bits puede eliminarse, dado que esta condición puede detectarse implícitamente en el lado del decodificador, siendo la modificación el método de Golomb-Rice limitado existente. Además, para el mismo caso cuando u_msp = u_msp_alph - 1, el tamaño de alfabeto de la parte menos significativa u_lsp, que puede calcularse como u_alph -(u_msb_alph - 1) ■ 2P, puede ser menor que 2P, lo que permite utilizar la función EncodeQuasiUniform en lugar de la codificación binaria con p bits. Esto también es útil cuando un valor particular u tiene un alfabeto u_alph más pequeño que 2? Finalmente, cuando u_msp_alph < 3, el método de Golomb-Rice limitado produce códigos que tienen una sola longitud, de p o p + 1 bits, o códigos que tienen solo dos longitudes, de p o p + 1 bits. La función EncodeQuasiUniform es óptima para un máximo de dos longitudes, por lo tanto, se utiliza en su lugar.
El umbral de 3 es un valor preferido especial, porque cuando u_msp_alph = 3 las palabras de código del Golomb-Rice limitado para la parte más significativa son 0, 10, 11; por lo tanto, las longitudes totales de código son 1+p, 2+p y 2+p, donde p es el número de bits para la parte menos significativa; porque un código perforado siempre es óptimo para un máximo de dos longitudes, se utiliza en su lugar, por la sustitución de las partes más y menos significativas.
Por otra parte, debe señalarse que la función EncodeQuasiUniform es exactamente un código perforado, que implícitamente se convierte en un código binario cuando el tamaño de alfabeto es una potencia de dos. En general, un código perforado es óptimo y únicamente determinado dado un tamaño de alfabeto; produce códigos de solo una o dos longitudes; para 3 o más longitudes de código consecutivas, los códigos posibles ya no son cuasi-uniformes y hay diferentes opciones para el número de posibles códigos de cada longitud.
Esta invención no se limita a la descripción exacta anterior. Alternativamente, la invención puede extenderse fácilmente en forma de un esquema de codificación predictiva intertrama, donde para cada banda de parámetro se calcula un vector de dirección promedio utilizando vectores de dirección anteriores a través del tiempo, a partir de la trama actual y también opcionalmente de tramas anteriores, en lugar de calcular un único vector de dirección promedio para toda la trama actual y cuantificarlo y codificarlo como información complementaria. Esta solución tendrá la ventaja de ser más eficiente en la codificación, y también menos robusta contra la posible pérdida de paquetes.
Las figuras 6a a 6g ilustran adicionalmente procedimientos realizados en el codificador como se ha comentado con anterioridad. La figura 6a ilustra una visión general del cuantificador de parámetros 210 que consiste en una función de elevación de cuantificación 210a, una función de azimut de cuantificación 210b y una función de elevación de descuantificación 210c. La realización preferida de la figura 6a ilustra el cuantificador de parámetros que tiene una función de azimut 210c dependiente del valor de elevación cuantificado y, nuevamente, descuantificado q_el.
La figura 6c ilustra un descuantificador correspondiente para descuantificar la elevación como se ha comentado con anterioridad con respecto a la figura 6a para el codificador. Sin embargo, la realización de la figura 6b también es útil para el descuantificador que se ilustra en el elemento 840 de la figura 8a. Con base en la precisión de descuantificación deg_req, el índice de elevación, por un lado, y el índice de azimut, por el otro lado, se descuantifican con el fin de obtener finalmente el valor de elevación q_el descuantificado y el valor de azimut q_az descuantificado. La figura 6c ilustra el primer modo de codificación, es decir, el modo de codificación en bruto como se comenta con respecto a los elementos 260 a 262 en la figura 5c. La figura 6c ilustra adicionalmente el preprocesamiento comentado en la figura 5b que muestra una conversión de los datos de elevación en valores con signo en 247a y la conversión correspondiente de datos de azimut en valores con signo en 247b. Se lleva a cabo un reordenamiento para la elevación como se indica en 248a y para azimut como se indica en 248b. Se lleva a cabo un procedimiento de recuento de puntos esfera en el bloque 248c con el fin de calcular, con base en la cuantificación o la precisión de descuantificación, el alfabeto de esfera. En el bloque 261, se lleva a cabo la fusión de ambos índices en un solo índice de esfera y se lleva a cabo la codificación en el bloque 262 con un código binario o binario perforado donde, además de este índice de esfera, también el alfabeto de esfera para la precisión de descuantificación correspondiente se deriva como también se ilustra en la figura 5c.
La figura 6d ilustra el procedimiento realizado para el modo de codificación entrópica con modelado. En el elemento 267a, se realiza una descuantificación de los datos de azimut y de elevación con base en los índices correspondientes, y la precisión de descuantificación. Los valores descuantificados se introducen en el bloque 267b a fin de calcular un vector de dirección a partir de los valores descuantificados. En el bloque 267c, se realiza un promedio para los vectores que tienen un índice de difusividad asociado por debajo del umbral correspondiente a fin de obtener un vector de promedio. En el bloque 267d, el vector de dirección promedio de dirección nuevamente se convierte en un promedio de elevación y un promedio de azimut y estos valores se cuantifican luego utilizando la mayor precisión tal como se determina por el bloque 268e. Esta cuantificación se ilustra en 268a, 268b y los resultados de cuantificación en índices cuantificados y alfabetos de cuantificación correspondientes donde los alfabetos se determinan por medio de la precisión de cuantificación para el valor promedio. En los bloques 268c y 268d, nuevamente se lleva a cabo una descuantificación para obtener un valor promedio descuantificado para la elevación y el azimut.
En la figura 6e, se calcula un promedio de elevación proyectado en el bloque 269a y se calcula el promedio de azimut proyectado en el bloque 269b, es decir, la figura 6e ilustra una implementación preferida del bloque 269 de la figura 5d. Como se ilustra en la figura 6e, los bloques 269a, 269b preferentemente reciben los valores promedio cuantificados y nuevamente descuantificados para la elevación y el azimut. Alternativamente, la proyección podría realizarse también en la salida del bloqueo 267d directamente, aunque se prefiere el procedimiento con cuantificación y nuevamente descuantificación para una mayor precisión y una mayor compatibilidad con los estados en el lado del codificador y en el lado del decodificador.
En la figura 6f, se ilustra el procedimiento correspondiente al bloque 270 de la figura 5d en una realización preferida. En los bloques 278a, 278b, se calculan las diferencias o “distancias” correspondientes como se las denomina en el bloque 270 de la figura 5d entre los índices originales y los índices proyectados. Una reducción de intervalo correspondiente se lleva a cabo en los bloques 270c para los datos de elevación y 270d para los de azimut. Luego de un reordenamiento en el bloque 270e, 270f, se obtienen los datos a someter a codificación de Golomb-Rice extendida como se ha comentado con anterioridad con respecto a las figuras 5e a 5g.
La figura 6g ilustra detalles adicionales sobre el procedimiento realizado para la generación de los bits codificados para el promedio de elevación y el promedio de azimut. El bloque 271a y 271b ilustra la conversión de datos promedio de elevación y azimut en datos con signo y después la función ReorderGeneric se ilustra con respecto a ambos tipos de datos en el bloque 272a y 272b. Los elementos 273a y 273b ilustran la codificación de estos datos utilizando un código binario (perforado) como la función cuasi uniforme de codificación anteriormente comentada.
La figura 7a ilustra un decodificador de acuerdo con el primer aspecto para decodificar una señal de audio codificada que comprende parámetros de codificación de audio direccional codificados, comprendiendo los parámetros de codificación de audio direccional codificados parámetros de difusividad codificados y parámetros de dirección codificados. El aparato comprende un procesador de parámetros 300 para decodificar los parámetros de codificación de audio direccional codificado para obtener parámetros de difusividad decodificados con una primera resolución de tiempo o frecuencia y parámetros de dirección decodificados con una segunda resolución de tiempo o frecuencia. El procesador de parámetros 300 está conectado a un convertidor de resolución de parámetros 710 para la conversión de los parámetros de difusividad decodificados o los parámetros de dirección decodificados en parámetros de difusividad convertidos o parámetros de dirección convertidos. Alternativamente, como se ilustra por la línea de cerco, el convertidor de resolución de parámetros 710 puede llevar a cabo el procesamiento de resolución de parámetros con los datos paramétricos codificados y los parámetros codificados convertidos se envían desde el convertidor de resolución de parámetros 710 al procesador de parámetros 300. En este último caso, el procesador de parámetros 300 luego alimenta los parámetros procesados, es decir, decodificados directamente al renderizador de audio 420. Sin embargo, se prefiere realizar la conversión de resolución de parámetros con los parámetros de
difusividad decodificados y los parámetros de dirección decodificados.
Los parámetros de dirección y difusividad decodificados tienen normalmente una tercera o cuarta resolución de tiempo o frecuencia cuando se proporcionan al renderizador de audio 420, donde la tercera o cuarta resolución es mayor que la resolución que es inherente a estos parámetros cuando se emiten por el procesador de parámetros 300.
El convertidor de resolución de parámetros 710 está configurado para realizar una conversión de resolución de parámetros diferente con los parámetros de difusividad decodificados y los parámetros de dirección decodificados, dado que las resoluciones de frecuencia o tiempo inherentes a los parámetros de difusividad decodificados y los parámetros de dirección decodificados son diferentes entre sí y, normalmente, los parámetros de difusividad decodificados tienen una resolución de tiempo o de frecuencia más baja en comparación con los parámetros de dirección decodificados. Como se ha comentado con anterioridad con respecto a la figura 3a a 3c, la mayor resolución que se utiliza por el renderizador de audio 420 es la ilustrada en la figura 3b y la resolución intermedia como se ilustra en la figura 3c es la inherente a los parámetros de dirección decodificados y la baja resolución inherente a los parámetros de difusividad decodificados es la ilustrada en la figura 3b.
Las figuras 3a a 3c son solo ejemplos que ilustran tres resoluciones muy específicas de tiempo o frecuencia. Cualquier otra resolución de tiempo o frecuencia que tiene la misma tendencia en que hay una alta resolución de tiempo o frecuencia, también se puede aplicar una resolución media y una resolución baja por la presente invención. Una resolución de tiempo o frecuencia es menor que otra resolución de tiempo o frecuencia cuando estas dos resoluciones tienen la misma resolución de frecuencia, pero una resolución de tiempo diferente, o viceversa, como se ha ilustrado en el ejemplo de la figura 3b y la figura 3c. En este ejemplo, la resolución de frecuencia es la misma en la figura 3b y la figura 3c, pero la resolución de tiempo es mayor en la figura 3c de manera que la figura 3c ilustra una resolución media, mientras que la figura 3b ilustra una resolución baja.
El resultado del renderizador de audio 420 que opera en la tercera o cuarta resolución de tiempo o frecuencia se envía entonces a un convertidor de espectro/tiempo 440 que genera la señal de audio multicanal de dominio de tiempo 450 como ya se ha comentado con anterioridad con respecto a la figura 1 b. El convertidor de espectro/tiempo 440 convierte los datos desde el dominio espectral tal como se genera por el renderizador de audio 420 en el dominio de tiempo en la línea 450. El dominio espectral, donde el renderizador de audio 420 opera comprende, para una trama, un primer número de ranuras de tiempo y un segundo número de bandas de frecuencia. Una trama comprende un número de bins de tiempo/frecuencia que es igual a un resultado de la multiplicación del primer número y el segundo número, donde el primer número y el segundo número definen la tercera resolución de tiempo o frecuencia, es decir, la alta resolución de tiempo o frecuencia.
El convertidor de resolución 710 está configurado para generar, a partir de un parámetro de difusividad asociado con la primera resolución de tiempo o frecuencia, un número de al menos cuatro parámetros de difusividad, donde dos de estos parámetros de difusividad son para bins de tiempo/frecuencia adyacentes en el tiempo y el otro dos de esos al menos cuatro parámetros de difusividad son para bins de tiempo/frecuencia adyacentes entre sí en la frecuencia.
Dado que la resolución de tiempo o frecuencia para los parámetros de difusividad es menor que para los parámetros de dirección, el convertidor de resolución de parámetros está configurado para generar, para un parámetro de difusividad decodificado, una multitud de parámetros de difusividad convertidos y para un parámetro de dirección decodificado una segunda multitud de parámetros de dirección convertidos, donde la segunda multitud es mayor que la primera multitud.
La figura 7b ilustra un procedimiento preferido realizado por el convertidor de resolución de parámetros. En el bloque 721, la resolución del convertidor de parámetros 710 obtiene los parámetros de difusividad/dirección para una trama. En el bloque 722, se lleva a cabo una multiplicación de los parámetros de difusividad o una operación de copia de al menos cuatro bins de tiempo/frecuencia de alta resolución. En el bloque 723, se realiza un procesamiento opcional tal como suavizado o un filtrado de paso bajo para los parámetros multiplicados que están en la representación de alta resolución. En el bloque 724, los parámetros de alta resolución se aplican a los correspondientes datos de audio en los bins de tiempo/frecuencia de alta resolución correspondientes.
La figura 8a ilustra una implementación preferida de un decodificador para decodificar una señal de audio codificada que comprende parámetros de codificación de audio direccional codificados incluidos los parámetros de difusividad codificados y los parámetros de dirección codificados de acuerdo con el primer aspecto. La señal de audio codificada se introduce en una interfaz de entrada. La interfaz de entrada 800 recibe la señal de audio codificada y separa, de la señal de audio codificada, los parámetros de difusividad codificados y los parámetros de dirección codificados, normalmente en una manera de trama por trama. Estos datos se introducen en un decodificador de parámetros 820 que genera, a partir de los parámetros codificados, parámetros de difusividad cuantificados y parámetros de dirección cuantificados donde los parámetros de dirección cuantificados son, por ejemplo, los índices
de azimut y los índices de elevación. Estos datos se introducen en un descuantificador de parámetros 840 para determinar, a partir de los parámetros de difusividad cuantificados y los parámetros de dirección cuantificados, parámetros de difusividad descuantificados y parámetros de dirección descuantificados. Estos datos pueden utilizarse entonces para la conversión de un formato de audio en otro formato de audio o pueden utilizarse para renderizar una señal de audio en una señal multicanal o en cualquier otra representación, tal como una representación Ambisonics, una representación MPS o una representación SAOC.
La salida de parámetros descuantificados emitidos por el bloque 840 se puede introducir en un convertidor de resolución de parámetros opcional como se ha comentado con anterioridad con respecto a la figura 7a en el bloque 710. Los parámetros convertidos o no convertidos se pueden introducir en el renderizador de audio 420, 440 que se ilustra en la figura 8a. Cuando la señal de audio codificada comprende adicionalmente una señal de transporte codificada, la interfaz de entrada 800 está configurada para separar la señal de transporte codificada de la señal de audio codificada y alimenta estos datos a un decodificador de señales de transporte de audio 340 que ya se ha comentado con anterioridad con respecto a figura 8b. El resultado se introduce en un convertidor de tiempo-espectro 430 que alimenta el renderizador de audio 420. Cuando el renderizador de audio 420 se implementa como se ilustra en la figura 1b, se lleva a cabo una conversión en el dominio del tiempo utilizando un banco de filtros de síntesis 440 de la figura 1b.
La figura 8b ilustra la parte de la señal de audio codificada normalmente organizada en un flujo de bits que se refiere a los parámetros de difusividad codificados. Los parámetros de difusividad tienen asociados a los mismos preferentemente dos bits de modo 802 para indicar los tres modos diferentes ilustrados en la figura 8b y comentados con anterioridad. Los datos codificados para los parámetros de difusividad comprenden datos de carga útil 804.
Las porciones de flujo de bits para los parámetros de dirección se ilustran en la figura 8c y figura 8d como se ha comentado con anterioridad, donde la figura 8c ilustra la situación cuando se ha seleccionado el modo de codificación en bruto y la figura 8d ilustra la situación donde se ha seleccionado/indicado el modo de decodificación entrópica con modelado por el indicador de bits de modo o el modo 806.
El decodificador de parámetros 820 de la figura 8a está configurado para decodificar los datos de carga útil de difusividad para una región de tiempo/frecuencia, como se indica en el bloque 850, y la región de tiempo/frecuencia es una región de tiempo/frecuencia con la baja resolución en la realización preferida. En el bloque 851, se determina una precisión de descuantificación para la región de tiempo/frecuencia. Sobre la base de esta precisión de descuantificación, el bloque 852 de la figura 8e ilustra una decodificación y/o descuantificación de los parámetros de dirección utilizando la precisión de descuantificación que es igual para la región de tiempo/frecuencia a la que el parámetro de difusividad está asociado. La salida de la figura 8e es un conjunto de parámetros de dirección decodificados para la región de tiempo/frecuencia, tal como para una banda de la figura 3c, es decir, en el ejemplo ilustrado, cuatro parámetros de dirección para una banda en una trama.
La figura 8f ilustra una característica adicional del decodificador y, en particular, el decodificador de parámetros 820 y el descuantificador de parámetros 840 de la figura 8a. Independientemente de si la precisión de descuantificación se determina con base en un parámetro de difusividad o se señaliza o determina o en otro lugar de forma explícita, el bloque 852a indica la determinación de un alfabeto de elevación a partir de una precisión de descuantificación señalizada para una región de tiempo/frecuencia. En el bloque 852b, los datos de elevación se decodifican y opcionalmente descuantifican utilizando el alfabeto de elevación para la región de tiempo/frecuencia a fin de obtener, en la salida del bloque 852b, los parámetros de elevación descuantificados. En el bloque 852c, un alfabeto de azimut para la región de tiempo/frecuencia está determinado no solo por la precisión de descuantificación a partir del bloque 851, sino también a partir de los datos de elevación cuantificados o descuantificados también con el fin de reflejar la situación que se ha comentado con anterioridad con respecto a la cobertura cuasi uniforme de la esfera unitaria en la figura 4d. En el bloque 852d, se lleva a cabo una decodificación y opcionalmente descuantificación de los datos de azimut con el alfabeto de azimut para la región de tiempo/frecuencia.
La presente invención de acuerdo con el segundo aspecto combina preferentemente esas dos características, pero las dos características, es decir, la de la figura 8a o la otra de la figura 8f también se pueden aplicar por separado una de otra.
La figura 8g ilustra la visión general de decodificación de parámetros dependiente de si se selecciona un modo de decodificación en bruto o un modo de decodificación con modelado como se indica por el bit de modo 806 comentado en la figura 8c y figura 8d. Cuando se aplica una decodificación en bruto, entonces, se decodifican los índices de esfera para una banda como se indica en 862 y los parámetros de azimut/elevación cuantificados para la banda se calculan a partir de los índices de esfera decodificados como se indica en el bloque 864.
Cuando se indica decodificación con modelado por el bit de modo 806, entonces, los promedios de los datos de azimut/elevación en la banda/trama se decodifican como se indica por el bloque 866. En el bloque 868, se decodifican las distancias para la información de azimut/elevación en la banda y, en el bloque 870, se calculan los
correspondientes parámetros de elevación y azimut cuantificados utilizando normalmente una operación de suma.
Independiente de si se ha aplicado el modo de decodificación en bruto o el modo de decodificación con modelado, los índices de azimut/elevación decodificados se descuantifican 872 como también se ilustra en 840 en la figura 8a, y en el bloque 874, y el resultado se puede convertir en coordenadas cartesianas para la banda. Alternativamente, cuando los datos de azimut y de elevación se pueden utilizar directamente en el renderizador de audio, entonces tal conversión en el bloque 874 no es necesaria. Cualquier conversión de resolución de parámetros utilizada potencialmente se puede aplicar con anterioridad o después de la conversión si se lleva a cabo una conversión a coordenadas cartesianas de todos modos.
A continuación, también se hace referencia a las figuras 9a a 9c con respecto a implementaciones preferidas adicionales del decodificador. La figura 9a ilustra la operación de decodificación que se ilustra en el bloque 862. En función de la precisión de descuantificación de acuerdo con lo determinado por el bloque 851 en la figura 8e o figura 8f, se lleva a cabo el recuento de puntos de esfera de funcionalidad del bloque 248c con el fin de determinar el alfabeto de esfera real que también se ha aplicado durante la codificación. Los bits para el índice de esfera se decodifican en el bloque 862 y se lleva a cabo una descomposición en los dos índices como se ilustra en 864a y se proporciona con más detalle en la figura 9a. Se llevan a cabo funciones de reordenación 864b, 864c y funciones de conversión correspondientes en el bloque 864d y 864e con el fin de obtener finalmente los índices de elevación, los índices de azimut y los alfabetos correspondientes para la descuantificación posterior en el bloque 872 de la figura 8g.
La figura 9b ilustra los procedimientos correspondientes para el otro modo de decodificación, es decir, el modo de decodificación con modelado. En el bloque 866a, se calcula la precisión de descuantificación para los promedios en línea con lo que se ha comentado con anterioridad con respecto al lado del codificador. Los alfabetos se calculan en el bloque 866b y, en los bloques 866c y 866d, se decodifican los bits correspondientes 808a, 808b de la figura 8d. Se llevan a cabo funciones de reordenación 866e, 866f en las operaciones de conversión posteriores 866g, 866h con el fin de deshacer o copiar las operaciones correspondientes realizadas en el lado del codificador.
La figura 9c ilustra adicionalmente la operación de descuantificación completa 840 en una realización preferida. Los bloques 852a determinan el alfabeto de elevación como ya se ha comentado con respecto a la figura 8f y un cálculo correspondiente del alfabeto de azimut también se realiza en el bloque 852c. La operación de cálculo de proyección 820a, 820e se realiza también para la elevación y el azimut. Se llevan a cabo también procedimientos de reordenación para elevación 820b y azimut 820f y se llevan a cabo también las operaciones de suma correspondientes 820c, 820g. Se lleva a cabo también la reducción de intervalo correspondiente en los bloques 820d para elevación y 820h para azimut, y se lleva a cabo una descuantificación de elevación en el bloque 840a y 840b. La figura 9c muestra que este procedimiento implica un cierto orden, es decir, que los datos de elevación se procesan en primer lugar y con base en los datos de elevación descuantificados, se llevan a cabo la decodificación y descuantificación de los datos de azimut en una realización preferida de la presente invención.
A continuación, se resumen los beneficios y las ventajas de las realizaciones preferidas:
• Codificación eficiente de metadatos espaciales generados por DirAC sin comprometer la generalidad del modelo. Es un habilitador clave para la integración de DirAC en un esquema de codificación de baja tasa de bits. • Agrupación y promedio de los parámetros de dirección y difusividad con resoluciones de tiempo diferentes (u opcionalmente de frecuencia): la difusividad se promedia durante un tiempo más largo que la dirección, dado que la difusividad conserva una característica más a largo plazo del campo de sonido de dirección, que es una señal espacial más reactiva.
• Cobertura dinámica cuasi uniforme de la esfera 3D, totalmente simétrica con respecto a los ejes de coordenadas X, Y y Z, y cualquier resolución angular deseada es posible.
• Las operaciones de cuantificación y descuantificación son de complejidad constante (no se requiere una búsqueda del vector de código más cercano).
• La codificación y decodificación de un índice de punto cuantificado tienen complejidad constante o como máximo logarítmica con respecto al número total de puntos cuantificados sobre la esfera.
• El peor caso de tamaño de codificación entrópica de la totalidad de los metadatos espaciales DirAC para una trama está siempre limitado a solo 2 bits más que la de codificación en bruto.
• Método de codificación de Golomb-Rice extendido, que es óptimo para codificar un vector de símbolos con tamaños de alfabeto potencialmente diferentes.
• Uso de una dirección promedio para codificación entrópica eficiente de direcciones, asignación de la dirección promedio cuantificada de la mayor resolución para cada resolución de azimut y elevación.
• Uso siempre de codificación en bruto para direcciones con alta difusividad, por encima de un umbral predefinido, para tramas de difusividad mixtas.
• Uso de una resolución angular para cada dirección como una función de su difusividad correspondiente.
El primer aspecto de la presente invención se refiere al procesamiento de los parámetros de difusividad y
parámetros de dirección con primeras y segundas resoluciones de tiempo o frecuencia y una posterior cuantificación y codificación de tales valores. Este primer aspecto se refiere adicionalmente a la agrupación de los parámetros con diferentes resoluciones de tiempo/frecuencia. Un aspecto adicional se refiere a la realización de una ponderación relacionada con la medida de amplitud dentro de la agrupación y un aspecto adicional se refiere a una ponderación para el cálculo del promedio y la agrupación de los parámetros de dirección utilizando parámetros de difusividad correspondientes como base para las ponderaciones correspondientes. Los aspectos anteriores también se describen y especifican en el primero conjunto de reivindicaciones.
El segundo aspecto de la presente invención que posteriormente se especifica en forma adicional en el conjunto adjunto de ejemplos se refiere a la realización de cuantificación y codificación. Este aspecto se puede realizar sin las características mencionadas en el primer aspecto o se puede utilizar junto con las características correspondientes elaboradas en el primer aspecto.
Por lo tanto, todos los diferentes aspectos, según lo especificado en las reivindicaciones y el conjunto de ejemplos y según lo especificado en las diferentes reivindicaciones dependientes de las reivindicaciones y los ejemplos se pueden utilizar independientemente entre sí o se pueden utilizar en conjunto y se prefiere particularmente para una realización más preferida que todos los aspectos del conjunto de reivindicaciones se utilicen en conjunto con todos los aspectos del conjunto de ejemplos.
Una señal de audio codificada de acuerdo con la invención que comprende una representación de parámetros puede almacenarse en un medio de almacenamiento digital o un medio de almacenamiento no transitorio o puede transmitirse sobre un medio de transmisión tal como un medio de transmisión inalámbrico o un medio de transmisión por cable, tal como Internet.
Si bien algunos aspectos se han descrito en el contexto de un aparato, es evidente que estos aspectos también representan una descripción del método correspondiente, donde un bloque o dispositivo corresponde a una etapa de procedimiento o una característica de una etapa de procedimiento. Análogamente, los aspectos descritos en el contexto de una etapa de procedimiento también representan una descripción de un bloque o un elemento o característica correspondiente de un aparato correspondiente.
Dependiendo de ciertos requisitos de implementación, las realizaciones de la invención pueden implementarse en hardware o en software. La implementación puede realizarse utilizando un medio de almacenamiento digital, por ejemplo, un disquete, un DVD, un CD, una memoria ROM, una PROM, una EPROM, una EEPROM o FLASH, con señales de control electrónicamente legibles almacenadas en el mismo, que cooperan (o son capaces de cooperar) con un sistema informático programable de tal manera que se lleva a cabo el método respectivo.
Algunas realizaciones de acuerdo con la invención comprenden un soporte de datos con señales de control legibles electrónicamente, que son capaces de cooperar con un sistema informático programable, de manera que se lleva a cabo uno de los métodos descritos en la presente.
Generalmente, las realizaciones de la presente invención pueden implementarse como un producto de programa informático con un código de programa, siendo el código de programa operativo para realizar uno de los métodos, cuando el producto de programa informático se ejecuta en una computadora. El código de programa puede almacenarse, por ejemplo, en un soporte legible por máquina.
Otras realizaciones comprenden el programa informático para realizar uno de los métodos descritos en la presente, almacenado en un soporte legible por máquina o un medio de almacenamiento no transitorio.
En otras palabras, una realización del método de acuerdo con la invención es, por lo tanto, un programa informático que tiene un código de programa para realizar uno de los métodos descritos en la presente, cuando el programa informático se ejecuta en una computadora.
Una realización adicional de los métodos de la invención es, por lo tanto, un soporte de datos (o un medio de almacenamiento digital, o un medio legible por computadora) que comprende, registrados en el mismo, el programa informático para realizar uno de los métodos descritos en la presente.
Una realización adicional del método de acuerdo con la invención es, por lo tanto, un flujo de datos o una secuencia de señales que representan el programa informático para realizar uno de los métodos descritos en la presente. El flujo de datos o la secuencia de señales pueden por ejemplo estar configurados para transferirse a través de una conexión de comunicación de datos, por ejemplo, a través de Internet.
Una realización adicional comprende un medio de procesamiento, por ejemplo, una computadora, o un dispositivo lógico programable, configurado para o adaptado para realizar uno de los métodos descritos en la presente.
Una realización adicional comprende una computadora que tiene instalada en la misma el programa informático para realizar uno de los métodos descritos en la presente.
En algunas realizaciones, puede utilizarse un dispositivo lógico programable (por ejemplo, una matriz de puertas programables en campo) para realizar algunas o todas las funcionalidades de los métodos descritos en la presente. En algunas realizaciones, una matriz de puertas programables en campo puede cooperar con un microprocesador con el fin de realizar uno de los métodos descritos en la presente. Generalmente, los métodos se realizan preferentemente por cualquier aparato de hardware.
Las realizaciones descritas con anterioridad son meramente ilustrativas de los principios de la presente invención. Se comprende que modificaciones y variaciones de las disposiciones y los detalles descritos en la presente serán evidentes para los expertos en la técnica. Es la intención, por lo tanto, que la presente se vea limitada solo por el alcance de las siguientes reivindicaciones de patente y no por los detalles específicos presentados a modo de descripción y explicación de las realizaciones de la presente.
Referencias:
[1] V. Pulkki, M-V. Laitinen, J. Vilkamo, J. Ahonen, T. Lokki y T. Pihlajamáki, “Directional audio coding - perceptionbased reproduction of spatial sound”, International Workshop on the Principles and Application on Spatial Hearing, nov. de 2009, Zao; Miyagi, Japón.
[2] V. Pulkki, “Virtual source positioning using vector base amplitude panning”, J. Audio Eng. Soc., 45(6):456-466, junio de 1997.
[3] J. Ahonen y V. Pulkki, “Diffuseness estimation using temporal variation of intensity vectors”, en Workshop on Applications of Signal Processing to Audio and Acoustics WASPAA, Mohonk Mountain House, New Paltz, 2009.
[4] T. Hirvonen, J. Ahonen y V. Pulkki, “Perceptual compression methods for metadata in Directional Audio Coding applied to audiovisual teleconference”, AES 126th Convention, 7-10 de mayo de 2009, Munich, Alemania.
Claims (1)
- REIVINDICACIONESAparato para codificar parámetros de codificación de audio direccional que comprenden parámetros de difusividad y parámetros de dirección, que comprende:un calculador de parámetros (100) para calcular los parámetros de difusividad con una primera resolución de tiempo o frecuencia y para calcular los parámetros de dirección con una segunda resolución de tiempo o frecuencia, en el que la segunda resolución de tiempo o frecuencia es diferente de la primera resolución de tiempo o frecuencia; yun procesador de cuantificador y codificador (200) para generar una representación cuantificada y codificada de los parámetros de difusividad y los parámetros de dirección.Aparato de la reivindicación 1, donde el calculador de parámetros (100) está configurado para calcular los parámetros de difusividad y los parámetros de dirección de manera que la primera resolución de tiempo es menor que la segunda resolución de tiempo, o la segunda resolución de frecuencia es mayor que la primera resolución de frecuencia, o la primera resolución de tiempo es menor que la segunda resolución de tiempo y la primera resolución de frecuencia es igual a la segunda resolución de frecuencia, odonde el calculador de parámetros (100) está configurado para calcular los parámetros de difusividad y los parámetros de dirección para un conjunto de bandas de frecuencia, donde una banda que tiene una frecuencia central inferior es más estrecha que una banda que tiene una frecuencia central superior, o donde el calculador de parámetros (100) está configurado para obtener parámetros de difusividad iniciales que tienen una tercera resolución de tiempo o frecuencia y para obtener parámetros de dirección iniciales que tienen una cuarta resolución de tiempo o frecuencia, y donde el calculador de parámetros (100) está configurado para agrupar y promediar los parámetros de difusividad iniciales de manera que la tercera resolución de tiempo o frecuencia es mayor que la primera resolución de tiempo o frecuencia, o donde el calculador de parámetros (100) está configurado para agrupar y promediar los parámetros de dirección iniciales de manera que la cuarta resolución de tiempo o frecuencia es mayor que la segunda resolución de tiempo o frecuencia.Aparato de la reivindicación 2,donde la tercera resolución de tiempo o frecuencia y la cuarta resolución de tiempo o frecuencia son iguales entre sí.Aparato de la reivindicación 3,donde la tercera resolución de tiempo o resolución de frecuencia es una resolución de tiempo o frecuencia constante, de manera que cada parámetro de difusividad inicial se asocia con una ranura de tiempo o un bin de frecuencia que tiene el mismo tamaño, odonde la cuarta resolución de tiempo o frecuencia es una resolución de tiempo o frecuencia constante, de manera que cada parámetro de dirección inicial se asocia con una ranura de tiempo o un bin de frecuencia que tiene el mismo tamaño, ydonde el calculador de parámetros (100) está configurado para promediar una primera pluralidad de parámetros de difusividad asociados con la primera pluralidad de ranuras de tiempo, odonde el calculador de parámetros (100) está configurado para promediar una segunda pluralidad de parámetros de difusividad asociados con la segunda pluralidad de bins de frecuencia, odonde el calculador de parámetros (100) está configurado para promediar una tercera pluralidad de parámetros de dirección asociados con la tercera pluralidad de ranuras de tiempo, odonde el calculador de parámetros (100) está configurado para promediar una cuarta pluralidad de parámetros de dirección asociados con la cuarta pluralidad de bins de frecuencia.Aparato de una de las reivindicaciones 2 a 4,donde el calculador de parámetros (100) está configurado para promediar utilizando un promedio ponderado, donde se pondera un parámetro de difusividad o un parámetro de dirección derivado de una porción de señal de entrada que tiene una medida relacionada con amplitud superior utilizando un factor de ponderación mayor en comparación con un parámetro de difusividad o un parámetro de dirección derivado de una porción de señal de entrada que tiene una medida relacionada con amplitud inferior, odonde el calculador de parámetros (100) está configurado para realizar el promedio de manera que el parámetro de difusividad o el parámetro de dirección está normalizado con respecto a una medida relacionada con amplitud derivada de una porción de tiempo de una señal de entrada correspondiente a la primera o la segunda resolución de tiempo o frecuencia, odonde el calculador de parámetros (100) está configurado para agrupar y promediar los parámetros de dirección iniciales utilizando un promedio ponderado, donde el primer parámetro de dirección que está asociado con una primera porción de tiempo que tiene un primer parámetro de difusividad que indica una difusividad menor se pondera con mayor intensidad que un segundo parámetro de dirección que está asociado con una segunda porción de tiempo que tiene un segundo parámetro de difusividad que indica una difusividad mayor.Aparato de una de las reivindicaciones anteriores,donde el calculador de parámetros (100) está configurado para calcular los parámetros de dirección iniciales de manera que los parámetros de dirección iniciales comprenden cada uno un vector cartesiano que tiene un componente para cada una de dos o tres direcciones, y donde el calculador de parámetros (100) está configurado para realizar el cálculo del promedio para cada componente individual del vector cartesiano por separado, o donde los componentes están normalizados de manera que la suma de los componentes al cuadrado del vector cartesiano para un parámetro de dirección es igual a la unidad, odonde el aparato comprende además: un descomponedor de tiempo-frecuencia para descomponer una señal de entrada que tiene una pluralidad de canales de entrada en una representación de tiempofrecuencia para cada canal de entrada, o donde el descomponedor de tiempo-frecuencia está configurado para descomponer la señal de entrada que tiene una pluralidad de canales de entrada en una representación de tiempo-frecuencia para cada canal de entrada que tiene la tercera resolución de tiempo o frecuencia o la cuarta resolución de tiempo o frecuencia, odonde el aparato está configurado para asociar una indicación de la primera o segunda resolución de tiempo o frecuencia en la representación cuantificada y codificada para su transmisión a un decodificador o para almacenamiento, o donde el procesador de cuantificador y codificador (200) para generar una representación cuantificada y codificada de los parámetros de difusividad y los parámetros de dirección comprende un cuantificador de parámetros para cuantificar los parámetros de difusividad y los parámetros de dirección y un codificador de parámetros para codificar parámetros de difusividad cuantificados y parámetros de dirección cuantificados.Método para codificar parámetros de codificación de audio direccional que comprenden parámetros de difusividad y parámetros de dirección, que comprende:calcular los parámetros de difusividad con una primera resolución de tiempo o frecuencia ycalcular los parámetros de dirección con una segunda resolución de tiempo o frecuencia donde la segunda resolución de tiempo o frecuencia es diferente de la primera resolución de tiempo o frecuencia; ygenerar una representación cuantificada y codificada de los parámetros de difusividad y los parámetros de dirección.Decodificador para decodificar una señal de audio codificada que comprende parámetros de codificación de audio direccional incluidos parámetros de difusividad codificados y parámetros de dirección codificados, comprendiendo el decodificador:un procesador de parámetros (300) para decodificar los parámetros de codificación de audio direccional codificados para obtener un parámetro de difusividad decodificado con una primera resolución de tiempo o frecuencia y los parámetros de dirección decodificados con una segunda resolución de tiempo o frecuencia; yun convertidor de resolución de parámetros (710) para convertir los parámetros de difusividad codificados o decodificados o los parámetros de dirección codificados o decodificados en parámetros de difusividad convertidos o parámetros de dirección convertidos que tienen una tercera resolución de tiempo o frecuencia, siendo la tercera resolución de tiempo o frecuencia diferente de la primera resolución de tiempo o frecuencia o la segunda resolución de tiempo o frecuencia o de la primera resolución de tiempo o frecuencia y la segunda resolución de tiempo o frecuencia.Decodificador de la reivindicación 8, que comprende además un renderizador de audio (420) que opera en un dominio espectral, comprendiendo el dominio espectral, para una trama, un primer número de ranuras de tiempo y un segundo número de bandas de frecuencia, de manera que una trama comprende un número de bins de tiempo/frecuencia que es igual a un resultado de la multiplicación del primer número y el segundo número, donde el primer número y el segundo número definen la tercera resolución de tiempo o frecuencia, o que comprende además un renderizador de audio (420) que opera en un dominio espectral, comprendiendo el dominio espectral, para una trama, un primer número de ranuras de tiempo y un segundo número de bandas de frecuencia, de manera que una trama comprende un número de bins de tiempo/frecuencia que es igual a un resultado de la multiplicación del primer número y el segundo número, donde el primer número y el segundo número definen una cuarta resolución de tiempo-frecuencia, donde la cuarta resolución de tiempo o frecuencia es igual o mayor que la tercera resolución de tiempo o frecuencia, odonde la primera resolución de tiempo o frecuencia es menor que la segunda resolución de tiempo o frecuencia, ydonde el convertidor de resolución de parámetros (710) está configurado para generar, a partir de un parámetro de difusividad decodificado, una primera multitud de parámetros de difusividad convertidos y para generar, a partir de un parámetro de dirección decodificado, una segunda multitud de parámetros de dirección convertidos, donde la segunda multitud es mayor que la primera multitud, odonde la señal de audio codificada comprende una secuencia de tramas, donde cada trama se organiza en bandas de frecuencia, donde cada trama comprende un único parámetro de difusividad codificado por banda de frecuencia y al menos dos parámetros de dirección secuenciales en el tiempo por banda de frecuencia, y donde el convertidor de resolución de parámetros (710) está configurado para asociar el parámetro de difusividad decodificado a todos los bins de tiempo en la banda de frecuencia o a cada bin de tiempo/frecuencia incluido en la banda de frecuencia en la trama, y asociar uno de los al menos dos parámetros de dirección de la banda de frecuencia a un primer grupo de bins de tiempo y a cada bin de tiempo/frecuencia incluido en la banda de frecuencia, y asociar un segundo parámetro de dirección decodificado de los al menos dos parámetros de dirección a un segundo grupo de los bins de tiempo y a cada bin de tiempo/frecuencia incluido en la banda de frecuencia, donde el segundo grupo no incluye ninguno de los bins de tiempo en el primer grupo, odonde la señal de audio codificada comprende una señal de transporte de audio codificada, donde el decodificador comprende:un decodificador de audio (340) para decodificar la señal de audio codificada de transporte para obtener una señal de audio decodificada, y un convertidor de tiempo/frecuencia (430) para convertir la señal de audio decodificada en una representación de frecuencia que tiene la tercera resolución de tiempo o frecuencia, oque comprende: un renderizador de audio (420) para aplicar los parámetros de difusividad convertidos y los parámetros de dirección convertidos a una representación espectral de una señal de audio en la tercera resolución de tiempo o frecuencia para obtener una representación de espectro de síntesis; y un convertidor de espectro/tiempo (440) para convertir la representación de espectro de síntesis en la tercera o cuarta resolución de tiempo o frecuencia para obtener una señal de audio espacial de dominio de tiempo sintetizada que tiene una resolución de tiempo que es mayor que la resolución de la tercera resolución de tiempo o frecuencia, odonde el convertidor de resolución de parámetros (710) está configurado para multiplicar un parámetro de dirección decodificado utilizando una operación de copia o multiplicar un parámetro de difusividad decodificado utilizando una operación de copia o suavizar o filtrar por paso bajo un conjunto de parámetros de dirección multiplicados o un conjunto de parámetros de difusividad multiplicados.Decodificador de una de las reivindicaciones 8 o 9,donde la segunda resolución de tiempo o frecuencia es diferente de la primera resolución de tiempo o frecuencia.Decodificador de una de las reivindicaciones 8 a 10,donde la primera resolución de tiempo es menor que la segunda resolución de tiempo, o la segunda resolución de frecuencia es mayor que la primera resolución de frecuencia, o la primera resolución de tiempo es menor que la segunda resolución de tiempo y la primera resolución de frecuencia es igual a la segunda resolución de frecuencia, odonde el convertidor de resolución de parámetros (710) está configurado para multiplicar los parámetros de difusividad decodificados y los parámetros de dirección decodificados en un número correspondiente de parámetros convertidos adyacentes a frecuencia para un conjunto de bandas, donde una banda que tiene una frecuencia central inferior recibe menos parámetros multiplicados que una banda que tiene una frecuencia central superior.Decodificador de una de las reivindicaciones 8 a 11,donde el procesador de parámetros (300) está configurado para decodificar un parámetro de difusividad codificado para una trama de la señal de audio codificada para obtener un parámetro de difusividad codificado para la trama, y donde el procesador de parámetros (300) está configurado para determinar una precisión de descuantificación para descuantificar al menos un parámetro de dirección para la trama utilizando el parámetro de difusividad codificado o descuantificado, y donde el procesador de parámetros está configurado para descuantificar un parámetro de dirección cuantificado utilizando la precisión de descuantificación, o donde el procesador de parámetros (300) está configurado para determinar, a partir de una precisión de descuantificación, para su uso por el procesador de parámetros (300) para descuantificación, un alfabeto de decodificación para decodificar un parámetro de dirección codificado para la trama, y donde el procesador de parámetros (300) está configurado para decodificar el parámetro de dirección codificado utilizando el alfabeto de decodificación determinado y determinar un parámetro de dirección descuantificado.Decodificador de una de las reivindicaciones 8 a 12,donde el procesador de parámetros (300) está configurado para determinar, a partir de una precisión de descuantificación para su uso por el procesador de parámetros (300) para descuantificar el parámetro de dirección, un alfabeto de elevación para el procesamiento de un parámetro de elevación codificado y para determinar, a partir de un índice de elevación obtenido utilizando el alfabeto de elevación, un alfabeto de azimut, ydonde el procesador de parámetros (300) está configurado para descuantificar un parámetro de azimut codificado utilizando el alfabeto de azimut.Método de decodificación de una señal de audio codificada que comprende parámetros de codificación de audio direccional incluidos parámetros de difusividad codificados y parámetros de dirección codificados, comprendiendo el método:decodificar (300) los parámetros de codificación de audio direccional codificados para obtener un parámetro de difusividad decodificado con una primera resolución de tiempo o frecuencia y parámetros de dirección decodificados con una segunda resolución de tiempo o frecuencia; yconvertir (710) los parámetros de difusividad codificados o decodificados o los parámetros de dirección codificados o decodificados en parámetros de difusividad convertidos o parámetros de dirección convertidos que tienen una tercera resolución de tiempo o frecuencia, siendo la tercera resolución de tiempo o frecuencia diferente de la primera resolución de tiempo o frecuencia o la segunda resolución de tiempo o frecuencia o de la primera resolución de tiempo o frecuencia y la segunda resolución de tiempo o frecuencia.Programa informático para realizar, cuando se ejecuta en una computadora o un procesador, el método de la reivindicación 7 o 14.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP17202393 | 2017-11-17 | ||
| PCT/EP2018/081620 WO2019097017A1 (en) | 2017-11-17 | 2018-11-16 | Apparatus and method for encoding or decoding directional audio coding parameters using different time/frequency resolutions |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2930374T3 true ES2930374T3 (es) | 2022-12-09 |
Family
ID=60515115
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES18803985T Active ES2930374T3 (es) | 2017-11-17 | 2018-11-16 | Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia |
Country Status (20)
| Country | Link |
|---|---|
| US (6) | US11367454B2 (es) |
| EP (3) | EP4113512A1 (es) |
| JP (5) | JP7175980B2 (es) |
| KR (4) | KR20230110842A (es) |
| CN (4) | CN111656442B (es) |
| AR (2) | AR113524A1 (es) |
| AU (2) | AU2018368589B2 (es) |
| BR (2) | BR112020011026A2 (es) |
| CA (2) | CA3083891C (es) |
| ES (1) | ES2930374T3 (es) |
| FI (1) | FI3711047T3 (es) |
| MX (2) | MX2020005045A (es) |
| MY (1) | MY203778A (es) |
| PL (1) | PL3711047T3 (es) |
| PT (1) | PT3711047T (es) |
| RU (2) | RU2763313C2 (es) |
| SG (2) | SG11202004389VA (es) |
| TW (3) | TWI752281B (es) |
| WO (2) | WO2019097017A1 (es) |
| ZA (2) | ZA202003476B (es) |
Families Citing this family (55)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9674587B2 (en) * | 2012-06-26 | 2017-06-06 | Sonos, Inc. | Systems and methods for networked music playback including remote add to queue |
| CA3083891C (en) | 2017-11-17 | 2023-05-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding or decoding directional audio coding parameters using different time/frequency resolutions |
| GB2572761A (en) * | 2018-04-09 | 2019-10-16 | Nokia Technologies Oy | Quantization of spatial audio parameters |
| GB2575305A (en) * | 2018-07-05 | 2020-01-08 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
| ES2985934T3 (es) | 2018-11-13 | 2024-11-07 | Dolby Laboratories Licensing Corp | Representar audio espacial por medio de una señal de audio y metadatos asociados |
| ES2974219T3 (es) | 2018-11-13 | 2024-06-26 | Dolby Laboratories Licensing Corp | Procesamiento de audio en servicios de audio inversivos |
| GB2585187A (en) * | 2019-06-25 | 2021-01-06 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
| JP7576582B2 (ja) | 2019-07-02 | 2024-10-31 | ドルビー・インターナショナル・アーベー | 離散指向性情報の表現、符号化、および復号化のための方法、装置、およびシステム |
| GB2586214A (en) * | 2019-07-31 | 2021-02-17 | Nokia Technologies Oy | Quantization of spatial audio direction parameters |
| AU2020320270B2 (en) | 2019-08-01 | 2025-10-23 | Dolby Laboratories Licensing Corporation | Encoding and decoding IVAS bitstreams |
| GB2586461A (en) | 2019-08-16 | 2021-02-24 | Nokia Technologies Oy | Quantization of spatial audio direction parameters |
| GB2586586A (en) | 2019-08-16 | 2021-03-03 | Nokia Technologies Oy | Quantization of spatial audio direction parameters |
| CN110660401B (zh) * | 2019-09-02 | 2021-09-24 | 武汉大学 | 一种基于高低频域分辨率切换的音频对象编解码方法 |
| GB2587196A (en) * | 2019-09-13 | 2021-03-24 | Nokia Technologies Oy | Determination of spatial audio parameter encoding and associated decoding |
| CN118945359A (zh) * | 2019-09-25 | 2024-11-12 | 松下电器(美国)知识产权公司 | 编码装置、解码装置和比特流 |
| GB2587614A (en) * | 2019-09-26 | 2021-04-07 | Nokia Technologies Oy | Audio encoding and audio decoding |
| TW202533213A (zh) * | 2019-10-30 | 2025-08-16 | 美商杜拜研究特許公司 | 使用方向性元資料之多通道音頻編碼及解碼 |
| GB2590650A (en) | 2019-12-23 | 2021-07-07 | Nokia Technologies Oy | The merging of spatial audio parameters |
| GB2590651A (en) * | 2019-12-23 | 2021-07-07 | Nokia Technologies Oy | Combining of spatial audio parameters |
| GB2590913A (en) * | 2019-12-31 | 2021-07-14 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| GB2592896A (en) * | 2020-01-13 | 2021-09-15 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| GB2595871A (en) | 2020-06-09 | 2021-12-15 | Nokia Technologies Oy | The reduction of spatial audio parameters |
| GB2595883A (en) | 2020-06-09 | 2021-12-15 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| US20230343346A1 (en) * | 2020-06-11 | 2023-10-26 | Dolby Laboratories Licensing Corporation | Quantization and entropy coding of parameters for a low latency audio codec |
| KR20220012724A (ko) | 2020-07-23 | 2022-02-04 | 효성티앤에스 주식회사 | 매체 입금기의 번들모듈 |
| GB2598104A (en) * | 2020-08-17 | 2022-02-23 | Nokia Technologies Oy | Discontinuous transmission operation for spatial audio parameters |
| GB2598773A (en) * | 2020-09-14 | 2022-03-16 | Nokia Technologies Oy | Quantizing spatial audio parameters |
| GB202014572D0 (en) * | 2020-09-16 | 2020-10-28 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| GB2598932A (en) * | 2020-09-18 | 2022-03-23 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| PT4226368T (pt) * | 2020-10-05 | 2024-11-28 | Nokia Technologies Oy | Quantificação de parâmetros de áudio |
| WO2022074202A2 (en) * | 2020-10-09 | 2022-04-14 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus, method, or computer program for processing an encoded audio scene using a parameter smoothing |
| MX2023004247A (es) * | 2020-10-13 | 2023-06-07 | Fraunhofer Ges Forschung | Aparato y metodo para codificar una pluralidad de objetos de audio o aparato y metodo para decodificacion usando dos o mas objetos de audio relevantes. |
| EP4229630A1 (en) * | 2020-10-13 | 2023-08-23 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for encoding a plurality of audio objects using direction information during a downmixing or apparatus and method for decoding using an optimized covariance synthesis |
| CN116762127A (zh) * | 2020-12-15 | 2023-09-15 | 诺基亚技术有限公司 | 量化空间音频参数 |
| US12412585B2 (en) * | 2021-01-18 | 2025-09-09 | Nokia Technlogies Oy | Transforming spatial audio parameters |
| CN115038027B (zh) * | 2021-03-05 | 2023-07-07 | 华为技术有限公司 | Hoa系数的获取方法和装置 |
| WO2022200666A1 (en) * | 2021-03-22 | 2022-09-29 | Nokia Technologies Oy | Combining spatial audio streams |
| WO2022223133A1 (en) * | 2021-04-23 | 2022-10-27 | Nokia Technologies Oy | Spatial audio parameter encoding and associated decoding |
| EP4348637A1 (en) * | 2021-05-27 | 2024-04-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio directivity coding |
| CN115497485B (zh) * | 2021-06-18 | 2024-10-18 | 华为技术有限公司 | 三维音频信号编码方法、装置、编码器和系统 |
| EP4120255A1 (fr) * | 2021-07-15 | 2023-01-18 | Orange | Quantification vectorielle spherique optimisee |
| WO2023031498A1 (en) * | 2021-08-30 | 2023-03-09 | Nokia Technologies Oy | Silence descriptor using spatial parameters |
| CN118120013A (zh) * | 2021-10-18 | 2024-05-31 | 高通股份有限公司 | 音频信号重构 |
| WO2023147864A1 (en) | 2022-02-03 | 2023-08-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method to transform an audio stream |
| FR3132811A1 (fr) * | 2022-02-14 | 2023-08-18 | Orange | Codage et décodage de coordonnées sphériques utilisant un dictionnaire de quantification sphérique optimisé |
| GB2615607A (en) * | 2022-02-15 | 2023-08-16 | Nokia Technologies Oy | Parametric spatial audio rendering |
| JP2025510730A (ja) * | 2022-03-22 | 2025-04-15 | ノキア テクノロジーズ オサケユイチア | パラメトリック空間オーディオエンコーディング |
| WO2024005659A1 (en) * | 2022-06-30 | 2024-01-04 | Huawei Technologies Co., Ltd. | Adaptive selection of entropy coding parameters |
| GB2628636A (en) * | 2023-03-31 | 2024-10-02 | Nokia Technologies Oy | Spatial metadata direction harmonization |
| WO2024208420A1 (en) | 2023-04-05 | 2024-10-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio processor, audio processing system, audio decoder, method for providing a processed audio signal representation and computer program using a time scale modification |
| WO2024245551A1 (en) * | 2023-05-31 | 2024-12-05 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Scalar quantization for audio coding |
| EP4475122A1 (en) * | 2023-06-06 | 2024-12-11 | Nokia Technologies Oy | Adapting spatial audio parameters for jitter buffer management |
| US20250210050A1 (en) * | 2023-12-20 | 2025-06-26 | Sony Interactive Entertainment Inc. | Bandwidth Reduction for Convolution Reverb |
| US20250240570A1 (en) * | 2024-01-19 | 2025-07-24 | Harman International Industries, Incorporated | Remixing multichannel audio based on speaker position |
| CN120299465B (zh) * | 2025-06-12 | 2025-09-09 | 北京生数科技有限公司 | 音频数据处理方法、装置、设备、存储介质及程序产品 |
Family Cites Families (43)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6446037B1 (en) * | 1999-08-09 | 2002-09-03 | Dolby Laboratories Licensing Corporation | Scalable coding method for high quality audio |
| US6678647B1 (en) * | 2000-06-02 | 2004-01-13 | Agere Systems Inc. | Perceptual coding of audio signals using cascaded filterbanks for performing irrelevancy reduction and redundancy reduction with different spectral/temporal resolution |
| FR2810476B1 (fr) | 2000-06-14 | 2002-10-11 | De Palluel Darcel Vince Crette | Balises multifonctions d'emissions/reception et/ou de reemissions, des signaux codes ou non par emetteurs recepteurs d'ondes avec capteurs realises en technologie mikrotelec |
| JP4396233B2 (ja) | 2003-11-13 | 2010-01-13 | パナソニック株式会社 | 複素指数変調フィルタバンクの信号分析方法、信号合成方法、そのプログラム及びその記録媒体 |
| US7460990B2 (en) * | 2004-01-23 | 2008-12-02 | Microsoft Corporation | Efficient coding of digital media spectral data using wide-sense perceptual similarity |
| JP2006003580A (ja) * | 2004-06-17 | 2006-01-05 | Matsushita Electric Ind Co Ltd | オーディオ信号符号化装置及びオーディオ信号符号化方法 |
| RU2376655C2 (ru) * | 2005-04-19 | 2009-12-20 | Коудинг Текнолоджиз Аб | Зависящее от энергии квантование для эффективного кодирования пространственных параметров звука |
| JP4640020B2 (ja) | 2005-07-29 | 2011-03-02 | ソニー株式会社 | 音声符号化装置及び方法、並びに音声復号装置及び方法 |
| US7974713B2 (en) | 2005-10-12 | 2011-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Temporal and spatial shaping of multi-channel audio signals |
| EP1852848A1 (en) * | 2006-05-05 | 2007-11-07 | Deutsche Thomson-Brandt GmbH | Method and apparatus for lossless encoding of a source signal using a lossy encoded data stream and a lossless extension data stream |
| EP2082397B1 (en) * | 2006-10-16 | 2011-12-28 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for multi -channel parameter transformation |
| US20080232601A1 (en) * | 2007-03-21 | 2008-09-25 | Ville Pulkki | Method and apparatus for enhancement of audio reconstruction |
| 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 |
| 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 |
| DE602008005250D1 (de) * | 2008-01-04 | 2011-04-14 | Dolby Sweden Ab | Audiokodierer und -dekodierer |
| US8897359B2 (en) * | 2008-06-03 | 2014-11-25 | Microsoft Corporation | Adaptive quantization for enhancement layer video coding |
| EP2144231A1 (en) | 2008-07-11 | 2010-01-13 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Low bitrate audio encoding/decoding scheme with common preprocessing |
| CN102138176B (zh) * | 2008-07-11 | 2013-11-06 | 日本电气株式会社 | 信号分析装置、信号控制装置及其方法 |
| EP2154910A1 (en) | 2008-08-13 | 2010-02-17 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus for merging spatial audio streams |
| EP2249334A1 (en) | 2009-05-08 | 2010-11-10 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio format transcoder |
| US9351070B2 (en) * | 2009-06-30 | 2016-05-24 | Nokia Technologies Oy | Positional disambiguation in spatial audio |
| 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 |
| US8897455B2 (en) * | 2010-02-18 | 2014-11-25 | Qualcomm Incorporated | Microphone array subset selection for robust noise reduction |
| WO2011104418A1 (en) * | 2010-02-26 | 2011-09-01 | Nokia Corporation | Modifying spatial image of a plurality of audio signals |
| ES2656815T3 (es) | 2010-03-29 | 2018-02-28 | Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung | Procesador de audio espacial y procedimiento para proporcionar parámetros espaciales en base a una señal de entrada acústica |
| EP2656640A2 (en) | 2010-12-22 | 2013-10-30 | Genaudio, Inc. | Audio spatialization and environment simulation |
| CN103649706B (zh) * | 2011-03-16 | 2015-11-25 | Dts(英属维尔京群岛)有限公司 | 三维音频音轨的编码及再现 |
| CN102760437B (zh) * | 2011-04-29 | 2014-03-12 | 上海交通大学 | 实时声道控制转换的音频解码装置 |
| EP2805326B1 (en) * | 2012-01-19 | 2015-10-14 | Koninklijke Philips N.V. | Spatial audio rendering and encoding |
| WO2014135235A1 (en) * | 2013-03-05 | 2014-09-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Apparatus and method for multichannel direct-ambient decomposition for audio signal processing |
| US9466305B2 (en) * | 2013-05-29 | 2016-10-11 | Qualcomm Incorporated | Performing positional analysis to code spherical harmonic coefficients |
| US9495968B2 (en) * | 2013-05-29 | 2016-11-15 | Qualcomm Incorporated | Identifying sources from which higher order ambisonic audio data is generated |
| US9384741B2 (en) * | 2013-05-29 | 2016-07-05 | Qualcomm Incorporated | Binauralization of rotated higher order ambisonics |
| TWI615834B (zh) | 2013-05-31 | 2018-02-21 | Sony Corp | 編碼裝置及方法、解碼裝置及方法、以及程式 |
| US20150127354A1 (en) * | 2013-10-03 | 2015-05-07 | Qualcomm Incorporated | Near field compensation for decomposed representations of a sound field |
| US20150332682A1 (en) * | 2014-05-16 | 2015-11-19 | Qualcomm Incorporated | Spatial relation coding for higher order ambisonic coefficients |
| CN104464742B (zh) * | 2014-12-31 | 2017-07-11 | 武汉大学 | 一种3d音频空间参数全方位非均匀量化编码系统及方法 |
| CN106023999B (zh) * | 2016-07-11 | 2019-06-11 | 武汉大学 | 用于提高三维音频空间参数压缩率的编解码方法及系统 |
| GB2554446A (en) * | 2016-09-28 | 2018-04-04 | Nokia Technologies Oy | Spatial audio signal format generation from a microphone array using adaptive capture |
| US10483913B2 (en) * | 2017-07-13 | 2019-11-19 | Qualcomm Incorporated | Low power crystal oscillator |
| CN109274969B (zh) * | 2017-07-17 | 2020-12-22 | 华为技术有限公司 | 色度预测的方法和设备 |
| CA3083891C (en) * | 2017-11-17 | 2023-05-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding or decoding directional audio coding parameters using different time/frequency resolutions |
| GB2577698A (en) * | 2018-10-02 | 2020-04-08 | Nokia Technologies Oy | Selection of quantisation schemes for spatial audio parameter encoding |
-
2018
- 2018-11-16 CA CA3083891A patent/CA3083891C/en active Active
- 2018-11-16 FI FIEP18803985.3T patent/FI3711047T3/fi active
- 2018-11-16 CN CN201880086690.3A patent/CN111656442B/zh active Active
- 2018-11-16 AU AU2018368589A patent/AU2018368589B2/en active Active
- 2018-11-16 PT PT188039853T patent/PT3711047T/pt unknown
- 2018-11-16 JP JP2020526994A patent/JP7175980B2/ja active Active
- 2018-11-16 CN CN202311255126.9A patent/CN117351970A/zh active Pending
- 2018-11-16 CA CA3084225A patent/CA3084225C/en active Active
- 2018-11-16 EP EP22192222.2A patent/EP4113512A1/en active Pending
- 2018-11-16 KR KR1020237024617A patent/KR20230110842A/ko not_active Ceased
- 2018-11-16 EP EP18803985.3A patent/EP3711047B1/en active Active
- 2018-11-16 AU AU2018368588A patent/AU2018368588B2/en active Active
- 2018-11-16 MX MX2020005045A patent/MX2020005045A/es unknown
- 2018-11-16 WO PCT/EP2018/081620 patent/WO2019097017A1/en not_active Ceased
- 2018-11-16 WO PCT/EP2018/081623 patent/WO2019097018A1/en not_active Ceased
- 2018-11-16 MX MX2020005044A patent/MX2020005044A/es unknown
- 2018-11-16 KR KR1020207017247A patent/KR102599743B1/ko active Active
- 2018-11-16 PL PL18803985.3T patent/PL3711047T3/pl unknown
- 2018-11-16 RU RU2020119761A patent/RU2763313C2/ru active
- 2018-11-16 KR KR1020257025129A patent/KR20250117733A/ko active Pending
- 2018-11-16 ES ES18803985T patent/ES2930374T3/es active Active
- 2018-11-16 EP EP18803987.9A patent/EP3711048A1/en active Pending
- 2018-11-16 CN CN201880086689.0A patent/CN111656441B/zh active Active
- 2018-11-16 KR KR1020207017280A patent/KR102535997B1/ko active Active
- 2018-11-16 RU RU2020119762A patent/RU2763155C2/ru active
- 2018-11-16 CN CN202410748798.1A patent/CN118609580A/zh active Pending
- 2018-11-16 BR BR112020011026-4A patent/BR112020011026A2/pt unknown
- 2018-11-16 SG SG11202004389VA patent/SG11202004389VA/en unknown
- 2018-11-16 JP JP2020526987A patent/JP7175979B2/ja active Active
- 2018-11-16 MY MYPI2020002345A patent/MY203778A/en unknown
- 2018-11-16 SG SG11202004430YA patent/SG11202004430YA/en unknown
- 2018-11-16 BR BR112020011035-3A patent/BR112020011035A2/pt unknown
- 2018-11-19 TW TW107141081A patent/TWI752281B/zh active
- 2018-11-19 TW TW107141079A patent/TWI708241B/zh active
- 2018-11-19 TW TW110129069A patent/TWI759240B/zh active
- 2018-11-20 AR ARP180103391A patent/AR113524A1/es active IP Right Grant
- 2018-11-20 AR ARP180103392A patent/AR113525A1/es active IP Right Grant
-
2020
- 2020-05-06 US US16/867,856 patent/US11367454B2/en active Active
- 2020-05-11 US US16/871,223 patent/US11783843B2/en active Active
- 2020-06-10 ZA ZA2020/03476A patent/ZA202003476B/en unknown
- 2020-06-10 ZA ZA2020/03473A patent/ZA202003473B/en unknown
-
2022
- 2022-01-10 US US17/571,970 patent/US12106763B2/en active Active
- 2022-01-12 JP JP2022003012A patent/JP7372360B2/ja active Active
- 2022-08-24 JP JP2022133236A patent/JP7799581B2/ja active Active
-
2023
- 2023-08-28 US US18/456,670 patent/US12112762B2/en active Active
- 2023-10-18 JP JP2023179870A patent/JP2024003010A/ja active Pending
-
2024
- 2024-04-24 US US18/644,449 patent/US20240274139A1/en active Pending
- 2024-09-03 US US18/823,006 patent/US20240428806A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2930374T3 (es) | Aparato y método para codificar o decodificar parámetros de codificación de audio direccional utilizando diferentes resoluciones de tiempo/frecuencia | |
| HK40036674B (en) | Apparatus and method for encoding or decoding directional audio coding parameters using different time/frequency resolutions | |
| HK40036674A (en) | Apparatus and method for encoding or decoding directional audio coding parameters using different time/frequency resolutions |







