ES2903247T3 - Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior - Google Patents

Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior Download PDF

Info

Publication number
ES2903247T3
ES2903247T3 ES16778366T ES16778366T ES2903247T3 ES 2903247 T3 ES2903247 T3 ES 2903247T3 ES 16778366 T ES16778366 T ES 16778366T ES 16778366 T ES16778366 T ES 16778366T ES 2903247 T3 ES2903247 T3 ES 2903247T3
Authority
ES
Spain
Prior art keywords
layer
hoa
layers
highest usable
representation
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
ES16778366T
Other languages
English (en)
Inventor
Sven Kordon
Alexander Krueger
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.)
Dolby International AB
Original Assignee
Dolby International AB
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 Dolby International AB filed Critical Dolby International AB
Application granted granted Critical
Publication of ES2903247T3 publication Critical patent/ES2903247T3/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/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/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • H04S7/30Control circuits for electronic adaptation of the sound field
    • H04S7/301Automatic calibration of stereophonic sound system, e.g. with test microphone

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Stereophonic System (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Un método para decodificar una representación (2100) comprimida de ambisónico de orden superior (HOA) de un sonido o campo sonoro, comprendiendo, el método: recibir (S5010) un flujo de bits que contiene la representación comprimida de HOA correspondiente a una pluralidad de capas jerárquicas que incluyen una capa base (1200) y dos o más capas de perfeccionamiento jerárquicas (1300- 1, 1300-(M-1)), donde la el flujo de bits comprende, en cada capa, una carga útil de extensión de HOA respectiva que incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas inferiores a la capa respectiva; determinar (S5030) una capa utilizable más alta de entre la pluralidad de capas, para decodificar en base a un conjunto de índices de capa no válidos, los cuales indican capas que no han sido recibidas válidamente, en el que el conjunto de índices de capa no válidos se determina evaluando indicadores de validez de las correspondientes cargas útiles de extensión de HOA, y en el que la capa utilizable más alta es la capa que está por debajo de la capa más baja que no ha sido recibida de manera válida, como lo indica el índice más pequeño del conjunto de índices de capa no válida; extraer (S5040) una carga útil de extensión de HOA asignada a la capa utilizable más alta, en la que la carga útil de extensión de HOA incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a la capa utilizable más alta, en el que se puede obtener la representación de HOA reconstruida correspondiente a la capa utilizable más alta sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; decodificar (S5050) la representación comprimida de HOA correspondiente a la capa utilizable más alta en base a la información de capa, las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; y perfeccionar paramétricamente (S5060) la representación de HOA decodificada usando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta, pero sin usar ninguna información concerniente incluida en la carga útil de extensión de HOA asignada a cualesquiera capas inferiores a la capa utilizable más alta.

Description

DESCRIPCIÓN
Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior
Campo técnico
El presente documento se refiere a métodos y aparatos para la codificación de audio en capas. En particular, el presente documento se refiere a métodos y aparatos para la codificación de audio en capas de tramas de representaciones de sonido (o campo sonoro) comprimidas de sonido ambisónico de orden superior (HOA). El presente documento se refiere adicionalmente a estructuras de datos (por ejemplo, a flujos de bits) para representar tramas de representaciones comprimidas de sonido (o campo sonoro) de hOa .
Antecedentes
En la definición actual de codificación en capas de HOA, se crea información concerniente para las herramientas siguientes de decodificación de HOA: predicción de señales espaciales, síntesis de señales direccionales de subbanda y decodificador de replicación de ambiente paramétrica (PAR) para perfeccionar una representación de HOA específica. Digamos que, en la definición actual de la codificación de HOA en capas, los datos proporcionados sólo amplían de manera apropiada la representación de HOA de la capa más alta (por ejemplo, la capa de perfeccionamiento más alta). Para las capas inferiores, incluida la capa base, estas herramientas no perfeccionan de manera apropiada la representación de HOA parcialmente reconstruida.
Las herramientas síntesis de señales direccionales de subbanda y decodificador de replicación de ambiente paramétrica están diseñadas específicamente para velocidades de datos bajas, en las que sólo unas pocas señales de transporte están disponibles. Sin embargo, en la codificación en capas de HOA no es posible un perfeccionamiento apropiado de las representaciones de HOA reconstruidas (parcialmente), especialmente para las capas de baja velocidad de bits, tales como la capa base. Esto no es claramente deseable desde el punto de vista de la calidad del sonido a bajas velocidades de bits.
Además, se ha descubierto que la manera convencional de tratar los elementos de vector V codificados para las señales basadas en vectores no da como resultado una apropiada decodificación si se señaliza una CodedVVecLength igual a uno en la HOADecoderConfig() (es decir, si el modo de codificación vectorial está activo). En este modo de codificación vectorial, los elementos del vector V no se transmiten para los índices de coeficiente de HOA que están incluidos en el conjunto ContAddHoaCoeff. Este conjunto incluye todos los índices de coeficiente de HOA AmbCoeffldx[i] que tienen un AmbCoeffTransitionState igual a cero. Convencionalmente, no hay necesidad de añadir también una señal del vector V ponderada, porque la secuencia de coeficientes de HOA original para estos índices se envía (señaliza) explícitamente. Por lo tanto, el elemento de vector V se establece en cero para estos índices.
Sin embargo, en el modo de codificación por capas, el conjunto de índices de coeficiente de HOA continuos depende de los canales de transporte que forman parte de la capa actualmente activa. Los índices de coeficiente de HOA adicionales que se envían en una capa superior pueden faltar en las capas inferiores. Entonces, la suposición de que la señal vectorial no debería contribuir a la secuencia de coeficientes de HOA es incorrecta para los índices de coeficiente de HOA que pertenecen a secuencias de coeficientes de HOA incluidas en capas superiores.
Como consecuencia, el vector V en la codificación de HOA en capas puede no ser adecuado para decodificar cualesquiera capas que estén por debajo de la capa más alta.
De este modo, existe la necesidad de esquemas de codificación y flujos de bits que estén adaptados a la codificación en capas de representaciones comprimidas de HOA de un sonido o campo sonoro.
El presente documento aborda las cuestiones anteriores. En particular, se describen métodos y codificadores/decodificadores para la codificación en capas de tramas de representaciones comprimidas de campo sonoro o sonido HOA, así como estructuras de datos para representar tramas de representaciones comprimidas de campo sonoro o sonido HOA.
El documento EP 2922057 A1 describe un método para comprimir una señal de HOA que es una representación de HOA de entrada con tramas de tiempo de entrada (C(k)) de secuencias de coeficientes de HOA que comprende la codificación de HOA espacial de las tramas de tiempo de entrada y las codificaciones subsiguientes perceptual y fuente.
El documento anónimo "ISO/IEC JTC 1/SC 29 N ISO/IEC 23008-3:2015/PDAM 3 Information technology - High efficiency coding and media delivery in heterogeneous environments - Part: 3D audio, amendment 3, MPEG-H 3D Audio Phase 2" describe un borrador del estándar de audio MPEG-H 3D.
Sumario
Se proporcionan un método y un aparato para decodificar una representación comprimida de ambisónico de orden superior (HOA) de un sonido o campo sonoro que tiene las características de las respectivas reivindicaciones independientes.
De acuerdo con un aspecto, se describe un método de codificación en capas de una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de HOA se conforma al borrador del estándar de audio 3D MPEG-H y a cualesquiera otros estándares en borrador o adoptados en el futuro. La representación comprimida de HOA puede incluir una pluralidad de señales de transporte. Las señales de transporte pueden relacionarse con señales monoaurales, por ejemplo, que representan señales de sonido predominantes o secuencias de coeficientes de una representación de HOA. El método puede incluir asignar la pluralidad de señales de transporte a una pluralidad de capas jerárquicas. Por ejemplo, las señales de transporte se pueden distribuir a la pluralidad de capas. La pluralidad de capas puede incluir una capa base y una o más capas de perfeccionamiento jerárquico. La pluralidad de capas jerárquicas se puede ordenar, desde la capa base, a través de la primera capa de perfeccionamiento, la segunda capa de perfeccionamiento, y así sucesivamente, hasta una capa de perfeccionamiento global más alta (capa más alta global). El método puede incluir adicionalmente generar, para cada capa, la respectiva carga útil de extensión de HOA que incluya información concerniente (por ejemplo, información concerniente al perfeccionamiento) para perfeccionar paramétricamente una representación de HOA reconstruida obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas que sean inferiores a la capa respectiva. Las representaciones de HOA reconstruidas para las capas inferiores pueden denominarse representaciones de HOA parcialmente reconstruidas. El método puede incluir adicionalmente la asignación de cargas útiles de extensión de HOA generadas a sus respectivas capas. El método puede incluir, aún más adicionalmente, señalizar las cargas útiles de extensión de HOA generadas en un flujo de bits de salida. Las cargas útiles de extensión de HOA se pueden señalizar en una carga útil de HOAEnhFrame(). De este modo, la información concerniente se puede mover del HOAFrame() al HOAEnhFrame().
Configurado como anteriormente, el método propuesto aplica codificación en capas a una (trama de) representaciones de HOA comprimidas como para permitir su decodificación de alta calidad incluso a bajas velocidades de bits. En particular, el método propuesto asegura que cada capa incluya una carga útil de extensión de HOA adecuada (por ejemplo, información concerniente al perfeccionamiento) para perfeccionar una representación de sonido reconstruida (parcialmente) obtenida de las señales de transporte en cualesquiera capas hasta la capa actual. Se entiende por ello que las capas hasta la capa actual incluyen, por ejemplo, la capa base, la primera capa de perfeccionamiento, la segunda capa de perfeccionamiento, y así sucesivamente, hasta la capa actual. Se entiende por ello que las capas hasta la capa actual incluyen, por ejemplo, la capa base, la primera capa de perfeccionamiento, la segunda capa de perfeccionamiento, y así sucesivamente, hasta la capa actual. Por ejemplo, el decodificador estaría habilitado para perfeccionar una representación de sonido reconstruida (parcialmente) obtenida de la capa base, en referencia a la carga útil de extensión de HOA asignada a la capa base. En el enfoque convencional, sólo la representación reconstruida de HOA de la capa de perfeccionamiento más alta podría perfeccionarse mediante la carga útil de extensión de HOA. De este modo, independientemente de la capa utilizable más alta real (por ejemplo, la capa por debajo de la capa más baja no se ha recibido de manera válida, de modo que todas las capas por debajo de la capa utilizable más alta y la capa utilizable más alta en sí misma hayan sido recibidas válidamente), se habilitaría un decodificador para mejorar o perfeccionar una representación de sonido reconstruida, aunque la representación de sonido reconstruida (parcialmente) podría ser diferente de la representación de sonido completa (por ejemplo, entera). En particular, independientemente de la capa utilizable más alta real, es suficiente que el decodificador decodifique la carga útil de extensión de HOA para una sola capa (es decir, para la capa utilizable más alta) para mejorar o perfeccionar la representación de sonido reconstruida (parcialmente) que es obtenible sobre la base de todas las señales de transporte incluidas en capas, hasta la capa utilizable más alta real. No se requiere decodificar las cargas útiles de extensión de HOA de capas superiores o inferiores. Por otro lado, el método propuesto permite aprovechar al máximo la reducción del ancho de banda requerido que se pueda conseguir al aplicar la codificación por capas.
En un ejemplo, el método puede incluir adicionalmente transmitir cargas útiles de datos para la pluralidad de capas con niveles respectivos de protección contra errores. Las cargas útiles de datos pueden incluir las respectivas cargas útiles de extensión de HOA. La capa base puede tener la protección contra errores más alta y una o más capas de perfeccionamiento pueden tener una protección contra errores decreciente sucesivamente. Por ello, se puede garantizar que al menos una serie de capas inferiores se transmita de forma fiable, mientras que, por otro lado, se reduce el ancho de banda global requerido al no aplicarse una protección contra errores excesiva a las capas superiores.
En un ejemplo, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de predicción de señales espaciales de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En un ejemplo, las cargas útiles de extensión de HOA pueden tener un usacExtElementType de ID_EXT_ELE_HOA_ENH_LAYER.
En un ejemplo, el método puede incluir adicionalmente generar una carga útil de extensión de configuración de HOA que incluya elementos de flujo de bits para configurar una herramienta de decodificación de predicción de señales espaciales de HOA, una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y/o una herramienta de decodificación de replicación de ambiente paramétrica de HOA. La carga útil de extensión de configuración de HOA puede estar incluida en HOADecoderEnhConfig(). El método puede incluir adicionalmente señalizar la carga útil de extensión de configuración de HOA en el flujo de bits de salida.
En un ejemplo, el método puede incluir adicionalmente generar una carga útil de configuración del decodificador de HOA que incluye información indicativa de la asignación de cargas útiles de extensión de HOA a la pluralidad de capas. El método puede incluir adicionalmente señalizar la carga útil de configuración del decodificador de HOA en el flujo de bits de salida.
En un ejemplo, el método puede incluir adicionalmente determinar si un modo de codificación vectorial está activo. El método puede incluir adicionalmente, si el modo de codificación vectorial está activo, determinar, para cada capa, un conjunto de índices de coeficiente de HOA continuos sobre la base de las señales de transporte asignadas a la capa respectiva. Los índices de coeficiente de HOA en el conjunto de índices de coeficiente de HOA continuos pueden ser los índices de coeficiente de HOA incluidos en el conjunto ContAddHOACoeff. El método puede incluir adicionalmente generar, para cada señal de transporte, un vector V sobre la base del conjunto determinado de índices de coeficiente de HOA continuos para la capa a la que se asigna la señal de transporte respectiva, de tal modo que el vector V generado incluya elementos para cualquier señal de transporte asignada a capas superiores a la capa a la que está asignada la señal de transporte respectiva. El método puede incluir adicionalmente señalizar los vectores V generados en el flujo de bits de salida.
De acuerdo con otro aspecto, se describe un método de codificación en capas de una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de HOA puede incluir una pluralidad de señales de transporte. Las señales de transporte pueden relacionarse con señales monoaurales, por ejemplo, que representan señales de sonido predominantes o secuencias de coeficientes de una representación de HOA. El método puede incluir asignar la pluralidad de señales de transporte a una pluralidad de capas jerárquicas. Por ejemplo, las señales de transporte se pueden distribuir a la pluralidad de capas. La pluralidad de capas puede incluir una capa base y una o más capas de perfeccionamiento jerárquica. El método puede incluir adicionalmente determinar si un modo de codificación vectorial está activo. El método puede incluir adicionalmente, si el modo de codificación vectorial está activo, determinar, para cada capa, un conjunto de índices de coeficiente de HOA continuos sobre la base de las señales de transporte asignadas a la capa respectiva. Los índices de coeficiente de HOA, del conjunto de índices de coeficiente de HOA continuos, pueden ser los índices de coeficiente de HOA incluidos en el conjunto ContAddHOACoeff. El método puede incluir adicionalmente generar, para cada señal de transporte, un vector V sobre la base del conjunto determinado de índices de coeficiente de HOA continuos para la capa a la que se asigna la señal de transporte respectiva, de modo que el vector V generado incluya elementos para cualquier señal de transporte asignada a capas superiores a la capa a la que está asignada la señal de transporte respectiva. El método puede incluir adicionalmente señalizar los vectores V generados en el flujo de bits de salida.
Configurado como tal, el método propuesto asegura que en el modo de codificación vectorial esté disponible un vector V adecuado para cada señal de transporte perteneciente a las capas que van hasta la capa utilizable más alta. En particular, el método propuesto excluye el caso de que los elementos de un vector V correspondientes a señales de transporte en capas superiores no se señalicen explícitamente. En consecuencia, la información incluida en las capas que van hasta la capa utilizable más alta es suficiente para decodificar cualesquiera señales de transporte que pertenezcan a las capas que van hasta la capa utilizable más alta. Por ello, existe una descompresión apropiada de las respectivas representaciones reconstruidas de HOA para las capas inferiores (capas de baja velocidad de bits) incluso si las capas superiores pueden no haber sido recibidas válidamente por el decodificador. Por otro lado, el método propuesto permite aprovechar al máximo la reducción del ancho de banda requerido que se puede conseguir al aplicar la codificación por capas.
De acuerdo con otro aspecto, se describe un método de decodificación de una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de HOA se puede codificar en una pluralidad de capas jerárquicas. La pluralidad de capas jerárquicas puede incluir una capa base y una o más capas de perfeccionamiento jerárquica. El método puede incluir recibir un flujo de bits relacionado con la trama de la representación comprimida de HOA. El método puede incluir adicionalmente extraer cargas útiles para la pluralidad de capas. Cada carga útil puede incluir señales de transporte asignadas a una capa respectiva. El método puede incluir adicionalmente determinar una capa utilizable más alta entre la pluralidad de capas para decodificar. El método puede incluir adicionalmente extraer una carga útil de extensión de HOA asignada a la capa utilizable más alta. Esta carga útil de extensión de HOA puede incluir información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida (parcialmente) correspondiente a la capa utilizable más alta. La representación de HOA reconstruida (parcialmente) correspondiente a la capa utilizable más alta puede obtenerse sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta. El método puede incluir adicionalmente generar la representación de HOA reconstruida (parcialmente) correspondiente a la capa utilizable más alta sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas inferiores a la capa utilizable más alta. El método puede incluir perfeccionar aún más adicionalmente (por ejemplo, perfeccionar paramétricamente) la representación de HOA reconstruida (parcialmente) usando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta. Como resultado, se puede obtener una representación de HOA reconstruida perfeccionada.
Configurado como tal, el método propuesto se asegura de que la representación de HOA reconstruida final (por ejemplo, perfeccionada) tenga una calidad óptima, utilizando la información disponible (por ejemplo, recibida de forma válida) en la mayor medida posible.
En realizaciones, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de predicción de señales espaciales de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En las realizaciones, las cargas útiles de extensión de HOA pueden tener un usacExtElementType de ID_EXT_ELE_HOA_ENH_LAYER.
En las realizaciones, el método puede incluir adicionalmente extraer una carga útil de extensión de configuración de HOA analizando el flujo de bits. La carga útil de extensión de configuración de HOA puede incluir elementos de flujo de bits para configurar una herramienta de decodificación de predicción de señales espaciales de HOA, una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y/o una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En las realizaciones, el método puede incluir adicionalmente extraer cargas útiles de extensión de HOA asignadas respectivamente a la pluralidad de capas. Cada carga útil de extensión de HOA puede incluir información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida (parcialmente) correspondiente a su capa asignada respectiva. La representación de HOA reconstruida (parcialmente) correspondiente a su respectiva capa asignada puede obtenerse a partir de las señales de transporte asignadas a esa capa y a cualquier capa inferior a esa capa. La asignación de cargas útiles de extensión de HOA a las capas respectivas puede conocerse a partir de la información de configuración incluida en el tren de bits.
En las realizaciones, la determinación de la capa utilizable más alta puede implicar la determinación de un conjunto de índices de capa no válidos que indican capas que no se han recibido de manera válida. Puede implicar adicionalmente determinar que la capa utilizable más alta es la capa que está una capa por debajo de la capa indicada por el índice más pequeño (más bajo) en el conjunto de índices de capa no válidos. La capa base puede tener el índice de capa más bajo (por ejemplo, un índice 1 de capa), y las capas de perfeccionamiento jerárquicas pueden tener índices de capa sucesivamente más altos. Por ello, el método propuesto se asegura de que la capa utilizable más alta se elija de tal manera que esté disponible toda la información requerida para decodificar una representación de HOA reconstruida (parcialmente) de las capas utilizables más altas y de cualesquiera capas que estén por debajo de la capa utilizable más alta.
En las realizaciones, determinar la capa utilizable más alta puede implicar determinar un conjunto de índices de capa no válidos que indican capas que no se han recibido de manera válida. Adicionalmente, puede implicar determinar la capa utilizable más alta de la trama anterior, que precede a la trama actual. Puede implicar aún más adicionalmente determinar la capa utilizable más alta como la capa inferior de la capa utilizable más alta de la trama anterior y la capa que está una capa por debajo de la capa indicada por el índice más pequeño en el conjunto de índices de capa no válidos. Por ello, la capa utilizable más alta para la trama actual se elige de tal manera que toda la información requerida para decodificar una representación de HOA reconstruida (parcialmente) de la capa utilizable más alta y cualesquiera capas que estén por debajo de la capa utilizable más alta esté disponible, incluso si la trama actual se ha codificado de manera diferencial con respecto a la trama anterior.
En las realizaciones, el método puede incluir adicionalmente decidir no realizar un perfeccionamiento paramétrico de la representación de HOA reconstruida (parcialmente) utilizando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta si la capa utilizable más alta de la trama actual es menor que la capa más alta utilizable de la trama anterior y si la trama actual se ha codificado diferencialmente con respecto a la trama anterior. Por ello, la representación de HOA reconstruida puede decodificarse sin error en los casos en los que la trama actual (incluida la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta) se ha codificado diferencialmente con respecto a la trama anterior.
En realizaciones, el conjunto de índices de capa no válidos puede determinarse evaluando indicadores de validez de las correspondientes cargas útiles de extensión de HOA. Se puede añadir un índice de capa de una capa dada al conjunto de índices de capa no válidos si no se establece el indicador de validez para la carga útil de extensión de HOA asignada a la capa respectiva. Por ello, el conjunto de índices de capa no válidos se puede determinar de una manera eficaz.
De acuerdo con otro aspecto, se describe una estructura de datos (por ejemplo, un flujo de bits) que representa una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de hOa puede incluir una pluralidad de señales de transporte. La estructura de datos puede incluir una pluralidad de cargas útiles de trama de HOA correspondientes a las respectivas capas de entre una pluralidad de capas jerárquicas. Las cargas útiles de la trama de HOA pueden incluir señales de transporte respectivas. La pluralidad de señales de transporte puede asignarse (por ejemplo, distribuirse) a la pluralidad de capas. La pluralidad de capas puede incluir una capa base y una o más capas de perfeccionamiento jerárquicas. La estructura de datos puede incluir adicionalmente, para cada capa, una carga útil de extensión de HOA respectiva que incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida (parcialmente) obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas que sean inferiores a la capa respectiva.
En un ejemplo, las cargas útiles de trama de HOA y las cargas útiles de extensión de HOA para la pluralidad de capas pueden proporcionarse con niveles respectivos de protección contra errores. La capa base puede tener la protección contra errores más alta, y una o más capas de perfeccionamiento pueden tener una protección contra errores decreciente sucesivamente.
En un ejemplo, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de predicción de señales espaciales de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA. Adicional o alternativamente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En un ejemplo, las cargas útiles de extensión de HOA pueden tener un usacExtElementType de ID_EXT_ELE_HOA_ENH_LAYER.
En un ejemplo, la estructura de datos puede incluir adicionalmente una carga útil de extensión de configuración de HOA que incluya elementos de flujo de bits para configurar una herramienta de decodificación de predicción de señales espaciales de HOA, una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y/o una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En un ejemplo, la estructura de datos puede incluir adicionalmente una carga útil de configuración del decodificador de HOA que incluya información indicativa de la asignación de cargas útiles de extensión de HOA a la pluralidad de capas.
En las realizaciones, los métodos y aparatos se relacionan con decodificar una representación comprimida de ambisónico de orden superior (HOA) de un sonido o campo sonoro. El aparato puede configurarse para o el método puede incluir recibir un flujo de bits que contiene la representación comprimida de HOA correspondiente a una pluralidad de capas jerárquicas que incluyan una capa base y una o más capas de perfeccionamiento jerárquicas, donde la pluralidad de capas tiene asignados a ella componentes de una representación comprimida básica de sonido de sonido o campo sonoro, asignándose los componentes a las capas respectivas en grupos respectivos de componentes, determinar una capa utilizable más alta de entre la pluralidad de capas para decodificar; extraer una carga útil de extensión de HOA asignada a la capa utilizable más alta, donde la carga útil de extensión de HOA incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a la capa utilizable más alta, donde la representación de HOA reconstruida correspondiente a la capa utilizable más alta se puede obtener sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; decodificar la representación comprimida de HOA correspondiente a la capa utilizable más alta en base a la información de capa, las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; y perfeccionar paramétricamente la representación de HOA decodificada usando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta.
La carga útil de extensión de HOA puede incluir elementos de flujo de bits para una herramienta de decodificación de predicción de señales espaciales de HOA. La información de capa puede indicar una serie de señales direccionales activas en la trama actual de una capa de perfeccionamiento.
La información de capa puede indicar un número total de coeficientes de HOA de ambiente adicionales para una capa de perfeccionamiento. La información de capa puede incluir índices de coeficiente de HOA para cada coeficiente de HOA de ambiente adicional para una capa de perfeccionamiento. La información de capa puede incluir información de perfeccionamiento que incluye al menos una de predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica. La representación comprimida de HOA está adaptada para un modo de codificación en capas para contenido basado en HOA si se indica un CodedWecLength igual a uno en HOADecoderConfig(). Adicionalmente, los elementos del vector V pueden no transmitirse para índices que sean iguales a los índices de coeficiente de HOA adicionales incluidos en el conjunto ContAddHoaCoeff. El conjunto ContAddHoaCoeff puede definirse por separado para cada capa de entre la pluralidad de capas jerárquicas. La información de capa incluye elementos NumLayers, donde cada elemento indica un número de señales de transporte incluidas en todas las capas hasta una i-ésima capa. La información de capa puede incluir un indicador de todas las capas realmente utilizadas para una k-ésima trama. La información de capa puede también indicar que se especifican todos los coeficientes para los vectores predominantes. La información de capa puede indicar que se especifican los coeficientes de los vectores predominantes correspondientes a un número mayor que MinNumOfCoeffsForAmbHOA. La información de capa puede indicar que MinNumOfCoeffsForAmbHOA y todos los elementos definidos en ContAddHoaCoeff[lay] no se transmiten, donde “lay” es el índice de la capa que contiene la señal basada en vector correspondiente al vector.
De acuerdo con otro aspecto, se describe un codificador para la codificación en capas de una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de HOA puede incluir una pluralidad de señales de transporte. El codificador puede incluir un procesador configurado para realizar algunos o todos los pasos de método de los métodos de acuerdo con el aspecto mencionado anteriormente en primer lugar y con el aspecto mencionado anteriormente en segundo lugar. De acuerdo con otro aspecto, se describe un decodificador para decodificar una trama de una representación comprimida de ambisónico de orden superior, HOA, de un sonido o campo sonoro. La representación comprimida de HOA se puede codificar en una pluralidad de capas jerárquicas que incluyen una capa base y una o más capas de perfeccionamiento jerárquicas. El decodificador puede incluir un procesador configurado para realizar algunos o todos los pasos de método de los métodos de acuerdo con el tercer aspecto mencionado anteriormente.
De acuerdo con otro aspecto, se describe un programa de equipo lógico informático (software). El programa de software puede adaptarse para su ejecución en un procesador y para realizar algunos o todos los pasos de método descritos en el presente documento cuando se realizan en un dispositivo informático.
De acuerdo con otro aspecto más, se describe un medio de almacenamiento. El medio de almacenamiento puede incluir un programa de software adaptado para su ejecución en un procesador y para realizar algunos o todos los pasos de método descritos en el presente documento cuando se realizan en un dispositivo informático.
Se apreciará que las declaraciones hechas con respecto a cualquiera de los aspectos anteriores o a sus realizaciones aplican también a otros aspectos respectivos o a sus realizaciones, como apreciará el experto en la técnica. La repetición de estas declaraciones para todos y cada uno de los aspectos o realizaciones se ha omitido por razones de concisión.
Obsérvese que los métodos y aparatos que incluyen sus realizaciones preferidas, como se perfilan en el presente documento, pueden usarse de forma independiente o en combinación con los otros métodos y sistemas divulgados en el presente documento. Además, todos los aspectos de los métodos y aparatos perfilados en el presente documento pueden combinarse arbitrariamente. En particular, las características de las reivindicaciones pueden combinarse entre sí de manera arbitraria.
Obsérvese adicionalmente que los pasos de método y las características del aparato pueden intercambiarse de muchas formas. En particular, los detalles del método divulgado pueden implantarse como un aparato adaptado para ejecutar algunos o todos los pasos de método, y viceversa, como apreciará el experto en la técnica.
Descripción de los dibujos
La invención se explica más adelante a modo de ejemplo con referencia a los dibujos que se acompañan, en los que:
La figura 1 es un diagrama de bloques que ilustra esquemáticamente una asignación de cargas útiles a la capa base y a las capas M - 1 de perfeccionamiento en el lado del codificador;
la figura 2 es un diagrama de bloques que ilustra esquemáticamente un ejemplo de un receptor y una etapa de descompresión;
la figura 3 es un diagrama de flujo que ilustra un ejemplo de un método de codificación en capas de una trama de una representación comprimida de HOA;
la figura 4 es un diagrama de flujo que ilustra otro ejemplo de un método de codificación en capas de una trama de una representación comprimida de HOA;
la figura 5 es un diagrama de flujo que ilustra un ejemplo de un método de decodificación de una trama de una representación comprimida de HOA de acuerdo con realizaciones de la divulgación;
la figura 6 es un diagrama de bloques que ilustra esquemáticamente un ejemplo de una implantación de equipo físico informático (hardware) de un codificador; y
la figura 7 es un diagrama de bloques que ilustra esquemáticamente un ejemplo de una implantación de hardware de un decodificador de acuerdo con las realizaciones de la divulgación.
Descripción detallada
En primer lugar, se describirá una representación comprimida de sonido (o campo sonoro) a la que se pueden aplicar métodos y codificadores/decodificadores de acuerdo con la presente divulgación.
Para la transmisión de una representación comprimida de sonido (o campo sonoro) a través de un canal de transmisión con condiciones que varían en el tiempo, la codificación en capas es un medio para adaptar la calidad de la representación del sonido recibido a las condiciones de transmisión, y, en particular, para evitar caídas de señal no deseadas.
Para la codificación en capas, la representación comprimida de sonido (o campo sonoro) se subdivide habitualmente en una capa base de alta prioridad, de un tamaño relativamente pequeño, y en capas de perfeccionamiento adicionales, con prioridades decrecientes y de tamaños arbitrarios. Típicamente, se asume que cada capa de perfeccionamiento contiene información incremental para complementar la de todas las capas inferiores con el fin de mejorar la calidad de la representación comprimida de sonido (o campo sonoro). La idea es, entonces, controlar la cantidad de protección contra errores para la transmisión de las capas individuales de acuerdo con su prioridad. En particular, la capa base está provista de una alta protección contra errores, lo cual resulta razonable y asequible debido a su reducido tamaño.
En lo que sigue, se asume que la representación comprimida completa de sonido (o campo sonoro) consta, en general, de los tres componentes siguientes:
1. Una representación comprimida básica de sonido (o campo sonoro) que consta en sí misma de una serie de componentes complementarios, que considera el porcentaje característicamente más grande de la representación comprimida completa de sonido (o campo sonoro).
2. Información concerniente básica necesaria para decodificar la representación comprimida básica de sonido, que se asume sea de un tamaño mucho menor en comparación con la representación comprimida básica de sonido (o campo sonoro). Se asume adicionalmente que consta, en su mayor parte, de los dos componentes siguientes, los cuales especifican ambos la descompresión de un solo componente particular de la representación comprimida básica de sonido:
a) El primer componente contiene información concerniente que describe componentes complementarios individuales de la representación comprimida básica de sonido (o campo sonoro) independientemente de otros componentes complementarios.
b) El segundo componente (opcional) contiene información concerniente que describe los componentes complementarios individuales de la representación comprimida básica de sonido (o campo sonoro) en relación de dependencia con otros componentes complementarios. En particular, la dependencia tiene las siguientes propiedades:
La información concerniente dependiente para cada componente complementario individual de la representación comprimida básica de sonido (o campo sonoro) alcanza su mayor extensión en caso de que no haya ciertos otros componentes complementarios en la representación comprimida básica de sonido (o campo sonoro).
En caso de que se añadan ciertos componentes complementarios adicionales a la representación comprimida básica de sonido (o campo sonoro), la información concerniente dependiente para el componente complementario individual considerado se convierte en un subconjunto de la original, reduciéndose, por ello, su tamaño.
3. Información concerniente opcional para perfeccionar la representación comprimida básica de sonido (o campo sonoro). Se asume también que su tamaño es mucho más pequeño que el de la representación comprimida básica de sonido (o campo sonoro).
Un ejemplo destacado de tal tipo de representación comprimida completa de sonido (o campo sonoro) viene dado por la representación comprimida de campo sonoro de HOA como se especifica en la versión preliminar del estándar MPEG-H 3D de audio.
1. Su representación comprimida básica de campo sonoro se puede identificar con una serie de señales monoaurales cuantificadas, que representan las denominadas “señales de sonido predominantes” o secuencias de coeficientes del denominado “componente de campo sonoro de ambiente de HOA”.
2. La información concerniente básica describe, entre otras cosas, para cada una de estas señales monoaurales, cómo cada una de estas señales monoaurales contribuye espacialmente al campo sonoro. Esta información se puede dividir adicionalmente en los siguientes dos componentes diferentes:
(a) Información concerniente relacionada con señales monoaurales individuales específicas, que es independiente de la existencia de otras señales monoaurales. Tal información concerniente puede, por ejemplo, especificar una señal monoaural para representar una señal direccional (o sea, una onda plana general) con una cierta dirección de incidencia. Alternativamente, se puede especificar una señal monoaural como una secuencia de coeficientes de la representación original de HOA que tiene un cierto índice.
(b) Información concerniente relacionada con señales monoaurales individuales específicas, que depende de la existencia de otras señales monoaurales. Tal información concerniente se produce, por ejemplo, si las señales monoaurales se especifican para que sean las denominadas “señales basadas en vectores”, lo que significa que están distribuidas direccionalmente dentro del campo sonoro, donde la distribución direccional se especifica por medio de vectores. En un cierto modo (es decir, CodedVVecLength = 1), los componentes particulares de este vector se establecen implícitamente en cero, y no forman parte de la representación comprimida de vector. Estos componentes son aquellos con índices iguales a los de la secuencia de coeficientes de la representación de HOA original, que forman parte de la representación comprimida básica de campo sonoro. Eso significa que, si se codifican componentes individuales del vector, su número total depende de la representación comprimida básica de campo sonoro; en particular, de qué secuencias de coeficientes de la representación de HOA original contiene. Si no hay secuencias de coeficientes de la representación de HOA original en la representación comprimida básica de campo sonoro, la información concerniente básica dependiente para cada señal basada en vectores consta de todos los componentes vectoriales y tiene su mayor tamaño. En caso de que las secuencias de coeficientes de la representación de HOA original con ciertos índices se añadan a la representación comprimida básica de campo sonoro, los componentes vectoriales con esos índices se retirarán de la información concerniente para cada señal basada en vectores, reduciéndose por ello el tamaño de la información concerniente básica dependiente para las señales basadas en vectores.
3. La información concerniente al perfeccionamiento consta de los siguientes componentes:
- Parámetros relacionados con la denominada “predicción espacial (de banda ancha)” para predecir (linealmente) las porciones faltantes del campo sonoro de las señales direccionales.
- Parámetros relacionados con las denominadas “síntesis de señales direccionales de subbanda” y “replicación de ambiente paramétrica”, que son herramientas de compresión que permiten una predicción paramétrica, dependiente de la frecuencia, de señales monoaurales adicionales que se distribuyen espacialmente con el fin de complementar una representación de HOA hasta ahora deficientemente comprimida o espacialmente incompleta. La predicción se basa en secuencias de coeficientes de la representación comprimida básica de campo sonoro. Un aspecto importante es que la contribución complementaria mencionada al campo sonoro se representa dentro de la representación comprimida de HOA no por medio de señales cuantificadas adicionales, sino por medio de información concerniente extra de un tamaño comparativamente mucho más pequeño. Por consiguiente, las dos herramientas de codificación mencionadas son especialmente adecuadas para la compresión de representaciones de HOA a velocidades de datos bajas.
Un segundo ejemplo de una representación comprimida de una señal monoaural con la estructura antes mencionada puede constar de los siguientes componentes:
1. Alguna información espectral codificada para bandas de frecuencia disjuntas hasta una cierta frecuencia superior, que puede considerarse como una representación básica comprimida.
2. Alguna información concerniente básica que especifique la información espectral codificada (mediante, por ejemplo, el número y el ancho de las bandas de frecuencia codificadas).
3. Alguna información concerniente al perfeccionamiento que consiste en parámetros de la denominada “replicación de banda espectral” (SBR), que describe cómo reconstruir paramétricamente, a partir de la representación comprimida básica, la información espectral para bandas de frecuencias superiores que no se consideran en la representación comprimida básica.
A continuación, se describirá un método para la codificación en capas de una representación comprimida completa de sonido (o campo sonoro) que tiene la estructura mencionada anteriormente.
Se asumirá que la compresión se basa en tramas, en el sentido de que proporciona representaciones comprimidas (por ejemplo, en forma de paquetes de datos o cargas útiles de tramas equivalentes) para intervalos de tiempo sucesivos, como, por ejemplo, intervalos de tiempo del mismo tamaño. Se asumirá que estos paquetes de datos contienen un indicador de validez, un valor que indica su tamaño, así como los datos de representación comprimidos reales. A lo largo de la siguiente descripción, la explicación se centrará principalmente en el tratamiento de una sola trama, y, por lo tanto, se omitirá el índice de trama.
Se asumirá que cada carga útil de trama de la representación comprimida 1100 de sonido (o campo sonoro) considerada completa contiene J paquetes de datos, uno por componente 1110-1, ..., 1110-J de una representación comprimida básica de sonido (o campo sonoro), los cuales se indican mediante BSRCj , j = 1, ..., J. Además, se asumirá que contiene un paquete con información concerniente básica independiente 1120, denotada con BSIi, que especifica componentes particulares BSRCj de la representación comprimida básica de sonido independientemente de otros componentes. Opcionalmente, se asumirá adicionalmente que contiene un paquete con información concerniente básica dependiente indicada por BSId que especifica componentes particulares BSRCj de la representación comprimida básica de sonido en relación de dependencia con otros componentes. La información contenida dentro de los dos paquetes de datos BSI/ y BSId se puede agrupar opcionalmente en un solo paquete BSI de datos.
Finalmente, incluye una carga útil de información concerniente al perfeccionamiento, denotada con ESI, que lleva una descripción de cómo perfeccionar el sonido (o campo sonoro) reconstruido a partir de la representación comprimida básica completa.
El esquema descrito para direcciones de codificación en capas requería pasos para habilitar tanto la parte de compresión que incluye el empaquetado de paquetes de datos para transmisión como la parte de receptor y descompresión. Cada parte se describirá en detalle en lo que sigue.
A continuación, se describirán la compresión y el empaquetamiento para la transmisión. En el caso de la codificación en capas (asumiendo M capas en total, es decir, una capa básica y M - 1 capas de perfeccionamiento), cada componente de la representación comprimida 1100 de sonido (o campo sonoro) completa se trata de la siguiente manera:
• La representación comprimida básica de sonido (o campo sonoro) se subdivide en partes, que se asignarán a las capas individuales. Sin pérdida de generalidad, la agrupación puede describirse como M + 1 números Jm, m = 0,..., M con J0 = 1 y Jm = J + 1, de tal modo que BSRCj se asigna a la m-ésima capa para Jm-1 < j < Jm.
• Debido a su pequeño tamaño es razonable asignar la información concerniente básica completa a la capa base para evitar su fragmentación innecesaria. Si bien la información concerniente básica independiente BSIi se deja sin cambios para la asignación, la información concerniente básica dependiente debe manejarse especialmente para la codificación en capas, para permitir una decodificación correcta en el lado del receptor, por un lado, y para reducir el tamaño de la información concerniente dependiente a transmitir, por otro lado. Se propone descomponerla en M partes 1130-1, ..., 1130-M denotadas con BSlD,m, m = 1, ...,M, donde la m-ésima parte contiene información concerniente dependiente para cada uno de los componentes BSRCj , Jm-1 < j < Jm, de la representación comprimida básica de sonido asignada a la m-ésima capa, si existe la información concerniente dependiente respectiva. En caso de que no exista la información concerniente dependiente respectiva, se asume que BSlD,m está vacía. La información concerniente BSlD,m depende de todos los componentes BSRCj , 1 < j < Jm, contenidos en todas las capas hasta la m-ésima.
• En el caso de la codificación en capas, es importante darse cuenta de que la información concerniente al perfeccionamiento debe calcularse para cada capa adicional, ya que está destinada a perfeccionar el sonido (o campo sonoro) descomprimido preliminar, que, sin embargo, depende de las capas disponibles para la descompresión. Por consiguiente, la compresión tiene que proporcionar M paquetes 1140-1, ..., 1140-M, de datos de información concerniente al perfeccionamiento individual, denotados con ESIm, m = 1, ...,M, donde la información concerniente al perfeccionamiento en el m-ésimo paquete ESI m de datos se calcula para perfeccionar la representación del sonido (o campo sonoro) obtenida a partir de todos los datos contenidos en la capa base y en las capas de perfeccionamiento con índices inferiores a m.
En resumen, en la etapa de compresión se debe proporcionar un paquete de datos de trama, denotado por FRAME, que tenga la siguiente composición:
F R A M E = [ B S R C i ... B S R C , B S ^ B S IW ... B S ID,M E S ^ ... E S I M ], (1)
Se entiende que el orden de las cargas útiles individuales con el paquete de datos de trama es arbitrario en general.
La asignación ya descrita de las cargas útiles individuales a las capas base y de perfeccionamiento se lleva a cabo mediante el denominado “empaquetador de capas de transporte”, y se ilustra esquemáticamente en la figura 1.
A continuación, se describirán la recepción y la descompresión. El receptor y la etapa de descompresión correspondientes se ilustran en la figura 2.
En primer lugar, los paquetes 1200, 1300-1, ..., 1300-(M - 1) de capa individuales se multiplexan para proporcionar el paquete de trama recibido
[BSIj BSID1 ... BSId m E S ^ B S RC j^ ... B S R C y 1)_1 ... E S I M B SRC^M_^ ... BSRCyj (2)
de la representación comprimida completa de sonido (o de campo sonoro), que luego se pasa al descompresor 2100. Se asume que, si la transmisión de una capa individual ha estado libre de errores, el indicador de validez de al menos la carga útil de información concerniente al perfeccionamiento contenida se establece en "verdadero". En caso de un error debido a la transmisión de una capa individual, el indicador de validez dentro de al menos la carga útil de información concerniente al perfeccionamiento en esta capa se establece en "falso". Por consiguiente, la validez de un paquete de capa se puede determinar a partir de la validez de la carga útil de información concerniente al perfeccionamiento contenida.
En el descompresor 2100, el paquete de tramas recibido se demultiplexa primero. Para este fin, la información sobre el tamaño de cada carga útil puede explotarse para evitar un análisis innecesario a través de los datos de las cargas útiles individuales.
En un paso siguiente, se selecciona el número Nb de la capa más alta que se utilizará realmente para la descompresión de la representación de sonido básica. La capa de perfeccionamiento más alta, que se utilizará realmente para la descompresión de la representación de sonido básica, viene dada por Nb - 1. Dado que cada capa contiene exactamente una carga útil de información concerniente al perfeccionamiento, se sabe a partir de cada carga útil de información concerniente al perfeccionamiento si la capa contenedora es o no válida. Por consiguiente, se puede llevar a cabo la selección utilizando todas las cargas útiles ESIm, m = 1, ...,M de información concerniente al perfeccionamiento. Además, se determina el índice Ne de la carga útil de información concerniente al perfeccionamiento que se utilizará para la descompresión, que es siempre igual a Nb o igual a cero. Esto significa que, el perfeccionamiento, o bien se lleva a cabo de acuerdo con la representación básica de sonido, o bien no se lleva a cabo en absoluto. Se ofrece más adelante una descripción más detallada de la selección.
Sucesivamente, las cargas útiles de los componentes BSRC1,..., BSRCj de representación comprimida básica de sonido se pasan, junto con todas las cargas útiles de información concerniente básica (es decir, bSIi y BSIü,m, m = 1, ..., M) y al valor Nb, a una unidad 2200 de procesamiento de descompresión de representación básica, que reconstruye la representación básica de sonido (o campo sonoro) utilizando sólo los componentes de representación comprimida básica de sonido contenidos dentro de las capas NB más bajas (es decir, la capa base y las capas de perfeccionamiento Nb - 1) . Se asume que el descompresor 2100 conoce la información requerida sobre qué componentes de la representación comprimida básica de sonido (o campo sonoro) están contenidos en las capas individuales a partir de un paquete de datos con información de configuración, que se asume que se envía y recibe antes de los paquetes de datos de trama. La decodificación real de cada carga útil de información concerniente básica dependiente individual, BSIüm, m = 1, ...,Nb se puede dividir en dos partes de la siguiente manera:
1. Una decodificación preliminar de cada carga útil BSIüm, m = 1, ..., Nb, aprovechando su dependencia de los primeros Jm - 1 componentes de representación comprimida básica de sonido BSRC1,..., BSRC(jm)-1 contenidos en las primeras m capas, que se asumió en la etapa de codificación.
2. Una corrección sucesiva de cada carga útil BSIüm, m = 1, ..., Nb, considerando que el componente básico de sonido se reconstruye finalmente a partir de los primeros Jnb - 1 componentes de representación comprimida básica B S R C - l , ... , B S R C y w ) - i
de sonido contenidos en las primeras N b > m capas, que son más componentes de los asumidos para la decodificación preliminar. Por consiguiente, la corrección se puede llevar a cabo descartando información obsoleta, lo cual es posible debido a la propiedad inicialmente asumida de la información concerniente básica dependiente de que, si se añaden ciertos componentes complementarios a la representación comprimida básica de sonido (o campo sonoro), la información concerniente básica dependiente para cada componente complementario individual se convierte en un subconjunto de la original.
Finalmente, la representación básica de sonido (o campo sonoro) reconstruida, junto con todas las cargas útiles ESI1, ..., ESIm de información concerniente al perfeccionamiento, las cargas útiles BSIi básicas de información concerniente BSIi and BSIüm, m = 1, ..., M, y el valor Ne se proporcionan a una unidad 2300 de procesamiento de descompresión de representación perfeccionada, que calcula la representación de sonido (o campo sonoro) perfeccionada final utilizando sólo la carga útil Es Ine de información concerniente al perfeccionamiento y descartando todas las demás cargas útiles de información concerniente al perfeccionamiento. Si el valor de Ne es igual a cero, todas las cargas útiles de información concerniente al perfeccionamiento se descartan, y la representación de sonido (o campo sonoro) perfeccionado final reconstruida es igual a la representación básica de sonido (o campo sonoro) reconstruida.
A continuación, se describirá la selección de capas. En el caso de que todos los paquetes de datos de trama puedan descomprimirse independientemente entre sí, tanto el número Nb de la capa más alta que se utilizará realmente para la descompresión de la representación básica de sonido como el índice Ne de la carga útil de información concerniente al perfeccionamiento que se utilizará para la descompresión se establecen en el número L más alto de una carga útil de información concerniente al perfeccionamiento válida, que, a su vez, puede determinarse evaluando los indicadores de validez dentro de las cargas útiles de información concerniente al perfeccionamiento. Al explotar el conocimiento del tamaño de cada carga útil de información concerniente al perfeccionamiento, se puede evitar un análisis complicado a través de los datos reales de las cargas útiles para la determinación de su validez.
En caso de que se emplee descompresión diferencial con dependencias entre tramas, debe considerarse adicionalmente la decisión a partir de la trama anterior. Con la descompresión diferencial, los paquetes de datos de trama independientes se transmiten a intervalos de tiempo regulares con el fin de permitir el inicio de la descompresión a partir de estos instantes de tiempo, cuando la determinación de los valores Nb y Ne se vuelve independiente de la trama y se realiza como se describió anteriormente.
Para explicar en detalle la decisión dependiente de la trama, primero denotamos para una k-ésima trama
• el número más alto de una carga útil de información concerniente al perfeccionamiento válida mediante L(k)
• el número de capa más alto que se seleccionará y utilizará para la descompresión de la representación básica de sonido mediante NB(k)
• el número de carga útil de información concerniente al perfeccionamiento que se utilizará para la descompresión mediante NE(k).
Usando esta notación, el número de capa más alto que se utilizará para la descompresión de la representación básica de sonido por NB(k) se calcula de acuerdo con
NB(k) = min(iVB(/c - 1 ),L(/c)). (3)
Al elegir que NB(k) no sea mayor que NB(k - 1) y L(k), se asegura que toda la información requerida para la descompresión diferencial de la representación básica de sonido esté disponible.
El número NE(k) de la carga útil de información concerniente al perfeccionamiento que se utilizará para la descompresión se determina de acuerdo con
Ne(I() = í A/b(/í ) Si NB(k) = N3(k - 1) (4)
más
Esto significa en particular que mientras no cambie el número más alto NB(k) de capa que se va a utilizar para la descompresión de la representación de sonido básica, se seleccionará el mismo número de capa de perfeccionamiento correspondiente. Sin embargo, en caso de un cambio de NB(k), el perfeccionamiento se desactivará, estableciéndose NE(k) en cero. Debido a la descompresión diferencial asumida de la información concerniente al perfeccionamiento, su cambio de acuerdo con NB(k) no es posible, ya que requeriría la descompresión de la capa de información concerniente al perfeccionamiento correspondiente en la trama anterior, la cual se asume que no ha sido realizada.
Alternativamente, si, en la descompresión, todas las cargas útiles de información concerniente al perfeccionamiento con números hasta NE(k) se descomprimen en paralelo, la regla (4) de selección se puede reemplazar por
NE(k) = NB(k). (5)
Finalmente, debe observarse que, para la descompresión diferencial, el número de la capa más alta utilizada sólo puede aumentar en paquetes de datos de trama independientes, mientras que es posible una disminución en cada trama.
A continuación, se describirán realizaciones de la divulgación relativas a la codificación en capas de una trama de una representación comprimida de sonido y a una estructura de datos (por ejemplo, a un flujo de bits) que representa una trama de la representación comprimida de sonido codificada para el caso de una representación comprimida de HOA. En particular, se describirán los cambios propuestos al esquema de codificación en capas de una representación comprimida de HOA.
Como corrección del modo de codificación en capas para contenido basado en HOA, se define un nuevo usacExtElementType para adaptar mejor la configuración y las cargas útiles de trama de las herramientas de decodificación de HoA, que son predicción de señales espaciales, síntesis de señales direccionales de subbanda y decodificador de replicación de ambiente paramétrica (PAR), a la capa de perfeccionamiento de HOA correspondiente. Si se activa el modo de codificación en capas para contenido basado en HOA, que se señaliza mediante SingleLayer == 0, se propone mover los elementos de flujo de bits correspondientes de estas herramientas a una carga útil adicional de extensión de HOA del nuevo tipo para cada capa (incluida la capa base y una o más capas de perfeccionamiento).
La extensión debe realizarse porque la información concerniente para estas herramientas se crea para perfeccionar una representación de HOA específica. En la definición actual de la codificación de HOA en capas, los datos proporcionados sólo amplían apropiadamente la representación de HOA de la capa más alta. Para las capas inferiores, estas herramientas no perfeccionan apropiadamente la representación de HOA parcialmente reconstruida. Por lo tanto, sería mejor proporcionar la información concerniente de estas herramientas para cada capa para adaptarlas mejor a la representación de HOA reconstruida de la capa correspondiente.
Además, las herramientas síntesis de señales direccionales de subbanda y decodificador de replicación de ambiente paramétrica están diseñadas específicamente para velocidades de datos bajas, con las que están disponibles sólo unas pocas señales de transporte. Por lo tanto, la extensión propuesta ofrecería la capacidad de adaptar de manera óptima la información concerniente de estas herramientas al número de señales de transporte en la capa. En consecuencia, la calidad del sonido de la representación de HOA reconstruida para capas de baja velocidad de bits, por ejemplo, para la capa base, puede aumentarse significativamente en comparación con el enfoque existente en relación con capas.
Además, la sintaxis del flujo de bits para los elementos de vector V codificados para las señales basadas en vectores tiene que adaptarse para la codificación en capas de HOA si se señaliza un CodedVVecLength igual a uno en la HOADecoderConfig(). En este modo de codificación vectorial, los elementos de vector V no se transmiten para los índices de coeficiente de HOA que están incluidos en el conjunto ContAddHoaCoeff. Este conjunto incluye todos los índices de coeficiente de HOA AmbCoeffldx[i] que tienen un AmbCoeffTransitionState igual a cero. No es necesario añadir también una señal del vector V ponderada porque la secuencia de coeficientes de HOA original para estos índices se envía explícitamente. Por lo tanto, el elemento del vector V en el enfoque convencional se establece en cero para estos índices.
Sin embargo, en el modo de codificación por capas, el conjunto de índices de coeficiente de HOA continuos depende de los canales de transporte que forman parte de la capa actualmente activa. Esto significa que en las capas inferiores faltan índices de coeficiente de HOA adicionales enviados en una capa superior. Entonces, la asunción de que la señal vectorial no debería contribuir a la secuencia de coeficientes de HOA es incorrecta para los índices de coeficiente de HOA que pertenecen a secuencias de coeficientes de HOA incluidas en capas superiores. De este modo, se propone señalizar (explícitamente) los elementos del vector V para estos índices de coeficiente faltantes.
En consecuencia, se propone definir el conjunto de ContAddHoaCoeff para cada capa y utilizar el conjunto de la capa donde se añade la señal del vector V (a la que pertenece la señal de transporte de la señal del vector V) para la selección de los elementos activos del vector V. No obstante, se propone que los datos del vector V permanezcan en la HOAFrame() y no se muevan a la HOAEnhFrame().
A continuación, se describirá la integración en la sintaxis de flujo de bits MPEG-H. Se describirá un método correspondiente de codificación (por ejemplo, un método de codificación en capas de una trama de una representación comprimida de HOA de un sonido o campo sonoro), de acuerdo con las realizaciones de la divulgación, con referencia a la figura 3. Se describirán más adelante algunos cambios propuestos al flujo de bits 3D MPEG-H en el anexo.
En el modo de codificación por capas, el indicador SingleLayer en la HOADecoderConfig() está inactivo (SingleLayer == 0) y se define el número de capas y su número correspondiente de señales de transporte de HOA asignadas. En general, la representación comprimida de HOA puede comprender una pluralidad de señales de transporte.
Por consiguiente, en S3010 de la figura 3, la pluralidad de señales de transporte se asigna a una pluralidad de capas jerárquicas. En otras palabras, las señales de transporte se distribuyen a la pluralidad de capas. Se puede decir que cada capa incluye las respectivas señales de transporte asignadas a esa capa. Cada capa puede tener asignada a ella más de una señal de transporte. La pluralidad de capas puede incluir una capa base y una o más capas de perfeccionamiento jerárquicas. Las capas se pueden ordenar, desde la capa base, a través de las capas de perfeccionamiento, hasta la capa más alta de perfeccionamiento global (capa más alta en global).
Se propone añadir una carga útil adicional de extensión de configuración de HOA y una carga útil de extensión de trama de HOA con una usacExtElementType ID_EXT_ELE_HOA_ENH_LAYER recién definida en el flujo de bits MPEG-H para transmitir una carga útil de predicción de señales espaciales, síntesis de señales direccionales de subbanda y datos del decodificador de PAR para cada capa de perfeccionamiento de HOA (incluida la capa base). Estas cargas útiles adicionales seguirán directamente la carga útil del tipo ID_EXT_ELE_HOA en la mpegh3daExtElementConfig(), y, en consecuencia, en la mpegh3daFrame().
Por lo tanto, se propone trasladar, en el caso de SingleLayer == 0, los elementos de configuración para la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de PAR de la HOADecoderConfig() a una recién definida HOADecoderEnhConfig(), y, en consecuencia, la HOAPredictionlnfo(), la HOADirectionalPredictionlnfo() y la HOAParInfo() de la HOAFrame() a la recién definida HOAEnhFrame().
Por consiguiente, en S3020, se genera una carga útil de extensión de HOA respectiva para cada capa. La carga útil de extensión de HOA generada puede incluir información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida que se puede obtener a partir de las señales de transporte asignadas (por ejemplo, incluidas en) la capa respectiva y en cualesquiera capas inferiores a la capa respectiva. Como se indicó anteriormente, las cargas útiles de extensión de HOA pueden incluir elementos de flujo de bits para una herramienta o más de entre una herramienta de decodificación de predicción de señales espaciales de HOA, una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y una herramienta de decodificación de replicación de ambiente paramétrica de HOA. Adicionalmente, las cargas útiles de extensión de HOA pueden tener un usacExtElementType de I D_EXT_ELE_H OA_EN H_LAYE R.
En S3030, las cargas útiles de extensión de HOA generadas se asignan a sus capas respectivas.
Adicionalmente (no se muestra en la figura 3), se puede generar una carga útil de extensión de configuración de HOA que incluye elementos de flujo de bits para configurar una herramienta de decodificación de predicción de señales espaciales de HOA, una herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y/o una herramienta de decodificación de replicación de ambiente paramétrica de HOA.
Adicionalmente (no se muestra en la figura 3), se puede generar una carga útil de configuración del decodificador de HOA que incluye información indicativa de la asignación de cargas útiles de extensión de HOA a la pluralidad de capas.
A continuación, se describirá la transmisión del flujo de bits en capas (por ejemplo, el flujo de bits MPEG-H). Como todas las cargas útiles de extensión del flujo de bits MPEG-H están alineadas por bytes y sus tamaños se señalizan explícitamente, si se asume un indicador elementLengthPresent igual a uno, un desempaquetador puede analizar el flujo de bits MPEG-H y extraer las cargas útiles para capas superiores a uno, y transmitirlas por separado a través de diferentes canales de transmisión. La capa base comprende (por ejemplo, consiste en) el flujo de bits MPEG-H, excluyendo datos para capas superiores. Las cargas útiles de extensión que faltan se señalizan como vacías o inactivas. Para cargas útiles de tipo ID_USAC_SCE, ID_USAC_CPE e ID_USAC_LFE, una carga útil vacía se señaliza mediante una elementLength de cero, donde elementLengthPresent debe establecerse en uno. La carga útil vacía de tipo ID_USAC_EXT se puede señalizar estableciendo el indicador usacExtElementPresent en cero (falso).
Por consiguiente, en S3040, las cargas útiles de extensión de HOA generadas se señalizan (por ejemplo, se transmiten o se emiten) en un flujo de bits de salida. En general, la pluralidad de capas y las cargas útiles asignadas a las mismas se señalizan (por ejemplo, se transmiten o se emiten) en el flujo de bits de salida. Adicionalmente, la carga útil de configuración del decodificador de HOA y/o la carga útil de extensión de configuración de HOA pueden ser señalizadas (por ejemplo, transmitidas o emitidas) en el flujo de bits de salida.
Se asume que la capa base de HOA (índice de capa igual a uno) se transmite con la mayor protección contra errores y tiene una velocidad de bits relativamente pequeña. La protección contra errores para las siguientes capas (una o más capas de perfeccionamiento de HOA) se reduce constantemente de acuerdo con la velocidad de bits creciente de las capas de perfeccionamiento. Debido a las malas condiciones de transmisión y la menor protección contra errores, la transmisión de capas superiores puede fallar, y, en el peor de los casos, sólo la capa base transmitirse correctamente. Se asume que se aplica una protección combinada contra errores para todas las cargas útiles de una capa. De este modo, si falla la transmisión de una capa, faltan todas las cargas útiles de la capa correspondiente.
En otras palabras, las cargas útiles de datos para la pluralidad de capas pueden transmitirse con niveles respectivos de protección contra errores, cuando la capa base tiene la protección contra errores más alta y la una o más capas de perfeccionamiento tienen protección contra errores sucesivamente decreciente.
A menos que los pasos requieran otros pasos como requisitos previos, los pasos antes mencionados se pueden realizar en cualquier orden y se entiende que el orden ejemplar ilustrado en la figura 3 no es limitante.
Como se indicó anteriormente, la sintaxis de flujo de bits para los elementos de vector V codificados para las señales basadas en vectores tiene que adaptarse para la codificación en capas de HOA si se señaliza una CodedVVecLength igual a uno en la HOADecoderConfig(). Se describirá un método correspondiente de codificación (por ejemplo, un método de codificación en capas de una trama de una representación comprimida de HOA de un sonido o campo sonoro) de acuerdo con las realizaciones de la divulgación con referencia a la figura 4.
En S4010, en la figura 4, la pluralidad de señales de transporte se asigna a una pluralidad de capas jerárquicas. Este paso se puede realizar de la misma manera que el S3010 descrito anteriormente.
En S4020, se determina si un modo de codificación vectorial está activo. Esto puede implicar determinar si CodedVVecLength == 1.
Como se indicó anteriormente, en el enfoque convencional en el modo de codificación vectorial, los elementos del vector V no se transmiten para los índices de coeficiente de HOA que están incluidos en el conjunto ContAddHoaCoeff. Este conjunto incluye todos los índices AmbCoeffldx[i] de coeficiente de HOA que tienen un AmbCoeffTransitionState igual a cero. No es necesario añadir también una señal del vector V ponderada porque la secuencia de coeficientes de HOA original para estos índices se envía explícitamente. Por lo tanto, el elemento del vector V en el enfoque convencional se establece en cero para estos índices.
Sin embargo, en el modo de codificación por capas, el conjunto de índices de coeficiente de HOA continuos depende de los canales de transporte que forman parte de la capa actualmente activa. Esto significa que en las capas inferiores faltan índices de coeficiente de HOA adicionales enviados en una capa superior. Entonces, la asunción de que la señal vectorial no debería contribuir a la secuencia de coeficientes de HOA es incorrecta para los índices de coeficiente de HOA que pertenecen a secuencias de coeficientes de HOA incluidas en capas superiores. De este modo, si el modo de codificación vectorial está activo, en S4030 se determina (por ejemplo, se define) un conjunto de índices de coeficiente (por ejemplo, ContAddHoaCoeff) de HOA continuos para cada capa sobre la base de las señales de transporte asignadas a la capa respectiva.
Si el modo de codificación vectorial está activo, en S4040, para cada señal de transporte, se genera un vector V sobre la base del conjunto determinado de índices de coeficiente de HOA continuos para la capa a la que se asigna la señal de transporte respectiva. Cada vector V generado puede incluir elementos para cualesquiera señales de transporte asignadas a capas superiores a la capa a la que está asignada la señal de transporte respectiva. Este paso puede implicar el uso del conjunto de índices de coeficiente de HOA continuos que se ha determinado para la capa en donde se añade la señal del vector V (la capa a la que pertenece la señal de transporte de la señal del vector V) para la selección de los elementos del vector V activo. No obstante, se propone que los datos del vector V permanezcan en la HOAFrame() y no se muevan a la HOAEnhFrame().
Luego, en S4050, los vectores V generados (señales de vector V) se señalizan en el flujo de bits de salida. Esto puede implicar (explícitamente) señalizar los elementos del vector V para los índices de coeficiente faltantes antes mencionados.
Los pasos S4020 a S4050 en la figura 4 también pueden emplearse en el contexto del método de codificación ilustrado en la figura 3, por ejemplo, después de S3010. En este caso, S3040 y S4050 pueden combinarse en un solo paso de señalización.
A menos que los pasos requieran otros ciertos pasos como requisitos previos, los pasos antes mencionados se pueden realizar en cualquier orden, y se entiende que el orden ejemplar ilustrado en la figura 4 no es limitante. En el lado del receptor, un empaquetador de flujo de bits MPEG-H puede reinsertar las cargas útiles recibidas correctamente en el flujo de bits MPEG-H de capa base y pasarlo a un decodificador de audio MPEG-H 3D.
A continuación, se describirá la inicialización (configuración) de decodificación de HOA. Las cargas útiles de configuración de HOA de tipo ID_EXT_ELE_hOa e ID_EXT_ELE_HOA_ENH_LAYER con sus correspondientes tamaños en bytes se introducen en el decodificador de HOA para su inicialización. Las herramientas de codificación de HOA se configuran de acuerdo con los elementos de flujo de bits definidos en HOAConfig(), que se analiza a partir de la carga útil del tipo ID_EXT_ELE_HOA. Además, esta carga útil contiene el uso del modo de codificación por capas, el número de capas y el número correspondiente de señales de transporte por capa. Luego, si la codificación en capas está activada (SingleLayer == 0), las HOAEnhConfig()s se analizan a partir de las cargas útiles de tipo ID_EXT_ELE_HOA_ENH_LAYER para configurar la correspondientes predicción de señales espaciales, síntesis de señales direccionales de subbanda y decodificador de replicación de ambiente paramétrica de cada capa. .
El elemento Layerldx de la HOAEnhConfig(), junto con el orden de las cargas útiles de configuración de la capa de perfeccionamiento de HOA en la mpegh3daExtElementConfig(), indican el orden de las capas de perfeccionamiento de HOA. El orden de las cargas útiles de trama de la capa de perfeccionamiento de HOA de tipo ID_EXT_ELE_HOA_ENH_LAYER en la mpegh3daFrame() es idéntico al orden de las cargas útiles de configuración en la mpegh3daExtElementConfig() para asignar claramente las cargas útiles de la trama a las capas correspondientes.
En el caso de SingleLayer==1 (codificación de una sola capa), las cargas útiles de tipo ID_EXT_ELE_HOA_ENH_LAYER se ignoran, y la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica utilizan los datos correspondientes de la HOADecoderConfig() para su configuración.
A continuación, se describirá la decodificación de tramas de HOA en modo en capas. Se describirá un método de decodificación correspondiente (por ejemplo, un método para decodificar una trama de una representación comprimida de HOA de un sonido o campo sonoro) de acuerdo con las realizaciones de la divulgación con referencia a la figura 5. Se entiende que la representación comprimida de HOA (por ejemplo, la salida de los métodos de la figura 3 o de la figura 4 descritos anteriormente) se ha codificado en una pluralidad de capas jerárquicas que incluyen una capa base y una o más capas de perfeccionamiento.
En S5010, en la figura 5, se recibe un flujo de bits relacionado con la trama de la representación comprimida de HOA.
El decodificador de núcleo de audio 3D decodifica las señales de transporte de HOA transmitidas correctamente y crea señales de transporte con todas las muestras iguales a cero para las correspondientes cargas útiles no válidas. Las señales de transporte decodificadas junto con los indicadores usacExtElementPresent, los datos y los tamaños de las cargas útiles de HOA de tipo ID_EXT_ELE_HOA e ID_EXT_ELE_HOA_ENH_LAYER se introducen en el decodificador de HOA. Las cargas útiles de extensión del tipo ID_USAC_EXT con un indicador usacExtElementPresent establecido en falso deben señalizarse como cargas útiles faltantes al decodificador de HOA, para garantizar la asignación de las cargas útiles a las capas correspondientes.
En S5020, se extraen cargas útiles para la pluralidad de capas. Cada carga útil puede incluir señales de transporte asignadas a una capa respectiva.
En este paso, el decodificador de HOA puede analizar la de HOAFrame() de la carga útil del tipo ID_EXT_ELE_HOA.
Posteriormente, las cargas útiles válidas de tipo ID_EXT_ELE_HOA_ENH_LAYER y las cargas útiles no válidas de tipo ID_EXT_ELE_HOA_ENH_LAYER se determinan mediante la evaluación del indicador usacExtElementPresent correspondiente de las cargas útiles, donde la carga útil no válida se indica mediante un indicador usacExtElement igual a falso, y la asignación de las cargas útiles de perfeccionamiento de HOA a los índices de la capa de perfeccionamiento se conoce a partir de la configuración del decodificador de HOA.
En S5030, se determina la capa utilizable más alta de entre la pluralidad de capas a decodificar.
Como las capas son dependientes entre sí en términos de las señales de transporte, el decodificador de HOA sólo puede decodificar una capa cuando todas las capas con un índice más bajo se reciben correctamente. La capa utilizable más alta puede seleccionarse en este paso como para que todas las capas hasta la capa utilizable más alta se hayan recibido correctamente. Los detalles de este paso se describen más abajo.
En S5040, se extrae una carga útil de extensión de HOA asignada a la capa utilizable más alta. Como se indicó anteriormente, la carga útil de extensión de HOA puede incluir información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a la capa utilizable más alta. Ahí, la representación de HOA reconstruida correspondiente a la capa utilizable más alta puede obtenerse sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta.
Además, se pueden extraer las cargas útiles de extensión de HOA asignadas respectivamente a las restantes capas de entre la pluralidad de capas. Cada carga útil de extensión de HOA puede incluir información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a su capa asignada respectiva. La representación de HOA reconstruida correspondiente a su respectiva capa asignada puede obtenerse a partir de las señales de transporte asignadas a esa capa y cualesquiera capas inferiores a esa capa.
Adicionalmente (no mostrado en la figura 5), el método de decodificación puede comprender el paso de extraer una carga útil de extensión de configuración de HOA. Esto se puede hacer analizando el flujo de bits. La carga útil de extensión de configuración de HOA puede incluir elementos de flujo de bits para configurar la herramienta de decodificación de predicción de señales espaciales de HOA, la herramienta de decodificación de síntesis de señales direccionales de subbanda de HOA y/o la herramienta de decodificación de replicación de ambiente paramétrica de HOA.
En S5050, la representación de HOA reconstruida (parcialmente) correspondiente a la capa utilizable más alta se genera sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta.
El número de señales de transporte realmente utilizadas /add,lay (k) se establece de acuerdo con (el índice MLAY(k) de) la capa utilizable más alta y se decodifica una primera representación de HOA preliminar a partir de la HOAFrame() y de las correspondientes señales de transporte de la capa y de cualesquiera capas inferiores.
Luego, en S5060, la representación de HOA reconstruida se perfecciona (por ejemplo, se perfecciona paramétricamente) usando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta.
Es decir, que la representación de HOA obtenida en S5050 se perfecciona luego mediante la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica utilizando los datos de HOAEnhFrame() analizados a partir de la carga útil de extensión de capa de perfeccionamiento de HOA de tipo ID_EXT_ELE_HOA_ENH_LAYER de la capa MLAY(k) activa actualmente, es decir, la capa utilizable más alta.
La información utilizada en los pasos S5020-S5060 puede conocerse como información de capa.
A menos que los pasos requieran otros pasos como requisitos previos, los pasos antes mencionados se pueden realizar en cualquier orden, y se entiende que el orden ejemplar ilustrado en la figura 5 no es limitante.
A continuación, se describirán los detalles de la determinación (por ejemplo, de selección) de la capa utilizable más alta en S5030.
Como se indicó anteriormente, el decodificador de HOA sólo puede decodificar una capa cuando todas las capas con un índice más bajo se reciben correctamente, ya que las capas dependen unas de otras en términos de señales de transporte.
Para la selección de la capa decodificable más alta, el decodificador de HOA puede crear un conjunto de índices de capa no válidos, donde el índice más pequeño de este conjunto menos uno da como resultado el índice Mlay de la capa de perfeccionamiento decodificable más alta. El conjunto de índices de capa no válida se puede determinar evaluando indicadores de validez de las correspondientes cargas útiles de extensión de HOA.
En otras palabras, la determinación de la capa utilizable más alta puede implicar la determinación de un conjunto de índices de capa no válidos que indican capas que no se han recibido de forma válida. Además, puede implicar la determinación de la capa utilizable más alta como la capa que está una capa por debajo de la capa indicada por el índice más pequeño del conjunto de índices de capa no válida. Por ello, se garantiza que todas las capas por debajo de la capa utilizable más alta se hayan recibido de forma válida.
En caso de codificación diferencial de tramas, deberá tenerse en cuenta el índice de la capa utilizable más alta de la trama anterior (por ejemplo, de la inmediatamente anterior). En primer lugar, se describirá una situación en la que se mantiene el índice de la capa utilizable más alta de una trama anterior (por ejemplo, de la precedente).
Si el índice de la capa utilizable más alta (por ejemplo, la capa decodificable más alta) para la trama actual es igual al índice de capa de la trama anterior MLAY(k - 1), el índice de capa de la trama actual MlayW estará configurado en MLAY(k -1).
Luego, el número de señales /add,lay (k) de transporte realmente utilizadas se establece de acuerdo con MLAY(k), y se decodifica una primera representación de HOA preliminar a partir de la HOAFrame() y de las señales de transporte correspondientes de la capa y de cualesquiera capas inferiores, como se indicó anteriormente. Esta representación de HOA se perfecciona luego mediante la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica utilizando los datos de HOAEnhFrame() analizados a partir de la carga útil de extensión de capa de perfeccionamiento de HOA del tipo ID_EXT_ELE_HOA_ENH_LAYER de la capa activa actualmente MLAY(k), como se indicó anteriormente.
A continuación, se describirá una situación en la que se conmuta a un índice más bajo que el de la capa utilizable más alta de una trama anterior (por ejemplo, de la precedente). Es decir, que en el caso de que el índice de la capa decodificable más alta para la trama actual sea más pequeño que el índice de la capa de la trama anterior MLAY(k -1), el decodificador de HOA establece MLAY(k) al índice de la trama capa decodificable más alta para la trama actual. La decodificación de las cargas útiles para la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica para la nueva capa sólo puede comenzar en la siguiente trama de HOA con un hoalndependencyFlag igual a uno. Hasta que se haya recibido ta1HOAFrame(), la representación de HOA de la capa del índice MLAY(k) se reconstruirá sin realizar la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica. Esto significa que el número de señales /add,lay (k) de transporte realmente utilizadas se establece de acuerdo con MLAY(k), y que sólo se decodifica la primera representación de HOA preliminar de la HOAFrame() y de las señales de transporte correspondientes de la capa y de cualesquiera capas inferiores. Luego, si se ha recibido una HOAFrame() con un hoalndependencyFlag igual a uno, las cargas útiles para la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica se analizan y decodifican para perfeccionar la representación de HOA preliminar, de modo que se proporciona la calidad completa de la capa actualmente activa para esta trama.
De este modo, el método propuesto puede comprender (no se muestra en la figura 5) decidir no realizar un perfeccionamiento paramétrico de la representación de HOA reconstruida utilizando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta si la capa utilizable más alta de la trama actual es menor que la capa más alta utilizable de la trama anterior (si la trama actual se ha codificado de forma diferencial con respecto a la trama anterior).
En general, determinar la capa utilizable más alta para la trama actual puede implicar la determinación de un conjunto de índices de capa no válidos que indican capas que no se han recibido válidamente para la trama actual. Puede comprender adicionalmente determinar una capa utilizable más alta de una trama anterior que precede a la trama actual. Puede comprender adicionalmente determinar la capa utilizable más alta como la capa inferior de la capa utilizable más alta de la trama anterior, y la capa que está una capa por debajo de la capa indicada por el índice más pequeño de entre el conjunto de índices de capa no válidos (si la trama actual se ha codificado de forma diferencial con respecto a la trama anterior).
Una solución alternativa siempre podrá analizar todas las cargas útiles de la capa de perfeccionamiento válidas (por ejemplo, las cargas útiles de extensión de HOA) en paralelo, incluso si están actualmente inactivas. Esto permitiría un cambio directo a una capa con un índice más bajo con calidad total, donde el decodificador de predicción de señales espaciales, la síntesis de señales direccionales de subbanda y la replicación de ambiente paramétrica (PAR) se pueden aplicar directamente en la trama conmutada.
A continuación, se describirá una situación en la que se conmuta a un índice más alto que el índice de la capa utilizable más alta de una trama anterior (por ejemplo, de la precedente). Este cambio a una capa con un índice más alto sólo se puede aplicar si la mpegh3daFrame() tiene un usaclndependencyFlag igual a uno (por ejemplo, si la trama es una trama independiente), porque faltan todas las cargas útiles correspondientes o los estados de decodificación de las tramas anteriores. De este modo, el decodificador de HOA mantiene el índice de capa de HOA MLAY(k) igual a MLAY(k - 1) hasta que se haya recibido una mpegh3daFrame() con un usaclndependencyFlag igual a uno (por ejemplo, una trama independiente) que contenga datos válidos para una capa decodificable superior. Entonces MlayW se establece en el índice de capa decodificable más alto para la trama actual, y, en consecuencia, se determina el número de señales /add,lay (k) de transporte realmente utilizadas. La representación preliminar de HOA de esa capa se decodifica de la HOAFrame() y de las señales de transporte correspondientes, y se perfecciona con la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrica utilizando la HOAEnhFrame() analizada de la carga útil de extensión de capa de perfeccionamiento de HOA de tipo ID_EXT_ELE_HOA_ENH_LAYER de la capa actualmente activa MLAY(k).
Se entiende que el método propuesto de codificación en capas de una representación de sonido comprimida puede implantarse mediante un codificador para la codificación en capas de una representación de sonido comprimida. Tal codificador puede comprender unidades respectivas adaptadas para realizar los pasos respectivos descritos anteriormente. Un ejemplo de tal codificador 6000 se ilustra esquemáticamente en la figura 6. Por ejemplo, tal codificador 6000 puede comprender una unidad 6010 de asignación de señal de transporte adaptada para realizar el S3010 mencionado anteriormente, una unidad 6020 de generación de carga útil de capa de extensión de HOA adaptada para realizar el S3020 mencionado anteriormente, un unidad 6030 de asignación de carga útil de extensión de HOA adaptada para realizar el S3030 mencionado anteriormente, y una unidad 6040 de señalización o de salida adaptada para realizar el S3040 mencionado anteriormente. Se entiende adicionalmente que las unidades respectivas de tal codificador pueden ser incorporadas por un procesador 6100 de un dispositivo informático que esté adaptado para realizar el procesamiento llevado a cabo por cada una de dichas unidades respectivas, es decir, que esté adaptado para realizar algunos o todos los pasos antes mencionados del método de codificación propuesto ilustrado esquemáticamente en la figura 3. Adicional o alternativamente, el procesador 6100 puede adaptarse para realizar cada uno de los pasos del método de codificación ilustrado esquemáticamente en la figura 4. Con este fin, el procesador 6100 puede adaptarse para implantar las respectivas unidades del codificador. El codificador o dispositivo informático puede comprender adicionalmente una memoria 6200 que es accesible para el procesador 6100.
Se entiende adicionalmente que el método propuesto para decodificar una representación de sonido comprimida que está codificada en una pluralidad de capas jerárquicas puede implantarse mediante un decodificador para decodificar una representación comprimida de sonido que está codificada en una pluralidad de capas jerárquicas. Tal decodificador puede comprender unidades respectivas adaptadas para realizar los pasos respectivos descritos anteriormente. Un ejemplo de tal decodificador 7000 se ilustra esquemáticamente en la figura 7. Por ejemplo, tal decodificador 7000 puede comprender una unidad 7010 de recepción adaptada para realizar el S5010 mencionado anteriormente, una unidad 7020 de extracción de carga útil adaptada para realizar el S5020 mencionado anteriormente, una unidad 7030 de determinación de capa utilizable más alta adaptada para realizar el S5030 mencionado anteriormente, una unidad 7040 de extracción de carga útil de extensión de HOA adaptada para realizar el S5040 mencionado anteriormente, una unidad 7050 de generación de representación de HOA reconstruida adaptada para realizar el S5050 mencionado anteriormente, y una unidad 7060 de perfeccionamiento adaptada para realizar el S5060 mencionado anteriormente. Se entiende adicionalmente que las unidades respectivas de tal decodificador pueden ser incorporadas por un procesador 7100 de un dispositivo informático que esté adaptado para realizar el procesamiento llevado a cabo por cada una de dichas unidades respectivas, es decir, que esté adaptado para realizar algunos o todos los pasos mencionados anteriormente del método de decodificación propuesto. El decodificador o dispositivo informático puede comprender adicionalmente una memoria 7200 que es accesible para el procesador 7100.
A continuación, se describirá una estructura de datos (por ejemplo, un flujo de bits) para alojar (por ejemplo, representar) la representación comprimida de HOA en modo de codificación en capas. Tal estructura de datos puede surgir del empleo de los métodos de codificación propuestos, y puede decodificarse (por ejemplo, descomprimirse) utilizando el método de decodificación propuesto.
La estructura de datos puede comprender una pluralidad de cargas útiles de tramas de HOA correspondientes a las respectivas capas de entre una pluralidad de capas jerárquicas. La pluralidad de señales de transporte puede asignarse a (por ejemplo, puede pertenecer a) las respectivas capas de entre la pluralidad de capas. La estructura de datos puede comprender una carga útil de extensión de HOA respectiva que incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas inferiores a la capa respectiva. Las cargas útiles de la trama de HOA y las cargas útiles de extensión de HOA para la pluralidad de capas pueden proporcionarse con los respectivos niveles de protección contra errores, como se indicó anteriormente. Además, las cargas útiles de extensión de HOA pueden comprender los elementos de flujo de bits indicados anteriormente, y pueden tener un usacExtElementType de ID_EXT_ELE_HOA_ENH_LAYER. La estructura de datos puede comprender aún más adicionalmente una carga útil de extensión de configuración de HOA y/o una carga útil de configuración del decodificador de HOA, incluyendo los elementos de flujo de bits indicados anteriormente.
Los métodos y aparatos descritos en el presente documento pueden implantarse como equipo lógico informático (software), soporte lógico inalterable (firmware) y/o equipo físico informático (hardware). Ciertos componentes pueden, por ejemplo, implantarse como software que se ejecuta en un procesador o microprocesador de señales digitales. Otros componentes pueden, por ejemplo, implantarse como hardware o como circuitos integrados específicos de aplicación. Las señales encontradas en los métodos y aparatos descritos pueden almacenarse en medios tales como memoria de acceso aleatorio o medios de almacenamiento óptico. Pueden transferirse mediante redes, tales como redes de radio, redes de satélite, redes inalámbricas o redes alámbricas, como, por ejemplo, Internet.
Anexo:
Cambios propuestos en el flujo de bits de MPEG-H 3D
Los cambios se marcan resaltando en gris:
T l 1- in xi m h ExEl m n nfl
Figure imgf000019_0001
Figure imgf000020_0002
Figure imgf000020_0001
Tabla 2 - Valor de usacExtElementType
Figure imgf000021_0001
T l - In rr i n l l r l ifi in l r il x nin
Figure imgf000021_0002
Tabla 4 - Sintaxis de HOADecoderConfi
Figure imgf000021_0003
Figure imgf000022_0001
Figure imgf000023_0003
Figure imgf000023_0002
Tabla nueva? - Sintaxis de HOAEnhConfl
Figure imgf000023_0004
Tabla nueva? - Sintaxis HOADecoderEnhConfi
Figure imgf000023_0001
ica
Figure imgf000024_0001
Figure imgf000025_0001
Tabla 5 - Sintaxis de HOAFrame
Figure imgf000025_0002
Figure imgf000026_0001
Figure imgf000027_0002
NumOfDirSiasPerLaver Navl
Estos elementos determinan el número de señales direccionales activas en la HOAFrame() actual que se utiliza realmente en la capa lay de perfeccionamiento de HOA.
AddHoaCoeffPerLayer [lay]
Esta matriz contiene el índice de coeficiente de HOA para cada coeficiente de HOA de ambiente adicional realmente utilizado en la capa lay de perfeccionamiento de HOA.
NumOfAddHoaChansPerLayer [layl
Este elemento señaliza el número total de coeficientes de HOA de ambiente adicionales realmente utilizados en la capa lay de perfeccionamiento de HOA.
Añadir esta tabla
Tabla nueva? - Sintaxis de HOAEnhFrame
Figure imgf000027_0003
Actualizar esta tabla:
Tabla 6 - Sintaxis de WecrtorData
Figure imgf000027_0001
Figure imgf000028_0001
Tabla 7 - Sintaxis de HOAPredictionInfo DirSi ChannelIds, NumOfDirSis
Figure imgf000028_0002
Figure imgf000029_0001
Tabla AMD1.2 - Sintaxis de HOADirectionalPredictionInfo
Figure imgf000030_0001
Figure imgf000031_0001
Figure imgf000032_0001
Tabla 8 - Definición de Sin leLa er
Figure imgf000032_0002
codedLayerCh
Este elemento indica para la primera capa (es decir, la base) el número de señales de transporte incluidas, que viene dado por codedLayerCh MinNumOfCoeffsForAmbHOA. Para las capas superiores (es decir, de perfeccionamiento), este elemento indica el número de señales adicionales incluidas en una capa de perfeccionamiento en comparación con la siguiente capa inferior, que viene dada por codedLayerCh 1.
HOALayerChBits
Este elemento indica el número de bits para leer codedLayerCh.
NumLayers
Este elemento indica (después de la lectura de HOADecoderConfig()) el número total de capas dentro del flujo de bits.
NumHOAChannelsLayer
Este elemento es una matriz que consta de NumLayers elementos, de los cuales el i-ésimo elemento indica el número de señales de transporte incluidas en todas las capas hasta la i-ésima capa.
12.4.1.x Parámetros dependientes de usuario y trama
MLAY(k))
Número de todas las capas realmente utilizadas para la k-ésima trama (a especificar) en el lado del decodificador. En el caso de la codificación en capas (indicado por SingleLayer == 0), este número debe ser menor o igual al número total de capas presentes en el tren de bits, es decir, que Mlay á NumLayers. En el caso de la codificación de una sola capa (indicado por SingleLayer == l), Mlay se establece en uno.
Dependiendo de la elección de MLAY(k), el número /add,lay (k) de canales de transporte adicionales realmente utilizados para la decodificación espacial de HOA (es decir, adicionales a los canales Omin que siempre se utilizan implícitamente) se calcula de la siguiente manera:
¡fiSlngteLayer | MSlngJeLayef & MLAY(*) = = NumLayers))
{
/a d d ,l a y [A) = NumOfAdditionalCoders;
}
sise
í
a^ d d .lav (fc) " NurnHOACarinelsLayer[AíL¿v(k) — K - MinNumOfCoeffsForAmbHOA;
VVecLength y VVecCoeffId
La palabra codificadaVVecLength indica:
0) Longitud completa del vector (elementos NumOfHoaCoeffs). Indica que se especifican todos los coeficientes para los vectores predominantes (NumOfHoaCoeffs).
1) Los elementos del vector 1 para MinNumOfCoeffsForAmbHOA y todos los elementos definidos en ContAddHoaCoeff[lay] de la capa actualmente activa de index lay=O ... NumLayers-1 no se transmiten. Para el modo de capa única SingleLayer==1, la variable NumLayers debe establecerse en igual a uno. Indica que sólo se especifican aquellos coeficientes del vector predominante correspondientes a un número mayor que MinNumOfCoeffsForAmbHOA. Además, se restan los coeficientes NumOfContAddAmbHoaChan[lay] identificados en ContAddAmbHoaChan [lay]. La lista ContAddAmbHoaChan[lay] especifica canales adicionales correspondientes a un orden que excede el orden MinAmbHoaOrder.
2) Los elementos del vector 1 para MinNumOfCoeffsForAmbHOA no se transmiten. Indica que se especifican aquellos coeficientes de los vectores predominantes correspondientes a un número mayor que MinNumOfCoeffsForAmbHOA.
En el caso de codificadoVVecLength==1 tanto la matriz VVecLength[i] como la matriz VVecCoeffId[i][m] 2D son válidas para el VVector del índice i, en los otros casos, tanto el elemento VVecLength como la matriz VVecCoeffld[m] son válidos para todos los VVector dentro de la HOAFrame. Para el algoritmo de asignación que se muestra más abajo, se define una función auxiliar de la siguiente manera.
switch CodedWecLengthf
case 0:
VVecLength = NumOfHoaCoeffs;
for (m=0; m<VVecLength; +m) {
VVecCoeffld[m] = m;
}
break;
case 1:
for (i=0; i < NumOfVecSigs; +i) {
lay = VecSigLayerldxfi];
VVecLengthfi] = NumOfHoaCoeffs
-.MinNumOfCoeffsForAmbHOA
- NumOfContAddHoaChansflay];
Coeffldx = MinNumOfCoeffsForAmbHOA+1;
for (m=0; m<WecLength[i]; +m) {
blsInArray = isMemberOf(Coeffldx,
ContAddHoaCoeff[lay],
NumOfContAddHoaChans[lay]);
while (blsInArray) {
Coeffldx++;
blsInArray = isMemberOf(Coeffldx,
ContAddHoaCoeff[lay],
NumOfContAddHoaChans[lay]);
}
VVecCoeffld[i][m] = Coeffldx-1;
}
}
break;
case 2:
VVecLength = NumOfHoaCoeffs - MinNumOfCoeffsForAmbHOA;
for (m=0; m< VVecLength; +m) {
WecCoeffld[m] = m MinNumOfCoeffsForAmbHOA;
}
La primera declaración de conmutación con los tres casos (casos 0-2) proporciona por ello una manera de determinar la longitud del vector predominante en términos del número (WecLength) y de los índices de coeficientes (VVecCoeffld).
12.4.1.X Conversión a elemento VVec
El tipo de descuantificación del vector V se indica mediante la palabra NbitsQ. El valor de NbitsQ de 4 indica cuantificación de vector. Cuando NbitsQ es igual a 5, se realiza una descuantificación escalar uniforme de 8 bits. Por el contrario, un valor de NbitsQ mayor o igual a 6 indica la aplicación de la decodificación de Huffman de un vector V cuantificado escalar. El modo de predicción se indica como PFlag, mientras que CbFlag representa un bit de información en la tabla de Huffman.
if (CodedWecLength == 1) {
VVecLengthllsed = VVecLength[i];
VVecCoeffldUsed = WecCoeffld[i];
} else {
VVecLengthUsed = VVecLength;
VVecCoeffldUsed = VVecCoeffld;
}
if (NbltsQ(k)[¡] == 4) {
if (NumVvecIndices == 1) {
for (m=0; m< VVecLengthUsed; +m) {
idx = VVecCoeffldUsed[m];
v ® idx(/c) = WeightVal[0] * VecDict[900].[Vvecldx[0]][idx];
}
} else {
cdbLen = O;
if (N==4) {
cdbLen = 32;
}
for (m=0; m<0; +m) {
TmpVVec[m] = 0;
for (j=0; j< NumVvecIndices; +j) {
TmpVVec[m] = WeightVal[j] * VecDict[cdbLen].[Vvecldx[j]][m]; }
}
FNorm = 0.0;
for (m=0; m<0; +m) {
FNorm = TmpVVec[m] * TmpVVec[m];
}
FNorm = (N+l)/sqrt(FNorm);
for (m=0; m< VVecLengthUsed; +m) {
idx = VVecCoeffldllsed[m];
v (-l\ dx(k)= TmpVVec[idx] * FNorm;
}
}
}
elseif (NbitsQ(k)[¡] == 5) {
for (m=0; m< VVecLengthUsed; +m) {
^vvecCoeffidUsedimjOO = (N+l)*aVal[i][m ];
}
}
elseif (NbitsQ(k)[i] >= 6) {
for (m=0; m< VVecLengthUsed; +m) {
v (i)v v ecco em d u sed [m ](fc) = (N l) * (2A(16 - NbitsQ(k)[¡])*aVal[¡][m])/2''15: if (PFIag(k)[i] == 1) {
^ 'VvecCoeffldUsed[m ] ( ^ ) ^^V V ecC oeffIdU sed[
Figure imgf000035_0001
}
}
}

Claims (9)

REIVINDICACIONES
1. Un método para decodificar una representación (2100) comprimida de ambisónico de orden superior (HOA) de un sonido o campo sonoro, comprendiendo, el método:
recibir (S5010) un flujo de bits que contiene la representación comprimida de HOA correspondiente a una pluralidad de capas jerárquicas que incluyen una capa base (1200) y dos o más capas de perfeccionamiento jerárquicas (1300­ 1, 1300-(M-1)), donde la el flujo de bits comprende, en cada capa, una carga útil de extensión de HOA respectiva que incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas inferiores a la capa respectiva;
determinar (S5030) una capa utilizable más alta de entre la pluralidad de capas, para decodificar en base a un conjunto de índices de capa no válidos, los cuales indican capas que no han sido recibidas válidamente, en el que el conjunto de índices de capa no válidos se determina evaluando indicadores de validez de las correspondientes cargas útiles de extensión de HOA, y en el que la capa utilizable más alta es la capa que está por debajo de la capa más baja que no ha sido recibida de manera válida, como lo indica el índice más pequeño del conjunto de índices de capa no válida;
extraer (S5040) una carga útil de extensión de HOA asignada a la capa utilizable más alta, en la que la carga útil de extensión de HOA incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a la capa utilizable más alta, en el que se puede obtener la representación de HOA reconstruida correspondiente a la capa utilizable más alta sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; decodificar (S5050) la representación comprimida de HOA correspondiente a la capa utilizable más alta en base a la información de capa, las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; y
perfeccionar paramétricamente (S5060) la representación de HOA decodificada usando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta, pero sin usar ninguna información concerniente incluida en la carga útil de extensión de HOA asignada a cualesquiera capas inferiores a la capa utilizable más alta.
2. Un aparato (2100) para decodificar una representación comprimida de ambisónico de orden superior ( HOA) de un sonido o campo sonoro, comprendiendo el aparato:
un receptor configurado para recibir (S5010) un flujo de bits que contiene la representación comprimida de HOA correspondiente a una pluralidad de capas jerárquicas que incluyen una capa base (1200) y dos o más capas de perfeccionamiento jerárquicas (1300-1, 1300-(M-1)), en el que el flujo de bits comprende, en cada capa, la respectiva carga útil de extensión de HOA que incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida obtenible a partir de las señales de transporte asignadas a la capa respectiva y a cualesquiera capas inferiores a la capa respectiva;
un decodificador configurado para:
determinar (S5030) una capa utilizable más alta de entre la pluralidad de capas para decodificar en base a un conjunto de índices de capa no válidos que indican capas que no han sido recibidas válidamente, en el que el conjunto de índices de capa no válidos se determina evaluando indicadores de validez de las correspondientes cargas útiles de extensión de HOA, y en el que la capa utilizable más alta es la capa que está por debajo de la capa más baja que no ha sido recibida de manera válida, como lo indica el índice más pequeño del conjunto de índices de capa no válida;
extraer (S5040) una carga útil de extensión de HOA asignada a la capa utilizable más alta, en el que la carga útil de extensión de HOA incluye información concerniente para perfeccionar paramétricamente una representación de HOA reconstruida correspondiente a la capa utilizable más alta, en el que se puede obtener la representación de HOA reconstruida correspondiente a la capa utilizable más alta sobre la base de las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; decodificar (S5050) la representación comprimida de HOA correspondiente a la capa utilizable más alta en base a la información de capa, las señales de transporte asignadas a la capa utilizable más alta y a cualesquiera capas que sean inferiores a la capa utilizable más alta; y
perfeccionar paramétricamente (S5060) la representación de HOA decodificada utilizando la información concerniente incluida en la carga útil de extensión de HOA asignada a la capa utilizable más alta, pero sin utilizar ninguna información concerniente incluida en la carga útil de extensión de HOA asignada a cualesquiera capas inferiores a la capa utilizable más alta.
3. El método de la reivindicación 1 o el aparato de la reivindicación 2, en el que la información de capa incluye índices de coeficiente de HOA para cada coeficiente de HOA de ambiente adicional para una capa (1300-1, 1300-(M-1)) de perfeccionamiento.
4. El método de la reivindicación 1 o de la reivindicación 3, o el aparato de la reivindicación 2 o de la reivindicación 3, en el que la información de capa incluye información de perfeccionamiento que incluye al menos una herramienta de entre la predicción de señales espaciales, la síntesis de señales direccionales de subbanda y el decodificador de replicación de ambiente paramétrico.
5. El método de cualquiera de las reivindicaciones 1, 3-4 o el aparato de cualquiera de las reivindicaciones 2-4, en el que la información de capa incluye elementos NumLayers, en el que cada elemento indica un número de señales de transporte incluidas en todas las capas hasta una i-ésima capa.
6. El método de cualquiera de las reivindicaciones 1, 3-5 o el aparato de cualquiera de las reivindicaciones 2-5, en el que la información de capa incluye un indicador de todas las capas realmente utilizadas para una k-ésima trama.
7. El método de cualquiera de las reivindicaciones 1, 3-6 o el aparato de cualquiera de las reivindicaciones 2-6, en el que la información de capa indica que se especifican todos los coeficientes para los vectores predominantes.
8. El método de cualquiera de las reivindicaciones 1, 3-7 o el aparato de cualquiera de las reivindicaciones 2-7, en el que la información de capa indica que se especifican los coeficientes de los vectores predominantes correspondientes a un número mayor que MinNumOfCoeffsForAmbHOA.
9. El método de cualquiera de las reivindicaciones 1, 3-8 o el aparato de cualquiera de las reivindicaciones 2-8, en el que la información de capa indica MinNumOfCoeffsForAmbHOA y todos los elementos definidos en ContAdd HoaCoeff[lay] no se transmiten, en el que “lay” es el índice de capa que contiene la señal basada en vector correspondiente al vector.
ES16778366T 2015-10-08 2016-10-07 Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior Active ES2903247T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP15306591 2015-10-08
US201662361863P 2016-07-13 2016-07-13
PCT/EP2016/073971 WO2017060412A1 (en) 2015-10-08 2016-10-07 Layered coding and data structure for compressed higher-order ambisonics sound or sound field representations

Publications (1)

Publication Number Publication Date
ES2903247T3 true ES2903247T3 (es) 2022-03-31

Family

ID=54361028

Family Applications (1)

Application Number Title Priority Date Filing Date
ES16778366T Active ES2903247T3 (es) 2015-10-08 2016-10-07 Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior

Country Status (22)

Country Link
US (4) US10714099B2 (es)
EP (2) EP3926626B1 (es)
JP (2) JP6866362B2 (es)
KR (2) KR102537337B1 (es)
CN (6) CN116312576A (es)
AU (3) AU2016335091B2 (es)
BR (2) BR122022025224B1 (es)
CA (3) CA3228657A1 (es)
CL (1) CL2018000887A1 (es)
CO (1) CO2018004868A2 (es)
EA (1) EA035064B1 (es)
ES (1) ES2903247T3 (es)
HK (2) HK1250586A1 (es)
IL (3) IL290796B2 (es)
MA (1) MA45880B1 (es)
MX (2) MX2018004166A (es)
MY (1) MY188894A (es)
PH (1) PH12018500704A1 (es)
SA (1) SA518391264B1 (es)
SG (1) SG10202001597WA (es)
WO (1) WO2017060412A1 (es)
ZA (3) ZA201802540B (es)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116312576A (zh) * 2015-10-08 2023-06-23 杜比国际公司 声音或声场的压缩hoa表示的解码方法和装置
US10075802B1 (en) 2017-08-08 2018-09-11 Qualcomm Incorporated Bitrate allocation for higher order ambisonic audio data
US11270711B2 (en) 2017-12-21 2022-03-08 Qualcomm Incorproated Higher order ambisonic audio data
US10657974B2 (en) 2017-12-21 2020-05-19 Qualcomm Incorporated Priority information for higher order ambisonic audio data
JP6849007B2 (ja) 2018-04-12 2021-03-24 三生医薬株式会社 造粒組成物、及びその製造方法
US20210409888A1 (en) * 2020-06-29 2021-12-30 Qualcomm Incorporated Sound field adjustment

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003241799A (ja) 2002-02-15 2003-08-29 Nippon Telegr & Teleph Corp <Ntt> 音響符号化方法、復号化方法、符号化装置、復号化装置及び符号化プログラム、復号化プログラム
US7177804B2 (en) 2005-05-31 2007-02-13 Microsoft Corporation Sub-band voice codec with multi-stage codebooks and redundant coding
ATE442645T1 (de) 2006-02-06 2009-09-15 France Telecom Verfahren und vorrichtung zur hierarchischen kodierung eines quelltonsignals sowie entsprechendes decodierverfahren und gerät, programme und signal
AU2009267459B2 (en) 2008-07-11 2014-01-23 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
CA2871268C (en) 2008-07-11 2015-11-03 Nikolaus Rettelbach Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program
US20110320193A1 (en) 2009-03-13 2011-12-29 Panasonic Corporation Speech encoding device, speech decoding device, speech encoding method, and speech decoding method
BR122021008581B1 (pt) 2010-01-12 2022-08-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio, e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo
EP2395505A1 (en) 2010-06-11 2011-12-14 Thomson Licensing Method and apparatus for searching in a layered hierarchical bit stream followed by replay, said bit stream including a base layer and at least one enhancement layer
EP2469741A1 (en) * 2010-12-21 2012-06-27 Thomson Licensing Method and apparatus for encoding and decoding successive frames of an ambisonics representation of a 2- or 3-dimensional sound field
TWI505262B (zh) * 2012-05-15 2015-10-21 Dolby Int Ab 具多重子流之多通道音頻信號的有效編碼與解碼
US9460729B2 (en) 2012-09-21 2016-10-04 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
US9613660B2 (en) 2013-04-05 2017-04-04 Dts, Inc. Layered audio reconstruction system
US9716959B2 (en) * 2013-05-29 2017-07-25 Qualcomm Incorporated Compensating for error in decomposed representations of sound fields
US9691406B2 (en) 2013-06-05 2017-06-27 Dolby Laboratories Licensing Corporation Method for encoding audio signals, apparatus for encoding audio signals, method for decoding audio signals and apparatus for decoding audio signals
US20150194157A1 (en) * 2014-01-06 2015-07-09 Nvidia Corporation System, method, and computer program product for artifact reduction in high-frequency regeneration audio signals
US9922656B2 (en) * 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
CN109410962B (zh) * 2014-03-21 2023-06-06 杜比国际公司 用于对压缩的hoa信号进行解码的方法、装置和存储介质
KR102201726B1 (ko) * 2014-03-21 2021-01-12 돌비 인터네셔널 에이비 고차 앰비소닉스(hoa) 신호를 압축하는 방법, 압축된 hoa 신호를 압축 해제하는 방법, hoa 신호를 압축하기 위한 장치, 및 압축된 hoa 신호를 압축 해제하기 위한 장치
EP2922057A1 (en) * 2014-03-21 2015-09-23 Thomson Licensing Method for compressing a Higher Order Ambisonics (HOA) signal, method for decompressing a compressed HOA signal, apparatus for compressing a HOA signal, and apparatus for decompressing a compressed HOA signal
CN116312576A (zh) * 2015-10-08 2023-06-23 杜比国际公司 声音或声场的压缩hoa表示的解码方法和装置

Also Published As

Publication number Publication date
ZA201802540B (en) 2020-08-26
IL258362A (en) 2018-05-31
IL290796A (en) 2022-04-01
US20210035588A1 (en) 2021-02-04
MA45880B1 (fr) 2022-01-31
KR20230079239A (ko) 2023-06-05
HK1251712A1 (zh) 2019-02-01
CN116913291A (zh) 2023-10-20
US11955130B2 (en) 2024-04-09
CN116312576A (zh) 2023-06-23
BR122019018870A8 (es) 2022-09-13
CN108140390A (zh) 2018-06-08
US20220284907A1 (en) 2022-09-08
JP2021107937A (ja) 2021-07-29
CL2018000887A1 (es) 2018-07-06
ZA202001987B (en) 2022-12-21
US11373661B2 (en) 2022-06-28
CA3228657A1 (en) 2017-04-13
CN116913292A (zh) 2023-10-20
IL290796B1 (en) 2023-06-01
MA45880A (fr) 2018-08-15
MY188894A (en) 2022-01-12
AU2021269310A1 (en) 2021-12-09
IL258362B (en) 2022-04-01
HK1250586A1 (zh) 2019-01-04
CA3000781C (en) 2024-03-12
BR122022025233B1 (pt) 2023-04-18
CA3228629A1 (en) 2017-04-13
JP2018530000A (ja) 2018-10-11
AU2016335091B2 (en) 2021-08-19
CO2018004868A2 (es) 2018-08-10
JP7258072B2 (ja) 2023-04-14
IL290796B2 (en) 2023-10-01
PH12018500704B1 (en) 2018-10-15
BR112018007171A2 (pt) 2018-10-16
EP3360134A1 (en) 2018-08-15
IL302588A (en) 2023-07-01
CA3000781A1 (en) 2017-04-13
SA518391264B1 (ar) 2021-10-06
MX2018004166A (es) 2018-08-01
SG10202001597WA (en) 2020-04-29
US20180268827A1 (en) 2018-09-20
EA201890845A1 (ru) 2018-10-31
EP3926626B1 (en) 2024-05-22
CN108140390B (zh) 2023-06-09
CN116959460A (zh) 2023-10-27
EP3360134B1 (en) 2021-12-01
ZA202204514B (en) 2023-11-29
JP2023082173A (ja) 2023-06-13
BR122019018870A2 (pt) 2018-10-16
CN116312575A (zh) 2023-06-23
AU2021269310B2 (en) 2023-11-16
AU2016335091A1 (en) 2018-05-10
JP6866362B2 (ja) 2021-04-28
MX2021002517A (es) 2021-04-28
BR122022025224B1 (pt) 2023-04-18
EA035064B1 (ru) 2020-04-23
PH12018500704A1 (en) 2018-10-15
US10714099B2 (en) 2020-07-14
EP3926626A1 (en) 2021-12-22
KR102537337B1 (ko) 2023-05-26
AU2024200839A1 (en) 2024-02-29
WO2017060412A1 (en) 2017-04-13
US20240177718A1 (en) 2024-05-30
KR20180063279A (ko) 2018-06-11

Similar Documents

Publication Publication Date Title
ES2903247T3 (es) Codificación en capas y estructura de datos para representaciones comprimidas de campo sonoro o sonido ambisónico de orden superior
ES2900070T3 (es) Codificación en capas para representaciones de sonido o de campo sonido comprimidas
ES2918523T3 (es) Codificación HOA en capas para representaciones comprimidas de sonido o campo de sonido
BR112018007171B1 (pt) Método para decodificar uma representação ambissônica de ordem superior compactada de um som ou campo sonoro
BR122020023384B1 (pt) Aparelho para decodificar uma representação ambissônica de ordem superior compactada de um som ou campo sonoro
BR122020023376B1 (pt) Aparelho para decodificar uma representação ambissônica de ordem superior (hoa) compactada
BR122019018870B1 (pt) Método para decodificar uma representação ambissônica de ordem superior compactada de um som ou campo sonoro e mídia legível por computador não transitória
OA18601A (en) Layered coding and data structure for compressed higher-order ambisonics sound or sound field representations.