ES2305852T3 - Procedimiento de codificacion de una señal digital en un flujo binario escalable, procedimiento para la descodificacion de un flujo binario escalable. - Google Patents
Procedimiento de codificacion de una señal digital en un flujo binario escalable, procedimiento para la descodificacion de un flujo binario escalable. Download PDFInfo
- Publication number
- ES2305852T3 ES2305852T3 ES04775644T ES04775644T ES2305852T3 ES 2305852 T3 ES2305852 T3 ES 2305852T3 ES 04775644 T ES04775644 T ES 04775644T ES 04775644 T ES04775644 T ES 04775644T ES 2305852 T3 ES2305852 T3 ES 2305852T3
- Authority
- ES
- Spain
- Prior art keywords
- binary
- signal
- perceptual
- layer
- digital signal
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/24—Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/34—Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/647—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]
Abstract
Un procedimiento de codificación de una señal digital en un flujo binario escalable, que comprende: - cuantificar (102) la señal digital y codificar la señal cuantificada para formar un flujo binario de capa de núcleo; - realizar una correspondencia de errores (103) en base a la señal digital y al flujo binario de capa de núcleo para eliminar información que haya sido codificada en el flujo binario de capa de núcleo, dando como resultado una señal de error; - codificar en plano binario (104) la señal de error en base a la información perceptual de la señal digital, dando como resultado un flujo binario de capa de mejora, en el que la información perceptual de la señal digital se determina usando un modelo perceptual; y - multiplexar (105) el flujo binario de capa de núcleo y el flujo binario de capa de mejora, generando por lo tanto el flujo binario escalable.
Description
Procedimiento de codificación de una señal
digital en un flujo binario escalable, procedimiento para la
descodificación de un flujo binario escalable.
Recientemente, con los avances en los
ordenadores, el funcionamiento en red y las comunicaciones que
portan flujos con contenidos de audio sobre redes tales como
Internet, redes de área local sin hilos, redes domésticas y
sistemas de telefonía celular comercial se está convirtiendo en un
medio predominante para ofrecer servicios de audio. Se piensa que
con el progreso de las infraestructuras de red de banda ancha,
incluyendo xDSL, las fibras ópticas y el acceso sin hilos de banda
ancha, las velocidades binarias para estos canales se aproximarán
de una manera rápida a aquéllas para la entrega de señales de audio
sin pérdidas de alta velocidad de muestreo y alta resolución de
amplitud (por ejemplo, 96 kHz, 24 bit/muestra). Por otra parte, aún
existen áreas de aplicación en las que se requieren los formatos de
audio digital de alta compresión tales como MPEG-4
AAC (descritos en [1]). Como resultado de esto, son altamente
demandadas soluciones interfuncionales y que sirven de puente entre
los canales actuales y los canales de banda ancha que emergen con
rapidez. Además, incluso cuando los canales de banda ancha se
encuentren ampliamente disponibles y las restricciones de ancho de
banda se eliminen por última vez, aún es altamente favorable un
sistema de codificación de velocidad binaria escalable que sea
capaz de de producir un flujo binario jerárquico cuyas velocidades
binarias se puedan cambiar de manera dinámica durante la
transmisión. Por ejemplo, para aplicaciones en las que ocurren
pérdidas de paquetes de manera ocasional debido a accidentes o
debido a requisitos de compartición de recursos, las
representaciones de la forma de onda de banda ancha actuales tales
como PCM (Modulación de Impulsos Codificados), (del inglés Pulse
Code Modulation) y los formatos de de codificación sin pérdidas
pueden sufrir serias distorsiones en una situación de flujo
binario. Sin embargo, este problema se puede resolver si uno pudiese
fijar las prioridades de paquete en el caso de que los recursos de
red se cambien de manera dinámica. Finalmente, un sistema de
codificación de velocidad binaria escalable proporciona también las
ventajas del servidor para los servicios de flujo binario de audio,
en los que se podría conseguir una degradación de la QoS digna si
llega un número excesivo de peticiones desde los sitios de los
clientes.
Se han propuesto con anterioridad muchos
algoritmos de codificación de audio sin pérdidas (véase [2] - [8]).
La mayoría de las aproximaciones dependen de un filtro de predicción
para eliminar la redundancia de las señales de audio originales
mientras que los residuos son codificados en entropía (como se
describe en [5] - [12]). Debido a la existencia de los filtros
predictivos, los flujos binarios generados por estas aproximaciones
basadas en la predicción son difíciles y no son eficientes en (véase
[5], [6]), si no imposible, para ser escalado para conseguir un
escalado de la velocidad binaria. Otras aproximaciones tales como
las que se describen en [3], construyen el codificador de audio sin
pérdidas a través de una aproximación de dos capas en la que las
señales de audio originales se codifican en primer lugar con un
codificador con pérdidas y su residuo se codifica después sin
pérdidas con un codificador residual. Aunque este diseño de dos
capas proporciona alguna clase de escalado de la velocidad binaria,
su granularidad es demasiado basta como para ser apreciada por
aplicaciones de flujos binarios de audio. Los códecs de audio
que proporcionan el escalado de grano fino sobre la velocidad
binaria fueron propuestos previamente en [4] y en [18], sin embargo,
a diferencia del sistema que se trata en este documento, estos
códecs no proporcionan la compatibilidad hacia atrás en que
los flujos binarios con pérdidas producidos por ambos códecs
son incompatibles para cualquier códec de audio
existente.
En [21], [22], [23] se describen modelos
perceptuales. El códec de vídeo como el de [25] proporciona
un escalado de grano fino así como compatibilidad hacia atrás, en
donde la codificación de la señal residual se base en
consideraciones independientes de la señal.
El objeto de la invención es proporcionar un
procedimiento de codificación de una señal digital en un flujo
binario escalable en el que la compatibilidad hacia atrás se pueda
mantener y se pueda mejorar la calidad perceptual.
Se proporciona un procedimiento para codificar
una señal digital dentro de un flujo binario escalable, que
comprende: la cuantificación de la señal digital y la codificación
de la señal cuantificada para formar un flujo binario de capa de
núcleo; la realización de una correspondencia de errores en base a
la señal digital y al flujo binario de capa de núcleo para eliminar
la información que haya sido codificada en el flujo binario de capa
de núcleo, dando como resultado una señal de error; la codificación
de plano binario de la señal de error en base a la información
perceptual de la señal digital, dando como resultado un flujo
binario de capa de mejora, en el que la información perceptual de
la señal digital se determina usando un modelo perceptual; y
- multiplexar el flujo binario de capa de núcleo
y el flujo binario de capa de mejora, generando por lo tanto el
flujo binario escalable.
Además, se proporcionan un codificador para
codificar una señal digital en un flujo binario escalable, un medio
que sea legible por medio de un ordenador, un elemento de programa
de ordenador, un procedimiento para la descodificación del flujo
binario escalable en una señal digital, un descodificador para
descodificar un flujo binario escalable en una señal digital, un
medio adicional legible por un ordenador y un elemento adicional de
programa de ordenador de acuerdo con el procedimiento descrito con
anterioridad.
En una realización, se presenta el códec
de audio sin pérdidas que consigue el escalado de la velocidad
binaria de grano fino (FGBS, del inglés Fine Grain
Bit-Rate Scalability) con las siguientes
características:
- -
-
\vtcortauna
- -
-
\vtcortauna
- -
-
\vtcortauna
La abundante funcionalidad proporcionada por el
códec de audio presentado sugiere su capacidad para servir
como un formato de audio "universal" para cumplir con los
varios requisitos de velocidad/calidad para los diferentes flujos
binarios de audio o aplicaciones de almacenamiento. Por ejemplo, un
flujo binario que cumpla con MPEG-4 AAC que se use
como el flujo binario de capa de núcleo se puede extraer fácilmente
del flujo binario generado usando el códec para servicios de
audio MPEG-4 AAC convencionales. Por otra parte, la
comprensión sin pérdidas también es proporcionada por el
códec para aplicaciones de edición de audio o para
aplicaciones de almacenamiento con requisito de reconstrucción sin
pérdidas. En aplicaciones de flujo binario de audio, en las que se
necesite el FGBS, el flujo binario sin pérdidas del códec se
puede truncar de manera adicional a velocidades binarias más bajas
en el codificador/descodificador o en el canal de comunicaciones
para cualquier restricción de la velocidad/fidelidad/complejidad
que pueda surgir en sistemas prácticos.
En una realización, se proporciona un
procedimiento de codificación de una señal digital para formar un
flujo binario escalable, en el que el flujo binario escalable se
puede truncar en cualquier punto para producir una señal de calidad
más baja (con pérdidas) cuando sea descodificada por un
descodificador. El procedimiento se puede usar para la codificación
de cualquier tipo de señal digital, tal como señales de audio,
señales de imagen o señales de vídeo. La señal digital, que
corresponde a una señal física medida, puede ser generada por medio
de la exploración de al menos un rasgo característico de una señal
analógica correspondiente (por ejemplo, los valores de luminancia y
de crominancia de una señal de vídeo, la amplitud de una señal de
sonido analógica o la señal de detección analógica proveniente de
un sensor). Por ejemplo, se puede usar un micrófono para capturar
una señal de audio analógica, que después se convierte en una señal
de audio digital por medio del muestreo y de la cuantificación de
la señal de audio analógica capturada. Se puede usar una cámara de
vídeo para capturar la señal de vídeo analógica, que después se
convierte en una señal de vídeo digital usando un convertidor
analógico a digital adecuado. De manera alternativa, se puede usar
una cámara digital para capturar directamente la imagen o la señal
de vídeo sobre un sensor de imágenes (CMOS o CCD) como señales
digitales.
La señal digital se cuantifica y se codifica
para formar un flujo binario de capa de núcleo. El flujo binario de
capa de núcleo forma la velocidad binaria/calidad mínimas del flujo
binario escalable.
Se usa un flujo binario de capa de mejora para
proporcionar una velocidad binaria/calidad adicionales del flujo
binario escalable. El flujo binario de capa de mejora se forma de
acuerdo con la invención por medio de la realización de una
correspondencia de errores en base a la señal transformada y al
flujo binario de capa de núcleo para generar una señal de error. El
propósito de realizar una correspondencia de errores es eliminar la
información que ya ha sido codificada en el flujo binario de capa de
núcleo.
La señal de error se codifica en plano binario
para formar el flujo binario de capa de mejora. La codificación en
plano binario de la señal de error se realiza en base a la
información perceptual, es decir, la importancia percibida o
perceptual de la señal digital. La información perceptual usada en
esta presente invención se refiere a la información que está
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). Dicha información perceptual
para la señal digital (vídeo o audio) se obtiene usando un modelo
perceptual, por ejemplo el Modelo Psicoacústico I o II en el audio
MPEG-1 (descrito en [21]), para las señales de
audio, y el Modelo del Sistema Visual Humano para la imagen
(descrito en [22]), y el Modelo Espacio-Temporal
usado en vídeo (descrito en [23]).
El modelo psicoacústico se basa en el efecto de
que el oído humano solamente es capaz de recoger sonidos dentro de
una cierta banda de frecuencias dependiendo de varias condiciones
ambientales. De manera similar, el HVM (modelo visual humano) (del
inglés, Human Visual Model) se basa en el efecto de que el
ojo humano está más atento a cierto movimiento, colores y
contrastes.
El flujo binario de capa de núcleo y el flujo
binario de capa de mejora se multiplexan para formar el flujo
binario escalable.
El flujo binario escalable se puede descodificar
para reconstruir sin pérdidas la señal digital. Como se ha
mencionado con anterioridad, el flujo binario de capa de núcleo es
un flujo binario incorporado que forma la mínima velocidad
binaria/calidad del flujo binario escalable, y el flujo binario de
capa de mejora forma la pérdida para la parte sin pérdidas del
flujo binario escalable. Como el flujo binario de capa de mejora
está de manera perceptual codificado plano binario, el flujo binario
de capa de mejora se puede truncar de una manera tal que los datos
del flujo binario de capa de mejora que sean menos importantes desde
el punto de vista perceptual se trunquen primero, para proporcionar
el escalado perceptual del flujo binario escalable. En otras
palabras, el flujo binario escalable se puede escalar por medio del
truncado del flujo binario de capa de mejora, de forma que el flujo
binario de capa de mejora y así el flujo binario escalable se puedan
optimizar desde el punto de vista perceptual incluso cuando se
trunquen a una velocidad binaria/calidad más bajas.
El procedimiento de acuerdo con la invención se
puede usar como un codificador sin pérdidas para la señal digital,
tal como una señal de imagen, de vídeo o de audio, en sistemas de
alto ancho de banda o en sistemas de alta fidelidad. Cuando cambia
el requisito de ancho de banda, la velocidad binaria del flujo
binario generado por el codificador se puede cambiar de acuerdo con
esto para cumplir con el cambio de los requisitos de ancho de
banda. Dicho procedimiento se puede implementar en muchas
aplicaciones y sistemas tales como audio MPEG, compresión de imagen
y de vídeo de JPEG 2000.
De acuerdo con una realización de la invención,
la señal digital se transforma en un dominio adecuado antes de ser
cuantificada para formar la señal cuantificada. La señal digital se
puede transformar dentro del mismo dominio o desde un dominio a
otro dominio con el fin de representar mejor la señal digital, y por
lo tanto permitir una cuantificación y una codificación fáciles y
eficientes de la señal digital para formar el flujo binario de capa
de núcleo. Dicho dominio puede incluir, pero no se limita a, el
dominio en el tiempo, el dominio en la frecuencia y un híbrido de
los dominios en el tiempo y en la frecuencia. La transformación de
la señal digital se puede llevar a cabo incluso por medio de una
matriz unitaria, I.
En una realización, la señal digital se
transforma en una señal transformada usando una Transformada de
Coseno Discreta Modificada entera (intMDCT). La intMDCT es una
aproximación reversible al filtro de bancos de Transformada de
Coseno Discreta Modificada (MDCT) que es comúnmente usada en un
codificador MPEG-4 AAC. Se pueden usar otras
transformadas para transformar la señal digital en un dominio
adecuado para el procesado adicional, incluyendo, pero no
limitándose a, Transformada de Coseno Discreta, Transformada de Seno
Discreta, Transformada Rápida de Fourier y Transformada Discreta de
Ondas Pequeñas.
Cuando se usa intMDCT para transformar la señal
digital en la señal transformada, la señal transformada (de manera
específica los coeficientes intMDCT que describen la señal
transformada) está de manera preferible normalizada o escalada para
aproximar la salida de un filtro de bancos MDCT. La normalización de
la señal transformada intMDCT puede ser útil en el caso cuando un
cuantificador para cuantificar la señal transformada, por ejemplo,
un cuantificador AAC, tiene un filtro de bancos MDCT con una
ganancia global diferente de la ganancia global del filtro de
bancos intMDCT. Dicho proceso de normalización aproxima la señal
transformada intMDCT al filtro de bancos MDCT de forma que es
adecuada para ser cuantificada y codificada de manera directa por
el cuantificador para formar el flujo binario de capa de núcleo.
Para codificar una señal digital de audio, la
señal digital/transformada es de manera preferible cuantificada y
codificada de acuerdo con la especificación MPEG AAC para generar el
flujo binario de capa de núcleo. Esto es porque AAC es uno de los
algoritmos de codificación de audio perceptuales más eficientes para
generar una baja velocidad binaria pero un alto flujo binario de
audio de alta calidad. Por lo tanto, el flujo binario de capa de
núcleo generado usando AAC (al que se hace referencia como flujo
binario AAC) tiene una baja velocidad binaria, e incluso cuando se
trunca el flujo binario escalable al flujo binario de capa de
núcleo, la calidad perceptual del flujo binario truncado aún sigue
siendo alta. Se debería notar que también se pueden usar otros
algoritmos/procedimientos de cuantificación y de codificación, por
ejemplo, MPEG 1 Capa de Audio 3 (MP3) u otros procedimientos
propietarios de codificación/cuantificación para generar el flujo
binario de capa de núcleo.
La correspondencia de errores que elimina
información que ya ha sido codificada en el flujo binario de capa
de núcleo y que genera una señal residual (o señal de error) se
realiza mediante la resta de umbral de cuantificación más bajo (más
cercano a cero) de cada uno de los valores cuantificados de la señal
cuantificada de la señal transformada. Dicho procedimiento de
correspondencia de errores en base al umbral de cuantificación tiene
la ventaja de que el los valores de la señal residual siempre son
positivos, y la amplitud de la señal residual es independiente del
umbral de cuantificación. Esto permite una baja complejidad y un
esquema de codificación incorporado eficiente para su
implementación. Si embargo, también es posible restar una señal
transformada reconstruida de 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 de plano binario de la señal de
error, se puede usar un modelo psicoacústico como el modelo
perceptual. El modelo psicoacústico puede estar basado en el Modelo
Psicoacústico I o II usados en audio MPEG-1 (como se
describe en [21]), o el Modelo Psicoacústico en audio
MPEG-4 (como se describe en [19]). Cuando un
cuantificador perceptual tal como el usado de acuerdo con AAC, se
usa para cuantificar y para codificar la señal digital/transformada,
el modelo perceptual usado en el cuantificador perceptual también
se puede usar para determinar la información perceptual para la
codificación de plano binario de la señal de error. En otras
palabras, no se necesita un modelo perceptual independiente en este
caso para proporcionar la información perceptual para la
codificación de plano binario de la señal de error.
La información perceptual para la codificación
de plano binario de la señal de error también es de manera
preferible multiplexada con los flujos binarios de capa de núcleo y
de capa de mejora para formar el flujo binario escalable como
información lateral. La información lateral se puede usar para
reconstruir la señal de error por medio de un descodificador.
La señal de error está dispuesta en una
pluralidad de planos binarios, teniendo cada uno de los planos
binarios una pluralidad de símbolos de plano binario.
En una realización de la invención, la
disposición o el orden de los planos binarios de la señal de error
se cambia o se desplaza y los planos binarios son posteriormente
explorados y codificados de una manera secuencial y consecutiva.
Los planos binarios se desplazan de una manera tal que cuando se
realiza la codificación del plano binario en los planos binarios
desplazados, los planos binarios que comprenden los símbolos de
plano binario más importantes desde el punto de vista perceptual,
son explorados y codificados los primeros. En esta realización,
todos los símbolos de plano binario de un plano binario están
codificados antes de la codificación de los símbolos de plano
binario de un plano binario adyacente posterior.
En otra realización de la invención, los
símbolos de plano binario de los planos binarios son explorados y
codificados en una secuencia basada en la información perceptual. En
otras palabras, no todos los símbolos de plano binario en un plano
binario se codifican antes de la codificación de los símbolos de
plano binario de otro plano binario. La secuencia de exploración y
de codificación de los símbolos de plano binario de la pluralidad
de planos binarios se determina en base a la información perceptual
de forma que los símbolos de plano binario que sean los más
importantes desde el punto de vista perceptual son los que se
codifican los primeros.
La información perceptual de la señal digital
determinada por el modelo perceptual puede incluir el primer (o
máximo) plano binario M(s) (es decir, un número (índice) que
especifica el primer plano binario) de la pluralidad de planos
binarios para la codificación del plano binario de la señal de
error, y/o el nivel de la Distorsión Apenas Perceptible (JND) (del
inglés, Just Noticeable Distortion) de la señal digital. Se
debería notar que la información perceptual se refiere a la señal
digital para cada una de las diferentes características de dominio,
(por ejemplo, la frecuencia, el tiempo, la amplitud de la señal,
etc.) o un margen de características de dominio. Por ejemplo,
cuando la señal digital se transforme al dominio de la frecuencia,
los valores de la información perceptual de la señal digital en cada
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 desde el punto de
vista perceptual a ciertas frecuencias.
En una realización de la invención, la
significancia perceptual P(s) de la señal digital
correspondiente a cada banda de frecuencias s se determina como la
información perceptual. En esta realización, se determina el nivel
JND \tau(s) de la señal digital correspondiente al plano
binario de la señal de error. El plano binario correspondiente al
nivel JND \tau(s) se resta posteriormente del primer plano
binario de la pluralidad de planos binarios para la codificación de
plano binario de la señal de error M(s) para dar como
resultado la significancia perceptual Ps(s). La
significancia perceptual Ps(s) se puede usar para controlar
el desplazamiento de los planos binarios, de forma que los planos
binarios que comprenden los símbolos de plano binario más
importantes desde el punto de vista perceptual son explorados y
codificados los primeros. De manera más ventajosa, la significancia
perceptual Ps(s) se puede usar para controlar la secuencia de
exploración y de codificación de los símbolos de plano binario de
una pluralidad de planos binarios de forma que los símbolos de plano
binario que sean los más importantes desde el punto de vista
perceptual son los que se codifican los primeros.
En una realización adicional de la invención, la
significancia perceptual Ps(s) se normaliza para formar una
significancia perceptual Ps'(s). En esta realización, se define una
significancia perceptual Ps(s)_común de la señal
digital en base a una función de la significancia perceptual
Ps(s). Ejemplos de dicha función de la significancia
perceptual Ps(s) incluyen el valor promedio, el valor máximo,
el valor mínimo o un valor normalizado de la significancia
perceptual Ps(s). La significancia perceptual común
Ps(s)_común se resta de la significancia perceptual
Ps(s) para dar como resultado la significancia perceptual
normalizada Ps'(s) para cada banda de frecuencias s. Cuando la
banda de frecuencias s contiene al menos una señal cuantificada de
valor distinto de cero, la banda de frecuencias s es una
banda
significativa.
significativa.
En cualquier otro caso, la banda de frecuencias
s es una banda insignificante s. Para la banda significativa, el
valor de la significancia perceptual Ps(s) se fija al valor
de la significancia perceptual común Ps_común. Para la banda
insignificante, la significancia perceptual normalizada
correspondiente Ps'(s) se multiplexa con el flujo binario de capa
de núcleo y el flujo binario de capa de mejora para generar el flujo
binario escalable para la transmisión. La significancia perceptual
normalizada Ps'(s) se transmite en el flujo binario escalable como
información lateral para la descodificación del flujo binario
escalable en un descodificador.
La normalización de la significancia perceptual
Ps(s) por medio de la definición de una significancia
perceptual común Ps_común tiene la ventaja de reducir la cantidad
de información perceptual que se ha de transmitir en el flujo
binario escalable mediante la utilización de la información obtenida
cuando se cuantificó la señal digital/transformada para generar el
flujo binario de capa de núcleo. Por lo tanto, la información
perceptual, en particular la significancia perceptual normalizada
Ps'(s) solamente se necesita transmitir al lado del descodificador
para la banda no significativa, como tal información perceptual para
la banda significativa se puede regenerar fácilmente por medio del
descodificador.
El índice del primer (máximo) plano binario de
la pluralidad de planos binarios para la codificación del plano
binario de la señal de error M(s), que es parte de la
información perceptual de la señal digital, se puede determinar a
partir del intervalo máximo de cuantificación usado para cuantificar
la señal digital/transformada. Para la banda significativa, se
determina el intervalo máximo de cuantificación (la diferencia entre
el umbral superior y el umbral inferior de cuantificación
correspondiente a cada uno de los valores cuantificados de la señal
cuantificada), y el mencionado primer plano binario (especificado
por M(s)) se determina de acuerdo con esto. Dicho intervalo
máximo de cuantificación también se puede determinar en el lado del
descodificador, y de esta forma, no se necesita transmitir el
mencionado primer plano binario (especificado por M(s)) como
parte del flujo binario escalable en este caso (para la banda
significativa).
Aunque se describe la codificación de una señal
digital en un flujo binario escalable, se debe entender que la
invención incluye también la descodificación del flujo binario
escalable en una señal digital descodificada por el inverso del
procedimiento descrito con anterioridad.
En una realización de la invención, se
proporciona un procedimiento para la descodificación del flujo
binario escalable en la señal digital que incluye la
demultiplexación del flujo binario escalable en un flujo binario de
capa de núcleo y en un flujo binario de capa de mejora, la
descodificación y la descuantificación del flujo binario de capa de
núcleo para generar una señal de capa de núcleo, la descodificación
del plano binario de la capa de mejora en base a la información
perceptual de la señal digital, la realización de una
correspondencia de errores en base a la señal de capa de mejora
descodificada del plano binario y la señal de capa de núcleo
descuantificada para generar una señal transformada reconstruida, en
la que la señal transformada reconstruida es la señal digital. Se
debería notar que el procedimiento para la descodificación del flujo
binario escalable se puede usar en combinación con, pero también de
manera independiente del procedimiento de codificación de una señal
digital en el flujo binario escalable como se ha descrito con
anterioridad.
La señal transformada reconstruida se puede
transformar para generar la señal digital, si la señal digital está
en un dominio diferente de la señal transformada reconstruida.
La implementación exacta de la descodificación
del flujo binario escalable para generar la señal digital depende
de cómo se codifique el flujo binario escalable por medio del
codificador. En un ejemplo, la señal transformada reconstruida se
puede transformar usando intMDCT para generar la señal digital. El
flujo binario de capa de núcleo se puede descodificar y se puede
descuantificar de acuerdo con la aplicación MPEG AAC. La
correspondencia de errores se realiza mediante la suma del umbral
de cuantificación inferior usado para la descuantificación de la
señal transformada y el flujo binario de capa de mejora
descodificado de plano binario para generar la señal transformada
reconstruida. Las ventajas y otras implementaciones del
descodificador son similares al codificador, que ya se ha descrito
con anterioridad.
La información perceptual de la señal digital se
puede obtener por medio de la demultiplexación del flujo binario
escalable, si la información perceptual se ha multiplexado en el
flujo binario escalable como información lateral. De manera
alternativa, si el flujo binario de capa de núcleo se codifica de
manera perceptual, la información perceptual obtenida por medio de
la descodificación y de la descuantificación del flujo binario de
capa de núcleo se puede usar para la descodificación de plano
binario del flujo binario de capa de mejora.
En una realización de la invención, el flujo
binario de capa de mejora es descodificado en plano binario en una
secuencia consecutiva para generar una pluralidad de planos binarios
que comprenden una pluralidad de símbolos de plano binario, y los
planos binarios son desplazados en base a la información perceptual
de la señal digital para generar el flujo binario de capa de mejora
descodificado de plano binario.
En otra realización de la invención, el flujo
binario de capa de mejora está descodificado en plano binario en
una secuencia en base a la información perceptual de la señal
digital para generar una pluralidad de planos binarios que
comprenden una pluralidad de símbolos de plano binario, generando
por lo tanto el flujo binario de capa de mejora descodificado de
plano binario.
La información perceptual de la señal digital
puede ser al menos una de las siguientes:
- -
-
\vtcortauna
- -
-
\vtcortauna
El plano binario corresponde al flujo binario de
capa de mejora cuando se inicia la descodificación de plano binario
del flujo binario de capa de mejora M(s) se determina a
partir del intervalo de cuantificación máximo usado para la
descuantificación del flujo binario de capa de núcleo.
El segundo aspecto de la invención so se refiere
solamente a un procedimiento para la descodificación de un flujo
binario escalable en una señal digital, sino que también incluye un
programa de ordenador, un medio legible por un ordenador y un
dispositivo para implementar el mencionado procedimiento.
Ahora se describirán varias realizaciones e
implementaciones de la invención con detalle con referencia a las
figuras, en las que:
La figura 1 muestra un codificador de acuerdo
con una realización de la invención.
La figura 2 muestra un descodificador de acuerdo
con una realización de la invención.
La figura 3 ilustra una estructura de un proceso
de codificación de plano binario.
La figura 4 muestra un codificador de acuerdo
con una realización de la invención.
La figura 5 muestra un descodificador de acuerdo
con una realización de la invención.
La figura 6 muestra un codificador de acuerdo
con una realización de la invención.
La figura 7 muestra un descodificador de acuerdo
con una realización de la invención.
La figura 1 muestra un codificador 100 de
acuerdo con una realización de la invención.
El codificador 100 sirve para generar un flujo
binario escalable, y comprende dos capas distintas, a saber, una
capa de núcleo que genera el flujo binario de capa de núcleo, y una
capa de Mejora sin Pérdidas (LLE) (del inglés, Lossless
Enhancement) que genera el flujo binario de capa de mejora.
El codificador comprende un transformador de
dominio 101, un cuantificador 102, una unidad de correspondencia de
errores 103, un codificador de plano binario perceptual 104 y un
multiplexor 105.
En el codificador 100, la señal digital se
transforma primero por medio del transformador de dominio 101 a un
dominio adecuado, tal como el dominio de la frecuencia, dando como
resultado una señal transformada. Los coeficientes de la señal
transformada son cuantificados por medio del cuantificador 102 y
codificados para generar el flujo binario de capa de núcleo. La
correspondencia de errores se realiza por medio de la unidad de
correspondencia de errores 103, que corresponde a la capa LLE, para
eliminar la información de los coeficientes de la señal
transformada que haya sido usada o haya sido codificada en la capa
de núcleo para formar el flujo binario de capa de núcleo. El
residuo resultante o la señal de error resultante, de manera
específica los coeficientes de error, con codificados en plano
binario por medio del codificador de plano binario 104 para generar
el flujo binario LLE incorporado. Este flujo binario incorporado se
puede truncar de manera adicional a velocidades binarias más bajas
en el codificador 100 o en el correspondiente descodificador (como
el descodificador 200 que se muestra en la figura 2 y que se
describe a continuación), o en el canal de comunicación para cumplir
con los requisitos de velocidad/fidelidad. Se usa un modelo
perceptual 106 para controlar la codificación de plano binario de
los coeficientes de error, de forma que los bits de los coeficientes
de error que sean más significativos desde el punto de vista
perceptual son los que se codifican primero.
Finalmente, el flujo binario de capa LLE
resultante se multiplexa con el flujo binario de capa de núcleo por
medio del multiplexor 105 para generar el flujo binario escalable.
Además, la información perceptual para controlar la codificación de
plano binario de los coeficientes de error también se puede
transmitir como una información lateral de forma que un
correspondiente descodificador de plano binario sea capaz de
reconstruir los coeficientes de error en un orden correcto.
Cuando el flujo binario LLE se trunque a
velocidades más bajas, la señal descodificada sería una versión con
pérdidas de la señal de entrada original.
La figura 2 muestra un descodificador 200 de
acuerdo con una realización de la invención.
El descodificador 200 descodifica un flujo
binario escalable generado por el codificador 100 para reconstruir
la señal digital que se codificó por medio del codificador 100.
El descodificador 200 comprende un transformador
de dominio 201, un descuantificador 202, una unidad de
correspondencia de errores 203, un descodificador de plano binario
perceptual 204 y un demultiplexor 205.
El demultiplexor 205 recibe el flujo binario
escalable como entrada y divide el flujo binario escalable en el
flujo binario de capa de núcleo y en el flujo binario de capa de
mejora como se generó en el codificador 100. El flujo binario de
capa de núcleo se descodifica y se descuantifica por medio del
descuantificador 202 para formar la señal de capa de núcleo. El
flujo binario de capa de mejora se descodifica en plano binario de
manera perceptual en base a la información perceptual dada por un
modelo perceptual 206 por el descodificador de plano binario
perceptual 204, y es posteriormente sometida a correspondencia de
errores por parte de la unidad de correspondencia 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 se transforma finalmente de nuevo
al dominio de la señal digital por medio del transformador de
dominio 201, dando como resultado una señal transformada de capa de
mejora que es la señal digital reconstruida.
El procesado llevado a cabo por el codificador
100 y por el descodificador 200 se explica con detalle a
continuación.
La señal de entrada se transforma normalmente al
dominio de la frecuencia por el transformador de dominio 101 antes
de que sea cuantificada por medio del cuantificador 102 (que es
parte del codificador de capa de núcleo) para generar el flujo
binario de capa de núcleo. Se pueden usar varias funciones de
transformadas para transformar la señal de entrada al dominio de la
frecuencia, tales como la Transformada de Coseno Discreta (DCT), la
Transformada de Coseno Discreta Modificada (MDCT), MDCT entera
(intMDCT) o la Transformada Rápida de Fourier
(FFT).
(FFT).
Cuando se usa un codificador
MPEG-4 AAC como el codificador de capa de núcleo
(para la señal de audio), se usa de manera común MDCT para
transformar la señal de audio de entrada al dominio de la
frecuencia, como se describe en [1]. En [13] la MDCT entera
(intMDCT) se propone como una aproximación reversible al banco de
filtros de la Transformada de Coseno Discreta Modificada (MDCT)
usado con el codificador MPEG-4 AAC. Una manera
generalmente usada para implementar la intMDCT es factorizar el
banco de filtros MDCT en una cascada de rotaciones de Givens en la
forma de:
que es factorizada de manera
adicional en tres pasos de
elevación
Cada paso de elevación se puede aproximar por
medio de un entero reversible a un entero con correspondencia con
el redondeo a la operación de entero más cercana r: R
\rightarrow Z. Por ejemplo, el último paso de elevación se
aproxima por medio de:
que se puede invertir de manera sin
pérdidas por medio
de:
Se obtiene de esta manera intMDCT por medio de
la implementación de todas las rotaciones de Givens con los enteros
reversibles a los que se ha sometido a la correspondencia como se ha
descrito anteriormente.
En el descodificador, intMDCT se puede usar de
nuevo por el transformador de dominio 201 para transformar la señal
de capa de mejora en 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 una trama del flujo binario de capa de núcleo, se
cuantifican por medio del cuantificador 102 y se codifican en el
flujo binario de capa de núcleo. En el contexto de una señal de
audio de entrada, los coeficientes de señal transformada se pueden
cuantificar de acuerdo con los valores de cuantificación de un
codificador MPEG-4 AAC, un codificador
MPEG-1 de Capa 3 (MP3) o cualquier codificador de
audio propietario.
Cuando se use el codificador
MPEG-4 AAC junto con la intMDCT, los coeficientes de
la señal transformada (también conocidos como los coeficientes
intMDCT), c(k), se normalizan primero como:
\newpage
para aproximar las salidas
normalizadas a las salidas del filtro de bancos MDCT. Los
coeficientes normalizados intMDCT, c'(k) se cuantifican y se
codifican después, por ejemplo, de acuerdo con un cuantificador AAC
(véase [19]) que se da de la siguiente
manera:
Aquí, \lfloor.\rfloor denota la operación de
fondo que trunca un operando flotante a un entero, i(k) es
los coeficientes cuantificados AAC y factor_escala(s) es un
factor de escala de una banda s de factor de escala a la que
pertenece el coeficiente c(k). Los factores de escala se
pueden ajustar de manera adaptable por medio de un procedimiento de
conformación de ruido de forma que el ruido de cuantificación se
enmascare mejor por medio del umbral de enmascaramiento del sistema
auditivo humano. Una aproximación ampliamente adoptada para este
procedimiento de conformación del ruido es el bucle anidado de
cuantificación y de codificación como se describe con detalle en
[1].
Los coeficientes cuantificados i(k) son
codificados sin ruido (en este ejemplo por medio del cuantificador
102), por ejemplo, usando el código de Huffman o el Código
Aritmético de bit partido (BSAC) (del inglés, Bit Sliced
Arithmetic Code) como se describe en [17]. El BSAC es el
preferido si se requiere de manera adicional un escalado de la
velocidad binaria en el flujo binario de capa de núcleo. Los
factores de escala se codifican de manera diferencial, por ejemplo,
por medio del proceso de codificación DPCM descrito en [1], o usando
el código de Huffman. El flujo binario de capa de núcleo se puede
generar entonces por medio de la multiplexación de toda la
información codificada de acuerdo con la sintaxis de flujo binario
AAC.
Se puede encontrar una descripción más completa
acerca de MPEG AAC en [1] o en el documento de normativa
internacional sobre MPEG AAC [19].
Se debería notar que aunque se describe el
mecanismo de incorporación del flujo binario que cumple con el
estándar MPEG-4 AAC, también es posible usar flujos
binarios que cumplan con otros codificadores tales como MPEG 1/2 de
Capa I, II, III (MP3), Dolby AC3 o los codificadores propietarios
ATRAC de SONY como se describe en [20].
Cuando el cuantificador 102 funciona de acuerdo
con el codificador MPEG AAC, el descuantificador 202 de manera
preferible funciona de acuerdo con un descodificador MPEG AAC para
descodificar y descuantificar el flujo binario de capa de núcleo en
el descodificador 200. De manera específica, del descuantificador
202 se usa para generar la señal de capa de núcleo que es usada con
posterioridad para la correspondencia de errores por parte de la
unidad de correspondencia de errores 203 en el descodificador 200
para generar la señal de capa de mejora como se describirá con
posterioridad.
Sin embargo, se debería notar que se pueden usar
en el descodificador 200 los descuantificadores de acuerdo con
otras especificaciones tales como MP3 u otros descodificadores
propietarios.
En la capa LLE, se emplea un procedimiento de
correspondencia de errores para eliminar la información que ya ha
sido codificada en el flujo binario de capa de núcleo. Una posible
aproximación para construir dicho procedimiento de correspondencia
de errores es por medio de la resta del umbral de cuantificación
inferior (más cercano a cero) de cada coeficiente cuantificado del
coeficiente de señal de entrada transformada correspondiente.
Esto se puede ilustrar como:
donde thr(k) es el umbral de
cuantificación inferior (más cercano a cero) para c(k), y
e(k) es el coeficiente de error que representa la señal de
error.
Cuando se usa el codificador
MPEG-4 AAC como el cuantificador:
\newpage
En aplicaciones prácticas, para asegurar la
reconstrucción robusta, se puede realizar una correspondencia desde
el entero i(k) al entero thr(k) usando una tabla de
consulta. Como se puede ver claramente de la fórmula anterior, se
requieren un total de 4 tablas para diferentes valores de
factores_escala (mientras que la misma tabla se puede compartir
entre diferentes valores de factores_escala si tienen un
desplazamiento módulo 4 por bit), en la que cada una de las tablas
contiene la correspondencia entre todos los posibles valores de
i(k) y el thr(k) correspondiente para cualquier
factor_escala del conjunto de aquéllos con módulo 4.
También es posible realizar un procedimiento de
correspondencia de errores mediante la resta de un coeficiente
reconstruido del coeficiente de la señal de entrada transformada del
coeficiente de la señal transformada como se describe en [3], que
se puede ilustrar como:
donde \hat{c}(k) es el
coeficiente de señal transformada
reconstruido.
\vskip1.000000\baselineskip
En general, también es posible realizar el
procedimiento de correspondencia de errores en base a usar:
\vskip1.000000\baselineskip
en donde f(k) es cualquier
función que corresponde a c(k), tal
como
\vskip1.000000\baselineskip
Claramente, para c(k) que ya ha sido
significativo en la capa de núcleo (thr(k)\neq 0),
el signo de e(k) residual intMDCT se puede determinar a
partir de la reconstrucción de la capa de núcleo y así solamente se
necesita codificar su amplitud en la capa LLE. Además, se sabe bien
que para la mayoría de las señales de audio, c(k) puede
aproximarse por variables aleatorias laplacianas con la función de
densidad de probabilidad (pdf):
\vskip1.000000\baselineskip
donde \sigma es la varianza de
c(k). A partir de la propiedad de "sin memoria" de una
pdf laplaciana, es fácil verificar que la amplitud de e(k)
está distribuida de manera geométrica
como,
\vskip1.000000\baselineskip
donde el parámetro de distribución
\theta(k) está determinado por la varianza c(k) y el
tamaño del paso del cuantificador de capa de núcleo. Esta propiedad
hace posible un esquema de codificación de plano binario muy
eficiente, tal como el código Golomb de plano binario (BPGC) 0 para
la codificación de la señal de error que se vaya a
aplicar.
\vskip1.000000\baselineskip
En el descodificador 200, los coeficientes de la
señal transformada se pueden reconstruir por medio del procedimiento
de correspondencia de errores realizado por la unidad de
correspondencia de errores 203 de acuerdo con la siguiente
ecuación:
donde e'(k) son los coeficientes de
error descodificados que describen el flujo binario de capa de
mejora descodificado de plano binario, que corresponde con los
coeficientes de error e(k) en el codificador 100. Así, se
puede ver que con los coeficientes de señal transformada,
c(k) se puede regenerar a partir de los coeficientes de
error descodificados e'(k) (es posible una versión con pérdidas si
el flujo binario LLE se trunca a velocidades inferiores) y el
umbral de cuantificación thr(k) generado de la misma manera
en el codificador con el índice de cuantificación i(k)
contenido en el flujo binario de capa de núcleo incorporado
(AAC).
\vskip1.000000\baselineskip
Similar al codificador 100, los coeficientes de
señal transformados c(k) en el descodificador 200 también se
pueden generar usando (sumando) los coeficientes de error
descodificados e'(k) y los coeficientes reconstruidos del flujo
binario de capa de núcleo. También, los coeficientes de la señal
transformados c(k) se pueden generar usando (sumando) los
coeficiente de error descodificados e'(k) y una función de
c(k).
Para producir el escalado a la parte sin
pérdidas del flujo binario sin pérdidas incorporado final, la señal
de residuo o de error se codifica de manera adicional por medio del
codificador de plano binario perceptual 104 usando codificación de
plano binario, una tecnología de codificación incorporada que ha
sido ampliamente adoptada en la codificación de audio [3] o en la
codificación de imagen [5], en la capa LLE.
En [4] y en [15] se puede encontrar una
descripción de un procedimiento de codificación de plano binario
general. Considérese un vector de datos de dimensión n,
x_{n} = {x_{1}, ..., x_{n}} donde x_{i} se extrae de
algunas fuentes aleatorias de algún alfabeto A \subset \Re.
Claramente, x_{i} se puede representar en formato binario
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
por medio de la configuración en
cascada de símbolos binarios de plano binario que comprenden un
símbolo de
signo
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
y símbolos de amplitud b_{i,j}
\in {0, 1}. En la práctica, la codificación de plano binario se
podría iniciar desde e máximo plano binario M del vector
x_{n} donde M es un entero que
satisface
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
y se detuvo en el 0 de plano
binario si x_{n} es un vector
entero.
El proceso de codificación y de descodificación
de plano binario de acuerdo con una realización de la invención y
como por ejemplo realizados por el codificador de plano binario
perceptual 104 y el descodificador de plano binario perceptual 204
se explica en lo que sigue con referencia a la figura 3.
La figura 3 ilustra una estructura de un proceso
de codificación de plano binario (BPC) anterior en el que cada
vector de entrada se descompone primero en el signo binario y en los
símbolos de amplitud, que son después explorados en un orden
deseado por medio de una unidad de exploración de plano binario 301
y son codificados por medio de un codificador de entropía 302 (por
ejemplo, como código aritmético, como código de Huffman o como
código de longitud de fiabilidad no acreditada). Además, un modelo
estadístico 303 por ejemplo basado en una distribución laplaciana
de la señal de entrada, se usa por lo general para determinar la
asignación de probabilidad para cada símbolo binario que se vaya a
codificar. En el descodificador correspondiente, el flujo de datos
se invierte, es decir, la salida del codificador de entropía 302 se
descodifica por medio de un descodificador de entropía 303 usando
un modelo estadístico correspondiente 304 y el resultado se usa por
una unidad de reconstrucción de plano binario 304 para reconstruir
el plano binario, donde el signo y los símbolos de amplitud que
están descodificados para reconstruir el plano binario del vector de
datos sigue el mismo orden de exploración en el codificador.
La ventaja más significativa de tener un sistema
de codificación de plano binario como el anterior es que la
compresión resultado del flujo binario se puede truncar fácilmente a
cualquier velocidad deseada, en donde se puede obtener un vector de
datos de reproducción \hat{x} por medio de planos binarios
parciales reconstruidos descodificados a partir de este flujo
binario truncado. Para un mejor funcionamiento de la codificación,
se adopta por lo general un principio incorporado (véase [24]) en
BPC, de acuerdo con el que se codifican los símbolos de plano
binario en el orden de pendiente decreciente de velocidad -
distorsión de manera que los símbolos que la contribución de
significación mayor para la distorsión final por velocidad unidad
siempre se codifiquen los primeros.
La selección del orden de la exploración del
plano binario depende de la medida de la distorsión deseada. Cuando
el error cuadrático medio (MSE) o la expectativa sobre la función de
error cuadrático se usa como la medida de la distorsión como se
muestra:
\vskip1.000000\baselineskip
en donde d(x_{n},
\hat{x}_{n}) es el valor de distorsión, x_{n} es el
vector de datos original, y \hat{x}_{n} es el vector
reconstruido de x_{n} en el descodificador. Los resultados de [24]
muestran que el principio incorporado se satisface bien por medio
de una exploración secuencial de plano binario y un procedimiento de
codificación para la mayoría de las fuentes, excepto aquéllas con
muy poca desviación de la distribución de símbolos de plano
binario.
Un ejemplo de un procedimiento de exploración y
de codificación secuencial de plano binario comprende los
siguientes pasos:
- 1.
- Iniciar desde el plano binario más significativo j = M - 1;
- 2.
- Codificar solamente b_{i,j} con b_{i,M-1} = b_{i,M-2} = ... = b_{i,j+1} = 0. Si b_{i,j} = 1 en la exploración significativa, codificar si (paso de significancia);
- 3.
- Codificar b_{i,j} que no estén codificados en el paso de significancia (Paso de refinamiento);
- 4.
- Progresar al plano binario j - 1.
\vskip1.000000\baselineskip
Lista
1
El anterior procedimiento se itera hasta que se
alcanza cierto criterio de terminación, que generalmente es una
restricción de la velocidad/distorsión predefinida. Además, puede
que se requiera un ajuste adicional de la secuencia de codificación
en un paso de significancia si se encuentra que los símbolos de
plano binario tienen distribuciones desiguales.
Se ilustra un ejemplo del procedimiento de
codificación secuencial anterior considerando un vector de datos x
con dimensión 4, digamos {9, -7, 14, 2}. Así, se codifica en plano
binario desde su plano binario más significativo 4. El paso de
significancia se comienza desde que todos los elementos son aún
insignificantes. (X denota los símbolos de puenteo). El signo se
codifica de la siguiente manera: el positivo se codifica como 1, y
el negativo se codifica como 0.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página
siguiente)
De esta manera, el flujo binario de salida es
11011010001001111110, que es la entropía codificada y enviada al
codificador. En el codificador, se reconstruye la estructura de
plano binario del vector de datos original. Si el descodificador
recibe el flujo binario en su integridad, el plano binario del
vector de datos original se puede restaurar, y de esta manera se
obtiene una reconstrucción sin pérdidas del vector de datos
original. Si solamente se recibe un subconjunto (la parte más
significativa) del flujo binario, el descodificador es aún capaz de
restaurar un plano binario parcial del vector de datos original, de
forma que es una versión de reconstrucción basta (cuantificada) del
vector de datos original.
Lo anterior solamente es un ejemplo sencillo de
un procedimiento de exploración y de codificación de plano binario.
En la práctica, el paso significativo se puede fraccionar de manera
adicional para explorar la correlación estadística de elementos en
el vector de datos, tal como el proceso de codificación del plano
binario en JPEG2000, o el del codificador de audio incorporado
(EAC) descrito en [4].
El anterior procedimiento de exploración y de
codificación de plano binario secuencial solamente proporciona un
esfuerzo para optimizar el funcionamiento MSE. En el área de audio,
imagen o codificación de vídeo, la minimización de la distorsión
perceptual en lugar de MSE es normalmente un procedimiento de
codificación más eficiente para obtener una calidad perceptual
óptima en la señal de audio, imagen o de vídeo reconstruida. Por lo
tanto, la codificación secuencial de plano binario de la señal de
error es definitivamente una opción subóptima.
En el codificador 100, los coeficientes de error
están agrupados de manera preferible en bandas de frecuencia de
manera que cada banda de frecuencia s contiene un número de
coeficientes de error en orden consecutivo. (La agrupación de banda
de factor de escala se puede basar en la agrupación de banda
adoptada en el cuantificador 102 si se usa un codificador
perceptual como el cuantificador 102. Sin embargo, también es
posible otra agrupación de banda).
Se dice que una banda de frecuencia s es
significativa si existe un coeficiente de error en la banda de
frecuencia s de forma que el coeficiente cuantificado thr(k)
del cuantificador no sea cero. En otras palabras, si e(k) es
un coeficiente de error en la banda de frecuencia s:
la banda de frecuencia s es
significativa si thr(k) \neq 0 (thr(k) = 0 cuando
i(k) = 0), y así e(k) = c(k), luego la banda
de frecuencia s se considera
insignificante.
La significancia perceptual de los bits de los
coeficientes de error se puede determinar por el nivel de la
Distorsión Apenas Perceptible (JNP) en una localización de
frecuencia i. Este nivel de JND, T_{i} se puede determinar a
partir de un modelo perceptual tal como el modelo psicoacústico (I o
II) o cualquiera de los modelos perceptuales propietarios. Cuando
se usa un cuantificador perceptual para formar el flujo binario de
capa de núcleo, el modelo perceptual usado en el cuantificador
también se puede usar para generar la JND para la codificación de
plano binario perceptual de los coeficientes de error.
Por razones de simplicidad, la significancia
perceptual de los bits de los coeficientes de error en una misma
banda de frecuencia s se puede fijar al mismo valor.
En lo que sigue, se explica con referencia a la
figura 4 una posible implementación de codificación de plano
binario perceptual.
La figura 4 muestra un codificador 400 de
acuerdo con una realización de la invención.
De manera análoga al codificador 100, el
codificador 400 comprende un transformador de dominio 401, un
cuantificador 402, una unidad de correspondencia de errores 403, un
codificador de plano binario perceptual 404 (que usa un modelo
perceptual 406) y un multiplexor 405.
El bloque BPC perceptual, es decir, el
codificador de plano binario perceptual 404 comprende un bloque de
desplazamiento de plano binario 407 y un bloque BPC convencional
408.
En el bloque de desplazamiento de plano binario
407, los planos binarios son desplazados de manera perceptual y los
planos binarios desplazados de manera perceptual son codificados en
el bloque BPC 408 de una manera de exploración y de codificación
secuencial convencional.
Considérese la siguiente medida de la distorsión
ponderada de manera perceptual (modificada)
En el contexto de la codificación de audio
perceptual, la señal de audio generalmente se cuantifica y se
codifica en el dominio de la frecuencia de forma que el vector de
datos x_{n} es la señal de audio transformada y la función
de ponderación wi (x_{i}) es la importancia de x_{i} en
diferentes localizaciones de frecuencia i, es decir,
La anterior función de distorsión ponderada de
manera perceptual se puede reescribir de la siguiente manera:
donde
Así, la función de error cuadrático de
ponderación pasa a ser ahora una función de error cuadrático sobre
el vector escalado x'_{n} = {x_{1}', ..., x_{n}'}. Por
lo tanto, la codificación optimizada de manera perceptual de
x_{n} se puede conseguir simplemente por medio de la
realización de la codificación de plano binario secuencial sobre
x'_{n}. En el descodificador correspondiente, cada uno de
los elementos del vector de datos descodificado de plano binario
\hat{x}'_{n} se puede escalar hacia atrás para obtener un
vector de datos reconstruido \hat{x} de la siguiente
manera.
Claramente, los pesos T_{i} son de manera
preferible transmitidos al descodificador como información lateral
si son desconocidos en el descodificador.
w_{i} es cuantificado de manera adicional a un
entero par potencia de dos de forma que pasa a ser:
\vskip1.000000\baselineskip
donde
\vskip1.000000\baselineskip
y el vector de datos escalado se
puede obtener de esta forma por medio del desplazamiento binario de
cada elemento en el vector de datos original de la siguiente
manera
que es fácilmente obtenible por
medio de la realización de la operación de desplazamiento a la
derecha sobre x_{i} por \tau_{i}. Por ejemplo, si x_{i} =
00010011 y \tau_{i} = -2, el elemento de vector de datos
escalado x_{i}' es entonces 01001100;
si \tau_{i} = 2, pasará a ser 0000010011.
si \tau_{i} = 2, pasará a ser 0000010011.
De esta manera, los planos binarios de los
coeficientes de error son desplazados de manera perceptual de una
manera tal que cuando se realiza una codificación de plano binario
secuencial sobre el plano binario desplazado, los bits que sean más
significativos desde el punto de vista perceptual (en lugar de tener
el MSE más alto) se puede codificar los primeros.
Claramente, si cada uno de los elementos en el
vector de datos original es entero con longitud de palabra
limitada, por ejemplo, si cada uno de los elementos en x
tiene un plano binario máximo de L, la codificación sin pérdidas de
x se puede conseguir si cada x'_{i} en el vector escalado
está codificado en plano binario a partir del plano binario
-\tau_{i} \sim L -\tau_{i}.
Como se ha mencionado anteriormente, la
información acerca de la significancia perceptual tal como el nivel
de JND se puede proporcionar al bloque de desplazamiento de plano
binario desde un modelo perceptual.
En el proceso de codificación de plano binario,
se puede usar un plano binario máximo M(s) para especificar
el plano binario de inicio en el que deberían comenzar la
exploración y la codificación del plano binario. El plano binario
máximo M(s) y \tau_{i} se deberían transmitir de manera
preferible como información lateral en el flujo binario escalable
al descodificador correspondiente con el fin de que el
descodificador sea capaz de descodificar el flujo binario de manera
correcta. Para reducir la cantidad de información lateral,
M(s) y \tau_{i} pueden estar restringidos al mismo valor
para la misma banda s de factor de escala en el codificador.
El valor del plano binario máximo M(s) en
cada una de las bandas de frecuencia s se puede determinar a partir
de los coeficientes de error e(k) usando la siguiente
expresión:
Además, el valor absoluto máximo de los
coeficientes de error max(|e(k)|) en cada
una de las bandas de frecuencia s significativas está limitado por
el intervalo de cuantificador del cuantificador perceptual:
Por lo tanto, esto da como resultado el plano
binario máximo M(s) para cada banda de frecuencia s
significativa que se ha de determinar a partir de la siguiente
expresión:
Como los coeficientes cuantificados del
cuantificador perceptual i(k) son conocidos por el
descodificador, de esta manera no es necesario transmitir el máximo
plano binario M(s) como información lateral al descodificador
para la banda de frecuencia s significativa.
El valor del plano binario máximo M(s) se
puede predefinir también en el codificador y en el descodificador,
y de esta manera, no se necesitan transmitir como información
lateral.
La figura 5 muestra un decodificador 500 de
acuerdo con una realización de la invención.
El descodificador 500 implementa un
descodificador de plano binario perceptual que comprende el
desplazamiento de plano binario y la codificación de plano binario
convencional (secuencial).
De manera análoga al descodificador 200, el
descodificador 500 comprende un transformador de dominio 501, un
descuantificador 502, una unidad de correspondencia de errores 503,
un descodificador de plano binario perceptual 504 (usando un modelo
perceptual 506) y un demultiplexor 505.
De manera similar al codificador de plano
binario perceptual 404, el descodificador de plano binario
perceptual 504 comprende un bloque de desplazamiento de plano
binario 507 y un bloque BPC convencional 508.
El flujo binario de capa de mejora generado por
el codificador 400 es descodificado en plano binario por el
descodificador 500 de la manera secuencia consecutiva (el mismo
procedimiento de exploración de plano binario secuencial que en el
codificador 400) para reconstruir los planos binarios. Los planos
binarios reconstruidos se desplazan de la manera inversa en el
codificador 400, en base al valor recibido o regenerado de
\tau_{i} para generar los coeficientes de error descodificados
e'(k) que describe el flujo binario de capa de mejora descodificado
de plano binario.
La figura 6 muestra un codificador 600 de
acuerdo con una realización de la invención.
El descodificador 600 usa codificación de plano
binario perceptual.
El codificador 600 comprende un transformador de
dominio (intMDCT) 601, un cuantificador (cuantificador y
codificador AAC) 602, una unidad de correspondencia de errores 603,
una unidad de cálculo de la significancia perceptual 604 (que usa
un modelo psicoacústico 605), una unidad de codificación de plano
binario perceptual 606 y un multiplexor 607.
En esta implementación, el orden de exploración
de los planos binarios y de los símbolos de plano binario no
necesita ser secuencial, sino basado en la importancia perceptual de
los símbolos de plano binario correspondientes a las diferentes
bandas de frecuencia. La importancia perceptual de los símbolos de
plano binario se determina por medio del cálculo de los parámetros
relacionados con la información perceptual, tal como la
significancia perceptual y el primer (máximo) plano binario para la
descodificación de plano binario. El cálculo de los parámetros de
la información perceptual está representado como el bloque de
cálculo de la significancia perceptual 604 conectado a la unidad de
codificación perceptual de plano binario 606.
Existen numerosas maneras para determinar la
importancia perceptual, o de manera específica la significancia
perceptual, de los símbolos de plano binario correspondientes a
diferentes bandas de frecuencia. Una ampliamente adoptada es por
medio del uso del modelo psicoacústico, tal como el Modelo
Psicoacústico 2 descrito en [19], de la señal digital de entrada.
EL nivel de la distorsión apenas perceptible (JND) T(s) para
cada banda de frecuencias determinado usando el modelo
psicoacústico se puede convertir a la unidad de nivel de plano
binario \tau(s) de la siguiente manera:
Sin embargo, la invención no restringe el
procedimiento sobre cómo se pueden obtener T(s) o
\tau(s).
Ahora, sea Ps(s) que represente la
significancia perceptual de la banda de frecuencia s, que se puede
determinar por medio de la distancia desde M(s) a
\tau(s) como,
Se puede notar de manera adicional que el nivel
de ruido, o el nivel de los coeficientes de error e(k)
intMDCT tendería a ser plano con respecto al nivel JND para las
bandas significativas (como resultado del mecanismo de conformación
del ruido en el codificador de núcleo). En otras palabras, el valor
de Ps(s) debería estar muy cercano, si no idéntico, para las
bandas de frecuencia significativas. Este hecho se puede explorar en
el procedimiento de acuerdo con la invención por medio de la
compartición de un factor común Ps_común para todas las bandas
significativas. Las posibles selecciones de Ps_común pueden ser 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. La Ps(s) se puede normalizar entonces de la
siguiente manera:
Como se sabe que para la banda significativa s,
Ps(s) debería ser cero, y que por lo tanto, no se necesita
transmitir al descodificador. En cualquier otro caso, la banda no
significativa s, Ps'(s) se debería transmitir de manera preferible
al descodificador correspondiente como información lateral.
En algunos otros ejemplos cuando no existe banda
significativa, Ps_común se puede fijar a cero.
También es posible usar el procedimiento de
conformación del ruido en el codificador de núcleo para atender a
las necesidades de la codificación perceptual. Así, no existe la
necesidad de implementar de manera adicional ninguna conformación
del ruido, o identificación significativa perceptual en la capa de
mejora. En dichos casos, se puede fijar Ps'(s) = 0 para todas las
s. Generalmente, no se necesitan transmitir al descodificador si el
descodificador sabe que todas ellas son cero.
Una posible implementación del mecanismo de
codificación de plano binario perceptual se puede describir usando
el siguiente pseudocódigo. Aquí, el número total de la banda 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 plano binario del plano binario M(s) para cada e(k) de la banda s
3.
- 4.
- Si existe banda s para la que M(s) \geq 0, ir a 1.
Se describe aquí un procedimiento para obtener
el máximo plano binario M(s).
Para la banda de significancia, M(s) se
puede determinar a partir del intervalo de cuantificación máximo del
cuantificador si se usa un cuantificador perceptual tal como un
cuantificador AAC. De manera específica, M(s) es un entero
que satisface:
En este caso, M(s) no necesita
transmitirse al descodificador mientras que i(k) debería ser
conocido para el descodificador.
Para las bandas no significativas M(s) se
puede calcular a partir de e(k) de la siguiente manera:
y para esas bandas, M(s) se
debería enviar de manera preferible al descodificador como
información lateral tal como una información que no esté contenida
en el flujo binario de capa de
núcleo.
El valor del plano binario máximo M(s) se
puede predefinir también en el codificador 600 y en el
correspondiente descodificador, y así, no se necesitan transmitir
como información lateral.
También son posibles otras aproximaciones
alternativas para explorar el parámetro Ps(s) en una
aproximación de codificación de plano binario, hacia algunos
objetivos de conformación de ruido deseados. En general,
Ps(s) también se puede obtener por medio de cualquier
función de M(s) y de \tau(s), por ejemplo, la
siguiente:
o
La figura 7 muestra un codificador 700 de
acuerdo con una realización de la invención.
El descodificador 700 es el descodificador
correspondiente del codificador 600, en el que la descodificación
de plano binario perceptual se implementa usando el procedimiento de
exploración de plano binario perceptual como se ha descrito con
anterioridad.
El descodificador 700 de acuerdo con esto,
comprende un transformador de dominio (intMDCT inversa) 701, un
descuantificador (descuantificador y descodificador AAC) 702, una
unidad de correspondencia de errores 703, una unidad de cálculo de
significancia perceptual 704, una unidad de descodificación de plano
binario perceptual 706 y un demultiplexor 707.
En el descodificador 700, para la banda
significativa, Ps'(s) se fija a cero, y M(s) se puede
calcular a partir del índice de cuantificación AAC i(k) de
la misma manera que en el codificador, es decir:
Para la banda no significativa, Ps(s) y
M(s) se pueden recuperar simplemente a partir de la
información lateral transmitida. Una vez que se han recuperado
Ps(s) y M(s) para todas las bandas de frecuencia, los
coeficientes de error intMDCT \hat{e}(k) se pueden
reconstruir fácilmente por medio de la descodificación del flujo
binario recibido y de la reconstrucción de sus símbolos de plano
binario en un orden que es exacto al mismo orden que en el
codificador 700. Por ejemplo, el proceso de descodificación para el
ejemplo de codificación dado con anterioridad sería:
- 1.
- Encontrar la banda de frecuencia s con el mayor Ps'(s)
- 2.
- Descodificar los símbolos de plano binario del plano binario M(s) para \hat{e}(k) en la banda
3.
- 4.
- Si existe la banda s para la que M(s) \geq 0, ir a 1.
Determinar el plano binario máximo para la
codificación de plano binario de los coeficientes de error.
Para una banda significativa s (es decir, el
coeficiente de error e(k) \neq c(k) ó \existsk
\in s, i(k) \neq 0), el máximo valor absoluto de
e(k) está limitado por el intervalo del cuantificador en el
cuantificador AAC como:
Por lo tanto, el plano binario máximo
M(k) se puede determinar usando:
Como i(k) ya es conocido por el
codificador, M(k) no necesita ser transmitido al
descodificador ya que el descodificador es capaz de regenerar
thr(k) y así, M(k) a partir de i(k) para la
banda s significativa.
Para la banda no significativa, M(k) se
puede calcular a partir de e(k) de la siguiente manera:
y el M(s) calculado se
transmite de manera preferible con el flujo binario de capa de
mejora como información lateral para el flujo binario de capa de
mejora para ser descodificado en plano binario de manera
correcta.
Para reducir la cantidad de información lateral,
M(k) se puede restringir de manera adicional para tener el
mismo valor para k para la misma banda s de factor de escala en el
cuantificador de capa de núcleo. Por lo tanto, M(k) también
se puede denotar como M(s).
En el descodificador 700, los coeficientes de
error correspondientes a la señal de error se pueden reconstruir
por medio de la descodificación de plano binario del flujo binario
de capa de mejora usando el mismo procedimiento de exploración de
plano binario que en el codificador basado en M(s). Para la
banda significativa, M(s) se puede regenerar usando la
siguiente expresión:
Para la banda no significativa, el
descodificador hace uso del M(s) que es transmitido por el
codificador como información lateral.
\vskip1.000000\baselineskip
[1] M. Bosi y colaboradores, "ISO/IEC
Mpeg-2 Advanced Audio Coding", J. Audio Eng.
Soc., Vol. 45, Nº. 10, páginas 789 a 814, octubre de
1997.
[2] Jr. Stuart y colaboradores, "MLP
lossless compression", AES 9ª Convención Regional, Tokyo.
[3] R. Geiger, J. Herre, J.
Koller, y K. Brandenburg, "INTMDCT - A link between
perceptual and lossless audio coding", IEEE Proc. ICASSP
2002.
[4] J. Li, "Embedded audio coding (EAC)
with implicit auditory masking", ACM Multimedia 2002,
Niza, Francia, diciembre de 2002.
[5] T. Moriya, N. Iwakami, T.
Mori, y A. Jin, "A design of lossy and lossless
scalable audio coding", IEEE Proc. ICASSP
2000.
[6] T. Moriya y colaboradores,
"Lossless Scalable Audio Coder and Quality Enhancement",
Proceeding of ICASSP 2002.
[7] M. Hans y R.W. Schafer,
"Lossless Compression of Digital Audio", IEEE Signal
processing magazine. Vol. 18 Nº. 4, páginas 21 a 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", Proc. IEEE ICME 2001, agosto, 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/\simdenlee/wavarc.html
[13] R. Geiger, T. Sporer, J.
Koller, y K. Brandenburg, "Audio Coding based on
Integer Transforms", 111ª Convención AES, septiembre de
2001.
[14] J. Johnston, "Estimation of
Perceptual Entropy", Proc. ICASSP 1988.
[15] R. Yu, C. C. Ko, X. Lin
y S. Rahardja, "Bit-plane Golomb code
for sources with Laplacian distributions", proceeding of
ICASSP 2003.
[16] Monkey's Audio,
http://www.monkeysaudio.com
[17] S. H. Park y colaboradores,
"Multi-Layer Bit-Sliced Bit Rate
Scalable MPEG-4 Audio Coder", presentado en la
l03ª Convención de la AES, Nueva York, septiembre de 1997
(preimpresión 4520)
[18] Ralf Geiger y colaboradores, "FINE
GRAIN SCALABLE PERCEPTUAL AND LOSSLESS AUDIO CODING BASED ON
INTMDCT", Proceeding of ICASSP 2003.
[19] ISO/IEC 14496-3 Subparte 4,
Information Technology - Coding of Audiovisual Objects, Parte 3.
Audio, Subparte 4 Time/Frequency Coding, ISQ/JTC 1/SC 29/WG11,
1998
[20] T. Painter, A. Spanias,
"Perceptual Coding of Digital Audio", IEEE Proceedings,
vol. 88, nº. 4, abril de 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", Parte 3 AUDIO.
[22] Westen, S.J.P., R.L.
Lagendijk, y J. Biemond, "Optimization of JPEG color
image coding using a human visual system model", Conferencia SPIE
sobre Visión Humana e Imagen Electrónica.
[23] Westen, S.J.P., R.L.
Lagendijk, y J. Biemond,
"Spatio-Temporal Model of Human Vision For Digital
Video Compression", SPIE Proceeding of Electronic Imaging 97.
[24] J. Li y S. Lie, "An
embedded still image coder with rate-distortion
optimization", IEEE Trans. On Image Processing, vol. 8,
nº. 7, páginas 913 a 924, julio de 1999.
[25] W. Li, "Overview of Fine
Granularity Scalability in MPEG-4 Video
Standard", IEEE Trans. On Circuits and Systems for Video
Technology, vol. 11, nº. 3, páginas 301 a 317, marzo de
2001.
Claims (30)
-
\global\parskip0.950000\baselineskip
1. Un procedimiento de codificación de una señal digital en un flujo binario escalable, que comprende:- -
- cuantificar (102) la señal digital y codificar la señal cuantificada para formar un flujo binario de capa de núcleo;
- -
- realizar una correspondencia de errores (103) en base a la señal digital y al flujo binario de capa de núcleo para eliminar información que haya sido codificada en el flujo binario de capa de núcleo, dando como resultado una señal de error;
- -
- codificar en plano binario (104) la señal de error en base a la información perceptual de la señal digital, dando como resultado un flujo binario de capa de mejora, en el que la información perceptual de la señal digital se determina usando un modelo perceptual; y
- -
- multiplexar (105) el flujo binario de capa de núcleo y el flujo binario de capa de mejora, generando por lo tanto el flujo binario escalable.
- 2. El procedimiento de la reivindicación 1, comprendiendo de manera adicional:
- -
- transformar (101) la señal digital en un dominio adecuado;
- -
- en el que la señal transformada está cuantificada para formar la señal cuantificada antes de codificar la señal cuantificada.
- 3. El procedimiento de la reivindicación 1 ó 2,
- en el que la información perceptual de la señal digital es además multiplexada (105) con el flujo binario de capa de núcleo y el flujo binario de capa de mejora para generar el flujo binario escalable.
- 4. El procedimiento de la reivindicación 2,
- en el que la señal digital se transforma (101) en una señal digital transformada usando una Transformada de Coseno Discreta Modificada entera.
- 5. El procedimiento de la reivindicación 5,
- en el que la señal transformada está normalizada para aproximar la salida de un banco de filtros MDCT.
- 6. El procedimiento de cualquiera de las reivindicaciones 1 a la 5,
- en el que la señal digital o la señal digital transformada se cuantifica (102) y se codifica de acuerdo con la especificación de Codificación de Audio Avanzada (AAC) del Grupo de Expertos de Imágenes en Movimiento (MPEG).
- 7. El procedimiento de cualquiera de las reivindicaciones 1 a la 6
- en el que la correspondencia de errores (103) se realiza por medio de la resta del umbral de cuantificación más bajo correspondiente a cada uno de los valores cuantificados de la señal cuantificada de la señal digital o de la señal digital transformada, generando por lo tanto la señal de error.
- 8. El procedimiento de cualquiera de las reivindicaciones 1 a la 7
- en el que se usa un modelo psicoacústico como el modelo perceptual (106) para determinar la información perceptual de la señal digital.
- 9. El procedimiento de cualquiera de las reivindicaciones de la 1 a la 8
- en el que la señal de error está representada por planos binarios que comprenden una pluralidad de símbolos de plano binario, y en el que los planos binarios son desplazados en base a la información perceptual de la señal digital, de forma que los planos binarios que sean perceptualmente importantes son los que se codifican los primeros cuando los planos binarios sean explorados y sean codificados en una secuencia consecutiva durante la codificación de plano binario (104) de la señal de error.
- 10. El procedimiento de cualquiera de las reivindicaciones de la 1 a la 8
- en el que la señal de error está representada por planos binarios que comprenden una pluralidad de símbolos de plano binario, y en el que los planos binarios y los símbolos de plano binario son explorados y codificados durante la codificación de plano binario (104) de la señal de error en una secuencia en base a la información perceptual de la señal digital, de forma que los símbolos de plano binario de los planos binarios que sean más importantes perceptualmente son los que se codifican los primeros.
\global\parskip1.000000\baselineskip
- 11. El procedimiento de la reivindicación 9 ó 10
- en el que se determina al menos una de las siguientes informaciones como la información perceptual de la señal digital por medio del modelo perceptual (106):
- -
- el plano binario de la señal de error con el que comienza la codificación de plano binario de la señal de error (Ms); y
- -
- el nivel de la distorsión apenas perceptible (JND)de la señal digital, en donde s corresponde a la banda de frecuencia de la señal digital de la de señal digital transformada.
- 12. El procedimiento de la reivindicación 11,
- en el que la significancia perceptual Ps(s) de la señal digital se determina de manera adicional como la información perceptual, la significancia perceptual se determina por medio de:
- -
- determinar el plano binario de la señal de error correspondiente al nivel JND \tau(s) de la señal digital;
- -
- restar el plano binario de la señal de error correspondiente al nivel JND \tau(s) de la señal digital del plano binario de la señal de error con el que comienza la codificación de plano binario de la señal de error, determinando por lo tanto la significancia perceptual Ps(s), en donde la significancia perceptual Ps(s) se usa para controlar la secuencia de exploración y de codificación de al menos los planos binarios o de los símbolos de plano binario de los planos binarios.
- 13. El procedimiento de la reivindicación 12,
- en el que la significancia perceptual Ps(s) es normalizada por medio de
- -
- definir una significancia perceptual común Ps(s)_común en base a una función de la significancia perceptual Ps(s); y
- -
- restar la significancia perceptual común Ps(s)_común de la significancia perceptual Ps(s), generando por lo tanto la significancia perceptual normalizada Ps'(s), en el que para la banda de frecuencia s para la que los valores cuantificados no son todos cero, el valor de la significancia perceptual Ps(s) se fija al valor de la significancia perceptual común Ps(s)_común, y
en el que para la banda de frecuencia s para la que los valores cuantificados no son todos cero, la significancia perceptual normalizada Ps'(s) se multiplexa con el flujo binario de capa de núcleo y con el flujo binario de capa de mejora para generar el flujo binario escalable. - 14. El procedimiento de la reivindicación 11,
- en el que el plano binario de la señal de error con la que empieza la codificación de plano binario de la señal de error se determina a partir del intervalo de cuantificación máximo usado en la banda de frecuencia s para cuantificar la señal digital o la señal transformada.
- 15. Un codificador para codificar una señal digital en un flujo binario escalable, que comprende:
- -
- una unidad de cuantificación (102) para cuantificar la señal digital, y codificar la señal cuantificada para formar un flujo binario de capa de núcleo;
- -
- una unidad de correspondencia de errores (103) para realizar una correspondencia de errores en base a la señal digital y al flujo binario de capa de núcleo para eliminar la información que se haya codificado en el flujo binario de capa de núcleo, dando como resultado una señal de error;
- -
- una unidad de codificación de plano binario perceptual (104) para la codificación de plano binario de la señal de error en base a la información perceptual de la señal digital, dando como resultado un flujo binario de capa de mejora, en el que la información perceptual de la señal digital se determina usando un modelo perceptual (106); y
- -
- una unidad de multiplexación (105) para multiplexar el flujo binario de capa de núcleo y el flujo binario de capa de mejora, generando por lo tanto el flujo binario escalable.
\newpage
\global\parskip0.900000\baselineskip
- 16. Un medio legible por un ordenador, con un programa grabado en el mismo, en el que el programa cuando se ejecuta por parte del ordenador, hace que el ordenador realice un procedimiento para codificar una señal digital en un flujo binario escalable, comprendiendo del procedimiento:
- -
- cuantificar (102) la señal digital y codificar la señal cuantificada para formar un flujo binario de capa de núcleo;
- -
- realizar una correspondencia de errores (103) en base a la señal digital y al flujo binario de capa de núcleo para eliminar la información que se haya codificado en el flujo binario de capa de núcleo, dando como resultado una señal de error;
- -
- codificación de plano binario (104) de la señal de error en base a la información perceptual de la señal digital, dando como resultado un flujo binario de capa de mejora, en el que la información perceptual de la señal digital se determina usando un modelo perceptual; y
- -
- multiplexar (105) el flujo binario de capa de núcleo y el flujo binario de capa de mejora, generando por lo tanto el flujo binario escalable.
- 17. Un elemento de programa de ordenador que, cuando es ejecutado por un ordenador, hace que el ordenador realice un procedimiento para codificar una señal digital en un flujo binario escalable, comprendiendo el procedimiento:
- -
- cuantificar (102) la señal digital, y codificar la señal cuantificada para formar un flujo binario de capa de núcleo;
- -
- realizar una correspondencia de errores (103) en base a la señal digital y al flujo binario de capa de núcleo para eliminar la información que se haya codificado en el flujo binario de capa de núcleo, dando como resultado un error en la señal;
- -
- codificación de plano binario (104) de la señal de error en base a la información perceptual de la señal digital, dando como resultado un flujo binario de capa de mejora, en el que la información perceptual de la señal digital se determina usando un modelo perceptual (106); y
- -
- multiplexar (105) el flujo binario de capa de núcleo y el flujo binario de capa de mejora, generando por lo tanto el flujo binario escalable.
- 18. Un procedimiento para descodificar el flujo binario escalable en una señal digital, que comprende:
- -
- demultiplexar (205) el flujo binario escalable en un flujo binario de capa de núcleo y en un flujo binario de capa de mejora;
- -
- descodificar (204) y descuantificar (202) el flujo binario de capa de núcleo para generar la señal de capa de núcleo;
- -
- descodificación de plano binario del flujo binario de capa de mejora en base a la información perceptual de la señal digital; y
- -
- realizar una correspondencia de errores (203) en base al flujo binario de capa de mejora descodificado en plano binario y a la señal de capa de núcleo descuantificada, dando como resultado una señal transformada reconstruida, en la que la señal transformada reconstruida es la señal digital.
- 19. El procedimiento de la reivindicación 18, comprendiendo de manera adicional:
- transformar (201) la señal transformada reconstruida en una señal reconstruida, en la que la señal reconstruida es la señal digital.
- 20. El procedimiento de la reivindicación 18 ó de la reivindicación 19,
- en el que la información perceptual de la señal digital se obtiene a partir de la demultiplexación (205) del flujo binario escalable.
- 21. El procedimiento de la reivindicación 19 ó de la reivindicación 20,
- en el que la señal de capa de núcleo y la señal de capa de mejora son transformadas usando una Transformada de Coseno Discreta Modificada entera MDCT).
- 22. El procedimiento de cualquiera de las reivindicaciones 18 a la 21,
- en el que el flujo binario de capa de núcleo se descodifica (204) y se descuantifica (202) de acuerdo con la especificación de Codificación de Audio Avanzada (AAC) del Grupo de Expertos de Imágenes en Movimiento.
\global\parskip1.000000\baselineskip
- 23. El procedimiento de cualquiera de las reivindicaciones 18 a la 22,
- en el que la correspondencia de errores (203) se realiza por medio de la suma del umbral de cuantificación más bajo usado para la descuantificación (202) de la señal transformada y el flujo binario de capa de mejora descodificado de plano binario, generando por lo tanto la señal de capa de mejora.
- 24. El procedimiento de cualquiera de las reivindicaciones 18 a la 23,
- en el que el flujo binario de capa de mejora está descodificado en plano binario para generar una pluralidad de planos binarios comprendiendo una pluralidad de símbolos de plano binario en una secuencia consecutiva, y los planos binarios se desplazan en base a la información perceptual de la señal digital para generar el flujo binario de capa de mejora descodificado de plano binario.
- 25. El procedimiento de cualquiera de las reivindicaciones 18 a la 23,
- en el que el flujo binario de capa de mejora está descodificado en plano binario para generar una pluralidad de planos binarios comprendiendo una pluralidad de símbolos de plano binario en una secuencia basada en la información perceptual de la señal digital, generando por lo tanto el flujo binario de capa de mejora descodificado de plano binario.
- 26. El procedimiento de la reivindicación 24 ó 25,
- en el que se recibe al menos una de la siguiente información como la información perceptual de la señal digital:
- -
- el plano binario que corresponde al flujo binario de capa de mejora cuando comienza la descodificación del plano binario del flujo binario de capa de mejora, cuyo plano binario está especificado por un número M(s); y
- -
- el nivel de distorsión apenas perceptible (JND) de la señal digital, en el que s corresponde a una banda de frecuencias de la señal digital.
- 27. El procedimiento de la reivindicación 26,
- en el que el plano binario que corresponde al flujo binario de capa de mejora cuando se inicia la descodificación de plano binario del flujo binario de capa de mejora M(s) se determina a partir del intervalo máximo de cuantificación usado en la banda de frecuencia s para la descuantificación (202) del flujo binario de capa de núcleo.
- 28. Un descodificador para descodificar un flujo binario escalable en una señal digital comprendiendo:
- -
- una unidad de demultiplexación (205) para demultiplexar el flujo binario escalable en un flujo binario de capa de núcleo y en un flujo binario de capa de mejora;
- -
- una unidad de descuantificación (202) para descodificar y para descuantificar el flujo binario de capa de núcleo para generar una señal de capa de núcleo;
- -
- una unidad de descodificación de plano binario (204) para la descodificación de plano binario del flujo binario de capa de mejora en base a la información perceptual de la señal digital; y
- -
- una unidad de correspondencia de errores (203) para realizar una correspondencia de errores en base al flujo binario de capa de mejora descodificado de plano binario y a la señal de capa de núcleo descuantificada, dando como resultado una señal transformada reconstruida, en la que la señal transformada reconstruida es la señal digital.
- 29. Un medio legible por un ordenador que tiene un programa grabado dentro, en donde el programa cuando es ejecutado por un ordenador, hace que el ordenador realice un procedimiento para descodificar un flujo binario escalable en una señal digital, comprendiendo el procedimiento:
- -
- demultiplexar (205) el flujo binario escalable en un flujo binario de capa de núcleo y un flujo binario de capa de mejora;
- -
- descodificar y descuantificar el flujo binario de capa de núcleo para generar una señal de capa de núcleo;
- -
- descodificar en plano binario (204) el flujo binario de capa de mejora en base a la información perceptual de la señal digital; y
\newpage
- -
- realizar una correspondencia de errores en base al flujo binario de capa de mejora descodificado de plano binario y a la señal de capa de núcleo descuantificada, dando como resultado una señal transformada reconstruida, en la que la señal transformada reconstruida es la señal digital.
- 30. Un elemento de programa de ordenador que, cuando es ejecutado por un ordenador, hace que el ordenador realice un procedimiento para descodificar un flujo binario escalable en una señal digital, comprendiendo el procedimiento:
- -
- demultiplexar (205) del flujo binario escalable en un flujo binario de capa de núcleo y en un flujo binario de capa mejorada;
- -
- descodificar y descuantificar (202) el flujo binario de capa de núcleo para generar una señal de capa de núcleo;
- -
- descodificar en plano binario (204) el flujo binario de capa de mejora en base a la información perceptual de la señal digital; y
- -
- realizar una correspondencia de error (203) en base al flujo binario de capa mejorada descodificado de plano binario y a la señal de capa de núcleo descuantificada, dando como resultado una señal transformada reconstruida, en la que la señal transformada reconstruida es la señal digital.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US51062903P | 2003-10-10 | 2003-10-10 | |
US510629P | 2003-10-10 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2305852T3 true ES2305852T3 (es) | 2008-11-01 |
Family
ID=34435115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES04775644T Active ES2305852T3 (es) | 2003-10-10 | 2004-10-06 | Procedimiento de codificacion de una señal digital en un flujo binario escalable, procedimiento para la descodificacion de un flujo binario escalable. |
Country Status (11)
Country | Link |
---|---|
US (1) | US8446947B2 (es) |
EP (2) | EP1939863A3 (es) |
JP (1) | JP4849466B2 (es) |
KR (1) | KR101141247B1 (es) |
CN (1) | CN1890711B (es) |
AT (1) | ATE391988T1 (es) |
DE (1) | DE602004013031T2 (es) |
ES (1) | ES2305852T3 (es) |
MY (1) | MY137785A (es) |
TW (1) | TWI347755B (es) |
WO (1) | WO2005036528A1 (es) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004171301A (ja) * | 2002-11-20 | 2004-06-17 | Canon Inc | 画像処理方法及び装置 |
KR100561869B1 (ko) * | 2004-03-10 | 2006-03-17 | 삼성전자주식회사 | 무손실 오디오 부호화/복호화 방법 및 장치 |
CN101080931B (zh) * | 2004-12-14 | 2010-06-16 | 三星电子株式会社 | 用于对图像编码和解码的设备及其方法 |
KR100707186B1 (ko) * | 2005-03-24 | 2007-04-13 | 삼성전자주식회사 | 오디오 부호화 및 복호화 장치와 그 방법 및 기록 매체 |
KR20070037945A (ko) * | 2005-10-04 | 2007-04-09 | 삼성전자주식회사 | 오디오 신호의 부호화/복호화 방법 및 장치 |
EP1949693B1 (en) * | 2005-10-12 | 2012-04-18 | Samsung Electronics Co., Ltd. | Method and apparatus for processing/transmitting bit-stream, and method and apparatus for receiving/processing bit-stream |
US8370138B2 (en) | 2006-03-17 | 2013-02-05 | Panasonic Corporation | Scalable encoding device and scalable encoding method including quality improvement of a decoded signal |
DE102006051673A1 (de) | 2006-11-02 | 2008-05-15 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Nachbearbeiten von Spektralwerten und Encodierer und Decodierer für Audiosignale |
CN101206860A (zh) * | 2006-12-20 | 2008-06-25 | 华为技术有限公司 | 一种可分层音频编解码方法及装置 |
CN101075436B (zh) * | 2007-06-26 | 2011-07-13 | 北京中星微电子有限公司 | 带补偿的音频编、解码方法及装置 |
TWI346465B (en) * | 2007-09-04 | 2011-08-01 | Univ Nat Central | Configurable common filterbank processor applicable for various audio video standards and processing method thereof |
US20090103606A1 (en) * | 2007-10-17 | 2009-04-23 | Microsoft Corporation | Progressive Distributed Video Coding |
EP2063417A1 (en) * | 2007-11-23 | 2009-05-27 | Deutsche Thomson OHG | Rounding noise shaping for integer transform based encoding and decoding |
RU2439718C1 (ru) * | 2007-12-31 | 2012-01-10 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ и устройство для обработки звукового сигнала |
WO2009091530A1 (en) * | 2008-01-18 | 2009-07-23 | Thomson Licensing | Method for assessing perceptual quality |
US8386271B2 (en) * | 2008-03-25 | 2013-02-26 | Microsoft Corporation | Lossless and near lossless scalable audio codec |
US8325800B2 (en) | 2008-05-07 | 2012-12-04 | Microsoft Corporation | Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers |
ES2613693T3 (es) | 2008-05-09 | 2017-05-25 | Nokia Technologies Oy | Aparato de audio |
US8379851B2 (en) | 2008-05-12 | 2013-02-19 | Microsoft Corporation | Optimized client side rate control and indexed file layout for streaming media |
US7925774B2 (en) | 2008-05-30 | 2011-04-12 | Microsoft Corporation | Media streaming using an index file |
MX2011000382A (es) * | 2008-07-11 | 2011-02-25 | Fraunhofer Ges Forschung | Codificador de audio, decodificador de audio, metodos para la codificacion y decodificacion de audio; transmision de audio y programa de computacion. |
AU2013273846B2 (en) * | 2008-07-11 | 2015-10-22 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio encoder, audio decoder, methods for encoding and decoding an audio signal, audio stream and computer program |
US8265140B2 (en) | 2008-09-30 | 2012-09-11 | Microsoft Corporation | Fine-grained client-side control of scalable media delivery |
CN101740030B (zh) * | 2008-11-04 | 2012-07-18 | 北京中星微电子有限公司 | 语音信号的发送及接收方法、及其装置 |
FR2938688A1 (fr) * | 2008-11-18 | 2010-05-21 | France Telecom | Codage avec mise en forme du bruit dans un codeur hierarchique |
CN101771417B (zh) * | 2008-12-30 | 2012-04-18 | 华为技术有限公司 | 信号编码、解码方法及装置、系统 |
CN102571270A (zh) * | 2009-03-27 | 2012-07-11 | 华为技术有限公司 | 解码方法及装置 |
EP2348504B1 (en) | 2009-03-27 | 2014-01-08 | Huawei Technologies Co., Ltd. | Encoding and decoding method and device |
EP2237269B1 (en) * | 2009-04-01 | 2013-02-20 | Motorola Mobility LLC | Apparatus and method for processing an encoded audio data signal |
EP2306456A1 (en) * | 2009-09-04 | 2011-04-06 | Thomson Licensing | Method for decoding an audio signal that has a base layer and an enhancement layer |
CN101800050B (zh) * | 2010-02-03 | 2012-10-10 | 武汉大学 | 基于感知自适应比特分配的音频精细分级编码方法及系统 |
CN101964188B (zh) | 2010-04-09 | 2012-09-05 | 华为技术有限公司 | 语音信号编码、解码方法、装置及编解码系统 |
CN101854555B (zh) * | 2010-06-18 | 2011-07-27 | 上海交通大学 | 基于预测残差自适应调整的视频编码系统 |
US8965545B2 (en) * | 2010-09-30 | 2015-02-24 | Google Inc. | Progressive encoding of audio |
WO2012079237A1 (zh) * | 2010-12-16 | 2012-06-21 | 北京航空航天大学 | 一种图像压缩中利用人眼视觉模型的小波系数量化方法 |
CN102074243B (zh) * | 2010-12-28 | 2012-09-05 | 武汉大学 | 一种基于比特平面的感知音频分级编码系统及方法 |
US9749633B2 (en) * | 2012-01-19 | 2017-08-29 | Vid Scale, Inc. | System and method of video coding quantization and dynamic range control |
US9842385B2 (en) * | 2012-09-12 | 2017-12-12 | Dolby Laboratories Licensing Corporation | Display management for images with enhanced dynamic range |
GB201219599D0 (en) * | 2012-10-31 | 2012-12-12 | Tangentix Ltd | Apparatus and method for compression image data |
EP2936814B1 (en) | 2013-03-26 | 2018-03-14 | Dolby Laboratories Licensing Corporation | Encoding perceptually-quantized video content in multi-layer vdr coding |
GB2519070A (en) | 2013-10-01 | 2015-04-15 | Sony Corp | Data encoding and decoding |
KR20150095591A (ko) * | 2014-02-13 | 2015-08-21 | 한국과학기술원 | 시각적 인지 특성을 이용한 pvc 방법 |
EP3164868A1 (en) * | 2014-07-02 | 2017-05-10 | Dolby International AB | Method and apparatus for decoding a compressed hoa representation, and method and apparatus for encoding a compressed hoa representation |
EP2963949A1 (en) * | 2014-07-02 | 2016-01-06 | Thomson Licensing | Method and apparatus for decoding a compressed HOA representation, and method and apparatus for encoding a compressed HOA representation |
US10063889B2 (en) | 2014-10-28 | 2018-08-28 | Sony Corporation | Image processing system with conditional coding and method of operation thereof |
US9294782B1 (en) | 2014-10-28 | 2016-03-22 | Sony Corporation | Image processing system with artifact reduction mechanism and method of operation thereof |
US9674554B2 (en) | 2014-10-28 | 2017-06-06 | Sony Corporation | Image processing system with coding mode and method of operation thereof |
US10356410B2 (en) | 2014-10-28 | 2019-07-16 | Sony Corporation | Image processing system with joint encoding and method of operation thereof |
US9591330B2 (en) | 2014-10-28 | 2017-03-07 | Sony Corporation | Image processing system with binary adaptive Golomb coding and method of operation thereof |
US9357232B2 (en) | 2014-10-28 | 2016-05-31 | Sony Corporation | Image processing system with binary decomposition and method of operation thereof |
DE102015010412B3 (de) * | 2015-08-10 | 2016-12-15 | Universität Stuttgart | Verfahren, Vorrichtung und Computerprogrammprodukt zum Komprimieren eines Eingangsdatensatzes |
WO2017197638A1 (en) * | 2016-05-20 | 2017-11-23 | Credo Technology Group Ltd. | Scan based test design in serdes applications |
US9934772B1 (en) * | 2017-07-25 | 2018-04-03 | Louis Yoelin | Self-produced music |
EP3467824B1 (en) | 2017-10-03 | 2021-04-21 | Dolby Laboratories Licensing Corporation | Method and system for inter-channel coding |
CN108281151A (zh) * | 2018-01-25 | 2018-07-13 | 中国电子科技集团公司第五十八研究所 | 基于tms320f28335的多速率声码装置 |
DE102019204527B4 (de) * | 2019-03-29 | 2020-11-19 | Technische Universität München | Kodierungs-/dekodierungsvorrichtungen und verfahren zur kodierung/dekodierung von vibrotaktilen signalen |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1994023426A1 (en) * | 1993-03-26 | 1994-10-13 | Motorola Inc. | Vector quantizer method and apparatus |
JP3196595B2 (ja) * | 1995-09-27 | 2001-08-06 | 日本電気株式会社 | 音声符号化装置 |
JP3255022B2 (ja) * | 1996-07-01 | 2002-02-12 | 日本電気株式会社 | 適応変換符号化方式および適応変換復号方式 |
JP3357795B2 (ja) * | 1996-08-16 | 2002-12-16 | 株式会社東芝 | 音声符号化方法および装置 |
US6092041A (en) * | 1996-08-22 | 2000-07-18 | Motorola, Inc. | System and method of encoding and decoding a layered bitstream by re-applying psychoacoustic analysis in the decoder |
FR2768547B1 (fr) * | 1997-09-18 | 1999-11-19 | Matra Communication | Procede de debruitage d'un signal de parole numerique |
JP3802219B2 (ja) * | 1998-02-18 | 2006-07-26 | 富士通株式会社 | 音声符号化装置 |
JP4327420B2 (ja) * | 1998-03-11 | 2009-09-09 | パナソニック株式会社 | オーディオ信号符号化方法、及びオーディオ信号復号化方法 |
US6446037B1 (en) * | 1999-08-09 | 2002-09-03 | Dolby Laboratories Licensing Corporation | Scalable coding method for high quality audio |
US6778953B1 (en) * | 2000-06-02 | 2004-08-17 | Agere Systems Inc. | Method and apparatus for representing masked thresholds in a perceptual audio coder |
JP2003066998A (ja) * | 2001-08-28 | 2003-03-05 | Mitsubishi Electric Corp | 音響信号符号化装置 |
US7047187B2 (en) * | 2002-02-27 | 2006-05-16 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for audio error concealment using data hiding |
US6934679B2 (en) * | 2002-03-07 | 2005-08-23 | Microsoft Corporation | Error resilient scalable audio coding |
US7110941B2 (en) * | 2002-03-28 | 2006-09-19 | Microsoft Corporation | System and method for embedded audio coding with implicit auditory masking |
DE10217297A1 (de) * | 2002-04-18 | 2003-11-06 | Fraunhofer Ges Forschung | Vorrichtung und Verfahren zum Codieren eines zeitdiskreten Audiosignals und Vorrichtung und Verfahren zum Decodieren von codierten Audiodaten |
GB2388502A (en) * | 2002-05-10 | 2003-11-12 | Chris Dunn | Compression of frequency domain audio signals |
JP3881943B2 (ja) * | 2002-09-06 | 2007-02-14 | 松下電器産業株式会社 | 音響符号化装置及び音響符号化方法 |
-
2004
- 2004-10-06 EP EP08154219A patent/EP1939863A3/en not_active Withdrawn
- 2004-10-06 WO PCT/SG2004/000323 patent/WO2005036528A1/en active Application Filing
- 2004-10-06 US US10/575,409 patent/US8446947B2/en active Active
- 2004-10-06 KR KR1020067009023A patent/KR101141247B1/ko not_active IP Right Cessation
- 2004-10-06 EP EP04775644A patent/EP1673764B1/en not_active Not-in-force
- 2004-10-06 ES ES04775644T patent/ES2305852T3/es active Active
- 2004-10-06 JP JP2006532254A patent/JP4849466B2/ja not_active Expired - Fee Related
- 2004-10-06 AT AT04775644T patent/ATE391988T1/de not_active IP Right Cessation
- 2004-10-06 DE DE602004013031T patent/DE602004013031T2/de active Active
- 2004-10-06 CN CN2004800364820A patent/CN1890711B/zh not_active Expired - Fee Related
- 2004-10-07 TW TW093130315A patent/TWI347755B/zh not_active IP Right Cessation
- 2004-10-08 MY MYPI20044132A patent/MY137785A/en unknown
Also Published As
Publication number | Publication date |
---|---|
JP4849466B2 (ja) | 2012-01-11 |
DE602004013031T2 (de) | 2009-05-14 |
EP1939863A3 (en) | 2008-07-16 |
EP1673764A4 (en) | 2006-12-27 |
KR20060115385A (ko) | 2006-11-08 |
DE602004013031D1 (de) | 2008-05-21 |
CN1890711B (zh) | 2011-01-19 |
WO2005036528A1 (en) | 2005-04-21 |
US8446947B2 (en) | 2013-05-21 |
TWI347755B (en) | 2011-08-21 |
KR101141247B1 (ko) | 2012-05-04 |
TW200520400A (en) | 2005-06-16 |
US20070274383A1 (en) | 2007-11-29 |
JP2007509362A (ja) | 2007-04-12 |
ATE391988T1 (de) | 2008-04-15 |
MY137785A (en) | 2009-03-31 |
EP1939863A2 (en) | 2008-07-02 |
CN1890711A (zh) | 2007-01-03 |
EP1673764B1 (en) | 2008-04-09 |
EP1673764A1 (en) | 2006-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2305852T3 (es) | Procedimiento de codificacion de una señal digital en un flujo binario escalable, procedimiento para la descodificacion de un flujo binario escalable. | |
US6148288A (en) | Scalable audio coding/decoding method and apparatus | |
US7761290B2 (en) | Flexible frequency and time partitioning in perceptual transform coding of audio | |
RU2185024C2 (ru) | Способ и устройство масштабированного кодирования и декодирования звука | |
Jayant et al. | Signal compression based on models of human perception | |
RU2197776C2 (ru) | Способ и устройство масштабируемого кодирования-декодирования стереофонического звукового сигнала (варианты) | |
EP1960999B1 (en) | Method and apparatus encoding an audio signal | |
US20120224627A1 (en) | Harmonic quantizer scale | |
JP4849479B2 (ja) | スケーラブルにデータを符号化及び復号化するシステム及び方法 | |
KR19980079476A (ko) | 비트율 조절이 가능한 오디오 데이터 부호화/복호화 방법 및 장치 | |
US20080312758A1 (en) | Coding of sparse digital media spectral data | |
KR100908117B1 (ko) | 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 | |
US20060136198A1 (en) | Method and apparatus for low bit rate encoding and decoding | |
KR20070037945A (ko) | 오디오 신호의 부호화/복호화 방법 및 장치 | |
Cruz et al. | Region of Interest coding in JPEG2000 for interactive client/server applications | |
KR20050022160A (ko) | 스케일러블 비디오 코딩 및 디코딩 방법, 및 스케일러블비디오 엔코더 및 디코더 | |
RU2214047C2 (ru) | Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов | |
KR20040062261A (ko) | 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 | |
KR100908116B1 (ko) | 비트율 조절가능한 오디오 부호화 방법, 복호화 방법,부호화 장치 및 복호화 장치 | |
MXPA06004049A (es) | Metodo para codificar una señal digital en un flujo de bits escalable;metodo para decodificar un flujo de bits escalable | |
KR20050040441A (ko) | 스케일러블 오디오 복/부호화 방법 및 장치 | |
JPH10215454A (ja) | 符号化装置及び符号化方法 | |
Liu | Adaptive scalar quantization for perceptual coding in the wavelet domain | |
Arntzen | Linelet, an Ultra-Low Complexity, Ultra-Low Latency Video Codec for Adaptation of HD-SDI to Ethernet | |
Delopoulos | Multimedia Coding Techniques for Wireless Networks |