JP2007018365A - Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing - Google Patents

Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing Download PDF

Info

Publication number
JP2007018365A
JP2007018365A JP2005200519A JP2005200519A JP2007018365A JP 2007018365 A JP2007018365 A JP 2007018365A JP 2005200519 A JP2005200519 A JP 2005200519A JP 2005200519 A JP2005200519 A JP 2005200519A JP 2007018365 A JP2007018365 A JP 2007018365A
Authority
JP
Japan
Prior art keywords
file
application
file list
signature
application server
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
JP2005200519A
Other languages
Japanese (ja)
Inventor
Shigeki Matsunaga
繁樹 松永
Ryuichiro Takamatsu
隆一郎 高松
Junichi Hirai
純一 平位
Takahiro Yamaguchi
高弘 山口
Takashi Kagiyama
隆司 鍵山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2005200519A priority Critical patent/JP2007018365A/en
Publication of JP2007018365A publication Critical patent/JP2007018365A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a structure which verifies easily that an application has not been forged/altered by a malicious third party, when documents transition to HTML file on a content server over the Internet has occurred, in introducing the regeneration management environment by the application newly described in HTML and script by BD-ROM for image data. <P>SOLUTION: A filename which constitutes an application on the content server, each file which carries hash value description are arranged on the content server. By having a BD player acquire this file, in advance, and verify it with a means, such as a signature, when the transition to the application on this contents server occurs, it can verify it easily, for a short period of time, based on the filename and the hash value which are indicated by the above file in the validity of the configuration file of application. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、BD−ROM等、映像データを記録した情報記録媒体、その再生装置及び再生方法に関し、特に、映像データとプログラムとを含むコンテンツの開発にプログラミング環境を導入する場合の改良に関する。   The present invention relates to an information recording medium on which video data is recorded, such as a BD-ROM, and a playback apparatus and playback method thereof, and more particularly to an improvement in the case of introducing a programming environment to the development of content including video data and a program.

映像データを記録した情報記録媒体の代表格は、DVD(以下、SD−DVDまたは単にDVDと称する)である。以降、従来のDVDについて説明する。   A typical information recording medium on which video data is recorded is a DVD (hereinafter referred to as SD-DVD or simply DVD). Hereinafter, a conventional DVD will be described.

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

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

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

VIDEO_TS.IFO ディスク再生制御情報ファイル
VTS_01_0.IFO ビデオタイトルセット#1再生制御情報ファイル
VTS_01_0.VOB ビデオタイトルセット#1ストリームファイル
.....
VIDEO_TS. IFO disc playback control information file VTS_01_0. IFO video title set # 1 playback control information file VTS_01_0. VOB video title set # 1 stream file. . . . .

拡張子として2つの種類が存在する。「IFO」は再生制御情報が記録されたファイルであって、「VOB」はAVデータであるMPEGストリームが記録されたファイルである。再生制御情報とは、DVDで採用されたインタラクティビティ(ユーザの操作に応じて再生を動的に変化させる技術)を実現するための情報や、メタデータのようなタイトルやAVストリームに付属する情報などのことである。また、DVDでは一般的に再生制御情報のことをナビゲーション情報と呼ぶことがある。   There are two types of extensions. “IFO” is a file in which reproduction control information is recorded, and “VOB” is a file in which an MPEG stream that is AV data is recorded. The playback control information is information for realizing interactivity (technology for dynamically changing playback in accordance with user operations) adopted by DVD, information attached to titles and AV streams such as metadata. And so on. In DVD, generally, reproduction control information is sometimes referred to as navigation information.

再生制御情報ファイルは、ディスク全体を管理する「VIDEO_TS.IFO」と、個々のビデオタイトルセット(DVDでは複数のタイトル、言い換えれば異なる映画や異なるバージョンの映画を1枚のディスクに記録することが可能である。)毎の再生制御情報である「VTS_01_0.IFO」がある。ここで、ファイル名ボディにある「01」はビデオタイトルセットの番号を示しており、例えば、ビデオタイトルセット#2の場合は、「VTS_02_0.IFO」となる。   The playback control information file includes “VIDEO_TS.IFO” for managing the entire disc and individual video title sets (multiple titles for DVD, in other words, different movies and different versions of movies can be recorded on one disc. There is “VTS — 01 — 0.IFO” which is reproduction control information for each. Here, “01” in the file name body indicates the number of the video title set. For example, in the case of the video title set # 2, “VTS — 02 — 0.IFO”.

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

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

コマンドは、DVDの仮想マシンによって処理されるものであり、ブラウザ上で実行されるJava(登録商標)スクリプトなどに近いものである。しかしながらJava(登録商標)スクリプトが論理演算の他にウィンドウやブラウザの制御(例えば、新しいブラウザのウィンドを開くなど)を行うのに対して、DVDのコマンドは、論理演算の他にAVタイトルの再生制御、例えば、再生するチャプタの指定などを実行するだけのものである点で異なっている。   The command is processed by a DVD virtual machine and is similar to a Java (registered trademark) script executed on a browser. However, while Java (registered trademark) scripts control windows and browsers in addition to logical operations (for example, opening a new browser window), DVD commands play AV titles in addition to logical operations. It is different in that it only performs control, for example, specifying a chapter to be played back.

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

図1はAVストリーム中に埋め込まれているナビゲーション情報を説明する概略図である。SD−DVDの特長であるインタラクティビティは前述した「VIDEO_TS.IFO」や「VTS_01_0.IFO」などに記録されているナビゲーション情報だけによって実現されているのではなく、幾つかの重要な情報はナビゲーション・パック(ナビパックまたは、NV_PCKと称する)と呼ばれる専用キャリアを使いVOB内に映像、音声データと一緒に多重化されている。   FIG. 1 is a schematic diagram for explaining navigation information embedded in an AV stream. The interactivity, which is the feature of SD-DVD, is not realized only by the navigation information recorded in the aforementioned “VIDEO_TS.IFO”, “VTS — 01 — 0.IFO”, etc. It is multiplexed together with video and audio data in a VOB using a dedicated carrier called a pack (called Navi pack or NV_PCK).

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

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

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

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

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

MPEGシステムの多重化の特徴は、多重化する個々のデータは、そのデコード順に基づくビット列になっているが、多重化されるデータ間、即ち、映像、音声、字幕の間は必ずしも再生順、言い換えればデコード順に基づいてビット列が形成されているわけではない。これはMPEGシステムストリームのデコーダモデル(一般にSystem Target Decoder、またはSTDと呼ばれる(図3のD段))が多重化を解いた後に個々のエレメンタリーストリームに対応するデコーダバッファを持ち、デコードタイミングまでに一時的にデータを蓄積している事に由来している。このデコーダバッファは、個々のエレメンタリーストリーム毎にサイズが異なり、映像に対しては、232kB、音声に対しては4kB、字幕に対しては52kBを夫々有している。このため、各デコーダバッファへのデータ入力タイミングは個々のエレメンタリストリームで異なるため、MPEGシステムストリームとしてビット列を形成する順番と表示(デコード)されるタイミングにずれが生じている。   The multiplexing feature of the MPEG system is that each data to be multiplexed is a bit string based on the decoding order, but between the multiplexed data, that is, between video, audio and subtitles, it is not necessarily the playback order, in other words For example, the bit string is not formed based on the decoding order. This is because the MPEG system stream decoder model (generally called System Target Decoder or STD (D stage in FIG. 3)) has a decoder buffer corresponding to each elementary stream after demultiplexing, and by the decoding timing It comes from temporarily accumulating data. This decoder buffer has a different size for each elementary stream, and has 232 kB for video, 4 kB for audio, and 52 kB for subtitles. For this reason, since the data input timing to each decoder buffer is different for each elementary stream, there is a difference between the order in which the bit string is formed as the MPEG system stream and the display (decoding) timing.

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

かかるDVDの構成は、以下の特許文献1に記載されている。
特許第2813245号
The configuration of such a DVD is described in Patent Document 1 below.
Patent No. 2813245

ところで次世代の情報記録媒体であるBD−ROMは、上述したようなプログラム(ナビゲーションコマンド)ではなく、XMLのような宣言型言語で記述されたデータとスクリプトによるプログラムを含むアプリケーションの記録が予定されている。さらにBDプレーヤではネットワーク接続機能を備え、前記アプリケーションからインターネット上のコンテンツサーバに配置されたアプリケーションに遷移し実行可能である。   By the way, the BD-ROM, which is a next-generation information recording medium, is scheduled to record applications including data written in a declarative language such as XML and a script program instead of the above-described program (navigation command). ing. Further, the BD player has a network connection function, and can execute by changing from the application to an application arranged in a content server on the Internet.

このためインターネット上のコンテンツサーバに配置されたアプリケーションを実行する際に、ネットワーク上を流れるアプリケーションが改竄されたりコンテンツサーバが詐称されユーザが悪意のあるアプリケーションをダウンロードし実行してしまう可能性がある。このような悪意のある第三者によって偽造または改竄されたプログラムをプレーヤで実行した場合、プレーヤのシステムが破壊されたり、正規の情報記録媒体に記録された保護すべき映像データが盗まれたり改竄されたりするなどの深刻な問題が発生する。   For this reason, when executing an application arranged on a content server on the Internet, there is a possibility that an application flowing on the network is falsified or the content server is misrepresented and a user downloads and executes a malicious application. When such a program forged or altered by a malicious third party is executed in the player, the player system is destroyed, or video data to be protected recorded on a legitimate information recording medium is stolen or altered. Serious problems occur.

しかしながら既存の技術ではBD−ROM Disc上のアプリケーションと同様にインターネット上のコンテンツサーバに配置されたHTML およびスクリプトによるアプリケーションを認証する仕組みがなかった。   However, in the existing technology, there is no mechanism for authenticating an application using HTML and a script arranged in a content server on the Internet, like an application on a BD-ROM disc.

上記課題を解決するため本発明におけるアプリケーション認証方法では、コンテンツサーバ上にコンテンツサーバに配置されたアプリケーションを構成するファイル名とそれぞれのハッシュ値記載したファイル(Network Resource List File)が配置され、本発明における情報記録媒体を読み込み実行するBDプレーヤが事前に当該Network Resource List Fileを取得し署名やHTTPS等の手段で検証しておく。これにより、当該コンテンツサーバ上のアプリケーションへの遷移が発生した場合、BDプレーヤはダウンロードするアプリケーション構成ファイルのファイル名とそのハッシュ値が、前記Network Resource List Fileに記載されたものと等しいことを確認する。   In order to solve the above-described problem, in the application authentication method according to the present invention, a file (Network Resource List File) in which a file name constituting each application arranged in the content server and each hash value is described is arranged on the content server. The BD player that reads and executes the information recording medium in advance acquires the Network Resource List File in advance and verifies it by means such as signature or HTTPS. As a result, when a transition to the application on the content server occurs, the BD player confirms that the file name of the application configuration file to be downloaded and its hash value are the same as those described in the Network Resource List File. .

上述した構成により、コンテンツサーバに配置されたアプリケーションを実行する際に、当該アプリケーションが、正規のスタジオが作成したアプリケーションであるのか、それ以外のアプリケーション、例えば悪意のある第三者がアプリケーションを偽造または改竄したアプリケーションであるのかを容易にかつ短期間に判別可能である。   With the configuration described above, when an application placed on the content server is executed, the application is an application created by a legitimate studio, or other application, for example, a malicious third party forges the application. Whether it is a falsified application can be easily and quickly determined.

これによりインターネット上のコンテンツサーバに配置されたアプリケーションに関して、正規のStudioで作成され改竄されていないアプリケーション以外は、深刻な問題を起こしかねないとして実行を拒否したり、利用できる機能やアクセスできるリソースを制限することが可能となる。   As a result, regarding applications deployed on content servers on the Internet, applications other than those created by legitimate Studios that have not been tampered with may be considered to cause serious problems, and functions that can be used and resources that can be accessed will be denied. It becomes possible to restrict.

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

(ディスク上の論理データ構造)
図4は、BD−ROM(以降、「BD」と称する場合もある)の構成、特にディスク媒体であるBDディスク(104)と、ディスクに記録されているデータ(101、102、103)の構成を示す図である。BDディスク(104)に記録されるデータは、AVデータ(103)と、AVデータに関する管理情報及びAV再生シーケンスなどのBD管理情報(102)と、インタラクティブを実現するBD再生プログラム(101)である。本実施の形態では、映画などのAVコンテンツを再生するためのAVアプリケーションを主眼においてのBDディスクの説明を行うが、BDディスクをCD−ROMやDVD−ROMの様にコンピュータ用途の記録媒体としてしようすることも当然のことながら可能である。 図5は、上述したBDディスクに記録されている論理データを示した図である。BDディスクは、他の光ディスク、例えばDVDやCDなどと同様にその内周から外周に向けてらせん状に記録領域を持ち、内周のリード・インと外周のリード・アウトの間に論理データを記録できる論理アドレス空間を有している。また、リード・インの内側にはBCA(Burst Cutting Area)と呼ばれるドライブでしか読み出せない特別な領域がある。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
(Logical data structure on disk)
FIG. 4 shows the structure of a BD-ROM (hereinafter also referred to as “BD”), in particular, the structure of a BD disk (104) as a disk medium and data (101, 102, 103) recorded on the disk. FIG. Data recorded on the BD disc (104) is AV data (103), BD management information (102) such as management information related to AV data and an AV playback sequence, and a BD playback program (101) that realizes interactive processing. . In the present embodiment, a BD disc will be described mainly with respect to an AV application for reproducing AV contents such as movies, but the BD disc will be used as a recording medium for computers such as a CD-ROM and a DVD-ROM. Of course, it is also possible. FIG. 5 is a diagram showing logical data recorded on the BD disc described above. A BD disc has a spiral recording area from the inner circumference to the outer circumference like other optical discs such as DVDs and CDs, and logical data is transferred between the inner lead-in and outer lead-out. It has a logical address space that can be recorded. Further, inside the lead-in, there is a special area that can be read only by a drive called BCA (Burst Cutting Area). Since this area cannot be read from an application, it is often used for copyright protection technology, for example.

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

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

BDVIDEOディレクトリの下には、次の7種類のファイルが記録されている。   The following seven types of files are recorded under the BDVIDEO directory.

BD.INFO(ファイル名固定)
「BD管理情報」の一つであり、BDディスク全体に関する情報を記録したファイルである。BDプレーヤは最初にこのファイルを読み出す。
BD. INFO (fixed file name)
This is one of “BD management information” and is a file in which information related to the entire BD disc is recorded. The BD player first reads this file.

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

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

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

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

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

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

(プレーヤの構成)
次に、前述したBDディスクを再生するプレーヤの構成について図6及び図7を用いて説明する。
(Player configuration)
Next, the configuration of the player that plays the above-described BD disc will be described with reference to FIGS. 6 and 7. FIG.

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

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

プログラム処理部(206)は、管理情報処理部(207)より再生するプレイリストの情報やプログラムの実行タイミングなどのイベント情報を受け取りプログラムの処理を行う。また、プログラムでは再生するプレイリストを動的に変える事が可能であり、この場合は管理情報処理部(207)に対してプレイリストの再生命令を送ることで実現する。プログラム処理部(206)は、ユーザからのイベント、即ちリモコンキーからのリクエストを受け、ユーザイベントに対応するプログラムがある場合は、実行処理する。   The program processing unit (206) receives event information such as playlist information to be played back and program execution timing from the management information processing unit (207), and processes the program. Also, the program can dynamically change the play list to be played back. In this case, the play list play command is sent to the management information processing unit (207). The program processing unit (206) receives an event from the user, that is, a request from the remote control key, and executes an execution process when there is a program corresponding to the user event.

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

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

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

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

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

イメージメモリ(308)に記録されたPNGは、次の2つの処理方法がある。イメージデータが字幕用の場合は、プレゼンテーションコントローラ(306)によってデコードタイミングが指示される。クロック(307)からの時刻情報をシナリオプロセッサ(305)が一旦受け、適切な字幕表示が行えるように、字幕表示時刻(開始及び終了)になればプレゼンテーションコントローラ(306)に対して字幕の表示、非表示の指示を出す。プレゼンテーションコントローラ(306)からデコード/表示の指示を受けたイメージプロセッサ(311)は対応するPNGデータをイメージメモリ(308)から抜き出し、デコードし、イメージプレーン(314)に描画する。   The PNG recorded in the image memory (308) has the following two processing methods. If the image data is for subtitles, the presentation controller (306) instructs the decoding timing. In order for the scenario processor (305) to receive the time information from the clock (307) once and display the appropriate subtitles, the subtitles are displayed to the presentation controller (306) at the subtitle display time (start and end). Give hidden instructions. The image processor (311) that has received the decode / display instruction from the presentation controller (306) extracts the corresponding PNG data from the image memory (308), decodes it, and draws it on the image plane (314).

次に、イメージデータがメニュー用の場合は、プログラムプロセッサ(302)によってデコードタイミングが指示される。プログラムプロセッサ(302)が何時イメージのデコードを指示するかは、プログラムプロセッサ(302)が処理しているBDプログラムに因るものであって一概には決まらない。   Next, when the image data is for a menu, the program processor (302) instructs the decoding timing. The time when the program processor (302) instructs to decode the image depends on the BD program being processed by the program processor (302), and is not generally determined.

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

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

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

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

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

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

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

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

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

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

ユーザイベントは、ユーザのリモコンキー操作によって生成されるイベントである。ユーザイベントは大きく2つのタイプに分けられる。一つ目は、カーソルキー(「上」「下」「左」「右」キー)または「決定」キーの操作によって生成されるメニュー選択のイベントである。メニュー選択のイベントに対応するイベントハンドラはプレイリスト内の限られた期間でのみ有効であり(プレイリストの情報として、個々のイベントハンドラの有効期間が設定されている)、リモコンの「上」「下」「左」「右」キーまたは「決定」キーが押された時に有効なイベントハンドラを検索して、有効なイベントハンドラがある場合は当該イベントハンドラが実行処理される。他の場合は、メニュー選択のイベントは無視されることになる。   A user event is an event generated by a user's remote control key operation. User events are roughly divided into two types. The first is a menu selection event generated by operating a cursor key ("Up", "Down", "Left", "Right" key) or a "Determination" key. The event handler corresponding to the event selected from the menu is valid only for a limited period in the playlist (the validity period of each event handler is set as playlist information). A valid event handler is searched when the “down”, “left”, “right” key, or “decision” key is pressed. If there is a valid event handler, the event handler is executed. In other cases, menu selection events will be ignored.

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

プレイリストで静的シナリオを構成する単位であるセル(Cell)はVOB(MPEGストリーム)の全部または一部の再生区間を参照したものである。セルはVOB内の再生区間を開始、終了時刻の情報として持っている。個々のVOBと一対になっているVOB管理情報(VOBI)は、その内部にタイムマップ(Time MapまたはTM)を有しており、このタイムマップによって前述したVOBの再生、終了時刻をVOB内(即ち対象となるファイル「YYY.VOB」内)での読み出し開始アドレス及び終了アドレスを導き出すことが可能である。なおタイムマップの詳細は後述する。   A cell (Cell), which is a unit constituting a static scenario in a playlist, refers to all or part of a playback section of a VOB (MPEG stream). The cell has a playback section in the VOB as start and end time information. The VOB management information (VOBI) paired with each VOB has a time map (Time Map or TM) inside, and the playback and end times of the VOB described above are indicated in the VOB ( That is, it is possible to derive the read start address and end address in the target file “YYY.VOB”). Details of the time map will be described later.

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

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

図10は、パックの構成を示した図である。
図10に示すように、ビデオデータ及びオーディオデータといったエレメンタリデータは、ペイロードと呼ばれるパケットのデータ格納領域に先頭から順次入れられていく。ペイロードにはパケットヘッダが付けられ1つのパケットを構成する。パケットヘッダには、ペイロードに格納してあるデータがどのストリームなのか、ビデオなのかオーディオなのか、また、ビデオまたはオーディオが夫々複数ストリームある場合は、どのストリームのデータなのかを識別するためのID(stream_id)と、当該ペイロードのデコード及び表示時刻情報であるタイムスタンプDTS及びPTSが夫々記録されている。PTS/DTSは必ずしも全てのパケットヘッダに記録されている訳ではなく、MPEGによって記録するルールが規定されている。ルールの詳細についてはMPEGシステム(ISO/IEC13818−1)規格書に記述されているので省略する。
FIG. 10 is a diagram showing the configuration of the pack.
As shown in FIG. 10, elementary data such as video data and audio data are sequentially entered from the head into a data storage area of a packet called a payload. A packet header is attached to the payload to form one packet. In the packet header, an ID for identifying which stream, video, or audio the data stored in the payload is, and if there are multiple streams of video or audio, which stream is the data (Stream_id) and time stamps DTS and PTS which are decoding time and display time information of the payload are recorded. PTS / DTS is not necessarily recorded in all packet headers, but rules for recording in MPEG are defined. Details of the rules are described in the MPEG system (ISO / IEC13818-1) standard, and therefore will be omitted.

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

(VOBのインターリーブ記録)
次に図11及び図12を用いてVOBファイルのインターリーブ記録について説明する。
(VOB interleaved recording)
Next, interleaved recording of a VOB file will be described with reference to FIGS.

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

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

図11下段は、BDディスク上でのVOBファイル及びPNGファイルのインターリーブ記録を示す図である。一般的にROM、例えばCD−ROMやDVD−ROMの場合、一連の連続再生単位となるAVデータは連続記録されている。これは、連続記録されている限り、ドライブは順次データを読み出しプレーヤ側に送り届けるだけで良いが、連続データが分断されてディスク上に離散配置されている場合は、個々の連続区間の間でシーク操作が入ることになり、この間データの読み出しが止まることになり、データの供給が止まる可能性があるからである。BD−ROMの場合も同様に、VOBファイルは連続領域に記録することができる方が望ましいが、例えば字幕データのようにVOBに記録されている映像データと同期して再生されるデータがあり、VOBファイルと同様に字幕データも何らかの方法によってBDディスクから読み出す事が必要になる。   The lower part of FIG. 11 is a diagram showing interleaved recording of a VOB file and a PNG file on a BD disc. In general, in the case of a ROM such as a CD-ROM or a DVD-ROM, AV data serving as a series of continuous reproduction units is continuously recorded. As long as continuous recording is performed, the drive only needs to read the data sequentially and send it to the player side. However, if the continuous data is divided and discretely arranged on the disc, seek is performed between individual continuous sections. This is because an operation is entered, and during this time, reading of data is stopped, and supply of data may be stopped. Similarly, in the case of a BD-ROM, it is desirable that the VOB file can be recorded in a continuous area. However, there is data that is reproduced in synchronization with video data recorded in the VOB, such as subtitle data. Similar to the VOB file, it is necessary to read the caption data from the BD disc by some method.

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

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

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

既に説明したように、VOBのデータは、一旦トラックバッファに蓄積される。トラックバッファへのデータ入力レートとトラックバッファからのデータ出力レートの間に差を設けると、BDディスクからデータを読み出し続けている限り、トラックバッファのデータ蓄積量は増加をしていくことになる。ここでトラックバッファへの入力レートをVa、トラックバッファからの出力レートをVbとする。図12の上段に記すようにVOBの一連続記録領域が論理アドレスの”a1”から”a2”まで続くとする。”a2”から”a3”の間は、イメージデータが記録されていて、VOBデータの読み出しが行えない区間であるとする。   As described above, VOB data is temporarily stored in the track buffer. If a difference is provided between the data input rate to the track buffer and the data output rate from the track buffer, as long as data is continuously read from the BD disc, the data storage amount of the track buffer increases. Here, the input rate to the track buffer is Va, and the output rate from the track buffer is Vb. As shown in the upper part of FIG. 12, it is assumed that a continuous recording area of VOB continues from “a1” to “a2” of logical addresses. It is assumed that between “a2” and “a3” is an interval in which image data is recorded and VOB data cannot be read.

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

この後、BDディスク上のアドレス”a3”まではイメージデータが続くため、トラックバッファへの入力は0となり、出力レートである”−Vb”でトラックバッファ内のデータ量は減少していくことになる。これは読み出し位置”a3”まで、時刻でいう”t3”までになる。   After this, since the image data continues until the address “a3” on the BD disc, the input to the track buffer becomes 0, and the data amount in the track buffer decreases at the output rate “−Vb”. Become. This is up to the read position “a3” and “t3” in time.

ここで大事なことは、時刻”t3”より前にトラックバッファに蓄積されているデータ量が0になると、デコーダへ供給するVOBのデータが無くなってしまい、VOBの再生がストップしてしまう可能性がある。しかしながら、時刻”t3”でトラックバッファにデータが残っている場合には、VOBの再生がストップすることなく連続できることを意味している。   What is important here is that if the amount of data stored in the track buffer before time “t3” becomes zero, there is no VOB data to be supplied to the decoder, and there is a possibility that VOB reproduction stops. There is. However, if data remains in the track buffer at time “t3”, this means that VOB playback can be continued without stopping.

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

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

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

下記はビデオ属性(Video)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
MPEG1
MPEG2
MPEG4
解像度(Resolution):
1920x1080
1280x720
720x480
720x565
アスペクト比(Aspect)
4:3
16:9
フレームレート(Framerate)
60
59.94
50
30
29.97
25
24
The following are the fields that the video attribute (Video) has and the values that each can have.
Compression method (Coding):
MPEG1
MPEG2
MPEG4
Resolution:
1920x1080
1280x720
720x480
720x565
Aspect ratio (Aspect)
4: 3
16: 9
Frame rate
60
59.94
50
30
29.97
25
24

下記はオーディオ属性(Audio)の持つフィールドと夫々が持ち得る値である。
圧縮方式(Coding):
AC3
MPEG1
MPEG2
LPCM
チャンネル数(Ch):
1〜8
言語属性(Language):
The following are the fields that the audio attribute (Audio) has and the values that each can have.
Compression method (Coding):
AC3
MPEG1
MPEG2
LPCM
Number of channels (Ch):
1-8
Language attribute:

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

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

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

図15を使って、タイムマップ(TMAP)の使い方を説明する。
図15に示すように時刻情報が与えられた場合、先ずは当該時刻がどのVOBUに属するのかを検索する。これは、タイム亜マップのVOBU毎のフレーム数を加算して行き、フレーム数の和が当該時刻を(フレーム数に換算して)超えるまたは一致するVOBUが当該VOBUになる。次にタイムマップのVOBU毎のサイズを当該VOBUの直前のVOBUまで加算して行き、その値が与えられた時刻を含むフレームを再生するために読み出すべきパックの先頭アドレスになっている。
The usage of the time map (TMAP) will be described with reference to FIG.
When time information is given as shown in FIG. 15, first, a search is performed as to which VOBU the time belongs to. This is done by adding the number of frames for each VOBU of the time submap, and the VOBU whose sum of frames exceeds or coincides with the time (converted to the number of frames) becomes the VOBU. Next, the size for each VOBU of the time map is added to the VOBU immediately before the VOBU, and the value is the leading address of the pack to be read in order to reproduce the frame including the given time.

次に図16を使って、プレイリスト情報(”XXX.PL”)の内部構造を説明する。
プレイリスト情報は、セルリスト(CellList)とイベントリスト(EventList)から構成されている。
Next, the internal structure of the playlist information (“XXX.PL”) will be described with reference to FIG.
The playlist information includes a cell list (CellList) and an event list (EventList).

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

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

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

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

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

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

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

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

BDディスク全体情報は、タイトルリスト(TitleList)とグローバルイベント用のイベントテーブル(EventTable)から構成されている。   The entire BD disc information includes a title list (TitleList) and an event table for global events (EventTable).

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

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

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

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

(イベント発生のメカニズム)
図20から図22を使ってイベント発生のメカニズムについて説明する。
(Event generation mechanism)
The event generation mechanism will be described with reference to FIGS.

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

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

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

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

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

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

本実施例では、単に”メニュー”キーと呼んでいるが、DVDのように複数のメニューキーがあってもよい。各メニューキーに対応するIDを夫々定義することで対応することが可能である。   In this embodiment, it is simply called a “menu” key, but there may be a plurality of menu keys as in a DVD. It is possible to cope by defining IDs corresponding to the respective menu keys.

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

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

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

リンク関数:現在の再生を停止し、指定するプレイリスト、セル、時刻からの再生を開始する
Link(PL#,Cell#,time)
PL# : プレイリスト名
Cell# : セル番号
time : セル内での再生開始時刻
PNG描画関数:指定PNGデータをイメージプレーンに描画する
Draw(File,X,Y)
File : PNGファイル名
X : X座標位置
Y : Y座標位置
イメージプレーンクリア関数:イメージプレーンの指定領域をクリアする
Clear(X,Y,W,H)
X : X座標位置
Y : Y座標位置
W : X方向幅
H : Y方向幅
Link function: Stops the current playback and starts playback from the specified playlist, cell, and time Link (PL #, Cell #, time)
PL #: Playlist name Cell #: Cell number time: Playback start time in the cell PNG drawing function: Draws specified PNG data on the image plane Draw (File, X, Y)
File: PNG file name X: X coordinate position Y: Y coordinate position Image plane clear function: Clear specified area of image plane Clear (X, Y, W, H)
X: X coordinate position Y: Y coordinate position W: X direction width H: Y direction width

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

図24はシステムパラメータ(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(15) : プレーヤ設定値(オーディオ)
SPRM(16) : 音声ストリーム用言語コード
SPRM(17) : 音声ストリーム用言語コード(拡張)
SPRM(18) : 字幕ストリーム用言語コード
SPRM(19) : 字幕ストリーム用言語コード(拡張)
SPRM(20) : プレーヤリージョンコード
SPRM(21) : 予備
SPRM(22) : 予備
SPRM(23) : 再生状態
SPRM(24) : 予備
SPRM(25) : 予備
SPRM(26) : 予備
SPRM(27) : 予備
SPRM(28) : 予備
SPRM(29) : 予備
SPRM(30) : 予備
SPRM(31) : 予備
FIG. 24 is a list of system parameters (SPRM).
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): Selection key information SPRM (9): Navigation timer SPRM (10): Playback time information SPRM (11): Karaoke mixing mode SPRM (12): Parental country information SPRM (13): Parental level SPRM (14): Player set value (video)
SPRM (15): Player setting value (audio)
SPRM (16): Audio stream language code SPRM (17): Audio stream language code (extended)
SPRM (18): Language code for subtitle stream SPRM (19): Language code for subtitle stream (extended)
SPRM (20): Player region code SPRM (21): Reserve SPRM (22): Reserve SPRM (23): Playback state SPRM (24): Reserve SPRM (25): Reserve SPRM (26): Reserve SPRM (27): Spare SPRM (28): Spare SPRM (29): Spare SPRM (30): Spare SPRM (31): Spare

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

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

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

次に、PNGの描画を描画関数であるDrawを使ってボタン1、ボタン2夫々について行っている。ボタン1は、座標(10、200)を起点(左端)としてPNGイメージ”1black.png”を描画している。ボタン2は、座標(330,200)を起点(左端)としてPNGイメージ”2white.png”を描画している。   Next, PNG drawing is performed for each of the buttons 1 and 2 by using a drawing function Draw. The button 1 draws the PNG image “1black.png” with the coordinates (10, 200) as the starting point (left end). The button 2 draws a PNG image “2white.png” with the coordinates (330, 200) as a starting point (left end).

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

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

条件1)ボタン1が選択されている、かつ、選択キーが「右」キーの場合
GPRM(0)を2に再設定して、選択状態にあるボタンを右ボタン2に変更する。
ボタン1、ボタン2のイメージを夫々書き換える。
条件2)選択キーが「決定(OK)」の場合で、ボタン1が選択されている場合、プレ
イリスト#2の再生を開始する
条件3)選択キーが「決定(OK)」の場合で、ボタン2が選択されている場合、プレイリスト#3の再生を開始する
上記のようにして実行処理が行われる。
Condition 1) When button 1 is selected and the selection key is the “right” key GPRM (0) is reset to 2, and the button in the selected state is changed to right button 2.
Rewrite the images of Button 1 and Button 2, respectively.
Condition 2) When the selection key is “OK” and button 1 is selected, playback of playlist # 2 is started. Condition 3) When the selection key is “OK”. When button 2 is selected, playback of playlist # 3 is started. Execution processing is performed as described above.

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

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

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

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

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

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

AV再生の開始(S401)を開始すると、プレゼンテーションコントローラは再生するセルに対応するVOBの情報ファイル(XXX.VOBI)を読み込み及び解析をする(S402)。プレゼンテーションコントローラは、タイムマップを使って再生開始するVOBUとそのアドレスを特定し、ドライブコントローラに読み出しアドレスを指示し、ドライブコントローラは対象となるVOBデータを読み出し(S403)、VOBデータがデコーダに送られ再生が開始される(S404)。VOB再生は、当該VOBの再生区間が終了するまで続けられ(S405)、終了すると次のセル再生S304へ移行する。次にセルが無い場合は、再生が停止する(S406)。   When the start of AV playback (S401) is started, the presentation controller reads and analyzes the VOB information file (XXX.VOBI) corresponding to the cell to be played back (S402). The presentation controller uses the time map to specify the VOBU to start playback and its address, and instructs the drive controller to specify the read address. The drive controller reads the target VOB data (S403), and the VOB data is sent to the decoder. Playback is started (S404). The VOB playback is continued until the playback section of the VOB ends (S405), and when it ends, the process proceeds to the next cell playback S304. Next, if there is no cell, playback stops (S406).

図29は、AV再生開始後からのイベント処理フローである。
BD−ROMプレーヤはイベントドリブン型のプレーヤモデルである。プレイリストの再生を開始すると、タイムイベント系、ユーザイベント系、字幕表示系のイベント処理プロセスが夫々起動され、平行してイベント処理を実行するようになる。
FIG. 29 is an event processing flow after the start of AV playback.
The BD-ROM player is an event-driven player model. When playback of the playlist is started, event processing processes for the time event system, the user event system, and the caption display system are started, and the event processing is executed in parallel.

S500系の処理は、タイムイベント系の処理フローである。
プレイリスト再生開始後(S501)、プレイリスト再生が終了しているかを確認するステップ(S502)を経て、シナリオプロセッサは、タイムイベント発生時刻になったかを確認する(S503)。タイムイベント発生時刻になっている場合には、シナリオプロセッサはタイムイベントを生成し(S504)、プログラムプロセッサがタイムイベントを受け取りイベントハンドラを実行処理する(S505)。
The S500 system processing is a time event system processing flow.
After the play list reproduction is started (S501), the scenario processor confirms whether or not the time event occurrence time is reached (S503) through a step (S502) for confirming whether the play list reproduction is completed. If the time event occurrence time is reached, the scenario processor generates a time event (S504), and the program processor receives the time event and executes the event handler (S505).

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

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

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

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

図30は字幕処理のフローである。
プレイリスト再生開始後(S701)、プレイリスト再生終了確認ステップ(S702)を経て、字幕描画開始時刻確認ステップに移る(S703)。字幕描画開始時刻の場合、シナリオプロセッサはプレゼンテーションコントローラに字幕描画を指示し、プレゼンテーションコントローラはイメージプロセッサに字幕描画を指示する(S704)。ステップS703で字幕描画開始時刻で無いと判断された場合、字幕表示終了時刻であるかを確認する(S705)。字幕表示終了時刻であると判断された場合は、プレゼンテーションコントローラがイメージプロセッサに字幕消去指示を行い、描画されている字幕をイメージプレーンから消去する(S706)。
FIG. 30 is a flowchart of caption processing.
After the play list reproduction is started (S701), the play list reproduction end confirmation step (S702) is followed by the subtitle drawing start time confirmation step (S703). In the case of the caption rendering start time, the scenario processor instructs the presentation controller to render captions, and the presentation controller instructs the image processor to render captions (S704). If it is determined in step S703 that it is not the caption drawing start time, it is confirmed whether it is the caption display end time (S705). If it is determined that the subtitle display end time is reached, the presentation controller instructs the image processor to delete the subtitle and deletes the drawn subtitle from the image plane (S706).

字幕描画ステップS704終了後、字幕消去ステップS706終了後、または、字幕表示終了時刻確認ステップS705で当該時刻でないことが判断された場合、ステップS702に戻り、上述した処理を繰り返す。また、ステップS702でプレイリスト再生が終了したことが確認されると、字幕表示系の処理は強制的に終了する。   After the caption drawing step S704 ends, after the caption erasure step S706 ends, or when it is determined that the time is not the same at the caption display end time confirmation step S705, the process returns to step S702 and the above-described processing is repeated. Also, when it is confirmed in step S702 that the playlist reproduction has been completed, the caption display processing is forcibly terminated.

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

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

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

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

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

HTML処理部はHTMLファイルを読み込み、スタイル定義情報などにしたがって、画面を構成し、イベントに応じて関連するスクリプトを実行するモジュールである。スクリプトを実行した結果、AVの再生が必要であればAV再生制御部に対して、再生開始などの制御を行い、タイトル切替が必要であれば、タイトル制御部に対して制御を行う。   The HTML processing unit is a module that reads an HTML file, configures a screen according to style definition information, and executes related scripts according to events. As a result of executing the script, if AV playback is necessary, the AV playback control unit is controlled to start playback, and if title switching is necessary, the title control unit is controlled.

AV再生制御部は、イベントや指示に従ってAVストリームの再生を行い、AV再生制御部の状態が変化したときやAVストリームの再生位置が特定の位置に達した際にイベントを生成してHTML処理部に通知する。   The AV playback control unit plays back an AV stream in accordance with an event or an instruction, generates an event when the state of the AV playback control unit changes or the playback position of the AV stream reaches a specific position, and generates an HTML processing unit. Notify

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

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

図32はあるタイトルが選択されたときの動作の様子を示している。
Index Tableで定義されるあるタイトルを選択した場合、タイトルに関連付けられたHTMLファイルが呼び出される。HTMLファイルには、再生制御などを行うスクリプトなども記述されている。 図中の例では、スクリプトファイルを間接的に参照しているが、直接HTMLファイル内に記述することも可能である。また、説明のため、HTMLと表記しているが、XHTML形式であってもよいし、XML形式にのっとっていれば独自のタグなどを利用した形式でもよい。
FIG. 32 shows the operation when a certain title is selected.
When a certain title defined in the Index Table is selected, an HTML file associated with the title is called. In the HTML file, a script for performing reproduction control is also described. In the example in the figure, the script file is indirectly referenced, but can be described directly in the HTML file. Further, for the sake of explanation, it is described as HTML, but it may be in XHTML format, or may be in a format using a unique tag or the like as long as it is in XML format.

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

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

また、予め関数名が予約されているイベント処理用関数(例えば、BDIMoviePlaybackEventHandler()関数など)を、HTML文書のスクリプトタグ内や、スクリプトファイル内に記述しておくことで、ユーザーイベント処理部やAV再生制御部から通知されたイベントに対応して、スクリプトを実行することも可能である。   Also, an event processing function (for example, a BDIMoviePlaybackEventHandler () function) whose function name is reserved in advance is described in a script tag of an HTML document or a script file, so that a user event processing unit or AV It is also possible to execute a script in response to an event notified from the playback control unit.

図33は先ほどの例に、画面生成を加えた例である。たとえば、先ほどと同様にIndex TableからHTMLが呼び出され、そのHTMLはメニュー画面などを生成するための情報が書かれていた場合である。画面構成のスタイルなどはCSSなどのスタイルシートを利用してもよい。   FIG. 33 shows an example in which screen generation is added to the previous example. For example, HTML is called from the Index Table as described above, and the HTML is written when information for generating a menu screen or the like is written. A style sheet such as CSS may be used as the screen configuration style.

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

これまで説明した仕組みを用いることのより、HTMLファイルを用いて、メニュー画面を表示し、何らかのボタンを選択を選択するとコンテンツの再生を開始するような仕組みを提供することが可能となる。   By using the mechanism described so far, it is possible to provide a mechanism in which a menu screen is displayed using an HTML file, and playback of content is started when selection of a certain button is selected.

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

(リソース管理)
HTMLファイルがメニュー画面のような画面を構成する際には、PNGイメージファイルなどのデータファイルを参照する。メニューが凝ったものになればなるほど、表示するグラフィクスは複雑なものになり、それを表示するためのイメージデータのサイズは大きくなる。
(Resource management)
When the HTML file forms a screen such as a menu screen, a data file such as a PNG image file is referred to. The more sophisticated the menu, the more complicated the graphics to display and the larger the image data size for displaying it.

また、HTMLファイルはユーザー操作によって画面を切り替えるように作ることも可能である。メニュー画面の中である項目を選ぶと、さらにサブメニューが出てくるような場合である。このような場合、メニュー画面が表示された最初の瞬間には表示されていなかったイメージデータが、あとから必要になることがある。   An HTML file can be created so that the screen is switched by a user operation. This is the case when selecting an item in the menu screen causes a submenu to appear. In such a case, image data that was not displayed at the first moment when the menu screen is displayed may be required later.

ところが、さらにそのメニュー画面の背景では動画が表示されている、つまりAVストリームが再生されている場合、必要になってからイメージデータを読み込みに行こうとすると、ディスク上でファイルがある位置にシークを行ってから読み込んで元の位置に戻ってこなければならず、AVストリームの再生が一時的に中断してしまう可能性がある。十分な量のバッファを積んでおり、AVストリームを事前にバッファ一杯に先読みすればこのようなことも回避できるが、画像が高解像度・高画質になり、高ビットレートが必要になってきているので、かなり大容量のバッファを用意しなければならず、コストアップなどにつながり、現実的ではない。   However, if a video is displayed in the background of the menu screen, that is, if an AV stream is being played back, if you try to read the image data after it is needed, you will seek to the position where the file is on the disc. And then reading it back to the original position, there is a possibility that the playback of the AV stream is temporarily interrupted. A sufficient amount of buffer is loaded, and this can be avoided if the AV stream is pre-read in advance, but the image has high resolution and high image quality, and a high bit rate is required. Therefore, a considerably large-capacity buffer must be prepared, which leads to an increase in cost and is not realistic.

また、ハードディスクのようにシーク時間が短く、読み取り速度が速いメディアでは、少量のバッファでもその早さを利用して、AVを中断させずに他のデータを読み込むことも可能であるが、光ディスクメディアのドライブでは、シークには時間がかかり、読み込み速度もそれほど速くないため、実現にはさらなる技術の進歩が必要となる。   In addition, with a medium such as a hard disk that has a short seek time and a high reading speed, even a small amount of buffer can be used to read other data without interrupting AV. With this drive, seeking takes time and reading speed is not so fast, so further technical advancement is required for realization.

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

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

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

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

HTML処理部がデータを必要とするときは、バッファからHTML処理部のワークメモリ上に読み込んでおき、画面の表示などに利用する。その画面が表示されなくなったときには、必要なくなったデータをワークメモリから解放し、次に必要になるデータをバッファから読み込んでくる。   When the HTML processing unit needs data, it is read from the buffer onto the work memory of the HTML processing unit and used for screen display. When the screen is not displayed, the unnecessary data is released from the work memory, and the next necessary data is read from the buffer.

なお、このワークメモリは、バッファと共有してもよい。
バッファにあるメモリーは、そこに読み込まれているデータが必要なくなるまで保存しておき、必要なくなれば解放する。
This work memory may be shared with the buffer.
Save the memory in the buffer until you no longer need it, and free it when you no longer need it.

(データのライフサイクル)
上で述べたように、バッファにデータを読み込んでくるタイミングと、バッファからデータを解放するタイミングを明確に決めることができれば、データのライフサイクルの管理が明確になり、管理がしやすくなる。
(Data life cycle)
As described above, if the timing for reading data into the buffer and the timing for releasing the data from the buffer can be clearly determined, the management of the data life cycle becomes clear and easy to manage.

データの管理がしやすくなれば、コンテンツ作成者がどのプレーヤでも必ず動作させることができるコンテンツ構成を判定しやすくなり、コンテンツ作成が容易になる。   If data management becomes easier, it becomes easier for the content creator to determine a content configuration that can be operated by any player, and content creation becomes easier.

データのライフサイクルの開始タイミングと終了タイミングは、AVの再生が停止しているタイミング、あるいは一時的に停止する、連続して再生する場合でもシームレスに再生する必要がないタイミングが望ましい。   The start timing and end timing of the data life cycle are preferably the timing at which AV playback is stopped, or the timing at which playback is stopped temporarily or even when continuous playback is not required.

このようなタイミングとしては、AVストリームの切替点、HTMLファイルで構成される画面の切替点や、タイトル切替のタイミングなどがあり、その他上記の条件を満たすのであればその他の点でもよい。   Such timing includes an AV stream switching point, a screen switching point constituted by an HTML file, a title switching timing, and the like, and may be other points as long as the above conditions are satisfied.

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

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

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

このようなライフサイクルと、バッファのサイズを規定すれば、タイトルを作成するときに、どのくらいのサイズまでイメージデータを使うことができ、どのようなアプリケーションを実行できるか定量的に判断でき、タイトルが非常に作りやすくなる。   By defining such a life cycle and buffer size, you can quantitatively determine how much image data can be used when creating a title, and what application can be executed. It becomes very easy to make.

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

ユーザー操作によりアプリケーション実行中にタイトルを切り替えられた場合、タイトル制御部は、HTML処理部に現在実行中のスクリプトを中止し、バッファの解放を指示ずる。また、タイトルが切り替わると、次のタイトルに関連するファイルをバッファに読み込むよう指示する。   When the title is switched while the application is being executed by a user operation, the title control unit cancels the script that is currently being executed and instructs the HTML processing unit to release the buffer. Also, when the title is switched, an instruction is given to read a file related to the next title into the buffer.

(データ読み込みの保証)
AVストリームの再生開始より前に、AVストリーム以外のファイルをバッファにプリロードしておく必要は上で述べたとおりである。その際、HTMLファイルを解析して必要なファイルをリストアップしていては、時間がかかってしまう。
(Data reading guarantee)
As described above, it is necessary to preload a file other than the AV stream in the buffer before starting the reproduction of the AV stream. At that time, it takes time to analyze the HTML file and list the necessary files.

そこで、図36(a)のように、各タイトルで必要なファイルをリストアップしたリソースリストをタイトル毎に作成し、タイトルが選択されたときに、そのタイトルリストに列挙されているファイルを全てバッファに読み込めばよい。   Therefore, as shown in FIG. 36A, a resource list in which files necessary for each title are listed is created for each title, and when a title is selected, all the files listed in the title list are buffered. Just load it into

また、ファイル数が多い場合、ファイル毎にシークが発生すると読み込みの時間がかかってしまうため、リストアップされたファイルをディスク上の1カ所にまとめて配置することのより、無駄なシークを発生させることなく必要なファイルを全て読み込むことも可能である。   Also, if there are many files, it will take time to read each file, so it will cause unnecessary seeks by placing the listed files in one place on the disk. It is also possible to read all necessary files without any problems.

あるいは、図36(b)のように、ファイルをディレクトリ構造ごとZIPファイルなどで1つにまとめてしまい、バッファに読み込んだあとでバッファ内でファイルを展開し、ディレクトリ構造などを構成してもよい。ファイルをひとまとめにでき、ディレクトリ構造を保持できるようなフォーマットであれば、ZIPファイルでなくてもよい。また、圧縮ファイルである必要もない。   Alternatively, as shown in FIG. 36B, the files may be grouped together in a ZIP file or the like for each directory structure, and after reading into the buffer, the files may be expanded in the buffer to configure the directory structure or the like. . The file may not be a ZIP file as long as the file can be put together and the directory structure can be maintained. Also, it does not have to be a compressed file.

あるいは、図37に示すように、制作段階などにおいてディレクトリ構造を持つ論理ファイルツリー400の各ファイルを、Content Archive File401(以降、CARファイルと記載する)内に、フラットに配置し、HTTPのentity形式などでマルチパート化しておく。さらに、論理ファイルツリー400のディレクトリ構造情報は、Resource List File402に格納して、このResource List File402を、CARファイル401内に配置してもよい。   Alternatively, as shown in FIG. 37, each file of the logical file tree 400 having a directory structure in the production stage or the like is placed flat in a Content Archive File 401 (hereinafter referred to as a CAR file), and is HTTP entity format. Make multi-parts. Furthermore, the directory structure information of the logical file tree 400 may be stored in the Resource List File 402, and this Resource List File 402 may be arranged in the CAR file 401.

(ZIPファイル、CARファイル401を用いたアーカイブ構成の効果)
図36(b)の構成や、図37の構成をとることで実現できるディスクへの書込み効率/読出し効率の向上について説明する。
(Effect of archive configuration using ZIP file and CAR file 401)
The improvement of the writing efficiency / reading efficiency to the disc that can be realized by adopting the configuration of FIG. 36B and the configuration of FIG. 37 will be described.

もし、HTMLファイルやイメージファイルを、ディスク上に個別配置した場合、1つのファイルに関する情報しか配置できないディスク上のセクターに、何も書き込まれないエリア(フラグメンテーション)が発生し、書込み効率が低下する。   If an HTML file or an image file is individually arranged on the disk, an area (fragmentation) where nothing is written is generated in a sector on the disk where only information relating to one file can be arranged, and the writing efficiency is lowered.

また、読出しにおいては、HTMLファイル、イメージファイルの個数分だけ読出し処理が発生し、読出しの都度、ディスクのSEEK処理が発生し、関連するファイルの読込みに時間がかかってしまい、タイトルの起動が遅くなる。   In reading, the number of HTML files and image files is read, and each time a read is performed, a disc SEEK process occurs, and it takes a long time to read the related file, and the start of the title is slow. Become.

一方、ZIPファイル、もしくは、CARファイル401を用いた場合、画面提示に利用されるHTMLファイルとそのHTMLファイルが参照するイメージファイル群、そして、そのHTMLファイルから文書遷移して次に提示されるHTMLファイルなど、一連の動作に関連するファイル群(コンテンツ)をアーカイブ化しているので、フラグメンテーションの合計サイズ、個数が抑えられて、ディスクへの書込み効率が高くなり、また、1ファイルにアーカイブされているので、1回の読出し処理しか発生せず、SEEK回数が抑えられ、すばやくディスクから読み出すことができる。   On the other hand, when the ZIP file or the CAR file 401 is used, the HTML file used for screen presentation, the image file group referred to by the HTML file, and the HTML to be presented next after the document transitions from the HTML file. Since files (contents) related to a series of operations such as files are archived, the total size and number of fragmentation are reduced, the writing efficiency to the disk is increased, and the files are archived in one file. Therefore, only one read process occurs, the SEEK number is suppressed, and the disk can be read quickly.

また、このような仕組みを用いることにより、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することにより、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。   In addition, by using such a mechanism, it is possible to provide a mechanism that makes it easier for players to control errors by making it easier to understand mistakes during authoring by managing resources easily for each title and making data reading more efficient It becomes.

(Resource List File形式による起動処理フロー)
以下、図36、図37を用いて説明したZIPファイルおよびCARファイルなどのアーカイブファイルを応用した仕組みに関してより詳細な実装を説明する。
(Startup process flow in Resource List File format)
Hereinafter, a more detailed implementation will be described with respect to a mechanism in which archive files such as ZIP files and CAR files described with reference to FIGS. 36 and 37 are applied.

図39にXMLを用いたResource List Fileを記述した例を図示している。Resource List Fileは各タイトル毎に記述され、各タイトル再生時に実行されるアプリケーションに関する記述がなされる。   FIG. 39 shows an example in which a Resource List File using XML is described. The Resource List File is described for each title, and describes the application that is executed when each title is played back.

図32を用いて前述した例では、Index Tableで定義されるタイトルからはHTMLファイルが関連づけられていたが、Index Tableで定義された各タイトルからは、CARファイルが関連づけられていており、さらに、CARファイル内には、Resource List Fileが格納されており、Index Tableで定義されるあるタイトルを選択した場合、そのタイトルに関連づけられたCARファイルが最初に呼び出され、CARファイルに関連付けられたResource List Fileが次に呼び出される方式をとる。   In the example described above with reference to FIG. 32, the HTML file is associated with the title defined by the Index Table, but the CAR file is associated with each title defined by the Index Table. In the CAR file, a Resource List File is stored, and when a certain title defined in the Index Table is selected, the CAR file associated with the title is first called, and the Resource List associated with the CAR file is stored. The file is called next.

なお、Index Tableから各タイトルのResource List Fileが関連づけられる方式でも良い。   Note that a method in which the Resource List File of each title is associated from the Index Table may be used.

図38のS800系は、Index Tableで定義された各タイトルからCARファイルが関連づけられる方式において、Titleが選択されてから、HTMLによる画面提示までのフローを示している。   The S800 system in FIG. 38 shows a flow from selection of a Title to presentation of a screen by HTML in a method in which a CAR file is associated with each title defined in the Index Table.

Index Tableで定義されるあるタイトルを選択されると(S801)、そのタイトルに関連づけられたCARファイルが呼出され、CARファイル用のBufferに格納される(S802)。次に、CARファイルに格納された、Resource List Fileが切り出され、Resource List Fileが解析され、起動すべきHTMLファイルが特定される(S803)。なお、Resource List Fileは、マルチパート化されたCARファイルの先頭に配置することで、Resource List Fileの切り出しをすばやく実現できる。   When a title defined in the Index Table is selected (S801), the CAR file associated with the title is called and stored in the buffer for the CAR file (S802). Next, the Resource List File stored in the CAR file is cut out, the Resource List File is analyzed, and the HTML file to be activated is specified (S803). The Resource List File can be quickly cut out by placing the Resource List File at the beginning of the multipart CAR file.

次に、Resource List Fileに記載された起動すべきHTMLファイルのOffset値を用いて、CARファイル内に格納されたHTMLファイルを切り出し、HTMLファイルを解析する(S804)。なお、Offsetが記載されていない場合には、ディレクトリ構成に記載されたディレクトリ名、ファイル名を付け足して論理パスを構築し、本論理パスを用いて、ZIPファイルにアーカイブされた各ファイルのリソースヘッダに記載されたリソースパスと比較することで、HTMLファイルを特定し、切り出すことができる。   Next, the HTML file stored in the CAR file is cut out using the Offset value of the HTML file to be activated described in the Resource List File, and the HTML file is analyzed (S804). If Offset is not described, a logical path is constructed by adding the directory name and file name described in the directory structure, and the resource header of each file archived in the ZIP file using this logical path. The HTML file can be identified and cut out by comparing with the resource path described in (1).

HTMLファイルがイメージファイルなどのデータファイルを参照している場合は、さらに、Resource List Fileを解析して、対応するデータファイルを切り出し、レイアウト処理、スクリプト処理を行って、画面が提示される(S805)。   If the HTML file refers to a data file such as an image file, the Resource List File is further analyzed, the corresponding data file is cut out, layout processing and script processing are performed, and a screen is presented (S805). ).

さらに、図38のS900系を用いて、画面提示された後、ユーザ操作やスクリプト処理などによって文書遷移処理が発生してから、次の提示画面が提示されるまでの処理フローを説明する。   Furthermore, a processing flow from when the screen is presented to when the document transition processing is generated by a user operation or script processing until the next presentation screen is presented will be described using the S900 system of FIG.

ユーザ操作やスクリプト処理などによって文書遷移が発生すると(S901)、指定されたURIを解析し、同一タイトル内に属するかを判断し、別タイトルに属する場合は、Index Tableを解析して、別タイトルの起動を指示し、(S801)へ移行する(S902)。同タイトルに属する場合、すでにPreloadされているCARファイル内にあるResource List Fileを解析し、指定されたHTMLファイルを特定する(S903)。次に、Resource List Fileに記載されたOffset値を用いて、CARファイル内に格納されたHTMLファイルを切り出し、HTMLファイルを解析する(S904)。イメージファイルなどのデータファイルが参照されている場合は、さらに、Resource List Fileを解析して、対応するデータファイルを切り出し、レイアウト処理、スクリプト処理を行って、画面が提示される(S905)。   When a document transition occurs due to a user operation or script processing (S901), the specified URI is analyzed to determine whether it belongs to the same title, and if it belongs to another title, the Index Table is analyzed to determine another title. Is started, and the process proceeds to (S801) (S902). If it belongs to the same title, the Resource List File in the pre-loaded CAR file is analyzed to identify the designated HTML file (S903). Next, the HTML file stored in the CAR file is cut out using the Offset value described in the Resource List File, and the HTML file is analyzed (S904). When a data file such as an image file is referred to, the Resource List File is further analyzed, the corresponding data file is cut out, layout processing and script processing are performed, and a screen is presented (S905).

(XML形式のResource List Fileの構造)
図39は、XML形式のResource List Fileの記述例を示す。XML形式のResource List Fileは、XML宣言と、<application>、<entry>、<toppage>、<linkfile>の四つの要素からなる。
(Structure of Resource List File in XML format)
FIG. 39 shows a description example of the Resource List File in the XML format. An XML-format Resource List File is composed of an XML declaration and four elements: <application>, <entry>, <toppage>, and <linkfile>.

<application>要素のname属性にアプリケーション名が記述される。
アプリケーションを実行する上で一番最初に読み込んで解析する必要があるHTML(以降、Toppageと呼ぶ)に関しては、そのファイル名が<toppage>要素のsrc属性として記述されている。
An application name is described in the name attribute of the <application> element.
For HTML (hereinafter referred to as Toppage) that needs to be read and analyzed first when executing an application, the file name is described as the src attribute of the <toppage> element.

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

また、これらのアプリケーションを構成するファイル群(Toppageを含む)は、アーカイブファイルとして一纏めにBD−ROM上に記録されるものとし、Resource List Fileには当該アーカイブファイルのファイル名がURI形式で<entry>要素のsrc属性として記述されている。   In addition, a file group (including Toppage) constituting these applications is recorded on the BD-ROM as an archive file as a whole, and the file name of the archive file is <entry> in the URI format in the Resource List File. > Described as the src attribute of the element.

このように、BDプレーヤはタイトル再生時にそのタイトルに対応するResource List Fileを読み込むことで、BD−ROM上にアーカイブファイルとして一纏めに配置されたアプリケーションを構成するファイルを無駄なシークを発生させることなく一括して読み込むことができ、また当該アプリケーションで使用する全てのファイル名を知ることができる。   In this way, the BD player reads the Resource List File corresponding to the title at the time of playing the title, so that the files constituting the applications arranged together as archive files on the BD-ROM do not cause useless seeks. It can be read in a batch and all file names used in the application can be known.

また、Resource List File中の<Toppage>要素を参照することで、HTML及びスクリプトで記述されたアプリケーションを実行する際、どのファイルを一番はじめに解析するのかを知ることができる。   Further, by referring to the <Toppage> element in the Resource List File, it is possible to know which file is analyzed first when executing an application described in HTML and script.

現在再生しているタイトルとは違うタイトルが選択された場合、再生していたタイトルのResource List Fileに記述されていたファイルを解放してもよいし、選択されたタイトルに関連づけられたResource List Fileに記載されていないファイルのみ解放してもよい。このようにResource List Fileを用いることで、タイトル毎にリソースを分かりやすく管理し、データの読み込みを効率化することが可能であり、オーサリング時にミスが起こりにくく、プレーヤで制御しやすい仕組みを提供することが可能となる。   When a title different from the currently playing title is selected, the file described in the Resource List File of the title being played may be released, or the Resource List File associated with the selected title is released. You may release only files that are not listed in. By using the Resource List File in this way, it is possible to manage resources for each title in an easy-to-understand manner, improve the efficiency of data reading, and provide a mechanism that is less prone to errors during authoring and that is easy to control by the player It becomes possible.

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

(バイナリー形式のResource List Fileの構造)
図40を用いて、CARファイルにアーカイブされるファイルのディレクトリ構造情報を格納したバイナリー形式のResource List Fileの内部構造について説明をする。
(Structure of Resource List File in binary format)
The internal structure of the Resource List File in binary format that stores the directory structure information of the file archived in the CAR file will be described with reference to FIG.

<Resource List File>
バイナリー形式のResource List Fileは、Base InfoとBase Directoryから構成される。Base Infoは、Resource List Fileが格納されているCARファイル全般に関わる情報が記載される。
<Resource List File>
The Resource List File in binary format is composed of Base Info and Base Directory. In the Base Info, information related to the entire CAR file in which the Resource List File is stored is described.

<Base Directory>
Base Directoryは、CARファイルに格納されているHTMLファイル等ファイルのディレクトリ構造情報が記載されており、Information、Number、CARファイルをトップディレクトリとして、この1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Base Directoryに関する情報が記載される。
<Base Directory>
Base Directory describes the directory structure information of files such as HTML files stored in CAR files, and consists of Directories and Files placed one level below, with Information, Number, and CAR files as top directories. The The total number of Directories and Files is the number described in Number. In Information, information related to Base Directory is described.

<Directory>
Directoryは、Information、Number、本Directoryの1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Directoryの名前や本Directoryの属性情報が記載される。さらに配下に配置されたDirectoryは、本Directoryと同じ構成となる。
<Directory>
The Directory is composed of Information, Number, and Directory and File that are arranged one stage below this Directory. The total number of Directories and Files is the number described in Number. In the Information, the name of the Directory and the attribute information of the Directory are described. Further, the directory arranged under the subordinate has the same configuration as that of the present directory.

<File>
Fileは、Information、Offset、Nameから構成される。Informationには、本Fileの属性情報が記載される。Nameは名前である。Offsetは、CARファイル内に配置されている本来のファイルの、CARファイルの先頭からのbit長さが記載されている。
<File>
File is composed of Information, Offset, and Name. In the Information, attribute information of this File is described. Name is a name. Offset describes the bit length from the beginning of the CAR file of the original file arranged in the CAR file.

(バイナリ形式のResource List Fileの効果)
バイナリ形式のResource List Fileの内部構造であるDirectory、Fileを解析していくことで、CARファイル内にフラットに配置され、マルチパート化されたファイルのディレクトリ構造を復元できて、かつ、File内にあるOffsetを用いて、BufferにPreloadされたCARファイルから、実ファイルの位置を計算できるため、数M〜Byteの巨大なCARファイル内から、すばやく目的のファイルを切り出すことができる。
(Effects of Resource List File in binary format)
By analyzing the internal directory and file of the Resource List File in binary format, the directory structure of the flat file in the CAR file and the multipart file can be restored, and in the File Since a real file position can be calculated from a CAR file preloaded by a buffer using a certain offset, a target file can be quickly cut out from a huge CAR file of several M to bytes.

(ディスク外のHTML提示状態から、ディスク上のHTMLへの遷移における課題)
図41を用いて、コンテンツサーバ上などのディスク外のHTMLファイルを提示している状態から、ディスク上のHTMLファイルへ文書遷移する場合の課題を説明する。
(Problems in transition from HTML presentation state outside the disc to HTML on the disc)
With reference to FIG. 41, a description will be given of a problem in a case where a document transitions from a state where an HTML file outside the disc such as a content server is presented to an HTML file on the disc.

ディスク上のHTMLファイル間でブラウジングした後など、一旦、コンテンツサーバ上のHTMLファイルへ文書遷移してしまうと、コンテンツサーバ上のHTMLファイル間の文書遷移に関しては問題ないが、いざディスク上のHTMLファイルへ文書遷移しようとした場合、コンテンツサーバ上のHTMLファイルは、現在挿入されているディスクが何であるか、また、どのような論理ディレクトリ構造になっているかなど、ディスク上のHTMLに関する情報を取得できないため、予め情報を保持していない限り、期待するディスク上のHTMLファイルへの文書遷移ができない。結果、タイトルの再起動を行って、画面提示を行うため、以前ディスク上のHTMLファイル間でブラウジングした操作結果が削除されてしまったり、最後に提示したディスク上のHTMLファイルの画面を再提示することができない。   Once a document transitions to an HTML file on the content server, such as after browsing between HTML files on the disk, there is no problem with document transitions between the HTML files on the content server. When an attempt is made to transition to a document, the HTML file on the content server cannot obtain information on the HTML on the disk, such as what is the currently inserted disk and what logical directory structure it is. Therefore, unless information is held in advance, the expected document transition to the HTML file on the disk cannot be performed. As a result, since the title is restarted and the screen is presented, the operation result previously browsed between the HTML files on the disc is deleted, or the screen of the HTML file on the disc presented last is re-presented. I can't.

(ディスク外のHTMLファイルから、ディスク上のHTMLファイルへの遷移の方法)
図42は、ディスク外からディスク上のHTMLファイルへの文書遷移要求が発生時に、提示すべきHTMLを指定する仕組みを追加したバイナリー形式のResource List Fileの内部構造を示す。
(Transition method from HTML file outside disk to HTML file on disk)
FIG. 42 shows the internal structure of a Resource List File in binary format to which a mechanism for designating HTML to be presented when a document transition request from the outside of the disk to the HTML file on the disk is generated.

<Resource List File>
バイナリー形式のResource List Fileは、Base InfoとEntry ListとBase Directoryから構成される。Base Infoは、Resource List Fileが格納されているCARファイル全般に関わる情報が記載される。
<Resource List File>
The Resource List File in binary format is composed of Base Info, Entry List, and Base Directory. In the Base Info, information related to the entire CAR file in which the Resource List File is stored is described.

<Entry List>
Entry Listは、NumberとEntry Infoから構成される。Entryの数は、Numberに記載された数である。Entry Infoは、Entry TypeとOffsetから構成される。Entry Typeは、ディスク外のHTMLファイルから本タイトルへの文書遷移要求を受けた場合に提示すべきHTMLファイル、などの起動種別を表す。Offsetは、提示すべきHTMLファイルに対応するFile構造体のResource List File内のOffset値である。
<Entry List>
The Entry List is composed of Number and Entry Info. The number of entries is the number described in Number. Entry Info is composed of Entry Type and Offset. Entry Type represents the activation type such as an HTML file to be presented when a document transition request from an HTML file outside the disc to this title is received. Offset is an Offset value in the Resource List File of the File structure corresponding to the HTML file to be presented.

<Base Directory>
Base Directoryは、CARファイルに格納されているHTMLファイル等ファイルのディレクトリ構造情報が記載されており、Information、Numberと、CARファイルをトップディレクトリとして、その1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Base Directoryに関する情報が記載される。
<Base Directory>
Base Directory describes the directory structure information of files such as HTML files stored in the CAR file, and consists of Information and Number, and the Directory and File placed one level below the CAR file as the top directory. Is done. The total number of Directories and Files is the number described in Number. In Information, information related to Base Directory is described.

<Directory>
Directoryは、Information、Numberと、本Directoryの1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Directoryの名前や本Directoryの属性情報が記載される。さらに配下に配置されたDirectoryは、本Directoryと同じ構成となる。
<Directory>
The directory is composed of an information and a number, and a directory and a file arranged one stage below the directory. The total number of Directories and Files is the number described in Number. In the Information, the name of the Directory and the attribute information of the Directory are described. Further, the directory arranged under the subordinate has the same configuration as that of the present directory.

<File>
Fileは、Information、Offset、Nameから構成される。Informationには、本Fileの属性情報が記載される。Nameは名前である。Offsetは、CARファイル内に配置されている本来のファイルの、CARファイルの先頭からのbit長さが記載されている。
<File>
File is composed of Information, Offset, and Name. In the Information, attribute information of this File is described. Name is a name. Offset describes the bit length from the beginning of the CAR file of the original file arranged in the CAR file.

次に、図43を用いて、本Resource List Fileを用いて、ディスク外からディスク上のHTMLファイルへの文書遷移要求が発生した場合の処理フローを説明する。   Next, a processing flow when a document transition request from the outside of the disk to the HTML file on the disk is generated using this Resource List File will be described with reference to FIG.

ディスク外のHTMLファイルから、ディスク上のHTMLファイルへ文書遷移が要求されると(S1001)、指定されたURIを解析し、同一タイトル内に属するか判断し、別タイトルに属する場合は、Index Tableを解析して、別タイトルへの起動を指示すべく、(S801)へ移行する(S1002)。   When a document transition is requested from an HTML file outside the disc to an HTML file on the disc (S1001), the designated URI is analyzed to determine whether it belongs to the same title, and if it belongs to another title, if it belongs to another title, Index Table In order to instruct activation to another title, the process proceeds to (S801) (S1002).

同タイトルに属する場合、すでにPreloadされているCARファイル内にあるResource List Fileを解析し、Entry Listにある“ディスク外からの文書遷移要求時に提示すべきHTMLファイル”を特定し、そのOffsetから、File構造体を解析し、起動すべきHTMLファイルを特定する(S1003)。   If it belongs to the same title, it analyzes the Resource List File in the CAR file that has already been preloaded, identifies the “HTML file to be presented when requesting document transition from outside the disk” in the Entry List, and from the Offset, The file structure is analyzed, and the HTML file to be activated is specified (S1003).

なお、コンテンツサーバ上のHTMLファイルは、現在PreloadされているCARファイルの属するタイトルを示すURIが判定できない場合があるが、ディスク、タイトルを指定するURIとして、現在挿入中のディスク、現在BufferにPreloadされているタイトルを指定するURI(“bd://−1.−1”など。−1は現在選択されているディスク、もしくは、タイトルを指している)を指定することで、ディスク、タイトルを識別する必要がない。   Note that the HTML file on the content server may not be able to determine the URI indicating the title to which the currently pre-loaded CAR file belongs. However, as the URI specifying the disc and title, the currently inserted disc and the current buffer are preloaded. By specifying a URI ("bd: //-1.-1." Etc., where -1 indicates the currently selected disc or title) that specifies the title being recorded, There is no need to identify.

次に、Resource List Fileに記載されたOffset値を用いて、CARファイル内に格納されたHTMLファイルを切り出し、HTMLファイルを解析する(S1004)。   Next, the HTML file stored in the CAR file is cut out using the Offset value described in the Resource List File, and the HTML file is analyzed (S1004).

ディスク外からの文書遷移要求時にためのHTMLファイルの画面提示処理においては、本HTMLのスクリプト機能を利用することで、ある程度、ディスク外へ文書遷移する前、もしくは、ディスク上のHTMLファイル間でブラウジングしていたときの状態を復帰することができる。   In the HTML file screen presentation process when a document transition request is made from outside the disk, by using this HTML script function, browsing to some extent before the document transitions to the outside of the disk or between HTML files on the disk It is possible to restore the state when it was.

例えば、ディスク外へ文書遷移した際のAV再生位置、ゲームの進捗・得点などの遷移前情報が、DOMのcookieやUser Register/Global Registerなどのデータ格納I/Fによりプレイヤー保存領域に退避している場合、スクリプト機能により遷移前情報を読込み、例えば、AVを遷移前の再生位置から再生を再開したり、ゲームを途中から再開することができる(S1005)。   For example, pre-transition information such as AV playback position and game progress / score at the time of document transition to the outside of the disc is saved in the player storage area by a data storage I / F such as DOM cookie or User Register / Global Register. If it is, the script function reads the pre-transition information, and for example, the playback of the AV can be restarted from the playback position before the transition, or the game can be restarted from the middle (S1005).

以上の仕組みを用いることで、ディスク外のHTMLファイル提示状態から、ディスク上のHTMLファイルへの遷移が発生したときに、毎回同じタイトル起動画面が提示されるのではなく、ディスク上のHTMLファイル間でブラウジングしていたユーザ操作やゲームの進捗・得点などを反映した画面を提示することができる。また、異なるタイトルへの文書遷移でなければ、PreloadされたCARファイルからHTMLファイルを読み出すので、新たなディスクSEEKが発生せず、画面をすみやかに提示することができる。また、PreloadされているCARファイルからHTMLファイルを読出し、提示するので、AVが文書遷移に関係なく継続して再生していても、AV以外のファイルのディスクSEEKに起因するAV再生の途切れや映像乱れが発生しない。   By using the above mechanism, when the transition from the HTML file presentation state outside the disc to the HTML file on the disc occurs, the same title activation screen is not presented every time, but between the HTML files on the disc. It is possible to present a screen that reflects the user operations and the progress / scores of the game that were being browsed. If the document transition is not to a different title, the HTML file is read from the preloaded CAR file, so that a new disc SEEK does not occur and the screen can be presented promptly. In addition, since the HTML file is read and presented from the preloaded CAR file, even if the AV is continuously played regardless of the document transition, the AV playback breaks or video caused by the disc SEEK of the file other than the AV Disturbance does not occur.

(エラー発生時の課題)
図44を用いて、エラー発生時に想定される課題を説明する。
(Issues when errors occur)
The problem assumed when an error occurs will be described with reference to FIG.

既存のPC上で利用されているHTMLブラウザなどにおいて、文書遷移の際、次に提示するHTMLファイルの取得に失敗すると、コンテンツサーバが、HTMLファイルが存在しない等の通知画面を生成し、HTMLファイルとして送信し、これを受信したHTMLブラウザがエラー通知用のHTMLファイルを提示したり、もしくは、HTMLファイルが存在しないことを通知するエラーコード(404番)を受け取ったHTMLブラウザが、ブラウザ内に事前に埋め込んで用意されているエラー用のHTMLファイルを提示していた。   When an HTML browser used on an existing PC fails to obtain the next HTML file to be presented at the time of document transition, the content server generates a notification screen indicating that the HTML file does not exist, and the HTML file The HTML browser that received and received the error file presents an HTML file for error notification or received an error code (No. 404) notifying that the HTML file does not exist. The HTML file for errors prepared by embedding in the file was presented.

そのため、エラーが発生すると、制作者の制作したHTMLファイルが提示されないため、制作者の意図した動作を実現できない。例えば、エラー画面を制作者の意図するデザインにできなかったたり、次のAV操作やスクリプト操作への繋がりが断絶されてしまう。   For this reason, when an error occurs, the HTML file created by the creator is not presented, and the operation intended by the creator cannot be realized. For example, the error screen cannot be designed as intended by the creator, or the connection to the next AV operation or script operation is broken.

(エラー発生時に制作者の意図する動作を実現する方法)
図42で示したバイナリー形式のResource List FileのEntry ListのEntry Typeに関して、次に示すように、起動種別を追加する。
(Method to achieve the intended behavior of the creator when an error occurs)
As shown below, an activation type is added to the entry type of the entry list of the resource list file in the binary format shown in FIG.

<Entry List>
Entry Listは、NumberとEntry Infoから構成される。Entryの数は、Numberに記載された数である。Entry Infoは、Entry TypeとOffsetから構成される。Entry Typeは、ディスク外のHTMLから本Titleへの文書遷移要求を受けた場合のHTMLファイル、エラーが発生した場合に提示すべきHTMLファイル、などの起動種別を表す。Offsetは、提示すべきHTMLファイルに対応するFile構造体のResource List File内のOffset値である。
<Entry List>
The Entry List is composed of Number and Entry Info. The number of entries is the number described in Number. Entry Info is composed of Entry Type and Offset. Entry Type represents the activation type, such as an HTML file when a document transition request from HTML outside the disc to this Title is received, or an HTML file to be presented when an error occurs. Offset is an Offset value in the Resource List File of the File structure corresponding to the HTML file to be presented.

図45は、コンテンツサーバ上のHTMLファイルへの文書遷移時にHTMLファイルの取得失敗などのエラーが発生した場合の処理フローを示す。   FIG. 45 shows a processing flow when an error such as an HTML file acquisition failure occurs at the time of document transition to an HTML file on the content server.

コンテンツサーバ上のHTMLファイルの文書遷移において、HTMLファイルの取得に失敗して、コンテンツサーバからエラーコード404が通知されるなど、エラーが発生すると(S1101)、すでにPreloadされているCARファイル内にあるResource List Fileを解析し、Entry Listの中から、“エラーが発生した場合に提示すべきHTMLファイル”を特定し、そのOffset値から、File構造体を特定して、起動すべきHTMLファイルを特定する(S1102)。   In the document transition of the HTML file on the content server, if an error occurs, such as failure to acquire the HTML file and notification of the error code 404 from the content server (S1101), it is in the preloaded CAR file. Analyze the Resource List File, specify the "HTML file to be presented when an error occurs" from the Entry List, specify the File structure from the Offset value, and specify the HTML file to be started (S1102).

次に、特定したFile構造体に記載されたOffset値を用いて、CARファイル内に格納されたHTMLファイルを切り出し、解析する(S1103)。   Next, the HTML file stored in the CAR file is cut out and analyzed using the Offset value described in the specified File structure (S1103).

制作者によって用意されたエラー用のHTMLファイルの画面提示処理においては、スクリプト機能を利用することで、エラーに応じた画面を提示したり、エラーの影響を受けないスクリプト処理を用意したり、など、制作者の意図した処理を実現できる。   In the screen presentation process of the HTML file for errors prepared by the creator, by using the script function, a screen corresponding to the error is presented, script processing that is not affected by the error is prepared, etc. , Can achieve the process intended by the creator.

例えば、エラー画面HTMLのOnLoadスクリプトにより、エラーStatus取得関数をCallし、コンテンツサーバ上のHTMLの取得エラーであることが判明すると、通信エラーであることを通知する画面を提示するとともに、コンテンツサーバ上のHTMLファイルへリンクを抑えた画面を作成して、提示することで、その後のユーザ操作により、同じエラーを回避することができ、継続した画面提示が可能となる(S1104)。   For example, the error status HTML OnLoad script calls the error status acquisition function, and if it is found that there is an HTML acquisition error on the content server, it presents a screen notifying that there is a communication error, and on the content server By creating and presenting a screen with reduced links to the HTML file, the same error can be avoided by subsequent user operations, and continuous screen presentation becomes possible (S1104).

以上の仕組みを用いることで、エラーが発生した場合に、ブラウザに組み込まれたエラー用画面が提示されることはなく、制作者の作成したエラー用HTMLが提示され、そのUIや次に繋がる動作を、制作者が意図して制作可能である。また、PreloadされたCARファイルからHTMLファイルを読み出すので、新たなディスクSEEK処理を発生させることがなく、画面をすみやかに提示することができる。また、PreloadされているCARファイルからHTMLファイルを読出し、提示するので、AVが文書遷移に関係なく継続して再生していても、AV以外のファイルのディスクSEEKに起因するAV再生の途切れや映像乱れが発生しない。   By using the above mechanism, when an error occurs, the error screen built in the browser is not presented, but the error HTML created by the creator is presented, and the UI and the next operation are connected. Can be produced by the creator. Further, since the HTML file is read from the preloaded CAR file, a new disk SEEK process is not generated, and the screen can be presented promptly. In addition, since the HTML file is read and presented from the preloaded CAR file, even if the AV is continuously played regardless of the document transition, the AV playback breaks or video caused by the disc SEEK of the file other than the AV Disturbance does not occur.

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

第3の実施の形態は、BD−ROMにおいて、BD−ROM Discに記録されたアプリケーションの妥当性を検証し、最適な実行権限をもって実行されることを保証するための環境を導入することに関する内容である。基本的には第1の実施例と第2の実施例に基づく内容であり、拡張または異なる部分を中心に説明する。   The third embodiment relates to the introduction of an environment for verifying the validity of an application recorded in a BD-ROM disc and ensuring that the application is executed with the optimum execution authority in the BD-ROM. It is. Basically, the contents are based on the first embodiment and the second embodiment, and the explanation will be focused on the expansion or different portions.

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

このように、BDプレーヤによってHTMLおよびスクリプトによるアプリケーションを実行する際、図46に示すように正規のスタジオ以外で作成されたアプリケーションや、改竄されたアプリケーションを検出し、深刻な問題を生じさせかねないアプリケーションは実行を拒否したり、利用できる機能やアクセスできるリソースを制限する仕組みが必要である。   In this way, when an application using HTML and script is executed by a BD player, an application created outside a regular studio or a falsified application as shown in FIG. 46 may be detected, which may cause a serious problem. Applications need to be able to refuse execution or to limit the functions that can be used and the resources that can be accessed.

そこで本実施の形態では、BD−ROM Discに記録されたHTMLおよびスクリプトによるアプリケーションが正規のスタジオで作成されたものか否かを検証するアプリケーション認証機構を提供する。   Therefore, in the present embodiment, an application authentication mechanism for verifying whether or not an application using HTML and script recorded on a BD-ROM Disc is created in a regular studio is provided.

以下、本実施の形態のアプリケーション認証機構の概要を図47を用いて説明する。
まず、正規のスタジオはHTMLおよびスクリプトによるアプリケーションを作成する((1)オーサリング)。HTMLおよびスクリプトによるアプリケーションは1つ以上のファイルから構成される。次にアプリケーションの妥当性を証明させたいアプリケーションに対して、公開鍵証明書により署名を行う((2)署名)。公開鍵証明書はBDのライセンス団体に属するスタジオのものでも良いし、BDのライセンス団体が発行したものでもよい。以下、本実施の形態ではアプリケーションに対して署名を行う公開鍵証明書はBDのライセンス団体が承認したスタジオの公開鍵証明書とする。また、署名の方法に関しては後述するが、アプリケーションへの署名の対象となるファイルは、当該アプリケーションを構成するHTMLファイルとスクリプトファイルだけでもよいし、HTMLファイルからリンクされる任意または全てのファイルであってもよい(HTMLファイルからリンクされるファイルとしては画像ファイルや音声ファイル、動画ファイル、スタイルファイルなどがある)。
Hereinafter, the outline of the application authentication mechanism of the present embodiment will be described with reference to FIG.
First, a regular studio creates an application using HTML and script ((1) authoring). HTML and script applications are composed of one or more files. Next, the application whose validity is to be verified is signed with a public key certificate ((2) signature). The public key certificate may be from a studio belonging to a BD licensing organization or may be issued by a BD licensing organization. In the present embodiment, the public key certificate for signing an application is a studio public key certificate approved by a BD licensing organization. Although the signature method will be described later, the files to be signed for the application may be only HTML files and script files that constitute the application, or any or all files linked from the HTML file. (Files linked from HTML files include image files, audio files, video files, and style files).

以上により作成されたBD-ROMが販売され、購入したユーザがBDプレーヤに挿入すると((3)販売)、BDプレーヤが前記アプリケーションを実行する際、前記ファイル軍全体に対する署名の妥当性を検証する((4)署名照合)。これによりアプリケーションが前記スタジオにて作成された正規のものであることが確認され、BDプレーヤはアプリケーションを実行する((5)実行)。   When the BD-ROM created as described above is sold and the purchased user inserts it into the BD player ((3) sale), when the BD player executes the application, the validity of the signature for the entire file army is verified. ((4) Signature verification). As a result, it is confirmed that the application is a legitimate one created in the studio, and the BD player executes the application ((5) execution).

以下、本実施の形態における署名の方法について説明する。
HTMLおよびスクリプトによるアプリケーションは1つ以上のファイルから構成されるが、各ファイル毎に署名を作成する方法ではアプリケーション実行時にアプリケーションを構成する複数のファイル用の複数の署名の妥当性を検証していく必要がありBDプレーヤの性能によってはアプリケーション実行時のパフォーマンスが落ちてしまう可能性がある。したがって、本実施の形態における署名には第2の実施の形態で図39または42を用いて説明したResource List Fileを応用する。具体的には、アプリケーションを構成するファイルのファイル名に加え、各ファイルのハッシュ値も併せてResource List Fileに記述し、Resource List Fileに対してのみ署名することで署名の対象をResource List File1つに限定する。
Hereinafter, a signature method in the present embodiment will be described.
An application based on HTML and script is composed of one or more files, but the method of creating a signature for each file verifies the validity of a plurality of signatures for a plurality of files constituting the application at the time of application execution. Depending on the performance of the BD player, there is a possibility that the performance at the time of executing the application may decrease. Therefore, the Resource List File described with reference to FIG. 39 or 42 in the second embodiment is applied to the signature in the present embodiment. Specifically, in addition to the file names of the files constituting the application, the hash value of each file is also described in the Resource List File, and only one Resource List File is signed by signing only the Resource List File. Limited to.

ここで、ハッシュ値とは任意の長さのデータを一方向関数に入力して得られた固定長のデータのことであり、もとのファイルからハッシュ値を計算することは容易であるがハッシュ値から元のファイルを類することは困難であるという特徴と、入力されるデータが少し異なるだけでも得られるハッシュ値が変化するという特徴とをもつ。一方向関数としてはMD5(Message Digest 5)やSHA-1(Secure Hash Algorithm 1)などがある。   Here, the hash value is fixed-length data obtained by inputting data of an arbitrary length into a one-way function. Although it is easy to calculate a hash value from the original file, the hash value It has the characteristic that it is difficult to classify the original file from the value, and the characteristic that the hash value obtained changes even if the input data is slightly different. One-way functions include MD5 (Message Digest 5) and SHA-1 (Secure Hash Algorithm 1).

図48に図39を用いて説明したXML形式によるResource List Fileに本実施の形態よるアプリケーション認証機構を導入した場合のResource List Fileの例を示す。   FIG. 48 shows an example of the Resource List File when the application authentication mechanism according to the present embodiment is introduced into the Resource List File in the XML format described with reference to FIG.

図48に示すように、アプリケーションを構成するファイル名をリストアップした<toppage>要素<linkfile>要素に、各々のファイルのハッシュ値を記述するための属性値として、SHA-1の計算結果を記述する"sha-digest"とMD5の計算結果を記述する"md5-digest"を追加している。各要素は"sha-digest""md5-digest"のどちらか一方、または両方を持つものとする。   As shown in Fig. 48, the SHA-1 calculation result is described as an attribute value for describing the hash value of each file in the <linkpage> element that lists the file names that make up the application. "Sha-digest" and "md5-digest" that describe MD5 calculation results are added. Each element shall have either “sha-digest”, “md5-digest”, or both.

また、図48に示すResource List Fileは新たに<signiture>要素が追加されており、当該Resrource List Fileへの署名データのファイル名がURI形式で<signiture>要素のsrc属性として記述されている。また、署名データの形式が<signiture>要素のsig-type属性として記述されている。ここでResource List Fileに署名後にResource List Fileに署名データのファイル名を記述してしまうとResource List Fileのデータが変更されることになり作成済みの署名データ自体も無効になってしまうため、Resource List Fileに記述する署名データのデータ名は署名データ作成前に決定しておく必要がある。署名データのファイル名は、各アプリケーション毎に明示的に一意に決められるようにしてもよい。例えばToppageと同一ディレクトリにToppageの同一のファイルボディを持ち、拡張子として".rsa"を持つものとして定義してもよい。これによりアプリケーションを作成完了しtoppageの名前が決まった時点で署名データの名前は一意に決まっているため、署名データを作成する前であってもResource List Fileを作成可能であり署名データ作成後でもResource List Fileのデータは変化しない。   In addition, a <signiture> element is newly added to the Resource List File shown in FIG. 48, and the file name of the signature data to the Resource List File is described as the src attribute of the <signiture> element in the URI format. The format of the signature data is described as the sig-type attribute of the <signiture> element. If the signature data file name is described in the Resource List File after signing it in the Resource List File, the Resource List File data will be changed and the created signature data itself will be invalidated. The data name of signature data described in the List File needs to be determined before the signature data is created. The file name of the signature data may be explicitly determined uniquely for each application. For example, it may be defined as having the same file body of Toppage in the same directory as Toppage and having the extension “.rsa”. This completes the creation of the application and when the toppage name is determined, the name of the signature data is uniquely determined, so it is possible to create a Resource List File even before signature data is created. Data in Resource List File does not change.

また、署名データの形式としては、RSA社が定義したPKCS#7(Public-Key Cryptography Standards #7)などがある。PKCS#7形式によるResource List Fileへの署名データの例を図49に示す。図49に示すように、PKCS#7によるResource List Fileの署名は、Version情報とアルゴリズム情報に加え、Resource List Fileのハッシュ値と、スタジオの公開鍵証明書、Resource List Fileのハッシュ値に対して、前記スタジオの公開鍵証明書を用いて署名した結果とが含まれる。   The format of the signature data includes PKCS # 7 (Public-Key Cryptography Standards # 7) defined by RSA. FIG. 49 shows an example of signature data for the Resource List File in the PKCS # 7 format. As shown in FIG. 49, the signature of Resource List File by PKCS # 7 is applied to the hash value of Resource List File, the studio public key certificate, and the hash value of Resource List File in addition to Version information and algorithm information. And the result of signing using the studio's public key certificate.

図50に図42を用いて説明したバイナリ形式によるResource List Fileに本実施の形態によるアプリケーション認証機構を導入した場合のResource List Fileの例を示す。図50におけるResource List Fileでは、Base Directory以下にSignature Fileを追加している。Signature Fileは、図42におけるFileと同様に、Information、Offset、Nameを含む。Informationには、例えばSignature Fileの署名データ形式がPKCS#7であるなどの情報をはじめとしてSignature Fileの属性情報が記載される。NameはSignature Fileの名前である。Offsetは、Signature FileがCARファイル内のどの位置に配置されているかを示すもので、CARファイルの先頭からのBit長が記載されている。   FIG. 50 shows an example of the Resource List File when the application authentication mechanism according to this embodiment is introduced to the Resource List File in the binary format described with reference to FIG. In the Resource List File in FIG. 50, a Signature File is added below the Base Directory. The Signature File includes Information, Offset, and Name like the File in FIG. Information includes attribute information of the signature file including information that the signature data format of the signature file is PKCS # 7, for example. Name is the name of the Signature File. Offset indicates where the Signature File is placed in the CAR file, and describes the bit length from the beginning of the CAR file.

また、図50におけるResource List Fileでは各File以下にHash Valueを追加している。該当ファイルのHash値が存在する場合は、Hash Vuleに当該Fileのハッシュ値が記載されており、ハッシュ形式などの情報がInformationに記載されている。   In the Resource List File in FIG. 50, a Hash Value is added below each File. When the Hash value of the file exists, the hash value of the File is described in the Hash Vule, and information such as the hash format is described in Information.

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

まず、プレーヤにBD−ROM Discが挿入されて、IndexTableの先頭が自動選択されたりユーザが選択するなどして、IndexTableで定義された任意タイトルが開始されると(ステップS1201)、プレーヤは当該タイトルが定義されたIndexTableを参照し、前述した方式でIndexTableまたはCARファイルから関連づけられた当該タイトルのResource List Fileを読み込む(ステップS1202)。Resource List Fileは例として図48または図50を用いて前述した形式をとるものとする。次にResource List Fileを参照して署名データ(Signature File)を読み込む(ステップS1203)。署名データは例として図41を用いて前述した形式をとるものとし、署名の対象となるResource List Fileのハッシュ値と、その署名、署名に用いたスタジオの公開鍵証明書を含む。次にプレーヤは署名データに含まれるスタジオの公開鍵証明書を取り出す。この公開鍵証明書は一般的な公開鍵証明書であり、スタジオの公開鍵と、その公開鍵に対する認証局による署名、認証局による署名を照合するために用いる認証局の公開鍵証明書のチェーンが含まれる。プレーヤは取り出したスタジオの公開鍵証明書からスタジオの公開鍵を取り出し(ステップS1204)、署名データから取り出したResource List Fileのハッシュ値に対する署名をステップS1204で取り出した公開鍵を用いて復号化する(ステップS1205)。次に、署名データからResource List Fileのハッシュ値を取り出して一方向関数に入力してハッシュ値を計算する(ステップS1206)。次に、ステップS1205で復号化して得た復号化データと、ステップS1206で計算して得たハッシュ値とを比較する(ステップS1207)。復号化データとハッシュ値が等しい場合は、署名データが正しく、またResource List Fileが偽造または改竄されていないことが確認されたこととなり、ステップS1208に進む。復号化データとハッシュ値が等しくない場合は、Resource List Fileか署名データが改竄または偽造されたことが考えられ、ステップS1211に進む。次にステップS1208において、署名データに含まれるスタジオの公開鍵証明書の妥当性を検証していく。スタジオの公開鍵証明書にはスタジオの公開鍵と公開鍵に対する認証局による署名と署名した認証局の公開鍵証明書が含まれており、スタジオの公開鍵証明書の中に含まれる公開鍵の署名の妥当性をスタジオの公開鍵証明書の中に含まれる認証局の公開鍵証明書を用いて確認(図50のステップS1204からステップS1207までと同様の手順)する。署名した認証局の公開鍵証明書にもさらに当該認証局の公開鍵を署名した親となる認証局の公開鍵証明書が含まれており、チェーン状になっている。これらの認証局の公開鍵証明書のチェーンを先ほどと同様の手順で妥当性を確認していくと最終的にはルートとなる認証局の公開鍵証明書が得られる。ルート認証局の公開鍵証明書が正規のものであるかどうかの確認方法としては、プレーヤにルート認証局の公開鍵証明書を持たせそれと比較する方法でもよいし、BD−ROM Discに安全な方法で記録しておいてそれと比較する方法でも良い。   First, when a BD-ROM Disc is inserted into the player and an arbitrary title defined in the IndexTable is started by automatically selecting the top of the IndexTable or by the user selecting it (step S1201), the player selects the title. Referring to the IndexTable in which is defined, the Resource List File of the title associated with the IndexTable or the CAR file is read by the method described above (step S1202). The Resource List File is assumed to take the format described above with reference to FIG. 48 or 50 as an example. Next, signature data (Signature File) is read with reference to the Resource List File (step S1203). The signature data takes the form described above with reference to FIG. 41 as an example, and includes the hash value of the Resource List File to be signed, the signature, and the public key certificate of the studio used for the signature. Next, the player takes out the studio public key certificate included in the signature data. This public key certificate is a general public key certificate. The public key certificate of the studio is used to verify the public key of the studio, the signature of the public key, the signature of the certificate authority, and the signature of the certificate authority. Is included. The player extracts the studio public key from the extracted studio public key certificate (step S1204), and decrypts the signature for the hash value of the Resource List File extracted from the signature data using the public key extracted in step S1204 (step S1204). Step S1205). Next, the hash value of the Resource List File is extracted from the signature data and input to the one-way function to calculate the hash value (step S1206). Next, the decrypted data obtained by decrypting in step S1205 is compared with the hash value obtained by calculating in step S1206 (step S1207). If the decrypted data and the hash value are equal, it is confirmed that the signature data is correct and that the Resource List File has not been forged or falsified, and the process advances to step S1208. If the decrypted data and the hash value are not equal, the Resource List File or the signature data may have been falsified or forged, and the process proceeds to step S1211. In step S1208, the validity of the studio public key certificate included in the signature data is verified. The public key certificate of the studio includes the public key of the studio, the signature of the public key by the certificate authority, and the public key certificate of the signed certificate authority, and the public key certificate included in the public key certificate of the studio The validity of the signature is confirmed using the public key certificate of the certificate authority included in the public key certificate of the studio (the same procedure as in steps S1204 to S1207 in FIG. 50). The public key certificate of the signed certificate authority also includes the public key certificate of the parent certificate authority that has signed the public key of the certificate authority in a chain form. When the validity of the chain of public key certificates of these certificate authorities is confirmed in the same procedure as before, the public key certificate of the certificate authority that is the root is finally obtained. As a method for confirming whether or not the public key certificate of the root certificate authority is authentic, a method may be used in which the player has the public key certificate of the root certificate authority and compared with it, or the BD-ROM Disc is secure. It may be recorded by a method and compared with it.

最終的に得られたルート認証局の公開鍵証明書が正規のものであれば最終的にスタジオの公開鍵証明書が妥当であることが確認され(ステップS1209)、ステップS1210に進み、最終的に当該タイトル(またはCARファイル)のResource List Fileが偽造・改竄されておらず妥当であることが検証される(ステップS1210)。スタジオの公開鍵証明書が妥当でなければステップS1211に進み、Resource List Fileが偽造または改竄されている可能性があることを検出する(ステップS1211)。   If the root certificate authority public key certificate finally obtained is authentic, it is finally confirmed that the studio public key certificate is valid (step S1209), and the process proceeds to step S1210. It is verified that the Resource List File of the title (or CAR file) is not forged or falsified (step S1210). If the public key certificate of the studio is not valid, the process proceeds to step S1211, and it is detected that the Resource List File may be forged or tampered (step S1211).

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

以上、Resource List Fileの妥当性検証方法について図42を用いて述べたが、実際にHTMLおよびスクリプトによるアプリケーションを実行する際はさらにアプリケーションを構成する各ファイルについて図52に示す方法で妥当性を検証する必要がある。   As described above, the validity verification method of the Resource List File has been described with reference to FIG. 42. When actually executing an application using HTML and script, the validity of each file constituting the application is verified by the method shown in FIG. There is a need to.

以下、図52を用いて本実施の形態におけるアプリケーションファイルの妥当性検証方法について述べる。   The application file validity verification method in this embodiment will be described below with reference to FIG.

まずResource List Fileの妥当性検証を完了しておく(ステップS1301)。Toppageが実行されたり、リンクファイル読込などでアプリケーションを構成するファイルが読み込まれると(ステップS1302)、ステップS1302で読み込まれたファイルのファイル名がResource List Fileに記載され、かつResource List Fileに当該ファイルのハッシュ値が記載されているかどうかを確認する(ステップS1303)。読み込んだファイルのファイル名がResource List Fileに記載し、かつハッシュ値が記載されている場合(ステップS1304のyes)はステップS1305に進み、記載されていなければ(ステップS1304のno)ステップS1309へ進む。ステップS1302で読み込まれたファイルのファイル名がResource List Fileに存在しない場合、Resource List File上のToppageを示す情報や、リンク元のHTML Documentが改竄されている可能性がある。また、ハッシュ値が存在しない場合は、制作者であるStudioが当該ファイル(HTML Document)の認証が必要ないとみなしたこととなる。   First, the validity verification of the Resource List File is completed (step S1301). When Toppage is executed or a file constituting an application is read by reading a link file or the like (step S1302), the file name of the file read in step S1302 is described in Resource List File, and the file is included in Resource List File It is confirmed whether or not the hash value is described (step S1303). If the file name of the read file is described in Resource List File and the hash value is described (yes in step S1304), the process proceeds to step S1305, and if not described (no in step S1304), the process proceeds to step S1309. . If the file name of the file read in step S1302 does not exist in the Resource List File, the information indicating the Toppage on the Resource List File and the link source HTML Document may have been falsified. If the hash value does not exist, it is considered that the creator Studio does not need to authenticate the file (HTML Document).

次にステップS1305において、ステップS1302にて読み込んだファイルのハッシュ値を計算する。このときResource List Fileに指定されている形式でハッシュ値を計算する。例えばResource List Fileが図48に示す形式であった場合、<toppage><linkfile>要素においてsha-digest属性が指定されている場合はSHA-1にてハッシュ値を計算し、md5-digest属性が指定されている場合はMD5にてハッシュ値を計算し、二つとも指定されている場合はSHA-1とMD5の二つのハッシュ値を計算するものとする。Resource List Fileが図50に示す形式であった場合は各FileのInformationに計算すべきハッシュ形式が記載されている。   In step S1305, the hash value of the file read in step S1302 is calculated. At this time, the hash value is calculated in the format specified in the Resource List File. For example, if the Resource List File is in the format shown in FIG. 48 and the sha-digest attribute is specified in the <toppage> <linkfile> element, the hash value is calculated with SHA-1, and the md5-digest attribute is If specified, the hash value is calculated by MD5. If both are specified, two hash values of SHA-1 and MD5 are calculated. When the Resource List File has the format shown in FIG. 50, the hash format to be calculated is described in Information of each File.

次に、ステップS1305において計算したハッシュ値と、Resource List Fileに記載された当該ファイルのハッシュ値とを比較する(ステップS1306)。ステップS1305で計算したハッシュ値とResource List Fileに記載された当該ファイルのハッシュ値が等しければ(ステップS1307のyes)、読み込まれたファイルの妥当性が検証されたことになり、当該ファイルは制作者であるSTUDIOに認証され、悪意のある第三者に改竄または偽造されていないファイルであることが確認されたことになる(ステップS1308)。   Next, the hash value calculated in step S1305 is compared with the hash value of the file described in Resource List File (step S1306). If the hash value calculated in step S1305 is equal to the hash value of the file described in the Resource List File (yes in step S1307), the validity of the read file has been verified, and the file is the creator. It is confirmed that the file has been authenticated by STUDIO and has not been falsified or forged by a malicious third party (step S1308).

一方、ステップS1305で計算したハッシュ値とResource List Fileに記載された当該ファイルのハッシュ値が等しくなければ(ステップS1307のno)、読み込まれたファイルは悪意のある第三者に偽造、または改竄された可能性があることになる(ステップS1309)。   On the other hand, if the hash value calculated in step S1305 and the hash value of the file described in the Resource List File are not equal (no in step S1307), the read file is forged or altered by a malicious third party. (Step S1309).

図51で示した手順でResource List Fileの偽造・改竄を検出した場合や図52で示した手順でアプリケーションファイルの偽造・改竄を検出した場合は、当該アプリケーションの実行を拒否しても良いし、プレーヤや保護すべきコンテンツへの影響がない最小限の機能のみ実行できるように制限してアプリケーションを実行しても良い。また、アプリケーション構成ファイル以外のBD-ROMへのアクセスを拒否したり制限したりしても良いし、プレーヤが備えるHDDやフラッシュメモリなどのローカルストレージへのアクセスを拒否したり制限したりしてもよい。また、図52のステップS1304においてResource List Fileに当該ファイルのファイル名が存在しない場合、制作者であるStudioが当該ファイルの認証を必要としないと見なしていることを示すため、プレーヤや保護すべきコンテンツへの影響がない最小限の機能のみ実行できるように制限してアプリケーションを実行しても良い。また、アプリケーション構成ファイル以外のBD-ROMへのアクセスを拒否したり制限したりしても良いし、プレーヤが備えるHDDやフラッシュメモリなどのローカルストレージへのアクセスを拒否したり制限したりしてもよい。   When the forgery / falsification of the Resource List File is detected by the procedure shown in FIG. 51 or when the falsification / falsification of the application file is detected by the procedure shown in FIG. 52, the execution of the application may be rejected. The application may be executed in such a manner that only a minimum function that does not affect the player and the content to be protected can be executed. Also, access to the BD-ROM other than the application configuration file may be denied or restricted, or access to the local storage such as the HDD or flash memory provided in the player may be denied or restricted. Good. In addition, when the file name of the file does not exist in the Resource List File in step S1304 in FIG. 52, this indicates that the producer, Studio, considers that the authentication of the file is not required. The application may be executed with restriction so that only a minimum function that does not affect the content can be executed. Also, access to the BD-ROM other than the application configuration file may be denied or restricted, or access to the local storage such as the HDD or flash memory provided in the player may be denied or restricted. Good.

なお、アプリケーションファイルの妥当性検証は、プレーヤがResource List Fileを読み込んでアプリケーションの妥当性検証が完了した直後に、Resource List Fileに記載されているアプリケーションを構成する全てのファイルに対して行っても良いし、アプリケーションを実行するにあたって必要になったファイルをその都度検証していく方法でも良い。この場合、前記Resource List Fileの妥当性検証が完了した後は、Toppageのみに対してアプリケーションファイルの妥当性検証が行われ、以降、Toppageからリンクを張られるなどしてアプリケーションを実行する上で必要となったファイルに対して逐次妥当性の検証が行われる。   Note that application file validation may be performed on all files that make up the application listed in the Resource List File immediately after the player reads the Resource List File and the application validation is completed. It is also possible to use a method of verifying the files that are necessary for executing the application each time. In this case, after the validation of the Resource List File is completed, the validation of the application file is performed only on the Toppage, and then necessary for executing the application by establishing a link from the Toppage. The validity of each file is verified sequentially.

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

(実施例4)
次に本発明の第4の実施の形態について説明する。
第4の実施の形態は、BD−ROMにおいて、ネットワーク上のアプリケーションの妥当性を検証し、最適な実行権限をもって実行されることを保証するための環境を導入することに関する内容である。基本的には第1の実施例と第2の実施例と第3の実施例とに基づく内容であり、拡張または異なる部分を中心に説明する。
Example 4
Next, a fourth embodiment of the present invention will be described.
The fourth embodiment relates to the introduction of an environment for verifying the validity of an application on a network and ensuring that it is executed with an optimal execution authority in a BD-ROM. Basically, the contents are based on the first embodiment, the second embodiment, and the third embodiment, and the description will be focused on the expanded or different portions.

(Disc上のアプリケーション認証)
インターネット上のコンテンツサーバに配置されたHTMLおよびスクリプトによるアプリケーションをBD-ROM Disc上のアプリケーションと同様に実行可能とした場合、ネットワーク上を流れるアプリケーションが改竄されたり、悪意のあるサーバに接続したりコンテンツサーバが詐称されたりすることでユーザが悪意のあるアプリケーションを実行してしまう可能性がある。このような悪意のある第三者によって偽造または改竄されたプログラムをプレーヤで実行した場合、プレーヤのシステムが破壊されたり、正規の情報記録媒体に記録された映像データが盗まれたり改竄されるといった深刻な問題が発生する可能性がある。
(Application authentication on Disc)
When an application using HTML and script placed on a content server on the Internet can be executed in the same way as an application on a BD-ROM Disc, the application that flows on the network is altered, the content is connected to a malicious server, etc. There is a possibility that a user may execute a malicious application by misrepresenting the server. When a program forged or altered by a malicious third party is executed by a player, the player system is destroyed, or video data recorded on a legitimate information recording medium is stolen or altered. Serious problems can occur.

しかしながら、既存の技術ではBD-ROM Disc上のアプリケーションと同様にインターネット上のコンテンツサーバに配置されたHTML およびスクリプトによるアプリケーションを認証する仕組みがなかった。   However, in the existing technology, there is no mechanism for authenticating HTML and script applications placed on content servers on the Internet, as well as applications on BD-ROM Discs.

したがってこの問題を解決するため、例えば、前述の方法で認証されたBD-ROM Disc上のアプリケーションからアクセスしたインターネット上のアプリケーションは同様に信頼するという方法がある。しかしこれは悪意のあるサーバへのアクセスを回避できるだけである。したがって、そのほかの方法としてインターネット上のコンテンツサーバに配置されたHTMLおよびスクリプトによるアプリケーションにアクセスする場合にHTTPSを用いる方法がある。これにより、コンテンツサーバの詐称や受信し実行するアプリケーションの構成ファイルの偽造・改竄を防ぐことができる。   Therefore, in order to solve this problem, for example, there is a method in which an application on the Internet accessed from an application on the BD-ROM disc authenticated by the above-described method is similarly trusted. But this can only avoid access to malicious servers. Therefore, as another method, there is a method of using HTTPS when accessing an application using HTML and script arranged in a content server on the Internet. As a result, it is possible to prevent content server misrepresentation and forgery / falsification of a configuration file of an application to be received and executed.

しかしながらHTTPSの処理は処理負荷が高く、時間も掛かるため、認証の必要なコンテンツサーバ上のアプリケーションへのアクセスに常にHTTPSを用いると、アプリケーション全体のパフォーマンスが落ちてしまうという問題があった。   However, HTTPS processing has a high processing load and takes time, and if HTTPS is always used to access an application on a content server that requires authentication, the performance of the entire application is degraded.

そこで本実施の形態では、インターネット上のコンテンツサーバに配置されたHTML およびスクリプトによるアプリケーションを負荷が軽く、かつ安全に認証出来る仕組みを提供する。   Therefore, in the present embodiment, a mechanism is provided that allows light and safe authentication of HTML and script applications placed on content servers on the Internet.

(Network Resource List)
以下、本実施の形態におけるコンテンツサーバ上のアプリケーションの認証方法の概要を図53を用いて説明する。
(Network Resource List)
The outline of the application authentication method on the content server in the present embodiment will be described below with reference to FIG.

まずBDプレーヤは認証の必要なアプリケーションが格納されているコンテンツサーバから、Network Resource List Fileをダウンロードする(図53の(1))。Network Resource Listのデータ形式については後述する。なお、Network Resource Listは当該タイトルに関連づけられるものであり、Index TableやIndex Tableから関連づけられたタイトル定義、当該タイトルのCARファイル、CARファイル中のResource List Fileなどのいずれかに位置情報が記述されているものとする。また、Network Resource Listは各タイトルにおいて複数していされても良い。なお、BDプレーヤは当該タイトルの開始時にNetwork Resource Listをダウンロードしてもよいし、実際にネットワーク上のリンクファイルが必要になった段階でダウンロードしてもよい。また、一度ダウンロードしたNetwork Resource Listをバッファにキャッシュしておいても良いが、例えばダウンロードにHTTPを用いる場合、HTTP HEADメソッドなどでNetwork Resource Listの更新日時を取得し、常に最新のNetwork Resource Listを確認してもよい。   First, the BD player downloads a Network Resource List File from a content server storing an application that requires authentication ((1) in FIG. 53). The data format of the Network Resource List will be described later. The Network Resource List is associated with the title, and the location information is described in the Index Table, the title definition associated from the Index Table, the CAR file of the title, the Resource List File in the CAR file, etc. It shall be. A plurality of Network Resource Lists may be provided for each title. Note that the BD player may download the Network Resource List at the start of the title, or may download it when a link file on the network is actually needed. In addition, once downloaded Network Resource List may be cached in the buffer, but when using HTTP for downloading, for example, the update date and time of Network Resource List is obtained by HTTP HEAD method etc., and the latest Network Resource List is always updated. You may check.

次にBDプレーヤは(1)でダウンロードしたNetwork Resource Listの妥当性を確認する(図53の(2))。詳しくは図56と図57を用いて後述するが、妥当性の検証方法としてはHTTPSを使う方法と署名を使う方法とがある。   Next, the BD player confirms the validity of the Network Resource List downloaded in (1) ((2) in FIG. 53). Although details will be described later with reference to FIGS. 56 and 57, there are two methods for verifying validity: a method using HTTPS and a method using a signature.

次にBDプレーヤはタイトル実行において実際に必要となったリンクファイルをダウンロードする(図53の(3))。この際、事前にリンクファイルのエントリが(1)でダウンロードしたNetwork Resource Listに存在することを確認しておく。   Next, the BD player downloads the link file that is actually necessary for the title execution ((3) in FIG. 53). At this time, it is confirmed in advance that the entry of the link file exists in the Network Resource List downloaded in (1).

次にBDプレーヤは(3)でダウンロードしたリンクファイルのハッシュ値を計算する(図53の(4))。   Next, the BD player calculates the hash value of the link file downloaded in (3) ((4) in FIG. 53).

次にBDプレーヤは(4)で計算したハッシュ値と、(1)でダウンロードしたNetwork Resource Listに記載された当該リンクファイルのハッシュ値とが等しいかどうかを確認する(図53の(5))。これが等しい場合、ダウンロードしたリンクファイルはコンテンツサーバが公開している正規のリンクファイルであり、ダウンロード中などに改竄されていないことを確認出来る。   Next, the BD player checks whether the hash value calculated in (4) is equal to the hash value of the link file described in the Network Resource List downloaded in (1) ((5) in FIG. 53). . If they are equal, it can be confirmed that the downloaded link file is a regular link file published by the content server and has not been tampered with during downloading.

以上、本発明におけるコンテンツサーバ上のアプリケーションの認証方法の概要を述べた。   The outline of the application authentication method on the content server in the present invention has been described above.

なお、コンテンツサーバにおいて、BDプレーヤが正規のプレーヤであるか、例えばコンテンツサーバにアクセス可能なDiscを実行しているのかを判別したいというニーズも存在する。この場合、例えば図53の(1)や図53の(3)などでNetwork Resource Listやリンクファイルをダウンロードする際に、クライアント認証を有効としたHTTPSコネクションを必須としたり、HTTPにてNetwork Resource Listをダウンロードする際に例えばCARファイルに特別に記録されたIDとPasswordなどDiscにアクセスできなければ知り得ない情報をURLエンコードした上でHTTP GET要求を投げる方法などがある。またこの際、例えば図53の(1)でBDプレーヤがNetwork Resource Listをダウンロードしに来た際にクライアント認証し、その際のBDプレーヤのIPアドレスを記録し、以降のリンクファイルダウンロードは記録しておいたIPアドレスをもつBDプレーヤにのみ許可することで、HTTPSやURLエンコードなどによるクライアント認証の回数を軽減することができる。   In the content server, there is a need to determine whether the BD player is a legitimate player, for example, executing a Disc accessible to the content server. In this case, for example, when downloading a Network Resource List or a link file in (1) of FIG. 53 or (3) of FIG. 53, an HTTPS connection with client authentication enabled is required, or a Network Resource List in HTTP For example, there is a method of sending an HTTP GET request after URL-encoding information that cannot be known unless you can access the Disc such as ID and Password specially recorded in the CAR file. At this time, for example, when the BD player comes to download the Network Resource List in (1) of FIG. 53, client authentication is performed, and the IP address of the BD player at that time is recorded, and subsequent link file download is recorded. By permitting only the BD player with the specified IP address, it is possible to reduce the number of times of client authentication by HTTPS or URL encoding.

図54に本実施の形態によるコンテンツサーバ上のアプリケーションの認証方法を導入した場合のXML形式のNetwork Resource Listの例を示す。図54に示すようにXML形式によるNetwork Resource Listはxml宣言と<NetworkResource>要素、そして<NetworkResource>要素の子要素である<linkfile要素と<signature>要素からなる。   FIG. 54 shows an example of a network resource list in XML format when the application authentication method on the content server according to the present embodiment is introduced. As shown in FIG. 54, the Network Resource List in the XML format includes an xml declaration, a <NetworkResource> element, and a <linkfile element and a <signature> element which are child elements of the <NetworkResource> element.

<NetworkResource>要素はbase属性を持ち、当該NetworkResourceに記載されたリンクファイルを格納しているコンテンツサーバとリンクファイルの格納位置(Base-URL)がURL形式で記述されている。<linkfile>要素は、当該タイトルにおいて認証したいコンテンツサーバ上のリンクファイルが記述されるもので、src属性にリンクファイルのURLが記述され、sha-digest属性またはmd5-digest属性に当該リンクファイルのハッシュ値がSHA-1形式またはMD5形式で記述される。<signature>要素はNetwork Resource Listの妥当性をNetwork Resource Listに対する署名により検証する際に用いるものであり、src属性にNetwork Resource Listの署名データのURLが記述され、sig-type属性に署名データの形式が記述される。なおNetwork Resource Listの妥当性をHTTPSで検証する場合や、Network Resource Listの署名データに関する情報がNetwork Resource List以外の、例えば当該タイトルのCARなどに記述される場合は<signature>要素は不要であり記述されない。   The <NetworkResource> element has a base attribute, and the content server storing the link file described in the NetworkResource and the storage location (Base-URL) of the link file are described in the URL format. The <linkfile> element describes the link file on the content server that you want to authenticate in the title, the URL of the link file is described in the src attribute, and the hash of the link file in the sha-digest or md5-digest attribute The value is described in SHA-1 format or MD5 format. The <signature> element is used when verifying the validity of the Network Resource List by using the signature for the Network Resource List. The URL of the Network Resource List signature data is described in the src attribute, and the signature data in the sig-type attribute. The format is described. Note that the <signature> element is not required when verifying the validity of the Network Resource List using HTTPS, or when information related to the signature data of the Network Resource List is described in a CAR other than the Network Resource List, such as the CAR of the title. Not described.

次に図55に本実施の形態によるコンテンツサーバ上のアプリケーションの認証方法を導入した場合のバイナリ形式のNetwork Resource Listの例を示す。   Next, FIG. 55 shows an example of a binary network resource list when the application authentication method on the content server according to the present embodiment is introduced.

<Network Resource List File>
バイナリー形式のNetwork Resource List fileは、Base InfoとBase Directoryから構成される。Base Infoは、当該Network Resource Listに記載されているリンクファイルが格納されているコンテンツサーバの位置情報やリンクファイルがコンテンツサーバ上に配置されるルートディレクトリ情報などNetwork Resource List File全般に関わる情報が記載される。
<Network Resource List File>
The network resource list file in binary format is composed of Base Info and Base Directory. Base Info describes information related to the entire Network Resource List File, such as the location information of the content server storing the link file described in the Network Resource List and the root directory information where the link file is placed on the content server. Is done.

<Base Directory>
Base Directoryは、コンテンツサーバ上に格納されているリンクファイルの配置位置がディレクトリ構造情報として記載されており、Information、Numberと、Base Infoに記載されているルートディレクトリをトップディレクトリとして、その1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Base Directoryに関する情報が記載される。Network Resource Listの妥当性をNetwork Resource Listに対する署名により検証する場合は、Network Resource Listへの署名データの配置状態がSignature Fileとして最初に記録されており、属性情報が記載されているInformationと署名データの名前が記載されている。
<Base Directory>
In the Base Directory, the location of the link file stored on the content server is described as directory structure information. The root directory described in Information, Number, and Base Info is the top directory, and one level below it. It is comprised from Directory and File arrange | positioned. The total number of Directories and Files is the number described in Number. In Information, information related to Base Directory is described. When verifying the validity of the Network Resource List by using the signature for the Network Resource List, the information and signature data in which attribute data is described are recorded first as the signature file, and the signature data placement state in the Network Resource List is recorded. The name of is listed.

<Directory>
Directoryは、Information、Numberと、本Directoryの1段下に配置されるDirectory、Fileから構成される。DirectoryとFileの合計数は、Numberに記載された数となる。Informationには、Directoryの名前や本Directoryの属性情報が記載される。さらに配下に配置されたDirectoryは、本Directoryと同じ構成となる。
<Directory>
The directory is composed of an information and a number, and a directory and a file arranged one stage below the directory. The total number of Directories and Files is the number described in Number. In the Information, the name of the Directory and the attribute information of the Directory are described. Further, the directory arranged under the subordinate has the same configuration as that of the present directory.

<File>
Fileは、Information、Name、Hash Valueから構成される。Informationには、当該リンクファイルの属性情報が記載される。Nameはリンクファイルの名前が記載されている。Hash Valeには当該リンクファイルのハッシュ値が記載されている。
<File>
The file is composed of information, name, and hash value. Information includes attribute information of the link file. Name is the name of the link file. Hash Vale describes the hash value of the link file.

以下、Network Resource Listの妥当性検証に署名を用いた場合の検証方法について、図56を用いて説明する。   Hereinafter, a verification method when a signature is used for validity verification of the Network Resource List will be described with reference to FIG.

BDプレーヤは当該タイトルにおいてインターネット上のコンテンツサーバに配置されたリンクファイルが実際に必要になりネットワーク接続を開始した時点またはそれより前に(ステップS1401)、本処理を行う。   The BD player performs this processing at the time when the link file arranged in the content server on the Internet in the title is actually needed or before the network connection is started (step S1401).

まず、BDプレーヤはIndexTableに関連づけられたタイトル定義やCARファイル中のResource List Fileなどで指定された当該コンテンツサーバのNetwork Resource List Fileの位置情報(URL)に基づき、Network Resource Listをダウンロードする(ステップS1402)。Network Resource List Fileは例として図54または図55を用いて前述した形式をとるものとする。なお、この際必要に応じてNetwork Resource List File に記載されたコンテンツサーバの位置情報がダウンロード元のコンテンツサーバのものと同一であることを確認しておく。   First, the BD player downloads the Network Resource List based on the position information (URL) of the Network Resource List File of the content server specified by the title definition associated with the IndexTable or the Resource List File in the CAR file (Step S1). S1402). As an example, the Network Resource List File is assumed to have the format described above with reference to FIG. 54 or FIG. At this time, if necessary, it is confirmed that the location information of the content server described in the Network Resource List File is the same as that of the download source content server.

次にBDプレーヤは、Network Resource ListまたはIndexTableに関連づけられたタイトル定義、CARファイル中のResource List Fileなどで指定された、当該Network Resource List Fileの署名データの位置情報(URL)に基づき、Network Resource Listの署名データをダウンロードする(ステップS1403)。署名データは例として図41を用いて前述した形式をとるものとし、署名の対象となるNetwork Resource List Fileのハッシュ値と、その署名、署名に用いたスタジオの公開鍵証明書を含む。   Next, the BD player uses the Network Resource List or IndexTable to define the Network Resource List based on the location information (URL) of the signature data of the Network Resource List File specified by the Resource List File in the CAR file. List signature data is downloaded (step S1403). The signature data takes the form described above with reference to FIG. 41 as an example, and includes the hash value of the Network Resource List File to be signed, the signature, and the public key certificate of the studio used for the signature.

次にプレーヤは署名データに含まれるスタジオの公開鍵証明書を取り出す(ステップS1404)。この公開鍵証明書は一般的な公開鍵証明書であり、スタジオの公開鍵と、その公開鍵に対する認証局による署名、認証局による署名を照合するために用いる認証局の公開鍵証明書のチェーンが含まれる。プレーヤは取り出したスタジオの公開鍵証明書からスタジオの公開鍵を取り出し、署名データから取り出したResource List Fileのハッシュ値に対する署名をステップS1204で取り出した公開鍵を用いて復号化する(ステップS1405)。次に、署名データからNetwork Resource List Fileのハッシュ値を取り出して一方向関数に入力してハッシュ値を計算する(ステップS1406)。一方向関数の例としては例えばSHA-1やMD5などがある。   Next, the player takes out the studio public key certificate included in the signature data (step S1404). This public key certificate is a general public key certificate. The public key certificate of the studio is used to verify the public key of the studio, the signature of the public key, the signature of the certificate authority, and the signature of the certificate authority. Is included. The player extracts the studio public key from the extracted studio public key certificate, and decrypts the signature for the hash value of the Resource List File extracted from the signature data using the public key extracted in step S1204 (step S1405). Next, the hash value of the Network Resource List File is extracted from the signature data and input to the one-way function to calculate the hash value (step S1406). Examples of one-way functions include SHA-1 and MD5.

次に、ステップS1405で復号化して得た復号化データと、ステップS1406で計算して得たハッシュ値とを比較する(ステップS1407)。   Next, the decrypted data obtained by decrypting in step S1405 is compared with the hash value obtained in step S1406 (step S1407).

復号化データとハッシュ値が等しい場合は、署名データが正しければNetwork Resource List Fileが妥当であって偽造または改竄されていないことが確認されたこととなり、ステップS1408に進む。復号化データとハッシュ値が等しくない場合は、Network Resource List Fileか署名データが改竄または偽造されたことが考えられ、ステップS1411に進む。   If the decrypted data and the hash value are the same, if the signature data is correct, it is confirmed that the Network Resource List File is valid and has not been forged or falsified, and the process advances to step S1408. If the decrypted data and the hash value are not equal, it is possible that the Network Resource List File or the signature data has been tampered with or forged, and the process proceeds to step S1411.

次にステップS1408において、署名データに含まれるスタジオの公開鍵証明書の妥当性を検証していく。スタジオの公開鍵証明書にはスタジオの公開鍵と公開鍵に対する認証局による署名と署名した認証局の公開鍵証明書が含まれており、スタジオの公開鍵証明書の中に含まれる公開鍵の署名の妥当性をスタジオの公開鍵証明書の中に含まれる認証局の公開鍵証明書を用いて確認(図56のステップS1404からステップS1407までと同様の手順)する。署名した認証局の公開鍵証明書にもさらに当該認証局の公開鍵を署名した親となる認証局の公開鍵証明書が含まれており、チェーン状になっている。これらの認証局の公開鍵証明書のチェーンを先ほどと同様の手順で妥当性を確認していくと最終的にはルートとなる認証局の公開鍵証明書が得られる。ルート認証局の公開鍵証明書が正規のものであるかどうかの確認方法としては、BDプレーヤにルート認証局の公開鍵証明書を持たせそれと比較する方法でもよいし、BD−ROM Discに安全な方法で記録しておいてそれと比較する方法でも良い。   In step S1408, the validity of the studio public key certificate included in the signature data is verified. The public key certificate of the studio includes the public key of the studio, the signature of the public key by the certificate authority, and the public key certificate of the signed certificate authority, and the public key certificate included in the public key certificate of the studio The validity of the signature is confirmed using the public key certificate of the certificate authority included in the public key certificate of the studio (the same procedure as in steps S1404 to S1407 in FIG. 56). The public key certificate of the signed certificate authority also includes the public key certificate of the parent certificate authority that has signed the public key of the certificate authority in a chain form. When the validity of the chain of public key certificates of these certificate authorities is confirmed in the same procedure as before, the public key certificate of the certificate authority that is the root is finally obtained. As a method for confirming whether or not the public key certificate of the root certificate authority is authentic, a method of giving the BD player the public key certificate of the root certificate authority and comparing it with the public key certificate may be used. It is also possible to record by a simple method and compare with that.

最終的に得られたルート認証局の公開鍵証明書が正規のものであれば最終的にスタジオの公開鍵証明書が妥当であることが確認され(ステップS1409のYes)、ステップS1410に進み、最終的に当該コンテンツサーバのNetwork Resource List Fileが偽造・改竄されておらず妥当であることが検証される(ステップS1410)。スタジオの公開鍵証明書が妥当でなければステップS1411に進み、Network Resource List Fileが偽造または改竄されている可能性があることを検出する(ステップS1411)。   If the finally obtained root certificate authority public key certificate is authentic, it is finally confirmed that the studio public key certificate is valid (Yes in step S1409), and the process proceeds to step S1410. Finally, it is verified that the Network Resource List File of the content server is not forged or falsified (step S1410). If the studio public key certificate is not valid, the process advances to step S1411 to detect that the Network Resource List File may be forged or falsified (step S1411).

次に、Network Resource Listの妥当性検証にHTTPSを用いた場合の検証方法について、図57を用いて説明する。   Next, a verification method when HTTPS is used for validity verification of the Network Resource List will be described with reference to FIG.

BDプレーヤは当該タイトルにおいてインターネット上のコンテンツサーバに配置されたリンクファイルが実際に必要になりネットワーク接続を開始した時点またはそれより前に(ステップS1501)、本処理を行う。   The BD player performs this processing at the time when the link file arranged in the content server on the Internet in the title is actually needed or before the network connection is started (step S1501).

まず、BDプレーヤはIndexTableに関連づけられたタイトル定義やCARファイル中のResource List Fileなどで指定された当該コンテンツサーバとの間にHTTPSコネクションを確立する(ステップS1502)。HTTPS確立に必要な認証局の公開鍵証明書はBDプレーヤにあらかじめ持たせておく方法でも良いし、BD−ROM Discに安全な方法で記録しておいてそれを用いる方法でも良い。また、前述したように必要に応じてHTTPSによるコンテンツサーバのサーバ認証だけでなくBDプレーヤのクライアント認証を行っても良い。   First, the BD player establishes an HTTPS connection with the content server specified by the title definition associated with IndexTable, the Resource List File in the CAR file, or the like (step S1502). The public key certificate of the certificate authority necessary for establishing HTTPS may be stored in the BD player in advance, or may be recorded on the BD-ROM Disc using a secure method and used. Further, as described above, not only server authentication of the content server by HTTPS but also client authentication of the BD player may be performed as necessary.

HTTPSコネクションの確立に成功すると(ステップS1503のYes)、ステップS1504に進む。HTTPSコネクションの確立に失敗した場合(ステップS1503のNo)、Network Resource List Fileを安全に取得出来ないことになり、以後のリンクファイルのダウンロードにおいて偽造・改竄が発生してもそれを検知することができなくなる(ステップS1506)。したがって、以後、当該コンテンツサーバ上のリンクファイルによるアプリケーションの実行を禁止しても良いし、システムに悪影響を及ぼしかねない機能の実行や保護すべきコンテンツへのアクセスを禁止した上で実行しても良い。   If the establishment of the HTTPS connection is successful (Yes in step S1503), the process proceeds to step S1504. If the establishment of the HTTPS connection has failed (No in step S1503), the Network Resource List File cannot be acquired safely, and it can be detected even if forgery / tampering occurs in the subsequent download of the link file. It becomes impossible (step S1506). Therefore, thereafter, the execution of the application by the link file on the content server may be prohibited, or the execution of the function that may adversely affect the system or the access to the content to be protected may be prohibited. good.

次にBDプレーヤはIndexTableに関連づけられたタイトル定義やCARファイル中のResource List Fileなどで指定された当該コンテンツサーバのNetwork Resource List Fileの位置情報(URL)に基づき、前記ステップS1502で確立したHTTPSコネクションを用いてNetwork Resource Listをダウンロードする(ステップS1504)。Network Resource List Fileは例として図54または図55を用いて前述した形式をとるものとする。なお、この際必要に応じてNetwork Resource List File に記載されたコンテンツサーバの位置情報がダウンロード元のコンテンツサーバのものと同一であることを確認しておく。   Next, the BD player uses the HTTPS connection established in step S1502 based on the title definition associated with IndexTable and the location information (URL) of the Network Resource List File of the content server specified by the Resource List File in the CAR file. The Network Resource List is downloaded using (Step S1504). As an example, the Network Resource List File is assumed to have the format described above with reference to FIG. 54 or FIG. At this time, if necessary, it is confirmed that the location information of the content server described in the Network Resource List File is the same as that of the download source content server.

上記までの処理によりBDプレーヤは当該コンテンツサーバのNetwork Resource List Fileを偽造や改竄無く入手することができる(ステップS1505)。   Through the above processing, the BD player can obtain the Network Resource List File of the content server without forgery or falsification (step S1505).

以下、図58を用いて本実施の形態における、コンテンツサーバ上のアプリケーションを構成するリンクファイルの妥当性検証方法について述べる。   Hereinafter, the validity verification method of the link file constituting the application on the content server in this embodiment will be described with reference to FIG.

まず図56または図57を用いて述べた方法でNetwork Resource List Fileの妥当性の検証を完了しておく。その上でInternet上のコンテンツサーバに配置されたアプリケーションを構成するリンクファイルへのアクセスが発生すると(ステップS1601)、まずアクセスするリンクファイルのファイル名とそのハッシュ値がNetwork Resource List Fileに存在するかどうかを確認する(ステップS1602)。   First, the verification of the validity of the Network Resource List File is completed by the method described with reference to FIG. 56 or FIG. Then, when access to the link file that constitutes the application arranged in the content server on the Internet occurs (step S1601), first, whether the file name of the link file to be accessed and its hash value exist in the Network Resource List File. It is confirmed whether or not (step S1602).

アクセスするリンクファイルのファイル名とそのハッシュ値がNetwork Resource List Fileに存在する場合(ステップS1603のyes)はステップS1604に進み、記載されていなければ(ステップS1603のno)ステップS1609へ進む。この場合、リンク元のHTML Documentが改竄されている可能性がある。また、ハッシュ値が存在しない場合は制作者であるStudioが当該ファイル(HTML Document)の認証が必要ないとみなしたこととなる。   If the file name of the link file to be accessed and its hash value exist in the Network Resource List File (yes in step S1603), the process proceeds to step S1604. If not described (no in step S1603), the process proceeds to step S1609. In this case, the link source HTML Document may have been tampered with. If the hash value does not exist, it means that the creator Studio does not need to authenticate the file (HTML Document).

次にステップS1604において、インターネット上のコンテンツサーバに配置されたリンクファイルをダウンロードする。   In step S1604, the link file arranged in the content server on the Internet is downloaded.

次にステップS1604にてダウンロードしたリンクファイルのハッシュ値を計算する(ステップS1605)。このときNetwork Resource List Fileに指定されている形式でハッシュ値を計算する。例えばNetwork Resource List Fileが図54に示すXML形式であった場合、<linkfile>要素においてsha-digest属性が指定されている場合はSHA-1にてハッシュ値を計算し、md5-digest属性が指定されている場合はMD5にてハッシュ値を計算し、二つとも指定されている場合はSHA-1とMD5の二つのハッシュ値を計算するものとする。Network Resource List Fileが図55に示す形式であった場合は各FileのInformationに計算すべきハッシュ形式が記載されている。   Next, the hash value of the link file downloaded in step S1604 is calculated (step S1605). At this time, the hash value is calculated in the format specified in the Network Resource List File. For example, if the Network Resource List File is in the XML format shown in FIG. 54, if the <linkfile> element specifies the sha-digest attribute, the hash value is calculated with SHA-1 and the md5-digest attribute is specified. If it is, MD5 calculates the hash value, and if both are specified, two hash values, SHA-1 and MD5, are calculated. When the Network Resource List File has the format shown in FIG. 55, the hash format to be calculated is described in Information of each File.

次に、ステップS1605において計算したハッシュ値と、Network Resource List Fileに記載された当該リンクファイルのハッシュ値とを比較する(ステップS1606)。ステップS1605で計算したハッシュ値とNetwork Resource List Fileに記載された当該ファイルのハッシュ値が等しければ(ステップS1607のyes)、ダウンロードしたリンクファイルの妥当性が検証されたことになり、当該リンクファイルは制作者であるSTUDIOに認証され、悪意のある第三者に改竄または偽造されていないリンクファイルであることが確認されたことになる(ステップS1608)。   Next, the hash value calculated in step S1605 is compared with the hash value of the link file described in the Network Resource List File (step S1606). If the hash value calculated in step S1605 is equal to the hash value of the file described in the Network Resource List File (yes in step S1607), the validity of the downloaded link file has been verified, and the link file is It is confirmed that the link file is authenticated by the creator STUDIO and has not been falsified or forged by a malicious third party (step S1608).

一方、ステップS1605で計算したハッシュ値とNetwork Resource List Fileに記載された当該リンクファイルのハッシュ値が等しくなければ(ステップS1607のno)、ダウンロードしたリンクファイルは悪意のある第三者に偽造、または改竄された可能性があることになる(ステップS1609)。   On the other hand, if the hash value calculated in Step S1605 and the hash value of the link file described in the Network Resource List File are not equal (No in Step S1607), the downloaded link file is forged by a malicious third party, or There is a possibility of falsification (step S1609).

以上、本実施の形態によるネットワーク上のアプリケーションの妥当性検証方法について述べたが、本検証方法により、BDプレーヤはインターネット上のコンテンツサーバに配置されたアプリケーションを安全にダウンロードし、妥当性を検証した上で実行することができる。さらに妥当性の検証をそれほど処理負荷をかけずに実施することができる。   As described above, the validity verification method of the application on the network according to the present embodiment has been described. With this verification method, the BD player downloads the application arranged on the content server on the Internet safely and verifies the validity. Can be run on. Further, the validity can be verified without imposing much processing load.

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

DVDの構成図DVD configuration diagram ハイライトの構成図Highlight configuration diagram DVDでの多重化の例を示す図Diagram showing an example of multiplexing on a DVD BD−ROMのデータ階層図Data hierarchy diagram of BD-ROM BD−ROM上の論理空間の構成図Configuration diagram of logical space on BD-ROM BD−ROMプレーヤの概要ブロック図Outline block diagram of BD-ROM player BD−ROMプレーヤの構成ブロック図Configuration block diagram of BD-ROM player BD−ROMのアプリケーション空間の説明図BD-ROM application space explanatory diagram MPEGストリーム(VOB)の構成図Configuration diagram of MPEG stream (VOB) パックの構成図Pack configuration diagram AVストリームとプレーヤ構成の関係を説明する図The figure explaining the relationship between AV stream and a player structure トラックバッファへのAVデータ連続供給モデル図AV data continuous supply model diagram to track buffer VOB情報ファイル構成図VOB information file configuration diagram タイムマップの説明図Illustration of time map タイムマップを使ったアドレス情報取得方法説明図How to get address information using time map プレイリストファイルの構成図Playlist file structure diagram プレイリストに対応するプログラムファイルの構成図Configuration diagram of program files corresponding to playlists BDディスク全体管理情報ファイルの構成図BD disk overall management information file configuration diagram グローバルイベントハンドラを記録するファイルの構成図Diagram of the file that records global event handlers タイムイベントの例を説明する図Diagram explaining examples of time events ユーザイベントの例を説明する図Diagram explaining examples of user events グローバルイベントハンドラの例を説明する図Diagram explaining an example of a global event handler 仮想マシンの構成図Virtual machine configuration diagram プレーヤ変数テーブルの図Diagram of player variable table イベントハンドラ(タイムイベント)の例を示す図Figure showing an example of event handler (time event) イベントハンドラ(ユーザイベント)の例を示す図Diagram showing an example of event handler (user event) プレーヤの基本処理のフローチャートFlow chart of basic processing of player プレイリスト再生処理のフローチャートFlow chart of playlist playback processing イベント処理のフローチャートEvent processing flowchart 字幕処理のフローチャートSubtitle processing flowchart モジュール構成や制御の流れを説明する図Diagram explaining module configuration and control flow Index TableとHTMLファイルの関係を説明する図Diagram explaining the relationship between Index Table and HTML file ボタンが表示されるHTMLファイルの例Example of an HTML file that displays buttons データのライフサイクルを説明する説明図Explanatory drawing explaining the life cycle of data データのライフサイクルを説明するタイミングチャートTiming chart explaining the data life cycle データを1つにまとめる方法を説明する図Diagram explaining how to combine data into one データを1つにまとめる方法を説明する図Diagram explaining how to combine data into one Title起動と文書遷移におけるの処理のフローチャートFlow chart of processing in Title activation and document transition XML形式のResource List Fileの例を示す図Diagram showing an example of a Resource List File in XML format バイナリー形式のResource List File構造図Resource List File structure diagram in binary format ディスク上のHTMLとWeb上のHTMLの関係を説明する図The figure explaining the relationship between HTML on the disk and HTML on the Web バイナリー形式のResource List File構造図Resource List File structure diagram in binary format 文書遷移が発生した場合の処理のフローチャートFlow chart of processing when document transition occurs エラーが発生した場合のエラー提示画面を説明する図Figure explaining the error presentation screen when an error occurs エラーが発生した場合の処理のフローチャートFlow chart of processing when an error occurs 偽造・改竄されたアプリケーションについて説明する図Diagram explaining forged / tampered application アプリケーション認証の概要を説明する図Diagram explaining the outline of application authentication アプリケーション認証機能を備えたXML形式のResource ListFileの例を示す図Diagram showing an example of an XML-format Resource ListFile with an application authentication function 署名データの構成図Diagram of signature data アプリケーション認証機能を備えたバイナリ形式のResource ListFileの例を示す図Diagram showing an example of a Resource ListFile in binary format with application authentication function Resource List Fileの妥当性検証処理のフローチャートFlow chart of validation process of Resource List File アプリケーション構成ファイルの妥当性検証処理のフローチャートFlowchart of validation process of application configuration file コンテンツサーバ上のアプリケーション認証の概要を説明する図Diagram explaining the outline of application authentication on the content server XML形式のNetwork Resource List Fileの例を示す図Figure showing an example of an XML format Network Resource List File バイナリ形式のNetwork Resource List Fileの例を示す図Figure showing an example of Network Resource List File in binary format 署名によるResource List Fileの妥当性検証処理のフローチャートFlowchart of Resource List File validation process using signature HTTPSによるResource List Fileの妥当性検証処理のフローチャートFlowchart of Resource List File validation process using HTTPS リンクファイルの妥当性検証処理のフローチャートFlow chart of link file validation process

符号の説明Explanation 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 ドライブコントローラ
400 の論理ファイルツリー
401 Content Archive File
402 Resource List File
410 HTML Browser
420 エラー用HTMLファイル
S101 ディスク挿入ステップ
S102 BD.INFO読み込みステップ
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再生終了ステップ
S406 次セル存在判定ステップ
S501 プレイリスト再生開始ステップ
S502 プレイリスト再生終了判定ステップ
S503 タイムイベント時刻判定ステップ
S504 イベント生成ステップ
S505 イベントハンドラ実行ステップ
S601 プレイリスト再生開始ステップ
S602 プレイリスト再生終了判定ステップ
S603 UOP受付判定ステップ
S604 UOPイベント生成ステップ
S605 メニューコール判定ステップ
S606 ユーザーイベント有効期間判定ステップ
S607 イベント生成ステップ
S608 イベントハンドラ実行ステップ
S701 プレイリスト再生開始ステップ
S702 プレイリスト再生終了判定ステップ
S703 字幕描画開始判定ステップ
S704 字幕描画ステップ
S705 字幕表示終了判定ステップ
S706 字幕消去ステップ
S801 タイトル起動ステップ
S802 CARファイルPreloadステップ
S803 Resource List File読込みステップ
S804 HTMLファイルの読込みステップ
S805 画面の提示ステップ
S901 文書遷移操作ステップ
S902 タイトル判断ステップ
S903 Resource List File読込みステップ
S904 HTMLファイルの読込みステップ
S905 画面の提示ステップ
S1001 文書遷移操作ステップ
S1002 タイトル判断ステップ
S1003 Resource List File読込みステップ
S1004 HTMLファイルの読込みステップ
S1005 画面の提示ステップ
S1101 エラー発生ステップ
S1102 Resource List File読込みステップ
S1103 HTMLファイルの読込みステップ
S1104 画面の提示ステップ
S1201 タイトル開始ステップ
S1202 Resource List File読込ステップ
S1203 署名データ読込ステップ
S1204 公開鍵抽出ステップ
S1205 署名復号化ステップ
S1206 署名検証用ハッシュ値計算ステップ
S1207 署名判定ステップ
S1208 公開鍵証明書照合ステップ
S1209 公開鍵証明書判定ステップ
S1210 アプリケーション妥当性検証完了ステップ
S1211 アプリケーションの偽造改竄検出ステップ
S1301 アプリケーション妥当性検証完了ステップ
S1302 アプリケーション構成ファイル読込ステップ
S1303 構成ファイルの存在確認ステップ
S1304 存在判定ステップ
S1305 構成Fileハッシュ値計算ステップ
S1306 ハッシュ値比較ステップ
S1307 ハッシュ値判定ステップ
S1308 アプリケーション構成ファイル妥当性検証完了ステップ
S1309 アプリケーションデータの偽造改竄検出ステップ
S1401 ネットワーク接続開始ステップ
S1402 Network Resource List Fileダウンロードステップ
S1403 署名データダウンロードステップ
S1404 公開鍵抽出ステップ
S1405 署名復号化ステップ
S1406 署名検証用ハッシュ値計算ステップ
S1407 署名判定ステップ
S1408 公開鍵証明書照合ステップ
S1409 公開鍵証明書判定ステップ
S1410 Network Resource List File妥当性検証完了ステップ
S1411 Network Resource List Fileの偽造改竄検出ステップ
S1501 ネットワーク接続開始ステップ
S1502 HTTPSコネクション確立ステップ
S1503 HTTPS確立確認ステップ
S1504 Network Resource List Fileダウンロードステップ
S1505 Network Resource List File妥当性検証完了ステップ
S1506 認証失敗ステップ
S1601 リンクファイルアクセス発生ステップ
S1602 リンクファイル存在確認ステップ
S1603 存在判定ステップ
S1604 リンクファイルダウンロードステップ
S1605 リンクファイルハッシュ値計算ステップ
S1606 ハッシュ値比較ステップ
S1607 ハッシュ値判定ステップ
S1608 リンクファイルの妥当性検証完了ステップ
S1609 リンクファイルの妥当性検証失敗ステップ
201 BD disc 202 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 composition processing unit 301 program recording 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 Composition processing unit 317 Drive controller 00 logical file tree of 401 Content Archive File
402 Resource List File
410 HTML Browser
420 HTML file for error S101 Disc insertion step S102 BD. INFO reading step S103 BD. PROG reading step S104 First event generation step S105 Event handler execution step S201 UOP reception step S202 UOP event generation step S203 Menu call determination step S204 Event generation step S205 Event handler execution step S301 Playlist reproduction 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 Playback end step S406 Next cell presence determination step S501 Playlist playback start step S502 Playlist playback end determination step S503 Time event time determination step S504 Event generation step S505 Event handler execution step S601 Playlist playback start step S602 Playlist playback end determination step S603 UOP reception determination step S604 UOP event generation step S605 Menu call determination step S606 User event valid period determination step S607 Event generation step S608 Event handler execution step S701 Playlist reproduction end determination step S702 Playlist reproduction end determination step S703 Subtitle drawing start determination step S704 Subtitle rendering step S7 05 Subtitle display end determination step S706 Subtitle deletion step S801 Title activation step S802 CAR file preload step S803 Resource List File reading step S804 HTML file reading step S805 Screen presentation step S901 Document transition operation step S902 Title determination step S903 Lisres Rest read Step S904 HTML file reading step S905 Screen presentation step S1001 Document transition operation step S1002 Title determination step S1003 Resource List File reading step S1004 HTML file reading step S1005 Screen presentation step S1101 Error generation step S1 02 Resource List File reading step S1103 HTML file reading step S1104 Screen presentation step S1201 Title start step S1202 Resource List File reading step S1203 Signature data reading step S1204 Public key extraction step S1205 Signature decryption step S1206 Signature verification hash value calculation step S1207 Signature determination step S1208 Public key certificate verification step S1209 Public key certificate determination step S1210 Application validity verification completion step S1211 Application forgery detection step S1301 Application validity verification completion step S1302 Application configuration file reading step S1303 Configuration file existence Confirmation step S1304 Existence determination step S1305 Configuration file hash value calculation step S1306 Hash value comparison step S1307 Hash value determination step S1308 Application configuration file validity verification completion step S1309 Application data forgery / tamper detection step S1401 Network connection start step S1402 Network Resource List File download step S1403 Signature data download step S1404 Public key extraction step S1405 Signature decryption step S1406 Signature verification hash value calculation step S1407 Signature determination step S1408 Public key certificate verification step S1409 Public key certificate determination step S1410 Network Resource List File Validity verification completion Step S1411 Forgery of Network Resource List File竄 Detection step S1501 Network connection start step S1502 HTTPS connection establishment step S1503 HTTPS establishment confirmation step S1504 Network Resource List File download step S1505 Network Resource List File validity verification completion step S1506 Authentication failure step S1601 Link file access generation step S1602 Link file existence confirmation Step S1603 Existence determination step S1604 Link file download step S1605 Link file hash value calculation step S1606 Hash value comparison step S1607 Hash value determination step S1608 Link file validity verification completion step S1609 Link file validity verification failure step

Claims (24)

デジタルストリームを含む1つ以上のタイトルと宣言型言語で記述され1つ以上のファイルから構成される1つ以上のアプリケーションとが記録された情報記録媒体であって、
前記情報記録媒体には、アプリケーションサーバ上に配置された信頼できるアプリケーションを構成するファイルのファイル名と各々のハッシュ値とが記載されたファイルリストの位置情報が記録される
ことを特徴とする情報記録媒体。
An information recording medium in which one or more titles including a digital stream and one or more applications described in a declarative language and including one or more files are recorded,
The information recording medium is recorded with position information of a file list in which file names of files constituting a reliable application arranged on the application server and respective hash values are recorded. Medium.
前記ファイルリストの位置情報はアプリケーションサーバ毎に前記各タイトル毎に関連づけて記録される
ことを特徴とする請求項1記載の情報記録媒体。
The information recording medium according to claim 1, wherein the position information of the file list is recorded in association with each title for each application server.
前記ファイルリストに対する署名の位置情報がさらに記録される
ことを特徴とする請求項1記載の情報記録媒体。
The information recording medium according to claim 1, wherein position information of a signature for the file list is further recorded.
前記ファイルリストを受信するためのセキュア通信用の公開鍵証明書がさらに記録される
ことを特徴とする請求項1記載の情報記録媒体。
The information recording medium according to claim 1, further comprising a public key certificate for secure communication for receiving the file list.
前記ファイルリストには前記ファイルリストに対する署名の位置情報も記載される
ことを特徴とする請求項1記載の情報記録媒体
The information recording medium according to claim 1, wherein the file list also includes position information of a signature for the file list.
情報記録媒体に記録されたデジタルストリームを含むタイトルの再生と情報記録媒体に記録またはアプリケーションサーバに配置されたアプリケーションの実行とを同時に行う再生装置であって、
複数タイトル間の分岐を制御するタイトル制御部と、
1つのタイトルに帰属するデジタルストリームを再生する再生制御部と、
情報記録媒体に記録されている、アプリケーションサーバ上のアプリケーションを構成する各ファイルのファイル名とハッシュ値とが記載されたファイルリストの位置情報を元に前記ファイルリストを受信するファイルリスト受信部と、
前記受信するファイルリストの妥当性を確認するファイルリスト妥当性確認部と、
前記アプリケーションサーバに配置されたアプリケーションを実行する際に前記アプリケーションを構成するファイルを受信するファイル受信部と
前記受信したファイルのハッシュ値を計算し前記ファイルリストに記載の当該ファイルのハッシュ値と一致することを確認するハッシュ確認部と
受信したファイルを元にアプリケーションサーバ上のアプリケーションを実行するアプリケーション実行部と
を備えることを特徴とする再生装置。
A playback device that simultaneously performs playback of a title including a digital stream recorded on an information recording medium and execution of an application recorded on the information recording medium or disposed on an application server,
A title control unit that controls branching between multiple titles;
A playback control unit that plays back a digital stream belonging to one title;
A file list receiving unit that receives the file list based on position information of a file list in which the file name and hash value of each file constituting the application on the application server recorded in the information recording medium is written;
A file list validation unit for confirming the validity of the received file list;
When executing an application arranged in the application server, a file receiving unit that receives a file constituting the application and a hash value of the received file are calculated, and the hash value of the file listed in the file list is matched. A playback apparatus comprising: a hash confirmation unit that confirms this; and an application execution unit that executes an application on the application server based on the received file.
前記ファイルリストに記載されている、アプリケーションサーバ上のアプリケーションを構成するファイルのファイル名は当該ファイルの位置情報であり、
前記ファイル受信部は、前記受信しようとしているファイルの位置情報が前記ファイルリストに記載されている位置情報と一致することを確認した上で当該ファイル受信する
ことを特徴とする請求項6記載の再生装置。
The file name of the file constituting the application on the application server described in the file list is the position information of the file,
7. The reproduction according to claim 6, wherein the file receiving unit receives the file after confirming that the position information of the file to be received matches the position information described in the file list. apparatus.
前記情報記録媒体または前記ファイルリストに記載されている、前記ファイルリストに対する署名の位置情報を元に前記ファイルリストに対する署名を受信する署名受信部をさらに備え
前記ファイルリスト妥当性確認部は
前記受信した署名を元に前記ファイルリストの妥当性を確認する
ことを特徴とする請求項6記載の再生装置。
A signature receiving unit configured to receive a signature for the file list based on position information of a signature for the file list described in the information recording medium or the file list; and The playback apparatus according to claim 6, wherein validity of the file list is confirmed based on a signature.
前記情報記録媒体または再生装置に記録された公開鍵証明書を読み込む公開鍵証明書読込部をさらに備え、
前記ファイル受信部は公開鍵証明書を用いて確立したセキュアな通信路を用いて前記ファイルを受信し、
前記ファイルリスト妥当性確認部は前記セキュアな通信路が確立できるか否かを通じてファイルリストの妥当性を確認する
ことを特徴とする請求項6記載の再生装置。
A public key certificate reading unit that reads the public key certificate recorded in the information recording medium or the playback device;
The file receiving unit receives the file using a secure communication path established using a public key certificate,
The playback apparatus according to claim 6, wherein the file list validity confirmation unit confirms the validity of the file list through whether or not the secure communication path can be established.
前記アプリケーション実行部は、
前記ファイルリスト妥当性確認部により前記ファイルリストの妥当性が確認され、
かつ前記ハッシュ確認部において前記ファイル受信部で受信したアプリケーションサーバ上のアプリケーションを構成するファイルのハッシュ値が前記ファイルリストに記載されたハッシュ値と一致することが確認された場合に
前記アプリケーションサーバに配置されたアプリケーションを信頼する
ことを特徴とする請求項6記載の再生装置。
The application execution unit
The validity of the file list is confirmed by the file list validation unit,
When the hash confirmation unit confirms that the hash value of the file constituting the application on the application server received by the file reception unit matches the hash value described in the file list, the hash confirmation unit is arranged in the application server. The playback apparatus according to claim 6, wherein the reproduced application is trusted.
情報記録媒体に記録されたデジタルストリームを含むタイトルの再生と情報記録媒体に記録またはアプリケーションサーバに配置されたアプリケーションの実行とを同時に行うプログラムであって、
複数タイトル間の分岐を制御するタイトル制御ステップと、
1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、
情報記録媒体に記録されている、アプリケーションサーバ上のアプリケーションを構成する各ファイルのファイル名とハッシュ値とが記載されたファイルリストの位置情報を元に前記ファイルリストを受信するファイルリスト受信ステップと、
前記受信するファイルリストの妥当性を確認するファイルリスト妥当性確認ステップと、
前記アプリケーションサーバに配置されたアプリケーションを実行する際に前記アプリケーションを構成するファイルを受信するファイル受信ステップと
前記受信したファイルのハッシュ値を計算し前記ファイルリストに記載の当該ファイルのハッシュ値と一致することを確認するハッシュ確認ステップと
受信したファイルを元にアプリケーションサーバ上のアプリケーションを実行するアプリケーション実行ステップと
をコンピュータに実行させることを特徴とするプログラム。
A program for simultaneously playing a title including a digital stream recorded on an information recording medium and executing an application recorded on the information recording medium or arranged in an application server,
A title control step for controlling branching between multiple titles;
A playback control step of playing back a digital stream belonging to one title;
A file list receiving step for receiving the file list based on the position information of the file list in which the file name and hash value of each file constituting the application on the application server recorded in the information recording medium is written;
A file list validation step for validating the received file list;
A file receiving step for receiving a file constituting the application when executing an application arranged in the application server; and a hash value of the received file is calculated and matches a hash value of the file described in the file list A program for causing a computer to execute a hash confirmation step for confirming this and an application execution step for executing an application on an application server based on the received file.
前記ファイルリストに記載されている、アプリケーションサーバ上のアプリケーションを構成するファイルのファイル名は当該ファイルの位置情報であり、
前記ファイル受信ステップは、前記受信しようとしているファイルの位置情報が前記ファイルリストに記載されている位置情報と一致することを確認した上で当該ファイル受信する
ことを特徴とする請求項11記載のプログラム。
The file name of the file constituting the application on the application server described in the file list is the position information of the file,
12. The program according to claim 11, wherein the file receiving step receives the file after confirming that the position information of the file to be received matches the position information described in the file list. .
前記情報記録媒体または前記ファイルリストに記載されている、前記ファイルリストに対する署名の位置情報を元に前記ファイルリストに対する署名を受信する署名受信ステップをさらに備え
前記ファイルリスト妥当性確認ステップは
前記受信した署名を元に前記ファイルリストの妥当性を確認する
ことを特徴とする請求項11記載のプログラム。
A signature receiving step for receiving a signature for the file list based on position information of a signature for the file list, which is described in the information recording medium or the file list; The program according to claim 11, wherein validity of the file list is confirmed based on a signature.
前記情報記録媒体または再生装置に記録された公開鍵証明書を読み込む公開鍵証明書読込ステップをさらに備え、
前記ファイル受信ステップは公開鍵証明書を用いて確立したセキュアな通信路を用いて前記ファイルを受信し、
前記ファイルリスト妥当性確認ステップは前記セキュアな通信路が確立できるか否かを通じてファイルリストの妥当性を確認する
ことを特徴とする請求項11記載のプログラム。
Further comprising a public key certificate reading step for reading the public key certificate recorded in the information recording medium or the playback device,
The file receiving step receives the file using a secure communication path established using a public key certificate,
The program according to claim 11, wherein the file list validity confirmation step confirms validity of the file list through whether or not the secure communication path can be established.
前記アプリケーション実行ステップは、
前記ファイルリスト妥当性確認ステップにより前記ファイルリストの妥当性が確認され、
かつ前記ハッシュ確認ステップにおいて前記ファイル受信ステップで受信したアプリケーションサーバ上のアプリケーションを構成するファイルのハッシュ値が前記ファイルリストに記載されたハッシュ値と一致することが確認された場合に
前記アプリケーションサーバに配置されたアプリケーションを信頼する
ことを特徴とする請求項11記載のプログラム。
The application execution step includes:
The file list validation step confirms the validity of the file list,
And when it is confirmed in the hash confirmation step that the hash value of the file constituting the application on the application server received in the file reception step matches the hash value described in the file list, it is arranged in the application server. 12. The program according to claim 11, wherein the program is trusted.
情報記録媒体に記録されたデジタルストリームを含むタイトルの再生と情報記録媒体に記録またはアプリケーションサーバに配置されたアプリケーションの実行とを同時に行う再生方法であって、
複数タイトル間の分岐を制御するタイトル制御ステップと、
1つのタイトルに帰属するデジタルストリームを再生する再生制御ステップと、
情報記録媒体に記録されている、アプリケーションサーバ上のアプリケーションを構成する各ファイルのファイル名とハッシュ値とが記載されたファイルリストの位置情報を元に前記ファイルリストを受信するファイルリスト受信ステップと、
前記受信するファイルリストの妥当性を確認するファイルリスト妥当性確認ステップと、
前記アプリケーションサーバに配置されたアプリケーションを実行する際に前記アプリケーションを構成するファイルを受信するファイル受信ステップと
前記受信したファイルのハッシュ値を計算し前記ファイルリストに記載の当該ファイルのハッシュ値と一致することを確認するハッシュ確認ステップと
受信したファイルを元にアプリケーションサーバ上のアプリケーションを実行するアプリケーション実行ステップと
を含むことを特徴とする再生方法。
A reproduction method for simultaneously performing reproduction of a title including a digital stream recorded on an information recording medium and execution of an application recorded on the information recording medium or arranged in an application server,
A title control step for controlling branching between multiple titles;
A playback control step of playing back a digital stream belonging to one title;
A file list receiving step for receiving the file list based on the position information of the file list in which the file name and hash value of each file constituting the application on the application server recorded in the information recording medium is written;
A file list validation step for validating the received file list;
A file receiving step for receiving a file constituting the application when executing an application arranged in the application server; and a hash value of the received file is calculated and matches a hash value of the file described in the file list A reproduction method comprising: a hash confirmation step for confirming the above and an application execution step for executing an application on the application server based on the received file.
前記ファイルリストに記載されている、アプリケーションサーバ上のアプリケーションを構成するファイルのファイル名は当該ファイルの位置情報であり、
前記ファイル受信ステップは、前記受信しようとしているファイルの位置情報が前記ファイルリストに記載されている位置情報と一致することを確認した上で当該ファイル受信する
ことを特徴とする請求項16記載の再生方法。
The file name of the file constituting the application on the application server described in the file list is the position information of the file,
17. The reproduction according to claim 16, wherein the file receiving step receives the file after confirming that the position information of the file to be received matches the position information described in the file list. Method.
前記情報記録媒体または前記ファイルリストに記載されている、前記ファイルリストに対する署名の位置情報を元に前記ファイルリストに対する署名を受信する署名受信ステップをさらに備え
前記ファイルリスト妥当性確認ステップは
前記受信した署名を元に前記ファイルリストの妥当性を確認する
ことを特徴とする請求項16記載の再生方法。
A signature receiving step for receiving a signature for the file list based on position information of a signature for the file list, which is described in the information recording medium or the file list; The reproduction method according to claim 16, wherein validity of the file list is confirmed based on a signature.
前記情報記録媒体または再生装置に記録された公開鍵証明書を読み込む公開鍵証明書読込ステップをさらに備え、
前記ファイル受信ステップは公開鍵証明書を用いて確立したセキュアな通信路を用いて前記ファイルを受信し、
前記ファイルリスト妥当性確認ステップは前記セキュアな通信路が確立できるか否かを通じてファイルリストの妥当性を確認する
ことを特徴とする請求項16記載の再生方法。
Further comprising a public key certificate reading step for reading the public key certificate recorded in the information recording medium or the playback device,
The file receiving step receives the file using a secure communication path established using a public key certificate,
The reproduction method according to claim 16, wherein the file list validity confirmation step confirms validity of the file list through whether or not the secure communication path can be established.
前記アプリケーション実行ステップは、
前記ファイルリスト妥当性確認ステップにより前記ファイルリストの妥当性が確認され、
かつ前記ハッシュ確認ステップにおいて前記ファイル受信ステップで受信したアプリケーションサーバ上のアプリケーションを構成するファイルのハッシュ値が前記ファイルリストに記載されたハッシュ値と一致することが確認された場合に
前記アプリケーションサーバに配置されたアプリケーションを信頼する
ことを特徴とする請求項16記載の再生方法。
The application execution step includes:
The file list validation step confirms the validity of the file list,
And when it is confirmed in the hash confirmation step that the hash value of the file constituting the application on the application server received in the file reception step matches the hash value described in the file list, it is arranged in the application server. The playback method according to claim 16, further comprising: trusting the downloaded application.
デジタルストリームを含む1つ以上のタイトルと1つ以上のファイルから構成される1つ以上のアプリケーションとが記録された情報記録媒体を再生する再生装置に対してアプリケーションを提供するアプリケーションサーバであって、
前記アプリケーションサーバは自身が提供するアプリケーションを構成するファイルのファイル名とそのハッシュ値が記載されたファイルリストを記録し、
前記再生装置からの要求に応じて前記ファイルリストを提供する
ことを特徴とするアプリケーションサーバ。
An application server that provides an application to a playback device that plays back an information recording medium on which one or more titles including a digital stream and one or more applications including one or more files are recorded,
The application server records a file list in which file names and hash values of files constituting an application provided by the application server are described,
An application server that provides the file list in response to a request from the playback device.
前記ファイルリストに対する署名をさらに記録し、
前記再生装置からの要求に応じて前記署名を提供する
ことを特徴とする請求項21記載のアプリケーションサーバ。
Further recording a signature for the file list;
The application server according to claim 21, wherein the signature is provided in response to a request from the playback device.
セキュアな通信路を確立した再生装置のみに前記ファイルリストを提供する
ことを特徴とする請求項21記載のアプリケーションサーバ。
The application server according to claim 21, wherein the file list is provided only to a playback device that has established a secure communication path.
前記ファイルリストに対する署名の位置情報は前記ファイルリストに記載される
ことを特徴とする請求項22記載のアプリケーションサーバ。
23. The application server according to claim 22, wherein position information of a signature for the file list is described in the file list.
JP2005200519A 2005-07-08 2005-07-08 Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing Pending JP2007018365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005200519A JP2007018365A (en) 2005-07-08 2005-07-08 Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005200519A JP2007018365A (en) 2005-07-08 2005-07-08 Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing

Publications (1)

Publication Number Publication Date
JP2007018365A true JP2007018365A (en) 2007-01-25

Family

ID=37755472

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005200519A Pending JP2007018365A (en) 2005-07-08 2005-07-08 Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing

Country Status (1)

Country Link
JP (1) JP2007018365A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113179A (en) * 2009-01-28 2011-10-14 마이크로소프트 코포레이션 Software application verification
JP2018519596A (en) * 2015-06-16 2018-07-19 アリババ グループ ホウルディング リミテッド Application download method and apparatus
CN111352912A (en) * 2020-03-10 2020-06-30 Oppo广东移动通信有限公司 Compressed file processing method, device, storage medium, terminal and server

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110113179A (en) * 2009-01-28 2011-10-14 마이크로소프트 코포레이션 Software application verification
JP2012516643A (en) * 2009-01-28 2012-07-19 マイクロソフト コーポレーション Software application validation
US8869289B2 (en) 2009-01-28 2014-10-21 Microsoft Corporation Software application verification
KR101716516B1 (en) 2009-01-28 2017-03-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 Software application verification
JP2018519596A (en) * 2015-06-16 2018-07-19 アリババ グループ ホウルディング リミテッド Application download method and apparatus
CN111352912A (en) * 2020-03-10 2020-06-30 Oppo广东移动通信有限公司 Compressed file processing method, device, storage medium, terminal and server
CN111352912B (en) * 2020-03-10 2024-04-12 Oppo广东移动通信有限公司 Compressed file processing method, device, storage medium, terminal and server

Similar Documents

Publication Publication Date Title
JP5291211B2 (en) Playback device and playback method
JP3888348B2 (en) Information providing system, reproducing apparatus and method, information providing apparatus and method, recording medium, and program
JP5006388B2 (en) Data management device
KR101571001B1 (en) Reproduction device
JP4862055B2 (en) Playback apparatus and program
JP2008527599A (en) Data reproducing apparatus and method, and recording medium
MXPA06014210A (en) Playback apparatus for performing application-synchronized playback.
KR20070043801A (en) Reproduction device, reproduction method, program, and computer-readable recording medium
WO2010106745A1 (en) Application running device
KR20110038612A (en) Reproduction device, reproduction method, and program
WO2010103827A1 (en) Reproduction device, reproduction method, recording medium, application, and authoring device
JP2006277389A (en) Information recording medium, and reproduction device and reproduction method therefor
JP2007036663A (en) Information recording medium in consideration of compatibility, recording apparatus thereof, recording method, and recording program
JP2007018365A (en) Information recording medium taking into consideration starting conditions of regeneration management described by declarative language, and regeneration apparatus thereof, method for reproducing
JP4482828B2 (en) REPRODUCTION DEVICE AND METHOD, INFORMATION PROCESSING DEVICE AND METHOD, INFORMATION PROVIDING SYSTEM, AND DATA
JP5295572B2 (en) Information recording medium and information recording medium reproduction system
JP5166036B2 (en) Playback apparatus, playback method, and playback program
JP2007011899A (en) Information recording medium considering start-up condition of reproduction control environment described by declarative language, reproduction device and reproduction method therefor
JP2007018623A (en) Information recording medium and reproducing apparatus and reproducing method therefor
KR20080112931A (en) Information storage medium, manufacturing method and information reproducing method
JP2010005159A (en) Storage data shift method
JP2007048383A (en) Information recording medium, its recording device, recording method, and recording program
JP2006244655A (en) Reproducing apparatus and reproduction method
JP2006228339A (en) Information recording medium considering resource management of reproduction control environment described in declaration language, and device and method for reproducing
JP2007012217A (en) Information recording medium, and apparatus and method for reproducing same