ES2354368T3 - Copia de seguridad de un programa de contenido de dvd que incluye 4 estados de control del dispositivo de reproducción, y guión de estrucciones (script) de control. - Google Patents
Copia de seguridad de un programa de contenido de dvd que incluye 4 estados de control del dispositivo de reproducción, y guión de estrucciones (script) de control. Download PDFInfo
- Publication number
- ES2354368T3 ES2354368T3 ES05806735T ES05806735T ES2354368T3 ES 2354368 T3 ES2354368 T3 ES 2354368T3 ES 05806735 T ES05806735 T ES 05806735T ES 05806735 T ES05806735 T ES 05806735T ES 2354368 T3 ES2354368 T3 ES 2354368T3
- Authority
- ES
- Spain
- Prior art keywords
- playback
- player
- playlist
- reproduction
- state
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- 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
-
- 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/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
-
- 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/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]
-
- 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/34—Indicating arrangements
-
- 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
-
- 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/2562—DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
Aparato de reproducir datos de contenido grabados en un soporte de grabación, que comprende: unos medios de lectura (102, 112, 114) para leer datos desde un soporte de grabación que tiene grabados en el mismo datos de contenido que incluyen por lo menos uno de un flujo de vídeo y un flujo de audio y un programa de control de reproducción (500) para controlar la reproducción de los datos de contenido; unos medios reproductores (300) para reproducir los datos de contenido de acuerdo con el programa de control de reproducción; y unos medios de salida de órdenes de control (301) para suministrar a los medios reproductores una orden de control (311) correspondiente a un accionamiento (310) del usuario, en el que los medios reproductores (300) controlan la reproducción de los datos de contenido basándose en cuatro estados definidos por combinaciones de dos estados clasificados de acuerdo a si se reproducen o no los datos de contenido y dos estados clasificados de acuerdo a si los medios reproductores aceptan o ignoran la orden de control de los medios de salida de órdenes de control (301), en donde cuando los medios reproductores están en el estado en el que los medios reproductores ignoran la orden de control, el accionamiento del usuario se suministra a través del programa de control de reproducción, y en donde cualquier transición de estado entre los cuatro estados de los medios reproductores es provocada por el programa de control de reproducción y no es provocada por la orden de control; comprendiendo además dicho aparato de reproducción: unos primeros medios de almacenamiento (323) para almacenar información del estado de reproducción que indica un estado de los datos del contenido durante la reproducción por parte de los medios reproductores; y unos segundos medios de almacenamiento (324) para guardar una copia de seguridad de la información del estado de reproducción almacenada en los primeros medios de almacenamiento, caracterizado porque se guarda una copia de seguridad, en los segundos medios de almacenamiento (324), de la información del estado de reproducción almacenada en los primeros medios de almacenamiento (323), y la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324) se restablece en los primeros medios de almacenamiento (323) junto con la transición de estados entre los cuatro estados de los medios reproductores.
Description
La presente invención se refiere a un aparato de reproducción, a un método de reproducción, a un programa de reproducción, a un soporte de grabación y a una estructura de datos en los que se puede controlar fácilmente la reproducción de un programa grabado en un soporte de grabación de gran capacidad.
Ha transcurrido mucho tiempo desde que apareció el DVD (disco versátil digital) como soporte de grabación de acceso aleatorio y extraíble. En los últimos años, se ha desarrollado un soporte de grabación en forma de disco de mayor capacidad y más cómodo de transportar que el DVD.
Según técnicas conocidas del DVD-Vídeo, el reproductor de DVD en el funcionamiento de reproducción de discos puede adoptar varios estados. En el DVD-Vídeo, el estado que puede ser adoptado por el reproductor de DVD se clasifica en cinco tipos de lo que se denomina dominios, y en el reproductor de DVD se usa un modelo en el cual se realiza una transición entre los dominios de acuerdo con varias condiciones. Específicamente, los dominios del DVD se pueden considerar como variables de estado que tienen cinco valores posibles. El reproductor de DVD monitoriza las variables de estado para captar el tipo de contenido que se está leyendo desde el disco.
En el DVD-Vídeo, se definen los siguientes cinco tipos de dominios:
- (1)
- Primer dominio de reproducción (FP_DOM)
- (2)
- Dominio del menú de administrador de vídeo (VMGM_DOM)
- (3)
- Dominio del menú de conjunto de títulos de vídeo (VTSM_DOM)
- (4)
- Dominio de título (TT_DOM)
- (5)
- Estado de parada
Por otro lado, el estado de parada en (5) no es el dominio en términos reales.
El primer dominio de reproducción en (1) se define como la primera sección del disco y el estado preparatorio para la reproducción en el reproductor de DVD. La orden de No-reproducción se considera válida. El dominio del menú de administrador de vídeo en (2) se define como el menú principal en el disco completo o la superficie completa del disco y es indicativo de la visualización del menú de títulos. La orden relacionada con el menú se considera válida. El dominio del menú de conjunto de títulos de vídeo en (3) se define como el menú o el sub-menú (sub-imagen, idioma, audio o ángulo) del título o grupo de títulos y es indicativo del menú o sub-menú raíz. El dominio de título en (4) se define como el contenido de vídeo en el título y la orden de reproducción se considera válida. El estado de parada en (5) se define como el estado en el cual el cabezal ha abandonado la posición correspondiente a la reproducción del disco y ha regresado a la posición original, y la orden de reproducción se considera válida.
La orden de navegación para controlar el funcionamiento del reproductor de DVD queda limitada por el dominio usado para el estado actual. La orden SELECCIONAR BOTÓN para seleccionar un elemento predeterminado del menú, por ejemplo, es significativa siempre y cuando se visualice el menú. Específicamente, la orden SELECCIONAR BOTÓN es significativa en cualquier estado del dominio del menú de administrador de vídeo de (2) o el dominio de menú del conjunto de títulos de vídeo de (3). La orden AVANCE RÁPIDO que designa la reproducción de vídeo a mayor velocidad que la velocidad unitaria normal, por ejemplo, no es significativa siempre y cuando el reproductor esté parado o se esté visualizando la pantalla de menú configurada con una imagen fija. En otras palabras, la orden AVANCE RÁPIDO es significativa en el dominio de título.
Estos dominios del DVD-Vídeo se describen por ejemplo, en "Jim Taylor: New Book on DVD Anatomy, 1ª edición, Nexus Intercom Ltd., 7 de junio de 2003, p. 271” (documento no Patente 1).
El DVD-Vídeo convencional descrito anteriormente tiene muchos tipos de dominio y condiciones detalladas para la transición de estados entre los dominios, planteando por ello el problema de que el mismo no se puede montar fácilmente en el reproductor de DVD.
Otro problema es que a menos que se entienda completamente la transición entre los dominios, la producción del disco resulta imposible, y resulta difícil para el productor de contenidos producir el disco.
Específicamente, debido a los diversos tipos de dominios y a las condiciones detalladas para la transición entre los dominios, la transición entre dominios no se puede captar completamente. Esto impone una carga pesada sobre el productor en la producción del disco de una configuración complicada.
Además, el nombre del dominio y el método de funcionamiento real no siempre coinciden entre sí, y por lo tanto, la necesidad de significar la existencia de los dominios es pequeña. Esto plantea el problema de que los muchos tipos de dominio, combinados con las condiciones detalladas para la transición entre los dominios, constituyen un punto importante para aumentar la carga de producción del disco por parte del productor.
En el DVD-Vídeo, por ejemplo, tal como se ha descrito anteriormente, se definen el dominio de título y dos tipos de dominios del menú (el dominio de menú del administrador de vídeo y el dominio de menú del conjunto de títulos de vídeo). Al principio, el contenido principal (tal como la narración original de la película) grabado en DVD se debería reproducir en el dominio del título. Sin embargo, en realidad la reproducción de la narración original de la película en el dominio del menú no plantea problemas. No obstante, aunque las órdenes son diferentes para la transición entre dominios, el funcionamiento del reproductor no es diferente entre el dominio del menú y el dominio del título después de la transición de estado para estos dominios. Esto se debe al hecho de que tanto la reproducción del menú en el dominio del menú y la reproducción de la narración original de la película en el dominio del título se logran por medio de una estructura lógica común denominada PGC (cadena de programas) con los datos de contenido y el programa de control de reproducción relacionado combinados.
Esto plantea el problema de que se restringe la producción de contenido libre, de lo contrario. Específicamente, la determinación de un contenido dado como un menú o un título depende en cierta medida del punto de vista subjetivo del productor del disco. Considerando que en el caso en el que la narración original de la película reproducida actualmente tiene ramificaciones, por ejemplo, el contenido que utiliza la interactividad se concibe visualizando el botón de selección para seleccionar una cualquiera de las ramificaciones. En este caso, el método que usa el DVD-Vídeo convencional es ambiguo en relación con qué se va a usar, el dominio del menú o el dominio del título, para reproducir el contenido visualizado por el botón de selección. En el caso en el que se desea preparar, después del contenido particular, un contenido que tiene interactividad, por ejemplo, la transición del estado es difícil de predecir y el funcionamiento tiene tendencia a ser complicado de verificar.
Por consiguiente, un objetivo de la presente invención es proporcionar un aparato de reproducción, un método de reproducción, un programa de reproducción, un soporte de grabación y una estructura de datos en los que la transición del estado del funcionamiento del reproductor está definida claramente y se facilita la producción de contenido interactivo.
El documento JP 10 271 454 A da a conocer un sistema de reproducción que reproduce una cadena de programas de datos grabados basándose en información de cadena de programas (PGCI) que define un orden de presentación.
El documento US 2003/161615-A1 da a conocer un sistema de reproducción de discos DVD-Vídeo que usa un motor de reproducción de vídeo para reproducir contenido de vídeo y un motor de ENAV para reproducir contenido de ENAV asociado a contenido (menú, capítulo) del contenido de vídeo.
La presente invención proporciona un aparato de reproducción para reproducir datos de contenido grabados en un soporte de grabación, que comprende:
unos medios de lectura para leer datos desde un soporte de grabación que tiene grabados en el mismo datos de contenido que incluyen por lo menos uno de un flujo (en inglés “stream”) de vídeo y un flujo de audio y un programa de control de reproducción para controlar la reproducción de los datos de contenido;
unos medios reproductores para reproducir los datos de contenido de acuerdo con el programa de control de reproducción; y
unos medios de salida de órdenes de control para suministrar a los medios reproductores una orden de control correspondiente a un accionamiento del usuario,
caracterizado porque los medios reproductores controlan la reproducción de los datos de contenido basándose en cuatro estados definidos por combinaciones de dos estados clasificados de acuerdo a si se reproducen o no los datos de contenido y dos estados clasificados de acuerdo a si los medios reproductores aceptan o ignoran la orden de control de los medios de salida de órdenes de control (301), en donde cuando los medios reproductores están en el estado en el que los medios reproductores ignoran la orden de control, el accionamiento del usuario se suministra al programa de control de reproducción, y en donde cualquier transición de estado entre los cuatro estados de los medios reproductores es provocada por el programa de control de reproducción y no es provocada por la orden de control.
Por lo tanto, se reduce el número de los estados de los medios reproductores y se simplifica la comprensión del funcionamiento de la transición de estados, facilitándose de este modo el montaje del reproductor mientras que al mismo tiempo se reduce la carga de producción de contenido.
Por lo tanto, se puede producir fácilmente incluso el contenido que requiere un funcionamiento de control complicado.
En las reivindicaciones adjuntas, se definen otros diversos aspectos y características de la invención.
De acuerdo con esta invención, se define el estado del reproductor de películas para reproducir la lista de reproducción, que incluye dos estados, es decir, un estado de parada y un estado de reproducción desde el punto de vista de la reproducción de la lista de reproducción y dos estados, es decir, un modo normal y un modo de menú basados en si se acepta o no una orden de control correspondiente a un accionamiento del usuario, y la reproducción de la lista de reproducción se controla por la transición del estado entre estos cuatro estados. Como consecuencia, la invención tiene la ventaja de que la reproducción del flujo AV se puede controlar desde un programa de script (en castellano “guión de instrucciones”).
Otra ventaja es que el número de estados del reproductor de películas es pequeño, y la definición del estado es clara. Por lo tanto, las condiciones para generar la transición de estado y el funcionamiento de generación de la transición de estado se entienden fácilmente, facilitándose de este modo el montaje del reproductor para reproducir el flujo AV.
Además, el número de estados del reproductor de películas es pequeño, y la definición del estado es clara. Por lo tanto, las condiciones para generar la transición del estado y el funcionamiento de generación de la transición del estado se entienden fácilmente, haciendo de este modo que resulte más sencillo para el productor de contenidos producir el contenido que presenta la interactividad.
La figura 1 es un diagrama esquemático que muestra una estructura de capas de una normativa de vídeo UMD; la figura 2 es un diagrama que muestra esquemáticamente un modelo de reproductor ejemplificativo de acuerdo con una forma de realización de la invención; la figura 3 es un diagrama esquemático que muestra la configuración interna de un reproductor de películas; la figura 4 es un diagrama para explicar un estado de reproducción y un estado de parada del reproductor de películas; la figura 5 es un diagrama esquemático que muestra un modelo de evento del reproductor de películas de acuerdo con una forma de realización de la invención; la figura 6 es un diagrama esquemático que muestra un evento ejemplificativo generado durante la reproducción de la lista de reproducción; las figuras 7A y 7B son unos diagramas esquemáticos que muestran una lista de propiedades ejemplificativas contenidas por un objeto de reproductor de películas; la figura 8 es un diagrama esquemático que muestra una lista de métodos ejemplificativos para el objeto de reproductor de películas; la figura 9 es un diagrama esquemático que muestra una operación ejemplificativa de entrada por teclado por parte del usuario; la figura 10 es un diagrama esquemático que muestra una operación ejemplificativa de entrada por teclado por parte del usuario; las figuras 11A, 11B y 11C son unos diagramas esquemáticos que muestran una orden de control ejemplificativa correspondiente a la entrada por teclado; la figura 12 es un diagrama esquemático que muestra un evento ejemplificativo correspondiente a la entrada por teclado; la figura 13 es un diagrama esquemático que muestra un gestor de eventos ejemplificativo; la figura 14 es un diagrama esquemático que muestra el gestor de eventos ejemplificativo; la figura 15 es un diagrama de flujo que muestra un proceso ejemplificativo ejecutado por un programa preparado con el evento de entrada del usuario como motivo; la figura 16 es un diagrama que explica un programa ejemplificativo de script; la figura 17 es un diagrama esquemático que muestra el programa ejemplificativo de script; la figura 18 es un diagrama esquemático que muestra una estructura de administración ejemplificativa de un archivo aplicado a la normativa de vídeo UMD; la figura 19 es un diagrama esquemático que muestra una sintaxis ejemplificativa que indica la estructura completa de un archivo "LISTAREPRODUCCIÓN.DAT"; la figura 20 es un diagrama esquemático que muestra una estructura interna ejemplificativa de un bloque "ElementoReproducción()"; la figura 21 es un diagrama esquemático que muestra una estructura interna ejemplificativa de un bloque "MarcaListaReproducción()"; la figura 22 es un diagrama para explicar un campo "tipo_marca" en un bloque "Marca()"; la figura 23 es un diagrama para explicar la designación del tiempo de una marca en un archivo de flujo AV extractado; la figura 24 es un diagrama esquemático que muestra una sintaxis ejemplificativa que indica la estructura completa de un archivo de flujo AV extractado (en inglés, “clip”) "XXXXX.CLP"; la figura 25 es un diagrama para explicar una relación de un bloque "InfoFlujoCont()” con un flujo elemental; la figura 26 es un diagrama esquemático que muestra una estructura interna ejemplificativa de un bloque "InfoEstática()"; la figura 27 es un diagrama esquemático que muestra una estructura interna ejemplificativa de un bloque "InfoDinámica()"; la figura 28 es un diagrama esquemático que muestra una estructura interna ejemplificativa de un bloque "Asignación_EP()"; la figura 29 es un diagrama de bloques que muestra esquemáticamente una configuración ejemplificativa de un aparato de reproducción de discos en el cual se puede aplicar la invención; las figuras 30A y 30B son diagramas de bloques de función para explicar más detalladamente el funcionamiento del aparato de reproducción de discos; la figura 31 es un diagrama esquemático que muestra la definición de estados del reproductor de películas de acuerdo con la invención; la figura 32 es un diagrama esquemático que muestra un estado actual y un estado después de la transición de estado con los métodos combinados en cada uno de los cuatro estados del reproductor de películas; las figuras 33A, 33B, 33C, 33D y 33E son diagramas esquemáticos para explicar un ejemplo de transición de estado del reproductor de películas al producirse la ejecución de un método "reproducción()"; la figura 34 es un diagrama esquemático para explicar un método para reproducir un elemento de reproducción; la figura 35 es un diagrama esquemático que muestra una operación ejemplificativa del reproductor de películas tras llegar a los puntos de inicio y terminación de una lista de reproducción durante la reproducción de la lista de reproducción; la figura 36 es un diagrama esquemático para explicar la reproducción entre listas de reproducción; la figura 37 es un diagrama de flujo que muestra más detalladamente un flujo de procesado en un reproductor de script al final de la lista de reproducción y un funcionamiento ejemplificativo del reproductor de películas; la figura 38 es un diagrama esquemático para explicar tres tipos de áreas de memoria de un reproductor de vídeo UMD; la figura 39 es un diagrama esquemático para explicar la copia de seguridad de un estado del reproductor; la figura 40 es un diagrama esquemático para explicar la copia de seguridad del estado del reproductor; la figura 41 es un diagrama esquemático para explicar el restablecimiento y el descarte de información de reanudación; la figura 42 es un diagrama esquemático para explicar el restablecimiento y el descarte de la información de reanudación; la figura 43 es un diagrama esquemático para explicar el restablecimiento y el descarte de la información de reanudación; la figura 44 es un diagrama esquemático para explicar el restablecimiento y el descarte de la información de reanudación; la figura 45 es un diagrama esquemático que muestra una operación ejemplificativa del reproductor de vídeo UMD usando un argumento "banderaBorradoInfoReanudación" de un método "parada()"; la figura 46 es un diagrama esquemático que muestra un ciclo vital ejemplificativo del estado del reproductor; las figuras 47A y 47B son unos diagramas esquemáticos que muestran un ciclo vital ejemplificativo de la información de reanudación; y la figura 48 es un diagrama esquemático que muestra un ciclo vital ejemplificativo de datos de usuario.
MEJOR MODO DE PONER EN PRÁCTICA LA INVENCIÓN
A continuación, se explicará una forma de realización de la invención en el siguiente orden:
- 1.
- Normativa de vídeo UMD
- 2.
- Modelo de reproductor de la normativa de vídeo UMD
- 3.
- Modelo de evento del reproductor de películas
- 4.
- Objeto de reproductor de películas
- 5.
- Ejemplo de programa de script
- 6.
- Estructura de administración de archivos
- 7.
- Aparato de reproducción de discos
- 8.
- Modelo de transición del estado del reproductor de películas
8-1 Definición del estado del reproductor de películas
8-2 Método para generar la transición del estado del reproductor de películas
8-3 Funcionamiento del reproductor de películas durante la reproducción de la lista de reproducción
8-4 Función de restablecimiento de la reproducción del reproductor de películas
8-5 Ciclo vital de cada uno de los datos
En primer lugar, para facilitar su comprensión, se explica brevemente un sistema aplicable como forma de realización de la invención. De acuerdo con una forma de realización de la invención, se describe un modelo de reproductor que utiliza un lenguaje de script denominado script ECMA. El script ECMA es un lenguaje de script para una plataforma cruzada basada en JavaScript (marca comercial registrada) establecido por la ECMA (Asociación Europea de Fabricantes de Ordenadores). El script ECMA se usa de forma adecuada para el modelo de reproductor de acuerdo con la invención por su alta afinidad con un texto HTML y la posibilidad de su propia definición de objetos.
En particular, un DVD-Vídeo convencional usa una orden de propósito no general definida por la normativa de DVD-Vídeo para describir un programa de control con el fin de realizar una función interactiva. El programa de control está integrado en una pluralidad de archivos, en una pluralidad de puntos en un archivo de datos o de forma distributiva en un archivo de flujo AV. Las condiciones para los programas de control así integrados y su orden de ejecución se definen por medio de la normativa de DVD.
En un sistema de DVD-Vídeo de este tipo, resulta difícil construir un sistema de producción de contenido de propósito general, y por lo tanto, la narración se produce de acuerdo con un script predeterminado, es decir, el contenido se produce usando una plantilla. Por otro lado, en la producción de un contenido complicado que no puede ser tratado con una plantilla, la primera etapa es preparar un sistema de producción de contenido como sistema realizado a medida. De acuerdo con la forma de realización de la invención, este problema se resuelve al usar el script ECMA el cual es un lenguaje de script de propósito general de alta extensibilidad para controlar contenido AV.
En la descripción que se ofrece a continuación, una normativa basada en la forma de realización de la invención que usa el lenguaje de script basado en el script de ECMA se denomina normativa de vídeo UMD (Disco Universal de Medios (marca comercial registrada)). Además, una parte de la normativa de vídeo UMD relacionada con el script se denomina específicamente normativa de script de vídeo UMD.
Se explicará brevemente el script de vídeo UMD. La figura 1 muestra una estructura de capas de la normativa de vídeo UMD. En la normativa de vídeo UMD se define una estructura de tres capas que incluye una capa de script, una capa de lista de reproducción y una capa de extractos, y la administración de los flujos se lleva a cabo basándose en esta estructura.
En la normativa de vídeo UMD, los datos de audio y vídeo y los subtítulos codificados digitalmente se gestionan como un flujo MPEG2 multiplexado, en forma de un flujo elemental por paquetes MPEG2 (Grupo de Expertos en Imágenes en Movimiento 2). El flujo elemental de los datos de vídeo y audio y los subtítulos multiplexados en el flujo MPEG2 se denomina flujo AV extractado. El flujo AV extractado se almacena en un archivo de flujo AV extractado. Al mismo tiempo que se graba un archivo de flujo AV extractado, el archivo de información del extracto se prepara en una correspondencia de uno a uno con el archivo del flujo AV extractado. A un conjunto del archivo de información de extracto y el archivo correspondiente del flujo AV extractado se le denomina extracto.
El extracto es lo que se denomina una unidad de grabación de disco, y el orden en el cual se reproduce el extracto se gestiona con la capa de lista de reproducción superior al extracto. La capa de lista de reproducción sirve para designar una ruta de reproducción del extracto, e incluye una o una pluralidad de listas de reproducción. La lista de reproducción es una masa de elementos de reproducción. El elemento de reproducción incluye un conjunto de puntos de "Entrada" y puntos de "Salida" que indican un intervalo de reproducción del extracto. Al conectar los elementos de reproducción; el extracto se puede reproducir en un orden arbitrario. El elemento de reproducción se puede designar duplicando los extractos. Los puntos de "Entrada" y de "Salida” del archivo del flujo AV extractado se designan mediante una indicación de tiempo (tiempo en el extracto), la cual se convierte en una posición de byte en el flujo AV extractado por medio de la información del archivo de información de extracto.
La lista de reproducción tiene sólo una estructura para reproducir secuencialmente los elementos de reproducción que designan la totalidad o una parte de los extractos, y no se puede lograr la ramificación del orden de reproducción o la interactividad con el usuario usando sólo la lista de reproducción. De acuerdo con una forma de realización de la invención, una pluralidad de listas de reproducción se recopila en un sólo archivo "LISTAREPRODUCCIÓN.DAT"
La capa de script se construye por medio de un script de vídeo UMD ampliado a partir del script ECMA de la especificación del lenguaje. En el script de vídeo UMD, la ampliación para obtener una función exclusiva del vídeo UMD se añade basándose en el script ECMA.
La capa de script es superior a la capa de lista de reproducción y se configura con una instrucción de reproducción de la lista de reproducción y una cadena de órdenes para ajustar el reproductor. La reproducción de la lista de reproducción con la ramificación condicionada tal como seleccionar uno cualquiera de los flujos preparados para una pluralidad de lenguajes o cambiar el flujo de reproducción a una lista de reproducción seleccionada de acuerdo con una cierta condición, se puede lograr mediante una orden de la capa de script. Un ejemplo de la aplicación que usa la reproducción de la lista de reproducción con esta ramificación condicionada es la multi-narración. Esta capa de script introduce la función interactiva con el usuario.
De acuerdo con esta forma de realización de la invención, la capa de script se configura con un archivo denominado archivo de recursos. El archivo de recursos incluye datos del script (programa de script) descritos basándose en un script ECMA real, datos de sonido para dar salida a un efecto de sonido en el momento del accionamiento de un botón, y un diseño de pantalla que tiene datos de imagen usados para una imagen de fondo de una pantalla de menú y datos de imagen (datos de mapa de bits) para visualizar partes de la GUI tales como una imagen de un botón.
Puede existir una pluralidad de archivos de recursos. Además, de acuerdo con esta forma de realización de la invención, al archivo de recursos se le da un nombre de archivo de acuerdo con una regla de denominación predeterminada. Una extensión "RCO" del nombre de archivo, por ejemplo, indica que el archivo es un archivo de recursos.
Seguidamente se explicará un modelo de un aparato de reproducción (reproductor) para reproducir datos de acuerdo con la normativa de vídeo UMD, es decir, un modelo de reproductor. En primer lugar el reproductor lee un archivo de recursos, un archivo de lista de reproducción y un archivo de información de extracto desde un disco, y de acuerdo con el orden predeterminado de reproducción, lee un archivo de flujo AV extractado y reproduce datos de vídeo audio y subtítulos.
De acuerdo con la especificación de lenguaje del programa de script, un bloque funcional para reproducir una lista de reproducción se monta como un objeto en el programa de script. El objeto para la reproducción de la lista de reproducción se denomina objeto de reproductor de películas de acuerdo con la normativa de vídeo UMD. La instrucción de reproducción de la lista de reproducción y la orden para ajustar el reproductor constituye un método asociado al objeto de reproductor de películas. El objeto de reproductor de películas se controla por el método de la capa de script. En el proceso, se requiere una función para notificar un cambio de estado y una posición de reproducción desde el objeto de reproductor de películas a la capa del script. Esto se corresponde con la emisión de un evento por parte del objeto de reproductor de películas hacia el programa de script, y un proceso correspondiente a este evento se describe como un gestor de eventos.
Tal como se ha descrito anteriormente, se construye un modelo en el cual la información se transmite desde el objeto de reproductor de películas al programa de script por medio de un evento y el objeto de reproductor de películas se controla de acuerdo con el programa de script a través de un método, de manera tal que la reproducción del flujo AV extractado puede ser controlada por el programa de script.
La figura 2 muestra esquemáticamente un modelo de reproductor ejemplificativo de acuerdo con esta forma de realización de la invención descrita anteriormente. Un reproductor 300 de películas es un módulo que se encarga de reproducir los datos de vídeo y audio y subtítulos de acuerdo con la normativa de vídeo UMD. El objeto de reproductor de películas descrito anteriormente es un objeto de película constituido como un objeto en el programa de script para hacer funcionar el objeto de película desde el programa de script. En otras palabras, el objeto de reproductor de películas es un módulo de implementación para realizar la función del reproductor de películas abstraído en una forma que pueda ser gestionada de acuerdo con el programa de script.
Por otro lado, se considera que el reproductor 300 de películas y el objeto de reproductor de películas representan sustancialmente el mismo objeto, y por lo tanto, en lo sucesivo se designan con el mismo número de referencia.
En la figura 2, en el reproductor 300 de películas se lee un archivo de flujo AV extractado y el flujo AV extractado leído de este modo se decodifica y se visualiza basándose en una lista de reproducción y una base de datos de información de extractos de acuerdo con un método de una capa inferior (una plataforma de implementación nativa 301 en el caso de la figura 2) inducido por una entrada 310 de usuario o una capa de script 302 que constituye una capa superior.
El interior del objeto 300 de reproductor de películas depende del montaje de un reproductor de vídeo UMD para reproducir un vídeo UMD, y se proporciona una API (interfaz de programación de aplicaciones), por ejemplo un método y una propiedad, como un objeto en forma de una caja negra desde la capa de script 302. El reproductor de vídeo UMD indica un dispositivo real que tiene montado en el mismo el reproductor de películas. Todos los reproductores de vídeo UMD tienen un reproductor de películas montado en los mismos de acuerdo con la normativa de vídeo UMD y tienen compatibilidad para la reproducción.
Tal como se muestra en la figura 2, el objeto 300 de reproductor de películas tiene tres rutas de entrada/salida que incluyen una ruta para recibir una orden de control 311 desde la plataforma de implementación nativa 301, una ruta para notificar un evento 312 a la capa de script 302 y una ruta para recibir un método 313 desde la capa de script 302.
La orden de control 311 controla el funcionamiento del objeto 300 de reproductor de películas desde la plataforma de implementación nativa 301. La plataforma de implementación nativa 301 es, por ejemplo, una interfaz entre las partes específicas de un dispositivo y el reproductor 300 de películas en el reproductor de vídeo UMD como dispositivo real. El evento 312 es un evento del script para la capa de script 302 desde el reproductor 300 de películas. El método 313 se designa por medio del reproductor 300 de películas desde el programa de script de la capa de script 302.
El objeto 300 de reproductor de películas incluye una base 320 de datos que contiene en la misma una lista de reproducción de la normativa de vídeo UMD e información de extractos. El objeto 300 de reproductor de películas invalida (enmascara) la entrada 310 del usuario o ejecuta un proceso para convertir una posición de reproducción designada en el tiempo en una posición de byte en el flujo AV extractado usando la base 320 de datos.
Un módulo 321 de reproducción en el objeto 300 de reproductor de películas decodifica el flujo AV extractado que constituye los datos de vídeo y audio y los subtítulos multiplexados como MPEG2 PS (flujo de programas). El módulo 321 de reproducción tiene dos estados de reproducción y parada y transita entre estos dos estados de acuerdo con la instrucción de control y el método (figura 3). Por otro lado, el flujo AV extractado no se limita al MPEG2 PS. El MPEG2 TS (flujo de transporte), por ejemplo, si se usa como un flujo AV extractado, también se puede gestionar de una forma similar a un modelo.
La capa de script 302 ejecuta el programa de script basándose en la normativa de script de vídeo UMD para controlar y visualizar el objeto 300 de reproductor de películas en la pantalla. El reproductor 302 de script tiene la función de lograr un escenario deseado por parte de un productor de contenidos. La capa de script 302 emite el método 313 hacia el objeto 300 de reproductor de películas, y recibe el evento 312 desde el objeto 300 de reproductor de películas. La capa de script 302 intercambia, con la plataforma de implementación nativa 301, un evento 314 de tecla correspondiente a la entrada 310 del usuario o un método 315 que ordena a la plataforma de implementación nativa 301 que dibuje una pantalla.
La plataforma de implementación nativa 301 tiene varias funciones diferentes a la especificada en la normativa de vídeo UMD. De acuerdo con esta forma de realización de la invención, existe el método 315 en el cual la capa de script 302 actúa sobre la plataforma de implementación nativa 301. Por lo tanto, el objeto con la función abstraída del mismo se define también para la plataforma de implementación nativa 301, y el método 315 se considera como asociado al objeto particular en el programa de script. Esto es debido a que el método pertenece al objeto. Por lo tanto, en la plataforma de implementación nativa 301 se define un objeto 330 de controlador, y el método 315 se define como aquel correspondiente al objeto 330 de controlador.
Los botones dispuestos en la pantalla de menú, por ejemplo, se dibujan con la plataforma de implementación nativa 301 basándose en el método 315 suministrado desde el programa de script de la capa de script 302 a la plataforma de implementación nativa 301. Cada vez que el usuario acciona los botones para una selección o determinación (entrada), se notifica el evento 314 de tecla correspondiente a la entrada 310 de usuario desde la plataforma de implementación nativa 301 a la capa de script 302, y el programa de script en la capa de script 302 ejecuta el proceso correspondiente a la entrada 310 de tecla basándose en el evento 314 de tecla.
Tal como se ha descrito anteriormente, las funciones se distribuyen de manera tal que el reproductor 300 de películas se encarga del funcionamiento de decodificar y controlar la visualización del vídeo, el audio y los subtítulos, y el reproductor 302 de script ejecuta el proceso relacionado con la disposición o visualización de la imagen parcial (a la que se hará referencia en lo sucesivo como las partes de la GUI) que constituye la GUI (interfaz gráfica de usuario), tales como botones, y el funcionamiento de seleccionar o determinar las partes de la GUI.
La plataforma de implementación nativa 301 constituye una base para el funcionamiento del objeto 300 de reproductor de películas y el programa de script. En el caso en el que el reproductor de vídeo UMD real sea hardware, por ejemplo, la plataforma de implementación nativa 301 se monta de una manera exclusiva para el hardware con el fin de actuar como intermediario entre el hardware y el modelo de reproductor.
La plataforma de implementación nativa 301, por ejemplo, recibe una entrada 310 de usuario proveniente del usuario, y determina si la entrada 310 de usuario recibida de esta manera es una instrucción para el reproductor 300 de películas o una instrucción emitida para el botón dibujado o visualizado en la capa de script 302. La plataforma de implementación nativa 301, tras la determinación de que la entrada 310 de usuario es una instrucción para el reproductor 300 de películas, convierte la entrada 310 de usuario en una orden de control 311 que constituye una instrucción de control interna para el reproductor 300 de películas, y emite una instrucción de control al reproductor 300 de películas.
Por otro lado, la plataforma de implementación nativa 301, tras la determinación de que la entrada 310 de usuario es una instrucción para la parte GUI dibujada y visualizada en la capa de script, notifica a la capa de script 302 sobre el evento 314 de tecla correspondiente a la entrada 310 de usuario. A continuación, la imagen del botón se puede visualizar en la pantalla, por ejemplo, basándose en el método 315 designado desde la capa de script 302 de acuerdo con el evento 314 de tecla particular. Específicamente, la plataforma de implementación nativa 301 y la capa de script 302 pueden recibir y entregar el evento y el método directamente sin el intermediario del reproductor 300 de películas.
Además, la plataforma de implementación nativa 301 puede acceder a la propiedad del reproductor 300 de películas tal como se describe posteriormente y visualizar el estado del reproductor 300 de películas.
Seguidamente se explicará el reproductor 300 de películas de forma más detallada. La figura 3 muestra una configuración interna ejemplificativa del reproductor 300 de películas. Tal como se ha descrito anteriormente, el reproductor 300 de películas se configura con una base 320 de datos y un módulo 321 de reproducción. La base 320 de datos es un área para almacenar información sobre una lista de reproducción leída desde un disco e información sobre un extracto, es decir, información de extracto.
El módulo 321 de reproducción incluye un motor 322 de decodificador y una propiedad 323 que representa un valor que indica el estado del módulo 321 de reproducción. La propiedad 323, como el código de idioma, por ejemplo, es de dos tipos que incluyen una propiedad 323A (parámetro de sólo lectura) con un valor de la misma determinado por la inicialización del reproductor 300 de películas y una propiedad 323B (estado del reproductor) que cambia su valor con el estado del módulo 321 de reproducción.
El valor de la propiedad 323A, el cual se determina por la inicialización, se fija mediante un sistema nativo tal como un dispositivo real, y no se cambia mediante la lista de reproducción, la información del extracto o el programa de script. El valor de la propiedad 323A se considera capaz de ser leído solamente desde el programa de script. Por otro lado, el valor de la propiedad 323B que indica el estado del módulo 321 de reproducción, por una parte puede ser leído desde el programa de script y por otra se puede escribir desde algún programa de script.
En relación con esto, este modelo de operación considera que la lista de reproducción y la información del extracto se precargan desde el disco antes de la reproducción del flujo AV extractado. Como alternativa, sin embargo, el funcionamiento determinado por el modelo del reproductor de películas se puede lograr para otro montaje (encapsulado).
El objeto 300 de reproductor de películas reproduce la lista de reproducción de acuerdo con la designación del reproductor de script 302 o la plataforma de implementación nativa 301. El reproductor 300 de películas, por ejemplo, se remite a la base 320 de datos y adquiere una posición de reproducción del flujo AV extractado correspondiente a la lista de reproducción designada, en forma de una posición de byte en el archivo. En el módulo 321 de reproducción, el motor 322 de decodificador controla la decodificación del flujo AV extractado basándose en la información de posición de reproducción.
El reproductor 300 de películas, tal como se muestra en la figura 4, tiene dos estados de reproducción y parada de acuerdo con la condición de reproducción de la lista de reproducción. El estado de reproducción es un estado en el cual se designa y se reproduce la lista de reproducción. Además de la reproducción normal, el estado de reproducción incluye varios estados, es decir, la reproducción de velocidad variable tal como velocidad doble, velocidad mitad, avance rápido o retroceso rápido y pausa. El avance cuadro a cuadro en el cual la reproducción avanza o retrocede por cuadros es un estado en el cual se alternan los estados de pausa y reproducción. El estado de parada es aquel en el que no se reproduce la lista de reproducción. En el estado de parada no se selecciona la lista de reproducción, y no se determina el valor del estado del reproductor que indica "número de lista de reproducción reproducida actualmente".
El estado del reproductor 300 de películas, por ejemplo, acompaña a la transición de estado correspondiente a los estados de reproducción y parada en el motor 322 de decodificador del reproductor 300 de películas, y el valor de la propiedad 323B se actualiza de acuerdo con la transición de estado del motor 322 del decodificador.
Una información 324 de reanudación almacena un estado inmediatamente anterior al estado de parada. En el caso en el que el reproductor 300 de películas decodifica una lista de reproducción dada en un estado de reproducción, por ejemplo, la transición al estado de parada hace que se almacene el estado inmediatamente anterior al estado de parada. Una pluralidad de elementos de la información 324 de reanudación se puede almacenar de una manera reconocible por cada título del disco en una memoria no volátil del reproductor como hardware. El disco, por ejemplo, tiene información de identificación exclusiva (a la que se hará referencia en lo sucesivo como ID de título) para cada título del disco, y almacena la información 324 de reanudación en asociación la ID del título. Al hacerlo así, basándose en la información de la información 324 de reanudación, la reproducción del disco se puede iniciar desde una posición inmediatamente anterior al estado de parada desde la cual el disco que tiene un título correspondiente a la ID del título se puede haber transferido al estado de reproducción.
Se explicará el modelo de evento del reproductor 300 de películas. El reproductor 300 de películas genera varios eventos en el estado de reproducción para reproducir la lista de reproducción. Estos eventos inducen la ejecución del programa de procesado denominado gestor de eventos descrito en un script. El gestor de eventos es un método al que se accede por la generación de un evento. El modelo de ejecución del programa para iniciar la ejecución del programa de procesado tras la generación de un evento se denomina modelo controlado por eventos. En el modelo controlado por eventos, se genera un evento irregular, y se ejecuta un programa preparado con la generación de un evento como motivo. De acuerdo con esta forma de realización de la invención, el programa de script controla el funcionamiento del objeto 300 de reproductor de películas con un grupo de gestores de eventos.
La figura 5 muestra esquemáticamente el modelo de evento del reproductor 300 de películas de acuerdo con una forma de realización de la invención. En la figura 5, los gestores de eventos "enEventoA()", "enEventoB()" y "enEventoC()" son interfaces, y el contenido de cada gestor de eventos se describe en el script. El contenido del gestor de eventos se prepara y se monta, por ejemplo, por medio del productor de contenidos. De acuerdo con la normativa de los script de vídeo UMD, el gestor de eventos se prepara para cada evento notificado desde el objeto 300 de reproductor de películas al programa de script. En el caso de la figura 5, por ejemplo, un programa de procesado ejecutado tras la generación de un evento A se determina como gestor de eventos "enEventoA()". Esto se cumple también con un evento B y un evento C. Específicamente, tras la generación del evento B, se ejecuta el gestor de eventos correspondiente "enEventoB()", mientras que después de la generación del evento C se ejecuta el gestor de eventos correspondiente "enEventoC()".
El gestor de eventos al que se accede de acuerdo con la generación del evento es seleccionado por el sistema, y por lo tanto, no se requiere que el productor del contenido describa en el programa de script, el proceso de determinación de un evento particular que pueda ser generado.
La figura 6 muestra un evento ejemplificativo generado durante la reproducción de la lista de reproducción. Al inicio de la lista de reproducción "ListaReproducción", se fija una marca de capítulo "MarcaCapítulo". Por lo tanto, en el momento de iniciar la reproducción desde el encabezamiento de la lista de reproducción, se genera de este modo un evento "Capítulo" correspondiente a la marca de capítulo. Además, cada vez que cambia el capítulo, el evento "Capítulo" se notifica a la capa de script 302 y se ejecuta un gestor correspondiente de eventos "enCapítulo". Además, con la llegada de la reproducción en el momento fijado por una marca de evento "MarcaEvento", se genera un evento de marca correspondiente. Cuando la reproducción alcanza el final de la lista de reproducción, la reproducción se detiene temporalmente al final de la lista de reproducción, y se notifica un evento "FinListaReproducción" desde la capa 300 de películas a la capa de script 302. En la capa de script 302 se designa el inicio de reproducción de otra lista de reproducción dentro de un gestor de eventos correspondiente "enFinListaReproducción()”. De esta manera, se continúa con la reproducción de una serie de listas de reproducción en el orden deseado por el productor de contenidos.
Tal como se ha descrito anteriormente, se considera que durante el funcionamiento del reproductor se producen varios eventos, y al notificar la generación de los eventos a un programa superior, el programa superior puede captar el estado del reproductor. En el programa superior, el programa (gestor de eventos) ejecutado en el momento de notificar cada generación de evento se prepara para proporcionar la generación de varios eventos. El evento y el gestor de eventos se explicarán de forma más detallada posteriormente.
En el caso en el que el gestor de eventos no esté descrito por el productor del contenido, se ejecuta la operación incorporada en el reproductor (gestor de eventos por defecto) especificado en la normativa, o se ignora el evento y no se ejecuta nada. En el caso en el que no se requiera que se ejecute nada, el gestor de eventos correspondiente al evento no está descrito para ignorar definitivamente de este modo el evento.
Otros modelos de eventos posibles incluyen un modelo de oyente de evento en el cual un oyente correspondiente a un evento dado es registrado por un objeto en un objeto de reproductor, y en el caso en el que el evento generado en el objeto de reproductor sea un evento registrado, el evento se transmite desde el objeto de reproductor al objeto que tiene registrado en el mismo el evento particular y se ejecuta el método correspondiente por medio del objeto, y un modelo de método único en el cual se accede a un único método independientemente del evento que pueda ser generado.
El modelo de evento de acuerdo con esta forma de realización es más sencillo que el modelo de oyente de evento que requiere el proceso de registro del evento y la cancelación del registro del evento. El modelo de método único, por otro lado, requiere la descripción, en el método, del pre-proceso de conocer un evento particular generado y de cambiar la rutina de procesado preparada, para cada evento. El método lo monta el productor de contenidos, y por lo tanto, aunque es sencillo como modelo, impone una carga pesada sobre el productor de contenidos. Además, cada vez que se genera un evento se accede a un programa de procesado grande (método), y por lo tanto se ocupa un área de memoria grande mientras que la velocidad de ejecución se reduce. El modelo, en el cual se prepara el programa de procesado (gestor de eventos) para cada evento de acuerdo con esta forma de realización de la invención, se considera ventajoso desde este punto de vista.
A continuación, se explicará la especificación externa del objeto 300 de reproductor de películas. En general, un objeto definido por un lenguaje de acuerdo con la especificación del lenguaje de script ECMA tiene una propiedad y un método. El objeto 300 de reproductor de películas de acuerdo con esta forma de realización de la invención, como ya se ha explicado en referencia a las figuras 2 y 3, tiene de modo similar una propiedad y un método. La propiedad puede ser leída y escrita directamente desde un objeto externo mediante la designación de un nombre de objeto y un nombre de propiedad involucrados. Además, al definir un método "fijarXXX()" ("XXX" es el nombre de la propiedad involucrada) para fijar un valor de la propiedad y un método "obtenerXXX"()" para leer un valor de la propiedad, el método puede leer y escribir la propiedad de otros objetos.
Las figuras 7A y 7B muestran una lista de propiedades ejemplificativas contenidas por el objeto 300 de reproductor de películas. Esto se corresponde con la propiedad 323 de la figura 3. La figura 7A muestra una propiedad ejemplificativa asociada al parámetro de sólo lectura 323A mostrado en la figura 3. una propiedad "versiónGuiónInstrucciones" indica la versión del script de vídeo UMD. Una propiedad "capacidadCanalesAudio" indica el número de canales de audio que pueden ser reproducidos por el reproductor de vídeo UMD. Una propiedad "códigoIdioma" indica un código de idioma correspondiente a un idioma de visualización del menú establecido en el reproductor de vídeo UMD. Una propiedad "códigoIdiomaAudio" indica un código de idioma correspondiente a un idioma de audio establecido en el reproductor de vídeo UMD. Una propiedad "códigoIdiomaSubtítulos" indica, por otro lado, un código de idioma correspondiente a un idioma de subtítulos establecido en el reproductor de vídeo UMD.
Una vez que se ha cargado el disco, se determina un archivo de script que se va a leer desde el disco, basándose en el código de idioma indicado en la propiedad "códigoIdioma" establecida en el parámetro 323A de sólo lectura. En el caso en el que el disco cargado carezca del archivo de script correspondiente al idioma, se lee un archivo de script por defecto. Por ejemplo, de toda la pluralidad de archivos de script, como archivo de script por defecto se lee un archivo dispuesto en el encabezamiento del disco.
La figura 7B muestra una propiedad ejemplificativa asociada al estado 323B del reproductor en la figura 3. una propiedad "númeroListaReproducción" indica un número de una lista de reproducción reproducida actualmente. Una propiedad "númeroCapítulo" indica un número de un capítulo reproducido actualmente. Una propiedad "númeroVídeo" indica un número de un flujo de vídeo reproducido actualmente. Una propiedad "númeroAudio" indica un número de un flujo de audio reproducido actualmente. Una propiedad "númeroSubtítulos" indica un número de un flujo de subtítulos reproducido actualmente. Una propiedad "tiempoListaReproducción" indica un tiempo considerando que el encabezamiento de la lista de reproducción es 0. Una propiedad "BanderaAudio" indica la designación de activación/desactivación de la reproducción de audio y el LR de mono dual. Una propiedad "banderaSubtítulos" indica la activación/desactivación de una visualización de subtítulos.
El "mono dual" es un modo en que los canales de audio estereofónicos izquierdo y derecho (L, R) se usan cada uno de ellos como un canal de audio monoaural independiente.
En el caso en el que el reproductor 300 de películas se encuentre en funcionamiento de reproducción o en pausa, existe información sobre cada propiedad asociada a este estado 323B del reproductor. Una vez que el funcionamiento se transfiere al estado de parada, se realiza, como información 324 de reanudación (información de reanudación), una copia de seguridad de cada propiedad asociada al estado 323B del reproductor en el instante de tiempo particular. Al mismo tiempo, se puede borrar el contenido del estado 323B del reproductor.
La figura 8 muestra una lista de métodos ejemplificativos contenidos en el objeto 300 de reproductor de películas. Esta se corresponde con el método 313 mostrado en la figura 2. Un método "reproducción()" reproduce un vídeo. Un método "reproducciónCapítulo()" reproduce un vídeo al designar un capítulo. Un método "reanudación()" inicia la reproducción usando la información 324 de reanudación. Un método "parada()" detiene la reproducción del vídeo. Un método "pausa()" detiene temporalmente la reproducción del vídeo. Un método "pasoReproducción()" reproduce el avance cuadro a cuadro del vídeo. Un método "cambiarFlujoCont()" cambia un flujo de vídeo, un flujo de audio y/o el flujo de subtítulos. Un método "obtenerEstadoReproductor()" adquiere un estado tal como reproducción, parada o pausa en el reproductor 300 de películas. Un método "cambiarInfoReanudación()” cambia el contenido de la información 324 de reanudación. Un método "reinicializar()" detiene la reproducción del vídeo y borra el contenido de la información 324 de reanudación.
De acuerdo con la normativa de vídeo UMD, el vídeo se puede visualizar en una parte de la pantalla de visualización. Los siguientes cuatro métodos se refieren a esta visualización del vídeo. Un método "fijarPos()" fija una posición de visualización del vídeo. Un método "obtenerPos()" adquiere una posición de visualización del vídeo. Un método "fijarTamaño()" fija un tamaño de visualización del vídeo. Un método "obtenerTamaño()" adquiere un tamaño de visualización del vídeo.
Actualmente, el reproductor 300 de películas y la plataforma de implementación nativa 301 se configuran de forma enteriza entre sí. Específicamente, de acuerdo con la relación entre el reproductor UMD como hardware cargado realmente con un disco para la reproducción y el software para controlar el reproductor UMD, una parte particular procesada por el hardware y una parte particular procesada por el software dependen de la configuración en el momento del montaje. En el caso en el que el reproductor UMD se configura con un ordenador personal, por ejemplo, las partes diferentes a la unidad de disco se pueden configurar como software. Por otro lado, en el caso en el que el reproductor UMD se configura como una unidad simple, un decodificador de vídeo y un decodificador de audio, diferentes de la unidad de disco, se pueden configurar como hardware. Por lo tanto, los métodos, órdenes y eventos procesados entre el reproductor 300 de películas y la plataforma de implementación nativa 301, no se limitan al intercambio explícito que como ejemplo de los mismos se muestra en la figura 2.
Con respecto a la entrada por teclado del usuario, por otro lado, como ya se ha explicado en referencia a la figura 2, la entrada 310 de usuario es recibida en primer lugar por la plataforma de implementación nativa 301. Específicamente, la plataforma de implementación nativa 301 recibe la entrada por teclado del usuario como la entrada 310 de usuario, y determina si la entrada 310 de usuario es una orden para el reproductor 300 de películas o un evento para el programa de script de la capa de script 302. De acuerdo con el resultado de la determinación, la plataforma de implementación nativa 301 genera una orden de control 311 o un evento 314 de tecla y notifica los mismos a la capa superior correspondiente (reproductor 300 de películas o la capa de script 302).
Las figuras 9 y 10 muestran una entrada por teclado ejemplificativa introducida por medio de la entrada 310 de usuario. Por otro lado, cada tecla que comienza con "VK" en las figuras 9 y 19 indica una tecla virtual.
La figura 9 muestra una entrada por teclado ejemplificativa para el funcionamiento del reproductor 300 de películas. Una tecla "VK_REPRODUCCIÓN" proporciona una función correspondiente a una tecla de reproducción que designa la reproducción. Una tecla "VK_PARADA" proporciona una función correspondiente a una tecla de parada que designa la parada de la reproducción. Una tecla "VK_PAUSA" proporciona una función correspondiente a una tecla de pausa que designa la parada temporal de la reproducción. Una tecla "VK_AVANCE_RÁPIDO" proporciona una función correspondiente a una tecla de avance rápido que designa la reproducción de avance rápido. Una tecla "VK_RETROCESO_RÁPIDO" proporciona una función correspondiente a una tecla de retorno rápido que designa la reproducción de retorno rápido. Una tecla "VK_AVANCE_LENTO" proporciona una función correspondiente a una tecla (de avance) lenta que designa la reproducción de avance lento. Una tecla "VK_RETROCESO_LENTO" proporciona una función correspondiente a una tecla (de retroceso) lento que designa la reproducción de retroceso lento. Una tecla "VK_AVANCE_PASO" proporciona una función correspondiente a una tecla de (avance) cuadro a cuadro que designa la reproducción de avance cuadro a cuadro. Una tecla "VK_RETROCESO_PASO" proporciona una función correspondiente a una tecla de (retroceso) cuadro a cuadro que designa el avance inverso cuadro a cuadro.
Una tecla "VK_SIGUIENTE" proporciona una función correspondiente a una tecla de designación siguiente para introducir un valor que indica "siguiente". Una tecla "VK_PREVIA" proporciona una función correspondiente a una tecla de designación previa para introducir un valor que indica "previa". Mediante el uso de la tecla "VK_SIGUIENTE" y la tecla "VK_PREVIA", por ejemplo, se puede designar la transferencia al capítulo precedente o siguiente.
Una tecla "VK_ÁNGULO" proporciona una función correspondiente a una tecla de conmutación de ángulo del vídeo que designa la conmutación del ángulo de un vídeo con múltiples ángulos. Una tecla "VK_SUBTÍTULOS" proporciona una función correspondiente a la tecla de conmutación de subtítulos para conmutar los subtítulos en inglés, los subtítulos en japonés o la visualización/no visualización de subtítulos. Una tecla "VK_AUDIO" proporciona una función correspondiente a una conmutación de audio para conmutar la configuración del audio tal como surround o bilingüe. Una tecla "VK_ASPECTO_VÍDEO" proporciona una función correspondiente a una tecla de conmutación de aspecto que designa el cambio de la relación de aspecto del vídeo.
La figura 10 muestra una entrada por teclado ejemplificativa para el funcionamiento del menú. Una tecla "VK_ARRIBA" proporciona una función correspondiente a una tecla de designación de arriba para introducir un valor que indica "arriba". Una tecla "VK_ABAJO" proporciona una función correspondiente a una tecla de designación de abajo para introducir un valor que indica "abajo". Una tecla "VK_DERECHA" proporciona una función que se corresponde con una tecla de designación de dirección a la derecha para introducir un valor que indica "derecha". Una tecla "VK_IZQUIERDA" proporciona una función correspondiente a una tecla de designación de dirección a la izquierda para introducir un valor que indica "izquierda". Una tecla "VK_ARRIBA_DERECHA" proporciona una función correspondiente a una tecla de designación diagonalmente hacia arriba a la derecha para introducir un valor que indica "derecha arriba". Una tecla "VK_ARRIBA_IZQUIERDA" proporciona una función correspondiente a una tecla de designación diagonalmente hacia arriba a la izquierda para introducir un valor que indica "izquierda arriba". Una tecla "VK_ABAJO_DERECHA" proporciona una función correspondiente a una tecla de designación diagonalmente hacia abajo a la derecha para introducir un valor que indica "derecha abajo". Una tecla "VK_ABAJO_IZQUIERDA" proporciona una función correspondiente a una tecla de designación diagonalmente hacia abajo a la izquierda para introducir un valor que indica "izquierda abajo". El uso de estas teclas hace posible designar el movimiento de la indicación del cursor sobre la pantalla.
Una tecla "VK_MENÚ" proporciona una función correspondiente a una tecla de menú para visualizar el menú. Una tecla "VK_ENTRADA" proporciona una función correspondiente a una tecla de ENTRADA para designar "determinación". Una tecla "VK_RETORNO" proporciona una función correspondiente a una tecla que designa el retorno del proceso en un paso.
Las teclas "VK_TECLA_COLOR_1", "VK_TECLA_COLOR_2", "VK_TECLA_COLOR_3", "VK_TECLA_COLOR_4" "VK_TECLA_COLOR_5" Y "VK_TECLA_COLOR_6" proporcionan funciones correspondientes a una tecla de función de color 1, una tecla de función de color 2, una tecla de función de color 3, una tecla de función de color 4, una tecla de función de color 5, y una tecla de función de color 6, respectivamente.
La entrada por teclado mostrada en la figura 9 y la entrada por teclado mostrada en la figura 10 tienen funciones diferentes, y por lo tanto, se requiere que el destino de la notificación sea especificado por la plataforma de implementación nativa 301. Tal como se ha descrito anteriormente, la designación relativa a la reproducción del vídeo, el audio y los subtítulos es emitida mediante la entrada por teclado mostrada en la figura 9. Tras la recepción de la entrada por teclado mostrada en la figura 9 como entrada 310 de usuario, la plataforma de implementación nativa 301 convierte la entrada por teclado recibida en órdenes mostradas en las figuras 11A, 11B y 11C y notifica al reproductor 300 de películas sobre las mismas.
La entrada por teclado mostrada en la figura 10 es, por otro lado, la entrada 310 de usuario para la GUI, y por lo tanto, se requiere que esta entrada de usuario sea notificada a y procesada por la capa de script 302 que construye la pantalla y que dispone los botones. Tras la recepción de la entrada por teclado mostrada en la figura 10 como entrada 310 de usuario, la plataforma de implementación nativa 301 la convierte en el evento 314 mostrado en la figura 2 y la notifica a la capa de script 302. La figura 12 muestra un ejemplo del evento 314 correspondiente a esta entrada por teclado.
Las figuras 9 y 10 también muestran la entrada por teclado para la conmutación de flujo, tal como una tecla VK_ÁNGULO, una tecla VK_SUBTÍTULOS y una tecla VK_AUDIO. En primer lugar se notifica sobre estas teclas al reproductor 300 de películas por medio de la entrada 310 de usuario, desde la cual se notifica al script un evento que indica la presencia de una solicitud de conmutación de flujo desde el reproductor 300 de películas. A continuación, se conmutan el audio y los subtítulos a través del método de conmutación de flujo del programa de script al reproductor 300 de películas. Por lo tanto, se requiere que esta entrada por teclado sea transmitida desde la plataforma de implementación nativa 301 al reproductor 300 de películas.
Se describen más detalladamente las órdenes mostradas en las figuras 11A, 11B y 11C. Una orden "uo_búsquedaTiempo(tiempoListaReproducción)" designa la reproducción de una lista de reproducción reproducida actualmente a partir de un tiempo designado. Un argumento "tiempoListaReproducción" indica un tiempo cuando el encabezamiento de la lista de reproducción se fija a 0. Esta orden no puede designar el número de la lista de reproducción, y por lo tanto, el tiempo indicado por el argumento "tiempoListaReproducción" es el tiempo designado incluido en el intervalo de la lista de reproducción reproducida actualmente. Una orden "uo_reproducción()” designa el inicio de la reproducción a la velocidad unitaria (normal). Basándose en la información 324 de reanudación se determina una posición de inicio. En ausencia de la información correspondiente a la información 324 de reanudación, la operación del usuario se considera como no válida. Esta orden se corresponde con la ejecución del método "reproducción()" sin la designación del número de lista de reproducción. Además, el número de lista de reproducción no se puede designar con esta orden por medio de la operación del usuario.
Una orden "uo_reproducciónCapítulo(númeroCapítulo)" designa el inicio de la reproducción desde un capítulo designado por el argumento "númeroCapítulo" de la lista de reproducción reproducida actualmente. En ausencia de la designación del capítulo, se designa el inicio de la reproducción desde el encabezamiento del capítulo reproducido actualmente. Esto se corresponde con el método "reproducciónCapítulo()" sin la designación del número de capítulo. Una orden "uo_reproducciónCapítuloPrevio()" designa el inicio de reproducción desde el capítulo inmediatamente precedente a un capítulo actual. Una orden "uo_reproducciónCapítuloSiguiente()", por otro lado, designa el inicio de la reproducción desde un capítulo siguiente.
Una orden "uo_saltoAlFinal()” designa un salto al final de la lista de reproducción. Esta orden se corresponde con la operación del usuario para ordenar al reproductor 300 de películas que suspenda la reproducción y generar el evento "finListaReproducción". De acuerdo con esta orden, la capa de script 302 ejecuta el gestor de eventos "enFinListaReproducción". Una orden "uo_exploraciónAdelante(velocidad)” designa la reproducción hacia delante a una velocidad de reproducción designada por un argumento "velocidad". Una orden "uo_exploraciónAtrás(velocidad)" por otro lado, designa la reproducción inversa a la velocidad de reproducción designada por el argumento "velocidad". El argumento "velocidad” en las órdenes "uo_exploraciónAdelante(velocidad)" y la orden "uo_exploraciónAtrás(velocidad)" depende del montaje del reproductor de vídeo UMD.
Una orden "uo_pasoReproducción(avance)" designa el avance cuadro a cuadro. Una orden "uo_pasoReproducción(retroceso)" designa el avance inverso cuadro a cuadro. Una orden "uo_pausaActivada()" designa la parada temporal de la reproducción basándose en la operación del usuario. Una orden "uo_pausaDesactivada()" cancela la parada temporal de la reproducción basándose en la operación del usuario.
Una orden "uo_fijarAudioHabilitado(booleano)" designa la operación de activación/desactivación de un flujo de audio. En el momento de la ejecución de esta orden, el valor de la bandera "banderaAudio" también se cambia para el contenido correspondiente. Una orden "uo_fijarSubtítulosHabilitados(booleano)" designa el estado de activación/desactivación de un flujo de subtítulos. En el momento de la ejecución de esta orden, el valor de la bandera "banderaSubtítulos" también se cambia para el contenido correspondiente. Una orden "uo_cambioÁngulo()" designa el cambio en el ángulo de visualización. Tras la transmisión de la operación del usuario basada en esta orden hacia el reproductor 300 de películas, el reproductor 300 de películas notifica el evento "cambioÁngulo" a la capa de script 302. Una orden "uo_cambioAudio(númeroFlujoContAudio)" designa el cambio en un flujo de audio a reproducir. Una orden "uo_cambioCanalAudio(valor)" designa la conmutación del canal de audio o la conmutación a un canal en el momento de la reproducción mono dual. En el momento de la ejecución de esta orden, un valor de una bandera "banderaAudio" también se cambia para el contenido correspondiente. Una orden "uo_cambioSubtítulos(númeroFlujoContSubtítulos)" designa el cambio en un flujo de subtítulos a reproducir.
Se explicará de forma más detallada la relación entre los eventos mostrados en la figura 12 y el método del reproductor 300 de películas para los eventos. Un evento "menú" sirve para saltar al menú. Este evento no se notifica al reproductor 300 de películas sino a la capa de script 302 desde la plataforma de implementación nativa 301. La capa de script 302, tras la recepción de este evento "menú" ejecuta un gestor de eventos "enMenú". Se emite un evento "salir" desde la plataforma de implementación nativa 301 cuando la aplicación de vídeo UMD se hace finalizar por medio de la plataforma de implementación nativa
301. Una vez que este evento "salir" es recibido por la capa de script 302, la capa de script 302 ejecuta un gestor de eventos "enSalida".
Se emite un evento "recursoCambiado" desde la plataforma de implementación nativa 301 tras la generación de la conmutación del archivo de recursos. Tras la recepción de este evento "recursoCambiado" por la capa de script 302, la capa de script 302 ejecuta un gestor de eventos "enRecursoCambiado".
Se generan un evento "arriba", un evento "abajo", un evento "izquierda", un evento "derecha", un evento "dentroEnfoque", un evento "fueraEnfoque", un evento "pulsar" y un evento "cancelar" en el caso en el que se enfoca una imagen de botón que constituye una parte de una GUI visualizada en la pantalla. Estos eventos no se notifican al reproductor 300 de películas sino a la capa de script 302 desde la plataforma de implementación nativa 301. Por otro lado, la expresión "el caso en el que se enfoca una imagen de botón" es indicativa del estado en el cual un cursor destinado a designar una posición sobre la pantalla indica la coordenada de visualización de la imagen del botón y la imagen del botón particular está en un estado seleccionable. El evento "arriba", el evento "abajo", el evento "izquierda" y el evento "derecha" se generan cuando el enfoque de la imagen de botón se mueve arriba, abajo, a la izquierda y a la derecha, respectivamente. El evento "dentroEnfoque" se genera en el caso en el que se enfoca una imagen de botón dada, y el evento "fueraEnfoque" se genera en el caso en el que la imagen de botón enfocada se desplaza fuera del enfoque. Además, el evento "pulsar" se genera en el caso en el que se presiona la imagen del botón enfocada. El evento "cancelar" se genera en el caso en el que se cancela la presión de la imagen del botón.
Un evento "autoReproducción" y un evento "continuarReproducción" designan el inicio de la ejecución del script en la capa de script 302. El evento "autoReproducción" designa el inicio automático del script en el momento de cargar el disco. El evento "continuarReproducción" designa la reanudación de la ejecución del script desde el instante de tiempo de la suspensión previa basándose en la información 324 de reanudación, por ejemplo, en el momento de cargar el disco.
Para el evento mostrado en la figura 12 existe el programa ejecutado tras la generación del evento. El programa correspondiente a este evento se denomina gestor de eventos. La correspondencia entre el evento y el gestor de eventos se puede establecer, por ejemplo, adjuntando un nombre. Como ejemplo, el nombre del gestor de eventos se obtiene adjuntando "en" al encabezamiento del nombre del evento. Las figuras 13 y 14 muestran gestores de eventos ejemplificativos. El contenido del gestor de eventos lo describe el productor de contenidos, de manera tal que las diversas operaciones deseadas por el productor de contenidos pueden ser ejecutadas por el reproductor de vídeo UMD.
La figura 13 muestra una parte de un ejemplo del evento contenido por el objeto 300 de reproductor de películas y un gestor de eventos correspondiente. El evento mostrado en la figura 13 se corresponde con el evento 312 antes mencionado mostrado en la figura 2, y notificado desde el reproductor 300 de películas a la capa de script 302. El gestor de eventos es un tipo de interfaz, y el contenido del mismo lo monta el productor del contenido, por ejemplo, usando el lenguaje de script. Al configurar el gestor de eventos de esta manera, la operación deseada por el productor del contenido se puede realizar en el momento de la aparición del evento.
Tras la detección de la marca de evento (Marca-evento) se ejecutan un evento "marca" y un gestor de eventos "enMarca()". La marca de evento se integra, por ejemplo, en la lista de reproducción, y se detecta por medio del reproductor 300 de películas durante la reproducción de la lista de reproducción. Tras la detección de la marca de evento por el reproductor 300 de películas, el evento "marca" se notifica desde el reproductor 300 de películas a la capa de script 302. La capa de script 302 ejecuta el gestor de eventos "enMarca()” correspondiente a este evento "marca". De una manera similar, un evento "finListaReproducción" y un evento "enFinListaReproducción()" se ejecutan al final de la lista de reproducción. Tras la detección de una marca de capítulo (Marca-capítulo) se ejecutan un evento "capítulo" y un gestor de eventos "enCapítulo()”. La marca de capítulo se integra, por ejemplo, en la lista de reproducción, y se detecta por medio del reproductor 300 de películas durante la reproducción de la lista de reproducción.
Tras la designación del cambio de ángulo por el accionamiento del usuario se ejecutan un evento "cambioÁngulo" y un gestor de eventos "enCambioÁngulo()". En el caso en el que la entrada por teclado "VK_ÁNGULO" se introduce en la plataforma de implementación nativa 301 como una entrada 310 de usuario de acuerdo con el accionamiento del usuario, por ejemplo, la plataforma de implementación nativa 301 convierte la entrada 310 de usuario particular en la orden "uo_cambioÁngulo()" y la entrega al reproductor 300 de películas. El reproductor 300 de películas genera el evento "cambioÁngulo" de acuerdo con la orden "uo_cambioÁngulo()", y lo entrega a la capa de script 302. La capa de script 302 ejecuta el gestor de eventos "enCambioÁngulo()" correspondiente al evento "cambioÁngulo". De una manera similar, el evento "cambioAudio" y el gestor de eventos "enCambioAudio()" se ejecutan tras la designación del cambio de audio por el accionamiento del usuario. Un evento "cambioSubtítulos" y un gestor de eventos "enCambioSubtítulos()" se ejecutan tras la designación del cambio de subtítulos por el accionamiento del usuario.
La figura 14 muestra una parte del gestor de eventos ejemplificativo contenido por el objeto 330 de controlador. El gestor de eventos mostrado en la figura 14 se asocia al objeto 330 de controlador de la plataforma de implementación nativa 301, y se ejecuta mediante la notificación de la plataforma de implementación nativa 301 a la capa de script 302.
El evento "menú" y el gestor de eventos "enMenú()" hacen saltar al menú. El evento "menú" se notifica desde la plataforma de implementación nativa 301 a la capa de script 302, por ejemplo, tras la presión de la tecla de menú por el accionamiento del usuario. Tras la recepción de este evento la capa de script 302 ejecuta el gestor de eventos "enMenú()" correspondiente, y organiza y visualiza la parte de la GUI que constituye la pantalla de menú en el gestor de eventos "enMenú()”. El evento "salir" y el gestor de eventos "enSalida()" son un evento emitido desde la plataforma de implementación nativa 301 al final de la aplicación de vídeo UMD por la plataforma de implementación nativa 301 y el gestor de eventos correspondiente respectivamente.
El evento "salir" se notifica desde la plataforma de implementación nativa 301 a la capa de script 302 tras la designación del final del funcionamiento del reproductor de vídeo UMD por el accionamiento del usuario, etc. Tras la recepción del evento "salir" notificado de esta manera, el script de la capa de script 302 puede ejecutar el proceso de finalización en el gestor de eventos "enSalida()".
El evento "recursoCambiado" y el gestor de eventos "enRecursoCambiado" son un evento emitido desde la plataforma de implementación nativa 301 después de que la plataforma de implementación nativa 301 conmute el archivo de recursos y un gestor de eventos correspondiente, respectivamente.
El evento "autoReproducción" y el gestor de eventos "enAutoReproducción()" , y el evento "continuarReproducción" y el gestor de eventos "enContinuarReproducción()", inician respectivamente la ejecución del script.
Por otro lado, existe un gestor de eventos para el botón distinto del gestor de eventos del objeto 330 de controlador. El gestor de eventos para el botón no está relacionado con esta invención de manera significativa y por lo tanto no se describe.
Con referencia al diagrama de flujo de la figura 15, se explica brevemente un proceso ejemplificativo para ejecutar un programa preparado, con el evento de entrada de usuario como motivo. La figura 15 muestra un ejemplo en el cual, en el caso en el que la tecla que designa la reproducción del capítulo siguiente (por ejemplo, tecla "siguiente") es presionada por el usuario durante la reproducción normal del disco en el reproductor de vídeo UMD, la reproducción se inicia saltando al capítulo siguiente de acuerdo con esta entrada por teclado mientras que al mismo tiempo se visualiza en la pantalla el mensaje preparado.
En el caso en el que se presiona la tecla "siguiente" usando el mando de control remoto del reproductor de vídeo UMD por parte del usuario durante la reproducción normal del disco por el reproductor de vídeo UMD (etapa S10), por ejemplo, la tecla VK_SIGUIENTE se entrega como entrada 310 de usuario a la plataforma de implementación nativa 301. La plataforma de implementación nativa 301 genera una orden de usuario "uo_reproducciónCapítuloSiguiente()" correspondiente a esta entrada 310 de usuario (etapa S11). Esta orden de usuario "uo_reproducciónCapítuloSiguiente()" se notifica al reproductor 300 de películas.
El reproductor 300 de películas que ha recibido esta orden "uo_reproducciónCapítuloSiguiente()" busca en la base 320 de datos y adquiere la posición de la siguiente marca de capítulo basándose en la posición de la reproducción actual de la información de lista de reproducción (etapa S12). La etapa S13 determina si existe o no la siguiente marca de capítulo, y tras la determinación de que no existe dicha marca de capítulo, se continúa con la reproducción actual sin el salto de capítulo.
Por otro lado, tras la determinación en la etapa S13 de que existe la siguiente marca de capítulo, el proceso prosigue hacia la etapa S14. En la etapa S14, el reproductor 300 de películas suspende la reproducción actual, y adquiere la posición de byte en el archivo de flujo AV extractado, que indica la siguiente marca de capítulo, a partir de la información de puntos característicos del archivo de información del extracto de la base 320 de datos. En la etapa S15, se accede a la posición de byte adquirida en el archivo, y se inicia la reproducción comenzando la lectura del flujo desde la posición particular.
La etapa S16 y las etapas subsiguientes son una serie de procesos para visualizar el mensaje que notifica la conmutación de capítulo en la pantalla. Una vez que se ha conmutado el capítulo y se comienza la reproducción desde el encabezamiento del capítulo, se genera el evento de capítulo (etapa S16). Por ejemplo, la marca de capítulo dispuesta en el encabezamiento del capítulo se detecta por medio del reproductor 300 de películas, y se genera el evento "capítulo". Este evento de capítulo se notifica desde el reproductor 300 de películas a la capa de script 302. En el momento de la notificación de este evento, el reproductor 300 de películas notifica a la capa de script 302 también el número de capítulo correspondiente al capítulo al cual se debe saltar. La capa de script 302 inicia la ejecución del gestor de eventos correspondiente al evento notificado, tal como el gestor de eventos "enCapítulo()" (etapa S17).
En el caso que se está considerando, se supone que el accionamiento que indica el mensaje que notifica la conmutación de capítulo, si hubiera alguno, en la pantalla, se describe en el gestor de eventos. El script del reproductor 302 de script ejecuta este gestor de eventos, adquiere el número de capítulo del destino del salto notificado desde el reproductor 300 de películas en el momento de la generación del evento (etapa S18), y emite una instrucción hacia la plataforma de implementación nativa 301 para visualizar en la pantalla un mensaje predeterminado que indica, por ejemplo, el encabezamiento del capítulo correspondiente al número de capítulo adquirido. En respuesta a esta instrucción la plataforma de implementación nativa 301 visualiza el mensaje en la pantalla (etapa S19), y se termina el proceso por parte del gestor de eventos (etapa S20).
Mediante el accionamiento, por parte del usuario, a través del proceso antes mencionado, de la tecla "siguiente" que designa el inicio de la reproducción del capítulo siguiente, se salta el capítulo y en el momento de iniciar la reproducción del siguiente capítulo al que se ha saltado, se visualiza en la pantalla el mensaje que indica el encabezamiento del capítulo.
Tal como se ha descrito anteriormente, el evento de entrada de usuario constituye un motivo para cambiar el estado del reproductor 300 de películas y generar un nuevo evento, y se pueden ejecutar varios procesos usando el evento recién generado.
El modelo de reproductor descrito anteriormente hace posible la reproducción de vídeo, audio y subtítulos. Al generar un cierto evento en un instante de tiempo dado durante la reproducción y ejecutar un gestor de eventos preparado de antemano como según haya preestablecido el productor del contenido, se puede realizar la operación deseada por el productor del contenido. Además, en el caso de accionamiento del reproductor por parte del usuario durante la reproducción de la lista de reproducción, se emite una orden de control desde la plataforma de implementación nativa 301 al reproductor 300 de películas de acuerdo con la entrada 310 de usuario mediante el accionamiento del usuario, y se puede cambiar el estado del reproductor según desee el usuario. Además, la plataforma de implementación nativa 301 que ha recibido la entrada 310 de usuario mediante el accionamiento del reproductor por parte del usuario notifica el evento al script de la capa de script 302, de manera tal que la operación preparada por el productor del contenido se puede ejecutar de acuerdo con el accionamiento del usuario.
Al construir el modelo de reproductor de esta manera, se pueden proporcionar al usuario la reproducción de vídeo, audio y subtítulos, y el funcionamiento interactivo.
Seguidamente se explicará un programa de script ejemplificativo de la capa de script 302. En primer lugar, cabe considerar que el flujo de reproducción del contenido según se muestra en la figura 16 se prepara por medio del productor del contenido. El contenido mostrado en la figura 16 se configura con elementos de visualización que incluyen listas 400, 401 de reproducción, un menú superior 402 y un mensaje 403. La lista 400 de reproducción está destinada a visualizar automáticamente una pantalla de texto de alerta cuando se carga el disco. La lista 401 de reproducción es la narración original de la película que constituye la característica de este contenido. La pantalla 402 del menú superior tiene la parte de la GUI tal como el botón dispuesto en la misma para designar la reproducción de la lista 401 de reproducción. Además, el mensaje 403 se visualiza en un momento arbitrario durante la reproducción de la lista 401 de reproducción.
Además, la configuración mostrada en la figura 16 tiene varios gestores de eventos. En cuanto se carga el disco en el reproductor UMD, el gestor de eventos "enAutoReproducción()" reproduce automáticamente la lista 400 de reproducción y visualiza un mensaje de alerta. Al final de la reproducción de la lista de reproducción se accede al gestor de eventos "enFinListaReproducción()", y en el ejemplo mostrado en la figura 16, se accede al final de la lista 400 ó 401 de reproducción. Específicamente, el gestor de eventos "enFinListaReproducción()” determina qué lista de reproducción ha finalizado, y tras completar la reproducción de la lista 400 de reproducción, designa el inicio de la reproducción de la lista 401 de reproducción. Además, al final de la reproducción de la lista 401 de reproducción, el gestor de eventos "enFinListaReproducción()" accede a la pantalla 402 de menú superior.
Al gestor de eventos "enMenú()" se accede tras el accionamiento de la tecla de menú por parte del usuario, y el mismo accede a y visualiza el menú superior 402 en la pantalla. El gestor de eventos "enMarca()" se ejecuta con la llegada del tiempo designado por la marca "Marca" durante la reproducción. En el caso mostrado en la figura 16, la marca "Marca" se fija para la lista 401 de reproducción, y con la llegada de la reproducción de la lista 401 de reproducción en el instante de tiempo designado por la marca "Marca", se visualiza en la pantalla el mensaje 403.
Específicamente, en el caso de la figura 16, una vez que el disco se ha cargado en el reproductor de vídeo UMD, se accede al gestor de eventos "enAutoReproducción", y se reproduce la lista 400 de reproducción mientras que al mismo tiempo se visualiza la pantalla de alerta. Con la llegada al final de la lista 400 de reproducción tras el transcurso del tiempo de reproducción de la misma, se accede al gestor de eventos "enFinListaReproducción" y se determina la reproducción hasta el final de la lista 400 de reproducción. De este modo, se reproduce la siguiente lista 401 de reproducción. Tras el accionamiento de la tecla de menú por parte del usuario durante la reproducción de la lista 401 de reproducción, se accede al gestor de eventos "enMenú" y se visualiza la pantalla 402 de menú superior. Además, de acuerdo con la operación predeterminada en la pantalla 402 de menú superior, el gestor de eventos "enMenú" inicia la reproducción desde el encabezamiento de la lista 401 de reproducción. Además, con la llegada del tiempo de reproducción de la lista 401 de reproducción en el instante de tiempo designado por la marca "Marca", se accede al gestor de eventos "enMarca", y se visualiza en la pantalla el mensaje 403. Tras la reproducción hasta el final de la lista 401 de reproducción, se accede al gestor de eventos "enFinListaReproducción", y se determina la reproducción hasta el final de la lista 401 de reproducción, visualizando con ello la pantalla 402 de menú superior.
La figura 17 muestra un ejemplo del programa de script para realizar el funcionamiento mostrado en la figura 16. Tal como se ha descrito anteriormente, el programa de script tiene dispuestos gestores de eventos y de acuerdo con la aparición del evento se ejecuta uno cualquiera de ellos. El programa de script se almacena en el archivo de recursos con la extensión "RCO".
El método que designa la reproducción de la lista de reproducción para el reproductor 300 de películas es "reproductorpelículas.reproducción()". En el paréntesis se describe como argumento un número de la lista de reproducción a reproducir. Tras completas la reproducción de la lista de reproducción, se genera el evento "finListaReproducción". Tras la generación del evento "finListaReproducción", se recupera del script el gestor de eventos "reproductorpelículas.enFinListaReproducción()". En el proceso, el objeto "info_evento" se entrega al script junto con el evento "finListaReproducción". El objeto "info_evento" tiene almacenado en el mismo el número de lista de reproducción o similares que indican una lista de reproducción particular acabada. Dependiendo del contenido del objeto "info_evento", en este script se puede cambiar la siguiente operación.
A continuación, se explicará la estructura de administración de archivos usada de acuerdo con la normativa de vídeo UMD con referencia a la figura 18. El archivo se administra jerárquicamente en la estructura de directorios y se graba en el disco. El sistema de archivos del disco se puede aplicar al sistema de archivos definido por la ISO (Organización Internacional para la Normalización)-9660 o el UDF (Formato de Disco Universal).
Bajo el directorio raíz se sitúan un archivo "IDTÍTULO.DAT" y un directorio "VÍDEO". Bajo el directorio "VÍDEO", se sitúan un directorio "RECURSOS", un directorio "EXTRACTO", un directorio "FLUJOCONTINUO" y un archivo "LISTAREPRODUCCION.DAT".
El archivo "IDTÍTULO.DAT" sirve para almacenar un identificador de título diferente para cada título (tipo de contenido). Se mantiene un archivo “IDTÍTULO.DAT" por cada disco.
Bajo el directorio "RECURSOS", se sitúa el archivo de recursos ("JA000000.RCO"). El archivo de recursos tiene almacenados en el mismo, tal como se ha descrito anteriormente, el programa de script que constituye la capa de script 302 y los datos usados para constituir la pantalla de menú tales como los datos parciales que incluyen los datos de imagen y los datos de sonido. Bajo el directorio "RECURSOS" se sitúa normalmente un archivo de recursos. No obstante, bajo el directorio "RECURSOS" se puede situar una pluralidad de archivos de recursos. En el momento de preparar una pluralidad de menús con idiomas de visualización diferentes se prepara una pluralidad de los archivos de recursos para cada idioma. Además, en este caso, sólo se usa a la vez un archivo de recursos.
En el nombre de archivo correspondiente al archivo de recursos, la extensión que sigue al punto que constituye un delimitador se fija a "RCO", indicando con ello que el archivo particular es el archivo de recursos. Además, la cadena de caracteres antes del punto indica brevemente el contenido del archivo de recursos particular. Por ejemplo, el nombre de archivo completo del archivo de recursos utiliza un formato "CCdannnn.RCO", los dos primeros caracteres "CC" indican el código de idioma correspondiente al archivo de recursos, el siguiente carácter "d" indica una bandera que indica si el código de idioma es o no el idioma por defecto, la siguiente "a" indica una relación de aspecto de la pantalla de visualización, y los siguientes cuatro caracteres "nnnn" indican el número de identificación. El número de identificación se determina de manera tal que en una pluralidad de archivos de recursos no se incluya el mismo nombre de archivo.
Estableciendo la regla para nombrar el archivo de recursos de esta manera, el atributo de idioma de los datos fuente y la relación de aspecto de la pantalla de visualización se pueden determinar por medio del nombre de archivo correspondiente al archivo de recursos. En el momento de seleccionar el archivo de recursos, se determina un archivo de recursos apropiado basándose en el nombre del archivo.
Bajo el directorio "EXTRACTO" se sitúa(n) uno o más archivos de información del extracto. En el archivo de información del extracto, el nombre del archivo se determina por una cadena de caracteres que incluye cinco o más caracteres tales como "00001" (en este caso caracteres numéricos) antes del punto que constituye el delimitador y de la extensión "CLP" que viene después del punto. La extensión "CLP" hace posible identificar que el archivo particular es el archivo de información de extracto.
Bajo el directorio "FLUJOCONTINUO" se sitúa(n) uno o más archivos de flujo AV extractado. El archivo de flujo AV extractado tiene un nombre de archivo configurado con una cadena de caracteres (en este caso caracteres numéricos) de cinco o más caracteres tales como "00001" antes del punto que constituye el delimitador y de la extensión "PS" que viene después del punto. La extensión "PS” hace posible determinar que el archivo particular es el archivo de flujo AV extractado. De acuerdo con esta forma de realización, el archivo de flujo AV extractado se almacena como archivo multiplexado que incluye el flujo de vídeo, el flujo de audio y el flujo de subtítulos, y se identifica por la extensión "PS" como un flujo de programa de MPEG2 (Grupo de Expertos en Imágenes en Movimiento 2).
Tal como se ha explicado anteriormente, el archivo de flujo AV extractado se obtiene por codificación de compresión y multiplexado por división de tiempo de los datos de vídeo y los datos de audio, de manera que al leer este archivo y ejecutar el proceso de decodificación, se pueden obtener los datos de vídeo y los datos de audio. Además, el archivo de información del extracto sirve para describir las propiedades del archivo de flujo AV extractado y se corresponde con el archivo de flujo AV extractado. De acuerdo con esta forma de realización, se hace que la cadena de caracteres que incluye cinco o más caracteres antes de la extensión en el nombre del archivo coincida en el archivo de información del extracto y el archivo de flujo AV extractado correspondiente, posibilitando de este modo que se capte fácilmente la correspondencia entre los dos.
El archivo de recursos contiene el archivo de script que contiene la descripción del programa de script según se ha explicado anteriormente, y tiene almacenado en el mismo el programa usado para conseguir que la reproducción del disco de acuerdo con esta forma de realización sea interactiva. El archivo de recursos se lee antes que los otros archivos almacenados en el disco.
El archivo "LISTAREPRODUCCIÓN.DAT" es el archivo de lista de reproducción que contiene la descripción de la lista de reproducción que designa el orden de reproducción del flujo AV extractado. Haciendo referencia a las figuras 19 a 21, se explicará, la estructura interna del archivo "LISTAREPRODUCCIÓN.DAT". La figura 19 muestra una sintaxis ejemplificativa que muestra laestructura completa del archivo "LISTAREPRODUCCIÓN.DAT". En este caso, la sintaxis se muestra basada en el método de descripción del lenguaje C usado como lenguaje de descripción del programa para el sistema informático, etc. Esto se cumple también con otras sintaxis mostradas en los dibujos.
Un campo "longitud_nombre" tiene una longitud de datos de 8 bits e indica la longitud de un nombre adjuntado al archivo de lista de reproducción. Un campo "cadena_nombre" tiene una longitud de datos de 255 bytes e indica un nombre adjuntado al archivo de lista de reproducción. En el campo "cadena_nombre", se usa como un nombre válido la parte con la longitud de bytes indicada por el campo "longitud_nombre" desde el encabezamiento de la misma. En el caso en el que el campo "longitud_nombre" tenga el valor "10", por ejemplo, se interpreta como nombre válido la parte del campo "cadena_nombre" con 10 bytes desde el encabezamiento de la misma.
Un campo "número_de_ListasReproducción" tiene una longitud de datos de 16 bits e indica el número de bloques "ListaReproducción()" descritos sucesivamente. Se describe el número de los bloques "ListaReproducción()" equivalente al número de veces indicado en el campo "número_de_ListasReproducción 2" por el bucle "para" en la siguiente línea. El bloque "ListaReproducción()" es la propia lista de reproducción.
Se explicará una estructura interna ejemplificativa del bloque "ListaReproducción()”. En el encabezamiento del bloque "ListaReproducción()", se dispone un campo "longitud_datos_ListaReproducción". El campo "longitud_datos_ListaReproducción" tiene una longitud de datos de 32 bits e indica la longitud de datos del bloque "ListaReproducción()” que incluye el campo "longitud_datos_ListaReproducción". A continuación, se disponen un campo "reservado_para_alineación_palabras" que tiene una longitud de datos de 15 bits y un campo "bandera_habilitación_captura_ListaReproducción" que tiene una longitud de datos de 1 bit. El campo "reservado_para_alineación_palabras", combinado con la bandera "bandera_habilitación_captura_ListaReproducción" que tiene una longitud de datos de 1 bit, se usa para asegurar la alineación en la posición de 16 bits en el bloque "ListaReproducción()".
La bandera "bandera_habilitación_captura_ListaReproducción" indica si se permite o no el uso secundario de la imagen dinámica asociada al bloque "ListaReproducción()" que incluye "bandera_habilitación_captura_ListaReproducción". En el caso en el que el valor de la bandera "bandera_habilitación_captura_ListaReproducción" sea "1", por ejemplo, esto indica que se permite el uso secundario de la imagen dinámica asociada a la lista de reproducción() en el aparato de reproducción.
La bandera "bandera_habilitación_captura_ListaReproducción", aunque considerada como una bandera de 1 bit en el caso antes mencionado, no se limita a dicho valor. Por ejemplo, la bandera "bandera_habilitación_captura_ListaReproducción" se puede configurar con una pluralidad de bits con el fin de describir el permiso gradual del uso secundario. Como ejemplo, la bandera "bandera_habilitación_captura_ListaReproducción" está configurada con dos bits, y en el caso en el que el valor sea "0", se prohíbe totalmente el uso secundario, mientras que en el caso en el que el valor sea "1", se permite el uso secundario con la condición de que los datos estén codificados por compresión a una resolución predeterminada o inferior, tal como 64 píxeles por 64 líneas. Además, en el caso en el que el valor sea "2", se puede permitir el uso secundario sin ninguna restricción. Como alternativas adicionales, en el caso en el que el bit 0 de los dos bits sea "1", se permite el uso secundario en la aplicación de reproducción del contenido, mientras que, por otra parte, en el caso en el que el valor del bit 1 sea "1", se permite el uso secundario en otras aplicaciones (tales como la imagen de fondo de pantalla o el salvapantallas) en el mismo alojamiento. En tal caso, los valores del bit 0 y el bit 1 se pueden usar combinados.
Un campo "longitud_nombre_ListaReproducción" tiene una longitud de datos de 8 bits e indica la longitud de un nombre adjuntado a este bloque "ListaReproducción()". Un campo "cadena_nombre_ListaReproducción" tiene una longitud de datos de 255 bits e indica un nombre adjuntado al bloque "ListaReproducción()". Como un nombre válido se usa la parte del campo "cadena_nombre_ListaReproducción" con la longitud de bytes indicada por el campo "cadena_nombre_ListaReproducción" desde el encabezamiento de la misma.
Un campo "número_de_ElementosReproducción" tiene una longitud de datos de 16 bits e indica el número de bloques "ElementoReproducción()" descritos sucesivamente. Se describe el número de bloques "ElementoReproducción()" equivalente al número de veces indicado en el campo "número_de_ElementosReproducción" por el bucle "para" en la siguiente línea de texto. El bloque "ElementoReproducción()" es el propio elemento de reproducción.
La información de identificación (ID) se adjunta a cada bloque "ElementoReproducción()" en el bloque "ListaReproducción()". Por ejemplo, el número 0 se adjunta al primer bloque "ElementoReproducción()" descrito en el bloque "ListaReproducción()", seguido por los números de serie 1, 2,.... en el orden de aparición de los bloques "ElementoReproducción()". Estos números de serie se usan como la información de identificación de cada bloque "ElementoReproducción()". El argumento "i" del bucle "para" repetido tantas veces como el número de los bloques "ElementoReproducción()" se puede usar como la información de identificación del bloque "ElementoReproducción()" correspondiente. Al bloque "ElementoReproducción()" le sigue el bloque "MarcaListaReproducción()".
Se explicará una estructura interna ejemplificativa del bloque "ElementoReproducción()" con referencia a la figura 20. En el encabezamiento del bloque "ElementoReproducción()" se dispone un campo "longitud". El campo "longitud" tiene una longitud de datos de 16 bits e indica la longitud del bloque "ElementoReproducción ()" particular. A continuación, se dispone un campo "longitud_nombre_archivo_Información_Extracto". El campo “longitud_nombre_archivo_Información_Extracto” tiene una longitud de datos de 16 bits e indica la longitud de un nombre de un archivo de información del extracto correspondiente al bloque "ElementoReproducción()". Un campo "nombre_archivo_Información_Extracto" tiene una longitud de datos variable en bytes e indica un nombre de un archivo de información de extracto correspondiente al bloque "ElementoReproducción()". El campo “nombre_archivo_Información_Extracto" con la longitud de bytes indicada por el campo "longitud_nombre_archivo_Información_Extracto" que incluye el encabezamiento del mismo se usa como un nombre válido. Tras la designación del archivo de información de extracto por el campo "nombre_archivo_Información_Extracto", se puede especificar el archivo de flujo AV extractado correspondiente al archivo de información de extracto particular, basándose en la correspondencia del nombre de archivo descrita anteriormente.
Un campo "DENTRO_tiempo" y un campo "FUERA_tiempo" tienen cada uno de ellos una longitud de datos de 33 bits y representan información de tiempo que designa las posiciones de inicio y final de la reproducción del archivo de flujo AV extractado correspondiente al archivo de información de extracto designado por el campo "nombre_archivo_Información_Extracto" en el bloque "ElementoReproducción()”. Mediante el uso de la información del campo "DENTRO_tiempo" y el campo "FUERA_tiempo", se puede designar el inicio de la reproducción desde una parte distinta al encabezamiento del archivo de flujo AV extractado. De una manera similar, se puede designar el final de la reproducción en una parte diferente al extremo posterior del archivo de flujo AV extractado. El campo "reservado_para_alineación_palabras" está destinado a ajustar la longitud de datos de la estructura de datos a un múltiplo entero de 16 bits y tiene una longitud de datos de 15 bits.
Se explicará una estructura interna ejemplificativa del bloque "MarcaListaReproducción()" con referencia a la figura 21. En el encabezamiento del bloque "MarcaListaReproducción()" se dispone un campo "longitud". El campo "longitud" tiene una longitud de datos de 32 bits e indica la longitud del bloque "MarcaListaReproducción()". A continuación se dispone un campo "número_de_marcas_ListaReproducción". El campo "número_de_marcas_ListaReproducción" tiene una longitud de datos de 16 bits e indica el número de bloques sucesivos "Marca()". Se describen los bloques "Marca()" iguales al número de veces indicado en el campo "número_de_marcas_ListaReproducción" para el bucle “para” en la siguiente línea.
Se explicará una estructura interna ejemplificativa del bloque "Marca()". En el encabezamiento del bloque "Marca()" se dispone un campo "tipo_marca". El campo "tipo_marca" tiene una longitud de datos de 8 bits e indica el tipo del bloque "Marca()" que incluye el campo particular "tipo_marca". De acuerdo con esta forma de realización, como un ejemplo de la misma mostrado en la figura, 22, se definen dos tipos de marcas que incluyen la marca de capítulo y la marca de evento. El capítulo es una unidad de búsqueda para dividir la lista de reproducción (bloque "ListaReproducción()") y la marca de capítulo indica la posición del capítulo en términos de información de tiempo. La marca de evento, por otro lado, genera el evento de marca.
Un campo "longitud_nombre_marca" tiene una longitud de datos de 8 bits e indica la longitud de un nombre adjuntado al bloque "Marca()". Un campo "cadena_nombre_marca" dispuesto en la línea inferior del bloque "Marca()" indica un nombre adjuntado al bloque "Marca()". La parte del campo "cadena_nombre_marca " con la longitud de bytes indicada por el campo "longitud_nombre_marca" que incluye el encabezamiento del mismo, se usa como nombre válido.
Los cuatro elementos que incluyen un campo "id_ref_a_ElementoReproducción", un campo "indicación_tiempo_marca", un campo "flujoCont_ES_entrada " y un campo "id_flujoCont_privado_ES_entrada" establecen la correspondencia entre el bloque "Marca()" definido en el bloque "ListaReproducción()” y el archivo de flujo AV extractado. Específicamente, el campo "id_ref_a_ElementoReproducción" tiene una longitud de datos de 16 bits e indica información de identificación del bloque "ElementoReproducción()". Como consecuencia, se especifican el archivo de información de extracto y el archivo de flujo AV extractado.
El campo "indicación_tiempo_marca", que tiene una longitud de datos de 33 bits, se usa para designar el tiempo de la marca en el archivo de flujo AV extractado. Se explicará brevemente este campo con referencia a la figura 23. En la figura 23, considérese que la lista de reproducción se configura con tres elementos de reproducción (ElementoReproducción(nº 0), ElementoReproducción(nº1) y ElementoReproducción (nº 2)) designados con los números 0, 1, y 2, respectivamente, y el tiempo t0 en la lista de reproducción se incluye en el elemento de reproducción (ElementoReproducción(n.º1)) de número
1. Además, se considera que los elementos de reproducción de número 0, 1, y 2 se corresponden, respectivamente, con los flujos de programa A, B, y C del archivo de flujo AV extractado a través de los archivos de información de extracto correspondientes.
En tal caso, en el caso en el que la marca se designa en el instante de tiempo t0 en la lista de reproducción, el valor del campo "id_ref_a_ElementoReproducción" se establece como "1" indicando el elemento de reproducción que incluye el tiempo t0, y además, el tiempo correspondiente al tiempo t0 en el archivo de flujo AV extractado B correspondiente se describe en el campo "indicación_tiempo_marca".
Haciendo referencia de nuevo a la figura 21, al campo "indicación_tiempo_marca" le sigue la disposición del campo "flujoCont_ES_entrada" y el campo "id_flujoCont_privado_ES_entrada". El campo "id_flujoCont_ES_entrada" y el campo "id_flujoCont_privado_ES_entrada" tienen la longitud de datos de 8 bits, respectivamente, y en el caso en el que el bloque "Marca()" está asociado a un flujo elemental especificado, se usan para especificar el flujo elemental particular. El campo "id_flujoCont_ES_entrada" y el campo "id_flujoCont_privado_ES_entrada" indican una ID de flujo "id_flujoCont" de un paquete "paquete()" multiplexado con el flujo elemental correspondiente y una ID de flujo privado "id_flujoCont" de un encabezamiento de paquete privado "encabezamiento_paquete_privado()", respectivamente.
Por otro lado, la ID de flujo "id_flujoCont" del paquete "paquete()" y la ID de flujo privado "id_flujoCont_privado" del encabezamiento de paquete privado "encabezamiento_paquete_privado ()" se basan en la regla del flujo de programa, por ejemplo, del sistema MPEG2.
El campo "id_flujoCont_ES_entrada" y el campo "id_flujoCont_privado_ES_entrada" se usan, por ejemplo, en el caso en el que el flujo AV extractado n.º0 y el flujo AV extractado n.º1 tienen configuraciones de capítulo diferentes. En el caso en el que el bloque "Marca()" correspondiente no se asocia a un flujo elemental especificado, los valores de estos dos campos se consideran como "0".
A continuación, se explicará la estructura interna del archivo de información de extracto con referencia a las figuras 24 a 28. El archivo de información de extracto "XXXXX.CLP" describe las propiedades del archivo de flujo AV extractado correspondiente "XXXXX.PS" situado bajo el directorio "FLUJOCONTINUO", tal como se ha explicado anteriormente.
La figura 24 muestra un ejemplo de la sintaxis que indica la estructura completa del archivo de flujo AV extractado "XXXXX.CLP". El archivo de flujo AV extractado "XXXXX.CLP" incluye un campo "tiempo_inicio_presentación" y un campo "tiempo_final_presentación" dispuestos en el encabezamiento del mismo. El campo "tiempo_inicio_presentación" y el campo "tiempo_final_presentación" tienen cada uno de ellos una longitud de datos de 33 bits e indican el tiempo en el encabezamiento y la cola del archivo de flujo AV extractado correspondiente. La información de tiempo puede usar la PTS (Indicación de Tiempo de Presentación) en el sistema MPEG2. La PTS tiene una precisión de 90 kHz.
A continuación, se disponen el campo "reservado_para_alineación_palabras" que tiene una longitud de datos de 7 bits y la bandera "bandera_habilitación_captura_Extracto" que tiene una longitud de datos de 1 bit. El campo "reservado_para_alineación_palabras", combinado con la bandera "bandera_habilitación_captura_Extracto" que tiene una longitud de datos de 1 bit, se usan para alinear la disposición en el archivo "XXXXX.CLP" con la posición de 16 bits. La bandera "bandera_habilitación_captura_Extracto" indica si se permite o no el uso secundario de la imagen dinámica incluida en el archivo de flujo AV extractado correspondiente al archivo "XXXXX.CLP". En el caso en el que el valor de la bandera "bandera_habilitación_captura_Extracto" sea "1", por ejemplo, esto indica que se permite el uso secundario de la imagen dinámica del archivo de flujo AV extractado correspondiente al archivo "XXXXX.CLP" en el aparato de reproducción.
Un campo "número_de_flujosCont" tiene una longitud de datos de 8 bits e indica el número de estructuras de bloques "InfoFlujoCont()” sucesivas. A continuación del campo "número_de_flujosCont", se describe el número de bloques "InfoFlujoCont()" equivalente al número de veces indicado en el campo "número_de_flujosCont" por el bucle "para". Después del bucle "para" se dispone el bloque "Asignación_EP()".
Se explicará una estructura interna ejemplificativa del bloque "InfoFlujoCont()". En el encabezamiento del bloque "InfoFlujoCont()" se dispone un campo "longitud". El campo "longitud" tiene una longitud de datos de 16 bits e indica la longitud del bloque "InfoFlujoCont()". A continuación se disponen un campo "id_flujoCont" y un campo "id_flujoCont_privado" que tienen cada uno de ellos una longitud de datos de 8 bits. Según un ejemplo mostrado en la figura 25, el bloque "InfoFlujoCont()" se asocia al flujo elemental. En el caso mostrado en la figura 25, el bloque "InfoFlujoCont()" se asocia al flujo de vídeo mediante el valor "0xE0" a "0xEF" del campo ""id_flujoCont", y al flujo de audio ATRAC (Codificación Acústica con Transformación Adaptativa), el flujo de audio LPCM (Modulación Lineal por Impulsos Codificados) o el flujo de subtítulos mediante el valor "0xBD". Además, el bloque "InfoFlujoCont()" se asocia al flujo de audio ATRAC, el flujo de audio LPCM y el flujo de subtítulos mediante los valores "0x00" a "0x0F", "0x10" a "0x1F" y "0x80" a "0x9F" respectivamente, del campo "id_flujoCont_privado".
En la expresión de los valores en la figura 25, "0x" indica que los valores numéricos sucesivos se expresan en notación hexadecimal. Esto es así también con expresiones similares posteriores.
El bloque "InfoFlujoCont()" se describe a grandes rasgos en dos tipos que incluyen la información no cambiada en el flujo y la información cambiada en el flujo. La información no cambiada en el flujo se describe en el bloque "InfoEstática()". La información cambiada en el flujo, por otro lado, se describe en el bloque "InfoDinámica()" con el instante del cambio designado por la información de tiempo.
En el bloque "InfoFlujoCont()", el campo "reservado_para_alineación_palabras" que tiene una longitud de datos de 8 bits está dispuesto para alinear la posición de byte con la parte trasera del bloque "InfoEstática()", seguido por el campo "número_de_InfoDinámica". El campo "número_de_InfoDinámica" tiene una longitud de datos de 8 bits e indica el número de los bloques "InfoDinámica()" descritos posteriormente en el bloque "InfoFlujoCont()". El campo "punto_cambio_pts" y el bloque "InfoDinámica()" se describen mediante el número de veces indicado en el campo "número_de_InfoDinámica" por el bucle “para”.
El campo "punto_cambio_pts" tiene una longitud de datos de 33 bits e indica el tiempo, en PTS, en el que se valida la información del bloque "InfoDinámica()" correspondiente. El tiempo que representa el encabezamiento también se indica para cada flujo mediante el campo "punto_cambio_pts", el cual es igual al campo "tiempo_inicio_presentación" antes mencionado, definido en el archivo "XXXXX.CLP".
Se explicará una estructura interna ejemplificativa del bloque "InfoEstática()" con referencia a la figura 26. El contenido del bloque "InfoEstática()" varía con el tipo del flujo elemental correspondiente. El tipo del flujo elemental correspondiente se puede determinar basándose en los valores del campo "id_flujoCont" y el campo "id_flujoCont_privado" explicados con referencia a la figura 25. En la figura 26, el bloque "InfoEstática()" describe, usando la sintaxis "si", si el tipo del flujo elemental correspondiente es el flujo de vídeo, el flujo de audio o el flujo de subtítulos. A continuación se explicará el bloque "InfoEstática()" para cada flujo elemental.
En el caso en el que el flujo elemental es el flujo de vídeo, el bloque "InfoEstática()" se configura con un campo "tamaño_imagen" y un campo "velocidad_cuadro" que tienen cada uno de ellos una longitud de datos de 4 bits y una bandera "bandera_cc" que tiene una longitud de datos de 1 bit. El campo "tamaño_imagen" y el campo "velocidad_cuadro" indican el tamaño de la imagen y la frecuencia de cuadro, respectivamente, del flujo de vídeo. La bandera "bandera_cc" indica si el flujo de vídeo incluye o no subtítulos ocultos codificados. En el caso en el que la bandera "bandera_cc" presente el valor "1", por ejemplo, el flujo de vídeo particular incluye los subtítulos ocultos codificados. El campo "reservado_para_alineación_palabras" se usa para alinear la disposición de datos a 16 bits.
En el caso en el que el flujo elemental es un flujo de audio, el bloque "InfoEstática()” incluye un campo "código_idioma_audio" que tiene una longitud de datos de 16 bits, un campo "configuración_canal" que tiene una longitud de datos de 8 bits, una bandera "existencia_lfe" que tiene una longitud de datos de 1 bit y un campo "frecuencia_muestreo" que tiene una longitud de datos de 4 bits. El campo "código_idioma_audio" indica el código del idioma incluido en el flujo de audio particular. El campo "configuración_canal" indica el atributo del canal de los datos de audio, tal como monoaural, estereofónico
o multicanal. El campo "existencia_lfe" indica si se incluye o no el canal de realce de bajas frecuencia, incluyéndose este último en el caso en el que el valor sea, por ejemplo, "1". El campo "frecuencia_muestreo" indica la frecuencia de muestreo de los datos de audio. El campo "reservado_para_alineación_palabras" se usa para alinear la disposición de datos a 16 bits.
Por otro lado, en el caso en el que el flujo elemental es un flujo de subtítulos, el bloque "InfoEstática()" incluye un campo "código_idioma_subtítulos" que tiene una longitud de datos de 16 bits y una bandera "bandera_configurable" que tiene una longitud de datos de 1 bit. El campo "código_idioma_subtítulos" indica el código del idioma incluido en el flujo de subtítulos. La bandera "bandera_configurable" indica si se permite el cambio en el tamaño o la posición de los caracteres para visualizar el flujo de subtítulos, o por ejemplo, esto se permite con el valor de "1". El campo "reservado_para_alineación_palabras" se usa para alinear la disposición de datos a 16 bits.
Haciendo referencia a la figura 27, se explicará una estructura interna ejemplificativa del bloque "InfoDinámica()". El bloque "InfoDinámica()" incluye un campo "reservado_para_alineación_palabras" que tiene una longitud de datos de 8 bits dispuestos en el encabezamiento del mismo. El contenido sucesivo varía con el tipo del flujo elemental correspondiente. El tipo del flujo elemental correspondiente se puede determinar basándose en el valor del campo "id_flujoCont" y el campo "id_flujoCont_privado" explicados con referencia a la figura 25. En la figura 27, el bloque "InfoDinámica()" contiene la descripción para determinar, usando la sintaxis "si", si el tipo del flujo elemental correspondiente es el flujo de vídeo, el flujo de audio o el flujo de subtítulos. A continuación, se explicará el bloque "InfoDinámica()" para cada flujo elemental.
En el caso en el que el flujo elemental es el flujo de vídeo, el bloque "InfoDinámica()” incluye un campo "relación_aspecto_visualización" que tiene una longitud de datos de 4 bits. El campo "relación_aspecto_visualización" indica si la relación de aspecto de la salida de visualización de vídeo es
16:9 ó 4:3. El campo “reservado_para_alineación_palabras” se usa para alinear la disposición de datos a 16 bits.
En el caso en el que el flujo elemental es el flujo de audio, el bloque "InfoDinámica()" incluye un campo "asignación_canal" que tiene una longitud de datos de 4 bits. En el caso en el que el flujo de audio se configura con dos canales, el campo "asignación_canal" indica si la salida es estereofónica o monaural. El estado monaural dual se usa para hacer posible la reproducción de audio de dos idiomas, por ejemplo.
El campo "reservado_para_alineación_palabras" se usa para alinear la disposición de datos a 16 bits.
En el caso en el que el flujo elemental es el flujo de subtítulos, el bloque "InfoDinámica()" se configura con el campo “reservado_para_alineación_palabras” usado para alinear la disposición de los datos a 16 bits. En otras palabras, para el flujo de subtítulos no se define el atributo que cambia dinámicamente.
Se explicará una estructura interna ejemplificativa del bloque "Asignación_EP()” con referencia a la figura 28. El bloque "Asignación_EP()" indica, para cada flujo elemental, la posición en la que se puede iniciar la decodificación (también denominada el punto de entrada o el punto de acceso aleatorio (RAMP)) en el flujo de bits usando la información de tiempo y la información de posición. La información de posición puede usar la unidad de acceso mínima en el soporte de grabación para grabar, por ejemplo, el flujo elemental. Se considera que cada flujo elemental puede ser decodificado desde la posición indicada por el bloque "Asignación_EP()".
En el flujo de velocidad fija, la posición en la que se puede iniciar la decodificación se puede determinar por cálculo, y por lo tanto, no se requiere información tal como el bloque "Asignación_EP()". Sin embargo, con respecto al flujo de velocidad variable o un flujo tal como el esquema de codificación con compresión de vídeo del sistema MPEG en el cual el tamaño de datos varía de una unidad de acceso a otra, la información tal como el bloque "Asignación_EP()" es importante para el acceso aleatorio.
El bloque "Asignación_EP()" incluye, en el encabezamiento del mismo, un campo "reservado_para_alineación_palabras" que tiene una longitud de datos de 8 bits para alinear la disposición a 16 bits. A continuación se dispone un campo "número_de_entradas_id_flujoCont". El campo "número_de_entradas_id_flujoCont" tiene una longitud de datos de 8 bits e indica el número de los flujos elementales descritos en el bloque "Asignación_EP()". Se describen los números del campo "id_flujoCont", el campo "id_flujoCont_privado" y el campo "número_de_entradas_EP" equivalentes al número de veces indicado en el campo "número_de_entradas_id_flujoCont" por el primer bucle “para”. Además, para cada descripción del primer bucle “para”, se disponen un campo "inicio_EP_PTS" y un campo "inicio_EP_RPN" el número de veces indicado en el campo "número_de_entradas_EP" por el segundo bucle “para”.
En el primer bucle “para”, el primer paso es disponer el campo "id_flujoCont" y el campo "id_flujoCont_privado" que tienen cada uno de ellos una longitud de datos de 8 bits, en el primer bucle “para”, y como el ejemplo que se muestra en la figura 25, se especifica el flujo elemental. El campo "número_de_entradas_EP" dispuesto a continuación tiene una longitud de datos de 32 bits e indica el número de puntos de entrada descritos para el flujo elemental. Después de esto, el campo "Inicio_EP_PTS" y el campo "inicio_EP_RPN" se disponen en el mismo número que el indicado en el campo "número_de_entradas_EP" por el segundo bucle “para”.
El campo "inicio_EP_PTS" y el campo "inicio_EP_RPN" tienen cada uno de ellos una longitud de datos de 33 bits e indican el propio punto de entrada. El campo "inicio_EP_PTS" indica el tiempo del punto de entrada en el archivo de flujo AV extractado en términos de PTS. El campo "inicio_EP_RPN", por otro lado, indica la posición de punto de entrada en el archivo de flujo AV extractado, por ejemplo, en unidades de 2.048 bytes.
De acuerdo con esta forma de realización, un sector que constituye una unidad de acceso de tipo disco tiene 2.048 bytes. La posición del punto de entrada en el archivo de flujo AV extractado se indica por lo tanto mediante el sector en el campo "inicio_EP_RPN".
Un paquete "flujoCont_privado_2" se dispone siempre inmediatamente antes de la posición en la que se puede iniciar la reproducción del flujo de vídeo. Este paquete "flujoCont_privado_2" tiene almacenada en el mismo la información disponible para decodificar el flujo de vídeo. Por lo tanto el punto de entrada del flujo de vídeo se considera como la posición del paquete "parque()" para almacenar el paquete "flujoCont_privado_2".
El bloque "Asignación_EP()", tal como se ha descrito anteriormente, establece la correspondencia entre el tiempo en el flujo AV extractado y la posición en el archivo de flujo AV extractado. Por lo tanto, en el caso en el que se proporciona la información de tiempo (indicación de tiempo) para el punto de acceso al flujo AV extractado, la dirección de datos para comenzar a leer los datos en el archivo de flujo AV extractado se puede recuperar fácilmente, haciendo posible de este modo un acceso aleatorio al disco sin irregularidades.
De acuerdo con esta forma de realización, tanto el conjunto de la información de tiempo y la información de posición (el conjunto del campo "Inicio_EP_PTS" y el campo "inicio_EP_RPN" en el segundo bucle “para”) para cada flujo elemental como el conjunto del campo "Inicio_EP_PTS" y el campo "inicio_EP_RPN" en el bloque "Asignación_EP()" se disponen y registran en orden ascendente (o descendente) de antemano. En otras palabras, la información de tiempo y la información de posición se reordenan en una dirección predeterminada de antemano. Como consecuencia, se puede ejecutar la búsqueda por árboles binarios para los datos tal se encuentren los mismos.
De acuerdo con esta forma de realización, el flujo elemental de vídeo, aunque se describe anteriormente basado en la normativa MPEG2-vídeo, no se limita a esta última. El flujo elemental de vídeo, por ejemplo, se puede basar en la normativa MP3G4-Visual o MPEG4-AVC. Además, el flujo elemental de audio, aunque se ha explicado anteriormente como el flujo elemental de audio ATRAC, no se limita a este último, sino que también es aplicable por ejemplo el audio MPEG 1/2/4.
Seguidamente se explicará el aparato de reproducción de discos de acuerdo con una forma de realización de esta invención. La figura 29 describe brevemente un ejemplo de la configuración de un aparato 100 de reproducción de discos de acuerdo con esta invención. Un bus 111 está conectado con una CPU (unidad central de procesado) 112, una memoria 113, una interfaz 114 de unidad de disco, una interfaz 115 de entrada, un decodificador 116 de vídeo, un decodificador 117 de audio, una interfaz 118 de salida de vídeo y una interfaz 119 de salida de audio. Las partes del aparato 100 de reproducción de discos pueden intercambiar entre sí el flujo de vídeo, el flujo de audio y varias órdenes y datos a través del bus 111.
La interfaz 114 de unidad de disco se conecta además con una unidad 102 de disco. La unidad 102 de disco intercambia los datos y órdenes con el bus 111 a través de la interfaz 114 de unidad de disco.
La CPU 112 incluye una ROM (memoria de solo lectura) y una RAM (memoria de acceso aleatorio) (no mostrada). De acuerdo con el programa y los datos almacenados en la ROM de antemano, la CPU 112 intercambia los datos y órdenes con cada parte del aparato 100 de reproducción de discos a través del bus 111 para controlar de este modo el funcionamiento global del aparato 100 de reproducción de discos. La RAM se usa como memoria de trabajo de la CPU 112.
Aunque no se muestra en la figura 29, el aparato 100 de reproducción de discos puede incluir una memoria no volátil tal como una memoria flash en la cual se pueden rescribir los datos, y los datos almacenados pueden mantenerse incluso después de que se desactive la fuente de alimentación del aparato 100 de reproducción de discos. La memoria no volátil se conecta, por ejemplo, al bus 111 de modo tal que la CPU 112 puede escribir los datos en y leer los datos de la memoria no volátil.
A la interfaz 115 de entrada se le suministra una señal de entrada desde la unidad de entrada a través de la cual el usuario lleva a cabo realmente la operación de entrada. La unidad de entrada incluye, por ejemplo, un mando de control remoto para hacer funcionar el aparato 100 de reproducción de discos de manera remota con una señal de luz infrarroja o una tecla motada directamente en el aparato 100 de reproducción de discos. Las señales de entrada suministradas desde estas unidades de entrada se convierten en una señal de control para la CPU 112 y a la que se da salida hacia esta última por medio de la interfaz 115 de entrada.
El disco 101 tiene grabados en el mismo la lista de reproducción, el programa de script, el archivo de información de extracto, el archivo de flujo AV extractado, etc., en el formato descrito con referencia a la figura 18 y los dibujos subsiguientes. Una vez que el disco 101 se ha cargado en la unidad 102 de disco, el disco 101 se reproduce automáticamente o por la operación de entrada del usuario. El archivo de script, el archivo de lista de reproducción y el archivo de información de extracto, leídos desde el disco 101 se suministran a la CPU 112 y se almacenan, por ejemplo, en la RAM de la CPU 112. La CPU 112 lee el archivo de flujo AV extractado desde el disco 101 basándose en el programa de script y los datos almacenados en la RAM.
El archivo de flujo AV extractado leído desde el disco 101 se almacena temporalmente en la memoria 113. El decodificador 116 de vídeo, basándose en las instrucciones de la CPU 112, decodifica el flujo de vídeo y el flujo de subtítulos del archivo de flujo AV extractado almacenado en la memoria 113. Los datos de vídeo y los datos de subtítulos así decodificados se amplían, se reducen o se someten de otro modo al procesado de imágenes, por ejemplo, por medio de la CPU 112, mientras que al mismo tiempo se sintetizan o se adicionan para constituir unos datos de vídeo único. Estas etapas de procesado de imágenes también se pueden ejecutar por medio del decodificador 116 de vídeo o la interfaz 118 de salida de vídeo. Estos datos de vídeo se almacenan temporalmente en la memoria 113 y se suministran a la interfaz 118 de salida de vídeo. La interfaz 118 de salida de vídeo convierte los datos de vídeo suministrados en, por ejemplo, una señal analógica de vídeo, la cual se conduce al terminal 120 de salida de vídeo.
De manera similar, el decodificador 117 de audio, en respuesta a la instrucción de la CPU 112, decodifica el flujo de audio del archivo de flujo AV extractado almacenado en la memoria 113. Los datos de audio así decodificados se almacenan temporalmente en la memoria 113 y se suministran a la interfaz 119 de salida de audio. La interfaz 119 de salida de audio convierte los datos de audio suministrados en, por ejemplo, una señal analógica de audio, la cual se conduce al terminal 121 de salida de audio.
Las partes mostradas en la figura 29, aunque explicadas anteriormente como independientes en un modo de hardware, no son necesariamente así. El decodificador 116 de vídeo y/o el decodificador 117 de audio, por ejemplo, se pueden configurar alternativamente en un modo de software destinado a trabajar en la CPU 112.
Además, el aparato 100 de reproducción de discos descrito anteriormente, el cual incluye la CPU 112 y la memoria y funciona de acuerdo con un programa, puede ser considerado como un tipo de sistema informático.
Las figuras 30A y 30B son unos diagramas de bloques funcionales para explicar el funcionamiento más detallado del aparato 100 de reproducción de discos mostrado en la figura 29. el aparato 100 de reproducción de discos incluye a grandes rasgos un sistema operativo 201 y una unidad 210 de reproducción de contenido de vídeo. La unidad 210 de reproducción de contenido de vídeo es sustancialmente un programa de software que se hace funcionar sobre el sistema operativo 201. No obstante, la unidad 210 de reproducción de contenido de vídeo puede funcionar en modos de software y hardware combinados. La descripción que se ofrece a continuación considera que la unidad 210 de reproducción de contenido de vídeo es software. En las figuras 30A y 30B no se muestra la unidad 102 de disco.
El sistema operativo 201 se pone en marcha en primer lugar en la CPU 112 con la fuente de alimentación del aparato 100 de reproducción de discos, y ejecutando los procesos requeridos tales como la inicialización de cada parte, se recupera de la ROM el programa de aplicación (en este caso la unidad 210 de reproducción de contenido de vídeo). Durante el funcionamiento de la unidad 210 de reproducción de contenido de vídeo, el sistema operativo 201 proporciona a la unidad 210 de reproducción de contenido de vídeo los servicios básicos tales como el proceso para leer el archivo desde el disco 101 ó para interpretar el sistema de archivos. En respuesta a la solicitud de lectura de archivo recibida desde la unidad 210 de reproducción de contenido de vídeo, por ejemplo, el sistema operativo 201 controla la unidad 102 de disco a través de la interfaz 114 de unidad de disco y lee los datos grabados en el disco
101. Los datos así leídos se entregan a la unidad 210 de reproducción de contenido de vídeo bajo el control del sistema operativo 201.
Además, el sistema operativo 201 tiene la función de procesado multitarea, y puede controlar una pluralidad de módulos de software aparentemente en paralelo unos con otros por división de tiempo. Específicamente, como un ejemplo que se muestra en las figuras 30A y 30B, los módulos que constituyen la unidad 210 de reproducción de contenido de vídeo se pueden hacer funcionar todos en paralelo mediante la función de procesado multitarea del sistema operativo 201.
A continuación, se explicará más específicamente el funcionamiento de la unidad 210 de reproducción de contenido de vídeo. La unidad 210 de reproducción de contenido de vídeo tiene otros diversos módulos incluidos en la misma y lleva a cabo las siguientes funciones:
- (1)
- Determinar si el disco 101 cargado (designado de aquí en adelante como el disco de vídeo UMD) se ajusta o no a la normativa de vídeo UMD.
- (2)
- Tras la determinación de que el disco 101 cargado es el disco de vídeo UMD, leer el archivo de recursos del disco 101 y entregarlo al módulo 211 de control de script.
- (3)
- Tras la determinación de que el disco 101 cargado es el disco de vídeo UMD, leer además los archivos que constituyen la base de datos (el archivo de lista de reproducción, el archivo de información del extracto, etc.) y entregarlos al módulo 212 de control del reproductor.
A continuación, se explicará el funcionamiento de cada módulo de la unidad 210 de reproducción de contenido de vídeo.
El módulo 211 de control del script almacena el archivo de recursos recibido, en un área predeterminada de la RAM, no mostrada, de la CPU 112. La CPU 112 (módulo 211 de control de script) lee, interpreta y ejecuta el programa de script almacenado en la RAM. Como alternativa, el archivo de recursos se puede almacenar en un área predeterminada de la memoria 113, y puede ser leído por la RAM, no mostrada, de la CPU 112 cuando se requiera.
Como ya se describió en relación con el modelo del reproductor, las operaciones de la GUI tales como la producción y la salida de la pantalla de menú, el movimiento del cursor y el cambio de la pantalla de menú de acuerdo con la entrada del usuario se pueden realizar controlando el módulo de procesado de gráficos 219 en el programa de script. En el proceso, los datos de imagen y los datos de sonido almacenados en el archivo de recursos en la memoria 113 se usan para producir la pantalla de menú, etc. Además, el módulo 211 de control de script puede controlar el módulo 212 de control del reproductor ejecutando e programa de script.
El módulo 212 de control del reproductor, remitiéndose a la información de la base de datos almacenada en los archivos tales como el archivo de lista de reproducción "LISTAREPRODUCCIÓN.DAT" y el archivo de información de extracto "XXXXX.CLP" leídos desde el disco 101, lleva a cabo la operación de control para la reproducción del contenido de vídeo grabado en el disco 101.
- (1)
- Analizar la información de la base de datos que incluye la lista de reproducción y la información del extracto.
- (2)
- Controlar el módulo 213 de suministro de datos de contenido, el módulo 214 de control de decodificación y el módulo 215 de control de memoria intermedia.
- (3)
- Controlar la transición de los estados del reproductor tales como reproducción (play), parada de la reproducción (parada), parada temporal de la reproducción (pausa) y controlar el proceso de reproducción tal como el cambio de flujo de acuerdo con la instrucción del módulo 211 de control de script o la interfaz 115 de entrada.
- (4)
- Adquirir la información de tiempo sobre el flujo de vídeo reproducido actualmente, desde el módulo 214 de control de decodificación y visualiza el tiempo o genera el evento de marca.
El módulo 213 de suministro de datos de contenido, en respuesta a la instrucción del módulo 212 de control del reproductor, lee los datos de contenido que incluyen el archivo de flujo AV extractado desde el disco 101 y los entrega al módulo 215 de control de memoria intermedia. El módulo 215 de control de memoria intermedia acumula los datos de contenido entregados de este modo al mismo en la memoria 113 como entidad 215A de memoria intermedia. El módulo 213 de suministro de datos de contenido controla el módulo 215 de control de memoria intermedia de manera tal que en respuesta a las solicitudes del módulo 216 de control del decodificador de vídeo, el módulo 217 de control del decodificador de audio y el módulo de control del decodificador de subtítulos 218, los datos de contenido acumulados en la memoria 113 se suministran a los módulos 216, 217, y 218 de una manera predeterminada. Además, el módulo 213 de suministro de datos de contenido lee los datos de control desde el disco 101 de modo que controla la cantidad de los datos de contenido acumulados, de una manera predeterminada por medio del módulo 215 de control de memoria intermedia.
El módulo 214 de control de decodificación, en respuesta a la instrucción del módulo 212 de control del reproductor controla el funcionamiento del módulo 216 de control del decodificador de vídeo, el módulo 217 de control del decodificador de audio y el módulo de control del decodificador de subtítulos
218. Además, el módulo 214 de control de decodificación, que tiene la función de reloj en el mismo, controla el funcionamiento de los módulos 216, 217 y 218 de control de decodificador, de manera tal que se da salida sincronizadamente a los datos de vídeo y los datos de audio.
El módulo 215 de control de memoria intermedia que constituye la entidad 215A de memoria intermedia utiliza exclusivamente una parte de la memoria 113. Además, el módulo 215 de control de memoria intermedia almacena el puntero del encabezamiento de datos y el puntero de escritura de datos. El módulo 215 de control de memoria intermedia tiene además módulos internos tales como la función de lectura de vídeo, la función de lectura de audio y la función de lectura de subtítulos. La función de lectura de vídeo tiene en el mismo el puntero de lectura de vídeo. Además, la función de lectura de vídeo tiene en la misma un registro para acumular la información "información_au()" que constituye la información de la unidad de acceso. La función de lectura de audio tiene en la misma el puntero de lectura de audio. La función de lectura de subtítulos tiene en la misma el puntero de lectura de subtítulos y la bandera de la función de lectura de subtítulos. La bandera de la función de lectura de subtítulos controla la validez/no validez de la función de lectura de subtítulos de acuerdo con el valor escrito. En el caso en el que en la bandera de la función de lectura de subtítulos se escriba "1", por ejemplo, la función de lectura de subtítulos se considera como válida, mientras que cuando se escribe "0", la función de lectura de subtítulos se considera como no válida.
La función de lectura de vídeo, la función de lectura de audio y la función de lectura de subtítulos que proporcionan los módulos internos del módulo 215 de control de memoria intermedia tienen además la función de demultiplexado para separar el flujo de vídeo, el flujo de audio y el flujo de subtítulos con respecto al flujo AV extractado en el cual se multiplexan los flujos respectivos. De acuerdo con una forma de realización de la invención, un flujo AV extractado se forma mediante multiplexado por división de tiempo de una pluralidad de flujos elementales en forma del flujo de programa del sistema MPEG2. La función de lectura de vídeo, la función de lectura de audio y la función de lectura de subtítulos, tienen por lo tanto la función de demultiplexar el flujo de programa del sistema MPEG2.
La función de lectura de vídeo lee y guarda el valor del campo "id_flujoCont" (figura 25) dispuesto de una manera predeterminada en el flujo. De manera similar, la función de lectura de audio y la función de lectura de subtítulos leen y guardan los valores del campo "id_flujoCont" y el campo "id_flujoCont_privado" (figura 25), respectivamente. Los valores de los campos "id_flujoCont" e "id_flujoCont_privado" se usan para analizar el flujo de bits suministrado.
El módulo 216 de control el decodificador de vídeo ordena a la función de lectura de vídeo en el módulo 215 de control de memoria intermedia que lea una sola unidad de acceso de vídeo del flujo de vídeo desde la memoria 113 y que la suministre al decodificador 116 de vídeo. El módulo 216 de control el decodificador de vídeo, que controla el decodificador 116 de vídeo, decodifica, por unidad de acceso, el flujo de vídeo suministrado al decodificador 116 de vídeo. Los datos de vídeo preparados al decodificar el flujo de vídeo se suministran al módulo de procesado de gráficos 219.
De manera similar, el módulo 217 de control del decodificador de audio ordena a la función de lectura de audio en el módulo 215 de control de memoria intermedia que lea una sola unidad de acceso de audio del flujo de audio desde la memoria 113 y que la suministre al decodificador 117 de audio. De acuerdo con esta forma de realización, se considera que la unidad de acceso que constituye el flujo de audio (trama de audio) tiene una longitud fija conocida. El módulo 217 de control del decodificador de audio, que controla el decodificador 117 de audio, decodifica el flujo de audio suministrado al decodificador 117 de audio, por unidad de acceso. Los datos de audio generados al decodificar el flujo de audio se suministran al módulo 242 de salida de audio.
Además, el módulo de control del decodificador de subtítulos 218 ordena a la función de lectura de subtítulos en el módulo 215 de control de memoria intermedia que lea una sola unidad de acceso de subtítulos del flujo de subtítulos desde la memoria 113 y que la suministre al módulo de control del decodificador de subtítulos 218. De acuerdo con esta forma de realización, la unidad de acceso de subtítulos que constituye el flujo de subtítulos tiene la información de longitud unitaria almacenada en el encabezamiento de la unidad. El módulo de control del decodificador de subtítulos 218 tiene la función de decodificación de subtítulos y puede decodificar el flujo de subtítulos suministrado. Los datos de imagen de subtítulos decodificados a partir del flujo de subtítulos por la función de decodificación de subtítulos del módulo 218 de control del decodificador de subtítulos se suministran al módulo de procesado de gráficos
219.
Al módulo de procesado de gráficos 219, tal como se ha descrito anteriormente, se le suministran los datos de vídeo decodificados en el decodificador 116 de vídeo bajo el control del módulo 216 de control el decodificador de vídeo y los datos de imagen de subtítulos decodificados por el módulo de control del decodificador de subtítulos 218. El módulo de procesado de gráficos 219 genera una señal de vídeo para darle salida añadiendo los datos de imagen de subtítulos a los datos de vídeo suministrados según se predetermine. Además, en el módulo de procesado de gráficos 219, se generan la imagen de menú y la imagen de mensaje y las mismas se sintetizan (superponen) sobre la señal de vídeo de salida de acuerdo con las instrucciones del módulo 211 de control de script y el módulo 212 de control del reproductor.
En el módulo de procesado de gráficos 219, por ejemplo, los datos de imagen de subtítulos suministrados se amplían o se reducen en respuesta a la instrucción del módulo 211 de control de script y se añaden a los datos de vídeo según se predetermine.
Además, el módulo de procesado de gráficos 219 cambia la relación de aspecto de la señal de salida basándose en la relación de aspecto de un dispositivo de vídeo de salida predesignado y la relación de aspecto de salida designada en el contenido reproducido desde el disco 101. En el caso en el que la relación de aspecto del dispositivo de vídeo de salida sea 16:9 y la relación de aspecto de salida sea 16:9, por ejemplo, a los datos de vídeo se les da salida tal como se encuentren. Por otro lado, en el caso en el que la relación de aspecto de salida sea 4:3, los datos de vídeo se comprimen de manera tal que la altura de la imagen se nivele con la altura de la pantalla del dispositivo de vídeo de salida, y se inserta la imagen en negro y se da salida a la misma en los lados izquierdo y derecho de la imagen. En el caso en el que el dispositivo de vídeo de salida presente la relación de aspecto de 4:3 y la relación de aspecto de salida sea 4:3, a los datos de vídeo se les da salida tal como se encuentren, mientras que, por otro lado, en el caso en el que la relación de aspecto de salida sea 16:9 los datos de vídeo de salida se comprimen de modo tal que la anchura de la imagen coincida con la anchura de la pantalla del dispositivo de vídeo de salida al mismo tiempo que se inserta la imagen en negro y se da salida a la misma por encima y por debajo de la imagen.
El módulo de procesado de gráficos 219, en respuesta a la solicitud del módulo 212 de control del reproductor, captura adicionalmente la señal de vídeo en proceso, y la devuelve al módulo 212 de control del reproductor.
El módulo 241 de salida de vídeo ocupa exclusivamente una parte de la memoria 113 y la utiliza como una memoria intermedia FIFO (primero en entrar, primero en salir). Los datos de vídeo procesados por el módulo de procesado de gráficos 219 se acumulan provisionalmente en esta memoria intermedia para controlar así el funcionamiento de lectura con una temporización predeterminada. A los datos de vídeo leídos desde la memoria intermedia se les da salida desde la interfaz 118 de salida de vídeo.
El módulo 242 de salida de audio ocupa exclusivamente una parte de la memoria 113 y la utiliza como una memoria intermedia FIFO. Los datos de audio a los que se da salida desde el decodificador 117 de audio se acumulan en esta memoria intermedia, y se leen con una temporización predeterminada. A los datos de audio leídos desde la memoria intermedia se les da salida desde la interfaz 119 de salida de audio.
En el caso de que el modo de audio del contenido sea monaural dual (bilingüe, por ejemplo), el módulo 242 de salida de audio da salida a los datos de audio de acuerdo con un modo de salida de audio predesignado. En el caso en el que el modo de salida de audio se designe como "audio principal" los datos de audio del canal izquierdo se copian al canal derecho en la memoria 113, por ejemplo, de modo tal que a las salidas bi-canal se les da salida como datos de audio del canal izquierdo. Por otro lado, en el caso en el que el modo de salida de audio sea "segundo audio", los datos de audio del canal derecho se copian al canal izquierdo en la memoria 113, por ejemplo, de manera tal que a ambas salidas bi-canal se les da salida como datos de audio del canal derecho. En el caso en el que el modo de salida de audio sea "canal de sonido principal/segundo sonido" o el contenido sea estereofónico, a los datos de audio se les da salida tal como se encuentren.
De esta manera, el modo de salida de audio puede ser fijado por el usuario de manera interactiva a través de la pantalla de menú generada por la unidad 210 de reproducción de contenido de vídeo.
En respuesta a la instrucción del módulo 212 de control del reproductor, el módulo 250 de control de la memoria no volátil escribe los datos en el área no borrada al final del funcionamiento de la unidad 210 de reproducción de contenido de vídeo, y lee los datos desde el área en particular. El módulo 250 de control de la memoria no volátil tiene la función de almacenar una pluralidad de conjuntos de los datos "Estado_Reproductor_Memorizado" y los datos "Datos_Usuario_Memorizados" en la misma área con la ID del título (ID_Título) como clave. Como datos "Estado_Reproductor_Memorizado" se almacenan los datos "Estado_Reproductor_CopiaSeguridad" contenidos en el módulo 212 de control del reproductor. Estos datos "Estado_Reproductor_CopiaSeguridad" se corresponden por ejemplo con los datos inmediatamente anteriores a la finalización del módulo 212 de control de reproducción del estado 323B del reproductor descrito anteriormente, y los datos "Estado_Reproductor_Memorizado" se corresponden con la información 324 de reanudación. Además, los datos "Datos_Usuario" contenidos en el módulo 212 de control del reproductor se almacenan como datos “Datos_Usuario_Memorizados". Los Datos "Datos_Usuario" son un conjunto de datos predeterminado para el módulo 212 de control del reproductor por el usuario.
El módulo 250 de control de la memoria no volátil almacena el conjunto de los datos "Estado_Reproductor_Memorizado" y los datos “Datos_Usuario_Memorizados" en asociación con la ID del título del disco 101 en un área predeterminada de la memoria no volátil contenida en el aparato 100 de reproducción de discos. El soporte de almacenamiento del módulo 250 de control de la memoria no volátil para almacenar los datos no se limita a la memoria no volátil sino que alternativamente puede ser un disco duro.
8-1 Definición del estado del reproductor de películas
A continuación, se explicará de forma más detallada el modelo de cambio de estado del reproductor 300 de películas de acuerdo con una forma de realización de la invención. De acuerdo con esta invención, el estado del reproductor 300 de películas se define solamente como un estado interno del reproductor 300 de películas. Específicamente, de acuerdo con esta invención, el estado del reproductor 300 de películas se define basándose en el funcionamiento y la función del propio reproductor 300 de películas.
Más específicamente, el funcionamiento del reproductor 300 de películas se define en dos estados que incluyen el estado de reproducción y el estado de parada desde el punto de vista de la reproducción de la lista de reproducción. Además, la función se define en dos estados según si el reproductor 300 de películas acepta o no la orden de control de la plataforma de implementación nativa
301.
La figura 31 muestra esquemáticamente la definición del estado del reproductor 300 de películas de acuerdo con la invención. Se explicará el estado del reproductor 300 de películas desde el punto de vista del funcionamiento. En la figura 3, el reproductor 300 de películas está o bien en el estado de reproducción o bien en el estado de parada desde el punto de vista de la reproducción de la lista de reproducción. En el estado de reproducción, el reproductor 300 de películas selecciona la lista de reproducción y reproduce la lista de reproducción seleccionada. En el estado de parada, por otro lado, el reproductor 300 de películas no reproduce la lista de reproducción. En el estado de parada, la lista de reproducción no está seleccionada. En otras palabras, en el estado de reproducción, el flujo AV extractado se decodifica por medio del módulo 321 de reproducción del reproductor 300 de películas, mientras que en el estado de parada, no se decodifica.
El estado de reproducción se subdivide en varios estados e incluye varios estados de reproducción tales como la reproducción normal en la dirección hacia delante a la velocidad unitaria, la reproducción a velocidad variable en las direcciones hacia delante e inversa a otra velocidad que la normal, y pausa. La reproducción cuadro a cuadro hacia delante y cuadro a cuadro inversa se puede lograr alternando entre la reproducción normal y la pausa. Durante la reproducción de la lista de reproducción, por lo tanto, el reproductor 300 de películas está sustancialmente en el estado de reproducción.
Se explicará el estado del reproductor 300 de películas desde el punto de vista de las funciones del mismo. El reproductor 300 de películas, para el punto de vista de las funciones del mismo, tiene dos modos de funcionamiento, es decir, el modo (denominado modo normal) para aceptar la orden de control 311 desde la plataforma de implementación nativa 301 y el modo (denominado modo de menú) para ignorar la orden de control 311. Estos dos modos de funcionamiento del reproductor 300 de películas se definen cada uno de ellos como un estado del reproductor 300 de películas.
En el modo normal, el funcionamiento del reproductor 300 de películas puede ser controlado por la entrada 310 de usuario sin el programa de script de la capa de script 302.
En el modo de menú, por otro lado, la orden de control 311 no es aceptada por el reproductor 300 de películas. El reproductor 300 de películas acepta sólo el método 313 de la capa de script 302. Como consecuencia, el funcionamiento del reproductor 300 de películas puede ser controlado en su totalidad por el programa de script de la capa de script 302. La entrada 310 de usuario, por ejemplo, se entrega a la capa de script 302 como un evento 314 desde la plataforma de implementación nativa 301. El programa de script de la capa de script 302 controla el funcionamiento del reproductor 300 de películas usando el método 313 correspondiente a este evento 314.
Específicamente, el funcionamiento del reproductor 300 de películas puede ser controlada por parte del productor del contenido mediante el uso del modo de menú. Además, el uso del modo de menú hace posible una gran variedad de operaciones de control con unos pocos tipos de teclas.
Tal como se ha descrito anteriormente, el reproductor 300 de películas tiene por un lado dos estados que incluyen el estado de reproducción y el estado de parada en términos de funcionamiento, y al mismo tiempo dos modos de funcionamiento de modo normal y modo de menú en términos de las funciones. Para el reproductor 300 de películas por lo tanto, se pueden definir cuatro estados que incluyen combinaciones de los dos estados de funcionamiento y los dos modos de función. Específicamente, el reproductor 300 de películas se asocia a uno cualquiera de los cuatro estados durante el periodo que va desde su generación a su extinción. La generación y la extinción del reproductor 300 de películas se explican posteriormente.
Por otro lado, en el caso en el que se emite el método 313 que ordena al reproductor 300 de películas que se traslade a un estado diferente del estado actual, el reproductor 300 de películas realiza un traslado del estado inmediatamente de acuerdo con el método 313 emitido, como modelo. Sin embargo, en el dispositivo real, el espacio de tiempo desde el momento en el que se emite un método 313 determinado hacia el reproductor 300 de películas hasta el momento en el que el reproductor 300 de películas completa la transición del estado de acuerdo con el método 313, depende del montaje del dispositivo particular.
Además, aun en el caso en el que se emita hacia el reproductor 300 de películas el método 313 que designa la transición de estado al mismo estado que un estado determinado del reproductor 300 de películas, el estado del reproductor 300 de películas permanece sin cambios. Aun en el caso en el que se emita hacia el reproductor 300 de películas, ya en el modo normal y en el estado de parada, el método 313 para realizar un traslado del estado del reproductor 300 de películas al modo normal y al estado de parada, por ejemplo, el estado del reproductor 300 de películas no se cambia.
Además, el estado de parada temporal (pausa) se incluye como un tipo de estado de reproducción. Para la transición del estado de parada a pausa, se usa el método "reproducción()" con el valor "modoPausa" que designa la parada temporal como argumento.
A continuación, se explican cada uno de los cuatro estados que incluyen combinaciones de los dos estados y los dos modos de funcionamiento del reproductor 300 de películas y el cambio de estado entre los cuatro estados. En la descripción que se ofrece a continuación, se considera que el modo normal incluido en el estado del reproductor 300 de películas clasificado de acuerdo con la función se denomina "normal", y el modo de menú "menú". Por otro lado, para el estado del reproductor 300 de películas clasificado por funcionamiento, el estado de reproducción se denomina "reproducción" y el estado de parada "parada". Además, por comodidad, una combinación de los modos y el estado del reproductor 300 de películas se expresa como "modo, estado". Además, en la descripción que se ofrece a continuación, el cambio de estado y la conmutación de modo en el reproductor 300 de películas se denominan ambos estado o cambio o transición de estado.
Tal como se entiende a partir de la figura 31, existen 16 (= 4 x 4) cambios de estado para el reproductor 300 de películas incluyendo el cambio a su propio estado. Estos cambios de estado son provocados por el método 313 entregado desde la capa de script 302 al reproductor 300 de películas. Específicamente, el cambio de estado en el reproductor 300 de películas es provocado por un factor externo al reproductor 300 de películas, y no se produce ningún cambio de estado automático en el reproductor 300 de películas sin instrucciones por parte del método de la capa de script 302. Además, el cambio de estado nunca se produce en el reproductor 300 de películas ni siquiera con la orden de control de la plataforma de implementación nativa 301.
De acuerdo con esta forma de realización, se limita la combinación de argumentos del método 313, y por lo tanto, no se puede generar la totalidad de los 16 posibles cambios de estado en el reproductor 300 de películas.
A continuación, se explican uno a uno los cuatro estados o estados ("Menú,Parada", "Normal,Parada" , "Menú,Reproducción" y "Normal,Reproducción") que puede adoptar el reproductor 300 de películas.
Éste es el estado de parada en el cual no se reproduce la lista de reproducción por parte del reproductor 300 de películas, y en el cual no se acepta la orden de control 311 de la plataforma de implementación nativa 301. Este estado se usa, por ejemplo, en la pantalla de menú sin imagen dinámica reproducida en el fondo.
Con el fin de garantizar claramente la operación de control desde el programa de script inmediatamente después de la generación del reproductor 300 de películas, resulta eficaz no aceptar la orden de control 311 desde la plataforma de implementación nativa 301 en el instante de tiempo particular. Por esta razón, el estado "Menú,Parada" se establece inmediatamente después de la generación del reproductor 300 de películas.
Éste es el estado de parada en el cual no se reproduce la lista de reproducción por parte del reproductor 300 de películas, y en el cual se acepta la orden de control 311 de la plataforma de implementación nativa 301. Este estado se usa en el estado, por ejemplo, en el cual no se reproduce la imagen dinámica. Este estado, en el cual se acepta la orden de control 311, no se usa preferiblemente de forma inmediata después de la generación del reproductor 300 de películas.
Éste es el estado de reproducción en el cual se reproduce la lista de reproducción por parte del reproductor 300 de películas, y en el cual no se acepta la orden de control 311 de la plataforma de implementación nativa 301. Este estado se usa, por ejemplo, en la pantalla de menú con la imagen dinámica reproducida en el fondo.
Éste es el estado de reproducción en el cual se reproduce la lista de reproducción por parte del reproductor 300 de películas, y en el cual se acepta la orden de control 311 de la plataforma de implementación nativa 301. Este estado se usa, por ejemplo, durante la reproducción de la narración original de la película.
Se explican brevemente los modelos para generar el reproductor 300 de películas. En la generación del reproductor 300 de películas, como se ha explicado anteriormente, por ejemplo, se pone en marcha la alimentación para el aparato 100 de reproducción de discos y se activa el sistema operativo 201 en la CPU 112. A continuación, se ejecuta el proceso requerido, tal como la inicialización, para cada parte, mientras se accede a la unidad 210 de reproducción de contenido de vídeo desde la ROM. Esta unidad 210 de reproducción de contenido de vídeo se ejecuta por medio de la CPU 112. Una vez que se corta la alimentación para el aparato 100 de reproducción de discos, el reproductor 300 de películas se extingue.
En este caso, se considera que el reproductor 300 de películas genera un objeto implícito, y no se requiere que el reproductor 300 de películas sea generado explícitamente en el programa de script.
Tal como se ha explicado anteriormente, el estado inmediatamente posterior a la generación del reproductor 300 de películas se considera como el estado de parada (estado "Menú,Parada") del modo de menú. Inmediatamente después de la generación del reproductor 300 de películas, las siguientes propiedades, por ejemplo, contenidas en el reproductor 300 de películas adoptan valores indefinidos:
Propiedad "banderaAudio"
Propiedad "númeroAudio"
Propiedad "númeroCapítulo"
Propiedad "númeroListaReproducción"
Propiedad "velocidadReproducción"
Propiedad "banderaSubtítulos"
Propiedad "númeroSubtítulos"
Propiedad "númeroVídeo"
En el reproductor de vídeo UMD que tiene la "función de reproducción continua" para iniciar la reproducción desde la posición en la que se suspendió la reproducción previa, el reproductor 300 de películas se puede inicializar estableciendo el valor de cada propiedad según el valor mantenido en la memoria no volátil en lugar de un valor por defecto. Por ejemplo, se puede usar la información 324 de reanudación.
8-2 Método para generar un cambio de estado en el reproductor de películas
A continuación, se explicará el método 313 para generar el cambio o transición de estado en el reproductor 300 de películas. La figura 32 muestra combinaciones del estado actual "Modo,Estado" y el estado "Modo,Estado" después del cambio de estado por medio del método 313 para cada uno de los cuatro estados del reproductor 300 de películas. Tal como se entiende a partir de la figura 32, el método "parada()", el método "reproducción()" y el método "reanudación()" se preparan como los métodos 313 para generar el cambio de estado del reproductor 300 de películas. Por otro lado, el funcionamiento del método "reanudación()" cambia dependiendo de si existe o no la información 324 de reanudación.
Se explicará el método "parada()". El método "parada()" cambia el reproductor 300 de películas al estado de parada independientemente del estado del mismo. El método "parada()" puede designar el modo para el argumento, y simultáneamente con la transición al estado de parada, se puede cambiar el modo del reproductor 300 de películas. Tal como se describe posteriormente, tras la ejecución del método "parada()" que satisface una cierta condición, se realiza una copia de seguridad del estado 323B del reproductor y la misma se guarda como información 324 de reanudación.
Se explicará el método "reproducción()". El método "reproducción()" cambia el reproductor 300 de películas al estado de reproducción. El método "reproducción()" puede designar el modo para el argumento, y simultáneamente con el cambio al estado de reproducción, puede cambiar el modo del reproductor 300 de películas. Tal como se describe posteriormente, tras la ejecución del método "reproducción()" que satisface una cierta condición, se realiza una copia de seguridad del estado 323B del reproductor mientras que al mismo tiempo se guarda la información 324 de reanudación.
Se explicará el método "reanudación()". El método "reanudación()" está destinado a restablecer la reproducción mediante el restablecimiento de la información 324 de reanudación al estado 323B del reproductor. Específicamente, el método "reanudación()" consigue que el reproductor 300 de películas inicie la reproducción desde la posición indicada por le información 324 de reanudación. Aun en el caso en el que el método "reanudación()" se ejecute en ausencia de la información 324 de reanudación, el estado del reproductor 300 de películas no cambia.
Las condiciones según las cuales el método "reanudación()" restablece la información 324 de reanudación son las siguientes. Específicamente, en el caso en el que la información 324 de reanudación existe en el momento de la ejecución del método "reanudación()" y el estado actual no es "Normal,Reproducción", entonces el reproductor 300 de películas restablece la información 324 de reanudación. En otras palabras, siempre y cuando exista la información 324 de reanudación en el momento de la ejecución del método "reanudación()" y el estado actual sea uno de entre "Menú,Parada", "Normal,Parada", y "Menú, reproducción", entonces el reproductor 300 de películas restablece la información 324 de reanudación simultáneamente con la transición al estado "Normal,Reproducción".
El método "reproducción()" tiene una pluralidad de argumentos. En el caso que se está considerando, a título explicativo, se considera que el método "reproducción()" tiene tres argumentos que incluyen "modoPausa", "modoMenú" y "númeroListaReproducción". De hecho, sin embargo, se definen más argumentos.
El argumento "modoPausa" designa la condición de reproducción en el estado de reproducción, y puede adoptar el valor "x1", "pausa" o "-1". El valor "x1" designa la reproducción hacia delante a velocidad normal. El valor "pausa" designa la parada temporal. El valor "-1" designa el mantenimiento de la velocidad de reproducción actual. De esta manera, el argumento "modoPausa" establece el detalle del estado de reproducción del reproductor 300 de películas después de la ejecución del método "reproducción()". Por otro lado, en el caso en el que la pausa se designe en ausencia de la imagen en la posición designada por el argumento o en ausencia de la designación por medio del argumento, entonces la imagen se visualiza en la posición designada por la regla de selección establecida de forma independiente, y se entra en el estado de pausa.
El argumento "modoMenú" puede designar el modo (modo normal o modo de menú) del reproductor 300 de películas, y puede adoptar cualquiera de los valores "Normal", "Menú" y "-1". El valor "Normal" designa la conmutación al modo normal. El valor "Menú" designa la conmutación al modo de menú. El valor "-1" designa el mantenimiento del modo actual.
El argumento "númeroListaReproducción" designa el número de la lista de reproducción a reproducir. El argumento "númeroListaReproducción" se puede omitir, lo cual indica que la lista de reproducción seleccionada actualmente permanece sin cambios.
Se explicará, haciendo referencia a las figuras 33A, 33B, 33C, 33D, 33E, un ejemplo del cambio de estado del reproductor 300 de películas en el momento de la ejecución del método "reproducción()". En cada una de las figuras 33A, 33B, 33C, 33D, 33E, el lado izquierdo indica el estado actual 340A del reproductor 300 de películas, y el lado derecho el estado cambiado 340B por la emisión del método 313 desde el programa de script hacia el reproductor 300 de películas en el estado actual 340A. También se muestran, bajo el estado 340A y 340B, los números de lista de reproducción (PL1, PL2) designados para el estado particular.
La figura 33A muestra un ejemplo del caso en el cual se emite el método "reproducción(x1,Normal,PL2)" hacia el reproductor 300 de películas en el estado "Normal,Parada". Esto indica que, de acuerdo con el método reproducción(x1,Normal,PL2), el estado del reproductor 300 de películas cambia a un estado en el cual la lista de reproducción con el número de lista de reproducción "PL2" se reproduce en modo normal a velocidad normal. El reproductor 300 de películas cambia del estado "Normal,Parada" al estado "Normal,Reproducción".
La figura 33B muestra un ejemplo del caso en el que el método "reproducción(x1,Normal,PL2)" se emite hacia el reproductor 300 de películas en el estado "Normal,Reproducción" en el cual se detiene temporalmente la reproducción de la lista de reproducción con el número de lista de reproducción "PL1". Esto indica que de acuerdo con el método "reproducción(x1,Normal,PL2)", el estado del reproductor 300 de películas cambia al estado en el cual se inicia la reproducción de la lista de reproducción con el número de lista de reproducción "PL2" en el modo normal a velocidad normal. En este caso, el funcionamiento de reproducción del reproductor 300 de películas cambia de pausa a reproducción hacia adelante a velocidad normal de acuerdo con el método "reproducción(x1,Normal,PL2)". En este caso, el funcionamiento de reproducción del reproductor 300 de películas cambia de la pausa a reproducción hacia delante a velocidad normal. El estado, sin embargo, permanece en "Normal,Reproducción" antes y después de la emisión del método "reproducción(x1,Normal,PL2)", y no se produce ningún cambio de estado.
La figura 33C muestra un ejemplo del caso en el cual se emite el método "reproducción(-1,1,PL2)" hacia el reproductor 300 de películas en el estado "Normal,Reproducción" durante la reproducción hacia delante de la lista de reproducción con el número de lista de reproducción "PL1" a velocidad normal. Esto indica que de acuerdo con el método "reproducción(-1,-1,PL2) ", el reproductor 300 de películas está en un estado tal que la lista de reproducción con el número de lista de reproducción "PL2" se reproduce en modo normal a velocidad normal. También en este caso, aunque se cambia la lista de reproducción reproducida por el reproductor 300 de películas, el estado "Normal,Reproducción" permanece sin cambios y no se produce ningún cambio de estado.
La figura 33D muestra un ejemplo del caso en el cual se emite el método "reproducción(pausa,1,PL2)" hacia el reproductor 300 de películas que, en el estado "Normal,Reproducción", está en el funcionamiento de reproducción hacia delante para reproducir la lista de reproducción con el número de lista de reproducción "PL1" a velocidad normal. Esto indica que de acuerdo con el método "reproducción(pausa, -1,PL2)", el reproductor 300 de películas está en el modo normal en el cual se selecciona la lista de reproducción con el número de lista de reproducción "PL2" y el funcionamiento se detiene temporalmente en el encabezamiento de la lista de reproducción con el número de lista de reproducción "PL2". También en este caso, el funcionamiento de reproducción del reproductor 300 de películas cambia de la reproducción hacia delante a velocidad normal, a la pausa, aunque el estado permanece en "Normal,Reproducción" y no se produce ningún cambio de estado.
La figura 33E muestra un ejemplo del caso en el cual se emite el método "reproducción(-1,Menú)" hacia el reproductor 300 de películas en el estado "Normal,Reproducción" durante la pausa de la reproducción de la lista de reproducción con el número de lista de reproducción "PL1". En el método "reproducción()", se omite el argumento "númeroListaReproducción". Esto indica que de acuerdo con el método "reproducción(-1,Menú)" el reproductor 300 de películas selecciona la lista de reproducción con el número de lista de reproducción "PL1" mientras que al mismo tiempo en el modo de menú se detiene temporalmente en el encabezamiento de la lista de reproducción con el número de lista de reproducción "PL1". El reproductor 300 de películas cambia al estado "Menú,Parada" desde el estado "Normal,Reproducción".
Tal como se ha descrito anteriormente, el reproductor 300 de películas lleva a cabo varias operaciones al recibir el método "reproducción()" desde el programa de script, mientras que al mismo tiempo se genera la transición de estado dependiendo de las condiciones. El productor del contenido puede implementar varias operaciones en el reproductor 300 de películas al describir el método "reproducción()" con un argumento diferente en el programa de script.
El reproductor 300 de películas inicia la reproducción de la lista de reproducción con un número de lista de reproducción seleccionado, únicamente ejecutando el método "reproducción()" desde el programa de script. El inicio de la reproducción de la lista de reproducción indica el inicio de la reproducción de la lista de reproducción desde el estado de parada o la selección de una nueva lista de reproducción al suspender la reproducción de la lista de reproducción e iniciar la reproducción de la lista de reproducción seleccionada.
En el caso en el que el programa de script emite el método "reproducción()" con un argumento hacia el reproductor 300 de películas, el valor del argumento se fija en el estado 323B del reproductor. En el caso en el que se omite el argumento, el valor del argumento particular se fija como un valor por defecto
o por selección automática de acuerdo con la regla determinada para cada parámetro.
La reproducción de la lista de reproducción en el orden no deseado por el productor del contenido plantearía un problema. Por lo tano, se prohíbe el inicio de la reproducción de la lista de reproducción designando el número de lista de reproducción con la orden de control 311 atribuible al accionamiento del usuario. Esta es una de las características del modelo de funcionamiento del reproductor 300 de películas de acuerdo con una forma de realización de la invención.
Además, en el caso en el que se designe una lista de reproducción no válida o un tiempo inexistente como valor del argumento del método "reproducción()", fallaría la ejecución del método "reproducción()" particular. Esto indica que el programa de script es erróneo, y el programa de script contiene una violación de la normativa. La gestión del error con respecto a este caso depende del montaje del reproductor 300 de películas.
A continuación, se explicará la reproducción entre elementos de reproducción. El reproductor 300 de películas, con el inicio de la reproducción de la lista de reproducción, continúa la reproducción de la lista de reproducción particular hasta el final. La reproducción desde el encabezamiento hasta el final de una lista de reproducción dada no requiere ni el accionamiento del usuario ni el funcionamiento de control desde el programa de script. En el reproductor 300 de películas, tal como se muestra brevemente en la figura 34, los elementos de reproducción que constituyen la lista de reproducción se reproducen secuencialmente en el orden designado por el archivo de lista de reproducción "LISTAREPRODUCCIÓN.DAT" (figura 19). Los elementos de reproducción que constituyen la lista de reproducción se reproducen continuamente sin ser controlados por el gestor de eventos.
El funcionamiento durante el período que va desde el final de la reproducción de un elemento de reproducción a la reproducción del siguiente elemento de reproducción depende del montaje del reproductor 300 de películas, y no se especifica como un formato. Por ejemplo, el funcionamiento entre elementos de reproducción en cuanto a si se continúa visualizando la última imagen del elemento de reproducción o se cambia inmediatamente a la pantalla negra, depende del montaje. No obstante, mediante la operación de edición apropiada tal como la fijación del punto DENTRO del elemento de reproducción en un punto de acceso aleatorio (punto de entrada, figura 28), el tiempo de separación entre los elementos de reproducción se puede acortar tanto como sea posible.
8-3 Funcionamiento del reproductor de películas durante la reproducción de la lista de reproducción
A continuación, se explicará el funcionamiento del reproductor 300 de películas durante la reproducción de la lista de reproducción. La instrucción de reproducción de velocidad variable del usuario, tal como la reproducción de alta velocidad que incluye la reproducción a velocidad doble o la reproducción a velocidad triple, la reproducción de baja velocidad que incluye la reproducción a velocidad mitad o la reproducción inversa, se introduce en la plataforma de implementación nativa 301 como una entrada 310 de usuario, y en respuesta a esta entrada 310 de usuario, se transmite al reproductor 300 de películas una orden de control 311 dependiente del montaje, desde la plataforma de implementación nativa 301.
La velocidad de reproducción variable depende del montaje del reproductor 300 de películas. En un ejemplo para lograr una reproducción de velocidad variable, la instrucción "más rápido" o "más lento" se entrega como argumento al reproductor 300 de películas desde la plataforma de implementación nativa 301 con capacidad de designación de velocidad, la cual se convierte por medio del reproductor 300 de películas en una velocidad realizable. El método que se debería utilizar depende del montaje del reproductor 300 de películas. De acuerdo con el programa de script, la velocidad determinada por el reproductor 300 de películas puede ser conocida por el método "obtenerEstadoReproductor()”.
Por otro lado, con el método "reproducción()" hacia el reproductor 300 de películas desde el programa de script, la velocidad no se puede designar mediante el argumento. En el método "reproducción()", solo se pueden designar dos, que incluyen "pausa" (argumento "pausa") y "reproducción de velocidad normal” (argumento "x1").
Tras la llegada al final del elemento de reproducción durante la reproducción hacia delante de velocidad variable de la lista de reproducción, el reproductor 300 de películas lleva a cabo la reproducción del siguiente elemento de reproducción. Al mismo tiempo, el reproductor 300 de películas continúa la reproducción de velocidad variable del siguiente elemento de reproducción en la misma dirección y a la misma velocidad que el elemento de reproducción previo.
La figura 35 muestra un ejemplo del funcionamiento del reproductor 300 de películas en el caso en el que se alcance el inicio o el final de la lista de reproducción durante la reproducción de la lista de reproducción. Tras la llegada al final de la lista de reproducción durante la reproducción en la dirección hacia delante, el reproductor 300 de películas entra en pausa mientras se visualiza la última imagen. Para borrar la última imagen, se requiere que se designe explícitamente la parada (emisión del método "parada()") para el reproductor 300 de películas en el gestor de eventos "enFinListaReproducción" o similar.
Por otro lado, tras la llegada al punto final de la lista de reproducción durante la reproducción de alta velocidad a mayor velocidad que en el modo normal, se visualiza la última imagen de la lista de reproducción, incluso si no se corresponde con el punto de salto.
Por otro lado, tras la llegada al encabezamiento del elemento de reproducción durante la reproducción de la lista de reproducción en la dirección inversa, el reproductor 300 de películas reproduce el elemento de reproducción previo, es decir, un elemento de reproducción que se reproduce temporalmente antes en la reproducción hacia delante. También en esta reproducción del elemento de reproducción previo, se continúa con la reproducción inversa desde el final hacia el encabezamiento. Se mantiene también la velocidad de reproducción. Además, tras la llegada al encabezamiento de la lista de reproducción durante la reproducción inversa, se cancela la reproducción a velocidad variable, y el reproductor 300 de películas entra en pausa en el encabezamiento de la lista de reproducción.
Además, el estado del reproductor 300 de películas se cambia a "pausa" también mediante la orden de control 311 que designa la pausa. La dirección y la velocidad de la reproducción de la lista de reproducción tras la cancelación de la pausa por la orden de control 311 dependen del montaje del reproductor de vídeo UMD.
A continuación, se explicará el evento generado durante la reproducción de la lista de reproducción. El evento generado durante la reproducción de la lista de reproducción, tal como se ha explicado en referencia a la figura 13, incluye el evento "cambioÁngulo" correspondiente a una operación por parte del usuario, el evento "cambioAudio" y el evento "cambioSubtítulos", y el evento "capítulo" y el evento "marca" en correspondencia con la marca insertada en la lista de reproducción. Se ha explicado ya también en referencia a la figura 15 un ejemplo detallado del funcionamiento en el momento de la generación del evento.
A continuación, se explicará el último procesado de la lista de reproducción. Como ya se explicó, el reproductor 300 de películas reproduce la lista de reproducción con el número designado por el método "reproducción()". La reproducción de la lista de reproducción, una vez iniciada, continúa hasta el final de la lista de reproducción sin ser controlada por el programa de script o la orden de control 311. Tras la llegada al final de la reproducción de la lista de reproducción, el reproductor 300 de películas notifica el evento "finListaReproducción" al programa de script. Se puede usar cualquier método antes de alcanzar el final de la lista de reproducción. Específicamente, independientemente de si la reproducción de la lista de reproducción es normal, rápida o debida al salto desde otra lista de reproducción, el reproductor 300 de películas genera el evento "finListaReproducción" en el mismo instante de tiempo en el que se alcanza el final de la lista de reproducción.
En el caso en el que la reproducción alcanza el final de la lista de reproducción y se genera el evento "finListaReproducción", el estado del reproductor 300 de películas entra en pausa, y el tiempo de la reproducción de la lista de reproducción mantenido internamente por el reproductor 300 de películas coincide con el tiempo final de la lista de reproducción. Por otro lado, el tiempo final de la lista de reproducción se define como el tiempo de finalización de la reproducción de la última imagen de la lista de reproducción y coincide con el punto FUERA del último elemento de reproducción a lo largo del eje del tiempo de reproducción.
El evento "finListaReproducción" se puede usar para reproducir en serie la lista de reproducción o visualizar el menú en el punto de ramificación de la multinarración.
El programa de script ejecuta el gestor de eventos "enFinListaReproducción", si el mismo se mantiene como un programa a ejecutar, tras la generación del evento "finListaReproducción". En el caso en el que el método "reproducción()" para iniciar la reproducción de otra lista de reproducción se describa en este gestor de eventos "enFinListaReproducción", el reproductor 300 de películas inicia la reproducción de la otra lista de reproducción. De esta manera, se continúa con la reproducción de la lista de reproducción.
Se proporciona una explicación específica haciendo referencia a la figura 36. Al final de la reproducción de la lista de reproducción con el número de lista de reproducción "PL1", se genera el evento "finListaReproducción". Tras la generación de este evento "finListaReproducción", se ejecuta el gestor de eventos "enFinListaReproducción" mantenido en el programa de script. Este gestor de eventos "enFinListaReproducción" designa la reproducción de la lista de reproducción con el número de lista de reproducción "PL2". En respuesta a este gestor de eventos "enFinListaReproducción", el reproductor 300 de películas reproduce la lista de reproducción con el número de lista de reproducción "PL2" designado.
La ruta de reproducción se transfiere provisionalmente al gestor de eventos "enFinListaReproducción" desde el final de la lista de reproducción con el número de lista de reproducción "PL1", y posteriormente se transfiere al encabezamiento de la lista de reproducción con el número de lista de reproducción "PL2".
En el caso en el que se vaya a visualizar el menú en el punto de ramificación de la multinarración, por ejemplo, la instrucción para reproducir la lista de reproducción se puede describir con un efecto tal que la pantalla de menú se visualice por medio del gestor de eventos "enFinListaReproducción" correspondiente al evento "finListaReproducción" con el final de la lista de reproducción como punto de ramificación.
La figura 37 muestra, más detalladamente, el flujo del proceso de la capa de script 302 y un ejemplo del funcionamiento del reproductor 300 de películas al final de la lista de reproducción. En la figura 37, las etapas S30 a S33 indican el proceso por parte de la capa de script 302, y las etapas S40 a S44 el proceso por parte del reproductor 300 de películas.
Después de la reproducción de una lista de reproducción determinada hasta el final, se requiere una instrucción explícita para la reproducción por parte del programa de script para reproducir la siguiente lista de reproducción. El orden en el cual se reproducen las listas de reproducción se determina por medio del programa de script, y por lo tanto, la lista de reproducción a reproducir a continuación no puede ser determinada voluntariamente por el reproductor 300 de películas.
Una vez que la reproducción alcanza el final de la lista de reproducción (etapa S40), el reproductor 300 de películas notifica el evento "finListaReproducción" a la capa de script 302 (etapa S41). El reproductor 300 de películas, mientras continúa visualizando la última imagen de la lista de reproducción reproducida hasta el final en la etapa S40, se transfiere al estado "pausa" (etapa S42).
En la capa de script 302, tras la recepción del evento "finListaReproducción", se ejecuta el gestor de eventos "enFinListaReproducción" (etapa S30). La siguiente operación del reproductor 300 de películas se determina mediante la descripción del script en este gestor de eventos "enFinListaReproducción".
Por otro lado, el reproductor 300 de películas, después de la etapa S40, ignora el método o la orden de control 311 que se pueden recibir para cancelar la pausa o el inicio de la reproducción hacia delante durante la pausa al final de la lista de reproducción. El método para iniciar la reproducción hacia delante es el método "reproducción()" y el método "pasoReproducción()" que designa la reproducción hacia delante con un argumento. Además, la orden de control 311 para iniciar la reproducción hacia delante incluye la orden "uo_reproducción()", la orden "uo_reproducciónCapítuloSiguiente()", la orden "uo_exploraciónAdelante()", la orden "uo_pasoReproducción()", la orden "uo_pausaActivada()" o la orden "uo_pausaDesactivada()". Estas órdenes se ignoran en el caso en el que el funcionamiento esté en pausa al final de la lista de reproducción.
Aun en el caso en el que el funcionamiento esté en pausa al final de la lista de reproducción, el método "parada()" y el método "reanudación()" son validos. Además, la conmutación de modo es válida durante la pausa al final de la lista de reproducción.
Incluso después de la generación del evento "finListaReproducción", el reproductor 300 de películas en modo normal acepta la orden de control 311 para otros fines diferentes a los de iniciar la reproducción hacia delante. También en ese caso, tras la ejecución del método 313 para el reproductor 300 de películas desde el programa de script, se lleva a cabo la operación designada por el método particular 313.
En el ejemplo mostrado en la figura 37, el método "parada()" se designa mediante el gestor de eventos "enFinListaReproducción" (etapa S31). El funcionamiento del reproductor 300 de películas provocado por la orden de control 311 se suspende tras la ejecución del método "parada()", y se transfiere al estado de parada (etapa S43). En el estado de parada, por ejemplo, se borra la última imagen de la lista de reproducción reproducida hasta el momento y aparece la pantalla negra.
Además, en la capa de script 302, el método 313 para reproducir la siguiente lista de reproducción se designa mediante el gestor de eventos "enFinListaReproducción" (etapa S32). En el método "reproducción()", por ejemplo, el valor "x1" se designa como el argumento "modoPausa", el valor "Menú" como el argumento "modoMenú" y el número de la lista de reproducción siguiente a ser reproducida como el argumento "númeroListaReproducción". A continuación, se ordena al reproductor 300 de películas que conmute al modo de menú y que reproduzca la lista de reproducción con el número designado por el argumento "númeroListaReproducción" a velocidad normal. En la capa de script 302, finaliza el gestor de eventos "enFinListaReproducción" (etapa S33). Por parte del reproductor 300 de películas, el modo se conmuta de acuerdo con el método "reproducción()" designado por la etapa S32, mientras que al mismo tiempo se inicia la reproducción a la velocidad designada por la lista de reproducción designada (etapa S44).
Por otro lado, para mejorar la operabilidad del usuario, el productor del contenido, después de finalizar la reproducción de la lista de reproducción, no debería dejar sin designar la siguiente operación para el reproductor 300 de películas. La siguiente operación se debería describir en el gestor de eventos "enFinListaReproducción", y el reproductor 300 de películas se debería transferir al estado de parada, se le debería ordenar que reproduzca la lista de reproducción mediante el método "reproducción()" o se debería editar para volver a la pantalla de menú.
8-4 Función para restablecer la reproducción del reproductor de películas
A continuación, se explican la transición entre estados y la función de restablecimiento de la reproducción del reproductor 300 de películas. En primer lugar se explican los tres tipos de áreas de memoria mantenidas en el reproductor de vídeo UMD, con referencia a la figura 38. En el modelo del reproductor de vídeo UMD, se definen los tres tipos esenciales de áreas de memoria que incluyen el área 501 de estado del reproductor, el área 502 de información de reanudación, y el área 503 de datos de usuario. Estos tres tipos de áreas de memoria 501, 502 y 503 se forman, por ejemplo, en la memoria 113. Las mismas se pueden formar, alternativamente, en la RAM como una memoria de trabajo de la CPU 112.
El área 501 de estado del reproductor es el área de memoria para mantener la información que indica el estado de reproducción del reproductor 300 de películas. Específicamente, el estado 323B del reproductor mostrado en la figura 3 se mantiene en el área 501 de estado del reproductor. El contenido del área 501 de estado del reproductor se puede leer por medio del método "obtenerEstadoReproductor()" del programa de script 500.
El área 502 de información de reanudación es el área de memoria para memorizar provisionalmente (realizar una copia de seguridad de) una parte de la información mantenida en el área 501 de estado del reproductor. Específicamente, una parte de la información en el área 501 de estado del reproductor se mantiene en el área 502 de información de reanudación en forma de la información 324 de reanudación mostrada en la figura 3. La parte de la información en el área 501 de estado del reproductor memorizada en el área 502 de información de reanudación se restablece en el área 501 de estado del reproductor según se requiera. La operación de copia de seguridad y la operación de restablecimiento se llevan a cabo por medio de la plataforma de implementación nativa 301. La información mantenida en el área 502 de información de reanudación es usada por la función de reproducción de reanudación para iniciar la reproducción desde el punto de parada de reproducción previo.
El contenido del área 502 de información de reanudación se puede leer por medio del método "obtenerInfoReanudación()" a partir del programa de script 500. En la información 324 de reanudación memorizada en el área 502 de información de reanudación, se puede cambiar el valor de los parámetros relacionados con el flujo por medio del método "cambiarInfoReanudación()" desde el programa de script
500.
La información mantenida en el área 502 de información de reanudación se escribe (memoriza) en la memoria no volátil 510 según se requiera por medio de la plataforma de implementación nativa 301. De manera similar, la información escrita en la memoria no volátil 510 desde el área 502 de información de reanudación se lee (carga) desde la memoria no volátil 510 según se requiera por medio de la plataforma de implementación nativa 301, y se almacena en el área 502 de información de reanudación.
Por otro lado, la operación de copia de seguridad en la información 502 de reanudación desde el área 501 de estado del reproductor y la operación de restablecimiento desde el área 502 de información de reanudación al área 501 de estado del reproductor son los procesos generados con una transición de estado especificada del reproductor 300 de películas mediante la ejecución del método, y se llevan a cabo automáticamente por medio del reproductor 300 de películas.
El área 503 de datos de usuario es aquella destinada a mantener la información dependiente del contenido, y puede ser usada arbitrariamente por el productor del contenido. Esta área puede ser usada de modo arbitrario de acuerdo con contenidos tales como el historial de la ruta de la reproducción de la lista de reproducción por parte del reproductor 300 de películas o la solución correcta o incorrecta de un cuestionario.
Los datos se pueden escribir en el área 503 de datos de usuario mediante el método "fijarDatosUsuario()" desde el programa de script 500. El contenido del área 503 de datos de usuario se puede leer por medio del método "obtenerDatosUsuario()" desde el programa de script 500. La información mantenida en el área 503 de datos de usuario se escribe (memoriza) en la memoria no volátil 510 según se requiera por medio de la plataforma de implementación nativa 301. De manera similar, la información escrita en la memoria no volátil 510 desde el área 503 de datos de usuario se lee (carga) desde la memoria no volátil 510 según se requiera por medio de la plataforma de implementación nativa 301, y se almacena en el área 503 de datos de usuario.
Con el fin de realizar la función de restablecimiento de la reproducción, se explicará un modelo del reproductor de vídeo UMD construido de acuerdo con una forma de realización de esta invención.
En primer lugar se explicará brevemente la operación de reanudación. La operación para restablecer el estado de reproducción usando la información cuya copia de seguridad se ha guardado en el área 502 de información de reanudación se denomina "reanudación". La "reanudación" se ejecuta con el método "reanudación()".
Más específicamente, en el área 502 de información de reanudación, sobre la información 324 de reanudación, se guarda una copia de seguridad del estado 232B del reproductor del área 501 de estado del reproductor, y de acuerdo con el método "reanudación()", se restablece el estado de reproducción usando la información 324 de reanudación cuya copia de seguridad se ha guardado en el área 502 de información de reanudación. El estado 323B del reproductor constituye el estado del reproductor 300 de películas, es decir, el número de la lista de reproducción, el número de capítulo o el número del flujo seleccionado, reproducido actualmente por el reproductor 300 de películas.
El funcionamiento del reproductor 300 de películas con el método "reanudación()" emitido hacia el mismo varía dependiendo de si existe o no la información 324 de reanudación en el área 502 de información de reanudación. En el caso en el que la información 324 de reanudación exista en el área 502 de información de reanudación, la información 324 de reanudación particular se restablece como estado 323B del reproductor en el área 501 de estado del reproductor. En el proceso, se descarta la información 324 de reanudación en el área 502 de información de reanudación.
En el caso en el que el flujo de reproducción se cambie en el menú al que se accede durante la reproducción del contenido, se usa el método "cambiarInfoReanudación()". Al llevar a cabo la operación de reanudación con el método "reanudación()" después de que la información 324 de reanudación mantenida en el área 502 de información de reanudación se cambie de una manera predeterminada por medio del método "cambiarInfoReanudación()", se puede iniciar la reproducción cambiando el flujo de reproducción.
Al ejecutar el método "reanudación()", se consigue que el reproductor 300 de películas lleve a cabo la operación de reanudación. Como alternativa, se puede realizar la operación de reanudación al ejecutar el método "reproducción()" con un argumento designado después de adquirir la información 324 de reanudación por medio del método "obtenerInfoReanudación()".
Se explicará haciendo referencia a las figuras 39 y 40 la copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación. La figura 39 muestra, entre los cuatro estados definidos por el reproductor 300 de películas, la transición de estado en la cual se realiza una copia de seguridad, en el área 502 de información de reanudación, del estado 323B del reproductor mantenido en el área 502 de información de reanudación. La figura 40 muestra las condiciones según las cuales se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación.
En el caso en el que el reproductor 300 de películas que reproduce en modo normal (estado "Normal,reproducción") para reproducir la lista de reproducción, cambie al estado de parada, se realiza una copia de seguridad, en el área 502 de información de reanudación, del estado 323B del reproductor mantenido en el área 502 de estado del reproductor, y el mismo se mantiene en forma de información 324 de reanudación. Por otro lado, en el estado de parada, una parte del estado 323B del reproductor llega a adoptar un valor indefinido.
Además, con la transición del reproductor 300 de películas desde el estado "Normal,reproducción" al estado "Menú,reproducción", se realiza, en el área 502 de información de reanudación, una copia de seguridad del estado 323B del reproductor mantenido en el área 501 de estado del reproductor.
No obstante, incluso en el caso en el que el reproductor 300 de películas que reproduce la lista de reproducción en el modo menú cambie de estado, no se realiza ninguna copia de seguridad, en el área 502 de información de reanudación, del estado 323B del reproductor mantenido en el área 501 de estado del reproductor.
Específicamente, se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación en forma de la información 324 de reanudación en los siguientes casos:
- (1)
- El estado actual del reproductor 300 de películas es "Normal,Reproducción", y cambia directamente al estado "Menú,Reproducción" por medio de la ejecución del método "reproducción()".
- (2)
- El estado del reproductor 300 de películas es "Normal,Reproducción”, y cambia al estado "Normal,Parada", o “Menú,Parada" por medio de la ejecución del método "parada()". En este caso, el argumento "banderaBorradoInfoReanudación" del método "parada()" tiene el valor "falso".
El estado 323B del reproductor se mantiene (se realiza una copia de seguridad) en el área 502 de información de reanudación con la intención de mantener la posición de retorno en la narración original. Una serie de operaciones que incluyen el salto al menú de imagen dinámica durante la reproducción de la narración original y el retorno nuevamente a la narración original para la reproducción se realiza, por ejemplo, basándose en la suposición del uso de la información 324 de reanudación como datos del estado 323B del reproductor cuya copia de seguridad se ha guardado en el área 502 de información de reanudación.
Durante la reproducción de la narración original, es decir, en el caso en el que el reproductor 300 de películas esté en el estado "Normal,Reproducción", la información 324 de reanudación en el área 502 de información de reanudación se descarta. Con la transición del reproductor 300 de películas desde el estado "Normal,Reproducción" a otro estado, se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación en la información 324 de reanudación.
Tal como se ha descrito anteriormente, con el fin de lograr la reproducción de la reanudación, se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación, o la información 324 de reanudación en el área 502 de información de reanudación se descarta apropiadamente de acuerdo con la transición de estado del reproductor 300 de películas. Además, tras la designación del método "reanudación()" en la capa de script 302, la información 324 de reanudación, en el caso de que exista en el área 502 de información de reanudación, se restablece en el área 501 de estado del reproductor al estado 323B del reproductor.
La información 324 de reanudación en el área 502 de información de reanudación se puede leer usando el método "obtenerInfoReanudación()" desde la capa de script 302. Los parámetros relacionados con el flujo en la información 324 de reanudación en el área 502 de información de reanudación se pueden cambiar por medio del método "cambiarInfoReanudación()". Además por medio de la designación con el argumento del método "parada()", la información 324 de reanudación en el área 502 de información de reanudación se puede descartar.
Se explican en referencia a las figuras 41 a 44 el restablecimiento de la información 324 de reanudación mantenida en el área 502 de información de reanudación al área 501 de estado del reproductor y el descarte de la misma. La información 324 de reanudación mantenida como una posición de retorno en la narración original se descarta después de que el reproductor 300 de películas vuelva a la reproducción de la narración original, es decir, al estado "Normal,Reproducción". En el proceso, la información 324 de reanudación se puede descartar o bien después de ser restablecida como estado 323B del reproductor en el área 501 de estado del reproductor o bien sin ser restablecida.
Específicamente, en este modelo, una vez que el reproductor 300 de películas vuelve al estado "Normal,Reproducción", se descarta la información 324 de reanudación en el área 502 de información de reanudación. Al mismo tiempo, en el caso en el que el reproductor 300 de películas satisfaga condiciones predeterminadas, la información 324 de reanudación en el área 502 de información de reanudación se descarta después de ser restablecida al área 501 de estado del reproductor. En el caso en el que la información 324 de reanudación se restablezca en el área 501 de estado del reproductor, la reproducción se inicia desde el punto designado por la información 324 de reanudación. Esto se corresponde con la reproducción de reanudación.
La figura 41 muestra la transición de estado entre los cuatro estados definidos por el reproductor 300 de películas, en los cuales la información 324 de reanudación se restablece en el área 501 de estado del reproductor y a continuación se descarta.
En el caso en el que se satisfagan las tres condiciones descritas a continuación en (1) a (3), la información 324 de reanudación se descarta después de ser restablecida.
- (1)
- El estado actual del reproductor 300 de películas es "Menú,Parada", "Normal,Parada" o "Menú,Reproducción".
- (2)
- La información 324 de reanudación existe dentro del área 502 de información de reanudación.
- (3)
- Al ejecutar el método "reanudación()", se consigue la transición al estado "Normal,Reproducción".
La figura 42 muestra estas condiciones en conjunto. En el caso en el que el reproductor 300 de películas esté en el estado "Normal,Reproducción", la información 324 de reanudación no existe, y por lo tanto, no se define en la figura 42.
Por otro lado, tras la ejecución del método "reanudación()" mientras la información 324 de reanudación existe en el área 502 de información de reanudación, el estado del reproductor 300 de películas se cambia al estado "Normal,Reproducción". Además, en ausencia de la información 324 de reanudación en el área 502 de información de reanudación, el método "reanudación()" no cambia el estado del reproductor 300 de películas. En este momento, prevalece el estado "Modo,Estado" inmediatamente anterior a la ejecución del método "reanudación()" y no se cambia tampoco el estado 323B del reproductor.
Por otro lado, una vez que se satisface la totalidad de las tres condiciones descritas en (4) a (6), la información 324 de reanudación se descarta sin ser restablecida.
- (4)
- El estado actual del reproductor 300 de películas es "Menú,Parada", "Normal,Parada" o "Menú,Reproducción".
- (5)
- La información 324 de reanudación existe en el área 502 de información de reanudación.
- (6)
- El estado se cambia a "Normal,Reproducción" por medio de la ejecución del método "Reproducción()".
La figura 43 muestra estas condiciones en conjunto. En el caso en el que el reproductor 300 de películas esté en "Normal,Reproducción", la información 324 de reanudación no existe en el área 502 de información de reanudación y por lo tanto no se define en la figura 43.
En ausencia de la información 324 de reanudación, se considera que el estado del reproductor 300 de películas se cambia a "Normal,Reproducción" por medio de la ejecución del método "reproducción()". Como consecuencia, se mantiene la situación en la que se carece de la información 324 de reanudación.
La información 324 de reanudación en el área 502 de información de reanudación se puede descartar también al fijar el argumento del método "parada()". Específicamente, de acuerdo con una forma de realización de la invención, el argumento "banderaBorradoInfoReanudación" del método "parada()" se define como un argumento del método "parada()" para determinar si se debe descartar o no la información 324 de reanudación en el área 502 de información de reanudación. Como se muestra en la figura 44, la información 324 de reanudación se descarta en el caso en el que se designe el valor "Verdadero" para el argumento "banderaBorradoInfoReanudación" en el momento de ejecutar el método "parada()".
En el caso en el que la narración original de la película se reproduzca hasta el final y se detenga el reproductor 300 de películas, por ejemplo, la última posición de la narración original de la película se graba como la información 324 de reanudación. Tras la reproducción subsiguiente (reproducción continua) por parte del usuario, el proceso realiza un salto al final de la narración original de la película y entra en pausa de forma inadecuada para el funcionamiento.
Una mejora de este problema requiere unos medios para descartar la información 324 de reanudación grabada automáticamente en la definición del modelo. La posición del final de la narración original de una película no está en conocimiento más que del productor del contenido. Por lo tanto, se utilizan unos medios en los cuales el descarte de la información 324 de reanudación se puede designar mediante el argumento "banderaBorradoInfoReanudación" del método "parada()" para el reproductor 300 de películas desde el programa de script 500.
La figura 45 muestra un ejemplo del funcionamiento del reproductor de vídeo UMD usando el argumento "banderaBorradoInfoReanudación" del método "parada()". En la figura 45, las etapas S50 a S54 indican el proceso por parte de la capa de script 302, y las etapas S60 a S64 el proceso por parte del reproductor 300 de películas.
Con la llegada de la reproducción al final de la lista de reproducción (etapa S60), el reproductor 300 de películas notifica el evento "finListaReproducción" a la capa de script 302 (etapa S61). El reproductor 300 de películas, mientras continúa visualizando la última imagen de la lista de reproducción reproducida hasta el final en la etapa S60, cambia el estado a pausa (etapa S62).
En respuesta al evento "finListaReproducción", el reproductor 302 de script ejecuta el gestor de eventos "enFinListaReproducción" (etapa S50). La siguiente etapa S51 determina si la lista de reproducción notificada del evento "finListaReproducción" es o no la última del escenario del autor. El que una lista de reproducción dada sea o no la última del escenario, se puede determinar, por ejemplo, basándose en el programa de script 500.
Tras la determinación de que la lista de reproducción no es la última, el proceso prosigue hacia la etapa S53, en la cual el argumento "banderaBorradoInfoReanudación" del método "parada()” se convierte al valor "falso" y se emite hacia el reproductor 300 de películas el método "parada()" para no descartar la información 324 de reanudación. Tras la recepción de este método "parada()", el reproductor 300 de películas cambia de estado al estado de parada, mientras que se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación.
Por otro lado, tras la determinación en la etapa S51 de que se alcanza el final del escenario en la capa de script 302, el proceso prosigue hacia la etapa S52, y el valor del argumento "banderaBorradoInfoReanudación" del método "parada()" se fija a "Verdadero". A continuación, el método "parada()" para descartar la información 324 de reanudación se notifica al reproductor 300 de películas. Tras la recepción del método "parada()", el reproductor 300 de películas cambia al estado de parada, mientras se descarta la información 324 de reanudación en el área 502 de información de reanudación.
En la capa de script 302, se ejecuta el método "fin()" después de la etapa S52 dependiendo de la descripción del programa de script 500.
A continuación, se explicará el ciclo vital del estado 323B del reproductor, la información 324 de reanudación y los datos de usuario.
La figura 46 muestra un ejemplo del ciclo vital del estado 323B del reproductor. En el momento de la generación del reproductor 300 de películas también se genera el estado 323B del reproductor. Una vez que se ha extinguido el reproductor 300 de películas, también lo hace el estado 323B del reproductor. El estado 323B del reproductor se inicializa en el momento de la generación. En el momento de la generación, la propiedad que indica el estado del reproductor 300 de películas representa el "estado de parada" y las otras propiedades no están definidas. El valor del estado 323B del reproductor cambia con el cambio en el estado de reproducción en el reproductor 300 de películas. Además, el valor del estado 323B del reproductor se cambia con el restablecimiento del contenido del área 502 de información de reanudación. Además, el estado 323B del reproductor se puede leer por medio del método "obtenerEstadoReproductor()” desde la capa de script 302.
Una forma particular en la cual se debe almacenar el estado 323B del reproductor depende del montaje del reproductor 300 de películas. Siempre y cuando se pueda adquirir la información por medio del método "obtenerEstadoReproductor()" desde el script, la información se puede mantener en cualquier forma.
Las figuras 47A y 47B muestran un ejemplo del ciclo vital de la información 324 de reanudación. En el momento de generar el reproductor 300 de películas, el área de memoria de la información de reanudación se asegura y se inicializa con la generación de la información 324 de reanudación. Una vez que se ha inicializado el área de memoria, se descarta el contenido de la información 324 de reanudación. El reproductor de vídeo UMD que tiene la memoria no volátil montada en el mismo carga la información 324 de reanudación desde la memoria no volátil en el momento de inicializar el reproductor 300 de películas. Al mismo tiempo, se cargan los datos de usuario.
Cuando el estado del reproductor 300 de películas se transfiere de "Normal,Reproducción" a otro estado, se realiza una copia de seguridad del estado 323B del reproductor en el área 502 de información de reanudación.
Los parámetros "númeroVídeo", "númeroAudio", "banderaAudio", "númeroSubtítulos" y "banderaSubtítulos" relacionados con el flujo en la información 324 de reanudación se pueden cambiar por medio del método "cambiarInfoReanudación()" desde la capa de script 302.
En el reproductor 300 de películas, el contenido de la información 324 de reanudación se descarta cuando se inicia la reproducción de la lista de reproducción en modo normal. La información 324 de reanudación se puede restablecer o no al estado 323B del reproductor antes del descarte. Además, tras la ejecución del método "parada()" con el argumento "banderaBorradoInfoReanudación" fijado a un valor "Verdadero", el contenido de la información 324 de reanudación se descarta.
Tras la ejecución del método "reanudación()" en presencia de la información 324 de reanudación, la información 324 de reanudación se restablece al estado 323B del reproductor.
El valor de la información 324 de reanudación se puede leer por medio del método "obtenerInfoReanudación()" desde la capa de script 302. Al leer la información 324 de reanudación en el estado de descarte, el valor "0" se devuelve como un valor de retorno "reproducciónEstado", y por lo tanto, se puede determinar la presencia o ausencia de la información 324 de reanudación.
Al final (tras la extinción) del reproductor 300 de películas, la información 324 de reanudación también se extingue. El reproductor de vídeo UMD con la memoria no volátil montada en el mismo memoriza la información 324 de reanudación en la memoria no volátil al final (tras la extinción) del reproductor 300 de películas. En el proceso, se memorizan al mismo tiempo los datos de usuario.
La figura 48 muestra un ejemplo del ciclo vital de los datos de usuario. En el momento de la generación del reproductor 300 de películas, se asegura el área de memoria, y se generan los datos de usuario. El reproductor 300 de películas se inicializa al mismo tiempo que la generación del mismo. Una vez inicializado, el contenido de los datos de usuario se borra (la disposición con longitud "0" se restablece por medio del método "obtenerDatosUsuario()"). El reproductor de vídeo UMD con la memoria no volátil montada en el mismo carga los datos de usuario desde la memoria no volátil en el momento de la inicialización del reproductor 300 de películas. En el proceso, se carga al mismo tiempo la información de reanudación.
Tras la ejecución del método "fijarDatosUsuario()”, los datos de usuario se escriben en el área 503 de datos de usuario. En el área 503 de datos de usuario se mantiene la disposición que tiene la longitud de datos máxima de 64 bits por medio del método "fijarDatosUsuario()". Los datos en el área 503 de datos de usuario se pueden leer por medio del método "obtenerDatosUsuario()" desde la capa de script
302. En el caso en el que no se fijen los datos de usuario, se devuelve la disposición con longitud 0.
No existe ningún método disponible para borrar el contenido del área 503 de datos de usuario desde la capa de script 302. El contenido se puede volver a escribir al escribir encima del área 503 de datos de usuario.
Al final (tras la extinción) del reproductor 300 de películas, el área 503 de datos de usuario también se extingue. Al final (tras la extinción) del reproductor 300 de películas, el reproductor de vídeo UMD que tiene la memoria no volátil montada en el mismo memoriza en la memoria no volátil los datos mantenidos en el área 503 de datos de usuario. En el proceso, se memoriza al mismo tiempo la información 324 de reanudación.
La descripción anterior trata sobre una aplicación de la invención en el aparato 100 de reproducción de discos para procesar el flujo de audio y el flujo de vídeo al mismo tiempo. Sin embargo, la invención no se limita a esta configuración. Alternativamente se puede reproducir solamente el flujo de audio, o solamente el flujo de vídeo de acuerdo con esta invención.
Además, la descripción anterior trata el soporte de grabación de disco usado como soporte de grabación para grabar los datos de contenido, y la invención no se limita a esta configuración. Para grabar los datos de contenido se puede usar como soporte de grabación, por ejemplo, una memoria de semiconductores.
Además, a pesar de la descripción anterior en la que el aparato 100 de reproducción de discos de acuerdo con la invención presenta una configuración de hardware dedicada, la invención no se limita a dicha configuración. Específicamente, se puede realizar una configuración del aparato 100 de reproducción de discos diferente a la unidad de disco, también mediante software que se hace funcionar sobre el sistema informático. En tal caso, el software para realizar el aparato 100 de reproducción de discos se puede suministrar grabándolo en un soporte de grabación tal como un CD-ROM (disco compacto-memoria de solo lectura) o DVD-ROM (disco digital versátil-ROM). El soporte de grabación que tiene grabado en el mismo el software para implementar el aparato 100 de reproducción de discos se carga en la unidad de disco del sistema informático, y el software particular grabado en el soporte de grabación se instala en el sistema informático. Se puede lograr una configuración equivalente al aparato 100 de reproducción de discos conectando la unidad controladora de disco para UMD al sistema informático. El soporte de grabación que tiene grabado en el mismo el contenido de vídeo UMD se puede proporcionar junto con el software particular grabado en el mismo.
DESCRIPCIÓN DE REFERENCIAS NUMÉRICAS
113 MEMORIA
116 DECODIFICADOR DE VÍDEO
117 DECODIFICADOR DE AUDIO
118 INTERFAZ DE SALIDA DE VÍDEO
119 INTERFAZ DE SALIDA DE AUDIO
211 MÓDULO DE CONTROL DE SCRIPT
212 MÓDULO DE CONTROL DEL REPRODUCTOR
215 MÓDULO DE CONTROL DE MEMORIA INTERMEDIA
216 MÓDULO DE CONTROL DEL DECODIFICADOR DE VÍDEO
217 MÓDULO DE CONTROL DEL DECODIFICADOR DE AUDIO
218 MÓDULO DE CONTROL DEL DECODIFICADOR DE SUBTÍTULOS
219 MÓDULO DE CONTROL DE GRÁFICOS
242 MÓDULO DE SALIDA DE AUDIO
301 PLATAFORMA DE IMPLEMENTACIÓN NATIVA
302 CAPA DE SCRIPT
311 ORDEN DE CONTROL
312 EVENTO
313 MÉTODO
321 MÓDULO DE REPRODUCCIÓN
322 MOTOR DE DECODIFICADOR
323 PROPIEDAD
323B ESTADO DE REPRODUCTOR
501 ÁREA DE ESTADO DEL REPRODUCTOR 502 ÁREA DE INFORMACIÓN DE REANUDACIÓN 503 ÁREA DE DATOS DE USUARIO 510 MEMORIA NO VOLÁTIL
S11 SE GENERA "uo_reproducciónCapítuloSiguiente()" POSICIÓN DE SIGUIENTE MARCA DE CAPÍTULO CONOCIDA A PARTIR DE LA BASE DE
S12
DATOS DE LISTAS DE REPRODUCCIÓN S13 ¿EXISTE UNA MARCA DE CAPÍTULO SUCESIVA? S14 SUSPENDER REPRODUCCIÓN ACTUAL
SALTAR A POSICIÓN INDICADA POR SIGUIENTE MARCA DE CAPÍTULO E INICIAR S15
REPRODUCCIÓN DE VÍDEO
S17 MARCA
NÚMERO DE CAPÍTULO CONOCIDO A PARTIR DE INFORMACIÓN NOTIFICADA CUANDO S18
SE GENERA EL EVENTO
S19 VISUALIZAR MENSAJE QUE INDICA ENCABEZAMIENTO DE CAPÍTULO S20 FINALIZAR EJECUCIÓN DEL GESTOR DE EVENTOS S30 INICIAR EJECUCIÓN DEL GESTOR DE EVENTOS "enFinListaReproducción". S31 SE DESIGNA EL MÉTODO "parada()" POR MEDIO DEL GESTOR DE EVENTOS
"enFinListaReproducción".
"reproducción(modoPausa, modoMenú, NúmeroListaReproducción)" DESIGNADO POR GESTOR
S32 DE EVENTOS "enFinListaReproducción".
S40 LISTA DE REPRODUCCIÓN REPRODUCIDA HASTA EL FINAL
S41 EL REPRODUCTOR DE PELÍCULAS TRANSMITE EL EVENTO "FinListaReproducción" HACIA EL SCRIPT
EL REPRODUCTOR DE PELÍCULAS REALIZA UNA TRANSICIÓN A PAUSA MIENTRAS SE
S42
VISUALIZA ÚLTIMA IMAGEN DE LA LISTA DE REPRODUCCIÓN
EL REPRODUCTOR DE PELÍCULAS REALIZA UNA TRANSICIÓN AL ESTADO DE PARADA. S43 SE DETIENE LA VISUALIZACIÓN DE LA ÚLTIMA IMAGEN (APARECE LA PANTALLA NEGRA).
EL REPRODUCTOR DE PELÍCULAS INICIA LA REPRODUCCIÓN DE LA LISTA DE
S44
REPRODUCCIÓN DESIGNADA. S50 INICIAR EJECUCIÓN DEL GESTOR DE EVENTOS "enFinListaReproducción". S51 ¿FINAL DEL ESCENARIO DEL AUTOR?
S52 EMITIR "parada()" PARA DESCARTAR INFORMACIÓN DE REANUDACIÓN HACIA ELREPRODUCTOR DE PELÍCULAS.
S53 EMITIR "parada()" PARA NO DESCARTAR INFORMACIÓN DE REANUDACIÓN HACIA EL REPRODUCTOR DE PELÍCULAS.
DEPENDIENDO DE LA DESCRIPCIÓN DEL SCRIPT, EJECUTAR EN ESTE MOMENTOS54 MÉTODO "fin()").
S61 NOTIFICAR EVENTO "FinListaReproducción" AL SCRIPT
S62 PAUSA MIENTRAS SE VISUALIZA ÚLTIMA IMAGEN DE LA LISTA DE REPRODUCCIÓN.
EL REPRODUCTOR DE PELÍCULAS REALIZA UNA TRANSICIÓN AL ESTADO DE PARADA. SE S63 BORRA LA INFORMACIÓN DE REANUDACIÓN.
EL REPRODUCTOR DE PELÍCULAS REALIZA UNA TRANSICIÓN AL ESTADO DE PARADA. SE S64 REALIZA UNA COPIA DE SEGURIDAD DEL ESTADO DEL REPRODUCTOR COMO
INFORMACIÓN DE REANUDACIÓN.
Claims (12)
- REIVINDICACIONES1. Aparato de reproducir datos de contenido grabados en un soporte de grabación, que comprende:unos medios de lectura (102, 112, 114) para leer datos desde un soporte de grabación que tiene grabados en el mismo datos de contenido que incluyen por lo menos uno de un flujo de vídeo y un flujo de audio y un programa de control de reproducción (500) para controlar la reproducción de los datos de contenido;unos medios reproductores (300) para reproducir los datos de contenido de acuerdo con el programa de control de reproducción; yunos medios de salida de órdenes de control (301) para suministrar a los medios reproductores una orden de control (311) correspondiente a un accionamiento (310) del usuario,en el que los medios reproductores (300) controlan la reproducción de los datos de contenido basándose en cuatro estados definidos por combinaciones de dos estados clasificados de acuerdo a si se reproducen o no los datos de contenido y dos estados clasificados de acuerdo a si los medios reproductores aceptan o ignoran la orden de control de los medios de salida de órdenes de control (301), en donde cuando los medios reproductores están en el estado en el que los medios reproductores ignoran la orden de control, el accionamiento del usuario se suministra a través del programa de control de reproducción, y en donde cualquier transición de estado entre los cuatro estados de los medios reproductores es provocada por el programa de control de reproducción y no es provocada por la orden de control; comprendiendo además dicho aparato de reproducción:unos primeros medios de almacenamiento (323) para almacenar información del estado de reproducción que indica un estado de los datos del contenido durante la reproducción por parte de los medios reproductores; yunos segundos medios de almacenamiento (324) para guardar una copia de seguridad de la información del estado de reproducción almacenada en los primeros medios de almacenamiento,caracterizado porque se guarda una copia de seguridad, en los segundos medios de almacenamiento (324), de la información del estado de reproducción almacenada en los primeros medios de almacenamiento (323), y la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324) se restablece en los primeros medios de almacenamiento (323) junto con la transición de estados entre los cuatro estados de los medios reproductores.
-
- 2.
- Aparato de reproducción según la reivindicación 1, caracterizado porque la transición de estado entre los cuatro estados de los medios reproductores no es provocada voluntariamente por los medios reproductores.
-
- 3.
- Aparato de reproducción según la reivindicación 1, caracterizado porque los medios reproductores (300) están en un estado que no genera los datos de contenido y no acepta la orden de control desde los medios de salida de órdenes de control inmediatamente después de la inicialización.
-
- 4.
- Aparato de reproducción según la reivindicación 1, caracterizado porque la operación de copia de seguridad se realiza en el momento de la transición de estado de los medios reproductores desde el estado en el que se acepta la orden de control y se reproducen los datos de contenido a otro estado.
-
- 5.
- Aparato de reproducción según la reivindicación 1, caracterizado porque el restablecimiento se realiza en el momento de la transición de estado de los medios reproductores (300) al estado en el que se acepta la orden de control y se reproducen los datos de contenido.
-
- 6.
- Aparato de reproducción según la reivindicación 1, caracterizado porque la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324) se descarta después del restablecimiento en el caso en el que el restablecimiento se realiza junto con la transición de estado basándose en una instrucción del programa de control de reproducción para restablecer la reproducción de los datos de contenido usando la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324).
-
- 7.
- Aparato de reproducción según la reivindicación 1, caracterizado porque la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324) se descarta en el caso en el que, basándose en una instrucción del programa de control de reproducción para reproducir los datos del contenido, los medios reproductores realizan una transición al estado en el que se acepta la orden de control y se reproducen los datos del contenido.
-
- 8.
- Aparato de reproducción según la reivindicación 1, caracterizado porque se añade información, sobre si se va a descartar o no la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento (324), a la instrucción del programa de control de reproducción para los medios reproductores con el fin de detener la reproducción del contenido.
-
- 9.
- Método de reproducción para reproducir datos de contenido grabados en un soporte de grabación, en el que
la reproducción de datos de contenido por parte de unos medios reproductores (300) según un programa de control de reproducción (500) leído desde el soporte de grabación que tiene grabados en el mismo los datos de contenido que incluyen por lo menos uno de entre un flujo de vídeo y un flujo de audio y el programa de control de reproducción para controlar la reproducción de los datos de control, se controla basándose en cuatro estados de los medios reproductores (300) definidos por combinaciones de dos estados clasificados según si los datos de contenido se reproducen o no y dos estados clasificados según si los medios reproductores aceptan o ignoran la orden de control correspondiente a una operación del usuario, en donde, cuando los medios reproductores están en el estado en el que los medios reproductores ignoran la orden de control, el accionamiento del usuario se suministra al programa de control de reproducción, y siendo provocada cualquier transición de estado entre los cuatro estados de los medios reproductores por el programa de control de reproducción y no siendo provocada por la orden de control; caracterizado porque:en unos primeros medios de almacenamiento, se almacena información del estado de reproducción que indica un estado de los datos del contenido durante la reproducción por parte de los medios reproductores;en unos segundos medios de almacenamiento, se guarda una copia de seguridad de la información del estado de reproducción almacenada en los primeros medios de almacenamiento; yse guarda una copia de seguridad, en los segundos medios de almacenamiento, de la información del estado de reproducción almacenada en los primeros medios de almacenamiento, y la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento se restablece en los primeros medios de almacenamiento junto con la transición de estados entre los cuatro estados de los medios reproductores. -
- 10.
- Programa de reproducción para conseguir que un sistema informático ejecute el método de reproducción según la reivindicación 9.
-
- 11.
- Soporte de grabación legible por ordenador que tiene grabado en el mismo el programa de reproducción según la reivindicación 10.
-
- 12.
- Soporte de grabación legible por ordenador según la reivindicación 11, caracterizado porque el programa de reproducción se ejecuta de tal manera que la información sobre si se va a descartar o no la información del estado de reproducción cuya copia de seguridad se ha guardado en unos segundos medios de almacenamiento se añade a la instrucción de parada de reproducción del contenido proporcionada a los medios reproductores en los cuales la transición de estado entre los cuatro estados de los medios reproductores está acompañada por la operación de copia de seguridad, en la que se guarda una copia de seguridad, en los segundos medios de almacenamiento, de la información del estado de reproducción que indica el estado de los datos de contenido reproducidos actualmente y almacenados en unos primeros medios de almacenamiento, y la operación de restablecimiento en la que la información del estado de reproducción cuya copia de seguridad se ha guardado en los segundos medios de almacenamiento se restablece en los primeros medios de almacenamiento.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004350193A JP4879480B2 (ja) | 2004-12-02 | 2004-12-02 | 再生装置、再生方法および再生プログラム、記録媒体、ならびに、データ構造体 |
| JP2004-350193 | 2004-12-02 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2354368T3 true ES2354368T3 (es) | 2011-03-14 |
Family
ID=36564918
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES05806735T Expired - Lifetime ES2354368T3 (es) | 2004-12-02 | 2005-11-10 | Copia de seguridad de un programa de contenido de dvd que incluye 4 estados de control del dispositivo de reproducción, y guión de estrucciones (script) de control. |
Country Status (13)
| Country | Link |
|---|---|
| US (1) | US8369683B2 (es) |
| EP (1) | EP1818932B1 (es) |
| JP (1) | JP4879480B2 (es) |
| KR (1) | KR101235466B1 (es) |
| CN (1) | CN101111895B (es) |
| AT (1) | ATE484828T1 (es) |
| AU (1) | AU2005310796B2 (es) |
| DE (1) | DE602005024163D1 (es) |
| ES (1) | ES2354368T3 (es) |
| MX (1) | MX2007006428A (es) |
| PL (1) | PL1818932T3 (es) |
| TW (1) | TW200639811A (es) |
| WO (1) | WO2006059483A1 (es) |
Families Citing this family (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2001093226A (ja) | 1999-09-21 | 2001-04-06 | Sony Corp | 情報通信システムおよび方法、ならびに、情報通信装置および方法 |
| US20100054096A1 (en) * | 2006-12-05 | 2010-03-04 | Jiro Kiyama | Reproduction apparatus, control program, recording medium, and control method for controlling reproduction of content |
| US9977721B2 (en) | 2007-12-20 | 2018-05-22 | Netapp, Inc. | Evaluating and predicting computer system performance using kneepoint analysis |
| US8805647B2 (en) * | 2007-12-20 | 2014-08-12 | Netapp, Inc. | Evaluating and predicting computer system performance using kneepoint analysis |
| CN102067591B (zh) * | 2008-06-26 | 2014-03-19 | 松下电器产业株式会社 | 再现装置、记录装置、再现方法及记录方法 |
| EP2329493A1 (en) * | 2008-08-29 | 2011-06-08 | Nxp B.V. | Signal processing arrangement and method with adaptable signal reproduction rate |
| JP4543107B2 (ja) * | 2008-08-29 | 2010-09-15 | 株式会社東芝 | 映像音声再生装置および映像音声再生方法 |
| JP5216865B2 (ja) * | 2008-10-24 | 2013-06-19 | パナソニック株式会社 | Bd再生システム、bd再生装置、表示装置及びコンピュータプログラム |
| WO2010050050A1 (ja) * | 2008-10-31 | 2010-05-06 | パイオニア株式会社 | 記録媒体再生装置、記録媒体再生方法、記録媒体再生プログラムおよび記録媒体再生プログラムを格納した記録媒体 |
| WO2010050051A1 (ja) * | 2008-10-31 | 2010-05-06 | パイオニア株式会社 | 記録媒体再生装置、記録媒体再生方法、記録媒体再生プログラムおよび記録媒体再生プログラムを格納した記録媒体 |
| US8737806B2 (en) * | 2008-11-13 | 2014-05-27 | Mitsubishi Electric Corporation | Reproduction device and reproduction method |
| IT1399311B1 (it) * | 2010-04-07 | 2013-04-16 | Magneti Marelli Spa | Metodo per determinare l'istante di chiusura di un iniettore elettromagnetico di carburante |
| JP5488180B2 (ja) * | 2010-04-30 | 2014-05-14 | ソニー株式会社 | コンテンツ再生装置、制御情報提供サーバ、及びコンテンツ再生システム |
| EP3441971A1 (en) * | 2010-08-04 | 2019-02-13 | Nero Ag | Multi-language buffering during media playback |
| CN103875249B (zh) | 2011-08-09 | 2018-05-04 | 三星电子株式会社 | 用于多视点视频预测编码的方法和装置以及用于多视点视频预测解码的方法和装置 |
| JP5194160B1 (ja) * | 2011-10-19 | 2013-05-08 | 東芝テック株式会社 | 情報処理装置、情報処理方法及びプログラム |
| US9344755B2 (en) * | 2013-09-30 | 2016-05-17 | Sonos, Inc. | Fast-resume audio playback |
| EP2866107B1 (de) * | 2013-10-25 | 2020-12-09 | Siemens Aktiengesellschaft | Verfahren zum Wiedergeben des Ablaufs eines Programms eines Automatisierungsgerätes |
| CN106341730B (zh) * | 2015-07-14 | 2019-06-07 | 北京国双科技有限公司 | 多媒体状态的识别方法、装置及系统 |
| CN105472456B (zh) * | 2015-11-27 | 2019-05-10 | 北京奇艺世纪科技有限公司 | 一种视频播放方法及装置 |
| CN105430509B (zh) * | 2015-11-27 | 2018-10-30 | 北京奇艺世纪科技有限公司 | 一种多媒体文件播放方法及装置 |
| CN105657518A (zh) * | 2016-02-04 | 2016-06-08 | 厦门幻世网络科技有限公司 | 一种播放动画的方法及装置 |
| US11342002B1 (en) * | 2018-12-05 | 2022-05-24 | Amazon Technologies, Inc. | Caption timestamp predictor |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4363671B2 (ja) * | 1997-03-20 | 2009-11-11 | ソニー株式会社 | データ再生装置及びデータ再生方法 |
| JP2003249057A (ja) * | 2002-02-26 | 2003-09-05 | Toshiba Corp | デジタル情報媒体を用いるエンハンスド・ナビゲーション・システム |
| KR101023699B1 (ko) * | 2002-12-05 | 2011-03-25 | 엘지전자 주식회사 | 대화형 광디스크 장치에서의 재생 제어방법 |
| EP1551027A4 (en) * | 2002-09-12 | 2009-08-05 | Panasonic Corp | RECORDING MEDIUM, REPRODUCTION DEVICE, PROGRAM, REPRODUCTION METHOD AND RECORDING METHOD |
| JP3858151B2 (ja) | 2002-10-01 | 2006-12-13 | パイオニア株式会社 | 情報記録媒体、情報記録装置及び方法、情報再生装置及び方法、情報記録再生装置及び方法、記録又は再生制御用のコンピュータプログラム、並びに制御信号を含むデータ構造 |
| JP4228767B2 (ja) * | 2003-04-25 | 2009-02-25 | ソニー株式会社 | 再生装置、再生方法、再生プログラムおよび記録媒体 |
-
2004
- 2004-12-02 JP JP2004350193A patent/JP4879480B2/ja not_active Expired - Fee Related
-
2005
- 2005-11-10 DE DE602005024163T patent/DE602005024163D1/de not_active Expired - Lifetime
- 2005-11-10 AU AU2005310796A patent/AU2005310796B2/en not_active Ceased
- 2005-11-10 EP EP05806735A patent/EP1818932B1/en not_active Expired - Lifetime
- 2005-11-10 AT AT05806735T patent/ATE484828T1/de active
- 2005-11-10 PL PL05806735T patent/PL1818932T3/pl unknown
- 2005-11-10 ES ES05806735T patent/ES2354368T3/es not_active Expired - Lifetime
- 2005-11-10 CN CN2005800476765A patent/CN101111895B/zh not_active Expired - Fee Related
- 2005-11-10 KR KR1020077012539A patent/KR101235466B1/ko not_active Expired - Fee Related
- 2005-11-10 US US11/720,609 patent/US8369683B2/en not_active Expired - Fee Related
- 2005-11-10 MX MX2007006428A patent/MX2007006428A/es active IP Right Grant
- 2005-11-10 WO PCT/JP2005/021075 patent/WO2006059483A1/ja not_active Ceased
- 2005-11-24 TW TW094141319A patent/TW200639811A/zh not_active IP Right Cessation
Also Published As
| Publication number | Publication date |
|---|---|
| MX2007006428A (es) | 2007-07-20 |
| US20090279867A1 (en) | 2009-11-12 |
| AU2005310796B2 (en) | 2011-03-10 |
| TWI328801B (es) | 2010-08-11 |
| HK1106317A1 (en) | 2008-03-07 |
| CN101111895B (zh) | 2012-06-13 |
| US8369683B2 (en) | 2013-02-05 |
| TW200639811A (en) | 2006-11-16 |
| AU2005310796A1 (en) | 2006-06-08 |
| JP2006164328A (ja) | 2006-06-22 |
| PL1818932T3 (pl) | 2011-05-31 |
| CN101111895A (zh) | 2008-01-23 |
| JP4879480B2 (ja) | 2012-02-22 |
| EP1818932B1 (en) | 2010-10-13 |
| KR20070085697A (ko) | 2007-08-27 |
| EP1818932A4 (en) | 2008-03-19 |
| ATE484828T1 (de) | 2010-10-15 |
| DE602005024163D1 (de) | 2010-11-25 |
| EP1818932A1 (en) | 2007-08-15 |
| WO2006059483A1 (ja) | 2006-06-08 |
| KR101235466B1 (ko) | 2013-02-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2354368T3 (es) | Copia de seguridad de un programa de contenido de dvd que incluye 4 estados de control del dispositivo de reproducción, y guión de estrucciones (script) de control. | |
| KR101089974B1 (ko) | 재생 장치, 재생 방법, 및 기록 매체 | |
| KR101143252B1 (ko) | 재생 장치, 재생 방법 및 기록 매체 | |
| JP4332089B2 (ja) | 再生装置、再生方法および再生プログラム、ならびに、記録媒体 | |
| JPWO1997037491A1 (ja) | インタラクティブな再生進行の性能を向上させたマルチメディア光ディスク、再生装置および再生方法 | |
| CN1965365B (zh) | 数据处理设备和数据处理方法 | |
| US20060188229A1 (en) | Information storage medium, information recording method, and information playback method | |
| JP4468796B2 (ja) | 再生装置、再生方法および再生プログラム、ならびに、記録媒体 | |
| CN101044573B (zh) | 再现设备、再现方法、再现程序、记录介质和数据结构 | |
| CN100518277C (zh) | 数据处理装置及数据处理方法 | |
| CN100556116C (zh) | 数据处理设备、数据处理方法、程序、程序记录介质、数据记录介质和数据结构 | |
| CN101002467B (zh) | 数据处理设备和方法 | |
| CN101002268B (zh) | 数据处理设备和数据处理方法 | |
| KR20070028410A (ko) | 데이터 처리 장치 및 데이터 처리 방법, 프로그램 및프로그램 기록 매체, 데이터 기록 매체 및 데이터 구조 | |
| CN100563320C (zh) | 数据处理设备和数据处理方法 | |
| HK1106317B (en) | Backup of a dvd content program including 4 control states of the reproducing device, and control script. | |
| JP2011097614A (ja) | 再生装置、再生方法、記録装置、記録方法および記録媒体 | |
| HK1101950B (en) | Data processing device and data processing method |