〔実施形態1〕
以下、本発明の実施の形態について、図1〜図15に基づいて詳細に説明する。
《システム構成》
まず、本実施形態に係るコンテンツ送受信システムの構成を図1に基づいて説明する。図1は、コンテンツ送受信システム3を構成する配信サーバ(配信装置)1および再生クライアント(再生装置)2の要部構成を示すブロック図である。
図示のように、コンテンツ送受信システム3は、配信サーバ1と再生クライアント2とがネットワークを介して接続された構成であり、コンテンツ送受信システム3では、配信サーバ1が配信するコンテンツを再生クライアント2が受信して再生する。
なお、図示の例では、配信サーバ1と再生クライアント2とが直接通信しているが、これに限られない。例えば、配信サーバ1と再生クライアント2との通信は中継サーバが中継してもよいし、配信サーバ1から他の配信サーバにコンテンツを配信し、この配信サーバから再生クライアント2にコンテンツを配信してもよい。
また、配信サーバ1と再生クライアント2とを接続するネットワークは、配信サーバ1と再生クライアント2とがコンテンツを送受信可能なものであればよく、特に限定されない。例えば、上記ネットワークとして、放送網を適用してもよいし、インターネットを適用してもよい。また、インターネットと放送網など複数のネットワークを併用するハイブリッドネットワークを採用してもよい。
配信サーバ1は、コンテンツを配信する装置であり、配信サーバ1の機能を統括して制御するサーバ制御部10、配信サーバ1で使用するデータを格納するサーバ記憶部11、および配信サーバ1が外部の装置と通信を行うためのサーバ通信部12を備えている。また、サーバ制御部10は、コンポーネント変換部13、構成情報解析部(取得手段)14、構成情報生成部(構成情報生成手段)15、および配信制御部(配信制御手段)16を含み、サーバ記憶部11には構成情報17およびコンテンツ18が格納されている。
コンポーネント変換部13は、コンテンツ18を所定の分割単位で分割して配信用のコンポーネントに変換する。なお、コンテンツ18が配信用のコンポーネントとして格納されている場合、コンポーネント変換部13を省略してもよい。
構成情報解析部14は、サーバ記憶部11に格納されている構成情報17を取得・解析し、構成情報17に含まれる情報のうち、何れを主構成情報(参照形式構成情報)とし、何れを副構成情報(参照先構成情報)とするかを決定する。なお、主構成情報および副構成情報の詳細は後に詳しく説明する。
構成情報生成部15は、構成情報解析部14の決定に従って主構成情報および副構成情報を生成する。配信サーバ1は、構成情報17から主構成情報および副構成情報を生成し、これらを配信する点が主な特徴点である。
配信制御部16は、コンテンツ18の配信を制御する。具体的には、配信制御部16は、コンポーネント変換部13が生成したコンポーネントおよび構成情報生成部15が生成した主構成情報および副構成情報の配信スケジュールを決定する。そして、決定した配信スケジュールに従って、サーバ通信部12を介して、コンポーネント、主構成情報、および副構成情報を再生クライアント2に配信する。
構成情報17は、コンテンツ18を構成するコンポーネント、該コンポーネントの表示位置、大きさなどのレイアウトや組み合わせ可否などの再生条件(再生態様)を示す情報である。構成情報17は、例えば、図16(b)に示すような情報であってもよい。なお、図1では構成情報17とコンテンツ18とが個別に格納されている状態を示しているが、構成情報17は、コンテンツ18と多重化された状態で格納されていてもよい。
コンテンツ18は、配信サーバ1が配信するコンテンツである。コンテンツ18は複数のコンポーネントからなり、所定の分割単位で分割され、ヘッダを付加された伝送パケットとして配信される。なお、コンテンツ18を構成するコンポーネントとしては、例えば動画像、音声、テキスト、プログラム等が挙げられる。
一方、再生クライアント2は、コンテンツを受信して再生する装置であり、再生クライアント2の機能を統括して制御するクライアント制御部20、再生クライアント2で使用するデータを格納するクライアント記憶部21、および再生クライアント2が外部の装置と通信を行うためのクライアント通信部22を備えている。また、クライアント制御部20は、再生制御部23および再生部24を含み、クライアント記憶部21には構成情報25が格納されていると共に、受信データ格納部26が設けられている。
再生制御部23は、コンテンツ18の再生を統括して制御する。具体的には、再生制御部23は、配信サーバ1が配信する主構成情報および副構成情報を解析し、この解析結果に基づいて、再生部24にコンテンツ18を再生させる。また、再生制御部23は、受信した主構成情報および副構成情報をクライアント記憶部21に構成情報25として記録し、コンテンツ18を再生するときに適宜これを利用する。
再生部24は、再生制御部23の制御に従ってコンテンツ18を再生する。より詳細には、再生部24は、コンテンツ18を構成するコンポーネントをその属性に応じた再生態様で再生する。例えば、再生対象のコンポーネントが動画像や音声であればこれを再生し、図示しない表示部および音声出力部から出力する。また、テキストであれば図示しない表示部に表示し、プログラムであればこれを実行する。無論、コンポーネントに応じた再生、表示、実行処理は、それぞれ個別のブロックで実行するようにしてもよい。
《構成情報の例1》
配信サーバ1が生成する構成情報について、図2に基づいて説明する。図2は、記憶している構成情報17を、主構成情報と2つの副構成情報とに分割して生成した構成情報の一例を示す図である。なお、分割の元となる構成情報17は、図16(b)に示した構成情報である。
同図の主構成情報(main)では、構成情報のバージョンが"1"であることが記述されている。また、<components>タグによって、コンテンツを構成するコンポーネントが<comp href=" ">との参照形式で記述されている。さらに、<compositions>タグによって、コンポーネントの再生態様が<par href=" ">との参照形式で記述されている。
このように、主構成情報は、構成情報17に含まれる情報の一部を参照形式に書き換えた構成であり、コンテンツの構成全体の概要を表すために用いる。情報の一部を参照形式に書き換えるため、図16(b)の構成情報と比べて、データ量が大幅に削減されている。
そして、コンテンツを構成するコンポーネントおよびその再生態様が参照形式で記述されているので、コンテンツを構成するコンポーネントおよびその再生態様を変更したい場合に、主構成情報を変更する必要がない。このため、主構成情報の更新が必要となる頻度も、図16(b)の構成情報と比べて低くなっている。
一方、副構成情報(sub)には、主構成情報からの参照の対象となる具体的な情報(構成情報17に含まれる情報のうち、主構成情報において参照形式に書き換えられた情報)が含まれている。つまり、主構成情報がコンテンツの構成全体の概要を表すのに対し、副構成情報はコンテンツの一部についての詳細を表すために用いる。
すなわち、同図の副構成情報のうち、バージョンが"1"の副構成情報では、c1からc4のコンポーネントを特定する情報が記述されており、これらのコンポーネントに対して、"s1"のidが割り当てられている。すなわち、主構成情報の<comp href="sub#s1"/>は、副構成情報におけるid=s1のコンポーネントを参照することを示している。
また、バージョンが"1"の副構成情報では、ビデオコンポーネントであるc1とオーディオコンポーネントであるc2とを同時に再生することが記述されている。また、テキストコンポーネントであるc3およびc4は何れかを選択して使用することが可能であることが記述されている。そして、これらの再生態様に対して、"p1"のidが割り当てられている。すなわち、主構成情報の<par href="sub#p1"/>は、副構成情報におけるid=p1の再生態様を参照することを示している。
これにより、図16(b)に示した構成情報を用いた場合と同様に、c1およびc2のコンポーネントを同時に再生し、この再生中において、必要に応じてc3またはc4のコンポーネントを使用することができる。
また、バージョンが"2"の副構成情報(別版参照先構成情報)においても、id=s1のコンポーネントと、id=p1の再生態様とが記述されている。ただし、バージョンが"2"の副構成情報では、バージョンが"1"の副構成情報と記述内容が異なっている。
具体的には、バージョンが"2"の副構成情報では、c5からc8のコンポーネントが記述されている。また、ビデオコンポーネントであるc5とオーディオコンポーネントであるc6とを同時に再生すること、そしてテキストコンポーネントであるc7およびc8は何れかを選択して使用することが可能であることが記述されている。
これにより、図16(b)に示した構成情報を用いた場合と同様に、c5およびc6のコンポーネントを同時に再生し、この再生中において、必要に応じてc7またはc8のコンポーネントを使用することができる。
このように、本実施形態では、主構成情報と副構成情報とを参照することによって、従来の構成情報を用いた場合と同様の再生を可能にしている。また、詳細は後述するが、1つの構成情報を、主構成情報と副構成情報とに分割した場合、更新が必要になる頻度の低い主構成情報の配信頻度を下げることができる。これにより、構成情報17をそのまま配信する場合と比べて、全体として配信データ量を削減することも可能になる。
なお、構成情報17のうち参照形式とする部分は特に限定されず、例えば<components>タグ内のコンポーネントおよび<compositions>タグ内の再生態様の何れかを参照形式としてもよい。また、例えば<components>タグ内の一部のコンポーネントを参照形式としてもよく、同様に<compositions>タグ内の再生態様の一部を参照形式としてもよい。
〈配信態様〉
続いて、上記の主構成情報および副構成情報の配信態様を図3に基づいて説明する。図3は、主構成情報および副構成情報の配信タイミングの一例を示す図である。なお、図3においても、図16(a)と同様、1つのコンポーネント、1つの構成情報を1つのブロックで示し、破線のブロックは使用が任意のコンポーネントを示している。
図3の例においても、コンポーネントの配信タイミングは、図16(a)の例と同様であり、まずc1からc4のコンポーネントを配信し、その後c5からc8のコンポーネントを配信する。より詳細には、再生対象コンテンツの配信開始時刻である時刻t0において、c1からc4のコンポーネントの配信を開始する。そして、再生対象コンテンツの構成変更時刻である時刻t3において、c5からc8のコンポーネントの配信を開始する。
一方、構成情報の配信態様は、図16(a)の例と異なっている。すなわち、図3の例では、主構成情報(main)を、時刻t0、t3、t5に配信しており、この配信頻度は、図16(a)の構成情報(CI)よりも低くなっている。
また、図3の例では、c1からc4のコンポーネントを配信する時刻t0からt3の期間には、この期間を再生期間とするコンポーネントに関する情報を含むバージョン1の副構成情報を繰り返し配信する。副構成情報の配信頻度は、主構成情報よりも高い。
同様に、c5からc8のコンポーネントを配信する時刻t3からt5の期間には、この期間を再生期間とするコンポーネントに関する情報を含むバージョン2の副構成情報を繰り返し配信する。
このようなタイミングでコンポーネント、主構成情報、および副構成情報を配信する場合、再生クライアント2は、主構成情報および副構成情報の両方が取得されたタイミングで、コンポーネントの再生を開始することができる。
例えば、同図の時刻t1に受信を開始した場合、この時刻には2回目に配信されたバージョン1の副構成情報の配信途中であるから、再生クライアント2は次に配信されるバージョン1の副構成情報の受信が完了する時刻t2までは再生待ちの状態となる。
ここで、再生クライアント2が過去(図示されない時刻t0以前)に配信サーバ1からコンテンツを受信していた場合、再生クライアント2が主構成情報を記憶しておくことで、時刻t2において、過去に受信した主構成情報と、時刻t2で受信完了したバージョン1の副構成情報とを用いることにより、時刻t2からコンポーネントc1からc4の再生を開始することができる。
そして、時刻t3には、コンポーネントc5からc8およびバージョン2の副構成情報の配信が開始され、時刻t4にはバージョン2の副構成情報の受信が完了するので、時刻t4以降において、コンポーネントc5からc8の再生も可能になる。
なお、主構成情報および副構成情報は、コンポーネントc1、c2の再生を開始させたい時刻に応じたタイミングで配信すればよい。例えば、時刻t0から再生開始させたい場合、時刻t0に受信が完了するようなタイミングで主構成情報および副構成情報を配信すればよい。
一方、時刻t2において、主構成情報を過去に受信していなかった場合、次に配信される主構成情報の受信が完了する時刻t4までは再生待ちの状態となる。そして、時刻t4には、主構成情報および副構成情報の両方が取得された状態となるので、これらの情報に基づいて、コンポーネントc1からc4の再生を開始することが可能になる。
なお、時刻t4には、バージョン2の副構成情報も取得されているが、バージョン2の副構成情報にはコンポーネントc5からc8に関する情報が記述されているので(図2参照)、コンポーネントc1からc4の再生には利用できない。このため、時刻t3までに受信済みとなっている、コンポーネントc1からc4に関する情報が記述されているバージョン1の副構成情報を参照して再生する。
〈ペイロードレベルでの識別について〉
上記のような主構成情報と、副構成情報とを用いる場合、再生クライアントは、コンテンツを構成する各コンポーネントと共に多重化されて配信される構成情報が主構成情報であるか副構成情報であるかを識別する必要がある。無論、構成情報の内容を解析することにより、主構成情報であるか副構成情報であるかの識別は可能であるが、複数回配信される構成情報を取得する度にその解析を行うことは無駄が多い。
ここで、主構成情報および副構成情報は、コンテンツを構成する各コンポーネントと同様、ペイロード単位で多重化され配信される。このため、ペイロードレベルで主構成情報であるか副構成情報であるかを識別でき、またそのバージョンを識別できるようにすることが望ましい。これにより、これらの識別のために構成情報を解析する必要がなくなるためである。
ここでは、ペイロードのヘッダに構成情報を識別するための情報を記述する例について、図4に基づいて説明する。図4は、主構成情報、副構成情報、および2つのコンポーネントを配信するペイロードのヘッダに構成情報を識別するための情報を記述したデータ構造の一例を示す図である。
図示の例では、主構成情報(main)および副構成情報(sub)は分割せずにそれぞれ1つのペイロードに格納し、コンポーネントc1およびコンポーネントc2は複数の部分に分割してそれぞれ個別のペイロードに格納している。また、主構成情報(main)および副構成情報(sub)については、繰り返し配信されるように複数のペイロードに繰り返し格納されている。
そして、主構成情報のペイロードヘッダには、”Payload Type=CI”の形式でペイロードの内容が構成情報であることが記述されていると共に、"ID=main"の形式で当該ペイロードに主構成情報が格納されていることが示されている。また、"Ver=(バージョン番号)"の形式で当該主構成情報のバージョンが記述されている。
同様に、副構成情報のペイロードヘッダには、”Payload Type=CI”の形式でペイロードの内容が構成情報であることが記述されていると共に、"ID=sub"の形式で当該ペイロードに副構成情報が格納されていることが示されている。また、"Ver=(バージョン番号)"の形式で当該副構成情報のバージョンが記述されている。
再生クライアント2は、ペイロードヘッダに記述されたこれらの情報を参照することによって、ペイロード内のデータを解析することなく、そのペイロードに格納されているのが主構成情報、副構成情報の何れの構成情報であるかを識別することができる。これにより、主構成情報または副構成情報の受信待ち状態において、受信待ちの構成情報を受信したことをスムーズに特定することができる。
また、ペイロードヘッダを参照するだけで、受信した構成情報のバージョンを識別することができ、これにより過去に受信していないバージョンの構成情報を受信したことをスムーズに特定することができる。
なお、主構成情報および副構成情報を識別するための情報は、ペイロードヘッダのみの参照によって主構成情報または副構成情報の識別子が特定できる情報でなくともよい。構成情報は、主構成情報、副構成情報に分類されるので、例えば、ペイロードヘッダには、主構成情報であるか否かを示す1ビットのフラグを記述するのみであってもよく、ペイロードヘッダに記述する情報量を削減することができる。なお、この場合必要に応じて各構成情報の識別子は、例えば構成情報の内部に<ci id=“sub”>…</ci>のような形式で記述してもよい。
また、ペイロードレベルでのバージョン管理は、変更有無を示す1ビットのフラグとし、実際のバージョン番号は構成情報を解析して特定してもよい。この場合、当該ビットで変更が示されたとき、受信開始時、および受信エラーからの回復直後には、実際にペイロード内の構成情報を解析して更新内容を確認する。
《構成情報の例2》
上記では、1つの構成情報を1つの主構成情報と1つの副構成情報とに分割し、副構成情報を複数バージョン生成する例を示したが、副構成情報をコンポーネントに応じてさらに分割してもよい。これにより、伝送データ量をさらに削減することが可能になる。
ここでは、副構成情報をコンポーネントに応じてさらに分割した構成情報について、図5に基づいて説明する。図5は、構成情報17を、主構成情報と4つの副構成情報とに分割して生成した構成情報の一例を示す図である。なお、分割の元となる構成情報17は、図16(b)に示した構成情報である。
図5の主構成情報の<components>タグにおいても、図2の例と同様に、コンテンツ18を構成するコンポーネントが参照形式で記述されているが、参照されているコンポーネントが"sub1#s1"と"sub2#s2"の2つになっている点で図2の例と異なっている。この"sub1"が第1の副構成情報(参照先構成情報)であり、"sub2"が第2の副構成情報(副参照先構成情報)である。
また、図5の主構成情報の<compositions>タグにおいては、コンポーネントの再生態様が引用形式で記述されている。具体的には、再生態様として"sub1#p1"が引用形式で記述されていると共に、任意選択のコンポーネントを使用する場合の参照先が"sub2#e2"と記述されている。
そして、同図では、第1の副構成情報(sub1)および第2の副構成情報(sub2)のそれぞれについて、2つのバージョン(1と2)を図示している。
具体的には、第1の副構成情報(バージョン1)では、c1およびc2のコンポーネントが記述されており、これらのコンポーネントに対して"s1"のidが割り当てられている。また、ビデオコンポーネントであるc1とオーディオコンポーネントであるc2とを同時に再生することが記述されており、この再生態様に対して"p1"のidが割り当てられている。
また、第2の副構成情報(バージョン1)では、c3およびc4のコンポーネントが記述されており、これらのコンポーネントに対して"s2"のidが割り当てられている。また、テキストコンポーネントであるc3、c4の何れか一方を使用することが記述されており、この使用態様に対して"e2"のidが割り当てられている。
したがって、主構成情報、第1の副構成情報(バージョン1)、および第2の副構成情報(バージョン1)を参照することにより、図16(b)に示した構成情報を用いた場合と同様の再生が可能になる。
すなわち、主構成情報の<components>タグの記述、第1の副構成情報(バージョン1)のid=s1の記述、および第2の副構成情報(バージョン1)のid=s2の記述を参照することによって、再生対象がc1からc4の4つのコンポーネントであることを特定することができる。
そして、主構成情報の<compositions>タグの記述、第1の副構成情報(バージョン1)のid=p1の記述、および第2の副構成情報(バージョン1)のid=e2の記述を参照することによって、c1およびc2のコンポーネントを同時に再生し、この再生中において、必要に応じてc3またはc4のコンポーネントを使用することができる。無論、再生が任意のコンポーネントに関する第2の副構成情報は取得しなくとも、第1の副構成情報を取得すれば、c1およびc2のコンポーネントを再生することができる。
同様に、第1の副構成情報(バージョン2)には、c5およびc6のコンポーネントが記述されており、これらのコンポーネントに対して"s1"のidが割り当てられている。また、ビデオコンポーネントであるc5とオーディオコンポーネントであるc6とを同時に再生することが記述されており、この再生態様に対して"p1"のidが割り当てられている。
そして、第2の副構成情報(バージョン2)では、c7およびc8のコンポーネントが記述されており、これらのコンポーネントに対して"s2"のidが割り当てられている。また、テキストコンポーネントであるc7、c8の何れか一方を使用することが記述されており、この使用態様に対して"e2"のidが割り当てられている。
したがって、バージョン2の第1および第2の副構成情報を参照する場合には、再生対象がc5からc8の4つのコンポーネントであることが特定される。また、c5およびc6のコンポーネントを同時に再生し、この再生中において、必要に応じてc7またはc8のコンポーネントを使用することができる。無論、再生が任意のコンポーネントに関する第2の副構成情報は取得しなくとも、第1の副構成情報を取得すれば、c1およびc2のコンポーネントを再生することができる。
このように、再生が必須のコンポーネント(c1、c2、c5、c6)と、使用が任意のコンポーネント(c3、c4、c7、c8)とを、別の副構成情報に記述した場合、更新の頻度を下げても問題の少ない第2の副構成情報の配信頻度を下げることによって、全体として配信データ量を削減することも可能になる。
〈配信態様〉
続いて、上記の主構成情報および副構成情報の配信態様を図6に基づいて説明する。図6は、主構成情報および4つの副構成情報の配信タイミングの一例を示す図である。なお、図6においても、図16(a)および図3と同様、1つのコンポーネント、1つの構成情報を1つのブロックで示し、破線のブロックは使用が任意のコンポーネントを示している。
図6の例においても、コンポーネントの配信タイミングは、図3の例と同様であり、時刻t0にc1からc4のコンポーネントの配信を開始し、時刻t3にc5からc8のコンポーネントの配信を開始する。また、主構成情報の配信タイミングも、図3の例と同じである。
一方、副構成情報の配信態様は、図3の例と異なっている。すなわち、図6の例では、第1の副構成情報(sub1)および第2の副構成情報(sub2)の2種類の副構成情報を配信している。なお、時刻t0からt3の期間に配信される副構成情報は、何れもバージョンが1であり、時刻t3からt5の期間に配信される副構成情報は、何れもバージョンが2である。
そして、第1の副構成情報の配信頻度は、図3の副構成情報と同様であるが、第2の副構成情報の配信頻度は、第1の副構成情報よりも低くしている。これにより、図3の例よりも配信する副構成情報のデータ量が削減されている。
このような主構成情報および4つの副構成情報を参照して再生を行う場合、再生クライアント2における処理は、例えば以下のようになる。
すなわち、時刻t1に受信を開始した場合、この時刻には2回目に配信されたバージョン1の第1の副構成情報の配信途中であるから、再生クライアントは次に配信されるバージョン1の第1の副構成情報の受信が完了する時刻t2までは再生待ちの状態となる。
ここで、時刻t2において、主構成情報を過去に受信していた場合、過去に受信した主構成情報と、時刻t2で受信完了したバージョン1の第1の副構成情報とを用いることにより、時刻t2からコンポーネントc1およびc2の再生を開始することができる。
また、この場合、時刻t6で受信完了したバージョン1の第2の副構成情報を用いることにより、時刻t6からコンポーネントc3およびc4の使用を開始することができる。コンポーネントc3およびc4は、使用が必須ではない字幕のテキストであるから、この例における程度の遅延(t2からt6)であれば、多くのユーザが許容すると考えられる。
そして、時刻t3には、バージョン2の第1および第2の副構成情報の配信が開始され、時刻t4にはこれらの受信が完了するので、時刻t4以降において、コンポーネントc5からc8の再生も可能になる。
一方、時刻t2において、主構成情報を過去に受信していなかった場合、次に配信される主構成情報の受信が完了する時刻t4までは再生待ちの状態となる。そして、時刻t4には、主構成情報、第1および第2の副構成情報の全てが取得された状態となるので、これらの情報に基づいて、コンポーネントc1からc4の再生を開始することが可能になる。
以上のように、図6の例では、コンポーネント毎の重要度の高さ(即時表示が求められるか否か、または再生が必須か否か)でコンポーネントを分類し、各分類に応じた副構成情報を生成している。そして、これら副構成情報のうち、相対的に重要度の高い副構成情報の配信頻度を高く、相対的に重要度の低い副構成情報の配信頻度を低くしている。
具体的には、再生が必須であり即時再生の必要性の高いAVコンポーネント(ビデオコンポーネントおよびオーディオコンポーネント)を再生するための第1の副構成情報については高頻度で配信している。一方、使用が任意であり、即時再生の必要性が相対的に低い字幕等のテキストコンポーネントを使用するための第2の副構成情報については、低頻度で配信している。
これにより、第1の副構成情報の受信待ちによるAVコンポーネントの再生開始遅延を最小限に抑えつつ、構成情報全体としての配信データ量を削減することができる。
なお、コンポーネントの配信方法に応じて、そのコンポーネントを再生するための構成情報の配信頻度を変えてもよい。例えば、現行のデジタル放送で用いられているデータ放送のように、コンポーネント自体がカルーセルで繰り返し送信される場合、その配信頻度に合わせて当該コンポーネントに関する構成情報を送信してもよい。
《構成情報の例3》
上記では、再生態様を示す情報として、同時に再生するコンポーネントの組み合わせを示す情報を副構成情報に記述した例を示したが、レイアウトを示す情報を記述してもよい。
ここでは、レイアウトを示す情報を記述した副構成情報を用いる例を図7および図8に基づいて説明する。図7は、コンポーネントのレイアウトの一例を示す図であり、図8は、図7のレイアウトでコンポーネントを再生させるための構成情報の一例を示す図である。
図7の例では、"layout1"から"layout3"までの3通りのレイアウトがユーザ選択の対象となっている。コンポーネントを再生するユーザは、これらのレイアウトから所望のものを選択し、再生クライアント2は、選択されたレイアウトに従ってコンポーネントを表示する。
具体的には、layout1を選択した場合、まず、デフォルトの画面レイアウトが適用される。デフォルトの画面レイアウトは、v1(ビデオコンポーネント)を全画面表示し、v2(ビデオコンポーネント)を小画面表示すると共に、a1(オーディオコンポーネント)を再生するというものである。
この後、所定の時間が経過したタイミングでレイアウトが自動で変更される。変更後のレイアウトは、v2を全画面表示し、v1を小画面表示すると共に、a1を再生するというものである。そして、さらに所定の時間が経過したタイミングで、レイアウトが自動でデフォルトに戻される。
一方、layout2またはlayout3が選択された場合には、上記のようなレイアウトの自動変更は行われず、選択されたレイアウトが維持される。すなわち、layout2が選択された場合には、v1を全画面表示し、v2を小画面表示すると共に、a1を再生する。また、layout3が選択された場合には、v2を全画面表示し、v1を小画面表示すると共に、a1を再生する。
このようなレイアウトでの表示は、図8の構成情報によって実現可能である。図8の構成情報は、主構成情報と、第1の副構成情報と、第2の副構成情報とを含み、第2の副構成情報にはバージョン1から3までの3つのバージョンが含まれている。
同図の主構成情報では、<components>タグによって、"sub1#s1"のコンポーネント属性が参照されている。また、<layouts>タグによって、全画面表示に対応する"reg_1"と、小画面表示に対応する"reg_2"とが定義されている。
そして、<compositions>タグによって、外部参照の"sub2#layout1"、"layout2"、および"layout3"の何れかのレイアウトで再生することが記述されている。また、これらのレイアウトの具体的内容がそれぞれ記述されている。
一方、第1の副構成情報では、"v1"、"v2"、および"a1"のコンポーネントが記述されており、これらのコンポーネントに対して、"s1"のidが割り当てられている。
また、第2の副構成情報のバージョン1では、reg_1にビデオコンポーネントv1を表示し、reg_2にビデオコンポーネントv2を表示すると共に、オーディオコンポーネントa1を再生するというレイアウトが記述されている。そして、このレイアウトに対して、"layout1"のidが割り当てられている。
同様に、第2の副構成情報のバージョン2では、reg_2にビデオコンポーネントv1を表示し、reg_1にビデオコンポーネントv2を表示すると共に、オーディオコンポーネントa1を再生するというレイアウトが記述されている。そして、このレイアウトに対して、"layout1"のidが割り当てられている。
また、第2の副構成情報のバージョン3では、バージョン1と同様に、reg_1にビデオコンポーネントv1を表示し、reg_2にビデオコンポーネントv2を表示すると共に、オーディオコンポーネントa1を再生するというレイアウトが記述されている。そして、このレイアウトに対して、"layout1"のidが割り当てられている。
以上の構成情報を用いる場合、主構成情報と、第1の副構成情報とを取得することにより、v1、v2、a1のコンポーネントが再生可能となる。また、ユーザに任意のタイミングでlayout1からlayout3の何れかを選択させ、選択されたレイアウトに従ってコンポーネントを再生することも可能になる。つまり、第2の副構成情報を受信していない場合であっても、主構成情報に記述されたレイアウトに従って再生することが可能である。
そして、layout1が選択された場合、このレイアウトを変更するタイミングで第2の副構成情報のバージョン2を取得することによって、図7に示したように、レイアウトを自動で(ユーザ操作なしで)変更することができる。主構成情報の"sub2#layout1"で参照される情報が、バージョン2の第2の副構成情報に変わるためである。このレイアウトを自動で元に戻すときも同様であり、レイアウトを変更するタイミングで第2の副構成情報のバージョン3を取得すればよい。
〈配信態様〉
続いて、上記の主構成情報および副構成情報の配信態様を図9に基づいて説明する。図9は、主構成情報および副構成情報の配信タイミングの一例を示す図である。なお、図9においても、図3および図6と同様、1つのコンポーネント、1つの構成情報を1つのブロックで示している。
図9の例では、再生対象コンテンツの配信開始時刻である時刻t0において、コンポーネントa1、v2、v1が配信開始されている。また、時刻t0には、主構成情報、バージョン1の第1の副構成情報、およびバージョン1の第2の副構成情報が配信開始されている。
なお、主構成情報の配信タイミングは、図3、図6の例と同様であり、対応するコンポーネントの配信開始時に1回のみ配信している。また、第1の副構成情報の配信タイミングは、図6の例と同様であり、コンポーネントが配信されている期間中、所定の周期で繰り返し配信している。一方、第2の副構成情報については、バージョンが異なるものを1回ずつ配信している。
ここで、同図の例では、時刻t1において、バージョン2の第2の副構成情報が配信完了している。これにより、再生クライアント2は、バージョン2の第2の副構成情報を参照することによって、コンポーネントの表示レイアウトを自動的にバージョン2の第2の副構成情報に基づくものに切り替えることができる。
同様に、同図の例では、時刻t2において、バージョン3の第2の副構成情報が配信完了している。これにより、再生クライアント2は、バージョン3の第2の副構成情報を参照することによって、コンポーネントの表示レイアウトを自動的にバージョン3の第2の副構成情報に基づくものに切り替えることができる。
《オンデマンド配信の併用》
構成情報をオンデマンド配信することが可能であれば、オンデマンド配信を併用することによって、構成情報の伝送効率をさらに高めることができる。ここでは、構成情報をオンデマンド配信する例を図10に基づいて説明する。
図10は、構成情報をオンデマンド配信する例を説明する図であり、同図(a)は構成情報の配信タイミングの一例を示し、同図(b)は構成情報のデータ例を示している。なお、同図(a)においても、図16(a)、図3、図6の例と同様、1つのコンポーネント、1つの構成情報を1つのブロックで示し、破線のブロックは使用が任意のコンポーネントを示している。また、配信対象となるコンポーネントも図16(a)、図3、図6の例と同様である。
図10(a)の例では、c1からc4のコンポーネントの配信開始時刻に、これらのコンポーネントと共に、主構成情報と副構成情報とをprotocolAというプロトコルにて配信している。そして、このc1からc4のコンポーネントの配信期間においては、バージョン1の副構成情報をHTTPによってオンデマンドで取得することも可能となっている。
同様に、c5からc8のコンポーネントの配信開始時刻に、これらのコンポーネントと主構成情報と副構成情報とを多重化し、protocolAというプロトコルにて配信している。そして、このc5からc8のコンポーネントの配信期間においては、バージョン2の副構成情報をHTTPによってオンデマンドで取得することも可能となっている。
このようなオンデマンドによる取得を可能にするためには、例えば同図(b)に示すような構成情報を使用すればよい。同図(b)の構成情報は、主構成情報と、バージョン1の副構成情報と、バージョン2の副構成情報とを含んでいる。なお、副構成情報(バージョン1および2)は、図2の例と同じであるから、ここでは説明を省略する。
図10(b)の主構成情報には、ベースURLの形式で2つのパス("protocolA://.../"および"http://.../")が記述されている。また、<component>タグ内では、"sub#s1"が参照されており、<compositions>タグ内では、"sub#p1"が参照されている。
再生クライアント2は、これらの情報を参照することによって、参照先の構成情報をprotocolAまたはHTTPにより取得することができる。つまり、副構成情報は、protocolAで配信されているため、"protocolA://.../"とのベースURLに副構成情報を示す"sub#s1"(あるいは"sub#p1")を組み合せたURLによって取得することができる。また、HTTPを利用する場合、"http://.../" とのベースURLに副構成情報を示す"sub#s1"(あるいは"sub#p1")を組み合せたURLによって取得することができる。
なお、protocolAは、構成情報を配信することのできるプロトコルであればよく、特に限定されない。また、図4を用いて説明した通り、構成情報は他のコンポーネントと共に多重化されて配信することが可能であり、例えば、デジタル放送用にAVコンポーネントを配信するためにARIB(Association of Radio Industries and Business)で規定されたプロトコルや、DVB(Digital Video Broadcasting)で規定されたプロトコルが利用可能である。
〈外部参照URLの記述形式について〉
構成情報の配信形態が複数(ライブ配信およびオンデマンド配信)存在する場合、配信形態に応じて、当該構成情報の参照するためのURLが複数必要となるため、URL記述の情報量が問題となる。そこで当該システムでは「伝送プロトコル://伝送されるリソース識別子/コンポーネント識別子#コンポーネント内要素識別子」の形式のURL記述を用いる。従って配信形態(ライブ配信およびオンデマンド配信)毎に異なる部分のみをベースURLの形式をそれぞれ記述し、配信形態に依存しない部分(例えば「コンポーネント識別子#コンポーネント内要素識別子」)のみからなる相対URLをhref属性に記述することでURL記述の情報量を削減している。
ここで、相対URLを用いたURL記述の情報量削減について、図11に基づいて補足する。図11は、構成情報において外部の情報を参照するためのURLの記述例を示す図であり、同図(a)はベースURLを省略した例、同図(b)は上位ノードに設定されたURLをベースURLとして利用する例、同図(c)はベースURL形式でベースURLを指定する例を示している。
ただし、相対URL形式で参照される参照先から情報を取得するためには、当該コンポーネントの伝送プロトコル、伝送リソース識別子を補う必要がある。
例えば、図11(a)の例では、コンポーネントc1において、相対URL形式で"sub#s1"が参照されているが、ベースURL(伝送プロトコル、伝送されるリソース識別子)は記述されていない。
このような場合、コンポーネントc1のベースURLは、当該構成情報が伝送されている多重化ストリームであると判断して、当該多重化ストリームに含まれる情報の中から"sub#s1"で特定される情報を参照する。
これに対し、同図(b)の例では、c1に、相対URLとして、コンポーネント内要素識別子のみが設定されている。またc1が属する親ノードには、href属性"protocolA://.../sub"が設定されている。したがって、これらの情報を組み合せることによって、c1を外部参照するためのURL、"protocolA://.../sub#s1"が得られる。つまり、この例では、"protocolA://.../sub"がベースURLとして機能している。
また、同図(c)の例では、図10(b)の例と同様に、相対URL記述が用いられたc1の上位ノードに"protocolA://.../"および"http://.../"の2つのベースURLが記述されている。この例では、"protocolA://.../"と"sub#s1"とを組み合せることによって、protocolAで伝送される副構成情報の"s1"部分を参照することができる。また、"http://.../"と"sub#s1"とを組み合せることによって、HTTPによって副構成情報の"s1"部分を参照することができる。このように、ベースURLを用いた記述とすることによって、各プロトコルにおける共通部分である"sub#s1"の記述が重複することがないため、構成情報全体のデータ量を減らすことができる。
なお、上述の説明では、構成情報を外部参照するためのURL記述についてのみ説明したが、構成情報から参照される各コンポーネントを参照するURL記述についても同様の記述方法を用いても構わない。
《構成情報の例4》
上記では、主構成情報および副構成情報の伝送路については特に言及しなかったが、配信サーバ1と再生クライアント2を繋ぐネットワークが、ハイブリッドネットワークの場合等、配信サーバ1から再生クライアント2までのコンテンツの伝送路が複数存在する場合、これらを異なる伝送路で配信してもよい。これについて、図12に基づいて説明する。図12は、主構成情報と副構成情報とを別個の伝送路で配信する例を説明する図であり、同図(a)は構成情報の配信タイミングの一例を示し、同図(b)は構成情報のデータ例を示している。なお、同図(a)においても、図16(a)、図3、図6の例と同様、1つのコンポーネント、1つの構成情報を1つのブロックで示し、破線のブロックは使用が任意のコンポーネントを示している。また、配信対象となるコンポーネントも図16(a)、図3、図6、図10の例と同様である。
図12(a)の例では、再生が必須のコンポーネントc1、c2、c5、およびc6は伝送路Aで配信しており、この伝送路Aにて主構成情報も配信している。また、使用が任意のコンポーネントc3、c4、c7、およびc8は、伝送路Aとは異なる伝送路Bで配信しており、この伝送路Bでは副構成情報も配信している。この例では、主構成情報の配信は必須となっているが、副構成情報の配信は任意となっている。
このような態様で配信する主構成情報および副構成情報は、例えば同図(b)に示すものとすればよい。同図(b)の主構成情報では、<components>タグにおいて、伝送路Aで配信されるコンポーネントc1、c2、c5、c6が記述されていると共に、外部参照用のURL(取得先情報)として"protocolA://.../sub#s1"が記述されている。
また、<compositions>タグにおいては、ビデオコンポーネントc1とオーディオコンポーネントc2とを同時に再生すると共に、"protocolA://.../sub#e1"に示されるコンポーネントの何れかを使用可能であることが記述されている。同様に、ビデオコンポーネントc5とオーディオコンポーネントc6とを同時に再生すると共に、"protocolA://.../sub#e2"に示されるコンポーネントの何れかを使用可能であることが記述されている。
一方、副構成情報では、使用が任意のコンポーネントc3、c4、c7、c8が記述されており、これらのコンポーネントに対してs1のidが割り当てられている。また、使用が任意のコンポーネントを使用する場合には、テキストコンポーネントc3またはc4を使用するという再生態様が記述されており、この再生態様に対してe1のidが割り当てられている。同様に、使用が任意のコンポーネントを使用する場合には、テキストコンポーネントc7またはc8を使用するという再生態様が記述されており、この再生態様に対してe2のidが割り当てられている。
このように、図12(b)の主構成情報は、伝送路Aで配信されるコンポーネントに関する情報を含み、伝送路Bで配信されるコンポーネントについては参照形式で記述されている。そして、主構成情報は、伝送路Aにおいて所定の時間間隔で繰り返し配信される。
一方、図12(b)の副構成情報は、伝送路Bで配信されるコンポーネントに関する情報を含んでいる。そして、副構成情報は、伝送路Bにおいて所定の時間間隔で繰り返し配信される。
したがって、再生クライアントは、伝送路Aで配信されるコンポーネントを、同じく伝送路Aで配信される主構成情報を参照することによって再生することができる。また、伝送路Bで配信されるコンポーネントについては、伝送路Bで配信される副構成情報を参照することによって、これを使用することが可能になる。
このように、複数の伝送路でコンポーネントが配信される場合、ある伝送路で配信するコンポーネントに関する情報を含む構成情報と、他の伝送路で配信するコンポーネントに関する情報を含む構成情報とを分割することが好ましい。これにより、コンポーネント1つ当たりのデータ量を削減することができるからである。
なお、図12(a)(b)には、再生時間帯の異なるコンポーネント(c1〜c4とc5〜c8)に関する情報を全て含む主構成情報および副構成情報を例示しているが、図2、図3の例のように、再生時間帯毎に分割してもよい。これにより、各構成情報のデータ量をさらに削減することができる。
また、図12(b)の主構成情報では、外部参照用URL("protocolA://.../...")が記述されている。つまり、この例では、伝送路BにおいてはprotocolAによってコンポーネントc3、c4、c7、c8、および副構成情報が配信されることを想定している。したがって、このURLを参照することによって、伝送路Bのデータストリーム中から副構成情報の所望の部分を参照することができる。
《構成情報の例5》
複数の異なるコンテンツ18があり、これに対応する構成情報17がそれぞれ存在する場合、各構成情報17に含まれる情報の一部が共通していることが考えられる。このような場合、共通部分を1つの副構成情報とすることによって、各構成情報17を個別に配信する場合と比べて伝送データ量を削減することが可能になる。
ここでは、複数の構成情報の共通部分を1つの副構成情報とする例について、図13に基づいて説明する。図13は、2種類の再生装置にそれぞれ対応する2つの主構成情報、およびこれら再生装置で共用される副構成情報のデータ例を示す図である。
同図には、第1の主構成情報(main1)、副構成情報、および第2の主構成情報(main2)が示されている。このうち、第1の主構成情報は、テレビ向けの主構成情報であり、第2の主構成情報は、モバイル機器向けの主構成情報である。そして、副構成情報は、テレビおよびモバイル機器共通のコンポーネント(ここでは現行の地上デジタル放送におけるデータ放送のようなテキストおよび画像コンポーネントを想定)に対応する構成情報である。
すなわち、ここでは、再生装置であるテレビは、第1の主構成情報および副構成情報を参照して、例えば地上デジタル放送のような高解像度のAVコンテンツを再生し、またデータ放送を表示する。
また、再生装置であるモバイル機器は、第2の主構成情報および副構成情報を参照して、例えば現行のワンセグ放送のような低解像度のAVコンテンツを再生すると共に、テレビと共通のコンポーネント(データ放送に相当)を表示する。ただし、モバイル機器はディスプレイの解像度が低いため、表示させるテキストコンポーネントはテレビと共通のものを用いるが、テキストの背景に表示させる背景画像はテレビ向けのものと異なる画像コンポーネントを用いるものとする。
このような再生を実現するため、同図の第1の主構成情報では、<components>タグにおいて、idがそれぞれc1、c2のコンポーネントが記述されている。また、コンポーネントが"protocolA://.../sub#s1"の記述によって外部参照されている。
また、<compositions>タグでは、ビデオコンポーネントであるc1と、オーディオコンポーネントであるc2とを同時に再生すること、およびこの再生中に"protocolA://.../sub#p1"の使用が可能であることが記述されている。
一方、同図の第2の主構成情報では、<components>タグにおいて、idがそれぞれc3、c4のコンポーネントが記述されている。このように、第2の主構成情報では、対象とするコンポーネントが第1の主構成情報と異なっている。また、コンポーネントが"protocolA://.../sub#s1"の記述によって外部参照されており、この記述は第1の主構成情報と同じである。つまり、第1の主構成情報と第2の主構成情報とは、外部参照先が同じ副構成情報の"s1"部分である。
また、<compositions>タグでは、ビデオコンポーネントであるc3と、オーディオコンポーネントであるc4とを同時に再生すること、およびこの再生中に"protocolA://.../sub#p2"の使用が可能であることが記述されている。ここでは、外部参照先は"sub"すなわち同図の副構成情報であって、第1の主構成情報と同じであるが、参照する要素がp2に変わっている。
そして、同図の副構成情報は、c5、c6、およびc7のコンポーネントが記述されており、これらのコンポーネントに対して"s1"のidが割り当てられている。上述のように、第1および第2の主構成情報の<components>タグでは、何れも"protocolA://.../sub#s1"の記述によって、副構成情報のs1が参照されている。
このため、これらのコンポーネントは、第1の主構成情報を使用するテレビにおいても、第2の主構成情報を使用するモバイル機器においても使用可能なコンポーネントとなる。
また、副構成情報の<par>タグにおいては、任意選択のコンポーネントを使用する場合に、テキストコンポーネントであるc5と、画像コンポーネントであるc6とを同時に表示する再生態様に対して、"p1"のidが割り当てられている。同様に、任意選択のコンポーネントを使用する場合に、テキストコンポーネントであるc5と、画像コンポーネントであるc7とを同時に表示する再生態様に対して、"p2"のidが割り当てられている。
したがって、第1の主構成情報および副構成情報を参照するテレビは、コンポーネントc1、c2(例えば地上デジタル放送の映像と音声に相当)を再生する。そして、これらの再生中において、例えば所定のユーザ操作があった場合には、任意再生のコンポーネントであるc5、c6(例えばデータ放送のテキストと、テレビ用背景画像に相当)を表示することができる。
また、第2の主構成情報および副構成情報を参照するモバイル機器は、コンポーネントc3、c4(例えばワンセグ放送の映像と音声に相当)を再生する。そして、これらの再生中において、例えば所定のユーザ操作があった場合には、任意再生のコンポーネントであるc5、c7(例えばデータ放送のテキストと、モバイル用背景画像に相当)を表示することができる。
《構成情報に関するその他の付記事項》
1つの主構成情報内において、1つの副構成情報の外部参照用URLが複数箇所に記述されるケースがある。例えば、主構成情報および副構成情報に基づいて再生クライアント2がコンテンツの再生中に同じCMを何度も再生する、以下のようなケースが考えられる。
・コンテンツを構成するコンポーネントの中にCM映像を表すCM映像コンポーネントおよびCM音声を表すCM音声コンポーネントが含まれている。そして、副構成情報には、2つのCMコンポーネントの各々について対応するcompタグが含まれており、さらに、再生クライアントに2つのCMコンポーネントを並行して再生させるためのpar要素が含まれている。また、主構成情報にはseq要素が記述されており、seq開始タグとseq終了タグとの間の複数箇所に、副構成要素のpar要素を参照する外部参照用URLが記述されている。
seq要素は、par要素およびexcl要素と同様に、compositions要素の内容として記述されるものである。seq要素は、開始タグと終了タグとで囲まれている各タグ(videoタグ、audioタグ等)について、より上側に記述されているタグに対応するコンポーネントを相対的に先に再生することを示している。なお、par要素は、開始タグと終了タグとで囲まれている各タグに対応するコンポーネント群を並列的に再生すべきことを示しており、excl要素は、開始タグと終了タグとで囲まれている各タグに対応するコンポーネント群を排他的に再生すべきことを示している。
このケースでは、本来、2つのCMコンポーネントを示すcompタグおよびそれらを並列に再生させるためのpar要素が、複数の副構成情報それぞれについて記述されていたところを、1つの副構成情報と複数の外部参照用URLとで記述されることになる。このため、配信サーバ1が再生クライアント2に送信する構成情報のデータ量を従来に比べて一層削減することができる。
《配信処理》
続いて、配信サーバ1がコンテンツ18の配信の際に実行する配信処理(配信方法)の流れを図14に基づいて説明する。図14は、配信処理の一例を示すフローチャートである。なお、ここではまず、図2の構成情報を図3の配信タイミングで配信する例について説明し、他の構成情報を用いる場合の処理についてはその後で説明する。
配信対象のコンテンツが決定すると、コンポーネント変換部13は、サーバ記憶部11から配信対象のコンテンツ18を読み出して、配信用のコンポーネントに変換し(S1)、配信制御部16に出力する。
なお、配信対象コンテンツの決定方法は特に限定されず、例えば所定の時刻に所定のコンテンツを配信することが決まっている場合には、時刻に応じたコンテンツを配信対象とすればよい。また、例えば配信サーバ1に対するユーザ操作で指定されたコンテンツを配信対象としてもよい。
また、配信対象のコンテンツが決定すると、構成情報解析部14は、配信対象のコンテンツ18に対応する構成情報17をサーバ記憶部11から読み出す(S2)。そして、構成情報17を解析して、主構成情報とする情報を決定する(S3)と共に、副構成情報とする情報を決定する(S4)。そして、構成情報解析部14は、構成情報17に含まれる情報のうち、副構成情報に記述することを決定した情報を構成情報生成部15に通知する。
具体的には、構成情報解析部14は、構成情報17に含まれる情報のうち、<components>タグに記述されているコンポーネントを示す情報と、<compositions>タグに記述されている再生態様を示す情報とを副構成情報とすることを決定する。そして、これら以外の情報を主構成情報とすることを決定する。
次に、構成情報生成部15は、構成情報解析部14からの上記通知に従って主構成情報および副構成情報を生成する(S5、構成情報生成ステップ)。
具体的には、構成情報生成部15は、構成情報17に記述されている情報のうち、副構成情報に記述することが決定された情報を、当該副構成情報を参照する形式に書き換えて、主構成情報を生成する。また、副構成情報に記述することが決定された情報については、主構成情報から参照されるように割り当てた識別情報(id)と共に副構成情報に記述する。
また、副構成情報に記述することが決定された情報について、構成情報17を配信時刻順に解析し、内容に変更が生じる度に新たなバージョンの副構成情報として記述する。なお、変更内容が、副構成情報に記述することが決定された情報の一部であった場合でも、副構成情報に記述することが決定された情報全てを記述した副構成情報を生成する構成が望ましい。そのような構成とすることで、一時的なネットワーク障害等の理由で一部の副構成情報が再生クライアント2に配信されなかった場合においても、障害解消後に受信した副構成情報によって、正常な再生を継続することが可能である。
以上のような処理により、図16(b)に示す構成情報から、図2に示すような主構成情報と、バージョン1および2の副構成情報とが生成される。そして、構成情報生成部15は、生成した主構成情報と副構成情報とを配信制御部16に出力する。
次に、配信制御部16は、コンポーネント変換部13が生成したコンポーネントと、構成情報生成部15が生成した主構成情報および副構成情報との配信スケジュールを決定する(S6)。
具体的には、配信制御部16は、主構成情報の一回目の配信タイミングを、最初に再生されるコンポーネントの再生開始時刻と同じかそれ以前に決定する。そして、以後の主構成情報の配信タイミングを、一回目の配信タイミングから所定時間後、あるいは再生されるコンポーネントの構成が変化するタイミング(図3のt3参照)に決定する。
また、具体的なコンポーネントおよびその再生態様を示すがゆえに、主構成情報と比べて更新頻度が高いと予想される副構成情報については、主構成情報よりも高い頻度で配信されるように、配信タイミングを主構成情報よりも短い時間間隔とする。そして、副構成情報のバージョンを変えるタイミングは、再生されるコンポーネントの構成を変化させるタイミング(図3のt3参照)とする。
同様に、主構成情報と比べて更新頻度が低いと予想される副構成情報については、主構成情報よりも低い頻度で配信されるように、配信タイミングを主構成情報よりも長い時間間隔とする。また、副構成情報のバージョンを変えるタイミングは、再生されるコンポーネントの構成を変化させるタイミングとする。更新頻度を設定するための基準としては、この他、各コンポーネントの重要度、例えば、含まれるコンポーネント再生が必須であるか、任意であるか、といった点もあげられる。再生が必須であるコンポーネントを主構成情報が含む場合、高い頻度で配信する。一方、再生が任意である(再生しないことが許可される)コンポーネントのみを含んだ副構成情報である場合、配信の頻度を低く設定する。
最後に、配信制御部16は、上記のようにして決定した配信スケジュールにて、サーバ通信部12を介して再生クライアント2にコンポーネントおよび構成情報(主構成情報、副構成情報)を配信し(S7、配信制御ステップ)、これにより配信処理は終了する。
〈図5の構成情報を図6の配信タイミングで配信する場合の配信処理〉
図5の構成情報を図6の配信タイミングで配信する場合、図14のS4では、構成情報解析部14は、<components>タグに記述されているコンポーネントのうち、相対的に重要度の高いコンポーネントを第1の副構成情報に記述する情報と決定する。そして、相対的に重要度の低い他のコンポーネントを第2の副構成情報に記述する情報と決定する。
なお、重要度の高いコンポーネントは、その属性等に応じて予め定めておけばよい。例えば、「audio」、「video」等のような属性のコンポーネント(主映像のコンポーネントおよび副映像のコンポーネント等)を、重要度の高いコンポーネントとして定め、「text」等のような属性のコンポーネント(字幕コンポーネント等)を、重要度の低いコンポーネントとして定めてもよい。
また、再生が必須のコンポーネントを重要度の高いコンポーネントと判断してもよい。この場合、構成情報17の<compositions>タグにおいて"optional"となっているコンポーネントを重要度の低いコンポーネントと判断し、このコンポーネントに関する情報を第2の副構成情報に記述する情報と決定する。そして、他のコンポーネントを重要度の高いコンポーネントと判断し、そのコンポーネントに関する情報を第1の副構成情報に記述する情報と決定する。
また、S6では、配信制御部16は、第1の副構成情報の配信頻度が最も高くなり、第2の副構成情報の配信頻度が次に高くなり、主構成情報の配信頻度が最も低くなるように配信スケジュールを決定する。
〈図8の構成情報を図9の配信タイミングで配信する場合の配信処理〉
図8の構成情報を図9の配信タイミングで配信する場合、図14のS4では、構成情報解析部14は、<components>タグに記述されているコンポーネントを第1の副構成情報に記述する情報と決定する。
また、レイアウト1を第2の副構成情報に記述する情報と決定すると共に、レイアウト1の経時変化に応じたバージョン1から3の第2の副構成情報に含める情報を決定する。具体的には、バージョン1には、レイアウト1のデフォルトのレイアウトとして記述された情報を記述することを決定する。また、バージョン2には、レイアウト3に記述された情報を記述し、バージョン3には、上記デフォルトのレイアウトとして記述された情報を記述することを決定する。なお、各バージョンに何れのレイアウトを記述するかは、配信サーバ1を用いてコンテンツの配信を行う事業者に選択させてもよいし、予め設定した条件に基づいて自動で選択するようにしてもよい。
そして、S6では、配信制御部16は、図3の副構成情報と同様にして、第1の副構成情報の配信タイミングを決定する。また、バージョン1から3の第2の副構成情報については、レイアウト1を変更すべきタイミングで配信されるように、配信タイミングを決定する。
すなわち、コンポーネントの再生開始と同時に選択候補となるバージョン1の配信タイミングは、当該コンポーネントの配信時刻と同じかそれ以前とする。また、レイアウト1を最初に変更させる時刻であるt1には配信が完了するようにバージョン2の配信タイミングを決定し、バージョン3の配信タイミングについては、次に変更させる時刻t2に配信が完了するように決定する。
〈図10(b)の構成情報を同図(a)の配信タイミングで配信する場合の配信処理〉
図10(b)の構成情報を同図(a)の配信タイミングで配信する場合、図14のS3およびS4では、構成情報解析部14は、図2の構成情報を生成する場合と同様にして主構成情報および副構成情報のそれぞれに記述する情報を決定する。
次に、構成情報生成部15は、S3、S4で決定された情報をそれぞれ含む主構成情報および副構成情報を生成する。また、この主構成情報には、副構成情報を参照するための情報を記述する。さらに、主構成情報には、副構成情報を所定のプロトコル(図10の例ではprotocolA)から取得するためのベースURLと、主構成情報および副構成情報をHTTPにより取得するためのベースURLとを記述する。
そして、S6では、配信制御部16は、主構成情報および副構成情報を上記所定のプロトコルでコンポーネントと共に配信することを決定する。また、配信制御部16は、主構成情報および副構成情報を、主構成情報に記述したURLにより取得することができるようにする。例えば、記述したURLが配信サーバ1のURLではない場合には、当該URLが示す格納先に主構成情報および副構成情報をアップロードする。
〈図12(b)の構成情報を同図(a)の配信タイミングで配信する場合の配信処理〉
図12(b)の構成情報を同図(a)の配信タイミングで配信する場合、配信サーバ1には、サーバ通信部12による伝送路(伝送路A)とは別の伝送路(伝送路B)で配信するための通信部を設けておく。
この場合、図14のS3およびS4では、構成情報解析部14は、再生が必須のコンポーネントに関する情報を主構成情報に記述する情報と決定する。また、再生が任意(optional)のコンポーネントに関する情報を副構成情報に記述する情報と決定する。
そして、S6では、配信制御部16は、再生が必須のコンポーネントを再生するための主構成情報を、このコンポーネントを伝送する伝送路(伝送路A)で配信することを決定する。また、再生が任意のコンポーネントを再生するための副構成情報を、このコンポーネントを伝送する伝送路(伝送路B)で配信することを決定する。
なお、主構成情報および副構成情報の配信周期は特に限定されず、対応するコンポーネントにかかわらず所定の周期としてもよいし、コンポーネントの属性に応じて周期を変えてもよい。
また、S3およびS4では、構成情報解析部14は、重要なコンポーネントに関する情報を主構成情報に記述する情報と決定し、その他のコンポーネントに関する情報を副構成情報に記述する情報と決定してもよい。そして、S6では、配信制御部16は、重要なコンポーネントを再生するための主構成情報を、このコンポーネントを伝送する伝送路(伝送路A)で配信することを決定し、その他のコンポーネントを再生するための副構成情報を、このコンポーネントを伝送する伝送路(伝送路B)で配信することを決定してもよい。
〈図13の構成情報を配信する場合の配信処理〉
図13の構成情報を配信する場合、配信対象の2つのコンテンツ(第1のコンテンツおよび第2のコンテンツ)をそれぞれ配信用のコンポーネントに変換し(S1)、各コンテンツの構成情報(第1の構成情報および第2の構成情報)を取得する(S2)。
次に、構成情報解析部14は、双方の構成情報に共通して含まれる情報を副構成情報とし、他の情報を主構成情報とすることを決定する(S3、S4)。なお、副構成情報には、双方の構成情報に共通して含まれる情報以外にも、他の例と同様に、再生対象のコンポーネントを特定する情報や、コンポーネントの再生態様を示す情報等を含めてもよい。
そして、構成情報生成部15は、各コンテンツの構成情報に記述されている情報のうち、副構成情報とすることが決定された情報を参照形式に書き換えて、各コンテンツの構成情報にそれぞれ対応する主構成情報(第1の参照形式構成情報および第2の参照形式構成情報)を生成する。また、副構成情報とすることが決定された情報を副構成情報として生成する(S5)。このとき、構成情報生成部15は、副構成情報において、生成した2つの主構成情報から共通して参照される情報には、これら3つの構成情報で共通のidを付す(図13の"s1")。
最後に、配信制御部16は、2つの主構成情報と1つの副構成情報、および配信対象の2つのコンテンツの配信スケジュールを決定し(S6)、決定したスケジュールに従って配信する(S7)。
例えば、地上デジタル放送のようなテレビ向け高解像度コンテンツと、ワンセグ放送のようなモバイル機器向け低解像度コンテンツとをそれぞれ配信する場合に、両コンテンツで共通する、例えばデータ放送のようなテキストコンポーネントおよび画像コンポーネントに関する情報を副構成情報としたときには、テレビ向け高解像度コンテンツとこれに対応する主構成情報とを多重化して繰り返し配信してもよい。同様に、モバイル向け低解像度コンテンツとこれに対応する主構成情報とを多重化して繰り返し配信してもよい。また、デジタル放送におけるデータ放送のように、テキストコンポーネントおよび画像コンポーネントをデータカルーセルで配信する場合には、当該コンポーネントに関する副構成情報をデータカルーセルの配信頻度に合わせて配信することで、当該副構成情報の配信頻度を低くしてもよい。
《再生処理》
続いて、再生クライアント2がコンテンツ18の再生の際に実行する再生処理の流れを図15に基づいて説明する。図15は、再生処理の一例を示すフローチャートである。なお、ここではまず、図3の配信タイミングで配信された図2の構成情報に基づいて再生する例について説明し、他の構成情報を用いる場合の処理についてはその後で説明する。
クライアント通信部22は、配信サーバ1が配信したコンテンツ18の受信を開始し(S10)、受信したコンテンツ18を受信データ格納部26に格納する。なお、コンテンツ18は、構成情報を含む図4のようなストリームデータとして受信され、格納される。
受信データ格納部26へのコンテンツ18の格納が開始されると、再生制御部23は、このコンテンツ18を再生するための主構成情報をクライアント記憶部21に記憶しているか確認する(S11)。なお、主構成情報は、複数種類のコンテンツで共通化してもよい。この場合、コンテンツ18とは異なる他のコンテンツの再生に用いた主構成情報が記憶されていれば、これを適用することができる。
ここで、構成情報25がクライアント記憶部21に記憶されていることが確認された場合(S11でYES)、再生制御部23は、記憶している構成情報25に含まれる主構成情報をコンテンツ18の再生に適用することを決定し(S12)、S15の処理に進む。
一方、構成情報25がクライアント記憶部21に記憶されていないことが確認された場合(S11でNO)、再生制御部23は、受信した主構成情報が受信データ格納部26に格納されていないか確認する(S13)。
そして、受信データ格納部26に格納されていることが確認されると(S13でYES)、再生制御部23は、受信した主構成情報をコンテンツ18の再生に適用することを決定し(S14)、S15の処理に進む。
S15では、再生制御部23は、再生開始に必要な主構成情報および副構成情報が受信済みであるか確認する。なお、再生開始に必要な構成情報を受信済みであるかは、S12またはS14で適用することを決めた主構成情報を参照することで判断可能である。
つまり、図2の主構成情報では、1つの副構成情報が参照されている。このため、この参照先の副構成情報が受信データ格納部26に格納されていれば、再生開始に必要な構成情報を受信済みであると判断し、格納されていなければ受信済みではないと判断することができる。
S15において、再生開始に必要な構成情報が受信済みでない場合(S15でNO)、S15の処理を繰り返す。ただし、S15を繰り返し処理する間に、異なるバージョンの主構成情報を受信した場合には、その主構成情報に基づき、再生開始に必要な主構成情報および副構成情報が受信済みであるかの判断を行う。
S15において、再生開始に必要な構成情報が受信済みであることが確認されると(S15でYES)、再生制御部23は、主構成情報および副構成情報に基づいて、再生部24にコンテンツ18の再生を開始させる(S16)。
具体的には、再生制御部23は、主構成情報で参照形式となっている部分を、参照先の副構成情報中で特定して、コンポーネントの組み合わせ等のコンテンツ18の再生に必要な情報を取得する。そして、取得した情報に従って再生部24に再生対象のコンポーネントおよびその再生態様を通知することによって、コンテンツ18を再生させる。
また、再生制御部23は、コンテンツ18の再生中において、新たなバージョンの構成情報を受信したか確認する(S17)。なお、図4に基づいて説明したように、新たなバージョンの構成情報を受信したかは、ペイロードヘッダを参照して特定できるようにすることが好ましい。
ここで、新たなバージョンの構成情報の受信が確認されなければ(S17でNO)S19の処理に進む。一方、受信を確認した場合(S17でYES)、再生制御部23は、適用する構成情報を新たなバージョンのものに更新する(S18)。
具体的には、新たなバージョンの主構成情報を受信した場合には、S12またはS14で適用を決めた主構成情報の代わりに、新たなバージョンの主構成情報を適用する。また、新たなバージョンの副構成情報を受信した場合には、前バージョンの副構成情報の代わりに、新たなバージョンの副構成情報を適用する。
この後、再生制御部23は、コンテンツ18の再生を終了するか判断し(S19)、終了する場合には(S19でYES)、再生部24にその旨を通知して再生を終了させ、再生処理を終了する。一方、終了しない場合には(S19でNO)S17の処理に戻る。
〈図5の構成情報を図6の配信タイミングで配信する場合の再生処理〉
図5の構成情報を図6の配信タイミングで配信する場合、図15のS15において、再生制御部23は、全ての副構成情報のうち、再生の開始に必要な副構成情報が全て受信済みであるか確認する。
これは、図5の構成情報には、再生が任意のコンポーネントに対応する第2の副構成情報が含まれており、第2の副構成情報が受信されていなくとも、第1の副構成情報が受信されていれば再生を開始することができるためである。
〈図8の構成情報を図9の配信タイミングで配信する場合の再生処理〉
図8の構成情報を図9の配信タイミングで配信する場合、図15のS12またはS14で適用する主構成情報を決定した再生制御部23は、ユーザにレイアウトを選択させる。
ここで、第2の副構成情報を用いずに使用可能なレイアウト2または3が選択された場合、再生制御部23は、第1の副構成情報の受信が確認された時点で、再生の開始に必要な副構成情報が全て受信済みである(S15でYES)と判断し、S16の処理に進む。
一方、第2の副構成情報が必要なレイアウト1が選択された場合、再生制御部23は、第1および第2の副構成情報の両方の受信が確認された時点で、再生の開始に必要な副構成情報が全て受信済みである(S15でYES)と判断し、S16の処理に進む。
そして、この後、時刻t1に配信されるバージョン2の第2の副構成情報を受信し(S17でYES)、再生制御部23は、適用する第2の副構成情報をバージョン2に更新する。これにより、コンテンツ18の表示レイアウトが変化する。時刻t3においても同様に適用する第2の副構成情報をバージョン3に更新し、これにより表示レイアウトが変化する。
〈図10(b)の構成情報を同図(a)の配信タイミングで配信する場合の再生処理〉
図10(b)の構成情報を同図(a)の配信タイミングで配信する場合、S15において、再生に必要な全ての副構成情報の受信が確認されなかった場合(S15でNO)、再生制御部23は、副構成情報をオンデマンドで取得する。
具体的には、再生制御部23は、主構成情報に記述されているURLを用いて副構成情報の送信要求を行い、この送信要求に対する応答として送信される副構成情報を取得して、S16の処理に進む。
なお、構成情報の送信要求は、図1には示していないが、再生制御部23とは別の機能ブロックで行うようにしてもよい。また、構成情報の送信要求を行わずに、protocolAにて所定の周期で配信される副構成情報の受信を待ってもよい。
〈図12(b)の構成情報を同図(a)の配信タイミングで配信する場合の再生処理〉
図12(b)の構成情報を同図(a)の配信タイミングで配信する場合、S10では、伝送路AおよびBでコンテンツの受信が開始される。無論、伝送路AおよびBにおけるコンテンツの受信開始タイミングは異なっていてもよく、伝送路Bにおけるコンテンツの受信はオンデマンドで行ってもよい。
また、この場合、再生制御部23は、S12またはS14で適用を決定した主構成情報における"optional"の記述から、副構成情報に記述されている情報が何れも任意再生のコンポーネントに関する情報であると特定する。そして、当該任意再生のコンポーネントの再生可否をユーザ入力等に基づいて判断する。
ここで、任意再生のコンポーネントを再生すると判断した場合、任意再生のコンポーネントの再生に必要な副構成情報の受信が完了した後(S15でYES)、主構成情報および副構成情報に基づいてコンテンツを再生する(S16)。一方、任意再生のコンポーネントを再生しないと判断した場合、主構成情報のみで再生開始可能と判断し(S15)、主構成情報に基づいてコンテンツを再生する(S16)。
〈図13の構成情報を配信する場合の再生処理〉
図13の構成情報を配信する場合、一方の主構成情報は一方の再生装置(例えば再生クライアント2)に配信され、他方の主構成情報は他方の再生装置に配信されるので、各再生装置における再生処理は、図2等の構成情報を用いる場合と同様である。
本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔実施形態2〕
次に、本発明の別の一実施形態に係るコンテンツ送受信システムについて説明する。
本実施形態に係るコンテンツ送受信システムは、メイン配信サーバと1台以上のサブ配信サーバと再生クライアントとを含むシステムである。
配信者によって、新たにアップロードするコンテンツは1台以上の配信サーバに格納される。具体的には、コンテンツを構成する全コンポーネントがメイン配信サーバに格納されることもあれば、全コンポーネントがメイン配信サーバおよび1台以上のサブ配信サーバに分けて格納されることもある。
本実施形態では、再生クライアントがコンテンツのリクエストをメイン配信サーバに送信すると、メイン配信サーバは、そのコンテンツ(以下では「配信対象コンテンツ」とも称する)の提供に関係している1台以上の配信サーバを特定する。そして、メイン配信サーバは、特定した各配信サーバに再生クライアントのアドレスを通知する。特定するアドレスは、再生クライアントを一意に特定する情報でも、ドメインのように複数の再生クライアントを論理的に代表した情報であってもよい。各配信サーバは、再生クライアントとのコネクションを確立して配信対象コンテンツに関する構成情報を配信するとともに、配信対象コンテンツを構成するコンポーネント群を再生クライアントに配信する。
再生クライアントは、配信対象コンテンツの提供に関係している1台以上の配信サーバから受信した主構成情報および副構成情報に基づいて再生すべきコンポーネント群を特定し、配信されてきたコンポーネント群の中から特定したコンポーネント群だけを取得して再生する。
本実施形態に係るコンテンツ送受信システムの構成を図17に基づいて説明する。図17は、コンテンツ送受信システム300を構成するメイン配信サーバ100、サブ配信サーバ110および再生クライアント2’の要部構成を示すブロック図である。なお、図では、サブ配信サーバとしてサブ配信サーバ110のみが示されているが、コンテンツ送受信システムには、サブ配信サーバ110と同様に構成された他のサブ配信サーバも含まれている。
図示のように、コンテンツ送受信システム300は、メイン配信サーバ100とサブ配信サーバ110と再生クライアント2’とがネットワークを介して接続された構成である。また、図示はしていないが、他のサブ配信サーバもこのネットワークに接続されている。
メイン配信サーバ100は、コンテンツを配信する装置であるが、必要に応じて各サブ配信サーバを統括する役割を担っている。また、メイン配信サーバ100は、再生クライアント2’からのコンテンツの配信要求を受け付ける役割を担っている。
メイン配信サーバ100は、メイン配信サーバ100の機能を統括して制御するサーバ制御部1020、メイン配信サーバ100で使用するデータを格納するサーバ記憶部11、およびメイン配信サーバ100が外部の装置と通信を行うためのサーバ通信部12を備えている。また、サーバ制御部1020は、設定情報解析部1014および配信制御部1016を含み、サーバ記憶部11には、コンテンツ送受信システム300で配信可能なコンテンツ毎に、コンテンツに関する主構成情報17a、コンテンツを構成するコンポーネント群18a、および、コンテンツに関する設定情報19が格納されている。なお、主構成情報17aには、コンポーネントを再生するための情報としてコンポーネント群18aの全部または一部を再生するための情報のみが含まれている。また、コンテンツに関する設定情報19には、そのコンテンツの配信に関係している各配信サーバのURLが記述されている。
設定情報解析部1014は、サーバ記憶部11に格納されている設定情報19を取得・解析し、設定情報19に基づいて配信対象コンテンツの配信に関係しているサブ配信サーバを特定する。
配信制御部1016は、配信対象コンテンツの配信を制御する。具体的には、配信制御部1016は、設定情報解析部1014が特定した各サブ配信サーバに対し、再生クライアント2’との間でコネクションを確立するとともに副構成情報とサブ配信サーバが保存している配信対象コンテンツのコンポーネント群18bとを再生クライアント2’に配信するよう、要求する。
また、配信制御部1016は、サーバ通信部12を介して、サーバ記憶部11の主構成情報17aを再生クライアント2に配信する。さらに、配信制御部1016は、サーバ通信部12を介して、サーバ記憶部11のコンポーネント群18aを配信する。
サブ配信サーバ110は、メイン配信サーバ100と同様にコンテンツを配信する装置であるが、メイン配信サーバ100からの指示を受けて、配信対象コンテンツを構成するコンポーネント群、および、配信対象コンテンツに関する副構成情報を再生クライアント2’に配信する。
サブ配信サーバ110は、サブ配信サーバ110で使用するデータを格納するサーバ記憶部11、サブ配信サーバ110が外部の装置と通信を行うためのサーバ通信部12、および、配信制御部1116を備えている。サーバ記憶部11には、サブ配信サーバ110が配信可能なコンテンツ毎に、コンテンツに関する副構成情報17bおよびコンテンツを構成するコンポーネント群18bが格納されている。副構成情報17bには、コンポーネントを再生するための情報としてコンポーネント群18bの全部または一部を再生するための情報のみが含まれている。
配信制御部1116は、配信対象コンテンツの配信を制御する。具体的には、配信制御部1116は、副構成情報17bの配信スケジュールを決定し、サーバ通信部12を介して、決定した配信スケジュールに従ってサーバ記憶部11の副構成情報17bを再生クライアント2’に順次配信する。また、配信制御部1116は、サーバ通信部12を介して、サーバ記憶部11のコンポーネント群18bを配信する。
一方、再生クライアント2’は、コンテンツを受信して再生する装置であり、再生クライアント2’の機能を統括して制御するクライアント制御部20’、再生クライアント2’で使用するデータを格納するクライアント記憶部21、および再生クライアント2’が外部の装置と通信を行うためのクライアント通信部22を備えている。また、クライアント制御部20’は、再生制御部23’および再生部24を含み、クライアント記憶部21には構成情報25が格納されていると共に、受信データ格納部26が設けられている。すなわち、再生クライアント2’が再生クライアント2と相違する点は、再生制御部として再生制御部23’を備えている点である。
再生制御部23’は、コンテンツの再生を統括して制御する。具体的には、再生制御部23’は、配信対象コンテンツの配信に関係している1台以上の配信サーバ(例えば、メイン配信サーバ100およびサブ配信サーバ110)から配信された主構成情報および副構成情報(例えば、主構成情報17aおよび副構成情報17b)を解析し、この解析結果に基づいて、再生部24に配信対象コンテンツを再生させる。
具体的には、再生制御部23’は、主構成情報を構成情報25としてクライアント記憶部21に記録する。そして、再生制御部23’は、配信されるコンポーネント群のうち、構成情報25に基づいて再生対象であると判断されたコンポーネント群のみをクライアント記憶部21に記録して再生する。
また、再生制御部23’は、コンテンツの再生前または再生中に、副構成情報を受信すると、副構成情報を用いてクライアント記憶部21の構成情報25を更新する。構成情報25が更新されると、更新後の構成情報25に基づいて再生対象のコンポーネント群を特定し、配信されるコンポーネント群のうち、特定したコンポーネント群のみをクライアント記憶部21に記憶して再生する。
以上、コンテンツ送受信システム300の構成について説明した。なお、本実施形態における以下の説明では、メイン配信サーバ100が配信対象コンテンツを構成する一部のコンポーネントと主構成情報とを配信し、サブ配信サーバ110が配信対象コンテンツを構成する残りのコンポーネントと副構成情報とを配信するものとする。すなわち、コンポーネント群18aは上記一部のコンポーネントに相当し、コンポーネント群18bは上記残りのコンポーネントに相当する。
《主構成情報および副構成情報について》
コンテンツ送受信システム300内で配信される主構成情報には、components要素、par要素、およびseq要素にid属性が付与されている。これらのid属性は、再生制御部23’が副構成情報を用いて主構成情報を構成情報25に更新するために参照する属性である。
また、コンテンツ送受信システム300内で配信される副構成情報には、ref_id属性を持つinsert要素が記述されている。再生制御部23’は、記述されている各insert要素について、insert要素の内容を、属性値がref_id属性と同一であるid属性が付与されている主構成情報内の要素に追加する。すなわち、このid属性は、主構成情報内の更新可能(挿入可能)な箇所を示している。
例えば、再生制御部23’は、図18(a)に示す主構成情報をメイン配信サーバ100から受信するとともに、図18(b)に示す副構成情報をサブ配信サーバ110から受信した場合には、以下の処理を行う。
・id属性の属性値が"c3"であるcomp要素を、主構成情報におけるid属性の属性値が"cpn1"であるcomponents要素の内容として追加する。
・comp属性の属性値が"c3"であるtext要素を、主構成情報におけるid属性の属性値が"par1"であるpar要素の内容として追加する。
その結果、再生制御部23’は、主構成情報を、図18(c)に示すような構成情報25に更新することになる。そして、再生制御部23’は、コンテンツの再生前あるいは再生中に図18(b)の副構成情報を受信した場合には、メイン配信サーバのコンポーネントと並行して、comp属性の属性値が"c3"であるtext要素に対応するサブ配信サーバのテキストコンポーネントを新たに再生する。
同様に、再生制御部23’は、図19(a)に示す主構成情報をメイン配信サーバ100から受信するとともに、図19(b)に示す副構成情報をサブ配信サーバ110から受信した場合には、以下の処理を行う。
・id属性の属性値がそれぞれ"c3"および"c4"である2つのcomp要素を、主構成情報におけるid属性の属性値が“cpn1”であるcomponents要素の内容の末尾に追加する。
・comp属性の属性値が"c3"であるvideo要素とcomp属性の属性値が"c4"であるaudio要素とを内容として含むpar要素を、主構成情報におけるid属性の属性値が"seq1"であるseq要素の内容として追加する。
その結果、再生制御部23’は、主構成情報を、図19(c)に示すような構成情報25に更新することになる。再生制御部23’は、コンテンツの再生前あるいは再生中に図19(b)の副構成情報を受信した場合には、図19(c)の構成情報25に基づいて、メイン配信サーバのコンポーネントの再生完了後に、サブ配信サーバの配信コンポーネントであるcomp属性の属性値が"c3"であるvideo要素に対応する映像コンポーネントと、comp属性の属性値が"c4"であるaudio要素に対応する音声コンポーネントとを並列的に再生する。
なお、再生制御部23’は、副構成情報に記載された要素をseq要素の内容として追加する処理を主構成情報に施す場合、必ず、追加する要素がseq要素の内容の末尾に来るように追加する。例えば、図20(a)に示す主構成情報をメイン配信サーバ100から受信するとともに、図20(b)に示す副構成情報をサブ配信サーバ110から受信した場合には、comp属性の属性値が"c3"であるvideo要素がid属性の属性値が"seq1"であるseq要素の内容の末尾に来るように、video要素を追加する。
従って、seq要素の内容として追加される要素を含む、異なる副構成情報が配信サーバから配信される場合、再生クライアント2’が副構成情報を受信する順序に応じて、構成情報25の内容が異なることになる。例えば、先に再生すべき映像コンポーネントに対応するvideo要素を含む第1の副構成情報と、後に再生すべき映像コンポーネントに対応するvideo要素を含む第2の副構成情報と、が順に配信されるケースがある。このケースにおいて、第1の副構成情報の配信経路と第2の副構成情報の配信経路とが異なっているときには、再生クライアント2’が第2の副構成情報を先に受信することもある。
そして、第2の副構成情報が先に受信された場合には、seq要素の内容として2つのvideo要素が追加されるものの、後に再生すべき映像コンポーネントに対応するvideo要素の直後に、先に再生すべき映像コンポーネントに対応するvideo要素が追加されてしまう。結果として、再生制御部23’は、コンテンツ配信者の意図に沿わない順序で映像コンポーネントを再生してしまう。
そのため、主構成情報および副構成情報のci要素には、更新処理をすべき順序を示すlayer属性を含めることが望ましい。例えば、主構成情報を図21(a)に示すような構成情報とし、順次配信する副構成情報を図21(b)の構成情報および図21(d)の構成情報とすることが望ましい。
配信される構成情報にlayer属性が含まれている場合、再生制御部23’は、layer属性の属性値がiである副構成情報をi回目の構成情報25の更新処理に用いる。
例えば、メイン配信サーバ100から受信した図21(a)の主構成情報がクライアント記憶部21に記録されている状態で、先に図21(b)の副構成情報を受信した場合には、受信した副構成情報を用いてすぐに図21(a)の主構成情報を図21(c)の構成情報25に更新する。そして、その後に図21(d)の副構成情報を受信すると、受信した副構成情報を用いてすぐに図21(c)の構成情報25を図21(e)の構成情報25に更新する。
一方、メイン配信サーバ100から受信した図21(a)の主構成情報がクライアント記憶部21に記録されている状態で先に図21(d)の副構成情報を受信した場合には、layer属性の属性値が"1"である副構成情報を用いた更新処理を行うまで、その副構成情報をクライアント記憶部21に記録しておく。そして、その後に図21(b)の副構成情報を受信すると、まず図21(b)の副構成情報を用いて更新処理を行った上で、図21(d)の副構成情報を用いて更新処理を行う。
このように、再生制御部23’は、どちらの副構成情報が先に受信された場合にも、図21(a)の主構成情報を同じ図21(e)の構成情報25に更新する。したがって、再生クライアント2’は、必ず、コンテンツ配信者の意図に沿った順序で映像コンポーネントを再生することになる。
《コンテンツ送受信システム300の変形例300a》
前述したように、コンテンツ送受信システム300は、図22(a)に示すような処理を行った上で再生クライアント2’がコンテンツの再生を開始するが、本発明をコンテンツ送受信システム300aとしても実施できる。
コンテンツ送受信システム300aについて図22および図23を参照しながら説明する。図23は、コンテンツ送受信システム300aを構成するメイン配信サーバ100、サブ配信サーバ110および再生クライアント2aの要部構成を示すブロック図である。なお、図では、サブ配信サーバとしてサブ配信サーバ110aのみが示されているが、コンテンツ送受信システムには、サブ配信サーバ110aと同様に構成された他のサブ配信サーバも含まれている。
図23に示したように、再生クライアント2aは、クライアント制御部20a(具体的には再生制御部23a)を備えている点で、再生クライアント2’と異なっている。また、メイン配信サーバ100aは、メイン配信サーバ100と異なり、設定情報解析部1014を備えておらず、配信制御部1016aを備えている。サブ配信サーバ110aは、サブ配信サーバ110と異なり、配信制御部1116aを備えている。
再生制御部23aは、配信対象コンテンツの設定情報19に基づいて、配信対象コンテンツの配信に関係している1台以上の配信サーバ(例えば、メイン配信サーバ100aおよびサブ配信サーバ110a)を特定し、特定した各配信サーバとのコネクションを確立する。そして、再生制御部23aは、各配信サーバに対して配信対象コンテンツの構成情報を配信するよう要求する。再生制御部23aは、各配信サーバから配信される構成情報に基づいて、各配信サーバから配信されるコンポーネント群の中から再生に必要なコンポーネント群を特定し、特定したコンポーネント群を記録して再生する。
配信制御部1016aは、配信対象コンテンツに関する主構成情報17a、コンポーネント群18aおよび設定情報19を再生クライアント2aに配信する。配信制御部1116aは、再生クライアント2aから配信対象コンテンツに関する構成情報の要求を受信すると、副構成情報17bを再生クライアント2aに送信する。その後、配信制御部1116aは、配信対象コンテンツのコンポーネント群18bを再生クライアント2aに配信する。
概略的に言うと、コンテンツ送受信システム300aは、図22(b)に示すような処理を行った上で再生クライアント2aがコンテンツの再生を開始することになる。
《コンテンツ送受信システム300に関する付記事項》
配信対象コンテンツの配信に関係しているサブ配信サーバが存在しない場合(すなわち、配信対象コンテンツの配信に関係している配信サーバがメイン配信サーバ100のみである場合)には、当然ながら、メイン配信サーバ100のみが、配信対象コンテンツに関する主構成情報、副構成情報およびコンポーネント群を配信することになる。そして、再生クライアント2は、メイン配信サーバ100から配信された主構成情報を、同じくメイン配信サーバ100から配信された副構成情報を用いて構成情報25に更新することになる。
〔実施形態3〕
本発明の別の一実施形態に係るコンテンツ送受信システムについて説明する。
本実施形態に係るコンテンツ送受信システムは、実施形態1に係るコンテンツ送受信システムと同様に、配信サーバと再生クライアントとを含むシステムである。
本実施形態では、再生クライアントがコンテンツのリクエスト(コンテンツ配信サービスへの参加要求)を配信サーバに送信すると、配信サーバは、配信対象コンテンツに関する主構成情報を再生クライアントに配信するとともに、配信対象コンテンツを構成するコンポーネント群を再生クライアントに配信する。その後、配信サーバは、自ら決定した配信スケジュールに基づいて、副構成情報を順次配信する。
再生クライアントは、受信した主構成情報および副構成情報に基づいて、再生すべきコンポーネント群を特定し、配信されてきたコンポーネント群の中から特定したコンポーネント群だけを記録して再生する。
本実施形態に係るコンテンツ送受信システムの構成を図24に基づいて説明する。図24は、コンテンツ送受信システム300’を構成する配信サーバ100’および再生クライアント2’の要部構成を示すブロック図である。
図示のように、コンテンツ送受信システム300’は、配信サーバ100’と再生クライアント2’とがネットワークを介して接続された構成である。
配信サーバ100’は、コンテンツの配信を制御する配信制御部1016’、配信サーバ100’で使用するデータを格納するサーバ記憶部11、および配信サーバ100’が外部の装置と通信を行うためのサーバ通信部12を備えている。また、サーバ記憶部11には、配信サーバ100’で配信可能なコンテンツ毎に、コンテンツに関する主構成情報17aおよび副構成情報17b、コンテンツを構成するコンポーネント群18、および、コンテンツに関する設定情報19が格納されている。コンポーネント群18は、コンテンツを構成する全コンポーネントである。
配信制御部1016’は、サーバ通信部12を介して、サーバ記憶部11の主構成情報17aを再生クライアント2に配信し、サーバ記憶部11のコンポーネント群18を配信する。また、配信制御部1116は、副構成情報17bの配信スケジュールを決定し、サーバ通信部12を介して、決定した配信スケジュールに従ってサーバ記憶部11の副構成情報17bを再生クライアント2’に順次配信する。
なお、再生クライアント2’は、実施形態2に係るコンテンツ送受信システム300の再生クライアント2’と同一であるため、再生クライアント2’の構成については説明を省略する。
《主構成情報および副構成情報について》
コンテンツ送受信システム300と同様に、コンテンツ送受信システム300’内で配信される主構成情報には、components要素およびseq要素にid属性が付与されている。
また、コンテンツ送受信システム300’内で配信される副構成情報には、ref_id属性を持つreplace要素が記述されている。再生制御部23’は、記述されている各replace要素について、属性値がref_id属性と同一であるid属性が付与されている主構成情報内の要素の内容をreplace要素の内容に置き換える。すなわち、このid属性は、主構成情報内の更新可能な(置換可能な)箇所を示している。
例えば、再生クライアント2’が図25(a)に示す主構成情報と図25(b)に示す副構成情報とを配信サーバ100’から受信した場合には、再生制御部23’は以下の処理を行う。
・主構成情報におけるid属性の属性値が"cpn1"であるcomponents要素の内容を、id属性の属性値がそれぞれ"c3"および"c4"である2つのcomp要素に置き換える。
・主構成情報におけるid属性の属性値が"seq1"であるseq要素の内容を、comp属性の属性値が"c1"であるvideo要素およびcomp属性の属性値が"c2"であるaudio要素から、comp属性の属性値が"c3"であるvideo要素およびcomp属性の属性値が"c4"であるaudio要素に置き換える。
その結果、再生制御部23’は、主構成情報を、図25(c)の構成情報25に更新することになる。そして、再生制御部23’は、図25(c)の構成情報25に基づいて、comp属性の属性値が"c3"であるvideo要素に対応する映像コンポーネントとcomp属性の属性値が"c4"であるaudio要素に対応する音声コンポーネントとを並行して再生する。なお、本実施形態の以降の説明では、この映像コンポーネントを「映像コンポーネント3」と称し、この音声コンポーネントを「音声コンポーネント4」と称することにする。
さらに、再生クライアント2’が図25(d)に示す副構成情報を配信サーバ100’から受信した場合には、再生制御部23’は以下の処理を行う。
・主構成情報におけるid属性の属性値が"cpn1"であるcomponents要素の内容を、id属性の属性値がそれぞれ"c3"および"c4"である2つのcomp要素から、id属性の属性値がそれぞれ"c5"および"c6"である2つのcomp要素に置き換える。なお、主構成情報にあるid属性の属性値がそれぞれ"c1"および"c2"のcomp要素を置換対象としてもよいし、前段で置換後の図25(c)の構成情報25にあるid属性の属性値がそれぞれ"c3"および"c4"のcomp要素を置換対象としてもよい。
・主構成情報におけるid属性の属性値が"seq1"であるseq要素の内容を、comp属性の属性値が"c3"であるvideo要素およびcomp属性の属性値が"c4"であるaudio要素から、comp属性の属性値が"c5"であるvideo要素およびcomp属性の属性値が"c6"であるaudio要素に置き換える。なお、主構成情報にあるcomp属性の属性値が"c1"であるvideo要素およびcomp属性の属性値が"c2"であるaudio要素を置換対象としてもよいし、前段で置換後の図25(c)の構成情報25にあるcomp属性の属性値が"c3"であるvideo要素およびcomp属性の属性値が"c4"であるaudio要素を置換対象としてもよい。
その結果、再生制御部23’は、図25(c)の構成情報を図25(e)の構成情報25に更新することになる。そして、再生制御部23’は、図25(e)の構成情報25に基づいて、comp属性の属性値が"c5"であるvideo要素に対応する映像コンポーネントとcomp属性の属性値が"c6"であるaudio要素に対応する音声コンポーネントとを並行して再生する。なお、本実施形態の以降の説明では、この映像コンポーネントを「映像コンポーネント5」と称し、この音声コンポーネントを「音声コンポーネント6」と称することにする。
以上の説明からわかるように、配信サーバ100’は、コンテンツの配信中に新たな副構成情報を再生クライアント2’に配信することで、再生クライアント2’での再生対象となるコンポーネントを切り替えることができる。
なお、図25の構成情報のように、副構成情報のci要素には、副構成情報のバージョンを示すversion属性が含まれていることが望ましい。再生クライアント2’は、副構成情報を用いて構成情報25を更新した場合には、その副構成情報よりもバージョンが古い(version属性の属性値が相対的に小さい)副構成情報を用いて構成情報25を更新することはできない。例えば、図25(d)の副構成情報を用いて図25(a)の構成情報25を更新した後に、図25(b)の副構成情報を受信しても、その副構成情報は構成情報25の更新に使用することができない。
古いバージョンの副構成情報を用いて構成情報25を更新できないことには以下に説明するような利点がある。
例えば、配信者が、時刻t1以降に再生クライアント2’に映像コンポーネント3および音声コンポーネント4を再生させ、時刻t2(>t1)以降に再生クライアント2’に映像コンポーネント5および音声コンポーネント6を再生させることを所望するケースを考える。この場合、配信サーバ100’は、時刻t1になる頃に図25(b)の副構成情報を配信し、時刻t2になる頃に図25(d)の副構成情報を配信するように設定される。
前述のように、先に配信された図25(b)の副構成情報が、ネットワーク障害等の理由で、後に配信された図25(d)の副構成情報よりも後に再生クライアント2’に届くことがある(図25(b)の副構成情報が再生クライアント2’に届く時刻をt3(>t2)とする)。この場合であっても、再生クライアント2’は時刻t3で受信した図25(b)の副構成情報を用いて構成情報25を更新しないため、クライアント記憶部21の構成情報25は、時刻t3の前後で図25(e)の構成情報25のまま変わらない。したがって、再生クライアント2’は、図25(b)の副構成情報および図25(d)の副構成情報のいずれを先に受信した場合にも、時刻t2以降に配信者の意図通りに映像コンポーネント5および音声コンポーネント6を再生することになる。
一方、副構成情報のci要素にversion属性が含まれていないと、再生クライアント2’は、時刻t3以降で配信者の意図しない映像コンポーネント3および音声コンポーネント4を再生してしまうことになる。
このように、副構成情報のci要素にversion属性を含めることには、再生クライアント2’が配信者の意図しない再生を行うことを防ぐことができるというメリットがある。
なお、主構成情報に関して、配信者が配信対象コンテンツの再生中に再生クライアント2’に常に再生させたいコンポーネントがある場合、そのコンポーネントに関する要素は主構成情報に記述される。また、主構成情報は、図26(a)に示したようなinitialエレメントを含む主構成情報、および、図26(b)に示したようなダミーエレメントを含む主構成情報のいずれかの形で記述される。
また、配信サーバ100’のサーバ記憶部11には、ダミーエレメントを含む主構成情報17aと、ci要素にlayer属性とversion属性との両方の属性が含まれている副構成情報17bとが格納されていてもよい。この場合における、再生クライアント2’による構成情報25の更新処理について図27を参照しながら説明する。
再生制御部23’は、受信した副構成情報のversion属性の属性値が"1"である場合には、layer属性の属性値に基づいて適切なタイミングでその副構成情報を用いて構成情報25を更新する。例えば、図27(a)の副構成情報を構成情報25としてクライアント記憶部21に記録した後、1度も構成情報25を更新していない状態で図27(b)の構成情報を受信した場合には、すぐに図27(a)の構成情報25を図27(c)の構成情報25に更新する。
一方、再生制御部23’は、受信した副構成情報(対象副構成情報)のversion属性の属性値が"1"以外である場合には、対象副構成情報のversion属性の属性値が"1"である場合と異なる処理を行うことがある。
具体的には、対象副構成情報のlayer属性の属性値と、対象副構成情報の受信前に直近で受信した副構成情報のlayer属性の属性値と、が同一であり、対象副構成情報のversion属性の属性値がより大きい場合には、insert要素の内容を、構成情報25に追加するのではなく、insert要素の内容で構成情報25内の対応要素の内容を置き換える(即ち、insertは常に図27(a)の主構成情報に対する挿入と解釈する。この処理を前段の更新後の構成情報図27(c)から見た場合には、対応要素の内容を置き換えていると解釈される)。例えば、図27(b)の構成情報を受信した後、次に図27(d)の構成情報を受信した場合には、すぐに図27(c)の構成情報25を図27(e)の構成情報25に更新する。
《コンテンツ送受信システム300’に関する付記事項》
コンテンツ送受信システム300’には、配信サーバ100’に代えて、メイン配信サーバとサブ配信サーバとが含まれていてもよい。この場合、メイン配信サーバが図26(a)や図27(a)等のような主構成情報17aとコンポーネント群18aとを配信し、サブ配信サーバが図26(b)や図27(b)等のような副構成情報17bとコンポーネント群18bとを配信してもよい。
〔実施形態4〕
次に、本発明の別の一実施形態に係るコンテンツ送受信システムについて説明する。
本実施形態に係るコンテンツ送受信システムは、メイン配信サーバ、1台以上のサブ配信サーバ、および再生クライアントに加え、各配信サーバにその配信サーバ用の構成情報を提供するコントロールサーバを含んでいる。
配信者によって、新たにアップロードするコンテンツは1台以上の配信サーバに格納される。具体的には、コンテンツを構成する全コンポーネントがメイン配信サーバに格納されることもあれば、全コンポーネントがメイン配信サーバおよび1台以上のサブ配信サーバに分けて格納されることもある。
また、配信者によって、新たにアップロードしようとするコンテンツに関する構成情報がコントロールサーバに格納される。コントロールサーバは、新たな格納された構成情報から主構成情報および副構成情報を生成し、主構成情報をメイン配信サーバに配信するとともに、副構成情報を1台以上のサブ配信サーバに配信する。
以下、本実施形態に係るコンテンツ送受信システムの構成について図28を参照しながら説明する。図28は、コンテンツ送受信システム300bを構成するメイン配信サーバ100、サブ配信サーバ110、再生クライアント2’およびコントロールサーバ50の要部構成を示すブロック図である。なお、図では、サブ配信サーバとしてサブ配信サーバ110のみが示されているが、コンテンツ送受信システムにはサブ配信サーバ110と同様に構成された他のサブ配信サーバも含まれている。
図示のように、コンテンツ送受信システム300は、メイン配信サーバ100とサブ配信サーバ110と再生クライアント2’とコントロールサーバ50とがネットワークを介して接続された構成である。また、図示はしていないが、他のサブ配信サーバもこのネットワークに接続されている。
メイン配信サーバ100、サブ配信サーバ110、再生クライアント2’の構成については既に説明したので、ここではコントロールサーバ50の構成について説明する。なお、以下では、説明を単純化するため、コンテンツを構成する一部のコンポーネントがメイン配信サーバ100にアップロードされ、コンテンツを構成する残りのコンポーネントがサブ配信サーバ110にアップロードされたものとして、コントロールサーバ50の説明を行う。
図28に示すように、コントロールサーバ50は、コントロールサーバ50が外部の装置と通信を行うためのサーバ通信部12、構成情報の配信を制御する配信制御部51、および、コントロールサーバ50で使用するデータが格納されるサーバ記憶部53を備えている。
サーバ記憶部51には配信サーバ情報52が格納されている。また、構成情報53は、サーバ記憶部51に新たに格納された構成情報である。
配信サーバ情報52は、メイン配信サーバおよび1台以上の各サブ配信サーバについて、配信サーバの管理主体(管理会社等)を示す情報が含まれている。
配信制御部51は、構成情報53内に含まれている各comp要素について、comp要素に対応するコンポーネントを格納しているか否かをメイン配信サーバおよび1台以上のサブ配信サーバに問い合わせる。これにより、配信制御部51は、新たにアップロードされたコンテンツを構成する各コンポーネントについて、コンポーネントの配信に関係している配信サーバを特定する。
そして、配信制御部51は、特定した各配信サーバについて、その配信サーバ用の構成情報を生成する。ここでは、メイン配信サーバ100用の主構成情報とサブ配信サーバ110用の副構成情報とを生成する。
以上、本実施形態に係るコンテンツ送受信システム300bの構成について説明した。
次に、コントロールサーバ50の動作について図29を参照しながら説明する。図29は、コントロールサーバ50の動作を示すフローチャート図である。
図29に示すように、最初に、配信制御部51は、サーバ記憶部11から構成情報53を読み出す(S31)。
S31の後、配信制御部51は、メイン配信サーバ100が配信するコンポーネントに対応するcomp要素を主構成情報に含めることを決定し、サブ配信サーバ110が配信するコンポーネントに対応するcomp要素を副構成情報に含めることを決定する(S32)。
その後、配信制御部51は、外部参照URLを主構成情報に含める実施形態1の参照方式と、insert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式のいずれを採用するかを決定する(S33)。具体的には、配信制御部51は、配信サーバ情報52に基づいて、構成情報53に対応するコンテンツの配信に関係している全配信サーバの管理主体(ここでは、メイン配信サーバ100の管理主体とサブ配信サーバの管理主体)が同一であるか否かを判定する。配信制御部51は、全配信サーバの管理主体が同一であると判定した場合には実施形態1の参照方式を採用することを決定し、全配信サーバの管理主体が同一でないと判定した場合には実施形態2の参照方式を採用することを決定する。
S33の後、配信制御部51は、S32およびS33の処理結果に基づいて、メイン配信サーバ100に配信する主構成情報を生成し、サブ配信サーバ110に配信する副構成情報を生成する(S34)。
そして、主構成情報をメイン配信サーバ100に配信するとともに(S35)、副構成情報をサブ配信サーバ110に配信して、処理を終了する。
コントロールサーバ50により上記処理が行われた後、メイン配信サーバ100はサーバ記憶部11に主構成情報を格納し、サブ配信サーバ110はサーバ記憶部11に副構成情報を格納する。そして、メイン配信サーバ100は、新たにアップロードされたコンテンツの配信リクエストを待ち受けることになる。
以上のように、メイン配信サーバ100およびサブ配信サーバ110が同一の管理主体によって管理されている場合には、メイン配信サーバ100およびサブ配信サーバ110は、それぞれ、実施形態1で説明した主構成情報(外部参照URLを含む主構成情報)および副構成情報(外部参照URLにより参照される副構成情報)を再生クライアントに配信する。また、メイン配信サーバ100およびサブ配信サーバ110の管理主体が異なっている場合には、メイン配信サーバ100およびサブ配信サーバ110は、それぞれ、実施形態2および3で説明した主構成情報(挿入可能な箇所または置換可能な箇所が示されている主構成情報)および副構成情報(insert要素またはreplace要素を含む副構成情報)を再生クライアントに配信する。
メイン配信サーバと管理主体が同一のサブ配信サーバにあるコンテンツを構成するコンポーネントは、外部参照URLを含む主構成情報によって厳密に管理される。即ち、このような主構成情報を受け取った再生クライアントは、コンテンツを再生するために更に副構成情報が必要であることを知り得、配信サーバは、副構成情報および副構成情報に示されたコンポーネントを参照してコンテンツを適当に、管理主体が望む形で再生させることができる。
メイン配信サーバと管理主体が異なる配信サーバにあるコンテンツを構成するコンポーネントは、メイン配信サーバが特にその存在を知らなくても再生されるコンポーネントである。従ってメイン配信サーバがその再生を管理する必要はない。このため、主構成情報には特別な情報を付加せず、副構成情報にinsert要素またはreplace要素を含むことが望ましい。
メインのコンテンツを提供するプロバイダ(放送局など)の認定情報を利用し、必須と認定されたコンポーネントを有するサブ配信サーバの構成情報は実施形態1の方式で記述し、認定無しのコンポーネントを有するサブ配信サーバの構成情報は実施形態2および3で示した方式で記述するといった選択も可能である。無論、管理主体によって参照方式を決定する以外に、オペレータの操作によって随時参照方式を決定するといったことも可能である。
メイン配信サーバ100およびサブ配信サーバ110によるコンテンツの配信処理、並びに、再生クライアントによるコンテンツの再生処理についての詳細な説明は割愛する。当業者であれば、実施形態1〜3の説明を参照すれば、コンテンツの配信処理および再生処理について理解できるであろう。
なお、メイン配信サーバ100とコントロールサーバ50とを別のサーバとせず、メイン配信サーバ100がコントロールサーバ50の機能を兼ねる構成としてもよい。
〔実施形態5〕
次に、本発明の別の一実施形態に係るコンテンツ送受信システムについて説明する。
本実施形態に係るコンテンツ送受信システムは、実施形態4に係るコンテンツ送受信システムと同様に、メイン配信サーバ、サブ配信サーバ、および再生クライアントに加え、各配信サーバにその配信サーバ用の構成情報を提供するコントロールサーバを含んでいる。
以下、本実施形態に係るコンテンツ送受信システムの構成について図30を参照しながら説明する。図30は、コンテンツ送受信システム300cを構成するメイン配信サーバ100c、サブ配信サーバ110c、再生クライアント2cおよびコントロールサーバ50cの要部構成を示すブロック図である。
図示のように、コンテンツ送受信システム300cは、メイン配信サーバ100cとサブ配信サーバ110cと再生クライアント2cとコントロールサーバ50cとがネットワークを介して接続された構成である。
図30に示すように、コントロールサーバ50cは、コントロールサーバ50cが外部の装置と通信を行うためのサーバ通信部12、構成情報の配信を制御する配信制御部51c、および、コントロールサーバ50cで使用するデータが格納されるサーバ記憶部11を備えている。
サーバ記憶部11には、配信者によって新たにアップロードされた構成情報53が記録されている。
配信制御部51cは、構成情報53内に含まれている各comp要素について、comp要素に対応するコンポーネントを格納しているか否かをメイン配信サーバ100cおよびサブ配信サーバ110cに問い合わせる。また、配信制御部51cは、構成情報53内に含まれている各comp要素について、comp要素に対応するコンポーネントの重要度を特定する。なお、例えば、コンポーネントの重要度を示す属性が、構成情報53内のそのコンポーネントに対応するcomp要素内に含まれていてもよい。
そして、配信制御部51cは、メイン配信サーバ100cおよびサブ配信サーバ110cの各配信サーバについて、その配信サーバが格納している各コンポーネントの重要度に基づいてその配信サーバ用の一群の構成情報を生成する。配信制御部51cは、メイン配信サーバ100c用の構成情報をメイン配信サーバ100cに配信し、サブ配信サーバ110c用の構成情報をサブ配信サーバ110cに配信する。
メイン配信サーバ100cは、コンテンツを配信する装置であるが、各サブ配信サーバを統括する役割を担っている。また、メイン配信サーバ100cは、再生クライアント2cからのコンテンツの配信要求(コンテンツの配信サービスへの参加要求)を受け付ける役割を担っている。
メイン配信サーバ100cは、メイン配信サーバ100cの機能を統括して制御するサーバ制御部1020c、メイン配信サーバ100cで使用するデータを格納するサーバ記憶部11、およびメイン配信サーバ100cが外部の装置と通信を行うためのサーバ通信部12を備えている。サーバ制御部1020cは、設定情報解析部1014および配信制御部1016cを含んでいる。
また、サーバ記憶部11には、コンテンツ送受信システム300cで配信可能なコンテンツ毎に、コンテンツに関する主構成情報17A、階層1〜階層Nの各副構成情報17B、コンテンツを構成するコンポーネント群18a、および、コンテンツに関する設定情報19が格納される。
コンポーネント群18aは、メイン配信サーバ100cで配信される、主番組を構成する映像、音声、字幕等のコンポーネントを想定したコンポーネント群である。主構成情報17Aには、最も重要度の高い主映像、主音声のコンポーネントが記述される。階層1〜階層Nの副構成情報17Bには、重要度に応じて、副音声のコンポーネントや、字幕、差替え字幕のコンポーネントが記述される。これらは、同一のメイン配信サーバ100cから配信される、使用時の順位関係などが明確なコンポーネント群であることから、insert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述する。
また、メイン配信サーバ100cで配信される主構成情報17Aおよび/または階層1〜Nの副構成情報17Bには、サブ配信サーバ110cから配信される主構成情報17aおよび/または階層1〜Mの副構成情報17bについて、それらを参照するための外部参照URLを記述し、主番組と共に再生されるCMコンポーネントやその関連コンポーネント、天気予報などのデータ配信コンポーネントなどが指定される。これらのコンポーネントはサブ配信サーバ110cに記録されたコンポーネント群18bに含まれるものであり、主構成情報17aおよび/または階層1〜Mの副構成情報17bは、それらを参照するための外部参照URLが表す位置に格納される。設定情報19および設定情報解析部1014については実施形態2で説明したので、ここでは説明を割愛する。
配信制御部1016cは、コントロールサーバ50cからあるコンポーネントを格納しているか否かの問合せを受けた場合に、そのコンポーネントを格納しているか否かを示す応答をコントロールサーバ50cに返却する。
配信制御部1016cは、配信対象コンテンツの配信を制御する。具体的には、配信制御部1016cは、サブ配信サーバ110cに対し、再生クライアント2cとの間でコネクションを確立するとともに、必要に応じて、主構成情報17a、副構成情報17b、およびサブ配信サーバ110が保存している配信対象コンテンツのコンポーネント群18bを再生クライアント2cに配信するよう、要求する。
配信制御部1016cは、サーバ通信部12を介して、サーバ記憶部11の主構成情報17Aおよびコンポーネント群18aを配信する。さらに、配信制御部1016cは、階層1〜階層Nの各副構成情報17Bの配信スケジュールを決定し、決定した配信スケジュールに従って階層数の小さい順に副構成情報17Bを再生クライアント2cに配信する。また、再生クライアント2cの要求に応じて副構成情報17Bを配信するといった構成も可能である。
サブ配信サーバ110cは、メイン配信サーバ100cと同様にコンテンツを配信する装置であるが、メイン配信サーバ100cからの指示を受けて、配信対象コンテンツを構成するコンポーネント群18b、および、配信対象コンテンツに関する主構成情報17aおよび副構成情報17bを再生クライアント2cに配信する。コンポーネント群18bは、既に説明したように、主番組と共に再生されるCMコンポーネントやその関連コンポーネント、天気予報などのデータ配信コンポーネントなどを想定したコンポーネント群である。
サブ配信サーバ110cは、コンテンツおよび構成情報の配信を制御する配信制御部1116c、サブ配信サーバ110cで使用するデータを格納するサーバ記憶部11、並びに、サブ配信サーバ110cが外部の装置と通信を行うためのサーバ通信部12を備えている。サーバ記憶部11には、サブ配信サーバ110cから配信可能なコンテンツ毎に、コンテンツに関する主構成情報17a、階層1〜階層Mの各副構成情報17b、コンテンツを構成するコンポーネント群18bが格納される。主構成情報17aには、主番組と共に再生されるCMコンポーネントが記述される。階層1〜階層Mの副構成情報17bには、重要度に応じて、CMの関連情報を提示するコンポーネントや、データ配信コンポーネントが記述される。これらは、同一のサブ配信サーバ110cから配信される、使用時の順位関係などが明確なコンポーネント群であることから、insert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述する。そして、これらを、主番組と共に(主番組を構成する映像、音声、字幕等のコンポーネントと共に)再生することは、メイン配信サーバ100cから配信される主構成情報17Aおよび/または階層1〜Nの副構成情報17B内に記述された外部参照URLによって示される。
配信制御部1116cは、コントロールサーバ50cからあるコンポーネントを格納しているか否かの問合せを受けた場合に、そのコンポーネントを格納しているか否かを示す応答をコントロールサーバ50cに返却する。
また、配信制御部1116cは、配信対象コンテンツの配信を制御する。具体的には、配信制御部1116cは、配信対象コンテンツを構成するコンポーネント群18bを配信する。また、配信制御部1116cは、主構成情報17aおよび階層1〜階層Mの各副構成情報17bの配信スケジュールを決定し、決定した配信スケジュールに従って、サーバ通信部12を介して、サーバ記憶部11の主構成情報17aおよび副構成情報17bを、階層の小さい順に再生クライアント2cに配信する。また、再生クライアント2cの要求に応じて主構成情報17aおよび副構成情報17bを配信するといった構成も可能である。
一方、再生クライアント2cは、コンテンツを受信して再生する端末であり、再生クライアント2cの機能を統括して制御するクライアント制御部20c、再生クライアント2cで使用するデータを格納するクライアント記憶部21、および再生クライアント2cが外部の装置と通信を行うためのクライアント通信部22を備えている。また、クライアント制御部20cは、再生制御部23cおよび再生部24を含み、クライアント記憶部21には構成情報25が格納されていると共に、受信データ格納部26が設けられている。すなわち、再生クライアント2cは、再生制御部23cを備えている点で再生クライアント2’と相違している。
再生制御部23cは、コンテンツの再生を統括して制御する。具体的には、再生制御部23cは、配信対象コンテンツの配信に関係しているメイン配信サーバ100およびサブ配信サーバ110からそれぞれ配信された主構成情報17Aおよび主構成情報17aを参照し、再生する配信対象コンテンツのコンポーネント群を決定する。
再生制御部23cは、主構成情報17Aを構成情報25としてクライアント記憶部21に記録し、以降、副構成情報17Bを受信するたびに、受信した副構成情報17Bを用いてクライアント記憶部21の構成情報25を更新する。さらに、再生制御部23cは、主構成情報17aを受信すると構成情報25を更新し、以降、副構成情報17bを受信するたびに、受信した副構成情報17bを用いてクライアント記憶部21の構成情報25を更新する。なお、再生クライアント2cが予め不要と判断された副構成情報17Bおよび副構成情報17bについては構成情報25の更新を行わないといった構成も可能である。
以上、本実施形態に係るコンテンツ送受信システム300cの構成について説明した。
次に、コントロールサーバ50cの動作について図31を参照しながら説明する。図31は、コントロールサーバ50cの動作を示すフローチャート図である。
図31に示すように、最初に、コントロールサーバ50cの配信制御部51cは、サーバ記憶部11から構成情報53を読み出す(S41)。
S41の後、配信制御部51cは、メイン配信サーバ100cに配信する構成情報に含めるcomp要素とサブ配信サーバ110cに配信する構成情報に含めるcomp要素とを決定する(S42)。具体的には、配信制御部51cは、構成情報53内に含まれている各comp要素について、comp要素に対応するコンポーネントを格納しているか否かをメイン配信サーバ100cおよびサブ配信サーバ110cに問い合わせる。そして、メイン配信サーバ100cに格納されているとの応答を受けた各コンポーネントに対応するcomp要素を、メイン配信サーバ100cに配信する構成情報に含めることを決定する。同様に、サブ配信サーバ110cに格納されているとの応答を受けた各コンポーネントに対応するcomp要素を、サブ配信サーバ110cに配信する構成情報に含めることを決定する。
S42の後、配信制御部51cは、構成情報53に基づいて、メイン配信サーバ100cに配信する構成情報に含める各comp要素について、comp要素に対応するコンポーネントの重要度を特定する(S43)。
同様に、配信制御部51cは、構成情報53に基づいて、サブ配信サーバ110cに配信する構成情報に含める各comp要素について、comp要素に対応するコンポーネントの重要度を特定する(S44)。
S44の後、配信制御部51cは、メイン配信サーバ100cに配信する、主構成情報、階層1の副構成情報、階層2の副構成情報・・階層Nの副構成情報を生成する(S45)。具体的には、重要度が最も高いコンポーネントに関するcompタグが主構成情報に含まれ、重要度が相対的に低いコンポーネントに関するcompタグが、バージョンの値が相対的に大きい副構成情報に含まれるように、N+1個の構成情報を生成する。これらはinsert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述する。
S45の後、配信制御部51cは、サブ配信サーバ110cに配信する、主構成情報、階層1の副構成情報、階層2の副構成情報・・階層Mの副構成情報を生成する(S46)。具体的には、重要度が最も高いコンポーネントに関するcompタグが主構成情報に含まれ、重要度が相対的に低いコンポーネントに関するcompタグが、階層の値が相対的に大きい副構成情報に含まれるように、M+1個の構成情報を生成する。これらはinsert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述する。
S46の後、メイン配信サーバ100cに配信する主構成情報、階層1の副構成情報、階層2の副構成情報・・階層Nの副構成情報に対し、サブ配信サーバ110cに配信する主構成情報、階層1の副構成情報、階層2の副構成情報・・階層Mの副構成情報を参照するための外部参照URLを追記する(S47)。
S47の後、配信制御部51cは、S47で生成したN+1個の構成情報をメイン配信サーバ100cに配信し(S48)、S46で生成したM+1個の構成情報をサブ配信サーバ110cに配信して(S49)、処理を終了する。
《コントロールサーバ50cの動作の変形例》
コントロールサーバ50cの動作の変形例について図32を参照しながら説明する。
図32は、コントロールサーバ50cの変形例に係る動作を示すフローチャート図である。
図32に示すように、最初に、コントロールサーバ50cの配信制御部51cは、サーバ記憶部11から構成情報53を読み出す(S51)。
S51の後、配信制御部51cは、構成情報53内の各comp要素について、comp要素に対応するコンポーネントの重要度を特定する(S52)。
S52の後、配信制御部51cは、同一の重要度を持つコンポーネント群毎に、コンポーネント群を構成する各コンポーネントについて、コンポーネントを配信する配信サーバを特定する(S53)。
具体的には、構成情報53内に対応するcomp要素が含まれている全コンポーネント群のうち、最も重要度が高いグループに属するコンポーネント群の各コンポーネントについて、コンポーネントを格納しているか否かをメイン配信サーバ100cおよびサブ配信サーバ110cに問い合わせる。さらに同様の処理を残りN回行う。すなわち、2番目に重要度が高いグループに属するコンポーネント群、…、最も重要度が低い(N+1番目に重要度が高い)グループに属するコンポーネント群について、同様の処理を行う。
S53の後、配信制御部51cは、メイン配信サーバ100cに配信する、主構成情報17A、および、サブ配信サーバ110cに配信する、主構成情報17aを生成する(S54)。
具体的には、最も重要度が高いグループに属するコンポーネント群のうちメイン配信サーバが配信するコンポーネント群について、コンポーネント群に対応するcomp要素群と、最も重要度が高いグループに属するコンポーネント群のうちサブ配信サーバが配信するコンポーネント群について、コンポーネント群に対応するcomp要素群とから、主構成情報17A、および、主構成情報17aを生成した上で、主構成情報17aの参照先を示す外部参照URLを含む主構成情報17Aを生成する。
S54の後、配信制御部51cは、メイン配信サーバ100cに配信する、階層1の副構成情報17B、および、サブ配信サーバ110cに配信する、階層1の構成情報17bを生成する。以下同様に、メイン配信サーバ100cに配信する、階層Nの副構成情報17B、および、サブ配信サーバ110cに配信する、階層Nの構成情報17bまでを生成する(S55)。
具体的には、2番目に重要度が高いグループに属するコンポーネント群のうちメイン配信サーバが配信するコンポーネント群について、コンポーネント群に対応するcomp要素群と、2番目に重要度が高いグループに属するコンポーネント群のうちサブ配信サーバが配信するコンポーネント群について、コンポーネント群に対応するcomp要素群とから、階層1の副構成情報17B、および、階層1の副構成情報17bを生成した上で、階層1の副構成情報17bの参照先を示す外部参照URLを含む階層1の副構成情報17bを生成する。
同様の処理によって、階層2〜階層Nの副構成情報17B、17bを生成する。
S55の後、配信制御部51cは、S54、S55で生成したN+1個の構成情報をメイン配信サーバ100cに配信し(S56)、S54、S55で生成したN+1個の構成情報をサブ配信サーバ110cに配信して(S57)、処理を終了する。
以上、図31、図32で説明したコントロールサーバにおける構成情報25の生成処理では、1つの配信サーバで配信されるコンポーネント間の関係をinsert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述し、異なる配信サーバで配信されるコンポーネント間の関係を外部参照URLを主構成情報に含める実施形態1の参照方式を使って記述するとした。反対に、1つの配信サーバで配信されるコンポーネント間の関係を外部参照URLを主構成情報に含める実施形態1の参照方式を使って記述し、異なる配信サーバで配信されるコンポーネント間の関係をinsert要素またはreplace要素を副構成情報に含める実施形態2または3の参照方式を使って記述することも可能である。
《再生クライアント2cでの再生処理》
再生制御部23cの説明からわかるように、再生クライアント2cは、メイン配信サーバ100cから取得する主構成情報17A、メイン配信サーバ100cから順次配信される階層1〜階層Nの副構成情報17B、サブ配信サーバ110cから取得する主構成情報17a、および、サブ配信サーバ110cから順次配信される階層1〜階層Mの副構成情報17bに基づいて、メイン配信サーバ100c、サブ配信サーバ110cから配信されてくるコンポーネント群のうち再生すべきコンポーネントを再生することになる。
《コンテンツ送受信システム300cの付記事項1》
S45(S53)の前までに、配信制御部51cは、配信サーバ情報52に基づいて、メイン配信サーバ100cおよびサブ配信サーバ110cの管理主体が同一であるか否かを判定してもよい。
配信制御部51cは、メイン配信サーバ100cおよびサブ配信サーバ110cの管理主体が同一であると判定した場合には、S47(S54、S55)において、メイン配信サーバ100cに配信する構成情報にサブ配信サーバ110cに配信する構成情報に対する外部参照URLを記述するのに代えて、サブ配信サーバ110cに配信する構成情報をinsert要素またはreplace要素を含む構成情報として生成してもよい。
また、S45、S46(S54、S55)において、メイン配信サーバ100cに配信する主構成情報17A、及びサブ配信サーバ110cに配信する構成情報を、全て、外部参照URLにより主構成情報、副構成情報を参照する構成情報を生成してもよい。
《コンテンツ送受信システム300cの付記事項2》
配信サーバ情報52には、各配信サーバについて、その配信サーバがメイン配信サーバの管理主体によって必須のサーバであると認定されている否かを示す認定情報が含まれていても良い。
この場合、S46(S55)の前までに、配信制御部51cは、配信サーバ情報52に基づいて、サブ配信サーバ110cが必須のサーバであると認定されているか否かを判定してもよい。
サブ配信サーバ110cが必須のサーバでなると判定した場合には、S46(S55)において、サブ配信サーバ110cに配信する構成情報として、外部参照URLが含まれている主構成情報17A、および、外部参照URLによって参照されるバージョン1〜バージョンNの副構成情報17Bを生成してもよい。
《コンテンツ送受信システム300cの付記事項3》
S43およびS52では、配信制御部51cは、実施形態1で説明した方法を用いて重要度を特定してもよい。
また、前述のように、構成情報53内の各compタグの属性として、そのcompタグに対応するコンポーネントの重要度を表す属性が含まれていてもよいが、コンポーネントの重要度を示す情報が、そのコンポーネントのヘッダ部分に含まれていてもよい。そして、配信制御部51cは、メイン配信サーバ100およびサブ配信サーバ110の各配信サーバに対し、該配信サーバが格納している各コンポーネントの重要度を問い合わせることにより、各コンポーネントの重要度を特定してもよい。
《その他の付記事項》
構成情報25とMMT−CIとの対応関係を図33に示しておく。なお、図33に示したMMT−CIのデータ構造は、本願出願時点における暫定的なものであることを述べておく。
図33に示すように、MMT−CIのLoAタグは構成情報25のcomponentsタグに対応し、MMT−CIのAIタグは構成情報25のcompタグに対応する。また、MMT−CIのSTIAタグは構成情報25のcompositionsタグに対応し、MMT−CIのparタグ、videoタグ、audioタグは、それぞれ、構成情報25のparタグ、videoタグ、audioタグに対応する。また、MMT−CIのSceneタグは、構成情報25のseqタグに類似する。
実施形態4または実施形態5に係るコンテンツ送受信システム300b(300c)では、コントロールサーバ50(50c)を備える代わりに、メイン配信サーバに、コントロールサーバ50(50c)の配信制御部51(51c)を備えるとともに、メイン配信サーバのサーバ記憶部11に配信サーバ情報52を格納してもよい。すなわち、メイン配信サーバにコントロールサーバの機能を持たせてもよい。
(本発明の構成1)
以上の実施形態2〜5の説明からわかるように、本発明に係る配信装置は、コンテンツを構成する複数のコンポーネントの各々について該コンポーネントを特定する情報と該コンポーネントの再生態様を示す情報とを含む再生用メタデータから、更新可能な箇所が示されている被更新用メタデータを生成する第1生成手段と、
上記被更新用メタデータ内の上記更新可能な箇所の更新に用いる更新用情報であって、上記複数のコンポーネントの全部または一部を特定する情報と上記全部または一部の再生態様を示す情報とを含む更新用情報、を含む更新用メタデータを上記再生用メタデータから生成する第2生成手段と、
上記被更新用メタデータを配信する第1配信制御手段と、
上記更新用メタデータを配信する第2配信制御手段と、を備えていることが望ましい。
(本発明の構成2)
構成1に係る配信装置において、上記第2生成手段は互いに相異なる複数の上記更新用メタデータを生成し、上記第2配信制御手段は上記複数の更新用メタデータを1つずつ配信することが望ましい。
(本発明の構成3)
構成2に係る配信装置において、上記第2生成手段が生成する各更新用メタデータには、その更新用メタデータのバージョンを示すバージョン情報が含まれており、
上記第2配信制御手段は、上記バージョン情報が示すバージョンの小さい順(古い順)に、上記更新用メタデータを配信することが望ましい。
(本発明の構成4)
構成2に係る配信装置において、上記第2生成手段が生成する各更新用メタデータには、何回目の上記被更新用メタデータの更新時にその更新用メタデータを使用すべきであるかを示す情報が含まれており、
上記第2配信制御手段は、各更新用メタデータの当該情報に基づいて、より早い時期に上記被更新用メタデータの更新に使用すべき更新用メタデータをより早くに配信する、ことが望ましい。
(本発明の構成5)
構成1〜構成4に係る配信装置において、第1生成手段および第2生成手段の一方または両方は、配信装置自身に含まれていなくともよい。
(本発明の構成6)
本発明は、第1配信制御手段を備える第1の配信装置と、第2配信制御手段(構成1〜4に係る配信装置が備える第2配信制御手段のうちの任意の第2配信制御手段)を備える第2の配信装置とを含む配信システムとしても実現できる。
(本発明の構成7)
また、本発明に係る再生装置は、構成1〜構成5に係る配信装置または構成6に係る配信システムから配信される被更新用メタデータおよび更新用メタデータを取得する取得手段と、上記更新用メタデータ内の更新用メタデータを用いて、上記更新用メタデータ内の上記更新可能な箇所を更新する更新手段と、を備えている。
(本発明の構成8)
構成7に係る再生装置において、上記取得手段は、構成4に係る配信装置から上記複数の更新用メタデータを取得するように構成されており、上記更新手段は、1〜N(N:任意の整数)までの各iについて、i回目の上記被更新用メタデータの更新時に、i回目の上記被更新用メタデータの更新時に使用すべきであることを示す情報を含む更新用メタデータを用いて、上記被更新用メタデータを更新する、ことが望ましい。
(本発明の構成9)
構成7に係る再生装置において、上記取得手段は、構成3に係る配信装置から上記複数の更新用メタデータを取得するように構成されており、上記更新手段は、過去に上記被更新用メタデータの更新に上記更新用メタデータを使用した場合には、上記バージョン情報に基づいて当該更新用メタデータのバージョンよりも新しいバージョンの更新用メタデータのみを用いて上記被更新用メタデータを更新する、ことが望ましい。
《ソフトウェアによる構成例》
最後に、配信サーバ1、メイン配信サーバ100(100’、100a、100c)、サブ配信サーバ110(110’、110a、110c)および再生クライアント2(2’、2c)、コントロールサーバ(50、50c)の各ブロック、特にサーバ制御部10およびクライアント制御部20は、集積回路(ICチップ)上に形成された論理回路によってハードウェア的に実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェア的に実現してもよい。
後者の場合、各サーバおよび各クライアントは、各機能を実現するプログラムの命令を実行するCPU、上記プログラムを格納したROM(Read Only Memory)、上記プログラムを展開するRAM(Random Access Memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである各サーバおよび各クライアントの制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、配信サーバ1および再生クライアント2に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ類、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク類、ICカード(メモリカードを含む)/光カード等のカード類、マスクROM/EPROM/EEPROM(登録商標)/フラッシュROM等の半導体メモリ類、あるいはPLD(Programmable logic device)やFPGA(Field Programmable Gate Array)等の論理回路類などを用いることができる。
また、各サーバおよび各クライアントは、通信ネットワークと接続可能に構成されているため、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークは、プログラムコードを伝送可能であればよく、特に限定されない。例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(Virtual Private Network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、この通信ネットワークを構成する伝送媒体も、プログラムコードを伝送可能な媒体であればよく、特定の構成または種類のものに限定されない。例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL(Asymmetric Digital Subscriber Line)回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、IEEE802.11無線、HDR(High Data Rate)、NFC(Near Field Communication)、DLNA(Digital Living Network Alliance)、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。