1. Field of the Invention
Aspects of the present invention relate to the reproduction of audio-visual (AV) data recorded in a storage medium, and more particularly, to a storage medium including AV data and application programs for providing additional functions using the AV data, and an apparatus and method for reproducing the same.
2. Description of the Related Art
Audio-visual (AV) data recorded in a storage medium includes compressed and encoded AV information, and navigation information for reproducing the AV information. In more detail, the AV information is composed of an AV stream encoded according to a Motion Picture Experts Group (MPEG) standard. The AV stream includes video, audio, and/or subtitles. In addition, the AV data can further include information such as an encoding attribute of the AV stream or an entry point for random access, and a playlist in which AV reproduction order information is defined.
The navigation information is composed of navigation commands for controlling the reproduction of the AV information, such as a command for reproducing the playlist and a command for branching off to another playlist. Thus, the AV information can be reproduced by referring to the navigation information, and thereby a user can watch the AV data such as a high quality movie.
In addition to the basic AV data reproduction function, there is demand for applications including programming functions for improving interaction with the user. However, according to conventional storage media including AV data, program data for providing a user interactive function, such as games or chatting using the AV data being reproduced, cannot be recorded in the storage medium with the AV data.
An aspect of the present invention provides a storage medium in which program-based applications for providing audio-visual (AV) data and additional functions using the AV data are recorded in order to provide reproduction of the AV data and an improved program function, and an apparatus and method for reproducing the storage medium.
According to an aspect of the present invention, there is provided a storage medium comprising: movie mode data for reproducing audio-visual (AV) data; program mode data including a plurality of application programs for providing additional functions using the AV data; system data for controlling the execution of the movie mode data and the program mode data; and management information for managing the execution of the application programs in a unit of title, wherein the system data comprises mode information indicating whether a reproduction mode of a title to be reproduced is a movie mode or a program mode.
According to an aspect of the present invention, the program mode data is implemented as a JAVA object.
According to an aspect of the present invention, the JAVA object comprises at least one JAVA application program included in a title.
According to an aspect of the present invention, the management information is included in the JAVA object.
According to an aspect of the present invention, the management information comprises control information and state information for execution of at least one application program to be executed in a title.
According to an aspect of the present invention, the mode information is included in each item of title information in the system data and determines the reproduction mode of a relevant title.
According to another aspect of the present invention, there is provided a reproducing apparatus comprising: a read unit which reads movie mode data for reproducing audio-visual (AV) data, program mode data including a plurality of application programs for providing additional functions using the AV data, system data for controlling the execution of the movie mode data and the program mode data, and management information for managing the execution of the application programs in a unit of title; and a reproducing unit which determines a reproduction mode by referring to mode information, which is included in the system data and indicates whether the reproduction mode of a title to be reproduced is a movie mode or a program mode, and reproduces the program mode data by referring to the management information if the reproduction mode is the program mode.
According to an aspect of the present invention, if the mode information of the title to be reproduced is set to the movie mode, the reproducing unit reproduces each movie object using reference information of the movie object included in title information corresponding to the title in the system data.
According to an aspect of the present invention, if the mode information of the title to be reproduced is set to the program mode, the reproducing unit refers to each JAVA object included in title information corresponding to the title in the system data and reproduces JAVA application programs using management information included in the JAVA object.
According to another aspect of the present invention, there is provided a reproducing method comprising: reading movie mode data for reproducing audio-visual (AV) data, program mode data including a plurality of application programs for providing additional functions using the AV data, system data for controlling the execution of the movie mode data and the program mode data, and management information for managing the execution of the application programs in a unit of title; and determining a reproduction mode by referring to mode information, which is included in the system data and indicates whether the reproduction mode of a title to be reproduced is a movie mode or a program mode, and reproducing the program mode data by referring to the management information if the reproduction mode is the program mode.
Additional aspects and/or advantages of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
The above and/or other aspects and advantages of the present invention will become more apparent and more readily appreciated by describing in detail exemplary embodiments thereof with reference to the accompanying drawings in which:
Reference will now be made in detail to the present embodiments of the present invention, examples of which are illustrated in detail with reference to the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present invention by referring to the figures.
The movie mode data 110 includes audio-visual (AV) information and navigation information, which is a set of commands for reproducing the AV information. The movie mode data 110 is data for basic AV reproduction and is called data for a core mode. The core mode is called a movie mode since it is a mode in which data required for watching a movie is reproduced, as with the digital versatile disk (DVD) format, which is a representative video application. Hereinafter, the core mode is called the movie mode. If data includes the movie mode data 110 and data having a programming function for improving interaction with a user (i.e., the program mode data 130), the data is called data for a full mode or full mode data. While described as the movie being the core mode, it is understood that other data (such as the program made or an audio only mode) could be the core mode with the movie being used in a full data mode.
The system data 120 is read first when a reproducing apparatus (such as that shown in
Besides the AV reproduction, the program mode data 130 can include program data for at least one application program for providing an additional function according to an aspect of the invention. Examples of the program include a user interactive function, a game function using video, a function for displaying the director's commentary while reproducing a portion of video, a function for displaying other additional information while reproducing a portion of video, or a function for chatting while reproducing video. According to an aspect of the invention, the program mode data 130 can include Application Program Interface (API) functions for a presentation engine reproducing the AV information in order to execute application programs with reproduced video.
The management information for application programs 140 is information for efficiently managing the reproduction of the program mode data 130 when an additional function is provided while reproducing the AV data recorded in the storage medium (i.e., when full mode data is reproduced), and will be described in detail below.
While not required in all aspects, it is preferable that the storage medium 1 according to the present embodiment be easily loaded into and unloaded from a reproducing apparatus. While not required in all aspects, it is also preferable that the storage medium be an optical disk from which data can be read using an optical device of the reproducing apparatus. For example, the storage medium may be an optical disk, such as a CD-ROM, DVD, or BD-ROM, or an optical disk to be developed in the future.
The structure of a reproducing apparatus for reproducing the storage medium according to the present embodiment will now be described with reference to
The program engine 582 reproduces program data input from the program data buffer 562. That is, the program engine 582 executes specific application programs which implement functions such as games, chatting, and director's commentary. To do this, the program engine 582 can provide interaction with a user by video. The program engine 582 controls the presentation engine 586 which reproduces video using API functions as indicated by the dark arrow.
The navigation engine 584 receives navigation data from the navigation data buffer 564 and controls the reproduction of AV data. That is, like the program engine 582, the navigation engine 584 controls the presentation engine 586 to reproduce AV information using API functions composed of commands for AV reproduction as indicated by the dark arrow.
The presentation engine 586 decodes and reproduces an AV stream, a still image, or a data file input from the AV data buffer 566. The application manager 588 receives system data from the system data buffer 568, and controls the reproducing engines 582, 584, and 586 to reproduce AV data and/or program data. The application manager 588 controls the program engine 582 and the navigation engine 584 so that the presentation engine 586 can reproduce AV data and perform additional functions as indicated by the dashed arrows. The application manager 588 determines data to be reproduced first based on an entry point specified in start up information in the system data. In addition, during reproduction, the application manager 588 transmits an entry point of each title, obtained by referring to the system data and searching for each title, to a reproducing engine that reproduces the searched title so that the searched title can be reproduced.
When a full mode is selected for providing AV reproduction and a program function, the application manager 588 manages a plurality of applications on a title-by-title basis by referring to the management information for application program 140. That is, the application manager 588 performs scheduling and manages resources, such as memory, so that a plurality of applications can be smoothly performed. As another embodiment described in
In addition, the application manager 588 selectively includes a user input receiving and processing unit (not shown) for processing a user's input and transmitting the user's input to a relevant engine.
The blender 590 generates one image by overlaying a graphic image reproduced by the program engine 582 using the API functions related to the presentation engine 586 with a video image reproduced by the presentation engine 586, and outputs the generated image. Thus, an additional function can be implemented simultaneously with reproducing video using program-based program mode data 130.
In summary, the reproducing apparatus according to an embodiment of the present invention is an apparatus for displaying AV data recorded on a storage medium according to a proper display mode among a movie mode or a program mode using specific mode data. That is, the reproducing apparatus reads movie mode data 110, program mode data 130, system data 120, and management information for application programs 140 as illustrated in
In the case where the management information for application programs 140 exists separately from the other data as illustrated in
According to another aspect, in the case where the management information for application programs 140A is included in the program mode data 130A (i.e., a JAVA object), the program engine 582 reads the program mode data 130A and controls the execution of a plurality of applications by referring to the management information for application programs 140A included in the program mode data 130A. While shown as being separate, it is understood that the management information 140, 140A and mode data 130, 130A can be included together on a common medium 1 or 1A.
In addition, the application manager 588 includes the user input receiving and processing unit for processing a user's input and transmitting the user's input to a reproducing engine for a relevant mode. Examples include, but are not limited to, data received through displays, graphical user interfaces, keyboards, remote controls and other like input devices.
A method of reproducing a storage medium according to an embodiment of the present invention will now be described in detail based on the structure of the reproducing apparatus described in relation to
After continuing the reproduction using the navigation commands included in the movie object to be reproduced first (i.e., movie object #1242), the reproduction of the next movie object #2244 is started by a final navigation command in the current movie object. For example, the movie object #2244 corresponding to a title #1 is reproduced according to a final navigation command JumpObject(#2) in the movie object #1242.
If there is no title change requested by a user, as solid-line arrows shown in
In a general movie mode (i.e., when reproducing AV data), single title information executes one movie object as illustrated in
The title information 226, 228, 230, 232, 234 . . . included in the system data 120 illustrated in
Referring to
A plurality of JAVA applications can correspond to a single item of title information, since the plurality of JAVA applications can operate simultaneously. As shown, the start up data 322 corresponds to JAVA application #1. The menu 324 corresponds to JAVA application #2. The title #1326 corresponds to JAVA applications #3, #4, and #5. The title #2328 corresponds to JAVA applications #6, #7, and #8. As also shown, JAVA application #3 refers to JAVA application #5, which refers to JAVA application #9 not uniquely within title #1 and which does not terminate at the conclusion of title #1. JAVA applications #3 and #4 refer to JAVA application #6, which is in title #2328. JAVA application #6 refers to JAVA application #7. JAVA application #7 refers to JAVA application #8. Further, at the start of title #1326, JAVA application #3 is directly referred to, while JAVA application #4 is otherwise referred to during execution of title #1326. At the start of title #2328, JAVA application #6 is directly referred to.
Each of the JAVA applications illustrated in
Due to this characteristic, a specific JAVA application is continuously in a reproduction state regardless of the concept of a title, and thereby the reproduction range of JAVA applications related to a specific title is uncertain. In addition, when a title is changed, it is also not certain how a plurality of JAVA applications being reproduced according to each life cycle of the JAVA applications are processed.
To solve these and other problems, the management information for application programs 140 is used. While not required in all aspects, the management information for application programs 140 according to an embodiment of the present invention can exist separately from other data as illustrated in
The case where the management information for application programs 140 exists separately as illustrated in
The embodiment shown in
Likewise, the JAVA applications in a JAVA object can be reproduced regardless of their execution order, more than one application can be simultaneously executed, and termination times of applications cannot be predicted. Thus, the management information for application programs 140 is necessary in order to know the states of JAVA applications at a specific time or in a specific situation (e.g. in a range of a specific title).
It is preferable, but not required, that the management information for application programs 140 includes the following types of information: title information, JAVA application information, and operation and state information of each JAVA application.
Title information is information about a title. The title is a logical unit by which a user can perceive a unit of AV data, and the user can access information stored in a storage medium through titles. A menu provided to the user is also a kind of title.
JAVA application information belonging to a title is information about the JAVA applications referenced by the title. Specifically, each title can include a plurality of JAVA applications. This information regards JAVA applications which can be executed together in one title.
Operation and state information of each JAVA application refers to information that specifies operation and state information of each JAVA application. By way of example, the operation and state information can include a starting time, a starting method, a terminating time, and/or a terminating method. In addition, when a certain title is selected by a user's input or a navigation command as a first execution application designated by a title, the information can include information regarding a JAVA application to be reproduced first in the certain title and memory allocation information of the JAVA application.
A method of reproducing a storage medium including the system data 120 and the management information for application programs 140 according to an embodiment of the present invention will now be described with reference to a flowchart as shown in
Here, mode information included in a title designated during the first playback is read, and thereby the mode of the title is determined. If the mode information of the title is the movie mode in operation 704, reproduction of a movie object referred to in the first playback starts in operation 707 (refer to
The application manager 588 executes JAVA applications belonging to a specific title by referring to the management information for application programs 140 in operation 706.
If a title is changed by a navigation command, an API, or a user's input during movie or program mode reproduction, the application manager 588 can control the reproduction of corresponding mode data through the procedures described above.
The structure of the system data 120 for controlling reproduction according to the movie mode or the program mode will now be described in detail with reference to
However, for a storage medium which further includes the program mode data 130 (i.e., which supports the full mode), since a plurality of JAVA applications in one title can be reproduced as described above, reproduction can be performed by referring to the separate management information for application programs 140 in which the life cycle of each JAVA application is defined.
Referring to
If the mode information indicates the movie mode, the data is reproduced by referring to the movie objects described in
If the mode information 912, 922 or 934 indicates the program mode (e.g., the JAVA mode), in operation 1003, a title number 426, 428, 430, start up data 422, and/or the menu 424 is referred to in operation 1004, and the management information for application programs 140 of a JAVA object corresponding to the title number is referred to in operation 1005. Then, a JAVA application to be reproduced first (e.g. JAVAApp. #1, JAVAApp. #2, JAVAApp. #3, JAVAApp. #6, or JAVAApp. #9), which is defined in a corresponding title, is referred to in operation 1006. The application manager 588 reproduces a corresponding JAVA application by transmitting information regarding a JAVA application to be reproduced first to the program engine 582 using operation and state information of JAVA applications belonging to a specific title in the management information for application programs 140 of a JAVA object in operation 1008.
The case where the management information for application programs 140A is included in a JAVA object will now be described, as another embodiment of the present invention shown in
The movie mode data 110, the program mode data 130A, the system data 120, and the management information for application programs 140A are generally the same as illustrated in
The detailed contents of the management information for application programs 140A are generally the same as illustrated in
If the analyzed mode information does not indicate the JAVA mode (i.e., if the analyzed mode information indicates the movie mode) in operation 1303, a movie object referred to by a relevant title is accessed in operation 1308. If the mode information of the title indicates the JAVA mode in operation 1303, a JAVA object referred to by a relevant title is accessed in operation 1304, and the management information for application programs 140A included in the JAVA object is extracted in operation 1305. Scheduling and resource management required to execute JAVA application programs is performed based on the extracted management information for application programs 140A in operation 1306. JAVA applications included in the JAVA object are accessed in operation 1307, and the JAVA application programs are executed based on the extracted management information for application programs 140A.
If a title is changed by a navigation command, an API, or a user's input during movie or JAVA mode reproduction, the application manager 588 can control the reproduction of corresponding mode data through the procedures described above.
If the mode information indicates the program mode (i.e., the JAVA mode, in operation 1402), a JAVA object referred to by a relevant title is accessed in operation 1403, and the management information for application programs 140A included in the JAVA object is extracted in operation 1404. Scheduling and resource management required to execute JAVA application programs is performed based on the extracted management information for application programs 140A in operation 1405. The application manager 588 accesses JAVA application programs included in the JAVA object in operation 1406 and executes the JAVA application programs using operation information and state information included in the extracted management information for application programs 140A.
As described above, in the program mode, the application manager 588 manages a plurality of JAVA applications by referring to the management information for application programs 140 or 140A according to an embodiment of the present invention. That is, scheduling and management of resources, such as memory, are performed to smoothly execute a plurality of applications. In other words, if an application which operates in a unit of title is determined, a memory space required by each application can be determined. In addition, there can exist applications, which are not simultaneously executed by determining starting times and terminating times according to characteristics of the applications. Since the applications can use the same memory space, required memory capacity can be reduced, thereby efficiently managing the memory.
Though embodiments using JAVA applications have been described, the same methods can equally be applied to HTML, program languages, and/or other applications.
The embodiments of the present invention can be written as computer programs and can be implemented in general-use and/or special purpose digital computers that execute the programs using a computer readable recording medium. Examples of the computer readable recording medium include magnetic storage media (e.g. ROM, floppy disks, hard disks, etc.), and optical recording media (e.g. CD-ROMs, DVDs, etc.). The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
As described above, if a storage medium according to an embodiment of the present invention is used, a plurality of program-based applications for providing additional functions in addition to the reproduction of AV data can be managed, and when the plurality of applications are executed, memory can be smoothly managed. That is, for a storage medium including movie mode AV data and program mode data to which a program function is added, a plurality of application programs can be smoothly reproduced using system data and management information for application programs according to an embodiment of the present invention.
While this invention has been particularly shown and described with reference to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. The above-described embodiments should be considered in a descriptive sense only and are not for purposes of limitation. Therefore, the scope of the invention is defined not by the detailed description of the invention but by the appended claims and equivalents thereof, and all differences within the scope will be construed as being included in the present invention.
Number | Date | Country | Kind |
---|---|---|---|
2004-60118 | Jul 2004 | KR | national |
2005-47182 | Jun 2005 | KR | national |
This application is a continuation of application Ser. No. 11/188,874, filed on Jul. 26, 2005 now U.S. Pat. No. 7,697,819, and claims the benefit of Korean Patent Application No. 2005-47182, filed on Jun. 2, 2005 in the Korean Intellectual Property Office, and Korean Patent Application No. 2004-60118, filed on Jul. 30, 2004 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein in their entirety by reference.
Number | Name | Date | Kind |
---|---|---|---|
5737639 | Ohmori | Apr 1998 | A |
5771334 | Yamauchi et al. | Jun 1998 | A |
5819275 | Badger et al. | Oct 1998 | A |
5929857 | Dinallo et al. | Jul 1999 | A |
5966352 | Sawabe et al. | Oct 1999 | A |
6480669 | Tsumagari et al. | Nov 2002 | B1 |
6507696 | Chung et al. | Jan 2003 | B1 |
6560403 | Tanaka et al. | May 2003 | B1 |
6564255 | Mobini et al. | May 2003 | B1 |
6580870 | Kanazawa et al. | Jun 2003 | B1 |
6999674 | Hamada | Feb 2006 | B1 |
7370065 | Rys | May 2008 | B1 |
7448021 | Lamkin et al. | Nov 2008 | B1 |
7515812 | Ikeda et al. | Apr 2009 | B2 |
7764868 | Okada et al. | Jul 2010 | B2 |
8224158 | Yoon et al. | Jul 2012 | B2 |
20020088011 | Lamkin et al. | Jul 2002 | A1 |
20020194618 | Okada et al. | Dec 2002 | A1 |
20030012558 | Kim et al. | Jan 2003 | A1 |
20030021593 | Otsuka et al. | Jan 2003 | A1 |
20030049017 | Chung et al. | Mar 2003 | A1 |
20030081943 | Kim et al. | May 2003 | A1 |
20030084460 | Chung et al. | May 2003 | A1 |
20030147635 | Jung et al. | Aug 2003 | A1 |
20030161615 | Tsumagari et al. | Aug 2003 | A1 |
20030174170 | Jung et al. | Sep 2003 | A1 |
20040073950 | Tan et al. | Apr 2004 | A1 |
20040081425 | Stone et al. | Apr 2004 | A1 |
20040131334 | Jung et al. | Jul 2004 | A1 |
20040190861 | Chung et al. | Sep 2004 | A1 |
20040190875 | Chung et al. | Sep 2004 | A1 |
20040190876 | Chung et al. | Sep 2004 | A1 |
20040247294 | Jung et al. | Dec 2004 | A1 |
20050025249 | Zhao et al. | Feb 2005 | A1 |
20050117886 | Kang et al. | Jun 2005 | A1 |
20070140653 | Kozuka et al. | Jun 2007 | A1 |
Number | Date | Country |
---|---|---|
1516159 | Jul 2004 | CN |
1867999 | Nov 2006 | CN |
0791925 | Aug 1997 | EP |
1551027 | Jul 2005 | EP |
1 672 637 | Jun 2006 | EP |
7-14313 | Jan 1995 | JP |
2000-322875 | Nov 2000 | JP |
2001-135066 | May 2001 | JP |
2001-352523 | Dec 2001 | JP |
2002-343062 | Nov 2002 | JP |
2003-249057 | Sep 2003 | JP |
2004-51446 | Jun 2004 | KR |
498319 | Aug 2002 | TW |
517493 | Jan 2003 | TW |
WO 9200647 | Jan 1992 | WO |
WO 02091728 | Nov 2002 | WO |
WO 2004025651 | Mar 2004 | WO |
WO 2004030356 | Apr 2004 | WO |
WO 2004049710 | Jun 2004 | WO |
WO 2004084212 | Sep 2004 | WO |
2005366555 | Apr 2005 | WO |
WO 2005036383 | Apr 2005 | WO |
Entry |
---|
Tanenbaum, “Structured Computer Organization”, pp. 10-12, 1984. |
Japanese Notice of Reason for Rejection dated Apr. 17, 2012, issued in counterpart Japanese Patent Application No. 2009-161234; 4 pages including English translation. |
The fourth Office Action issued by the State Intellectual Property Office of P.R. China on Sep. 15, 2011, in counterpart Chinese Patent Application No. 200580025708.1 (17 pages with English translation). |
English Translation of Office Action issued by the Japanese Patent Office on Feb. 13, 2011, in counterpart Japanese Patent Application No. 2009-161234. |
English Translation of Office Action issued by the State Intellectual Property Office of P.R. China on Dec. 31, 2011, in counterpart Chinese Patent Application No. 200580025708.1 |
European Search Report issued on Feb. 3, 2011, in corresponding European Patent Application No. 10182372.2 (12 pages). |
“Application Definition Blu-ray Disc Format BD-J Baseline Application and Logical Model Definition for BD-ROM”, Internet Citation, Mar. 1, 2005, pp. 1-45, URL: http://www.blurayjukebox.com/pdfs/bdj—gem—application —definition—0503. |
Search Report issued in International Patent Application No. PCT/KR2005/002464 on Oct. 31, 2005. |
Office Action issued in Taiwanese Patent Application No. 094125536 on Aug. 14, 2006. |
U.S. Appl. No. 11/188,874, filed Jul. 26, 2005, Jung. |
Chinese Office Action issued on Jun. 2, 2011, in counterpart Chinese Patent Application No. 201010259134.7 (8 pages including English translation). |
Chinese Office Action issued on Jul. 7, 2011, in counterpart Chinese Patent Application No. 201010189933.1 (10 pages including English translation). |
Japanese Office Action issued on Aug. 9, 2011, in counterpart Japanese Patent Application No. 2007-523480(3 pages including English translation). |
Chinese Notification of Grant issued on Jan. 6, 2013 in counterpart Chinese Patent Application No. 201010259134.7 (8 pages, including English language translation). |
Notification of Granting of Patent Right to Invention issued Aug. 13, 2013 in counterpart Chinese Application No. 201010189932.7. (8 pages, in Chinese, with English translation). |
Number | Date | Country | |
---|---|---|---|
20090269030 A1 | Oct 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11188874 | Jul 2005 | US |
Child | 12496811 | US |