MX2011000527A - Metodo y aparato para sincronizar datos altamente comprimidos de capa de mejora. - Google Patents

Metodo y aparato para sincronizar datos altamente comprimidos de capa de mejora.

Info

Publication number
MX2011000527A
MX2011000527A MX2011000527A MX2011000527A MX2011000527A MX 2011000527 A MX2011000527 A MX 2011000527A MX 2011000527 A MX2011000527 A MX 2011000527A MX 2011000527 A MX2011000527 A MX 2011000527A MX 2011000527 A MX2011000527 A MX 2011000527A
Authority
MX
Mexico
Prior art keywords
bit stream
base layer
layer
packet
bits
Prior art date
Application number
MX2011000527A
Other languages
English (en)
Inventor
Peter Jax
Sven Kordon
Original Assignee
Thomson Licensing
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Licensing filed Critical Thomson Licensing
Publication of MX2011000527A publication Critical patent/MX2011000527A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Los formatos de datos de aplicaciones multimedia usan frecuentemente paquetes de datos y pueden contener capas jerárquicas paquetizadas o en paquetes con una capa base (BL) y una o más capas de mejora (EL). Los paquetes que comprenden datos codificados de longitud variable proporcionan típicamente bits de relleno que se pueden usar para adicionar información de suma de verificación. La información de suma de verificación se refieren tanto a, la capa base descodificada y los datos descodificados de paquete de la capa de mejora, y se usa para determinar la pérdida de sincronización entre las capas. Aunque los paquetes proporcionan diferentes cantidades individuales de bits de relleno, esta cantidad variable de bits por paquete es suficiente para adicionar información de suma de verificación para propósitos relacionados a la sincronización. Esto permite, por ejemplo, la detección de "fuera de sincronización" aún si la codificación de la capa de mejora no proporciona información de datos de servicio para la sincronización en particular sin encabezados de paquete y sin palabras de sincronización de paquete.

Description

MÉTODO Y APARATO PARA SINCRONIZAR DATOS ALTAMENTE COMPRIMIDOS DE CAPA DE MEJORA Campo de la Invención Esta invención se refiere a un método y a un aparato para la codificación de alta compresión de datos de la capa de mejora que se relacionan a los datos de la capa base, y a un método y un aparato para la descodificación correspondiente de los datos altamente comprimidos de la capa de mejora, en donde se determina la sincronización entre los datos de la capa de mejora y los datos de la capa base correspondiente.
Antecedentes de la Invención Algunos formatos de datos de aplicaciones multimedia usan capas jerárquicas, con una capa base (BL) y una o más capas de mejora (EL) . Los datos dentro de una capa frecuentemente se paquetizan (ponen en paquetes) , es decir, se organizan en paquetes o cuadros. En tanto que la señal de BL sola se puede descodificar para obtener datos multimedia reproducibles y comprende toda la información para una descodificación básica, la señal de EL comprende información adicional que no se puede descodificar sola para obtener datos multimedia útiles. En cambio, los datos de EL se acoplan estrechamente a los datos de BL, y sólo son útiles conjuntamente con estos. Usualmente, los datos de BL y los de EL se adicionan o sobreponen entre si, ya sea para una descodificación común o después de su descodificación individual. En cualquier caso, es necesario sincronizar los datos de EL a los datos de BL, puesto que de otro modo los datos de EL no contiene información útil.
Es común verificar la integridad de cada sub-flujo de bits, de manera individual, por ejemplo por sumas de verificación de CRC, individuales o mecanismos de corrección anticipada de errores (FEC) . En general, estos esquemas de CRC o de FEC se aplican a bloques separados individuales o a cuadros de señal de los sub-flujos de bits. Si la descodificación inicia en posiciones sincronizadas en los sub-flujos de bits, y si además no se detectan ninguno de los errores de transmisión de sub-flujos de bits, el descodificador asumirá que está en sincronización el flujo de bits, jerárquico. Sin embargo, debido a que esta técnica solo da certidumbre con respecto a la recepción de los bloques individualmente protegidos de un flujo de bits, puede haber aún errores sin detectar, por ejemplo, si uno de los bloques protegidos de un sub-flujo de bits se pierde completamente .
¦ Adicionalmente, es deseable mantener la proporción de datos tan baja como sea posible, lo que conduce a métodos sofisticados de compresión de datos. Una desventaja de planteamiento de CRC o de FEC es que típicamente se tiene que transmitir una cantidad considerable de datos adicionales para cada bloque de flujo de bits. Por lo tanto, frecuentemente se usa codificación de longitud variable para palabras de datos que no están distribuidas de manera igual. En la codificación de longitud variable (VLC) , las palabras de datos que aparecen más frecuentemente, es decir, con mayor probabilidad, se codifican en palabras más cortas de código, en tanto que las palabras de datos que aparecen con menor probabilidad se codifican en palabras más largas de código. De esta manera, la cantidad promedio de bits en mensajes codificados es más corta que usando la longitud constante de palabra de código. Sin embargo, los métodos de alta compresión tal como VLC son más sensibles a errores de bits, lo que conduce a pérdida completa de datos. Por ejemplo, para VLC puede ser imposible determinar que bits corresponden a una palabra de código cuando se ha perdido la sincronización. Por lo tanto, una solución común para limitar la posible pérdida de datos es la inserción de palabras únicas de sincronización que se pueden reconocer con muy alta probabilidad. Sin embargo, las palabras de sincronización incrementan la proporción de datos y entre más palabras de sincronización se usen, mayor es la proporción de datos. Además, una desventaja adicional de aplicar los métodos de CRC o de FEC en los bloques de sub-flujos de bits es que es muy difícil afrontar bloques que tengan longitudes variables y sin encabezados de bloque, igual que en la codificación de VBR.
A fin de permitir la detección de errores de bits en la transmisión o almacenamiento de datos, es un método común calcular una suma de verificación sobre los datos codificados, y transmitir o almacenar también la suma de verificación. Se conocen diferentes tipos de sumas de verificación para detectar o corregir ciertos errores de bits. Sin embargo, entre mayor es la cantidad de información en la suma de verificación, más se requieren bits. De esta manera entre más útil es una suma de verificación, más se incrementa la proporción de datos.
Breve Descripción de la Invención En vista de lo anterior, un problema que se va a solucionar por la presente invención es proporcionar un método de codificación y un formato para una corriente de datos altamente comprimidos de capa de mejora, que se refiere a una corriente de datos paquetizados de capa base, tal que es posible detectar al menos la pérdida de sincronización entre los datos de la capa de mejora y los datos de la capa base durante la descodificación, en tanto que se mantiene baja la cantidad de información de sincronización (sinc) y la información de la suma de verificación en la corriente de datos de la capa de mejora.
Además, otro problema que se va a solucionar por la presente invención es proporcionar un correspondiente método y aparato de descodificación. En particular, el método y aparato de descodificación debe ser capaz de detectar al menos la pérdida de sincronización entre los datos de la capa de mejora y los datos de la capa base durante la descodificación. En la detección, debe ser capaz de asistir al menos la reducción de la perturbación.
La presente invención proporciona las siguientes soluciones para los problemas descritos anteriormente.
En principio, la invención se basa en el reconocimiento del hecho que los paquetes que comprenden datos codificados de longitud variable proporcionan típicamente espacio libre en sus bits de relleno, que se pueden usar para adicionar información de la suma de verificación, y que la información de la suma de verificación también se puede usar para detectar la pérdida de sincronización u otros propósitos de sincronización. Por esta razón, la información de la suma de verificación se refiere tanto a una capa base descodificada como a datos de paquete, descodificados de la capa de mejora. Aunque no todos los paquetes proporcionan bits de relleno, libres, al menos la mayoría de los paquetes lo hacen, y en promedio cada paquete proporciona (n-l)/2 bits de relleno, asumiendo que n bits forman un byte. Aunque esta cantidad variable de bits por paquete puede no ser suficiente para una corrección altamente sofisticada de errores, se ha encontrado que es suficiente para los propósitos relacionados a la sincronización, mencionados anteriormente. De manera ventajosa, esto permite por ejemplo la detección de "fuera de sincronización" después de muy pocos paquetes aún si la codificación de la capa de mejora proporciona información muy limitada de datos de servicio, por ejemplo, sin encabezados de paquete y sin palabras de sincronización de paquete.
En un aspecto, la presente invención proporciona un método para codificar una corriente de datos de capa base y una corriente de datos, relacionada, de capa de mejora, que comprende los pasos de calcular una suma de verificación, común, sobre la corriente de datos de capa base y la corriente de datos de capa de mejora, codificar los datos de capa base en paquetes de capa base de longitud individual, en donde las palabras de datos dentro de un paquete tienen longitud constante (por ejemplo, una estructura orientada a byte) y cada paquete tiene una porción de encabezado que comprende al menos una palabra de sincronización y una indicación de la longitud individual de paquete, codificar los datos de la capa de mejora en paquetes de capa de mejora de longitud individual, en donde cada paquete de capa de mejora corresponde a un paquete particular de capa base, y en donde las palabras de datos dentro de un paquete de capa de mejora tienen longitud variable (es decir, no una estructura orientada a bytes) y los paquetes no comprenden encabezado, sin palabra de sincronización de paquete guia y sin indicación de la longitud de paquete, y en donde el número de palabras de datos de capa de mejora codificadas en un paquete depende del número de palabras de datos de capa base codificadas en el paquete correspondiente de capa base, correlacionar los paquetes codificados de capa de mejora a una estructura orientada a bytes, en donde un byte tiene n bits y en donde permanecen sin usar varios bits de relleno en el último byte del paquete, el número que está entre cero y n-1, que determina el número de bits de relleno para un paquete de capa de mejora, extraer una cantidad de bits menos significativos (LSB) de la suma de verificación relacionada al paquete de capa de mejora y su correspondiente paquete de capa base, la cantidad que es igual al número determinado de bits de relleno, e insertar los LSB extraídos de suma de verificación en los bits de relleno.
La longitud de los paquetes individuales de capa base se puede definir por sus contenidos, de acuerdo al formato empleado de aplicación multimedia. Por ejemplo, el formato de codificación de audio, P3 (MPEG-1 Capa III) o el formato de codificación de vídeo, AVC proporcionan longitudes variables de paquete dependiendo del contenido.
Adicionalmente, se va a señalar que el número de valores en un paquete (es decir, la información) es el mismo antes y después de la codificación de entropía, en donde el número de bits o bytes difiere usualmente.
En una modalidad, cada paquete de capa base (BL) de la corriente de datos de BL tiene un correspondiente paquete de capa de mejora (EL) de la corriente de bits de EL, y cada valor de datos en el paquete de BL tiene un correspondiente valor de mejora de datos en el paquete de EL. Por ejemplo, si el paquete de BL tiene un número particular XB de valores, el correspondiente paquete de EL tiene el mismo número de valores de mejora, un valor de mejora para cada uno de los respectivos valores de BL.
En otra modalidad, en donde cada paquete de BL de la corriente de datos de BL tiene un paquete correspondiente de EL del flujo de bits de EL, cada valor de datos de solo (a) tipos particulares en el paquete de BL tiene un correspondiente valor de mejora de datos en el paquete de EL. Por ejemplo, si un paquete de BL tiene XBi valores de un primer tipo y XB2 valores de un segundo tipo, el correspondiente paquete de EL puede tener el mismo número XBi de valores de mejora que sé relacionan solo a los valores de BL del primer tipo.
En una modalidad, los datos de BL y los datos de EL se arreglan de manera secuencial, por ejemplo, se almacenan dentro de un primer archivo, y los datos de EL comprenden no más que una palabra de sincronización.
De acuerdo a otro aspecto de la invención, una señal multimedia codificada comprende una primera porción y una segunda porción, la primera porción que comprende paquetes codificados por entropía alineados por bytes de un flujo de bits de audio de capa base, y la segunda porción comprende paquetes de capa de mejora, codificados por entropía, alineados por bytes, que comprenden datos de capa de mejora, codificados de longitud variable, en donde los paquetes de capa base comprenden información de sincronización y los paquetes de capa de mejora no comprenden información de sincronización (al menos sin encabezados de paquete), y en donde los paquetes de capa de mejora comprenden parámetros codificados que son adecuados para descodificación mejorada de sus correspondientes paquetes de capa base, y en donde el último byte de un paquete de capa de mejora comprende un número variable individual N de bits de relleno (es decir, diferentes paquetes de capa de mejora pueden tener diferentes números individuales de bits de relleno) . Los bits de relleno, comprenden los N LSB de una suma de verificación sobre dos paquetes, específicamente el paquete de capa de mejora de la segunda porción de la señal de audio y el paquete correspondiente de capa base de la primera porción de la señal de audio. La suma de verificación se calculó antes de la codificación de entropía, es decir, no se refiere a los datos como se reciben, si no a los datos codificados por entropía.
De acuerdo aún otro aspecto de la invención, un método para descodificar un flujo de bits de capa base y un correspondiente flujo de bits de capa de mejora, en donde el flujo de bits de capa de mejora comprende datos de mejora codificados por longitud variable para descodificación mejorada del flujo de bits de capa base, comprende los pasos de descodificar por entropía una porción del flujo de bits de capa base, en donde se obtiene un primer paquete de capa base descodificado por entropía, descodificar por entropía una porción el flujo de bits de capa de mejora, en donde se obtienen los datos de mejora para la descodificación mejorada de una porción del flujo de bits de capa base/ determinar un número N de bits de relleno en el último byte del flujo de bits de capa de mejora, y extraer y/o almacenar los bits de relleno, calcular una suma de verificación sobre el primer paquete descodificado de capa base y los datos de mejora de la porción descodificada por entropía del flujo de bits de capa de mejora, extraer los N bits menos significativos (LSB) de la suma de verificación, calculada, N que es igual al número determinado de bits de relleno, comparar los N bits menos significativos, extraídos, de la suma de verificación calculada con los N bits de relleno, extraídos, y si ambos son iguales, descodificar el flujo de bits de capa base usando los datos de mejora y los datos del flujo de bits de capa base, descodificar de otro modo el flujo de bits de capa base usando descodificación simplificada, en donde no se usan o se ignoran los datos de flujo de bits de capa de mejora.
La longitud de un paquete de capa base (antes o después de la descodificación) se puede predefinir o indicar en su encabezado, en tanto que la longitud (en términos de bits) de un paquete de capa de mejora no se indica y se debe derivar durante el proceso de descodificación, por ejemplo, usando información del correspondiente paquete de capa base;. En una modalidad, el número de valores codificados en el paquete de capa de mejora es igual al número de un tipo predefinido de valores en el correspondiente paquete de capa base, y la descodificación comprende los pasos de determinar del paquete de capa base el número de valores que se van a descodificar del paquete de capa de mejora, y descodificar de los datos de capa de mejora el número determinado de valores. En otra modalidad, el número de valores por paquete de capa de mejora se pre-define.
Las modalidades ventajosas de la invención se describen en las reivindicaciones dependientes, la siguiente descripción y las figuras.
Breve Descripción de las Figuras Las modalidades de ejemplo de la invención se describen con referencia a las figuras anexas, que muestran en la Figura 1 la estructura de un formato de corriente o flujo con la capa pase y la capa de mejora; la Figura 2 la estructura de una capa base paquetizada o en paquetes; la Figura 3 la estructura de una capa de mejora paquetizada que incluye bits de relleno; la Figura 4 la comparación de palabras de sinc calculadas y recibidas de ejemplo para la detección de "fuera de sincronización"; la Figura 5 es un diagrama de bloques de un codificador de audio para generar datos de capa base de MP3 y datos de capa de mejora de audio; la Figura 6 es un diagrama de bloques de un descodificador de audio para datos de capa base de MP3 y datos de capa de mejora de audio; y la Figura 7 es un diagrama de bloques en detalle del reemplazo de bits de relleno en el codificador de audio.
Descripción Detallada de la Invención La Figura 1 muestra una corriente de datos que comprende una capa base 10 y una capa 11 de mejora. La capa de mejora también se llama en la presente capa de extensión.
Puesto que se limita la corriente de datos, también se refiere como un bloque de datos. La capa de extensión, en la modalidad descrita y representada, está subsiguiente a la capa base, de modo que ambas pueden usar secuencialmente el mismo canal para la transmisión o almacenamiento. En otra modalidad, ambas capas pueden usar canales separados, de modo que se pueden transmitir, recibir, almacenar o leer, simultáneamente desde el almacenamiento.
En este ejemplo, la capa base 10 contiene datos de audio de MP3, como se muestra en la Figura 2, y la capa 11 de mejora contiene datos para la descodificación mejorada de los datos de audio. El bloque de datos de la capa base se separa en los cuadros 12, 21, 22. El inicio de un cuadro de capa base, por ejemplo un cuadro de MP3, se indica por una palabra 23 única de sincronización. Un descodificador correspondiente, por ejemplo, un descodificador de P3, analiza la corriente de datos para esta palabra 23 de sincronización hasta que encuentra un inicio de cuadro de P3, y descodifica los valores espectrales del cuadro encontrado de MP3. Si existe un error de bits dentro de los datos del cuadro, los datos descodificados son erróneos y se desecha el cuadro 21. El siguiente cuadro 22 sin embargo se puede encontrar por la siguiente palabra de sincronización y puede continuar la descodificación, de modo que no se pierden cuadros adicionales.
La invención se explica en base a un formato y un proceso de descodificación usado para datos mejorados de audio de MP3. El descodificador se refiere como el descodificador de "hd3", y el codificador correspondiente como el codificador de "hd3". De manera alternativa, se puede llamar "MP3HD". El llamado formato de flujo de bits de "hd3" comprende una capa formateada de MP3 como la capa base 10 y al menos una capa adicional de mejora o capa 11 de extensión. El cuadro 12 de MP3 forma un bloque 10 coherente de datos de un archivo de hd3, y la capa 11 de extensión forma un siguiente bloque coherente de datos de mejora. En una modalidad, la capa base 10 y la capa 11 de extensión forman una pista completa de audio (o similar) . En otra modalidad, es posible para pistas excepcionalmente largas que un bloque coherente de datos de capa base y el siguiente bloque coherente de datos de capa de mejora, formen solo una parte de una pista, y la pista completa de audio consiste de dos o más pares de bloques de datos.
El bloque 11 de datos de capa de extensión también se estructura en cuadros, como se muestra en la Figura 3. Sin embargo, a fin de reducir el ancho de banda, está altamente comprimido. Los valores de capa de mejora por lo tanto se codifican usando codificación de longitud variable, y los cuadros de la capa de extensión no inician con una palabra de sincronización (palabra de sincronización) . En cambio, los cuadros solos se anexan en una secuencia. Adicionalmente, las palabras de código dentro de los cuadros de capa de mejora solo se anexan en una secuencia, a pesar de las estructuras de los bytes. De esta manera, los limites de cuadro de la capa de extensión no son directamente detectables, sino se deben encontrar de acuerdo a un algoritmo definido de descodificación, que comprende descodificar un número definido de valores por cuadro.
Debido a la codificación de longitud variable, un error de bit no solo perturbará el valor actual, sino también volverá desconocida la longitud del valor actual, de modo que es incierto el comienzo de todos los siguientes valores en el cuadro. Adicionalmente, debido a las palabras ausentes de sincronización de cuadro, no seria posible identificar de manera convencional cuadros adicionales dentro del bloque de datos de capa de mejora.
Por ejemplo, se puede usar el código de Golomb como el código de longitud variable. Se puede usar el código de Golomb para representar un intervalo limitado de valores enteros no negativos, que es suficiente por ejemplo para datos de MP3 y datos de mejora de MP3. En principio, el código también se puede usar para otros datos multimedia. Se construye una palabra de código por un cociente y un resto divisional, con el cociente en representación unaria y el resto en representación binaria y ambos que se refieren al mismo divisor. Por ejemplo con un divisor de ocho, el valor veintiuno se representa como "11 0 101": el "11" guia representa el cociente (dos) en la representación unaria, el siguiente cero es un separador y los últimos bits "101" representan el resto de cinco. Puesto que el número de bits del resto depende del divisor pre-definido, este se fija. Sin embargo, si el código unario guia o el separador se distorsiona debido a un error de bits, es posible determinar la longitud de la palabra de código. De esta manera, también después de que no se encuentren las palabras de código. Esta clase de problema aplica a todos los códigos de longitud variable, de manera similar, de modo que la invención también es útil con otros códigos de longitud variable.
Como se describe anteriormente, un problema que resulta de la codificación es que después de un error de bit, las partes subsiguientes de la corriente de datos de capa de mejora no se pueden usar con los métodos de la técnica anterior. Otro problema aún peor es que este error no se puede detectar con los métodos de la técnica anterior, de modo que la descodificación usará datos erróneos de la capa de mejora. Esto por ejemplo en el caso de datos de audio, perturbará la reproducción del audio de modo que la señal de audio, descodificada, que resulta de los datos de capa base y de los datos de capa de mejora, no sincronizados, será aún peor que los datos de capa base, puros, correctamente descodificados. En el caos general, el uso de datos erróneamente sincronizados de la capa de mejoras perturba el uso de los datos de capa base, de otro modo, correctos.
De acuerdo a la invención, una solución a este problema es proporcionar lo siguiente: debido a la codificación de longitud variable de los datos de la capa de mejora dentro de un cuadro, y debido al hecho que los datos codificados por longitud variable se correlacionan a una estructura de byte para el procesamiento subsiguiente, el último byte del cuadro de capa de mejora puede contener bits de relleno. Estos usualmente se ajustan a cero y se ignoran. Adicionalmente, la cantidad de bits de relleno varía de cuadro a cuadro, puesto que los cuadros pueden tener diferentes longitudes de bit debido al código de longitud variable. La presente invención comprende el cálculo antes de la codificación por entropía de una suma de verificación, común, sobre el cuadro de capa base y su correspondiente cuadro de capa de mejora, y escribir tanto como sea posible bits, preferentemente LSB, de la suma de verificación en los bits de relleno que permanecen después de la codificación por entropía. En tanto que los descodificadores convencionales no serán capaces de usar esta información y por lo tanto la ignorarán, un descodificador de acuerdo al aspecto de descodificación de la presente invención usa esta información para detectar al menos si están sincronizados un cuadro de capa base y un cuadro de capa de mejora.
De acuerdo a un aspecto de la invención, un descodificador descodifica un número definido de valores de los datos de la capa de mejora de cada paquete, iniciando desde una posición de inicio definida. Entonces, el descodificador lee los bits restantes de repuesto del último byte del actual cuadro de capa de mejora, que usualmente sé ajustan a cero. En el cuadro de capa de mejora de acuerdo a la invención, sin embargo, estos bits contienen los LSB de la suma de verificación. Por lo tanto, el descodificador extrae/almacena estos bits, calcula una suma de verificación sobre el cuadro descodificado de capa base y el cuadro actual descodificado de capa de mejora, y compara la suma de verificación, extraída/almacenada con la cantidad apropiada de LSB de la suma de verificación, calculada. Si son iguales ambos valores de suma de verificación, se asume que el cuadro de capa base y el cuadro de capa de mejora se han descodificado correctamente y corresponden entre si, es decir, son sincrónicas las corrientes o . flujos.
En una modalidad avanzada, también es posible recuperar la sincronización después de que se ha detectado un error de sincronización. Esto seria posible, por ejemplo, al descodificar después de la pérdida de sincronización de un cuadro subsiguiente de BL, descodificar la cantidad definida de valores del cuadro de EL, extraer el último byte del cuadro de EL de los bits restantes, calcular una suma de verificación sobre el cuadro descodificado de BL y El y comparar la suma de verificación con los bits de relleno, extraídos. En el caso de una mala correspondencia, se cambian por bit la posición de inicio en la EL, y se repite el procedimiento relacionado a la EL. Si no hay errores dé bit en los cuadros correspondientes de BL y de EL, es posible con este método encontrar estos cuadros en la corriente o flujo, y de esta manera re-sincronizarlos. En una modalidad, el proceso descrito se usa para reparar una corriente dañada de capa de mejora en un paso de postprocesamiento. Para este propósito, se detecta un error de bit en un paquete de EL como se describe anteriormente, el siguiente paquete correcto de EL se determina como se describe anteriormente, y se modifica el paquete erróneo de EL para rellenar los requerimientos de formato. En otra modalidad donde los cuadros de capa de mejora son más confiables que los cuadros de capa base (por ejemplo, libres de error debido a las condiciones de recepción de mayor calidad) , el paquete correspondiente de BL para un paquete dado de EL se puede determinar, o reparar.
Como se describe anteriormente, la descodificación correcta de los datos del cuadro de mejora asegura que se puedan sincronizar la capa base y la capa de mejora. En la modalidad relacionada a MP3, descrita más adelante, el descodificador es un descodificador parcial de capa de extensión. La descodificación de la capa de mejora inicia en una posición definida en el bloque de datos, o archivo, específicamente después del último cuadro de los datos de capa base. El inicio de los datos de capa de mejora puede ser trivial de encontrar, por ejemplo, está en un archivo o corriente separada. En el caso de un archivo o canal individual para la capa base y la capa de mejora, en el encabezado del archivo se puede proporcionar un indicador que apunta o indica esta posición. Una posibilidad adicional es que el bloque 11 de capa de mejora inicia con una indicación especial (por ejemplo, una palabra particular de sincronización) . Sin embargo, la capa de mejora no tiene bytes adicionales para el propósito de sincronización.
En la modalidad, que representa por ejemplo un códec de hd3, se usa un algoritmo de codificación por entropía de bits exactos. Este algoritmo usa longitudes variables de la palabra de código, adapta la longitud de una palabra de código a la frecuencia estadística de ocurrencia del símbolo. Por lo tanto, la longitud de cuadro de cada cuadro, en términos de bits, varía y no termina directamente en un límite de bytes. Para permitir el corte a lo largo del byte de la capa de extensión o para saltarse a un inicio particular del cuadro de extensión (que se puede conocer, por ejemplo, de una tabla almacenada en el encabezado del archivo) , la longitud del cuadro siempre se redondea al siguiente limite de byte al usar bits de relleno. De esta manera, una cantidad promedio de 3.5 bits de rellenó (asumiendo que cada byte tiene ocho bits) por cuadro se presenta, y se puede usar de acuerdo a la invención. En general, serán (k-l)/2 bits si un byte tiene k bits.
Como se menciona anteriormente, un problema para esta clase de flujos de bits es que un error dentro del flujo de bits no solo conducirá a errores en el cuadro actual, si no también perturbará la sincronización. Además, en los formatos de flujos de bits de MP3, jerárquicos, descritos anteriormente, la capa de extensión se tiene que sincronizar con la capa base, debido a que el cuadro de la capa de extensión necesita los valores parcialmente descodificados de su cuadro especifico de MP3 para reconstruir la señal codificada. Por lo tanto, para mantener sincronizada la capa de extensión, se debe asumir que los cuadros de MP3 y los cuadros de la capa de extensión, están sincronizados, y que es correcta la descodificación parcial de la capa extensión.
Una ventaja de la invención es que logra ambas cuestiones de sincronización sin usar ningún bits o bytes extra, es decir, sin incrementar la cantidad de datos.
A manera de ejemplo, se describe más adelante una implementación de una detección "fuera de sincronización" en un descodificador de hd3. Primero, para asegurarse que son validos los datos descodificados de MP3 (valores espectrales de MP3), se computa la suma de números enteros de los valores de MP3 parcialmente descodificados. Segundo, para verificar la descodificación correcta de los datos de la capa de extensión, se computa la suma de números enteros de los datos parcialmente descodificados de la capa de extensión, y se adicionan a la suma de números enteros de los valores de MP3 parcialmente descodificados. El resultado es en principio un valor de traceo de los dos cuadros de hd3 correspondientes. El valor de traceo es exacto idénticamente por bit en cada dispositivo de codificación y de descodificación, independiente del dispositivo real e independiente del método real de codificación por entropía, puesto que se calculó antes de la codificación por entropía. Al recibir el valor de traceo dentro de la corriente de bits, los descodificadores pueden detectar errores de sincronización y reaccionar en estos. Aunque diferentes métodos de codificación por entropía pueden dar por resultado diferentes longitudes de cuadro de la capa de mejora, y de esta manera diferentes cantidades de bits de relleno, la suma de verificación es la misma. Adicionalmente, el descodificador aún es capaz de detectar la pérdida de sincronización, puesto que la cantidad de bits que se va a comparar se determina dentro del descodificador .
Un aspecto de la invención es usar solo los LSB del valor de traceo y almacenar estos bits en los bits de relleno de cada cuadro de capa de extensión. El descodificador entonces puede descodificar después parcialmente (es decir, por entropía) ambas capas para extraer los bits de relleno y computar el valor de traceo dé los valores parcialmente descodificados. Si los LSB del valor de traceo no son iguales a los bits de relleno, existe un error en los procesos de descodificación parcial y la capa de extensión puede salirse de sincronización por la descodificación adicional. Como consecuencia, el descodificador puede detener, en una modalidad, el proceso completo de descodificación. En otra modalidad, sin embargo, el descodificador conmuta a la descodificación independiente de los cuadros de capa base, debido a que aún es factible la descodificación del bloque de capa base. Entonces puede continuar con la descodificación pura de la capa base, y ya sea puede suprimir la descodificación de la capa de mejora o intentar recuperar la sincronización de la capa de mejora, como se describe anteriormente. Una ventaja particular de este procedimiento es que se pueden detectar datos erróneamente sincronizados de la capa de mejora y se cortan, y de esta manera no perturban la reproducción de los datos de la capa base.
En lo siguiente, se describe una comparación de las palabras de sincronización, recibidas y calculadas, de ejemplo, como se muestra en la Figura 4. Se usan los siguientes términos: Xm 3 (k) = valor de mp3 descodificado parcial Xext (k) = valor de extensión, descodificado, parcial ^¦relleno — bits de relleno leídos Nrelleno — número de bits de relleno usados ^cuadro — ? K valor de traceo computado de valores descodificados, parciales.
En el ejemplo, se calcula una suma de verificación Hcuadro de 16 bits en un descodificador sobre los valores Xmp3Ík) de un cuadro de capa base parcialmente descodificado y los valores Xext(k) de su correspondiente cuadro de capa de mejora. Se detectan cuatro bits como bits de relleno en el último byte del cuadro recibido de capa de mejora, y se extrae la suma de verificación Hreiieno de cuatro bits, transmitida de- estos bits de relleno. Para detectar la sincronización correcta, los bits de relleno extraídos Hreiieno / deben ser iguales a los LSB de la suma de verificación Hcuadro, calculada. Si son diferentes, esto significa que los cuadros están fuera de sincronización (o se ha presentado un error de bit, que de esta manera también se puede verificar) .
Un aspecto de la invención es que no se necesitan insertar bytes adicionales de datos en la corriente o flujo de capa de mejora. En consecuencia, diferente de los métodos conocidos de detección de errores, el número de bits de relleno difiere entre cero y siete bits, de modo que la probabilidad de detección de errores difiere también. Por lo tanto, no se puede detectar inmediatamente una pérdida de sincronización en el primer cuadro inválido. Sin embargo, cada siguiente cuadro incrementa la probabilidad del error que se detecta, debido a que también serán inválidos los siguientes valores de traceo. De esta manera, el método propuesto es suficientemente bueno para detectar situaciones "fuera de sincronización" al menos dentro de pocos cuadros. En modalidades relacionadas a audio, se detectarán estas situaciones de una manera suficientemente rápida para impedir la perturbación principal del oyente, tomando en cuenta que los cuadros de MP3 representan típicamente algunos milisegundos de sonido. Por lo tanto, la detección propuesta de fuera de sincronización es particularmente ventajosa para la codificación de audio.
En modalidades adicionales de la invención, el mecanismo descrito de detección de fuera de sincronización se implementa como un códec de audio, sin pérdida, jerárquico, basado en MP3, como se muestra en las Figuras 5 Y 6.
La Figura 5 muestra un codificador de audio de ejemplo para generar datos de capa base de MP3 y datos de capa de mejora de audio. Una señal 200 de entrada se alimenta a una unidad 203 convencional de cuantificación y banco de filtro de MP3, y a una unidad 240 de cálculo de MDCT de números enteros. El banco de filtro de MP3 proporciona binarios (bins) 215 de MP3, que se codifican por entropía 220 y luego representan una señal 225 convencional de audio formateada en MP3, es decir, un flujo de bits de MP3, que es la salida. Se obtiene una señal de capa de mejora por una correlación 230 de los binarios de MP3 a valores de MDCT de números enteros. Esto se comparan 250 con las salidas del MDCT 240 de números enteros reales, en donde se computa 250 un residuo restante 255. El residuo 255 se codifica por entropía 270, por lo que se usa codificación de longitud variable como se describe anteriormente y como se muestra en la Figura 3. La Figura 7 muestra en más detalle que el paquete 273 codificado por longitud variable se correlaciona 271 a bytes. La mayoría de estos paquetes codificados 275 tendrán bits de relleno de salida, como se explica anteriormente, que se pueden ajustar temporalmente a cero. Es aconsejable determinar 272 del número N de bits de relleno.
En un bloque 260 de computación, se computa un valor 265 de traceo sobre los binarios 215 de MP3 de un cuadro de capa base y el residuo 255 del correspondiente cuadro de capa de mejora. Estos dos cuadros correspondientes se han generado ambos desde la misma porción de la señal de entrada, y por lo tanto ambos se necesitan combinar en un descodificador avanzado en la misma porción de una señal de salida. Sin embargo, los descodificadores convencionales pueden ignorar la señal de capa de mejora, y descodificar solo la señal de capa base en una señal de audio convencional con calidad de MP3. También los descodificadores que son capaces de descodificar la señal de capa de mejora no necesitan realizar necesariamente la detección de fuera de sincronización, pero pueden ignorar el valor de traceo. Sin embargo, estos descodificadores corren el riesgo de no ser capaces de detectar situaciones de fuera de sincronización, y de esta manera pueden proporcionar una peor calidad de señal de salida que un descodificador de acuerdo a la invención.
El valor 265 de traceo se computa 260 de los espectros de números enteros dentro de los binarios 215 de MP3 y los residuos 255 de números enteros, que igualmente más adelante en el descodificador se computarán de los espectros de números enteros descodificados. El valor 265 de traceo puede ser una suma de verificación simple sobre estos valores de números enteros, y durante su cálculo usualmente tendrá un ancho fijo de M de bit ( = N) . En principio, la cantidad determinada N 274 de los bits de relleno disponibles al final de un cuadro de capa de mejora se proporciona a una unidad 261 de truncamiento que extrae o trunca los N bits menos significativos del valor 265 de traceo de M bit. El valor 263 de traceo, resultante, truncado, de N bit, entonces inserta 280 en los bits de relleno del cuadro 275 de capa de mejora, por lo que se obtiene una señal 285 de capa de mejora, codificada por entropía, de acuerdo a un aspecto de la invención. El flujo de bits de capa de mejora también se llama flujo de bits de "capa de CD" en la presente, puesto que permite la reconstrucción sin pérdida de la calidad original (como de un CD) de la señal de P3 reducida en calidad.
En una modalidad, se adiciona 290 una palabra de sincronización, inicial, individual al flujo 295 de bits de capa de mejora. Esto puede ser ventajoso en casos donde el comienzo de este flujo puede ser difícil de encontrar: por ejemplo, si ambas capas se almacenan en un archivo individual, como en la Figura 1, y un indicador en el encabezado de archivo indica o apunta al primer paquete de capa de mejora, un error de bit en este indicador dará por resultado que no se encuentre la capa de mejora. Con esta palabra de sincronización, inicial, individual, es posible analizar la corriente o flujo para el inicio de la capa de mejora. Sin embargo, solo proporciona sincronización inicial, y no es adecuada para detectar la pérdida posterior de sincronización entre las capas.
Es claro que en implementaciones se pueden realizar varios de los pasos lógicos descritos de manera simultánea de modo que no estén físicamente disponibles resultados intermedios.
La Figura 6 muestra un descodificador correspondiente para descodificar cuadros de capa base y cuadros de capa de mejora en tanto que realiza la detección de fuera de sincronización. El descodificador recibe dos flujos separados de bit, por ejemplo, un flujo 101 de bit de P3 y un flujo 102 de bit de capa de mejora. Ambos flujos de bit entonces se descodifican parcialmente 110,120, es decir, se descodifican por entropía. El término descodificación "parcial" se refiere al hecho que el resultado de esta descodificación no es la señal de audio, final, propuesta. En cambio, los resultados de la descodificación parcial son los binarios 115 de MP3 de MP3, descodificados para el flujo de bits de MP3 y los binarios 125 de residuo de MDCT de números enteros descodificados para la capa de mejora, respectivamente. Los binarios 125 de residuo de MDCT de números enteros se pueden usar para mejorar los binarios de MP3, de modo que se obtienen los valores originales de audio conforme estuvieron antes de la codificación (con pérdida) de MP3. De esta manera, con los datos de capa de mejora es posible obtener una codificación sin pérdida de datos de audio en base a los datos de MP3 con pérdida.
Ambos flujos 115, 125 de bit parcialmente descodificados se representan como valores enteros. Para la detección 160 de error de sincronización, se computa 140 un valor 145 de traceo individual de los resultados 115, 125 de los dos descodificadores parciales 110, 120. En el presente ejemplo, el valor 145 de traceo se calcula al adicionar simplemente la suma de números enteros de todos los binarios de frecuencia del espectro de MP3 más todos los binarios de frecuencia del espectro del residuo de MDCT de números enteros. Si el espectro de señal no es cero, como usualmente es el caso, el valor de traceo truncado en los pocos bits menos significativos (LSB) de esta suma representan un valor pseudo-aleatorio que se descorrelaciona razonablemente de cuadro a cuadro. En otras modalidades, se puede usar otros métodos para calcular un traceo, por ejemplo, adicionando solo ciertos valores, usando métodos tipo CRC basados en registros de cambio de retroalimentación lineal.
En paralelo, los bits de relleno que finalizan el sub-flujo de bit codificado de la representación de capa de mejora se extraen 150. Junto con los bits 152 de relleno, extraídos, el número de bits 151 de relleno, detectados, se envía al siguiente paso de procesamiento.
La verificación de error real se realiza comparando 160 los LSB del valor 152 de traceo tomados del sub-flujo 102 de bit de capa de mejora con los LSB correspondientes del valor 145 de traceo computado de los espectros localmente descodificados 115, 125. Si la comparación indica una diferencia, se formula un indicador 165 de indicación de error a fin de señalizar la fuera de sincronización al bloque 130 final de descodificación.
La descodificación final restante 130 combina los dos espectros de señal parcialmente descodificados, es decir, los binarios 115 de MP3 y el residuo 125 de DCT y produce la señal 135 de salida de audio del descodificador . Si se ha formulado el indicador 165 de indicación de error, como se describe anteriormente, el descodificador toma medidas apropiadas para abordar la situación de fuera de sincronización. Por ejemplo, el proceso de descodificación se puede detener por completo, o el descodificador puede caer en un modo para descodificar solo la capa base, abandonando de este modo la información no sincronizada de la capa de mejora.
De manera preferente, la invención se refiere a la compresión de audio, jerárquica o escalable. En particular, la invención es ventajosa para formatos de flujos de bit en los cuales se transmiten las diferentes capas de un flujo de bit jerárquico mediante diferentes canales de transporte o se almacenan en ubicaciones físicas separadas. Por ejemplo, la invención es benéfica si al menos grandes porciones de los sub-flujos de bit de una señal de audio, codificada, jerárquica, se almacenan en diferentes ubicaciones en un archivo, o donde durante el transporte o la recuperación del almacenamiento los diferentes sub-flujos de bit puedan salirse de sincronización debido a errores de transmisión o de almacenamiento. La invención permite una detección garantizada de esta situación en corto tiempo, y permite tomar medidas apropiadas.
La presente invención tiene ventajas con respecto a otras soluciones conocidas al problema de sincronización. Por ejemplo, no es necesario enviar continuamente patrones de sincronización o marcas de tiempo con los bloques del sub-flujo de bits de capa de mejora, de modo que no se necesitan transmitir datos adicionales.
Sin embargo, para la capa base, se puede requerir enviar patrones de sincronización junto con cada bloque o cuadró de señal del flujo de bit, por ejemplo en MPEG-l capa III (MP3) donde cada encabezado de cuadro inicia con patrones fijos de doce unos digitales. Este patrón, junto con una verificación de validez de la siguiente información de encabezado, permite mantener sincronizado el descodificador en un flujo de bits. Sin embargo, la sincronización de diferentes sub-flujos de bits no se puede lograr al usar un patrón de sincronización fija. La invención soluciona este problema en generar al calcular un valor de CRC o de traceo de cuadros temporalmente correspondientes de una capa superior y capas inferiores. De este modo, se construye un enlace fuerte entre la capa superior y todas las capas inferiores que contribuyen a una descodificación común.
Otra ventaja de la invención es que el valor de CRC o de traceo se computa de información individual parcialmente descodificada que viene de los sub-flujos de bit, encontraste a la manera convencional para computar/verificar valores de CRC sobre un flujo de bit, codificado. Esto refleja una diferente predisposición. Típicamente, se aplican CRC para proteger la transmisión/almacenamiento de bits, en tanto que se aplican valores de CRC/de traceo a fin de proteger la transmisión/almacenamiento/descodificación, exacta en bit, de parámetros enteros. Otra ventaja de la invención es que la información adicional requerida para transmitir el valor de CRC/traceo se almacena dentro de los bits de relleno que se anexan a cada límite de cuadro a fin de iniciar el siguiente cuadro en el limite de bytes. Aunque la cantidad de bits de relleno, disponibles es variable y no predecible, es suficiente para proporcionar en promedio un corto tiempo de reacción para la detección de fuera de sincronización.
Una ventaja adicional es que la verificación de error abarca partes del proceso de descodificación. Es decir, además de solo verificar que estén alineados los flujos de bits, también verifica que sean exactos en bits los procesos de descodificación parcial, es decir, sin crónicos a nivel de bit.
La invención también tiene las siguientes ventajas: se puede aplicar con esquemas de codificación dé proporción variable de bit sin la necesidad de patrones de sincronización. Por lo tanto, obtiene una muy alta eficiencia de compresión. No se requiere proporción adicional de bits debido al almacenamiento de la información de CRC/traceo en los bits de relleno para cada cuadro. Con la invención, no se requiere seguir continuamente la sincronización o recepción correcta de todos los sub-flujos de bits. La verificación de error se puede computar independientemente para cada cuadro de señal.
Aunque los ejemplos anteriores se refieren a señales de audio, la idea general de la invención es aplicable en general a flujos de bit jerárquicos que representan varias clases de señales, por ejemplo, video. Igualmente, es posible aplicar la invención a corrientes adicionales de capa de mejora que se necesitan sincronizar con ya sea la corriente de capa base u otras corrientes o flujos de capa de mejora (por ejemplo, una 2a corriente de EL se puede sincronizar a Ia corriente de EL, o cada una de ellas se puede sincronizar a la corriente de BL) . Además, es posible aplicar la invención para detectar la sincronización entre tres o más corrientes o flujos en forma simultánea.
En un aspecto de la invención, un aparato para codificar una señal de audio y video que tiene un flujo de bit de BL y un flujo de bit de capa de mejora que sé relaciona al flujo de bit de BL, en donde los datos de BL y los datos de capa de mejora se estructuran en paquetes, y en donde los paquetes del flujo de bit de BL tienen paquetes correspondientes del flujo de bit de EL, comprende: un medio de cálculo para calcular una suma de verificación sobre un paquete del flujo de bit de BL y un paquete correspondiente del flujo de bit de EL, un codificador de entropía de BL para codificar por entropía el paquete del flujo de bit de BL, en donde un paquete de BL, alineado en bytes, codificado por entropía, que inicia con una palabra de sincronización,: se genera, un codificador de entropía de EL para codificar por entropía el paquete de flujo de bit de EL usando un método de codificación de longitud variable, en donde se genera un paquete de EL codificado por entropía que no tiene encabezado y no inicia con una palabra de sincronización, un medio de correlación para correlacionar a bytes el paquete codificado de EL, cada byte que tiene un número fijo de bits, en donde el último byte del paquete codificado de EL, un número N de bits son bits de relleno, un medio de determinación para determinar la cantidad N de los bits de relleno dentro del último byte del paquete codificados de EL, un medio de extracción para extraer los N bits menos significativos de la suma de verificación calculada, N que es igual a la cantidad determinada de bits de relleno, un medio de inserción para insertar los N bits menos significativos, extraídos, de la suma de verificación calculada y los bits de relleno al final del paquete codificado, y un medio para proporcionar o producir el paquete codificado de EL que incluye los bits insertados de suma de verificación, y el paquete codificado de BL.
En un aspecto de la invención, el aparato para codificación comprende además un medio para almacenar el flujo de bits, codificado, de BL, y el flujo de bits, codificado, de BL, en un archivo, en donde los paquetes de BL se almacenan adyacentes entre sí en una primera porción del archivo y los paquetes de EL se almacenan adyacentes entre sí en una segunda porción subsecuente del archivo.
En otro aspecto, un aparto para descodificar una señal de audio o vídeo que tiene un flujo de bit de BL y un correspondiente flujo de bit de EL, en donde el flujo de bit de EL comprende parámetros codificados1 de longitud variable para descodificación mejorada del flujo de bit de BL, comprende el descodificador parcial de BL para descodificar parcialmente una porción del flujo de bit de BL, en donde se genera un primer paquete descodificado de BL, un descodificador parcial de EL para descodificar parcialmente una porción de la corriente de bit de EL, en donde se generan los parámetros de descodificación para la descodificación mejorada del flujo de bit de BL, un medio para determinar un número N de bits de relleno en esa porción de flujo de bit de EL, y un medio para extraer y/o almacenar los bits de relleno, un medio de cálculo para calcular una suma de verificación sobre el primer paquete descodificado de BL y los parámetros de descodificación de la porción parcialmente descodificada del flujo de bit de EL, un medio de comparación para comparar los N bits menos significativos, extraídos, de la suma de verificación calculada, N que es igual a la cantidad determinada de bits de relleno, con los N bits de relleno extraídos, y para proporcionar una indicación de error sí ambos no son iguales, y el medio de descodificación para descodificar el flujo de bit de BL, parcialmente descodificado, sí los N bits menos significativos, extraídos, de la suma de verificación calculada y los N bits de relleno, extraídos, son iguales de acuerdo a la indicación de error, en donde se usan los parámetros de descodificación para la descodificación mejorada del flujo de bit de BL, y para descodificar de otro modo el flujo de bit de BL, parcialmente descodificado, usando descodificación simplificada, en donde no se usan los datos de flujo de bit. de EL.
Se entenderá que la presente invención se ha descrito solo a manera de ejemplo, y se pueden hacer modificaciones en detalle sin apartarse del alcance de la invención.
Cada característica descrita en la descripción y (donde es apropiado) las reivindicaciones y las figuras se puede proporcionar independientemente o en cualquier combinación apropiada. Donde es apropiado, se pueden implementar características en el hardware, software, o una combinación de los dos. Donde es aplicable, se pueden implementar conexiones como conexiones inalámbricas o alámbricas, no necesariamente conexiones directas o dedicadas. Los números de referencia que aparecen en las reivindicaciones son solo a manera de ilustración y no deben tener efecto limitante en el alcance de las reivindicaciones .

Claims (15)

REIVINDICACIONES
1. Un método para codificar una señal de audio o de video que tiene un flujo de bit de capa base y un flujo de bit de capa de mejora que se relaciona al flujo de bit de capa base, donde los datos de capa base y los datos de capa de mejora se estructuran en paquetes, y en donde los paquetes del flujo de bit de capa base tienen paquetes correspondientes del flujo de bit de capa de mejora, el método que comprende los pasos de: calcular una suma de verificación sobre un paquete del flujo de bit de capa base y un paquete correspondiente del flujo de bits de capa dé mejora; codificar por entropía el paquete del flujo de bit de capa base, en donde se obtiene un paquete de capa base, alineado por bytes, codificado por entropía, que inicia con una palabra de sincronización; codificar por entropía el paquete del flujo de bit de capa de mejora usando método de codificación de longitud variable, en donde se obtiene un paquete de capa de mejora, codificado por entropía, que no tiene encabezado y no inicia con una palabra de sincronización; correlacionar el paquete codificado de capa de mejora, a bites, cada byte que tiene un número fijo de bits, en donde el último byte del paquete codificado de capa de mejora, un número N de bits son bits de relleno; determinar la cantidad N de los bits de relleno dentro del último byte del paquete codificado de capa de mejora; extraer los N bits menos significativos de la suma de verificación calculada, N que es igual a la cantidad determinada de bits de relleno; insertar los N bits menos significativos extraídos de la suma de verificación calculada en los bits de relleno al final del paquete codificado; y proporcionar o producir el paquete codificado de capa de mejora incluyendo los bits insertados de suma de verificación, y el paquete codificado de capa base.
2. Método según la reivindicación 1, en donde se forma un flujo de bit, codificado, de capa de mejora, mediante una palabra de sincronización, guía, individual, y una pluralidad de paquetes codificados de capa de mejora, sin paquetes .adicionales tipo datos estructurales, o encabezados de cuadro.
3. Método según la reivindicación 1 o 2, en donde, antes de la codificación por entropía, el flujo dé bit de capa base y el flujo de bit de capa de mejora comprende valores enteros, y el paso de calcular una suma de verificación comprende sumar los valores enteros antes de la codificación por entropía.
. Método según cualquiera de las reivindicaciones 1-3, en donde el paquete de flujo de bit de capa de mejora se codifica usando código Golomb.
5. Método según cualquiera de las reivindicaciones 1-4, en donde el número N de bits de relleno por paquete codificado de capa de mejora es variable, menor que el número de bits de un byte, y en promedio cuando se redondea hacia arriba o hacia abajo la mitad del número de bits de un byte.
6. Método según cualquiera de las reivindicaciones 1-5, en donde el flujo de bit de capa base comprende datos de audio formateados en MP3, y el flujo de bit de capa de mejora comprende residuos de MDCT adecuados para la descodificación mejorada de los datos de audio formateados en MP3 del flujo de bit de capa base.
7. Método según cualquiera de las reivindicaciones 1-6, que comprende además el paso de almacenar el flujo de bits, codificado, de capa base, y el flujo de bit, codificado, de capa de mejora, en un archivo, en donde los paquetes de capa base se almacenan adyacentes entre si en una primera porción del archivo y los paquetes de capa de mejora se almacenan adyacentes entre si en una segunda porción subsiguiente del archivo.
8. Método para descodificar una señal de audio o video que tiene un flujo de bit de capa base y un correspondiente flujo de bit de capa de mejora, en donde el flujo de bit de capa de mejora comprende parámetros codificados de longitud variable para la descodificación mejorada del flujo de bit de capa base, el método que comprende los pasos de descodificar parcialmente una porción del flujo de bit de capa base, en donde se obtiene un primer paquete de descodificado de capa base; descodificar parcialmente una porción del flujo de bit de capa de mejora, en donde se obtienen los parámetros de descodificación para la descodificación mejorada del flujo de bit de capa base; determinar un número N de bits de relleno en la porción de flujo de bit de capa de mejora, y extraer y/o almacenar los bits de relleno; calcular una suma de verificación sobre el primer paquete descodificado de capa base y los parámetros de descodificación de la porción parcialmente descodificada del flujo de bits de capa de mejora; comparar los N bits menos siqnificativos, extraídos, de la suma de verificación calculada, N que es igual a la cantidad determinada de bits de relleno, con los N bits de relleno, extraídos; y si ambos son iguales, descodificar el flujo de bit parcialmente descodificado de capa base usando los parámetros de descodificación para la descodificación mejorada del flujo de bit de capa base, descodificar de otro modo el flujo de bit parcialmente descodificado de capa base usando descodificación simplificada, en donde no se usa los datos del flujo de bit de capa de mejora.
9. Método según la reivindicación 8, en donde el paso de determinar un número N de bits de relleno comprende los pasos de determinar el número de palabras de código en la porción parcialmente descodificada del flujo de bit de capa base, y descodificar un número correspondiente de palabras de código de la porción del flujo de bit de capa de mejora, codificado por longitud variable, y determinar los bits restantes del último byte de la porción del flujo de bit de capa de mejora a los N bits de relleno.
10. Método según la reivindicación 8 o 9, en donde el flujo de bit de capa de mejora comprende para cada paquete de capa base un número predefinido de parámetros de descodificación.
11. señal codificada de audio/video que comprende una primera porción y una segunda porción, la primera porción que comprende paquetes codificados por entropía, alineados por bytes, de un flujo de bit de audio/video de capa base, y la segunda porción que comprende paquetes de capa de mejora, codificados por entropía, alineados por byte, que comprenden datos de capa de mejora, codificados por longitud variable, en donde los paquetes de capa base comprenden encabezados con información de sincronización y los paquetes de capa de mejora no comprenden encabezados con información de sincronización, y en donde cada paquete de capa de mejora comprende parámetros codificados que son adecuados para la descodificación mejoradas de un paquete correspondiente de capa base, y en donde el último byte de un paquete de capa de mejora comprende un número N de bits de relleno, los bits de rellenos que comprenden los N LSB de una suma de verificación sobre el paquete de capa de mejora y el paquete correspondiente de capa base antes de la codificación por entropía.
12. Señal según la reivindicación 11, en donde el flujo de bit de audio/vídeo de capa base y el flujo de bit de capa de mejora comprenden valores enteros, y la suma de verificación es una suma de los valores enteros.
13. aparato para codificar una señal de audio o vídeo que tiene un flujo de bit de capa base y un flujo de bit de capa de mejora que se relaciona al flujo de bit de capa base, en donde los datos de capa base y los datos de capa de mejora se estructuran en paquetes, y en donde los paquetes del flujo de bit de capa base tienen paquetes correspondientes del flujo de bit de capa de mejora, el aparato que comprende: un medio de cálculo para calcular una suma de verificación sobre un paquete del flujo de bit de capa base y un paquete correspondiente del flujo de bit de capa de mejora; el codificador de entropía de capa base para descodificar por entropía el paquete del flujo de bit de capa base, en donde se genera un paquete de capa base, alineado por bytes, codificado por entropía, que inicia con una palabra de sincronización; un codificador de entropía de capa de mejora para codificar por entropía el paquete de flujo de bit de capa de mejora, usando un método de codificación de longitud variable, en donde se generá un paquete de capa de mejora, codificado por entropía que no tiene encabezado y no inicia con una palabra de sincronización; un medio de correlación para correlacionar ¿ bytes el paquete codificado de capa de mejora, cara byte que tiene un número fijo de bits, en donde en el último bytes del paquete codificado de capa de mejora, un número N de bit son bit de relleno; un medio de determinación para determinar la cantidad N de los bits de relleno dentro del último byte del paquete codificado. De capa de mejora; un medio de extracción para extraer los N bits menos significativos de la suma de verificación calculada, BL que es igual a la cantidad determinada de bits de relleno; un medio de inserción para insertar los N bit menos significativos, extraídos, de la suma de verificación calculada en los bit de relleno al final del paquete codificado; y el medio para proporcionar o producir el paquete codificado de capa de mejora incluyendo los bits insertados de suma de verificación, y el paquete codificado de capa base.
14. Aparato según la reivindicación 13, que comprende además un medio para almacenar el flujo de bits, codificado de capa base y el flujo de bit, codificado, de capa de mejora, en un archivo en donde los paquetes de capa: base se almacenan adyacentes entre sí en una primera porción del archivo y los paquetes de capa de mejora se almacenan adyacentes entre si en una segunda porción subsiguiente del archivo .
15. Aparato para descodificar una señal de audio o video que tiene un flujo de bit de capa base y un correspondiente flujo de bit de capa de mejora, en donde el flujo de bits de capa de mejora comprende parámetros codificados de longitud variable para la descodificación mejorada del flujo de bit de capa base, el aparato que comprende un descodificador parcial de capa base para descodificar parcialmente una porción del flujo de bit de capa base, en donde se genera un primer paquete descodificado de capa base; un descodificador parcial de capa de mejora para descodificar parcialmente una porción del flujo de bit de capa de mejora, en donde se generan los parámetros de descodificación para la descodificación mejorada del flujo de bit de capa base; un medio para determinar un número N de bits de relleno en la porción del flujo de bit de capa de mejora, y un medio para extraer y/o almacenar los bits de relleno; un medio de cálculo para calcular una suma de verificación sobre el primer paquete descodificado de capa base y los parámetros de descodificación de la porción parcialmente descodificada del flujo de bits de capa de mejora; un medio de comparación para comparar los N bits menos significativos, extraídos de la suma de verificación calculada, N que es igual a la cantidad determinada de bits de relleno, con los N de relleno, extraídos, y para proporcionar una indicación de error si ambos no son iguales; y un medio de descodificación para descodificar el flujo de bit, parcialmente descodificado, de capa base, si los N bit menos significativos, extraídos, de la suma de verificación calculada y los N bits de relleno, extraídos son iguales de acuerdo a la indicación de error, en donde se usan los parámetros de descodificación para la descodificación mejorada del flujo de bit de capa base, y para descodificar de otro modo el flujo de bit parcialmente descodificado, dé capa base usando descodificación simplificadas, en donde no se usan los datos del flujo de bit de capa de mejora.
MX2011000527A 2008-07-16 2009-07-14 Metodo y aparato para sincronizar datos altamente comprimidos de capa de mejora. MX2011000527A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08160549A EP2146343A1 (en) 2008-07-16 2008-07-16 Method and apparatus for synchronizing highly compressed enhancement layer data
PCT/EP2009/058944 WO2010007037A1 (en) 2008-07-16 2009-07-14 Method and apparatus for synchronizing highly compressed enhancement layer data

Publications (1)

Publication Number Publication Date
MX2011000527A true MX2011000527A (es) 2011-03-29

Family

ID=39816809

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2011000527A MX2011000527A (es) 2008-07-16 2009-07-14 Metodo y aparato para sincronizar datos altamente comprimidos de capa de mejora.

Country Status (14)

Country Link
US (2) US8462702B2 (es)
EP (3) EP2146343A1 (es)
JP (1) JP5314757B2 (es)
KR (1) KR20110052632A (es)
CN (1) CN102160378B (es)
BR (1) BRPI0916619A2 (es)
CA (1) CA2730468A1 (es)
ES (1) ES2430241T3 (es)
MX (1) MX2011000527A (es)
PL (1) PL2301025T3 (es)
RU (1) RU2510918C2 (es)
TW (1) TWI449032B (es)
WO (1) WO2010007037A1 (es)
ZA (1) ZA201100381B (es)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077990B2 (en) 2006-04-28 2011-12-13 Pixsense Inc. Efficient content compression and decompression system and method
EP1881485A1 (en) * 2006-07-18 2008-01-23 Deutsche Thomson-Brandt Gmbh Audio bitstream data structure arrangement of a lossy encoded signal together with lossless encoded extension data for said signal
EP2304689A4 (en) * 2008-06-23 2017-03-15 Cinova Media, Inc. Compressed domain system and method for compression gains in encoded data
US8589999B1 (en) * 2009-08-11 2013-11-19 Arris Solutions, Inc. Methods and systems for splicing between media streams
US8873582B2 (en) 2010-04-08 2014-10-28 Lg Electronics Inc. Method for transmitting PPDU in wireless local area network and apparatus for the same
EP2395505A1 (en) * 2010-06-11 2011-12-14 Thomson Licensing Method and apparatus for searching in a layered hierarchical bit stream followed by replay, said bit stream including a base layer and at least one enhancement layer
AP3992A (en) 2011-07-15 2017-01-08 Ge Video Compression Llc Sample array coding for low-delay
US9626772B2 (en) 2012-01-18 2017-04-18 V-Nova International Limited Distinct encoding and decoding of stable information and transient/stochastic information
US8639057B1 (en) 2012-03-19 2014-01-28 The Modern Video Company Artifact removal method and system for contoured images and video
KR20150032649A (ko) 2012-07-02 2015-03-27 소니 주식회사 복호 장치 및 방법, 부호화 장치 및 방법, 및 프로그램
JPWO2014007097A1 (ja) 2012-07-02 2016-06-02 ソニー株式会社 復号装置および方法、符号化装置および方法、並びにプログラム
ES2626809T3 (es) * 2013-01-29 2017-07-26 Fraunhofer Gesellschaft zur Förderung der angewandten Forschung e.V. Concepto para compensación de conmutación del modo de codificación
US10594687B2 (en) 2013-05-14 2020-03-17 Kara Partners Llc Technologies for enhancing computer security
US10057250B2 (en) 2013-05-14 2018-08-21 Kara Partners Llc Technologies for enhancing computer security
US10015506B2 (en) 2013-05-20 2018-07-03 Cinova Media Frequency reduction and restoration system and method in video and image compression
US8959414B2 (en) * 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
ITMI20131824A1 (it) * 2013-11-04 2015-05-05 St Microelectronics Srl Metodo di identificare un messaggio conforme allo standard ota (over the air) ed affetto da errore
US20150256842A1 (en) * 2014-03-07 2015-09-10 Silicon Image, Inc. Compressed Video Transfer over a Multimedia Link
US9685164B2 (en) * 2014-03-31 2017-06-20 Qualcomm Incorporated Systems and methods of switching coding technologies at a device
US10462477B2 (en) 2015-02-25 2019-10-29 Cinova Media Partial evaluator system and method
IL276591B2 (en) * 2015-10-08 2023-09-01 Dolby Int Ab Layered coding for voice or compressed sound field representations
US10460700B1 (en) 2015-10-12 2019-10-29 Cinova Media Method and apparatus for improving quality of experience and bandwidth in virtual reality streaming systems
CN106791863B (zh) * 2015-11-19 2019-07-16 浙江大华技术股份有限公司 一种svc视频数据的存储方法及装置
US10944971B1 (en) 2017-05-22 2021-03-09 Cinova Media Method and apparatus for frame accurate field of view switching for virtual reality
KR20200065367A (ko) * 2018-11-30 2020-06-09 삼성전자주식회사 이미지 처리 장치 및 프레임 버퍼 컴프레서
KR20220075401A (ko) * 2019-10-15 2022-06-08 인터디지털 씨이 페이튼트 홀딩스, 에스에이에스 비디오를 전송 및 수신하기 위한 방법 및 장치
US11095311B2 (en) * 2019-11-27 2021-08-17 Qualcomm Incorporated Quantization codeword selection for low cost parity checking
US11348594B2 (en) * 2020-06-11 2022-05-31 Qualcomm Incorporated Stream conformant bit error resilience
CN111510509B (zh) * 2020-06-15 2020-12-08 佛山市睿宝智能科技有限公司 针织机选针器的数据通讯方法、存储介质和针织机

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3597647B2 (ja) * 1995-09-29 2004-12-08 株式会社東芝 符号化方法及び装置
JPH10200921A (ja) * 1997-01-10 1998-07-31 Sony Corp デジタルデータ伝送方法、データ記録再生装置、データ編集装置
JP3132456B2 (ja) * 1998-03-05 2001-02-05 日本電気株式会社 階層的画像符号化方式、及び階層的画像復号方式
JP2001320422A (ja) * 2000-03-03 2001-11-16 Ntt Docomo Inc ヘッダ圧縮を伴うパケット伝送のための方法および装置
US6816194B2 (en) 2000-07-11 2004-11-09 Microsoft Corporation Systems and methods with error resilience in enhancement layer bitstream of scalable video coding
EP1308931A1 (de) 2001-10-23 2003-05-07 Deutsche Thomson-Brandt Gmbh Decodierung eines codierten digitalen Audio-Signals welches in Header enthaltende Rahmen angeordnet ist
GB2391413B (en) 2002-07-31 2004-08-25 Motorola Inc Object-based scalable video transmissions
US7188250B1 (en) 2002-12-13 2007-03-06 Nvidia Corporation Method and apparatus for performing network processing functions
KR20060130570A (ko) * 2003-11-28 2006-12-19 코닌클리케 필립스 일렉트로닉스 엔.브이. 비트스트림을 인코딩 또는 디코딩하는 방법 및 장치
KR100605906B1 (ko) * 2004-08-02 2006-08-01 삼성전자주식회사 위치 정보를 포함한 디지털 방송 신호를 이용하는 디지털방송 시스템 및 그 방법
KR100662350B1 (ko) 2004-08-23 2007-01-02 엘지전자 주식회사 영상 전송 장치 및 방법
KR100664929B1 (ko) * 2004-10-21 2007-01-04 삼성전자주식회사 다 계층 기반의 비디오 코더에서 모션 벡터를 효율적으로압축하는 방법 및 장치
KR100763178B1 (ko) 2005-03-04 2007-10-04 삼성전자주식회사 색 공간 스케일러블 비디오 코딩 및 디코딩 방법, 이를위한 장치
EP2555187B1 (en) * 2005-10-12 2016-12-07 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding audio data and extension data
KR100763196B1 (ko) 2005-10-19 2007-10-04 삼성전자주식회사 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치
TWI276047B (en) * 2005-12-15 2007-03-11 Ind Tech Res Inst An apparatus and method for lossless entropy coding of audio signal
CN101043619A (zh) * 2006-03-24 2007-09-26 华为技术有限公司 视频编码的误差控制系统和方法
EP1881485A1 (en) * 2006-07-18 2008-01-23 Deutsche Thomson-Brandt Gmbh Audio bitstream data structure arrangement of a lossy encoded signal together with lossless encoded extension data for said signal
US7941727B2 (en) 2006-10-31 2011-05-10 Hewlett-Packard Development Company, L.P. Checksum generator for variable-length data
US20080101476A1 (en) 2006-11-01 2008-05-01 Qualcomm Incorporated Video coding rate adaptation to reduce packetization overhead
US20080152006A1 (en) * 2006-12-22 2008-06-26 Qualcomm Incorporated Reference frame placement in the enhancement layer
US8630355B2 (en) * 2006-12-22 2014-01-14 Qualcomm Incorporated Multimedia data reorganization between base layer and enhancement layer

Also Published As

Publication number Publication date
US20130215972A1 (en) 2013-08-22
EP2146343A1 (en) 2010-01-20
EP2301025B1 (en) 2013-09-04
US8995348B2 (en) 2015-03-31
KR20110052632A (ko) 2011-05-18
RU2510918C2 (ru) 2014-04-10
ZA201100381B (en) 2012-03-28
CN102160378A (zh) 2011-08-17
US8462702B2 (en) 2013-06-11
WO2010007037A1 (en) 2010-01-21
ES2430241T3 (es) 2013-11-19
CN102160378B (zh) 2013-06-26
EP2355095A2 (en) 2011-08-10
US20110103445A1 (en) 2011-05-05
TWI449032B (zh) 2014-08-11
CA2730468A1 (en) 2010-01-21
EP2301025A1 (en) 2011-03-30
EP2355095A3 (en) 2012-11-14
JP2011528130A (ja) 2011-11-10
TW201005731A (en) 2010-02-01
RU2011105660A (ru) 2012-08-27
PL2301025T3 (pl) 2013-12-31
JP5314757B2 (ja) 2013-10-16
BRPI0916619A2 (pt) 2018-07-31

Similar Documents

Publication Publication Date Title
MX2011000527A (es) Metodo y aparato para sincronizar datos altamente comprimidos de capa de mejora.
US7936785B2 (en) Apparatus for generating and interpreting a data stream modified in accordance with the importance of the data
US7809018B2 (en) Apparatus for generating and interpreting a data stream with segments having specified entry points
US7669108B2 (en) Coding system and decoding system
US6857100B2 (en) Coding system and decoding system
JP3597850B2 (ja) 復号化方法及び装置
US20070081536A1 (en) Bit-stream processing/transmitting and/or receiving/ processing method, medium, and apparatus
KR100771620B1 (ko) 디지털 신호 전송 방법

Legal Events

Date Code Title Description
FG Grant or registration