[go: up one dir, main page]

ES2218148T5 - Empleo de cuantificacion de ganancia adaptable y longitudes no uniformes de simbolos para codificcion de audio. - Google Patents

Empleo de cuantificacion de ganancia adaptable y longitudes no uniformes de simbolos para codificcion de audio. Download PDF

Info

Publication number
ES2218148T5
ES2218148T5 ES00922036T ES00922036T ES2218148T5 ES 2218148 T5 ES2218148 T5 ES 2218148T5 ES 00922036 T ES00922036 T ES 00922036T ES 00922036 T ES00922036 T ES 00922036T ES 2218148 T5 ES2218148 T5 ES 2218148T5
Authority
ES
Spain
Prior art keywords
components
subband
signal
block
component
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.)
Expired - Lifetime
Application number
ES00922036T
Other languages
English (en)
Other versions
ES2218148T3 (es
Inventor
Grant Allen Davidson
Charles Quito Robinson
Michael Mead Truman
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26968028&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2218148(T5) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US09/349,645 external-priority patent/US6246345B1/en
Application filed by Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Publication of ES2218148T3 publication Critical patent/ES2218148T3/es
Application granted granted Critical
Publication of ES2218148T5 publication Critical patent/ES2218148T5/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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
    • 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
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/0204Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders using subband decomposition
    • G10L19/0208Subband vocoders

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Un método para codificar una señal de entrada que comprende: recibir la señal de entrada y generar un bloque de señales de subbanda de componentes de señal de subbanda que representan una subbanda de frecuencia de la señal de entrada; comparar las magnitudes de las componentes del bloque de señales de subbanda con un umbral, poner cada componente en una de entre dos o más clases, de acuerdo con la magnitud de la componente, y obtener un factor de ganancia; aplicar el factor de ganancia a las componentes puestas en una de las clases para modificar las magnitudes de algunas de las componentes en el bloque de señales de subbanda; cuantificar las componentes en el bloque de subbandas; y ensamblar en una señal codificada la información de control que conduce la clasificación de las componentes y los símbolos de longitud no uniforme que representan las componentes de la señal de subbanda cuantificadas.

Description

Empleo de cuantificación de ganancia adaptable y longitudes no uniformes de símbolos para codificación de audio.
Campo técnico
El presente invento se refiere en general a señales de codificación y descodificación. El presente invento puede usarse ventajosamente para codificación y descodificación en banda partida, en que las señales de subbanda de frecuencia son codificadas por separado. El presente invento es particularmente útil en sistemas de codificación de audio perceptual.
Antecedentes en la técnica
Existe un interés continuado en codificar señales de audio digitales en una forma que impone bajos requisitos de capacidad de información en los canales de transmisión y en los medios de almacenamiento, y que sin embargo puede conducir las señales de audio codificadas con un alto nivel de calidad subjetiva. Los sistemas de codificación perceptual tratan de conseguir estos objetivos contradictorios usando para ello un proceso por el que se codifican y cuantifican las señales de audio de manera que se hace uso de mayores componentes espectrales dentro de la señal de audio para enmascarar o hacer inaudible el ruido de cuantificación resultante. En general, es ventajoso controlar la forma y la amplitud del espectro del ruido de cuantificación de modo que el mismo esté justamente por debajo del umbral de enmascaramiento psicoacústico de la señal a ser codificada.
Un proceso de codificación perceptual puede llevarse a cabo mediante un denominado codificador de banda partida, que aplica un banco de filtros de análisis a la señal de audio para obtener señales de subbanda que tienen anchuras de banda que son conmensurables con las bandas críticas del sistema auditivo humano, estima el umbral de enmascaramiento de la señal de audio aplicando para ello un modelo perceptual a las señales de subbanda o a alguna otra medida del contenido espectral de la señal de audio, establece tamaños del paso de cuantificación para cuantificar las señales de subbanda que son justo lo suficientemente pequeños como para que el ruido de cuantificación resultante esté justo por debajo del umbral de enmascaramiento estimado de la señal de audio, cuantifica las señales de subbanda de acuerdo con los tamaños del paso de cuantificación establecidos, y ensambla en una señal codificada una pluralidad de símbolos que representan las señales de subbanda cuantificadas. Un proceso de descodificación perceptual complementario puede ser efectuado mediante un descodificador de banda partida que extrae los símbolos de la señal codificada y recupera de la misma las señales de subbanda cuantificadas, obtiene una representación descuantificada de las señales de subbanda cuantificadas, y aplica un banco de filtros de síntesis a las representaciones descuantificadas para generar una señal de audio que es, idealmente, indiferenciable perceptualmente de la señal de audio
original.
En los procesos de codificación en estos sistemas de codificación se suele usar un símbolo de longitud uniforme para representar los elementos o componentes de la señal cuantificados en cada señal de subbanda. Desafortunadamente, el uso de símbolos de longitud uniforme impone una capacidad de información mayor de la que es necesaria. La capacidad de información requerida puede reducirse usando para ello símbolos de longitud no uniforme para representar las componentes cuantificadas en cada señal de subbanda.
Una técnica para proporcionar símbolos de longitud no uniforme para codificar señales de subbanda se ha descrito en la Patente de EE.UU. Nº 5.924.064. De acuerdo con esta técnica, se usa la potencia calculada de cada señal de subbanda para categorizar la señal de subbanda, lo cual determina un tamaño del paso de cuantificación respectivo y una tabla de codificación de entropía para la codificación de Huffman de las componentes de la señal de subbanda cuantificadas. Típicamente, las tablas de códigos de Huffman se han diseñado usando "señales de entrenamiento" que han sido seleccionadas para representar las señales a ser codificadas en aplicaciones reales. La codificación de Huffman puede proporcionar muy buena ganancia de codificación si la función de densidad de probabilidad (PDF) media de las señales de entrenamiento está razonablemente próxima a la PDF de la señal real a ser codificada, y si la PDF no es plana.
Si la PDF de la señal real a ser codificada no está próxima a la PDF media de las señales de entrenamiento, la codificación de Huffman no realizará una ganancia de la codificación, sino que puede incurrir en una falta de codificación, aumentando los requisitos de capacidad de información de la señal codificada. Este problema puede reducirse al mínimo usando para ello múltiples libros de código correspondientes a las diferentes señales de PDF; sin embargo, se requiere un espacio adicional de almacenamiento para almacenar los libros de código y se requiere un procesado adicional para codificar la señal de acuerdo con cada libro de código y escoger luego la que proporcione los mejores resultados.
Subsiste la necesidad de una técnica de codificación que pueda representar bloques de componentes de señal de subbanda cuantificadas usando símbolos de longitud no uniforme dentro de cada subbanda, es decir, que no dependa de ninguna PDF particular de los valores de las componentes, y que pueda ser llevada a cabo eficazmente usando un mínimo de recursos de cálculo y de memoria.
Exposición del invento
Un objeto del presente invento es el de proporcionar las ventajas que pueden obtenerse mediante el uso de símbolos de longitud no uniforme para representar componentes de señal cuantificadas, tales como componentes de señal de subbanda dentro de una subbanda de frecuencia respectiva en un sistema de codificación de banda partida.
El presente invento consigue este objetivo usando una técnica que no depende de ningún PDF particular de valores de las componentes para conseguir una buena ganancia de codificación y que puede ser puesta en práctica eficazmente usando un mínimo de recursos de cálculo y de memoria. En algunas aplicaciones, los sistemas de codificación pueden usar ventajosamente características del presente invento, conjuntamente con otras técnicas, como la de codificación de Huffman.
De acuerdo con los principios según un aspecto del presente invento, un método para codificar una señal de entrada comprende recibir la señal de entrada y generar un bloque de señales de subbanda de componentes de señal de subbanda que representan una subbanda de frecuencia de la señal de entrada; comparar las magnitudes de las componentes del bloque de la señal de subbanda con un umbral, poner cada componente en una de entre dos o más clases de acuerdo con la magnitud de la componente, y obtener un factor de ganancia; aplicar el factor de ganancia a las componentes situadas en una de las clases para modificar las magnitudes de algunas de las componentes en el bloque de señales de subbanda, cuantificar las componentes en el bloque de señales de subbanda; y ensamblar en una señal codificada la información de control que conduce a la clasificación de las componentes y símbolos de longitud no uniforme que representan las componentes de la señal de subbanda cuantificadas.
De acuerdo con los principios según otro aspecto del presente invento, un método para descodificar una señal codificada comprende recibir la señal codificada y obtener de ella información de control y símbolos de longitud no uniforme, y obtener de los símbolos de longitud no uniforme componentes de señal de subbanda cuantificadas que representan una subbanda de frecuencia de una señal de entrada; descuantificar las componentes de la señal de subbanda para obtener componentes descuantificadas de la señal de subbanda; aplicar un factor de ganancia para modificar magnitudes de algunos de los componentes descuantificados, de acuerdo con la información de control; y generar una señal de salida en respuesta a las componentes descuantificadas de la señal de subbanda.
Estos métodos pueden ser incorporados en un medio como un programa de instrucciones que puede ser ejecutado por un dispositivo para pone en práctica el presente invento.
De acuerdo con los principios según otro aspecto de presente invento, un aparato para calificar una señal de entrada comprende un filtro de análisis que tiene una entrada que recibe la señal de entrada y que tiene una salida a través de la cual se proporciona un bloque de señales de subbanda de componentes de señal de subbanda que representan una subbanda de frecuencia de la señal de entrada; un analizador del bloque de señales de subbanda acoplado al filtro de análisis, que compara magnitudes de las componentes en el bloque de señales de subbanda con un umbral, pone a cada componente en una de entre dos o más clases, de acuerdo con la magnitud de la componente, y obtiene un factor de ganancia; un procesador de componentes de señal de subbanda acoplado al analizador del bloque de señales de subbanda que aplica el factor de ganancia a las componentes puestas en una de las clases para modificar las magnitudes de algunas de las componentes en el bloque de señales de subbanda; un primer cuantificador acoplado al procesador de señales de subbanda que cuantifica las componentes del bloque de señales de subbanda que tienen las magnitudes modificadas de acuerdo con el factor de ganancia; y un formateador acoplado al primer cuantificador que ensambla símbolos de longitud no uniforme que representan las componentes de la señal de subbanda cuantificadas e información de control que conduce a la clasificación de las componentes en una señal codificada.
De acuerdo con los principios según todavía otro aspecto del presente invento, en un aparato para descodificar una señal codificada, el aparato comprende un desformateador que recibe la señal codificada y obtiene de la misma información de control y símbolos de longitud no uniforme, y obtiene de los símbolos de longitud no uniforme componentes de la señal de subbanda cuantificadas; un primer descuantificador acoplado al desformateador, que descuantifica algunas de las componentes de la señal de subbanda en el bloque, de acuerdo con la información de control, para obtener primeras componentes descuantificadas; un procesador de bloque de señales de subbanda acoplado al primer descuantificador, que aplica un factor de ganancia para modificar las magnitudes de algunas de las primeras componentes descuantificadas en el bloque de señales de subbanda, de acuerdo con la información de control; y un filtro de síntesis que tiene una entrada acoplada al procesador de las señales de subbanda y que tiene una salida a través de la cual se proporciona una señal de salida.
De acuerdo con los principios según todavía otro aspecto del presente invento, un medio conduce (1) símbolos de longitud no uniforme que representan componentes de señal de subbanda cuantificadas, en que las componentes de la señal de subbanda cuantificadas corresponden a elementos de un bloque de señales de subbanda que representa una subbanda de frecuencia de una señal de audio; (2) información de control, que indica una clasificación de las componentes de la señal de subbanda cuantificadas, de acuerdo con las magnitudes de los correspondientes elementos del bloque de señales de subbanda; y (3) una indicación de un factor de ganancia que pertenece a magnitudes de las componentes de la señal de subbanda cuantificadas, de acuerdo con la información de control.
\global\parskip0.920000\baselineskip
Las diversas características del presente invento y sus realizaciones preferidas podrán comprenderse mejor si se hace referencia al estudio que sigue y a los dibujos que se acompañan, en los cuales los números de referencia que son iguales hacen referencia a los mismos elementos en las varias figuras. El contenido del estudio que sigue, y los dibujos, se exponen únicamente como ejemplos, y no debe entenderse que representen limitaciones en cuanto al alcance del presente invento.
Breve descripción de los dibujos
La Fig. 1 es un diagrama bloque de un codificador de onda partida que incorpora cuantificación adaptable por la ganancia.
La Fig. 2 es un diagrama bloque de un descodificador de onda partida que incorpora descuantificación adaptable por la ganancia.
La Fig. 3 es un organigrama en el que se ilustran los pasos de un proceso de asignación de bits reiterativo.
Las Figs. 4 y 5 son ilustraciones gráficas de bloques hipotéticos de componentes de señales de subbanda y de los efectos de aplicar la ganancia a las componentes.
La Fig. 6 es un diagrama bloque de etapas de ganancia en cascada, para cuantificación adaptable por la ganancia.
Las Figs. 7 y 8 son ilustraciones gráficas de funciones de cuantificación.
Las Figs. 9A a 9C ilustran cómo se puede realizar una función de cuantificación de intervalo partido usando una transformación de planificación.
Las Figs. 10 a 12 son ilustraciones gráficas de funciones de cuantificación.
La Fig. 13 es un diagrama bloque de un aparato que puede usarse para poner en práctica varios aspectos del presente invento.
Modos para la puesta en práctica del invento A. Sistema de Codificación
El presente invento está orientado hacia la mejora del rendimiento de la representación de información cuantificada, tal como de información de audio, y encuentra aplicación ventajosa en los sistemas de codificación que usan codificadores de banda partida y descodificadores de banda partida. En las Figs. 1 y 2 se han ilustrado, respectivamente, realizaciones de un codificador de banda partida y de un descodificador de banda partida que incorporan varios aspectos del presente invento.
1. Codificador a) Filtrado de Análisis
En la Fig. 1, el banco de filtros de análisis 12 recibe una señal de entrada por el camino 11, divide la señal de entrada en señales de subbanda que representan subbandas de frecuencia de la señal de entrada, y pasa las señales de subbanda a lo largo de los caminos 13 y 23. Para claridad de la ilustración, las realizaciones representadas en las Figs. 1 y 2 ilustran componentes para solamente dos subbandas; no obstante, es corriente que un codificador y un descodificador de banda partida en un sistema de codificación perceptual procesen muchas más subbandas que tengan anchuras de banda que sean conmensurables con las anchuras de banda críticas del sistema auditivo humano.
El banco de filtros de análisis 12 puede ser realizado en una gran diversidad de modos, incluidos los de filtros de polifase, filtros de malla, filtros de espejo de cuadratura (QMF), varias transformaciones de bloque de dominio de tiempo a dominio de frecuencia, incluyendo transformaciones del tipo se serie de Fourier, transformaciones de bancos de filtros modulados según la función coseno y transformaciones de pequeñas ondas. En realizaciones preferidas, el banco de filtros se realiza por ponderación o modulación de bloques solapados de muestras de audio digitales con una función de ventana de análisis y aplicando una Transformación de Función Coseno Discreta Modificada (MDCT) particular a los bloques de ventana-ponderados. Esta MDCT se denomina transformación de Cancelación de la "Aliasing" en el Dominio del Tiempo (TDAC) (Aliasing = Aspecto serrado de las diagonales al imprimir o en el monitor de vídeo) y se ha descrito por Princen, Johnson y Bradley en "Subband/Transform Coding Using Filter Bank Designs Based on Time Domain Aliasing Cancellation" (Codificación de Subbanda/Transformación Usando Diseños de Banco de Filtros Basados en Cancelación de "Aliasing" en el Dominio del Tiempo), Proc. Inc. Conf. Acoust. Speech and Signal Proc. mayo 1987, págs. 2161-2164. Aunque la elección de la forma de la realización puede tener un profundo efecto en las actuaciones del sistema de codificación, ninguna realización particular del banco de filtros de análisis es importante en cuanto a su concepto para el presente invento.
Las señales de subbanda pasadas a lo largo de los caminos 13 y 23 comprenden, cada una, componentes de señal de subbanda que están dispuestas en bloques. En una realización preferida, cada bloque de señales de subbanda está representado en una forma de bloque escalado, en la cual las componentes están escaladas con respecto a un factor de escala. Puede usarse, por ejemplo, una forma de bloque en coma flotante (BFF).
\global\parskip1.000000\baselineskip
Si se realiza el banco de filtros de análisis 12 en una forma de bloque, por ejemplo, se generan señales de subbanda aplicando para ello la transformación a un bloque de muestras de señales de entrada para generar un bloque de coeficientes de transformación, y agrupando después uno o más coeficientes de transformación adyacentes, para formar los bloques de señales de subbanda. Si se realiza el banco de filtros de análisis 12 mediante otro tipo de filtro digital, tal como un QMF, por ejemplo, se generan las señales de subbanda aplicando para ello el filtro a una secuencia de muestras de señales de entrada para generar una secuencia de muestras de señales de subbanda para cada subbanda de frecuencia y agrupando luego las muestras de señales de subbanda en bloques. Las componentes de las señales de subbanda para estos dos ejemplos son coeficientes de transformación y muestras de señales de subbanda, respectivamente.
b) Modelización Perceptual
En una realización preferida de un sistema de codificación perceptual, el codificador usa un modelo perceptual para establecer un tamaño del paso de cuantificación respectivo para cuantificar cada señal de subbanda. En la Fig. 3 se ha ilustrado un método en el que se usa un modelo perceptual para asignar bits por adaptación. De acuerdo con este método, en el paso 51 se aplica un modelo perceptual a información que representa características de la señal de entrada para establecer un espectro de ruido de cuantificación deseado. En muchas realizaciones, los niveles de ruido en este espectro corresponden al umbral de enmascaramiento psicoacústico estimado de la señal de entrada. En el paso 52 se establecen los tamaños del paso de cuantificación de los pasos de cuantificación propuestos para cuantificar las componentes de los bloques de las señales de subbanda. En el paso 53 se determinan las asignaciones de bits que se requieren para obtener los tamaños del paso de cuantificación propuestos para todas las componentes de señales de subbanda. Preferiblemente, se deja un margen para tener en cuanta los efectos de extensión del ruido del banco de filtros de síntesis en el descodificador de banda partida a ser usado para descodificar la señal codificada. En la Patente de EE.UU. Nº 5.623.577 y en la Solicitud de Patente de EE.UU. Nº de Serie 09/289.865 de Ubale, y otros, titulada "Quantization in Perceptual Audio Coders with Compensation for Synthesis Filter Noise Spreading" ("Cuantificación en Codificadores de Audio Perceptuales con Compensación de la Extensión del Ruido del Filtro de Síntesis", presentada con fecha 12 de abril de 1999. que quedan aquí ambas incorporadas por sus referencias, se han descrito varios métodos para determinar tal margen.
En al paso 54 se determina si el total de las asignaciones requeridas difiere significativamente del número total de bits de que se dispone para cuantificación. Si la asignación total es demasiado alta, en el paso 55 se aumentan los tamaños del paso de cuantificación propuestos. Si la asignación total es demasiado baja, en el paso 55 se disminuyen los tamaños del paso de cuantificación propuestos. El proceso retorna al paso 53 y reitera este proceso hasta que en el paso 54 determine que la asignación total requerida para obtener los tamaños del paso de cuantificación propuestos está suficientemente próxima al número total de bits disponibles. A continuación, en el paso 56 se cuantifican las componentes de las señales de subbanda de acuerdo con los tamaños del paso de cuantificación establecidos.
c) Cuantificación Adaptable por la Ganancia
Se puede incorporar la cuantificación adaptable por la ganancia en el método descrito en lo que antecede incluyendo para ello varios aspectos del presente invento en el paso 53, por ejemplo. Aunque el método descrito en lo que antecede es típico de muchos sistemas de codificación perceptual, el mismo es tan solo un ejemplo de un proceso de codificación que puede incorporar el presente invento. Se puede usar el presente invento en sistemas de codificación en los que se usen esencialmente cualesquiera criterios subjetivos y/o objetivos para establecer el tamaño del paso para cuantificar las componentes de la señal. Para facilitar su estudio, se han usado aquí realizaciones simplificadas para explicar varios aspectos del presente invento.
El bloque de señales de subbanda para una subbanda de frecuencia es hecho pasar a lo largo del camino 13 al analizador 14 de señales de subbanda, el cual compara la magnitud de las componentes de las señales de subbanda de cada bloque con un umbral, y pone a cada componente en una de entre dos clases, de acuerdo con la magnitud de la componente. La información de control que conduce la clasificación de los componentes es hecha pasar al formateador 19. En una realización preferida, las componentes que son de una magnitud igual o menor que el umbral son puestas en una primera clase. El analizador 14 de señales de subbanda obtiene también un factor de ganancia para uso posterior. Como se explicará en lo que sigue, preferiblemente el valor del factor de ganancia está relacionado de alguna manera con el nivel del umbral. Por ejemplo, el umbral puede ser expresado como una función de solamente el factor de ganancia. Alternativamente, se puede expresar el umbral como una función del factor de ganancia y por otras consideraciones.
Las componentes de la señal de subbanda que son puestas en la primera clase son pasadas al elemento de ganancia 15, el cual aplica el factor de ganancia obtenido por el analizador 14 de señales de subbanda a cada componente de la primera clase, y las componentes modificadas por la ganancia son luego pasadas al cuantificador 17. El cuantificador 17 cuantifica las componentes modificadas por la ganancia de acuerdo con un primer tamaño del paso de cuantificación y pasa las componentes cuantificadas resultantes al formateador 19. En una realización preferida, el primer tamaño del paso de cuantificación se establece de acuerdo con un modelo perceptual y de acuerdo con el valor del umbral usado por el analizador 14 de señales de subbanda.
Las componentes de la señal de subbanda que no son puestas en la primera clase son pasadas a lo largo del camino 16 al cuantificador 18, el cual cuantifica esas componentes de acuerdo con un segundo tamaño del paso de cuantificación. El segundo tamaño del paso de cuantificación puede ser igual al primer tamaño del paso de cuantificación; sin embargo, en una realización preferida, el segundo tamaño del paso de cuantificación es menor que el primer tamaño del paso de cuantificación.
El bloque de señales de subbanda para la segunda subbanda de frecuencia es hecho pasar a lo largo del camino 23 y es procesado por el analizador 24 de señales de subbanda, el elemento de ganancia 25, y los cuantificadores 27 y 28, de la misma manera que se describió en lo que antecede para la primera subbanda de frecuencia. En una realización preferida, el umbral usado para cada subbanda de frecuencia es adaptable e independiente del umbral usado para otras subbandas de frecuencia.
d) Formateo de la Señal Codificada
El formateador 19 ensambla la información de control que conduce la clasificación de las componentes y los símbolos de longitud no uniforme que representan las componentes de señal de subbanda cuantificadas en una señal codificada, y pasa la señal codificada a lo largo del camino 20 para que sea conducida por medios de transmisión que incluyen caminos de comunicación de banda de base o modulada a través del espectro que incluye desde las frecuencias supersónicas a las ultravioleta, o bien por medios de almacenamiento que incluyen cinta magnética, disco magnético y disco óptico, que conducen información usando una tecnología de registro magnético o de registro óptico.
Los símbolos usados para representar las componentes cuantificadas pueden ser idénticos a los valores cuantificados, o bien pueden ser de algún tipo de código derivado de los valores cuantificados. Por ejemplo, los símbolos pueden ser obtenidos directamente de un cuantificador, o bien pueden ser obtenidos por algún proceso tal como el de codificación de Huffman de los valores cuantificados. Los propios valores cuantificados pueden ser fácilmente usados como los símbolos de longitud no uniforme, debido a que se pueden asignar números de bits no uniformes a las componentes de la señal de subbanda cuantificadas en una subbanda,
2. Descodificador a) Desformateo de la Señal Codificada
En la Fig. 2, el desformatedor 32 recibe una señal codificada por el camino 31 y obtiene de la misma símbolos que representan componentes de la señal de subbanda cuantificadas e información de control que conduce la clasificación de las componentes. Se pueden aplicar procesos de descodificación en la medida en que sea necesario para deducir las componentes cuantificadas de los símbolos. En una realización preferida, se ponen las componentes modificadas por la ganancia en una primera clase. El desformateador 32 obtiene también cualquier información que pueda ser necesaria, mediante cualesquiera modelos perceptuales o procesos de asignación de bits, por ejemplo.
b) Descuantificación Adaptable por la Ganancia
El descuantificador 33 recibe las componentes para un bloque de señales de subbanda que son puestas en la primera clase, las descuantifica de acuerdo con un primer tamaño del paso de cuantificación, y pasa el resultado al elemento de ganancia 35. En una realización preferida, el primer tamaño del paso de cuantificación se establece de acuerdo con un modelo perceptual y de acuerdo con un umbral que se usó para clasificar las componentes de la señal de subbanda.
El elemento de ganancia 35 aplica un factor de ganancia a las componentes descuantificadas recibidas del descuantificador 33, y pasa las componentes modificadas por la ganancia a la fusión 37. El funcionamiento del elemento de ganancia 35 invierte las modificaciones por la ganancia proporcionadas por el elemento de ganancia 15 en el codificador compañero. Como se ha explicado en lo que antecede, preferiblemente este factor de ganancia está asociado al umbral que se usó para clasificar las componentes de la señal de subbanda.
Las componentes de la señal de subbanda que no están puestas en la primera clase son pasadas al descuantificador 34, el cual descuantifica esas componentes de acuerdo con un segundo tamaño del paso de cuantificación, y pasa el resultado a la fusión 37. El segundo tamaño del paso de cuantificación puede ser igual al primer tamaño del paso de cuantificación; no obstante, en una realización preferida, el segundo tamaño del paso de cuantificación es más pequeño que el primer tamaño del paso de cuantificación.
En la fusión 37 se forma un bloque de señales de subbanda fundiendo para ello las componentes descuantificadas modificadas por la ganancia recibidas del elemento de ganancia 35 con las componentes descuantificadas recibidas del descuantificador 36, y pasa el bloque de señales de subbanda resultante a lo largo del camino 38, al banco de filtros de síntesis 39.
Las componentes cuantificadas en el bloque de señales de subbanda para la segunda subbanda de frecuencia son procesadas por descuantificadores 43 y 44, el elemento de ganancia 45, y la fusión 47, de la misma manera que se describió en lo que antecede para la primera subbanda de frecuencia, y pasa el bloque de señales de subbanda resultante a lo largo del camino 48, al banco de filtros de síntesis 39.
c) Filtrado de Síntesis
El banco de filtros de síntesis 39 puede realizarse en una gran diversidad de formas, que con complementarias a las formas antes consideradas para realizar el banco de filtros de análisis 12. Se genera una señal de salida a lo largo del camino 40 en respuesta a los bloques de componentes de señal de subbanda recibidas por los caminos 38 y 48.
B. Características 1. Clasificación de Componentes de la Señal de Subbanda a) Función de Umbral Simplificada
Los efectos de la cuantificación adaptable por la ganancia pueden apreciarse haciendo para ello referencia a la Fig. 4, en la que se han ilustrado los bloques hipotéticos 111, 112 y 113 de componentes de la señal de subbanda. En el ejemplo ilustrado, cada bloque de señal de subbanda comprende ocho componentes numerados del 1 al 8. Cada componente está representada por una línea vertical, y la magnitud de cada componente está representada por la altura de la respectiva línea. Por ejemplo, la componente 1 en el bloque 111 tiene una magnitud ligeramente mayor que el valor 0,25, como se ha ilustrado en el eje de ordenadas en el gráfico.
La línea 102 representa un umbral al nivel 0,50. Cada componente del bloque 111 puede ponerse en una de entre dos clases, comparando para ello las magnitudes de las respectivas componentes con el umbral. Las componentes que tienen una magnitud igual o menor que el umbral se ponen en una primera clase. Las restantes componentes se ponen en una segunda clase. Alternativamente, se pueden obtener resultados ligeramente diferentes si se clasifican las componentes poniendo para ello en la primera clase aquellas componentes que tengan una magnitud estrictamente menor que el umbral. Para facilitar el análisis, las comparaciones con el umbral hechas de acuerdo con el primer ejemplo se asumirán y se mencionarán aquí más en particular.
Las componentes en el bloque 112 se obtienen aplicando para ello un factor de ganancia de dos a cada componente del bloque 111 que se ponga en la primera clase. Por ejemplo, la magnitud de la componente 1 en el bloque 112, la cual es ligeramente mayor que 0,500, se obtiene multiplicando para ello la magnitud de la componente 1 en el bloque 111 por un factor de ganancia igual a dos. A la inversa, la magnitud de la componente 2 en el bloque 112 es igual a la magnitud de la componente 2 en el bloque 111, debido a que esa componente fue puesta en la segunda clase y no es modificada por el factor de ganancia.
La línea 104 representa un umbral al nivel 0,25. Cada componente en el bloque 111 puede ser puesta en una de entre dos clases, comparando para ello las magnitudes de las respectivas componentes con ese umbral y poniendo las componentes que tengan una magnitud igual o menor que el umbral en una primera clase. Las restantes componentes se ponen en una segunda clase.
Las componentes en el bloque 113 se obtienen aplicando un factor de ganancia de cuatro a cada componente en el bloque 111 que hay sido puesta en la primera clase. Por ejemplo, la magnitud de la componente 3 en el bloque 113, que es de aproximadamente 0,44, se obtiene multiplicando la magnitud de la componente 3 del bloque 111, que es de aproximadamente 0,11, por un factor de ganancia igual a cuatro. A la inversa, la magnitud de la componente 1 en el bloque 113 es igual a la magnitud de la componente 1 en el bloque 111, debido a que esta componente fue puesta en la segunda clase y no es modificada por el factor de ganancia.
El umbral puede expresarse como función de solamente el factor de ganancia. Como se ha ilustrado mediante estos dos ejemplos, el umbral puede expresarse como
(1)Th = 1/G
donde
Th = el valor umbral; y
G = factor de ganancia.
b) Función Umbral Alternativa
Desafortunadamente, un umbral obtenido mediante la expresión (1) puede ser demasiado grande, debido a que una componente de la señal de subbanda que tenga una magnitud que sea ligeramente menor que el umbral Th, cuando sea modificada por el factor de ganancia G, puede sobrecargar al cuantificador.
Se dice que un valor sobrecarga a un cuantificador si el error de cuantificación de ese valor excede de la mitad del tamaño del paso de cuantificación. Para cuantificadores simétricos que tengan un tamaño del paso de cuantificación uniforme que cuantifique valores dentro de un margen desde aproximadamente -1 hasta +1, la región de cantidades positivas que sobrecargan al cuantificador puede expresarse como
(2a)Q_{OL} > Q_{MAX} + \frac{\Delta Q}{2}
y la región de valores negativos que sobrecarga al cuantificador puede expresarse como
(2b)Q_{OL} < - Q_{MAX} - \frac{\Delta Q}{2}
donde
Q_{OL} = un valor que sobrecarga al cuantificador;
Q_{MAX} = valor cuantificado positivo máximo; y
\DeltaQ = tamaño del paso de cuantificación.
Para un cuantificador con signo de media huella simétrico de b bits que tenga un tamaño del paso de cuantificación uniforme, que cuantifique valores dentro de un margen desde aproximadamente -1 a +1, el valor cuantificado positivo máximo Q_{MAX} es igual a 1-2^{1-b}, el tamaño del paso de cuantificación \DeltaQ es igual a 2^{1-b}, y la mitad del tamaño del paso de cuantificación es igual a 2^{-b}. La expresión (2a) para valores de sobrecarga positivos puede escribirse también como
(3a)Q_{OL} > 1 - 2^{1-b} + 2^{-b} = 1 - 2^{-b}
y la expresión (2b) para valores negativos de la sobrecarga puede escribirse también como
(3b)Q_{OL} < - (1-2^{1-b}) - 2^{-b} = -1 + 2^{-b}
La línea 100 en la Fig. 4 representa el límite de los valores positivos de la sobrecarga para un cuantificador con signo de media huella simétrico de 3 bits. El margen negativo de este cuantificador no se ha representado. El valor cuantificado positivo máximo para este cuantificador es de 0,75 = (1-2^{1-3\text{*}}) y la mitad del tamaño del paso de cuantificación es 0,125 = 2^{-3}; por lo tanto, el límite para los valores positivos de la sobrecarga para este cuantificador es de 0,875 = (1 - 2^{-3}). El límite para los valores negativos de la sobrecarga es de -0,875.
La componente 5 en el bloque 111 tiene una magnitud que es ligeramente menor que el umbral del valor 0,500. Cuando se aplica a esta componente un factor de ganancia igual a dos, la magnitud resultante excede del límite de sobrecarga del cuantificador. Un problema similar se planta para la componente 6 cuando se usa un umbral igual a 0,250, con un factor de ganancia igual a 4.
Un valor umbral para cantidades positivas que evite la sobrecarga y planifique de modo óptimo el dominio de los valores de las componentes positivas en la primera clase en el margen positivo de un cuantificador puede expresarse como
(4a)Th = \frac{Q_{OL}}{G}
El umbral para las cantidades negativas puede expresarse como
(4b)Th = -\frac{Q_{OL}}{G}
En todo lo que queda de este estudio, solamente se considerará el umbral positivo. Con esta simplificación no se pierde ninguna generalidad, debido a que aquellas operaciones en que se comparan magnitudes de componentes con un umbral positivo son equivalentes a otras operaciones en que se comparen amplitudes de componentes con umbrales positivos y negativos.
Para el cuantificador con signo de media huella, simétrico, de b bits descrito en lo que antecede, la función umbral de la expresión (4a) puede escribirse también como
(5)Th = \frac{1 \ \text{-} \ 2^{-b}}{G}
Los efectos de la cuantificación adaptable por la ganancia usando ese umbral alternativo se han ilustrado en la Fig. 5, en la cual se han ilustrado los bloques hipotéticos 121, 122, 123 y 124 de las componentes de la señal de subbanda. En el ejemplo ilustrado, cada bloque de señales de subbanda comprende ocho componentes numeradas del 1 al 8, cuyas magnitudes están representadas por las longitudes de las respectivas líneas verticales. Las líneas 102 y 104 representan los umbrales para un cuantificador con signo de media huella simétrico de 3 bits para factores de ganancia iguales a 2 y 4, respectivamente. La línea 100 representa el límite de los valores positivos de sobrecarga para este cuantificador.
Las componentes del bloque 122 de señales de subbanda pueden obtenerse comparando las magnitudes de las componentes del bloque 121 con el umbral 102 y aplicando una ganancia de G = 2 a las componentes que tengan magnitudes iguales o menores que el umbral. Análogamente, las componentes del bloque 123 de señales de subbanda pueden obtenerse comparando las magnitudes de las componentes del bloque 121 con el umbral 104 y aplicando una ganancia de G = 4 a las componentes que tengan magnitudes iguales o menores que ese umbral. Las componentes del bloque 124 de señales de subbanda pueden obtenerse usando una técnica de cascada, que se describe en lo que sigue. A diferencia de los ejemplos ilustrados en la Fig. 4 para el primer umbral considerado en lo que antecede, ninguna de las componentes modificadas por la ganancia representadas en la Fig. 5 excede del límite de sobrecarga del cuantificador.
Por una parte, el umbral alternativo de acuerdo con la expresión (5) es deseable, debido a que el mismo evita la sobrecarga del cuantificador para componentes de pequeña magnitud de la primera clase y carga de modo óptimo el cuantificador. Por otra parte, este umbral puede no ser deseable en algunas realizaciones, en las que se busque un tamaño del paso de cuantificación óptimo, debido a que el umbral no puede ser determinado hasta que se haya establecido el tamaño del paso de cuantificación. En realizaciones en las que se adapte el tamaño del paso de cuantificación mediante la asignación de bits, no se puede establecer el tamaño del paso de cuantificación hasta que sea conocida la asignación de bits b para un bloque de señales de subbanda respectivo. Esta desventaja se explica con más detalle en lo que sigue.
2. Cuantificación
Preferiblemente, el tamaño del paso de cuantificación de los cuantificadores usados para cuantificar componentes de un bloque de señales de subbanda es adaptado en respuesta al factor de ganancia para ese bloque. En una realización en la que se usa un proceso similar al considerado en lo que antecede e ilustrado en la Fig. 3, se signa un número de bits b a cada componente dentro de un bloque de señales de subbanda, y luego se adaptan el tamaño del paso de cuantificación, y posiblemente la asignación de bits, para cada componente, de acuerdo con el factor de ganancia seleccionado para ese bloque. Para esta realización, el factor de ganancia se selecciona de entre cuatro posibles valores que representan ganancias de 1, 2, 4 y 8. Las componentes dentro de ese bloque se cuantifican usando un cuantificador con signo de media huella simétrico.
A las componentes de magnitudes mayores que no estén clasificadas en la primera clase y que no hayan sido modificadas por la ganancia se les asigna el mismo número b de bits que el que se habría asignado sin el beneficio del presente invento. En una realización alternativa, en la que se usa una función de cuantificación de intervalo partido considerada en lo que sigue, la asignación de bits para esas componentes de magnitudes mayores puede reducirse en lo correspondiente a algunos factores de ganancia.
A las componentes de magnitudes menores que se hayan clasificado en la primera clase y que sean modificadas por la ganancia se les asigna un número de bits de acuerdo con los valores representados en la Tabla I.
\vskip1.000000\baselineskip
TABLA 1
1
Un factor de ganancia igual a 1 para un bloque de señales de subbanda particular indica que la característica de modificación por la ganancia del presente invento no es aplicada a ese bloque; por lo tanto, se asigna a cada componente el mismo número b de bits que el que se asignaría sin el beneficio del presente invento. El uso del factor de ganancia G = 2, 4 y 8 para un bloque de señales de subbanda particular puede proporcionar potencialmente el beneficio de una asignación reducida de 1, 2, y 3 bits, respectivamente, para cada componente de magnitud más pequeña en el bloque de subbandas.
Las asignaciones ilustradas en la Tabla I están sujetas a la limitación de que el número de bits asignados cada componente no puede ser menor que uno. Por ejemplo, si el proceso de asignación de bits asignase b = 3 bits a las componentes de un bloque de señales de subbanda particular, y se seleccionase un factor de ganancia G = 8 para ese bloque, la asignación de bits para las componentes de magnitud más pequeña se reduciría a un bit, en vez de a cero bits, como sugiere la Tabla I. El efecto que se pretende con la modificación de la ganancia y el ajuste de la asignación de bits es el de conservar esencialmente la misma relación de señal a ruido de cuantificación usando un menor número de bits. Si se desea, en una realización se puede evitar la selección de cualquier factor de ganancia que no reduzca el número de bits asignados.
3. Información de Control
Como se ha explicado en lo que antecede, el analizador 14 de señales de subbanda proporciona información de control al formateador 19 para ensamblaje en la señal codificada. Esa información de control conduce la clasificación para cada componente de un bloque de señales de subbanda. Esta información de control puede ser incluida en la señal codificada en una diversidad de formas.
Una forma de incluir la información de control es la de meter dentro de la señal codificada una cadena de bits para cada bloque de señales de subbanda, en la cual corresponda un bit a cada componente del bloque. Un bit establecido en un valor, en el valor 1, por ejemplo, indicaría que la correspondiente componente no es una componente modificada por la ganancia, y un bit establecido en el otro valor, el cual es el valor 0 en este ejemplo, indicaría que la componente correspondiente es una componente modificada por la ganancia. Otra forma de incluir la información de control es la de meter un "código de escape" especial en la señal codificada inmediatamente antes de cada componente que sea modificada por la ganancia, o bien, alternativamente, que no sea modificada por la ganancia.
En la realización preferida antes considerada, en la que se usa un cuantificador con signo de media huella simétrico, cada componente de magnitud mayor que no esté modificada por la ganancia va precedida de un código de escape que es igual a un valor de cuantificación no usado. Por ejemplo, los valores de cuantificación para un cuantificador con signo de complemento a dos de 3 bits varía desde un mínimo de -0,750, representado por la cadena binaria b'101 de 3 bits, hasta un máximo de +0,75 representado por la cadena binaria b'011. La cadena binaria b'100, la cual corresponde a -1.000, no se usa para cuantificación y está disponible para uso como información de control. Análogamente, la cadena binaria no usada para un cuantificador con signo de complemento a dos de 4 bits es b'1000.
Con referencia al bloque 121 de señales de subbanda de la Fig. 5, las componentes 4 y 5 son componentes de magnitud grande que excede del umbral 102. Si se usa este umbral conjuntamente con un factor de ganancia G = 2, la asignación de bits para todas las componentes de magnitud pequeña puestas en la primera clase es b-1, como se ha ilustrado en lo que antecede, en la Tabla I. Si el proceso de asignación de bits asigna b = 4 bits a cada componente del bloque 121, por ejemplo, la asignación para cada componente de la señal de subbanda se reduciría a 3=(b-1) bits, y se usaría un cuantificador de 3 bits para cuantificar las componentes de magnitud pequeña. Cada componente de magnitud grande, que en este ejemplo son las componentes 4 y 5, sería cuantificada con un cuantificador de 4 bits e identificada mediante información de control que es igual a la cadena binaria no usada del cuantificador de 3 bits, o bien b'100. Esta información de control para cada componente de magnitud grande puede ser convenientemente ensamblada en la señal codificada que precede inmediatamente a la respectiva componente de magnitud grande.
Puede ser instructivo señalar que el presente invento no proporciona beneficio alguno en el ejemplo considerado en el párrafo precedente. El coste o los "gastos generales" que se requieren par conducir la información de control, que en este ejemplo es de seis bits, es igual al número de bits que se economizan reduciendo la asignación de bits para las componentes de magnitud pequeña. Con referencia al ejemplo anterior, si solamente una componente del bloque 121 fuera una componente de magnitud grande, el presente invento reduciría en cuatro el número de bits requeridos para conducir ese bloque. Se economizarían siete bits mediante las asignaciones reducidas a siete componentes de magnitud pequeña, y solamente se requerirían tres bits para conducir la información de control para la componente de magnitud grande.
En este último ejemplo se ignora un aspecto adicional. Se requieren dos bits para cada bloque de señales de subbanda en esta realización que sirve de ejemplo, para conducir lo cual se usan cuatro factores de ganancia para ese bloque. Como se ha mencionado en lo que antecede, puede usarse un factor de ganancia igual a 1 para indicar que las características del presente invento no se aplican para un bloque de señales de subbanda particular.
El presente invento no proporciona usualmente ventaja alguna para cuantificar bloques de señales de subbanda con cuatro o menos componentes. En los sistemas de codificación perceptuales que generan señales de subbanda que tienen anchuras de banda conmensurables con las anchuras de banda críticas del sistema auditivo humano, el número de componentes en los bloques de señales de subbanda para señales de subbanda de baja frecuencia es bajo, quizás de solamente una componente por bloque, pero el número de componentes por bloque de señales de subbanda aumenta al aumentar la frecuencia de la subbanda. Como resultado, en realizaciones preferidas, el procesado requerido para realizar las características del presente invento puede limitarse a las señales de subbanda más anchas. Se puede meter en la señal codificada una pieza de información de control adicional para indicar la subbanda de frecuencia más baja en la cual se use cuantificación adaptable por la ganancia. El codificador puede seleccionar en forma adaptable esta subbanda, de acuerdo con las características de la señal de entrada. Con esta técnica se evita la necesidad de proporcionar información de control para señales de subbanda que no usen cuantificación adaptable por la ganancia.
4. Características del Descodificador
Un descodificador que incorpore las características del presente invento puede cambiar de modo adaptable el tamaño del paso de cuantificación de sus descuantificadores, esencialmente de cualquier manera. Por ejemplo, un descodificador que esté destinado a descodificar una señal codificada generada por realizaciones de codificador antes consideradas, puede usar asignación de bits adaptable para establecer el tamaño del paso de cuantificación. El descodificador puede operar en un denominado sistema adaptable hacia delante, en el cual se puede obtener la asignación de bits directamente de la señal codificada, puede operar en un sistema denominado adaptable hacia atrás, en el cual las asignaciones de bits se obtienen repitiendo para ello el mismo proceso de asignación que fue usado en el codificador, o bien puede operar en un sistema híbrido de esos dos sistemas. Los valores de la asignación obtenidos de esta manera se denominan asignaciones de bits "convencionales".
El descodificador obtiene información de control de la señal codificada para identificar factores de ganancia y la clasificación de las componentes en cada bloque de señales de subbanda. Continuando con el ejemplo considerado en lo que antecede, la información de control que conduce un factor de ganancia G=1 indica que no se ha usado la característica de adaptable por la ganancia y que deberá usarse la asignación b de bits convencional para descuantificar las componentes en ese bloque de señales de subbanda particular. Para otros valores del factor de ganancia, se usa la asignación b de bits convencional para un bloque para determinar el valor del "código de escape" o información de control que identifica las componentes de magnitud grande. En el ejemplo antes citado, una asignación de b=4 con un factor de ganancia G=2 indica que la información de control es la cadena binaria b'100, la cual tiene una longitud igual a 3=(b-1) bits. La presencia de esa información de control en la señal codificada indica que sigue inmediatamente una componente de magnitud grande.
La asignación de bits para cada componente modificada por la ganancia se ajusta como se ha visto en lo que antecede y se ha ilustrado en la Tabla I. La descuantificación se lleva a cabo usando el tamaño del paso de cuantificación apropiado, y se someten las componentes modificadas por la ganancia a un factor de ganancia que es el recíproco del factor de ganancia usado para llevar a cabo la modificación de la ganancia en el codificador. Por ejemplo, si se multiplicasen las componentes de magnitud pequeña por un factor de ganancia G=2 en el codificador, el descodificador aplica una ganancia recíproca G=0,5 a las correspondientes componentes descuantificadas.
C. Características Adicionales
Además de las variantes antes consideradas, se consideran a continuación varias alternativas.
1. Clasificaciones Adicionales
De acuerdo con una alternativa, se comparan las magnitudes de las componentes de un bloque de señales de subbanda con dos o más umbrales, y se ponen en más de dos clases. Con referencia a la Fig. 5, por ejemplo, se podría comparar la magnitud de cada componente del bloque 121 con umbrales 102 y 104 y ponerla en una de entre tres clases. Podrían obtenerse factor de ganancia para dos de las clases y aplicarlos a las componentes apropiadas. Por ejemplo, se podría aplicar un factor de ganancia G=4 a las componentes que fueran de magnitudes iguales o menores que el umbral 104, y podría aplicarse un factor de ganancia G=2 a las componentes que fueran de una magnitud igual o menor que el umbral 102, pero mayor que el umbral 104. Alternativamente, se podría aplicar un factor de ganancia G=2 a todas las componentes de magnitudes iguales o menores que el umbral 102, y se podría aplicar de nuevo un factor de ganancia G=2 a las componentes de magnitudes iguales o menores que el umbral 104.
2. Operación en Cascada
El proceso de modificación por la ganancia descrito en lo que antecede se puede llevar a cabo múltiples veces antes de la cuantificación. La Fig. 6 es un diagrama bloque que ilustra una realización de dos etapas de ganancia en cascada. En esta realización, el analizador 61 de señales de subbanda compara las magnitudes de las componentes en un bloque de señales de subbanda con un primer umbral, y pone las componentes en una de entre dos clases. El elemento de ganancia 62 aplica un primer factor de ganancia a la componente puesta en una de las clases. El valor del primer factor de ganancia está relacionado con el valor del primer umbral.
El analizador 64 de señales de subbanda compara las magnitudes de las componentes modificadas por la ganancia, y posiblemente de las restantes componentes en el bloque, con un segundo umbral, y pone a las componentes en una de entre dos clases. El elemento de ganancia 65 aplica un segundo factor de ganancia a las componentes puestas en una de las clases. El valor del segundo factor de ganancia está relacionado con el valor del segundo umbral. Si el segundo umbral es igual o menor que el prime umbral, el analizador 64 de señales de subbanda no necesita analizar las componentes que el analizador 61 puso en la clase para magnitudes mayores que el primer umbral.
Las componentes del bloque de señales de subbanda son cuantificadas por los cuantificadores 67 y 68 de una manera similar a la considerada en lo que antecede.
Con referencia a la Fig. 5, las componentes en el bloque 124 de señales de subbanda pueden obtenerse mediante la aplicación sucesiva de etapas de ganancia, en las cuales un analizador 61 de señales de subbanda y el elemento de ganancia 62 aplican un factor de ganancia G=2 a las componentes que tengan una magnitud igual o menor que el umbral 102, y el analizador 64 de señales de subbanda y el elemento de ganancia 65 aplican un factor de ganancia G=2 a las componentes modificadas por la ganancia cuya magnitud que sea todavía igual o menor que el umbral 102. Por ejemplo, las componentes 1 a 3 y 6 a 8 en el bloque 121 son modificadas por un factor de ganancia G=2 en la primera etapa, lo cual produce un resultado provisional que se ha ilustrado en el bloque 122. Las componentes 1, 3, 7 y 8 son modificadas por un factor de ganancia G=2 en la segunda etapa, para obtener el resultado ilustrado para el bloque 124.
En las realizaciones en las que se usen etapas de ganancia en cascada, se deberá proporcionar información de control adecuada en la señal codificada, de modo que el descodificador pueda llevar a cabo un conjunto complementario de etapas de ganancia en cascada.
3. Asignación de Bits Optimizada
Hay varias estrategias posibles para aplicar cuantificación adaptable por la ganancia. Según una simple estrategia se analizan las componentes de un bloque de señales de subbanda respectivo partiendo para ello de un primer umbral y del primer factor de ganancia asociado G=2 y se determina si la cuantificación adaptable por la ganancia de acuerdo con el primer umbral y el primer factor de ganancia produce una reducción en los requisitos de asignación de bits. Si no lo hace, se detiene el análisis y no se lleva a cabo la cuantificación adaptable por la ganancia. Si produce una reducción, el análisis continúa con un segundo umbral y un segundo factor de ganancia asociado G=4. Si el uso del segundo umbral y el factor de ganancia asociado no produce una reducción en la asignación de bits, se lleva a cabo la cuantificación adaptable por la ganancia usando para ello el primer umbral y el primer factor de ganancia. Si el uso del segundo umbral y el segundo factor de ganancia produce una reducción, continúa el análisis con un tercer umbral y un tercer factor de ganancia asociado G=8. Se continúa este proceso hasta que o bien el uso de un umbral y un factor de ganancia asociado no produce una reducción en la asignación de bits, o bien hasta que hayan sido consideradas todas las combinaciones de umbrales y factores de ganancia asociados.
Según otra estrategia, se busca optimizar la elección del factor de ganancia calculando para ello el coste y el beneficio que proporcionen cada posible umbral y factor de ganancia asociado, y usando el umbral y el factor de ganancia que produzcan el mayor beneficio neto. Para el ejemplo considerado en lo que antecede, el beneficio neto para un umbral y un factor de ganancia asociado particulares es el beneficio bruto menos el coste. El beneficio bruto es el número de bits que se economizan al reducir la asignación de bits para las componentes de magnitud pequeña que son modificadas por la ganancia. El coste es el número de bits que se requieren para conducir la información de control para las componentes de magnitud grande que no sean modificadas por la ganancia.
Un modo en que puede ponerse en práctica esta estrategia preferida se ha representado en el siguiente fragmento de programa. Este fragmento de programa se ha expresado en pseudo código, usando una sintaxis que incluye algunas características sintácticas de los lenguajes de programación C, FORTRAN y BASIC. Este fragmento de programa y los otros programas aquí representados no están destinados a ser segmentos de código fuente que sean adecuados para compilación, sino que se han proporcionado para conducir unos pocos aspectos de posibles realizaciones.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Esquema pasa a página siguiente)
100
\vskip1.000000\baselineskip
La función Gain se proporciona con una matriz X de componentes de bloque de señales de subbanda, el número N de componentes del bloque, y la asignación b de bits convencional para el bloque de componentes. En la primera expresión de la función se hace uso de un cálculo de acuerdo con la expresión (5), antes especificada, para inicializar la variable Th2 para que represente el umbral que está asociado a un factor de ganancia G=2 que se ha obtenido de una matriz gf. En este ejemplo, los factores de ganancia gf[1], gf[2] y gf[3] son iguales a G=2, 4 y 8, respectivamente. Las siguientes expresiones inicializan las variables para los umbrales que están relacionados con factores de ganancia G=4 y 8. A continuación se inicializan los contadores a cero, lo que se usará para determinar en varias clases el número de componentes de magnitud grande.
Las expresiones contenidas en el bucle invocan la función Abs para obtener la magnitud para cada componente del bloque de señales de subbanda en la matriz X y comparar luego la magnitud de la componente con los umbrales, partiendo del umbral más alto. Si la magnitud es mayor que el umbral Th2, por ejemplo, se incrementa en uno la variable n2. Cuando se haya acabado el bucle, la variable n2 contiene el número de componentes cuya magnitud es mayor que el umbral Th2, la variable n4 contiene el número de componentes cuya magnitud es mayor que el umbral Th4 pero igual o menor que el umbral Th2, y la variable n8 contiene el número de componentes cuya magnitud es mayor que el umbral Th8 pero igual o menor que el umbral Th4.
Las dos expresiones que siguen inmediatamente en el bucle calculan el número total de componentes que están por encima de los respectivos umbrales. El número en la variable n24 representa el número de componentes cuya magnitud es mayor que el umbral Th4, y el número en la variable n248 representa el número de componentes cuya magnitud es mayor que el umbral Th8.
Las tres siguientes expresiones calculan el beneficio por componente de magnitud pequeña por el uso de cada factor de ganancia. Este beneficio puede ser de hasta 1, 2 ó 3 bits por componente, como se ha ilustrado en lo que antecede en la Tabla I, pero el beneficio está también limitado a que no sea de más de b-1 por componente, ya que la asignación a cada componente está limitada a un mínimo de un bit. Por ejemplo, el número en la variable benefit2 representa el número de bits por componente de magnitud pequeña que son economizados por el uso de un factor de ganancia G=2. Como se ha ilustrado en la Tabla I, ese beneficio puede ser de hasta un bit; sin embargo, el beneficio está también limitado a que no sea mayor que la asignación b de bits convencional menos uno. El cálculo de este beneficio se obtiene usando para ello la función Min para retornar al mínimo de los dos valores b-1 y 1.
Luego se calculan los beneficios netos y se asignan a los elementos de la matriz net. El elemento net[0] representa el beneficio neto de no usar cuantificación adaptable por la ganancia, la cual es cero. El beneficio neto de usar un factor de ganancia G=2 es asignado al net[1] multiplicando el beneficio apropiado por componentes de magnitud pequeña benefit2 por el número apropiado de componentes de magnitud pequeña(N-n2) y restando luego el coste, el cual es el número de componentes n2 de magnitud grande multiplicado por la longitud del valor no usado del cuantificador empleado para la información de control. Esta longitud es la longitud en bits de las componentes de magnitud pequeña, la cual puede obtenerse de la asignación b de bits convencional reducida en los bits economizados por componentes de magnitud pequeña. Por ejemplo, la longitud en bits de las componentes de magnitud pequeña cuando el factor de ganancia G=2 es la cantidad (b-benefit2). Se efectúan cálculos similares para asignar el beneficio neto por usar factores de ganancia G= 4 y 8 a variables net[2] y net[3], respectivamente.
La función IndexMax se invoca para obtener el índice j de la matriz para el máximo beneficio neto en la matriz de net. Se usa este índice para obtener el factor de ganancia apropiado de la matriz gf, el cual es hecho retornar mediante la función Gain.
4. Rendimiento Mejorado Usando la Función Umbral Simplificada
Se mencionó en lo que antecede que se pueden incorporar varias características del presente invento en un proceso de asignación de bits perceptual, tal como el ilustrado en la Fig. 3. en particular, estas características pueden activarse en el paso 53. El paso 53 se efectúa dentro de un bucle que determina reiterativamente una asignación de bits propuesta para cuantificar componentes en cada bloque de señales de subbanda a ser codificadas. Debido a esto, el rendimiento de las operaciones efectuadas en el paso 53 es muy importante.
El proceso considerado en lo que antecede para la función Gain, el cual determina el factor de ganancia óptimo para cada bloque, es relativamente ineficaz, debido a que debe contar el número de componentes del bloque de señales de subbanda que son puestas en las diversas clases. Los recuentos de componentes deben ser calculados durante cada iteración, debido a que los umbrales que se obtienen de acuerdo con la expresión (5) no pueden calcularse hasta que no sea conocida la asignación b de bits propuesta para cada iteración.
En contraste con los umbrales obtenidos de acuerdo con la expresión (5), los umbrales obtenidos de acuerdo con la expresión (1) son menos exactos, pero pueden ser calculados antes de que sea conocida la asignación b de bits propuesta. Esto permite que los umbrales y los recuentos de componentes sean calculados fuera de la reiteración. Con referencia al método ilustrado en la Fig. 3, se pueden calcular los umbrales Th1, Th2 y Th3 y los recuentos de componentes n2, n24 y n248 en el paso 52, por ejemplo.
En el fragmento de programa que sigue se ha representado una versión alternativa de la función Gain considerada en lo que antecede, que puede ser usada en esta realización.
101
Las expresiones en la función Gain 2 son idénticas a las correspondientes expresiones en la función Gain antes considerada, que calcula los beneficios netos para cada factor de ganancia y luego selecciona el factor de ganancia óptimo.
5. Funciones de Cuantificación a) Funciones de Intervalo Partido
Se puede mejorar la precisión de la cuantificación de las componentes de magnitud grande usando para ello una función de cuantificación de intervalo partido que cuantifica los valores de entrada dentro de dos intervalos no contiguos.
La línea 105 en la Fig. 7 es una ilustración gráfica de una función que representa el efecto de extremo a extremo de un cuantificador con signo de media huella simétrico de 3 bits y un descodificador complementario. Los valores a lo largo del eje x representan valores de entrada al cuantificador, y los valores a lo largo del eje qx representan los correspondientes valores de salida obtenidos del descuantificador. Las líneas 100 y 109 representan los límites de los valores positivos y negativos de sobrecarga, respectivamente, para este cuantificador. Las líneas 102 y 108 representan los umbrales positivo y negativo, respectivamente, para el factor de ganancia G=2, de acuerdo con la expresión (1) y como se ha ilustrado en la Fig. 4. Las líneas 104 y 107 representan los umbrales positivo y negativo, respectivamente, para el factor de ganancia G=4.
Con referencia a la Fig. 1, si el analizador 14 de señales de subbanda clasifica las componentes del bloque de señales de subbanda de acuerdo con el umbral 102, es entonces sabido que las magnitudes de las componentes proporcionadas al cuantificador 18 son todas mayores que el umbral 102. En otras palabras, el cuantificador 18 no sería usado para cuantificar ningún valor que quedase comprendido entre los umbrales 108 y 102. Este vacío representa una infrautilización del cuantificador.
Esta infrautilización puede contrarrestarse usando un cuantificador que desempeñe una función de cuantificación de intervalo partido. Son posibles una diversidad de funciones de intervalo partido. La Fig. 8 es una ilustración gráfica de una función que representa el efecto de extremo a extremo de un cuantificador con signo de 3 bits de intervalo partido y un descuantificador complementario. La línea 101 representa la función para cantidades positivas, y la línea 106 representa la función para cantidades negativas.
La función ilustrada en la Fig. 8 tiene ocho niveles de cuantificación, en contraste con la función ilustrada en la Fig. 7, la cual tiene solamente siete niveles de cuantificación. El nivel de cuantificación adicional se obtiene usando el nivel antes considerado que, para una función de cuantificación de huella media, corresponde a 1.
b) Cuantificadores No de Sobrecarga
Se prefieren un cuantificador de 3 bits y un descuantificador complementario que desempeñen la función ilustrada en la Fig. 8 para cuantificar valores dentro de un intervalo partido, desde -1,0 hasta aproximadamente -0,5 y desde aproximadamente +0,5 hasta +1,0, debido a que el cuantificador no puede ser sobrecargado. Como se ha explicado en lo que antecede, un valor sobrecarga a un cuantificador si el error de cuantificación de es valor excede de la mitad del tamaño del paso de cuantificación. En el ejemplo ilustrado en la Fig. 8, las salidas del descuantificador están definidas para valores iguales a -0,9375, -0,8125, -0,6875, -0,5625, +0,5625, +0,6875, + 0,8125 y +0,9375, y el tamaño del paso de cuantificación es igual a 0,125. La magnitud del error de cuantificación para todos los valores dentro del intervalo partido antes mencionado no es mayor de 0,0625, que es igual a la mitad del tamaño del paso de cuantificación. A tal cuantificador se le denomina aquí como un "cuantificador no de sobrecarga", puesto que es inmune a la sobrecarga.
Se pueden realizar cuantificadores no de sobrecarga sencillo y de intervalo partido para esencialmente cualquier tamaño del paso de cuantificación, activando para ello una función de cuantificación que tiene salidas de cuantificador que están limitadas por "puntos de decisión" de cuantificador apropiadamente espaciados dentro de los intervalos de valores a ser cuantificados. Hablando en términos generales, los puntos de decisión están espaciados unos de otros a una cierta distancia d y los puntos de decisión que están más próximos a un extremo respectivo de un intervalo de valores de entrada están espaciados del respectivo extremo por la cantidad d. Este espaciamiento proporciona un cuantificador que, cuando se usa con un descuantificador complementario, proporciona valores de salida cuantificados, uniformemente espaciados separados unos de otros por un tamaño del paso de cuantificación particular y que tienen un error de cuantificación máximo que es igual a la mitad de ese tamaño del paso de cuantificación particular.
c) Funciones de Planificación
Se puede realizar un cuantificador de intervalo partido de una diversidad de formas. No es crítica ninguna realización particular. Una realización, ilustrada en la Fig. 9A, comprende transformación de planificación 72 en cascada con el cuantificador 74. La transformación de planificación 72 recibe valores de entrada por el camino 71, planifica esos va-
lores de entrada en un intervalo apropiado, y pasa los valores planificados a lo largo del camino 73, al
\hbox{cuantificador
74.}
Si el cuantificador 74 es un cuantificador con signo de media huella asimétrico, entonces la función de planificación representada por las líneas 80 y 81 ilustradas en la Fig. 9B sería adecuada para la función de planificación 72. De acuerdo con esta función de planificación, los valores que estén dentro del intervalo desde -1,0 hasta -0,5 son planificados linealmente en un intervalo que va desde -1,0 - 1/2\DeltaQ hasta -1/2\DeltaQ, donde \DeltaQ es el tamaño del paso de cuantificación del cuantificador 74, y los valores dentro del intervalo desde +0,5 hasta +1,0 son planificados linealmente en un intervalo que va desde -1/2\DeltaQ hasta +1,0-½\DeltaQ. En este ejemplo, ninguna componente de magnitud grande puede tener un valor que sea exactamente igual a -0,5 ni a +0,5, debido a que las componentes que tienen esos valores están clasificadas como componentes de magnitud pequeña. Debido a esto, la transformación de planificación 72 no planificará valor de entrada alguno a -½\DeltaQ exactamente; sin embargo, puede planificar valores de entrada arbitrariamente próximos a, y a uno y otro lado de -½\DeltaQ.
El efecto de esta planificación puede verse si se hace referencia a las Figs. 9B y 9C. Con referencia a la Fig. 9B, puede verse en ella que la transformación de planificación 72 transforma puntos de entrada 82 y 84 en puntos planificados 86 y 88, respectivamente. Con referencia a la Fig. 9C, la cual ilustra una función que representa los efectos de extremo a extremo de un cuantificador con signo de media huella asimétrico de 3 bits y un descuantificador complementario, puede verse que los puntos planificados 86 y 88 están a uno y otro lado del punto 87 de decisión del cuantificador, el cual tiene el valor ½\DeltaQ.
Se puede realizar un descuantificador de intervalo partido complementario mediante un descuantificador con signo de media huella asimétrico, que sea complementario del cuantificador 74 seguido de una transformación de planificación que es la inversa de la transformación de planificación 72.
d) Funciones Compuestas
En un ejemplo considerado en lo que antecede, se usa la cuantificación adaptable por la ganancia con un factor de ganancia G=2 para cuantificar componentes de una señal de subbanda para la cual la asignación b de bits convencional es igual a tres bits. Como se ha explicado en lo que antecede en relación con la Tabla I, se usan 3 bits para cuantificar las componentes de magnitud grande, y se usan 2=(b-1) bits para cuantificar las componentes modificadas por la ganancia de magnitud pequeña. Preferiblemente, se usa un cuantificador que realice la función de cuantificación de la Fig. 8 para cuantificar las componentes de magnitud grande.
Se pueden usar un cuantificador con signo de media huella simétrico de 2 bits y un descuantificador complementario que realicen la función 111 ilustrada en la Fig. 10, para las componentes modificada por la ganancia de magnitud pequeña. La función 111, como se ha ilustrado, tiene en cuenta los efectos de escalación y de desescalación del factor de ganancia G=2 usado conjuntamente con el cuantificador y el descuantificador, respectivamente. Los valores de salida para el descuantificador son -0,3333..., 0,0 y +0,3333..., y los puntos de decisión del cuantificador están en -0,1666... y +0,1666...
En la Fig. 11 se ha ilustrado un compuesto de las funciones para las componentes de magnitud de grande y de magnitud pequeña.
e) Funciones de Intervalo Partido Alternativas
El uso de un cuantificador de intervalo partido con un factor de ganancia G=2 y un umbral en, o aproximadamente en, 0,500, proporciona una mejora de la resolución de la cuantificación de aproximadamente un bit. Esta resolución mejorada puede usarse para preservar la resolución de cuantificación de las componentes de magnitud grande, al tiempo que se reduce la asignación de bits a esas componentes en un bit. En el ejemplo antes considerado, podrían usarse cuantificadores de 2 bits para cuantificar las componentes, tanto las de magnitud grande como las de magnitud pequeña. En la Fig. 12 se ha representado un compuesto de las funciones de cuantificación realizadas por los dos cuantificadores. Podrían usarse cuantificadores que realicen las funciones de cuantificación 112 y 113 para cuantificar las componentes de magnitud grande que tenga amplitudes positivas y negativas, respectivamente, y podría usarse un cuantificador que realice la función de cuantificación 111 para cuantificar las componentes de magnitud pequeña.
El uso de funciones de cuantificación de intervalo partido con factores de ganancia mayores y umbrales menores, no proporciona un bit completo de resolución de cuantificación mejorada; por lo tanto, no se puede reducir la asignación de bits sin sacrificar la resolución de la cuantificación. En realizaciones preferidas, la asignación b de bits para mantisas de magnitud grande, se reduce en un bit para bloques que sean cuantificados de modo adaptable por la ganancia, usando un factor de ganancia G=2.
La función de descuantificación proporcionada en el descodificador deberá ser complementaria de la función de cuantificación usada en el codificador.
6. Codificación Intra Encuadre
La denominación de "bloque de señales codificadas" se usa aquí para hacer referencia a la información codificada que representa todos los bloques de señales de subbanda para las subbandas de frecuencia a través de la anchura de banda útil de la señal de entrada. Algunos sistemas de codificación ensamblan múltiples bloques de señales codificadas en unidades mayores, a las que denominamos aquí como "un encuadre" de la señal codificada. Una estructura de encuadre es útil en muchas aplicaciones para compartir información a través de bloques de señales codificadas, reduciéndose con ello los "gastos generales" de la información, o bien para facilitar señales de sincronización tales como señales de audio y de vídeo. Se han considerado una diversidad de temas que implican la codificación de la información de audio en encuadres para aplicaciones de audio/vídeo en la solicitud de patente de EE.UU. Número de Serie PCT/US 98 20751, presentada con fecha 17 de octubre de 1998, la cual queda aquí incorporada por su referencia.
Las características de la cuantificación adaptable por la ganancia, antes consideradas, pueden aplicarse a grupos de bloques de señales de subbanda que estén en diferentes bloques de señales codificadas. Se puede usar este aspecto ventajosamente en aplicaciones que, por ejemplo, agrupen en encuadres bloques de señales codificadas. Esta técnica agrupa esencialmente dentro de un encuadre las componentes de múltiples bloques de señales de subbanda, y luego clasifica las componentes y aplica un factor de ganancia a ese grupo de componentes, como se ha descrito en lo que antecede. Esta denominada técnica de codificación intra encuadre puede compartir información de control entre los bloques dentro de un encuadre. Para la práctica de esta técnica no es crítica ninguna agrupación particular de bloques de señales codificadas.
D. Realización
El presente invento puede ser realizado en una gran diversidad de formas, incluyendo el software en un sistema de ordenador para fines generales o bien algún otro aparato que incluya componentes más especializadas, tales como circuitos de procesador de señales digitales (DSP) acoplados a componentes, similares a los que se encuentran en un sistema de ordenador para fines generales. La Fig. 13 es un diagrama bloque del dispositivo 90 que puede usarse para poner en práctica varios aspectos del presente invento. El DSP 92 proporciona recursos de cálculo. La memoria RAM 93 es una memoria de acceso directo (RAM) del sistema. La memoria ROM 94 representa una forma de almacenamiento persistente, tal como la de una memoria de solo lectura (ROM) para almacenar los programas que se necesitan para operar el dispositivo 90 y para poner en práctica varios aspectos del presente invento. El control 95 de I/O (Entrada/Salida) representa circuitos de interfaz para recibir y transmitir señales de audio por medio del canal de comunicaciones 96. En el control 95 de I/O pueden incluirse convertidores de analógico a digital y convertidores de digital a analógico, como se desee, para recibir y/o transmitir señales de audio analógicas. En la realización ilustrada, todos los componentes del sistema principales conectan con el bus 91, el cual puede representar más que un bus físico; sin embargo, no se requiere una arquitectura de bus para realizar el presente invento.
En realizaciones puestas en práctica en un sistema de ordenador para fines generales, pueden incluirse componentes adicionales para interfaz con dispositivos tales como un teclado o un ratón, y una presentación, y para controlar un dispositivo de almacenamiento que tenga un medio de almacenamiento tal como una cinta magnética o un disco magnético, o bien un medio óptico. El medio de almacenamiento puede usarse para registrar programas de instrucciones para operar sistemas, servicios y aplicaciones, y puede incluir realizaciones de programas que lleven a la práctica varios aspectos del presente invento.
Las funciones requeridas para la puesta en práctica de varios aspectos del presente invento pueden realizarse mediante componentes que son materializadas en una gran diversidad de formas, incluyendo las de componentes lógicos discretos, unos o más ASIC (Circuito Integrado para Aplicaciones Específicas) y/o procesadores controlados por programa. La manera en que se materialicen esos componentes no es importante para el presente invento.
Las realizaciones de software del presente invento pueden conducirse mediante una diversidad de medios legibles con máquina, tales como caminos de comunicaciones en banda de base o moduladas a través del espectro, incluyendo desde las frecuencias supersónicas hasta las ultravioleta, o bien medios de almacenamiento incluyendo los que conducen información usando esencialmente cualquier tecnología de registro magnético u óptico, incluyendo cintas magnéticas, discos magnéticos y discos ópticos. También pueden ponerse en práctica varios aspectos en diversos componentes de sistema de ordenador 90 mediante circuitos de procesado tales como los ASICs, los circuitos integrados para fines generales, los microprocesadores controlados por programas realizados en diversas formas de memoria de solo lectura (ROM) o de memoria RAM, y otras técnicas.

Claims (29)

1. Un método para codificar una señal de entrada que comprende:
recibir la señal de entrada y generar un bloque de señales de subbanda de componentes de la señal de subbanda que representan una subbanda de frecuencia de la señal de entrada;
comparar las magnitudes de las componentes del bloque de señales de subbanda con un umbral, poner cada componente en una de entre dos o más clases, de acuerdo con la magnitud de la componente, y obtener un factor de ganancia;
aplicar el factor de ganancia a las componentes puestas en una de las clases para modificar las magnitudes de algunas de las componentes en el bloque de señales de subbanda;
cuantificar las componentes en el bloque de señales de subbanda; y
ensamblar en una señal codificada la información de control que conduce la clasificación de las componentes y los símbolos de longitud no uniforme que representan las componentes de la señal de subbanda cuantificadas.
2. Un método de acuerdo con la reivindicación 1, por el que se ensambla la información de control en la señal codificada que indica aquellas componentes de la señal de subbanda cuantificadas que tienen magnitudes que no son modificadas de acuerdo con el factor de ganancia, en que la información de control es conducida por uno o más símbolos reservados que no son usados para representar componentes de la señal de subbanda cuantificadas.
3. Un método de acuerdo con la reivindicación 1 ó 2, que comprende obtener el umbral de una función que es dependiente del factor de ganancia pero independiente del tamaño del paso de cuantificación de las componentes cuantificadas.
4. Un método de acuerdo con la reivindicación 1 ó 2, que comprende obtener el umbral de una función que es dependiente del factor de ganancia y del tamaño del paso de cuantificación de las componentes cuantificadas.
5. Un método de acuerdo con una cualquiera de las reivindicaciones 1 a 4, que comprende:
cambiar por adaptación un tamaño del paso de cuantificación respectivo para cada componente del bloque de señales de subbanda de acuerdo con la clase en la cual esté puesta la componente, asignando para ello por adaptación bits a la componente, y
obtener el factor de ganancia de tal modo que el número de bits asignados a las componentes con magnitudes modificadas sea reducido, al tiempo que se preserva el respectivo tamaño del paso de cuantificación.
6. Un método de acuerdo con una cualquiera de las reivindicaciones 1 a 5, que comprende cuantificar las componentes puestas en una de las clases de acuerdo con una función de cuantificación de intervalo partido.
7. Un método de acuerdo con una cualquiera de las reivindicaciones 1 a 6, que pone a cada componente en una de entre tres o más clases, de acuerdo con la magnitud de la componente, y que comprende:
obtener uno o más factores de ganancia adicionales, cada uno de ellos asociado a una clase respectiva; y
aplicar cada uno de los factores de ganancia adicionales a las componentes puestas en la respectiva clase asociada.
8. Un método de acuerdo con una cualquiera de las reivindicaciones 1 a 7, que comprende:
comparar las magnitudes de al menos algunas de las componentes del bloque de señales de subbanda con un segundo umbral, poner cada componente en una de entre dos o más segundas clases de acuerdo con la magnitud de la componente, y obtener un segundo factor de ganancia; y
aplicar el segundo factor de ganancia a las componentes puestas en una de las segundas clases para modificar las magnitudes de algunas de las componentes del bloque de señales de subbanda;
en que los símbolos de longitud no uniforme representan las componentes cuantificadas, tal como son modificadas por el factor de ganancia y por el segundo factor de ganancia.
9. Un método de acuerdo con una cualquiera de las reivindicaciones 1 a 8, que cuantifica al menos algunas de las componentes usando uno o más cuantificadores no de sobrecarga.
10. Un método para descodificar una señal codificada, que comprende:
recibir la señal codificada y obtener de la misma información de control y símbolos de longitud no uniforme, y obtener de los símbolos de longitud no uniforme componentes de la señal de subbanda cuantificadas que representan una subbanda de frecuencia de una señal de entrada;
descuantificar las componentes de la señal de subbanda para obtener un bloque de señales de subbanda de las componentes descuantificadas;
aplicar un factor de ganancia para modificar las magnitudes de algunas de las componentes descuantificadas, de acuerdo con la información de control para obtener un bloque de señales de subbanda modificadas de las componentes descuantificadas, en que cada componente descuantificada del bloque de señales de subbanda modificadas está en una de entre dos o más clases de acuerdo con la magnitud de la respectiva componente descuantificada comparada con un umbral, y todas las componentes descuantificadas tal como son modificadas por el factor de ganancia están en la misma clase; y
generar una señal de salida en respuesta al bloque de señales de subbanda modificadas de las componentes descuantificadas.
11. Un método de acuerdo con la reivindicación 10, por el que se obtiene información de control de la señal codificada que indica aquellas componentes de la señal de subbanda cuantificadas que tienen magnitudes que no han de ser modificadas de acuerdo con el factor de ganancia, en que la información de control es conducida por uno o más símbolos reservados, que no son usados para representar componentes de la señal de subbanda cuantificadas.
12. Un método de acuerdo con la reivindicación 10 u 11, que comprende descuantificar algunas de las componentes cuantificadas del bloque de señales de subbanda de acuerdo con una función de descuantificación que es complementaria de una función de cuantificación de intervalo partido.
13. Un método de acuerdo con una cualquiera de las reivindicaciones 10 a 12, que comprende aplicar un segundo factor de ganancia para modificar las magnitudes de algunas de las componentes descuantificadas de acuerdo con la información de control.
14. Un método de acuerdo con una cualquiera de las reivindicaciones 10 a 13, por el que se descuantifican al menos algunas de las componentes cuantificadas usando uno o más descuantificadores que son complementarios de un cuantificador no de sobrecarga respectivo.
15. Un aparato para codificar una señal de entrada, que comprende:
un filtro de análisis (12) que tiene una entrada (11) que recibe la señal de entrada y que tiene una salida (13, 23) a través de la cual se proporciona un bloque de señales de subbanda de componentes de la señal de subbanda que representan una subbanda de frecuencia de la señal de entrada;
un analizador (12, 24; 61) del bloque de señales de subbanda acoplado al filtro de análisis (12), que compara las magnitudes de las componentes del bloque de señales de subbanda con un umbral, pone a cada componente en una de entre dos o más clases, de acuerdo con la magnitud de la componente respectiva, y obtiene un factor de ganancia;
un procesador (15, 25; 62) de componentes de la señal de subbanda acoplado al analizador (14, 24; 61) del bloque de señales de subbanda que aplica el factor de ganancia a las componentes puestas en una de las clases, para modificar las magnitudes de algunas de las componentes del bloque de señales de subbanda;
un primer cuantificador (17, 27; 67) acoplado al procesador de señales de subbanda que cuantifica las componentes del bloque de señales de subbanda que tienen las magnitudes modificadas de acuerdo con el factor de ganancia; y
un formateador (19) acoplado al primer cuantificador (17, 27; 67) que ensambla símbolos de longitud no uniforme que representan las componentes de la señal de subbanda cuantificadas, e información de control que conduce la clasificación de las componentes en una señal codificada.
16. Un aparato de acuerdo con la reivindicación 15, que comprende un segundo cuantificador (18, 28; 68) acoplado al analizador (14, 24; 61) del bloque de señales de subbanda, que cuantifica las componentes puestas en una de las clases, de acuerdo con una función de cuantificación de intervalo partido, en que el formateador (19) está también acoplado al segundo cuantificador (18, 28; 68).
17. Un aparato de acuerdo con la reivindicación 15 ó 16, en el que el formateador (19) ensambla información de control en la señal codificada, que indica aquellas componentes de la señal de subbanda cuantificadas de magnitudes que no son modificadas de acuerdo con el factor de ganancia, en que la información de control es conducida por uno o más símbolos reservados, que no son usados para representar componentes de la señal de subbanda cuantificada.
18. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 17, que obtiene el umbral de una función que es dependiente del factor de ganancia pero independiente del tamaño del paso de cuantificación de las componentes cuantificadas.
19. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 17, que obtiene el umbral de una función que es dependiente del factor de ganancia y del tamaño del paso de cuantificación de las componentes cuantificadas.
20. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 19, que cambia por adaptación un tamaño del paso de cuantificación respectivo para cada componente del bloque de señales de subbanda, de acuerdo con la clase en la cual sea puesta la componente mediante la asignación por adaptación de bits a la componente, y obtiene el factor de ganancia tal que el número de bits asignados a las componentes de magnitudes modificados sea reducido, al tiempo que se preserva el respectivo tamaño del paso de cuantificación.
21. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 20, que pone a cada componente en una de entre tres o más clases, de acuerdo con la magnitud de la componente, obtiene uno o más factores de ganancia adicionales, cada uno asociado a una clase respectiva, y aplica cada uno de los factores de ganancia adicionales a las componentes puestas en la respectiva clase asociada.
22. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 1, en el que:
el analizador (14, 24; 64) del bloque de señales de subbanda compara las magnitudes de al menos algunas de las componentes del bloque de señales de subbanda con un segundo umbral, pone a cada componente en una de entre dos o más segundas clases, de acuerdo con la magnitud de la componente respectiva, y obtiene un segundo factor de ganancia; y
el procesador (15, 25; 65) de componentes de la señal de subbanda aplica el segundo factor de ganancia a las componentes puestas en una de las segundas clases, para modificar las magnitudes de algunas de las componentes del bloque de señales de subbanda;
en que los símbolos de longitud no uniforme representan las componentes cuantificadas, tal como son modificadas por el factor de ganancia y por el segundo factor de ganancia.
23. Un aparato de acuerdo con una cualquiera de las reivindicaciones 15 a 22, que cuantifica al menos algunas de las componentes usando uno o más cuantificadores no de sobrecarga.
24. Un aparato para descodificar una señal codificada, que comprende:
un desformateador (32) que recibe la señal codificada y obtiene de la misma información de control y símbolos de longitud no uniforme, y obtiene de los símbolos de longitud no uniforme componentes de la señal de subbanda cuantificadas;
un primer descuantificador (33, 43) acoplado al desformateador (32), que descuantifica algunas de las componentes de la señal de subbanda del bloque, de acuerdo con la información de control, para obtener un bloque de señales de subbanda de primeras componentes descuantificadas;
un procesador (35, 45) del bloque de señales de subbanda acoplado al primer descuantificador (33, 43) que aplica un factor de ganancia para modificar las magnitudes de algunas de las primeras componentes descuantificadas del bloque de señales de subbanda, de acuerdo con la información de control para obtener un bloque de señales de subbanda modificadas de las componentes descuantificadas, en que cada componente descuantificada del bloque de señales de subbanda modificadas está en una de entre dos o más clases de acuerdo con la magnitud de la respectiva componente descuantificada comparada con un umbral, y todas las componentes descuantificadas tal como son modificadas por el factor de ganancia están en la misma clase; y
un filtro de síntesis (39) que tiene una entrada (38, 48) acoplada al procesador de señales de subbanda y que tiene una salida (40) a través de la cual se proporciona una señal de salida.
25. Un aparato de acuerdo con la reivindicación 24, que comprende un segundo descuantificador (34, 44) acoplado al desformateador (32) que descuantifica otras componentes de la señal de subbanda del bloque, de acuerdo con una función de descuantificación que es complementaria de una función de cuantificación de intervalo partido, para obtener segundas componentes descuantificadas, y en que el filtro de síntesis (39) tiene una entrada (38, 48) acoplada al segundo descuantificador (34, 44).
26. Un aparato de acuerdo con la reivindicación 24 ó 25, en el que el desformateador (32) obtiene información de control de la señal codificada que indica aquellas componentes de la señal de subbanda cuantificadas que tienen magnitudes que no han de ser modificadas de acuerdo con el factor de ganancia, en que la información de control es conducida por uno o más símbolos reservados, que no son usados para representar componentes de la señal de subbanda cuantificadas.
27. Un aparato de acuerdo con una cualquiera de las reivindicaciones 24 a 26, en que el procesador (35, 45) del bloque de señales de subbanda aplica un segundo factor de ganancia para modificar las magnitudes de algunas de las componentes descuantificadas, de acuerdo con la información de control.
28. Un aparato de acuerdo con una cualquiera de las reivindicaciones 24 a 27, que descuantifica al menos algunas de las componentes cuantificadas usando uno más descuantificadores que son complementarios de un cuantificador no de sobrecarga respectivo.
29. Un producto de programa de ordenador realizado en un medio legible con máquina, comprendiendo dicho producto de programa de ordenador instrucciones de programa ejecutables por dicha máquina para poner en práctica un método tal como el definido en una cualquiera de las reivindicaciones 1 a 14.
ES00922036T 1999-04-16 2000-04-11 Empleo de cuantificacion de ganancia adaptable y longitudes no uniformes de simbolos para codificcion de audio. Expired - Lifetime ES2218148T5 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US29357799A 1999-04-16 1999-04-16
US293577 1999-04-16
US349645 1999-07-08
US09/349,645 US6246345B1 (en) 1999-04-16 1999-07-08 Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding

Publications (2)

Publication Number Publication Date
ES2218148T3 ES2218148T3 (es) 2004-11-16
ES2218148T5 true ES2218148T5 (es) 2008-02-16

Family

ID=26968028

Family Applications (1)

Application Number Title Priority Date Filing Date
ES00922036T Expired - Lifetime ES2218148T5 (es) 1999-04-16 2000-04-11 Empleo de cuantificacion de ganancia adaptable y longitudes no uniformes de simbolos para codificcion de audio.

Country Status (17)

Country Link
EP (1) EP1175670B2 (es)
JP (1) JP4843142B2 (es)
KR (1) KR100893281B1 (es)
CN (1) CN1158646C (es)
AR (1) AR023444A1 (es)
AT (1) ATE269574T1 (es)
AU (1) AU771454B2 (es)
BR (1) BRPI0010672B1 (es)
CA (1) CA2368453C (es)
DE (1) DE60011606T3 (es)
DK (1) DK1175670T4 (es)
ES (1) ES2218148T5 (es)
HK (1) HK1045747B (es)
MX (1) MXPA01010447A (es)
MY (1) MY122486A (es)
TW (1) TW536692B (es)
WO (1) WO2000063886A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447631B2 (en) * 2002-06-17 2008-11-04 Dolby Laboratories Licensing Corporation Audio coding system using spectral hole filling
DE102004007200B3 (de) 2004-02-13 2005-08-11 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
DE102004007191B3 (de) 2004-02-13 2005-09-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audiocodierung
DE102004007184B3 (de) * 2004-02-13 2005-09-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren und Vorrichtung zum Quantisieren eines Informationssignals
CN100486332C (zh) * 2005-11-17 2009-05-06 广达电脑股份有限公司 合成子频带滤波的方法及装置
RU2420816C2 (ru) * 2006-02-24 2011-06-10 Франс Телеком Способ двоичного кодирования показателей квантования огибающей сигнала, способ декодирования огибающей сигнала и соответствующие модули кодирования и декодирования
DE102006022346B4 (de) * 2006-05-12 2008-02-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Informationssignalcodierung
JP5057590B2 (ja) * 2006-07-24 2012-10-24 マーベル ワールド トレード リミテッド 回転式データストレージデバイス用の制御システムおよびデータストレージデバイス
CN101622667B (zh) * 2007-03-02 2012-08-15 艾利森电话股份有限公司 用于分层编解码器的后置滤波器
US8924222B2 (en) 2010-07-30 2014-12-30 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for coding of harmonic signals
US9208792B2 (en) 2010-08-17 2015-12-08 Qualcomm Incorporated Systems, methods, apparatus, and computer-readable media for noise injection
MX343471B (es) * 2011-08-29 2016-11-07 Ibex Pt Holdings Co Ltd Metodo para generar un bloque de prediccion en modo de prediccion de vector de movimiento avanzada (amvp).
PT3232437T (pt) * 2012-12-13 2019-01-11 Fraunhofer Ges Forschung Dispositivo de codificação de áudio de voz, dispositivo de descodificação de áudio de voz, método de codificação de áudio de voz e método de descodificação de áudio de voz
CN114420152B (zh) * 2021-12-08 2025-07-08 深圳市东微智能科技股份有限公司 声音频带调整方法、装置、设备及存储介质
CN116366411B (zh) * 2023-03-28 2024-03-08 扬州宇安电子科技有限公司 一种多比特信号量化自适应门限生成及量化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5365553A (en) * 1990-11-30 1994-11-15 U.S. Philips Corporation Transmitter, encoding system and method employing use of a bit need determiner for subband coding a digital signal
DE69522187T2 (de) * 1994-05-25 2002-05-02 Sony Corp., Tokio/Tokyo Verfahren und vorrichtung zur kodierung, dekodierung und kodierung-dekodierung
JP3307138B2 (ja) * 1995-02-27 2002-07-24 ソニー株式会社 信号符号化方法及び装置、並びに信号復号化方法及び装置
US5924064A (en) * 1996-10-07 1999-07-13 Picturetel Corporation Variable length coding using a plurality of region bit allocation patterns
US6006179A (en) * 1997-10-28 1999-12-21 America Online, Inc. Audio codec using adaptive sparse vector quantization with subband vector classification

Also Published As

Publication number Publication date
EP1175670A1 (en) 2002-01-30
DK1175670T3 (da) 2004-10-11
JP4843142B2 (ja) 2011-12-21
DK1175670T4 (da) 2007-11-19
HK1045747B (zh) 2004-12-31
AU4227900A (en) 2000-11-02
KR20010112434A (ko) 2001-12-20
EP1175670B2 (en) 2007-09-19
ATE269574T1 (de) 2004-07-15
ES2218148T3 (es) 2004-11-16
DE60011606D1 (de) 2004-07-22
BRPI0010672B1 (pt) 2016-06-07
WO2000063886A1 (en) 2000-10-26
CN1347549A (zh) 2002-05-01
DE60011606T2 (de) 2005-06-23
AU771454B2 (en) 2004-03-25
DE60011606T3 (de) 2008-01-24
MXPA01010447A (es) 2002-07-30
CN1158646C (zh) 2004-07-21
AR023444A1 (es) 2002-09-04
KR100893281B1 (ko) 2009-04-17
CA2368453A1 (en) 2000-10-26
JP2002542522A (ja) 2002-12-10
MY122486A (en) 2006-04-29
BR0010672A (pt) 2002-02-19
HK1045747A1 (en) 2002-12-06
TW536692B (en) 2003-06-11
CA2368453C (en) 2009-12-08
EP1175670B1 (en) 2004-06-16

Similar Documents

Publication Publication Date Title
US6246345B1 (en) Using gain-adaptive quantization and non-uniform symbol lengths for improved audio coding
ES2218148T5 (es) Empleo de cuantificacion de ganancia adaptable y longitudes no uniformes de simbolos para codificcion de audio.
ES2686088T3 (es) Procesamiento avanzado basado en un banco de filtros con modulación exponencial compleja y procedimientos de señalización temporal adaptativos
US7895034B2 (en) Audio encoding system
US6636830B1 (en) System and method for noise reduction using bi-orthogonal modified discrete cosine transform
US10121480B2 (en) Method and apparatus for encoding audio data
JPH09500772A (ja) 適応配分式符号化・復号装置及び方法
PL207862B1 (pl) Nadajnik kodowania fonii i odbiornik dekodowania fonii, zwłaszcza dla cyfrowych systemów kodowania fonii w telekomunikacji
JPH02308632A (ja) 音信号を伝送しまたは記憶する方法
WO2000045378A2 (en) Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
Chan et al. High fidelity audio transform coding with vector quantization
US6922667B2 (en) Encoding apparatus and decoding apparatus
KR100309727B1 (ko) 오디오 신호 부호화 장치 및 복호화 장치와 오디오 신호 부호화 및 복호화 방법
US6647063B1 (en) Information encoding method and apparatus, information decoding method and apparatus and recording medium
JP3475985B2 (ja) 情報符号化装置および方法、情報復号化装置および方法
US7181079B2 (en) Time signal analysis and derivation of scale factors
TW200414126A (en) Method for determining quantization parameters
JPS6337400A (ja) 音声符号化及び復号化方法
Atlas et al. Modulation frequency and efficient audio coding
Caini et al. Optimum bit allocation in subband coding with nonideal reconstruction filters
Chen et al. Fast time-frequency transform algorithms and their applications to real-time software implementation of AC-3 audio codec
JP4534112B2 (ja) 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
Yan Audio compression via nonlinear transform coding and stochastic binary activation
Najafzadeh-Azghandi Percept ual Coding of Narrowband Audio
Abrahamsson Compression of multi channel audio at low bit rates using the AMR-WB+ codec