以下に、本発明におけるコンテンツ管理サーバ、コンテンツ提示装置、コンテンツ管理プログラム、及びコンテンツ提示プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
なお、本実施形態では、コンテンツの一例として番組コンテンツを用いる。更に、本実施形態では、番組の制作、提示に用いられるスクリプトの一例として、TVML(TV program Marking Language)を用いる。ここで、TVMLとは、テレビ番組を制作するためのオブジェクトベース記述言語である。TVMLは、テレビ番組の映像と音声を、素材と台本とに分けて記述するものであり、番組台本を記述すれば、パソコン等で動作するソフトウェア等がこれを読み取り、即座にテレビ番組として視聴(提示)することができるものである。なお、本発明はTVMLに限定されるものではなく、TVML以外の表現形式を用いてもよい。
更に、以下に説明する本発明の一実施形態として使用される対話型の番組提示装置は、TV4Uの機能を有する。TV4Uとは、制作者側で制作された番組の台本や、その台本に任意の番組制作エンジン(APE:Automatic Production Engine)、制作した番組に用いられる素材等をサーバ等からダウンロードし、CG(Computer Graphics)や音声合成等を使用して番組を再生することで、視聴者に視聴させることができるものである。
また、上述した番組制作エンジンとは、番組に登場する番組司会者や出演者等のCGキャラクタや番組における1つの動作の単位で「タイトル表示」、「ズームイン」、「CGキャラクタの動作」等のイベントが予め定義された雛形コンテンツであり、この番組制作エンジンを用いることにより、ニュースやバラエティ、スポーツ、ドラマ等の所定のジャンルの番組制作を効率的に実現することができる。
<システム構成>
図1は、本発明におけるコンテンツ提示システムの一構成例を示す図である。図1に示すコンテンツ提示システム10は、TVサーバとしての番組管理サーバ(コンテンツ管理サーバ)11と、TVブラウザとしての複数の番組提示装置(コンテンツ提示装置)12−1、12−2、・・・、12−nとを有するよう構成されている。また、番組管理サーバ11、及び番組提示装置12は、インターネット等の通信ネットワーク13を介してデータの送受信が可能な状態で接続されている。
ここで、番組管理サーバ11は、予め蓄積されている画像や映像、音声、テキストデータ等の各種データに基づいて、視聴者に提供する番組を制作し番組データを生成する。なお、本実施形態では、番組管理サーバ11により制作される番組データは、その番組に用いた番組制作エンジンと、画像や映像、音声等の素材データと、それらを用いて番組全体の流れや番組の演出等の情報が記述された番組台本となる。
また、番組管理サーバ11は、制作した番組に対する関連情報を視聴者からの問い合わせに対して回答するための対話シーンも生成する。具体的には、その番組の任意のシーンに登場する人物や場所、言葉、文章、画像等に対応する関連情報をその番組等に対応付けた対話データを生成する。
番組管理サーバ11は、上述した番組データを通信ネットワーク13を介して任意の番組提示装置12に送信する。また、番組管理サーバ11は、番組提示装置12からの要求により、要求に対応する番組データを送信してもよい。
更に、番組管理サーバ11は、番組提示装置12−1、12−2、・・・、12−nのそれぞれの視聴状態を管理する。ここで、視聴状態とは、番組提示装置12−1、12−2、・・・、12−nのそれぞれが提示している番組の視聴状態(例えば、番組情報(番組名)、再生中のシーン、番組開始時間等)や対話情報(対話の内容、対話に参加している視聴者情報、対話を参加せずに視聴している視聴者情報)等の各種情報である。番組管理サーバ11は、各番組提示装置12−1〜12−nから視聴状態管理情報を取得し、取得した情報を各番組提示装置12−1〜12−nの識別情報(例えば、IPアドレスやユーザID、パスワード、コンピュータ名等)と関連付けて蓄積する。
また、番組管理サーバ11は、番組提示装置12について予め設定されたグループ情報に基づいて、同一時間に番組管理サーバ11に接続されている他の番組提示装置12に送信(マルチキャスト)を行い、対話番組内への参加の有無を判断させ、参加する場合には、視聴状態管理情報に基づいて関連する参加視聴に必要な情報を当該番組提示装置12に送信する。
一方、番組提示装置12−1〜12−nは、通信ネットワーク13を介して番組管理サーバ11から送信された番組に関する各種データ(番組データ)や、対話中に必要な問い合わせに関する回答情報(対話データ)を受信(ダウンロード)し、受信結果に基づいて番組を再生して、視聴者に提示を行う。
また、番組提示装置12は、その番組の視聴中に対話シーンに移行することができ、例えば番組や番組以外の質問や要求等の各種問い合わせを行うことができる。また、番組提示装置12は、現在視聴している番組情報等の視聴状態や対話の情報を番組管理サーバ11に出力(アップロード)する。
更に、番組提示装置12は、例えば他の番組提示装置12(提示者)が同一時刻と判断される時刻に視聴している他人の対話データを受信(ダウンロード)し、必要に応じてその対話への参加の有無を判断し、参加が可能な場合には、対応する対話シーンを生成して提示を行う。なお、同一時刻と判断される時刻とは、各番組提示装置12−1〜12−nの処理性能の違い等により誤差はあるものの、ある程度同時刻で再生される。つまり、本発明における同時刻とは、多少の誤差範囲(例えば、数ミリ秒〜数十秒等)を含む。
また、ダウンロード可能な対話シーンは、同一時刻に限定されず、例えば視聴するよりも前に視聴された他人の対話シーンを取得して視聴することもできる。
なお、上述したシステム構成によれば、番組管理サーバ11と、番組提示装置12との関係とは、1:nの関係となっているが本発明においてはこれに限定されず、例えばn:nであってもよい。
次に、番組管理サーバ11と、番組提示装置12とのそれぞれの機能構成例について説明する。
<番組管理サーバ:機能構成>
図2は、番組管理サーバの機能構成の一例を示す図である。図2に示す番組管理サーバ11は、入力手段21と、出力手段22と、蓄積手段23と、番組生成手段24と、対話生成手段25と、検索手段26と、視聴状態管理手段27と、対話管理手段28と、送受信手段29と、制御手段30とを有するよう構成されている。
入力手段21は、ユーザ(管理者、番組制作者等)からの番組生成や、対話生成、検索、視聴状態管理、対話管理における各指示情報等の入力を受け付ける。なお、入力手段21は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力インタフェイス等からなる。
また、出力手段22は、入力手段21により入力された指示内容や、指示内容に基づいて生成された番組、対話シーン等の編集内容、編集結果等の内容を表示したり、音声出力する。なお、出力手段22は、ディスプレイやスピーカ等からなる。
また、蓄積手段23は、番組や対話シーンを生成するための画像や映像、音声、テキストデータ等の各種データからなる素材データや、番組制作エンジン、番組生成手段24にて生成される番組台本や対話生成手段25にて生成される対話データ等を蓄積する。
また、蓄積手段23には、番組生成用のデータ(テンプレート)、対話生成用のデータ(テンプレート)、対話応答用辞書(レスポンススクリプト)、TVMLスクリプト群等が蓄積される。
更に、蓄積手段23は、各番組提示装置12−1〜12−nを識別するための識別情報(ユーザID、IPアドレス、コンピュータ名等)を蓄積し、また各番組提示装置12−1〜12−nにおける番組の視聴状態及び対話情報を上述の識別情報と関連付けて蓄積する。
なお、蓄積手段23は、これらのデータを通信ネットワーク13等により接続された外部サーバ(図示せず)等から取得して蓄積することもできる。また、蓄積手段23は、蓄積された各種データを検索することができるように体系的に構成されている。
番組生成手段24は、番組の台本データを生成する。具体的には、番組生成手段24は、蓄積手段23に予め蓄積された素材データや番組制作エンジンに基づいて所望する番組の台本を生成する。なお、番組の生成には、例えばTVクリエータ等の専用のエディタ等を用いることができる。
また、対話生成手段25は、番組提示装置12から送信される視聴者からの問い合わせに対して、検索手段26により蓄積手段23を検索して回答情報を抽出し、抽出した回答情報を対話データとして問い合わせのあった対応する番組提示装置12に通信ネットワーク13を介して送信する。
なお、対話生成手段25は、検索結果により何らかの情報が抽出された場合にはその情報に基づいて対話データを生成するが、何も抽出できなかった場合には、「見つかりませんでした。」等といったその旨を通知するメッセージ情報を生成することができる。
また、検索手段26は、入力手段21又は番組提示装置12から送受信手段29により入力された問い合わせに基づいて、質問の内容を解析し、解析結果から得られるキーワード等により蓄積手段23に蓄積されたデータ群を検索し、対応する回答を抽出する。
ここで、検索手段26は、蓄積手段23に含まれるデータを検索する際、問い合わせ情報として送信される対話の内容、音声入力等の入力データに含まれる文字列から質問情報を生成する。具体的には、検索手段26は、入力された文字情報、又は音声認識により得られる文字情報に基づいて該当する質問部分を生成し、生成された質問情報に基づいてデータの検索を行う。例えば、「○○○とは何ですか?」という視聴者からの問い合わせについては、「○○○」が質問情報としてのキーワードとなる。
また、検索手段26は、検索されたデータに対応する回答結果を対話生成手段25に出力し、対話生成手段25により対話用のデータを生成して、送受信手段29により問い合わせのあった番組提示装置12に出力させる。
また、視聴状態管理手段27は、各番組提示装置12−1〜12−nに対する視聴状態を管理する。具体的には、視聴状態管理手段27は、各番組提示装置12−1〜12−nによりそれぞれが提示している番組の視聴状態(例えば、番組情報(番組名)、再生中のシーン、番組開始時間、番組再生時間、番組の残り時間等)や対話情報(対話の内容、対話に参加している視聴者情報、対話を参加せずに視聴している視聴者情報)等の各種情報を取得し、取得した情報を蓄積手段23に蓄積して管理する。また、視聴状態管理手段27は、各番組提示装置12−1〜12−nについてのユーザ情報等も管理する。
対話管理手段28は、現時点である番組提示装置12で視聴されている番組の視聴状態やその番組における対話情報を取得する。また、対話管理手段28は、これらの情報を視聴している視聴者のユーザ情報や予め設定されるグループ情報等に基づいて選定される他の視聴者が利用する番組提示装置12にマルチキャスト配信する。
ここで、対話管理手段28は、ある番組提示装置12における対話シーンを他の番組提示装置12に配信する際、この対話シーンに参加するか否かを選択させるための情報を出力する。また、対話管理手段28は、他の番組提示装置12から番組に参加する旨の連絡を受けた場合には、その対話シーンに対応する対話データをその番組提示装置12に送信させる。これにより、他の番組提示装置における対話シーンを取得することができる。したがって、高精度な対話コミュニケーションを実現することができる。
また、対話管理手段28は、ある番組提示装置12における対話シーンについて、他の番組提示装置12からこの対話シーンへの参加要求があった場合、実際に対話シーンを実行している番組提示装置に対して参加を許可するか否かを選択させるための参加要求情報を生成し、その生成された情報を対象の番組提示装置12に出力する。
また、対話管理手段28は、番組提示装置12の参加要求に対する応答が参加許可であった場合には、その対話シーンに対応する対話データが参加を要求した番組提示装置12に送信させる。これにより、他の視聴者の対話シーンに参加することができるため、他の視聴者と一緒に番組出演者と対話したり、視聴者同士が対話したり、他の視聴者と番組出演者との対話のやり取りを参加している立場で視聴することができる。
また、番組提示装置12の参加要求に対する応答が参加拒否であった場合には、拒否されたことを示すメッセージ等を画面等に表示したり、音声で出力することで視聴者に通知する。これにより、参加要求した視聴者に対して参加が拒否されたことを明確に伝えることができる。
また、対話管理手段28は、予め番組毎に同時に参加できる人数の制限を設定することもできる。これにより、サーバ側での負荷を調整して高精度な対話管理が実現できる。
また、送受信手段29は、通信ネットワーク13を介して番組データや対話データを番組提示装置12に送信するための通信インタフェイスである。また、送受信手段29は、番組提示装置12からの問い合わせ情報に対して検索手段26により取得した回答を問い合わせのあった番組提示装置12に送信する。
更に、送受信手段29は、番組提示装置12から視聴状態や対話情報を受信し、視聴状態管理手段27に出力する。また、送受信手段29は、番組への参加の有無に関する要求情報を番組提示装置12に送信し、またその応答情報等を番組提示装置12から受信して対話管理手段28に出力する。
また、制御手段30は、番組管理サーバ11における各機能構成全体の制御を行う。具体的には、制御手段30は、入力手段21により入力されたユーザからの入力情報に基づいて番組生成手段24により番組を生成させたり、番組提示装置12からの問い合わせに対して検索手段26により検索させたり、得られた回答から対話生成手段25により対話データを生成させたり、生成された対話データを送受信手段29により問い合わせのあった番組提示装置12に出力させる等の制御を行う。
更に、制御手段30は、視聴状態管理手段27により視聴状態を管理させたり、対話管理手段28により他の番組提示装置12の対話シーンに参加するか否かの問い合わせ情報を生成したり、また参加要求があった場合に参加する側と参加される側とで対応する対話データを送信させる等の処理を制御する。
<視聴状態情報のデータ例>
次に、上述した蓄積手段23に視聴状態管理等において格納されるデータ例について図を用いて説明する。図3は、視聴状態管理等において主に使用されるデータ例を示す図である。なお、図3(a)はユーザ基本情報のデータを示し、図3(b)は番組接続状態情報のデータの一例を示す図である。
図3(a)に示すユーザ基本情報のデータ項目としては、例えば各ユーザ(視聴者)を識別するための識別情報であるUID「(User ID)」、「GID(Group ID)」、「PASSWORD」、「ADDRESS」、「対話シーン送信」等により構成される。
「UID」は、各番組提示装置12毎に付与されていてもよく、また1つの番組提示装置に複数の視聴者が共有で使用する場合には、各視聴者(ユーザ毎)に割り振られていてもよい。また、ユーザ登録を行う場合には、事前に「UID」毎にどのグループに属するかの情報を「GID」に設定する。なお、このGIDは、1又は複数設定することができ、任意に変更、追加、削除等の編集を行うことができる。上述した「GID」は、現在ある視聴者が視聴している番組の番組情報や対話情報を他のどの視聴者に送信するかを選定する際に用いられる。
また、「PASSWORD」には、実際にそのユーザが番組提示装置12を使用しているか、すなわち番組管理サーバ11へのアクセス制御を行うためのパスワードが格納される。更に、「ADDRESS」には、番組管理サーバ11から所定の番組提示装置12に通信ネットワーク13を介して接続するための識別情報としてアドレス情報が格納される。具体的には、IPアドレス(グローバルアドレスやLAN(Local Area Network)におけるローカルアドレスを含む)や、MAC(Media Access Control)アドレス、コンピュータ名、他の固有の情報等が格納される。
また、「対話シーン送信」は、番組管理サーバ11から他の番組提示装置12における他人の対話シーンを送信させるか否かの情報を番組提示装置12毎に設定した値が格納される。これにより、他人の対話シーンを見たくない視聴者には送らないようにすることができる。例えば、本実施形態では、番組提示装置12毎に他人の対話シーンを視聴するか否か(ON(視聴する)/OFF(視聴しない))を設定することができる。なお、この場合、ON/OFFに限定されず、例えばYES/NO等の識別情報を用いてもよい。
なお、図3(a)に示すユーザ基本情報のデータ項目としては、上述したデータ項目に限定されることはなく、例えばそのユーザの性別、年齢、ユーザの好きな番組のジャンル等の嗜好情報等が蓄積されていてもよい。これらの情報を有することでグルーピングするための目安にすることができ、ユーザの目的に対応したグルーピングを行うことができる。なお、グルーピング(GID)については、管理者側で設定してもよく、また視聴者側で設定してもよい。
更に、図3(a)に示すユーザ基本情報のデータ項目として、他人の対話シーンに参加する際に画面上に登場させるアバター(予め設定された髪形や、服、靴等のアイテムを組み合わせたキャラクタ)等が設定されていてもよい。
次に、図3(b)に示す番組接続状態情報のデータ項目としては、例えば、「UID」、「GID」、「番組情報」、「再生時間情報」、「参加視聴者情報」、「対話対象」等により構成される。
ここで、「番組情報」とは、実際に視聴中の番組がどのような番組であるかを示す番組識別情報が格納される。例えば、番組のタイトルや番組毎に割り振られたGコード情報等の識別情報等が格納される。
また、「再生時間情報」は、現在あるユーザが視聴している番組が何時からどの番組を見ているかを示す番組再生情報として番組再生時間が格納される。この番組再生情報としては、番組の再生開始時間や、番組提示装置12から送られてくる再生中の時間情報又はその番組の残り再生時間等が格納される。
また、「参加視聴者情報」は、ある視聴者が視聴している番組に参加した参加者を識別するための情報が格納される。具体的には、例えば図3(b)に示すように、「UID」がA001のユーザが視聴している番組(QUIZ−A)には、現在、C001、UF020の2名が参加していることがわかる。なお、「参加視聴者情報」は、上述した対話管理手段28により設定される。
また、「対話対象」は、番組に参加した視聴者が、出演者に向けての対話であるか、又はユーザ(ユーザが複数いる場合には、どのユーザに対しての対話であるかの情報も含む)に向けての対話であるかの情報を格納する。つまり、図5(b)では、A001の対話シーンに参加しているC001、UF020は、出演者に対しての対話に参加していると判断することができる。
上述したデータを有することにより、番組管理サーバ11は、ネットワーク上に存在する他のユーザと一緒に出演者と対話したり、ユーザ同士が対話したり、他のユーザと出演者との対話のやり取りを視聴することができる等、より高精度な対話コミュニケーションが可能となる。
<番組提示装置12:機能構成>
次に、番組提示装置12における機能構成例について図を用いて説明する。図4は、番組提示装置の機能構成の一例を示す図である。図4に示す番組提示装置12は、入力手段41と、出力手段42と、蓄積手段43と、番組生成手段(コンテンツ生成手段)44と、対話生成手段45と、切替制御手段46と、再生手段47と、検索手段48と、参加管理手段49と、送受信手段50と、制御手段51とを有するよう構成されている。
入力手段41は、ユーザ(視聴者)等からの番組再生や対話シーンに移行するための問い合わせ、他の対話シーンへの参加や、他からの番組参加要求に対する
応答等の入力を受け付ける。なお、入力手段41は、例えばキーボードやマウス等のポインティングデバイス、マイク等の音声入力インタフェイス等からなる。
また、出力手段42は、入力手段41により入力された指示内容や、指示内容に基づいて再生された番組、対話シーン等の内容を表示したり、音声出力する。なお、出力手段42は、ディスプレイやスピーカ等からなる。
また、蓄積手段43は、台本、番組制作エンジン、素材データが蓄積されている。また、蓄積手段43は、番組生成手段44により生成される番組TVMLスクリプト、対話シーン生成手段45により生成される対話TVMLスクリプト、対話応答用辞書(レスポンススクリプト)等が蓄積される。なお、蓄積手段43は、蓄積された各種データを検索することができるように体系的に構成されている。
番組生成手段44は、番組管理サーバ11から送られた台本、番組制作エンジン、素材データ等の番組生成用のデータに基づいて番組再生用の番組TVMLスクリプトを生成する。なお、番組生成手段44は、番組TVMLスクリプトとして、番組セットアップ用のTVMLスクリプトと、番組内容が記述された番組内容スクリプトとを生成する。なお、番組セットアップ用のTVMLスクリプトとは、番組としてどのようなスタジオセット、小道具、照明、出演者(出演者同士の関係(性別、年齢、性格、職業(歌手、コメンテータ、コメディアン等)も含む)、音声を用いるか等の番組の初期設定情報を指定するTVMLスクリプトが記述されている。また、番組生成手段44は、番組として生成されたTVMLスクリプトを切替制御手段46に出力する。
対話生成手段45は、視聴者からの対話内容に基づいて、蓄積手段43から対応する対話生成データを抽出し、抽出したデータから対話シーン用の台本としてTVMLスクリプト(対話TVMLスクリプト)を生成する。なお、対話TVMLスクリプトは、視聴者からの問い合わせに対する回答等を対話形式で出力するための内容が具体的に記述されたスクリプトである。
なお、蓄積手段43に蓄積される対話応答用辞書等には、視聴中の番組とは直接関係のない一般的な事項について応答を記載した対話APEスクリプトも蓄積されている。したがって、対話生成手段45は、多数のスクリプトから適切なスクリプトを用いて対話TVMLスクリプトを生成することができる。
なお、対話生成手段45には、対話シーンへの切り替え時に再生手段47にて再生され、出力手段42にて表示出力されている番組のリアルタイムTVMLスクリプトが再生手段47により入力されてもよい。したがって、対話生成手段45は、視聴者からの割込みトリガーがあった時点のリアルタイムTVMLスクリプトを用いて割込み時点の番組シーンに適合する演出を付加した対話TVMLスクリプトを生成することができる。
ここで、対話生成手段45は、後述する参加管理手段49において、他の番組提示装置12の対話シーンに参加する場合には、番組管理サーバ11から得られるその番組に関連する対話データを取得し、その内容に対応させて割込みを行う対話シーン(割込み対話シーン)を生成する。
また、対話シーンを画面に表示させる際には、参加する側と参加される側とで別々の対話画面を生成する。このとき、画面にユーザとして表示させるアバター(キャラクタ)等を予め設定しておき、そのアバターを画面上に登場させることで、対話シーンへの参加を表現する。このように、参加する側と参加される側とでそれぞれに対応する画面を出力することで、対話シーンにおいて効果的な演出を実現することができる。なお、上述した対話シーンの具体例については後述する。
切替制御手段46は、視聴者から割込みトリガーを契機として、番組生成手段44により生成された番組TVMLスクリプトと、対話生成手段45により生成された対話TVMLスクリプトとを切り替えて、何れかのスクリプトを再生手段47に出力する。
例えば、切替制御手段46は、視聴者が入力手段41により番組出演者へ呼びかけた場合に、再生手段47に出力する信号を番組TVMLスクリプトから対話TVMLスクリプトに切り替える。また、切替制御手段46は、視聴者の入力が所定時間以上ない場合や予め設定された終了を行うための指示が入力手段41により入力された場合等を契機として、再生手段47に出力する信号を対話TVMLスクリプトから番組TVMLスクリプトに切り替える。
再生手段47は、番組生成手段44により生成された番組TVMLスクリプト又は対話生成手段45により生成された対話TVMLスクリプトを再生する。また、再生手段47は、視聴者から割込み入力があった時点において再生中のコンテンツのTVMLスクリプトを抽出し、抽出したリアルタイムTVMLスクリプトを対話生成手段45に出力する。
なお、再生手段47は、TVMLプレーヤ等の機能を有していてもよい。TVMLプレーヤとは、TVMLで記述されたスクリプトを読み取り、番組の映像や音声をリアルタイムに出力することができるソフトウェアである。また、TVMLプレーヤは、スタジオセットをリアルタイムCGで生成し、CGスタジオセットの中に登場する番組司会者や出演者等のCGキャラクタがTVMLスクリプト中に記述された台詞を合成音声で喋り、演技するところを表示する機能を有する。
また、TVMLプレーヤは、その他にも動画再生、文字フォント及び画像によるタイトル表示やスーパーインポーズ、オーディオデータファイル再生によるBGM再生、合成音声によるナレーション等をリアルタイムに生成し、番組の映像、音声を作成する機能を有する。再生手段47は、これらの機能を用いることで効率的で高精度な番組、及び対話シーンを再生することができる。
検索手段48は、入力手段41から入力された問い合わせの内容に基づいて、蓄積手段43等に蓄積されたデータ群を検索し、対応する回答を抽出する。なお、検索手段48は、蓄積手段43に含まれるデータを検索する際に、問い合わせの内容に含まれる質問や対話内容、音声入力等の入力データに含まれる文字列又はタグ情報から質問部分を生成し、生成された質問部分に基づいて、データの検索を行う。
また、検索手段48は、検索した結果、蓄積手段43に質問部分に対応する回答データが存在しない場合には、番組管理サーバ11に問い合わせを行い、番組管理サーバ11に回答データが存在する場合には、その回答データを取得することもできる。
参加管理手段49は、番組管理サーバ11から送信される他の番組提示装置12に提示されている他人の対話シーンについて参加するか否かを出力手段42により視聴者に提示し、入力手段41により視聴者に入力させ、その入力内容に基づいて参加するか否かを判断する。
また、自らが番組で対話をしている際に、それを見ている視聴者から参加したい旨の情報を受信した場合、その視聴者に参加させるか否かの判断を視聴者に行わせるための指示を画面上に表示し、視聴者にその応答情報を入力させ、その入力内容に基づいて参加させるか否かを判断する。
また、参加管理手段49は、自身の対話シーンに参加している他のユーザや、他の対話シーンに参加しているユーザ情報等を管理する。また、参加管理手段49は、番組管理サーバ11にアクセスし、他人の対話シーンを視聴するか否かを設定することができる。
送受信手段50は、通信ネットワーク13を介して番組管理サーバ11から番組(素材データ、番組制作エンジン、台本データ)や対話シーン(対話データ)に関するデータを受信するための通信インタフェイスである。また、送受信手段50は、番組管理サーバ11に問い合わせ情報を送信し、問い合わせ結果(回答データの有無)や回答があった場合にその回答データを受信する。また、送受信手段50は、他人の対話シーンへの参加要求の送受信や自分の対話シーンへの参加要求等の送受信等を行う。
制御手段51は、番組提示装置12における各機能構成全体の制御を行う。具体的には、制御手段51は、入力手段41による視聴者からの指示に基づいて、番組生成手段44により番組用のTVMLスクリプトを生成させたり、問い合わせ等に基づいて検索手段48に検索させたり、検索により得られた回答データに基づいて対話生成手段45により対話用のTVMLスクリプトを生成させたり、参加管理手段49により他の番組提示装置12との間における対話シーンの参加状態等を管理させる等の制御を行う。
<番組・対話シーン提示の具体例>
次に、番組提示装置12における番組・対話シーン提示の具体例について図を用いて説明する。図5は、本実施形態における番組・対話シーン提示の概要例を示す図である。番組管理サーバ11は、ユーザが視聴する番組を、番組台本、番組内で使用する映像や画像、音楽等といった素材データ、番組を各番組提示装置12−1〜12−nで生成するための番組制作エンジンの形で各番組を管理し、例えば各番組提示装置12からのリクエストに応じた番組等を対応する番組提示装置12のTVブラウザ(再生手段47)等に送信する。
また、番組管理サーバ11は、各番組提示装置12−1〜12−nからのユーザ入力(対話内容)に対し、対話シーンを生成するための台本(対話生成データ)を生成し、各番組提示装置12−1〜12−nに出力する。更に、番組管理サーバ11は、TVブラウザにより提示されている番組の視聴状態、対話情報等を管理する。
各番組提示装置12−1〜12−nが設けるTVブラウザは、TVサーバである番組管理サーバ11にリクエストを行って取得した番組データから番組を生成し再生することでユーザ(視聴者)に提示する。
また、TVブラウザは、自分が提示している番組の視聴状態、及び自らが番組再生中に行う対話シーンにおけるユーザの入力内容等を対話情報としてTVサーバに送信する。更に、TVブラウザは、TVサーバから他のTVブラウザにおける他人の対話シーンの情報を、通信ネットワーク13を介してダウンロードすることもできる。
次に、対話への割込み動作について具体的に説明する。なお、以下に示す説明では、図5に示すように番組提示装置12−1,12−2,・・・,12−nのTVブラウザにそれぞれ同一の番組が表示されており、各ユーザ61−1,61−2,・・・,61−nは、画面に表示された番組を視聴している。このとき、例えば番組提示装置12−1(識別情報をA001とする)が対話シーンに切り替わった場合、番組提示装置12−2(識別情報をC001とする)との間における対話生成の例について説明する。
図6は、対話生成における参加要求の画面表示の一例を示す図である。番組提示装置12−1で対話シーンが生成されると、番組提示装置12−2には図6(a)に示すように、図3に示すように同一グループ(G−1)である番組提示装置12−2にも対話シーンが画面に表示され、更に対話参加ボタン62が画面に表示される。
なお、対話参加ボタン62は、図6(a)に示すように対話シーン再生画面上に設けられていてもよく、また別画面、別フレーム等により表示させてもよい。更に、参加するか否かの選択は、図6(a)に示すようにボタン等を設けてもユーザ61−2が選択するか否かにより決定してもよく、また音声により「参加します」、「参加しません」等と入力手段41を用いて入力してもよい。更に、対話に参加する場合に、番組出演者に向けての対話であるか、ユーザ61−1に向けての対話であるかを設定させるために複数のボタンを設け、その中から選択させるようにしてもよい。
ここで、例えば視聴者62−2がこの対話シーンに参加する場合には、ユーザ62−2は入力手段等を用いて対話参加ボタン62を選択(クリック)する。このとき、番組提示装置12−2は、対話参加要求をユーザ情報(C001)等と共に番組管理サーバ11に送信する。番組管理サーバ11は、まず、図3(a)に示すユーザ基本情報から番組提示装置12−1と番組提示装置12−2が同一のグループに属しているか否かを判断する。
番組管理サーバ11は、判断の結果、番組提示装置12−1及び12−2が同一グループである場合には、その時点で、参加する側用の割込み対話シーンのデータを生成し、対話データを番組提示装置12−2に出力する。番組提示装置12−2は、番組管理サーバ11からの割込み対話シーンを再生して出力することで、他人の対話シーンへ参加することができる。なお、番組管理サーバ11は、番組提示装置12−1にも参加される側用の割込み対話シーンのデータを生成して出力する。
また、番組管理サーバ11は、番組提示装置12−2が参加する前に、番組提示装置12−1に参加させてもよいかを確認してもよい。この場合には、番組提示装置12−2から参加要求があった旨と、参加させてよいかの確認を行わせるための参加要求情報を番組提示装置12−1に送信する。
番組提示装置12−1には、図6(b)に示すように、あるユーザから参加要求があった旨と、参加させてよいかの確認を行わせるための問い合わせ画面63が提示される。なお、この場合には、現在実行している対話シーンは、一時的に中断する。
ここで、問い合わせ画面63には、参加要求に対して参加させるか否かを視聴者61−1に判断させるための選択ボタン64−1(YES),64−2(NO)を有し、何れかを選択させることにより、参加の許可又は拒否が決定される。
ここで、番組提示装置12−1は、YESボタン(選択ボタン64−1)が選択された場合には、後述する各対話対象に対応する対話シーンを生成し、番組提示装置12−1及び12−2のそれぞれに対応する画面を表示する。
具体的には、番組提示装置12−2には、図6(c)に示すように、要求結果画面65が表示される。なお、図6(c)の例では、「参加することができません。」という要求結果が表示されている。この場合には、番組提示装置12−1では、図6(b)に示す問い合わせ画面63で、NOボタン(選択ボタン64−2)が選択されたことになる。なお、図6(b)に示す問い合わせ画面63で、YESボタン(選択ボタン64−1)が選択された場合には、対話対象に応じた画面が生成される。
ここで、図7は、本実施形態における対話シーンの表示画面の一例を示す図である。なお、図7(a)は、他人が出演者と対話している場合の画面例(画面70−1〜70−3)を示し、図7(b)は、自分が対話している場合に他人が参加してきた場合の画面例(画面70−4〜70−6)を示している。
まず、図7(a)において、画面70−1に示すようにある視聴者60−1がある番組を見ている場合、番組にはある出演者71が表示されているものとする。このとき、同じタイミング(時刻)で同じ番組を見ているユーザ(他の番組提示装置)が他に存在するものとし、これらのユーザは同一のユーザグループとして番組管理サーバ11で管理されているものとする。
このとき、同一のユーザグループ内のあるユーザ(他人)が対話シーンへ移行すると、番組提示装置12には、図7(a)の画面70−2に示すように視聴中の番組に対話を行っているユーザのアバター72が表示される。このアバター72は、出演者71と対話している。この場合、視聴者はこの対話シーンを視聴することになるが、実際に番組の出演者71と対話している他の番組提示装置12には、対応するアバター72は表示されない。したがって、それぞれ異なる画面が表示される。なお、このアバター72の設定は、ユーザが事前に設定してもよく、番組管理サーバ11や番組提示装置12において、任意に設定してもよい。
また、これらの情報は、同時に対話を行っているユーザに対する対話シーン生成データが、番組管理サーバ11から同一ユーザグループに属する番組提示装置12に対してマルチキャスト配信される。また、対話が終了すると、画面70−3に示すように対話のため一時停止していた番組がその続きから再開される。
また、図7(b)に示すように、自分が対話している際に、他人が自分に対して対話するために参加してきた場合には、画面70−5に示すように出演者71と参加者のアバター72がこちらを向くことになる。これにより、それぞれに対して対話を行うことができる。なお、これらの情報は、同時に対話を行っているユーザに対する割込み対話シーン生成データが、番組管理サーバ11から同一ユーザグループに属する番組提示装置12に対してマルチキャスト配信される。
このとき、参加する側と参加される側とでそれぞれ対応する割込み対話シーンが生成される。これにより、それぞれの番組提示装置12における対話シーンにおいて、効果的な演出を実現することができる。
また、対話が終了すると、画面70−6に示すように対話のため一時停止していた番組がその続きから再開される。なお、異なるタイミングで同一の番組を見ているユーザや、ユーザグループが異なるユーザ、他人の対話シーンを見ない設定にしているユーザは、対話シーンは表示されず、そのまま本編の番組が進行することになる。
上述したように、これまで対話シーンは、例えば番組の出演者と対象のユーザとの間だけの閉じた対話だけであったものが、割込み対話シーンを生成することにより、ネットワーク上に存在する他のユーザと一緒に出演者と対話したり、ユーザ同士が対話したり、他のユーザと出演者との対話のやり取りを視聴する等、より高精度な対話コミュニケーションを実現することができる。
したがって、複数の視聴者が参加可能な視聴者参加型番組が可能となる。また、対話イベントを発生させなくても番組に関するより多くの情報を他人の対話シーンを視聴することで取得することができる。
ここで、上述した番組管理サーバ11及び番組提示装置12は、上述した専用の装置構成により本発明におけるコンテンツ提供を行うこともできるが、各構成における処理をコンピュータに実行させることができる実行プログラムを生成し、例えば、汎用のパーソナルコンピュータ、サーバ等にプログラムをインストールすることにより、コンテンツの管理処理、提示処理を実現することができる。
<ハードウェア構成>
ここで、本発明における実行可能なコンピュータのハードウェア構成例について図を用いて説明する。図8は、本発明におけるコンテンツの管理処理、提示処理が実現可能なハードウェア構成の一例を示す図である。
図8におけるコンピュータ本体には、入力装置81と、出力装置82と、ドライブ装置83と、補助記憶装置84と、メモリ装置85と、各種制御を行うCPU(Central Processing Unit)86と、ネットワーク接続装置87とを有するよう構成されており、これらはシステムバスBで相互に接続されている。
入力装置81は、ユーザが操作するキーボード及びマウス等のポインティングデバイスを有しており、ユーザからのプログラムの実行等、各種操作信号を入力する。出力装置82は、本発明における処理を行うためのコンピュータ本体を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU86が有する制御プログラムによりプログラムの実行経過や結果等を表示することができる。
ここで、本発明において、コンピュータ本体にインストールされる実行プログラムは、例えばCD−ROM等の記録媒体88等により提供される。プログラムを記録した記録媒体88は、ドライブ装置83にセット可能であり、記録媒体88に含まれる実行プログラムが、記録媒体88からドライブ装置83を介して補助記憶装置84にインストールされる。
補助記憶装置84は、ハードディスク等のストレージ手段であり、本発明における実行プログラムや、コンピュータに設けられた制御プログラム等を蓄積し必要に応じて入出力を行うことができる。
メモリ装置85は、CPU86により補助記憶装置84から読み出された実行プログラム等を格納する。なお、メモリ装置85は、ROM(Read Only Memory)やRAM(Random Access Memory)等からなる。
CPU86は、OS(Operating System)等の制御プログラム、メモリ装置85により読み出され格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御して各処理を実現することができる。また、CPU86は、プログラムの実行中に必要な各種情報を補助記憶装置84から取得することができ、またCPU86は、処理結果等を格納することもできる。
ネットワーク接続装置87は、通信ネットワーク等と接続することにより、実行プログラムを通信ネットワークに接続されている他の端末等から取得したり、プログラムを実行することで得られた実行結果又は本発明における実行プログラム自体を他の端末等に提供することができる。
上述したようなハードウェア構成により、特別な装置構成を必要とせず、低コストで効率的にコンテンツの管理処理、提示処理を実現することができる。また、プログラムをインストールすることにより、コンテンツ管理処理、提示処理を容易に実現することができる。
<コンテンツ管理処理、コンテンツ提示処理例>
次に、本発明における実行プログラムによるコンテンツ提示処理手順について番組管理サーバ11におけるコンテンツ管理処理と、複数の番組提示装置の一例としての番組提示装置12−1,12−2におけるコンテンツ提示処理とをシーケンスチャートを用いて説明する。なお、以下の処理の説明では、対話型コンテンツの一例として「番組」を用いているが本発明においては特に限定されない。
図9は、本発明におけるコンテンツの管理及び提示処理の一例を示すシーケンスチャートである。まず、番組管理サーバ11は、番組提示装置12−1,12−2に提供する番組を生成する(S01)。なお、番組は、既に生成されているものや外部装置から取得した番組を用いてもよい。また、この番組データには、番組台本、素材、番組制作エンジン等が含まれる。
番組管理サーバ11は、生成した番組を番組提示装置12−1及び番組提示装置12−2に送信する(S02、S03)。番組提示装置12−1及び番組提示装置12−2は、番組管理サーバ11からの番組データを受信し、番組を再生する(S04、S05)。ここで、S04、S05により処理される番組の再生は、番組提示装置12−1及び12−2の処理性能の違い等により誤差はあるものの、ある程度同時刻で再生される。つまり、本発明における同時刻とは、多少の誤差範囲(例えば、数ミリ秒〜数十秒等)を含む。
ここで、番組提示装置12−1は、視聴中の番組に関する視聴状態(番組名、再生時間等)の情報を番組管理サーバ11に送信する(S06)。また同様に、番組提示装置12−2も、視聴中の番組に関する視聴状態の情報を番組管理サーバ11に送信する(S07)。番組管理サーバ11では、番組提示装置12−1,12−2から送信された視聴情報を蓄積する(S08)。
ここで、番組提示装置12−1で対話指示があると、対話シーンを生成し(S09)、また生成された対話シーンの内容と、ユーザ情報を番組管理サーバ11に出力する(S10)。番組管理サーバ11は、番組提示装置12−1から送信されたユーザ情報に基づいて、予め蓄積された複数のユーザ情報の中から予め設定されたユーザグループ等に基づいて、S10に得られた番組提示装置12−1の対話シーンを送信する他のユーザ(送信対象)を選定する(S11)。
ここで、例えば番組提示装置12−2が送信対象であるとすると、番組管理サーバ11は、その対話シーンのデータを番組提示装置12−2に送信する(S12)。番組提示装置12−2は、送信された対話シーンのデータから対話シーンを生成する(S13)。
その後、番組提示装置12−2,12−2は、それぞれ番組の再生から対話シーンへの切り替え制御が行われ(S14,S15)、その後、対話シーンを再生し(S16,S17)、それぞれの視聴状態や対話情報を番組管理サーバ11に送信する(S18、S19)。なお、このときの各番組提示装置12−1,12−2で再生される対話シーンは、それぞれ参加する側と参加される側の主体・客体関係であるため、上述したようにそれぞれの状態に対応した異なる画面が表示される。
また、対話シーンの再生中は、番組提示装置12−1における対話の内容がリアルタイムで番組管理サーバ11に送信され、その対話シーンが番組提示装置12−2に送信されてS17における再生が行われる。
次に、番組提示装置12−2は、対話参加要求をする場合、その旨を示す情報を番組管理サーバ11に送信する(S20)。番組管理サーバ11は、送信された情報から参加要求情報を生成し(S21)、生成した参加要求情報を番組提示装置12−1に送信する(S22)。
ここで、番組提示装置12−1は、参加要求があったことを示す画面を生成して表示し(S23)、他の視聴者を対話シーンに参加させてもよいかを視聴者に判断させる。
ここで、番組提示装置12−1は、参加許可の判断をしたとすると、その旨の制御情報(参加許可情報)を番組管理サーバ11に送信する(S24)。番組管理サーバ11は、割込み用の対話シーンを生成する(S25)。なお、S25の処理では、参加する側と参加される側とでそれぞれ対応する割込み対話データが生成される。番組管理サーバ11は、S25の処理が終了後、番組提示装置12−1,12−2にそれぞれ対応する対話データを送信する(S26、S27)。
番組提示装置12−1,12−2は、番組管理サーバ11から得られるそれぞれ対応する対話データから対話シーンを再生する(S28,S29)。これにより、それぞれ対応した対話シーンが画面に表示され、各視聴者に視聴させることができる。
なお、S28,S29の対話シーンの再生時には、お互いの対話情報が番組管理サーバ11にリアルタイムに送信され、番組管理サーバ11でそれぞれの対話シーンを生成して、相手の番組提示装置12に送信され、再生されることになる。
なお、上述したコンテンツ提示処理において、番組提示装置12−1は、S23の参加要求表示があった際に、参加を拒否した場合にはS24にてその旨を示す制御信号(参加拒否情報)を番組管理サーバ11に送信する。また、番組管理サーバ11は、S25の処理として参加ができない旨の情報を生成して、番組提示装置12−2に送信する。番組提示装置12−2には、上述した図6(c)に示すような画面を表示することで視聴者に通知し、S14の対話シーンがそのまま再生される。
上述した処理手順により、高精度な対話コミュニケーションを実現することができる。また、コンテンツ管理プログラム、コンテンツ提示プログラムによりコンテンツの管理処理、提示処理を容易に実現することができる。また、実行プログラムをコンピュータにインストールすることにより、容易に他の端末でも本発明におけるコンテンツの管理処理、提示処理を実現することができる。
上述したように本発明によれば、高精度な対話コミュニケーションを実現することができる。つまり、これまで対話シーンは、例えば番組の出演者と対象のユーザとの間での閉じた対話だけであったものが、割込み対話シーンを生成することにより、ネットワーク上に存在する他のユーザと一緒に出演者と対話したり、ユーザ同士が対話したり、他のユーザと出演者との対話のやり取りを視聴する等、より高精度な対話コミュニケーションを実現することができる。
したがって、複数の視聴者が参加可能な視聴者参加型番組が可能となる。また、対話イベントを発生させなくても番組に関するより多くの情報を他人の対話シーンを視聴することで取得することができる。
また、本発明におけるコンテンツは、番組に限定されず、音楽、映画、テキスト情報等、あらゆるコンテンツに適用することができる。
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。