ES2362787T3 - Aparato y procedimiento de codificación de imágenes en movimiento. - Google Patents
Aparato y procedimiento de codificación de imágenes en movimiento. Download PDFInfo
- Publication number
- ES2362787T3 ES2362787T3 ES05776931T ES05776931T ES2362787T3 ES 2362787 T3 ES2362787 T3 ES 2362787T3 ES 05776931 T ES05776931 T ES 05776931T ES 05776931 T ES05776931 T ES 05776931T ES 2362787 T3 ES2362787 T3 ES 2362787T3
- Authority
- ES
- Spain
- Prior art keywords
- unit
- variable length
- length coding
- information
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
- H04N5/92—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/30—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
- G11B27/3027—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is digitally coded
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/19—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
- G11B27/28—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
- G11B27/32—Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
- G11B27/327—Table of contents
- G11B27/329—Table of contents on a disc [VTOC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/179—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scene or a shot
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B2220/00—Record carriers by type
- G11B2220/20—Disc-shaped record carriers
- G11B2220/25—Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
- G11B2220/2537—Optical discs
- G11B2220/2541—Blu-ray discs; Blue laser DVR discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/84—Television signal recording using optical recording
- H04N5/85—Television signal recording using optical recording on discs or drums
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/806—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
- H04N9/8063—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
- H04N9/8227—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Color Television Systems (AREA)
Abstract
Un procedimiento de codificación de imágenes en movimiento para codificar una imagen en movimiento mientras se cambia entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto que se usan en unidades continuas de la imagen en movimiento, comprendiendo dicho procedimiento: determinar (S5201) un segmento accesible aleatoriamente como unidad más pequeña en la que se pueden cambiar los esquemas de codificación de longitud variable; determinar cada unidad continua, incluyendo la unidad continua una pluralidad de dichos segmentos que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados y, en función de dicha determinación de cada unidad continua: generar (S5202) un flujo de imágenes en movimiento codificando la imagen en movimiento sin cambiar entre esquemas de codificación de longitud variable en todos los segmentos incluidos en la unidad continua y generar (S5205) información de gestión que incluye primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en la unidad continua.
Description
Campo técnico
La presente invención se refiere a un procedimiento de codificación de imágenes en movimiento, a un aparato de codificación de imágenes y a datos para codificar una imagen en movimiento mientras se cambia entre esquemas de codificación de longitud variable.
Técnica anterior.
A continuación se describe un Videodisco DVD (en lo sucesivo, denominado simplemente “DVD”) de una tecnología convencional.
La FIG. 1 es un diagrama que muestra la estructura de un DVD. Como se muestra en la parte inferior de la FIG. 1, el disco DVD incluye un espacio de direcciones lógicas entre el área de entrada y el área de salida. En el espacio de direcciones lógicas, en la parte superior se almacena información de volumen del sistema de ficheros y en las áreas subsiguientes se almacenan datos de aplicación, tales como video y audio.
El sistema de ficheros, que es un sistema de ficheros que se ajusta a ISO9660 y a Formato de Disco Universal (UDF), es un mecanismo para representar datos en un disco por medio de unidades denominadas directorios y ficheros. Incluso en un ordenador personal (PC) de uso diario, datos almacenados en el disco duro en forma de directorios y ficheros se representan en el ordenador a través de un sistema de ficheros denominado FAT o NTFS, como consecuencia del cual se mejora el grado de utilización.
Tanto UDF como ISO9660 (que a veces se denominan conjuntamente “Puente UDF”) se usan en DVDs y el controlador del sistema de ficheros puede leer los datos de UDF o ISO9660. En el caso de DVD-RAM/R/RW, que son discos DVD regrabables, la lectura, la grabación y el borrado de datos son físicamente posibles a través de dichos sistemas de ficheros.
Los datos almacenados en un DVD se pueden ver, a través del puente UDF, como directorios o ficheros, como se muestra en la parte izquierda superior de la FIG. 1. Justo debajo del directorio raíz (“ROOT” en la FIG. 1), está colocado un directorio denominado “VIDEO_TS”, donde se almacenan datos de aplicación del DVD. Los datos de aplicación se almacenan como ficheros múltiples. Los siguientes son algunos de los ficheros principales:
VIDEO_TS.IFO fichero de información de control de reproducción de disco VTS_01_0.IFO fichero de información de control de reproducción del conjunto #1 de títulos de video VTS_01_0.VOB fichero de flujo del conjunto #1 de títulos de video
Hay dos tipos de extensiones especificadas. “IFO” indica que el fichero correspondiente almacena información de control de reproducción. “VOB” indica que el fichero correspondiente almacena un flujo de MPEG que son datos de AV. La información de control de reproducción es información que incluye información para producir interactividad (técnica para cambiar dinámicamente el estado de reproducción según una operación de usuario) utilizada para el DVD, así como información, tal como metadatos, que está unida a un título o a un flujo de AV. La información de control de reproducción del DVD se denomina información de navegación en general.
Los ficheros de información de control de reproducción incluyen “VIDEO_TS.IFO” destinado a la gestión de todo el disco y “VTS_01_0.IFO” que es la información de control de reproducción de un conjunto de títulos de video individual (un único disco DVD puede almacenar varios títulos, es decir, diferentes películas y películas con diferentes versiones). “01”, en el cuerpo del nombre del fichero, indica el número del conjunto de títulos de video. Cuando el número de un conjunto de títulos de video es #2, por ejemplo, el nombre del fichero es “VTS_02_0.IFO”.
La parte derecha superior de la FIG. 1 muestra un espacio de navegación de DVD en la capa de aplicación del DVD, es decir, un espacio de estructuras lógicas en el que se muestra la información de control de reproducción que se ha descrito anteriormente. La información de “VIDEO_TS.IFO” se muestra en el espacio de navegación de DVD como Información de Gestor de Video (VMGI). La información de control de reproducción que existe para cada “VTS_01_0.IFO” o para cada conjunto de títulos de video, se muestra en el espacio de navegación de DVD como Información de Conjunto de Títulos de Video (VTSI).
VTSI describe Información de Cadena de Programas (PGCI) que es información sobre una secuencia de reproducción denominada una Cadena de Programas (PGC). La PGCI está formada por un grupo de células y un tipo de información de programación denominada una orden. Cada célula representa una parte o todos los segmentos de un VOB (que es una abreviatura de Objeto de Video y que incluye un flujo de MPEG). La reproducción de una célula significa reproducir segmentos del VOB especificados por medio de dicha célula.
Una orden, que se procesa por medio de una máquina virtual capaz-DVD, es similar a Java Script (marca registrada) ejecutado en un navegador. No obstante, una orden de DVD se diferencia de un Java Script (marca registrada) en que, mientras que Java Script (marca registrada) lleva a cabo controles de ventana y navegador (por ejemplo, abre una nueva ventana de navegador), además de operaciones lógicas, una orden de DVD sólo lleva a cabo el control de reproducción de títulos de AV, tal como la especificación de un capítulo que se va a reproducir, además de operaciones lógicas.
Cada célula incluye, como su información interna, la dirección de inicio y la dirección de fin (dirección de almacenamiento lógico en el disco) de un VOB almacenado en el disco. Un reproductor lee los datos usando dicha información descrita en la célula sobre la dirección de inicio y la dirección de fin del VOB y reproduce los datos leídos.
La FIG. 2 es un diagrama esquemático para describir la información de navegación insertada en el flujo de AV. La interactividad, que es característica de un DVD, no se produce sólo por medio de la información de navegación almacenada en el “VIDEO_TS. IFO” y el “VTS_01_0. IFO” que se han descrito anteriormente; varias partes de información importante se multiplexan en el VOB junto con datos de video y datos de audio, usando portadores dedicados denominados paquetes de navegación (en lo sucesivo, denominados paquete(s) de navegación o NV_PCK).
A continuación, se ofrece una descripción de un menú como un simple ejemplo de interactividad. Varios botones aparecen en la pantalla de menú. Para cada uno de dichos botones se define un proceso que se llevará a cabo cuando se seleccione y active dicho botón. En el menú está seleccionado un botón (el hecho de que el botón esté seleccionado se indica al usuario por medio de un color semitransparente superpuesto en dicho botón de un modo realzado). El usuario se puede desplazar a cualquiera de los botones situados encima, debajo, a la derecha o a la izquierda del botón actualmente seleccionado, usando la tecla Arriba/Abajo/Derecha/Izquierda del control remoto. Usando la tecla Arriba/Abajo/Derecha/Izquierda del control remoto, el usuario mueve el realce a un botón que el usuario desea seleccionar y activar y, a continuación, determina (pulsa la tecla Determinación). Por consiguiente, se activa un programa de la orden correspondiente. En general, la reproducción del capítulo o título correspondiente se activa por medio de la orden.
La parte izquierda superior de la FIG. 2 muestra una perspectiva general de la información de control almacenada en NV_PCK.
NV_PCK incluye información de color de realce e información de botón de cada botón. La información de color de realce describe información de gama de colores, que especifica un color semitransparente de un realce que se va a superponer. Cada información de botón describe: información de área rectangular, que es información sobre la posición de cada botón; información de desplazamiento, que indica un movimiento de un botón a otro botón (especificación de un botón de destino correspondiente a una selección de usuario de la tecla Arriba/Abajo/Derecha/Izquierda) e información de orden de botón (una orden que se ejecutará cuando se seleccione dicho botón).
Como se muestra en la parte central derecha superior de la FIG. 2, un realce en el menú se genera como una imagen de superposición. La imagen de superposición es una imagen que se genera dando un color especificado por la información de gama de color a la información de área rectangular de la información de botón. Dicha imagen de superposición se visualiza en la pantalla, sobrepuesta en la imagen de fondo que se muestra en la parte derecha de la FIG. 2.
El menú del DVD se produce del modo que se ha descrito anteriormente. La razón por la que una parte de los datos de navegación se inserta en el flujo usando NV_PCK es para permitir que la información de menú se actualice dinámicamente en sincronización con el flujo (por ejemplo, para permitir que el menú se visualice sólo entre cinco y diez minutos en mitad de la reproducción de la película) y para producir el menú del DVD sin problemas incluso para una aplicación que es posible que tenga un problema de tiempos de sincronización. Otra razón importante es mejorar el grado de manejo del usuario, por ejemplo, almacenando en NV_PCK información para dar soporte a una reproducción especial, a fin de reproducir y decodificar fácilmente datos de AV incluso cuando un DVD se reproduce de un modo especial, tal como reproducción durante el avance rápido y reproducción durante el rebobinado.
La FIG. 3 es un diagrama conceptual que muestra un VOB que es un flujo de DVD. Como se muestra en el dibujo, cada dato, tal como, video, audio y subtítulos (como se muestra en A) está paquetizado y estructurado en paquetes (como se muestra en B), en función del estándar de sistemas de MPEG (ISO/IEC13818-1), y multiplexado para que sea un único flujo de programas de MPEG (como se muestra en C). NV_PCK, que incluye una orden de botón para producir interactividad, como se ha descrito anteriormente, se multiplexa a la vez.
La multiplexación del sistema de MPEG se caracteriza porque, mientras que cada dato que se va a multiplexar forma una cadena de bits basada en su orden de decodificación, los datos que se van a multiplexar, es decir, datos de video, datos de audio y datos de subtítulo no necesariamente forman una cadena de bits en el orden de reproducción. Esto es atribuible al hecho de que un modelo de decodificador para un flujo de sistema de MPEG multiplexado (por lo general, denominado un Decodificador de Objetivo de Sistemas o un STD (se muestra en D de la FIG. 3) tiene memorias intermedias de decodificador correspondientes a los flujos elementales respectivos obtenidos demultiplexando los datos multiplexados y dichos datos demultiplexados se almacenan temporalmente en las respectivas memorias intermedias de decodificador hasta el momento de la decodificación. El tamaño de las memorias intermedias de decodificador especificadas por el estándar de Video-DVD difiere en función del flujo elemental. El tamaño de la memoria intermedia para datos de video es de 232KB, el tamaño de la memoria intermedia para datos de audio es de 4KB y el tamaño de la memoria intermedia para datos de subtítulo es de 52KB.
Es decir, los datos de subtítulo que se multiplexan junto con los datos de video no necesariamente se decodifican o reproducen en los mismos tiempos.
Además, existe el estándar de disco Blu-ray (BD) como estándar de DVD de próxima generación.
Si bien un DVD está destinado a la distribución de paquetes de video con calidad de imagen estándar (calidad de imagen de definición estándar), así como a la grabación de emisiones analógicas (el formato de Grabación de Video DVD), un BD es capaz de grabar emisiones digitales con calidad de imagen de alta definición (el formato Regrabable de Disco Blu-ray, en lo sucesivo, denominado el BD-RE).
No obstante, dado que el formato BD-RE da amplio soporte a la grabación de emisiones digitales, no se optimiza la información que da soporte a la reproducción especial o similar. Teniendo en cuenta que el video de alta definición se distribuirá en el futuro por medio de distribución de paquetes a velocidad superior que la de las emisiones digitales (el formato BD-ROM), existirá la necesidad de un mecanismo que avise a un usuario incluso en el momento de reproducción especial.
Uno de los esquemas utilizados para la codificación de una imagen en movimiento en un BD es MPEG-4 AVC (Codificación de Video Avanzada). MPEG-4 AVC es un esquema de codificación de próxima generación con un alto índice de compresión desarrollado conjuntamente por ISO/IEC (International Organization for Standardization/International Electrotechnical Commission (Organización Internacional de Normalización/Comisión Electrotécnica Internacional, OIN/CEI)), JTC1/SC29/WG11 y ITU-I (International Telecommunication Union-Telecommunication Standardization Sector (Unión Internacional de Telecomunicaciones - Sector de Normalización de las Telecomunicaciones, UIT-T)).
En general, en la codificación de una imagen en movimiento, la cantidad de información se comprime reduciendo las redundancias en direcciones temporales y espaciales. Por lo tanto, en la codificación predictiva interfotogramas que tiene como objetivo reducir las redundancias temporales, se realiza una estimación de movimiento y una generación de una imagen predictiva, bloque a bloque, con referencia a fotogramas anteriores o posteriores y, a continuación, se lleva a cabo la codificación sobre el valor diferencial entre la imagen predictiva obtenida y una imagen del fotograma actual que se va a codificar. En este caso, “fotograma” es un término que denota una pantalla de imagen. En el caso de una imagen progresiva, un fotograma significa una trama, mientras que en el caso de una imagen entrelazada significa una trama o un campo. En este caso, “imagen entrelazada” es una imagen de una trama compuesta de dos campos que están separados en el tiempo de captura. En la codificación y decodificación de una imagen entrelazada, se puede manejar una trama como una trama tal y como es, como dos campos o en una estructura de tramas o una estructura de campos por bloque dentro de la trama.
Un fotograma que se va a codificar usando predicción intrafotogramas sin referencia a imágenes de referencia se denominará un fotograma I. Un fotograma que se va a codificar usando predicción interfotogramas con referencia sólo a un fotograma de referencia se denominará un fotograma P. Un fotograma que se va a codificar usando predicción interfotogramas con referencia a dos fotogramas de referencia a la vez se denominará un fotograma B. Es posible que un fotograma B se refiera a dos fotogramas que se pueden combinar arbitrariamente a partir de fotogramas anteriores/posteriores en el momento de visualización. Se pueden designar imágenes de referencia (fotogramas de referencia) para cada bloque que sirven de unidad básica de codificación y decodificación. La distinción entre dichos fotogramas de referencia se hará denominando a un fotograma de referencia, que se describirá antes en un flujo de bits codificado, un primer fotograma de referencia, y denominando a un fotograma de referencia, que se describirá después en el flujo de bits, un segundo fotograma de referencia. Se debe tener en cuenta que como condición para codificar y decodificar estos tipos de fotogramas, es necesario que los fotogramas que se usan como referencia ya estén codificados y decodificados.
Una señal residual, que se obtiene sustrayendo, de una imagen que se va a codificar, una señal de predicción obtenida mediante predicción intrafotogramas o predicción interfotogramas, se cuantifica mediante transformación de frecuencia y, a continuación, se codifica en longitud variable para enviarla como un flujo codificado. MPEG-4 AVC da soporte a dos tipos de esquemas de codificación de longitud variable, que se pueden cambiar fotograma a fotograma: Codificación de Longitud Variable de Adaptación a Contexto (CAVLC) y Codificación Aritmética Binaria de Adaptación a Contexto (CABAC). El esquema de adaptación a contexto permite seleccionar mediante adaptación un esquema de codificación eficaz según las situaciones circundantes.
La FIG. 4 muestra un ejemplo de esquemas de codificación de longitud variable que se va a aplicar a fotogramas que forman una unidad accesible aleatoriamente en un flujo de MPEG-4 AVC. MPEG-4 AVC no tiene concepto de un grupo de fotogramas (GOP) del estándar de video MPEG-2. No obstante, dado que se puede construir una unidad accesible aleatoriamente correspondiente a un GOP dividiendo los datos en unidades de fotogramas especiales que se pueden decodificar de manera independiente a otros fotogramas, en este caso, una unidad de este tipo se denomina una unidad de acceso aleatorio (RAU). Como se muestra en la FIG. 4, si aplicar o no CABAC
o CAVLC como un esquema de codificación de longitud variable, se cambia fotograma a fotograma.
A continuación, haciendo referencia a las FIGS. 5A a 5C, se ofrecen descripciones de los procedimientos de decodificación de longitud variable respectivos de CABAC y CAVLC, que son diferentes en los procedimientos en el tiempo de decodificación de longitud variable. La FIG. 5A es un diagrama de bloques que muestra un aparato de decodificación de imágenes que lleva a cabo una Decodificación Aritmética Binaria de Adaptación a Contexto (CABAD), que es el proceso de decodificación correspondiente a datos codificados con longitud variable mediante CABAC y que lleva a cabo una Codificación de Longitud Variable de Adaptación a Contexto (CAVLD), que es el proceso de decodificación correspondiente a datos codificados mediante CAVLC.
El proceso de decodificación de imágenes con CABAD se lleva a cabo como sigue: en primer lugar, datos codificados Vin aplicados con CABAC se introducen en una memoria intermedia de flujo 5001; a continuación, una unidad de decodificación aritmética 502 lee los datos codificados Vr de la memoria intermedia de flujo para llevar a cabo una decodificación aritmética en los mismos, e introduce datos binarios Bin1 en una memoria intermedia de datos binarios 5003; una unidad de proceso de decodificación de datos binarios 5004 obtiene datos binarios Bin2 de la memoria intermedia de datos binarios 5003 para decodificar dichos datos binarios e introduce los datos decodificados resultantes Din1 en una unidad de reconstrucción de píxeles 5005 y la unidad de reconstrucción de píxeles 5005 lleva a cabo una cuantificación inversa, una transformación inversa, una compensación de movimiento y similares en los datos binarios decodificados Din1, a fin de reconstruir los píxeles, y envía datos decodificados Vout.
La FIG. 5B es un diagrama de flujo que ilustra operaciones que se van a llevar a cabo desde que se inicia la decodificación de datos codificados aplicados con CABAC hasta que se lleva a cabo el proceso de reconstrucción de píxeles. En primer lugar, en la Etapa 5001, los datos codificados Vin aplicados con CABAC se decodifican aritméticamente, a fin de generar datos binarios. A continuación, en la Etapa 5002, se determina si datos binarios equivalentes a una unidad de datos predeterminada, tal como uno o más fotogramas, están listos o no. Cuando dichos datos binarios están listos, el procedimiento pasa a la Etapa S5003, mientras que cuando dichos datos binarios no están listos se repite el procedimiento de la Etapa S5002. La razón para, en este caso, introducir en memoria intermedia los datos binarios es que la CABAC a veces tiene como resultado un aumento considerable del número de bits de los datos binarios por fotograma o por macrobloque, lo que por consiguiente tiene como resultado un aumento considerable de la carga de proceso en la decodificación aritmética. Por lo tanto, a fin de conseguir una reproducción continua sin interrupción, incluso en el peor de los casos, es necesario llevar a cabo una serie de procesos de decodificación aritmética con anterioridad. En la Etapa S5003, se decodifican datos binarios y en la Etapa S5004 se lleva a cabo el proceso de reconstrucción de píxeles. En la CABAD, según se ha descrito anteriormente, se produce un retardo al inicio de la decodificación dado que no se puede iniciar el proceso de reconstrucción de píxeles hasta que datos binarios equivalentes a una unidad de datos predeterminada estén listos en la Etapa S5001 y en la Etapa S5002.
El proceso de decodificación de imágenes con CAVLD se lleva a cabo como sigue: en primer lugar, datos codificados Vin aplicados con CAVLC se introducen en la memoria intermedia de flujo 5001; a continuación, una unidad de CAVLD 5006 lleva a cabo una decodificación de longitud variable en los mismos, e introduce los datos de VLD decodificados resultantes Din2 en la unidad de reconstrucción de píxeles 5005; la unidad de reconstrucción de píxeles 5005 lleva a cabo una cuantificación inversa, una transformación inversa, una compensación de movimiento y similares, a fin de reconstruir los píxeles, y envía datos decodificados Vout. La FIG. 5C es un diagrama de flujo que ilustra operaciones que se van a llevar a cabo desde que se inicia la decodificación de datos codificados aplicados con CAVLC hasta que se lleva a cabo el proceso de reconstrucción de píxeles. En primer lugar, en la Etapa S5005, se lleva a cabo la CAVLD. A continuación, en la Etapa S5004, se lleva a cabo el proceso de reconstrucción de píxeles. Como se ha descrito anteriormente, a diferencia de la CABAD, en la CAVLD no es necesario esperar a que datos equivalentes a una unidad de datos predeterminada estén listos antes del inicio del proceso de reconstrucción de píxeles, ni que haya una memoria intermedia para el proceso de decodificación de longitud variable, tal como la memoria intermedia de datos binarios 5003.
La FIG. 6 es un diagrama de flujo que ilustra operaciones llevadas a cabo por medio de un aparato de decodificación convencional que decodifica un flujo en el que esquemas de codificación de longitud variable se cambian en mitad del flujo, como en un caso de ejemplo de la FIG. 4. En primer lugar, en la Etapa S5101, se obtiene información que indica un esquema de codificación de longitud variable aplicado a un fotograma y el procedimiento pasa a la Etapa S5102. En la Etapa S5102, se determina si el esquema de codificación de longitud variable correspondiente al fotograma actual se cambia o no a partir del correspondiente al fotograma anterior en el orden de decodificación. Los procedimientos de gestión de memoria intermedia en el momento del proceso de decodificación de longitud variable son diferentes entre CABAD y CAVLD. Por lo tanto, cuando se han cambiado los esquemas de codificación de longitud variable, el procedimiento pasa a la Etapa S5103 para llevar a cabo un procedimiento de cambio entre procedimientos de gestión de memoria intermedia, mientras que cuando no se ha cambiado el esquema de codificación de longitud variable, el procedimiento pasa a la Etapa S5104. En la Etapa S5104, se determina si el esquema de codificación de longitud variables es o no CAVLC. Cuando el esquema de codificación de longitud variable es CAVLC, el procedimiento pasa a la Etapa S5105 para llevar a cabo el proceso de CAVLD, mientras que cuando el esquema de codificación de longitud variable es CABAC, el procedimiento pasa a la Etapa S5106. En la Etapa S5106, se determina si el esquema de codificación de longitud variable correspondiente al fotograma actual se cambia o no a partir del correspondiente al fotograma anterior en el orden de decodificación. Cuando se han cambiado los esquemas de codificación de longitud variable, el procedimiento pasa a la Etapa S5107, en la que se repite la decodificación aritmética hasta que datos binarios equivalentes a una unidad de datos predeterminada están listos y dichos datos binarios se decodifican, como se muestra en la Etapa S5001 y en la Etapa S5002 de la FIG. 5B. Cuando en la Etapa S5106 se determina que el esquema de codificación de longitud variable no se ha cambiado, el procedimiento pasa a la Etapa S5108 para llevar a cabo un proceso de CABAD habitual. En este caso, el proceso de CABAD habitual se refiere al proceso que no conlleva la introducción en memoria intermedia de datos binarios que es necesaria en el momento en que se cambia de CAVLC a CABAC o cuando se inicia la decodificación de un flujo aplicada con CABAC. Por último, en la Etapa S5109, se lleva a cabo el proceso de reconstrucción de píxeles.
Documento de patente 1: Solicitud de patente japonesa, abierta a consulta por el público, nº 2000-228656.
Publicación 1: Proposed SMPTE Standard for Television: VC-1 Compressed Video Bitstream Format and Decoding Process, Final Committee Draft 1 Revision 6, July 13, 2005.
Un aparato de codificación de fotogramas en movimiento para codificar una señal de fotograma en movimiento según el documento EP1370087A1 incluye una pluralidad de unidades de transformación para diferentes esquemas de transformación y una unidad de control de esquemas de transformación para seleccionar, de la pluralidad de unidades de transformación, la unidad de transformación correspondiente al esquema de transformación adaptado a la señal de fotograma en movimiento.
Divulgación de la invención
Problemas que se solucionarán con la invención Como se ha descrito anteriormente, un primer problema es que se produce un retardo debido a la introducción en memoria intermedia de datos binarios cuando se produce el cambio de CAVLC a CABAC, dado que un esquema de codificación de longitud variable se cambia fotograma a fotograma en el momento de reproducir un flujo de MPEG-4 AVC multiplexado convencional de un soporte de almacenamiento de información convencional. En particular, habrá retardos acumulativos si los esquemas de codificación de longitud variable se cambian frecuentemente, lo que puede tener como resultado una interrupción de la reproducción. Además, dado que los procedimientos de gestión de memoria intermedia son diferentes entre CABAC y CAVLC, hay un segundo problema que es que se aumenta la carga de proceso en el momento de decodificación debido a la necesidad de cambiar entre los procedimientos de gestión de memoria intermedia cada vez que se cambian los esquemas de codificación de longitud variable.
La presente invención tiene como objetivo proporcionar un procedimiento de codificación de imágenes que no produzca una interrupción en el momento de la reproducción sin un aumento de la carga de proceso en el momento de la decodificación. La invención se expone en las reivindicaciones adjuntas.
Medios para solucionar los problemas
El procedimiento de codificación de imágenes que logra el objetivo anterior es un procedimiento de codificación de imágenes en movimiento para codificar una imagen en movimiento mientras se cambia entre esquemas de codificación de longitud variable, incluyendo el procedimiento: determinar una unidad continua que se va a reproducir continuamente; generar un flujo codificando la imagen en movimiento sin cambiar entre esquemas de codificación de longitud variable en la unidad continua y generar información de gestión que incluye una primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en la unidad continua.
Con la estructura anterior, dado que un esquema de codificación de longitud variable es fijo en una unidad que se va a reproducir continuamente, se puede eliminar un retardo que se produce por cambiar entre esquemas de codificación de longitud variable en el momento de la decodificación y se puede mejorar la calidad de reproducción en el momento de la decodificación. Además, se puede reducir la carga de proceso provocada por cambiar entre procedimientos de gestión de memoria intermedia.
En este caso, la unidad continua puede corresponder a un flujo y se puede identificar por medio de un identificador de paquete de un flujo de transporte.
En este caso, el flujo que constituye la unidad continua se puede identificar por un identificador de paquete de un flujo de transporte.
La unidad continua puede incluir flujos que se van a conectar de manera ininterrumpida.
La unidad continua puede incluir flujos correspondientes a ángulos respectivos que forman un multiángulo ininterrumpido.
La unidad continua puede incluir flujos correspondientes a ángulos respectivos que forman un multiángulo interrumpido.
El procedimiento de codificación de imágenes en movimiento puede incluir además insertar una segunda información de indicador para cada unidad predeterminada de la imagen en movimiento codificada, indicando la segunda información de indicador un esquema de codificación de longitud variable.
En este caso, la información de gestión puede incluir una lista de reproducción que indica un orden de reproducción para uno o más segmentos de reproducción, siendo cada segmento de reproducción el total o una parte de un flujo, la primera información de indicador se puede generar para cada uno del uno o más segmentos de reproducción indicados en la lista de reproducción y la unidad predeterminada puede ser una unidad en la que se añade un conjunto de parámetros de fotograma, estando incluido el conjunto de parámetros de fotograma en un flujo que se ha codificado conforme a MPEG-4 AVC.
Con la estructura anterior, se puede evitar una interrupción en reproducción sin un aumento de la carga de proceso en el momento de la decodificación, usando codificación que permite cambiar entre esquemas de codificación de longitud variable dentro de un flujo, tal como un flujo de MPEG-4 AVC.
La información de gestión puede incluir una lista de reproducción que indica un orden de reproducción para uno o más segmentos de reproducción, siendo cada segmento de reproducción el total o una parte de un flujo, la primera información de indicador se puede generar para cada uno del uno o más segmentos de reproducción indicados en la lista de reproducción, la segunda información de indicador puede indicar el esquema de codificación de longitud variable aplicado a información de cada macrobloque, la unidad predeterminada puede ser una unidad de fotograma del flujo y la información de cada macrobloque se puede añadir para cada macrobloque del flujo cuando el esquema de codificación de longitud variable es un primer esquema de codificación de mapa de bits y se puede añadir para cada fotograma del flujo cuando el esquema de codificación de longitud variable es un segundo esquema de codificación de mapa de bits, en el que, en el segundo esquema, la segunda información de indicador correspondiente a todos los macrobloques de un fotograma se puede insertar en un encabezamiento del fotograma del flujo.
Con la estructura anterior, se puede evitar una interrupción en reproducción sin un aumento de la carga de proceso en el momento de la decodificación, usando codificación que permite cambiar entre esquemas de codificación de longitud variable dentro de un flujo, tal como un flujo de VC-1.
En este caso, la primera información de indicador puede indicar que el esquema de codificación de longitud variable es fijo en la unidad continua y que el flujo se va a conectar de manera ininterrumpida.
Con la estructura anterior, se puede reducir la cantidad de datos de la información de gestión.
No se ofrecen los detalles del aparato de codificación de imágenes de la presente invención dado que incluye las mismas unidades que las del procedimiento de codificación de imágenes que se ha descrito anteriormente.
Asimismo, datos, de la presente invención, que tienen una estructura legible por ordenador, incluyen información de gestión y un flujo que representa una imagen en movimiento codificada, en los que la información de gestión incluye una primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en una unidad continua que se va a reproducir continuamente y el flujo incluye una segunda información de indicador para cada unidad predeterminada de la imagen en movimiento codificada, indicando la segunda información de indicador un esquema de codificación de longitud variable.
Con la estructura anterior, dado que un esquema de codificación de longitud variable es fijo en una unidad que se va a reproducir continuamente, se puede eliminar un retardo que se produce por cambiar entre esquemas de codificación de longitud variable en el momento de la decodificación y se puede mejorar la calidad de reproducción en el momento de la decodificación. Además, se puede reducir la carga de proceso provocada por cambiar entre procedimientos de gestión de memoria intermedia.
En este caso, la información de gestión puede incluir una lista de reproducción que indica un orden de reproducción para uno o más segmentos de reproducción, siendo cada segmento de reproducción el total o una parte de un flujo, la primera información de indicador puede corresponder a cada uno del uno o más segmentos de reproducción indicados en la lista de reproducción y la unidad predeterminada puede ser una unidad en la que se añade un conjunto de parámetros de fotograma, estando incluido el conjunto de parámetros de fotograma en un flujo que se ha codificado conforme a MPEG-4 AVC.
En este caso, la información de gestión puede incluir una lista de reproducción que puede indicar un orden de reproducción para uno o más segmentos de reproducción, siendo cada segmento de reproducción el total o una parte de un flujo, la primera información de indicador puede corresponder a cada flujo indicado en la lista de reproducción, la segunda información de indicador puede indicar el esquema de codificación de longitud variable aplicado a cada macrobloque, la unidad predeterminada puede ser una unidad de macrobloque cuando el esquema de codificación de longitud variable es el primer esquema, mientras que puede ser una unidad de fotograma del flujo cuando el esquema de codificación de longitud variable es el segundo esquema, la segunda información de indicador correspondiente a todos los macrobloques de un fotograma se puede insertar a un encabezamiento del fotograma del flujo.
Efectos de la invención
Como se ha descrito anteriormente, según el procedimiento de codificación de imágenes de la presente invención, fijando un esquema de codificación de longitud variable que se va a aplicar a datos codificados de una imagen en
movimiento en una unidad continua, se puede eliminar un retardo que se produce por cambiar entre esquemas de
codificación de longitud variable en el momento de la decodificación y reducir la carga de proceso provocada por
cambiar entre procedimientos de gestión de memoria intermedia. Por ejemplo, se puede: mejorar la calidad de
reproducción de un soporte de paquetes en el que se multiplexa un flujo que soporta el cambio de esquemas de
codificación de longitud variable dentro de un flujo, tal como un flujo de MPEG-4 AVC y un flujo de VC-1 y reducir la
carga de proceso en el aparato de reproducción. Por lo tanto, el procedimiento de codificación de imágenes de la
presente invención tiene un gran valor práctico.
Breve descripción de los dibujos
La FIG. 1 es un diagrama que muestra una estructura de un DVD.
La FIG. 2 es un diagrama que muestra una estructura de realce.
La FIG. 3 es un diagrama que muestra un ejemplo de multiplexación de un DVD.
La FIG. 4 es un diagrama que muestra un ejemplo de esquemas de codificación de longitud variable que se van a
aplicar a cada fotograma de un flujo de MPEG-4 AVC convencional.
La FIG. 5A es un diagrama de bloques que muestra una estructura de un aparato de decodificación que decodifica
un flujo codificado aplicado con CABAC y CAVLC.
La FIG. 5B es un diagrama de flujo que ilustra operaciones para decodificar un flujo codificado aplicado con CABAC.
La FIG. 5C es un diagrama de flujo que ilustra operaciones para decodificar un flujo codificado aplicado con CAVLC.
La FIG. 6 es un diagrama de flujo que ilustra operaciones llevadas a cabo por medio de un aparato de decodificación
convencional.
La FIG. 7 es un diagrama que muestra esquemas de codificación de longitud variable de ejemplo que se van a
aplicar para cada fotograma de un flujo de MPEG-4 AVC almacenados en un soporte de almacenamiento de
información de una primera forma de realización.
La FIG. 8 es un diagrama que muestra un ejemplo de cómo información de indicador, que indica una unidad para la
que un esquema de codificación de longitud variable es fijo, está almacenada en el soporte de almacenamiento de
información.
La FIG. 9 es un diagrama de flujo que ilustra operaciones llevadas a cabo por medio del aparato de decodificación
que reproduce el soporte de almacenamiento de información.
La FIG. 10 es un diagrama de bloques que muestra una estructura de un aparato de multiplexación.
La FIG. 11 es un diagrama de flujo que ilustra operaciones llevadas a cabo por medio del aparato de multiplexación.
La FIG. 12 es un diagrama de flujo que ilustra un ejemplo específico de S5201 de la FIG. 11.
La FIG. 13 es un diagrama de flujo que ilustra un ejemplo específico de S5202 de la FIG. 11.
La FIG. 14 es un diagrama de flujo que ilustra otro ejemplo específico de S5203 de la FIG. 11.
La FIG. 15 es un diagrama de flujo que ilustra otro ejemplo específico de S5204 de la FIG. 11.
La FIG. 16 es un diagrama jerárquico que muestra datos en un HD-DVD.
La FIG. 17 es un diagrama que muestra una estructura de un espacio lógico en el HD-DVD.
La FIG. 18 es un diagrama de bloques que muestra una perspectiva general de un reproductor de HD-DVD.
La FIG. 19 es un diagrama de bloques que muestra una estructura del reproductor de HD-DVD.
La FIG. 20 es un diagrama para describir un espacio de aplicación en el HD-DVD.
La FIG. 21 es un diagrama que muestra una estructura de un flujo de MPEG (VOB).
La FIG. 22 es un diagrama que muestra una estructura de cada paquete.
La FIG. 23 es un diagrama para describir una relación entre un flujo de AV y una estructura de reproductor.
La FIG. 24 es un diagrama de modelos que muestra un suministro continuo de datos de AV a una memoria
intermedia de pista.
La FIG. 25 es un diagrama que muestra una estructura de un fichero de información de VOB.
La FIG. 26 es un diagrama para describir un mapa de tiempos.
La FIG. 27 es un diagrama que muestra una estructura de un fichero de lista de reproducción.
La FIG. 28 es un diagrama que muestra una estructura de un fichero de programa correspondiente a una lista de
reproducción.
La FIG. 29 es un diagrama que muestra una estructura de un fichero de información de gestión relacionado con todo
el disco BD.
La FIG. 30 es un diagrama que muestra una estructura de un fichero para grabar un controlador de eventos
globales.
La FIG. 31 es un diagrama que muestra un ejemplo de un evento de tiempo.
La FIG. 32 es un diagrama que muestra un ejemplo de un evento de usuario.
La FIG. 33 es un diagrama para describir un ejemplo de un controlador de eventos globales.
La FIG. 34 es un diagrama que muestra una estructura de una máquina virtual.
La FIG. 35 es un diagrama que muestra una tabla de variables de reproductor.
La FIG. 36 es un diagrama que muestra un ejemplo de un controlador de eventos (para un evento de tiempo).
La FIG. 37 es un diagrama que muestra un ejemplo de un controlador de eventos (para un evento de usuario).
La FIG. 38 es un diagrama de flujo que muestra procedimientos básicos de reproductor.
La FIG. 39 es un diagrama de flujo que muestra procedimientos de reproducción de lista de reproducción.
La FIG. 40 es un diagrama de flujo que muestra procedimientos de eventos.
La FIG. 41 es un diagrama de flujo que muestra procedimientos de subtítulo.
La FIG. 42 es un diagrama para describir una relación entre imágenes fijas y el mapa de tiempos de la segunda
forma de realización.
La FIG. 43 es un diagrama para describir un indicador que indica si un fotograma al que se va a hacer referencia se
puede decodificar o no.
La FIG. 44 es un diagrama para describir un indicador que indica que todas las entradas se refieren a fotogramas I.
La FIG. 45 es un diagrama para describir una diferencia entre una aplicación de imágenes en movimiento y una
proyección de diapositivas.
La FIG. 46 es un diagrama para describir un indicador que garantiza que se hace referencia a todos los fotogramas
I.
La FIG. 47 es un diagrama que muestra una estructura de datos de una imagen fija conforme a MPEG-4 AVC según
una tercera forma de realización.
La FIG. 48 es un diagrama para describir un procedimiento de reproducción para imágenes fijas conforme a MPEG-4
AVC.
La FIG. 49 es un diagrama para describir un indicador que indica que un valor de MinCR específico se aplica a un
fragmento, así como para describir una estructura de datos.
La FIG. 50 es un diagrama de flujo que muestra operaciones de un procedimiento de multiplexación de una quinta
forma de realización.
La FIG. 51 es un diagrama de bloques que muestra una estructura de un aparato de multiplexación.
La FIG. 52A muestra un formato físico de ejemplo de un disco flexible como un soporte de almacenamiento
propiamente dicho de una sexta forma de realización.
La FIG. 52B muestra una vista externa del disco flexible visto desde la parte delantera, su vista transversal
esquemática y el disco flexible propiamente dicho.
La FIG. 52C muestra una estructura necesaria para almacenar el programa en el disco flexible FD y leer el programa
del mismo.
Referencias numéricas
201 Disco BD 202 Lector óptico 203 Memoria de almacenamiento de programas 204 Memoria de almacenamiento de información de gestión 205 Memoria de almacenamiento de AV 206 Unidad de proceso de programa 207 Unidad de proceso de información de gestión 208 Unidad de proceso de presentación 209 Mapa de imágenes 210 Mapa de videos 211 Unidad de proceso de composición 301 Memoria de almacenamiento de programas 302 Procesador de programa 303 Gestor de UOP 304 Memoria de almacenamiento de información de gestión 305 Procesador de escenario 306 Controlador de presentaciones 307 Reloj 308 Memoria de imagen 309 Memoria intermedia de pista 310 Demultiplexor 311 Procesador de imagen 312 Procesador de video 313 Procesador de sonido 314 Mapa de imágenes 315 Mapa de videos 316 Unidad de proceso de composición 317 Controlador de unidad de disco 3207 Convertidor reductor de imágenes en movimiento 3215 Convertidor reductor de subtítulos 3223 Convertidor reductor de imágenes fijas 3228 Convertidor reductor de audio S101 Etapa de inserción de disco S102 Etapa de lectura de BD.INFO S103 Etapa de lectura de BD.PROG S104 Etapa de generación de primer evento S105 Etapa de ejecución de controlador de eventos S201 Etapa de aceptación de UOP S202 Etapa de generación de evento de UOP S203 Etapa de determinación de llamada de menú S204 Etapa de generación de eventos S205 Etapa de ejecución de controlador de eventos S301 Etapa de inicio de reproducción de lista de reproducción S302 Etapa de lectura de información de lista de reproducción (XXX.PL) S303 Etapa de lectura de programa de reproducción (XXX.PROG) S304 Etapa de inicio de reproducción de células S305 Etapa de inicio de reproducción de AV S401 Etapa de inicio de reproducción de AV S402 Etapa de lectura de información de VOB (YYY.VOBI) S403 Etapa de lectura de VOB (YYY.VOB) S404 Etapa de inicio de reproducción de VOB S405 Etapa de fin de reproducción de VOB S406 Etapa de determinación de existencia de célula siguiente S501 Etapa de inicio de reproducción de lista de reproducción S502 Etapa de determinación de fin de reproducción de lista de reproducción S503 Etapa de determinación de tiempo de eventos de tiempo S504 Etapa de generación de eventos S505 Etapa de ejecución de controlador de eventos S601 Etapa de inicio de reproducción de lista de reproducción S602 Etapa de determinación de fin de reproducción de lista de reproducción S603 Etapa de determinación de aceptación de UOP S604 Etapa de generación de eventos de UOP S605 Etapa de determinación de llamada de menú S606 Etapa de determinación de periodo de validez de eventos de usuario S607 Etapa de generación de eventos S608 Etapa de ejecución de programa de generación de eventos S701 Etapa de inicio de reproducción de lista de reproducción S702 Etapa de determinación de fin de reproducción de lista de reproducción S703 Etapa de determinación de inicio de representación de subtítulos S704 Etapa de representación de subtítulos S705 Etapa de determinación de fin de visualización de subtítulos S706 Etapa de borrado de subtítulos
Mejor modo de llevar a cabo la invención
A continuación se describen formas de realización de la presente invención haciendo referencia a los dibujos.
(Primera forma de realización)
En primer lugar, se describe la primera forma de realización.
La presente forma de realización describe un soporte de almacenamiento de información y un aparato de reproducción para el mismo que pueden suprimir la presencia de un retardo en una operación de decodificación que se produce por cambiar entre esquemas de codificación de longitud variable, así como suprimir un aumento de la carga de proceso provocada por cambiar entre procedimientos de gestión de memoria intermedia, que es necesaria a la vez, en el momento de decodificar datos codificados de una imagen en movimiento de un soporte de paquetes, tal como un BD-ROM. A continuación se describe MPEG-4 AVC como un esquema para codificar una imagen en movimiento, sin embargo, se puede usar otro esquema de codificación que sea capaz de cambiar entre esquemas de codificación de longitud variable en mitad de un flujo.
En un flujo de MPEG-4 AVC almacenado en el soporte de almacenamiento de información de la presente forma de realización, hay una restricción en una unidad de cambio entre esquemas de codificación de longitud variable, e información, que indica que hay una restricción en una unidad de cambio o que dicha unidad de cambio restringida, está almacenada en información de gestión.
La FIG. 7 muestra una restricción de ejemplo en una unidad de cambio entre esquemas de codificación de longitud variable de un flujo de MPEG-4 AVC. En un soporte de paquetes, tal como un BD-ROM, una unidad de reproducción continua de datos codificados de una imagen en movimiento (en lo sucesivo, denominada “unidad de reproducción continua”) está especificada por medio de una lista de reproducción o similar. Por lo tanto, usando un esquema de codificación de longitud variable fijo en una unidad de reproducción continua, no se produce ningún retardo en una operación de decodificación que se produce por cambiar entre esquemas de codificación de longitud variable, ni es necesario cambiar procedimientos de gestión de memoria intermedia en una unidad que se va a reproducir continuamente. Debido a esto, la presente forma de realización fija un esquema de codificación de longitud variable en una unidad de reproducción continua. (a) y (b) de la FIG. 7 muestran ejemplos de permitir, como un esquema de codificación de longitud variable, sólo CAVLC y sólo CABAC, respectivamente, en una unidad de reproducción continua. Además, hay dos tipos de condiciones para conectar fragmentos que se van a reproducir continuamente: conexión ininterrumpida y conexión interrumpida. En este caso, el término “conexión” incluye la conexión de varios segmentos en único fragmento. A veces, una conexión interrumpida está sujeta a la presencia de un intervalo en operaciones de decodificación en el momento de una conexión a un GOP abierto, por ejemplo. Por lo tanto, un esquema de codificación de longitud variable puede ser fijo en unidades de reproducción continua que se van a conectar de manera ininterrumpida, con la condición de que también se permita cambiar entre esquemas de codificación de longitud variable.
Cabe señalar que un esquema de codificación de longitud variable puede ser fijo en una unidad distinta a una unidad de reproducción continua, tal como un fragmento y una unidad de acceso aleatorio (RAU). (c) y (d) de la FIG. 7 muestran ejemplos en los que un esquema de codificación de longitud variable es fijo en un fragmento y en una unidad de acceso aleatorio (RAU). (c) y (d) de la FIG. 7 muestran ejemplos en los que un esquema de codificación de longitud variable es fijo en un fragmento y (e) de la FIG. 7 muestra un ejemplo en el que un esquema de codificación de longitud variable es fijo en una unidad de acceso aleatorio.
A continuación, en un flujo de MPEG-4 AVC, información de gestión almacena información de indicador que indica que existe una restricción en una unidad de cambio entre esquemas de codificación de longitud variable. En este caso, se usa como un indicador información de identificación para identificar un esquema de codificación. La FIG. 8 muestra un ejemplo de cómo un indicador está almacenado en un BD-ROM. En un BD-ROM, dado que un esquema de codificación para cada uno de los fragmentos a los que se hace referencia desde una lista de reproducción se almacena en un área de la información de gestión denominada StreamCodingInfo, significará que un esquema de codificación de longitud variable es fijo en una unidad de reproducción continua cuando se indica que el esquema de codificación es MPEG-4 AVC. Cabe señalar que se puede indicar de manera independiente si el esquema de codificación de longitud variable es CABAC o CAVLC.
Cabe señalar que se puede definir y almacenar un indicador independiente que indica que existe una restricción en una unidad de cambio entre esquemas de codificación de longitud variable o se puede almacenar información que indica una unidad de cambio entre esquemas de codificación de longitud variable. Dichas partes de información se pueden almacenar en un flujo de MPEG-4 AVC. Por ejemplo, en Información Potenciadora Suplementaria (SEI) o en una unidad de Capa de Abstracción de Red (NAL), se puede almacenar información que indica que una unidad de decodificación de longitud variable es fija para los fotogramas dentro de una unidad de acceso aleatorio, colocándose la SEI en el primer fotograma de una unidad de acceso aleatorio y la unidad de NAL del tipo no especificado.
Cabe señalar que según MPEG-4 AVC, indicador de modo de codificación entrópica, que es un Conjunto de Parámetros de Fotograma (PPS) que indica información de inicialización de cada fotograma, indica si el esquema de codificación de longitud variable es CAVLC o CABAC. Por lo tanto, cuando un esquema de codificación de longitud variable es fijo en una unidad determinada, el valor de campo del indicador de modo de codificación entrópica de todos los PPSs a los que se hace referencia por medio de fotogramas es fijo en dicha unidad. Según la MPEG-4 AVC, se permite almacenar, en dicho área predeterminada, un PPS al que no se hace referencia por medio de fotogramas de una unidad predeterminada en orden de decodificación. No obstante, no es especialmente necesario imponer una restricción en el valor de campo del indicador de modo de codificación entrópica de un PPS al que no se hace referencia por medio de fotogramas de dicha unidad. Por ejemplo, si bien se garantiza que todos los PPS a los que se hace referencia por medio de fotogramas de una unidad de acceso aleatorio RAU existen en la unidad de acceso aleatorio RAU, un PPS al que no se hace referencia por medio de ningún fotograma de la unidad de acceso aleatorio RAU puede existir en dicha unidad de acceso aleatorio. En este caso, puesto que el PPS al que no se hace referencia no afecta a la decodificación, no es necesario imponer una restricción en el valor de campo del indicador de modo de codificación entrópica. No obstante, dado que es más sencillo, por cuanto se refiere al manejo, si se usa un valor fijo como el valor de campo del indicador de modo de codificación entrópica de PPSs incluidos en una unidad predeterminada, también se puede usar un valor fijo para el valor de campo de un PPS al que no se hace referencia.
La FIG. 9 es un diagrama de flujo que ilustra operaciones para decodificar una unidad de reproducción continua del soporte de almacenamiento de información de la presente forma de realización. Puesto que un esquema de codificación de longitud variable es fijo en una unidad de reproducción continua, no es necesario llevar a cabo el cambio de introducción en memoria intermedia de datos binarios y el cambio entre procedimientos de gestión de memoria intermedia en mitad de la decodificación, como ocurre en las operaciones de decodificación convencionales que se muestran en la FIG. 6. Las operaciones de las respectivas etapas son iguales a las etapas con los mismos números de la FIG. 6 y, por consiguiente, no se ofrecen descripciones de las mismas.
Además, la Society of Motion Picture and Television Engineers (Sociedad de Ingenieros de Cine y Televisión SMPTE) está actualmente desarrollando el estándar VC-1 (Publicación 1) como un nuevo esquema de codificación. El VC-1 define varios indicadores que indican procedimientos de codificación de un macrobloque (que es una unidad de 16 x 16 píxeles). Por ejemplo, los indicadores indican si un macrobloque es o no un macrobloque saltado, si un macrobloque está en el modo campo o en el modo trama, si un macrobloque es o no un macrobloque de modo directo y similares.
La codificación de mapa de bits es una de las herramientas de codificación extendida. La codificación de mapa de bits se usa para codificar los indicadores, que se han descrito anteriormente, que indican los procedimientos para codificar un macrobloque. La codificación de mapa de bits posibilita mostrar, en una cabecera de fotograma, estos indicadores equivalentes a un fotograma. En general, macrobloques contiguos están muy correlacionados entre sí y, por lo tanto, sus indicadores también están muy correlacionados entre sí. Debido a esto, codificando conjuntamente los indicadores de macrobloques contiguos, se puede reducir el número de bits que se usan para representar indicadores.
La codificación de mapa de bits define siete sistemas de codificación. Uno es un esquema para codificar cada indicador dentro de una cabecera de macrobloque. Conocido como MODO EN BRUTO, dicho esquema es similar al estándar de video MPEG-2 y al estándar visual MPEG-4. Los otros seis esquemas son esquemas para codificar conjuntamente indicadores equivalentes a un fotograma y se definen de manera diferente dependiendo de cómo se codifiquen conjuntamente los indicadores de macrobloques contiguos. Por ejemplo, dichos seis esquemas pueden ser: un esquema en el que los indicadores de los macrobloques contiguos a la derecha y a la izquierda se codifican conjuntamente; un esquema en el que, cuando todos los indicadores de macrobloques de una línea horizontal indiquen “0”, se representa por medio de 1-bit “0”, mientras que cuando al menos uno de los indicadores de una línea de macrobloques indique “1”, cada uno de los indicadores se codifica tal y como es y similar.
Se puede cambiar, fotograma a fotograma, el esquema de los siete tipos que se va a usar en la codificación de mapa de bits independientemente de cada indicador.
En este caso, en la codificación de mapa de bits, suponiendo que modo 1 se refiera al caso de usar sólo el esquema para codificar cada indicador en una cabecera de macrobloque y que modo 2 se refiera al caso de usar sólo el esquema para codificar los indicadores equivalentes a un fotograma de manera conjunta, se puede producir un retardo debido a un aumento de la carga de proceso cuando tiene lugar el cambio de modos, puesto que las operaciones en el momento de la decodificación son diferentes entre modo 1 y modo 2. En vista de esto, como en el caso anterior en el que se impone una restricción en una unidad de cambio entre esquemas de codificación de longitud variable, se puede imponer una restricción, en la codificación de mapa de bits, en una unidad de cambio entre modo 1 y modo 2. Por ejemplo, un modo será fijo en una unidad de reproducción continua o en unidades de reproducción continua que se van a conectar de manera ininterrumpida. Además, la información de gestión puede incluir información de indicador que indica que un modo de codificación de mapa de bits es fijo en una unidad predeterminada. Por ejemplo, usando un esquema de codificación indicado por medio de StreamCodingInfo como información de indicador, se puede indicar que un modo de codificación de mapa de bit es fijo en una unidad predeterminada cuando se indica V-C1 como el esquema de codificación.
Además, suponiendo que modo 3 se refiera al caso en que tanto el esquema para codificar cada indicador en una cabecera de macrobloque como el esquema para codificar conjuntamente los indicadores equivalentes a un fotograma están disponibles para uso, puede ser el caso en que modo 1 y modo 3 se usan selectivamente dependiendo de un entorno en el que se usa VC-1. Por ejemplo, modo 1 se puede usar para un terminal con baja capacidad de proceso, mientras que modo 3 se puede usar para un terminal con alta capacidad de proceso. En tal caso, es eficaz fijar un modo a modo 1 o modo 3 en una unidad predeterminada. Además, la información de gestión
o un flujo codificado pueden almacenar información de indicador que indica que un modo es fijo para modo 1 o para modo 3, o información que indica qué modo es fijo. Cabe señalar que modo 2 y modo 3 también se pueden usar selectivamente.
La FIG. 10 es un diagrama de bloques que muestra la estructura de un aparato de multiplexación 5100 que realiza un procedimiento de multiplexación según la presente forma de realización. El aparato de multiplexación 5100 incluye una unidad de determinación de unidad de cambio 5101, una unidad de generación de información de cambio 5102, una unidad de codificación 5103, una unidad de multiplexación de sistemas 5104, una unidad de creación de información de gestión 5105 y una unidad de combinación 5016. A continuación, se describen operaciones llevadas a cabo por medio de las respectivas unidades.
La unidad de determinación de unidad de cambio 5101 determina una unidad en la que se pueden cambiar los esquemas de codificación de longitud variable e introduce la unidad de cambio determinada Unit en la unidad de generación de información de cambio 5102 y en la unidad de codificación 5103. La unidad de cambio se determinará con anterioridad, sin embargo, puede estar diseñada para que se establezca desde fuera. La unidad de generación de información de cambio 5102 genera, en función de la unidad de cambio Unit, información de cambio SwInf que indica una unidad en la que se pueden cambiar los esquemas de codificación de longitud variable y la introduce en la unidad de creación de información de gestión 5105. La unidad de codificación 5103 codifica los datos de cada fragmento de manera que se cumpla la restricción en la unidad de cambio Unit e introduce los datos codificados Cdata1 en la unidad de multiplexación de sistemas 5104. La unidad de multiplexación de sistemas 5104 realiza la multiplexación de sistemas de los datos codificados Cdata1, introduce información de flujo StrInf1 en la unidad de creación de información de gestión 5105 e introduce los datos multiplexados Mdata1 en la unidad de combinación 5106. En un BD-ROM, un esquema para añadir una cabecera de 4 bytes a un paquete de flujo de transporte de MPEG-2, conocido como un paquete fuente, se usa como un esquema de multiplexación de sistemas. La información de flujo StrInf1 incluye información para generar información de gestión, tal como un mapa de tiempos, de los datos multiplexados Mdata1. La unidad de creación de información de gestión 5105 crea información de gestión CtrInf1 que incluye el mapa de tiempos que se genera en función de la información de flujo StrInf1, así como de la información de cambio SwInf, o similares, e introduce la información de gestión creada en la unidad de combinación 5106. La unidad de combinación 5106 combina la información de gestión CtrlInf1 y los datos multiplexados Mdata1 y envía los datos resultantes como datos de registro Dout1.
La generación de datos codificados y la multiplexación de sistemas o la generación de información de gestión se llevan a cabo por medio de aparatos independientes en el caso de generación de datos mediante el uso de una herramienta de autoría. No obstante, incluso en tal caso las operaciones de los respectivos aparatos se pueden diseñar para que sean iguales a las de las respectivas unidades del aparato de multiplexación 5100.
La FIG. 11 es un diagrama de flujo que ilustra operaciones llevadas a cabo en el procedimiento de multiplexación para generar datos multiplexados almacenados en el soporte de almacenamiento de información de la presente forma de realización. El procedimiento de multiplexación de la presente forma de realización se diferencia de un procedimiento de multiplexación convencional en que el presente procedimiento incluye: una etapa de determinación de una unidad en la que se pueden cambiar los esquemas de codificación de longitud variable (Etapa S5201), una etapa de codificación de un fragmento en función de la unidad determinada (Etapa S5202) y una etapa de generación de información de indicador que indica la unidad de cambio entre las unidades de codificación de longitud variable (Etapa S5204).
En primer lugar, en la Etapa S5201, se determina una unidad en la que se pueden cambiar los esquemas de codificación de longitud variable. Más específicamente, se determina en cuál de las siguientes unidades es posible el cambio: una unidad de reproducción continua, una unidad de fragmento y una unidad de acceso aleatorio. A continuación, en la Etapa S5202, los datos de un fragmento definidos por medio de MPEG-4 AVC se codifican en función de la unidad de cambio determinada en la Etapa S5201. En la Etapa S5203, se determina si la codificación del último fragmento ha terminado o no. Cuando la codificación del último fragmento ha terminado, el procedimiento pasa a la Etapa S5204, mientras que cuando la codificación del último fragmento no ha terminado, el procedimiento vuelve a la Etapa S5202 para repetir la codificación de fragmentos. En la Etapa S5204, se genera información de indicador que indica una unidad de cambio de los esquemas de codificación de longitud variable y el procedimiento pasa a la Etapa S5205. En la Etapa S5205, se crea información de gestión que incluye la información de indicador generada en la Etapa S5204 y se multiplexa la información de gestión y los datos de los fragmentos y se envían los datos resultantes.
La FIG. 12 es un diagrama de flujo que ilustra un ejemplo específico de la etapa de determinación de una unidad en la que se cambian los esquemas de codificación de longitud variable (Etapa S5201). Este dibujo da por supuesto que un fragmento que se muestra en (c) y (d) de la FIG. 7 es la unidad más pequeña en la que se pueden cambiar los esquemas de codificación de longitud variable. En este caso, un fragmento, que está almacenado en el soporte de almacenamiento como un fichero de datos de AV, se refiere, por ejemplo, a un fichero que almacena un flujo de MPEG-4 AVC o un flujo de VC-1. En un flujo de transporte, un fragmento se refiere a un flujo identificado por medio del identificador de un paquete de TS.
Haciendo referencia a la FIG. 12, la unidad de determinación de unidad de cambio 5101 determina si un fotograma actual que se va a codificar es o no el fotograma de inicio de un fragmento (S5201a). Cuando el fotograma actual no es el fotograma de inicio, es decir, el fotograma actual es un fotograma en mitad del fragmento, la unidad de determinación de unidad de cambio 5101 determina que no se permite cambiar entre los esquemas de codificación de longitud variable al codificar dicho fragmento (S5201f).
Cuando el fotograma actual es el fotograma de inicio, la unidad de determinación de unidad de cambio 5101 determina si el fragmento actual que incluye dicho fotograma de inicio se va a conectar o no de manera ininterrumpida al fragmento codificado anterior (S5201b). Cuando el fragmento actual se va a conectar de manera ininterrumpida, la unidad de determinación de unidad de cambio 5101 determina que no se permite cambiar entre los esquemas de codificación de longitud variable al codificar el fragmento que incluye el fotograma de inicio (S5201f).
Cuando el fragmento actual no se va a conectar de manera ininterrumpida, la unidad de determinación de unidad de cambio 5101 determina si el fragmento que incluye el fotograma de inicio es o no un fragmento correspondiente a un ángulo que constituye un multiángulo (S5201c). Cuando el fragmento corresponde a dicho ángulo, la unidad de determinación de unidad de cambio 5101 determina que no se permite cambiar entre los esquemas de codificación de longitud variable entre los ángulos que constituyen el multiángulo (S5201f). En este caso, en el caso de multiángulo ininterrumpido que permite una conexión ininterrumpida a cada ángulo, se determina que un esquema de codificación de longitud variable de cada ángulo sea el mismo esquema que se usa para el fragmento anterior de los segmentos multiángulo. Mientras que, en el caso de multiángulo interrumpido que no garantiza una conexión ininterrumpida a cada ángulo, el esquema de codificación de longitud variable de cada ángulo puede ser distinto al fragmento anterior de los segmentos multiángulo, siempre que entre los ángulos se use el mismo esquema de codificación de longitud variable.
Además, cuando el fotograma actual que se va a codificar es el fotograma de inicio de un fragmento y no es aplicable ninguna de las determinaciones de S5101b a S5101c (cuando la determinación es “no), la unidad de determinación de unidad de cambio 5101 determina que el esquema de codificación de longitud variable del fragmento que incluye el fotograma de inicio se puede cambiar al del fragmento codificado anterior (S5201e).
Como se ha descrito anteriormente, en el diagrama de flujo de la FIG. 12, fotogramas determinados por medio de la unidad de determinación de unidad de cambio 5101 como fotogramas para los que no se permite el cambio incluyen:
(a) un fotograma identificado por medio del identificador de paquetes de un flujo de transporte; (b) varios fragmentos que se van a conectar de manera ininterrumpida; (c) varios fragmentos correspondiente a los respectivos ángulos que forman un multiángulo. Cabe señalar que la determinación de S5201a a S5201c se puede hacer en cualquier orden. Cabe señalar también que, en el caso de multiángulo, el cambio entre los esquemas de codificación de longitud variable se puede prohibir sólo en el caso de multiángulo ininterrumpido. Asimismo, cabe señalar que, un fragmento se puede identificar por medio de información distinta a un identificador de paquetes, tal como un nombre de fichero. Asimismo, si bien la FIG. 12 se ha descrito para el caso en que la unidad más pequeña en la que se pueden cambiar los esquemas de codificación de longitud variable es un fragmento que se muestra en (c) y (d) de la FIG. 7, también se puede usar como la unidad más pequeña una RAU que se muestra en (e) de la FIG. 7. En tal caso, los procedimientos se deben llevar a cabo simplemente leyendo en los dibujos el término “clip” como “RAU”.
La FIG. 13 es un diagrama de flujo que ilustra un ejemplo específico de la etapa de codificación de un fragmento (S5202) que se muestra en la FIG. 11. La FIG. 13 muestra el caso de llevar a cabo una codificación conforme a MPEG-4 AVC. Haciendo referencia a este dibujo, la unidad de codificación 5103 determina, antes de iniciar la codificación de un fragmento, si el cambio de los esquemas de codificación de longitud variable es posible o no para dicho fragmento (S5202a). Dicha determinación se hace de acuerdo con las determinaciones que se muestran en la FIG. 12. En el caso de determinar que es posible el cambio, la unidad de codificación 5103 determina arbitrariamente una esquema de codificación de longitud variable para dicho fragmento (S5202b), mientras que en el caso de determinar que no es posible el cambio, la unidad de decodificación 5103 determina, como un esquema de codificación de longitud variable para dicho fragmento, un esquema de codificación de longitud variable que es el mismo que el del fragmento anterior que se va a conectar de manera ininterrumpida uno con otro o al de otro fragmento que constituye el mismo multiángulo (S5202c). Además, la unidad de codificación 5103 establece, para un conjunto de parámetros de fotograma PPS, un indicador que indica dicho esquema de codificación de longitud variable determinado (S5202d) y codifica el fragmento de acuerdo con el esquema de codificación de longitud variable determinado (S5202e). Dicho indicador se denomina indicador de modo de codificación entrópica en MPEG4 AVC.
Como se ha descrito anteriormente, la unidad de codificación 5103 genera datos codificados Cdata1 codificando una imagen en movimiento sin cambiar esquemas de codificación de longitud variable para fragmentos dentro de una unidad continua para la que se determina que no es posible el cambio de esquemas de codificación de longitud variable.
La FIG. 14 es un diagrama de flujo que ilustra un ejemplo específico de la etapa de generación de información de indicador (S5204) y de la etapa de generación de información de gestión (S5205) que se muestran en la FIG. 11.
Haciendo referencia al dibujo, la unidad de generación de información de cambio 5102 determina si un fragmento codificado por medio de la unidad de codificación 5103 es o no un fragmento para el que se determina que es posible el cambio de esquemas de codificación de longitud variable (S5204a). Cuando el fragmento es un fragmento para el que se determina que es posible el cambio, la unidad de generación de información de cambio 5102 genera información de indicador que indica que el esquema de codificación de longitud variable es fijo y almacena la información de indicador en un área de trabajo de la memoria, de manera que la información de indicador se asocia al fragmento (S5204b). Cuando el fragmento no es un fragmento para el que se determina que es posible el cambio, la unidad de generación de información de cambio 5102 genera información de indicador que indica que el esquema de codificación de longitud variable no es fijo y almacena la información de indicador en un área de trabajo de la memoria, de manera que la información de indicador se asocia al fragmento (S5204b). Además, la unidad de generación de información de cambio 5102 determina si dicho fragmento es o no el último fragmento codificado por medio de la unidad de codificación 5103 (S5204d). Cuando el fragmento no es el último fragmento, la unidad de generación de información de cambio 5102 repite las etapas S5204a a S5204c, que se han descrito anteriormente, mientras que cuando el fragmento es el último fragmento, la unidad de generación de información de cambio 5102 envía la información de indicador, almacenada en el área de trabajo de la memoria, a la unidad de creación de información de gestión 5105 como la información de cambio SwInf.
Además, la unidad de creación de información de gestión 5105 crea información de gestión que incluye una lista de reproducción (S5205a) y añade, a un elemento de reproducción incluido en la lista de reproducción, la información de indicador que indica que el esquema de codificación de longitud variable es fijo, en relación con la información de cambio SwInf (S5205b). Cabe señalar que la información de indicador puede indicar que el esquema de codificación de longitud variable es el mismo que se usa para reproducir segmentos especificados por el elemento de reproducción anterior. En este caso, la lista de reproducción indica el orden en que se reproducen uno o más títulos. Un elemento de reproducción es información que se refiere a un fragmento que se va a reproducir y que representa el total o una parte de los segmentos de reproducción de un fragmento. Asimismo, cabe señalar que otro parámetro añadido a un elemento de reproducción también puede servir de información de indicador. En este caso, por ejemplo, un parámetro que significa que fragmentos se conectan de manera ininterrumpida (por ejemplo, condición de conexión = 5”) también puede servir de información de indicador. Es posible dado que una unidad continua (una unidad en la que un esquema de codificación de longitud variable es fijo) para la que, en la FIG. 12, se determina que el cambio no es posible (una unidad en la que un esquema de codificación variable es fijo) incluye (a) un fragmento identificado por medio del identificador de paquetes de un flujo de transporte; (b) varios fragmentos que se van a conectar de manera ininterrumpida (c) varios fragmentos correspondientes a los respectivos ángulos que forman un multiángulo, de las que (c) se establece suponiendo que es posible la conexión interrumpida. Además, dado que un indicador conocido como “is_multi_angle” indica si corresponde o no a segmentos multiángulo, dicho indicador también puede servir de indicador que indica que un esquema de codificación de longitud variable es fijo.
Con dicha estructura, se puede reducir la cantidad de datos de la información de gestión.
La FIG. 15 es un diagrama de flujo que ilustra otro ejemplo específico de la etapa de codificación de un fragmento (S5202) que se muestra en la FIG. 11. La FIG. 15 muestra el caso de llevar a cabo la codificación conforme a VC-1. Haciendo referencia a este dibujo, la unidad de codificación 5103 determina, antes de iniciar la codificación de un fragmento, si el cambio de esquemas de codificación de longitud variable para dicho fragmento es posible o no entre MODO EN BRUTO y otro modo (S5202a). Esta determinación se hace de acuerdo con las determinaciones que se muestran en la FIG. 12. En el caso de determinar que es posible el cambio, la unidad de codificación 5103 determina arbitrariamente un esquema de codificación de mapa de bits para dicho fragmento (S5202f), mientras que en el caso de determinar que no es posible el cambio, la unidad de codificación 5103 determina, como un esquema de codificación de mapa de bits para dicho fragmento, un esquema de codificación de mapa de bits que es el mismo que el del fragmento anterior (S5202g). Además, la unidad de codificación 5103 determina si el esquema de codificación de mapa de bits es o no MODO EN BRUTO u otro esquema (S5202h). La unidad de codificación 5103 añade información que indica un modo fotograma a fotograma. En el caso de determinar que el modo es MODO EN BRUTO, la unidad de codificación 5103 codifica información predeterminada de cada uno de los macrobloques MB dentro de cada uno de dicho macrobloque (S5202i), mientras que en el caso de determinar que el modo no es MODO EN BRUTO, la unidad de codificación 5103 establece información predeterminada de cada uno de los macrobloques MB conjuntamente en la cabecera de un fotograma y codifica el fragmento (S5202j). Cabe señalar que la información, que se ha descrito anteriormente, que indica un modo se indica en el campo conocido como IMODE.
Como se ha descrito anteriormente, la unidad de codificación 5103 genera datos codificados Cdata1 codificando una imagen en movimiento sin cambiar esquemas de codificación de mapa de bits para fragmentos dentro de una unidad continua para la que se determina que no es posible el cambio de esquemas de codificación de longitud variable.
Se debería señalar que la lista de reproducción que se ha descrito anteriormente no se limita al uso en un disco óptico y, por consiguiente, la lista de reproducción también se puede usar como sigue: cuando se recibe un flujo sobre una red, en primer lugar se recibe la lista de reproducción para su análisis y la recepción de un flujo, de hecho, se inicia tras determinar que flujo se va a recibir. Asimismo, en el caso de transmisión de un flujo sobre una red de Protocolo de Internet (IP) tras paquetizarlo en paquetes de Protocolo de Transporte en Tiempo Real (RTP) o en paquetes de TS, se puede indicar si un esquema de codificación de longitud variable es fijo en segmentos de reproducción usando, por ejemplo, un Protocolo de Descripción de Sesión (SDP) como información de control de reproducción.
A continuación, se describe la estructura de datos de un disco BD-ROM que almacena datos generados con el procedimiento de codificación de imágenes según la presente forma de realización, así como la estructura de un reproductor que reproduce dicho disco.
<Estructura de datos lógicos en disco>
La FIG. 16 es un diagrama que muestra la estructura de un BD-ROM y, más en particular, que muestra un disco BD
(104) que es un soporte de disco, así como la estructura de datos (101, 102 y 103) almacenados en el disco. Almacenados en el disco BD (104) hay: datos de AV (103), datos de información de gestión de BD (102) que incluyen información de gestión de datos de AV, una secuencia de reproducción de AV y similares y un programa de reproducción de BD (101) para producir interactividad. A efectos de las ilustraciones, la presente forma de realización describe el disco BD centrándose en una aplicación de AV para reproducir el contenido de AV de una película, sin embargo, también se puede aplicar al caso en que el disco BD se usa a otros efectos.
La FIG. 17 es un diagrama que muestra las estructuras de directorios y ficheros de los datos lógicos almacenados en el disco BD que se ha descrito anteriormente. Como en el caso de otros discos ópticos, tales como DVDs y CDs, el disco BD tiene áreas de almacenamiento que están formadas en espiral en una dirección desde el radio interior hacia el radio exterior, así como un espacio de direcciones lógicas para almacenar datos lógicos entre el área de entrada, en el radio interior, y el área de salida, en el radio exterior. En el área más interior del área de entrada hay un área especial denominada un Área de Corte de Ráfaga (BCA), de la que sólo se pueden leer datos por medio de una unidad de disco. Dado que la aplicación no puede leer esta área, a veces se usa, por ejemplo, para técnicas de protección de derechos de autor o similares.
En el espacio de direcciones lógicas, información de sistema de ficheros (volumen) se almacena en la parte superior del espacio, y datos de aplicación, tales como datos de video, se almacenan en las áreas subsiguientes. El sistema de ficheros, que es un sistema de ficheros conforme al UDF y a la ISO9660, como se ha descrito en “Técnica Anterior”, es un sistema para leer los datos lógicos almacenados usando estructuras de directorios y ficheros, al igual que en los PCs normales.
Según las estructuras de los directorios y ficheros en el disco BD de la presente forma de realización, un directorio BDVIDEO está situado justo debajo del directorio raíz (ROOT). Dicho directorio es un directorio que almacena datos tales como contenido de AV e información de gestión (101, 102 y 103 que se muestran en la FIG. 16) almacenados en el BD.
En el directorio BDVIDEO se almacenan siete tipos de ficheros que se describen a continuación.
Fichero BD.INFO (este nombre de fichero es fijo)
Este fichero forma parte de la “información de gestión de BD” y almacena información relacionada con todo el disco
BD. Es el primer fichero que se va a leer por medio de un reproductor de BD.
Fichero BD.PROG (este nombre de fichero es fijo)
Este fichero forma parte del “programa de reproducción de BD” y almacena información de control de reproducción
relacionada con todo el disco BD.
XXX.PL (en el que “XXX” es variable y la extensión “PL” es fija).
Este fichero forma parte de la “información de gestión de BD” y almacena información de listas de reproducción que
es un escenario (secuencia de reproducción). Existe un fichero para cada lista de reproducción.
XXX.PROG (en el que “XXX” es variable y la extensión “PL” es fija)
Este fichero forma parte del “programa de reproducción de BD” y almacena información de control de reproducción
para cada lista de reproducción, como se ha descrito anteriormente. La lista de reproducción correspondiente se identifica por medio de un nombre de cuerpo de fichero (identificado por medio de una concordancia “XXX”).
YYY.VOB (en el que “YYY” es variable y la extensión “VOB” es fija)
Este fichero forma parte de los “datos de AV” y almacena un VOB (un VOB como el que se ha descrito en “Técnica
Anterior). Existe un fichero para cada VOB.
YYY.VOBI (en el que “YYY” es variable y la extensión “VOBI” es fija)
Este fichero forma parte de la “información de gestión de BD” y almacena información de gestión de flujo relacionada
con un VOB que son datos de AV. El VOB correspondiente se identifica por medio del nombre de cuerpo de fichero
(identificado por la concordancia “YYY”).
ZZZ.PNG (en el que “ZZZ” es variable y la extensión “PNG” es fija)
Este fichero forma parte de los “datos de AV” y almacena datos de imagen PNG (que es un formato de imagen
normalizado por W3C y se pronuncia “pe ene ge”) para construir subtítulos y un menú. Existe un fichero para cada imagen PNG.
<Estructura del reproductor>
A continuación, haciendo referencia a la FIG. 18 y a la FIG. 19, se ofrece una descripción de un reproductor que
reproduce el disco BD que se ha descrito anteriormente.
La FIG. 18 es un diagrama de bloques que muestra una función global del reproductor.
Datos almacenados en un disco BD (201) se leen a través de un lector óptico (202). Cada dato leído se transfiere a
una memoria dedicada, que depende del tipo de dicho dato. El programa de reproducción de BD (el contenido de
fichero de “BD.PROG” o “XXX.PROG”) se transfiere a la memoria de almacenamiento de programas (203), la
información de gestión de BD (“BD.INFO”, “XXX.PL” o “YYY.VOBI”) se transfiere a la memoria de almacenamiento de información de gestión (204) y los datos de AV (“YYY.VOB” o “ZZZ.PNG”) se transfieren a la memoria de almacenamiento de AV (205), respectivamente.
El programa de reproducción de BD almacenado en la memoria de almacenamiento de programas (203) se procesa por medio de la unidad de proceso de programa (206), la información de gestión de BD almacenada en la memoria de almacenamiento de información de gestión (204) se procesa por medio de la unidad de proceso de información de gestión (207) y los datos de AV almacenados en la memoria de almacenamiento de AV (205) se procesan por medio de la unidad de proceso de presentación (208), respectivamente.
La unidad de proceso de programa (206) recibe, de la unidad de proceso de información de gestión (207), información sobre una lista de reproducción que se va a reproducir e información de eventos, tales como tiempos para ejecutar un programa y, a continuación, ejecuta el programa. En el programa, se puede cambiar dinámicamente la lista de reproducción enviando, a la unidad de proceso de información de gestión (207), una instrucción para reproducir una lista de reproducción. La unidad de proceso de programa (206) recibe un evento del usuario, es decir, una petición de una tecla de control remoto, y ejecuta un programa correspondiente al evento de usuario, si hay alguno.
La unidad de proceso de información de gestión (207), en respuesta a una instrucción de la unidad de proceso de programa (206), analiza la información de gestión y la lista de reproducción correspondientes de un VOB correspondiente a la lista de reproducción y da instrucciones a la unidad de proceso de presentación (208) para que reproduzca los datos de AV objetivo. Además, la unidad de proceso de información de gestión (207) recibe información de tiempos de referencia de la unidad de proceso de presentación (208) y da instrucciones a la unidad de proceso de presentación (208) para que finalice la reproducción de los datos de AV en función de dicha información de tiempos, además de generar un evento, para la unidad de proceso de programa (206), que indica los tiempos para ejecutar el programa.
La unidad de proceso de presentación (208), que tiene decodificadores correspondientes respectivamente para video, audio y subtítulos/imágenes (imágenes fijas), decodifica y envía los datos de AV según una instrucción de la unidad de proceso de información de gestión (207). En el caso de datos de video y subtítulos/imágenes, se representan en los mapas dedicados respectivos, es decir, el mapa de videos (210) y el mapa de imágenes (209) una vez decodificados y compuestos por medio de una unidad de proceso de composición (211) y las imágenes compuestas se envían a un dispositivo de visualización, tal como una televisión.
El reproductor de BD, como se muestra en la FIG. 18, tiene una estructura de dispositivo que se basa en las estructuras respectivas de los datos almacenados en el disco BD que se muestra en la FIG. 16.
La FIG. 19 es un diagrama de bloques que muestra una estructura detallada del reproductor que se ha descrito anteriormente. En la FIG. 19, la memoria de almacenamiento de AV (205) corresponde a una memoria de imagen
(308) y a una memoria intermedia de pista (309), la unidad de proceso de programa (206) corresponde a un procesador de programa (302) y a un gestor de UOP (303), la unidad de proceso de información de gestión (207) corresponde a un procesador de escenario (305) y a un controlador de presentaciones (306) y la unidad de proceso de presentación (208) corresponde a un reloj (307), a un demultiplexor (310), a un procesador de imagen (311), a un procesador de video (312) y a un procesador de sonido (313), respectivamente.
Los datos de VOB (flujo de MPEG) y datos de imagen (PNG) leídos del disco BD (210) se almacenan respectivamente en la memoria intermedia de pista (309) y en la memoria de imagen (308). El demultiplexor (310) demultiplexa los datos de VOB almacenados en la memoria intermedia de pista (309) en función del tiempo que indica el reloj (307) y envía los datos de video al procesador de video (312) y los datos de audio al procesador de sonido (313), respectivamente. El procesador de video (312) y el procesador de sonido (313) están formados por una memoria intermedia de decodificador y un codificador, como especifica el estándar de sistema MPEG. Es decir, los datos de video y los datos de audio introducidos desde el demultiplexor (310) se almacenan temporalmente en las memorias intermedias de decodificador respectivas y se decodifican por medio de los decodificadores correspondientes respectivos según el reloj (307).
Las PNG almacenadas en la memoria de imagen (308) se procesan usando dos procedimientos que se describen a continuación.
En primer lugar, cuando los datos de imagen son datos de subtítulo, el controlador de presentaciones (306) da una instrucción sobre tiempos de decodificación. Tras recibir la información de tiempos del reloj (307), el procesador de escenario (305) da instrucciones, cuando es el momento de visualizar los subtítulos (cuando es el momento de iniciar/finalizar la visualización), al controlador de presentaciones (306) para que visualice o para que no visualice los subtítulos, de manera que los subtítulos se visualicen de un modo apropiado. El procesador de imagen (311), tras recibir una instrucción del controlador de presentaciones (306) para decodificar/visualizar los datos de imagen, lee los datos de PNG correspondientes de la memoria de imagen (308), los decodifica y representa los datos decodificados en el mapa de imágenes (314).
En segundo lugar, cuando los datos de imagen son datos de menú, el procesador de programa (302) da una instrucción sobre tiempos de decodificación. Todos los tiempos en que el procesador de programa (302) da una instrucción para decodificar los datos de imagen dependen del programa de BD procesado por medio del procesador de programa (302) y, por lo tanto, no se determinan simplemente.
Como se ha descrito en relación con la FIG. 18, los datos de imagen y los datos de video se envían, respectivamente, al mapa de imágenes (314) y al mapa de videos (315) una vez decodificados y se envían una vez compuestos por medio de la unidad de proceso de composición (316).
Mientras que la información de gestión (información de escenario e información de gestión de AV) leída del disco BD
(201) se almacena en la memoria de almacenamiento de información de gestión (304), la información de escenario (“BD.INFO” y “XXX.PL”) se lee y procesa por medio del procesador de escenario (305). Además, la información de gestión de AV (“YYY.VOBI”) se lee y se procesa por medio del controlador de presentaciones (306).
El procesador de escenario (305) analiza la información de la lista de reproducción y notifica al controlador de presentaciones (306) un VOB al que hace referencia la lista de reproducción correspondiente y la posición de reproducción de dicho VOB. El controlador de presentaciones (306) analiza la información de gestión (“YYY.VOBI”) de dicho VOB objetivo y da instrucciones al controlador de unidad de disco (317) para que lea el VOB objetivo.
Según la instrucción del controlador de presentaciones (306), el controlador de unidad de disco (317) lee los datos de AV objetivo moviendo el lector óptico. La lectura de datos de AV se almacena en la memoria de imagen (308) o en la memoria intermedia de pista (309), como se ha descrito anteriormente.
El procesador de escenario (305) supervisa el tiempo que indica el reloj (307) y envía al procesador de programa
(302) un evento en los tiempos establecidos en la información de gestión.
El programa de BD (“BD.PROG” o “XXX.PROG”) almacenado en la memoria de almacenamiento de programas
(301) se ejecuta por medio del procesador de programa (302). El procesador de programa (302) procesa el programa de BD cuando se envía un evento desde el procesador de escenario (305) o cuando se envía un evento desde el gestor de UOP (303). El gestor de UOP (303) genera un evento para el procesador de programa (302) cuando se envía una petición del usuario usando una tecla de control remoto.
<Espacio de aplicación>
La FIG. 20 es un diagrama que muestra un espacio de aplicación en el BD.
En el espacio de aplicación en el BD, una lista de reproducción (PlayList) sirve de unidad de reproducción. Cada lista de reproducción, que es una concatenación de células (Cell), incluye un escenario estático que es una secuencia de reproducción determinada por el orden de concatenación de células y un escenario dinámico descrito por el programa. A menos que el programa realice un cambio dinámico de un escenario, las células de la lista de reproducción se reproducen en el orden de concatenación y la finalización de la reproducción de todas las células marca la finalización de la reproducción de dicha lista de reproducción. Además, el programa puede cambiar objetivos de reproducción cuando la reproducción y la descripción se realizan fuera de la lista de reproducción, así como en función de la selección del usuario o del estado del reproductor. Un ejemplo típico de esto es el menú. En el BD, un menú se puede definir como un escenario que se va a reproducir según una selección del usuario y la lista de reproducción se puede seleccionar dinámicamente por medio del programa.
En este caso, el programa se refiere a un controlador de eventos que se ejecuta por medio de un evento de tiempo o un evento de usuario.
Eventos de tiempo son eventos que se generan en función de información de tiempos insertada en una lista de reproducción. Un ejemplo de eventos de tiempo es un evento enviado del procesador de escenario (305) al procesador de programa (302), que se ha descrito en relación con la FIG. 19. Cuando se proporciona un evento de tiempo, el procesador de programa (302) ejecuta un controlador de eventos asociado al ID correspondiente. Como se ha descrito anteriormente, se puede, para un programa que se va a ejecutar, dar una instrucción para reproducir otra lista de reproducción. En este caso, el programa detiene la reproducción de la lista de reproducción actual para reproducir otra lista de reproducción.
Eventos de usuario son eventos que genera el usuario mediante operaciones de teclas remotas y se clasifican, en líneas generales, en dos tipos. Eventos de usuario de un primer tipo son eventos de selección de menú que se generan accionando teclas de cursor (la tecla Arriba/Abajo/Derecha/Izquierda o la tecla “Determinación”). Controladores de eventos correspondientes a eventos de selección de menú son eficaces sólo durante un periodo limitado indicado en una lista de reproducción (el período de validez de cada controlador de eventos se establece como una de la información de la lista de reproducción). Cuando se pulsa la tecla Arriba/Abajo/Derecha/Izquierda o la tecla “Determinación” en el control remoto, se realiza una búsqueda de un controlador de eventos eficaz. Cuando hay un controlador de eventos eficaz, se ejecuta dicho controlador de eventos, mientras que cuando no hay un controlador de eventos eficaz, se ignora el evento de selección de menú.
Eventos de usuario de un segundo tipo son eventos de llamada de menú que se generan accionando la tecla “Menú”. Cuando se genera un evento de llamada de menú, se llama a un controlador de eventos globales. El controlador de eventos globales es un controlador de eventos que siempre es eficaz sin depender de las listas de reproducción. Usando esta función, se puede implementar una llamada de menú de DVD (por ejemplo, una función de llamada de (datos) audio o un menú de subtítulos durante la reproducción de un título y reanudar la reproducción del título en el punto de suspensión tras realizar un cambio en los (datos) audio o (datos) subtítulo).
Una célula (Cell), que es una unidad que constituye un escenario estático de una lista de reproducción, representa el total o una parte de segmentos de reproducción de un VOB (flujo de MPEG). Cada célula incluye los segmentos de reproducción de un VOB como información sobre tiempo de inicio de reproducción y tiempo de fin de reproducción. Información de gestión de VOB (VOBI), que está emparejada a un VOB individual, incluye un mapa de tiempos (TimeMap o TMAP), que es información de tabla que indica direcciones de almacenamiento correspondientes a tiempos de reproducción de datos. El uso de un mapa de tiempos permite obtener la dirección de inicio de lectura y la dirección de fin de lectura dentro de un VOB (es decir, el “YYY.VOB” objetivo) en función del tiempo de inicio de reproducción y del tiempo de fin de reproducción del VOB que se ha descrito anteriormente. El mapa de tiempos se describe detalladamente más adelante.
<Detalles sobre VOB>
La FIG. 21 es un diagrama que muestra la estructura de un flujo de MPEG (VOB) que se usa en la presente forma de realización.
Como se muestra en la FIG. 21, un VOB está formado por varias Unidades de Objeto de Video (VOBUs). Una VOBU sirve de una unidad de reproducción de un flujo multiplexado que adicionalmente incluye datos de audio de un Grupo de Fotogramas (GOP) en un flujo de video MPEG. La duración de reproducción de una VOBU es de 1,0 segundos o menos y, normalmente, aproximadamente 0,5 segundos.
El paquete de TS (Paquete de Flujo de Transporte de MPEG-2) en la cabecera de una VOBU almacena una cabecera de secuencia, que va seguida de una cabecera de GOP y de un fotograma I (Intracodificado), de manera que la decodificación se puede iniciar desde dicho fotograma I. Además, en el mapa de tiempos se gestiona: la dirección de un paquete de TS que incluye la parte de encabezamiento del primer fotograma I de la VOBU (dirección de inicio); la dirección de un paquete de TS que incluye la última parte del fotograma I, empezando con la dirección de inicio (dirección de fin) y el tiempo de inicio de reproducción de dicho fotograma I (PTS). Por consiguiente, se proporciona una entrada del mapa de tiempos para cada paquete de TS en la cabecera de una VOBU.
Cada VOBU incluye paquetes de video (V_PTK) y paquetes de audio (A_PTK). Cada paquete es de 188 bytes. Aunque no se ilustra en la FIG. 21, se proporciona un Sello de Tiempo de Llegada (ATS) justo antes de cada paquete de TS. El ATS indica un tiempo relativo en el que dicho paquete de TS se proporciona al decodificador.
Se asigna un ATS para cada paquete de ATS dado que la velocidad de sistema de este flujo de TS no es una velocidad fija, sino una velocidad variable. En general, cuando se usa una velocidad de sistema fija, se inserta un paquete de TS ficticio, denominado un paquete NULO. No obstante, es conveniente una velocidad variable a fin de almacenar imágenes de alta calidad en un volumen de almacenamiento limitado y un flujo de TS con un ATS se almacena en el BD.
La FIG. 22 es un diagrama que muestra la estructura de cada paquete de TS.
Como se muestra en la FIG. 22, un paquete de TS está formado por una cabecera de paquete de TS, un campo de adaptación y una carga útil. Un Identificador de Paquete (PID) está almacenado en la cabecera de paquete de TS, con lo que se identifica el tipo de información almacenada en el paquete de TS. Una Referencia de Reloj de Programa (PCR) está almacenada en el campo de adaptación. La PCR es un valor de referencia de un reloj de referencia (denominado Reloj de Tiempo de Sistema, STC) de un dispositivo que decodifica el flujo. Normalmente, el dispositivo demultiplexa el flujo de sistema en los tiempos indicados por la PCR y reconstruye varios flujos, tales como un flujo de audio. Un paquete de PES está almacenado en la carga útil.
Almacenado en la cabecera de paquete de PES hay un Sello de Tiempo de Decodificación (DTS) y un Sello de Tiempo de Presentación (PTS). El DTS indica los tiempos de decodificación de un fotograma/una trama de audio almacenados en el paquete de PES y el PTS indica tiempos de presentación, tales como los tiempo de salida de video/audio. Cada dato elemental, tal como datos de video y datos de audio, está almacenado en un área dealmacenamiento de datos, denominada Carga Útil de Paquete de PES de un paquete de PES, secuencialmente desde la parte superior. Asimismo, almacenado en la cabecera de paquete de PES hay un ID (stream_id) que identifica el tipo del flujo al que corresponden los datos almacenados en la carga útil.
Los detalles de un flujo de TS se especifican por medio de la ISO/IEC13818-1. Lo característico del BD es que se asigna un ATS para cada paquete de TS.
<Almacenamiento intercalado de un VOB>
A continuación, haciendo referencia a la FIG. 23 y a la FIG. 24, se ofrece una descripción de almacenamiento intercalado de un fichero VOB.
La parte superior de la FIG. 23 muestra una parte de la estructura del reproductor que se ha descrito anteriormente. Como se muestra en el dibujo, datos del disco BD se introducen, a través del lector óptico, en la memoria intermedia de pista cuando es un VOB, es decir, un flujo de MPEG, mientras que se introducen en la memoria de imagen cuando son PNG, es decir, datos de imagen.
La memoria intermedia de pista es una memoria intermedia FIFO y cada dato de VOB introducido en la misma se envía al demultiplexor en el orden de entrada. En ese momento, cada paquete de TS se extrae de la memoria intermedia de pista, según el ATS que se ha descrito anteriormente, y se envía al procesador de video o al procesador de sonido a través del demultiplexor. Mientras, respecto a los datos de imagen, el controlador de presentación da instrucciones de qué imagen se va a representar. Cuando los datos de imagen que se usan para representación son datos de imagen de subtítulos, dichos datos de imagen se borran de la memoria de imagen una vez usados. Por otro lado, cuando los datos de imagen que se usan para representación son datos de imagen de menú, dichos datos de imagen se mantienen almacenados en la memoria de imagen mientras tiene lugar la representación del menú. La representación del menú depende de una operación del usuario y, por lo tanto, cuando una parte del menú se vuelve a visualizar o se sustituye por otra imagen según una operación del usuario, se facilita la decodificación de los datos de imagen que se van a volver a visualizar permitiendo que los datos de imagen de menú se mantengan almacenados en la memoria de imagen mientras tiene lugar la representación del menú.
La parte inferior de la FIG. 23 muestra el almacenamiento intercalado de un fichero VOB y ficheros PNG en el disco BD. En general, en una ROM, tal como un CD-ROM y un DVD-ROM, datos de AV formados por una serie de unidades de reproducción continua que se van a reproducir secuencialmente, se almacenan de manera contigua. Siempre que los datos se almacenen de manera contigua, la unidad de disco simplemente tiene que leer los datos secuencialmente y suministrar los datos leídos a los decodificadores respectivos. No obstante, cuando datos contiguos se almacenan en el disco de manera discontinua, la unidad de disco tiene que buscar unidades continuas individuales y, por lo tanto, existe la posibilidad de que el suministro de datos se detenga dado que la lectura de datos se detiene mientras tiene lugar la búsqueda. Se prefiere que datos de un fichero VOB estén almacenados en áreas contiguas en el BD. Datos tales como datos de subtítulo, que se reproducen en sincronización con datos de video almacenados en un VOB, se tienen que leer del disco BD con algún procedimiento, como en el caso de un fichero VOB.
Los procedimientos de lectura de datos de subtítulo incluyen un procedimiento de lectura conjunta de todos los datos de imagen de subtítulos (ficheros PNG) antes de iniciar la reproducción de VOB. No obstante, no es razonable usar este procedimiento, dado que es necesaria una memoria de más capacidad.
En vista de esto, la presente forma de realización hace uso de un procedimiento en el que un fichero VOB se divide en varios bloques y se almacena intercalándolo con datos de imagen. La parte inferior de la FIG. 23 ilustra dicho almacenamiento intercalado.
Colocando apropiadamente un fichero VOB dividido y datos de imagen de manera intercalada, se pueden almacenar datos de imagen en la memoria de imagen en los tiempos necesarios sin tener que usar una memoria temporal de más capacidad, como se ha descrito anteriormente. No obstante, la lectura de datos de VOB se suspende durante la lectura de datos de imagen.
La FIG. 24 es un diagrama para describir un modelo, que soluciona este problema, para el suministro continuo de datos de VOB usando la memoria intermedia de pista.
Como se ha descrito anteriormente, datos de VOB se acumulan en la memoria intermedia de pista una vez. Suponiendo que la velocidad a la que los datos se introducen en la memoria intermedia de pista sea Va y la velocidad a la que los datos salen de la memoria intermedia de pista sea Vb, la cantidad de datos acumulados en la memoria intermedia de pista seguirá aumentando, cuando la diferencia entre Va y Vb sea Va>Vb, siempre que los datos se lean del disco BD de manera continua.
Supongamos, como se muestra en la parte superior de la FIG. 24, que un área de almacenamiento de VOBs contiguos empieza con la dirección lógica “a1” y termina con la dirección lógica “a2”. Supongamos, asimismo, que datos de imagen se almacenan en un área entre “a2” y “a3” y que datos de VOB no se pueden leer en dicha área.
La parte inferior de la FIG. 24 muestra el interior de la memoria intermedia de pista. El eje lateral indica tiempo y el eje vertical indica la cantidad de datos acumulados en la memoria intermedia de pista. Tiempo “t1” indica el momento en el que se inicia la lectura de datos, estando los datos almacenados en “a1”, que es el punto de inicio del área de almacenamiento de VOBs contiguos. En ese momento y a partir de ese momento, los datos se van a almacenar en la memoria intermedia de pista a la velocidad de Va-Vb. Huelga decir que, esta velocidad equivale a una diferencia entre las velocidades a las que los datos se introducen en la memoria intermedia de pista y salen de la misma. Tiempo “t2” indica el momento en que se leen los datos, estando los datos almacenados en “a2” que es el punto de fin del área de almacenamiento de VOBs contiguos. Es decir, durante el período a partir del tiempo “t1” y el tiempo “t2”, la cantidad de datos acumulados en la memoria intermedia de pista aumenta a la velocidad de Va-Vb. La cantidad de datos acumulados en el tiempo “t2” (B(t2)) se determina con la Ecuación 1 siguiente:
B(t2) = (Va-Vb) x (t2-t1) (Ecuación 1)
Después de esto, dado que datos de imagen están almacenados hasta las direcciones “a3” en el disco BD, no se introducen datos en la memoria intermedia de pista y, por lo tanto, la cantidad de datos de la memoria intermedia de pista disminuye a una velocidad de salida de “-Vb”. Esto continúa hasta que se llega al punto de lectura “a3”, que corresponde a “t3” en tiempo.
En este caso lo que importa es que existe la posibilidad de que la reproducción del VOB se detenga si la cantidad de datos acumulados en la memoria intermedia de pista es 0 antes del tiempo “t3”, puesto que significa que no se van a suministrar datos de VOB a los decodificadores. No obstante, cuando en el tiempo “t3” quedan datos en la memoria intermedia de pista, significa que la reproducción de VOB continúa sin detenerse.
Una condición relativa a esto se representa con la Ecuación 2 siguiente:
B(t2) -Vb x (t3-t2) (Ecuación 2)
Es decir, se debería determinar la posición de cada dato de imagen (datos no VOB) de manera que se cumpla la Ecuación 2.
<Estructura de datos de navegación>
Haciendo referencia a las FIGS. 25 a 31, se ofrece una descripción de la estructura de los datos de navegación (información de gestión de BD) en el BD.
La FIG. 25 es un diagrama que muestra una estructura interna de un fichero de información de gestión de VOB (“YYY.VOBI”).
La información de gestión de VOB incluye información de atributos de flujo (Attribute) del VOB y un mapa de tiempos. Cada atributo de flujo incluye un atributo de video (Video) y atributos de audio (Audio#1 a Audio#m). Dado que un VOB puede incluir varios flujos de audio, hay una indicación del número de flujos de audio (Number).
A continuación se indican los campos incluidos en el atributo de video (Video) y posibles valores incluidos en los respectivos campos:
Modo de compresión (Coding): MPEG1 MPEG2 MPEG4 MPEG-4 AVC (Codificación de Video Avanzada) Resolución (Resolution): 1920 x 1080 1440 x 1080 1280 x 720 720 x 480 720 x 565 Formato (Aspect)
4:3
16:9 Frecuencia de trama (Framerate) 60 59,94 (60/1.001) 50 30 29,97 (30/1.001) 25 24 23,976 (24/1.001)
A continuación se indican los campos incluidos en cada uno de los atributos de audio (Audio) y posibles valores incluidos en los respectivos campos:
Modo de compresión (Coding): AC3 MPEG1 MPEG2 LPCM Número de canales (Ch.): 1 a 8 Atributo lingüístico (Language):
El mapa de tiempos (TMAP), que es una tabla que contiene información correspondiente a cada VOBU, incluye el número de VOBUS (Number) del VOB e información de VOBU de cada una de dichas VOBUs (VOBU#1 a VOBU#n). Cada información de VOBU está formada por: la dirección I_start del primer paquete de TS de la VOBU (el inicio de un fotograma I; la dirección de desplazamiento que indica el final de dicho fotograma I (I_end) y el tiempo de inicio de reproducción de dicho fotograma I (PTS).
La dirección de fin real del fotograma I se puede usar como el valor de I_end, en lugar de usar el valor de desplazamiento, es decir, el tamaño del fotograma I.
La FIG. 26 es un diagrama para describir los detalles de cada información de VOBU.
Como se conoce, flujos de video MPEG se comprimen, en algunos casos, a velocidad binaria variable para almacenarlos con calidad de imagen alta y, por lo tanto, no existe simple correlación entre duración de reproducción y tamaño de datos. Por el contrario, dado que el AC3, que es un estándar de compresión para audio, lleva a cabo la compresión a una velocidad binaria fija, una relación entre duración y cada dirección se puede representar por medio de una expresión lineal. La duración de visualización de cada trama de datos de video MPEG es fija. Por ejemplo, la duración de visualización de una trama en el caso de NTSC es de 1/29,97 segundos, sin embargo, el tamaño de datos de cada trama después de la compresión difiere mucho de trama a trama dependiendo de la característica gráfica y del tipo de fotograma que se use para la compresión, es decir, si una trama es un fotograma I, un fotograma P o un fotograma B. Por lo tanto, en el caso de video MPEG, es imposible representar una relación entre duración y cada dirección por medio de una expresión lineal.
De hecho, es imposible representar la duración y cada tamaño de dato por medio de una expresión lineal en el caso de un flujo de sistema MPEG, es decir, un VOB, en el que datos de video MPEG están multiplexados. Debido a esto, en un VOB, la duración y cada dirección están asociadas entre sí en un mapa de tiempos (TMAP).
Como se ha descrito anteriormente, cuando se proporciona determinada información de tiempos se lleva a cabo lo siguiente: primero, detectar a qué VOBU pertenece dicho tiempo (comprueba el PTS de cada VOBU); saltar a la VOBU cuyo TMAP incluye el PTS inmediatamente anterior a dicho tiempo (dirección especificada por medio de I_start); llevar a cabo la decodificación a partir del primer fotograma I de la VOBU y visualizar fotogramas empezando con el fotograma correspondiente a dicho tiempo.
A continuación, haciendo referencia a la FIG. 27, se ofrece una descripción de una estructura interna de información de listas de reproducción (“XXX.PL”).
La información de listas de reproducción está formada por una lista de células (CellList) y una lista de eventos (EventList).
La lista de células (CellList) es una secuencia de células que se van a reproducir de la lista de reproducción, en la que las células se reproducen en el orden de descripción en la lista. La lista de células (CellList) está formada por el número de células (Number) e información de célula de cada una de dichas células (Cell#1 a Cell#n).
La información de célula (Cell#) incluye un nombre de fichero VOB (VOBName), tiempo de inicio (In) y tiempo de fin (Out) del VOB y una tabla de subtítulos (SubtitleTable). Tanto el tiempo de inicio (In) como el tiempo de fin (Out) se representan por medio de un número de trama del VOB y se puede obtener la dirección de datos de VOB necesaria para reproducción usando el mapa de tiempos que se ha descrito anteriormente.
La tabla de subtítulos (SubtitleTable) es una tabla que contiene información sobre subtítulos que se van a reproducir en sincronización con el VOB. Los subtítulos pueden estar en varios idiomas, como en el caso de audio, y la tabla de subtítulos (SubtitleTable) incluye el número de idiomas (Number), que es la primera información en la misma y va seguida de tablas correspondientes a los respectivos idiomas (Language#1 a Language#k).
La tabla correspondiente a cada idioma (Language#) está formada por información de idioma (Lang), el número de información de subtítulos que se va a visualizar individualmente (Number) e información de subtítulos que se va a visualizar individualmente (Speech#1 a Speech#j). Cada información de subtítulo (Speech#) está formada por: el nombre de fichero de datos de imagen correspondiente (Name); el tiempo de inicio de visualización (In) de los subtítulos y el tiempo de fin de visualización (Out) de los subtítulos y una posición de visualización de los subtítulos (Position).
La lista de eventos (EventList) es una tabla que define eventos que tienen lugar en la lista de reproducción. La lista de eventos incluye el número de eventos (Number), que va seguido de eventos individuales (Evnet#1 a Evnet#m). Cada evento (Event#) está formado por el tipo del evento (Type), el ID del evento (ID) y el tiempo en que tiene lugar el evento (Time) y el período de validez (Duration).
La FIG. 28 es un diagrama que muestra una tabla de controladores de eventos (“XXX.PROG”) que contiene controladores de eventos (por evento de tiempo y evento de usuario para selección de menú) de cada lista de reproducción.
La tabla de controladores de eventos contiene el número de programas/controladores de eventos definido (Number) y programas/controladores de eventos individuales (Program#1 a Program#n). Cada programa/controlador de eventos (Program#) incluye la definición del inicio del controlador de eventos (<event_handler> tag) y el ID del controlador eventos (ID) que está emparejado con el ID del evento como se ha descrito anteriormente. El programa se describe en los corchetes { } que van a continuación de Function. Los eventos (Event#1 a Event#m) almacenados en la lista de eventos que se ha descrito anteriormente (EventList) de “XXX.PL” se identifican usando el ID (IDs) de los controladores de eventos correspondientes de “XXX.PROG”.
A continuación, haciendo referencia a la FIG. 29, se ofrece una descripción de una estructura interna de información relativa a todo el disco BD (“BD.INFO”).
La información relativa a todo el disco BD está formada por una lista de títulos (TitleList) y una tabla de eventos (EventList) para eventos globales.
La lista de títulos (TitleList) incluye el número de títulos del disco (Number), que va seguido de información de título de cada uno de dichos títulos (Title#1 to Title#n). Cada información de título (Title#) incluye una tabla de listas de reproducción (PLTable) que contiene listas de reproducción del título y una lista de capítulos (Chapterlist) que contiene capítulos del título. La tabla de listas de reproducción (PLTable) incluye el número de listas de reproducción del título (Number) y los nombres de listas de reproducción (Name), es decir, los nombres de fichero de las respectivas listas de reproducción.
La lista de capítulos (Chapterlist) está formada por el número de capítulos incluidos en el título (Number) e información de capítulo de cada uno de dichos capítulos (Chapter#1 a Chapter#n). Cada información de capítulo (Chapter#) incluye una tabla de células (CellTable) que contiene células incluidas en el capítulo. La tabla de células (CellTable) está formada por el número de células (Number) e información de entrada de célula de cada una de dichas células (CellEntry#1 a CellEntry#k). Cada información de entrada de células (CellEntry#) está formada por el nombre de la lista de reproducción que incluye la célula y el número de célula de la lista de reproducción.
La lista de eventos (EventList) incluye el número de eventos globales (Number) e información sobre cada uno de dichos eventos globales. En este caso cabría señalar que el primer evento global definido se refiere a un primer evento (FirstEvent) y dicho evento se lee primero cuando el disco BD se introduce en el reproductor. Información de evento correspondiente a un evento global incluye únicamente el tipo del evento (Type) y el ID del evento (ID).
La FIG. 30 es un diagrama que muestra una tabla que contiene programas de controladores de eventos globales (“BD.PROG”).
El contenido de esta tabla es el mismo que el contenido de la tabla de controladores de eventos que se ha descrito en relación con la FIG. 28.
<Mecanismo de Aparición de Eventos>
Haciendo referencia a las FIGS. 31 a 33, se ofrece una descripción de un mecanismo de aparición de eventos.
La FIG. 31 es un diagrama que muestra un ejemplo de un evento de tiempo.
Como se ha descrito, un evento de tiempo se define en la lista de eventos (EventList) de la información de listas de reproducción (“XXX.PL”). Cuando un evento se define como un evento de tiempo, es decir, un evento cuyo tipo de evento (Type) es “TimeEvent”, se envía un evento de tiempo con el ID “Ex1” al procesador de programa desde el procesador de escenario en el tiempo de generación de eventos (“t1”). El procesador de programa busca un controlador de eventos con el ID de evento “EX1” y ejecuta dicho controlador de eventos objetivo. Por ejemplo, en la presente forma de realización se ejecuta un evento tal como la representación o similar de dos imágenes de botón.
La FIG. 32 es un diagrama que muestra un ejemplo de un evento de usuario para operación de menú.
Como se ha descrito anteriormente, un evento de usuario para operación de menú también se define en la lista de eventos (EventList) de la información de listas de reproducción (“XXX.PL”) Cuando se define un evento como un evento de usuario, es decir, un evento cuyo tipo de evento (Type) es “UserEvent”, dicho evento de usuario está listo en el tiempo de generación de eventos (“t1”). En ese momento, todavía no se ha generado el evento propiamente dicho. Dicho evento está en el estado listo durante el período indicado por medio de su información de período de validez (Duration).
Como se muestra en la FIG. 32, cuando el usuario pulsa la tecla Arriba/Abajo/Derecha/Izquierda o la tecla “Determinación” en el control remoto, el gestor de UOP, primero, genera un evento de UOP y lo envía al procesador de programa. El procesador de programas envía dicho evento de UOP al procesador de escenario. El procesador de escenario comprueba si existe o no algún evento de usuario que sea eficaz en el momento de recibir el evento de UOP. Cuando existe un evento de usuario eficaz, el procesador de escenario genera un evento de usuario y lo envía al procesador de programa. El procesador de programa busca un controlador de eventos con el ID de evento “Ev1” y ejecuta dicho controlador de eventos objetivo. Por ejemplo, en la presente forma de realización se inicia la reproducción de la lista de reproducción #2.
El evento de usuario generado no incluye información para identificar qué tecla del control remoto ha pulsado el usuario. Información sobre la tecla de control remoto seleccionada se notifica al procesador de programa por medio del evento de UOP y se almacena en el registro SPRM (8) del reproductor virtual. Comprobando el valor de dicho registro se puede llevar a cabo un proceso de conexión en el programa del controlador de eventos.
La FIG. 33 es un diagrama que muestra un ejemplo de un evento global.
Como se ha descrito anteriormente, un evento global se define en la lista de eventos (EventList) de la información relativa a todo el disco BD (“BD.INFO”). Cuando se identifica un evento como un evento global, es decir, un evento cuyo tipo de evento (Type) es “GlobalEvent”, dicho evento se genera únicamente cuando el usuario ha llevado a cabo una operación de tecla de control remoto.
Cuando el usuario pulsa la tecla “Menú”, el gestor de UOP primero genera un evento de UOP y lo envía al procesador de programa. El procesador de programa envía dicho evento de UOP al procesador de escenario. A continuación, el procesador de escenario genera un evento global correspondiente a dicho evento de UOP y lo envía al procesador de programa. El procesador de programa busca un controlador de eventos con el ID de evento “menu” y ejecuta dicho controlador de eventos objetivo. Por ejemplo, en la presente forma de realización se inicia la reproducción de la lista de reproducción #3.
Cabe señalar que, en la presente forma de realización, se da por supuesto que el número de teclas “Menú” es uno, sin embargo puede haber varias teclas de menú como en el caso de un reproductor de DVD. Se puede dar soporte a dicho caso definiendo un ID correspondiente a cada tecla de menú.
<Máquina de reproducción virtual>
Haciendo referencia a la FIG. 34 se ofrece una descripción de la estructura funcional de un procesador de programa.
El procesador de programa es un módulo de proceso que tiene una máquina de reproducción virtual en el mismo. Dicha máquina de reproducción virtual tiene la función de dar soporte a BDs y no depende de la implementación de un reproductor de BD. Es decir, se garantiza que la máquina de reproducción virtual realiza la misma función, independientemente del reproductor de BD.
En líneas generales, la máquina de reproducción virtual tiene dos funciones: funciones de programación y variables de reproductor (registros). En las funciones de programación, dos propiedades que se describen a continuación se definen como funciones eigen de BD según Java Script (marca registrada):
Función de enlace: detener la reproducción actual e iniciar la reproducción a partir de una lista de reproducción, célula o tiempo específicos.
Link (PL#, Cell#, time)
PL#: Nombre de lista de reproducción
Cell#: Número de célula
time: tiempo de inicio de reproducción en la célula
Función de representación de PNG: representar, en el mapa de imágenes, datos de PNG especificados
Draw (Fichero, X, Y) File: Nombre de fichero PNG
X: Posición en la coordenada X
Y: Posición en la coordenada Y Función de liberación de mapa de imágenes: liberar un área específica en un mapa de imágenes
Clear (X, Y, W, H)
X: Posición en la coordenada X
Y: Posición en la coordenada Y
W: Anchura en la dirección X
H: Anchura en la dirección Y
Variables de reproductor incluyen parámetros de sistema (SPRMs) que indican el estado del reproductor y parámetros generales (GPRMs) que se pueden usar para usos generales.
La FIG. 35 muestra una lista de parámetros de sistema (SPRMs) SPRM (0): Código de idioma SPRM (1): Número de flujo de audio SPRM (2): Número de flujo de subtítulo. SPRM (3): Número de ángulo SPRM (4): Número de título SPRM (5): Número de capítulo SPRM (6): Número de programa SPRM (7): Número de célula SPRM (8): Nombre de tecla SPRM (9): Temporizador de navegación SPRM (10): Tiempo de reproducción actual SPRM (11): Modo de mezcla de audio de reproductor para Karaoke SPRM (12): Código de país para gestión parental SPRM (13): Nivel parental SPRM (14): Configuración de reproductor (video) SPRM (15): Configuración de reproductor (audio) SPRM (16): Código de idioma para flujo de audio SPRM (17): Código de idioma para flujo de audio (extensión) SPRM (18): Código de idioma para flujo de subtítulo SPRM (19): Código de idioma para flujo de subtítulo (extensión) SPRM (20): Código de región de reproductor SPRM (21): reservado SPRM (22): reservado SPRM (23): Estado del reproductor SPRM (24): reservado SPRM (25): reservado SPRM (26): reservado SPRM (27): reservado SPRM (28): reservado SPRM (29): reservado SPRM (30): reservado SPRM (31): reservado
Cabe señalar que, en la presente forma de realización, las funciones de programación se definen según Java Script (marca registrada), sin embargo, dichas funciones de programación se pueden definir según otras funciones de programación, tales como B-Shell y Perl Script que se usan en OSs tales como UNIX OS (marca registrada), en lugar de definirlas según Java Script (marca registrada). Es decir, la presente invención no se limita al uso de Java Script (marca registrada) para sus definiciones.
<Ejemplo de Programa>
La FIG. 36 y la FIG. 37 son diagramas que muestran ejemplos de programas como controladores de eventos.
La FIG. 36 es un diagrama que muestra un ejemplo de un menú que tiene dos botones de selección.
El programa que se ilustra en la parte izquierda de la FIG. 36 se ejecuta en función del evento de tiempo superior de la célula (PlayList#1. Cell#1). En este caso, “1” se establece a uno de los parámetros generales GPRM (0) por defecto. GPRM (0) se usa en el programa para identificar el botón seleccionado. En la condición inicial, es un valor inicial que indica que se selecciona el botón 1 situado en la parte izquierda.
A continuación, usando una función de representación Draw, se representa la PNG del botón 1 y del botón 2. El botón 1 se forma representando la imagen PNG “1black.png” que se extiende desde las coordenadas (10, 200) como el punto de inicio (esquina superior izquierda). El botón 2 se forma representando la imagen PNG “2white.Png” que se extiende desde las coordenadas (330, 200) como el punto de inicio (esquina superior izquierda).
Por lo tanto, el programa que se ilustra en la parte derecha de la FIG. 36 se ejecuta en función del último evento de tiempo de la célula actual. En este programa se especifica, usando la función Link, que la célula se debería reproducir nuevamente desde la parte superior.
La FIG. 37 es un diagrama que muestra un ejemplo de un controlador de eventos para un evento de usuario para selección de menú.
Programas correspondientes a cada una de las teclas de control remoto, cuando se selecciona cualquiera de la tecla “Izquierda”, tecla “Derecha” y tecla “Determinación”, se describen en el controlador de eventos. Como se ha descrito en relación con la FIG. 32, cuando el usuario pulsa una tecla de control remoto, se genera un evento de usuario y, a continuación, se activa el controlador de eventos que se muestra en la FIG. 37. En dicho controlador de eventos, se lleva a cabo un proceso de conexión usando el valor de GPRM (0) para identificar el botón seleccionado y usando SPRM (8) para identificar la tecla de control remoto seleccionada.
Condición 1) cuando se selección el botón 1 y se selecciona la tecla “Derecha”
GPRM (0) se restablece a 2 a fin de cambiar el botón seleccionado actualmente al botón 2 de la derecha.
Se vuelven a representar las imágenes del botón 1 y botón 2 respectivos.
Condición 2) cuando se selecciona la tecla “Determinación (OK)” y se selecciona el botón 1
Se inicia la reproducción de la lista de reproducción #2.
Condición 3) cuando se selecciona la tecla “Determinación (OK)” y se selecciona el botón 2
Se inicia la reproducción de la lista de reproducción #3.
La ejecución se realiza como sigue.
<Flujo de procedimientos de reproductor>
A continuación, haciendo referencia a las FIGS. 38 a 41, se ofrece una descripción del flujo de procedimientos llevados a cabo por medio del reproductor.
La FIG. 38 es un diagrama que muestra el flujo de procedimientos básicos hasta la reproducción de datos de AV. Cuando se inserta el disco BD (S101), el reproductor de BD carga y analiza el fichero BD.INFO (S102) y, a continuación, carga el BD.PROG (S103). Tanto el BD.INFO como el BD.PROG se almacenan una vez en la memoria de almacenamiento de información de gestión y se analizan por medio del procesador de escenario.
A continuación, el procesador de escenario genera el primer evento en función de la información de primer evento (FirstEvent) del fichero BD. INFO (S104). El procesador de programa recibe el primer evento generado y ejecuta un controlador de eventos correspondiente a dicho evento (S105).
Se prevé que la información de listas de reproducción que se deberían reproducir primero esté almacenada en el controlador de eventos correspondiente al primer evento. Si no hay instrucciones para reproducir una lista de reproducción, el reproductor se mantiene esperando un evento de usuario sin reproducir nada (S201). Cuando el reproductor de BD recibe una operación de control remoto del usuario, el gestor de UOP hace que el gestor de programas inicie la ejecución del evento de UOP (S202).
El gestor de programas determina si dicho evento de UOP es o no un evento de tecla de menú (S203). Cuando el evento de UOP es un evento de tecla de menú, el gestor de programas envía el evento de UOP al procesador de escenario y el procesador de escenario genera un evento de usuario (S204). El procesador de programa ejecuta un controlador de eventos correspondiente a dicho evento de usuario generado (S205).
La FIG. 39 muestra el flujo de procedimientos desde la reproducción de una PL hasta la reproducción de un VOB.
Como se ha descrito anteriormente, la reproducción de la lista de reproducción se inicia por medio de un controlador de primer evento o un controlador de eventos globales (S301). El procesador de escenario carga y analiza la información de listas de reproducción “XXX.PL” como información necesaria para reproducir la lista de reproducción que se va a reproducir (S302) y carga la información de programas “XXX.PROG” correspondiente a dicha lista de reproducción (S303). A continuación, el procesador de escenario da instrucciones para la reproducción de una célula en función de la información de célula registrada en la lista de reproducción (S304). Dado que la reproducción de la célula significa que hay una petición del procesador de escenario al controlador de presentaciones, el controlador de presentaciones inicia la reproducción de los datos de AV (S305).
Cuando se inicia la reproducción de los datos de AV (S401), el controlador de presentaciones carga y analiza el fichero de información (XXX.VOBI) del VOB correspondiente a la célula que se va a reproducir (S402). Haciendo referencia al mapa de tiempos, el controlador de presentación identifica la primera VOBU que se va a reproducir y la dirección de dicha VOBU y notifica dicha dirección al controlador de unidad de disco y el controlador de unidad de disco lee los datos de VOB objetivo (S403). En consecuencia, los datos de VOB se envían a los decodificadores y se inicia la reproducción de dichos datos (S404).
La reproducción del VOB continúa hasta que se llega al final de los segmentos de reproducción de dicho VOB (S405), a lo que sigue la reproducción de la célula siguiente S304. Si no sigue ninguna célula, se detiene la reproducción (S406).
La FIG. 40 muestra el flujo de procedimientos de eventos una vez iniciada la reproducción de los datos de AV.
El reproductor de BD es un reproductor accionado por evento. Cuando se inicia la reproducción de una lista de reproducción, se activan, respectivamente, procedimientos de eventos correspondientes a evento de tiempo, evento de usuario y visualización de subtítulos y procedimientos de eventos se ejecutan en paralelo con los mismos.
Los procedimientos de las etapas S500’ son un flujo de procedimientos de eventos de tiempo
Una vez iniciada la reproducción de la lista de reproducción (S501) y llevada a cabo una etapa de comprobación de si la reproducción de la lista de reproducción ha terminado o no (S502), el procesador de escenario comprueba si es
o no el momento para la aparición de eventos de tiempo (S503). Cuando es el momento para la aparición de eventos de tiempo, el procesador de escenario genera un evento de tiempo (S504) y el procesador de programa recibe dicho evento de tiempo y ejecuta el controlador de eventos correspondiente (S505).
Los procedimientos vuelven de nuevo a la Etapa S502 en los siguientes casos y se repiten los procedimientos que se han descrito anteriormente: no es el momento para la aparición de eventos de tiempo en la Etapa S503 y una vez ejecutado el controlador de eventos en la Etapa S504. Mientras que, cuando el resultado de la comprobación de la Etapa S502 es que ha terminado la reproducción de la lista de reproducción, se cancelan manualmente los procedimientos de eventos de tiempo.
Los procedimientos de las etapas S600’ son un flujo de procedimientos de eventos de usuario.
Una vez iniciada la reproducción de la lista de reproducción (S601) y llevada a cabo una etapa de comprobación de si la reproducción de la lista de reproducción ha terminado o no (S602), el procedimiento pasa a una etapa de comprobación de si se ha aceptado o no alguna UOP (S603). Cuando se ha aceptado una UOP, el gestor de UOP genera un evento de UOP (S604) y el procesador de programa recibe dicho evento de UOP y comprueba si el evento de UOP recibido es o no una llamada de menú (S605). Cuando el evento de UOP es una llamada de menú, el procesador de programa hace que el procesador de escenario genere un evento (S607) y el procesador de programa ejecuta el controlador de eventos correspondiente (S608).
Cuando el resultado de la comprobación de la Etapa S605 es que el evento de UOP no es una llamada de menú, indica que el evento de UOP es un evento que se genera accionando una tecla de cursor o la tecla “Determinación”.
En este caso, el procesador de programa determina si el tiempo actual está o no dentro del período de validez del evento de usuario (S606). Cuando el tiempo actual está dentro del período de validez del evento de usuario, el procesador de escenario genera un evento de usuario (S607) y el procesador de programa ejecuta el controlador de eventos correspondiente (S608).
Los procedimientos vuelven de nuevo a la Etapa S602 en los siguientes casos y se repiten los procedimientos que se han descrito anteriormente: el resultado de la comprobación de la Etapa S603 es que no se ha aceptado ninguna UOP; en la Etapa S606 se determina que el tiempo actual no está dentro del período de validez del evento de usuario y una vez ejecutado el controlador de eventos en la Etapa S608. Mientras que, cuando el resultado de la comprobación de la Etapa S602 es que ha terminado la reproducción de la lista de reproducción, se cancelan manualmente los procedimientos de eventos de usuario.
La FIG. 41 muestra el flujo de procedimientos de subtítulos.
Una vez iniciada la reproducción de la lista de reproducción (S701) y llevada a cabo una etapa de comprobación de si la reproducción de la lista de reproducción ha terminado o no (S702), el procedimiento pasa a una etapa de comprobación de si el tiempo actual es o no el momento para iniciar la representación de subtítulos (S703). Cuando el tiempo actual es el momento para iniciar la representación de subtítulos, el procesador de escenario da instrucciones al controlador de presentaciones para que represente subtítulos y el controlador de presentaciones da instrucciones al procesador de imagen para que represente subtítulos (S704). Cuando el resultado de la comprobación de la Etapa S703 es que el tiempo actual no es el momento para iniciar la representación de subtítulos, se comprueba si el tiempo actual es o no el momento para finalizar la visualización de los subtítulos (S705). Cuando el resultado de la comprobación es que el tiempo actual es el momento para finalizar la visualización de los subtítulos, el controlador de presentaciones da instrucciones al procesador de imagen para que borre los subtítulos y el procesador de imagen borra los subtítulos representados en el mapa de imágenes (S706).
Los procedimientos vuelven a la Etapa S702 en los siguientes casos y se repiten los procedimientos que se han descrito anteriormente: una vez llevada a cabo la representación de subtítulos en la etapa S704; una vez llevado a cabo el borrado de subtítulos en la Etapa S706 y el resultado de la comprobación de la Etapa S705 es que el tiempo actual no es el momento para finalizar la visualización de los subtítulos. Mientras que, cuando el resultado de la comprobación de la Etapa S702 es que ha terminado la reproducción de la lista de reproducción, se cancelan manualmente los procedimientos de subtítulos.
(Segunda forma de realización)
A continuación, se ofrece una descripción de la segunda forma de realización de la presente invención.
La segunda forma de realización es una descripción para realizar una proyección de diapositivas de imágenes fijas usando la aplicación que se ha descrito anteriormente. Básicamente, los detalles de la segunda forma de realización se basan en la primera forma de realización. Por lo tanto, la segunda forma de realización se centra en diferencias o partes ampliadas.
<Referencia a fotograma I>
La FIG. 42 muestra una relación entre una proyección de diapositivas (aplicación de imágenes fijas) y un mapa de tiempos. Normalmente, una proyección de diapositivas se compone sólo de imágenes fijas (fotogramas I). El mapa de tiempos incluye la posición e información de tamaño de los datos de imágenes fijas. Cuando se elija una imagen fija determinada, dicha única imagen fija se visualizará tras extraer los datos necesarios y enviarlos al decodificador. Normalmente, una proyección de diapositivas no necesariamente se visualiza en el orden de las imágenes como ocurre con una imagen fija, dado que su orden de visualización difiere dependiendo de una interacción de usuario. A fin de garantizar que se lleva a cabo una visualización de imágenes de cualquier imagen se usan fotogramas I, que están intracodificados y se pueden decodificar por sí mismos.
No obstante, a fin de reducir la cantidad de datos, también se puede realizar una proyección de diapositivas usando fotogramas P, que están comprimidos con relación a fotogramas I, y usando fotogramas B, que están comprimidos con relación a dos o más fotogramas anteriores/posteriores.
No obstante, fotogramas P y fotogramas B no se pueden decodificar sin los fotogramas a los que se refieren. Debido a esto, un fotograma P o un fotograma B posicionado en el centro no se puede decodificar incluso cuando se desea que la reproducción se inicie a partir de dichos fotogramas en respuesta a una interacción de usuario. En vista de esto, como se muestra en la FIG. 43, se proporciona un indicador que indica que un fotograma indicado en el mapa de tiempos es un fotograma I y que no se refiere a ningún fotograma. La referencia a dicho indicador posibilita conocer; que, cuando una imagen determinada no necesita imágenes de referencia o, dicho de otro modo, dicha imagen se puede decodificar por sí misma, se puede llevar a cabo la decodificación y visualización, a partir de dicha imagen independientemente de sus imágenes anteriores y posteriores que se visualicen y que, cuando una imagen determinada necesita un imagen de referencia, dicha imagen no se puede visualizar dependiendo de su orden de visualización, dado que la imagen no se puede visualizar a menos que sus imágenes relacionadas se hayan decodificado con anterioridad a dicha imagen.
Cabe señalar que, en todo el mapa de tiempos, indicadores que indican que fotogramas a los que se hace referencia desde el mapa de tiempo son siempre fotogramas I o, dicho de otro modo, que cualquier fotograma se puede decodificar por sí mismo, se pueden almacenar en el mapa de tiempos como se muestra en la FIG. 44 o en una parte de la información de navegación relacionada. Cuando dicho indicador no está establecido, una entrada del mapa de tiempos no necesariamente indica un fotograma I y, por lo tanto, no hay garantías de que el fotograma al que se hace referencia se pueda decodificar.
Cabe señalar que si bien la descripción anterior se ha ofrecido usando un fotograma I según un flujo de vídeo MPEG-2, se puede usar un fotograma de Regeneración de Decodificador Instantánea (IDR) en el caso de MPEG-4 AVC (también denominado H.264 o JVT). Además, se puede usar y aplicar con facilidad un fotograma I distinto de un fotograma de IDR o incluso una imagen en otro formato, siempre que dicha imagen se pueda decodificar por sí misma.
<Garantía para referencia de todos los fotogramas I>
La FIG. 45 muestra una diferencia entre una aplicación de imágenes en movimiento y una aplicación de imágenes fijas (una proyección de diapositivas). Como se muestra en (a) de la FIG. 45, en el caso de la aplicación de imágenes en movimiento, una vez iniciada la reproducción, los fotogramas subsiguientes se decodificarán secuencialmente. Por lo tanto, no es necesario establecer una referencia hecha desde el mapa de tiempos para todos los fotogramas I y es suficiente con establecer una entrada del mapa de tiempos únicamente al menos en un punto a partir del que se desea que se inicie la reproducción.
(b) de la FIG. 45 muestra un ejemplo de una proyección de diapositivas. En el caso de la proyección de diapositivas, es necesario visualizar imágenes fijas sin visualizar el video anterior y posterior independientemente de su orden, en respuesta a una operación de usuario, tal como una operación de salto. Debido a esto, datos de fotogramas I que se van a visualizar no se pueden enviar al decodificador sin analizar realmente todo el flujo, a menos que haya entradas registradas en el mapa de tiempos para todos los fotogramas I. Esto tiene como resultado un rendimiento reducido. Si hay una entrada en el mapa de tiempos para cada fotograma I, se puede hacer un acceso directo sólo a los datos de fotogramas I necesarios a fin de leer dichos datos y enviarlos al decodificador. Esto tiene como resultado una eficacia de acceso favorable, así como un rendimiento favorable dado que se necesita menos tiempo antes de que se visualicen los fotogramas.
Si se puede identificar que existen entradas para todos los fotogramas I, se puede conocer el alcance de los datos que se van a leer haciendo referencia a la entrada correspondiente del mapa de tiempos cuando se accede a cualquier fotograma I. En consecuencia, no existe la necesidad de hacer análisis innecesarios de los fotogramas anteriores y posteriores.
Cuando no se garantiza que existen entradas para todos los fotogramas I y cuando se especifica que un fotograma I no registrado en el mapa de tiempos se va a visualizar, es necesario extraer los datos necesarios a la vez que se analizan sus fotogramas anteriores y posteriores en el flujo. Esto tiene como resultado una eficacia de acceso reducida y un rendimiento reducido dado que se tarda tiempo en visualizar los fotogramas.
En vista de esto, proporcionando un indicador que indica si hay garantía o no de que se hace referencia a todos los fotogramas I desde el mapa de tiempos, como se muestra en la FIG. 46, resulta posible identificar si el análisis de los fotogramas anteriores y posteriores en el flujo es necesario o no analizando los datos fijos y, por lo tanto, un indicador de este tipo es eficaz.
Cabe señalar que un indicador de este tipo es eficaz no sólo para una aplicación de imágenes fijas, tal como una proyección de diapositivas, si no también para una aplicación de imágenes en movimiento y que un indicador de este tipo puede servir para garantizar que la reproducción se puede iniciar a partir de cualquier fotograma I.
(Tercera forma de realización)
En la segunda forma de realización se ha descrito que se puede usar MPEG-4 AVC como un esquema de codificación para implementar una aplicación de imágenes fijas. Imágenes fijas conforme a MPEG-4 AVC se especifican como Fotogramas Fijos de AVC no del estándar MPEG-4 AVC propiamente dicho, sino de un estándar de extensión para MPEG-4 AVC del sistema de MPEG-2 (ISO/IEC13818-1Modificación3). No obstante, dado que el estándar de sistema MPEG-2 no especifica un procedimiento para reproducir imágenes fijas, es necesario especificar adicionalmente su procedimiento de reproducción a fin de usarlas en una aplicación de imágenes fijas. La presente forma de realización describe una estructura de datos de imágenes fijas y un procedimiento de visualización de la misma para aplicar MPEG-4 AVC a una aplicación de imágenes fijas.
Se especifica que Fotogramas Fijos de AVC del estándar de sistema MPEG-2 incluyen: un fotograma de IDR; un Conjunto de Parámetros de Secuencia (SPS) al que hace referencia el fotograma de IDR y un Conjunto de Parámetros de Fotograma. La FIG. 47 muestra una estructura de datos de un imagen fija conforme a MPEG-4 AVC (en lo sucesivo denominada una imagen fija de AVC) según la presente forma de realización. Cada casilla del dibujo muestra una Unidad de Abstracción de Red (unidad de NAL). La imagen fija de AVC deberá incluir, sin excepción, una unidad de NAL de FIN de secuencia. Dado que Fin de Secuencia es información de identificación que indica el final de una secuencia de MPEG-4 AVC, se puede definir un procedimiento de visualización único para imágenes fijas de AVC, que no está definido por el estándar MPEG-4 AVC, colocando una unidad de NAL de Fin de Secuencia que marque el fin de secuencia. En este caso, se da por supuesto que el orden en que aparece cada unidad de NAL se especifica con el orden definido por el estándar MPEG-4 AVC.
A continuación, haciendo referencia a la FIG. 48, se describe un procedimiento para visualizar imágenes fijas de AVC. En una aplicación de imágenes fijas, es necesario especificar el tiempo de visualización de una imagen fija y la duración de visualización de una imagen fija. El tiempo de visualización (Sello de Tiempos de Presentación: PTS) de una imagen fija de AVC se obtiene de una mapa de tiempos o de la cabecera de un paquete de Flujo Elemental Paquetizado (PES). En este caso, cuando los tiempos de visualización de todas las imágenes fijas están indicados en el mapa de tiempos, se pueden obtener tiempos de visualización mediante referencia sólo al mapa de tiempos. Durante un período de tiempo desde el tiempo de visualización de la imagen fija de AVC Nth hasta el tiempo de visualización de la imagen fija de AVC N+1th, la visualización de la imagen fija de AVC Nth se congela o, dicho de otro modo, la imagen fija de AVC Nth se visualiza reiteradamente.
Cuando se reproducen imágenes fijas de AVC, es aconsejable poder obtener la velocidad de trama de los datos de las imágenes fijas de AVC. Según MPEG-4 AVC, la velocidad de visualización de un flujo de imágenes en movimiento se puede indicar como Información de Usabilidad de Video (VUI) de un SPS. Más específicamente, se hace referencia a los tres campos siguientes: num_units_in_tick, time_scale y fixed_frame_rate_flag. En este caso, time_scale indica una escala de tiempo. Time_scale de un reloj que funciona a 30000 Hz se puede representar, por ejemplo, como 30000. Num_units_in_tick es una unidad básica que indica el tiempo en que funciona un reloj. Por ejemplo, suponiendo que num_units_in_tick de un reloj cuya time_scale es 30000 sea 1001, se puede mostrar que el período fundamental en el que funciona el reloj es 29,97 Hz. Además, estableciendo fixed_frame_rate_flag, se puede mostrar que la velocidad de trama es fija. En MPEG-4 AVC, el uso de estos campos posibilita mostrar un valor diferencial entre los tiempos de visualización de dos fotogramas consecutivos. En la presente forma de realización, estos campos se usan para mostrar la velocidad de trama a la que una imagen fija de AVC se visualiza reiteradamente. En primer lugar, estableciendo 1 a fixed_frame_rate_flag, se muestra que la trama de velocidad es fija. A continuación, en caso de establecer la velocidad de trama a 23,976 Hz, num_units_in_tick se establece a 1001 y time_scale se establece a 24000, por ejemplo. Es decir, estos dos campos se establecen de manera que la velocidad de trama = time_scale/num_units_in_tick. Además, a fin de garantizar la existencia de la VUI y los tres campos anteriores de la VUI, tanto vui_parameters_present_flag del SPS como timing_info_present_flag de la VUI se establecen a 1. Cuando la imagen fija de AVC Nth es la última imagen fija de AVC, la visualización de la misma se congelará hasta que un programa predetermine que se inicie una operación de usuario, la próxima operación o similar. Cabe señalar que un procedimiento para establecer la velocidad de trama no se limita al uso de time_scale/num_units_in_tick. En el caso de un flujo de imágenes en movimiento conforme a MPEG-4 AVC, por ejemplo, time_scale/num_units_in_tick indica una velocidad de campo (parámetro que indica intervalos a los que se visualizan los campos) y, por consiguiente, la velocidad de trama se indica por medio de time_scale/num_units_in_tick/2. Por lo tanto, la velocidad de trama de imágenes fijas se puede establecer como time_scale/num_units_in_tic/2.
La velocidad de trama que se indica según el procedimiento anterior coincidirá con el valor de velocidad de trama indicado en la información de gestión de BD. Más específicamente, la velocidad de trama coincidirá con el valor indicado por el campo frame_rate de SteamCodingInfo.
Cabe señalar que se puede obtener el período de visualización en el que una imagen fija de AVC se visualiza reiteradamente a partir de la velocidad de trama que se indica según el procedimiento anterior. Dicho período de visualización se puede establecer como un múltiplo entero de una cuadrícula de trama o una cuadrícula de campo. Esto garantiza la reproducción sincronizada con otra fuente de video, tal como video y gráficos. En este caso, la cuadrícula de trama o cuadrícula de campo se genera en función de la velocidad de trama de un flujo específico, tal como video. Además, el valor diferencial entre los tiempos de visualización de la imagen fija de AVC Nth y la imagen fija de AVC N+1th se pueden establecer como un múltiplo entero de una cuadrícula de trama o una cuadrícula de campo.
El mapa de tiempos de la segunda forma de realización se usa como mapa de tiempos al que se hará referencia en el momento de reproducir imágenes fijas de AVC.
Además, en el formato BD-ROM y similares, estos campos se pueden omitir especificando los valores por defecto de num_units_in_tick, time_scale y fixed_frame_rate_flag.
No está permitido cambiar la resolución dentro de un flujo en el caso de un flujo de video. No obstante, en el caso de un flujo de imágenes fijas, puede estar permitido cambiar la resolución dentro de un flujo dado que se puede gestionar la memoria intermedia en una operación de decodificación sin problemas, incluso si se cambia la resolución. En este caso, la resolución se indica en un campo dentro del SPS.
Cabe señalar que la estructura de datos y el procedimiento de reproducción de la presente forma de realización también son aplicables a un esquema de codificación distinto al de MPEG-4 AVC en caso de que dicho esquema de codificación haga uso de una estructura de datos similar.
(Cuarta forma de realización)
En la segunda forma de realización y en la tercera forma de realización se ha descrito que se puede usar MPEG-4 AVC como esquema de codificación para implementar una aplicación de imágenes fijas. La cuarta forma de realización describe un soporte de almacenamiento de información y un aparato de reproducción para el mismo que pueden codificar una imagen fija en una imagen de alta calidad a la vez que se reduce la cantidad de procesos que se van a llevar a cabo en el momento de reproducir una imagen en movimiento de un soporte de paquetes, tal como un BD-ROM.
En primer lugar, se ofrece una descripción de un soporte de almacenamiento de información convencional. MPEG-4 AVC especifica el valor máximo correspondiente al número de bits de un fotograma. Una especificación de aplicación, tal como la correspondiente a BD, usa, como el valor límite superior del número de bits de un fotograma, el valor especificado por MPEG-4 AVC o el valor establecido exclusivamente en la aplicación. Se puede controlar elvalor límite superior usando un parámetro conocido como Índice de Compresión Mínimo (MinCR) especificado por el estándar MPEG-4 AVC. MinCR es un parámetro que indica el límite inferior de un índice de compresión de un fotograma codificado respecto a la imagen original. Por ejemplo, cuando MinCR es 2, indica que el número de bits de un fotograma codificado es la mitad del tamaño de la imagen original o menor.
En el soporte de almacenamiento de información convencional, se usan los mismos valores de MinCR tanto para una aplicación de imágenes en movimiento como para una aplicación de imágenes fijas. La cantidad de procesos que se van a llevar a cabo en el momento de decodificar datos codificados es considerable en el caso de una imagen en movimiento. Por lo tanto, MinCR se determina de manera que se garantice una operación especialmente en el peor de los casos, cuando la cantidad de operaciones que se van a realizar en el momento de decodificar un fotograma es el valor límite superior especificado por un estándar. Por el contrario, en el caso de imágenes fijas es más importante la calidad de imagen que la cantidad de procesos que se llevan a cabo en el momento de la decodificación, dado que un intervalo de visualización de imágenes fijas es mayor que el de una imagen en movimiento. No obstante, debido al hecho de que el número de bits aumenta como resultado de codificar una imagen fija en una imagen de alta calidad, surge un problema con el soporte de almacenamiento convencional, que usa los mismos valores de MinCR para imágenes fijas y una imagen en movimiento, siendo el problema que no se puede asignar un número suficiente de bits a un fotograma especialmente en el momento de la intracodificación.
El soporte de almacenamiento de información de la cuarta forma de realización aplica diferentes valores de MinCR a una imagen en movimiento y a imágenes fijas; se establece un valor de MinCR mayor para una imagen en movimiento teniendo en cuenta la cantidad de procesos que se llevan a cabo en el momento de la decodificación y para imágenes fijas se establece un valor de MinCR menor que el de la imagen en movimiento a fin de garantizar que un fotograma codificado tiene el tamaño de fotograma que es suficiente como fotograma de alta calidad.
La FIG. 49 muestra una estructura de datos de ejemplo del soporte de almacenamiento de información de la cuarta forma de realización. En la información de gestión de flujo de la información de gestión de BD, información de atributos de un fragmento se indica en un objeto de datos conocido como ClipInfo. Cabe señalar que un fragmento se refiere a un fichero de datos de AV. Por ejemplo, un fichero que almacena un flujo de imágenes fijas de MPEG-4 AVC es un fragmento. A fin de indicar que se aplican diferentes valores de MinCR a una imagen en movimiento y a imágenes fijas, es necesaria información que indique el valor de MinCR de cada fragmento. Por lo tanto, información que indica el valor de MinCR que se va aplicar a un fragmento al que se va a hacer referencia se añade a ClipInfo. En este caso, el valor de MinCR que se va a aplicar a un fragmento se indica almacenando información de indicador que indica si un fragmento al que se va a hacer referencia es un fragmento de imágenes en movimiento o un fragmento de imágenes fijas, suponiendo que valores de MinCR que se van aplicar a un fragmento de imágenes fijas y a un fragmento de imágenes en movimiento se determinen con anterioridad. Haciendo referencia a un ejemplo de la FIG. 49, al menos un fragmento de imágenes fijas y un fragmento de imágenes en movimiento se almacenan en el disco y se hace referencia a dichos fragmentos desde ClipInfo#1 y ClipInfo#2, respectivamente. En este caso, información de indicador que indica que el fragmento es un fragmento de imágenes fijas se almacena en ClipInfo#1 e información de indicador que indica que el fragmento es un fragmento de imágenes en movimiento se almacena en ClipInfo#2. Mediante referencia a dicha información de indicador, se puede obtener el valor de MinCR de fotogramas que forman un fragmento. En un ejemplo que se muestra en la FIG. 49, se puede lograr tanto la mejora de la calidad de imágenes fijas como la reducción de la cantidad de procesos que se llevan a cabo en el momento de decodificar una imagen en movimiento, estableciendo 2 como el MinCR del fragmento de imágenes fijas y estableciendo 4 como el MinCR del fragmento de imágenes en movimiento. Cabe señalar que los valores de MinCR que se usan en este caso son únicamente ejemplos y, por lo tanto, se puede usar una combinación de otros valores. En una aplicación que permite que el aparato de reproducción dedique una cantidad de procesos adicionales, se puede usar el mismo valor de MinCR para imágenes fijas y para una imagen en movimiento. Además, valores de MinCR también se pueden indicar preparando varias combinaciones de valores de MinCR para imágenes fijas y para una imagen en movimiento y haciendo uso de un parámetro que indica la combinación especificada. Además, cuando se indica que un fragmento es un fragmento de imágenes fijas, se puede garantizar que un intervalo en el que se decodifican o visualizan dos fotogramas consecutivos es igual o mayor que un valor predeterminado. Por ejemplo, en el caso de imágenes fijas, se pueden visualizar dos fotogramas consecutivos en un intervalo de 0,5 segundos o mayor. Esto puede garantizar la decodificación de cada fotograma incluso si el valor de MinCR es 2 y el número de bits por fotograma es considerable, dado que se proporciona un amplio intervalo de visualización de 0,5 segundos o mayor.
Cabe señalar que en ClipInfo existe un campo conocido como application_type, que indica el tipo de una aplicación para reproducir un fragmento. Dicho campo puede indicar si la aplicación es para una imagen en movimiento o imágenes fijas y cuando la aplicación es para imágenes fijas, dicho campo puede indicar si la aplicación es una aplicación basada en tiempo o una aplicación navegable. En este caso, “basada en tiempo” indica que imágenes fijas se visualizan en un intervalo predeterminado y “navegable” indica que el usuario puede determinar los tiempos para visualizar imágenes fijas por medio de esta aplicación. Por lo tanto, cuando el valor de campo de application_type indica aplicación de imágenes fijas basada en tiempo o navegable, se puede aplicar un valor de MinCR para imágenes fijas, mientras que cuando el valor de campo indica una aplicación de imágenes en movimiento, se puede aplicar un valor de MinCR para una imagen en movimiento.
Cabe señalar que valores de MinCR se pueden cambiar no sólo entre una imagen en movimiento e imágenes fijas, sino también entre diferentes fragmentos de imágenes en movimiento. Por ejemplo, cuando se incluyen video principal y video secundario, se puede establecer un valor de MinCR menor para el video principal a fin de codificarlo en video de alta calidad y establecer un valor de MinCR mayor para el video secundario teniendo en cuenta la cantidad de procesos. En este caso, información que indica los valores de MinCR de los fragmentos respectivos se usa como información que indica los valores de MinCR respectivos, en lugar de usar información de indicador que indica si las imágenes son imágenes fijas o una imagen en movimiento.
Cabe señalar que el parámetro que indica el límite superior del número de bits de una imagen en movimiento o una imagen fija no se limita a MinCR y, por lo tanto, se puede usar otro parámetro, tal como indicando directamente el valor límite superior correspondiente al número de bits como tamaño de datos.
Asimismo, cabe señalar que la información que indica el valor límite superior del número de bits de un fotograma de un fragmento se puede almacenar en información de gestión de BD distinta a ClipInfo o se puede almacenar en datos codificados. En el caso de almacenar la información en datos codificados, dicha información se puede almacenar para cada unidad de acceso aleatorio, tal como un Grupo de Fotogramas (GOP). En el caso de MPEG-4 AVC, por ejemplo, se puede utilizar una unidad de datos de almacenamiento de datos de usuario. La unidad de datos para almacenamiento de datos de usuario incluye: una unidad de Capa de Abstracción de Red (NAL) con un tipo específico; un mensaje de Información Potenciadora Suplementaria (SEI) para almacenar datos de usuario y similares. Además, el valor límite superior del número de bits de un fotograma se puede cambiar en una unidad distinta de un fragmento, tal como una unidad de acceso aleatorio.
Asimismo, cabe señalar que cuando se determina, en el momento de decodificar una imagen en movimiento, que el tiempo necesario para decodificar los datos codificados de un fotograma excede de una longitud de tiempo predeterminada o de un intervalo de visualización de fotograma, algunos aparatos de reproducción de datos se saltan la codificación de dicho fotograma y empiezan a decodificar el fotograma siguiente. Alternativamente, incluso cuando se puede dar el peor caso en el momento de la decodificación, la decodificación de una imagen fija se salta, en consecuencia, en algunos casos en el momento de reproducir imágenes fijas almacenadas en el soporte de almacenamiento de información de la presente forma de realización. Esto se debe a que el límite superior del número de bits de imágenes fijas pasa a ser mayor que el de una imagen en movimiento y el tiempo necesario para decodificar aumenta respecto a un aumento del número de bits. El intervalo de visualización de imágenes fijas es, normalmente, mayor que el de una imagen en movimiento. Por lo tanto, incluso cuando la decodificación no se finaliza hasta un tiempo de inicio de visualización predeterminado, la degradación de la calidad de reproducción se puede limitar a menos visualizando imágenes fijas una vez finalizada la decodificación de las mismas. Por lo tanto, en el momento de decodificar imágenes fijas, incluso cuando la decodificación de las mismas no se finaliza durante un tiempo de inicio de visualización predeterminado, sólo se tienen que visualizar una vez finalizada la decodificación de las mismas, sin saltarse la decodificación de las mismas.
Cabe señalar que si bien la descripción anterior se ofrece para el BD, el mismo procedimiento se puede usar para un soporte de almacenamiento de información siempre que dicho soporte de almacenamiento de información puede almacenar imágenes fijas e imágenes en movimiento. Asimismo, el esquema de codificación no se limita a MPEG-4 AVC y, por lo tanto, la presente invención es aplicable a otro sistema de codificación, tal como Video MPEG-2.
(Quinta forma de realización)
La FIG. 50 es un diagrama de flujo que muestra un procedimiento de multiplexación para crear datos almacenados en el soporte de almacenamiento de información de la cuarta forma de realización. El procedimiento de multiplexación de la presente forma de realización se diferencia de un procedimiento de multiplexación convencional en que el procedimiento de multiplexación de la presente forma de realización incluye una etapa de cambio entre valores de MinCR dependiendo del tipo de un fragmento (Etapa S2001, Etapa S2002 y Etapa S2003) y una etapa de preparación de información de indicador que identifica un valor de MinCR y que lo incorpora en información de gestión (Etapa S2004 y Etapa S2005).
En primer lugar, en la Etapa S2001, se determina si un fragmento que se va a generar es un fragmento de imágenes en movimiento o un fragmento de imágenes fijas. Cuando el fragmento es un fragmento de imágenes fijas, el procedimiento pasa a la Etapa S2002 a fin de establecer un valor de MinCR predeterminado para el fragmento de imágenes fijas, mientras que cuando el fragmento es un fragmento de imágenes en movimiento, el procedimiento pasa a la Etapa S2003y se establece un valor de MinCR predeterminado para el fragmento de imágenes en movimiento. A continuación, en la Etapa S1001, fotogramas que forman el fragmento se codifican de manera que se cumpla el valor de MinCR establecido en la Etapa S2002 o en la Etapa S2003 y el procedimiento pasa a la Etapa S1002. En la Etapa S1002, se realiza la multiplexación de sistemas de los datos codificados en la Etapa S1001. En el BD, un flujo de transporte de MPEG-2 se usa como un esquema de multiplexación de sistemas. A continuación en la Etapa S2004, se genera información de indicador que identifica el valor de MinCR aplicado a los fotogramas que forman el fragmento y en la Etapa S2005 se genera información de gestión que incluye la información de indicador generada en la Etapa S2004. Por último, en la Etapa S1003, se combina la información de gestión y los datos codificados mediante multiplexación de sistemas y se envían los datos resultantes. La información que identifica el valor de MinCR puede ser distinta a la información de indicador y, por lo tanto, se puede almacenar directamente el valor límite superior del número de bits de un fotograma.
Cabe señalar que se pueden multiplexar datos tales como audio y gráficos con una imagen en movimiento o imágenes fijas, sin embargo, en este caso no se ofrece una descripción relativa a esto.
La FIG. 51 es un diagrama de bloques que muestra la estructura de un aparato de multiplexación 2000 que realiza el procedimiento de multiplexación de la quinta forma de realización. El aparato de multiplexación 2000 incluye una unidad de determinación de MinCR 2001, una unidad de generación de información de MinCR 2002, una unidad de codificación 1001, una unidad de multiplexación de sistemas 1002, una unidad de creación de información de gestión 2003 y una unidad de combinación 1003. El aparato de multiplexación 2000 se diferencia de un aparato de multiplexación convencional en que el aparato de multiplexación 2000 incluye la unidad de determinación de MinCR 2001 y la creación de información de MinCR 2002 y en que la unidad de creación de información de gestión 2003 crea información de gestión que incluye información de indicador para identificar un valor de MinCR.
A continuación, se ofrece una descripción de una operación de cada una de las unidades. La unidad de determinación de MinCR determina un valor de MinCR que se va a aplicar a fotogramas que forman un fragmento, en función de un atributo de fragmento ClipChar que indica si el fragmento es un fragmento de imágenes en movimiento o un fragmento de imágenes fijas, e introduce el valor de MinCR determinado cr en la unidad de codificación 1001 y en la unidad de generación de información de MinCR 2002. La unidad de codificación 1001 codifica un dato de imagen o imagen en movimiento introducido Vin en función del valor de MinCR determinado cr por medio de la unidad de determinación de MinCR e introduce los datos codificados Cdata en la unidad de multiplexación de sistemas 1002. La unidad de multiplexación de sistemas 1002 realiza la multiplexación de sistemas de los datos codificados Cdata e introduce los datos multiplexados resultantes Mdata en la unidad de combinación 1003. Mientas que, la unidad de creación de información de MinCR crea información de MinCR crInf, que es información de indicador para identificar el valor de MinCR aplicado a los fotogramas que forman el fragmento, en función del valor de MinCR, e introduce la información resultante en la unidad de creación de información de gestión 2003. La unidad de creación de información de gestión obtiene, de la unidad de multiplexación de sistemas 1002, información de flujo StrInf que se usa para generar información de gestión de los datos multiplexados Mdata, crea la información de gestión CtrInf que incluye la información de MinCR crInf y transmite la información de gestión creada CtrInf a la unidad de combinación 1003. La unidad de combinación 1003 combina la información de gestión CtrInf y los datos multiplexados Mdata y envía los datos resultantes como datos de registro Dout. En este caso, la unidad de codificación 1001 puede establecer el límite inferior de un intervalo en el que se codifican o visualizan dos fotogramas consecutivos, en función del tipo del fragmento o del valor de MinCR.
La generación de datos codificados y la multiplexación de sistemas o la creación de información de gestión se llevan a cabo por medio de aparatos independientes en el caso de creación de datos mediante el uso de una herramienta de autoría. No obstante, incluso en tal caso, las operaciones de los aparatos respectivos se pueden diseñar para que sean igual que las unidades respectivas del aparato de multiplexación 2000.
(Sexta forma de realización)
Además, si un programa para realizar el soporte de almacenamiento de información, así como el procedimiento de reproducción y soporte de almacenamiento para el mismo, según se presenta en cada una de las formas de realización que se han mencionado anteriormente se almacena en un soporte de almacenamiento, tal como un disco flexible, se pueden llevar a cabo fácilmente, en un sistema informático independiente, los procedimientos que se presentan en las formas de realización respectivas.
Las FIGS. 52A a 52C son diagramas que ilustran cuando el procedimiento de reproducción y el procedimiento de almacenamiento de cada una de las formas de realización anteriores se llevan a cabo en un sistema informático usando un programa almacenado en un soporte de almacenamiento, tal como un disco flexible.
La FIG. 52B muestra una vista externa del disco flexible visto desde la parte delantera, su vista transversal esquemática y el disco flexible propiamente dicho, mientras que la FIG. 52A ilustra un formato físico de ejemplo del disco flexible como un soporte de almacenamiento propiamente dicho. El disco flexible FD está contenido en una carcasa F y una pluralidad de pistas Tr están formadas concéntricamente en la superficie del disco flexible en la dirección radial desde la periferia, estando dividida cada pista en 16 sectores Se en la dirección angular. Por lo tanto, en el disco flexible que almacena el programa que se ha mencionado anteriormente, el programa anterior está almacenado en un área asignada a tal efecto en el disco flexible FD.
Mientras que, la FIG. 52C muestra la estructura necesaria para almacenar el programa en el disco flexible FD y leerlo del mismo. Cuando el programa que realiza el procedimiento de reproducción y el procedimiento de almacenamiento se va a almacenar en el disco flexible FD, dicho programa se deberá grabar mediante el uso del sistema informático Cs a través de una unidad de disco flexible. Mientras que, cuando el procedimiento de reproducción y el procedimiento de almacenamiento que realiza el procedimiento de reproducción y el procedimiento de almacenamiento a través del programa almacenado en el disco flexible, se va a construir en el sistema informático por medio del programa del disco flexible, el programa se deberá leer del disco flexible a través de la unidad de disco flexible y, posteriormente, transferir al sistema informático.
La descripción anterior se ha ofrecido dando por supuesto que un soporte de almacenamiento es el disco flexible, sin embargo, también se puede usar un disco óptico. Además, el soporte de almacenamiento no se limita a esto y también se pueden usar otros soportes, tales como una tarjeta de CI y un casete ROM capaces de almacenar un programa.
Cabe señalar que cada bloque funcional del diagrama de bloques que se muestra en los dibujos, que incluyen las FIGS. 10, 18, 19, 23 y 51, se puede realizar normalmente como una LSI que es un circuito integrado. Dicha LSI se puede incorporar en una o varias formas de microcircuito (por ejemplo, bloques funcionales distintos de memoria se pueden incorporar en un único microcircuito). En este caso, se toma LSI como un ejemplo, pero se puede denominar CI, LSI de sistema, súper LSI y ultra LSI dependiendo del grado de integración.
El procedimiento de incorporar los bloques funcionales en un circuito integrado no se limita a la LSI y se puede realizar con una línea privada o un procesador general. Tras la fabricación de la LSI, se puede utilizar una Matriz de Puertas Programables de Campo (FPGA) que es programable o un procesador reconfigurable cuya LSI permite la reconfiguración de la conexión y el establecimiento de una célula de circuito.
Además, junto con la llegada de la técnica para incorporar los bloques funcionales en un circuito integrado que sustituye a la LSI, debido a un avance en la tecnología de semiconductores u otra técnica derivada de esta, la integración de los bloques funcionales se puede realizar usando la tecnología recién llegada. Como uno de los ejemplos se puede citar la biotecnología.
De los bloques funcionales, sólo una unidad que almacena datos se puede construir de manera independiente sin que se incorpore en una forma de microcircuito, como en el caso del soporte de almacenamiento de las formas de realización.
Cabe señalar que en cada bloque funcional de los diagramas de bloques, tales como los que se muestran en las FIGS. 10, 18, 19, 23 y 51, así como en los diagramas de flujo, tales como los que se muestran en las FIGS. 9, 11 a 15, 38 a 41 y 50, partes principales también se pueden implementar como un procesador o un programa.
Como se ha descrito anteriormente, se puede usar el procedimiento de codificación de imágenes y el procedimiento de decodificación de imágenes que se presentan en las formas de realización que se han descrito anteriormente en cualquiera de los aparatos/sistemas que se han descrito anteriormente, logrando, de ese modo, los efectos que se han descrito en las formas de realización que se han descrito anteriormente.
Aplicabilidad industrial
El procedimiento de codificación de imágenes en movimiento según la presente invención es capaz de eliminar retados en el tiempo de decodificación que se producen por cambiar entre esquemas de codificación de longitud variable y capaz de reducir la carga de proceso provocada por cambiar entre procedimientos de gestión de memoria intermedia, haciendo uso de un esquema de codificación de longitud variable fijo para datos codificados de una imagen continua en unidades de reproducción continua indicadas por medio de la información de gestión. Por lo tanto, el procedimiento de codificación de imágenes en movimiento según la presente invención es adecuado para uso en un soporte de paquetes y similar que almacena flujos multiplexados en los que se pueden cambiar esquemas de codificación de longitud variable, tales como un flujo de MPEG-4 AVC.
Claims (7)
- REIVINDICACIONES1. Un procedimiento de codificación de imágenes en movimiento para codificar una imagen en movimiento mientras se cambia entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto que se usan en unidades continuas de la imagen en movimiento, comprendiendo dicho procedimiento:determinar (S5201) un segmento accesible aleatoriamente como unidad más pequeña en la que se pueden cambiar los esquemas de codificación de longitud variable;determinar cada unidad continua, incluyendo la unidad continua una pluralidad de dichos segmentos que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados y, en función de dicha determinación de cada unidad continua:generar (S5202) un flujo de imágenes en movimiento codificando la imagen en movimiento sin cambiar entre esquemas de codificación de longitud variable en todos los segmentos incluidos en la unidad continua ygenerar (S5205) información de gestión que incluye primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en la unidad continua.
- 2. Un aparato de codificación de imágenes en movimiento (5100) que codifica una imagen en movimiento mientras se cambia entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto que se usan en unidades continuas de la imagen en movimiento, comprendiendo dicho aparato:una unidad de determinación (5101) capaz de funcionar para determinar un segmento accesible aleatoriamente como unidad más pequeña en la que se pueden cambiar los esquemas de codificación de longitud variable y para determinar cada unidad continua, incluyendo la unidad continua una pluralidad de dichos segmentos que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados;una unidad de codificación (5103) capaz de funcionar para generar, en función de dicha determinación de cada unidad continua, un flujo de imágenes en movimiento codificando la imagen en movimiento sin cambiar entre esquemas de codificación de longitud variable en todos los segmentos incluidos en la unidad continua yuna unida de generación (5102, 5105) capaz de funcionar para generar, en función de dicha determinación de cada unidad continua, información de gestión que incluye primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en la unidad continua.
- 3. Un procedimiento de decodificación de imágenes en movimiento para decodificar una imagen en movimiento en función de información de gestión y de un flujo de imágenes en movimiento que incluye otra información y una imagen en movimiento que se codifica cambiando entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto que se usan en unidades continuas de la imagen en movimiento, comprendiendo dicho procedimiento:extraer, de la información de gestión, primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en una unidad continua, incluyendo la unidad continua una pluralidad de segmentos accesibles aleatoriamente que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados y es la unidad más pequeña en la que se pueden cambiar esquemas de codificación de longitud variable según una determinación durante la codificación;determinar llevar a cabo la decodificación usando un mismo esquema de codificación de longitud variable, cuando se extrae la primera información de indicador;extraer, del flujo de imágenes en movimiento, segunda información de indicador que indica un esquema de codificación de longitud variable yllevar a cabo de manera ininterrumpida la decodificación en una conexión entre los segmentos continuos usando el esquema de codificación de longitud variable indicado por medio de la segunda información de indicador, cuando en dicha determinación se determina llevar a cabo la decodificación usando el mismo esquema de codificación de longitud variable.
- 4. Un aparato de decodificación de imágenes en movimiento que decodifica una imagen en movimiento en función de información de gestión y de un flujo de imágenes en movimiento que incluye otra información y una imagen en movimiento que se codifica cambiando entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto que se usan en unidades continuas de la imagen en movimiento, comprendiendo dicho aparato:una primera unidad de extracción capaz de funcionar para extraer, de la información de gestión, primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en una unidad continua, incluyendo la unidad continua una pluralidad de segmentos accesibles aleatoriamente que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados y es la unidad más pequeña en la que se pueden cambiar esquemas de codificación de longitud variable según una determinación durante la codificación;una unidad de determinación capaz de funcionar para determinar llevar a cabo la decodificación usando un mismo esquema de codificación de longitud variable, cuando se extrae la primera información de indicador:una segunda unidad de extracción capaz de funcionar para extraer, del flujo de imágenes en movimiento, segunda información de indicador que indica un esquema de codificación de longitud variable yuna unidad de decodificación capaz de funcionar para llevar a cabo la decodificación en una conexión entre los segmentos continuos usando el esquema de codificación de longitud variable indicado por medio de la segunda información de indicador, cuando dicha unidad de determinación determina llevar a cabo la decodificación de manera ininterrumpida usando el mismo esquema de codificación de longitud variable.
- 5. Un soporte de grabación legible por ordenador en el que está grabada información de gestión y un flujo de imágenes en movimiento que incluye una imagen en movimiento codificada cambiando entre los esquemas de codificación de longitud variable de codificación de longitud variable de adaptación a contexto y codificación aritmética binaria de adaptación a contexto, que se usan en unidades continuas de la imagen en movimiento,en el que datos grabados en dicho soporte de grabación incluyen:el flujo de imágenes en movimiento que incluye la imagen en movimiento codificada sin cambiar entre los esquemas de codificación de longitud variable en una unidad continua, incluyendo la unidad continua una pluralidad de segmentos accesibles aleatoriamente que se van a reproducir de manera continua e ininterrumpida, en el que cada segmento incluye una pluralidad de fotogramas codificados y es la unidad más pequeña en la que se pueden cambiar esquemas de codificación de longitud variable según una determinación durante la codificación yla información de gestión que incluye primera información de indicador que indica que un esquema de codificación de longitud variable es fijo en la unidad continua,en el que el flujo de imágenes en movimiento incluye segunda información de indicador que indica un esquema de codificación de longitud variable para cada unidad predeterminada de una imagen en movimiento codificada o para la imagen de movimiento codificada.
-
- 6.
- Un procedimiento de grabación para grabar una información de gestión y un flujo, que incluye fotogramas que constituyen un fotograma en movimiento, en un soporte de grabación, comprendiendo dicho procedimiento de grabación:
una etapa de generación de la información de gestión y del flujo usando el procedimiento de codificación de imágenes en movimiento según la reivindicación 1 y una etapa de grabación de la información de gestión y del flujo. -
- 7.
- Un sistema de decodificación de fotogramas en movimiento que comprende el soporte de grabación según la reivindicación 5 y el aparato de decodificación de imágenes en movimiento según la reivindicación 4 que lee del soporte de grabación una información de gestión y un flujo, que incluye fotogramas que constituyen un fotograma en movimiento, decodifica y reproduce el flujo.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004251870 | 2004-08-31 | ||
JP2004-251870 | 2004-08-31 |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2362787T3 true ES2362787T3 (es) | 2011-07-13 |
Family
ID=36000038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES05776931T Active ES2362787T3 (es) | 2004-08-31 | 2005-08-30 | Aparato y procedimiento de codificación de imágenes en movimiento. |
Country Status (9)
Country | Link |
---|---|
US (4) | US7756205B2 (es) |
EP (2) | EP2346243B1 (es) |
JP (6) | JP4099512B2 (es) |
KR (5) | KR101116965B1 (es) |
CN (6) | CN101841714B (es) |
AT (1) | ATE511314T1 (es) |
ES (1) | ES2362787T3 (es) |
PL (1) | PL1791358T4 (es) |
WO (1) | WO2006025388A1 (es) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US7483532B2 (en) * | 2003-07-03 | 2009-01-27 | Microsoft Corporation | RTP payload format |
US8391672B2 (en) * | 2004-02-06 | 2013-03-05 | Panasonic Corporation | Recording medium, reproduction device, program, and reproduction method |
US20080002947A1 (en) * | 2004-02-06 | 2008-01-03 | Wataru Ikeda | Recording medium, reproduction device, program and reproduction method |
KR100884150B1 (ko) * | 2004-06-02 | 2009-02-17 | 파나소닉 주식회사 | 슬라이드 쇼에서 랜덤 액세스를 고속으로 실현할 수 있는 기록매체, 재생장치, 컴퓨터 판독 가능한 기록매체, 기록방법, 재생방법 |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US7684566B2 (en) | 2005-05-27 | 2010-03-23 | Microsoft Corporation | Encryption scheme for streamed multimedia content protected by rights management system |
US7769880B2 (en) * | 2005-07-07 | 2010-08-03 | Microsoft Corporation | Carrying protected content using a control protocol for streaming and a transport protocol |
US7561696B2 (en) * | 2005-07-12 | 2009-07-14 | Microsoft Corporation | Delivering policy updates for protected content |
US8321690B2 (en) | 2005-08-11 | 2012-11-27 | Microsoft Corporation | Protecting digital media of various content types |
US7634816B2 (en) | 2005-08-11 | 2009-12-15 | Microsoft Corporation | Revocation information management |
US7720096B2 (en) * | 2005-10-13 | 2010-05-18 | Microsoft Corporation | RTP payload format for VC-1 |
US20090161762A1 (en) * | 2005-11-15 | 2009-06-25 | Dong-San Jun | Method of scalable video coding for varying spatial scalability of bitstream in real time and a codec using the same |
US20070147496A1 (en) * | 2005-12-23 | 2007-06-28 | Bhaskar Sherigar | Hardware implementation of programmable controls for inverse quantizing with a plurality of standards |
JP2008048240A (ja) * | 2006-08-18 | 2008-02-28 | Nec Electronics Corp | ビットプレーン復号装置およびビットプレーン復号方法 |
JP4902854B2 (ja) * | 2006-09-12 | 2012-03-21 | パナソニック株式会社 | 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置 |
CN101193321B (zh) * | 2006-11-27 | 2012-02-22 | 汤姆森许可贸易公司 | 编码设备、解码设备、记录设备、音频/视频数据传送系统 |
AR064274A1 (es) * | 2006-12-14 | 2009-03-25 | Panasonic Corp | Metodo de codificacion de imagenes en movimiento, dispositivo de codificacion de imagenes en movimiento, metodo de grabacion de imagenes en movimiento, medio de grabacion, metodo de reproduccion de imagenes en movimiento, dispositivo de reproduccion de imagenes en movimiento, y sistema de reproducci |
JP4823090B2 (ja) * | 2007-02-01 | 2011-11-24 | パナソニック株式会社 | 画像符号化装置 |
WO2008111136A1 (ja) * | 2007-03-15 | 2008-09-18 | Fujitsu Limited | 動画配信装置 |
JP5170708B2 (ja) * | 2008-01-24 | 2013-03-27 | 日本電気株式会社 | 動画像ストリーム加工方法及び装置、それを用いた動画像再生装置並びに動画像配信装置 |
KR101567814B1 (ko) * | 2009-01-21 | 2015-11-11 | 삼성전자주식회사 | 슬라이드 쇼를 제공하는 방법, 장치, 및 컴퓨터 판독가능 저장매체 |
JP2011223247A (ja) * | 2010-04-08 | 2011-11-04 | Sony Corp | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
JP2011223248A (ja) | 2010-04-08 | 2011-11-04 | Sony Corp | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
JP5601006B2 (ja) * | 2010-04-08 | 2014-10-08 | ソニー株式会社 | 情報処理装置、情報記録媒体、および情報処理方法、並びにプログラム |
KR20130058584A (ko) * | 2011-11-25 | 2013-06-04 | 삼성전자주식회사 | 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치 |
KR102013460B1 (ko) * | 2011-12-15 | 2019-08-22 | 타지반 투 엘엘씨 | 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치, 화상 부호화 복호 장치 |
US20130195172A1 (en) | 2012-01-30 | 2013-08-01 | Qualcomm Incorporated | Method of coding video and storing video content |
US9602827B2 (en) * | 2012-07-02 | 2017-03-21 | Qualcomm Incorporated | Video parameter set including an offset syntax element |
US9426462B2 (en) | 2012-09-21 | 2016-08-23 | Qualcomm Incorporated | Indication and activation of parameter sets for video coding |
JP6094126B2 (ja) * | 2012-10-01 | 2017-03-15 | 富士通株式会社 | 動画像復号装置 |
US9374581B2 (en) * | 2013-01-07 | 2016-06-21 | Qualcomm Incorporated | Signaling of picture order count to timing information relations for video timing in video coding |
CN105874801B (zh) | 2014-01-08 | 2019-11-08 | 索尼公司 | 解码设备和解码方法、以及编码设备和编码方法 |
US9348495B2 (en) | 2014-03-07 | 2016-05-24 | Sony Corporation | Control of large screen display using wireless portable computer and facilitating selection of audio on a headphone |
US9911460B2 (en) | 2014-03-24 | 2018-03-06 | Microsoft Technology Licensing, Llc | Fast and smart video trimming at frame accuracy on generic platform |
JP6410495B2 (ja) * | 2014-07-07 | 2018-10-24 | ルネサスエレクトロニクス株式会社 | 画像符号化装置、画像復号装置、および画像通信システム |
US10283091B2 (en) * | 2014-10-13 | 2019-05-07 | Microsoft Technology Licensing, Llc | Buffer optimization |
MX2019004303A (es) * | 2014-10-17 | 2019-10-15 | Panasonic Ip Corp America | Medio de grabacion, metodo de reproduccion y dispositivo de reproduccion. |
CN106507115B (zh) * | 2016-11-30 | 2019-10-15 | 上海音绮文化发展有限公司 | 基于iOS设备的VR视频的解码方法、装置及终端设备 |
CN108965993B (zh) * | 2017-07-20 | 2022-01-14 | 视联动力信息技术股份有限公司 | 一种多路视频流的解码方法和装置 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU650665B2 (en) * | 1990-07-05 | 1994-06-30 | Fujitsu Limited | High performance digitally multiplexed transmission system |
TW303570B (es) * | 1995-09-29 | 1997-04-21 | Matsushita Electric Ind Co Ltd | |
US20030093790A1 (en) | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
JP3058870B1 (ja) | 1999-02-05 | 2000-07-04 | 株式会社次世代デジタルテレビジョン放送システム研究所 | Afc回路 |
EP1198133A4 (en) * | 2000-04-21 | 2004-10-06 | Sony Corp | INFORMATION PROCESSING DEVICE AND METHOD, PROGRAM AND RECORDED MEDIUM |
US20030012284A1 (en) * | 2000-12-20 | 2003-01-16 | Masahiro Kazayama | Method and apparatus for decoding motion video game |
JP4409792B2 (ja) | 2001-06-22 | 2010-02-03 | ソニー株式会社 | データ伝送装置および方法、記録媒体並びにプログラム |
US20040125204A1 (en) | 2002-12-27 | 2004-07-01 | Yoshihisa Yamada | Moving picture coding apparatus and moving picture decoding apparatus |
JP4447197B2 (ja) | 2002-01-07 | 2010-04-07 | 三菱電機株式会社 | 動画像符号化装置および動画像復号装置 |
US7428338B2 (en) * | 2002-01-10 | 2008-09-23 | Ricoh Co., Ltd. | Header-based processing of images compressed using multi-scale transforms |
JP2003228921A (ja) * | 2002-01-31 | 2003-08-15 | Toshiba Corp | 情報記録媒体、情報記録装置及び情報再生装置 |
JP4090862B2 (ja) | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
JP4230188B2 (ja) | 2002-06-06 | 2009-02-25 | パナソニック株式会社 | 可変長符号化方法および可変長復号化方法 |
ES2413529T3 (es) | 2002-09-26 | 2013-07-16 | Koninklijke Philips N.V. | Aparato para recibir una señal de información digital |
JP4240283B2 (ja) | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
CN100466713C (zh) | 2002-11-28 | 2009-03-04 | 索尼株式会社 | 再现装置和再现方法 |
US8194751B2 (en) * | 2003-02-19 | 2012-06-05 | Panasonic Corporation | Moving picture coding method and moving picture decoding method |
JP4699685B2 (ja) * | 2003-08-21 | 2011-06-15 | パナソニック株式会社 | 信号処理装置及びそれを用いた電子機器 |
US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
US7660355B2 (en) | 2003-12-18 | 2010-02-09 | Lsi Corporation | Low complexity transcoding between video streams using different entropy coding |
EP1578137A2 (en) * | 2004-03-17 | 2005-09-21 | Matsushita Electric Industrial Co., Ltd. | Moving picture coding apparatus with multistep interpolation process |
-
2005
- 2005-08-30 CN CN2010101630787A patent/CN101841714B/zh not_active Expired - Fee Related
- 2005-08-30 JP JP2006532721A patent/JP4099512B2/ja active Active
- 2005-08-30 CN CN2005800291010A patent/CN101010951B/zh active Active
- 2005-08-30 KR KR1020107016502A patent/KR101116965B1/ko active IP Right Grant
- 2005-08-30 ES ES05776931T patent/ES2362787T3/es active Active
- 2005-08-30 EP EP20110154969 patent/EP2346243B1/en not_active Not-in-force
- 2005-08-30 KR KR1020107016505A patent/KR101138093B1/ko active IP Right Grant
- 2005-08-30 US US11/660,750 patent/US7756205B2/en active Active
- 2005-08-30 PL PL05776931T patent/PL1791358T4/pl unknown
- 2005-08-30 CN CN2010101630804A patent/CN101820544B/zh not_active Expired - Fee Related
- 2005-08-30 CN CN201010164507A patent/CN101848389A/zh active Pending
- 2005-08-30 WO PCT/JP2005/015766 patent/WO2006025388A1/ja active Application Filing
- 2005-08-30 AT AT05776931T patent/ATE511314T1/de not_active IP Right Cessation
- 2005-08-30 CN CN201010164506A patent/CN101800900A/zh active Pending
- 2005-08-30 EP EP20050776931 patent/EP1791358B1/en active Active
- 2005-08-30 KR KR20077003432A patent/KR20070056059A/ko not_active Application Discontinuation
- 2005-08-30 CN CN2010101645087A patent/CN101835046B/zh not_active Expired - Fee Related
- 2005-08-30 KR KR1020107016503A patent/KR101148701B1/ko active IP Right Grant
- 2005-08-30 KR KR1020107016504A patent/KR101138047B1/ko active IP Right Grant
-
2007
- 2007-12-27 JP JP2007338102A patent/JP4516109B2/ja not_active Expired - Fee Related
-
2008
- 2008-07-15 JP JP2008183938A patent/JP4201213B2/ja not_active Expired - Fee Related
-
2009
- 2009-10-08 US US12/575,779 patent/US8085851B2/en not_active Expired - Fee Related
- 2009-10-30 JP JP2009251494A patent/JP4813591B2/ja not_active Expired - Fee Related
- 2009-10-30 JP JP2009251495A patent/JP4813592B2/ja not_active Expired - Fee Related
- 2009-10-30 JP JP2009251496A patent/JP4813593B2/ja not_active Expired - Fee Related
-
2010
- 2010-06-17 US US12/817,344 patent/US8660189B2/en not_active Expired - Fee Related
- 2010-06-17 US US12/817,348 patent/US20100290523A1/en not_active Abandoned
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2362787T3 (es) | Aparato y procedimiento de codificación de imágenes en movimiento. | |
ES2383276T3 (es) | Dispositivo y procedimiento de codificación de imágenes | |
CA2671557C (en) | Encoding and playback of an overlayed video stream whereby the luminance threshold for overlays in continuous sections is fixed |