JP4117019B2 - Recording medium, reproducing apparatus, recording method, reproducing method - Google Patents
Recording medium, reproducing apparatus, recording method, reproducing method Download PDFInfo
- Publication number
- JP4117019B2 JP4117019B2 JP2007265850A JP2007265850A JP4117019B2 JP 4117019 B2 JP4117019 B2 JP 4117019B2 JP 2007265850 A JP2007265850 A JP 2007265850A JP 2007265850 A JP2007265850 A JP 2007265850A JP 4117019 B2 JP4117019 B2 JP 4117019B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- title
- playback
- management table
- operation mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
Description
本発明は、デジタル化された映像の再生と、アプリケーションの実行とを同時に実行する、再生制御技術の技術分野に属する発明であり、本再生制御技術を記録媒体、民生用の再生装置、プログラムに応用する場合の応用技術に深く係る。 The present invention is an invention belonging to the technical field of playback control technology that simultaneously executes playback of digitized video and execution of an application. The playback control technology is applied to a recording medium, a playback device for consumer use, and a program. It is deeply related to applied technology when applied.
記録媒体を用いた映画ビジネスには、デジタル化された映画作品と、オンラインショッピング用のアプリケーションとを同じ記録媒体に記録して販売するという販売戦略がある。映画作品に関連するキャラクタ・グッズを、オンラインで販売するような仕組みを一枚の記録媒体に組み込めば、映画作品と、アプリケーションとの相乗効果により、キャラクタ・グッズの売り上げを高めることができるのではないかという、制作者側の目論見がある。かかるコンテンツを実現するにあたって、今後登場する記録媒体及び再生装置には、より自由度が高いアプリケーション実行環境の整備が要望されている。 In the movie business using a recording medium, there is a sales strategy of recording and selling a digitized movie work and an application for online shopping on the same recording medium. If a system that allows online sales of character goods related to movie works is incorporated into a single recording medium, the sales of character goods can be increased due to the synergistic effect of movie works and applications. There is a prospect on the producer side. In realizing such contents, a recording medium and a reproducing apparatus that will appear in the future are required to provide an application execution environment with a higher degree of freedom.
ここでかかるデジタル化された映画作品と、オンラインショッピング用のアプリケーションとの同時実行を実現するには、デジタル映像の再生に従って、アプリケーションを動作させるという技術が必要になる。デジタルストリームの再生に従って、Javaアプリケーションを動作させる技術としては、DVB-MHP規格における"シグナリング"が知られている。シグナリングとは、デジタルストリームの再生時間軸において、アプリケーションを起動すべき時点、終了させるべき時点を定義しておき、この時点に、AIT(application Information Table)と呼ばれる情報を送信して、このAITに従った制御を再生装置に行わせるというものである。 Here, in order to realize the simultaneous execution of the digitized movie work and the application for online shopping, a technique for operating the application in accordance with the reproduction of the digital video is required. As a technique for operating a Java application in accordance with playback of a digital stream, “signaling” in the DVB-MHP standard is known. Signaling defines when the application should be started and ended on the playback time axis of the digital stream, and at this point, information called AIT (Application Information Table) is sent to this AIT. This is to cause the playback apparatus to perform the control according to the above.
かかる背景技術には、以下に示される文献公知発明が存在する。
しかしながらディスクコンテンツの再生進行は、再生時間軸の逆向がありうる。逆行とは、巻戻しにより時間軸を逆向きに進行することである。アプリケーションを起動すべき時点、終了させるべき時点の前後でこの逆行と、進行とが何度もなされ、いったりきたりが繰り返されれば、ワークメモリへのロード、廃棄が何度もなされ、余分な読出負荷が生じてしまう。 However, the playback progress of the disc content may be reversed on the playback time axis. Backward means that the time axis advances in the reverse direction by rewinding. This reverse and progress are repeated many times before and after the time when the application should be started and when it should be terminated. A load is generated.
本発明の目的は、再生時間軸において再生の逆行があったとしても、余分な読出負荷の発生を避けることができる記録媒体を提供することである。 An object of the present invention is to provide a recording medium capable of avoiding generation of an excessive read load even if reproduction is reversed in the reproduction time axis.
上記課題を解決するため、本発明にかかる記録媒体は、インデックステーブルと、アプリケーションと、動作モードオブジェクトとが記録された記録媒体であって、前記インデックステーブルは、タイトルと、動作モードオブジェクトとの対応付けを示すとともに、各タイトルに対応する動作モードオブジェクトが、ムービーモード用及び仮想マシンモード用の何れであるかを示し、前記動作モードオブジェクトには、ムービモード用のものと、仮想マシンモード用のものとがあり、ムービモード用の動作モードオブジェクトは、制御手順を表すナビゲーションコマンドを含み、仮想マシンモード用の動作モードオブジェクトは、アプリケーション管理テーブルを含み、前記アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示し、アプリケーション管理テーブルにて示されるアプリケーションは、自動起動されないが、他のアプリケーションからのアプリケーション呼出に応じて、起動することができるアプリケーションであることを特徴としている。 In order to solve the above problems, a recording medium according to the present invention is a recording medium on which an index table, an application, and an operation mode object are recorded, and the index table corresponds to a title and an operation mode object. Paste with indicate to the operation mode object that corresponds to each title, it indicates which of a movie mode and the virtual machine mode, the operation mode object includes one for movie mode, a virtual machine mode The operation mode object for the movie mode includes a navigation command representing a control procedure, the operation mode object for the virtual machine mode includes an application management table, and the application is a programming language for the virtual machine. Described The application management table shows one or more applications to be controlled by managing the title corresponding to the operation mode object as a life cycle, and the application shown in the application management table is The application is characterized by being an application that is not automatically activated but can be activated in response to an application call from another application.
前記アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示しているので、たとえ一個のタイトルにおける時間軸内において巻戻しがあったとしても、タイトル選択がなされる前の直前タイトルまで、再生は逆行することはない。タイトルは、"再生の逆行が有り得ない単位"であり、このタイトルを元に、アプリケーションの生存区間を規定すれば、ワークメモリへの読み込み、廃棄が何度も繰り返されることはない。読み込み、廃棄の繰り返しがなくなるので、余分な読出負荷の発生を避けることができる。 Since the application management table indicates one or more applications to be controlled by managing the title corresponding to the operation mode object as the life cycle , even if the title is wound in the time axis of one title. Even if there is a return, the playback does not go backward to the previous title before the title selection . The title is “a unit in which reversal of playback is not possible”, and if the life cycle of the application is defined based on this title, reading into the work memory and discarding are not repeated many times. Since there is no repetition of reading and discarding, it is possible to avoid the occurrence of an extra reading load.
(第1実施形態)
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は再生装置200であり、テレビ300、リモコン400と共にホームシアターシステムを形成する。
(First embodiment)
Hereinafter, embodiments of the playback apparatus according to the present invention will be described. First, among the implementation actions of the playback apparatus according to the present invention, the mode of use action will be described. FIG. 1 is a diagram showing a form of usage of the playback apparatus according to the present invention. In FIG. 1, the playback apparatus according to the present invention is a
このBD-ROM100は、再生装置200、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る再生装置の使用形態についての説明である。
続いて本発明に係る再生装置の再生の対象となる、記録媒体であるBD-ROMについて説明する。BD-ROMにより、ホームシアターシステムに供給されるディスクコンテンツは、互いに分岐可能な複数タイトルから構成される。各タイトルは、1つ以上のプレイリストと、このプレイリストを用いた動的な制御手順とからなる。
The BD-
This completes the description of the usage mode of the playback apparatus according to the present invention.
Next, a BD-ROM that is a recording medium that is a target of playback of the playback apparatus according to the present invention will be described. The disc content supplied to the home theater system by the BD-ROM is composed of a plurality of titles that can be branched from each other. Each title is composed of one or more playlists and a dynamic control procedure using the playlists.
プレイリストとは、1つ以上のデジタルストリームと、そのデジタルストリームにおける再生経路とから構成され、"時間軸"の概念をもつBD-ROM上のアクセス単位である。以上のプレイリストと、動的な制御手順とを包含しているため、タイトルはデジタルストリーム特有の時間軸の概念と、コンピュータプログラム的な性質とを併せもっている。
図2は、BD-ROMにおけるファイル・ディレクトリ構成を示す図である。本図においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
A playlist is an access unit on a BD-ROM that includes one or more digital streams and playback paths in the digital streams, and has the concept of “time axis”. Since the above playlist and dynamic control procedures are included, the title combines the concept of a time axis peculiar to a digital stream and the nature of a computer program.
FIG. 2 is a diagram showing a file / directory structure in the BD-ROM. In this figure, the BD-ROM has a BDMV directory under the Root directory.
BDMVディレクトリには、拡張子bdmvが付与されたファイル(index.bdmv,MovieObject.bdmv)と、拡張子BD-Jが付与されたファイル(00001.BD-J,00002.BD-J,00003.BD-J)がある。そしてこのBDMVディレクトリの配下には、更にPLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDARディレクトリと呼ばれる4つのサブディレクトリが存在する。 The BDMV directory contains files with the extension bdmv (index.bdmv, MovieObject.bdmv) and files with the extension BD-J (00001.BD-J, 00002.BD-J, 00003.BD -J). Under the BDMV directory, there are further four subdirectories called a PLAYLIST directory, a CLIPINF directory, a STREAM directory, and a BDAR directory.
PLAYLISTディレクトリには、拡張子mplsが付与されたファイル(00001.mpls,00002.mpls,00003mpls)がある。
CLIPINFディレクトリには、拡張子clpiが付与されたファイル(00001.clpi,00002.clpi,00003.clpi)がある。
STREAMディレクトリには、拡張子m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts)がある。
In the PLAYLIST directory, there are files (00001.mpls, 00002.mpls, 00003mpls) with extensions mpls.
In the CLIPINF directory, there are files (00001.clpi, 00002.clpi, 00003.clpi) with extensions clpi.
In the STREAM directory, there are files (00001.m2ts, 00002.m2ts, 00003.m2ts) with extensions m2ts.
BDARディレクトリには、拡張子jarが付与されたファイル(00001.jar,00002.jar,00003jar)がある。以上のディレクトリ構造により、互いに異なる種別の複数ファイルが、BD-ROM上に配置されていることがわかる。
本図において拡張子.m2tsが付与されたファイル(00001.m2ts,00002.m2ts,00003.m2ts・・・・・)は、AVClipを格納している。AVClipには、MainCLip、SubClipといった種別がある。MainCLipは、ビデオストリーム、オーディオストリーム、プレゼンテーショングラフィクスストリーム、インタラクティブグラフィクスストリームというような複数エレメンタリストリームを多重化することで得られたデジタルストリームである。
In the BDAR directory, there are files (00001.jar, 00002.jar, 00003jar) with extension jar. With the above directory structure, it can be seen that a plurality of different types of files are arranged on the BD-ROM.
In the figure, files with the extension .m2ts (00001.m2ts, 00002.m2ts, 00003.m2ts...) Store AVClips. There are types of AVClip such as MainCLip and SubClip. MainCLip is a digital stream obtained by multiplexing a plurality of elementary streams such as a video stream, an audio stream, a presentation graphics stream, and an interactive graphics stream.
SubClipは、オーディオストリーム、グラフィクスストリーム、テキスト字幕ストリーム等、1つのエレメンタリストリームのみにあたるデジタルストリームである。
拡張子"clpi"が付与されたファイル(00001.clpi,00002.clpi,00003.clpi・・・・・)は、AVClipのそれぞれに1対1に対応する管理情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、頭出し位置を示すEP_mapをもっている。
The SubClip is a digital stream corresponding to only one elementary stream such as an audio stream, a graphics stream, a text subtitle stream, or the like.
Files with the extension “clpi” (00001.clpi, 00002.clpi, 00003.clpi...) Are management information corresponding to each AVClip on a one-to-one basis. Because of the management information, the Clip information has information such as a stream encoding format, frame rate, bit rate, and resolution in the AVClip, and an EP_map indicating a cueing position.
拡張子"mpls"が付与されたファイル(00001.mpls,00002.mpls,00003.mpls・・・・・)は、プレイリスト情報を格納したファイルである。プレイリスト情報は、AVClipを参照してプレイリストを定義する情報である。プレイリストは、MainPath情報、PLMark情報、SubPath情報から構成される。
MainPath情報は、複数のPlayItem情報からなる。PlayItemとは、1つ以上のAVClip時間軸上において、In_Time,Out_Timeを指定することで定義される再生区間である。PlayItem情報を複数配置させることで、複数再生区間からなるプレイリスト(PL)が定義される。図3は、AVClipと、PLとの関係を示す図である。第1段目はAVClipがもつ時間軸を示し、第2段目は、PLがもつ時間軸を示す。PL情報は、PlayItem#1,#2,#3という3つのPlayItem情報を含んでおり、これらPlayItem#1,#2,#3のIn_time,Out_timeにより、3つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第2段目に示すPL時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
Files with the extension “mpls” (00001.mpls, 00002.mpls, 00003.mpls...) Are files that store playlist information. The playlist information is information that defines a playlist with reference to the AVClip. The playlist is composed of MainPath information, PLMark information, and SubPath information.
MainPath information includes a plurality of pieces of PlayItem information. A PlayItem is a playback section defined by specifying In_Time and Out_Time on one or more AVClip time axes. By arranging a plurality of PlayItem information, a playlist (PL) consisting of a plurality of playback sections is defined. FIG. 3 is a diagram showing the relationship between AVClip and PL. The first level shows the time axis of AVClip, and the second level shows the time axis of PL. The PL information includes three pieces of PlayItem information, PlayItem # 1, # 2, and # 3, and three playback sections are defined by the In_time and Out_time of these
AVClipに対する指定は、原則1つであるが、複数AVClipに対する一括指定もあり得る。この一括指定は、PlayItem情報における複数のClip_Information_file_nameによりなされる。図4は、4つのClip_Information_file_nameによりなされた一括指定を示す図である。本図において第1段目〜第4段目は、4つのAVClip時間軸(AVClip#1,#2,#3,#4の時間軸)を示し、第5段目は、PL時間軸を示す。PlayItem情報が有する、4つのClip_Information_file_nameにて、これら4つの時間軸が指定されている。こうすることで、PlayItemが有するIn_time,Out_timeにより、択一的に再生可能な4つの再生区間が定義されることになる。これにより、PL時間軸には、切り換え可能な複数アングル映像からなる区間(いわゆるマルチアングル区間)が定義されることになる。
The designation for AVClip is one in principle, but there may be a batch designation for a plurality of AVClips. This collective designation is made by a plurality of Clip_Information_file_name in the PlayItem information. FIG. 4 is a diagram showing batch designation made by four Clip_Information_file_names. In the figure, the first to fourth stages show four AVClip time axes (
PLmark情報は、PL時間軸のうち、任意の区間を、チャプターとして指定する情報である。図5は、PLmarkによるチャプター定義を示す図である。本図において第1段目は、AVClip時間軸を示し、第2段目はPL時間軸を示す。図中の矢印pk1,2は、PLmarkにおけるPlayItem指定(ref_to_PlayItem_Id)と、一時点の指定(mark_time_stamp)とを示す。これらの指定によりPL時間軸には、3つのチャプター(Chapter#1,#2,#3)が定義されることになる。
The PLmark information is information that designates an arbitrary section of the PL time axis as a chapter. FIG. 5 is a diagram showing chapter definition by PLmark. In the figure, the first level shows the AVClip time axis, and the second level shows the PL time axis. Arrows pk1, 2 in the figure indicate PlayItem specification (ref_to_PlayItem_Id) in PLmark and temporary point specification (mark_time_stamp). With these specifications, three chapters (
SubPath情報は、複数のSubPlayItem情報からなる。SubPlayItem情報は、SubClipの時間軸上にIn_Time,Out_Timeを指定することで再生区間を定義する。またSubPlayItem情報は、SubClip時間軸上の再生区間を、PL時間軸に同期させるという同期指定が可能であり、この同期指定により、PL時間軸と、SubPlayItem情報時間軸とは同期して進行することになる。図6は、SubPlayItem時間軸上の再生区間定義と、同期指定を示す図である。本図において第1段目は、PL時間軸を示し、第2段目はSubPlayItem時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubClip時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。 The SubPath information includes a plurality of SubPlayItem information. SubPlayItem information defines a playback section by specifying In_Time and Out_Time on the time axis of SubClip. SubPlayItem information can also be specified to synchronize the playback section on the SubClip time axis with the PL time axis. By this synchronization specification, the PL time axis and the SubPlayItem information time axis advance in synchronization. become. FIG. 6 is a diagram showing the playback section definition and synchronization designation on the SubPlayItem time axis. In the figure, the first level shows the PL time axis, and the second level shows the SubPlayItem time axis. In the figure, SubPlayItem.IN_time indicates the start point of the playback section, and SubPlayItem.Out_time indicates the end point of the playback section. Thus, it can be seen that the playback section is also defined on the SubClip time axis. In arrow Sn1, Sync_PlayItem_Id indicates synchronization specification for PlayItem, and in arrow Sn2, sync_start_PTS_of_PlayItem indicates specification at one point on the PlayItem on the PL time axis.
複数AVClipの切り換えを可能とするマルチアングル区間や、AVClip−SubClipを同期させ得る同期区間の定義を可能とするのが、BD-ROMにおけるプレイリスト情報の特徴である。以上のClip情報及びプレイリスト情報は、"静的シナリオ"に分類される。何故なら、以上のClip情報及びプレイリスト情報により、静的な再生単位であるPLが定義されるからである。以上で静的シナリオについての説明を終わる。 A feature of playlist information in BD-ROM is that it enables the definition of a multi-angle section that enables switching of a plurality of AVClips and a synchronization section that can synchronize AVClip-SubClip. The above Clip information and playlist information are classified as “static scenarios”. This is because the above-described Clip information and playlist information define a PL that is a static playback unit. This completes the explanation of the static scenario.
続いて"動的なシナリオ"について説明する。動的シナリオとは、AVClipの再生制御を動的に規定するシナリオデータである。"動的に"というのは、再生装置における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。BD-ROMでは、この再生制御の動作環境として2つのモードを想定している。1つ目は、DVD再生装置の動作環境と良く似た動作環境であり、コマンドベースの実行環境である。2つ目は、Java仮想マシンの動作環境である。これら2つの動作環境のうち1つ目は、HDMVモードと呼ばれる。2つ目は、BD-Jモードと呼ばれる。これら2つの動作環境があるため、動的シナリオはこのどちらかの動作環境を想定して記述される。HDMVモードを想定した動的シナリオはMovieオブジェクトと呼ばれ、管理情報により定義される。一方BD-Jモードを想定した動的シナリオはBD-Jオブジェクトと呼ばれる。 Next, the “dynamic scenario” will be described. A dynamic scenario is scenario data that dynamically defines playback control of an AVClip. “Dynamically” means that the content of playback control is changed by a state change in the playback device or a key event from the user. In the BD-ROM, two modes are assumed as operating environments for this playback control. The first is an operating environment that is very similar to the operating environment of a DVD player, and is a command-based execution environment. The second is the operating environment of the Java virtual machine. The first of these two operating environments is called HDMV mode. The second is called BD-J mode. Because there are these two operating environments, the dynamic scenario is described assuming either of these operating environments. A dynamic scenario assuming the HDMV mode is called a Movie object and is defined by management information. On the other hand, a dynamic scenario assuming the BD-J mode is called a BD-J object.
先ず初めにMovieオブジェクトについて説明する。
<Movieオブジェクト>
Movieオブジェクトは、"タイトル"の構成要素であり、ファイルMovieObject.bdmvに格納される。図7(a)は、Movieオブジェクトの内部構成を示す図である。Movieオブジェクトは、属性情報、複数のナビゲーションコマンドからなるコマンド列からなる。
First, the Movie object will be described.
<Movie object>
The Movie object is a component of “title” and is stored in the file MovieObject.bdmv. FIG. 7A shows the internal structure of the Movie object. The Movie object is composed of command information including attribute information and a plurality of navigation commands.
属性情報は、PL時間軸において、MenuCallがなされた際、MenuCall後の再生再開を意図しているか否かを示す情報(resume_intention_flag)、PL時間軸においてMenuCallをマスクするかを示す情報(menu_call_mask)、タイトルサーチをマスクするかを示す情報(title_search_flag)からなる。Movieオブジェクトは、"時間軸"+"プログラム的制御"という2つの性質を併せ持つことができるで、本編再生を実行するもの等、多様な種類のタイトルがこのMovieオブジェクトにより記述されることになる。 The attribute information is information (resume_intention_flag) indicating whether or not playback is resumed after MenuCall when MenuCall is performed on the PL time axis, information (menu_call_mask) indicating whether MenuCall is masked on the PL time axis, It consists of information (title_search_flag) indicating whether to mask the title search. The Movie object can have two properties of “time axis” + “programmatic control”, and various types of titles such as those for executing the main part reproduction are described by the Movie object.
ナビゲーションコマンド列は、条件分岐、再生装置における状態レジスタの設定、状態レジスタの設定値取得等を実現するコマンド列からなる。Movieオブジェクトにおいて記述可能なコマンドを以下に示す。
PlayPLコマンド
書式:PlayPL(第1引数,第2引数)
第1引数は、プレイリストの番号で、再生すべきPLを指定することができる。第2引数は、そのPLに含まれるPlayItemや、そのPLにおける任意の時刻、Chapter、Markを用いて再生開始位置を指定することができる。
The navigation command string is composed of command strings that realize conditional branching, setting of a status register in the playback device, acquisition of a setting value of the status register, and the like. The commands that can be described in the Movie object are shown below.
PlayPL command Format: PlayPL (first argument, second argument)
The first argument is a playlist number, which can specify a PL to be reproduced. The second argument can specify the playback start position using PlayItems included in the PL, arbitrary time in the PL, Chapter, and Mark.
PlayItemによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatPlayItem()、
ChapterによりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatChapter()、
時刻情報によりPL時間軸上の再生開始位置を指定したPlayPL関数をPlayPLatSpecified Time()という。
JMPコマンド
書式:JMP 引数
JMPコマンドは、現在の動的シナリオを途中で廃棄し(discard)、引数たる分岐先動的シナリオを実行するという分岐である。JMP命令の形式には、分岐先動的シナリオを直接指定している直接参照のものと、分岐先動的シナリオを間接参照している間接参照のものがある。
Movieオブジェクトにおけるナビゲーションコマンドの記述は、DVDにおけるナビゲーションコマンドの記述方式と良く似ているので、DVD上のディスクコンテンツを、BD-ROMに移植するという作業を効率的に行うことができる。Movieオブジェクトについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報W0 2004/074976
以上でMovieオブジェクトについての説明を終える。続いてBD-Jオブジェクトについて説明する。
PlayPLatPlayItem (), PlayPL function that specifies the playback start position on the PL time axis by PlayItem,
PlayPLatChapter (), a PlayPL function that specifies the playback start position on the PL time axis by Chapter
A PlayPL function in which a playback start position on the PL time axis is specified by time information is referred to as PlayPLatSpecified Time ().
JMP command Format: JMP argument
The JMP command is a branch that discards the current dynamic scenario halfway (discard) and executes the branch destination dynamic scenario as an argument. The JMP instruction format includes a direct reference that directly specifies a branch destination dynamic scenario and an indirect reference that indirectly refers to a branch destination dynamic scenario.
The description of the navigation command in the Movie object is very similar to the description method of the navigation command in the DVD, so that the work of porting the disc content on the DVD to the BD-ROM can be performed efficiently. Regarding the Movie object, there is a prior art described in the following International Publication. Please refer to this International Publication for details.
International Publication No.W0 2004/074976
This completes the description of the Movie object. Next, the BD-J object will be described.
<BD-Jオブジェクト>
拡張子BD-Jが付与されたファイル(00001.BD-J,00002.BD-J,00003.BD-J)は、BD-Jオブジェクトを構成する。BD-Jオブジェクトは、Javaプログラミング環境で記述された、BD-Jモードの動的シナリオである。図7(b)は、BD-Jオブジェクトの内部構成を示す図である。本図に示すようにBD-Jオブジェクトは、Movieオブジェクト同様の属性情報、アプリケーション管理テーブルからなる。属性情報を有している点でBD-JオブジェクトはMovieオブジェクトとほぼ同じである。Movieオブジェクトとの違いは、BD-Jオブジェクトはコマンドが直接記述されていない点である。つまりMovieオブジェクトにおいて制御手順は、ナビゲーションコマンドにより直接記述されていた。これに対しBD-Jオブジェクトでは、そのタイトルを生存区間としているJavaアプリケーションをアプリケーション管理テーブル上に定めることにより、間接的に制御手順を規定している。このような間接的な規定により、複数タイトルにおいて制御手順を共通化するという、制御手順の共通化を効率的に行うことができる。
<BD-J object>
Files with the extension BD-J (00001.BD-J, 00002.BD-J, 00003.BD-J) constitute a BD-J object. A BD-J object is a BD-J mode dynamic scenario written in a Java programming environment. FIG. 7B shows the internal structure of the BD-J object. As shown in the figure, the BD-J object includes attribute information and an application management table similar to the Movie object. The BD-J object is almost the same as the Movie object in that it has attribute information. The difference from the Movie object is that the command is not described directly in the BD-J object. That is, in the Movie object, the control procedure is directly described by the navigation command. On the other hand, in the BD-J object, the control procedure is indirectly defined by defining on the application management table the Java application whose title is the life cycle. By such indirect regulation, it is possible to efficiently share the control procedure, that is, to share the control procedure in a plurality of titles.
図7(c)は、Javaアプリケーションの内部構成を示す図である。本図においてアプリケーションは、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリでは、1つ以上のスレッドが動作しており、ワークメモリにロードされたxletプログラム、及び、スレッドから、アプリケーションは構成されることになる。以上がアプリケーションの構成である。 FIG. 7C shows the internal structure of the Java application. In this figure, the application is composed of one or more xlet programs loaded in the heap area (also called work memory) of the virtual machine. In this work memory, one or more threads are operating, and an application is composed of an xlet program and a thread loaded in the work memory. The above is the configuration of the application.
このアプリケーションの実体にあたるのが、BDMVディレクトリ配下のBDARディレクトリに格納されたJavaアーカイブファイル(00001.jar,00002.jar)である。以降、Javaアーカイブファイルについて説明する。
Javaアーカイブファイル(00001.jar,00002.jar)は、Javaアプリケーションを構成するプログラム、データを格納したアーカイブファイルである。図8(a)は、アーカイブファイルにより収められているプログラム、データを示す図である。本図におけるデータは、枠内に示すディレクトリ構造が配置された複数ファイルを、javaアーカイバでまとめたものである。枠内に示すディレクトリ構造は、rootディレクトリ、javaディレクトリ、imageディレクトリとからなり、rootディにcommon.pkgが、javaディレクトリにaaa.class,bbb.classが、imageディレクトリに、menu.jpgが配置されている。javaアーカイブファイルは、これらをjavaアーカイバでまとめることで得られる。かかるデータは、BD-ROMからキャッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取り扱われる。Javaアーカイブファイルのファイル名における"xxxxx"という5桁の数値は、アプリケーションのID(applicationID)を示す。本Javaアーカイブファイルがキャッシュに読み出された際、このファイル名における数値を参照することにより、任意のJavaアプリケーションを構成するプログラム,データを取り出すことができる。
The Java archive files (00001.jar, 00002.jar) stored in the BDAR directory under the BDMV directory correspond to the entity of this application. The Java archive file is described below.
Java archive files (00001.jar, 00002.jar) are archive files that store programs and data that constitute a Java application. FIG. 8A is a diagram showing programs and data stored in an archive file. The data in this figure is a collection of a plurality of files in which the directory structure shown in the frame is arranged by a java archiver. The directory structure shown in the frame consists of the root directory, java directory, and image directory. Common.pkg is located in the root directory, aaa.class and bbb.class are located in the java directory, and menu.jpg is located in the image directory. ing. A java archive file can be obtained by putting these together with a java archiver. Such data is expanded when read from the BD-ROM to the cache, and is handled as a plurality of files arranged in a directory on the cache. The 5-digit numerical value “xxxxx” in the file name of the Java archive file indicates the application ID (applicationID). When this Java archive file is read into the cache, by referring to the numerical value in this file name, it is possible to take out the program and data constituting an arbitrary Java application.
Javaアーカイブファイルにおいて1つにまとめられるファイルには、xletプログラムがある。
xletプログラムは、JMF(Java Media FrameWork)インターフェイスを利用することができるJavaプログラムである。xletプログラムは、キーイベントを受信するEventListner等、複数の関数からなり、JMF等の方式に従って、受信したキーイベントに基づく処理を行う。
One file that can be combined into a Java archive file is the xlet program.
The xlet program is a Java program that can use a JMF (Java Media FrameWork) interface. The xlet program includes a plurality of functions such as EventListner that receives key events, and performs processing based on the received key events according to a method such as JMF.
図8(b)は、xletプログラムの一例を示す図である。JMF A"BD://00001.mpls";は、PLを再生するプレーヤインスタンスの生成をJava仮想マシンに命じるメソッドである。A.playは、JMFプレーヤインスタンスに再生を命じるメソッドである。かかるJMFプレーヤインスタンス生成は、JMFライブラリに基づきなされる。xletプログラムの記述は、BD-ROMのPLに限らず、時間軸をもったコンテンツ全般に適用可能なJMFの記述である。このような記述が可能であるので、Javaプログラミングに長けたソフトハウスに、BD-Jオブジェクト作成を促すことができる。 FIG. 8B is a diagram illustrating an example of an xlet program. JMF A “BD: //00001.mpls”; is a method that instructs the Java virtual machine to generate a player instance for playing back a PL. A.play is a method that commands the JMF player instance to play. Such JMF player instance generation is performed based on the JMF library. The description of the xlet program is not limited to the BD-ROM PL, but is a description of JMF that can be applied to all content with a time axis. Since such a description is possible, it is possible to encourage a software house skilled in Java programming to create a BD-J object.
図8(b)におけるJumpTItle();は、ファンクションAPIのコールである。このファンクションAPIは、他のタイトルへの分岐(図中ではtitle#1)を再生装置に命じるものである。ここでファンクションAPIとは、BD-ROM再生装置により供給されるAPI(Appliation Interface)である。JumpTitleコマンドの他にも、ファンクションAPIのコールにより、BD-ROM再生装置特有の処理をxletプログラムに記述することができる。
JumpTItle (); in FIG. 8B is a function API call. This function API instructs the playback device to branch to another title (
BD-JモードにおいてPL再生は、JMFインターフェイスにより規定される。このJMFプレーヤインスタンスは、PL時間軸を定めるものだから、タイトル時間軸は、このJMFプレーヤインスタンスをもったタイトルから定まる。また
BD-Jモードにおいてタイトルからタイトルへの分岐はJumpTitleAPIのコールにより規定される。JumpTitleAPIコールは、いわばタイトルの終了時点を定めるものなので、こうしたJMFプレーヤインスタンス、JumpTitleAPIコールをもったアプリケーションが、BD-Jモードにおいてタイトルの開始及び終了を律することになる。かかるアプリケーションを本編再生アプリケーションという。
In BD-J mode, PL playback is defined by the JMF interface. Since this JMF player instance defines the PL time axis, the title time axis is determined from the title having this JMF player instance. Also
In BD-J mode, branching from title to title is defined by a call to JumpTitleAPI. Since the JumpTitle API call defines the end point of the title, the JMF player instance and the application having the JumpTitle API call regulate the start and end of the title in the BD-J mode. Such an application is called a main part reproduction application.
以上が、BD-Jモードにおける動的シナリオについての説明である。このBD-Jモードにおける動的シナリオにより、PL再生と、プログラム的制御とを併せもったタイトルが定義されることになる。尚、本実施形態においてアプリケーションを構成するプログラム、データは、Javaアーカイブファイルにまとめられたが、LZHファイル、zipファイルであってもよい。 This completes the description of the dynamic scenario in the BD-J mode. The dynamic scenario in the BD-J mode defines a title that combines PL playback and programmatic control. In the present embodiment, the programs and data constituting the application are collected in a Java archive file, but may be an LZH file or a zip file.
<タイトル時間軸>
タイトルを構成する静的シナリオ、動的シナリオについて説明を終えたところで、これらによりどのような時間軸が定義されるかについて説明する。タイトルにより定義される時間軸は、"タイトル時間軸"と呼ばれる。タイトル時間軸とは、Movieオブジェクト、又は、BD-Jオブジェクトにより再生が命じられるPLにより構成される。ここで一例を挙げるのは、図9(a)のようなタイトルである。このタイトルは、トップメニュー→title#1→title#2→トップメニュー、トップメニュー→title#3→トップメニューという一連のタイトルである。かかるタイトルのうち、title#1はPlayList#1、PlayList#2、title#2がPlayList#3、title#3がPlayList#4の再生を命じるものなら、図9(b)のように、PlayList#1、PlayList#2の時間軸を足し合わせた時間軸を、title#1はもつことになる。同様にtitle#2は、PlayList#3時間軸からなる時間軸を、title#3はPlayList#4時間軸からなる時間軸を持つことになる。これらタイトル時間軸におけるPL時間軸ではシームレス再生が保証されるが、タイトル時間軸間ではシームレス再生の保証は必要でなくなる。Javaアプリケーションを動作させるにあたっては、Javaアプリケーションを、仮想マシンのワークメモリ上に存在させてもよい期間(サービス期間)を、こうしたタイトル時間軸上に定義せねばならない。BD-JモードにおいてJavaアプリケーションを動作させるにあたっては、互いに分岐し合う時間軸上に、Javaアプリケーションのサービス期間を定義せねばならない。このサービス期間の定義が、BD-ROM向けのプログラミングを行うにあたっての留意点になる。
<Title time axis>
Now that the explanation of the static scenario and the dynamic scenario constituting the title has been completed, what time axis is defined by these will be described. The time axis defined by the title is called the “title time axis”. The title time axis is constituted by a PL that is instructed to be played by a Movie object or a BD-J object. Here, an example is a title as shown in FIG. This title is a series of titles of top menu →
最後に、index.bdmvに格納されたIndexTableについて説明する。IndexTableは、タイトル番号と、Movieオブジェクト、BD-Jオブジェクトとを対応づけるテーブルであり、動的シナリオから動的シナリオへの分岐の際、参照される間接参照用テーブルである。IndexTableは、複数ラベルのそれぞれに対するIndexからなる。各Indexには、そのラベルに対応する動的シナリオの識別子が記述されている。こうしたIndexTableを参照することで、Movieオブジェクト、BD-Jオブジェクトの違いを厳密に区別することなく、分岐を実現することができる。IndexTableについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2004/025651 A1公報
以上がBD-ROMに記録されているファイルについて説明である。
Finally, the IndexTable stored in index.bdmv will be described. IndexTable is a table that associates title numbers with Movie objects and BD-J objects, and is an indirect reference table that is referenced when branching from a dynamic scenario to a dynamic scenario. The IndexTable consists of an Index for each of a plurality of labels. Each index describes an identifier of a dynamic scenario corresponding to the label. By referring to such an IndexTable, it is possible to realize a branch without strictly distinguishing differences between Movie objects and BD-J objects. Details of the IndexTable are described in the following International Publications. For details, see this publication.
International Publication WO 2004/025651 A1 Publication
This completes the description of the files recorded on the BD-ROM.
<アプリケーション管理テーブル>
JMFプレーヤインスタンス、JumpTitleAPIコールをもったアプリケーションが、タイトル時間軸を律することは上述した通りだが、JMFプレーヤインスタンスやJumpTitleAPIのコールをもたないその他のアプリケーションを、タイトル時間軸上で動作させる場合、時間軸の何処からアプリケーションによるサービスを開始し、時間軸の何処でアプリケーションによるサービスを終えるかという"サービスの開始点・終了点"を明確に規定することが重要になる。本実施形態では、アプリケーションによるサービスが開始してから、終了するまでを、"アプリケーションの生存"として定義する。アプリケーションの生存を定義するための情報は、BD-Jオブジェクトにおけるアプリケーション管理テーブルに存在する。以降アプリケーション管理テーブルについてより詳しく説明する。
<Application management table>
As mentioned above, JMF player instances and applications that have JumpTitleAPI calls regulate the title time axis. However, if you run other applications that do not have JMF player instance or JumpTitleAPI calls on the title time axis, It is important to clearly define the “service start and end points” where the application service starts from the axis and where the application service ends. In the present embodiment, the period from when a service by an application starts to when it ends is defined as “application survival”. Information for defining the existence of the application exists in the application management table in the BD-J object. Hereinafter, the application management table will be described in more detail.
アプリケーション管理テーブル(AMT)は、各タイトルが有しているタイトル時間軸において、仮想マシンのワークメモリ上で生存し得るアプリケーションを示す情報である。ワークメモリにおける生存とは、そのアプリケーションを構成するxletプログラムが、ワークメモリに読み出され、仮想マシンによる実行が可能になっている状態をいう。図7(b)における破線矢印at1は、アプリケーション管理テーブルの内部構成をクローズアップして示す。この内部構成に示すように、アプリケーション管理テーブルは、『生存区間』と、そのタイトルを生存区間としているアプリケーションを示す『applicationID』と、そのアプリケーションの『起動属性』とからなる。 The application management table (AMT) is information indicating applications that can survive on the work memory of the virtual machine on the title time axis of each title. Survival in the work memory refers to a state in which the xlet program constituting the application is read into the work memory and can be executed by the virtual machine. A broken line arrow at1 in FIG. 7B shows a close-up of the internal configuration of the application management table. As shown in this internal configuration, the application management table is composed of “life cycle”, “application ID” indicating the application whose title is the life cycle, and “activation attribute” of the application.
近い将来、実施されるであろうディスクコンテンツを題材に選んで、アプリケーション管理テーブルにおける生存区間記述について、具体例を交えて説明する。ここで題材にするディスクコンテンツは、映像本編を構成する本編タイトル(title#1)、オンラインショッピングを構成するオンラインショッピングタイトル(title#2)、ゲームアプリケーションを構成するゲームタイトル(title#3)という、性格が異なる3つのタイトルを含むものである。図10は、本編タイトル、オンラインショッピングタイトル、ゲームタイトルという3つのタイトルを含むディスクコンテンツを示す図である。本図における右側にはIndexTableを記述しており、左側には3つのタイトルを記述している。 Disc content that will be implemented in the near future is selected as a subject, and the life cycle description in the application management table will be described with a specific example. The disc content used here is the main title (title # 1) constituting the main video, the online shopping title (title # 2) constituting online shopping, and the game title (title # 3) constituting the game application. Includes three titles with different personalities. FIG. 10 is a diagram showing a disc content including three titles of a main title, an online shopping title, and a game title. In the figure, IndexTable is described on the right side, and three titles are described on the left side.
右側における破線枠は、各アプリケーションがどのタイトルに属しているかという帰属関係を示す。3つのタイトルのうちtitle#1は、application#1、application#2、application#3という3つのアプリケーションからなる。title#2は、application#3、application#4という2つのアプリケーション、title#3は、application#5を含む。図11は、図10に示した3つのタイトルの再生画像の一例を示す図である。これら3つのタイトルの再生画像において、図11(a)(b)の本編タイトル、オンラインショッピングタイトルには、ショッピングカートを模した映像(カートcr1)1が存在するが、図11(c)のゲームタイトルには、カート映像が存在しない。カートcr1は、本編タイトル、オンラインショッピングタイトルにおいて共通して表示しておく必要があるので、カートプログラムたるapplication#3を、title#1、title#2の双方で起動するようにしている。このように複数タイトルで起動するようなアプリケーションには、上述したカートアプリの他に、映画作品に登場するマスコットを模したエージェントアプリ、メニューコール操作に応じてメニュー表示を行うメニューアプリがある。
A broken line frame on the right side indicates the belonging relationship to which title each application belongs. Of the three titles,
図10の破線に示される帰属関係から各アプリケーションの生存区間をグラフ化すると、図12(a)のようになる。本図において横軸は、タイトル時間軸であり、縦軸方向に各アプリケーションの生存区間を配置している。ここでapplication#1、application#2は、title#1のみに帰属しているので、これらの生存区間は、title#1内に留まっている。application#4は、title#2のみに帰属しているので、これらの生存区間は、title#2内に留まっている。application#5は、title#3のみに帰属しているので、これらの生存区間は、title#3内に留まっている。application#3は、title#1及びtitle#2に帰属しているので、これらの生存区間は、title#1−title#2にわたる。この生存区間に基づき、アプリケーション管理テーブルを記述すると、title#1,#2,#3のアプリケーション管理テーブルは図12(b)のようになる。このようにアプリケーション管理テーブルが記述されれば、title#1の再生開始時においてapplication#1、application#2、application#3をワークメモリにロードしておく。そしてtitle#2の開始時にapplication#1、application#2をワークメモリから削除してapplication#3のみにするという制御を行う。これと同様にtitle#2の再生開始時においてapplication#4をワークメモリにロードしておき、title#3の開始時にapplication#3,#4をワークメモリから削除するという制御を行いうる。
FIG. 12A shows a graph of the lifetime of each application based on the belonging relationship indicated by the broken line in FIG. In this figure, the horizontal axis is the title time axis, and the life span of each application is arranged in the vertical axis direction. Here, since
更に、title#3の再生中においてapplication#5をワークメモリにロードしておき、title#3の再生終了時にapplication#5をワークメモリから削除するという制御を行いうる。
タイトル間分岐があった場合でも、分岐元−分岐先において生存しているアプリケーションはワークメモリ上に格納しておき、分岐元にはなく、分岐先にのみ存在するアプリケーションをワークメモリに読み込めば良いから、アプリケーションをワークメモリに読み込む回数は必要最低数になる。このように、読込回数を少なくすることにより、タイトルの境界を意識させないアプリケーション、つまりアンバウンダリなアプリケーションを実現することができる。
Furthermore, it is possible to control to load
Even if there is a branch between titles, the application that is alive at the branch source and branch destination should be stored in the work memory, and the application that exists only at the branch destination but not at the branch source may be read into the work memory. Therefore, the number of times the application is read into the work memory is the minimum necessary number. In this way, by reducing the number of readings, it is possible to realize an application that does not recognize the title boundary, that is, an unbounded application.
続いてアプリケーションの起動属性について説明する。起動属性には、自動的な起動を示す「AutoRun」、自動起動の対象ではないが、仮想マシンのワークメモリに置いて良いことを示す「Persistent」、仮想マシンのワークメモリにはおかれるが、CPUパワーの割り当ては不可となる「Suspend」がある。
「AutoRun」は、対応するタイトルの分岐と同時に、そのアプリケーションをワークメモリに読み込み、且つ実行する旨を示す生存区間である。あるタイトルから、別のタイトルへの分岐があると、アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、その分岐先タイトルにおいて生存しており、かつ起動属性がAutoRunに設定されたアプリケーションを仮想マシンのワークメモリに読み込み実行する。これによりそのアプリケーションは、タイトル分岐と共に自動的に起動されることになる。起動属性をAutoRunに設定しておくアプリケーションとしては、JMFプレーヤインスタンス及びJumpTitleAPIコールをもつようなアプリケーションが挙げられる。何故なら、このようなアプリケーションは、タイトル時間軸を律する側のアプリケーションであり、このようなアプリケーションを自動的に起動にしないと、タイトル時間軸の概念が曖昧になってしまうからである。
Next, application activation attributes will be described. The startup attribute is “AutoRun” indicating automatic startup, “Persistent” indicating that it is not the target of automatic startup, but it can be placed in the virtual machine work memory. There is a “Suspend” that disables power allocation.
“AutoRun” is a life cycle indicating that the application is read into the work memory and executed simultaneously with the branching of the corresponding title. When there is a branch from one title to another, the management entity (application manager) that manages applications manages the application that is alive at the branch destination title and whose startup attribute is set to AutoRun. Read into work memory and execute. As a result, the application is automatically started together with the title branch. As an application in which the start attribute is set to AutoRun, an application having a JMF player instance and a JumpTitleAPI call can be mentioned. This is because such an application is an application that regulates the title time axis, and unless such an application is automatically activated, the concept of the title time axis becomes ambiguous.
起動属性「Persistent」は、継続属性であり、分岐元titleにおけるアプリケーションの状態を継続することを示す。またワークメモリにロードしてよいことを示す属性である。起動属性が「Persistent」である場合、この起動属性が付与されたアプリケーションは、他のアプリケーションからの呼び出しが許可されることになる。アプリケーション管理を行う管理主体(アプリケーションマネージャ)は、起動中のアプリケーションから呼出があると、そのアプリケーションのapplicationIDが、アプリケーション管理テーブルに記述されていて、起動属性が「Persistent」であるか否かを判定する。「Persistent」であれば、そのアプリケーションをワークメモリにロードする。一方、その呼出先アプリケーションのapplicationIDがアプリケーション管理テーブルに記述されていない場合、そのアプリケーションはワークメモリにロードされない。アプリケーションによる呼出は、この「Persistent」が付与されたアプリケーションに限られることになる。 The activation attribute “Persistent” is a continuation attribute and indicates that the state of the application in the branch source title is continued. It is also an attribute indicating that it can be loaded into the work memory. When the activation attribute is “Persistent”, an application having this activation attribute is permitted to be called from another application. When there is a call from a running application, the management entity that manages the application (application manager) determines whether the application ID of the application is described in the application management table and the startup attribute is "Persistent" To do. If it is “Persistent”, the application is loaded into the work memory. On the other hand, when the application ID of the call destination application is not described in the application management table, the application is not loaded into the work memory. Calls by the application are limited to applications to which this “Persistent” is assigned.
「Persistent」は、起動属性を明示的に指定しない場合に付与されるデフォルトの起動属性であるから、あるアプリケーションの起動属性が無指定「−−」である場合、そのアプリケーションの起動属性の起動属性はこのPersistentであることを意味する。
これらの起動属性が、図11のアプリケーションにおいてどのように記述されているかについて説明する。図13は、図12の3つのアプリケーションに対する起動属性の設定例である。図12に示した3つのアプリケーションのうちapplication#2は、図13(b)に示すように他のアプリケーションからのアプリケーション呼出があって初めて起動するアプリケーションであるとする。残りのapplication#1、application#3は、title#1の開始と同時に自動的に起動されるアプリケーションであるとする。この場合、図13(a)に示すように、アプリケーション管理テーブルにおける各アプリケーションの起動属性を、application#1、application#3は「AutoRun」、application#2は、「Persistent」と設定しておく。この場合、application#1、application#3は、title#1への分岐時において自動的にワークメモリにロードされ、実行されることになる。一方application#2は、起動属性がPersistentなので、「application#2は仮想マシンのワークメモリ上にロードしてよいアプリケーション」であるとの消極的な意味に解される。故に、application#2は、application#1からの呼出があって初めて仮想マシンのワークメモリにロードされ、実行されることになる。以上の生存区間・起動属性により、仮想マシン上で動作し得るアプリケーションの数を4個以下に制限し、総スレッド数を64個以下に制限することが可能なので、アプリケーションの安定動作を保証することができる。
Since “Persistent” is a default activation attribute that is given when the activation attribute is not explicitly specified, when the activation attribute of a certain application is unspecified “-”, the activation attribute of the activation attribute of the application Means that this is Persistent.
How these start attributes are described in the application of FIG. 11 will be described. FIG. 13 is a setting example of activation attributes for the three applications in FIG. Of the three applications shown in FIG. 12,
続いてSuspendについて説明する。
Suspendとは、リソースは割り付けられているが、CPUパワーは割り当てられない状態にアプリケーションが置かれることをいう。かかるSuspendは、例えばゲームタイトルの実行中に、サイドパスを経由するという処理の実現に有意義である。図14(a)(b)はSuspendが有意義となる事例を示す図である。図14(b)に示すように、3つのタイトル(title#1、title#2、title#3)があり、そのうちtitle#1、title#3はゲームアプリを実行するが、途中のtitle#2はサイドパスであり、映像再生を実現するものである。サイドパスでは、映像再生を実現する必要があるため、ゲームの実行を中断させることになる。ゲームアプリでは途中のスコア等が計数されているため、リソースの格納値はtitle#2の前後で維持したい。この場合、title#2の開始時点でゲームアプリをSuspendし、title#3の開始時点でapplication#2をレジュームするというようにアプリケーション管理テーブルを記述する。こうすることでtitle#2においてapplication#2は、リソースは割り付けられているので、リソースの格納値は維持される。しかし、CPUパワーは割り当てられない状態なので仮想マシンによりapplication#2は実行されることはない。これにより、ゲームタイトルの実行中に、サイドパスを実行するという処理が実現される。
Next, Suspend will be explained.
Suspend means that an application is placed in a state where resources are allocated but CPU power is not allocated. Such Suspend is significant for realizing a process of passing through a side path during execution of a game title, for example. FIGS. 14A and 14B are diagrams showing a case where Suspend is significant. As shown in FIG. 14B, there are three titles (
図15は、起動属性がとり得る三態様(Persistent、AutoRun、Suspend)と、直前タイトルにおけるアプリケーション状態の三態様(非起動、起動中、Suspend)とがとりうる組合せを示す図である。直前状態が"非起動"である場合、起動属性が"AutoRun"であるなら、分岐先タイトルにおいてそのアプリケーションは、起動されることになる。
直前状態が"非起動"であり、起動属性が"Persistent"、"Suspend"であるなら、分岐先タイトルにおいてそのアプリケーションは、何ももせず、状態を継続することになる。
FIG. 15 is a diagram illustrating combinations that can take three modes (Persistent, AutoRun, Suspend) that the activation attribute can take and three modes (non-activation, activation, Suspend) of the application status in the immediately preceding title. When the immediately preceding state is “not activated”, if the activation attribute is “AutoRun”, the application is activated in the branch destination title.
If the immediately preceding state is “not activated” and the activation attribute is “Persistent” or “Suspend”, the application does nothing in the branch destination title and continues the state.
直前状態が"起動中"である場合、起動属性が"Persistent"、"AutoRun"であるなら、分岐先タイトルにおいてそのアプリケーションは、何もせず、状態を継続することになる。
起動属性が"Suspend"であるなら、アプリケーションの状態はSuspendされることになる。直前状態が"Suspend"である場合、分岐先タイトルの起動属性が"Suspend"ならSuspendを維持することになる。"Persistent"、"AutoRun"であるなら、分岐先タイトルにおいてそのアプリケーションは、レジュームすることになる。アプリケーション管理テーブルにおいて生存区間及び起動属性を定義することにより、タイトル時間軸の進行に沿って、Javaアプリケーションを動作させるという同期制御が可能になり、映像再生と、プログラム実行とを伴った、様々なアプリケーションを世に送り出すことができる。以上が記録媒体についての説明である。続いて本発明に係る再生装置について説明する。
When the immediately preceding state is “active”, if the activation attribute is “Persistent” or “AutoRun”, the application does nothing in the branch destination title and continues the state.
If the activation attribute is "Suspend", the application state will be suspended. When the immediately preceding state is “Suspend”, if the start attribute of the branch destination title is “Suspend”, Suspend is maintained. If “Persistent” or “AutoRun”, the application resumes at the branch destination title. By defining the life cycle and activation attributes in the application management table, it is possible to perform synchronous control of running Java applications along the progress of the title time axis. You can send the application to the world. This completes the description of the recording medium. Next, the playback apparatus according to the present invention will be described.
図16は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BD-ROMドライブ1、リードバッファ2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、P-Graphicsデコーダ9、Presentation Graphicsプレーン10、合成部11、フォントゼネレータ12、I-Graphicsデコーダ13、スイッチ14、Interactive Graphicsプレーン15、合成部16、HDD17、リードバッファ18、デマルチプレクサ19、オーディオデコーダ20、シナリオメモリ21、CPU22、キーイベント処理部23、命令ROM24、スイッチ25、CLUT部26、CLUT部27、PSRセット28、ローカルメモリ29から構成される。
FIG. 16 is a diagram showing the internal configuration of the playback apparatus according to the present invention. The reproducing apparatus according to the present invention is industrially produced based on the inside shown in the figure. The playback device according to the present invention mainly comprises two parts, a system LSI and a drive device, and can be industrially produced by mounting these parts on the cabinet and substrate of the device. The system LSI is an integrated circuit in which various processing units that fulfill the functions of the playback device are integrated. The reproduction apparatus thus produced includes a BD-
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
リードバッファ2は、FIFOメモリであり、BD-ROMから読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)3は、リードバッファ2からTSパケットを取り出して、このTSパケットを構成するTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、CPU22から設定されたPIDをもつものをビデオデコーダ4、オーディオデコーダ20、P-Graphicsデコーダ9、I-Graphicsデコーダ13のどれかに出力する。
The BD-
The read
A demultiplexer (De-MUX) 3 takes out a TS packet from the read
ビデオデコーダ4は、デマルチプレクサ3から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。再生装置に複数のプレーンを設けておき、これらプレーンの格納内容を画素毎に加算して、映像出力を行えば、複数の映像内容を合成させた上で映像出力を行うことができる。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。
The
The
P-Graphicsデコーダ9は、BD-ROM、HDD17から読み出されたプレゼンテーショングラフィクスストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン10に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphicsプレーン10は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン10中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン10に格納された非圧縮グラフィクスは、表示に供される。
The P-
The
合成部11は、非圧縮状態のピクチャデータ(i)を、Presentation Graphicsプレーン10の格納内容と合成する。
フォントゼネレータ12は、文字フォントを用いてtextSTストリームに含まれるテキストコードをビットマップに展開する。
I-Graphicsデコーダ13は、BD-ROM又はHDD17から読み出されたインタラクティブグラフィクスストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン15に書き込む。
The synthesizer 11 synthesizes the uncompressed picture data (i) with the contents stored in the
The
The I-
スイッチ14は、フォントゼネレータ12が生成したフォント列、P-Graphicsデコーダ9のデコードにより得られたグラフィクスの何れかを選択的にPresentation Graphicsプレーン10に書き込むスイッチである。
Interactive Graphicsプレーン15は、I-Graphicsデコーダ13によるデコードで得られた非圧縮グラフィクスが書き込まれる。
The
In the
合成部16は、Interactive Graphicsプレーン10の格納内容と、合成部8の出力である合成画像(非圧縮状態のピクチャデータと、Presentation Graphicsプレーン7の格納内容とを合成したもの)とを合成する。
HDD17は、ネットワーク等を介してダウンロードされたSubClip、Clip情報、プレイリスト情報が格納される内蔵媒体である。このHDD17中のプレイリスト情報はBD-ROM及びHDD17のどちらに存在するClip情報であっても、指定できる点で異なる。この指定にあたって、HDD17上のプレイリスト情報は、BD-ROM上のファイルをフルパスで指定する必要はない。本HDD17は、BD-ROMと一体になって、仮想的な1つのドライブ(バーチャルパッケージと呼ばれる)として、再生装置により認識されるからである。故に、PlayItem情報におけるClip_Information_file_name及びSubPlayItem情報のClip_Information_file_nameは、Clip情報の格納したファイルのファイルボデイにあたる5桁の数値を指定することにより、HDD17、BD-ROM上のAVClipを指定することができる。このHDDの記録内容を読み出し、BD-ROMの記録内容と動的に組み合わせることにより、様々な再生のバリエーションを産み出すことができる。
The synthesizing unit 16 synthesizes the stored content of the
The HDD 17 is a built-in medium that stores SubClip, Clip information, and playlist information downloaded via a network or the like. The playlist information in the HDD 17 is different in that it can be specified regardless of clip information existing in either the BD-ROM or the HDD 17. In this specification, the playlist information on the HDD 17 does not need to specify a file on the BD-ROM with a full path. This is because the HDD 17 is integrated with the BD-ROM and is recognized by the playback device as one virtual drive (called a virtual package). Therefore, the Clip_Information_file_name in the PlayItem information and the Clip_Information_file_name in the SubPlayItem information can designate an AVClip on the HDD 17 or BD-ROM by designating a 5-digit numerical value corresponding to the file body of the file storing the Clip information. By reading out the recorded contents of this HDD and dynamically combining it with the recorded contents of the BD-ROM, various playback variations can be produced.
リードバッファ18は、FIFOメモリであり、HDD17から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)19は、リードバッファ18からTSパケットを取り出して、TSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所望のstreamPIDをもつものをフォントゼネレータ12に出力する。
The read buffer 18 is a FIFO memory, and TS packets read from the HDD 17 are stored in a first-in first-out manner.
A demultiplexer (De-MUX) 19 takes out a TS packet from the read buffer 18 and converts the TS packet into a PES packet. The PES packet obtained by the conversion is output to the
オーディオデコーダ20は、デマルチプレクサ19から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
シナリオメモリ21は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
The
The
CPU22は、命令ROM24に格納されているソフトウェアを実行して、再生装置全体の制御を実行する。
キーイベント処理部23は、リモコンや再生装置のフロントパネルに対するキー操作に応じて、その操作を行うキーイベントを出力する。
命令ROM24は、再生装置の制御を規定するソフトウェアを記憶している。
The
The key
The
スイッチ25は、BD-ROM及びHDD17から読み出された各種データを、リードバッファ2、リードバッファ18、シナリオメモリ21、ローカルメモリ29のどれかに選択的に投入するスイッチである。
CLUT部26は、ビデオプレーン5に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
The
The
CLUT部27は、Interactive Graphicsプレーン15に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
PSRセット28は、再生装置に内蔵されるレジスタであり、64個のPlayer Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
The
The PSR set 28 is a register built in the playback device, and includes 64 Player Status Registers (PSR) and 4096 General Purpose Registers (GPR). Of the setting values (PSR) of the Player Status Register, PSR4 to PSR8 are used to represent the current playback point.
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR4 is set to a value between 1 and 100 to indicate the title to which the current playback point belongs, and is set to 0 to indicate that the current playback point is the top menu.
PSR5 is set to a value from 1 to 999 to indicate the chapter number to which the current playback point belongs, and is set to 0xFFFF to indicate that the chapter number is invalid in the playback device.
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するPL(カレントPL)の番号を示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するPlay Item(カレントPlay Item)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM(Presentation TiMe))を示す。以上のPSR4〜PSR8により、現在の再生時点が特定されることになる。
PSR6 is set to a value of 0 to 999, and indicates the number of the PL (current PL) to which the current playback time point belongs.
PSR7 is set to a value from 0 to 255, and indicates the number of the Play Item (current Play Item) to which the current playback time point belongs.
PSR8 is set to a value of 0 to OxFFFFFFFF to indicate the current playback time point (current PTM (Presentation TiMe)) with a time accuracy of 45 KHz. The current playback time point is specified by the above PSR4 to PSR8.
ローカルメモリ29は、BD-ROMからの読み出しは低速である故、BD-ROMの記録内容を一時的に格納しておくためのキャッシュメモリである。かかるローカルメモリ29が存在することにより、BD-Jモードにおけるアプリケーション実行は、効率化されることになる。図17(a)は、BD-ROMに存在しているJavaアーカイブファイルを、ローカルメモリ29上でどのように識別するかを示す図である。図17(a)の表は、左欄にBD-ROM上のファイル名を、右欄にローカルメモリ29上のファイル名をそれぞれ示している。これら右欄、左欄を比較すれば、ローカルメモリ29におけるファイルは、ディレクトリ指定"BDJA"を省いたファイルパスで指定されていることがわかる。
The
図17(b)は、図17(a)の応用を示す図である。本応用例は、ヘッダ+データという形式で、ファイルに格納されているデータを格納するというものである。何をヘッダに用いるかというと、ローカルメモリ29におけるファイルパスを用いる。図17(b)に示したように、ローカルメモリ29ではBD-ROMにおけるファイルパスの一部を省略したものをファイルパスに用いるから、当該ファイルパスをヘッダに格納することで、各データにおけるBD-ROM上の所在を明らかにすることができる。
FIG. 17B is a diagram showing an application of FIG. In this application example, data stored in a file is stored in a format of header + data. What is used for the header is the file path in the
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置のソフトウェア構成について説明する。
図18は、ROM24に格納されたソフトウェアと、ハードウェアとからなる部分を、レイア構成に置き換えて描いた図である。本図に示すように、再生装置のレイア構成は、以下のa),b),c),d-1),d-2),e),f)からなる。つまり、
a)物理的なハードウェア階層の上に、
b)AVClipによる再生を制御するPresentation Engine31、
c)プレイリスト情報及びClip情報に基づく再生制御を行うPlayback Control Engine32、
という2つの階層があり、
最上位の階層に
e)タイトル間の分岐を実行するモジュールマネージャ34がある。
The above is the hardware configuration of the playback apparatus according to the present embodiment. Next, the software configuration of the playback apparatus according to this embodiment will be described.
FIG. 18 is a diagram in which a portion composed of software and hardware stored in the
a) Above the physical hardware hierarchy,
b)
c)
There are two levels,
At the top level
e) There is a
これらHDMVモジュール33、モジュールマネージャ34の間に、
d-1)Movieオブジェクトの解読・実行主体であるHDMVモジュール33と、
d-2)BD-Jオブジェクトの解読・実行を行うBD-Jモジュール35とが同じ階層に置かれている。
BD-Jモジュール35は、いわゆるJavaプラットフォームであり、ワークメモリ37を含むJava仮想マシン38を中核にした構成になっていて、アプリケーションマネージャ36、Event Listner Manager39、Default Operation Manager40から構成される。先ず初めに、Presentation Engine31〜モジュールマネージャ34について説明する。図19は、Presentation Engine31〜モジュールマネージャ34による処理を模式化した図である。
Between these
d-1)
d-2) The BD-
The BD-
Presentation Engine31は、AV再生機能を実行する。再生装置のAV再生機能とは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(Angle Change)といった機能である。AV再生機能を実現するべく、Presentation Engine31は、リードバッファ2上に読み出されたAVClipのうち、所望に時刻にあたる部分のデコードを行うよう、ビデオデコーダ4、P-Graphicsデコーダ9、I-Graphicsデコーダ13、オーディオデコーダ20を制御する。所望の時刻としてPSR8(カレントPTM)に示される箇所のデコードを行わせることにより、AVClipにおいて、任意の時点を再生を可能することができる。図中の1は、Presentation Engine31によるデコード開始を模式化して示す。
The
再生制御エンジン(Playback Control Engine(PCE))32は、プレイリストの再生機能(i)、再生装置における状態取得/設定機能(ii)といった諸機能を実行する。PLの再生機能とは、Presentation Engine31が行うAV再生機能のうち、再生開始や再生停止を、カレントPL情報及びClip情報に従って行わせることをいう。これら機能(i)〜(ii)は、HDMVモジュール33〜BD-Jモジュール35からのファンクションコールに応じて実行する。つまり再生制御エンジン32は、ユーザ操作による指示、レイヤモデルにおける上位層からの指示に応じて、自身の機能を実行する。図19において、2,3が付された矢印は、Clip情報及びプレイリスト情報に対するPlayback Control Engine32の参照を模式的に示す。
The playback control engine (Playback Control Engine (PCE)) 32 executes various functions such as a playlist playback function (i) and a status acquisition / setting function (ii) in the playback device. The PL playback function means that, among the AV playback functions performed by the
HDMVモジュール33は、MOVIEモードの実行主体であり、モジュールマネージャ34から分岐先を構成するMovieオブジェクトが通知されれば、分岐先タイトルを構成するMovieオブジェクトをローカルメモリ29に読み出して、このMovieオブジェクトに記述されたナビゲーションコマンドを解読し、解読結果に基づきPlayback Control Engine32に対するファンクションコールを実行する。図19において▽2,▽3,▽4が付された矢印は、モジュールマネージャ34からの分岐先Movieオブジェクトの通知(2)、Movieオブジェクトに記述されたナビゲーションコマンドの解読(3)、Playback Control Engine32に対するファンクションコール(4)を、模式的に示している。
The
モジュールマネージャ34は、BD-ROMから読み出されたIndex Tableを保持して、分岐制御を行う。この分岐制御は、JumpTitleコマンドをHDMVモジュール33が実行した場合、又は、タイトルジャンプAPIがBD-Jモジュール35からコールされた場合、そのジャンプ先となるタイトル番号を受け取って、そのタイトルを構成するMovieオブジェクト又はBD-JオブジェクトをHDMVモジュール33又はBD-Jモジュール35に通知するというものである。図中の▽0,▽1,▽2が付された矢印は、JumpTitleコマンドの実行(0)、モジュールマネージャ34によるIndexTable参照(1)、分岐先Movieオブジェクト(2)の通知を模式的に示している。
The
以上がPresentation Engine31〜モジュールマネージャ34についての説明である。続いてアプリケーションマネージャ36について、図20を参照しながら説明する。図20は、アプリケーションマネージャ36を示す図である。
アプリケーションマネージャ36は、アプリケーション管理テーブルを参照したアプリケーションの起動制御、タイトルの正常終了時における制御を実行する。
The above is the description of the
The
起動制御とは、モジュールマネージャ34から分岐先となるBD-Jオブジェクトが通知される度に、そのBD-Jオブジェクトを読み出し、そのBD-Jオブジェクト内のアプリケーション管理テーブルを参照してローカルメモリ29アクセスを行う。そして現在の再生時点を生存区間とするアプリケーションを構成するxletプログラムを、ワークメモリに読み出すという制御である。図20における☆1,☆2,☆3は、起動制御における分岐先BD-Jオブジェクトの通知(1)、アプリケーション管理テーブル参照(2)、Java仮想マシン38に対する起動指示を模式化して示す。この起動指示によりJava仮想マシン38は、ローカルメモリ29からワークメモリ37にxletプログラムを読み出す(☆5)。
Activation control means that each time a BD-J object to be branched from is notified from the
タイトルの終了制御には、正常終了時の制御と、異常終了時の制御とがある。正常終了時の制御には、タイトルを構成するアプリケーションによりジャンプタイトルAPIがコールされて、分岐先タイトルへの切り換えを分岐制御の主体(モジュールマネージャ34)に要求するという制御がある。この終了制御における、モジュールマネージャ34通知を模式化して示したのが矢印☆6である。ここでタイトルを正常終了するにあたって、タイトルを構成するアプリケーションは、起動されたままであってもよい。何故なら、アプリケーションを終了するか否かは、分岐先タイトルにおいて判断するからである。本実施形態では深く触れないが、アプリケーションマネージャ36は、BD-ROMからローカルメモリ29にJavaアーカイブファイルを読み出す(8)との処理を行う。このローカルメモリ29への読み出しを模式化したのが☆8である。
The title end control includes a normal end control and an abnormal end control. The control at the normal end includes a control in which the jump title API is called by an application constituting the title and the switching control main body (module manager 34) is requested to switch to the branch destination title. An arrow ☆ 6 schematically shows the notification of the
以上がアプリケーションマネージャ36についての説明である。続いてワークメモリ37〜Default Operation Manager40について、図21を参照しながら説明する。
ワークメモリ37は、アプリケーションを構成するxletプログラムが配置されるヒープ領域である。ワークメモリ37は、本来Java仮想マシン38内に存在するが、図21では、作図の便宜上、ワークメモリ37をJava仮想マシン38上位層に記述している。ワークメモリ37上のxletプログラムには、EventListnerや、JMFプレーヤインスタンスが含まれる。
This completes the description of the
The
Java仮想マシン38は、アプリケーションを構成するxletプログラムをワークメモリ37にロードして、xletプログラムを解読し、解読結果に従った処理を実行する。上述したようにxletプログラムは、JMFプレーヤインスタンス生成を命じるメソッド、このJMFプレーヤインスタンスの実行を命じるメソッドを含むので、これらのメソッドで命じられた処理内容を実現するよう、下位層に対する制御を行う。JMFプレーヤインスタンス生成が命じられば、Java仮想マシン38は、BD-ROM上のYYYY.MPLSファイルに関連付けられたJMFプレーヤインスタンスを得る。また、JMFプレーヤインスタンスにおけるJMFメソッドの実行が命じられれば、このJMFメソッドをBDミドルウェアに発行して、BD再生装置が対応しているファンクションコールに置き換させる。そして置換後のファンクションコールをPlayback Control Engine32に発行する。
The Java
Event Listner Manager39は、ユーザ操作により生じたイベント(キーイベント)を解析し、イベントの振り分けを行う。図中の実線矢印◇1,◇2は、このEvent Listner Manager39による振り分けを模式的に示す。START、STOP、SPEED等、xletプログラム内のEvent Listnerに登録されたキーイベントなら、BD-Jオブジェクトにより間接参照されているxletプログラムにかかるイベントを振り分ける。START、STOP、SPEEDは、JMFに対応したイベントであり、xletプログラムのEvent Listnerには、これらのキーイベントが登録されているので、本キーイベントによりxletプログラムの起動が可能になる。キーイベントがEvent Listner非登録のキーイベントである場合、本キーイベントをDefault Operation Manager40に振り分ける。音声切り換え、アングル切り換え等、BD-ROM再生装置において生じるキーイベントには、Event Listnerに登録されていない多様なものがあり、これらのキーイベントが生じたとしても、漏れの無い処理を実行するためである。
The
Default Operation Manager40は、xletプログラム内のEvent Listnerに登録されてないキーイベントがEvent Listner Manager39から振り分けられると、そのEvent Listner非登録イベントに対応するファンクションコールをPlayback Control Engine32に対して実行する。このDefault Operation Manager40によるファンクションコールを模式的に示したのが、図中の矢印◇3である。尚、図21においてEvent Listner非登録イベントはEvent Listner Manager39、Default Operation Manager40により振り分けられたが、Playback Control Engine32がダイレクトにEvent Listner非登録イベントを受け取り、再生制御を行ってもよい(図中の◇4)。
When a key event that is not registered in the Event Listner in the xlet program is distributed from the
。
(フローチャートの説明)
以上のアプリケーションマネージャ36についての説明は、その概要に触れたに過ぎない。アプリケーションマネージャ36の処理を更に詳しく示したのが図22、図23のフローチャートである。以降、これらのフローチャートを参照してアプリケーションマネージャ36の処理手順についてより詳しく説明する。
.
(Explanation of flowchart)
The above description of the
図22は、アプリケーションマネージャ36による分岐時の制御手順を示す図である。本フローチャートは、ステップS2〜ステップS5がなす条件を満たすアプリケーション(アプリケーションxという)を、起動又は終了させるという処理である。
ステップS2は、分岐元タイトルで非起動だが、分岐先タイトルで生存していて、分岐先タイトルにおける起動属性がAutoRun属性のアプリケーションxが存在するか否かの判定であり、もしあれば、ローカルメモリ29に対するキャッシュセンスを行う。キャッシュセンスの結果、アプリケーションxがローカルメモリ29上に有れば(ステップS7でYes)、ローカルメモリ29からワークメモリ37にアプリケーションxを読み込む(ステップS8)。ローカルメモリ29に無ければ、BD-ROMからローカルメモリ29にアプリケーションxを読み込んだ上で、ローカルメモリ29からワークメモリ37にアプリケーションxを読み込む(ステップS9)。
FIG. 22 is a diagram showing a control procedure at the time of branching by the
Step S2 is a determination as to whether or not there is an application x that is not activated at the branch source title but is alive at the branch destination title and the activation attribute at the branch destination title is the AutoRun attribute. A cache sense for 29 is performed. As a result of the cache sense, if the application x is present on the local memory 29 (Yes in step S7), the application x is read from the
ステップS3は、分岐元タイトルで起動中で、分岐先タイトルで非生存のアプリケーションxが存在するかどうかの判定である。もし存在するのなら、アプリケーションxをワークメモリ37から削除して終了させる(ステップS10)。
ステップS4は、分岐元Suspend、分岐先AutoRun又はPersistentのアプリケーションが存在するか否かの判定である。もし存在するなら、アプリケーションxをResumeする(ステップS11)。
Step S3 is a determination as to whether or not there is an application x that is running with the branch source title and is not alive with the branch destination title. If it exists, the application x is deleted from the
Step S4 is a determination as to whether or not a branch source Suspend, branch destination AutoRun, or Persistent application exists. If it exists, the application x is resumed (step S11).
ステップS5は、分岐元タイトルで起動中で、分岐先Suspendのアプリケーションが存在するか否かの判定である。もし存在すれば、アプリケーションxをSuspendする(ステップS12)。
個々のアプリケーションを終了させるにあたってのアプリケーションマネージャ36の処理は、図23に示すものとなる。図23は、アプリケーション終了処理の処理手順を示すフローチャートである。本図は、終了すべき複数アプリケーションのそれぞれについて、ステップS16〜ステップS20の処理を繰り返すループ処理になっている(ステップS15)。本ループ処理においてアプリケーションマネージャ36は起動中アプリケーションを終了するようなterminateイベントを発行し(ステップS16)、タイマセットして(ステップS17)、ステップS18〜ステップS20からなるループ処理に移行する。このterminateイベントをEvent Listnerが受信すれば、対応するxletプログラムは、終了プロセスを起動する。終了プロセスが終了すれば、そのxletプログラムはワークメモリ37から解放され、終了することになる。
Step S5 is a determination of whether or not there is a branch destination Suspend application running with the branch source title. If it exists, the application x is suspended (step S12).
The processing of the
ステップS18〜ステップS20のループ処理の継続中、タイマはカウントダウンを継続する。本ループ処理においてステップS18は、発行先アプリケーションが終了したか否かの判定であり、もし終了していればこのアプリケーションに対する処理を終える。ステップS19は、タイマがタイムアウトしたか否かの判定であリ、タイムアウトすれば、ステップS20において発行先アプリケーションをワークメモリ37から削除してアプリケーションを強制終了する。
While the loop processing from step S18 to step S20 is continued, the timer continues to count down. In this loop process, step S18 is a determination as to whether or not the issue destination application has ended. If it has ended, the process for this application is ended. In step S19, it is determined whether or not the timer has timed out. If timed out, in step S20, the issue destination application is deleted from the
以上のモジュールマネージャ34の処理を、図24を参照しながら説明する。
図24は、アプリケーション終了の過程を模式的に示した図である。本図における第1段目は、アプリケーションマネージャ36を、第2段目は、3つのアプリケーションを示す。図24の第2段目、左側のアプリケーションは、terminateイベントを受信して終了プロセスに成功したアプリケーションを示す。図24の第2段目、中列のアプリケーションは、terminateイベントを受信したが終了プロセスに失敗したアプリケーションを示す。第2段目、右側のアプリケーションは、EventListnerが実装されていないので、terminateイベントを受信することができなかったアプリケーションを示す。
The processing of the
FIG. 24 is a diagram schematically showing the process of application termination. The first level in the figure shows the
第1段目−第2段目間の矢印ep1,ep2は、アプリケーションマネージャによるterminateイベント発行を模式的に示し、矢印ep3は、終了プロセス起動を模式的に示している。
第3段目は、終了プロセス成功時における状態遷移後の状態であり、このアプリケーションは、自身の終了プロセスにより終了することになる。これらxletプログラムのように、所定の期間内に終了しないアプリケーションがあれば、アプリケーションマネージャ36は、それらを強制的にワークメモリ37から取り除く。第4段目は、アプリケーションマネージャ36による強制終了を示す。かかる第4段目の強制終了を規定するのも、アプリケーションマネージャ36の1つの使命といえる。
Arrows ep1 and ep2 between the first level and the second level schematically indicate that a terminate event is issued by the application manager, and an arrow ep3 schematically indicates termination process activation.
The third level is the state after the state transition when the termination process is successful, and this application is terminated by its own termination process. If there are applications that do not end within a predetermined period, such as these xlet programs, the
以上のように本実施形態によれば、分岐元タイトルで起動しており、分岐先タイトルで生存していないアプリケーションは、自動的に終了させられるので、条件付き分岐により再生が複雑に進行する場合でも、再生装置におけるリソースの限界を越える数のアプリケーション立ち上げはなされ無い。分岐前後におけるアプリケーション動作を保証することができるので、デジタルストリームを再生させながら、アプリケーションを実行させるようなディスクコンテンツを多く頒布することができる。 As described above, according to the present embodiment, an application that is started with a branch source title and is not alive with a branch destination title is automatically terminated. However, the number of applications that exceed the resource limit of the playback device will not be launched. Since the application operation before and after branching can be guaranteed, it is possible to distribute a large amount of disc content that allows the application to be executed while playing back the digital stream.
(第2実施形態)
第1実施形態においてアプリケーションの生存区間は、タイトル時間軸と一致していたが、第2実施形態は、PL時間軸の一部をアプリケーションの生存区間とすることを提案する。PL時間軸の一部は、チャプターにより表現されるので、チャプターにて開始点、終了点を記述することにより、アプリケーションの生存区間を規定することができる。図25(a)は、PL時間軸上に生存区間を定めたアプリケーション管理テーブルを示す図である。図25(a)においてアプリケーション管理テーブルには、3つのアプリケーションが記述されており、このうちapplication#2は、title#1のChapter#2からChapter#3までが生存区間に指定され、起動属性にAutoRunが規定されている。このためapplication#2は、図25(b)に示すように、Chapter#2の始点で起動され、Chapter#3の終点で終了することになる。
(Second embodiment)
In the first embodiment, the lifetime of the application coincides with the title time axis, but the second embodiment proposes that a part of the PL time axis is set as the lifetime of the application. Since a part of the PL time axis is expressed by a chapter, the life cycle of the application can be defined by describing the start point and end point in the chapter. FIG. 25A is a diagram showing an application management table in which a life cycle is defined on the PL time axis. In FIG. 25A, three applications are described in the application management table. Among them,
一方application#3は、title#1のChapter#4からChapter#6までが生存区間に指定されている。このためapplication#3は、図25(b)に示すように、図25(b)に示すように、Chapter#4の始点で起動され、Chapter#6の終点で終了することになる。
こうして記述されたアプリケーション管理テーブルに基づき、処理を行うため本実施形態に係るアプリケーションマネージャ36は、PLmarkにより指示されるチャプター開始点に到達する度に、そのチャプター開始点から生存区間が始まるアプリケーションが存在するか否かを判定し、もし存在すればそのアプリケーションをワークメモリ37にロードする。
On the other hand, for
In order to perform processing based on the application management table described in this way, the
同様に、チャプター開始点に到達する度に、そのチャプターの直前のチャプターで生存区間が終わるアプリケーションが存在するか否かを判定し、もし存在すればそのアプリケーションをワークメモリ37から解放する。
チャプターという単位でアプリケーションの生存を管理すれば、アプリケーションの生存区間をより細かい精度で指定することができる。しかしディスクコンテンツには、時間軸の逆向がありうることに留意せねばならない。逆行とは、巻戻しにより時間軸を逆向きに進行することである。チャプターの境界でこの逆行と、進行とが繰り返されれば、ワークメモリへのロード、廃棄が何度もなされ、余分な読出負荷が生じる。そこで本実施形態では、アプリケーションの起動時期を、タイトルに入ってPlayback Control Engine32による通常再生が開始された瞬間にしている。ここでPLの再生には、通常再生、トリック再生がある。トリック再生とは、早送り、巻戻し、SkipNext,SkipBackがある。かかる、早送り、巻戻し、SkipNext,SkipBackがなされている間、アプリケーション起動を開始せず、通常再生が開始されて初めて、アプリケーションを起動するのである。通常再生開始の瞬間を基準にすることにより、上述したような生存区間前後の行き来があった場合でも、アプリケーションの起動が必要以上に繰り返されることはない。尚、通常再生開始の瞬間を、アプリケーションの起動基準にするとの処理は、生存区間がtitleである場合にも、実行してよい。
Similarly, every time the chapter start point is reached, it is determined whether or not there is an application whose life cycle ends in the chapter immediately before that chapter. If there is, the application is released from the
If you manage the life of an application in units called chapters, you can specify the life of an application with more precision. However, it should be noted that disc content can have a reverse time axis. Backward means that the time axis advances in the reverse direction by rewinding. If this reversal and progress are repeated at the chapter boundary, the work memory is loaded and discarded many times, resulting in an extra read load. Therefore, in this embodiment, the application activation time is set to the moment when normal playback by the
以上のように本実施形態によれば、PLより小さい、チャプターの単位でアプリケーションの生存区間を規定することができるので、緻密なアプリケーション制御を実現することができる。
(第2実施形態の変更例)
図25では、各アプリケーションに優先度が付与されている。この優先度は、0〜255の値をとり、アプリケーション間でリソースの使用が競合等が競合した場合、どちらのアプリケーションを強制的に終了させるか、また、どちらのアプリケーションからリソースを奪うかという処理をアプリケーションマネージャ36が行うにあたって、判断材料になる。図25の一例では、application#1の優先度は255,application#2、application#3の優先度は128なので、application#1−application#2の競合時において、アプリケーションマネージャ36は優先度が低いapplication#2を強制終了するとの処理を行う。
As described above, according to the present embodiment, the application life span can be defined in units of chapters smaller than the PL, so that precise application control can be realized.
(Modification of the second embodiment)
In FIG. 25, priority is given to each application. This priority takes a value between 0 and 255, and when there is a conflict in resource usage between applications, which application is forcibly terminated and which application takes the resource from When the
(第3実施形態)
BD-ROMにより供されるディスクコンテンツは、互いに分岐可能な複数タイトルから構成される。各タイトルは、1つ以上のPLと、このPLを用いた制御手順とからなるもの以外に、再生装置に対する制御手順のみからなる非AV系タイトルがある。本実施形態は、この非AV系タイトルについて説明する。
(Third embodiment)
The disc content provided by the BD-ROM is composed of a plurality of titles that can be branched from each other. Each title has a non-AV title consisting of only a control procedure for the playback apparatus, in addition to one or more PLs and a control procedure using the PL. In the present embodiment, this non-AV title will be described.
こうした非AV系タイトルのタイトルでは、どのようにタイトル時間軸を定めるのかが問題になる。図26(a)は、PL時間軸から定まるタイトル時間軸を示す。この場合PL時間軸がタイトル時間軸になり、このタイトル時間軸上にアプリケーションの生存区間が定まる。この基準となるPL時間軸がない場合、タイトル時間軸は図26(b)(c)のように定めるべきである。 For such non-AV titles, the issue is how to determine the title timeline. FIG. 26A shows the title time axis determined from the PL time axis. In this case, the PL time axis becomes the title time axis, and the lifetime of the application is determined on the title time axis. When there is no PL time axis as a reference, the title time axis should be determined as shown in FIGS.
図26(b)は、メインとなるアプリケーションの生存区間から定まるタイトル時間軸を示す。メインアプリとは、タイトルにおいて起動属性がAutoRunに設定され、タイトル開始時に自動起動される唯一のアプリケーションであり、例えばランチャーアプリと呼ばれるものがこれにあたる。ランチャーアプリとは、他のアプリケーションを起動するアプリケーションプログラムである。 FIG. 26B shows the title time axis determined from the life span of the main application. The main application is the only application whose activation attribute is set to AutoRun in the title and is automatically activated at the start of the title. For example, this is called a launcher application. A launcher application is an application program that activates another application.
この図26(b)の考え方は、メインアプリが起動している限り、タイトル時間軸は継続していると考え、メインアプリが終了すれば、時間軸を終結させるというものである。図26(c)は、複数アプリケーションの生存区間から定まるタイトル時間軸を示す図である。タイトルの開始点で起動されるのは1つのアプリケーションであるが、このアプリケーションが他のアプリケーションを呼び出し、更にこのアプリケーションが別のアプリケーションを呼び出すとの処理が繰り返されるというケースがある。この場合、どれかのアプリケーションが起動している限り、タイトル時間軸は継続していると考え、どのアプリケーションも起動していない状態が到来すれば、そこでタイトル時間軸は終結するという考え方である。このように非AV系タイトルのタイトル時間軸を定めれば、AVタイトルであっても、非AV系タイトルであっても、タイトル時間軸の終結と同時に、所定のタイトルに分岐するという処理を画一的に行うことができる。尚非AVタイトルにおけるタイトル時間軸は、AVタイトルと対比する上で、想定した架空の時間軸に過ぎない。故に再生装置は、非AVタイトルにおけるタイトル時間軸上を逆行したり、任意の位置に頭出しすることができない。 The idea of FIG. 26B is that the title time axis is considered to continue as long as the main application is activated, and the time axis is terminated when the main application ends. FIG. 26 (c) is a diagram showing a title time axis determined from the life spans of a plurality of applications. One application is started at the start point of the title, but there are cases where this application calls another application, and this application calls another application. In this case, as long as any application is activated, the title time axis is considered to be continued, and if no application is activated, the title time axis is terminated there. If the title time axis of a non-AV title is determined in this way, the process of branching to a predetermined title at the same time as the end of the title time axis for both AV titles and non-AV titles is defined. Can be done unilaterally. Note that the title time axis for non-AV titles is merely a hypothetical time axis that is assumed in comparison with AV titles. Therefore, the playback device cannot go backward on the title time axis in a non-AV title or can not cue to an arbitrary position.
以上は本実施形態における記録媒体に対する改良である。続いて本実施形態における再生装置に対する改良について説明する。
上述したような手順でタイトル終了を行うため第3実施形態に係るアプリケーションマネージャ36は、図27に示すような処理で処理を行う。図27は、タイトル再生時におけるアプリケーションマネージャ36の処理手順を示すフローチャートである。本フローチャートは、タイトル再生中、ステップS21〜ステップS23を繰り返すというループ構造になっている。
The above is an improvement over the recording medium in the present embodiment. Next, improvements to the playback apparatus in this embodiment will be described.
In order to end the title in the above-described procedure, the
ステップS21は、タイトルジャンプAPIが呼び出されたか否かの判定であり、呼び出されれば、ジャンプ先タイトルへの分岐をモジュールマネージャ34に要求する(ステップS27)。
ステップS22は、タイトル内のアプリケーション呼出を担っているようなメインアプリが存在するか否かの判定であり、もし存在するなら、それの起動の有無を確認する(ステップS25)。起動してなければ、"タイトルの終わり"であると解釈し、モジュールマネージャ34に終結を通知する(ステップS26)。
Step S21 is a determination of whether or not the title jump API has been called. If so, the
In step S22, it is determined whether or not there is a main application that is responsible for calling an application in the title. If it exists, it is confirmed whether or not it is activated (step S25). If it is not activated, it is interpreted as “end of title”, and the completion is notified to the module manager 34 (step S26).
ステップS23は、メインアプリがない場合に実行されるステップであり(ステップS22でNo)、どのアプリケーションも起動してない状態かどうかを判定する。もしそうなら、同じく"タイトルの終わり"であると解釈し、モジュールマネージャ34に終結を通知する(ステップS26)。
以上のように本実施形態によれば、PL再生を伴わないタイトルであっとしても、アプリケーション実行中は分岐せず、アプリケーション実行が終了して初めて分岐するという処理が可能になる。
Step S23 is a step executed when there is no main application (No in step S22), and it is determined whether no application is activated. If so, it is also interpreted as “end of title”, and the
As described above, according to the present embodiment, even if a title does not involve PL playback, it is possible to perform processing that does not branch during application execution but branches only after application execution is completed.
(第4実施形態)
本実施形態は、DVDと同様のメニュー制御をBD-ROM上で実現する場合の改良に関する。図28(a)は、BD-ROMにより実現されるメニュー階層を示す図である。本図におけるメニュー階層は、TopMenuを最上位に配し、このTopMenuから下位のTitleMenu、SubTitleMenu、AudioMenuを選択できる構造になっている。図中の矢印sw1,2,3は、ボタン選択によるメニュー切り換えを模式的に示す。TopMenuとは、音声選択、字幕選択、タイトル選択の何れを行うかを受け付けるボタン(図中のボタンsn1,sn2,sn3)を配置したメニューである。
(Fourth embodiment)
The present embodiment relates to an improvement when menu control similar to that of a DVD is realized on a BD-ROM. FIG. 28A shows a menu hierarchy realized by the BD-ROM. The menu hierarchy in this figure has a structure in which TopMenu is arranged at the top, and subordinate TitleMenu, SubTitleMenu, and AudioMenu can be selected from this TopMenu. Arrows sw1, 2, and 3 in the figure schematically show menu switching by button selection. The TopMenu is a menu in which buttons (buttons sn1, sn2, sn3 in the figure) for accepting whether audio selection, subtitle selection, or title selection is performed are arranged.
TitleMenuとは、映画作品(title)の劇場版を選択するか、ディレクターズカット版を選択するか、ゲーム版を選択するか等、映画作品の選択を受け付けるボタンを配置したメニューである。AudioMenuとは、音声再生を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニュー、SubTitleMenuとは、字幕表示を日本語で行うか、英語で行うかを受け付けるボタンを配置したメニューである。 The TitleMenu is a menu in which buttons for accepting selection of movie works, such as whether to select a movie version (title), a director's cut version, or a game version, are arranged. AudioMenu is a menu with buttons that accept whether audio playback is done in Japanese or English, and SubTitleMenu is a menu that has buttons that accept whether subtitles are displayed in Japanese or English. is there.
こうした階層をもったメニューを動作させるためのMOVIEオブジェクトを図28(b)に示す。図28(b)においてMovieObject.bdmvには、FirstPlay OBJ、TopMenu OBJ、AudioMenu OBJ、SubTitleMenu OBJが格納されている。
FirstPlayオブジェクト(FirstPlay OBJ)は、再生装置へのBD-ROMのローディング時に自動的に実行される動的シナリオである。
A MOVIE object for operating a menu having such a hierarchy is shown in FIG. In FIG. 28B, MovieObject.bdmv stores FirstPlay OBJ, TopMenu OBJ, AudioMenu OBJ, and SubTitleMenu OBJ.
The FirstPlay object (FirstPlay OBJ) is a dynamic scenario that is automatically executed when loading a BD-ROM onto a playback device.
TopMenuオブジェクト(TopMenu OBJ)は、TopMenuの挙動を制御する動的シナリオである。ユーザがメニューコールを要求した際、呼び出されるのはこのTopMenuオブジェクトである。TopMenuオブジェクトは、ユーザからの操作に応じてTopMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドを含む。この分岐コマンドは、TopMenuからTitleMenu、TopMenuからSubTitleMenu、TopMenuからAudioMenuというメニュー切り換えを実現するものである。 The TopMenu object (TopMenu OBJ) is a dynamic scenario that controls the behavior of TopMenu. It is this TopMenu object that is called when the user requests a menu call. The TopMenu object includes a command that changes the state of a button in the TopMenu according to an operation from the user, and a branch command that branches according to a confirmation operation on the button. This branch command realizes menu switching from TopMenu to TitleMenu, TopMenu to SubTitleMenu, and TopMenu to AudioMenu.
AudioMenuオブジェクト(AudioMenu OBJ)は、AudioMenuの挙動を制御する動的シナリオであり、ユーザからの操作に応じてAudioMenu中のボタンの状態を変えるコマンドや、ボタンに対する確定操作に応じて音声設定を更新するコマンドを含む。
SubTitleMenuオブジェクト(SubTitleMenu OBJ)は、SubTitleMenuの挙動を制御する動的なシナリオであり、ユーザからの操作に応じてSubTitleMenu中のボタンの状態を変えるコマンドや、ボタンに対する確定操作に応じて字幕設定用のPSRを更新するコマンドを含む。
The AudioMenu object (AudioMenu OBJ) is a dynamic scenario that controls the behavior of the AudioMenu, and it updates the audio settings in response to commands that change the state of buttons in the AudioMenu according to user operations and confirmation operations on buttons. Contains commands.
SubTitleMenu object (SubTitleMenu OBJ) is a dynamic scenario that controls the behavior of SubTitleMenu. It is used for subtitle setting commands according to commands that change the state of buttons in SubTitleMenu according to user operations, and confirmation operations for buttons. Includes commands to update PSR.
TitleMenuオブジェクト(TitleMenu OBJ)は、TitleMenuの挙動を制御する動的シナリオであり、TitleMenu中のボタンの状態を変えるものや、ボタンに対する確定操作に応じて分岐を行う分岐コマンドをふくむ。
これらのメニュー用MOVIEオブジェクトにより、DVDで実現されているようなメニューの挙動を実現することができる。以上がメニュー制御に関連するMOVIEオブジェクトである。
The TitleMenu object (TitleMenu OBJ) is a dynamic scenario for controlling the behavior of the TitleMenu, and includes a command for changing the state of the button in the TitleMenu and a branch command for branching according to a confirmation operation on the button.
With these menu MOVIE objects, it is possible to realize the menu behavior as realized in DVD. The above is the MOVIE object related to the menu control.
図29は、Index Tableと、Index Tableから各Movieオブジェクトへの分岐とを模式化した図である。本図では左側にIndex Tableの内部構成を示している。本実施形態におけるIndex Tableには、FirstPLayINDEX、TopMenuINDEX, Audio MenuINDEX、Subtitle MenuINDEX、title MenuINDEX、title#1〜#mINDEX、title#m+1〜#nINDEX、title#0INDEXを含む。図中の矢印bc1,2は、Index TableからFirstPlayOBJへの分岐と,FirstPlayOBJからTopMenuへの分岐とを模式的に示し、矢印bc3,4,5は、TopMenuからTitleMenu、SubTitleMenu、AudioMenuへの分岐を模式的に示している。矢印bc6,7,8は、TitleMenuから各Movieオブジェクトへの分岐を模式的に示している。
FIG. 29 is a diagram schematically showing an Index Table and a branch from the Index Table to each Movie object. In this figure, the internal structure of the Index Table is shown on the left side. The Index Table in this embodiment includes FirstPLayINDEX, TopMenuINDEX, Audio MenuINDEX, Subtitle MenuINDEX, title MenuINDEX,
FirstPLayINDEX、TopMenuINDEX, Audio MenuINDEX、Subtitle MenuINDEX、title MenuINDEXは、それぞれ、FirstPLayOBJ、TopMenuOBJ, Audio MenuOBJ、Subtitle MenuOBJ、title MenuOBJについてのIndexであり、これらの識別子が記述される。
title#1〜#mINDEXは、BD-ROMにおいて1からm番目にエントリーされているtitleについてのIndexであり、これら1からmまでのtitle番号の選択時において分岐先となるMOVIEオブジェクトの識別子(ID)が記述される。
FirstPLayINDEX, TopMenuINDEX, Audio MenuINDEX, Subtitle MenuINDEX, and Title MenuINDEX are indexes for FirstPLayOBJ, TopMenuOBJ, Audio MenuOBJ, Subtitle MenuOBJ, and Title MenuOBJ, respectively, and their identifiers are described.
title#m+1〜#nINDEXは、BD-ROMにおいてm+1からn番目にエントリーされているtitleについてのIndexであり、これらm+1からnまでのtitle番号の選択時において分岐先となるBD-Jオブジェクトの識別子(ID)が記述される。
title#0INDEXは、BD-Jオブジェクトの強制終了時において分岐先になるべきMovieオブジェクト又はBD-Jオブジェクトを規定するINDEXである。本実施形態では、TopMenuOBJについての識別子が、このtitle#0INDEXに格納されている。
title # m + 1 to #nINDEX are the indexes for the nth entry from m + 1 to BD-ROM, and become branch destinations when title numbers from m + 1 to n are selected. The identifier (ID) of the BD-J object is described.
title # 0INDEX is an INDEX that defines a Movie object or a BD-J object to be a branch destination when the BD-J object is forcibly terminated. In this embodiment, an identifier for TopMenuOBJ is stored in title # 0INDEX.
図30(a)は、図29のようにIndex Tableが記述された場合における分岐を示す。Index Tableがこのように記述されているので、ラベルtitle#1〜title#mを分岐先とした分岐コマンドの実行時には、title#1Index〜title#mIndexからMovieオブジェクト#1〜#mの識別子が取り出される。ラベルtitle#m+1〜title#nを分岐とした分岐コマンドの実行時には、title#m+1Index〜title#nIndexからBD-Jオブジェクト#m+1〜#nの識別子が取り出される。BD-Jオブジェクト#m+1〜#nの識別子は、ファイル名を表す5桁の数値であるので、『00001.BD-J,00002.BD-J,00003.BD-J・・・』が取り出され、そのファイル名の動的シナリオがメモリに読み出されて、実行されることになる。これがIndex Tableを用いた分岐処理である。
FIG. 30A shows a branch when the Index Table is described as shown in FIG. Since the Index Table is described in this way, the identifiers of Movie objects # 1 to #m are extracted from the title # 1Index to title #mIndex when the branch command with the
図30(b)は、BD-Jオブジェクト実行時の強制終了時における分岐を示す図である。強制終了時における分岐では、title#0Indexから識別子が取り出されて、その識別子の動的シナリオが再生装置により実行される。この識別子が、トップメニュータイトルの識別子なら、アプリケーション強制終了時には、自動的にトップメニューOBJが選択されることになる。
以上は本実施形態における記録媒体に対する改良である。続いて本実施形態における再生装置に対する改良について説明する。上述した記録媒体の改良に対応するため、再生装置内のモジュールマネージャ34は図31に示すような処理手順で処理を行う。図31は、モジュールマネージャ34の処理手順を示すフローチャートである。本フローチャートは、ステップS31、ステップS32からなるループ処理を構成しており、ステップS31又はステップS32のどちらかがYesになった際、対応する処理を実行するものである。
FIG. 30B is a diagram showing a branch at the time of forced termination when executing a BD-J object. In the branch at the time of forced termination, the identifier is extracted from title # 0Index, and the dynamic scenario of the identifier is executed by the playback device. If this identifier is the identifier of the top menu title, the top menu OBJ is automatically selected when the application is forcibly terminated.
The above is an improvement over the recording medium in the present embodiment. Next, improvements to the playback apparatus in this embodiment will be described. In order to cope with the improvement of the recording medium described above, the
ステップS31は、タイトルジャンプAPIの呼び出しがあったか否かの判定である。もしタイトルジャンプAPIの呼び出しがあれば、分岐先ラベルであるタイトル番号jを取得し(ステップS33)、Index Tableにおけるタイトル番号jのIndexから、IDjを取り出して(ステップS34)、IDjのMovieオブジェクト又はBD-Jオブジェクトを、HDMVモジュール33又はBD-Jモジュール35に実行させる(ステップS35)。
Step S31 is a determination of whether or not the title jump API has been called. If the title jump API is called, the branch number label title number j is acquired (step S33), IDj is extracted from the index of the title number j in the index table (step S34), and the movie object IDj or The BD-J object is executed by the
ステップS32は、タイトル終了がアプリケーションマネージャ36から通知されたか否かの判定であり、もし通知されれば(ステップS32でYes)、トップメニュータイトルを構成するトップメニューOBJをHDMVモジュール33又はモジュールマネージャ34に実行させる(ステップS36)。
以上のアプリケーションマネージャ36によるアプリケーション強制終了の動作例を、図32を参照しながら説明する。ここで再生すべきタイトルは、落下するタイル片を積み重ねるというゲームアプリを含む非AV系タイトルである。図32の下段は、アプリケーションの生存区間からなるタイトル時間軸を示し、上段は、タイトル時間軸において表示される画像を示す。非AV系タイトルがゲームアプリである場合、このゲームアプリの生存区間において、図32の上段左側のように、ゲームアプリの一画面が表示される。ゲームアプリにバグがあり、異常終了すると、アプリケーションマネージャ36は図23のフローチャートに従ってゲームアプリを強制終了させ、タイトルの終了をモジュールマネージャ34に通知する。タイトル終了が通知されると、モジュールマネージャ34はトップメニュータイトルに分岐する。そうすると、図32の上段右側に示すような画像が表示され、ユーザの操作待ちになる。
以上のように本実施形態によれば、プログラムが含むが、デジタルストリームは含まないような非AV系タイトルの終了時においても、トップメニュータイトルに分岐するという制御が可能になる。これによりアプリケーションプログラムがエラー終了したとしても、ブラックアウトやハングアップの発生を回避することができる。
Step S32 is a determination of whether or not the title end is notified from the
An example of the operation of forced application termination by the
As described above, according to the present embodiment, it is possible to control to branch to a top menu title even at the end of a non-AV title that includes a program but does not include a digital stream. As a result, even if the application program ends in error, it is possible to avoid blackouts and hang-ups.
(第5実施形態)
BD-Jモードにおいて、PL再生との同期をどのように実現するかという改良に関する。図8(b)の一例においてJMFプレーヤインスタンスの再生を命じるJMFプレーヤインスタンス(A.play;)をJava仮想マシン38が解読した場合、Java仮想マシン38はPL再生APIをコールして、コール直後に"サクセス"を示す応答をアプリケーションに返す。
(Fifth embodiment)
The present invention relates to an improvement of how to synchronize with PL playback in BD-J mode. In the example of FIG. 8B, when the Java
Playback Control Engine32は、PL再生APIがコールされれば、PL情報に基づく処理手順を実行する。PLが2時間という再生時間を有するなら、この2時間の間、上述した処理は継続することになる。ここで問題になるのは、Java仮想マシン38がサクセス応答を返す時間と、Playback Control Engine32が実際に処理を終える時間とのギャップである。Java仮想マシン38は、イベントドリブンの処理主体であるためコール直後に再生成功か、再生失敗かを示す応答を返すが、Playback Control Engine32による実際の処理終了は2時間経過後であるので、サクセス応答をアプリケーションに返す時間を基準にしたのでは、2時間経過後にあたる処理終結を感知しえない。PL再生において早送り、巻戻し、Skipが行われると、この2時間という再生期間は2時間前後に変動することになり、処理終結の感知は更に困難になる。
When the PL playback API is called, the
Playback Control Engine32は、アプリケーションとスタンドアローンで動作するため、第3実施形態のような終了判定では、PL再生の終了をタイトル終了と解釈することができない。そこで本実施形態では、アプリケーションが終了してようがいまいが、ワークメモリ37にJMFプレーヤインスタンスがある限り、つまり、Presentation Engine31の制御権をBD-Jモジュール35が掌握している間、Playback Control Engine32から再生終結イベントを待つ。そして再生終結イベントがあれば、タイトルが終了したと解釈して、次のタイトルへの分岐を行うようモジュールマネージャ34に通知する。こうすることにより、Playback Control Engine32がPL再生を終結した時点を、タイトルの終端とすることができる。
Since the
以降図33〜図37のフローチャートを参照して、Playback Control Engine32による具体的な制御手順を説明する。
図33は、Playback Control Engine32によるPL再生手順を示すフローチャートである。この再生手順は、Presentation Engine31に対する制御(ステップS46)と、BD-ROMドライブ1又はHDD17に対する制御(ステップS48)とを主に含む。本フローチャートにおいて処理対象たるPlayItemをPlayItem#xとする。本フローチャートは、カレントPL情報(.mpls)の読み込みを行い(ステップS41)、その後、ステップS42〜ステップS50の処理を実行するというものである。ここでステップS42〜ステップS50は、ステップS49がYesになるまで、カレントPL情報を構成するそれぞれのPI情報について、ステップS43〜ステップS50の処理を繰り返すというループ処理を構成している。このループ処理において処理対象となるPlayItemを、PlayItem#x(PI#x)とよぶ。このPlayItem#xは、カレントPLの先頭のPlayItemに設定されることにより、初期化される(ステップS42)。上述したループ処理の終了要件は、このPlayItem#xがカレントPLの最後のPlayItemになることであり(ステップS49)、もし最後のPlayItemでなければ、カレントPLにおける次のPlayItemがPlayItem#xに設定される(ステップS50)。
Hereinafter, a specific control procedure by the
FIG. 33 is a flowchart showing a PL playback procedure by the
ループ処理において繰り返し実行されるステップS43〜ステップS50は、PlayItem#xのClip_information_file_nameで指定されるClip情報をシナリオメモリ21に読み込み(ステップS43)、PlayItem#xのIn_timeを、カレントClip情報のEPmapを用いて、Iピクチャアドレスuに変換し(ステップS44)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いて、Iピクチャアドレスvに変換して(ステップS45)、これらの変換で得られたアドレスvの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスwに設定し(ステップS47)、そうして算出されたアドレスwを用いて、IピクチャアドレスuからアドレスwまでのTSパケットの読み出しをBD-ROMドライブ1又はHDD17に命じるというものである(ステップS48)。
Steps S43 to S50 that are repeatedly executed in the loop process read the Clip information specified by the Clip_information_file_name of PlayItem # x into the scenario memory 21 (Step S43), and use the Inmap_time of PlayItem # x using the EPmap of the current Clip information. Then, it is converted to an I picture address u (step S44), and Out_time of PlayItem # x is converted to an I picture address v using the EP_map of the current Clip information (step S45). The next I picture of the address v is obtained, the address before the address is set to the address w (step S47), and the TS from the I picture address u to the address w is calculated using the calculated address w. The BD-
一方、Presentation Engine31に対しては、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力を命じる(ステップS46)。以上のステップS45〜ステップS48により、AVClipにおいて、PlayItem#xにより指示されている部分の再生がなされることになる
その後、PlayItem#xがカレントPLの最後のPIであるかの判定がなされる(ステップS49)。
On the other hand, the
PlayItem#xがカレントPLの最後のPIでなければ、カレントPLにおける次のPlayItemを、PlayItem#xに設定して(ステップS50)、ステップS43に戻る。以上のステップS43〜ステップS50を繰り返することにより、PLを構成するPIは順次再生されることになる。
図34は、アングル切り換え手順及びSkipBack,SkipNextの手順を示すフローチャートである。本フローチャートは、図33の処理手順と並行してなされるものであり、ステップS51〜S52からなるループ処理を繰り返すというものである。本ループにおけるステップS51は、アングル切り換えを要求するAPIが、Java仮想マシン38からコールされたか否かの判定であり、アングル切り換えAPIのコールがあれば、カレントClip情報を切り換えるという操作を実行する。
If PlayItem # x is not the last PI of the current PL, the next PlayItem in the current PL is set to PlayItem # x (step S50), and the process returns to step S43. By repeating the above steps S43 to S50, PIs constituting the PL are sequentially reproduced.
FIG. 34 is a flowchart showing an angle switching procedure and a SkipBack, SkipNext procedure. This flowchart is performed in parallel with the processing procedure of FIG. 33 and repeats the loop processing composed of steps S51 to S52. Step S51 in this loop is a determination of whether or not the API that requests angle switching is called from the Java
図34のステップS55は、判定ステップであり、PlayItem#xのis_multi_anglesがオンであるか否かの判定を行う。is_multi_anglesとは、PlayItem#xがマルチアングルに対応しているか否かを示すフラグであり、もしステップS55がNoであるならステップS53に移行する。ステップS55がYesであるなら、ステップS56〜ステップS59を実行する。ステップS56〜ステップS59は、切り換え後のアングル番号を変数yに代入して(ステップS56)、PlayItem#xにおけるy番目のClip_information_file_nameで指定されているClip情報をシナリオメモリ21に読み出し(ステップS57)、カレントPTMを、カレントClip情報のEP_mapを用いてIピクチャアドレスuに変換し(ステップS58)、PlayItem#xのOut_timeを、カレントClip情報のEP_mapを用いてIピクチャアドレスvに変換する(ステップS59)というものである。こうしてIピクチャアドレスu,vを変化した後、ステップS46に移行する。ステップS46への移行により、別のAVClipからTSパケットが読み出されるので、映像内容が切り換わることになる。 Step S55 in FIG. 34 is a determination step, in which it is determined whether or not is_multi_angles of PlayItem # x is on. is_multi_angles is a flag indicating whether or not PlayItem # x supports multi-angles. If step S55 is No, the process proceeds to step S53. If step S55 is Yes, steps S56 to S59 are executed. In steps S56 to S59, the angle number after switching is substituted into the variable y (step S56), and the clip information specified by the yth Clip_information_file_name in PlayItem # x is read to the scenario memory 21 (step S57). The current PTM is converted to the I picture address u using the EP_map of the current Clip information (step S58), and the Out_time of PlayItem # x is converted to the I picture address v using the EP_map of the current Clip information (step S59). That's it. After changing the I picture address u, v in this way, the process proceeds to step S46. Since the TS packet is read from another AVClip by moving to step S46, the video content is switched.
一方、図34のループにおけるステップS52は、SkipBack/SkipNextを意味するAPIがJava仮想マシン38からコールされたか否かの判定であり、もしコールされれば、図35のフローチャートの処理手順を実行する。図35は、SkipBack,SkipNextAPIがコールされた際の処理手順を示すフローチャートである。SkipBack,SkipNextを実行するにあたっての処理手順は多種多様なものである。ここで説明するのはあくまでも一例に過ぎないことに留意されたい。
On the other hand, step S52 in the loop of FIG. 34 is a determination as to whether or not an API meaning SkipBack / SkipNext has been called from the Java
ステップS61は、PSRで示されるカレントPI番号、及び、カレントPTMを変換することにより、カレントMark情報を得る。ステップS62は、押下されたのがSkipNextキーであるか、SkipBackキーであるかの判定であり、SkipNextキーであるならステップS63において方向フラグを+1に設定し、SkipBackキーであるならステップS64において方向フラグを-1に設定する。 A step S61 obtains current Mark information by converting the current PI number indicated by PSR and the current PTM. In step S62, it is determined whether the pressed key is the SkipNext key or the SkipBack key. If the key is the SkipNext key, the direction flag is set to +1 in step S63, and if it is the SkipBack key, in step S64. Set the direction flag to -1.
ステップS65は、カレントPLMarkの番号に方向フラグの値を足した番号を、カレントPLMarkの番号として設定する。ここでSkipNextキーであるなら方向フラグは+1に設定されているのでカレントPLMarkはインクリメントされることになる。SkipBackキーであるなら方向フラグは-1に設定されているので、カレントPLMarkはデクリメントされることになる。 In step S65, a number obtained by adding the value of the direction flag to the current PLMark number is set as the current PLMark number. Here, if it is the SkipNext key, the direction flag is set to +1, so the current PLMark is incremented. If it is a SkipBack key, the direction flag is set to -1, so the current PLMark is decremented.
ステップS66では、カレントPLMarkのref_to_PlayItem_Idに記述されているPIを、PlayItem#xに設定し、ステップS67では、PlayItem#xのClip_information_file_nameで指定されるClip情報を読み込む。ステップS68では、カレントClip情報のEP_mapを用いて、カレントPLMarkのmark_time_stampを、Iピクチャアドレスuに変換する。一方ステップS69では、PlayItem#xのOut_timeを,カレントClip情報のEP_mapを用いて,Iピクチャアドレスvに変換する。ステップS70は、カレントPLMarkのmark_time_stampからPlayItem#xのOut_timeまでの出力をPresentation Engine31に命じた上で、図33のステップS47に移行する。こうしてIピクチャアドレスu,vを変化して、別の部分の再生を命じた上でステップS47への移行するので、別のAVClipからTSパケットが読み出されることになり、映像内容が切り換えが実現する。
In step S66, PI described in ref_to_PlayItem_Id of the current PLMark is set to PlayItem # x, and in step S67, Clip information specified by Clip_information_file_name of PlayItem # x is read. In step S68, the mark_time_stamp of the current PLMark is converted into an I picture address u using the EP_map of the current Clip information. On the other hand, in step S69, the Out_time of PlayItem # x is converted to an I picture address v using the EP_map of the current Clip information. The step S70 instructs the
図36は、Presentation Engine31による処理手順の詳細を示すフローチャートである。本フローチャートは、IピクチャのPTSをカレントPTMに設定した後で(ステップS71)、ステップS72〜ステップS77からなるループ処理を実行するものである。
続いてステップS72〜ステップS77におけるループ処理について説明する。このループ処理は、カレントPTMにあたるピクチャ、オーディオの再生出力と、カレントPTMの更新とを繰り返すものである。本ループ処理におけるステップS76は、ループ処理の終了要件を規定している。つまりステップS76は、カレントPTMがPI#xのOut_timeであることをループ処理の終了要件にしている。
FIG. 36 is a flowchart showing details of the processing procedure by the
Next, the loop process in steps S72 to S77 will be described. This loop processing repeats the reproduction output of the picture and audio corresponding to the current PTM and the update of the current PTM. Step S76 in this loop process defines the end requirement of the loop process. That is, in step S76, the end requirement of the loop processing is that the current PTM is PI_x Out_time.
ステップS73は、早送りAPI、又は、早戻しAPIがJava仮想マシン38からコールされたか否かの判定である。もしコールされれば、ステップS78において早送りか早戻しかの判定を行い、早送りであるなら、次のIピクチャのPTSをカレントPTMに設定する(ステップS79)。このようにカレントPTMを、次のIピクチャのPTSに設定することで、1秒飛びにAVClipを再生してゆくことができる。これにより、2倍速等でAVClipは順方向に早く再生されることになる。早戻しであるなら、カレントPTMがPlayItem#xのOut_timeに到達したかを判定する(ステップS80)。もし到達してないのなら、1つ前のIピクチャのPTSをカレントPTMに設定する(ステップS81)。このように読出先アドレスAを、1つ前のIピクチャに設定することで、AVClipを後方向に1秒飛びに再生してゆくことができる。これにより、2倍速等でAVClipは、逆方向に再生されることになる。尚、早送り、巻戻しを実行するにあたっての処理手順は多種多様なものである。ここで説明するのはあくまでも一例に過ぎないことに留意されたい。
Step S73 is a determination as to whether or not the fast forward API or fast reverse API has been called from the Java
ステップS74は、メニューコールAPIがコールされたか否かの判定であり、もしコールされれば、現在の再生処理をサスペンドして(ステップS82)、メニュー処理用のメニュープログラムを実行する(ステップS83)。以上の処理により、メニューメニューコールがなされた場合は、再生処理を中断した上で、メニュー表示のための処理が実行されることになる。 Step S74 is a determination as to whether or not the menu call API has been called. If so, the current playback process is suspended (step S82) and the menu program for the menu process is executed (step S83). . When a menu menu call is made by the above process, the process for displaying the menu is executed after the reproduction process is interrupted.
ステップS75は、sync_PlayItem_idにより、PlayItem#xを指定したSubPlayItem#yが存在するか否かの判定であり、もし存在すれば、図37のフローチャートに移行する。図37は、SubPlayItemの再生手順を示すフローチャートである。本フローチャートでは、先ずステップS86において、カレントPTMはSubPlayItem#yのsync_start_PTS_of_playItemであるか否かを判定する。もしそうであれば、ステップS93においてSubPlayItem#yに基づく再生処理を行うようPlayback Control Engine32に通知する。
Step S75 is a determination of whether or not there is a SubPlayItem # y in which PlayItem # x is specified by sync_PlayItem_id. If there is, the process proceeds to the flowchart of FIG. FIG. 37 is a flowchart showing the SubPlayItem playback procedure. In this flowchart, first, in step S86, it is determined whether or not the current PTM is a sync_start_PTS_of_playItem of SubPlayItem # y. If so, in step S93, the
図37のステップS87〜ステップS92は、SubPlayItem#yに基づく再生処理を示すフローチャートである。
ステップS87では、SubPlayItem#yのClip_information_file_nameで指定されるClip情報を読み込む。ステップS88では、カレントClip情報のEP_mapを用いて、SubPlayItem#yのIn_timeを、アドレスαに変換する。一方ステップS89では、SubPlayItem#yのOut_timeを,カレントClip情報のEP_mapを用いて、アドレスβに変換する。ステップS90は、SubPlayItem#yのIn_timeからSubPlayItem#yのOut_timeまでの出力をデコーダに命じる。これらの変換で得られたアドレスβの次のIピクチャを求めて、そのアドレスの1つ手前をアドレスγに設定し(ステップS91)、そうして算出されたアドレスγを用いて、SubClip#zにおけるアドレスαからアドレスγまでのTSパケットの読み出しをBD-ROMドライブ1又はHDD17に命じるというものである(ステップS92)。
Steps S87 to S92 in FIG. 37 are flowcharts showing a playback process based on SubPlayItem # y.
In step S87, the clip information specified by Clip_information_file_name of SubPlayItem # y is read. In step S88, the In_time of SubPlayItem # y is converted to an address α using the EP_map of the current Clip information. On the other hand, in step S89, Out_time of SubPlayItem # y is converted to address β using EP_map of current Clip information. In step S90, the decoder is instructed to output from In_time of SubPlayItem # y to Out_time of SubPlayItem # y. Obtain the next I picture of the address β obtained by these conversions, set the address immediately before that address to the address γ (step S91), and use the calculated address γ to use the SubClip # z The BD-
また図33に戻ってPlayback Control Engine32の処理の説明の続きを行う。ステップS53はPresentation Engine31による再生制御が完了したかの判定であり、最後のPlayItem#xに対して、図36のフローチャートの処理が行われている限り、ステップS53がNoになる。図36のフローチャートの処理が終了して初めて、ステップS53はYesになりステップS54に移行する。ステップS54は、Java仮想マシン38への再生終結イベントの出力であり、この出力により、2時間という再生時間の経過をJava仮想マシン38は知ることができる。
Returning to FIG. 33, the description of the processing of the
以上が本実施形態におけるPlayback Control Engine32、Presentation Engine31の処理である。続いて本実施形態におけるアプリケーションマネージャ36処理手順について説明する。図38は、第5実施形態に係るアプリケーションマネージャ36の処理手順を示すフローチャートである。
図38のフローチャートは、図27のフローチャートを改良したものである。その改良点は、ステップS21−ステップS22間にステップS24が追加され、このステップS24がYesになった際、実行されるステップS101が存在する点である。
The above is the processing of the
The flowchart of FIG. 38 is an improvement of the flowchart of FIG. The improvement is that step S24 is added between step S21 and step S22, and step S101 is executed when step S24 becomes Yes.
ステップS24は、JMFプレーヤインスタンスがワークメモリ37に存在するか否かの判定であり、もし存在しなければステップS22に移行する。存在すれば、ステップS101に移行する。ステップS101は、Playback Control Engine32から再生終結イベントが出力されたか否かの判定であり、もし出力されれば、ワークメモリ中のJavaプレーヤインスタンスを消滅させた上で(ステップS102)、タイトル終了をモジュールマネージャ34に通知する(ステップS26)。通知されねば、ステップS21〜ステップS24からなるループ処理を繰り返す。
In step S24, it is determined whether or not the JMF player instance exists in the
以上のフローチャートにおいて、ワークメモリ37にJMFプレーヤインスタンスが存在する限り(ステップS24でYes)、ステップS22、ステップS23はスキップされる。そのため、たとえ全てのアプリケーションが終了したとしてもタイトルは継続中と解釈される。
以上のように本実施形態によれば、2時間という再生時間の経過時点をアプリケーションマネージャ36は把握することができるので、PL再生の終了条件にメニューを表示して、このメニューに対する操作に応じて他のタイトルに分岐するという制御を実現することができる。
In the above flowchart, as long as the JMF player instance exists in the work memory 37 (Yes in step S24), step S22 and step S23 are skipped. Therefore, the title is interpreted as ongoing even if all applications are terminated.
As described above, according to the present embodiment, the
(第6実施形態)
第6実施形態は、BD-Jオブジェクトにデータ管理テーブルを設ける改良に関する。
データ管理テーブル(DMT)は、そのタイトル時間軸においてローカルメモリ29上にロードすべきJavaアーカイブファイルを、読込属性と、読込優先度とに対応づけて示すテーブルである。"ローカルメモリ29における生存"とは、そのアプリケーションを構成するJavaアーカイブファイルがローカルメモリ29から読み出され、Java仮想マシン38内のワークメモリ37への転送が可能になっている状態をいう。図39は、データ管理テーブルの一例を示す図である。本図に示すようにデータ管理テーブルは、アプリケーションの『生存区間』と、その生存区間をもったアプリケーションを識別する『applicationID』と、そのアプリケーションの『読込属性』と、『読込優先度』とを示す。
(Sixth embodiment)
The sixth embodiment relates to an improvement in which a data management table is provided in a BD-J object.
The data management table (DMT) is a table showing a Java archive file to be loaded on the
上述したようにアプリケーション管理テーブルには、生存区間という概念があり、データ管理テーブルにも同じ生存区間という概念がある。アプリケーション管理テーブルと同じ概念を、データ管理テーブルに設けておくというのは一見無駄のように思えるがこれには意図がある。
図40は、BD-Jオブジェクトが想定している実行モデルを示す図である。本図における実行モデルは、BD-ROM、ローカルメモリ29、Java仮想マシン38からなり、BD-ROM、ローカルメモリ29、ワークメモリ37という三者の関係を示す。矢印my1は、BD-ROM→ローカルメモリ29間の読み込みを示し、矢印my2は、ローカルメモリ29→ワークメモリ37間の読み込みを示す。矢印上の注釈は、これらの読み込みが、どのようなタイミングでなされるかを示す。注釈によると、BD-ROM→ローカルメモリ29間の読み込みは、いわゆる"先読み"であり、アプリケーションが必要となる以前の時点に行われねばならない。
As described above, the application management table has a concept of a life cycle, and the data management table has the same concept of a life cycle. It may seem wasteful to have the same concept as the application management table in the data management table, but this is intended.
FIG. 40 is a diagram illustrating an execution model assumed by the BD-J object. The execution model in this figure includes a BD-ROM, a
また注釈によると、ローカルメモリ29→ワークメモリ37間の読み込みは、アプリケーションが必要になった際になされることがわかる。"必要になった際"とは、アプリケーションの生存区間が到来した時点(1)、アプリケーションの呼出が他のアプリケーション又はアプリケーションマネージャ36から指示された時点(2)を意味する。
矢印my3は、ワークメモリ37におけるアプリケーションの占有領域の解放を示し、矢印my4は、ローカルメモリ29におけるアプリケーションの占有領域の解放を示す。矢印上の注釈は、これらの読み込みが、どのようなタイミングでなされるかを示す。注釈によると、ワークメモリ37上の解放は、アプリケーション終了と同時になされることがわかる。一方ローカルメモリ29上の解放は、Java仮想マシン38にとって必要でなくなった時点でなされる。この必要でなくなった時点とは、"終了時点"ではない。"終了した上、再起動の可能性もない時点"であること、つまり該当するtitleが終了した時点を意味する。上述した読込・解放のうち、ワークメモリ37における解放時点は、アプリケーション管理テーブルにおける生存区間から判明する。しかし"アプリケーションが必要となる以前の時点"、"終了した上、再起動の可能性もない時点"については、規定し得ない。そこで、オーサリング段階において、かかる時点をディスクコンテンツ全体の時間軸上で規定しておくため、本実施形態では各アプリケーションが生存している区間を、アプリケーション管理テーブルとは別に、データ管理テーブルに記述するようにしている。つまり"アプリケーションが必要となる以前の時点"をデータ管理テーブルにおける生存区間の始点と定義し、"終了した上、再起動の可能性もない時点"をデータ管理テーブルの終点と定義することにより、上述したローカルメモリ29上の格納内容の遷移をオーサリング時に規定しておくことができる。これがデータ管理テーブルの記述意義である。
Further, according to the annotation, it can be understood that reading between the
An arrow my3 indicates release of the application occupation area in the
データ管理テーブルによるローカルメモリ29生存区間の記述について説明する。ここで制作しようとするディスクコンテンツは3つのタイトル(title#1、title#2、title#3)からなり、これらタイトルの時間軸において、図41(b)に示すようなタイミングで、ローカルメモリ29を使用したいと考える。この場合、title#1時間軸の開始点においてapplication#1、application#2を構成するJavaアーカイブファイルをローカルメモリ29に読み込み、title#1時間軸の継続中、application#1、application#2をローカルメモリ29に常駐させておく。そしてtitle#2時間軸の始点で、application#1を構成するJavaアーカイブファイルをローカルメモリ29から解放して、代わりにapplication#3を構成するJavaアーカイブファイルをローカルメモリ29に読み込んで、常駐させるというものである(以降、アプリケーションを構成するJavaアーカイブファイルは、アプリケーションと同義に扱う。)。この場合のデータ管理テーブルの記述は、図41(a)の通りであり、アプリケーションのapplicationIDを、その生存区間に対応づけて記述することで、ローカルメモリ29に常駐すべきアプリケーションを表現する。図41(a)では、application#1のapplicationIDがtitle#1と対応づけられて記述されており、application#2のapplicationIDはtitle#1、title#2と対応づけられ、application#3のapplicationIDはtitle#3と対応づけられて記述されていることがわかる。こうすることで、ローカルメモリ29占有の時間的遷移がオーサリング担当者により規定されることになる。
The description of the live range of the
データ管理テーブル、アプリケーション管理テーブルの組合せとしては、アプリケーション管理テーブルに規定する生存区間は、細かい再生単位にし、データ管理テーブルに規定する生存区間は、大まかな再生単位にすることが望ましい。大まかな再生単位には、タイトル、PLといった非シームレスな再生単位が望ましい。一方、細かい再生単位としては、PL内のチャプターというようにシームレスな再生単位が望ましい。アプリケーションの生存区間をタイトル毎、PL毎に定めれば、アプリケーションはローカルメモリ29上に存在するので、そのタイトルの再生中においてアプリケーションは何時でも取り出せる状態になる。そうであれば、アプリケーションの生存区間を細かく定めたとしても、アプリケーションを即座に、仮想マシン上のワークメモリに読み出すことができるので、アプリケーションの起動・終了が頻繁になされたとしても、スムーズなアプリケーション実行を実現することができる。
As a combination of the data management table and the application management table, it is desirable that the life span defined in the application management table is a fine reproduction unit, and the life span defined in the data management table is a rough reproduction unit. As a rough playback unit, a non-seamless playback unit such as title and PL is desirable. On the other hand, as a fine playback unit, a seamless playback unit such as a chapter in a PL is desirable. If the lifetime of the application is determined for each title and each PL, the application exists in the
次に、読込属性について説明する。
図2においてJavaアーカイブファイルは、AVClipとは別の記録領域に記録されることを前提にしていた。しかしこれは一例に過ぎない。Javaアーカイブファイルは、BD-ROMにおいてAVClipが占める記録領域に埋め込まれることがある。この埋め込みの態様には、カルーセル化、インターリーブユニット化という2種類がある。
Next, the read attribute will be described.
In FIG. 2, it is assumed that the Java archive file is recorded in a recording area different from the AVClip. But this is just one example. A Java archive file may be embedded in a recording area occupied by an AVClip on a BD-ROM. There are two types of embedding, carousel and interleave unit.
ここで"カルーセル化"とは、対話的な放送の実現のために同一内容を繰り返しするという放送方式に変換することである。BD-ROMは、放送されたデータを格納するものではないが、本実施形態では、カルーセルの放送形式に倣ってJAVAアーカイブファイルを格納するようにしている。図42は、カルーセル化によるJavaアーカイブファイル埋め込みを示す図である。第1段目は、AVClip中に埋め込むJavaアーカイブファイルであり、第2段目は、セクション化を示す。第3段目は、TSパケット化、第4段目は、AVClipを構成するTSパケット列を示す。こうしてセクション化、TSパケット化されたデータ(図中の"D")が、AVClipに埋め込まれるのである。カルーセルによりAVClipに多重化されたJavaアーカイブファイルは、読み出すにあたって、低帯域で読み出されることになる。この低帯域での読み出しは、概して2〜3分というように長期間を要するため、再生装置はJavaアーカイブファイルを2〜3分をかけて読み込むことになる。 Here, “carouselization” means conversion to a broadcasting system in which the same content is repeated in order to realize interactive broadcasting. The BD-ROM does not store broadcast data, but in the present embodiment, a JAVA archive file is stored following the carousel broadcast format. FIG. 42 is a diagram illustrating Java archive file embedding by carouselization. The first level is a Java archive file embedded in the AVClip, and the second level shows sectioning. The third row shows TS packetization, and the fourth row shows a TS packet sequence that constitutes an AVClip. In this way, the sectioned and TS packetized data ("D" in the figure) is embedded in the AVClip. A Java archive file multiplexed into an AVClip by a carousel is read out at a low bandwidth. Since this low-band reading generally takes a long time of 2 to 3 minutes, the playback device reads the Java archive file over 2 to 3 minutes.
図43は、インターリーブ化によるJavaアーカイブファイル埋め込みを示す図である。第1段目は、埋め込まれるベきAVClip、第2段目は、AVClipにインターリーブ化されたJavaアーカイブファイル、第3段目は、BD-ROMの記録領域におけるAVClip配置である。本図に示すように、ストリームに埋め込まれるべきJavaアーカイブファイルは、インターリーブ化され、AVClipを構成するXXXXX.m2tsを構成する分割部分(図中のAVClip2/4,3/4)の合間に記録される。インターリーブ化によりAVClipに多重化されたJavaアーカイブファイルは、カルーセル化と比較して、高い帯域で読み出されることになる。この高い帯域での読み出しであるため、再生装置はJavaアーカイブファイルを比較的短期間に読み込むことになる。 FIG. 43 is a diagram showing Java archive file embedding by interleaving. The first level is the AVClip to be embedded, the second level is the Java archive file interleaved with the AVClip, and the third level is the AVClip arrangement in the recording area of the BD-ROM. As shown in this figure, the Java archive file to be embedded in the stream is interleaved and recorded between the divided parts (AVClip2 / 4, 3/4 in the figure) that make up XXXXX.m2ts that make up the AVClip. The A Java archive file multiplexed into an AVClip by interleaving is read out with a higher bandwidth than carouseling. Because of this high-band read, the playback device reads the Java archive file in a relatively short time.
カルーセル化・インターリーブ化されたJavaアーカイブファイルは、プリロードされるのではない。BD-ROMにおけるAVClipの記録領域のうち、カルーセル化・インターリーブ化されたJavaアーカイブファイルが埋め込まれた部分に、現在の再生時点が到達した際、再生装置のローカルメモリ29にロードされる。Javaアーカイブファイルの記録態様には、図2に示すものの他に、図42、図43(a)に示すものがあるので、読込属性は、図43(b)に示すように、設定されうる。図43(b)に示すように、読込属性は、タイトル再生に先立ち、ローカルメモリ29に読み込まれる旨を示す"Preload"と、タイトル再生中に、カルーセル化方式で読み込まれる旨を示す"Load.Carousel"と、タイトル再生中に、インターリーブ化方式で読み込まれる旨を示す"Load.InterLeave"とがある。読込属性には、カルーセル化されているか、インターリーブ化されているかが添え字で表現されているが、これを省略してもよい。
Carouselized and interleaved Java archive files are not preloaded. When the current playback time point is reached in the portion of the AVClip recording area in the BD-ROM where the Java archive file that has been carouseled and interleaved is embedded, it is loaded into the
データ管理テーブルにおける生存区間の具体的な記述例について、図44を参照しながら説明する。図44(a)は、データ管理テーブルの一例を示す図である。図44(b)は、かかるデータ管理テーブルの割り当てによるローカルメモリ29の格納内容の変遷を示す図である。本図は、縦軸方向にローカルメモリ29における占有領域を示し、横軸を、1つのタイトル内のPL時間軸としている。データ管理テーブルにおいてapplication#1は、1つのタイトル内のPL時間軸全体を生存区間とするよう記述されているので、このタイトルのChapter#1〜Chapter#5においてローカルメモリ29内の領域を占有することになる。データ管理テーブルにおいてapplication#2は、タイトル内のPL#1におけるChapter#1〜Chapter#2を生存区間とするよう記述されているので、このタイトルのChapter#1〜Chapter#2においてローカルメモリ29内の領域を占有することになる。データ管理テーブルにおいてapplication#3は、タイトル内のPL#1におけるChapter#4〜Chapter#5を生存区間とするよう記述されているので、このタイトルのChapter#4〜Chapter#5においてローカルメモリ29内の領域を占有することになる。以上で、データ管理テーブルにおける生存区間についての説明を終える。
続いて読込優先度について説明する。読込優先度とは、ローカルメモリ29への読み込みに対する優劣を決める優先度である。読込優先度には複数の値がある。2段階の優劣を設けたい場合、Mandatoryを示す値、optionalを示す値を読込優先度に設定する。この場合、Mandatoryは高い読込優先度を意味し、optionalは、低い読込優先度を意味する。3段階の優劣を設けたい場合、Mandatoryを示す値、optional:high、optional:lowを示す値を読込優先度に設定する。Mandatoryは、最も高い読込優先度を示し、optional:highは、中程度の読込優先度、optional:lowは、最も低い読込優先度を示す。データ管理テーブルにおける読込優先度の具体的な記述例について、図45(a)(b)を参照しながら説明する。この具体例で、想定しているローカルメモリ29のメモリ規模は、図45(a)に示すようなものである。図45(a)は、新旧再生装置におけるローカルメモリ29のメモリ規模を対比して示す図である。矢印mk1は旧再生装置におけるメモリ規模を、矢印mk2は新再生装置におけるメモリ規模をそれぞれ示す。この矢印の対比から、新再生装置におけるローカルメモリ29のメモリ規模は、旧再生装置のそれと比較して、三倍以上である状態を想定している。このようにメモリ規模にバラツキがある場合、アプリケーションは、図45に示すような2つのグループに分類される。1つ目は、どのようなメモリ規模であっても読み込むんでおくべきアプリケーション(#1,#2)である。2つ目は、旧再生装置での読み込みは望まないが、新再生装置での読み込みは希望するアプリケーション(#3,#4)である。読み込もうとするアプリケーションが、これら2つのグループに分類されれば、前者に帰属するアプリケーションに、読込優先度=Mandatoryを設定し、後者に属するアプリケーションに、読込優先度=Optionalを設定する。図45(b)は、読込優先度が設定されたデータ管理テーブルの一例を示す図である。データ管理テーブルをこのように設定した上で、application#1〜application#4をBD-ROMに記録すれば、あらゆるメモリ規模の再生装置での再生を保証しつつも、メモリ規模が大きい再生装置では、より大きなサイズのデータを利用したアプリケーションを再生装置に再生させることができる。
A specific description example of the life span in the data management table will be described with reference to FIG. FIG. 44A shows an example of the data management table. FIG. 44B is a diagram showing the transition of the contents stored in the
Next, the reading priority will be described. The read priority is a priority that determines superiority or inferiority with respect to reading to the
以上は本実施形態における記録媒体に対する改良である。続いて本実施形態における再生装置に対する改良について説明する。上述した記録媒体の改良に対応するため、アプリケーションマネージャ36は図46に示すような処理手順で処理を行う。
図46は、アプリケーションマネージャ36によるプリロード制御の処理手順を示す図である。本フローチャートは、再生すべきタイトルにおけるデータ管理テーブルを読み込み(ステップS111)、データ管理テーブルにおいて最も高い読込優先度をもちつつ、applicationIDが最も小さいアプリケーションをアプリケーションiにした上で(ステップS112)、ステップS113、ステップS114の判定を経た上で、アプリケーションiをローカルメモリ29にプリロードする(ステップS115)という処理を、ステップS116がNo及びステップS117がNoと判定されるまで、繰り返すというループ処理を構成している。
The above is an improvement over the recording medium in the present embodiment. Next, improvements to the playback apparatus in this embodiment will be described. In order to cope with the improvement of the recording medium described above, the
FIG. 46 is a diagram showing a preload control processing procedure by the
ステップS113は、アプリケーションiの読込属性がプリロードであるか否かの判定であり、ステップS114は、アプリケーションの読込優先度が=MandatoryであるかOptionalであるかの判定である。ステップS113においてプリロードと判定され、ステップS114において読込優先度がMandatoryと判定されれば、アプリケーションはローカルメモリ29にプリロードされることになる(ステップS115)。もしステップS113において読込属性がロードであると判定されれば、ステップS114〜ステップS115はスキップされることになる。 Step S113 is a determination as to whether or not the read attribute of application i is preload, and step S114 is a determination as to whether the read priority of the application is = Mandatory or Optional. If it is determined to be preloaded in step S113 and the read priority is determined to be Mandatory in step S114, the application is preloaded to the local memory 29 (step S115). If it is determined in step S113 that the read attribute is “load”, steps S114 to S115 are skipped.
ループ処理の終了要件を規定する2つのステップのうちステップS116は、applicationIDが次に高く、アプリケーションiと同一読込優先度のアプリケーションkが存在するか否かを判定するものである。そのようなアプリケーションkが存在するなら、そのアプリケーションkをアプリケーションiにする(ステップS119)。
ループ処理の終了要件を規定する2つのステップのうちステップS117は、データ管理テーブルにおいて次に低い読込優先度をもつアプリケーションが存在するか否かの判定であり、もし存在すれば、その次に低い読込優先度をもつアプリケーションのうち、最も小さいapplicationIDをアプリケーションkを選んで(ステップS118)、そのアプリケーションkをアプリケーションiにする(ステップS119)。これらステップS116、ステップS117がYesになっている限り、上述したステップS113〜ステップS115の処理は繰り返されることになる。ステップS116、ステップS117において、該当するアプリケーションが無くなれば本フローチャートの処理は終了することになる。
Of the two steps that define the loop processing termination requirements, step S116 determines whether or not there is an application k having the next highest application ID and the same read priority as application i. If such an application k exists, the application k is changed to application i (step S119).
Of the two steps that define the loop processing termination requirement, step S117 is a determination as to whether or not there is an application having the next lower read priority in the data management table. Among the applications having the reading priority, the application k is selected as the smallest application ID (step S118), and the application k is set as the application i (step S119). As long as these Step S116 and Step S117 are Yes, the processing of Step S113 to Step S115 described above is repeated. If there is no corresponding application in step S116 and step S117, the processing of this flowchart is ended.
ステップS120〜ステップS123は、ステップS114において読込優先度=Optionalであると判定された場合に、実行される処理である。
ステップS120は、同じapplicationIDをもち、読込優先度が高いアプリケーションjが存在するか否かの判定である。
ステップS121は、ローカルメモリ29の残り容量がアプリケーションiのサイズを上回るか否かを判定するステップである。ステップS120がNo、ステップS121がYesである場合、ステップS115においてアプリケーションiがローカルメモリ29にプリロードされることになる。ステップS120がNo、ステップS121がNoである場合、アプリケーションiはローカルメモリ29にプリロードされずそのままステップS116に移行することになる。
Steps S120 to S123 are processes executed when it is determined in step S114 that the reading priority = Optional.
Step S120 is a determination as to whether or not there is an application j having the same applicationID and a high reading priority.
Step S121 is a step of determining whether or not the remaining capacity of the
こうしておくと、読込優先度=Optionalのデータは、ステップS120−ステップS121の判定がYesにならないと、ローカルメモリ29へのプリロードがなされない。メモリ規模が小さい旧再生装置は、2〜3個のアプリケーションを読み込んだ程度で、ステップS121の判定はNoになるが、メモリ規模が大きい新再生装置は、更に多くのアプリケーションを読み込んだとしても、ステップS121の判定はNoにならない。以上のように、旧再生装置では、ローカルメモリ29にMandatoryのアプリケーションのみが読み込まれ、新再生装置には、Mandatoryのアプリケーションと、Optionalのアプリケーションとが読み込まれることになる。
In this way, data with read priority = Optional is not preloaded into the
ステップS122は、ステップS120においてYesと判定された場合に実行されるステップである。同じapplicationIDをもち、読込優先度が高いアプリケーションjがローカルメモリ29上に存在する場合、ローカルメモリ29の残り容量と、アプリケーションjのサイズとの和が、アプリケーションiのサイズを上回るか否かを判定し(ステップS122)、もし上回れば、アプリケーションiを用いてローカルメモリ29上のアプリケーションjを上書きすることによりプリロードする(ステップS123)。下回る場合は、アプリケーションiはローカルメモリ29にプリロードされずそのままステップS116に移行することになる。
Step S122 is a step executed when it is determined Yes in step S120. When an application j having the same application ID and a high read priority exists on the
ステップS115、ステップS123による読込処理の一例を、図47(a)を参照しながら説明する。図47(a)は、この具体例が想定しているデータ管理テーブルの一例を示す図である。本図における3つのアプリケーションは、それぞれ3つのファイルに格納されており、applicationIDは同じであるが(applicationID=1)、読込優先度は互いに異なる(mandatory,optional:high,optional:low)。こうしたデータ管理テーブルが処理対象であると、ステップS115により、読込優先度=Mandatoryのアプリケーションはローカルメモリ29に読み込まれる。しかし読込優先度=Optionalのアプリケーションについては、ステップS120〜ステップS122の判定を経た上で、ステップS123において読み込まれる。ステップS115と違いステップS123では、既にローカルメモリ29にある同じapplicationIDのアプリケーションを上書きしてゆくよう、プリロードがなされるので、複数アプリケーションのうち1つが排他的に、ローカルメモリ29にロードされることになる。
i)読込優先度=mandatoryのアプリケーションを読み込んだ後、読込優先度=optional:highのアプリケーションを読み込むにあたって、ステップS122がNoと判定されればれば、読込優先度=mandatoryのアプリケーションがローカルメモリ29に残ることになる。読込優先度=mandatoryのアプリケーションを読み込んだ後、読込優先度=optional:highのアプリケーションを読み込むにあたって、ステップS122がYesと判定されれば、読込優先度=optional:highのアプリケーションにより、読込優先度=mandatoryのアプリケーションは上書きされ、読込優先度=optional:highのアプリケーションがローカルメモリ29に残ることになる。
An example of the reading process in steps S115 and S123 will be described with reference to FIG. FIG. 47A is a diagram illustrating an example of a data management table assumed by this specific example. The three applications in this figure are stored in three files, respectively, and the application ID is the same (applicationID = 1), but the reading priorities are different from each other (mandatory, optional: high, optional: low). If such a data management table is a processing target, an application with read priority = Mandatory is read into the
i) After reading the application with read priority = mandatory, when reading the application with read priority = optional: high, if step S122 is No, the application with read priority = mandatory is stored in the
ii)読込優先度=optional:highのアプリケーションを読み込んだ後、読込優先度=optional:lowのアプリケーションを読み込むにあたって、ステップS122がNoと判定されればれば、読込優先度=Mandatoryのアプリケーションがローカルメモリ29に残ることになる。読込優先度=optional:highのアプリケーションを読み込んだ後、読込優先度=optional:lowのアプリケーションを読み込むにあたって、ステップS122がYesと判定されれば、読込優先度=optional:lowのアプリケーションにより、読込優先度=optional:highのアプリケーションは上書きされ(ステップS123)、読込優先度=optional:lowのアプリケーションがローカルメモリ29に残ることになる。
ii) After reading the application with read priority = optional: high and then reading the application with read priority = optional: low, if step S122 is No, the application with read priority = Mandatory 29 will remain. After reading an application with read priority = optional: high and then reading an application with read priority = optional: low, if step S122 is determined to be Yes, read priority is given by the application with read priority = optional: low. The application of degree = optional: high is overwritten (step S123), and the application of read priority = optional: low remains in the
ローカルメモリ29の容量が許す限り、ローカルメモリ29上のアプリケーションを上書きしてゆくとの処理が繰り返されるので、ローカルメモリ29の格納内容は、図47(b)に示すように、mandatory=optional:high=>optional:lowと遷移してゆくことになる。メモリ規模に応じて、サイズが異なるJavaアーカイブファイルをローカルメモリ29にロードすることができるので、メモリ規模が小さい再生装置については、必要最小限の解像度をもったサムネール画像を有するJavaアーカイブファイルを、メモリ規模が中程度の再生装置については、中程度の解像度をもったSD画像を有するJavaアーカイブファイルを、メモリ規模が大規模である再生装置については、高解像度をもったHD画像を有するJavaアーカイブファイルをローカルメモリ29にロードすることができる。かかるロードにより、メモリ規模に応じて解像度が異なる画像を表示させることができ、オーサリング担当者によるタイトル制作の表現の幅が広がる。
図48は、データ管理テーブルを参照した読取処理の具体例を示す図である。本図における2つのアプリケーションは、同じapplicationID(application#3)が付与された2つのアプリケーションを示す図である。そのうち一方は、AVClip中に埋め込まれていて、読込優先度がmandatoryに設定されている。他方は、AVClipとは別ファイルに記録されていて、読込優先度がOptionalに設定されている。前者のアプリケーションは、AVClipに埋め込まれているので、その埋込部分にあたる生存区間が、生存区間(title#1:chapter#4〜#5)として記述されている。これらのアプリケーションのうちapplication#2、application#3には、ロードを示す読込属性が付与されている。application#2はChapter#1〜Chapter#2を生存区間にしており、application#3はChapter#4〜Chapter#5を生存区間にしているので、タイトル時間軸においてどちらか一方が排他的にローカルメモリ29上に常駐することになる。図48(b)は、タイトル時間軸上の別々の時点において、排他的に格納されるapplication#2、application#3を示す図である。これは必要最低限のメモリ規模しかもたない再生装置での再生を念頭に置いた配慮である。こうした内容のデータ管理テーブルが処理対象であるとアプリケーションマネージャ36は、上述した図46のフローチャートによりメモリ規模に応じて異なる処理を行う。
Since the process of overwriting the application on the
FIG. 48 is a diagram illustrating a specific example of the reading process with reference to the data management table. The two applications in this figure are diagrams showing two applications to which the same application ID (application # 3) is assigned. One of them is embedded in the AVClip, and the read priority is set to mandatory. The other is recorded in a separate file from the AVClip, and the read priority is set to Optional. Since the former application is embedded in the AVClip, the life span corresponding to the embedded portion is described as a life span (title # 1:
後者のアプリケーションは、読込優先度=ロードであるので、ローカルメモリ29にロードされる。かかる処理により、Mandatoryなメモリ規模さえあれば、アプリケーションマネージャはデータをローカルメモリ29にロードすることができる。ここで問題になるのは、メモリ規模が大きい再生装置による読み込み時である。メモリ規模が大きいにも拘らず、Chapter#4〜Chapter#5に到達するまでapplication#3を読み込めないというのは、メモリ規模の無駄になる。そこで本図のデータ管理テーブルには、同じapplication#3にプリロードを示す読込属性を付与してBD-ROMに記録しておき、これらに同じapplicationIDを付与している。
The latter application is loaded into the
前者のアプリケーションは、読込優先度=Optionalであるので、ステップS121がYesになった場合に限り、プリロードされる(ステップS115)。こうすることで、メモリ規模が大きい再生装置は、title#1、Chapter#4〜Chapter#5の到達を待つことなく、AVClipに埋め込まれているのと同じアプリケーションをローカルメモリ29にロードすることができるのである(図48(c))。
Since the former application has read priority = Optional, it is preloaded only when Step S121 becomes Yes (Step S115). By doing this, a playback device with a large memory scale can load the same application embedded in the AVClip into the
以上がプリロード時における処理である。続いてロード時における処理手順について説明する。
図49は、データ管理テーブルに基づくロード処理の処理手順を示す図である。本フローチャートは、ステップS131〜ステップS133からなるループ処理を、タイトル再生が継続されている間、繰り返すというものである。
The above is the processing at the time of preloading. Next, a processing procedure at the time of loading will be described.
FIG. 49 is a diagram showing a processing procedure of the load processing based on the data management table. In this flowchart, the loop process including steps S131 to S133 is repeated while the title reproduction is continued.
ステップS131は、AutoRunを示す起動属性を有したアプリケーションの生存区間が到来したか否かの判定である。もし到来すれば、AutoRunを示す起動属性を有したアプリケーションをアプリケーションqにして(ステップS134)、アプリケーションqを起動する旨の起動指示をJava仮想マシン38に発行して、アプリケーションqをローカルメモリ29からワークメモリ37に読み出させる(ステップS135)。
Step S131 is a determination as to whether or not a life cycle of an application having an activation attribute indicating AutoRun has arrived. If it arrives, an application having an activation attribute indicating AutoRun is set as the application q (step S134), and an activation instruction to activate the application q is issued to the Java
ステップS133は、タイトル内PLの再生が全て終了したかの判定である。この判定は、第5実施形態に示したように、Playback Control Engine32からの再生終結イベントがあったか否かでなされる。もし終了すれば、本フローチャートの処理を終了する。
ステップS132は、起動中アプリケーションからの呼出があったか否かの判定である。もしあれば、呼出先アプリケーションをアプリケーションqにして(ステップS136)、 現在の再生時点は、アプリケーション管理テーブルにおけるアプリケーションqの生存区間であるか否かを判定する(ステップS137)。もし生存区間でなければ、起動失敗を表示して(ステップS148)、ステップS131〜ステップS133からなるループ処理に戻る。生存区間であれば、図50のフローチャートに従い、ロード処理を行う。
Step S133 is a determination as to whether or not the playback of the PL in the title has been completed. This determination is made based on whether or not there is a playback end event from the
Step S132 is a determination of whether or not there is a call from the running application. If there is, the call destination application is set to application q (step S136), and it is determined whether or not the current reproduction time point is the lifetime of application q in the application management table (step S137). If it is not the live range, the activation failure is displayed (step S148), and the process returns to the loop process including steps S131 to S133. If it is a live range, a load process is performed according to the flowchart of FIG.
図50におけるステップS138は、現在の再生時点がデータ管理テーブルにおけるアプリケーションqの生存区間であるか否かを示す判定である。もし生存区間でなければ、アプリケーションqはローカルメモリ29にロードすることができない。この場合、アプリケーションqを起動する旨の起動指示をJava仮想マシン38に発行し、ローカルメモリ29を介することなく、直接アプリケーションqをBD-ROMからワークメモリ37に読み出させる。この場合アプリケーションを読み出すためのヘッドシークが発生するから、PL再生は中断することになる(ステップS145)。
Step S138 in FIG. 50 is a determination indicating whether or not the current playback time point is the lifetime of application q in the data management table. If it is not a life cycle, the application q cannot be loaded into the
もし生存区間であれば、ステップS139において、アプリケーションには読込属性が付加されているか否かを判定する。読込属性がないということは、アプリケーションqは、カルーセル化、若しくはインターリーブ化されていないことを意味する。しかし読込属性が付加されていなくても、ローカルメモリ29にアプリケーションqを置くことは許される。そこで再生中断を承知の上、アプリケーションの読み出しを行う。つまりBD-ROMからローカルメモリ29へとアプリケーションを読み出した上で、アプリケーションをワークメモリ37に読み出す(ステップS140)。
If it is a life cycle, it is determined in step S139 whether or not a read attribute is added to the application. The absence of the read attribute means that the application q is not carouseled or interleaved. However, even if the read attribute is not added, the application q is allowed to be placed in the
ステップS141〜ステップS146は、ステップS139がYesと判定された場合になされる処理である。ステップS141では、読込属性を参照することで、アプリケーションがプリロードされているか否かを判定する。プリロードされていれば、ステップS135に移行する。
ステップS142は、読込属性がロードである場合に実行される判定ステップであり、アプリケーションqがカルーセル化されているか、インターリーブ化されているかを判定する。インターリーブ化されていれば、キャッシュセンスをJava仮想マシン38に実行させる(ステップS143)。ローカルメモリ29にアプリケーションqが存在すれば、ステップS135に移行して、アプリケーションqをJava仮想マシン38にロードさせる。
Steps S141 to S146 are processes performed when step S139 is determined to be Yes. In step S141, it is determined whether the application is preloaded by referring to the read attribute. If preloaded, the process proceeds to step S135.
Step S142 is a determination step executed when the read attribute is “load”, and determines whether the application q is carouseled or interleaved. If interleaved, cache sense is executed by the Java virtual machine 38 (step S143). If the application q exists in the
ローカルメモリ29にアプリケーションがなければ、トップメニュータイトルに分岐する等の例外処理を行う(ステップS144)。カルーセル化されていれば、タイマをセットし(ステップS148)、そのタイマがタイムアウトするまで(ステップS147)、キャッシュセンスをJava仮想マシン38に実行させる(ステップS146)。もしローカルメモリ29にアプリケーションqが出現すれば、図49のステップS135に移行して、アプリケーションqをJava仮想マシン38にロードさせる。タイムアウトすれば、トップメニュータイトルに分岐する等の例外処理を行う(ステップS144)。
If there is no application in the
図51は、Java仮想マシン38によるアプリケーションの読み込みがどのようにして行われるかを模式化した図である。
矢印1,2は、アプリケーション管理テーブルに生存していて、データ管理テーブルに生存しており、カルーセル化,インターリーブ化を示す読込属性が存在するJavaアーカイブファイルの読み込みを示す。矢印1は、ステップS65、67においてなされるローカルメモリ29センスを示す。このローカルメモリ29センスは、カルーセル又はインターリーブ化により埋め込まれたデータが、ローカルメモリ29に存在するかもしれないためローカルメモリ29内をセンスするというものである。矢印2は、ステップS135に対応する読み込みであり、アプリケーションがローカルメモリ29に存在していた場合の、ローカルメモリ29からワークメモリ37へのロードを示す。×付きの矢印は、ローカルメモリ29にデータがない場合を示す。
FIG. 51 is a diagram schematically showing how an application is read by the Java
矢印▽1,2は、アプリケーション管理テーブルに生存しているが、データ管理テーブルに生存しておらず、読込属性が存在しないJavaアーカイブファイルの読み込みを示す。
矢印▽1は、ステップS145における読み込みに対応するものであり、Java仮想マシン38によるBD-ROMからのダイレクトリードの要求を示す。矢印▽2はその要求による、BD-ROMからワークメモリ37へのJavaアーカイブファイル読み出しを示す。
Arrows ▽ 1 and 2 indicate reading of a Java archive file that exists in the application management table but does not exist in the data management table and does not have a read attribute.
Arrow ▽ 1 corresponds to the reading in step S145, and indicates a direct read request from the BD-ROM by the Java
矢印☆1,2,3は、アプリケーション管理テーブルに生存していて、データ管理テーブルに生存しているが、読込属性が存在しないJavaアーカイブファイルの読み込みを示す。
矢印☆1は、ステップS140における読み込みに対応するものであり、Java仮想マシン38によるBD-ROMからのダイレクトリードの要求を示す。矢印☆2はその要求による、ローカルメモリ29へのJavaアーカイブファイルの読み出しを示す。矢印☆3はローカルメモリ29からワークメモリ37へのJavaアーカイブファイルの読み出しを示す。
An arrow ☆ 1 corresponds to the reading in step S140, and indicates a direct read request from the BD-ROM by the Java
以上のように本実施形態によれば、ローカルメモリ29上で同時に常駐されるアプリケーションの数が所定数以下になるように規定しておくことができるので、ローカルメモリ29からの読み出し時におけるキャッシュミスを極力回避することができる。キャッシュミスのないアプリケーション読み出しを保証することができるので、アプリケーション呼出時にあたては、AVClipの再生を止めてまで、BD-ROMからアプリケーションを読み出すことはなくなる。AVClip再生を途切れさせないので、AVClipのシームレス再生を保証することができる。
As described above, according to the present embodiment, the number of applications simultaneously resident on the
(第7実施形態)
第3実施形態では、非AV系タイトルの時間軸をアプリケーションの生存区間に基づき定めることにした。しかしアプリケーションの動作というのは不安定であり、起動の失敗や異常終了がありうる。本実施形態は、起動失敗、異常終了があった場合のFail Safe機構を提案するものである。図52(a)は、第7実施形態に係るBD-Jオブジェクトの内部構成を示す図である。図7(b)と比較して本図が新規なのは、プレイリスト管理テーブルが追加されている点である。
(Seventh embodiment)
In the third embodiment, the time axis of the non-AV title is determined based on the life cycle of the application. However, the operation of the application is unstable, and there may be a startup failure or abnormal termination. This embodiment proposes a Fail Safe mechanism in the case of a start failure or abnormal termination. FIG. 52A shows the internal structure of the BD-J object according to the seventh embodiment. Compared with FIG. 7B, this figure is new in that a playlist management table is added.
図52(b)は、プレイリスト管理テーブルの一例を示す図である。本図に示すようにプレイリスト管理テーブルは、PLの指定と、そのPLの再生属性とからなる。PLの指定は、対応するタイトルのタイトル時間軸において、再生可能となるPLを示す。PLの再生属性は、指定されたPLを、タイトル再生の開始と同時に自動再生するか否かを示す(こうして自動再生されるPLをデフォルトPLという)。 FIG. 52B is a diagram showing an example of the playlist management table. As shown in the figure, the playlist management table is composed of a PL designation and a reproduction attribute of the PL. The designation of PL indicates a PL that can be reproduced on the title time axis of the corresponding title. The reproduction attribute of PL indicates whether or not the designated PL is automatically reproduced simultaneously with the start of title reproduction (the PL thus automatically reproduced is referred to as a default PL).
次にプレイリスト管理テーブルによりタイトル時間軸がどのように規定されるかを、図53を参照しながら説明する。図53(a)は、再生属性が非自動再生を示すよう設定された場合の非AV系タイトルにおけるタイトル時間軸を示す図である。この場合、デフォルトPLは再生されないから、非AV系タイトル同様、アプリケーションの生存区間からタイトル時間軸が定まる。 Next, how the title time axis is defined by the playlist management table will be described with reference to FIG. FIG. 53A is a diagram showing a title time axis in a non-AV system title when the playback attribute is set to indicate non-automatic playback. In this case, since the default PL is not played back, the title time axis is determined from the lifetime of the application, as in the case of non-AV titles.
図53(b)は、再生属性がAutoPlayに設定された非AV系タイトルのタイトル時間軸を示す図である。再生属性がAutoPlayを示すよう設定されれば、Playback Control Engine32は非AV系タイトルの再生開始と同時に、デフォルトPLの再生を開始する。しかしアプリケーションが正常に動作し、正常終了したとしても、このタイトル時間軸は、PL時間軸を基準にして定められる。
FIG. 53 (b) is a diagram showing the title time axis of a non-AV title whose playback attribute is set to AutoPlay. If the playback attribute is set to indicate AutoPlay, the
図53(c)は、プレイリスト管理テーブルにおいて再生属性が"AutoPlay"を示すよう設定され、アプリケーションが異常終了した場合を示す。かかる異常終了により、どのアプリケーションも動作してない状態になるが、デフォルトPLの再生は継続する。この場合も、デフォルトPLのPL時間軸がタイトル時間軸になる。
図53(d)は、プレイリスト管理テーブルにおいて再生属性が"AutoPlay"を示すよう設定され、メインアプリの起動に失敗したケースを示す。この場合も、Playback Control Engine32によるデフォルトPL再生は、アプリケーションの起動失敗とは関係なしに行われるので、デフォルトPLの時間軸がタイトル時間軸になる。
FIG. 53C shows a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table and the application ends abnormally. Due to such abnormal termination, no application is running, but the playback of the default PL continues. In this case as well, the PL time axis of the default PL becomes the title time axis.
FIG. 53D shows a case where the playback attribute is set to indicate “AutoPlay” in the playlist management table and the main application has failed to start. Also in this case, the default PL playback by the
以上のようにプレイリスト管理テーブルの再生属性を、"AutoPlay"に設定しておけば、Javaアプリケーションの起動に、5〜10秒という時間がかかったとしても、その起動がなされている間、"とりあえず何かが写っている状態"になる。この"とりあえず何かが写っている状態"によりタイトル実行開始時のスタートアップディレイを補うことができる。
以上は本実施形態における記録媒体に対する改良である。続いて本実施形態における再生装置に対する改良について説明する。
As described above, if the playback attribute of the playlist management table is set to "AutoPlay", even if it takes 5-10 seconds to start the Java application, For now, it will be in a state where something is reflected. This "a state where something is reflected for the time being" can compensate for the startup delay at the start of the title execution.
The above is an improvement over the recording medium in the present embodiment. Next, improvements to the playback apparatus in this embodiment will be described.
図52(c)は、分岐先タイトルのプレイリスト管理テーブルにおいて、再生属性がAutoPlayに設定されたPLが存在する場合、再生装置がどのような処理を行うかを示す図である。本図に示すように、再生属性がAutoPlayに設定されたPLが、分岐先タイトルのプレイリスト管理テーブルに存在すれば、BD-Jモジュール35内のアプリケーションマネージャ36は、タイトル分岐直後にこのAutoPlayPLの再生を開始するようPlayback Control Engine32に指示する。このように再生属性がAutoPlayのPLは、タイトル分岐直後に再生開始が命じられることになる。
FIG. 52C is a diagram showing what processing is performed by the playback device when there is a PL whose playback attribute is set to AutoPlay in the playlist management table of the branch destination title. As shown in this figure, if a PL whose playback attribute is set to AutoPlay is present in the playlist management table of the branch destination title, the
上述した記録媒体の改良に対応するため、アプリケーションマネージャ36は図54に示すような処理手順で処理を行う。
図54は、第7実施形態に係るアプリケーションマネージャ36の処理手順を示すフローチャートである。本フローチャートは、図38のフローチャートにおいてステップS21の前にステップS103、ステップS104を追加し、ステップS21と、ステップS22との間にステップS100を追加し、ステップS23−ステップS26間に、ステップS105を追加したものである。
In order to cope with the improvement of the recording medium described above, the
FIG. 54 is a flowchart showing a processing procedure of the
ステップS103は、対応するタイトルのプレイリスト管理テーブルの再生属性がAutoPlayであるか否かの判定である。もしAutoPlayなら、デフォルトPLに対する再生制御をPlayback Control Engine32に開始させる(ステップS104)。
ステップS100は、Presentation Engine31による再生中であるか否かを判定する。もし再生中であるなら、ステップS101に移行する。
Step S103 is a determination as to whether or not the playback attribute of the playlist management table for the corresponding title is AutoPlay. If AutoPlay, the
In step S100, it is determined whether or not reproduction by the
ステップS105は、ステップS23がYes、ステップS25がNoである場合に実行される判定ステップであり、再生属性がAutoPlayであるか否かを示す。もし否であるなら、タイトル終了をモジュールマネージャ34に通知する。もしAutoPlayであるなら、ステップS101に移行して、処理を継続する。
図55は、プレイリスト管理テーブルにおいて"再生属性=AutoPlay"に設定されることにより、どのような再生が行われるかを模式化した図である。ここで再生すべきタイトルは、落下するタイル片を積み重ねるというゲームアプリを含む非AV系タイトルである。この非AV系タイトルにおいて、プレイリスト管理テーブルの再生属性がAutoPlayに設定されていれば、Playback Control Engine32によるデフォルトPL再生も開始する。ゲームアプリの実行と、デフォルトPL再生とが並列的になされるので、図55の上段の左側に示すように、前景をゲームアプリの画面とし、背景をデフォルトPLの再生画像とした合成画像が表示されることになる。このゲームアプリは途中で異常終了したとする。ゲームアプリはアプリケーションマネージャ36により強制終了させられるが、デフォルトPLの再生が継続してなされるため、タイトルは、何かが写っている状態になる。このようなプレイリスト管理テーブルにおける再生属性の指定により、非AV系タイトル内のゲームアプリが異常終了した場合でも、ハングアップやブラックアウトがない動作を維持することができる。
Step S105 is a determination step that is executed when Step S23 is Yes and Step S25 is No, and indicates whether or not the playback attribute is AutoPlay. If not, the
FIG. 55 is a diagram schematically showing what kind of reproduction is performed by setting “reproduction attribute = AutoPlay” in the playlist management table. The title to be played here is a non-AV title including a game application in which falling tile pieces are stacked. For this non-AV title, if the playback attribute of the playlist management table is set to AutoPlay, default PL playback by the
(第8実施形態)
第1実施形態においてBD-Jオブジェクトは、データ管理テーブル、アプリケーション管理テーブルという2つのテーブルを具備していたが、本実施形態は、これらを1つのテーブルに統合するという形態を開示する。かかる統合にあたって、図56(a)に示すように、データ管理テーブルにおける読込属性という項目を廃し、代わりに起動属性にReady属性という属性を設ける。Ready属性とは、他のアプリケーションからの呼出又はアプリケーションマネージャ36からの呼出に備えて、ローカルメモリ29に予めアプリケーションをロードしておく旨を示す起動属性の類型である。
(Eighth embodiment)
In the first embodiment, the BD-J object has two tables, a data management table and an application management table, but this embodiment discloses a form in which these are integrated into one table. In such integration, as shown in FIG. 56A, the item called “read attribute” in the data management table is abolished, and instead an attribute called “Ready attribute” is provided as an activation attribute. The Ready attribute is a type of activation attribute indicating that an application is loaded in advance in the
図56(b)は、アプリケーションの扱いと、起動属性との関係を示した図である。第1実施形態に示したようにアプリケーションの扱いには、プリロードされるか否か(1)、現在の再生時点が有効区間に到来した際自動的に起動されるか、他からの呼出に応じて起動されるか(2)、タイトル再生進行に従ってロードされるか(3)、生存しているかという違いがあり、これらの違いにより、図56(b)に示すような5つの態様が出現する。このうち起動属性がAutoRunに設定されるのは、プリロードがなされ、"自動起動"である場合、及び、ロードがなされ、"自動起動"である場合である。 FIG. 56B is a diagram showing the relationship between application handling and activation attributes. As shown in the first embodiment, the application is handled by whether it is preloaded (1), automatically activated when the current playback time reaches the valid section, or in response to a call from another (2), loaded according to the title playback progress (3), or alive, there are five differences as shown in FIG. 56 (b). . Among these, the activation attribute is set to AutoRun when preloading is performed and “automatic activation” is performed, and when loading is performed and “automatic activation” is performed.
一方、起動属性がReady属性に設定されるのは、プリロード、又は、ロードがなされ、起動項目が"呼出起動"を示している場合である。
尚、ワークメモリ37では生存しているが、ローカルメモリ29にはロードされない"との類型が存在し得ない。これは、アプリケーション・データ管理テーブルでは、ワークメモリ37の生存区間と、ローカルメモリ29の生存区間とが一体だからである。
On the other hand, the activation attribute is set to the Ready attribute when preloading or loading is performed and the activation item indicates “call activation”.
Note that there is no type of “live in the
起動属性として、このReady属性を追加されたので、アプリケーションマネージャ36はタイトル再生に先立ち、起動属性がAutoRunに設定されたアプリケーション、及び、起動属性がReady属性に設定されたアプリケーションをローカルメモリ29にプリロードするとの処理を行う。こうすることにより、読込属性を設けなくても、アプリケーションをローカルメモリ29にプリロードしておくとの処理が可能になる。
Since this Ready attribute has been added as a start attribute, the
図57は、第8実施形態に係るJava仮想マシン38によるアプリケーションの読み込みがどのようにして行われるかを模式化した図である。本図における読み込みは、図51をベースにして作図している。
矢印1,2は、アプリケーション・データ管理テーブルに生存していて、起動属性がReady属性に設定されているJavaアーカイブファイルの読み込みを示す。
FIG. 57 is a diagram schematically showing how an application is read by the Java
矢印☆1,2,3は、アプリケーション・データ管理テーブルに生存していおり、起動属性がPersistentであるアプリケーションの読み込みを示す。
これらの矢印1,2、矢印☆1,2,3は、図51でも記述されていたものだが、図51に記述していた、▽1,2の矢印に該当する読み込み"は、図57では存在しない。これは、アプリケーション・データ管理テーブルは、アプリケーション管理テーブル、データ管理テーブルを一体化したものなので、アプリケーション管理テーブル=生存、データ管理テーブル=非存在という組合せは表現し得ないからである。
These
以上のように本実施形態によれば、データ管理テーブル、アプリケーション管理テーブルを1つのテーブル(アプリケーション・データ管理テーブル)にまとめることができるので、アプリケーションマネージャ36による処理を簡略化することができる。尚、読込優先度をなくすことによりアプリケーション・データ管理テーブルをより簡略化にしても良い。
As described above, according to the present embodiment, the data management table and the application management table can be combined into one table (application / data management table), so that the processing by the
(第9実施形態)
第1実施形態では、アプリケーションをローカルメモリ29に読み込むにあたって、読込優先度を参照して、この読込優先度に従い、読み込み処理に優劣を与えた。これに対し第9実施形態は、Optionalを意味する情報と、0から255までの数値との組合せにより読込優先度を表す実施形態である。
(Ninth embodiment)
In the first embodiment, when the application is read into the
図58(a)(b)は、第9実施形態に係る読込優先度の一例を示す図である。255、128は、0から255までの読込優先度の一例であり、本例におけるapplication#2は、application#3より読込優先度が高いことを意味する。
本実施形態においてアプリケーションマネージャ36は、第1実施形態同様、先ずMandatoryを示す読込優先度が付与されたアプリケーションをローカルメモリ29に読み込む。
FIGS. 58A and 58B are diagrams showing an example of read priorities according to the ninth embodiment. 255 and 128 are examples of read priorities from 0 to 255, and
In the present embodiment, as in the first embodiment, the
その後、Optionalを示す読込優先度が付与されたアプリケーションに対しては、ローカルメモリ29における容量が、アプリケーションのサイズを上回るか否かを判定する。もし上回るなら、読込優先度=Optionalが付与されたアプリケーションをそのままローカルメモリ29に読み込む。もし下回るなら、アプリケーションを構成するデータのうち、読込優先度を表す数値が高いアプリケーションをローカルメモリ29に読み込む。そして、ローカルメモリ29における残りの領域に、読込優先度を表す数値が低いアプリケーションを読み出す。
Thereafter, it is determined whether or not the capacity in the
こうすることでOptional扱いのアプリケーションについては、全体を格納する容量が再生装置のローカルメモリ29になくても、その一部分をローカルメモリ29に格納しておくことができる。
(第10実施形態)
第1実施形態においてアプリケーションマネージャ36は、同じapplicationIDが付与されたアプリケーションを、読込優先度に従い排他的にローカルメモリ29にロードするとしたが、第10実施形態は、アプリケーションにグループ属性を与えることにより、排他的なロードを実現する。図59は、グループ属性が付与されたデータ管理テーブルを示す図である。グループ属性には、排他グループなし、排他グループあり、といった、2通りの設定が可能であり、排他グループありの場合、そのグループ番号が記述される。図59(a)におけるapplication#1の「−」は、排他グループが存在しないことを示す。一方、application#2,#3の「group#1」は、排他グループがあり、application#2,#3は、group#1という排他グループに帰属していることを示す。以上が本実施形態に係る記録媒体の改良である。
By doing so, an optional application can be stored in the
(Tenth embodiment)
In the first embodiment, the
本実施形態に係る再生装置は、データ管理テーブルに基づいて各アプリケーションをローカルメモリ29に読み込んだ後、ローカルメモリ29のアプリケーションにおけるグループ属性をベリファイする。同じ排他グループに帰属するアプリケーションが、ローカルメモリ29上に2つ以上存在していれば、そのうち一方をローカルメモリ29から削除する。
The playback device according to the present embodiment verifies the group attribute of the application in the
こうすることにより、ローカルメモリ29の利用効率を向上させることができる。排他グループの具体例としては、ランチャーアプリと、このアプリにより起動されるアプリとからなるグループが相応しい。本アプリケーションにより起動されるアプリケーションは、原則1つに限られるので、ローカルメモリ29には、ランチャー+1個のアプリケーションのみが存在する筈である。もし3つ以上のアプリケーションが存在していれば、これをローカルメモリ29から削除するという処理をアプリケーションマネージャ36は行う必要があるので、各アプリケーションのグループ属性を設け、ローカルメモリ29上で存在するアプリケーションがランチャー+1個のアプリケーションになっているかどうかのチェックを行うのである。
By doing so, the utilization efficiency of the
図59(a)は、アプリケーション管理テーブルに基づくローカルメモリ29に対するアクセスを示す図である。本図において、読込優先度=Optionalと設定されたapplication#2、application#3のグループ属性は、group#1であるので、これらのアプリケーションは、同じ排他グループに属することになる。3つのアプリケーションのうち、application#1は上述したランチャーアプリケーションであり、application#2、application#3は、これにより起動されるアプリケーションであるので、どちらかのみがローカルメモリ29上に存在するよう、グループ属性が付与されている。アプリケーションマネージャ36は、これらapplication#2、application#3のグループ属性を参照して、どちらか1つをローカルメモリ29から削除するとの処理を行う。かかる削除によりローカルメモリ29に余白が生まれる。
FIG. 59A is a diagram showing access to the
(第11実施形態)
第1実施形態では、アプリケーション管理テーブルをタイトル毎に持たせるとしたが、本実施形態では、このアプリケーション管理テーブルの割当単位を変更させることを提案する。図60は、割当単位のバリエーションを示す図である。本図において第1段目は、BD-ROMに記録されている3つのアプリケーション管理テーブルを示し、第2段目は、タイトル単位、第3段目は、ディスク単位、第4段目は、複数BD-ROMからなるディスクセット単位を示す。図中の矢印は、アプリケーション管理テーブルの割り当てを模式化して示している。この矢印を参照すると、第1段目におけるアプリケーション管理テーブル#1,#2,#3のそれぞれは、第2段目に示したtitle#1,#2,#3のそれぞれに割り当てられていることがわかる。また、ディスク単位ではアプリケーション管理テーブル#4が割り当てられており、ディスクセット全体に対しはアプリケーション管理テーブル#5が割り当てられている。このようにアプリケーション管理テーブルの割当単位を、タイトルより大きい単位にすることにより、1つのBD-ROMがローディングされている間、生存するようなアプリケーションや複数BD-ROMのうちどれかがローディングされている間、生存するようなアプリケーションを定義することができる。
(Eleventh embodiment)
In the first embodiment, an application management table is provided for each title. However, in this embodiment, it is proposed to change the allocation unit of the application management table. FIG. 60 is a diagram showing variations of allocation units. In the figure, the first row shows three application management tables recorded on the BD-ROM, the second row is a title unit, the third row is a disc unit, and the fourth row is a plurality of Indicates the disk set unit consisting of BD-ROM. The arrows in the figure schematically show application management table allocation. Referring to this arrow, the application
(備考)
以上の説明は、本発明の全ての実施行為の形態を示している訳ではない。下記(A)(B)(C)(D)・・・・・の変更を施した実施行為の形態によっても、本発明の実施は可能となる。本願の請求項に係る各発明は、以上に記載した複数の実施形態及びそれらの変形形態を拡張した記載、ないし、一般化した記載としている。拡張ないし一般化の程度は、本発明の[技術分野]の、出願当時の技術水準の特性に基づく。
(Remarks)
The above description does not show all implementation modes of the present invention. The present invention can be implemented also by the form of the implementation act in which the following (A), (B), (C), (D). Each invention according to the claims of the present application is an extended description or a generalized description of the above-described embodiments and their modifications. The degree of expansion or generalization is based on the characteristics of the technical level at the time of filing of the [technical field] of the present invention.
(A)全ての実施形態では、本発明に係る光ディスクをBD-ROMとして実施したが、本発明の光ディスクは、記録される動的シナリオ、Index Tableに特徴があり、この特徴は、BD-ROMの物理的性質に依存するものではない。動的シナリオ、Index Tableを記録しうる記録媒体なら、どのような記録媒体であってもよい。例えば、DVD-ROM,DVD-RAM,DVD-RW,DVD-R,DVD+RW,DVD+R,CD-R,CD-RW等の光ディスク、PD,MO等の光磁気ディスクであってもよい。また、コンパクトフラッシュカード、スマートメディア、メモリスティック、マルチメディアカード、PCM-CIAカード等の半導体メモリカードであってもよい。フレシキブルディスク、SuperDisk,Zip,Clik!等の磁気記録ディスク(i)、ORB,Jaz,SparQ,SyJet,EZFley,マイクロドライブ等のリムーバルハードディスクドライブ(ii)であってもよい。更に、機器内蔵型のハードディスクであってもよい。 (A) In all the embodiments, the optical disc according to the present invention is implemented as a BD-ROM. However, the optical disc of the present invention is characterized by a recorded dynamic scenario and an index table. It does not depend on the physical properties of Any recording medium that can record a dynamic scenario and an index table may be used. For example, it may be an optical disk such as DVD-ROM, DVD-RAM, DVD-RW, DVD-R, DVD + RW, DVD + R, CD-R, CD-RW, or a magneto-optical disk such as PD, MO. . Further, it may be a semiconductor memory card such as a compact flash card, smart media, memory stick, multimedia card, PCM-CIA card. It may be a flexible disk, a magnetic recording disk (i) such as SuperDisk, Zip, or Clik !, or a removable hard disk drive (ii) such as ORB, Jaz, SparQ, SyJet, EZFley, or a microdrive. Furthermore, a built-in hard disk may be used.
(B) 全ての実施形態における再生装置は、BD-ROMに記録されたAVClipをデコードした上でTVに出力していたが、再生装置をBD-ROMドライブのみとし、これ以外の構成要素をTVに具備させてもい、この場合、再生装置と、TVとをIEEE1394で接続されたホームネットワークに組み入れることができる。また、実施形態における再生装置は、テレビと接続して利用されるタイプであったが、ディスプレィと一体型となった再生装置であってもよい。更に、各実施形態の再生装置において、処理の本質的部分をなす部分のみを、再生装置としてもよい。これらの再生装置は、何れも本願明細書に記載された発明であるから、これらの何れの態様であろうとも、各実施形態に示した再生装置の内部構成を元に、再生装置を製造する行為は、本願の明細書に記載された発明の実施行為になる。各実施形態に示した再生装置の有償・無償による譲渡(有償の場合は販売、無償の場合は贈与になる)、貸与、輸入する行為も、本発明の実施行為である。店頭展示、カタログ勧誘、パンフレット配布により、これらの譲渡や貸渡を、一般ユーザに申し出る行為も本再生装置の実施行為である。 (B) The playback device in all embodiments decodes the AVClip recorded on the BD-ROM and outputs it to the TV. However, the playback device is only a BD-ROM drive, and other components are the TV. In this case, the playback device and the TV can be incorporated into a home network connected by IEEE1394. In addition, the playback device in the embodiment is a type that is used by being connected to a television, but may be a playback device integrated with a display. Furthermore, in the playback device of each embodiment, only a portion that constitutes an essential part of the processing may be used as the playback device. Since these playback apparatuses are the inventions described in the present specification, the playback apparatus is manufactured based on the internal configuration of the playback apparatus shown in each embodiment regardless of the aspect. The act becomes an implementation act of the invention described in the specification of the present application. The act of transferring the playback device shown in each embodiment for a fee or for free (sale if paid, or gift if free), lending or importing is also an implementation of the present invention. The act of offering this transfer or lending to a general user through store display, catalog solicitation, or pamphlet distribution is also an implementation of this playback device.
(C)各フローチャートに示したプログラムによる情報処理は、ハードウェア資源を用いて具体的に実現されていることから、上記フローチャートに処理手順を示したプログラムは、単体で発明として成立する。全ての実施形態は、再生装置に組み込まれた態様で、本発明に係るプログラムの実施行為についての実施形態を示したが、再生装置から分離して、各実施形態に示したプログラム単体を実施してもよい。プログラム単体の実施行為には、これらのプログラムを生産する行為(1)や、有償・無償によりプログラムを譲渡する行為(2)、貸与する行為(3)、輸入する行為(4)、双方向の電子通信回線を介して公衆に提供する行為(5)、店頭展示、カタログ勧誘、パンフレット配布により、プログラムの譲渡や貸渡を、一般ユーザに申し出る行為(6)がある。 (C) Since the information processing by the program shown in each flowchart is specifically realized using hardware resources, the program showing the processing procedure in the flowchart is established as an invention as a single unit. Although all the embodiments have been described with respect to the implementation of the program according to the present invention in a mode incorporated in the playback device, the program alone shown in each embodiment is executed separately from the playback device. May be. The act of implementing the program alone includes the act of producing these programs (1), the act of transferring the program for a fee or free of charge (2), the act of lending (3), the act of importing (4), and the interactive There is an act of offering to the public via an electronic communication line (5), an act of offering to the general user transfer or rental of the program by store display, catalog solicitation, pamphlet distribution.
(D)各フロ−チャ−トにおいて時系列に実行される各ステップの「時」の要素を、発明を特定するための必須の事項と考える。そうすると、これらのフロ−チャ−トによる処理手順は、再生方法の使用形態を開示していることがわかる。各ステップの処理を、時系列に行うことで、本発明の本来の目的を達成し、作用及び効果を奏するよう、これらのフロ−チャ−トの処理を行うのであれば、本発明に係る記録方法の実施行為に該当することはいうまでもない。 (D) The “time” element of each step executed in time series in each flowchart is considered as an indispensable matter for specifying the invention. Then, it can be seen that the processing procedure by these flowcharts discloses the usage mode of the reproduction method. If the processing of these flowcharts is performed so that the original purpose of the present invention can be achieved and the operations and effects can be achieved by performing the processing of each step in time series, the recording according to the present invention is performed. Needless to say, this is an implementation of the method.
(E)Chapterを一覧表示するためのMenu(Chapter Menu)と、これの挙動を制御するMOVIEオブジェクトとをBD-ROMに記録しておき、Top Menuから分岐できるようにしてもよい。またリモコンキーのChapterキーの押下により呼出されるようにしてもよい。
(F)BD-ROMに記録するにあたって、AVClipを構成する各TSパケットには、拡張ヘッダを付与しておくことが望ましい。拡張ヘッダは、TP_extra_headerと呼ばれ、『Arrival_Time_Stamp』と、『copy_permission_indicator』とを含み4バイトのデータ長を有する。TP_extra_header付きTSパケット(以下EX付きTSパケットと略す)は、32個毎にグループ化されて、3つのセクタに書き込まれる。32個のEX付きTSパケットからなるグループは、6144バイト(=32×192)であり、これは3個のセクタサイズ6144バイト(=2048×3)と一致する。3個のセクタに収められた32個のEX付きTSパケットを"Aligned Unit"という。
(E) A Menu (Chapter Menu) for displaying a list of chapters and a MOVIE object for controlling the behavior thereof may be recorded on the BD-ROM so that the top menu can be branched. Alternatively, it may be called by pressing the Chapter key of the remote control key.
(F) When recording on a BD-ROM, it is desirable to add an extension header to each TS packet constituting an AVClip. The extension header is called TP_extra_header and includes “Arrival_Time_Stamp” and “copy_permission_indicator” and has a data length of 4 bytes. TS packets with TP_extra_header (hereinafter abbreviated as TS packets with EX) are grouped every 32 and written in three sectors. A group of 32 EX-attached TS packets is 6144 bytes (= 32 × 192), which matches three sector sizes of 6144 bytes (= 2048 × 3). 32 EX-attached TS packets contained in 3 sectors are called "Aligned Unit".
IEEE1394を介して接続されたホームネットワークでの利用時において、再生装置200は、以下のような送信処理にてAligned Unitの送信を行う。つまり送り手側の機器は、Aligned Unitに含まれる32個のEX付きTSパケットのそれぞれからTP_extra_headerを取り外し、TSパケット本体をDTCP規格に基づき暗号化して出力する。TSパケットの出力にあたっては、TSパケット間の随所に、isochronousパケットを挿入する。この挿入箇所は、TP_extra_headerのArrival_Time_Stampに示される時刻に基づいた位置である。TSパケットの出力に伴い、再生装置200はDTCP_Descriptorを出力する。DTCP_Descriptorは、TP_extra_headerにおけるコピー許否設定を示す。ここで「コピー禁止」を示すようDTCP_Descriptorを記述しておけば、IEEE1394を介して接続されたホームネットワークでの利用時においてTSパケットは、他の機器に記録されることはない。
When used in a home network connected via IEEE1394, the
(G)各実施形態において、記録媒体に記録されるデジタルストリームはAVClipであったが、DVD-Video規格、DVD-Video Recording規格のVOB(Video Object)であってもよい。VOBは、ビデオストリーム、オーディオストリームを多重化することにより得られたISO/IEC13818-1規格準拠のプログラムストリームである。またAVClipにおけるビデオストリームは、MPEG4やWMV方式であってもよい。更にオーディオストリームは、Linear-PCM方式、Dolby-AC3方式、MP3方式、MPEG-AAC方式、Dts、WMA(Windows media audio)であってもよい。 (G) In each embodiment, the digital stream recorded on the recording medium is an AVClip, but may be a VOB (Video Object) of the DVD-Video standard or the DVD-Video Recording standard. A VOB is a program stream compliant with the ISO / IEC13818-1 standard obtained by multiplexing a video stream and an audio stream. The video stream in AVClip may be in MPEG4 or WMV format. Furthermore, the audio stream may be Linear-PCM, Dolby-AC3, MP3, MPEG-AAC, Dts, or WMA (Windows media audio).
(H)各実施形態における映像作品は、アナログ放送で放送されたアナログ映像信号をエンコードすることにより得られたものでもよい。デジタル放送で放送されたトランスポートストリームから構成されるストリームデータであってもよい。
またビデオテープに記録されているアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。更にビデオカメラから直接取り込んだアナログ/デジタルの映像信号をエンコードしてコンテンツを得ても良い。他にも、配信サーバにより配信されるデジタル著作物でもよい。
(H) The video work in each embodiment may be obtained by encoding an analog video signal broadcast by analog broadcasting. It may be stream data composed of a transport stream broadcast by digital broadcasting.
Further, the content may be obtained by encoding an analog / digital video signal recorded on a video tape. Further, the content may be obtained by encoding an analog / digital video signal taken directly from the video camera. In addition, a digital work distributed by a distribution server may be used.
(I)BD-Jモジュール35は、衛星放送受信のために機器に組み込まれたJavaプラットフォームであってもよい。BD-Jモジュール35がかかるJavaプラットフォームであれば、本発明に係る再生装置は、MHP用STBとしての処理を兼用することになる。
更に携帯電話の処理制御のために機器に組み込まれたJavaプラットフォームであってもよい。かかるBD-Jモジュール35がかかるJavaプラットフォームであれば、本発明に係る再生装置は、携帯電話としての処理を兼用することになる。
(I) The BD-
Further, it may be a Java platform embedded in a device for processing control of a mobile phone. If such a BD-
(J)レイアモデルにおいて、BD-Jモードの上にMOVIEモードを配置してもよい。特にMOVIEモードでの動的シナリオの解釈や、動的シナリオに基づく制御手順の実行は、再生装置に対する負担が軽いので、MOVIEモードをBD-Jモード上で実行させても何等問題は生じないからである。また再生装置や映画作品の開発にあたって、動作保証が1つのモードで済むからである。 (J) In the layer model, the MOVIE mode may be arranged above the BD-J mode. In particular, the interpretation of dynamic scenarios in MOVIE mode and the execution of control procedures based on dynamic scenarios are light on the playback device, so there is no problem even if MOVIE mode is executed on BD-J mode. It is. In addition, when developing a playback device or movie work, one mode of operation is guaranteed.
更にBD-Jモードだけで再生処理を実行してもよい。第5実施形態に示したように、BD-JモードでもPLの再生と同期した再生制御が可能になるから、強いてMOVIEモードを設けなくてもよいという理由による。
(K)AVClipに多重化されるべきインタラクティブグラフィクスストリームにナビゲーションコマンドを設けて、あるPLから別のPLへの分岐を実現しても良い。
Furthermore, the playback process may be executed only in the BD-J mode. This is because, as shown in the fifth embodiment, playback control synchronized with PL playback is possible even in the BD-J mode, so that it is unnecessary to provide the MOVIE mode.
(K) A navigation command may be provided in the interactive graphics stream to be multiplexed on the AVClip to realize a branch from one PL to another PL.
本発明に係る再生装置は、ホームシアターシステムでの利用のように、個人的な用途で利用されることがありうる。しかし本発明は上記実施形態に内部構成が開示されており、この内部構成に基づき量産することが明らかなので、資質において工業上利用することができる。このことから本発明に係る再生装置は、産業上の利用可能性を有する。 The playback apparatus according to the present invention may be used for personal use, such as use in a home theater system. However, since the internal configuration of the present invention is disclosed in the above-described embodiment, and it is clear that mass production is performed based on this internal configuration, it can be industrially used in qualities. Therefore, the playback apparatus according to the present invention has industrial applicability.
(b)BD-Jオブジェクトの内部構成を示す図である。
(c)Javaアプリケーションの内部構成を示す図である。
(C) It is a figure which shows the internal structure of a Java application.
(b)PlayList#1、PlayList#2の時間軸を足し合わせた時間軸を示す図である。
(b)図12(a)の生存区間を規定するため、記述されたアプリケーション管理テーブルの一例を示す図である。
(b)図17(a)の応用を示す図である。
(b)図25(a)のアプリケーション管理テーブルに基づき、アプリケーションの生存区間を示した図である。
(b)メニュー階層を実現するためのMOVIEオブジェクトを示す図である。
(b)非AV系タイトルが強制終了した際における分岐を示す図である。
(b)図41(a)でのJavaアーカイブファイル生存区間を規定するため、記述されたデータ管理テーブルを示す図である。
(b)読込属性の3つの類型を示す図である。
(b)読込優先度が設定されたデータ管理テーブルの一例を示す図である。
(b)図47(a)のデータ管理テーブルの割り当てによるローカルメモリ29の格納内容の変遷を示す図である。
(b)メモリ規模が小さい再生装置におけるローカルメモリ29の格納内容の変遷を示す図である。
(c)メモリ規模が大きい再生装置におけるローカルメモリ29の格納内容の変遷を示す図である。
(C) It is a figure which shows transition of the storage content of the
(b)プレイリスト管理テーブルの一例を示す図である。
(c)分岐先タイトルのプレイリスト管理テーブルにおいて、再生属性がAutoPlayに設定されたPLが存在する場合、再生装置がどのような処理を行うかを示す図である。
(C) It is a figure which shows what kind of processing a reproducing | regenerating apparatus performs when there exists PL with which the reproduction | regeneration attribute was set to AutoPlay in the play list management table of a branch destination title.
(b)再生属性がAutoPlayに設定された非AV系タイトルのタイトル時間軸を示す図である。
(c)プレイリスト管理テーブルにおいて再生属性が"AutoPlay"を示すよう設定され、アプリケーションが強制終了した場合を示す図である。
(d)プレイリスト管理テーブルにおいて再生属性が"AutoPlay"を示すよう設定され、メインアプリの起動に失敗したケースを示す図である。
(C) It is a figure which shows the case where a reproduction | regeneration attribute is set to show "AutoPlay" in a play list management table, and an application is forcibly terminated.
(D) It is a figure which shows the case where the reproduction | regeneration attribute was set to show "AutoPlay" in a play list management table, and starting of a main application failed.
(b)アプリケーション管理テーブルに基づくローカルメモリ29に対するアクセスを示す図である。
1 BD-ROMドライブ
2 リードバッファ
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
9 P-Graphicsデコーダ
10 Presentation Graphicsプレーン
11 合成部
12 フォントゼネレータ
13 I-Graphicsデコーダ
14 スイッチ
15 Interactive Graphicsプレーン
16 合成部
17 HDD
18 リードバッファ
19 デマルチプレクサ
20 オーディオデコーダ
21 シナリオメモリ
22 CPU
23 キーイベント処理部
24 命令ROM
25 スイッチ
26 CLUT部
27 CLUT部
28 PSRセット
29 ローカルメモリ
31 Presentation Engine
32 再生制御エンジン
33 HDMVモジュール
34 モジュールマネージャ
36 アプリケーションマネージャ
37 ワークメモリ
38 Java仮想マシン
39 Event Listner Manager
40 Default Operation Manage
DESCRIPTION OF
18
23 Key
25
32
40 Default Operation Manage
Claims (4)
前記インデックステーブルは、タイトルと、動作モードオブジェクトとの対応付けを示すとともに、各タイトルに対応する動作モードオブジェクトが、ムービーモード用及び仮想マシンモード用の何れであるかを示し、
ムービモード用の動作モードオブジェクトは、制御手順を表すナビゲーションコマンドを含み、
仮想マシンモード用の動作モードオブジェクトは、アプリケーション管理テーブルを含み、
前記アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、
アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示し、
アプリケーション管理テーブルにて示されるアプリケーションは、
自動起動されないが、他のアプリケーションからのアプリケーション呼出に応じて、起動することができるアプリケーションである
ことを特徴とする記録媒体。 A recording medium on which an index table, an application, and an operation mode object are recorded,
The index table shows the title, together with indicates to the correspondence between the operation mode object, whether the operation mode object that corresponds to each title is either a Movie mode and the virtual machine mode,
The operation mode object for the movie mode includes a navigation command representing a control procedure,
The operation mode object for the virtual machine mode includes an application management table,
The application is a program written in a programming language for virtual machines,
The application management table indicates one or more applications to be controlled by managing the title corresponding to the operation mode object as a life cycle,
Applications shown in the application management table are
A recording medium that is an application that is not automatically activated but can be activated in response to an application call from another application.
インデックステーブルに基づき、複数タイトルの中から、これから再生しようとするタイトルであるカレントタイトルとなるものを選ぶモジュールマネージャと、
アプリケーションを実行するモジュールとを備え、
前記記録媒体は、インデックステーブルと、アプリケーションと、動作モードオブジェクトとが記録され、
前記インデックステーブルは、タイトルと、動作モードオブジェクトとの対応付けを示すとともに、各タイトルに対応する動作モードオブジェクトが、ムービーモード用及び仮想マシンモード用の何れであるかを示し、
ムービモード用の動作モードオブジェクトは、制御手順を表すナビゲーションコマンドを含み、
仮想マシンモード用の動作モードオブジェクトは、アプリケーション管理テーブルを含み、
前記アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、
アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示し、
アプリケーション管理テーブルにて示されるアプリケーションは、自動起動されないが、他のアプリケーションからのアプリケーション呼出に応じて、起動することができるアプリケーションであり、
前記モジュールは、
カレントタイトルを生存区間とするアプリケーションであって、自動起動されないものを、他のアプリケーションからのアプリケーション呼出に応じて、起動するアプリケーションマネージャを含む
ことを特徴とする再生装置。 A playback device that plays back a title recorded on a recording medium and executes an application,
Based on the index table, a module manager that selects a current title that is a title to be played from a plurality of titles,
A module for executing the application,
In the recording medium, an index table, an application, and an operation mode object are recorded,
The index table shows the title, together with indicates to the correspondence between the operation mode object, whether the operation mode object that corresponds to each title is either a Movie mode and the virtual machine mode,
The operation mode object for the movie mode includes a navigation command representing a control procedure,
The operation mode object for the virtual machine mode includes an application management table,
The application is a program written in a programming language for virtual machines,
The application management table indicates one or more applications to be controlled by managing the title corresponding to the operation mode object as a life cycle,
The application shown in the application management table is an application that is not automatically started but can be started in response to an application call from another application.
The module is
A playback apparatus comprising: an application manager that starts an application whose life span is a current title and is not automatically started in response to an application call from another application.
ボリュームデータは、インデックステーブルと、アプリケーションと、動作モードオブジェクトとを含み
前記インデックステーブルは、タイトルと、動作モードオブジェクトとの対応付けを示すとともに、各タイトルに対応する動作モードオブジェクトが、ムービーモード用及び仮想マシンモード用の何れであるかを示し、
ムービモード用の動作モードオブジェクトは、制御手順を表すナビゲーションコマンドを含み、
仮想マシンモード用の動作モードオブジェクトは、アプリケーション管理テーブルを含み、
前記アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、
アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示し、
アプリケーション管理テーブルにて示されるアプリケーションは、
自動起動されないが、他のアプリケーションからのアプリケーション呼出に応じて、起動することができるアプリケーションである
ことを特徴とする記録方法。 A recording method for generating volume data and obtaining a recording medium on which the volume data is recorded,
Volume data, and the index table, and the application, the index table includes an operation mode object, a title, a correspondence between the operation mode object with indicate to the operation mode object that corresponds to each title, for movie mode And for virtual machine mode,
The operation mode object for the movie mode includes a navigation command representing a control procedure,
The operation mode object for the virtual machine mode includes an application management table,
The application is a program written in a programming language for virtual machines,
The application management table indicates one or more applications to be controlled by managing the title corresponding to the operation mode object as a life cycle,
Applications shown in the application management table are
A recording method characterized by being an application that is not automatically started but can be started in response to an application call from another application.
インデックステーブルに基づき、複数タイトルの中から、これから再生しようとするタイトルであるカレントタイトルとなるものを選ぶマネージャステップと、
アプリケーションを実行するモジュールステップとを含み、
記録媒体には、インデックステーブルと、アプリケーションと、動作モードオブジェクトとが記録されており、
前記インデックステーブルは、タイトルと、動作モードオブジェクトとの対応付けを示すとともに、各タイトルに対応する動作モードオブジェクトが、ムービーモード用及び仮想マシンモード用の何れであるかを示し、
ムービモード用の動作モードオブジェクトは、制御手順を表すナビゲーションコマンドを含み、
仮想マシンモード用の動作モードオブジェクトは、アプリケーション管理テーブルを含み、
前記アプリケーションは、仮想マシン向けプログラミング言語で記述されたプログラムであり、
アプリケーション管理テーブルは、前記動作モードオブジェクトに対応するタイトルを、生存区間として管理することで制御されることになる1つ以上のアプリケーションを示し、
アプリケーション管理テーブルにて示されるアプリケーションは、自動起動されないが、他のアプリケーションからのアプリケーション呼出に応じて、起動することができるアプリケーションであり、
前記モジュールステップは、
カレントタイトルを生存区間とするアプリケーションであって、自動起動されないものを、他のアプリケーションからのアプリケーション呼出に応じて、起動する
ことを特徴とする再生方法。 A playback method for playing back a title recorded on a recording medium and executing an application,
Based on the index table, a manager step for selecting a current title that is a title to be played from a plurality of titles,
Module steps to execute the application,
In the recording medium, an index table, an application, and an operation mode object are recorded.
The index table shows the title, together with indicates to the correspondence between the operation mode object, whether the operation mode object that corresponds to each title is either a Movie mode and the virtual machine mode,
The operation mode object for the movie mode includes a navigation command representing a control procedure,
The operation mode object for the virtual machine mode includes an application management table,
The application is a program written in a programming language for virtual machines,
The application management table indicates one or more applications to be controlled by managing the title corresponding to the operation mode object as a life cycle,
The application shown in the application management table is an application that is not automatically started but can be started in response to an application call from another application.
The module step includes
A playback method characterized in that an application whose current title is a life cycle and which is not automatically started is started in response to an application call from another application.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007265850A JP4117019B2 (en) | 2003-10-10 | 2007-10-11 | Recording medium, reproducing apparatus, recording method, reproducing method |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003352913 | 2003-10-10 | ||
JP2003379758 | 2003-11-10 | ||
JP2007265850A JP4117019B2 (en) | 2003-10-10 | 2007-10-11 | Recording medium, reproducing apparatus, recording method, reproducing method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005514677A Division JP4117006B2 (en) | 2003-10-10 | 2004-10-12 | Recording medium, reproducing apparatus, recording method, reproducing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008103066A JP2008103066A (en) | 2008-05-01 |
JP4117019B2 true JP4117019B2 (en) | 2008-07-09 |
Family
ID=39437267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007265850A Expired - Fee Related JP4117019B2 (en) | 2003-10-10 | 2007-10-11 | Recording medium, reproducing apparatus, recording method, reproducing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4117019B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7623769B2 (en) | 2003-10-10 | 2009-11-24 | Panasonic Corporation | Recording medium, playback apparatus, recording method, and playback method |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013229689A (en) * | 2012-04-24 | 2013-11-07 | Sharp Corp | Reproduction device, distribution device, data structure, reproduction method, distribution method, control program, and recording medium |
-
2007
- 2007-10-11 JP JP2007265850A patent/JP4117019B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7623769B2 (en) | 2003-10-10 | 2009-11-24 | Panasonic Corporation | Recording medium, playback apparatus, recording method, and playback method |
US7630615B2 (en) | 2003-10-10 | 2009-12-08 | Panasonic Corporation | Recording medium, playback apparatus, recording method, and playback method |
US7702222B2 (en) | 2003-10-10 | 2010-04-20 | Panasonic Corporation | Playback apparatus program and playback method |
US7715696B2 (en) | 2003-10-10 | 2010-05-11 | Panasonic Corporation | Recording medium, playback apparatus, program, and playback method |
US8107788B2 (en) | 2003-10-10 | 2012-01-31 | Panasonic Corporation | Recording medium, playback device, recording method and playback method |
US8131130B2 (en) | 2003-10-10 | 2012-03-06 | Panasonic Corporation | Recording medium, playback apparatus, recording method, and playback method |
US8406604B2 (en) | 2003-10-10 | 2013-03-26 | Panasonic Corporation | Playback apparatus, recording method, and playback method |
US8437625B2 (en) | 2003-10-10 | 2013-05-07 | Panasonic Corporation | Playback apparatus program and playback method |
US8509596B2 (en) | 2003-10-10 | 2013-08-13 | Panasonic Corporation | Recording medium, playback apparatus, program, and playback method |
Also Published As
Publication number | Publication date |
---|---|
JP2008103066A (en) | 2008-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4117006B2 (en) | Recording medium, reproducing apparatus, recording method, reproducing method | |
KR101076198B1 (en) | Recording medium reproduction device recording method and reproduction method | |
JP4012563B2 (en) | Recording medium, playback device, program, and playback method. | |
JP4117019B2 (en) | Recording medium, reproducing apparatus, recording method, reproducing method | |
JP4091105B2 (en) | Recording medium, reproducing apparatus, recording method, reproducing method | |
JP4091104B2 (en) | Recording medium, reproducing apparatus, recording method, reproducing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080117 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080325 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080418 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110425 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120425 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130425 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140425 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |