以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
本発明によれば、情報処理装置が提供される。この情報処理装置(例えば、図4、図6、および図8のクライアント103)は、外部(例えば、図4のサーバ101であって、詳細には、図8のコンテンツサーバ225)に配置されるコンテンツ(例えば、主に図9のContents本体。ただし、本明細書においては、図9のstartup fileやDownload.xmlといった制御情報もコンテンツに含める)を取得し使用する情報処理装置であって、1以上のコンテンツのそれぞれのメタデータ(例えば、図10のメタデータであって、詳細は、図18乃至図36に示されている)が記録されているとともに、1以上の前記コンテンツの中からこれから取得するコンテンツを選択するまでのユーザの一連の操作を、前記メタデータを利用して誘導する誘導ステップ(例えば、図11のステップS2の「購入コンテンツナビゲーション処理(詳細は図13)」や、ステップS8の「利用コンテンツナビゲーション処理(詳細は図17)」)と、前記ユーザが前記誘導ステップの処理に従って選択した前記コンテンツの配置場所を前記メタデータから認識し、その配置場所にアクセスして、そのコンテンツを取得する取得ステップ(例えば、図15のステップS81乃至S82、図11のステップS7の「ダウンロード処理(詳細は図16)」、および、図11のステップS9)とを含むプログラム(例えば、図8のクライアントアプリケーション(ナビゲーションプログラム203−A)が記録されている記録媒体(例えば、図8等のリムーバブル記録媒体131)が装着される装着手段(例えば、図6と図8のドライブ164)と、前記装着手段に装着された前記記録媒体に記録されている前記メタデータを利用して、前記記録媒体に記録されている前記プログラムに含まれる前記誘導ステップと前記取得ステップとのそれぞれの処理を実行する実行手段(例えば、図6のCPU157)とを備えることを特徴とする。
この情報処理装置の前記実行手段は、前記コンテンツを取得し使用するために、前記記録媒体に記録された前記プログラムとは異なる他のプログラム(例えば、図8のコンテンツ再生部204乃至ダウンロード処理部207等のヘルパーアプリケーション)に含まれる他のステップの処理をさらに実行し、前記記録媒体には、前記他のプログラムに含まれる前記他のステップの処理のうちの少なくとも一部の処理を実行するために必要な情報がさらに記録されているようにすることができる。
また、本発明によれば、この情報処理装置の情報処理方法も提供される。
本発明によれば、記録媒体が提供される。この記録媒体(例えば、図8等のリムーバブル記録媒体131)は、外部(例えば、図4のサーバ101であって、詳細には、図8のコンテンツサーバ225)に配置されるコンテンツを取得し使用する情報処理装置(例えば、図4、図6、および図8のクライアント103)に装着される記録媒体であって、1以上の前記コンテンツのそれぞれのメタデータ(例えば、図10のメタデータであって、詳細は、図18乃至図36に示されている)が記録されているとともに、前記情報処理装置を制御するコンピュータ(例えば、図6のCPU157)に実行させるプログラムであって、1以上の前記コンテンツの中からこれから取得するコンテンツを選択するまでのユーザの一連の操作を、前記メタデータを利用して誘導する誘導ステップと、前記ユーザが前記誘導ステップの処理に従って選択した前記コンテンツの配置場所を前記メタデータから認識し、その配置場所にアクセスして、そのコンテンツを取得する取得ステップとを含むプログラム(例えば、図8のクライアントアプリケーション(ナビゲーションプログラム203−A)が記録されていることを特徴とする。
本発明によれば、外部(例えば、図4のサーバ101であって、詳細には、図8のコンテンツサーバ225)に配置されるコンテンツを取得し使用する情報処理装置(例えば、図4、図6、および図8のクライアント103)に装着される記録媒体(例えば、図8等のリムーバブル記録媒体131)の製造方法(例えば、図39に示される製造方法)であって、1以上の前記コンテンツのそれぞれのメタデータ(例えば、図10のメタデータであって、詳細は、図18乃至図36に示されている)を前記記録媒体に予め記録する第1の記録ステップ(例えば、図39のステップS302)と、前記情報処理装置を制御するコンピュータ(例えば、図6のCPU157)に実行させるプログラムであって、1以上の前記コンテンツの中からこれから取得するコンテンツを選択するまでのユーザの一連の操作を、前記メタデータを利用して誘導する誘導ステップと、前記ユーザが前記誘導ステップの処理に従って選択した前記コンテンツの配置場所を前記メタデータから認識し、その配置場所にアクセスして、そのコンテンツを取得する取得ステップとを含むプログラム(例えば、図8のクライアントアプリケーション(ナビゲーションプログラム203−A)を前記記録媒体に予め記録する第2の記録ステップ(例えば、図39のステップS304)とを含むことを特徴とする。
次に、図面を参照して、本発明の実施の形態について説明する。
はじめに、図2と図3とを参照して、本発明の原理について説明する。
図2は、従来の課題(上述した従来のコンテンツナビゲーション機能(図1参照)が有する第1の課題と第2の課題)を解決可能な、コンテンツナビゲーション機能の一形態を説明する図である。
図2の形態においては、従来の課題を解決するために、クライアント11−Aには、クライアントアプリケーション21とクライアントメタデータデータベース22とが設けられる。
クライアントアプリケーション21は、コンテンツ配信におけるクライアント11−Aの主要なユーザインタフェース機能やクライアント11−A全体のシステム制御を担うアプリケーションソフトウエアである。
クライアントアプリケーション21は、アクセス可能なコンテンツの全てに対するメタデータの取得要求(メタデータ取得要求)をネットワーク(図示せぬ)上のメタデータデータベース3(図1と同様)に対して定期的に行い、その結果、メタデータデータベース3から送信されてくるメタデータをクライアントメタデータデータベース22に記憶させる。
そして、ユーザからコンテンツの取得の指示等の指示操作がなされると、クライアントアプリケーション21は、クライアントメタデータデータベース22に対して必要なメタデータの取得要求(情報要求)を行い、その結果クライアントメタデータデータベース22から供給されるメタデータを利用して、ナビゲーション情報を画像等の形態で生成し、ユーザに呈示する。
その後、ユーザは、クライアントアプリケーション21により呈示された画像等(ナビゲーション情報)を利用して、即ち、そのクライアントアプリケーション21を利用して、コンテンツ取得までの指示操作を行う。
このように、図2に示される形態のコンテンツナビゲーション機能においては、ナビゲーション情報をユーザに呈示し、ユーザに所望のコンテンツを選択させる(対応する指示操作をさせる)までの間の処理は、クライアント11−Aの内部処理で完結する(ネットワークを介する通信処理は不要となる)。これに対して、図1に示される従来の形態では、ナビゲーション情報がユーザに呈示され、ユーザによりコンテンツが選択されるまでの間に、ネットワークを介するサーバ2との通信処理が必須となる。そこで、以下、コンテンツナビゲーション機能のうちの、従来の形態(図1に示される形態)を、ネットワーク依存型ナビゲーションと称し、また、図2に示される形態を、クライアント主体型ナビゲーションと称する。
以上説明したように、クライアント主体型ナビゲーションにおいては、ナビゲーション処理に必要な情報(メタデータ)がクライアント11−A内のクライアントメタデータデータベース22に予め蓄積されているので、即ち、インターネット等のネットワークを介する通信処理を行ってメタデータを新たに取得する必要が無いので、迅速な情報アクセスや表示ができる。即ち、従来の第1の課題を解決できる効果を奏することが可能になる。
さらに、クライアント主体型ナビゲーションにおいては、ブラウザ11(図1)ではなくクライアントアプリケーション21が、ユーザとのインタラクションも含めたナビゲーション(処理)をハンドリングする。従って、このクライアントアプリケーション21として、視聴者の操作性を追求したソフトウエアを適用することで、事業者によらず統一感のある分かり易いコンテンツナビゲーション機能を実現できる。即ち、従来の第2の課題を解決できる効果を奏することが可能になる。
一方、クライアント11−Aの製造や販売等を行う者(自然人、法人、または団体等)にとっては、独自のクライアントアプリケーション21をクライアント11−Aに搭載させることで、差別化戦略を築き易い、といった効果を奏することも可能である。
しかしながら、このような効果を奏することが可能なクライアント主体型ナビゲーションにも、次のような第3の課題と第4の課題が存在する。
即ち、第3の課題とは、コンテンツの数が増大すると、それらのメタデータの全てをクライアントメタデータデータベース22に保持させるのは困難となるという課題である。
第4の課題とは、メタデータデータベース3の分散化に対する対処方法や、メタデータの定期的な取得によるクライアントメタデータデータベース22の更新方法等の運用方法の実現が困難であるという課題である。
そこで、本願出願人は、第3の課題と第4の課題とを解決すべく、次のような手法を発明した。即ち、本願出願人が発明した手法とは、図3に示されるように、リムーバブル記録媒体31にメタデータを記録させ、クライアント11−Bにそのメタデータを利用させる手法である。換言すると、本願出願人は、図2のクライアント主体型ナビゲーションに対して、本手法を適用することで、図3に示されるような、コンテンツナビゲーション機能の新たな形態を発明したとも言える。
以下、この図3を参照して、本発明の原理(手法)についてさらに詳しく説明する。なお、図3において、図2と対応する部分には対応する符号が付してある。
図3に示されるように、本発明が適用されるクライアント11−Bにも、図2のクライアント11−Aと同様に、クライアントアプリケーション21とクライアントメタデータデータベース22とが設けられている。
ただし、本発明においては、クライアントメタデータデータベース22に蓄積されるメタデータは、メタデータデータベース3からネットワークを介する定期的な通信により取得されるだけではなく、リムーバブル記録媒体31からの取得も可能とされている。
なお、メタデータのリムーバブル記録媒体31への記録の形態自身は特に限定されないが、例えば、リムーバブル記録媒体31にメタデータが記録されていることをクライアント103が容易に判断できるように、特定のファイル名で記録させることができる。さらに、メタデータを一般的に開放したくない等の場合には、例えば、リムーバブル記録媒体31の特定のセクタなど隠蔽された固定空間にメタデータを記録させてもよい。
このように、リムーバブル記録媒体31にメタデータを記録させることで、クライアント11−Bは、必要なときにのみ、そのリムーバブル記録媒体31からメタデータを適宜取得することができ、その結果、クライアントメタデータデータベース22側でメタデータの全てを保持がする必要がなくなる。即ち、第3の課題を解決できる効果を奏することが可能になる。
また、ユーザがリムーバブル記録媒体31を保有し、必要なとき(コンテンツの取得を所望するとき等)にリムーバブル記録媒体31をクライアント11−Bに単に装着させる、といった簡易な運用方法の実現が容易に可能となる。即ち、第4の課題を解決できる効果を奏することが可能になる。
なお、メタデータを記録させるリムーバブル記録媒体31の形態は特に限定されず、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、および半導体メモリ等の様々な形態が存在する。
従って、ナビゲーション情報等の提示形態を、リムーバブル記録媒体31の形態に対応して可変させることができる。即ち、リムーバブル記録媒体31に記録された他の情報(コンテンツ等)の一般的な呈示形態と同様の呈示形態で、ナビゲーション情報等も呈示させることもできる。これにより、ユーザは、リムーバブル記録媒体31に記録された情報を使用する場合の一般的な操作と同様の操作を行うだけで、そのリムーバブル記録媒体31に記録されたメタデータに対応するコンテンツの取得操作を行うことができる。即ち、上述した従来の第2の課題をよりよく解決できる効果を奏することが可能になる。
具体的には、例えば、DVDの再生機器等においては、DVDに記録された複数のコンテンツ(例えば、映画の本編と、他の映画のダイジェスト版)の中から視聴するコンテンツを切り替える操作や、所定の1コンテンツ内のシーンを切り替える(チャプタを選択する)操作を行うために、メニュー画面と称される画像を利用するユーザインタフェースが提供されている。
そこで、クライアント11−Bのクライアントアプリケーション21は、このようなユーザインタフェースの提供機能を有していれば、DVD−ROMで構成されるリムーバブル記録媒体31に記録されたメタデータから、ナビゲーション情報等をメニュー画面の形態で生成し、表示させることができる。
これにより、ユーザは、DVD−ROM(リムーバブル記録媒体31)によって提供されたメニュー画面(ナビゲーション情報等)を利用することで、例えば、そのメニュー画面のうちの所定のボタン(ブロードバンド配信サービスのボタン等)のクリック操作を行うことで、多様なメディア連動サービスの享受が可能となる。具体的には、例えば、サービス提供者側で予め指定したインターネット上のサイトを表示させるサービスや(ただし、クライアントアプリケーション21等がHTML文章やBML文章のブラウジング機能を有している場合)、クライアント11−Bに既にダウンロードされたコンテンツ(例えば、特定の期間ある種のサービスによりお薦め録画的にダウンロードされたコンテンツ)の参照サービス等の享受が可能となる。
このように、DVDのメニュー画面を利用した操作に慣れたユーザにとっては、そのメニュー画面を利用するコンテンツの取得操作の利便性が非常に高くなる、といった効果を奏することが可能になる。
このような様々な効果を奏することが可能な本発明(図3)の具体的な適用例として、例えば、次のような例が挙げられる。
即ち、例えば、販売コンテンツが記録されたリムーバブル記録媒体31(パッケージメディア)に、その販売コンテンツとは異なる他のコンテンツのメタデータをさらに記録させることで、販売コンテンツ(リムーバブル記録媒体31)を購買したユーザに対して、他のコンテンツのメタデータも流通させる、といった例である。
この例の場合、販売コンテンツと他のコンテンツとの組み合わせ方は無数に考えられ、その組み合わせ方によって様々な分野に適用可能である。
例えば、販売コンテンツにプレミアム(付加価値)を付けることを目的として他のコンテンツを利用する、といった分野に適用可能である。具体的には、例えば、販売コンテンツとして、とある歌手の楽曲を想定した場合、他のコンテンツとして、その歌手のコンサートの録画映像等(データ)をインターネット上に保存しておき、販売コンテンツのパッケージメディア(リムーバブル記録媒体31)の中に、他のコンテンツのライセンスを取得するために必要な情報や、他のコンテンツの紹介(宣伝)を呈示するために必要な情報等をメタデータとして記録しておくことができる。
また、例えば、他のコンテンツの宣伝を行うことを目的として販売コンテンツを利用する、といった分野にも適用可能である。具体的には、例えば、宣伝対象のコンテンツ(他のコンテンツ)として、未来にインターネット配信される予定の有料コンテンツ(ドラマ番組等)を想定した場合、その配信予定の有料コンテンツ(他のコンテンツ)に関連するコンテンツ(例えば、同一の俳優が出演している映画等)が、販売コンテンツとして記録されたパッケージメディア(リムーバブル記録媒体31)の中に、他のコンテンツのライセンスを取得するために必要な情報や、他のコンテンツの紹介(宣伝)を呈示するために必要な情報をメタデータとして記録しておくことができる。
なお、このような有料コンテンツに対するメタデータをリムーバブル記録媒体31に含ませる場合、そのメタデータの中には、対応する有料コンテンツの購入期間、価格、および、ライセンスに関する情報が含まれていると好適である。ただし、これらのメタデータの詳細については、図10、および、図18乃至図36等を参照して後述する。
さらに、本発明(図3)の具体的な他の適用例として、例えば、販売コンテンツ等を含まないリムーバブル記録媒体31(空のリムーバブル記録媒体31等)にコンテンツのメタデータ(および、コンテンツの取得に必要なその他の情報)のみを記録させ、そのコンテンツを流通させる、といった例が挙げられる。
具体的には、例えば、通常、音楽アルバムの販売用CDには、提供者側で予め設定された楽曲(例えば、5つの楽曲)が記録されている。これに対して、本発明を適用することで、例えば、予め設定された10の楽曲の中から所望の楽曲を5つまでユーザに自由に選択させ、CDに記録させる、といった例の実現が容易に可能となる。即ち、10の楽曲のそれぞれのメタデータのみが記録されたリムーバブル記録媒体31をユーザに販売し、ユーザは、そのリムーバブル記録媒体31をクライアント11−Bに装着させることで、それらの10の楽曲の中から任意の(所望の)5曲のみをダウンロードさせ、そのリムーバブル記録媒体31に記録させる、といった例の実現が容易に可能となる。
さらにまた、本発明(図3)の具体的な他の適用例として、例えば、コンテンツを幅広く流通させることを目的として、そのコンテンツのメタデータのみを記録したリムーバブル記録媒体31を無償で或いは安価(コンテンツの価格未満)でユーザに配布する、といった例も挙げられる。
ところで、以上においては、クライアントアプリケーション21がクライアント11−Bにインストールされていることが前提とされた。このため、上述したような本発明(図3)の具体的な適用例を実現する場合、対象となるユーザは、クライアントアプリケーション21がインストールされたクライアント11−Bを保有する者のみであるという縛りが発生し、この縛りのため、コンテンツの幅広い流通が困難となるという課題が発生してしまう。
そこで、このような課題を解決するために、本発明においては、メタデータに加えてさらに、クライアントアプリケーション21−Aもリムーバブル記録媒体31に記録させることができる。
なお、リムーバブル記録媒体31に記録されるクライアントアプリケーションの符号として、単に21を付与せずに21−Aを付与しているのは、クライアント11−Bにインストールされたクライアントアプリケーション21と、リムーバブル記録媒体31に記録されるクライアントアプリケーション21−Aとは必ずしも一対一に対応するとは限らないからである。
即ち、リムーバブル記録媒体31に記録されるクライアントアプリケーション21−Aは、リムーバブル記録媒体31に共に記録されるメタデータに対応するコンテンツを取得するために必要な機能(例えば、コンテンツナビゲーション機能と、コンテンツ取得機能)を有すれば足りる。これに対して、クライアント11−Bにインストールされたクライアントアプリケーション21は、後述するように、コンテンツナビゲーション機能やコンテンツ取得機能以外にも、様々な機能を有していることが多いからである。また、リムーバブル記録媒体31に記録されているクライアントアプリケーション21−Aは、リムーバブル記録媒体31に共に記録されるメタデータに対応するコンテンツの取得は可能であるが、それ以外のコンテンツの取得が可能であるとは限らないからである。
そこで、以下、リムーバブル記録媒体31に記録されたクライアントアプリケーション21−Aを、クライアント103にインストールされたクライアントアプリケーション21と明確に区別するために、ナビゲーションプログラム21−Aと適宜称する。
即ち、ナビゲーションプログラム21−Aとは、1以上のコンテンツの中からこれから取得するコンテンツを選択するまでのユーザの一連の操作を、(リムーバブル記録媒体31に共に記憶される)メタデータを利用して誘導するコンテンツナビゲーション機能を少なくとも有するソフトウエアであって、リムーバブル記録媒体31に記録されるソフトウエアである。なお、ナビゲーションプログラム21−Aは、他の機能をさらに有することもある。例えば、他の機能としては、ユーザがコンテンツナビゲーション機能を利用して選択したコンテンツの配置場所を(リムーバブル記録媒体31に共に記憶される)メタデータから認識し、その配置場所にアクセスして、そのコンテンツを取得するコンテンツ取得機能等が挙げられる。
なお、後述するように(図8の白抜き矢印に示されるように)、メタデータやクライアントアプリケーション(ナビゲーションプログラム)21−Aに加ええてさらに、そのメタデータに対応するコンテンツの一部(後述する図9に示されるstartup fileやDownload.xmlといった制御情報)等をリムーバブル記録媒体31に記録させることもできる。これにより、それらの情報を取得するためのネットワーク通信が不要となり、その結果、通信量の削減ができる。また、後述するように、そのような情報をメタデータと共に記録したリムーバブル記録媒体31自身の付加価値を高めることもできる。
さらに、このメタデータの取得、または、クライアントアプリケーション(ナビゲーションプログラム)21−Aのインストール、起動、若しくは、所定の処理の実行のためのコマンドやファイル等が、メタデータやクライアントアプリケーション(ナビゲーションプログラム)21−Aと共にリムーバブル記録媒体31に記録されることもある。
さらにまた、ヘルパーアプリケーション(コンテンツ再生部204乃至ダウンロード処理部207等)の処理のうちの少なくとも一部の処理を実行するために必要な情報(コマンドやファイル)がリムーバブル記録媒体31に記録されることもある。
以上、本発明の概略(原理)について説明した。以下、本発明についてさらに詳しく説明する。
図4は、本発明が適用されるコンテンツ配信システム、即ち、本発明が適用される情報処理装置(クライアント等)を含むコンテンツ配信システムの構成例を示している。
図4に示されるように、本実施の形態のコンテンツ配信システムにおいては、サーバ101とクライアント103とがネットワーク102を介して相互に接続されている。
なお、図4においては、サーバ101とクライアント103とがそれぞれ1つずつしか図示されていないが、当然ながら、サーバ101とクライアント103とのそれぞれの個数は1に限定されず、複数個とすることができる。また、後述するように、サーバ101は、1台の情報処理装置で構成してもよいし、複数台の情報処理装置で構成してもよい。
また、ネットワーク102の形態は特に限定されないが、ここでは、上述した従来の例との比較を容易なものとするために、インターネットとされる。
サーバ101は、例えば、図5に示されるようなパーソナルコンピュータで構成することができる。或いは、サーバ101は、複数台の、図5に示されるようなパーソナルコンピュータで構成することができる。
図5において、CPU(Central Processing Unit)121は、ROM(Read Only Memory)122に記録されているプログラム、または記憶部128からRAM(Random Access Memory)123にロードされたプログラムに従って各種の処理を実行する。RAM123にはまた、CPU121が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU121、ROM122、およびRAM123は、バス124を介して相互に接続されている。このバス124にはまた、入出力インタフェース125も接続されている。
入出力インタフェース125には、キーボード、マウスなどよりなる入力部126、ディスプレイなどよりなる出力部127、ハードディスクなどより構成される記憶部128、および、モデム、ターミナルアダプタなどより構成される通信部129が接続されている。通信部129は、インターネットを含むネットワーク102(図4)を介して他の情報処理装置(ここでは、図4に示されるように、クライアント103)との通信処理を行う。
入出力インタフェース125にはまた、必要に応じてドライブ130が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体131が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部128にインストールされる。
また、ドライブ130に装着されたリムーバブル記録媒体131には、記憶部128に記憶されているデータやプログラム、例えば、上述したメタデータ、ナビゲーションプログラム(クライアントアプリケーション)、コンテンツの一部分(制御情報)等、様々な情報が適宜記録される。なお、リムーバブル記録媒体131に記録される情報には、外部から供給され通信部129により受信された情報が含まれることもある。
換言すると、サーバ101は、メタデータ、ナビゲーションプログラム(クライアントアプリケーション)、および、コンテンツの一部分(制御情報)等、様々な情報を、ドライブ130に装着されたリムーバブル記録媒体131に記録することができる。即ち、メタデータが記録されたリムーバブル記録媒体131、ナビゲーションプログラム(クライアントアプリケーション)がさらに記録されたリムーバブル記録媒体131、または、コンテンツの一部分(制御情報)等、その他の情報がさらに記録されたリムーバブル記録媒体131が、サーバ101により製造される。
なお、このようなメタデータ、ナビゲーションプログラム(クライアントアプリケーション)、および、その他の情報のうちの少なくともメタデータが記録されたリムーバブル記録媒体131は、サーバ101とは異なる他の情報処理装置(図示せず)により製造されることもある。
以上、図5を参照して、サーバ101のハードウエアの構成例について説明した。
次に、クライアント103のハードウエアの構成について説明する。
クライアント103も、図5に示されるようなパーソナルコンピュータで構成することもできるが、その他、例えば、図6に示されるように、ハードディスクビデオレコーダで構成することもできる。
この場合、図6に示されるように、クライアント103には、アンテナ171と表示装置172がさらに接続される。
クライアント103は、図示せぬ放送局から放送された放送電波をアンテナ171を介して受信すると、その放送電波を復調し、その結果得られる映像信号と音声信号とを表示装置172に提供する。このとき必要に応じて、クライアント103は、その映像信号と音声信号とをコンテンツとして自分自身の内部(後述する同図の補助記憶部160等)に記憶させ、それ以降、再生が指令される度に、その映像信号と音声信号とを表示装置172に繰り返し供給することができる。
また、クライアント103は、図4のサーバ101から配信されてくるコンテンツをネットワーク102を介して受信し、そのコンテンツに対応する映像信号と音声信号とを表示装置172に供給したり、コンテンツを自分自身の内部に一度記憶させ、それ以降、再生が指令される度に、そのコンテンツに対応する映像信号と音声信号とを表示装置172に繰り返し供給することもできる。
即ち、サーバ101のコンテンツの配信方法には、ストリーミングによる配信(以下、ストリーミング配信と適宜称する)とダウンロードのファイルによる配信(以下、ダウンロード配信と適宜称する)とが存在する。ストリーミング配信の場合、クライアント103は、ネットワーク102を介して受信したコンテンツ(それに対応する映像信号と音声信号)をリアルタイムで表示装置172に出力することになる。これに対して、ダウンロード配信の場合、コンテンツは、例えば、補助記憶部160等に一旦記録される。それ以降、再生が指令される度に、補助記憶部160等に記録されたコンテンツ(ファイル)が読み出され、そのコンテンツに対応する映像信号と音声信号とが表示装置172に繰り返し供給される。
表示装置172は、例えば、テレビジョン受像機やモニタ等として構成され、クライアント103から映像信号と音声信号とが供給されると、その映像信号に対応する映像を表示するとともに、その音声信号に対応する音声を出力する。
クライアント103のハードウエア構成例についてさらに詳しく説明する。
図6のクライアント103において、チューナ151は、ユーザにより選択されたチャンネル(入力部162の入力に対応するチャンネル)または予め設定されたチャンネルの放送電波、即ち、そのチャンネルに対応する放送局から放送された放送電波をアンテナ171を介して受信して復調し、その結果得られるテレビジョン放送信号(映像信号と音声信号)をエンコーダ152に供給する。
このとき、地上波のテレビジョン放送信号の垂直ブランキング期間には、これから放送される放送番組に対するEPG(Electronic Program Guide)情報が含まれていることがある。また、衛星波のテレビジョン放送信号にも、これから放送される放送番組に対するEPG情報が含まれていることがある。そこで、チューナ151はさらに、復調した映像信号をEPG取得部154にも供給する。
EPG取得部154は、供給された映像信号にEPG情報が含まれている場合、そのEPG情報を抽出して所定のメモリ(例えば、主記憶部161、補助記憶部160、或いは、主記憶部155等)に記憶させる。なお、このEPG情報を、上述したメタデータとして使用することもできる。
エンコーダ152は、チューナ151より供給されたテレビジョン放送信号を、例えばMPEG(Moving Picture Experts Group)方式でエンコードした上で、バス158を介して補助記憶部160にファイル形式で記憶させる。
即ち、補助記憶部160は、例えば、ハードディスク等で構成され、各放送番組のそれぞれを構成するデータ、即ち、エンコードされたテレビジョン放送信号をファイル形式で記憶する。
また、補助記憶部160は、上述したように、サーバ101(図4)から配信され、通信部163に受信されたコンテンツ(ファイル)も記憶する。
さらに、補助記憶部160は、リムーバブル記録媒体131に記録された情報、即ち、上述した、メタデータやナビゲーションプログラム(後述する図8の例では、クライアントアプリケーション(ナビゲーションプログラム)203−A)がインストールされる。
補助記憶部160に記憶されたコンテンツ(データ)のうちの再生が指示されたコンテンツは、バス158を介してデコーダ153に供給される。デコーダ153は、このコンテンツ(データ)を、MPEG方式でデコードした上で表示装置172に供給する。デコーダ153は、通信部163から供給されるコンテンツ(ストリーミング配信のコンテンツ)のデータも、MPEG方式でデコードした上で表示装置172に供給する。
さらに、デコーダ153は、補助記憶部160等に記憶されたその他の各種情報(例えば、後述する図14のコンテンツのリスト等)も、映像信号または音声信号の形態で表示装置172に供給する。
なお、エンコーダ152とデコーダ153は、補助記憶部160に記憶されていたコンテンツ若しくはその他の情報、または、通信部163から供給されるコンテンツ若しくはその他の情報等を表示装置172に供給していないときには、チューナ151より出力されたテレビジョン放送信号をそのまま表示装置172に供給することもできる。
ところで、バス158には、上述した、エンコーダ152、デコーダ153、および、補助記憶部160の他、ROM159、主記憶部161、入力部162、および通信部163が接続されている。ROM159には、CPU157が実行するプログラム(その具体例については図8を参照して後述する)が記憶されている。一方、RAMなどよりなる主記憶部161には、CPU157が各種の処理を実行する上において必要なデータやパラメータが適宜記憶される。入力部162は、クライアント103の表面に配置されるキー群(図示せず)や、図7に示されるリモートコマンダ181と受光部(図示せず)との組み合わせ等から構成される。
図7に示されるように、このリモートコマンダ181は、数字1乃至12に対応する数字ボタン182を有している。また、リモートコマンダ181の前方先端には、ユーザのボタン操作に対応する赤外線信号を発生する発生部183が設けられている。
数字ボタン182の図中下側には、カーソルなどを上下左右に移動させるとき操作される方向ボタン185U,185D,185L,185Rと、その中央に確定処理を行うとき、操作される決定ボタン184が配置されている。
また、リモートコマンダ181の図中下側には、詳細ボタン186、停止ボタン187、および再生ボタン188が設けられている。詳細ボタン186は、呈示されている情報のより詳細な情報の提示を指示するとき操作される。停止ボタン187は、コンテンツの再生を停止するとき操作される。再生ボタン188は、コンテンツの再生を指示するとき操作される。再生ボタン188の上方のメニューボタン189は、メニューを表示するとき操作される。
なお、図示は省略されているが、リモートコマンダ181には、この他、各種の機能が割り当てられた各種のボタンが適宜設けられる。
図6に戻り、通信部163は、ネットワーク102を介するサーバ101(図4)との通信を制御する。なお、通信部163により通信が制御される情報の具体例については、図8を参照して後述する。
バス158にはさらに、ドライブ164が接続され、磁気ディスク、光ディスク、光磁気ディスク、または、半導体メモリなどのリムーバブル記録媒体131が適宜装着され、それらから読み出されたコンピュータプログラムが必要に応じて補助記憶部160にインストールされる。具体的には、例えば、リムーバブル記録媒体131にクライアントアプリケーション(ナビゲーションプログラム)203−A(後述する図8参照)が記録されていた場合、それが必要に応じて適宜読み出され、補助記憶部160にインストールされる。
また、リムーバブル記録媒体131にメタデータが記録されていた場合、それが必要に応じて適宜読み出され、補助記憶部160の所定の領域(後述する図8に示されるクライアントメタデータデータベース209)に記憶される。
さらに、リムーバブル記録媒体131にその他の情報(後述する図9のstartup fileやdownload.xml等の制御情報や、後述するクライアントアプリケーション203に対するコマンド若しくはファイル等)が記録されている場合、それが必要に応じて適宜読み出され、主記憶部155や主記憶部161等に記憶される。
一方、バス156には、チューナ151、エンコーダ152、デコーダ153、EPG取得部154、RAMなどよりなる主記憶部155、および、CPU157が接続されている。
従って、例えば、クライアント103が起動された場合、CPU157は、ROM159に記録された各種のソフトウエアを読み出し、それらのソフトウエアに従って所定の処理を実行する。このとき、主記憶部155や主記憶部161には、そのときの処理に必要なデータなどが適宜記憶されるので、CPU157は、これらのデータの送受信の処理をバス156やバス158を介して対応するブロックと行う。
図8は、本実施の形態のコンテンツ配信システム(図4)の機能的構成例を示している。即ち、図8は、本実施の形態のサーバ101(図5)とクライアント103(図6)とのそれぞれの機能的構成例を示している。
図8において、太線の矢印はメタデータの伝送の流れを、白抜きの矢印はコンテンツの伝送の流れを、細線の矢印はその他の情報の流れを、それぞれ示している。
はじめに、クライアント103に着目すると、入力部162は、上述したように、リモートコマンダ181(図7)等で構成され、ユーザからの各種の指令を入力する。表示装置172は、上述したように、コンテンツを構成する画像を表示したり、対応する音声を出力する。また、表示装置172は、その他の各種の情報をユーザに呈示する。なお、上述した説明においては、表示装置172は、クライアント103に接続された外部機器として捉えたが、クライアント103の一構成要素であると捉えてもよい。そこで、表示装置172がクライアント103の一構成要素となり得ることも考慮して、以下、表示装置172を呈示部172と称する。
クライアントアプリケーション203は、上述したように、クライアント103がコンテンツ配信におけるクライアント端末として機能するように、主要なユーザインタフェース機能やクライアント103のシステム制御機能を有するアプリケーションソフトウエアである。
詳細には、クライアントアプリケーション203の主要な機能として、例えば、次の(1)乃至(10)に示される機能が存在する。
(1)クライアント103の様々な機能へのエントリの提供(メニュー)
(2)クライアント103が利用するコンテンツ(パッケージ)のメタデータの事前取得機能
(3)クライアントメタデータデータベース209に蓄積されたメタデータに基づくコンテンツナビゲーション機能(購入または取得のためのコンテンツ(パッケージ)選択を目的としたナビゲーション機能(後述する図13参照)、利用のためのコンテンツ選択を目的としたナビゲーション機能(後述する図17参照))
(4)決済サーバ222との間でコンテンツ購入に関わる決済を行うための決済クライアント機能(課金処理部206の制御機能含む。後述する図11のステップS4とS5の処理参照)
(5)DRM(Digital Right Management)処理の制御機能(DRM処理部205の制御機能含む。後述する図15参照)
(6)コンテンツサーバ225から配信されるコンテンツのダウンロード制御機能(ダウンロード処理部207の制御機能含む。後述する図18参照)
(7)コンテンツ再生部204の起動(コンテンツ選択後の処理であって、後述する図11のステップS9の処理参照)
(8)ドライブ164等を介した外部メディア(リムーバブル記録媒体131等)へのコンテンツの移動の指示
(9)クライアント103全体のシステム制御
(10)タイマー制御及びこれに基づく通電制御
なお、上述した(1)乃至(10)で示される機能のそれぞれは、クライアント103に予め備えられていることもあるし(一般的に、(3)を除く機能は予め備えられていることが多い)、後から得られることもある。即ち、後者については、リムーバブル記録媒体131がドライブ164に装着され、そのリムーバブル記録媒体131に記録されている、(3)の機能を少なくとも有するナビゲーションプログラム203−Aがインストールされた結果として、(3)の機能が追加されることになる。
勿論、ナビゲーションプログラム203−Aは、(3)の機能以外にも他の機能、例えば、(4)乃至(7)等の機能を有していることもあり、クライアント103にこれらの機能が予め備えられていなければ、ナビゲーションプログラム203−Aがインストールされることで、これらの機能が追加されることになる。
また、クライアントアプリケーション203は、ブラウンジング機能を有することもある。ブラウジング機能とは、例えば、HTML(Hyper Text Markup Language)文書(CSS(Cascading Style Sheets)を含む)の呈示機能と、HTMLに含まれるスクリプトの実行機能を含む。また、同様に、BML(Broadcast Markup Language)文書(CSSを含む)の呈示機能と、BMLに含まれるスクリプトの実行機能含む。この他、コンテントガード社のXrML(eXtensible rights Markup Language)に対応する機能を含むこともできる。ただし、ブラウジング機能は、クライアントアプリケーション203にとって必須な機能ではなく、ブラウジング機能を有するブラウザがクライアントに別途設けられることもある(図38参照)。
このように、クライアントアプリケーション203は、クライアント103の制御の最上位に位置し、クライアント103をコンテンツ配信端末として機能させるための、ユーザインタフェースの全般と、ナビゲーションから視聴までのシナリオを設定するソフトウエアである。
このようなクライアントアプリケーション203に対して、コンテンツ再生部204、DRM処理部205、課金処理部206、および、ダウンロード処理部207等は、例えば、クライアントアプリケーション203に対するヘルパーアプリケーションソフトウエアとして構成される。
ただし、コンテンツ再生部204、DRM処理部205、課金処理部206、および、ダウンロード処理部207等は、ハードウエア等の他の形態で構成してもよい。
コンテンツ再生部204は、例えば、マイクロソフト社のメディアプレーヤ(商標)に代表されるソフトウエアにより構成され、コンテンツの再生等を制御し、実行する。コンテンツ再生部204はまた、マークアップ言語処理以外のクライアントアプリケーション203に組み込まれている各種の制御を実行することもある。
DRM(Digital Right Management)処理部205は、サーバ101を構成するDRMサーバ224と通信し、コンテンツに関するライセンスを取得し、クライアント103内において、これを管理する。なお、DRM処理部205は、暗号化されているデータを復号するキーKc(図示せず)をコンテンツ再生部204に供給するので、キーKcをセキュアに管理するためには、例えば、コンテンツ再生部204と一体化される。
課金処理部206は、電子マネー、プリペイドなどの方式に基づいて、課金処理を行う。
ダウンロード処理部207は、ダウンロード配信において、コンテンツサーバ225からファイル形式で配信されるコンテンツをダウンロードし、コンテンツ記憶部208に記憶させる処理を行う。即ち、コンテンツ記憶部208は、例えば、補助記憶部160(図6)のハードディスク(一領域)などで構成され、サーバ101のコンテンツサーバ225から提供されるコンテンツを記憶する。
クライアントメタデータデータベース209は、サーバ101のメタデータデータベース223からネットワーク102を介して通信されてくるメタデータを保持したり、ドライブ164に装着されたリムーバブル記録媒体131から読み出されたメタデータを保持する。
なお、上述したように、リムーバブル記録媒体131には、これらのヘルパーアプリケーション(コンテンツ再生部204乃至ダウンロード処理部207等)の処理のうちの少なくとも一部の処理を実行するために必要な情報(コマンドやファイル)が記録されていることもある。
次に、サーバ101に着目すると、サーバ101は、図8の例では、ショップサーバ221、決済サーバ222、メタデータデータベース223、DRMサーバ224、およびコンテンツサーバ225により構成されている。
サーバ101の各部は、クライアント103の各部と、図8に示されるように、相互に情報を授受する。
ショップサーバ221は、サービスプロバイダのユーザ(クライアント103の保有者)に対する窓口となるサーバ機能を有している。即ち、このサーバ機能として、例えば、コンテンツ購入に伴う決済処理機能(決済サーバ222との通信機能含む)、決済処理後のライセンス発行手続き処理機能(DRMサーバ224との通信機能含む)、および、ライセンス再発行やコンテンツ再ダウンロードなどのユーティリティの提供機能等が含まれる。
なお、一般的にはさらに、サーバ機能として、コンテンツ選択のために必要な検索、プロモーション、内容説明などのナビゲーションシナリオをHTML文章またはBML文書としてクライアント103に提供する機能も含まれていることが多い。ただし、本実施の形態においては、この機能は必須ではない。クライアント103側のクライアントアプリケーション203が、この機能に対応する機能、即ち、自身内部(クライアントメタデータデータベース209)に蓄積されたメタデータを利用するコンテンツナビゲーション機能を有しているからである。
決済サーバ222は、クライアント103の課金処理部206等と通信し、決済処理を行う。決済サーバ222は、ショップサーバ221からの決済処理依頼に基づいて、決済処理を行い、その決済結果をショップサーバ221に出力する。
メタデータデータベース223は、クライアントアプリケーション203からの定期的なメタデータ取得依頼に基づいて、記憶しているメタデータを読み出し、ネットワーク102を介して、クライアント103のクライアントメタデータデータベース209に供給し、記憶させる。
また、メタデータデータベース223は、サーバ101の管理者等の指示に基づいて、記憶しているメタデータをリムーバブル記録媒体131に記憶させる。即ち、サーバ101は、メタデータを予め記録したリムーバブル記録媒体131を製造する。このリムーバブル記録媒体131がクライアント103のドライブ164に装着されると、そのリムーバブル記録媒体131に記憶されたメタデータが読み出され、クライアントメタデータデータベース209に記憶される。
なお、リムーバブル記録媒体131には、図8に示されるように、クライアントアプリケーション(ナビゲーションプログラム)203−A、コンテンツサーバ225から供給されるコンテンツの一部分(後述する図9のstartup fileやDownload.xml)、および、その他上述した各種情報(図8には図示せず)が必要に応じて記録される。
さらに、メタデータデータベース223は、ショップサーバ221からのメタデータ検索依頼に基づいて、検索して得られたメタデータをショップサーバ221に供給する。
DRMサーバ224は、ショップサーバ221からのライセンス発行許可要請に基づいて、クライアント103のDRM処理部205と通信し、DRM処理を実行する。このDRM処理には、ユーザがライセンスを有する適正なユーザであるのか否かの認証処理、暗号化されているデータを復号するのに必要なキーKcの付与、取得処理、その他の著作権管理に必要な処理が含まれる。正しいDRM処理が実行できたとき、DRMサーバ224は、コンテンツサーバ225にコンテンツを暗号化するのに必要なキーKcを供給する。また、DRMサーバ224は、正しいDRM処理が実行できたとき、クライアント103のDRM処理部205に、対応するキーKcを供給する。
コンテンツサーバ225は、DRMサーバ224より供給されたキーKcを用いて、コンテンツデータを暗号化し、コンテンツ再生部204にストリーミング配信するか、または、ダウンロードのファイルとしてコンテンツ記憶部208に配信し、記憶させる。
また、ここでは、後述する図9に示されるように、startup fileやDownload.xml等のコンテンツ制御情報もコンテンツの一部である(コンテンツに含まれる)とされており、コンテンツサーバ225は、このようなコンテンツ制御情報(コンテンツ)をクライアントアプリケーション203に送信したり、或いは、上述したように、リムーバブル記録媒体131に記憶させる。
なお、図8の例では、サーバ101を複数のサーバ(複数台の情報処理装置)で構成するようにしたが、1つのサーバ(1台の情報処理装置)で構成することも、もちろん可能である。
図9は、決済、DRM処理、および再生に関する各種の情報の関係を表している。同図に示されるように、機器IDとユーザID(User ID)は、1対1に対応している。機器IDは、クライアント103にそれぞれ割り当てられたIDであり、ユーザIDは、そのクライアント103を使用するユーザに割り当てられたIDである。これらのIDにより、クライアント103やユーザが個々に識別される。
所定のユーザIDが割り当てられたユーザは、サーバ101の管理者との間で、商品としてのパッケージを購入する契約を行う。具体的には、ユーザは、サーバ101から提供されるコンテンツ(番組等)の中から所望のコンテンツをパッケージ(Package)として購入する。このパッケージには、パッケージメタデータ(Package Meta data)が1対1に対応している。
各パッケージには、1以上のコンテンツが対応付けられている。1つのコンテンツは、コンテンツ(Contents)本体、ダウンロード用の管理情報ファイルとしてのDownload.xml、およびスタートアップファイル(startup file)により構成される。コンテンツ本体は、例えば、コンテンツが番組である場合、その番組の内容を表すコンテンツデータの本体である。
管理情報ファイルとしてのDownload.xmlは、そのコンテンツがダウンロード用のコンテンツである場合に用意されるものであり、その中には、ディレクトリ、ファイル名等が記述されている。そのディレクトリに記述されている全てのファイルが受信されたとき、ダウンロードが完了したことになる。
startup fileは、そのコンテンツがダウンロード配信用のデータであるのか、ストリーミング配信用のデータであるのかといったことを表す配信タイプに関する情報を含んでいる。即ち、startup fileは、そのコンテンツ内で最初に実行される制御情報であって、その内容に基づいて、Contents本体等を起動する(遷移する)。
ところで、上述したように(図8の白抜き矢印で示されるように)、このようなDownload.xmlやstartup fileといったコンテンツの一部分(Contents本体等の制御情報)を、対応するコンテンツのメタデータと共にリムーバブル記録媒体131(図8)に記録させることができる。
これにより、クライアントアプリケーション203(図8)は、後述するように、これらの情報(コンテンツの制御情報等)を取得するための通信をサーバ101と行う必要が無くなり、その結果、サーバ101との通信量を削減することができる。
さらに、メタデータと、ダウンロード制御ファイル等とを組み合わせて使うことにより、リムーバブル記録媒体131自体の付加価値を新たに創造することもできる。
例えば、所定のサービスを受けるために必要なファイル情報(Download.xml等)を、リムーバブル記録媒体131の特定の領域に埋め込むことにより、パーソナルコンピュータのようなWebアクセスの操作や端末としての機能(キーボード入力)等が簡略化できた状態で(即ち、ユーザにとっては、パーソナルコンピュータの操作よりも容易な操作を行うだけで)、その制御ファイル(Download.xml等)に従った処理が実行され、その結果、必要なデータファイル(Contents本体等)一式のダウンロードが可能になる。
ところで、コンテンツには、コンテンツID(Contents ID)が1対1に対応する。コンテンツは、このコンテンツIDにより識別される。コンテンツIDには、コンテンツメタデータ(Contents Metadata)がさらに1対1に対応する。コンテンツメタデータは、図10に示されるように、コンテンツID(Contents_id)、タイトル名(title名)、ジャンル、番組説明といった情報を含んでいる。
1つのコンテンツIDには、n個(nは1以上の整数)のライセンスID(LicenseID)が対応付けられる。同様に、1つのコンテンツメタデータには、n個のライセンスメタデータ(License Metadata)が対応付けられる。
ライセンスIDは、1対1に対応付けられているライセンスを識別する。各ライセンスは、ライセンスID、使用ルール(Usage Rule)、およびコンテンツ(Contents)鍵束により構成される。このコンテンツ鍵束(上述したキーKcに対応する)は、そのライセンスが対象とするコンテンツを復号するのに必要な任意の数のキー(鍵)を含む鍵束であり、コンテンツIDと1対1に対応している。
ライセンスIDには、ライセンスメタデータが1対1に対応する。ライセンスメタデータには、図10に示されるように、ライセンスID(License_ID)、コンテンツID(Contents_id)、コンテンツURL(ContentsURL(Uniform Resource Locator))、ライセンスURL(LicenseURL)、配信タイプ、コンテンツタイトル名(Contents title名)、使用規則のテキスト(Usage1Rule text)などが含まれる。
ライセンスメタデータとコンテンツメタデータは、そこに含まれるコンテンツIDにより、n対1に対応付けられる。
ライセンスメタデータのコンテンツURLは、コンテンツを得る場合のアクセス先を表す。ライセンスURLは、ライセンスを得る場合のアクセス先を表す。配信タイプは、そのライセンスが対象とするコンテンツが、ストリーミング配信されるものであるのか、ダウンロードファイルとして配信されるものであるのかを表す。
パッケージは、ライセンスIDとm対n(mはnと同様、1以上の整数)に対応付けられる。同様に、パッケージメタデータは、ライセンスメタデータとm対nに対応付けられる。
パッケージメタデータは、図10に示されるように、パッケージID(Package ID)、ショップサイトURL(Shop Site URL)、パッケージ(Package)利用期間、パッケージ(Package)タイプ、パッケージ(Package)情報、およびライセンスID(License id)リストにより構成される。
パッケージIDは、パッケージを識別する情報である。ショップサイトURLは、そのパッケージを得るためのショップサイトのアクセス先を表す。パッケージ利用期間は、そのパッケージを利用することが可能な期間を表す。
パッケージタイプは、そのパッケージがパック(Pack)であるのか、またはサブスクリプション(Subscription)であるのかを表す。あるいは、また、パッケージタイプは、マルチキャスト(Multicast)であるのか、そうでないのかを表す。Packは、予め定められている所定の任意の数の番組が含まれるタイプのパッケージであることを表す。Subscriptionは、例えば、予め定めされた一定の日数に渡って、予め定められたチャンネルの番組を視聴できるタイプであることを表す。Multicastは、そのパッケージが有料または無料で不特定多数のユーザに提供されるタイプであることを表す。
パッケージ情報は、そのパッケージの名称と料金に関する情報を含む。ライセンスIDリストは、そのパッケージに含まれるライセンスのライセンスIDを記述する。
パッケージメタデータは、そこに記述されているライセンスIDに対応するライセンスメタデータに対応することになる。
このように、メタデータには、パッケージメタデータ、ライセンスメタデータ、および、コンテンツメタデータと言った3種類のメタデータが少なくとも存在し、これらの3種類のメタデータが、図8のメタデータデータベース223に記憶されており、必要に応じて、クライアント103のクライアントメタデータデータベース209に転送される(ネットワーク102経由とリムーバブル記録媒体131経由とのいずれも含む)。
なお、メタデータの詳細については、図18以降の図面を参照して後述する。
次に、図11のフローチャートを参照して、クライアント103の処理(サーバ101上のコンテンツを取得する場合の処理)について説明する。
はじめに、ステップS1において、クライアント103は、コンテンツの取得に必要なメタデータを収集し、クライアントメタデータデータベース209に記憶させる。
このメタデータの収集方法には、上述したように、ネットワーク102を介する定期的な通信による収集方法と、リムーバブル記録媒体131を介する収集方法との2種類が存在する。
これらの2種類の収集方法のうちの後者の収集方法に対応するステップS1の処理の詳細例が、図12のフローチャートに示されている。そこで、以下、図12のフローチャートを参照して、ステップS1の処理の詳細例について説明する。
なお、以下、このようなステップS1の処理を、「メタデータ事前取得処理」と称する。
図12のステップS21において、図6のクライアント103のCPU157は、ドライブ164にリムーバブル記録媒体131が装着されたか否かを判定する。
ステップS21において、リムーバブル記録媒体131がまだ装着されていないと判定された場合、処理はステップS21に戻され、リムーバブル記録媒体131が装着されたか否かが再度判定される。即ち、CPU157は、ドライブ164の装着状態を常時監視している。
例えば、ユーザが所定のリムーバブル記録媒体131をドライブ164に装着させると、CPU157は、ステップS21において、リムーバブル記録媒体131が装着されたと判定し、ステップS22において、そのリムーバブル記録媒体131にメタデータが記録されているか否かを判定する。
リムーバブル記録媒体131にメタデータが記録されていない場合(ステップS22において、メタデータが記録されていないと判定された場合)、「メタデータ事前取得処理」は終了となる。ただし、リムーバブル記録媒体131に他の情報が記録されている場合、他の情報に対応する処理が実行されることもある。例えば、リムーバブル記録媒体131に、販売用のコンテンツ(映画等)が含まれている場合、そのコンテンツの再生処理が実行されることもある。
これに対して、リムーバブル記録媒体131にメタデータが記録されている場合(ステップS22において、メタデータが記録されていると判定した場合)、CPU157は、ステップS23において、リムーバブル記録媒体131からメタデータを読み出し、図8のクライアントメタデータデータベース209(補助記憶部160等)に記憶させる。
なお、ステップS22の判定処理の判定方法は、特に限定されず、例えば、上述したように、特定のファイル名(メタデータ専用のファイル名)のデータが記録されているか否か、或いは、特定の領域(メタデータ専用の領域)にデータが記録されているか否か等に基づいて、ステップS22の判定処理を行うこともできる。
ただし、ここでは、例えば、リムーバブル記録媒体131の特定な領域にメタデータを取得するためのファイルが記録されているか否かに基づいて、ステップS22の判定処理を行うとする。即ち、ムーバブル記録媒体131の特定な領域にメタデータを取得するためのファイルが記録されている場合、CPU157は、ステップS22において、メタデータが記録されていると判定し、ステップS23において、そのファイルを先に読み出し、そのファイルの内容(コマンド等)に基づいてメタデータを読み出し、クライアントメタデータデータベース209に記憶させる。
ステップS24において、CPU157は、そのメタデータに対応するナビゲーションプログラム203−A(図8)は既にインストール済みであるか否かを判定する。即ち、CPU157は、クライアントアプリケーション203に、そのメタデータに対応するコンテンツナビゲーション機能が含まれているか否かを判定する。
ステップS24において、そのメタデータに対応するナビゲーションプログラム203−Aは既にインストール済みである(クライアントアプリケーション203に対応する機能が含まれている)と判定した場合、CPU157は、ステップS28において、クライアントアプリケーション203を起動させる。これにより、「メタデータ事前取得処理」は終了となる。
なお、リムーバブル記録媒体131に、ナビゲーションプログラム203−Aを起動するためのファイル情報やコマンドが記録されている場合がある。このような場合、CPU157は、このファイル情報やコマンドに従って、クライアントアプリケーション203を起動させる。
これに対して、ステップS24において、そのメタデータに対応するナビゲーションプログラム203−Aはまだインストールされていない(クライアントアプリケーション203に対応する機能が含まれていない)と判定した場合、CPU157は、ステップS25において、ナビゲーションプログラム203−Aがリムーバブル記録媒体131に記録されているか否かを判定する。
ステップS25において、ナビゲーションプログラム203−Aがリムーバブル記録媒体131に記録されていないと判定した場合、CPU157は、所定のエラー処理を実行し、「メタデータ事前取得処理」を終了させる。なお、エラー処理の形態については、特に限定されず、例えば、記録媒体131に記録されていたメタデータ(ステップS23の処理でクライアントメタデータデータベース209に記録されたメタデータ)に対応するコンテンツの取得が不可能であることのメッセージを表示装置(呈示部)172に表示させてもよい。
これに対して、ステップS25において、ナビゲーションプログラム203−Aがリムーバブル記録媒体131に記録されていると判定した場合、CPU157は、ステップS27において、そのナビゲーションプログラム203−Aを補助記憶部160等にインストールする。即ち、CPU157は、ナビゲーションプログラム203−Aが有する機能(リムーバブル記録媒体131に記録されているメタデータを利用するコンテンツナビゲーション機能)を、クライアントアプリケーション203の機能に追加する。
なお、リムーバブル記録媒体131に、ナビゲーションプログラム203−Aをインストールするためのファイル情報やコマンドが記録されている場合がある。このような場合、CPU157は、このファイル情報やコマンドに従って、ナビゲーションプログラム203−Aを補助記憶部160等にインストールする。
そして、ステップS28において、CPU157は、ステップS27の処理で機能が追加されたクライアントアプリケーション203を起動させる。これにより、「メタデータ事前取得処理」が終了となる。
なお、上述したように、リムーバブル記録媒体131に、ナビゲーションプログラム203−Aを起動するためのファイル情報やコマンドが記録されている場合がある。このような場合、CPU157は、このファイル情報やコマンドに従って、クライアントアプリケーション203を起動させる。
図11に戻り、このようにして、クライアントアプリケーション203が起動されると、ステップS2において、クライアント103は、このクライアントアプリケーション203等を利用して、リムーバブル記録媒体131に記録されていたメタデータ(図12のステップS23の処理でクライアントメタデータデータベース209に記録されたメタデータ)に対応する1以上のコンテンツの中から、購入希望のコンテンツを選択するまでのユーザ操作をナビゲートする処理を実行する。即ち、クライアント103は、コンテンツナビゲーション機能に対応する処理を実行する。
なお、以下、このようなステップS2の処理を、「購入コンテンツナビゲーション処理」と称する。この「購入コンテンツナビゲーション処理」の詳細例が図13のアローチャートに示されている。そこで、図13のアローチャートを参照して、「購入コンテンツナビゲーション処理」の詳細例について説明する。
なお、図13において、ヘルパーアプリケーションは、コンテンツ再生部204、DRM処理部205、課金処理部206、および、ダウンロード処理部207(図8)により構成される。また、ユーザインタフェースは、入力部162と呈示部172と(図8)により構成される。このことは、後述する他のアローチャート(図15、図16、および図17)においても同様とされる。
ステップS41において、クライアントアプリケーション203は、例えば、メタデータ取得要求を発行することで、クライアントメタデータデータベース209に既に記憶されている(図12のステップS23の処理で記憶された)メタデータの読み出しを指令する。
なお、リムーバブル記録媒体131に、メタデータを取得するためのファイル情報やコマンドが記録されている場合がある。このような場合、CPU157は、このファイル情報やコマンドに従って、メタデータ取得要求をクライアントメタデータデータベース209に対して発行する。
ステップS51において、クライアントメタデータデータベース209は、クライアントアプリケーション203からのメタデータ取得要求を取得すると、予め記憶されているメタデータ群を読み出し、クライアントアプリケーション203に送信する。
クライアントアプリケーション203は、ステップS42において、そのメタデータ群を受信すると、そこに記述されているコンテンツ(番組)のタイトル名等を読み出し、ステップS43において、例えば、図14に示されるようなコンテンツのリスト(データ)を生成し、ユーザインタフェースとしての呈示部172に供給する。ステップS61において、呈示部172は、このコンテンツのリスト(データ)を画像として表示する。即ち、コンテンツのリストは、例えば、図14に示されるように呈示される。
ユーザは、このリストの表示を見て、リモートコマンダ183の方向ボタン185U乃至185Rと決定ボタン184を適宜操作することで、所定のタイトル名のコンテンツ(番組)を選択し、図14中左下に表示されている「購入ボタン」をクリックする(「購入ボタン」にカーソル等を配置させ、決定ボタン184を押下操作する)。
すると、ステップS62において、入力部162は、このユーザの操作(購入コンテンツ選択操作)に対応する選択信号(選択された番組を指定する情報)を、クライアントアプリケーション203に供給する。
クライアントアプリケーション203は、ステップS63において、入力部162からのその選択信号を受信すると、ユーザにより選択されたコンテンツを、購入対象のコンテンツ(以下、購入コンテンツと称する)として決定する。
これにより、「購入コンテンツナビゲーション処理」は終了となる。
図11に戻り、このようにして、ステップS2の「購入コンテンツナビゲーション処理」が終了されると、クライアントアプリケーション203は、ステップS3において、課金処理部206を制御して、購入コンテンツに対する決済をサーバ101に依頼する。
即ち、クライアントアプリケーション203は、例えば、メタデータからユーザIDやパッケージIDを認識し、ショップサーバ221に対して、ユーザIDによるログイン入力を行い、パッケージIDを通知して決済手段の指定も含めて購入要求を行う。
そして、ステップS4において、クライアントアプリケーション203は、決済が完了したか否かを判定する。ステップS4において、決済が完了していないと判定された場合、処理はステップS4に戻され、決済が完了したか否かが再度判定される。即ち、クライアントアプリケーション203は、決済が完了するまで、その処理を待機する。
このとき、サーバ101側では、次のような処理が実行されている。即ち、ショップサーバ221は、指定された決済手段に対応する決済サーバ222に接続して、決済処理を行う。その決済処理が正常に完了した場合には、ショップサーバ221は、リンクする顧客データベース(図示せず)に購入者(いまの場合、クライアント103を利用するユーザ)のユーザIDに対応して購入されたパッケージIDを登録する。
続けて、ショップサーバ221は、顧客データベースからユーザIDに対応する機器IDリストを取得し、さらにメタデータデータベース223からパッケージIDに対応するライセンスIDリストを取得し、これらの(複数の)機器IDと(複数の)ライセンスIDのすべての組み合わせのリストをDRMサーバ224に送り、DRMサーバ224はこれを保持する。
ショップサーバ221は、一連の決済処理が完了したら、そのことをクライアントアプリケーション203に通知する。
すると、クライアントアプリケーション203は、決済処理の完了を呈示部172(ユーザインタフェース)により視聴者に呈示すると共に、購入対象のパッケージメタデータのステータスを購入済として更新する。
以上の処理が完了した時点で、クライアントアプリケーション203は、ステップS4において、決済が完了したと判定し、ステップS5において、購入コンテンツのライセンスを取得するための処理を実行する。
なお、以下、ステップS5の処理を「ライセンス取得処理」と称する。この「ライセンス取得処理」の詳細例が図15のアローチャートに示されている。そこで、図15のアローチャートを参照して、「ライセンス取得処理」の詳細例について説明する。
ステップS81において、クライアントアプリケーション203は、購入コンテンツに対応するstartup fileの取得をサーバ101に要求する。このstartup file取得要求には、購買コンテンツを識別するコンテンツIDが含まれている。なお、このとき、クライアントアプリケーション203は、コンテンツIDと、サーバ101のアクセス先(例えば、コンテンツサーバ225上の所定のURL)等を、クライアントメタデータデータベース209に記憶されたメタデータから認識する。
サーバ101(コンテンツサーバ225)は、ステップS91において、指定されたコンテンツIDに対応するコンテンツ(購買コンテンツ)のstartup fileを読み出し、クライアントアプリケーション203に送信する。
クライアントアプリケーション203は、ステップS82において、このstartup fileを受信する。
なお、購入コンテンツによっては、その構成要素にstartup fileを含まないこともあり、そのような場合、クライアントアプリケーション203のステップS81とS82、および、後述するステップS83の処理(それらの処理に伴うサーバ101側のステップS91の処理)は省略される。
また、後述するように、1つのコンテンツ、即ち、上述した図9に示される、Contents本体、startup file、および、Download.xmlのそれぞれは、必ずしも同一の場所(いまの場合、コンテンツサーバ225)に保存される必要は無い。即ち、上述したように、通信量の削減を目的として、メタデータに加えて、そのメタデータに対応するコンテンツのstartup fileやDownload.xmlをリムーバブル記録媒体131に記録させることも可能である。このような場合、ステップS81の処理におけるstartup file取得要求は、サーバ101に対してではなく、リムーバブル記録媒体131に対して行われる。即ち、ステップS82において、クライアントアプリケーション203は、リムーバブル記録媒体131より読み出されたstartup fileを取得する。
次に、ステップS83において、クライアントアプリケーション203は、startup fileに記述された処理の実行を開始する。
このステップS83の処理の内容は、startup fileの記述内容によって異なることになる。ただし、ここでは、説明の簡略上、startup fileには、ライセンスの取得(確認)が指示されており、ステップS83において、ライセンスの取得の処理が開始されるとする。具体的には、例えば、ここでは、「DRM処理に必要となる情報を記載したファイル(以下、DRM情報参照ファイルと称する)への参照」がstartup fileに記述されており、クライアントアプリケーション203は、ステップS83において、そのstartup fileの記述に従って、DRM情報参照ファイルをサーバ101から取得するとする。なお、ここでは、このDRM情報参照ファイルもコンテンツの一部として取り扱う。
この場合、ステップS84において、クライアントアプリケーション203は、DRM処理部205に対してライセンス(License)取得(確認)を依頼する。即ち、クライアントアプリケーション203は、先の決済処理により権利を得たライセンスID(リスト)とDRMサーバURLを引数にDRM処理部205に対してライセンス取得(確認)指示を行う。
DRM処理部205は、そのライセンス取得依頼を受信すると、ステップS101において、DRMサーバ224にアクセスし、DRMサーバ224との通信によりDRM処理を実行する。即ち、サーバ101(DRMサーバ224)側から見ると、ステップS92において、クライアント103に対するDRM処理が実行される。
詳細には、DRM処理部205は、DRMサーバ224に対して、規定されたセッションにてライセンスIDを送ってライセンス取得を試みる。DRMサーバ224は、このセッションの初期に端末の機器(クライアント103)を機器IDとして認識しているので、ライセンスIDが送られてきた時点で、機器IDに対してライセンスIDが許可されているか否かをチェックすることにより、正当なライセンス取得要求か否かを判断する。そして、DRMサーバ224は、そのチェックで問題がなければライセンスをDRM処理部205に送信する。
DRM処理部205は、そのライセンスを受信するとセキュアに格納して、ステップS102において、DRM処理の完了をクライアントアプリケーション203に通知する(DRM処理完了通知を送信する)。
即ち、DRM処理部205は、DRM処理完了通知として、DRMサーバ224からのライセンス取得の成否結果をクライアントアプリケーション203に送信する。なお、ライセンス取得が成功したことを示すDRM処理完了通知には、対応するコンテンツ(いまの場合、購入コンテンツ)を復号するのに必要なキーKcも含まれていることがある。
クライアントアプリケーション203は、ステップS85において、ライセンス取得が成功したことを示すDRM処理完了通知をDRM処理部205より受信すると、ユーザインタフェースとしての呈示部172に、購入コンテンツの配信処理の準備が完了したことを示すメッセージ(データ)を提供する。即ち、呈示部172は、ステップS111において、そのメッセージを画像等の形態で呈示する。なお、このメッセージの呈示形態は特に限定されず、例えば、購入コンテンツの配信形態がダウンロード配信である場合、上述した図14に示される画像のうちの右下のダウンロードボタンの色を変えたり、点滅させたりする呈示形態を取ることができる。
これにより、「ライセンス取得処理」は終了となる。
なお、クライアントアプリケーション203は、ステップS85において、ライセンス取得が失敗したことを示すDRM処理完了通知をDRM処理部205より受信した場合、処理をステップS84に戻し、ライセンス取得依頼を再度発行してもよいし、所定のエラーメッセージを呈示部172を介してユーザに呈示してもよい。
また、上述したように、コンテンツを幅広く流通させることを目的として、そのコンテンツのメタデータを記録したリムーバブル記録媒体131を無償で或いは安価(コンテンツの価格未満)でユーザに配布することができる。このような場合、そのコンテンツに対してライセンスがあえて設定されていないこともあり、このようなとき、ステップS84以降の処理(DRM処理等)は省略可能である。
図11に戻り、このようにして、ステップS5の「ライセンス取得処理」が終了されると、クライアントアプリケーション203は、ステップS6において、購入コンテンツは、ダウンロード用のコンテンツであるか否かを判定する。
例えば、先に取得された(図15のステップS82)のstartup fileにおいて、購入コンテンツがストリーミング配信であることが指定されている場合、クライアントアプリケーション203は、ステップS6において、購入コンテンツはダウンロード用のコンテンツではない(ストリーミング配信用のコンテンツである)と判定し、後述するステップS7の「ダウンロード処理」を実行せずに、その処理をステップS8に進める。
これに対して、先に取得されたstartup fileにおいて、購入コンテンツがダウンロード配信であることが指定されている場合、クライアントアプリケーション203は、ステップS6において、ダウンロード用のコンテンツであると判定し、ステップS7において、ダウンロード処理部207を制御して、購入コンテンツのコンテンツデータ(Contents本体)をダウンロードし、コンテンツ記憶部208に記憶させる。
なお、以下、このようなステップS7の処理を、「ダウンロード処理」と称する。この「ダウンロード処理」の詳細例が図16のアローチャートに示されている。そこで、図16のアローチャートを参照して、「ダウンロード処理」の詳細例について説明する。
ステップS151において、ユーザインタフェースとしての入力部162は、先に決定した購入コンテンツのダウンロードを指示する信号をクライアントアプリケーション203に供給する。
なお、ダウンロードを指示する信号の形態は、特に限定されず、例えば、次のような信号が可能である。即ち、例えば、上述した図14の画像が表示されている状態で、ユーザが、リモートコマンダ183の方向ボタン185U乃至185Rを利用して、「ダウンロードボタン」にカーソル等を配置させ、決定ボタン184を押下操作したとき(「ダウンロードボタン」をクリックする操作をしたとき)にクライアントアプリケーション203に入力される信号を、ダウンロード指示の信号として利用することができる。
クライアントアプリケーション203は、このようなダウンロード指示を受けて、ステップS161において、購入コンテンツに対応するDownload.xml(図9)の取得をサーバ101(コンテンツサーバ225)に要求する。このDownload.xml取得要求には、購買コンテンツを識別するコンテンツIDが含まれている。このコンテンツIDはメタデータから認識される。
サーバ101(コンテンツサーバ225)は、ステップS181において、指定されたコンテンツIDに対応するコンテンツ(購買コンテンツ)のDownload.xmlを読み出し、クライアントアプリケーション203に送信する。
クライアントアプリケーション203は、ステップS162において、このDownload.xmlを受信する。
なお、上述したように、リムーバブル記録媒体131には、メタデータの他、そのメタデータに対応するコンテンツのstartup fileやDownload.xmlの記録も可能である。このような場合、ステップS161の処理におけるDownload.xml 取得要求は、サーバ101に対してではなく、リムーバブル記録媒体131に対して行われる。即ち、ステップS162において、クライアントアプリケーション203は、リムーバブル記録媒体131より読み出されたDownload.xmlを取得する。
次に、クライアントアプリケーション203は、ステップS163において、このDownload.xmlをダウンロード制御部207に供給することで、ダウンロードを指令する。即ち、クライアントアプリケーション203は、ダウンロード処理をダウンロード処理部207に委託する。
ダウンロード処理部207は、そのDownload.xmlを解析し、ダウンロード準備処理として、コンテンツ記憶部208の空き容量チェックなどを行い、ライセンスが取得済みであることも確認する。さらに、ダウンロード処理部207は、ダウンロード対象コンテンツ(購入コンテンツ)の格納場所を示すディレクトリ情報を生成しメタデータの一部としてクライアントメタデータデータベース209に保持させる。
そして、ステップS201において、Download.xmlに記述されたコンテンツを構成するファイル、例えば、Contents本体の取得をサーバ101(コンテンツサーバ225等のDownload.xmlに記述された場所)に要求する。
サーバ101は、ステップS182において、要求されたContents本体等を読み出し、クライアント103に送信する。
クライアント103のコンテンツ記憶部208は、ステップS211において、ダウンロード処理部207の制御に基づいて、サーバ101からネットワーク102を介して送信されてきたContents本体等を記憶させる。即ち、ダウンロード処理部207は、ステップS202において、コンテンツ記憶部208のコンテンツデータの記憶処理を制御する。
詳細には、ダウンロード処理部207は、先に取得したDownload.xml等の制御ファイルと、Download.xmlに記述されたContents本体等のファイルとを1つのコンテンツとして、コンテンツ記憶部208に記憶させる。即ち、ダウンロード処理部207は、コンテンツ記憶部208内に特定のディレクトリを生成した上で、その下に元のコンテンツ内のディレクトリ構造を保持しつつ、これらのコンテンツの各構成要素(Contents本体等)のそれぞれを書き込んでいく。
全てのデータをコンテンツ記憶部208に記憶させると、ダウンロード処理部207は、ステップS203において、処理の完了をクライアントアプリケーション203に通知する(処理完了通知を送信する)。
クライアントアプリケーション203は、ステップS164において、その処理完了通知をダウンロード処理部207より受信すると、ユーザインタフェースとしての呈示部172に、購入コンテンツのダウンロードが完了したことを示すメッセージ(データ)を提供する。即ち、呈示部172は、ステップS152において、そのメッセージを画像等の形態で呈示する。これにより、「ダウンロード処理」は終了となる。
なお、ダウンロード処理部207が処理を実行している最中に、クライアントアプリケーション203は、必要に応じて(例えば、ユーザの指示操作があった場合等に)、ダウンロードの進捗状況を呈示部172を介してユーザに呈示することができる。
図11に戻り、このようにしてステップS7の「ダウンロード処理」が終了されるか、或いは、ステップS6の処理で、ダウンロード用のコンテンツではないと判定されると、クライアントアプリケーション203は一端その処理を待機する。或いは、クライアントアプリケーション203は立ち下げられる。
その後、ユーザが、購入済みのコンテンツの利用(試聴)を目的として、入力部162を操作してクライアントアプリケーション203の処理を再開させるかまたは再起動させると、ステップS8において、クライアント103は、このクライアントアプリケーション203等を利用して、購入済みのコンテンツの中から利用(試聴)希望のコンテンツを選択するまでのユーザの操作をナビゲートする処理を実行する。
なお、以下、このようなステップS8の処理を、「利用コンテンツナビゲーション処理」と称する。この「利用コンテンツナビゲーション処理」の詳細例が図17のアローチャートに示されている。そこで、図17のアローチャートを参照して、「利用コンテンツナビゲーション処理」の詳細例について説明する。
ユーザがコンテンツの利用を指示する目的でリモートコマンダ183を適宜操作すると、入力部162は、ステップS221において、その操作に対応する信号を、コンテンツ利用指示としてクライアントアプリケーション203に供給する。
クライアントアプリケーション203は、このコンテンツ利用指示を受けると、ステップS241において、例えば、メタデータ取得要求を発行することで、クライアントメタデータデータベース209に既に記憶されている(図12のステップS23の処理で記憶された)メタデータのうちの、購入済みのコンテンツに対応するメタデータの読み出しを指令する。
ステップS251において、クライアントメタデータデータベース209は、クライアントアプリケーション203からのメタデータ取得要求を取得すると、予め記憶されているメタデータ群のうちの、購入済みのコンテンツに対応するメタデータ群を読み出し、クライアントアプリケーション203に送信する。
クライアントアプリケーション203は、ステップS242において、そのメタデータ群を受信すると、そこに記述されているコンテンツ(番組)のタイトル名等を読み出し、ステップS243において、図示はしないが、購入済みのコンテンツのリスト(データ)を生成し、ユーザインタフェースとしての呈示部172に供給する。ステップS222において、呈示部172は、購入済みのコンテンツのリスト(データ)を画像として表示する。
ユーザは、このリストの表示を見て、リモートコマンダ183(図7)の方向ボタン185U乃至185Rを適宜操作することで、試聴を所望するタイトル名のコンテンツ(番組)を選択し、リモートコマンダ183の再生ボタン188を押下操作する。
すると、ステップS223において、入力部162は、このユーザの操作(利用コンテンツ選択操作)に対応する選択信号(選択された番組を指定する情報)を、クライアントアプリケーション203に供給する。
クライアントアプリケーション203は、ステップS244において、入力部162からのその選択信号を受信すると、ユーザにより選択されたコンテンツを、これからユーザが利用する(再生させる)コンテンツ(以下、利用コンテンツと称する)として決定する。
これにより、「利用コンテンツナビゲーション処理」は終了となる。
図11に戻り、このようにして、ステップS8の「利用コンテンツナビゲーション処理」が終了されると、クライアントアプリケーション203は、プラグインにより、コンテンツ再生部204を起動し、利用コンテンツの呈示(再生)を指示する。
すると、コンテンツ再生部204は起動し、ステップS9において、利用コンテンツのContents本体をサーバ101またはコンテンツ記憶部208より取得し、呈示部172に呈示(再生)させる。
詳細には、はじめに、クライアントアプリケーション203は、利用コンテンツに対応するライセンスの確認をDRM処理部205に指示する。
DRM処理部205は、利用コンテンツに対応するライセンスが存在するか否かを確認することで、DRM処理を実行する。
クライアントアプリケーション203は、このようなDRM処理部205のDRM処理が正しく完了した場合には、利用コンテンツの再生をコンテンツ再生部204に指示する。
コンテンツ再生部204は、DRM処理部205に利用コンテンツを復号するための鍵(上述したキーKc)の取得を試みる。DRM処理部205は、その時点の利用条件をチェックして問題がなければ対応する鍵(キーkc)をセキュアにコンテンツ再生部204に転送し、コンテンツ再生部204内のデクリプタに設定する。
コンテンツ再生部204は、利用コンテンツの配信形態がストリーミング配信である場合、サーバ101のコンテンツサーバ225からストリーミング配信されてくる利用コンテンツのContents本体を、キーkcを用いて順次復号し、デコードして、呈示部172に供給する。
これに対して、利用コンテンツの配信形態がダウンロード配信である場合、上述したステップS7の「ダウンロード処理(図16)」で、利用コンテンツのContents本体はコンテンツ記憶部208に既に保存されているので、コンテンツ再生部204は、利用コンテンツのContents本体をコンテンツ記憶部208より取得し、キーkcを用いて順次復号し、デコードして、呈示部172に供給する。
このようにして、コンテンツ再生部204は、ステップS9において、呈示部172による利用コンテンツの呈示を行う。
以上、本実施の形態のクライアント103の処理について説明した。
このように、本実施の形態のクライアント103の処理においては、リムーバブル記録媒体131からクライアントメタデータデータベース209に転送されたメタデータの助けを借りて、クライアント103側の内部処理だけで(ブラウザ等を用いる外部との通信処理を行うことなく)検索画面(上述したコンテンツリスト等)を表示させることが可能になる。
さらに、その後の通信処理においても、メタデータからコンテンツの配置場所が認識され、RTP.HTTPといった通信プロトコルでその配置場所に存在するコンテンツの伝送処理が行われるので、ウェブ画面等の呈示は一切不要となる。
さらにまた、本実施の形態のクライアント103は、リムーバブル記録媒体131に記録されたメタデータを利用することで、上述したクライアント主体型ナビゲーションが有する第3の課題と第4の課題とを解決することができる。
なお、繰り返しになるが、第3の課題とは、コンテンツの数が増大すると、それらのメタデータの全てをクライアントメタデータデータベース209に保持させるのは困難となるという課題である。
第4の課題とは、サーバ101のメタデータデータベース223の分散化に対する対処方法や、メタデータの定期的な取得によるクライアントメタデータデータベース209の更新方法等の運用方法の実現が困難であるという課題である。
次に、図18乃至図36を参照して、このようなクライアント103が利用可能なメタデータ、即ち、リムーバブル記録媒体161に記録可能なメタデータの詳細例について説明する。
上述した図9と図10とを参照して説明したように、メタデータは、パッケージメタデータ(Package Meta data)、ライセンスメタデータ(Licence Meta data)、および、コンテンツメタデータ(Contents Meta data)といった3種類に区分することができるが、このようなメタデータはまた、図18に示されるように区分することもできる。即ち、図18は、メタデータの図10とは異なる区分方法を説明する図である。
図18に示されるように、パッケージメタデータのうちの、PackageID、Shop site URL、Shop function URL、販売開始や終了日時、Packageタイプ、パッケージ料金、パッケージ名、プロモーション情報、ジャンル情報、選択可能ライセンス数、および、Licence idリスト、といった情報は、コンテンツ商品のチラシや宣伝目的の情報であると言える。そこで、このようなコンテンツ商品のチラシや宣伝目的の情報を、以下、コンテンツ商品メタデータと称する。即ち、メタデータのうちの一部の情報は、コンテンツ商品メタデータに区分される。
また、パッケージメタデータのうちの、配信開始や終了日時、および、コンテンツURL、といった情報は、コンテンツ検索処理、例えば、コンテンツ選択のナビゲーション処理のための検索処理にとって有意な情報であると言える。そこで、以下、コンテンツのタイトル、その概要、そのジャンル、その場所情報、およびその時間情報等、コンテンツ検索処理にとって有意な情報を、コンテンツ検索属性メタデータと称する。即ち、メタデータのうちの一部の情報は、コンテンツ検索属性メタデータに区分される。
コンテンツ検索属性メタデータにはまた、ライセンスメタデータのうちの、コンテンツURL、配信対応、および、配信開始終了日時、並びに、コンテンツタイトル名が含まれる。さらに、コンテンツ検索属性メタデータには、コンテンツメタデータ全体も含まれる。
ライセンスメタデータのうちの、ライセンスID、コンテンツID、ライセンスURL、ライセンス有効期限、利用条件情報、および、リソース情報、といった情報は、購入したライセンス(コンテンツの視聴権利)の管理目的の情報であると言える。そこで、以下、ライセンスの管理目的の情報を、ライセンス管理メタデータと称する。即ち、メタデータのうちの一部の情報は、ライセンス管理メタデータに区分される。
このように、メタデータは、コンテンツ商品メタデータ、ライセンス管理メタデータ、および、コンテンツ検索属性メタデータといった3種類に区分することができる(ただし、パッケージメタデータのうちの、メタデータ削除日時、メタデータ更新頻度、および、付帯端末生成情報、並びに、ライセンスメタデータのうちの付帯端末生成情報は除く)。
なお、コンテンツ商品メタデータ、ライセンス管理メタデータ、および、コンテンツ検索属性メタデータのそれぞれの間のシンボルは、図19に示される規則に従って描画されている。例えば、図18に示される、コンテンツ商品メタデータとライセンス管理メタデータとの間に描画されたシンボルは、図19中一番上のシンボルであって、1つのコンテンツ商品メタデータから、ゼロ以上のライセンス管理メタデータが関連付けられることを示している。図19に示されるこれらのシンボルは、後述する図20、図24、および、図30においても使用されている。
ところで、コンテンツナビゲーション機能にとっては、上述したように、このように区分されたメタデータのうちのコンテンツ検索属性メタデータが特に重要である。
そこで、以下、コンテンツ検索属性メタデータの詳細についてさらに説明する。
図18に示されるように、コンテンツ検索属性メタデータはさらに、コンテンツ記述メタデータ、インスタンス記述メタデータ、および、セグメント記述メタデータの3つの種類に分類される。
コンテンツ記述メタデータとは、コンテンツのリリースや放送形態に依存しないコンテンツに関する一般的な情報を指す。例えば、コンテンツ記述メタデータには、コンテンツのタイトルや内容のテキスト記述、およびジャンルなどの情報が含まれる。一般的には、コンテンツ制作者が、コンテンツのリリース前にコンテンツ記述メタデータを生成する。
インスタンス記述メタデータとは、コンテンツの特定のインスタンスを記述する情報を指す。例えば、インスタンス記述メタデータには、コンテンツのインスタンスの位置(放送スケジュールやアドレス)や配信メディアに依存するパラメータ(ビデオフォーマット等)の情報が含まれる。インスタンス記述メタデータは、コンテンツがリリースまたは放送されるときに、リリースまたは放送サービス事業者等により与えられる。
セグメント記述メタデータとは、コンテンツのストリームを、時間で区切られたセグメントとして検索や操作するための情報を指す。このセグメント記述メタデータは、ハイライトシーンを抽出するようなノンリニア視聴を実現するために利用される。
以下、コンテンツ記述メタデータ、インスタンス記述メタデータ、および、セグメント記述メタデータのそれぞれの詳細について、その順番に個別に説明していく。
はじめに、コンテンツ記述メタデータについて説明する。
図20は、コンテンツ記述メタデータの構成例を示している。
図20に示されるように、コンテンツ記述メタデータは、ProgramGroup(プログラムグループ)、Program(プログラム)、および、ProgramReview(プログラムレビュー)から構成される。
Program(プログラム)とは、番組に対応するコンテンツの単位であるProgram(プログラム)についての情報を指す。即ち、Program(プログラム)は、タイトルや概要等から番組を検索するときに必要な情報である。具体的には、例えば、Program(プログラム)には、図21に示されるような情報が含まれる。
図21において、ProgramId(プログラム識別子)には、このProgram(プログラム)のCRID(Content Reference Identifier)が記述される。OtherIdentifier(CRID以外のコンテンツ識別子)には、このProgram(プログラム)を識別するために、CRIDの他に使用することができる識別子が記述される。AVAttributes(オーディオビジュアル属性)には、メディア属性(例えば、符号化方式やパラメータ等)が記述される。
MemberOf(プログラムグループへの参照)には、このProgram(プログラム)が含まれるProgramGroup(プログラムグループ)のCRIDのリストが記述される。なお、ProgramGroup(プログラムグループ)については後述する。このMemberOf(プログラムグループへの参照)により、どのような理由により派生したProgram(プログラム)なのか(例えば言語の違い等)を示すタイプの定義が可能となる。シリーズ中のプログラムのエピソード番号を指定するために、MemberOf(プログラムグループへの参照)として、それぞれのProgramGroup(プログラムグループ)内で一意なインデックス値の付与が可能とされている。
BasicContentsDescription(基本コンテンツ記述)には、図21に示されるような、各種の基本的な内容が記述される。
即ち、Title(タイトル)には、このProgram(プログラム)のタイトルが記述される。なお、複数のタイトルの記述が可能とされている。MediaTitle(メディアタイトル)には、「タイトル」として使用可能な画像等を示す情報が記述される。ShortTitle(ショートタイトル)には、表示の際に参考とするタイトルの短形式版が記述される。
Synopsis(概要)には、このProgram(プログラム)の内容の説明が記述される。
Language(言語)には、このProgram(プログラム)を構成する音声の言語が記述される。CaptionLanguage(キャプション言語)には、このProgram(プログラム)におけるキャプション情報の言語が記述される。SignLanguage(手話言語)には、このProgram(プログラム)において指定される手話言語が記述される。
CreditsList(クレジット一覧)には、このProgram(プログラム)で出演している俳優や、このProgram(プログラム)の監督などのクレジット一覧が記述される。
PromotionalInformation(プロモーション情報)には、販売促進目的で利用される内容が記述される。
Keywords(キーワード)には、このProgram(プログラム)の特徴を示すキーワードの一覧が記述される。なお、キーワードとは、一つの単語か、もしくは複数の単語からなる完全なフレーズを指す。
Genre(ジャンル)には、このProgram(プログラム)が属するジャンルが記述される。なお、Genre(ジャンル)に記述可能なジャンルとして、例えば、図22に示されるような階層構造の各ジャンルが存在する。即ち、第1層(最上位の層)として、例えば、NON-FICTUIN(ノンフィクション)、SPORTS(スポーツ)、MUSIC AND DANCE(音楽/ダンス)、LEISURE/HOBBY(レジャー/趣味)、FICTION(フィクション)、および、AMUSEMENT(アミューズメント)等の記述が可能とされている。
さらに、NON-FICTUIN(ノンフィクション)の下層(第2層)として、NEWS(ニュース)等の記述が、そのNEWS(ニュース)のさらに下層(第3層)として、Daily News(毎日のニュース)やSpecial edistion(特別ニュース番組)等の記述が、それぞれ可能とされている。同様に、SPORTS(スポーツ)の下層(第2層)として、Athletics(アスレチックス)等の記述が、その、Athletics(アスレチックス)のさらに下層(第3層)として、Field(フィールド系)等の記述が、それぞれ可能とされている。また、MUSIC AND DANCE(音楽/ダンス)の下層(第2層)として、Classical music(クラシック)等の記述が可能とされている。
図21に戻り、ParentalGuidance(視聴制限指定)には、このProgram(プログラム)の視聴制限指定が記述される。AwardsList(アワードリスト)には、このProgram(プログラム)の賞およびノミネートの一覧が記述される。RelatedMaterial(関連マテリアル)には、このProgram(プログラム)の関連する他の情報への参照情報が記述される。ProductionInformation(制作情報)には、このProgram(プログラム)が作成された日時と国についての情報が記述される。ReleaseInformation(リリース情報)には、このProgram(プログラム)が公開された日時と国についての情報が記述される。
図20に戻り、ProgramGroup(プログラムグループ)とは、複数のProgram(プログラム)をまとめたProgramGroup(プログラムグループ)についての情報を指す。即ち、ProgramGroup(プログラムグループ)とは、シリーズ番組単位で番組を検索する際に必要な情報である。具体的には、例えば、ProgramGroup(プログラムグループ)には、図23に示されるような情報が含まれる。
GroupId(グループ識別子)には、このProgramGroup(プログラムグループ)に対するCRIDが記述される。
GroupType(グループタイプ)には、このProgramGroup(プログラムグループ)のグループタイプが記述される。具体的には、例えば、シリーズや連続番組等の様々なタイプが記述される。
Ordered(順序型指定)は、このProgramGroup(プログラムグループ)に属するメンバーが順序付けられているか否かを示すフラグである。
MemberOf(プログラムグループへの参照)には、このProgramGroup(プログラムグループ)が含まれる(属している)ProgramGroup(プログラムグループ)のCRIDのリストが記述される。即ち、それぞれのProgramGoup(プログラムグループ)内で一意なインデックス値が付与される。
BasicContentDescription(基本コンテンツ記述) とは、基本的な内容記述を指し、具体的には、上述したProgram(プログラム)のBasicContentDescription(基本コンテンツ記述)と同様の記述(図21参照)が含まれる。
図20に戻り、ProgramReview(プログラムレビュー)とは、Program(プログラム)に関するレビューについての情報を指す。即ち、ProgramReview(プログラムレビュー)は、批評家の評価結果やレーティング値等から番組を検索する際に必要な情報である。
ProgramReview(プログラムレビュー)には、Program(プログラム参照)とReview(レビュー)とが含まれる。Program(プログラム参照)には、対応するProgram(プログラム)のCRIDが記述される。Review(レビュー)には、対応するProgram(プログラム)、即ち、Program(プログラム参照)で指定されたCRIDを有するProgram(プログラム)に対するレビューが記述される。なお、Review(レビュー)の記述内容の詳細については省略する。
次に、インスタンス記述メタデータについて説明する。
図24は、インスタンス記述メタデータの構成例を示している。
図24に示されるように、インスタンス記述メタデータは、ProgramLocation(プログラムロケーション)、OnDemandLocation(オンディマンドロケーション)、ScheduleEvent(スケジュールイベント)、および、Service(サービス)から構成される。
ProgramLocation(プログラムロケーション)とは、Program(プログラム)の個々のインスタンスを指す。即ち、ProgramLocation(プログラムロケーション)は、Program(プログラム)が配信されるメディアの違いによらない一般的なインスタンスの情報である。具体的には、例えば、ProgramLocation(プログラムロケーション)には、図25に示されるような情報が含まれる。
即ち、Program(プログラム参照)には、対応するProgram(プログラム)のCRIDが記述される。
InstanceDescription(インスタンス記述)には、対応するProgram(プログラム)、即ち、Program(プログラム参照)で指定されたCRIDを有するProgram(プログラム)のインスタンスが記述される。具体的には、例えば、InstanceDescription(インスタンス記述)には、Program(プログラム)のBasicContentsDescription(基本コンテンツ記述)(図21参照)のうちの、Title(タイトル)、Synopsis(概要)、および、AVAttributes(オーディオビジュアル属性)が記述される。
図24に戻り、OnDemandLocation(オンディマンドロケーション)とは、Program(プログラム)がインターネット上にアーカイブされている場合の位置(URLアドレス・時刻・時間)を記述する際に利用される情報である。具体的には、例えば、OnDemandLocation(オンディマンドロケーション)には、ProgramLocation(プログラムロケーション)に含まれる属性の他に、図26に示される情報が含まれる。
即ち、URLは、対応するProgram(プログラム) がインターネット上にアーカイブされている場合のURLが記述される。
PublishedDuration(再生時間)には、対応するProgram(プログラム)、即ち、上述したURLに位置するProgram(プログラム)の再生時間が記述される。
Start/EndOfAvailability(利用可能日時:開始/終了)には、対応するProgram(プログラム)、即ち、上述したURLに位置するProgram(プログラム)が使用可能となる日時、即ち、開始時刻と終了時刻とが記述される。
First/LastAvailability(リリース情報)は、対応するProgram(プログラム)、即ち、上述したURLに位置するProgram(プログラム)が初回か或いは終回である場合に、そのことを示すフラグである。
図24に戻り、ScheduleEvent(スケジュールイベント)とは、対応するProgram(プログラム)が放送配信される場合のその位置(チャンネル、時刻、および時間)を記述する際に利用される情報を指す。具体的には、例えば、ScheduleEvent(スケジュールイベント)には、対応するProgramLocation(プログラムロケーション)に含まれる属性の他に、図27に示される情報が含まれる。
BroadcastURL(ブロードキャストURL)には、対応するProgram(プログラム)が放送配信される場合のそのURLが記述される。具体的には、例えば、DVB(DVB Digital Video Broadcastingにより規定されている番組を指定するURL等が記述される。
ServiceId(サービス参照)には、このScheduleEvent(スケジュールイベント)が含まれるService(サービス)の識別子が記述される。
EventDescription(イベント記述)には、様々なイベントの内容情報が記述される。具体的には、例えば、PublishedTime(開始時刻)、PublishedDuration(継続時間)、Live(ライブ放送指定)、Repeat(再放送指定)、First/LastShowing(初回/終回指定)、および、Free (無料指定)が記述される。
PublishedTime(開始時刻)には、対応するProgram(プログラム)がECG(Electronic Contents Gides)上に公開される開始時刻が記述される。PublishedDuration(継続時間)には、対応するProgram(プログラム)がECG上に公開されている継続時間が記述される。なお、実際の運用時の正確な開始時刻や継続時間はロケータによる位置解決メカニズムによって提供される。
Live(ライブ放送指定)は、対応するProgram(プログラム)がライブ放送であるか否かを示すフラグである。Repeat(再放送指定)は、対応するProgram(プログラム)が再放送であるか否かを示すフラグである。First/LastShowing(初回/終回指定)は、対応するProgram(プログラム)が最初(初回)または最後(最終回)の放送である場合にそれを示すフラグである。Free (無料指定)は、対応するProgram(プログラム)が無料であるか否か示すフラグである。
図24に戻り、Service(サービス)とは、対応するProgram(プログラム)を放送する放送チャンネルについて記述された情報を指す。即ち、Service(サービス)には、同一の放送サービス事業者から提供される複数のScheduleEvent(スケジュールイベント)に対応する放送番組を含むストリーム全体の内容が記述される。具体的には、例えば、Service(サービス)には、図28に示される情報が含まれる。
即ち、ServiceId(サービス識別子)には、サービスの識別子が記述される。ParentService(親サービス参照)には、親Service(サービス)への参照を示す情報が記述される。例えば、ParentService(親サービス参照)には、指定された参照有効期間の記述が可能である。
Name(サービス名)にはサービスの名称が、Owner(所有者)にはそのサービスの商標所有者が、Logo(ロゴ)にはそのサービスのネットワークロゴが、ServiceGenre(サービスジャンル)にはそのサービスのジャンルが、それぞれ記述される。
ここで、図29を参照して、Service(サービス)についてさらに詳しく説明する。
即ち、図29は、画面に表示された一般的なEPG(Electronic Program Gide)を示しており、また、上述した、Program(プログラム)、ProgramGroup(プログラムグループ)、ScheduleEvent(スケジュールイベント)、および、Service(サービス)のそれぞれが何れのフレームに対応するのかを示している。
図29に示されるように、EPG上の各々の番組(例えば、野球中継、ニュース、クイズ、ドラマ、バラエティ、および、映画等)はScheduleEvent(スケジュールイベント)に、一連の番組をまとめたチャンネル(例えば、チャンネルX,Y,Z等)はService(サービス)に、それぞれ対応する。各番組のそれぞれの情報のうち、ScheduleEvent(スケジュールイベント)には放映時刻等が記述され、Program(プログラム)には番組の内容自身が記述される。複数のProgram(プログラム)とそれに紐付けられるScheduleEvent(スケジュールイベント)を含むパッケージ(例えば、野球中継パッケージ等)の情報はProgramGroup(プログラムグループ)に記述される。
次に、セグメント記述メタデータについて説明する。
セグメント記述メタデータは、番組のハイライトシーンを集めて要約のみを視聴する機能や、トピックヘッドラインのブックマークを作成する等の機能を実現するための情報である。
図30は、セグメント記述メタデータの構成例を示している。
図30に示されるように、セグメント記述メタデータは、Segment(セグメント)、および、SegementGroup(セグメントグループ)から構成される。
ところで、上述したように、1つのProgram(プログラム)は、それを入手することができる物理的や時間的な位置の違いにより複数のProgramLocation(プログラムロケーション)に対応させることができ、特定のProgram(プログラム)のインスタンスを選択する処理はCRIDに基づいた位置解決処理によって実行される。
ここで、所定のCRIDにより識別されるProgram(プログラム)に対応する異なるインスタンスのストリーム再生時の時間軸は同一であると仮定すると、位置解決処理において何れのProgram(プログラム)のインスタンスが選択されても同じセグメント記述が適用される。
従って、図30に示されるように、異なるProgram(プログラム)から派生する複数のSegment(セグメント)を、1つのSegementGroup(セグメントグループ)としてまとめることが可能になる。例えば、好きな俳優の出演場面だけを集めたオリジナル番組を構成する場合等に利用される。
詳細には、Segment(セグメント)とは、対応するProgram(プログラム)を時間で区切った個々のセグメントについての情報を指す。具体的には、例えば、Segment(セグメント)には、図31に示される情報が含まれる。
Segmented(セグメント識別子)には、このSegment(セグメント)の識別子が、ProgramRef (プログラム参照)には、このSegment(セグメント)に対応するProgram(プログラム)のCRIDが、それぞれ記述される。
SegmentLocator(セグメントロケータ)には、対応するProgram(プログラム)中でのこのSegment(セグメント)の位置(開始時間および長さ)が記述される。KeyFrameLocator(キーフレームロケータ)には、このSegment(セグメント)のキーフレームの位置が記述される。
BasicSegmentDescription(基本セグメント記述)には、このSegment(セグメント)の各種内容が記述される。具体的には、例えば、Title(タイトル)、Keywords(キーワード)、Synopsis(概要)、および、RelatedMaterial(関連マテリアル)が記述される。
Title(タイトル)には、このSegment(セグメント)のタイトルが、Keywords(キーワード)には、このSegment(セグメント)のキーワードのリストが、Synopsis(概要)には、このSegment(セグメント)の内容の説明が、RelatedMaterial(関連マテリアル)には、関連する他の情報への参照情報が、それぞれ記述される。
図30に戻り、SegmentGroup(セグメントグループ)とは、Segment(セグメント)のグループについての情報を指す。グルーピングされる際には、例えば、ハイライト、ブックマーク等のグループのタイプが定義される。具体的には、例えば、SegmentGroup(セグメントグループ)には、図32に示される情報が含まれる。
即ち、GroupId(グループ識別子)には、このSegmentGroup(セグメントグループ)の識別子が記述される。
GroupType(グループタイプ)には、このSegmentGroup(セグメントグループ)のタイプが記述される。このGroupType(グループタイプ)に記述可能なタイプとして、一つないし複数のProgram(プログラム)から選択されたハイライトを表す” highlights”、および、Program(プログラム)に対する一連のアクセスポイントを示す” bookmarks”等が存在する。
Ordered(順序型指定)は、グループ内のメンバーが順序付けられているか否かを示すフラグである。
Duration(継続時間)には、このグループに含まれるSegment(セグメント)の長さの合計時間が記述される。なお、この長さはSegmentGroup(セグメントグループ)の直接のメンバーであるSegment(セグメント)の長さの合計に相当する。
Segment/SegmentGroupRefs(セグメント/セグメントグループ参照)には、メンバーであるSegment(セグメント)/ SegmentGroup(セグメントグループ)への参照情報が記述される。
ProgramRef(プログラム参照)には、このSegmentGroup(セグメントグループ)が属しているProgram(プログラム)への参照情報が記述される。メンバーとなるSegment(セグメント)やSegmentGroup(セグメントグループ)がそれぞれ異なるProgram(プログラム)から収集されている場合、それらのProgram(プログラム)からなるProgramGroup(プログラムグループ)のCRIDが参照される。
KeyFrameLocator(キーフレームロケータ)には、一つのProgram(プログラム)内に閉じたSegmentGroup(セグメントグループ)について、そのキーフレームの位置が記述される。
BasicSegmentDescription(基本セグメント記述)は、SegmentGroup(セグメントグループ)の内容に関する記述であって、上述したSegment(セグメント)のBasicSegmentDescription(基本セグメント記述)(図31参照)と同様の記載がなされる。
図33乃至図36には、Program(プログラム)の中の複数のSegment(セグメント)をSegmentGroup(セグメントグループ)により所定の観点でまとめる様子が示されている。
即ち、図33は、第1のProgram(プログラム)の構成例を示している。
図33に示されるように、第1のProgram(プログラム)は、Segment(セグメント)301A乃至301Gから構成される。
なお、同図中、複数の斜線が描画された領域を有するSegment(セグメント)、即ち、Segment(セグメント)301A,301D,301Gは、GroupType(グループタイプ)が” highlights”であるSegmentGroup(セグメントグループ)に属することを示している。
また、同図中、複数の水平線が描画された領域を有するSegment(セグメント)、即ち、Segment(セグメント)301B,301Dは、GroupType(グループタイプ)が” bookmarks” であるSegmentGroup(セグメントグループ)に属することを示している。
図34は、第2のProgram(プログラム)の構成例を示している。
図34に示されるように、第2のProgram(プログラム)は、Segment(セグメント)302A乃至302Hから構成される。
なお、同図中、複数の水平線が描画された領域を有するSegment(セグメント)、即ち、Segment(セグメント)302A,302C,302Fは、GroupType(グループタイプ)が” bookmarks” であるSegmentGroup(セグメントグループ)に属することを示している。
図35は、このような第1のProgram(プログラム)(図33)と、第2のProgram(プログラム)(図34)の中から、GroupType(グループタイプ)が” highlights”であるSegmentGroup(セグメントグループ)のSegment(セグメント)をまとめた場合の構成例を示している。このように、セグメント記述メタデータを使用することで、ハイライトシーンだけを集めたSegmentGroup(セグメントグループ)を定義することが可能になる。
図36は、このような第1のProgram(プログラム)(図33)と、第2のProgram(プログラム)(図34)の中から、GroupType(グループタイプ)が” bookmarks”であるSegmentGroup(セグメントグループ)のSegment(セグメント)をまとめた場合の構成例を示している。このように、セグメント記述メタデータを使用することで、複数の番組をまたがって所望の対象物(例えば、好みの出演者等)が出ているシーンを集めたSegmentGroup(セグメントグループ)、即ち、そのようなブックマークを集めたSegmentGroup(セグメントグループ)を定義することが可能になる。
以上、本発明において、リムーバブル記録媒体(図3のリムーバブル記録媒体31や図8等のリムーバブル記録媒体131)に記録可能なメタデータの例について説明した。
ところで、本発明が適用されるコンテンツナビゲーション機能の形態は、図3の例に限定されず、様々な形態を取ることが可能である。即ち、本発明は、図2のクライアント主体型ナビゲーションに適用できるだけでなく、その他のコンテンツナビゲーション機能に対しても適用可能である。
具体的には、例えば、図37に示されるようなコンテンツナビゲーション機能の形態、即ち、ネットワーク依存型ナビゲーション(図1)と、クライアント主体型ナビゲーション(図2)とを併せた形態(以下、このような形態を、ハイブリット型ナビゲーションと称する)に対して、本発明を適用することができる。即ち、図37は、ハイブリット型ナビゲーション手法を説明する図である。
ハイブリット型ナビゲーション手法においては、クライアント302−Aには、ブラウザ311とクライアントアプリケーション312とが共に設けられている。クライアント302―Aにはまた、クライアントメタデータデータベース313が設けられている。
また、サーバ301には、ショップサーバ321、および、メタデータデータベース322が設けられている。サーバ301にはさらに、図示はしないが、図8のサーバ101と同様の、決済サーバ、コンテンツサーバ、および、DRMサーバ等が設けらることもある。
なお、ハイブリット型ナビゲーションにおけるクライアント302−Aの動作は、基本的に、ネットワーク依存型ナビゲーションにおけるクライアント1の動作(図1)と、クライアント主体型ナビゲーション(図2)におけるクライアント11−Aの動作との組み合わせである。従って、ここでは、その詳細な説明については省略する。
このように、ハイブリット型ナビゲーションは、クライアント主導型ナビゲーション(図2)が有する特長と、ネットワーク依存型ナビゲーション(図1)が有する特長とのそれぞれをそのまま有することになる。
しかしながら、ハイブリット型ナビゲーションでも、結局、クライアント主導型ナビゲーションが有する上述した第3の課題と第4の課題とをそのまま有することになる。
そこで、図38に示されるように、ハイブリット型ナビゲーションに対しても、図3と同様の手法(本発明の手法)を適用することで、第3の課題と第4の課題とを解決することができる。即ち、図38は、本発明が適用されるコンテンツナビゲーション手法の他の形態(図3とは異なる形態)を説明する図である。なお、図38において、図37と対応する部分には対応する符号が付してある。
図38に示されるように、ハイブリット型ナビゲーションに対しても本発明を適用することで、クライアント302−Bは、サーバ301のメタデータデータベース322に蓄積されているメタデータや、クライアントアプリケーション(ナビゲーションプログラム)312−A等の情報を、リムーバブル記録媒体332から取得することが可能になる。
従って、ハイブリット型ナビゲーションに対しても本発明を適用した場合(図38)においても、クライアント主体型ナビゲーションに対して本発明を適用した場合(図3)と全く同様の効果を奏することが可能になる。
ところで、本発明が適用されるリムーバブル記録媒体(図3のリムーバブル記録媒体31、図8等のリムーバブル記録媒体131、および、図38のリムーバブル記録媒体332等)は、図39のフローチャートに従って製造することができる。
即ち、図39は、発明が適用されるリムーバブル記録媒体の製造方法を説明するフローチャートである。そこで、以下、図39のフローチャートを参照して、本発明が適用されるリムーバブル記録媒体の製造方法を説明する。
なお、上述したように、リムーバブル記録媒体の製造装置の形態は特に限定されないが、ここでは、上述した図5の形態(パーソナルコンピュータ)のサーバ101が製造装置であるとして説明する。
はじめに、ステップS301において、サーバ101のCPU121は、リムーバブル記録媒体131がドライブ130に装着されたか否かを判定する。
リムーバブル記録媒体131がドライブ130に装着されていない場合(ステップS301において、リムーバブル記録媒体131が装着されていないと判定された場合)、処理はステップS301に戻され、ムーバブル記録媒体131が装着されたか否かが再度判定される。即ち、リムーバブル記録媒体131が装着されるまで、ステップS301の処理が繰り返される。
リムーバブル記録媒体131がドライブ130に装着されると、CPU121は、ステップS301において、リムーバブル記録媒体131が装着されたと判定し、ステップS302において、記憶部128等からメタデータを読み出し、リムーバブル記録媒体131に記録させる。
ステップS303において、CPU121は、ナビゲーションプログラム203−A(図8)を記憶するか否かを判定する。
ステップS303において、ナビゲーションプログラム203−Aを記憶しないと判定された場合、処理は終了となる。即ち、メタデータのみが記録されたリムーバブル記録媒体131が製造される。
なお、ステップS303において、ナビゲーションプログラム203−Aを記憶しないと判定された場合、処理は終了されずに、ステップS305の処理に移行してもよい。
これに対して、ステップS303において、ナビゲーションプログラム203−Aを記憶すると判定した場合、CPU121は、ステップS302において、記憶部128等からナビゲーションプログラム203−Aを読み出し、リムーバブル記録媒体131に記録させる。
そして、ステップS304において、CPU121は、その他の情報を記録するか否かを判定する。
ステップS305において、その他の情報を記憶しないと判定された場合、処理は終了となる。即ち、メタデータとナビゲーションプログラム203−Aとが記録されたリムーバブル記録媒体131が製造される。
これに対して、ステップS305において、その他の情報を記録すると判定した場合、CPU121は、ステップS306において、記憶部128等から対応する情報(その他の情報)を読み出し、リムーバブル記録媒体131に記録させる。これにより、処理は終了となり、メタデータ、ナビゲーションプログラム203−A、およびその他の情報が記録されたリムーバブル記録媒体131が製造される。
ところで、上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラム(例えば、クライアントアプリケーション等)が、ネットワークや記録媒体からインストールされる。
この記録媒体は、図3,図5,図6,図38等に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディス(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体31(図3),131(図5や図6等),332(図38)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM122(図5),159(図6)や、記憶部128,補助記憶部160に含まれるハードディスクなどで構成される。
なお、上述した一連の処理は必要に応じて、適宜ハードウエアに実行させてもよい。
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
以上においては、クライアントは、図6に示されるハードディスクビデオレコーダ、または、図5に示されるパーソナルコンピュータで構成されるとして説明したが、本発明が適用されるクライアントは、上述したように、リムーバブル記録媒体が装着可能であればその形態は特に限定されず、これらの他、ディジタルテレビジョン受像機、DVD(Digital Versatile Disk)レコーダ、その他各種のコンテンツ処理装置に適用することが可能である。
また、配信するコンテンツは、テレビジョン放送の番組に限らず、各種のコンテンツとすることができる。
11−A,11−B クライアント, 21 クライアントアプリケーション, 21−A クライアントアプリケーション(ナビゲーションプログラム), 22 クライアントメタデータデータベース, 31 リムーバブル記録媒体, 101 サーバ, 102 ネットワーク, 103 クライアント, 131 リムーバブル記録媒体, 157 CPU, 159 ROM, 162 入力部, 163 通信部, 164 ドライブ, 203 クライアントアプリケーション, 204 コンテンツ再生部, 205 DRM処理部, 206 課金処理部, 207 ダウンロード処理部, 208 コンテンツ記憶部, 209 クライアントメタデータデータベース, 221 ショップサーバ, 222 決済サーバ, 223 メタデータデータベース, 224 DRMサーバ, 225 コンテンツサーバ, 301 サーバ, 302−A,302−B クライアント, 311 ブラウザ, 312 クライアントアプリケーション, 312−A クライアントアプリケーション(ナビゲーションプログラム), 313 クライアントデータベース, 321 ショップサーバ, 322 メタデータデータベース, 332 リムーバブル記録媒体