ES2290706T3 - Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits. - Google Patents

Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits. Download PDF

Info

Publication number
ES2290706T3
ES2290706T3 ES04731326T ES04731326T ES2290706T3 ES 2290706 T3 ES2290706 T3 ES 2290706T3 ES 04731326 T ES04731326 T ES 04731326T ES 04731326 T ES04731326 T ES 04731326T ES 2290706 T3 ES2290706 T3 ES 2290706T3
Authority
ES
Spain
Prior art keywords
color
octet
length
code words
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04731326T
Other languages
English (en)
Inventor
Dirk Adolph
Jobst Horentrup
Axel Kochale
Ralf Ostermann
Hartmut Peters
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 SAS filed Critical Thomson Licensing SAS
Application granted granted Critical
Publication of ES2290706T3 publication Critical patent/ES2290706T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

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/93Run-length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N11/00Colour television systems
    • H04N11/04Colour television systems using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4884Data services, e.g. news ticker for displaying subtitles

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Color Television Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)

Abstract

Método para codificar la longitud de gama de repeticiones de un tren de datos, comprendiendo el tren de datos para presentación de video en una pantalla de presentación datos de menú o de subtítulo con formato de mapa de bits, donde los datos de menú o de subtítulo incluyen gráficos (G) o texto (TEXT) o ambos, y donde las palabras de código comprenden una indicación de su longitud de palabra de código, comprendiendo las etapas de: - definir un color preferido (color 0); - codificar píxeles del color preferido utilizando las primeras palabras de código con dos o tres octetos, donde dichas primeras palabras de código comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las primeras palabras de código que tienen tres octetos puede exceder la anchura de la pantalla de presentación (BTV); - codificar píxeles de otro color distinto al preferido utilizando segundas palabras de código con uno, tres o cuatro octetos, donde dichas segundas palabras de código comprenden un valor de color (C...C), y donde las segundas palabras de código que tienen tres o cuatro octetos comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las segundas palabras de código que tienen cuatro octetos puede exceder la anchura de la pantalla de presentación (BTV).

Description

Método para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits.
Campo de la invención
Esta invención se refiere a un método para codificar un tren de datos, particularmente un tren de datos de subtitulación codificado en mapa o correspondencia de bits.
Antecedentes
Los medios de sólo-lectura o la emisión que contienen datos de video también pueden comprender trenes de datos de sub-imágenes, que contienen información gráfica o textual necesaria para proporcionar subtítulos, glifos (glyphs) o animación para cualquier propósito en particular, por ejemplo, botones de menú. Puesto que la presentación de tal información normalmente puede ser habilitada o deshabilitada, se superpone en la imagen de video asociada como capa adicional, y se ejecuta como una o más áreas rectangulares llamadas regiones. Dicha región tiene especificado un conjunto de atributos como, por ejemplo, tamaño del área, posición del área o color de fondo. Debido a que la región está superpuesta en la imagen de video, a menudo se define que su fondo sea transparente, de modo que pueda verse la imagen de video, o puedan superponerse múltiples capas de sub-imágenes. Además, una región de subtítulos puede ser más amplia que la imagen asociada, de modo que sólo sea visible una porción de la región de subtítulo, y la porción visible de la región cambia, por ejemplo, de derecha a izquierda a través de todo el área de subtítulos, lo cual aparece como si los subtítulos cambiasen a través de la pantalla de presentación. Este método de subtitulación basada en píxeles se describe en la solicitud de Patente Europea EP02025474.4 que recibe el nombre de recorte.
Los subtítulos fueron pensados en su origen como un apoyo para personas discapacitadas, o para ahorrar costes de traducción de una película en lenguas utilizadas raramente y, por lo tanto, para textos puros de subtítulo sería suficiente si el tren de datos de subtítulos contenía, por ejemplo, caracteres de código ASCII. Pero los subtítulos de hoy también contienen otros elementos, hasta imágenes de alta resolución, glifos u objetos gráficos animados. El manejo de tales elementos es más fácil cuando el tren de subtítulos se codifica en formato de mapa de bits, con las líneas de un área y los píxeles dentro de una línea siendo codificados y decodificados sucesivamente. Este formato contiene mucha redundancia, por ejemplo, cuando píxeles sucesivos tienen el mismo valor de color. Esta redundancia puede reducirse mediante varios métodos de codificación, por ejemplo, la codificación de longitud de gama de repeticiones (RLE). La RLE se utiliza a menudo cuando secuencias de datos tienen el mismo valor, y su idea básica es codificar la longitud de secuencia y el valor independientemente, y codificar la mayoría de palabras de código frecuentes tan cortas como sea posible.
Particularmente cuando se codifica la capa de subtítulos para video de alta definición de 1920 x 1280 píxeles (HDTV), se necesita un algoritmo de codificación que se optimiza con este propósito para reducir la cantidad de datos requerida.
Resumen de la invención
El propósito de la invención es describir un método para la codificación optimizada de capas de sub-imágenes o subtítulos para video de alta resolución, como HDTV, siendo representadas como áreas formateadas en mapas de bits que pueden ser mucho más amplias que la trama de video visible.
La invención se expone en las reivindicaciones adjuntas.
De acuerdo con la invención, para este propósito se utiliza la codificación de longitud de gama de repeticiones de cuatro etapas, utilizándose las palabras de código más cortas para píxeles independientes que tienen valores de color individuales diferentes al transparente, utilizándose las segundas palabras de código más cortas para secuencias más cortas de píxeles transparentes, utilizándose las terceras palabras de código más cortas para secuencias más largas de píxeles transparentes y para secuencias más cortas de píxeles del mismo color diferente al transparente, y utilizándose las cuartas palabras de código más cortas para secuencias más largas de píxeles del mismo color diferente al transparente. Normalmente, la mayoría de los píxeles de la capa de subtítulo son transparentes. A diferencia del RLE convencional, donde los datos más frecuentes utilizan las palabras de código más cortas, este método comprende la utilización de las segundas palabras de código más cortas para las secuencias cortas del color más frecuente, y las terceras palabras de código más cortas para secuencias más largas del color más frecuente y también para secuencias cortas de otros colores. Las palabras de código más cortas se reservan para píxeles individuales de otros colores diferentes al más frecuente. Esto resulta ventajoso cuando los píxeles del color más frecuente casi siempre aparecen en secuencias, como es el caso de los píxeles transparentes en la capa de subtítulos, mientras que los píxeles independientes de color individual es más probable que no sean transparentes.
De forma ventajosa, un código de acuerdo con el método inventivo sólo incorpora pocas palabras de código redundantes, las cuales se define que se encuentren entre las palabras de código más largas. Por ejemplo, un píxel individual de cualquier color diferente al transparente se codificará de forma ideal con una palabra de código del tipo más corto, pero igualmente puede utilizarse una palabra de código del tercer tipo más corto, con la longitud de secuencia siendo uno. Si bien esta última posibilidad normalmente no se utilizará con este propósito, estas palabras de código no usadas, o los huecos en el espacio de las palabras de código, pueden utilizarse para el transporte de otra información. Un ejemplo es la información de fin de línea que puede utilizarse para la re-sincronización. De acuerdo con la invención, la palabra de código redundante más corta se utiliza para codificar esta información.
Como otra ventaja, el método descrito reduce la cantidad de datos requeridos, comprimiendo de ese modo el tren de datos de subtítulos, con el factor de compresión dependiendo de los contenidos del tren de datos. Se consiguen factores de comprensión particularmente alta para combinaciones de datos que aparecen muy a menudo en trenes de sub-titulación típicos. Estos son secuencias de longitud más corta que, por ejemplo, 64 píxeles que tienen el mismo valor de color, pero también secuencias de píxeles transparentes que tienen cualquier longitud y píxeles independientes que tienen valores de color individuales. El primero de estos grupos se utiliza a menudo en caracteres o glifos, el segundo de estos grupos se usa antes, entre y después de los elementos mostrados del tren de subtitulación, y el tercero de estos grupos se utiliza en imágenes, o en áreas con color ligeramente cambiante. Puesto que los píxeles transparentes apenas aparecen en secuencias muy cortas, por ejemplo, menos de tres píxeles, es suficiente con codificarlos no con las más cortas sino sólo con las segundas palabras de código más cortas.
Simultáneamente, el método inventivo puede manejar eficientemente secuencias que son mayores de 1920 píxeles y que, por ejemplo, pueden ser de hasta 16383 píxeles de longitud, habilitando de ese modo áreas de subtitulación muy amplias.
Además, el método de codificación genera un único valor que representa el final de una línea y, por lo tanto, en el caso de pérdida de sincronización es posible sincronizar nuevamente cada línea.
De forma ventajosa, el método inventivo está optimizado para codificar esta combinación varias características que son típicas de los trenes de subtitulación.
Por lo tanto, puede reducirse la cantidad de datos requeridos para el tren de subtitulación, lo que lleva a una mejor utilización del ancho de banda de transmisión en el caso de emisión, o a una frecuencia de salto de captación reducida en el caso de un medio de almacenaje en el que una sola captación lee múltiples trenes de datos como, por ejemplo, en la tecnología de disco Blu-ray (BD). Además, cuanto mejor se comprima el mapa de bits de subtitulación, mayor es la capacidad en términos de velocidad de bit que se dejará para trenes de audio y video, aumentando la calidad del audio o de la imagen.
En las reivindicaciones dependientes, en la siguiente descripción y en las figuras se describen realizaciones ventajosas de la invención.
Breve descripción de los dibujos
Se describen realizaciones ejemplares de la invención con referencia a los dibujos acompañantes, los cuales muestran en:
La figura 1 el recorte de un área de subtitulación en una trama de video;
La figura 2 una secuencia de píxeles en un área de subtitulación;
La figura 3 una tabla de codificación para subtitulación, incluyendo texto y gráficos; y
La figura 4 una tabla con una sintaxis ejemplar de un segmento de datos de objeto extendido para el estándar Pregrabado Blu-ray.
Descripción detallada de la invención
Mientras que la sub-titulación en el material audiovisual (AV) preproducido para emisión o para discos de películas se encuentra optimizada principalmente para representar información textual estática sencilla, por ejemplo, Captación Cerrada, Teletexto o Subtítulos-DVB, el progreso en el desarrollo multimedia para la presentación y animación de información gráfica y textual adecuada a los nuevos formatos HDTV requiere una adaptación avanzada para la codificación de mapas de bits. La figura 1 muestra una trama de video TV y un área de subtítulos SUB conteniendo texto y elementos gráficos G, estando codificada el área de subtítulos SUB en mapas de bits. El tamaño del área de subtítulos SUB puede exceder las dimensiones de la trama de video como, por ejemplo, para que a los mapas de bits de subtítulos de formato Pregrabado de Disco Blu-ray (BDP) se les permita que una dimensión sea mayor que la trama de video. Entonces las líneas se recortan antes de ser mostradas, es decir, una porción coincidente con la dimensión de la trama respectiva es cortada de la línea virtual y mostrada, superponiéndose a la imagen de video. En la figura 1, el área de subtítulos SUB de ancho B_{SUB} se recorta, de modo que sólo es visible una porción de ancho B_{TV}. Para el estándar HDTV como se utiliza para BDP, por ejemplo, B_{TV} es 1920 píxeles, mientras que B_{SUB} puede ser mucho mayor.
Debido a la forma rectangular del área de subtítulos SUB, la mayoría de los píxeles en ese área son transparentes. Esto se muestra en una escala agrandada en la figura 2, en una forma simplificada ya que normalmente una línea SL1, SL2 en una TV con pantalla de presentación HDTV debe ser varios píxeles de ancho con el fin de ser claramente visible. Aquí una línea es entendida como una estructura horizontal. Cada línea de datos de subtítulos contiene normalmente una o más secuencias de píxeles de igual color. La figura 2 muestra una parte de una línea de subtítulos SL1 que contiene secuencias transparentes PS1, PS5, pero también píxeles visibles individuales PS4, líneas visibles más cortas PS2 y líneas visibles más largas PS3. La mayoría de los píxeles dentro de una línea son transparentes. Éste es el caso entre caracteres, pero también al principio y al final de la línea de subtitulación. En cualquier caso, puesto que las líneas comienzan y terminan con secciones transparentes, cada línea contiene una sección más transparente que coloreada. Pero las secciones transparentes PS1, PS5 son normalmente más largas, mientras que para secuencias de píxeles distintas a las transparentes utilizadas, por ejemplo, para caracteres, el caso más frecuente es una longitud de secuencia de 64 o menor. Esto puede ser reconocido a partir de una estimación grosera, asumiendo que, al menos, 25 caracteres se muestran simultáneamente y que el espacio entre caracteres tiene alrededor de un cuarto de la anchura de un carácter, de modo que un solo carácter puede utilizar no más de 1920/25*(8/10)=62 píxeles dentro de una línea. A menudo, una línea SL2 sólo contiene muy pocos píxeles visibles y, por lo tanto, sólo pocas secuencias transparentes que son muy largas.
En la figura 3 se lista un código que es una realización preferida de la invención. Es un código de longitud de gama de repeticiones, comprendiendo palabras de código de longitudes que tienen un rango de 1 octeto a 4 octetos, con 8 bits por octeto. Es capaz de codificar 256 colores diferentes, con un color preferido. El color preferido en este ejemplo es "transparente", pero puede ser de cualquier otro color si resulta adecuado. Una tabla de consulta de colores (CLUT) puede transformar los valores de color decodificados en el color actual mostrado. Además, la secuencia de píxeles del mismo color puede ser codificada en dos rangos, con el rango más corto siendo de hasta 63 píxeles y el rango más largo siendo de hasta 16383 píxeles.
Las palabras de código más cortas de 1 octeto de longitud se utilizan para codificar un solo píxel que tiene cualquier color individual diferente del color preferido, que aquí es el transparente. El valor de color CCCCCCCC puede tener un rango desde 1 hasta 255, y puede representar un color directamente o indirectamente. Por ejemplo, puede representar una entrada en una tabla de consulta de color (CLUT) que contiene el código actual de color. Uno de los valores de 8 bits, que contiene sólo ceros (00000000), sirve como una secuencia de escape, indicando que los siguientes bits tienen que ser considerados como parte de la misma palabra de código. En ese caso, el árbol de la palabra de código tiene cuatro posibles ramas, marcadas por los dos siguientes bits.
En la primera rama, indicada por los siguientes bits que son 00, las palabras de código válidas tienen dos octetos, y se codifica una secuencia más corta de hasta 63 píxeles con el color preferido, por ejemplo, transparente. La única palabra de código inválida en esta rama es la única que comprende sólo ceros, puesto que el cero representa una longitud de secuencia no válida. Esta palabra de código "00000000 00000000" puede utilizarse para otros propósitos. De acuerdo con la invención, se utiliza para indicar el final de una línea puesto que es la palabra de código redundante más corta.
En la segunda rama, indicada por los siguientes bits que son 01_{b}, la palabra de código comprende otro octeto, y los catorce bits L se utilizan para codificar la longitud de una secuencia de píxeles del color preferido, por ejemplo, transparente. De ese modo, la longitud de secuencia puede ser de hasta 2^{14}-1 = 16383. Las palabras de código en las que bits L tienen un valor por debajo de 64 son redundantes, y pueden utilizarse para otros propósitos.
En la tercera rama, indicada por los siguientes bits que son 10_{b}, las palabras de código comprenden un octeto adicional, y los seis bits L del segundo octeto representa la longitud de una secuencia más corta de hasta 63 píxeles, los cuales tiene otro color distinto al preferido. El color actual se representa directa o indirectamente mediante el valor CCCCCCCC del tercer octeto. Las palabras de código con una longitud de secuencia LLLLLL por debajo de tres son redundantes, puesto que una secuencia de uno o dos píxeles de este color puede ser más económico de codificar utilizando un octeto por píxel, como se describió anteriormente, y una longitud de secuencia de cero es inválida. Estas palabras de código pueden utilizarse para otros propósitos.
En la cuarta rama, indicada por los siguientes bits que son 11_{b}, las palabras de código comprenden dos octetos adicionales, en los que los restantes seis bits del segundo octeto y el tercer octeto dan la longitud de una secuencia más larga de 64 hasta 16383 píxeles, y el valor de color CCCCCCCC del cuarto octeto da el color, directa o indirectamente y no siendo el color preferido. Las palabras de código con una longitud de secuencia menor de 64 son redundantes, puesto que estas secuencias pueden ser codificadas más económicamente utilizando la tercera rama. Estas palabras de código pueden utilizarse para otros propósitos.
Las palabras de código redundantes mencionadas anteriormente pueden utilizarse para extender el código, por ejemplo, añadiendo sumas de verificación interna u otra información.
La tabla de codificación de longitud de gama de repeticiones extendida mostrada en la figura 3 y descrita anteriormente proporciona principalmente dos ventajas. Primera, permite la codificación más compacta de trenes de subtítulos típicos, incluyendo áreas transparentes, objetos gráficos pequeños y texto de subtítulo normal. Píxeles individuales de cualquier color, como los utilizados para gráficos coloreados pequeños, se codifican con un solo octeto. El color dominante, por ejemplo, transparente para la subtitulación BDP, siempre se codifica junto con una longitud de gama de repeticiones. Los códigos de longitud de gama de repeticiones se encuentran disponibles en dos tamaños diferentes, o en dos cantidades de píxeles. En una primera etapa, se encuentran disponibles longitudes de gama de repeticiones de hasta 63 píxeles como palabras de código de 2 octetos para el color dominante, y como palabras de código de 3 octetos para los otros colores. En una segunda etapa, se encuentran disponibles longitudes de gama de repeticiones de hasta 16383 píxeles como palabras de código de 3 octetos para el color dominante, y como palabras de código de 4 octetos para los otros colores. El código de fin de cadena de píxeles, o código de fin de línea, es una sola palabra de código de 2 octetos que puede utilizarse para la re-sincronización. En segundo lugar, la disponibilidad de secuencias más largas para el área de subtitulación, de hasta 16383 píxeles por palabra de código, significa una reducción de la redundancia y, por lo tanto, de la cantidad de datos. Esto significa que para aplicaciones con trenes de datos independientes que comparten un canal, por ejemplo, múltiples trenes de datos en un medio de almacenaje óptimo que comparte la misma captación, las porciones más grandes del tren de subtitulación pueden ser cargadas con la misma cantidad de datos, reduciendo de ese modo la frecuencia de acceso para el tren de subtítulos.
Otro aspecto de la invención es una optimización adicional del tren de datos para el transporte utilizando paquetes de transporte, por ejemplo, en un tren elemental en paquetes (PES). Debido al gran tamaño del archivo de los mapas de bits, el empaquetado de tales datos, por ejemplo, en segmentos de datos de objetos (ODS), es un problema. A menudo el tamaño máximo de un ODS se encuentra limitado por otros factores, por ejemplo, el tamaño del paquete del PES. Para adaptar los mapas de bits grandes en tales paquetes, sería necesario cortar los mapas de bits en piezas de mapas de bits más pequeñas antes de la codificación, lo cual reduce la eficiencia de la compresión. Para superar esta división de los mapas de bits, se describe un nuevo segmento de datos de objeto extendido (ExODS) para BDP o aplicaciones comparables, como se muestra en la figura 4. El ExODS es una estructura de datos que representa cada uno de los fragmentos en los se corta un ODS para encajarlo en una secuencia de segmentos de tamaño limitado y paquetes PES. El ODS completo puede reconstruirse concatenando la secuencia de las piezas individuales de ExODSs consecutivos.
El principio y el final de una secuencia de ExODS se indica mediante banderas independientes, primero_en_se-
cuencia y último_en_secuencia. Cuando la bandera primero_en_secuencia es 1, se inicia una nueva secuencia. Un ExODS que tiene la bandera primero_en_secuencia fijada en 1 también indica el tamaño del mapa de bits descomprimido, conteniendo su dimensión anchura_objeto y altura_objeto. La ventaja de indicar la dimensión del mapa de bits es el soporte de la localización de la memoria objetivo antes de que comience la descompresión. Otra ventaja es que las dimensiones del mapa de bits indicadas también pueden utilizarse durante la decodificación para la verificación cruzada de las dimensiones del mapa de bits. Cuando la bandera último_en_secuencia se establece en 1, se indica el último ExODS de un ODS completo. Puede haber ExODS que no tengan establecido ni la bandera de primero_en_secuencia ni la de último_en_secuencia. Estas son piezas de ExODS en mitad de una secuencia. También es posible el caso en el que tengan establecidas ambas, la bandera de primero_en_secuencia y la bandera de último_en_secuencia, si el ODS puede ser transportado en un solo ExODS. Para superar la limitación del tamaño disponible para un solo ODS mediante el tamaño de paquete PES dentro de la subtitulación, el tipo descrito de ExODS puede introducirse como un contenedor para las piezas de un ODS, por ejemplo, empaquetando ODS grandes para aplicación HDTV. Junto a las piezas de ODS, el ExODS también transporta banderas indicando si transporta la primera pieza, la última pieza o una pieza intermedia o una sola pieza pero completa de una secuencia ExODS. Además, si se transmite la primera pieza de la secuencia del ExODS, las dimensiones del ODS resultante, es decir, la altura y la anchura del mapa de bits codificado, se encuentran contenidas en el segmento. Las dimensiones indicadas del mapa de bits también pueden utilizarse para una verificación cruzada de la decodificación.
El método inventivo puede utilizarse para la compresión de trenes de datos de mapas de bits que contienen, por ejemplo, texto, imágenes o datos gráficos para la animación, menús, navegación, logotipos, anuncios, mensajería u otros, en aplicaciones tales como, por ejemplo, discos Pregrabados Blu-ray (BDP) o, en general, emisión o grabaciones de video de alta definición (HDTV).
\vskip1.000000\baselineskip
Referencias citadas en la descripción
La lista de referencias citada por el solicitante lo es solamente para utilidad del lector, no formando parte de los documentos de patente europeos. Aún cuando las referencias han sido cuidadosamente recopiladas, no pueden excluirse errores u omisiones y la OEP rechaza toda responsabilidad a este respecto.
Documentos de patente citado en la descripción
\bullet EP 02025474 A [0002].

Claims (13)

1. Método para codificar la longitud de gama de repeticiones de un tren de datos, comprendiendo el tren de datos para presentación de video en una pantalla de presentación datos de menú o de subtítulo con formato de mapa de bits, donde los datos de menú o de subtítulo incluyen gráficos (G) o texto (TEXT) o ambos, y donde las palabras de código comprenden una indicación de su longitud de palabra de código, comprendiendo las etapas de:
- definir un color preferido (color 0);
- codificar píxeles del color preferido utilizando las primeras palabras de código con dos o tres octetos, donde dichas primeras palabras de código comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las primeras palabras de código que tienen tres octetos puede exceder la anchura de la pantalla de presentación (B_{TV});
- codificar píxeles de otro color distinto al preferido utilizando segundas palabras de código con uno, tres o cuatro octetos, donde dichas segundas palabras de código comprenden un valor de color (C...C), y donde las segundas palabras de código que tienen tres o cuatro octetos comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las segundas palabras de código que tienen cuatro octetos puede exceder la anchura de la pantalla de presentación (B_{TV}).
2. Método de acuerdo con la reivindicación 1, en el que las palabras de código con tres octetos contienen dentro de la indicación de su longitud de palabra de código un indicación que indica si las mismas pertenecen a dichas primeras o a dichas segundas palabras de código.
3. Método de acuerdo con la reivindicación 1 o 2, en el que dichos valores de color y el color preferido tienen correspondencia con una tabla de consulta para presentar los colores.
4. Método de acuerdo con la reivindicación 1, 2 o 3, en el que para la sincronización de línea se utiliza la palabra de código redundante más corta.
5. Método para decodificar la longitud de gama de repeticiones de un tren de datos codificado para una presentación de video en una pantalla de presentación, comprendiendo las etapas de:
- determinar el primer octeto de una palabra de código;
- si dicho primer octeto no tiene un primer valor definido (00000000), decodificar dicho primer octeto en un solo píxel que tenga un color individual definido por el valor (C...C) de dicho primer octeto, siendo el color distinto a un primer color definido (color 0);
- si dicho primer octeto tiene el primer valor definido (00000000), determinar el primero y el segundo bit del siguiente octeto que es el segundo octeto;
- si el primero y el segundo bit del segundo octeto tienen un primer valor (00), decodificar los restantes bits del segundo octeto en una secuencia de píxeles del primer color definido, donde dichos bits restantes del segundo octeto definen la longitud de la secuencia;
- si el primero y el segundo bit del segundo octeto tienen un segundo valor (01), decodificar los bits restantes del segundo octeto junto con el siguiente tercer octeto en una secuencia de píxeles del primer color definido, donde dichos bits restantes del segundo octeto y el citado tercer octeto definen la longitud de la secuencia, y donde dicha longitud de secuencia puede exceder la anchura de la pantalla de presentación (B_{TV});
- si el primero y el segundo bit del segundo octeto tienen un tercer valor (10), decodificar los restantes bits del segundo octeto junto con el tercer octeto en una secuencia de píxeles, donde dichos bits restantes del segundo octeto definen la longitud de la secuencia, y el tercer octeto define el color de los píxeles; y
- si el primero y el segundo bit del segundo octeto tienen un cuarto valor (11), decodificar los restantes bits del segundo octeto junto con el tercero y un siguiente cuarto octeto, donde dichos bits restantes del segundo octeto, definiendo el tercer octeto la longitud de la secuencia y el cuarto octeto define el color de los píxeles, y donde dicha longitud de secuencia puede exceder la anchura de la pantalla de presentación (B_{TV}).
6. Método de acuerdo con la reivindicación precedente, en el que dicha definición de un color de píxel a partir del primero, tercero o cuarto octeto y a partir de dicho primer valor del citado primer octeto comprende la utilización de una tabla de consulta.
7. Método de acuerdo con la reivindicación 5 o 6, en el que el tren de datos codificados para una presentación de video es una capa separada que se superpone en la pantalla de presentación a otros datos de video, comprendiendo además la etapa de seleccionar una porción de dicha capa separada para presentarla.
8. Aparato para codificar la longitud de gama de repeticiones de un tren de datos que comprende datos de menú o de subtítulo con formato de mapa de bits para una presentación visual en una pantalla de presentación, donde los datos de menú o de subtítulo incluyen gráficos (G) o texto (TEXT) o ambos, y donde las palabras de código comprenden una indicación de su longitud de palabra de código, comprendiendo:
- medios para definir un primer color (color 0);
- medios para codificar píxeles del primer color utilizando primeras palabras de código con dos o tres octetos, donde dichas primeras palabras de código comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las primeras palabras de código que tienen tres octetos puede exceder la anchura de la pantalla de presentación (B_{TV});
- medios para codificar píxeles de otro color distinto al primer color utilizando segundas palabras de código con uno, tres o cuatro octetos, donde dichas segundas palabras de código comprenden un valor de color (C...C), y donde las segundas palabras de código que tienen tres o cuatro octetos comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las segundas palabras de código que tienen cuatro octetos pueden exceder la anchura de la pantalla de presentación (B_{TV}).
9. Aparato para decodificar la longitud de gama de repeticiones de un tren de datos codificado que contiene datos de menú o de subtítulo formateados como mapa de bits comprimido para aplicación de video, comprendiendo:
- medios para determinar la longitud de palabra de código, donde se evalúa el primer octeto de una palabra de código, y donde si dicho primer octeto tiene un valor distinto a un primer valor definido (00000000), entonces dicha longitud de palabra de código se determina que sea un octeto y, por otra parte se evalúan el primero y el segundo bit del siguiente segundo octeto y, dependiendo de dicho primero y segundo bit se determina que la longitud de la palabra de código sea respectivamente, dos, tres o cuatro octetos;
- medios para decodificar palabras de código que se determine que tengan una longitud de un octeto en píxeles individuales que tengan un color definido mediante dicho octeto, siendo el color distinto de un primer color definido (color 0);
- medios para decodificar palabras de código que se determine que tengan una longitud de dos octetos en secuencias de píxeles del primer color definido, donde la longitud de la secuencia se define mediante los restantes bits del segundo octeto de la palabra de código;
- medios para decodificar palabras de código que se determine que tengan una longitud de tres octetos en secuencias de píxeles del primer color definido, donde la longitud de secuencia puede exceder la anchura de la pantalla de presentación de video (B_{TV}) y se define mediante el tercer octeto y los restantes bits del segundo octeto, o en secuencias de píxeles de igual color distinto al primer color definido, donde la longitud de la secuencia se define mediante los restantes bits del segundo octeto; y
- medios para decodificar palabras de código que se determine que tengan una longitud de cuatro octetos en secuencias de píxeles de igual color distinto al primer color definido, donde la longitud de la secuencia puede exceder la anchura de la pantalla de presentación de video.
10. Aparato de acuerdo a la reivindicación previa, comprendiendo además medios para decodificar palabras de código que tienen dos octetos e incluyen una longitud de secuencia de cero como palabra de código de sincronización para el final de línea.
11. Aparato de acuerdo a cualquiera de las reivindicaciones 8 a 10, comprendiendo además medios de tabla de consulta para establecer una correspondencia entre dichos valores de color, incluyendo el citado primer color definido, y colores de presentación.
12. Aparato de acuerdo a cualquiera de las reivindicaciones 8 a 11, en el que dichos trenes de datos codificados se distribuyen en paquetes de transporte múltiples.
13. Disco óptico conteniendo un tren de datos codificados de longitud de gama de repeticiones, comprendiendo el tren de datos para presentación de video en una pantalla de presentación, datos de menú o de subtítulo con formato de mapa de bits, donde los datos de menú o de subtítulo incluyen gráficos (G) o texto (TEXT) o ambos, y donde las palabras de código comprenden una indicación de su longitud de palabra de código, comprendiendo el tren de datos codificado de longitud de gama de repeticiones:
- primeros datos definiendo un color preferido;
- primeras palabras de código con dos o tres octetos que codifican píxeles del color preferido, donde dichas primeras palabras de código comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las primeras palabras de código que tienen tres octetos puede exceder la anchura de la pantalla de presentación (B_{TV});
- segundas palabras de código con uno, tres o cuatro octetos que codifican píxeles de otro color distinto al preferido, donde las segundas palabras de código comprenden un valor de color (C...C), y donde las segundas palabras de código que tienen tres o cuatro octetos comprenden un valor de longitud de gama de repeticiones, y donde el valor de longitud de gama de repeticiones comprendido en las segundas palabras de código que tienen cuatro octetos puede exceder la anchura de la pantalla de presentación (B_{TV}).
ES04731326T 2003-07-01 2004-05-06 Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits. Expired - Lifetime ES2290706T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP03014970A EP1494456A1 (en) 2003-07-01 2003-07-01 Method for run-length encoding of a bitmap data stream
EP03014970 2003-07-01

Publications (1)

Publication Number Publication Date
ES2290706T3 true ES2290706T3 (es) 2008-02-16

Family

ID=33427093

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04731326T Expired - Lifetime ES2290706T3 (es) 2003-07-01 2004-05-06 Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits.

Country Status (17)

Country Link
US (8) US7657109B2 (es)
EP (2) EP1494456A1 (es)
JP (15) JP4535339B2 (es)
KR (2) KR101023569B1 (es)
CN (2) CN100579168C (es)
AT (1) ATE369010T1 (es)
AU (1) AU2004300704B2 (es)
BR (1) BRPI0412013B1 (es)
CA (2) CA2529189C (es)
DE (1) DE602004007928T2 (es)
ES (1) ES2290706T3 (es)
MX (1) MXPA05013996A (es)
PL (1) PL1639805T3 (es)
RU (1) RU2350035C2 (es)
TW (1) TWI329456B (es)
WO (1) WO2005006736A1 (es)
ZA (1) ZA200600030B (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1494456A1 (en) * 2003-07-01 2005-01-05 Deutsche Thomson-Brandt GmbH Method for run-length encoding of a bitmap data stream
TWI296481B (en) * 2005-07-25 2008-05-01 Alpha Imaging Technology Corp An image compressing/decompressing method and an image compressing/decompressing device using the same
US7327289B1 (en) * 2006-09-20 2008-02-05 Intel Corporation Data-modifying run length encoder to avoid data expansion
CN101179669B (zh) * 2006-11-08 2011-03-16 中兴通讯股份有限公司 一种会议电视终端字幕生成叠加方法
CN101272442B (zh) * 2007-03-21 2010-05-26 杭州波导软件有限公司 数字图像无损压缩方法和装置、解析方法及图像译码器
JP5162939B2 (ja) * 2007-03-30 2013-03-13 ソニー株式会社 情報処理装置および方法、並びにプログラム
EP1988703A1 (en) 2007-05-02 2008-11-05 TTPCOM Limited Image transformation
US7978364B2 (en) * 2007-06-18 2011-07-12 Canon Kabushiki Kaisha Image processing apparatus and control method thereof
KR101100829B1 (ko) 2010-03-09 2012-01-02 (주)네오위즈게임즈 이미지 데이터 무손실 압축 및 해제하는 시스템 및 방법.
CN101833774A (zh) * 2010-04-27 2010-09-15 无锡朗能科技有限公司 一种简单色彩图像的压缩方法
JP5851170B2 (ja) 2011-09-22 2016-02-03 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および画像処理方法
KR20130126823A (ko) 2012-04-27 2013-11-21 한국전자통신연구원 Ami 네트워크의 데이터 관리 방법 및 그 장치
CN103346800B (zh) * 2013-07-08 2016-10-05 沈阳东软医疗系统有限公司 一种数据压缩方法及装置
US9773331B2 (en) 2013-08-23 2017-09-26 Disney Enterprises, Inc. Methods and systems for efficient graphics rendering
US9633459B2 (en) 2013-08-23 2017-04-25 Disney Enterprises, Inc. Methods and systems for creating a hull that may have concavities
US9269174B2 (en) * 2013-08-23 2016-02-23 Disney Enterprises, Inc. Methods and systems for generating a polygon mesh
US10448029B2 (en) * 2014-04-17 2019-10-15 Qualcomm Incorporated Signaling bit depth values for 3D color prediction for color gamut scalability
EP3314463A1 (en) * 2015-06-29 2018-05-02 British Telecommunications public limited company Real time index generation
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
US10341689B1 (en) * 2017-05-23 2019-07-02 Moddable Tech, Inc. Weighted runlength encoding
WO2022206973A1 (en) * 2021-04-02 2022-10-06 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62298280A (ja) 1986-06-18 1987-12-25 Ricoh Co Ltd 画像符号化方法
AU642540B2 (en) 1990-09-19 1993-10-21 Philips Electronics N.V. Record carrier on which a main data file and a control file have been recorded, method of and device for recording the main data file and the control file, and device for reading the record carrier
EP0702878A4 (en) * 1993-06-07 1997-01-02 Scientific Atlanta DISPLAY SYSTEM FOR A SUBSCRIBER TERMINAL
US5684542A (en) 1993-12-21 1997-11-04 Sony Corporation Video subtitle processing system
JP2829266B2 (ja) * 1994-12-28 1998-11-25 株式会社東芝 画像情報のエンコード/デコードシステム
US5721720A (en) 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
JP2712099B2 (ja) * 1995-02-03 1998-02-10 株式会社東芝 画像情報のエンコード/デコードシステム
BR9605110A (pt) * 1995-02-03 1997-10-14 Philips Electronics Nv Processo de codificar valores de cor de pixel para um quadro de imagem de vídeo digital aparelho codificador e exbidor de imagem de vídeo sinal de imagem de video e suporte de armazenamento
JPH08265661A (ja) 1995-03-23 1996-10-11 Sony Corp 字幕データ符号化/復号化方法および装置、および符号化字幕データ記録媒体
US5684714A (en) * 1995-05-08 1997-11-04 Kabushiki Kaisha Toshiba Method and system for a user to manually alter the quality of a previously encoded video sequence
JPH0946630A (ja) * 1995-07-28 1997-02-14 Matsushita Electric Ind Co Ltd 画像情報記録装置及び画像情報再生装置及び光ディスク
JP3326670B2 (ja) 1995-08-02 2002-09-24 ソニー株式会社 データ符号化/復号化方法および装置、および符号化データ記録媒体
US5740278A (en) * 1996-02-16 1998-04-14 Cornell Research Foundation, Inc. Facsimile-based video compression method and system
JPH10215379A (ja) * 1997-01-30 1998-08-11 Fuji Xerox Co Ltd 画像符号化装置および画像復号化装置
US6038347A (en) 1997-11-03 2000-03-14 Victor Company Of Japan, Ltd. Method and apparatus for compressing picture-representing data
JP3676078B2 (ja) * 1998-05-07 2005-07-27 株式会社リコー ランレングス符号化方法及び圧縮装置
US6570626B1 (en) * 1998-06-26 2003-05-27 Lsi Logic Corporation On-screen display format reduces memory bandwidth for on-screen display systems
US7212250B1 (en) * 1999-07-15 2007-05-01 Thomson Licensing Method and apparatus for providing on-screen displays for a multi-colorimetry receiver
DE19950490A1 (de) 1999-10-20 2001-04-26 Thomson Brandt Gmbh Verfahren zur Kodierung einer Bildsequenz sowie Teilbilddateneinheit zur Verwendung in einem elektronischen Gerät und Datenträger
KR100716956B1 (ko) * 2000-10-11 2007-05-10 삼성전자주식회사 데이터 변조 방법 및 그 검출 방법
US7164431B1 (en) 2001-05-08 2007-01-16 Pixelworks, Inc. System and method for mixing graphics and text in an on-screen display application
JP4000844B2 (ja) * 2001-12-11 2007-10-31 日本電気株式会社 コンテンツ配信システム、コンテンツ配信システムの配信サーバ及び表示端末、コンテンツ配信プログラム
EP1494456A1 (en) * 2003-07-01 2005-01-05 Deutsche Thomson-Brandt GmbH Method for run-length encoding of a bitmap data stream

Also Published As

Publication number Publication date
PL1639805T3 (pl) 2007-12-31
US20110002394A1 (en) 2011-01-06
DE602004007928D1 (de) 2007-09-13
JP2015008464A (ja) 2015-01-15
CA2725141A1 (en) 2005-01-20
EP1639805B1 (en) 2007-08-01
BRPI0412013B1 (pt) 2018-04-03
TW200509703A (en) 2005-03-01
US20060140496A1 (en) 2006-06-29
KR20100116238A (ko) 2010-10-29
US7929790B2 (en) 2011-04-19
JP5614904B2 (ja) 2014-10-29
AU2004300704A1 (en) 2005-01-20
BRPI0412013A (pt) 2006-08-15
JP2011193502A (ja) 2011-09-29
JP4601716B2 (ja) 2010-12-22
MXPA05013996A (es) 2007-03-21
JP2011024219A (ja) 2011-02-03
JP2010252341A (ja) 2010-11-04
US20110064144A1 (en) 2011-03-17
US7848585B1 (en) 2010-12-07
AU2004300704B2 (en) 2009-04-02
CA2725141C (en) 2011-08-09
US7912305B1 (en) 2011-03-22
RU2350035C2 (ru) 2009-03-20
JP4688240B1 (ja) 2011-05-25
US7657109B2 (en) 2010-02-02
US20110064145A1 (en) 2011-03-17
US20100040149A1 (en) 2010-02-18
JP6072867B2 (ja) 2017-02-01
CN100579168C (zh) 2010-01-06
KR20060069796A (ko) 2006-06-22
EP1639805A1 (en) 2006-03-29
CN1813470A (zh) 2006-08-02
US7929791B2 (en) 2011-04-19
JP4535339B2 (ja) 2010-09-01
JP2010226738A (ja) 2010-10-07
JP4688241B1 (ja) 2011-05-25
CN101478682B (zh) 2011-05-25
JP2010252343A (ja) 2010-11-04
JP4627807B1 (ja) 2011-02-09
JP2013146079A (ja) 2013-07-25
US20110069764A1 (en) 2011-03-24
US7929792B2 (en) 2011-04-19
JP4888980B2 (ja) 2012-02-29
JP2011250436A (ja) 2011-12-08
JP4587339B1 (ja) 2010-11-24
WO2005006736A1 (en) 2005-01-20
JP5822318B2 (ja) 2015-11-24
EP1494456A1 (en) 2005-01-05
JP2011139445A (ja) 2011-07-14
TWI329456B (en) 2010-08-21
ZA200600030B (en) 2007-03-28
JP2011139447A (ja) 2011-07-14
JP2011066898A (ja) 2011-03-31
JP2011193501A (ja) 2011-09-29
JP2016026432A (ja) 2016-02-12
CN101478682A (zh) 2009-07-08
CA2529189C (en) 2011-03-15
JP2007507126A (ja) 2007-03-22
ATE369010T1 (de) 2007-08-15
KR101004246B1 (ko) 2010-12-24
US20100329353A1 (en) 2010-12-30
US20110064130A1 (en) 2011-03-17
JP5246816B2 (ja) 2013-07-24
CA2529189A1 (en) 2005-01-20
JP4807811B2 (ja) 2011-11-02
JP2011139446A (ja) 2011-07-14
DE602004007928T2 (de) 2007-11-22
KR101023569B1 (ko) 2011-03-21
JP4688242B1 (ja) 2011-05-25
JP4807810B2 (ja) 2011-11-02
RU2006102848A (ru) 2007-08-10
JP4540016B1 (ja) 2010-09-08

Similar Documents

Publication Publication Date Title
ES2290706T3 (es) Metodo para codificar la longitud de gama de repeticiones de un tren de datos de mapa de bits.