The present invention relates to a technology for playing back content such as video content and audio content from an optical disc such as a BD-ROM.
The technology for real-time playback of moving images such as a movie via networks is rapidly becoming widespread, with the improvement in the technology for data distribution via a wide area network such as the Internet. On the other hand, the quality of video images is more and more enhanced, and in recent years, the development relating to stereoscopic video images is underway. Real-time playback of content of such video images via networks is not yet practical in view of the currently available bandwidths of the networks. Accordingly, it is considered that recording movie contents of high-definition or stereoscopic images on optical discs such as non-rewritable Blu-ray discs (BD-ROM discs), i.e., media packages, remains the mainstream method for selling/distributing the movie contents by movie companies, for example.
Note that content distributed over networks generally includes an advertisement. In addition, details of the advertisement may vary each time the content is distributed. In that case, either of a server device and a client terminal may select details of the advertisement. (See for example Patent Literature 1 and 2.)
Similarly, content such as a movie recorded on media packages to be sold or distributed generally includes an advertisement. Such advertisements include, for example, an advertisement for media packages of another movie or for a movie being released. An advertisement is embedded in part of movie content or the like in the form of sounds, video images, or subtitles. Specifically, the content is recorded in the form of a “playlist” in a media package. When the media package is a BD-ROM disc, the playlist includes a combination of a clip AV stream and movie playlist information. The clip AV stream includes a digital stream representing video images/sounds. The playlist information defines a playback path of the clip AV stream and generally includes a plurality of pieces of playback section information, i.e., playitem information. Each piece of playitem information indicates a portion of the clip AV stream that is to be actually played back. In a playlist, a portion containing a combination of playitem information and a corresponding portion of a clip AV stream is referred to as a “playitem”. To play back a playlist from a media package is to sequentially play back playitems included in the playlist by sequentially referencing the pieces of playitem information included in the playlist information. Therefore, an advertisement is embedded in a media package as one playitem in a playlist.
Generally when an advertisement embedded in a playlist such as a movie is of more interest to viewers of the playlist, the advertisement is expected to involve a lower risk of disturbing the entertaining effect of the playlist and achieve a higher advertising effect. The level of the viewers' interest in the advertisement generally varies with factors such as the relevance of the advertisement to the playlist, the preferences of the viewers, the numbers of times the viewers have watched the playlist, and the viewing environments. It is therefore preferable that a playitem representing an advertisement (which may also be referred to as “advertisement playitem”) to be embedded in a playlist is selectable depending on such factors.
However, unlike the technology for playing back content via networks, conventional technologies for playing back a playlist from a media package cannot change an advertisement playitem embedded in the playlist to a different playitem. Accordingly, the technologies cannot reduce the possibility that an advertisement of low interest to the viewer is played back when the playlist is played back. As a result, it is difficult to further reduce the risk that insertion of an advertisement disturbs the entertaining effect of the playlist. It is also difficult to further improve the advertising effect of the advertisement.
An object of the present invention is to provide a playback device that, when playing back a playlist from an optical disc, can play back a playitem different from an advertisement playitem embedded in the playlist.
The playback device according to one embodiment of the present invention comprises a supplying unit, a playback unit, a judging unit, a playback path replacing unit, and a playback target request unit. The supplying unit holds a desired playitem therein and supplies a requested one of the desired playitem and a playitem that is contained in a playlist stored on an optical disc. The playback unit plays back the playitem supplied from the supplying unit. The judging unit reads first playback path information defining a playback path of the playlist from the optical disc and judges whether or not the first playback path information includes playback section information for a playitem representing an advertisement. The playback path replacing unit performs a playback section rewriting process when the judging unit judges affirmatively. The playback section rewriting process involves rewriting the playback section information for the playitem representing the advertisement with playback section information for the desired playitem, so that the first playback path information is replaced with second playback path information. The playback target request unit selects a playitem to be played back according to the second playback path information and requests the supplying unit to supply the selected playitem as the requested playitem.
When playing back a playlist from an optical disc, the playback device according to the present invention can play back a desired playitem during the playback section of an advertisement playitem embedded in the playlist. Accordingly, embedding, for example, an advertisement playitem that is more relevant to the playlist as the desired playitem, can reduce the possibility that an advertisement of low interest to viewers is played back when the playlist is played back. As a result, the playback device of the present invention can further reduce the risk that insertion of an advertisement disturbs the entertaining effect of the playlist. Furthermore, the playback device of the present invention can also improve the advertising effect of the advertisement.
The following describes preferred embodiments of the present invention, with reference to the drawings.
Furthermore, the playback device 102 can communicate via a network 105, such as the Internet, with a server device 106 located on the network 105. Additionally, the playback device 102 may include a card reader 102B for a memory card 107. The playback device 102 reads an update kit for the BD-ROM disc 101 from the server device 106 or the memory card 107. The update kit is composed of data to be used as replacement for the data on the BD-ROM disc 101. Specifically, the update kit includes a playitem representing a new advertisement to be used as replacement for an advertisement playitem recorded on the BD-ROM disc 101. At the time of playing back a playlist from the BD-ROM disc 101, the playback device 102 uses the update kit to conduct a process of replacing the advertisement playitem recorded on the BD-ROM disc 101 with the new advertisement playitem. The replacement process will be described later in detail.
In the file system for the volume area 202, the volume area 202 is managed as one logical address space 203. In the logical address space 203, volume information 203A and the application data 203B are recorded in the stated order from the top. In the file system, pieces of data recorded in the volume area 202 are represented in directories or files. In the case of the BD-ROM disc 101, the pieces of data are represented in UDF (Universal Disc Format). The use of UDF enables typical personal computers (PCs) to access data on the BD-ROM disc 101 in files and directories, in the same manner to access a file system such as FAT or NTFS.
The BDMV directory 2042 also stores an index file (index.bdmv) 2042A, a movie object file (MovieObject.bdmv) 2042B, and a service object file (ServiceObject.bdso) 2042C. Additionally, the BDMV directory 2042 includes a PLAYLIST directory 2043, a CLIPINF directory 2044, a STREAM directory 2045, a JAR directory 2046 and a BDJO directory 2047. The PLAYLIST directory 2043 stores a playlist file (YYY.MPLS) 2043A. The CLIPINF directory 2044 stores clip information files (XXX.CLPI and ZZZ.CLPI) 2044A and 2044B. The STREAM directory 2045 stores AV clip files (XXX.M2TS and ZZZ.M2TS) 2045A and 2045B. The JAR directory 2046 stores a JAR file (AAA.JAR) 2046A. The BDJO directory 2047 stores a BD-J object file (BBB.BDJO) 2047A.
The CERTIFICATE directory 2048 stores a merge certificate (bd.cert) 2048A and an ID file (id.bdmv) 2048B. The merge certificate 2048A includes a public key assigned to the provider, such as a movie company, of an AV content recorded on the BD-ROM disc 101. The file format of the merge certificate 2048A may be X.509. The ID file 2048B includes Org ID (Organization ID) and Disc ID. Org ID is a 32-bit identifier uniquely assigned to the provider of the BD-ROM disc 101. Org ID is a 128-bit identifier uniquely assigned to the provider of the BD-ROM disc 101.
The following now describes the data structure of files 2042A-2042C, 2043A, 2044A, 2044B, 2045A, 2045B, 2046A and 2047A stored in the BDMV directory 2042 and its sub-directories 2043-2047.
<Index File (Index.bdmv) 2042A>
The index table 421 includes such items as titles 421C, top menu 421B, and first play 421A. Each of the items 421A, 421B and 421C defines a “title” recorded on the BD-ROM disc 101. More specifically, each of the items 421A, 421B and 421C specifies the ID of a movie object 42B1 or 42B2 or the file name of a BD-J object file 2047A that includes BD-J objects 471, 472 or 47n. During playback of the BD-ROM disc 101, each time a title or menu is called by a user operation or an application program, the control unit of the playback device 102 references a corresponding item of the index table 421 and calls one of the objects 42B1, 42B2, 471, 472 and 47n specified by the item. Furthermore, the control unit executes a program according to the object called. In this manner, the playback device 102 implements various functions including playback of an AV content from the BD-ROM disc 101.
The first play 421A is set by the content provider, and the first item referenced by the control unit when the BD-ROM disc 101 is inserted into the playback device 102. Accordingly, the first play 421A specifies a movie object or BD-J object #1 471 corresponding to a program to be automatically executed upon the insertion of the BD-ROM disc 101. The top menu 421B is referenced by the control unit, for example, when a user operates the remote control 104 to enter the command “go back to menu” into the playback device 102. Accordingly, the top menu 421B specifies a movie object #2 42B2 or BD-J object to be called in response to the command. Each title 421C is referenced by the control unit, for example, when the user operates the remote control 104 to enter the title name of an AV content to be played back into the playback device 102. Accordingly, each title 421C specifies a movie object #1 42B1 or BD-J object 472 or 47n to be used to implement the function of playing back a specific AV content from the BD-ROM disc 101.
The movie objects 42B1 and 42B2 and the BD-J objects 471, 472 and 47n may be so described that the control unit of the playback device 102 calls a service object 42C1 or 42C2. The control unit then executes the service object 42C1 or 42C2, thus replacing an advertisement playitem embedded in an AV content to be played back according to the movie object 42B1 or 42B2 or BD-J object 471 or 472, with a new advertisement playitem included in an update kit.
The content ID 422 is recorded in an area in the index file 2042A; the area is freely usable by the provider of the AV content recorded on the BD-ROM disc 101, such as a movie company. The content ID 422 is an identifier for the AV content.
<Movie Object File (MovieObject.bdmv) 2042B>
As shown in
<Service Object File (ServiceObject.bdso) 2042C>
Each of the AV clip files 2045A and 2045B is also referred to as a clip AV stream and is obtained by multiplexing a plurality of elementary streams.
The AV clip files 2045A and 2045B each adopt the MPEG-2 transport stream (TS) format for multiplexing a plurality of elementary streams. That is, in each of the AV clip files 2045A and 2045B, the streams 45V1-45V3, 45A1, 45A2, 45P1, 45P2, 45I, 45A3 and 45T are each divided into a plurality of TS packets. Each TS packet is assigned with a packet ID (PID) which differs for each elementary stream, so that the elementary stream to which each TS packet belongs is identified with the PID of the TS packet. In the example shown in
Similarly, in each PES packet converted from an audio stream, the PES payload stores a piece of LPCM (Linear Pulse Code Modulation) audio data compressed in a predetermine coding format and the PES header stores PTS of the piece of audio data. The coding format of audio streams that may be employed is any of AC-3, Dolby Digital Plus (where “Dolby Digital” is a registered trademark), DTS (Digital Theater System which is a registered trademark), and DTS-HD LBR. In each PES packet converted from the PG stream or IG stream, the PES payload stores a piece of graphics data compressed in a predetermined coding format and the PES header stores PTS and DTS of the piece of graphics data. In each PES packet converted from a text subtitle stream, a text character sequence is stored in the PES payload.
The types of TS packets contained in an AV clip file include TS packets 603, 606, 609 and 612 obtained from the respective elementary streams 601, 604, 607 and 610 shown in
Regarding the elementary streams other than the video stream, the mark table information 442 similarly includes pieces of clip mark information each associates an M_ID with a pair of PTS and SPN of a specific portion of data. Therefore, by referencing to the pieces of clip mark information, the playback device 102 specifies a source packet in the AV clip file corresponding an arbitrary PTS in each elementary stream.
The playlist information 430 defines playback paths of the AV clip file 2045A and 2045B, by specifying portions of the AV clip files 2045A and 2045B to be played back, with the playback times at which the portions are to be played back. Specifically, the playlist information 430 includes one or more pieces playitem information 43M1, 43M2 and 43M3. Each piece of playitem information 43M1, 43M2 and 43M3 defines portions of the AV clip file 2045A containing the primary video stream that are to be continuously played back, with the playback sections, i.e., pairs each composed of the playback start time and playback end time of each section. The pieces of playitem information 43M1, 43M2 and 43M3 are serially numbered. The serial numbers thus indicate the order of the portions of the AV clip file 2045A defined by the respective pieces of playitem information 43M1, 43M2 and 43M3. The serial numbers are also used as indentifies, i.e., as the playitem IDs, of the respective pieces of playitem information 43M1, 43M2 and 43M.
Note that the playlist information 430 may further include one or more sub-paths 4351, 4352 and 43S3, as shown in
As shown in
Similarly to the playitem information 1400 shown in
In the playback process according to the main path MP, the playback device 102 references playitem information #1 43M1, playitem information #2 43M2 and playitem information #3 43M3 in the order of their playitem IDs, among pieces of information included in the playlist information 430. For example, when the playitem information #1 43M1 is referenced, the mark table information 442 of the clip information file 2044A (see
Suppose that one of the stream entries registered in the stream selection table included in the playitem information #1 43M1 has the stream path information indicating the “sub-path ID=0” and the stream identification information indicating the PID of the PG stream. In this case, the sub-playitem information #1 43SC1 is referenced among the pieces of sub-playitem information included in the first sub-path 4351. Here, the sub-playitem information #1 43SC1 indicates the playback start time IN2 and the playback end time OUT2 both of which are within the playback section PI1 indicated by the playitem information #1. Next, in a similar manner to specify the portion CL1 of the AV clip file 2045A for the playback section PI1 indicated by the playitem information #1 43M1, a portion CL2 of the AV clip file 2045A to be played back for the playback section SPI1 indicated by the sub-playitem information #1 43SC1 is specified. As a result, in the playback section SPI1 of the first sub-path, the PG stream is played back from the portion CL2 of the AV clip file 2045A, synchronously with the playback section PH of the main path. Similarly, suppose that another one of the stream entries registered in the stream selection table included in the playitem information #1 43M1 has the stream path information indicating the “sub-path ID=1” and the stream identification information indicating the text subtitle stream. In this case, a portion CL3 of the AV clip file 2045B to be played back is specified by one of the pieces of sub-playitem information included in the second sub-path 43S2. As a result, in the playback section SPI2 of the second sub-path, the portion CL3 of the text subtitle stream is played back, synchronously with the playback section PI1 of the main path.
As described above, the playlist information, clip information file, and AV clip file are used in combination to play back a series of AV contents. A “playlist” means the combination of such files. A “playitem” means a portion of a playlist that is combined with a single piece of playitem information.
The JAR file 2046A stores a BD-J application program that is to be executed in accordance with the BD-J object 471 or 472 shown in
The network interface 102D connects the external network 105 and the bus 102F to enable communications therebetween. Via the network interface 102D, the system LSI 1000 can communicate with the server device 106 located on the network 105.
The operation unit 102E receives and interprets a command transmitted from the remote control 104 by radio, such as infrared communications, and passes the result of interpretation to the system LSI 1000. Additionally, the operation unit 102E detects a push of a button disposed on the front panel of the playback device 102 and notifies the detected result to the system LSI 1000.
The BD-ROM drive 102A directs laser light to the BD-ROM disc 101 inserted therein, to read data recoded on the BD-ROM disc 101 based on changes in the reflected light. Specifically, the BD-ROM drive 102A reads, based on a logical address specified by the system LSI 1000, application data 203B from the volume area 202 of the BD-ROM disc 101 shown in
The local storage 1021 is a mass storage device that is readable and writable and implemented by using HDD and a memory card such an SD card. In
According to the commands give from the system LSI 1000, the local storage 1021 downloads an update kit for the BD-ROM disc 101, from the server device 106 located on the network 105 via the network interface 102D and stores the update kit into the HDD 102C or memory card 107. Alternatively, the memory card 107 storing an update kit may be inserted into the card reader 102B.
The system LSI 1000 executes built-in firmware or an application program read from the BD-ROM disc 101 and controls the other components 102A-102F of the playback device 102 according to the firmware or application program executed. In particular, the system LSI 1000 creates a virtual package from the files on the BD-ROM disc 101 and the update kit included in the local storage 1021 and plays back a series of AV contents according to a playlist, although some of the AV contents are included in the BD-ROM disc 101 and some in the update kit. Note that a virtual package refers to a virtual BD-ROM disc that the system LSI 1000 creates in the internal memory and is a file system that allows an application program to access files on the BD-ROM disc 101 and files in the update kit in a manner that all the files are on the same BD-ROM. Thus, an application program can access files recorded on the BD-ROM disc 101 and differential data included in the local storage 1021 with paths on the virtual package instead of actual paths. Note that details of the system LSI 1000 including the function of creating a virtual package will be described later.
The video output unit 102G converts the video data VD reproduced by the system LSI 1000 into a video signal VS in a format suitable for the display 103 and outputs the resulting signal to the display 103. Note that the video output unit 102G may be integrated within the system LSI 1000.
The audio output unit 102H converts the audio data AD reproduced by the system LSI 1000 into an audio signal AS in a format suitable for the external speaker 103A and outputs the resulting signal to the speaker 103A. Note that the audio output unit 102H may be integrated within the system LSI 1000. The speaker 103A is built into the display 103. Alternatively, the speaker 103A may be externally connected to the display 103.
As shown in
The signature information file (MERGE.SF) 2054B includes an electronic signature of the provider of the AV content to be updated. An electronic signature is a hash value that is generated from information to be protected against tampering and then encrypted with a predetermined secrete key. The electronic signature included in the signature information file 2054B is a hash value that is generated from the merge management information file 2054A and then encrypted with a predetermined secrete key. The secrete key is paired with a public key included in the merge certificate 2048A shown in
The additional content files 2054C-2054G are files to be added to or substituted for files representing original playlists stored on the BD-ROM disc 101. In
Like the playlist file 2043A shown in
The additional clip information files (VVV.CLP and SSS.CLP) 2054D and 2054E are in one-to-one correspondence with the additional AV clip files (VVV.M2T and SSS.M2T) 2054F and 2054G. One of the additional clip information files (VVV.CLP) 2054D is management information relating to the additional AV clip file (VVV.M2T) 2054F and downloaded together with the additional AV clip file (VVV.M2T) 2054F. The other of the additional clip information files (SSS.CLP) 2054E is management information relating to the AV clip file (SSS.M2T) 2054G having the network attribute and thus downloaded prior to the additional AV clip file (SSS.M2T) 2054G. The additional AV clip file (SSS.M2T) 2054G is downloaded from the network 105 on the server device 106 into the local storage 1021 or the system LSI 1000 at or before the time when actually processed by the system LSI 1000. The elementary streams representing video images, sounds or subtitles of the new advertisement may be stored in any of the additional AV clip files (VVV.M2T and SSS.M2T) 2054F and 2054G. Furthermore, the additional content files may include a plurality of pairs of a clip information file and an AV clip file for new advertisements; one of the pairs is used for playback of the main path and another of the pairs is for playback of a sub-path.
The playitem information of a new advertisement is different from the playitem information of the advertisement originally recorded on the BD-ROM disc 101 in the following respects. First, in the playitem information 1400 shown in
The bus interface 1001 connects the respective functional units 1010 and 1030 of the system LSI 1000 to the supplying unit 1020 and the operation unit 102E shown in
The first read buffer 1011 and the second read buffer 1012 are internal buffer memory of the system LSI 1000. The read buffers 1011 and 1012 are used to temporally hold the AV clip files MCL and SCL read by the bus interface 1001. Here, the bus interface 1001 selects the destination of output according to the instructions given from the virtual file control unit 1032, so that the AV clip file MCL of the main path is held in the first read buffer 1011 and the AV clip file SCL of a sub-path is held in the second read buffer 1012.
The system target decoder 1013 reads the AV clip files MCL and SCL in parallel from the respective read buffer 1011 and 1012 in the units of source packets. The system target decoder 1013 separates the read source packets into elementary streams each having a PID specified by the playback control unit 1033. Furthermore, the system target decoder 1013 decodes the elementary streams separately for their types i.e., for PIDs to reproduce the video data VD and audio data AD from the decoded data. The system target decoder 1013 also receives graphics data GD for GUI, such as a menu screen, from the playback control unit 1033 and decodes the received graphics data to composite with the video data VD. The structure of the system target decoder 1013 will be described later in more detail.
The user event processing unit 1031 receives a notification INT from the operation unit 102E and decodes the notification INT into a command to interpret the user operation indicated by the command. Furthermore, the user event processing unit 1031 sends to the playback control unit 1033 a request UO for the process corresponding to the user operation. In an example in which the notification INT received from the operation unit 102E indicates insertion of the BD-ROM disc 101 to the BD-ROM drive 102A, the user event processing unit 1031 requests the playback control unit 1033 to read an index file from the BD-ROM disc 101. In another example in which the notification INT received from the operation unit 102E indicates a push of a fast-forwarding/rewinding button on the remote control 104, the user event processing unit 1031 requests the playback control unit 1033 to execute the process of fast-forwarding/rewinding of the playlist currently being played back.
The virtual file control unit 1032 controls file access to the BD-ROM disc 101. In particular, in the case where the update kit 205 is stored on the local storage 1021, the virtual file control unit 1032 creates a virtual package in the internal memory, with the use of the differential data and the merge management information on the local storage 1021 shown in
After creating the virtual package, the virtual file control unit 1032 reads an index file IF from the virtual package and passes the read index file IF to the playback control unit 1033. Then, the virtual file control unit 1032 controls access to the files of the virtual package according to the instruction COM received from the playback control unit 1033 and the request UO received from the user event processing unit 1031. For example, the virtual file control unit 1032 reads, from the virtual package, scenario information to be played back, which means the pieces of current scenario information DS and SS, and passes the read information to the playback control unit 1033. Regarding scenario information, there is dynamic scenario information DS and static scenario information SS. The dynamic scenario information DS includes a movie object file, a BD-J object file, a service object file and a JAR file. The static scenario information SS includes a playlist file and a clip information file referenced by the playlist file. Furthermore, the virtual file control unit 1032 controls the bus interface 1001, so that the AV clip file MCL to be played back in the main path is transferred from the virtual package to the first read buffer 1011 and that the AV clip file SCL to be played back in a sub-path is transferred from the virtual package to the second read buffer 1012.
The playback control unit 1033 executes the firmware of the system LSI 1000 to provide a run-time environment for an application program and reads and executes an application program from the dynamic scenario information DS in that environment. As a result, the playback control unit 1033 controls the respective components of the playback device 102 according to the application program. The structure of the playback control unit 1033 will be described later in detail.
Specifically, the playback control unit 1033 functions in the following manner. First, the playback control unit 1033 selects a title from the index table contained in the index file, according to a request UO received from the user event processing unit 1031 and then issues a command COM to the virtual file control unit 1032 so as to request for files related to the selected title. The files to be requested include a movie object or BD-J object specified by the title and a service object or BD-J application program to be called according to the specified object. The virtual file control unit 1032 reads the files from the virtual package and passes the files to the playback control unit 1033 as the current dynamic scenario information DS. Next, the playback control unit 1033 issues to the virtual file control unit 1032 a command COM according to the dynamic scenario information DS so as to specify one playlist for playback. At this point, the virtual file control unit 1032 reads, from the virtual package, playlist information relating to the specified playlist and the clip information file referenced by the playlist information and passes the read information and file to the playback control unit 1033 as the current static scenario information SS. Furthermore, the playback control unit 1033 issues to the virtual file control unit 1032 a command COM according to the static scenario information SS so as to specify one playitem for playback. At this point, the virtual file control unit 1032 causes the bus interface 1001 to read portions of the AV clip file included in the specified playitem and to send portions MCL to be played back in the main path to the first read buffer 1011 and portions SCL to be played back in the sub-path to the second read buffer 1012.
In
The static scenario memory 31 and the dynamic scenario memory 32 are each internal memory of the playback control unit 1033. The static scenario memory 31 receives to store current static scenario information SS (i.e., the playlist file and clip information file of the current playback target) from the virtual file control unit 1032. The static scenario information SS is referenced by the playback control engine 38. The dynamic scenario memory 32 receives to store the current dynamic scenario information DS (i.e., the movie object file, BD-J object file, service object file or JAR file relating to the program being the current execution target) from the virtual file control unit 1032. These files are processed by the DVD-like module 35 or Java module 36.
The module manager 33 receives to hold the index file IF from the virtual file control unit 1032. Furthermore, the module manager 33 manages the operation mode of the playback device 102 based on the index file IF. More specifically, the module manager 33 assigns execution of the dynamic scenario information DS held in the dynamic scenario memory 32 to either of the DVD-like module 35 and the Java module 36 each time one item, which is a title, is selected from the index table stored in the index file IF. In the case where the dynamic scenario information DS is a movie object file, the module manager 33 assigns the dynamic scenario information DS to the DVD-like module 35. The operation mode at this point is called a movie mode. On the other hand, in the case where the dynamic scenario information DS is a BD-J object or service object, the module manager 33 assigns the dynamic scenario information DS to the Java module 36. The operation mode at this point is called a Java mode. Furthermore, in the case where a request UO for operation mode switching is received from the user event processing unit 1031 or the operation mode switching is requested by the module 35 or 36, the module manager 33 switches between the modules 35 and 36 to which the dynamic scenario information DS is assigned.
The module manager 33 includes a dispatcher 34. The dispatcher 34 receives request UOs from the user event processing unit 1031 and selects a request UO conforming to the current operation mode and passes the selected request UO to one of the modules 35 and 36 to which the dynamic scenario information DS is assigned. For example, when the request UO indicates fast-forward playback or rewind playback, the dispatcher 34 passes the request UO to the DVD-like module 35 in the movie mode and to the Java module 36 in the Java mode. Furthermore, when a request UO requesting to read an index file from the BD-ROM disc 101 is received from the user event processing unit 1031 upon loading of the BD-ROM disc 101 into the BD-ROM drive 102A, the dispatcher 34 issues a command COM to instruct the virtual file control unit 1032 to read the index file IF via the playback control engine 37.
The DVD-like module 35 is a virtual DVD player and operates to read, in the movie mode, a movie object from the dynamic scenario information DS held in the dynamic scenario memory 32 and sequentially executes navigation commands described in the movie object. In this manner, the DVD-like module 35 instructs the playback control engine 37 to play back the playlist specified by the movie object.
The Java module 36 is a Java platform and compliant with J2ME (Java2Micro_Edition), PBP (Personal Basis Profile) 1.0 and GEM 1.0.2. The Java module 36 includes a Java virtual machine 36A and a Java library 36B. The Java virtual machine 36A operates in the Java mode to read the BD-J object or service object from the dynamic scenario information DS held in the dynamic scenario memory 32. Furthermore, the Java virtual machine 36A converts the Java object into native doe of the control unit 1030 and passes the native code to the playback control engine 37. In this manner, the Java virtual machine 36A instructs the playback control engine 37 to play back a playlist specified by the BD-J object or service object. Furthermore, the Java virtual machine 36 operates to download an update kit to the local storage 1021 from the server device 106 located on the network 105 or from an external storage device such as the memory card 107. The Java library 36B includes a standard Java library for displaying screen images using raster data, such as JFIF (JPEG), PNG and other formats. On the other hand, a Java application program specified by a BD-J object or service object includes the HAVi framework compliant with GEM 1.0.2, Consequently, the Java module 36 is enabled to implement the GUI framework with the use of the remote control navigation mechanism compliant with GEM 1.0.2, by executing such a Java application program. Specifically, the Java module 36 generates graphics data GD to be used in the GUI and passes the graphics data GD to the system target decoder 1010. Note that the graphics data GD is generated as raster data in the format such as JPEG and PNG.
The playback control engine 37 issues a command COM to the virtual file control unit 1032 according to instructions given from the respective modules 35 and 36, thereby to instruct an AV playback process or a playlist playback process. Furthermore, the playback control engine 37 includes a player register 38 and provides to the modules 35 and 36 the functionality of setting/monitoring the operation state of the playback device 102 using the player register 38.
AV playback is an essential process of a playback device and follows the playback processes of DVD and CD players. More specifically, the AV playback processes include playback start (Play), playback stop (Stop), pause during playback (Pause On), release pause to restart playback (Pause Off), release the still function (Still Off), fast forward at a specified speed (Forward Play (speed)) and rewind at a specified speed (Backward Play (speed)), audio switching (Audio Change), subtitle switching (Subtitle Change) and angle switching (Angle Change). When a request UO received from the dispatcher 34 instructs an AV playback process, each of the modules 35 and 36 requests the playback control engine 37 to execute the playback process. In response to the request, the playback control engine 37 issues a command COM indicating the process to the virtual file control unit 1032.
To execute the process of playing back a playlist, the playback control engine 37 follows the instructions given from the respective modules 35 and 36 to instruct the virtual file control unit 1032 to create a virtual package, transfer the current scenario information DS and SS to the respective scenario memories 31 and 32, and execute playback of the playlist specified by the current static scenario information SS.
When either of the respective modules 35 and 36 calls a service object according to the current dynamic scenario information DS, the Java module 36 issues instructions to the playback control engine 37 according to the service object. According to the instructions, the playback control engine 37 instructs the virtual file control unit 1032 to execute the following processes: (1) the process of detecting playitem information about an advertisement from the current static scenario information SS; and (2) the process of creating a virtual package from the update kit and replacing the current playlist with a playlist contained in the virtual package.
The player register 38 includes 32 system parameter registers (SPRs) and 32 general purpose registers (GPRs). The value held in each SPR is used as a variable SPRM by the modules 35 and 36. Similarly, the value stored in each GPR is used as a variable GPRM by the modules 35 and 36. In particular, the SPRs hold the parameters representing the current settings, available settings, and initial settings of the playback device 102. The parameters representing the current settings include the stream selection numbers of the audio, PG and text subtitle streams to be decoded and also include the identifies of the playlist and playitem to be played back. The parameters representing available settings include the numbers associated with selectable languages of the audio/subtitles and the numbers associated with the selectable coding methods of audio data. By referencing to the player register 38 according to the instructions given by the modules 35 and 36, the playback control engine 37 detects elementary streams that can be played back by both the playback device 102 and the display 103, from among the elementary streams registered in the stream selection table of each piece of playitem information. Furthermore, the playback control engine 37 selects an elementary stream having the smallest stream selection number from the selected elementary streams and sets the stream selection number in a corresponding one of the SPRs. In addition, the playback control engine 37 sets the PID described in the stream identification information of the selected elementary stream to the system target decoder 1013 as the PID indicating the elementary stream to be decoded. The SPRs and GPRs are managed by the playback control engine 37 independently of the modules 35 and 36. Accordingly, the modules 35 and 36 are enabled to promptly find out the operation state of the playback device 102 from SPRM and GPRM even immediately after an operation mode switching.
The 27 MHz clock 131 generates a clock signal CLK at a fixed frequency of 27 MHz. The ATC counters 132A and 132B each count the pulses of the clock signal CLK. The first ATC counter 132A initializes the count ATC1 in response to an initialization signal INT1 received from the first source depacketizer 133A. Similarly, the second ATC counter 132B initializes the count ATC2 in response to an initialization signal INT2 received from the second source depacketizer 133B.
The first source depacketizer 133A reads the AV clip file MCL in units of source packets from the first read buffer 1011 and extracts the TS packet TS1 from each source packet to send the TS packets TS1 to the first PID filter 134A. At this time, the first source depacketizer 133A adjusts the time for transferring the first TS packet TS1 in accordance with the ATS described in the header 651H of the source packet (see
The first PID filter 134A receives the TS packets TS1 from the first source depacketizer 133A and reads the PID from the TS header 650H (see
Furthermore, the first PID filter 134A detects the PCR from the TS packets TS1 received from the first source depacketizer 133A using the PID of each TS packet TS1. At this point, the first PID filter 134A sets the first STC (STC1) 135A to the predetermined value. Similarly, the second PID filter 134A detects the PCR from the TS packets TS2 received from the second source depacketizer 133B and sets the second STC (STC2) 135B to the predetermined value. Note that the values to which the STC 135A and STC 135B are set are instructed to the PID filters 134A and 134B from the playback control unit 1033 in advance. With the use of STC 1135A and STC 2135B, each of the decoders 137A-137G adjusts the timing for processing the TS packets TS1 and TS2 received from the respective PID filters 134A and 134B to synchronize with PTS and DTS indicated by data contained in the TS packets TS1 and TS2.
As described above, the first source depacketizer 133A and the first PID filter 134A process the AV clip file MCL of the main path transferred from the first read buffer 1011. In parallel with processing of the AV clip file MCL, the second source depacketizer 133B and the second PID filter 134B process the AV clip file SCL, which is of a sub-path, transferred from the second read buffer 1012. Each of the switches 136A-136F operate to alternately pass the TS packets TS1 and TS2 transferred from the PID filters 134A and 134B to the respective one of the six decodes 137A-137F, except for the text subtitle decoder 137G. The system target decoder 1013 adjusts the timing for switching by the respective switches 136A-136F, with the use of STC 1135A and STC 2135B. As a result, in the case where the AV clip file SCL of a synchronous type sub-path, the system target decoder 1013 controls the decoders 137A-137G to process the AV clip files MCL and SCL synchronously. On the other hand, in the case where the AV clip file SCL is of an asynchronous type sub-path, the system target decoder 1013 controls the decoders 137A-137G to process the AV clip files MCL and SCL asynchronously. Note that the sub-path type of the AV clip file SCL is instructed from the virtual file control unit 1032 to the system target decoder 1013 in advance.
The primary video decoder 137A receives the TS packets TS1 and TS2 of the primary video stream from the PID filters 134A and 134B and holds the received TS packets in the internal buffer. In parallel with storing the received TS packets, the primary video decoder 137A reads TS packets from the internal buffer, removes the TS header and PES header 602H (see
The secondary video decoder 137B includes a similar mechanism to the primary video decoder 137A. With the use of the mechanism, the secondary video decoder 137B receives TS packets TS1 and TS2 of the secondary video stream from the PID filters 134A and 134B and extract coded pictures from the TS packets. Furthermore, the secondary video decoder 137B decodes each coded picture at the timing indicated by DTS described in a corresponding TS packet and writes the decoded and thus uncompressed picture to the secondary video plane 139B at the timing indicated by PTS described in the TS packet.
The PG decoder 137C receives TS packets TS1 and TS2 of the PG stream from the PID filters 134A and 134B and extracts pieces of coded graphics data from the TS packets. Furthermore, the PG decoder 137C decodes coded graphics data at the timing indicated by DTS described in a corresponding TS packet and writes the decoded and thus uncompressed graphics data to the PG plane 139C at the timing indicated by PTS described in the TS packet.
The IG decoder 137D receives TS packets TS1 and TS2 of the IG stream from the ND filters 134A and 134B and extracts pieces of coded graphics data from the TS packets. Furthermore, the IG decoder 137D decodes each piece of coded graphics data at the timing indicated by DTS described in a corresponding TS packet and writes the decoded and thus uncompressed graphics data to the IG plane 139D at the timing indicated by PTS described in the TS packet.
The primary audio decoder 137E receives the TS packets TS1 and TS2 of the primary audio stream from the PID filters 134A and 134B and holds the received TS packets in the internal buffer. In parallel with storing the received TS packets, the primary audio decoder 137E reads TS packets from the internal buffer, removes the TS header and PES header from each read TS packet to leave the PES payload, and extracts coded LPCM audio data from the PES payload. Furthermore, the primary audio decoder 137E decodes the coded audio data and outputs the coded and thus uncompressed audio data to the mixer 141 at the timing indicated by PTS described in a corresponding TS packet. Note that the primary audio decoder 137E checks the attribute of the primary audio stream targeted for the decoding, to interpret the coding format in advance and switches the decoding process depending according to the coding format.
The secondary audio decoder 137F includes a similar mechanism to the primary audio decoder 137E. With the use of the mechanism, the secondary audio decoder 137F receives TS packets TS1 and TS2 of the secondary audio stream from the PID filters 134A and 134B, decodes the coded LPCM audio data contained in each TS packet into uncompressed audio data, and outputs the decoded and thus uncompressed audio data to the mixer 141 at the timing indicated by PTS described in a corresponding TS packet.
The text subtitle decoder 137G receives TS packets TS2 of the text subtitle stream from the second PID filter 134B, extracts the coded text character sequence from the received TS packets, and decode the extracted text character sequence. Furthermore, the text subtitle decoder 137G generates raster data of fonts representing the decoded text character sequence, with the use of built-in font data, and writes the raster data into the PG plane 139C at the timing indicated by the PTS described in a corresponding TS packet.
The BD-J processor 138 receives the graphics data GD from the Java module 36 of the playback control unit 1033 and decodes the received graphics data GD. Furthermore, the BD-J processor 138 writes decoded uncompressed graphics data into the BD-J plane 139E at the timing indicated by the PTS that is specified by the Java module 36 according to the BD-J application program.
The primary video plane 139A is an area reserved in the internal memory of the system target decoder 1013 and has a size equal to one video plane. In the primary video plane 139A, one video plane representing a primary video of a movie is formed from uncompressed picture data written by the primary video decoder 137A.
The secondary video plane 139B is an area reserved in the internal memory of the system target decoder 1013 and has a size equal to one video plane. In the secondary video plane 139B, one video plane representing a secondary video to be presented with the main video is formed from uncompressed picture data written by the secondary video decoder 137B.
The PG plane 139C is an area reserved in the internal memory of the system target decoder 1013 and has a size equal to one video plane. In the PG plane 139C, one video plane representing graphics to be presented with the main video is formed from uncompressed graphics data written by the PG decoder 137C. In the PG plane 139C, in addition, one video plane representing subtitles to be presented with the primary video is formed from raster data written by the text subtitle decoder 137G.
The IG plane 139D is an area reserved in the internal memory of the system target decoder 1013 and has a size equal to one video plane. In the IG plane 139D, one video plane representing graphics to be presented with the main video is formed from uncompressed graphics data written by the IG decoder 137D.
The BD-J plane 139E is an area reserved in the internal memory of the system target decoder 1013 and has a size equal to one video plane. In the BD-J plane 139E, one video plane representing graphics to be presented with the main video is formed from uncompressed graphics data written by the BD-J processor 138.
The adder 140 overlays the video planes formed on the respective planes 139A-139E into one video plane to output as the video data VD.
The mixer 141 mixes uncompressed audio data output from the primary audio decoder 137E and uncompressed audio data output from the secondary audio decoder 137F into one piece of audio data AD. The audio data AD represents audio produced by superimposing the pieces of audio data from both the decoders 137E and 137F.
Step S1: When the playback device 102 is switched on, the system LSI 1000 starts initialization of the functional units 1001, 1010 and 1030 (see
Step S2: The operation unit 102E detects insertion of the BD-ROM disc 101 into the BD-ROM drive 102A, and then sends a notification INT indicating the insertion to the user event processing unit 1031 (see
Furthermore, the Java module 36 issues a command COM to the virtual file control unit 1032 so as to request the current playlist file and service object file according to the BD-J object specified in the first play. In response to the command COM, the virtual file control unit 1032 reads the playlist file and service object file from the BD-ROM disc 101, and then passes the playlist file to the playback control unit 1033 as current static scenario information SS and adds the service object file to the current dynamic scenario information DS. The Java module 36 reads a service object from the dynamic scenario information DS, and then executes BD-J application programs according to the service object. As a result, the process of replacing an advertisement playitem included in a current playlist is performed in the order of Steps S3 and S4 described below.
Step S3: The Java module 36 causes the playback control engine 37 to read the playlist mark information 431 (See
Step S4: The Java module 36 replaces the current playlist with a new playlist. The new playlist is different from the current playlist in that a new advertisement playitem is substituted for the original advertisement playitem. Details of Step S4 will be described later.
Step S5: The Java module 36 returns to the process according to the BD-J object specified in the first play, from the process according to the service object. Then, the Java module 36 instructs the playback control engine 37 to play back the current playlist. In response to the instruction, the playback control engine 37 reads playlist information from the current static scenario information SS, and according to the playlist information, causes the virtual file control unit 1032 to transfer AV clip files to be played back from the BD-ROM disc 101, the local storage 1021 or the server device 106 to the playback unit 1010. The playback unit 1010 decodes the AV clip files into elementary streams to reproduce video data VD and audio data AD. Furthermore, the video output unit 102G converts the video data VD into a video signal VS and then provides the video signal VS to the display 103, whereas the audio output unit 102H converts the audio data AD into an audio signal AS and provides the audio signal AS to the speaker 103A. In this manner, the current playlist is played back.
Step S41: The Java module 36 first reads the content ID 422 from the index file IN (see
Step S42: The server device 106 manages update kits for various AV contents in association with the content IDs of the AV contents. An update kit includes one or more new advertisement playitems to be substituted for one or more original advertisement playitems. Specifically, the update kit includes a new playlist file, a new clip information file, a new AV clip file and a merge management information file. The new playlist file differs from the original playlist file recorded on the BD-ROM in that playitem information for new advertisements is substituted for the original playitem information. The new clip information file is management information relating to the new AV clip file, and the new AV clip file includes contents of the new advertisements. The merge management information file specifies the paths of the original playlist files as virtual file paths associated with local storage paths of the new playlist files.
After transmitting the content ID, the Java module 36 waits for a response from the server device 106. When receiving the response, the Java module 36 determines from the response whether the server device 106 has an update kit for the BD-ROM disc 101. If the response indicates the advertisement ID, the Java module 36 determines that the server device 106 has an update kit for the BD-ROM disc 101, and thus moves the process to Step S43. On the other hand, if the response indicates that any advertisement ID associated with the content ID is not retrieved, the Java module 36 determines that the server device 106 does not have an update kit for the BD-ROM disc 101, and thus terminates the process of replacing an advertisement playitem.
Step S43: The Java module 36 transmits the advertisement ID received from the server device 106 to the server device 106. When receiving the advertisement ID, the server device 106 provides the playback device 102 with the update kit 205 (see
Step S44: When the download of the update kit is completed, the Java module 36 provides the virtual file control unit 1032 with a command COM to create a virtual package. In response to the command COM, the virtual file control unit 1032 first acquires the Org ID and Disc ID from the BD-ROM disc 101, and then detects the Org ID directory 2053 and the Disc ID directory 2054 with the directory names representing the IDs from the local storage 1021 (see
Step S45: The Java module 36 again issues a command COM to request a current playlist file from the virtual file control unit 1032. In response to the command COM, the virtual file control unit 1032 reads and passes the playlist file from the virtual package to the playback control unit 1033 as the current static scenario information SS. Then, the process of replacing an advertisement playitem is completed.
When the virtual package 206 is created in Step S4, a playlist is played back from the virtual package 206 during the playlist playback of Step S5. In that case, an access to the playlist file 2063A contained in the virtual package 206 leads an access to the additional playlist file 2054C, instead of an access to the playlist file 2043A recorded on the BD-ROM disc 101. That is, the playlist file 2043A recorded on the BD-ROM disc 101 is replaced with the additional playlist file 2054C. In contrast to the playlist file 2043A on the BD-ROM disc 101, the additional playlist file 2054C includes playitem information about a new advertisement instead of the playitem information about the original advertisement. Consequently, during the playback section specified by the playitem information, the additional AV clip files 2054F and 2054G are played back, instead of the AV clip files 2045A and 2045B recorded on the BD-ROM disc 101.
As set forth above, the playback device 102 according to Embodiment 1 of the present invention can play back a desired new advertisement playitem during the playback section of an advertisement playitem embedded in the playlist recorded on the BD-ROM disc 101. By adopting an advertisement more relevant to the playlist as the new advertisement, the playback device can reduce the possibility that an advertisement of low interest to viewers is played back when the playlist is played back. As a result, the playback device can further reduce the risk that insertion of an advertisement disturbs the entertaining effect of the playlist. Furthermore, the playback device can also improve the advertising effect of the advertisement.
An optical disc playback device according to Embodiment 2 of the present invention differs from the playback device according to Embodiment 1 with respect to the features of service objects and Step S4 shown in
A service object file according to Embodiment 2 of the present invention includes an application management table (see
In the playback control unit 1033 according to Embodiment 2 of the present invention (see
Step S41: Similarly to Step S41 according to Embodiment 1 of the present invention, the Java module 36 first reads the content ID 422 (see
Step S46: The server device 106 manages pairs of a clip information file and an AV clip file that represent new advertisements (hereinafter, abbreviated as new advertisement AV clips) for various AV contents; the new advertisement AV clips are each associated with the content ID of one of the AV contents. That is, Embodiment 2 of the present invention differs from Embodiment 1 in that the advertisement IDs shown in
Note that each AV clip is attached with information to be used for rewriting the stream selection table included in playitem information (see
When receiving a content ID from the Java module 36, the server device 106 retrieves an advertisement ID associated with the content ID from the table shown in
After transmitting the content ID, the Java module 36 waits for a response from the server device 106. When receiving the response, the Java module 36 determines from the response whether the server device 106 has a new advertisement AV clip. If the response indicates the advertisement ID, the Java module 36 determines that the server device 106 has a new advertisement AV clip, and thus moves the process to Step S47. On the other hand, if the response indicates that any advertisement ID associated with the content ID cannot be retrieved, the Java module 36 determines that the server device 106 does not have any new advertisement AV clip, and thus terminates the process of replacing an advertisement playitem.
Step S47: The Java module 36 transmits the advertisement ID received from the server device 106 to the server device 106. When receiving the advertisement ID, the server device 106 transmits the new advertisement AV clip associated with the advertisement ID to the playback device 102. The Java module 36 instructs the network interface 102D (see
Step S48: The Java module 36 causes the virtual file control unit 1032 to incorporate the new advertisement AV clip into the BD-ROM disc 101 in a virtual manner. In other words, the Java module 36 causes the virtual file control unit 1032 to convert the path of the AV clip on the local storage 1021 to a path on the BD-ROM disc 101. As a result, the Java module 36 can access the new advertisement AV clip as if it were files on the BD-ROM disc 101. If the virtual package has already been created, the Java module 36 causes the virtual file control unit 1032 to incorporate the new advertisement AV clip into the existing virtual package. As a result, the Java module 36 can access the new advertisement AV clip through a path on the virtual package.
After completion of downloading the new advertisement AV clip, or in parallel with the downloading thereof, the Java module 36 repeats the loop consisting of Steps S49-S51 described below. Through the repetition, all pieces of playitem information of advertisements included in the current static scenario information SS are overwritten on the static scenario memory 21 (see
Step S49: The Java module 36 causes the playback control engine 37 to detect playitem information indicating the playback start time matching the PTS of the detected playlist mark (see
Step S50: The Java module 36 rewrites the playitem information detected in Step S49. Details of the rewriting process will be described later.
Step S51: The Java module 36 causes the playback control engine 37 to further detect a playlist mark of the mark type indicating “advertisement” from playlist mark information 431 (see
Step S501: The Java module 36 rewrites the playitem information 1400 about the original advertisement so that the file name described in the reference clip information 1401 is changed to the file name of a clip information file of a new advertisement. If two or more clip information files represent the new advertisement, the Java module 36 selects the name of a file belonging to the main path.
Step S502: The Java module 36 checks whether stream path information 1407 indicating a sub-path ID is found in the stream selection table 1405 included in the playitem information 1400 about the original advertisement. If such stream path information 1407 is found, the Java module 36 retrieves all the sub-path IDs indicated by the stream path information 1407, and then moves the process to Step S503. If such stream path information 1407 is not found, the Java module 36 moves the process to Step S504.
Step S503: The Java module 36 causes the playback control engine 37 to detect sub-paths from the current static scenario information SS; the sub-paths have the sub-path IDs retrieved in Step S502. Furthermore, the Java module 36 deletes from the sub-paths all sub-playitem information including the playitem ID of the playitem information 1400 about the original advertisement.
Step S504: The Java module 36 uses information attached to the new advertisement AV clip to overwrite the stream selection table 1405 included in the playitem information 1400 about the original advertisement with the stream selection table included in the playitem information about the new advertisement.
Step S505: The Java module 36 checks whether stream path information 1407 indicating a sub-path ID is found in the stream selection table 1405 included in the playitem information 1400 about the new advertisement. If such stream path information 1407 is found, the Java module 36 retrieves all sub-path IDs indicated in the stream path information 1407, and then moves the process to Step S506. If such stream path information 1407 is not found, the Java module 36 terminates the process of rewriting playitem information.
Step S506: The Java module 36 causes the playback control engine 37 to detect sub-paths from the current static scenario information SS; the sub-paths have the sub-path IDs retrieved in Step S502. If any sub-path having one of the sub-path IDs is not found, the Java module 36 uses information attached to the new advertisement AV clip to add a new sub-path to the playlist information included in the current static scenario information SS. If a sub-path is detected, the Java module 36 uses the information attached to the new advertisement AV clip to add sub-playitem information about the new advertisement to the sub-path. When the above-described process is completed for all the sub-path IDs retrieved in Step S502, the Java module 36 terminates the process of rewriting playitem information.
Through Steps S41-S51 described above, on the static scenario memory 21, the playitem information about the original advertisement included in the current playlist information is overwritten with the playitem information about the new advertisement. Accordingly, AV clip files representing the new advertisement are played back from the local storage 1021 during the playback sections indicated by the playitem information, instead of AV clip files recorded on the BD-ROM disc 101. Similarly to Embodiment 1, this results that the group of frames F2 representing the new advertisement is played back during the playback section P12 of the playlist NPL shown in
Steps S41-S51 may be modified to collectively replace two or more advertisement playitems included in a current playlist with one playitem representing a new advertisement.
As set forth above, the playback device according to Embodiment 2 of the present invention can play back a desired new advertisement playitem during the playback section of an advertisement playitem embedded in the playlist recorded on the BD-ROM disc 101, similarly to that according to Embodiment 1. Accordingly, the playback device according to Embodiment 2, similarly to one according to Embodiment 1, can reduce the possibility that an advertisement of low interest to viewers is played back when a playlist is played back. As a result, the playback device of Embodiment 2 can further reduce the risk that insertion of an advertisement disturbs the entertaining effect of the playlist. Furthermore, the playback device of Embodiment 2 can also improve the advertising effect of the advertisement. In addition, Embodiment 2 can reduce the amount of data to be downloaded from an external storage device such as the server device 106 in order to replace an advertisement playitem, as compared with Embodiment 1. Consequently, the playback device of Embodiment 2 can reduce the burdens on the server device 106, the network 105, and the like.
An optical disc playback device according to Embodiment 3 of the present invention differs from the playback device according to Embodiment 2 with respect to the features of service objects, the process of playing back a playlist, and the process of replacing an advertisement playitem. In particular, the differences are as follows: (1) during the process of playing back a playlist, the history of changes in playback states is recorded each time the states are changed, and (2) the process of replacing an advertisement playitem includes a step of selecting a content representing a new advertisement depending on the history of the playback states having been recorded. The other features of the playback device according to Embodiment 3 are similar to those according to Embodiment 2, such as the data structure of the BD-ROM disc to be played back, the hardware structure of the playback device, the functional units of the system LSI, and the structures of the playback control unit and the system target decoder. Accordingly, the features of Embodiment 3 different from those of Embodiment 2 will be described below. Details of the features similar to those of Embodiment 2 can be found in the description about Embodiment 1 or 2.
A service object file according to Embodiment 3 of the present invention includes an application management table (see
In the playback control unit 1033 according to Embodiment 3 of the present invention (see
Step S1: When the playback device 102 is switched on, the system LSI 1000 starts initialization of the functional units 1001, 1010 and 1030 (see
Step S2: When receiving a notification indicating that the BD-ROM disc 101 is inserted into the BD-ROM drive 102A, the playback control unit 1033 responds to the notification with causing the virtual file control unit 1032 to read the index file IF from the BD-ROM disc 101. Furthermore, the playback control unit 1033 causes the virtual file control unit 1032 to read a BD-J object file from the BD-ROM disc 101; the BD-J object file is specified in the first play of the index table contained in the index file IF. In the playback control unit 1033 then, the Java module 36 executes BD-J application programs according to the BD-J object for the first play described in the BD-J object file.
Furthermore, the Java module 36 causes the virtual file control unit 1032 to read a current playlist file and service object file from the BD-ROM disc 101, according to the BD-J object for the first play. Then, the Java module 36 executes BD-J application programs according to the service object.
Step S3: The Java module 36 causes the playback control engine 37 to detect a playlist mark of the mark type “advertisement” from current static scenario information SS. If such a playlist mark is detected, the Java module 36 determines that the current playlist includes an advertisement playitem, and then moves the process to Step S4A. If such a playlist mark is not detected, the Java module 36 determines that the current playlist does not include any advertisement playitem, and then moves the process to Step S51.
Step S4A: The Java module 36 replaces the current playlist with a new playlist. The new playlist differs from the current playlist in that a new advertisement playitem is substituted for the original advertisement playitem. Furthermore, the new advertisement playitem varies with the user preferences. Details of Step S4A will be described later.
Step S51: The Java module 36 causes the playback control engine 37 to start playback of the current playlist. The playback control engine 37 plays back the current playlist in a manner similar to that in Step S5 according to Embodiment 1.
Step S52: During the playback of the current playlist, the Java module 36 monitors the player register 38. If detecting a change in the values of the SPRs relating to the audio/subtitle settings in the player register 38, the Java module 36 moves the process to Step S53. If any change is not detected, the Java module 36 moves the process to Step S54.
Note that the audio/subtitle settings are changed in the following procedure. When the operation unit 102E accepts an operation by a user to change the audio or subtitle settings during playback of the current playlist, the operation unit 102E sends a notification INT indicating the user operation to the user event processing unit 1031 (see
Step S53: The Java module 36 reads details of the change in the audio/subtitle settings from the values of the SPRs updated by the playback control engine 37, and then records the details of the change into the playback history.
Step S54: The Java module 36 checks whether playback of the current playlist has ended or not. If the playback has ended, the Java module 36 moves the process to Step S55. If the playback has not yet ended, the Java module 36 returns the process to Step S52.
Step, S55: The Java module 36 presumes a user profile based on the playback history to determine user preferences. More specifically, the Java module 36 first calculates the total usage times of individual types of elements constituting the audio/subtitle settings recorded in the playback history. Next, the Java module 36 determines a combination of the elements of the types having the longest total usage times, as user preferences.
Step S56: The Java module 36 records user preferences into the local storage 1021; the user preferences have been determined as a result of presuming a user profile. In the example shown in
Note that each record in the playback history may be deleted therefrom after a period of a predetermined time length, e.g., three months, has elapsed since the record was entered. In addition, the records in the playback history that are used to calculate total usage times for presuming a user profile may be limited to those that were entered within a predetermined time period, for example, from three months ago to this point. These conditions may be defined by service objects.
Step S41: Similarly to Step S41 according to Embodiment 1 of the present invention, the Java module 36 first reads the content ID 422 (see
Step S46A: The server device 106 stores two or more AV clips each representing a new advertisement per variety of AV content. That is, two or more pairs of a clip information file and an AV clip file are stored per AV content. Each AV clip is individually assigned with an advertisement ID. Similarly to Embodiment 2, each AV clip is attached with information used for rewriting the stream selection table included in the playitem information or with information indicating that the corresponding AV clip file has a network attribute. Furthermore, in the case where one AV clip includes a plurality of pairs of a clip information file and an AV clip file, the AV clip is attached with information indicating the allocation of the receptive pairs to the main path and a sub-path.
A plurality of AV clips of a variety of types belonging to one AV content are classified for different user preferences. The server device 106 manages, in an advertisement list, the correspondence between the advertisement IDs of AV clips and sets of user preferences. In general, a different advertisement list is provided for a different AV content. The server device 106 manages the advertisement lists each in association with the content ID of a corresponding AV content.
Upon receipt of a content ID from the Java module 36, the server device 106 retrieves the advertisement list associated with the received content ID and sends the advertisement list to the Java module 36 as a response to the content ID. On the other hand, if the advertisement list associated with the received content ID is not found, the server device 106 returns information indicative of the situation to the Java module 36 in response to the content ID.
After transmitting a content ID, the Java module 36 waits for a response from the server device 106. Upon receipt of the response, the Java module 36 judges whether the contents of the response is the new advertisement list. If the contents of the response is an advertisement list, the Java module 36 moves onto Step S46B. On the other hand, if the contents of the response is not an advertisement list, the Java module 36 ends the process of replacing playitem representing an advertisement.
Step S46B: The Java module 36 reads the user preferences from the local storage 1021. Furthermore, the Java module 36 searches the advertisement list received from the server device 106 for the advertisement ID associated with the read user preferences.
Steps S47-S51 are exactly the same as the corresponding steps of Embodiment 2.
Step S47: The Java module 36 transmits the advertisement ID found in Step S46B to the server device 106. Upon receipt of the advertisement ID, the server device 106 transmits the AV clip of a new advertisement associated with the received advertisement ID to the playback device 102. The Java module 36 causes the network interface 102D to receive the AV clip of the new advertisement and store the received AV clip into the local storage 1021.
Step S48: The Java module 36 causes the virtual file control unit 1032 to virtually incorporate the AV clip of the new advertisement into the BD-ROM disc 101. At this point, if the virtual package has been created already, the Java module 36 causes the virtual file control unit 1032 to incorporate the AV clip of the new advertisement into the existing virtual package.
Step S49: The Java module 36 detects playitem information indicating the playback start time matching the PTS of the detected playlist mark from the current static scenario information SS. That is, the playitem information representing an advertisement is detected in this step.
Step S50: The Java module 36 rewrites the playitem information detected in Step S49.
Step S51: The Java module 36 causes the playback control engine 37 to further detect another playlist mark having mark type indicating “advertisement” from the playlist mark information read from the current static scenario information SS in Step S3. If such a playlist mark is detected, the Java module 36 goes back to Step S49. If such a playlist mark is not detected, the Java module 36 ends the process of replacing an advertisement playitem.
Through Steps S41-S51 described above, the current playlist information is rewritten on the static scenario memory 21, so that the playitem information representing an original advertisement is replaced by playitem information representing a new advertisement. Consequently, in the playback section indicated by the playitem information, an AV clip file representing a new advertisement is played back from the local storage 1021, rather than the AV clip file recorded on the BD-ROM disc 101. As a result, similarly to Embodiment 1, instead of the group of frames F1 representing the original advertisement to be played back in the playback section PI2 for the playitem PL shown in
As shown in
(1) In Step S41, the Java module 36 of the playback device 102 transmits a content ID, for example, indicating “AAAAA,” to the server device 106.
(2) In Step S46A, the server device 106 receives the content ID “AAAAA,” and then retrieves the advertisement list ID “LST_AAAAA” associated with the content ID “AAAAA” from the correspondence table 106B. Furthermore, the server device 106 reads and sends the advertisement list 106C associated with the ID “LST_AAAAA” from the HDD 106A to the Java module 36 as a response to the content ID “AAAAA”. The Java module 36 then receives the advertisement list 106C from the server device 106.
(3) In Step S46B, the Java module 36 reads user preferences from the local storage 1021, and then retrieves the advertisement ID associated with the user preferences from the advertisement list 106C. For example, if the user preferences indicate the combination of the “Dolby lossless method” and “English” determined from the calculation results shown in
(4) In Step S47, the Java module 36 transmits the advertisement ID “CM1” retrieved in Step S46B to the server device 106. The server device 106 receives the advertisement ID “CM1” and then transmits the new advertisement AV clip CLP1 associated with the advertisement ID “CM1”, from the HDD 106A to the playback device 102. The Java module 36 causes the network interface 102D to receive and store the new advertisement AV clip CLP1 into the local storage 1021.
For example, if the user preferences indicate the combination of the “Dolby lossless method” and “English”, the advertisement ID “CM1” associated with the combination is assigned to, for example, an English advertisement for a home theater system supporting the Dolby lossless method. Such an advertisement is expected to be of high interest to users viewing the AV content with the content ID “AAAAA” by using the playback device 102. This can further reduce the risk that insertion of the advertisement disturbs the entertaining effect of the AV content. Furthermore, the advertisement can achieve a further improved advertising effect.
Similarly to Embodiment 2, the playback device according to Embodiment 3 of the present invention is enabled, as set forth above, to play back a playitem representing a new advertisement in the playback section for a playitem representing an advertisement embedded in the playlist recorded on the BD-ROM disc 101. Furthermore, the playback device according to Embodiment 3 is enabled to presume the user preferences from the playback history and to select a playitem representing a new advertisement depending on the preferences. Consequently, the undesirable possibility can be further reduced as compared with Embodiment 2, that an advertisement of low interest to the viewer is presented at the time of playlist playback. As a result, the playback device of the present embodiment achieves to further reduce the risk that insertion of an advertisement leads to loss of entertainment of the playlist. Furthermore, the playback device of the present embodiment also achieves to improve the advertising effect.
An authoring device according to Embodiment 4 of the present invention creates a disc image 204 (see
The material creation unit 301 edits the elementary stream 61 from pieces of material data VD, AD, ST and GD, such as video, audio and subtitles, according to user operations. The elementary stream 61 represents video, audio, subtitles or interactive display of a sequence of playlists and includes at least one of a video stream 61V, an audio stream 61A, a PG stream 61P, and an IG stream 611. The elementary stream 61 may additionally include a text subtitle stream. Each elementary stream 61 is stored in the storage unit 308.
In particular, the material creation unit 301 generates the video stream 61V by compressing uncompressed image data VD in the bitmap format, with the coding method such as MPEG-4 AVC or MPEG-2. In the case the editing involves picture-in-picture, the video stream 61V includes both the primary and secondary video streams. On the other hand, the material creation unit 301 generates the audio stream 61A by compressing uncompressed audio data AD in the LPCM format, with the coding method such as AC-3. In the case where the editing involves mixing of two or more different types of audio data, the audio stream 61A includes both the primary and secondary audio streams. Furthermore, the material creation unit 301 generates a subtitle information file of the image data ST representing subtitles, according to user operations. The subtitle information file defines, for example, the position and timing for displaying the image data ST on a screen and the display effects, such as fade-in/out, to be added to the image data ST. The material creation unit 301 generates the PG stream 61P by combining the subtitle information file with the image data ST. The material creation unit 301 also generates a menu file for the image data GD such as bitmap data representing a GUI menu, according to user operations. The menu file defines, for example, a change to be caused responsive to a user operation to a button presented on a menu and the display effect to be added to the menu. The material creation unit 301 generates the IG stream 611 by companioning the menu file with the image data GD.
The scenario generation unit 302 generates scenario data 62 according to the editing information of the elementary stream 61 and also to user operations and stores the scenario data 62 to the storage unit 308. The scenario data 62 includes the index file 2042A, movie object file 2042B and playlist file 2043A shown in
The editing information of each elementary stream 61 includes information about details of the editing by the material creation unit 301 and the attribute information of the elementary stream 61. For example, for the video stream 61V, the editing information includes the indication of a coding method and the correspondence relation between the primary and secondary video streams in picture-in-picture. For the audio stream 61A, the editing information includes the indication of a coding method and the correspondence relation between the primary and secondary audio streams. For the PG stream 61P, the editing information includes the subtitle information file. For the IG stream 611, the editing information includes the menu file. The editing information further includes the indication of times at which the respective portions of the elementary stream 61 are to be played in the playback time of the series of playlists. Each playback time is specified by a user operation.
At the time of generating the playlist file 2043A, the scenario generation unit 302 generates the stream selection table (see
The scenario generation unit 302 generates a parameter file PF and passes the parameter file PF to the multiplexing unit 304. The parameter file PF includes the identification information and attribute information of one or more of the elementary streams 61 to be multiplexed into the same AV clip file, out of the elementary streams 61 stored in the storage unit 308.
The BD-J creation unit 303 provides a programming environment for a BD-J application to the user. That is, the BD-J creation unit 303 receives requests relating to programming from the user via GUI and generates source codes of the BD-J application program. The BD-J creation unit 303 organizes the resulting source codes into the BD-J scenario data 63 and stores the BD-J scenario data 63 into the storage unit 308. The BD-J scenario data 63 includes the BD-J object file 2047A, service object file 2042C and JAR file 2046A shown in
The multiplexing unit 304 reads the video stream 61V, audio stream 61A, PG stream 61P and IG stream 611 from the storage unit 308 based on the parameter file PF and multiplexes the read streams into an MPEG-2TS stream to generate the AV clip file AV. At the same time, the multiplexing unit 304 generates the clip information file CL for the AV clip file AV in the following steps. First, the multiplexing unit 304 generates the mark table information 442 (see
The formatting unit 305 reads the scenario data 62 and the BD-J scenario data 63 from the storage unit 308 and receives the pair of the AV clip file AV and the clip information file CL from the multiplexing unit 304. Furthermore, the formatting unit 305 converts the data into UDF files and organizes the resulting files into the directory structure 204 shown in
Step S61: The material creation unit 301 edits one or more elementary streams 61 according to user operations.
Step S62: The scenario generation unit 302 generates the scenario data 62 according to the editing information of the elementary streams 61 and also to user operations. When generating the playlist file 2043A, the scenario generation unit 302 generates the stream selection table and playlist marks for each piece of playitem information according to user operations. In particular, the playlist marks includes a playlist mark indicating the playback start time of a playitem representing an advertisement. Furthermore, the scenario generation unit 302 passes the parameter file PF to the multiplexing unit 304.
Step S63: The BD-J creation unit 303 generates a BD-J application program according to user operations and then further generates BD-J scenario data 63.
Step S64: The multiplexing unit 304 reads the elementary streams 61 from the storage unit 308 based on the parameter file PF and multiplexes the read elementary streams 61 to generate an AV clip file AV. At the same time, the multiplexing unit 304 generates the clip information file CL for the AV clip file AV.
Step S65: The formatting unit 305 reads the scenario data 62 and the BD-J scenario data 63 from the storage unit 308 and receives the pair of the AV clip file AV and the clip information file CL from the multiplexing unit 304. Then the formatting unit 305 organizes the resulting data into the directory structure 204 shown in
The material creation unit 301 edits one or more additional elementary streams from the pieces of material data VD, AD, ST and GD, according to user operations. Each additional elementary stream represents the video, audio, subtitles or interactive display of a playitem to be added to the playlist recorded in the original disc image 204 or to replace a playitem embedded in playlist recorded in the original disc image 204. The additional elementary stream includes at least one of a video stream, audio stream, PG stream, and IG stream. The elementary stream 61 may additionally include a text subtitle stream. At least part of the additional elementary streams belongs to a playitem representing an advertisement to replace an advertisement embedded in the original disc 204. The additional elementary streams may further include a stream to be used for playback of a sub-path, in addition to a stream to be used for playback of the main path. The editing process of additional elementary streams are the same as the editing process of elementary streams 61 recorded in the original disc image 204. The additional elementary streams 61 are stored in the storage unit 308, together with the original elementary streams 61.
The scenario generation unit 302 generates additional scenario data 62A according to the editing information of the additional elementary streams and also to user operations, and stores the additional scenario data 62A to the storage unit 308. Similarly to the original scenario data 62, the additional scenario data 62A includes an index file, a movie object file and a playlist file. Note that the editing information of an additional elementary stream differs from the editing information of the elementary stream 61 in that the original advertisement is replaced by a new advertisement. Consequently, the additional scenario data 62A differs from the original scenario data 62 in the same respect.
In particular, the playlist file is equivalent to the additional playlist file 2054C shown in
The scenario generation unit 302 generates an additional parameter file MPF and passes the additional parameter file MPF to the multiplexing unit 304. The additional parameter file MPF includes the identification information and attribute information of each additional elementary stream to be multiplexed into the same AV clip file with the elementary streams 61 stored in the storage unit 308.
In accordance with user operations, the BD-J creation unit 303 generates source codes of a BD-J application program to be used after a virtual package is created. Furthermore, the BD-J creation unit 303 organizes the resulting source codes into the additional BD-J scenario data 63A and stores the additional BD-J scenario data 63A into the storage unit 308. The additional BD-J scenario data 63A includes a BD-J object file 63B, a service object file 63C and a JAR file 63D.
The multiplexing unit 304 reads the additional elementary streams from the storage unit 308 based on the additional parameter file MPF and multiplexes the additional elementary streams into an MPEG-2TS stream to generate an additional AV clip file MAV. At the same time, the multiplexing unit 304 generates an additional clip information file MCL for the additional AV clip file AV.
The difference extracting unit 306 compares the original scenario data 62 and the additional scenario data 62A stored in the storage unit 308 to extract difference DSD between the respective pieces of scenario data. The difference DSD includes, for example, a file not included in the original scenario data 62 and a file that is partially different from a file included in the scenario data 62. In particular, the difference DSD includes a file equivalent to the additional playlist file 2054C. Furthermore, the difference extracting unit 306 generates identification information DI of each file included in the difference DSD and passes the resulting identification information DI to the update kit creation unit 307.
The formatting unit 305 reads the additional BD-J scenario data 63A from the storage unit 308, receives the pair of additional AV clip file MAV and the additional clip information file MCL from the multiplexing unit 304, and receives the difference DSD of the scenario data from the difference extracting unit 306. Furthermore, the formatting unit 305 converts the data into UDF files and organizes the resulting files into the directory structure 206 shown in
The update kit creation unit 307 generates the merge management information file 2054A shown in
Step S71: The material creation unit 301 edits one or more additional elementary streams according to user operations. In particular, the additional elementary streams include an elementary stream to be incorporated into a playitem representing a new advertisement.
Step S72: The scenario generation unit 302 generates the additional scenario data 62A according to the editing information of the additional elementary stream and also to user operations. In particular, regarding the additional playlist file 2054C, the playlist information is rewritten so that the playitem information representing the original advertisement is replaced by playitem information representing a new advertisement. The scenario generation unit 302 generates an additional parameter file MPF and passes the additional parameter file MPF to the multiplexing unit 304.
Step S73: The difference extracting unit 306 compares the original scenario data 62 with the additional scenario data 62A stored in the storage unit 308 to extract difference DSD between the respective pieces of scenario data. Furthermore, the difference extracting unit 306 generates identification information DI of each file included in the difference DSD and passes the resulting identification information DI to the update kit creation unit 307.
Step S74: In accordance with user operations, the BD-J creation unit 303 generates a BD-J application program to be used after a virtual package is created and further generates additional BD-J scenario data 63A.
Step S75: The multiplexing unit 304 reads the additional elementary streams from the storage unit 308 based on the additional parameter file MPF and multiplexes the additional elementary streams to generate a pair of an additional AV clip file MAV and national clip information file MCL.
Step S76: The formatting unit 305 converts, into UDF files, the additional BD-J scenario data 63A, the pair of the additional AV clip file MAV and the additional clip information file MCL, and the difference DSD of scenario data. Furthermore, the formatting unit 305 organizes the resulting files into the directory structure 206 in the virtual package and generate the disc image 206 for the virtual package.
Step S77: The update kit creation unit 3507 generates the merge management information file 2054A, using the identification information DI received from the difference extracting unit 306. Furthermore, the update kit creation unit 307 encrypts the merge management information file 2054A to generate an electronic signature of the provider and then generates a signature information file 2054B using the electronic signature.
Step S78: The update kit creation unit 307 organizes the differential data 206A, the merge management information file 2054A, and the signature information file 2054B into the directory structure 205, with the user of the Org ID of the provider and the Disc ID of the BD-ROM disc 101. In the manner described above, the update kit 205 is generated.
(1) According to Embodiments 1-3 of the present invention, the service object file has a common structure with the BD-J object file, and the service object has a common format with the BD-J object 471 shown in
(2) According to Embodiments 1-3 of the present invention described above, a playlist mark included in a playlist file is used as information indicating the position of an advertisement playitem in the playlist. Alternatively, the information may be included in a clip information file or service object file.
(3) According to Embodiments 2 and 3 of the present invention, a new service object file may be downloaded together with a JAR file if necessary in Step S47 and the service object file is virtually incorporated into the BD-ROM disc 101 in Step S48. In that case, the new service object file may include information to be attached to the AV clip of the new advertisement, such as information used to rewrite the stream selection table included in the playitem information. Such information is duly used by executing Step S49 and the subsequent steps according to the service object included in the new service object file.
(4) According to Embodiment 3 of the present invention, the settings of audio/subtitles are recorded in the playback history. In the process of presuming profile, in addition, the combination of the audio/subtitles which results in the longest total usage hours is determined as the user preferences. However, the playback history may be kept to record the settings other than the audio/subtitles settings as long as the settings can be identified from the player register 38. In addition, the user preferences may be determined based on the conditions different from the conditions described above. For example, the combination of the audio/subtitles settings having been used the largest number of times may be determined as the user preferences. The conditions of information items to be recorded in the playback history and the conditions for determining the user preferences in presuming the profile may be changed depending on the service object. Especially, in the case of modification described in (2) above, the service object file can be updated for each playback of a playlist, so that the conditions can be changed for each playback of a playlist.
(5) According to Embodiment 3 of the present invention, the playback device 102 receives the advertisement list 106C from the server device 106 and selects a new advertisement content from the advertisement list 106C based on the user preferences. Alternatively, the playback device 102 may send information about the user preferences to the server device 106 together with the content ID, so that the server device 106 selects an AV clip of a new advertisement based on the user preferences.
(6) According to Embodiment 3 of the present invention, similarly to Embodiment 2, an AV clip of a new advertisement is downloaded from the server device 106 together with necessary information attached to the AV clip and virtually incorporated into the BD-ROM disc 101. Alternatively, similarly to Embodiment 1, an update kit including a playitem representing a new advertisement may be downloaded from the server device 106 and a virtual package may be generated from the update kit, so that the playitem representing the new advertisement is incorporated into the virtual package.
(7) According to Embodiment 4 of the present invention, an AV clip of a new advertisement and information attached to the AV clip may be generated, instead of generating the update kit 205. Examples of information to be attached to the AV clip includes: information used to rewrite the stream selection table in the playitem information; information indicating an AV clip file having the network attribute; information indicating the allocation of the pairs of a clip information file and an AV clip file to the main path and a sub-path; information used to add a sub-path to the playlist information; and information used to add or overwrite sub-playitem information to a sub-path existing in the playlist information. Such information may be generated based on the additional parameter file MPF generated by the scenario generation unit 302 and the difference DSD extracted by the difference extracting unit 306 from the respective pieces of scenario data 62 and 62A.
The present invention relates to a technology for playing back a playlist from an optical disc. As described above, when playing back a playlist from an optical disc, the present invention allows playback of a desired playitem in the playback section of a playitem representing an advertisement embedded in the playlist. Consequently, the present invention clearly has industrial applicability.
Number | Date | Country | Kind |
---|---|---|---|
2008-157736 | Jun 2008 | JP | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/JP2009/002540 | 6/5/2009 | WO | 00 | 12/8/2010 |