ES2650987T3 - Playback device, playback method, playback program and recording medium - Google Patents

Playback device, playback method, playback program and recording medium Download PDF

Info

Publication number
ES2650987T3
ES2650987T3 ES04772199.8T ES04772199T ES2650987T3 ES 2650987 T3 ES2650987 T3 ES 2650987T3 ES 04772199 T ES04772199 T ES 04772199T ES 2650987 T3 ES2650987 T3 ES 2650987T3
Authority
ES
Spain
Prior art keywords
event
player
playback
program
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES04772199.8T
Other languages
Spanish (es)
Inventor
Toshiya Hamada
Motoki Kato
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Application granted granted Critical
Publication of ES2650987T3 publication Critical patent/ES2650987T3/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; 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/32Indexing; 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/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation 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/8205Transformation 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Stored Programmes (AREA)

Abstract

Un aparato de reproducción para reproducir datos de contenido jerárquicamente grabados en un medio de grabación con forma de disco, que comprende: un objeto de reproductor (30) definido por una clase java para controlar un proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco y para generar un evento (312) correspondiente a un cambio predeterminado; medios de entrada de usuario para recibir una entrada de usuario e informar a dicho objeto de reproductor sobre la entrada de usuario, en donde el cambio predeterminado se basa en una entrada para dichos medios de entrada de usuario; y un objeto de programa java (31) formado por encima de dicho objeto de reproductor, en donde el objeto de programa java es un programa superordinado con respecto al objeto de reproductor y controla el objeto de reproductor a través de una interfaz de programación de aplicaciones (32), en donde el objeto de programa java se configura para preparar programas que se ejecutan cuando se informa al objeto de programa java sobre la ocurrencia de eventos; en donde un programa lleva a cabo un proceso correspondiente al evento que tiene lugar; y en donde dicho objeto de reproductor se configura para informar al objeto de programa java sobre la ocurrencia de dicho evento, y para controlar el proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco con dicho proceso correspondiente al evento.A reproduction apparatus for reproducing content data hierarchically recorded on a disc-shaped recording medium, comprising: a player object (30) defined by a java class for controlling a reproduction process for content data hierarchically recorded on the disk-shaped recording medium and to generate an event (312) corresponding to a predetermined change; user input means for receiving a user input and informing said player object about the user input, wherein the default change is based on an input for said user input means; and a java program object (31) formed above said player object, wherein the java program object is a superordinate program with respect to the player object and controls the player object through an application programming interface (32), wherein the java program object is configured to prepare programs that are executed when the java program object is informed about the occurrence of events; where a program carries out a process corresponding to the event that takes place; and wherein said player object is configured to inform the java program object about the occurrence of said event, and to control the playback process for content data hierarchically recorded on the disc-shaped recording medium with said process corresponding to the event.

Description

imagen1image 1

DESCRIPCIÓN DESCRIPTION

Dispositivo de reproducción, método de reproducción, programa de reproducción y medio de grabación. Playback device, playback method, playback program and recording medium.

5 Campo técnico 5 Technical field

La presente invención se refiere a un aparato de reproducción, un método de reproducción, un programa de reproducción y un medio de grabación que permiten al usuario hacer funcionar, de forma interactiva, un programa grabado en un medio de grabación tipo gran capacidad como, por ejemplo, el disco Blu-ray. The present invention relates to a reproduction apparatus, a reproduction method, a reproduction program and a recording medium that allow the user to operate, in an interactive way, a program recorded in a large capacity type recording medium such as, by example, the Blu-ray disc.

Antecedentes de la técnica Prior art

10 En los años recientes, se ha propuesto el estándar de disco Blu-ray como un estándar para un medio de grabación tipo disco que es grabable y separable de un aparato de grabación y reproducción. El estándar de disco Blu-ray establece un disco que tiene un medio de grabación con un diámetro de 12 cm y una capa de cobertura que tiene un grosor de 0,1 mm. El estándar de disco Blu-ray usa como sistemas ópticos un láser púrpura azulado que tiene una longitud de onda de 405 nm y una lente del objetivo que tiene una apertura numérica de 0,85. El estándar de disco 10 In recent years, the Blu-ray disc standard has been proposed as a standard for a disc-type recording medium that is recordable and separable from a recording and playback device. The Blu-ray disc standard establishes a disc that has a recording medium with a diameter of 12 cm and a coverage layer that is 0.1 mm thick. The Blu-ray disc standard uses as optical systems a bluish purple laser that has a wavelength of 405 nm and a lens of the lens that has a numerical aperture of 0.85. The disk standard

15 Blu-ray logra una capacidad de grabación de 27 GB (gigabytes) como máximo. Como resultado, un programa de una transmisión de alta visión digital BS disponible en Japón puede grabarse durante dos horas o más sin deterioro en la calidad de imagen. 15 Blu-ray achieves a recording capacity of 27 GB (gigabytes) maximum. As a result, a program of a BS digital high vision transmission available in Japan can be recorded for two hours or more without deterioration in image quality.

Como fuentes (fuentes de alimentación) de señales AV (Audio/Vídeo) grabadas en el disco óptico grabable, se espera usar una señal analógica de, por ejemplo, una transmisión de televisión analógica convencional y una señal As sources (power supplies) of AV (Audio / Video) signals recorded on the recordable optical disc, it is expected to use an analog signal from, for example, a conventional analog television transmission and a signal

20 digital de, por ejemplo, una transmisión de televisión digital como, por ejemplo, una transmisión digital BS. El estándar de disco Blu-ray ha establecido un subestándar para un método de grabación de señales AV de dichas transmisiones. 20 of, for example, a digital television transmission such as a digital transmission BS. The Blu-ray disc standard has established a sub-standard for a method of recording AV signals from such transmissions.

Como un estándar derivado del actual estándar de Disco Blu-ray, existe un movimiento para desarrollar medios de grabación de solo reproducción en los cuales las películas, música y similares se pregraban. Como medios de As a standard derived from the current Blu-ray Disc standard, there is a movement to develop playback-only recording media in which movies, music and the like are pre-recorded. As means of

25 grabación con forma de disco en los cuales las películas y música se pregraban, se ha usado ampliamente el DVD (disco versátil digital). El disco óptico de solo reproducción según el estándar de disco Blu-ray es en gran parte diferente de y superior al DVD convencional en una gran capacidad de grabación y una alta velocidad de transferencia que permiten que las imágenes de alta visión se graben durante dos horas o más en alta calidad. 25 disc-shaped recording in which movies and music are pre-recorded, the DVD (digital versatile disc) has been widely used. The optical disc of only reproduction according to the standard of disc Blu-ray is largely different from and superior to the conventional DVD in a big capacity of recording and a high speed of transfer that allow that the images of high vision are recorded during two hours or more in high quality.

El estándar de vídeo DVD de solo reproducción logra una función interactiva con imágenes de botones y así The standard DVD video playback only achieves an interactive function with button images and so

30 sucesivamente en una pantalla de menú. Por ejemplo, mientras se reproduce una imagen en movimiento del vídeo DVD, se puede llevar a cabo un proceso que requiere una pantalla de menú con un comandante de mando a distancia o similares, selecciona una imagen de botón en la pantalla de menú y cambia la escena reproducida. 30 successively on a menu screen. For example, while playing a motion picture of the DVD video, a process that requires a menu screen with a remote control commander or the like can be performed, select a button image on the menu screen and change the Played scene

En el caso del vídeo DVD, una pantalla de menú consta de datos de subimagen fijos. Cuando se requiere la pantalla de menú, esta se despliega de tal manera que los datos de subimagen se combinan con los datos de la imagen en In the case of DVD video, a menu screen consists of fixed sub-picture data. When the menu screen is required, it is displayed in such a way that the subimage data is combined with the image data in

35 movimiento. Los datos de la imagen de botón se incluyen en los datos de la subimagen. El documento de la Patente "Japanese Patent Laid-Open Publication No. HEI 10-308924" describe una estructura cuyos datos de subimagen se combinan con los datos de la imagen en movimiento y los datos combinados se graban en un DVD grabable. 35 movement. The data in the button image is included in the sub-picture data. The document of the "Japanese Patent Laid-Open Publication No. HEI 10-308924" discloses a structure whose subimage data is combined with the moving image data and the combined data is recorded on a recordable DVD.

Sin embargo, dado que el estándar de vídeo DVD de solo reproducción establece funciones que usan comandos simples, es difícil lograr funciones interactivas complicadas. Por consiguiente, el creador necesita mucho trabajo However, since the DVD-only video standard sets functions that use simple commands, it is difficult to achieve complicated interactive functions. Therefore, the creator needs a lot of work

40 para lograr las funciones interactivas complicadas con el estándar de vídeo DVD de solo reproducción. 40 to achieve complicated interactive functions with the standard DVD video playback only.

Además, el estándar de vídeo DVD de solo reproducción establece funciones simples de programa con una región de comandos que se ejecutan uno después del otro. Por consiguiente, la programación de múltiples procesos y la programación accionada por evento no se pueden llevar a cabo en el estándar de vídeo DVD de solo reproducción. Aunque el estándar de vídeo DVD no tiene una función que accede a una red como, por ejemplo, Internet, cuando la In addition, the DVD-only video standard sets simple program functions with a region of commands that are executed one after the other. Therefore, multi-process programming and event-driven programming cannot be carried out in the DVD-only playback video standard. Although the DVD video standard does not have a function that accesses a network such as the Internet, when the

45 función de acceso a la red se considera lograda, dado que los tiempos de respuesta de la red y del usuario tienden a ser largos, un proceso de múltiples procesos es muy efectivo como una estructura de sistema para mejorar el rendimiento. The network access function is considered to be achieved, since the response times of the network and the user tend to be long, a multi-process process is very effective as a system structure to improve performance.

Además, en el estándar de vídeo DVD, los comandos se incorporan a un flujo AV (Audio/Vídeo) cuyos datos de vídeo y datos de audio se multiplexan. Mientras el flujo AV se reproduce, los comandos incorporados se extraen de In addition, in the DVD video standard, the commands are incorporated into an AV (Audio / Video) stream whose video data and audio data are multiplexed. While the AV stream is playing, the built-in commands are extracted from

50 allí y se ejecutan. En otras palabras, se lleva a cabo un modelo de funcionamiento como el rastreo de una viña. Por consiguiente, solo cuando el usuario selecciona un botón y ejecuta un comando correspondiente al botón en una pantalla de menú de selección de título o de múltiples niveles que contiene derivaciones, se decide la siguiente función. Por consiguiente, en el estándar de vídeo DVD, las técnicas de procesos de alta velocidad que preleen comandos para la predicción de derivaciones y ejecución especulativa no pueden usarse. 50 there and they run. In other words, a functioning model is carried out such as the tracking of a vineyard. Therefore, only when the user selects a button and executes a command corresponding to the button on a multi-level title selection screen containing derivations, is the following function decided. Therefore, in the DVD video standard, high-speed process techniques that provide commands for derivation prediction and speculative execution cannot be used.

imagen2image2

Además, desde el punto de vista de autoría, que crea discos, el estándar de vídeo DVD de solo reproducción tiene desventajas. Ahora, se supone un botón diseñado para aparecer en un momento predeterminado en un flujo AV y la temporización se mueve hacia adelante o hacia atrás en el eje temporal. Por ejemplo, como se muestra en la Figura 1, los botones designados para aparecer después de la aparición del botón de hora de inicio t1 hasta la aparición del In addition, from the point of view of authorship, which creates discs, the standard of DVD-only video playback has disadvantages. Now, a button designed to appear at a predetermined moment in an AV flow is assumed and the timing moves forward or backward on the time axis. For example, as shown in Figure 1, the buttons designated to appear after the appearance of the start time button t1 until the appearance of the

5 botón de hora de finalización t2 en el flujo AV se cambian de modo que los botones aparecen después de la hora t3 que es anterior a la hora t1. 5 end time button t2 in the AV stream is changed so that the buttons appear after time t3 that is earlier than time t1.

Como se conoce, en el estándar de vídeo DVD de solo reproducción, un flujo AV se codifica y paquetiza según se establece en el estándar MPEG 2 (Grupo de Expertos de Imágenes en Movimiento 2). La gestión temporal de una salida de reproducción se lleva a cabo con pts (Indicación de Tiempo de Presentación). En el ejemplo que se As is known, in the DVD video playback only standard, an AV stream is encoded and packetized as set forth in the MPEG 2 standard (Group of Experts on Motion Pictures 2). The temporary management of a playback output is carried out with pts (Display Time Indication). In the example that

10 muestra en la Figura 1, la aparición del botón de hora de inicio se cambia de pts1 correspondiente a la hora t1 a pts3 correspondiente a la hora t3. 10 shown in Figure 1, the appearance of the start time button is changed from pts1 corresponding to the time t1 to pts3 corresponding to the time t3.

En el estándar de vídeo DVD, la información de navegación, datos de vídeo, datos de audio y datos de subimágenes se paquetizan y multiplexan de manera individual como un flujo AV. Los comandos y así sucesivamente se incorporan al flujo AV. Los datos de vídeo, datos de audio y datos de subimágenes se designan para aparecer en In the DVD video standard, navigation information, video data, audio data and sub-image data are packaged and multiplexed individually as an AV stream. Commands and so on are incorporated into the AV flow. Video data, audio data and sub-image data are designated to appear in

15 sus tiempos multiplexados. Por ejemplo, como se muestra en la Figura 2A, dichos datos se multiplexan de modo que los datos predeterminados se reproducen en sus tiempos predeterminados en el eje temporal administrado en intervalos pts. 15 times multiplexed. For example, as shown in Figure 2A, said data is multiplexed so that the predetermined data is reproduced at its predetermined times on the time axis managed at pts intervals.

Dado que los datos se multiplexan de dicha manera, cuando el botón A designado para aparecer en el tiempo pts1 se cambia de modo que aparece en el tiempo pts3, el flujo AV que se muestra en la Figura 2A debe volver a Since the data is multiplexed in such a way, when the A button designated to appear at time pts1 is changed so that it appears at time pts3, the AV flow shown in Figure 2A must return to

20 multiplexarse de modo que los datos de subimágenes del botón 1 aparecen en el tiempo pts3. Cuando se cambian los contenidos de un comando que se ejecuta cuando se selecciona un botón, el flujo AV debe volver a multiplexarse. Cuando un flujo AV se vuelve a multiplexar, necesita reproducirse por un reproductor de DVD y almacenarse temporalmente en una memoria del reproductor. 20 be multiplexed so that the sub-image data of button 1 appears in time pts3. When the contents of a command that is executed when a button is selected are changed, the AV flow must be multiplexed again. When an AV stream is multiplexed again, it needs to be played by a DVD player and temporarily stored in a player's memory.

Por consiguiente, de manera convencional, es difícil lograr funciones interactivas que tengan un grado más alto de 25 libertad. Para lograrlas, el lado de creador necesita mucho trabajo. Therefore, in a conventional manner, it is difficult to achieve interactive functions that have a higher degree of freedom. To achieve them, the creator side needs a lot of work.

El documento WO 2004/049710 describe un dispositivo de reproducción con una interfaz de usuario que tiene un alto grado de libertad para su uso con un medio de grabación en forma de disco de gran capacidad que contiene un contenido. El aparato comprende un reproductor virtual para reproducir datos del disco. Se provee un programa de control de reproducción. El programa de control de reproducción y el reproductor virtual intercambian comandos a WO 2004/049710 describes a playback device with a user interface that has a high degree of freedom for use with a large-capacity disk-shaped recording medium containing a content. The apparatus comprises a virtual player to reproduce data from the disc. A reproduction control program is provided. The playback control program and the virtual player exchange commands to

30 través de una API. 30 through an API.

El documento US 2003/161615 describe una nueva función de navegación añadida a un DVD-Vídeo heredado. La unidad de reproductor reproduce contenidos grabados que incluyen contenidos de vídeo o contenidos AV, y contenidos ENAV asociados a contenidos (menú, capítulo) de los contenidos de vídeo, de un disco DVD-Vídeo. Los contenidos de vídeo del disco DVD se reproducen por un motor de reproducción de vídeo. Los contenidos ENAV del Document US 2003/161615 describes a new navigation function added to a legacy DVD-Video. The player unit plays recorded content that includes video content or AV content, and ENAV content associated with content (menu, chapter) of the video content of a DVD-Video disc. The video contents of the DVD disc are played by a video playback engine. The ENAV contents of

35 disco DVD se reproducen por un motor ENAV. El motor ENAV controla la reproducción de los contenidos ENAV y la de los contenidos de vídeo en combinación, conexión y/o sincronismo entre sí según los contenidos reproducidos de los contenidos ENAV. El motor ENAV incluye un controlador de eventos de usuario para recibir eventos de usuario, y un procesador comando/propiedad y generación de evento. 35 DVD discs are played by an ENAV engine. The ENAV engine controls the reproduction of the ENAV contents and that of the video contents in combination, connection and / or synchronism with each other according to the reproduced contents of the ENAV contents. The ENAV engine includes a user event handler to receive user events, and a command / property processor and event generation.

El documento EP-A 1328114 describe un receptor/descodificador que comprende medios para recibir un tren de bits EP-A 1328114 describes a receiver / decoder comprising means for receiving a bit stream

40 audiovisual en una resolución de entrada dada, y medios para seleccionar una resolución de salida que se aplicará a una representación de salida del tren de bits audiovisual. El receptor incluye una máquina virtual que incluye un manejador de eventos y un módulo de grabadora de vídeo para manejar las funciones de grabación y reproducción de un disco duro. 40 audiovisual in a given input resolution, and means for selecting an output resolution that will be applied to an output representation of the audiovisual bit stream. The receiver includes a virtual machine that includes an event handler and a video recorder module to handle the recording and playback functions of a hard disk.

Descripción de la invención Description of the invention

45 La invención se define en las reivindicaciones anexas. The invention is defined in the appended claims.

Un objeto de la presente invención es proveer un aparato de reproducción, un método de reproducción, un programa de reproducción y un medio de grabación que permiten lograr fácilmente funciones de interfaz con un alto grado de libertad para discos ópticos de solo reproducción con gran capacidad de almacenamiento. An object of the present invention is to provide a reproduction apparatus, a reproduction method, a reproduction program and a recording medium that allow to easily achieve interface functions with a high degree of freedom for optical discs of only reproduction with great capacity for storage.

Según se describe en la presente memoria descriptiva, un objeto de reproductor genera un evento correspondiente a As described herein, a player object generates an event corresponding to

50 un cambio predeterminado para controlar un proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco con un proceso correspondiente al evento descrito en un objeto de programa que se forma por encima del objeto de reproductor y que puede describir un proceso correspondiente al evento que tiene lugar. Por consiguiente, un objeto de reproductor puede llevar a cabo un control de reproducción para un proceso original para cada medio de grabación con forma de disco. 50 a predetermined change to control a playback process for content data hierarchically recorded on the disc-shaped recording medium with a process corresponding to the event described in a program object that is formed above the player object and which can be described a process corresponding to the event that takes place. Accordingly, a player object can perform a playback control for an original process for each disc-shaped recording medium.

55 Además, al menos los datos de contenido y un objeto de programa que puede describir un proceso correspondiente a un evento que tiene lugar pueden grabarse en el medio de grabación. Un proceso de reproducción para los datos de contenido se controla con un proceso correspondiente al evento descrito en el objeto de programa por un objeto de reproductor que genera un evento correspondiente a un cambio predeterminado y formado debajo del objeto de programa. Por consiguiente, un objeto de reproductor puede llevar a cabo un control de reproducción para un proceso original para cada medio de grabación. In addition, at least the content data and a program object that can describe a process corresponding to an event taking place can be recorded on the recording medium. A reproduction process for the content data is controlled by a process corresponding to the event described in the program object by a player object that generates an event corresponding to a predetermined change and formed below the program object. Therefore, a player object can carry out a playback control for an original process for each recording medium.

imagen3image3

5 Según se describe en la presente memoria descriptiva, se estructura un reproductor virtual que forma, de manera abstracta, una función de reproducción de flujo AV de un reproductor BD-ROM. Se designan los eventos que tienen lugar en un modelo de evento aplicado al reproductor virtual. Además, se definen los eventos de usuario correspondientes a las entradas de usuario. Por consiguiente, con un modelo de evento, pueden lograrse funciones de vídeo DVD. 5 As described herein, a virtual player is structured that abstractly forms an AV stream playback function of a BD-ROM player. Events that take place in an event model applied to the virtual player are designated. In addition, the user events corresponding to the user entries are defined. Therefore, with an event model, DVD video functions can be achieved.

10 Además, según se describe en la presente memoria descriptiva, se estructura un reproductor virtual que forma, de manera abstracta, una función de reproducción de flujo AV del reproductor BD-ROM. Se define una clase Java correspondiente al reproductor virtual. Se designan los eventos que tienen lugar en un modelo de evento aplicado al reproductor virtual. Además, se definen los eventos de usuario correspondientes a las entradas de usuario. Por consiguiente, como un método de control de reproducción para un disco de vídeo de solo reproducción, pueden In addition, as described herein, a virtual player is structured that forms, in an abstract way, an AV stream playback function of the BD-ROM player. A Java class corresponding to the virtual player is defined. Events that take place in an event model applied to the virtual player are designated. In addition, the user events corresponding to the user entries are defined. Therefore, as a method of playback control for a video disc of only playback, they can

15 aplicarse los modelos de evento de Java. Como resultado, con un programa Java, puede controlarse la reproducción de una lista de reproducción. 15 apply Java event models. As a result, with a Java program, playback of a playlist can be controlled.

Por consiguiente, para implementar funciones interactivas complicadas, el lado de creador de disco no necesita mucho trabajo. Therefore, to implement complicated interactive functions, the disk creator side does not need much work.

Además, el enfoque actual puede aplicarse no solo al lenguaje Java, sino a un lenguaje de guiones como, por In addition, the current approach can be applied not only to the Java language, but to a script language such as

20 ejemplo, el guión ECMA. El lado de creador de contenido puede describir contenidos para manejadores de eventos correspondientes a eventos que usan un lenguaje de guiones. Como resultado, cuando tiene lugar un evento, una función que el lado de creador de contenido desea puede lograrse fácilmente. 20 example, the ECMA script. The content creator side can describe content for event handlers corresponding to events that use scripting language. As a result, when an event takes place, a function that the content creator side desires can be easily achieved.

Breve descripción de los dibujos Brief description of the drawings

La Figura 1 es un diagrama esquemático que describe un cambio de una aparición de hora de inicio de un botón Figure 1 is a schematic diagram describing a change of a start time occurrence of a button

25 según la técnica relacionada; la Figura 2A y Figura 2B son diagramas esquemáticos que describen la remultiplicación de un flujo; la Figura 3A y Figura 3B son diagramas esquemáticos que muestran un ejemplo de una estructura de capa de un modo de película HD del estándar BD-ROM; la Figura 4 es un diagrama esquemático que muestra un ejemplo de una estructura de capa de un reproductor BD-ROM; la Figura 5 es un diagrama esquemático que describe un reproductor básico BD 30; la Figura 6 es un diagrama esquemático que muestra ejemplos de 25 according to the related technique; Figure 2A and Figure 2B are schematic diagrams describing the remultiplication of a flow; Figure 3A and Figure 3B are schematic diagrams showing an example of a layer structure of an HD movie mode of the BD-ROM standard; Figure 4 is a schematic diagram showing an example of a layer structure of a BD-ROM player; Figure 5 is a schematic diagram describing a basic BD 30 player; Figure 6 is a schematic diagram showing examples of

30 eventos que tienen lugar mientras se reproduce una lista de reproducción; la Figura 7 es un diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 8A, Figura 8B, y Figura 8C son diagramas esquemáticos que muestran una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 9 es un diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 10 es un diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 11 es un 30 events that take place while playing a playlist; Figure 7 is a schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 8A, Figure 8B, and Figure 8C are schematic diagrams showing a list of examples of BDBasicPlayer class methods; Figure 9 is a schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 10 is a schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 11 is a

35 diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 12 es un diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 13 es un diagrama esquemático que muestra una lista de ejemplos de métodos de clase BDBasicPlayer; la Figura 14A, Figura 14B, y Figura 14C son diagramas esquemáticos que muestran una lista de ejemplos de definiciones de eventos que tienen lugar en el objeto BDBasicPalyer del D-ROM; la Figura 15 es un diagrama esquemático que 35 schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 12 is a schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 13 is a schematic diagram showing a list of examples of BDBasicPlayer class methods; Figure 14A, Figure 14B, and Figure 14C are schematic diagrams showing a list of examples of event definitions that occur in the BDBasicPalyer object of the D-ROM; Figure 15 is a schematic diagram that

40 describe un evento y un oyente; la Figura 16A y Figura 16B son diagramas esquemáticos que muestran una lista de ejemplos de métodos con respecto al registro de oyentes de eventos; la Figura 17 es un diagrama de flujo que muestra un ejemplo de un proceso que crea un programa que usa el registro de oyentes de eventos; la Figura 18 es un diagrama de flujo que muestra un ejemplo de un proceso cuyo lado de reproducción implementa un programa que usa el registro de oyentes de eventos; la Figura 19A, Figura 19B, y Figura 19C son diagramas esquemáticos 40 describes an event and a listener; Figure 16A and Figure 16B are schematic diagrams showing a list of examples of methods with respect to the registration of event listeners; Figure 17 is a flowchart showing an example of a process that creates a program that uses the record of event listeners; Figure 18 is a flow chart showing an example of a process whose playback side implements a program that uses the record of event listeners; Figure 19A, Figure 19B, and Figure 19C are schematic diagrams

45 que muestran un archivo de flujo AV clip, un archivo que almacena datos de marca, y un archivo que almacena datos de un botón, respectivamente; la Figura 20 es un diagrama esquemático que describe un modelo de reproductor virtual BD-ROM basado en un modelo accionado por evento; la Figura 21A, Figura 21B, Figura 21C, y Figura 21D son diagramas esquemáticos que muestran una lista de ejemplos de definiciones de comandos de entrada de usuario que el modelo de reproductor virtual BD-ROM acepta; la Figura 22 es un diagrama esquemático 45 showing an AV clip stream file, a file that stores brand data, and a file that stores one-button data, respectively; Figure 20 is a schematic diagram describing a BD-ROM virtual player model based on an event driven model; Figure 21A, Figure 21B, Figure 21C, and Figure 21D are schematic diagrams showing a list of examples of user input command definitions that the BD-ROM virtual player model accepts; Figure 22 is a schematic diagram

50 que muestra un ejemplo de clase RmtKeyEvent de eventos de entrada de tecla de un comandante de mando a distancia; la Figura 23 es un diagrama esquemático que muestra una lista de ejemplos de métodos de objeto RmtKeyEvent; la Figura 24 es un diagrama esquemático que muestra una lista de ejemplos de teclas obtenidas con el método getRmtKeyCode; la Figura 25A y Figura 25B son diagramas esquemáticos que muestran una lista de ejemplos de teclas obtenidas con el método getRmtKeyCode; la Figura 26 es un diagrama de flujo que muestra un 50 showing an example of the RmtKeyEvent class of key input events of a remote control commander; Figure 23 is a schematic diagram showing a list of examples of RmtKeyEvent object methods; Figure 24 is a schematic diagram showing a list of examples of keys obtained with the getRmtKeyCode method; Figure 25A and Figure 25B are schematic diagrams showing a list of examples of keys obtained with the getRmtKeyCode method; Figure 26 is a flow chart showing a

55 ejemplo de un proceso que ejecuta un programa accionado por un evento de entrada de tecla; la Figura 27 es un diagrama esquemático que muestra un ejemplo de una estructura de gestión de archivos aplicable a un perfil completo del BD-ROM; la Figura 28A, Figura 28B, y Figura 28C son diagramas de bloques funcionales que muestran un ejemplo de una estructura de un descodificador de reproductor 100 según una primera realización de la presente invención; la Figura 29 es un diagrama esquemático que muestra una estructura de capa del estándar de 55 example of a process that executes a program triggered by a key input event; Figure 27 is a schematic diagram showing an example of a file management structure applicable to a complete BD-ROM profile; Figure 28A, Figure 28B, and Figure 28C are functional block diagrams showing an example of a structure of a player decoder 100 according to a first embodiment of the present invention; Figure 29 is a schematic diagram showing a layer structure of the standard of

60 vídeo UMD; la Figura 30 es un diagrama esquemático que muestra un ejemplo de un modelo de reproductor según una segunda realización de la presente invención; la Figura 31 es un diagrama esquemático que muestra un ejemplo de una estructura interna de un reproductor de películas; la Figura 32 es un diagrama esquemático que muestra tres estados del reproductor de películas; la Figura 33 es un diagrama esquemático que muestra un modelo de evento del reproductor de películas según la segunda realización de la presente invención; y la Figura 34A y Figura 34B son diagramas esquemáticos que muestran una lista de ejemplos de manejadores de eventos de un objeto de reproductor de películas. 60 UMD video; Figure 30 is a schematic diagram showing an example of a player model according to a second embodiment of the present invention; Figure 31 is a schematic diagram showing an example of an internal structure of a movie player; Figure 32 is a schematic diagram showing three states of the movie player; Figure 33 is a schematic diagram showing an event model of the movie player according to the second embodiment of the present invention; and Figure 34A and Figure 34B are schematic diagrams showing a list of examples of event handlers of a movie player object.

imagen4image4

Mejores modos de llevar a cabo la invención Better ways of carrying out the invention

A continuación, se describirá la presente invención correspondiente a la siguiente estructura. Next, the present invention corresponding to the following structure will be described.

1.one.
Primera realización de la presente invención 1-1. Sobre las funciones de reproducción de flujo AV de BD-ROM 1-1a. Sobre el modo de película HD de BD-ROM 1-1b. Sobre el perfil completo de BD-ROM 1-2. Modelo de reproductor virtual BD basado en Java 1-3. Sobre eventos generados por el reproductor básico BD 1-3a. Categorías de eventos 1-3b. Sobre modelos de evento 1-4. Sobre entradas de usuario 1-5. Sobre la estructura de gestión de archivos 1-6. Sobre el modelo de descodificador  First embodiment of the present invention 1-1. About the BD-ROM 1-1a AV stream playback functions. About BD-ROM 1-1b HD movie mode. About the full profile of BD-ROM 1-2. BD virtual player model based on Java 1-3. About events generated by the BD 1-3a basic player. Categories of events 1-3b. About event models 1-4. About user entries 1-5. About the file management structure 1-6. About the decoder model

2.2.
Segunda realización de la presente invención 2-1. Sobre el estándar de vídeo UMD 2-2. Sobre el modelo de reproductor basado en el estándar de vídeo UMD 2-3. Sobre el modelo de evento del reproductor de películas 2-4. Sobre el objeto de reproductor de películas y entrada de usuario 2-5. Sobre el manejo de eventos por el objeto de reproductor de películas  Second embodiment of the present invention 2-1. About the UMD 2-2 video standard. About the player model based on the UMD 2-3 video standard. About the event model of the movie player 2-4. About the object of movie player and user input 2-5. About event handling by the object of movie player

1. Primera realización de la presente invención 1. First embodiment of the present invention

A continuación, se describirá una primera realización de la presente invención. Para una fácil comprensión de la presente invención, un estándar para un medio de grabación de solo reproducción se describirá brevemente como un derivado del estándar de disco Blu-ray actual. En la siguiente descripción, el medio de grabación de solo reproducción como un derivado del estándar de disco Blu-ray se llama BD-ROM (Disco Blu-ray con Memoria de Solo Lectura) para distinguirlo de un disco Blu-ray grabable. El estándar BD-ROM establece el modo de película HD (Alta Definición) que provee funciones interactivas similares a las del vídeo DVD. Next, a first embodiment of the present invention will be described. For an easy understanding of the present invention, a standard for a playback-only recording medium will be briefly described as a derivative of the current Blu-ray disc standard. In the following description, the playback-only recording medium as a derivative of the Blu-ray disc standard is called BD-ROM (Blu-ray Disc with Read-Only Memory) to distinguish it from a recordable Blu-ray disc. The BD-ROM standard sets the HD (High Definition) movie mode that provides interactive functions similar to those of DVD video.

1-1. Sobre las funciones del flujo AV de BD-ROM 1-1. About the functions of the BD-ROM AV stream

1-1a. Sobre el modo de película HD de BD-ROM 1-1a. About BD-ROM HD movie mode

La Figura 3A y Figura 3B muestran un ejemplo de una estructura de capa del modo de película HD del estándar BD-ROM. El modo de película HD del estándar BD-ROM consta de una capa de clip, un reproductor de lista de reproducción, una capa de objeto de película, y una capa de tabla de índice formadas en sucesión a partir de la capa más baja. Figure 3A and Figure 3B show an example of a layer structure of the HD movie mode of the BD-ROM standard. The BD-ROM standard HD movie mode consists of a clip layer, a playlist player, a movie object layer, and an index table layer formed in succession from the lowest layer.

La capa de clip consta de uno o múltiples clips. Un clip se compone de un flujo AV clip e información de clip. La entidad de un flujo AV es un archivo de flujo AV clip. Un flujo AV se graba en un flujo de transporte MPEG (Grupo de Expertos de Imágenes en Movimiento 2) con una indicación de tiempo. Un archivo de flujo AV clip puede multiplexarse con objetos de botón para las imágenes de botones. The clip layer consists of one or multiple clips. A clip consists of an AV clip stream and clip information. The entity of an AV stream is an AV clip stream file. An AV stream is recorded in an MPEG (Motion Picture Expert Group 2) transport stream with a time indication. An AV clip stream file can be multiplexed with button objects for button images.

Cuando se graba un archivo de flujo AV clip, un archivo de información de clip correspondiente a aquel se crea en la relación de 1 a 1. Se hace referencia a un conjunto de un archivo de flujo AV clip y un archivo de información de clip como un clip. When an AV clip stream file is recorded, a clip information file corresponding to that is created in the 1 to 1 ratio. A set of an AV clip stream file and a clip information file are referred to as a clip

imagen5image5

Un clip es una unidad de grabación. El orden de reproducción de los clips se controla en una capa superior de clips. La capa de lista de reproducción es una capa en la cual se designa el trayecto de reproducción de clips. La capa de lista de reproducción contiene una o múltiples listas de reproducción. En el modo de película HD del estándar BD-ROM, solo existe un tipo de una lista de reproducción a la que se hace referencia como una lista de reproducción de A clip is a recording unit. The playback order of the clips is controlled in an upper layer of clips. The playlist layer is a layer in which the clip playback path is designated. The playlist layer contains one or multiple playlists. In the HD movie mode of the BD-ROM standard, there is only one type of a playlist referred to as a playlist of

5 películas. Una lista de reproducción de películas consta de un conjunto de elementos de reproducción. Un elemento de reproducción contiene un conjunto de un punto de ENTRADA (IN) y un punto de SALIDA (OUT) que representan el rango de reproducción de un clip. Con múltiples elementos de reproducción, los clips pueden reproducirse en cualquier orden. Los elementos de reproducción pueden designar el mismo clip. El punto de ENTRADA y el punto de SALIDA de un archivo de flujo AV clip se designan con posiciones de bytes. 5 movies A movie playlist consists of a set of playback items. A playback element contains a set of an IN point and an OUT point that represent the playback range of a clip. With multiple playback elements, clips can be played in any order. Playback elements can designate the same clip. The IN point and OUT point of an AV clip stream file are designated byte positions.

10 El objeto de película existe por encima de la capa de lista de reproducción. La capa de objeto de película consta de uno o múltiples objetos de película. Un objeto de película consta de un comando de reproducción de lista de reproducción y un conjunto de comandos de establecimiento de reproductor. Con los comandos contenidos en un objeto de película, puede lograrse la reproducción de una lista de reproducción que reproduce un flujo en un lenguaje seleccionado o que tiene derivaciones condicionales que hacen que las listas de reproducción se 10 The movie object exists above the playlist layer. The movie object layer consists of one or multiple movie objects. A movie object consists of a playlist play command and a set of player set commands. With the commands contained in a movie object, the reproduction of a playlist that reproduces a stream in a selected language or that has conditional derivations that make the playlists can be achieved

15 seleccionen para variar según condiciones predeterminadas. Un ejemplo de una aplicación que lleva a cabo una reproducción de una lista de reproducción que tiene derivaciones condicionales sería una de varios niveles. Por consiguiente, los objetos de película proveen interactividad. 15 select to vary according to predetermined conditions. An example of an application that performs a reproduction of a playlist that has conditional derivations would be one of several levels. Consequently, movie objects provide interactivity.

La capa de tabla de índice contiene una tabla de índice y existe por encima de la capa de lista de reproducción. La tabla de índice consta de un objeto de película que se ejecuta primero cuando el disco se carga en el reproductor, un The index table layer contains an index table and exists above the playlist layer. The index table consists of a movie object that runs first when the disc is loaded into the player, a

20 objeto de película que se ejecuta cuando se presiona la tecla de menú, y una lista de títulos que el usuario puede ver. La tabla de índice provee una interfaz de usuario. Un título consta de uno o múltiples objetos de película. La tabla de índice enumera los objetos de película que se ejecutan primero en los títulos. El reproductor decide un objeto de película que ejecuta primero en cada función según la tabla de índice. 20 movie object that runs when the menu key is pressed, and a list of titles that the user can see. The index table provides a user interface. A title consists of one or multiple movie objects. The index table lists the movie objects that run first in the titles. The player decides a movie object that runs first in each function according to the index table.

Formada en el disco en el modo de película HD de BD-ROM se encuentra la base de datos anterior. El reproductor 25 lee la base de datos del disco y lleva a cabo la función designada. The previous database is formed on the disc in BD-ROM HD movie mode. Player 25 reads the disc database and performs the designated function.

A continuación, se describirá un modelo del lado de reproductor. En realidad, pueden considerarse varios modelos de implementación de reproductores. En el presente ejemplo, un modelo de reproductor se divide en un bloque funcional tipo hardware que reproduce un flujo y un bloque funcional de software que interpreta y ejecuta comandos y que existe por encima del bloque funcional tipo software. La Figura 4 muestra un ejemplo de una estructura de Next, a player side model will be described. Actually, several models of player implementation can be considered. In the present example, a player model is divided into a hardware type functional block that reproduces a stream and a software functional block that interprets and executes commands and exists above the software type functional block. Figure 4 shows an example of a structure of

30 capa de un modelo de reproductor del BD-ROM. La porción izquierda de la Figura 4 muestra la estructura de capa, la cual se divide en dos bloques funcionales en el modo de película HD. 30 layer of a BD-ROM player model. The left portion of Figure 4 shows the layer structure, which is divided into two functional blocks in the HD film mode.

Un motor de presentación BD 200 es un bloque funcional que maneja listas de reproducción y clips, descodifica un flujo AV, y reproduce una imagen en movimiento y datos de sonido. El motor de presentación BD 200 también descodifica un flujo de subtítulo y un flujo de gráficos para imágenes de botones y menús. A BD 200 presentation engine is a functional block that handles playlists and clips, decodes an AV stream, and reproduces a moving image and sound data. The BD 200 presentation engine also decodes a subtitle stream and a graphics stream for button and menu images.

35 El motor de presentación BD 200 reproduce una lista de reproducción designada correspondiente a un comando recibido de la capa superior. 35 The BD 200 presentation engine plays a designated playlist corresponding to a command received from the upper layer.

En el modo de película HD del BD-ROM, un motor de navegación 201 existe por encima del motor de presentación BD 200. El motor de navegación 201 interpreta una tabla de índice y objetos de película e informa al motor de presentación BD 200 sobre una lista de reproducción que finalmente se reproduce. In the BD-ROM HD movie mode, a navigation engine 201 exists above the BD 200 presentation engine. The navigation engine 201 interprets an index table and movie objects and informs the BD 200 presentation engine about a playlist that finally plays.

40 1-1b. Sobre el perfil completo de BD-ROM 40 1-1b. About BD-ROM's full profile to ...

A continuación, se describirá un perfil completo del estándar BD-ROM. El perfil completo del estándar BD-ROM es un modo que tiene un grado más alto de libertad y expansibilidad que el modo de película HD del estándar BD-ROM. De aquí en adelante, se hace referencia al modo de perfil completo del estándar BD-ROM como el perfil completo. Next, a complete profile of the BD-ROM standard will be described. The full profile of the BD-ROM standard is a mode that has a higher degree of freedom and expandability than the HD movie mode of the BD-ROM standard. Hereinafter, the full profile mode of the BD-ROM standard is referred to as the full profile.

Según la primera realización de la presente invención, el modelo de reproductor se provee con una máquina virtual According to the first embodiment of the present invention, the player model is provided with a virtual machine

45 Java (Java VM, por sus siglas en inglés) y ejecuta una aplicación Java para lograr el perfil completo para un grado más alto de libertad y expansibilidad. Este punto es en gran parte diferente del modo de película HD del BD-ROM. Java, JavaVM, y así sucesivamente son marcas comerciales registradas de Sun Microsystems, Inc. 45 Java (Java VM) and run a Java application to achieve the full profile for a higher degree of freedom and expandability. This point is largely different from the BD-ROM HD movie mode. Java, JavaVM, and so on are registered trademarks of Sun Microsystems, Inc.

El perfil completo necesita usar todas las funciones del reproductor. Una API (Interfaz de Programación de Aplicaciones) se define entre el motor de presentación BD 200 y una aplicación Java. Por consiguiente, el motor de The full profile needs to use all the functions of the player. An API (Application Programming Interface) is defined between the BD 200 presentation engine and a Java application. Consequently, the engine of

50 presentación BD 200 puede funcionar a través de la API. Como el motor de navegación 201 en el modo de película HD del BD-ROM, puede pensarse que la aplicación Java existe por encima del motor de presentación BD 200. En otras palabras, como se ilustra en la porción derecha de la Figura 4, en el perfil completo, una aplicación Java 203 existe por encima del motor de presentación BD 200 a través de una Java VM 202. 50 presentation BD 200 can work through the API. As the navigation engine 201 in the BD-ROM HD movie mode, it can be thought that the Java application exists above the BD 200 presentation engine. In other words, as illustrated in the right portion of Figure 4, in the full profile, a Java 203 application exists above the BD 200 presentation engine through a Java VM 202.

Además, Java también tiene una función de red y una función de gráficos. Por consiguiente, existen una capa de red 55 204 y una capa GUI (Interfaz Gráfica de Usuario) 205 como capas inferiores de la aplicación Java 203 y la Java VM In addition, Java also has a network function and a graphics function. Therefore, there is a network layer 55 204 and a GUI (Graphical User Interface) 205 layer as lower layers of the Java 203 application and the Java VM

202. 202.

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

Cuando el motor de presentación BD 200 funciona con la aplicación Java 203, puede pensarse que el reproductor que reproduce una lista de reproducción es un reproductor virtual en el software, los comandos para la reproducción, parada, selección de flujo, y así sucesivamente se envían al reproductor, y el reproductor funciona con los comandos. El reproductor necesita informar al reproductor del estado actual del reproductor en cuanto a cuál lista de reproducción reproduce el reproductor y en qué tiempos varias funciones como, por ejemplo, selecciones de flujo y entradas de usuario, cambiarán. Según la primera realización de la presente invención, dichas funciones del reproductor se consideran objetos abstractivos en la aplicación Java 203. Se hace referencia a los objetos abstractivos de las funciones del reproductor como el reproductor básico BD. When the BD 200 presentation engine works with the Java 203 application, it can be thought that the player that plays a playlist is a virtual player in the software, the commands for playback, stop, flow selection, and so on are sent to the player, and the player works with the commands. The player needs to inform the player of the current status of the player as to which playlist the player plays and at what times various functions, such as flow selections and user inputs, will change. According to the first embodiment of the present invention, said player functions are considered abstract objects in the Java 203 application. Reference is made to the abstract objects of the player functions as the basic BD player.

A continuación, con referencia a la Figura 5, se describirá un reproductor básico BD. Un reproductor básico BD 30 reproduce datos de un medio de grabación con forma de disco definido en la primera realización de la presente invención. El reproductor básico BD 30 es un objeto como, por ejemplo, un ordenador personal en el entorno de ordenador. El entorno de ordenador no se limita a un ordenador personal de propósito general. Por ejemplo, el entorno de ordenador incluye un entorno de software implementado en un aparato de reproducción dedicado y/o un aparato de grabación y reproducción que reproduce datos de un medio de grabación con forma de disco definido en la primera realización de la presente invención. De aquí en adelante, el medio de grabación con forma de disco según la primera realización de la presente invención se abrevia a disco. Next, with reference to Figure 5, a basic BD player will be described. A basic BD 30 player reproduces data from a disc-shaped recording medium defined in the first embodiment of the present invention. The BD 30 basic player is an object such as a personal computer in the computer environment. The computer environment is not limited to a general purpose personal computer. For example, the computer environment includes a software environment implemented in a dedicated playback apparatus and / or a recording and playback apparatus that reproduces data from a disk-shaped recording medium defined in the first embodiment of the present invention. Hereinafter, the disc-shaped recording medium according to the first embodiment of the present invention is abbreviated to disc.

El reproductor básico BD 30 es un objeto abstractivo en el software. Debajo del reproductor básico BD 30 existen un SO (Sistema Operativo) y hardware 33. Como un programa superordinado del reproductor básico BD 30, existe un programa Java 31 a través de una API 32. The basic BD 30 player is an abstract object in the software. Under the BD 30 basic player there is an OS (Operating System) and hardware 33. As a superordinate program of the BD 30 basic player, there is a Java 31 program through an API 32.

El reproductor básico BD 30 tiene dos estados A y B. En el estado A, puede reproducirse una lista de reproducción y gráficos. En el estado B, su reproducción se detiene. El estado A incluye múltiples funciones como, por ejemplo, reproducciones de velocidades variables, por ejemplo, reproducción de alta velocidad y reproducción en reversa y saltar la reproducción que reproduce datos de cualquier punto temporal en el disco. Además, el reproductor básico BD 30 contiene variables que mantienen estados del reproductor (parámetros comunes 34). Los parámetros comunes 34 constan de registros y así sucesivamente en el entorno de ordenador. Cuando una aplicación (programa Java 31) en la capa superior accede a los parámetros comunes 34 a través de un método de Java, la aplicación puede llevar a cabo un proceso correspondiente al estado del reproductor básico BD 30. The BD 30 basic player has two states A and B. In state A, a playlist and graphics can be played. In state B, its playback stops. State A includes multiple functions such as variable speed playback, for example, high speed playback and reverse playback and skip playback that plays data from any time point on the disc. In addition, the BD 30 basic player contains variables that maintain player states (common parameters 34). Common parameters 34 consist of registers and so on in the computer environment. When an application (Java program 31) in the upper layer accesses the common parameters 34 through a Java method, the application can carry out a process corresponding to the status of the basic BD 30 player.

El reproductor básico BD 30 es un objeto abstractivo en el software. El reproductor básico BD 30 finalmente convierte el control por el programa Java 31 a través de la API 32 por el control por el SO y el hardware 33 que existen en el nivel inferior. The basic BD 30 player is an abstract object in the software. The basic BD 30 player finally converts the control by the Java program 31 through the API 32 by the control by the OS and the hardware 33 that exist at the lower level.

El reproductor básico BD 30 necesita controlarse por un programa superordinado (programa Java 31) a través de la API 32. Además, el reproductor básico BD 30 necesita informar al programa superordinado que el estado del reproductor básico BD 30 cambia. En otras palabras, cuando el reproductor básico BD 30 lleva a cabo múltiples funciones que sucesivamente reproducen una lista de reproducción y luego otra lista de reproducción, el programa superordinado necesita haber conocido el estado del reproductor básico BD 30. Según la primera realización de la presente invención, como un mecanismo que informa a la capa superior el estado del reproductor, se usan modelos de evento. The BD 30 basic player needs to be controlled by a superordinate program (Java 31 program) through API 32. In addition, the BD 30 basic player needs to inform the superordinate program that the status of the BD 30 basic player changes. In other words, when the BD 30 basic player performs multiple functions that successively reproduce a playlist and then another playlist, the superordinate program needs to have known the status of the BD 30 basic player. According to the first embodiment of the present invention, as a mechanism that informs the top layer of the status of the player, event models are used.

La Figura 6 muestra ejemplos de eventos que pueden tener lugar mientras se reproduce una lista de reproducción. Cuando se inicia la reproducción, tiene lugar el evento PlayStarted. Luego, cuando se inicia la reproducción de una lista de reproducción, tiene lugar el evento PlayListStarted. Dado que el comienzo de una lista de reproducción también es el comienzo de un elemento de reproducción, cuando el evento PlayListStarted tiene lugar, el evento PlayItemStarted también tiene lugar. Si una marca de capítulo que presenta un capítulo está presente en el comienzo de la lista de reproducción, el evento MarkEncountered tiene lugar. Figure 6 shows examples of events that may occur while playing a playlist. When playback starts, the PlayStarted event takes place. Then, when playback of a playlist starts, the PlayListStarted event takes place. Since the beginning of a playlist is also the beginning of a play item, when the PlayListStarted event takes place, the PlayItemStarted event also takes place. If a chapter mark presenting a chapter is present at the beginning of the playlist, the MarkEncountered event takes place.

Asimismo, si una marca está presente en un elemento de reproducción, mientras se reproduce un elemento de reproducción, se detecta la marca. Por consiguiente, el evento MarkEncountered tiene lugar. Cuando se ha completado la reproducción del elemento de reproducción, el evento PlayltemEnded tiene lugar. Cuando también se ha completado la reproducción de la lista de reproducción, el evento PlayListEnded tiene lugar. Cuando se ha completado la reproducción, el evento PlayEnded tiene lugar. Also, if a mark is present on a playback item, while a playback item is playing, the mark is detected. Therefore, the MarkEncountered event takes place. When playback of the playback item is complete, the PlayltemEnded event takes place. When playback of the playlist has also been completed, the PlayListEnded event takes place. When playback is complete, the PlayEnded event takes place.

Por consiguiente, mientras el reproductor está funcionando, varios eventos tienen lugar. Cuando se informa al programa superordinado sobre la ocurrencia de un evento, el programa superordinado puede conocer el estado del reproductor. El lado de programa superordinado prepara programas que se ejecutan cuando se lo informa de la ocurrencia de eventos, y puede lidiar con la ocurrencia de los eventos. Therefore, while the player is running, several events take place. When the superordinate program is informed about the occurrence of an event, the superordinate program can know the status of the player. The superordinate program side prepares programs that run when informed of the occurrence of events, and can deal with the occurrence of the events.

Según la primera realización de la presente invención, se proveen un método de abstracción para un reproductor, modelos de método que permiten a un programa Java hacer funcionar el reproductor, y modelos de evento que informan al programa Java sobre el estado del reproductor. El lenguaje Java se implementa a un programa de control del BD-ROM. En el sistema según la primera realización de la presente invención, el creador de disco crea el programa Java 31 que hace funcionar el reproductor básico BD 30 a través de la API 32. According to the first embodiment of the present invention, an abstraction method for a player, method models that allow a Java program to operate the player, and event models that inform the Java program about the status of the player are provided. The Java language is implemented to a BD-ROM control program. In the system according to the first embodiment of the present invention, the disk creator creates the Java 31 program that operates the basic BD 30 player through API 32.

5 5

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

A continuación, se describirá un ejemplo práctico donde las funciones del reproductor se analizan en detalle, se abstraen y se representan como clases de Java. Next, a practical example will be described where the player's functions are analyzed in detail, abstracted and represented as Java classes.

1-2. Modelo de reproductor virtual BD basado en Java 1-2. Java based BD virtual player model

Para designar el perfil completo del BD-ROM, es necesario definir un entorno de ejecución para el disco Blu-ray. Un modelo ideal del reproductor básico BD 30 que reproduce datos del BD-ROM se llama el modelo de reproductor virtual BD-ROM. El reproductor básico BD 30 corresponde a un bloque funcional que reproduce una lista de reproducción del modelo de reproductor virtual BD-ROM. En el modelo de reproductor virtual BD-ROM, se definen los estados y las condiciones para los cambios de estado. Además, se definen los atributos de flujos reproducidos por el reproductor básico BD 30, un método de descripción sin comandos (guión) que controla los flujos, y así sucesivamente. Los guiones y flujos grabados en el BD-ROM deben funcionar correctamente en el modelo de reproductor virtual BD-ROM. To designate the full profile of the BD-ROM, it is necessary to define a runtime environment for the Blu-ray disc. An ideal model of the BD 30 basic player that reproduces data from the BD-ROM is called the BD-ROM virtual player model. The BD 30 basic player corresponds to a functional block that reproduces a playlist of the BD-ROM virtual player model. In the BD-ROM virtual player model, the states and conditions for state changes are defined. In addition, the attributes of streams reproduced by the BD 30 basic player are defined, a description method without commands (script) that controls the streams, and so on. The scripts and streams recorded on the BD-ROM must work correctly in the BD-ROM virtual player model.

Aunque un reproductor BD-ROM real puede instalarse de varias maneras, cuando se considera un modelo que no necesita instalarse, los recursos de hardware mínimamente requeridos pueden aclararse. Although a real BD-ROM player can be installed in several ways, when it is considered a model that does not need to be installed, the minimally required hardware resources can be clarified.

El modelo de reproductor virtual BD-ROM definido en la primera realización de la presente invención usa Java como un lenguaje de programación que controla el reproductor básico BD 30. Java es un lenguaje de programación creado por Sun Microsystems, Inc. y tiene múltiples ediciones como, por ejemplo, J2EE, J2SE, J2ME, y así sucesivamente que difieren en sus escalas de sistemas aplicables. En el presente ejemplo, se supone que J2ME, que es una edición diseñada para instalarse en un descodificador de salón y así sucesivamente, se usa para el modelo de reproductor virtual BD-ROM. En otras palabras, el modelo de reproductor virtual BD-ROM se extiende sobre la base de J2ME. The BD-ROM virtual player model defined in the first embodiment of the present invention uses Java as a programming language that controls the basic BD 30 player. Java is a programming language created by Sun Microsystems, Inc. and has multiple editions such as , for example, J2EE, J2SE, J2ME, and so on that differ in their applicable system scales. In the present example, it is assumed that J2ME, which is an edition designed to be installed in a room decoder and so on, is used for the BD-ROM virtual player model. In other words, the BD-ROM virtual player model extends on the basis of J2ME.

Como una característica del lenguaje Java, cuando se define una nueva clase para un programa, este puede extenderse fácilmente. Supongamos que un documento HTML (Lenguaje de Marcado de Hipertexto) no admite un proceso de evento. Para permitir que dicho documento HTML admita el proceso de evento, un guión para el proceso de evento, por ejemplo un guión ECMA (Asociación Europea de Fabricantes de Ordenadores) se describe en el documento HTML. As a feature of the Java language, when a new class is defined for a program, it can be easily extended. Assume that an HTML (Hypertext Markup Language) document does not support an event process. To allow said HTML document to support the event process, a script for the event process, for example an ECMA (European Computer Manufacturers Association) script is described in the HTML document.

Cuando se usa el lenguaje Java, puede añadirse una función correspondiente a un método de extensión definido en el lenguaje Java sin usar múltiples técnicas que logran la función. Por consiguiente, un programa completado se describe en el lenguaje Java solamente. Además, Java ya ha provisto varios entornos de desarrollo de programa. Por consiguiente, puede decirse que el creador de disco puede crear fácilmente contenidos de disco. When using the Java language, a corresponding function can be added to an extension method defined in the Java language without using multiple techniques that achieve the function. Therefore, a completed program is described in the Java language only. In addition, Java has already provided several program development environments. Therefore, it can be said that the disk creator can easily create disk contents.

Cuando el modelo de reproductor virtual BD-ROM se describe en el lenguaje Java, API, una clase que ha definido Sun Microsystems, Inc., puede usarse como está. Por otro lado, el reproductor básico BD 30 es una función original del BD-ROM. Por consiguiente, Java no provee el reproductor básico BD 30 como una clase y API existentes. Cuando dicha función original del BD-ROM se logra por Java, puede haber varios métodos. Sin embargo, según la primera realización de la presente invención, las funciones del reproductor básico BD 30, API, modelos de evento, y así sucesivamente se crean según el BD-ROM. When the BD-ROM virtual player model is described in the Java language, API, a class defined by Sun Microsystems, Inc., can be used as is. On the other hand, the basic BD 30 player is an original BD-ROM function. Therefore, Java does not provide the basic BD 30 player as an existing class and API. When said original BD-ROM function is achieved by Java, there can be several methods. However, according to the first embodiment of the present invention, the functions of the basic BD 30 player, API, event models, and so on are created according to the BD-ROM.

En primer lugar, el reproductor básico BD 30 se define como una clase de Java. El nombre de la clase se define como BDBasicPlayer. La Figura 7 a la Figura 13 muestra listas de ejemplos de métodos de clase BDBasicPlayer. Todos los comandos para el reproductor básico BD 30 se llevan a cabo con dichos métodos. First, the BD 30 basic player is defined as a Java class. The class name is defined as BDBasicPlayer. Figure 7 through Figure 13 shows lists of examples of BDBasicPlayer class methods. All commands for the BD 30 basic player are carried out with these methods.

La Figura 7 muestra ejemplos de métodos usados para obtener información de establecimiento de reproductor. El método getPlayerSpeed() obtiene la velocidad de reproducción del reproductor. El método getPlayerDirection() obtiene la dirección de reproducción del reproductor. El método getDescriptionLanguage() obtiene el idioma de visualización del reproductor. El método getPlayListNumber() obtiene el número de lista de reproducción que se está reproduciendo actualmente. El método getChapterNumber() obtiene el número de capítulo que se está reproduciendo actualmente. El método getPlayerSupport() obtiene la versión y funciones del reproductor. Figure 7 shows examples of methods used to obtain player establishment information. The getPlayerSpeed () method obtains the playback speed of the player. The getPlayerDirection () method obtains the player's playback address. The getDescriptionLanguage () method obtains the display language of the player. The getPlayListNumber () method obtains the playlist number that is currently being played. The getChapterNumber () method obtains the chapter number that is currently being played. The getPlayerSupport () method obtains the version and functions of the player.

La Figura 8A, Figura 8B y Figura 8C muestran ejemplos de métodos usados para reproducir listas de reproducción. El método playPlayList(int playListNumber, long[playListTime]) inicia la reproducción de una lista de reproducción designada por "playListNumber". "playListNumber" no es esencial. "playListTime" designa un tiempo transcurrido de la lista de reproducción. La lista de reproducción se reproduce desde el tiempo transcurrido "playListTime". El método playPlayList(String playListURL, long[PlayListTime]) inicia la reproducción de una lista de reproducción designada por "playListURL". "playListURL" es una lista de reproducción designada por un URL (Localizador Uniforme de Recursos). Una lista de reproducción en Internet puede designarse por un URL. Cuando el reproductor tiene una función de conexión a Internet, una lista de reproducción puede descargarse de un URL designado por "playListURL" y reproducirse. "playListTime" no es esencial. "playListTime" designa un tiempo transcurrido de la lista de reproducción. La lista de reproducción se reproduce desde el tiempo transcurrido "playListTime". Figure 8A, Figure 8B and Figure 8C show examples of methods used to play playlists. The playPlayList method (int playListNumber, long [playListTime]) starts playback of a playlist designated by "playListNumber". "playListNumber" is not essential. "playListTime" designates an elapsed time of the playlist. The playlist is played from the elapsed time "playListTime". The playPlayList (String playListURL, long [PlayListTime]) method starts playback of a playlist designated by "playListURL". "playListURL" is a playlist designated by a URL (Uniform Resource Locator). A playlist on the Internet can be designated by a URL. When the player has an Internet connection function, a playlist can be downloaded from a URL designated by "playListURL" and played. "playListTime" is not essential. "playListTime" designates an elapsed time of the playlist. The playlist is played from the elapsed time "playListTime".

El método playPlayItem(int playListNumber, int playItemNumber) inicia la reproducción de una lista de reproducción designada por "playListNumber" desde un elemento de reproducción designado por "palyItemNumber". "playItemNumber" es "PlayItem_id" que identifica un elemento de reproducción y que es un valor numérico que comienza en 0. Cuando la reproducción se inicia desde el comienzo de una lista de reproducción, el valor de "playItemNumber" es 0. El método playPlayItem (String playListURL, int playItemNumber) inicia la reproducción de una lista de reproducción designada por "playListURL" desde un elemento de reproducción designado por "palyItemNumber". "playItemNumber" es "PlayItem_id" que es un valor numérico que comienza en 0. Cuando la The playPlayItem method (int playListNumber, int playItemNumber) starts playback of a playlist designated by "playListNumber" from a play item designated by "palyItemNumber". "playItemNumber" is "PlayItem_id" that identifies a play item and that is a numerical value that begins at 0. When playback starts from the beginning of a playlist, the value of "playItemNumber" is 0. The playPlayItem method (String playListURL, int playItemNumber) starts playback of a playlist designated by "playListURL" from a play item designated by "palyItemNumber". "playItemNumber" is "PlayItem_id" which is a numerical value that starts at 0. When the

imagen6image6

5 reproducción se inicia desde el comienzo de una lista de reproducción, el valor de "playltemList" es 0. 5 playback starts from the beginning of a playlist, the value of "playltemList" is 0.

El método playChapterMark(int playListNumber, int chapterNumber) reproduce una lista de reproducción designada por "playListNumber" desde un capítulo designado por "chapterNumber". "playListNumber" puede ser "playListURL". Una lista de reproducción siempre comienza con ChapterMark (marca de capítulo). The playChapterMark method (int playListNumber, int chapterNumber) reproduces a playlist designated by "playListNumber" from a chapter designated by "chapterNumber". "playListNumber" can be "playListURL". A playlist always starts with ChapterMark (chapter mark).

El método moveAndPlay(string position, object) posición = ("prev"I"next"I"top"I"tail") objeto = ("PlayItem"I"Chapter") The moveAndPlay method (string position, object) position = ("prev" I "next" I "top" I "tail") object = ("PlayItem" I "Chapter")

10 designa un salto en una lista de reproducción. "next" designa un salto de la posición actualmente reproducida al siguiente elemento de reproducción o capítulo y comienza su reproducción. "top" designa un salto de la posición actualmente reproducida al final de la lista de reproducción. "prev" inicia la reproducción desde el comienzo de la lista de reproducción actualmente reproducida. El método stop() detiene la reproducción. En este punto, el valor de la resistencia estándar no se mantiene. El método playSoundEffect(int sound_id) reproduce un efecto de sonido 10 designates a jump in a playlist. "next" designates a jump from the currently played position to the next play item or chapter and begins playback. "top" designates a jump from the position currently played at the end of the playlist. "prev" starts playback from the beginning of the currently played playlist. The stop () method stops playback. At this point, the value of the standard resistance is not maintained. The playSoundEffect (int sound_id) method reproduces a sound effect

15 seleccionado por "sound_id". 15 selected by "sound_id".

La Figura 9 muestra ejemplos de métodos usados para flujos de vídeo. El método getVideoStreamAvailability() obtiene un estado que representa si se contiene o no un flujo de vídeo designado. El método setVideoStreamNumber() designa un flujo de vídeo que se descodificará. El método getVideoStreamNumber() obtiene un número de flujo de vídeo que se ha seleccionado. El método getVideoStreamAttribute() obtiene atributos Figure 9 shows examples of methods used for video streams. The getVideoStreamAvailability () method obtains a state that represents whether or not a designated video stream is contained. The setVideoStreamNumber () method designates a video stream that will be decoded. The getVideoStreamNumber () method obtains a video stream number that has been selected. The getVideoStreamAttribute () method gets attributes

20 de un flujo de vídeo. Los atributos de un flujo de vídeo son, por ejemplo, sistema de codificación, resolución, relación de aspecto, modo de visualización en el caso de una relación de aspecto de 4 : 3, subtitulado codificado, y así sucesivamente. El método setAngleNumber() designa un número de ángulo. El método getAngleNumber() obtiene un número de ángulo que se ha seleccionado. El método getMaxVideoStreams() obtiene el número de flujos de vídeo que pueden seleccionarse. 20 of a video stream. The attributes of a video stream are, for example, coding system, resolution, aspect ratio, display mode in the case of an aspect ratio of 4: 3, subtitled encoded, and so on. The setAngleNumber () method designates an angle number. The getAngleNumber () method obtains an angle number that has been selected. The getMaxVideoStreams () method obtains the number of video streams that can be selected.

25 La Figura 10 muestra ejemplos de métodos usados para flujos de audio. El método getAudioStreamAvailability() obtiene un estado que representa si se contiene o no un flujo de audio designado. El método getAudioStreamLanguage() obtiene información sobre el lenguaje usado en un flujo de audio designado. El método setAudioStreamNumber() designa un flujo de audio que se reproducirá. El método getAudioStreamNumber() obtiene un número de flujo de audio que se está reproduciendo. El método getAudioStreamAttribute() obtiene atributos de un 25 Figure 10 shows examples of methods used for audio streams. The getAudioStreamAvailability () method obtains a state that represents whether or not a designated audio stream is contained. The getAudioStreamLanguage () method obtains information about the language used in a designated audio stream. The setAudioStreamNumber () method designates an audio stream that will be played. The getAudioStreamNumber () method obtains a number of audio stream that is being played. The getAudioStreamAttribute () method obtains attributes from a

30 flujo de audio. Los atributos de un flujo de audio son, por ejemplo, sistema de codificación, número de canales, número de bits de cuantificador, frecuencia de muestreo, y así sucesivamente. El método getMaxAudioStreams() obtiene el número de flujos de audio que pueden obtenerse. 30 audio stream The attributes of an audio stream are, for example, coding system, number of channels, number of quantizer bits, sampling frequency, and so on. The getMaxAudioStreams () method obtains the number of audio streams that can be obtained.

La Figura 11 muestra ejemplos de métodos usados para flujos de subimágenes. El método getSPStreamAvailability() obtiene un estado que representa si se contiene o no un flujo de subimágenes designado. 35 El método getSPStreamLanguage() obtiene el lenguaje usado en un flujo de subimágenes designado. El método getSPDisplayStatus() obtiene un estado de visualización de un flujo de subimágenes, a saber si se está visualizando Figure 11 shows examples of methods used for sub-image streams. The getSPStreamAvailability () method obtains a state that represents whether or not a designated sub-picture stream is contained. 35 The getSPStreamLanguage () method obtains the language used in a designated sub-picture stream. The getSPDisplayStatus () method obtains a display status of a sub-image stream, namely whether it is being displayed

o no actualmente. El método setSPDisplayStatus() establece un estado de visualización de un flujo de subimágenes, a saber si mostrarlo o no. El método getSPStreamAttribute() obtiene atributos de un flujo de subimágenes. Los atributos de un flujo de subimágenes son, por ejemplo, información sobre las resoluciones de los flujos de or not currently. The setSPDisplayStatus () method sets a display status of a sub-image stream, namely whether to display it or not. The getSPStreamAttribute () method obtains attributes from a sub-image stream. The attributes of a sub-picture stream are, for example, information about the resolutions of the streams of

40 subimágenes, información sobre una relación de aspecto de 4 : 3 o tipo de ancho, y así sucesivamente. 40 sub-images, information on an aspect ratio of 4: 3 or type of width, and so on.

La Figura 12 muestra ejemplos de métodos usados para temporizadores internos. El método sleep() detiene un proceso durante milisegundos designados. El método setTimeout() ejecuta una función o un proceso después de que transcurran los milisegundos designados. El método setInterval() ejecuta un proceso a intervalos de milisegundos predeterminados. El método clearTimer() detiene un proceso de un ID de temporizador de registro 45 designado. El método pauseTimer() pausa un temporizador que tiene un ID de temporizador de registro designado. El método resumeTimer() reanuda un temporizador pausado que tiene un ID de temporizador de registro designado. Figure 12 shows examples of methods used for internal timers. The sleep () method stops a process for designated milliseconds. The setTimeout () method executes a function or process after the designated milliseconds have elapsed. The setInterval () method executes a process at predetermined millisecond intervals. The clearTimer () method stops a process of a designated registration timer ID 45. The pauseTimer () method pauses a timer that has a designated registration timer ID. The resumeTimer () method resumes a paused timer that has a designated registration timer ID.

La Figura 13 muestra un ejemplo de un método usado para una entrada de tecla. El método getPressedKey() obtiene el tipo de una tecla que el usuario ha presionado. Figure 13 shows an example of a method used for a key input. The getPressedKey () method obtains the type of a key that the user has pressed.

1-3. Sobre eventos generados por el reproductor básico BD 1-3. About events generated by the basic BD player

50 Cuando se ejecuta un método para una función de reproductor, si la reacción de la función del reproductor se obtiene, por ejemplo, con respecto a si el funcionamiento del reproductor se ha iniciado de forma normal, puede usarse un valor de retorno del método. Sin embargo, si se designa un proceso que requiere un largo tiempo y es necesario esperar hasta que el proceso esté completo, no puede llevarse a cabo otro proceso. Además, existen procesos cuyas horas de inicio son impredecibles. En dichos casos, una técnica de eventos puede usarse para 50 When a method for a player function is executed, if the reaction of the player function is obtained, for example, with respect to whether the operation of the player has started normally, a method return value can be used. However, if a process that requires a long time is designated and it is necessary to wait until the process is complete, another process cannot be carried out. In addition, there are processes whose start times are unpredictable. In such cases, an event technique can be used to

55 llevar a cabo los procesos de manera efectiva. 55 carry out the processes effectively.

Mientras el reproductor está funcionando, varios eventos tienen lugar. Los eventos que tienen lugar se definen en el modelo de reproductor virtual BD-ROM. Un modelo en el cual cuando el funcionamiento del reproductor varía, un While the player is running, several events take place. The events that take place are defined in the BD-ROM virtual player model. A model in which when the operation of the player varies, a

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

evento tiene lugar y cuando existe un programa correspondiente a un evento, el programa se ejecuta se define por el modelo de reproductor virtual BD-ROM. event takes place and when there is a program corresponding to an event, the program executed is defined by the BD-ROM virtual player model.

Cuando múltiples listas de reproducción se reproducen en un orden predeterminado se provee un programa que lleva a cabo un proceso que comienza la reproducción de una lista de reproducción después de recibir un evento que representa que la reproducción de la lista de reproducción precedente se ha completado. Además, se provee un programa que lleva a cabo un proceso de excepción cuando la siguiente lista de reproducción no se reproduce debido a cualquier causa. When multiple playlists are played in a predetermined order, a program is provided that performs a process that begins playback of a playlist after receiving an event that represents that the reproduction of the preceding playlist has been completed. In addition, a program that performs an exception process is provided when the following playlist is not played due to any cause.

Cuando no se describe dicho evento, una función (un manejador de eventos por defecto) que se construye en el reproductor se ejecuta o el evento se ignora. Cuando no es necesario llevar a cabo un proceso, el evento se ignora de forma activa. En este punto, no se registra un oyente de eventos (que se describirá más adelante). De manera alternativa, cuando no se describe un programa correspondiente al evento, el evento se ignora. When this event is not described, a function (a default event handler) that is built in the player is executed or the event is ignored. When a process is not necessary, the event is actively ignored. At this point, an event listener is not registered (which will be described later). Alternatively, when a program corresponding to the event is not described, the event is ignored.

Se hace referencia al modelo en el cual un evento no periódico tiene lugar y un programa correspondiente al evento se ejecuta como el modelo accionado por evento. Reference is made to the model in which a non-periodic event takes place and a program corresponding to the event is executed as the event driven model.

1-3a. Categorías de eventos 1-3a. Event Categories

Los eventos del modelo de reproductor virtual BD-ROM pueden clasificarse como tres tipos de (1) eventos que tienen lugar en un contenido que se está reproduciendo, (2) un evento que tiene lugar como una interrupción por el usuario, y (3) eventos que tienen lugar correspondientes a cambios de estado del reproductor. The events of the BD-ROM virtual player model can be classified as three types of (1) events that take place in a content that is being played, (2) an event that takes place as an interruption by the user, and (3) events that occur corresponding to changes in player status.

(1) (one)
Los eventos que tienen lugar en un contenido que se está reproduciendo son eventos de interrupción de detección de marca que tienen lugar en momentos designados por las marcas. Cuando dichos eventos tienen lugar, los gráficos se visualizan o eliminan. Dichos eventos son interrupciones preestablecidas. Cuando se lleva a cabo la reproducción, dichos eventos tienen lugar en los mismos tiempos. The events that take place in a content that is being played are brand detection interruption events that take place at times designated by the brands. When these events take place, the graphics are displayed or deleted. These events are pre-established interruptions. When reproduction takes place, these events take place at the same times.

(2) (2)
Se supone que un evento que tiene lugar como una interrupción por el usuario es una entrada de tecla en un comandante de mando a distancia con el cual el usuario hace funcionar el reproductor. El tiempo de interrupción de dicho evento es impredecible dado que no está claro en qué momento el usuario llevará a cabo una entrada de tecla. It is assumed that an event that occurs as an interruption by the user is a key input on a remote control commander with which the user operates the player. The interruption time of this event is unpredictable since it is not clear at what time the user will carry out a key entry.

(3) (3)
Los eventos que tienen lugar correspondientes a los cambios de estado del reproductor son, por ejemplo, un evento que tiene lugar cuando el estado del reproductor cambia de los inicios de paradas al estado de reproducción y un evento que tiene lugar cuando un flujo que se está reproduciendo ha cambiado a otro flujo. Cuando un temporizador se establece en un programa, un evento de interrupción de temporizador tiene lugar en un tiempo designado. Los cambios de estado del reproductor pueden ser (1) eventos que tienen lugar en un contenido que se está reproduciendo y (2) un evento que tiene lugar como una interrupción por el usuario. The events that take place corresponding to the changes in the player's status are, for example, an event that occurs when the player's status changes from the start of stops to the playback status and an event that occurs when a stream is being playing has changed to another flow. When a timer is set in a program, a timer interrupt event takes place at a designated time. The changes in the player's status can be (1) events that take place in a content that is being played and (2) an event that occurs as an interruption by the user.

La Figura 14A, Figura 14B, y Figura 14C muestran una lista de ejemplos de definiciones de eventos que tienen lugar en el objeto BDBasicPlayer del BD-ROM. El objeto BDBasicPlayer es un objeto que tiene lugar en la clase BDBasicPlayer. Figure 14A, Figure 14B, and Figure 14C show a list of examples of event definitions that occur in the BDBasicPlayer object of the BD-ROM. The BDBasicPlayer object is an object that takes place in the BDBasicPlayer class.

En primer lugar, se describirán (1) los eventos que tienen lugar en un contenido que se está reproduciendo. En la Figura 14A, Figura 14B, y Figura 14C, el evento MarkEncounteredEvent tiene lugar cuando se ha detectado una marca mientras se reproducía un contenido. Dicho evento se usa cuando, por ejemplo, se visualiza una pantalla de gráficos. El evento ValidPeriodStartedEvent tiene lugar cuando ha comenzado un período válido de selección de una entrada de usuario. El evento ValidPeriodEndedEvent tiene lugar cuando ha finalizado un período válido de una entrada de usuario. Dicho evento se usa cuando, por ejemplo, se ejecuta un enlace de manera forzada. El evento PlayRepeatedEvent tiene lugar cuando se detecta el comienzo de una región de reproducción de repetición. El evento VideoStreamChangedEvent tiene lugar cuando se cambia un flujo de vídeo que se estaba reproduciendo. El evento AudioStreamChangedEvent tiene lugar cuando se cambia un flujo de audio que se estaba reproduciendo. El evento SubpictureStreamChangedEvent tiene lugar cuando se cambia un flujo de subimágenes que se estaba reproduciendo. El evento StreamDisplayStatusChangedEvent tiene lugar cuando se cambia el estado de visualización/no visualización de un flujo. El evento PlayListStartedEvent tiene lugar cuando se detecta el comienzo de una lista de reproducción. El evento PlayListEndedEvent tiene lugar cuando se detecta el fin de una lista de reproducción. El evento PlayltemStartedEvent tiene lugar cuando se detecta el comienzo de un elemento de reproducción. El evento PlayltemEndedEvent tiene lugar cuando se detecta el fin de un elemento de reproducción. First, the events that take place in a content that is being played will be described (1). In Figure 14A, Figure 14B, and Figure 14C, the MarkEncounteredEvent event occurs when a mark has been detected while content is playing. This event is used when, for example, a graphic screen is displayed. The ValidPeriodStartedEvent event occurs when a valid period of selecting a user entry has begun. The ValidPeriodEndedEvent event occurs when a valid period of a user entry has ended. This event is used when, for example, a forced link is executed. The PlayRepeatedEvent event occurs when the beginning of a replay region is detected. The VideoStreamChangedEvent event occurs when a video stream that was being played is changed. The AudioStreamChangedEvent event occurs when an audio stream that was being played is changed. The SubpictureStreamChangedEvent event occurs when a sub-stream of images that were being played is changed. The StreamDisplayStatusChangedEvent event occurs when the display / non-display status of a flow is changed. The PlayListStartedEvent event occurs when the beginning of a playlist is detected. The PlayListEndedEvent event occurs when the end of a playlist is detected. The PlayltemStartedEvent event occurs when the beginning of a playback item is detected. The PlayltemEndedEvent event occurs when the end of a playback item is detected.

A continuación, se describirá (2) un evento que tiene lugar como una interrupción por el usuario. El evento RmKeyEvent tiene lugar cuando se presiona una tecla del comandante de mando a distancia. Una tecla que se ha presionado se determina con un oyente de eventos correspondiente (que se describirá más adelante). Next, an event that occurs as an interruption by the user will be described (2). The RmKeyEvent event occurs when a key on the remote commander is pressed. A key that has been pressed is determined with a corresponding event listener (which will be described later).

A continuación, se describirán (3) eventos que tienen lugar correspondientes a cambios de estado del reproductor. El evento PlayStartedEvent tiene lugar cuando el reproductor ha iniciado la reproducción. El evento PlayStoppedEvent tiene lugar cuando el reproductor ha detenido la reproducción. El evento PlayStilledEvent tiene lugar cuando el reproductor ha paralizado la reproducción. El evento StillReleaseEvent tiene lugar cuando el Next, we will describe (3) events that take place corresponding to changes in player status. The PlayStartedEvent event occurs when the player has started playback. The PlayStoppedEvent event occurs when the player has stopped playback. The PlayStilledEvent event takes place when the player has stopped playback. The StillReleaseEvent event takes place when the

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

reproductor ha liberado el estado paralizado de la reproducción. El evento PlayPausedEvent tiene lugar cuando la reproducción del reproductor se ha pausado por el usuario. El evento PauseReleaseEvent tiene lugar cuando el estado pausado se ha liberado. El evento TimerFiredEvent tiene lugar cuando un temporizador en cuenta regresiva se convierte en 0 o un temporizador en cuenta ascendente se convierte en un valor predeterminado. player has released the paralyzed state of playback. The PlayPausedEvent event takes place when player playback has been paused by the user. The PauseReleaseEvent event takes place when the paused state has been released. The TimerFiredEvent event occurs when a countdown timer becomes 0 or a countdown timer becomes a default value.

1-3b Sobre modelos de evento 1-3b About event models

Se supone que los eventos descritos en la Figura 14A, Figura 14B, y Figura 14C tienen lugar en el objeto BDBasicPlayer. En otras palabras, se supone que una fuente de evento del lenguaje Java es el objeto BDBasicPlayer. Los eventos se definen como objetos de evento en el lenguaje Java. Un método que se ejecuta cuando un evento tiene lugar se llama un oyente. Para ejecutar un oyente, es necesario registrar un oyente de eventos en una fuente de eventos. Cuando un oyente se ha registrado en una fuente de eventos, el objeto BDBasicPlayer transmite un evento al oyente de evento. El objeto que ha recibido el evento ejecuta un método provisto en el objeto. It is assumed that the events described in Figure 14A, Figure 14B, and Figure 14C take place in the BDBasicPlayer object. In other words, an event source of the Java language is assumed to be the BDBasicPlayer object. Events are defined as event objects in the Java language. A method that is executed when an event takes place is called a listener. To execute a listener, it is necessary to register an event listener in an event source. When a listener has registered with an event source, the BDBasicPlayer object transmits an event to the event listener. The object that received the event executes a method provided on the object.

A continuación, con referencia a la Figura 15, se describirán oyentes y eventos. Los objetos 211, 211, ... y así sucesivamente tienen una interfaz de oyente que recibe un evento y ejecuta un oyente. El objeto 211 registra un oyente correspondiente a un evento que el objeto 211 desea recibir para el objeto BDBasicPlayer 210 (etapa E10). El registro de un oyente correspondiente a un evento para el objeto BDBasicPlayer 210 se llama el registro de oyente de eventos. Los múltiples objetos 211, 211, ..., y así sucesivamente pueden llevar a cabo el registro de oyente de eventos para el objeto BDBasicPlayer 210. Next, with reference to Figure 15, listeners and events will be described. Objects 211, 211, ... and so on have a listener interface that receives an event and executes a listener. Object 211 registers a listener corresponding to an event that object 211 wishes to receive for the BDBasicPlayer object 210 (step E10). The record of a listener corresponding to an event for the BDBasicPlayer 210 object is called the event listener record. The multiple objects 211, 211, ..., and so on can perform the event listener registration for the BDBasicPlayer 210 object.

Un objeto que implementa una interfaz de oyente es un objeto que implementa un método que se ejecuta cuando un evento tiene lugar. En el ejemplo que se muestra en la Figura 15, el método doAction() que se ejecuta cuando un evento predeterminado tiene lugar se implementa para el objeto 211. Cuando un evento tiene lugar en el objeto BDBasicPlayer 210 (en la etapa E11) y el evento se ha registrado en el objeto BDBasicPlayer 210 como un oyente de eventos, el evento se transmite al objeto 211 que se ha registrado como un oyente de eventos (en la etapa E12). El objeto 211 que ha recibido el evento ejecuta el método doAction() (en la etapa E13). An object that implements a listener interface is an object that implements a method that is executed when an event takes place. In the example shown in Figure 15, the doAction () method that is executed when a default event takes place is implemented for object 211. When an event takes place on the BDBasicPlayer 210 object (in step E11) and the event has been registered in the BDBasicPlayer 210 object as an event listener, the event is transmitted to object 211 that has been registered as an event listener (in step E12). Object 211 that received the event executes the doAction () method (in step E13).

La Figura 16A y Figura 16B muestran una lista de ejemplos de métodos usados para registrar oyentes de eventos. El método addContentListener(ContentsListener 1) registra un oyente designado para el objeto BDBasicPlayer para recibir el evento ContentsEvent del objeto BDBasicPlayer. El oyente registrado se añade a una matriz ContentsListener(). El evento ContentsEvent es un término general de (1) eventos que tienen lugar en un contenido que se está reproduciendo. El método addRmtKeyListener(RmtKeyListener 1) registra un oyente designado para recibir el evento RmtKeyEvent ((2) un evento que tiene lugar como una interrupción por el usuario, descrito en la Figura 14A, Figura 14B y Figura 14C) del objeto BDBasicPlayer. El oyente registrado se añade a la matriz RmtKeyListener(). El método addPlayerStatusListener(PlayerStatusListener 1) registra un oyente designado para recibir el evento PlayerStatusEvent del objeto BDBasicPlayer. El oyente registrado se añade a la matriz PlayerStatusListener(). El evento PlayerStatusEvent es un término general de (3) eventos que tienen lugar correspondientes al cambio de estado del reproductor, según se describe en la Figura 14A, Figura 14B y Figura 14C. Figure 16A and Figure 16B show a list of examples of methods used to register event listeners. The addContentListener (ContentsListener 1) method registers a listener designated for the BDBasicPlayer object to receive the ContentsEvent event of the BDBasicPlayer object. The registered listener is added to a ContentsListener () array. The ContentsEvent event is a general term of (1) events that occur in content that is being played. The addRmtKeyListener (RmtKeyListener 1) method registers a listener designated to receive the RmtKeyEvent event ((2) an event that occurs as a user interrupt, described in Figure 14A, Figure 14B and Figure 14C) of the BDBasicPlayer object. The registered listener is added to the RmtKeyListener () matrix. The addPlayerStatusListener (PlayerStatusListener 1) method registers a listener designated to receive the PlayerStatusEvent event of the BDBasicPlayer object. The registered listener is added to the PlayerStatusListener () array. The PlayerStatusEvent event is a general term of (3) events that take place corresponding to the change of player status, as described in Figure 14A, Figure 14B and Figure 14C.

El método removeContentListener(ContentsListener 1) elimina un oyente designado para no recibir el evento ContentsEvent del objeto BDBasicPlayer. El método removeRmtKeyListener(RmkKeyListener 1) elimina un oyente designado para no recibir el evento RmtKeyEvent del objeto BDBasicPlayer. El método removePlayerStatusListener(PlayerStatusListener 1) elimina un oyente designado del objeto BDBasicPlayer para no recibir el evento PlayerStatusEvent del objeto BDBasicPlayer. The removeContentListener (ContentsListener 1) method removes a listener designated not to receive the ContentsEvent event of the BDBasicPlayer object. The removeRmtKeyListener (RmkKeyListener 1) method removes a listener designated not to receive the RmtKeyEvent event from the BDBasicPlayer object. The removePlayerStatusListener (PlayerStatusListener 1) method removes a designated listener from the BDBasicPlayer object so as not to receive the PlayerStatusEvent event from the BDBasicPlayer object.

Cuando se ejecuta un método que comienza con "add" (añadir), se registra un oyente de eventos. Un oyente de eventos se registra antes de que un evento deseado tenga lugar. Cuando un evento no necesita recibirse, con un método que comienza con "remove" (eliminar), la transmisión del evento puede detenerse. When a method that begins with "add" is executed, an event listener is registered. An event listener registers before a desired event takes place. When an event does not need to be received, with a method that begins with "remove", the transmission of the event can be stopped.

En la Figura 16A y la Figura 16B, el método getContentsListeners() devuelve una matriz de todos los oyentes de contenido registrados en el objeto BDBasicPlayer. El método getRmtkeyListeners() devuelve una matriz de todos los RmtkeyListeners registrados en el objeto BDBasicPlayer. El método getPlayerStatusListeners() devuelve una matriz de todos los PlayerStatusListeners registrados en el objeto BDBasicPlayer. In Figure 16A and Figure 16B, the getContentsListeners () method returns an array of all content listeners registered in the BDBasicPlayer object. The getRmtkeyListeners () method returns an array of all the RmtkeyListeners registered in the BDBasicPlayer object. The getPlayerStatusListeners () method returns an array of all PlayerStatusListeners registered in the BDBasicPlayer object.

A continuación, se describirá un ejemplo de un programa creado mediante el uso del registro de oyente de eventos. En el presente ejemplo, se crea un programa que hace que los botones aparezcan en una escena designada de una lista de reproducción que se está reproduciendo. Para determinar que una escena predeterminada se está reproduciendo en una lista de reproducción, puede usarse una función de marca. La función de marca es una función que puede establecer cualquier tiempo de una lista de reproducción. Cuando una escena marcada está por reproducirse, el evento MarkEncounteredEvent descrito en la Figura 14A, Figura 14B y Figura 14C tiene lugar. Un objeto de botón que implementa una interfaz de oyente que hace que un botón aparezca cuando el evento MarkEncounteredEvent tiene lugar puede crearse. En otras palabras, un programa que registra un oyente de eventos para el objeto BDBasicPlayer y hace que una imagen aparezca cuando el evento MarkEncounteredEvent se recibe puede implementarse en el objeto del botón. Next, an example of a program created by using the event listener record will be described. In the present example, a program is created that causes the buttons to appear in a designated scene of a playlist that is being played. To determine that a default scene is playing in a playlist, a mark function can be used. The brand function is a function that can set any time in a playlist. When a marked scene is about to play, the MarkEncounteredEvent event described in Figure 14A, Figure 14B and Figure 14C takes place. A button object that implements a listener interface that causes a button to appear when the MarkEncounteredEvent event takes place can be created. In other words, a program that registers an event listener for the BDBasicPlayer object and causes an image to appear when the MarkEncounteredEvent event is received can be implemented in the button object.

imagen7image7

De manera más práctica, como se ejemplifica en la Figura 17, se decide en qué escena de una lista de reproducción aparece un botón (en la etapa E20). Una marca se establece en el momento en que el botón aparece en la lista de reproducción (en la etapa E21). A continuación, un método que registra un oyente de eventos correspondiente a la marca que se ha establecido en la etapa E21 se describe en el programa (en la etapa E22). En otras palabras, en la More practical, as exemplified in Figure 17, it is decided in which scene of a playlist a button appears (in step E20). A mark is set at the moment the button appears in the playlist (in step E21). Next, a method that records an event listener corresponding to the mark that has been set in step E21 is described in the program (in step E22). In other words, in the

5 etapa E22, se describe la función llevada a cabo en la etapa E10 que se muestra en la Figura 15. Un proceso que se ejecuta cuando un evento tiene lugar se describe en el objeto de botón. La interfaz de oyente correspondiente al evento de generación de marca se implementa en el objeto de botón (en la etapa E23). En otras palabras, en la etapa E23, se describe el contenido de la etapa E13. Dichos programas se describen en el lenguaje Java. 5 step E22, describes the function performed in step E10 shown in Figure 15. A process that is executed when an event takes place is described in the button object. The listener interface corresponding to the brand generation event is implemented in the button object (in step E23). In other words, in step E23, the content of step E13 is described. These programs are described in the Java language.

La Figura 18 muestra un ejemplo de un proceso que implementa una función de la programación que se muestra en Figure 18 shows an example of a process that implements a programming function shown in

10 la Figura 17 para el lado de reproducción. El objeto BDBasicPlayer comienza la reproducción de una lista de reproducción (en la etapa E30). Se supone que mientras se está reproduciendo una lista de reproducción, el objeto BDBasicPlayer ha detectado una marca en la lista de reproducción (en la etapa E31). El objeto BDBasicPlayer comprueba si un oyente de eventos correspondiente a la marca detectada se ha registrado o no (en la etapa E32). En otras palabras, en la etapa E32, se determina si el proceso en la etapa E10 descrita en la Figura 15 se ha llevado 10 Figure 17 for the playback side. The BDBasicPlayer object starts playback of a playlist (in step E30). It is assumed that while a playlist is being played, the BDBasicPlayer object has detected a mark in the playlist (in step E31). The BDBasicPlayer object checks whether an event listener corresponding to the detected mark has been registered or not (in step E32). In other words, in step E32, it is determined whether the process in step E10 described in Figure 15 has been carried out.

15 a cabo o no. Si el resultado determinado representa que el oyente de eventos correspondiente no se ha registrado, el flujo avanza a la etapa E36. Por consiguiente, el objeto BDBasicPlayer no transmite un evento. 15 out or not. If the determined result represents that the corresponding event listener has not been registered, the flow proceeds to step E36. Therefore, the BDBasicPlayer object does not transmit an event.

Por otro lado, cuando el resultado determinado representa que el oyente de eventos correspondiente a la marca se ha registrado, el flujo avanza a la etapa E33. En la etapa E33, el objeto BDBasicPlayer transmite el evento MarkEncounteredEvent a un objeto que ha registrado el oyente de eventos. Dicho proceso es igual al proceso en la On the other hand, when the determined result represents that the event listener corresponding to the brand has been registered, the flow advances to step E33. In step E33, the BDBasicPlayer object transmits the MarkEncounteredEvent event to an object that the event listener has registered. This process is the same as the process in

20 etapa E12 que se muestra en la Figura 15. Cuando el objeto ha recibido el evento MarkEncounteredEvent, el objeto ejecuta el método que se ejecutará cuando el evento MarkEncounteredEvent tenga lugar (en la etapa E34). En otras palabras, en la etapa E34, se ejecuta el método doAction() en la etapa E13 que se muestra en la Figura 15. En el presente ejemplo, el método doAction describe un proceso que hace que un botón aparezca en la pantalla. El botón aparece en la pantalla correspondiente a la descripción (en la etapa E35). 20 stage E12 shown in Figure 15. When the object has received the MarkEncounteredEvent event, the object executes the method that will be executed when the MarkEncounteredEvent event takes place (in step E34). In other words, in step E34, the doAction () method is executed in step E13 shown in Figure 15. In the present example, the doAction method describes a process that causes a button to appear on the screen. The button appears on the screen corresponding to the description (in step E35).

25 Según se describe en la sección de técnica relacionada que se muestra en la Figura 2A y Figura 2B, en el vídeo DVD convencional, dado que la información de los botones se ha multiplexado con un flujo AV, cuando la hora de inicio de la aparición del botón cambia, es necesario volver a multiplexar el flujo AV. 25 As described in the related technique section shown in Figure 2A and Figure 2B, in conventional DVD video, given that the information on the buttons has been multiplexed with an AV stream, when the start time of the appearance of the button changes, it is necessary to multiplex the AV flow again.

Por el contrario, en el modelo de reproductor virtual BD-ROM según la primera realización de la presente invención, mediante el cambio de la posición de establecimiento de una marca en el eje temporal solamente, la hora de inicio On the contrary, in the BD-ROM virtual player model according to the first embodiment of the present invention, by changing the position of setting a mark on the time axis only, the start time

30 de aparición del botón puede cambiarse. Según la primera realización de la presente invención, como se muestra en la Figura 19A, Figura 19B y Figura 19C, un archivo de flujo AV clip (Figura 19A), un archivo de datos de marca (Figura 19B), y un archivo de datos de botón (Figura 19C) se estructuran de manera independiente (la estructura de archivo se describirá más adelante). El archivo de flujo AV clip es un archivo en el cual un paquete de vídeo y un paquete de audio se multiplexan. 30 button appearance can be changed. According to the first embodiment of the present invention, as shown in Figure 19A, Figure 19B and Figure 19C, an AV clip stream file (Figure 19A), a brand data file (Figure 19B), and a data file Buttons (Figure 19C) are structured independently (the file structure will be described later). The AV clip stream file is a file in which a video packet and an audio packet are multiplexed.

35 En dicha manera, la información de una marca se almacena en un archivo de base de datos que es diferente de un archivo de flujo AV clip. Por consiguiente, como se muestra en la Figura 19A, Figura 19B y Figura 19C, cuando la hora de inicio de aparición de una imagen de botón cambia del tiempo pts1 al tiempo pts2, es necesario solamente cambiar el tiempo pts1 de la información de marca al tiempo pts2. Por consiguiente, incluso si la posición de una marca se cambia, no es necesario volver a multiplexar el flujo AV clip. 35 In that way, the information of a brand is stored in a database file that is different from an AV clip stream file. Therefore, as shown in Figure 19A, Figure 19B and Figure 19C, when the start time of the appearance of a button image changes from time pts1 to time pts2, it is only necessary to change the time pts1 of the brand information to pts2 time. Therefore, even if the position of a brand is changed, it is not necessary to multiplex the AV clip stream again.

40 Además, según la primera realización, los datos que componen un botón se almacenan en un archivo que es diferente de un archivo de flujo AV clip. Por consiguiente, como un proceso ejecutado cuando se selecciona un botón, solo el método del objeto de botón independiente del archivo de flujo AV clip necesita cambiarse. Como se describe más arriba, en el vídeo DVD convencional, dado que un comando de botón que lleva a cabo un proceso que se ejecutará cuando el botón se selecciona se multiplexa con un flujo AV, el proceso ejecutado cuando el botón In addition, according to the first embodiment, the data that makes up a button is stored in a file that is different from an AV clip stream file. Therefore, as a process executed when a button is selected, only the method of the button object independent of the AV clip stream file needs to be changed. As described above, in conventional DVD video, since a button command that performs a process that will be executed when the button is selected is multiplexed with an AV stream, the process executed when the button

45 se selecciona no puede lograrse fácilmente. 45 is selected cannot be easily achieved.

En el perfil completo del BD-ROM, el anterior modelo de reproductor virtual BD-ROM puede proveer más flexibilidad y una autorización más fácil que el vídeo DVD convencional. In the full BD-ROM profile, the previous BD-ROM virtual player model can provide more flexibility and easier authorization than conventional DVD video.

En la realización anterior, el modelo de reproductor virtual BD-ROM se estructura sobre la base de un modelo de oyente de eventos orientado por el objeto. De manera alternativa, un modelo de reproductor virtual BD-ROM puede In the previous embodiment, the BD-ROM virtual player model is structured on the basis of an object-oriented event listener model. Alternatively, a BD-ROM virtual player model can

50 estructurarse con un modelo accionado por evento más simple que dicho ejemplo. 50 be structured with a simpler event driven model than said example.

A continuación, con referencia a la Figura 20, se describirá un modelo de reproductor virtual BD-ROM basado en un modelo accionado por evento. Los eventos que tienen lugar en el objeto BDBasicPlayer son iguales a aquellos en un modelo orientado por objeto que se muestra en la Figura 15. En el caso del presente modelo accionado por evento, se supone que cuando un evento tiene lugar, solo se requiere el método processEvent() definido en el objeto Next, with reference to Figure 20, a BD-ROM virtual player model based on an event driven model will be described. The events that take place in the BDBasicPlayer object are the same as those in an object-oriented model shown in Figure 15. In the case of this event-driven model, it is assumed that when an event takes place, only the event is required. processEvent () method defined in the object

55 BDBasicPlayer. En otras palabras, en el modelo, no importa qué evento tiene lugar, se requiere el mismo método. Por consiguiente, para cambiar un proceso correspondiente al tipo de un evento que tiene lugar, es necesario determinar qué evento ha tenido lugar en el método processEvent(). 55 BDBasicPlayer. In other words, in the model, no matter what event takes place, the same method is required. Therefore, to change a process corresponding to the type of an event taking place, it is necessary to determine which event has taken place in the processEvent () method.

imagen8image8

En el presente modelo, no es necesario registrar un oyente de eventos correspondiente a cada evento. Sin embargo, cuando un evento tiene lugar, dado que se requiere el método processEvent(), la eficiencia de dicho modelo es baja. Además, dado que el método processEvent() que se procesará se define de manera fija en el objeto BDBasicPlayer, dicho modelo no tiene expansibilidad que permita definir una nueva rutina de proceso en otro objeto In this model, it is not necessary to register an event listener corresponding to each event. However, when an event takes place, since the processEvent () method is required, the efficiency of that model is low. In addition, since the processEvent () method to be processed is fixedly defined in the BDBasicPlayer object, this model has no expandability that allows defining a new process routine in another object

5 y ejecutarla. Por consiguiente, según la primera realización de la presente invención, la cual enfatiza la alta expansibilidad, se prefiere estructurar el modelo de reproductor virtual BD-ROM con un modelo orientado por el objeto descrito en la Figura 15. 5 and run it. Accordingly, according to the first embodiment of the present invention, which emphasizes the high expandability, it is preferred to structure the BD-ROM virtual player model with an object-oriented model described in Figure 15.

1-4. Sobre las entradas de usuario 1-4. About user entries

La Figura 21A, Figura 21B, Figura 21C y Figura 21D muestran una lista de ejemplos de definiciones de comandos Figure 21A, Figure 21B, Figure 21C and Figure 21D show a list of examples of command definitions

10 de entradas de usuario que el modelo de reproductor virtual BD-ROM puede recibir. Se supone que las entradas de usuario son entradas de teclas del comandante de mando a distancia con el cual el usuario hace funcionar el reproductor y entradas correspondientes a la pantalla de menú del reproductor. En el modelo de reproductor virtual BD-ROM, las entradas de usuario son un tipo de eventos de entrada de tecla. 10 user inputs that the BD-ROM virtual player model can receive. It is assumed that the user inputs are key inputs of the remote control commander with which the user operates the player and entries corresponding to the player menu screen. In the BD-ROM virtual player model, user inputs are a type of key input events.

El comando timeSearch(playlistNumber, Time) hace que un escenario que se está reproduciendo se reproduzca The timeSearch (playlistNumber, Time) command causes a scenario that is playing to play

15 desde el tiempo designado por "Time" (Tiempo). El comando play(palylistNumber, chapterNumber) hace que un escenario designado se reproduzca desde un capítulo designado por "chapterNumber". El comando stop() hace que la reproducción se detenga. El comando prev() hace que la reproducción comience desde el inicio del capítulo previo al capítulo que se está reproduciendo. El comando top() hace que la reproducción comience desde el inicio de un capítulo que se está reproduciendo. El comando next() hace que la reproducción comience desde el inicio del 15 from the time designated by "Time". The play (palylistNumber, chapterNumber) command causes a designated scenario to be played from a chapter designated by "chapterNumber". The stop () command causes playback to stop. The prev () command causes playback to start from the beginning of the chapter prior to the chapter being played. The top () command causes playback to start from the beginning of a chapter that is being played. The next () command causes playback to start from the beginning of the

20 capítulo siguiente al capítulo que se está reproduciendo. El comando forwardScan(speed) hace que la reproducción se lleve a cabo en la dirección hacia adelante a una velocidad designada por "speed" (velocidad). El comando backwardScan(speed) hace que la reproducción se lleve a cabo en la dirección hacia atrás a una velocidad designada por "speed" (velocidad). "speed" puede designarse en el rango de 0,1 a 360. 20 chapter following the chapter being played. The forwardScan (speed) command causes playback to take place in the forward direction at a speed designated by "speed". The backwardScan (speed) command causes playback to take place in the backward direction at a speed designated by "speed". "speed" can be designated in the range of 0.1 to 360.

El comando moveCursor(direction, [level]) hace que el cursor se mueva en las direcciones superior, inferior, The moveCursor (direction, [level]) command causes the cursor to move in the upper, lower,

25 izquierda y derecha. "direction" (dirección) es cualquiera de "upper" (superior), "lower" (inferior), "left" (izquierda) y "right" (derecha) que hacen que el cursor se mueva en las direcciones superior, inferior, izquierda y derecha, respectivamente. "level" (nivel) puede designarse con un valor en el rango de "0" a "255". "level" es opcional y normalmente no se usa o es "0". Cuando "level" es un valor intermedio ("1" a "255"), un joystick analógico puede representarse. 25 left and right. "direction" is any of "upper" (upper), "lower" (lower), "left" (left) and "right" (right) that make the cursor move in the upper, lower, left and right, respectively. "level" can be designated with a value in the range of "0" to "255". "level" is optional and is not normally used or is "0". When "level" is an intermediate value ("1" to "255"), an analog joystick can be represented.

30 El comando click(buttonNumber) hace que se haga click en un botón en la pantalla. El comando focus(buttonNumber) hace que la atención se centre en un botón en la pantalla. 30 The click (buttonNumber) command causes a button to be clicked on the screen. The focus (buttonNumber) command causes attention to be focused on a button on the screen.

El comando stillOff() hace que la reproducción paralizada por el reproductor se reanude. El comando stillOff() puede integrarse con el comando pauseOff. El comando pauseOn() hace que la reproducción se pause. El comando pauseOn() puede funcionar solamente cuando se reproduce un escenario. El comando pauseOff() hace que la The stillOff () command causes playback stopped by the player to resume. The stillOff () command can be integrated with the pauseOff command. The pauseOn () command causes playback to pause. The pauseOn () command can only work when a scenario is played. The pauseOff () command causes the

35 reproducción pausada se libere. 35 leisurely playback is released.

El comando LanguageSelect(languageCode) designa el idioma de visualización del menú. El comando StreamChange(StreamNumber) hace que un flujo que se está reproduciendo cambie. El comando setEnabled (Boolean) hace que un flujo se visualice/no se visualice. El comando angleChange(angleNumber) hace que un ángulo de visualización cambie. El comando parentalCountrySelect (countryCode) hace que un código de país para The LanguageSelect (languageCode) command designates the display language of the menu. The StreamChange (StreamNumber) command causes a stream that is playing to change. The setEnabled (Boolean) command causes a flow to be displayed / not displayed. The angleChange (angleNumber) command causes a viewing angle to change. The parentalCountrySelect (countryCode) command causes a country code to

40 un nivel parental se establezca. El comando videoPresentationModeChange(mode) designa un formato de visualización de vídeo. "mode" (modo) es cualquiera de "Ancho", "LB (Letter Box)" y "PanScan". 40 a parental level is set. The videoPresentationModeChange (mode) command designates a video display format. "mode" is any of "Width", "LB (Letter Box)" and "PanScan".

La Figura 22 muestra un ejemplo de clase RmtKeyEvent que representa un evento de entrada de tecla que tiene lugar en el comandante de mando a distancia. El parámetro "source" es un objeto de una fuente de un evento. Por consiguiente, "source" representa el objeto BDBasicPlayer. El parámetro "id" es un entero que representa el tipo de Figure 22 shows an example of a RmtKeyEvent class that represents a key input event that takes place in the remote control commander. The "source" parameter is an object of a source of an event. Therefore, "source" represents the BDBasicPlayer object. The "id" parameter is an integer that represents the type of

45 evento. El parámetro "when" es un entero en el formato largo que representa el tiempo en el cual un evento tiene lugar. El parámetro "mtKeyCode" es un código tipo entero correspondiente a una tecla virtual de entrada o "VK_UNDEFINED". "VK_UNDEFINED" se describirá más adelante. 45 event The "when" parameter is an integer in the long format that represents the time in which an event takes place. The "mtKeyCode" parameter is an integer type code corresponding to a virtual input key or "VK_UNDEFINED". "VK_UNDEFINED" will be described later.

Como se describe en la Figura 3A y Figura 3B, las entradas de usuario mediante teclas del comandante de mando a distancia se reciben por el hardware y se transfieren al objeto BDBasicPlayer. El objeto BDBasicPlayer genera el As described in Figure 3A and Figure 3B, user inputs via remote control commander keys are received by the hardware and transferred to the BDBasicPlayer object. The BDBasicPlayer object generates the

50 objeto RmtKeyEvent correspondiente a la entrada de usuario y clase RmtKeyEvent. Se informa a un objeto que ha registrado un oyente de eventos correspondiente al objeto RmtKeyEvent sobre un comando correspondiente a una entrada de usuario. 50 RmtKeyEvent object corresponding to the user input and RmtKeyEvent class. An object that has registered an event listener corresponding to the RmtKeyEvent object is informed about a command corresponding to a user input.

La Figura 23 muestra una lista de ejemplos de métodos del objeto RmtKeyEvent. El método getRmtKeyCode devuelve un código de tecla correspondiente a una tecla que ha ocasionado que un evento tenga lugar. El método Figure 23 shows a list of examples of methods of the RmtKeyEvent object. The getRmtKeyCode method returns a key code corresponding to a key that has caused an event to take place. The method

55 setRmtKeyCode establece un código de tecla de una tecla que hace que un evento tenga lugar. Cuando se ejecuta el método getRmtKeyCode, puede determinarse qué objeto de tecla RmtKeyEvent tiene lugar. 55 setRmtKeyCode sets a key code of a key that causes an event to take place. When the getRmtKeyCode method is executed, which RmtKeyEvent key object can be determined.

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

60 60

La Figura 24, Figura 25A y Figura 25B muestran listas de ejemplos de teclas obtenidas por el método getRmtKeyCode descrito en la Figura 23. Las teclas que comienzan con "VK" que se muestran en la Figura 25A y Figura 25B son teclas virtuales en el objeto BDBasicPalyer. La tecla VK_POWER provee una función correspondiente a la tecla de encendido. La tecla VK_POWER_ON provee una función correspondiente a la tecla ON (ENCENDIDO). La tecla VK_POWER_OFF provee una función correspondiente a la tecla OFF (APAGADO). La tecla VK_MENU provee una función correspondiente a una tecla de menú que hace que un menú aparezca. La tecla VK_ENTER provee una función correspondiente a una tecla de ingreso que hace que se ingresen datos. La tecla VK_RETURN provee una función correspondiente a una tecla de retorno que hace que la etapa de un proceso se devuelva. Figure 24, Figure 25A and Figure 25B show lists of examples of keys obtained by the getRmtKeyCode method described in Figure 23. The keys that start with "VK" shown in Figure 25A and Figure 25B are virtual keys on the object BDBasicPalyer. The VK_POWER key provides a function corresponding to the power key. The VK_POWER_ON key provides a function corresponding to the ON key. The VK_POWER_OFF key provides a function corresponding to the OFF key. The VK_MENU key provides a function corresponding to a menu key that causes a menu to appear. The VK_ENTER key provides a function corresponding to an entry key that causes data to be entered. The VK_RETURN key provides a function corresponding to a return key that causes the stage of a process to be returned.

La tecla VK_PLAY provee una función correspondiente a una tecla de reproducción que hace que se lleve a cabo la reproducción. La tecla VK_STOP provee una función correspondiente a una tecla de parada que hace que se detenga la reproducción. La tecla VK_PAUSE provee una función correspondiente a una tecla de pausa que hace que se pause la reproducción. La tecla VK_FAST_FORWARD provee una función correspondiente a una tecla de avance rápido que hace que se lleve a cabo la reproducción hacia adelante de forma rápida. La tecla VK_FAST_REVERSE provee una función correspondiente a una tecla de marcha atrás que hace que se lleve a cabo la reproducción hacia atrás de forma rápida. La tecla VK_SLOW_FORWARD provee una función correspondiente a una tecla de avance lento que hace que se lleve a cabo la reproducción lenta hacia adelante. La tecla VK_SLOW_REVERSE provee una función correspondiente a una tecla de reproducción hacia atrás lenta que hace que se lleve a cabo la reproducción lenta hacia atrás. La tecla VK_STEP_FORWARD provee una función correspondiente a una tecla de avance de etapa que hace que se lleve a cabo la reproducción de etapa hacia adelante. La tecla VK_STEP_REVERSE provee una función correspondiente a una tecla de rebobinado de etapa que hace que se lleve a cabo la reproducción de etapa hacia atrás. The VK_PLAY key provides a function corresponding to a playback key that causes playback to take place. The VK_STOP key provides a function corresponding to a stop key that causes playback to stop. The VK_PAUSE key provides a function corresponding to a pause key that causes playback to pause. The VK_FAST_FORWARD key provides a function corresponding to a fast forward key that causes fast forward playback. The VK_FAST_REVERSE key provides a function corresponding to a reverse key that causes fast reverse playback. The VK_SLOW_FORWARD key provides a function corresponding to a slow forward key that causes slow forward playback. The VK_SLOW_REVERSE key provides a function corresponding to a slow backward playback key that causes slow backward playback. The VK_STEP_FORWARD key provides a function corresponding to a stage advance key that causes forward stage playback to be performed. The VK_STEP_REVERSE key provides a function corresponding to a stage rewind key that causes stage backward playback to be performed.

La tecla VK_NEXT provee una función correspondiente a una tecla de siguiente que hace que se ingrese un valor correspondiente a "next" (siguiente). La tecla VK_PREVIOUS provee una función correspondiente a una tecla de previo que hace que se ingrese un valor correspondiente a "previous" (previo). Con la tecla VK_NEXT y la tecla VK_PREVIOUS, se provoca que el capítulo actual salte a los capítulos siguiente y previo, respectivamente. The VK_NEXT key provides a function corresponding to a next key that causes a value corresponding to "next" to be entered. The VK_PREVIOUS key provides a function corresponding to a previous key that causes a value corresponding to "previous" to be entered. With the VK_NEXT key and the VK_PREVIOUS key, the current chapter is caused to jump to the next and previous chapters, respectively.

La tecla VK_UP provee una función correspondiente a la tecla de ascendente que hace que se ingrese un valor "up" (ascendente). La tecla VK_DOWN provee una función correspondiente a la tecla de descendente que hace que se ingrese un valor "down" (descendente). La tecla VK_RIGHT provee una función correspondiente a la tecla derecha que hace que se ingrese un valor "right" (derecho). La tecla VK_LEFT provee una función correspondiente a la tecla izquierda que hace que se ingrese un valor "left" (izquierdo). La tecla VK_UP_RIGHT provee una función correspondiente a la tecla derecha superior que hace que se ingrese un valor "upper right" (superior derecho). La tecla VK_UP_LEFT provee una función correspondiente a la tecla izquierda superior que hace que se ingrese un valor "upper left" (superior izquierdo). La tecla VK_DOWN_RIGHT provee una función correspondiente a la tecla derecha inferior que hace que se ingrese un valor "lower right" (inferior derecho). La tecla VK_DOWN_LEFT provee una función correspondiente a la tecla izquierda inferior que hace que se ingrese un valor "lower left" (inferior izquierdo). Dichas teclas direccionales hacen que el cursor se mueva en la pantalla. The VK_UP key provides a function corresponding to the up key that causes an "up" value to be entered. The VK_DOWN key provides a function corresponding to the down key that causes a "down" value to be entered. The VK_RIGHT key provides a function corresponding to the right key that causes a "right" value to be entered. The VK_LEFT key provides a function corresponding to the left key that causes a "left" value to be entered. The VK_UP_RIGHT key provides a function corresponding to the upper right key that causes an "upper right" value to be entered. The VK_UP_LEFT key provides a function corresponding to the upper left key that causes an "upper left" value to be entered. The VK_DOWN_RIGHT key provides a function corresponding to the lower right key that causes a "lower right" value to be entered. The VK_DOWN_LEFT key provides a function corresponding to the lower left key that causes a "lower left" value to be entered. These directional keys make the cursor move on the screen.

La tecla VK_ANGLE provee una función correspondiente a la tecla de selección de ángulo que hace que se cambie el ángulo de un contenido de vídeo de múltiples ángulos. La tecla VK_PRESENTATION_GRAPHICS provee una función correspondiente a la tecla de selección de subtítulo que selecciona el subtítulo inglés/japonés, el modo de visualización/no visualización de subtítulo, y así sucesivamente. La tecla VK_AUDIO provee una función correspondiente a la tecla de selección de audio que selecciona un modo de audio como, por ejemplo, un modo envolvente o un modo bilingüe. La tecla VK_VIDEO_ASPECT provee una función correspondiente a la tecla de selección de relación de aspecto que selecciona una relación de aspecto de un contenido de vídeo. La tecla VK_COLORED_KEY_1 provee una función correspondiente a la tecla de función de color 1. La tecla VK_COLORED_KEY_2 provee una función correspondiente a la tecla de función de color 2. La tecla VK_COLORED_KEY_3 provee una función correspondiente a la tecla de función de color 3. La tecla VK_COLORED_KEY_4 provee una función correspondiente a la tecla de función de color 4. La tecla VK_COLORED_KEY_5 provee una función correspondiente a la tecla de función de color 5. La tecla VK_COLORED_KEY_6 provee una función correspondiente a la tecla de función de color 6. La tecla VK_UNDEFINED es una tecla indefinida. The VK_ANGLE key provides a function corresponding to the angle selection key that causes the angle of a multi-angle video content to be changed. The VK_PRESENTATION_GRAPHICS key provides a function corresponding to the subtitle selection key that selects the English / Japanese subtitle, the subtitle display / non-display mode, and so on. The VK_AUDIO key provides a function corresponding to the audio selection key that selects an audio mode such as an surround mode or a bilingual mode. The VK_VIDEO_ASPECT key provides a function corresponding to the aspect ratio selection key that selects an aspect ratio of a video content. The VK_COLORED_KEY_1 key provides a function corresponding to the color function key 1. The VK_COLORED_KEY_2 key provides a function corresponding to the color function key 2. The VK_COLORED_KEY_3 key provides a function corresponding to the color function key 3. The key VK_COLORED_KEY_4 provides a function corresponding to the color function key 4. The VK_COLORED_KEY_5 key provides a function corresponding to the color function key 5. The VK_COLORED_KEY_6 key provides a function corresponding to the color function key 6. The VK_UNDEFINED key is An undefined key.

Las teclas enumeradas en la Figura 24, Figura 25A y Figura 25B no siempre coinciden con las teclas físicamente dispuestas en un comandante de mando a distancia real. Además, dependiendo del tipo de comandante de mando a distancia, múltiples funciones pueden asignarse a una tecla física. De manera alternativa, el usuario puede seleccionar una de las imágenes de teclas de un controlador remoto que aparece en la pantalla. Por consiguiente, las teclas que se muestran en la Figura 24, Figura 25A y Figura 25B son teclas virtuales que, de forma abstracta, forman las funciones correspondientes. Dado que las entradas de usuario para el objeto BDBasicPlayer se representan con dichas teclas virtuales, las entradas de usuario que no dependen del aparato pueden definirse. The keys listed in Figure 24, Figure 25A and Figure 25B do not always coincide with the keys physically arranged on a real remote control commander. In addition, depending on the type of remote control commander, multiple functions can be assigned to a physical key. Alternatively, the user can select one of the key images of a remote controller that appears on the screen. Therefore, the keys shown in Figure 24, Figure 25A and Figure 25B are virtual keys that, abstractly, form the corresponding functions. Since the user inputs for the BDBasicPlayer object are represented with these virtual keys, user inputs that do not depend on the device can be defined.

La Figura 26 muestra un ejemplo de un proceso que ejecuta un programa provisto cuando un evento de entrada de usuario tiene lugar. En el proceso que se muestra en la Figura 26, cuando el usuario presiona la tecla "next" Figure 26 shows an example of a process that runs a program provided when a user input event takes place. In the process shown in Figure 26, when the user presses the "next" key

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

mientras un capítulo se reproduce normalmente, el capítulo actual salta al capítulo siguiente, el capítulo siguiente se reproduce y un mensaje preparado aparece en la pantalla. While a chapter is playing normally, the current chapter skips to the next chapter, the next chapter is played, and a prepared message appears on the screen.

La tecla "next" es una tecla que hace que el capítulo actual salte al capítulo siguiente y que el capítulo siguiente se reproduzca. La tecla "next" es, por ejemplo, una tecla dispuesta en el comandante de mando a distancia. El proceso del diagrama de flujo que se muestra en la Figura 26 comienza cuando el usuario presiona la tecla "next" mientras el reproductor reproduce un capítulo (en la etapa E41). Cuando se presiona la tecla "next", el objeto RmekeyEvent tiene lugar (en la etapa E42). La base de datos se busca para una marca de capítulo del capítulo siguiente (en la etapa E43). Según el resultado buscado, se determina si existe o no la marca de capítulo siguiente (en la etapa E44). Cuando no existe marca de capítulo, una serie de procesos se completan y la reproducción regular se reanuda. Cuando el resultado determinado en la etapa E44 representa que existe la marca de capítulo siguiente, el flujo avanza a la etapa E45. The "next" key is a key that causes the current chapter to skip to the next chapter and the next chapter to play. The "next" key is, for example, a key arranged on the remote control commander. The flowchart process shown in Figure 26 begins when the user presses the "next" key while the player plays a chapter (in step E41). When the "next" key is pressed, the RmekeyEvent object takes place (in step E42). The database is searched for a chapter mark of the next chapter (in step E43). Depending on the desired result, it is determined whether or not the following chapter mark exists (in step E44). When there is no chapter mark, a series of processes are completed and regular playback resumes. When the result determined in step E44 represents that the next chapter mark exists, the flow advances to step E45.

En la etapa E45, el objeto BDBasicPlayer hace que la reproducción del capítulo actual que se está reproduciendo se detenga en respuesta a la tecla "next" (en la etapa E45). Cuando la reproducción del reproductor se detiene, el evento PlayStoppedEvent tiene lugar (en la etapa E46). El objeto BDBasicPlayer obtiene la posición de byte de la marca de capítulo siguiente en el archivo de flujo AV clip a partir de la información de punto de característica del archivo de información de clip. Se accede a la posición de byte obtenida del archivo y el flujo se lee y reproduce desde la posición de byte (en la etapa E47). In step E45, the BDBasicPlayer object causes the playback of the current chapter being played back to stop in response to the "next" key (in step E45). When player playback stops, the PlayStoppedEvent event takes place (in step E46). The BDBasicPlayer object obtains the byte position of the next chapter mark in the AV clip stream file from the characteristic point information of the clip information file. The byte position obtained from the file is accessed and the flow is read and reproduced from the byte position (in step E47).

Después de la etapa E48, una serie de procesos que hacen que un mensaje aparezca en la pantalla se llevan a cabo para informar al usuario que el capítulo actual ha cambiado. Con el fin de hacer que un mensaje aparezca en una posición en la que el capítulo actual ha cambiado, un método que hace que el reproductor visualice un mensaje necesita implementarse como un oyente de eventos correspondiente al evento MarkEncounteredEvent. Cuando se inicia la reproducción del flujo, tiene lugar el evento PlayStartedEvent. Además, el evento MarkEncountedEvent tiene lugar según la marca de capítulo (en la etapa E48). After step E48, a series of processes that cause a message to appear on the screen are carried out to inform the user that the current chapter has changed. In order to make a message appear in a position where the current chapter has changed, a method that causes the player to display a message needs to be implemented as an event listener corresponding to the MarkEncounteredEvent event. When playback of the stream starts, the PlayStartedEvent event takes place. In addition, the MarkEncountedEvent event takes place according to the chapter mark (in step E48).

Cuando el evento MarkEncounterEvent tiene lugar, en la etapa E49, se inicia la ejecución de un oyente correspondiente al evento MarkEncounteredEvent. En el oyente, se obtiene el tipo de marca detectada por el evento MarkEncounteredEvent (en la etapa E50). Se determina si la marca es o no una marca de capítulo (en la etapa E51). Cuando el resultado determinado representa que la marca no es una marca de capítulo, el flujo avanza a la etapa E53. En la etapa E53, se completa la ejecución del oyente. Cuando el resultado determinado representa que la marca detectada es un marca de capítulo, el flujo avanza a la etapa E52. En la etapa E52, aparece un mensaje que representa el comienzo de un capítulo. When the MarkEncounterEvent event takes place, in step E49, the execution of a listener corresponding to the MarkEncounteredEvent event is started. In the listener, the type of mark detected by the MarkEncounteredEvent event is obtained (in step E50). It is determined whether or not the mark is a chapter mark (in step E51). When the determined result represents that the mark is not a chapter mark, the flow advances to step E53. In step E53, the listener's execution is completed. When the determined result represents that the detected mark is a chapter mark, the flow advances to step E52. In step E52, a message appears that represents the beginning of a chapter.

En el presente ejemplo, cuando el usuario presiona una tecla del comandante de mando a distancia, el evento RmtKeyEvent tiene lugar. Cuando el evento RmtKeyEvent tiene lugar, múltiples cambios de estado tienen lugar. Como resultado, múltiples eventos, PlayStoppedEvent, PlayStartedEvent, y MarkEncunteredEvent tienen lugar. In the present example, when the user presses a key of the remote commander, the RmtKeyEvent event takes place. When the RmtKeyEvent event takes place, multiple state changes take place. As a result, multiple events, PlayStoppedEvent, PlayStartedEvent, and MarkEncunteredEvent take place.

Por consiguiente, en el modelo de reproductor virtual BD-ROM según la primera realización de la presente invención, un evento de entrada de usuario hace que el estado del reproductor cambie y que un nuevo evento tenga lugar. Con eventos nuevos, pueden llevarse a cabo varios procesos. Accordingly, in the BD-ROM virtual player model according to the first embodiment of the present invention, a user input event causes the status of the player to change and a new event to take place. With new events, several processes can be carried out.

Según la primera realización de la presente invención, mediante la definición de un modelo de reproductor virtual BD-ROM, varios méritos que no están presentes en el vídeo DVD pueden obtenerse. Por ejemplo, según la primera realización de la presente invención, varias funciones del vídeo DVD convencional pueden lograrse con un modelo. According to the first embodiment of the present invention, by defining a BD-ROM virtual player model, several merits that are not present in the DVD video can be obtained. For example, according to the first embodiment of the present invention, several functions of conventional DVD video can be achieved with a model.

Como un primer ejemplo, una función de visualización de subtítulo forzada y una función de prohibición UOP (Función de Usuario) pueden usarse. La función de visualización de subtítulo forzada es una función que hace que un subtítulo predeterminado se visualice, de manera forzada, en una escena predeterminada incluso si el usuario ha apagado la función de visualización de subtítulo. La función de prohibición UOP es una función que prohíbe al usuario ingresar datos. En el vídeo DVD, se definen estructuras de datos y modelos de funcionamiento para dichas funciones. As a first example, a forced subtitle display function and a UOP (User Function) prohibition function can be used. The forced subtitle display function is a function that causes a predetermined subtitle to be displayed, in a forced manner, in a predetermined scene even if the user has turned off the subtitle display function. The UOP prohibition function is a function that prohibits the user from entering data. In the DVD video, data structures and operating models for these functions are defined.

En el modelo de reproductor virtual BD-ROM según la primera realización de la presente invención, con respecto a la función de visualización de subtítulo forzada, se marca una escena (tiempo) para la cual un subtítulo se visualiza de manera forzada. Un proceso que hace que un subtítulo se visualice de manera forzada en la pantalla independientemente de si el modo de visualización de subtítulo se ha encendido o apagado se provee como un oyente. Por consiguiente, con un modelo que procesa marcas regulares, la función de visualización de subtítulo forzada puede lograrse. In the BD-ROM virtual player model according to the first embodiment of the present invention, with respect to the forced subtitle display function, a scene (time) is marked for which a subtitle is forcedly displayed. A process that causes a subtitle to be forcedly displayed on the screen regardless of whether the subtitle display mode has been turned on or off is provided as a listener. Therefore, with a model that processes regular marks, the forced subtitle display function can be achieved.

Con respecto a la función de prohibición UOP, a menos que un oyente de eventos para eventos de entrada de tecla del comandante de mando a distancia se hubiera registrado, incluso si un evento de entrada de tecla tiene lugar, no se lleva a cabo ningún proceso. Por consiguiente, la entrada de usuario se ignora y la UOP se prohíbe. With respect to the UOP prohibition function, unless an event listener for key entry events of the remote commander had registered, even if a key entry event takes place, no process is carried out . Therefore, user input is ignored and the UOP is prohibited.

Por consiguiente, según la primera realización de la presente invención, dado que las funciones del DVD pueden lograrse con un modelo de evento, el lado de creador de disco puede crear, de manera no trabajosa, el DVD. Accordingly, according to the first embodiment of the present invention, since the functions of the DVD can be achieved with an event model, the disc creator side can create, in a non-laborious manner, the DVD.

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

Además, en el vídeo DVD, las teclas del comandante de mando a distancia se preasignan para las funciones. Cuando se presiona la tecla de submenú del comandante de mando a distancia, como una función que se ha preasignado para la tecla de submenú, aparece una pantalla de submenú en la cual el modo de audio, modo de subtítulo y ángulo pueden cambiarse. Sin embargo, dado que el submenú no son datos esenciales del vídeo DVD, existe un disco que no tiene el submenú. En el presente caso, incluso si se presiona la tecla de submenú mientras el reproductor tiene dicho disco, ninguna función tiene lugar. In addition, in the DVD video, the remote control commander keys are pre-assigned for the functions. When the submenu key of the remote control commander is pressed, as a function that has been pre-assigned for the submenu key, a submenu screen appears in which the audio mode, subtitle mode and angle can be changed. However, since the submenu is not essential data of the DVD video, there is a disc that does not have the submenu. In the present case, even if the submenu key is pressed while the player has such a disc, no function takes place.

Por otro lado, en el modelo de reproductor virtual BD-ROM según la primera realización de la presente invención, según se describe con referencia a la Figura 21A, Figura 21B, Figura 21C, Figura 21D, Figura 22, Figura 23, Figura 24, Figura 25A, y Figura 25B, las relaciones de teclas y procesos llevados a cabo correspondientes a aquel pueden designarse por el lado de creador de disco. Por consiguiente, con un programa que hace que el reproductor de un mensaje aparezca en el caso en que el disco no tiene el submenú, cuando el usuario presiona la tecla de submenú, puede informarse al usuario sobre un mensaje que representa que el disco no tiene el submenú. On the other hand, in the BD-ROM virtual player model according to the first embodiment of the present invention, as described with reference to Figure 21A, Figure 21B, Figure 21C, Figure 21D, Figure 22, Figure 23, Figure 24, Figure 25A, and Figure 25B, the key relationships and processes carried out corresponding to that can be designated by the disk creator side. Therefore, with a program that makes the player of a message appear in the case where the disc does not have the submenu, when the user presses the submenu key, the user can be informed about a message that represents that the disc does not have the submenu

Por consiguiente, según la primera realización de la presente invención, dado que el lado de creador de disco tiene un grado más alto de libertad para crear un disco, el lado de creador de disco puede crear un disco que el usuario puede manejar fácilmente. Accordingly, according to the first embodiment of the present invention, since the disk creator side has a higher degree of freedom to create a disk, the disk creator side can create a disk that the user can easily handle.

Además, según la primera realización de la presente invención, una clase Java se define correspondiente al modelo de reproductor virtual BD-ROM y la reproducción de una lista de reproducción se controla con un programa Java. Con el programa Java, un programa de múltiples procesos puede lograrse. Como resultado, los períodos de retardo debido a un acceso a la red y el tiempo de espera en respuesta a una entrada de usuario pueden manejarse fácilmente. Además, con el programa Java, una predicción de derivación, una ejecución especulativa, y así sucesivamente pueden lograrse fácilmente por los comandos de prelectura. Por consiguiente, los procesos pueden llevarse a cabo a una alta velocidad. Furthermore, according to the first embodiment of the present invention, a Java class is defined corresponding to the BD-ROM virtual player model and the reproduction of a playlist is controlled with a Java program. With the Java program, a multi-process program can be achieved. As a result, delay periods due to network access and waiting time in response to user input can be easily handled. In addition, with the Java program, a derivation prediction, speculative execution, and so on can easily be achieved by pre-reading commands. Consequently, processes can be carried out at a high speed.

1-5. Sobre la estructura de gestión de archivos 1-5. About the file management structure

A continuación, con referencia a la Figura 27, se describirá una estructura de gestión de archivos aplicable a un perfil completo del BD-ROM. Los archivos se gestionan de manera jerárquica. Un directorio (un directorio raíz en el ejemplo que se muestra en la Figura 27) se forma en un medio de grabación. Los archivos debajo del presente directorio se gestionan por un sistema de grabación y reproducción. Next, with reference to Figure 27, a file management structure applicable to a complete BD-ROM profile will be described. Files are managed hierarchically. A directory (a root directory in the example shown in Figure 27) is formed on a recording medium. The files under this directory are managed by a recording and playback system.

Debajo del directorio raíz, se ubica el directorio BDMV. Múltiples directorios BDMV pueden ubicarse debajo del directorio raíz. Below the root directory, the BDMV directory is located. Multiple BDMV directories can be located under the root directory.

Debajo del directorio BDMV, se ubican dos archivos "scenario.hdmv" y "entrylist.data". Debajo del directorio BDMV, se ubican múltiples directorios "PLAYLIST", "CLIPINF", y "STREAM". Below the BDMV directory, two files "scenario.hdmv" and "entrylist.data" are located. Under the BDMV directory, multiple directories "PLAYLIST", "CLIPINF", and "STREAM" are located.

El archivo "scenario.hdmv" es un archivo de escenario que almacena un escenario. Un escenario tiene una estructura en la cual se disponen múltiples listas de reproducción. Por ejemplo, un escenario controla el orden de reproducción de las listas de reproducción. Para permitir al usuario ver un escenario en sus unidades divididas, pueden proveerse capítulos. Los objetos de película en el modo de película HD del BD-ROM se almacenan en el archivo "scenario.hdmv". The "scenario.hdmv" file is a scenario file that stores a scenario. A scenario has a structure in which multiple playlists are arranged. For example, a scenario controls the play order of playlists. To allow the user to see a scenario in their divided units, chapters can be provided. Movie objects in the BD-ROM HD movie mode are stored in the "scenario.hdmv" file.

El archivo "entrylist.data" almacena información sobre un menú como, por ejemplo, puntos de búsqueda (entradas de título) de un escenario, listas de reproducción que componen un menú, y puntos de entrada para un grupo de listas de reproducción. Una tabla de índice en el modo de película HD del BD-ROM se almacena en el archivo "entrylist.data". The "entrylist.data" file stores information about a menu, such as search points (title entries) for a scenario, playlists that make up a menu, and entry points for a group of playlists. An index table in the BD-ROM HD movie mode is stored in the "entrylist.data" file.

El directorio "PLAYLIST" almacena las listas de reproducción. Una lista de reproducción se almacena en un archivo "****.mpls". La información que representa las posiciones de marcas en un flujo AV clip se almacena en el archivo de lista de reproducción "****.mpls" que designa el rango de reproducción del flujo AV clip. The "PLAYLIST" directory stores the playlists. A playlist is stored in a "****. Mpls" file. Information representing the positions of marks in an AV clip stream is stored in the playlist file "****. Mpls" that designates the playback range of the AV clip stream.

El directorio "CLIPINF" almacena archivos de información de clip "#####.clpi". El directorio "STREAM" almacena archivos de flujo AV clip "%%%%%.m2ts". Cuando los nombres de archivos relacionados se asignan a archivos de flujo AV clip, ellos pueden correlacionarse fácilmente. Por ejemplo, los mismos nombres de archivo "#####" and "%%%%%" excepto por las extensiones se usan para archivos de información de clip y archivos de flujo AV clip. The "CLIPINF" directory stores clip information files "#####. Clpi". The "STREAM" directory stores AV clip stream files "%%%%%. M2ts". When related file names are assigned to AV clip stream files, they can be easily mapped. For example, the same file names "#####" and "%%%%%" except for extensions are used for clip information files and AV clip stream files.

Un archivo de clase Java que compone un programa Java se almacena en un directorio predeterminado (no se muestra) ubicado debajo del directorio BDMV. De manera alternativa, el archivo de clase Java puede ubicarse en un directorio en el mismo nivel jerárquico que el directorio BDMV. A Java class file that composes a Java program is stored in a default directory (not shown) located below the BDMV directory. Alternatively, the Java class file can be located in a directory at the same hierarchical level as the BDMV directory.

1-6. Sobre el modelo de descodificador 1-6. About the decoder model

A continuación, se describirá un descodificador de reproductor 100 según la primera realización de la presente invención. La Figura 28A, Figura 28B y Figura 28C son un diagrama de bloques funcional que muestra un ejemplo de una estructura de un descodificador de reproductor 100 según la primera realización de la presente invención. El descodificador de reproductor 100 interpreta los datos reproducidos desde un disco cargado en un dispositivo de unidad (no se muestra), produce un flujo AV (Audio/Vídeo) que compone un contenido, y permite al usuario hacer funcionar, de manera interactiva, el flujo AV de salida. Next, a player decoder 100 according to the first embodiment of the present invention will be described. Figure 28A, Figure 28B and Figure 28C are a functional block diagram showing an example of a structure of a player decoder 100 according to the first embodiment of the present invention. The player decoder 100 interprets the data reproduced from a disc loaded in a drive device (not shown), produces an AV (Audio / Video) stream that composes a content, and allows the user to operate, interactively, the AV outflow.

imagen9image9

Todas las funciones del descodificador de reproductor 100 se controlan por una CPU (no se muestra). Los flujos y 5 flujos de datos de porciones individuales del descodificador de reproductor 100 se monitorean y controlan por la CPU. All the functions of the player decoder 100 are controlled by a CPU (not shown). The streams and 5 data streams of individual portions of the player decoder 100 are monitored and controlled by the CPU.

Cuando el disco se carga en el dispositivo de unidad (no se muestra), el archivo "scenario.hdmv" que describe el orden de reproducción de listas de reproducción y el archivo "entrylist.data" que describe la lista de reproducción superior del grupo de listas de reproducción que componen un menú y un título se reproducen. Según las When the disc is loaded into the drive device (not shown), the "scenario.hdmv" file that describes the playlist play order and the "entrylist.data" file that describes the group's top playlist of playlists that make up a menu and a title are played. According to

10 descripciones del archivo "scenario.hdmv" y el archivo "entrylist.data", otros archivos necesarios se leen desde el disco y así se reproduce un contenido grabado en el disco. 10 descriptions of the "scenario.hdmv" file and the "entrylist.data" file, other necessary files are read from the disc and thus a content recorded on the disc is played.

Por ejemplo, según las descripciones del archivo "scenario.hdmv" y el archivo "entrylist.data", los datos de imagen en movimiento visualizados en un plano de vídeo 134 y un segundo plano de vídeo 160, los datos de imágenes visualizados en un plano de gráficos A 132, un plano de gráficos B 133, y un segundo plano de vídeo 160, un For example, according to the descriptions of the "scenario.hdmv" file and the "entrylist.data" file, the moving image data displayed in a video plane 134 and a video background 160, the image data displayed in a graphics plane A 132, a graphics plane B 133, and a video background 160, a

15 archivo de lista de reproducción, y así sucesivamente se leen desde el disco. En el perfil completo, se lee y ejecuta un archivo que almacena un programa. 15 playlist file, and so on are read from disk. In the full profile, a file that stores a program is read and executed.

En la siguiente descripción, entre los datos que se leen desde el disco, se hace referencia a los flujos como, por ejemplo, datos de imágenes en movimiento, subimágenes (datos de subtítulo) y datos de sonido que deben procesarse de manera continua como flujos en tiempo real. Por el contrario, se hace referencia a los datos en tiempo In the following description, among the data read from the disc, the flows are referred to as, for example, moving image data, sub-images (subtitle data) and sound data that must be processed continuously as flows in real time. On the contrary, reference is made to the data in time

20 no real como, por ejemplo, archivos de escenario, archivos de lista de reproducción, archivos de programa, parte de imágenes en movimiento, imágenes sin movimiento, y datos de sonido que no necesitan procesarse continuamente como objetos de almacenamiento. Los objetos de almacenamiento se almacenan en una memoria o similares y se expanden allí. Los objetos de almacenamiento almacenados en la memoria se procesan cuando fuera necesario. 20 not real, such as scenario files, playlist files, program files, part of moving images, motionless images, and sound data that do not need to be continuously processed as storage objects. Storage objects are stored in a memory or the like and expanded there. Storage objects stored in memory are processed when necessary.

El descodificador de reproductor 100 tiene dos sistemas de canales de entrada que son el canal (1) y el canal (2). The player decoder 100 has two systems of input channels that are channel (1) and channel (2).

25 Un objeto de almacenamiento se ingresa en una terminal de entrada 101 del canal de entrada (1). Un flujo en tiempo real se ingresa en una terminal de entrada 202 del canal de entrada (2). De manera alternativa, un objeto de almacenamiento puede ingresarse en la terminal de entrada 202. Según la primera y segunda realizaciones de la presente invención, un flujo en tiempo real y parte de los objetos de almacenamiento que se ingresan en la terminal de entrada 202 son, por ejemplo, MPEG2 TS (Flujos de Transporte del Grupo de Expertos de Imágenes en 25 A storage object is entered into an input terminal 101 of the input channel (1). A real-time flow is entered into an input terminal 202 of the input channel (2). Alternatively, a storage object can be entered in the input terminal 202. According to the first and second embodiments of the present invention, a real-time flow and part of the storage objects that are entered in the input terminal 202 are , for example, MPEG2 TS (Transport Flows of the Group of Experts of Images in

30 Movimiento 2). 30 Movement 2).

Un flujo en tiempo real que se ingresa en la terminal de entrada 202 no se limita a un MPEG 2 TS. Siempre que un flujo en tiempo real pueda transmitirse en la unidad de un paquete y multiplexarse con datos de vídeo, datos de audio, datos de imágenes sin movimiento, o similares, puede ingresarse un flujo que tiene otro formato. En este punto, un filtro PID 110 que se describirá más adelante se usa como un demultiplexor que demultiplexa datos de A real-time flow that is entered into input terminal 202 is not limited to an MPEG 2 TS. Whenever a real-time stream can be transmitted in the unit of a packet and multiplexed with video data, audio data, motionless image data, or the like, a stream that has another format can be entered. At this point, a PID filter 110 that will be described later is used as a demultiplexer that demultiplexes data from

35 vídeo, datos de audio, datos de imágenes sin movimiento, o similares. 35 video, audio data, motionless image data, or the like.

Cuando la velocidad de rotación del disco en el dispositivo de unidad aumenta, por ejemplo, dos veces y la velocidad de transferencia de lectura del disco aumenta, las funciones de lectura para los dos sistemas de los canales (1) y (2) del disco pueden llevarse a cabo según la división de tiempo. When the rotation speed of the disk in the drive device increases, for example, twice and the read transfer rate of the disk increases, the reading functions for both systems of the channels (1) and (2) of the disk They can be carried out according to the time division.

A continuación, se describirá el sistema del canal de entrada (1). Un objeto de almacenamiento que se ingresa en la Next, the input channel system (1) will be described. A storage object that is entered into the

40 terminal de entrada 101 se ingresa en un circuito de conmutación 102. Cuando se ingresa un código de programa de un archivo Java, un guión ECMA (Asociación Europea de Fabricantes de Ordenadores), un archivo HTML (Lenguaje de Marcado de Hipertexto) (o un archivo XHTML), o similares como un objeto de almacenamiento, el circuito de conmutación 102 selecciona una terminal de salida 102A. El código de programa de entrada se almacena en un búfer de código 104. 40 input terminal 101 is entered in a switching circuit 102. When a program code of a Java file, an ECMA (European Computer Manufacturers Association) script, an HTML file (Hypertext Markup Language) (or an XHTML file), or the like as a storage object, the switching circuit 102 selects an output terminal 102A. The input program code is stored in a buffer of code 104.

45 Por otro lado, cuando los datos de imágenes se ingresan como un objeto de almacenamiento, el circuito de conmutación 102 selecciona una terminal de salida 102B. Como resultado, los datos de imágenes de entrada se ingresan en un circuito de conmutación 103. Cuando un flujo en tiempo real que se ingresa en la terminal de entrada 202 no contiene datos de imágenes visualizados en el plano de gráficos A 132 y el plano de gráficos B 133, el circuito de conmutación 103 selecciona una terminal de entrada 103A. Los datos de imágenes que se ingresan On the other hand, when the image data is entered as a storage object, the switching circuit 102 selects an output terminal 102B. As a result, the input image data is entered in a switching circuit 103. When a real-time flow that is entered in the input terminal 202 does not contain image data displayed in the graphic plane A 132 and the plane of graphics B 133, the switching circuit 103 selects an input terminal 103A. The image data that is entered

50 desde el circuito de conmutación 102 se almacenan en un búfer de contenidos 105. 50 from the switching circuit 102 are stored in a content buffer 105.

Asimismo, cuando los datos de imágenes visualizados en el plano de gráficos A 132 y el plano de gráficos B 133 se contienen en un flujo en tiempo real que se ingresa en la terminal de entrada 202, el circuito de conmutación 103 selecciona una terminal de entrada 103B. Como resultado, los datos de imágenes se almacenan en el búfer de contenidos 105. Los objetos de almacenamiento almacenados en el búfer de códigos 104 y el búfer de contenidos Also, when the image data displayed on the graphics plane A 132 and the graphics plane B 133 are contained in a real-time flow that is input to the input terminal 202, the switching circuit 103 selects an input terminal 103B. As a result, the image data is stored in the content buffer 105. The storage objects stored in the code buffer 104 and the content buffer

55 105 se leen cuando es necesario y se proveen a un motor multimedia 106. 55 105 are read when necessary and are provided to a multimedia engine 106.

imagen10image10

Los datos de imágenes del objeto de almacenamiento almacenado en el búfer de contenidos 105 se proveen también a un descodificador de gráficos A 116 y a un descodificador de gráficos B 117 a través de circuitos de conmutación 107 y 108, respectivamente. Image data of the storage object stored in the content buffer 105 is also provided to a graphics decoder A 116 and a graphics decoder B 117 through switching circuits 107 and 108, respectively.

El motor multimedia 106 incluye un analizador XML 106A, un intérprete de programa/guión 106B y un reproductor de The multimedia engine 106 includes an XML parser 106A, a program / script interpreter 106B and a media player.

5 gráficos 106C. El motor multimedia 106 también incluye un reproductor de sonido 106D que puede manejar datos de audio. El motor multimedia 106 puede constar de hardware independiente. De manera alternativa, el motor multimedia 106 puede lograrse por un proceso de un programa predeterminado que la anterior CPU (no se muestra) ejecuta. 5 graphics 106C. The multimedia engine 106 also includes a sound player 106D that can handle audio data. The multimedia engine 106 may consist of independent hardware. Alternatively, the multimedia engine 106 can be achieved by a process of a predetermined program that the previous CPU (not shown) executes.

El analizador XML 106A tiene una función para analizar un documento XML (Lenguaje de Marcado Extensible). The XML 106A parser has a function to analyze an XML document (Extensible Markup Language).

10 Además, el analizador XML 106A puede también analizar un documento HTML y un documento XHTML. Un documento HTML y un documento XHTML analizados por el analizador XML 106A se convierten en respectivos formatos que pueden ejecutarse por el descodificador de reproductor 100. El intérprete de programa/guión 106B analiza un programa Java (marca comercial registrada), un guión ECMA, y así sucesivamente y los convierte en respectivos formatos que pueden ejecutarse por el descodificador de reproductor 100. El reproductor de gráficos 10 In addition, the XML 106A parser can also analyze an HTML document and an XHTML document. An HTML document and an XHTML document analyzed by the XML parser 106A are converted into respective formats that can be executed by the player decoder 100. The program / script interpreter 106B analyzes a Java program (registered trademark), an ECMA script, and so on and converts them into respective formats that can be executed by the player decoder 100. The graphics player

15 106C descodifica datos de imágenes y obtiene un formato que puede expandirse en el plano de subtítulos 11 y el plano de gráficos 12. 15 106C decodes image data and obtains a format that can be expanded in the subtitle plane 11 and the graphics plane 12.

El motor multimedia 106 lleva a cabo procesos para el analizador XML 106A, el intérprete de programa/guión 106B, y el reproductor de gráficos 106C con una memoria de trabajo de un búfer 109. Por ejemplo, el analizador XML 106A y el intérprete de programa/guión 106B usan un búfer de código 109a del búfer 109. El reproductor de gráficos 106C The multimedia engine 106 performs processes for the XML parser 106A, the program / script interpreter 106B, and the graphics player 106C with a working memory of a buffer 109. For example, the XML parser 106A and the program interpreter / hyphen 106B use a buffer of code 109a from buffer 109. The 106C graphics player

20 usa un búfer de gráficos 109D del búfer 109. El búfer 109 también incluye un búfer fuente 109B que almacena datos fuente usados para visualizar una cadena de caracteres, un búfer de árbol 109C que almacena el resultado analizado del documento HTML por el analizador XML 106A en una estructura de árbol jerárquica, un búfer de sonido 109E que almacena datos de audio usados en el reproductor de sonido 106D y así sucesivamente. 20 uses a buffer of graphics 109D of buffer 109. Buffer 109 also includes a source buffer 109B that stores source data used to display a character string, a tree buffer 109C that stores the analyzed result of the HTML document by XML parser 106A in a hierarchical tree structure, a sound buffer 109E that stores audio data used in the sound player 106D and so on.

Cuando fuera necesario, el motor multimedia 106 lee un programa Java del búfer de códigos 104, datos de When necessary, the multimedia engine 106 reads a Java program from the code buffer 104, data of

25 imágenes del búfer de contenidos 105 y así sucesivamente. Los datos que se almacenan en el búfer de códigos 104 y el búfer de contenidos 105 pueden almacenarse en el búfer de códigos 104 y el búfer de contenidos 105 hasta que los datos se conviertan en innecesarios. Por consiguiente, los datos almacenados en el búfer de códigos 104 y el búfer de contenidos 105 pueden leerse, de manera repetida, y usarse cuando fuera necesario. 25 images of the content buffer 105 and so on. The data that is stored in the code buffer 104 and the content buffer 105 can be stored in the code buffer 104 and the content buffer 105 until the data becomes unnecessary. Accordingly, the data stored in the code buffer 104 and the content buffer 105 can be read, repeatedly, and used when necessary.

Además de los datos anteriores, el motor multimedia 106 lee, por ejemplo, un guión ECMA almacenado en el búfer In addition to the above data, the multimedia engine 106 reads, for example, an ECMA script stored in the buffer

30 de códigos 104 y lo ejecuta. Cuando fuera necesario, el motor multimedia 106 puede leer otro guión ECMA y un documento HTML (o documento XHTML) del búfer de códigos 104 y ejecutarlos según la descripción del guión ECMA que se ha leído. 30 codes 104 and execute it. When necessary, the multimedia engine 106 can read another ECMA script and an HTML document (or XHTML document) from the code buffer 104 and execute them according to the description of the ECMA script that has been read.

Además, el motor multimedia 106 recibe una entrada de usuario de un comandante de mando a distancia, un dispositivo de enfoque, o similares y lleva a cabo un proceso predeterminado para la entrada de usuario. La entrada In addition, the multimedia engine 106 receives a user input from a remote control commander, a focusing device, or the like and performs a predetermined process for user input. The entrance

35 de usuario se provee al descodificador de gráficos A 116, descodificador de gráficos B 117, descodificador de audio 118, descodificador de vídeo MPEG 120 y descodificador de sistema 121 que se describirán más adelante. User 35 is provided to the graphics decoder A 116, graphics decoder B 117, audio decoder 118, MPEG video decoder 120 and system decoder 121 which will be described later.

Los datos de imágenes procesados por el reproductor de gráficos 106C se proveen al plano de gráficos A 132 y al plano de gráficos B 133 a través de circuitos de conmutación 130 y 131, respectivamente. En el presente ejemplo, aunque los datos de imágenes provistos al plano de gráficos A 132 y al plano de gráficos B 133 pueden tener varios The image data processed by the graphics player 106C is provided to the graphics plane A 132 and the graphics plane B 133 through switching circuits 130 and 131, respectively. In the present example, although the image data provided to the graphics plane A 132 and the graphics plane B 133 may have several

40 formatos, por ejemplo, el formato PNG, el formato de longitud de ejecución, y el formato JPEG, según la presente invención, los formatos de aquellos no se encuentran limitados. El tiempo en el cual los datos de imágenes se proveen a los planos 132 y 133 se controla por el motor multimedia 106. 40 formats, for example, the PNG format, the execution length format, and the JPEG format, according to the present invention, the formats of those are not limited. The time in which image data is provided to planes 132 and 133 is controlled by the multimedia engine 106.

Además, el motor multimedia 106 provee señales de control a un procesador de presentación 155 que se describirá más adelante para hacer que este seleccione uno del vídeo 134, el plano de subtítulo 134, el segundo plano de In addition, the multimedia engine 106 provides control signals to a presentation processor 155 that will be described later to make it select one of the video 134, the subtitle plane 134, the second plane of

45 vídeo 160, el plano de gráficos A 132, y el plano de gráficos B 133 y lleve a cabo la mezcla alfa y así sucesivamente. Asimismo, el motor multimedia 106 provee una señal de control a un procesador de presentación 157 que se describirá más adelante para hacer que este controle una salida de un flujo de audio. 45 video 160, the graphics plane A 132, and the graphics plane B 133 and carry out the alpha mixing and so on. Also, the multimedia engine 106 provides a control signal to a presentation processor 157 which will be described below to cause it to control an output of an audio stream.

El motor multimedia 106 lee un programa Java de una ROM (no se muestra) o similares y genera el objeto BDBasicPlayer en el motor multimedia 106. El motor multimedia 106 lee un programa Java del búfer de códigos 104. The multimedia engine 106 reads a Java program from a ROM (not shown) or the like and generates the BDBasicPlayer object in the multimedia engine 106. The multimedia engine 106 reads a Java program from the code buffer 104.

50 Cuando fuera necesario, un objeto compuesto por un programa Java que se ha leído desde el búfer de códigos 104 registra un oyente de eventos para el objeto BDBasicPlayer. 50 When necessary, an object composed of a Java program that has been read from code buffer 104 registers an event listener for the BDBasicPlayer object.

Como se describe en la Figura 15, en el motor multimedia 106, el objeto BDBasicPlayer transmite un evento a un objeto compuesto por un programa Java que se ha leído del búfer de códigos 104 correspondiente a, por ejemplo, una entrada de usuario. El objeto ejecuta el método correspondiente. El objeto BDBasicPlayer detecta un cambio de As described in Figure 15, in the multimedia engine 106, the BDBasicPlayer object transmits an event to an object composed of a Java program that has been read from the code buffer 104 corresponding to, for example, a user input. The object executes the corresponding method. The BDBasicPlayer object detects a change in

55 estado del descodificador de reproductor 100. Cuando el objeto BDBasicPlayer ha detectado un cambio de estado predeterminado, el objeto genera un evento correspondiente. El motor multimedia 106 hace que un método correspondiente al evento controle un dispositivo de unidad (no se muestra) y cada porción del descodificador de reproductor 100 para llevar a cabo un control de reproducción para el disco. 18 55 status of the player decoder 100. When the BDBasicPlayer object has detected a predetermined state change, the object generates a corresponding event. The multimedia engine 106 causes a method corresponding to the event to control a drive device (not shown) and each portion of the player decoder 100 to carry out a playback control for the disc. 18

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

A continuación, se describirá el sistema del canal de entrada (2). Un flujo en tiempo real que se ingresa como un MPEG 2 TS en la terminal de entrada 202 se provee al filtro PID 110. El filtro PID 110 extrae una PID (Identificación de Paquete) de un paquete de transporte del flujo de transporte MPEG 2 TS y detecta un atributo del flujo del paquete de transporte. El filtro PID 110 separa el flujo en tiempo real de entrada en sistemas correspondientes para cada paquete de transporte según el atributo del flujo. Next, the input channel system (2) will be described. A real-time stream that is entered as an MPEG 2 TS at the input terminal 202 is provided to the PID filter 110. The PID filter 110 extracts a PID (Package Identification) from a transport packet of the MPEG 2 TS transport stream and detects an attribute of the transport packet flow. The PID filter 110 separates the real-time input stream into corresponding systems for each transport packet according to the flow attribute.

Cuando un paquete de transporte es un paquete en el cual se contienen los datos de imágenes de un objeto de almacenamiento, el paquete de transporte se almacena de manera temporal en un búfer TBn 111A. El paquete de transporte se lee en un tiempo predeterminado y se ingresa en el circuito de conmutación 103 a través de la terminal de entrada 103B que se ha seleccionado. De allí en adelante, el paquete de transporte se almacena en el búfer de contenidos 105 a través del circuito de conmutación 103. When a transport package is a package in which the image data of a storage object is contained, the transport package is temporarily stored in a TBn 111A buffer. The transport packet is read at a predetermined time and is entered in the switching circuit 103 through the input terminal 103B that has been selected. Thereafter, the transport packet is stored in the content buffer 105 through the switching circuit 103.

Cuando el filtro PID 110 ha determinado que el paquete de transporte contiene datos de subtítulos según la PID, el paquete de transporte se almacena de manera temporal en un búfer TBn 111B y un búfer Bn 112B. El paquete de transporte se lee en un tiempo predeterminado y se ingresa en el circuito de conmutación 107 a través de una terminal de entrada 107B que se ha seleccionado. El paquete de transporte se provee al descodificador de gráficos A 116 a través del circuito de conmutación 107. When the PID filter 110 has determined that the transport packet contains subtitle data according to the PID, the transport packet is temporarily stored in a buffer TBn 111B and a buffer Bn 112B. The transport packet is read at a predetermined time and is entered in switching circuit 107 through an input terminal 107B that has been selected. The transport package is provided to the graphics decoder A 116 through the switching circuit 107.

El descodificador de gráficos A 116 elimina la información de encabezamiento del paquete de transporte provisto, descodifica los datos de subtítulos contenidos en el paquete de transporte, y obtiene datos de imágenes para subtítulos o similares. Los datos de imágenes se ingresan en una terminal de entrada 130B del circuito de conmutación 130 y se expanden al plano de gráficos A 132 a través del circuito de conmutación 130. Además, los datos de imágenes pueden expandirse al plano de gráficos B 133 a través del circuito de conmutación 131. Graphics decoder A 116 removes the header information of the transport package provided, decodes the subtitle data contained in the transport package, and obtains image data for subtitles or the like. The image data is entered into an input terminal 130B of the switching circuit 130 and expanded to the graphics plane A 132 through the switching circuit 130. In addition, the image data can be expanded to the graphics plane B 133 through of switching circuit 131.

Cuando el filtro PID 110 ha determinado que el paquete de transporte contiene datos de gráficos según la PID, el paquete de transporte se almacena de manera temporal en un búfer TBn 111C y un búfer Bn 112C. El paquete de transporte se lee en un tiempo predeterminado y se ingresa en el circuito de conmutación 108 a través de una terminal de entrada 108B que se ha seleccionado. El paquete de transporte se provee al descodificador de gráficos B 117 a través del circuito de conmutación 108. When the PID filter 110 has determined that the transport package contains graph data according to the PID, the transport package is temporarily stored in a TBn 111C buffer and a Bn 112C buffer. The transport packet is read at a predetermined time and is entered into the switching circuit 108 through an input terminal 108B that has been selected. The transport packet is provided to the graphics decoder B 117 through the switching circuit 108.

El descodificador de gráficos B 117 elimina la información de encabezamiento del paquete de transporte provisto, descodifica los datos de gráficos contenidos en el paquete de transporte, y obtiene datos de gráficos. Los datos de imágenes se ingresan en una terminal de entrada 131B del circuito de conmutación 131 en un tiempo predeterminado y se expanden al plano de gráficos B 133 a través del circuito de conmutación 131. Además, los datos de imágenes pueden expandirse al plano de gráficos A 132 a través del circuito de conmutación 131. The graphics decoder B 117 removes the header information of the transport package provided, decodes the graphics data contained in the transport package, and obtains graphics data. The image data is entered into an input terminal 131B of the switching circuit 131 at a predetermined time and expanded to the graphics plane B 133 through the switching circuit 131. In addition, the image data can be expanded to the graphics plane A 132 through switching circuit 131.

La función del descodificador de gráficos A 116 no es muy diferente de la función del descodificador de gráficos B The function of the graphics decoder A 116 is not very different from the function of the graphics decoder B

117. En otras palabras, como un modelo, existen dos sistemas de descodificadores de gráficos que funcionan de manera independiente. Por consiguiente, se considera que los datos de subtítulos y datos de gráficos pueden descodificarse de manera independiente. En una implementación real, un descodificador de gráficos de alta velocidad se usaría sobre la base de división del tiempo como si existieran dos sistemas virtuales de descodificadores de gráficos. 117. In other words, as a model, there are two graphics decoder systems that work independently. Therefore, it is considered that the subtitle data and graphics data can be decoded independently. In a real implementation, a high-speed graphics decoder would be used on the basis of time division as if there were two virtual graphics decoder systems.

Cuando el filtro PID 110 ha determinado que el paquete de transporte contiene datos de audio según la PID, el paquete de transporte se almacena de manera temporal en un búfer TBn 111D y un búfer Bn 112D. El paquete de transporte se lee en un tiempo predeterminado y se provee al descodificador de audio 118. Los datos de audio contenidos en el paquete de transporte se codifican por compresión según un sistema basado en, por ejemplo, el MPEG. When the PID filter 110 has determined that the transport packet contains audio data according to the PID, the transport packet is temporarily stored in a TBn 111D buffer and a Bn 112D buffer. The transport packet is read at a predetermined time and is provided to the audio decoder 118. The audio data contained in the transport packet is encoded by compression according to a system based on, for example, the MPEG.

El descodificador de audio 118 también tiene, por ejemplo, un descodificador de audio PCM (Modulación por Impulsos Codificados) lineal 119. El descodificador de audio 118 elimina la información de encabezamiento del flujo de transporte de entrada, descodifica los datos de audio codificados por compresión contenidos en el paquete de transporte, y obtiene datos de audio de PCM lineal. Audio decoder 118 also has, for example, a linear PCM (Coded Pulse Modulation) audio decoder 119. Audio decoder 118 removes the header information from the input transport stream, decodes compression encoded audio data contained in the transport package, and obtains audio data from linear PCM.

Los datos de audio de PCM lineal que se producen desde el descodificador de audio 118 se ingresan en el procesador de presentación 157 para el audio. El procesador de presentación 157 añade un sonido de efecto predeterminado y así sucesivamente a los datos de audio de PCM lineal bajo el control del motor multimedia 106. Los datos resultantes se obtienen de una terminal de salida 158. Linear PCM audio data that is produced from audio decoder 118 is entered into presentation processor 157 for audio. The presentation processor 157 adds a predetermined effect sound and so on to the linear PCM audio data under the control of the multimedia engine 106. The resulting data is obtained from an output terminal 158.

Cuando el filtro PID 110 ha determinado que el paquete de transporte contiene datos de imágenes en movimiento según la PID, el paquete de transporte se almacena de manera temporal en un búfer TBn 111E, un búfer MBn 113, y un búfer EBn 114, leídos en un tiempo predeterminado, y provistos al descodificador de vídeo MPEG 120. Los datos de imágenes en movimiento contenidos en el paquete de transporte se han codificado por compresión según el sistema MPEG 2. When the PID filter 110 has determined that the transport package contains moving image data according to the PID, the transport package is temporarily stored in a TBn 111E buffer, an MBn buffer 113, and an EBn buffer 114, read in a predetermined time, and provided to the MPEG 120 video decoder. The motion picture data contained in the transport package has been encoded by compression according to the MPEG 2 system.

El descodificador de vídeo MPEG 120 elimina la información de encabezamiento del paquete de transporte provisto, descodifica datos de imágenes en movimiento que se han codificado por compresión según el sistema MPEG 2, y obtiene datos de imágenes en movimiento de banda base. The MPEG 120 video decoder removes the header information from the transport package provided, decodes motion image data that has been encoded by compression according to the MPEG 2 system, and obtains baseband motion image data.

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

Los datos de imágenes en movimiento que se producen desde el descodificador de vídeo MPEG 120 se ingresan en una terminal de entrada 124A de un circuito de conmutación 124. En el circuito de conmutación 124, los datos de imágenes en movimiento que se producen desde el descodificador de vídeo MPEG 120 y los datos de imágenes en movimiento que se producen desde el motor multimedia 106 se seleccionan. Los datos de imágenes en movimiento seleccionados en un tiempo predeterminado se ingresan en una conmutación 123. La conmutación 123 selecciona un plano de vídeo al cual se expanden los datos de imágenes en movimiento. Los datos de imágenes en movimiento se desarrollan para el plano de vídeo 134 o el segundo plano de vídeo 160. The moving image data that is produced from the MPEG video decoder 120 is input to an input terminal 124A of a switching circuit 124. In the switching circuit 124, the moving image data that is produced from the decoder MPEG 120 video and motion picture data that is produced from the multimedia engine 106 are selected. Motion picture data selected at a predetermined time is entered in a switching 123. Switching 123 selects a video plane to which the moving image data is expanded. Motion picture data is developed for video plane 134 or video background 160.

Cuando el filtro PID 110 ha determinado que el paquete de transporte contiene información de sistema según la PID, el paquete de transporte se provee al descodificador de sistema 121 a través de los búferes TBn 111F y Bsys 115. El descodificador de sistema 121 elimina la información de encabezamiento del paquete de transporte provisto y extrae de allí la información de sistema. La información de sistema se provee a, por ejemplo, una CPU (no se muestra). When the PID filter 110 has determined that the transport package contains system information according to the PID, the transport package is provided to the system decoder 121 through the TBn 111F and Bsys 115 buffers. The system decoder 121 deletes the information heading of the transport package provided and extracts the system information from there. System information is provided to, for example, a CPU (not shown).

Los datos de imágenes en el plano de gráficos A 132 se proveen a una paleta 150. La paleta tiene 256 colores. Se hace referencia a la paleta como un índice. Se producen los datos RGB. Además, se extraen los datos de intransparencia α1 que son un parámetro para la mezcla alfa. Los datos RGB se convierten en datos YCbCr por un circuito de conversión RGB/YCbCr 151. Los datos YCbCr y los datos de intransparencia α1se proveen al procesador de presentación 155. Image data in the graphics plane A 132 is provided to a palette 150. The palette has 256 colors. The palette is referred to as an index. RGB data is produced. In addition, the α1 transparency data that is a parameter for the alpha mix is extracted. RGB data is converted to YCbCr data by an RGB / YCbCr 151 conversion circuit. YCbCr data and α1 transparency data are provided to presentation processor 155.

Los datos de imágenes en el plano de gráficos 133 se proveen a una paleta 152. La paleta tiene 256 colores. Se hace referencia a la paleta como un índice. Como resultado, se producen los datos RGB. Además, se extraen los datos de intransparencia α2. Los datos RGB se convierten en datos YCbCr por un circuito de conversión RGB/YCbCr 153. Los datos YCbCr y los datos de intransparencia α2 se proveen al procesador de presentación 155. Image data in the graphics plane 133 is provided to a palette 152. The palette has 256 colors. The palette is referred to as an index. As a result, RGB data is produced. In addition, the α2 transparency data is extracted. RGB data is converted into YCbCr data by an RGB / YCbCr 153 conversion circuit. YCbCr data and α2 transparency data are provided to presentation processor 155.

Una salida del plano de vídeo 134 se provee al procesador de presentación 155 a través de un convertidor ascendente/descendente 154. Asimismo, una salida del segundo plano de vídeo 160 se provee al procesador de presentación 155 a través de un convertidor ascendente/descendente 161. An output of the video plane 134 is provided to the presentation processor 155 through an up / down converter 154. Also, an output of the video background 160 is provided to the presentation processor 155 through an up / down converter 161 .

El convertidor ascendente/descendente 154 es un circuito que convierte la resolución de la imagen. El convertidor ascendente/descendente 154 convierte, por ejemplo, una imagen HD (Alta Definición) que tiene una alta resolución en una imagen SD (Definición Estándar) que tiene una resolución estándar. The up / down converter 154 is a circuit that converts the resolution of the image. The up / down converter 154 converts, for example, an HD (High Definition) image that has a high resolution into an SD (Standard Definition) image that has a standard resolution.

El procesador de presentación 155 lleva a cabo un proceso de mezcla alfa mediante el uso de intransparencia α1 de datos de imágenes del plano de gráficos A 132 e intransparencia α2 del plano de gráficos B 133. Además, el procesador de presentación 155 selecciona, de manera alternativa, salidas del plano de vídeo 134 y del segundo plano de vídeo 160 para cada píxel para lograr la anterior función de imagen en imagen, la función de visualización de fondo de pantalla, y así sucesivamente. The presentation processor 155 performs an alpha mixing process by using α1 transparency of image data from the graphics plane A 132 and α2 transparency of the graphics plane B 133. In addition, the presentation processor 155 selects, so Alternatively, outputs of video plane 134 and video background 160 for each pixel to achieve the above image-in-image function, the wallpaper display function, and so on.

En otras palabras, el procesador de presentación 155 selecciona los datos de imágenes del plano de vídeo 134 y del segundo plano de vídeo 160 con una conmutación (no se muestra) para generar datos de imágenes. Los datos de imágenes y los datos de imágenes del plano de gráficos A 132 se combinan según la intransparencia α1 establecida para los datos de imágenes del plano de gráficos A 132. Además, los datos de imágenes del plano de gráficos B 133 se combinan con los datos de imágenes cuyo plano de vídeo y plano de gráficos A 132 se han combinado según la intransparencia α2 que se ha establecido para los datos de imágenes del plano de gráficos B 133. Los datos de imágenes del plano de gráficos B 133, los datos de imágenes del plano de gráficos A 132 (datos de subtítulos), y los datos de imágenes cuyos datos de imágenes del plano de vídeo 134 y del segundo plano de vídeo 160 se han combinado se obtienen de una terminal de salida 156. In other words, the presentation processor 155 selects the image data of the video plane 134 and the video background 160 with a switching (not shown) to generate image data. The image data and the image data of the graphic plane A 132 are combined according to the α1 transparent transparency set for the image data of the graphic plane A 132. In addition, the image data of the graphic plane B 133 is combined with the image data whose video plane and graphics plane A 132 have been combined according to the α2 transparency that has been established for the image data of the graphic plane B 133. The image data of the graphic plane B 133, the data of graphics plane images A 132 (subtitle data), and image data whose image data of video plane 134 and video background 160 have been combined are obtained from an output terminal 156.

El procesador de presentación 155 puede llevar a cabo un proceso de efectos para los datos de imágenes en tiempo real. The presentation processor 155 can carry out an effect process for real-time image data.

En la descripción anterior, cada porción del descodificador de reproductor 100 consta de hardware. Sin embargo, la presente invención no se limita a dicho ejemplo. Por ejemplo, el descodificador de reproductor 100 puede lograrse por un proceso de software. En el presente caso, el descodificador de reproductor 100 puede funcionar en un dispositivo de ordenador. De manera alternativa, el descodificador de reproductor 100 puede lograrse por una combinación de hardware y software. Por ejemplo, el descodificador de audio 118 y el descodificador de vídeo MPEG 120 pueden constar de hardware. El resto del descodificador de reproductor 100 puede constar de software. In the above description, each portion of the player decoder 100 consists of hardware. However, the present invention is not limited to said example. For example, the player decoder 100 can be achieved by a software process. In the present case, the player decoder 100 can operate on a computer device. Alternatively, the player decoder 100 can be achieved by a combination of hardware and software. For example, audio decoder 118 and MPEG video decoder 120 may consist of hardware. The rest of the player decoder 100 may consist of software.

Un programa que hace que el dispositivo de ordenador ejecute el descodificador de reproductor 100 que se compone de solamente software o una combinación de hardware y software se graba en un medio de grabación, por ejemplo, un CD-ROM (Disco Compacto-Memoria de Solo Lectura) se provee con aquel. El CD-ROM se carga a una unidad de CD-ROM del dispositivo de ordenador. El programa grabado en el CD-ROM se instala en el dispositivo de ordenador. Como resultado, el proceso anterior puede ejecutarse en el dispositivo de ordenador. Dado que la estructura del dispositivo de ordenador es conocida, su descripción se omitirá. A program that causes the computer device to execute the player decoder 100 which is composed of only software or a combination of hardware and software is recorded on a recording medium, for example, a CD-ROM (Compact Disc-Solo Memory Reading) is provided with that. The CD-ROM is loaded to a CD-ROM drive of the computer device. The program recorded on the CD-ROM is installed on the computer device. As a result, the above process can be executed on the computer device. Since the structure of the computer device is known, its description will be omitted.

2. Segunda realización de la presente invención 2. Second embodiment of the present invention

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

A continuación, se describirá una segunda realización de la presente invención. Según la segunda realización, un modelo de reproductor se describe con un lenguaje de guión llamado el guión ECMA. El guión ECMA es un lenguaje de guiones de plataforma cruzada establecido por ECMA (Asociación Europea de Fabricantes de Ordenadores). El guión ECMA se basa en JavaScript (marca comercial registrada). El guión ECMA tiene una cercana afinidad con un documento HTML. Además, el guión ECMA puede definir objetos originales. Por consiguiente, el guión ECMA puede usarse de manera apropiada para un modelo de reproductor según la presente invención. Next, a second embodiment of the present invention will be described. According to the second embodiment, a player model is described with a script language called the ECMA script. The ECMA script is a cross-platform script language established by ECMA (European Association of Computer Manufacturers). The ECMA script is based on JavaScript (registered trademark). The ECMA script has a close affinity with an HTML document. In addition, the ECMA script can define original objects. Accordingly, the ECMA script can be used appropriately for a player model according to the present invention.

Como se describe en la Figura 28A, Figura 28B y Figura 28C, dado que el motor multimedia 106 en el descodificador de reproductor 100 puede analizar y ejecutar el guión ECMA. El descodificador de reproductor 100 puede usarse en la segunda realización de la presente invención. As described in Figure 28A, Figure 28B and Figure 28C, since the multimedia engine 106 in the player decoder 100 can analyze and execute the ECMA script. The player decoder 100 can be used in the second embodiment of the present invention.

Según la segunda realización de la presente invención, el estándar que usa un lenguaje de guión basado en el guión ECMA se llama el estándar de vídeo UMD (Disco Universal de Medios, marca comercial registrada). La parte de guión del estándar de vídeo UMD se llama el estándar de guión de vídeo UMD. According to the second embodiment of the present invention, the standard that uses a script language based on the ECMA script is called the UMD video standard (Universal Media Disk, registered trademark). The script part of the UMD video standard is called the UMD video script standard.

2-1. Sobre el estándar de vídeo UMD 2-1. About the UMD video standard

En primer lugar, para una fácil comprensión, se describirá el estándar de vídeo UMD aplicable a la segunda realización de la presente invención. La Figura 29 muestra una estructura de capa del estándar de vídeo UMD. La estructura de capa que se muestra en la Figura 29 corresponde a la estructura que se muestra en la Figura 1 según la primera realización. En el estándar de vídeo UMD, se definen tres capas, una capa de guión, una capa de lista de reproducción, y una capa de clip. Según la presente estructura, se gestionan los flujos. First, for easy understanding, the UMD video standard applicable to the second embodiment of the present invention will be described. Figure 29 shows a layer structure of the UMD video standard. The layer structure shown in Figure 29 corresponds to the structure shown in Figure 1 according to the first embodiment. In the UMD video standard, three layers, a script layer, a playlist layer, and a clip layer are defined. According to this structure, flows are managed.

En el estándar de vídeo UMD, los datos de vídeo, datos de audio, y datos de subtítulos que se han codificado de manera digital se tratan como un flujo MPEG 2 (Grupo de Expertos de Imágenes en Movimiento 2) en el cual se han multiplexado como flujos elementales MPEG 2. Un flujo MPEG 2 cuyos flujos elementales de vídeo, audio y subtítulos se han multiplexado se llama un flujo AV clip. Un flujo AV clip se almacena en un archivo de flujo AV clip. Cuando se graba un archivo de flujo AV clip, un archivo de información de clip se crea también en la relación de uno a uno. Un conjunto de un archivo de información de clip y un archivo de flujo AV clip correspondiente se llama un clip. In the UMD video standard, video data, audio data, and subtitle data that have been digitally encoded are treated as an MPEG 2 stream (Group of Motion Picture Experts 2) in which they have been multiplexed as MPEG 2 elementary streams. An MPEG 2 stream whose elementary streams of video, audio and subtitles have been multiplexed is called an AV clip stream. An AV clip stream is stored in an AV clip stream file. When an AV clip stream file is recorded, a clip information file is also created in the one-to-one relationship. A set of a clip information file and a corresponding AV clip stream file is called a clip.

Un clip es una unidad de grabación de datos que se graba en el disco. El orden de reproducción de los clips se gestiona en la capa de lista de reproducción que es una capa superior de clips. La capa de lista de reproducción que es una capa que designa el trayecto de reproducción de clips, contiene una o múltiples listas de reproducción. Una lista de reproducción consta de un conjunto de elementos de reproducción. Un elementos de reproducción contiene un conjunto de un punto de entrada y un punto de salida que representan el rango de reproducción de un clip. Con elementos de reproducción, los clips pueden reproducirse en cualquier orden. Los elementos de reproducción pueden designar el mismo clip. El punto de entrada y el punto de salida de un archivo de flujo AV clip se designan con indicaciones de tiempo (tiempos en un clip). Una indicación de tiempo se convierte en una posición de byte del archivo de flujo AV clip con información del archivo de información de clip. A clip is a data recording unit that is recorded on the disc. The playback order of the clips is managed in the playlist layer that is a top layer of clips. The playlist layer, which is a layer that designates the clip playback path, contains one or multiple playlists. A playlist consists of a set of play items. A playback element contains a set of an entry point and an exit point that represent the playback range of a clip. With playback items, clips can be played in any order. Playback elements can designate the same clip. The entry point and the exit point of an AV clip stream file are designated with time indications (times in a clip). A time indication is converted to a byte position of the AV clip stream file with information from the clip information file.

Una lista de reproducción tiene una estructura por la cual los elementos de reproducción que representan todos o una parte de los clips se reproducen en el orden. Con solamente una lista de reproducción, las derivaciones del orden de reproducción e interactividad con el usuario no pueden lograrse. A playlist has a structure by which the playback elements that represent all or a part of the clips are played in the order. With only one playlist, derivations of the order of reproduction and interactivity with the user cannot be achieved.

La capa de guión es una capa que consta del guión de vídeo UMD, el cual es una extensión del guión ECMA como un lenguaje. El guión de vídeo UMD es un guión basado en ECMA que se extiende para una función original del vídeo UMD. The script layer is a layer that consists of the UMD video script, which is an extension of the ECMA script as a language. The UMD video script is an ECMA-based script that extends to an original UMD video function.

La capa de guión es una capa superior de la capa de lista de reproducción. La capa de guión consta de comandos de reproducción de lista de reproducción y comandos de establecimiento de reproductor. Con comandos de la capa de guión, las reproducciones de la lista de reproducción, como, por ejemplo, una selección de idioma en la cual un flujo correspondiente a un idioma deseado se selecciona de varios flujos y derivaciones condicionales cuyas las listas de reproducción se reproducirán se seleccionan según condiciones predeterminadas pueden lograrse. Un ejemplo de una aplicación que lleva a cabo una reproducción de una lista de reproducción que tiene derivaciones condicionales es una de varios niveles. La capa de guión provee una función interactiva al usuario. The script layer is a top layer of the playlist layer. The script layer consists of playlist playback commands and player setting commands. With script layer commands, reproductions of the playlist, such as a language selection in which a stream corresponding to a desired language is selected from several conditional streams and derivations whose playlists will be played are selected according to predetermined conditions can be achieved. An example of an application that performs a reproduction of a playlist that has conditional derivations is one of several levels. The script layer provides an interactive function to the user.

2-2. Sobre el modelo de reproductor basado en el estándar de vídeo UMD 2-2. About the player model based on the UMD video standard

A continuación, se describirá un modelo de un aparato de reproducción (reproductor) que reproduce datos sobre la base del estándar de vídeo UMD, a saber el modelo de reproductor. En primer lugar, el reproductor lee un programa de guión, una lista de reproducción, y un archivo de información de clip del disco. Luego, el reproductor lee un archivo de flujo AV clip del disco según el orden de reproducción descrito en el programa de guión, la lista de reproducción y el archivo de información de clip y reproduce los datos de vídeo, datos de audio y datos de subtítulos del archivo AV de clip. Next, a model of a playback device (player) that reproduces data based on the UMD video standard will be described, namely the player model. First, the player reads a script program, a playlist, and a clip information file from the disc. The player then reads an AV clip stream file from the disc according to the playback order described in the script program, the playlist and the clip information file and plays the video data, audio data and subtitle data of the clip AV file.

En la especificación de lenguaje del programa de guión, un bloque funcional que reproduce una lista de reproducción se implementa como un objeto del programa de guión. En el estándar de vídeo UMD, se hace referencia a un objeto que reproduce una lista de reproducción como el objeto de reproductor de películas. Los comandos de reproducción de lista de reproducción y comandos de establecimiento de reproductor son métodos del objeto de reproductor de películas. El objeto de reproductor de películas se controla con métodos de la capa de guión. En este punto, se requiere una función que permite al objeto de reproductor de películas informar la capa de In the language specification of the script program, a functional block that plays a playlist is implemented as an object of the script program. In the UMD video standard, an object that plays a playlist is referred to as the movie player object. Playlist playback commands and player setting commands are methods of the movie player object. The movie player object is controlled with script layer methods. At this point, a function is required that allows the movie player object to report the layer of

imagen11image11

5 guión sobre un cambio de estado, una posición de reproducción, y así sucesivamente. Ello significa que el objeto de reproductor de películas emite un evento al programa de guión. Un proceso correspondiente al evento se describe como un manejador de eventos. 5 script about a change of state, a playback position, and so on. This means that the movie player object issues an event to the script program. A process corresponding to the event is described as an event handler.

Por consiguiente, con un modelo cuya información se transfiere del objeto de reproductor de películas al programa de guión usando eventos y el programa de guión controla el objeto de reproductor de películas usando métodos, la Therefore, with a model whose information is transferred from the movie player object to the script program using events and the script program controls the movie player object using methods, the

10 reproducción de un flujo AV clip puede controlarse por el programa de guión. 10 Playback of a clip AV stream can be controlled by the script program.

La Figura 30 muestra, de manera esquemática, un ejemplo del modelo de reproductor según la segunda realización de la presente invención. Un reproductor de películas 300 es un módulo que reproduce datos de vídeo, datos de audio, y datos de subtítulos según el estándar de vídeo UMD. El objeto de reproductor de películas es un objeto de un programa de guión de modo que el programa de guión hace funcionar un objeto de películas. En otras palabras, Figure 30 shows, schematically, an example of the player model according to the second embodiment of the present invention. A movie player 300 is a module that reproduces video data, audio data, and subtitle data according to the UMD video standard. The movie player object is an object of a script program so that the script program operates a movie object. In other words,

15 un objeto de reproductor de películas es un programa de guión que logra la función del reproductor de películas. 15 A movie player object is a script program that achieves the function of the movie player.

Dado que se considera que el reproductor de películas 300 y el objeto de reproductor de películas representan sustancialmente el mismo objeto, de aquí en adelante se los denota por el mismo numeral de referencia. Since it is considered that the movie player 300 and the movie player object represent substantially the same object, hereafter they are denoted by the same reference numeral.

En la Figura 30, el reproductor de películas 300 lee, descodifica, y visualiza un archivo de flujo AV clip según un método de una capa inferior (una plataforma de implementación nativa 301) y un método de la capa de guión 302 In Figure 30, the movie player 300 reads, decodes, and displays an AV clip stream file according to a lower layer method (a native deployment platform 301) and a script layer method 302

20 como una capa superior sobre la base de una lista de reproducción y una base de datos de información de clip. 20 as a top layer based on a playlist and a clip information database.

El interior del reproductor de películas 300 depende de la implementación de un reproductor de vídeo UMD que reproduce el vídeo UMD. Una capa de guión 302 provee una API (Interfaz de Programación de Aplicaciones) como, por ejemplo, un método y una propiedad como un objeto que es una caja negra. En el presente ejemplo, el reproductor de vídeo UMD representa un dispositivo real que implementa un reproductor de películas. Todos los The inside of the movie player 300 depends on the implementation of a UMD video player that plays the UMD video. A script layer 302 provides an API (Application Programming Interface) such as a method and a property such as an object that is a black box. In the present example, the UMD video player represents a real device that implements a movie player. All the

25 reproductores de vídeo UMD implementan un reproductor de películas que cumple con el estándar de vídeo UMD y que tiene compatibilidad de reproducción. 25 UMD video players implement a movie player that meets the UMD video standard and has playback compatibility.

Como se muestra en la Figura 30, el objeto de reproductor de películas 300 tiene tres trayectos de entrada/salida que son un trayecto que recibe un comando de control 311 de la plataforma de implementación nativa 301, un trayecto que informa a la capa de guión 302 sobre un evento 312, y un trayecto que recibe un método 313 de la As shown in Figure 30, the movie player object 300 has three input / output paths that are a path that receives a control command 311 from the native implementation platform 301, a path that informs the script layer 302 about an event 312, and a path that receives a method 313 of the

30 capa de guión 302. 30 dash layer 302.

El comando de control 311 es un comando que controla el funcionamiento del objeto de reproductor de películas 300 recibido de la plataforma de implementación nativa 301. La plataforma de implementación nativa 301 es una porción específica para un dispositivo como un reproductor de vídeo UMD real y una interfaz con el reproductor de películas The control command 311 is a command that controls the operation of the movie player object 300 received from the native implementation platform 301. The native implementation platform 301 is a specific portion for a device such as a real UMD video player and a interface with movie player

300. El evento 312 es un evento de guión que el reproductor de películas 300 envía a la capa de guión 302. El 35 método 313 es un método que el programa de guión de la capa de guión 302 envía al reproductor de películas 300. 300. Event 312 is a script event that movie player 300 sends to script layer 302. Method 313 is a method that the script program of script layer 302 sends to movie player 300.

El objeto de reproductor de películas 300 tiene una base de datos 320 para listas de reproducción e información de clip según el estándar de vídeo UMD. El objeto de reproductor de películas 300 oculta una entrada de usuario 310 y convierte una posición de reproducción de tiempo designada en una posición de byte de un flujo AV clip con la base de datos 320. The movie player object 300 has a database 320 for playlists and clip information according to the UMD video standard. The movie player object 300 hides a user input 310 and converts a designated time playback position to a byte position of an AV clip stream with database 320.

40 Un módulo de reproducción 321 del reproductor de películas 300 descodifica un flujo AV clip como un PS (Flujo de Programa) MPEG 2 en el cual los datos de vídeo, datos de audio y datos de subtítulos se han multiplexado. El módulo de reproducción 321 tiene tres estados que son reproducir, parar y pausar. Los cambios del módulo de reproducción 321 funcionan en uno de dichos tres estados según un comando de control y un método (es preciso ver la Figura 31). 40 A playback module 321 of the movie player 300 decodes an AV clip stream as a PS (Program Stream) MPEG 2 in which the video data, audio data and subtitle data have been multiplexed. The playback module 321 has three states that are play, stop and pause. The changes of the playback module 321 operate in one of said three states according to a control command and a method (see Figure 31).

45 La capa de guión 302 es una capa en la cual un programa de guión se ejecuta sobre la base del estándar de guión de vídeo UMD, el objeto de reproductor de películas 300 se controla y una pantalla se visualiza. La capa de guión 302 logra un escenario que el lado de proveedor de contenidos pretende crear. La capa de guión 302 emite el método 313 al objeto de reproductor de películas 300 y recibe el evento 312 del objeto de reproductor de películas 45 The script layer 302 is a layer in which a script program is executed based on the UMD video script standard, the movie player object 300 is controlled and a screen is displayed. The script layer 302 achieves a scenario that the content provider side intends to create. The script layer 302 issues method 313 to the movie player object 300 and receives event 312 from the movie player object

300. La capa de guión 302 intercambia con la plataforma de implementación nativa 301 un evento de tecla 314 300. The script layer 302 exchanges a key event 314 with the native implementation platform 301

50 correspondiente a una entrada de usuario 310 y un método 315 que hace que la plataforma de implementación nativa 301 muestre una pantalla. 50 corresponding to a user input 310 and a method 315 that causes the native implementation platform 301 to display a screen.

Por ejemplo, los botones que aparecen en la pantalla de menú se dibujan por la plataforma de implementación nativa 301 correspondiente al método 315 que se transfiere del programa de guión de la capa de guión 302 a la plataforma de implementación nativa 301. Cuando el usuario selecciona un botón en la pantalla de menú, la For example, the buttons that appear on the menu screen are drawn by the native implementation platform 301 corresponding to method 315 that is transferred from the script program of the script layer 302 to the native implementation platform 301. When the user selects a button on the menu screen, the

55 plataforma de implementación nativa 301 informa a la capa de guión 302 sobre el evento de tecla 314 correspondiente a la entrada de usuario 310. El programa de guión de la capa de guión 302 lleva a cabo un proceso para la entrada de usuario 310 correspondiente al evento de tecla 314. The native implementation platform 301 informs script layer 302 about the key event 314 corresponding to user input 310. The script program of script layer 302 performs a process for user input 310 corresponding to key event 314.

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

El programa de guión y datos como, por ejemplo, datos de imágenes y datos de sonido usados en el archivo de guión se graban como un archivo para el disco. Dicho archivo corresponde al archivo scenario.hdmv que se muestra en la Figura 25A y Figura 25B. The script and data program, such as image data and sound data used in the script file, are recorded as a file for the disc. This file corresponds to the scenario.hdmv file shown in Figure 25A and Figure 25B.

Por consiguiente, el reproductor de películas 300 controla los procesos de descodificación y visualización para los datos de vídeo, datos de audio y datos de subtítulos. Por otro lado, la capa de guión 302 controla los procesos de asignación y visualización para imágenes de partes como, por ejemplo, botones que componen la GUI (Interfaz Gráfica de Usuario) y lleva a cabo un proceso contra un proceso de selección para partes GUI. Accordingly, the movie player 300 controls the decoding and display processes for video data, audio data and subtitle data. On the other hand, the script layer 302 controls the allocation and display processes for part images such as buttons that make up the GUI (Graphical User Interface) and carries out a process against a selection process for GUI parts .

La plataforma de implementación nativa 301 es una plataforma en la cual funcionan el objeto de reproductor de películas 300 y un programa de guión. Cuando el reproductor de vídeo UMD real consta de hardware, la plataforma de implementación nativa 301 se implementa, específicamente, como hardware de modo que la plataforma de implementación nativa 301 media entre el hardware y el modelo de reproductor. The native implementation platform 301 is a platform on which the movie player object 300 and a script program operate. When the actual UMD video player consists of hardware, the native deployment platform 301 is specifically implemented as hardware so that the native deployment platform 301 mediates between the hardware and the player model.

Por ejemplo, la plataforma de implementación nativa 301 recibe la entrada de usuario 310 del usuario y determina si la entrada de usuario 310 recibida es un comando para el reproductor de películas 300 o un comando para un botón que la capa de guión 302 extrae y muestra. Cuando la plataforma de implementación nativa 301 ha determinado que la entrada de usuario 310 es un comando para el reproductor de películas 300, la plataforma de implementación nativa 301 convierte la entrada de usuario 310 en el comando de control 311 que es un comando de control interno del reproductor de películas 300 y emite un comando de control al reproductor de películas 300. Por otro lado, cuando la plataforma de implementación nativa 301 ha determinado que la entrada de usuario 310 es un comando para una parte GUI que la capa de guión 302 extrae y muestra, la plataforma de implementación nativa 301 informa a la capa de guión 302 sobre el evento de tecla 314 correspondiente a la entrada de usuario 310. For example, the native implementation platform 301 receives user input 310 from the user and determines whether the user input 310 received is a command for the movie player 300 or a command for a button that the script layer 302 extracts and displays . When the native implementation platform 301 has determined that user input 310 is a command for the movie player 300, native deployment platform 301 converts user input 310 into control command 311 which is an internal control command from the movie player 300 and issues a control command to the movie player 300. On the other hand, when the native implementation platform 301 has determined that the user input 310 is a command for a GUI part that the script layer 302 extracts and shows, the native implementation platform 301 informs the script layer 302 about the key event 314 corresponding to user input 310.

A continuación, se describirá en detalle el reproductor de películas 300. La Figura 31 muestra una estructura interna de un ejemplo del reproductor de películas 300. Según se describe más arriba, el reproductor de películas 300 consta de la base de datos 320 y del módulo de reproducción 321. La base de datos 320 es una área para la información de las listas de reproducción que se leen desde el disco e información de clips, a saber información de clip. Next, the movie player 300 will be described in detail. Figure 31 shows an internal structure of an example of the movie player 300. As described above, the movie player 300 consists of database 320 and the module 321. The database 320 is an area for the information of the playlists that are read from the disc and clip information, namely clip information.

El módulo de reproducción 321 consta de un motor de descodificador 322 y una propiedad 323 que es un valor que representa el estado del módulo de reproducción 321. Como un código de lenguaje, la propiedad 323 consta de dos tipos de una propiedad 323A (parámetro de solo lectura) cuyo valor depende del establecimiento inicial del reproductor de películas 300 y una propiedad 323B (estado de reproductor) cuyo valor depende del estado del módulo de reproducción 321. The playback module 321 consists of a decoder motor 322 and a property 323 which is a value that represents the status of the playback module 321. As a language code, property 323 consists of two types of a property 323A (parameter of read only) whose value depends on the initial setting of the movie player 300 and a 323B property (player status) whose value depends on the status of the playback module 321.

La propiedad 323A cuyo valor depende del establecimiento inicial se establece por un sistema nativo, por ejemplo un dispositivo real. La propiedad 323A no varía con una lista de reproducción, información de clip, o programa de guión. La propiedad 323A puede leerse desde un programa de guión. Por otro lado, la propiedad 323B que representa el estado del módulo de reproducción 321 puede leerse desde un programa de guión. La propiedad 323B puede escribirse desde una parte de los programas de guión. Property 323A whose value depends on the initial establishment is set by a native system, for example a real device. Property 323A does not vary with a playlist, clip information, or script program. Property 323A can be read from a script program. On the other hand, property 323B representing the status of the playback module 321 can be read from a script program. Property 323B can be written from a part of the script programs.

En el modelo de funcionamiento, se supone que una lista de reproducción y la información de clip se precargan antes de que se reproduzca un flujo AV clip. Otro modelo de implementación puede usarse siempre que las funciones para el modelo de reproductor de películas puedan lograrse. In the operating model, it is assumed that a playlist and clip information are preloaded before an AV clip stream is played. Another implementation model can be used as long as the functions for the movie player model can be achieved.

El objeto de reproductor de películas 300 reproduce una lista de reproducción designada correspondiente a un comando recibido de la capa de guión 302 o plataforma de implementación nativa 301. Por ejemplo, el reproductor de películas 300 hace referencia a la base de datos 320 y obtiene la posición de reproducción de un flujo AV clip correspondiente a la lista de reproducción designada como una posición de byte. El motor de descodificador 322 del módulo de reproducción 321 controla el proceso de descodificación para el flujo AV clip correspondiente a la información de posición de reproducción. The movie player object 300 reproduces a designated playlist corresponding to a command received from the script layer 302 or native deployment platform 301. For example, the movie player 300 refers to the database 320 and obtains the Playback position of an AV clip stream corresponding to the playlist designated as a byte position. The decoder motor 322 of the playback module 321 controls the decoding process for the AV clip stream corresponding to the playback position information.

Como se muestra en la Figura 32, el reproductor de películas 300 tiene tres estados, los cuales son reproducir, parar y pausar, correspondientes a los estados de reproducción de una lista de reproducción. El estado de reproducción representa que el reproductor de películas 300 está reproduciendo una lista de reproducción y que un tiempo está transcurriendo. Además, en la reproducción normal, el estado de reproducción incluye reproducciones de velocidad variable como, por ejemplo, reproducción a una velocidad de 2x y reproducción a una velocidad de 1/2x, y avance y rebobinado rápidos. El estado de pausa representa que el eje temporal se detiene mientras el reproductor de películas 300 está reproduciendo una lista de reproducción. El así llamado estado de reproducción de etapas representa que el reproductor de películas 300 reproduce, hacia adelante o hacia atrás, una lista de reproducción para cada fotograma. El estado de detención representa que el reproductor de vídeo 300 no reproduce ninguna lista de reproducción. As shown in Figure 32, the movie player 300 has three states, which are play, stop and pause, corresponding to the play states of a playlist. The playback status represents that the movie player 300 is playing a playlist and that a time is elapsing. In addition, in normal playback, the playback status includes variable speed reproductions such as, for example, reproduction at a speed of 2x and reproduction at a speed of 1 / 2x, and fast forward and rewind. The pause status represents that the time axis stops while movie player 300 is playing a playlist. The so-called stage playback state represents that the movie player 300 reproduces, forwards or backwards, a playlist for each frame. The stop status represents that video player 300 does not play any playlists.

Los estados del reproductor de películas 300 cambian de manera correspondiente a los cambios de estado entre reproducción, pausa y detención del motor de descodificador 322 del reproductor de películas 300. El valor de la propiedad 323B se actualiza según el cambio de estado del motor de descodificador 322. The states of the movie player 300 change correspondingly to the state changes between playback, pause and stop of the decoder engine 322 of the movie player 300. The value of property 323B is updated according to the change of state of the decoder engine. 322

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

La información de reanudación representa el estado inmediatamente anterior a que tenga lugar el estado de detención. Cuando el reproductor de películas 300 descodifica una lista de reproducción y se convierte en el estado de reproducción, si el reproductor de películas 300 se convierte en el estado de detención, la información de reanudación representa el estado inmediatamente anterior a que tenga lugar el estado de detención. La información de reanudación puede almacenarse en una memoria permanente que el reproductor tiene como hardware de modo que cada título del disco puede identificarse. The resume information represents the state immediately before the detention state takes place. When the movie player 300 decodes a playlist and becomes the playback state, if the movie player 300 becomes the stop state, the resume information represents the state immediately before the status of detention. The resume information can be stored in permanent memory that the player has as hardware so that each disc title can be identified.

2-3. Sobre el modelo de evento del reproductor de películas 2-3. About the event model of the movie player

A continuación, se describirá un modelo de evento del reproductor de películas 300. El reproductor de películas 300 genera varios eventos en el estado de reproducción en el cual el reproductor de películas 300 reproduce una lista de reproducción. Dicho evento hace que un programa de proceso descrito en un guión se ejecute. Dicho programa de proceso se llama un manejador de eventos. El manejador de eventos es un método requerido cuando un evento tiene lugar. Cuando dicho evento tiene lugar, un modelo de ejecución de programa inicia la ejecución de un programa de proceso. El presente modelo de ejecución de programa se llama un modelo accionado por evento. Según la segunda realización de la presente invención, el programa de guión controla el funcionamiento del objeto de reproductor de películas 300 con un grupo de manejadores de eventos. Next, an event model of the movie player 300 will be described. The movie player 300 generates several events in the playback state in which the movie player 300 plays a playlist. This event causes a process program described in a script to run. Said process program is called an event handler. The event handler is a required method when an event takes place. When said event takes place, a program execution model starts the execution of a process program. The present program execution model is called an event driven model. According to the second embodiment of the present invention, the script program controls the operation of the movie player object 300 with a group of event handlers.

La Figura 33 muestra, de manera esquemática, un modelo de evento del reproductor de películas 300 según la segunda realización de la presente invención. En la Figura 33, los manejadores de eventos onEventA(), onEventB(), y onEvent() son interfaces. Los contenidos de dichos manejadores de eventos se describen en el guión. Los contenidos de los manejadores de eventos se crean e implementan por el lado de creador de contenido. En el estándar de guión de vídeo UMD, cada evento cuyo objeto de reproductor de películas 300 informa al programa de guión se provee con un manejador de eventos. En el ejemplo que se muestra en la Figura 33, un programa de proceso que se ejecuta cuando el evento A tiene lugar es el manejador de eventos onEventA(). Asimismo, con respecto al evento B y evento C, cuando el evento B tiene lugar, se ejecuta el manejador de eventos onEventB(). Cuando el evento C tiene lugar, se ejecuta el manejador de eventos onEventC(). Figure 33 shows, schematically, an event model of the movie player 300 according to the second embodiment of the present invention. In Figure 33, the onEventA (), onEventB (), and onEvent () event handlers are interfaces. The contents of these event handlers are described in the script. The contents of the event handlers are created and implemented by the content creator side. In the UMD video script standard, each event whose movie player object 300 informs the script program is provided with an event handler. In the example shown in Figure 33, a process program that runs when event A takes place is the onEventA () event handler. Also, with respect to event B and event C, when event B takes place, the onEventB () event handler is executed. When event C takes place, the onEventC () event handler is executed.

Dado que un manejador de eventos requerido cuando un evento tiene lugar se selecciona en el lado de sistema, el lado de creador de contenidos no necesita describir en el programa de guión un proceso que determina un evento que tiene lugar. Since an event handler required when an event takes place is selected on the system side, the content creator side does not need to describe in the script program a process that determines an event taking place.

El modelo de evento según la segunda realización es más simple que el modelo de oyente de eventos según la primera realización descrita en la Figura 15 porque este último necesita procesos que registren eventos y borren eventos registrados. Por otro lado, en un modelo que requiere un método processEvent() independientemente de qué evento tiene lugar (es preciso ver la Figura 20), es necesario describir en el método processEvent() preprocesos que conozcan qué evento tiene lugar y seleccionen una rutina de procesos para un evento que tiene lugar. Dado que el método processEvent() debe implementarse por el lado de creador de contenidos, incluso si el modelo es simple, el lado de creador de contenidos necesita crear, de manera trabajosa, el disco. Además, cuando un evento tiene lugar, se requiere un programa de proceso (método) grande. Por consiguiente, se usaría un gran espacio de memoria y la velocidad de ejecución se convertiría en lenta. Por consiguiente, dado que el modelo según la segunda realización de la presente invención provee a cada evento un programa de proceso (manejador de eventos), con respecto a este punto, el modelo de la segunda realización es superior al de la primera realización. The event model according to the second embodiment is simpler than the event listener model according to the first embodiment described in Figure 15 because the latter requires processes that record events and delete recorded events. On the other hand, in a model that requires a processEvent () method regardless of which event takes place (see Figure 20), it is necessary to describe in the processEvent () method preprocesses that know what event takes place and select a routine of processes for an event that takes place. Since the processEvent () method must be implemented by the content creator side, even if the model is simple, the content creator side needs to laboriously create the disk. In addition, when an event takes place, a large process program (method) is required. Consequently, a large memory space would be used and the execution speed would become slow. Therefore, since the model according to the second embodiment of the present invention provides each event with a process program (event handler), with respect to this point, the model of the second embodiment is superior to that of the first embodiment.

2-4. Sobre el objeto de reproductor de películas 300 2-4. About the object of movie player 300

A continuación, se describirán las especificaciones externas del objeto de reproductor de películas 300. En general, un objeto definido en un lenguaje correspondiente a la especificación de lenguaje de guión ECMA tiene una propiedad y un método. El objeto de reproductor de películas 300 según la segunda realización de la presente invención tiene una propiedad y un método como se describe en la Figura 31 y Figura 32. Una propiedad puede leerse y escribirse directamente designando el nombre de objeto predeterminado y el nombre de propiedad. Además, con el método setXXX() (donde "XXX" representa un nombre de propiedad designado) que establece un valor de propiedad y el método getXXX() que lee un valor de propiedad, una propiedad de otro objeto puede leerse y escribirse por dichos métodos. Next, the external specifications of the movie player object 300 will be described. In general, an object defined in a language corresponding to the ECMA script language specification has a property and a method. The movie player object 300 according to the second embodiment of the present invention has a property and a method as described in Figure 31 and Figure 32. A property can be read and written directly by designating the predetermined object name and property name . In addition, with the setXXX () method (where "XXX" represents a designated property name) that sets a property value and the getXXX () method that reads a property value, a property of another object can be read and written by those methods

Para las propiedades y métodos del reproductor de películas 300 según la segunda realización de la presente invención, pueden aplicarse las mismas especificaciones que aquellas según la primera realización descrita en la Figura 7 a la Figura 12. En otras palabras, según la segunda realización de la presente invención, puede pensarse que las especificaciones (API) entre el programa de guión de la capa de guión 302 y el objeto de reproductor de películas 300, a saber el método 313 descrito en la Figura 30, son la misma clase definida en Java de la primera realización de la presente invención. For the properties and methods of the film player 300 according to the second embodiment of the present invention, the same specifications as those according to the first embodiment described in Figure 7 to Figure 12 may be applied. In other words, according to the second embodiment of the In the present invention, it can be thought that the specifications (API) between the script program of the script layer 302 and the movie player object 300, namely method 313 described in Figure 30, are the same Java-defined class of the first embodiment of the present invention.

Como se describe en la Figura 30, la entrada de usuario 310 se recibe primero por la plataforma de implementación nativa 301. En otras palabras, la plataforma de implementación nativa 301 recibe la entrada de tecla como la entrada de usuario 310 del usuario. La plataforma de implementación nativa 301 determina si la entrada de usuario 310 es un comando para el reproductor de películas 300 o un evento para el programa de guión de la capa de guión 302. Según el resultado determinado, la plataforma de implementación nativa 301 genera el comando de control 311 o el As described in Figure 30, user input 310 is first received by native deployment platform 301. In other words, native deployment platform 301 receives the key input as user input 310 of the user. The native implementation platform 301 determines whether user input 310 is a command for the movie player 300 or an event for the script program of the script layer 302. Depending on the result determined, the native implementation platform 301 generates the control command 311 or the

10 10

15 fifteen

20 twenty

25 25

30 30

35 35

40 40

45 Four. Five

50 fifty

55 55

evento de tecla 314 e informa a la capa superior correspondiente (el reproductor de películas 300 o la capa de guión 302) sobre ello. key event 314 and informs the corresponding upper layer (the movie player 300 or the script layer 302) about it.

La entrada de usuario 310 es una entrada de tecla que se describe en la Figura 24, Figura 25A y Figura 25B. Los roles de las funciones correspondientes a las entradas de tecla que se muestran en la Figura 24 son diferentes de las que se muestran en la Figura 25A y Figura 25B. Por consiguiente, la plataforma de implementación nativa 301 necesita seleccionar un destino al que se informa de la entrada de usuario. User input 310 is a key input that is described in Figure 24, Figure 25A and Figure 25B. The roles of the functions corresponding to the key inputs shown in Figure 24 are different from those shown in Figure 25A and Figure 25B. Therefore, the native implementation platform 301 needs to select a destination that is informed of user input.

Las entradas de tecla que se muestran en la Figura 24 hacen que el reproductor de películas 300 reproduzca datos de vídeo, datos de audio y datos de subtítulos. Cuando la plataforma de implementación nativa 301 recibe una entrada de tecla que se muestra en la Figura 24 como la entrada de usuario 310, la plataforma de implementación nativa 301 convierte la entrada de tecla recibida en un comando descrito en la Figura 21A, Figura 21B, Figura 21C y Figura 21D. Se informa al reproductor de películas 300 sobre el comando convertido como el comando de control The key inputs shown in Figure 24 cause the movie player 300 to play video data, audio data and subtitle data. When the native implementation platform 301 receives a key input shown in Figure 24 as user input 310, the native implementation platform 301 converts the received key input into a command described in Figure 21A, Figure 21B, Figure 21C and Figure 21D. The movie player 300 is informed about the converted command as the control command

311. En otras palabras, los comandos de entrada de usuario descritos en la Figura 21A, Figura 21B, Figura 21C y Figura 21D corresponden al comando de control 311 que se muestra en la Figura 30. 311. In other words, the user input commands described in Figure 21A, Figure 21B, Figure 21C and Figure 21D correspond to the control command 311 shown in Figure 30.

Por otro lado, las entradas de tecla que se muestran en la Figura 25A y Figura 25B son la entrada de usuario 310 para la GUI. Cuando la plataforma de implementación nativa 301 recibe una entrada de tecla que se muestra en la Figura 25A y Figura 25B como la entrada de usuario 310, la plataforma de implementación nativa 301 convierte la entrada de tecla recibida en un evento de tecla 314 e informa a la capa de guión 302 sobre el evento de tecla 314. On the other hand, the key entries shown in Figure 25A and Figure 25B are user input 310 for the GUI. When the native implementation platform 301 receives a key input shown in Figure 25A and Figure 25B as the user input 310, the native implementation platform 301 converts the received key input into a key event 314 and informs the script layer 302 on the key event 314.

La Figura 25A y Figura 25B también muestran entradas de tecla con respecto a selecciones de flujo que son la tecla VK_ANGLE, tecla VK_PRESENTATION_GRAPHICS, y tecla VK_AUDIO. Dichas entradas de tecla se logran por métodos de un programa de guión para el reproductor de películas 300. Por consiguiente, son entradas de tecla sobre las cuales debe informarse a la capa de guión 302. Figure 25A and Figure 25B also show key entries regarding flow selections that are the VK_ANGLE key, VK_PRESENTATION_GRAPHICS key, and VK_AUDIO key. Said key inputs are achieved by methods of a script program for the movie player 300. Accordingly, they are key entries on which the script layer 302 must be informed.

2-5. Sobre el manejo de eventos por el objeto de reproductor de películas 300 2-5. About event handling by the object of movie player 300

Según la primera realización que usa el lenguaje Java, el objeto BDBasicPlayer tiene los eventos que se muestran en la Figura 14A, Figura 14B, y Figura 14C. Sobre la base del modelo de oyente de eventos que se muestra en la Figura 15, los oyentes se registran y eliminan del registro con los métodos que se muestran en la Figura 16A y Figura 16B. En el modelo de oyente de eventos según la primera realización, mientras se está ejecutando un programa, un oyente puede registrarse y eliminarse del registro de manera dinámica. Un proceso de respuesta a un evento puede cambiarse mientras se está ejecutando un programa. Por consiguiente, la programación que tiene un grado más alto de libertad y una función avanzada superior puede lograrse en comparación con la técnica relacionada. According to the first embodiment using the Java language, the BDBasicPlayer object has the events shown in Figure 14A, Figure 14B, and Figure 14C. Based on the event listener model shown in Figure 15, listeners are registered and removed from the registry using the methods shown in Figure 16A and Figure 16B. In the event listener model according to the first embodiment, while a program is running, a listener can be registered and removed from the registry dynamically. An event response process can be changed while a program is running. Accordingly, programming that has a higher degree of freedom and a superior advanced function can be achieved in comparison to the related technique.

Por otro lado, en el lenguaje de guión basado en el guión ECMA según la segunda realización de la presente invención, un programa de proceso que se ha preparado correspondiente a un evento que tiene lugar se requiere sin necesidad de registrar y eliminar del registro a los oyentes. Una interfaz correspondiente a un oyente según la primera realización son los manejadores de eventos del reproductor de películas 300. En un modelo de manejador de eventos, los métodos con respecto al registro de oyentes que se muestra en la Figura 16A y Figura 16B no son necesarios. On the other hand, in the script language based on the ECMA script according to the second embodiment of the present invention, a process program that has been prepared corresponding to an event that takes place is required without the need to register and remove from the registry the listeners An interface corresponding to a listener according to the first embodiment is the event handlers of the movie player 300. In an event handler model, the methods with respect to the listener record shown in Figure 16A and Figure 16B are not necessary. .

Según la segunda realización de la presente invención, los ejemplos de manejadores de eventos en la Figura 34A y Figura 34B se proveen según los eventos. Los nombres de los manejadores de eventos tienen el prefijo "on". Los ejemplos de los manejadores de eventos que se muestran en la Figura 34A y Figura 34B corresponden a eventos que se muestran en la Figura 14A, Figura 14B y Figura 14C de la primera realización. According to the second embodiment of the present invention, the examples of event handlers in Figure 34A and Figure 34B are provided according to the events. The names of the event handlers have the prefix "on". The examples of the event handlers shown in Figure 34A and Figure 34B correspond to events shown in Figure 14A, Figure 14B and Figure 14C of the first embodiment.

El manejador de eventos onTimerFired() corresponde a un evento que tiene lugar cuando el valor del temporizador en cuenta regresiva del reproductor de películas 300 se convierte en "0" o cuando el valor del temporizador en cuenta ascendente se convierte en un valor predeterminado. Por consiguiente, un proceso puede lograrse en un tiempo predeterminado. The onTimerFired () event handler corresponds to an event that occurs when the countdown timer value of the movie player 300 becomes "0" or when the countdown timer value becomes a predetermined value. Therefore, a process can be accomplished in a predetermined time.

El manejador de eventos onPlayStopped() corresponde a un evento que tiene lugar cuando la reproducción se detiene en el reproductor de películas 300. El manejador de eventos onPlayStilled() corresponde a un evento que tiene lugar cuando la reproducción se pausa en el reproductor de películas 300. El manejador de eventos onPlayStarted() corresponde a un evento que tiene lugar cuando la reproducción se inicia en el reproductor de películas 300. El manejador de eventos onPlayRepeated() corresponde a un evento que tiene lugar cuando el inicio de datos predeterminados se detecta en la reproducción de repetición del reproductor de películas 300. Por consiguiente, un proceso correspondiente al estado del motor de descodificador 322 puede lograrse. The onPlayStopped () event handler corresponds to an event that occurs when playback stops on the 300 movie player. The onPlayStilled () event handler corresponds to an event that occurs when playback is paused on the movie player. 300. The onPlayStarted () event handler corresponds to an event that occurs when playback starts on the 300 movie player. The onPlayRepeated () event handler corresponds to an event that occurs when the start of default data is detected in the repeat playback of the movie player 300. Accordingly, a process corresponding to the state of the decoder motor 322 can be achieved.

El manejador de eventos onSPDisplayStatusChanged() corresponde a un evento que tiene lugar cuando el estado de visualización o no visualización de un flujo de datos de subtítulos (subimagen) cambia en el reproductor de películas 300. El manejador de eventos onSelectedAudioChanged() corresponde a un evento que tiene lugar cuando un flujo de audio que se está reproduciendo cambia en el reproductor de películas 300. El manejador de eventos onVideoStopped() corresponde a un evento que tiene lugar cuando un flujo de vídeo que se está reproduciendo cambia en el reproductor de películas 300. Por consiguiente, un proceso correspondiente a un cambio de un flujo que se está reproduciendo puede lograrse. The onSPDisplayStatusChanged () event handler corresponds to an event that occurs when the display or non-display status of a subtitle data stream (subimage) changes in the movie player 300. The onSelectedAudioChanged () event handler corresponds to a event that occurs when an audio stream that is playing changes in the movie player 300. The onVideoStopped () event handler corresponds to an event that occurs when a video stream that is being played changes in the movie player 300. Accordingly, a process corresponding to a change of a flow being reproduced can be achieved.

imagen12image12

El manejador de eventos onPlayListStarted() corresponde a un evento que tiene lugar cuando el inicio de una lista de reproducción se detecta en el reproductor de películas 300. El manejador de eventos onPlayListEnded() 5 corresponde a un evento que tiene lugar cuando el fin de una lista de reproducción se detecta en el reproductor de películas 300. El manejador de eventos onPlayItemStarted() corresponde a un evento que tiene lugar cuando el inicio de un elemento de reproducción se detecta en el reproductor de películas 300. El manejador de eventos onPlayItemEnded() corresponde a un evento que tiene lugar cuando el fin de un elemento de reproducción se detecta en el reproductor de películas 300. Por consiguiente, los procesos correspondientes al comienzo y fin de la The onPlayListStarted () event handler corresponds to an event that occurs when the start of a playlist is detected in the movie player 300. The onPlayListEnded () 5 event handler corresponds to an event that occurs when the end of a playlist is detected in the movie player 300. The onPlayItemStarted () event handler corresponds to an event that occurs when the start of a play item is detected in the movie player 300. The onPlayItemEnded event handler ( ) corresponds to an event that occurs when the end of a playback element is detected in the movie player 300. Accordingly, the processes corresponding to the beginning and end of the

10 reproducción para listas de reproducción y elementos de reproducción como, por ejemplo, una reproducción continua para listas de reproducción y elementos de reproducción, pueden lograrse. 10 Playback for playlists and play items, such as continuous play for playlists and play items, can be achieved.

El manejador de eventos onMarkEncountered() corresponde a un evento que tiene lugar cuando una marca se detecta desde una lista de reproducción mientras la lista de reproducción se está reproduciendo en el reproductor de películas 300. Cuando una marca que representa un tiempo se preestablece para una lista de reproducción, un The onMarkEncountered () event handler corresponds to an event that occurs when a mark is detected from a playlist while the playlist is being played on the movie player 300. When a mark representing a time is preset for a playlist, a

15 proceso de derivación para una lista de reproducción que se está reproduciendo puede lograrse. 15 referral process for a playlist that is being played can be achieved.

Los contenidos de dichos manejadores de eventos se describen mediante el uso de un lenguaje descriptivo por el lado de creador de contenido. Por consiguiente, cuando un evento tiene lugar, una función que el lado de proveedor de contenido pretende puede lograrse. The contents of said event handlers are described by the use of a descriptive language by the content creator side. Therefore, when an event takes place, a function that the content provider side intends can be achieved.

Claims (11)

imagen1image 1 REIVINDICACIONES 1. Un aparato de reproducción para reproducir datos de contenido jerárquicamente grabados en un medio de grabación con forma de disco, que comprende: 1. A playback apparatus for reproducing content data hierarchically recorded on a disc-shaped recording medium, comprising: un objeto de reproductor (30) definido por una clase java para controlar un proceso de reproducción para datos de 5 contenido jerárquicamente grabados en el medio de grabación con forma de disco y para generar un evento (312) correspondiente a un cambio predeterminado; a player object (30) defined by a java class to control a reproduction process for data of content hierarchically recorded on the disc-shaped recording medium and to generate an event (312) corresponding to a predetermined change; medios de entrada de usuario para recibir una entrada de usuario e informar a dicho objeto de reproductor sobre la entrada de usuario, en donde el cambio predeterminado se basa en una entrada para dichos medios de entrada de usuario; y user input means for receiving a user input and informing said player object about the user input, wherein the default change is based on an input for said user input means; Y 10 un objeto de programa java (31) formado por encima de dicho objeto de reproductor, en donde el objeto de programa java es un programa superordinado con respecto al objeto de reproductor y controla el objeto de reproductor a través de una interfaz de programación de aplicaciones (32), 10 a java program object (31) formed above said player object, wherein the java program object is a superordinate program with respect to the player object and controls the player object through an application programming interface (32), en donde el objeto de programa java se configura para preparar programas que se ejecutan cuando se informa al objeto de programa java sobre la ocurrencia de eventos; wherein the java program object is configured to prepare programs that run when the java program object is informed about the occurrence of events; 15 en donde un programa lleva a cabo un proceso correspondiente al evento que tiene lugar; y 15 where a program carries out a process corresponding to the event taking place; Y en donde dicho objeto de reproductor se configura para informar al objeto de programa java sobre la ocurrencia de dicho evento, y para controlar el proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco con dicho proceso correspondiente al evento. wherein said player object is configured to inform the java program object about the occurrence of said event, and to control the playback process for content data hierarchically recorded on the disc-shaped recording medium with said process corresponding to the event . 2. El aparato de reproducción según se establece en la reivindicación 1, 20 en donde dicho objeto de programa java se reproduce desde el medio de grabación. 2. The reproduction apparatus as set forth in claim 1, wherein said java program object is reproduced from the recording medium. 3. El aparato de reproducción según se establece en la reivindicación 1, 3. The reproduction apparatus as set forth in claim 1, en donde cuando dicho objeto de programa java registra un proceso correspondiente al evento que tiene lugar para dicho objeto de reproductor, dicho objeto de reproductor ejecuta el proceso correspondiente al evento que tiene lugar. wherein when said java program object records a process corresponding to the event that takes place for said player object, said player object executes the process corresponding to the event taking place. 25 4. El aparato de reproducción según se establece en la reivindicación 3, en donde mientras los datos de contenido se están reproduciendo, el proceso puede registrarse. The reproduction apparatus as set forth in claim 3, wherein while the content data is being reproduced, the process can be recorded. 5. El aparato de reproducción según se establece en la reivindicación 3, 5. The reproduction apparatus as set forth in claim 3, en donde mientras los datos de contenido se están reproduciendo, el proceso que se ha registrado puede eliminarse del registro. where while the content data is being played, the process that has been registered can be deleted from the registry. 30 6. El aparato de reproducción según se establece en la reivindicación 1, The reproduction apparatus as set forth in claim 1, en donde el cambio predeterminado es un cambio que tiene lugar mientras los datos de contenido se están reproduciendo. where the default change is a change that takes place while the content data is being played. 7. El aparato de reproducción según se establece en la reivindicación 6, 7. The reproduction apparatus as set forth in claim 6, en donde el cambio predeterminado es la detección de una marca que representa un tiempo que se establece en los 35 datos de contenido. where the default change is the detection of a mark that represents a time that is set in the content data. 8. El aparato de reproducción según se establece en la reivindicación 1, 8. The reproduction apparatus as set forth in claim 1, en donde una tecla virtual se asigna a una tecla física de dichos medios de entrada de usuario por dicho objeto de programa Java, el cambio predeterminado siendo una entrada para la tecla virtual. wherein a virtual key is assigned to a physical key of said user input means by said Java program object, the default change being an entry for the virtual key. 9. El aparato de reproducción según se establece en la reivindicación 1, 40 en donde el cambio predeterminado es un cambio de estado de un reproductor. 9. The reproduction apparatus as set forth in claim 1, wherein the predetermined change is a change of status of a player.
10.10.
El aparato de reproducción según se establece en la reivindicación 1, en donde uno o múltiples eventos tienen lugar según el cambio basado en el evento.  The reproduction apparatus as set forth in claim 1, wherein one or multiple events take place according to the change based on the event.
11.eleven.
El aparato de reproducción según se establece en la reivindicación 1,  The reproduction apparatus as set forth in claim 1,
27 27 imagen2image2 en donde el proceso de reproducción incluye un control de reproducción que reproduce los datos de contenido del medio de grabación con forma de disco y un proceso para los datos de contenido reproducidos desde el medio de grabación con forma de disco. wherein the playback process includes a playback control that reproduces the content data of the disc-shaped recording medium and a process for the content data reproduced from the disc-shaped recording medium.
12. Un método de reproducción para reproducir datos de contenido jerárquicamente grabados en un medio de 5 grabación con forma de disco, que comprende las etapas de: 12. A reproduction method for reproducing content data hierarchically recorded on a disc-shaped recording medium, comprising the steps of: medios de entrada de usuario que reciben una entrada de usuario e informan a un objeto de reproductor sobre la entrada de usuario; user input means that receive a user input and inform a player object about the user input; el objeto de reproductor definido por una clase java y que controla un proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco y genera un evento the player object defined by a java class and which controls a playback process for content data hierarchically recorded on the disc-shaped recording medium and generates an event 10 correspondiente a un cambio predeterminado, en donde el cambio predeterminado se basa en dicha entrada de usuario para los medios de entrada de usuario; 10 corresponding to a predetermined change, wherein the predetermined change is based on said user input for user input means; dicho objeto de reproductor informa a un objeto de programa java formado por encima de dicho objeto de reproductor sobre la ocurrencia de dicho evento, en donde el objeto de programa java es un programa superordinado con respecto al objeto de reproductor y controla el objeto de reproductor a través de una interfaz de said player object informs a java program object formed above said player object about the occurrence of said event, wherein the java program object is a superordinate program with respect to the player object and controls the player object to through an interface of 15 programación de aplicaciones; 15 application programming; el objeto de programa java que prepara programas que se ejecutan cuando se informa al objeto de programa java sobre la ocurrencia de eventos; the java program object that prepares programs that run when the java program object is informed about the occurrence of events; en donde un programa lleva a cabo un proceso correspondiente al evento; y where a program carries out a process corresponding to the event; Y dicho objeto de reproductor informa al objeto de programa java sobre la ocurrencia de dicho evento, y controla el said player object informs the java program object about the occurrence of said event, and controls the 20 proceso de reproducción para datos de contenido jerárquicamente grabados en el medio de grabación con forma de disco con dicho proceso correspondiente al evento. 20 playback process for content data hierarchically recorded on the disc-shaped recording medium with said process corresponding to the event. 13. Un programa de reproducción que hace que un dispositivo de ordenador ejecute el método de reproducción de la reivindicación 12 para reproducir los datos de contenido jerárquicamente grabados en un medio de grabación con forma de disco. 13. A playback program that causes a computer device to execute the playback method of claim 12 to reproduce the content data hierarchically recorded on a disc-shaped recording medium. 25 14. Un medio de grabación legible por ordenador en el cual el programa de reproducción de la reivindicación 13 se ha grabado. 14. A computer readable recording medium in which the playback program of claim 13 has been recorded. 28 28
ES04772199.8T 2003-11-28 2004-08-19 Playback device, playback method, playback program and recording medium Expired - Lifetime ES2650987T3 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2003399546 2003-11-28
JP2003399546 2003-11-28
PCT/JP2004/012243 WO2005052940A1 (en) 2003-11-28 2004-08-19 Reproduction device, reproduction method, reproduction program, and recording medium

Publications (1)

Publication Number Publication Date
ES2650987T3 true ES2650987T3 (en) 2018-01-23

Family

ID=34631609

Family Applications (1)

Application Number Title Priority Date Filing Date
ES04772199.8T Expired - Lifetime ES2650987T3 (en) 2003-11-28 2004-08-19 Playback device, playback method, playback program and recording medium

Country Status (12)

Country Link
US (1) US7821881B2 (en)
EP (1) EP1583098B1 (en)
JP (1) JP4241731B2 (en)
KR (1) KR101087316B1 (en)
CN (2) CN1757074A (en)
AU (1) AU2004293960A1 (en)
BR (1) BRPI0407057A (en)
ES (1) ES2650987T3 (en)
MX (1) MXPA05007760A (en)
NZ (1) NZ541096A (en)
RU (1) RU2312412C2 (en)
WO (1) WO2005052940A1 (en)

Families Citing this family (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA04002365A (en) * 2002-06-21 2004-11-22 Lg Electronics Inc Recording medium having data structure for managing reproduction of video data recorded thereon.
AU2003228113B2 (en) * 2002-06-21 2009-02-26 Lg Electronics Inc. Recording medium having data structure for managing reproduction of video data recorded thereon
CN101350214B (en) * 2002-06-24 2015-07-01 Lg电子株式会社 Method and device for recording and reproducing data structure of reproduction for video data
KR20040000290A (en) 2002-06-24 2004-01-03 엘지전자 주식회사 Method for managing multi-path data stream of high density optical disc
CN101527863B (en) 2003-06-30 2011-09-07 松下电器产业株式会社 Reproduction device, recording method and reproduction method
US7725010B2 (en) * 2004-08-17 2010-05-25 Lg Electronics, Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7609939B2 (en) 2004-08-17 2009-10-27 Lg Electronics Inc. Method and apparatus of reproducing data recorded on recording medium and local storage
US7613384B2 (en) * 2004-08-17 2009-11-03 Lg Electronics Inc. Method for configuring composite file structure for data reproduction, and method and apparatus for reproducing data using the composite file structure
US7609945B2 (en) * 2004-08-17 2009-10-27 Lg Electronics Inc. Recording medium, and method and apparatus for reproducing data from the recording medium
EP1789958A4 (en) * 2004-09-13 2009-12-09 Lg Electronics Inc Method and apparatus for reproducing a data recorded in recording medium using a local storage
US7599611B2 (en) * 2004-09-13 2009-10-06 Lg Electronics Co. Recording medium, and method and apparatus of reproducing data recorded on the same
WO2006031049A2 (en) * 2004-09-13 2006-03-23 Lg Electronics Inc. Method and apparatus for reproducing data from recording medium using local storage
US20060077817A1 (en) * 2004-09-13 2006-04-13 Seo Kang S Method and apparatus for reproducing data from recording medium using local storage
KR20060047549A (en) * 2004-10-12 2006-05-18 엘지전자 주식회사 Method and apparatus for reproducing a data recorded in recording medium using a local storage
BRPI0517651A (en) * 2004-11-08 2008-10-14 Lg Electronics Inc method and apparatus for reproducing data from recording medium, method for updating local storage data, method for forming virtual package
KR20060063601A (en) * 2004-12-03 2006-06-12 엘지전자 주식회사 Method and apparatus of downloading/updating a data to local storage
KR20060065476A (en) * 2004-12-10 2006-06-14 엘지전자 주식회사 Recording medium, method for searching the contents recorded in the recording medium, and method and apparatus for reproducing contents from the recording medium
KR20060081323A (en) 2005-01-07 2006-07-12 엘지전자 주식회사 Method and apparatus for reproducing a data recorded in recording medium using a local storage
WO2006075875A1 (en) * 2005-01-12 2006-07-20 Samsung Electronics Co., Ltd. Method and apparatus for reproducing data recorded on storage medium along with downloaded data
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US7721308B2 (en) * 2005-07-01 2010-05-18 Microsoft Corproation Synchronization aspects of interactive multimedia presentation management
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US8305398B2 (en) * 2005-07-01 2012-11-06 Microsoft Corporation Rendering and compositing multiple applications in an interactive media environment
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
KR20070014944A (en) * 2005-07-29 2007-02-01 엘지전자 주식회사 Method and apparatus for reproducing data, recording medium and method and apparatus for recording data
KR20070014945A (en) * 2005-07-29 2007-02-01 엘지전자 주식회사 Recording medium, method and apparatus for reproducing data and method and eapparatus for recording data
KR20070014941A (en) * 2005-07-29 2007-02-01 엘지전자 주식회사 Recording medium, method and apparatus for reproducing data and method and apparatus for recording data
KR20070014948A (en) * 2005-07-29 2007-02-01 엘지전자 주식회사 Recording medium, method and apparatus for reproducing data and method and eapparatus for recording data
AU2006277225B2 (en) 2005-08-09 2011-06-09 Panasonic Corporation Recording medium, playback apparatus, method and program
US20070041709A1 (en) * 2005-08-22 2007-02-22 Lg Electronics Inc. Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
KR20070022580A (en) * 2005-08-22 2007-02-27 엘지전자 주식회사 Method and apparatus for reproducing data, recording medium and method and eapparatus for recording data
BRPI0615068A2 (en) * 2005-08-22 2016-09-13 Lg Electronics Inc method for managing playback of at least one picture-in-picture display path, playback device, recording medium, playback management device, method for recording data structure
JP2009505326A (en) * 2005-08-22 2009-02-05 エルジー エレクトロニクス インコーポレーテッド Apparatus and method for reproducing data, apparatus and method for recording data, and recording medium
JP2009505325A (en) * 2005-08-22 2009-02-05 エルジー エレクトロニクス インコーポレーテッド Data reproducing method and reproducing apparatus, recording medium, data recording method and recording apparatus
KR20070052650A (en) * 2005-11-17 2007-05-22 엘지전자 주식회사 Method and apparatus for reproducing recording medium, recording medium and method and apparatus for recording recording medium
TW200823879A (en) * 2005-11-23 2008-06-01 Koninkl Philips Electronics Nv Method and apparatus for playing video
JP4972933B2 (en) * 2005-12-28 2012-07-11 ソニー株式会社 Data structure, recording apparatus, recording method, recording program, reproducing apparatus, reproducing method, and reproducing program
US20090103902A1 (en) * 2006-03-24 2009-04-23 Matsushita Electric Industrial Co., Ltd. Reproduction device, debug device, system lsi, and program
US7855548B2 (en) * 2006-03-29 2010-12-21 Levinton Manufacturing Co., Inc. Low labor enclosure assembly
US20080056679A1 (en) * 2006-04-03 2008-03-06 Kim Kun S Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
JP4784371B2 (en) 2006-04-06 2011-10-05 ソニー株式会社 Recording apparatus, recording method, and recording program
JP4765733B2 (en) * 2006-04-06 2011-09-07 ソニー株式会社 Recording apparatus, recording method, and recording program
US20080056678A1 (en) * 2006-04-18 2008-03-06 Kim Kun S Apparatus for reproducing data, method thereof, apparatus for recording the same, method thereof and recording medium
JP5087903B2 (en) * 2006-06-30 2012-12-05 ソニー株式会社 Information processing apparatus, information processing method, recording medium, and program
KR101292770B1 (en) * 2006-11-06 2013-08-02 삼성전자주식회사 Method and apparatus of reproducing Audio Visual data comprising application having indeterminate start time
US7861150B2 (en) * 2006-11-07 2010-12-28 Microsoft Corporation Timing aspects of media content rendering
US20100166394A1 (en) * 2007-04-12 2010-07-01 Masayasu Ariyoshi Merchandise purchasing system, recording/reproducing apparatus, and computer program
JP5032408B2 (en) * 2008-07-25 2012-09-26 パナソニック株式会社 Simple resume reproduction apparatus and simple resume reproduction method
JP4915456B2 (en) 2009-04-03 2012-04-11 ソニー株式会社 Information processing apparatus, information processing method, and program
JP4915457B2 (en) 2009-04-03 2012-04-11 ソニー株式会社 Information processing apparatus, information processing method, and program
JP4919122B2 (en) 2009-04-03 2012-04-18 ソニー株式会社 Information processing apparatus, information processing method, and program
US8718443B2 (en) * 2010-10-13 2014-05-06 Sony Corporation Implementing web browser in BD platform
JP5594045B2 (en) 2010-10-14 2014-09-24 ソニー株式会社 REPRODUCTION DEVICE, REPRODUCTION METHOD, PROGRAM, AND RECORDING MEDIUM
JP5685969B2 (en) * 2011-02-15 2015-03-18 ソニー株式会社 Display control method and display control apparatus
SG2014008775A (en) 2011-08-16 2014-04-28 Destiny Software Productions Inc Script-based video rendering
JP5615445B2 (en) * 2011-10-21 2014-10-29 三菱電機株式会社 Video information playback method and video information playback apparatus
US8909030B2 (en) 2012-01-16 2014-12-09 Panasonic Corporation Playback device, playback method, program, and integrated circuit
US20140320592A1 (en) * 2013-04-30 2014-10-30 Microsoft Corporation Virtual Video Camera
US9838571B2 (en) * 2015-04-10 2017-12-05 Gvbb Holdings S.A.R.L. Precision timing for broadcast network

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3382159B2 (en) 1998-08-05 2003-03-04 株式会社東芝 Information recording medium, reproducing method and recording method thereof
US6144375A (en) * 1998-08-14 2000-11-07 Praja Inc. Multi-perspective viewer for content-based interactivity
US7392481B2 (en) * 2001-07-02 2008-06-24 Sonic Solutions, A California Corporation Method and apparatus for providing content-owner control in a networked device
JP3980805B2 (en) * 2000-03-10 2007-09-26 パイオニア株式会社 Program information recording apparatus and recording method
EP1139064B1 (en) * 2000-03-30 2004-05-19 Siemens Aktiengesellschaft Vehicle navigation system with a protected storage medium
KR100863652B1 (en) * 2001-01-16 2008-10-15 마츠시타 덴끼 산교 가부시키가이샤 Information recording apparatus, information recording method and recording medium
CN1229990C (en) * 2001-04-02 2005-11-30 松下电器产业株式会社 Video reproduction apparatus for digital video content, video reproduction method, video reproduction program and package medium
JP2002369154A (en) 2001-04-02 2002-12-20 Matsushita Electric Ind Co Ltd Image playback equipment for digital image contents, image playback method, image playback program, and package media
EP1328114A1 (en) * 2002-01-10 2003-07-16 Canal+ Technologies Société Anonyme Image resolution management in a receiver/decoder
JP2003303248A (en) 2002-01-11 2003-10-24 Mayumi Kobayashi Method of managing license of content, management apparatus therefor, management program for content license, recording medium with the program recorded thereon, and content distribution server
JP2003249057A (en) * 2002-02-26 2003-09-05 Toshiba Corp Enhanced navigation system using digital information medium
WO2004049710A1 (en) 2002-11-28 2004-06-10 Sony Corporation Reproduction device, reproduction method, reproduction program, and recording medium
DE602004013430T2 (en) 2003-02-19 2009-06-04 Panasonic Corp., Kadoma RECORDING MEDIA, PLAYING DEVICE, RECORDING METHOD, PROGRAM AND PLAYBACK METHOD

Also Published As

Publication number Publication date
US20060140079A1 (en) 2006-06-29
MXPA05007760A (en) 2005-09-30
KR101087316B1 (en) 2011-11-25
US7821881B2 (en) 2010-10-26
NZ541096A (en) 2008-07-31
EP1583098A4 (en) 2009-03-18
JPWO2005052940A1 (en) 2007-06-21
BRPI0407057A (en) 2006-01-17
CN103956176B (en) 2017-07-07
EP1583098A1 (en) 2005-10-05
CN103956176A (en) 2014-07-30
RU2005123982A (en) 2006-01-27
CN1757074A (en) 2006-04-05
WO2005052940A1 (en) 2005-06-09
EP1583098B1 (en) 2017-10-18
JP4241731B2 (en) 2009-03-18
KR20060112194A (en) 2006-10-31
AU2004293960A1 (en) 2005-06-09
RU2312412C2 (en) 2007-12-10

Similar Documents

Publication Publication Date Title
ES2650987T3 (en) Playback device, playback method, playback program and recording medium
KR101089974B1 (en) Reproducing apparatus, reproduction method, reproduction program and recording medium
KR101029418B1 (en) Reproduction device and reproduction method
US8818170B2 (en) Reproduction device, reproduction method, reproduction program, and recording medium
RU2334285C2 (en) Recording medium with data structure for managing playback of data recorded on it and methods and devices for recording and playback
US7680182B2 (en) Image encoding device, and image decoding device
JP4715094B2 (en) REPRODUCTION DEVICE, REPRODUCTION METHOD, REPRODUCTION PROGRAM, AND RECORDING MEDIUM
CN100375159C (en) Recording medium having data structure for managing reproduction of data streams recorded thereon and recording and reproducing methods and apparatuses
RU2340956C2 (en) Record medium with data structure applied for control of duration of stored still image reproduction and record and reproduction methods and devices
KR20050064150A (en) Method for managing and reproducing a menu information of high density optical disc
KR20070014963A (en) Recording medium, method and appratus for reproducing data and method and apparatus for recording data
TW200410223A (en) Recording medium having data structure for managing reproduction of multiple reproduction path video data recorded thereon and recording and reproducing methods and apparatuses
AU2011205093B2 (en) Reproduction device, reproduction method, reproduction program, and recording medium
JP2011097614A (en) Reproduction device, reproduction method, recording device, recording method, and recording medium
JP2006217648A (en) Reproducer, reproducing method, reproducing program and recording medium