JP2006277389A - Information recording medium, and reproduction device and reproduction method therefor - Google Patents

Information recording medium, and reproduction device and reproduction method therefor

Info

Publication number
JP2006277389A
JP2006277389A JP2005096148A JP2005096148A JP2006277389A JP 2006277389 A JP2006277389 A JP 2006277389A JP 2005096148 A JP2005096148 A JP 2005096148A JP 2005096148 A JP2005096148 A JP 2005096148A JP 2006277389 A JP2006277389 A JP 2006277389A
Authority
JP
Grant status
Application
Patent type
Prior art keywords
application
reproduction
lt
file
problem
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.)
Pending
Application number
JP2005096148A
Other languages
Japanese (ja)
Inventor
Ko Ikeda
Tomokazu Kanamaru
Hideyuki Kuwano
Shigeki Matsunaga
Hidetaka Oto
英隆 大戸
繁樹 松永
秀之 桑野
航 池田
智一 金丸
Original Assignee
Matsushita Electric Ind Co Ltd
松下電器産業株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

<P>PROBLEM TO BE SOLVED: To solve the following problem: when introducing reproduction control environment by an application newly described by a script and XML in a BD-ROM for video data, a system verifying that the application operating inside a management unit of a title or the like is not forged or falsified by an ill-intentioned third party is required. <P>SOLUTION: By signing a file list recorded with file names constituting the application and hash values of respective files, validity in time of application execution can be easily verified in a short period. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、宣言型言語で記述された再生制御環境のリソース管理を考慮した、BD−ROM等、映像データを記録した情報記録媒体、その再生装置及び再生方法に関し、特に、映像データとプログラムとを含むコンテンツの開発にプログラミング環境を導入する場合の改良に関する。 The present invention is, considering resource management written in a declarative language reproduction control environment, BD-ROM or the like, the information recording medium recording the video data relates to the reproduction apparatus and a reproduction method, in particular, video data and program It relates to an improvement in the case of introducing a programming environment for the development of content, including.

映像データを記録した情報記録媒体の代表格は、DVD(以下、SD−DVDまたは単にDVDと称する)である。 Representative of the information recording medium recording the video data is DVD (hereinafter referred to as SD-DVD or just DVD). 以降、従来のDVDについて説明する。 The following describes a conventional DVD.

図1は、SD−DVDの構造を示した図である。 FIG. 1 is a diagram showing the structure of the SD-DVD. 図1の下段に示すように、DVDディスク上にはリードインからリードアウトまでの間に論理アドレス空間が設けられ、論理アドレス空間の先頭からファイルシステムのボリューム情報が記録され、続いて映像音声などのアプリケーションデータが記録されている。 As shown in the lower part of FIG. 1, DVD on disk the logical address space in between the lead-in to lead-out, the volume information from the head of the file system of the logical address space is recorded, followed by video and audio etc. of application data has been recorded.

ファイルシステムとは、ISO9660やUDF(Universal Disc Format)のことであり、ディスク上のデータをディレクトリまたはファイルと呼ばれる単位で表現する仕組みである。 The file system is that the ISO9660 and UDF (Universal Disc Format), is a mechanism for representing in units called data on disk with the directory or file. 日常使っているPC(パーソナルコンピュータ)の場合でも、FATまたはNTFSと呼ばれるファイルシステムを通すことにより、ディレクトリやファイルという構造でハードディスクに記録されたデータがコンピュータ上で表現され、ユーザビリティを高めている。 Even in the case of PC (personal computer) that uses daily, by passing a file system called FAT or NTFS, the data recorded on the hard disk in the form of directories and files are represented on the computer, to enhance the usability. SD−DVDの場合、UDF及びISO9660両方を使用しており(両方を合わせて「UDFブリッジ」と呼ぶ事がある)、UDFまたはISO9660どちらのファイルシステムドライバによってもデータの読み出し(ここで取り扱うDVDはパッケージメディア用のROMディスクであり、物理的に書き込みが不可能である)ができるようになっている。 In the case of SD-DVD, it has been using the UDF and ISO9660 both (together both sometimes referred to collectively as "UDF Bridge"), UDF or DVD also handle data of the read-out (here by ISO9660 either file system driver a ROM disk for the package media, are physically writing is impossible) so it is.

DVD上に記録されたデータは、UDFブリッジを通して、図1左上に示すようなディレクトリまたはファイルとして見ることができる。 Data recorded on the DVD, through UDF bridge, can be viewed as directories or files as shown in the upper left of FIG. 1. ルートディレクトリ(図中「ROOT」)の直下に「VIDEO_TS」と呼ばれるディレクトリが置かれ、ここにDVDのアプリケーションデータが記録されている。 Root directory called "VIDEO_TS" immediately under the directory (in the figure "ROOT") is placed, where application data for the DVD is recorded. アプリケーションデータは、複数のファイルとして記録され、主なファイルとして以下のものがある。 Application data is recorded as a plurality of files, The following are some of the major files.

VIDEO_TS. VIDEO_TS. IFO ディスク再生制御情報ファイル VTS_01_0. IFO disc reproduction control information file VTS_01_0. IFO ビデオタイトルセット#1再生制御情報ファイル VTS_01_0. IFO video title set # 1 reproduction control information file VTS_01_0. VOB ビデオタイトルセット#1ストリームファイル . VOB video title set # 1 stream file. . . . .
拡張子として2つの種類が存在する。 Two types exist as the extension. 「IFO」は再生制御情報が記録されたファイルであって、「VOB」はAVデータであるMPEGストリームが記録されたファイルである。 "IFO" is a file reproduction control information is recorded, "VOB" is a file that MPEG stream is recorded is AV data. 再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのようなタイトルやAVストリームに付属する情報などのことである。 Reproduction control information is, and information for realizing interactivity adopted in the DVD (technique for dynamically changing the reproduction in response to user operation), included in the title or an AV stream, such as meta-data information is that like. また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。 Also, sometimes called navigation information in general reproduction control information in DVD.

再生制御情報ファイルは、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセット(DVDでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を1枚のディスクに記録することが可能である。)毎の再生制御情報である「VTS_01_0.IFO」がある。 Playback control information file, the "VIDEO_TS.IFO" to manage the entire disk, the individual video title set (DVD multiple of the title, it is possible to record different movies or different version of the movie in other words on one disc in is.) is a reproduction control information for each there is a "VTS_01_0.IFO". ここで、ファイル名ボディにある「01」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット#2の場合は、「VTS_02_0.IFO」となる。 Here, in the file name body "01" indicates the number of the video title set, for example, in the case of the video title set # 2, the "VTS_02_0.IFO".

図1の右上部は、DVDのアプリケーション層でのDVDナビゲーション空間であり、前述した再生制御情報が展開された論理構造空間である。 Upper right of FIG. 1 is a DVD navigation space in the application layer of the DVD, a logical structure space where the reproduction control information described above is expanded. 「VIDEO_TS.IFO」内の情報は、VMGI(VIDEO Manager Information)として、「VTS_01_0.IFO」または、他のビデオタイトルセット毎に存在する再生制御情報はVTSI(Video Title Set Information)としてDVDナビゲーション空間に展開される。 Information in the "VIDEO_TS.IFO" is, as VMGI (VIDEO Manager Information), "VTS_01_0.IFO" or, the playback control information that exists in every other video title set in the DVD navigation space as VTSI (Video Title Set Information) Be expanded.

VTSIの中にはPGC(Program Chain)と呼ばれる再生シーケンスの情報であるPGCI(Program Chain Information)が記述されている。 Some VTSI is PGCI (Program Chain Information) is described which is information about a reproduction sequence called a PGC (Program Chain). PGCIは、Cellの集合とコマンドと呼ばれる一種のプログラミング情報によって構成されている。 The PGCI is made up of a kind of programming information called a set and commands Cell. Cell自身はVOB(Video Objectの略であり、MPEGストリームを指す)の一部区間または全部区間の集合であり、Cellの再生は、当該VOBのCellによって指定された区間を再生することを意味している。 Cell itself (an abbreviation of Video Object, refers to an MPEG stream) VOB is a set of some sections or all sections of the playback of Cell means to play the specified interval by Cell of the VOB ing.

コマンドは、DVDの仮想マシンによって処理されるものであり、ブラウザ上で実行されるJava(登録商標)スクリプトなどに近いものである。 Command is intended to be processed by the virtual machine of DVD, it is close to a Java (registered trademark) script that is executed on the browser. しかしながらJava(登録商標)スクリプトが論理演算の他にウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドを開くなど)を行うのに対して、DVDのコマンドは、論理演算の他にAVタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。 However, Java (registered trademark) script is in addition to window or browser control of logical operations (for example, such as opening a new browser window) with respect to carry out the, DVD's command, the reproduction of the AV title in addition to the logical operation control, for example, with the difference is of just run like the specification of a chapter to be reproduced.

Cellはディスク上に記録されているVOBの開始及び終了アドレス(論理アドレス)をその内部情報として有しており、プレーヤは、Cellに記述されたVOBの開始及び終了アドレス情報を使ってデータの読み出し、再生を実行する。 Cell has start and end address of the VOB recorded on the disc (logical address) as its internal information, the player reads data using the VOB start and end address information described in the Cell , to perform the play.

図1はAVストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。 Figure 1 is a schematic diagram illustrating navigation information embedded in the AV stream. SD−DVDの特長であるインタラクティビティは前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション・パック(ナビパックまたは、NV_PCKと称する)と呼ばれる専用キャリアを使いVOB内に映像、音声データと一緒に多重化されている。 Features a is interactivity of SD-DVD, instead of being realized only by the navigation information that is recorded in such as the above-mentioned "VIDEO_TS.IFO" and "VTS_01_0.IFO", some of the important information navigation pack (a navigation pack or, referred to as NV_PCK) are multiplexed video, along with audio data in the VOB using the dedicated carrier called.

ここでは簡単なインタラクティビティの例としてメニューを説明する。 Here, a description is given of a menu as a simple example of interactivity. メニュー画面上には、幾つかのボタンが現れ、夫々のボタンには当該ボタンが選択実行された時の処理が定義されている。 The menu screen, several buttons appear, the buttons of each process when the button is selected executed are defined. また、メニュー上では一つのボタンが選択されており(ハイライトによって選択ボタン上に半透明色がオーバーレイされている)、ユーザは、リモコンの上下左右キーを使って、選択状態のボタンを上下左右の何れかのボタンに移動させることができる。 Also, (and semi-transparent color on a selection button by the highlight is overlaid) one button has been selected on the menu, the user uses the up, down, left and right keys on the remote control, up, down, left, or right button in the selected state it can be moved to any of the button. リモコンの上下左右キーを使って、選択実行したいボタンまでハイライトを移動させ、決定する(決定キーを押す)ことによって対応するコマンドのプログラムが実行される。 Use the up, down, left and right keys on the remote control to move the highlight to a button to be selectively executed, determining (pressing the enter key) program of the corresponding command is executed by. 一般的には対応するタイトルやチャプタの再生がコマンドによって実行されている。 In general, regeneration of the corresponding title or chapter is executed by the command.

図2の左上部はNV_PCK内の概要を示している。 Upper left of FIG. 2 shows an overview of the NV_PCK.
NV_PCK内には、ハイライトカラー情報と個々のボタン情報などが含まれている。 In the NV_PCK, it includes highlight color information and button information of each button. ハイライトカラー情報には、カラーパレット情報が記述され、オーバーレイ表示されるハイライトの半透明色が指定される。 The highlight color information, color palette information is described, translucent color of the highlight to be overlaid is designated. ボタン情報には、個々のボタンの位置情報である矩形領域情報と、当該ボタンから他のボタンへの移動情報(ユーザの上下左右キー操作夫々に対応する移動先ボタンの指定)と、ボタンコマンド情報(当該ボタンが決定された時に実行されるコマンド)が記述されている。 The button information includes rectangular area information is position information of the individual buttons, the mobile information from one button to another button (specification of a destination button corresponding to s user up, down, left and right key operation husband), the button command information (command to be executed when the button is determined) is described.

メニュー上のハイライトは、図2の中央右上部に示すように、オーバーレイ画像として作られる。 Highlights of the menu, as shown in the upper right center of FIG. 2, is made as an overlay image. オーバーレイ画像は、ボタン情報の矩形領域情報にカラーパレット情報の色をつけた物である。 Overlay image is obtained with a color of the color palette information to the rectangular area information in the button information. このオーバーレイ画像は右部に示す背景画像と合成されて画面上に表示される。 The overlay image is displayed is combined with a background image shown in the right portion on the screen.

上述のようにして、DVDではメニューを実現している。 As described above, it is realized the menu in the DVD. また、何故、ナビゲーションデータの一部をNV_PCKを使ってストリーム中に埋め込んでいるのは、ストリームと同期して動的にメニュー情報を更新、例えば、映画再生中の途中5分〜10分の間にだけメニューが表示されるなど、同期タイミングが問題となりやすいアプリケーションの場合でも、問題なく実現できるようにしたためである。 Also, why, of which a part of the navigation data is embedded in the stream using NV_PCK is, stream and sync to dynamically update the menu information, for example, during the course of 5 minutes to 10 minutes during movie playback only a menu is displayed, even if the synchronization timing is likely to be problematic application, because that can be realized without problems.

図3は、DVDのVOBのイメージである。 FIG. 3 is a VOB image of the DVD. 図に示すように、映像、音声、字幕などのデータ(A段)は、MPEGシステム(ISO/IEC13818−1)規格に基づいて、パケット及びパック化し(B段)、夫々を多重化して1本のMPEGプログラムストリームにしている(C段)。 As shown, video, audio, data, such as subtitles (A stage) is based on the MPEG system (ISO / IEC13818-1) standard, packets and packed with (B stage), one by multiplexing each It is to the MPEG program stream (C stage). また、前述した通りインタラクティブを実現するためのボタンコマンドを含んだNV_PCKも一緒に多重化をされている。 Also, NV_PCK including a button command for realizing interactivity as described above is also multiplexed together.

MPEGシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順、言い換えればデコード順に基づいてビット列が形成されているわけではない。 Wherein multiplexing the MPEG system, the individual data to be multiplexed, but forms a bit string based on its decoding order, among the data to be multiplexed, i.e., video, audio, while subtitles necessarily order of reproduction, i.e. not the bit string is formed on the basis of the decoding order if. これはMPEGシステムストリームのデコーダモデル(一般にSystem Target Decoder、またはSTDと呼ばれる(図3のD段))が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。 It has a decoder buffer corresponding to an individual elementary stream after the decoder model of an MPEG system stream (generally referred to as the System Target Decoder or STD, (D side of FIG. 3)) is solved multiplexed, before decoding timing It is derived from the fact that accumulated data temporarily. このデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、232kB、音声に対しては4kB、字幕に対しては52kBを夫々有している。 The decoder buffer is different in size for each individual elementary stream for video, 232KB, for voice 4 kB, have each a 52kB for subtitles. このため、各デコーダバッファへのデータ入力タイミングは個々のエレメンタリストリームで異なるため、MPEGシステムストリームとしてビット列を形成する順番と表示(デコード)されるタイミングにずれが生じている。 Therefore, data input timing to each decoder buffer for different individual elementary streams, shift the timing of the order and the display (decode) to form a bit string as an MPEG system stream has occurred.

即ち、映像データと並んで多重化されている字幕データが必ずしも同一タイミングでデコードされているわけでは無い。 That is, not necessarily the subtitle data that is multiplexed together with the video data is not necessarily decoded at the same timing.

かかるDVDの構成は、以下の特許文献1に記載されている。 Configuration of the DVD is described in Patent Document 1 below.
特許第2813245号公報 Patent No. 2813245 Publication

ところで次世代の情報記録媒体であるBD−ROMは、上述したようなプログラム(ナビゲーションコマンド)ではなく、XMLのような宣言型言語で記述されたデータとスクリプトによるプログラムを含むアプリケーションの記録が予定されている。 Incidentally BD-ROM is a next generation information recording medium, rather than the program (navigation command) as described above, is scheduled recording applications, including a program according to the described data and scripts in a declarative language such as XML ing.

映像データと前記アプリケーションからなるコンテンツを情報記録媒体に記録し販売する場合、悪意のある第三者により偽造または改竄された情報記録媒体が流通する可能性がある。 When selling recording contents comprising the video data application on the information recording medium, an information recording medium which has been forged or falsified by a malicious third party is likely to flow. また前記アプリケーションをインターネット上のコンテンツサーバから更新または追加することを可能とした場合、ネットワーク上を流れるアプリケーションが改竄されたりコンテンツサーバが詐称されユーザが悪意のあるアプリケーションをダウンロードしてしまう可能性がある。 In the case where it possible to update or add the application from a content server on the Internet, the user application flowing over the network is spoofed content server or tampered there is a possibility that the download malicious application . このような悪意のある第三者によって偽造または改竄されたプログラムをプレーヤで実行した場合、プレーヤのシステムが破壊されたり、正規の情報記録媒体に記録された保護すべき映像データが盗まれたり改竄されたりするなどの深刻な問題が発生する。 If you run such programs forged or tampered by a malicious third party player, or system of the player is destroyed, or the video data to be protected that is recorded in the normal information recording medium is stolen tampered serious problems, such as or is.

上記課題を解決するため本発明にかかる情報記録媒体には、アプリケーションを構成するファイル名とそれぞれのファイルのハッシュ値が記載されるファイルリストとそのファイルリストに対する署名と記録される。 The information recording medium according to the present invention for solving the above problems, is recorded file list file names that make up an application and a hash value of each file is described as a signature for the file list. アプリケーション実行時には前記署名の妥当性を検証し、前記ファイルリストに名前が記載されたファイルのハッシュ値を計算し、その値が前記ファイルリストに記載された値と同一であることを確認する。 During application execution to verify the validity of the signature, the hash value of the file name is described in the file list is calculated to verify that the value is the same as the values ​​listed in the file list.

上述した構成により、実行するアプリケーションが、正規のスタジオが作成したアプリケーションであるのか、それ以外のアプリケーション、例えば悪意のある第三者がアプリケーションを偽造または改竄したアプリケーションであるのかを判別可能である。 With the above configuration, the application to be executed is either the normal studio is an application that created, other applications, it is possible to determine whether for example the malicious third person is an application that forged or tampered applications.

これにより正規のStudioで作成され改竄されていないアプリケーション以外は、深刻な問題を起こしかねないとして実行を拒否したり、利用できる機能やアクセスできるリソースを制限することが可能となる。 Thus other applications that are not created tampered with regular Studio, or refuse to run as could cause serious problems, it is possible to limit the available functions and can access resources.

本発明は、デジタルストリームを含む1つ以上のタイトルと宣言型言語で記述され1つ以上のファイルから構成される1つ以上のアプリケーションとが記録された情報記録媒体であって、前記情報記録媒体には、アプリケーションを構成するファイル名一覧を記述したファイルリストと前記ファイルリストへの署名データとがアプリケーション毎に記録され、前記ファイルリストはアプリケーションを構成する各ファイルのハッシュ値と前記の署名データのファイル名とを含むことを特徴とする情報記録媒体を提供する。 The present invention provides one or more titles and an information recording medium and one or more applications configured is recorded from the declarative language written one or more files containing the digital stream, the information recording medium the, the signature data in the file list that describes the file name list to configure the application to the file list is recorded for each application, the file list of the signature data and the hash value of each file that make up the application to provide an information recording medium which comprises a file name.

本発明の一実施態様において、前記ファイルリストは対応する前記タイトル毎に関連付けて記録される。 In one embodiment of the present invention, the file list is recorded in association with each corresponding said title.

本発明の一実施態様において、前記ファイルリストには、前記アプリケーションが実行できる機能を記述した実行権限情報のファイル名とそのハッシュ値がさらに記録される。 In one embodiment of the present invention, wherein the file list, the file names and the hash value of the execution permission information describing the function of the application can perform it is further recorded.

本発明の一実施態様において、前記情報記録媒体には、前記ファイルリストにファイル名を記載されたファイル本体をそれぞれ格納したアーカイブファイルが記録されており、前記ファイルリストには前記アーカイブファイルへのリンクがさらに記載されている。 In one embodiment of the present invention, the information storage medium, wherein are archived file is recorded to the file list in the file body listed filenames storing each link to the file list to the archive file There are further described.

本発明はまた、デジタルストリームを含むタイトルの再生と宣言型言語で記述され1つ以上のファイルから構成されるアプリケーションの実行とを同時に行う再生装置であって、複数タイトル間の分岐を制御するタイトル制御部と、1つのタイトルに帰属するデジタルストリームを再生する再生制御部と、タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認部と、前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込部と The present invention also provides a simultaneous reproducing apparatus and execution of the application consists of playback are written in a declarative language one or more files titles, including a digital stream, a title for controlling branching between multiple titles a control unit, a reproduction control unit for reproducing a digital stream attributable to one title, each time a branch of the title occurs, is described in the file list to the file list constituting the application in which the branch destination Title and life cycle a signature verification unit and a signature of the file list to confirm the validity of the reading the signature, when reading a file constituting the application calculates the hash value of the file hash of the file listed in the file list and the file reading unit to read the files only when it matches the value を備えることを特徴とする再生装置を提供する。 Providing a reproducing apparatus, characterized in that it comprises a.

本発明の一実施態様において、前述の再生装置は、前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理部をさらに備える。 In one embodiment of the present invention, the above playback device, when executing the application, the hash of the calculated hash value of the execution permission information described in the file list execution authority information described in the file list further comprising an execution authority management unit for executing an application in execution rights described in the execution authority information only when matches the value.

本発明はまた、デジタルストリームを含むタイトルの再生とアプリケーションの実行とを同時に実行させるプログラムであって、複数タイトル間の分岐を制御するタイトル制御ステップと、1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認ステップと、前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込ステップと、をコンピュータに実 The present invention also provides a program to be executed title playback and application execution at the same time including a digital stream to reproduce a title control step for controlling branching between the plurality title, the digital stream attributable to a single title a reproduction control step, each time a branch of the title occurs, the validity of the signature and reads the signature of the file list that is described in the file list to configure the application in which the branch destination Title and life cycle to the file list a signature verification step of confirming, and a file reading step of reading files only when matching the hash value of the files listed in the file list to calculate the hash value of the file when reading a file constituting the application real to the computer させることを特徴とするプログラムを提供する。 It provides a program for causing the.

本発明の一実施態様において、前述のプログラムは、前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理ステップをさらに含む。 In one embodiment of the present invention, the aforementioned program, when executing the application, the calculated hash value of the execution permission information described in the file list hash value of the execution authority information described in the file list only when that match further comprises an execution authority management step of executing an application in execution rights described in the execution authority information.

本発明はまた、デジタルストリームを含むタイトルの再生とアプリケーションの実行とを同時に実行させる再生方法であって、複数タイトル間の分岐を制御するタイトル制御ステップと、1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認ステップと、前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込ステップと、を含むことを特徴とす The present invention also provides a reproducing method for executing a title playback and application execution at the same time including a digital stream, playback and title control step for controlling branching between the plurality title, the digital stream attributable to a single title a reproduction control step of, each time a branch of the title occurs, validity of the branch target signature and reads the signature of title and the life cycle was a list of files constituting the application to the file list that is described in the file list a signature verification step to check the file reading step of reading files only when matching the hash value of the files listed in the file list to calculate the hash value of the file when reading a file constituting the application, be characterized in that it comprises a 再生方法を提供する。 To provide a reproduction method.

本発明の一実施態様において、上述の再生方法は、前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理ステップをさらに含む。 In one embodiment of the present invention, a method of reproduction described above, when executing the application, the hash of the calculated hash value of the execution permission information described in the file list execution authority information described in the file list further comprising an execution authority management step of executing an application in execution rights described in the execution authority information only when matches the value.

上述した構成により、実行するアプリケーションが、正規のスタジオが作成したアプリケーションであるのか、それ以外のアプリケーション、例えば悪意のある第三者がアプリケーションを偽造または改竄したアプリケーションであるのかを判別可能である。 With the above configuration, the application to be executed is either the normal studio is an application that created, other applications, it is possible to determine whether for example the malicious third person is an application that forged or tampered applications.

これにより正規のStudioで作成され改竄されていないアプリケーション以外は、深刻な問題を起こしかねないとして実行を拒否したり、利用できる機能やアクセスできるリソースを制限することが可能となる。 Thus other applications that are not created tampered with regular Studio, or refuse to run as could cause serious problems, it is possible to limit the available functions and can access resources.

(実施の形態1) (Embodiment 1)
まず最初に本発明の第1の実施の形態について説明する。 First will be described a first embodiment of the present invention first.

(ディスク上の論理データ構造) (Logical data structure on the disk)
図4は、BD−ROM(以降、「BD」と称する場合もある)の構成、特にディスク媒体であるBDディスク(104)と、ディスクに記録されているデータ(101、102、103)の構成を示す図である。 4, BD-ROM (hereinafter, also referred to as "BD") structure, in particular a BD disc (104) is a disk medium, structure of the data recorded on the disk (101, 102, 103) is a diagram illustrating a. BDディスク(104)に記録されるデータは、AVデータ(103)と、AVデータに関する管理情報及びAV再生シーケンスなどのBD管理情報(102)と、インタラクティブを実現するBD再生プログラム(101)である。 Data recorded on the BD disc (104), AV data (103), BD management information such as management information and AV reproduction sequence for AV data (102), is a BD playback program for realizing an interactive (101) . 本実施の形態では、映画などのAVコンテンツを再生するためのAVアプリケーションを主眼においてのBDディスクの説明を行うが、BDディスクをCD−ROMやDVD−ROMの様にコンピュータ用途の記録媒体としてしようすることも当然のことながら可能である。 In this embodiment, a description of the BD disc in focus on AV application for playing back AV content such as a movie, using a BD disc as a recording medium for computer use as a CD-ROM or DVD-ROM it is also possible of course be.

図5は、上述したBDディスクに記録されている論理データを示した図である。 Figure 5 is a diagram showing the logical data recorded on the BD disc. BDディスクは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。 BD discs, other optical discs, for example, a DVD or the like and has a recording area in a helical shape toward the outer periphery from the inner periphery in the same manner CD, a logical data between the read-out of the inner periphery of the lead-in and the outer periphery and a recordable logical address space. また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。 In addition, the inside of the lead-in there is a special area that can be read only by a drive called a BCA (Burst Cutting Area). この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。 Since this area can not be read from an application, for example, often it is used for copyright protection technology.

論理アドレス空間には、ファイルシステム情報(ボリューム)を先頭に映像データなどのアプリケーションデータが記録されている。 The logical address space, application data such as video data starting with the file system information (volume) is recorded. ファイルシステムとは従来技術で説明した通り、UDFやISO9660などのことであり、通常のPCと同じように記録されている論理データをディレクトリ、ファイル構造を使って読み出しする事が可能になっている。 As the file system described in the prior art is that such UDF and ISO9660, which is a logical data stored as a normal PC directory, is possible to read using the file structure .

本実施の形態の場合、BDディスク上のディレクトリ、ファイル構造は、ルートディレクトリ(ROOT)直下にBDVIDEOディレクトリが置かれている。 In the present embodiment, a directory on the BD disc, file structure, BDVIDEO directory is located immediately below the root directory (ROOT). このディレクトリはBD−ROMで扱うAVコンテンツや管理情報などのデータ(図4で説明した101、102、103)が記録されているディレクトリである。 This directory is a directory storing data such as AV contents and management information handled by the BD-ROM (101, 102, 103 described in FIG. 4) is recorded.

BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。 At the bottom of the BDVIDEO directory, the following seven types of files are recorded.
BD. BD. INFO(ファイル名固定) INFO (file name fixed)
「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。 Is one of "BD management information", is a file storing the information related to the entire BD disc. BDプレーヤは最初にこのファイルを読み出す。 BD player is first to read this file.

BD. BD. PROG(ファイル名固定) PROG (file name fixed)
「BD再生プログラム」の一つであり、BDディスク全体に関わるプログラムを記録したファイルである。 Is one of "BD playback program", is a file storing the program related to the entire BD disc.

XXX. XXX. PL(「XXX」は可変、拡張子「PL」は固定) PL ( "XXX" is variable, the extension "PL" is fixed)
「BD管理情報」の一つであり、シナリオを記録するプレイリスト(Play List)情報を記録したファイルである。 Is one of "BD management information", is a file storing the play list (Play List) information to be recorded in the scenario. プレイリスト毎に1つのファイルを持っている。 There is one file for each play list.

XXX. XXX. PROG(「XXX」は可変、拡張子「PL」は固定) PROG ( "XXX" is variable, the extension "PL" is fixed)
「BD再生プログラム」の一つであり、前述したプレイリスト毎のプログラムを記録したファイルである。 Is one of "BD playback program", is a file storing the program of each play list described above. プレイリストとの対応はファイルボディ名(「XXX」が一致する)によって識別される。 Correspondence between the play list is identified by a file body name ( "XXX" matches).

YYY. YYY. VOB(「YYY」は可変、拡張子「VOB」は固定) VOB ( "YYY" is variable, the extension "VOB" is fixed)
「AVデータ」の一つであり、VOB(従来例で説明したVOBと同じ)を記録したファイルである。 It is one of "AV data" and is a file storing the VOB (same as VOB explained in the conventional example). VOB毎に1つのファイルを持っている。 I have one file for each VOB.

YYY. YYY. VOBI(「YYY」は可変、拡張子「VOBI」は固定) VOBI ( "YYY" is variable, the extension "VOBI" is fixed)
「BD管理情報」の一つであり、AVデータであるVOBに関わる管理情報を記録したファイルである。 Is one of "BD management information", is a file storing the management information concerning the VOB is the AV data. VOBとの対応はファイルボディ名(「YYY」が一致する)によって識別される。 Correspondence between the VOB is identified by a file body name ( "YYY" matches).

ZZZ. ZZZ. PNG(「ZZZ」は可変、拡張子「PNG」は固定) PNG ( "ZZZ" is variable, the extension "PNG" is fixed)
「AVデータ」の一つであり、字幕及びメニューを構成するためのイメージデータPNG(W3Cによって標準化された画像フォーマットであり「ピング」と読む)を記録したファイルである。 It is one of "AV data" and is a file storing image data PNG for constructing subtitles and a menu (a standardized image format by the W3C read as "ping"). 1つのPNGイメージ毎に1つのファイルを持つ。 With one of the files in each one of the PNG image.

(プレーヤの構成) (Configuration player)
次に、前述したBDディスクを再生するプレーヤの構成について図6及び図7を用いて説明する。 It will now be described with reference to FIGS structure of a player for playing the BD disc as described above.

図6は、プレーヤの大まかな機能構成を示すブロック図である。 Figure 6 is a block diagram showing a rough functional structure of the player.
BDディスク(201)上のデータは、光ピックアップ(202)を通して読み出される。 Data on a BD disc (201) is read out through optical pickup (202). 読み出されたデータは夫々のデータの種類に応じて専用のメモリに記録される。 The read data is recorded in a dedicated memory according to the type of data each. BD再生プログラム(「BD.PROG」または「XXX.PROG」ファイルの中身)はプログラム記録メモリ(203)に、BD管理情報(「BD.INFO」、「XXX.PL」または「YYY.VOBI」)は管理情報記録メモリ(204)に、AVデータ(「YYY.VOB」または「ZZZ.PNG」)はAV記録メモリ(205)に夫々記録される。 BD playback program (the "BD.PROG" or the contents of the "XXX.PROG" file) is a program recording memory (203), BD management information ( "BD.INFO", "XXX.PL" or "YYY.VOBI") the management information storage memory (204), AV data ( "YYY.VOB" or "ZZZ.PNG") is respectively recorded in the AV recording memory (205).

プログラム記録メモリ(203)に記録されたBD再生プログラムはプログラム処理部(206)によって、管理情報記録メモリ(204)に記録されたBD管理情報は管理情報処理部(207)によって、また、AV記録メモリ(205)に記録されたAVデータはプレゼンテーション処理部(208)によって夫々処理される。 BD playback program is a program processing unit, which is recorded in the program recording memory (203) by (206), BD management information recorded in the management information storage memory (204) by the management information processing unit (207), also, AV recording AV data recorded in the memory (205) are respectively processed by the presentation processing unit (208).

プログラム処理部(206)は、管理情報処理部(207)より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。 The program processing unit (206) performs the process of receiving the program event information such as the execution timing of the playlist information or the program to be reproduced from the management information processing unit (207). また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部(207)に対してプレイリストの再生命令を送ることで実現する。 Further, it is possible to dynamically change the playlist to be reproduced in a program, in this case realized by sending a playback instruction of the play lists to the management information processing unit (207). プログラム処理部(206)は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、実行処理する。 The program processing unit (206), an event from the user, i.e. receiving a request from a remote control key, if there is a program corresponding to the user event, and executes processing.

管理情報処理部(207)は、プログラム処理部(206)の指示を受け、対応するプレイリスト及びプレイリストに対応したVOBの管理情報を解析し、プレゼンテーション処理部(208)に対象となるAVデータの再生を指示する。 The management information processing unit (207) receives an instruction from the program processing unit (206), the corresponding analyzes management information of a VOB corresponding to the playlist and the playlist, AV data to be in the presentation processing unit (208) to instruct the playback. また、管理情報処理部(207)は、プレゼンテーション処理部(208)より基準時刻情報を受け取り、時刻情報に基づいてプレゼンテーション処理部(208)にAVデータ再生の停止指示を行い、また、プログラム処理部(206)に対してプログラム実行タイミングを示すイベントを生成する。 Also, the management information processing unit (207) receives reference time information from the presentation processing unit (208), the stop instruction of the AV data reproducing the presentation processing unit (208) based on the time information, also, the program processing unit It generates an event indicating a program executing timing relative to (206).

プレゼンテーション処理部(208)は、映像、音声、字幕/イメージ夫々に対応するデコーダを持ち、管理情報処理部(207)からの指示に従い、AVデータのデコード及び出力を行う。 Presentation processing unit (208) performs video, audio, which has decoders corresponding to the subtitle / image respectively, in accordance with an instruction from the management information processing unit (207), the decoding and output of AV data. 映像データ及び字幕/イメージの場合は、デコード後に夫々の専用プレーン、ビデオプレーン(210)及びイメージプレーン(209)に描画され、合成処理部(211)によって映像の合成処理が行われTVなどの表示デバイスへ出力される。 For video data and subtitles / images, dedicated planes respectively after decoded, drawn on the video plane (210) and image plane (209), a display such as a TV is performed combining process of the image by the synthesis processing unit (211) is output to the device.

図6で示すように、BDプレーヤは図4で示したBDディスクに記録されているデータ構成に基づいた構成をとっている。 As shown in Figure 6, BD player is taking a configuration based on the data structure recorded on the BD disc shown in FIG.

図7は前述したプレーヤ構成を詳細化したブロック図である。 Figure 7 is a block diagram detailing the player configuration described above. 図7では、AV記録メモリ(205)はイメージメモリ(308)とトラックバッファ(309)に、プログラム処理部(206)はプログラムプロセッサ(302)とUOPマネージャ(303)に、管理情報処理部(207)はシナリオプロセッサ(305)とプレゼンテーションコントローラ(306)に、プレゼンテーション処理部(208)はクロック(307)、デマルチプレクサ(310)、イメージプロセッサ(311)、ビデオプロセッサ(312)とサウンドプロセッサ(313)に夫々対応/展開している。 In Figure 7, AV recording memory (205) in the image memory (308) and the track buffer (309), the program processing unit (206) UOP manager and the program processor (302) (303), the management information processing unit (207 ) the scenario processor (305) and a presentation controller (306), the presentation processing unit (208) a clock (307), a demultiplexer (310), an image processor (311), a video processor (312) and a sound processor (313) are respectively corresponding / deployment to.

BDディスク(201)から読み出されたVOBデータ(MPEGストリーム)はトラックバッファ(309)に、イメージデータ(PNG)はイメージメモリ(308)に夫々記録される。 The VOB data read from the BD disc (201) (MPEG stream) track buffer (309), image data (PNG) is respectively recorded in the image memory (308). デマルチプレクサ(310)がクロック(307)の時刻に基づき、トラックバッファ(309)に記録されたVOBデータを抜き出し、映像データをビデオプロセッサ(312)に音声データをサウンドプロセッサ(313)に夫々送り込む。 Based demultiplexer (310) is the time indicated by the clock (307), extracts the VOB data stored in the track buffer (309), feeding each video data audio data to the sound processor (313) to the video processor (312). ビデオプロセッサ(312)及びサウンドプロセッサ(313)は夫々MPEGシステム規格で定める通りに、デコーダバッファとデコーダから夫々構成されている。 The video processor (312) and the sound processor (313) as prescribed by the respective MPEG system standard, are respectively composed of a decoder buffer and a decoder. 即ち、デマルチプレクサ(310)から送りこまれる映像、音声夫々のデータは、夫々のデコーダバッファに一時的に記録され、クロック(307)に従い個々のデコーダでデコード処理される。 That is, the data of video, audio, respectively which are fed from the demultiplexer (310) is temporarily stored in the decoder buffer of each, it is decoded by the individual decoders according to the clock (307).

イメージメモリ(308)に記録されたPNGは、次の2つの処理方法がある。 PNG stored in the image memory (308) is processed using two methods described below. イメージデータが字幕用の場合は、プレゼンテーションコントローラ(306)によってデコードタイミングが指示される。 If the image data is for a subtitle, it gives an instruction about decoding timing by the presentation controller (306). クロック(307)からの時刻情報をシナリオプロセッサ(305)が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始及び終了)になればプレゼンテーションコントローラ(306)に対して字幕の表示、非表示の指示を出す。 Clock (307) time information once received scenario processor (305) is a from, to allow proper caption display, display of subtitles relative presentation controller (306) if the subtitle display time (start and end), It issues a non-display instruction. プレゼンテーションコントローラ(306)からデコード/表示の指示を受けたイメージプロセッサ(311)は対応するPNGデータをイメージメモリ(308)から抜き出し、デコードし、イメージプレーン(314)に描画する。 Image processor (311) receiving the instruction decode / display from the presentation controller (306) extracts the corresponding PNG data from the image memory (308), decodes, and draws the image plane (314).

次に、イメージデータがメニュー用の場合は、プログラムプロセッサ(302)によってデコードタイミングが指示される。 Then, the image data is the case for the menu, gives an instruction about decoding timing by the program processor (302). プログラムプロセッサ(302)が何時イメージのデコードを指示するかは、プログラムプロセッサ(302)が処理しているBDプログラムに因るものであって一概には決まらない。 The program that the processor (302) gives an instruction to decode the time image, not determined sweepingly be those due to BD program the program processor (302) is processing.

イメージデータ及び映像データは、図6で説明したように夫々デコード後にイメージプレーン(314)、ビデオプレーン(315)に記録され、合成処理部(316)によって合成出力される。 Image data and image data, the image plane (314) to after each decoded as described with reference to FIG. 6, are recorded in the video plane (315), it is synthesized output by the synthesis unit (316).

BDディスク(201)から読み出された管理情報(シナリオ、AV管理情報)は、管理情報記録メモリ(304)に記録されるが、シナリオ情報(「BD.INFO」及び「XXX.PL」)はシナリオプロセッサ(305)によって読み出され処理される。 Management information read from the BD disc (201) (scenario, AV management information) is recorded in the management information storage memory (304), the scenario information ( "BD.INFO" and "XXX.PL") is It is processed read by the scenario processor (305). また、AV管理情報(「YYY.VOBI」)はプレゼンテーションコントローラ(306)によって読み出され処理される。 Furthermore, AV management information ( "YYY.VOBI") is processed read by the presentation controller (306).

シナリオプロセッサ(305)は、プレイリストの情報を解析し、プレイリストによって参照されているVOBとその再生位置をプレゼンテーションコントローラ(306)に指示し、プレゼンテーションコントローラ(306)は対象となるVOBの管理情報(「YYY.VOBI」)を解析して、対象となるVOBを読み出すようにドライブコントローラ(317)に指示を出す。 The scenario processor (305) analyzes the information in the playlist, and instructs the reproduction position as the VOB that is referenced by the playlist presentation controller (306), the presentation controller (306) VOB management information of interest and analysis ( "YYY.VOBI"), instructs the drive controller (317) to read the VOB of interest.

ドライブコントローラ(317)はプレゼンテーションコントローラ(306)の指示に従い、光ピックアップを移動させ、対象となるAVデータの読み出しを行う。 Follow the instructions in the drive controller (317) the presentation controller (306) moves the optical pickup and reads the target AV data. 読み出されたAVデータは、前述したようにイメージメモリ(308)またはトラックバッファ(309)に記録される。 AV data read out is recorded in the image memory (308) or the track buffer (309) as described above.

また、シナリオプロセッサ(305)は、クロック(307)の時刻を監視し、管理情報で設定されているタイミングでイベントをプログラムプロセッサ(302)に投げる。 Also, the scenario processor (305) monitors the time indicated by the clock (307), throw event at the timing set by the management information to the program processor (302).

プログラム記録メモリ(301)に記録されたBDプログラム(「BD.PROG」または「XXX.PROG」)は、プログラムプロセッサ302によって実行処理される。 Program recording memory (301) the recorded BD program ( "BD.PROG" or "XXX.PROG") is executed processed by the program processor 302. プログラムプロセッサ(302)がBDプログラムを処理するのは、シナリオプロセッサ(305)からイベントが送られてきた場合か、UOPマネージャ(303)からイベントが送られてきた場合である。 The program processor (302) processes the BD program, or when an event from the scenario processor (305) is sent, a case where events from UOP manager (303) is sent. UOPマネージャ(303)は、ユーザからリモコンキーによってリクエストが送られてきた場合に、プログラムプロセッサ(302)にイベントを生成する。 UOP manager (303), when the request is sent from the user using a remote control key, generates an event to the program processor (302).

(アプリケーション空間) (Application space)
図8は、BD−ROMのアプリケーション空間を示す図である。 Figure 8 is a diagram showing an application space on the BD-ROM.

BD−ROMのアプリケーション空間では、プレイリスト(PlayList)が一つの再生単位になっている。 In the application space on the BD-ROM, a playlist (PlayList) has become one of the playback unit. プレイリストはセル(Cell)の再生シーケンスから構成される静的なシナリオと、プログラムによって記述される動的なシナリオを有している。 Playlist includes a static scenario consists playback sequence of cells (Cell), a dynamic scenario described by the program. プログラムによる動的なシナリオが無い限り、プレイリストは個々のセルを順に再生するだけであり、また、全てのセルの再生を終了した時点でプレイリストの再生は終了する。 As long as there is no dynamic scenario by the program, the playlist will only play the individual cells in order, also, the reproduction of the play list at the time of the completion of the playback of all the cells is completed. 一方で、プログラムは、プレイリストを超えての再生記述や、ユーザ選択またはプレーヤの状態によって再生する対象を動的に変えることが可能である。 On the other hand, the program reproduction description or beyond playlists, it is possible to change dynamically the object to be reproduced by the state of the user selection or player. 典型的な例としてはメニューがあげられる。 A typical example menu, and the like. BD−ROMの場合、メニューとはユーザの選択によって再生するシナリオ、即ちプレイリストを動的に選択することである。 For BD-ROM, the menu is to dynamically select scenario, i.e. a playlist to be reproduced according to a user selection.

ここで言うプログラムは、時間イベントまたはユーザイベントによって実行されるイベントハンドラの事である。 The program referred to here is that of an event handler that is executed by a time event or a user event.

時間イベントは、プレイリスト中に埋め込まれた時刻情報に基づいて生成されるイベントである。 Time events are events that are generated based on time information embedded in a playlist. 図7で説明したシナリオプロセッサ(305)からプログラムプロセッサ(302)に送られるイベントがこれに相当する。 Event sent to the program processor (302) from the scenario processor described (305) in FIG. 7 corresponds to this. 時間イベントが発行されると、プログラムプロセッサ(302)はIDによって対応付けられるイベントハンドラを実行処理する。 When the time event is issued, the program processor (302) executes an event handler associated with the corresponding ID. 前述した通り、実行されるプログラムが他のプレイリストの再生を指示することが可能であり、この場合には、現在再生されているプレイリストの再生は中止され、指定されたプレイリストの再生へと遷移する。 As described above, it is possible to program executed is an instruction to reproduce another playlist. In this case, reproduction of the play list that is currently being played is stopped, the playback of the specified playlist transitions.

ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。 User events are events that are generated by remote key operations by the user. ユーザイベントは大きく2つのタイプに分けられる。 User event is divided into two types. 一つ目は、カーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。 The first one is an event of the menu selection that is generated by the cursor keys ( "up", "down", "left", "right" key) or "determining" key of the operation. メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり(プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている)、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。 Event handlers corresponding to menu selection events are effective only during a limited period indicated in a playlist (as information of the play list, the validity period of each event handler is set), "on" remote control " under "" and searches for a valid event handler when the left "," right "key or" OK "key is pressed, if there is a valid event handler corresponding event handler is executed processing. 他の場合は、メニュー選択のイベントは無視されることになる。 Otherwise, so that the menu selection event is ignored.

二つ目のユーザイベントは、「メニュー」キーの操作によって生成されるメニュー呼び出しのイベントである。 The second user event is an event of the menu calls that are generated by operating the "Menu" key. メニュー呼び出しのイベントが生成されると、グローバルイベントハンドラが呼ばれる。 When a menu call event is generated, a global event handler is called. グローバルイベントハンドラはプレイリストに依存せず、常に有効なイベントハンドラである。 Global event handler is not dependent on the play list, it is always valid event handler. この機能を使うことにより、DVDのメニューコール(タイトル再生中に音声、字幕メニューなどを呼び出し、音声または字幕を変更後に中断した地点からのタイトル再生を実行する)を実装することができる。 By using this function, it is possible to implement a DVD menu call (call voice, and subtitle menu during playback of the title, to perform the title playback from the point it left off after the change the audio or subtitle).

プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。 Is a unit constituting a static scenario in a play list cell (Cell) is obtained by referring to the whole or a part of reproduction segments in a VOB (MPEG stream). セルはVOB内の再生区間を開始、終了時刻の情報として持っている。 Cell start a playback section in the VOB, it has as information of the end time. 個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にタイムマップ(Time MapまたはTM)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレス及び終了アドレスを導き出すことが可能である。 VOB management information (VOBI) is that is an individual VOB pair, its interior has a time map (Time the Map or TM), the reproduction of the VOB described above by the time map, the VOB end time ( in other words it is possible to derive the read-out start address and end address in the target file "YYY.VOB"). なおタイムマップの詳細は後述する。 It should be noted that details of the time map will be described later.

(VOBの詳細) (VOB details)
図9は、本実施の形態で使用するMPEGストリーム(VOB)の構成図である。 Figure 9 is a block diagram of an MPEG stream (VOB) used in this embodiment. 図9に示すように、VOBは複数のVOBU(Video Object Unit)によって構成されている。 As shown in FIG. 9, VOB is composed of a plurality of VOBU (Video Object Unit). VOBUは、MPEGビデオストリームで言うGOP(Group Of Pictures)を基準として、音声データも含んだ多重化ストリームとしての一再生単位である。 VOBU, based on the GOP (Group Of Pictures) as referred to in MPEG video stream, which is one reproduction unit as a multiplexed stream including also voice data. VOBUは0.4秒から1.0秒の時間を持ち、通常は0.5秒の再生時間を持っている。 VOBU has a 1.0 second time from 0.4 seconds, usually has a reproduction time of 0.5 seconds. これはMPEGのGOPの構造が通常は15フレーム/秒(NTSCの場合)によって導かれるものである。 This is usually the structure of GOP in MPEG is intended to be guided by 15 frames / sec (for NTSC).

VOBUは、その内部にビデオパック(V_PCK)とオーディオパック(A_PCK)を有している。 VOBU includes video packs (V_PCK) and audio packs (A_PCK) therein. 各パックは1セクタ、本実施の形態の場合は2kB単位で構成されている。 Each pack sector, in the case of this embodiment is composed of 2kB units.

図10は、パックの構成を示した図である。 Figure 10 is a diagram showing the configuration of the pack.
図10に示すように、ビデオデータ及びオーディオデータといったエレメンタリデータは、ペイロードと呼ばれるパケットのデータ格納領域に先頭から順次入れられていく。 As shown in FIG. 10, video data and audio data such elementary data, it is sequentially placed from the beginning in the data storage area of ​​the packet, called the payload. ペイロードにはパケットヘッダが付けられ1つのパケットを構成する。 The payload constituting one packet is given a packet header. パケットヘッダには、ペイロードに格納してあるデータがどのストリームなのか、ビデオなのかオーディオなのか、また、ビデオまたはオーディオが夫々複数ストリームある場合は、どのストリームのデータなのかを識別するためのID(stream_id)と、当該ペイロードのデコード及び表示時刻情報であるタイムスタンプDTS及びPTSが夫々記録されている。 The packet header, how data streams for which are stored in the payload, or a video of the one audio of the, also, if the video or audio have multiple streams s husband, ID for identifying whether data of any stream and (stream_id), time stamp DTS and PTS are respectively recorded is decoded and display time information of the payload. PTS/DTSは必ずしも全てのパケットヘッダに記録されている訳ではなく、MPEGによって記録するルールが規定されている。 PTS / DTS is not necessarily recorded in not all of the packet header, the rule to be recorded is defined by MPEG. ルールの詳細についてはMPEGシステム(ISO/IEC13818−1)規格書に記述されているので省略する。 Omitted For more information about the rules are described in the MPEG system (ISO / IEC13818-1) standard.

パケットには更にヘッダ(パックヘッダ)が付けられ、パックを構成する。 Furthermore given a header (Pack header) of the packet constitute a pack. パックヘッダには、当該パックがいつデマルチプレクサを通過し、個々のエレメンタリストリームのデコーダバッファに入力されるかを示すタイムスタンプSCR(System Clock Reference)が記録されている。 The pack header, the pack passes through the time demultiplexer, a time stamp indicating the input to the decoder buffer of each elementary stream SCR (System Clock Reference) is recorded.

(VOBのインターリーブ記録) (VOB interleave of record)
次に図11及び図12を用いてVOBファイルのインターリーブ記録について説明する。 Next, a description is given of interleaved storage of a VOB file with reference to FIGS. 11 and 12.

図11上段は、前述したプレーヤ構成図の一部である。 11 upper part, a part of player configuration diagram described above. 図の通り、BDディスク上のデータは、光ピックアップを通してVOB即ちMPEGストリームであればトラックバッファへ入力され、PNG即ちイメージデータであればイメージメモリへと入力される。 As shown, data on the BD disc, if VOB i.e. MPEG stream through the optical pickup is inputted to the track buffer is input to the image memory if the PNG i.e. image data.

トラックバッファはFIFOであり、入力されたVOBのデータは入力された順にデマルチプレクサへと送られる。 Track buffer is a FIFO, data is input VOB is sent to the demultiplexer in order of input. この時、前述したSCRに従って個々のパックはトラックバッファから引き抜かれデマルチプレクサを介してビデオプロセッサまたはサウンドプロセッサへとデータが送り届けられる。 At this time, the data is forwarded to the video processor or the sound processor via the demultiplexer individual packs withdrawn from the track buffer according to the SCR described above. 一方で、イメージデータの場合は、どのイメージを描画するかはプレゼンテーションコントローラによって指示される。 On the other hand, in the case of image data, it should be drawn which image is instructed by the presentation controller. また、描画に使ったイメージデータは、字幕用イメージデータの場合は同時にイメージメモリから削除されるが、メニュー用のイメージデータの場合は、イメージメモリ内にそのまま残される。 In addition, image data that was used to drawing, but in the case of subtitle for the image data is deleted from the image memory at the same time, in the case of image data for a menu, is left as it is to the image in memory. これはメニューの描画はユーザ操作に依存するところがあるため、同一イメージを複数回描画する可能性があるためである。 This drawing of the menu because there is something that depends on user operation, there is a possibility to draw a multiple of the same image.

図11下段は、BDディスク上でのVOBファイル及びPNGファイルのインターリーブ記録を示す図である。 11 the lower is a diagram showing the interleaved storage of a VOB file and PNG files on the BD disc. 一般的にROM、例えばCD−ROMやDVD−ROMの場合、一連の連続再生単位となるAVデータは連続記録されている。 Generally ROM, for example, in the case of CD-ROM and a DVD-ROM, AV data made up of a series of continuous reproduction units are continuously recorded. これは、連続記録されている限り、ドライブは順次データを読み出しプレーヤ側に送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。 This, as long as it is continuously recorded, if the drive can only deliver sequential player side reads data, which is divided continuous data are discretely arranged on the disk, seeks between individual successive sections operation will be entering is during this time the data read will be stops, since the supply of data is likely to stop. BD−ROMの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBDディスクから読み出す事が必要になる。 Similarly, for BD-ROM, VOB file is desirably who can be recorded in a continuous area, there is data to be reproduced in synchronization with video data recorded in the VOB, for example, as the caption data, VOB files as well as subtitle data also need to be read from the BD disc by some method.

字幕データの読み出し方法の一手段として、VOBの再生開始前に一まとめで字幕用のイメージデータ(PNGファイル)を読み出してしまう方法がある。 One means of a method of reading subtitle data, there is a method of thus read image data of the subtitle (PNG files) collectively before starting the reproduction of a VOB. しかしながら、この場合には一時記録に使用する大量のメモリが必要となり、非現実的である。 However, a large amount of memory used for temporary storage in this case is required, which is impractical.

そこで、本実施の形態では、VOBファイルを幾つかのブロックに分けて、イメージデータとインターリーブ記録する方式を使用している。 Therefore, in the present embodiment, a VOB file is divided into several blocks and stored by using the image data and method for interleaved storage. 図11下段はそのインターリーブ記録を説明した図である。 The bottom part of FIG. 11 described the interleaved storage. VOBファイルとイメージデータを適切にインターリーブ配置することで、前述したような大量の一時記録メモリ無しに、必要なタイミングでイメージデータをイメージメモリに格納することが可能になる。 By appropriately interleaved VOB files and image data, it is possible to store a large amount of temporary storage without memory as described above, the image data into the image memory at the required timing. しかしながらイメージデータを読み出している際には、VOBデータの読み込みは当然のことながら停止することになる。 However when the reading of image data, reading of VOB data is suspended Naturally.

図12は、この問題を解決するトラックバッファを使ったVOBデータ連続供給モデルを説明する図である。 Figure 12 is a diagram illustrating a model for continuous supply of VOB data using the track buffer for solving this problem.

既に説明したように、VOBのデータは、一旦トラックバッファに蓄積される。 As already described above, VOB data is temporarily accumulated in the track buffer. トラックバッファへのデータ入力レートとトラックバッファからのデータ出力レートの間に差を設けると、BDディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。 When providing a difference between the data output rate from the data input rate and the track buffer to the track buffer, as long as data is continuously read from the BD disc, the amount of data accumulated in the track buffer will be continue to increase. ここでトラックバッファへの入力レートをVa、トラックバッファからの出力レートをVbとする。 Here the input rate to the track buffer Va, the output rate from the track buffer and Vb. 図12の上段に記すようにVOBの一連続記録領域が論理アドレスの”a1”から”a2”まで続くとする。 The contiguous VOB storage area as noted in the upper part of FIG. 12 is to continue to "a2" from "a1" of the logical address. ”a2”から”a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。 During the "a2" from "a3", the image data has been recorded, and a section that does not perform the reading of VOB data.

図12の下段は、トラックバッファの内部を示す図である。 The lower part of FIG. 12 is a diagram showing the inside of the track buffer. 横軸が時間、縦軸がトラックバッファ内部に蓄積されているデータ量を示している。 The horizontal axis indicates time and the vertical axis represents the amount of data stored in the internal track buffer. 時刻”t1”がVOBの一連続記録領域の開始点である”a1”の読み出しを開始した時刻を示している。 Time "t1" indicates the time at which to start reading of a start point of the contiguous recording area of ​​the VOB "a1". この時刻以降、トラックバッファにはレートVa−Vbでデータが蓄積されていくことになる。 After this time, the data at a rate Va-Vb so that accumulates in the track buffer. このレートは言うまでもなくトラックバッファの入出力レートの差である。 This rate is the difference between the input rate and output rate of the course track buffer. 時刻”t2”は一連続記録領域の終了点である”a2”のデータを読み込む時刻である。 Time "t2" is the time to read the data of which is the end point of the contiguous recording area "a2". 即ち時刻”t1”から”t2”の間レートVa−Vbでトラックバッファ内はデータ量が増加していき、時刻”t2”でのデータ蓄積量はB(t2)は下式によって求めることができる。 That time in the track buffer between rate Va-Vb of "t1" from "t2" is gradually increased amount of data, the amount of data stored at the time "t2" is B (t2) can be obtained by the following equation .

B(t2) = (Va−Vb)×(t2−t1) (式1) B (t2) = (Va-Vb) × (t2-t1) (Equation 1)
この後、BDディスク上のアドレス”a3”まではイメージデータが続くため、トラックバッファへの入力は0となり、出力レートである”−Vb”でトラックバッファ内のデータ量は減少していくことになる。 Thereafter, since the image data continues until address "a3" on the BD disc, input 0 to the track buffer, the data amount of the track buffer at a is "-Vb" output rate that decreases Become. これは読み出し位置”a3”まで、時刻でいう”t3”までになる。 This is a read position to "a3", referred to in the time be up to "t3".

ここで大事なことは、時刻”t3”より前にトラックバッファに蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまう可能性がある。 Here importantly, the amount of data accumulated in the track buffer before the time "t3" is 0, will run out of the VOB data to be supplied to the decoder, possibly VOB playback will be stopped there is. しかしながら、時刻”t3”でトラックバッファにデータが残っている場合には、VOBの再生がストップすることなく連続できることを意味している。 However, when there remains data in the track buffer at the time "t3", which means that it continuously without the VOB playback stops.

この条件は下式によって示すことができる。 This condition can be represented by the following equation.
B(t2) ≧ −Vb×(t3−t2) (式2) B (t2) ≧ -Vb × (t3-t2) (Equation 2)
即ち、式2を満たすようにイメージデータの配置を決めればよい事になる。 That is, it may be determined the arrangement of image data so as to satisfy the equation 2.

(ナビゲーションデータ構造) (Navigation data structure)
図13から図19を用いて、BD−ROMのナビゲーションデータ(BD管理情報)構造について説明をする。 From Figure 13 with reference to FIG. 19, the navigation data (BD management information) structure of the BD-ROM will be described. 図13は、VOB管理情報情報ファイル(”YYY.VOBI”)の内部構造を示した図である。 Figure 13 is a diagram showing an internal structure of a VOB management information information file ( "YYY.VOBI").

VOB管理情報は、当該VOBのストリーム属性情報(Attribute)とタイムマップ(TMAP)を有している。 VOB management information includes stream attribute information of the VOB (Attribute) and a time map (TMAP). ストリーム属性は、ビデオ属性(Video)、オーディオ属性(Audio#0〜Audio#m)個々に持つ構成となっている。 Stream attribute includes a video attribute (Video), audio attribute (Audio # 0~Audio # m) it has a individually have configuration. 特にオーディオストリームの場合は、VOBが複数本のオーディオストリームを同時に持つことができることから、オーディオストリーム数(Number)によって、データフィールドの有無を示している。 Particularly in the case of the audio stream, since it can have VOB simultaneously audio streams plural, by the audio stream number (Number), which indicates whether the data field.

下記はビデオ属性(Video)の持つフィールドと夫々が持ち得る値である。 The following is a value that 's field and the husband may have with the video attribute (Video).

圧縮方式(Coding): Compression method (Coding):
MPEG1 MPEG1
MPEG2 MPEG2
MPEG4 MPEG4

解像度(Resolution): Resolution (Resolution):
1920x1080 1920x1080
1280x720 1280x720
720x480 720x480
720x565 720x565

アスペクト比(Aspect) The aspect ratio (Aspect)
4:3 4: 3
16:9 16: 9

フレームレート(Framerate) Frame rate (Framerate)
60 60
59.94 59.94
50 50
30 30
29.97 29.97
25 25
24 24

下記はオーディオ属性(Audio)の持つフィールドと夫々が持ち得る値である。 The following is a value s field and husband may have with the audio attribute (Audio).

圧縮方式(Coding): Compression method (Coding):
AC3 AC3
MPEG1 MPEG1
MPEG2 MPEG2
LPCM LPCM

チャンネル数(Ch): The number of channels (Ch):
1〜8 1-8

言語属性(Language): Language attribute (Language):

タイムマップ(TMAP)はVOBU毎の情報を持つテーブルであって、当該VOBが有するVOBU数(Number)と各VOBU情報(VOBU#1〜VOBU#n)を持つ。 Time map (TMAP) is a table holding information for each VOBU, has VOBU number to which the VOB has a (Number) and each VOBU information (VOBU # 1~VOBU # n). 個々のVOBU情報は、VOBUの再生時間長(Duration)とVOBUのデータサイズ(Size)を夫々有している。 Individual VOBU information is playback time length of the VOBU to (Duration) and VOBU data size (Size) have respectively.

図14はVOBU情報の詳細を説明する図である。 Figure 14 is a diagram explaining details of the VOBU information.
広く知られているように、MPEGストリームは時間的側面とデータサイズとしての側面との2つを有している。 As is widely known, MPEG streams has two of the side surface of the temporal side and the data size. 例えば、音声の圧縮規格であるAC3は固定ビットレートでの圧縮を行っているため、時間とアドレスとの関係は1次式によって求めることができる。 For example, an audio compression standard AC3 since compression is performed at a fixed bit rate, the relationship between time and address can be obtained by a primary expression. しかしながらMPEGビデオデータの場合は、個々のフレームは固定の表示時間、例えばNTSCの場合は1フレームは1/29.97秒の表示時間を持つが、個々のフレームの圧縮後のデータサイズは絵の特性や圧縮に使ったピクチャタイプ、いわゆるI/P/Bピクチャによってデータサイズは大きく変わってくる。 However in the case of MPEG video data, each frame has a fixed display time, for example, in the case of NTSC 1 frame is having a display time of 1 / 29.97 seconds, the size of compressed data of the individual frames of the picture characteristics and picture type using the compression data size varies greatly depending on the so-called, I / P / B picture,. 従って、MPEGビデオの場合は、時間とアドレスの関係は一般式の形で表現することは不可能である。 Therefore, in the case of MPEG video, relationship between time and address it is impossible to express in the form of a general formula.

当然の事として、MPEGビデオデータを多重化しているMPEGシステムストリーム、即ちVOBも時間とデータとを一般式の形で表現することは不可能である。 As a matter of course, MPEG system stream which is multiplexed MPEG video data, i.e., VOB also it is not possible to represent the time and data in the form of the general formula. これに代わって、VOB内での時間とアドレスとの関係を結びつけるのがタイムマップ(TMAP)である。 Alternatively, the linking relationship between time and address in the VOB is a time map (TMAP). 図14に示すように、各VOBU毎にVOBU内のフレーム数と、VOBU内のパック数を夫々エントリーとして持つテーブルがタイムマップ(TMAP)である。 As shown in FIG. 14, the number of frames in VOBU in each VOBU, a table with the number of packs in the VOBU as each entry is a time map (TMAP).

図15を使って、タイムマップ(TMAP)の使い方を説明する。 Use Figure 15, explains how to use the time map (TMAP).
図15に示すように時刻情報が与えられた場合、先ずは当該時刻がどのVOBUに属するのかを検索する。 If the time information is given, as shown in FIG. 15, first, searches whether belong to which VOBU the time. これは、タイム亜マップのVOBU毎のフレーム数を加算して行き、フレーム数の和が当該時刻を(フレーム数に換算して)超えるまたは一致するVOBUが当該VOBUになる。 This gradually adding the number of frames per VOBU time nitrous map, VOBU in which the sum of the number of frames (in terms of number of frames) the time exceeds or matches is the VOBU. 次にタイムマップのVOBU毎のサイズを当該VOBUの直前のVOBUまで加算して行き、その値が与えられた時刻を含むフレームを再生するために読み出すべきパックの先頭アドレスになっている。 Then go by adding the size of each VOBU of the time map up VOBU immediately before such VOBU, has become the leading address of the pack to be read out to reproduce the frame including the time at which that value is given.

次に図16を使って、プレイリスト情報(”XXX.PL”)の内部構造を説明する。 Then use 16, illustrating the internal structure of playlist information ( "XXX.PL").
プレイリスト情報は、セルリスト(CellList)とイベントリスト(EventList)から構成されている。 Playlist information is made up of a cell list (CellList) and an event list (EventList).

セルリスト(CellList)は、プレイリスト内の再生セルシーケンスであり、本リストの記述順でセルが再生される事になる。 Cell list (CellList) is a playback cell sequence in the play list, the cell is to be played back in the description order of this list. セルリスト(CellList)の中身は、セルの数(Number)と各セル情報(Cell#1〜Cell#n)である。 Contents of the cell list (CellList) is the number of cells (Number) and each cell information (Cell # 1~Cell # n).

セル情報(Cell#)は、VOBファイル名(VOBName)、当該VOB内での有効区間開始時刻(In)及び有効区間終了時刻(Out)と、字幕テーブル(SubtitleTable)を持っている。 Cell information (Cell #) includes a has VOB file name (VOBName), valid segment start time within the VOB (an In) and the valid period end time (Out), a subtitle table (SubtitleTable). 有効区間開始時刻(In)及び有効区間終了時刻(Out)は、夫々当該VOB内でのフレーム番号で表現され、前述したタイムマップ(TMAP)を使うことによって再生に必要なVOBデータのアドレスを得る事ができる。 Valid interval start time (In) and the valid period end time (Out) are represented by a frame number in each said VOB, obtain the address of VOB data necessary for reproduction by using the time map as described above (TMAP) it is thing.

字幕テーブル(SubtitleTable)は、当該VOBと同期再生される字幕情報を持つテーブルである。 The subtitle table (SubtitleTable) is a table having subtitle information to be reproduced in synchronization with the VOB. 字幕は音声同様に複数の言語を持つことができ、字幕テーブル(SubtitleTable)最初の情報も言語数(Number)とそれに続く個々の言語ごとのテーブル(Language#1〜Language#k)から構成されている。 Subtitles can have audio Similarly multiple languages, consists subtitle table (SubtitleTable) initial information even if the number of languages ​​(Number) and followed for each individual language table (Language # 1~Language # k) there.

各言語のテーブル(Language#)は、言語情報(Language)と、個々に表示される字幕の字幕情報数(Number)と、個々に表示される字幕の字幕情報(Speech#1〜Speech#j)から構成され、字幕情報(Speech#)は対応するイメージデータファイル名(Name)、字幕表示開始時刻(In)及び字幕表示終了時刻(Out)と、字幕の表示位置(Position)から構成されている。 Each language table (Language #) is made up of a language information (Language), subtitle information the number of subtitles to be displayed individually (Number) and subtitle information of subtitles to be displayed individually (Speech # 1~Speech # j) consists, subtitle information (Speech #) is the corresponding image data file name (name), subtitle display starting time (in) and subtitle display end time (Out), and configured from the display position of the subtitles (position) .

イベントリスト(EventList)は、当該プレイリスト内であげられるイベントを定義したテーブルである。 The event list (EventList) is a table that defines events that are mentioned in the playlist. イベントリストは、イベント数(Number)に続いて個々のイベント(Event#1〜Event#m)から構成され、個々のイベント(Event#)は、イベントの種類(Type)、イベントのID(ID)、イベント生成時刻(Time)と有効期間(Duration)から構成されている。 Event list, the number of events subsequent to (Number) is composed of individual events (Event # 1~Event # m), Each event (Event #) is the type of event (Type), an event of ID (ID) , and a event generation time (time) and the validity period (duration).

図17は、個々のプレイリスト毎のイベントハンドラ(時間イベントと、メニュー選択用のユーザイベント)を持つイベントハンドラテーブル(”XXX.PROG”)である。 Figure 17 is an event handler table having (time event and user event for menu selection) event handler for each individual playlist ( "XXX.PROG").

イベントハンドラテーブルは、定義されているイベントハンドラ/プログラム数(Number)と個々のイベントハンドラ/プログラム(Program#1〜Program#n)を有している。 The event handler table includes the number of event handlers / programs defined a (Number) and individual event handler / program (Program # 1~Program # n). 各イベントハンドラ/プログラム(Program#)内の記述は、イベントハンドラ開始の定義(<event_handler>タグ)と前述したイベントのIDと対になるイベントハンドラのID(ID)を持ち、その後に当該プログラムもFunctionに続く括弧”{”と”}”の間に記述する。 Description in each event handler / program (Program #) has a definition of an event handler start (<event_handler> tag) and the ID of the event handler to be the ID paired with the event described above (ID), also followed by the program described in parentheses following the Function "{" and "}".

次に図18を用いてBDディスク全体に関する情報(”BD.INFO”)の内部構造について説明をする。 Next, the internal structure of information ( "BD.INFO") related to the entire BD disc will be described with reference to FIG. 18.

BDディスク全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントテーブル(EventTable)から構成されている。 BD disk whole information is made up of a title list (TitleList) and from the event table for global event (EventTable).

タイトルリスト(TitleList)は、ディスク内のタイトル数(Number)と、これに続く各タイトル情報(Title#1〜Title#n)から構成されている。 The title list (TitleList) includes the number of titles in the disc (Number), which is composed of each title information subsequent thereto (Title # 1~Title # n). 個々のタイトル情報(Title)は、タイトルに含まれるプレイリストのテーブル(PLTalble)とタイトル内のチャプタリスト(ChapterList)を含んでいる。 Individual title information (Title) contains a chapter list (Chapterlist) in the title and play list table (PLTalble) included in the title. プレイリストのテーブル(PLTable)はタイトル内のプレイリストの数(Number)と、プレイリスト名(Name)即ちプレイリストのファイル名を有している。 The play list table (PLTable) has a number of play lists in the title (Number), play list name (Name) that is the file name of the play list.

チャプタリスト(ChapterList)は、当該タイトルに含まれるチャプタ数(Number)と個々のチャプタ情報(Chapter#1〜Chapter#n)から構成され、チャプタ情報(Chapter#)は当該チャプタが含むセルのテーブル(CellTable)を持ち、セルのテーブル(CellTable)はセル数(Number)と個々のセルのエントリ情報(CellEntry#1〜CellEntry#k)から構成されている。 Chapter list (Chapterlist) is made from the chapter number included in the title (Number) and individual chapter information (Chapter # 1~Chapter # n), chapter information (Chapter #) includes a cell included in the chapter. Table ( have CellTable), the cell table (CellTable) is made up of the number of cells (number) and entry information of each cell (CellEntry # 1~CellEntry # k). セルのエントリ情報(CellEntry#)は当該セルを含むプレイリスト名と、プレイリスト内でのセル番号によって記述されている。 A play list name cell entry information (CellEntry #) is including the cells, described by cell number in the playlist.

イベントリスト(EventList)は、グローバルイベントの数(Number)と個々のグローバルイベントの情報を持っている。 The event list (EventList) includes the number of global events (Number) and information of the individual global event. ここで注意すべきは、最初に定義されるグローバルイベントは、ファーストイベント(FirstEvent)と呼ばれ、BDディスクがプレーヤに挿入された時、最初に呼ばれるイベントである。 It should be noted, the global event to be defined first is called first event (FirstEvent), when the BD disc is inserted into the player is an event called first. グローバルイベント用イベント情報はイベントタイプ(Type)とイベントのID(ID)だけを持っている。 The event information for global event has an event type (Type) and only event ID (ID).

図19は、グローバルイベントハンドラのプログラムのテーブル(”BD.PROG”)である。 Figure 19 is a program table of a global event handler ( "BD.PROG"). 本テーブルは、図17で説明したイベントハンドラテーブルと同一内容である。 This table is the same content as the event handler table described in FIG. 17.

(イベント発生のメカニズム) (Mechanism of event occurrence)
図20から図22を使ってイベント発生のメカニズムについて説明する。 From Figure 20 with Figure 22 illustrating the mechanism of event occurrence.

図20はタイムイベントの例である。 Figure 20 is an example of a time event.
前述したとおり、タイムイベントはプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。 As described above, a time event is defined in the event list of the play list information ( "XXX.PL") (EventList). タイムイベントとして定義されているイベント、即ちイベントタイプ(Type)が”TimeEvent”の場合、イベント生成時刻(”t1”)になった時点で、ID”Ex1”を持つタイムイベントがシナリオプロセッサからプログラムプロセッサに対してあげられる。 Event is defined as a time event, i.e., if the event type (Type) is "TimeEvent", when it becomes an event generation time ( "t1"), the program processor time event from the scenario processor with ID "Ex1" and the like against. プログラムプロセッサは、イベントID”Ex1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。 The program processor searches for an event handler with the event ID "Ex1", and executes such target event handler. 例えば、本実施の形態の場合では、2つのボタンイメージの描画を行うなどを行うことができる。 For example, in the case of the present embodiment can perform like for drawing two button images.

図21はメニュー操作を行うユーザーイベントの例である。 Figure 21 is an example of a user event for a menu operation.
前述したとおり、メニュー操作を行うユーザイベントもプレイリスト情報(”XXX.PL”)のイベントリスト(EventList)で定義される。 As mentioned above, is defined in the event list of user events also play list information to perform a menu operation ( "XXX.PL") (EventList). ユーザイベントとして定義されるイベント、即ちイベントタイプ(Type)が”UserEvent”の場合、イベント生成時刻(”t1”)になった時点で、当該ユーザイベントがレディとなる。 Event is defined as a user event, i.e., if the event type (Type) is "UserEvent", when it becomes an event generation time ( "t1"), the user event becomes ready. この時、イベント自身は未だ生成されてはいない。 At this time, the event itself has not been produced yet. 当該イベントは、有効規格情報(Duration)で記される期間レディ状態にある。 The event is in the ready state during the period indicated by its valid standard information (Duration).

図21に描くように、ユーザがリモコンキーの「上」「下」「左」「右」キーまたは「決定」キーを押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。 As depicted in Figure 21, if the user presses the "up", "down", "left", "right" key or the "enter" key on the remote control key, first UOP event is raised to the program processor produced by UOP manager. プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサはUOPイベントを受け取った時刻に有効なユーザイベントが存在するかを検索し、対象となるユーザイベントがあった場合は、ユーザイベントを生成し、プログラムプロセッサに持ち上げる。 The program processor passes a UOP event to the scenario processor, if the scenario processor searches a valid user event exists in the time of receiving the UOP event, there is a user event of interest, the user event generated, lift to the program processor. プログラムプロセッサでは、イベントID”Ev1”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。 The program processor searches for an event handler with the event ID "Ev1", and executes such target event handler. 例えば、本実施の形態の場合では、プレイリスト#2の再生を開始する。 For example, in the case of the present embodiment starts playing of the playlist # 2.

生成されるユーザイベントには、どのリモコンキーがユーザによって押されたかの情報は含まれていない。 The generated user event, which remote control key is not contained in either of the information has been pressed by the user. 選択されたリモコンキーの情報は、UOPイベントによってプログラムプロセッサに伝えられ、仮想プレーヤが持つレジスタSPRM(8)に記録保持される。 Information about the selected remote control key is notified to the program processor by the UOP event, and stored into the register SPRM (8) of the virtual player. イベントハンドラのプログラムは、このレジスタの値を調べ分岐処理を実行することが可能である。 Event handler program can be executed branch processing checks the value of this register.

図22はグローバルイベントの例である。 Figure 22 is an example of a global event.
前述したとおり、グローバルイベントはBDディスク全体に関する情報(”BD.INFO”)のイベントリスト(EventList)で定義される。 As described above, a global event is defined in the event list of information ( "BD.INFO") related to the entire BD disc (EventList). グローバルイベントとして定義されるイベント、即ちイベントタイプ(Type)が”GlobalEvent”の場合、ユーザのリモコンキー操作があった場合にのみイベントが生成される。 Event is defined as a global event, i.e., if the event type (Type) is "GlobalEvent", the event only if there is a remote control key operation by the user is generated.

ユーザが”メニュー”を押した場合、先ずUOPイベントがUOPマネージャによって生成されプログラムプロセッサに上げられる。 If the user presses the "Menu", first UOP event is raised to the program processor produced by UOP manager. プログラムプロセッサは、シナリオプロセッサに対してUOPイベントを流し、シナリオプロセッサは、該当するグローバルイベントを生成し、プログラムプロセッサに送る。 The program processor passes a UOP event to the scenario processor, and the scenario processor generates a global event corresponding, and sends it to the program processor. プログラムプロセッサでは、イベントID”menu”を持つイベントハンドラを探し、対象のイベントハンドラを実行処理する。 The program processor searches for an event handler with the event ID "menu", and executes such target event handler. 例えば、本実施の形態の場合ではプレイリスト#3の再生を開始している。 For example, in the case of the present embodiment is started reproduction of the play list # 3.

本実施の形態では、単に”メニュー”キーと呼んでいるが、DVDのように複数のメニューキーがあってもよい。 In this embodiment, merely although called "Menu" key, there may be a plurality of menu keys as on the DVD. 各メニューキーに対応するIDを夫々定義することで対応することが可能である。 It is possible to cope with by respectively define the corresponding ID to each menu key.

(仮想プレーヤマシン) (Virtual player machine)
図23を用いてプログラムプロセッサの機能構成を説明する。 Illustrating the functional structure of the program processor with reference to FIG. 23.

プログラムプロセッサは、内部に仮想プレーヤマシンを持つ処理モジュールである。 The program processor is a processing module having a virtual player machine therein. 仮想プレーヤマシンはBD−ROMとして定義された機能モデルであって、各BD−ROMプレーヤの実装には依存しないものである。 Virtual player machine is a function model defined as a BD-ROM, the implementation of the BD-ROM player type independent. 即ち、どのBD−ROMプレーヤにおいても同様の機能を実行するできることを保証している。 That is, to ensure that it can perform similar functions in any BD-ROM player.

仮想プレーヤマシンは大きく2つの機能を持っている。 Virtual player machine has a large two functions. プログラミング関数とプレーヤ変数(レジスタ)である。 A programming functions and player variables (registers). プログラミング関数は、Java(登録商標) Scriptをベースとして、以下に記す2つの機能をBD−ROM固有関数として定義している。 Programming function as a base a Java (registered trademark) Script, defines two functions described below as BD-ROM eigen functions.

リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する Link(PL#,Cell#,time) Link function: the current playback is stopped, to start play list that specifies, cell, the playback from the time Link (PL #, Cell #, time)
PL# : プレイリスト名 Cell# : セル番号 time : セル内での再生開始時刻 PL #: Playlist name Cell #: Cell number time: playback start time in the cell

PNG描画関数:指定PNGデータをイメージプレーンに描画する Draw(File,X,Y) PNG rendering function: Draw to render specified PNG data onto the image plane (File, X, Y)
File : PNGファイル名 X : X座標位置 Y : Y座標位置 File: PNG filename X: X coordinate position Y: Y coordinate position

イメージプレーンクリア関数:イメージプレーンの指定領域をクリアする Clear(X,Y,W,H) Image plane clear function: clear a specified area of ​​the image plane Clear (X, Y, W, H)
X : X座標位置 Y : Y座標位置 W : X方向幅 H : Y方向幅 。 X: X coordinate position Y: Y coordinate position W: X-direction width H: Y-direction width.

プレーヤ変数は、プレーヤの状態を示すシステムパラメータ(SPRM)と一般用途として使用可能なゼネラルパラメータ(GPRM)とがある。 Player variables, there are a system parameter (SPRM) and can be used as general purpose of general parameter (GPRM) indicating the status of the player.

図24はシステムパラメータ(SPRM)の一覧である。 FIG. 24 is a list of system parameters (SPRM).
SPRM(0) : 言語コード SPRM(1) : 音声ストリーム番号 SPRM(2) : 字幕ストリーム番号 SPRM(3) : アングル番号 SPRM(4) : タイトル番号 SPRM(5) : チャプタ番号 SPRM(6) : プログラム番号 SPRM(7) : セル番号 SPRM(8) : 選択キー情報 SPRM(9) : ナビゲーションタイマー SPRM(10) : 再生時刻情報 SPRM(11) : カラオケ用ミキシングモード SPRM(12) : パレンタル用国情報 SPRM(13) : パレンタルレベル SPRM(14) : プレーヤ設定値(ビデオ) SPRM (0): Language code SPRM (1): audio stream number SPRM (2): Subtitle stream number SPRM (3): Angle number SPRM (4): Title number SPRM (5): chapter number SPRM (6): Program number SPRM (7): cell number SPRM (8): select key information SPRM (9): navigation timer SPRM (10): Play time information SPRM (11): Karaoke mixing mode SPRM (12): for parental country information SPRM (13): parental level SPRM (14): player configuration (video)
SPRM(15) : プレーヤ設定値(オーディオ) SPRM (15): Player configuration (audio)
SPRM(16) : 音声ストリーム用言語コード SPRM(17) : 音声ストリーム用言語コード(拡張) SPRM (16): audio stream language codes SPRM (17): audio stream language codes (extended)
SPRM(18) : 字幕ストリーム用言語コード SPRM(19) : 字幕ストリーム用言語コード(拡張) SPRM (18): subtitle stream for language code SPRM (19): for subtitle stream language code (extended)
SPRM(20) : プレーヤリージョンコード SPRM(21) : 予備 SPRM(22) : 予備 SPRM(23) : 再生状態 SPRM(24) : 予備 SPRM(25) : 予備 SPRM(26) : 予備 SPRM(27) : 予備 SPRM(28) : 予備 SPRM(29) : 予備 SPRM(30) : 予備 SPRM(31) : 予備 。 SPRM (20): Player region code SPRM (21): Preliminary SPRM (22): Preliminary SPRM (23): playback state SPRM (24): Preliminary SPRM (25): Preliminary SPRM (26): Preliminary SPRM (27): preliminary SPRM (28): preliminary SPRM (29): preliminary SPRM (30): preliminary SPRM (31): preliminary.

なお、本実施の形態では、仮想プレーヤのプログラミング関数をJava(登録商標) Scriptベースとしたが、Java(登録商標) Scriptではなく、UNIX(登録商標) OSなどで使われているB−Shellや、Perl Scriptなど他のプログラミング関数であっても構わなく、言い換えれば、本発明はJava(登録商標) Scriptに限定されるものでは無い。 In this embodiment, although the programming functions of the virtual player was Java (registered trademark) Script-based, Java (registered trademark) instead Script, B-Shell Ya which are used in such UNIX (registered trademark) OS instead may be other programming functions such as Perl Script, in other words, the present invention is not limited to Java (registered trademark) Script.

(プログラムの例) (Example of a program)
図25及び図26は、イベントハンドラでのプログラムの例である。 25 and 26 are examples of programs in event handlers.

図25は、2つの選択ボタンを持ったメニューの例である。 Figure 25 is an example of a menu having two selection buttons.
セル(PlayList#1.Cell#1)先頭でタイムイベントを使って図25左側のプログラムが実行される。 Figure 25 left program is executed with a time event in the cell (PlayList # 1.Cell # 1) top. ここでは、最初にゼネラルパラメータの一つGPRM(0)に”1”がセットされている。 Here, "1" is set to one GPRM (0) of the first general parameter. GPRM(0)は、当該プログラムの中で、選択されているボタンを識別するのに使っている。 GPRM (0) is, in the program, are used to identify the selected button. 最初の状態では、左側に配置するボタン1が選択されている事を初期値として持たされている。 In the first state, it is Motasa that button 1 located on the left is selected as the initial value.

次に、PNGの描画を描画関数であるDrawを使ってボタン1、ボタン2夫々について行っている。 Then, button 1 by using the Draw is a drawing function the PNG of the drawing, is performed on the button 2 respectively. ボタン1は、座標(10、200)を起点(左端)としてPNGイメージ”1black.png”を描画している。 Button 1, has been drawing the PNG image "1black.png" coordinates (10, 200) as a starting point (far left). ボタン2は、座標(330,200)を起点(左端)としてPNGイメージ”2white.png”を描画している。 Button 2, has been drawing the PNG image "2white.png" coordinates (330,200) as a starting point (far left).

また、本セル最後ではタイムイベントを使って図25右側のプログラムが実行される。 Further, in this cell end 25 right of the program is executed with a time event. ここでは、Link関数を使って当該セルの先頭から再度再生するように指定している。 Here, it is specified to be reproduced from the top again of the cell using the Link function.

図26は、メニュー選択のユーザイベントのイベントハンドラの例である。 Figure 26 is an example of an event handler for a menu selection user event.
「左」キー、「右」キー、「決定」キー何れかのリモコンキーが押された場合夫々に対応するプログラムがイベントハンドラに書かれている。 "Left" key, "right" key, "enter" key any of the case program corresponding to each of the remote control key is pressed is written to the event handler. ユーザがリモコンキーを押した場合、図21で説明したとおり、ユーザイベントが生成され、図26のイベントハンドラが起動されることになる。 If the user presses a remote control key, as described in FIG. 21, a user event is generated, and then the event handler of FIG. 26 is started. 本イベントハンドラでは、選択ボタンを識別しているGPRM(0)の値と、選択されたリモコンキーを識別するSPRM(8)を使って分岐処理を行っている。 In this event handler is performed and on the value of GPRM (0) for identifying the selected button, the branch processing using SPRM (8) identifying the remote control key selected.

条件1)ボタン1が選択されている、かつ、選択キーが「右」キーの場合 GPRM(0)を2に再設定して、選択状態にあるボタンを右ボタン2に変更する。 Condition 1) button 1 is selected, and then reconfigure the case where the selection key "right" key GPRM (0) 2, to change the currently selected button to the button 2 on the right.

ボタン1、ボタン2のイメージを夫々書き換える。 Button 1, rewrite each of the image of the button 2.
条件2)選択キーが「決定(OK)」の場合で、ボタン1が選択されている場合、プレイリスト#2の再生を開始する 条件3)選択キーが「決定(OK)」の場合で、ボタン2が選択されている場合、プレイリスト#3の再生を開始する 上記のようにして実行処理が行われる。 If condition 2) the selection key of "decision (OK)", in the case when the button 1 is selected, the condition 3 to start the reproduction of the play list # 2) the selection key of the "Determination (OK)" when the button 2 is selected, execution as described above is performed to start the reproduction of the playlist # 3.

(プレーヤ処理フロー) (Player processing flow)
次に図27から図30を用いてプレーヤでの処理フローを説明する。 Next will be described a processing flow at the player with reference to FIG. 30 from FIG. 27.

図27は、AV再生までの基本処理フローである。 Figure 27 is a flow of basic processes until the AV playback.
BDディスクを挿入すると(S101)、BD−ROMプレーヤはBD. Upon insertion of the BD disc (S101), BD-ROM player BD. INFOファイルの読み込みと解析(S102)、BD. Reading and analysis of the INFO file (S102), BD. PROGの読み込み(S103)を実行する。 To run the PROG read (S103). BD. BD. INFO及びBD. INFO and BD. PROGは共に管理情報記録メモリに一旦格納され、シナリオプロセッサによって解析される。 PROG is once stored in the management information storage memory together, and analyzed by the scenario processor.

続いて、シナリオプロセッサは、BD. Then, the scenario processor, BD. INFOファイル内のファーストイベント(FirstEvent)情報に従い、最初のイベントを生成する(S104)。 In accordance with the first event (FirstEvent) information of INFO in the file, to generate a first event (S104). 生成されたファーストイベントは、プログラムプロセッサで受け取られ、当該イベントに対応するイベントハンドラを実行処理する(S105)。 Generated first event, received by the program processor executes an event handler corresponding to the event (S105).

ファーストイベントに対応するイベントハンドラには、最初に再生するべきプレイリスト情報が記録されていることが期待される。 The event handler corresponding to the first event, it is expected that the playlist information to be reproduced first is stored. 仮に、プレイリスト再生が指示されていない場合には、プレーヤは何も再生することなく、ユーザイベントを受け付けるのを待ち続けるだけになる。 If, in case the reproduction of the playlist has not been instructed, the player is not able to play anything, made only to continue to wait for accepting a user event. この場合、ユーザイベントを受け付けるのを待ち続けることになる(S201)。 In this case, it will continue waiting for receiving a user event (S201). BD−ROMプレーヤはがユーザからのリモコン操作を受け付けると、UOPマネージャはプログラムマネージャに対してUOPイベントを立ち上げる(S202)。 When BD-ROM player accepts a remote control operation from the user, UOP manager launch UOP event to the program manager (S202).

プログラムマネージャは、UOPイベントがメニューキーによるものであるかを判別し(S203)、メニューキーの場合は、シナリオプロセッサにUOPイベントを流し、シナリオプロセッサがユーザイベントを生成する(S204)。 Program Manager, UOP event is judged if by menu key (S203), if the menu key, flushed with UOP event to the scenario processor, and the scenario processor generates a user event (S204). プログラムプロセッサは生成されたユーザイベントに対応するイベントハンドラを実行処理する(S205)。 The program processor executes an event handler corresponding to the user event generated (S205).

図28は、PL再生開始からVOB再生開始までの処理フローである。 Figure 28 is a process flow from PL playback start until VOB reproduction start.
前述したように、ファーストイベントハンドラまたはグローバルイベントハンドラによってプレイリスト再生が開始される(S301)。 As described above, the play list reproduction is started by a first event handler or a global event handler (S301). シナリオプロセッサは、再生対象のプレイリスト再生に必要な情報として、プレイリスト情報”XXX.PL”の読み込みと解析(S302)、プレイリストに対応するプログラム情報”XXX.PROG”の読み込みを行う(S303)。 Scenario processor, as information necessary to play list reproduction of the reproduction target, analysis and reading the play list information "XXX.PL" (S302), and reads the program information "XXX.PROG" corresponding to the playlist (S303 ). 続いてシナリオプロセッサは、プレイリストに登録されているセル情報に基づいてセルの再生を開始する(S304)。 Then the scenario processor starts the reproduction of a cell based on the cell information registered in the playlist (S304). セル再生は、シナリオプロセッサからプレゼンテーションコントローラに対して要求が出さる事を意味し、プレゼンテーションコントローラはAV再生を開始する(S305)。 Cell regeneration request to the presentation controller from the scenario processor means Dasaru things, the presentation controller starts the AV playback (S305).

AV再生の開始(S401)を開始すると、プレゼンテーションコントローラは再生するセルに対応するVOBの情報ファイル(XXX.VOBI)を読み込み及び解析をする(S402)。 Upon starting the start of the AV reproducing (S401), the presentation controller to read and analyze the VOB information file (XXX.VOBI) corresponding to the cell to be reproduced (S402). プレゼンテーションコントローラは、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるVOBデータを読み出し(S403)、VOBデータがデコーダに送られ再生が開始される(S404)。 Presentation controller identifies the VOBU and the address for starting playback with the time map, indicates the read address to the drive controller, drive controller reads the target VOB data (S403), VOB data is sent to the decoder playback is started (S404). VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセル再生S304へ移行する。 VOB playback continues until the VOB reproduction interval is terminated (S405), when finished the process proceeds to the next cell playback S304. 次にセルが無い場合は、再生が停止する(S406)。 If there is no cell is then, playback is stopped (S406).

図29は、AV再生開始後からのイベント処理フローである。 Figure 29 is a flow of event processes after the AV playback start.
BD−ROMプレーヤはイベントドリブン型のプレーヤモデルである。 BD-ROM player is an event-driven player. プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。 When you start the reproduction of the play list, time event, user event, subtitle display system of the event processing process is each start-up, I would like to run the event processing in parallel.

S500系の処理は、タイムイベント系の処理フローである。 Processing of the S500 system is a process flow of time event.
プレイリスト再生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する(S503)。 Playlist playback after the start (S501), through the step (S502) to check whether the reproduction of the playlist has ended, the scenario processor, to check whether the timed event occurrence time (S503). タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する(S505)。 If that is the time event generation time, the scenario processor generates a time event (S504), the program processor executes processing to receive event handler time event (S505).

ステップS503でタイムイベント発生時刻になっていない場合、または、ステップS504でイベントハンドラ実行処理後は再度ステップS502へ戻り、上述した処理を繰り返す。 If it is not the time event generation time in step S503, or after the event handler executes processing in step S504 returns to step S502 again to repeat the above processing. また、ステップS502でプレイリスト再生が終了したことが確認されると、タイムイベント系の処理は強制的に終了する。 In addition, when the play list in step S502 it is confirmed that finished, the time event processes are forcefully terminated.

S600系の処理は、ユーザイベント系の処理フローである。 S600 processing system is a processing flow of user event.
プレイリスト再生開始後(S601)、プレイリスト再生終了確認ステップ(S602)を経て、UOP受付確認ステップの処理に移る(S603)。 Playlist playback after the start (S601), through the play list reproduction end confirmation step (S602), proceeds to the process of UOP accepted confirmation step (S603). UOPの受付があった場合、UOPマネージャはUOPイベントを生成し(S604)、UOPイベントを受け取ったプログラムプロセッサはUOPイベントがメニューコールであるかを確認し(S605)、メニューコールであった場合は、プログラムプロセッサはシナリオプロセッサにイベントを生成させ(S607)、プログラムプロセッサはイベントハンドラを実行処理する(S608)。 If there is acceptance of UOP, UOP manager generates a UOP event (S604), the program processor which received the UOP event checks whether UOP event is a menu call (S605), if was menu call , the program processor causes the scenario processor to generate an event (S607), and the program processor executes the corresponding event handler (S608).

ステップS605でUOPイベントがメニューコールで無いと判断された場合、UOPイベントはカーソルキーまたは「決定」キーによるイベントである事を示している。 When the UOP event in step S605 is determined to be not a menu call, UOP event shows that it is an event generated by operating a cursor key or the "enter" key. この場合、現在時刻がユーザイベント有効期間内であるかをシナリオプロセッサが判断し(S606)、有効期間内である場合には、シナリオプロセッサがユーザイベントを生成し(S607)、プログラムプロセッサが対象のイベントハンドラを実行処理する(S608)。 In this case, current time or the determined scenario processor is within the user event validity period (S606), if it is within the validity period, the scenario processor generates a user event (S607), and the program processor is eligible to It executes an event handler (S608).

ステップS603でUOP受付が無い場合、ステップS606で現在時刻がユーザイベント有効期間に無い場合、または、ステップS608でイベントハンドラ実行処理後は再度ステップS602へ戻り、上述した処理を繰り返す。 If UOP accepted there is no in step S603, if the current time in step S606 is not in the user event validity period, or after the event handler executes processing in step S608 returns to step S602 again to repeat the above processing. また、ステップS602でプレイリスト再生が終了したことが確認されると、ユーザイベント系の処理は強制的に終了する。 Further, that the reproduction of the playlist has ended is confirmed in step S602, the user event processes are forcefully terminated.

図30は字幕処理のフローである。 Figure 30 is a flow of subtitle processes.
プレイリスト再生開始後(S701)、プレイリスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る(S703)。 Playlist playback after the start (S701), through the play list reproduction end confirmation step (S702), moves to the subtitle drawing start time confirmation step (S703). 字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する(S704)。 If the subtitle drawing start time, the scenario processor instructs the subtitle drawn in the presentation controller, the presentation controller instructs the subtitle drawing to the image processor (S704). ステップS703で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する(S705)。 If it is determined not to be the subtitle drawing start time in step S703, to check whether the subtitle display end time (S705). 字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。 If it is determined that the subtitle display end time, the presentation controller performs a subtitle deletion instruction to the image processor deletes the subtitles rendered from the image plane (S706).

字幕描画ステップS704終了後、字幕消去ステップS706終了後、または、字幕表示終了時刻確認ステップS705で当該時刻でないことが判断された場合、ステップS702に戻り、上述した処理を繰り返す。 After completion of the subtitle rendering step S704, the subtitle deletion Step S706 after the completion, or, if it in the caption display end time confirmation step S705 not the time is determined, the process returns to step S702, and repeats the above processing. また、ステップS702でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。 In addition, that the reproduction of the playlist has ended is confirmed in step S702, the processing of the subtitle display are forcefully terminated.

(実施の形態2) (Embodiment 2)
次に本発明の第2の実施の形態について説明する。 Next will be described a second embodiment of the present invention.

第2の実施の形態は、BD−ROMにおいてより豊かなインタラクティブ性を実現するため、XML・XHTMLベースの画面構成環境と、イベントおよびスクリプトを用いたプログラミング環境を導入することに関する内容である。 The second embodiment, in order to achieve a richer interactivity, in the BD-ROM, the the contents related to the introduction and XML · XHTML based screen configuration environment, the programming environment using events and scripts. 基本的には第1の実施の形態に基づく内容であり、拡張または異なる部分を中心に説明する。 The basically based on the first embodiment will be described focusing on extended or different parts.

(XHTMLファイルを利用したコンテンツ制御) (Content control using the XHTML file)
図31は、XHTMLおよびスクリプトを利用したシナリオ制御に関わるモジュール構成、制御の流れ、イベントなどの伝わり方を示している。 Figure 31 is a module configuration related to the scenario control using the XHTML and script, control the flow, shows the transmitted how such events.

ユーザーイベント処理部は、リモコン信号などを受信し、次のモジュールにイベントを割り振るモジュールである。 User event processing unit receives a remote control signal, a module to allocate an event to the next module. 再生制御に関わる、再生/停止/早送り/巻き戻し/スキップ/アングル変更/音声切替/字幕切替などのイベントはAV再生制御部に送られる。 Relating to playback control, play / stop / fast-forward / rewind / skip / angle change / events such as audio switching / subtitle switching is sent to the AV reproduction control unit. ボタンフォーカスの移動(上下左右キー)や決定などのイベントは、XHTML処理部に送られる。 Movement of the button focus (up, down, left and right keys) and determining event of such is sent to the XHTML processor. タイトル切替に関わる、タイトル選択やメニュー呼び出しのイベントは、タイトル制御部に送られる。 Related to the title switching, events of title selection and menu call is sent to the title control unit. なお、Index Tableとは、ディスク中のタイトルを列挙したファイルであり、図18のTitle List部分を切り出して1つにしたものである。 Note that the Index Table, a file that lists the titles in the disc, but was Tsunishi 1 cut out Title the List portion of FIG.

タイトル制御部は、タイトル切替を要求されるとIndex Tableにしたがってタイトル切替を行うモジュールである。 Title control unit is a module that performs a title switch according Index Table is requested title switching. タイトルがXHTMLで定義される場合、XHTML処理部にタイトルに関連付けられたXHTMLファイルを読み込むように制御を行う。 If the title is defined in XHTML, it performs control to read an XHTML file associated with the title in the XHTML processor.

XHTML処理部はXHTMLファイルを読み込み、スタイル定義情報などにしたがって、画面を構成し、イベントに応じて関連するスクリプトを実行するモジュールである。 XHTML processing unit reads the XHTML file, in accordance with such style definition information, configure the screen, which is a module that executes the associated script in response to an event. スクリプトを実行した結果、AVの再生が必要であればAV再生制御部に対して、再生開始などの制御を行い、タイトル切替が必要であれば、タイトル制御部に対して制御を行う。 Results of running the script, if AV playback needed for AV reproduction control unit performs control such as reproduction start, if necessary title switching, performs control with respect to the title control unit.

AV再生制御部は、イベントや指示に従ってAVストリームの再生を行い、AV再生制御部の状態が変化したときやAVストリームの再生位置が特定の位置に達した際にイベントを生成してXHTML処理部に通知する。 AV reproduction control unit performs the reproduction of the AV stream according to the event and instructions, reproduction position of an AV stream when the state of the AV reproduction control unit was changed to generate an event when it reaches a specific position in the XHTML processor to notify.

プレーヤの状態が変化したことを通知するイベントとは、ユーザーから再生指示があり、ユーザーイベント処理部が再生開始要求のイベントをAV再生制御部に通知すると、AV再生制御部は再生を開始する。 The event notifying that the player changes state, there are a reproduction instruction from the user, the user event processing unit notifies the AV reproduction control section, event of the playback start request, the AV reproduction control unit starts the reproduction. この時に、AV再生制御部が停止状態から再生状態に変化したことを通知するようなイベントである。 At this time, an event that notifies the AV reproduction control section is changed from the stopped state to the playback state.

また、再生位置を通知するイベントとは、AVストリームの終端に達したときや、セルの境界に達したとき、あるいはマークと呼ばれるAVストリームの一時点を示すデータが存在する場合その地点に達したことを通知するイベントである。 Also, an event that notifies the playback position, and when it reaches the end of the AV stream, when reaching the boundary of the cell, or data indicating a time of AV stream called the mark reaches the point when there it is an event to notify.

図32はあるタイトルが選択されたときの動作の様子を示している。 Figure 32 shows the state of operation when there title is selected.
Index Tableで定義されるあるタイトルを選択した場合、タイトルに関連付けられたXHTMLファイルが呼び出される。 If you select a title to be defined by the Index Table, XHTML file associated with the title is called. XHTMLファイルには、再生制御などを行うスクリプトなども記述しされている。 The XHTML file, are also described, such as scripts to perform, such as playback control. 図中の例では、スクリプトファイルを間接的に参照しているが、直接XHTMLファイル内に記述することも可能である。 In the example in figure, references indirect script file, it is also possible to write directly XHTML file. また、説明のため、XHTMLと表記しているが、XML形式にのっとっていれば独自のタグなどを利用した形式でもよい。 Also, for purposes of explanation, but is indicated as XHTML, etc. it may be in a format for a unique tag if Ho' in XML format.

図中のXHTMLファイル内に記述されている“onLoad”属性において、ファイルが読み込まれたときに実行されるスクリプトを規定している。 In XHTML is described in the file "onLoad" attribute in the figure, it defines the script to be executed when the file is loaded. この例では、XHTMLファイルが読み込まれたときに、“playTitle1”というスクリプトが呼び出され、スクリプト自体はスクリプトファイル内に記述されている。 In this example, when the XHTML file is loaded, "playTitle1" script is called that the script itself is described in the script file.

また、<event>タグを用いることにより、ユーザーイベント処理部やAV再生制御部から通知されたイベントに対応してスクリプトを実行する仕組みも提供する。 Further, by using the <event> tag, also provide a mechanism that in response to the event notified from the user event processing unit and AV reproduction control unit to execute the script. この例では、“EndOfStream”イベントが発生した際、“jumpTitle2”というスクリプトを呼び出す例である。 In this example, "EndOfStream" when an event has occurred, is an example of calling a script called "jumpTitle2". なお、“EndOfStream”イベントとは、 It should be noted that the "EndOfStream" event,
たとえばAV再生がファイルの終端に達した場合にAV再生制御部が生成するイベントである。 For example an event that the AV reproduction control section is generated when the AV playback reaches the end of file.

図33は先ほどの例に、画面生成を加えた例である。 Figure 33 The previous example is an example obtained by adding a screen generation. たとえば、先ほどと同様にIndex TableからXHTMLが呼び出され、そのXHTMLはメニュー画面などを生成するための情報が書かれていた場合である。 For example, the XHTML from Similarly Index Table and earlier called, the XHTML is the case where the information to generate a menu screen was written. 画面構成のスタイルなどはCSSなどのスタイルシートを利用してもよい。 Such as the style of the screen configuration may utilize a style sheet such as CSS.

この例では、画面上に2つのボタンを配置している。 In this example, it is arranged two buttons on the screen. それぞれのボタンが押されると対応スクリプトが実行される。 Corresponding script is executed with each of the button is pressed. あるボタンを選択すると、“onClick”属性に定義されているスクリプトが実行される。 When you select a button, "onClick" script defined in the attribute is performed. TitleAと書かれたPNGイメージファイルと関連付けられている左側のボタンを選択すると、“playA”スクリプトが実行され、タイトル1にジャンプする。 When you select the button to the left of that is associated with the PNG image file that says TitleA, "playA" script is run, to jump to the title 1. 同様に、TitleBボタンを選択すると、あるAVストリームが再生された後に、タイトル2にジャンプする。 Similarly, selecting TitleB button, after a certain AV stream is reproduced, it jumps to title 2.

これまで説明した仕組みを用いることのより、XHTMLファイルを用いて、メニュー画面を表示し、何らかのボタンを選択を選択するとコンテンツの再生を開始するような仕組みを提供することが可能となる。 More of using the mechanism described so far, using the XHTML file, display the menu screen, it is possible to provide a mechanism to start the playback of the content by selecting a select some buttons.

また、スクリプト部分と、スクリプトが実行するAPIを追加することにより、より複雑な機能、たとえばインターネット接続やダウンロードサービスといったアプリケーションも実行可能である。 Also, the script part, by adding an API script runs, more complex functions, for example, also applications such as Internet connection and download service is feasible.

(リソース管理) (Resource Management)
XHTMLファイルがメニュー画面のような画面を構成する際には、PNGイメージファイルなどのデータファイルを参照する。 When the XHTML file to configure the screen such as the menu screen, refer to the data files, such as PNG image files. メニューが凝ったものになればなるほど、表示するグラフィクスは複雑なものになり、それを表示するためのイメージデータのサイズは大きくなる。 The more things the menu is elaborate, graphics to be displayed is a complex thing, the greater the size of the image data in order to display it.

また、XHTMLファイルはユーザー操作によって画面を切り替えるように作ることも可能である。 Further, XHTML file can also be be made to switch the screen by the user operation. メニュー画面の中である項目を選ぶと、さらにサブメニューが出てくるような場合である。 When you select an item is in the menu screen, is the case, such as coming out is further sub-menu. このような場合、メニュー画面が表示された最初の瞬間には表示されていなかったイメージデータが、あとから必要になることがある。 In such a case, the first moment in which the menu screen is displayed image data which has not been displayed, may be needed later.

ところが、さらにそのメニュー画面の背景では動画が表示されている、つまりAVストリームが再生されている場合、必要になってからイメージデータを読み込みに行こうとすると、ディスク上でファイルがある位置にシークを行ってから読み込んで元の位置に戻ってこなければならず、AVストリームの再生が一時的に中断してしまう可能性がある。 However, are further displays the video in the background of the menu screen, that is, if the AV stream is being played back, and you go to read the image data from become necessary, seek the position where there is a file on the disk It must come back to the original position read from performing playback of the AV stream may possibly be temporarily suspended. 十分な量のバッファを積んでおり、AVストリームを事前にバッファ一杯に先読みすればこのようなことも回避できるが、画像が高解像度・高画質になり、高ビットレートが必要になってきているので、かなり大容量のバッファを用意しなければならず、コストアップなどにつながり、現実的ではない。 And gained a sufficient amount of the buffer, but also can avoid such things if lookahead buffer fill the AV stream in advance, the image becomes a high-resolution and high image quality, it has become necessary high bit rate because, it is necessary to prepare a fairly large-capacity buffer, it leads such as the cost, not realistic.

また、ハードディスクのようにシーク時間が短く、読み取り速度が速いメディアでは、少量のバッファでもその早さを利用して、AVを中断させずに他のデータを読み込むことも可能であるが、光ディスクメディアのドライブでは、シークには時間がかかり、読み込み速度もそれほど速くないため、実現にはさらなる技術の進歩が必要となる。 Also, short seek time as a hard disk, the reading speed is fast media, by utilizing also the fast with a small amount of buffer, it is also possible to read the other data without interrupting AV, optical disc media in the drive, it seeks to is time-consuming, because the read speed is also not so fast, in order to realize it is necessary to progress further technology.

そのため、一旦AV再生が開始されるとAV以外のデータを読み込みに行かないモデルにすることが望ましい。 Therefore, it is desirable that once the AV playback is started to model not go any data other than AV to read.

図34はその様な場合のデータのライフサイクルを示している。 Figure 34 shows the life cycle of the data in such a case.
AVの再生が開始される前に、画面を表示するために必要なデータである、XHTMLファイルやスクリプトファイル、それらのファイルから参照されるPNGイメージファイルなどのデータファイルをバッファ上にプリロードしておく。 Before AV playback is started, the data necessary for displaying the screen, XHTML and script files, data files, such as PNG image files referenced from those files preloading to the buffer .

一旦AVの再生が開始されると、それらのデータをディスクに読みに行くことはない。 Once the AV playback is started, not to go to reading the data to disk.
なお、AVの再生が止まってもよい場合は、これらを考慮する必要はない。 Incidentally, if the AV playback may be stopped, it is not necessary to consider them.

また、コンテンツにより、AVの再生が止まって欲しくない場合と、止まってもよい場合を区別する必要があるならば、管理情報にこの2つのパターンを区別する識別子を用意しておけばよい。 Further, the content, and if the AV playback not want stopped, if it is necessary to distinguish the case where may be stopped, the two patterns it is sufficient to provide a distinguishing identifier in the management information.

XHTML処理部がデータを必要とするときは、バッファからXHTML処理部のワークメモリ上に読み込んでおき、画面の表示などに利用する。 When the XHTML processor requires data previously read from the buffer on the work memory of the XHTML processor, used for a display screen. その画面が表示されなくなったときには、必要なくなったデータをワークメモリから解放し、次に必要になるデータをバッファから読み込んでくる。 By the time that screen is no longer displayed, to release the required missing data from the work memory, then becomes necessary data come read from the buffer.

なお、このワークメモリは、バッファと共有してもよい。 Incidentally, this work memory may be shared with the buffer.
バッファにあるメモリーは、そこに読み込まれているデータが必要なくなるまで保存しておき、必要なくなれば解放する。 Memory in the buffer is to keep until no require data being loaded therein, to release when no longer needed.

(データのライフサイクル) (Life cycle of the data)
上で述べたように、バッファにデータを読み込んでくるタイミングと、バッファからデータを解放するタイミングを明確に決めることができれば、データのライフサイクルの管理が明確になり、管理がしやすくなる。 As noted above, the timing coming reading data into the buffer, if it is possible to determine clearly the timing to release the data from the buffer, the management of the lifecycle of data becomes clear, easily manage.

データの管理がしやすくなれば、コンテンツ作成者がどのプレーヤでも必ず動作させることができるコンテンツ構成を判定しやすくなり、コンテンツ作成が容易になる。 If the management data is easily, it makes it easier to determine the content structure can also be always operate in content creator which players, content creation is facilitated.

データのライフサイクルの開始タイミングと終了タイミングは、AVの再生が停止しているタイミング、あるいは一時的に停止する、連続して再生する場合でもシームレスに再生する必要がないタイミングが望ましい。 Start timing and end timing of the life cycle of data, AV stop playing to have timing or temporarily stop, the timing need not be seamlessly reproduced even when played back continuously desired.

このようなタイミングとしては、AVストリームの切替点、XHTMLファイルで構成される画面の切替点や、タイトル切替のタイミングなどがあり、その他上記の条件を満たすのであればその他の点でもよい。 Examples of such timing, the switching point of the AV stream, and the switching point of the screen consists of XHTML file, include timing title switching, other or otherwise if the above conditions are satisfied for the.

これまで説明した構造を用いると、タイトルの切替のタイミングは、Index Tableで明示的に、かつ静的データとして参照することができ、プレーヤから制御しやすい。 With the structure described heretofore, the timing of switching of the title, explicitly in Index Table, and can be referenced as static data, easily controlled from the player. そのため、データのライフサイクルとは、あるタイトルが開始するときに開始し、あるタイトルが終了するときにライフサイクルも終了する。 Therefore, the life cycle of data begins when a title is started, also ends the life cycle when a title is completed.

つまり、あるタイトルが開始するときに、そのタイトルを再生するために必要な全てのデータをバッファにプリロードしておき、そのタイトルが終了するとき、たとえば他のタイトルにジャンプするときに、バッファから解放する。 In other words, it released when there title starts, leave preloading all the data necessary for reproducing the title in the buffer, when the title is completed, when jumping for example to another title from the buffer to.

図35は書くモジュール間の制御の流れとデータの流れ、それに合わせたデータのライフサイクルを示したタイミングチャートである。 Figure 35 is a control flow and data flow between modules writing a timing chart showing the life cycle of data combined therewith.

このようなライフサイクルと、バッファのサイズを規定すれば、タイトルを作成するときに、どのくらいのサイズまでイメージデータを使うことができ、どのようなアプリケーションを実行できるか定量的に判断でき、タイトルが非常に作りやすくなる。 And such life cycle, if specified the size of the buffer, when you create a title, how much of it can use the image data up to the size, can be any quantitatively determine whether applications can run, title very likely to make.

なお、バッファの解放はタイトル制御部や、より上位のモジュールから強制的に行ってもよいし、XHTML処理部が行ってもよい。 Incidentally, the release of the buffer and the title control unit may be performed forcibly from the higher level module, it may be performed by the XHTML processor.

ユーザー操作によりアプリケーション実行中にタイトルを切り替えられた場合、タイトル制御部は、XHTML処理部に現在実行中のスクリプトを中止し、バッファの解放を指示ずる。 If switch the title in the application executed by the user's operation, the title control unit stops the currently running script XHTML processor, instructs cunning to release the buffer. また、タイトルが切り替わると、次のタイトルに関連するファイルをバッファに読み込むよう指示する。 In addition, if the title is switched, an instruction to read the files related to the next title in the buffer.

(データ読み込みの保証) (Guarantee of data read)
AVストリームの再生開始より前に、AVストリーム以外のファイルをバッファにプリロードしておく必要は上で述べたとおりである。 Before the start of reproduction of the AV stream, the need to pre-load the files other than AV stream in the buffer is as described above. その際、XHTMLファイルを解析して必要なファイルをリストアップしていては、時間がかかってしまう。 At that time, have to list up the necessary files by analyzing the XHTML file, it takes a long time.

そこで、図36(a)のように、各タイトルで必要なファイルをリストアップしたファイルリストをタイトル毎に作成し、タイトルが選択されたときに、そのタイトルリストに列挙されているファイルを全てバッファに読み込めばよい。 Therefore, as shown in FIG. 36 (a), the Create a file list that lists the files required by each title for each title, when a title is selected, all the files listed in the title list buffer it may be read to.

また、ファイル数が多い場合、ファイル毎にシークが発生すると読み込みの時間がかかってしまうため、リストアップされたファイルをディスク上の1カ所にまとめて配置することのより、無駄なシークを発生させることなく必要なファイルを全て読み込むことも可能である。 In addition, if the number of files is large, because it takes a reading of the time and seek is generated for each file, and more, to generate a useless seek things that arrange the listed files in one place on the disk to read all the necessary files without is also possible.

あるいは、図36(b)のように、ファイルをディレクトリ構造ごとZIPファイルなどで1つにまとめてしまい、バッファに読み込んだあとでバッファ内でファイルを展開し、ディレクトリ構造などを構成してもよい。 Alternatively, as shown in FIG. 36 (b), the cause a group of files into one like the directory structure for each ZIP file, extract the files in the buffer after the read buffer may be configured like the directory structure . ファイルを1まとめにでき、ディレクトリ構造を保持できるようなフォーマットであれば、ZIPファイルでなくてもよい。 Can the files into a summary, if the format, such as to hold the directory structure, may not be a ZIP file. また、圧縮ファイルである必要もない。 In addition, there is no need to be a compressed file.

このような仕組みを用いることにより、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することにより、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。 By using such a mechanism, it manages clarity resources for each title, by efficient reading of data, it is possible to provide a mistake hardly occurs at the time of authoring, easily controlled by the player mechanism .

以下、図36を用いて説明したファイルリストおよびZipファイルなどのアーカイブファイルを応用した仕組みに関して、より詳細な実装を説明する。 Hereinafter, with respect to a mechanism which applies the archive file, such as file list and Zip file described with reference to FIG. 36, illustrating a more detailed implementation.

図37にXMLを用いてファイルリストを記述した例を図示している。 It illustrates an example of describing the file list using XML in Figure 37. 以下図37に図示したファイルリストをResource Fileと呼ぶ。 The file list illustrated below Figure 37 is referred to as a Resource File. Resource Fileは各タイトル毎に記述され、各タイトル再生時に実行されるアプリケーションに関する記述がなされる。 Resource File is written in each title, description of an application to be executed when each title reproduction is made.

図32を用いて前述した例では、IndexTableで定義されるタイトルからはXHTMLファイルが関連づけられていたが、本仕組みではIndexTableで定義された各タイトルからはResource Fileが関連づけられており、IndexTableで定義されるあるタイトルを選択した場合、そのタイトルに関連づけられたResource Fileが最初に呼び出される。 In the example described above with reference to FIG. 32, although the title defined by the IndexTable was associated the XHTML file, in this mechanism is the Resource File associated from each title defined in the IndexTable, defined IndexTable If you select a title to be, Resource File associated with the title is first called.

図37に示すようにResource Fileはxml宣言と、<application><entry><toppage><Linkfile>の四つの要素からなる。 Resource File As shown in Figure 37 and is xml declaration consists of four elements of the <application> <entry> <toppage> <Linkfile>.
<application>要素のname属性にアプリケーション名が記述される。 Application name is described in the name attribute of the <application> element.
アプリケーションを実行する上で一番最初に読み込んで解析する必要があるXMLデータ(以降Toppageと呼ぶ)に関しては、そのファイル名が<toppage>要素のsrc属性として記述されている。 For the XML data that needs to be initially Loading analysis best in order to run the application (hereinafter referred to as TOPPAGE), the file name is described as a src attribute of the <toppage> element.

Toppageを除いた、アプリケーションを構成する各ファイルのファイル名がURI形式で<linkfile>要素のsrc属性としてリストアップされている。 Except toppage, listed as the src attribute of the <LINKFILE> element file name in the URI format of each file constituting the application.

また、これらのアプリケーションを構成するファイル群(Toppageを含む)は、アーカイブファイルとして一纏めにBD−ROM上に記録されるものとし、Resource Fileには当該アーカイブファイルのファイル名がURI形式で<entry>要素のsrc属性として記述されている。 Further, (including TOPPAGE) files that make up these applications, shall be recorded collectively as an archive file on BD-ROM, the Resource File with the file name of the archive file is formatted URI <entry> It has been described as the src attribute of the element.

このようにBDプレーヤはタイトル再生時にそのタイトルに対応するResource Fileを読み込むことで、BD−ROM上にアーカイブファイルとして一纏めに配置されたアプリケーションを構成するファイルを無駄なシークを発生させることなく一括して読み込むことができ、また当該アプリケーションで使用する全てのファイル名を知ることができる。 Thus BD player by loading a Resource File that corresponds to the title during title playback, collectively without causing useless seek files that make up an application arranged to collectively as an archive file on BD-ROM to read Te can, also can know all the file names used in the application. また、Resource File中の<Toppage>要素を参照することで、XHTML及びスクリプトで記述されたアプリケーションを実行する際、どのファイルを一番はじめに解析するのかを知ることができる。 Further, by referring to <TOPPAGE> element in Resource File, when executing applications written in XHTML and script, it is possible to know to analyze which files to very beginning.

現在再生しているタイトルとは違うタイトルが選択された場合、再生していたタイトルのResource Fileに記述されていたファイルを解放してもよいし、選択されたタイトルに関連づけられたResource Fileに記載されていないファイルのみ解放してもよい。 If different from the title of the currently playing title is selected, may release the files that were described in the Resource File title being reproduced, according to associated with the selected title Resource File it may be released only files that have not been. このようにResource Fileを用いることで、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することが可能であり、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。 By using such a Resource File, manages clarity resources for each title, it is possible to improve the efficiency of the reading of data, errors hardly occur during authoring, providing easily controlled mechanism at the player it is possible.

なお、本実施の形態のResource Fileでは<application>要素のname属性にアプリケーションの名前が記述されており、プレーヤは挿入されたBD−ROM Discのタイトル名とこのアプリケーション名を用いてプレーヤにて実行されたアプリケーションを識別可能である。 Incidentally, the name of the application in the name attribute of the Resource File In <application> element of the present embodiment has is described, the player performed in the player using the title name and the application name of the inserted BD-ROM Disc it is possible to identify an application. したがって、プレーヤのローカルストレージにそれぞれのアプリケーション用の領域を設定してもよい。 Therefore, it may be set an area for each application in the local storage of the player. また、前記アプリケーション用の領域には当該アプリケーションのみがアクセス可能であり、そのほかのアプリケーションのアクセスを禁止しても良い。 Moreover, only the application in the area for the application is accessible, may be prohibited access other applications.

(実施の形態3) (Embodiment 3)
次に本発明の第3の実施の形態について説明する。 Next will be described a third embodiment of the present invention.

第3の実施の形態は、BD−ROMにおいて、BD−ROMに記録されたアプリケーションの妥当性を検証し、最適な実行権限をもって実行されることを保証するための環境を導入することに関する内容である。 Third embodiment,, in the BD-ROM, the contents related to verify the validity of the application recorded on the BD-ROM, to introduce the environment to ensure that it is executed with the best execution authority is there. 基本的には第1の実施の形態と第2の実施の形態に基づく内容であり、拡張または異なる部分を中心に説明する。 The basically based on the first embodiment and the second embodiment will be described focusing on extended or different parts.

(アプリケーション認証) (Application authentication)
前述したXHTMLおよびスクリプトにより、スタジオはBD−ROMに記録されたコンテンツやBDプレーヤの資源を用いて、表現力に富んだアプリケーションをユーザに提供できる。 The XHTML and scripts described above, the studio using the resources of the recorded content or BD player BD-ROM, can provide a rich expressive applications to users. 一方で、このようなアプリケーションの実行環境を悪用または誤用されると、ユーザまたはスタジオに様々な被害が及ぶ可能性がある。 On the other hand, if such be exploited or misuse the execution environment of the application, which could have a variety of damage to the user or the studio. 例えば悪意のある第三者により作成されたBD−ROMを再生することでプレイヤーのシステムが破壊されたり、プレーヤーの資源が盗まれるといった深刻な問題が発生する可能性がある。 For example or destroyed the player of the system by reproducing the created BD-ROM by a malicious third party, there is a possibility that serious problems such resources player is stolen. また、正規のBD−ROMを改竄された場合でもプレイヤーのシステムが破壊されたり、プレーヤーの資源が盗まれたり、BD−ROM上のコンテンツが盗まれるといった深刻な問題が発生する可能性がある。 Further, there is a possibility that the or destroyed players of the system even when it is tampered with normal BD-ROM, or stolen resources player and serious problem content on the BD-ROM is stolen occur.

また、XHTMLおよびスクリプトによるアプリケーションをインターネット上のコンテンツサーバから更新または追加することを可能とした場合、ネットワーク上を流れるアプリケーションが改竄されたりコンテンツサーバが詐称されユーザが悪意のあるアプリケーションをダウンロードしてしまう可能性がある。 Further, when it possible to update or add applications by XHTML and script from the content server on the Internet, the user content server or application flowing over the network is falsified spoofed will download malicious application there is a possibility. このような悪意のある第三者によって偽造または改竄されたプログラムをプレーヤで実行した場合、プレーヤのシステムが破壊されたり、正規の情報記録媒体に記録された映像データが盗まれたり改竄されるといった深刻な問題が発生する可能性がある。 If you run such programs forged or tampered by a malicious third party player, or system of the player is destroyed, such as video data recorded on the regular information recording medium is tampered or stolen there is a possibility that serious problems.

このように、BDプレーヤによってXHTMLおよびスクリプトによるアプリケーションを実行する際、図38に示すように正規のスタジオ以外で作成されたアプリケーションや、改竄されたアプリケーションを検出し、深刻な問題を生じさせかねないアプリケーションは実行を拒否したり、利用できる機能やアクセスできるリソースを制限する仕組みが必要である。 Thus, when executing the application by XHTML and scripts by the BD player, and applications written in other than normal studio as shown in FIG. 38, to detect tampering application, could cause serious problems application is a necessary mechanism to limit or refuse to run, the resources that can function and access available.

そこで本実施の形態では、XHTMLおよびスクリプトによるアプリケーションが正規のスタジオで作成されたものか否かを検証するアプリケーション認証機構を提供する。 In this embodiment, there is provided an application authentication mechanism for verifying whether or not the application by XHTML and scripts are created in the normal studio. 以下、本実施の形態のアプリケーション認証機構の概要を図39を用いて説明する。 Hereinafter, an overview of application authentication mechanism of the present embodiment will be described with reference to FIG. 39.

まず、正規のスタジオはXHTMLおよびスクリプトによるアプリケーションを作成する((1)オーサリング)。 First, regular studio to create applications with XHTML and scripts ((1) authoring). XHTMLおよびスクリプトによるアプリケーションは1つ以上のファイルから構成される。 Applications with XHTML and script consists of one or more files. 次にアプリケーションを構成するファイル群全体に対して、公開鍵証明書により署名を行う((2)署名)。 Then to the whole group of files constituting the application, a signature by a public key certificate ((2) Signature). 公開鍵証明書はBDのライセンス団体に属するスタジオのものでも良いし、BDのライセンス団体が発行したものでもよい。 It public key certificate may be one of the studio belonging to the license organization of BD, may be one license organization of BD issued. 以下、本実施の形態ではアプリケーションに対して署名を行う公開鍵証明書はBDのライセンス団体が承認したスタジオの公開鍵証明書とする。 Below, the public key certificate in the present embodiment to perform the signature to the application is a public key certificate of studio-approved license organization of BD. また、署名の方法に関しては後述する。 Also, it will be described later signature methods. 以上により作成されたBD−ROMが販売され、購入したユーザがBDプレーヤに挿入すると((3)販売)、BDプレーヤが前記アプリケーションを実行する際、前記ファイル軍全体に対する署名の妥当性を検証する((4)署名照合)。 Was created BD-ROM sold by the above, when the user who has purchased is inserted into the BD player ((3) sale), when the BD player to execute the application, to verify the validity of the signature for entire file Army ((4) signature verification). これによりアプリケーションが前記スタジオにて作成された正規のものであることが確認され、BDプレーヤはアプリケーションを実行する((5)実行)。 Thus it is confirmed application is legitimate created by the studio, BD player executes an application ((5) execution).

以下、本実施の形態における署名の方法について説明する。 The following describes the signature of the method of the present embodiment.
XHTMLおよびスクリプトによるアプリケーションは1つ以上のファイルから構成されるが、各ファイル毎に署名を作成する方法ではアプリケーション実行時にアプリケーションを構成する複数のファイル用の複数の署名の妥当性を検証していく必要がありBDプレーヤの性能によってはアプリケーション実行時のパフォーマンスが落ちてしまう可能性がある。 Application according XHTML and script consists of one or more files, continue to verify the validity of multiple signatures for multiple files in the way of creating a signature for each file constituting the application when the application execution depending performance must BD player might performance during application execution falls. したがって、本実施の形態における署名には第2の実施の形態で図37を用いて説明したResource Fileを応用する。 Accordingly, the signature of this embodiment applying a Resource File described with reference to FIG. 37 in the second embodiment. 具体的には、アプリケーションを構成するファイルのファイル名一覧を記述しているResource Fileに各ファイルのハッシュ値をあわせて記述し、Resource Fileに対してのみ署名することで署名の対象をResource File1つに限定する。 Specifically, to describe together a hash value for each file in Resource File describing the file name list of files constituting the application, only the signature of the target Resource File1 one by signature to Resource File It is limited to. ここで、ハッシュ値とは任意の長さのデータを一方向関数に入力して得られた固定長のデータのことであり、もとのファイルからハッシュ値を計算することは容易であるがハッシュ値から元のファイルを類することは困難であるという特徴と、入力されるデータが少し異なるだけでも得られるハッシュ値が変化するという特徴とをもつ。 Here, the hash value is that of the fixed length data obtained by inputting arbitrary length of data in one-way function, it is easy to calculate the hash value from the original file hash with the characteristic that it from a value similar to the original file is difficult, and a feature that the hash value data to be input is obtained even slightly different only changes. 一方向関数としてはMD5(Message Digest 5)やSHA−1(Secure Hash Algorithm 1)などがある。 The one-way function MD5 (Message Digest 5) and SHA-1 (Secure Hash Algorithm 1), and the like.

図40に本実施の形態よるアプリケーション認証機構を導入した場合のResourceFileの例を示す。 An example of a ResourceFile in the case of introducing the application authentication mechanism with the embodiment in FIG. 40. 図40に示すように、アプリケーションを構成するファイル名をリストアップした<toppage>要素<linkfile>要素に、各々のファイルのハッシュ値を記述するための属性値として、SHA−1の計算結果を記述する“sha As shown in FIG. 40, listing the file name to configure the application to <toppage> element <LINKFILE> element as the attribute value to describe the hash value of each file, describing the calculation result of the SHA-1 to "sha
−digest”とMD5の計算結果を記述する“md5−digest”を追加している。各要素は“sha−digest”“md5−digest”のどちらか一方、または両方を持つものとする。 -digest "and describes the calculation result of MD5" "are added. Each element" md5-digest shall have either one or both, the sha-digest "" md5-digest ".

また、図40に示すResource Fileは新たに<Signiture>要素が追加されており、当該Resrource Fileへの署名データのファイル名がURI形式で<signiture>要素のsrc属性として記述されている。 Further, Resource File shown in Figure 40 is described newly <Signiture> and element is added, as the src attribute of the <signiture> element file name of the signature data into the Resrource File is in URI format. また、署名データの形式が<signiture>要素のsig−type属性として記述されている。 Also, the format of the signature data is described as a sig-type attribute of <signiture> element. ここでResource Fileに署名後にResource Fileに署名データのファイル名を記述してしまうとResource Fileのデータが変更されることになり作成済みの署名データ自体も無効になってしまうため、Resource Fileに記述する署名データのデータ名は署名データ作成前に決定しておく必要がある。 Here, for when it was signed in Resource File would describe the file name of the signature data to the Resource File Resource File of data becomes invalid even already created signature data itself will be changed, described in the Resource File data name of the signature data to do it is necessary to determine before creating signature data. 署名データのファイル名は、各アプリケーション毎に明示的に一意に決められるようにしてもよい。 File name of the signature data may be explicitly uniquely determined for each application. 例えばToppageと同一ディレクトリにToppageの同一のファイルボディを持ち、拡張子として“.rsa”を持つものとして定義してもよい。 For example, to Toppage the same directory has the same file body of Toppage, it may be defined as having a ".rsa" as the extension. これによりアプリケーションを作成完了しtoppageの名前が決まった時点で署名データの名前は一意に決まっているため、署名データを作成する前であってもResource Fileを作成可能であり署名データ作成後でもResource Fileのデータは変化しない。 Resource Thus because the name of the signature data at the time of fixed names of creating complete application toppage is uniquely determined, even before creating a signature data which can produce a Resource File even after creating the signature data data File does not change.

また、署名データの形式としては、RSA社が定義したPKCS#7(Public−Key Cryptography Standards #7)などがある。 As the format of the signature data, PKCS # 7 (Public-Key Cryptography Standards # 7) that RSA Corporation has defined the like. PKCS#7形式によるResource Fileへの署名データの例を図41に示す。 An example of signature data to the Resource File by PKCS # 7 format shown in FIG. 41. 図41に示すように、PKCS#7によるResource Fileの署名は、Version情報とアルゴリズム情報に加え、Resource Fileのハッシュ値と、スタジオの公開鍵証明書、Resource Fileのハッシュ値に対して、前記スタジオの公開鍵証明書を用いて署名した結果とが含まれる。 As shown in FIG. 41, the signature of the Resource File by PKCS # 7, in addition to the Version information and algorithm information, the hash value of Resource File, studio public key certificate, for a hash value of the Resource File, the studio It included results and the public key certificate was signed with the of.

以下、図42を用いて、本実施の形態によるアプリケーションの妥当性検証方法について述べる。 Hereinafter, with reference to FIG. 42, described validation process of the application according to the present embodiment.

まず、プレーヤにBD−ROM Discが挿入されて、IndexTableの先頭が自動選択されたりユーザが選択するなどして、IndexTableで定義された任意タイトルが開始されると(ステップS801)、プレーヤは当該タイトルが定義されたIndexTableを参照し、当該タイトルのResource Fileを読み込んで当該タイトル用のアプリケーション情報を取得する(ステップS802)。 First, is inserted BD-ROM Disc player, the beginning of the IndexTable is then such user or is automatically selected to select, if any titles defined in IndexTable is started (step S801), the player the titles There Referring to the defined IndexTable, it acquires the application information for the title reads Resource File of the title (step S802). Resource Fileは例として図40を用いて前述した形式をとるものとする。 Resource File shall take the form described above with reference to FIG. 40 as an example. 次にResource File中の<signiture>要素を参照して署名データを読み込む(ステップS803)。 Referring now to <signiture> element in Resource File read signature data (step S803). 署名データは例として図41を用いて前述した形式をとるものとし、署名の対象となるResource Fileのハッシュ値と、その署名、署名に用いたスタジオの公開鍵証明書を含む。 Signature data is assumed to take the form described above with reference to FIG. 41 as an example, includes the hash value of Resource File to be signed of the subject, the signature, the studio's public key certificate used for the signature. 次にプレーヤは署名データに含まれるスタジオの公開鍵証明書を取り出す。 Then the player takes out the public key certificate of the studio, which is included in the signature data. この公開鍵証明書は一般的な公開鍵証明書であり、スタジオの公開鍵と、その公開鍵に対する認証局による署名、認証局による署名を照合するために用いる認証局の公開鍵証明書のチェーンが含まれる。 The public key certificate is a common public key certificate, studios and public key, signed by a certificate authority for that public key, the chain of the public key certificate of the certificate authority used to verify the signature by the certificate authority It is included. プレーヤは取り出したスタジオの公開鍵証明書からスタジオの公開鍵を取り出し(ステップS804)、署名データから取り出したResource Fileのハッシュ値に対する署名をステップS804で取り出した公開鍵を用いて復号化する(ステップS805)。 Player (step S804) retrieves the studio's public key from the public key certificate of the studio taken out is decrypted using the public key extracted signature in step S804 for the hash value of the Resource File retrieved from the signature data (step S805). 次に、署名データからResource Fileのハッシュ値を取り出して一方向関数に入力してハッシュ値を計算する(ステップS806)。 Then enter the one-way function from the signature data is taken out the hash value of the Resource File calculates a hash value (step S806). 次に、ステップS805で復号化して得た復号化データと、ステップS806で計算して得たハッシュ値とを比較する(ステップS807)。 Then, comparing the decoded data obtained by decoding in step S805, the a hash value obtained by calculation in step S806 (step S807). 復号化データとハッシュ値が等しい場合は、署名データが正しく、またResource Fileが偽造または改竄されていないことが確認されたこととなり、ステップS808に進む。 If the decoded data and the hash value are equal, it becomes the signature data is correct, and Resource File was confirmed that no forged or falsified, the process advances to step S808. 復号化データとハッシュ値が等しくない場合は、Resource Fileか署名データが改竄または偽造されたことが考えられ、ステップS811に進む。 If the decoded data and the hash value are not equal, it is considered that Resource File or signature data has been altered or falsified, the process proceeds to step S811. 次にステップS808において、署名データに含まれるスタジオの公開鍵証明書の妥当性を検証していく。 Next, in step S808, it continues to verify the validity of the studio public key certificate of which is included in the signature data. スタジオの公開鍵証明書にはスタジオの公開鍵と公開鍵に対する認証局による署名と署名した認証局の公開鍵証明書が含まれており、スタジオの公開鍵証明書の中に含まれる公開鍵の署名の妥当性をスタジオの公開鍵証明書の中に含まれる認証局の公開鍵証明書を用いて確認(図42のステップS804からステップS807までと同様の手順)する。 The studio public key certificate of which contains the public key certificate of signature authentication station and signed by a Certificate Authority for the studio public key and a public key of the public key of which is included in the studio public key certificate of (same procedure as steps S804 of FIG. 42 to step S807) is checked using the public key certificate of the certificate authority included the validity of the signature in the public key certificate of the studio. 署名した認証局の公開鍵証明書にもさらに当該認証局の公開鍵を署名した親となる認証局の公開鍵証明書が含まれており、チェーン上になっている。 In the public key certificate of the signature certificate authority includes the further public key certificate of the certificate authority as a parent that signed the public key of the certificate authority, which is on the chain. これらの認証局の公開鍵証明書のチェーンを先ほどと同様の手順で妥当性を確認していくと最終的にはルートとなる認証局の公開鍵証明書が得られる。 Public key certificate of these when the chain of the public key certificate of the certificate authority will verify the validity in the same procedure as previous certificate authority ultimately becomes the root are obtained. ルート認証局の公開鍵証明書が正規のものであるかどうかの確認方法としては、プレーヤにルート認証局の公開鍵証明書を持たせそれと比較する方法でもよいし、BD−ROMに記録しておいてそれと比較する方法でも良い。 The Verifying method public key certificate of the root certificate authority is legitimate, player to have a public key certificate of the root certificate authority may be a method of comparing therewith, recorded on a BD-ROM Oite it may be a way to compare with it.

最終的に得られたルート認証局の公開鍵証明書が正規のものであれば最終的にスタジオの公開鍵証明書が妥当であることが確認され(ステップS809)、ステップS810に進み、最終的に当該タイトル用のアプリケーションの妥当性が検証される(ステップS810)。 As long as the public key certificate of the finally obtained root certificate authority is authorized ultimately be studio's public key certificate is valid is checked (step S809), the process proceeds to step S810, final validity of the application for the title to be validated (step S810). スタジオの公開鍵証明書が妥当でなければステップS811に進み、アプリケーションが偽造または改竄されている可能性があることを検出する(ステップS810)。 If is valid studio public key certificate of the process proceeds to step S811, the application detects that there may have been forged or tampered (step S810).

アプリケーションが偽造または改竄されている可能性がある場合、当該アプリケーションの実行を拒否しても良いし、プレーヤや保護すべきコンテンツへの影響がない最小限の機能のみ実行できるように制限してアプリケーションを実行しても良い。 If an application may have been forged or falsified, it may reject the execution of the application, and limited only to run a minimum of functions there is no influence of the content to be players and protected application it may be the execution. また、アプリケーション構成ファイル以外のBD−ROMへのアクセスを拒否したり制限したりしても良いし、プレーヤが備えるHDDやフラッシュメモリなどのローカルストレージへのアクセスを拒否したり制限したりしてもよい。 Further, it may be or limit deny access to BD-ROM other than the application configuration file, even if or limit deny access to the local storage, such as HDD or flash memory the player comprising good. また、妥当性が検証されたアプリケーションに関しても、Resource Fileの<application>要素のname属性にてアプリケーションの名前が定義されているが、そのアプリケーションに割り当てられたローカルストレージ領域にのみアクセスを許可し、それ以外の名前を持つアプリケーションのローカルストレージ領域へのアクセスは拒否する仕組みを取っても良い。 Further, with regard validity is verified application, although the name of the application in <application> element of the name attribute of Resource File has been defined, to allow access only to the local storage area allocated to the application, access to the local storage area of ​​the application with it except for the name of may take a reject mechanism.

なお、本実施の形態ではResource Fileのハッシュ値を直接署名データに含ませて署名しているがあくまでも例であり、Resource Fileからリンクを張った別の署名用ファイルを用意し、そのファイルにResource Fileのハッシュ値とその他安全性を高めるためのデータ(例えばResource Fileに記述したアプリケーションを構成する各ファイルのハッシュ値をさらに一方向関数に通して得られたハッシュ値の一覧など)を用意し、それに署名する仕組みをとってもよい。 In this embodiment a hash value directly signature signing be included in the data, but merely an example of a Resource File, and have a separate signature file with links from Resource File, Resource the file prepare the data for enhancing the hash value and other safety file (e.g., Resource file constituting the applications written in such as a list of the hash values ​​obtained through a further one-way function a hash value of each file), It may take a mechanism to sign it.

以上、アプリケーションの妥当性検証方法について図42を用いて述べたが、実際にアプリケーションを実行する際はさらにアプリケーションを構成する各ファイルについて図43に示すようにアプリケーションファイルの妥当性を検証する必要がある。 While the validation method of application has been described with reference to FIG. 42, it is necessary to verify the validity of the application file as shown in FIG. 43 for each file constituting the further application when performing actual application is there.

以下、図43を用いて本実施の形態におけるアプリケーションファイルの妥当性検証方法について述べる。 Hereinafter, we describe validation methods application file of the present embodiment with reference to FIG. 43.

まずアプリケーションの妥当性検証が完了すると(ステップS901)、アプリケーションに必要なファイルを読み込む(ステップS902)。 Turning first to the validation of the application is completed (step S901), reads the files required for the application (step S902). ここでアプリケーションを構成するファイルは前述したように、Resource File中に<toppage>要素や<linkfile>要素にて記述されている。 Here files that make up the application as described above, are described in <toppage> element or <LINKFILE> element in Resource File. 次にステップS902で読み込んだファイルのファイル名がResource Fileに記載されているかどうかを確認する(ステップS903)。 Next, the file name of the file read in step S902 to check whether or not listed in the Resource File (step S903). これは、例えばToppageからリンクを張られて読み込まれたファイルが、スタジオの想定したものであるかどうかを確認するためのものであり、Toppageの改竄がなければ読み込んだファイルのファイル名がResource Fileに記載されているはずである。 This is, for example, a file that is read is stretched a link from the Toppage, is intended to verify whether or not the studio of those assumed, file name Resource File in the imported file if there is no falsification of Toppage it should have been described. 読み込んだファイルのファイル名がResource Fileに記載されている場合(ステップS904のyes)はステップS905に進み、記載されていなければ(ステップS904のno)当該ファイルへのリンクを張ったファイルが改竄されている可能性がありステップS909に進む。 If the file name of the read file are described in the Resource File (yes of step S904), the process proceeds to step S905, if it is not described (no in step S904) file that lets you link to the file is tampered with possibility is that there is, the process proceeds to step S909. 次にステップS905において、ステップS902にて読み込んだファイルのハッシュ値を計算する。 Next, in step S905, to calculate the hash value of the imported file in step S902. このとき、<toppage><linkfile>要素においてsha−digest属性が指定されている場合はSHA−1にてハッシュ値を計算し、md5−digest属性が指定されている場合はMD5にてハッシュ値を計算し、二つとも指定されている場合はSHA−1とMD5の二つのハッシュ値を計算するものとする。 At this time, the hash value at <toppage> If the <LINKFILE> element sha-digest attribute is specified to calculate a hash value by SHA-1, if the md5-digest attribute is specified MD5 calculated, if specified with two assumed to calculate the two hash values ​​of SHA-1 and MD5. 次に、ステップS905において計算したハッシュ値と、Resource Fileに記載された当該ファイルのハッシュ値とを比較する(ステップS906)。 Next, it compares the hash value calculated at step S905, a hash value of the files listed in the Resource File (step S906). ここでステップS905で計算したハッシュ値が、SHA−1にて計算したハッシュ値である場合は、sha−digest属性にて指定された値と比較し、MD5にて計算したハッシュ値である場合はmd5−digest属性にて指定された値と比較する。 Hash value calculated here at step S905 is, when a hash value calculated by SHA-1 is compared to the value specified by sha-digest attribute, if a hash value calculated by MD5 is compared to the value specified in the md5-digest attribute. SHA−1とMD5の双方のハッシュ値を計算した場合はその両方をそれぞれ比較する。 When calculating the hash values ​​of both SHA-1 and MD5 compares both respectively. ステップS905で計算したハッシュ値とResource Fileに記載された当該ファイルのハッシュ値が等しければ(ステップS907のyes)、読み込まれたファイルは改竄または偽造されていないファイルであることが確認されたことになる(ステップS908)。 Being equal hash value of the file listed in the hash value and the Resource File calculated in step S905 (yes in step S907), loaded file is a file that has not been tampered or forged can be is confirmed made (step S908). 一方、ステップS905で計算したハッシュ値とResource Fileに記載された当該ファイルのハッシュ値が等しくなければ(ステップS907のno)、読み込まれたファイルは偽造、または改竄された可能性があることになる(ステップS909)。 On the other hand, if there is no hash value of the file it is equal to that described in calculated hash value and the Resource File in step S905 (no in step S907), is that there may have been forged, or tampered loaded files (step S909).

なお、アプリケーションファイルの妥当性検証は、プレーヤがResource Fileを読み込んでアプリケーションの妥当性検証が完了した直後に、Resource Fileに記載されているアプリケーションを構成する全てのファイルに対して行っても良いし、アプリケーションを実行するにあたって必要になったファイルをその都度検証していく方法でも良い。 Incidentally, validation application file, immediately after the player has validation application is complete reads the Resource File, may be performed with respect to all the files that make up an application that is described in Resource File , may be a way to continue to verify that each time a file that has become required to execute the application. この場合、前記アプリケーションの妥当性検証が完了した後は、Resrouce File中の<toppage>要素で記述されたToppageのみに対してアプリケーションファイルの妥当性検証が行われ、以降、Toppageからリンクを張られるなどしてアプリケーションを実行する上で必要となったファイルに対して逐次妥当性の検証が行われる。 In this case, after the validation of the application is completed, validation application file is performed on only Toppage described by <toppage> element in Resrouce File, since, spanned links from Toppage sequential validation is performed on the file that was required in order to run the application, such as.

また、アプリケーション及びその構成ファイルの妥当性を検証出来なかった場合、単にアプリケーションの実行を禁止するだけでなく、当該アプリケーションが記録されたBD−ROM Disc自体の実行を禁止しても良い。 Moreover, when unable to verify the validity of the application and its configuration file, not only prohibits execution of an application, the application may be prohibited to execute the recorded BD-ROM Disc itself. そのほかにも、アプリケーション及びその構成ファイルの妥当性を検証出来なかった場合に、システムに悪影響を及ぼしかねない機能の実行や保護すべきコンテンツへのアクセスを禁止し、実行させるという対策をとっても良い。 Besides that, if you could not verify the validity of the application and its configuration file, to prohibit access to the execution and to be protected content of the function, which could adversely affect the system, it may take the measures that to be executed.

(アプリケーションの実行権限制御) (The execution of the application authority control)
以上、アプリケーションの妥当性検証方法と、アプリケーションを構成するファイルの妥当性検証方法について本実施の形態を述べたが、さらに妥当性を検証したアプリケーションに対して実行できる権限を必要な範囲に限定することで、プレーヤのシステムやコンテンツをより安全に保つことができる。 Above, the validation method of application has been described the embodiment for validation process the files that comprise the application, to limit the extent necessary permission to perform on further validity verification and application it is, it is possible to keep the system and content of the player more safely.

例えば前述したようにアプリケーションの妥当性を検証出来なかったアプリケーションには最小限の機能実行権限のみを割り当て、妥当性を検証したアプリケーションに関しても、あらかじめ規定された必要な機能のみ実行でき、かつ規定された必要なデータ領域にのみデータを読み書きできるようにすることで、例えば想定外の動作による不具合などを防止でき、プレーヤやコンテンツをより安全に保つことができる。 For example assigned only the minimum function execution rights for applications it could not verify the validity of the application as described above, with regard to validate application, can only run pre-defined required functions, and is defined was only necessary data area that to be able to read and write data, for example, can prevent a malfunction due to unexpected behavior, it is possible to keep the player or content safer.

そこで、本実施の形態ではアプリケーションの実行権限を制御する仕組みをさらに提供する。 Therefore, in the present embodiment further provides a mechanism for controlling the execution rights of the application. アプリケーション作成時にアプリケーションが実行できる機能やアクセスできるデータ領域を記述したPermission Fileを用意してアプリケーションに添付する。 Attach to the application data area that can function and access the application can be executed at the time of application created to prepare the Permission File describing. プレーヤはアプリケーションの妥当性検証を実施した後、このPermission Fileに基づいてアプリケーションの実行権限を設定した上でアプリケーションを実行するものとする。 Player after carrying out the validation of the application, which shall perform the application after having set the execution rights of the application on the basis of the Permission File.

以下、本実施の形態におけるアプリケーションの実行権限制御の具体例について説明する。 Hereinafter, a specific example of execution authority control of the application in this embodiment.

まず図44に示すように、プレーヤがアプリケーションの実行する際に当該アプリケーションのPermission Fileを一意に読み出せるようResource Fileに<permission>要素を設けPermission Fileのファイル名を記述するものとする。 First, as shown in FIG. 44, the player is assumed to describe the file name of the Permission File provided <permission> element Permission File to Resource File to put out unique reading of the application when executing the application. また、Permission Fileの偽造、改竄を防ぐため、アプリケーションの構成ファイルと同じくそのハッシュ値をResrource Fileに<permission>要素のsha−digest属性またはmd5−digest属性(または双方)として記述するものとする。 Further, forgery of Permission File, to prevent tampering, similarly as describing the hash value Resrource File as <permission> element sha-digest attribute or md5-digest attribute (or both) and the application configuration file. このようにPermission Fileのハッシュ値をResource Fileに記述することで前述したアプリケーション構成ファイルの妥当性検証と同様の手順で、Permission Fileの妥当性検証を行うことができる。 Thus the hash value of the Permission File in validation procedure similar application configuration file as described above by describing the Resource File, it is possible to perform validation of the Permission File.

ここでPermission fileはテキスト形式やXMLなど任意のフォーマットで記述されるものとし、プレーヤが備える機能や関数に対して当該アプリケーションが実行できるか否かや、実行するために必要な条件などが記載されるものとする。 Here Permission file is assumed to be described in any format such as text format, XML, whether Kaya the application for the function or functions that the player is provided can be executed, it is described and conditions necessary to perform and shall. また必要に応じて、当該アプリケーションがアクセスできるDisc領域やローカルストレージ領域に関して例えばURI形式で記述され、それぞれの領域に対して、データを読み込めるか否か、書き込めるのか否か、実行できるか否かといった条件が記述されるものとする。 If necessary, the application is described, for example, URI format with respect Disc area and local storage space that can be accessed, for each area, whether read the data, whether or not write to say whether it executed shall condition is described. またプレーヤがネットワーク通信機能を持つ場合、必要に応じて、当該アプリケーションがネットワークアクセス可能なURIを記述しアプリケーションが接続可能なサーバを限定するものとする。 Also when the player has a network communication function, if necessary, shall application the application describes a network-accessible URI to limit the servers that can be connected.

なお、Permission Fileのファイル名は各アプリケーション毎に明示的に決められるようにしてもよい。 The file name of the Permission File may also be used explicitly defined for each application. 例えばアプリケーションのToppageと同一ディレクトリにToppageの同一のファイルボディを持ち、拡張子として“.perm”を持つものとして定義してもよい。 For example, the application of Toppage the same directory has the same file body of Toppage, it may be defined as having a ".perm" as the extension.

以下、図45を用いてPermission Fileの妥当性検証とアプリケーションの権限設定のフローチャートを説明する。 Hereinafter, explaining the flow chart of validation and application permission setting for Permission File with reference to FIG. 45.

まずアプリケーションの妥当性検証が完了すると(ステップS1001)、プレーヤはResource Fileの<permission>要素を参照してPermission Fileを読み込む(ステップS1002)。 Referring first to validation of the application is completed (step S1001), the player reads the Permission File with reference to the <permission> elements Resource File (Step S1002). 次にステップS1002で読み込んだPermission Fileを一方向関数に通し、Permission Fileのハッシュ値を計算する(ステップS1003)。 Then through Permission File read in step S1002 the one-way function, to compute the hash value of the Permission File (step S1003). このとき、<permission>要素にsha−digest属性が指定されている場合はSHA−1を用いてハッシュ値を計算し、md5−digest属性が指定されている場合はMD5を用いてハッシュ値を計算し、二つとも指定されている場合はSHA−1とMD5の二つのハッシュ値を計算する。 At this time, calculates a hash value using the SHA-1 if it is specified sha-digest attribute <permission> element, if the md5-digest attribute is specified calculate a hash value using the MD5 and, if specified with two to calculate the two hash values ​​of SHA-1 and MD5. 次に、ステップS1003で計算したハッシュ値とResource Fileに<pemission>要素のsha−digest属性・md5−digest属性で記述されたPermission Fileのハッシュ値とを比較する(ステップS1004)。 Next, compare the hash value of Permission File described in sha-digest attribute · md5-digest attribute of <pemission> element was the hash value and the Resource File calculated in step S1003 (step S1004). ステップS1003で計算したハッシュ値とResource Fileに記述されたPermission Fileのハッシュ値が等しければ(ステップS1005のyes)、Permission Fileは改竄または偽造されていないことが確認されたことになり、ステップS1006に進む。 Being equal hash value of the Permission File written to the calculated hash value and the Resource File in step S1003 (yes in step S1005), Permission File will be that they are not tampered or forged is confirmed, the step S1006 move on. 一方、ステップS1003で計算したハッシュ値とResource Fileに記述されたPermission Fileのハッシュ値が等しくなければ(ステップS1005のno)、Permission Fileは偽造、または改竄された可能性があることになり、アプリケーションの実行を禁止したり、最小限の権限を与えてアプリケーションを実行する(ステップS1008)。 On the other hand, not equal hash values ​​of Permission File written to the calculated hash value and the Resource File in step S1003 (no in step S1005), Permission File will that there may have been forged, or tampered, the application or prohibits the execution, and executes the application giving minimal authority (step S1008). ステップS1006では、Permission Fileの記述を解釈し、プレーヤに当該アプリケーションの権限を設定する(ステップS1006)。 In step S1006, it interprets the description of the Permission File, set permissions of the application to the player (step S1006). 以上の処理により当該アプリケーションが実行できる権限を設定するとプレーヤはアプリケーションを実行する(ステップS1007)。 Setting the permissions which the application can perform the above processing player executes the application (step S1007).

なお、Permission Fileを用いたアプリケーションの権限設定を行う場合、図42を用いて述べたアプリケーションの妥当性検証の完了後に、図45で述べたPermission Fileの妥当性検証とアプリケーションの権限設定を行ってアプリケーションの実行に移ると、図43を用いて述べたように、アプリケーションが使用するファイルの妥当性検証を行うこととなる。 In the case of performing the application permission settings with Permission File, after completion of the validation of the application described with reference to FIG. 42, performs validation and application permission setting for Permission File described in FIG. 45 Turning to run the application, as described with reference to FIG. 43, and thus to perform validation file used by the application.

(アプリケーションの作成手順) (Application of the creation procedure)
次に、スタジオにおいてアプリケーションをオーサリングしたあと、アプリケーションの認証および権限制御に必要な情報を付加してBD−ROMに記録するまでの手順について図46を用いて説明する。 Then, after authoring application in studios, the procedure up by adding information necessary for authentication and authorization control of the application recorded on the BD-ROM will be described with reference to FIG. 46.

まずスタジオにてXHTMLおよびスクリプトによるアプリケーションのオーサリングが完了すると(ステップS1101)、この時点で、アプリケーションのToppageとそれ以外のアプリケーションを構成するファイルの名前が決定され、また各ファイルのディレクトリ構成も決定する。 When the first studio in the application in accordance with XHTML and script authoring is completed (step S1101), at this point, the name of the file is determined to constitute a Toppage and other applications of the application, and also to determine the directory structure of each file . 次に当該アプリケーションに最適かつ必要な実行権限を記述したPermission Fileを作成する(ステップS1102)。 Then create a Permission File that describes optimal and execution privileges required to the application (step S1102). 次にアプリケーションを構成する各ファイルとPermission Fileのハッシュ値を計算する(ステップS1103)。 Then calculates a hash value for each file and Permission File that make up the application (step S1103). 次にPermission Fileのファイル名とアーカイブファイルのファイル名、署名データのファイル名と配置位置を決定する(ステップS1104)。 Then determine the file name, the file name and location of the signature data of the file name and archive file Permission File (step S1104). この際、それぞれ任意にファイル名を決定しても良いし、アプリケーション毎に一意に決定される固有の値としても良い。 In this case, to each may optionally be determined file name may be a unique value that is uniquely determined for each application. 例えばそれぞれのファイルの配置位置を当該アプリケーションのToppageと同一ディレクトリとし、さらにファイルボディをToppageのファイルボディと同一としてそれぞれの拡張子をPermission Fileであれば“.perm”、アーカイブファイルであれば“.bdi”、署名データであれば“.rsa”としてもよい。 For example the location of each file and Toppage the same directory of the application, if the further each extension a file body as being the same as the file body of Toppage a Permission File ".perm", if the archive file ". bdi ", if the signature data" may be as .rsa ". 以上までの処理で得た情報を元に当該アプリケーションのResource Fileを作成する(ステップS1105)。 Create a Resource File of the based on the information obtained application in the process up to this (step S1105). 次に、ステップS1105にて作成したResource Fileのハッシュ値を計算する(ステップS1106)。 Next, compute the hash value of the Resource File created at step S1105 (step S1106). 次に以上までの処理で得た情報を元に署名データを作成する(ステップS1107)。 Then based on the information obtained by the processing up to this to create the signature data (Step S1107). 次に各ファイルの構成ファイルとPermission File、署名データを各ファイルのディレクトリ構成を保ったままファイルを一纏めにするアーカイブファイルにする(ステップS1108)。 Then configuration files and Permission File for each file and the archive file to a file while the signature data keeping the directory structure of the file collectively (Step S1108). アーカイブファイルの例としてはMIME形式やTar形式や圧縮ファイル形式であるZip形式やLZH形式、CAB形式がある。 Zip format and LZH format Examples of the archive file is a MIME format and Tar format or a compressed file, there is a CAB format. 圧縮形式を採用することでBD−ROMに記録するデータ量が減り、また読込にかかる時間を短縮できる利点があるが、MIME形式やTar形式に比べてファイルを展開する時間がかかるという欠点がある。 It reduces the amount of data to be recorded on the BD-ROM by adopting a compressed form, also has an advantage of shortening the time required for reading, there is a disadvantage that it takes time to extract the files than the MIME format and Tar format . 最後に、ステップS1105で作成したResource FileとステップS1108で作成したアーカイブファイルとをBD−ROMの所定の位置に記録する(ステップS1109)。 Finally, to record and archive file created by the Resource File and step S1108 created in step S1105 in place of the BD-ROM (step S1109).

なお、本実施の形態にて述べたアプリケーションの実行権限制御の仕組みを利用しない場合はステップS1102におけるPermission Fileの作成などPermission Fileに関する処理は実施しない。 The processing relating Permission File and creating Permission File case of not using the mechanism of execution authority control of the application described in the present embodiment in step S1102 is not performed.

本発明を利用することにより、映像データとXMLおよびスクリプトによるAV再生制御を導入することが可能となる。 By utilizing the present invention, it is possible to introduce the AV reproduction control based on the video data and the XML and scripts. 特に、映像コンテンツの制作に携わる映画産業・民生機器産業において利用される可能性をもつ。 In particular, it has the potential to be used in the movie industry and consumer electronics industries involved in the production of the video content.

DVDの構成図 Block diagram of a DVD ハイライトの構成図 Block diagram of the highlights DVDでの多重化の例を示す図 It shows an example of multiplexing in a DVD BD−ROMのデータ階層図 Data hierarchy diagram of the BD-ROM BD−ROM上の論理空間の構成図 Diagram of logical space on the BD-ROM BD−ROMプレーヤの概要ブロック図 Schematic block diagram of a BD-ROM player BD−ROMプレーヤの構成ブロック図 A block diagram of a BD-ROM player BD−ROMのアプリケーション空間の説明図 Illustration of the application space of a BD-ROM MPEGストリーム(VOB)の構成図 Block diagram of an MPEG stream (VOB) パックの構成図 Block diagram of the pack AVストリームとプレーヤ構成の関係を説明する図 View for explaining the relationship between an AV stream and a player structure トラックバッファへのAVデータ連続供給モデル図 AV data continuous supply model diagram of the track buffer VOB情報ファイル構成図 VOB information file configuration diagram タイムマップの説明図 Illustration of a time map タイムマップを使ったアドレス情報取得方法説明図 Address information acquisition method explanatory diagram using the time map プレイリストファイルの構成図 Block diagram of the play list file プレイリストに対応するプログラムファイルの構成図 Configuration diagram of a program file corresponding to the play list BDディスク全体管理情報ファイルの構成図 Block diagram of a BD disc overall management information file グローバルイベントハンドラを記録するファイルの構成図 Block diagram of a file for recording a global event handler タイムイベントの例を説明する図 Diagram illustrating an example of a time event ユーザイベントの例を説明する図 Diagram for explaining an example of a user event グローバルイベントハンドラの例を説明する図 Diagram illustrating an example of a global event handler 仮想マシンの構成図 Configuration diagram of a virtual machine プレーヤ変数テーブルの図 Figure of player variables table イベントハンドラ(タイムイベント)の例を示す図 Diagram showing an example of an event handler (time event) イベントハンドラ(ユーザイベント)の例を示す図 Diagram showing an example of an event handler (user event) プレーヤの基本処理のフローチャート Flowchart of basic processing of the player プレイリスト再生処理のフローチャート Flowchart of the playlist playback processing イベント処理のフローチャート Flowchart of the event processing 字幕処理のフローチャート Flowchart of subtitle processing モジュール構成や制御の流れを説明する図 View for explaining the flow of module configuration and control Index TableとXHTMLファイルの関係を説明する図 View for explaining the relationship of the Index Table and XHTML file ボタンが表示されるXHTMLファイルの例 Examples of XHTML files that button is displayed データのライフサイクルを説明する説明図 Explanatory diagram for explaining the life cycle of data データのライフサイクルを説明するタイミングチャート Timing chart to explain the life cycle of data データを1つにまとめる方法を説明する図 Diagram illustrating a method to combine the data into one Resource Fileの例を示す図 It shows an example of a Resource File 偽造・改竄されたアプリケーションについて説明する図 Diagram describing forgery, falsification application アプリケーション認証の概要を説明する図 Diagram for explaining an overview of the application authentication アプリケーション認証機能を備えたResource Fileの例を示す図 It shows an example of a Resource File with application authentication function 署名データの構成図 Block diagram of the signature data アプリケーションの妥当性検証処理のフローチャート Flow chart of the validation process of the application アプリケーション構成ファイルの妥当性検証処理のフローチャート Flowchart of validation processing of the application configuration file 実行権限制御機能を備えたResrource Fileの例を示す図 It shows an example of a Resrource File with execute permission control function アプリケーションの実行権限制御処理のフローチャート Flowchart of application execution permission control process 作成したアプリケーションをDiscに記録するまでのフローチャート Flowchart of the application that was created to be recorded in the Disc

符号の説明 DESCRIPTION OF SYMBOLS

201 BDディスク 202 光ピックアップ 203 プログラム記録メモリ 204 管理情報記録メモリ 205 AV記録メモリ 206 プログラム処理部 207 管理情報処理部 208 プレゼンテーション処理部 209 イメージプレーン 210 ビデオプレーン 211 合成処理部 301 プログラム記録メモリ 302 プログラムプロセッサ 303 UOPマネージャ 304 管理情報記録メモリ 305 シナリオプロセッサ 306 プレゼンテーションコントローラ 307 クロック 308 イメージメモリ 309 トラックバッファ 310 デマルチプレクサ 311 イメージプロセッサ 312 ビデオプロセッサ 313 サウンドプロセッサ 314 イメージプレーン 315 ビデオプレーン 316 合成処理部 317 ドライブコントローラ 201 BD disc 202 the optical pickup 203 Program recording memory 204 Management information recording memory 205 AV recording memory 206 Program processing unit 207 Management information processing unit 208 Presentation processing unit 209 Image plane 210 Video plane 211 Synthesis processing unit 301 program storage memory 302 Program processor 303 UOP manager 304 management information recording memory 305 scenario processor 306 presentation controller 307 clock 308 image memory 309 track buffer 310 demultiplexer 311 image processor 312 video processor 313 sound processor 314 image plane 315 video plane 316 synthesis processing unit 317 drive controller 101 ディスク挿入ステップ S102 BD. 101 disc insertion step S102 BD. INFO読み込みステップ S103 BD. INFO reading step S103 BD. PROG読み込みステップ S104 ファーストイベント生成ステップ S105 イベントハンドラ実行ステップ S201 UOP受付ステップ S202 UOPイベント生成ステップ S203 メニューコール判定ステップ S204 イベント生成ステップ S205 イベントハンドラ実行ステップ S301 プレイリスト再生開始ステップ S302 プレイリスト情報(XXX.PL)読み込みステップ S303 プレイリストプログラム(XXX.PROG)読み込みステップ S304 セル再生開始ステップ S305 AV再生開始ステップ S401 AV再生開始ステップ S402 VOB情報(YYY.VOBI)読み込みステップ S403 VOB(YYY.VOB)読み込みステップ S404 VOB再生開始ステップ S405 VOB PROG reading step S104 First event generation step S105 Event handler execution step S201 UOP acceptance step S202 UOP event generation step S203 Menu call determination step S204 Event generation step S205 Event handler execution step S301 Playlist playback start step S302 Playlist information (XXX.PL ) reading step S303 playlist program (XXX.PROG) reading step S304 cell playback start step S305 AV playback start step S401 AV playback start step S402 VOB information (YYY.VOBI) reading step S403 VOB (YYY.VOB) reading step S404 VOB playback start step S405 VOB 再生終了ステップ S406 次セル存在判定ステップ S501 プレイリスト再生開始ステップ S502 プレイリスト再生終了判定ステップ S503 タイムイベント時刻判定ステップ S504 イベント生成ステップ S505 イベントハンドラ実行ステップ S601 プレイリスト再生開始ステップ S602 プレイリスト再生終了判定ステップ S603 UOP受付判定ステップ S604 UOPイベント生成ステップ S605 メニューコール判定ステップ S606 ユーザーイベント有効期間判定ステップ S607 イベント生成ステップ S608 イベントハンドラ実行ステップ S701 プレイリスト再生開始ステップ S702 プレイリスト再生終了判定ステップ S703 字幕描画開始判定ステップ S704 字幕描画ステップ S7 Play Exit step S406 primary cell existence determining step S501 playlist playback start step S502 playlist reproduction end determination step S503 time event time determination step S504 event generation step S505 event handler executes step S601 playlist playback start step S602 playlist reproduction end determination step S603 UOP acceptance determination step S604 UOP event generation step S605 menu call judgment step S606 user event the effective period determination step S607 event generation step S608 event handler executes step S701 playlist playback start step S702 playlist reproduction end determination step S703 to start the rendering of subtitles determination step S704 subtitle rendering step S7 05 字幕表示終了判定ステップ S706 字幕消去ステップ S801 タイトル開始ステップ S802 Resource File読込ステップ S803 署名データ読込ステップ S804 公開鍵抽出ステップ S805 署名復号化ステップ S806 署名検証用ハッシュ値計算ステップ S807 署名判定ステップ S808 公開鍵証明書照合ステップ S809 公開鍵証明書判定ステップ S810 アプリケーション妥当性検証完了ステップ S811 アプリケーションの偽造改竄検出ステップ S901 アプリケーション妥当性検証完了ステップ S902 アプリケーション構成ファイル読込ステップ S903 構成ファイルの存在確認ステップ S904 存在判定ステップ S905 構成Fileハッシュ値計算ステップ S906 ハッシュ 05 subtitle display end determination step S706 Subtitle deletion step S801 Title start step S802 Resource File reading step S803 signature data reading step S804 public key extraction step S805 signature decoding step S806 signature verification hash value calculation step S807 signature determination step S808 public key certificate existence confirmation step S904 existence determining step S905 configuration of write verification step S809 public key certificate decision step S810 the application validation completed step S811 application counterfeit alteration detection step S901 the application validation completed step S902 the application configuration file reading step S903 configuration file File hash value calculation step S906 hash 比較ステップ S907 ハッシュ値判定ステップ S908 アプリケーション構成ファイル妥当性検証完了ステップ S909 アプリケーションデータの偽造改竄検出ステップ S1001 アプリケーション妥当性検証完了ステップ S1002 Permission File読込ステップ S1003 Permission Fileのハッシュ値計算ステップ S1004 ハッシュ値比較ステップ S1005 ハッシュ値判定ステップ S1006 アプリケーション権限設定ステップ S1007 アプリケーション実行ステップ S1008 アプリケーション不正検出ステップ S1101 アプリケーションオーサリング完了ステップ S1102 Permission File作成ステップ S1103 ハッシュ値計算ステップ S1104 ファ Comparison Step S907 a hash value determination step S908 the application configuration file validation completed step S909 counterfeit alteration detection step S1001 the application validation completion of application data step S1002 Permission File reading step S1003 hash value of Permission File computation step S1004 hash value comparing step S1005 hash value determination step S1006 application authority setting step S1007 application executing step S1008 application fraud detection step S1101 application authoring completed step S1102 permission File creation step S1103 hash value calculation step S1104 file イル名決定ステップ S1105 Resource File作成ステップ S1106 Resource Fileのハッシュ値計算ステップ S1107 署名データ作成ステップ S1108 アーカイブファイル作成ステップ S1109 BD−ROM作成ステップ Yl name determination step S1105 Resource File creation step S1106 Resource File hash value calculation step S1107 signature data creation step S1108 archive file creation step S1109 BD-ROM creation step of


Claims (10)

  1. デジタルストリームを含む1つ以上のタイトルと宣言型言語で記述され1つ以上のファイルから構成される1つ以上のアプリケーションとが記録された情報記録媒体であって、 And one or more titles and an information recording medium and one or more applications configured is recorded from the declarative language written one or more files containing the digital stream,
    前記情報記録媒体には、アプリケーションを構成するファイル名一覧を記述したファイルリストと前記ファイルリストへの署名データとがアプリケーション毎に記録され、 The information recording medium includes a signature data of the file list that describes the file name list to configure the application to the file list is recorded for each application,
    前記ファイルリストはアプリケーションを構成する各ファイルのハッシュ値と前記の署名データのファイル名とを含むことを特徴とする情報記録媒体。 The file list information recording medium which comprises a file name of the signature data and the hash value of each file constituting the application.
  2. 前記ファイルリストは対応する前記タイトル毎に関連付けて記録されることを特徴とする請求項1記載の情報記録媒体。 The file list corresponding claim 1, wherein the information recording medium characterized in that it is recorded in association with each of the titles.
  3. 前記ファイルリストには、前記アプリケーションが実行できる機能を記述した実行権限情報のファイル名とそのハッシュ値がさらに記録されることを特徴とする請求項1記載の情報記録媒体。 Wherein the file list, according to claim 1, wherein the information recording medium, characterized in that the file name and hash value of the execution permission information describing the function of the application can perform is further recorded.
  4. 前記情報記録媒体には、前記ファイルリストにファイル名を記載されたファイル本体をそれぞれ格納したアーカイブファイルが記録されており、 The said information recording medium, an archive file of the file body described the filename in the file list storing each is recorded,
    前記ファイルリストには前記アーカイブファイルへのリンクがさらに記載されていることを特徴とする請求項1記載の情報記録媒体。 Information recording medium according to claim 1, wherein the said file list, wherein the link to the archive file is further described.
  5. デジタルストリームを含むタイトルの再生と宣言型言語で記述され1つ以上のファイルから構成されるアプリケーションの実行とを同時に行う再生装置であって、 A simultaneous reproducing apparatus and execution of the application consists of playback are written in a declarative language one or more files titles, including a digital stream,
    複数タイトル間の分岐を制御するタイトル制御部と、 A title control unit that controls the branch between multiple titles,
    1つのタイトルに帰属するデジタルストリームを再生する再生制御部と、 A reproduction control unit for reproducing a digital stream attributable to one title,
    タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認部と、 Each time a branch of the title occurs, signature confirmation unit for confirming the validity of the signature and reads the signature of the file list that is described in the file list to configure the application in which the branch destination Title and life cycle to the file list When,
    前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込部と、 A file reading part for reading files only when matching the hash value of the files listed in the file list to calculate the hash value of the file when reading a file constituting the application,
    を備えることを特徴とする再生装置。 Reproducing apparatus comprising: a.
  6. 前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理部をさらに備える請求項5記載の再生装置。 When executing the application, which is described in the execution authority information only when matches the hash value of the calculated hash value of the execution permission information described in the file list execution authority information described in the file list execution permission reproducing apparatus according to claim 5, further comprising an execution authority management unit for executing the application on.
  7. デジタルストリームを含むタイトルの再生とアプリケーションの実行とを同時に実行させるプログラムであって、 A program to be executed title playback and application execution at the same time including a digital stream,
    複数タイトル間の分岐を制御するタイトル制御ステップと、 A title control step for controlling branching between the plurality titles,
    1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、 A reproduction control step of reproducing a digital stream attributable to one title,
    タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと、 Each time a branch of the title is generated, and the file list that make up the application in which the branch destination title and survival section,
    前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認ステップと、 A signature verification step of confirming the validity of the signature and reads the signature of the listed files listed in the file list,
    前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込ステップと、 A file reading step of reading files only when matching the hash value of the files listed in the file list to calculate the hash value of the file when reading a file constituting the application,
    をコンピュータに実行させることを特徴とするプログラム。 A program characterized by causing a computer to execute the.
  8. 前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理ステップをさらに含む請求項7記載のプログラム。 When executing the application, which is described in the execution authority information only when matches the hash value of the calculated hash value of the execution permission information described in the file list execution authority information described in the file list further comprising claim 7 wherein program execution authority management step of executing the application in execution privilege.
  9. デジタルストリームを含むタイトルの再生とアプリケーションの実行とを同時に実行させる再生方法であって、 A playback method for executing a title playback and application execution at the same time including a digital stream,
    複数タイトル間の分岐を制御するタイトル制御ステップと、 A title control step for controlling branching between the plurality titles,
    1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、 A reproduction control step of reproducing a digital stream attributable to one title,
    タイトルの分岐が発生する度に、分岐先タイトルを生存区間としたアプリケーションを構成するファイルリストと 前記ファイルリストに記載されたファイルリストへの署名とを読み込み前記署名の妥当性を確認する署名確認ステップと、 Each time a branch of the title occurs, signature confirmation step of confirming the validity of the signature and reads the signature of the file list that is described in the file list to configure the application in which the branch destination Title and life cycle to the file list When,
    前記アプリケーションを構成するファイルを読み込む際にファイルのハッシュ値を計算し前記ファイルリストに記載された当該ファイルのハッシュ値と一致するときのみファイルを読み込むファイル読込ステップと、 A file reading step of reading files only when matching the hash value of the files listed in the file list to calculate the hash value of the file when reading a file constituting the application,
    を含むことを特徴とする再生方法。 Reproducing method which comprises a.
  10. 前記アプリケーションを実行する際に、前記ファイルリストに記載された実行権限情報のハッシュ値を計算し前記ファイルリストに記載された実行権限情報のハッシュ値と一致するときのみ前記実行権限情報に記載された実行権限でアプリケーションを実行する実行権限管理ステップをさらに含む請求項9記載の再生方法。 When executing the application, which is described in the execution authority information only when matches the hash value of the calculated hash value of the execution permission information described in the file list execution authority information described in the file list the method of regeneration according to claim 9, wherein the execution further comprises a rights management step of executing an application in execution privilege.



JP2005096148A 2005-03-29 2005-03-29 Information recording medium, and reproduction device and reproduction method therefor Pending JP2006277389A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005096148A JP2006277389A (en) 2005-03-29 2005-03-29 Information recording medium, and reproduction device and reproduction method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005096148A JP2006277389A (en) 2005-03-29 2005-03-29 Information recording medium, and reproduction device and reproduction method therefor

Publications (1)

Publication Number Publication Date
JP2006277389A true true JP2006277389A (en) 2006-10-12

Family

ID=37212079

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005096148A Pending JP2006277389A (en) 2005-03-29 2005-03-29 Information recording medium, and reproduction device and reproduction method therefor

Country Status (1)

Country Link
JP (1) JP2006277389A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102565A1 (en) * 2007-02-23 2008-08-28 Panasonic Corporation Copyright protection data processing system and reproduction device
WO2008102566A1 (en) * 2007-02-23 2008-08-28 Panasonic Corporation Copyright protection data processing system and reproduction device
JP2010250916A (en) * 2009-04-20 2010-11-04 Fujitsu Ten Ltd Electronic apparatus
EP2254117A1 (en) * 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
US8717857B2 (en) 2009-05-20 2014-05-06 Sony Dadc Austria Ag Method for copy protection
US9263085B2 (en) 2009-05-20 2016-02-16 Sony Dadc Austria Ag Method for copy protection

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008102565A1 (en) * 2007-02-23 2008-08-28 Panasonic Corporation Copyright protection data processing system and reproduction device
WO2008102566A1 (en) * 2007-02-23 2008-08-28 Panasonic Corporation Copyright protection data processing system and reproduction device
JP2009176291A (en) * 2007-02-23 2009-08-06 Panasonic Corp Content provider terminal device, authentication station terminal device, content providing method, and program authentication method
US8984658B2 (en) 2007-02-23 2015-03-17 Panasonic Intellectual Property Management Co., Ltd. Copyright protection data processing system and reproduction device
CN101617324B (en) 2007-02-23 2012-02-22 松下电器产业株式会社 Copyright protection data processing system and a playback device
US8171566B2 (en) 2007-02-23 2012-05-01 Panasonic Corporation Copyright protection data processing system and reproduction device
US8250664B2 (en) 2007-02-23 2012-08-21 Panasonic Corporation Copyright protection data processing system and reproduction device
JP2010250916A (en) * 2009-04-20 2010-11-04 Fujitsu Ten Ltd Electronic apparatus
EP2254117A1 (en) * 2009-05-20 2010-11-24 Sony DADC Austria AG Method for copy protection
US8717857B2 (en) 2009-05-20 2014-05-06 Sony Dadc Austria Ag Method for copy protection
US9013970B2 (en) 2009-05-20 2015-04-21 Sony Dadc Austria Ag Method for copy protection
US9263085B2 (en) 2009-05-20 2016-02-16 Sony Dadc Austria Ag Method for copy protection

Similar Documents

Publication Publication Date Title
US20060098936A1 (en) Reproduction device, optical disc, recording medium, program, and reproduction method
US20090016203A1 (en) Information recording medium, and data reproduction device
US20060182418A1 (en) Information storage medium, information recording method, and information playback method
US20060165388A1 (en) Apparatus and computer-readable program for program for generating volume image
US20070286575A1 (en) Playback Apparatus And Playback Method
US20070274180A1 (en) Information Providing System, Reproduction Device and Method, Information Providing Device and Method, Recording Medium, and Program
US20040190405A1 (en) Information playback apparatus and information playback method
US20110305435A1 (en) Playback device, recording medium, playback method and program
US20110032327A1 (en) Playback device, integrated circuit, recording medium
US20040179822A1 (en) Information storage medium, information playback apparatus, and information playback method
JP2010033628A (en) Simple resume reproduction device and simple resume reproduction method
US20100046611A1 (en) Image encoding device, and image decoding device
US20040240360A1 (en) Recording medium having data structure for managing main data additional content data thereof and recording and reproducing methods and apparatuses
US20040223741A1 (en) Recording medium having data structure for managing video data and additional content data thereof and recording and reproducing methods and apparatuses
US20070025696A1 (en) Recording medium, method and apparatus for reproducing data, and method and apparatus for recording data
US20110164121A1 (en) Playback device, integrated circuit, recording medium
US20100138933A1 (en) Data management device, stored data management method and computer program
US20100284667A1 (en) Information recording medium, recording device, and recording method
US20090010614A1 (en) Information Storage Medium, Ts Packet Judgement Apparatus, and Data Reproduction Apparatus
JP2005332521A (en) Information recording medium and information reproducing device
WO2010038455A1 (en) Reproduction device
US20070041279A1 (en) Method and apparatus for reproducing data, recording medium, and method and apparatus for recording data
WO2007058025A1 (en) Reproducing device and program
JP2004079055A (en) Optical disk device, optical disk processing method, and optical disk
JP2008507795A (en) Reproducing apparatus for the application in conjunction Play