ES3051717T3 - Determination of spatial audio parameter encoding and associated decoding - Google Patents

Determination of spatial audio parameter encoding and associated decoding

Info

Publication number
ES3051717T3
ES3051717T3 ES19829906T ES19829906T ES3051717T3 ES 3051717 T3 ES3051717 T3 ES 3051717T3 ES 19829906 T ES19829906 T ES 19829906T ES 19829906 T ES19829906 T ES 19829906T ES 3051717 T3 ES3051717 T3 ES 3051717T3
Authority
ES
Spain
Prior art keywords
bits
sub
band
index
azimuth
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES19829906T
Other languages
English (en)
Inventor
Adriana Vasilache
Anssi Rämö
Lasse Laaksonen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Application granted granted Critical
Publication of ES3051717T3 publication Critical patent/ES3051717T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

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

Landscapes

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

Abstract

Un aparato que comprende medios para: recibir valores para subbandas de un cuadro de una señal de audio, comprendiendo los valores al menos un valor de acimut, al menos un valor de elevación y al menos un valor de relación de energía para cada subbanda; determinar una asignación de un primer número de bits para codificar los valores del cuadro, en donde el primer número de bits es fijo; codificar el al menos un valor de relación de energía para un cuadro basándose en una asignación definida de un segundo número de bits del primer número de bits; codificar el al menos un valor de acimut y/o al menos un valor de elevación del cuadro basándose en una asignación definida de un tercer número de bits del primer número de bits, en donde el tercer número de bits se distribuye de forma variable sobre una base de subbanda por subbanda. (Traducción automática con Google Translate, sin valor legal)

Description

[0001] DESCRIPCIÓN
[0003] Determinación de codificación de parámetros audioespaciales y decodificación asociada
[0005] Campo
[0007] La presente solicitud se refiere a un aparato para la codificación de parámetros relacionados con el campo sonoro, pero no exclusivamente para la codificación de parámetros relacionados con la dirección del dominio de tiempofrecuencia para un codificador de audio.
[0009] Antecedentes
[0011] El procesamiento de audio espacial paramétrico es un campo de procesamiento de señales de audio donde el aspecto espacial del sonido se describe utilizando un conjunto de parámetros. Por ejemplo, en la captura de audio espacial paramétrica a partir de matrices de micrófonos, una elección típica y efectiva es estimar, a partir de las señales de matriz de micrófonos, un conjunto de parámetros tales como direcciones del sonido en bandas de frecuencia, y los coeficientes entre las partes direccionales y no direccionales del sonido capturado en las bandas de frecuencia. Se sabe que estos parámetros describen bien las propiedades espaciales perceptuales del sonido captado en la posición de la matriz de micrófonos. Estos parámetros pueden utilizarse en la síntesis del sonido espacial, por consiguiente, para auriculares de forma binaural, para altavoces o para otros formatos, tales como Ambisonics.
[0013] Por lo tanto, las direcciones y las relaciones de energía directa con respecto a total en bandas de frecuencia son de este modo una parametrización que es especialmente eficaz para la captación de audio espacial.
[0015] También puede utilizarse un conjunto de parámetros que consiste en un parámetro de dirección en bandas de frecuencia y un parámetro de razón de energía en bandas de frecuencia (que indica la direccionalidad del sonido) como metadatos espaciales (que también pueden incluir otros parámetros como la coherencia, coherencia de propagación, número de direcciones, distancia, etc.) para un códec de audio. Por ejemplo, estos parámetros pueden estimarse a partir de señales de audio captadas en matriz de micrófonos y, por ejemplo, se puede generar una señal estéreo a partir de las señales de matriz de micrófonos que se transportan con los metadatos espaciales. La señal estéreo puede codificarse, por ejemplo, con un codificador AAC. Un decodificador puede decodificar las señales de audio para dar señales de PCM, y procesar el sonido en bandas de frecuencia (utilizando los metadatos espaciales) para obtener la salida espacial, por ejemplo, una salida binaural.
[0017] La solución mencionada anteriormente es particularmente adecuada para codificar sonido espacial capturado a partir de matrices de micrófonos (por ejemplo, en teléfonos móviles, cámaras de RV, matrices de micrófono independientes). Sin embargo, puede ser deseable que dicho codificador tenga también otros tipos de entrada que las señales capturadas de matriz de micrófonos, por ejemplo, señales de altavoces, señales de objeto de audio o señales ambisónicas.
[0019] El análisis de entradas ambisónicas (FOA) de primer orden para la extracción de metadatos espaciales se ha documentado completamente en la literatura científica relacionada con la codificación de audio direccional (DirAC) y la expansión de onda de plano armónico (Harpex). Esto es dado que existen matrices de micrófono que proporcionan directamente una señal FOA (de forma más precisa: su variante, la señal de formato B) y el análisis de dicha entrada ha sido por lo tanto un punto de estudio en el campo.
[0021] Una entrada adicional para el codificador también es la entrada de altavoz multicanal, como las entradas envolventes del canal 5.1 o 7.1.
[0023] Sin embargo, con respecto a los componentes direccionales de los metadatos, que pueden comprender una elevación, acimut (y una relación de energía que es 1-difusión) de una dirección resultante, para cada subbanda de tiempo/frecuencia considerada. La cuantificación de estos componentes direccionales es un tema de investigación actual.
[0025] La publicación “ Parametric Spatial Audio Coding Based on Spatial Auditory Blurring,” de la 45a Conferencia Internacional: Applications of Time Frequency Processing in Audio, 2 de marzo de 2012, describe un método dinámico para cuantificar los parámetros espaciales del audio, en donde el método se basa en una estimación instantánea de la resolución espacial auditiva humana.
[0027] Resumen
[0029] Se proporciona, según un primer aspecto, un aparato que comprende medios para: recibir valores para subbandas de una trama de una señal de audio, comprendiendo los valores al menos un valor de acimut, al menos un valor de elevación y al menos un valor de relación de energía para cada subbanda; determinar una asignación del primer número de bits para codificar los valores de la trama, en donde el primer número de bits es fijo; codificar al menos un valor de relación de energía de la trama basándose en una asignación definida de un segundo número de bits a partir del primer número de bits; codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, y en donde los medios para codificar al menos un valor de relación de energía de la trama basándose en una asignación definida de un segundo número de bits a partir del primer número de bits comprenden además medios para: generar un promedio ponderado de al menos un valor de relación de energía; codificar el promedio ponderado de al menos un valor de relación de energía basado en el segundo número de bits.
[0031] Los medios para codificar el promedio ponderado de al menos un valor de relación de energía basado en el segundo número de bits pueden ser además para la cuantificación escalar no uniforme de al menos un promedio ponderado de al menos un valor de relación de energía.
[0033] Los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basado en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, pueden servir además para: determinar una estimación inicial para la distribución del tercer número de bits subbanda por subbanda, la estimación inicial basada en al menos una valor de la relación de energía asociado a la subbanda; cuantificar espacialmente al menos un valor de acimut y/o al menos un valor de elevación basándose en la estimación inicial para la distribución del tercer número de bits subbanda por subbanda para generar al menos un índice de acimut y/o al menos un índice de elevación para cada subbanda.
[0034] Los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basado en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, pueden utilizarse además para codificar subbanda por subbanda determinando una distribución reducida del tercer número de bits subbanda por subbanda, distribución reducida basada en la estimación inicial y la asignación definida del segundo número de bits.
[0036] Los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, pueden utilizarse además para codificar subbanda por subbanda mediante: determinar una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda basado en la distribución reducida; estimar el número de bits necesarios para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación; codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación basado en el número de bits requeridos para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación que son inferiores a la asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda y una codificación de tasa fija basada en la asignación de bits de otro modo; generar un bit de señalización que identifique la codificación de al menos un índice de acimut y/o al menos un índice de elevación; distribuir cualquier bit disponible a partir de la diferencia de la asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda y la suma del número de bits que codifican la subbanda y el bit de señalización para una asignación adicional de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda adicional o disminuir una asignación adicional de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para la subbanda adicional en un bit de cualquier otro modo.
[0038] Los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, pueden utilizarse además para codificar subbanda por subbanda mediante: determinar una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una última subbanda basado en la distribución reducida; y una tasa fija que codifica al menos un índice de acimut y/o al menos un índice de elevación para la última subbanda basado en la asignación de distribución reducida de bits.
[0040] Los medios para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación basado en el número de bits requeridos para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación pueden ser medios para la codificación Golomb-Rice con dos valores de parámetros GR.
[0042] Los medios para codificar subbanda por subbanda mediante la determinación de una distribución reducida del tercer número de bits subbanda por subbanda, la distribución reducida basada en la estimación inicial y la asignación definida del segundo número de bits pueden servir además para reducir uniformemente subbanda por subbanda una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación.
[0044] Los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basado en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, pueden ser adicionales para al menos uno de: asignar índices para la codificación en orden creciente de la distancia desde una dirección frontal; asignar el índice en orden creciente del valor de acimut.
[0045] Un dispositivo electrónico puede comprender un aparato tal como se describe en la presente memoria.
[0046] Un conjunto de chips puede comprender un aparato tal como se describe en la presente memoria.
[0047] Las realizaciones de la presente solicitud tienen como objetivo abordar problemas asociados con el estado de la técnica.
[0048] Resumen de las figuras
[0049] Para una mejor comprensión de la presente solicitud, ahora se hará referencia a modo de ejemplo a los dibujos adjuntos, en los que:
[0050] la figura 1 muestra esquemáticamente un sistema de aparato adecuado para implementar algunas realizaciones; la figura 2 muestra esquemáticamente un codificador de metadatos según algunas realizaciones;
[0051] la figura 3 muestra un diagrama de flujo de la operación del codificador de metadatos como se muestra en la figura 2 según algunas realizaciones;
[0052] la figura 4 muestra esquemáticamente el decodificador de metadatos según algunas realizaciones;
[0053] la figura 5 muestra un diagrama de flujo de la operación del codificador de metadatos como se muestra en la figura 4 según algunas realizaciones; y
[0054] la figura 6 muestra esquemáticamente un dispositivo de ejemplo adecuado para implementar el aparato mostrado.
[0055] Realizaciones de la solicitud
[0056] A continuación se describe con más detalle un aparato adecuado y mecanismos posibles para la provisión de parámetros de metadatos derivados de análisis espacial efectivos. En la siguiente discusión, el sistema multicanal se analiza con respecto a una implementación de micrófono multicanal. Sin embargo, como se discutió anteriormente, el formato de entrada puede ser cualquier formato de entrada adecuado, tal como un altavoz multicanal, ambisónica (FOA/HOA), etc. Se entiende que en algunas realizaciones la ubicación del canal se basa en una ubicación del micrófono o es una ubicación o dirección virtual. Además, la salida del sistema de ejemplo es una disposición de altavoz multicanal. Sin embargo, se entiende que la salida puede hacerse al usuario mediante medios distintos a los altavoces. Además, las señales de altavoz multicanal pueden generalizarse para ser dos o más señales de audio de reproducción.
[0057] Los metadatos consisten al menos en elevación, acimut y relación de energía de una dirección resultante, para cada subbanda de tiempo/frecuencia considerada. Los componentes del parámetro de dirección, el acimut y la elevación, se extraen de los datos de audio y, a continuación, se cuantifican con una resolución de cuantificación determinada. Los índices resultantes deben comprimirse aún más para una transmisión eficiente. Para una tasa de bits alta, se necesita una codificación sin pérdidas de alta calidad de los metadatos.
[0058] El concepto que se analiza a continuación es combinar un enfoque de codificación de tasa de bits fija con una codificación de tasa de bits variable que distribuye bits de codificación para los datos que se van a comprimir entre diferentes segmentos, de modo que la tasa de bits general por trama sea fija. Dentro de los bloques de frecuencia de tiempo, los bits pueden transferirse entre subbandas de frecuencia.
[0059] Con respecto a la figura 1, se muestran un aparato y un sistema de ejemplo para implementar realizaciones de la solicitud. El sistema 100 se muestra con una parte de ‘análisis’ 121 y una parte de ‘síntesis’ 131. La parte 121 de “análisis” es la parte desde la recepción de las señales de altavoces de múltiples canales hasta la codificación de los metadatos y la señal de mezcla descendente; y la parte 131 de “síntesis” es la parte de una decodificación de los metadatos codificados y la señal de mezcla descendente a la presentación de la señal regenerada (por ejemplo, en forma de altavoces de múltiples canales).
[0060] La entrada al sistema 100 y la parte 121 de análisis son las señales multicanal 102. En los siguientes ejemplos, se describe una entrada de señal de canal de micrófono, aunque puede implementarse cualquier formato de entrada (o multicanal sintético) adecuado en otras realizaciones. Por ejemplo, en algunas realizaciones, el analizador espacial y el análisis espacial pueden implementarse de forma externa al codificador. Por ejemplo, en algunas realizaciones, los metadatos espaciales asociados con las señales de audio pueden ser proporcionados a un codificador como un flujo de bits separado. En algunas realizaciones, los metadatos espaciales pueden proporcionarse como un conjunto de valores de índice espacial (dirección).
[0061] Las señales multicanal se pasan a un mezclador descendente 103 y a un procesador 105 de análisis.
[0062] En algunas realizaciones, el mezclador descendente 103 está configurado para recibir las señales multicanal y la mezcla descendente de las señales a un número determinado de canales y emitir las señales de mezcla descendente 104. Por ejemplo, el mezclador descendente 103 puede configurarse para generar una mezcla de canales de audio 2 de las señales multicanal. El número determinado de canales puede ser cualquier número adecuado de canales. En algunas realizaciones, el mezclador descendente 103 es opcional y las señales multicanal se pasan sin procesara un codificador 107 de la misma forma que la señal de mezcla descendente en este ejemplo.
[0064] En algunas realizaciones, el procesador de análisis 105 también está configurado para recibir las señales multicanal y analizar las señales para producir metadatos 106 asociados con las señales multicanal y, por lo tanto, asociarse con las señales de mezcla descendente 104. El procesador 105 de análisis puede configurarse para generarlos metadatos que pueden comprender, para cada intervalo de análisis de tiempo-frecuencia, un parámetro 108 de dirección y un parámetro 110 de relación de energía (y en algunas realizaciones un parámetro de coherencia y un parámetro de difusión). En algunas realizaciones, la dirección y la relación de energía pueden considerarse parámetros de audio espacial. En otras palabras, los parámetros de audio espacial comprenden parámetros que tienen como objetivo caracterizar el campo sonoro creado por las señales multicanal (o dos o más señales de audio de reproducción en general).
[0066] En algunas realizaciones, los parámetros generados pueden diferir entre las bandas de frecuencia. Por lo tanto, por ejemplo, en la banda X todos los parámetros se generan y transmiten, mientras que en la banda Y solo se genera y transmite uno de los parámetros, y además en la banda Z no se generan o transmiten parámetros. Un ejemplo práctico de esto es que para algunas bandas de frecuencia, tales como la banda más alta, no se requieren algunos de los parámetros por motivos perceptuales. Las señales de mezcla descendente 104 y los metadatos 106 pueden pasarse a un codificador 107.
[0068] El codificador 107 puede comprender un núcleo 109 de codificador de audio que está configurado para recibir las señales 104 de mezcla descendente (o de otro tipo), y generar una codificación adecuada de estas señales de audio. En algunas realizaciones, el codificador 107 puede ser un ordenador (que ejecuta un software adecuado almacenado en la memoria y en al menos un procesador), o de forma alternativa un dispositivo específico que utiliza, por ejemplo, FPGAo ASIC. La codificación puede implementarse utilizando cualquier esquema adecuado. El codificador 107 puede comprender además un codificador de metadatos o cuantificador 111 que está configurado para recibir los metadatos y emitir una forma codificada o comprimida de la información. En algunas realizaciones, el codificador 107 puede además intercalar, multiplexar a un flujo de datos individual o incorporar los metadatos dentro de las señales de mezcla descendente codificadas antes de la transmisión o el almacenamiento mostrado en la figura 1 por la línea discontinua. La multiplexación puede implementarse utilizando cualquier esquema adecuado.
[0070] En el lado del decodificador, los datos recibidos o recuperados (flujo) pueden ser recibidos por un decodificador/demultiplexor 133. El decodificador/demultiplexor 133 puede demultiplexar los flujos codificados y pasar el flujo codificado de audio a un extractor 135 de mezcla descendente que está configurado para decodificar las señales de audio para obtener las señales de mezcla descendente. De forma similar, el decodificador/demultiplexor 133 puede comprender un extractor 137 de metadatos que está configurado para recibir los metadatos codificados y generar metadatos. En algunas realizaciones, el decodificador/demultiplexor 133 puede ser un ordenador (que ejecuta un software adecuado almacenado en la memoria y en al menos un procesador), o de forma alternativa un dispositivo específico que utiliza, por ejemplo, FPGA o ASIC.
[0072] Los metadatos decodificados y las señales de audio de mezcla descendente pueden pasarse a un procesador 139 de síntesis.
[0074] La parte de “síntesis” 131 del sistema 100 muestra además un procesador 139 de síntesis configurado para recibir la mezcla descendente y los metadatos, y vuelve a crear en cualquier formato adecuado un audio espacial sintetizado en forma de señales multicanal 110 (pueden ser un formato de altavoces multicanal o en algunas realizaciones cualquier formato de salida adecuado como las señales binaural o ambisónica, dependiendo del caso de uso) en base a las señales de mezcla descendente y los metadatos.
[0076] Por lo tanto, en resumen, el sistema (parte de análisis) está configurado para recibir señales de audio multicanal.
[0077] A continuación, el sistema (parte de análisis) está configurado para generar una mezcla descendente o generar de otro modo una señal de audio de transporte adecuada (por ejemplo, seleccionando algunos de los canales de señal de audio).
[0079] El sistema se configura a continuación para codificar para su almacenamiento/transmisión la señal de mezcla descendente (o, de forma más general, la señal de transporte).
[0081] Después de esto, el sistema puede almacenar/transmitir la mezcla descendente y los metadatos codificados.
[0083] El sistema puede recuperar/recibir la mezcla descendente y los metadatos codificados.
[0084] A continuación, el sistema se configura para extraer la mezcla descendente y los metadatos de los parámetros codificados de mezcla descendente y metadatos, por ejemplo, demultiplexar y decodificar los parámetros codificados de mezcla descendente y metadatos.
[0086] El sistema (parte de síntesis) está configurado para sintetizar una señal de audio multicanal de salida basándose en la mezcla descendente extraída de señales de audio multicanal y los metadatos.
[0088] Con respecto a la figura 2, se describe con más detalle un procesador 105 de análisis de ejemplo y un codificador/cuantificador 111 de metadatos (como puede verse en la figura 1) según algunas realizaciones más detalladas.
[0090] El procesador 105 de análisis en algunas realizaciones comprende un transformador 201 de dominio de tiempofrecuencia.
[0092] En algunas realizaciones, el transformador 201 de dominio de tiempo-frecuencia está configurado para recibir las señales multicanal 102 y aplicar una transformación de dominio de tiempo a frecuencia adecuada tal como una Transformación de Fourier de Tiempo Corto (STFT) para convertir las señales de dominio del tiempo de entrada en una señal de tiempo-frecuencia adecuada. Estas señales de tiempo-frecuencia pueden pasar a un analizador espacial 203 y a un analizador 205 de señal.
[0094] Por lo tanto, por ejemplo, las señales de tiempo-frecuencia 202 pueden representarse en la representación del dominio de tiempo-frecuencia en
[0096] si(b, n),
[0098] donde b es el índice del intervalo de frecuencia y n es el índice del bloque de frecuencia (trama) e i es el índice de canal. En otra expresión, n puede considerarse un índice de tiempo con una tasa de muestreo más baja que la de las señales originales del dominio del tiempo. Estos binarios de frecuencia pueden agruparse en subbandas que forman uno o más de los binarios en una subbanda de un índice de banda K = 0,.,., K-1. Cada subbanda k tiene un contenedor b más bajo k, bajo y un depósito más alto bk, alto, y la subbanda contiene todos los intervalos de bk, bajo a b k, alto. Las anchuras de las subbandas pueden aproximarse a cualquier distribución adecuada. Por ejemplo, la escala de ancho de banda rectangular equivalente (ERB) o la escala Bark.
[0100] En algunas realizaciones, el procesador 105 de análisis comprende un analizador espacial 203. El analizador espacial 203 puede configurarse para recibir las señales 202 de tiempo-frecuencia y basándose en estas señales estima los parámetros 108 de dirección. Los parámetros de dirección se pueden determinar basándose en cualquier determinación de “ dirección” basada en audio.
[0102] Por ejemplo, en algunas realizaciones, el analizador espacial 203 está configurado para estimar la dirección con dos o más entradas de señal. Esto representa la configuración más simple para estimar una “dirección” y un procesamiento más complejo puede realizarse con incluso más señales.
[0104] El analizador espacial 203 puede configurarse para proporcionar al menos un acimut y una elevación para cada banda de frecuencia y bloque temporal-frecuencia de tiempo dentro de una trama de una señal de audio, denotado como acimut ^(k, n) y elevación 0(k, n). Los parámetros 108 de dirección también se pueden pasar a un generador 205 de índice de dirección.
[0106] El analizador especial 203 también puede configurarse para determinar un parámetro 110 de relación de energía. Se puede considerar que la relación de energía es una determinación de la energía de la señal de audio que puede considerarse que llega desde una dirección. La relación de energía directa a total r (k, n) puede estimarse, por ejemplo, utilizando una medida de estabilidad de la estimación direccional, o utilizando cualquier medida de correlación, o cualquier otro método adecuado para obtener un parámetro de relación. La relación de energía se puede pasar a un analizador 221 de relación de energía y a un combinador de relación de energía 223.
[0108] Por lo tanto, en resumen, el procesador de análisis está configurado para recibir un canal multicanal de dominio de tiempo u otro formato tal como señales de micrófono o audio ambisónica.
[0110] Después de esto, el procesador de análisis puede aplicar una transformación de dominio de tiempo a dominio de frecuencia (por ejemplo, STFT) para generar señales de dominio de tiempo-frecuencia adecuadas para su análisis y a continuación aplicar análisis de dirección para determinar parámetros de dirección y relación de energía.
[0112] El procesador de análisis puede configurarse a continuación para emitir los parámetros determinados.
[0114] Aunque aquí se expresan direcciones y relaciones para cada índice de tiempo n, en algunas realizaciones los parámetros pueden combinarse a lo largo de varios índices de tiempo. Lo mismo se aplica para el eje de frecuencia, como se ha expresado, la dirección de varios bins de frecuencia b podría expresarse por un parámetro de dirección en la banda k que consiste en varios bins de frecuencia b. Lo mismo se aplica para todos los parámetros espaciales analizados en la presente memoria.
[0116] Según muestra también la figura 2, se muestra un codificador/cuantificador 111 de metadatos de ejemplo según algunas realizaciones.
[0118] El codificador/cuantificador de metadatos 111 puede comprender un analizador 221 de relación de energía (o determinadorde resolución de cuantificación). El analizador 221 de relación de energía puede configurarse para recibir las relaciones de energía y, a partir del análisis, generar una resolución de cuantificación para los parámetros de dirección (en otras palabras, una resolución de cuantificación para los valores de elevación y acimut) para todos los bloques de tiempo-frecuencia en la trama. Esta asignación de bits puede definirse, por ejemplo, mediante bits_dir0[0:N-1] [0:M-1].
[0120] El codificador/cuantificador de metadatos 111 puede comprender un generador 205 de índice de dirección. El generador 205 de índice de dirección está configurado para recibir los parámetros de dirección (como el acimut ^(k, n) y la elevación 0(k, n) 108 y la asignación de bits de cuantificación y a partir de esto generar una salida cuantificada. En algunas realizaciones, la cuantificación se basa en una disposición de esferas que forman una retícula esférica dispuesta en anillos en una esfera de “superficie” que se define por una tabla de consulta definida por la resolución de cuantificación determinada. En otras palabras, la retícula esférica utiliza la idea de cubrir una esfera con esferas más pequeñas y considerar los centros de las esferas más pequeñas como puntos que definen una retícula de direcciones casi equidistantes. Por lo tanto, las esferas más pequeñas definen conos o ángulos sólidos alrededor del punto central que pueden indexarse según cualquier algoritmo de indexación adecuado. Aunque la cuantificación esférica se describe aquí cualquier cuantificación adecuada, lineal o no lineal.
[0122] Por ejemplo, en algunas realizaciones, los bits para los parámetros de dirección (acimut y elevación) se asignan según la tabla bits_direction[]; si la relación de energía tiene el índicei,el número de bits para la dirección es bits_direction[i].
[0125]
[0127] La estructura de los cuantificadores de dirección para diferentes resoluciones de bits viene dada por las siguientes variables:
[0130]
[0131]
[0133] ‘no_theta’ corresponde al número de valores de elevación en el “hemisferio norte” de la esfera de direcciones, que incluye el ecuador. ‘no_phi’ corresponde al número de valores de acimut en cada elevación para cada cuantificador.
[0134] Por ejemplo, para 5 bits hay 4 valores de elevación correspondientes a [0, 30, 60, 90] y 4-1=3 valores de elevación negativos [-30, -60, -90]. Para el primer valor de elevación, 0, hay 12 valores de acimut equidistantes; para los valores de elevación 30 y -30 hay 7 valores de acimut equidistantes, y así sucesivamente.
[0136] Todas las estructuras de cuantificación, con excepción de la estructura correspondiente a 4 bits, tienen la diferencia entre valores de elevación consecutivos dada por 90 grados divididos por el número de valores de elevación ‘no_theta’. La estructura correspondiente a 4 bits tiene puntos solo para la elevación que tiene un valor de 0 y 45 grados. No hay puntos por debajo de la línea ecuatorial para esta estructura. Este es un ejemplo y se puede implementar cualquier otra distribución adecuada. Por ejemplo, en algunas realizaciones se puede implementar una retícula esférica de 4 bits que tenga puntos también debajo del Ecuador. De forma similar, la distribución de 3 bits puede extenderse en la esfera o restringirse solo al ecuador.
[0138] Los índices de cuantificación para las subbandas dentro de un grupo de bloques de tiempo pueden pasarse a continuación a un codificador 225 de índice de dirección. El codificador 225 de índice de dirección puede configurarse a continuación para codificar los valores de índice subbanda por subbanda.
[0140] De este modo, el codificador 225 de índice de dirección puede configurarse para reducir el número asignado de bits, bits_dir1[0:N-1][0:M-1], de modo que la suma de los bits asignados sea igual al número de bits disponibles que quedan después de codificar las relaciones de energía.
[0142] La reducción del número de bits asignados inicialmente, en otras palabras
[0144] bits_dir1[0:N-1][0:M-1] de bits_dir0[0:N-1][0:M-1] puede implementarse en algunas realizaciones mediante:
[0146] En primer lugar, disminuir uniformemente el número de bits a lo largo del bloque de tiempo/frecuencia con una cantidad de bits dada por la división entera entre los bits a reducir y el número de bloques de tiempo-frecuencia;
[0148] En segundo lugar, los bits que aún deben restarse se restan uno por bloque de tiempo-frecuencia comenzando con la subbanda 0, bloque de tiempo-frecuencia 0.
[0150] Esto puede implementarse, por ejemplo, mediante el siguiente código c:
[0151]
[0153] En algunas realizaciones, se puede imponer un número mínimo de bits, superior a 0, para cada bloque.
[0154] El codificador 225 de índice de dirección puede configurarse a continuación para implementar el número reducido de bits permitido subbanda por subbanda.
[0155] Por ejemplo, el codificador 225 de índice de dirección puede configurarse para determinar basado en un número calculado de bits permitidos para una subbanda actual desde la primera subbanda hasta la penúltima subbanda. En otras palabras, bits_allowed=sum(bits_dir1 [i] [0:M-1 ]) de i=1 a N-1.
[0157] El codificador de índice de dirección puede configurarse a continuación para intentar codificar los índices de parámetros de dirección utilizando una codificación de entropía adecuada y determinar cuántos bits se requieren para la subbanda actual (bits_ec). Cuando esto es inferior a un mecanismo de codificación de tasa fija adecuado que utiliza el número de bits asignado reducido determinado, bits_fixed=bits_allowed, a continuación se selecciona la codificación por entropía. De lo contrario, se selecciona el método de codificación de tasa fija.
[0159] Además, se utiliza un bit para indicar el método seleccionado.
[0161] En otras palabras, el número de bits utilizados para codificar el índice de dirección de subbanda es:
[0164]
[0167] El codificador de índice de dirección puede configurarse a continuación para determinar si quedan bits del ‘conjunto’ de bits disponibles de la subbanda.
[0169] Por ejemplo, el codificador 225 de índice de dirección puede configurarse para determinar un valor de diferencia.
[0172]
[0174] Cuando diff > 0, en otras palabras, hay bits no utilizados de la asignación, a continuación estos bits pueden redistribuirse a subbandas sucesivas. Por ejemplo, actualizando la distribución definida por la matriz bits_dir1 [i+1:N-1][0:M-1].
[0176] Cuando diff = 0 o < 0, a continuación restar un bit de la asignación de la subbanda siguiente. Por ejemplo, actualizando la distribución definida por la matriz bits_dir1 [i+1] [0]
[0178] Habiendo codificado todas excepto la última subbanda, a continuación los valores de índice de la última subbanda se codifican utilizando una codificación de tasa fija utilizando una asignación de bits definida por dir1[N-1][0:M-1] bits.
[0179] Estos pueden pasarse a continuación a un combinador 207.
[0181] En algunas realizaciones, el codificador comprende un codificador 223 de relación de energía. El codificador 223 de relación de energía puede configurarse para recibir las relaciones de energía determinadas (por ejemplo, relaciones de energía directa a total, y además relaciones de energía difusa a total y relaciones de energía restante a total) y codificarlas/cuantificarlas.
[0183] Por ejemplo, en algunas realizaciones, el codificador 223 de relación de energía está configurado para aplicar una cuantificación escalar no uniforme utilizando 3 bits para cada subbanda.
[0185] Además, en algunas realizaciones, el codificador 223 de relación de energía está configurado para generar un valor promedio ponderado por subbanda. En algunas realizaciones, este promedio se calcula teniendo en cuenta la energía total de cada bloque de tiempo-frecuencia y la ponderación aplicada basasdo en las subbandas que tienen más energía.
[0187] El codificador 223 de relación de energía puede a continuación pasar esto al combinador que está configurado para combinar los metadatos y generar metadatos codificados combinados.
[0189] Con respecto a la figura 3 se muestra el funcionamiento del codificador/cuantizador de metadatos 111 como se muestra en la figura 2.
[0191] Una operación inicial es la de obtener metadatos (valores de azimut, valores de elevación, relaciones de energía) como se muestra en la figura 3 en la etapa 301.
[0193] Una vez obtenidos los metadatos para cada subbanda (i=1:N), preparar una distribución o asignación inicial y, como se muestra en la figura 3, en la etapa 303: utilizar 3 bits para codificar el valor de relación de energía correspondiente y, a continuación, establecer la resolución de cuantificación para el acimut y la elevación para todos los bloques de tiempo-frecuencia de la subbanda actual. La resolución de cuantificación se establece permitiendo un número predefinido de bits dado por el valor de la relación de energía, bits_dir0[0:N-1][0:M-1]
[0194] Una vez generada una asignación inicial, reducir el número asignado de bits, bits_dir1 [0:N-1] [0:M-1] (la suma de los bits asignados = número de bits disponibles que quedan después de codificar las relaciones de energía), como se muestra en la figura 3 mediante la etapa 305.
[0196] A continuación, implementar la asignación de bits reducida implementándola para subbandas hasta la penúltima (o si no hay bits asignados para la última subbanda, a continuación el procedimiento de “ paso de bits” solo puede implementarse hasta la subbanda anterior a la penúltima subbanda (1 :N-2)) subbanda (en otras palabras, para cada subbanda i=1:N-1): calcular los bits permitidos para la subbanda actual: bits_allowed= sum(bits_dir1[i][0:M-1]). Codificar los índices de parámetros de dirección con el número de bits asignado reducido (utilizando codificación de tasa fija o codificación por entropía, lo que utilice menos bits) e indicar la selección de codificación. Si hay bits disponibles con respecto a los bits permitidos: Redistribuir la diferencia entre las siguientes subbandas (actualizando bits_dir1 [i+1:N-1] [0_M-1]); de lo contrario, restar un bit de bits_dir1[i+1][0]. Esto se muestra en la figura 3 por la etapa 307.
[0198] A continuación, para la subbanda final, codificar los índices de parámetros de dirección para la última subbanda con el enfoque de tasa fija utilizando bits_dir1 [N-1] [0:M-1] bits, como se muestra en la figura 3 en la etapa 309.
[0200] Con respecto a la figura 4 se muestra un extractor de metadatos de ejemplo 137 como parte del decodificador 133.
[0201] En algunas realizaciones, el flujo de datos codificado se pasa a un demultiplexor 401. Se muestra el demultiplexor401 extrayendo las relaciones de energía codificadas y los índices de dirección codificados y también puede, en algunas realizaciones, extraer los otros metadatos y transportar señales de audio (no se muestran).
[0203] Las relaciones de energía pueden emitirse y también pueden pasarse a un analizador de relaciones de energía (determinador de resolución de cuantificación) en donde un análisis similar al realizado dentro del analizador de relaciones de energía del codificador de metadatos (determinador de resolución de cuantificación) genera una asignación de bits inicial para la información de dirección. Esto se pasa al decodificador 405 de índice de dirección.
[0204] El decodificador 405 de índice de dirección puede recibir además del demultiplexor índices de dirección codificados.
[0205] El decodificador 405 de índice de dirección puede configurarse para determinar una asignación de bits reducida para los valores direccionales de una manera similar a la que se realiza dentro del codificador.
[0207] El decodificador 405 de índice de dirección puede configurarse a continuación además para leer un bit para determinar si todos los datos de elevación son 0 (en otras palabras, los valores direccionales son 2D).
[0209] Cuando los valores de dirección son 3D, a continuación se determina un valor de recuento para la última asignación de subbanda nb_last.
[0211] Si el valor nb_last es 0, a continuación la última subbanda a decodificares N-1; de lo contrario, la última subbanda a decodificar es N.
[0213] A continuación, subbanda por subbanda, desde la primera subbanda hasta la última subbanda (N o N-1 según la determinación anterior), el decodificador 405 de índice de dirección está configurado para determinar si la codificación de la subbanda actual se codificó utilizando un código de tasa fija o de tasa variable.
[0215] Cuando se usó un código de tasa fija en el codificador, a continuación el índice esférico (u otra distribución de índices) se lee y decodifica obteniendo los valores de elevación y acimut y la asignación de bits para la siguiente subbanda se reduce en 1.
[0217] Cuando se usó un código de tasa variable en el codificador, a continuación el índice codificado por entropía se lee y decodifica para generar los valores de elevación y acimut. A continuación, se contó el número de bits utilizados en la información codificada por entropía y se determinó la diferencia entre los bits permitidos para la subbanda actual y los bits utilizados en la codificación por entropía. Después de esto, los bits de diferencia se distribuyen para la(s) subbanda(s) subsiguiente(s).
[0219] A continuación, la última subbanda se decodifica basándose en el código de tasa fija.
[0221] Cuando los valores de dirección son 2D, a continuación, para cada subbanda, los índices se decodifican basándose en los índices acimutales codificados a tasa fija.
[0223] Con respecto a la figura 5, se muestra un diagrama de flujo de la decodificación del flujo de bits codificado de ejemplo.
[0224] Así, por ejemplo, una primera operación sería obtener metadatos (valores de acimut, valores de elevación, relaciones de energía) como se muestra en la figura 5 mediante la etapa 501.
[0225] A continuación, el método puede estimar la asignación de bits inicial para la información direccional basándose en los valores de la relación de energía, tal como se muestra en la figura 5, en la etapa 503.
[0226] La asignación de bits disponibles puede a continuación reducirse, bits_dir1 [0:N-1][0:M-1] (la suma de los bits asignados = número de bits disponibles que quedan disponibles para decodificar la información direccional) como se muestra en la figura 5 mediante la etapa 505.
[0227] A continuación se lee un bit para determinar si todos los datos de elevación son 0 o no (datos 2D).
[0228] Si los datos direccionales son 3D, a continuación, como se muestra en la figura 5 en la etapa 509,
[0229] contar el número de bits disponibles para la última subbanda (nb_last), donde (nb_last ==0) y a continuación last_j = N-1 De lo contrario last_j = N;
[0230] Para cada subbanda de j=1: last_j-1
[0231] Leer 1 bit para saber si la codificación era de tasa fija o de tasa variable
[0232] Si la codificación es de tasa fija:
[0233] Leer y decodificar los índices esféricos de la información direccional, obtener los valores de elevación y acimut y reducir 1 bit de los bits de la siguiente subbanda;
[0234] de lo contrario, leer y decodificar los índices codificados por entropía para la elevación y el acimut, contar el número de bits utilizados en la información codificada por entropía, calcular la diferencia entre los bits permitidos para la subbanda actual y los bits utilizados en la codificación por entropía y distribuir los bits de diferencia para la siguiente subbanda;
[0235] finalizar para;
[0236] Para cada subbanda de j = last_j:N: Leer y decodificar índices esféricos codificados con tasa fija para los datos de dirección
[0237] Si los datos de dirección son 2D, a continuación para cada subbanda de j=1:N: Decodificar los índices acimutales codificados a tasa fija como se muestra en la figura 5 mediante la etapa 511.
[0238] La codificación/decodificación por entropía de los índices de acimut y elevación en algunas realizaciones se puede implementar utilizando un método de codificación Golomb-Rice con dos valores posibles para el parámetro Golomb-Rice. En algunas realizaciones, la codificación por entropía también puede implementarse utilizando cualquier técnica de codificación por entropía adecuada (por ejemplo, Huffman, codificación aritmética, etc.).
[0239] En algunas realizaciones, al codificar/decodificar el índice de elevación, puede haber un par de excepciones, para los casos en donde el número de bits utilizados para la cuantificación es menor o igual a 3. Para estos casos, solo hay un valor de elevación, por lo que no es necesario codificar/decodificarel índice de la elevación y solo se necesita el índice de acimut.
[0240] Si todos los bloques de tiempo-frecuencia para una subbanda utilizan menos de 4 bits, a continuación no se envía ningún bit para la codificación de elevación; de lo contrario, se envía un bit para especificar el parámetro de Golomb-Rice y el resto de los bits corresponden a los códigos de Golomb-Rice para los bloques de tiempo-frecuencia que utilizan más de 3 bits. El parámetro Golomb-Rice es 1 o 0. La selección del valor del parámetro GR se basa en el consumo de bits estimado en cada caso y en la selección del que tenga menos bits.
[0241] Esto puede implementarse, por ejemplo, utilizando el siguiente código C.
[0242]
[0243]
[0245] La codificación/decodificación del acimut puede implementarse utilizando la codificación de Golomb-Rice con dos valores de parámetros GR. Los dos valores son 1 y 2. La selección del valor del parámetro GR se realiza estimando el número de bits en ambos casos y seleccionando el que tiene menos bits. Se considera un caso particular cuando al menos un bloque de tiempo-frecuencia para una subbanda tiene el número asignado de bits inferior o igual a 1. Si ese es el caso (el caso “ use_context” de la siguiente función C), la información del bloque correspondiente se codifica con 1 o 0 bits basado en el número de bits asignado, mientras que el resto de los bloques de tiempo-frecuencia se codifican con codificación GR con un parámetro igual a 1.
[0246]
[0247]
[0249] En algunas realizaciones, la indexación de los valores de acimut se implementa de tal modo que, en lugar de asignar el índice en orden creciente del valor de acimut, los índices se asignan en orden creciente de distancia desde la dirección frontal. En otras palabras, si los valores de acimut cuantificados son -180, -135, -90, -45, 0, 45, 90, 135, no obtienen los índices: 0,1,2,3,4,5,6,7, sino más bien 7, 5, 3, 1,0, 2, 4, 6. En algunas realizaciones, esto puede garantizar que los valores del índice de acimut sean más bajos en promedio y que la codificación por entropía sea más eficiente.
[0250] El método de codificación general, que permite transferir bits de una subbanda a otra, permite una mejor adaptabilidad a las estadísticas de datos locales.
[0252] Con respecto a la figura 6, se muestra un dispositivo electrónico de ejemplo que puede utilizarse como dispositivo de análisis o síntesis. El dispositivo puede ser cualquier dispositivo o aparato electrónico adecuado. Por ejemplo, en algunas realizaciones, el dispositivo 1400 es un dispositivo móvil, un equipo de usuario, un ordenador de tipo tableta, un ordenador, un aparato de reproducción de audio, etc.
[0254] En algunas realizaciones, el dispositivo 1400 comprende al menos un procesador o unidad 1407 de procesamiento central. El procesador 1407 puede estar configurado para ejecutar diversos códigos de programa tales como los métodos tales como los descritos en la presente memoria.
[0256] En algunas realizaciones, el dispositivo 1400 comprende una memoria 1411. En algunas realizaciones, al menos un procesador 1407 está acoplado a la memoria 1411. La memoria 1411 puede ser cualquier medio de almacenamiento adecuado. En algunas realizaciones, la memoria 1411 comprende una sección de código de programa para almacenar códigos de programa que pueden implementarse en el procesador 1407. Además, en algunas realizaciones, la memoria 1411 puede comprender además una sección de datos almacenados para almacenar datos, por ejemplo datos que se han procesado o que van a procesarse según las realizaciones como se describe en la presente memoria.
[0257] El código de programa implementado almacenado dentro de la sección de código de programa y los datos almacenados dentro de la sección de datos almacenados pueden ser recuperados por el procesador 1407 siempre que sea necesario a través del acoplamiento de memoria-procesador.
[0259] En algunas realizaciones, el dispositivo 1400 comprende una interfaz 1405 de usuario. En algunas realizaciones, la interfaz de usuario 1405 puede estar acoplada al procesador 1407. En algunas realizaciones, el procesador 1407 puede controlar el funcionamiento de la interfaz 1405 de usuario y recibir entradas de la interfaz 1405 de usuario. En algunas realizaciones, la interfaz de usuario 1405 puede permitir que un usuario introduzca comandos al dispositivo 1400, por ejemplo, a través de un teclado. En algunas realizaciones, la interfaz 1405 de usuario puede permitir que el usuario obtenga información a partir del dispositivo 1400. Por ejemplo, la interfaz de usuario 1405 puede comprender un elemento de visualización configurado para visualizar información del dispositivo 1400 al usuario. En algunas realizaciones, la interfaz de usuario 1405 puede comprender una pantalla táctil o una interfaz táctil que puede tanto permitir introducir información al dispositivo 1400 como visualizar adicionalmente información al usuario del dispositivo 1400. En algunas realizaciones, la interfaz 1405 de usuario puede ser la interfaz de usuario para comunicarse con el determinadorde posición como se describe en la presente memoria.
[0261] En algunas realizaciones, el dispositivo 1400 comprende un puerto 1409 de entrada/salida. En algunas realizaciones, el puerto de entrada/salida 1409 comprende un transceptor. En tales realizaciones, el transceptor puede estar acoplado al procesador 1407 y configurado para permitir una comunicación con otros aparatos o dispositivos electrónicos, por ejemplo, a través de una red de comunicación inalámbrica. En algunas realizaciones, el transceptor o cualquier transceptor o medios de transmisor y/o receptor adecuado puede estar configurado para comunicarse con otros dispositivos o aparatos electrónicos a través de un cable o acoplamiento por cable.
[0263] El transceptor puede comunicarse con un aparato adicional mediante cualquier protocolo de comunicaciones conocido adecuado. Por ejemplo, en algunas realizaciones, el transceptor puede utilizar un protocolo de sistema universal de telecomunicaciones móviles(Universal Mobile Telecommunications System,UMTS), un protocolo de red de área local inalámbrica(Wireless Local Area Network,WLAN) tal como por ejemplo IEEE 802.X, un protocolo de comunicación de radiofrecuencia de corto alcance adecuado tal como Bluetooth, o ruta de comunicación de datos por infrarrojos(Infrared Data Communication Pathway,IRDA).
[0265] El puerto 1409 de entrada/salida del transceptor puede estar configurado para recibir las señales y, en algunas realizaciones, determinar los parámetros como se describe en la presente memoria mediante el uso del procesador 1407 que ejecuta un código adecuado. Además, el dispositivo puede generar una salida de señal de mezcla descendente y de parámetros adecuada que va a transmitirse al dispositivo de síntesis.
[0267] En algunas realizaciones, el dispositivo 1400 puede emplearse como al menos parte del dispositivo de síntesis. Como tal, el puerto 1409 de entrada/salida puede estar configurado para recibir las señales de mezcla descendente y, en algunas realizaciones, los parámetros determinados en el dispositivo de captación o dispositivo de procesamiento como se describe en la presente memoria, y generar una salida de formato de señal de audio adecuada mediante el uso del procesador 1407 que ejecuta un código adecuado. El puerto de entrada/salida 1409 puede acoplarse a cualquier salida de audio adecuada, por ejemplo, a un sistema de altavoces multicanal y/o auriculares o similar.
[0268] En general, las diversas realizaciones de la invención pueden implementarse en hardware o circuitos de propósito especial, software, lógica o cualquier combinación de los mismos. Por ejemplo, algunos aspectos pueden implementarse en hardware, mientras que otros aspectos pueden implementarse en firmware o software que puede ejecutarse por un controlador, microprocesador u otro dispositivo informático, aunque la invención no se limita a los mismos. Aunque diversos aspectos de la invención pueden ilustrarse y describirse como diagramas de bloques, diagramas de flujo, o utilizando alguna otra representación gráfica, se entiende que estos bloques, aparatos, sistemas, técnicas o métodos descritos en la presente memoria pueden estar implementados, como ejemplos no limitativos, en hardware, software, firmware, circuitos o lógica de propósito especial, hardware de propósito general o controlador u otros dispositivos informáticos, o alguna combinación de los mismos.
[0270] Las realizaciones de esta invención pueden implementarse mediante software informático ejecutable por un procesador de datos del dispositivo móvil, tal como en la entidad de procesador, o mediante hardware, o mediante una combinación de software y hardware. Además, en este sentido, cabe señalar que cualesquiera bloques del flujo lógico como en las figuras puede representar etapas del programa, o circuitos lógicos interconectados, bloques y funciones, o una combinación de etapas de programa y circuitos lógicos, bloques y funciones. El software puede almacenarse en medios físicos tales como chips de memoria, o bloques de memoria implementados dentro del procesador, medios magnéticos tales como disco duro o disquetes, y medios ópticos tales como, por ejemplo, DVD y sus variantes de datos, CD.
[0272] La memoria puede ser de cualquier tipo adecuado para el entorno técnico local y puede implementarse utilizando cualquier tecnología de almacenamiento de datos adecuada, tal como dispositivos de memoria basados en semiconductores, dispositivos y sistemas de memoria magnéticos, dispositivos y sistemas de memoria ópticos, memoria fija y memoria extraíble. Los procesadores de datos pueden ser de cualquier tipo adecuado para el entorno técnico local, y pueden incluir uno o más de ordenadores de propósito general, ordenadores de propósito especial, microprocesadores, procesadores de señales digitales), circuitos integrados específicos de aplicación (ASIC), circuitos de nivel de puerta y procesadores basados en arquitectura de procesador de múltiples núcleos, como ejemplos no limitativos.
[0274] Las realizaciones de las invenciones pueden ponerse en práctica en diversos componentes tales como módulos de circuito integrado. El diseño de circuitos integrados es, en gran medida, un proceso altamente automatizado. Hay herramientas de software complejas y potentes disponibles para convertir un diseño de nivel lógico en un diseño de circuito de semiconductores listo para grabarse y formarse en un sustrato semiconductor.
[0276] Programas, tales como los proporcionados por Synopsys, Inc. de Mountain View, California y Cadence Design, de San Jose, California, enrutan automáticamente conductores y localizan componentes en un chip de semiconductor utilizando reglas de diseño bien establecidas, así como bibliotecas de módulos de diseño previamente almacenados. Una vez que se ha completado el diseño para un circuito de semiconductor, el diseño resultante, en un formato electrónico normalizado (p. ej., Opus, GDSII o similar) puede transmitirse a una instalación de fabricación de semiconductores o “fab” para su fabricación.
[0278] La descripción anterior ha proporcionado, a modo de ejemplo y como ejemplos no limitativos, una descripción completa e informativa de la realización ilustrativa de esta invención. Sin embargo, diversas modificaciones y adaptaciones pueden resultar evidentes para los expertos en las técnicas relevantes a la vista de la descripción anterior, cuando se lee junto con los dibujos adjuntos y las reivindicaciones adjuntas.

Claims (5)

1. REIVINDICACIONES
1. Un aparato comprendiendo medios para:
recibir valores para subbandas de una trama de una señal de audio, comprendiendo los valores al menos un valor de acimut, al menos un valor de elevación y al menos un valor de relación de energía para cada subbanda;
determinar una asignación del primer número de bits para codificar los valores de la trama, en donde el primer número de bits es fijo;
codificar al menos un valor de relación de energía de la trama basándose en una asignación definida de un segundo número de bits a partir del primer número de bits; y
codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basado en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, y en dondeel aparato se caracteriza porquelos medios para codificar al menos un valor de relación de energía de la trama basado en una asignación definida de un segundo número de bits a partir del primer número de bits comprende además medios para:
generar un promedio ponderado de al menos un valor de relación de energía; y
codificar el promedio ponderado de al menos un valor de relación de energía basado en el segundo número de bits.
2. El aparato según la reivindicación 1, en donde los medios para codificar el promedio ponderado de al menos un valor de relación de energía basado en el segundo número de bits comprenden además medios para cuantificar de forma escalar no uniforme al menos un promedio ponderado de al menos un valor de relación de energía.
3. El aparato según cualquiera de las reivindicaciones 1 a 2, en donde los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basado en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, comprende además medios para:
determinar una estimación inicial para la distribución del tercer número de bits subbanda por subbanda, basándose la estimación inicial en al menos un valor de relación de energía asociado con la subbanda; y cuantificar espacialmente al menos un valor de acimut y/o al menos un valor de elevación basándose en la estimación inicial para la distribución del tercer número de bits subbanda por subbanda para generar al menos un índice de acimut y/o al menos un índice de elevación para cada subbanda.
4. El aparato según la reivindicación 3, en donde los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, comprende además medios para codificar subbanda por subbanda al tener medios para determinar una distribución reducida del tercer número de bits subbanda por subbanda, la distribución reducida basada en la estimación inicial y la asignación definida del segundo número de bits.
5. El aparato según la reivindicación 4, en donde los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, comprende además medios para codificar subbanda por subbanda mediante:
determinar una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda basado en la distribución reducida;
estimar el número de bits necesarios para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación;
codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación basado en el número de bits requeridos para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación que son inferiores a la asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda y una codificación de tasa fija basada en la asignación de bits de otro modo;
generar un bit de señalización que identifique la codificación de al menos un índice de acimut y/o al menos un índice de elevación; y
distribuir cualquier bit disponible a partir de la diferencia de la asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda y la suma del número de bits que codifican la subbanda y el bit de señalización para una asignación adicional de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una subbanda adicional o disminuir una asignación adicional de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para la subbanda adicional en un bit de cualquier otro modo.
El aparato según la reivindicación 5, en donde los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, comprende además medios para codificar subbanda por subbanda mediante al menos uno de:
determinar una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación para una última subbanda basado en la distribución reducida; y
codificar a tasa fija al menos un índice de acimut y/o al menos un índice de elevación para la última subbanda basado en la asignación de distribución reducida de bits.
El aparato según cualquiera de las reivindicaciones 5 y 6, en donde los medios para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación basado en el número de bits requeridos para codificar por entropía al menos un índice de acimut y/o al menos un índice de elevación son medios para la codificación Golomb-Rice con dos valores de parámetros GR.
El aparato según cualquiera de las reivindicaciones 4 a 7, en donde los medios para codificar subbanda por subbanda mediante la determinación de una distribución reducida del tercer número de bits subbanda por subbanda, la distribución reducida basada en la estimación inicial y la asignación definida del segundo número de bits comprenden además medios para reducir uniformemente, subbanda por subbanda, una asignación de bits para codificar al menos un índice de acimut y/o al menos un índice de elevación.
El aparato según cualquiera de las reivindicaciones 1 a 8, en donde los medios para codificar al menos un valor de acimut y/o al menos un valor de elevación de la trama basándose en una asignación definida de un tercer número de bits a partir del primer número de bits, en donde el tercer número de bits se distribuye de forma variable subbanda por subbanda, comprende además medios para al menos uno de:
asignar índices para la codificación en orden creciente de la distancia desde una dirección frontal; y asignar el índice en orden creciente del valor de acimut.
ES19829906T 2018-07-05 2019-06-20 Determination of spatial audio parameter encoding and associated decoding Active ES3051717T3 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1811071.8A GB2575305A (en) 2018-07-05 2018-07-05 Determination of spatial audio parameter encoding and associated decoding
PCT/FI2019/050484 WO2020008105A1 (en) 2018-07-05 2019-06-20 Determination of spatial audio parameter encoding and associated decoding

Publications (1)

Publication Number Publication Date
ES3051717T3 true ES3051717T3 (en) 2025-12-29

Family

ID=63170831

Family Applications (1)

Application Number Title Priority Date Filing Date
ES19829906T Active ES3051717T3 (en) 2018-07-05 2019-06-20 Determination of spatial audio parameter encoding and associated decoding

Country Status (7)

Country Link
US (1) US11676612B2 (es)
EP (2) EP4641563A3 (es)
CN (1) CN112639966B (es)
ES (1) ES3051717T3 (es)
GB (1) GB2575305A (es)
PL (1) PL3818525T3 (es)
WO (1) WO2020008105A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2577698A (en) 2018-10-02 2020-04-08 Nokia Technologies Oy Selection of quantisation schemes for spatial audio parameter encoding
US12009001B2 (en) 2018-10-31 2024-06-11 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
MX2021006572A (es) 2018-12-07 2021-08-11 Fraunhofer Ges Forschung Aparato, metodo y programa de computadora para codificacion, decodificacion, procesamiento de escenas y otros procedimientos relacionados con codificacion de audio espacial basada en dirac que utiliza generadores de componentes de bajo, medio y alto orden.
GB2582749A (en) 2019-03-28 2020-10-07 Nokia Technologies Oy Determination of the significance of spatial audio parameters and associated encoding
GB2585187A (en) * 2019-06-25 2021-01-06 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
US12154582B2 (en) 2019-07-08 2024-11-26 Voiceage Corporation Method and system for coding metadata in audio streams and for efficient bitrate allocation to audio streams coding
GB2587196A (en) 2019-09-13 2021-03-24 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
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
GB2595883A (en) 2020-06-09 2021-12-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
GB2598773A (en) * 2020-09-14 2022-03-16 Nokia Technologies Oy Quantizing spatial audio parameters
GB2598932A (en) 2020-09-18 2022-03-23 Nokia Technologies Oy Spatial audio parameter encoding and associated decoding
CN116762127A (zh) 2020-12-15 2023-09-15 诺基亚技术有限公司 量化空间音频参数
CA3208666A1 (en) 2021-01-18 2022-07-21 Nokia Technologies Oy Transforming spatial audio parameters
EP4285360A1 (en) * 2021-01-29 2023-12-06 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding
WO2022200666A1 (en) 2021-03-22 2022-09-29 Nokia Technologies Oy Combining spatial audio streams
GB2605190A (en) 2021-03-26 2022-09-28 Nokia Technologies Oy Interactive audio rendering of a spatial stream
WO2022223133A1 (en) * 2021-04-23 2022-10-27 Nokia Technologies Oy Spatial audio parameter encoding and associated decoding
KR20240165992A (ko) * 2022-03-22 2024-11-25 노키아 테크놀로지스 오와이 파라미터 공간 오디오 인코딩
CN120226076A (zh) 2022-11-21 2025-06-27 诺基亚技术有限公司 确定空间音频参数的频率子带
GB2626953A (en) 2023-02-08 2024-08-14 Nokia Technologies Oy Audio rendering of spatial audio

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007096808A1 (en) * 2006-02-21 2007-08-30 Koninklijke Philips Electronics N.V. Audio encoding and decoding
KR101461685B1 (ko) * 2008-03-31 2014-11-19 한국전자통신연구원 다객체 오디오 신호의 부가정보 비트스트림 생성 방법 및 장치
CN102714036B (zh) * 2009-12-28 2014-01-22 松下电器产业株式会社 语音编码装置和语音编码方法
FR2973551A1 (fr) * 2011-03-29 2012-10-05 France Telecom Allocation par sous-bandes de bits de quantification de parametres d'information spatiale pour un codage parametrique
WO2014108738A1 (en) * 2013-01-08 2014-07-17 Nokia Corporation Audio signal multi-channel parameter encoder
EP3017446B1 (en) * 2013-07-05 2021-08-25 Dolby International AB Enhanced soundfield coding using parametric component generation
CN103928030B (zh) * 2014-04-30 2017-03-15 武汉大学 基于子带空间关注测度的可分级音频编码系统及方法
CN104464742B (zh) * 2014-12-31 2017-07-11 武汉大学 一种3d音频空间参数全方位非均匀量化编码系统及方法
FR3048808A1 (fr) 2016-03-10 2017-09-15 Orange Codage et decodage optimise d'informations de spatialisation pour le codage et le decodage parametrique d'un signal audio multicanal
US10885921B2 (en) * 2017-07-07 2021-01-05 Qualcomm Incorporated Multi-stream audio coding
BR112020011035A2 (pt) * 2017-11-17 2020-11-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e. V. aparelho e método para codificar ou decodificar parâmetros de codificação de áudio direcional com o uso de diferentes resoluções de tempo frequência
GB2574873A (en) 2018-06-21 2019-12-25 Nokia Technologies Oy Determination of spatial audio parameter encoding and associated decoding

Also Published As

Publication number Publication date
GB2575305A (en) 2020-01-08
EP3818525B1 (en) 2025-10-08
EP3818525A4 (en) 2022-04-06
PL3818525T3 (pl) 2025-12-15
GB201811071D0 (en) 2018-08-22
EP4641563A3 (en) 2025-11-05
CN112639966A (zh) 2021-04-09
US11676612B2 (en) 2023-06-13
US20210295855A1 (en) 2021-09-23
WO2020008105A1 (en) 2020-01-09
EP4641563A2 (en) 2025-10-29
CN112639966B (zh) 2025-03-25
EP3818525A1 (en) 2021-05-12

Similar Documents

Publication Publication Date Title
US11676612B2 (en) Determination of spatial audio parameter encoding and associated decoding
ES3038303T3 (en) Spatial audio parameter decoding
ES2968494T3 (es) Determinación de codificación de parámetros de audio espacial y decodificación asociada
US11328735B2 (en) Determination of spatial audio parameter encoding and associated decoding
US11062716B2 (en) Determination of spatial audio parameter encoding and associated decoding
US11475904B2 (en) Quantization of spatial audio parameters
WO2020260756A1 (en) Determination of spatial audio parameter encoding and associated decoding
ES3037774T3 (en) Quantizing spatial audio parameters
US20240127828A1 (en) Determination of spatial audio parameter encoding and associated decoding
RU2797457C1 (ru) Определение кодирования параметров пространственного звука и соответствующего декодирования