以下に、本発明の実施形態について図面を参照して詳細に説明する。図1は、本発明のコンテンツ配信システムの一例を示す概念図である。図1では、コンテンツサーバ2(サーバ)からユーザが所持している携帯端末3(情報端末装置)にチャプタ構造を有するコンテンツが配信されるコンテンツ配信システム1において、コンテンツサーバ2から携帯端末3にチャプタ構造を有するコンテンツが配信される手順の概略を示している。
図1に示すように、コンテンツサーバ2から携帯端末3に配信されるコンテンツは、1又は複数のチャプタからなる。各チャプタは、チャプタの再生開始位置から所定の再生位置までの再生区間のデータ部分であるプリフェッチ部と、プリフェッチ部の再生区間以外の再生区間(すなわち、プリフェッチ部の再生が終了する再生位置からチャプタの再生終了位置までの再生区間)のデータ部分であるストリーミング部とから構成されている。また、各ストリーミング部は、その再生区間が1又は複数に分割された再生区間それぞれのデータ部分である部分ストリーミング部からなる。ここで、各再生区間は、再生時間を基準とするものであってもよいし、各再生位置の間のデータの大きさを基準とするものであってもよい。
本実施形態のコンテンツ配信システム1では、コンテンツサーバ2と携帯端末3とが接続されると、先ず、コンテンツサーバ2から携帯端末3に配信するコンテンツを構成する各チャプタのプリフェッチ部のみが送信される。そして、ユーザは、このように予め受信した各チャプタのプリフェッチ部を携帯端末3にて再生して、ザッピングしながら視聴することができる。ここで、ザッピングとは、ユーザが、携帯端末3にて再生するプリフェッチ部を任意の順で次々と替えることを意味する。
ユーザは、各プリフェッチ部をザッピングしながら視聴した結果、視聴を希望するチャプタがあれば、そのチャプタを選択して、そのチャプタの残りの部分(ストリーミング部)をコンテンツサーバ2からストリーミング方式で転送させることができる。このように、本実施形態のコンテンツ配信システム1では、ストリーミング方式でコンテンツが転送されるので、チャプタのストリーミング部を受信すると同時に、プリフェッチ部の再生に続けて途切れなくストリーミング部を再生されるので、ユーザはあたかもそのチャプタ全体が配信されていたかの如く淀みなく、視聴することができる。なお、コンテンツ配信システム1においてコンテンツが配信される手順の詳細については後述する。
次に、本実施形態のコンテンツ配信システム1の具体的な構成について説明する。図2は、本発明の実施形態におけるコンテンツ配信システムの構成を示す構成図である。図2に示すように、コンテンツ配信システム1は、コンテンツサーバ2と携帯端末3とがネットワーク4を介して接続されている。なお、コンテンツサーバ2は、1つであっても良いし、複数であってもよい。コンテンツサーバ2が複数であれば、携帯端末3のユーザは、様々なコンテンツサーバ2から配信される、より多種多様のコンテンツを視聴することができる。よって、ユーザは、さらに快適且つ高度なコンテンツ視聴体験をすることができる。また、携帯端末3は、1つであっても良いし、複数であってもよい。また、コンテンツ配信システム1に、コンテンツサーバ2及び携帯端末3以外の通信可能な端末装置が接続されていてもよい。
また、コンテンツサーバ2と携帯端末3とを接続するネットワーク4は、相互に通信可能な通信媒体であればよく、たとえば、無線LANやFemto基地局を用いた移動無線などの無線通信ネットワークなどが挙げられる。
また、コンテンツ配信システム1は、後述するXMPP(eXtensible Messaging and Presence Protocol)を利用して構築された通信システムである。すなわち、コンテンツサーバ2と携帯端末3との間では、ネットワーク4を介して、XMPPに準拠した通信が行われている。よって、コンテンツ配信システム1は、後述するように、コンテンツサーバ2と携帯端末3との間にて、リアルタイムに通信することができ、従って、コンテンツサーバ2から携帯端末3にコンテンツがリアルタイムに配信される。
ここで、コンテンツ配信システム1にて利用されるXMPPについて説明しておく。XMPPとは、IETF(Internet Engineering Task Force)のXMPPワーキンググループから独立したXSF(XMPP Standards Foundation)により規格・標準化が進められているXML(eXtensible Markup Language)ベースのプロトコル(通信規約)である。XMPPを利用することにより、インスタントメッセージ、プレゼンス(「相手が今どういう状態にあるのか」)、マルチユーザチャット、音声またはテレビ電話、協調作業、コンテンツ・シンジケーションなどを含む広範囲のアプリケーションを動的に制御し、インターネットなどの通信システムにおいてリアルタイムなコミュニケーションを行うことができる。このXMPPでは、それぞれの目的に応じた複数の拡張プロトコル(XEP:XMPP Extension Protocol)が規格化されている。
本実施形態のコンテンツ配信システム1では、XMPPに規定されている様々なプロトコル(通信規約)が利用されている。ここで、本実施形態のコンテンツ配信システム1を理解する上で、特に重要なプロトコルであるXEP−0030(Service Discovery)、XEP−0060(Publish−Subscribe)、XEP−0166(Jingle)について説明しておく。
XEP−0030(Service Discovery)は、情報を検出する機能を規定したプロトコル(通信規約)である。以下では、DISCOと呼ぶこととする。
また、XEP−0060(Publish−Subscribe)は、情報の発信側の端末装置において情報に変更が加えられたときに、受信側の端末装置が、その情報の発信側の端末装置に、その情報に変更が加えられたことの通知を発信側の端末装置から受信側の端末装置に送信する旨の契約を予め結ぶ(すなわち、サブスクライブ(Subscribe)する)機能と、発信側の端末装置において受信側の端末装置からサブスクライブされた情報に変更が加えられたとき、発信側の端末装置が、その変更が加えられた情報をサブスクライブしている全ての受信側の端末装置に、その情報に変更が加えられたことの通知を送信する(すなわち、パブリッシュ(Publish)する)機能を規定したプロトコル(通信規約)である。以下では、pubsubと呼ぶこととする。
本実施形態のコンテンツ配信システム1では、このpubsubに準拠した機能(以下、pubsub機能と呼ぶ。)を利用することにより、コンテンツサーバ2は、チャプタ構造を有するコンテンツを、そのコンテンツを配信する携帯端末3と関連付けて管理することができる。また、携帯端末3は、コンテンツサーバ2に蓄積されているチャプタ構造を有するコンテンツとの関連付けを行うことができ、そのコンテンツの配信を受けることができる。また、pubsubの規約に準じて、携帯端末3が所定のコンテンツの配信の契約を予めコンテンツサーバ2と結ぶ(すなわち、サブスクライブ(Subscribe)する)ことにより、コンテンツサーバ2にて、そのコンテンツの新規の受信又は生成、或いは携帯端末3に配信するコンテンツの内容の更新などのイベントが発生したとき、そのコンテンツが配信されるべき携帯端末3は、そのイベントが発生した旨の通知を、コンテンツサーバ2からリアルタイムに受信することができる。従って、携帯端末3は、そのコンテンツにイベントが発生したかどうかを、コンテンツサーバ2に問い合わせることなく、リアルタイムに知ることができる。さらに、携帯端末3は、上述のようなイベントの発生に応じて、迅速且つ確実に、新規に受信又は生成、或いは内容が更新されたコンテンツやそのチャプタの送信をコンテンツサーバ2に要求するなどの動作を行うことができる。よって、携帯端末3のユーザは、動的、すなわち、コンテンツサーバ2でのイベントの発生に対してリアルタイムに、新規に受信又は生成されたコンテンツや、内容が更新されたコンテンツなどを視聴することができる。
また、XEP−0166(Jingle)は、2つの通信可能な端末装置の間にデータを送受信する通信経路を確立する機能を規定したプロトコル(通信規約)である。また、このJingleに関連するプロトコルとして、XEP−0167(Jingle RTP Sessions)やXEP−0234(Jingle File Transfer)がある。XEP−0167は、RTP(Real−time Transport Protocol)を使って音声データや動画データなどをストリーミング方式で送受信する通信経路を確立する機能を規定したプロトコル(通信規約)である。また、XEP−0234(Jingle File Transfer)は、ファイル転送の手法を規定したプロトコル(通信規約)である。以下では、XEP−0166(Jingle)をJingleと呼び、XEP−0167(Jingle RTP Sessions)をJingle−rtpと呼び、XEP−0234(Jingle File Transfer)をJingle−ftと呼ぶこととする。
次に、本実施形態のコンテンツ配信システム1におけるコンテンツサーバ2の具体的な構成について説明する。コンテンツサーバ2は、複数のコンテンツを有し、携帯端末3とネットワーク4を介して通信を行い、コンテンツを携帯端末3に配信するサーバであり、XMPPに準拠した通信を行うことができる。また、コンテンツサーバ2は、ネットワーク4を介して、コンテンツ配信システム1の外部とも通信可能であって、外部からコンテンツを取得することもできる。
図3は、本実施形態におけるコンテンツサーバの構成を示す構成図である。図3に示すように、コンテンツサーバ2は、通信部22と、記憶部23と、制御部24と、マスターコンテンツプール26と、を備えている。
通信部22は、携帯端末3と通信を行う。また、記憶部23は、コンテンツや通信部22が送受信する情報を格納する。制御部24は、通信部22における情報の送受信動作、記憶部23における情報の格納や読み出し動作などを制御する。
また、制御部24は、外部から取得したコンテンツに後述する正規化処理を行うコンテンツ受付部25と、コンテンツ配信システム1にpubsub機能を提供し、コンテンツをサブスクライブしている携帯端末3(サブスクライバ)に新コンテンツの受信イベント発生又はコンテンツの更新イベント発生などの通知を行うイベント管理部28と、携帯端末3(サブスクライバ)に送信するコンテンツ(正規化コンテンツや転送用正規化コンテンツ)を、動的、すなわち、状況応じて柔軟に対応した編集を行うサーバコンテンツ編集部29と、を有している。
コンテンツ受付部25は、たとえば外部から取得したコンテンツなどの新着したチャプタ構造を有するコンテンツに対して、各チャプタの再生時間の長さを予め定めた固定長に統一する正規化処理を行う正規化フィルタ251を有している。なお、正規化フィルタ251は、正規化処理によって、コンテンツの各チャプタを、チャプタの再生開始位置から予め定められた再生位置までのデータ部分であるプリフェッチ部と、チャプタの前記予め定められた再生位置以後から再生終了位置までのデータ部分であるストリーミング部と、チャプタの再生終了位置から正規化チャプタの再生終了位置までのデータ部分である余長部と、からなる正規化チャプタに変換する。また、各正規化チャプタのプリフェッチ部の再生時間の長さを、予め定めた固定長に統一する処理も行う。この正規化処理の具体的な内容については後述する。
また、コンテンツ受付部25は、正規化処理したコンテンツ(正規化コンテンツ)に対して、チャプタの数や、正規化処理前の各チャプタの再生時間長、正規化処理後の各チャプタの再生時間長やそのプリフェッチ部の再生時間長などを示す構造化情報を作成し、XML形式のデータなどに変換して、その正規化コンテンツに関連する情報(属性情報など)であるメタ情報とともに、正規化コンテンツに付加する。
マスターコンテンツプール26は、コンテンツサーバ2に蓄積される個々のコンテンツに対して1対1に後述するメタ情報や構造化情報を対応付けて管理する。また、マスターコンテンツプール26は、コンテンツサーバ2にコンテンツを蓄積する際、蓄積するコンテンツやそのチャプタに対して、それらを個別に識別するためのIDを付与する。以下では、コンテンツサーバ2に蓄積されている各コンテンツを識別するためのIDをコンテンツIDと呼び、各チャプタを識別するためのIDをチャプタIDと呼ぶ。そのほか、マスターコンテンツプール26は、各コンテンツや各チャプタの送受信に際して、送信側と受信側(たとえば、コンテンツサーバ2と携帯端末3)での各コンテンツや各チャプタのデータ内容の同一性を保証するためのハッシュ値を、各コンテンツ又は各チャプタに付与している。これらのID(コンテンツID、チャプタID)やハッシュ値は、各コンテンツのメタ情報として、各コンテンツに付加されている。
また、マスターコンテンツプール26は、マスターコンテンツプール26が管理している各コンテンツを、それらのコンテンツをサブスクライブしている携帯端末3(サブスクライバ)毎に、コレクションとして管理するサブスクライバコンテンツプール27を含んでいる。なお、コレクションとは、互いに構造的な相関を有してなるオブジェクト(ここでは、コンテンツをサブスクライブしている携帯端末3に配信されるコンテンツ)の集合体を意味する。
このサブスクライバコンテンツプール27は、マスターコンテンツプール26の部分集合であり、各コンテンツをサブスクライブしている携帯端末3(すなわち、サブスクライバ)と1対1で対応して設けられている。従って、マスターコンテンツプール26には、コンテンツサーバ2に蓄積されているコンテンツをサブスクライブしている携帯端末3と同数のサブスクライバコンテンツプール27が含まれている。
個々のサブスクライバコンテンツプール27は、対応する携帯端末3がサブスクライブしているコンテンツ(すなわち、携帯端末3に配信されるコンテンツ)をコレクションとして管理している。また、サブスクライバコンテンツプール27は、マスターコンテンツプール26が管理している各コンテンツに対して、携帯端末3毎又は携帯端末3を使用しているユーザ毎に、アクセス権(すなわち、そのコンテンツの配信や再生、編集などを許可するか否か)を設定する。各コンテンツに設定されたアクセス権は、アクセス権情報として、そのコンテンツのメタ情報として付加されている構造化情報に記述される。
さらに、サブスクライバコンテンツプール27は、コンテンツ受付部25が作成した正規化コンテンツから、後述するように、転送用正規化コンテンツ(転送用コンテンツ)を作成し、XMPPのXEP−166(Jingle)、XEP−0167(Jingle−rtp)、XEP−0234(Jingle−ft)の少なくともいずれかの規約に準じて、転送用正規化コンテンツを携帯端末3に送信する。
イベント管理部28は、新たなコンテンツの取得やコンテンツの更新、コンテンツのアクセス権の変更(例えば、そのコンテンツにアクセス可能となったこと)などのイベントがコンテンツサーバ2で発生したとき、pubsub機能を用いて、それらのイベント発生の通知を通信部22からそのコンテンツをサブスクライブしている携帯端末3(サブスクライバ)に送信する。そのほか、イベント管理部28は、サブスクライバとなる携帯端末3にコンテンツなどを通信部22から送信するためのXML形式のファイル(後述するXMPPコレクションノード情報やXMPPリストノード情報)を、たとえば、コンテンツサーバ2が有する揮発性メモリ(不図示)や記憶部23などに作成する。
サーバコンテンツ編集部29は、サブスクライバコンテンツプール27が管理するコンテンツの動的編集を行う編集フィルタ291を有する。また、サーバコンテンツ編集部29は、携帯端末3毎に新規コンテンツをサブスクライバコンテンツプール27に受け入れるかどうかのチェックを行う。
また、サーバコンテンツ編集部29が有する編集フィルタ291は、携帯端末3でのユーザの視聴履歴やユーザからの指示などによって、コンテンツ(正規化コンテンツや転送用正規化コンテンツ)を、動的、すなわち、状況応じて柔軟に対応した編集を行う。なお、編集フィルタ291は、動的編集を行うコンテンツをサブスクライブしている携帯端末3毎に設定されている。
このコンテンツサーバ2の例としては、家庭内の録画機能を有するハードディスクレコーダやDVDレコーダ、ビデオレコーダなどのAV機器、サービスプロバイダから提供されるコンテンツ配信システムにおけるサーバなどを挙げることができる。
なお、コンテンツサーバ2のイベント管理部28は、コンテンツ配信システム1において、XMPPサーバとしての機能を有している。このとき、コンテンツサーバ2のマスターコンテンツプール26及びサブスクライバコンテンツプール27や、後述する携帯端末3のコンテンツプール37が、XMPPクライアントとなる。このように、本実施形態では、コンテンツサーバ2は、イベント管理部28を備えることにより、XMPPサーバを兼ねているが、イベント管理部28を有するXMPPサーバを、ネットワークで接続されたインターネットなどに設置することもできる。
図4は、コンテンツ配信システムの変形例を示す構成図である。また、図5は、コンテンツサーバの変形例を示す構成図である。なお、同じ構成のものに対しては同じ符号を付して、その説明は省略する。コンテンツ配信システム1Aは、コンテンツサーバ2A(サーバ)と、携帯端末3(情報端末装置)と、イベント管理部28を有するXMPPサーバ8とが、ネットワーク4Aを介して接続されている。コンテンツ配信システム1Aは、ネットワーク4Aと接続されたインターネット81に設置されているXMPPサーバ8にイベント管理部28Aが備えられていること以外は、コンテンツ配信システム1と同じ構成である。コンテンツサーバ2Aは、制御部24Aがイベント管理部を有していないという点以外は、図3のコンテンツサーバ2と同じ構成である。また、XMPPサーバ8は、マスターコンテンツプール26及びサブスクライバコンテンツプール27や、後述する携帯端末3のコンテンツプール37などのXMPPクライアントに対してXMPPサーバとして機能するイベント管理部28Aを有し、ネットワーク4Aを介して接続されたインターネット81に設置されている。なお、このXMPPサーバ8は、この変形例に限定されるものではなく、イベント管理部28Aを有し、コンテンツサーバ2Aや携帯端末3とXMPPに準拠した通信を行うものであればよい。
次に、本実施形態のコンテンツ配信システム1における携帯端末3の具体的な構成について説明する。携帯端末3は、コンテンツサーバ2とネットワーク4を介して通信を行い、コンテンツサーバ2から配信されるコンテンツの再生を行う情報端末装置であり、XMPPに準拠した通信を行うことができる。また、携帯端末3は、後述するように、元のオリジナルコンテンツ5を構成する各チャプタのプリフェッチ部のみからなる転送用コンテンツ(転送用正規化コンテンツ)及びその転送用コンテンツに付加されている構造化情報に基づいて、チャプタ構造を有する視聴用コンテンツを生成し、本実施形態のコンテンツ配信システム1独特の再生を行う。具体的には、視聴用コンテンツの各プリフェッチ部をザッピングしながら視聴したユーザによって、興味を持ったプリフェッチ部や視聴用チャプタ全体の視聴を希望するプリフェッチ部(又はそのプリフェッチ部を有する視聴用チャプタ)を示す情報が端末入力部35に操作入力されたとき、その視聴用チャプタのプリフェッチ部以外の残りの部分(すなわち、残りのストリーミング部)がコンテンツサーバ2から携帯端末3にストリーミング方式で転送される。そのため、携帯端末3は、そのストリーミング部を受信するとともに、プリフェッチ部の再生に続けて途切れがないように、受信したストリーミング部を再生することができる。
図6は、本実施形態における携帯端末の構成を示す構成図である。図6に示すように、携帯端末3は、端末通信部32と、端末記憶部33と、端末制御部34と、端末入力部35と、コンテンツ再生部36と、コンテンツプール37と、を備えている。この携帯端末3としては、たとえば、携帯電話機やPDAなどの携帯型端末装置を挙げることができるが、無線通信機能を有する情報端末装置であれば、これらに限定するものではない。
端末通信部32は、コンテンツサーバ2と通信を行う。また、端末記憶部33は、コンテンツサーバ2から配信されるコンテンツや端末通信部32が送受信する情報を格納する。また、端末制御部34は、端末通信部32における情報の送受信動作、端末記憶部33における情報の格納や読み出し動作などを制御する。また、端末入力部35は、ユーザが情報を入力するためものである。
コンテンツ再生部36は、コンテンツサーバ2から配信されるコンテンツを再生する。また、コンテンツ再生部36は、コンテンツサーバ2から送信される正規化チャプタのストリーミング部を、対応する視聴用チャプタのストリーミング部に格納する処理を行う逆正規化フィルタ361を有している。より具体的には、後述するように、ユーザが視聴を希望する視聴用チャプタを示す情報が携帯端末3からコンテンツサーバ2に送信されたとき、その視聴用チャプタに対応する正規化コンテンツのストリーミング部が、コンテンツサーバ2から携帯端末3に送信される。このとき、コンテンツ再生部36の逆正規化フィルタ361は、送信されてきたストリーミング部を、対応する視聴用チャプタのストリーミング部に格納する。
コンテンツプール37は、携帯端末3に蓄積される各コンテンツをコレクションとして管理している。また、各コンテンツと、そのメタ情報及び構造化情報とは1対1に対応付けられて、コンテンツプール37に管理されている。また、コンテンツプール37は、新たなコンテンツの到着やコンテンツが更新されてアクセス可能となったことなどのイベントが携帯端末3で発生したとき、pubsub機能を用いて、それらのイベント発生の通知をコンテンツプール37に通知する。
また、端末制御部34は、コンテンツサーバ2から受信する更新されたコンテンツに対して、コンテンツプール37が管理するコンテンツの動的編集を行う端末コンテンツ編集部38を有している。端末コンテンツ編集部38は、コンテンツサーバ2から配信される転送用正規化コンテンツに基づいて、コンテンツプール37が管理するコンテンツの動的編集を行う編集フィルタ381を有している。また、編集フィルタ381は、コンテンツサーバ2から配信される転送用正規化コンテンツに基づいて、コンテンツ再生部36にて再生するための視聴用コンテンツの生成や編集を行う。
<1:コンテンツサーバ側での処理>
次に、コンテンツサーバ2側で行われる主な処理について説明する。
<1−1:コンテンツの正規化処理>
先ず、コンテンツサーバ2にて行われる正規化処理について具体的に説明する。図7は、本実施形態におけるコンテンツサーバでのコンテンツの正規化処理及び転送用のコンテンツの作成処理について説明するための図である。ここでは、例えば、コンテンツサーバ2は家庭にあるDVDレコーダのような放送コンテンツを自動録画する機能を有する録画装置である。図7では、録画装置(コンテンツサーバ2)は、放送局が放送しているニュース番組などのオリジナルコンテンツ5(録画した放送コンテンツ)に正規化処理を施している。なお、オリジナルコンテンツ5は、そのトピック毎にチャプタ分けされた、チャプタ構造を有しているものとする。図7では、オリジナルコンテンツ5は、全再生時間長が27分のニュースコンテンツであり、政治ニュースをトピックとした再生時間長が6分のチャプタ51aと、経済ニュースをトピックとした再生時間長が5分のチャプタ51bと、社会ニュースをトピックとした再生時間長が6分のチャプタ51cと、動物ニュースをトピックとした再生時間長が6分のチャプタ51dと、天気予報をトピックとした再生時間長が4分のチャプタ51eと、から構成されている。
図7に示すように、このオリジナルコンテンツ5は、コンテンツサーバ2のコンテンツ受付部25の正規化フィルタ251が行う正規化処理によって、正規化チャプタ61a〜61eからなる正規化コンテンツ6に変換される。各正規化チャプタ61a〜61eは、オリジナルコンテンツ5の各チャプタ51a〜51eに対応している。また、各正規化チャプタ61a〜61eの再生時間の長さは、いずれも第1の固定値に統一されている。たとえば、図7では、オリジナルコンテンツ5は、正規化処理によって、政治ニュースをトピックとした正規化チャプタ61aと、経済ニュースをトピックとした正規化チャプタ61bと、社会ニュースをトピックとした正規化チャプタ61cと、動物ニュースをトピックとした正規化チャプタ61dと、天気予報をトピックとした正規化チャプタ61eと、から構成される全再生時間長が35分の正規化コンテンツ6に変換されている。また、各正規化チャプタ61a〜61eの再生時間の長さは、いずれも、7分に統一されている。
また、正規化チャプタ61は、元のチャプタ51の再生開始位置から任意の再生位置までの再生区間511のデータ部分であるプリフェッチ部611と、プリフェッチ部611の再生区間以外の再生区間512(すなわち、プリフェッチ部611の再生が終了する再生位置から元のチャプタ51の再生終了位置までの再生区間)のデータ部分であるストリーミング部612と、元のチャプタ51の再生終了位置から正規化チャプタ61の再生終了位置までのデータ部分である余長部613と、から構成される。
また、各プリフェッチ部611a〜611eの再生時間の長さは、いずれも第2の固定値に統一されている。たとえば、図7では、各プリフェッチ部611a〜611eの再生時間の長さは、1分に統一されている。
また、各ストリーミング部612a〜612eは、その再生区間が複数に分割されたデータ部分である複数の部分ストリーミング部からなる。なお、部分ストリーミング部を設定する方法については、特に限定するものではない。図7では、ストリーミング部612が1分毎に分割されたデータ部分が、部分ストリーミング部となっている。
また、余長部613は、元のチャプタ51の再生時間の長さと正規化チャプタ61の再生時間の長さとが異なる場合に生成されるデータを持たない再生区間である。本実施形態では、各余長部613a〜613eは、0スタッフ、すなわち、”0”データで埋められている。このように、余長部613を0スタッフすることにより、たとえば、オリジナルコンテンツ5が動画規格MPEG4 AVC/H.264に準じた動画コンテンツであった場合、0スタッフされたデータ部分はデコーダに読み飛ばされ、最も近傍に位置する有効なデータがシーク(検索)されて、そのデータ位置から処理が開始される。よって、正規化処理によって、見かけ上の再生時間長が長くなったとしても、実際には、余長部613は読み飛ばして再生処理されるので、実際の再生時間が長くなったり、何も再生されないまま再生動作が行われたりするなどの問題が発生しない。よって、ユーザは、ストレス無く、コンテンツの再生を行うことができる。
なお、本実施形態では、余長部613を0スタッフしているが、この構成に限定されず、他のデータで埋め込んでもよい。たとえば、メタ情報を格納するデータ部分として余長部613を利用してもよいし、アイキャッチやロゴなどのデータを格納するデータ部分として利用してもよい。
また、オリジナルコンテンツ5が正規化処理されるとき、オリジナルコンテンツ5が有するチャプタ51の数や、オリジナルコンテンツ5の各チャプタ51a〜51eの再生時間長、各チャプタ51a〜51eのプリフェッチ部511a〜511e(各チャプタ51a〜51eの再生開始位置から任意の再生位置までの再生区間511a〜511e)の再生時間の長さなどを示す構造化情報が作成され、XML形式のデータなどに変換されて、その正規化コンテンツ6に関連する情報(属性情報など)であるメタ情報とともに、正規化コンテンツ6に付加される。
また、構造化情報は、正規化コンテンツ6や各正規化チャプタ61の内容やトピックを示すトピック情報を有している。このトピック情報は、たとえば、正規化コンテンツ6や各正規化チャプタ61の概要や、正規化コンテンツ6や各正規化チャプタ61の内容に関連するキーワードなどを有しており、それらがテキスト形式で検索可能となっている。
ここで、各正規化チャプタ61a〜61eの再生時間の長さや、各プリフェッチ部611a〜611eの再生時間の長さは、特に限定するものではなく、それぞれ任意の固定値に設定してよい。たとえば、ユーザが任意に設定できるものとしてもよい。また、ユーザがコンテンツサーバ2の操作入力部(不図示)または携帯端末3の端末入力部35からそれらの値を入力して設定するものとしてもよいし、選択可能な複数の設定値が予め用意されており、ユーザは希望する設定値を選択してコンテンツサーバ2の操作入力部(不図示)または携帯端末3の端末入力部35から入力して設定するものとしてもよい。
また、本実施形態では、各正規化チャプタ61や各プリフェッチ部611の再生時間の長さは、それぞれ、固定値に統一されているが、各正規化チャプタ61や各プリフェッチ部611の再生区間のデータ部分の大きさを、それぞれ、固定値に統一するものとしてもよい。たとえば、各正規化チャプタ61や各プリフェッチ部611を、それぞれ、任意のバイト数に統一してもよいし、コンテンツプール37のメモリブロックの倍数となるようなバイト数に統一してもよい。なお、この場合においても、バイト数を固定長としてもよいし、前述のようにユーザが任意に設定できるものとしてもよい。このようにすることによって、コンテンツサーバ2や携帯端末3において、記憶容量の利用効率を高めることができるとともに、コンテンツの再生や正規化処理などの演算を容易にすることができる。
このように、オリジナルコンテンツ5に正規化処理を行うことによって、正規化コンテンツ6を構成する各正規化チャプタ61の時間長やそのプリフェッチ部611の再生時間を、それぞれ、固定長とすることができるので、正規化コンテンツ6を構成する各正規化チャプタ61を差し替えるときや、正規化チャプタ61の再生がプリフェッチ部611の再生からストリーミング部612の再生に切り替わるとき、又は再生する正規化チャプタ61を任意に選択するときなどの時刻の演算処理を簡略化することができる。従って、携帯端末3が再生するコンテンツのパーソナライズ化及び動的編集をより簡便に行うことができる。
<1−2:転送用のコンテンツの作成処理>
次に、コンテンツサーバ2にて行われる転送用正規化コンテンツの作成処理について具体的に説明する。本実施形態のコンテンツ配信システム1では、図7に示すように、コンテンツサーバ2のコンテンツ編集部29の編集フィルタ291によって、正規化コンテンツ6から、各正規化チャプタ61a〜61eのプリフェッチ部611a〜611eからなる転送用正規化コンテンツ6A(転送用コンテンツ)が生成されたのち、転送用正規化コンテンツ6Aがコンテンツサーバ2から携帯端末3に配信される。たとえば、図7では、正規化コンテンツ6に基づいて、正規化チャプタ61aのプリフェッチ部611aと、正規化チャプタ61bのプリフェッチ部611bと、正規化チャプタ61cのプリフェッチ部611cと、正規化チャプタ61dのプリフェッチ部611dと、正規化チャプタ61eのプリフェッチ部611eと、から構成される全再生時間長が5分の転送用正規化コンテンツ6Aが生成されている。
なお、この転送用正規化コンテンツ6Aでは、各プリフェッチ部611のエンコードによる圧縮サイズに差が生じるが、デコードして得られる各プリフェッチ部611の再生時間長は等しくなる。よって、各プリフェッチ部611がザッピングしながら再生される際の再生時間の演算処理やストリーミング部612へ再生が移行する際にとぎれのないスムーズなスイッチングを行うための時刻計算の演算処理を容易に行うことができる。
<1−3:コンテンツの動的編集処理>
次に、本実施形態のコンテンツ配信システム1では、ユーザの視聴履歴又はユーザの指示に基づいて、コンテンツサーバ2から携帯端末3に配信する正規化コンテンツ6の構成の動的編集を行う。ここでは、コンテンツの動的編集処理について説明する。図8は、本実施形態におけるコンテンツの動的編集の一例を示す図である。
図8では、ユーザが興味を持ったチャプタ51を有するオリジナルコンテンツ5(放送コンテンツ5A)を放送した放送局Aが朝、昼、夜と時系列に放送した放送コンテンツ5A〜5Cの中から、各放送コンテンツ5A〜5Cのメタ情報などを参照して、関連するトピックを有するチャプタ51が抽出されている。抽出された各チャプタ51には、正規化処理及び動的編集処理が行われる。さらに、それらの正規化チャプタ61が時系列に並ぶように、正規化コンテンツ6が再構成される。
また、コンテンツの発信元は、それぞれ異なっていてもよい。図9は、本実施形態におけるコンテンツの動的編集の他の例を示す図である。図9では、ユーザが興味を持ったチャプタ51を有するオリジナルコンテンツ5(放送コンテンツ5D)と同じ時間帯に各放送局から放送された放送コンテンツ5E、5Fの中から、各放送コンテンツ5D〜5Fのメタ情報などを参照して、関連するトピックを有するチャプタ51が抽出されている。抽出された各チャプタ51には、正規化処理及び動的編集処理が行われる。さらに、それらの正規化チャプタ61は、発信元である放送局毎に並ぶように、正規化コンテンツ6が再構成される。
このように、本実施形態のコンテンツ配信システム1では、サブスクライバである携帯端末3の視聴履歴や明示的な指示をフィードバックすることにより、正規化コンテンツ6に動的な編集が行われる。そして、動的編集後の正規化コンテンツ6では、各チャプタ51が携帯端末3のユーザの好みのトピックを有するものに入れ換えられている。すなわち、携帯端末3のユーザが興味を持ったチャプタ51は残されるが、興味を持たなかったチャプタ51は他の放送コンテンツ5から抽出された好みのトピックを有するチャプタ51と入れ換えられる。こうして、正規化コンテンツ6は、携帯端末3のユーザの好みに合わせてパーソナライズ化される。
<2:携帯端末側での処理>
次に、携帯端末3側で行われる主な処理について説明する。
<2−1:視聴用のコンテンツの作成処理>
先ず、携帯端末3にて行われる視聴用コンテンツの生成処理について具体的に説明する。図10は、本実施形態における携帯端末での視聴用のコンテンツの作成処理及び逆正規化処理について説明するための図である。前述のように、転送用正規化コンテンツ6Aは、正規化コンテンツ6を構成する各正規化チャプタ61のプリフェッチ部611を連結して生成されている。携帯端末3のコンテンツサーバ2には、転送用正規化コンテンツ6Aが蓄積されている。携帯端末3の端末コンテンツ編集部38が有する編集フィルタ381は、転送用正規化コンテンツ6Aとその転送用正規化コンテンツ6Aのメタ情報に含まれる構造化情報とに基づいて、図10のように、視聴用チャプタ71からなる視聴用コンテンツ7を生成する処理を行う。
生成された視聴用コンテンツ7は、コンテンツサーバ2側の正規化コンテンツ6が有する正規化チャプタ61a〜61eと同数の視聴用チャプタ71a〜71eからなる。各視聴用チャプタ71a〜71eは、コンテンツサーバ2側の正規化コンテンツ6の各正規化チャプタ61a〜61eと対応している。また、視聴用チャプタ71の再生区間の長さ(再生時間の長さや、データの大きさなど)は対応する正規化チャプタ61と同じである。すなわち、各視聴用チャプタ71a〜71eの再生区間の長さは、コンテンツサーバ2側の正規化コンテンツ6の各正規化チャプタ61a〜61eと同じ固定値に統一されている。
また、各視聴用チャプタ71は、転送用正規化コンテンツ6Aのプリフェッチ部711と、コンテンツサーバ2側の正規化コンテンツ6の正規化チャプタ61のストリーミング部612に対応するストリーミング部712と、コンテンツサーバ2側の正規化コンテンツ6の正規化チャプタ61の余長部613に対応する余長部713と、から構成される。また、各視聴用チャプタ71のストリーミング部712は、対応する正規化チャプタ61のストリーミング部512と同様に、複数に分割された複数の部分ストリーミング部からなる。
ここで、コンテンツサーバ2から配信される転送用正規化コンテンツ6Aには、コンテンツサーバ2側の正規化コンテンツ6のストリーミング部612及び余長部613のデータは含まれていない。よって、視聴用コンテンツ7が生成される時点では、ストリーミング部712及び余長部713には実際のデータは格納されていない。よって、この時点では、ストリーミング部712及び余長部713は、0スタッフ、すなわち、”0”データで埋められている。
<2−2:コンテンツの逆正規化処理>
次に、携帯端末3にて行われるコンテンツの逆正規化処理について具体的に説明する。携帯端末3のコンテンツ再生部36が有する逆正規化フィルタ361は、ユーザの視聴履歴又はユーザの指示に基づいて、対応する正規化チャプタ61のストリーミング部612のデータがコンテンツサーバ2から携帯端末3に転送されてきたとき、そのデータをストリーミング部712に格納する逆正規化処理を行う。たとえば、図10では、ユーザの視聴履歴又はユーザの指示に基づいて、携帯端末3からコンテンツサーバ2に対応する正規化チャプタ61のストリーミング部612が転送されたとき、携帯端末3のコンテンツプール37が有する逆正規化フィルタ361は、矢印Aのように、視聴用チャプタ71のストリーミング部712にストリーミング方式で転送されたデータが格納されている。なお、この時点においても、余長部713には新たに格納されるデータはないので、0スタッフされた状態となっている。
なお、本実施形態では、余長部713は0スタッフされているが、この構成に限定されず、他のデータで埋め込まれていてもよい。たとえば、メタ情報を格納するデータ部分として余長部713を利用してもよいし、アイキャッチやロゴなどのデータを格納するデータ部分として利用してもよい。
<3:コンテンツ配信システムの動作の説明>
次に、本実施形態のコンテンツ配信システム1の具体的な動作について説明する。コンテンツサーバ2から携帯端末3へのコンテンツの配信に際し、コンテンツサーバ2及び携帯端末3は、最初に、初期化動作を行う。
ここでは、コンテンツサーバ2が、コンテンツ配信のための初期化動作として、コンテンツサーバ2に蓄積される複数のコンテンツをコレクションとして管理するマスターコンテンツプール26の初期化動作の手順を説明する。図11は、本実施形態におけるコンテンツサーバでのマスターコンテンツプールの作成とその初期化処理の手順を説明するための動作図である。
先ず、ステップS101において、コンテンツサーバ2は、コンテンツサーバ2に蓄積されるコンテンツを、コレクション(互いに構造的な相関を有してなるコンテンツの集合体)として管理するためのマスターコンテンツプール26を作成する。なお、このマスターコンテンツプール26は、コンテンツサーバ2にただ一つのみ作成される。
ステップ102では、コンテンツサーバ2のマスターコンテンツプール26は、マスターコンテンツプール26が管理するコレクション(コンテンツサーバ2に蓄積され、互いに構造的な相関を有してなるコンテンツの集合体)を管理するためのXMPPコレクションノード情報の作成を要求する旨を、イベント管理部28に送信する。
ステップ103において、イベント管理部28は、マスターコンテンツプール26用のXMPPコレクションノード情報をマスターコンテンツプール26が管理するコレクションと関連付けて作成する。なお、このマスターコンテンツプール26用のXMPPコレクションノード情報は、例えば、コンテンツサーバ2が有する揮発性メモリ(不図示)や記憶部23などに作成される。
ステップS104において、イベント管理部28は、マスターコンテンツプール26用のXMPPコレクションノード情報を作成した旨をマスターコンテンツプール26に送信する。なお、マスターコンテンツプール26の初期化の時点では、マスターコンテンツプール26には、管理すべきコンテンツが含まれていない。よって、この時点では、XMPPコレクションノード情報は空のコレクションに関連付けられていることとなる。
次に、コンテンツサーバ2は、作成したマスターコンテンツプール26用のXMPPコレクションノード情報に対して属性情報を設定する。ステップS105において、マスターコンテンツプール26は、S103にて作成されたマスターコンテンツプール26用のXMPPコレクションノード情報に属性情報を設定する旨をイベント管理部28に送信する。
ステップS106において、イベント管理部28は、マスターコンテンツプール26用のXMPPコレクションノード情報に属性情報を作成するためのデータフォーム情報をマスターコンテンツプール26に送信する。
ステップS107では、マスターコンテンツプール26が、イベント管理部28から受信したデータフォーム情報に基づき、マスターコンテンツプール26用のXMPPコレクションノード情報に属性情報を設定するための設定情報を作成し、作成した設定情報をイベント管理部28に送信する。
ステップS108では、イベント管理部28は、マスターコンテンツプール26に設定情報を確かに受け取った旨を送信する。
以上により、コンテンツサーバ2にマスターコンテンツプール26が生成されるとともに、その初期化処理が完了する。
次に、コンテンツサーバ2は、初期化処理を行ったマスターコンテンツプール26に、サブスクライバ(コンテンツを配信する携帯端末3)と同じ数のサブスクライバコンテンツプール27を作成し、それらに属性設定を行う。図12は、本実施形態におけるコンテンツサーバでのサブスクライバコンテンツプールの作成とそれらの初期化処理の手順を説明するための動作図である。
先ず、ステップ201において、マスターコンテンツプール26は、サブスクライバ(携帯端末3)に配信するコンテンツをそのサブスクライバ(携帯端末3)毎にコレクションとして管理するサブスクライバコンテンツプール27を作成する。なお、このサブスクライバコンテンツプール27は、マスターコンテンツプール26内に、コンテンツサーバ2がコンテンツを配信する携帯端末3と同じ数だけ作成される。
ステップ202では、サブスクライバコンテンツプール27は、そのサブスクライバコンテンツプール27自身が管理するコレクションを管理するためのサブスクライバコンテンツプール27用のXMPPコレクションノード情報の作成を要求する旨を、イベント管理部28に送信する。
ステップ203において、イベント管理部28は、サブスクライバコンテンツプール27用のXMPPコレクションノード情報をサブスクライバコンテンツプール27が管理するコレクションと関連付けて作成する。なお、このサブスクライバコンテンツプール27用のXMPPコレクションノード情報は、例えば、コンテンツサーバ2が有する揮発性メモリ(不図示)や記憶部23などに作成される。
ステップS204において、イベント管理部28は、サブスクライバコンテンツプール27用のXMPPコレクションノード情報を作成した旨をサブスクライバコンテンツプール27に送信する。なお、マスターコンテンツプール26の初期化の時点では、サブスクライバコンテンツプール27には、管理すべきコンテンツが含まれていない。よって、この時点では、サブスクライバコンテンツプール27用のXMPPコレクションノード情報は空のコレクションに関連付けられていることとなる。
ステップS205において、サブスクライバコンテンツプール27は、そのサブスクライバコンテンツプール27自身の生成処理が終了した旨を、マスターコンテンツプール26に送信する。
ステップS206において、マスターコンテンツプール26は、サブスクライバコンテンツプール27に属性設定を指示する旨を、サブスクライバコンテンツプール27に送信する。
ステップS207において、サブスクライバコンテンツプール27は、S203にて作成されたXMPPコレクションノード情報に属性情報を設定する旨をイベント管理部28に送信する。
ステップS208において、イベント管理部28は、サブスクライバコンテンツプール27用のXMPPコレクションノード情報に属性情報を作成するためのデータフォーム情報をサブスクライバコンテンツプール27に送信する。
ステップS209では、サブスクライバコンテンツプール27が、イベント管理部28から受信したデータフォーム情報に基づき、サブスクライバコンテンツプール27用のXMPPコレクションノード情報に属性情報を設定するための設定情報を作成し、作成した設定情報をイベント管理部28に送信する。
ステップS210では、イベント管理部28は、サブスクライバコンテンツプール27に設定情報を確かに受け取った旨を送信する。
ステップS211では、サブスクライバコンテンツプール27は、マスターコンテンツプール26に属性設定が終了した旨を送信する。
そして、コンテンツサーバ2は、上記ステップS201〜211を、コンテンツを配信する携帯端末3(サブスクライバ)の数と同じ回数だけ繰り返す。こうすることで、各サブスクライバコンテンツプール27に対応するXMPPコレクションノード情報それぞれに属性情報が設定される。以上により、コンテンツサーバ2での初期化処理が完了する。
次に、携帯端末3が、コンテンツサーバ2から配信されたコンテンツを受信するための初期化処理を行う手順を説明する。図13は、本実施形態における携帯端末でのコンテンツプールの作成とそれらの初期化処理の手順を説明するための動作図である。
先ず、ステップS301において、携帯端末3は、携帯端末3に蓄積される個々のコンテンツに対して、メタ情報及び構造化情報を1対1に対応付けて管理するためのコンテンツプール37を作成する。なお、このコンテンツプール37は、その携帯端末3にただ一つのみ作成される。
次に、携帯端末3は、コンテンツを配信するコンテンツサーバ2を、DISCO(XMPPのXEP−0030(Service Discovery))を利用して、探索する。ステップS302において、携帯端末3のコンテンツプール37は、コンテンツサーバ2のイベント管理部28に、その携帯端末3に対応するサブスクライバコンテンツプール27に関連付けられているXMPPコレクションノード情報、すなわち、図12のステップS203〜S210にて作成及び属性設定したサブスクライバコンテンツプール27用のXMPPコレクションノード情報の検索を要求する旨を送信する。
ステップS303において、コンテンツサーバ2のイベント管理部28は、対応するサブスクライバコンテンツプール27用のXMPPコレクションノード情報を同定した旨を携帯端末3に送信する。これにより、携帯端末3は、対応するサブスクライバコンテンツプール27用のXMPPコレクションノード情報を発見する。
次に、携帯端末3は、コンテンツプール37に対する属性情報の設定を行う。ステップS304において、携帯端末3のコンテンツプール37は、属性情報の設定情報を、コンテンツサーバ2のイベント管理部28に問い合わせる旨を送信する。
ステップS305において、コンテンツサーバ2のイベント管理部28は、携帯端末3のコンテンツプール37に対する属性情報の設定情報を、携帯端末3に送信する。
ステップS306において、携帯端末3に対応するサブスクライバコンテンツプール27用のXMPPコレクションノード情報の検索が終了する。こうして、携帯端末3でのコンテンツプール37の生成とその初期化の処理が終了する。
次に、コンテンツサーバ2で新規コンテンツの到着やコンテンツが更新されてアクセス可能となったことなどのイベントが発生したとき、それらのイベント発生の通知がコンテンツサーバ2から携帯端末3に送信させるために、携帯端末3がコンテンツサーバ2に対してサブスクライブする手順について説明する。図14は、本実施形態のコンテンツ配信システムにおいて、携帯端末がコンテンツサーバにサブスクライブする手順を説明するための動作図である。
ステップS401において、携帯端末3のコンテンツプール37は、コンテンツサーバ2へのサブスクライブを開始する。
ステップS402において、携帯端末3のコンテンツプール37は、コンテンツサーバ2にサブスクライブする旨を、コンテンツサーバ2のイベント管理部28に通知する。
ステップS403において、コンテンツサーバ2のイベント管理部28は、携帯端末3から、その携帯端末3に対応するサブスクライバコンテンツプール27をサブスクライブする旨を受信したことを、そのサブスクライバコンテンツプール27に通知する。
ステップS404において、サブスクライバコンテンツプール27は、サーバコンテンツ編集部29の編集フィルタ291を登録する旨をマスターコンテンツプール26に通知する。
ステップS405において、マスターコンテンツプール26は、サブスクライバコンテンツプール27に対応する編集フィルタ291の設定を指示する旨をサーバコンテンツ編集部29に通知する。
ステップS406において、サーバコンテンツ編集部29は、サブスクライバコンテンツプール27に対応する編集フィルタ291を設定する。
ステップS407において、マスターコンテンツプール26は、属性設定を指示する旨を、サブスクライバコンテンツプール27に送信する。
ステップS408において、サブスクライバコンテンツプール27は、携帯端末3から確かにサブスクライブされた旨を、イベント管理部28に通知する。
ステップ409において、コンテンツサーバ2のイベント管理部28は、携帯端末3から確かにサブスクライブされた旨を、携帯端末3のコンテンツプール37に送信する。
ステップ410において、携帯端末3のコンテンツプール37は、コンテンツサーバ2へのサブスクライブ処理が終了した旨を受信することにより、携帯端末3での初期化処理を完了する。
次に、コンテンツサーバ2が新規コンテンツの初期化処理を行う手順について説明する。図15は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが新コンテンツに初期化処理を行う手順を説明するための動作図である。
ステップS501では、コンテンツサーバ2のコンテンツ受付部25が、外部からチャプタ構造を有するコンテンツを新たに受信する。たとえば、コンテンツサーバ2が家庭にあるDVDレコーダのような自動録画する機能を有するAV機器である場合には、受信した放送コンテンツを記録して、オリジナルコンテンツ5として蓄積する。
ステップS502では、コンテンツ受付部25は、正規化フィルタ251により、受信したオリジナルコンテンツ5に正規化処理を行い、予め定めた固定の再生時間長の正規化チャプタ61からなる正規化コンテンツ6を生成する。また、生成された正規化コンテンツ6を構成する正規化チャプタ61は、オリジナルコンテンツ5のチャプタ51の再生開始位置から予め定められた長さの再生位置までの再生区間のデータ部分であるプリフェッチ部611と、プリフェッチ部611の再生が終了する再生位置から正規化処理する前のチャプタ51の再生終了位置までの再生区間のデータ部分であるストリーミング部612と、正規化処理する前のチャプタ51の再生終了位置から正規化チャプタ61の再生終了位置までの再生区間のデータ部分である余長部613とから構成される。また、各ストリーミング部612は、任意の長さの再生区間毎に分割された1又は複数の部分ストリーミング部からなる。
ここで、各正規化チャプタ61の再生時間長は、それぞれ、予め定めた第1の固定値に統一されている。同様に、各プリフェッチ部611の再生時間長も、それぞれ、予め定めた第2の固定値に統一されている。なお、本実施形態では、各正規化チャプタ61の再生時間長及び各プリフェッチ部611の再生時間長は、ユーザが任意の固定値に設定できるものとしてもよい。たとえば、ユーザがコンテンツサーバ2の操作入力部(不図示)または携帯端末3の端末入力部35からそれらの値を入力して設定するものとしてもよいし、選択可能な複数の設定値が予め用意されており、ユーザは希望する設定値を選択してコンテンツサーバ2の操作入力部(不図示)または携帯端末3の端末入力部35から入力して設定するものとしてもよい。
また、本実施形態では、各正規化チャプタ61や各プリフェッチ部611が、それぞれ、再生時間長を統一しているが、再生区間のデータ部分の大きさを統一するものとしてもよい。たとえば、各正規化チャプタ61や各プリフェッチ部611を、それぞれ、任意のバイト数に統一してもよいし、コンテンツプール37のメモリブロックの倍数となるようなバイト数に統一してもよい。なお、この場合においても、バイト数を固定長としてもよいし、前述のようにユーザが任意に設定できるものとしてもよい。このようにすることによって、コンテンツサーバ2や携帯端末3において、記憶容量の利用効率を高めることができるとともに、コンテンツの再生や正規化処理などの演算を容易にすることができる。
次に、ステップS503では、コンテンツ受付部25は、正規化チャプタ61の数や、正規化処理前の各チャプタ51の再生時間長、各正規化チャプタ61やそれらのプリフェッチ部511の再生時間長などを構造化情報として、そのコンテンツに関連する情報(属性情報など)であるメタ情報とともに、XML形式のデータなどに変換して、正規化コンテンツ6に付加する。
ステップS504では、コンテンツ受付部25は、正規化コンテンツ6をマスターコンテンツプール26に転送する。
ステップS505では、マスターコンテンツプール26は、転送されてきた正規化コンテンツ6や各正規化チャプタ61に、それぞれ一意に区別して識別可能な識別子(コンテンツID、チャプタID)を、そのメタ情報として付与する。
ステップS506では、マスターコンテンツプール26は、その正規化コンテンツ6に対応する正規化コンテンツ6用のXMPPコレクションノード情報の作成を要求する旨を、イベント管理部28に通知する。
ステップS507では、イベント管理部28は、その正規化コンテンツ6に対応するXMPPコレクションノード情報を作成する。なお、この正規化コンテンツ6用のXMPPコレクションノード情報は、例えば、コンテンツサーバ2が有する揮発性メモリ(不図示)や記憶部23などに作成される。
ステップS508では、イベント管理部28は、その正規化コンテンツ6に対応するXMPPコレクションノード情報を作成した旨をマスターコンテンツプール26に通知する。
以上により、コンテンツの初期化処理が終了する。なお、S501では、外部から新コンテンツを受信するものとしたが、コンテンツサーバ2にて新たに生成されたコンテンツを新規コンテンツとしてもよい。
次に、生成した正規化コンテンツ6用のXMPPコレクションノード情報の属性設定が行われる手順について説明する。図16は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが正規化コンテンツに対応するXMPPコレクションノード情報に属性設定を行う手順を説明するための動作図である。
ステップS601では、マスターコンテンツプール26は、図15のS507にて作成された正規化コンテンツ6用のXMPPコレクションノード情報に属性情報を設定する旨をイベント管理部28に通知する。
ステップ602では、イベント管理部28は、その正規化コンテンツ6用のXMPPコレクションノード情報に属性情報を作成するためのデータフォーム情報をマスターコンテンツプール26に転送する。
ステップS603では、マスターコンテンツプール26が、イベント管理部28から受信したデータフォーム情報に基づき、正規化コンテンツ6用のXMPPコレクションノード情報に属性情報を設定するための設定情報を作成し、作成した設定情報をイベント管理部28に転送する。
ステップS604では、イベント管理部28は、マスターコンテンツプール26に設定情報を確かに受け取った旨を通知する。
次に、コンテンツサーバ2は、正規化コンテンツ6を構成する各正規化チャプタ61に対応するXMPPリストノード情報を作成し、そのXMPPリストノード情報に属性設定を行う手順を説明する。図17は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが各正規化チャプタに対応するXMPPリストノード情報を作成する手順を説明するための動作図である。
ステップS701では、コンテンツサーバ2のマスターコンテンツプール26は、正規化チャプタ61に対応するXMPPリストノード情報の作成を要求する旨を、イベント管理部28に通知する。
ステップ702において、イベント管理部28は、XMPPリストノード情報を正規化チャプタ61と関連付けて作成する。なお、このXMPPリストノード情報は、例えば、コンテンツサーバ2が有する揮発性メモリ(不図示)や記憶部23などに作成される。
ステップS703において、イベント管理部28は、XMPPリストノード情報を作成した旨をマスターコンテンツプール26に通知する。
ステップS704において、マスターコンテンツプール26は、S702にて作成されたXMPPリストノード情報に属性情報を設定する旨をイベント管理部28に通知する。
ステップS705において、イベント管理部28は、XMPPリストノード情報に属性情報を作成するためのデータフォーム情報をマスターコンテンツプール26に転送する。
ステップS706では、マスターコンテンツプール26が、イベント管理部28から受信したデータフォーム情報に基づき、XMPPリストノード情報に属性情報を設定するための設定情報を作成し、作成した設定情報をイベント管理部28に通知する。
ステップS707では、イベント管理部28は、マスターコンテンツプール26に設定情報を確かに受け取った旨を通知する。
コンテンツサーバ2は、正規化コンテンツ6を構成する正規化チャプタ61の数だけステップS701〜S707の手順を繰り返し、各正規化チャプタ61に対応するXMPPリストノード情報の作成とその属性設定とを行う。
ここで、この時点では、サブスクライバコンテンツプール27には、図15のステップS502で生成した正規化コンテンツ6に対する携帯端末3(又はそのユーザ)のアクセス権が設定されていない。従って、マスターコンテンツプール26は、各サブスクライバコンテンツプール27に、対応するサブスクライバ(携帯端末3)に合わせたアクセス権を設定する必要がある。よって、各サブスクライバコンテンツプール27に携帯端末3(又はそのユーザ)に対するアクセス権を設定する手順を説明する。図18は、本実施形態において、各サブスクライバコンテンツプールにアクセス権が設定される手順を説明するための動作図である。
ステップS801では、マスターコンテンツプール26は、サーバコンテンツ編集部29の編集フィルタ291に対して、アクセス権情報のチェックを行う。
ステップS802では、マスターコンテンツプール26は、正規化コンテンツ6用のXMPPコレクションノード情報や各正規化チャプタ61用のXMPPリストノード情報に対して、対応するサブスクライバである携帯端末3(又はそのユーザ)のアクセス権を示すアクセス権情報を属性情報として設定する。
ステップS803において、マスターコンテンツプール26は、正規化コンテンツ6用のXMPPコレクションノード情報や各正規化チャプタ61用のXMPPリストノード情報に対するアクセス権を設定する旨をイベント管理部28に通知する。
ステップS804において、イベント管理部28は、正規化コンテンツ6用のXMPPコレクションノード情報や各正規化チャプタ61用のXMPPリストノード情報に対するアクセス権を作成するためのデータフォーム情報をマスターコンテンツプール26に通知する。
ステップS805では、マスターコンテンツプール26は、イベント管理部28から受信したデータフォーム情報に基づき、正規化コンテンツ6用のXMPPコレクションノード情報や各正規化チャプタ61用のXMPPリストノード情報に対するアクセス権を設定するための設定情報を作成し、作成した設定情報をイベント管理部28に転送する。
ステップS806では、イベント管理部28は、マスターコンテンツプール26に設定情報を確かに受け取った旨を通知する。
ステップS801〜S806の手順は、サブスクライブしている携帯端末3の数と同じ回数だけ繰り返され、正規化コンテンツ6用の各XMPPコレクションノード情報や各正規化チャプタ61用のXMPPリストノード情報、各サブスクライバコンテンツプール27に対して、対応するサブスクライバである携帯端末3(又はそのユーザ)のアクセス権の設定が行われる
そして、ステップ808において、マスターコンテンツプール26は、アクセス権の設定処理を終了する。
次に、コンテンツサーバ2が実際にコンテンツを携帯端末3に配信し、携帯端末3にて配信されたコンテンツが再生される手順について説明する。
先ず、コンテンツサーバ2は、各正規化チャプタ61のプリフェッチ部611のみからなる転送用正規化コンテンツ6Aを、携帯端末3に送信する。図19は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが転送用正規化コンテンツを携帯端末に送信する手順を説明するための動作図である。
ステップS901では、サブスクライバコンテンツプール27は、新たな正規化コンテンツ6を受け付けたとき、携帯端末3に配信すべき新たなコンテンツがある旨をイベント管理部28に送信する。
ステップS902では、イベント管理部28は、携帯端末3に配信すべき新たなコンテンツがある旨を確かに受け取ったことをサブスクライバコンテンツプール27に送信する。
また、ステップS903において、コンテンツサーバ2のイベント管理部28は、携帯端末3に配信すべき新たなコンテンツがある旨を、携帯端末3のコンテンツプール37に通知する。
ステップS904では、携帯端末3のコンテンツプール37は、コンテンツサーバ2のこの携帯端末3に対応するサブスクライバコンテンツプール27にある新たなコンテンツの送信を要求する旨を、コンテンツサーバ2の対応するサブスクライバコンテンツプール27に送信する。なお、ステップS904の手順は、ステップS903の手順が行われた後の任意のタイミングで行われる。たとえば、ステップS903の手順が行われた直後にステップS904の手順が行われてもよいし、予め定めたタイミングでステップS904の手順が行われてもよい。この予め定められたタイミングとしては、コンテンツサーバ2と携帯端末3とが通信可能なときや、ステップS903の手順が行われてから所定の時間後などが挙げられる。
ステップS905では、コンテンツサーバ2のサブスクライバコンテンツプール27が、携帯端末3に配信すべき新たな正規化コンテンツ6から転送用正規化コンテンツ6Aを生成する。具体的には、サブスクライバコンテンツプール27は、サーバコンテンツ編集部29に、正規化コンテンツ6に基づいて転送用正規化コンテンツ6Aを生成することを要求する。サーバコンテンツ編集部29では、編集フィルタ291が正規化コンテンツ6に基づいて転送用正規化コンテンツ6Aを生成する。そして、サーバコンテンツ編集部29は、サブスクライバコンテンツプール27に、転送用正規化コンテンツ6Aを転送する。
ステップS906において、コンテンツサーバ2のサブスクライバコンテンツプール27は、Jingle及びJingle−ftに規定された規約に準じて、転送用正規化コンテンツ6Aを、そのメタ情報や構造化情報などを有するXMLファイルとともに、携帯端末3のコンテンツプール37に転送する。(コンテンツ配信ステップ:視聴履歴送信ステップの一部)
このように、XMPPの応用プロトコルであるXMPPのJingle(XEP−0166)及びJingle−ft(XEP−0234)に規定された規約に準じて、転送用コンテンツを送信することにより、NATやファイヤウォールによって遮断されている一般家庭内に設置されている録画機能を有するハードディスクレコーダや、DVDレコーダ、ビデオレコーダなどのAV機器(コンテンツサーバ2)から情報端末装置(携帯端末3)にコンテンツの配信をすることができる。
また、情報端末装置に予め配信される転送用正規化コンテンツ6Aのデータサイズは、転送用正規化コンテンツ6Aを構成する各プリフェッチ部611のデータサイズだけで済むので、サーバから情報端末装置への転送用正規化コンテンツ6Aの配信に要する通信データ量と通信時間を大幅に短縮することができる。
ステップS907において、携帯端末3は、転送用正規化コンテンツ6Aから視聴用コンテンツ7を生成する。こうして、携帯端末3は、視聴用コンテンツ7を再生可能な状態となる。具体的には、携帯端末3のコンテンツプール37は、端末コンテンツ編集部38に、転送用正規化コンテンツ6Aに基づいて視聴用コンテンツ7を生成することを要求する。端末コンテンツ編集部38では、編集フィルタ381が、転送用正規化コンテンツ6Aに基づいて視聴用コンテンツ7を生成する。そして、端末コンテンツ編集部38は、コンテンツプール37に、生成した視聴用コンテンツ7を転送する。
以上により、コンテンツサーバ2から配信される新たなコンテンツの各プリフェッチ部が携帯端末3で再生され、ユーザは、任意のタイミングで、各プリフェッチ部をザッピングしながら視聴することができる。また、ユーザは、携帯端末3に予め配信された転送用正規化コンテンツ6Aから生成した視聴用コンテンツ7の各視聴用チャプタ71のプリフェッチ部711をザッピングしながら視聴することによって、視聴用コンテンツ7全体の中から、興味を持ったり視聴を希望したりした視聴用チャプタ71を容易に選択することができる。
次に、視聴用コンテンツ7の各プリフェッチ部711をザッピングしながら視聴したユーザが、視聴を希望するプリフェッチ部711の視聴用チャプタ71の残りの部分(ストリーミング部712)に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、コンテンツサーバ2から携帯端末3に転送させて、携帯端末3で再生させる手順について説明する。図20は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバから携帯端末にストリーミング部が転送される手順を説明するための動作図である。
ステップS1001において、携帯端末3で再生されている視聴用コンテンツ7の各プリフェッチ部711をザッピングしながら視聴したユーザは、興味を持ち、視聴を希望するプリフェッチ部711を、端末入力部35の操作入力により指定する。
ステップS1002において、コンテンツプール37は、ユーザが指定したプリフェッチ部711を再生するとともに、そのプリフェッチ部711に対応する視聴用チャプタ71の残りの部分(そのプリフェッチ部711に続くストリーミング部712)に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、コンテンツサーバ2からその携帯端末3への転送を要求する旨を、ユーザ希望情報として、コンテンツサーバ2のイベント管理部28に送信する。(希望情報送信ステップ)
ステップS1003において、コンテンツサーバ2のイベント管理部28は、携帯端末3のコンテンツプール37に、ストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を確かに受け取った旨を送信する。
ステップS1004において、コンテンツサーバ2のイベント管理部28は、携帯端末3がサブスクライブしているサブスクライバコンテンツプール27に、ユーザがS1001にて指定したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、その携帯端末3に転送することを要求する旨を通知する。
ステップS1005において、コンテンツサーバ2のサブスクライバコンテンツプール27は、Jingle及びJingle−rtpに規定された規約に準じて、ユーザがS1001にて操作入力したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、携帯端末3のコンテンツプール37にストリーミング方式で転送する。(後続データ送信ステップ)
このように、XMPPの応用プロトコルであるXMPPのJingle(XEP−0166)及びJingle−rtp(XEP−0167)に規定された規約に準じて、転送用コンテンツを送信することにより、NATやファイヤウォールによって遮断されている一般家庭内に設置されている録画機能を有するハードディスクレコーダや、DVDレコーダ、ビデオレコーダなどのAV機器(コンテンツサーバ2)から情報端末装置(携帯端末3)に、コンテンツの配信をすることができる。
また、ユーザがステップS1001にて希望する視聴用チャプタ71を選択したとき、対応する正規化チャプタ61の残りのデータ部分(すなわち、ストリーミング部612)がコンテンツサーバ2から携帯端末3にストリーミング方式で転送されるので、ユーザは、プリフェッチ部711に続けて途切れなくストリーミング部712を視聴することができる。よって、ユーザに、あたかも指定した視聴用チャプタ71全体を携帯しているかのような利用感を与えることができる。
ステップ1006において、携帯端末3のコンテンツプール37は、転送されてきたストリーミング部612をバッファリングしながら、逆正規化フィルタ361に、視聴用コンテンツ7の逆正規化処理を行わせる。すなわち、転送されてきたストリーミング部612が、対応する視聴用コンテンツ7のストリーミング部712に格納される。具体的には、携帯端末3のコンテンツプール37は、コンテンツ再生部36に、視聴用コンテンツ7を編集することを要求する。コンテンツ再生部36では、逆正規化フィルタ361が、転送されてきたストリーミング部612を、対応する視聴用コンテンツ7のストリーミング部712に格納する。そして、コンテンツ再生部36は、コンテンツプール37に、編集した視聴用コンテンツ7を転送する。
ステップS1007において、逆正規化処理により、転送されてきたストリーミング部612が格納されたストリーミング部712が、携帯端末3にて再生される。(後続データ再生ステップ)
以上により、ユーザは、興味を持ち、視聴を所望する視聴用チャプタ71を途中で途切れることなく、視聴することができる。なお、ステップ1002において、携帯端末3のコンテンツプール37は、ユーザの指示により再生されたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を、コンテンツサーバ2のイベント管理部28に送信するものとしたが、ユーザの指示によって所定の再生区間以上の再生が行われたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。たとえば、ユーザが選択したプリフェッチ部711の全再生区間の半分が再生された時点或いは所定の再生時間後(再生開始から30秒後など)にストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。このようにすることによって、プリフェッチ部711の再生に続いてストリーミング部712を途切れなく再生することをより確実に行うことができる。
次に、コンテンツサーバ2が、ユーザの視聴履歴又はユーザの指示に基づいて、ユーザに提供するコンテンツの内容を動的に組み替える手順について説明する。図21は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが携帯端末のユーザの視聴履歴を取得する手順を説明するための動作図である。
ステップS1101において、携帯端末3にて再生されている視聴用コンテンツ7の各プリフェッチ部711をザッピングしながら視聴したユーザは、興味を持ち、視聴を希望するプリフェッチ部711を、端末入力部35の操作入力により指定する。
ステップS1102において、携帯端末3のコンテンツプール37は、ユーザが指定したプリフェッチ部711を再生するとともに、そのプリフェッチ部711に対応する視聴用チャプタ71の残りの部分(そのプリフェッチ部711に続くストリーミング部712)に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、コンテンツサーバ2からその携帯端末3への転送を要求する旨を、ユーザ希望情報として、コンテンツサーバ2のイベント管理部28に送信する。(希望情報送信ステップ:視聴履歴送信ステップの一部)
ステップS1103において、コンテンツサーバ2のイベント管理部28は、携帯端末3のコンテンツプール37に、ストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を確かに受け取った旨を送信する。
ステップS1104において、コンテンツサーバ2のイベント管理部28は、携帯端末3がサブスクライブしているサブスクライバコンテンツプール27に、ユーザがS1101にて指定したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、その携帯端末3に転送することを要求する旨を通知する。
ステップS1105において、コンテンツサーバ2のサブスクライバコンテンツプール27は、Jingle及びJingle−rtpに規定された規約に準じて、ユーザがS1001にて操作入力したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、携帯端末3のコンテンツプール37にストリーミング方式で転送する。(後続データ送信ステップ:視聴履歴送信ステップの一部)
このように、XMPPの応用プロトコルであるXMPPのJingle(XEP−0166)及びJingle−rtp(XEP−0167)に規定された規約に準じて、転送用正規化コンテンツ6Aが送信されることにより、NATやファイヤウォールによって遮断されている一般家庭内に設置されている録画機能を有するハードディスクレコーダや、DVDレコーダ、ビデオレコーダなどのAV機器(コンテンツサーバ2)から情報端末装置(携帯端末3)にコンテンツの配信をすることができる。
また、ユーザがステップS1101にて希望する視聴用チャプタ71を選択したとき、対応する正規化チャプタ61の残りのデータ部分(すなわち、ストリーミング部612)がコンテンツサーバ2から携帯端末3にストリーミング方式で転送されるので、ユーザは、プリフェッチ部711に続けて途切れなくストリーミング部712を視聴することができる。よって、ユーザに、あたかも指定した視聴用チャプタ71全体を携帯しているかのような利用感を与えることができる。
ステップ1106において、携帯端末3のコンテンツプール37は、転送されてきたストリーミング部612をバッファリングしながら、逆正規化フィルタ361に、視聴用コンテンツ7の逆正規化処理を行わせる。すなわち、転送されてきたストリーミング部612が、対応する視聴用コンテンツ7のストリーミング部712に格納される。具体的には、携帯端末3のコンテンツプール37は、コンテンツ再生部36に、視聴用コンテンツ7を編集することを要求する。コンテンツ再生部36では、逆正規化フィルタ361が、転送されてきたストリーミング部612を、対応する視聴用コンテンツ7のストリーミング部712に格納する。そして、コンテンツ再生部36は、コンテンツプール37に、編集した視聴用コンテンツ7を転送する。
ステップS1107において、逆正規化処理により、転送されてきたストリーミング部612が格納されたストリーミング部712が、携帯端末3にて再生される。(後続データ再生ステップ:視聴履歴送信ステップの一部)
以上により、ユーザは、興味を持ち、視聴を所望する視聴用チャプタ71を途中で途切れることなく、視聴することができる。なお、ステップ1102において、携帯端末3のコンテンツプール37は、ユーザの指示により再生されたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を、コンテンツサーバ2のイベント管理部28に送信するものとしたが、ユーザの指示によって所定の再生区間以上の再生が行われたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。たとえば、ユーザが選択したプリフェッチ部711の全再生区間の半分が再生された時点或いは所定の再生時間後(再生開始から30秒後など)にストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。このようにすることによって、プリフェッチ部711の再生に続いてストリーミング部712を途切れなく再生することをより確実に行うことができる。
次に、ユーザの指示により視聴用チャプタ71が再生されたことが、ユーザの視聴履歴として、コンテンツサーバ2に通知される。
ステップS1108では、携帯端末3のコンテンツプール37が、視聴用チャプタ71のストリーミング部712が再生された旨を、その視聴用チャプタ71に対応する正規化チャプタ61を識別するためのチャプタIDや対応する正規化コンテンツ6を識別するためのコンテンツIDとともに、ユーザが視聴したコンテンツの履歴を示す視聴履歴情報として、コンテンツサーバ2のイベント管理部28に送信する。(履歴情報送信ステップ:視聴履歴送信ステップの一部)
ステップS1109では、コンテンツサーバ2のイベント管理部28は、視聴履歴情報を確かに受け取ったことを、携帯端末3のコンテンツプール37に送信する。
また、ステップS1110では、コンテンツサーバ2のイベント管理部28は、ユーザの指示により視聴用チャプタ71が再生された旨の通知を、その正規化チャプタ61を識別するためのチャプタIDや対応する正規化コンテンツ6を識別するためのコンテンツIDとともに、その携帯端末3がサブスクライブしているサブスクライバコンテンツプール27に通知する。
以上により、コンテンツサーバ2は、ユーザによるコンテンツの視聴履歴、すなわち、ストリーミング部612が転送されてきた視聴用チャプタ71が再生されたこと、及び、どの視聴用チャプタ71が再生されたのかを示す視聴履歴情報を取得することができる。(ステップS1111)
次に、コンテンツサーバ2が、取得したユーザの視聴履歴に基づいて、正規化コンテンツ6の動的編集を行う手順について説明する。図22は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバが正規化コンテンツの動的編集を行う手順を説明するための動作図である。
ステップS1201では、サブスクライバコンテンツプール27は、ユーザの視聴履歴に基づいて、そのサブスクライバコンテンツプール27にサブスクライブしている携帯端末3に配信する正規化コンテンツ6の動的編集を要求する旨を、サーバコンテンツ編集部29に送信する。
ステップS1202では、サーバコンテンツ編集部29は、そのサブスクライバコンテンツプール27に対応する編集フィルタ291により、ユーザの視聴履歴(視聴履歴情報)に基づいて、図8や図9に示したような正規化コンテンツ6の動的編集を行う。具体的には、コンテンツサーバ2が有する複数のコンテンツから、ユーザのコンテンツ視聴履歴に含まれる視聴用チャプタ71に対応する第1の正規化チャプタ61(すなわち、S1108にて再生された視聴用チャプタ71に対応する正規化チャプタ61)に関連する内容の第2の正規化チャプタ61を抽出する。(チャプタ抽出ステップ)そして、第1の正規化チャプタ61のプリフェッチ部611、及び抽出された第2の正規化チャプタ61のプリフェッチ部611からなる正規化コンテンツ6を作成する編集を行う。
また、ステップS1203では、サーバコンテンツ編集部29は、ステップS1202にて動的編集を行った正規化コンテンツ6を、サブスクライバコンテンツプール27に転送する。
以上により、コンテンツサーバ2におけるユーザの視聴履歴に基づく正規化コンテンツ6の動的編集処理が終了する。次に、コンテンツサーバ2は、動的編集をした正規化コンテンツ6に基づいて転送用正規化コンテンツ6Aを編集し、編集した転送用正規化コンテンツ6Aを携帯端末3に送信する。
先ず、ステップS1204において、サブスクライバコンテンツプール27は、動的編集された正規化コンテンツ6がある旨を、イベント管理部28に通知する。
ステップS1205では、イベント管理部28は、動的編集された正規化コンテンツ6がある旨を確かに受け取ったことを、サブスクライバコンテンツプール27に通知する。
また、ステップS1206において、コンテンツサーバ2のイベント管理部28は、携帯端末3に正規化コンテンツ6が更新されたこと(すなわち、動的編集されたこと)を、携帯端末3のコンテンツプール37に通知する。
次に、携帯端末3は、コンテンツサーバ2に、更新された転送用正規化コンテンツ6Aの送信を要求し、転送された転送用正規化コンテンツ6Aに基づいて視聴用コンテンツ7を編集すべく、編集フィルタ381を再構成する。図23は、本実施形態のコンテンツ配信システムにおいて、更新された正規化コンテンツに基づいて、携帯端末側の編集フィルタが再構成される手順を説明するための動作図である。
ステップS1301では、携帯端末3のコンテンツプール37は、更新された正規化コンテンツ6の送信を要求する旨を、その携帯端末3がサブスクライブしているサブスクライバコンテンツプール27に送信する。なお、ステップS1301の手順は、図22のステップS1206の手順が行われた後の任意のタイミングで行われる。たとえば、図22のステップS1206の手順が行われた直後にステップ1301の手順が行われてもよいし、予め定めたタイミングでステップS1301の手順が行われてもよい。この予め定められたタイミングとしては、コンテンツサーバ2と携帯端末3とが通信可能なときや、ステップS1206の手順が行われてから所定の時間後などが挙げられる。
ステップS1302では、コンテンツサーバ2のサブスクライバコンテンツプール27が、動的編集した正規化コンテンツ6に基づいて、転送用正規化コンテンツ6Aを編集する。具体的には、サブスクライバコンテンツプール27は、サーバコンテンツ編集部29に、動的編集した正規化コンテンツ6に基づいて、転送用正規化コンテンツ6Aを生成することを要求する。サーバコンテンツ編集部29では、編集フィルタ291が正規化コンテンツ6に基づいて、動的編集処理後の正規化コンテンツ6の各正規化チャプタ61のプリフェッチ部611からなる転送用正規化コンテンツ6Aを生成する。すなわち、サーバコンテンツ編集部29は、編集フィルタ291により、S1108にて再生された視聴用チャプタ71のプリフェッチ部711に対応する第1の正規化チャプタ61のプリフェッチ部611、及びS1202にて抽出された第2の正規化チャプタ61のプリフェッチ部611からなる転送用正規化コンテンツ6Aを作成する編集を行う。(チャプタ編集ステップ)そして、サーバコンテンツ編集部29は、サブスクライバコンテンツプール27に、編集した転送用正規化コンテンツ6Aを転送する。
ステップS1303では、コンテンツサーバ2のサブスクライバコンテンツプール27は、Jingle及びJingle−ftの規約に準じて、転送用正規化コンテンツ6Aを、そのメタ情報や構造化情報などを有するXMLファイルとともに、携帯端末3のコンテンツプール37に転送する。(編集済コンテンツ送信ステップ)
このように、XMPPの応用プロトコルであるXMPPのJingle(XEP−0166)及びJingle−ft(XEP−0234)に規定された規約に準じて、転送用正規化コンテンツ6Aを送信することにより、NATやファイヤウォールによって遮断されている一般家庭内に設置されている録画機能を有するハードディスクレコーダや、DVDレコーダ、ビデオレコーダなどのAV機器(コンテンツサーバ2)から情報端末装置(携帯端末3)にコンテンツの配信をすることができる。
また、携帯端末3に配信される転送用正規化コンテンツ6Aのデータサイズは、転送用正規化コンテンツ6Aを構成する各プリフェッチ部511のデータサイズだけで済むので、コンテンツサーバ2から携帯端末3への転送用正規化コンテンツ6Aの配信に要する通信データ量と通信時間を大幅に短縮することができる。また、ユーザは、携帯端末3にされる転送用正規化コンテンツ6Aから生成した視聴用コンテンツ7の各視聴用チャプタ71のプリフェッチ部711をザッピングしながら視聴することによって、視聴用コンテンツ7全体の中から、興味を持ったり視聴を希望したりした視聴用チャプタ71を容易に選択することができる。
ステップS1304において、携帯端末3のコンテンツプール37は、転送されてきた動的編集処理後の転送用正規化コンテンツ6AとXML形式のファイルに基づいて、動的編集処理後の転送用正規化コンテンツ6Aの動的編集処理、すなわち、転送されてきた動的編集後の転送用正規化コンテンツ6Aに基づいて、視聴用コンテンツ7を編集する処理ができるように、編集フィルタ381の再構成を端末コンテンツ編集部38に要求する。
ステップS1305において、端末コンテンツ編集部38は、動的編集処理後の転送用正規化コンテンツ6AとXMLファイルに基づいて、転送されてきた動的編集後の転送用正規化コンテンツ6Aから動的編集後の正規化コンテンツ6を生成する処理ができるように、編集フィルタ381の再構成を行う。そして、編集フィルタ381が、転送用正規化コンテンツ6Aに基づいて視聴用コンテンツ7を編集する。そして、端末コンテンツ編集部38は、コンテンツプール37に、編集した視聴用コンテンツ7を転送する。
ステップS1306において、携帯端末3では、動的編集後の転送用正規化コンテンツ6Aに対応する視聴用コンテンツ7が再生可能な状態となる。
以上により、ユーザのコンテンツ視聴履歴に基づいて、コンテンツサーバ2が有する複数のコンテンツから、ユーザが視聴した視聴用チャプタ71に対応する第1の正規化チャプタ61に関連する内容の第2の正規化チャプタ61が抽出されるとともに、第1の転送用正規化コンテンツ6Aが、第1の正規化チャプタ61のプリフェッチ部611と抽出された第2の正規化チャプタ61のプリフェッチ部611とからなる第2の転送用正規化コンテンツ6Aに編集され、携帯端末3に送信される。従って、視聴履歴情報がコンテンツサーバ2に送信されると、携帯端末3のユーザに提供される正規化コンテンツ6及び転送用正規化コンテンツ6Aが動的に自動更新される。よって、ユーザは、興味のある内容や所望する内容のチャプタから構成されるパーソナライズされたコンテンツを簡便に視聴することができる。従って、ユーザは、配信されるコンテンツをストレスなく快適に視聴することができ、高度なコンテンツ視聴体験をすることができる。
次に、動的編集された転送用正規化コンテンツ6Aに基づいて、動的編集された視聴用コンテンツ7の各プリフェッチ部711が携帯端末3にて再生される。携帯端末3のユーザは、任意のタイミングで動的編集された視聴用コンテンツ7の各プリフェッチ部711をザッピングしながら視聴することができる。そして、各プリフェッチ部711をザッピングしながら視聴したユーザは、視聴を希望するプリフェッチ部711の視聴用チャプタ71の残りの部分(ストリーミング部712)に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、コンテンツサーバ2から携帯端末3に転送させて、携帯端末3で再生させることができる。以下に、それらの手順について説明する。図24は、本実施形態のコンテンツ配信システムにおいて、コンテンツサーバから携帯端末に動的編集後のストリーミング部が転送される手順を説明するための動作図である。
ステップS1401において、携帯端末3に再生されている視聴用コンテンツ7の各プリフェッチ部711をザッピングしながら視聴したユーザは、興味を持ち、視聴を希望するプリフェッチ部711を、端末入力部35の操作入力により指定する。
ステップS1402において、コンテンツプール37は、ユーザが指定したプリフェッチ部711を再生するとともに、そのプリフェッチ部711に対応する視聴用チャプタ71の残りの部分(そのプリフェッチ部711に続くストリーミング部712)に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、コンテンツサーバ2からその携帯端末3への転送を要求する旨を、選択情報として、コンテンツサーバ2のイベント管理部28に送信する。(選択情報送信ステップ)
ステップS1403において、コンテンツサーバ2のイベント管理部28は、携帯端末3のコンテンツプール37に、ストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を確かに受け取った旨を送信する。
ステップS1404において、コンテンツサーバ2のイベント管理部28は、携帯端末3がサブスクライブしているサブスクライバコンテンツプール27に、ユーザがS1101にて指定したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、その携帯端末3に転送することを要求する旨を通知する。
ステップS1405において、コンテンツサーバ2のサブスクライバコンテンツプール27は、Jingle及びJingle−rtpに規定された規約に準じて、ユーザがS1001にて操作入力したストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)を、携帯端末3のコンテンツプール37にストリーミング方式で転送する。(ストリーミング転送ステップ)
このように、XMPPの応用プロトコルであるXMPPのJingle(XEP−0166)及びJingle−rtp(XEP−0234)に規定された規約に準じて、転送用正規化コンテンツ6Aが送信されることにより、NATやファイヤウォールによって遮断されている一般家庭内に設置されている録画機能を有するハードディスクレコーダや、DVDレコーダ、ビデオレコーダなどのAV機器(コンテンツサーバ2)から情報端末装置(携帯端末3)にコンテンツの配信をすることができる。
また、ユーザがステップS1401にて希望する視聴用チャプタ71を選択したとき、対応する正規化チャプタ61の残りのデータ部分(すなわち、ストリーミング部612)がコンテンツサーバ2から携帯端末3にストリーミング方式で転送されるので、ユーザは、プリフェッチ部711に続けて途切れなくストリーミング部712を視聴することができる。よって、ユーザに、あたかも指定した視聴用チャプタ71全体を携帯しているかのような利用感を与えることができる。
ステップ1406において、携帯端末3のコンテンツプール37は、転送されてきたストリーミング部612をバッファリングしながら、逆正規化フィルタ361に、視聴用コンテンツ7の逆正規化処理を行わせる。すなわち、転送されてきたストリーミング部612が、対応する視聴用コンテンツ7のストリーミング部712に格納される。具体的には、携帯端末3のコンテンツプール37は、コンテンツ再生部36に、視聴用コンテンツ7を編集することを要求する。コンテンツ再生部36では、逆正規化フィルタ361が、転送されてきたストリーミング部612を、対応する視聴用コンテンツ7のストリーミング部712に格納する。そして、コンテンツ再生部36は、コンテンツプール37に、編集した視聴用コンテンツ7を転送する。
ステップS1407において、逆正規化処理により、転送されてきたストリーミング部612が格納されたストリーミング部712が、携帯端末3にて再生される。(ストリーミング再生ステップ)
以上により、ユーザのコンテンツ視聴履歴に基づいて、コンテンツサーバ2が有する複数のコンテンツから、コンテンツ視聴履歴に含まれる視聴用チャプタ71に対応する第1の正規化チャプタに関連する内容の第2のチャプタ51が抽出され且つ正規化されるとともに、第1の正規化チャプタのプリフェッチ部と抽出され正規化された第2の正規化チャプタのプリフェッチ部とからなる転送用正規化コンテンツ6Aが作成され、携帯端末3に送信される。従って、視聴履歴情報がサーバに送信されると、携帯端末3のユーザに提供される転送用正規化コンテンツ6Aは動的に自動更新される。また、携帯端末3では、その転送用正規化コンテンツ6Aに対応する視聴用コンテンツ7も動的に自動更新される。よって、ユーザは、興味のある内容や所望する内容のチャプタから構成されるパーソナライズされたコンテンツを簡便に視聴することができる。従って、ユーザは、配信されるコンテンツをストレスなく快適に視聴することができ、高度なコンテンツ視聴体験をすることができる。
なお、図20のステップS1002や、図21のステップS1102、図24のステップS1402において、携帯端末3のコンテンツプール37は、ユーザの指示により再生されたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を、コンテンツサーバ2のイベント管理部28に送信するものとしたが、ユーザの指示によって所定の再生区間以上の再生が行われたプリフェッチ部711に続くストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。たとえば、ユーザが選択したプリフェッチ部711の全再生区間の半分が再生された時点或いは所定の再生時間後(再生開始から30秒後など)にストリーミング部712に対応するデータ(すなわち、対応する正規化チャプタ61のストリーミング部612)の転送を要求する旨を送信するものとしてもよい。このようにすることによって、プリフェッチ部711の再生に続いてストリーミング部712を途切れなく再生することをより確実に行うことができる。
また、図21のステップS1108〜図23のステップS1303では、ユーザのコンテンツ視聴履歴(視聴履歴情報)に基づいて、正規化コンテンツ6及び転送用正規化コンテンツ6Aの動的更新が行われるものとしたが、予め配信された転送用正規化コンテンツ6Aを視聴したユーザによって、興味を持った視聴用チャプタ71を示すユーザ興味情報が情報端末装置の入力部に入力されたとき、ユーザ興味情報が携帯端末3からコンテンツサーバ2に送信されるものとしてもよい。(興味情報送信ステップ)
この場合、コンテンツサーバ2では、受信したユーザ興味情報に基づいて、正規化コンテンツ6及び転送用正規化コンテンツ6Aの動的更新が行われる。より具体的には、コンテンツサーバ2にて、サーバコンテンツ編集部29が、コンテンツサーバ2が有する複数のコンテンツから、ユーザ興味情報が示す視聴用チャプタ71に対応する第1の正規化チャプタ61に関連する内容の第2の正規化チャプタ61を抽出する。(チャプタ抽出ステップ)サーバコンテンツ編集部29は、第1の正規化チャプタ61及び抽出された第2の正規化チャプタ61からなる正規化コンテンツ6を生成する編集を行うとともに、第1の正規化チャプタ61のプリフェッチ部611、及び抽出された第2の正規化チャプタ61のプリフェッチ部611からなる転送用正規化コンテンツ6Aを作成する編集を行う。(チャプタ編集ステップ)また、動的に編集された転送用正規化コンテンツ6Aがコンテンツサーバ2から携帯端末3に送信される。(編集済コンテンツ送信ステップ)
このようにすれば、ユーザが携帯端末3に入力した指示に基づいて、携帯端末3のユーザに提供される転送用正規化コンテンツ6Aは動的に自動更新される。また、携帯端末3では、その転送用正規化コンテンツ6Aに対応する視聴用コンテンツ7も動的に自動更新される。よって、ユーザは、興味のある内容や所望する内容のチャプタから構成されるパーソナライズされたコンテンツを簡便に視聴することができる。従って、ユーザは、配信されるコンテンツをストレスなく快適に視聴することができ、高度なコンテンツ視聴体験をすることができる。
以上、実施形態をもとに本発明を説明した。なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲においては構成を変更して実施することも可能である。
また、上述の実施形態において、コンテンツサーバ2と、1又は複数の携帯端末3とがXMPPに準拠した通信を行う構成としたが、本発明はこれに限定されるものではない。XMPPに類似するプロトコル(通信規約)に準拠した通信を行うものとしてもよい。また、上述の実施形態におけるコンテンツ配信システム1は、さらに、他のXMPP通信用サーバを有するものとしてもよい。
また、上述の実施形態において、転送用正規化コンテンツ6Aやストリーミング部612などの転送は、XMPPのプロトコルであるXEP−0166(Jingle)や、XEP−0167(Jingle RTP Sessions)又はXEP−0234(Jingle File Transfer)の少なくともいずれかの規約に従うものとしたが、これに限定するものではなく、2つの通信可能な端末装置の間にデータを送受信する通信経路を確立するための通信規約であれば利用できる。
また、以上で説明した実施形態は例示であり、その各構成要素や各処理の組み合わせに色々な変形例は可能であることは、本発明の範囲にあることは当業者に理解されるところである。