[go: up one dir, main page]

MXPA06004049A - Metodo para codificar una señal digital en un flujo de bits escalable;metodo para decodificar un flujo de bits escalable - Google Patents

Metodo para codificar una señal digital en un flujo de bits escalable;metodo para decodificar un flujo de bits escalable

Info

Publication number
MXPA06004049A
MXPA06004049A MXPA/A/2006/004049A MXPA06004049A MXPA06004049A MX PA06004049 A MXPA06004049 A MX PA06004049A MX PA06004049 A MXPA06004049 A MX PA06004049A MX PA06004049 A MXPA06004049 A MX PA06004049A
Authority
MX
Mexico
Prior art keywords
signal
bit
digital signal
bitstream
perceptual
Prior art date
Application number
MXPA/A/2006/004049A
Other languages
English (en)
Inventor
Rongshan Yu
Xiao Lin
Susanto Rahardja
Original Assignee
Agency For Science Technology And Research
Xiao Lin
Susanto Rahardja
Rongshan Yu
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agency For Science Technology And Research, Xiao Lin, Susanto Rahardja, Rongshan Yu filed Critical Agency For Science Technology And Research
Publication of MXPA06004049A publication Critical patent/MXPA06004049A/es

Links

Abstract

Un método para codificar una señal digital en un flujo de bits escalable que comprende cuantizar la señal digital, y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo, realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error, codificar la señal de error por planos de bits con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de lacapa de mejora, en el cual la información perceptual de la señal digital se determina mediante un modelo perceptual, y multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. Un método para decodificar un flujo de bits escalable en una señal digital que comprende demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora, decodificando y descuantizando el flujo de bits de capa de núcleo para generar una señal de capa de núcleo, decodificar por planos de bits el flujo de bits de capa de mejora por planos de bits con base en la información perceptual de la señal digital, y realizar un mapeo de errores con base en el flujo de bits de capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital.

Description

For two-letter codes and other abbreviations, refer to the "Guidance Notes on Codes andAbbreviations" appearing at the begin-ning ofeach regular issue ofthe PCT Gazette.
MÉTODO PARA CODIFICAR UNA SEÑAL DIGITAL EN UN FLUJO DE BITS ESCALABLE; MÉTODO PARA DECODIFICAR UN FLUJO DE BITS ESCALABLE ANTECEDENTES DE IA INVENCIÓN Recientemente, en forma paralela a los avances en las computadoras, redes y comunicaciones, la transmisión continua de contenido de audio a través de redes tales como la Internet, redes de área local inalámbricas, redes domésticas y sistemas de teléfono celular se está convirtiendo en uno de los medios principales para la entrega del servicio de audio. Se cree que con el progreso de las infraestructuras de redes de banda ancha como xDSL, de fibra óptica y el acceso inalámbrico de banda ancha, las frecuencias de bits para estos canales se acercan rápidamente a aquellas requeridas para la entrega de señales de audio sin pérdida, con frecuencia de muestreo y resolución de amplitud altas (por ejemplo, 96 kHz, 24 bits/muestra) . Por otro lado, aún existen áreas de aplicación donde se requieren formatos de audio digital de alta compresión, tales como MPEG-4 AAC (descrito en [1] ) . Como resultado, las soluciones interoperables que abarquen los canales actuales y los canales de banda ancha en rápido desarrollo, tienen una alta demanda. Además, incluso con la amplia disponibilidad de los canales de banda ancha y la eliminación de la restricción de la banda ancha, un sistema de codificación con frecuencia de 52/356/06 bits escalable que sea capaz de producir un flujo de bits jerárquico cuyas frecuencias de bits puedan cambiarse dinámicamente durante la transmisión aún es altamente favorable. Por ejemplo, para aplicaciones donde ocasionalmente ocurre una pérdida de paquetes debido a accidentes o a los requisitos para el uso de recursos compartidos, las representaciones de formas de onda actuales tales como PCM (Pulse Code Modulation, Modulación de Código de Pulsos) y los formatos de codificación sin pérdida pueden sufrir severas distorsiones en una situación de transmisión continua. Sin embargo, este problema puede resolverse si uno puede establecer prioridades de los paquetes en el caso que los recursos de red cambien en forma dinámica. Finalmente, un sistema de codificación con frecuencia de bits escalable también proporciona al servidor servicios de transmisión continua de audio ventajosos, donde puede lograrse una degradación equilibrada de la QoS si se recibe un número excesivo de solicitudes desde los sitios cliente. Anteriormente, se han propuesto muchos algoritmos de codificación de audio sin pérdida (ver [2] - [8]). La mayoria de los enfoques se apoyan en un filtro de predicción para eliminar la redundancia de las señales de audio originales mientras que los residuos se codifican por entropía (como se describe en [5] - [12] ) . Debido a la existencia de los filtros predictivos, los flujos de bits 52/356/06 generados por estos enfoques basados en predicción son difíciles e ineficientes (ver [5], [6]), si no imposibles, de escalar para lograr una escalabilidad de frecuencia de bits. Otros enfoques, como se describe en [3] , construyen el codificador de audio sin pérdida a través de un enfoque de dos capas donde las señales originales de audio se codifican en primer lugar con un codificador con pérdida y sus residuos se codifican a continuación con un codificador residual. Aunque este diseño de dos capas proporciona alguna medida de escalabilidad de la frecuencia de bits, su granularidad es demasiado gruesa para ser apreciada por las aplicaciones de transmisión continua de audio. Se propusieron codees de audio que proporcionan la escalabilidad de grano fino en la frecuencia de bits con anterioridad en [4] y [18] , sin embargo, a diferencia del sistema a tratar en el presente documento, estos codees no proporcionan la compatibilidad con los sistemas anteriores en tanto que los flujos de bits con pérdida producidos por ambos codees son incompatibles con cualquier codee de audio existente. En [21] , [22] y [23] , se describen los modelos perceptuales . El objeto de la invención es proporcionar un método para codificar una señal digital en un flujo de bits escalable en el cual se mantenga la compatibilidad con los sistemas anteriores . 52/356/06 SUMARIO DE A INVENCIÓN Se proporciona un método para codificar una señal digital en un flujo de bits escalable, tal método comprende: cuantizar la señal digital, y codificar la señal cuantizada para formar un flujo de datos de la capa de núcleo; realizar un mapeo de errores basado en la señal digital y el flujo de la capa de núcleo para eliminar la información codificada en el flujo de bits de la capa de núcleo, que dé como resultado una señal de error; codificar por planos de bits la señal de error con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de la capa de mejora, en el cual la información perceptual se determina mediante un modelo perceptual; y -multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando, de este modo, el flujo de bits escalable. Además, se proporcionan un codificador para codificar una señal digital en un flujo de bits escalable, un medio legible mediante una computadora, un elemento de programa de cómputo, un método para decodificar un flujo de bits escalable a una señal digital, un decodificador para decodificar un flujo de bits escalable a una señal digital, un medio legible mediante una computadora adicional y un elemento de programa de cómputo adicional de acuerdo con el método descrito anteriormente. 52/356/06 En una modalidad, se presenta un codee de audio sin pérdida que logre una escalabilidad de frecuencia de bits de grano fino (FGBS, Fine Grain Bit-rate Scalability) con las siguientes características: - Compatibilidad con los sistemas anteriores: un flujo de bits de capa de núcleo con alta compresión, tal como un flujo de bits MPEG-4 AAC, está incrustado en el flujo de bits sin pérdida. Flujo de bits sin pérdida incrustado perceptualmente : el flujo de bits sin pérdida puede truncarse a cualquier frecuencia con pérdida, sin que exista pérdida en la optimización perceptual del audio reconstruido. - Baja complejidad: agrega únicamente un cálculo limitado sobre el AAC (codee aritmético binario) asi como memoria muy limitada. La amplia funcionalidad proporcionada por el codee de audio presentado sugiere su capacidad para servir como un formato de audio "universal" y cumplir con los diversos requisitos de frecuencia/calidad para diferentes aplicaciones de transmisión continua o almacenamiento. Por ejemplo, un flujo de bits compatible con MPEG-4 AAC el cual se utiliza como el flujo de bits de la capa de núcleo puede extraerse fácilmente desde el flujo de datos generado mediante el codee para servicios de audio MPEG-4 AAC convencionales. Por otro lado, también se provee compresión 52/356/06 sin pérdida mediante el codee para aplicaciones de edición o almacenamiento de audio con requisitos de reconstrucción sin pérdida. En aplicaciones de transmisión continua de audio donde se requiera la FGBS, el flujo de bits sin pérdida del codee puede además truncarse a frecuencias de bits menores en el codificador/decodificador o en el canal de comunicación para cualquier restricción de frecuencia / fidelidad / complejidad que pueda surgir en sistemas prácticos. En una modalidad, se provee un método para codificar una señal digital para formar un flujo de bits escalable, en la cual el flujo de bits escalable puede truncarse en cualquier punto para producir una señal de menor calidad (con pérdida) al ser decodificada por un decodificador. El método puede utilizarse para codificar cualquier tipo de señal digital, como señales de audio, imágenes o video. La señal digital, la cual corresponde a una señal fisica medida, puede generarse por medio de analizar al menos una caracteristica distintiva de una señal análoga correspondiente (por ejemplo, los valores de crominancia y luminancia de una señal de video, la amplitud de una señal de sonido analógico, o la señal de detección analógica de un sensor) . Por ejemplo, puede utilizarse un micrófono para capturar una señal analógica de audio, la cual se convierte a continuación en una señal digital de audio al muestrear y cuantizar la señal analógica de audio 52/356/06 capturada. Puede utilizarse una cámara de video para capturar una señal de video digital, que a continuación se convierte en una señal de video digital usando un convertidor analógico a digital adecuado. Alternativamente, puede utilizarse una cámara digital para capturar directamente la señal de imagen o video en un sensor de imagen (CMOS 0 CCD) como señales digitales. A continuación, la señal digital se cuantiza y se codifica para formar un flujo de bits de capa de núcleo. El flujo de bits de capa de núcleo forma la mínima frecuencia de bits/calidad del flujo de bits escalable. Se utiliza un flujo de datos de capa de mejora para proporcionar una frecuencia de bits/calidad adicional al flujo de bits escalable. El flujo de bits de la capa de mejora se forma de acuerdo con la invención por medio de realizar un mapeo de errores con base en la señal transformada y el flujo de bits de capa de núcleo para generar una señal de error. El propósito de realizar un mapeo de errores es eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo. La señal de error se codifica por planos de bits para formar el flujo de bits de la capa de mejora. La codificación por planos de bits de la señal de error se realiza con base en la información perceptual, esto es, la importancia percibida o perceptual de la señal digital. La 52/356/06 información perceptual utilizada en la presente invención se refiere a información relacionada con el sistema sensorial humano, por ejemplo el sistema visual humano (es decir, el ojo humano) y el sistema auditivo humano (es decir, el oído humano) . Tal información perceptual para la señal digital (video o audio) se obtiene utilizando un modelo perceptual, por ejemplo el Modelo Psicoacústico I o II en el audio MPEG-1 (Descrito en [22]), y el Modelo Espacio-Temporal utilizado en video (descrito en [23] ) . El modelo psicoacústico está basado en el efecto consistente en que el oído humano únicamente es capaz de percibir sonidos dentro de una cierta banda de frecuencias, dependiendo de diversas condiciones ambientales . De manera similar, el HVM (modelo visual humano, Human Visual Model) está basado en el efecto consistente en que el ojo humano presta mayor atención a cierto movimiento, colores y contraste . El flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora se multiplexan para formar el flujo de bits escalable. El flujo de bits escalable puede decodificarse para reconstruir la señal digital sin pérdida. Como se mencionó anteriormente, el flujo de bits de capa de núcleo es un flujo de bits incrustado el cual forma la mínima frecuencia de bits/calidad del flujo de bits escalable, y 52/356/06 el flujo de bits de la capa de mejora forma la parte con pérdida a sin pérdida del flujo de bits escalable. Debido a que el flujo de bits de la capa de mejora está codificado perceptualmente por planos de bits, el flujo de bits de la capa de mejora puede truncarse, en una manera tal que los datos en el flujo de bits de la capa de mejora, los cuales son menos importantes perceptualmente, sean truncados primero, para proporcionar la escalabilidad perceptual del flujo de bits escalable. En otras palabras, el flujo de bits escalable puede escalarse truncando el flujo de bits de la capa de mejora, de modo que el flujo de bits de la capa de mejora, y por tanto el flujo de bits escalable, puedan optimizarse perceptualmente incluso cuando sea truncado a una menor frecuencia de bits/calidad. El método de acuerdo con la invención puede utilizarse como un codificador sin pérdida para una señal digital, tal como una señal de imagen, video o audio, en sistemas de banda ancha o de alta fidelidad. Al cambiar el requerimiento de ancho de banda, la frecuencia de bits del flujo de bits generado por el codificador puede cambiar de manera acorde para ajustarse al cambio en el requerimiento de ancho de banda. Tal método puede implementarse en muchas aplicaciones y sistemas tales como audio MEG, imágenes y compresión de video de JPEG 2000. De acuerdo con una modalidad de la invención, la 52/356/06 señal digital se transforma a un dominio adecuado antes de cuantizarse para formar la señal cuantizada. La señal digital puede transformarse dentro del mismo dominio, o desde un dominio a otro con el fin de representar de una mejor manera la señal digital, y con ello es posible una cuantización y codificación fáciles y eficientes de la señal digital para formar el flujo de bits de capa de núcleo. Tal dominio puede incluir, de manera enunciativa, el dominio de tiempo, el dominio de frecuencia, y un híbrido de los dominios de tiempo y frecuencia. La transformación de la señal digital puede realizarse incluso por una matriz unitaria, I. En una modalidad, la señal digital se transforma en una señal transformada utilizando una Transformada Discreta de Coseno Modificada Entera (intMDCT, integer Modified Discrete Cosine Transform) . La intMDCT es una aproximación reversible al banco de filtros de la Transformada Discreta de Coseno Modificada (MDCT) normalmente utilizada en un codificador MPEG-4 AAC. También pueden utilizarse otras transformadas para transformar la señal digital a un dominio adecuado incluyendo, de manera enunciativa, la Transformada Discreta de Coseno, la Transformada de Seno Discreta, la Transformada de Fourier Rápida y la Transformada de Wavelet Discreta. Cuando se utiliza la intMDCT para transformar la 52/356/06 señal digital a la señal transformada, la señal transformada (específicamente los coeficientes intMDCT los cuales describen la señal transformada) preferiblemente se normalizan o escalan para aproximarse a la salida de un banco de filtros MDCT. La normalización de la señal transformada por intMDCT puede ser útil en el caso de que un cuantizador para cuantizar la señal transformada, por ejemplo un cuantizador AAC, disponga de un banco de filtros MDCT con una ganancia global diferente a la ganancia del banco de filtros intMDCT. Tal proceso de normalización aproxima la señal transformada por intMDCT al banco de filtros MDCT de modo que sea adecuada para cuantizarse y codificarse directamente por el cuantizador para formar el flujo de bits de capa de núcleo. Para codificar una señal digital de audio, la señal digital/transformada preferiblemente se cuantiza y codifica de acuerdo con la especificación MPEG AAC para generar el flujo de bits de capa de núcleo. Esto se debe a que AAC es uno de los algoritmos de codificación de audio perceptuales más eficientes para generar un flujo de bits de audio de alta calidad pero baja frecuencia de bits. Por tanto, el flujo de bits de capa de núcleo generado utilizando AAC (al que se referirá como flujo de bits AAC) tiene una frecuencia de bits baja, e incluso cuando el flujo de bits escalable se trunca al flujo de bits de la 52/356/06 capa de núcleo, la calidad perceptual del flujo de bits truncado aún es alta. Cabe mencionar que otros algoritmos/métodos de cuantización y codificación, por ejemplo MPEG-1 Audio Layer 3, (MP3) y otros métodos propietarios para codificación/cuantización para generar el flujo de bits de capa de núcleo, también pueden utilizarse. El mapeo de errores que elimina la información que ya ha sido codificada en el flujo de bits de la capa de núcleo y el cual genera una señal residual (o señal de error) se realiza restando el umbral de cuantización más bajo (cercano a cero) de cada valor cuantizado de la señal cuantizada desde la señal transformada. Tal procedimiento de mapeo de errores basado en el umbral de cuantización tiene la ventaja de que los valores de la señal residual siempre son positivos, y la amplitud de la señal residual es independiente del umbral de cuantización. Esto permite implementar un esquema de codificación incrustado eficiente y de baja complejidad. Sin embargo, también es posible substraer una señal transformada reconstruida desde la señal transformada para generar la señal residual. Para determinar la información perceptual de la señal digital para la codificación por planos de bits de la señal de error, puede utilizarse el modelo psicoacústico como modelo perceptual. El modelo psicoacústico puede estar basado en el Modelo Psicoacústico I ó II utilizado en el 52/356/06 audio MPEG-1 (como se describe en [21]), o en el Modelo Psicoacústico en el audio MPEG-4 (como se describe en [19]). Cuando un cuantizador perceptual, tal como aquel que se utiliza de acuerdo con AAC, se usa para cuantizar y codificar la señal digital/transformada, el modelo perceptual utilizado en el cuantizador perceptual también puede usarse para determinar la información perceptual para la codificación por planos de bits de la señal de error. En otras palabras, en este caso no se necesita un modelo perceptual por separado para proveer la información perceptual para la codificación por planos de bits de la señal de error. La información perceptual para la codificación de planos de bits de la señal de error preferiblemente también se multiplexa con los flujos de bits de la capa de núcleo y la capa de mejora para formar el flujo de datos escalable como información secundaria. La información secundaria puede utilizarse para reconstruir la señal de error mediante un decodificador. La señal de error está distribuida en una pluralidad de planos de bits, donde cada plano de bits tiene una pluralidad de símbolos de plano de bits. En una modalidad de la invención, la distribución u orden de los planos de bits de la señal de error se cambia o se desplaza, y posteriormente los planos de bits se analizan y codifican de una manera secuencial consecutiva. Los planos 52/356/06 de bits se desplazan en una manera tal que cuando la codificación por planos de bits se realiza sobre los planos de bits desplazados, los planos de bits que comprenden los símbolos de planos de bits más importantes perceptualmente se analizan y codifican primero. En esta modalidad, todos los símbolos de planos de bits en un plano de bits se codifican antes de codificar los símbolos de planos de bits de un plano de bits adyacente posterior . En otra modalidad de la invención, los símbolos de planos de bits de los planos de bits se analizan y codifican en una secuencia basada en la información perceptual. En otras palabras, no todos los símbolos de planos de bits en un plano de bits se codifican antes de codificar los símbolos de planos de bits desde otro plano de bits. La secuencia de análisis y codificación de los símbolos de planos de bits provenientes de la pluralidad de planos de bits se determina con base en la información perceptual en forma tal que los símbolos de los planos de bits que son más importantes perceptualmente se codifican primero. La información perceptual de la señal digital determinada por el modelo perceptual puede incluir el primer (o máximo) plano de bits M(s) (esto es, un número (índice) que especifica el primer plano de bits) de la pluralidad de planos de bits para la codificación de planos de bits de la señal de error, y/o el nivel de Distorsión 52/356/06 Apenas Perceptible (JND, Just Noticeable Distortion) de la señal digital. Debe ser notado que la información perceptual se relaciona con la señal digital para cada una de las diferentes características de dominio (por ejemplo, frecuencia, tiempo, amplitud de señal, etc.) o para un rango de características de dominio. Por ejemplo, cuando la señal digital se transforma al dominio de frecuencia, los valores de la información perceptual de la señal digital en toda frecuencia o en una banda de frecuencias (banda de frecuencia s, o de manera más general, banda de dominio s) pueden ser diferentes, indicando que la señal puede ser más importante perceptualmente en ciertas frecuencias . En una modalidad de la invención, la significatividad perceptual P(s) de la señal digital, correspondiente a cada banda de frecuencia s, se determina como la información perceptual. En esta modalidad, se determina el nivel JND t(s) de la señal digital correspondiente al plano de bits de la señal de error. El plano de bits correspondiente al nivel de JND t(s) se sustrae del índice del primer plano de bits de la pluralidad de planos de bits para la codificación de planos de bits de la señal de error M(s) dando como resultado la significatividad perceptual P(s). La significatividad perceptual P(s) puede utilizarse para controlar el desplazamiento de los planos de bits, de modo que los 52/356/06 planos de bits que comprenden los símbolos de planos de bits más importantes perceptualmente se analicen y codifiquen primero. De manera más ventajosa, la significatividad perceptual P(s) puede utilizarse para controlar la secuencia de análisis y codificación de los símbolos de planos de bits provenientes de la pluralidad de planos de bits de modo tal que los símbolos de los planos de bits los cuales son más importantes perceptualmente se codifican primero. En una modalidad adicional de la invención, la significatividad perceptual P(s) se normaliza para formar una significatividad perceptual normalizada Ps ' (s) . En esta modalidad, se define una significatividad perceptual común de la señal digital Ps__common con base en una función de la significatividad perceptual Ps(s). Algunos ejemplos de tal función de significatividad perceptual Ps(s) incluyen el valor promedio, el valor máximo y el valor mínimo o un valor normalizado de la significatividad perceptual Ps(s). La significatividad perceptual común Ps_common se sustrae de la significatividad perceptual Ps'(s) para cada banda de frecuencias . Cuando la banda de frecuencia s contiene al menos una señal cuantizada con valor diferente a cero, la banda de frecuencia s es una banda significativa. De otro modo, la banda de frecuencia s es una banda s no significativa. Para una banda significativa, el valor de 52/356/06 la significatívidad perceptual Ps(s) correspondiente se establece en el valor de la significatividad perceptual común Ps common. Para la banda no significativa, la significatividad perceptual normalizada Ps'(s) se multiplexa con el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora para generar el flujo de bits escalable para su transmisión. Esta significatividad perceptual normalizada Ps'(s) se transmite en el flujo de datos escalable como información secundaria para decodificar el flujo de bits escalable en un decodificador. La normalización de la significatividad perceptual Ps(s) mediante la definición de una significatividad perceptual común Ps_common tiene la ventaja de reducir la cantidad de información perceptual a transmitirse en el flujo de bits escalable mediante la utilización de información obtenida al cuantizar la señal digital/transformada para generar el flujo de bits de la capa de núcleo. Por tanto, la información perceptual, en particular la significatividad perceptual normalizada Ps'(s), únicamente necesita transmitirse al lado del decodificador para la banda no significativa, ya que la información perceptual para la banda significativa puede regenerarse fácilmente mediante el decodificador. El índice del primer (o máximo) plano de bits de la pluralidad de planos de bits para la codificación por 52/356/06 planos de bits de la señal de error M(s), la cual forma parte de la información perceptual de la señal digital, puede determinarse a partir del intervalo máximo de cuantización utilizado para cuantizar la señal digital/transformada. Para la banda significativa, se determina el intervalo de cuantización máximo (la diferencia entre el umbral de cuantización más alto y el más bajo correspondientes a cada valor cuantizado de la señal cuantizada) , y se determina dicho primer plano de bits (especificado por M(s)) de manera acorde. Tal intervalo máximo de cuantización también puede determinarse del lado del decodificador y, por tanto, dicho primer plano de bits (especificado por M(s)) no necesita transmitirse como parte del flujo de bits escalable en este caso (para la banda significativa) . Aunque se describe la codificación de una señal digital en un flujo de bits escalable, deberá entenderse que la invención también incluye la decodificación del flujo de bits escalable en una señal digital decodificada por medio del método inverso al descrito anteriormente. En una modalidad de la invención, se provee un método para decodificar el flujo de bits escalable en la señal digital, el cual incluye demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora, decodificando y 52/356/06 descuantizando el flujo de bits de capa de núcleo para generar una señal de capa de núcleo, decodificar por planos de bits la capa de mejora con base en la información perceptual de la señal digital, realizar un mapeo de errores con base en la señal de capa de mejora decodificada por planos de bits y la señal de capa de núcleo descuantizada para generar una señal transformada reconstruida, en la cual la señal transformada reconstruida es la señal digital. Deberá notarse que el método para decodificar el flujo de bits escalable puede utilizarse en combinación con o de forma separada al método para codificar una señal digital en el flujo de bits escalable, como se describe anteriormente. La señal transformada reconstruida puede transformarse para generar la señal digital, si la señal digital se encuentra en un dominio diferente a la señal transformada reconstruida. La implementación exacta de la decodificación del flujo de bits escalable para generar la señal digital dependerá de cómo sea codificado el flujo de bits escalable por el codificador. En un ejemplo, la señal transformada reconstruida puede transformarse utilizando la intMDCT para generar la señal digital. El flujo de bits de capa de núcleo puede decodificarse y descuantizarse de acuerdo con la especificación MPEG AAC. El mapeo de errores se realiza sumando el umbral de cuantización inferior 52/356/06 utilizado para descuantizar la señal transformada y el flujo de bits de la capa de mejora decodificado por planos de bits para generar la señal transformada reconstruida. Las ventajas y otras implementaciones del decodificador son similares a las del codificador, el cual ya ha sido descrito anteriormente. La información perceptual de la señal digital puede obtenerse demultiplexando el flujo de bits escalable, si la información perceptual se ha multiplexado en el flujo de bits escalable como información secundaria. Alternativamente, si el flujo de bits de la capa de núcleo está codificado perceptualmente, la información perceptual obtenida mediante la decodificación y la descuantización del flujo de bits de la capa de núcleo pueden utilizarse para la decodificación por planos de bits del flujo de bits de la capa de mejora. En una modalidad de la invención, el flujo de datos de la capa de mejora se decodifica por planos de bits en una secuencia consecutiva para generar una pluralidad de planos de bits que comprenden una pluralidad de símbolos de planos de bits, y los planos de bits se desplazan con base en la información perceptual de la señal digital para generar el flujo de bits de la capa de mejora decodificado por planos de bits. En otra modalidad de la invención, el flujo de datos de la capa de mejora se decodifica por planos de bits 52/356/06 en una secuencia basada en la información perceptual de la señal digital para generar una pluralidad de planos de bits que comprenden una pluralidad de símbolos de planos de bits, generando de esta manera el flujo de bits de la capa de mejora decodificado por planos de bits. La información perceptual de la señal digital puede ser al menos una de las siguientes: -el plano de bits correspondiente al flujo de datos de la capa de mejora al iniciar la decodificación por planos de bits del flujo de bits de la capa de mejora M(s); y -El nivel de Distorsión Apenas Perceptible (JND) de la señal digital, en el cual s corresponde a una banda de frecuencia de la señal digital. El plano de bits correspondiente al flujo de datos de la capa de mejora al iniciar la decodificación por planos de bits del flujo de bits de la capa de mejora M(s) se determina a partir del máximo intervalo de cuantización utilizado para descuantizar el flujo de bits de la capa de núcleo. El Segundo aspecto de la invención no sólo se relaciona con un método para decodificar un flujo de bits escalable en una señal digital, sino que también incluye un programa para computadora, un medio legible mediante una computadora y un dispositivo para implementar dicho método. 52/356/06 DESCRIPCIÓN DETALLADA DE LA INVENCIÓN A continuación se describen varias modalidades y aplicaciones de la invención en detalle con referencia a las figuras, en las cuales: La Figura 1 muestra un codificador de acuerdo con una modalidad de la invención. La Figura 2 muestra un decodificador de acuerdo con una modalidad de la invención. La Figura 3 ilustra una estructura de un proceso de codificación por planos de bits. La Figura 4 muestra un codificador de acuerdo con una modalidad de la invención. La Figura 5 muestra un decodificador de acuerdo con una modalidad de la invención. La Figura 6 muestra un codificador de acuerdo con una modalidad de la invención . La Figura 7 muestra un decodificador de acuerdo con una modalidad de la invención. La Figura 1 muestra un codificador 100 de acuerdo con una modalidad de la invención. El codificador 100 sirve para generar un flujo de bits escalable, y comprende dos capas distintas, a saber, una capa de núcleo la cual genera el flujo de bits de capa de núcleo, y una capa de Mejora sin pérdida (LLE, Lossless Enhancement) la cual genera el flujo de bits de capa de mejora. 52/356/06 El codificador comprende un transformador de dominio 101, un cuantizador 102, una unidad de mapeo de errores 103, un codificador de planos de bits perceptual 104 y un multiplexor 105. En el codificador 100, la señal digital primero se transforma mediante el transformador de dominio 101 a un dominio adecuado, tal como el dominio de frecuencia, dando como resultado una señal -transformada. Los coeficientes de la señal transformada se cuantizan mediante el cuantizador 102 y se codifican para generar el flujo de bits de la capa de núcleo. El mapeo de errores se realiza mediante la unidad de mapeo de errores 103, la cual corresponde a la capa LLE, para eliminar la información de los coeficientes de la señal transformada que se han utilizado o codificado en la capa de núcleo para formar el flujo de bits de la capa de núcleo. El residuo resultante o señal de error, específicamente los coeficientes de error, se codifican por planos de bits mediante el codificador de planos de bits 104 para generar el flujo de bits LLE incrustado. Este flujo de bits incrustado puede truncarse más para reducir la frecuencia de bits en el codificador 100 o en un decodificador correspondiente (como el decodificador 200 mostrado en la figura 2 y descrito más adelante) , o en el canal de comunicación para cumplir con los requisitos de frecuencia/fidelidad. Se utiliza un modelo perceptual 106 para controlar la codificación por planos de 52/356/06 bits de los coeficientes de error, de modo tal que los coeficientes de error que sean más importantes perceptualmente se codifiquen primero. Finalmente, el flujo de bits de la capa LLE se multiplexa con el flujo de bits de la capa de núcleo mediante el multiplexor 105 para generar el flujo de bits escalable. Adicionalmente, la información perceptual para controlar la codificación por planos de bits de los coeficientes de error también puede transmitirse como información secundaria de modo que un decodificador de planos de bits correspondiente sea capaz de reconstruir los coeficientes de error en un orden correcto. Cuando el flujo de bits LLE se trunca a una frecuencia menor, la señal decodificada sería una versión con pérdida de la señal de entrada original. La Figura 2 muestra un decodificador 200 de acuerdo con una modalidad de la invención. El decodificador 200 decodifica un flujo de bits generado por el codificador 100 para reconstruir la señal digital codificada por el codificador 100. El codificador 200 comprende un transformador de dominio 201, un descuantizador 202, una unidad de mapeo de errores 203, un decodificador de planos de bits perceptual 204 y un demultiplexor 205. El demultiplexor 205 recibe el flujo de bits 52/356/06 escalable como entrada y divide el flujo de bits escalable en el flujo de bits de capa de núcleo y el flujo de bits de capa de mejora como fueron generados por el codificador 100. El flujo de datos de capa de núcleo se decodifica y descuantiza mediante el descuantizador 202 para formar la señal de capa de núcleo. El flujo de datos de capa de mejora se decodifica por planos de bits perceptualmente con base en la información perceptual proporcionada por un modelo perceptual 206 mediante el decodificador de planos de bits perceptual 204, y posteriormente se realiza un mapeo de errores mediante la unidad de mapeo de errores 203 con la señal de capa de núcleo para generar una señal de capa de mejora. La señal de capa de mejora finalmente se transforma de regreso al dominio de la señal digital mediante el transformador de dominio 201, resultando en una señal transformada de capa de mejora la cual es la señal digital reconstruida. El procesamiento realizado por el codificador 100 y el decodificador 200 se explica en detalle a continuación. La señal de entrada se transforma normalmente al dominio de frecuencia mediante el transformador de dominio 101 antes de cuantizarse mediante el cuantizador 102 (el cual forma parte del codificador de capa de núcleo) para generar el flujo de bits de capa de núcleo. Pueden utilizarse varias funciones de transformación para 52/356/06 transformar la señal de entrada al dominio de frecuencia, tales como la Transformada Discreta de Coseno (DCT) , la Transformada Discreta de Coseno Modificada (MDCT) , la MDCT entera (IntMDCT) o la Transformada de Fourier Rápida (FFT) . Cuando se utiliza un codificador MPEG-4 AAC como el codificador de capa de núcleo (para la señal de audio) , normalmente se utiliza la MDCT para transformar la señal de audio de entrada al dominio de frecuencia, como se describe en [I]. En [13], la MDCT entera (IntMDCT) se propone como una aproximación reversible al banco de filtros de Transformada Discreta de Coseno Modificada (MDCT) utilizado con el codificador MPEG-4 AAC. Una manera utilizada normalmente para implementar la IntMDCT es factorizar el banco de filtros MDCT en una cascada de rotaciones de Givens en la forma de : aX la cual además se factoriza en tres pasos de elevación: Cada paso de elevación puede aproximarse mediante un entero reversible para realizar un mapeo entero redondeando a la 52/356/06 operación entera más cercana r: R—Z. Por ejemplo, el último paso de elevación se aproxima de la siguiente manera: la cual puede revertirse sin pérdida por : De esta manera se obtiene la IntMDCT mediante la implementación de todas las rotaciones de Givens con el mapeo entero reversible como se describe anteriormente. En el decodificador, la intMDCT puede utilizarse de nuevo por el transformador de dominio 201 para transformar la señal de capa de mejora a la señal digital (reconstruida) . En la capa de núcleo, los coeficientes c(k) de la señal transformada, donde k = 1,..., 1024 es la longitud de un cuadro del flujo de datos de la capa de núcleo, se cuantizan mediante el cuantizador 102 y se codifican en el flujo de bits de la capa de núcleo. En el contexto de una señal de audio de entrada, los coeficientes de la señal transformada pueden cuantizarse de acuerdo con los valores de cuantización de un codificador MPEG-4, un codificador MPEG-1 Layer 3 Audio (MP3) o cualguier codificador de audio propietario. Cuando se utiliza un codificador MPEG-4 ACC en 52/356/06 conjunto con la IntMDCT, los coeficientes de la señal transformada (también conocidos como los coeficientes IntMDCT) , c(k), primero se normalizan como: c' (k) = a • c( ) para aproximar las salidas normalizadas a las salidas del banco de filtros MDCT. Los coeficientes normalizados de la IntMDCT, c' (k) , se cuantizan y codifican a continuación, por ejemplo, de acuerdo con un cuantizador AAC (ver [19]) el cual está dado de la manera siguiente: Aquí [ . ] denota la operación de reducción la cual trunca un operando de punto flotante a entero, i (k) son los coeficientes AAC cuantizados y scale_f actor (s) es un factor de escala de una banda de factor de escala s a la cual pertenece el coeficiente c(k) . Los factores de escala pueden ajustarse de manera adaptable mediante un procedimiento de reducción de ruido de modo que el ruido de cuantización se enmascara de mejor manera mediante el umbral de enmascaramiento del sistema auditivo humano. Un enfoque adoptado ampliamente para este procedimiento de reducción de ruido es la cuantización anidada y el bucle de codificación, como se describe en detalle en [1] . Los coeficientes cuantizados i (k) se codifican sin 52/356/06 ruido (en este ejemplo, mediante el cuantizador 102), por ejemplo, mediante código Huffman o mediante Código aritmético separado por bits (BSAC, Bit-Sliced Arithmetic Code) como se describe en [17] . Se prefiere el BSAC si la escalabilidad de frecuencia de bits se requiere además en el flujo de bits de la capa de núcleo . Los factores de escala se codifican diferencialmente, por ejemplo, mediante el proceso de codificación DPCM descrito en [1] , o utilizando el código Huffman. El flujo de bits de la capa de núcleo puede entonces generarse por medio de multiplexar toda la información codificada de acuerdo con la sintaxis del flujo de bits AAC. Cabe mencionar que aunque se describe el mecanismo para incrustar el flujo de bits compatible con MPEG-4 AAC, también es posible utilizar flujos de bits los cuales sean compatibles con otros codees tales como los codificadores propietarios MPEG 1/2 Layer I, II, III (MP3) , Dolby AC3, o ATRAC de SONY como se describe en [20] . Cuando el cuantizador 102 funciona de acuerdo con el codificador MPEG AAC, el descuantizador 202 trabaja preferiblemente de acuerdo con un decodificador MPEG AAC para decodificar y descuantizar el flujo de bits de la capa de núcleo en el decodificador 200. Específicamente, el descuantizador 202 se utiliza para generar la señal de la capa de núcleo que posteriormente se utiliza para realizar el mapeo de errores mediante la unidad de mapeo de errores 52/356/06 203 en el decodificador 200 para generar la señal de la capa de mejora como se describirá a continuación. Sin embargo, deberá ser notado que pueden utilizarse descuantizadores de acuerdo con otras especificaciones tales como MP3 u otros decodificadores propietarios en el decodificador 200. En la capa LLE, se emplea un procedimiento de mapeo de errores para eliminar la información que ya se ha codificado en el flujo de datos de la capa de núcleo. Un posible enfoque para construir un procedimiento de mapeo de errores tal, es restar el umbral de cuantización más bajo (más cercano a cero) de cada coeficiente cuantizado del coeficiente de la señal de entrada transformada correspondiente. Esto puede ilustrarse como: e(k) = c(k) - thr (k) , donde thr(k) es el umbral de cuantización más bajo (más cercano a cero) para c(k) y e (k) es el coeficiente de error que representa la señal de error. Cuando el codificador MPEG-4 AAC se utiliza como el cuantizador: En aplicaciones prácticas, para asegurar una reconstrucción robusta, puede realizarse un mapeo del entero 52/356/06 i(k) al entero thr(k) mediante una tabla de búsqueda. Como puede verse con claridad a partir de la fórmula anterior, se requiere un total de 4 tablas para los diferentes valores de scale_factors (ya que la misma tabla puede compartirse entre diferentes valores de scale_factors si tienen un módulo 4 por desplazamiento de bits) , en las cuales cada tabla contiene el mapeo entre todos los posibles valores de i(k) y el thr(k) correspondiente para cualquier scale_factor del conjunto de aquellos con módulo 4. También es posible realizar el procedimiento de mapeo de errores restando un coeficiente reconstruido a partir del coeficiente de la señal de entrada transformada del coeficiente de la señal transformada como se describe en [3], lo cual puede ilustrarse como: e(k) = c(k) - c(k) , donde c(k) es el coeficiente de la señal transformada reconstruido. En general, también es posible realizar el procedimiento de mapeo de errores con base en la utilización de:' e(k) = c(k) - f(k) donde f (k) es cualquier función que corresponde a c ( k) , tal como : 2/356/06 Claramente, para c(k) que ya ha sido significativo en la capa de núcleo (thr(k)? 0), el signo del residuo de IntMDCT e (k) puede determinarse a partir de la reconstrucción de la capa de núcleo y por tanto sólo se necesita su amplitud para codificarse en la capa LLE. Adicionalmente, es bien conocido que para la mayoría de las señales de audio, c(k) puede aproximarse por variables aleatorias de Laplace mediante la función de densidad de probabilidad (pdf, probability density function) : XW\^ f(c{k)) = e 2s¿ Donde s es la varianza de c(k) . A partir de la propiedad "sin memoria" de una pdf de Laplace, es fácil verificar que la amplitud de e (k) se distribuye geométricamente como: donde el parámetro de distribución ?(k) se determina por la varianza de c(k) y el tamaño de paso del cuantizador de la capa de núcleo. Esta propiedad permite un esquema de codificación de planos de bits muy eficiente, tal como el código Golomb de planos de bits (BPGC) 0 para 52/356/06 codificar la señal de error a aplicar. En el decodificador 200, los coeficientes de la señal transformada pueden reconstruirse mediante el procedimiento dé mapeo de errores realizado por la unidad de mapeo de errores 203 de acuerdo con la siguiente ecuación: c(k) = e* (k) + thr(k) en donde e' (k) son los coeficientes de error decodificados los cuales describen el flujo de bits de la capa de mejora codificados por planos de bits, los cuales corresponden a los coeficientes de error e(k) en el codificador 100. Por tanto puede verse que con los coeficientes de error decodificados e' (k) (posiblemente una versión con pérdida si el flujo de bits LLE se trunca a frecuencias más bajas) y el umbral de cuantización thr(k) generado en la misma manera en el codificador con el índice de cuantización i (k) contenido en el flujo de bits de capa de núcleo incrustado (AAC) . De manera similar al codificador 100, los coeficientes de la señal transformada c(k) en el decodificador 200 también pueden generarse usando (sumando) los coeficientes de error decodificados e' (k) y los coeficientes de error reconstruidos del flujo de bits de la capa de núcleo. Además, los coeficientes de la señal transformada c(k) pueden generarse usando (sumando) los coeficientes de error 52/356/06 decodificados e' (k) y una función de c(k) . Para producir la parte escalable a sin pérdida del flujo de bits sin pérdida incrustado final, el residuo de la señal de error se codifica además mediante el codificador de planos de bits preceptúales 104 utilizando una codificación por planos de bits, una tecnología de codificación incrustada que se ha adoptado ampliamente en la codificación de audio [3] o en la codificación de imagen [5], en la capa LLE. Puede encontrarse una descripción del procedimiento de codificación por planos de bits general en [4] y [15] . Considere un vector de datos de entrada de n dimensiones xn = {x?,...,xn} donde ¿ se extrae de algunas fuentes aleatorias de algún alfabeto A c SR. Claramente, x¿ puede representarse en un formato binario í¡ = {2s¡ -í) - jbi,j - 2J ,i = l,...,k Poniendo en cascada los símbolos de planos de bits binarios que están compuestos por un símbolo de signo = o ^- [O Xi = O' y símbolos de amplitud b±,j e {0,1}. En la práctica, la codificación por planos de bits puede iniciarse desde el máximo plano de bits M del vector xn 52/356/06 donde M es un entero que satisface: y detenerse en el plano de bits 0 si xn es un vector entero. El proceso de codificación y decodificación de planos de bits de acuerdo con una modalidad de la invención y, por ejemplo, como se realiza mediante el codificador de planos de bits perceptual 104 y el decodificador de planos de bits perceptual 204 se explica a continuación, con referencia a la figura 3. La figura 3 ilustra una estructura del proceso de codificación de planos de bits (BPC, Bit Plañe Coding) anterior, donde cada vector de entrada primero se descompone en los símbolos de signo binario y de amplitud, los cuales entonces son analizados, en un orden deseado, por una unidad de análisis de planos de bits 301 y codificados por un codificador de entropía 302 (p. ej . ) , como código aritmético, como código Huffman o como código de longitud de serie) . Adicionalmente, un modelo estadístico 3.03, por ejemplo, basado en la distribución de Laplace de la señal de entrada, se utiliza normalmente para determinar la probabilidad de asignación para cada símbolo binario a codificar. En el decodificador correspondiente, el defecto en los datos se invierte, esto es, la salida del codificador de entropía 302 52/356/06 se decodifica mediante un decodificador de entropía 303 usando un modelo estadístico correspondiente 304 y el resultado es usado por una unidad de reconstrucción de planos de bits 304 para reconstruir el plano de bits, donde los símbolos de signo y amplitud que se decodificaron para reconstruir el plano de bits del vector de datos sigue el mismo orden de análisis en el codificador. La ventaja más significativa de tener un sistema de codificación de planos de bits como el anterior es que el flujo de bits comprimido resultante puede truncarse fácilmente a cualquier frecuencia deseada, donde un vector de datos de reproducción aún puede obtenerse mediante un plano de bits x reconstruido parcialmente decodificado desde este flujo de bits truncado. Para obtener el mejor desempeño en la codificación, normalmente se adopta un principio incrustado (ver [24] ) en el BPC, de acuerdo con el cual se codifican los símbolos de los planos de bits en el orden de la pendiente de distorsión de frecuencias decreciente, de modo que los símbolos con la contribución más significativa a la frecuencia de distorsión por unidad se codifiquen siempre primero. La selección del orden del análisis de planos de bits depende de la medida de distorsión deseada. Cuando el error cuadrático medio (MSE, Mean Square Error) o la expectativa de la función de error cuadrático se utilizan 52/356/06 como medida de la distorsión como se muestra: 1 " donde d(?„,&n) es el valor de distorsión, xn es el vector de datos original y Á„ es el vector reconstruido de xn en el decodificador. Los resultados de [24] muestran que el principio incrustado se satisface correctamente mediante un análisis de planos de bits y un procedimiento de codificación para la mayoría de las fuentes, excepto aquellas con una distribución de símbolos de planos de bits muy sesgada. Un ejemplo de un procedimiento de análisis y codificación de planos de bits secuencial simple consta de los siguientes pasos: 1. Iniciar desde el plano de bits más significativo j = M-l; 2. Codificar únicamente b¿,j con bj.,M-? = bj.,M-2 = = k>i,j+? = 0. Si bi,j = 1 en el análisis de significatividad, codificar si; (paso de significatividad) 3. Codificar los bj.,j que no se codifiquen en el paso de significatividad (paso de refinamiento) ; 4. Proseguir al plano de bits j-1. Lista 1.Procedimiento de análisis y codificación 52/356/06 de planos de bits El procedimiento anterior se itera hasta alcanzar cierto criterio de finalización, el cual normalmente es una restricción de frecuencia/distorsión predefinida. Además, puede ser necesario el ajuste adicional de la secuencia de codificación en un paso de significatividad si se encuentra que los símbolos de los planos de bits tienen distribuciones desiguales. Se ilustra un ejemplo del procedimiento de codificación secuencial anterior considerando un vector x con dimensión 4, digamos (9,-7,14,2). Así, se codifica por planos de bits desde su plano de bits más significativo 4. El paso de significatividad se inicia, ya que todos los elementos aún son no significativos, (x denota los símbolos de omisión). El signo se codifica como sigue: Positivo se codifica como 1, y negativo se codifica como 0. 2/356/06 Así, el flujo binario de salida es 11011010001001111110, el cual entonces se codifica por entropía y se envía al decodificador. En el decodificador, se reconstruye la estructura de planos de bits del vector de datos original. Si el flujo binario complete se recibe en el decodificador, el plano de bits del vector de datos original puede restaurarse y así, se obtiene una reconstrucción sin pérdida del vector de datos original. Si se recibe únicamente un subconjunto (la parte más significativa) del flujo binario, el decodificador aún es capaz de restaurar un plano de bits parcial del vector de datos original, de manera que puede obtenerse una versión de reconstrucción gruesa (cuantizada) del vector de datos original. Lo anterior es únicamente un ejemplo simple del procedimiento de análisis y codificación de planos de bits. En la práctica, el paso significativo puede fraccionarse 52/356/06 más para explorar la correlación estadística de los elementos en el vector de datos, tales como el proceso de codificación de planos de bits en JPEG2000, o el proceso en el codificador de audio incrustado (EAC, Embedded Audio Coder) descrito en [4] . El procedimiento de análisis y codificación de planos de bits secuencial anterior proporciona únicamente un esfuerzo para optimizar el desempeño del MSE. En el área de codificación de audio, imagen o video, minimizar la distorsión perceptual en lugar del MSE normalmente es un método de codificación más eficiente para obtener una calidad perceptual óptima en la señal reconstruida de audio, imagen o video. Por tanto, la codificación del plano de bits secuencial de la señal de error definitivamente es una opción inferior a la óptima. En el codificador 100, los coeficientes de error se agrupan preferiblemente en bandas de frecuencia de modo que cada banda de frecuencia s contenga un número de coeficientes de error en orden consecutivo. (La agrupación de bandas de factor de escala puede basarse en la agrupación de bandas adoptada en el cuantizador 102 si se utiliza un codificador perceptual como el cuantizador 102. Sin embargo, otras agrupaciones de bandas también son posibles) . Se dice que una banda de frecuencia es significativa si existe un coeficiente de error en la banda 52/356/06 de frecuencia s tal que el coeficiente cuantizado thr(k) desde el cuantizador no sea cero. En otras palabras, si e(k) es un coeficiente de error en la banda de frecuencia s: e(k) = c(k) - thr (k) , la banda de frecuencia es significativa si thr(k) ? 0 (thr(k) = 0 cuando i(k) = 0), y por lo tanto e (k) = c(k), de otro modo la banda s se considera no significativa. La significatividad perceptual de los bits de los coeficientes de error puede determinarse por el nivel de Distorsión Apenas Perceptible (JND) en una ubicación de frecuencia i. Este nivel de JND, Ti, puede determinarse a partir de un modelo perceptual tal como el modelo psicoacústico (1 ó II) o cualquier modelo perceptual propietario. Cuando se utiliza un cuantizador perceptual para formar el flujo de bits de la capa de núcleo, el modelo perceptual usado en el cuantizador también puede usarse para generar la JND para al codificación de planos de bits perceptual de los coeficientes de error. Para mayor simplicidad, la significatividad perceptual de los bits de los coeficientes de error en una misma banda de frecuencia s puede establecerse en el mismo valor. A continuación, se explica una posible implementación de la codificación de planos de bits perceptual con referencia a la Fig. 4 52/356/06 La Figura 4 muestra un codificador 400 de acuerdo con una modalidad de la invención. De manera análoga al codificador 100, el codificador 400 comprende un transformador de dominio 401, un cuantizador 402, una unidad de mapeo de errores 403, un codificador de planos de bits 404 (que utiliza un modelo perceptual 406) y un multiplexor 405. El bloque BPC perceptual, esto es, el codificador de planos de bits perceptual 404 comprende un bloque de desplazamiento de planos de bits 407 y un bloque BPC convencional 408. En el plano de desplazamiento de planos de bits 407, los planos de bits se desplazan perceptualmente, y los planos de bits desplazados perceptualmente se codifican en el bloque BPC 408 en una manera de análisis y codificación secuencial convencional. Considere la siguiente medida de distorsión ponderada perceptualmente (modificada) : 1 " d(.xn,Án) = -Y(xi - xi)2wi(x¡) . n M En el contexto de la codificación de audio perceptual, la señal de audio normalmente se cuantiza y se codifica en el dominio de frecuencia de manera que el vector de datos x„ es la señal de audio transformada y la 52/356/06 función de ponderación w¡(xt) es la importancia de Xi en diferentes ubicaciones de frecuencia i, esto es, ( N l La función de distorsión ponderada perceptualmente anterior puede reescribirse como sigue: donde Por lo tanto la función de error cuadrático de ponderación se convierte en una función de error cuadrático en el vector escalado x'n = {x'?,...,x'n} . Por lo tanto, la codificación optimizada perceptualmente de xn puede obtenerse simplemente realizando la codificación de planos de bits secuencial en x'n- En el decodificador correspondiente, cada elemento del vector de datos decodificado por planos de bits £' puede escalarse de regreso para obtener un vector de datos reconstruido como sigue. x¡ — ^¡t-¡ '?¡)¡ — L,..., n . De manera clara, los pesos Ti se transmiten 52/356/06 preferiblemente al decodificador como información secundaria si se desconocen en el decodificador. j además se cuantiza a una potencia de 2 entera par tal que se convierta en T, = 22t- , donde t, = iog2 :rf y el vector escalado por lo tanto puede obtenerse mediante el desplazamiento de bits de cada elemento en el vector original de datos como sigue: el cual se obtiene fácilmente realizando la operación de desplazamiento a la derecha en x por t¡ . Por ejemplo, si x¿ = 00010011 y t¡=-2 , el elemento del vector de datos escalado x'¡ es entonces 01001100; si r(.=2 se convertirá en 00000100.11. De esta manera, los planos de bits de los coeficientes de error se desplazan perceptualmente en una manera tal que cuando se realice una codificación de planos de bits secuencial en el plano de bits desplazado, los bits que son más importantes perceptualmente (en lugar de tener el MSE más alto) pueden codificarse primero. 52/356/06 Claramente, si cada elemento en el vector de datos original es un entero con una longitud de palabra limitada, p. ej . , si cada elemento en x tiene un plano de bits máximo de L, la codificación sin pérdida de x puede lograrse si cada x'i en el vector escalado se codifica por planos de bits desde el plano de bits -T ~ L - T . Como se mencionó anteriormente, la información sobre la significatividad perceptual tal como el nivel de JND puede proporcionarse al bloque de desplazamiento de planos de bits desde un modelo perceptual. En el proceso de codificación de planos de bits, un plano de bits máximo, M(s) puede utilizarse para especificar el plano de bits inicial en el que deberá comenzar el análisis y la codificación de planos de bits . El máximo plano de bits M(s) y Ti preferiblemente deberán transmitirse como información secundaria en el flujo de bits escalable al decodificador correspondiente con el fin de que el decodificador sea capaz de decodificar el flujo de bits correctamente . Para reducir la cantidad de información secundaria, M(s) y Ti pueden restringirse al mismo valor para la misma banda s de factor de escala en el codificador. El valor del máximo plano de bits M(s) en cada banda de frecuencia s puede determinarse a partir de los coeficientes de error e (k) usando la siguiente expresión: 52/356/06 Además, el valor absoluto máximo de los coeficientes de error m?(|e(&)|) en cada banda de frecuencia s significativa está unido por el intervalo del cuantizador del cuantizador perceptual: m?f(¿)|)< thr(i(k) +1)- thr(i{k)) . Por lo tanto, estos resultados en el plano de bits máximo M(s) para cada una de las bandas de frecuencia s significativas a ser determinada a partir de la siguiente expresión: Ya que los coeficientes cuantizados del cuantizador perceptual i (k) son conocidos por el decodificador, por tanto no es necesario transmitir el plano de bits máximo M(s) como información secundaria al decodificador para las bandas de frecuencia s significativas. El valor del plano de bits máximo M(s) también puede predefinirse en el codificador y en el decodificador y, por tanto, no necesitan transmitirse como información secundaria. La Figura 5 muestra un decodificador 500 de acuerdo con una modalidad de la invención. El decodificador 500 implementa un decodificador 52/356/06 de planos de bits perceptual el cual comprende el desplazamiento de planos de bits y la codificación de planos de bits convencional (secuencial) . De manera análoga al decodificador 200, el decodificador 500 comprende un transformador de dominio 501, un descuantizador 502, una unidad de mapeo de errores 503, un decodificador de planos de bits 504 (que utiliza un modelo perceptual 506) y un demultiplexor 505. De manera similar al codificador de planos de bits perceptual 404, el decodificador de planos de bits perceptual 504 comprende un bloque de desplazamiento de planos de bits 507 y un bloque BPC convencional 508. El flujo de bits de la capa de mejora generado por el codificador 400 se decodifica por planos de bits mediante el decodificador 500 de manera secuencial consecutiva (el mismo procedimiento de análisis de planos de bits secuencial que el codificador 400) para reconstruir los planos de bits. Los planos de bits reconstruidos se desplazan en manera inversa al codificador 400, con base en el valor recibido o regenerado t± para generar los coeficientes de error decodificados e1 (k) los cuales describen el flujo de bits de la capa de mejora decodifícados por planos de bits. La Figura 6 muestra un codificador 600 de acuerdo con una modalidad de la invención. 52/356/06 El codificador 600 utiliza la codificación de planos de bits perceptual. El codificador 600 comprende un transformador de dominio (intMDCT) 601, un cuantizador (cuantizador y codificador ACC) 602, una unidad de mapeo de errores 603, una unidad de cálculo de significatividad perceptual 604 (que utiliza un modelo psicoacústico 605) , una unidad de codificación perceptual de planos de bits 606 y un multiplexor 607. En esta implementación, el orden de análisis de los planos de bits y los símbolos de planos de bits no necesita ser secuencial, sino con base en la importancia perceptual de los símbolos de planos de bits correspondientes a las diferentes bandas de frecuencias . La importancia perceptual de los símbolos de planos de bits se determina mediante el cálculo de los parámetros relacionados con la información perceptual, tales como la significatividad perceptual y el primer (máximo) plano de bits para la decodificación de planos de bits . El cálculo de los parámetros de información perceptual se representa como el bloque de cálculo de significatividad perceptual, esto es, la unidad de codificación perceptual de planos de bits 604. Existen numerosas maneras de determinar la importancia perceptual, o específicamente la significatividad perceptual, de los símbolos de planos de bits 52/356/06 correspondientes a diferentes bandas de frecuencia. Una manera adoptada ampliamente es el uso de modelos psicoacústicos, tales como el Modelo Psicoacústico 2 descrito en [19], de la señal digital de entrada. El nivel de distorsión apenas perceptible (JND) T(s) para cada una de las bandas de frecuencia determinadas mediante el modelo psicoacústico pueden convertirse a la unidad del nivel de planos de bits t(s) como sigue: Sin embargo, esta invención no restringe el método por el cual pueden obtenerse T(s) ó t(s) . Ahora, hagamos que Ps(s) represente la significatividad perceptual de la banda de frecuencia s, la cual puede determinarse por la distancia de M(s) a t(s) como: Ps (s) = M(s) - t(s) . Deberá notarse además que el nivel de ruido, o el nivel de los coeficientes de error de la IntMDCT e(k) tenderían a ser planos con respecto al nivel de JND para las bandas significativas (como resultado del mecanismo de reducción de ruido en el codificador de núcleo) . En otras palabras, el valor de Ps(s) sería muy cercano, si no idéntico, para las bandas de frecuencia significativas. Este hecho puede ser explorado en el método de acuerdo con 52/356/06 la invención al compartir un factor común Ps_common para todas las bandas significativas. Las posibles selecciones de Ps_common pueden tener el valor promedio, el valor máximo, el valor mínimo, o cualquier otra función razonable de Ps (s) para todas las s que sean significativas. Entonces, Ps (s) puede normalizarse como sigue: Ps' (s) = Ps(s) - Ps_common, Dado que es conocido que para la banda significativa s, Ps'(s) sería cero, por lo tanto no necesita transmitirse al decodificador. De otro modo, para la banda no significativa s, Ps ' (s) preferiblemente debe transmitirse al decodificador correspondiente como información secundaria. En algunos otros ejemplos, cuando no existe una banda significativa, Ps_comnaon puede establecerse en 0. También es posible utilizar el procedimiento de reducción de ruido en el codificador del núcleo para satisfacer la necesidad de codificación perceptual. Por tanto no hay necesidad de implementar más allá la reducción de ruido, o la identificación significativa perceptual en la capa de mejora. En tales casos, Ps' (s) = 0 puede establecerse para todas las s. Normalmente, no necesitan transmitirse al decodificador si es conocido por el decodificador que son todas cero. Una posible implementación del mecanismo de 52/356/06 codificación de planos de bits puede describirse mediante el pseudo código a continuación. En éste, el número total de bandas de frecuencia se denota como s_total . 1. Encontrar la banda de frecuencia s con el mayor Ps ' (s) 2 . Codificar los símbolos de los planos de bits del plano de bits M(s) para e (k) en la banda s 3. M(s) = M(s) -1; Ps ' (s) =Ps ' (s) -1 4. si existe una banda s para la cual M(s) =0 ir al paso 1. Aquí se describe un método para obtener el máximo plano de bits M(s). Para la banda de significatividad, M(s) puede determinarse a partir del máximo intervalo de cuantización del cuantizador si se utiliza un cuantizador perceptual tal como un cuantizador AAC. Específicamente, M(s) es un entero que satisface: En este caso, M(s) no necesita transmitirse al decodificador, ya que i (k) sería conocido para el decodificador . Para las bandas no significativas M(s) puede calcularse a partir de e(k) como sigue: 52/356/06 y para esas bandas, M(s) preferiblemente debe enviarse al decodificador como información secundaria, ya que tal información no está contenida en el flujo de bits de la capa de núcleo. El valor del plano de bits máximo M(s) también puede predefinirse en el codificador 600 y en el decodificador correspondiente y, por tanto, no necesitan transmitirse como información secundaria. También son posibles otros enfoques alternos para explorar el parámetro Ps (s) en un enfoque de codificación de planos de bits, dirigidos hacia algún objetivo de reducción de ruido deseado. En general, Ps (s) también puede obtenerse mediante cualquier función de M(s) y t(s), por ejemplo las siguientes: Ps (s) = M(s) - 2t(s) , o <s)- ) 2 La Figura 7 muestra un decodificador 700 de acuerdo con una modalidad de la invención. El decodificador 700 es el decodificador correspondiente al codificador 600, en el cual la decodificación de planos de bits perceptual se implementa mediante el procedimiento de análisis de planos de bits perceptual como se describe anteriormente. El decodificador 700, de manera acorde, comprende 52/356/06 un transformador de dominio (intMDCT inversa) 701, un descuantizador (descuantizador y decodificador ACC) 702, una unidad de mapeo de errores 703, una unidad de cálculo de significatividad perceptual 704, una unidad de decodificación perceptual de planos de bits 706 y un demultiplexor 707. En el decodificador 700, para la banda significativa, Ps ' (s) está establecida a cero, y M(s) puede calcularse a partir del índice de cuantización AAC i(k) en la misma manera que en el codificador, esto es: Para la banda no significativa, Ps(s) y M(s) pueden recuperarse simplemente a partir de la información secundaria transmitida. Una vez que Ps (s) y M(s) se han recuperado para todas las bandas de frecuencia, los coeficientes de error de la IntMDCT é(k) pueden reconstruirse fácilmente decodificando el flujo de bits recibido y reconstruyendo sus símbolos de planos de bits en un orden que sea exactamente el mismo que en el codificador 700. Por ejemplo, el proceso de decodificación para el ejemplo de codificación anterior sería: 1. Encontrar la banda de frecuencia s con el mayor Ps ' (s) 2. Decodificar los símbolos de los planos de bits 52/356/06 del plano de bits M(s) para é (k) en la banda 3. M(s) = M(s)-1; Ps * (s) =Ps ' (s) -1 4. Si existe una banda s para la cual M(s)> 0 ir al paso 1. Determinar el plano de bits máximo para la codificación de planos de bits de los coeficientes de error. Para una banda significativa s (esto es, el coeficiente de error e(k) ? c(k) o 3k e s, i(k) ? 0) , el valor absoluto máximo de e(k) está limitado por el intervalo del cuantizador en el cuantizador AAC como: Por tanto, el plano de bits máximo M(k) puede determinarse usando: Dado que i (k) es conocido por el codificador, M(k).no necesita ser transmitido al decodificador dado que el decodificador es capaz de regenerar thr(k) y por tanto, M(k) a partir de i(k) para la banda significativa s. Para la banda no significativa, M(k) puede calcularse a partir de e(k) como sigue: y el M(s) calculado preferiblemente se transmite 52/356/06 con el flujo de bits de la capa de mejora como información secundaria para el flujo de bits de la capa de mejora se decodifique por planos de bits correctamente. Para reducir la cantidad de información secundaria, M(k) puede restringirse a los mismos valores que para k para la misma banda s de factor de escala en el cuantizador de la capa de núcleo. Por tanto, M(k) puede denotarse también por M(s). En el decodificador 700, los coeficientes de error correspondientes a la señal de error pueden reconstruirse mediante la decodificación del flujo de bits de la capa de mejora usando el mismo procedimiento de análisis de planos de bits que el codificador basado en M(s). Para la banda significativa, M(s) puede regenerarse usando lo siguiente: Para la banda no significativa, el decodificador hace uso de M(s), el cual es transmitido por el codificador como información secundaria.
REFERENCIAS [1] M. Bosi and et al, "ISO/IEC Mpeg-2 Advanced Audio Coding" (Codificación Avanzada de Audio Mpeg-2 ISO/IEC) , J. Audio Eng. Soc, Vol. 45, No. 10, pp. 789-814, 1997 OCT. [2] Jr. Stuart and et. al., "MLP lossless compression" (Compresión MLP sin pérdida), 9a. Convención Regional de la AES, Tokio. [3] R. Geiger, J. Herré, J. Koller, and K. Brandenburg, - "INTMDCT - A link between perceptual and lossless audio coding" (INTMDCT, un enlace entre la codificación de audio perceptual y sin pérdida), IEEE Proc. ICASSP 2002. [4] J.Li, "Embedded audio coding (EAC) with implicit auditory masking" (Codificación de audio incrustada (EAC) con enmascaramiento de auditoría implícito) , ACM Multimedia 2002, Nice, France, Dic. 2002 [5] T. Moriya, N. Iwakami, T. Mori, and A. Jin, "A design of lossy and lossless scalable audio coding" (Un diseño de codificación de audio escalable con y sin pérdida) , IEEE Proc. ICASSP 2000. [6] T. Moriya and et. al., "Lossless Scalable Audio Coder and Quality Enhancement" (Codificador de audio escalable sin pérdida y mejora de la calidad), Proc. de ICASSP 2002. [7] M. Hans and R.W. Schafer, "Lossless Compression of Digital Audio" (Compresión del audio digital sin pérdida) , revista de procesamiento de señales de la IEEE. Vol. 18 No. 52/356/06 4, pp. 21-32, 2001. [8] Lin Xiao, Li Gang, Li Zhengguo, Chia Thien King, Yoh Ai Ling, "A Novel Prediction Scheme for Lossless Compression of Audio Waveform" (Un nuevo esquema de predicción para la compresión sin pérdida de la forma de onda de audio), Proc.
IEEE ICME2001, ago . , Japón. [9] Shorten: http://www.softsound.com/Shorten.html [10] WaveZip: http://www.gadgetlabs.com/wavezip.html [11] LPAC: http://www-ft.ee.tu-berlin.de/-liebchen/ [12] Wave Archiver: www.ecf.utoronto.ca/-denlee/wavarc.html [13] R. Geiger, T. Sporer, J. Koller, and K. Brandenburg, "Audio Coding based on Integer Transforms" (Codificación de audio basada en las transformadas enteras" lllva. Convención de la AES, Sep. 2001. [14] J. Johnston, "Esti ation of Perceptual Entropy" (Estimación de la entropía perceptual), Proc. ICASSP 1988. [15] R. Yu, C. C. KO, X. Lin and S. Rahardja, "Bit-plane Golornb code for sources with Laplacian distributions" (Código Golornb para planos de bits para fuentes con distribuciones de Laplace), proc. De ICASSP 2003. [16] Monkey's Audio, http://www.monkeysaudio.com [17] S. H. Park et al., "Multi-Layer Bit-Sliced Bit Rate Scalable MPEG-4 Audio Coder" (Codificador de audio MPEG-4 de frecuencia de bits escalable separado por bits multicapas) , presentado en la 103va. Convención de la AES, Nueva York, 52/356/06 Sep. 1997 (preimpresión 4520) [18] Ralf Geiger and et. al., "FINE GRAIN SCALABLE PERCEPTUAL AND LOSSLESS AUDIO CODING BASED ON INTMDCT" (CODIFICACIÓN DE AUDIO ESCALABLE DE GRANO FINO PERCEPTUAL Y SIN PÉRDIDA BASADA EN INTMDCT" Proc. de ICASSP2003. [19] ISO/IEC 14496-3 Subparte 4, Information Technology - Coding of Audiovisual Objects (Tecnología de la información - Codificación de objetos audiovisuales), Parte 3. Audio, Subparte 4 Time/Frequency Coding (Codificación de tiempo/frecuencia) , ISO/JTC 1/SC 29/WGll, 1998 [20] T. Painter, A. Spanias, "Perceptual Coding of Digital Audio" (Codificación perceptual del audio digital) , IEEE Proceedings, vol. 88, no. 4, Abr. 2000. [21] ISO/IEC 11172-3, "CODING OF MOVING PICTURES AND ASSOCIATED AUDIO FOR DIGITAL STORAGE MEDIA AT UP TO ABOUT 1.5 MBIT/s" (CODIFICACIÓN DE IMÁGENES EN MOVIMIENTO Y EL AUDIO ASOCIADO PARA MEDIOS DE ALMACENAMIENTO DIGITAL HASTA VELOCIDADES CERCANAS A LOS 1.5 MBIT/s) , Parte 3 AUDIO [22] Westen, S. J.P., R.L. Lagendijk, and J. Biemond, "Optimization of JPEG color image coding using a human visual system model" (Optimización de la codificación de imágenes JPEG a color usando un modelo del sistema visual humano) , conferencia de la SPIE sobre la visión humana y las imágenes electrónicas [23] Westen, S.J.P., R.L. Lagendijk, and J. Biemond, "Spatio-Temporal Model of Human Vision For Digital Video Compression" 52/356/06 (Modelo espaciotemporal de la visión humana para la compresión de video digital), Proc. de la SPIE de Imágenes electrónicas 97. [24] J. Li and S. Lie, "An embedded still image coder with rate-distortion optimization" (Un codificador de imágenes estáticas incrustado con optimización de la distorsión de frecuencias", Trans. de la IEEE sobre procesamiento de imágenes, vol. 8, no. 7, pp. 913-924, Julio 1999

Claims (2)

  1. REIVINDICACIONES : 1. Un método para codificar una señal digital en un flujo de bits escalable, el cual comprende: - cuantizar la señal digital y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo; - realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error; - codificar por planos de bits la señal de error con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de capa de mejora, en el cual la información perceptual de la señal digital se determina utilizando un modelo perceptual; y - multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. 2. El método según la reivindicación 1, que además comprende: - la transformación de la señal digital a un dominio adecuado, en el cual la señal transformada se cuantiza para formar la señal cuantizada antes de codificar la señal cuantizada. 3. El método según la reivindicación 1 ó 2, en 52/356/06 donde la información perceptual de la señal digital además se multiplexa con el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora para generar el flujo de bits escalable. 4. El método según la reivindicación 2, en donde la señal digital se transforma en una señal digital transformada usando una Transformada Discreta de Coseno Modificada Entera. 5. El método según la reivindicación 4, en donde la señal transformada se normaliza para aproximarse a la salida de un banco de filtros MDCT. 6. El método según cualquiera de las reivindicaciones 1 a 5, en donde la señal digital o la señal digital transformada se cuantiza y codifica de acuerdo con la especificación de Codificación Avanzada de Audio (AAC, Advanced Audio Coding) del Grupo de Expertos en Imágenes en Movimiento (MPEG, Moving Pictures Expert Group) . 7. El método según cualquiera de las reivindicaciones 1 a 6, en donde el mapeo de errores se realiza restando el umbral de cuantización más bajo correspondiente a cada uno de los valores cuantizados de la señal cuantizada de la señal digital o de la señal digital transformada, generando así la señal de error. 8. El método según cualquiera de las reivindicaciones 1 a 7, en donde el modelo psicoacústico se 52/356/06 utiliza como el modelo perceptual para determinar la información perceptual de la señal digital. 9. El método según cualquiera de las reivindicaciones 1 a 8, en donde la señal de error se representa en planos de bits que comprenden una pluralidad de símbolos de planos de bits, y en donde los planos de bits se desplazan con base en la información perceptual de la señal digital, de manera tal que los planos de bits que sean más importantes perceptualmente se codifiquen primero cuando se analizan y codifican los planos de bits en una secuencia consecutiva durante la codificación de planos de bits de la señal de error. 10. El método según cualquiera de las reivindicaciones 1 a 8, en donde la señal de error se representa en planos de bits que comprenden una pluralidad de símbolos de planos de bits, y en donde los planos de bits y los símbolos de planos de bits se analizan y codifican durante la codificación de planos de bits de la señal de error en una secuencia basada en la información perceptual de la señal digital, de manera tal que los símbolos de planos de bits de los planos de bits más importantes perceptualmente se codifican primero. 11. El método según la reivindicación 9 ó 10, en donde al menos un elemento de la siguiente información se determina como la información perceptual de la señal 52/356/06 digital mediante el modelo perceptual : - el plano de bits de la señal de error en el cual inicia la codificación de planos de bits de la señal de error M (s) ; y - el nivel de Distorsión Apenas Perceptible (JND) de la señal digital, en el cual s corresponde a una banda de frecuencia de la señal digital o de la señal digital transformada . 12. El método según la reivindicación 11, en donde la significatividad perceptual Ps (s) de la señal digital además se determina como la información perceptual, la significatividad perceptual se determina por: - determinar el plano de bits de la señal de error correspondiente al nivel de JND t(s) de la señal digital, - restar el plano de bits de la señal de error correspondiente al nivel de JND t(s) de la señal digital del plano de bits a partir de la señal de error, en el cual inicia la codificación de planos de bits de la señal de error M(s), determinando así la significatividad perceptual Ps(s), en donde la significatividad perceptual Ps (s) se utiliza para controlar la secuencia de análisis y codificación de por lo menos los planos de bits o los símbolos de los planos de bits de los planos de bits. 13. El método según la reivindicación 12, en donde la significatividad perceptual Ps(s) se normaliza mediante: 52/356/06 - definir una significatividad perceptual común Ps(s)_common basada en una función de la significatividad perceptual Ps(s); y restar la significatividad perceptual común Ps (s)_common a partir de la significatividad perceptual Ps(s), generando así la significatividad perceptual normalizada Ps' (s) , en donde para la banda de frecuencia s para la cual los valores cuantizados no son todos cero, el valor de la significatividad perceptual Ps(s) se establece en el valor de la significatividad perceptual común Ps_common, y donde para la banda de frecuencia s para la cual los valores cuantizados son todos cero, la significatividad perceptual normalizada Ps' (s) se multiplexa con el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora para generar el flujo de bits escalable. 14. El método según la reivindicación 11, en donde el plano de bits de la señal de error en el cual inicia la codificación de la señal de error se determina a partir del máximo intervalo de cuantización utilizado en la banda de frecuencia s para cuantizar la señal digital o la señal transformada. 15. Un codificador para codificar una señal digital en un flujo de bits escalable, que comprende: - una unidad de cuantización para cuantizar la 52/356/06 señal digital y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo; - una unidad de mapeo de errores para realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error; - una unidad de codificación de planos de bits perceptual para codificar por planos de bits la señal de error con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de capa de mejora, en el cual la información perceptual de la señal digital se determina utilizando un modelo perceptual; y - una unidad multiplexora para multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. 16. Un medio legible mediante una computadora, que tenga un programa grabado en el mismo, donde el programa, al ser ejecutado por una computadora, hace que la computadora realice un procedimiento para codificar una señal digital en un flujo de bits escalable, el procedimiento comprende : - cuantizar la señal digital y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo; 52/356/06 - realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error; - codificar por planos de bits la señal de error con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de capa de mejora, en el cual la información perceptual de la señal digital se determina utilizando un modelo perceptual; y - multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. 17. Un elemento de programa de cómputo el cual, al ser ejecutado por una computadora, hace que la computadora realice un procedimiento para codificar una señal digital en un flujo de bits escalable, el procedimiento comprende: - cuantizar la señal digital y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo; - realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error; 52/356/06 - codificar por planos de bits la señal de error con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de capa de mejora, en el cual la información perceptual de la señal digital se determina utilizando un modelo perceptual; y - multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. 18. Un método para decodificar un flujo de bits escalable en una señal digital, el cual comprende: - demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora; - decodificar y descuantizar el flujo de bits de la capa de núcleo para generar una señal de capa de núcleo; - decodificar por planos de bits el flujo de bits de la capa de mejora con base en la información perceptual de la señal digital; y - realizar un mapeo de errores con base en el flujo de bits de la capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como, resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital. 19. El método según la reivindicación 18, que además transforma la señal transformada reconstruida en una 52/356/06 señal reconstruida, donde la señal reconstruida es la señal digital . 20. El método según la reivindicación 18 ó 19, en el cual la información perceptual de la señal digital se obtiene de la demultiplexión del flujo de bits escalable. 21. El método según la reivindicación 19 ó 20, en donde la señal de capa de núcleo y la señal de capa de mejora se transforman utilizando una Transformada Discreta de Coseno Modificada (MDCT) . 22. El método según cualquiera de las reivindicaciones 18 a 21, en donde el flujo de bits de la capa de núcleo se decodifica y se descuantiza de acuerdo con la especificación de Codificación Avanzada de Audio (AAC, Advanced Audio Coding) del Grupo de Expertos en Imágenes en Movimiento (MPEG, Moving Pictures Expert Group) . 23. El método según cualquiera de las reivindicaciones 18 a 22, en donde el mapeo de errores se realiza mediante la adición del umbral de cuantización más bajo utilizado para descuantizar la señal transformada y el flujo de datos de la capa de mejora decodificada por planos de bits, generando de este modo la señal de la capa de mejora. 24. El método según cualquiera de las reivindicaciones 18 a 23, donde el flujo de datos de la capa de mejora se decodifica por planos de bits para generar una pluralidad de planos de bits que comprenden una 52/356/06 pluralidad de símbolos de planos de bits en una secuencia consecutiva, y los planos de bits se desplazan con base en la información perceptual de la señal digital para generar el flujo de bits de la capa de mejora decodificado por planos de bits. 25. El método según cualquiera de las reivindicaciones 18 a 23, donde el flujo de datos de la capa de mejora se decodifica por planos de bits para generar una pluralidad de planos de bits que comprenden una pluralidad de símbolos de planos de bits en una secuencia con base en la información perceptual de la señal digital, generando de este modo el flujo de bits de la capa de mejora decodificado por planos de bits. 26. El método según la reivindicación 24 ó 25, en donde al menos un elemento de la siguiente información se recibe como la información perceptual de la señal digital: - el plano de bits correspondiente al flujo de bits de la capa de mejora al iniciar la decodificación por planos de bits del flujo de bits de la capa de mejora y tal plano de bits se especifica mediante un número M(s); y - el nivel de Distorsión Apenas Perceptible (JND) de la señal digital, en el cual s corresponde a una banda de frecuencia de la señal digital. 27. El método según la reivindicación 26, en donde el plano de bits correspondiente al flujo de datos de 52/356/06 la capa de mejora al iniciar la decodificación por planos de bits del flujo de bits de la capa de mejora M(s) se determina a partir del máximo intervalo de cuantización utilizado en la banda de frecuencia s para descuantizar el flujo de bits de la capa de núcleo. 28. Un decodificador para decodificar un flujo de bits escalable en una señal digital, el cual comprende: - una unidad demultiplexora para demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora; - una unidad de descuantización para decodificar y descuantizar el flujo de bits de la capa de núcleo para generar una señal de capa de núcleo; - una unidad decodificadora de planos de bits para decodificar por planos de bits el flujo de bits de la capa de mejora con base en la información perceptual de la señal digital; y - una unidad de mapeo de errores para realizar un mapeo de errores con base en el flujo de bits de la capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital. 29. Un medio legible mediante una computadora, que tenga un programa grabado en el mismo, donde el 52/356/06 programa, al ser ejecutado por una computadora, hace que la computadora realice un procedimiento para decodificar un flujo de bits escalable en una señal digital, el procedimiento comprende : - demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora; - decodificar y descuantizar el flujo de bits de la capa de núcleo para generar una señal de capa de núcleo; - decodificar por planos de bits el flujo de bits de la capa de mejora con base en la información perceptual de la señal digital; y - realizar un mapeo de errores con base en el flujo de bits de la capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital. 30. Un elemento de programa de cómputo, el cual, al ser ejecutado por una computadora, hace que la computadora realice un procedimiento para decodificar un flujo de bits escalable en una señal digital, el procedimiento comprende : - demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora; 52/356/06 - decodificar y descuantizar el flujo de bits de la capa de núcleo para generar una señal de capa de núcleo; - decodificar por planos de bits el flujo de bits de la capa de mejora con base en la información perceptual de la señal digital; y - realizar un mapeo de errores con base en el flujo de bits de la capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital. 2/356/06 RESUMEN DE LA INVENCIÓN Un método para codificar una señal digital en un flujo de bits escalable que comprende cuantizar la señal digital, y codificar la señal cuantizada para formar un flujo de bits de capa de núcleo, realizar un mapeo de errores con base en la señal digital y el flujo de bits de la capa de núcleo para eliminar la información que ya ha sido codificada en el flujo de bits de la capa de núcleo, dando como resultado una señal de error, codificar la señal de error por planos de bits con base en la información perceptual de la señal digital, dando como resultado un flujo de bits de la capa de mejora, en el cual la información perceptual de la señal digital se determina mediante un modelo perceptual, y multiplexar el flujo de bits de la capa de núcleo y el flujo de bits de la capa de mejora, generando de este modo el flujo de bits escalable. Un método para decodificar un flujo de bits escalable en una señal digital que comprende demultiplexar el flujo de bits escalable en un flujo de bits de capa de núcleo y un flujo de bits de capa de mejora, decodificando y descuantizando el flujo de bits de capa de núcleo para generar una señal de capa de núcleo, decodificar por planos de bits el flujo de bits de capa de mejora por planos de bits con base en la información perceptual de la señal digital, y realizar un mapeo de errores con base en el 52/356/06 flujo de bits de capa de mejora decodificado por planos de bits y la señal de capa de núcleo descuantizada, dando como resultado una señal transformada reconstruida, en donde la señal transformada reconstruida es la señal digital.
  2. 2/356/06
MXPA/A/2006/004049A 2003-10-10 2006-04-10 Metodo para codificar una señal digital en un flujo de bits escalable;metodo para decodificar un flujo de bits escalable MXPA06004049A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US60/510,629 2003-10-10

Publications (1)

Publication Number Publication Date
MXPA06004049A true MXPA06004049A (es) 2007-04-10

Family

ID=

Similar Documents

Publication Publication Date Title
JP4849466B2 (ja) デジタル信号をスケーラブルビットストリームにエンコードする方法、及びスケーラブルビットストリームをデコードする方法
US6122618A (en) Scalable audio coding/decoding method and apparatus
Atsumi et al. Lossy/lossless region-of-interest image coding based on set partitioning in hierarchical trees
EP0869622B1 (en) Scalable audio coding/decoding method and apparatus
EP1960999B1 (en) Method and apparatus encoding an audio signal
CN1748443B (zh) 多声道音频扩展支持
JP4081447B2 (ja) 時間離散オーディオ信号を符号化する装置と方法および符号化されたオーディオデータを復号化する装置と方法
US7761290B2 (en) Flexible frequency and time partitioning in perceptual transform coding of audio
US20080312758A1 (en) Coding of sparse digital media spectral data
EP1422694A2 (en) A progressive to lossless embedded audio coder (PLEAC) with multiple factorization reversible transform
USRE46082E1 (en) Method and apparatus for low bit rate encoding and decoding
CN101223576A (zh) 从音频信号提取重要频谱分量的方法和设备以及使用其的低比特率音频信号编码和/或解码方法和设备
US20080140393A1 (en) Speech coding apparatus and method
KR19990041072A (ko) 비트율 조절이 가능한 스테레오 오디오 부호화/복호화 방법 및 장치
CN101015125A (zh) 对数据进行可分级编码和解码的系统和方法
KR20100113065A (ko) 정수 변환에 기초한 부호화 및 복호화에 대한 반올림 노이즈 셰이핑
KR20050022160A (ko) 스케일러블 비디오 코딩 및 디코딩 방법, 및 스케일러블비디오 엔코더 및 디코더
KR20050006028A (ko) 에프쥐에스 오디오 부호화에서 스케일 팩터방식 비트시프트
Yu et al. A scalable lossy to lossless audio coder for MPEG-4 lossless audio coding
MXPA06004049A (es) Metodo para codificar una señal digital en un flujo de bits escalable;metodo para decodificar un flujo de bits escalable
KR100975522B1 (ko) 스케일러블 오디오 복/부호화 방법 및 장치
US20170206905A1 (en) Method, medium and apparatus for encoding and/or decoding signal based on a psychoacoustic model
KR100765747B1 (ko) 트리 구조 벡터 양자화를 이용한 스케일러블 음성 부호화장치
KR101107318B1 (ko) 스케일러블 비디오 인코딩, 디코딩 방법 및 스케일러블 비디오 인코더, 디코더
KR20040051369A (ko) 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치