ES2299998T3 - Codificacion de audio basada en agrupamiento de bloques. - Google Patents
Codificacion de audio basada en agrupamiento de bloques. Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 claims abstract description 138
- 230000003595 spectral effect Effects 0.000 claims description 25
- 238000004458 analytical method Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 claims description 3
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000005192 partition Methods 0.000 description 78
- 239000013598 vector Substances 0.000 description 27
- 238000005457 optimization Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 22
- 239000000243 solution Substances 0.000 description 13
- 230000014509 gene expression Effects 0.000 description 10
- 238000005259 measurement Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000007667 floating Methods 0.000 description 9
- 230000000873 masking effect Effects 0.000 description 5
- 239000002131 composite material Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000011002 quantification Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000008030 elimination Effects 0.000 description 3
- 238000003379 elimination reaction Methods 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 1
- 206010021403 Illusion Diseases 0.000 description 1
- 241000258241 Mantis Species 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003637 basic solution Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000010183 spectrum analysis Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
- G10L19/032—Quantisation or dequantisation of spectral components
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech 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/60—Speech 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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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.
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.
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:
donde S es el vector (s_{0}, ...,
s_{p}),
y
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:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
La distorsión media A se define como sigue:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\newpage
Una distorsión de diferencia máxima, M'', se
define como sigue:
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:
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
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.
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.
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.
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.
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:
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.
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.
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}).
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
\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.
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.
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).
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
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
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).
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.
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)
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)
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 | オーディオ信号符号化装置及び方法 |
-
2005
- 2005-01-19 DK DK05711669T patent/DK1706866T3/da active
- 2005-01-19 KR KR1020067013739A patent/KR20060131798A/ko not_active Application Discontinuation
- 2005-01-19 JP JP2006551239A patent/JP5069909B2/ja not_active Expired - Fee Related
- 2005-01-19 CA CA002552881A patent/CA2552881A1/en not_active Abandoned
- 2005-01-19 PL PL05711669T patent/PL1706866T3/pl unknown
- 2005-01-19 DE DE602005005441T patent/DE602005005441T2/de active Active
- 2005-01-19 EP EP05711669A patent/EP1706866B1/en not_active Not-in-force
- 2005-01-19 AT AT05711669T patent/ATE389932T1/de not_active IP Right Cessation
- 2005-01-19 ES ES05711669T patent/ES2299998T3/es active Active
- 2005-01-19 AU AU2005207596A patent/AU2005207596A1/en not_active Abandoned
- 2005-01-19 US US10/586,834 patent/US7840410B2/en not_active Expired - Fee Related
- 2005-01-19 WO PCT/US2005/001715 patent/WO2005071667A1/en active Application Filing
- 2005-01-19 CN CN2005800028576A patent/CN1910656B/zh not_active Expired - Fee Related
- 2005-01-20 TW TW094101656A patent/TW200534602A/zh unknown
-
2006
- 2006-06-21 IL IL176483A patent/IL176483A0/en unknown
- 2006-10-19 HK HK06111518A patent/HK1091024A1/xx not_active IP Right Cessation
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 |