以下に本発明の実施の形態を説明するが、本明細書に記載した発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が明細書に記載されていることを確認するためのものである。従って、明細書には記載されているが、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
さらに、この記載は、明細書に記載されている発明が、全て請求されていることを意味するものではない。換言すれば、この記載は、明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出願、または追加される発明の存在を否定するものではない。
本発明によりコンテンツ配信システムが提供される。このコンテンツ配信システムは、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)にコンテンツ(例えば、番組)を配信するコンテンツ配信システム(例えば、図1のコンテンツ配信システム11)において、前記コンテンツ処理装置は、ユーザが指定するコンテンツのダウンロードに必要な情報が記述される制御ファイル(例えば、図28のダウンロード制御ファイル)を、前記ネットワークを介して前記コンテンツ配信装置から取得し(例えば、図24のステップS1001の処理により取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたコンテンツサイズ)に基づいて、前記コンテンツ処理装置への前記コンテンツのダウンロード可否を表す情報を取得し(例えば、図24のステップS1103で図23のコンテンツ記憶部27の空き容量を取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたコンテンツID)に基づいて、前記コンテンツ配信装置から前記コンテンツのライセンスを特定する情報(例えば、ライセンスID)を取得し(例えば、図24のステップS1203の処理でライセンスIDを取得し)、前記ライセンスを特定する情報に基づいて、前記コンテンツ配信装置から前記コンテンツのライセンスを取得し(例えば、図24のステップS1452の処理でライセンスを取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたファイルの格納場所の情報)に基づいて、前記コンテンツ配信装置から前記コンテンツを構成するファイル(例えば、図28のFile1,File2,File3,・・・)をダウンロードする(例えば、図24のステップS1110またはS1303の処理でコンテンツを構成するファイルをダウンロードする)。
このコンテンツ配信システムは、前記コンテンツ処理装置が、ダウンロードするコンテンツの指定を、前記ユーザから受け付ける受付手段(例えば、図23のブラウザ23)と、前記コンテンツのダウンロードに関する処理を実行するエージェント(例えば、図23のダウンロードエージェント28−1またはDRMエージェント28−2)とを備え、前記コンテンツのダウンロード可否を表す情報の取得(例えば、図24のステップS1103)、前記コンテンツのライセンスを特定する情報の取得(例えば、図24のステップS1105)、前記コンテンツのライセンスの取得(例えば、図24のステップS1203)、または前記コンテンツを構成するファイル(例えば、図28のFile1,File2,File3,・・・)のダウンロード(例えば、図24のステップS1110またはS1303)は、前記エージェントにより実行される。
本発明によりコンテンツ配信方法が提供される。このコンテンツ配信方法は、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)にコンテンツ(例えば、番組)を配信するコンテンツ配信システム(例えば、図1のコンテンツ配信システム11)のコンテンツ配信方法において、前記コンテンツ処理装置は、ユーザが指定するコンテンツのダウンロードに必要な情報が記述される制御ファイル(例えば、図28のダウンロード制御ファイル)を、前記ネットワークを介して前記コンテンツ配信装置から取得し(例えば、図24のステップS1001の処理により取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたコンテンツサイズ)に基づいて、前記コンテンツ処理装置への前記コンテンツのダウンロード可否を表す情報を取得し(例えば、図24のステップS1103で図23のコンテンツ記憶部27の空き容量を取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたコンテンツID)に基づいて、前記コンテンツ配信装置から前記コンテンツのライセンスを特定する情報(例えば、ライセンスID)を取得し(例えば、図24のステップS1105の処理でライセンスIDを取得し)、前記ライセンスを特定する情報に基づいて、前記コンテンツ配信装置から前記コンテンツのライセンスを取得し(例えば、図24のステップS1203の処理でライセンスを取得し)、前記制御ファイルに記述された情報(例えば、図28のダウンロード制御ファイルに記述されたファイルの格納場所の情報)に基づいて、前記コンテンツ配信装置から前記コンテンツを構成するファイル(例えば、図28のFile1,File2,File3,・・・)をダウンロードする(例えば、図24のステップS1110またはS1303の処理でコンテンツを構成するファイルをダウンロードする)。
本発明によりコンテンツ処理装置が提供される。このコンテンツ処理装置は、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ(例えば、番組)の配信を受けるコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)において、複数のコンテンツのリスト(例えば、図18のパッケージ内タイトル一覧)を提示する提示手段(例えば、図30のステップS2001またはS2004の処理を実行する図23のコンテンツ再生部24)と、前記リストのコンテンツのうち、再生するコンテンツを指定する情報を入力する入力手段(例えば、図30のステップS2005の処理を実行する図23の入力部21)と、前記入力手段により再生が指定されたコンテンツが、前記コンテンツ処理装置に記憶されているか否かを判定する判定手段(例えば、図30のステップS2007の処理を実行する図23のコンテンツ再生部24)と、前記判定手段により前記コンテンツが前記コンテンツ処理装置に記憶されていると判定された場合、予め記憶されているライセンスを用いて前記コンテンツを再生する再生手段(例えば、図30のステップS2008の処理を実行する図23のコンテンツ再生部24)と、前記判定手段により前記コンテンツが前記コンテンツ処理装置に記憶されていないと判定された場合、前記コンテンツを構成するファイルを前記コンテンツ配信装置から取得する取得手段(例えば、図30のステップS2009の処理を実行する図23のダウンロードエージェント28−1またはDRMエージェント28−2)とを備える。
このコンテンツ処理装置は、前記取得手段が、前記コンテンツ配信装置から提供されたコンテンツのダウンロードに必要な情報が記述される制御ファイル(例えば、図28のダウンロード制御ファイル)に基づいて、前記コンテンツを構成するファイルを取得する。
本発明によりコンテンツ処理方法が提供される。このコンテンツ処理方法は、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ(例えば、番組)の配信を受けるコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)のコンテンツ処理方法において、複数のコンテンツのリスト(例えば、図18のパッケージ内タイトル一覧)を提示する提示ステップ(例えば、図30のステップS2001またはS2004)と、前記リストのコンテンツのうち、再生するコンテンツを指定する情報を入力する入力ステップ(例えば、図30のステップS2005)と、前記入力ステップの処理により再生が指定されたコンテンツが、前記コンテンツ処理装置に記憶されているか否かを判定する判定ステップ(例えば、図30のステップS2007)と、前記判定ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていると判定された場合、予め記憶されているライセンスを用いて前記コンテンツを再生する再生ステップ(例えば、図30のステップS2008)と、前記判定ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていないと判定された場合、前記コンテンツを構成するファイルを前記コンテンツ配信装置から取得する取得ステップ(例えば、図30のステップS2009の処理)とを含む。
本発明によりプログラムが提供される。このプログラムは、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ(例えば、番組)の配信を受けるコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)のプログラムであって、複数のコンテンツのリスト(例えば、図18のパッケージ内タイトル一覧)の提示を制御するする提示制御ステップ(例えば、図30のステップS2001またはS2004)と、前記リストのコンテンツのうち、再生するコンテンツを指定する情報の入力を制御する入力制御ステップ(例えば、図30のステップS2005)と、前記入力制御ステップの処理により再生が指定されたコンテンツが、前記コンテンツ処理装置に記憶されているか否かの判定を制御する判定制御ステップ(例えば、図30のステップS2007)と、前記判定制御ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていると判定された場合、予め記憶されているライセンスを用いて前記コンテンツの再生を制御する再生制御ステップ(例えば、図30のステップS2008)と、前記判定制御ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていないと判定された場合、前記コンテンツを構成するファイルを前記コンテンツ配信装置から取得するように制御する取得制御ステップ(例えば、図30のステップS2009)とをコンピュータに実行させる。
本発明により記録媒体が提供される。この記録媒体は、ネットワーク(例えば、図1のインターネット1)を介してコンテンツ配信装置(例えば、図1のサーバ2)からコンテンツ(例えば、番組)の配信を受けるコンテンツ処理装置(例えば、図1のディジタルテレビジョン受像機3−1)のプログラムが記録されている記録媒体であって、複数のコンテンツのリスト(例えば、図18のパッケージ内タイトル一覧)の提示を制御するする提示制御ステップ(例えば、図30のステップS2001またはS2004)と、前記リストのコンテンツのうち、再生するコンテンツを指定する情報の入力を制御する入力制御ステップ(例えば、図30のステップS2005)と、前記入力制御ステップの処理により再生が指定されたコンテンツが、前記コンテンツ処理装置に記憶されているか否かの判定を制御する判定制御ステップ(例えば、図30のステップS2007)と、前記判定制御ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていると判定された場合、予め記憶されているライセンスを用いて前記コンテンツの再生を制御する再生制御ステップ(例えば、図30のステップS2008)と、前記判定制御ステップの処理により前記コンテンツが前記コンテンツ処理装置に記憶されていないと判定された場合、前記コンテンツを構成するファイルを前記コンテンツ配信装置から取得するように制御する取得制御ステップ(例えば、図30のステップS2009)とをコンピュータに実行させるプログラムが記録される。
以下、図面を参照して、本発明の実施の形態について説明する。図1は、本発明を適用したコンテンツ配信システムの構成例を表している。このコンテンツ配信システム11は、代表的なネットワークとしてのインターネット1を介して相互に接続されたサーバ2とディジタルテレビジョン受像機3−1,3−2とにより構成される。インターネット1には、また、放送局4も接続されている。サーバ2は、放送局4が放送した番組を受信し、保持する。あるいはまた、サーバ2は、放送局4からインターネット1を介して、番組の提供を受け、これを保持する。もちろん、サーバ2は、この他、独自の番組を保持することもできる。
ディジタルテレビジョン受像機3−1,3−2は、例えば、家庭、職場等に配置されており、放送局4が放送する電波を受信し、番組を視聴する機能を有している他、インターネット1を介して、サーバ2が提供する番組を受信し、視聴する機能も有している。
なお、図1には、1台のサーバ2と、2台のディジタルテレビジョン受像機3−1,3−2のみが示されているが、サーバ2は、複数台であってもよいし、ディジタルテレビジョン受像機3−1,3−2は、一般的には、より多くの台数とされる。
なお、以下においては、ディジタルテレビジョン受像機3−1,3−2を個々に区別する必要がない場合、単に、ディジタルテレビジョン受像機3と称する。
図2は、ディジタルテレビジョン受像機3の機能的構成例を表している。入力部21は、ユーザからの各種の指令を入力する。呈示部22は、番組を構成する画像を表示したり、対応する音声を出力する。呈示部22は、また、その他の各種の情報をユーザに呈示する。
ブラウザ23は、HTML(Hyper Text Markup Language)文書(CSS(Cascading Style Sheets)を含む)の呈示と、HTMLに含まれるスクリプトの実行を行う。また、ブラウザ23は、同様に、BML(Broadcast Markup Language)文書(CSSを含む)の呈示と、BMLに含まれるスクリプトの実行を行う。この他、コンテントガード社のXrML(eXtensible rights Markup Language)に対応することもできる。
コンテンツ再生部24は、例えば、マイクロソフト社のメディアプレーヤ(商標)に代表されるソフトウェアにより構成され、コンテンツの受信から再生までを制御し、実行する。コンテンツ再生部24は、また、マークアップ言語処理以外のディジタルテレビジョン受像機3に組み込まれている各種の制御も実行する。
DRM(Digital Right Management)処理部25は、サーバ2を構成するDRMサーバ74(後述する図4)と通信し、コンテンツに関するライセンスを取得し、ディジタルテレビジョン受像機3内において、これを管理する。なお、DRM処理部25は、暗号化されているデータを復号するキーKcをコンテンツ再生部24に供給するので、キーKcをセキュアに管理するためには、例えば、コンテンツ再生部24と一体化される。
課金処理部26は、電子マネー、プリペイドなどの方式に基づいて、課金処理を行う。コンテンツ記憶部27は、例えば、ハードディスクなどで構成され、サーバ2のコンテンツサーバ75(図4)から提供されるコンテンツを記憶する。
アプリケーション28は、各種のソフトウェアにより構成され、ディジタルテレビジョン受像機3の各種の動作を制御する。メタデータデータベース29は、サーバ2のメタデータデータベース73(図4)から供給されるメタデータを保持する。
入力部21は、ユーザからの入力に対応する信号をブラウザ23とコンテンツ再生部24に出力する。呈示部22は、ブラウザ23またはコンテンツ再生部24から提供される情報を提示する。コンテンツ再生部24は、コンテンツ記憶部27から必要なコンテンツを読み出す。コンテンツ再生部24は、また、必要に応じて課金処理部26に課金処理を指示する。DRM処理部25は、コンテンツ再生部24からのDRM処理の指示に基づいて、DRM処理を実行した後、暗号化されているコンテンツを復号するのに必要なキーKcをコンテンツ再生部24に出力する。
アプリケーション28は、ブラウザ23を起動したり、コンテンツ再生部24に再生を指示する処理を実行する他、メタデータデータベース29にメタデータ検索を指令し、検索の結果得られたメタデータを取得する。
ディジタルテレビジョン受像機3は、例えば、図3に示されるようなリモートコマンダ51からの指令に基づいて、各種の動作を実行する。このリモートコマンダ51は、数字1乃至12に対応する数字ボタン52を有している。また、リモートコマンダ51の前方先端には、ユーザのボタン操作に対応する赤外線信号を発生する発生部53が設けられている。
数字ボタン52の図中下側には、カーソルなどを上下左右に移動させるとき操作される方向ボタン55U,55D,55L,55Rと、その中央に確定処理を行うとき、操作される決定ボタン54が配置されている。
また、リモートコマンダ51の図中下側には、詳細ボタン56、停止ボタン57、および再生ボタン58が設けられている。詳細ボタン56は、呈示されている情報のより詳細な情報の提示を指示するとき操作される。停止ボタン57は、コンテンツの再生を停止するとき操作される。再生ボタン58は、コンテンツの再生を指示するとき操作される。再生ボタン58の上方のメニューボタン59は、メニューを表示するとき操作される。
なお、図示は省略されているが、リモートコマンダ51には、この他、各種の機能が割り当てられた各種のボタンが適宜設けられる。
図4は、サーバ2の構成を表している。この例においては、サーバ2は、ショップサーバ71、決済サーバ72、メタデータデータベース73、DRMサーバ74、およびコンテンツサーバ75により構成されている。
サーバ2の各部は、ディジタルテレビジョン受像機3の各部と、図5に示されるように、相互に情報を授受する。
ショップサーバ71は、ブラウザ23からインターネット1を介してアクセスを受けたとき、HTML文書またはBML文書からなるナビゲーション情報をブラウザ23に提供する。決済サーバ72は、ブラウザ23または課金処理部26と通信し、決済処理を行う。決済サーバ72は、ショップサーバ71からの決済処理依頼に基づいて、決済処理を行い、その決済結果をショップサーバ71に出力する。
メタデータデータベース73は、アプリケーション28からのメタデータ取得依頼に基づいて、記憶しているメタデータを読み出し、ディジタルテレビジョン受像機3のメタデータデータベース29に供給し、記憶させる。
また、メタデータデータベース73は、ショップサーバ71からのメタデータ検索依頼に基づいて、検索して得られたメタデータをショップサーバ71に供給する。
DRMサーバ74は、ショップサーバ71からのライセンス発行許可要請に基づいて、ディジタルテレビジョン受像機3のDRM処理部25と通信し、DRM処理を実行する。このDRM処理には、ユーザがライセンスを有する適正なユーザであるのか否かの認証処理、暗号化されているデータを復号するのに必要なキーKcの付与、取得処理、その他の著作権管理に必要な処理が含まれる。正しいDRM処理が実行できたとき、DRMサーバ74は、コンテンツサーバ75にコンテンツを暗号化するのに必要なキーKcを供給する。また、DRMサーバ74は、正しいDRM処理が実行できたとき、ディジタルテレビジョン受像機3のDRM処理部25に、対応するキーKcを供給する。
コンテンツサーバ75は、DRMサーバ74より供給されたキーKcを用いて、コンテンツデータを暗号化し、コンテンツ再生部24にストリーミング配信するか、または、ダウンロードのファイルとしてコンテンツ記憶部27に配信し、記憶させる。
なお、図4と図5の例では、サーバ2を複数のサーバで構成するようにしたが、1つのサーバで構成することも、もちろん可能である。
図6は、決済、DRM処理、および再生に関する各種の情報の関係を表している。同図に示されるように、機器IDとユーザID(User ID)は、1対1に対応している。機器IDは、ディジタルテレビジョン受像機3にそれぞれ割り当てられたIDであり、ユーザIDは、そのディジタルテレビジョン受像機3を使用するユーザに割り当てられたIDである。これらのIDにより、ディジタルテレビジョン受像機3やユーザが個々に識別される。
所定のユーザIDが割り当てられたユーザは、サーバ2の管理者との間で、商品としてのパッケージを購入する契約を行う。具体的には、ユーザは、サーバ2から提供される番組の中から所望の番組をパッケージ(Package)として購入する。このパッケージには、パッケージメタ(Package Meta)が1対1に対応している。
各パッケージには、1以上のコンテンツが対応付けられている。1つのコンテンツは、コンテンツ本体、ダウンロード処理の制御ファイルとしてのdownload.dlc、およびスタートアップファイル(startup file)により構成される。コンテンツ本体は、番組の内容を表すコンテンツデータの本体である。startup fileの詳細については、図10、図13、および図14を参照して後述する。
ダウンロード処理の制御ファイルとしてのdownload.dlcは、そのコンテンツがダウンロード用のコンテンツである場合に用意されるものであり、図28を参照して後述する。
コンテンツには、コンテンツID(Contents ID)が1対1に対応する。コンテンツは、このコンテンツIDにより識別される。コンテンツIDには、コンテンツメタデータ(Contents Metadata)がさらに1対1に対応する。コンテンツメタデータは、図7に示されるように、コンテンツID、タイトル名、ジャンル、番組説明といった情報を含んでいる。
1つのコンテンツIDには、n個(nは1以上の整数)のライセンスIDが対応付けられる。同様に、1つのコンテンツメタデータには、n個のライセンスメタデータ(License Metadata)が対応付けられる。
ライセンスIDは、1対1に対応付けられているライセンスを識別する。各ライセンスは、ライセンスID、使用ルール(Usage Rule)、およびコンテンツ鍵束により構成される。このコンテンツ鍵束(図5に示されるキーKcに対応する)は、そのライセンスが対象とするコンテンツを復号するのに必要な任意の数のキー(鍵)を含む鍵束であり、コンテンツIDと1対1に対応している。
ライセンスIDには、ライセンスメタデータ(License Metadata)が1対1に対応する。ライセンスメタデータには、図7に示されるように、ライセンスID、コンテンツID、コンテンツURL(Uniform Resource Locator)、ライセンスURL、配信タイプ、コンテンツタイトル名、使用規則のテキストなどが含まれる。
ライセンスメタデータとコンテンツメタデータは、そこに含まれるコンテンツIDにより、n対1に対応付けられる。
ライセンスメタデータのコンテンツURLは、コンテンツを得る場合のアクセス先を表す。ライセンスURLは、ライセンスを得る場合のアクセス先を表す。配信タイプは、そのライセンスが対象とするコンテンツが、ストリーム配信されるものであるのか、ダウンロードファイルとして配信されるものであるのかを表す。
パッケージは、ライセンスIDとm対n(mはnと同様、1以上の整数)に対応付けられる。同様に、パッケージメタは、ライセンスメタデータとm対nに対応付けられる。
パッケージメタは、図7に示されるように、パッケージID(Package ID)、ショップサイトURL(Shop Site URL)、パッケージ利用期間、パッケージタイプ、パッケージ情報、およびライセンスIDリストにより構成される。
パッケージIDは、パッケージを識別する情報である。ショップサイトURLは、そのパッケージを得るためのショップサイトのアクセス先を表す。パッケージ利用期間は、そのパッケージを利用することが可能な期間を表す。
パッケージタイプは、そのパッケージがパック(Pack)であるのか、またはサブスクリプション(Subscription)であるのかを表す。あるいは、また、パッケージタイプは、マルチキャスト(Multicast)であるのか、そうでないのかを表す。Packは、予め定められている所定の任意の数の番組が含まれるタイプのパッケージであることを表す。Subscriptionは、例えば、予め定めされた一定の日数に渡って、予め定められたチャンネルの番組を視聴できるタイプであることを表す。Multicastは、そのパッケージが有料または無料で不特定多数のユーザに提供されるタイプであることを表す。
パッケージ情報は、そのパッケージの名称と料金に関する情報を含む。ライセンスIDリストは、そのパッケージに含まれるライセンスのライセンスIDを記述する。
パッケージメタは、そこに記述されているライセンスIDに対応するライセンスメタデータに対応することになる。
次に、図8のフローチャートを参照して、サーバ2上のコンテンツを再生する場合の処理について説明する。
なお、この図8の処理を実行するに先立って、ディジタルテレビジョン受像機3は、サーバ2からメタデータを予め取得しておく必要がある。この処理が図9のフローチャートに示されている。
すなわち、ステップS151において、アプリケーション28は、ユーザからの指示に基づいて、インターネット1を介してメタデータデータベース73にアクセスし、メタデータ取得を依頼する。メタデータデータベース73は、ステップS171において、アプリケーション28からのアクセスを受け付けると、ステップS172において、依頼されたコンテンツに関するメタデータを読み出し、インターネット1を介して、ディジタルテレビジョン受像機3のメタデータデータベース29に供給する。メタデータデータベース29は、ステップS161において、このメタデータを受信し、記憶する。
以上の処理により、ディジタルテレビジョン受像機3のメタデータデータベース29には、メタデータが予め保持される。このメタデータには、図6に示されるパッケージメタ、ライセンスメタデータ、およびコンテンツメタデータが含まれる。
このようにして、予めメタデータがメタデータデータベース29に保持されている状態で、図8に示される処理が実行される。なお、図8のユーザインターフェースは、図2の入力部21と呈示部22により構成される。
ユーザは、リモートコマンダ51のメニューボタン59を操作することで、ディジタルテレビジョン受像機31のメニュー起動を指令する。このとき、ステップS1で入力部21は、コンテンツ再生部24にメニュー起動を指令する。ステップS21において、入力部21からの指令を受信したコンテンツ再生部24は、ステップS22において、メタデータデータベース29に既に記憶されているメタデータの読み出しを指令する。
ステップS91において、メタデータデータベース29は、コンテンツ再生部24からの指令を取得すると、ステップS92において、予め記憶されているメタデータを読み出し、コンテンツ再生部24に供給する。
コンテンツ再生部24は、ステップS23において、メタデータデータベース29から供給されたメタデータを取得すると、ステップS24において、そこに記述されているコンテンツ(番組)のタイトル名を読み出し、ユーザインターフェースとしての呈示部22に供給する。ステップS2において、呈示部22は、コンテンツ再生部24から供給されたコンテンツのリストを表示する。
ユーザは、このリストの表示を見て、リモートコマンダ51の方向ボタン55U乃至55Rと決定ボタン54を適宜操作することで、所定の番組を選択する。ステップS3で、入力部21は、このユーザの操作に対応する選択信号(選択された番組を指定する情報)をブラウザ23に供給する。
ブラウザ23は、ステップS51において、入力部21からの番組の選択を受信すると、ステップS52において、その番組(コンテンツ)に対応するstartup fileをコンテンツサーバ75に要求する。この要求には、コンテンツを識別するコンテンツIDが含まれている。
コンテンツサーバ75は、ステップS122において、指定されたコンテンツIDに対応するコンテンツのstartup fileを読み出し、ブラウザ23に送信する。
ブラウザ23は、ステップS53において、コンテンツサーバ75からのstartup fileを受信する。
図10は、このようにして受信されるstartup fileの一部の記述例を表している。この例では、コンテンツがストリーム配信される場合の情報がXML形式で記述されている。ブラウザ23が、ステップS53でstartup fileを受信すると、ブラウザ23の配下で稼動するプラグインが、そのstartup fileの中から図10に示される部分を抽出し、その記述内容に対応する処理を実行する。
同図の第2行目には、「<drminfo>」および「</drminfo>」のタグに囲まれて、コンテンツの暗号を復号して再生可能なものとするDRM処理において必要な情報が記述されているファイルのURLが、「b.dri」と記述されている。
第3行目には、「<start>」および「</start>」のタグに囲まれて、このstartup fileに対応するコンテンツ(ストリームコンテンツ)のURL「b.ets」が記述されている。ここで、拡張子「.ets」で表されるファイルは、暗号化されたタイムスタンプ付きパーシャルTS(Transport Stream)(MPEG2-TS)よりなるストリームリソース(ストリームコンテンツ)を表す。
なお、コンテンツがダウンロードにより配信される場合は、「<start>」および「</start>」のタグに囲まれて、コンテンツのダウンロードを制御するダウンロード制御ファイルのURLが記述されるようにしてもよい。このようにすることで、コンテンツがストリームにより配信される場合でも、ダウンロードにより配信される場合でも、ユーザは簡単にコンテンツを利用することができる。なお、ダウンロード制御ファイルの詳細については、図24乃至図28を参照して後述する。
startup fileには、図10に示される記述以外の情報も記述されているようにしてもよい。
ステップS54において、ブラウザ23は、プラグインにより、コンテンツ再生部24を起動する。
ステップS25で、コンテンツ再生部24は起動し、ステップS26において、DRM処理部25に対してライセンス取得を依頼する。このとき、図10を参照して上述したDRM処理に必要な情報が記述されているファイルのURL「b.dri」とストリームコンテンツのURL「b.ets」もDRM処理部25に供給される。
ステップS71において、DRM処理部25は、コンテンツ再生部24からのライセンス取得依頼を受信すると、ステップS72において、DRMサーバ74にアクセスし、DRM処理を要求する。このとき、DRMサーバ74には、引数としてコンテンツ再生部24が再生するコンテンツのライセンスIDとユーザIDが付加されている。なお、DRM処理の要求に先立って、上述したURL「b.dri」に基づいて、DRM処理に必要な情報が記述されているファイルが取得され、このファイルに記述されている情報に基づいて、DRM処理の要求が行われる。
ステップS111で、DRMサーバ74は、DRM処理部25からの要求に基づいて、DRM処理を実行する。DRMサーバ74は、DRM処理部25から供給されたライセンスIDとユーザIDに基づいて、そのユーザがライセンスを既に取得しているか否かを確認する。その処理の詳細は省略するが、ユーザは、そのコンテンツを再生するために、予めライセンスを取得しておくことになる。DRMサーバ74は、このときユーザに付与したライセンスを識別するライセンスIDと、そのユーザのユーザIDを対応して記憶している。DRM処理部25から供給されたライセンスIDとユーザIDが、リストに登録されていれば、そのユーザは適正なユーザであると判定される。ライセンスIDとユーザIDが対応してリストに登録されていない場合には、そのユーザは、ライセンスを適正に購入したユーザではないと判定される。DRMサーバ74は、その判定結果をDRM処理部25に通知する。
DRM処理部25は、ステップS72でDRMサーバ74からの判定結果を受信すると、それに基づいて再生を許可するか否かを判定する。そして、その判定結果がステップS73でDRM処理部25からコンテンツ再生部24に供給される。
ステップS27において、DRM処理部25から受信した通知が再生を許可しないものである場合、コンテンツ再生部24は、再生処理を中止する。これに対して、DRM処理部25からの通知が再生を許可するものである場合(この通知には、コンテンツを復号するのに必要なキーKcも含まれている)、ステップS28において、コンテンツ再生部24は、上述したコンテンツのURL「b.ets」にアクセスする。ここでは、URL「b.ets」は、コンテンツサーバ75内部のディレクトリを表すものとする。
ステップS123において、コンテンツサーバ75は、コンテンツ再生部24からのアクセスを受け付けると、ステップS124において、そのコンテンツのURLに記述されているストリームコンテンツ本体のデータを読み出し、コンテンツ再生部24にストリーム配信する。
ステップS29において、コンテンツ再生部24は、コンテンツサーバ75からのストリームを受信すると、ステップS30において、暗号化されているコンテンツデータを、キーKcを用いて復号し、これをユーザインターフェースとしての呈示部22に供給する。呈示部22は、ステップS4において、コンテンツ再生部24からのストリームを表示する。
以上のようにして、ユーザが指定したコンテンツのストリーム配信処理が行われる。
以上、コンテンツサーバ75からコンテンツがストリーム配信される場合の処理について説明したが、次に、ディジタルテレビジョン受像機3にコンテンツが予めダウンロードされ、ファイルとして記憶されており、これを再生する場合の処理について説明する。
この場合、ディジタルテレビジョン受像機3においては、コンテンツデータを予めダウンロードしておく必要がある。この場合の処理について、図12のフローチャートを参照して説明する。
アプリケーション28は、ステップS361において、メタデータデータベース73にアクセスし、メタデータ取得依頼を実行する。ステップS391において、この依頼を受け付けたメタデータデータベース73は、ステップS392において、対応するコンテンツのメタデータを読み出し、ディジタルテレビジョン受像機31のメタデータデータベース29に送信する。ステップS371において、メタデータデータベース29は、メタデータデータベース73から供給されたメタデータを記憶する。
以上の処理は、図9のステップS151乃至ステップS172の処理と同様の処理である。
次に、ステップS362において、アプリケーション28は、ユーザからの指示に基づいて、コンテンツサーバ75にアクセスし、コンテンツの送信を依頼する。ステップS401において、この依頼を受け付けたコンテンツサーバ75は、ステップS402において、依頼を受けたコンテンツを読み出して、コンテンツ記憶部27に送信する。コンテンツ記憶部27は、ステップS381において、コンテンツサーバ75から送信されたコンテンツを受信すると、これを記憶する。
以上のようにして、メタデータデータベース29とコンテンツ記憶部29には、メタデータと対応するコンテンツが予め記憶される。
このように、メタデータとコンテンツデータが予め記憶された状態で図11の処理が実行される。
ステップS201において、入力部21は、ユーザからの指示に基づいて(ユーザがメニューボタン59を操作したとき)、メニュー起動をコンテンツ再生部24に指示する。コンテンツ再生部24は、ステップS221において、入力部21からのメニュー起動の指令を受け付けると、ステップS222において、メタデータデータベース29にメタデータの読み出しを指令する。
ステップS291において、コンテンツ再生部24からの指令を受け付けると、メタデータデータベース29は、ステップS292において、予め記憶されているメタデータを読み出し、コンテンツ再生部24に出力する。
コンテンツ再生部24は、ステップS223において、メタデータデータベース29からのメタデータを受信すると、ステップS224において、コンテンツのタイトルを読み出し、呈示部22に出力する。ユーザインターフェースとしての呈示部22は、ステップS202において、コンテンツ再生部24からの番組タイトルの提示を受け付けると、これをユーザに提示する。
ユーザは、この番組タイトルの表示を見て、再生したいと思う番組をリモートコマンダ51を操作することで選択する。ステップS203において、入力部21は、ユーザにより選択されたコンテンツを指定する情報をブラウザ23に供給する。
ブラウザ23は、ステップS221において、入力部21からの選択を受け付けると、ステップS222において、選択された番組(コンテンツ)のコンテンツIDをメタデータデータベース29に供給し、対応するstartup fileの送信を要求する。
ステップS293において、メタデータデータベース29は、ブラウザ23からの要求を受信すると、ステップS294において、そのコンテンツに対応するstartup fileを読み出し、それをブラウザ23に供給する。
ブラウザ23は、ステップS253において、メタデータデータベース29から供給されたstartup fileを受信する。
図13は、このようにして、ブラウザ23が受信するstartup fileの例を表している。この例においては、コンテンツの配信のタイプが「download」とされ、コンテンツIDが「content_id2」とされている。そして、この例においても、1秒間が経過した後、続くURLにジャンプすることが記述されている。
ブラウザ23は、このジャンプ先がMPEG−2TSのファイルであるので、ステップS254において、プラグインによりコンテンツ再生部24の起動を指示する。
コンテンツ再生部24は、ステップS225において、ブラウザ23からの指示に基づいて起動し、ステップS226において、URL処理部25に対して、ライセンス取得依頼を発行する。DRM処理部25は、ステップS271において、コンテンツ再生部24からの依頼を取得すると、ステップS272において、DRMサーバ74と通信し、DRM処理を要求する。DRMサーバ74は、ステップS331において、DRM処理部25からの要求に基づいて、DRM処理を実行する。この処理は、図8におけるステップS111の処理と同様の処理である。
DRM処理部25は、ステップS272において、DRMサーバ74からのDRM処理結果を受信すると、ステップS273において、その処理結果をコンテンツ再生部24に通知する。
コンテンツ再生部24は、この通知の結果が再生を許可しないものである場合には、再生動作を中止する。再生が許可されている場合には、コンテンツ再生部24は、ステップS228において、再生を指示されたコンテンツのファイルの読み出しを指示する。
いまの場合、コンテンツURLは、コンテンツがコンテンツ記憶部27に記憶されていることを表しているので、ステップS311において、コンテンツ記憶部27は、コンテンツ再生部24からファイルの読み出しを受け付けると、ステップS312において、指示されたファイルのデータを読み出し、コンテンツ再生部24に供給する。
ステップS229において、コンテンツ再生部24は、データの入力を受け付けると、ステップS230において、これをユーザインターフェースとしての呈示部22に出力する。
呈示部22は、ステップS204において、コンテンツ再生部24からのデータを受信すると、これを表示する。
以上のようにして、ディジタルテレビジョン受像機3のコンテンツ記憶部27に、予め記憶されているコンテンツの再生処理が実行される。
なお、図11乃至図13を参照した例においては、予めコンテンツをダウンロード(記憶)して再生する処理について説明したが、コンテンツのダウンロードは、例えば、上述したようにダウンロードを制御するダウンロード制御ファイルに基づいて実行されるようにしてもよい。この場合の処理の例については、図24を参照して後述する。
また、図13に示される例においては、ファイルがhttp(Hypertext Transfer Protocol)のスキーム名で記述されている場合を例としたが、例えば、図14に示されるように、rtp(Real-Time Transport Protocol)のスキーム名とすることもできる。要は、リソースの種類がそれぞれのプロトコルに基づいて表されていればよい。
以上においては、サーバ2とディジタルテレビジョン受像機3との間の相互の処理について、主に説明したが、コンテンツを利用する装置としてのディジタルテレビジョン受像機3側の処理について着目すると、その処理は、図15と図16のフローチャートに示されるようになる。
ユーザがメニューボタン59を操作すると、コンテンツ再生部24は、ステップS501において、メタデータデータベース29に記憶されているメタデータに基づいて、図17に示されるような、タイトルの一覧を呈示部22に出力し、表示させる。
図17の例においては、「邦画」、「洋画」、「アニメ」、「ドラマ」、「スポーツ」といったジャンル選択アイコンが表示されるとともに、選択されているジャンル(図17の例の場合、「アニメ」)のコンテンツのリストが表示されている。各コンテンツは、そのタイトルが、利用情報、構成情報、並びに蓄積情報とともに表示されている。
この例においては、最初の番組は、利用期間が「あと3日」とされ、2番目の番組は、「あと1日」とされている。3番目と4番目の番組は、まだ「未購入」とされている。5番目の番組は、「New!」の番組とされている。また、最初の番組は、「パック」で構成された番組とされている。また、第1番目乃至第3番目の番組は、既にコンテンツ記憶部27に「蓄積済み」であることが示されている。このことは、4番目と5番目の番組は、まだ蓄積されていないことを意味する。
ステップS502において、コンテンツ再生部24は、番組が選択されたか否かを判定し、選択されていないと判定された場合には、選択されるまで待機する。
ステップS502において、番組が選択されたと判定された場合、ステップS503において、コンテンツ再生部24は、選択された番組が「パック」の番組であるか否かを判定する。パック構成の番組である場合、ステップS504に進み、コンテンツ再生部24は、例えば、図18に示されるように、選択された番組(「パック」)のパッケージ内に収納されているタイトルの一覧を表示する。
図18は、図17の1番目の「機動戦士Zガンガン全話3Week」のタイトルの番組が選択された場合の表示例を示している。この例においては、50話のシリーズの番組のうちの最後の第47話から最終話(第50話)までの番組のタイトルが表示されている。このタイトルは、リモートコマンダ51のアップ用の方向ボタン55Uまたはダウン用の方向ボタン55Dを操作することで、上下にスクロール表示される。
コンテンツ再生部24は、ステップS505において、再生ボタン58が操作されたか否かを判定する。再生ボタン58が操作されていないと判定された場合には、ステップS506に進み、コンテンツ再生部24は、元の画面に戻る指示がなされたか否かを判定する。図18の表示例においては、「戻る」ボタンが表示されており、ユーザは、方向ボタン55U乃至55Rを操作することでカーソル141を「戻る」ボタン上に移動表示させ、決定ボタン54を操作して、元の画面に戻る指示を入力することができる。元の画面に戻る指示がなされていない場合には、ステップS505に戻り、それ以降の処理が繰り返し実行される。元の画面に戻る指示がなされたと判定された場合、処理はステップS501に戻り、再び図17に示されるタイトル一覧が表示され、それ以降の処理が実行される。
ステップS505において、再生ボタン58が操作されたと判定された場合、処理はステップS507に進む。ステップS502において、番組が選択されたと判定され、かつ、ステップS503において、選択された番組がパックの番組ではない(1つのコンテンツで構成される番組である)と判定された場合にも、ステップS504乃至ステップS506の処理はスキップされ、処理はステップS507に進む。
コンテンツ再生部24は、ステップS507において再生または選択された番組(コンテンツ)が既に購入済みであるか否かを判定する。番組が既に購入済みである場合には、ステップS508に進み、コンテンツ再生部24は、そのコンテンツはストリーミング再生用のコンテンツであるか否かを判定する。コンテンツの配信のタイプ(ストリーミングかダウンロードか)は、例えば、ライセンスメタデータの記述に基づいて行われる。その番組(コンテンツ)がストリーミング用のコンテンツであると判定された場合、ステップS511に進み、コンテンツ再生部24は、そのコンテンツを再生する。すなわち、上述したように、コンテンツサーバ75からストリーミング配信された、暗号化されているコンテンツがキーKcで復号され、呈示部22に供給され、表示される。
ステップS508において、コンテンツはストリーミング再生用のコンテンツではないと判定された場合、ステップS509に進み、コンテンツ再生部24は、そのコンテンツが蓄積済みであるか否かを判定する。コンテンツが蓄積済みである場合には、ステップS511に進み、コンテンツ再生部24は、コンテンツ記憶部27からその暗号化されているコンテンツデータを読み出し、キーKcで復号し、呈示部22に供給し、表示させる。
ステップS509において、コンテンツは、蓄積済みではないと判定された場合、ステップS510に進み、コンテンツ記憶部27は、そのコンテンツを蓄積する処理を実行する。すなわち、コンテンツサーバ75より供給されたダウンロード用のファイルがコンテンツ記憶部27により受信され、記憶される。
ステップS507において、コンテンツはまだ購入済みではないと判定された場合、ステップS512に進み、コンテンツ再生部24は、パッケージリスト(このパッケージリストはパッケージメタに含まれている)を表示する処理を実行する。
例えば、ステップS504のパック内のタイトル一覧の表示処理で、図19に示されるようなタイトル一覧が表示されたとする。このタイトル一覧は、図19に示されるように、利用情報が既に「期限切れ」となっている。従って、ユーザが図19に示される4つの番組のうち、例えば、1番下に表示されている「未視聴」の番組「最終話 宇宙を駆ける」を選択したとすると、ユーザが、この番組を視聴するには、購入する必要があり、ステップS507では、その番組は購入済みではないと判定される。そして、この例の場合、その番組を提供する形態として、3つの形態があるので、ステップS512では、その3つの形態が、図20に示されるように表示される。
図20の1番上の形態は、「最終話」の番組だけを購入する形態である。第2番目の形態は、「第46話」から「最終話」までの「5話」を、1つのパックとして購入する形態である。第3番目の形態は、「第1話」から「最終話」までの全話を1つのパックとして購入する形態である。
ユーザは、リモートコマンダ51を操作することで、3つの形態の中から、購入するいずれかの形態を1つ選択する。
そこで、コンテンツ再生部24は、ステップS513において、いずれかの購入形態が選択されるまで待機し、いずれかの形態が選択されたと判定された場合、ステップS514に進み、選択された番組(コンテンツ)がストリーミング再生用のコンテンツであるか否かを判定する。ストリーミング再生用のコンテンツである場合には、ステップS516に進み、コンテンツ再生部24は、例えば、図21に示されるような購入勧誘のための画面を表示する。図21の表紙例においては、「最終話 宇宙を駆ける」の1つの番組が「200円」で購入できることが提示されている。そして、購入するか否かを「はい」と「いいえ」のボタンで選択するようになされている。ユーザは、リモートコマンダ51の方向ボタン55U乃至55Rと、決定ボタン54を操作することで、「はい」と「いいえ」のボタンのいずれかを選択することで、購入または購入しないことを指示する。
購入が指示されない場合には(「いいえ」ボタンが操作された場合には)、処理はステップS512に戻り、再びパッケージリスト(図20)が表示され、それ以降の処理が実行される。
ステップS517において、購入が指示されたと判定された場合(「はい」ボタンが操作されたと判定された場合)、ステップS518に進み、コンテンツ再生部24は、コンテンツを再生する処理を実行する。いまの場合、コンテンツは、ストリーミング再生用のコンテンツであるため、コンテンツサーバ75からストリーミング配信されたコンテンツが受信され、復号され、呈示部22に提示されることになる。
ステップS514において、選択された番組(コンテンツ)がストリーミング再生用のコンテンツではないと判定された場合(ダウンロードのファイルのコンテンツであると判定された場合)、ステップS515に進み、コンテンツ再生部24は、コンテンツが蓄積済みか否かを判定する。コンテンツが蓄積済みである場合には、ステップS516に進み、上述した場合と同様にして、図21に示されるような購入勧誘を表す画像が表示される。そして、ユーザは、上述した場合と同様に、「はい」または「いいえ」ボタンを操作することで、購入または非購入を指示する。非購入が指示された場合には、ステップS512に処理は戻る。
購入が指示された場合、ステップS518に進み、再生処理が実行される。いまの場合、コンテンツはコンテンツ記憶部27に既に記憶されているため、コンテンツ再生部24は、コンテンツ記憶部27に記憶されているコンテンツを再生、復号し、呈示部22に供給し、表示させる。
ステップS515において、コンテンツは蓄積済みではないと判定された場合、ステップS519に進み、コンテンツ再生部24は、図22に示されるような購入勧誘のための画像を呈示部22に表示させる。
図22は、図20の1番目の購入形態で購入を指示した場合の表示例を表している。ステップS516で表示された図21の表示例も同様に、図20の1番目の購入形態でコンテンツを購入した場合であるが、この場合には、コンテンツはストリーム配信される。これに対して、図22の表示例は、ストリーム配信されるのではなく、ダウンロードのファイル配信される場合である。この場合には、「ダウンロードにはxx分かかります。」のメッセージが番組のタイトル以外に表示されている。ユーザは、この場合にもコンテンツを購入する場合には「はい」のボタンを選択し、購入しない場合には「いいえ」のボタンを選択する。
ステップS520において、コンテンツ再生部24は、購入が指示されたか否かを判定し、指示されなかった場合には(「いいえ」ボタンが選択された場合には)、ステップS512に戻り、再び図20に示されるようなパッケージリストを表示し、それ以降の処理を実行する。
ステップS520において、購入が指示されたと判定された場合(「はい」ボタンが選択された場合)、ステップS521に進み、コンテンツ再生部24は、コンテンツのファイルをダウンロードし、蓄積する処理を実行する。すなわち、コンテンツサーバ75より供給されたダウンロード用のファイルがコンテンツ記憶部27にダウンロードされ、記憶されることになる。
このように、ユーザに呈示されるコンテンツリスト上には、ストリーミング配信されるコンテンツと、ダウンロード用のファイルとして配信されるコンテンツとが混在して表示される。但し、ユーザには、配信タイプは表示されない。単に、番組(パッケージ)のタイトルが表示されるだけである。従って、ユーザは、ストリーミング配信用のコンテンツであるのか、ダウンロード用ファイル配信のコンテンツであるのかを気にすることなく、単に、番組を選択するだけの操作で、統一的に番組を選択し、その提供を受けることができる。さらに、この場合において、コンテンツが既に購入済みであるか否かを、ユーザが考慮する必要もない。購入済みでなければ、購入するか否かをユーザに問い合わせるメッセージが表示されるので、ユーザは、単に、その問い合わせに答えるだけでよい。
また、既にそのコンテンツが購入済みである場合には、もし、そのコンテンツがストリーミング配信用、もしくは、蓄積済みのコンテンツであれば、自動的にコンテンツが再生される。従って、簡単かつ容易に、インターネットやプロトコルといったことに関する知識を有しない老人、子供、女性といった一般ユーザでも、簡単かつ確実に、コンテンツを視聴することが可能となる。なお、ユーザに提示される各種の情報は、パッケージメタに含まれている。なお、図示は省略したが、サーバ2とディジタルテレビジョン受像機3は、それぞれ、インターネット1を介して通信するためのインタフェース処理を行う通信部を有している。データは暗号化されて授受される。
ところで、コンテンツをダウンロードするとき、ディジタルテレビジョン受像機3とサーバ2の間で行われる処理については、図12を参照して上述したが、コンテンツのデータ量が大きく、ダウンロードに多大な時間がかかり、ユーザがコンテンツのダウンロードが完了したか否かをチェックすることが困難な場合もある。このような場合、ディジタルテレビジョン受像機3にコンテンツのダウンロード処理を実行し、ダウンロードが完了したか否かをチェックするエージェントを組み込んで、エージェントによりコンテンツがダウンロードされるようにすれば、よりユーザにとって利便性が高くなる。
図23は、このようなエージェントが組み込まれたディジタルテレビジョン受像機3の機能的構成例を示すブロック図である。同図は、図2に対応する図であり、それぞれの図において対応するブロックには、同一の符号が付されている。
図23の例では、図2の場合と異なり、アプリケーション28の中に、ダウンロードエージェント28−1とDRMエージェント28−2が組み込まれている。その他の構成は、図2における場合と同様である。
ダウンロードエージェント28−1は、コンテンツの購入(契約)が完了したあと、サーバ2から送信されるダウンロード制御ファイル(後述)に基づいて、コンテンツのダウンロード処理を実行する。DRMエージェント28−2は、ダウンロードエージェント28−1からの指示に基づいて、DRM処理部25を起動し、コンテンツを再生するために必要なライセンスを取得する。なお、ダウンロードエージェント28−1とDRMエージェント28−2は、まとめて1つのエージェントとして構成されるようにしてもよい。
次に、図23に示されるように構成されるディジタルテレビジョン受像機3によりコンテンツがダウンロードされる場合、ディジタルテレビジョン受像機3とサーバ2の間の処理の流れを図24のフローチャートを参照して説明する。
なお、この処理の前提として、ディジタルテレビジョン受像機3のユーザがブラウザ23を起動してショップサーバ71にアクセスし、ユーザにより所望のコンテンツが購入され、決済処理が完了しており、ユーザIDとそのユーザにより購入済のコンテンツのコンテンツIDが対応づけられてサーバ2のデータベースに記憶されているものとする。
ステップS1351において、ショップサーバ71は、ブラウザ23に対して、決済が完了したことを通知するデータを送信し、ステップS1001において、ブラウザ23により、これが受信される。
このとき、例えば、図25A乃至図25Cに示されるような、HTML形式のファイルが送信される。図25Aにおいては、1秒が経過した後、次に記述されるURLにジャンプすることが記述されており、そのURLとして、「URL=packageinfo.pin”/」が記述されている。これにより、図25Bに示されるHTMLファイルがブラウザ23により取得される。同図には、「決済が完了しました。ダウンロードしますか?」の文字が記述されており、その後には、リンク先が指定されている。この例では、リンク先は、「http://example.jp/contents/download.dlc」と指定されており、ここに記述される「download.dlc」が上述したダウンロード制御ファイルに対応している。
HTML形式に代えて、BML形式のファイルが用いられる場合、図25Bに代えて図25Cに示されるようなBMLファイルがブラウザ23により取得される。
BML形式でファイルを記述する場合、ダウンロードするコンテンツを構成するファイルの格納場所(例えば、サーバのアドレス)などは、全てカレントディレクトリからの相対的な位置を表す相対パスで指定する必要があるが、サーバの運用の都合などにより、そのファイルの名前空間上の絶対位置を表す(例えば、直接URLを指定するなど)絶対パスを利用せざるを得ない場合もある。このような場合、最初に相対パス指定によりサーバのアドレスを通知し、その後、ブラウザ23がサーバにアクセスしたとき、HTTPリダイレクト(所定のステータスコードを送信することにより、ブラウザ23をリダイレクト先に誘導する方法)により、絶対パスを通知する。
図25BのHTMLファイルがブラウザ23により取得されると、図26に示されるような画面が呈示部22により表示される。この例では、「決済が完了しました。ダウンロードしますか?」と表示されている。ここで、ユーザがリモートコマンダ51を操作することにより、「はい」ボタン201を選択し、クリックすると、コンテンツ(コンテンツを構成するファイル)のダウンロードが実行される。すなわち、「はい」ボタン201がクリックされた場合、ブラウザ23は、上述したリンク先にアクセスし、ダウンロード制御ファイル(この例では、「download.dlc」)を取得する。これに対して、ユーザが「いいえ」ボタン202を選択し、クリックすると、処理は終了される。なお、「いいえ」ボタン202が選択され、クリックされた場合は、後述するコンテンツ利用処理において、コンテンツのダウンロードが実行される(図30のステップS2009)。
なお、ダウンロードエージェント28−2によりダウンロードが実行されている間、例えば、図27に示されるような、ダウンロードの進捗状況を棒グラフで示す画面が呈示部22により表示されるようにしてもよい。ユーザは、キャンセルボタン221をクリックすることによりコンテンツのダウンロードをキャンセルすることができる。
ダウンロード制御ファイルは、例えば、図28に示されるように構成される。同図には、ダウンロードするコンテンツのコンテンツIDとそのコンテンツのデータ量を表すコンテンツサイズが記述されている。この例では、コンテンツIDとして「100」が記述されており、コンテンツサイズとして「20GB(ギガバイト)」が記述されている。
また、ダウンロードするコンテンツを構成するファイルが記述されており、この例では、コンテンツがFile1,File2,File3,・・・により構成されている。File1,File2,File3,・・・の記述の後には、File1,File2,File3,・・・が記憶されているアドレスが記述されている。この例では、「***」と示されているが、実際には、コンテンツが記憶されるサーバのURL、ディレクトリなどが記述される。アドレスの記述の後には、各ファイル(File1,File2,File3,・・・)の制御ファイルが記述されている。制御ファイルは、例えば、各ファイルが圧縮されて記憶されている場合、各ファイルを解凍するソフトウェアなどがそれに該当する。この例では、制御ファイルが「xxx」と示されているが、実際には、ファイルを解凍するソフトウェアの名称、記憶場所(アドレス)などが必要に応じて記述される。
なお、ダウンロード制御ファイルは、実際には、XML形式で記述される。
図24に戻り、ダウンロード制御ファイルを取得した後、ステップS1002において、ブラウザ23は、プラグインによりダウンロードエージェント28−1を起動する。
この後、ダウンロード処理は、ダウンロードエージェント28−1、またはDRMエージェント28−2により、自動的に実行されるので、ユーザは、この時点でダウンロードに関する作業を終了し、例えば、他のWebページを閲覧したり、他のコンテンツのダウンロードを実行することができる。
ステップS1102において、ダウンロードエージェント28−1は、コンテンツ記憶部27にその空き容量を問い合わせ、ステップS1301で、コンテンツ記憶部27によりこれが受信される。そして、コンテンツ記憶部27は、自身の空き容量を調べて、ステップS1302で、現在の空き容量をダウンロードエージェント28−1に応答する。
ステップS1103において、ダウンロードエージェント28−1は、コンテンツ記憶部27からの応答を受信して、コンテンツ記憶部27の空き容量をチェックする。いまの場合、ステップS1103で受信した応答において、コンテンツ記憶部27の空き容量が20GB未満であった場合、ダウンロードエージェント28−1は、呈示部22を制御して、その画面上に空き容量が足りない旨のメッセージをユーザに通知する。
一方、ステップS1103で受信した応答において、コンテンツ記憶部27の空き容量が20GB以上であった場合、ダウンロードエージェント28−1は、ステップS1104に処理を進める。
上述したように、ダウンロードしたコンテンツを再生するためにはライセンスが必要となる。図11と図12を参照して上述した例では、ダウンロードするコンテンツに対応するコンテンツメタデータとライセンスメタデータが取得され、ライセンスメタデータのライセンスID基づいてライセンスが取得されていたが、この例では、ダウンロード制御ファイルの記述に基づいて、ダウンロードエージェント28−1がコンテンツを構成するファイルをダウンロードするので、ライセンスIDを特定することができず、図11と図12を参照して上述した例と同様にライセンスを取得することはできない。そこで、ダウンロードエージェント28−1は、ライセンス問い合わせサーバ74−1にライセンスIDの問い合わせを行う。
図6と図7を参照して上述したように、ライセンスIDは、1対1に対応付けられているライセンスを識別するものであり、そのライセンスを取得するために必要な「LicenseURL」は、ライセンスIDに対応するライセンスメタデータに含まれている。また、ライセンスIDは、コンテンツIDに対応付けられている。
ステップS1104において、ダウンロードエージェント28−1は、ユーザIDをライセンス問い合わせサーバ74−1に送信し、ライセンスの問い合わせを行う。ライセンス問い合わせサーバ74−1は、例えば、DRMサーバ74の一部として構成されるサーバであり、ユーザIDと、そのユーザにより購入済のコンテンツのライセンスIDが対応付けられて記憶されているデータベースを検索し、さらに、そのユーザIDに対応するユーザにより購入済のライセンスIDの一覧を、ディジタルテレビジョン受像機3に提供する機能を有する。
ステップS1501において、ライセンス問い合わせサーバ74−1は、ダウンロードエージェント28−1がステップS1104で送信した問い合わせを受信すると、送信されてきたユーザIDに対応するユーザにより購入済のコンテンツのライセンスIDを検索する。そして、ライセンス問い合わせサーバは、検索したライセンスIDの一覧を、ステップS1502において、ダウンロードエージェント28−1に送信する。このライセンスIDの一覧は、ステップS1105で、ダウンロードエージェント28−1により受信される。
ステップS1106において、ダウンロードエージェント28−1は、ステップS1105で受信したライセンスIDの一覧の中から、ダウンロード制御ファイルに含まれるコンテンツIDに対応するライセンスIDを抽出し、そのコンテンツIDとライセンスIDに基づいて、メタデータベース73にアクセスし、コンテンツメタデータとライセンスメタデータの読み出しを指令する。
ステップS1401において、ダウンロードエージェント28−1からの指令を取得すると、メタデータベース73は、ステップS1402において、コンテンツメタデータとライセンスメタデータの読み出し、ダウンロードエージェント28−1に送信する。ステップS1107において、ダウンロードエージェント28−1によりこれが受信される。
ステップS1108において、ダウンロードエージェント28−1は、ステップS1107で受信したコンテンツメタデータとライセンスメタデータをメタデータベース29に出力する。メタデータベース29は、ステップS1251において、ダウンロードエージェント28−1から出力されたコンテンツメタデータとライセンスメタデータを記憶する。
なお、ステップS1106において、メタデータデータベース73にアクセスするに先立って、ダウンロードエージェント28−1により、当該コンテンツのコンテンツメタデータとライセンスメタデータがディジタルテレビジョン受像機3において、既に取得済(メタデータデータベース29に記憶済)であるかがチェックされ、当該コンテンツのコンテンツメタデータとライセンスメタデータが既に取得済の場合、上述したステップS1106乃至S1251の処理は、スキップされる。
ステップS1109において、ダウンロードエージェント28−1は、ライセンスIDと、ステップS1251で記憶されたライセンスメタデータに含まれる「LicenseURL」(いまの場合、DRMサーバ74のURL)をDRMエージェント28−2に出力する。DRMエージェント28−2は、ステップS1151において、ダウンロードエージェント28−1から出力されたライセンスIDと、ライセンスメタデータに含まれる「LicenseURL」を取得すると、ステップS1152で、その情報をDRM処理部25に出力し、DRM処理部25に対してライセンス取得を依頼する。
ステップS1201においてDRMエージェント28−2からライセンス取得の依頼を受信すると、DRM処理部25は、ステップS1202において、DRMサーバ74にアクセスし、DRM処理を要求する。
ステップS1451で、DRMサーバ74は、DRM処理部25からの要求に基づいて、DRM処理を実行する。この処理は、図8におけるステップS111の処理と同様の処理である。ステップS1452において、DRMサーバ74は、DRM処理結果をDRM処理部25に送信し、ステップS1203でDRM処理部25により、これが受信される。これにより、コンテンツを再生するために必要なライセンスが取得される。
ここで取得されるライセンスには、図6を参照して上述したように、そのライセンスが対象とするコンテンツを復号するのに必要な任意の数のキーを含むコンテンツ鍵束が含まれており、例えば、コンテンツが複数のファイルにより構成されている場合であっても、それぞれのファイルを復号するために必要なキーをまとめて取得することができる。また、キー(ライセンス)の取得は、上述したように、DRMサーバ74とDRM処理部25によるDRM処理により行われるので、コンテンツを構成する各ファイルのライセンス管理を確実に行い、著作権を保護することができる。
なお、ダウンロードするコンテンツが、予め定められた一定の日数に渡って、予め定められたチャンネルの番組を視聴できるようなもの(上述したPackageタイプがSubscritionのもの、またはPPC(PayPerChannel)のコンテンツなど)であり、そのコンテンツのライセンスが、予めディジタルテレビジョン受像機3により取得されている場合、ライセンスの取得に関する処理、すなわちステップS1104乃至S1203の処理は、スキップされる。
ステップS1110において、ダウンロードエージェント28−1は、ダウンロード制御ファイルに記述されたコンテンツを構成する各ファイルのアドレスに基づいて、コンテンツサーバ75にアクセスし、ファイルのダウンロードを要求する。コンテンツサーバ75は、ステップS1551で、ダウンロードエージェント28−1からのダウンロード要求を受信すると、ステップS1552において、ダウンロードが要求されたファイルをコンテンツ記憶部27に送信する。コンテンツ記憶部27は、ステップS1303でこれを受信し、記憶する。
なお、ダウンロードエージェント28−1は、ダウンロード制御ファイルに基づいて、コンテンツ記憶部27に、コンテンツを構成する各ファイルのディレクトリを予め作成しておく。ステップS1303で受信される各ファイルは、コンテンツ記憶部27に予め作成された、各ファイルのディレクトリに記憶される。
また、ダウンロードエージェント28−1は、コンテンツを構成する各ファイルのダウンロードが完了したか否かを表す管理ファイルを作成する。この管理ファイルの例を図29に示す。同図には、コンテンツを構成する各ファイル(File1,File2,File3,・・・)について、ファイル本体と、そのファイルの制御ファイルのダウンロード状況が記述されている。この例では、コンテンツを構成するファイルの1つであるFile1のファイル本体と制御ファイルのダウンロード状況が、「完了」と記述されており、File2,File3,・・・のファイル本体と制御ファイルのダウンロード状況が、「未」と記述されている。これは、コンテンツを構成する各ファイルのうち、File1のファイル本体と制御ファイルのダウンロードが既に完了し、File2以降のファイル本体と制御ファイルについては、ダウンロードがまだ完了していないことを表している。
File2のファイル本体のダウンロードが完了すると、ダウンロードエージェント28−1は、図29に示される管理ファイルの中のFile2のファイル本体のダウンロード状況を「完了」に変更し、File2の制御ファイルのダウンロードが完了すると、File2のファイル本体のダウンロード状況を「完了」に変更する。そして、全てのファイルのファイル本体と制御ファイルのダウンロードが完了すると、呈示部22を制御して、コンテンツのダウンロードが完了した旨のメッセージをユーザに通知する。
このようにして、コンテンツがダウンロードされる。上述したように、コンテンツの購入が終了した後は、ダウンロードエージェント28−1、またはDRMエージェント28−2により自動的にダウンロード処理が実行されるので、ダウンロード処理が実行されている間、ユーザはディジタルテレビジョン受像機3により、例えばストリーム配信されるコンテンツを受信して再生することもできる。ダウンロード処理と並行してストリーム配信されるコンテンツを再生する場合、インターネット1の帯域、ディジタルテレビジョン受像機3のデータ処理能力などを考慮して、ストリーム配信されるコンテンツを受信、再生する処理が優先して実行され、ダウンロード処理の優先度合は下げられる(例えば、単位時間当たりのダウンロード量が制限される)。
あるいはまた、1つのコンテンツをダウンロードしている間に、別のコンテンツをダウンロードしてもよい。このような場合、最初にダウンロードされたコンテンツのダウンロード処理が優先され、後からダウンロードされたコンテンツのダウンロード処理の優先度合は下げられる。
ユーザは、ダウンロード処理を実行中にダウンロードをキャンセルすることもできる。上述したようにダウンロード処理を実行している間、図27に示されるような画面が呈示部22により表示されている。ダウンロードをキャンセルする場合、ユーザは、リモートコマンダ51を操作することにより、画面の下部の「キャンセル」ボタン221を選択してクリックすることによりダウンロードをキャンセルすることができる。ユーザにより「キャンセル」ボタン221がクリックされると、ダウンロードエージェント28−1は、ダウンロード処理を中止し、コンテンツ記憶部27に予め作成していた、ダウンロードすべきファイル(File1,File2,File3,・・・)のディレクトリを削除する。例えば、ダウンロードすべきファイルが、File1,File2,およびFile3であり、ダウンロードが開始されてからキャンセルされるまでの間に、既に、File1とFile2ダウンロードが完了していた場合、File3のダウンロードは中止され、File1とFile2が削除される。
また、DRM処理によりライセンスを管理することができるので、複数のファイル群により構成されるコンテンツであっても、適確に著作権を管理することができる。
図24では、ユーザの意思で、ユーザが所望のコンテンツを購入し、ダウンロードする処理の例について上述したが、例えば、ショップサーバ71が主体的に、ユーザに推奨するコンテンツをディジタルテレビジョン受像機3にダウンロードさせる(プッシュする)こともできる。このような場合、ブラウザ23がショップサーバ71にアクセスしたとき、ショップサーバ71からダウンロード制御ファイルが送信され、その後は、上述したように、ダウンロードエージェント28−1によりダウンロー処理が実行される。
次に、図24を参照して上述した処理によりダウンロードされたコンテンツを、ディジタルテレビジョン受像機3で再生して利用する処理について、図30のフローチャートを参照して説明する。
ユーザがメニューボタン59を操作すると、コンテンツ再生部24は、ステップS2001において、メタデータデータベース29に記憶されているメタデータに基づいて、タイトルの一覧を呈示部22に出力し、表示させる。この処理は、図15のステップS501の処理と同様であり、図17を参照して上述した画面と同様の画面が表示される。
ステップS2002において、コンテンツ再生部24は、番組が選択されたか否かを判定し、選択されていないと判定された場合には、選択されるまで待機する。
ステップS2002において、番組が選択されたと判定された場合、ステップS2003において、コンテンツ再生部24は、選択された番組が「パック」の番組であるか否かを判定する。パック構成の番組である場合、ステップS2004に進み、コンテンツ再生部24は、選択された番組(「パック」)のパッケージ内に収納されているタイトルの一覧を表示する。この処理は、図15のステップS504と同様の処理であり、図18を参照して上述した画面と同様の画面が表示される。選択された番組が「パック」の番組ではない場合、ステップS2004の処理は、スキップされる。
コンテンツ再生部24は、ステップS2005において、再生ボタン58が操作されたか否かを判定する。再生ボタン58が操作されていないと判定された場合には、ステップS2006に進み、コンテンツ再生部24は、ユーザにより元の画面に戻る指示がなされたか否かを判定する。元の画面に戻る指示がなされていない場合には、ステップS2005に戻り、それ以降の処理が繰り返し実行される。元の画面に戻る指示がなされたと判定された場合、処理はステップS2001に戻り、再びタイトル一覧が表示され、それ以降の処理が実行される。
ステップS2005において、再生ボタン58が操作されたと判定された場合、処理はステップS2007に進む。
コンテンツ再生部24は、ステップS2007において再生または選択された番組(コンテンツ)が既にコンテンツ記憶部27に蓄積(ダウンロード)済みであるか否かを判定する。番組が既に蓄積済である場合には、ステップS2008に進み、コンテンツ再生部24は、そのコンテンツを再生する。このとき、上述したように、コンテンツ再生部24は、コンテンツ記憶部27からその暗号化されているコンテンツデータを読み出し、キーKcで復号し、呈示部22に供給し、表示させる。
ステップS2007において、コンテンツは、蓄積済みではないと判定された場合、ステップS2009に進み、ダウンロードエージェント28−1により、そのコンテンツを蓄積(ダウンロード)する処理が実行される。このとき、図24を参照して上述した場合と同様に、ダウンロードエージェント28−1により、上述したダウンロード制御ファイルに基づいてダウンロードが実行される。これにより、コンテンツサーバ75からコンテンツを構成するファイルルが送信され、送信されたファイルがコンテンツ記憶部27に記憶される。なお、図24を参照して上述した場合と同様に、コンテンツを構成するファイルのダウンロード要求に先立って、ダウンロードエージェント28−1によりコンテンツ記憶部27の空き容量がチェックされ、空き容量が不足している場合は、呈示部22により、ユーザに空き容量が不足である旨を通知する画面が表示される。
このようにして、ダウンロードしたコンテンツが再生され、利用される。
以上においては、本発明をディジタルテレビジョン受像機に応用した場合を例として説明したが、本発明は、ビデオカセットレコーダ、テレビチューナ、ハードディスクレコーダ、DVD(Digital Versatile Disk)レコーダ、その他各種のコンテンツ処理装置に適用することが可能である。
また、配信するコンテンツは、テレビジョン放送の番組に限らず、各種のコンテンツとすることができる。
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウェアにより実行させることもできる。この場合、例えば、ディジタルテレビジョン受像機3には、図31に示されるようなコンピュータが含まれる。
図31において、CPU(Central Processing Unit)321は、ROM(Read O
nly Memory)322に記憶されているプログラム、または記憶部328からRAM(Random Access Memory)323にロードされたプログラムに従って各種の処理を実行する。RAM323にはまた、CPU321が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU321、ROM322、およびRAM323は、バス324を介して相互に接続されている。このバス324にはまた、入出力インタフェース325も接続されている。
入出力インタフェース325には、キーボード、マウスなどよりなる入力部326、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部327、ハードディスクなどより構成される記憶部328、モデムなどより構成される通信部329が接続されている。通信部329は、インターネット1を含むネットワークを介しての通信処理を行う。
入出力インタフェース325にはまた、必要に応じてドライブ341が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア342が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部328にインストールされる。
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、図31に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア342により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM322や、記憶部328に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 インターネット, 2 サーバ, 3−1,3−2 ディジタルテレビジョン受像機, 4 放送局, 11 コンテンツ配信システム, 21 入力部, 22 呈示部, 23 ブラウザ, 24 コンテンツ再生部, 25 DRM処理部, 26 課金処理部, 27 コンテンツ記憶部, 28 アプリケーション, 29 メタデータデータベース, 71 ショップサーバ, 72 決済サーバ, 73 メタデータデータベース, 74 DRMサーバ, 75 コンテンツサーバ