JP2010257473A - 再生装置、再生方法 - Google Patents

再生装置、再生方法 Download PDF

Info

Publication number
JP2010257473A
JP2010257473A JP2010130911A JP2010130911A JP2010257473A JP 2010257473 A JP2010257473 A JP 2010257473A JP 2010130911 A JP2010130911 A JP 2010130911A JP 2010130911 A JP2010130911 A JP 2010130911A JP 2010257473 A JP2010257473 A JP 2010257473A
Authority
JP
Japan
Prior art keywords
file
data
information
management information
directory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010130911A
Other languages
English (en)
Other versions
JP4956645B2 (ja
Inventor
Masahiro Oashi
雅弘 大蘆
Keiichi Tanaka
敬一 田中
Hidetaka Oto
英隆 大戸
Germano Leichsenring
ジェルマーノ ライクセンリング
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 Corp
Original Assignee
Panasonic Corp
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 Panasonic Corp filed Critical Panasonic Corp
Priority to JP2010130911A priority Critical patent/JP4956645B2/ja
Publication of JP2010257473A publication Critical patent/JP2010257473A/ja
Application granted granted Critical
Publication of JP4956645B2 publication Critical patent/JP4956645B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/87Regeneration of colour television signals
    • H04N9/8715Regeneration of colour television signals involving the mixing of the reproduced video signal with a non-recorded signal, e.g. a text signal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/84Television signal recording using optical recording
    • H04N5/85Television signal recording using optical recording on discs or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/907Television signal recording using static stores, e.g. storage tubes or semiconductor memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8211Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a sound signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8227Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being at least another television signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • H04N9/8233Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal the additional signal being a character code signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Management Or Editing Of Information On Record Carriers (AREA)
  • Television Signal Processing For Recording (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】書換え可能な記録媒体に記録された不正なデータが、読み出し専用記録媒体のデータと組み合せて実行、再生されることを防ぐ。
【解決手段】Local Storage18は、複数のファイルと、これらのファイルのうち読み出し専用記録媒体の記録内容に組み合せて利用するものを指定するマージ管理情報と、マージ管理情報の正当性を検証可能な署名情報とを記録しており、Virtual File System38は、署名情報に基づいてマージ管理情報の正当性を判定し、マージ管理情報が正当であると判定された場合に、読み出し専用記録媒体のファイル構成にマージ管理情報により指定されているファイルを加えた新たなファイル構成を示すパッケージ情報を生成する。
【選択図】図17

Description

本発明は、Virtual Packageの再生技術に関する。
Virtual Packageとは、BD-ROM等の読み出し専用記録媒体と、ハードディスク等の読み書き可能な記録媒体との記録内容を一体的に示すパッケージ情報を生成し、これらの記録媒体に記録されているデジタルストリームやアプリケーションプログラム(以下、「アプリケーション」という。)を、あたかも仮想的な一つのパッケージに記録されているかのごとく再生や実行に供する技術である。
このような技術では、書き換え可能なハードディスクに記録しているデータを更新することで、BD-ROMを頒布した後もVirtual Package全体としての作品内容を変更することができる。例えば、映画作品のプロバイダは、作品本編を記録したBD-ROMを頒布した後も、公開前の他の作品の予告編デジタルストリームをネットワークを介して提供することで、BD-ROMの頒布時期にかかわらず、ユーザに対して常に最新の作品を宣伝することが出来る。
Virtual Packageについての先行技術としては、以下の特許文献に記載されているものがある。
国際公開公報WO 2004/030356 A1
しかし一方で、ハードディスクが書き換え可能であることは、ハードディスクに記録しているデータの改竄を可能とし、プロバイダやユーザに不利益をもたらすおそれがある。例えば、BD-ROMに記録されているデジタルストリームが、プロバイダの意図しない状態で再生され作品価値が貶められたり、ハードディスクに記録された不正なアプリケーションが実行され再生装置が誤作動する等の不利益が考えられる。
本発明の目的は、書き換え可能な記録媒体に記録された不正なデータが、読み出し専用記録媒体に記録されているデータと組み合せて実行、再生されることを防ぐことが出来る再生方法及び再生装置を提供することである。
上記目的を達成するために、本発明に係る再生方法は、複数のタイトルに対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたアプリケーションプログラムに対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたデジタルストリームに対応するデータとを記録した記録媒体を再生する再生装置に用いる再生方法であって、前記複数のタイトルのいずれかを選択する選択ステップと、前記選択したタイトルに関連するデジタルストリームを再生する再生ステップと、前記選択したタイトルに関連するアプリケーションプログラムを実行する実行ステップと、前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がない第1のデータと、前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がある第2のデータと、前記第1のデータの格納場所、第2のデータの格納場所、及び前記第2のデータのハッシュ値を含むマージ管理情報と、前記マージ管理情報のハッシュ値を含む署名情報とを、前記再生装置が備えるローカルストレージへ記録する記録ステップと、前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあるか否かを判定する第1の判定ステップと、前記署名情報に含まれる前記マージ管理情報のハッシュ値と、前記マージ管理情報から算出されるハッシュ値とを比較し、同じであれば前記マージ管理情報が改竄されていないと判定する第2の判定ステップと、前記第1のデータ、前記第2のデータ、及び前記マージ管理情報を読取り専用属性に変更する属性変更ステップと、前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあると前記第1の判定ステップにおいて判定し、かつ前記マージ管理情報が改竄されていないと前記第2の判定ステップにおいて判定し、かつ前記第1のデータ、前記第2のデータ、及び前記マージ管理情報を属性変更ステップが読取り専用属性に変更した後に、前記選択ステップが、前記選択したタイトルとは異なるタイトルを選択したとき、前記記録媒体に記録されたデータと前記ローカルストレージに記録され読取り専用属性に変更された第1のデータ及び第2のデータとを組み合わせたパッケージ情報を生成する生成ステップと、前記第2のデータから算出されるハッシュ値と、前記マージ管理情報に含まれる第2のデータのハッシュ値とを比較し同じであれば、前記生成したパッケージ情報に含まれる第2のデータを利用して処理を実行する処理ステップとを含むことを特徴としている。
これによって、本発明に係る再生方法では、署名情報に基づいてマージ管理情報の正当性を検証し、マージ管理情報の正当性が確かめられなかった場合は、記録手段に記録されているファイルをもちいてパッケージ情報を生成することを抑制する。
これにより、読み出し専用記録媒体に記録されているデータと、不正なデータとが組み合された状態で実行、再生されることを防ぐことができる。
本発明に係る再生装置の使用行為についての形態を示す図である。 BD-ROMにおけるファイル・ディレクトリ構成を示す図である。 AVClipがどのように構成されているかを模式的に示す図である。 PL情報の構成を示す図である。 AVClip時間軸と、PL時間軸との関係を示す図である。 4つのClip_Information_file_nameによりなされた一括指定を示す図である。 Plmark情報の内部構成を示す図である。 Plmarkによるチャプター定義を示す図である。 SubPath情報の内部構成を示す図である。 SubPlayItem時間軸上の再生区間定義と、同期指定とを示す図である。 (a)Java(登録商標)アーカイブファイルに収められているプログラム、データを示す図である。 (b)は、クラスファイルの内部構成を示す図である。 BD-Jオブジェクトの内部構成を示す図である。 INDEX.BDMVの内部構成を示す図である。 Local Storageにおけるディレクトリ構造を示す図である。 ローカルストレージに格納されたPL情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。 (a)BD-ROM及びLocal Storageに記録されているアプリケーションと、AVClipを示す図である。 (b)BD-ROM及びLocal Storageに記録されているアプリケーションと、AVClipから構成されたタイトルを示す図である。 マージ管理情報ファイルの内部構成を示す図であ 本発明に係る再生装置の内部構成を示す図である。 命令ROM21に格納されたソフトウェアと、ハードウェアとからなる部分を、レイア構成に置き換えて描いた図である。 Java(登録商標)仮想マシン30の内部構成を示す図である。 再生状態の遷移を示す図である。 Virtual FileSystem部38によるVirtual Package情報構築の一例を示す図である。 (a)ディスク全体の時間軸を示す図である。 (b)ディスク全体の時間軸における構成を示す図である。 Title Changeにおいて、Virtual Package情報アップデートがどのように行われるかを示す図である。 Java(登録商標)アプリケーションが、Virtual Package構成ファイル群の送信をサーバへ要求する様子を示す模式図である。 Java(登録商標)アプリケーションが、サーバから送信されたファイルをLocal Storageへ記録する様子を示す模式図である。 Java(登録商標)アプリケーションが、Virtual File SystemへVirtual Package情報のアップデートを要求する様子を示す模式図である。 Virtual Package情報のアップデートの様子を示す模式図である。 モジュールマネージャ33によるタイトル再生制御の処理を示すフローチャートである。 Playback Control Engine32によるPlayList再生処理の処理手順を示すフローチャートである。 Java(登録商標)アプリケーションによるVirtual Package構成ファイル群のダウンロードの手順を示すフローチャートである。 Virtual File System38によるPreparing処理を示すフローチャートである。 Virtual File System38によるUpdating処理を示すフローチャートである。 タイトル呼出にあたって、カレントタイトルの再生を一時的に停止(suspend)する際のPlayback Control Engineの処理手順と、呼出先のタイトルの再生終了後、元のタイトルの再生を再開(resume)する際のPlayback Control Engineの処理手順とを示すフローチャートである。 Virtual Package管理テーブルの一例である。 第3実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。 ファイルへの書き込みアクセスを制御するAPIの処理手順を示すフローチャートである。 Virtual Packageを構成するファイルにエラーがある場合に、エラーを修正した修正ファイルを生成する様子を示す図である。 第4実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。 第4実施形態において、Virtual Packageを構築した状態でLocal Storage上のファイルに書き込みアクセスした場合の、ファイルI/O機能を提供するAPIの処理を示すフローチャートである。 第5実施形態に係る再生装置の内部構成を示す図である。 第5実施形態に係るVirtual Package管理テーブルの一例である。 ダウンロードファイルをLocal Storageへ記録する処理手順を示すフローチャートである。 第5実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。 第6実施形態におけるVirtual Package構築の一例を示す図である。 第6実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。 アクティブディレクトリにファイルを移動する処理手順を示すフローチャートである。 第6実施形態において、ファイルへの書き込みアクセスを制御するAPIの処理手順を示すフローチャートである。 第7実施形態におけるVirtual Package構築の一例を示す図である。 SHAREDディレクトリ以下のACTIVEディレクトリとdisc#1ディレクトリ以下のACTIVEディレクトリでVirtual Packageを構築する様子を模式的に示す図である。 第7実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。 中間状態ファイル構成の構築手順についての説明である。 図51に示したステップS184における処理内容を、より詳しく示したフローチャートである。 Virtual File System部38がLocal Storage上のファイルを他のモジュールに供給するフローチャートを示す。 実施の形態9におけるVirtual Packageの構築処理中の表示を模式的に示す図である。 実施の形態9におけるVirtual Packageの構築失敗の表示を模式的に示す図である。 図57は、実施の形態9におけるVirtual Packageの構築成功の表示を模式的に示す図である。 Virtual Packageの構築に関する表示を更新する処理手順を示すフローチャートである。 実施の形態9におけるLocal Storage上のコンテンツ一覧の表示を示す図である。
(第1実施形態)
以降、本発明に係る再生装置の実施形態について説明する。先ず始めに、本発明に係る再生装置の実施行為のうち、使用行為についての形態を説明する。図1は、本発明に係る再生装置の、使用行為についての形態を示す図である。図1において、本発明に係る再生装置は、再生装置200である。この再生装置200は、リモコン300、テレビ400により形成されるホームシアターシステムに、映画作品を供給するという用途に供される。
以上が本発明に係る再生装置の使用形態についての説明である。続いて本発明に係る再生装置が再生の対象としている、記録媒体について説明する。本発明に係る再生装置により、再生されるのは、BD-ROMである。図2は、BD-ROMの内部構成を示す図である。
本図の第4段目にBD-ROMを示し、第3段目にBD-ROM上のトラックを示す。本図のトラックは、BD-ROMの内周から外周にかけて螺旋状に形成されているトラックを、横方向に引き伸ばして描画している。このトラックは、リードイン領域と、ボリューム領域と、リードアウト領域とからなる。本図のボリューム領域は、物理層、ファイルシステム層、応用層というレイヤモデルをもつ。ディレクトリ構造を用いてBD-ROMの応用層フォーマット(アプリケーションフォーマット)を表現すると、図中の第1段目のようになる。この第1段目においてBD-ROMには、Rootディレクトリの下に、BDMVディレクトリがある。
BDMVディレクトリの配下には、PLAYLISTディレクトリ、CLIPINFディレクトリ、STREAMディレクトリ、BDJAディレクトリ、BOBJディレクトリと呼ばれる5つのサブディレクトリが存在し、INDEX.BDMVというファイルが配置されている。
STREAMディレクトリには、いわばデジタルストリーム本体となるファイルを格納しているディレクトリであり、拡張子M2TSが付与されたファイル(00001.M2TS)が存在する。
PLAYLISTディレクトリには、拡張子MPLSが付与されたファイル(00001.MPLS)が存在する。
CLIPINFディレクトリには、拡張子CLPIが付与されたファイル(00001.CLPI)が存在する。
BDJAディレクトリには、拡張子JARが付与されたファイル(00001.JAR)が存在する。
BOBJディレクトリには、拡張子BOBJが付与されたファイル(00001.BOBJ)が存在する。
以下、これらのファイルについて説明する。

<AVClip>
先ず初めに、拡張子.M2TSが付与されたファイルについて説明する。図3は、拡張子.M2TSが付与されたファイルがどのように構成されているかを模式的に示す図である。拡張子.M2TSが付与されたファイル(00001.M2TS,00002.M2TS,00003.M2TS・・・・・)は、AVClipを格納している。AVClipは(中段)、複数のビデオフレーム(ピクチャpj1,2,3)からなるビデオストリーム、複数のオーディオフレームからなるオーディオストリームを(上1段目)、PESパケット列に変換し(上2段目)、更にTSパケットに変換し(上3段目)、同じく字幕系のプレゼンテーショングラフィクスストリーム(下1段目のPGストリーム)及び対話系のインタラクティブグラフィクスストリーム(下1段目のIGストリーム)をTSパケットに変換して(下3段目)、これらを多重化することで構成される。
AVClipは、図3に示したように多重化がなされているストリームの他に、多重化がなされていないものものある。かかるAVClipは、SubClipと呼ばれ、オーディオストリーム、グラフィクスストリーム、テキスト字幕ストリーム(TextSTStream)等を構成するAVClipが存在する。

<Clip情報>
拡張子“CLPI”が付与されたファイル(00001.CLPI)は、AVClipのそれぞれに1対1に対応するClip情報である。管理情報故に、Clip情報は、AVClipにおけるストリームの符号化形式、フレームレート、ビットレート、解像度等の情報や、GOPの先頭位置を示すEP_mapをもっている。
<PlayList情報>
拡張子“MPLS”が付与されたファイル(00001.MPLS)は、PlayList(PL)情報を格納したファイルである。PL情報は、AVClipを参照してプレイリストを定義する情報である。図4は、PL情報の構成を示す図であり、本図の左側に示すように、PL情報は、『MainPath情報』、『PLMark情報』、『SubPath情報』から構成される。
MainPath情報(MainPath())は、破線の矢印mp1に示すように複数のPlayItem情報(PlayItem())からなる。PlayItemとは、1つ以上のAVClip時間軸上において、In_Time,Out_Timeを指定することで定義される再生区間である。PlayItem情報を複数配置させることで、複数再生区間からなるプレイリスト(PL)が定義される。図中の破線mp2は、PlayItem情報の内部構成をクローズアップしている。本図に示すようにPlayItem情報は、対応するAVClipを示す『Clip_information_file_name』と、『In_time』と、『Out_time』とからなる。図5は、AVClipと、PLとの関係を示す図である。第1段目はAVClipがもつ時間軸を示し、第2段目は、PLがもつ時間軸を示す。PL情報は、PlayItem#1,#2,#3という3つのPlayItem情報を含んでおり、これらPlayItem#1,#2,#3のIn_time,Out_timeにより、3つの再生区間が定義されることになる。これらの再生区間を配列させると、AVClip時間軸とは異なる時間軸が定義されることになる。これが第2段目に示すPL時間軸である。このように、PlayItem情報の定義により、AVClipとは異なる時間軸の定義が可能になる。
AVClipに対する指定は、原則1つであるが、複数AVClipに対する一括指定もあり得る。この一括指定は、PlayItem情報における複数のClip_Information_file_nameによりなされる。図6は、4つのClip_Information_file_nameによりなされた一括指定を示す図である。本図において第1段目〜第4段目は、4つのAVClip時間軸(AVClip#1,#2,#3,#4の時間軸)を示し、第5段目は、PL時間軸を示す。PlayItem情報が有する、4つのClip_Information_file_nameにて、これら4つの時間軸が指定されている。こうすることで、PlayItemが有するIn_time,Out_timeにより、択一的に再生可能な4つの再生区間が定義されることになる。これにより、PL時間軸には、切り換え可能な複数アングル映像からなる区間(いわゆるマルチアングル区間)が定義されることになる。
PLmark情報(PLmark())は、PL時間軸のうち、任意の区間を、チャプターとして指定する情報である。図7は、PLmark情報の内部構成を示す図であり、本図の引き出し線pm1に示すようにPLmark情報は、『ref_to_PlayItem_Id』と、『Mark_time_stamp』とを含む。図8は、PLmarkによるチャプター定義を示す図である。本図において第1段目は、AVClip時間軸を示し、第2段目はPL時間軸を示す。図中の矢印pk1,2は、PLmarkにおけるPlayItem指定(ref_to_PlayItem_Id)と、一時点の指定(mark_time_stamp)とを示す。これらの指定によりPL時間軸には、3つのチャプター(Chapter#1,#2,#3)が定義されることになる。以上がPLmarkについての説明である。続いてSubPath情報について説明する。
SubPath情報(SubPath())は、SubClipの時間軸上にIn_Time,Out_Timeを指定することで1つ以上の再生区間を定義する情報であり、図9に示す内部構成を有している。本図に示すようにSubPath情報は、破線の引き出し線sh1に示すように複数のSubPlayItem情報(SubPlayItem())からなる。破線sh2を用いてクローズアップしているように、SubPlayItem情報は、『Clip_information_file_name』と、『In_time』と、『Out_time』と、『Sync_PlayItem_Id』と、『Sync_start_Pts_of_PlayItem』とからなる。SubClipの時間軸上に対する、In_Time,Out_Timeの指定は、『Clip_information_file_name』、『In_time』、『Out_time』によりなされる。『Sync_PlayItem_Id』及び『Sync_start_Pts_of_PlayItem』は、SubClip時間軸上の再生区間と、PL時間軸とを同期させるという同期指定をなす。この同期指定により、PL時間軸と、SubClip時間軸とは同期して進行することになる。
図10は、SubClip時間軸上の再生区間定義と、同期指定を示す図である。本図において第1段目は、PL時間軸を示し、第2段目はSubClip時間軸を示す。図中のSubPlayItem.IN_timeは再生区間の始点を、SubPlayItem.Out_timeは再生区間の終点をそれぞれ示す。これによりSubClip時間軸上にも再生区間が定義されていることがわかる。矢印Sn1においてSync_PlayItem_Idは、PlayItemに対する同期指定を示し、矢印Sn2においてsync_start_PTS_of_PlayItemは、PL時間軸におけるPlayItem上の一時点の指定を示す。
複数AVClipの切り換えを可能とするマルチアングル区間や、AVClip−SubClipを同期させ得る同期区間の定義を可能とするのが、BD-ROMにおけるPL情報の特徴である。以上のClip情報及びPL情報は、“静的シナリオ”に分類される。
続いて“動的なシナリオ”について説明する。“動的に”というのは、再生装置200における状態変化やユーザからのキーイベントにより再生制御の中身がかわることをいう。BD-ROMでは、Java(登録商標)アプリケーションと同様の記述により、この再生制御を記述することができる。つまりBD-ROMでは、Java(登録商標)アプリケーションが、動的シナリオとしての役割を担うことになる。
<Java(登録商標)アプリケーション>
Java(登録商標)アプリケーションについて説明する。Java(登録商標)アプリケーションは、仮想マシンのヒープ領域(ワークメモリとも呼ばれる)にロードされた1つ以上のxletプログラムからなる。このワークメモリにロードされたxletプログラム、及び、データから、アプリケーションは構成されることになる。以上がJava(登録商標)アプリケーションの構成である。
このJava(登録商標)アプリケーションの実体にあたるのが、図2におけるBDMVディレクトリ配下のBDJAディレクトリに格納されたJava(登録商標)アーカイブファイル(00001.jar,00002.jar)である。以降、Java(登録商標)アーカイブファイルについて、図11を参照しながら説明する。
<Java(登録商標)アーカイブファイル>
Java(登録商標)アーカイブファイル(図9の00001.JAR)は、1つ以上のクラスファイル、1つ以上のデータファイル等を1つにまとめることで得られるファイルである。図11(a)は、アーカイブファイルにより収められているプログラム、データを示す図である。本図におけるデータは、枠内に示すディレクトリ構造が配置された複数ファイルを、Java(登録商標)アーカイバでまとめたものである。枠内に示すディレクトリ構造は、Rootディレクトリ、java(登録商標)ディレクトリ、imageディレクトリとからなり、Rootディレクトリにcommon.pkgが、java(登録商標)ディレクトリにクラスファイル(aaa.class,bbb.class)が、imageディレクトリに、menu.jpgが配置されている。Java(登録商標)アーカイブファイルは、これらをJava(登録商標)アーカイバでまとめることで得られる。かかるクラスファイル及びデータは、BD-ROMからキャッシュに読み出されるにあたって展開され、キャッシュ上で、ディレクトリに配置された複数ファイルとして取り扱われる。Java(登録商標)アーカイブファイルのファイル名における"zzzzz"という5桁の数値は、Java(登録商標)アーカイブファイルのIDを示し、BD-Jオブジェクトは、この値を用いてJava(登録商標)アーカイブファイルを参照する。本Java(登録商標)アーカイブファイルがキャッシュに読み出された際、このファイル名における数値を参照することにより、任意のJava(登録商標)アプリケーションを構成するプログラム,データを取り出すことができる。
本図におけるクラスファイル(図中のaaa.class,bbb.class)は、上述したxletプログラムに対応するクラスファイルである。Java(登録商標)動作環境による動作モード(BD-Jモード)における再生手順は、このクラスファイルのインスタンスにあたるxletプログラムにより規定される。xletプログラムとは、JMF(Java(登録商標) Media FrameWork)方式のインターフェイスを利用することができるJava(登録商標)プログラムであり、JMF等の方式に従って、キーイベントに基づきプレイリスト再生処理を行う。
更にxletプログラムは、WWWサイトをアクセスしてコンテンツをダウンロードするという手順を実行することもできる。これによりダウンロードコンテンツと、プレイリスト再生とを交えた斬新な作品を再生させることができる。
xletプログラムのクラスファイルについて説明する。図11(b)は、クラスファイルの内部構成を示す図である。本図に示すようにクラスファイルは、通常のクラスファイル同様、『コンスタントプール』、『インターフェイス』、『メソッド1,2,3・・・・n』からなる。クラスファイルにおけるメソッドには、挙動のトリガになるキーイベントが予め登録されているメソッド(EventListner)と、BD-ROM再生装置200側のファンクションAPIをコールするメソッドがある。これらのメソッドは、自身に割り当てられたローカル変数や、自身をコールする際の引数を用いることにより、演算等の手順が記述されている。以上がJava(登録商標)アーカイブファイルについての説明である。
続いて、拡張子BOBJを付したファイルについて説明する。拡張子BOBJを付したファイルは、BD-Jオブジェクトを格納したファイルである。BD-Jオブジェクトは、PlayList情報により定義されるAVClip列と、アプリケーションとの関連付けにより、タイトルを定義する情報である。図12は、BD-Jオブジェクトの内部構成を示す図である。本図に示すように、BD-Jオブジェクトは、“アプリケーション管理テーブル”と、“PlayList情報に対する参照値”とを示す。アプリケーション管理テーブルは、アプリケーションの識別子(アプリケーションID)とそのアプリケーションを構成するJava(登録商標)アーカイブファイルのIDを羅列することで、このタイトルを生存区間とするアプリケーションを示すテーブルである。つまり、一つのアプリケーションは一つ以上のJava(登録商標)アーカイブファイルで構成される。“PlayList情報に対する参照値”は、このタイトルの開始時に、同時に再生すべきPlayList情報を示す。
以上が拡張子BOBJを付したファイルについての説明である。
尚、BD-Jオブジェクト及びアプリケーション管理テーブルについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2005/045840
続いてINDEX.BDMVについて説明する。
INDEX.BDMVは、BD-ROM全体に関する管理情報であり、映画作品のプロバイダを特定する識別子であるorganizationIDや、プロバイダが提供するBD-ROMのそれぞれに割り当てられた識別子であるdiscID等の情報を持ち、再生装置へのディスク挿入後に、INDEX.BDMVが最初に読み出されることで、再生装置においてディスクが一意に認識される。加えて、BD-ROMにおいて再生可能となる複数のタイトルと、個々のタイトルを規定するBD-Jオブジェクトとを対応付けて示すテーブルが含まれる。以降、BD-ROMに記録され得るタイトルの類型について説明する。BD-ROMに記録され得るタイトルには、『FirstPlayTitle』、『Top_menuTitle』、『Title#1,#2,#3』といったものがある。
『FirstPlayTitle』は、BD-ROMのローディングされた際、なによりも先に、この動的商標を再生させるという役割分担を担う。このFirstPlayTitleにより、映画作品の制作者や頒布者を表徴する動的商標を、ローディング時に再生するという慣習が実現されることになる。
『Top_menuTitle』は、BD-ROMにおけるメニュー階層において、最上位に位置するメニューを再生させる、AVCLip及びアプリケーションからなるTitleである。
『Title#1,#2,#3』とは、一般的な映画作品にあたるTitleである。これら『FirstPlayTitle』、『Top_menuTitle』、『Title#1,#2,#3』といったタイトルと、個々のBD-Jオブジェクトとの対応付けを示すのがINDEX.BDMVである。
図13は、INDEX.BDMVの内部構成を示す図である。本図に示すようにINDEX.BDMVは、『FirstPlayTitle情報』、『Top_menuTitle情報』、『Title#1情報』、『Title#2情報』、『Title#3情報』といったTitle情報からなる。個々のTitle情報は、Titleの番号と、そのタイトルを規定するBD-Jオブジェクトとの対応付けを示す。以上のTitle情報により、タイトルを規定するBD-Jオブジェクトを特定することができ、このBD-Jオブジェクトから、連動すべきPlayList情報及びアプリケーションを導くことができる。以上がINDEX.BDMVについての説明である。
尚、INDEX.BDMVについては、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2004/025651
本発明に係る再生装置が対象としている記録媒体は、BD-ROMだけではない。再生装置に内蔵されているハードディスク等の磁気記録装置(Local Storage)も再生の対象となる。このLocal Storageに記録されているデータについて説明する。
図14は、Local Storageにおけるディレクトリ構造を示す図である。
本図のディレクトリ構造においてROOTディレクトリの配下には、「organization#1」というサブディレクトリがあり、その配下に、「disc#1」,「disc#2」というサブディレクトリがある。ディレクトリ「organization#1」とは、映画作品の特定のプロバイダに割り当てられたディレクトリである。「disc#1」,「disc#2」は、そのプロバイダが提供したBD-ROMのそれぞれに割り当てられたディレクトリである。これらのディレクトリ名には、各BD-ROMのINDEX.BDMVで示されるorganizationID、及びdiscIDの値が用いられる。
特定のプロバイダに対応するディレクトリに、各BD-ROMに対応するディレクトリを設けることにより、各BD-ROMについてのダウンロードデータが個別に格納される。このサブディレクトリの配下に、BD-ROMに格納されていたのと同様、PlayList情報、Clip情報、AVClipが格納されており、この他にJava(登録商標)アーカイブファイルや、マージ管理情報ファイル、署名情報ファイルが存在する。
ここでBD-ROM上のPlayList情報は、BD-ROM上のAVClipのみを参照しているのに対し、Local Storage上のPlayList情報(Virtual Packageとして新たに追加されたPlayList情報)は、BD-ROM上のAVClipと、Local Storage18上のAVClipとを参照する。
ここでLocal Strage上のPlayList情報が、PlayItem情報#1〜PlayItem情報#4という4つのPlayItem情報から構成されているものとする。このうち、先頭のPlayItem情報#1は、BD-ROM上のClip情報を参照するものであり、残りの3つ(PlayItem情報#2〜#4)が、Local Storage上のClip情報を参照するものである場合、このPlayList情報は、図15に示すように、BD-ROM上のAVClipと、Local Storage上のAVClipとから1つのストリームシーケンスを定義することができる。
図15は、ローカルストレージに格納されたPL情報により、どのようなPlayList再生時間軸が定義されるかを示す図である。第1段目は、BD-ROMに記録されたAVClipにおける再生時間軸を示し、第2段目は、ローカルストレージに格納されたPL情報により定義されるPlayList再生時間軸を示す。第3段目は、ローカルストレージに格納されたAVClip#2における再生時間軸を、第4段目は、ローカルストレージに格納されたAVClip#3における再生時間軸を、第5段目は、ローカルストレージに格納されたAVClip#4における再生時間軸を示す。
PlayList情報におけるPlayItemのうち、PlayItem情報#2、PlayItem情報#3、PlayItem情報#4が、AVClip#2、AVClip#3、AVClip#4を再生区間として指定するなら、PlayList情報は、BD-ROM上のAVClip及びLocal Storage18上のAVClipを1つのストリームシーケンスとして規定することができる。
以上のように、BD-ROM上のAVClip及びLocal Storage18上のAVClipを1つのストリームシーケンスとして規定することができ、これをBD-ROM又はLocal Storage上のアプリケーションと組み合わせることにより、BD-ROM又はLocal Storageに記録されているアプリケーションと、AVClipとから、1つのタイトルを構成することができる。図16(a)に示すように、BD-ROMにAVClip#1が記録されており、Local StorageにAVClip#2〜AVClip#4、アプリケーションが記録されている場合、これらのAVClip#1〜AVClip#4、アプリケーションを、図16(b)に示すように、1つのタイトルとして扱うことができる。
続いて、マージ管理情報ファイルについて説明する。このマージ管理情報ファイルは、Local Storageのdisc#1,#2ディレクトリに存在するファイルのうち、Virtual Packageを構成するものを一意に示しておくファイルである。
図17は、マージ管理情報ファイルの内部構成を示す図である。マージ管理情報ファイルは、Virtual Packageを構成するLocal Strage上の各ファイルの格納位置情報からなる。各格納位置情報は、Local Storage18におけるそのファイルの格納位置を示す“ファイルパス”と、ファイルのデータから一意に値が決まる一方向の関数を用いて算出される各ファイルのハッシュ値を示す“ハッシュ値”とからなる。
続いて、署名情報ファイルについて説明する。この署名情報ファイルは、マージ管理情報ファイルに対するプロバイダの電子的な署名を示すファイルである。電子的な署名は、一般的に改ざん防止が必要な情報に対してハッシュ値を計算し、ハッシュ値をなんらかの秘密鍵を用いて暗号化したものを用いる。本実施形態の署名情報ファイルでは、再生装置が保持するマージ証明書中の公開鍵に対応する秘密鍵を利用して、マージ管理情報ファイルのハッシュ値が暗号化されている。
尚、マージ証明書は、マージ管理情報ファイルの認証に利用する証明書で、プロバイダが公開する公開鍵が含まれる。プロバイダが提供するマージ証明書は、あらかじめ再生機器に組み込まれる。マージ証明書のファイル形式の一例としてはX.509を利用することができる。X.509の詳細な仕様は、国際電信電話諮問委員会より発行されている、CCITT Recommendation X.509 (1988), "The Directory - Authentication Framework"に記載されている。
尚、マージ証明書は、あらかじめ再生機器に組み込まれるとしたが、BD-ROM上に記録しておいてもよい。あるいは、インターネットを介してマージ証明書を提供するサーバ装置からダウンロードして取得してもよい。
以上が記録媒体の説明である。続いて、本発明に係る再生装置の内部構成について説明する。
<再生装置>
図18は、本発明に係る再生装置の内部構成を示す図である。本発明に係る再生装置は、本図に示す内部に基づき、工業的に生産される。本発明に係る再生装置は、主としてシステムLSIと、ドライブ装置という2つのパーツからなり、これらのパーツを装置のキャビネット及び基板に実装することで工業的に生産することができる。システムLSIは、再生装置の機能を果たす様々な処理部を集積した集積回路である。こうして生産される再生装置は、BD-ROMドライブ1、Read Buffer2、デマルチプレクサ3、ビデオデコーダ4、ビデオプレーン5、P-Graphicsデコーダ6、Presentation Graphicsプレーン7、合成部8、フォントゼネレータ9、I-Graphicsデコーダ10、スイッチ11、Interactive Graphicsプレーン12、合成部13、CLUT部14、CLUT部15、オーディオデコーダ16、Network Device17、Local Storage18、Read Buffer19、デマルチプレクサ20、命令ROM21、ユーザイベント処理部22、PSRセット23、CPU24、シナリオメモリ25、Local Memory26、スイッチ27から構成される。
先ず初めに、BD-ROMに記録されたAVClip再生に係る構成要素(BDドライブ1〜オーディオデコーダ16)について説明する。
BD-ROMドライブ1は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。
Read Buffer2は、FIFOメモリであり、BD-ROM又はLocal Storage18から読み出されたTSパケットが先入れ先出し式に格納される。
デマルチプレクサ(De-MUX)3は、Read Buffer2からTSパケットを取り出して、このTSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、CPU24から設定されたPIDをもつものをビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16のどれかに出力する。
ビデオデコーダ4は、デマルチプレクサ3から出力された複数PESパケットを復号して非圧縮形式のピクチャを得てビデオプレーン5に書き込む。
ビデオプレーン5は、非圧縮形式のピクチャを格納しておくためのプレーンである。プレーンとは、再生装置において一画面分の画素データを格納しておくためのメモリ領域である。ビデオプレーン5における解像度は1920×1080であり、このビデオプレーン5に格納されたピクチャデータは、16ビットのYUV値で表現された画素データにより構成される。ビデオプレーン5では、ビデオストリームにおける一フレーム毎の再生映像を、スケーリングすることができる。スケーリングとは、一フレーム毎の再生画像をビデオプレーン5全体の1/4(クオータという)、1/1(フルスケールという)のどちらかに変化させることである。かかるスケーリングを、BD-JモードにおいてCPU24からの指示に従い実行するので、ビデオストリームの再生画像を、画面の隅に追いやったり、全面的に出すという画面演出が可能になる。
P-Graphicsデコーダ6は、BD-ROMから読み出されたプレゼンテーショングラフィクスストリームをデコードして、非圧縮グラフィクスをPresentation Graphicsプレーン7に書き込む。グラフィクスストリームのデコードにより、字幕が画面上に現れることになる。
Presentation Graphicsプレーン7は、一画面分の領域をもったメモリであり、一画面分の非圧縮グラフィクスを格納することができる。本プレーンにおける解像度は1920×1080であり、Presentation Graphicsプレーン7中の非圧縮グラフィクスの各画素は8ビットのインデックスカラーで表現される。CLUT(Color Lookup Table)を用いてかかるインデックスカラーを変換することにより、Presentation Graphicsプレーン7に格納された非圧縮グラフィクスは、表示に供される。
合成部8は、ビデオプレーン5に格納された非圧縮状態のピクチャデータ(i)を、Presentation Graphicsプレーン7の格納内容と合成する。
フォントゼネレータ9は、文字フォントを用いてtextSTストリームに含まれるテキストコードをビットマップに展開してPresentation Graphicsプレーン7に書き込む。
I-Graphicsデコーダ10は、DVDライクモードにおいてBD-ROM又はLocal Storage18から読み出されたIGストリームをデコードして、非圧縮グラフィクスをInteractive Graphicsプレーン12に書き込む。
スイッチ11は、フォントゼネレータ9が生成したフォント列、P-Graphicsデコーダ6のデコードにより得られたグラフィクスの何れかを選択的にPresentation Graphicsプレーン7に書き込むスイッチである。
Interactive Graphicsプレーン12は、I-Graphicsデコーダ10によるデコードで得られた非圧縮グラフィクスが書き込まれる。またInteractive Graphicsプレーン12には、BD-Jモードにおいて、アプリケーションにより描画された文字やグラフィクスがαRGBのフルカラーで書き込まれる。
合成部13は、Interactive Graphicsプレーン12の格納内容と、合成部8の出力である合成画像(非圧縮状態のピクチャデータと、Presentation Graphicsプレーン7の格納内容とを合成したもの)とを合成する。かかる合成により、アプリケーションがI-Graphicsデコーダ10に書き込んだ文字・グラフィクスを、非圧縮状態のピクチャデータ上にオーバレイして、表示することができる。
CLUT部14は、ビデオプレーン5に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。
CLUT部15は、DVDライクモードで動作しているときには、Interactive Graphicsプレーン12に格納された非圧縮グラフィクスにおけるインデックスカラーを、Y,Cr,Cb値に変換する。BD-Jモードで動作しているときには、αRGBのフルカラーを Y,Cr,Cbに変換する。
オーディオデコーダ16は、デマルチプレクサ3から出力されたPESパケットを復号して、非圧縮形式のオーディオデータを出力する。
以上がAVClip再生に係る構成要素である。続いてBD-Jモードでの動作に係る構成要素(Network Device17〜De-mux20)について説明する。
Network Device17は、再生装置における通信機能を実現するものであり、BD-JモードにおいてURL指定がJava(登録商標)アプリケーションから与えられれば、そのURLにあたるwebサイトとのTCPコネクション、FTPコネクション等を確立する。かかるコネクション確立によりwebサイトからのダウンロードをJava(登録商標)アプリケーションに行わせる。
Local Storage18は、Network Device17により確立されたコネクションを通じてwebサイトからダウンロードされたコンテンツ等、BD-ROM以外の記録媒体、通信媒体から供給されたコンテンツを、メタデータと共に格納しておくためのハードディスクである。このメタデータは、ダウンロードコンテンツをLocal Storage18にバインドして管理するための情報であり、このLocal Storage18をアクセスすることで、BD-Jモードにおけるアプリケーションは、ダウンロードコンテンツを利用した様々な処理を行うことができる。
Read Buffer19は、FIFOメモリであり、BD−ROM又はLocal Storage18に格納されたコンテンツに、SubClipが含まれている場合、このSubClipを構成するTSパケットを、先入れ先出し式に格納する。
デマルチプレクサ(De-MUX)20は、Read Buffer19からTSパケットを取り出して、TSパケットをPESパケットに変換する。そして変換により得られたPESパケットのうち、所望のPIDをもつものをフォントゼネレータ9、P-Graphicsデコーダ6、オーディオデコーダ16に出力する。
以上のNetwork Device17〜De-mux20により、Java(登録商標)アプリケーションがネットワークを通じてダウンロードしたコンテンツを、BD-ROMに記録されたコンテンツ同様再生させることができる。続いて、再生装置における統合制御を実現する構成要素(命令ROM21〜スイッチ27)について説明する。
命令ROM21は、再生装置の制御を規定するソフトウェアを記憶している。
ユーザイベント処理部22は、リモコンや再生装置のフロントパネルに対するキー操作に応じて、その操作を行うユーザイベントをCPU24に出力する。
PSRセット23は、再生装置に内蔵されるレジスタであり、64個のPlayer Status Register(PSR)と、4096個のGeneral Purpose Register(GPR)とからなる。Player Status Registerの設定値(PSR)のうち、PSR4〜PSR8は、現在の再生時点を表現するのに用いられる。
PSR4は、1〜100の値に設定されることで、現在の再生時点が属するタイトルを示し、0に設定されることで、現在の再生時点がトップメニューであることを示す。
PSR5は、1〜999の値に設定されることで、現在の再生時点が属するチャプター番号を示し、0xFFFFに設定されることで、再生装置においてチャプター番号が無効であることを示す。
PSR6は、0〜999の値に設定されることで、現在の再生時点が属するPL(カレントPL)の番号を示す。
PSR7は、0〜255の値に設定されることで、現在の再生時点が属するPlayItem(カレントPlay Item)の番号を示す。
PSR8は、0〜OxFFFFFFFFの値に設定されることで、45KHzの時間精度を用いて現在の再生時点(カレントPTM(Presentation TiMe))を示す。以上のPSR4〜PSR8により、BD-ROM全体の時間軸において、現在の再生時点はどこであるかを特定することができる。
CPU24は、命令ROM21に格納されているソフトウェアを実行して、再生装置全体の制御を実行する。この制御の内容は、ユーザイベント処理部22から出力されたユーザイベント、及び、PSRセット23における各PSRの設定値に応じて動的に変化する。
シナリオメモリ25は、カレントのPL情報やカレントのClip情報を格納しておくためのメモリである。カレントPL情報とは、BD-ROMに記録されている複数PL情報のうち、現在処理対象になっているものをいう。カレントClip情報とは、BD-ROMに記録されている複数Clip情報のうち、現在処理対象になっているものをいう。
Local Memory26は、BD-ROMからの読み出しは低速である故、BD-ROMの記録内容を一時的に格納しておくためのキャッシュメモリである。かかるLocal Memory26が存在することにより、BD-Jモードにおけるアプリケーション実行は、効率化されることになる。
スイッチ27は、BD-ROM及びLocal Storage18から読み出された各種データを、Read Buffer2、Read Buffer19、シナリオメモリ25、Local Memory26のどれかに選択的に投入するスイッチである。
以上が、本実施形態に係る再生装置のハードウェア構成である。続いて本実施形態に係る再生装置におけるソフトウェア構造について説明する。
図19は、命令ROM21に格納されたソフトウェアと、ハードウェアとからなる部分を、レイア構成に置き換えて描いた図である。本図に示すように、再生装置のレイア構成は、以下のa),b),c)からなる。つまり、

a)BD Player Deviceの第1階層、
b)BD Player Modelの第2階層、
c)Application Runtime Enviromentの第3階層からなる。

これらの階層のうち図18に示した再生装置のハードウェア構成は、第1階層に属することになる。本図の第1階層“BD Player Device”には、図18に示したハードウェア構成のうちビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16からなる“デコーダ”と、ビデオプレーン5、Presentation Graphicsプレーン7、Interactive Graphicsプレーン12からなる“プレーン”、BD-ROM及びそのファイルシステム、Local Storage18及びそのファイルシステムを含む。
第2階層“BD Player Model”は、以下のb1),b2)の層からなる。つまり、

b2)Playback Control Engine32の層
b1)Virtual File System38及びPresentation Engine31の層
からなり、自身より上位の階層に対し、ファンクションAPIを提供する。

このうち図18に示したPSRセット23やシナリオメモリ25は、Playback Control Engine32内に存在することになる。

第3階層“Application Runtime Enviroment”は、以下のc1)c2)のスタック階層からなる。つまり、

c2)モジュールマネージャ33が存在する層
c1)DVDライクモジュール29a、Java(登録商標)プラットフォーム29bが存在する層

からなる。

以降、このソフトウェア構造における各構成要素について説明する。

<DVDライクモジュール29a、Java(登録商標)プラットフォーム29b>
DVDライクモジュール29aは、ナビゲーションコマンドを解読し、解読結果に基づきPlayback Control Engine32に対するファンクションコールを実行する。
尚、DVDライクモジュール及びこのDVDライクモジュールが実行するMovie Objectについては、以下の国際公開公報に記載された先行技術が存在する。詳細については、本国際公開公報を参照されたい。
国際公開公報W0 2004/074976
Java(登録商標)プラットフォーム29bは、いわゆるJava(登録商標)プラットフォームであり、

d1-1)Java(登録商標)仮想マシン30
d1-2)Java(登録商標)仮想マシンが動作するためのミドルウエア

を階層化した構成になっている。

<Java(登録商標)仮想マシン30>
Java(登録商標)仮想マシン30は、アプリケーションを構成するxletプログラムをワークメモリにロードして、xletプログラムを解読し、解読結果に従って、下位層に対する制御を行う。下位層への制御は、メソッドをミドルウェアに発行して、BD再生装置が対応しているファンクションコールに置き換えさせ、置換後のファンクションコールをPlayback Control Engine32に発行することでなされる。
(Java(登録商標)仮想マシン30の内部構成)
ここでJava(登録商標)仮想マシン30の内部構成について説明する。図20は、Java(登録商標)仮想マシン30の内部構成を示す図である。本図に示すようにJava(登録商標)仮想マシン30は、CPU24と、ユーザクラスローダ52、メソッドエリア53、ワークメモリ54、スレッド55a,b・・・n、Java(登録商標)スタック56a,b・・・nとから構成される。
ユーザクラスローダ52は、BDJAディレクトリのJava(登録商標)アーカイブファイルにおけるクラスファイルをLocal Memory26等から読み出してメソッドエリア53に格納する。このユーザクラスローダ52によるクラスファイル読み出しは、ファイルパスを指定した読み出しをアプリケーションマネージャ36がユーザクラスローダ52に指示することでなされる。ファイルパスがLocal Memory26を示しているなら、ユーザクラスローダ52は、アプリケーションを構成するJava(登録商標)アーカイブファイルにおけるクラスファイルを、Local Memory26からワークメモリ54に読み出す。ファイルパスがFile System上のディレクトリを示しているなら、ユーザクラスローダ52は、アプリケーションを構成するJava(登録商標)アーカイブファイルにおけるクラスファイルを、BD-ROM又はLocal Storage18からワークメモリ54に読み出す。
メソッドエリア53は、ユーザクラスローダ52によりLocal Memory26から読み出されたクラスファイルが格納される。
ワークメモリ54は、いわゆるヒープエリアであり、様々なクラスファイルのインスタンスが格納される。ワークメモリ54には、常駐型のレジデントアプリケーションやメソッドエリア53に読み出されたクラスファイルに対応するインスタンスが格納される。このインスタンスが、アプリケーションを構成するxletプログラムである。かかるxletプログラムをワークメモリ54に配置することによりアプリケーションは実行可能な状態になる。
スレッド55a,b・・・nは、ワークメモリ54に格納されたメソッドを実行する論理的な実行主体であり、ローカル変数や、オペランドスタックに格納された引数をオペランドにして演算を行い、演算結果を、ローカル変数又はオペランドスタックに格納する。図中の矢印ky1,ky2,kynは、ワークメモリ54からスレッド55a,b・・・nへのメソッド供給を象徴的に示している。物理的な実行主体がCPU唯1つであるのに対し、論理的な実行主体たるスレッドは、最大64個Java(登録商標)仮想マシン30内に存在し得る。この64個という数値内において、スレッドを新規に作成することも、既存のスレッドを削除することも可能であり、スレッドの動作数は、Java(登録商標)仮想マシン30の動作中において増減し得る。スレッドの数は適宜増やすことができるので、複数スレッドにより1つのインスタンスの並列実行を行い、インスタンスの高速化を図ることもできる。
Java(登録商標)スタック56a,b・・・nは、スレッド55a,b・・・nと1対1の比率で存在しており、プログラムカウンタ(図中のPC)と、1つ以上のフレームとを内部に持つ。“プログラムカウンタ”は、インスタンスにおいて、現在どの部分が実行されているかを示す。“フレーム”はメソッドに対する1回のコールに対して割り当てられたスタック式の領域であり、その1回のコール時の引数が格納される“オペランドスタック”と、コールされたメソッドが用いる“ローカル変数スタック(図中のローカル変数)”とからなる。フレームは、コールが1回なされる度にJava(登録商標)スタック56a,b・・・n上に積み上げられるのだから、あるメソッドが自身を再帰的に呼び出す場合も、このフレームは、1つ積み上げられることになる。
以上がJava(登録商標)仮想マシンの内部構成である。このように構成されたJava(登録商標)仮想マシンは、イベントにより駆動される実行主体(イベントドリブンの実行主体)となる。以上がJava(登録商標)仮想マシンについての説明である。

<Presentation Engine31>
Presentation Engine31は、AV再生ファンクションを実行する。再生装置のAV再生ファンクションとは、DVDプレーヤ、CDプレーヤから踏襲した伝統的な機能群であり、再生開始(Play)、再生停止(Stop)、一時停止(Pause On)、一時停止の解除(Pause Off)、Still機能の解除(still off)、速度指定付きの早送り(Forward Play(speed))、速度指定付きの巻戻し(Backward Play(speed))、音声切り換え(Audio Change)、副映像切り換え(Subtitle Change)、アングル切り換え(Angle Change)といった機能である。AV再生ファンクションを実現するべく、Presentation Engine31は、Read Buffer2上に読み出されたAVClipのうち、所望に時刻にあたる部分のデコードを行うよう、ビデオデコーダ4、P-Graphicsデコーダ6、I-Graphicsデコーダ10、オーディオデコーダ16を制御する。所望の時刻としてPSR8(カレントPTM)に示される箇所のデコードを行わせることにより、AVClipにおいて、任意の時点を再生を可能することができる。

<Playback Control Engine32>
再生制御エンジン(Playback Control Engine32(PCE))32は、プレイリストに対する再生制御ファンクション(i)、PSRセット23における状態取得/設定ファンクション(ii)といった諸機能を実行する。PLに対する再生制御ファンクションとは、Presentation Engine31が行うAV再生ファンクションのうち、再生開始や再生停止を、カレントPL情報及びClip情報に従って行わせることをいう。これら機能(i)〜(ii)は、DVDライクモジュール29a〜Java(登録商標)プラットフォーム29bからのファンクションコールに応じて実行する。
ここでPlayback Control Engine32による処理と、Java(登録商標)仮想マシンによる処理との同期について説明する。Playback Control Engine32は、ファンクションがコールされれば、PL情報に基づく処理手順を実行する。再生しようとするAVClipが15分、30分という再生時間を有するなら、これらの時間、上述した処理は継続することになる。ここで問題になるのは、Java(登録商標)仮想マシン30がサクセス応答を返す時間と、Playback Control Engine32が実際に処理を終える時間とのギャップである。Java(登録商標)仮想マシン30は、イベントドリブンの処理主体であるためコール直後に再生成功か、再生失敗かを示す応答を返すが、Playback Control Engine32がAVClip及びPlayItemの再生を終了するのは、15分、30分経過後であるので、サクセス応答をアプリケーションに返す時間を基準にしたのでは、15分、30分経過後にあたる処理終結を感知しえない。PL再生において早送り、巻戻しが行われると、この15分、30分という再生期間は前後に変動することになり、処理終結の感知は更に困難になる。そこでPlayback Control Engine32は、PlayItemの再生終了時、AVClipの再生終了時に、PlayItemやAVClipの再生が終了したことを示すイベントをアプリケーションに出力する。かかる出力により、Playback Control Engine32がPlayItemやAVClipの再生を終結した時点を、アプリケーションは知得することができる。

<モジュールマネージャ33>
モジュールマネージャ33は、INDEX.BDMVを読み出して、このINDEX.BDMVにおける複数のタイトル情報のうち、1つをカレントタイトル情報として選ぶ。そしてそのカレントタイトル情報に示されるBD-Jオブジェクトを読み出す。そしてこのBD-Jオブジェクトに記述されているPlayList情報に基づき、再生制御を行うよう、再生制御エンジンを制御する。またBD-Jオブジェクトに記述されるJava(登録商標)アーカイブファイルを読み出して、実行するようJava(登録商標)仮想マシンを制御する。
ここでPlayList情報に基づくデジタルストリーム再生が終了した場合、又は、ユーザがメニュー呼出を行った場合、モジュールマネージャは、別のタイトルを定義するタイトル情報を読み出し、別のタイトル情報をカレントタイトル情報として選ぶ。デジタルストリームの再生や、ユーザによるメニュー呼出に応じて、別のタイトル情報をカレントのタイトル情報として選ぶ処理を、“タイトル切り換え”と呼ぶ。
かかる“タイトル切り換え”を繰り返すことにより、図21に示すような状態遷移を実現することができる。本図における楕円枠は、Titleである。
Titleには、BD-ROMのローディング時に最初に再生される『FirstPlayTitle』、Top-Menuを構成する『Top_menuTitle』、これら以外の一般的な『Title』がある。また、図中の矢印jh1,2,3,4,5,6,7,8は、Title間の分岐を象徴的に示す。本図に示される状態遷移とは、BD-ROMローディング時に、『FirstPlayTitle』が再生され、『Top_menuTitle』への分岐が発生して、トップメニューに対する選択待ちになるというものである。
そしてユーザによるメニューに対する選択操作があれば、選択に従って該当Titleの再生を行い、再びTopMenu Titleに戻るとの処理を、BD-ROMのイジェクトがなされるまで延々と繰り返すというのが、ディスクコンテンツ特有の状態遷移である。上述したモジュールマネージャ33の制御により、かかる状態遷移は実現される。
尚、タイトル及びカレントタイトルの選択については、以下の国際公開公報に詳細が記載されている。詳細については、本公報を参照されたい。
国際公開公報WO 2005/036555
国際公開公報WO 2005/036540
国際公開公報WO 2005/036547
以上が、Java(登録商標)仮想マシン30、Presentation Engine31、Playback Control Engine32、モジュールマネージャ33の説明である。
Playback Control Engine32に対する、Java(登録商標)仮想マシンによる制御は、Virtual Packageを通じてなされる。Virtual Packageを通じた、Playback Control Engine32に対する制御を実現するため、再生装置には、以下に示す構成要素(ネットワーク管理モジュール37、Virtual FileSystem部38、管理情報変換モジュール39、メソッド実行モジュール40)が存在する。以降これらの構成要素について説明する。

<ネットワーク管理モジュール37>
ネットワーク管理モジュール37は、アプリケーションからのメソッド呼出に従って、Virtual Package構築に必要なデータを、映画作品のプロバイダが運営しているWWWサイトからダウンロードする。Virtual Package構築に必要なデータには、マージ管理情報ファイル、署名情報ファイル、及びBD−ROM上のファイルを置き換え、もしくは追加するファイル(PlayList情報、Clip情報、AVClip、Java(登録商標)アーカイブファイルなど)がある。Work Memory54上のアプリケーションによるダウンロード要求がなされると、ネットワーク管理モジュール37は、ネットワークを通じて、Virtual Package構築に必要なデータをダウンロードし、Local Storage18に書き込んでゆく。

<Virtual FileSystem部38>
Virtual FileSystem部38は、第2階層に属する構成要素の1つであり、アプリケーションからのメソッド呼出に従い、Virtual Packageを構築する。Virtual Packageの構築処理には、Virtual Packageを構成する各AVClipの状態管理と、Virtual Package情報の生成処理とが含まれる。

1.Virtual Package情報
Virtual Package情報は、BD-ROMにおけるボリューム管理情報を拡張した情報である。ここでボリューム管理情報は、ある記録媒体上に存在するディレクトリ−ファイル構造を規定する情報であり、ディレクトリについてのディレクトリ管理情報、ファイルについてのファイル管理情報とからなる。
Virtual Package情報とは、BD-ROMのディレクトリ−ファイル構造を示すボリューム管理情報に、新たなファイル管理情報を追加することにより、BD-ROMにおけるディレクトリ−ファイル構造の拡張を図ったものである。ここでBDボリューム管理情報に追加されるファイル管理情報とは、Local Storage18に存在するPlayLIst情報、Clip情報、AVClip、及びJava(登録商標)アーカイブファイルについてのファイル管理情報であり、かかるファイル管理情報を追加したVirtual Package情報を作成し、Playback Control Engine32に引き渡すことにより、Playback Control Engine32は、Local Storage18上にあるPlayLIst情報、Clip情報、AVClip、及びJava(登録商標)アーカイブファイルがBD-ROMに存在するものとして認識することができる。図22は、Virtual FileSystem部38によるVirtual Package情報構築の一例を示す図である。本図の左上は、BD-ROMにおけるディレクトリ−ファイル構造であり、図2に示したものと同じである。本図の左下は、Local Storage18におけるディレクトリ−ファイル構造であり、図14に示したものと同じである。このLocal Storage18上のPlayList情報、Clip情報、AVClip、及びJava(登録商標)アーカイブファイルについてのファイル管理情報を、マージ管理情報に従って、BD-ROMのボリューム管理情報に追加する。
具体的には、
i)Local Storage18上のPlayList(00002.MPLS)についてのファイル管理情報を、BDボリューム管理情報におけるMPLSディレクトリのディレクトリ管理情報に追加し、

ii)Local Storage18上のClip情報#2、Clip情報#3、#4(00002.CLPI,00003.CLPI,00004.CLPI)についてのファイル管理情報を、BDボリューム管理情報におけるCLPIディレクトリのディレクトリ管理情報に追加し、

iii)Local Storage18上のAVClip#2、AVClip#3、#4(00002.M2TS,00003.M2TS,00004.M2TS)についてのファイル管理情報を、BDボリューム管理情報におけるSTREAMディレクトリのディレクトリ管理情報に追加する。
尚、マージ管理情報ファイルにより指定されたVirtual Packageでのファイルパスと同じファイルパスのファイルが、BD-ROM上にある場合には、ボリューム管理情報においてLocal Storageのファイル管理情報を上書きする。これにより、Virtual Packageでは、マージ管理情報ファイルから参照されるLocal Storage上のファイルが優先して利用される。
こうすることにより、Virtual Package情報が得られる。この追加により得られたボリューム管理情報が、Virtual Package情報である。
こうして作成されたVirtual Package情報を、Playback Control Engine32に引き渡す。これにより、Playback Control Engine32は、Virtual Packageを示すロケータをファイルアクセス時に指定することで、Local Storage18上のPlayLIst情報、Clip情報、AVClipを、BD-ROM上のPlayList情報、Clip情報、AVClipと対等に扱うことができる。
具体的には、Playback Control Engine32は、Virtual Package情報により示されるVirtual Packageのロケータを用いてファイルアクセスを要求する。これに応じてVirtual File System38は、アクセス要求先のファイルの実体が、BD-ROM及びLocal Storage18の何れに記録されているかを、マージ管理情報ファイルに基づいて判断する。ファイルの実体がLocal Storage18に記録されていると判断した場合には、Virtual File System38は、アクセス要求先を、マージ管理情報ファイルで指定されたLocal Storage18上のファイルへのファイルパスに変換する。以上がVirtual Package情報生成についての説明である。
このVirtual Package情報のアップデートのタイミングについて説明する。
図21において矢印jh1,2,3,4・・・・・に示された参照符号の数値順に分岐がなされ、BD-ROMがイジェクトされたものとする。そうすると、BD-ROMがローディングされてから、イジェクトされるまでの連続時間帯を一本の時間軸と同視することができる。この時間軸を、ディスク全体の時間軸とする。図23(a)は、ディスク全体の時間軸を示す図であり、図23(b)は、この時間軸における構成を示す。図23(b)に示すように、ディスク全体の時間軸は、FirstPlay Titleが再生されている区間、TopMenu Titleが再生されている区間、title#1が再生されている区間等からなる。これらTitleの再生区間はどのように規定されているかというと、Titleは、唯一のBD-J Objectから構成されるから、どれかのBD-J Objectが、有効になっている期間をTitleの再生区間と考えることができる。このTitleの再生区間の狭間、つまりあるTitleから、別のTitleへの切り換わる区間(Title Change)が、Virtual Package情報のアップデート時期になる。
図24は、Title Changeにおいて、Virtual Package情報アップデートがどのように行われるかを示す図である。図の第1段目は時間軸におけるタイトルの再生区間を示し、第2段目はタイトルを構成するJava(登録商標)アプリケーションの実行状態を示し、第3段目は、デジタルストリームの再生状態を示す。第4段目は、Virtual File System38の状態を示す。
第1段目に示すTitle#1の再生区間中は、第2段目、第3段目に示すようにBD-J Objectで指定されたJava(登録商標)アプリケーションや、AVClipが実行、再生されている。このようなTitleの再生区間中にVirtual Package情報をアップデートした場合、タイトルの構成要素が、実行処理や再生処理の途中で入れ代わってしまうことがありうる。かかる入れ代わりが生じた結果、再生装置が異常動作を行い、再生映像のブラックアウト等、復旧困難な状態を招くことが多いに考えられる。
そこでVirtual File System38は、Title#1再生中にVirtual Package情報のアップデートを要求された場合、Virtual Package構築に要する処理手順のうち、Virtual Packageの構成要素を変更することなく、タイトル再生区間中に並行して実行可能な処理のみを実行するPreparing状態となる。Preparing状態での処理完了後はPrepared状態に遷移し、Title Changeが発生するまで待機する。Title Changeが発生すると、Virtual File System38はUpdating状態となり、次のタイトルの再生区間に入る前に、マージ管理情報ファイルから参照されるファイルのファイル管理情報をBDボリューム管理情報に追加することで、Virtual Package情報をアップデートする処理を実行する。アップデートの完了後はStable状態となり、次のタイトルの再生が開始される。この状態で、Title ChangeしたTop Menu Titleから再度Title#1へジャンプが選択された場合、Title#1は更新された内容で再生されることになる。
以上のように、Title Changeにおいて、Virtual Package情報がアップデートされることで、Title#1の再生中にVirtual Package情報のアップデートを要求されても、Title#1の再生中はタイトルの構成要素が変更されることがなく、再生処理に異常が発生するおそれがない。
以下、Virtual Packageの構築の詳細を、図25乃至図28を参照しながら説明する。
Virtual Packageを構成するファイル群は、プロバイダ等が設置したサーバにより提供されており、これらのファイルは、インターネット等のネットワークを介して、Java(登録商標)アプリケーションの制御によりダウンロードされる。尚、ダウンロードには、インターネットで通常使われているHTTPやHTTPS等の通信プロトコルを用いる。
図25は、Java(登録商標)アプリケーションがVirtual Package構成ファイル群の送信をサーバへ要求する様子を示す図である。図中央に示すROOTディレクトリ以下のディレクトリツリーは、Local Storageにおけるディレクトリ構造を示す。Java(登録商標)アプリケーションは、Local Storageに記録されているマージ管理情報ファイルを送信することで、Virtual Packageを構成するファイル群のダウンロードをサーバへ要求する。
ただし、BD-ROMが再生装置へ初めて挿入された場合には、Local Storageにマージ管理情報ファイルが記録されておらず、Virtual Packageが構築されていない。このようなVirtual Packageを始めて構築する場合には、Java(登録商標)アプリケーションは、サーバへdiscIDを通知することで、Virtual Package構成ファイル群のダウンロードをサーバへ要求する。
続いて図26は、Java(登録商標)アプリケーションが、サーバから送信されたファイルをLocal Storageへ記録する様子を示す図である。
Java(登録商標)アプリケーションは、図26に示すように、discIDに対応したdisc#1ディレクトリの下に新たなディレクトリ(newMFディレクトリ)を生成し、要求に応じてサーバから送信されたファイルのうち、新たなマージ管理情報ファイルとそのマージ管理情報ファイルに対応した署名情報ファイルを、作成した新たなディレクトリへ記録する。また、それ以外のファイルは、disc#1ディレクトリ直下へ記録する。尚、ここでのファイル記録は、ファイルI/O機能を提供するAPIを用いて、Local Storageへのロケータを指定することにより実行される。尚、disc#1ディレクトリ直下にある既存のマージ管理情報ファイル及び署名情報ファイルと、新たにダウンロードするマージ管理情報ファイル及び署名情報ファイルとのファイル名が重ならなければ、新規ディレクトリを作成せずに、disc#1ディレクトリ直下にダウンロードしたファイルを記録してもよい。
続いて図27は、Java(登録商標)アプリケーションが、Virtual File SystemへVirtual Package情報のアップデートを要求する様子を示す図である。図に示すように、Virtual Package構成ファイル群を取得したJava(登録商標)アプリケーションは、newMFディレクトリへ記録した新たなマージ管理情報ファイルのファイルパスと署名情報ファイルのファイルパスとを引数として、アップデート要求メソッドを呼び出してVirtual Package情報をアップデートさせる。
続いて図28は、Virtual Package情報のアップデートの様子を示す図である。
アップデート要求メソッドが呼び出されると、Virtual File System38は、Preparing状態に遷移し、再生中のタイトルに係るVirtual Packageの構成要素を変更することなく、実行可能な処理のみを実行する。図の左側に示すディレクトリツリーは、Preparing状態でのLocal Storageの様子である。
具体的には、Preparing状態で以下の処理が実行される。

1)引数のファイルパスで示される新たなマージ管理情報ファイルの正当性判定
2)新たなマージ管理情報ファイルに参照されるファイルが指定の格納位置に存在しているか否かの判定
3)新たなマージ管理情報ファイルに参照されるファイルと、新たなマージ管理情報ファイルとのファイル属性を、読み出し専用属性へ変更

上記のPreparing状態での各処理が完了すると、Virtual File System38は、Prepared状態へ遷移する。尚、上記のようにVirtual PackageへマッピングされるLocal Storage上のファイルの属性は、読み出し専用属性に設定されるため、これ以後、Java(登録商標)アプリケーションが、ファイルI/O機能を提供するAPIを用いてLocal Storageへのロケータを指定して、これらのファイルへの書き込みを要求した場合、APIから書き込み権が無いことを示すエクセプションが返される。
この後、Title Changeが発生すると、Virtual File System38は、disc#1ディレクトリへの新たなマージ管理情報ファイル及び署名情報ファイルの置換を行い、置き換えられたdisc#1ディレクトリのマージ管理情報ファイルに基づいて、ファイル管理情報をBDボリューム管理情報に追加することで、Local Storageに記録されているファイルをVirtual Packageへのマッピングする。このとき、古いマージ管理情報ファイルから参照されていたが、新たなマージ管理情報ファイルからは参照されていないLocal Storageのファイルは、ファイル属性が、読み出し専用属性から、読み書き可能な属性へ変更される。以上が、Virtual Package情報の構築の詳細についての説明である。
以下に、本発明に係る再生装置における再生処理について、フローチャートを参照しながら、処理手順の詳細を説明する。図29は、モジュールマネージャ33によるタイトル再生制御の処理を示すフローチャートである。本フローチャートは、BD-ROMが再生装置に挿入されてからイジェクトされるまで実行される処理手順であり、INDEX.BDMVファイルにおいて指定されているFirstPlayTitleをカレントタイトルに設定するステップS11の処理を実行した後は、ステップS12〜ステップS21のループ処理を実行するものである。
ステップS12〜ステップS21のループ処理のうち、ステップS12〜ステップS15は、カレントタイトルを再生する手順である。ステップS12では、INDEX.BDMVからカレントタイトルに対応するタイトル情報を取得し、取得したタイトル情報において指定されたいるBD-JオブジェクトをカレントBD-Jオブジェクトとし、ステップS13では、カレントBD-Jオブジェクトに参照値が記載されているPlayList情報に基づくPL再生を実行するように、Playback Control Engine32を制御する。ステップS14では、カレントBD-Jオブジェクトのアプリケーション管理テーブルにおいて識別子が指定されているJava(登録商標)アプリケーションを実行するように、Java(登録商標)プラットフォーム29bを制御し、ステップS15では、カレントBD-Jオブジェクトのアプリケーション管理テーブルにおいて識別子が指定されていないJava(登録商標)アプリケーションを終了するように、Java(登録商標)プラットフォーム29bを制御する。
ステップS16〜ステップS19は、タイトルの終了を判定する手順であり、PlayListに基づくPL再生の完了(ステップS16)、ユーザ操作によるメニュー呼び出し指示等のタイトルコールの発生(ステップS17)、シナリオ分岐等のタイトルジャンプの発生(ステップS18)、及びタイトルのメインとなるアプリケーションの終了(ステップS19)の何れかが発生した場合に、タイトルが終了したと判定する。
ステップS20及び21は、タイトルが終了したと判定した場合に、ステップS16〜ステップS19の何れの判定によってタイトルの終了が確認されたかに応じて、次のタイトルを特定し(ステップS20)、特定されたタイトルを新たなカレントタイトルに設定する(ステップS21)。以上の処理により、BD-ROMの挿入からイジェクトまで、タイトルの再生がなされる。
続いてPlayback Control Engine32によるPlayList再生の詳細を説明する。図30は、Playback Control Engine32によるPlayList再生処理の処理手順を示すフローチャートである。本フローチャートは、モジュールマネージャ33により指示されたPlayList情報に基づいてPlayListで指定されているAVClipを先頭から最後までを再生する処理手順である。
先ず、指定されたPlayList情報の実体であるMPLSファイルが、マージ管理情報ファイルに基づいてマッピングされたLocal Storage上のファイルである場合に、指定ファイルの改竄有無を検証する(ステップS31)。ステップS31で指定のファイルが改竄されている場合は、本フローチャートの手順を抜けて処理を終了する。指定のファイルが改竄されていない場合はステップS32以降の処理を継続する。
PlayList情報における先頭のPlayItem情報を処理対象PlayItem情報(以下、「PlayItem情報i」)に設定するステップS32の処理を実行した後は、ステップS33〜ステップS41のループ処理を実行する。
ステップS33〜ステップS41のループ処理における制御変数は、変数iであり、ステップS33〜ステップS40の処理を実行して、その後、制御変数iをインクリメントするという処理(ステップS41)を、変数iが、PlayItem数(Number Of PlayItem)を越えるまで実行するものである。
ステップS33〜ステップS41のループ処理のうち、ステップS33〜ステップS35は、MainPathを再生する処理であり、ステップS33の処理では、PlayItem情報iのClip_information_file_nameに記述されているAVClipを、AVClipjとし、再生の対象とする。ステップS34の処理では、AVClipjに対応するClip情報の実体であるCLPIファイルが、マージ管理情報ファイルに基づいてマッピングされたLocal Storage上のファイルである場合に、これらLocal Storage上のファイルの改竄有無を検証し、何れかのファイルが改竄されている場合は、本フローチャートの手順を抜けて処理を終了する。ステップS35の処理では、AVClipjのうち、PlayItem.In_timeからPlayItem.Out_timeまでの部分を再生するよう、ドライブ装置及びデコーダに指示する。
ステップS36〜ステップS39は、SubPathを再生する手順であり、ステップS34は、PlayItem情報iをSync_PlayItem_idに指定しているSubPlayItemkが存在するか否かの判定である。もし存在しなけば、そのままステップS40に移行する。
もし存在すれば、ステップS37の処理では、SubPlayItemkのClip_information_file_nameに記述されているAVClipをAVCliphにし、ステップS38の処理では、そのAVCliphに対応するClip情報の実体であるCLPIファイルが、マージ管理情報ファイルに基づいてマッピングされたLocal Storage上のファイルである場合に、これらLocal Storage上のファイルの改竄有無を検証する。何れかのファイルが改竄されている場合は、本フローチャートの手順を抜けて処理を終了する。ステップS39の処理では、そのAVCliphのうち、Sync_Start_PTS_of_PlayItemから、Out_timeまでを再生するよう、ドライブ装置及びデコーダに指示してステップS40に移行する。
以上の処理を、PlayList情報を構成する全てのPlayItem情報について繰り返すことにより、PlayList情報にて規定されるストリームシーケンスの再生がなされる。
尚、ステップS31、ステップS34、及びステップS38における改竄有無の検証は、具体的には、

a)マージ管理情報ファイルから、検証対象ファイルのハッシュ値を読み出す
b)検証対象ファイルを用いてハッシュ値を算出する
c)a)とb)とで得られた値が一致するならば、検証対象ファイルが改竄されていないと判定し、a)とb)とで得られた値が一致しないならば、検証対象ファイルが改竄されていると判定する。

の手順で実行される。
尚、ストリームファイル(xxxxx.M2TS)の改竄チェックは省いてもよい。なぜなら、一般にストリームファイルは他のファイルに比べてファイルサイズが大きく、ファイルサイズによってはハッシュ値の算出に莫大な時間がかかるおそれがあり、またストリームファイル自体、BD-ROM上に記録されている鍵で暗号化されていることが多く、他のファイルに比べ改竄が困難であると想定されるためである。
次に、本発明に係る再生装置におけるVirtual Package構築手順について、フローチャートを参照しながら、その詳細を説明する。Virtual Packageの構築は、Java(登録商標)アプリケーションによるVirtual Package構成ファイル群のダウンロード、Virtual File System38によるPreparing、及びVirtual File System38によるUpdatingの3つの段階に分けられる。
先ず、Java(登録商標)アプリケーションによる、Virtual Package構成ファイル群のダウンロードの手順について詳細に説明する。図31は、Java(登録商標)アプリケーションによるVirtual Package構成ファイル群のダウンロードの手順を示すフローチャートである。
先ず、Java(登録商標)アプリケーションは、BD-ROMのdiscIDに対応したLocal Storage上のディレクトリに記録されているマージ管理情報ファイルをサーバに送信することで、ファイル群の送信を要求し(ステップS291)、ステップS292で、サーバからのファイル群の受信を待ち受ける。尚、BD-ROMが初めて再生装置へ挿入された場合など、Local Storageにマージ管理情報ファイルが記録されていないことがある。このような場合には、S291の処理でサーバへのファイル群の送信要求として、BD-ROMのdiscIDをサーバへ通知するとしてもよい。
ステップS292の待ち受け処理中にサーバからファイル群のデータを受信すると、ステップS293及びステップS294で、ファイル群をLocal Storageへ記録する。ステップS293は、discIDに対応したディレクトリに新規ディレクトリを作成して、受信したマージ管理情報ファイル及び署名情報ファイルを、その新規ディレクトリへ記録する処理であり、ステップS294は、ダウンロードしたAVClip、Clip情報、PlayList情報、Java(登録商標)アーカイブファイルをdiscIDに対応するディレクトリに書き込む処理である。
Local Storageへのファイル記録が完了すると、Java(登録商標)アプリケーションは、新規ディレクトリのマージ管理情報ファイルのファイルパスと、署名情報ファイルのファイルパスとを引数にして、アップデート要求メソッドを呼び出し(ステップS295)、ステップS296でメソッドの返り値を待ち受ける。
返り値がFalseである場合(ステップS296:Yes)、Virtual Packageの構築処理は中止となる。返り値がFalseではない場合(ステップS296:No)、Virtual File SystemはPrepared状態となり、その後、タイトルが切り替わるタイミングでVirtual Packageがアップデートされる(S297)。
続いてVirtual File System38によるPreparing処理について詳細に説明する。図32は、Virtual File System38によるPreparing処理を示すフローチャートである。
本フローチャートは、アップロード要求メソッドが呼び出された場合にPreparing状態に遷移したVirtual File System38により実行される処理手順である。
メソッド呼出時の引数となるファイルパスを用いてマージ管理情報ファイル、及び署名情報ファイルを読み出すステップS51の処理を実行した後は、Virtual Package構築の可否を判定するステップS52〜ステップS54の処理を実行する。ステップS52は、ステップS51において読み出したマージ管理情報ファイルが改竄されているかを否かを判定する処理であり、マージ管理情報ファイルが改竄されていると判定された場合は、Virtual Package構築が許可されない。
具体的には、
a) 再生装置が保持するマージ証明書中の公開鍵を用いて、署名情報ファイル中の暗号化ハッシュ値を復号化する。
b) マージ管理情報ファイルのハッシュ値を算出する。
c) a)で復号化した値とb)で算出した値とが一致する場合に、マージ管理情報ファイルが改竄されておらず正当であると判定し、a)で復号化した値とb)で算出した値とが一致しない場合に、マージ管理情報ファイルが改竄されており正当ではないと判定する。

ステップS53は、メソッドを呼び出したJava(登録商標)アプリケーションが、Virtual Package更新権限を有するか否かを判定する処理である。呼び出し元に権限がない場合は、Virtual Package構築が許可されない。
ステップS54は、マージ管理情報ファイル中で指定されているファイルが、Local Storageに実在するか否かを判定する処理であり、指定のファイルが実在しないと判定された場合は、Virtual Package構築が許可されない。
ステップS52〜ステップS54の何れかで、Virtual Packageの構築が許可されない判定がなされた場合、メソッドの呼び出し元のJava(登録商標)アプリケーションへ返り値としてFalseを返して、処理が終了される。
一方、ステップS52〜ステップS54でVirtual Package構築が許可される判定がなされると、ステップS55の処理が実行される。
ステップS55は、マージ管理情報ファイル、署名情報ファイル、及びマージ管理情報ファイルに指定されているファイルを読み出し専用属性に変更する処理である。以上が、Preparing処理の詳細についての説明である。
尚、ステップS52〜ステップS54の何れかで、Virtual Packageの構築が許可されない判定がなされた場合に、BD-ROMのボリューム管理情報をVirtual Package情報として、アップデート要求メソッド呼出元のJava(登録商標)アプリケーションへ引き渡し、アップデート要求メソッドの処理を終えるとしてもよい。これにより、再生装置は、マージ管理情報ファイルが改竄等により不正な状態であれば、Local Storage上のファイルを含めたVirtual Packageの構築を抑制しつつ、BD-ROM上のファイルへは、Virtual Packageへのアクセスと同様にアクセスすることができる。
続いてVirtual File System38によるUpdating処理について詳細に説明する。図33は、Virtual File System38によるUpdating処理を示すフローチャートである。
本フローチャートは、アップデート要求メソッドにおいて、Preparing処理の完了後にTitle Changeが起こるとVirtual File System38により実行される処理手順である。
先ず、メソッドの引数のファイルパスで指定されたマージ管理情報ファイル及び署名情報ファイルを、現在再生中のBD-ROMのdiscIDに対応したLocal Storage上のディレクトリに移動させる。このとき、移動先のディレクトリに既にマージ管理情報ファイル及び署名情報ファイルが存在する場合には、新たなマージ管理情報ファイル及び署名情報ファイルで上書きする(ステップS61)。次にLocal Storage18においてマージ管理情報ファイルで指定されているPlayList情報のファイル管理情報を、BDボリューム管理情報におけるPLAYLISTディレクトリのディレクトリ管理情報に追加する(ステップS62)。
その後、ステップS63〜ステップS67のループ処理を実行する。このループ処理は、Local Storage18に存在するそれぞれのClip情報について、ステップS64〜ステップS66の処理を繰り返すものである(ステップS63、ステップS67)。
本ループ処理では、マージ管理情報ファイルで指定されているClip情報のうち1つのClip情報をClip情報xとし、Clip情報xのファイル管理情報を、BDボリューム管理情報におけるCLIPINFディレクトリのディレクトリ管理情報に追加する(ステップS64)。さらに、Clip情報xに対応するAVClipxを特定し(ステップS65)、このAVClipxのファイル管理情報を、BDボリューム管理情報におけるSTREAMディレクトリのディレクトリ管理情報に追加する(ステップS66)。
以上の処理を全てのClip情報及びAVClipについて繰り返せば、Clip情報及びAVClipについてのファイル管理情報が、BDボリューム管理情報に追加されることになる。こうした追加により得られたBDボリューム管理情報がVirtual Package情報になる。このVirtual Package情報をアップデート要求メソッド呼出元のJava(登録商標)アプリケーションへ引き渡し(ステップS68)、処理を終える。以上が、Updating処理の詳細についての説明である。
以上、本実施形態によれば、署名情報に基づいてマージ管理情報の正当性を検証し、マージ管理情報の正当性が確かめられなかった場合は、Local Storageに記録されているファイルをもちいてVirtual Packageを構築することが回避される。これにより、Virtual Packagを構築していな間にLocal Storage上のデータが直接改竄されていたとしても、読み出し専用記録媒体に記録されているデータと組み合せて、改竄された不正なデータが実行、再生されることがなく、不正なデータの利用による不利益をこうむることがない。
また、Virtual Packageを構築する際に、読み書き可能な記録媒体であるLocal Storage上のファイルを、読み取り専用属性にロックすることにより、Virtual Packageが構築された状態で、アプリケーションによる不用意なファイルアクセスによって、ファイルが書き換わることを防ぐことができる。これにより、Virtual Package情報と、Local Storage上のファイルの実体とに不整合が発生することを回避することができる。

(第2実施形態)
本実施形態は、タイトル呼出時における改良に関する。タイトル呼出とは、カレントタイトルの再生を一時的に停止(suspend)して、呼出先のタイトルの再生を行い、そのタイトルの実行終了後、元のタイトルの再生を再開(resume)させるものである。
かかる再生再開を前提にしているので、タイトル呼出時にあたってPlayback Control Engine32は、PSRに格納されている、再生制御のためのシステムパラメータをバックアップPSRに退避し、呼出先のタイトルの再生後、そのバックアップPSRに退避したパラメータをPSRに復帰するとの処理を行う。

以下は、PSRに格納されるシステムパラメータの一覧である。PSR(0)からPSR(12)までは、再生状態を示すシステムパラメータを格納する。PSR(13)からPSR(19)までは、プリファレンスとしてプレーヤに設定されるシステムパラメータを格納している。PSR(20)からPSR(32)までは、バックアップ用のPSRである。

PSR(0) : IGストリーム番号
PSR(1) : 音声ストリーム番号
PSR(2) : PGストリーム/テキスト字幕ストリーム番号
PSR(3) : アングル番号
PSR(4) : 現在再生中のタイトル番号
PSR(5) : 現在再生中のチャプター番号
PSR(6) : 現在再生中のプレイリスト識別子
PSR(7) : 現在再生中のプレイアイテム識別子
PSR(8) : 再生時刻情報
PSR(9) : ナビゲーションタイマー
PSR(10) : 選択キー情報
PSR(11) : IGストリームにおける現在のページ識別子
PSR(12) : PGストリーム、テキスト字幕ストリームにおけるユーザースタイル識別子
PSR(13) : パレンタルレベル
PSR(14) : 字幕サポート情報
PSR(15) : プレーヤ設定値(オーディオ)
PSR(16) : 音声ストリーム用言語コード
PSR(17) : PGストリーム、テキスト字幕ストリーム用の言語コード
PSR(18) : メニュー用言語コード
PSR(19) : プレーヤのバージョン情報
PSR(20) : PSR(0)のバックアップ
PSR(21) : PSR(1)のバックアップ
PSR(22) : PSR(2)のバックアップ
PSR(23) : PSR(3)のバックアップ
PSR(24) : PSR(4)のバックアップ
PSR(25) : PSR(5)のバックアップ
PSR(26) : PSR(6)のバックアップ
PSR(27) : PSR(7)のバックアップ
PSR(28) : PSR(8)のバックアップ
PSR(29) : PSR(9)のバックアップ
PSR(30) : PSR(10)のバックアップ
PSR(31) : PSR(11)のバックアップ
PSR(32) : PSR(12)のバックアップ


ここで、かかるタイトル呼出時にVirtual Package情報のアップデートがあると、タイトル呼出の前後で、Virtual Package情報の入れ代わりが生じる。
呼出元のタイトルに復帰したときはVirtual Package情報がすでに変更されているため、バックアップしておいた値を使って呼出元タイトルを再生しようとすると、以前と同じ値ではエラーが起こる可能性がある。そのため、Java(登録商標)アプリケーションがVirtual Package情報のアップデート要求を行うときは、バックアップPSRをクリアすることで、この問題を回避する。ただし、Virtual Package情報におけるマージ管理情報ファイルの内容によって、変更の影響を受けないケースも有りうるため、システムパラメータの値をクリアするかはJava(登録商標)アプリケーションに任せてもよい。
図34は、タイトル呼出にあたって、カレントタイトルの再生を一時的に停止(suspend)する際のPlayback Control Engineの処理手順と、呼出先のタイトルの再生終了後、元のタイトルの再生を再開(resume)する際のPlayback Control Engineの処理手順とを示すフローチャートである。
カレントタイトルの再生を一時的に停止する際は、ステップS71の処理により、SPRM(0)〜SPRM(12)をSPRM(20)からSPRM(32)に退避しておく。
一方、呼出先のタイトルの再生終了後、元のタイトルの再生を再開する際は、ステップS81の処理で、suspend中にVirtual Package情報が更新されたか否かを判断する。
更新されていない場合は、SPRM(20)〜SPRM(32)をSPRM(0)〜SPRM(12)に復帰する(ステップS83)。更新されている場合は、SPRM(20)〜SPRM(32)を初期化し(ステップS82)し、ステップS83の処理を実行する。
以上のように本実施形態によれば、タイトル呼出時において、Virtual Package情報のアップデートがあった際、バックアップPSRの内容を一旦初期化するので、その呼出前のPSRに基づき、Playback Control Engineが誤った再生処理をする恐れはない。Playback Control Engineの安定動作の実現が可能になる。
なおVirtual Package情報のアップデートを伴うときに、バックアップPSRの値をクリアするかどうかをJava(登録商標)アプリケーションに任せず、システム側で強制的にシステムパラメータの値をクリアしてもよい。


(第3実施形態)
第1実施形態では、BD-ROMのorganisationID及びdiscIDに対応したLocal Storage上のディレクトリを、Virtual Package構築ファイル群の格納場所とする構成について説明したが、第3実施形態では、Local Storage上の任意のディレクトリに記録されたファイルを用いてVirtual Packageを構築する構成について説明する。
このようなVirtual Packageの構築は、Java(登録商標)アプリケーションが、アップデート要求メソッドの引数として、discIDと、Virtual Package構築に用いるファイル群を記録したLocal Storage上のディレクトリパスとを指定することによって実現される。
第3実施形態に係る再生装置では、Virtual File System部38が、Virtual Package管理テーブルを保持している。図35は、Virtual Package管理テーブルの一例である。Virtual Package管理テーブルは、BD-ROMを識別するdiscIDと、アップデート要求メソッドで指定されたLocal Storage上のディレクトリを示すパスとを対応付けたテーブルである。Virtual File System部38が、アップデート要求に応じてVirtual Package情報を生成する際に、
このようなVirtual Package管理テーブルに情報を登録しておくことで、Virtual Packageに用いるファイル群の格納先を特定することができる。
以下に、本実施形態に係るVirtual File System部38によるVirtual Package構築処理について説明する。図36は、第3実施形態に係るVirtual File System部38によるVirtual Package構築の処理手順を示すフローチャートである。
本フローチャートは、Java(登録商標)アプリケーションによりアップデート要求メソッドが発行された場合に、Virtual File System部38により実行される処理手順である。
ステップS91は、アップデート要求メソッドの引数として指定されたdiscIDが、既にVirtual Package管理テーブルに登録されているか否かの判定である。
指定されたdiscIDが既にVirtual Package管理テーブルに登録されている場合は(ステップS91:Yes)、ステップS92〜ステップS94の処理手順を実行した後、ステップS95〜ステップS99の処理手順を実行する。一方、ステップS91の判定で、指定されたdiscIDがVirtual Package管理テーブルに登録されていないと判定された場合は、そのままステップS95〜ステップS99の処理手順を実行する。
ステップS92〜ステップS94では、Virtual Package管理テーブルから、指定されたdiscIDの項目を削除し(ステップS92)、BD-ROMドライブ1に指定のdiscIDで識別されるBD-ROMが挿入されているか否かを判断する(ステップS93)。指定されたdiscIDのBD-ROMが挿入されている場合は(ステップS93:Yes)、ステップS94に遷移し、それ以外の場合(ステップS93:No)には、ステップS95に遷移する。ステップS94は、指定のdiscIDに対応して構築しているVirtual Packageを停止する。
ステップS95は、指定されたディレクトリの署名が正しいかを判断する処理手順である。指定ディレクトリの署名が正しいかの判断処理とは、ここでは、a)指定ディレクトリ下のマージ管理情報ファイルが改竄されていないこと、次に、b)このマージ管理情報ファイルで指定されているファイルが改竄されていないことを確認することである。
マージ管理情報ファイルが改竄されていないことを確認するためには、
a-1)マージ管理情報ファイルに対してハッシュ値を計算し、
a-2)再生装置が保持するマージ証明書中の公開鍵を用いて、指定ディレクトリ下の署名情報ファイル中の暗号化ハッシュ値を復号化し、
a-3)算出したハッシュ値と、復号化された署名の値とが同じ値であればマージ管理情報ファイルが改竄されていないことが確認できる。

マージ管理情報ファイルで指定されているファイルが改竄されていないことを確認するためには、
b-1)マージ管理情報ファイルで指定されているファイルに対してハッシュ値を計算し、
b-2)算出したハッシュ値と、マージ管理情報ファイルに記載されているハッシュ値とを比較し、値が同じであれば、マージ管理情報ファイルで指定されているファイルが改竄されていないことが確認できる。

ステップS95の判断で、指定されたディレクトリの署名が正しいと判断される場合は(ステップS95:Yes)、ステップS96に遷移し、それ以外の場合には処理を終了する。
ステップS96では、アップデート要求メソッドの引数で指定されたdiscIDと、ディレクトリパスとを用いて、Virtual Package管理テーブルに、新たな項目を追加し、ステップS97では、指定のdiscIDで識別されるBD-ROMがBD-ROMドライブ1に挿入されているか判断する。
指定のdiscIDのBD-ROMが挿入されている場合は(ステップS97:Yes)、ステップS98に遷移し、それ以外の場合には(ステップS97:No)、処理を終了する。ステップS98では、引数でパスが指定されたLocal Storageのディレクトリ以下を読み込み専用属性に設定する。ステップS99では、ファイルパスが指定されたLocal StorageのディレクトリとBD-ROMでVirtual Packageを構築する。以上が第3実施形態に係るVirtual Package構築の処理手順についての説明である。
尚、上記の処理手順は、アップデート要求に応じたVirtual Packageの構築の処理手順であるが、再生装置に新たにBD-ROMが挿入された場合のVirtual Packageの構築処理では、挿入されたBD-ROMのdiscIDに対応するディレクトリパスを、Virtual Package管理テーブルから検索し、検出されたディレクトリパスを指定のディレクトリパスとして、図36のステップS95以降の処理手順を実行することでVirtual Packageを構築することができる。
また、アップデート要求に応じたVirtual Packageの構築では、
、ステップS95における指定されたディレクトリの署名が正しいかを判断する処理として、a)指定ディレクトリ下のマージ管理情報ファイルが改竄されていないこと、次に、b)このマージ管理情報ファイルで指定されているファイルが改竄されていないことを確認するとした。しかし、再生装置に新たにBD-ROMが挿入された場合のVirtual Packageの構築処理では、ステップS95における指定されたディレクトリの署名が正しいかを判断する処理として、a)指定ディレクトリ下のマージ管理情報ファイルが改竄されていないことのみを確認して、ステップS96〜ステップS99の処理でVirtual Packageを構築してもよい。この場合には、Java(登録商標)アプリケーションから、マージ管理情報ファイル中でファイルパスが記載されたファイルへのアクセス要求があったときに、b)マージ管理情報ファイルで指定されているファイルが改竄されていないことの確認を実行する。これが確認された場合にのみ、Java(登録商標)アプリケーションによる指定のファイルへのアクセスを許可する。このように、ハッシュ値算出処理の一部を、Virtual Package構築時ではなく、ファイルアクセス時に実行することで、BD-ROMが挿入され、ローディングした後に必要な処理が軽減される。これにより、起動速度を向上する効果がえられる。
続いて、Virtual Packageが構築されている状態で、Java(登録商標)アプリケーションがLocal Storageのロケータを指定して、ファイルに対して書き込みでアクセスした場合の動作について説明する。
図37は、ファイルへの書き込みアクセスを制御するAPIの処理手順を示すフローチャートである。Java(登録商標)アプリケーションから、Local Storageロケータを指定した書き込みアクセスが要求されると、Virtual Package構築期間中のためにディレクトリが読み取り専用属性に設定されているか否かを判断する(ステップS101)。指定されたファイルが含まれるディレクトリが読み取り専用属性にロックされている場合には(ステップS101:Yes)ファイルに対する書き込みが許可されないことを示すエクセプションをJava(登録商標)アプリケーションへ返して処理を終了し(ステップS102)、それ以外の場合には(ステップS101:No)ステップS103に遷移する。
ステップS103は、Local Storage上のファイルに対して書き込みでアクセスを実行する処理である。
上述の処理手順によると、アクセス先に指定したファイルがVirtual Packageを構成するファイルであり、アクセス要求時にVirtual Packageが構築されている状態であれば、ファイルアクセスが許可されない。
ここで、図38に示すcontsID#1ディレクトリを指定してVirtual Packageが構成されている状態で、contsID#1ディレクトリ以下のファイルにエラーがあったとしても、Virtual Packageが構築されている状態では、contsID#1ディレクトリは読み取り専用属性に設定されているため、ファイルの修正を行うことが出来ない。
その際は、ファイルの修正機能を有するJava(登録商標)アプリケーション
は、ファイルI/O機能を提供するAPIを用いて、図38に示すように、contsID#2というディレクトリを作成し、ここにcontsID#1ディレクトリ以下のファイルを複製した上で、ファイルのエラーを修正する。この際、AVデータであるM2TSファイルは、内容に変更がないならば、contsID#2ディレクトリに複製ファイルを生成する替わりに、contsID#1以下のM2TSファイルに対するシンボリックリンクを生成してもよい。
Java(登録商標)アプリケーションは、contsID#2以下のファイルを生成すると、contsID#2ディレクトリのパス(図38においては“ROOT/organization#1/disc#1/contsID#2”)を引数としてアップデート要求メソッドを発行する。
この結果、図36に示すフローチャートに従って、contsID#1ディレクトリ以下のファイルを用いたVirtual Packageの構築を停止した後に、contsID#2ディレクトリ以下のファイルを用いてVirtual Packageが構築される。新たなVirtual Packageが構築された状態では、Local Storage上のcontsID#2ディレクトリ以下は、読み取り専用属性に設定される。
尚、本実施の形態においてシンボリックリンクを利用したが、“ROOT/organization#1/disc#1/contsID#2/00002.M2TS”ファイルの内容が”../contsID#1/00002.M2TS”という文字列であるような間接参照の仕組みを利用してもよい。
以上、本実施形態によれば、Local Storage上の任意のディレクトリを指定してVirtual Packageを構築することができる。また、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築する際に、読み書き可能な記録媒体であるLocal Storage上のファイルを読取専用属性にロックすることにより、Virtual Packageを構築している状態でファイルが書き換わることを禁止することが可能となり、自アプリケーションまたは他のアプリケーションからの不正なファイル変更によるエラーを防止することができる。
また、Virtual Packageを構築していない状態で実体ファイルが改竄されたとしても、署名が正しいかを判断することにより実体ファイルの改竄を検出しVirtual Packageの構築を回避することによって、不正なファイルを利用することによる不具合の発生を未然に防ぐことができる。
なお、本実施の形態において、Virtual Packageを構築する際の条件判断として指定ディレクトリの署名が正しいかを判断するステップS95の処理を設けたが、署名を判断せずにVirtual Packageを構築する構成としても良い。
なお、本実施の形態において、Virtual Packageを構築するとLocal Storage上の指定されたディレクトリ以下は、読み取り専用属性にするようロックされるようにしたが、指定ディレクトリ以下のディレクトリ及びファイルについても、属性を再帰的に読み取り専用属性に設定するようにしてもよい。
なお、本実施の形態において、Virtual Packageを構築する際に、アップデート要求メソッドの引数として
“ROOT/organization#1/disc#1/contsID#1”というLocal Storage上のパスを指定したが、contsIDのみを指定しorganizationID、discIDについては、BD-ROMから取得するように構成してもよい。

(第4実施形態)
第3実施形態では、アップデート要求メソッドの引数に指定されているディレクトリを読み取り専用属性に設定することで、Local Storageに記録されているVirtual Package構成ファイルが改変されることを防ぎ、Virtual Package情報と実際のLocal Storage上のディレクトリーファイル構成に不整合が生じることを防ぐ構成について説明した。
第4実施形態は、Virtual Package情報と実際のLocal Storageのディレクトリーファイル構成とに不整合を生じさせることなく、Local Storage上のVirtual Package構成ファイル群に対する書き込みアクセスを可能にする改良について述べる。
図39は、第4実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。本フローチャートと、図36に示すフローチャートとの違いは、ステップS98、ステップS99をステップS111、ステップS112にそれぞれ変更している点である。ステップS111では、Local Storageのアップデート要求メソッドの引数で指定されたディレクトリ以下を別の記録媒体にコピーする。ステップS112では、別の記録媒体にコピーしたディレクトリ以下とBD-ROMとVirtual Packageを構築する。以上が、Virtual Packageの構築の処理手順についての説明である。
続いて、Java(登録商標)アプリケーションによる書き込みでのファイルアクセスの処理手順について説明する。
図40は、Virtual Packageを構築した状態でLocal Storage上のファイルに書き込みアクセスした場合の、ファイルI/O機能を提供するAPIの処理を示すフローチャートである。本フローチャートと、図37に示すフローチャートとの違いは、ステップS101とステップS102が削除されている点である。Local Storageロケータを指定してLocal Storage上のファイルに対して書き込みでアクセスが要求されると、ステップS103で、Local Storage上のファイルに対して書き込みでアクセスを実行して、処理を終了する。
以上が、Java(登録商標)アプリケーションによる書き込みでのファイルアクセスの処理手順についての説明である。
以上、本実施形態によれば、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築する際に、読み書き可能な記録媒体であるLocal Storage上のファイルを別の記録媒体に複製しているので、Virtual Packageを構築している状態でLocal Storage上の実体ファイルを書き換えられたとしても、Virtual Packageからは記録媒体に複製された書き換える前の状態のファイルが参照される。従って、自アプリケーションまたは他のアプリケーションからの不正なファイル変更が行われたとしても、不具合が発生することを防止することができる。
なお、本実施形態において、Local Storage上のファイルをコピーする先として別の記録媒体の場合を示したが、同じLocal Storage上でかつJava(登録商標)アプリケーションから直接参照できない、または読み取り専用でアクセスできるディレクトリにコピーするとしてもよい。
なお、本実施の形態においては、Local Storageの指定されたディレクトリ以下を別の記録媒体にコピーするとしたが、AVストリーム等を格納するファイルはサイズが大きいのでコピーすると時間がかかると共に、記録媒体の記憶領域を消費する。そこで、図38の例で示したように、サイズが大きいファイルに関してはシンボリックリンクを利用するようにしてもよい。

(第5実施形態)
第5実施形態では、Virtual Package構築の際に、不正なファイル変更を防ぐための改良について述べる。
図41は、第5実施形態に係る再生装置の内部構成を示す図である。本実施形態に係る再生装置は、図18に示す構成に暗号化器41と復号化器42とを追加した構成である。図18と同様の構成要素には同一の符号を付し、それらの説明を省略する。
暗号化器41は、BD−ROMドライブ1に挿入されているBD-ROMのBCA(Burst Cutting Area)に記録されているディスクに固有の鍵情報を用いて、Local Storageへ書き込むファイルを選択的に暗号化する。暗号化器41で暗号化の対象とするファイルは、サーバからダウンロードしたVirtual Package構成ファイル群のうち、AVデータであるM2TSファイルである。ここで用いる暗号方式は、例えば、AESや、DES等の既存の暗号化方式を利用する。BCAとは、ディスクのリードイン領域の内側にあるドライブでしか読み出せない特別な領域である。この領域はアプリケーションから読み出せないため、例えば著作権保護技術などに利用されることがよくある。
復号化器42は、BD−ROMドライブ1に挿入されているBD-ROMのBCAに記録されているディスクに固有の鍵情報を用いて、ファイルを復号化する。復号化器42で復号化する対象は、Local Storageから読み出したM2TSファイルであり、AVデータのACCESS UNITを取得して復号化し、再生機構へ出力する。ここで用いる暗号方式は、暗号化器41で用いる暗号方式と同じものであり、暗号化器41で暗号化したファイルを復号化するものである。
また、本実施形態に係る再生装置では、Virtual File System部38で保持するVirtual Package管理テーブルの構成が、第3実施形態における構成とことなる。図42は、第5実施形態に係るVirtual Package管理テーブルの一例である。本実施形態に係るVirtual Package管理テーブルは、図35のものと比較して、署名データが追加されている。Virtual Package管理テーブルの署名データは、Virtual Packageを構築するディレクトリにおいて、Local Storageに記録された後にファイルが書き換えられていないことを検証するための署名である。
署名データ607の登録情報のうち、ファイルサイズが小さいBDMVファイル、MPLSファイル、CLPIファイル等に対応する登録情報601、602、及び603は、Virtual Packageでのファイル名と、Local Storageに記録されているファイル実体のハッシュ値とからなる。ここに設定されているハッシュ値は、ファイルをサーバからダウンロードした時に算出したものである。尚、ハッシュ値は、ファイルのデータから一意に値が決まる一方向の関数で求めた値である。一方向の関数としては、MD5などの既存の方式を利用することができる。一方、署名データの登録情報のうち、ファイルサイズが大きいM2TSファイルの登録情報606は、Virtual Packageでのファイル名のみであり、ハッシュ値は設定されていない。また、署名データ607は、BD-ROMのBCAに書き込まれているディスクに固有の鍵情報を用いて、暗号化されている。
以下に、第5実施形態に係る再生装置の動作の流れについて、図43、図44を参照して説明する。先ず、サーバからダウンロードしたファイルをLocal Storageへ記録する処理について説明する。図43は、ダウンロードファイルをLocal Storageへ記録する処理手順を示すフローチャートである。
本フローチャートは、Java(登録商標)アプリケーションが、サーバからVirtual Packageを構成するためのファイルをダウンロードし、このファイルをLocal Storageへ書き込む際に実行される。
Java(登録商標)アプリケーションから、Local Storageロケータを指定した書き込みアクセスが要求されると、Virtual Package構築期間中のためにディレクトリが読み取り専用属性に設定されているか否かを判断する(ステップS121)。指定されたファイルが含まれるディレクトリが読み取り専用属性にロックされている場合には(ステップS121:Yes)ファイルに対する書き込みが許可されないことを示すエクセプションをJava(登録商標)アプリケーションへ返して処理を終了し(ステップS122)、それ以外の場合には(ステップS121:No)ステップS123に遷移する。
ステップS123は、指定されたファイルがAVデータであるM2TSファイルであるか否かの判断である。
指定されたファイルがM2TSファイルである場合には(ステップS123:Yes)、BD-ROMドライブ1に挿入されているBD-ROMのBCAに記録されているディスクに固有の鍵情報を用いて、暗号化器41にファイルを暗号化させ(ステップS124)、指定ファイルのVirtual Packageでのファイル名のみの登録情報を、署名データに追加した後(ステップS125)、ステップS127以降の処理を実行する。
指定されたファイルがM2TSファイル以外のファイルである場合には(ステップS123:No)、指定されたファイルに対するハッシュ値を算出し、算出したハッシュ値と指定のファイルのVirtual Packageでのファイル名とを含む登録情報を、署名データへ追加した後(ステップS126)、ステップS127以降の処理を実行する。
ステップS127は、BD-ROMのBCAに記録されているディスクに固有の鍵情報を用いて、暗号化器41に署名データを暗号化させる処理である。ステップS128は、Local Storageに書き込みでアクセスし、指定のファイルと共にステップS127で暗号化した署名データを Local Storageへ記録する処理である。以上が、サーバからダウンロードしたファイルをLocal Storageへ記録する処理についての説明である。
続いて、Virtual File System部38がVirtual Packageを構築する処理について説明する。図44は、Virtual Package構築の処理手順を示すフローチャートである。本フローチャートは、Java(登録商標)アプリケーションが、discIDと、Virtual Packageを構築するためのデータを格納したディレクトリのパスとを引数として、アップデート要求メソッドを発行した場合に実行される処理手順である。
ステップS131は、指定のdiscIDのBD-ROMについて、既にVirtual Packageが構築されているか否かの判定である。
指定されたdiscIDのBD-ROMについて、既にVirtual Packageを構築している場合には(ステップS131:Yes)、ステップS132に遷移し、それ以外の場合にはステップS135に遷移する。ステップS132では、Virtual Package管理テーブルの指定されたdiscIDの項目を削除する。ステップS133では、BD-ROMドライブ1に指定のdiscIDで識別されるBD-ROMが挿入されているか否かを判断する。指定されたdiscIDのBD-ROMが挿入されている場合は(ステップS133:Yes)、ステップS134に遷移し、それ以外の場合には、ステップS135に遷移する。ステップS134では、discIDで構築しているVirtual Packageを停止する。
ステップS135では、Virtual Package管理テーブルに、引数で指定されたdiscIDの項目に、引数で指定されたディレクトリパスと、指定されたディレクトリに記録されている署名データとを追加する。
ステップS136では、BD-ROMドライブ1に指定のdiscIDで識別されるBD-ROMが挿入されているか否かを判断する。指定されたdiscIDのBD-ROMが挿入されている場合は(ステップS136:Yes)、ステップS137に遷移し、それ以外の場合には、処理を終了する。
ステップS137では、BD-ROMのBCAに記録されているディスクに固有の鍵情報を用いて、復号化器42にVirtual Package管理テーブルの署名データを復号化させる。
ステップS138では、復号化された署名データが正当であるか否かを判断する。署名データは、
a)署名データにハッシュ値が設定されるすべてのファイルについてハッシュ値を算出し、算出した値が署名データに含まれているハッシュ値と一致する
b)署名データにハッシュ値が設定されないM2TSファイルがLocal Storage上に削除されず実在する
c)署名データに登録されていないファイルが指定されたLocal Storage上のディレクトリに存在しない
の3点が確認された場合正当であると判断される。
署名データが正当であると判断される場合は(S138:Yes)、ステップS139に遷移し、それ以外の場合には処理を終了する。ステップS139では、Local Storageの指定されたディレクトリ以下を読み取り専用属性に設定する。ステップS140では、引数で指定されたLocal Storage上のディレクトリとBD-ROMとでVirtual Packageを構築する。以上が、Virtual Packageを構築する処理についての説明である。
また、再生装置に新たにディスクが挿入された場合には、挿入されたBD-ROMのdiscIDに対応するディレクトリパスを、Virtual Package管理テーブルから検索し、検出されたディレクトリパスを指定のディレクトリパスとして、ステップS136以降の処理を行うことによってVirtual Packageを構築する。
なお、本実施形態では、Virtual Packageに含まれるM2TSファイルのみを暗/復号化するとしたが、他のCLPIファイル、BDMVファイル、MPLSファイル等のファイルを暗/復号化するようにしてもよい。また、ダウンロードしたM2TSファイルを暗号化してからLocal Storageに書き込むとたが、あらかじめディスクに固有の鍵情報で暗号化されたM2TSファイルをダウンロードするとしてもよい。
なお、M2TSファイルはサイズが大きいので再生時のハッシュ値の計算処理を省略するために、署名データにM2TSファイルのハッシュを追加しないとしたが、充分に処理能力の高い再生装置を用いる場合には、M2TSファイルについても署名データにハッシュ値を追加するようにしてもよい。また、他のCLPIファイル、BDMVファイル、MPLSファイル等のファイルを暗/復号化するようにし、M2TSファイル同様にハッシュ計算処理を省略してもよい。
なお、本実施の形態において、ファイルをLocal Storageに書き込む際に署名データを生成するとしたが、署名データ自体もダウンロードし、これをVirtual Package構築する際に指定させるようにしてもよい。
なお、本実施の形態において、暗/復号化の鍵としてディスクに固有の鍵情報を利用したが、ディスクに固有の鍵情報と、端末に固有の鍵情報から生成される情報を鍵として利用して暗/復号化してもよい。
以上、本実施形態によれば、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築する際に、読み書き可能な記録媒体であるLocal Storage上のファイルをディスクに固有の鍵で暗号化しているので、Local Storage上の実体ファイルを他のディスクのアプリケーションによる書き換えや、Local Storageを別のパソコン等の機器に挿入して改竄する等の行為を防止することができる。また、ディスクに固有の鍵で署名データを暗号化して保存するので、Local Storage上のファイルが改竄されたことを検出し、Virtual Packageを構築しないようにすることができる。従って、不正に変更されたファイルを利用することによる不具合や、プロバイダが意図しない不正な利用を防止することができる。

(第6実施形態)
第6実施形態では、Virtual Package構築中にLocal Storage上のファイルを別の記録領域に移動する方法について述べる。
図45は、第6実施形態におけるVirtual FileSystem部38によるVirtual Package構築の一例を示す図である。本図の左上は、BD-ROMにおけるディレクトリ−ファイル構造であり、本図の左下は、Virtual Package構築前のLocal Storageにおけるディレクトリ−ファイル構造である。
本実施形態に係るVirtual File System部38は、アップデート要求メソッドの引数で指定されたディレクトリ(本図の例では“ROOT/organization#1/disc#1/contsID#1”)以下のファイルを、ACTIVEディレクトリ以下に、それぞれ移動し、BD-ROMとでACTIVEディレクトリとでVirtual Packageを構築する。本図の右下が、ファイル移動後のLocal Storageにおけるディレクトリ−ファイル構造である。
ACTIVEディレクトリは、アップデート要求メソッドの引数で指定されたdiscIDのBD-ROMと共にVirtual Packageを構成するディレクトリであり、アプリケーションからは直接のファイルの書き込みできないディレクトリになっている。
以下、第6実施形態に係る再生装置の動作について説明する。先ず、Virtual Packageの構築の処理手順について説明する。
図46は、第6実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。本フローチャートと、図36に示すフローチャートとの違いは、ステップS98、ステップS99をステップS151、ステップS152にそれぞれ変更している点である。ステップS151では、ACTIVEディレクトリに、Local Storage上の引数で指定されたディレクトリ以下のファイルを移動する処理を行う。ステップS152では、ACTIVEディレクトリ以下とBD-ROMでVirtual Packageを構築する。以上が、Virtual Packageの構築の処理手順についての説明である。
続いて、ステップS151の処理の詳細について説明する。図47は、ACTIVEディレクトリにファイルを移動する処理手順を示すフローチャートである。
本フローチャートは、アップデート要求メソッドの引数で指定されたLocal Storageのディレクトリ以下にファイルが存在するか否かを判定し(ステップS161)、ファイルが存在するならば(ステップS161:Yes)、指定のディレクトリに存在する1のファイルを処理対象としてステップS162〜ステップS164の処理を実行するものである。
ステップS162では、対象ファイルのファイル名の一文字目が“_”であるかを判断する。一文字目が“_”であるする場合は(ステップS162:Yes)、対象ファイルのファイル名から一文字目の”_”を除いたファイル名のファイルを、ACTIVEディレクトリから削除し、対象ファイル自体も指定されたディレクトリから削除する(ステップS163)。一文字目が“_”ではない場合は(ステップS162:No)、対象ファイルを指定されたディレクトリからACTIVEディレクトリへ移動させる(ステップS164)。
ステップS162〜ステップS164の処理を、指定されたディレクトリ以下に存在した全てのファイルについて実行し、
指定されたディレクトリ以下にファイルが存在しなくなると(ステップS161:No)、処理を終了する。以上が、ACTIVEディレクトリに、Local Storage上の指定されたディレクトリ以下のファイルを移動する処理の詳細についての説明である。
尚、処理対象ファイルのファイル名の一文字目が“_”であるかどうかによってACTIVEディレクトリからファイルを削除する代わりに、削除予約を行うAPIを設けた構成としても良い。削除予約APIは、Java(登録商標)アプリケーションがACTIVEディレクトリ内のファイル削除予約を発行するためのものであるが、このAPIによって削除予約が発行されてもすぐにはACTIVEディレクトリ内のファイル削除は行わない。Virtual File System部38がファイル削除予約の内容をメモリに保持しておき、ACTIVEディレクトリのファイル移動処理が行われるときに、削除予約のあったACTIVEディレクトリ内のファイルを削除することで、ステップS162、S163の代替処理を行う。
続いて、Java(登録商標)アプリケーションによる書き込みでのファイルアクセスの処理手順について説明する。
図48は、ファイルへの書き込みアクセスを制御するAPIの処理手順を示すフローチャートである。Java(登録商標)アプリケーションから、Local Storageロケータを指定した書き込みアクセスが要求されると、ACTIVEディレクトリ以下のファイルに対する書き込みアクセスであるかを判断する(ステップS171)。
ACTIVEディレクトリ以下のファイルに対する書き込みアクセスである場合には(ステップS171:Yes)ファイルに対する書き込みが許可されないことを示すエクセプションをJava(登録商標)アプリケーションへ返して処理を終了し(ステップS172)、それ以外の場合には(ステップS171:No)ステップS173に遷移する。
ステップS173では、Local Storage上のファイルに対して書き込みでアクセスを行う。以上が、Java(登録商標)アプリケーションによる書き込みでのファイルアクセスの処理手順についての説明である。
上述の処理手順によると、アクセス先に指定したファイルがVirtual Packageを構成するファイルであり、アクセス要求時にVirtual Packageが構築されている状態であれば、ファイルアクセスが許可されない。
なお、Virtual Package構築処理でのACTIVEディレクトリに対する書き込みをJava(登録商標)アプリケーションに許可し、ACTIVEディレクトリへのファイル移動をJava(登録商標)アプリケーションが行うようにしてもよい。すなわち、図47に示すフローチャートでは、Virtual File System部38が、Java(登録商標)アプリケーションが指定したディレクトリ内のファイルをACTIVEディレクトリへ移動する操作を行なっていたが、Virtual Package構築処理の実行中はJava(登録商標)アプリケーションにACTIVEディレクトリの書き込み許可を与え、かつ、ACTIVEディレクトリにファイルを移動する処理を開始するイベントをJava(登録商標)アプリケーションに通知することにより、Java(登録商標)アプリケーション自身がACTIVEディレクトリへのファイル移動を行うようにしてもよい。
以上、本実施形態によれば、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築する際に、読み書き可能な記録媒体であるLocal Storage上のファイルを、アプリケーションからの書き込みアクセスが許可されないACTIVEディレクトリに移動しているので、Virtual Packageを構築している状態で、自アプリケーションまたは他のアプリケーションからの不正なファイルでファイルが改変されることを防止することができる。
(第7実施形態)
実施の形態7は、同一プロバイダによるBD-ROM間で、Local Storage内のコンテンツを共有する方法について述べる。実施の形態7においては、実施の形態6と同様の部分については説明を省略する。
図49は、第7実施形態におけるVirtual Package構築の一例を示す図である。本図の左上は、BD-ROMにおけるディレクトリ−ファイル構造であり、本図の左下は、Virtual Package構築のために、Virtual Packageを構成するためのファイルをACTIVEディレクトリへ移動させた、Local Storageにおけるディレクトリ−ファイル構造である。
図49は図48と比較して、Local Storageにおいて、ACTIVEディレクトリがROOT/organization#1/disc#1以下の他に、ROOT/organization#1/SHSRED以下にも、ACTIVEディレクトリが存在する点で相違する。
SHAREDディレクトリは、認証されたアプリケーションであり、かつ、同じorganizationIDを持つアプリケーションであれば、共通に読み書きすることが可能なディレクトリである。
サーバからダウンロードしたファイルをdiscIDが異なる複数のBD-ROMのVirtual Packageで、共通して使いたい場合、ファイルをROOT/organization#1/disc#1ディレクトリ以下に保存するのではなく、ROOT/organization#1/SHAREDディレクトリ以下に保存する。SHARED以下のディレクトリ構成は、discID以下と同様であり、ACTIVEディレクトリに対する操作に関しても実施の形態6で説明したものと同様である。ただし、Virtual Packageを構築するときは、disc#1ディレクトリ下のACTIVEブディレクトリの中のファイルだけでなく、SHARED以ディレクトリ下のACTIVEディレクトリの中もマージしてVirtual Packageを構築する。
本実施形態に係るVirtual File System部38は、
BD-ROM、または、Local StorageのSHAREDディレクトリ以下、または、Local StorageのdiscID以下のいずれにも存在するファイルをVirtual PackageのファイルとしてVirtual Package情報に登録する。また、同じ名前のファイルがBD-ROMと、Local StorageのSHAREDディレクトリ以下及びLocal StorageのdiscIDディレクトリ以下との何れかとに存在する場合(図49においては00002.CLPIがBD-ROM上にも、Local Storageno
のdisc#1ディレクトリにも存在する)は、Virtual File System部38は、Virtual PackageのファイルとしてはLocal Storage上のファイルを利用する。また、同じ名前のファイルがBD-ROMと、Local StorageのSHAREDディレクトリ以下と、Local StorageのdiscIDディレクトリ以下との何れにもに存在する場合は、discID以下のファイルを利用する。このようなマージ処理は、サブディレクトリに対して再帰的に繰り返される。
図50は、SHAREDディレクトリ以下のACTIVEディレクトリとdisc#1ディレクトリ以下のACTIVEディレクトリでVirtual Packageを構築する様子を模式的に示す図である。Virtual Packageを構築するときは、まずSHARED以下のACTIVEディレクトリ内のファイルとBD-ROM上のファイルとをマージし、中間状態のファイル構成を生成する。マージ操作は実施の形態4での操作と同様である。次に、この中間状態のファイル構成とdisc#1ディレクトリ以下のACTIVEディレクトリ内のファイルとのマージ操作を行い、最終的に、BD-ROM、SHAREDディレクトリ以下のACTIVEディレクトリ、及びdisc#1ディレクトリ以下のACTIVEディレクトリのファイルをマージしたVirtual Packageを構築する。中間状態のファイル構成とdisc#1ディレクトリ以下のACTIVEディレクトリ内のファイルのマージ操作は、中間状態のファイル構成をBD-ROMとみなし、実施の形態4でのマージ操作を行う。つまり、中間状態のファイル構成とdiscID以下のACTIVEディレクトリのファイルで、同じファイル名が存在した場合、最終的にdisc#1ディレクトリ以下のACTIVEディレクトリが優先される。よって、ファイルの優先度はBD-ROM、SHAREDディレクトリ以下のACTIVEディレクトリ、disc#1ディレクトリ以下のACTIVEディレクトリの順に高くなる。
なお、SHAREDディレクトリ以下のACTIVEディレクトリのファイルの優先度を下げ、優先度をSHAREDディレクトリ以下のACTIVEディレクトリ、BD-ROM、disc#1ディレクトリ以下のACTIVEディレクトリの順にしてVirtual Packageを構築してもよい。つまり、同じ名前のファイルがBD-ROMとLocal StorageのSHARED以下に存在する場合は、BD-ROM上のファイルを利用する。図49を用いて説明すると、00002.JARと00002.CLPIとがBD-ROM上にも、Local Storage上にも存在するが、00002.JARに関しては、Local StorageにおいてSHAREDディレクトリ以下のACTIVEディレクトリに存在するため、BD-ROM上の00002.JARを利用し、00002.CLPIに関しては、Local Storageにおいてdisc#1ディレクトリ以下のACTIVEディレクトリに存在するため、Local Storage上の00002.CLPIを利用する。このような優先度の設定は、SHAREDディレクトリ以下のACTIVEディレクトリに対するアクセス制限が低く、SHAREDディレクトリ以下に悪意のあるファイルを置くことで、不正にBD-ROM上のファイルを第三者によって置き換えられる恐れがある場合において有効である。SHAREDディレクトリ以下のACTIVEディレクトリの優先度をBD-ROMより低くすることで、BD-ROM上のファイルの置き換えを禁止し、新規ファイルの追加のみ可能になるため、セキュリティを高めることができる。
なお、SHARED以下のACTIVEディレクトリの優先度をBD-ROMより高くするか低くするかの優先度付け情報が記載されたファイルをBD-ROM上、もしくはdiscIDディレクトリ以下のACTIVEディレクトリ内に予め用意しても良い。
以上説明したVirtual Packageの構築は、複数のBD-ROMのVirtual Packageで共用するファイルを記録しているディレクトリのパス(図49の例では“ROOT/organization#1/SHSRED/contsID#3”)、discIDにより特定されるBD-ROMのVirtual Package固有のファイルを記録しているディレクトリパス(図49の例では“ROOT/organization#1/disc#1/contsID#1”)、及びdiscIDを、引数として指定したアップデート要求メソッドを発行することで、実行される。
以下、第7実施形態に係る再生装置の動作について説明する。先ず、Virtual Packageの構築の処理手順について説明する。
図51は、第7実施形態に係るVirtual Package構築の処理手順を示すフローチャートである。本フローチャートと、図36に示すフローチャートとの違いは、ステップS98、ステップS99を、ステップS181〜ステップS184に変更している点である。
ステップS181では、複数のBD-ROMで共用するファイルの記録先として引数で指定されたLocal Storage上のディレクトリ以下のファイルを、SHAREDディレクトリに属するACTIVEディレクトリに移動する処理を行う。ファイルを移動する処理は、図47に示す手順と同様である。ステップS182では、SHAREDディレクトリに属するACTIVEディレクトリ以下とBD-ROMで中間状態のファイル構成を構築する。ステップS183では、固有のファイルを記録先として引数で指定されたディレクトリ以下のファイルを、discIDディレクトリに属するACTIVEディレクトリに移動する処理を行う。ファイルを移動する処理は、図47と同様である。ステップS184では、discIDディレクトリに属するACTIVEディレクトリ以下とステップS182で構築した中間状態のファイル構成とをマージしVirtual Packageを構築する。以上が、Virtual Packageの構築の処理手順についての説明である。
なお、ステップS182の、SHAREDディレクトリに属するACTIVEディレクトリとBD-ROMとの中間状態ファイル構成構築ステップとステップS183のdiscIDディレクトリに属するACTIVEディレクトリへのファイル移動ステップは順序が逆になってもよい。
続いて、図51に示したステップS182における処理内容を、図52を参照しながら、より詳しく説明する。SHAREDディレクトリに属するACTIVEディレクトリ内のファイルとBD-ROM上のファイルをマージする際、まず、ステップS191で、BD-ROMもしくはdiscIDディレクトリ内にある優先度情報が記されたファイルを読み出してSHAREDディレクトリとBD-ROMの優先度を確認する。SHAREDディレクトリの方が優先度が高ければ(ステップS191:Yes)ステップS192に移り、SHAREDディレクトリに属するACTIVEディレクトリ以下にあるファイルのファイルリストを取得する。その後、ステップS193〜ステップS195のループ処理を、BD-ROM上にある全てのファイルについて繰り返し実行する。
ステップS194では、BD-ROM上にあるファイルのうち、未処理のものを処理対象としてファイル名を確認し、ステップS192で取得したファイルリストに、処理対象のファイルと同名のファイルがあるか否かを判定する。ファイルリストに処理対象のファイルと同名のファイルがなければ(ステップS193:No)、処理対象のファイルのファイル名をリストに追加する(ステップS195)。ステップS194およびステップS195の処理をBD-ROM上の全ファイルに適用し、全てのファイルのチェックが終われば(ステップS193:Yes)、得られたファイルリストを中間状態ファイル構成として処理を終了する。
一方、ステップS191で、SHAREDディレクトリに比べ、BD-ROMの方が優先度が高いと判断された場合は、ステップS196に移り、BD-ROM上のファイル名のリストを取得する。
その後、ステップS197〜ステップS199のループ処理を、SHAREDディレクトリに属するACTIVEディレクトリ以下にある全てのファイルについて繰り返し実行する。
ステップS198では、SHAREDディレクトリに属するACTIVEディレクトリ内のファイルのうち、未処理のものを処理対象としてファイル名を確認し、ステップS196で取得したファイルリストに、処理対象のファイルと同名のファイルがあるか否かを判定する。ファイルリストに処理対象のファイルと同名のファイルがなければ(ステップS198:No)、処理対象のファイルのファイル名をリストに追加する(ステップS199)。ステップS198およびステップS199の処理をSHAREDディレクトリに属するACTIVEディレクトリ内の全ファイルに適用し、全てのファイルのチェックが終われば(ステップS197:Yes)、得られたファイルリストを中間状態ファイル構成として処理を終了する。以上が、中間状態ファイル構成の構築手順についての説明である。
なお、あらかじめデフォルトの優先順位を決めておき、優先度情報のファイルが無い場合はデフォルトの優先順位を利用することにしてもよい。
図53は、図51に示したステップS184における処理内容を、より詳しく示したフローチャートである。まず、ステップS201で、discIDディレクトリに属するACTIVEディレクトリ内にあるファイル名のリストを取得する。ステップS203では、図51に示したステップS182で得られた中間状態ファイル構成のファイルリストにあるファイル名を確認し、同名ファイルがなければステップS204において、中間状態ファイル構成上のファイル名をリストに追加する。ステップS203およびステップS204の処理を中間状態ファイル構成上の全ファイルに適用し、ステップS202において全てのファイルのチェックが終わったと判断されると、得られたファイルリストをVirtual Packageのファイル構成リストとして処理を終了する。
以上が、中間状態ファイル構成を用いたVirtual Packageの構築の処理手順についての説明である。
以上、本実施形態によれば、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築する際に、読み書き可能な記録媒体であるHDD上のファイルをACTIVEディレクトリに移動しているので、Virtual Package構築中にLocal Storage上の実体ファイルが、自アプリケーションまたは他のアプリケーションからの不正なファイルアクセスにより改変されるおそれがない。また、同一プロバイダに属するJava(登録商標)アプリケーション間で共通にアクセスできる位置にACTIVEディレクトリを設けることにより、異なるBD-ROM間でLocal Storage内のコンテンツを共有することが可能となり、ファイルサイズの大きなAVストリームなどをLocal Storage内に同一内容で複数保持する必要がなく、効率よくBD-ROM間で共有して利用することができる。

(第8実施形態)
実施の形態8は、Virtual Packageを構築するLocal Storage上のファイルが改竄された場合に検知する方法について述べる。実施の形態8においては、実施の形態1と同様の部分については説明を省略し、実施の形態3と相違する部分についてのみ説明を行う。
Virtual Packageを構築するLocal Storage上のファイルが改竄されると、Virtual Packageの再生中にプロバイダが予期しない動作をしてしまう可能性があり、改竄を検知する必要がある。
そこで、本実施形態に係る再生装置は、改竄を検知するために、Virtual Packageの構築を行うときにマージ管理情報ファイルの改竄検査を行い、HDD上のファイルを読み込むときにファイルの改竄検査を行う。
Virtual File System部38はVirtual Package構築を行った後、再生中にDVDライクモジュール29a、Java(登録商標)プラットフォーム29b、Playback Control Engine32等に対してLocal Storage上のファイルを供給することがある。それらのファイルはLocal Storage上に保存されているため、それらのモジュールにより利用される前に改竄されていないかを検査する必要がある。
Virtual Packageを構成するLocal Storage上のファイルは、改竄検査の必要性を考えると2種類に分類できる。
一つ目は、ファイルサイズが小さく、ファイル全体の改竄検査を行っても再生機器の応答性に通常問題を起こさないデータである。たとえば「マージ管理情報ファイル」は通常ここに分類される。
二つ目は、ファイルサイズが大きく、ファイル全体の改竄検査を行うのに時間がかかり、改竄検査により再生機器の応答性の問題を起こしうるデータである。たとえばMPEGストリームの「AVデータ(M2TSファイル)」は通常ここに分類される。
以降一つ目の分類のファイルについての改竄検査について述べる。最後に同じ方法を二つ目の分類のファイルに適応した場合の改竄検査の違いについて述べる。
図54は、Virtual File System部38がLocal Storage上のファイルを他のモジュールに供給するフローチャートを示す。ステップS211は、要求されたファイルがLocal Storage上に存在するかどうかを確認する処理である。ファイルがLocal Storage上に存在した場合(ステップS211:Yes)、ステップS212でLocal Storageよりファイルを取得する。その後、ステップS213では、マージ管理情報ファイルに対象のファイルのハッシュ値が記載されているかどうかを確認する。マージ管理情報ファイルにハッシュ値が記載されている場合(ステップS213:Yes)、
ステップS214で、ファイルのハッシュ値を計算し、算出した値とマージ管理情報ファイルに記載されている値とが一致するか否かを判定する。
算出した値とマージ管理情報ファイルに記載されている値とが一致しなければ(ステップS214:No)、実際にロードを行わない。ステップS211において、ファイルはLocal Storage上に存在しないと判定した場合(ステップS211:No)、ステップS215で、BD-ROMよりファイルを取得する。その後、ステップS216で、ファイルを実際にロードし、他のモジュールからファイルを利用可能にする。同様に、マージ管理情報ファイルにハッシュ値が記載されていない場合(ステップS213:No)、及び算出した値とマージ管理情報ファイルに記載されている値とが一致する場合は(ステップS214)にも、ステップS216によりファイルを実際にロードし、他のモジュールから利用可能にする。
なお、Virtual File System部38は複数回Local Storage上からファイルを読み取る場合、読み取るたびに改竄検査を行ってもよいし、改竄検査を行った後でLocal Storage上の前記情報が変更されないようにロックしてもよい。
なお、Virtual File System部38はあらかじめ他のモジュールにより利用されるファイルすべてまた一部の改竄検査を行い、内部で保持するか、ファイルをロックしてもよい。ファイルをLocal Storageから読み取った後、他のモジュールより利用される前に、ハッシュ値を計算し改竄検査を行うのであれば、どのような実現を行ってもよい。
Virtual File System部38は他のモジュールにより利用されるファイルが改竄されていることを検出した場合、誤作動を起こさないようにするために、再生を停止する。このとき、再生を停止する以外に、ユーザに対して通知を行ってもよいし、Java(登録商標)プラットフォーム29bを通してJava(登録商標)アプリケーションに対して通知を行ってもよいし、マージ管理情報ファイルを無効にしてBD-ROMのみで再生をやりなおすとしてもよいし、あるいは、上記の処理を組み合わせて実行するとしてもよい。
ファイルサイズが大きく、ファイル全体の改竄検査を行うのに時間がかかり、改竄検査により再生機器の応答性の問題を起こしうるデータに関しては、ファイル全体を暗号化して、ファイルが改竄されると復号化できないようにする方法がある。この場合は、暗号化されているファイルは一部改竄されると正式なファイルとして復号化できないので、マージ管理情報ファイルの中に暗号化されたファイルのハッシュ値が記載されてもVirtual File System部38は無視するとしてもよい。
なお、ファイルの一部だけを改竄検査をするようにしてもよいし、ファイルのサイズだけを確認するようにしてもよい。ファイル全体が暗号化されている場合、ファイル全体が入れ替えられるおそれがあるが、そのときはファイルサイズを確認することで簡単な改竄検査を行うことができる。なお、ハッシュ値が記載されていてもVirtual File System部38が無視する条件として、ファイルのサイズがある値より大きい場合としてもよいし、マージ管理情報ファイルに含まれるファイル名の拡張子が指定された値、例えば.M2TSである場合としてもよいし、マージ管理情報ファイルに含まれるファイル名が特定のディレクトリ、例えば、STREAMディレクトリに含まれる場合としてもよい。
以上、本実施形態によれば、複数の記録媒体の上のファイルをマージして構成するVirtual Packageを構築している際に、読み書き可能な記録媒体であるLocal Storage上の実体ファイルが改竄されたときに、ハッシュ値が正しいかを判断することにより実体ファイルの改竄を検出し再生を停止することによって、不正なファイルを利用することによる不具合の発生を未然に防止することができる。
(第9実施形態)
実施の形態9では、Virtual Package構築処理の状態を画面表示する方法について述べる。実施の形態9においては、実施の形態3と同様の部分については説明を省略し、実施の形態3と相違する部分についてのみ説明を行う。
図55は、実施の形態9におけるVirtual Packageの構築処理中の表示を模式的に示す図である。
再生装置610は、再生装置の外観を模式的に現したものである。再生装置610が内蔵するBD-ROMドライブ611は、BD-ROMのローディング/イジェクトを行い、BD-ROMに対するアクセスを実行する。Virtual Package構築処理中を示す発色表示手段に対応する蛍光管表示612は、再生装置610の前面に位置し、Virtual Package構築処理中であることを表示の色(例えば橙色の表示を行う)により示す。認証等のVirtual Package構築にかかる処理の進み度合いを表示の割合で示す蛍光管表示613は、再生装置610の前面に位置し、Virtual Package構築にかかる処理の進み度合いを、蛍光管の表示割合で示す。TV等の表示装置614の入力部(図示せず)は、再生装置610の出力部(図示せず)と配線等を介して接続され、再生装置610からの出力映像を画面に表示する。再生装置610は、Virtual Package構築処理中であることを示す画面表示615を、ポップアップのメッセージパネル等として、コンテンツ再生画面の上に重畳して表示装置614に出力し、表示させる。
ポップアップ表示された画面表示615は、認証等のVirtual Package構築にかかる処理の進み度合いを表示の割合で示す画面表示616を含み、これにより、Virtual Package構築にかかる処理の進み度合いを、表示装置614において画面上のバーの表示割合で視覚的に示す。
図56は、実施の形態9におけるVirtual Packageの構築失敗の表示を模式的に示す図である。図55と同様の部分については説明を省略し、図55と相違する部分についてのみ説明を行う。Virtual Package構築失敗を示す蛍光管表示617は、再生装置610の前面に位置し、Virtual Packageの構築に失敗したことを表示の色(例えば赤色の表示を行う)により示す。再生装置610は、Virtual Package構築に失敗した場合、Virtual Package構築失敗を示す画面表示618を、ポップアップのメッセージパネル等として、コンテンツ再生画面の上に重畳して表示装置614に出力し、表示させる。
図57は、実施の形態9におけるVirtual Packageの構築成功の表示を模式的に示す図である。図55と同様の部分については説明を省略し、図55と相違する部分についてのみ説明を行う。Virtual Package構築成功を示す蛍光管表示619は、再生装置610の前面に位置し、Virtual Packageの構築に成功したことを表示の色(例えば緑色の表示を行う)により示す。再生装置610は、Virtual Packageの構築に成功した場合、Virtual Package構築成功を示す画面表示620を、ポップアップのメッセージパネル等として、コンテンツ再生画面の上に重畳して表示装置614に出力し、表示させる。
以下、Virtual Packageの構築の際に、構築処理の状態を画面表示する手順について説明する。図32は、Virtual Packageの構築に関する表示を更新する処理手順を示すフローチャートである。
本フローチャートは、図44に示すフローチャートから、ステップS131〜ステップS135の処理手順を除き、ステップS221、ステップS222、及びステップS223の処理手順を追加したものである。
ステップS221では、図55に示すVirtual Package構築処理中の表示に切り換える。ステップS222では、図56に示すVirtual Packageの構築失敗の表示に切り換える。ステップS223では、図57に示すVirtual Packageの構築成功の表示に切り換える。なお、ステップS222またはステップS223の後に、一定時間画面上に表示を行った後、Virtual Packageの状態を示す画面表示の出力を終了して、通常のコンテンツ再生の表示を行ってもよい。
図59は、実施の形態9におけるLocal Storage上のコンテンツ一覧の表示を示す図である。図55と同様の部分については説明を省略し、図55と相違する部分についてのみ説明する。Local Storage上のコンテンツ一覧の画面表示621は、表示装置614に、Virtual Package管理テーブルに管理されているLocal Storage上のコンテンツ一覧を表示する画像である。コンテンツ一覧上でVirtual Package構築失敗したコンテンツを示す画面表示622は、Local Storage上のコンテンツ一覧の画面表示621において、署名の認証に失敗したコンテンツであることをアイコンでユーザに示す画面表示である。コンテンツ一覧上でVirtual Package構築成功したコンテンツを示す画面表示623は、Local Storage上のコンテンツ一覧の画面表示621において、署名の認証に成功したコンテンツであることをアイコンでユーザに示す画面表示である。
なお、本実施形態では、Virtual Package構築に失敗したLocal Storage上のコンテンツをユーザに通知するようにしたが、システムが自動的に削除するようにしてもよい。

(その他の変形例)
尚、本発明を上記の実施形態に基づいて説明してきたが、本発明は、上記の実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
(1)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。
また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(2)第1〜第9実施形態では、仮想マシンのプログラミング言語としてJava(登録商標)を利用したが、Java(登録商標)ではなく、UNIX(登録商標)OSなどで使われているB−Shellや、Perl Script、ECMA Scriptなど他のプログラミング言語であっても構わなく、言い換えれば、本発明はJava(登録商標)に限定されるものでは無い。
(3)第1〜第9実施形態では、Local Storage上のファイルを格納する構造をBD-ROMのディレクトリ構造と同じとしたが、ファイルの対応関係が明確に示されるのであれば、ディレクトリ構造が同じであることに限定されるものでは無い。
(4)第1〜第9実施形態では、読み書き可能な記録媒体としてHDDを利用したが、読み書き可能な記録媒体としてフラッシュ等の記録媒体でも構わない。
(5)第1〜第9実施形態では、記録媒体を再生する再生機能を有する再生装置について説明したが、本発明は、再生機能のみを有するものではなく記録機能をも有する再生装置にも適用できることはもちろんのことである。
(6)第1〜第9実施形態ではBD-ROMを再生する再生装置について説明をしたが、書き込み可能な光記録媒体に上述の実施の形態にて説明をしたBD-ROM上の必要なデータが記録されていた場合においても上述と同様の効果を奏することはもちろんのことである。
更には光記録媒体以外にも可搬性がある記録媒体(例えばSDカードやコンパクトフラッシュ(登録商標)などの半導体メモリ)に上述の実施の形態にて説明をしたBD-ROM上の必要なデータが記録されていた場合においても上述と同様の効果を奏することはもちろんのことである。
(7)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明の適用例としては、読み出し専用記録媒体の記録内容を、読み書き可能な記録媒体の記録内容で拡張して再生するHDD搭載のBD-ROMプレーヤ等の再生装置等がある。
1 BD-ROMドライブ
2 Read Buffer
3 デマルチプレクサ
4 ビデオデコーダ
5 ビデオプレーン
6 P-Graphicsデコーダ
7 Presentation Graphicsプレーン
8 合成部
9 フォントゼネレータ
10 I-Graphicsデコーダ
11 スイッチ
12 Interactive Graphicsプレーン
13 合成部
14 CLUT部
15 CLUT部
16 オーディオデコーダ
17 Network Device
18 Local Storage
19 Read Buffer
20 デマルチプレクサ
21 命令ROM
22 ユーザイベント処理部
23 PSRセット
24 CPU
25 シナリオメモリ
26 Local Memory
27 スイッチ
29a DVDライクモジュール
29b Java(登録商標)プラットフォーム
30 Java(登録商標)仮想マシン
31 Presentation Engine
32 Playback Control Engine
33 モジュールマネージャ
36 アプリケーションマネージャ
37 ネットワーク管理モジュール
38 Virtual File System部
39 管理情報変換モジュール
40 メソッド実行モジュール
41 暗号化器
42 復号化器
52 ユーザクラスローダ
53 メソッドエリア
54 ワークメモリ
55 スレッド
56 スタック
200、610
再生装置
300 リモコン
400 テレビ
601、602、603、606
登録情報
607 署名データ
611 BD-ROMドライブ
614 表示装置

Claims (6)

  1. 複数のタイトルに対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたアプリケーションプログラムに対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたデジタルストリームに対応するデータとを記録した記録媒体を再生する再生装置に用いる再生方法であって、
    前記複数のタイトルのいずれかを選択する選択ステップと、
    前記選択したタイトルに関連するデジタルストリームを再生する再生ステップと、
    前記選択したタイトルに関連するアプリケーションプログラムを実行する実行ステップと、
    前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がない第1のデータと、前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がある第2のデータと、前記第1のデータの格納場所、第2のデータの格納場所、及び前記第2のデータのハッシュ値を含むマージ管理情報と、前記マージ管理情報のハッシュ値を含む署名情報とを、前記再生装置が備えるローカルストレージへ記録する記録ステップと、
    前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあるか否かを判定する第1の判定ステップと、
    前記署名情報に含まれる前記マージ管理情報のハッシュ値と、前記マージ管理情報から算出されるハッシュ値とを比較し、同じであれば前記マージ管理情報が改竄されていないと判定する第2の判定ステップと、
    前記第1のデータ、前記第2のデータ、及び前記マージ管理情報を読取り専用属性に変更する属性変更ステップと、
    前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあると前記第1の判定ステップにおいて判定し、かつ前記マージ管理情報が改竄されていないと前記第2の判定ステップにおいて判定し、かつ前記第1のデータ、前記第2のデータ、及び前記マージ管理情報を属性変更ステップが読取り専用属性に変更した後に、前記選択ステップが、前記選択したタイトルとは異なるタイトルを選択したとき、前記記録媒体に記録されたデータと前記ローカルストレージに記録され読取り専用属性に変更された第1のデータ及び第2のデータとを組み合わせたパッケージ情報を生成する生成ステップと、
    前記第2のデータから算出されるハッシュ値と、前記マージ管理情報に含まれる第2のデータのハッシュ値とを比較し同じであれば、前記生成したパッケージ情報に含まれる第2のデータを利用して処理を実行する処理ステップと
    を含む再生方法。
  2. 前記第1のデータは前記デジタルストリームに対応するデータであり、
    前記第2のデータは前記デジタルストリームとは異なるデータである請求項1記載の再生方法。
  3. 前記選択ステップは、ユーザからのタイトル選択要求を受けてタイトルを選択する請求項1記載の再生方法。
  4. 複数のタイトル対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたアプリケーションプログラムに対応するデータと、前記複数のタイトルのうちのいずれかのタイトルに関連付けられたデジタルストリームに対応するデータとを記録した記録媒体を再生する再生装置であって、
    ローカルストレージと、
    前記複数のタイトルのいずれかを選択する選択部と、
    前記選択したタイトルに関連するデジタルストリームを再生する再生部と、
    前記選択したタイトルに関連するアプリケーションプログラムを実行する実行部と、
    前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がない第1のデータと、前記記録媒体に記録されたデータと組み合わせて利用するデータであって、改竄チェックをする必要がある第2のデータと、前記第1のデータの格納場所、第2のデータの格納場所、及び前記第2のデータのハッシュ値を含むマージ管理情報と、前記マージ管理情報のハッシュ値を含む署名情報とを、前記ローカルストレージへ記録する記録部と、
    前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあるか否かを判定する第1の判定部と、
    前記署名情報に含まれる前記マージ管理情報のハッシュ値と、前記マージ管理情報から算出されるハッシュ値とを比較し、同じであれば前記マージ管理情報が改竄されていないと判定する第2の判定部と、
    前記第1のデータ、前記第2のデータおよび前記マージ管理情報を読取り専用属性に変更する属性変更部と、
    前記ローカルストレージへ記録した第1のデータ及び第2のデータが前記マージ管理情報に含まれる格納場所にあると前記第1の判定部が判定し、かつ前記マージ管理情報が改竄されていないと前記第2の判定部が判定し、かつ前記第1のデータ、前記第2のデータおよび前記マージ管理情報を属性変更部が読取り専用属性に変更した後に、前記選択部が、前記選択したタイトルとは異なるタイトルを選択したとき、前記記録媒体に記録されたデータと前記ローカルストレージに記録され読取り専用属性に変更された第1のデータ及び第2のデータとを組み合わせたパッケージ情報を生成するパッケージ情報生成部とを備え、
    前記第2のデータから算出されるハッシュ値と、前記マージ管理情報に含まれる第2のデータのハッシュ値とが同じであれば、前記生成したパッケージ情報に含まれる第2のデータを利用して処理を行うように構成した再生装置。
  5. 前記第1のデータは前記デジタルストリームに対応するデータであり、
    前記第2のデータは前記デジタルストリームとは異なるデータである請求項4記載の再生装置。
  6. 前記選択部は、ユーザからのタイトル選択要求を受けてタイトルを選択する請求項4記載の再生装置。
JP2010130911A 2004-07-22 2010-06-08 再生装置、再生方法 Expired - Fee Related JP4956645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010130911A JP4956645B2 (ja) 2004-07-22 2010-06-08 再生装置、再生方法

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
JP2004214918 2004-07-22
JP2004214918 2004-07-22
JP2004293042 2004-10-05
JP2004293042 2004-10-05
JP2004314663 2004-10-28
JP2004314663 2004-10-28
JP2005039832 2005-02-16
JP2005039832 2005-02-16
JP2005099409 2005-03-30
JP2005099409 2005-03-30
JP2010130911A JP4956645B2 (ja) 2004-07-22 2010-06-08 再生装置、再生方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007503135A Division JP4886673B2 (ja) 2004-07-22 2005-07-19 再生装置、再生方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012020689A Division JP5291211B2 (ja) 2004-07-22 2012-02-02 再生装置、再生方法

Publications (2)

Publication Number Publication Date
JP2010257473A true JP2010257473A (ja) 2010-11-11
JP4956645B2 JP4956645B2 (ja) 2012-06-20

Family

ID=35106706

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2007503135A Active JP4886673B2 (ja) 2004-07-22 2005-07-19 再生装置、再生方法
JP2010130911A Expired - Fee Related JP4956645B2 (ja) 2004-07-22 2010-06-08 再生装置、再生方法
JP2010249759A Expired - Fee Related JP5015311B2 (ja) 2004-07-22 2010-11-08 再生装置に用いる集積回路
JP2012020689A Expired - Fee Related JP5291211B2 (ja) 2004-07-22 2012-02-02 再生装置、再生方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2007503135A Active JP4886673B2 (ja) 2004-07-22 2005-07-19 再生装置、再生方法

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2010249759A Expired - Fee Related JP5015311B2 (ja) 2004-07-22 2010-11-08 再生装置に用いる集積回路
JP2012020689A Expired - Fee Related JP5291211B2 (ja) 2004-07-22 2012-02-02 再生装置、再生方法

Country Status (9)

Country Link
US (2) US8036513B2 (ja)
EP (9) EP2216782A1 (ja)
JP (4) JP4886673B2 (ja)
CN (8) CN101833969A (ja)
AU (2) AU2005264608B2 (ja)
MX (1) MX2007000680A (ja)
MY (1) MY149794A (ja)
TW (3) TWI447602B (ja)
WO (1) WO2006009270A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA06012806A (es) * 2004-05-11 2007-01-26 Matsushita Electric Ind Co Ltd Reproductor, programa y metodo de reproduccion.
WO2006051037A1 (en) 2004-11-09 2006-05-18 Thomson Licensing Bonding contents on separate storage media
KR20060081323A (ko) * 2005-01-07 2006-07-12 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치
KR101216070B1 (ko) 2005-01-19 2012-12-26 엘지전자 주식회사 로컬 스토리지를 이용한 기록매체 재생방법 및 재생장치,기록매체
EP2320321B1 (en) * 2005-03-18 2015-11-11 Sony Corporation Information processing device
KR20060125465A (ko) * 2005-06-02 2006-12-06 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치
US20090238545A1 (en) * 2005-11-22 2009-09-24 Matsushita Electric Industrial Co., Ltd. Reproducing device and program
US7747831B2 (en) * 2006-03-20 2010-06-29 Emc Corporation High efficiency portable archive and data protection using a virtualization layer
US9235477B1 (en) 2006-04-24 2016-01-12 Emc Corporation Virtualized backup solution
US9317222B1 (en) * 2006-04-24 2016-04-19 Emc Corporation Centralized content addressed storage
US8065273B2 (en) * 2006-05-10 2011-11-22 Emc Corporation Automated priority restores
US9684739B1 (en) 2006-05-11 2017-06-20 EMC IP Holding Company LLC View generator for managing data storage
JP4817463B2 (ja) * 2006-05-18 2011-11-16 パイオニア株式会社 情報再生装置及び方法、管理装置及び方法、情報再生システム、並びにコンピュータプログラム
US7739387B2 (en) * 2007-03-08 2010-06-15 Sap Ag System and method for message packaging
US8015548B2 (en) * 2007-03-22 2011-09-06 Arcsoft, Inc. Method for obtaining context of corresponding Xlet while playing BD-J title
US8559789B2 (en) * 2007-06-06 2013-10-15 Panasonic Corporation Reproducing apparatus that uses continuous memory area
JP5045357B2 (ja) * 2007-10-04 2012-10-10 ソニー株式会社 コンテンツ利用システム、およびデータ処理方法
US8046586B1 (en) * 2007-12-14 2011-10-25 Nvidia Corporation Method and system for determining the compliance of encrypted and non-encrypted display outputs
JP5034921B2 (ja) * 2007-12-14 2012-09-26 ソニー株式会社 情報処理装置、ディスク、および情報処理方法、並びにプログラム
US8605097B1 (en) 2007-12-14 2013-12-10 Nvidia Corporation Method and system for determining the compliance encrypted and non-encrypted display outputs
EP2234109B8 (en) * 2007-12-17 2016-06-01 Panasonic Intellectual Property Corporation of America Individual sales oriented recording medium, recording device, reproducing device and method for them
KR100935864B1 (ko) * 2008-04-10 2010-01-07 드리머 디스크 매체 재생 장치의 데이터 애플리케이션 제공 방법및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터로 판독가능한 기록 매체
JP5217713B2 (ja) * 2008-07-11 2013-06-19 ソニー株式会社 情報処理装置、情報処理システム、情報記録媒体、および情報処理方法、並びにプログラム
AU2009275052B2 (en) 2008-07-24 2014-05-29 Panasonic Corporation Playback device capable of stereoscopic playback, playback method, and program
WO2010041576A1 (ja) * 2008-10-06 2010-04-15 株式会社プランネット・アソシエイツ コンテンツの配信システム
WO2010048531A1 (en) 2008-10-24 2010-04-29 Datcard Systems, Inc. System and methods for metadata management in content addressable storage
US8335425B2 (en) * 2008-11-18 2012-12-18 Panasonic Corporation Playback apparatus, playback method, and program for performing stereoscopic playback
EP2400772B1 (en) * 2009-02-17 2016-04-13 Panasonic Intellectual Property Management Co., Ltd. Playback device, playback method, and program
JP2010191665A (ja) * 2009-02-18 2010-09-02 Sony Corp 情報処理装置、情報処理方法、およびプログラム、並びに記録媒体
JP4915456B2 (ja) * 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
JP4915458B2 (ja) * 2009-04-03 2012-04-11 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
TWI410867B (zh) * 2010-03-24 2013-10-01 Acer Inc 應用軟體的安裝方法
US8930470B2 (en) * 2010-04-23 2015-01-06 Datcard Systems, Inc. Event notification in interconnected content-addressable storage systems
US8909029B2 (en) 2010-10-13 2014-12-09 Sony Corporation Capturing playback key events in BD players
CN102622377A (zh) * 2011-01-28 2012-08-01 北京千橡网景科技发展有限公司 用于合并文件的方法和设备
JP5759845B2 (ja) * 2011-09-21 2015-08-05 株式会社メガチップス 情報処理システム、情報処理装置、外部記憶媒体、プログラム、記憶媒体、及び、ファイル管理方法
WO2013097027A1 (en) * 2011-12-28 2013-07-04 Certicom Corp. Generating digital signatures
WO2013111187A1 (en) * 2012-01-25 2013-08-01 Hitachi, Ltd. Single instantiation method using file clone and file storage system utilizing the same
US11290402B2 (en) * 2016-09-30 2022-03-29 Dropbox, Inc. Managing message attachments
JP6855348B2 (ja) * 2017-07-31 2021-04-07 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置およびダウンロード処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001066986A (ja) * 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
WO2003012651A1 (en) * 2001-07-31 2003-02-13 Alphabridge Corporation Content providing system, content providing method, content providing program, and computer-readable recording medium
WO2004030356A1 (ja) * 2002-09-25 2004-04-08 Matsushita Electric Industrial Co., Ltd. 再生装置、光ディスク、記録媒体、プログラム、再生方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4134539A1 (de) * 1991-10-18 1993-04-22 Gao Ges Automation Org Aufzeichnungstraeger mit farbigen bildinformationen, insbesondere wert- oder ausweiskarte
DE69531447T2 (de) * 1994-10-10 2004-07-01 Koninklijke Philips Electronics N.V. Datenbanksystem mit lokalen informationen, mit dynamischen informationen kombiniert
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
JPH11282741A (ja) * 1998-03-27 1999-10-15 Hitachi Ltd ディレクトリのマウント方法、ファイルアクセス方法およびアクセス権限判別方法
JP3666237B2 (ja) * 1998-03-31 2005-06-29 セイコーエプソン株式会社 情報処理装置及び電子機器
EP1058256A1 (en) * 1998-12-23 2000-12-06 Matsushita Electric Industrial Co., Ltd. Video/audio data recording apparatus, video/audio data reproducing apparatus, video/audio data recording / reproducing apparatus, video/audio data recording method, video/audio data reproducing method, and medium
JP4292434B2 (ja) * 1999-03-30 2009-07-08 ソニー株式会社 光ディスク、光ディスク記録装置、光ディスクの記録方法、光ディスク再生装置及び光ディスクの再生方法
JP3882383B2 (ja) * 1999-04-01 2007-02-14 松下電器産業株式会社 円盤状記憶媒体の再生方法
JP2000311367A (ja) * 1999-04-23 2000-11-07 Sony Corp ディスクドライブ装置、及びトラッキング制御方法
JP3873523B2 (ja) * 1999-05-21 2007-01-24 ソニー株式会社 再生装置
US6986048B1 (en) * 2000-01-24 2006-01-10 Koninklijke Philips Electronics N.V. Protecting content from illicit reproduction by proof of existence of a complete data set using security identifiers
JP2001291365A (ja) * 2000-03-31 2001-10-19 Pioneer Electronic Corp 記録再生装置及び記録方法
US6754157B2 (en) * 2000-08-07 2004-06-22 Victor Company Of Japan, Limited Recording and/or reproducing apparatus and recording and/or reproducing method capable of detecting a land pre-pit on disc securely at a high precision
JP2004240466A (ja) * 2000-12-26 2004-08-26 Ccp:Kk コンテンツ・データのエンコードシステム、エンコード方法、及びエンコード方法を用いたコンテンツ登録システム
JP2003030856A (ja) * 2001-07-17 2003-01-31 Pioneer Electronic Corp 光ディスク並びに記録及び再生装置
JP4139114B2 (ja) 2002-02-04 2008-08-27 松下電器産業株式会社 デジタルコンテンツ管理装置およびデジタルコンテンツ管理プログラム
JP2003281821A (ja) * 2002-03-22 2003-10-03 Sony Corp 書き込み可能な記録媒体、識別情報の記録方法、情報記録装置、識別情報の再生方法および情報再生装置
JP4618760B2 (ja) * 2002-07-25 2011-01-26 ルネサスエレクトロニクス株式会社 光ディスク再生装置およびそのデータ再生方法
US7764868B2 (en) 2002-09-12 2010-07-27 Panasonic Corporation Recording medium, reproduction device, program, reproduction method, and recording method
EP2261922A3 (en) 2003-02-21 2013-04-10 Panasonic Corporation Playback apparatus and method, recording apparatus and method and recording medium
CN100498948C (zh) * 2003-06-18 2009-06-10 松下电器产业株式会社 重放装置、重放方法
TW200518070A (en) 2003-10-10 2005-06-01 Matsushita Electric Ind Co Ltd Recording medium, reproduction device, program, and reproduction method
WO2005036540A2 (en) 2003-10-13 2005-04-21 Koninklijke Philips Electronics N.V. Method and device for compensating tilt of an optical data carrier
MXPA05010367A (es) * 2003-11-10 2005-11-17 Matsushita Electric Ind Co Ltd Medio de grabacion, dispositivo de reproduccion, programa, metodo de reproduccion y circuito integrado de sistema.
CA2548546A1 (en) * 2003-12-18 2005-06-30 Matsushita Electric Industrial Co., Ltd. Method for storing, authenticalting and executing an application program
EP1746827B1 (en) * 2004-05-11 2018-10-24 Panasonic Intellectual Property Management Co., Ltd. Reproduction device
MXPA06012806A (es) * 2004-05-11 2007-01-26 Matsushita Electric Ind Co Ltd Reproductor, programa y metodo de reproduccion.
CN1938774B (zh) * 2004-06-03 2010-04-21 松下电器产业株式会社 再现设备及方法
KR20120002625A (ko) * 2004-07-14 2012-01-06 파나소닉 주식회사 애플리케이션 프로그램 인증 및 실행 방법
EP2270805A3 (en) * 2004-07-22 2011-01-26 Panasonic Corporation Playback apparatus for performing application-synchronized playback
WO2006028132A1 (ja) * 2004-09-08 2006-03-16 Matsushita Electric Industrial Co., Ltd. 映像データとアプリケーションとを連動させて再生する再生装置、再生方法、及びプログラム
KR101226487B1 (ko) * 2004-12-01 2013-01-28 파나소닉 주식회사 기록매체, 재생장치, 재생방법
US7933172B2 (en) * 2005-01-10 2011-04-26 Hewlett-Packard Development Company, L.P. Method for playing contents using master and slave optical disc
JP5098145B2 (ja) * 2005-10-12 2012-12-12 ソニー株式会社 データ管理装置および記録媒体の管理方法
JP4765734B2 (ja) * 2006-04-06 2011-09-07 ソニー株式会社 情報処理装置、情報処理方法および情報処理プログラム、ならびに、表示制御装置
JP4757179B2 (ja) * 2006-11-30 2011-08-24 ソニー株式会社 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001066986A (ja) * 1999-08-26 2001-03-16 Sony Corp 送信装置および方法、受信装置および方法、通信システム、並びにプログラム格納媒体
WO2003012651A1 (en) * 2001-07-31 2003-02-13 Alphabridge Corporation Content providing system, content providing method, content providing program, and computer-readable recording medium
WO2004030356A1 (ja) * 2002-09-25 2004-04-08 Matsushita Electric Industrial Co., Ltd. 再生装置、光ディスク、記録媒体、プログラム、再生方法

Also Published As

Publication number Publication date
US8347099B2 (en) 2013-01-01
CN101872633A (zh) 2010-10-27
TWI447602B (zh) 2014-08-01
AU2005264608A1 (en) 2006-01-26
CN101826358A (zh) 2010-09-08
CN101826358B (zh) 2012-07-25
WO2006009270A1 (en) 2006-01-26
JP2008507793A (ja) 2008-03-13
MY149794A (en) 2013-10-14
CN101826357B (zh) 2012-11-07
CN101872633B (zh) 2012-11-28
EP2214170A1 (en) 2010-08-04
AU2010257290B2 (en) 2011-09-22
TW201243635A (en) 2012-11-01
EP2214171A1 (en) 2010-08-04
JP4956645B2 (ja) 2012-06-20
JP5291211B2 (ja) 2013-09-18
TW201243634A (en) 2012-11-01
CN101819800B (zh) 2012-07-25
CN1998048B (zh) 2010-06-09
TWI381281B (zh) 2013-01-01
JP4886673B2 (ja) 2012-02-29
CN101833969A (zh) 2010-09-15
CN101814307A (zh) 2010-08-25
CN1998048A (zh) 2007-07-11
CN101814310A (zh) 2010-08-25
AU2010257290A1 (en) 2011-01-13
EP1769501A1 (en) 2007-04-04
JP2012146387A (ja) 2012-08-02
JP5015311B2 (ja) 2012-08-29
EP1769501B1 (en) 2018-02-21
JP2011090773A (ja) 2011-05-06
US20070286575A1 (en) 2007-12-13
AU2005264608B2 (en) 2010-10-28
EP2216781A1 (en) 2010-08-11
CN101826357A (zh) 2010-09-08
EP2216782A1 (en) 2010-08-11
US8036513B2 (en) 2011-10-11
TWI371715B (en) 2012-09-01
EP2214172A1 (en) 2010-08-04
TW200614079A (en) 2006-05-01
EP2216783A1 (en) 2010-08-11
CN101819800A (zh) 2010-09-01
EP2214169A1 (en) 2010-08-04
CN101814310B (zh) 2012-11-28
EP2180477A1 (en) 2010-04-28
US20100046747A1 (en) 2010-02-25
MX2007000680A (es) 2007-05-09

Similar Documents

Publication Publication Date Title
JP4956645B2 (ja) 再生装置、再生方法
JP4906950B2 (ja) アプリケーション連動再生を行う再生装置、及び再生方法
AU2011254047B2 (en) Playback apparatus and playback method

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120221

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150323

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees