CN101656092A - Recording medium, playback apparatus, program, playback method, system integrated circuit - Google Patents
Recording medium, playback apparatus, program, playback method, system integrated circuit Download PDFInfo
- Publication number
- CN101656092A CN101656092A CN 200910132903 CN200910132903A CN101656092A CN 101656092 A CN101656092 A CN 101656092A CN 200910132903 CN200910132903 CN 200910132903 CN 200910132903 A CN200910132903 A CN 200910132903A CN 101656092 A CN101656092 A CN 101656092A
- Authority
- CN
- China
- Prior art keywords
- application program
- title
- play
- recording medium
- virtual machine
- 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.)
- Granted
Links
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
The invention relates to a recording medium such as BD-ROM, a playback apparatus for playing the recording medium, method and program thereof. The BD-ROM includes, recorded therein, a PlayList that iscomposed of an AVClip and PlayList information, an application, and a BD-J Object. The application is a program that is written in a programming language for a virtual machine, and a life cycle during which the application can be executed by the virtual machine is specified. The BD-J Object contains a PlayList management table. The PlayList management table indicates a playback control of the PlayList that is performed during the life cycle simultaneously with the execution of the application.
Description
The present invention is that the application number submitted on November 9th, 2004 is 200480008998.4, name is called dividing an application of " recording medium, playing device, program, player method, system integrated circuit ".
Technical field
The present invention relates to be used for to control the field of the application program control technology that the virtual machine application program carries out, and more specifically, relate to and be used for this control technology is applied to for example recording medium of BD-ROM and the application technology of BD-ROM playing device, and wherein this BD-ROM is used to issue cinematographic work.
Background technology
The application program control technology that is used for virtual machine, for example Java (TM) programming has obtained widespread use in the personal computer software industry.At present, Java (registered trademark is represented with the TM hereinafter) programming that how will come from the personal computer software development is used for realizing that the Play Control of BD-ROM (Blu-ray Disc ROM (read-only memory)) playing device is the focus of a research.
The technology of narration is a kind of known conventional art about a kind of similar playing device in the patent document 1 below.
* patent document 1: the open No.2813245 of Jap.P.
Summary of the invention
The problem to be solved in the present invention
Simultaneously, the operation of the application program that Java (TM) programming is created is also unstable, and running status can change according to resource user mode and cpu load.Therefore, shortage of resources takes place, and this can cause the startup failure of application program or cause application exception to stop, and interrupts from causing device through regular meeting.In the personal computer software industry, people may not be considered as serious problems with this.But in the field of the consumer goods of Production Example as the BD-ROM playing device, this phenomenon will be considered quality problems.Therefore, many manufacturings commercial city is unwilling to use Java (TM) programming to come implement device control.(annotate: interrupt being meant a kind of like this state, wherein, the software in the device quits work and display screen becomes blank screen)
The purpose of this invention is to provide a kind of recording medium, when the application exception of controlling recording medium stopped, perhaps when this application program took place to start fault, described recording medium can be realized fail safe.
According to an aspect of the present invention, a kind of recording method is provided, be used at recording medium, wherein records application program, digital stream, title and the management information relevant with digital stream with described application program, the program that is used for virtual machine that wherein said application program is to use programming language to write
When carrying out described record, specified life cycle, this life cycle the title in being recorded in described recording medium playback period in, and during described life cycle, can carry out described application program by described virtual machine, and
Described management information comprises the information of the Play Control of having indicated the described digital stream relevant with described title, during described life cycle, carries out the Play Control of described digital stream simultaneously with the execution of described application program.
According to another aspect of the present invention, provide a kind of playing device, comprising:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And
Application manager, be used for when arriving the life cycle of described application program, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and simultaneously, make described Play Control engine unit play the described digital stream relevant with described title according to the management information that is recorded in the described recording medium, wherein, described life cycle the title in being recorded in described recording medium playback period in, and during described life cycle, described application program can be read into the working storage of described virtual machine unit and can be carried out by described virtual machine unit.
According to a further aspect of the invention, a kind of player method that is used for computing machine is provided, described computing machine comprises virtual machine unit and Play Control engine unit, described virtual machine unit is used to carry out the application program of being read in working storage from recording medium, described Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream, and described player method makes described computing machine carry out the following stated step:
When arriving the life cycle of described application program, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein, described life cycle the title in being recorded in described recording medium playback period in, and during described life cycle, described application program can be read into the working storage of described virtual machine unit and can be carried out by described virtual machine unit, and simultaneously
Make described Play Control engine unit play the described digital stream relevant with described title according to the management information that is recorded on the described recording medium.
According to a further aspect of the invention, a kind of system integrated circuit is provided, it is embedded into the playing device of playing digital stream, and described digital stream is recorded in the described recording medium and is relevant with the title in being recorded in described recording medium, and described system integrated circuit comprises:
The virtual machine unit is used to carry out the application program of being read in working storage from recording medium; And
Application manager, be used for when arriving the life cycle of described application program, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and meanwhile, make described Play Control engine unit play the described digital stream relevant with described title according to the management information that is recorded on the described recording medium, wherein, described life cycle the title in being recorded in described recording medium playback period in, and during described life cycle, described application program can be read into the working storage of described virtual machine unit and can be carried out by described virtual machine unit.
According to the present invention, a kind of recording medium also is provided, wherein record application program, digital stream, title and the management information relevant with digital stream, wherein with described application program
The program that is used for virtual machine that described application program is to use programming language to write,
Specified life cycle, be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the working storage of described virtual machine into and be carried out by described virtual machine during described life cycle,
Described management information comprises the information of indication about the Play Control of the digital stream of described title, wherein should carry out described Play Control when carrying out described application program,
Described management information further comprises continuation broadcast mark, and it has defined the recovery that will carry out when described application exception stops and has handled; And
When described continuation broadcast mark was set to predetermined value, this continuation was play mark indication and is stopped the described Play Control to described digital stream that the back continuation should be carried out at described application exception when described application program is performed.
According to the present invention, a kind of playing device also is provided, comprising: the virtual machine unit is used to carry out the application program of reading in working storage from recording medium; The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And application manager, when arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and with the execution of described virtual machine unit concurrently, make described Play Control engine unit according to the described digital stream that is recorded in the relevant described title of management information broadcast in the described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle, described management information further comprises continuation broadcast mark, and it has defined the recovery that will carry out when described application exception stops and has handled; And described application manager judges whether that further described continuation broadcast mark has been set to predetermined value, if described continuation is play mark and has been set to predetermined value, described application manager makes described Play Control engine unit stop the described Play Control to described digital stream that the back continuation should be carried out at described application exception when described application program is performed.
According to the present invention, a kind of program that is read into computing machine also is provided, this computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium; The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And described program makes described computing machine carry out following steps: when arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle, with the execution of described virtual machine unit concurrently, make described Play Control engine unit according to the described digital stream that is recorded in the relevant described title of management information broadcast in the described recording medium, judge whether that continuing to play mark has been set to predetermined value, this continuation play tag definitions the recovery that will carry out when stopping of described application exception handle, if described continuation is play mark and has been set to predetermined value, make described Play Control engine unit stop the described Play Control that the back continuation should be carried out when described application program is performed to described digital stream at described application exception.
According to the present invention, a kind of player method that is used for computing machine also is provided,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And
Described player method makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle
With the execution of described virtual machine unit concurrently, make described Play Control engine unit play the described digital stream of relevant described title according to being recorded in management information in the described recording medium,
Judge whether that continuing to play mark has been set to predetermined value, this continuation play tag definitions the recovery that will carry out when stopping of described application exception handle, if described continuation is play mark and has been set to predetermined value, make described Play Control engine unit stop the described Play Control that the back continuation should be carried out when described application program is performed to described digital stream at described application exception.
According to the present invention, a kind of recording medium also is provided, wherein record application program, digital stream, title and the management information relevant with digital stream, wherein with described application program
The program that is used for virtual machine that described application program is to use programming language to write,
Specified life cycle, be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle,
Described management information comprises:
Play routing information for many, every information has defined the broadcast path that is recorded in the described title in the described recording medium by a pair of play start time and the broadcast concluding time of indicating described digital stream; And
A relevant information of playing routing information can selecting by the described application program of in described life cycle, carrying out.
According to the present invention, a kind of playing device also is provided, comprising:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium; And
Application manager, when arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle.
According to the present invention, a kind of program that is read into computing machine also is provided,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium; And
Described program makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle; And
Make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title.
According to the present invention, a kind of player method that is read into computing machine also is provided,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium;
Described player method makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle; And
Make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title.
The method that addresses these problems
Can realize above-mentioned purpose by a kind of recording medium, in this medium, record application program, digital stream, the title relevant with digital stream with described application program, and management information, wherein said application program is the program that is used for virtual machine of writing with programming language, and defined a life cycle, this life cycle the title in being recorded in described recording medium playback period in, and in this life cycle, described application program can be read into the working storage of described virtual machine and can be carried out by described virtual machine, and described management information has been indicated the Play Control of the described digital stream relevant with described title, during described life cycle, carry out the Play Control of described digital stream simultaneously with the execution of described application program.
Effect of the present invention
According to recording medium of the present invention, owing to defined the Play Control of the digital stream of during the life cycle of described application program, carrying out simultaneously with the execution of application program, if if the startup fault of application program or this application program abnormal end in the process of implementation takes place, the broadcast of the digital stream of Zhi Hanging so simultaneously can be proceeded, it provides a kind of state, " still shows some image on the screen " in this state.By this arrangement, can avoid device that this worst case takes place to interrupt.This can make the manufacturer of device feel relieved at least to a certain extent.
This relieved sense can be pushed the manufacturer that quality problems be cannot set one's mind at ease to the exploitation of the playing device control by Java (TM) application program.By this strong impetus, playing device will become more cheap and kind is more, and the content of BD-ROM also will be enriched, and this also can lead the growth of content relevant industries.
The accompanying drawing summary
Fig. 1 has shown a kind of type of service of playing device of the present invention;
Fig. 2 has shown the file/bibliographic structure that is used for BD-ROM;
Fig. 3 has shown the structure of playlist information;
Fig. 4 has shown the relation between AV montage time shaft and the PL time shaft;
Fig. 5 has shown batch explanation that realizes by four Clip_information_file_name;
Fig. 6 has shown the inner structure of PLMark information;
Fig. 7 has shown by PLMarks definition chapter;
Fig. 8 has shown the inner structure of sub path information;
Fig. 9 has shown how to play the definition of making synchronous explanation and playback period on the time shaft at son;
Figure 10 has shown the inner structure of movie objects;
Figure 11 has shown the inner structure of BD-J object;
Figure 12 A has shown program and the data that are stored in Java (TM) history file;
Figure 12 B has shown the inner structure of class file;
Figure 13 has shown that the state in the dish content changes;
Figure 14 has shown two titles that comprise dynamic script in the HDMV pattern;
Figure 15 has shown the inner structure that comprises the title of dynamic script in the BD-J pattern (BD-J object);
Figure 16 has shown a title that does not comprise playlist management table;
Figure 17 has shown a transfer of from HDMV pattern title title in the BD-J pattern;
Figure 18 has shown a transfer of from BD-J pattern title title in the HDMV pattern;
Figure 19 has shown the inner structure of index.bdmv;
Figure 20 A has shown the inner structure of application program management table;
Figure 20 B has shown the implication of the information element that comprises in the application program management table;
Figure 21 A has shown the time shaft of whole dish;
Figure 21 B has shown how time shaft makes up;
Figure 22 A and 22B have shown the title playback period by a BD-J object identity on the time shaft of whole BD-ROM, and this BD-J to as if by identifier " bobj_id " sign;
Figure 23 has shown a kind of typical life cycle that defines on time shaft shown in Figure 22 B;
Figure 24 has shown the dish content that comprises three titles, and described three titles are: main title, online shopping title and game title;
Figure 25 A and 25B have shown application program management table and the example of life cycle;
Figure 26 has shown three kinds of possible states (off-duty, in service and time-out) of three kinds of operation attributes (send in advance, move automatically and suspend) and previous title;
Figure 27 A has shown the inner structure of playlist management table;
Figure 27 B has shown the implication of the information element that comprises in the playlist management table;
Figure 28 has shown three kinds of possible states of transfer destination ground title, and ((i) do not have playlist management table; (ii) have playlist management table and automatically play: and (iii) have playlist management table and pre-the transmission) with previous title in six kinds of combinations of two kinds of possible states (play and playing) of PL;
Figure 29 A has shown the description example of playlist management table and application program management table;
How Figure 29 B has shown is played playlist and executive utility based on playlist shown in Figure 29 A and application program management table;
Figure 30 A has shown an example of the description of playlist management table;
Figure 30 B has shown it is how to play playlist and executive utility based on script shown in Figure 30 A;
Figure 31 A to 31C has shown the relation between playlist time shaft and the title playback period; Wherein playing the cycle of PL on the PL time shaft automatically is considered the title playback period;
Figure 32 has shown the inner structure of playing device of the present invention;
Figure 33 has shown the hardware among the CPU 24 in the mode of layer structure and has been stored in wherein software;
Figure 34 is by the explanation that presents the performed processing of 1 pair of module management of engine 3 34;
Figure 35 has shown the processing that application manager 36 is performed;
Figure 36 has shown that user event manager 37 is to default action manager 40;
Figure 37 has shown the inner structure of Java (TM) virtual machine 39;
Figure 38 has shown four kinds of patterns that application program stops;
Figure 39 is a process flow diagram, the figure illustrates the job step of application manager 36;
Figure 40 has shown the instantiation of playlist management table and application program management table;
Figure 41 A has shown the inner structure of BD-J object among the embodiment 2;
Figure 41 B has shown the inner structure of mismanage table;
Figure 42 has shown the implication of five marks in the mismanage table;
Figure 43 A has shown wherein two titles (title # 1, title #2) with the mismanage table;
Figure 43 B has shown that the application program of carrying out according to the application program shown in Figure 43 A and mismanage table is carried out and the process of carrying out of playlist broadcast;
Figure 44 is a process flow diagram, the figure illustrates the job step of application manager 36 among the embodiment 2;
Figure 45 is a process flow diagram, the figure illustrates the job step of application manager 36 among the embodiment 2;
Figure 46 is a process flow diagram, the figure illustrates the job step of the notice of being carried out by application manager 36;
Figure 47 is a process flow diagram, the figure illustrates the job step of application manager 36 among the embodiment 3;
Figure 48 A has shown the content based on female other selection algorithm of level;
Figure 48 B has shown the content based on the selection algorithm of audio language;
Figure 48 C has shown based on the content for the selection algorithm of the player configurations of video;
Figure 49 is the explanation of process, in this process, and title unbound application procedure Selection PL;
Figure 50 is a process flow diagram, the figure illustrates the PL that is carried out by Play Control engine 32 and plays job step;
Figure 51 is a process flow diagram, the figure illustrates the job step that the angle changes step and reads/skip to rebound downwards;
Figure 52 is a process flow diagram, the figure illustrates when judging and has called the treatment step of reading/carrying out when skipping API downwards to rebound;
Figure 53 is a process flow diagram, and this figure has shown the treatment step that presents engine 31 in detail;
Figure 54 is a process flow diagram, the figure illustrates the treatment step that son is play item.
Denotational description
1 BD-ROM driver
2 read buffers
3 demodulation multiplexers
4 Video Decoders
5 video planes
6 P image decoders
7 present the plane of delineation
8 merge cellses
9 font generators
10 I image decoders
11 switches
12 interactive image planes
13 merge cellses
14 CLUT unit
15 CLUT unit
16 audio decoders
22 customer incident processing units
The 23PSR set
24CPU
25 script storeies
26 local storages
The 33HDMV module
34 module managements
The 35BD-J module
36 use Program Manager
The 37UO controller
38Java (TM) virtual machine
The 41PLMT processor
42 permission control devices
52 user class loaders
53 method zones
54 working storage
55a, 55b ... the 55n thread
56a, 56b ... 56n Java (TM) storehouse
Embodiment
Ensuing content description the embodiment of recording medium of the present invention.The type of service of recording medium of the present invention at first, will be described.In Fig. 1, recording medium of the present invention is BD-ROM 100.BD-ROM 100 is used for providing content to the one family cinema system, and wherein this household audio and video system comprises playing device 200, telepilot 300 and TV 400.
Wherein, telepilot 300 is furnished with some keys, for example play (Play), stop (Stop), suspend beginning (Pause On), the EOT end of timeout (Pause Off), (Forward Play is play in static end (Still Off) forward, have the explanation of speed), play (Backward Play backward, have the explanation of speed), audio frequency conversion (Audio Change), captions conversion (SubTitleChange) and angular transformation (Angle Change), and these keys are used to receive the instruction of these functions, also have some keys, (Move Up) for example moves up, moving down (MoveDown) moves right (Move Right) and is moved to the left (Move Left), these keys are used to be received in the instruction that during the menu operation focus is moved, also has eject key (Pop Up) in addition, be used to receive the instruction of display menu, and the numerical key that is used to receive the numeral input.
Till now, the type of service of recording medium of the present invention is described.
Next the manufacturing of recording medium of the present invention will be described.Can realize recording medium of the present invention by the improvement of the last file system of BD-ROM.Fig. 2 has shown the file/bibliographic structure that is used for BD-ROM.As shown in FIG., for BD-ROM, under root directory, provide BDMV catalogue.
The BDMV catalogue has the file (" index.bdmv ", " MovieObject.bdmv ", " BD-JObject.bdmv ") of expansion " bdmv " by name.Under the BDMV catalogue, four sub-directories are arranged: playlist (PLAYLIST) catalogue, CLIPNF catalogue, stream (STREAM) catalogue and BDJA catalogue.This playlist directory has the file (" 00001.mpls ", " 00002.mpls ", " 00003.mpls ") of expansion " mpls " by name.
The CLIPNF catalogue has the file (" 00001.clpi ", " 00002.clpi ", " 00003.clpi ") of expansion " clpi " by name.The stream catalogue has the file (" 00001.m2ts ", " 00002.m2ts ", " 00003.m2ts ") of expansion " m2ts " by name.The BDJA catalogue has the file (" 00001.jar ", " 00002.jar ", " 00003.jar ") of expansion " jar " by name.Can know by top description, this bibliographic structure can so that on BD-ROM the file of recording different types.
In Fig. 2, the file of expansion " m2ts " by name (" 00001.m2ts ", " 00002.m2ts ", " 00003.m2ts " ...) comprise the AV montage that can be divided into for example main montage and sub-montage.Main montage obtains by a plurality of basic streams are multiplexed into together, these substantially stream be for example video flowing, audio stream, formation captions present image stream (PG stream) and the interactive image stream (IG stream) that constitutes menu.
Sub-montage is the digital stream corresponding to a kind of basic stream, wherein these substantially stream be for example audio stream, image stream and text subtitle stream (TextStream).The file of expansion " clpi " by name (" 00001.clpi, " 00002.clpi ", " 00003.clpi " ...) be the management information that one-to-one relationship is arranged with the AV montage.As management information, clip information has the information about following aspect: the coded format that flows in the AV montage, frame rate, bit rate, resolution or the like, and " EP_map " of the reference position of indication GOP.
The file of expansion " mpls " by name (" 00001.mpls ", " 00002.mpls ", " 00003.mpls " ...) be the file that comprises playlist information.Playlist information is by pointing out that the AV montage defines the information of playlist.Fig. 3 has shown the structure of playlist information.Shown in the left-hand side of Fig. 3, playlist information comprises main path information, PL Mark information and sub path information.
Main path information (MainPath ()) comprises many as the indicated playitem information of dotted arrow " mp1 " (PlayItem ()).Playing (Play Item) is by specifying " In_time " and " Out_time " thereby the playback period that defines on one or more AV montage time shafts.A plurality of playitem information are combined just defined a playlist (PL) that comprises a plurality of playback periods.Dotted arrow among Fig. 3 " mp2 " has been indicated the partial enlarged drawing of the inner structure of playitem information.As shown in Figure 3, playitem information comprises " Clip_information_file_name ", " In_time " and " Out_time " that indicates corresponding AV montage.Fig. 4 has shown the relation between AV montage and the PL.The first capable time shaft of having indicated the AV montage of this figure, and the second capable time shaft of having indicated PL.PL information comprises three playitem information: " PlayItem#1 ", " PlayItem#2 " and " PlayItem#3 ".The In_time of PlayItem#1, PlayItem#2 and PlayItem#3 and Out_time have defined three playback periods.By arranging this three playback periods, just defined a time shaft that is different from AV montage time shaft.This time shaft is exactly the PL time shaft shown in second row.Therefrom can find out significantly, thereby can define a time shaft that is different from AV montage time shaft by the definition playitem information.
Basically, only specified an AV montage.But, can specify a plurality of AV montages by one batch of explanation.Obtain this batch explanation by a plurality of Clip_information_file_name in the playitem information.Fig. 5 has shown batch explanation that obtains by four Clip_information_file_name.In Fig. 5, first row has been indicated four AV montage time shafts (time shaft of AV montage # 1, #2, #3 and #4) to fourth line, and fifth line has been indicated a PL time shaft.Specify this four time shafts by four Clip_information_file_name that are included in the playitem information.By a kind of like this structure, defined this four playback periods by being included in the In_time and the Out_time that play in the item, and can play this four cycles selectively.This makes can define such one-period (so-called multi-angle cycle) by the PL time shaft, and the image of a plurality of convertible angles wherein can be provided.
PLMark information (PLMark ()) is PL time shaft the preceding paragraph period demand to be appointed as the information of chapters and sections.Fig. 6 has shown the inner structure of PLMark information." pm1 " is indicated as dotted line among the figure, and PLMark information comprises " ref_to_PlayItem_Id " and " Mark_time_stamp ".Fig. 7 has shown by the PLMark definition section.In Fig. 7, AV montage time shaft of the first row indication, and PL time shaft of the second row indication.In Fig. 7, arrow " pk1 " and " pk2 " indicate the explanation (ref_to_PlayItem_Id) of a broadcast item among the PLMark and the explanation (Mark_time_stamp) of a time point respectively.By these explanations, three chapters and sections on the PL time shaft, have been defined.Up to the present, explained PLMark.Next will explain sub path information.
Sub path information (SubPath ()) thus be information by specifying In_Time on the sub-montage time shaft and Out_Time to define one or more playback periods.Fig. 8 has shown inner structure." sh1 " is indicated as the dotted line among Fig. 8, and sub path information comprises a plurality of sub-playitem information (SubPlayItem ())." sh2 " is indicated as dotted line, and sub-playitem information comprises " Clip_information_file_name ", " In_time ", " Out_time ", " Sync_PlayItem_Id " and " Sync_start_Pts_of_PlayItem ".By Clip_information_file_name ", " In_time " and Out_time " specify In_time and Out_time on the sub-montage time shaft." Sync_PlayItem_Id " and " Sync_start_Pts_of_PlayItem " is used for explanation synchronously so that playback period on the sub-montage time shaft and PL time shaft is synchronous.By this synchronous explanation, sub-montage time shaft and PL time shaft carry out synchronously.
Fig. 9 has shown how to make synchronous explanation and play playback period of definition on (Sub Play Item) time shaft at son.In Fig. 9, first row has been indicated the PL time shaft, and second row has been indicated a sub-broadcast time shaft.In Fig. 9, SubPlayItem.In_time and SubPlayItem.Out_time have indicated the starting point and the end point of playback period respectively.Be appreciated that thus playback period also is to be defined within on the sub-montage time shaft.Sync_PlayItem_Id corresponding to arrow Sn1 indicates the synchronous explanation of playing item, and the explanation of playing Xiang Zhongyi time point on the Sync_start_Pts_of_PlayItem indication PL time shaft corresponding to arrow sn2.
Playlist information on the BD-ROM is characterised in that it can define a multi-angle cycle and a synchronizing cycle, wherein can between a plurality of AV montages, switch in the cycle in this multi-angle, and in this synchronizing cycle the AV montage can and sub-montage between synchronously.Above-mentioned clip information and playlist information can classify as " static scenario ".This is because clip information and playlist information have defined a PL, and this PL is a static broadcast unit.Above-mentioned is description to static scenario.
Next describe " dynamic script ".Dynamic script is a kind of script data that dynamically defines the Play Control of AV montage.Here, " dynamically " mean that Play Control can carry out conversion by the incident of keyboard input according to the state transformation of playing device or user.BD-ROM has supposed the operating environment of two kinds of patterns as Play Control.First kind of pattern is a kind of operating environment of operating environment of the DVD of being similar to playing device, and is a kind of execution environment based on order.Second kind of pattern is the operating environment of a kind of Java (TM) virtual machine.In these two kinds of operating environments, first kind of operating environment is called the HDMV pattern, and second kind of operating environment is called the BD-J pattern.Because the existence of these two kinds of working environments, so by supposing that in two kinds of operating environments any one write dynamic script.The dynamic script of supposing the HDMV pattern is called movie objects, and by management information it is defined.On the other hand, the dynamic script of supposing the BD-J pattern is called the BD-J object.
At first will explain movie objects.
<movie objects 〉
Movie objects is stored in the file " Movie Object.bdmv ".Figure 10 has shown the inner structure of Movie Object.bdmv.Shown in the leftmost side part of Figure 10, MovieObject.bdmv comprises " type_indicator ", " version_number " and one or more movie objects " Movie Objects () " of indication coded sequence " MOBJ ".Dotted line vh1 among Figure 10 has indicated the partial enlarged drawing of the inner structure of movie objects." MovieObjects () " comprises wherein " number_of_mobjs " of the quantity of contained movie objects of " length " that indicate himself data length, indication, with and quantity by a plurality of movie objects of number_of_mobjs indication.By identifier mobj_id sign movie objects, and the quantity of these movie objects is indicated by number_of_mobjs.Dotted line vh2 among Figure 10 has indicated a given Movie Object[mobj_id by identifier mobj_id sign] the partial enlarged drawing of inner structure.
Indicated as dotted line, movie objects comprises: " resume_intention_flag ", and whether its indication continues to play after carrying out a menu call; " menu_call_mask ", it is to indicate the information that whether should shield menu call; " Title_search_flag ", it indicates whether shield the title search function; " number_of_navigation_command ", the quantity of its indication navigation command; With and quantity by " number_of_navigation_command " indication a plurality of navigation command.
The navigation command sequence comprises the order that realizes following function: conditional transfer; Status register in the playing device is set; Obtain value that is provided with in this status register or the like.It below is the order that can write movie objects.
The PlayPL order
Form: PlayPL (first variable, second variable)
Playlist number as first variable can be used to indicate one with the PL that is played.Be included in broadcast item, the preset time among the PL, chapters and sections or a mask among the PL, can be used for indication as second variable and play reference position.
Use the PlayPL function of playing item appointment broadcast reference position on the PL time shaft to be known as PlayPLatPlayItem ().
Use chapters and sections on the PL time shaft, to specify the PlayPL function of playing reference position to be known as PlayPLatChapter ().
Service time, information specified the PlayPL function of playing reference position to be known as PlayPLatPlayItem () on the PL time shaft.
The JMP order
Form: JMP variable
The JMP order is used for such transfer: this transfer abandons the current dynamic script of carrying out and carries out a transfer destination dynamic script by this variable appointment.The JMP order has two types: the direct sensing type of directly specifying the transfer destination dynamic script; And the indirect sensing type of pointing to the transfer destination dynamic script indirectly.
The descriptor format of navigation command is similar to the descriptor format of the navigation command among the DVD in the movie objects.Therefore, can realize effectively that will coil content transfers on the BD-ROM from DVD.Movie objects be a kind of in following international publication disclosed prior art.Detailed content can be with reference to international publication.
International open WO 2004/074976.
Up to the present, movie objects is described.Next the BD-J object will be described.
<BD-J object 〉
BD-J is to liking a kind of dynamic script in the BD-J pattern of writing out in Java (TM) programmed environment.
Figure 11 has shown the inner structure of BD-J Object.bdmv.Shown in the leftmost side of Figure 11, BD-J Object.bdmv comprises " type_indicater " of indication code sequence " BOBJ ", " version_number " and one or more BD-J object " BD-J Object () ".Dotted line among Figure 11 " bh1 " has been indicated the partial enlarged drawing of the inner structure of BD-J Object ()." BD-J Object () " comprises " length ", " number_of_bobjs " that indication wherein comprises the quantity of BD-J object that indicates himself data length, and quantity is by the indicated a plurality of BD-J objects of number_of_bobjs.Identify quantity by the indicated a plurality of BD-J objects of number_of_bobjs by identifier bobj_id.Dotted line bh2 among Figure 11 has indicated a given BD-J Object[bob_id by identifier bobj_id sign] partial enlarged drawing of the inner structure of ().
As have as shown in the figure of dotted line indication, the BD-J object comprises " resume_intention_flag[bobj_id] ", " menu_call_mask[bobj_id] ", " Title_search_flag[bobj_id] ", " Application_Management_Table[bobj_id] " and " Playlist_Management_Table[bobj_id] ".The BD-J object also comprises " resume_intention_flag ", " menu_call_mask " and " Title_search_flag ", and the BD-J object is identical with movie objects haply in this.
Difference between BD-J object and the movie objects is, orders in the BD-J object and is not directly write.That is to say that in movie objects, control procedure is to write direct in the navigation command.Differently be thereby that the BD-J object is written into " Application_Management_Table[bobj_id] " by the explanation that allows Java (TM) application program has defined control procedure indirectly therewith.Provide effectively the sharing of public control procedure by a kind of like this remote definition, and made a plurality of dynamic scripts can share a public control procedure.
In addition, in movie objects, according to navigation command (PlayPl order) the execution PL broadcast that command execution PL plays that is used for that is written in the movie objects.Differently be therewith, in the BD-J object, " Application_Management_Table[bobj_id] " by will indicating the PL playing process thus cover and make in the BD-J object that the PL playing process is written into.And, can also be by the PL process being covered from the application program that the application program management table is pointed out, thus write the PL playing process.That is to say, both can be by the playlist playing process be written in the playlist management table, thus also can this playlist playing process be comprised to come in by being written in the application program.
Here, will be described Java (TM) application program.Java (TM) application program comprises the xlet program in one or more heap zones (being also referred to as working storage) that are loaded into virtual machine.Java (TM) application program comprises a plurality of xlet programs and data.Up to the present, the structure of Java (TM) application program is described.
The significant subject of Java (TM) application program is Java (TM) history file (00001.jar, 00002.jar) in the BDJA catalogue under the BDMV catalogue that is stored in as shown in Figure 2.Next will Java (TM) history file be described with reference to figure 12A and 12B.
<Java (TM) history file 〉
Each Java (TM) history file (00001.jar shown in Fig. 2,00002.jar) all forms by one or more class files and one or more data file are combined.Figure 12 A has shown program and the data that are stored in the history file.By with a plurality of file layouts in the indicated bibliographic structure of oval frame, by Java (TM) archive device the data shown in Figure 12 A are disposed.The indicated bibliographic structure of this oval frame comprises root, Java (TM) and image directory.Common.pkg is arranged under the root directory, and class file (aaa.class, bbb.class) is arranged under Java (TM) catalogue, and menu.jpg is arranged under the image directory.Java (TM) archive device forms each Java (TM) history file by above-mentioned these files being synthesized one.When from BD-ROM, reading such class file and data, can expand and regard them as be arranged in the catalogue file them.Five digit number " zzzzz " in each Java (TM) history file name has been indicated application program ID.When being read such Java (TM) history file in the high-speed cache, can be by extracting any one Java (TM) program and data that application program comprised with reference to subsidiary numeral to file name.These class files (aaa.class shown in Figure 12 A, bbb.class) are the class files corresponding to above-mentioned xlet program.Defined playing process in the BD-J pattern corresponding to the xlet program of the example of class file.
The xlet program is a kind of like this Java (TM) program: it can use the interface that meets Java (TM) media framework (JMF), and can carry out the processing in response to KeyEvent according to the form of for example JMF.Because the xlet program can be carried out the processing of JMF form, so it can pass through to generate the example (JMF player example) corresponding to a MPLS file, thereby the order playing device is play a playlist.In addition, thus the xlet program can by write to function API to call that order BD-ROM playing device carries out for the BD-ROM playing device be unique processing.
In addition, the xlet program can be carried out the step that is used to visit a WWW website and downloads content from this website.This makes can play some original works, thereby wherein these works are by institute's downloaded contents and playlist broadcast are combined generation.
Next the class file of xlet program will be described.Figure 12 B has shown the inner structure of class file.As shown in Figure 12B, class file comprises " constant pool ", " interface " and " method 1,2,3 ... n ".Method in the class file can be divided into following several: a kind of method (incident hearer's method), can write down the KeyEvent that triggers a kind of operation in advance by this method; Be used for the method (method of JMF player example) that order JMF plays step; And the method for calling the function API of BD-ROM playing device.In these methods, use the parameter distribute to themselves local variable or to be used to call themselves, write the step that these are used to calculate etc.Up to the present, Java (TM) history file is described.Should be noted that although in the present embodiment, program that application program comprised and data storage are in Java (TM) history file, these programs and data also can be stored in LZH file or the zip file.
Up to the present, the dynamic script in the BD-J pattern is described.
State among the<BD-ROM changes 〉
The dish content that provides in the read-only disk, DVD video for example, having a kind of is the structure at center with the top level menu.It is unique that a kind of like this state that coils in the content changes, and this is to transfer to each title and turn back to the top level menu title subsequently from the top level menu title because play.Figure 13 has shown that the state of dish content changes.Square frame among Figure 13 has been represented title.Here, each title is the broadcast unit of " state " in changing corresponding to state, and should " state " be unique for the dish content.Title can be divided into following a few class: load " FirstPlayTitle " (at first play title) of at first playing behind the BD-ROM, " Top_menuTitle " (top level menu title) and the general heading " Title " of forming top level menu.Arrow jh1, jh2, jh3, jh4, jh5, jh6, jh7 and jh8 among Figure 13 symbolically indicated the transfer between the title.Change according to the state shown in Figure 13, " FirstPlayTitle " play in Mashan after loading BD-ROM, occurs jumping to the transfer of " Top_menuTitle " then, and waits for the selection on the top level menu then.In the industry of the recording medium that is used for issuing film (for example BD-ROM), often play dynamic trade mark once loading a kind of like this recording medium.This dynamic trade mark is signifying the film manufacturer or the publisher of film.The effect of " FirstPlayTitle " just is to play dynamic trade mark immediately after loading BD-ROM.
Then, if the user has selected a title on the menu, so just play selected title.Play then and turn back to the top level menu title.Carry out a kind of like this broadcast step repeatedly, up to ejecting this BD-ROM.This is that the state that has only this dish content just to have changes.
Have title that this state changes and comprise dynamic script in the HDMV pattern or the dynamic script in the BD-J pattern.Figure 14 has shown two titles of the dynamic script that comprises in the HDMV pattern.First row of Figure 14 has been indicated a title (Title_id) by identifier " Title_id " sign.Second row has been indicated a movie objects (Movie Object) sequence, and it comprises the movie objects of one or more formation titles.The third line has been indicated the navigation command sequence that movie objects comprised.
The transfer from a title to another title shown in Figure 13 realizes that by write a navigation command (JumpTitle order) in advance a movie objects this navigation command indication playing device jumps to another title.In addition, the fourth line of Figure 14 has been indicated the playlist that belongs to this title.This subordinate relation between this playlist and this title realizes that by write a navigation command (PlayPL order) in advance in a movie objects this playlist is play in this navigation command indication.
By making a playlist belong to a title,, can define a film that is attended by a video playback for the title in the HDMV pattern.Here it is by the structure of the defined title of dynamic script in the HDMV pattern.
Next description is comprised the internal structure of the title of dynamic script in the BD-J pattern.Figure 15 has shown the internal structure of the title that comprises dynamic script in the BD-J pattern (BD-J object).
First row has been indicated a title by identifier " Title_id " sign.Second row has been indicated unique BD-J object of forming this title.The third line has been provided by application program management table and the playlist management table that provides in the BD-J object.Fourth line has been indicated an application program by application program management table handling in the third line.This application program comprises a kind of method of ordering playing device to jump to another title (method of a kind of JumpTitle of calling API), as fifth line is indicated.Therefore, the transfer that jumps to another title as shown in Figure 13 realizes by the JumpTitleAPI call method.On the other hand, because in the third line, write playlist management table, thus when carrying out this application program, play a playlist, as indicated in the fourth line.
This BD-J object comprises application program management table and playlist management table.This makes that can carry out PL in executive utility plays, as indicated in the fourth line.Carrying out when this application program and PL play is characteristics of title in the BD-J pattern.
Not all BD-J object all comprises playlist management table.Playlist management table is a kind of composition arbitrarily.Some BD-J objects comprise playlist management table, and other BD-J object does not comprise.Figure 16 has shown the title that does not comprise playlist management table.Only comprise the application program management table but do not comprise in the BD-J object of playlist management table at such one, only defined the application program operation, as indicated in the fourth line.Definition by a kind of like this application program operation has just defined a kind of title, and wherein this title only has controlled step and is not attended by the PL broadcast.
Figure 14 has shown that a title is transferred to title in the HDMV pattern from the HDMV pattern.But should be noted that, as shown in Figure 17, can realize that also a title is transferred to title in the BD-J pattern from the HDMV pattern.Similarly, although Figure 15 has shown that a title is transferred to title in the BD-J pattern from the BD-J pattern, can realize that also a title is transferred to title in the HDMV pattern from the BD-J pattern, as shown in Figure 18.
In the inner structure of above-mentioned title, by the definition of the index.bdmv shown in Fig. 2 movie objects or BD-J object that title comprised.Next index.bdmv will be described.
Index.bdmv is the movie objects that comprised of indicateing arm topic or a table of BD-J object.
Figure 19 has shown the inner structure of index.bdmv.As shown in Figure 19, index.bdmv comprises have value " type_indicator ", " version_number ", " Indexes_start_address " and " Indexes () " of relative address of indication from the file reference position to index of " INDX "." Indexes () " corresponds respectively to different titles.Shown in dotted arrow among Figure 19 " ix1 ", " Indexes () " comprise " length ", " FirstPlayback () { FirstPlayback_mobj_id_ref} ", " TopMenu () { TopMenu_moBJ_id_ref} ", " number_of_Titles " and " Title[0] () ... Title[number_of_Titles-1] () ".
" FirstPlayback () { FirstPlayback_mobj_id_ref} " is the index of FirstPlayTitle, and stores the movie objects identifier reference point (FirstPlayback_mobj_id_ref) of the movie objects that this FirstPlayTitle comprises." TopMenu () { TopMenu_mobj_id_ref} " is the index of TopMenuTitle, and stores the movie objects identifier reference point (TopMenu_mobj_id_ref) of the movie objects that this TopMenuTitle comprises.
" Title[0] () ... Title[number_of_Titles-1] () " be the index of the title except that FirstPlayTitle and TopMenuTitle, and their quantity is number_of_Title." Title[0] () ... Title[number_of_Titles-1] () " identify by identifier Title_id.
Concordance list by identifier Title_id sign is shown Title[Title_id] ().Dotted line ix2 among Figure 19 has indicated Title[Title_id] partial enlarged drawing of ().
As shown in Figure 19, " Title[Title_id] () " comprises: " Title_Playback_Type[Title_id] ", it has indicated title to play type, and it by for example should " Title[Title_id] () " whether comprising a transfer illustrates; " Title_access_Flag[Title_id] ", it has indicated the service function that whether allows to carry out title; And " Title_mobj_id_ref[Title_id] " that indicated the movie objects that this title comprised uniquely.Here, if the dynamic script that title comprised is the BD-J object, so by " Title_bobj_id_ref[Title_id] " replacement " Title_mobj_id_ref[Title_id] "." Title_bobj_id_ref[Title_id] " indicated the BD-J object that this title comprised uniquely.
The following world is open has carried out in detail openly Index.bdmv.Detailed content please refer to international open.
International open WO 2004/025651A1.
<application program management table 〉
Be included in the essential element that application program management table in the BD-J Object table and playlist management table are present embodiment.Next will be described in detail these tables.At first, application program management table (AMT) will be described.
Figure 20 A has shown the inner structure of application program management table.As shown in Figure 20 A, the application program management table comprises " life_cycle ", " apli_id_ref ", " run_attribute " and " run_priority ".
Figure 20 B has shown the implication of the information element that the application program management table is comprised.
" life_cycle " indicated application program " life cycle ".
" apli_id_ref " indicated the application program with above-mentioned life cycle by the consistent reference point that is written to wherein with " application program identification ".This application program identification by provide in Java (TM) history file as the expression of the five digit number value " zzzzz " of filename.This five digit number value is written in " apli_id_ref ".
" run_attribute " indicated the operation attribute of application program in life cycle.These operation attributes can be divided into following a few class: move automatically, send in advance and suspend.
" the running priority level " of " run_priority " indication application program in life cycle.The BD-J object uses the operation of these information Control application programs.
<life cycle 〉
Next will be described defined life cycle in the application program management.
Mean such one-period life cycle: in this cycle, application program survives on the working storage of virtual machine, and represents this cycle with the time shaft of the full content of BD-ROM.Here, noun " survival " refers to a kind of like this state: wherein the xlet program that the application layer program has been comprised is loaded in the working storage, thereby can carry out this application program by virtual machine.
When on Java (TM) virtual machine, running application, have a bit very important, that is exactly starting point and the terminal point that the service that is provided by application program clearly is provided on time shaft.These starting points and the terminal point of service have been defined in " life_cycle " of application program management table.
Below content shown it is how to the life cycle of the content-defined title of dish that changes state as shown in figure 13.Suppose after loading BD-ROM, with arrow jh1, jh2, jh3, jh4 among Figure 13 ... the order of the rising of indicated numeral shifts, and has ejected BD-ROM.Can will regard a time shaft as to be loaded as section continuous time that begins to the BD-ROM ejection being end.This time shaft is defined as the time shaft of whole dish.Figure 21 A has shown the time shaft of whole dish.Figure 21 B has shown how this time shaft makes up.As shown in Figure 21 B, the time shaft of whole dish comprises: the cycle of playing FirstPlayTitle; Play the cycle of TopMenuTitle; Play the cycle of Title# 1 ... a title comprises one or more movie objects or a BD-J object.Therefore, the playback period of each title can be defined as such one-period, during activated cycle of any one object in movie objects or the BD-J object.
That is to say that each in FirstPlayTitle, TopMenuTitle and other title all comprises dynamic script.Therefore, the playback period of each title can be defined as such one-period, can be current movie objects or current BD-J object with movie objects or any one object activation in the BD-J object that title comprised during this time, and can in playing device, this object be decoded and carry out.Figure 22 A has shown the title playback period by the BD-J object identity on the time shaft of whole BD-ROM, this BD-J object is identified by identifier " bobj_id ".Here, if title comprises the BD-J object by identifier " bobj_id " sign, so can be with the activation on the BD-ROM time shaft regard the playback period of title as by the cycle of the BD-J object of identifier " bobj_id " sign.
Similarly, if title comprises the movie objects by identifier " mobj_id " sign, so can be with the activation on the BD-ROM time shaft regard the playback period of title as by the cycle of the movie objects of identifier " mobj_id " sign.
The cycle of having activated movie objects or BD-J object lasts till that always carrying out title shifts (JumpTitle).That is to say, dynamic script is regarded as current movie objects or current BD-J object always, shift (JumpTitle) up to having carried out a title, wherein this dynamic script is the target of carrying out.Therefore, regard the cycle that always lasts till generation JumpTitle in movie objects or the BD-J object as the title playback period.
Next relation between title playback period and the PL time shaft will be described.As previously described, in movie objects or BD-J object, PL can be play step and be written as treatment step.Play step, all or part of title playback period that belongs to of so above-mentioned PL time shaft if write PL.Suppose to have write in the BD-J object in the example shown in Figure 22 A a playlist management table.So, as shown in Figure 22 B, the PL time shaft belongs to the title playback period corresponding to the BD-J object.Because can further on the PL time shaft, define a plurality of chapters (chapter #1, #2, #3), so have territory (all BD-ROM-Title-PL-Chapter) on the BD-ROM time shaft.Thereby can use these territories to write the life cycle of application program.Here should be noted that,, may occur in the playing process of playlist so title shifts because playlist is play and the execution of application program begins simultaneously.In this case, only part playlist time shaft rather than whole playlist time shaft belong to a title playback period.That is to say, actually or only the whole playlist time shaft of part playlist time shaft belongs to the time that a title playback period depends on that the title transfer takes place.
Figure 23 has shown a kind of typical life cycle that defines on time shaft shown in Figure 22 B.As shown in Figure 23, three kinds of typical application are arranged: the title boundary application program, be a title its life cycle; Chapters and sections border application program, be chapters and sections in the title its life cycle; And the non-boundary application program, be the time shaft of whole BD-ROM its life cycle.
In these three kinds of application programs, can use the life cycle of the identifier definition title boundary application program of title.In addition, can use the life cycle of the combination definition section border application program of following two kinds of identifiers: the identifier of the title that these chapters and sections belong to and the identifier of these chapters and sections.
Even platform moves, still can after finishing the life cycle that is defined as title or chapters and sections, regain resource from application program.A kind of like this structure has been guaranteed to regain resource, and has stablized the operation of platform thus.
Next will describe how will be written to life cycle in the application program management table by a concrete example, wherein this example comprises the dish content that is used as material of realization afterwards as material.Dish content as material comprises three kinds of dissimilar titles: the main title that the master image works are comprised (title #1); The online shopping title that online shopping comprised (title #2); And the game title that game application comprised (title # 3).Figure 24 has shown the dish content that comprises three kinds of titles: main title, online shopping title and game title.The left-hand side of Figure 24 has shown Index.bdmv, and the right-hand side of Figure 24 has shown this three titles.
The frame of broken lines of the right-hand side of Figure 24 has shown the subordinate relation of indicating the described title of each application program.In these three titles, title # 1 comprises application program # 1, application program # 2 and application program #3.In addition, title # 2 comprises application program # 3 and application program # 4, and title # 3 comprises application program #5.In example shown in Figure 24, by title # 1 and the title # 2 #3 that all runs application.
Figure 25 A has shown the life cycle of each application program, obtains and all be based on the subordinate relation shown in the frame of broken lines of Figure 24 these life cycles.In Figure 25 A, transverse axis indication title playback period, and vertical axis is arranged the life cycle of application program.Here, application program #1 and application program #2 only belong to title #1, and therefore are limited in the title #1 life cycle of these application programs.Application program #4 only belongs to title #2, and therefore is limited in the title #2 life cycle of this application program.Application program #5 only belongs to title #3, and therefore is limited in the title #3 life cycle of this application program.Application program #3 belongs to title #1 and title #2, so extends in the life cycle of this application program on title #1 and the title #2.Figure 25 B has shown the application program management table of title #1, title #2 and title 3, and wherein these tables are according to writing life cycle shown in Figure 25 A.Write in this manner after the application program management table, when starting the broadcast of title #1, application program #1, application program #2 and application program #3 are loaded in the working storage.Then, when starting the broadcast of title #2, application program #1 and application program #2 are deleted from work register, this can cause only having application program #3 to be retained in the work register.Similarly, application program #4 is loaded in the work register, and when starting the broadcast of title #3, application program #3 and application program #4 is deleted from work register thereby can control when starting the broadcast of title #2.
Further, application program # 5 is loaded in the work register, and when the end of playing of title # 3, #5 deletes from work register with application program thereby can control when play title # 3.
By this structure, can be so that the number of times that application program is loaded in the working storage minimizes.This is because if a transfer takes place between title, the application program that is arranged in transfer source and transfer destination ground so simultaneously can be stored in working storage, and is not arranged in the transfer source and the application program that only is arranged in transfer destination ground also can be loaded into working storage.A kind of like this structure that reduces the loading data number of times makes it possible to achieve the non-boundary application program, and this application program makes people can't recognize the border between the title.
Next the operation attribute of application program will be described.These operation attributes comprise: operation automatically, and the application program that its indication has this attribute can automatically bring into operation; Send in advance, the application program that its indication has this attribute is not that the target of moving automatically still can be stored in the working storage of virtual machine; And suspend, its indication has the application storage of this attribute and still do not distribute to this application program cpu power in the working storage of virtual machine.
When the title of a correspondence took place to shift, the application program with " operation automatically " attribute was loaded in the working storage and is performed.When a title is transferred to another title, the management system (application manager) of management application program is loaded into an application program in the working storage of virtual machine and carries out this application program, wherein this application program survive in the transfer destination ground title and its operation attribute be set to automatic operation.This means that this application program automatically starts operation when title takes place to shift.
Operation attribute " the pre-transmission " is a kind of connection attribute, and the state of application program is held in the title of indication transfer source.This still is a kind of attribute that can carry out a corresponding application program of having indicated.Can be set to the application program of " the pre-transmission " from Another application routine call operation attribute.When calling a program the application program of moving from another, management system (application manager) judge the application program ID of this application program whether be written to the application program management table and whether the operation attribute of this application program be set to " the pre-transmission ".If the operation attribute of this application program is set to " the pre-transmission ", management system is loaded into this application program in the working storage so.Be not written in the application program management table if call the application program ID of destination application program, management system is not loaded into this application program in the working storage so.The application program of having only those attributes to be set to " the pre-transmission " just can be called from another program." the pre-transmission " is a kind of default operation attribute, just is assigned to this attribute of application program when clearly not indicating the operation attribute.Therefore, when the operation attribute of application program did not have "-" of explanation for indication, this operation attribute that just means application program was " the pre-transmission ".
But " time-out " indicated resource to the application assigned with this attribute distributed cpu power to it.Attribute " time-out " is effectively, for example in the following areas: when carrying out a game title, realize the processing by a sidewalk.
Figure 26 has shown the combination between three kinds of possible states (off-duty, in service and time-out) of these three kinds operation attributes (pre-send, move automatically and suspend) and previous title.If preceding state is " off-duty " and operation attribute is " operation automatically ", application program starts in transfer destination ground title so.
If preceding state is that " off-duty " and operation attribute are " pre-send " or " time-out ", does not operate so and keep this state.
If preceding state is " in service " and operation attribute is " pre-send " or " operation automatically ", does not operate so and keep this state.
Be set to " time-out " if move attribute, the state of this application program is to suspend so.If preceding state is that the operation attribute of " time-out " and transfer destination ground title is " time-out ", so just keep " time-out ".If preceding state is the operation attribute of " time-out " and transfer destination ground title is " the pre-transmission " or " operation automatically ", in transfer destination ground title, continue this application program more so.Definition life cycle and operation attribute make and can carry out synchro control to move Java (TM) application program during the title playback period in the application program management table.This makes it possible to achieve and provides. plant the application program that is used for playing image and executive routine.
Should be noted that, be " the pre-transmission " if preceding state is the operation attribute of " time-out " and transfer destination ground title, and preceding state " time-out " can be held so.
At last, will " the running priority level " of each application program be described.
The value of running priority level is 0 to 255.When memory resource become the shortage or when cpu load was higher, application manager can utilization and operation priority decide which application program of forced termination, perhaps determines which application program to regain resource.Application manager stops having the application program of low level running priority level, and maintenance has the operation of the application program of high-level running priority level.
The running priority level can also be used for thereby the application program that clashes each other owing to the in progress PL of request is arbitrated.Here suppose that an application program carries out forwarding operation to a playlist, and the Another application program has been sent to this playlist and has been suspended request.So, the rank to the running priority level of distributing to these two application programs compares.If the F.F. application program has higher running priority level rank, so just proceed this forwarding operation.Have higher running priority level rank if suspend request applications, so just the PL in F.F. will be suspended.
Use above-mentioned life cycle, operation attribute and running priority level, the restricted number of the application program that can move on virtual machine when coding for predetermined quantity or still less.This makes application program stably to work.
<playlist management table 〉
Up to the present, the application program management table has been described.Next playlist management table will be described.Playlist management table has shown the Play Control that carry out simultaneously with the execution of each application program during the life cycle of application program.The operation of application program is unsettled.May start fault or abnormal end.In the present embodiment, all provide a playlist management table life cycle for each application program and with its fail safe mechanism that plays a role when taking place to start fault or abnormal end.Playlist management table is a kind of information, and it has defined the Play Control that carry out when an application program begins life cycle.Play Control as described herein is a kind of broadcast of the AV montage based on playlist information.That is to say,, can carry out the execution of application program and the broadcast of playlist simultaneously by carrying out Play Control based on playlist information.We once said in front, for a playlist management table all is provided the life cycle of each application program.But, should be noted that here, playlist management table only with the title boundary application-consistent be provided.This is because the life cycle of title non-boundary application program extend to all titles, so uncontrollablely in title non-boundary application program carry out the execution of application program and the broadcast of playlist simultaneously.
For chapters and sections border application program, do not need to define the broadcast of playlist.This is because the life cycle of definition section border application program be that to begin with the execution of this application program chapters and sections in the playlist be prerequisite.We are appreciated that and as one man define playlist management table the life cycle that comprises one or more titles by foregoing.
Figure 27 A has shown the inner structure of playlist management table.As shown in Figure 27 A, playlist management table comprises " PL_id_ref " and " Playback_Attribute ".
Figure 27 B has shown the implication of the information element that playlist management table comprised.
" PL_id_ref " indicated the PL that can be played by as one man being written to wherein reference point with the PL identifier during application program life cycle.This PL identifier is represented by the five digit number value " YYYYY " as filename that provides in file YYYYY.MPLS." PL_id_ref " that wherein write YYYYY indicated the PL that can play in the title of a correspondence.
" Playback_Attribute " is a kind of attribute that is similar to operation attribute in the application program management table, and it has defined how to play the PL that writes in " PL_id_ref " when title starts.The broadcast attribute of PL can be divided into following a few class: " playing automatically ", " pre-transmission " or the like.
" playing automatically " is a kind of like this attribute: its indication is play the playlist with " playing automatically " attribute when corresponding title takes place to shift.When a title was transferred to another title, the management system (application manager) of management application program began to play a kind of like this playlist: the broadcast attribute that can play this playlist and this playlist in transfer destination ground title has been set to automatic broadcast.This means that the playlist that its broadcast attribute is set to play automatically when title takes place to shift can automatically be activated.
The same with the situation of operation attribute " the pre-transmission ", " the pre-transmission " also is a kind of connection attribute, and the state of PL is held in the title of indication transfer source." the pre-transmission " still a kind of indication can play the attribute of the playlist of a correspondence.For example, suppose to play two titles continuously, and the broadcast attribute of a playlist is set to automatic broadcast in the playlist management table of the source of transfer title, and in the playlist management table of transfer destination ground title, the broadcast attribute of this playlist is set to pre-transmission.Here, suppose to play this playlist two hours, and this playlist broadcast was shifted afterwards in one hour.In this case, wherein the broadcast attribute of playlist is set to pre-transmission in transfer destination ground title, and transfer destination ground title is to begin from and then having play one hour position after the part to the broadcast of this playlist.Even we are appreciated that between title and shift thus, the broadcast attribute by a playlist in the transfer destination ground title is set to pre-transmission, just can transfer destination the continued broadcasting of title relaying put this playlist.This makes a plurality of transfer titles can play a public playlist continuously, thereby makes can easily realize " the public playlist of playing " in a plurality of titles.When having a plurality of transfer destination ground title, the broadcast attribute by playlist in these transfer destination ground titles is set to pre-transmission, just can these transfer destination the continued broadcasting of title relaying put a public playlist.
Here should be noted that,,, allow near shifting, to interrupt the broadcast of playlist so in a plurality of titles, play a this situation of public playlist for above-mentioned because not needing to guarantee realizes seamless play at the boundary of title.
In addition, when the Another application program was sent request, its broadcast attribute was set to a playlist of " the pre-transmission " and can be play at once.When playing request is when another application program of moving is sent, management system (application manager) judge the PL_id_ref of target playlist whether be written to playlist management table and whether the broadcast attribute of this playlist be set to " playing automatically " or " the pre-transmission ".If be set to " playing automatically " or " the pre-transmission ", management system will be play this playlist so.If the PL_id_ref of playlist is not written to playlist management table, management system is not just play this playlist so.When the Another application program was sent request, the playlist that has only those its broadcast attribute to be set to " playing automatically " or " the pre-transmission " just can be play." the pre-transmission " is a kind of default broadcast attribute, just gives this attribute to playlist when clearly not indicating the broadcast attribute.Therefore, when the broadcast attribute of application program is when indicating "-" of not explanation, this broadcast attribute that just means this playlist is " the pre-transmission ".
Figure 28 has shown three kinds of states that may exist of transfer destination ground title, and ((i) do not have playlist management table: (ii) have playlist management table and play automatically; And (iii) have playlist managing listings and pre-a transmission) and previous title in six kinds of array configurations between two kinds of states that may exist (broadcast and playing) of PL.
In these six kinds of array configurations shown in Figure 28, " preceding a kind of state=play " and " transfer destination ground title has playlist management table; and to play attribute be to play automatically " this combination in, the broadcast of playlist transfer destination startup automatically in the title.
In addition, in " preceding a kind of state=play " and " transfer destination ground title does not have playlist management table " this combination, the broadcast of playlist stops in transfer destination ground title.In other array configuration except that above-mentioned two kinds, the state that shifts in the title of source can be held.Based on playlist management table, only when the broadcast attribute of not playing this playlist and playlist in the title of transfer source is set to play automatically, just can start the broadcast of playlist in transfer destination ground title.Therefore, do not need all to start when between title, taking place to shift the broadcast of playlist at every turn.Therefore, even between title, take place repeatedly to shift, also can minimize so that start the number of times of playlist broadcast.
Next will describe and how write playlist and application program management table with reference to concrete example shown in the figure 29A.In this object lesson, two continuous titles (title # 1 and title #2) have been used.In the table of title # 1, application program # 1 and application program # 2 are written as automatic running program.In the table of title # 2, application program # 2 and application program # 3 are written as automatic running program.Suppose in the playlist management table of title # 1, playlist # 1 is written as the playlist of automatic broadcast, and in the playlist management table of title # 2, playlist # 2 is written as the playlist of automatic broadcast.Figure 29 B has shown how to play these playlists and executive utility according to playlist shown in Figure 29 A and application program management table.
According to the playlist and the application program management table that are provided with in the manner described above, when title # 1 started, application program # 1 and #2 automatically started, and automatically started the broadcast of playlist # 1.
Playlist and application program management table according to being provided with in the manner described above with regard to application program # 1, are described title # 1 in table, but title # 2 are not described in table.Therefore, the execution of application program # 1 will stop.Similarly, with regard to playlist # 1, in table, title # 1 is described, but in table, title # 2 is not described.Therefore, the broadcast of playlist # 1 will stop.
With regard to playlist # 2 and application program # 3, in table, title # 1 is not described, but in table, title # 2 is described.Therefore, the execution meeting of the broadcast of playlist # 2 and application program # 3 automatically starts.A transfer can be used to make a playlist playing become another playlist.In this manner, just the processing that definition changes the playlist that will play can shifted in the coding stage in advance by using playlist and application program management table to make.
In the example shown in Figure 29 A, the running priority level of application program # 1, application program # 2 and application program # 3 is respectively 200,128 and 200 in addition.A kind of like this distribution of running priority level makes the conflict between the different application that can ruling will be performed, thus wherein these application programs since the request of controls playing tabulation # 1 or playlist # 2 of sending clash each other.Here suppose that application program # 1 carries out F.F. to playlist # 1, and application program # 2 sends the request that playlist # 1 is suspended.So, thus carry out comparison by the running priority level of distributing to these application programs in the application programs admin table and carry out ruling.Therefore, application program # 1 is continued the control of playlist # 1, and has refused the request that application program # 2 proposes.Can be in the such processing of coding stage definitions.Utilization and operation priority makes playing device can carry out ruling when the conflict that playlist causes occurring in playlist management table.
Next an object lesson of the description of playlist management table has been described.Figure 30 A has shown an example of the description of playlist management table.According to as described below be that two continuous titles (title #1, title #2) have write out table.In the playlist management table of title #1, playlist #1 is written as automatic operation playlist, and playlist #2 is written as the playlist that can play.In the application program management table of title #1, application program #1 is written as automatically runs application, and application program #2 is written as executable application program.In the playlist management table of title #2, playlist #2 and playlist #3 are written as the playlist that can play.In the application program management table of title #2, application program #3 is written as automatic play-back application.How Figure 30 B has shown based on the playlist shown in Figure 30 A and application program management table and has play these playlists and carry out these application programs.Playlist and application program management table according to being provided with as above-mentioned mode when title #1 starts, are written as the application program #1 that runs application automatically and automatically start.In addition, because in the application program management table of title #1, application program #2 is written as executable application programs, so start application program #2 by the yd1 that calls that sends from application program #1.
In the application program management table of title # 2, not describe application program # 1 and #2, but application program # 3 to be write in order running application automatically.Therefore, the boundary between title # 1 and title # 2, the execution of application program # 1 and #2 can stop, and application program # 3 can automatically start.In the playlist management table of title # 1, playlist # 1 and #2 are written as the playlist that can play.In these playlists that can play, given automatic broadcast attribute for playlist #1.Therefore, playlist # 1 can automatically play when title # 1 starts.
In the playlist management table of title # 1, playlist # 1 and #2 are written as the playlist that can play.Therefore, thereby application program # 1 can stop the broadcast of playlist # 1 and the broadcast of startup playlist # 2 by the broadcast of request playlist # 2, thereby has realized the playlist change.In the playlist management table of title # 2, playlist # 2 and #3 are written as the playlist that can play, and do not have the subsidiary playlist that automatic broadcast attribute is arranged.Therefore, the broadcast of the playlist # 1 that automatically starts when title # 1 starts can continue during title # 1, but can automatically stop when title # 2 begins.
But if the broadcast of playlist # 2 continues during title # 1 always, it also can continue in title # 2 so.In the playlist management table of title # 2, playlist # 2 and #3 are written as the playlist that can play.Therefore, thereby the application program # 3 that moves in title # 2 can stop the broadcast of playlist # 2 and the broadcast of startup playlist # 3 by the broadcast of request playlist # 3, thereby has realized the playlist change.
Next, will describe how to define the title playback period to 31C with reference to figure 31A by playlist management table.
Figure 31 A has shown the title playback period of a title, and wherein the broadcast attribute of this title is set to automatic broadcast.Be set to automatic broadcast if play attribute, the broadcast of playing PL so when the broadcast of title starts automatically also can start.Here, even normal operation of application program and fair termination also can be determined the title playback period according to the PL time shaft.
Figure 31 B has shown such a case: play attribute and be set to automatic broadcast in playlist management table, and application exception stops.After this abnormal end, do not move Any Application, but can continue to play automatically the broadcast of P1.Also be to determine the title playback period in this case according to the PL time shaft.
Figure 31 C has shown such a case, play attribute and be set to automatic broadcast in playlist management table, and primary application program fails to start.Also be based on the PL time shaft in this case and determine the title playback period, this is that no matter whether application program fault occurs starting because the automatic P1 of broadcast can be played.
Be set to the arrangement of broadcast automatically by the above-mentioned this attribute of in playlist management table, playing,, but on screen between the starting period, have demonstration even can need 5 to 10 seconds so that start a Java (TM) application program.That is to say, need the time, but on screen between the starting period, have demonstration even start an application program.This has just alleviated the start delay that time-consuming processing caused by application program launching.
Make that by definition application and playlist management table can carry out synchro control moves Java (TM) application program during playing at title.This makes it possible to achieve and provides the multiple application program that is used for playing image and executive routine.Up to the present, recording medium is described.Next playing device of the present invention will be described.
Figure 32 has shown the inner structure of playing device of the present invention.Playing device of the present invention is based on inner structure shown in Figure 32 and carries out that industry makes.Playing device of the present invention mainly comprises two parts: system LSI and drive unit.Industry make to be by realizing in the rack of this two parts charging apparatus and the plate.System LSI is a kind of integrated circuit, and it comprises the multiple processing unit of the function that is used to carry out playing device.The playing device that produces according to a kind of like this mode comprises BD-ROM driver 1, read buffers 2, demodulation multiplexer 3, Video Decoder 4, video plane 5, P image decoder 6, present the plane of delineation 7, merge cells 8, font generator 9, I image decoder 10, switch 11, interactive image plane 12, merge cells 13, CLUT unit 14, CLUT unit 15, audio decoder 16, the network equipment 17, local storage 18, read buffer zone 19, demodulation multiplexer 20, instruction ROM21, customer incident processing unit 22, PSR device 23, CPU 24, script storer 25, local storage 26 and switch 27.
At first, use description to play the device (BD-ROM driver 1 is to audio decoder 16) of the AV montage that is recorded on the BD-ROM.
BD-ROM driver 1 is carried out loading/ejection of BD-ROM and BD-ROM is conducted interviews.
Read buffers 2 is a kind of FIFO storeies, and wherein the TS bag that reads from BD-ROM is stored according to the mode of first in first out.
Demodulation multiplexer (De-mux) 3 extracts the TS bag from read storer 2, and the TS bag is converted to the PES bag.Thereby for the PES bag that obtains by this conversion.Demodulation multiplexer 3 wherein those PES that undertaken being provided with by 24 couples of PID of CPU wraps any one that outputs in Video Decoder 4, P image decoder 6, I image decoder 10 and the audio decoder 16 from the PES bag that obtains by conversion.
4 pairs of a plurality of PES bags from demodulation multiplexer 3 outputs of Video Decoder are decoded, and be decoded into a kind of image of unpacked format, and these images are write on the video plane 5.
Presenting the plane of delineation 7 is a kind of memory areas with a screen size, and can store the non-compressed image of a screen.The resolution of video plane 5 is 1920x1080.Each pixel that is stored in the non-compressed image that presents in the plane of delineation 7 all is to be represented by one 8 bit index color (inde color).After use CLUT (color look-up table) changes indexed color, just can show and be stored in the non-compressed image that presents in the plane of delineation 7.
The text codes that font generator 9 uses character fonts will be included in the text ST stream expands to bitmap, and these bitmaps are write presents on the plane of delineation 7.
The IG stream that I image decoder 10 will be in the HDMV pattern be read from BD-ROM or local storage 18 is decoded as non-compressed image, and these non-compressed images are write on the interactive image plane 12.
Thereby the font sequence that switch 11 generates font generator 9 selectively or write and present on the plane of delineation 7 by the decode image that obtains of P image decoder 6.
Thereby interactive image plane 12 those non-compressed images of decoding and obtaining of storage by I image decoder 10.Character and the image that those application programs are drawn also stored on interactive image plane 12 in the BD-J pattern.
The composograph (non-compressing image data and being stored in presents combining of data in the plane of delineation 7) that merge cells 13 will be stored in data and output from merge cells 8 in the interactive image plane 12 combines.This merging makes that writing character on the I image decoder 10 and/or image by application program can be added on the non-compressing image data.
The indexed color that CLUT unit 14 will be stored in the non-compressed image in the video plane 5 is converted to Y, Cr and Cb value.
The indexed color that CLUT unit 15 will be stored in the non-compressed image in the interactive image plane 12 is converted to Y, Cr and Cb value.
16 pairs of PES bags from demodulation multiplexer 3 outputs of audio decoder are decoded, and according to the unpacked format outputting audio data.
Up to the present, the device that is used to play the AV montage is described.Next will describe with the BD-J pattern in the relevant device (network equipment 17 is to demodulation multiplexer 20) of operation.
The network equipment 17 is used for realizing the communication function of playing device.When the Java in the BD-J pattern (TM) application program was specified a URL, the network equipment 17 will be set up TCP with the website with this URL and is connected, FTP connection or the like.Set up a kind of like this connection and make that this Java (TM) application program can be from this website data download.
Read buffers 19 is a kind of FIFO storeies.If the download content that is stored in the local storage 18 comprises a sub-montage, read buffers 19 just will be stored the TS bag that this sub-montage comprises according to the mode of first in first out so.
Demodulation multiplexer (De-mux) 20 extracts the TS bag from read buffers 19, and these TS bags are converted to the PES bag.Thereby for the PES bag that obtains by this conversion, demodulation multiplexer 3 wherein those PES bags with PID of expectation outputs in font generator 9, I image decoder 10 and the audio decoder 16 from the PES bag that obtains by conversion.
By the aforesaid operations of the network equipment 17, can play from the content of network download Java (TM) application program according to the mode identical with being recorded in the last content of BD-ROM to demodulation multiplexer 20.Next use description to realize the device (instruction ROM 21 is to switch 27) of integrated control in the playing device.
Customer incident processing unit 22 outputs to CPU 24 with customer incident, and described customer incident is by on the telepilot or the keyboard operation on the front panel of playing device indication.
PSR set 23 is a kind of registers that are embedded in the playing device, and comprises 64 player status registers (PSR) and 4096 general-purpose registers (GPR).In the set value (set value is called PSR), PSR 4 and PSR 8 are used to represent current play position in player status registers.
When PSR 5 is set to from 1 to 999 value, indicating the section number of chapters and sections under the current play position, and when being set to 0xFFFF, it is invalid being used for indicating the section number of playing device.
PSR7 is set to from 1 to 255, to indicate the broadcast item No. of the broadcast item (current broadcast item) under the current play position.
Up to the present, the hardware configuration of the playing device of present embodiment has been described.Next the software configuration of the playing device of present embodiment will be described.
Figure 33 has shown hardware and the software that is stored among the CPU 24 according to the form of layer structure.As shown in Figure 33, the layer structure of playing device comprises:
A) as the ground floor of BD player device;
B) as the second layer of BD player model; And
C) as the 3rd layer of application runtime environment.
The hardware configuration of playing device shown in Figure 32 belongs to ground floor.Ground floor as the BD player device comprises: one " demoder ", and it comprises Video Decoder 4, P image decoder 6, I image decoder 10 and audio decoder 16; One " plane ", it comprises video plane 5, presents the plane of delineation 7 and interactive image plane 12; BD-ROM, the file system of BD-ROM; The file system of local storage 18 and local storage 18.
The second layer as the BD player model comprises:
B2) comprise the layer of Play Control engine 32; And
B1) comprise Virtual File System 30 and present the layer of engine 31, and this course is higher than the API that function layer is provided of himself.
The 3rd layer as application runtime environment comprises:
C1) wherein has the layer of module management 34;
C2) wherein has the layer of HDMV module 33 and BD-J module 35.
In the layer model shown in Figure 33, module management 34 is positioned at the superiors.Module management 34 has a bypass ur1 who directly leads to Play Control engine 32, and HDMV module 33 and BD-J module 35 have been crossed in this bypass.In layer model as shown in Figure 33, since the existence of this bypass, the character that is shaped as a mirror writing " L " of module management 34, and user event manager 37 is embedded into wherein.
BD-J module 35 is a kind of Java (TM) platforms, and having with Java (TM) virtual machine 38 is the structure at center.Multiple systems program and application program are all worked in the working storage that this Java (TM) virtual machine 38 is comprised.The application manager 36 and the time hearer manager 39 (default action manager 40) that are positioned on Java (TM) virtual machine 38 all are this system programs.Application manager 36 comprises a PLMT processor 41.In addition, a permission control device 42 is arranged between BD-J module 35 and Play Control engine 32.
The Virtual File System 30 that at first description is belonged to the second layer is to module management 34.Figure 34 has shown that Virtual File System 30 is to the performed processing of module management 34.
Virtual File System 30 is a kind of a kind of Virtual File Systems that the download content that is stored in local storage 18 is handled according to the processing mode of the dish content of BD-ROM of being used for.The download content that is stored in the local storage 18 comprises sub-montage, clip information and playlist information.The playlist information of downloading in the content is with the difference that is recorded in the playlist information on the BD-ROM, it can specified clip information and no matter these clip information be stored on the BD-ROM or be stored on the local storage 18.And for this appointment, the playlist information on the Virtual File System 30 does not need by a file on complete trails appointment BD-ROM or the local storage 18.This is because the file system on BD-ROM or the local storage 18 is considered a kind of Virtual File System (Virtual File System 30).Therefore, by the five-digit number value of the file body of specified file as stored clips information here, the Clip_Information_file_name in Clip_Information_file_name in the playitem information and the sub-playitem information can be used to specify an AV montage on Virtual File System 30 or the BD-ROM.For the data that from local storage 18, read by Virtual File System 30, when with these Data Dynamic ground be stored in data among the BD-ROM when being merged together, can generate the broadcast of various ways.In the present embodiment, because dish content that local storage 18 and BD-ROM are merged and the dish content of BD-ROM are put on an equal footing, so can think that " BD-ROM " also refers to a kind of virtual record medium, and this virtual record medium merging that is local storage 18 and BD-ROM.
Play Control engine (PCE) 32 performed functions comprise: (i) playlist Play Control function; Thereby and (ii) obtain and state that state is set obtains/be provided with function by PSR set 23.In presenting the performed AV playing function of engine 31, playlist Play Control function is to stop or the like according to broadcast startup and broadcast that current PL information and clip information are carried out.This function (i) and (ii) carrying out in response to the funcall that sends by HDMV module 33, module management 34 and BD-J module 35.
That is to say that it plays the funcall of a PL if Play Control engine 32 receives order, it just by Virtual File System 30, reads the playlist information corresponding to PL specified in this funcall from BD-ROM or local storage 18 so.Then, Play Control engine 32 reads the clip information of narrating among the Clip_Information_file_name of this playitem information by Virtual File System 30 with reference to the playitem information that comprises in this section playlist information from BD-ROM or local storage 18.Symbol ◎ 1 among Figure 34, ◎ 2, ◎ 3 and ◎ 4 have indicated following content respectively: read playlist information (◎ 1) by Virtual File System 30; To the playitem information that playlist information comprised decode (◎ 2); Read clip information (◎ 3) by Virtual File System 30; To clip information decode (◎ 4).After in the manner described above clip information and playlist information being decoded, the TS bag that the AV montage is comprised by Virtual File System 30 is transferred to and is presented engine 31.TS bag is transferred to present engine 31 after, output to demoder and can show them in the plane thereby present TS bag that engine 31 comprised the AV montage.Symbol ☆ 1 among Figure 34, ☆ 2, ☆ 3, ☆ 4 and ☆ 5 indicate following content respectively: read the TS bag (☆ 1, ☆ 2) that the AV montage is comprised; From Virtual File System 30 these TS bag is transferred to and to be presented engine 31 (☆ 3): these TS bags are outputed to demoder (☆ 4); And will output to plane (☆ 5) by the decoded result that demoder obtains.
Up to the present, described and presented engine 31 to module management 34.Next will application manager 36 be described with reference to Figure 35.Figure 35 has shown application manager 36.
When taking place to shift between title, application manager 36 will order Java (TM) virtual machine 38 to start such application program: it does not move in the title of the source of transfer, but but has operation attribute " operation automatically " for transfer destination ground title.Simultaneously, application manager 36 stops such application program: it moves in the title of the source of transfer, but does not but have life cycle in transfer destination ground title.Thereby carry out such start-up control and stop control by application program management table with reference to current BD-J object.If a transfer takes place between title here, module management 34 can send the notice of activate (bobj_id) so.When receiving this notice, application manager 36 current BD-J objects are set to the BD-J object corresponding to this bobj_id, and the application manager table of the current BD-J object of reference.This makes application manager 36 can discern the application program that those start and stop automatically automatically.In Figure 35, symbol ☆ 0, ☆ 1, ☆ 2 and ☆ 3 indicate following content respectively: a TitleJump (title redirect) (☆ 0) takes place; Notice activate (bobj_id) (☆ 1); Reference applications admin table (☆ 2); And order Java (TM) virtual machine 38 starts an application program (☆ 3).By this order that starts an application program, Java (TM) virtual machine 38 reads working storage (☆ 4, ☆ 5) to the xlet program from local storage 26.
Up to the present, application manager 36 has been described.Next will user event manager 37 be described to default action manager 40 with reference to Figure 36.
User event manager 37 is divided into the customer incident that customer incident processing unit 22 receives: (i) customer incident of Play Control and (ii) KeyEvent.The customer incident of Play Control is the customer incident that is used to send to issue orders: play, stop, suspending beginning, the EOT end of timeout, static end, play (having the speed explanation) forward, play (having the speed explanation), video transformation, captions conversion and angular transformation backward.KeyEvent is the customer incident that following these keys are supressed in indication: move up, move down, move right, be moved to the left and numerical key.User event manager 37 is sent a funcall, thereby makes Play Control engine 32 carry out the Play Control function according to the customer incident of Play Control.This funcall is called UO (user's operation), and sends to Play Control engine 32 by the UO controller 37a in the bypass that is positioned at module management 34, and not by HDMV module 33 and BD-J module 35.This makes can carry out the Play Control that is used to play, stop, suspending beginning, EOT end of timeout or the like without delay.In Figure 36, symbol ☆ 1, ☆ 2 and ☆ 3 indicate following content respectively: user event manager 37 is divided into customer incident customer incident of (i) Play Control and (ii) KeyEvent (☆ 1, ☆ 2); And the funcall (☆ 3) that is sent to Play Control engine 32 according to the customer incident of Play Control.
Java (TM) virtual machine 38 is loaded into working storage with the xlet program that application program comprised, this xlet program decoded, and the layer lower according to decoded result control.More particularly, in control to lower level, Java (TM) virtual machine 38 sends a kind of JMF method to BD middleware (middleware) (not shown), call thereby can replace prior function, and after this replaces it, this funcall is sent to Play Control engine 32 corresponding to the funcall of BD playing device.
39 pairs of KeyEvents of incident hearer's manager are analyzed and are distributed these incidents.Solid arrow ◇ 1 among Figure 36 and ◇ 2 have indicated the incident distribution of being undertaken by incident hearer manager 39.If the incident that is distributed is the KeyEvent of having registered in the incident hearer of xlet program, incident hearer manager 39 just is distributed to this incident an xlet program of being pointed to indirectly by the BD-J object so.Incident hearer in the xlet program has the KeyEvent corresponding to the JMF that has registered therein.Therefore, can start this xlet program by a kind of like this KeyEvent of registration.If the incident that is distributed is the KeyEvent of not registering in the incident hearer, incident hearer manager 39 just is distributed to default action manager 40 with this incident so.Because the various KeyEvents of the KeyEvent of in the incident hearer, not registering in the BD-ROM playing device, may occur comprising, so above-mentioned arrangement is to be used for can suitably handling and can not breaking down every kind of KeyEvent.
When the KeyEvent that will not register in the incident hearer of xlet program when incident hearer manager 39 was distributed to default action manager 40, default action manager 40 sent a funcall corresponding to this incident of not registering to Play Control engine 32 in the incident hearer.Arrow ◇ 3 among Figure 36 has indicated this funcall that is sent by default action manager 40.
More than be exactly whole descriptions to BD-J module 35 middle level structures.Here should be noted that, saved the description to permission control device 42 in the present embodiment, we can be described in greater detail in embodiment 3.
The inner structure of<Java (TM) virtual machine 38 〉
Next the inner structure of Java (TM) virtual machine 38 will be described.Figure 37 has shown the inner structure of Java (TM) virtual machine 38.As shown in Figure 37, Java (TM) virtual machine 38 has comprised CPU 24 shown in figure 32, user class loader 52, method zone 53, working storage 54, thread 55a, 55b ... 55n and Java (TM) storehouse 56a, 56b ... 56n.
User class loader 52 reads the class file in Java (TM) history file that belongs to the BDJA catalogue from local storage 26 or the like, and the class file that these read is stored in the method zone 53.Thisly specify a file path and order user class loader 52 to read class file by reading of 52 pairs of class files of user class loader by application manager 36 to realize according to this path.If this document path indication local storage 26, user class loader 52 reads a class file a Java that application program comprised (TM) history file on the working storage from local storage 26 so.If a catalogue in this document path indication Virtual File System 30, user class loader 52 reads a class file a Java that application program comprised (TM) history file on the working storage on BD-ROM or local storage 18 so.Application program shown in Figure 35 activates control (☆ 3, ☆ 4 and ☆ 5) and realizes by reading of 52 pairs of class files of user class loader.If the specified class file that reads is not stored in local storage 26, user class loader 52 read failure occurs with regard to notification application manager 36 so.
The class file that 53 storages of method zone are read from local storage 26 by user class loader 52.
Working storage 54 is known as the heap zone, is used to store the example of various types of file.Application manager 36 shown in Figure 33 and incident hearer manager 39 are the resident applications that are arranged in working storage 54.Working storage 54 is also stored corresponding to example that is stored in the class file in the method zone 53 and resident type instance.These examples are xlet programs that application program comprises.After such xlet procedure stores was in working storage 54, application program had just been carried out the preparation of operation.In the layer model shown in Figure 33,35 and 36, working storage 54 is positioned at a layer that is higher than Java (TM) virtual machine 38.But application manager 36 and the incident hearer manager 39 described in this manner in the working storage 54 are for easy to understand.In fact, thread 55a, 55b ... 55n carries out application manager 36 and incident hearer manager 39 as an example.
Thread 55a, 55b ... 55n is the logic execution body that is used for carrying out the method that is stored in working storage 54.Thread 55a, 55b ... thereby the variable that 55n will be stored in local variable or the operand stack is carried out calculating as operand, and result of calculation is stored in these local variables or the operand stack.Arrow ky1, ky2 and kyn have symbolically indicated from working storage 54 to thread 55a, 55b ... the method that 55n provides.Although it only is a CPU that physics is carried out body, can provide 64 threads to carry out body at most in Java (TM) virtual machine as logic.As long as logic is carried out the quantity of body and is no more than 64, so just can generate the existing thread of new thread or deletion.Can increase or reduce the quantity of worker thread at the duration of work of Java (TM) virtual machine 38.Because can increase the quantity of thread where necessary,, improved the execution speed of this example thus so can allow a plurality of thread parallels to carry out an example.In Figure 37, has the relation of " one-to-many " between CPU 24 and the thread.But if a plurality of CPU are arranged, so this relation can be " multi-to-multi ".Thread 55a, 55b ... 55n is to realize by following manner to the execution of these methods: the bytecode that this method comprised is converted to the native code of CPU 24, and these native codes are sent to CPU 24.Here omitted the description that is converted to native code to this, this is because so just departed from theme of the present invention.
Based on man-to-man relation, with thread 55a, 55b ... 55n as one man provides Java (TM) storehouse 56a, 56b ... 56n, and each storehouse all has a programmable counter (PC among Figure 37) and one or more frame.Be somebody's turn to do " programmable counter " and indicated a part of the example of current execution.Should " frame " be the stack system zone of distributing to one to one method of calling.Every frame comprises: be used for being stored in once " operand stack " of calling the parameter of using; And " local variable storehouse (local variable among Figure 37) " of this invoked method use.Will make a frame enter Java (TM) storehouse 56a, 56b when calling because carry out at every turn ... 56n, thus when a method recursive call himself the time also can make a frame enter storehouse.When calling a JMF player example player method, maybe when calling a JumpTitle API Calls, can enter Java (TM) storehouse 56a, 56b corresponding to this frame that calls ... 56n.The information that is stored in as parameter in the operand stack of these frames comprises: (i) filename of the MPLS file that will play of player method; (ii) indicate the title_id or the like of the redirect destination of JumpTitle API Calls.
Next will describe application manager 36 in detail and how its ingredient PLMT processor 41 carries out work in the inner structure of above-mentioned Java (TM) virtual machine 38.
In incident of requesting activation of module management 34 output (activatred[bobj_id]) afterwards by the BD-J object of bobj_id sign, the BD-J object that application manager 36 just has this bobj_id is set to current BD-J object, and wherein this application manager 36 is examples in the working storage 54.Then, the operation attribute of application program is checked in executing state in the title of 36 pairs of transfers of application manager source and the current BD-J object, and determines the application program that (i) wants automatically actuated application program and (ii) will stop automatically.
Determine that (i) wants automatically actuated application program to realize in the following manner: the search apli_id_ref that off-duty still has the application program of automatic operation attribute in current BD-J object in the title of the source of transfer in the application program management table of current BD-J object.If find such apli_id_ref, application manager 36 just orders user class loader 52 to read to belong to the class file by Java (TM) history file of the application program of this apli_id_ref sign, and this makes and can generate example corresponding to this class file in working storage 54.This application program that makes be arranged in current title its life cycle has been carried out the preparation that starts.Then, as thread 55a, 55b ... when 55n was initiated the method for carrying out this application program, this application program will start.
Determine that the application program that (ii) will stop automatically realizes in the following manner: the search apli_id_ref that operation does not still have the application program of life cycle in current BD-J object in the title of the source of transfer in the application program management table of current BD-J object.If find such apli_id_ref, application manager 36 just stops having the xlet program that application program comprised of apli_id_ref.This makes can regain following these resources: (i) zone that was occupied by this application program originally in the working storage 54, perhaps (ii) Java (TM) storehouse 56a, 56b,, those were used to carry out the frame of the method for this application program originally among the 56n.
The broadcast attribute of playlist is checked in broadcast state in the title of 41 pairs of transfers of an ingredient PLMT processor of application manager 36 source and the current title, and determines playlist that (i) will be play automatically and the playlist that (ii) will be stopped automatically.
The playlist that definite (i) will play is automatically realized in the following manner: the playlist that still has automatic broadcast attribute in current title is play in search in the title of the source of transfer in playlist management table.If find such playlist, thereby the Pl_id_ref of the playlist that PLMT processor 41 just will be played carries out the funcall that is used for the playlist broadcast as parameter.Call by carrying out this, can be at Java (TM) storehouse 56a, 56b ... generate frame among the 56n with the Pl_id_ref in the operand stack of being stored in.And thread 55a, 55b ... 55n carries out the funcall of the broadcast that is used for playlist.By carrying out this funcall, present engine 31 and begin this playlist is play.
Definite playlist that (ii) will stop is automatically realized in the following manner: the playlist in the playlist management table that still is not written to current title is play in search in the title of the source of transfer in playlist management table.If find such playlist, PLMT processor 41 is just carried out a kind of funcall that is used to stop to play this playlist, and from Java (TM) storehouse 56a, 56b ... deletion is corresponding to the frame of the funcall that is used to play this playlist among the 56n.
Application program can stop in working storage 54 according to four kinds of patterns.Figure 38 has shown these four kinds of patterns that application program stops.In first kind of pattern, send an application program when stopping incident and stop (☆ 1) when shortage of resources and application manager 36 take place.In second kind of pattern,, application program stops (☆ 2) when receiving this application program when stopping incident by application manager 36 from the Another application program.In the third pattern, finish and application manager 36 sends an application program when stopping incident and stops (☆ 3) when the life cycle that writes in the application program management table.In the 4th kind of pattern, this application program stops (☆ 4) when application program self activates termination.In three kinds in these four kinds of patterns, stop this application program by application manager 36.We are appreciated that application manager 36 bringing into play central role aspect the work of controlling application program thus.If send a termination incident application program is stopped, thereby application manager 36 can forcibly stop this application program and regain resource so.This power that can mandatoryly regain resource is a characteristic of application manager 36.
Up to the present, we are described the ingredient of BD-J module 35.(description of process flow diagram)
Foregoing is that application programs manager 36 has carried out the overview description.Shown the processing of application manager 36 among Figure 39 and 40 in detail.Next the treatment step of application manager 36 reference flow sheet is described in further detail.
Figure 39 is the process flow diagram of the step of display application Program Manager 36.Step shown in Figure 39 comprises a major loop, and this major loop comprises step S1, S2, S3 and S4.In step S1, judge whether a title redirect having taken place.A title redirect has taken place if judge, application manager 36 changes title (step S7) so, the application program management table of reference transfer destination title, and terminate in the title of transfer source operation but be not present in application program (step S8) in the transfer destination ground title.Then, the playlist management table of application manager 36 reference transfer destination titles, and stop shifting and play in the title of source and do not survive in playlist (step S9) in the transfer destination ground title.
Then, application manager 36 order PLMT processors 41 judge whether that one is not play and have a PL (step S10) of automatic broadcast attribute in transfer destination ground title in the title of the source of transfer.If judged such PL, PLMT processor 41 is just ordered Play Control engine 32 to be play and should be play PL (step S11) automatically so.If there is not such PL, so just do not play automatic broadcast PL.
Step subsequently comprises step S12 to S18, is used for activating the application program that has life cycle at transfer destination ground title.In this job step, application manager 36 orders start one run application automatically (step S14), if and this successfully startup that runs application automatically (being " YES " among the step S15), the playing image that so just will play PL automatically is converted to 1/4th (1/4) (step S18).
If be judged as " NO " among the step S15, so just carry out the loop that comprises S14 to S17.Control variable in this loop has one and restarts counter.This restarts counter and has defined a number of times that application program restarts.In step S12, this is restarted counter and reset, and judge in step S16 whether restart counter is 0.To restart counter be not 0 if judge in step S16, just this restarted counter so in step S17 and carry out subtraction.As long as restart counter is not 0, and this just runs application automatically and to start repeatedly in the loop processed of S17 comprising step S14.A kind of like this repetition has just been guaranteed to activate application program.
At step S2, judge whether to have stopped a primary application program.Stopped primary application program if judge, control is just transferred to step S5 and is judged whether fair termination of this primary application program so.If judge primary application program abnormal end, so with regard to execution in step S19 and S20.If judge primary application program fair termination, control just turns back to and comprises the major loop of step S1 to S4 so, and not execution in step S19 and S20.
At step S19, judge whether to play one and play PL automatically.If judge and play a broadcast PL automatically, application manager 36 is converted to full frame (step S20) with regard to ordering Play Control engine 32 will be somebody's turn to do the playing image of playing PL automatically so.Then, step S16 is transferred in control.Transfer to step S16 by control,, also can carry out the loop processed that comprises step S14 to S17 even application exception interrupts.This makes application program can start repeatedly up to the counter that restarts that is provided with in step S12 to become 0.
In step S4, judge in BD driver 1, whether there is BD-ROM.If there is no BD-ROM, so application manager 36 just order stop all application programs (step S6).
Figure 40 has shown the object lesson of playlist management table and application program management table.In Figure 40, first row has shown the playing image of a title, and second row has shown the time shaft of this title, and the third line has shown the process of the broadcast of a PL, and fourth line has shown the execution of an application program.Fourth line has been indicated application program #1 startup when start of header, and enters into mode of operation at moment t1 subsequently.On the other hand, playlist #1 starts broadcast when start of header.Therefore, shown in the first row left-hand side, at the application program launching timing period, promptly after title starts and application program before entering mode of operation during, with the full-screen image playing image gj1 of #1 of tabulating that displays the play.When application program #1 when the moment, t1 entered mode of operation, show a composograph gj2, it comprises: as the playing image of the PL of son screen; And the carries out image of the application program of the female screen of conduct.The carries out image of application program is the screen that is used for a kind of recreation in this example, and wherein arranging has start button, continues button and power indicator.In addition, the carries out image of this application program is shown as a Java (Tm) application program, carries out the treatment of picture of on interactive image plane 12, drawing.Handle Java (TM) application program need draw storehouse and character repertoire in order to carry out this picture.After this, as long as carry out the execution of this application program and the broadcast of this PL simultaneously, just show this mother-son screen.
In this example, application program # 1 is abnormal end subsequently, and application manager 36 detects this abnormal end at moment t2.Arrow br1 has symbolically indicated this detection.When it took place, application manager 36 was converted to the playing image of PL full frame at step S20.In Figure 40, be converted to full frame at moment t3.Shown in the right-hand side of first row, according to the mode of the full-screen image image gj3 that displays the play.
As mentioned above, according to present embodiment, be set to this arrangement of automatically playing by the broadcast attribute in the playlist management table, just can enter into mode of operation, demonstration was also arranged on screen between the starting period even Java (TM) application program that has started need spend 5 to 10 seconds.This state that " demonstration is arranged " on the screen has been alleviated the start delay that takes place when beginning to carry out a title.
In addition, if the application program launching fault takes place, if perhaps application exception stops, so also can continue to play the playlist that defines in playlist management table, this also provides the state that wherein " demonstration is arranged " on the screen.By this arrangement, can avoid device this worst case of blank screen to occur.This can make the manufacturer of device feel relieved at least to a certain extent.
When with " Restart_Application_fag " when being set to 0, it has been indicated when an application exception stops, this application program does not restart, and when it was set to integer " n " except that " 0 ", it had indicated repetition to restart for n time.The default value of this mark is " 0 ".
When " Continuous_Playback_flag " is set to " 0 ", it has indicated the broadcast that does not continue playlist when application exception stops, and when it is set to " 1 ", it has indicated the broadcast that continues playlist when application exception stops, and when it was set to " 2 ", it had indicated the broadcast and this broadcast that continue playlist when application exception stops to carry out according to full-screen image and normal speed.The default value of this mark is " 0 ".
When " Select_Title_flag " is set to " 0 ", it has been indicated when application exception stops and has not been shifted between title, and when it was set to integer " n " except that " 0 ", it had indicated current title to jump to the title as its title number with " n ".The default value of this mark is " 0 ".
When " Notify_Event_flag " was set to " 0 ", it had indicated when application exception stops not outgoing event, and when it was set to integer " n " except that " 0 ", it had indicated the incident of outgoing event sequence number for " n ".The default value of this mark is " 1 ".
When " Reboot_flag " was set to " 0 ", it had indicated the boot of not carrying out playing device when application exception stops, and when it was set to " 1 ", it had indicated the boot of carrying out playing device.
Can define the recovery processing that when application exception stops, need carry out in advance by above-mentioned mark during the coding.Now, provided an object lesson of the explanation of mismanage table.Figure 43 A has shown two titles (title # 1, title #2), and has wherein write the mismanage table.In the application program management table of title # 1, application program # 1 is written as a kind of AutoRun (operation automatically) application program.And in the mismanage table of title # 1, write a recovering information when application program # 1 abnormal end, need using.In the playlist management table of title # 1, playlist # 1 is written as a kind of AutoPlay (playing automatically) playlist.
In the application program management table of title # 2, application program # 2 is written as a kind of AutoRun application program.And in the mismanage table of title # 2, write the recovering information of application program # 2.
Thereby Figure 43 B has shown according to the implementation progress of an application program of application program shown in Figure 43 A and the execution of mismanage table and the playing progress rate of a playlist.Because the recovering information of application program # 1 has been indicated Continuous_Playback_flag=2, so playlist continues to play when application program # 1 abnormal end, and this broadcast is carried out according to full-screen image and normal speed.
On the other hand, the recovering information of application program # 2 indication Notify_Event_flag=2 is so the output sequence number is the incident of " 2 " when application program # 2 abnormal end.
Use such recovering information to describe, the processing that need carry out in the time of can be for each title and each application program definition application abnormal end.
By add the mismanage table in the BD-J object, the application manager 36 of present embodiment is carried out according to the process flow diagram shown in Figure 44 and 45 and is handled.Figure 44 is the process flow diagram that has shown the job step of application manager 36 among the embodiment 2.Identical with the situation among Figure 39, this process flow diagram has comprised a major loop, and this major loop comprises step S1, S2, S3 and S4.When in major loop, having selected a title, with regard to the process of execution in step S21 to S27.
At step S21, application manager 36 makes PLMT processor 41 judge in transfer destination ground title whether playlist management table is arranged.If in transfer destination ground title, have playlist management table, whether successfully application manager 36 just makes Play Control engine 32 be enabled in and plays still in the title of transfer source and have the broadcast (step S22) of a PL of AutoPlay attribute in transfer destination ground so, and judge this broadcast (step S23) then.If it is successful judging this broadcast in step S23, execution in step S25 is to the process of S28 so.If judge this broadcast and unsuccessful in step S23, the process flow diagram shown in Figure 45 is just transferred in control so.
If do not have playlist management table in transfer destination ground title, application manager 36 just makes Play Control engine 32 stop at the broadcast (step S24) of an in progress PL in the title of transfer source so, and execution in step S25 is to the processing of S28.
At step S25, judge in transfer destination ground title whether the application program management table is arranged.If in transfer destination ground title, the application program management table is arranged, application manager 36 just starts the AutoRun application program (step S26) in the transfer destination ground title so, and at step S27, judge whether this application program successfully starts, successfully start if judge application program in step S27, control just turns back to and comprises the loop of step S1 to S4 so.If judge that application program does not successfully start in step S27, the process flow diagram shown in Figure 45 is just transferred in control so.
The process flow diagram of Figure 45 has shown the job step of carrying out when an application exception stops.In step S30, whether wrong admin table judge takes place in the title under abortive this application program.Do not have the mismanage table in this title if judge in step S30, control just turns back to and comprises the loop of step S1 to S4 so.
If judge wrong admin table in this title in step S30, control is just transferred to step S44 and is turned back to then and comprise the loop of step S1 to S4 so.At step S31, whether the Restart_Application_flag in the misjudgment admin table is " 0 ".If the Restart_Application_flag that judges in the mismanage table is not " 0 ", execution comprises the loop processed of step S40 to S44 so.In this loop processed, restart the value " n " (step S40) that counter is set to be written to Restart_Application_flag, and execution comprises the loop of step S41 to S44 then.Control variable in this loop processed is that this restarts counter.When application program successfully starts (among the step S44 for " Yes ") and restart counter (being " Yes " among the step S41) when becoming " 0 ", this loop processed finishes.In this loop processed, be " No " as long as in step S41 or S44, judge, so just repeat that this is restarted counter and carry out subtraction (step S42) and this AutoRun application program of repeated priming.By this repetition, can restart abortive application program.If judge Restart_Application_flag is " 0 ", so with regard to execution in step S32.
At step S32, judge that Continuous_Playback_flag is " 0 ", " 1 " or " 2 ".If judge Continuou_Playback_flag is " 2 ", so just shows the playing image (step S33) of AutoPlay PL according to full frame mode, and control turns back to and comprises the major loop of step S1 to S4.
If judge Continuous_Playback_flag is " 1 ", so just continues the playing image (step S34) of AutoPlay PL according to the mode of 1/4th screens, and control turns back to and comprises the major loop of step S1 to S4.
If judge Continuous_Playback_flag is " 0 ", and step S35 is just transferred in control so.
At step S35, whether select_title_flag is not " 0 " in the misjudgment admin table.Be " 0 " if judge select_title_flag, step S37 is transferred in control so.Be not " 0 " if judge select_title_flag, so just transfer destination ground title is set to write on the value " n " (step S36) among the select_title_flag, and controls the step S37 that transfers to as shown in Figure 44,
At step S37, whether Notify_Event_flag is not " 0 " in the misjudgment admin table.Be " 0 " if judge Notify_Event_flag, step S39 is transferred in control so.If judge Notify_Event_flag, so just generate incident " n " (step S38), and control transfers to and comprises the major loop of step S1 to S4, as shown in Figure 44 by value " n " sign of Notily_Event_flag for " 0 ".At step S39, judge whether Boot_flag is not " 0 " in the misjudgment admin table.Be " 0 " if judge Boot_flag, control is transferred to and is comprised the major loop of step S1 to S4 so.Be not " 0 " if judge Boot_flag, the place that begins of Figure 44 is just transferred in control so, and carries out the boot of playing device.
As mentioned above, according to present embodiment, can be by programming person rather than device fabricator definition playing device executable operations how when application exception stops.
Here should be noted that, such program can be embedded in the playing device: do not have one of broadcast during the title of mismanage table, when an application exception stopped, this program was just carried out a kind of recovery and is handled.
In addition, in title redirect API, can provide and specify any one parameter among the Restart_Application_Flag to Reboot_Flag, thereby application manager 36 can be provided by the recovery processing corresponding to the parameter that provides in title redirect API.
We described in embodiment 1, the playlist management table in the BD-J object can be used for defining the broadcast of Java (TM) virtual machine PL.Present embodiment then focuses on the broadcast by the PL of the JMF method of application program.Doing a problem of being brought like this is playlist management table.That is to say whether can play a PL,, in the other title, then can not play this PL so in some title, can play this PL because in playlist management table, described.In addition, also have such a case, wherein from the angle of copyright protection, we wish to forbid that certain specific application program plays a PL, although we are defined as this PL can play.In order to realize the restriction of this broadcast to PL, in embodiment 3, permission control device 42 and application manager 36 are carried out following the processing.
If application requests is play a PL, permission control device 42 is just carried out the mutual authentication with this application program so, and judges that request plays the application program of this PL and whether be authorized to play this PL.If this application program is authorized to play this PL, permission control device 42 just asks controller 32 to play this PL so.If this application program of unauthorized is play this PL, permission control device 42 is just exported a response events to the application program that request PL plays so, and this incident has indicated request not licensed.Judge whether the request of the broadcast PL that licensed application is sent by this by permission control device 42, if the application program that the PL that the publisher issued is requested to issue with another publisher is play, this request just may be rejected so.This makes and can not use unauthorized application program to play a PL.The judgement that permission control device 42 is made is based on the combination of the PL that allow to play and application program and the PL that do not allow to play and the combination of application program, and has defined these combinations in the license file in being recorded in BD-ROM.Here omitted detailed description, because it has departed from the application's theme to a kind of like this file.
In embodiment 3, the request that application manager 36 sends in response to an application program, notice can be at a PL of current play time broadcast.Figure 46 is a process flow diagram, and it has shown the step of this notice that application manager 36 is made.In this process flow diagram, during an application program launching, whether this application program sent notified the request (GetPL) that to play PL to monitor (step S45).Sent a kind of like this request if judge this application program, continued to judge in the BD-J object that title comprised under current broadcast point whether have playlist management table (step S46) so.If write a PL in this playlist management table, this PL that so just will be written in the playlist management table is notified to this application program (step S47) that request is play as playing PL.
If do not write a PL in playlist management table, so just this application program of playing to request sends the disabled notice of broadcast (step S48) of a PL.Up to the present, the performed step of application manager among the embodiment 3 36 has been described.
Next the performed step of application manager 36 in the time of will describing the broadcast as a PL of request.In embodiment 3, application manager 36 is carried out according to process flow diagram shown in Figure 47 and is handled.
In Figure 47, application manager 36 judges whether the broadcast (step S51) of an application requests to a PL.If the application program of the broadcast of a PL of request is arranged, application manager 36 just makes permission control device 42 carry out a kind of authentication so, thereby whether the application program of judging this broadcast of request is authorized to play this PL (step S52).If this application program is authorized to play this PL, application manager 36 just orders Play Control engine 32 to start this broadcast (step S53) so, and waits for the response (step S54) of the indication success of being sent by Play Control engine 32.
When receiving so a kind of playing request, Play Control engine 32 is checked the authenticity of playlist information.This inspection comprises: check whether the BD-ROM and the local storage 18 that wherein store playlist information, clip information and AV montage constitute a suitable playlist; And whether be stored on BD-ROM and the local storage 18 by this clip information and the AV montage of clip_Information_file_name appointment in the playlist information.Clip_Information_file_name does not point under the situation of a suitable file therein, perhaps comprise therein and have contradiction in the virtual package of BD-ROM and local storage 18 and can't make up under the situation of a suitable playlist, Play Control engine 32 can return the response of an indication " mistake ".
If return one " success " response after above-mentioned job step, so just the application program of playing to request is sent an indication and is play the incident (step S55) of PL success.If do not return one " success " response, so just the application program of playing to request is sent an indication and is play the incident (step S56) of PL failure.On the other hand, if judge this PL of the uncommitted broadcast of application program that request is play at step S52, so just the application program of playing to request is sent the incident (step S57) that an indication can't be play PL.
As mentioned above, if present embodiment makes each title has all been defined whether to play a playlist, if and some application program is authorized to play a playlist, and other application program does not have this mandate, thereby so just can suitably carry out the broadcast of a playlist in response to the request that an application program is sent.This makes can provide plurality of kinds of contents to represent by the broadcast of applied in any combination program implementation and playlist.
We described in embodiment 1, by the playlist that we is expected play is additional broadcast attribute " AutoPlay " were arranged, and can order playing device to play this AutoPlay PL when starting title.But present embodiment relates to a kind of improvement, has wherein write down a kind of non-boundary application program in BD-ROM, and when title starts, makes this non-boundary application program select to want automatically actuated title.
The non-boundary application program is a kind of like this application program: it is identical with resident applications (for example the Play Control engine 3 2) in the playing device, thereby and carry out a processing in response to the request that this Play Control engine 32 sends, this processing is a playlist information of selecting the PSR value of setting with the playing device side to be complementary in many playlist information from write on playlist management table, and notifies this selected playlist information.
In order to make the non-boundary application program select a PL, with playing attributes about all of the title of asking such selection and all be set to " specifying " in the playlist management table.This is because " all properties is specified " is not used as a kind of trigger event, makes Play Control engine 32 these non-boundary application programs of request select a PL.
The selection that the non-boundary application program is carried out is based on defined selection algorithm during the coding.Figure 48 A has shown the content that is embedded into the selection algorithm in the non-boundary application program to 48C by the form of showing.This table has been indicated the scope corresponding to the PSR value of PL, and when PSR has this value, this PL will be played.In these figure, Figure 48 A has shown the content based on female other selection algorithm of level.Female rank is set to PSR (13) in this playing device.More particularly, will indicate an integer of age of user to be arranged among the PSR (13), and playing device be considered as female rank with this integer.In Figure 48 A, the value of PSR (13) can be divided into three scopes: less than 14; More than or equal to 14 and less than 18; And more than or equal to 18.In addition, all indicated a playlist that will be played for every kind in these scopes.Therefore, based on a kind of like this selection algorithm, if the PSR value of setting less than 14, the non-boundary application program is just selected playlist #1 so; If the PSR value of setting is more than or equal to 14 and less than 18, the non-boundary application program is just selected playlist #2 so; And if the PSR value of setting is more than or equal to 18, the non-boundary application program is just selected playlist #3 so.
Figure 48 B has shown the content based on the selection algorithm of audio language.In playing device, audio language is set to PSR (16).More particularly, an integer is arranged among the PSR (16), and playing device thinks that this integer specified the language that is used for voice playing.In Figure 48 B, the value of PSR (16) can be divided into three kinds of scopes: English; Japanese; And other.In addition, all indicated a playlist that will be played for every kind in these scopes.Therefore, based on a kind of like this selection algorithm, if PSR (16) value of setting indication English, the non-boundary application program is just selected playlist # 1 so; If PSR (16) value of setting indication Japanese, the non-boundary application program is just selected playlist # 2 so; And if the other Languages of PSR (16) value of setting indication except that English and Japanese, the non-boundary application program is just selected playlist # 3 so.
Figure 48 C has shown the content based on the selection algorithm of the player configurations that is used for video.The player configurations that will be used for video in playing device is set to PSR (14).More particularly, an integer is arranged among the PSR (14), and playing device thinks that this integer specified the environment that is used for video playback.In Figure 48 C, the value of PSR (14) can be divided into the television system mailbox of three kinds of scope: resolution 525x600; The television system of resolution 525x600; And the television system of resolution 1920x1080.In addition, all indicated a playlist that will be played for every kind in these scopes.Therefore, based on a kind of like this selection algorithm, if the television system mailbox of PSR (14) value of setting indication resolution 525x600, the non-boundary application program is just selected playlist #1 so; If the television system of PSR (14) value of setting indication resolution 525x600, the non-boundary application program is just selected playlist #2 so; And if the television system of PSR (14) value of setting indication resolution 1920x1080, the non-boundary application program is just selected playlist #3 so.Just can generate as Figure 48 A to the conditional transfer shown in the 48C as Figure 48 A by using a kind of computer description language to describe to the selection algorithm shown in the 48C.
Up to the present, a kind of improvement of recording medium in the present embodiment has been described.Next a kind of improvement of playing device in the present embodiment will be described.This improvement mainly comprises the improvement of application programs manager 36 and Play Control engine 32.
When taking place to shift between the title, application manager 36 is with reference to playlist management table and judge whether there is AutoRun PL in this playlist management table.If there is not AutoRun PL, application manager 36 is just transferred to this playlist management table in the Play Control engine 32 so, and request Play Control engine 32 is play a PL who writes in this playlist management table automatically.
When Play Control engine 32 received playlist management table, it can ask the non-boundary application program to select PL.When thereby Play Control engine 32 received the tabulation of the play PL that this non-boundary application response sends in this request from the non-boundary application program, whether its is judged had one to write on from playing and shift and PL the next playlist management table among the PL listed in this table.And if in these PL that select by the non-boundary application program, a PL who writes in the playlist management table were arranged, Play Control engine 32 would just be play this PL automatically so.
Figure 49 has shown the process of title non-boundary application program selection PL.At the left-hand side of Figure 49, shown the layer structure of software in the playing device.At the right-hand side of Figure 49, shown the content of BD-ROM.In Figure 49, symbol ◎ 1, ◎ 2, ◎ 3, ◎ 4 represent following content respectively: the notice (◎ 1) that does not have automatic broadcast in playlist management table that application manager 36 sends; The indication that Play Control engine 32 sends can be play the request (◎ 2) of PL; Title non-boundary application program is to obtain (◎ 3) of the PSR value of setting; And the notice (◎ 4) sent to Play Control engine 32 of title non-boundary application program about playing PL.
Here should be noted that in Figure 49 that consideration is for convenience write title non-boundary application program on the BD-ROM.Because title non-boundary application program is a kind of Java (TM) application program, so more approach the description of actual conditions be: title non-boundary application program is a kind of a kind of example of being carried out by thread in the working storage 54 of Java (TM) virtual machine 38 55.
According to above-mentioned present embodiment, make an application program that is positioned at the title boundary place make above-mentioned judgement.This Play Control engine 32 stage early after starting a title in the playing device of making is discerned such PL just can the numerous PL on being recorded in BD-ROM: the condition that it satisfies to be provided with in the playing device.Have the application program that " AutoPlay " plays attribute even this makes not pre-determine, also can determine a PL that will be played at the section start of this title.Even in the BD-J pattern, also can realize for example language credit and female Play Control that locks.
Here should be noted that, although selection algorithm links together PSR value and playlist in the present embodiment, the playlist that will be played when can also pre-defined PSR value of setting in playing device exceeding the supposition scope.
In embodiment 4, title non-boundary application program has a kind of selection algorithm that is used for the PL that selection will be played according to the PSR value of setting.Present embodiment relates to a kind of improvement, wherein has multi-angle during the cycle as a PL, selects an angle a plurality of angles that make title non-boundary application program to comprise from this multi-angle cycle.Title non-boundary application program in the present embodiment is got in touch a plurality of PSR value scopes and the angle that will be played together.In the present embodiment, if current play time is arranged in a multi-angle cycle, Play Control engine 32 is selected the angle that will be played with regard to request header non-boundary application program so.When title non-boundary application program receives such when request, it just obtains current set PSR value, carries out a kind of selection algorithm, and selection is corresponding to an angle of the value of setting that is obtained.The result that title non-boundary application program is selected to Play Control engine 32 notices, thus Play Control engine 32 is play the angle of this selection.
As mentioned above, according to present embodiment, the people who is responsible for coding can define a kind of algorithm that is used for according to PSR value selected angle.This makes the people who is responsible for coding can use multiple angles to write out multiple application program.
Next will be with reference to process flow diagram shown in Figure 50 to 54, specifically describe the performed Control work step of Play Control engine 32.
Figure 50 is a process flow diagram, has shown the step that Play Control engine 32 performed PL play.This broadcast step mainly comprises to the control (step S106) that presents engine 31 with to the control (step S108) of BD-ROM driver 1 or local storage 18.In this process flow diagram, processing target is play item be designated as a broadcast #x.In this process flow diagram, at first read current PL information (.mpls) (step S101), and execution in step S102 is to the process of S110.Step S102 has formed a kind of loop processed to S110, wherein every the PI information that is comprised for current PL information all repeated execution of steps S103 to S110, up in step S109, being judged as " YES ".In this loop processed, processing target is play item be designated as a broadcast #x (PI#x).If the broadcast item of the section start of current PL is set to play a #x, so just this broadcast #x is carried out initialization (step S102).For above-mentioned loop processed, the condition of end is to judge that to play a #x be last broadcasts item (step S109) among the current PL.If a broadcast #x is not the last broadcast item among the current PL, the next one among the so just current PL is play item and is set to a broadcast #x (step S110).
Step S103 repeats in loop processed in the following manner to S110.The clip information of playing the Clip_information_file_name appointment of a #x is read into (step S103) in the script storer 25.The In_time that uses the EPmap of current clip information will play a #x is converted to an I image address " u " (step S104).The Out_time that uses the EPmap of current clip information will play a #x is converted to an I image address " v " (step S105).The next I image address of I image address " v " is subtracted 1, and the result address that obtains is set to address " W " (step S107).Order BD-ROM driver 1 or local storage read TS and wrap (step S108) in the position of " W " to the address from I image address " u ".
On the other hand, order presents engine 31 output data, and the scope of these data is to the Out_time (step S106) that plays a #x from the mark_time_stamp of current PLMark., can play to S108 by execution in step S105 by playing an a part of AV montage of #x appointment.
After this, judge that whether this broadcast #x is last the broadcasts item (step S109) among the current PL.
If judging and playing a #x is not last broadcasts among the current PL, the next one among the so just current PL is play item and is set to play an item #x (step S110), and controls and turn back to step S103.Thereby repeat above-mentioned steps S103 and play the broadcast item that this PL comprises in order to S110.
Figure 51 is a process flow diagram, has shown that angle changes step and the step that is used for reading/skipping to rebound downwards.Step executed in parallel shown in this process flow diagram and Figure 50, and repeat and comprise the loop processed of step S111 to S112.In the step S111 of this loop, judge from Java (TM) virtual machine 38, whether to have sent an API that the request angle changes.And if judge and sent the API that the request angle changes, so just current clip information is become another one.
In the step S115 of Figure 51, judge whether the is_multi_angles that plays a #x is " ON ".This is_multi_angles is that a kind of the indication play the mark whether a #x gets ready to multi-angle.If be judged as in step S115 " NO ", step S113 is just transferred in control so.If in step S115, be judged as " YES ", so with regard to execution in step S116 to S119.Step S116 carries out in such a way to S119.Replace angle to change angle number (step S116) afterwards with variable " y ".A clip information to playing " y " individual Clip_information_file_name appointment among the #x reads script storer 21 (step S117).Use the EP_map of current clip information that current PTM is converted to an I image address " u " (step S118).The Out_time that uses the EP_map of current clip information will play a #x is converted to I image address " v " (step S119).At change I image address as described above " u " and " v " afterwards, handle shown in the Figure 50 that just stops to carry out simultaneously with this processing, step S106 is transferred in control then.By transferring to step S106, read the TS bag from another AV montage, and changed video content.
On the other hand, among the step S112 in the loop of Figure 51, judge from Java (TM) virtual machine 38, whether called one to rebound read/API skips downwards.And if judge to have called to rebound and read/API that skips downwards, so just carry out the step shown in the process flow diagram of Figure 52.Figure 52 is a process flow diagram, has shown when judging to have sent the step of reading/carrying out when skipping API downwards to rebound.Can realize being used to carry out the step of reading or skipping to rebound downwards according to multiple mode.Therefore, should be noted that and only described such example here.
At step S121, thereby, current PI number of PSR indication and current PTM obtain current label information by being changed.At step S122, judge that whether the key of pressing is for skipping or reading to rebound downwards.If what press is to skip downwards, bearing mark is set to "+1 " in step S123 so.If what press is to read to rebound, bearing mark is set to " 1 " in step S124 so.
In step S125, current PLMark numbering is set to the quantity that obtains by with the current PLMark number value addition with bearing mark.Here, if what press is the key of skipping downwards, so just bearing mark is set to "+1 ", and therefore current PLMark increases.If what press is to read key to rebound, so just bearing mark is set to " 1 ", and therefore current PLMark reduces.
In step S126, the PI that describes among the ref_to_PlayItem_Id with current PLMark is set to and plays a #x.At step S127, read the clip information of the Clip_information_file_name appointment of playing a #x.At step S128, the EP_map that uses current clip information is converted to an I image address " u " with the mark_time_stamp of current PLMark.Another reverse side, the Out_time that uses the EP_map of current clip information will play a #x is converted to an I image address " v ".At step S130, order presents engine 31 output data, and the scope of these data is to the Out_time that plays a #x from the mark_time_stamp of current PLMark.Stop the processing shown in the Figure 50 with this processing executed in parallel, and the step S107 of Figure 50 is transferred in control then.In this way, after changing I image address " u " and " v " and order broadcast another part, step S107 is transferred in control.By transferring to step S107, read the TS bag from another AV montage, and changed the content of video.
Figure 53 is a process flow diagram, has shown the job step that presents engine 31 in detail.In this process flow diagram, the PTS of I image is set to (step S131) after the current PTM, carry out and comprise the loop processed of step S132 to step S137.
Next description is comprised the loop processed of step S132 to S137.In this loop processed, export corresponding to the image of current PTM and audio frequency repeatedly and upgrade current PTM repeatedly.In this loop processed, step S136 has defined this loop processed and has finished necessary condition.That is to say that step S136 has defined and must finish the Out_time that current PTM is exactly PI#x by this loop processed.
At step S133, judge whether Java (TM) virtual machine 38 has called rewind down API or F.F. API.Called rewind down API or F.F. API if judge, so just judged in step S138 that the API that is called is F.F. or rewind down.If F.F., the PTS with next I image is set to current PTM (step S139) so.By current PTM being set to the PTS of next I image, can realize that per second plays the AV montage in the mode of skipping forward.By this arrangement, can play the AV montage forward according to twice speed or other speed.If rewind down so just judges whether current PTM has arrived the Out_time (step S140) that plays a #x.If judge the Out_time that a #x is play in current PTM no show, so just the PTS with previous I image is set to current PTM (step S141).By this way, be set to previous I image, can realize that per second plays the AV montage in the mode of skipping backward by reading destination-address A.By this arrangement, can play the AV montage backward according to twice speed or other speed.Can be accomplished in several ways the step of F.F. or rewind down.Therefore, should be noted that and only described such example here.
At step S134, judge whether to have called menu call API.Call menu call API if judge, so just suspended current playing process (step S142), and carried out the editmenu (step S143) that is used for the menu process.By this process, if carried out menu call, so just can suspend playing process, and carry out the editmenu that is used for the menu process.
At step S135, judge whether a son broadcast #y (SubPlayItem#y) who in sync_PlayItem_id, has known clearly and play a #x (PlayItem#x) for its appointment.Exist such son to play a #y if judge, the process flow diagram shown in Figure 54 is just transferred in control so.Figure 54 is a process flow diagram, and it has shown the sub job step of playing item.In this process flow diagram, judge in step S146 at first whether current PTM is the Sync_start_PTS_of_PlayItem of sub-PI#y.If judge the Sync_start_PTS_of_PlayItem that current PTM is sub-PI#y, step S153 is just transferred in control so, and order Play Control engine 32 is carried out the playing process that son is play a #y in this step.
If in step S136, be judged as " YES ", so with regard to execution in step S144 and S145.In step S144, judge whether to satisfy following two conditions: (i) virtual machine file system 30 has exported the notice end of file event; And (ii) the demoder notice of having exported decoded events finishes.If above-mentioned two conditions all are met, the notice that so just will flow incident finishes to output to Play Control engine 32.
Comprise step S147 among Figure 54 and shown the job step of playing a #y based on son to the process flow diagram of S152.
In step S147, read the clip information of playing the Clip_information_file_name appointment of a #y by son.At step S148, the In_time that the EP_map that uses current clip information plays a #y with son is converted to address α.At step S149, the Out_time that the EP_map that uses current clip information plays a #y with son is converted to address β.In step S150, command decoder output is play the In_time of item to Out_time.The next I image address of I image address β is subtracted 1, and the result that will obtain is set to address γ (step S151).Order BD-ROM driver 1 or local storage 18 address α from sub-montage #z read TS bag (step S152) to the position of address γ.
Now, get back to Figure 50, we will continue to describe the process of Play Control engine 32.In step S19, judge whether present engine 31 has finished Play Control.To be judged as " NO " among the step S131 always, and carry out last one up to process shown in the process flow diagram of Figure 53 and play a #x.When process shown in the process flow diagram of having finished Figure 53, in step S131, be judged as " YES ", and step S114 is transferred in control.At step S114, notification event will be output in Java (TM) virtual machine 38.By this output, Java (TM) virtual machine 38 can identify broadcast to have carried out two hours.
According to above-mentioned present embodiment, application manager 36 can identify the moment that broadcast has been carried out two hours continuously.This makes application manager 36 can order Java (TM) virtual machine 38 to carry out a processing synchronous with the end of the broadcast of playlist.
Points for attention
Foregoing all is not described all embodiment of the present invention.Can also realize the present invention by for example embodiment (A), (B), (C), (D) or the like.The present invention who defines in the application's claim is the expansion or the summary of the foregoing description, or to the modification of the foregoing description.The degree of these expansions or summary is based on the technical merit in the technical field of the present invention when submitting the application to.
In above-mentioned all embodiment, represented with BD-ROM to be used to realize CD of the present invention.But, be used to realize that CD of the present invention is characterised in that dynamic script and the concordance list that is recorded on the CD, and these characteristics and do not rely on the physical characteristics of BD-ROM.Therefore, any recording medium that can be used to write down dynamic script and concordance list all can be applicable to the present invention.For example, can use for example CD of DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD+RW, DVD+R, CD-R and CD-RW, perhaps the magneto-optic disk of PD or MO for example.In addition, the present invention can also use semiconductor memory card, for example flash memory (TM) card (compact flash card), intelligent medium (smart media), memory stick (memory stick), multimedia card (multimedia card) or PCM-CIA card.And the present invention can also use (i) magnetic recording disk, for example flexible plastic disc (flexible disk), super disk (SuperDisk), Zip or Clik! , perhaps (ii) removable hard disk drive, for example ORB, Jaz, SparQ, SyJet, EZFley or microdrive.Further, the present invention can use the hard disk that is embedded in the device.
In all the foregoing descriptions, playing device will be decoded to these AV montages earlier before outputing to TV will being recorded in AV montage on the BD-ROM.But playing device may only comprise a BD-ROM driver, and the device except that BD-ROM then is arranged in TV.In this case, playing device and TV can be covered in the one family network, and this playing device and TV are connected in this home network by IEEE 1394.In addition, in the above-described embodiments, thereby this playing device is a kind of playing device that is connected to the type of a TV owing to the reason requirement of using.But this playing device can also be such one type: a built-in display in this playing device wherein.Further, can regard a part that has realized a kind of playing device of substantive process among each embodiment as playing device of the present invention.Each such playing device all is a kind of invention of describing among the application.And therefore, to the manufacturing that playing device carried out, all should be considered is to working of an invention described in the application based on the inner structure of playing device shown in each embodiment.In addition, no matter be or freely playing device shown in each embodiment shifted, hire out or introduces that all should be considered is to enforcement of the present invention for profitable purpose.Further, by direct demonstration, products catalogue or distribution handbook or the like mode this playing device is provided, shifts or hires out to domestic consumer, also all should be considered is to enforcement of the present invention.
Obtained the program that shows for its job step in each process flow diagram, this program should have been regarded as an independently invention, this is that this program has been used concrete hardware resource for information is handled because as shown in each process flow diagram.In each embodiment,, this program is embedded in the playing device in order to realize program of the present invention.But, can separate between this program and the playing device, thereby and this program can be realized the stand-alone program shown in each embodiment as discrete entity.Can thereby program discrete entity shown in each embodiment be implemented method of the present invention be divided into following a few class this, for example: (1) makes this program: (2) are for profitable purpose or freely this program is shifted; (3) hire out this program; (4) introduce this program; (5) provide this program by the two-way electronic communication circuit to the public; And (6) provide this program, shift or hire out to domestic consumer by direct demonstration, products catalogue or distribution handbook or the like mode.
We think that in the step of each process flow diagram the element of time that is relevant to of carrying out according to time sequencing is playing substantial effect aspect identification the present invention.Therefore, we think that also job step shown in the process flow diagram has played the effect of the type of service of open player method.Therefore, thus we think that the step according to time sequencing implementing procedure figure realizes purpose of the present invention, implement the present invention and obtain effect of the present invention, also all are to enforcement of the present invention.
When the AV montage is recorded in BD-ROM when going up, we wish that each TS bag that is comprised to this AV montage all encloses an extension header.This extension header is called TP_extra_header, and it comprises " Arribval_Time_Stamp " and " copy_permission_indicator ", and has the data length of nybble.The TS bag (after this being called the TS bag with EX) that will have TP_extra_header divides into groups according to 32 one group, and is written in three sections.One group of these 32 the TS bags with EX has 6144 bytes (=32 * 192).Every group this size is just in time identical with the size of each section in these three sections, and wherein the size of each section also is 6144 bytes (=2048 * 3).One group that is stored in these three sections these 32 the TS bags with EX is called " aligned units ".
When playing device 200 is used for the one family network (wherein this device is connected to this network by IEEE1394), this playing device transmits this aligned units according to following transmission course.That is to say, an equipment of emission pusher side with TP_extra_header from aligned units contained each have in the Play Control engine 3 2TS bag of EX and remove, according to the DTCP standard each part of TS bag is all encoded, and the bag of the TS behind the output encoder.When the TS behind the output encoder wrapped, this equipment was inserted into TS bag behind the coding with sync packet.Determine sync packet is inserted into position in the TS bag behind the coding based on indicated time of the Arribval_Time_Stamp of TP_extra_header.When these TS bags of output, playing device 200 output DTCP_Descriptor.This DTCP_Descriptor has indicated the copy permission among the TP_extra_header/forbid setting.Here, thus by describing DTCP_Descriptor indication " duplicate and forbid " thus make that miscellaneous equipment can not write down these TS bags when playing device is connected to the one family network it is used by IEEE 1394.
In all the foregoing descriptions, the digital stream that is recorded on the recording medium is the AV montage.But this digital stream can be the VOB (object video) that meets DVD video standard or DVD videograph standard.Thereby this VOB is by video flowing and audio stream being multiplexed into the program flow that obtains together, and this program flow meets the ISO/IEC13818-1 standard.In addition, the video flowing in the AV montage can meet MPEG4 or WMV system.Further, audio stream can meet linear PCM system, Doby AC3 system, MP3 system, MPEG-AAC system, Dts or WMA (form (TM) media audio).
In all the foregoing descriptions, obtain video work thereby can encode by the analog video signal that analog broadcasting is sent.In addition, video work can also be the flow data that comprises the transport stream of sending by the digital broadcasting mode.
In addition, thus can also be by the analog/digital encoding video signal that is stored on the video band be obtained content.Further, thus can also be by the analog/digital encoding video signal that directly obtains from video camera be obtained content.Further, thus can obtain copyright by distribution that issuance server carried out.
BD-J module 35 can be a kind of Java (TM) platform that is embedded into the equipment that is used for receiving satellite broadcast.When BD-J module 35 was Java (TM) platform, playing device of the present invention was also carried out the performed process of STB that is used for MHP.
In addition, BD-J module 35 can be a kind of Java (TM) platform that is embedded into the equipment of the process control that is used for carrying out mobile phone.When BD-J module 35 was Java (TM) platform, playing device of the present invention was also carried out the performed process of mobile phone.
In layer model, the HDMV pattern can be positioned on the BD-J pattern.This especially only makes playing device bear light load because of dynamic script in the HDMV pattern being analyzed and being carried out Control work step based on this dynamic script, and there is not any problem in execution HDMV pattern on the BD-J pattern.In addition, in the performance history of playing device or cinematographic work, only just can guarantee operation by a kind of pattern.
In addition, can only on the BD-J pattern, carry out playing process.This is because as shown in Example 5, and Play Control is carried out in the broadcast that can be synchronized with PL in the BD-J pattern, and therefore not necessarily will provide the HDMV pattern.
By providing navigation command can realize transfer between the PL in a kind of interactive image stream, and wherein this interactive image fails to be convened for lack of a quorum and is multiplexed in the AV montage.
In embodiment 1, title non-boundary application program is defined as a kind of like this title: extend to all titles that belong to a BD-ROM its life cycle.But, also title non-boundary application program can be defined as a kind of like this title: extend to all titles that belong to a plurality of BD-ROM its life cycle.
In embodiment 1, when generating the application program management table, we wish that the number of applications that can carry out simultaneously is restricted to, for example 4 or still less.
For example the number of applications that can carry out simultaneously should be restricted to 4 or reason still less as follows.A plurality of BD-ROM playing devices of being furnished with digital broadcasting frequency modulator function are arranged, and be used for realizing that the application program of this frequency modulator function is usually located at storer.For the space of operation is provided to resident applications, so just the number of applications that can carry out simultaneously should be restricted to for example 4 or still less.We wish that in these four application programs, first is a title non-boundary application program, and second is title non-boundary program, and the 3rd is chapters and sections border application program.
In embodiment 2, definition error admin table like this, thus when an application exception stops, can carry out a rejuvenation.But, when an application exception stops, may carry out a plurality of rejuvenations.That is to say that when application exception stopped, playing device can be carried out the restarting and the output of incident of broadcast, application program of playlist continuously.
In addition, thus can make up the mismanage table does not so all define a rejuvenation for each application program for each title.
The AV montage can have a kind of interactive image stream that is multiplexed into wherein, is used for display menu and receives interactive operation by this menu.Therefore, only just can generate the top level menu title by describing a navigation command, wherein this navigation command shows that in order to realize this top level menu and reception interactive operation only need an AV montage in the order movie object.
In above-mentioned each embodiment, just for example understand the data structure in directory/file structure and the file.As the management information of one of feature of the present invention and do not rely on directory/file structure and file in data structure.Therefore, for example, for as a kind of BD-J object of operating script in the BD-J pattern, it can be covered in the BDJA catalogue as a file (zzzzz.BD-J) with identifier " bobj_id " and " BD-J ", and can only identifier " bobj_id " be stored into the BD-JObject[n of BD-J Object.bdmv] ().
Industrial applicability
The individual can be used for home theater system with recording medium of the present invention and playing device In the system. But, recording medium of the present invention and playing device can also be applied to industrial circle, This is because it has in the above-described embodiments disclosed internal structure, and it is apparent that, Can produce in batches recording medium of the present invention and playing device. Therefore, of the present invention Recording medium and playing device have industrial applicability.
Claims (8)
1. recording medium wherein records application program, digital stream, title and the management information relevant with digital stream with described application program, wherein
The program that is used for virtual machine that described application program is to use programming language to write,
Specified life cycle, be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the working storage of described virtual machine into and be carried out by described virtual machine during described life cycle,
Described management information comprises the information of indication about the Play Control of the digital stream of described title, wherein should carry out described Play Control when carrying out described application program,
Described management information further comprises continuation broadcast mark, and it has defined the recovery that will carry out when described application exception stops and has handled; And
When described continuation broadcast mark was set to predetermined value, this continuation was play mark indication and is stopped the described Play Control to described digital stream that the back continuation should be carried out at described application exception when described application program is performed.
2. playing device comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And
Application manager, when arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and with the execution of described virtual machine unit concurrently, make described Play Control engine unit according to the described digital stream that is recorded in the relevant described title of management information broadcast in the described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle
Described management information further comprises continuation broadcast mark, and it has defined the recovery that will carry out when described application exception stops and has handled; And
Described application manager judges whether that further described continuation broadcast mark has been set to predetermined value, if described continuation is play mark and has been set to predetermined value, described application manager makes described Play Control engine unit stop the described Play Control to described digital stream that the back continuation should be carried out at described application exception when described application program is performed.
3, a kind of program that is read into computing machine,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And
Described program makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle
With the execution of described virtual machine unit concurrently, make described Play Control engine unit play the described digital stream of relevant described title according to being recorded in management information in the described recording medium,
Judge whether that continuing to play mark has been set to predetermined value, this continuation play tag definitions the recovery that will carry out when stopping of described application exception handle, if described continuation is play mark and has been set to predetermined value, make described Play Control engine unit stop the described Play Control that the back continuation should be carried out when described application program is performed to described digital stream at described application exception.
4, a kind of player method that is used for computing machine,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit is used for playing and is recorded on the described recording medium and relevant with the title that is recorded in described recording medium digital stream; And
Described player method makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein said life cycle is that described application program can be read into the working storage of described virtual machine and be carried out by described virtual machine in the playback period of the title in being recorded in described recording medium and during this life cycle
With the execution of described virtual machine unit concurrently, make described Play Control engine unit play the described digital stream of relevant described title according to being recorded in management information in the described recording medium,
Judge whether that continuing to play mark has been set to predetermined value, this continuation play tag definitions the recovery that will carry out when stopping of described application exception handle, if described continuation is play mark and has been set to predetermined value, make described Play Control engine unit stop the described Play Control that the back continuation should be carried out when described application program is performed to described digital stream at described application exception.
5. recording medium wherein records application program, digital stream, title and the management information relevant with digital stream with described application program, wherein
The program that is used for virtual machine that described application program is to use programming language to write,
Specified life cycle, be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle,
Described management information comprises:
Play routing information for many, every information has defined the broadcast path that is recorded in the described title in the described recording medium by a pair of play start time and the broadcast concluding time of indicating described digital stream; And
A relevant information of playing routing information can selecting by the described application program of in described life cycle, carrying out.
6. playing device comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium; And
Application manager, when arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, and make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle.
7, a kind of program that is read into computing machine,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium; And
Described program makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle; And
Make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title.
8, a kind of player method that is read into computing machine,
This computing machine comprises:
The virtual machine unit is used to carry out the application program of reading in working storage from recording medium;
The Play Control engine unit, be used for playing the digital stream that is recorded in the recording medium according to broadcast path information, this broadcast path information has defined the broadcast path that is recorded in the title in the described recording medium by a pair of play start time and the broadcast concluding time that indication is recorded in the described digital stream in the described recording medium;
Described player method makes described computing machine carry out following steps:
When arriving life cycle, described application program is read in described working storage and made described virtual machine unit carry out described application program from described recording medium, wherein be in the playback period of the described title in being recorded in described recording medium this life cycle, and described application program can be read the work internal memory of described virtual machine into and be carried out by described virtual machine during described life cycle; And
Make described Play Control engine unit according to one that selects by the described application program of carrying out play routing information play and be recorded in described recording medium in the relevant described digital stream of described title.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003-380464 | 2003-11-10 | ||
JP2003380464 | 2003-11-10 | ||
JP2003380464 | 2003-11-10 | ||
JP2004-261376 | 2004-09-08 | ||
JP2004261376 | 2004-09-08 | ||
JP2004261376 | 2004-09-08 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480008998.4A Division CN1768387B (en) | 2003-11-10 | 2004-11-09 | Recording method, playing device and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101656092A true CN101656092A (en) | 2010-02-24 |
CN101656092B CN101656092B (en) | 2012-12-19 |
Family
ID=36743357
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132902XA Active CN101656091B (en) | 2003-11-10 | 2004-11-09 | Recording medium, playback apparatus, program, playback method, system integrated circuit |
CN 200910132903 Active CN101656092B (en) | 2003-11-10 | 2004-11-09 | Recording medium, playback apparatus, playback method, system integrated circuit |
CN200480008998.4A Active CN1768387B (en) | 2003-11-10 | 2004-11-09 | Recording method, playing device and method |
CN 200910132904 Active CN101656093B (en) | 2003-11-10 | 2004-11-09 | Recording medium, playback apparatus, program, playback method, system integrated circuit |
CNA2009100014060A Pending CN101447210A (en) | 2003-11-10 | 2004-11-09 | Integrated circuit for playing device |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910132902XA Active CN101656091B (en) | 2003-11-10 | 2004-11-09 | Recording medium, playback apparatus, program, playback method, system integrated circuit |
Family Applications After (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480008998.4A Active CN1768387B (en) | 2003-11-10 | 2004-11-09 | Recording method, playing device and method |
CN 200910132904 Active CN101656093B (en) | 2003-11-10 | 2004-11-09 | Recording medium, playback apparatus, program, playback method, system integrated circuit |
CNA2009100014060A Pending CN101447210A (en) | 2003-11-10 | 2004-11-09 | Integrated circuit for playing device |
Country Status (1)
Country | Link |
---|---|
CN (5) | CN101656091B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679578A (en) * | 2015-03-12 | 2015-06-03 | 绚视软件科技(上海)有限公司 | Self-adaptation mechanism and usage method of minimum memory on BD-java platform |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5088550B2 (en) * | 2007-10-26 | 2012-12-05 | ソニー株式会社 | Electronic device, reproduction method and program |
KR20100123549A (en) * | 2009-05-15 | 2010-11-24 | 삼성전자주식회사 | Method and apparatus for controlling content |
JP2012018727A (en) * | 2010-07-08 | 2012-01-26 | Sony Corp | Information processor, and information processing method and program |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5508994A (en) * | 1993-03-05 | 1996-04-16 | Nakamichi Corporation | Disk player with compact arrangement of a reader and disk storage magazine |
CA2373036A1 (en) * | 1999-07-13 | 2001-01-18 | Sun Microsystems, Inc. | Methods and apparatus for managing an application according to an application lifecycle |
JP4300642B2 (en) * | 1999-08-18 | 2009-07-22 | ソニー株式会社 | Recording medium, recording medium reproducing apparatus and reproducing method |
JP4395998B2 (en) * | 2000-06-07 | 2010-01-13 | ソニー株式会社 | Optical disc apparatus, optical disc recording method, and optical disc |
JP2002057990A (en) * | 2000-08-09 | 2002-02-22 | Nec Corp | Video reproduction system and data synchronization system used therefor |
-
2004
- 2004-11-09 CN CN200910132902XA patent/CN101656091B/en active Active
- 2004-11-09 CN CN 200910132903 patent/CN101656092B/en active Active
- 2004-11-09 CN CN200480008998.4A patent/CN1768387B/en active Active
- 2004-11-09 CN CN 200910132904 patent/CN101656093B/en active Active
- 2004-11-09 CN CNA2009100014060A patent/CN101447210A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104679578A (en) * | 2015-03-12 | 2015-06-03 | 绚视软件科技(上海)有限公司 | Self-adaptation mechanism and usage method of minimum memory on BD-java platform |
CN104679578B (en) * | 2015-03-12 | 2018-09-07 | 绚视软件科技(上海)有限公司 | Minimum memory adaptation mechanism on BD-java platforms and application method |
Also Published As
Publication number | Publication date |
---|---|
CN101656091A (en) | 2010-02-24 |
CN101656092B (en) | 2012-12-19 |
CN101656093A (en) | 2010-02-24 |
CN101656093B (en) | 2013-02-27 |
CN1768387A (en) | 2006-05-03 |
CN101656091B (en) | 2012-09-26 |
CN101447210A (en) | 2009-06-03 |
CN1768387B (en) | 2010-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101833970B (en) | Recording medium, playback apparatus, program, playback method, system integrated circuit | |
CN1768387B (en) | Recording method, playing device and method | |
JP2006139896A (en) | Recording medium and reproduction device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20100224 Assignee: Shenzhen Maxmade Technology Co.,Ltd. Assignor: Blue light United Co., Ltd. Contract record no.: X2019990000006 Denomination of invention: Controller for interdynamic softward broadcasting device Granted publication date: 20121219 License type: Common License Record date: 20190923 |
|
EE01 | Entry into force of recordation of patent licensing contract |