以下、本発明のコンテンツ利用システム、およびデータ処理方法の詳細について、図面を参照して説明する。説明は、以下の項目に従って行う。
1.情報記録媒体の格納データおよび情報処理装置の概要
2.情報処理装置によるコンテンツダウンロード処理
3.コンテンツ再生処理
4.コンテンツの自動ダウンロードおよび自動再生処理
5.コンテンツ種類に応じたダウンロード処理の詳細
6.プレイリスト未記録ディスクに対するプレイリストのダウンロード提供処理構成
7.サーバにおけるユーザ管理処理
8.ディスク格納コンテンツおよびダウンロードコンテンツの作成および管理処理
[1.情報記録媒体の格納データおよび情報処理装置の概要]
まず、本発明の情報処理装置においてコンテンツ再生に利用する情報記録媒体の格納データ例および情報処理装置の一実施例について説明する。図1に、コンテンツの格納された情報記録媒体100および情報処理装置(再生装置)150の構成例を示す。ここでは、コンテンツ格納済みディスクとしてのROMディスクの情報格納例を示す。情報処理装置150は、例えばPC、あるいは再生専用装置など、様々な情報処理装置であり、情報記録媒体100からのデータ読み取り処理を実行するドライブ120を有する。
情報記録媒体(ディスク)100としてのROMディスクは、例えば、Blu−ray Disc(登録商標)、DVDなどの情報記録媒体であり、例えば正当なコンテンツ権利者の許可の下にディスク製造工場において製造された正当なコンテンツを格納した情報記録媒体である。
図1に示すように、情報記録媒体(ディスク)100には、コンテンツ111と、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックとしてのMKB(Media Key Block)112、情報記録媒体100の格納コンテンツの識別子としてのコンテンツID、情報記録媒体個別、あるいは所定枚数単位の情報記録媒体毎の識別情報として設定されるボリュームID、ディスク固有の識別情報としてのメディアIDに相当するPMSN(Pre−recorded Media Serial Number)などを含む処理管理ファイル113、コンテンツのコピー・再生制御情報としてのCCI(Copy Control Information)等を含む利用制御情報(Usage Rule)114、コンテンツ利用管理単位としてのコンテンツ管理ユニット(CPSユニット)毎に設定される暗号鍵であるCPSユニット鍵を格納したCPSユニット鍵ファイル115が格納されている。
なお、本例では、コンテンツ111中に、後述するサーバからのコンテンツダウンロード処理に適用するプログラム情報としてコンテンツ管理アプリケーション(BD−Jアプリ1)116が含まれる例を示している。コンテンツ管理アプリケーション(BD−Jアプリ1)116を利用した処理例については後段で説明する。以下、情報記録媒体100に格納される情報の概要について説明する。
(1)コンテンツ111
情報記録媒体(ディスク)100には、様々なコンテンツが格納される。例えば高精細動画像データであるHD(High Definition)ムービーコンテンツなどの動画コンテンツのAV(Audio Visual)ストリームやゲームプログラム、画像ファイル、音声データ、テキストデータ、Java(登録商標)アプリケーションプログラムなどのコンテンツである。
これらのコンテンツ中、メインコンテンツである例えば映画コンテンツは、特定のAVフォーマット規格データであり、コンテンツの著作権保護技術の規格であるAACS(Advanced Access Content System)の規格に従って暗号化データとして記録される。すなわち、コンテンツをユニット(CPSユニット)として区分し、各ユニットに対応するユニット鍵(CPSユニット鍵)を適用した暗号化コンテンツとしてディスクに記録される。ディスクには、コンテンツの復号に必要となるユニット鍵を格納したCPSユニット鍵ファイル115、さらに、暗号鍵ブロックであるMKB(Media Key Block)112が記録されている。
コンテンツ111には、さらに例えばJava(登録商標)アプリケーションプログラム、ゲームプログラムや、画像ファイル、音声データ、テキストデータなどがサブコンテンツとして格納される。サブコンテンツは、特定のAVデータフォーマットに従わないデータである場合もある。
メインコンテンツ、サブコンテンツとともに、コンテンツの種類としては、音楽データ、動画、静止画等の画像データ、ゲームプログラム、WEBコンテンツなど、様々なコンテンツが含まれ、これらのコンテンツには、情報記録媒体100からのデータのみによって利用可能なコンテンツ情報と、情報記録媒体100からのデータと、ネットワーク接続されたサーバから提供されるデータとを併せて利用可能となるコンテンツ情報など、様々な態様の情報が含まれる。
(2)MKB
MKB(Media Key Block)112は、ブロードキャストエンクリプション方式の一態様として知られる木構造の鍵配信方式に基づいて生成される暗号鍵ブロックである。MKB112は有効なライセンスを持つユーザの情報処理装置に格納されたデバイス鍵(Kd)に基づく処理(復号)によってのみ、コンテンツの復号に必要なキーであるメディア鍵(Km)の取得を可能とした鍵情報ブロックである。これはいわゆる階層型木構造に従った情報配信方式を適用したものであり、ユーザデバイス(情報処理装置)が有効なライセンスを持つ場合にのみ、メディア鍵(Km)の取得を可能とし、無効化(リボーク処理)されたユーザデバイスにおいては、メディア鍵(Km)の取得が不可能となる。
MKBの管理を行う管理センタはMKBに格納する鍵情報の暗号化に用いるデバイス鍵の変更により、特定のユーザデバイスに格納されたデバイス鍵では復号できない、すなわちコンテンツ復号に必要なメディア鍵を取得できない構成を持つMKBを生成することができる。従って、任意タイミングで不正デバイスを排除(リボーク)して、有効なライセンスを持つデバイスに対してのみ復号可能な暗号化コンテンツを提供することが可能となる。コンテンツの復号処理の詳細については後述する。
(3)処理管理ファイル
処理管理ファイル113は、情報記録媒体100の格納コンテンツの識別子としてのコンテンツID、情報記録媒体個別、あるいは所定枚数単位の情報記録媒体毎の識別情報として設定されるボリュームID、ディスク固有の識別情報としてのメディアIDに相当するPMSN(Pre−recorded Media Serial Number)などを含む。ボリュームIDは、コンテンツの復号に適用する鍵の生成情報として利用される。これらの処理については後述する。
(4)利用制御情報(Usage Rule)
利用制御情報(Usage Rule)114には、例えばコピー・再生制御情報(CCI)が含まれる。すなわち、情報記録媒体100に格納された暗号化コンテンツ111に対応する利用制御のためのコピー制限情報や、再生制限情報である。このコピー・再生制御情報(CCI)は、コンテンツ管理ユニットとして設定されるCPSユニット個別の情報として設定される場合や、複数のCPSユニットに対応して設定される場合など、様々な設定が可能である。
(5)CPSユニット鍵ファイル
情報記録媒体100に格納された暗号化コンテンツは、上述したように、コンテンツ管理ユニットとして設定されるCPSユニットに区分され、ユニット単位の暗号鍵を適用して暗号化されている。再生処理を実行する情報処理装置は、再生対象とするコンテンツの属するCPSユニットを判別し、判別したCPSユニットに対応する暗号鍵としてのCPSユニット鍵を適用した復号処理を行うことが必要となる。このCPSユニット鍵を取得するために必要なデータを格納したファイルがCPSユニット鍵ファイルである。なお、コンテンツ再生には、CPSユニット鍵のみならず、他の様々な鍵情報や鍵生成情報等を適用することが必要となる。これらの具体的な処理については後述する。
図1には、情報記録媒体100に格納されたコンテンツの再生処理を実行する情報処理装置150の構成の概略を示している。情報処理装置は、情報記録媒体の格納データの読み取り処理を実行するドライブ120を有する。ドライブ120によって読み取られたデータは、暗号化コンテンツの復号処理およびデコード(例えばMPEGデコード)処理を実行するデータ処理部151に入力される。
データ処理部151は、暗号化コンテンツの復号処理を実行する復号処理部152と、デコード(例えばMPEGデコード)処理を実行するデコード処理部153を有する。復号処理部152では、メモリ154に格納された各種情報、および、情報記録媒体100からの読み取りデータを適用して、コンテンツの復号に適用する鍵を生成し、暗号化コンテンツ111の復号処理を実行する。
メモリ154は、プログラムの実行領域、データ格納領域などに利用されるROM,RAMによって構成されるメモリであり、コンテンツ復号処理に適用するデバイス鍵[Kd]や、様々な処理を実行するプログラムなどが格納される。情報処理装置150は、情報記録媒体100の暗号化コンテンツの復号に際して、これらメモリ154に格納されたデータと、情報記録媒体100からの読み取りデータとに基づいてコンテンツの復号に適用する鍵を生成し、コンテンツ111に含まれる暗号化コンテンツの復号処理を実行する。復号処理の詳細については、後段で説明する。
次に、図2を参照して、情報記録媒体に格納されるコンテンツ111に含まれる暗号化コンテンツのフォーマット例について説明する。前述したように、情報記録媒体に格納される暗号化コンテンツは、ユニット毎の異なる利用制御を実現するため、ユニット毎に異なる鍵が割り当てられ暗号化処理がなされて格納される。すなわち、コンテンツはコンテンツ管理ユニット(CPSユニット)に区分されて、個別の暗号化処理がなされ、個別の利用管理がなされる。
コンテンツ利用に際しては、まず、各ユニットに割り当てられたCPSユニット鍵を取得することが必要であり、さらに、その他の必要な鍵、鍵生成情報等を適用して予め定められた復号処理シーケンスに基づくデータ処理を実行して再生を行う。コンテンツ管理ユニット(CPSユニット)の設定態様について、図2を参照して説明する。
図2に示すように、コンテンツは、(A)インデックス210、(B)ムービーオブジェクト220、(C)プレイリスト230、(D)クリップ240の階層構成を有する。再生アプリケーションによってアクセスされるタイトルなどのインデックスを指定すると、例えばタイトルに関連付けられた再生プログラムが指定され、指定された再生プログラムのプログラム情報に従ってコンテンツの再生順等を規定したプレイリストが選択される。
プレイリストには、再生対象データ情報としてのプレイアイテムが含まれる。プレイリストに含まれるプレイアイテムによって規定される再生区間としてのクリップ情報によって、コンテンツ実データとしてのAVストリームやコマンドが選択的に読み出されて、AVストリームの再生、コマンドの実行処理が行われる。なお、プレイリスト、プレイアイテムは多数、存在し、それぞれに識別情報としてのプレイリストID、プレイアイテムIDが対応付けられている。
なお、図2に示すフォーマットは、AACS規定に従った暗号化コンテンツのフォーマットであり、ディスクに格納されるコンテンツ111の全てがこのフォーマットに従ったデータであることは必須ではない。ディスクにはこのフォーマットに従って記録された暗号化データ以外にコマーシャルコンテンツ、サービスコンテンツ、Java(登録商標)プログラムコンテンツなど様々なコンテンツが記録可能である。これらのデータは、非暗号化コンテンツとしてディスクに記録されている場合もあり、このようなコンテンツの再生にもプレイリストの利用が可能である。
すなわち、図2に示すプレイリストの設定は、すべて暗号化データとしてのAVストリームのみの再生を指定するプレイリストの例を示しているが、この他に、AACS規定に従ったAVストリームと、非暗号化データであるコマーシャルコンテンツを交互に再生する再生順序を規定したプレイリスト、非暗号化データである1つのコマーシャルを再生するためのプレイリストなども設定可能である。なお、ユーザがコンテンツを再生する場合は、タイトルを指定して再生が行われるが、ユーザによるタイトル指定によってある1つのプレイリストが選択されて、選択されたプレイリストによって1つあるいは複数の再生コンテンツが順次選択されて再生が行われる。
図2には、ディスク100に記録されたコンテンツ111に含まれる暗号化コンテンツ中の2つのCPSユニットを示している。これらは、情報記録媒体に格納されたコンテンツの一部を構成している。CPSユニット1,271、CPSユニット2,272の各々は、インデックスとしてのタイトルと、再生プログラムファイルとしてのムービーオブジェクトと、プレイリストと、コンテンツ実データとしてのAVストリームファイルを含むクリップを含むユニットとして設定されたCPSユニットである。
コンテンツ管理ユニット(CPSユニット)1,271には、タイトル1,211とタイトル2,212、再生プログラム221,222、プレイリスト231,232、クリップ241、クリップ242が含まれ、これらの2つのクリップ241,242に含まれるコンテンツの実データであるAVストリームデータファイル261,262が、少なくとも暗号化対象データであり、原則的にコンテンツ管理ユニット(CPSユニット)1,271に対応付けて設定される暗号鍵であるCPSユニット鍵(Ku1)を適用して暗号化されたデータとして設定される。
コンテンツ管理ユニット(CPSユニット)2,272には、インデックスとしてアプリケーション1,213、再生プログラム224、プレイリスト233、クリップ243が含まれ、クリップ243に含まれるコンテンツの実データであるAVストリームデータファイル263がコンテンツ管理ユニット(CPSユニット)2,272に対応付けて設定される暗号鍵である暗号鍵であるCPSユニット鍵(Ku2)を適用して暗号化される。
例えば、ユーザがコンテンツ管理ユニット1,271に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット(CPSユニット)1,271に対応付けて設定された暗号鍵としてのユニット鍵:Ku1を取得して復号処理を実行することが必要となる。コンテンツ管理ユニット2,272に対応するアプリケーションファイルまたはコンテンツ再生処理を実行するためには、コンテンツ管理ユニット(CPSユニット)2,272に対応付けて設定された暗号鍵としてのユニット鍵:Ku2を取得して復号処理を実行することが必要となる。
CPSユニット鍵ファイルの具体的構成について、図3、図4を参照して説明する。図3は、CPSユニット鍵ファイルの構成をテーブルとして示し、図4は、実際のファイルデータ構成を示すシンタックス図である。図3に示すように、CPSユニット鍵ファイルは、タイトルなどのインデックス情報毎に区分され、各インデックスに対応するコンテンツ管理ユニット番号(CPSユニット番号)と、暗号化済みCPSユニット鍵[Kun]が対応付けられたデータ構成とされる。
コンテンツ再生を実行する情報処理装置は、各CPSユニットに設定されたユニット番号(CPSユニット番号)に基づいて、対応するCPSユニット鍵を取得して暗号化コンテンツであるCPSユニットの復号処理を実行する。図4は、図3に示すCPSユニット鍵ファイルに対応するデータ構成を示すシンタックス図である。
次に、図5を参照して情報処理装置における暗号化コンテンツの再生処理シーケンスについて説明する。暗号化コンテンツは、前述したCPSユニット単位での暗号化がなされた暗号化コンテンツである。
情報処理装置150は、ディスク100から各種の情報を読み取り、これらの読み取りデータと情報処理装置150の保有しているデバイス鍵281とを適用した鍵生成処理によって生成したユニット鍵(Ku)に基づいて暗号化コンテンツの復号処理を実行する。
まず、情報処理装置150は、メモリに格納しているデバイス鍵(Kd)281を読み出す。デバイス鍵281は、コンテンツ利用に関するライセンスを受けた情報処理装置に格納された秘密キーである。
次に、情報処理装置150は、ステップS11において、デバイス鍵281を適用してディスク100に格納されたMKB112の復号処理を実行して、メディア鍵Kmを取得する。MKB112には、メディア鍵Kmが暗号化されて格納されている。
次に、ステップS12において、ステップS11におけるMKB処理で取得したメディア鍵Kmと、ディスク100から読み取ったボリュームID(例えば処理管理ファイル113内に記録)とに基づく暗号処理によって、タイトル鍵生成キーKe(embedded Key)を生成する。この鍵生成処理は、例えばAES暗号アルゴリズムに従った処理として実行される。
次に、ステップS13において、タイトル鍵生成キーKe(embedded Key)と、ディスク100から読み取ったCPSユニット鍵ファイル115(図3、図4参照)から取得した暗号化済みCPSユニット鍵[Kun]に基づいて、例えば暗号処理(AES_H)等のユニット鍵データ処理を実行して、タイトル鍵Ktを取得する。
次に、ステップS14において、タイトル鍵Ktと、ディスク100から読み取った利用制御情報114とに基づく暗号処理(AES_H)によって、ユニット鍵Kuを生成し、ステップS15において、ディスク100から読み取った暗号化コンテンツに対して、ユニット鍵を適用した復号処理(例えばAES_D)が実行される。
次に、ステップS16において、例えばMPEGデコード、圧縮解除、スクランブル解除等、必要なデコード処理を実行して、コンテンツ282を取得する。以上が、暗号化コンテンツの復号、再生処理シーケンスである。
[2.情報処理装置によるコンテンツダウンロード処理]
情報処理装置は、ディスクに記録されたコンテンツ再生のみではなく、例えばネットワークを介して接続するサーバからコンテンツ(ダウンロードコンテンツ)を取得し、このダウンロードコンテンツと情報記録媒体格納コンテンツの双方を利用して再生処理を行うことができる。
外部からのコンテンツ取得処理構成について図6を参照して説明する。図6は図1に示す情報処理装置150と同一の装置である。図1においては、情報記録媒体からのコンテンツ再生に適用する構成として、データ処理部151、メモリ154、ドライブ120を示したが、情報処理装置150は、さらに、例えばハードディスクあるいはフラッシュメモリ等によって構成されるローカル記憶部155、ネットワークを介した通信を実行する通信インタフェース156、コンテンツやコンテンツ情報の表示、さらにユーザ入力部としてのUI機能を提供する表示部157を有する。
情報処理装置150は、ディスク100に格納されたコンテンツ再生に併せて利用可能なサプコンテンツ、例えば、ディスク100に格納されたコンテンツが映画コンテンツである場合の字幕データや吹き替えデータ、コマーシャルコンテンツ、サービスコンテンツ、Java(登録商標)などのプログラム、その他、ディスク100に格納されたコンテンツに対応するサービスデータなどを、サーバ191,192を介して取得し、取得データを例えばハードディスクあるいはフラッシュメモリ等によって構成されるローカル記憶部155に記憶する。データ処理部151は、後発データの記録に際して、後発データに関する管理情報を格納した管理テーブルを生成または更新してローカル記憶部155に記録する。
ローカル記憶部155に記憶される後発データは、ディスク100の格納コンテンツのいずれかに対応して取得または生成されたデータであり、ディスク100の格納コンテンツの再生処理に際して、ローカル記憶部155に格納され、ユーザによって選択された後発データの再生を併せて実行することができる。この再生処理においては、データ処理部151の制御の下で、例えばディスク格納コンテンツと、ハードディスクなどのローカル記憶部格納コンテンツを統合したVFS(バーチャル・ファイルシステム)を構築して再生処理が行われる。このVFSに基づく再生処理により、あたかも1つのメディアからの再生処理と同様の再生が可能となる。
ディスク格納コンテンツと、ローカル記憶部格納コンテンツを利用したコンテンツ再生処理を行う前に、サーバからコンテンツを取得することが必要である。このコンテンツ取得処理例について、図7を参照して説明する。コンテンツ取得処理は様々な処理態様で行うことが可能である。図7に示す例は、その1つの処理例であり、3つのコンテンツ管理アプリケーションを組み合わせて利用してコンテンツの取得を行う処理例である。
図7の処理例では、
(1)ディスク100に記録された第1コンテンツ管理アプリケーション(BD−Jアプリ1)301
(2)サーバ191から情報処理装置150に提供される第2コンテンツ管理アプリケーション(BD−Jアプリ2)331(=322)
(3)サーバ191から情報処理装置150に提供される第3コンテンツ管理アプリケーション(BD−Jアプリ3)332(=323)
これらの3つのコンテンツ管理アプリケーションを利用した処理例である。
なお、[BD−Jアプリn]は、青色レーザを利用した記録再生ディスクであるBlu−ray Disc(登録商標)に適用するJava(登録商標)アプリケーションを示している。以下の実施例では、Blu−ray Disc(登録商標)に適用するJava(登録商標)アプリケーションをコンテンツ管理アプリケーションとして利用した例について説明するが、本発明は、Blu−ray Disc(登録商標)以外の情報記録媒体においても利用可能であり、また、コンテンツ管理アプリケーションとして利用するプログラムはJava(登録商標)プログラム以外のプログラムであってもよい。
まず、これらの3つのコンテンツ管理アプリケーションの実行する処理について説明する。
(1)第1コンテンツ管理アプリケーション(BD−Jアプリ1)
この第1コンテンツ管理アプリケーション(BD−Jアプリ1)は、サーバとの接続前に実行されるアプリケーションであり、以下の処理を実行する。
(a)ユーザにダウンロードを実行するか否かを確認する処理
(b)再生装置(情報処理装置)が、ネットワーク接続やAACSのオンライン機能に対応しているかを確認する処理
(c)アクセスすべきURLを提供する処理
(d)ローカル記憶部の管理データ(org_id, disc_id), AACS関連データの更新処理
(e)課金処理(オプション)
これらの処理を実行する。
(2)第2コンテンツ管理アプリケーション(BD−Jアプリ2)
この第2コンテンツ管理アプリケーション(BD−Jアプリ2)は、サーバから取得して実行されるアプリケーションであり、以下の処理を実行する。
(a)ユーザに商品(ダウンロードデータ)を選ばせる処理
(b)ユーザの選択した商品をサーバに伝える処理
(c)課金処理(オプション)
これらの処理を実行する。
(3)第3コンテンツ管理アプリケーション(BD−Jアプリ3)
この第3コンテンツ管理アプリケーション(BD−Jアプリ3)は、サーバから取得して実行されるアプリケーションであり、ダウンロードデータのローカル記憶部に対する記録時に実行され、以下の処理を実行する。
(a)ディスク格納コンテンツとローカル記憶部格納コンテンツを、仮想的な1つのメディア格納コンテンツとして設定するバーチャルファイルシステム(VFS)で使用できる状態に設定し、AV関連ファイル(再生対象コンテンツ)をローカル記憶部に記録する処理、
(b)VFSで使用できる状態にしてAACS関連ファイル(管理情報)をローカル記憶部に記録する処理、
このように、各アプリケーションの処理を特化し、各アプリケーションを適宜、ディスクやサーバなどから取得する構成とすることで、アプリケーションの更新処理などの自由度が増加し、より使いやすい環境や、高度なサービスの提供が可能となる。
なお、これらの各コンテンツ管理アプリケーション(BD−Jアプリn)は、情報処理装置150のデータ処理部151、すなわちプログラム実行機能を持つCPU等を備えたデータ処理部において実行され、上述した各処理を行う。例えば、これらのアプリケーションは、情報処理装置150のデータ処理部151がプログラム実行領域として設定するVM(バーチャルマシン)において実行される。
図7を参照して本処理例の処理シーケンスについて説明する。まず、ディスク(ROMディスク)100に記録されたコンテンツ管理アプリケーション(BD−J1)321(=301)を起動する。なお、コンテンツ管理アプリケーション(BD−J1)321(=301)の起動処理は、コンテンツ再生処理と同様、タイトル選択によって行われる。ユーザ側の処理としては、映画コンテンツを再生する場合と同様のタイトル指定処理によってコンテンツ管理アプリケーション(BD−J1)321(=301)が起動する。
ユーザによるタイトル選択によって起動されたコンテンツ管理アプリケーション(BD−J1)321により、情報処理装置150はステップS101において、ディスク100の例えば処理管理ファイル302を取得し、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNを読み取り、これらのディスク記録ID、さらにユーザIDや情報処理装置IDなどの識別情報の少なくともいずれかを、サブコンテンツ(ダウンロードコンテンツ)の提供処理を行なうサーバ191に送信する。なお、どのような識別情報をサーバ191に対して送信するかはサーバ191側が自由に設定できる。例えば、コンテンツ管理アプリケーション(BD−J1)321(=301)は、サーバ191側の要求する識別情報の送付シーケンスをプログラムとして設定したアプリケーションとして設定される。
サーバ191は、ステップS102において、受信データに含まれる識別情報、例えば、コンテンツIDやユーザIDに基づいて、ユーザ(情報処理装置150)に対して許容する処理のリストである許容処理リストを生成し、コンテンツ管理アプリケーション(BD−Jアプリ2)331を選択して情報処理装置150に提供する。サーバ191は、例えばコンテンツIDやユーザIDに対応するコンテンツ利用条件情報を保持しており、この情報に基づいて、コンテンツIDやユーザIDに対応する処理を実行するコンテンツ管理アプリケーション(BD−Jアプリ2)331を選択して情報処理装置150に提供する。
情報処理装置150は、サーバ191から受信したコンテンツ管理アプリケーション(BD−Jアプリ2)322(=331)を適用した処理を実行する。情報処理装置150は、コンテンツ管理アプリケーション(BD−Jアプリ2)322に含まれる許容処理リストを情報処理装置の表示部に表示して、ステップS103において、ユーザが例えばダウンロードコンテンツの選択を行なう。
この選択に基づいて、情報処理装置150は、サーバ191との間で決済データ330の転送による決済処理を実行する。情報処理装置の表示部に決済画面を表示し、ユーザは、決済画面に例えばクレジットカード番号等の決済に必要なデータを入力して送信する。次に、ステップS104において、サーバ191が処理を許可して許可情報を情報処理装置150に送信する。
サーバ191は、ステップS104において、情報処理装置150に提供するコンテンツ334、管理データ333、バインドファイル(Binding file)335と、記録処理を実行するコンテンツ管理アプリケーション(BD−Jアプリ3)332を含むデータを併せて情報処理装置150に送信する。なお、これらのデータには改竄検証を可能とするため、サーバ191の署名を付与する構成とするこが好ましい。
情報処理装置150は、サーバ191から受信したコンテンツ管理アプリケーション(BD−Jアプリ3)323(=332)の実行に際して、署名検証を行い、改ざんのない正当なデータであることを確認する処理を行なう。正当性が確認されたことを条件として、ステップS105において、コンテンツ334、管理データ333、バインドファイル(Binding file)335をローカル記憶部155に記録する。この結果、ローカル記憶部155には、管理データ341、コンテンツ342と、バインドファイル(Binding file)343が記録される。
なお、管理データ(AACS data)341(=333)は、コンテンツの著作権保護技術に関する規格管理システムであるAACS(Advanced Access Content System)の規定する管理データであり、サーバ191の提供するコンテンツ334が暗号化コンテンツである場合、その復号に適用する鍵(CPSユニット鍵)を格納したCPSユニット鍵ファイルを含み、さらに、提供コンテンツに対応する利用制御情報、さらに、CPSユニット鍵を取得するためのメディアキーを格納した暗号鍵ブロックであるMKB(Media Key Block)等を含むデータによって構成される。
バインドファイル(Binding file)343(=335)は、サーバ191が情報処理装置150に提供し、情報処理装置150のローカル記憶部155に格納されるコンテンツ342(=334)を、情報記録媒体(ディスク)100の格納コンテンツと併せて再生する際に情報処理装置150が構築するバーチャルファイルシステム(VFS)の構築に必要となるマッピング情報を格納したファイルである。マッピング情報は、プレイリストに記録されたディスク記録コンテンツ情報を利用してローカル記憶部格納コンテンツを再生コンテンツとして取得させるための情報である。
バインドファイル(Binding file)343(=335)に記録されたマッピング情報を利用することで、例えば、ディスク100に記録されたプレイリストを利用してコンテンツ再生を行う際に、ディスク格納コンテンツの一部をローカル記憶部155に記録したダウンロードコンテンツに置き換えて再生することが可能となる。
具体的には、例えば、ディスクに、
複数の映画コンテンツ1,2,3,・・・、
複数のコマーシャルコンテンツa,b,c・・・、
これらのコンテンツが記録されており、プレイリストが、
映画コンテンツ1→コマーシャルa→映画コンテンツ2→コマーシャルb→映画コンテンツ3→コマーシャルc・・・
このようなコンテンツの再生順序を規定している場合、コマーシャルa,b,cをサーバ191からダウンロードしてローカル記憶部155に記録したダウンロードコンテンツに置き換えて再生する処理や、サーバ191からダウンロードした新たな追加コンテンツを再生する処理が可能となる。
すなわち、サーバ191からダウンロードしてローカル記憶部155に記録したダウンロードコンテンツとして、
コマーシャルx、
コマーシャルy、
コマーシャルz、
これらのコマーシャルコンテンツがローカル記憶部155に記録されている場合、バインドファイル(Binding file)343(=335)に記録されたマッピング情報を利用してバーチャルファイルシステム(VFS)を構築して、同じプレイリストを利用して再生を実行することで、
映画コンテンツ1→コマーシャルx→映画コンテンツ2→コマーシャルy→映画コンテンツ3→次回提供コンテンツ予告情報→コマーシャルz・・・
このようにコンテンツを置き換えて再生処理を実行することができる。
なお、バインドファイル(Binding file)の具体例および利用例については後段で詳細に説明する。
図7を参照して説明したサーバからのコンテンツダウンロード処理シーケンスについて、図8に示すフローチャートを参照して説明する。
まず、ステップS121において、コンテンツダウンロードを行うためのアプリケーションプログラム(BD−J)を指定するためのタイトルを選択する。この処理は情報処理装置150を利用するユーザによって実行される。
次に、ステップS122において、ユーザの指定により、ディスク100から読み取られたアプリケーションプログラム(BD−Jアプリ1)が実行される。前述したようにユーザ側の処理としては、映画コンテンツを再生する場合と同様のタイトル指定処理によってコンテンツ管理アプリケーション(BD−Jアプリ1)が起動する。アプリケーション(BD−Jアプリ1)は、情報処理装置150にプログラム実行領域として設定されるVM(バーチャルマシン)において実行される。
次に、ステップS123において、ディスク100の例えば処理管理ファイルを取得し、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNを取得し、サブコンテンツ等の提供処理を行なうサーバ191にアップロード(送信)する。なお、送信識別子は、前述したように、これらのディスク記録識別子のいずれか、ユーザ識別子、情報処理装置識別子など、あるいはこれらの組み合わせなど、様々な設定が可能である。この処理は、アプリケーションプログラム(BD−Jアプリ1)に従って実行される。
次にステップS124において、サーバ191から受信したコンテンツ管理アプリケーション(BD−Jアプリ2)を適用した処理として、コンテンツ管理アプリケーション(BD−Jアプリ2)に含まれる許容処理リストを情報処理装置の表示部に表示し、ステップS125において、ユーザがダウンロードコンテンツの選択を行なう。
次にステップS126において、ユーザ選択コンテンツが有料コンテンツであるか無料コンテンツであるかがコンテンツ管理アプリケーション(BD−Jアプリ2)によって判断され、有料コンテンツである場合は、ステップS127に進み、サーバ191との間で決済データ331の転送による決済処理を実行する。情報処理装置の表示部に決済画面を表示し、ユーザは、決済画面に例えばクレジットカード番号等の決済に必要なデータを入力して送信する。
これらの決済処理が終了した場合、またはユーザ選択コンテンツが無料コンテンツである場合は、ステップS128に進み、情報処理装置150は、サーバ191から受信したコンテンツ管理アプリケーション(BD−Jアプリ3)を実行して、コンテンツ、管理データ、バインドファイル(Binding file)をローカル記憶部155に記録する。以上の処理によってコンテンツダウンロードが完了する。
[3.コンテンツ再生処理]
次に、図9に示すフローチャートを参照して、情報処理装置150において実行するコンテンツ再生処理、すなわちディスク100の格納コンテンツとローカル記憶部155に格納したダウンロードコンテンツを利用して再生する処理シーケンスについて説明する。
この図9に示すフローは情報処理装置150のデータ処理部151の制御の下に実行される。
まず、ステップS141において、サーバから取得してローカル記憶部155に格納したバインドファイル(Binding file)を用いてバーチャルファイルシステム(VFS)の構築を行う。バーチャルファイルシステム(VFS)は、複数の異なる記憶部の格納コンテンツを統合して、あたかも1つのメディアからの再生処理と同様の再生を可能とするために設定される仮想のファイルシステムである。
本例では、ディスク100の格納コンテンツと、ローカル記憶部155の格納コンテンツを統合したVFSを構築する。このVFSの構築に際して、サーバから取得しローカル記憶部155に格納したバインドファイル(Binding file)を利用する。
バインドファイル(Binding file)の具体例について、図10を参照して説明する。バインドファイル(Binding file)は図10に示すように、
(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)、
(b)プレイリスト上の再生指定コンテンツファイル名
これらの各データの対応データとして設定されている。
(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)は、図7、図8を参照して説明した、サーバ191からのダウンロード処理によって情報処理装置150が取得しローカル記憶部155に格納したダウンロードコンテンツのファイル名である。
(b)プレイリスト上の再生指定コンテンツファイル名は、コンテンツ再生を行う場合に利用されるプレイリストに記録されている再生コンテンツのファイル名である。このファイル名は、ディスク100に記録されているコンテンツのファイル名に対応している。
コンテンツ再生処理は、ユーザが指定したタイトルによって選択されるプレイリストに記載されたコンテンツを順次選択して行われる。
プレイリストに記録されている再生指定コンテンツファイル名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択されるようにバーチャルファイルシステム(VFS)が設定される。すなわち、バーチャルファイルシステム(VFS)はマッピング情報を保持したファイルシステムとして構築される。
マッピング情報を含むバーチャルファイルシステム(VFS)を利用することで、情報処理装置150は、プレイリストに記録されたディスク格納ファイル名を検索キーとしてVFSを検索した場合、マッピング情報に基づいてローカル記憶部のファイル名(ダウンロードコンテンツ)を検索結果として得て、ローカル記憶部のファイルを取得して再生を行うことができる。
プレイリストに記録されている再生指定コンテンツファイル名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されていない場合は、プレイリストに記録されている再生指定コンテンツファイル名がそのまま、再生コンテンツとして選択されるようにバーチャルファイルシステム(VFS)が設定される。このコンテンツはディスク100に記録されたコンテンツである。
このように、バインドファイル(Binding file)のマッピング情報は、ディスクに記録されたコンテンツの再生の代わりに、ダウンロードコンテンツの再生を行わせるためのマッピング情報であり、情報処理装置150のデータ処理部151は、図9に示すフローのステップS141におけるバーチャルファイルシステム(VFS)の構築に際して、バインドファイル(Binding file)を用いたVFS構築処理を行い、これによりマッピング情報を含むバーチャルファイルシステム(VFS)が構築される。
次に、ステップS142において、ユーザによる再生コンテンツの指定情報の入力、すなわちタイトル選択を行う。タイトルはある1つのプレイリストを選択するための情報として用いられる。次にステップS143において、指定されたタイトルに従って選択されたプレイリストに記載されたコンテンツ名に基づいて再生コンテンツの選択が実行される。この再生コンテンツの選択は、ステップS141において構築されたバーチャルファイルシステム(VFS)に基づいて選択される。すなわち、バインドファイル(Binding file)を利用して構築されたVFSであり、バインドファイル(Binding file)にマッピング情報が記録されたコンテンツはディスクからではなくローカル記憶部から取得されることになる。
ステップS144では、取得コンテンツが暗号化コンテンツであるか否かが判定され、暗号化コンテンツである場合は、ステップS145においてコンテンツの復号処理が実行される。この処理は、先に図5を参照して説明した処理である。コンテンツの復号が完了した後、あるいは取得コンテツが非暗号化コンテンツである場合は、コンテンツを復号することなくステップS146に進み、コンテンツが再生される。
このように、情報処理装置のデータ処理部は、プレイリストに記録されたディスク記録コンテンツ情報を利用してローカル記憶部格納コンテンツを再生コンテンツとして取得させるマッピング情報を利用したコンテンツ取得処理により、プレイリストの指定するディスク記録コンテンツに替えてローカル記憶部格納コンテンツを再生する
本発明の情報処理装置では、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択して再生を行う構成としているので、例えば、先に説明したように、例えば、ディスクに、
複数の映画コンテンツ1,2,3,・・・、
複数のコマーシャルコンテンツa,b,c・・・、
これらのコンテンツが記録されており、プレイリストが、
映画コンテンツ1→コマーシャルa→映画コンテンツ2→コマーシャルb→映画コンテンツ3→コマーシャルc・・・
このようなコンテンツの再生順序を規定している場合、コマーシャルa,b,cをサーバ191からダウンロードしてローカル記憶部155に記録したダウンロードコンテンツ、すなわち、
コマーシャルx、
コマーシャルy、
コマーシャルz、
これらのダウンロードされたコマーシャルコンテンツに置き換えた再生、すなわち、
映画コンテンツ1→コマーシャルx→映画コンテンツ2→コマーシャルy→映画コンテンツ3→コマーシャルz・・・
このようにコンテンツを置き換えて再生処理を実行することができる。
このように、バインドファイル(Binding file)に記録されたマッピング情報を利用してバーチャルファイルシステム(VFS)を構築することで、プレイリストのデータを変更することなく、新たなダウンロードコンテンツの再生が実行されることになる。
図11、図12を参照してバインドファイル(Binding file)を利用しない場合のコンテンツ再生処理例と、バインドファイル(Binding file)を利用した場合のコンテンツ再生処理例の具体例について説明する。
図11は、バインドファイル(Binding file)を利用しない場合のコンテツ再生処理例を示している。ディスク100を装着した情報処理装置150は、ステップS201において再生コンテンツの指定に利用するためのタイトルリストをユーザに提示する。例えば情報処理装置150の表示部にタイトルリストを表示する。
ユーザは、ステップS202においてタイトルリストから再生したいタイトルを選択する。情報処理装置150は選択されたタイトルに従って、タイトルに関連付けられたプレイリストを選択する。なお、タイトル情報やプレイリストは、予めディスク100に記録済みの情報である。ここでは、ディスク100に記録されたコマーシャルコンテンツ[CM#1]の再生をユーザが希望し、コマーシャルコンテンツ[CM#1]のみが再生コンテンツとして記録されたプレイリストが選択されて再生を行う場合を示している。
プレイリストにはコンテンツ指定情報としてのコンテンツ名が記録されている。この場合、ディスク100に記録されたコマーシャルコンテンツ[CM#1]のファイル名がプレイリストに記録されており、情報処理装置は、ステップS203において、プレイリストの記録情報に基づいて、ディスク100からコマーシャルコンテンツ[CM#1]を取得して再生処理を行う。
図12は、バインドファイル(Binding file)を利用した場合のコンテンツ再生処理例を示している。情報処理装置150は、ローカル記憶部155内にサーバからダウンロードしたコマーシャルコンテンツ[CM#3]352と、バインドファイル(Binding file)351を格納している。
ディスク100を装着した情報処理装置150は、ステップS221においてバーチャルファイル(VFS)を構築する。このVFS構築に際しては、バインドファイル(Binding file)のマッピング情報(図10参照)を利用した処理が行われる。すなわち、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]をアクセスコンテンツとして設定したVFSを構築する。
次に、情報処理装置150は、ステップS222において、再生コンテンツの指定に利用するためのタイトルリストをユーザに提示する。例えば情報処理装置150の表示部にタイトルリストを表示する。ユーザは、ステップS223においてタイトルリストから再生したいタイトルを選択する。情報処理装置150は選択されたタイトルに従って、タイトルに関連付けられたプレイリストを選択する。なお、タイトル情報やプレイリストは、予めディスク100に記録済みの情報である。ここでは、コマーシャルコンテンツ[CM#3]の再生をユーザが希望し、コマーシャルコンテンツ[CM#3]のみが再生コンテンツとして記録されたプレイリストが選択されて再生を行う場合を示している。
プレイリストにはコンテンツ指定情報としてのコンテンツ名が記録されている。この場合、ディスク100に記録されたコマーシャルコンテンツ[CM#3]350のファイル名がプレイリストには記録されている。情報処理装置150は、プレイリストに記録されたファイル名に従ってバーチャルファイルシステム(VFS)の設定コンテンツを取得することになる。
バーチャルファイルシステム(VFS)は、プレイリストに記録されたコンテンツ名[CM3]のアクセス先として、マッピング処理によりローカル記憶部155のファイル名を記録している。すなわち、ダウンロードコンテンツ[CM3]352をコンテンツアクセス先として指定している。情報処理装置150のデータ処理部151は、ステップS224において、このようなマッピング情報に従って設定されたバーチャルファイルシステム(VFS)に従って、ローカル記憶部155からダウンロードされたコマーシャルコンテンツ[CM#3]352を取得して再生処理を行う。
なお、バーチャルファイルシステム(VFS)の構築は、ユーザによるタイトル指定処理に先行して行われる。例えば、情報処理装置にディスク100が装着された際にバーチャルファイルシステム(VFS)の構築処理が行われる。バーチャルファイルシステム(VFS)の構築シーケンスについて図13を参照して説明する。
情報処理装置は、情報処理装置にディスクが装着されたことを検出すると、ステップS251において、ローカル記憶部にディスク対応のバインドファイル(Binding file)があるか否かを判定する。情報処理装置には様々なディスクが装着されることがあり、ローカル記憶部に記録されるバインドファイル(Binding file)には各ディスクの識別子が対応付けられて記録される。
具体的には、ローカル記憶部には各ディスク対応のディレクトリが設定され、その各ディスク対応のバインドファイル(Binding file)がある場合は、そのディレクトリにバインドファイル(Binding file)が記録される。情報処理装置は、装着されたディスクに対応するディレクトリにバインドファイル(Binding file)が記録されているか否かを検証する。
装着されたディスクに対応するディレクトリにバインドファイル(Binding file)が記録されていない場合は、ステップS252に進み、バインドファイル(Binding file)を用いないファイルシステムを構築してステップS254で構築したファイルシステムを利用したコンテンツ再生を行う。
一方、ステップS252において、装着されたディスクに対応するディレクトリにバインドファイル(Binding file)が記録されていると判定すると、ステップS253に進み、バインドファイル(Binding file)を用いてバーチャルファイルシステム(VFS)を構築して、ステップS254で構築したバーチャルファイルシステム(VFS)を利用したコンテンツ再生を行う。
ステップS253のVFS構築に際しては、バインドファイル(Binding file)のマッピング情報(図10参照)を利用した処理が行われる。すなわち、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択される設定としたVFSを構築する。
すなわち、バーチャルファイルシステム(VFS)はマッピング情報を保持したファイルシステムとして構築される。マッピング情報を保持したバーチャルファイルシステム(VFS)は、プレイリストに記録されたディスク格納ファイル名を検索キーとして検索した場合、そのファイル名からマッピングされるローカル記憶部のファイル名(ダウンロードコンテンツ)をアクセス先とする検索結果を提示する構成であり、情報処理装置は、このマッピング情報を保持したVFSを利用することで、プレイリストの記録ファイル名からマッピングされるローカル記憶部格納ファイル名によって特定されるローカル記憶部のファイルを取得して再生を行うことができる。
ステップS255では、ユーザによるタイトル切り替えが発生したか否かを判定し、タイトル切り替えがあった場合は、ステップS251に戻り、処理を繰り返す。これは、前回読み取ったバインドファイル(Binding file)より新しいバインドファイル(Binding file)が再生処理の間にダウンロードされている場合があるので、このような場合に新たなバインドファイル(Binding file)を用いてバーチャルファイルシステム(VFS)を再構築するためである。なお、1つのディスクに対するバインドファイル(Binding file)は、ローカル記憶部にバージョン番号を付与して複数格納する構成としてもよいし、新たなバインドファイル(Binding file)を古いバインドファイル(Binding file)に上書きしていく構成としてもよい。
[4.コンテンツの自動ダウンロードおよび自動再生処理]
上述したように、マッピング情報を利用したコンテンツ再生処理においては、プレイリストに記載されたコンテンツ名によって再生コンテンツが選択される。このときのプレイリストに記録されたコンテンツ名が、バインドファイル(Binding file)に[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合には、バインドファイル(Binding file)によるマッピング情報によって規定された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択することになる。
例えば、サーバからのダウンロードコンテンツがコマーシャル(CM)コンテンツであり、このコマーシャル(CM)コンテンツがローカル記憶部に記録されている場合、特定のプレイリストを利用することで、ローカル記憶部に記録されたコマーシャル(CM)コンテンツを必ず再生させるように設定することも可能である。
図14を参照して、サーバから取得してローカル記憶部155に格納されたコマーシャル(CM)コンテンツを自動再生させる処理について説明する。情報処理装置150は、ローカル記憶部155内にサーバからダウンロードしたコマーシャルコンテンツ[CM#3]352と、バインドファイル(Binding file)351を格納している。
ディスク100を装着した情報処理装置150は、ステップS271においてバーチャルファイル(VFS)を構築する。このVFS構築に際しては、バインドファイル(Binding file)のマッピング情報(図10参照)を利用した処理が行われる。すなわち、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択させるマッピング情報を含むVFSを構築する。
次に、ユーザは、ステップS272において自動再生を要求する。情報処理装置150は要求に従って、予めデフォルトとして設定された自動再生処理用のプレイリストを選択する。なお、プレイリストは、予めディスク100に記録済みの情報である。この自動再生用プレイリストにはコマーシャルコンテンツ[CM#3]が最初の再生コンテンツとして記録されたプレイリストである。
プレイリストにはコンテンツ指定情報としてコマーシャルコンテンツ[CM#3]のファイル名が記録されている。情報処理装置150は、プレイリストに記録されたファイル名に従ってバーチャルファイルシステム(VFS)の設定コンテンツを取得することになる。
バーチャルファイルシステム(VFS)は、プレイリストに記録されたコンテンツ名[CM3]のアクセス先として、ディスクのファイルではなくローカル記憶部のファイルを指定する構成となっている。すなわち、マッピング処理によりローカル記憶部155のファイル名がアクセス先として指定される設定となっている。すなわち、ローカル記憶部155に格納されたダウンロードコンテンツ[CM3]352をアクセス先として指定している。情報処理装置150のデータ処理部151は、ステップS273において、このようなマッピング情報を含むバーチャルファイルシステム(VFS)に従って、ローカル記憶部155からダウンロードされたコマーシャルコンテンツ[CM#3]352を取得して再生処理を行う。
なお、コンテンツのダウンロード処理の基本的なシーケンスは、先に図8に示すフローチャートを参照して説明したが、図8を参照して説明した処理では、まず、サーバからユーザ側に提供可能なコンテンツのリストを提示して、ユーザがダウンロードするコンテンツを選択する処理例として説明していた。しかし、例えば、コマーシャルコンテンツが定期的に更新されるなどの状況を想定した場合、コマーシャルコンテンツを提供するサーバは、常に最新のコマーシャルコンテンツをユーザに提供して、ユーザ側の情報処理装置において確実に再生させたい。このような要請に対応するコンテンツの自動ダウンロード処理および再生シーケンス例について、以下説明する。
まず、図15に示すフローチャートを参照して、自動的に最新コンテンツをサーバからダウンロードする処理シーケンスについて説明する。なお、図15はダウンロードコンテンツをコマーシャルコンテンツとした例である。
まず、ユーザが、ステップS281において、コンテンツダウンロードを行うためのアプリケーションプログラム(BD−Jアプリ)をタイトルによって選択する。この処理は情報処理装置150を利用するユーザによって実行される。次に、ステップS282において、ユーザの指定によりディスク100から読み取られたアプリケーションプログラム(BD−Jアプリ)が情報処理装置150において実行され、ディスク100から、ディスク対応のID、例えば、処理管理ファイルに記録されたコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらの少なくともいずれかの識別子を取得する。
次に、ステップS283において、ステップS282において取得したディスクに記録されたディスク対応の識別子(ID)と情報処理装置150がローカル記憶部155に格納しているコマーシャルコンテンツのリストをサーバにアップロードする。アプリケーションプログラム(BD−Jアプリ)には、ローカル記憶部155に格納しているコマーシャルコンテンツのリストを生成してサーバに送信する処理の実行プログラムが含まれており、情報処理装置のデータ処理部はこのアプリケーションプログラムに従って処理を実行する。
ステップS284、ステップS285はサーバ側の処理であり、ステップS284において、サーバは情報処理装置から受信したディスク記録識別子(ID)と、CMコンテンツリストに基づいて、ディスクに格納されたCMコンテンツと、ローカル記憶部に格納されたCMコンテンツ以外のユーザに提供すべきCMコンテンツがサーバ側に保持しているか否かを確認する。
サーバが新たにユーザに提供すべきCMコンテンツを保持していない場合は処理を終了する。サーバが新たにユーザに提供すべきCMコンテンツを保持している場合は、ステップS285において、最新のCMコンテンツをユーザ側の情報処理装置に送信する。この際にマッピング情報を記録したバインドファイル(Binding file)やプレイリストファイルも必要に応じて送信する。
ステップS286は、ユーザ側の情報処理装置の処理であり、情報処理装置は、サーバから受信したCMコンテンツをユーザ側の情報処理装置のローカル記憶部に格納する。なお、この際にマッピング情報を記録したバインドファイル(Binding file)やプレイリストファイルも必要に応じて併せて受信し、ローカル記憶部に格納する。
次に、図16に示すフローチャートを参照して、コンテンツの自動再生処理シーケンスについて説明する。このシーケンスは、先に図14を参照して説明した処理に対応する。情報処理装置150は、ローカル記憶部155内にサーバからダウンロードしたコマーシャルコンテンツと、バインドファイル(Binding file)を格納している。
ディスクを装着した情報処理装置は、ステップS291においてバインドファイル(Binding file)をローカル記憶部155から読み込み、ステップS292において、バインドファイル(Binding file)に記録されたマッピング情報(図10参照)を利用してバーチャルファイル(VFS)を構築する。
このバーチャルファイル(VFS)の構築処理により、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして選択する設定とされる。
次に、ユーザは、ステップS293においてタイトルを指定してコンテンツ再生を要求する。このタイトルは、CMコンテンツの再生を行うプレイリストである。例えば、図14を参照して説明した自動再生によって選択される自動再生処理用のプレイリストである。情報処理装置は、プレイリストに記録されたコンテンツを順次、再生する。
ステップS294において、プレイリストに記録されたコンテンツ指定情報としてのインデックス(コンテンツファイル名)によってアクセスされるコンテンツが、ローカル記憶部にあるか否かが判定され、ディスク上にある場合は、ステップS295に進み、ディスクからCMコンテンツを読み出してステップS297においてCMコンテンツの再生を実行し、プレイリストに記録されたインデックス(コンテンツファイル名)によってアクセスされるコンテンツが、ローカル記憶部にある場合は、ステップS296に進み、ローカル記憶部からCMコンテンツを読み出してステップS297においてCMコンテンツの再生を実行する。
なお、ステップS294におけるコンテンツのアクセス先判定は、バインドファイル(Binding file)に記録されたマッピング情報(図10参照)を利用して構築されたバーチャルファイル(VFS)を利用して実行される処理である。すなわち、プレイリストに再生対象コンテンツとして記録されたコンテンツ名が、バインドファイル(Binding file)の[(b)プレイリスト上の再生指定コンテンツファイル名]として記録されている場合、その[(b)プレイリスト上の再生指定コンテンツファイル名]に対応して記録された[(a)コンテンツ実体のファイル名(ダウンロードコンテンツ)]を再生コンテンツとして抽出する。
[5.コンテンツ種類に応じたダウンロード処理の詳細]
上述した処理例ではコマーシャルコンテンツ(CM)をサーバからダウンロードするコンテンツの例として説明したが、サーバからダウンロードするコンテンツは、コマーシャルに限らず、例えばAVストリームコンテンツなどのメインコンテンツ、Java(登録商標)アプリケーションプログラム(BD−J app)、プレイリスト、さらにこれら通常のコンテンツに加えて利用制御情報(Usage Rule)をダウンロードする場合もある。以下、これらのデータの各々についての具体的なダウンロード処理シーケンスについて説明する。
(5.1.コマーシャルコンテンツのダウンロード処理例)
まず、図17を参照してコマーシャルコンテンツのダウンロード処理例について説明する。図17に示す例は、ディスク100に記録されているコマーシャルコンテンツの置き換えではなく、新たなコマーシャルコンテンツ(CM#4)401を追加する例である。この場合、ディスク100に記録済みのプレイリスト411には、サーバ191からダウンロードして取得するコマーシャルコンテンツ(CM#4)401の再生指定情報は含まれないため、ダウンロードコンテンツであるコマーシャルコンテンツ(CM#4)401を再生コンテンツ情報として記録した新たなプレイリスト402についてもサーバ191からダウンロードして情報処理装置150のローカル記憶部155に格納する。
まず、ステップS301において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app)を起動する。この処理は、先に図7を参照して説明したコンテンツ管理アプリケーション(BD−J1)321の起動処理に相当する。前述したようにユーザ側の処理としては、映画コンテンツを再生する場合と同様のタイトル指定処理によってコンテンツ管理アプリケーション(BD−J1)が起動する。
情報処理装置150によるコンテンツ管理アプリケーション(BD−J app)の実行により、情報処理装置150はステップS302において、ディスク100から、ディスクに記録された識別情報、例えばコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNの少なくともいずれかを取得し、コンテンツ等の提供処理を行なうサーバ191に送信する。なお、サーバ191に対する送付情報は、どのコンテンツを再生しているかをサーバに伝えることが可能であればよく、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらのいずれかのデータか、あるいはその他の再生ディスクを識別可能なデータであればよい。さらにコンテンツ管理アプリケーション(BD−J1)の設定によってユーザID、情報処理装置IDなどを送付する設定としてもよい。
サーバ191は情報処理装置150からのダウンロード要求を受信すると、受信したディスク記録識別情報などに基づいてダウンロードコンテンツをデータベースから取得して、情報処理装置150に送信する。この場合、送信データは、
(a)コマーシャルコンテンツ(CM#4)401、
(b)プレイリストファイル(PlayList file#2)402、
(c)バインドファイル(Binding file)403、
これらの3つのデータとなる。
なお、プレイリストファイル(PlayList file#2)402は、コマーシャルコンテンツ(CM#4)401が再生コンテンツとして含まれるプレイリストである。情報処理装置150は、サーバ191からこれらのデータを受信してステップS303においてローカル記憶部155に格納する。
この処理により、ローカル記憶部155には以下のデータ、すなわち、
(a)コマーシャルコンテンツ(CM#4)401、
(b)プレイリストファイル(PlayList file#2)402、
(c)バインドファイル(Binding file)403、
これらのデータが記録される。
これらのデータ記録後の状態において、プレイリストファイル(PlayList file#2)402を再生プレイリストとして選択した再生を行うと、コマーシャルコンテンツ(CM#4)401を含むコンテンツ再生が行われることになる。例えば、プレイリストファイル(PlayList file#2)402が、
Movie Title#2→CM#3→CM#4
このような再生指定情報を持つ場合は、ディスク100からのMovie Title#2と、CM#3の再生に続いて、ローカル記憶部155のCM#4の再生が行われる。
(5.2.プログラムコンテンツのダウンロード処理例)
次に、図18を参照してプログラムコンテンツのダウンロード処理例について説明する。図18に示す例は、ディスク100に記録されているプログラムコンテンツであるBD−Jアプリ#2(BD−J app#2)441の更新版をサーバ191から取得する例である。
まず、ステップS321において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app)を起動する。この処理は、先に図7を参照して説明したコンテンツ管理アプリケーション(BD−J1)321の起動処理に相当する。
情報処理装置150によるコンテンツ管理アプリケーション(BD−J app)の実行により、情報処理装置150はステップS322において、ディスク100から、ディスクに記録された識別情報、例えばコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNの少なくともいずれかを取得し、コンテンツ等の提供処理を行なうサーバ191に送信する。さらに、本処理例では、更新版を取得する対象となるプログラムコンテンツであるBD−Jアプリ#2(BD−J app#2)441に対応するプログラムコンポーネントリストをサーバ191に送信する。コンテンツ管理アプリケーション(BD−J1)には、BD−Jアプリ#2(BD−J app#2)441に対応するプログラムコンポーネントリストを生成して送信する処理を実行するようにシーケンスが規定されている。さらにコンテンツ管理アプリケーション(BD−J1)の設定によってはユーザID、情報処理装置IDなどを送付する場合もある。
サーバ191は情報処理装置150からのダウンロード要求を受信すると、受信したディスク識別情報などに基づいて識別情報に対応するダウンロードコンテンツをデータベースから取得して、さらに、BD−Jアプリ#2(BD−J app#2)441に対応するプログラムコンポーネントリストを参照して、更新版としてのBD−Jアプリ#2(BD−J app#2)421との差分を算出し、受信したコンポーネントリストに含まれないコンポーネントのみを選択して情報処理装置150に送信する。
サーバ191は、BD−Jアプリ#2(BD−J app#2)421として、コンポーネント単位で送信可能なデータ群を保持しており、情報処理装置150の保持するコンポーネントは送付せず、差分のみを送信する。この場合、送信データは、
(a)BD−Jアプリ#2(BD−J app#2)の差分、
(b)バインドファイル(Binding file)422、
これらのデータとなる。
この結果、ローカル記憶部155には以下のデータ、すなわち、
(a)BD−Jアプリ#2(BD−J app#2)差分データ431、
(b)バインドファイル(Binding file)422、
これらのデータが記録される。
これらのデータダウンロード後において、BD−Jアプリ#2(BD−J app#2)の再生を行うと、ディスク100に記録された旧バージョンのBD−Jアプリ#2(BD−J app#2)441と、ローカル記憶部155に記録されたBD−Jアプリ#2(BD−J app#2)差分データ431に含まれる追加コンポーネントとを併せた再生処理が実行されることになる。
このように、情報処理装置150のデータ処理部は、ディスク100に格納されたプログラムコンテンツのコンポーネント情報をサーバ191に送信し、サーバ191からディスク格納プログラムコンテンツとの差分に相当するプログラムコンポーネントを受信してローカル記憶部155に格納し、ディスク格納プログラムとローカル記憶部格納プログラムの双方を利用したプログラム実行処理を行う。
なお、上記で説明した処理例は、BD−Jアプリ#2(BD−J app#2)の差分算出処理をサーバ191で実行する構成としているが、BD−Jアプリ#2(BD−J app#2)421の全データを送信し、情報処理装置150側で差分算出を実行して、差分のみをローカル記憶部155に格納する構成としてもよいし、BD−Jアプリ#2(BD−J app#2)421の全データをそのままローカル記憶部155に記録して、ディスク100のBD−Jアプリ#2(BD−J app#2)441は利用しない設定としてもよい。
なお、バインドファイル(Binding file)422の設定も、上記設定態様に対応した設定となる。すなわち、ディスク100に記録された旧バージョンのBD−Jアプリ#2(BD−J app#2)441の読み出し部分についてはマッピングの設定を行わず、旧バージョンのBD−Jアプリ#2(BD−J app#2)441の代わりにローカル記憶部155に記録されたBD−Jアプリ#2(BD−J app#2)差分データ431に含まれるコンポーネントを読み出すデータについてはマッピング情報がバインドファイル(Binding file)422に記録されることになる。
(5.3.メインコンテンツのダウンロード処理例)
次に、図19を参照して例えば映画コンテンツであるAVストリームなどのメインコンテンツのダウンロード処理例について説明する。図19に示す例は、ディスク100に記録されている例えば映画などのAVストリームを含むメインコンテンツ(Movie Title#1,#2)と異なる新たなメインコンテンツ(Movie Title#3)451をユーザ側の情報処理装置150に提供する例である。
この例の場合、ディスク100に記録済みのプレイリスト#1〜#n461には、メインコンテンツ(Movie Title#3)451の再生指定情報は含まれないため、ダウンロードコンテンツであるメインコンテンツ(Movie Title#3)451を再生対象コンテンツとして記録した新たなプレイリスト452もサーバ191からダウンロードして情報処理装置150のローカル記憶部155に格納する。
プレイリスト452は、ダウンロードコンテンツであるメインコンテンツ(Movie Title#3)451を再生対象コンテンツとして記録したプレイリスストである。なお、プレイリスト452は、メインコンテンツ(Movie Title#3)451のみを再生対象としているプレイリストであってもよいが、その他のディスク格納コンテンツを再生指定コンテンツとして含む構成であってもよい。また、本例では、サーバ191からダウンロードするプレイリストは、プレイリスト#n+1,452の1つの例を示しているが、複数の異なる再生順序情報を設定した複数のプレイリストとして、プレイリスト#n+1〜#n+mをダウンロードする構成としてもよい。
図19のフローの各ステップの処理について説明する。まず、ステップS341において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app)を起動する。この処理は、先に図7を参照して説明したコンテンツ管理アプリケーション(BD−J1)321の起動処理に相当する。
情報処理装置150によるコンテンツ管理アプリケーション(BD−J app)の実行により、情報処理装置150はステップS342において、ディスク100からコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNの少なくともいずれかのディスク記録識別子を取得し、コンテンツ等の提供処理を行なうサーバ191に送信する。なお、サーバ191に対する送付情報は、どのコンテンツを再生しているかをサーバに伝えることが可能であればよく、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらのいずれかのデータか、あるいはその他の再生ディスクを識別可能なデータであればよい。その他ユーザID、装置IDなどを含む設定としてもよい。
サーバ191は情報処理装置150からのダウンロード要求を受信すると、受信したディスク識別情報などに基づいて識別情報に対応するダウンロードコンテンツをデータベースから取得して、情報処理装置150に送信する。この場合、送信データは、
(a)メインコンテンツ(Movie Title#3)451、
(b)プレイリストファイル(PlayList file#n+1)452、
(c)バインドファイル(Binding file)453、
これらの3つのデータとなる。
なお、プレイリストファイル(PlayList file#n+1)452は、メインコンテンツ(Movie Title#3)451が再生コンテンツとして含まれるプレイリストである。
図20を参照してサーバ191が情報処理装置150に対して送信するプレイリストファイルの例について説明する。先に説明したようにプレイリストは、コンテンツの再生順序を規定したファイルである。図20に示す例は、
再生コンテンツ数に相当するストリーム数[Stream数]:kと、
ストリームファイルインデックス(Stream fileindex):k個の各ストリーム(コンテンツ)各々の例えばファイル名、
これらのデータが記録される。
ストリームファイルインデックス(Stream fileindex)には、コンテンツの編集者(Authoring facility)によって作成され、サーバ191が有するファイルのファイル名が記録される。少なくともダウンロードするコンテンツファイルのインデックスがこのループに追加される。
このように、サーバ191は、ユーザに提供するメインコンテンツ(Movie Title#3)451に対応するインデックス(Index)が追加された更新プレイリスト(Updated PlayList)からなるプレイリストファイル(PlayList file#n+1)452もコンテンツとともにユーザに提供する。
前述したように、プレイリスト452は、メインコンテンツ(Movie Title#3)451のみを再生対象としているプレイリストであってもよいが、その他のディスク格納コンテンツを再生指定コンテンツとして含む構成であってもよい。例えば、サーバ191が、ユーザの有するディスクに格納されたコンテンツと、新たに提供するコンテンツの全てを再生コンテンツとして含むプレイリストを作成して提供する場合、再生コンテンツ数に相当するストリーム数[Stream数]:kは、ユーザの有するディスクに格納されたコンテンツ数(ストリーム数)と、新たに提供するコンテンツの数(ストリーム数)の総数となり、インデックスには、全てのファイル名が記録されることになる。なお、1つのコンテンツを複数のストリームに分割するといった処理も可能なので、コンテンツ数とストリーム数は必ずしも一致するとは限らない。
情報処理装置150は、サーバ191からこれらのデータを受信してステップS343においてローカル記憶部155に格納する。この処理により、ローカル記憶部155には以下のデータ、すなわち、
(a)メインコンテンツ(Movie Title#3)451、
(b)プレイリストファイル(PlayList file#n+1)452、
(c)バインドファイル(Binding file)453、
これらのデータが記録される。
これらのデータ記録後の状態において、プレイリストファイル(PlayList file#n+1)452を再生プレイリストとして選択した再生を行うと、メインコンテンツ(Movie Title#3)451を含むコンテンツ再生が行われることになる。
(5.4.利用制御情報(Usage Rule)のダウンロード処理例)
次に、図21を参照して利用制御情報(Usage Rule)のダウンロード処理例について説明する。利用制御情報(Usage Rule)は、前述したように、コンテンツに対応する例えばコピー・再生制御情報(CCI)などのコンテンツの利用態様の許容、非許容情報を含むデータであり、情報処理装置150においてコンテンツ利用を行う場合、利用制御情報(Usage Rule)に従ったコンテンツ利用を行うように制御される。
図21に示す例は、ディスク100に予め記録されている利用制御情報(Usage Rule)481を無効化して、新たな更新された利用制御情報(Usage Rule)471をサーバ191から情報処理装置150に提供する処理例である。
この例の場合、ディスク100に記録済みの利用制御情報(Usage Rule)には、ディスク100に記録されているメインコンテンツ(Movie Title#1〜#2)、コマーシャルコンテンツ#1=#2に対応する利用制御情報が記録されている。新たにサーバ191から提供される更新された利用制御情報(Usage Rule)471にも、ディスク100に記録されているメインコンテンツ(Movie Title#1〜#2)、コマーシャルコンテンツ#1〜#2に対応する利用制御情報が記録されている。
具体的には、例えば、メインコンテンツ(Movie Title#1)について、ディスク発売後、2年間はコピー禁止としていたが、2年経過後は、コピーを許容する場合などに、コピー許容の設定をした新たな更新利用制御情報(Usage Rule)471をサーバ191から情報処理装置150に提供するといった処理例である。
図21の各ステップの処理について説明する。まず、ステップS351において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app)を起動する。この処理は、先に図7を参照して説明したコンテンツ管理アプリケーション(BD−J1)321の起動処理に相当する。
情報処理装置150によるコンテンツ管理アプリケーション(BD−J app)の実行により、情報処理装置150はステップS352において、ディスク100から例えばコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNを取得し、コンテンツ等の提供処理を行なうサーバ191に送信する。なお、サーバ191に対する送付情報は、どのコンテンツを再生しているかをサーバに伝えることが可能であればよく、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらのいずれかのデータか、あるいはその他の再生ディスクを識別可能なデータであればよい。
サーバ191は情報処理装置150からのダウンロード要求を受信すると、受信したディスク識別情報などに基づいて識別情報に対応するダウンロードデータとしての利用制御情報(Usage Rule)をデータベースから取得して、情報処理装置150に送信する。この場合、送信データは、
(a)利用制御情報(Usage Rule)471、
(b)バインドファイル(Binding file)472、
これらの2つのデータとなる。
なお、本例の場合、利用制御情報(Usage Rule)471は、ディスク100に記録済みの利用制御情報(Usage Rule)の置き換えデータとして利用されるデータであり、ディスク100に記録されているメインコンテンツ(Movie Title#1〜#2)、コマーシャルコンテンツ#1〜#2に対応する利用制御情報が記録されている。
情報処理装置150は、サーバ191からこれらのデータを受信してステップS353において、受信データをローカル記憶部155に格納する。この処理により、ローカル記憶部155には以下のデータ、すなわち、
(a)利用制御情報(Usage Rule)471、
(b)バインドファイル(Binding file)472、
これらのデータが記録される。
これらのデータ記録後の状態において、ディスク100に記録されているメインコンテンツ(Movie Title#1〜#2)、コマーシャルコンテンツ#1〜#2の再生などのコンテンツ利用に際しては、新たにローカル記憶部155に記録された利用制御情報(Usage Rule)471に従った利用制御が実行されることになる。
なお、バインドファイル(Binding file)472に記録されたマッピング情報を利用して、ディスクに記録された利用制御情報(Usage Rule)481のファイル名が、ローカル記憶部155に記録された利用制御情報(Usage Rule)471のファイル名にマッピングされたファイルシステム(VFS)が構築される。このマッピング情報を持つファイルシステム(VFS)を利用した再生処理において、ローカル記憶部155に記録された利用制御情報(Usage Rule)471の読み出しが行われることになる。
なお、利用制御情報(Usage Rule)は、多くの場合、コンテンツの種類に応じた設定とされる。一般的に映画などのコンテンツの利用制限は厳しく、コマーシャルなどのコンテンツでは利用制限が緩和される。具体的な利用制御情報(Usage Rule)のデータ構成例について図22、図23を参照して説明する。図23は、映画などのメインコンテンツ(Movie Title)に対応する利用制御情報(Usage Rule)であり、図23は、コマーシャルコンテンツに対応する利用制御情報(Usage Rule)の例である。
映画などのメインコンテンツ(Movie Title)に対応する利用制御情報(Usage Rule)は、図22に示すように、例えば、以下のコンテンツ利用制御情報を持つ。
(1)EPN(インターネット再送信についてのフラグ)
EPN−unasserted:CCIがCopy Control Not Assertedの時のみ参照される
(2)CCI(Copy制御情報)
Never Copy:Copy禁止
(3)Image_Constraint_Token(解像度制限に関する情報)
High Definition Analog Output in High Definition Analog Form:解像度制限無し
(4)Digital_Only_Token(アナログ出力に関する情報)
Output of decrypted content is allowed for Analog/Digital Outputs :デジタル、アナログ共に出力可能
(5)APS(アナログ出力されたコンテンツ保護に関する情報)
APS1 on: type 1(AGC):Macrovisionのtype 1
(6)Type_of_Title(再生時にネット接続が必要なコンテンツか否かの情報)
Basic Title:ネット接続不要
またコマーシャルコンテンツに対応する利用制御情報(Usage Rule)は、図23に示すように、例えば、以下のコンテンツ利用制御情報を持つ。
(1)EPN(インターネット再送信についてのフラグ)
EPN−unasserted:暗号化不要
(2)CCI(Copy制御情報)
Copy Control Not Asserted:コピー制限無し,平文として記録される
(3)Image_Constraint_Token(解像度制限に関する情報)
High Definition Analog Output in High Definition Analog Form:解像度制限無し
(4)Digital_Only_Token(アナログ出力に関する情報)
Output of decrypted content is allowed for Analog/Digital Outputs :デジタル、アナログ共に出力可能
(5)APS(アナログ出力されたコンテンツ保護に関する情報)
APS off:アナログプロテクションなし
(6)Type_of_Title(再生時にネット接続が必要なコンテンツか否かの情報)
Basic Title:ネット接続不要
なお、図22、図23に示す利用制御情報(Usage Rule)は、それぞれのコンテンツタイプに対応する利用制御情報の一例であり、コンテンツに各々に応じて様々な設定がなされることになる。
[6.プレイリスト未記録ディスクに対するプレイリストのダウンロードによる提供処理構成]
上述したコンテンツダウンロード処理例は、ディスク格納コンテンツの再生はディスクに予め格納されたプレイリストを適用して実行可能であり、追加コンテンツや修正コンテンツをサーバから提供する構成として説明したが、例えば、映画などのメインコンテンツ(Movie Title#n)をディスクに格納して、このコンテンツを再生するために利用するプレイリストをディスクに記録せず、ディスクの記録データのみではコンテンツ再生を不可能として、プレイリストをサーバからダウンロードすることで、ディスクに記録されたメインコンテンツ(Movie Title#n)の再生を許容するといった設定も可能となる。このような構成例について、図24、図25を参照して説明する。
前述したように、コンテンツの再生にはプレイリストが必要であり、プレイリストに記載されたインデックスによって再生コンテンツが選択されてコンテンツ再生が実行される。従って、ディスクに映画などのコンテンツが記録されていても、そのコンテンツを再生コンテンツとして設定しているプレイリストがない場合は、そのコンテンツの再生は実行されないことになる。
以下、説明する例は、例えば無料で映画コンテンツの格納されたディスクを不特定のユーザに配布し、その後、そのディスクを装着した情報処理装置とサーバ間で予め設定した手続を実行することで、サーバからディスクに格納されたコンテンツの再生指定情報を持つプレスイリストを提供して、ユーザ側の情報処理装置のローカル記憶部に格納させて、そのプレイリストを利用してディスク格納コンテンツの再生を可能とする構成である。
情報処理装置とサーバ間で実行する手続としては、例えばユーザ情報の提供によるユーザ登録処理、あるいは課金処理、あるいは認証処理など様々な手続であり、これは、コンテンツを提供するサーバ側が自由に設定可能である。
図24を参照して、映画などのメインコンテンツ(MovieTitle#1)501が記録され、メインコンテンツ(MovieTitle#1)501の再生に利用するためのプレイリストを記録していないディスク100を装着した情報処理装置150がサーバ191からメインコンテンツ(MovieTitle#1)501の再生に利用するプレイリスト#1(PlayList file#1)511を取得する処理例について説明する。
まず、ステップS401において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app#1)を起動する。この処理は、先に図7を参照して説明したコンテンツ管理アプリケーション(BD−J1)321の起動処理に相当する。すなわち映画の再生処理時に実行されるタイトル指定と同様の処理によってディスク100に記録されたコンテンツ管理アプリケーション(BD−J app#1)を起動する。
情報処理装置150によるコンテンツ管理アプリケーション(BD−J app#1)の実行により、情報処理装置150はステップS402において、ディスク100からディスク記録識別子、例えばコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどを取得し、プレイリストの提供処理を行なうサーバ191に送信する。なお、サーバ191に対する送付情報は、どのコンテンツの格納されたディスクであるかをサーバに伝えることが可能であればよく、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらのいずれかのデータか、あるいはその他のディスクを識別可能なデータであればよい。また、ユーザID、情報処理装置IDなどを送付する設定としてもよい。これらの設定は、コンテンツ管理アプリケーション(BD−J app#1)において規定される。
サーバ191は情報処理装置150からのダウンロード要求を受信すると、ステップS403において、情報処理装置150との認証処理を実行する。この認証処理は、例えば、情報処理装置150に装着されたディスク100が真正なディスクであるか、あるいは情報処理装置150がAACS規定コンテンツの再生を許容された装置であるかなど、サーバ191が自由に設定した認証条件に従って行われる。
情報処理装置150は、ディスクの正当性、または情報処理装置の正当性を示す識別データをサーバ191に送信し、サーバ191において識別データを適用した認証処理が行われ、ディスクの正当性、または情報処理装置の正当性が確認されたことを条件として、情報処理装置150は、ディスク記録コンテンツの再生処理に利用するプレイリストを受信することができる。
サーバ191は、例えばメディアIDに相当するシリアルナンバーであるPMSN等のディスク対応のIDを用いた認証を行い、この認証が成功したことを条件として、情報処理装置150から受信したディスク識別情報などに基づいて識別情報に対応するプレイリストをデータベースから取得して、情報処理装置150に送信する。この場合、送信データは、
(a)プレイリストファイル(PlayList file#1)511、
(b)バインドファイル(Binding file)512、
これらの2つのデータとなる。
なお、プレイリストファイル(PlayList file#1)511は、ディスク100に格納されたメインコンテンツ(Movie Title#1)501が再生コンテンツとして含まれるプレイリストである。
情報処理装置150は、サーバ191からこれらのデータを受信してステップS404においてローカル記憶部155に格納する。この処理により、ローカル記憶部155には以下のデータ、すなわち、
(a)プレイリストファイル(PlayList file#1)511、
(b)バインドファイル(Binding file)512、
これらのデータが記録される。
これらのデータ記録後の状態において、プレイリストファイル(PlayList file#1)511を再生プレイリストとして選択した再生を行うと、メインコンテンツ(Movie Title#1)501の再生が行われることになる。
このように、本処理例では、認証が成功してサーバ191からプレイリストを受領するまでは、ディスク100に格納されたメインコンテンツ(Movie Title#1)501は再生不可能になる。このように、プレイリストを、再生を許可した特定のユーザに提供する設定とすることで、コンテンツ格納ディスクは不特定多数に自由に配布することが可能となる。
また、ディスク格納コンテンツの再生に興味を持ったユーザは、サーバにアクセスすることになり、サーバは、例えばアクセスしたユーザの情報を集めることでユーザ情報を効率的に収集可能となる。この結果、サーバ191は、特定のコンテンツに興味を持つユーザ情報を収集可能となり、ユーザの嗜好情報を解析して新たなサービスをユーザに提供するなどの処理が可能となる。なおユーザの嗜好情報などの取得、管理処理については、後段でさらに詳細を説明する。
なお、上述の例では、プレイリストが全く記録されていないディスクの格納コンテンツに対応するプレイリストをサーバから提供する例を説明したが、ディスクに格納されたコンテンツ中、特定の限られたコンテンツのみを再生するプレイリストをディスクに格納して提供し、ディスクに格納されたコンテンツの全てを再生するプレイリストをサーバから提供するといった設定としてもよい、またディスクに格納したプレイリストと異なる再生順を持つプレイリストをサーバから提供する構成としてもよい。
このように、ディスク格納コンテンツに対応するプレイリストをサーバから配布する構成とすることで、例えば、不特定多数のユーザにディスクを配布し、所定の手続きを実行したクライアントのみにサーバからプレイリストを配布することが可能となり、再生コンテンツを異ならせたプレイリストを設定してユーザに応じて低器用するプレイリストを選択する構成とすれば、ユーザに応じた様々な再生可能なコンテンツの設定が可能となる。
また、ダウンロードによって提供するプレイリストファイルは、例えばサーバの秘密鍵を用いた電子署名等で保護する構成とすることによって、不正なプレイリストの流通を防止することができる。すなわち、ダウンロードによって提供するプレイリストファイルにサーバの秘密鍵を用いた電子署名を付与してユーザ側の情報処理装置に提供し、ユーザ側に提供しているサーバの公開鍵で電子署名検証を行い、改竄のない正当なプレイリストであることの確認がなされた場合にのみプレイリストを利用する設定として、不正なプレイリストの流通を防止することが可能である。
また、サーバ191は、情報処理装置150から受信するコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどを利用して、ディスク各々に対するダウンロード回数のカウントを実行して、ダウンロード回数の制限を行うことも可能である。また、海賊盤のチェック処理によって不正ディスクの発見も可能となる。
また、認証処理に際して、情報処理装置150対応のID、例えば、情報処理装置150固有のハードウェアIDや、情報処理装置が生成した乱数を情報処理装置150対応のIDとして受信して、サーバの管理データとして登録し、情報処理装置単位でダウンロード回数の管理を行い、ダウンロード回数の制限などを行う構成としてもよい。ユーザIDを送信させる設定とすればユーザIDによる管理も可能である。
図24を参照して説明したプレイリストのダウンロード処理のシーケンスについて図25に示すフローチャートを参照して説明する。ステップS421において、ユーザがディスク100を装着した情報処理装置150の入力部(UI)を介して、ディスク100に記録されたコンテンツ管理アプリケーション(BD−J app)を起動する。
次にステップS422において、コンテンツ管理アプリケーション(BD−J app)により、ディスク100からディスク対応の識別子、例えば、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNの少なくともいずれかを取得し、ステップS423において、取得したディスク対応の識別子をプレイリストの提供処理を行なうサーバに送信する。
なお、前述したようにサーバに対する送付情報は、どのコンテンツの格納されたディスクであるかをサーバに伝えることが可能であればよく、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSN、これらのいずれかのデータか、あるいはその他のディスクを識別可能なデータであればよい。
次のステップS424、ステップS425の処理はサーバ側の処理である。ステップS424においてサーバは情報処理装置から受信したディスク対応の識別子を用いて認証処理を実行し、例えば真正なディスクであるか否かの判定を行う。前述したように、この認証処理は、情報処理装置に装着されたディスクが真正なディスクであるか、あるいは情報処理装置がAACS規定コンテンツの再生を許容された装置であるかなど、サーバが自由に設定した認証条件に従って行われる。
この認証が失敗した場合は、プレイリストの送付を行うことなく処理を終了する。認証が成立した場合は、ステップS425に進み、サーバは情報処理装置から受信したディスク識別情報などに基づいて識別情報に対応するプレイリストをデータベースから取得して、情報処理装置に送信する。この場合、送信データは、
(a)プレイリストファイル(PlayList file)、
(b)バインドファイル(Binding file)、
これらの2つのデータであり、プレイリストファイル(PlayList file)は、ディスクに格納されたメインコンテンツ(Movie Title)が再生コンテンツとして含まれるプレイリストである。
ステップS426において、情報処理装置は、サーバからこれらのデータを受信してローカル記憶部に格納する。この処理により、ローカル記憶部にプレイリストファイル(PlayList file)、バインドファイル(Binding file)が記録される。これらのデータ記録後の状態において、ダウンロードしたプレイリストファイル(PlayList file)を再生プレイリストとして選択した再生を行うと、ディスクに記録されたメインコンテンツ(Movie Title)の再生が行われることになる。
[7.サーバにおけるユーザ管理処理]
クライアント(情報処理装置150)に対してコンテンツなどの提供を行うコンテンツ提供装置としてのサーバは、クライアント(情報処理装置150)からのコンテンツダウンロード要求を受領して、クライアントに対してコンテンツ、例えば映画などのメインコンテンツ、CMコンテンツ、アプリケーションプログラム、プレイリスト、利用制御情報などを提供する。この処理に際して、サーバはクライアント(情報処理装置150)からディスクに記録された識別情報などを受信する。以下では、サーバにおけるコンテンツ提供処理に際してクライアント(情報処理装置150)から受信するデータに基づいてユーザ管理を行う構成例について説明する。
図26は、ディスク100を装着した情報処理装置150が、サーバ191にアクセスしてコンテンツのダウンロード処理を行う処理を説明する図であり、ステップS501において、ダウンロード処理の実行プログラムとしてのアプリケーション(BD−J app#1)を起動して実行する。
ステップS502では、アプリケーション(BD−J app#1)の実行により、ディスク100に記録されたコンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの少なくともいずれかのディスク記録IDを取得し、これらの情報をサーバ191に送信する。本処理例では、コンテンツのダウンロード要求を行う際にサーバ191に送信するデータを、
(a)コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの少なくともいずれかのディスク記録ID、
(b)情報処理装置150の識別子(情報処理装置ID)、
(c)ユーザ識別子(ユーザID)、
(d)ユーザ情報、
上記(a)〜(d)の情報のいずれか、またはその組み合わせとする。どのようなデータを要求するかはサーバ191の管理者が任意に設定可能であり、その設定に従った処理を実行するアプリケーション(BD−J app#1)をディスク100に記録すればよい。
サーバ191は、情報処理装置150から上記(a)〜(d)の少なくともいずれかの情報を受領して、必要であれば認証処理を実行した後、コンテンツを情報処理装置150に送信する。情報処理装置150は、ステップS503において、サーバ191からの受信コンテンツをローカル記憶部155に格納する。
サーバ191は、このコンテンツダウンロード処理過程において情報処理装置から受信するデータ、例えば、上述した以下の(a)〜(d)のデータ、
(a)コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの少なくともいずれかのディスク記録ID、
(b)情報処理装置150の識別子(情報処理装置ID)、
(c)ユーザ識別子(ユーザID)、
(d)ユーザ情報、
これら(a)〜(d)の情報に基づいて、ユーザ管理を行う。
ユーザ管理の具体例について、図27を参照して説明する。図27には、サーバ191の保持する管理データベースのディレクトリ例を示している。サーバ191の管理データベースは、例えば図27に示すように、サーバ191の提供するサービス単位(サービスID)のディレクトリが設定されている。ただしこの例は一例であり、コンテンツ単位、ユーザ単位など、様々な設定が可能である。
図27に示す例は、サービスID#1のディレクトリに、このサービスを受領しているユーザ単位のディレクトリ(UserID#m〜#n)が設定され、各ユーザ単位の情報を記録する設定である。
例えば、ユーザm(UserID#m)の、ユーザ管理情報として、図に示すようなユーザmの購入ディスク情報が記録されている。図27の右側の表に示すように、インデックスに対応してディスクIDが記録されている。このディスクIDは、サーバ191に対するコンテンツダウンロード要求時に情報処理装置150から受領したデータである。すなわち、ユーザm(UserID#m)はこれらのディスクを保有していることが確認される。
情報処理装置150は、コンテンツのダウンロード要求時に、情報処理装置150に装着したディスクから取得したIDをサーバ191に送信する設定となっており、この際、サーバ191がユーザIDも併せて送信させる構成とすることで、図27に示すようなユーザ管理情報を生成、更新することが可能となる。
このように、サーバは、例えばユーザID毎にディスクの識別子を保持する構成として、ユーザのディスク購入枚数をカウントして、カウントに応じてユーザに配信するコンテンツを変更するなどの設定が可能となる。例えば一定数のディスク購入ユーザにはサービスコンテンツを提供するといった処理が可能となる。さらにダウンロード実行時にユーザの個人情報を送付させて、ユーザ個人情報をサーバ191で管理する設定とすれば、ユーザの個人情報に応じて配信コンテンツを変えるといった処理も可能となる。
コンテンツダウンロードの要求時にユーザの個人情報、例えば、住所、氏名、性別、年齢、趣味などの情報をユーザに入力させて送信させる設定や、情報処理装置の識別情報を送信させる設定とすれば、サーバ191は、さらに詳細な情報を受信し管理することが可能であり、例えば図28に示すようなユーザ個人情報や装置情報を含むユーザ管理情報を生成、更新することが可能となる。図28に示すデータは、特定のコンテンツを格納したディスクを購入したユーザ情報をまとめた管理データである。なお、ユーザ情報や装置IDなどは、例えば最初のコンテンツダウンロード処理時に一度のみ送信する設定でもよい。
このように、サーバは、例えばユーザIDや情報処理装置ID毎にディスクの識別子を保持する構成として、ユーザのディスク購入枚数、あるいは情報処理装置単位の利用ディスク数などをカウントして、カウントに応じてユーザに配信するコンテンツを変更するなどの設定が可能となる。例えば一定数のディスク購入ユーザにはサービスコンテンツを提供するといった処理が可能である。さらにユーザの個人情報に応じて配信コンテンツを変えるといった処理も可能となる。
サーバ191は、このように利用ディスク情報に併せてユーザや装置に関する情報を取得することで、ユーザの興味のある分野などを解析することが可能となり、例えば、ユーザに対するメッセージの送信やコマーシャルデータの選択提供などに利用することができる。
次に、図29、図30を参照して、ユーザが実際にディスク格納コンテンツを再生したことをサーバに通知し、サーバがこれらの通知情報を解析して、ユーザに提供するコンテンツを選択する処理例について説明する。
図29に示すディスク100には、
(a1)コマーシャルコンテンツ(CM#1)、
(a2)メインコンテンツ#1(Movie Title#1)、
(a3)アプリケーションプログラム(BD−J#1)、
これらのコンテンツセットと、
(b1)コマーシャルコンテンツ(CM#2)、
(b2)メインコンテンツ#2(Movie Title#2)、
(b3)アプリケーションプログラム(BD−J#2)、
これらのコンテンツセットが記録されている。なお、ディスク100には、図示しないがこれらのコンテンツの再生に利用するプレイリストが格納されている。
例えばプレイリスト#1は、
(a1)コマーシャルコンテンツ(CM#1)、
(a2)メインコンテンツ#1(Movie Title#1)、
(a3)アプリケーションプログラム(BD−J#1)、
これらのコンテンツを(a1),(a2),(a3)の順番で再生する設定を有し、プレイリスト#2は、
(b1)コマーシャルコンテンツ(CM#2)、
(b2)メインコンテンツ#2(Movie Title#2)、
(b3)アプリケーションプログラム(BD−J#2)、
これらのコンテンツを(b1),(b2),(b3)の順番で再生する設定を有している。
ここで、
(a3)アプリケーションプログラム(BD−J#1)は、
情報処理装置150のデータ処理部において実行され、情報処理装置において、
(a1)コマーシャルコンテンツ(CM#1)、
(a2)メインコンテンツ#1(Movie Title#1)、
これらのコンテンツの再生が実行されたことをサーバ191に通知する処理を実行させるプログラムである。なお、この通知処理に際しては、ディスクに対応して設定されたID、例えば、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの少なくともいずれかのディスク記録IDもサーバ191に通知する。
同様に、
(b3)アプリケーションプログラム(BD−J#2)、
このプログラムは、情報処理装置150のデータ処理部において実行され、情報処理装置において
(b1)コマーシャルコンテンツ(CM#2)、
(b2)メインコンテンツ#2(Movie Title#2)、
これらのコンテンツの再生が実行されたことをサーバ191に通知する処理を実行させるプログラムとして設定されている。
このような再生情報の通知構成により、サーバ191は情報処理装置150において実際に再生されたコンテンツを確認することができる。このような再生情報を利用した処理例について図30を参照して説明する。
図30は、ユーザの利用する情報処理装置150において再生されたコンテンツをサーバ191が確認し、再生コンテンツ情報に基づいてユーザの嗜好を判断して、サーバ191からユーザに提供するコマーシャルコンテンツを決定して提供する処理例を示す図である。
図30に示すディスク100には、
(a1)メインコンテンツ#1(Movie Title#1)、
(a2)アプリケーションプログラム(BD−J#1)、
これらのコンテンツセットと、
(b1)メインコンテンツ#2(Movie Title#2)、
(b2)アプリケーションプログラム(BD−J#2)、
これらのコンテンツセットと、
図示しないプレイリストが格納されている。
プレイリスト#1は、
(a1)メインコンテンツ#1(Movie Title#1)、
(a2)アプリケーションプログラム(BD−J#1)、
これらのコンテンツを(a1),(a2)の順番で再生する設定を有し、プレイリスト#2は、
(b1)メインコンテンツ#2(Movie Title#2)、
(b2)アプリケーションプログラム(BD−J#2)、
これらのコンテンツを(b1),(b2)の順番で再生する設定を有している。
ここで、
(a2)アプリケーションプログラム(BD−J#1)は、
(a1)メインコンテンツ#1(Movie Title#1)の再生が実行されたこと、
(b2)アプリケーションプログラム(BD−J#2)は、
(b1)メインコンテンツ#2(Movie Title#2)の再生が実行されたことをサーバ191に通知する処理を実行させるプログラムが含まれている。
まず、情報処理装置150を利用するユーザが、ステップS541において、
(a1)メインコンテンツ#1(Movie Title#1)、
(a2)アプリケーションプログラム(BD−J#1)、
(b1)メインコンテンツ#2(Movie Title#2)、
(b2)アプリケーションプログラム(BD−J#2)、
これらのコンテンツを対応するプレイリストを利用して再生すると、ステップS542において、各アプリケーションプログラムの実行により、再生の事実がサーバ191に通知される。この通知処理に際しては、ディスクに対応して設定されたID、例えば、コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの情報や、サーバ191が要求する情報、例えば情報処理装置150の識別情報、ユーザID、ユーザ情報などが通知される。なお、これらの設定は、
(a2)アプリケーションプログラム(BD−J#1)、
(b2)アプリケーションプログラム(BD−J#2)、
のプログラム設定により自在に変更可能である。
サーバは、これらの情報を受信して、ユーザ嗜好情報管理データベース631に記録する。このデータベースは、例えば、図27、図28を参照して説明したユーザ管理情報を記録したデータベースである。
次に、ステップS543において、情報処理装置150の利用ユーザは、ダウンロード処理の実行プログラムとしてのアプリケーション(BD−J app#1)を起動して実行する。ステップS544では、アプリケーション(BD−J app#1)の実行により、予めプログラムに設定された送信要求データ、例えば、
(a)コンテンツID、ボリュームID、メディアIDに相当するシリアルナンバーであるPMSNなどの少なくともいずれかのディスク記録ID、
(b)情報処理装置150の識別子(情報処理装置ID)、
(c)ユーザ識別子(ユーザID)、
(d)ユーザ情報、
上記(a)〜(d)の情報のいずれか、またはその組み合わせデータをサーバ191に送信する。
サーバ191は、情報処理装置150からのコンテンツダウンロード要求を受信すると、受信データに含まれる各種の識別情報に基づいてユーザ嗜好情報管理データベース631の記録情報の検索を実行し、ダウンロード要求を行ったユーザから以前に受信したデータを確認してユーザの嗜好を判定する。サーバ191では、判定されたユーザ嗜好に適応したコマーシャルコンテンツであるCMコンテンツ(CM#1)641を選択し、これをダウンロードコンテンツとして選定して情報処理装置150に提供する。なお、バインドファイル(Binding file)642、さらに必要に応じてプレイリストも併せて送信する。情報処理装置150は、ステップS545においてこれらの受信コンテンツをローカル記憶部155に格納する。
このような処理によって、サーバは、ユーザの嗜好を解析し、ユーザの嗜好に応じたコマーシャルコンテンツなどのコンテンツ提供を行うことができる。例えば、具体的には、ユーザの視聴コンテンツが車に関連する映画コンテンツであった場合は、車関連のコマーシャルを提供し、ユーザの視聴コンテンツが韓国の映画コンテンツであった場合は、韓国旅行や韓国製品のコマーシャルを提供するなどである。
なお、上記処理例では、ユーザの嗜好を判定してユーザ嗜好に適応したコマーシャルコンテンツを提供する構成例を説明したが、提供コンテンツは、コマーシャルに限らない。例えばユーザ嗜好に応じた映画コンテンツなどのメインコンテンツを選択してユーザに推薦する処理を行う構成としてもよく、あるいはユーザの興味にあったゲームプログラムのコンテンツなどを提供する処理を行う構成としてもよい。
このように、クライアントに対してコンテンツを提供するコンテンツ提供装置としてのサーバは、クライアント(情報処理装置150)からのコンテンツ要求に応じてコンテンツ提供処理を実行するデータ処理部を有し、データ処理部は、クライアントの装着ディスクに記録されたディスクまたはコンテンツを識別するディスク記録識別子と、クライアント側装置の装置識別子またはクライアント側ユーザのユーザ識別子の少なくともいずれかの識別情報をクライアントから受信し、クライアントから受信したディスク記録識別子の履歴情報を装置単位、またはユーザ単位で管理データベースに蓄積し、該管理データベースの蓄積情報に基づいて、クライアント側ユーザの嗜好を解析してユーザ嗜好に適応したコンテンツの提供を行う。また、クライアントから個人情報を受信して、個人情報を管理データベースに蓄積し、個人情報を利用して提供コンテンツの選択を実行する構成としてもよい。
なお、サーバ191のデータ処理部は、コンテンツに併せて前述のバインドファイル(Binding file)をクライアントに提供する。すなわち、サーバ191のデータ処理部は、クライアント(情報処理装置150)の装着ディスクに記録されたディスク記録コンテンツと、コンテンツ提供装置がクライアントに提供しクライアントのローカル記憶部に格納されるローカル記憶部格納コンテンツのマッピング情報を含むバインドファイル(Binding file)をクライアントに提供する。マッピング情報は、前述したようにクライアントにおけるコンテンツ再生に際して、プレイリストに記録されたディスク記録コンテンツ情報に基づいて、ローカル記憶部格納コンテンツを再生コンテンツとして取得して再生させるための情報を有する。
例えばサーバ191は、ユーザ嗜好に適応したコマーシャルコンテンツと、このコマーシャルコンテンツをクライアント(情報処理装置150)側のディスクに記録されたディスク記録コマーシャルコンテンツの代わりに再生させるためのマッピング情報をクライアントに提供する処理を行う。
[8.ディスク格納コンテンツおよびダウンロードコンテンツの作成および管理処理]
次に、図31〜図33を参照して、ディスク格納コンテンツおよびダウンロード用コンテツの生成、管理、クライアント(情報処理装置150)に対するコンテンツ提供処理の詳細について説明する。これらの処理構成はコンテンツの種類に応じて異なる処理となる。以下、図31〜図33を参照して、以下の各コンテンツ種類に対応する処理例について説明する。
(1)ダウンロードコンテンツが暗号化コンテンツの場合(図31)
(2)ダウンロードコンテンツが非暗号化コンテンツの場合(図32)
(3)ダウンロードコンテンツがプログラムコンテンツの場合(図33)
(1)ダウンロードコンテンツが暗号化コンテンツの場合
まず、図31を参照してダウンロードコンテンツが暗号化コンテンツの場合の処理例について説明する。
図31には、
(a)コンテンツ編集処理を実行するコンテンツ編集ファシリティ710、
(b)ディスク製造を行うディスク製造部であるディスク製造ファシリティ720、
(c)クライアント(情報処理装置150)に対するコンテンツ提供処理を実行するサーバ730、
これらの構成、および処理を示している。なお、サーバ730は、上述した説明においてコンテンツやバインドファイルの提供処理を実行するサーバ191に相当する。
まず、コンテンツ編集ファシリティ710が、コンテンツの編集処理を行い、ディスク格納用のメインコンテンツ711と、ダウンロード用のサブコンテンツ712を生成する。なお、これらのコンテンツには、前述したコンテンツ再生に適用するプレイリストや、バインドファイルも含まれている。生成したコンテンツは、ディスク製造ファシリティ720に提供される。なお、この提供処理の際にコンテンツIDなどのコンテンツ属性情報713を合わせて提供する。
ディスク製造ファシリティ720は、コンテンツ編集ファシリティ710が生成したディスク格納用のメインコンテンツ711と、ダウンロード用のサブコンテンツ712を受領すると、ステップS801において、これらのコンテンツの暗号化処理を実行する。暗号化処理に適用する鍵は、先に説明したCPSユニット鍵721である。なお、プレイリストや、バインドファイル、その他のデータに関しては暗号化対象とする場合としない場合とがある。
CPUユニット鍵721を適用した暗号化処理により、ディスクに記録する暗号化メインコンテンツ722と、ダウンロード用の暗号化サブコンテンツ723を生成する。なお、1つのコンテンツが複数のユニットに区分されている場合は、ユニット単位で異なるCPSユニット鍵を適用して暗号化処理を行う。メインコンテンツとサブコンテンツについてもそれぞれ異なるCPSユニット鍵を適用した暗号化を施す設定としてもよい。
暗号化メインコンテンツ722は、スタンパに記録される。スタンパはディスク製造用の原盤である。図に示す例では、2つの原盤:スタンパ1,725と、スタンパ2,726を生成した例を示している。各スタンパ単位で識別子、すなわちボリュームIDが設定される。
スタンパ1,725に対してボリュームID#1、
スタンパ2,726に対してボリュームID#2、
がそれぞれ設定される。
これらのスタンパを利用してユーザに提供するディスクが製造される。
スタンパ1,725に基づいてディスクセット#1,727が生成され、
スタンパ2,726に基づいてディスクセット#2,728が生成され、
これらのディスクがユーザに提供される。なお、これらのディスクにはいずれも同じメインコンテンツが記録されている。ただし、それぞれボリュームIDが異なるディスクとなる。
なお、図には示していないが、先に図1を参照して説明したように、ディスクにはコンテンツの他にも、CPSユニット鍵ファイル、MKB、利用制御情報(Usage Rule)などの様々なデータが記録される。
ディスク製造ファシリティ720は、さらに、ステップS802において、コンテンツの暗号化処理に適用したCPSユニット鍵721の暗号化処理を実行してCPSユニット鍵ファイルを生成する。CPSユニット鍵は、各スタンパに対応する識別情報としてのボリュームIDもしくはボリュームIDから導かれる値を用いて暗号化される。
ディスク製造ファシリティ720は、
(a)CPSユニット鍵を適用して暗号化した暗号化サブコンテンツ723、
(b)スタンパ1,725と、スタンパ2,726の識別情報としてのボリュームID#1、ボリュームID#2、
(c)ボリュームID#1、ボリュームID#2を用いてCPSユニット鍵を暗号化して生成したCPSユニット鍵ファイル#1、CPSユニット鍵ファイル#2、
これらの各データを、ダウンロードコンテンツのユーザに対する提供処理を実行するサーバ730に提供する。
サーバ730は、ディスク製造ファシリティ720から受領したデータ、
ボリュームID#1,733、
ボリュームID#2,734、
CPSユニット鍵ファイル#1,735、
CPSユニット鍵ファイル#2,736、
暗号化サブコンテンツ737、
これらのデータを保持し、さらに、
コンテンツダウンロード処理において利用されるアプリケーションプログラムとしての
BD−Jアプリ#2,731、
BD−Jアプリ#3,732、
これらのプログラムを有している。
なお、先に説明したように、BD−Jアプリ#2,731、BD−Jアプリ#3,732は、例えば、それぞれ以下の処理を実行するアプリケーションプログラムである。
BD−Jアプリ#2
(a)ユーザに商品(ダウンロードデータ)を選ばせる処理
(b)ユーザの選択した商品をサーバに伝える処理
(c)課金処理(オプション)
これらの処理を実行する。
BD−Jアプリ#3
ダウンロードデータのローカル記憶部に対する記録時に実行され、以下の処理を実行する。
(a)ディスク格納コンテンツとローカル記憶部格納コンテンツを、仮想的な1つのメディア格納コンテンツとして設定するバーチャルファイルシステム(VFS)で使用できる状態に設定し、AV関連ファイル(再生対象コンテンツ)をローカル記憶部に記録する処理、
(b)VFSで使用できる状態にしてAACS関連ファイル(管理情報)をローカル記憶部に記録する処理、
これらの処理を実行するためのアプリケーションプログラムである。
サーバ730は、図示しないユーザの情報処理装置からのコンテンツダウンロード要求を受信すると、ダウンロードコンテンツの提供処理を実行する。この処理は、先に図7他を参照して説明した処理に相当する。すなわち、サーバ730は、ステップS821において、情報処理装置からのダウンロード要求データに含まれるコンテンツIDやユーザIDに基づいて、ユーザ(情報処理装置)に対して許容する処理のリストである許容処理リストを生成し、コンテンツ管理アプリケーション(BD−Jアプリ2)731を選択して情報処理装置に提供する。情報処理装置は、サーバ730から受信したコンテンツ管理アプリケーション(BD−Jアプリ2)731を適用した処理により、許容処理リストを情報処理装置の表示部に表示して、ユーザがダウンロードコンテンツの選択を行ない、選択情報のサーバに対する送信、さらに、必要であれば、決済処理を実行する。情報処理装置の表示部に決済画面を表示し、ユーザは、決済画面に例えばクレジットカード番号等の決済に必要なデータを入力して送信する。一連の処理の終了後、ステップS822において、サーバ730は、ダウンロード処理を許可して、ダウンロードするコンテンツ等のデータを選択して選択情報を情報処理装置に送信する。
なお、ダウンロード要求をサーバ730に対して行った情報処理装置は、サーバに対して装着ディスクから取得したボリュームIDを送信してくるので、サーバ730は、受信したボリュームIDに基づいてCPSユニット鍵ファイルを選択して情報処理装置に提供する。すなわち、同じタイトルのコンテンツが格納されたディスクでもボリュームIDが異なれば、適用するCPSユニット鍵ファイルが異なるので、CPSユニット鍵ファイルを配信する際には、ボリュームIDに従った選択を行う。
なお、サーバ730は、ディスク製造部であるディスク製造ファシリティ720の製造したディスクを装着したクライアント(情報処理装置150)から、ディスクまたはディスク記録コンテンツを識別する識別子を受信して、
(a)サーバ配信コンテンツ、
(b)ディスク記録コンテンツとサーバ配信コンテンツとのマッピング情報を持つバインドファイル(Binding file)、
これらの(a),(b)の各データをクライアント(情報処理装置150)に送信し、クライアントは、再生コンテンツ情報としてディスク記録コンテンツ情報を記録したプレイリストを利用したコンテンツ再生に際して、先に説明したマッピング情報を利用したコンテンツ取得処理により、プレイリストの指定するディスク記録コンテンツに替えてまたは追加してサーバ配信コンテンツを再生するといった処理が可能となる。
また、図31に示す例では、ディスク製造部であるディスク製造ファシリティ720は、暗号鍵(CPSユニット鍵721)を利用してディスク格納コンテンツを暗号化して、複数のディスクからなるディスクセット対応の識別子であるボリュームIDとともにディスクに記録する処理を行い、さらに、暗号鍵(CPSユニット鍵721)をボリュームIDもしくはボリュームIDから導かれる値によって暗号化したデータを含む鍵ファイル(CPSユニット鍵ファィル)をサーバ730に提供する構成であり、サーバ730は、クライアント(情報処理装置150)から受信するディスク記録識別子に基づいて、クライアントに装着されたディスクに対応するボリュームIDを判別し、判別ボリュームIDと同一のボリュームIDもしくはボリュームIDから導かれる値によって暗号化したデータを含む鍵ファイル(CPSユニット鍵ファィル)を選択してクライアントに提供する処理を行う。
(2)ダウンロードコンテンツが非暗号化コンテンツの場合
次に、図32を参照してダウンロードコンテンツが非暗号化コンテンツの場合の処理例について説明する。例えばコマーシャルコンテンツなどは非暗号化コンテンツとしてダウンロードされる場合が多く、図32に示す例は、コンテンツ編集エンティテイ710がディスク格納コンテンツ、およびサブコンテンツをコマーシャルコンテンツなどの非暗号化コンテンツとした例である。
図32も図31と同様、
(a)コンテンツ編集処理を実行するコンテンツ編集ファシリティ710、
(b)ディスク製造を行うディスク製造ファシリティ720、
(c)コンテンツダウンロード処理を実行するサーバ730、
これらの構成、および処理を示している。
まず、コンテンツ編集ファシリティ710が、コンテンツの編集処理を行い、ディスク格納用のコンテンツ714と、ダウンロード用のサブコンテンツ715を生成する。なお、これらのコンテンツには、前述したコンテンツ再生に適用するプレイリストや、バインドファイルも含まれている。生成したコンテンツは、ディスク製造ファシリティ720に提供される。なお、この提供処理の際にコンテンツIDなどのコンテンツ属性情報716を合わせて提供する。
ディスク製造ファシリティ720は、コンテンツ編集ファシリティ710が生成したディスク格納用のコンテンツである非暗号化コンテンツ741をスタンパに記録する。
スタンパ1,725に対してボリュームID#1、
スタンパ2,726に対してボリュームID#2、
この後のディスク製造処理は、図31を参照して説明した処理と同様であるので省略する。
ディスク製造ファシリティ720は、
(a)非暗号化サブコンテンツ742、
を、ダウンロードコンテンツのユーザに対する提供処理を実行するサーバ730に提供する。
サーバ730は、ディスク製造ファシリティ720から受領したデータ、
非暗号化サブコンテンツ751を保持し、さらに、
コンテンツダウンロード処理において利用されるアプリケーションプログラムとしての
BD−Jアプリ#2,731、
BD−Jアプリ#3,732、
これらのプログラムを有している。
サーバ730は、図示しないユーザの情報処理装置からのコンテンツダウンロード要求を受信すると、ダウンロードコンテンツの提供処理を実行する。この処理は、図31を参照して説明した処理と基本的に同様の処理となる。ただし、ダウンロードコンテンツは非暗号化コンテンツ751であるのでCPSユニット鍵ファイルの提供処理は不要となる。
図32に示す例は、ディスク製造部としてのディスク製造ファシリティ720は、非暗号化コンテンツをディスク格納コンテンツとしてディスクに記録し、サーバ730は、ディスク格納コンテンツとして含まれる非暗号化コンテンツの代わりに再生する代替非暗号化コンテンツとしてのサーバ配信コンテンツをクライアント(情報処理装置150)に提供する処理を実行する場合の処理例である。例えば、ディスクに記録する非暗号化コンテンツはコマーシャルコンテンツであり、サーバ730が、クライアントに提供する非暗号化コンテンツは、ディスクに記録されたコマーシャルコンテンツに替えて再生させる第2のコマーシャルコンテンツである。
(3)ダウンロードコンテンツがプログラムコンテンツの場合
次に、図33を参照してダウンロードコンテンツがプログラムコンテンツの場合の処理例について説明する。例えば、コンテンツの再生処理を実行するアプリケーションプログラム(BD−J アプリ)などを、サーバを介してユーザノ時用法処理装置に対して提供することができる。例えばディスクに格納するコンテンツが特殊な再生シーケンスで再生することが必要である場合などにおいて、そのディスク格納コンテンツの再生のための専用のプログラムが必要となる場合がある。このような再生に適用するアプリケーションプログラム(BD−J アプリ)もコンテンツの1つとしてコンテンツ編集ファシリティ710において生成される。
図33も図31、図32と同様、
(a)コンテンツ編集処理を実行するコンテンツ編集ファシリティ710、
(b)ディスク製造を行うディスク製造ファシリティ720、
(c)コンテンツダウンロード処理を実行するサーバ730、
これらの構成、および処理を示している。
まず、コンテンツ編集ファシリティ710が、コンテンツの編集処理を行い、ディスク格納用のメインコンテンツ717と、ダウンロード用のサブコンテンツ718を生成する。ダウンロード用のサブコンテンツ718は、ディスク格納用のメインコンテンツ717の再生処理に適用するプログラムコンテンツである。生成したコンテンツは、ディスク製造ファシリティ720に提供される。なお、この提供処理の際にコンテンツIDなどのコンテンツ属性情報719を合わせて提供する。
ディスク製造ファシリティ720は、コンテンツ編集ファシリティ710が生成したディスク格納用のコンテンツである非暗号化コンテンツ743をスタンパに記録する。
スタンパ1,725に対してボリュームID#1、
スタンパ2,726に対してボリュームID#2、
この後のディスク製造処理は、図31を参照して説明した処理と同様であるので省略する。
コンテンツ編集ファシリティ710は、ディスク格納用のメインコンテンツ717の再生処理に適用するプログラムコンテンツであるダウンロード用のサブコンテンツ718を直接、ダウンロードコンテンツのユーザに対する提供処理を実行するサーバ730に提供する。
ディスク製造ファシリティ720は、特にサブコンテンツに対する処理を実行しないので、コンテンツ編集ファシリティ710は、ディスク製造ファシリティ720を介することなく、サブコンテンツ718をサーバ730に提供する。ただし、ディスク製造ファシリティ720を介してサーバ730に提供する構成としてもよい。
サーバ730は、コンテンツ編集ファシリティ710から受領したデータ、
サブコンテンツ771を保持し、さらに、
コンテンツダウンロード処理において利用されるアプリケーションプログラムとしての
BD−Jアプリ#2,731、
BD−Jアプリ#3,732、
これらのプログラムを有している。
サーバ730は、図示しないクライアント(情報処理装置150)からのコンテンツダウンロード要求を受信すると、ダウンロードコンテンツの提供処理を実行する。この処理は、図31を参照して説明した処理と基本的に同様の処理となる。ただし、ダウンロードコンテンツは非暗号化コンテンツであるのでCPSユニット鍵ファイルの提供処理は不要となる。サーバ730は、ディスク格納コンテンツの再生処理に適用するプログラムコンテンツをサーバ配信コンテンツとしてクライアント(情報処理装置150)に提供する。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。