ES2463840T3 - Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa - Google Patents

Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa Download PDF

Info

Publication number
ES2463840T3
ES2463840T3 ES10776017.5T ES10776017T ES2463840T3 ES 2463840 T3 ES2463840 T3 ES 2463840T3 ES 10776017 T ES10776017 T ES 10776017T ES 2463840 T3 ES2463840 T3 ES 2463840T3
Authority
ES
Spain
Prior art keywords
audio
block
transform
frame
coefficients
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
ES10776017.5T
Other languages
English (en)
Inventor
Kamalanathan Ramamoorthy
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 Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Application granted granted Critical
Publication of ES2463840T3 publication Critical patent/ES2463840T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/008Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0212Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using orthogonal transformation

Abstract

Un método para descodificar una trama de una señal de audio digital codificada, en el que: * la trama comprende metadatos de trama, un primer bloque de audio y uno o más bloques de audio subsiguientes; y * cada uno del primer bloque de audio y los subsiguientes comprende metadatos de bloque y datos de audio codificados para dos o más canales de audio, en el que: - los datos de audio codificados comprenden factores de escala y valores a escala que representan el contenido espectral de los dos o más canales de audio, estando cada valor a escala asociado con uno de los factores de escala respectivo; y - los metadatos de bloque comprenden información de control que describe las herramientas de control usadas por un proceso de codificación que produjo los datos de audio codificados, incluyendo las herramientas de control procesamiento de transformada híbrida adaptativa que comprende: · aplicar un banco de filtros de análisis implementado por una transformada primaria a los dos o más canales de audio para generar coeficientes de la transformada primaria, y · aplicar una transformada secundaria a los coeficientes de la transformada primaria para al menos alguno de los dos o más canales de audio para generar coeficientes de la transformada híbrida; y en el que el método comprende: (A) recibir la trama de la señal de audio digital codificada; y (B) examinar la señal de audio digital codificada de la trama en una única pasada para descodificar los datos de audio codificados para cada bloque de audio en orden por bloque, en el que la descodificación de cada bloque de audio respectivo comprende: (1) determinar para cada canal respectivo de los dos o más canales si el proceso de codificación usó procesamiento de transformada híbrida adaptativa para codificar cualquiera de los datos de audio codificados; (2) si el proceso de codificación usó el procesamiento de transformada híbrida adaptativa para el canal respectivo: (a) si el bloque de audio respectivo es el primer bloque de audio de la trama: (i) obtener todos los coeficientes de la transformada híbrida del canal respectivo para la trama a partir de los datos de audio codificados del primer bloque de audio, y (ii) aplicar una transformada secundaria inversa a los coeficientes de la transformada híbrida para obtener coeficientes de la transformada secundaria inversa, y (b) obtener coeficientes de la transformada primaria a partir de los coeficientes de la transformada secundaria para el canal respectivo del bloque de audio respectivo; (3) si el proceso de codificación no usó el procesamiento de transformada híbrida adaptativa para el canal respectivo, obtener coeficientes de la transformada primaria para el canal respectivo descodificando los datos codificados del bloque de audio respectivo; y (C) aplicar una transformada primaria inversa a los coeficientes de la transformada primaria para generar una señal de salida que representa el canal respectivo del bloque de audio respectivo.

Description

Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa
5 Referencia cruzada a solicitudes relacionadas
Esta solicitud reivindica prioridad respecto a la solicitud provisional de patente de Estados Unidos nº 61/267.422 presentada el 7 de diciembre de 2009.
Campo técnico
La presente invención se refiere en general a sistemas de codificación de audio y se refiere más específicamente a métodos y dispositivos que decodifican señales digitales de audio codificadas.
15 Técnica antecedente
El United States Advanced Television Systems Committee (ATSC), Inc., que fue formado por organizaciones miembros del Joint Committee on InterSociety Coordination (JCIC), desarrolló un conjunto coordinado de estándares nacionales para el desarrollo de los servicios de la televisión nacional de EE.UU. Estos estándares, incluyendo estándares relevantes de codificación/descodificación de audio, se exponen en varios documentos incluyendo el Documento A/52B titulado “Digital Audio Compression Standard (AC-3, E-AC-3)”, Revisión B, publicado el 14 de junio de 2005. El algoritmo de codificación de audio especificado en el documento A/52B se denomina “AC-3”. Una versión mejorada de este algoritmo, que se describe en el Anexo E del documento, se denomina “E-AC-3”. Estos dos algoritmos se denominan en este documento como “AC-3” y los estándares pertinentes se denominan en este
25 documento como los “estándares ATSC”.
El documento A/52B no especifica muchos aspectos de diseño del algoritmo sino que, más bien, describe una “sintaxis del tren de bits” que define características estructurales y sintácticas de la información codificada que un descodificador compatible debe ser capaz de descodificar. Muchas aplicaciones que cumplen los estándares ATSC transmitirán información de audio digital codificada como datos binarios en serie. Como resultado, los datos codificados a menudo se denominan como tren de bits pero son permisibles otras disposiciones de los datos. Por facilidad de discusión, el término “tren de bits” se usa en este documento para denominar una señal de audio digital codificada independientemente del formato o la técnica de grabación o transmisión que se use.
35 Un tren de bits que cumpla los estándares ATSC está dispuesto en una serie de “tramas de sincronización”. Cada trama es una unidad del tren de bits que es capaz de ser totalmente descodificada en uno o más canales de datos de audio digital modulados por impulsos codificados (PCM). Cada trama incluye “bloques de audio” y metadatos de trama que están asociados con los bloques de audio. Cada uno de los bloques de audio contiene datos de audio codificado que representan muestras de audio digital para uno o más canales de audio y metadatos de bloque asociados a los datos de audio codificados.
Aunque los detalles del diseño algorítmico no se especifican en los estándares ATSC, ciertas características algorítmicas han sido ampliamente adoptadas por los fabricantes de equipo profesional y para el consumidor. Una característica universal de implementación para los descodificadores que pueden descodificar trenes de bits AC-3
45 mejorado generados por codificadores E-AC-3 es un algoritmo que descodifica todos los datos codificados en una trama para un canal respectivo antes de descodificar los datos para otro canal. Este planteamiento se ha usado para mejorar el rendimiento de las implementaciones en procesadores de un solo chip que tienen poca memoria integrada en el chip porque algunos procesos de descodificación requieren datos para un canal dado procedentes de cada uno de los bloques de audio de una trama. Procesando los datos codificados en el orden del canal, las operaciones de descodificación pueden realizarse usando la memoria integrada en el chip para un canal particular. Los datos del canal descodificados pueden ser transferidos posteriormente a memoria externa al chip para liberar recursos integrados en el chip para el siguiente canal.
Un tren de bits que cumpla los estándares ATSC puede ser muy complejo porque es posible un gran número de
55 variaciones. Unos pocos ejemplos aquí mencionados sólo incluyen brevemente acoplamiento de canales, rematrización de canales, normalización de diálogo, compresión de gama dinámica, submezcla de canales y conmutación de longitud de bloque para trenes de bits AC-3 estándar, y múltiples trenes independientes, subtrenes dependientes, extensión espectral y transformación híbrida adaptativa para trenes de bits AC-3 mejorado. Los detalles para estas características pueden obtenerse del documento A/52B.
Procesando cada canal independientemente, pueden simplificarse los algoritmos requeridos para estas variaciones. Los procesos complejos subsiguientes como el filtrado de síntesis pueden realizarse sin preocupación para estas variaciones. Los algoritmos más sencillos parecerían proporcionar un beneficio al reducir los recursos computacionales necesarios para procesar una trama de datos de audio.
65 Por desgracia, este planteamiento requiere que el algoritmo de descodificación lea y examine datos en todos los bloques de audio dos veces. Cada iteración de lectura y examen de datos de bloques de audio en una trama se denomina en este documento como una “pasada” sobre los bloques de audio. La primera pasada realiza cálculos extensivos para determinar la ubicación de los datos de audio descodificados en cada bloque. La segunda pasada realiza muchos de estos mismos cálculos a medida que realiza los procesos de descodificación. Ambas pasadas
5 requieren considerables recursos computacionales para calcular las ubicaciones de los datos. Si puede eliminarse la pasada inicial, puede ser posible reducir los recursos totales de procesamiento necesarios para descodificar una trama de datos de audio.
Exposición de la invención
Un objeto de la presente invención es reducir los recursos computacionales requeridos para descodificar una trama de datos de audio en trenes de bits codificados dispuestos en unidades jerárquicas como las tramas y los bloques de audio mencionados anteriormente. El texto precedente y la siguiente descripción se refieren a trenes de bits codificados que cumplen los estándares ATSC pero la presente invención no está limitada al uso sólo con estos
15 trenes de bits. Los principios de la presente invención pueden aplicarse esencialmente a cualquier tren de bits codificado que tenga características estructurales similares a las tramas, bloques y canales usados en algoritmos de codificación AC-3.
Según un aspecto de la presente invención, que se define por las reivindicaciones adjuntas, un método descodifica una trama de una señal de audio digital codificada recibiendo la trama y examinando la señal de audio digital codificada en una única pasada para descodificar los datos de audio codificados para cada bloque de audio en orden por bloque. Cada trama comprende metadatos de trama y una pluralidad de bloques de audio. Cada bloque de audio comprende metadatos de bloque y datos de audio codificados para uno o más canales de audio. Los metadatos de bloque comprenden información de control que describe las herramientas de codificación usadas por 25 un proceso de codificación que produjo los datos de audio codificados. Una de las herramientas de codificación es el procesamiento de transformada híbrida que aplica un banco de filtros de análisis implementado por una transformada primaria a uno o más canales de audio para generar coeficientes espectrales que representan el contenido espectral del uno o más canales de audio, y aplica una transformada secundaria a los coeficientes espectrales para al menos algunos del uno o más canales de audio para generar coeficientes de la transformada híbrida. La descodificación de cada bloque de audio determina si el proceso de codificación usó procesamiento de transformada híbrida adaptativa para codificar cualquiera de los datos de audio codificados. Si el proceso de codificación usó procesamiento de transformada híbrida adaptativa, el método obtiene todos los coeficientes de la transformada híbrida para la trama a partir de los datos de audio codificados en el primer bloque de audio en la trama y aplica una transformada secundaria inversa a los coeficientes de la transformada híbrida para obtener
35 coeficientes de la transformada secundaria inversa y obtiene coeficientes espectrales a partir de los coeficientes de la transformada secundaria inversa. Si el proceso de codificación no usó procesamiento de transformada híbrida adaptativa, los coeficientes espectrales se obtienen a partir de los datos de audio codificados en el bloque de audio respectivo. Se aplica una transformada primaria inversa a los coeficientes espectrales para generar una señal de salida que representa el uno o más canales en el bloque de audio respectivo.
Las diversas características de la presente invención y sus realizaciones preferentes pueden entenderse mejor haciendo referencia a la siguiente discusión y los dibujos adjuntos en los que los mismos números de referencia se refieren a los mismos elementos en las varias figuras. Los contenidos de la siguiente discusión y los dibujos se presentan únicamente como ejemplos y no debería entenderse que representan limitaciones sobre el ámbito de la
45 presente invención.
Breve descripción de los dibujos
La figura 1 es un diagrama de bloques esquemático de implementaciones ejemplares de un codificador.
La figura 2 es un diagrama de bloques esquemático de implementaciones ejemplares de un descodificador.
Las figuras 3A y 3B son ilustraciones esquemáticas de tramas en trenes de bits que cumplen las estructuras sintácticas estándar y mejoradas.
55 Las figuras 4A y 4B son ilustraciones esquemáticas de bloques de audio que cumplen las estructuras sintácticas estándar y mejoradas.
Las figuras 5A a 5C son ilustraciones esquemáticas de trenes de bits ejemplares que contienen datos con extensiones de programa y de canal.
La figura 6 es un diagrama de bloques esquemático de un proceso ejemplar implementado por un descodificador que procesa datos de audio codificados en el orden del canal.
65 La figura 7 es un diagrama de bloques esquemático de un proceso ejemplar implementado por un descodificador que procesa datos de audio codificados en el orden del bloque.
La figura 8 es un diagrama de bloques esquemático de un dispositivo que puede usarse para implementar diversos aspectos de la presente invención.
5 Modos de llevar a cabo la invención
A. Visión general del sistema de codificación
Las figuras 1 y 2 son diagramas de bloques esquemáticos de implementaciones ejemplares de un codificador y un descodificador para un sistema de codificación de audio en el que el descodificador puede incorporar diversos aspectos de la presente invención. Estas implementaciones se ajustan a lo que se desvela en el documento A/52B citado anteriormente.
El propósito del sistema de codificación es generar una representación codificada de señales de audio de entrada
15 que puede ser grabada o transmitida y descodificada posteriormente para producir señales de audio de salida que suenan esencialmente idénticas a las señales de audio de entrada en tanto que usando una cantidad mínima de información digital para representar la señal codificada. Los sistemas de codificación que cumplen los estándares ATSC básicos son capaces de codificar y descodificar información que puede representar desde uno a los denominados 5.1 canales de señales de audio, donde se entiende que 5.1 quiere decir cinco canales que pueden transportar señales de ancho de banda completo y un canal de ancho de banda limitado que está pensado para transportar señales para efectos de baja frecuencia (LFE).
Las siguientes secciones describen implementaciones del codificador y el descodificador, y algunos detalles de la estructura del tren de bits codificado y los procesos de codificación y descodificación relacionados. Estas
25 descripciones se proporcionan de manera que los diversos aspectos de la presente invención puedan describirse de manera más sucinta y entenderse más claramente.
1. Codificador
Haciendo referencia a la implementación ejemplar de la figura 1, el codificador recibe una serie de muestras moduladas por impulsos codificados (PCM) que representan uno o más canales de entrada de señales de audio procedentes del trayecto de la señal de entrada 1, y aplica un banco de filtros de análisis 2 a la serie de muestras para generar valores digitales que representan la composición espectral de las señales de audio de entrada. Para las realizaciones que cumplen los estándares ATSC, el banco de filtros de análisis está implementado por una
35 Transformada Discreta del Coseno Modificada (MDCT) descrita en el documento A/52B. La MDCT se aplica a segmentos o bloques superpuestos de muestras para cada canal de entrada de la señal de audio para generar bloques de coeficientes de la transformada que representan la composición espectral de esa señal de canal de entrada. La MDCT es parte de un sistema de análisis/síntesis que usa funciones de ventana especialmente diseñadas y procesos de superposición/adición para cancelar el solapamiento en el dominio del tiempo. Los coeficientes de la transformada en cada bloque se expresan en forma de coma flotante de bloque (BFP) que comprende exponentes de coma flotante y mantisas. Esta descripción se refiere a datos de audio expresados como exponentes de coma flotante y mantisas porque esta forma de representación se usa en trenes de bits que cumplen los estándares ATSC; sin embargo, esta representación particular es simplemente un ejemplo de representaciones numéricas que usan factores de escala y valores a escala asociados.
45 Los exponentes de BFP para cada bloque proporcionan conjuntamente una envolvente espectral aproximada para la señal de audio de entrada. Estos exponentes son codificados por modulación delta y otras técnicas de codificación para reducir las necesidades de información, pasados al formateador 5, e introducidos en un modelo psicoacústico para estimar el umbral de enmascaramiento psicoacústico de la señal que se codifica. Los resultados del modelo son usados por el asignador de bits 3 para asignar información digital en forma de bits para la cuantificación de las mantisas de tal manera que el nivel de ruido producido por la cuantificación se mantenga por debajo del umbral de enmascaramiento psicoacústico de la señal que se codifica. El cuantificador 4 cuantifica las mantisas según las asignaciones de bits recibidas del asignador de bits 3 y pasadas al formateador 5.
55 El formateador 5 multiplexa o ensambla los exponentes codificados, las mantisas cuantificadas y otra información de control, a veces denominada como metadatos de bloque, en bloques de audio. Los datos para seis bloques de audio sucesivos se ensamblan en unidades de información digital llamadas tramas. Las propias tramas también contienen información de control o metadatos de trama. La información codificada para tramas sucesivas se genera como un tren de bits a lo largo del trayecto 6 para la grabación en un medio de almacenamiento de información o para la transmisión a lo largo de un canal de comunicación. Para los codificadores que cumplen los estándares ATSC, el formato de cada trama del tren de bits cumple la sintaxis especificada en el documento A/52B.
Los algoritmos de codificación usados por los codificadores típicos que cumplen los estándares ATSC son más complicados que el que se ilustra en la figura 1 y se describió anteriormente. Por ejemplo, se insertan códigos de 65 detección de errores dentro de las tramas para permitir que un descodificador de recepción valide el tren de bits. Puede usarse una técnica de codificación conocida como conmutación de longitud de bloque, a veces denominada
de manera más sencilla como conmutación de bloques, para adaptar la resolución temporal y espectral del banco de filtros de análisis para optimizar su rendimiento con características cambiantes de la señal. Los exponentes de coma flotante pueden codificarse con resolución variable de tiempo y frecuencia. Pueden combinarse dos o más canales en una representación compuesta usando una técnica de codificación conocida como acoplamiento de canales. Otra
5 técnica de codificación conocida como rematrización de canales puede usarse de manera adaptativa para señales de audio de dos canales. Pueden usarse técnicas de codificación adicionales que no se mencionan aquí. Unas pocas de estas otras técnicas de codificación se analizan más adelante. Se omiten muchos otros detalles de implementación porque no son necesarios para entender la presente invención. Estos detalles pueden obtenerse del documento A/52B según se desee.
2. Descodificador
El descodificador realiza un algoritmo de descodificación que es esencialmente el inverso del algoritmo de codificación que se realizó en el codificador. Haciendo referencia a la implementación ejemplar de la figura 2, el
15 descodificador recibe un tren de bits codificado que representa una serie de tramas procedente del trayecto de la señal de entrada 11. El tren de bits codificado puede recuperarse de un medio de almacenamiento de información o recibirse de un canal de comunicación. El desformateador 12 desmultiplexa o desensambla la información codificada para cada trama en metadatos de trama y seis bloques de audio. Los bloques de audio se desensamblan en sus respectivos metadatos de bloque, exponentes codificados y mantisas cuantificadas. Los exponentes codificados son usados por un modelo psicoacústico en el asignador de bits 13 para asignar información digital en forma de bits para la descuantificación de las mantisas cuantificadas de la misma manera que se asignaron los bits en el codificador. El descuantificador 14 descuantifica las mantisas cuantificadas según las asignaciones de bits recibidas del asignador de bits 13 y pasa las mantisas descuantificadas al banco de filtros de síntesis 15. Los exponentes codificados son descodificados y pasados al banco de filtros de síntesis 15.
25 Los exponentes descodificados y las mantisas descuantificadas constituyen una representación en BFP del contenido espectral de la señal de audio de entrada tal como fue codificado por el codificador. El bando de filtros de síntesis 15 se aplica a la representación del contenido espectral para reconstruir una réplica inexacta de las señales de audio de entrada originales, que se pasa a lo largo del trayecto de la señal de salida 16. Para las realizaciones que cumplen los estándares ATSC, el banco de filtros de síntesis se implementa mediante una Transformada Discreta del Coseno Modificada Inversa (IMDCT) descrita en el documento A/52B. La IMDCT es parte de un sistema de análisis/síntesis antes mencionado brevemente que se aplica a bloques de coeficientes de la transformada para generar bloques de muestras de audio que se superponen y suman para cancelar el solapamiento en el dominio del tiempo.
35 El algoritmo de descodificación usado por los descodificadores típicos que cumplen los estándares ATSC es más complicado que el que se ilustra en la figura 2 y se describió anteriormente. Unas pocas técnicas de descodificación que son las inversas de las técnicas de codificación descritas anteriormente incluyen detección de errores para corrección u ocultación de errores, conmutación de longitud de bloque para adaptar la resolución temporal y espectral del banco de filtros de síntesis, desacoplamiento de canales para recuperar la información del canal de las representaciones compuestas acopladas, y operaciones de matriz para recuperación de representaciones de dos canales rematrizados. La información acerca de otras técnicas y detalles adicionales puede obtenerse del documento A/52B según se desee.
45 B. Estructura del tren de bits codificado
1. Trama
Un tren de bits codificado que cumpla los estándares ATSC comprende una serie de unidades de información codificadas llamadas “tramas de sincronización” que a veces se denominan de manera más sencilla como tramas. Tal como se mencionó anteriormente, cada trama contiene metadatos de trama y seis bloques de audio. Cada bloque de audio contiene metadatos de bloque y exponentes de BFP codificados y mantisas para un intervalo simultáneo de uno o más canales de señales de audio. La estructura para el tren de bits estándar se ilustra esquemáticamente en la figura 3A. La estructura para un tren de bits AC-3 mejorado tal como se describe en el
55 Anexo E del documento A/52B se ilustra en la figura 3B. La porción de cada tren de bits dentro del intervalo marcado desde SI hasta CRC es una trama.
Se incluye un patrón de bits especial o palabra de sincronización en la información de sincronización (SI) que está provista al comienzo de cada trama de manera que un descodificador pueda identificar el comienzo de una trama y mantener la sincronización de sus procesos de descodificación con el tren de bits codificado. Una sección de información de tren de bits (BSI) que sigue inmediatamente a la SI transporta parámetros que se necesitan por parte del algoritmo de descodificación para descodificar la trama. Por ejemplo, la BSI especifica el número, tipo y orden de los canales que están representados por información codificada en la trama, y la información de compresión de gama dinámica y de normalización de diálogo que ha de usarse por parte del descodificador. Cada trama contiene
65 seis bloques de audio (AB0 a AB5) que pueden estar seguidos por datos auxiliares (AUX) si se desea. La información de detección de errores en forma de una palabra de comprobación de redundancia cíclica (CRC) está provista al final de cada trama.
Una trama en el tren de bits AC-3 mejorado también contiene datos de trama de audio (AFRM) que contienen banderas y parámetros que pertenecen a técnicas de codificación adicionales que no están disponibles para su uso
5 en la codificación de un tren de bits estándar. Algunas de las técnicas adicionales incluyen el uso de extensión espectral (SPX), también conocida como replicación espectral, y transformada híbrida adaptativa (AHT). Más adelante se analizan diversas técnicas de codificación.
2. Bloques de audio
Cada bloque de audio contiene representaciones codificadas de exponentes de BFP y mantisas cuantificadas para 256 coeficientes de la transformada, y metadatos de bloque necesarios para descodificar los exponentes codificados y las mantisas cuantificadas. Esta estructura se ilustra esquemáticamente en la figura 4A. La estructura para el bloque de audio en un tren de bits AC-3 mejorado tal como se describe en el Anexo E del documento A/52B se
15 ilustra en la figura 4B. Aquí no se analiza una estructura de bloque de audio en una versión alternativa del tren de bits tal como se describe en el Anexo D del documento A/52B porque sus características únicas no guardan relación con la presente invención.
Algunos ejemplos de metadatos de bloque incluyen banderas y parámetros para conmutación de bloque (BLKSW), compresión de gama dinámica (DYNRNG), acoplamiento de canales, rematrización de canales (REMAT), técnica o estrategia de codificación de exponentes (EXOSTR) usada para codificar los exponentes de BFP, los exponentes de BFP codificados (EXP), información de asignación de bits (BA) para las mantisas, ajustes para asignación de bits conocida como información de asignación de bits delta (DBA), y las mantisas cuantificadas (MANT). Cada bloque de audio en un tren de bits AC-3 mejorado puede contener información para técnicas de codificación adicionales
25 incluyendo la extensión espectral (SPX).
3. Limitaciones del tren de bits
Los estándares ATSC imponen algunas limitaciones sobre los contenidos del tren de bits que guardan relación con la presente invención. Aquí se mencionan dos limitaciones: (1) el primer bloque de audio de la trama, el cual se denomina AB0, debe contener toda la información necesaria por el algoritmo de descodificación para empezar a descodificar todos los bloques de audio de la trama, y (2) siempre que el tren de bits empiece a transportar información codificada generada por acoplamiento de canales, el bloque de audio en el cual se usa en primer lugar acoplamiento de canales debe contener todos los parámetros necesarios para el desacoplamiento. Estas
35 características se analizan más adelante. La información acerca de otros procesos no analizados aquí puede obtenerse del documento A/52B.
C. Procesos y técnicas de codificación estándar
Los estándares ATSC describen un número de características sintácticas del tren de bits en cuanto a los procesos de codificación o “herramientas de codificación” que deben usarse para generar un tren de bits codificado. Un codificador no necesita emplear todas las herramientas de codificación pero un descodificador que cumpla el estándar debe poder responder a las herramientas de codificación que se consideren esenciales para la conformidad. Esta respuesta se implementa llevando a cabo una herramienta de descodificación apropiada que es
45 esencialmente la inversa de la herramienta de codificación correspondiente.
Algunas de las herramientas de descodificación son particularmente relevantes para la presente invención porque su uso o falta de uso afecta a cómo deberían implementarse los aspectos de la presente invención. En los siguientes párrafos se analizan brevemente unos pocos procesos de descodificación y unas pocas herramientas de descodificación. Se omiten diversos detalles y características opcionales. Las descripciones sólo pretenden proporcionar una introducción de alto nivel para quienes no están familiarizados con las técnicas y para refrescar la memoria de quienes pueden haber olvidado qué técnicas describen estos términos.
Si se desea, pueden obtenerse detalles adicionales del documento A/52B, y de la patente de EE.UU. 5.583.962
55 titulada “Encoder/Decoder for Multi-Dimensional Sound Fields”, de Davis y col., la cual fue concedida el 10 de diciembre de 1996.
1. Desempaquetado del tren de bits
Todos los descodificadores deben desempaquetar o desmultiplexar el tren de bits codificado para obtener parámetros y datos codificados. Este proceso está representado por el desformateador 12 analizado anteriormente. Este proceso es esencialmente uno que lee datos en el tren de bits entrante y copia porciones del tren de bits en registros, copia porciones en ubicaciones de memoria, o almacena punteros u otras referencias a los datos en el tren de bits que se almacenan en una memoria intermedia. Se requiere memoria para almacenar los datos y punteros y
65 puede alcanzarse un compromiso entre el almacenamiento de esta información para uso posterior o la relectura del tren de bits para obtener la información siempre que sea necesario.
2. Descodificación de exponentes
Los valores de todos los exponentes de BFP son necesarios para desempaquetar los datos de los bloques de audio
5 para cada trama porque estos valores indican indirectamente los números de bits que están asignados a las mantisas cuantificadas. Los valores de los exponentes del tren de bits son codificados, sin embargo, mediante técnicas de codificación diferencial que pueden aplicarse tanto a lo largo del tiempo como de la frecuencia. Como resultado, los datos que representan los exponentes codificados deben ser desempaquetados del tren de bits y descodificados antes de que puedan usarse para otros procesos de descodificación.
3. Procesamiento de asignación de bits
Cada una de las mantisas de BFP cuantificadas del tren de bits está representada por un número variable de bits que son una función de los exponentes de BFP y posiblemente otros metadatos contenidos en el tren de bits. Los
15 exponentes de BFP son introducidos en un modelo especificado, el cual calcula una asignación de bits para cada mantisa. Si un bloque de audio también contiene información de asignación de bits delta (DBA), esta información adicional se usa para ajustar la asignación de bits calculada por el modelo.
4. Procesamiento de mantisas
Las mantisas de BFP cuantificadas constituyen la mayoría de los datos en un tren de bits codificado. La asignación de bits se usa tanto para determinar la ubicación de cada mantisa en el tren de bits para desempaquetar como para seleccionar la función de descuantificación apropiada para obtener las mantisas descuantificadas. Algunos datos del tren de bits pueden representar múltiples mantisas por un único valor. En esta situación, se deduce un número
25 apropiado de mantisas a partir del único valor. Las mantisas que tienen una asignación igual a cero pueden reproducirse bien con un valor igual a cero o bien como un número pseudoaleatorio.
5. Desacoplamiento de canales
La técnica de codificación de acoplamiento de canales permite que un codificador represente múltiples canales de audio con menos datos. La técnica combina componentes espectrales procedentes de dos o más canales seleccionados, denominados como los canales acoplados, para formar un único canal de componentes espectrales compuestas, denominado como el canal de acoplamiento. Las componentes espectrales del canal de acoplamiento se representan en formato BFP. Un conjunto de factores de escala que describen la diferencia de energía entre el
35 canal de acoplamiento y cada canal acoplado, conocidos como coordenadas de acoplamiento, se deduce para cada uno de los canales acoplados y se incluye en el tren de bits codificado. El acoplamiento se usa sólo para una porción especificada del ancho de banda de cada canal.
Cuando se usa el acoplamiento de canales, según se indica por parámetros en el tren de bits, un descodificador usa una técnica de descodificación conocida como desacoplamiento de canales para deducir una réplica inexacta de los exponentes de BFP y las mantisas para cada canal acoplado a partir de las componentes espectrales del canal de acoplamiento y las coordenadas de acoplamiento. Esto se hace multiplicando cada componente espectral del canal acoplado por la coordenada de acoplamiento apropiada. Pueden obtenerse detalles adicionales del documento A/52B.
6. Rematrización de canales
La técnica de codificación de rematrización de canales permite que un codificador represente señales de dos canales con menos datos usando una matriz para convertir dos canales de audio independientes en canales suma y diferencia. El exponente de BFP y las mantisas normalmente empaquetados dentro de un tren de bits para los canales de audio izquierdo y derecho representan en cambio los canales suma y diferencia. Esta técnica puede usarse ventajosamente cuando los dos canales tienen un alto grado de similitud.
Cuando se usa la rematrización, tal como se indica por una bandera en el tren de bits, un descodificador obtiene
55 valores que representan los dos canales de audio aplicando una matriz apropiada a los valores de la suma y la diferencia. Pueden obtenerse detalles adicionales del documento A/52B.
D. Procesos y técnicas de codificación mejorada
El Anexo E del documento A/52B describe características de la sintaxis del tren de bits AC-3 mejorado que permite el uso de herramientas de codificación adicionales. A continuación se describen brevemente unas pocas de estas herramientas y los procesos relacionados.
1. Procesamiento de transformada híbrida adaptativa
65 La técnica de codificación de transformada híbrida adaptativa (AHT) proporciona otra herramienta además de la conmutación de bloques para adaptar la resolución temporal y espectral de los bancos de filtros de análisis y síntesis en respuesta a las características cambiantes de la señal aplicando dos transformadas en cascada. La información adicional para el procesamiento AHT puede obtenerse del documento A/52B y la patente de EE.UU. 7.516.064 titulada “Adaptive Hybrid Transform for Signal Analysis and Synthesis” de Vinton y col., la cual fue concedida el 7 de
5 abril de 2009.
Los codificadores emplean una transformada primaria implementada por la transformada de análisis MDCT mencionada anteriormente delante de, y en cascada con una transformada secundaria implementada por una Transformada Discreta del Coseno de Tipo II (DCT-II) La MDCT se aplica a bloques superpuestos de muestras de la señal de audio para generar coeficientes espectrales que representan el contenido espectral de la señal de audio. La DCT-II puede conectarse y desconectarse del trayecto de procesamiento de la señal según se desee y, cuando está conectada, se aplica a bloques no superpuestos de los coeficientes espectrales de la MDCT que representan la misma frecuencia para generar los coeficientes de la transformada híbrida. En el uso típico, la DCT-II se activa cuando se considera que la señal de audio de entrada es suficientemente estacionaria porque su uso aumenta
15 significativamente la resolución espectral efectiva del banco de filtros de análisis disminuyendo su resolución temporal efectiva de 256 muestras a 1536 muestras.
Los descodificadores emplean una transformada primaria inversa implementada por el banco de filtros de síntesis de IMDCT mencionado anteriormente que sigue y están en cascada con una transformada secundaria inversa implementada por una Transformada Discreta del Coseno Inversa de Tipo II (IDCT-II). La IDCT-II se conecta y desconecta del trayecto de procesamiento de la señal en respuesta a los metadatos proporcionados por el codificador. Cuando está conectada, la IDCT-II se aplica a bloques no superpuestos de los coeficientes de la transformada híbrida para obtener los coeficientes de la transformada secundaria inversa. Los coeficientes de la transformada secundaria inversa pueden ser coeficientes espectrales para introducción directa en la IMDCT si se
25 usó ninguna otra herramienta de codificación como acoplamiento de canales o SPX. Alternativamente, los coeficientes espectrales de la MDCT pueden deducirse a partir de los coeficientes de la transformada secundaria inversa si se usaron herramientas de codificación como acoplamiento de canales o SPX. Después de obtenerse los coeficientes espectrales de la MDCT, la IMDCT se aplica a bloques de los coeficientes espectrales de la MDCT de manera convencional.
La AHT puede usarse con cualquier canal de audio incluyendo el canal de acoplamiento y el canal de LFE. Un canal que es codificado usando la AHT usa un proceso de asignación de bits alternativo y dos tipos de cuantificación diferentes. Un tipo es la cuantificación vectorial (VQ) y el segundo tipo es la cuantificación adaptativa de ganancia (GAQ). La técnica GAQ se analiza en la patente de EE.UU. 6.246.345, titulada “Using Gain-Adaptive Quantization
35 and Non-Uniform Symbol Lengths for Improved Audio Coding”, de Davidson y col., que fue concedida el 12 de junio de 2001.
El uso de la AHT requiere que un descodificador deduzca varios parámetros a partir de información contenida en el tren de bits codificado. El documento A/52B describe cómo pueden calcularse estos parámetros. Un conjunto de parámetros especifican el número de veces que son transportados los exponentes de BFP en una trama y se deducen examinando los metadatos contenidos en todos los bloques de audio de una trama. Otros dos conjuntos de parámetros identifican qué mantisas de BFP son cuantificadas usando GAQ y proporcionan palabras de control de ganancia para los cuantificadores y se deducen examinando los metadatos para un canal en un bloque de audio.
45 Todos los coeficientes de la transformada híbrida para AHT están contenidos en el primer bloque de audio, AB0, de una trama. Si la AHT se aplica a un canal de acoplamiento, las coordenadas de acoplamiento para los coeficientes de la AHT se distribuyen por todos los bloques de audio de la misma manera que para los canales acoplados sin AHT. Más adelante se describe un proceso para ocuparse de esta situación.
2. Procesamiento de extensión espectral
La técnica de codificación de extensión espectral (SPX) permite que un codificador reduzca la cantidad de información necesaria para codificar un canal de ancho de banda completo excluyendo las componentes espectrales de alta frecuencia del tren de bits codificado y haciendo que el descodificador sintetice las componentes espectrales
55 desaparecidas de las componentes espectrales de frecuencia más baja que están contenidas en el tren de bits codificado.
Cuando se usa SPX, el descodificador sintetiza las componentes espectrales desaparecidas copiando los coeficientes de la MDCT de frecuencia más baja en ubicaciones de coeficientes de la MDCT de frecuencia más alta, añadiendo valores pseudoaleatorios o ruido a los coeficientes de la transformada copiados, y cambiando la escala de la amplitud según una envolvente espectral de SPX incluida en el tren de bits codificado. El codificador calcula la envolvente espectral de SPX y la inserta en el tren de bits codificado siempre que se use la herramienta de codificación SPX.
65 La técnica SPX se usa típicamente para sintetizar las bandas más altas de componentes espectrales para un canal. Puede usarse junto con acoplamiento de canales para un intervalo medio de frecuencias. Detalles adicionales del procesamiento pueden obtenerse del documento A/52B.
3. Extensiones de canales y de programas
5 La sintaxis del tren de bits AC-3 mejorado permite que un codificador genere un tren de bits codificado que representa un único programa con más de 5.1 canales (extensión de canales), dos o más programas con hasta 5.1 canales (extensión de programas), o una combinación de programas con hasta 5.1 canales y más de 5.1 canales. La extensión de programas se implementa mediante un múltiplex de tramas para múltiples trenes de datos independientes en un tren de bits codificado. La extensión de canales se implementa mediante un múltiplex de tramas para uno o más subtrenes de datos dependientes que están asociados con un tren de datos independiente en implementaciones preferidas para extensión de programas, se informa a un descodificador de qué programa o programas descodificar y el proceso de descodificación se salta o ignora esencialmente los trenes y subtrenes que representan programas que no han de ser descodificados.
15 Las figuras 5A a 5C ilustran tres ejemplos de trenes de bits que contienen datos con extensiones de programas y canales. La figura 5A ilustra un tren de bits ejemplar con extensión de canales. Un único programa P1 está representado por un tren independiente S0 y tres subtrenes dependientes asociados SS0, SS1 y SS2. Una trama Fn para el tren independiente S0 viene seguido inmediatamente por tramas Fn para cada uno de los subtrenes dependientes asociados SS0 a SS3. Estas tramas vienen seguidas por la siguiente trama Fn+1 para el tren independiente S0, que a su vez viene seguido inmediatamente por tramas Fn+1 para cada uno de los subtrenes dependientes asociados SS0 a SS2. La sintaxis del tren de bits AC-3 mejorado permite hasta ocho subtrenes dependientes para cada tren independiente.
La figura 5B ilustra un tren de bits ejemplar con extensión de programas. Cada uno de cuatro programas P1, P2, P3
25 y P4 está representado por trenes independientes S0, S1, S2 y S3, respectivamente. Una trama Fn para el tren independiente S0 viene seguida inmediatamente por tramas Fn para cada uno de los trenes independientes S1, S2 y S3. Estas tramas vienen seguidas por la siguiente trama Fn+1 para cada uno de los trenes independientes. La sintaxis del tren de bits AC-3 mejorado deben tener al menos un tren independiente y permite hasta ocho trenes independientes.
La figura 5C ilustra un tren de bits ejemplar con extensión de programas y extensión de canales. El programa P1 está representado por datos en el tren independiente S0, y el programa P2 está representado por datos en el tren independiente S1 y los subtrenes dependientes asociados SS0 y SS1. Una trama Fn para el tren independiente S0 viene seguida inmediatamente por la trama Fn para el tren independiente S1, que a su vez viene seguida
35 inmediatamente por tramas Fn para los subtrenes dependientes asociados SS0 y SS1. Estas tramas vienen seguidas por la siguiente trama Fn+1 para cada uno de los trenes independientes y los subtrenes dependientes.
Un tren independiente sin extensión de canales contiene datos que pueden representar hasta 5.1 canales de audio independientes. Un tren independiente con extensión de canales o, en otras palabras, un tren independiente que tiene uno o más subtrenes dependientes asociados, contiene datos que representan una submezcla de canales 5.1 de todos los canales para el programa. El término “submezcla” se refiere a una combinación de canales dentro de un número menor de canales. Esto se hace por compatibilidad con los descodificadores que no descodifican los subtrenes dependientes. Los subtrenes dependientes contienen datos que representan canales que o bien sustituyen o bien complementan los canales contenidos en el tren independiente asociado. La extensión de canales
45 permite hasta catorce canales para un programa.
Detalles adicionales de la sintaxis del tren de bits y el procesamiento asociado pueden obtenerse del documento A/52B.
E. Procesamiento de prioridad de bloques
Se requiere una lógica compleja para procesar y descodificar correctamente las muchas variaciones en la estructura del tren de bits que se producen cuando se usan diversas combinaciones de herramientas de codificación para generar el tren de bits codificado. Tal como se mencionó anteriormente, los detalles del diseño algorítmico no están
55 especificados en los estándares ATSC pero una característica universal de la implementación convencional de los descodificadores E-AC-3 es un algoritmo que descodifica todos los datos de una trama para un canal respectivo antes de descodificar los datos para otro canal. Este planteamiento tradicional reduce la cantidad de memoria onchip necesaria para descodificar el tren de bits pero también requiere múltiples pasadas sobre los datos en cada trama para leer y examinar los datos en todos los bloques de audio de la trama.
El planteamiento tradicional se ilustra esquemáticamente en la figura 6. La componente 19 analiza sintácticamente las tramas de un tren de bits codificado recibido del trayecto 1 y extrae los datos de las tramas en respuesta a señales de control recibidas del trayecto 20. El análisis sintáctico se logra mediante múltiples pasadas sobre los datos de la trama. Los datos extraídos de una trama están representados por casillas debajo de la componente 19. 65 Por ejemplo, la casilla con la etiqueta AB0-CH0 representa los datos extraídos para el canal 9 en el bloque de audio AB0 y la casilla con la etiqueta AB5-CH2 representa los datos extraídos para el canal 2 en el bloque de audio AB5.
Sólo se ilustran tres canales 0 a 2 y tres bloques de audio 0, 1 y 5 para simplificar el dibujo. La componente 19 también pasa los parámetros obtenidos de metadatos de trama a lo largo del trayecto 20 al canal que procesa las componentes 31, 32 y 33. Los trayectos de la señal y los conmutadores rotatorios a la izquierda de las casillas de datos representan la lógica realizada por los descodificadores tradicionales para procesar los datos de audio
5 codificados en orden por canal. La componente del canal de proceso 31 recibe datos y metadatos de audio codificados a través del conmutador rotatorio 21 para el canal CH0, empezando con el bloque de audio AB0 y concluyendo con el bloque de audio AB5, descodifica los datos y genera una señal de salida aplicando un banco de filtros de síntesis a los datos descodificados. Los resultados de su procesamiento se pasan a lo largo del trayecto 41. La componente del canal de proceso 32 recibe datos para el canal CH1 para los bloques de audio AB0 a AB5 a través del conmutador rotatorio 22, procesa los datos y pasa su salida a lo largo del trayecto 42. La componente del canal de proceso 33 recibe datos para el canal CH2 para los bloques de audio AB0 a AB5 a través del conmutador rotatorio 23, procesa los datos y pasa su salida a lo largo del trayecto 43.
Las aplicaciones de la presente invención pueden mejorar la eficiencia de procesamiento eliminando múltiples
15 pasadas sobre los datos de la trama en muchas situaciones. Se usan múltiples pasadas en algunas situaciones cuando se usan ciertas combinaciones de herramientas de codificación para generar el tren de bits codificado; sin embargo, los trenes de bits AC-3 mejorado generados por las combinaciones de herramientas de codificación analizadas más adelante pueden ser descodificados con una única pasada. Este nuevo planteamiento se ilustra esquemáticamente en la figura 7. La componente 19 analiza sintácticamente las tramas de un tren de bits codificado recibido del trayecto 1 y extrae los datos de las tramas en respuesta a señales de control recibidas del trayecto 20. En muchas situaciones, el análisis sintáctico se consigue mediante una única pasada sobre los datos de la trama. Los datos extraídos de una trama están representados por las casillas debajo de la componente 19 de la misma manera analizada anteriormente para la figura 6. La componente 19 pasa los parámetros obtenidos de metadatos de trama a lo largo del trayecto 20 al bloque que procesa las componentes 61, 62 y 63. La componente del bloque de
25 proceso 61 recibe datos y metadatos de audio codificados a través del conmutador rotatorio 51 para todos los canales del bloque de audio AB0, descodifica los datos y genera una señal de salida aplicando un banco de filtros de síntesis a los datos descodificados. Los resultados de su procesamiento para los canales CH0, CH1 y CH2 se pasan a través del conmutador rotatorio 71 al trayecto de salida apropiado 41, 42 y 43, respectivamente. La componente del bloque de proceso 62 recibe datos para todos los canales del bloque de audio AB1 a través del conmutador rotatorio 52, procesa los datos y pasa su salida a través del conmutador rotatorio 72 al trayecto de salida apropiado para cada canal. La componente del bloque de proceso 63 recibe datos para todos los canales del bloque de audio AB5 a través del conmutador rotatorio 53, procesa los datos y pasa su salida a través del conmutador rotatorio 73 al trayecto de salida apropiado para cada canal.
35 Más adelante se analizan diversos aspectos de la presente invención y se ilustran con fragmentos de programa. Estos fragmentos de programa no pretenden ser implementaciones prácticas u óptimas sino sólo ejemplos ilustrativos. Por ejemplo, el orden de las sentencias del programa puede alterarse intercambiando algunas de las sentencias.
1. Proceso general
En el siguiente fragmento de programa se muestra una ilustración de alto nivel de la presente invención:
(1.1) determinar el comienzo de una trama del tren de bits S 45 (1.2) para cada trama N del tren de bits S
(1.3) desempaquetar los metadatos de la trama N
(1.4) obtener los parámetros a partir de los metadatos de trama desempaquetados
(1.5) determinar el comienzo del primer bloque de audio K de la trama N
(1.6) para el bloque de audio K de la trama N
(1.7) desempaquetar los metadatos del bloque K
(1.8) obtener los parámetros a partir de los metadatos de bloque desempaquetados
(1.9) determinar el comienzo del primer canal C del bloque K
(1.10) para el canal C del bloque K
(1.11) desempaquetar y descodificar los exponentes 55 (1.12) desempaquetar y descuantificar las mantisas
(1.13) aplicar el filtro de síntesis a los datos de audio descodificados para el canal C
(1.14) determinar el comienzo del canal C+1 del bloque K
(1.15) fin para
(1.16) determinar el comienzo del bloque K+1 de la trama N
(1.17) fin para
(1.18) determinar el comienzo de la siguiente trama N+1 del tren de bits S
(1.19) fin para
La sentencia (1.1) escanea el tren de bits en busca de una cadena de bits que coincida con el patrón de
65 sincronización transportado en la información de SI. Cuando se encuentra el patrón de sincronización, se ha determinado el comienzo de una trama en el tren de bits.
Las sentencias (1.2) y (1.19) controlan el proceso de descodificación que ha de realizarse para cada trama del tren de bits, o hasta que el proceso de descodificación sea detenido por algún otro medio. Las sentencias (1.3) a (1.18) realizan procesos que descodifican una trama en el tren de bits codificado.
5 Las sentencias (1.3) a (1.5) desempaquetan los metadatos de la trama, obtienen parámetros de descodificación de los metadatos desempaquetados, y determinan la ubicación en el tren de bits donde empiezan los datos para el primer bloque de audio K de la trama. La sentencia (1.16) determina el comienzo del siguiente bloque de audio en el tren de bits si en la trama está algún bloque de audio subsiguiente.
Las sentencias (1.6) y (1.17) hacen que el proceso de descodificación se realice para cada bloque de audio de la trama. Las sentencias (1.7) a (1.15) realizan procesos que descodifican un bloque de audio de la trama. Las sentencias (1.7) a (1.9) desempaquetan los metadatos del bloque de audio, obtienen parámetros de descodificación de los metadatos desempaquetados, y determinan dónde empiezan los datos para el primer canal.
15 Las sentencias (1.10) y (1.15) hacen que el proceso de descodificación se realice para cada canal del bloque de audio. Las sentencias (1.11) a (1.13) desempaquetan y descodifican los exponentes, usan los exponentes descodificados para determinar la asignación de bits para desempaquetar y descuantificar cada mantisa cuantificada, y aplican el banco de filtros de síntesis a las mantisas descuantificadas. La sentencia (1.14) determina la ubicación en el tren de bits donde comienzan los datos para el siguiente canal, si en la trama está algún canal subsiguiente.
La estructura del proceso varía para adaptarse a diferentes técnicas de codificación usadas para generar el tren de bits codificado. En fragmentos de programa de más adelante se analizan e ilustran varias variaciones. Las
25 descripciones de los siguientes fragmentos de programa omiten algunos de los detalles que se describen para el fragmento de programa precedente.
2. Extensión espectral
Cuando se usa extensión espectral (SPX), el bloque de audio en el cual empieza el proceso de extensión contiene parámetros compartidos necesarios para la SPX en el bloque de audio inicial así como otros bloques de audio que usan SPX en la trama. Los parámetros compartidos incluyen una identificación de los canales que participan en el proceso, el intervalo de frecuencia de extensión espectral, y cómo se comparte la envolvente espectral de SPX para cada canal a lo largo del tiempo y la frecuencia. Estos parámetros son desempaquetados del bloque de audio que
35 empieza el uso de SPX y almacenados en memoria o en registros informáticos para su uso al procesar la SPX en los bloques de audio subsiguientes en la trama.
Es posible que una trama tenga más de un bloque de audio inicial para la SPX. Un bloque de audio empieza la SPX si los metadatos para ese bloque de audio indican que se usa SPX y, o bien los metadatos para el bloque de audio precedente en la trama indican que no se usa SPX, o bien el bloque de audio es el primer bloque de una trama.
Cada bloque de audio que usa SPX o bien incluye la envolvente espectral de SPX, denominada como coordenadas de SPX, que se usan para el procesamiento de extensión espectral en ese bloque de audio, o bien incluye una bandera de “reutilización” que indica que han de usarse las coordenadas de SPX para un bloque previo. Las
45 coordenadas de SPX en un bloque son desempaquetadas y conservadas para su posible reutilización por operaciones de SPX en bloques de audio subsiguientes.
El siguiente fragmento de programa ilustra un modo en que pueden procesarse los bloques de audio usando SPX.
(2.1) determinar el comienzo de una trama del tren de bits S
(2.2) para cada trama N del tren de bits S
(2.3) desempaquetar los metadatos de la trama N
(2.4) obtener los parámetros a partir de los metadatos de trama desempaquetados
(2.5) si están presentes parámetros de trama SPX entonces desempaquetar parámetros de trama SPX 55 (2.6) determinar el comienzo del primer bloque de audio K de la trama N
(2.7) para el bloque de audio K de la trama N
(2.8) desempaquetar los metadatos del bloque K
(2.9) obtener los parámetros a partir de los metadatos de bloque desempaquetados
(2.10) si están presentes parámetros de bloque SPX entonces desempaquetar parámetros de bloque SPX
(2.11) para el canal C del bloque K
(2.12) desempaquetar y descodificar los exponentes
(2.13) desempaquetar y descuantificar las mantisas
(2.14) si el canal C usa SPX entonces
(2.15) extender ancho de banda del canal C 65 (2.16) fin si
(2.17) aplicar el filtro de síntesis a los datos de audio descodificados para el canal C
(2.18) determinar el comienzo del canal C+1 del bloque K
(2.19) fin para
(2.20) determinar el comienzo del bloque K+1 de la trama N
(2.21) fin para 5 (2.22) determinar el comienzo de la siguiente trama N+1 del tren de bits S
(2.23) fin para
La sentencia (2.5) desempaqueta los parámetros de la trama SPX a partir de los metadatos de trama si está presente alguno en esos metadatos. La sentencia (2.10) desempaqueta los parámetros del bloque SPX a partir de los metadatos de bloque si está presente alguno en los metadatos de bloque. Los parámetros SPX del bloque pueden incluir las coordenadas de SPX para uno o más canales del bloque.
Las sentencias (2.12) y (2.13) desempaquetan y descodifican los exponentes y usan los exponentes descodificados para determinar la asignación de bits para desempaquetar y descuantificar cada mantisa cuantificada. La sentencia
15 (2.14) determina si el canal C del bloque de audio actual usa SPX. Si usa SPX, la sentencia (2.15) aplica procesamiento SPX para extender el ancho de banda del canal C. Este proceso proporciona las componentes espectrales para el canal C que se introducen en el banco de filtros de síntesis aplicado en la sentencia (2.17).
3. Transformada híbrida adaptativa
Cuando se usa la transformada híbrida adaptativa (AHT), el primer bloque de audio AB0 de una trama contiene todos los coeficientes de la transformada híbrida para cada canal procesado por la transformada DCT-II. Para todos los demás canales, cada uno de los seis bloques de audio de la trama contiene hasta 256 coeficientes espectrales generados por el banco de filtros de análisis MDCT.
25 Por ejemplo, un tren de bits codificado contiene datos para los canales izquierdo, central y derecho. Cuando los canales izquierdo y derecho son procesados por la AHT y el canal central no es procesado por la AHT, el bloque de audio AB0 contiene todos los coeficientes de la transformada híbrida para cada uno de los canales izquierdo y derecho y contiene hasta 256 coeficientes espectrales de MDCT para el canal central. Los bloques de audio AB1 a AB5 contienen coeficientes espectrales de MDCT para el canal central y no contienen coeficientes para los canales izquierdo y derecho.
El siguiente fragmento de programa ilustra un modo en que pueden procesarse los bloques de audio con coeficientes de la AHT.
(3.1) determinar el comienzo de una trama del tren de bits S
(3.2) para cada trama N del tren de bits S
(3.3) desempaquetar los metadatos de la trama N
(3.4) obtener los parámetros a partir de los metadatos de trama desempaquetados
(3.5) determinar el comienzo del primer bloque de audio K de la trama N
(3.6) para el bloque de audio K de la trama N
(3.7) desempaquetar los metadatos del bloque K
(3.8) obtener los parámetros a partir de los metadatos de bloque desempaquetados
(3.9) determinar el comienzo del primer canal C del bloque K 45 (3.10) para el canal C del bloque K
(3.11) si AHT está en uso para el canal C entonces
(3.12) si K=0 entonces
(3.13) desempaquetar y descodificar los exponentes
(3.14) desempaquetar y descuantificar las mantisas
(3.15) aplicar la transformada secundaria inversa a los exponentes y las mantisas
(3.16) almacenar exponentes y mantisas de MDTC en la memoria intermedia
(3.17) fin si
(3.18) obtener de la memoria intermedia exponentes y mantisas de MDTC para el bloque el K
(3.19) si no 55 (3.20) desempaquetar y descodificar los exponentes
(3.21) desempaquetar y descuantificar las mantisas
(3.22) fin si
(3.23) aplicar el filtro de síntesis a los datos de audio descodificados para el canal C
(3.24) determinar el comienzo del canal C+1 del bloque K
(3.25) fin para
(3.26) determinar el comienzo del bloque K+1 de la trama N
(3.27) fin para
(3.28) determinar el comienzo de la siguiente trama N+1 del tren de bits S
(3.29) fin para
65 La sentencia (3.11) determina si la AHT está en uso para el canal C. Si está en uso, la sentencia (3.12) determina si el primer bloque de audio AB0 está siendo procesado. Si el primer bloque de audio está siendo procesado, entonces las sentencias (3.13) a (3.16) obtienen todos los coeficientes de la AHT para el canal C, aplican la transformada secundaria inversa o IDCT-II a los coeficientes de la AHT para obtener los coeficientes espectrales de la MDCT, y los almacenan en una memoria intermedia. Estos coeficientes espectrales corresponden a los exponentes y las
5 mantisas descuantificadas que se obtienen mediante las sentencias (3.20) y (3.21) para los canales para los cuales no están en uso la AHT. La sentencia (3.18) obtiene los exponentes y las mantisas de los coeficientes espectrales de la MDCT que corresponden al bloque de audio K que está siendo procesado. Si el primer bloque de audio (K=0) está siendo procesado, por ejemplo, entonces se obtienen de la memoria intermedia los exponentes y las mantisas para el conjunto de coeficientes espectrales de MDCT para el primer bloque. Si el segundo bloque de audio (K=1) está siendo procesado, por ejemplo, entonces se obtienen de la memoria intermedia los exponentes y las mantisas para el conjunto de coeficientes espectrales de la MDCT para el segundo bloque.
4. Extensión espectral y transformada híbrida adaptativa
15 La SPX y la AHT pueden usarse para generar datos codificados para los mismos canales. La lógica analizada anteriormente por separado para el procesamiento de extensión espectral y transformada híbrida puede combinarse para procesar canales para los cuales está en uso la SPX, está en uso la AHT, o están en uso tano la SPX como la AHT.
El siguiente fragmento de programa ilustra un modo en que pueden procesarse los bloques de audio con coeficientes de la SPX y la AHT.
(4.1) comienzo de una trama del tren de bits S
(4.2) para cada trama N del tren de bits S 25 (4.3) desempaquetar los metadatos de la trama N
(4.4) obtener los parámetros a partir de los metadatos de trama desempaquetados
(4.5) si están presentes parámetros de trama SPX entonces desempaquetar parámetros de trama SPX
(4.6) determinar el comienzo del primer bloque de audio K de la trama N
(4.7) para el bloque de audio K de la trama N
(4.8) desempaquetar los metadatos del bloque K
(4.9) obtener los parámetros a partir de los metadatos de bloque desempaquetados
(4.10) si están presentes parámetros de bloque SPX entonces desempaquetar parámetros de bloque SPX
(4.11) para el canal C del bloque K
(4.12) si está en uso AHT para el canal C entonces 35 (4.13) si K=0 entonces
(4.14) desempaquetar y descodificar los exponentes
(4.15) desempaquetar y descuantificar las mantisas
(4.16) aplicar la transformada secundaria inversa a los exponentes y las mantisas
(4.17) almacenar exponentes y mantisas de transformada secundaria inversa en la memoria intermedia
(4.18) fin si
(4.19) obtener de la memoria intermedia exponentes y mantisas de transformada secundaria inversa para el bloque K
(4.20) si no
(4.21) desempaquetar y descodificar los exponentes
(4.22) desempaquetar y descuantificar las mantisas 45 (4.23) fin si
(4.24) si el canal C usa SPX entonces
(4.25) extender ancho de banda del canal C
(4.26) fin si
(4.27) aplicar el filtro de síntesis a los datos de audio descodificados para el canal C
(4.28) determinar el comienzo del canal C+1 del bloque K
(4.29) fin para
(4.30) determinar el comienzo del bloque K+1 de la trama N
(4.31) fin para
(4.32) determinar el comienzo de la siguiente trama N+1 del tren de bits S 55 (4.33) fin para
La sentencia (4.5) desempaqueta los parámetros de la trama SPX a partir de los metadatos de trama si está presente alguno en esos metadatos. La sentencia (4.10) desempaqueta los parámetros del bloque SPX a partir de los metadatos de bloque si está presente alguno en los metadatos de bloque. Los parámetros SPX del bloque pueden incluir las coordenadas de SPX para uno o más canales del bloque.
La sentencia (4.12) determina si la AHT está en uso para el canal C. Si la AHT está en uso para el canal C, la sentencia (4.13) determina si este es el primer bloque de audio. Si es el primer bloque de audio, las sentencias
(4.14) a (4.17) obtienen todos los coeficientes de la AHT para el canal C, aplican la transformada secundaria inversa
65 o la IDCT-II a los coeficientes de la AHT para obtener los coeficientes de la transformada secundaria inversa, y los almacenan en una memoria intermedia. La sentencia (4.19) obtiene los exponentes y las mantisas de los coeficientes de la transformada secundaria inversa que corresponden al bloque de audio K que está siendo procesado.
Si la AHT no está en uso para el canal C, las sentencias (4.21) y (4.22) desempaquetan y obtienen los exponentes y 5 las mantisas para el canal C del bloque K tal como se analizó anteriormente para las sentencias de programa (1.11) y (1.12).
La sentencia (4.24) determina si el canal C del bloque de audio actual usa SPX. Si usa SPX, la sentencia (4.25) aplica procesamiento SPX a los coeficientes de la transformada secundaria inversa para extender el ancho de banda, obteniendo así los coeficientes espectrales de la MDCT del canal C. Este proceso proporciona las componentes espectrales para el canal C que se introducen en el banco de filtros de síntesis aplicado en la sentencia (4.27). Si no se usa el procesamiento SPX para el canal C, los coeficientes espectrales de la MDCT se obtienen directamente de los coeficientes de la transformada secundaria inversa.
15 5. Acoplamiento y transformada híbrida adaptativa
El acoplamiento de canales y la AHT pueden usarse para generar datos codificados para los mismos canales. Esencialmente, la misma lógica analizada anteriormente para el procesamiento de extensión espectral y transformada híbrida puede usarse para procesar trenes de bits usando acoplamiento de canales y la AHT porque los detalles del procesamiento SPX analizados anteriormente se aplican al procesamiento realizado para acoplamiento de canales.
El siguiente fragmento de programa ilustra un modo en que pueden procesarse los bloques de audio con acoplamiento y coeficientes de AHT.
(5.1) comienzo de una trama del tren de bits S
(5.2) para cada trama N del tren de bits S
(5.3) desempaquetar los metadatos de la trama N
(5.4) obtener los parámetros a partir de los metadatos de trama desempaquetados
(5.5) si están presentes parámetros de trama de acoplamiento entonces desempaquetar parámetros de trama de acoplamiento
(5.6) determinar el comienzo del primer bloque de audio K de la trama N
(5.7) para el bloque de audio K de la trama N
(5.8) desempaquetar los metadatos del bloque K
(5.9) obtener los parámetros a partir de los metadatos de bloque desempaquetados 35 (5.10) si están presentes parámetros de bloque de acoplamiento entonces desempaquetar parámetros de bloque de acoplamiento
(5.11) para el canal C del bloque K
(5.12) si está en uso AHT para el canal C entonces
(5.13) si K=0 entonces
(5.14) desempaquetar y descodificar los exponentes
(5.15) desempaquetar y descuantificar las mantisas
(5.16) aplicar la transformada secundaria inversa a los exponentes y las mantisas
(5.17) almacenar exponentes y mantisas de transformada secundaria inversa en la memoria intermedia
(5.18) fin si
(5.19) obtener de la memoria intermedia exponentes y mantisas de transformada secundaria inversa para el bloque K 45 (5.20) si no
(5.21) desempaquetar y descodificar los exponentes para el canal C
(5.22) desempaquetar y descuantificar las mantisas para el canal C
(5.23) fin si
(5.24) si el canal C usa acoplamiento entonces
(5.25) si el canal C es el primer canal en usar acoplamiento entonces
(5.26) si está en uso AHT para el canal de acoplamiento entonces
(5.27) si K=0 entonces
(5.28) desempaquetar y descodificar los exponentes del canal de acoplamiento
(5.29) desempaquetar y descuantificar las mantisas del canal de acoplamiento 55 (5.30) aplicar la transformada secundaria inversa al canal de acoplamiento
(5.31) almacenar exponentes y mantisas de canal de acoplamiento de transformada secundaria inversa en la memoria intermedia
(5.32) fin si
(5.33) obtener de la memoria intermedia exponentes y mantisas de canal de acoplamiento para el bloque K
(5.34) si no
(5.35) desempaquetar y descodificar los exponentes del canal de acoplamiento
(5.36) desempaquetar y descuantificar las mantisas del canal de acoplamiento
(5.37) fin si
(5.38) fin si 65 (5.39) obtener el canal acoplado C del canal de acoplamiento
(5.40) fin si
(5.41) aplicar el filtro de síntesis a los datos de audio descodificados para el canal C
(5.42) determinar el comienzo del canal C+1 del bloque K
(5.43) fin para
(5.44) determinar el comienzo del canal C+1 del bloque K 5 (5.45) fin para
(5.46) determinar el comienzo de la siguiente trama N+1 del tren de bits S
(5.47) fin para
La sentencia (5.5) desempaqueta los parámetros de acoplamiento de canales a partir de los metadatos de trama si
10 está presente alguno en esos metadatos. La sentencia (5.10) desempaqueta los parámetros de acoplamiento de canales a partir de los metadatos de bloque si está presente alguno en los metadatos de bloque. Si están presentes, se obtienen las coordenadas de acoplamiento para los canales acoplados en el bloque.
La sentencia (5.12) determina si la AHT está en uso para el canal C. Si la AHT está en uso, la sentencia (5.13)
15 determina si es el primer bloque de audio. Si es el primer bloque de audio, las sentencias (5.14) a (5.17) obtienen todos los coeficientes de la AHT para el canal C, aplican la transformada secundaria inversa o la IDCT-II a los coeficientes de la AHT para obtener los coeficientes de la transformada secundaria inversa, y los almacenan en una memoria intermedia. La sentencia (5.19) obtiene los exponentes y las mantisas de los coeficientes de la transformada secundaria inversa que corresponden al bloque de audio K que está siendo procesado.
20 Si la AHT no está en uso para el canal C, las sentencias (5.21) y (5.22) desempaquetan y obtienen los exponentes y las mantisas para el canal C del bloque K tal como se analizó anteriormente para las sentencias de programa (1.11) y (1.12).
25 La sentencia (5.24) determina si el canal de acoplamiento está en uso para el canal C. Si está en uso, la sentencia
(5.25) determina si el canal C es el primer canal del bloque en usar acoplamiento. Si lo es, se obtienen los exponentes y las mantisas para el canal de acoplamiento o bien a partir de una aplicación de una transformada secundaria inversa a los exponentes y las mantisas del canal de acoplamiento tal como se muestra en las sentencias (5.26) a (5.33), o bien a partir de los datos del tren de bits tal como se muestra en las sentencias (5.35) y
30 (5.36). Los datos que representan las mantisas del canal de acoplamiento están situados en el tren de bits inmediatamente después de los datos que representan las mantisas del canal C. La sentencia (5.39) deduce el canal acoplado C a partir del canal de acoplamiento usando las coordenadas de acoplamiento apropiadas para el canal C. Si no se usa acoplamiento de canales para el canal C, los coeficientes espectrales de la MDCT se obtienen directamente de los coeficientes de la transformada secundaria inversa.
6. Extensión espectral, acoplamiento y transformada híbrida adaptativa
La extensión espectral, el acoplamiento de canales y la AHT pueden usarse todos para generar datos codificados para los mismos canales. La lógica analizada anteriormente para combinaciones de procesamiento AHT con
40 extensión espectral y acoplamiento puede combinarse para procesar canales usando cualquier combinación de las tres herramientas de codificación incorporando la lógica adicional necesaria para ocuparse de ocho situaciones posibles. El procesamiento para desacoplamiento de canales se realiza antes de realizar el procesamiento SPX.
F. Implementación
45 Los dispositivos que incorporan diversos aspectos de la presente invención pueden implementarse de diversas maneras incluyendo software para ejecución por un ordenador o algún otro dispositivo que incluya componentes más especializados tal como un sistema de circuitos de procesador de señales digitales (DSP) acoplado a componentes similares a los que se encuentran en un ordenador de propósito general. La figura 8 es un diagrama
50 de bloques esquemático de un dispositivo 90 que puede usarse para implementar aspectos de la presente invención. El procesador 92 proporciona recursos informáticos. La RAM 93 es la memoria de acceso aleatorio (RAM) del sistema usada por el procesador 92 para el procesamiento. La ROM 94 representa alguna forma de almacenamiento persistente tal como memoria de sólo lectura (ROM) para almacenar los programas necesarios para operar el dispositivo 90 y posiblemente para llevar a cabo diversos aspectos de la presente invención, El control
55 de I/O (entrada/salida) 95 representa el sistema de circuitos de interconexión para recibir un transmitir señales por medio de los canales de comunicación 1, 16. En la realización mostrada, todos los componentes principales del sistema se conectan al bus 91, el cual puede representar más de un bus físico o lógico; sin embargo, no se requiere una arquitectura de bus para implementar la presente invención.
60 En las realizaciones implementadas por un sistema de ordenador de propósito general, pueden incluirse componentes adicionales para interconexión a dispositivos tales como un teclado o un ratón y una pantalla, y para controlar un dispositivo de almacenamiento que tiene un medio de almacenamiento tal como una cinta magnética o un disco, o un medio óptico. El medio de almacenamiento puede usarse para grabar programas de instrucciones para sistemas operativos, utilidades y aplicaciones, y puede incluir programas que implementan diversos aspectos
65 de la presente invención.
Las funciones requeridas para poner en práctica diversos aspectos de la presente invención pueden realizarse mediante componentes que se implementan en una amplia variedad de modos incluyendo componentes lógicos discretos, circuitos integrados, uno o más ASIC y/o procesadores controlados por un programa. La manera en que se implementen estos componentes no es importante para la presente invención.
5 Las implementaciones de software de la presente invención pueden ser transportadas por una diversidad de medios legibles por una máquina tales como trayectos de comunicación de banda de base o modulada a lo largo de todo el espectro incluyendo desde frecuencias supersónicas a ultravioletas, o medios de almacenamiento que transportan la información usando esencialmente cualquier tecnología de grabación incluyendo cinta, tarjetas o disco magnéticos,
10 tarjetas o disco ópticos, y marcas detectables en medios incluyendo papel.

Claims (6)

  1. REIVINDICACIONES
    1. Un método para descodificar una trama de una señal de audio digital codificada, en el que:
    5 • la trama comprende metadatos de trama, un primer bloque de audio y uno o más bloques de audio subsiguientes; y
    • cada uno del primer bloque de audio y los subsiguientes comprende metadatos de bloque y datos de audio codificados para dos o más canales de audio, en el que:
    -
    los datos de audio codificados comprenden factores de escala y valores a escala que representan el contenido espectral de los dos o más canales de audio, estando cada valor a escala asociado con uno de los factores de escala respectivo; y
    15 - los metadatos de bloque comprenden información de control que describe las herramientas de control usadas por un proceso de codificación que produjo los datos de audio codificados, incluyendo las herramientas de control procesamiento de transformada híbrida adaptativa que comprende:
    · aplicar un banco de filtros de análisis implementado por una transformada primaria a los dos o más canales de audio para generar coeficientes de la transformada primaria, y
    · aplicar una transformada secundaria a los coeficientes de la transformada primaria para al menos alguno de los dos o más canales de audio para generar coeficientes de la transformada híbrida;
    25 y en el que el método comprende:
    (A)
    recibir la trama de la señal de audio digital codificada; y
    (B)
    examinar la señal de audio digital codificada de la trama en una única pasada para descodificar los datos de audio codificados para cada bloque de audio en orden por bloque, en el que la descodificación de cada bloque de audio respectivo comprende:
    (1)
    determinar para cada canal respectivo de los dos o más canales si el proceso de codificación usó procesamiento
    de transformada híbrida adaptativa para codificar cualquiera de los datos de audio codificados; 35
    (2)
    si el proceso de codificación usó el procesamiento de transformada híbrida adaptativa para el canal respectivo:
    (a)
    si el bloque de audio respectivo es el primer bloque de audio de la trama:
    (i)
    obtener todos los coeficientes de la transformada híbrida del canal respectivo para la trama a partir de los datos de audio codificados del primer bloque de audio, y
    (ii)
    aplicar una transformada secundaria inversa a los coeficientes de la transformada híbrida para obtener
    coeficientes de la transformada secundaria inversa, y 45
    (b)
    obtener coeficientes de la transformada primaria a partir de los coeficientes de la transformada secundaria para el canal respectivo del bloque de audio respectivo;
    (3)
    si el proceso de codificación no usó el procesamiento de transformada híbrida adaptativa para el canal respectivo, obtener coeficientes de la transformada primaria para el canal respectivo descodificando los datos codificados del bloque de audio respectivo; y
    (C)
    aplicar una transformada primaria inversa a los coeficientes de la transformada primaria para generar una señal
    de salida que representa el canal respectivo del bloque de audio respectivo. 55
  2. 2.
    El método de la reivindicación 1, en el que la trama de la señal de audio digital codificada cumple la sintaxis del tren de bits AC-3 mejorado.
  3. 3.
    El método de la reivindicación 2, en el que las herramientas de codificación incluyen procesamiento de extensión espectral y la descodificación de cada bloque de audio respectivo comprende además:
    determinar si el proceso de descodificación debería usar procesamiento de extensión espectral para descodificar cualquiera de los datos de audio codificados; y
    65 si debería usarse procesamiento de extensión espectral, sintetizar una o más componentes espectrales a partir de los coeficientes de la transformada secundaria inversa para obtener coeficientes de la transformada primaria con un ancho de banda extendido.
  4. 4. El método de la reivindicación 2 o 3, en el que las herramientas de codificación incluyen acoplamiento de canales y la descodificación de cada bloque de audio respectivo comprende además:
    5 determinar si el proceso de codificación usó acoplamiento de canales para codificar cualquiera de los datos de audio codificados; y
    si el proceso de codificación usó acoplamiento de canales, deducir las componentes espectrales a partir de los 10 coeficientes de la transformada secundaria inversa para obtener coeficientes de la transformada primaria para canales acoplados.
  5. 5. Un aparato para descodificar una trama de una señal de audio digital codificada, en el que el aparato comprende
    medios para realizar todas las etapas de una cualquiera de las reivindicaciones 1 a 4. 15
  6. 6. Un medio de almacenamiento que graba un programa de instrucciones que es ejecutable por un dispositivo para realizar un método para descodificar una trama de una señal de audio digital codificada, en el que el método comprende todas las etapas de una cualquiera de las reivindicaciones 1 a 4.
ES10776017.5T 2009-12-07 2010-10-28 Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa Active ES2463840T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26742209P 2009-12-07 2009-12-07
US267422P 2009-12-07
PCT/US2010/054480 WO2011071610A1 (en) 2009-12-07 2010-10-28 Decoding of multichannel aufio encoded bit streams using adaptive hybrid transformation

Publications (1)

Publication Number Publication Date
ES2463840T3 true ES2463840T3 (es) 2014-05-29

Family

ID=43334376

Family Applications (1)

Application Number Title Priority Date Filing Date
ES10776017.5T Active ES2463840T3 (es) 2009-12-07 2010-10-28 Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa

Country Status (37)

Country Link
US (2) US8891776B2 (es)
EP (3) EP2801975B1 (es)
JP (2) JP5547297B2 (es)
KR (2) KR101629306B1 (es)
CN (2) CN102687198B (es)
AP (1) AP3301A (es)
AR (1) AR079878A1 (es)
AU (1) AU2010328635B2 (es)
BR (1) BR112012013745B1 (es)
CA (1) CA2779453C (es)
CL (1) CL2012001493A1 (es)
CO (1) CO6460719A2 (es)
DK (1) DK2510515T3 (es)
EA (1) EA024310B1 (es)
EC (1) ECSP12012006A (es)
ES (1) ES2463840T3 (es)
GE (1) GEP20146081B (es)
GT (1) GT201200134A (es)
HK (1) HK1170058A1 (es)
HN (1) HN2012000819A (es)
HR (1) HRP20140400T1 (es)
IL (1) IL219304A (es)
MA (1) MA33775B1 (es)
MX (1) MX2012005723A (es)
MY (1) MY161012A (es)
NI (1) NI201200063A (es)
NZ (1) NZ599981A (es)
PE (1) PE20130167A1 (es)
PL (1) PL2510515T3 (es)
PT (1) PT2510515E (es)
RS (1) RS53288B (es)
SI (1) SI2510515T1 (es)
TN (1) TN2012000211A1 (es)
TW (1) TWI498881B (es)
UA (1) UA100353C2 (es)
WO (1) WO2011071610A1 (es)
ZA (1) ZA201203290B (es)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711123B2 (en) * 2001-04-13 2010-05-04 Dolby Laboratories Licensing Corporation Segmenting audio signals into auditory events
US8948406B2 (en) * 2010-08-06 2015-02-03 Samsung Electronics Co., Ltd. Signal processing method, encoding apparatus using the signal processing method, decoding apparatus using the signal processing method, and information storage medium
US20120033819A1 (en) * 2010-08-06 2012-02-09 Samsung Electronics Co., Ltd. Signal processing method, encoding apparatus therefor, decoding apparatus therefor, and information storage medium
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
WO2013079524A2 (en) * 2011-11-30 2013-06-06 Dolby International Ab Enhanced chroma extraction from an audio codec
CN107993673B (zh) * 2012-02-23 2022-09-27 杜比国际公司 确定噪声混合因子的方法、系统、编码器、解码器和介质
US9460729B2 (en) 2012-09-21 2016-10-04 Dolby Laboratories Licensing Corporation Layered approach to spatial audio coding
TWI618051B (zh) * 2013-02-14 2018-03-11 杜比實驗室特許公司 用於利用估計之空間參數的音頻訊號增強的音頻訊號處理方法及裝置
TWI618050B (zh) 2013-02-14 2018-03-11 杜比實驗室特許公司 用於音訊處理系統中之訊號去相關的方法及設備
EP2956935B1 (en) 2013-02-14 2017-01-04 Dolby Laboratories Licensing Corporation Controlling the inter-channel coherence of upmixed audio signals
US9830917B2 (en) 2013-02-14 2017-11-28 Dolby Laboratories Licensing Corporation Methods for audio signal transient detection and decorrelation control
US8804971B1 (en) * 2013-04-30 2014-08-12 Dolby International Ab Hybrid encoding of higher frequency and downmixed low frequency content of multichannel audio
MY178342A (en) * 2013-05-24 2020-10-08 Dolby Int Ab Coding of audio scenes
US9466305B2 (en) 2013-05-29 2016-10-11 Qualcomm Incorporated Performing positional analysis to code spherical harmonic coefficients
US9854377B2 (en) 2013-05-29 2017-12-26 Qualcomm Incorporated Interpolation for decomposed representations of a sound field
TWM487509U (zh) 2013-06-19 2014-10-01 杜比實驗室特許公司 音訊處理設備及電子裝置
EP3014609B1 (en) 2013-06-27 2017-09-27 Dolby Laboratories Licensing Corporation Bitstream syntax for spatial voice coding
EP2830063A1 (en) * 2013-07-22 2015-01-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus, method and computer program for decoding an encoded audio signal
CN117767898A (zh) 2013-09-12 2024-03-26 杜比实验室特许公司 用于各种回放环境的动态范围控制
JP6396452B2 (ja) 2013-10-21 2018-09-26 ドルビー・インターナショナル・アーベー オーディオ・エンコーダおよびデコーダ
US9502045B2 (en) 2014-01-30 2016-11-22 Qualcomm Incorporated Coding independent frames of ambient higher-order ambisonic coefficients
US9922656B2 (en) 2014-01-30 2018-03-20 Qualcomm Incorporated Transitioning of ambient higher-order ambisonic coefficients
US9620137B2 (en) 2014-05-16 2017-04-11 Qualcomm Incorporated Determining between scalar and vector quantization in higher order ambisonic coefficients
US9852737B2 (en) 2014-05-16 2017-12-26 Qualcomm Incorporated Coding vectors decomposed from higher-order ambisonics audio signals
US10770087B2 (en) * 2014-05-16 2020-09-08 Qualcomm Incorporated Selecting codebooks for coding vectors decomposed from higher-order ambisonic audio signals
CN105280212A (zh) * 2014-07-25 2016-01-27 中兴通讯股份有限公司 混音播放方法及装置
US9747910B2 (en) 2014-09-26 2017-08-29 Qualcomm Incorporated Switching between predictive and non-predictive quantization techniques in a higher order ambisonics (HOA) framework
TWI693594B (zh) * 2015-03-13 2020-05-11 瑞典商杜比國際公司 解碼具有增強頻譜帶複製元資料在至少一填充元素中的音訊位元流
US9837086B2 (en) * 2015-07-31 2017-12-05 Apple Inc. Encoded audio extended metadata-based dynamic range control
US10504530B2 (en) 2015-11-03 2019-12-10 Dolby Laboratories Licensing Corporation Switching between transforms
EP3208800A1 (en) 2016-02-17 2017-08-23 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Apparatus and method for stereo filing in multichannel coding
US10015612B2 (en) 2016-05-25 2018-07-03 Dolby Laboratories Licensing Corporation Measurement, verification and correction of time alignment of multiple audio channels and associated metadata
PL3568853T3 (pl) * 2017-01-10 2021-06-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Dekoder audio, enkoder audio, sposób dostarczania dekodowanego sygnału audio, sposób dostarczania enkodowanego sygnału audio, strumień audio, moduł dostarczania strumienia audio i program komputerowy używający identyfikator strumienia
US10885921B2 (en) * 2017-07-07 2021-01-05 Qualcomm Incorporated Multi-stream audio coding
US10854209B2 (en) * 2017-10-03 2020-12-01 Qualcomm Incorporated Multi-stream audio coding
US10657974B2 (en) * 2017-12-21 2020-05-19 Qualcomm Incorporated Priority information for higher order ambisonic audio data
EP3895164B1 (en) * 2018-12-13 2022-09-07 Dolby Laboratories Licensing Corporation Method of decoding audio content, decoder for decoding audio content, and corresponding computer program
WO2020207593A1 (en) * 2019-04-11 2020-10-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio decoder, apparatus for determining a set of values defining characteristics of a filter, methods for providing a decoded audio representation, methods for determining a set of values defining characteristics of a filter and computer program
CN111711493B (zh) * 2020-06-16 2022-03-11 中国电子科技集团公司第三研究所 具有加密解密能力的水下通信设备及发射器和接收器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100228688B1 (ko) 1991-01-08 1999-11-01 쥬더 에드 에이. 다차원 음장용 인코우더/디코우더
JPH10340099A (ja) * 1997-04-11 1998-12-22 Matsushita Electric Ind Co Ltd オーディオデコーダ装置及び信号処理装置
TW405328B (en) * 1997-04-11 2000-09-11 Matsushita Electric Ind Co Ltd Audio decoding apparatus, signal processing device, sound image localization device, sound image control method, audio signal processing device, and audio signal high-rate reproduction method used for audio visual equipment
US6246345B1 (en) 1999-04-16 2001-06-12 Dolby Laboratories Licensing Corporation Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
US7292901B2 (en) 2002-06-24 2007-11-06 Agere Systems Inc. Hybrid multi-channel/cue coding/decoding of audio signals
US7502743B2 (en) * 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
CN1261663C (zh) * 2002-12-31 2006-06-28 深圳市高科智能系统有限公司 无线集中控制门禁/门锁的方法及系统设备
US7516064B2 (en) * 2004-02-19 2009-04-07 Dolby Laboratories Licensing Corporation Adaptive hybrid transform for signal analysis and synthesis
US9454974B2 (en) * 2006-07-31 2016-09-27 Qualcomm Incorporated Systems, methods, and apparatus for gain factor limiting
US7953595B2 (en) * 2006-10-18 2011-05-31 Polycom, Inc. Dual-transform coding of audio signals
KR101325802B1 (ko) * 2007-02-06 2013-11-05 엘지전자 주식회사 디지털 방송 송신기 및 디지털 방송 수신기와 그를 이용한디지털 방송 시스템 및 그 서비스 방법
CN101067931B (zh) 2007-05-10 2011-04-20 芯晟(北京)科技有限公司 一种高效可配置的频域参数立体声及多声道编解码方法与系统
US8706480B2 (en) * 2007-06-11 2014-04-22 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Audio encoder for encoding an audio signal having an impulse-like portion and stationary portion, encoding methods, decoder, decoding method, and encoding audio signal
WO2009039897A1 (en) * 2007-09-26 2009-04-02 Fraunhofer - Gesellschaft Zur Förderung Der Angewandten Forschung E.V. Apparatus and method for extracting an ambient signal in an apparatus and method for obtaining weighting coefficients for extracting an ambient signal and computer program
EP2212884B1 (en) * 2007-11-06 2013-01-02 Nokia Corporation An encoder
EP2107556A1 (en) * 2008-04-04 2009-10-07 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio transform coding using pitch correction

Also Published As

Publication number Publication date
CA2779453C (en) 2015-12-22
AP3301A (en) 2015-06-30
EP2706529A3 (en) 2014-04-02
EP2510515B1 (en) 2014-03-19
CL2012001493A1 (es) 2012-10-19
EP2801975A1 (en) 2014-11-12
IL219304A (en) 2015-05-31
PE20130167A1 (es) 2013-02-16
AP2012006289A0 (en) 2012-06-30
CN104217724B (zh) 2017-04-05
GT201200134A (es) 2013-08-29
TW201126511A (en) 2011-08-01
US8891776B2 (en) 2014-11-18
KR20130116959A (ko) 2013-10-24
CO6460719A2 (es) 2012-06-15
CA2779453A1 (en) 2011-06-16
CN102687198B (zh) 2014-09-24
MX2012005723A (es) 2012-06-13
WO2011071610A1 (en) 2011-06-16
PL2510515T3 (pl) 2014-07-31
KR20120074305A (ko) 2012-07-05
HRP20140400T1 (hr) 2014-06-06
TWI498881B (zh) 2015-09-01
JP5607809B2 (ja) 2014-10-15
HK1170058A1 (en) 2013-02-15
PT2510515E (pt) 2014-05-23
CN104217724A (zh) 2014-12-17
US20120243692A1 (en) 2012-09-27
EA024310B1 (ru) 2016-09-30
EP2510515A1 (en) 2012-10-17
TN2012000211A1 (en) 2013-12-12
AU2010328635A1 (en) 2012-05-17
SI2510515T1 (sl) 2014-06-30
JP2013511754A (ja) 2013-04-04
KR101370522B1 (ko) 2014-03-06
CN102687198A (zh) 2012-09-19
EP2706529A2 (en) 2014-03-12
IL219304A0 (en) 2012-06-28
UA100353C2 (uk) 2012-12-10
ZA201203290B (en) 2013-07-31
BR112012013745B1 (pt) 2020-10-27
NI201200063A (es) 2013-06-13
AU2010328635B2 (en) 2014-02-13
BR112012013745A2 (pt) 2016-03-15
US20150030161A1 (en) 2015-01-29
ECSP12012006A (es) 2012-08-31
AR079878A1 (es) 2012-02-29
JP5547297B2 (ja) 2014-07-09
KR101629306B1 (ko) 2016-06-10
EP2801975B1 (en) 2017-01-04
GEP20146081B (en) 2014-04-25
US9620132B2 (en) 2017-04-11
HN2012000819A (es) 2015-03-16
EA201270642A1 (ru) 2012-12-28
MY161012A (en) 2017-03-31
NZ599981A (en) 2014-07-25
MA33775B1 (fr) 2012-11-01
JP2014063187A (ja) 2014-04-10
DK2510515T3 (da) 2014-05-19
RS53288B (en) 2014-08-29

Similar Documents

Publication Publication Date Title
ES2463840T3 (es) Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa
ES2273268T3 (es) Dispositivo y procedimiento para convertir en una representacion transformada o para convertir de manera inversa la representacion transformada.
PT1668959E (pt) Codificação/descodificação compatível com multicanal
BRPI0410130B1 (pt) "método e codificador para codificação de sinais de áudio de entrada, e método e decodificador para a decodificação de um sinal codificado"
BR122021009022B1 (pt) Método de decodificação para decodificar dois sinais de áudio, mídia legível por computador, e decodificador para decodificar dois sinais de áudio
BR112015007532B1 (pt) Codificador, decodificador e métodos para codificação de objeto de áudio espacial multirresolução compatível regressivo
TW202018699A (zh) 在包含三個音訊聲道的多聲道音訊系統中之解碼方法、編碼方法、解碼裝置及編碼裝置、包含用於執行解碼方法及編碼方法的指令之非暫態電腦可讀取的媒體之電腦程式產品、包含解碼裝置及編碼裝置的音訊系統
KR20110018108A (ko) 레지듀얼 신호 인코딩 및 디코딩 방법 및 장치
KR20220117019A (ko) 학습 모델을 이용한 오디오 신호의 부호화 및 복호화 방법과 그 학습 모델의 트레이닝 방법 및 이를 수행하는 부호화기 및 복호화기
DK2691951T3 (en) TRANSFORMATION WITH REDUCED COMPLEXITY OF AN Low-Frequency
Bosi et al. Building a Perceptual Audio Coder
AU2012238001A1 (en) Reduced complexity transform for a low-frequency-effects channel