ES2299998T3 - Codificacion de audio basada en agrupamiento de bloques. - Google Patents

Codificacion de audio basada en agrupamiento de bloques. Download PDF

Info

Publication number
ES2299998T3
ES2299998T3 ES05711669T ES05711669T ES2299998T3 ES 2299998 T3 ES2299998 T3 ES 2299998T3 ES 05711669 T ES05711669 T ES 05711669T ES 05711669 T ES05711669 T ES 05711669T ES 2299998 T3 ES2299998 T3 ES 2299998T3
Authority
ES
Spain
Prior art keywords
groups
blocks
measure
group
block
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
ES05711669T
Other languages
English (en)
Inventor
Matthew Conrad Dolby Labs. Licensing Co. FELLERS
Mark Stuart Dolby Labs. Licensing Co. VINTON
Claus Dolby Laboratories Licensing Co. BAUER
Grant Allen Dolby Labs. Licensing Co. DAVIDSON
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 ES2299998T3 publication Critical patent/ES2299998T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/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 TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • G10L25/60Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination for measuring the quality of voice signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stereophonic System (AREA)
  • Road Signs Or Road Markings (AREA)

Abstract

Un método para procesar o tratar bloques de información de audio dispuesta en tramas, de tal modo que cada bloque tiene un contenido que representa un intervalo de tiempo respectivo de información de audio, de manera que el método comprende: (a) recibir una señal de entrada que transporta los bloques de información de audio; (b) obtener dos o más medidas de calidad tales que: (1) cada conjunto de una pluralidad de conjuntos de grupos de los bloques de una trama respectiva, tiene una medida asociada de calidad, (2) cada grupo tiene uno o más bloques, (3) cada conjunto de grupos incluye todos los bloques de la trama respectiva y no está incluido ningún bloque en más de un grupo de cada conjunto, y (4) la medida de calidad representa la excelencia en los resultados obtenibles por el tratamiento de cada bloque de un grupo respectivo, de acuerdo con un conjunto formado por uno o más parámetros de control asociados con ese grupo; (c) analizar las medidas de calidad para identificar un conjunto seleccionado de grupos que tiene un número mínimo de grupos, tal que una medida del rendimiento del tratamiento, que se obtiene, al menos en parte, a partir de la medida asociada de la calidad, es mayor que un cierto umbral; y (d) tratar cada grupo de bloques del conjunto de grupos seleccionado, de acuerdo con el conjunto asociado de uno o más parámetros de control, a fin de generar una señal de salida que representa el contenido de la señal de entrada y que representa el conjunto asociado de parámetros de control para cada grupo del conjunto seleccionado.

Description

Codificación de audio basada en agrupamiento de bloques.
Campo técnico
La presente invención se refiere a la optimización de codificadores de audio digitales del tipo que aplica un procedimiento de codificación a una o más corrientes de información de audio que representan uno o más canales de audio que están segmentados en tramas, de tal modo que cada trama comprende uno o más bloques de información de audio digital. Más particularmente, la presente invención se refiere al agrupamiento de bloques de información de audio dispuestos en tramas, de tal manera que se optimice un procedimiento de codificación que se aplica a las tramas.
Técnica anterior
Muchos sistemas de tratamiento de audio operan mediante la división de corrientes de información de audio en tramas, y dividiendo adicionalmente las tramas en bloques de datos secuenciales que representan una porción de la información de audio en un intervalo de tiempo particular. Se aplica algún tipo de tratamiento de señal a cada bloque de la cadena. Dos ejemplos de sistemas de tratamiento de audio que aplican un procedimiento de codificación perceptivo a cada bloque son los sistemas que están en conformidad con la especificación de Codificador de Audio Avanzado (AAC -"Advanced Audio Coder"), que se describe en la ISO/IEC 13818-7, "Codificación de audio avanzada, AAC, según MPEG-2 [Grupo de Expertos en Imágenes en Movimiento -2]" ("MPEG-2 advanced audio coding, AAC"). International Standard, 1997; en la ISO/IEC JTC1/SC29, "Tecnología de la Información - codificación audiovisual de muy baja velocidad de transmisión de bits" ("Information Technology - very low bitrate audio-visual coding") y la ISO/IEC IS-14496 (Parte 3, Audio), 1996, y los sistemas denominados AC-3, que se adecuan a la especificación de codificación que se describe en el documento A/52A del Comité de Sistemas de Televisión Avanzados (ATSC -"Advanced Television Systems Committee"), titulado "Revisión A para la Especificación de Compresión de Audio (AC-3) Digital", publicada el 20 de agosto de 2001.
Un tipo de tratamiento de señal que se aplica a bloques en muchos sistemas de tratamiento de audio es una forma de codificación perceptiva que lleva a cabo un análisis de la información de audio del bloque para obtener una representación de sus componentes espectrales, estima los efectos de enmascaramiento perceptivo de los componentes espectrales, cuantifica los componentes espectrales de tal manera que el ruido de cuantificación resultante bien es inaudible, o bien su audibilidad es tan baja como sea posible, y ensambla una representación de los componentes espectrales cuantificados para formar una señal codificada que puede ser transmitida o grabada. Se ensambla también para formar la señal codificada un conjunto de parámetros de control que se necesita para recuperar un bloque de información de audio a partir de los componentes espectrales cuantificados.
El análisis espectral puede ser llevado a cabo de una variedad de maneras, pero es común un análisis que utiliza una transformación del dominio del tiempo al dominio de la frecuencia. Con la transformación de bloques de información de audio en una representación en el dominio de la frecuencia, las componentes espectrales de la información de audio son representadas por una secuencia de vectores en la que cada vector representa las componentes espectrales para un bloque respectivo. Los elementos de los vectores son coeficientes en el dominio de la frecuencia y el índice de cada elemento de vector corresponde a un intervalo de frecuencias particular. La anchura del intervalo de frecuencias representado por cada coeficiente de la transformada es bien fijo o bien variable. La anchura del intervalo de frecuencias representado por coeficientes de transformada generados por una transformada basada en Fourier tal como la Transformada de Fourier Discreta (DFT -"Discrete Fourier Transform") o una Transformada de Coseno Discreta (DCT -"Discrete Cosine Transform"), es fija. La anchura del intervalo de frecuencias representado por coeficientes de transformada generados por una onda pequeña o una transformada en paquetes de onda pequeña, es variable y típicamente se hace más grande con el aumento de la frecuencia. Véase, por ejemplo, la divulgación de A. Akansu y R. Hadad: "Descomposición, transformadas, sub-bandas y ondas pequeñas de señales de resolución múltiple" ("Multiresolution Signal Decomposition, Transforms, Subbands, Wavelets"), Academic Press, San Diego, 1992.
Un tipo de tratamiento de señales que puede utilizarse para recuperar un bloque de información de audio a partir de la señal codificada perceptivamente, obtiene un conjunto de parámetros de control y una representación de componentes espectrales cuantificados a partir de la señal codificada y utiliza este conjunto de parámetros para deducir componentes espectrales para su síntesis en un bloque de información de audio. La síntesis es complementaria al análisis utilizado para generar la señal codificada. Es común una síntesis que utiliza una transformación del dominio de la frecuencia al dominio del tiempo.
En muchas aplicaciones de codificación, la anchura de banda o espacio que está disponible para transmitir o grabar una señal codificada es limitado, y esta limitación impone serias restricciones en la cantidad de datos que pueden ser utilizados para representar los componentes espectrales cuantificados. Los datos que se necesitan para transportar conjuntos de parámetros de control constituyen un contenido de información adicional que reduce adicionalmente la cantidad de datos que pueden utilizarse para representar las componentes espectrales cuantificadas.
En algunos sistemas de codificación, se utiliza un conjunto de parámetros de control para codificar cada bloque de información de audio. Una técnica conocida para reducir el contenido de información adicional en estos tipos de parámetros de control consiste en controlar los procedimientos de codificación de tal manera que tan sólo se necesita un único conjunto de parámetros de control para recuperar bloques múltiples de información de audio a partir de una señal codificada. Si el procedimiento de codificación se controla de tal manera que diez bloques comparten un solo conjunto de parámetros de control, por ejemplo, el contenido de información adicional para estos parámetros se reduce en el noventa por ciento. Por ejemplo, el documento US 6.456.963 describe el modo como se agrupan bloques de información de audio, de tal modo que cada grupo incluye uno o más de una pluralidad de bloques sucesivos. Mediante el tratamiento de una pluralidad de bloques para los que el factor de escala es común, es posible mejorar la eficiencia de la codificación. Desgraciadamente, las señales de audio no son estacionarias y la eficiencia del procedimiento de codificación para todos los bloques de información de audio de una trama puede no ser óptimo si los parámetros de control son compartidos por demasiados bloques. Lo que se necesita es una forma de optimizar la eficiencia del tratamiento de las señales mediante el control de este tratamiento con el fin de reducir el contenido de información adicional necesario para transportar los parámetros de control.
Descripción de la invención
De acuerdo con la presente invención, se agrupan bloques de información de audio dispuestos en tramas, para formar uno o más conjuntos o grupos de bloques, de tal manera que cada bloque se encuentra en un grupo respectivo. Cada grupo puede consistir en un único bloque o un conjunto de dos o más bloques dentro de una trama, y un procedimiento que se aplica a cada bloque del grupo se sirve de un conjunto común formado por uno o más parámetros de control, tal como, por ejemplo, un conjunto de factores de escala. La presente invención está encaminada a controlar el agrupamiento de bloques para optimizar el rendimiento del tratamiento de las señales.
En un sistema de codificación, por ejemplo, una corriente de información de audio que comprende bloques de información de audio, está dispuesta en tramas de tal modo que cada trama tiene uno o más grupos de bloques. Se utiliza un conjunto de uno o más parámetros de codificación para codificar la información de audio para la totalidad de los bloques contenidos en un grupo respectivo. Los bloques están agrupados con el fin de optimizar alguna medida del rendimiento de la codificación. Por ejemplo, un sistema de codificación que incorpora varios aspectos de la presente invención, puede controlar el agrupamiento de bloques para minimizar una señal de error que representa la distorsión de la información de audio codificada en una trama que utiliza parámetros de codificación compartidos para cada grupo contenido en la trama, en comparación con la distorsión de una señal codificada para una señal de referencia en la que cada bloque se codifica utilizando su propio conjunto de parámetros de codificación.
Las diversas características de la presente invención y sus realizaciones preferidas pueden comprenderse mejor al referirse a la siguiente explicación y a los dibujos que la acompañan, en los cuales los mismos números de referencia se refieren a elementos similares en las diversas figuras. El contenido de la siguiente explicación y los dibujos se establecen únicamente a título de ejemplos y no han de interpretarse como representativos de limitaciones en el ámbito de la presente invención, el cual se define por las reivindicaciones que se acompañan.
Breve descripción de los dibujos
La Figura 1 es un diagrama de bloques de un sistema de codificación de audio en que pueden incorporarse diversos aspectos de la presente invención.
La Figura 2 es un diagrama de flujo de un bucle externo de un procedimiento iterativo para encontrar un número óptimo de grupos de bloques en una trama.
Las Figuras 3A y 3B son diagramas de flujo de un bucle interno de un procedimiento iterativo para encontrar un agrupamiento óptimo de bloques en una trama.
La Figura 4 es diagrama de flujo de un procedimiento de Greedy-Merge, aplicado a cuatro bloques.
La Figura 5 es un diagrama de bloques conceptual que ilustra un ejemplo de un procedimiento de Greedy-Merge aplicado a cuatro bloques.
La Figura 6 es un diagrama de bloques esquemático de un dispositivo que puede ser utilizado para implementar diversos aspectos de la presente invención.
Modos de realización de la invención A. Introducción
La Figura 1 ilustra un sistema de codificación de audio en el que un codificador 10 recibe del recorrido o camino 5 una o más corrientes de información de audio que representan uno o más canales de señales de audio. El codificador 10 trata las corrientes de información de audio para generar a lo largo del camino 15 una señal codificada que puede ser transmitida o grabada. La señal codificada es recibida subsiguientemente por el descodificador 20, el cual procesa o trata la señal codificada para generar a lo largo del camino 25 una reproducción de la información de audio recibida desde el camino 5. El contenido de la reproducción puede no ser idéntico a la información de audio original. Si el codificador 10 utiliza un método de codificación sin pérdidas para generar la señal codificada, el descodificador 20 puede, en principio, recuperar una reproducción que es idéntica a las corrientes de información de audio originales. Si el codificador 10 utiliza una técnica de codificación con pérdidas, tal como la codificación perceptiva, el contenido de la reproducción recuperada no es, generalmente, idéntico al contenido de la corriente original, aunque puede ser perceptivamente indistinguible del contenido original.
El codificador 10 codifica la información de audio en cada bloque utilizando un procedimiento de codificación que es sensible a un conjunto formado por uno o más parámetros de control de procedimiento. Por ejemplo, el procedimiento de codificación puede transformar la información en el dominio del tiempo de cada bloque en coeficientes de transformada en el dominio de la frecuencia, representar los coeficientes de transformada en una forma de coma flotante en la que una o más mantisas de coma flotante están asociadas con un exponente de coma flotante, y utilizar los exponentes de coma flotante para controlar la regulación de escala y la cuantificación de las mantisas. Esta solución básica se emplea en muchos sistemas de codificación de audio, incluyendo los sistemas AC-3 y AAC anteriormente mencionados, y se explica con mayor detalle en los párrafos siguientes. Ha de comprenderse, sin embargo, que los factores de escala y su uso como parámetros de control constituyen tan sólo un ejemplo de cómo pueden aplicarse las enseñanzas de la presente invención.
En general, el valor de cada coeficiente de transformada de coma flotante puede ser representado con más precisión con un número dado de bits si cada mantisa de coeficiente está asociada con su propio exponente, debido a que es más probable que cada mantisa pueda ser normalizada; sin embargo, es posible que un conjunto completo de coeficientes de transformada para un bloque pueda ser representado de forma más precisa con un número dado de bits si algunas de las mantisas de coeficiente comparten un exponente. Puede ser posible un incremento en la precisión porque el hecho de compartir reduce el número de bits que se necesitan para codificar las componentes y hace posible que se utilice un mayor número de bits para representar las mantisas con mayor precisión. Es posible que algunas de las mantisas no puedan ya ser normalizadas, pero si los valores de los coeficientes de transformada son similares, la mayor precisión puede dar como resultado una representación más precisa de al menos algunas de las mantisas. La manera como se comparten las exponentes entre las mantisas puede adaptarse de un bloque a otro, o bien la disposición que se comparte puede ser invariante. Si la disposición que se comparte del exponente es invariante, es común compartir exponentes de tal manera que cada exponente y sus mantisas asociadas definen una banda subordinada o sub-banda de frecuencias que es conmensurable con una banda crítica del sistema auditivo humano. En este esquema, si el intervalo de frecuencias representado por cada coeficiente de transformada es fijo, entonces mayores números de mantisas comparten un exponente para frecuencias superiores que las que lo hacen para frecuencias más bajas.
El concepto de compartir exponentes de coma flotante entre mantisas dentro de un bloque puede ser extendido a la práctica de compartir exponentes entre mantisas en dos o más bloques. Compartir exponentes reduce el número de bits necesarios para transportar los exponentes en una señal codificada, de tal manera que quedan disponibles bits adicionales para representar las mantisas con mayor precisión. Dependiendo de la similitud de los valores de los coeficientes de transformada en los bloques, la práctica de compartir exponentes entre bloques puede aumentar o reducir la precisión con la que son representadas las mantisas.
Hasta aquí, la exposición se ha referido al compromiso en la precisión de una representación de coma flotante de valores de coeficiente de transformada mediante la práctica de compartir exponentes de coma flotante. El mismo compromiso en la precisión se produce para la práctica de compartir entre bloques parámetros que se utilizan para controlar procedimientos de codificación tales como la codificación perceptiva que utiliza modelos perceptivos para controlar la cuantificación de las mantisas de coeficiente. Los procedimientos de codificación utilizados en los sistemas AC-3 y AAC, por ejemplo, utilizan los exponentes de coma flotante del coeficiente de transformada para controlar la asignación de bits para cuantificación de mantisas de coeficiente de transformada. Un compartimiento de exponentes entre bloques reduce los bits necesarios para representar los exponentes, lo que permite utilizar más bits para representar las mantisas codificadas. En algunas ocasiones, la práctica de compartir exponentes entre dos bloques reduce la precisión con la que se representan los valores de las mantisas codificadas. En otros casos, compartir entre dos bloques incrementa la precisión. Si un compartimiento de exponentes entre dos bloques aumenta la precisión de las mantisas, un compartimiento entre tres o más bloques puede proporcionar incrementos adicionales en la precisión.
Pueden llevarse a la práctica diversos aspectos de la presente invención en un codificador de audio mediante la optimización del número de grupos y de los límites o contornos de grupo entre los grupos de bloques, con el fin de minimizar la distorsión de la señal codificada. Puede establecerse un compromiso entre el grado de minimización y uno o ambos del número total de bits utilizados para representar una trama de una señal codificada, y la complejidad computacional de la técnica que se emplee para optimizar las disposiciones de grupos. En una implementación, esto se consigue minimizando una medida de la energía de error cuadrático medio.
B. Antecedentes
La siguiente exposición describe maneras en las que pueden incorporarse diversos aspectos de la presente invención en un sistema de codificación de audio que optimiza el tratamiento de grupos de bloques de información de audio dispuestos en tramas. La optimización se expresa primeramente como un problema numérico de minimización. Este marco de trabajo numérico se emplea para desarrollar diversas implementaciones que tienen diferentes niveles de complejidad computacional y proporcionan distintos niveles de optimización.
1. La selección de grupos como un problema numérico de minimización
Se permite a los grupos un cierto grado de libertad en el procedimiento de optimización, al permitir un número variable de grupos dentro de las tramas. Para el propósito de computar una configuración de agrupamiento óptima, se supone que el número de grupos y el número de bloques de cada grupo pueden variar de una trama a otra. Se supone adicionalmente que un grupo consiste en un único bloque o en una multiplicidad de bloques, todos ellos dentro de una única trama. La optimización que se ha de llevar a cabo está destinada a optimizar el agrupamiento de bloques dentro de una trama, dadas una o más restricciones. Estas restricciones pueden variar de una aplicación a otra y pueden expresarse como una maximización de la excelencia en los resultados del tratamiento de las señales, tal como la fidelidad de la señal codificada, o bien pueden ser expresadas como una minimización de un resultado del tratamiento inverso, tal como una distorsión de la señal codificada. Por ejemplo, un codificador de audio puede tener una restricción que requiere la minimización de la distorsión para una velocidad de transmisión de datos dada de la señal codificada, o que requiere un compromiso de los datos de señal codificados frente al nivel de distorsión de la señal codificada, en tanto que un sistema de análisis/detección/clasificación puede tener una restricción que requiere un compromiso de la precisión del análisis, de la detección o de la clasificación frente a la complejidad computacional. Se exponen en lo que sigue medidas de la distorsión de la señal, si bien éstas son meramente ejemplos de una amplia variedad de medidas de calidad que se pueden utilizar. Las técnicas que se exponen en lo que sigue pueden utilizarse con mediciones de la excelencia en el tratamiento de las señales, tales como la fidelidad de la señal codificada, por ejemplo, mediante la reversión de las comparaciones y la inversión de las referencias a cantidades relativas tales como altas y bajas o máximas y mínimas.
Se anticipa que la presente invención puede ser implementada de acuerdo con una cualquiera de al menos tres estrategias que varían de una a otra en el uso de representaciones de información de audio en el dominio del tiempo y en el dominio de la frecuencia. En una primera estrategia, la información en el dominio del tiempo se analiza para optimizar el tratamiento de grupos de bloques que transportan información en el dominio del tiempo. En una segunda estrategia, la información en el dominio de la frecuencia se analiza para optimizar el tratamiento de grupos de bloques que transforman información en el dominio del tiempo. En una tercera estrategia, la información en el dominio de la frecuencia para optimizar el tratamiento de grupos de bloques que transportan información en el dominio de la frecuencia. Se describen en lo que sigue diversas implementaciones de acuerdo con la tercera estrategia.
En implementaciones prácticas de la presente invención para codificación de información de audio para su transmisión o grabación, resulta útil definir las expresiones "distorsión" y "coste lateral" para la siguiente exposición.
El término "distorsión" es una función de los coeficientes de transformada en el dominio de la frecuencia, en el bloque o los bloques que pertenecen a un grupo, y es una relación de correspondencia desde el espacio de los grupos al espacio de los números reales no negativos. Se asigna una distorsión de cero a la trama que contiene exactamente N grupos, donde N es el número de bloques de la trama. En este caso, no existe compartimiento de parámetros de control entre o a través de los bloques.
La expresión "coste lateral" es una función discreta que establece una relación de correspondencia desde el conjunto de números enteros no negativos al conjunto de números reales no negativos. En la siguiente exposición, se supone que el coste lateral es una función lineal positiva del argumento x, donde x es igual a p-1 y p es el número de grupos de una trama. Se asigna un coste lateral de cero a una trama si el número de grupos de la trama es igual a uno.
Se describen en lo que sigue dos técnicas para computar la distorsión. Una de las técnicas computa la distorsión sobre una base "bandeada" o en forma de bandas para cada una de K bandas de frecuencia, de tal modo que cada banda de frecuencias es un conjunto de uno o más coeficientes de transformada en el dominio de la frecuencia contiguos. Una segunda técnica computa un único valor de distorsión para todo el bloque en un sentido según la anchura de banda para todas sus bandas de frecuencias. Resulta útil definir varias expresiones más para la siguiente exposición.
La expresión "distorsión bandeada" constituye un vector de valores de dimensión K, indexado de baja frecuencia a alta frecuencia. Cada uno de los K elementos del vector representa un valor de distorsión para un conjunto respectivo de uno o más coeficientes de transformada dentro de un bloque.
La expresión "distorsión de bloque" constituye un valor escalar que representa un valor de distorsión para un bloque.
La expresión "distorsión previa al eco" es un valor escalar que expresa un nivel de la denominada distorsión previa al eco, con respecto a un umbral de energía de referencia de anchura de banda de Diferencia Justamente Apreciable (JND -"Just Noticeable Difference"), de manera que la distorsión por debajo del umbral de energía de referencia de JND se considera insignificante.
La expresión "soporte temporal" es la extensión de las muestras en el dominio del tiempo que corresponden a un único bloque de coeficientes de transformada. Para la Transformada de Coseno Discreta Modificada (MDCT -"Modified Discrete Cosine Transform") que se describe en la divulgación de Princen et al.: "Codificación de sub-banda/transformada utilizando diseños de bancos de filtros basados en cancelación de errores espurios en el dominio del tiempo" ("Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation"), ICASSP 1987 Conf. Proc., mayo de 1987, págs. 2.161-2.164, cualquier modificación que se realice en un coeficiente de transformada afecta a la información que se recupera de dos bloques consecutivos de coeficientes de transformada, debido al solapamiento del 50% de los segmentos en el dominio del tiempo que se impone por la transformada. El soporte temporal para esta MDCT es el segmento de tiempo que corresponde únicamente al primer bloque de coeficientes afectado.
La expresión "codificación de canal de junta o unión" constituye una técnica de codificación por la cual dos o más canales de información de audio se combinan de alguna manera en el codificador y se separan en los distintos canales en el descodificador. Los canales separados obtenidos por el descodificador pueden no ser idénticos ni siquiera perceptivamente indistinguibles de los canales originales. La codificación de canal de unión se utiliza para incrementar la eficiencia de la codificación al aprovechar información mutua o compartida entre ambos canales.
La distorsión previa al eco es una consideración en lo que respecta al enmascaramiento en el dominio del tiempo para un sistema de codificación de audio de transformada en el que el soporte temporal de la transformada es más largo que un intervalo de tiempo previo al enmascaramiento. La información adicional concerniente al intervalo de tiempo previo al enmascaramiento puede ser obtenida de la divulgación de Zwicker et al.: "Psico-acústica - hechos y modelos" ("Psychoacoustics - Facts and Models"), Springer-Verlag, Berlín, 1990. Las técnicas de optimización que se describen en lo que sigue suponen que el soporte temporal es menor que el intervalo previo al enmascaramiento y, por tanto, únicamente se consideran medidas subjetivas de la distorsión.
La presente invención no excluye la opción de llevar a cabo la optimización basándose en una medición de la distorsión subjetiva o perceptiva, en oposición a una medición objetiva de la distorsión. En particular, si el soporte temporal es mayor que la longitud óptima para un codificador perceptivo, es posible que un error cuadrático medio u otra medición objetiva de la distorsión no refleje con precisión el nivel de la distorsión audible, y que el uso de una medición de distorsión subjetiva pueda seleccionar una configuración de agrupamiento de bloques que difiera de la configuración de agrupamiento obtenida con el uso de una medición objetiva.
El procedimiento de optimización puede ser diseñado de una variedad de formas. Una forma itera o repite el valor p de 1 a N, de manera que p es el número de grupos de una trama, e identifica para cada valor de p las configuraciones de grupos que tienen una suma de las distorsiones de todos los bloques de la trama que no es más alta que un umbral T ("threshold"). Entre estas configuraciones identificadas, puede utilizarse una de entre las tres técnicas que se describen más adelante para seleccionar la configuración óptima de los grupos. Alternativamente, el valor de p puede ser determinado de alguna otra manera, tal como por un procedimiento de codificación de dos canales que optimiza la ganancia de codificación al seleccionar adaptativamente un cierto número de bloques para la codificación de canal de unión. En tal caso, se deduce un valor común de p de los valores individuales de p para cada canal. Dado un valor común de p para los dos canales, la configuración de grupos óptima puede ser computada juntamente para ambos canales.
La configuración de grupos de los bloques de una trama puede ser dependiente de la frecuencia, pero esto requiere que la señal codificada transporte información adicional para especificar el modo como son agrupadas las bandas de frecuencias. Pueden aplicarse diversos aspectos de la presente invención a implementaciones de múltiples bandas, al considerar las bandas con información de agrupamiento común como objetos de inferencia independientes de las implementaciones de anchura de banda aquí descritas.
2. Energía de error como medida de la distorsión
El significado de ``distorsión se ha definido en términos de una cantidad que conduce a la optimización, pero esta distorsión no ha sido aún relacionada con nada que pueda ser utilizado por un procedimiento para encontrar un agrupamiento óptimo de bloques en un codificador de audio. Lo que se necesita es una medida de la calidad de señales codificadas que pueda dirigir el procedimiento de optimización hacia una solución óptima. Debido a que la optimización está encaminada hacia el uso de un conjunto común de parámetros de control para cada bloque de un grupo de bloques, la medida de la calidad de las señales codificadas ha de basarse en algo que se aplique a cada bloque y que pueda combinarse fácilmente en un único valor representativo o medida compuesta para todos los bloques del grupo.
Una técnica para obtener una medida compuesta que se explica más adelante consiste en computar la media del algún valor para los bloques del grupo, siempre y cuando pueda calcularse una media útil para el valor en cuestión. Desgraciadamente, no todos los valores disponibles en la codificación de audio pueden ser utilizados para computar una media útil a partir de una pluralidad de valores. Un ejemplo de valor inadecuado es la componente de fase de Transformada de Fourier Discreta (DFT -"Discrete Fourier Transform") para un coeficiente de transformada, debido a que una media de estas componentes de fase no proporciona ningún valor significativo. Otra técnica para obtener una medida compuesta consiste en seleccionar el máximo de algún valor para todos los bloques del grupo. En cualquier caso, la medida compuesta se utiliza como un valor de referencia, y la medida de la calidad de las señales codificadas está relacionada inversamente con la distancia entre este valor de referencia y el valor para cada bloque de un grupo. En otras palabras, la medida de la calidad de las señales codificadas para una trama puede definirse como la inversa del error entre un valor de referencia y el valor apropiado para cada bloque de cada grupo, para todos los grupos contenidos en la trama.
Puede utilizarse una medida de la calidad de las señales codificadas según se ha descrito anteriormente para conducir la optimización, al llevar a cabo un procedimiento que minimice esta medida.
Otros parámetros pueden ser relevantes en diversos sistemas de codificación o en otras aplicaciones. Un ejemplo son los parámetros relacionados con la codificación denominada media/lateral, que es una técnica de codificación de canal de unión común en la que el canal "medio" es la suma de los canales izquierdo y derecho, y el canal "lateral" es la diferencia entre los canales izquierdo y derecho. Las implementaciones de sistemas de codificación que incorporan diversos aspectos de la presente invención pueden utilizar correlación ínter-canal o entre canales en lugar de niveles de energía para controlar el compartimiento de parámetros de codificación medio/lateral a través de los bloques. En general, cualquier codificador de audio que agrupa bloques en grupos, comparte parámetros de control de codificación entre los bloques del grupo, y transmite la información de control a un descodificador, puede beneficiarse de la presente invención, la cual es capaz de determinar una configuración de agrupamiento óptima para los bloques. Sin los beneficios proporcionados por la presente invención, una asignación sub-óptima o inferior a la óptima de bits puede tener como resultado un incremento global en la distorsión de cuantificación audible, debido a que los bits son desviados desde los coeficientes espectrales de codificación y pueden no ser asignados de forma óptima entre los diversos coeficientes espectrales.
3. Energía vectorial frente a energía escalar
Implementaciones de la presente invención pueden utilizar valores, bien de distorsión bandeada o bien de distorsión de bloque para conducir el procedimiento de optimización. Si se ha de utilizar distorsión bandeada o distorsión de bloque depende en gran medida de la variación en la energía bandeada de un bloque al siguiente. Dadas las siguientes definiciones:
(1a)u_{m} es un valor de energía escalar para la energía total de un bloque m, y {}\hskip2.9cm
(1b)v_{m,j} es un elemento vectorial que representa energía bandeada para la banda j en el bloque m,
si la señal que se ha de codificar no tiene memoria, de tal modo que \mu(v_{m,j},v_{m+1,j}) = 0, donde 0 \leq j \leq K-1 para K bandas de frecuencias y \mu es una medida del grado de información mutua o compartida entre bloques adyacentes, entonces un sistema que utiliza la medida de energía escalar u_{m} trabajará tan bien como un sistema que utiliza valores de medida de energía bandeada v_{m,j}. Véase la divulgación de Jayant et al.: "Codificación digital de formas de onda" ("Digital Coding of Waveforms"), Prentice-Hall, Nueva Jersey, 1984. En otras palabras, cuando bloques sucesivos presentan poca similitud en los niveles espectrales de energía, la energía escalar trabaja tan bien como la energía bandeada como medida. Por otra parte, según se describe más adelante, cuando bloques sucesivos presentan un alto grado de similitud en los niveles espectrales de energía, la energía escalar puede no proporcionar una medida satisfactoria que indique si los parámetros pueden ser comunes a dos o más bloques sin imponer una seria penalización al rendimiento de la codificación.
La presente invención no está limitada al uso de ninguna medida concreta. Las medidas de distorsión basadas en energías logarítmicas y otras propiedades de señal pueden ser también apropiadas en diversas aplicaciones.
Para transiciones entre bloques que tienen un contenido espectral similar, o \mu(v_{m,j},v_{m+1,j}) > 0, sigue siendo posible, sin embargo, que valores de energía de banda específicos v_{m,j} satisfagan la siguiente expresión:
1
o igual a un valor pequeño, próximo a cero. Este resultado ilustra el hecho de que, sobre la base de una anchura de banda, una comparación de la energía global entre bloques adyacentes puede pasar por alto diferencias entre bloques en bandas de frecuencias individuales. Para muchas señales, una medida escalar de la energía no es suficiente para minimizar la distorsión de forma precisa. Debido a que esto es verdad para una amplia variedad de señales de audio, una implementación de la presente invención que se describe más adelante utiliza el vector de valores de energía bandeados v_{m} = (v_{i,0}, ..., v_{i,K-1}) en lugar del valor de energía de bloque escalar u_{m} para identificar la configuración de agrupamiento óptima.
4. Identificación de restricciones
Existen numerosas restricciones que se han de considerar basándose en la aplicación en la que se emplea la invención. Una implementación de la presente invención que se describe más adelante es un sistema de codificación de audio; en consecuencia, las restricciones relevantes son parámetros relativos a la codificación de información de audio. Por ejemplo, surge una restricción en el coste lateral de la necesidad de transmitir parámetros de control que sean comunes a todos los bloques de un grupo. Un coste lateral más elevado puede permitir que una señal sea codificada con una menor distorsión para cada bloque, pero el incremento en el coste lateral puede incrementar la distorsión total para todos los bloques de una trama si ha de asignarse a cada trama un número fijo de bits. Pueden existir también restricciones impuestas en la complejidad de la implementación, que favorezcan una implementación particular de la presente invención con respecto a otra.
5. Deducción del enunciado del problema
Lo que sigue es una definición del problema numérico para optimizar la distorsión en un sistema de codificación de audio. En esta definición particular del problema, la distorsión es una medida de la energía de error entre los coeficientes espectrales para una trama de un agrupamiento candidato de bloques, y la energía de coeficiente espectral de los bloques individuales de una trama en la que cada uno de los bloques se encuentra en su propio grupo.
Supóngase un conjunto ordenado de N vectores de energía bandeados V_{i}, con 0 \leq i < N, donde cada vector es de una dimensión K con elementos reales positivos, es decir, V_{i} = {v_{i,0}, ..., v_{i,K-1}}. El símbolo V_{i} representa un vector de valores de energía bandeados, de tal modo que cada elemento del vector puede corresponder esencialmente a cualquier banda deseada de coeficientes de transformada. Para cualquier conjunto ordenado de enteros positivos 0 = s_{0} < s_{1} < ... < s_{p} = N, pueden definirse intervalos I_{m} como I_{m} = [s_{m-1}, s_{m}], \forallm, 0 < m \leq p. El símbolo s_{m} representa el índice de bloque del primer bloque de cada grupo, y m es el índice del grupo. El valor s_{p} = N puede interpretarse como un índice para el primer bloque de la siguiente trama, con el sólo propósito de definir un punto final para el intervalo I_{m}. Puede definirse una partición P(s_{0}, ..., s_{p}) del conjunto de vectores de energía como sigue:
2
donde S es el vector (s_{0}, ..., s_{p}), y
3
El símbolo G_{m} es representativo de los bloques de un grupo.
\vskip1.000000\baselineskip
Es posible utilizar varias medidas de distorsión en diversas implementaciones de la presente invención. La medida de distorsión máxima media, M', se define como sigue:
4
\vskip1.000000\baselineskip
5
\vskip1.000000\baselineskip
6
\vskip1.000000\baselineskip
La distorsión media A se define como sigue:
7
\vskip1.000000\baselineskip
8
\vskip1.000000\baselineskip
9
\newpage
Una distorsión de diferencia máxima, M'', se define como sigue:
10
11
La función de coste lateral para una partición P(S) = P(s_{0},...,s_{p}) se define de modo que sea igual a (p-1)c, donde c es una constante real y positiva.
\global\parskip0.900000\baselineskip
Se definen dos funciones adicionales para la distorsión como sigue:
12
donde M(S) puede ser bien M'(S) o bien M''(S), y
Dist{} es una relación de correspondencia que expresa el coste lateral en las mismas unidades que la distorsión.
La función para M(S) puede ser escogida de acuerdo con el algoritmo de búsqueda utilizado para encontrar una solución óptima. Esto se explica más adelante. La función Dist{} se utiliza para establecer una relación de correspondencia del coste lateral con valores que sean compatibles con M(S) y A(S). En algunos sistemas de codificación, una relación de correspondencia adecuada desde el coste lateral a la distorsión es
13
donde C es el coste lateral expresado en bits.
La optimización puede formularse como el siguiente problema numérico:
Determinar un vector S con elementos enteros positivos (s_{0}, s_{1}, ..., s_{p}) que minimice una función de distorsión particular M(S), M*(S), A(S) o A*(S) para todas las posibles elecciones de enteros positivos s_{0}, s_{1}, ..., s_{p} que satisfagan la relación 0 = s_{0} < s_{1} < ... < s_{p} = N, donde 1 \leq p \leq N. La variable p puede escogerse en el intervalo de 1 a N para encontrar el vector S que minimice la función de distorsión deseada.
Alternativamente, la optimización puede formularse como un problema numérico que se sirve de un umbral: Determinar, para todos los valores enteros de p, 1 \leq p \leq N, los vectores S = (s_{0}, s_{1}, ..., s_{p}) que satisfacen la relación 0 = s_{0} < s_{1} < ... < s_{p} = N, de tal manera que el valor de una función de distorsión deseada M(S), M*(S), A(S) o A*(S) se encuentra por debajo de un valor de umbral supuesto T. A partir de estos vectores, encontrar un vector S con el valor mínimo para p. Una alternativa a esta solución es iterar sobre valores crecientes de p, desde 1 hasta n, y seleccionar el primer vector S que satisfaga la restricción del umbral. Esta solución se describe con mayor detalle más adelante.
6. Consideraciones adicionales para los sistemas de múltiples canales
Para los sistemas de codificación estéreo o de múltiples canales que emplean métodos de codificación de unión estéreo/múltiples canales, tales como el acoplamiento de canales utilizado en los sistemas AC-3, y la codificación estéreo media/lateral o la codificación estéreo de intensidad utilizadas en los sistemas AAC, la información de audio en todos los canales ha de ser codificada en el modo de bloque corto apropiado para ese sistema de codificación particular, asegurando que la información de audio en todos los canales tiene el mismo número de grupos y la misma configuración de agrupamiento. Esta restricción se aplica porque se proporcionan factores de escala, que son la principal fuente de coste lateral, únicamente para uno de los canales codificados conjuntamente. Esto implica que todos los canales tienen la misma configuración de agrupamiento, debido a que se aplica un solo conjunto de factores de escala a todos los canales.
La optimización puede llevarse a cabo de cualquiera de al menos tres modos en los sistemas de codificación de múltiples canales: un modo al que se hace referencia como "Optimización de Canal de Unión", se realiza mediante una optimización de unión del número de grupos y de los límites o contornos de grupo en una única tanda, al sumar todas las energías de error, ya sea bandeadas o de ancho de banda, a través de los canales.
Otro modo, al que se hace referencia como "Optimización de Canal de Bucles Anidados", se lleva a cabo por medio de una optimización de canal de unión implementada como un procedimiento de bucles anidados, o en estructura recursiva, en el que el bucle exterior computa el número óptimo de grupos para todos los canales. Considerando ambos canales en un modo de codificación estéreo de unión, por ejemplo, el bucle interior lleva a cabo una optimización de la configuración de agrupamiento ideal para un número dado de grupos. La restricción principal que se impone en esta solución es que el procedimiento llevado a cabo en el bucle interior utiliza el mismo valor de p para todos los canales codificados conjuntamente.
Aún otro modo, al que se hace referencia como "Optimización de Canal Individual", se realiza mediante la optimización de la configuración de agrupamiento para cada canal independientemente de todos los demás canales. No puede utilizarse ninguna técnica de codificación de canal de unión para codificar cualquier canal de una trama con valores únicos de p o una configuración de agrupamiento única.
7. Métodos para llevar a cabo una optimización restringida
La presente invención puede utilizar esencialmente cualquier método que se desee para la búsqueda de una solución óptima. Se describen aquí tres métodos:
El "Método de Búsqueda Exhaustiva" es intenso desde el punto de vista computacional pero siempre encuentra la solución óptima. Uno de los enfoques calcula la distorsión para todos los números posibles de grupos y todas las configuraciones de agrupamiento posibles para cada número de grupos; identifica la configuración de agrupamiento con la distorsión mínima para cada número de grupos; y determina a continuación el número óptimo de grupos al seleccionar la configuración que tiene la distorsión mínima. Alternativamente, el método puede comparar la distorsión mínima para cada número de grupos con un umbral y terminar la búsqueda tras encontrar la primera configuración de agrupamiento que tenga una medida de distorsión por debajo del umbral. Esta implementación alternativa reduce la complejidad computacional de la búsqueda para encontrar una solución aceptable, pero no puede garantizar que se encuentre la solución óptima.
El "Método de Greedy-Merge" no es tan intensivo desde el punto de vista computacional como el Método de Búsqueda Exhaustiva y no puede garantizar que se encuentre la configuración de agrupamiento óptima, pero habitualmente encuentra una configuración que es tan buena como la configuración óptima o casi tan buena. De acuerdo con este método, se combinan bloques adyacentes en grupos iterativamente, al tiempo que se tiene en cuenta el coste lateral.
El "Método Óptimo Rápido" tiene una complejidad computacional que es intermedia a la complejidad de los otros dos métodos anteriormente descritos. Este método iterativo evita considerar ciertas configuraciones de grupo basándose en cálculos de distorsión que se computaron en iteraciones anteriores. Como en el Método de Búsqueda Exhaustiva, se consideran todas las configuraciones de grupo, pero puede eliminarse de las iteraciones subsiguientes la consideración de algunas configuraciones, a la vista de las computaciones previas.
8. Parámetros que afectan al coste lateral
Preferiblemente, una implementación de la presente invención tiene en cuenta los cambios en el coste lateral a medida que busca una configuración de agrupamiento óptima.
La componente principal del coste lateral para los sistemas AAC es la información que se necesita para representar valores de factor de escala. Debido a que los factores de escala se comparten a través de todos los bloques de un grupo, la adición de un nuevo grupo en un codificador de AAC incrementará el coste lateral en la cantidad de información adicional que se necesite para representar los factores de escala adicionales. Si una implementación de la presente invención en un codificador de AAC no tiene en cuenta los cambios en el coste lateral, esta consideración debe utilizar una estimación debido a que los valores de factor de escala no pueden conocerse hasta después de que se haya completado el cálculo de bucle de velocidad de transmisión-distorsión, lo que ha de realizarse después de que se establezca la configuración de agrupamiento. Los factores de escala de los sistemas AAC son altamente variables y sus valores están estrechamente ligados a la resolución de cuantificación de los coeficientes espectrales, que se determina en los bucles de velocidad de transmisión/distorsión anidados. Los factores de escala en AAC son también codificados en entropía, lo que contribuye adicionalmente a la naturaleza no determinista de su coste lateral.
Son posibles otras formas de costes laterales dependiendo de los procedimientos de codificación específicos que se utilizan para codificar la información de audio. En los sistemas AC-3, por ejemplo, pueden compartirse coordenadas de acoplamiento de canal a través de los bloques de una manera que favorezca el agrupamiento de las coordenadas de acuerdo con un valor de energía común.
Son aplicables diversos aspectos de la presente invención al procedimiento en los sistemas AC-3 que seleccionan la "estrategia de codificación de exponente" utilizada para transportar exponentes de coeficiente de transformada en una señal codificada. Debido a que los exponentes de AC-3 se toman como un máximo de valores de densidad espectral de potencia para todas las líneas espectrales que comparten un exponente dado, el procedimiento de optimización puede operar utilizando un criterio de error máximo en lugar del criterio de error cuadrático medio que se utiliza en AAC. En un sistema AC-3, el coste lateral es la cantidad de información que se necesita para transportar exponentes para cada nuevo bloque que no reutiliza exponentes del bloque anterior. La estrategia de codificación de exponente, que también determina el modo como los coeficientes comparten a través de la frecuencia, afecta al coste lateral si la estrategia de exponente es dependiente de la configuración de agrupamiento. El procedimiento que se necesita para estimar el coste lateral de los exponentes en sistemas AC-3 es menos complejo que el procedimiento necesario para proporcionar una estimación para factores de escala en sistemas AAC, debido a que los valores de exponente son computados más pronto en el procedimiento de codificación como parte del modelo psico-acústico.
C. Descripciones detalladas de métodos de búsqueda 1. Método de Búsqueda Exhaustiva
El método de búsqueda exhaustiva puede ser implementado utilizando un umbral para limitar el número de configuraciones de agrupamiento y el número de grupos ensayados. Esta técnica puede ser simplificada al basarse exclusivamente en el valor de umbral para establecer el valor verdadero de p. Esto puede hacerse estableciendo el valor de umbral en algún número entre 0,0 y 1,0, e iterando sobre el número posible de grupos p. La configuración de grupo óptima y la función de distorsión resultante se computan para p = 1 y se incrementa p en uno para cada comparación frente a T. La distorsión resultante se compara frente a T y se selecciona el primer valor de p para el que la función de distorsión es menor que T, como el número óptimo de grupos. Ajustando empíricamente el valor del umbral T, es posible conseguir una distribución gaussiana de p a través de un gran muestreo de tramas de ventana corta para una amplia variedad de diferentes señales de entrada. Esta distribución gaussiana puede ser desplazada ajustando el valor de T en concordancia, a fin de permitir un valor promedio más alto o más bajo de p a través de una amplia variedad de señales de entrada. Este procedimiento se muestra en el diagrama de flujo de la Figura 2, que ilustra un procedimiento en un bucle exterior para encontrar un número óptimo de grupos. En las Figuras 3A y 3B se muestran procedimientos adecuados para el bucle interior, que se explican más adelante. Cualquiera de las funciones de distorsión que aquí se describen puede ser utilizada, incluyendo las funciones M(S), M*(S), A(S) y A*(S).
Para un valor dado de p, según se determina mediante la iteración del bucle exterior, el bucle interior computa la configuración de agrupamiento óptima S = (s_{0}, s_{1}, ..., s_{p}) que consigue la menor cantidad de distorsión de error cuadrático medio. Para valores pequeños de N del orden de menos de 10, es posible construir un conjunto de entradas de tabla que contiene todas las maneras posibles de dividir los p grupos a través de los N bloques. La longitud de cada entrada de tabla es el número de combinaciones de 7 escogidas (p-1) de una vez, que se denota más adelante como "7 tomados en p-1". Existe una entrada de tabla independiente para todos los valores de p a excepción de p = 0, que es indefinido, y de p = N, que proporciona la solución sin distorsiones en la que cada grupo contiene exactamente un bloque. Para 0 < p < N, una implementación preferida de la tabla almacena los valores de partición para S = {s_{0}, s_{1}, ..., s_{p}} como campos de bit en una tabla TAB, y el tratamiento en el bucle combinatorio interno enmascara los valores de campo de bit TAB para llegar a los valores absolutos para cada s_{m}. Los valores de partición para los campos de bit para 0 < p < N son como sigue:
TABLA 1 Todas las posibles combinaciones de agrupamientos para N = 8
14
Cada entrada o fila de la tabla corresponde a un valor diferente de p, para 0 < p < N, con N = 8. Esta tabla puede ser utilizada en un procedimiento iterativo tal como los que se muestran en los diagramas de flujo lógicos de las Figuras 3A y 3B, que es el bucle interior del procedimiento mostrado en la Figura 2. Este bucle interior itera sobre todas las posibles configuraciones de grupo, que son (7 tomados en p-1) en número. Como se muestra por la notación TAB[p,r] en los diagramas de flujo, el valor p proporcionado por el bucle exterior indexa la fila de la tabla, y el valor r indexa el campo de bit para una configuración de agrupamiento particular.
\global\parskip1.000000\baselineskip
Para cada iteración de bucle interior, la medida de distorsión media A(S) según se muestra en la Figura 3A, o, alternativamente, la distorsión de diferencia máxima M''(S) según se muestra en la Figura 3B, se computa de acuerdo con la ecuación 10 ó la ecuación 12, respectivamente. La distorsión total a través de todos los bloques y bandas se suma para obtener un único valor escalar A_{sav}, o, alternativamente, M_{sav}.
El Método de Búsqueda Exhaustiva puede utilizar una variedad de medidas de distorsión. Por ejemplo, la implementación anteriormente expuesta utiliza una Norma L1, pero pueden utilizarse, en lugar de ella, medidas con Norma L2 o con Norma de Infinito L. Véase la divulgación de R. M. Gray, A. Buzo y A. H. Gray, Jr.: "Medidas de distorsión para el tratamiento del habla" ("Distortion Measures for Speech Processing"), Transacciones del IEEE sobre acústica, habla y tratamiento de señal (IEEE Transactions on Acoustics, Speech, and Signal Processing), Vol. ASSP-28, Nº 4, agosto de 1980.
2. Método óptimo rápido
El método óptimo rápido se sirve de la distorsión máxima media M'(S) definida anteriormente en la ecuación 7. Este método obtiene una configuración de agrupamiento óptima sin tener que buscar exhaustivamente a través de todas las posibles soluciones. Como resultado de ello, no es tan intensivo desde el punto de vista computacional como el método de búsqueda exhaustiva anteriormente descrito.
a) Definiciones
Se dice que una partición P(s_{0}, ..., s_{p}) es una partición de nivel p si consta de p grupos. La dimensión d de un grupo es el número de bloques contenidos en ese grupo. Se hace referencia a los grupos con una dimensión mayor que 1 como grupos positivos. La definición de un grupo G_{m} según se expresa en la ecuación 4, se rescribe como G_{m} = G(s_{m-1}, s_{m-1}+1, ..., s_{m}).
b) Prolegómenos matemáticos
Un grupo que tiene una dimensión d > 3 puede ser dividido en dos subgrupos que tienen exactamente un bloque en común. Por ejemplo, si G_{m} = G(s_{m-1}, s_{m-1}+1, ..., s_{m}), entonces el grupo G_{m} puede ser dividido en dos subgrupos G_{ma} = G(s_{m-1}, s_{m-1}+1, ..., s_{m-1}+k) y G_{mb} = G(s_{m-1}+k, ..., s_{m}), de manera que ambos contienen el bloque que tiene el índice s_{m-1}+k. Por definición, estos dos subgrupos no pueden formar parte de la misma partición. Un procedimiento para dividir un grupo en dos subgrupos positivos solapados puede ser generalizado en un procedimiento que divide un grupo dado en dos o más subgrupos positivos solapados.
La medida de distorsión J'(m) definida anteriormente en la ecuación, siempre satisface la siguiente aseveración:
\vskip1.000000\baselineskip
15
\vskip1.000000\baselineskip
donde G_{ma} y G_{mb} son subgrupos solapados del grupo G_{m}. Esto puede demostrarse al probar J_{mj} \geq max(J_{ma,j}, J_{mb,j}) es verdad para toda j tal que 1 \leq j \leq k. Introduciendo esta relación en la definición de J'(m) según se muestra en la ecuación 6, puede observarse que se sigue de ello la aseveración de la expresión 15.
c) Descripción de procedimiento de núcleo
Los principios que subyacen en el método óptimo rápido pueden comprenderse si se supone, en primer lugar, una partición dada P_{p} de nivel p, que minimiza M'(S) = M'(s_{1}, ..., s_{p}) para todos los vectores s_{1}, ..., s_{p} que definen una partición de nivel p. Existen particiones F de nivel p-1 que, independientemente de los valores específicos de los coeficientes espectrales, no pueden ser la partición única P_{p-1} de nivel p-1 que minimiza M'(s_{1}, ..., s_{p}) para todos los vectores S = (s_{1}, ..., s_{p}) que definen una partición de nivel p-1. En otras palabras, si una de estas particiones F minimiza M'(S) para todos los vectores S que definen una partición de nivel p-1, existe entonces al menos otra partición que minimiza M''(S) para todos los vectores S que definen una partición de nivel p-1 también. Es posible definir un subconjunto de estas particiones F, denotado como X(p, P), que contiene particiones particulares en el nivel p que pueden ser excluidas de algunos de los procedimientos necesarios para encontrar una solución óptima, según se describe con mayor detalle más adelante. El subconjunto X(p, P) se define como sigue:
(1) Supóngase una partición F de nivel p-1 que tiene n grupos positivos, y que m grupos positivos de esta partición, con 0 < m < n, respectivamente, pueden ser reemplazados por otro grupo positivo de la misma dimensión, y que, tras el reemplazo, la partición F es transformada en una partición G de nivel p-1, que no tiene grupos solapados. Si los grupos positivos de la partición P son un subconjunto de los grupos positivos de la partición G pero no de la partición F, entonces F pertenece a X(p, P).
(2) Supóngase que una partición F de nivel p-1 tiene n grupos positivos y que m grupos positivos, siendo 0 < m <n, de F pueden ser divididos en dos o más grupos positivos. Supóngase, además, que uno o más de estos grupos pueden ser reemplazados por un grupo con la misma dimensión y que se transforma la partición F en una partición válida G de nivel p-1 que no tiene grupos solapados. Si los grupos positivos de la partición P son subconjuntos de los grupos positivos de la partición G pero no de la partición F, entonces, de acuerdo con la aseveración hecha en 15, F pertenece a X(p, P).
Puede ser de utilidad resaltar que, por construcción, el conjunto X(p, P) no puede ser idéntico al conjunto de todas las particiones de nivel p-1.
d) Caso generalizado (N arbitrario)
El método óptimo rápido comienza dividiendo los N bloques de una trama en p = N grupos, y calculando la función de distorsión máxima media M'(S) o M*(S). Esta partición se denota como P_{N}. El método calcula entonces la función de distorsión máxima media para todas las N-1 posibles formas de dividir los N bloques en g = N-1 grupos. La partición particular de entre estas N-1 particiones que minimiza la función de distorsión máxima media, se denota como P_{N-1}. Las particiones que pertenecen al conjunto X(N-1, P_{N-1}) se identifican como se ha descrito en lo anterior. El método calcula entonces la función de distorsión máxima media para todas las posibles formas de dividir los N bloques en N-1 grupos que no pertenecen a este conjunto X(N-1, P_{N-1}). La partición que minimiza la función de distorsión máxima media se denota como P_{N-2}. El método óptimo rápido repite o itera este procedimiento para p = N-2, ..., 1, a fin de encontrar particiones P_{p-1}, utilizando el conjunto X(p, P_{p}) en cada nivel para reducir el número de particiones que son analizadas como solución posible.
El método óptimo rápido concluye encontrando la partición P entre las particiones P_{1}, ..., P_{N} que minimiza la función de distorsión máxima media M'(S) o M*(S).
e) Ejemplo
El siguiente ejemplo se proporciona para ayudar a explicar el método óptimo rápido y para exponer características de una posible implementación. En este ejemplo, cada trama contiene seis bloques, o N = 6. Puede utilizarse un conjunto de tablas de control para simplificar el tratamiento requerido para determinar si se ha de añadir una partición al conjunto X(p, P_{p}) según se ha descrito anteriormente. Se muestra para este ejemplo un conjunto de tablas: las Tablas 2A a 2C.
La notación D(a, b) se utiliza en estas tablas para identificar particiones concretas. Una partición consiste en uno o más grupos de bloques y puede ser especificada de forma unívoca por los grupos positivos que contiene. Por ejemplo, una partición de seis bloques que consiste en cuatro grupos en los que el primer grupo contiene los bloques 1 y 2, el segundo grupo contiene los bloques 3 y 4, el tercer grupo contiene el bloque 5 y el cuarto grupo contiene el bloque 6, puede expresarse como (1, 2) (3, 4) (5) (6) y se muestra en las tablas como D(1, 2) + D(3, 4).
Cada tabla proporciona información que puede ser utilizada para determinar si una partición particular en el nivel p-1 pertenece al conjunto X(p, P_{p}) cuando se trata una partición particular P_{p} en el nivel p. La Tabla 2A, por ejemplo, proporciona información para determinar si una partición en el nivel 4 pertenece al conjunto X(5, P_{5}) para cada partición de nivel 5 mostrada en la fila de arriba de la tabla. La fila de arriba de la Tabla 2A, por ejemplo, lista particiones que consisten en cinco grupos. No se listan todas las particiones. En este ejemplo, todas las particiones que incluyen cinco grupos son D(1, 2), D(2, 3), D(3, 4), D(4, 5) y D(5, 6). Sólo se muestran en la fila superior de la tabla las particiones D(1, 2), D(2, 3) y D(3, 4). Las particiones que faltan, D(4, 5) y D(5, 6) son simétricas con respecto a las particiones D(2, 3) y D(1, 2), respectivamente, y pueden ser deducidas de ellas. La columna de la izquierda de la Tabla 2A muestra particiones que consisten en cuatro grupos. Los símbolos "S" y "N" que se muestran en cada tabla indican si la partición situada en el nivel p-1 de la columna de la izquierda ha de ser excluida ("Y") o no ("N") de un tratamiento adicional para la partición respectiva P_{p} que se muestra en la fila de arriba de la tabla, en esa columna. Haciendo referencia a la Tabla 2A, por ejemplo, la partición de nivel 5 D(1, 2) tiene una entrada "N" en la fila para la partición de nivel 4 D(2, 3, 4), que indica que la partición D(2, 3, 4) pertenece al conjunto X(5, D(1, 2)) y debe ser excluida de un tratamiento adicional. La partición de nivel 5 D(2, 3) tiene una entrada "S" en la fila para la partición de nivel 4 D(2, 3, 4), que indica que la partición de nivel 4 no pertenece al conjunto X(5, D(2, 3)).
En este ejemplo, un procedimiento que implementa el método óptimo rápido, divide los seis bloques de una trama en seis grupos y calcula la distorsión máxima media. La partición se denota como P_{6}.
El procedimiento calcula la distorsión máxima media para la totalidad de las cinco formas posibles de dividir los seis bloques en cinco grupos de 5. La partición de entre las cinco particiones que minimiza la distorsión máxima media se denota como P_{5}.
\newpage
El procedimiento hace referencia a la Tabla 2A y selecciona la columna cuya entrada superior especifica la configuración de agrupamiento de partición P_{5}. El procedimiento calcula la distorsión máxima medida para todas las formas posibles de dividir los seis bloques en cuatro grupos que tengan una entrada "S" en la columna seleccionada. La partición que minimiza la distorsión máxima media se denota como P_{4}.
El procedimiento utiliza la Tabla 2B y selecciona la columna cuya entrada superior satisface la configuración de agrupamiento de la partición P_{4}. El procedimiento calcula la distorsión máxima media para todas las formas posibles de dividir los seis bloques en tres grupos que tengan una entrada "S" en la columna seleccionada. La partición que minimiza la distorsión máxima media se denota como P_{3}.
El procedimiento utiliza la Tabla 2C y selecciona la columna cuya entrada superior especifica la configuración de agrupamiento de la partición P_{3}. El procedimiento calcula la distorsión máxima media para todas las posibles formas de dividir los seis bloques en grupos que tengan una entrada "S" en la columna seleccionada. La partición que minimiza la distorsión máxima media se denota como P_{2}.
El procedimiento calcula la distorsión máxima media para la partición que consiste en un grupo. Esta partición se denota como P_{1}.
El procedimiento identifica entre las particiones P_{1}, ..., P_{6} la partición P que tiene la distorsión máxima media más pequeña. Esta partición P proporciona la configuración de agrupamiento óptima.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
TABLA 2A Tabla de eliminación de grupo óptima rápida para p = 5
16
TABLA 2B Tabla de eliminación de grupo óptima rápida para p = 4
17
\vskip1.000000\baselineskip
TABLA 2C Tabla de eliminación de grupo optima rápida para p = 3
18
\vskip1.000000\baselineskip
3. Descripción de Greedy-Merge
El método de Greedy-Merge proporciona una técnica simplificada para dividir los bloques de una trama en grupos. Si bien el método de Greedy-Merge no garantiza que se encuentre la configuración de agrupamiento óptima, la reducción en la complejidad computacional proporcionada por este método puede ser más deseable que una posible reducción en la cualidad óptima para la mayor parte de las aplicaciones prácticas.
El método de Greedy-Merge puede utilizar una amplia variedad de funciones de medida de distorsión, incluyendo las que se han expuesto anteriormente. Una implementación preferida se sirve de la función que se muestra en la expresión 11.
La Figura 4 muestra un diagrama de flujo de un método de Greedy-Merge adecuado que opera como sigue: se calculan los vectores de energía en estructura de bandas o bandeados, V_{i}, para cada bloque i. Se crea un conjunto de N grupos de manera que cada uno de ellos tiene un bloque. El método ensaya entonces todos los N-1 pares adyacentes de grupos y encuentra los dos grupos adyacentes g y g+1 que minimizan la ecuación 11. El valor mínimo de J'' obtenido de la ecuación 11 se denota como q. El valor mínimo q se compara entonces con un umbral de distorsión T ("threshold"). Si el valor mínimo es mayor que el umbral T, el método termina con la presente configuración de agrupamiento, identificada como la configuración óptima o cercana a la óptima. Si el valor mínimo es menor que el umbral T, los dos grupos g y g+1 se hacen confluir o fusionan en un nuevo grupo que contiene los vectores de energía bandeados de los dos grupos g y g+1. Este método se itera o repite hasta que la medida de distorsión J'' para todos los pares de grupos adyacentes excede el umbral de distorsión T o hasta que todos los bloques se han fusionado en un único grupo.
Un ejemplo del modo como opera este método con una trama de cuatro bloques se muestra en la Figura 5. En este ejemplo, los cuatro bloques se han dispuesto inicialmente en cuatro grupos a, b, c y d que tienen un solo bloque cada uno. El método encuentra entonces los dos grupos adyacentes que minimizan la ecuación 11. En la primera iteración, el método encuentra los grupos b y c que minimizan la ecuación 11 con una medida de distorsión J'' que es menor que el umbral de distorsión T; en consecuencia, el método fusiona los grupos b y c en un nuevo grupo para obtener tres grupos a, bc y d. En la segunda iteración, el método encuentra los dos grupos adyacentes a y bc que minimizan la ecuación 11 de manera que la medida de distorsión J'' para este par de grupos es menor que el umbral. Los grupos a y bc se fusionan en un nuevo grupo para proporcionar un total de dos grupos abc y d. En la tercera iteración, el método encuentra la medida de distorsión J'' para el único par restante de grupos que es mayor que el umbral de distorsión T; en consecuencia, el método termina dejando los dos grupos finales abc y d como configuración de agrupamiento óptima o cercana a la óptima.
El orden verdadero de la complejidad computacional para el método de Greedy-Merge depende del número de veces que el método se ha de iterar antes de que sea superado el umbral; sin embargo, el número de iteraciones está confinado entre 1 y ½N\cdot(N-1).
D. Implementación
Pueden implementarse dispositivos que incorporan diversos aspectos de la presente invención de una variedad de formas que incluyen software o programación para su ejecución por una computadora o algún otro dispositivo que incluye componentes más especializados, tales como circuitos de procesador de señal digital (DSP -"digital signal processor") conectados a componentes similares a los que se encuentran en una computadora de propósito general. La Figura 6 es un diagrama de bloques esquemático de un dispositivo 70 que puede ser utilizado para implementar aspectos de la presente invención. El DSP 72 proporciona recursos de computación. La RAM 73 es una memoria de acceso aleatorio (RAM -"random access memory") del sistema que es utilizada por el DSP 72 para el tratamiento. La ROM 74 representa alguna forma de almacenamiento permanente, tal como una memoria de sólo lectura (ROM -"read only memory"), destinada a almacenar programas necesarios para hacer funcionar el dispositivo 70 y, posiblemente, a llevar a cabo diversos aspectos de la presente invención. El control de E/S (entrada/salida -I/O ("Input/Output")) 75 representa circuitos de interfaz destinados a recibir y transmitir señales por medio de los canales de comunicación 76, 77. En la realización que se muestra, todos los componentes principales del sistema están conectados al bus 71, el cual puede representar más de un bus físico o lógico; sin embargo, no es necesaria una arquitectura de bus para llevar a la práctica la presente invención.
En realizaciones implementadas por un sistema informático de propósito general, es posible incluir componentes adicionales para actuar como interfaz con dispositivos tales como un teclado o un ratón y un dispositivo de presentación visual, y para controlar un dispositivo de almacenamiento que tiene un medio de almacenamiento tal como una cinta o un disco magnético, o un medio óptico. El medio de almacenamiento puede ser utilizado para grabar programas de instrucciones para hacer funcionar sistemas, utilidades y aplicaciones, y puede incluir programas que implementan diversos aspectos de la presente invención.
Las funciones que se requieren para llevar a la práctica los diversos aspectos de la presente invención pueden ser realizadas por componentes que se implementan de una amplia variedad de formas, incluyendo componentes lógicos discretos, circuitos integrados, uno o más ASICs (circuitos integrados de aplicaciones específicas -"application-specific integrated circuits") y/o procesadores controlados por programa. La manera como se implementan estos componentes no es importante para la presente invención.
Las implementaciones de software o programación de la presente invención pueden ser portadas por una variedad de medios legibles por máquina, tales como caminos de comunicación en banda de base o modulados a través de todo el espectro, incluyendo desde frecuencias supersónicas o ultravioleta, o medios de almacenamiento que transportan información utilizando esencialmente cualquier tecnología de grabación, incluyendo cintas, tarjetas o discos magnéticos, tarjetas o discos ópticos, así como marcas detectables en medios que incluyen el papel.

Claims (14)

1. Un método para procesar o tratar bloques de información de audio dispuesta en tramas, de tal modo que cada bloque tiene un contenido que representa un intervalo de tiempo respectivo de información de audio, de manera que el método comprende:
(a)
recibir una señal de entrada que transporta los bloques de información de audio;
(b)
obtener dos o más medidas de calidad tales que:
(1)
cada conjunto de una pluralidad de conjuntos de grupos de los bloques de una trama respectiva, tiene una medida asociada de calidad,
(2)
cada grupo tiene uno o más bloques,
(3)
cada conjunto de grupos incluye todos los bloques de la trama respectiva y no está incluido ningún bloque en más de un grupo de cada conjunto, y
(4)
la medida de calidad representa la excelencia en los resultados obtenibles por el tratamiento de cada bloque de un grupo respectivo, de acuerdo con un conjunto formado por uno o más parámetros de control asociados con ese grupo;
(c)
analizar las medidas de calidad para identificar un conjunto seleccionado de grupos que tiene un número mínimo de grupos, tal que una medida del rendimiento del tratamiento, que se obtiene, al menos en parte, a partir de la medida asociada de la calidad, es mayor que un cierto umbral; y
(d)
tratar cada grupo de bloques del conjunto de grupos seleccionado, de acuerdo con el conjunto asociado de uno o más parámetros de control, a fin de generar una señal de salida que representa el contenido de la señal de entrada y que representa el conjunto asociado de parámetros de control para cada grupo del conjunto seleccionado.
2. El método de acuerdo con la reivindicación 1, en el cual los bloques comprenden muestras en el dominio del tiempo de información de audio.
3. El método de acuerdo con la reivindicación 1, en el cual los bloques comprenden coeficientes en el dominio de la frecuencia de información de audio.
4. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 3, en el cual al menos un par de bloques de los grupos que tienen más de un bloque, tienen contenido que representa información de audio en intervalos de tiempo que son adyacentes unos a otros o que se superponen unos con otros.
5. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, que comprende:
obtener dos o más medidas de coste, estando cada medida de coste afiliada con un conjunto de grupos de bloques, de tal modo que la medida de coste representa una cantidad de recursos necesarios para tratar los bloques en el conjunto afiliado, de acuerdo con el conjunto asociado de parámetros de control;
y en el cual la medida de rendimiento del tratamiento se obtiene, en parte, a partir de la medida de coste afiliada con el conjunto seleccionado.
6. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 5, en el cual el análisis se lleva a cabo en una o más iteraciones de un procedimiento iterativo para determinar uno o más conjuntos de grupos que no son candidatos para el conjunto seleccionado, y excluye analizar estos uno o más conjuntos en iteraciones subsiguientes del procedimiento.
7. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 5, en el cual el conjunto seleccionado se identifica por un procedimiento iterativo que comprende:
determinar una segunda medida de rendimiento del tratamiento para pares de grupos de un conjunto inicial de grupos;
hacer confluir o fusionar el par de grupos que tienen una segunda más alta medida de rendimiento del tratamiento para formar un conjunto revisado de grupos, siempre y cuando la segunda más alta medida de rendimiento del tratamiento sea mayor que un umbral, y determinar la segunda medida de rendimiento del tratamiento para pares de grupos del conjunto revisado de grupos; y
\newpage
proseguir la confluencia o fusión hasta que ningún par de grupos del conjunto revisado de grupos tenga una segunda medida de rendimiento del tratamiento que sea mayor que el umbral, de tal modo que el conjunto revisado de grupos es el conjunto seleccionado.
8. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 5, en el cual una trama respectiva tiene un número de bloques igual a N y el análisis de las medidas de calidad comprende:
repetir o iterar un valor p de 1 a N, de manera que p es el número de grupos de bloques de una trama;
identificar, para cada valor de p, al menos algunos de los conjuntos de grupos que tienen la medida de rendimiento del tratamiento que es mayor que el umbral; y
analizar al menos algunos de los conjuntos identificados de grupos para determinar el conjunto seleccionado de grupos que maximiza la medida de rendimiento del tratamiento, entre los conjuntos de grupos que son analizados.
9. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 8, en el que cada bloque de la trama respectiva comprende coeficientes espectrales y la medida de rendimiento del tratamiento para un conjunto particular de grupos representa una medida de la energía de error entre los coeficientes espectrales de la trama respectiva para el conjunto particular de grupos, y los coeficientes espectrales de la trama respectiva con cada bloque de su propio grupo.
10. El método de acuerdo con una cualquiera de las reivindicaciones 1 a 9, en el cual la medida de rendimiento del tratamiento es sensible a un número total de bits disponibles para representar una trama de bloques respectiva.
11. El método de acuerdo con la reivindicación 5, en el cual las medidas de coste son sensibles a cantidades de datos necesarios para representar los conjuntos de parámetros de control en la señal codificada.
12. El método de acuerdo con la reivindicación 5, en el cual las medidas de coste son sensibles a cantidades de recursos computacionales necesarios para tratar los bloques de información de audio.
13. Un aparato que comprende medios concebidos para llevar a cabo el método de acuerdo con una cualquiera de las reivindicaciones 1 a 12.
14. Un medio que porta un programa de instrucciones que es susceptible de llevarse a cabo por un dispositivo y que está destinado a realizar el método de acuerdo con una cualquiera de las reivindicaciones 1 a 12.
ES05711669T 2004-01-20 2005-01-19 Codificacion de audio basada en agrupamiento de bloques. Active ES2299998T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US53798404P 2004-01-20 2004-01-20
US537984P 2004-01-20

Publications (1)

Publication Number Publication Date
ES2299998T3 true ES2299998T3 (es) 2008-06-01

Family

ID=34807152

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05711669T Active ES2299998T3 (es) 2004-01-20 2005-01-19 Codificacion de audio basada en agrupamiento de bloques.

Country Status (16)

Country Link
US (1) US7840410B2 (es)
EP (1) EP1706866B1 (es)
JP (1) JP5069909B2 (es)
KR (1) KR20060131798A (es)
CN (1) CN1910656B (es)
AT (1) ATE389932T1 (es)
AU (1) AU2005207596A1 (es)
CA (1) CA2552881A1 (es)
DE (1) DE602005005441T2 (es)
DK (1) DK1706866T3 (es)
ES (1) ES2299998T3 (es)
HK (1) HK1091024A1 (es)
IL (1) IL176483A0 (es)
PL (1) PL1706866T3 (es)
TW (1) TW200534602A (es)
WO (1) WO2005071667A1 (es)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8154554B1 (en) 2006-07-28 2012-04-10 Nvidia Corporation Unified assembly instruction set for graphics processing
US8396119B1 (en) * 2009-09-30 2013-03-12 Ambarella, Inc. Data sample compression and decompression using randomized quantization bins
PL3998606T3 (pl) 2009-10-21 2023-03-06 Dolby International Ab Nadrpóbkowanie w połączonym banku filtrów modułu transpozycji
JP2013050663A (ja) * 2011-08-31 2013-03-14 Nippon Hoso Kyokai <Nhk> 多チャネル音響符号化装置およびそのプログラム
CN106941004B (zh) * 2012-07-13 2021-05-18 华为技术有限公司 音频信号的比特分配的方法和装置
EP3503095A1 (en) * 2013-08-28 2019-06-26 Dolby Laboratories Licensing Corp. Hybrid waveform-coded and parametric-coded speech enhancement
EP2993665A1 (en) * 2014-09-02 2016-03-09 Thomson Licensing Method and apparatus for coding or decoding subband configuration data for subband groups
US9978388B2 (en) * 2014-09-12 2018-05-22 Knowles Electronics, Llc Systems and methods for restoration of speech components
US10277997B2 (en) 2015-08-07 2019-04-30 Dolby Laboratories Licensing Corporation Processing object-based audio signals
WO2020077046A1 (en) * 2018-10-10 2020-04-16 Accusonus, Inc. Method and system for processing audio stems

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5109417A (en) * 1989-01-27 1992-04-28 Dolby Laboratories Licensing Corporation Low bit rate transform coder, decoder, and encoder/decoder for high-quality audio
RU2090973C1 (ru) 1991-03-29 1997-09-20 Сони Корпорейшн Способ кодирования сигналов
US6167375A (en) * 1997-03-17 2000-12-26 Kabushiki Kaisha Toshiba Method for encoding and decoding a speech signal including background noise
DE19730130C2 (de) * 1997-07-14 2002-02-28 Fraunhofer Ges Forschung Verfahren zum Codieren eines Audiosignals
US6300888B1 (en) * 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
JP3739959B2 (ja) * 1999-03-23 2006-01-25 株式会社リコー デジタル音響信号符号化装置、デジタル音響信号符号化方法及びデジタル音響信号符号化プログラムを記録した媒体
JP2001154698A (ja) * 1999-11-29 2001-06-08 Victor Co Of Japan Ltd オーディオ符号化装置及びその方法
JP3597750B2 (ja) * 2000-04-11 2004-12-08 松下電器産業株式会社 グループ化方法及びグループ化装置
JP4635400B2 (ja) * 2001-09-27 2011-02-23 パナソニック株式会社 オーディオ信号符号化方法
JP3984468B2 (ja) * 2001-12-14 2007-10-03 松下電器産業株式会社 符号化装置、復号化装置及び符号化方法
WO2003038813A1 (en) * 2001-11-02 2003-05-08 Matsushita Electric Industrial Co., Ltd. Audio encoding and decoding device
JP4272897B2 (ja) * 2002-01-30 2009-06-03 パナソニック株式会社 符号化装置、復号化装置およびその方法
US7110941B2 (en) * 2002-03-28 2006-09-19 Microsoft Corporation System and method for embedded audio coding with implicit auditory masking
US20030215013A1 (en) * 2002-04-10 2003-11-20 Budnikov Dmitry N. Audio encoder with adaptive short window grouping
JP2003338998A (ja) * 2002-05-22 2003-11-28 Casio Comput Co Ltd 画像保存システム、及び画像保存装置
JP4062971B2 (ja) * 2002-05-27 2008-03-19 松下電器産業株式会社 オーディオ信号符号化方法
US7283968B2 (en) * 2003-09-29 2007-10-16 Sony Corporation Method for grouping short windows in audio encoding
JP2005165056A (ja) * 2003-12-03 2005-06-23 Canon Inc オーディオ信号符号化装置及び方法

Also Published As

Publication number Publication date
EP1706866A1 (en) 2006-10-04
US7840410B2 (en) 2010-11-23
DK1706866T3 (da) 2008-06-09
DE602005005441D1 (de) 2008-04-30
JP2007523366A (ja) 2007-08-16
CN1910656B (zh) 2010-11-03
WO2005071667A1 (en) 2005-08-04
IL176483A0 (en) 2006-10-05
CA2552881A1 (en) 2005-08-04
ATE389932T1 (de) 2008-04-15
JP5069909B2 (ja) 2012-11-07
US20080133246A1 (en) 2008-06-05
DE602005005441T2 (de) 2009-04-23
TW200534602A (en) 2005-10-16
KR20060131798A (ko) 2006-12-20
EP1706866B1 (en) 2008-03-19
AU2005207596A1 (en) 2005-08-04
HK1091024A1 (en) 2007-01-05
PL1706866T3 (pl) 2008-10-31
CN1910656A (zh) 2007-02-07

Similar Documents

Publication Publication Date Title
ES2299998T3 (es) Codificacion de audio basada en agrupamiento de bloques.
ES2463840T3 (es) Descodificación de trenes de bits codificados de audio multicanal usando transformación híbrida adaptativa
ES2627212T3 (es) Modificación de palabras de código en diccionario usado para codificación eficaz de datos espectrales de medio digital
ES2216367T3 (es) Aparato de codificacion y de decodificacion de señales de audio.
ES2334934T3 (es) Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel.
US8392202B2 (en) Low-complexity spectral analysis/synthesis using selectable time resolution
US20230086320A1 (en) Pyramid vector quantizer shape search
BRPI0520729B1 (pt) Método para a codificação e decodificação de sinais de áudio, codificador para codificação e decodificador para decodificar sinais de áudio e sistema para compressão de áudio digital.
US8457957B2 (en) Optimization of MP3 audio encoding by scale factors and global quantization step size
JP2007523366A5 (es)
PL208346B1 (pl) Sposób przesyłania współczynników skalowania percepcyjnego kodera akustycznego przy użyciu kraty w systemach transformacji i kodowania fonii
KR20090041439A (ko) 오디오 인코딩 시스템
US20100198585A1 (en) Quantization after linear transformation combining the audio signals of a sound scene, and related coder
KR20040055916A (ko) 시간-주파수 상관성을 이용한 개선된 오디오 부호화및/또는 복호화 방법과 그 장치
Chan et al. High fidelity audio transform coding with vector quantization
US20110135007A1 (en) Entropy-Coded Lattice Vector Quantization
Niamut et al. RD optimal time segmentations for the time-varying MDCT
US6775587B1 (en) Method of encoding frequency coefficients in an AC-3 encoder
JP5799824B2 (ja) オーディオ符号化装置、オーディオ符号化方法及びオーディオ符号化用コンピュータプログラム
MXPA06008224A (es) Codificacion de audio basada en el agrupamiento de bloques
Goodwin Multichannel matching pursuit and applications to spatial audio coding
EP2192577B1 (en) Optimization of MP3 encoding with complete decoder compatibility
US20220157326A1 (en) Method of generating residual signal, and encoder and decoder performing the method
Chan et al. A low-complexity, high-quality, 64-Kbps audio codec with efficient bit allocation
AU2012247062B2 (en) Adaptive Hybrid Transform for Signal Analysis and Synthesis