(57)【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の視聴端末に提供する参加型コンテンツを管理する参加型コンテンツ管理装置において、
前記視聴端末から得られる前記参加型コンテンツへの参加要求に対して、前記視聴端末に対する識別情報と前記参加型コンテンツに参加させる仮想キャラクタとを割り当てるユーザ管理手段と、
前記参加型コンテンツに前記仮想キャラクタを参加させたスクリプトを生成するスクリプト生成手段と、
前記スクリプト生成手段により生成されたスクリプトから映像コンテンツを生成する映像生成手段と、
前記ユーザ管理手段により得られる識別情報と、前記映像生成手段により得られる映像コンテンツと、前記スクリプト生成手段により得られるスクリプトとを前記参加要求のあった視聴端末に配信する配信手段とを有し、
前記ユーザ管理手段は、
前記参加型コンテンツ毎に予め設定されている前記仮想キャラクタの配置可能エリアに対し、前記仮想キャラクタの参加順序及び人数に応じて、前記参加型コンテンツに参加している仮想キャラクタに対する配置位置を設定し、
前記参加型コンテンツに参加している仮想キャラクタの発言又は動作に応じて、該発言又は動作をした仮想キャラクタの配置位置を変更させるか、又は前記仮想キャラクタを前記参加型コンテンツから退場させることを特徴とする参加型コンテンツ管理装置。
【請求項２】
前記ユーザ管理手段は、
前記配置可能エリアに、前記参加型コンテンツに参加させる仮想キャラクタを配置する基準となる配置線を設定し、設定された配置線に対する配置人数の上限値と、現在参加している仮想キャラクタの人数とに基づいて、前記参加型コンテンツに参加させる仮想キャラクタの配置位置を設定することを特徴とする請求項１に記載の参加型コンテンツ管理装置。
【請求項３】
前記ユーザ管理手段は、
前記視聴端末から得られる前記参加型コンテンツからの退場要求に対して、前記参加型コンテンツに参加している前記視聴端末に割り当てた仮想キャラクタを削除し、参加している残りの仮想キャラクタの配置位置を変更することを特徴とする請求項１又は２に記載の参加型コンテンツ管理装置。
【請求項４】
請求項１乃至３の何れか１項に記載の参加型コンテンツ管理装置からネットワークを介して提供される参加型コンテンツを視聴する視聴端末において、
前記参加型コンテンツ管理装置に対して前記参加型コンテンツへの参加要求又は前記参加型コンテンツからの退場要求を行うと共に、参加時に前記参加型コンテンツ管理装置から割り当てられた仮想キャラクタの参加状態を管理する参加状態管理手段と、
前記参加型コンテンツ管理装置で設定された前記参加型コンテンツの映像と、前記映像の視点と異なる視点の映像とから、視聴対象の映像を選択する映像内容選択手段と、
前記映像内容選択手段により選択された映像内容に対応させて前記参加型コンテンツ管理装置から得られるスクリプトを変更し、変更されたスクリプトを用いて前記視聴対象の映像を生成する映像生成手段とを有することを特徴とする視聴端末。
【請求項５】
前記映像内容選択手段は、
前記参加型コンテンツ管理装置で設定された視点の映像、前記仮想キャラクタの視点に対応した映像、及び前記視聴端末のユーザが指定した位置からの映像のうち、少なくとも１つの映像を選択することを特徴とする請求項４に記載の視聴端末。
【請求項６】
前記参加状態管理手段は、
前記参加型コンテンツに参加している前記参加型コンテンツ管理装置から割り当てられた仮想キャラクタに対する発言内容又は動作内容を含む参加者制御情報を設定し、設定された参加者制御情報を前記参加型コンテンツ管理装置に送信することを特徴とする請求項４又は５に記載の視聴端末。
【請求項７】
コンピュータを、請求項１乃至３の何れか１項に記載された参加型コンテンツ管理装置として機能させるための参加型コンテンツ管理プログラム。
【請求項８】
コンピュータを、請求項４乃至６の何れか１項に記載された視聴端末として機能させるための視聴プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、参加型コンテンツ管理装置、視聴端末、参加型コンテンツ管理プログラム、及び視聴プログラムに係り、特にユーザにコンテンツの視聴及び参加への意欲を向上させるための参加型コンテンツ管理装置、視聴端末、参加型コンテンツ管理プログラム、及び視聴プログラムに関する。
【背景技術】
【０００２】
従来では、映像コンテンツ内に表示されるＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）キャラクタやカメラワーク等の動作及び映像的効果等を、各動作単位でＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）のキーボードやコントローラ等に割り当てておく仕組みが存在する。これにより、ユーザ（利用者）は、自分のタイミングで、予め所望の動作を登録してあるキーボードやコントローラ等を操作し、ＣＧキャラクタの動作やカメラワーク等を制御した映像を出力することができる。
【０００３】
また従来では、上述した機能を、ネットワークを介して構築し、ユーザが離れた場所にいても、複数のユーザがコンテンツに出演するＣＧキャラクタの制御やカメラワーク、映像スイッチング等を分担して行うことを可能とする仕組みが存在する（例えば、特許文献１参照）。この仕組みを使うことで、各々が離れた場所にいるユーザ同士が協調して、１つの映像コンテンツを制作することができる。
【０００４】
なお、特許文献１に示す技術では、複数の演出モジュールをネットワーク上のクライアントに分散して配置し、それぞれに役割を指定し、各クライアントに役割別に送信された台本記述を受け取り、所定の演出をさせた後、その結果を返信させ、各演出モジュールに独自の演出方法を持たせることによって、役割毎に個性化された演出を行うことができるものである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２３１５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述したような従来手法では、ユーザ同士が離れた場所にいながら、ネットワークを介して、協調して番組制作をすることができる。しかしながら、従来手法では、制作している番組に対して、例えば非同期に参加や退場をさせたり、少人数（例えば、２，３人）や多人数（例えば、１０人以上）を含めた複数による参加や自分目線での番組参加等、ユーザ側の立場で参加意欲を向上させるような機能が設けられていなかった。
【０００７】
例えば、制作番組に対する非同期の参加や退場について、従来の仕組みは、番組制作前に各々のユーザの役割が予め設定され、番組制作開始時から終了時まで、決まった役割動作をする必要があった。したがって、例えば番組開始時から暫くの間は、単に番組を視聴し、途中から番組に参加し、更に途中で番組参加をやめる（退場する）といった動的な番組参加又は退場ができなかった。
【０００８】
また、従来の仕組みは、例えば少人数の参加等は実現できたとしても、多人数による参加は実現されておらず、また番組の途中で参加者が動的に増減するような仕組みは存在していなかった。
【０００９】
以上のようなことから、従来手法においては、ユーザ側からの立場で視聴意欲や番組参加意欲等のモチベーションを向上させるような仕組みは存在していなかった。
【００１０】
本発明は、上述した問題点に鑑みなされたものであり、ユーザにコンテンツの視聴及び参加への意欲を向上させるための参加型コンテンツ管理装置、視聴端末、参加型コンテンツ管理プログラム、及び視聴プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【００１２】
本発明は、ネットワークに接続された複数の視聴端末に提供する参加型コンテンツを管理する参加型コンテンツ管理装置において、前記視聴端末から得られる前記参加型コンテンツへの参加要求に対して、前記視聴端末に対する識別情報と前記参加型コンテンツに参加させる仮想キャラクタとを割り当てるユーザ管理手段と、前記参加型コンテンツに前記仮想キャラクタを参加させたスクリプトを生成するスクリプト生成手段と、前記スクリプト生成手段により生成されたスクリプトから映像コンテンツを生成する映像生成手段と、前記ユーザ管理手段により得られる識別情報と、前記映像生成手段により得られる映像コンテンツと、前記スクリプト生成手段により得られるスクリプトとを前記参加要求のあった視聴端末に配信する配信手段とを有し、前記ユーザ管理手段は、前記参加型コンテンツ毎に予め設定されている前記仮想キャラクタの配置可能エリアに対し、前記仮想キャラクタの参加順序及び人数に応じて、前記参加型コンテンツに参加している仮想キャラクタに対する配置位置を設定し、前記参加型コンテンツに参加している仮想キャラクタの発言又は動作に応じて、該発言又は動作をした仮想キャラクタの配置位置を変更させるか、又は前記仮想キャラクタを前記参加型コンテンツから退場させることを特徴とする。
【００１３】
また本発明は、上述した参加型コンテンツ管理装置からネットワークを介して提供される参加型コンテンツを視聴する視聴端末において、前記参加型コンテンツ管理装置に対して前記参加型コンテンツへの参加要求又は前記参加型コンテンツからの退場要求を行うと共に、参加時に前記参加型コンテンツ管理装置から割り当てられた仮想キャラクタの参加状態を管理する参加状態管理手段と、前記参加型コンテンツ管理装置で設定された前記参加型コンテンツの映像と、前記映像の視点と異なる視点の映像とから、視聴対象の映像を選択する映像内容選択手段と、前記映像内容選択手段により選択された映像内容に対応させて前記参加型コンテンツ管理装置から得られるスクリプトを変更し、変更されたスクリプトを用いて前記視聴対象の映像を生成する映像生成手段とを有することを特徴とする。
【００１４】
また本発明は、コンピュータを、請求項１乃至３の何れか１項に記載された参加型コンテンツ管理装置として機能させるための参加型コンテンツ管理プログラムである。
【００１５】
また本発明は、コンピュータを、請求項４乃至６の何れか１項に記載された視聴端末として機能させるための視聴プログラムである。
【発明の効果】
【００１６】
本発明によれば、ユーザにコンテンツの視聴及び参加への意欲を向上させることができる。
【図面の簡単な説明】
【００１７】
【図１】本実施形態における番組参加型視聴システムの概略構成例を示す図である。
【図２】本実施形態における参加型コンテンツ管理装置の機能構成の一例を示す図である。
【図３】本実施形態における視聴端末の機能構成の一例を示す図である。
【図４】番組参加時における処理手順の一例を示すフローチャートである。
【図５】ＣＧキャラクタを出演させるためのスクリプト生成の処理手順の一例を示すフローチャートである。
【図６】本実施形態におけるスクリプトの具体例を示す図である。
【図７】ＣＧキャラクタの参加状態管理処理手順（参加時）の一例を示すフローチャートである。
【図８】参加によるＣＧキャラクタの増加時の配置例を示すための図である。
【図９】ＣＧキャラクタが参加している画面例を示す図である。
【図１０】本実施形態におけるカメラ選択手法の具体例について説明するための図である。
【図１１】カメラ選択に対応するカメラショット生成について説明するための図である。
【図１２】ＣＧキャラクタ目線でのカメラショット生成処理手順の一例を示すフローチャートである。
【図１３】ＣＧキャラクタの参加状態管理処理手順（退場時）の一例を示すフローチャートである。
【図１４】ＣＧキャラクタの再配置処理手順の一例を示すフローチャートである。
【図１５】退場によるＣＧキャラクタの減少時の配置例を示すための図である。
【発明を実施するための形態】
【００１８】
＜本発明について＞
本発明は、例えば放送中の番組等の映像コンテンツに対し、番組の開始や終了のタイミングとは非同期に、ユーザのタイミングで、例えばＣＧによる仮想キャラクタ（以下、ＣＧキャラクタという）等の仮想物体（オブジェクト）等を用いて、その番組への参加（出演）を可能とするものである。
【００１９】
具体的には、本発明は、例えばテレビ番組のような映像コンテンツを制作する際に、視聴者（ユーザ）が視聴中或いは視聴しようとする番組に、仮想的に出演することを可能とするものである。そのため、本発明では、ユーザ本人の代わりにＣＧキャラクタ（ＣＧモデル、アバタ）を番組内に表示させ、ユーザがそのＣＧキャラクタを制御することで実現する。
【００２０】
また本発明では、番組としての映像のみを視聴可能とするだけではなく、例えばＣＧキャラクタの視点やユーザが指定した視点での番組視聴ができるように、ユーザ個別の映像生成を、番組としての映像生成と連携して行う仕組みを構築する。これにより、ユーザの番組への参加感、及び没入感を向上させることを可能とするものである。
【００２１】
以下に、上述したような特徴を有する本発明における参加型コンテンツ管理装置、視聴端末、参加型コンテンツ管理プログラム、及び視聴プログラムを好適に実施した形態について、図面を用いて詳細に説明する。
【００２２】
なお、本実施形態では、映像コンテンツの一例として番組を用いることとし、また番組の制作や提示等に用いられるスクリプトの一例としてＴＶＭＬ（ＴＶ  ｐｒｏｇｒａｍ  Ｍａｋｉｎｇ  Ｌａｎｇｕａｇｅ）を用いることとするが、本発明においてはこれに限定されず、他の映像コンテンツやスクリプトを用いてもよい。なお、ＴＶＭＬでは、例えば、番組台本やＴＶＭＬスクリプト、番組制作エンジン、素材データ等に基づいて番組が生成される。
【００２３】
＜番組参加型視聴システム：概略構成例＞
まず、参加型コンテンツ管理装置と視聴端末とを有する番組参加型視聴システム全体の概略構成例について図を用いて説明する。図１は、本実施形態における番組参加型視聴システムの概略構成例を示す図である。図１に示す番組参加型視聴システム１０は、参加型コンテンツ管理装置１１と、１又は複数の視聴端末１２−１〜１２−ｎ（以下、簡略的に「視聴端末１２」とする場合もある）とを有するよう構成されている。また、参加型コンテンツ管理装置１１と各視聴端末１２−１〜１２−ｎとは、インターネット等に代表される通信ネットワーク１３を用いてデータの送受信が可能な状態で接続されている。
【００２４】
参加型コンテンツ管理装置１１は、各視聴端末１２−１〜１２−ｎに提供する番組（例えば、参加型の映像コンテンツ等）の制作や配信等を行う。また、参加型コンテンツ管理装置１１は、視聴端末１２からの参加要求時に、ユーザに対応する仮想物体としてのＣＧキャラクタの割り当てや、番組内にＣＧキャラクタを参加（出演）させた映像等の生成を行い、生成した番組を視聴端末１２に出力する等の制御を行う。
【００２５】
また、参加型コンテンツ管理装置１１は、視聴端末１２からの退場要求に応じて現在番組に参加（出演）している対象のＣＧキャラクタを退場させる等の制御を行う。
【００２６】
更に、参加型コンテンツ管理装置１１は、各視聴端末１２−１〜１２−ｎの各ユーザが現在どの番組に参加しているか、又は、ユーザ毎に各番組に対して参加資格やＣＧキャラクタに対する動作を制御する権限等があるか否か等を管理することができる。
【００２７】
視聴端末１２は、参加型コンテンツ管理装置１１から提供される番組を再生する。また、視聴端末１２は、視聴している番組に参加したい場合に、その番組への参加要求を参加型コンテンツ管理装置１１に出力する。また、視聴端末１２は、番組に出演している自分のＣＧキャラクタに何かしらの動作や発言をさせたい場合には、対応する動作内容や発言内容等を含む参加者制御情報を生成し、参加型コンテンツ管理装置１１に出力する。なお、参加者制御情報としては、例えば、予め所望の動作を登録してあるキーボードやコントローラ等を操作して、ＣＧキャラクタの動作内容を制御する情報等を生成したり、キーボード等を用いた文字入力やマイク等の音声入力手段を用いた音声入力等により発言内容等を含むことができるが、本発明においてはこれに限定されるものではない。
【００２８】
また、視聴端末１２は、予め所望の動作を登録してあるキーボードやコントローラ等を操作し、番組の演出（例えば、カメラワークや照明等）等を制御することもできる。この場合、カメラワーク等の動作も上述した参加者制御情報に含めることができる。なお、ＣＧキャラクタに対する動作であるか、カメラ等に対する動作であるかは、予め設定された識別情報等を付加しておくことで識別することができる。
【００２９】
更に、視聴端末１２は、現在出演中の番組から自分のＣＧキャラクタ等を退場させる場合に、その退場要求を参加型コンテンツ管理装置１１に出力する。
【００３０】
なお、視聴端末１２としては、一般的な汎用ＰＣであってもよく、その他にも通信ネットワーク１３等を介して所定のサーバやサイト等に接続可能な携帯電話等の携帯端末でもよく、またノート型ＰＣやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）等の携帯情報端末、スマートフォン、ゲーム機器等であってもよい。
【００３１】
ここで、本実施形態において、ユーザ（視聴端末１２）側からサーバ（参加型コンテンツ管理装置１１）側に送信する情報としては、例えば、ユーザ（視聴端末１２）を識別するための識別情報（例えば、ユーザＩＤ等のユーザ情報等）と、ユーザからＣＧキャラクタやカメラワークを制御するための参加者制御情報（ＴＶＭＬスクリプトを含む）、番組視聴要求、参加要求、退場要求等とがある。
【００３２】
また、サーバ側からユーザ側に送信する情報としては、例えばユーザ側からの番組参加要求に対して、割り当てる識別情報（例えば、ユーザＩＤ等のユーザ情報等）や、番組参加させるＣＧキャラクタ情報、サーバ側で生成する番組映像ストリームやユーザ側で番組を生成するためのＴＶＭＬスクリプト等がある。したがって、図１に示す番組参加型視聴システム１０では、サーバ側及びユーザ側の両方に、ＣＧを用いた映像コンテンツを生成するためのＴＶＭＬプレイヤー（Ｐｌａｙｅｒ）を映像生成エンジンとして設けていてもよい。
【００３３】
上述した構成により、番組の開始や終了に関係なく、ユーザのタイミングで自由に番組に参加又は退場することができる。なお、上述した番組参加型視聴システム１０における視聴端末１２や参加型コンテンツ管理装置１１の数等については、これに限定されるものではなく、例えば１又は複数の番組単位に複数の参加型コンテンツ管理装置１１が設けられていてもよい。
【００３４】
次に、上述した番組参加型視聴システム１０における参加型コンテンツ管理装置１１及び視聴端末１２の機能構成例について具体的に説明する。
【００３５】
＜参加型コンテンツ管理装置１１：機能構成例＞
図２は、本実施形態における参加型コンテンツ管理装置の機能構成の一例を示す図である。図２に示す参加型コンテンツ管理装置１１は、入力手段２１と、出力手段２２と、蓄積手段２３と、ユーザ管理手段２４と、スクリプト生成手段２５と、映像生成手段２６と、ストリーム生成手段２７と、再生手段２８と、配信手段２９と、送受信手段３０と、制御手段３１とを有するよう構成されている。
【００３６】
入力手段２１は、参加型コンテンツの制作管理者等から得られるユーザ管理指示やスクリプト生成指示、映像生成指示、ストリーム生成指示、再生指示、配信指示、送受信指示等、本実施形態における参加型コンテンツの制作、管理等における各入力を受け付ける。なお、入力手段２１は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス、タッチパネル、ペン入力、コントローラ等を有する。
【００３７】
出力手段２２は、入力手段２１により入力された指示内容や、各指示内容に基づいて生成された制御データやユーザ管理データ、台本データ、スクリプト、番組、視聴端末接続情報等の内容を表示したり、音声等を出力する。なお、出力手段２２は、ディスプレイ等の画面表示デバイスやスピーカ等の音声出力デバイス等を有する。
【００３８】
蓄積手段２３は、参加型の番組を制作するために必要な台本データ、生成された台本データに記述されている演出を行い、番組を生成するために必要なキャラクタ（オブジェクト）、セット、音声、動作、静止画、動画、テキストデータ等の各種データからなる複数の素材データ、番組の演出内容や番組を構成する上で必要な番組制作エンジン、ユーザ管理手段２４により管理されるユーザ情報、スクリプト生成手段２５により生成されたスクリプト、映像生成手段２６により生成された映像、ストリーム生成手段２７により生成されたストリーム映像、配信手段２９により配信されるユーザ情報（ユーザのアドレス情報も含む）、ユーザに割り当てる１又は複数のＣＧキャラクタ等の各種設定情報等を蓄積する。
【００３９】
また、蓄積手段２３は、送受信手段３０を介して視聴端末１２や他の外部装置等から受信した制御データや、台本データ、素材データ、番組制作エンジン、スクリプト、番組、制作装置接続情報等の各種データを蓄積することができる。なお、蓄積手段２３は、上述した各種データを通信ネットワーク１３等に接続された外部装置等から取得することもできる。
【００４０】
ユーザ管理手段２４は、視聴端末１２で視聴中の番組に参加しようとするユーザがいた場合に、その参加要求の受信に対してユーザ情報（例えば、ユーザＩＤやパスワード等）を取得したり、予め蓄積手段２３に蓄積された１又は複数のＣＧキャラクタから、ユーザの指示若しくはユーザ情報に基づきＣＧキャラクタを割り当てたり、そのＣＧキャラクタの番組内の表示位置等の設定を行う。
【００４１】
具体的には、ユーザ管理手段２４は、生成したユーザ情報とＣＧキャラクタとの対応データを追加して管理し、参加型の番組毎に予め設定されているＣＧキャラクタの配置可能エリアに対し、例えばＣＧキャラクタの参加順序及び人数に応じて配置内容を調整する処理を行う。また、ユーザ管理手段２４は、視聴端末１２から退場要求があった場合にも、他のＣＧキャラクタの配置内容や人数等の調整を行う。
【００４２】
更に、ユーザ管理手段２４は、ユーザからＣＧキャラクタに対する発言回数や発言内容、動作回数や動作内容等をＣＧキャラクタ毎に管理し、これらの情報が所定の条件を満たす場合に、そのユーザに割り当てたＣＧキャラクタの番組中における表示位置の制御を行うことができる。なお、所定の条件を満たす場合とは、例えば、回数であれば予め設定された閾値以上の場合等を示し、内容であれば、ある特定の発言や動作を行った場合は、同じ内容の発言や動作を繰り返した場合等である。
【００４３】
これにより、例えば、発言回数が多かったり、発言内容にその番組の意図するキーフレーズ等が含まれる場合には、その対象ユーザ（ＣＧキャラクタ）を画面の中心に表示させるように制御することができる。また、例えば、同じ動作を繰り返し行うような場合には、番組の邪魔をしている可能性があるため、その対象ユーザ（ＣＧキャラクタ）を画面の端部に移動させたり、強制退場させるように制御することができる。
【００４４】
スクリプト生成手段２５は、ユーザ管理手段２４からの管理情報等に基づき視聴端末１２−１〜１２−ｎに番組を提供するための番組用のスクリプト（例えば、ＴＶＭＬスクリプト等）を生成する。なお、スクリプト生成手段２５は、ユーザが視聴中の番組に自由に参加又は退場ができ、その内容が即座に番組の映像に反映されるようにするため、予め設定された短い時間に対応するスクリプトや、１又は所定数の演出に対応するスクリプトを生成する。つまり、スクリプト生成手段２５は、番組が提供されている間、所定の間隔でスクリプトを生成し続けることになる。また、このとき生成されるスクリプトが、上述した台本データに相当する。
【００４５】
また、スクリプト生成手段２５は、視聴端末１２から発言内容や動作内容等を含む参加者制御情報が入力された場合には、それに対応するスクリプトを生成することもできる。なお、本実施形態では、発言内容を表示する場合、例えばスピーカ等の音声出力手段により音声で出力したり、画面上に吹き出しを設けて発言内容を表示させるようなスクリプトを生成する。
【００４６】
映像生成手段２６は、スクリプト生成手段２５により生成されるスクリプトに基づいて、蓄積手段２３等からそのスクリプトの記述に対応する番組制作エンジン、画像や映像等の素材データ等を取得し、番組の映像（音声も含んでもよい）を生成する。
【００４７】
また、ストリーム生成手段２７は、映像生成手段２６により生成された映像から、例えばエンコーダ等を用いて各視聴端末１２−１〜１２−ｎに配信するためのストリーム映像を生成する。なお、ストリーム生成手段２７により生成されたストリーム映像は、出力手段２２により再生して出力することができる。
【００４８】
再生手段２８は、ストリーム生成手段２７により生成されたストリーム映像を再生し、番組の映像等を出力手段２２により出力させる。なお、再生手段２８は、スクリプト生成手段２５により所定のタイミングで対応する番組の後続のスクリプトが生成され続けているため、そのスクリプトから得られるストリーム映像を現在再生中の番組のストリーム映像の直後に再生するようにする。これにより、連続する番組を再生することができる。
【００４９】
ここで、再生手段２８は、例えば上述したＴＶＭＬプレイヤーを用いることができる。ＴＶＭＬプレイヤーは、ＴＶＭＬスクリプトを解釈してリアルタイムＣＧ、音声合成等を用いてコンテンツを生成し、再生出力するソフトウェア（映像生成エンジン）である。
【００５０】
配信手段２９は、ストリーム生成手段２７により生成されたストリーム映像を、その番組を視聴している視聴端末１２に配信する。なお、配信手段２９は、番組参加要求のあった視聴端末１２に対して、上述したストリーム映像と異なる映像を、その視聴端末１２側で生成させることを可能とするため、ストリーム映像と共に、スクリプト生成手段２５で生成されたスクリプトも送信する。更に、配信手段２９は、コンテンツ参加時に割り当てられるユーザ等を識別するための識別情報（例えば、ユーザＩＤ等）やＣＧキャラクタの情報等も視聴端末１２に送信する。
【００５１】
送受信手段３０は、通信ネットワーク１３を介して番組映像（ストリーム）やＴＶＭＬスクリプト、ユーザ情報、ＣＧキャラクタ情報等を視聴端末１２に出力する。また、送受信手段３０は、視聴端末１２から番組への参加要求や退場要求、発言内容や動作内容等の参加者制御情報等の各種情報を受信する。
【００５２】
つまり、送受信手段３０は、送受信可能な各種データを、番組参加型視聴システム１０を構成する他の装置に送信したり、他の装置から各種データを受信するための通信インタフェースである。
【００５３】
制御手段３１は、参加型コンテンツ管理装置１１における各機能構成全体の制御を行う。具体的には、制御手段３１は、入力手段２１により入力されたユーザ等からの入力情報に基づいてスクリプトを生成したり、その生成したスクリプトを視聴端末１２に配信したり、番組映像やその映像ストリームを生成したり、生成した映像ストリームを配信したり、映像ストリームを再生したり、参加型コンテンツ管理装置１１に対する視聴端末１２の接続の増減等に対応した管理等の処理を行う。
【００５４】
＜視聴端末１２：機能構成例＞
次に、視聴端末１２における機能構成例について図を用いて説明する。図３は、本実施形態における視聴端末の機能構成の一例を示す図である。図３に示す視聴端末１２は、入力手段４１と、出力手段４２と、蓄積手段４３と、参加状態管理手段４４と、映像内容選択手段４５と、映像生成手段４６と、カメラ動作生成手段４７と、再生手段４８と、送受信手段４９と、制御手段５０とを有するよう構成されている。
【００５５】
入力手段４１は、参加型の番組を視聴するユーザ等からの視聴要求や番組参加要求、退場要求等の参加状態管理指示、映像内容選択指示、映像生成指示、カメラ動作生成指示、再生指示、及び送受信指示等、番組の視聴、参加、及び退場における各入力を受け付ける。なお、入力手段４１は、例えばキーボードや、マウス等のポインティングデバイス、マイク等の音声入力デバイス、タッチパネル、ペン入力、コントローラ等からなる。
【００５６】
出力手段４２は、入力手段４１により入力された指示内容や、各指示内容に基づいて生成された番組等の内容を表示したり、音声を出力する。なお、出力手段４２は、ディスプレイ等の画面表示機能やスピーカ等の音声出力機能等を有する。
【００５７】
蓄積手段４３は、参加型コンテンツ管理装置１１から送られたスクリプト（台本データ）、ＴＶＭＬスクリプト、番組制作エンジン、素材データ、参加状態管理手段４４により管理されている状態情報、ユーザに割り当てられたＣＧキャラクタ等の各種設定情報等を蓄積する。
【００５８】
また、蓄積手段４３は、送受信手段４９を介して参加型コンテンツ管理装置１１や他の外部装置等から受信した制御データや、台本データ、素材データ、番組制作エンジン、スクリプト、番組、制作装置接続情報等の各種データを蓄積することができる。なお、蓄積手段４３は、上述した各種データを通信ネットワーク１３等に接続された外部装置等から取得することもできる。
【００５９】
参加状態管理手段４４は、視聴している番組に対して参加要求又は退場要求を行ったり、参加時に割り当てられた仮想キャラクタの参加状態を管理する。具体的には、参加状態管理手段４４は、視聴中の番組に参加する場合に、その参加要求を生成して、参加型コンテンツ管理装置１１に送信する。更に、参加状態管理手段４４は、番組から退場する場合には、その番組からの退場要求を生成し、参加型コンテンツ管理装置１１に出力する。
【００６０】
また、参加状態管理手段４４は、参加型コンテンツ管理装置１１から割り当てられたＣＧキャラクタ情報や、割り当てられたＣＧキャラクタが使用可能な動作や発言内容、番組参加時のＣＧキャラクタに対応付けられたユーザ情報等を管理する。
【００６１】
映像内容選択手段４５は、番組の視点を通常の番組再生時の視点から見るか、ＣＧキャラクタの視点から見るか、若しくはユーザが指定した視点から見るかを選択する。
【００６２】
例えば、本実施形態では、ＣＧキャラクタの視点から見える番組を視聴することにより、自分の分身であるＣＧキャラクタの目線で番組を視聴することができる。これにより、ユーザは、自らが番組に参加しているという認識が強くなり番組に対する参加意欲を向上させることができる。また、本実施形態では、ユーザが指定した視点で番組を視聴できるため、通常の番組の映像では、自分のＣＧキャラクタが他のＣＧキャラクタ等に隠れて映っていない場合であっても、自分のＣＧキャラクタが見える視点から番組を視聴することができる。
【００６３】
なお、このような映像内容を選択して切り替えた場合であっても番組は中断せず、連続して再生されている。つまり、映像だけが切り替わり、番組はそのまま進行することになる。更に、本実施形態では、映像の切り替わりは、その指示をした視聴端末１２のみで行われるため、他の視聴端末では、通常の映像が表示される。したがって、本実施形態によれば、個別の視点で、番組（ＣＧキャラクタ）を表示することができる。
【００６４】
なお、映像内容選択手段４５は、例えば、上述した通常の番組再生時の視点、ＣＧキャラクタの視点、及びユーザが指定した視点のうち、複数を選択して、複数の視点からの番組を同時に生成して表示させることもできる。
【００６５】
映像生成手段４６は、参加型コンテンツ管理装置１１から取得したスクリプトから映像を生成する。このとき、映像生成手段４６は、例えば映像内容選択手段４５やカメラ動作生成手段４７等において、カメラ動作等や映像内容の選択等でユーザが設定した内容がある場合に、その内容に基づいてスクリプトが変更される。そのため、映像生成手段４６では、そのスクリプトに対応する映像が生成される。
【００６６】
カメラ動作生成手段４７は、映像内容選択手段４５において、映像を「ユーザ指定」に切り替えた場合に、ユーザが設定したカメラショット（位置、高さ、向き）や動作等のカメラワークを行うものである。この場合、カメラワークとしては、例えばパンやチルト、ズームイン、ズームアウト等の動作も行うことができるが、本発明においてはこれに限定されるものではない。
【００６７】
再生手段４８は、映像生成手段４６により生成された映像を再生し、映像又は音声等を出力手段４２により出力させる。なお、再生手段４８は、番組中は、映像生成手段４６により所定のタイミングに生成され続けているため、そのスクリプトから得られるストリーム映像をそのまま現在再生中に番組で実行されているストリーム映像の直後に再生するようにする。これにより、連続する番組を再生することができる。
【００６８】
ここで、再生手段４８は、例えば上述したＴＶＭＬプレイヤーを用いることができる。また、再生手段４８は、ストリームを再生するだけのストリームビューアを用いることができる。
【００６９】
送受信手段４９は、通信ネットワーク１３を介して番組視聴要求や、参加要求、退場要求、ユーザ情報、参加者制御情報（例えば、動作内容、発言内容）等を参加型コンテンツ管理装置１１に出力する。また、送受信手段４９は、参加型コンテンツ管理装置１１から番組映像（ストリーム）や、ＴＶＭＬスクリプト、番組参加に対して割り当てられたＣＧキャラクタ等の各種情報を受信する。
【００７０】
つまり、送受信手段４９は、送受信可能な各種データを、番組参加型視聴システム１０を構成する他の装置に送信したり、他の装置から各種データを受信するための通信インタフェースである。
【００７１】
制御手段５０は、参加型コンテンツ管理装置１１における各機能構成全体の制御を行う。具体的には、制御手段５０は、入力手段４１により入力されたユーザ等からの入力情報に基づいてスクリプトを生成したり、その生成したスクリプトを参加型コンテンツ管理装置１１に送信したり、映像を生成したり、映像ストリームを再生する等の各種処理を行う。
【００７２】
＜番組視聴時における具体例＞
次に、本実施形態における番組視聴時における処理の具体例について説明する。番組視聴時において、例えば、視聴端末１２から番組視聴要求があった場合、参加型コンテンツ管理装置１１は、その番組視聴要求に対応する番組のスクリプトから番組を生成し、番組映像ストリームを生成して、要求のあった視聴端末１２に出力する。
【００７３】
つまり、ユーザが番組に参加せず、単に番組を視聴している状態では、参加型コンテンツ管理装置１１側で、番組台本であるＴＶＭＬスクリプトをＴＶＭＬプレイヤーに入力すると、ＴＶＭＬプレイヤーが、ＣＧ等による番組映像を生成する。また、参加型コンテンツ管理装置１１は、生成された番組映像から、エンコーダ等を用いて映像ストリームを生成し、生成したコンテンツを通信ネットワーク１３を介して各視聴端末１２−１〜１２−ｎに出力する。
【００７４】
ユーザ（視聴端末１２）側では、通信ネットワーク１３を介して参加型コンテンツ管理装置１１から配信される映像ストリームを、ストリームビューワ等の再生手段により再生し、ユーザに番組を視聴させる。
【００７５】
＜番組参加時における具体例＞
次に、本実施形態における番組参加時における処理の具体例について図を用いて説明する。図４は、番組参加時における処理手順の一例を示すフローチャートである。まず参加型コンテンツ管理装置１１は、視聴端末１２からの番組参加要求を取得すると（Ｓ０１）、参加要求のあったユーザＩＤの生成と、ＣＧキャラクタの割り当てを行う（Ｓ０２）。
【００７６】
なお、Ｓ０２の処理で生成されるユーザＩＤとは、番組に参加するユーザを識別して管理するための情報であると同時に番組に出演するＣＧキャラクタを識別して管理するための情報である。したがって、ユーザＩＤは、ユーザ毎に予め設定されている参加型コンテンツ管理装置１１にアクセスするためのユーザ情報でもよく、参加要求を受けたときに新たに生成されるユーザＩＤであってもよい。
【００７７】
また、Ｓ０２の処理でＣＧキャラクタを割り当てる場合には、視聴端末１２に対して予め設定されているユーザ情報から性別を取得して、同姓のキャラクタを設定してもよく、動物やロボット等、性別のあまり関係のないキャラクタを設定してもよく、更にユーザが指定したキャラクタを設定してもよい。また、Ｓ０２の処理では、そのユーザの今までの参加履歴等を参照し、前回使用したＣＧキャラクタが、現在他のユーザにより使用中でない場合に、そのＣＧキャラクタを使用させるように設定してもよい。
【００７８】
次に、生成したユーザＩＤとＣＧキャラクタとの対応データを追加し（Ｓ０３）、ＣＧキャラクタを番組に出演（参加）させるためのＴＶＭＬスクリプトを生成する（Ｓ０４）。更に、その番組に予め設定されているセットアップＴＶＭＬ（例えば、スタジオセット等）の参照や追加等を行い（Ｓ０５）、新たに生成したＴＶＭＬスクリプトから映像を生成する（Ｓ０６）。
【００７９】
次に、参加要求をしてきた視聴端末１２にユーザＩＤ、ＣＧキャラクタ情報を通知し（Ｓ０７）、Ｓ０４の処理及びＳ０６の処理で生成したＴＶＭＬスクリプト及び映像（映像ストリーム）を視聴端末１２に送信する（Ｓ０８）。
【００８０】
なお、視聴端末１２にＴＶＭＬスクリプトを送る理由は、例えば視聴端末１２毎に自分のＣＧキャラクタの視点やユーザが指定した視点から番組を視聴する場合に、視聴端末１２側でＴＶＭＬスクリプトを編集し、対応する番組映像を生成させて、番組を視聴することを実現するためである。したがって、視聴端末１２に送信される映像は、通常時に表示される番組の映像となる。
【００８１】
＜Ｓ０３の処理内容＞
ここで、上述したＳ０３の処理内容について具体的に説明する。ユーザＩＤとＣＧキャラクタとの対応データとは、そのユーザＩＤの名称で番組に出演させるＣＧキャラクタを管理するためのものであり、例えば、「ｕｓｅｒ００１」のユーザＩＤを持つユーザが、ＣＧキャラクタとして「ｙａｍａｄａ」のＣＧキャラクタを使用する場合には、そのＣＧキャラクタの定義ファイルである「ｙａｍａｄａ．ｂｍ」とユーザＩＤとを対応付けて、「ｕｓｅｒ００１：ｙａｍａｄａ．ｂｍ」として管理する。
【００８２】
＜Ｓ０４の処理内容＞
次に、上述したＳ０４の処理内容（ＣＧキャラクタを出演させるためのスクリプト生成）について、フローチャートを用いて具体的に説明する。図５は、ＣＧキャラクタを出演させるためのスクリプト生成の処理手順の一例を示すフローチャートである。
【００８３】
図５において、例えばユーザＩＤをＣＧキャラクタ名として，ＣＧキャラクタの定義ファイルを開き（Ｏｐｅｎ）し、表示できるＴＶＭＬスクリプトを生成する（Ｓ１１）。次に、例えば蓄積手段等から現在のセットアップＴＶＭＬスクリプトを取得する（Ｓ１２）。次に、スタジオセット等に付加されている参加者配置可能エリアを取得し（Ｓ１３）、自分以外のＣＧキャラクタがどこに配置されているかを示す配置情報を取得する（Ｓ１４）。
【００８４】
次に、参加者配置可能エリアにおいて適切な位置となるようにＣＧキャラクタを配置するＴＶＭＬスクリプトを生成し、（Ｓ１５）、生成したＴＶＭＬスクリプトをセットアップＴＶＭＬスクリプトとして蓄積手段等に保存する（Ｓ１６）。
【００８５】
なお、上述した処理は、例えば参加型コンテンツ管理装置１１のユーザ管理手段２４やスクリプト生成手段２５等により行われる処理である。
【００８６】
＜スクリプト例＞
ここで、図６は、本実施形態におけるスクリプトの具体例を示す図である。ここで、図６（ａ）は、上述したＳ１１の処理に対応するＣＧキャラクタのＴＶＭＬスクリプト例を示し、図６（ｂ）は、ＣＧスタジオセットのメタデータ例を示し、図６（ｃ）は、図６（ｂ）に対応する画面中における参加者配置可能エリアの例を示している。なお、図６（ａ），（ｂ）には、説明の便宜上、左側に行番号を付している。
【００８７】
図６（ａ）の例では、上述した「ｕｓｅｒ００１：ｙａｍａｄａ．ｂｍ」の対応データに基づくＣＧキャラクタが設定されている。また、図６（ｂ）の（０３）行目には、スタジオ名称を示し、（０４）〜（０９）行目には、参加者配置可能エリアが座標（ｘ（横），ｚ（奥行き））で示されている。
【００８８】
つまり、参加者配置可能エリアとして、例えば（ｘ０，ｚ０）、（ｘ０，ｚ１）、（ｘ１，ｚ０）、（ｘ１，ｚ１）の４点を指定することで、図６（ｃ）に示すように、画面中に参加者配置可能エリアを設定することができる。なお、参加者配置可能エリアは、番組中（画面中）のスタジオセット等に対応させて設定されることが好ましい。なお、参加者配置可能エリアの設定方法については、本発明においてはこれに限定されるものではない。
【００８９】
また、本実施形態において、（１０）行目には、配置線上限数が設定され、（１１）行目には、配置線１本あたりの出演者上限数が設定され、（１２）行目には、スタジオセットの出演者上限数が設定されている。これらの設定情報に基づいて、参加型コンテンツ管理装置１１における参加者の管理が行われる。
【００９０】
＜Ｓ１４及びＳ１５の処理内容＞
次に、上述したＳ１４及びＳ１５の処理内容（ＣＧキャラクタの参加状態管理処理手順）について、フローチャートを用いて具体的に説明する。図７は、ＣＧキャラクタの参加状態管理処理手順（参加時）の一例を示すフローチャートである。また、図８は、参加によるＣＧキャラクタの増加時の配置例を示すための図である。なお、本実施形態では、図８（ａ）〜（ｈ）のように遷移して番組参加時におけるＣＧキャラクタの配置が行われる。また、図８（ａ）〜（ｈ）の各枠は、参加者配置可能エリアを示している。
【００９１】
図７において、まず現時点での番組参加者としてのＣＧキャラクタの合計人数を取得する（Ｓ２１）。ここで、現在の配置線の上限値以下か否かを判断する（Ｓ２２）。なお、Ｓ２２の処理において、現時点で配置線がない場合には、１本あたりの上限値と比較する。また、複数本ある場合には、それぞれ１本あたりの上限値の合計となる。
【００９２】
ここで、現在の配置線の上限値以下である場合（Ｓ２２において、ＹＥＳ）、各ＣＧキャラクタ（番組に出演しているＣＧキャラクタ）の間隔が等間隔になるように、各ＣＧキャラクタを表示する位置（例えば、図８に示すｘ座標）を決定する（Ｓ２３）。
【００９３】
また、Ｓ２２の処理において、現在の配置線の上限以上でない場合（Ｓ２２において、ＮＯ）、配置線を追加し（Ｓ２４）、配置線数が上限値以下か否かを判断する（Ｓ２５）。ここで、配置線数が上限値以下である場合（Ｓ２５において、ＹＥＳ）、ＣＧキャラクタの配置数を決定する（Ｓ２６）。なお、Ｓ２６の処理では、各配置線上のＣＧキャラクタ数が最も少なくなるようにＣＧキャラクタの配置数を決定する。但し、各配置線上の配置数が同じにならない場合は、前方の線（図８に示すｚ座標の大きい線）に追加する。
【００９４】
また、Ｓ２３又はＳ２６の処理が終了後、例えば、新たに参加するＣＧキャラクタを前方の中心に最も近い位置に配置する(Ｓ２７)。これは、新たに参加したユーザが直ぐに自分のＣＧキャラクタを見つけ易くするためである。なお、本発明においては、これに限定されるものではなく、例えば新たに参加したＣＧキャラクタは、画面に表示されてから数秒間は、点滅させたり手を振る等の所定の動作をさせるようにして、ＣＧキャラクタを見つけ易くさせてもよい。
【００９５】
また、Ｓ２７の処理に対応して、これまで出演していたＣＧキャラクタを配置（再配置）する（Ｓ２８）。更に、上述したＳ２５の処理において、配置線数が上限値以下である場合（Ｓ２５において、ＮＯ）、上限値となっているため、これ以上は参加できない旨の通知等、参加不可能処理を行う（Ｓ２９）。
【００９６】
上述した処理により、図８（ａ）〜（ｈ）に示すように、出演するＣＧキャラクタを等間隔に配置することができる。なお、図８の例では、配置線を横線にしているが、本発明においてはこれに限定されるものではなく、例えば、縦線でもよく、円形や矩形の線であってもよい。また、円卓やテーブル等の形に対応させて座るような場合には、その物体（オブジェクト）の形状に対応させた線であってもよい。なお、本実施形態における配置線や出演配置可能エリアの枠は、例えば複数のＣＧキャラクタを所定のエリア内に整列させるために用いるものであり、実際に視聴する番組映像には表示されないが、表示するように設定することもできる。なお、上述した処理は、例えば参加型コンテンツ管理装置１１のユーザ管理手段２４等により行われる処理である。
【００９７】
＜ＣＧキャラクタが参加している画面例＞
次に、上述したＣＧキャラクタが参加している画面例について図を用いて説明する。図９は、ＣＧキャラクタが参加している画面例を示す図である。なお、図９（ａ）には、画面例を示し、図９（ｂ）には、図９（ａ）の画面に対応するスクリプトの例を示している。なお、図９（ｂ）のスクリプトには、説明の便宜上、行番号を付している。
【００９８】
図９における画面６０には、スタジオセットが表示されており、予め設定された番組進行等を行う司会者等のＣＧキャラクタ６１が存在する。また、図９の例では、予め設定された出演者位置可能エリアに参加者である１０人のＣＧキャラクタ６２が配置されている。各ＣＧキャラクタ６２は、それぞれ各視聴端末１２−１〜１２−ｎの各ユーザに相当するものである。なお、本実施形態では、１つの視聴端末１２に対して、１又は複数のＣＧキャラクタを出演させることができる。
【００９９】
また、本実施形態では、各ＣＧキャラクタ６２に動作や発言をさせることができ、図９の例では、吹き出し６３により発言内容が表示されている。この場合、例えば、図９（ｂ）の（０８）行目に示すように、ユーザ入力テキスト“沢山人がいるなあ”をＴＶＭＬスクリプトの所定の箇所に置換する。また、図９（ｂ）の（１２）行目に示すように、吹き出し表示位置を該当するＣＧキャラクタ（出演者）の頭上の位置（Ｘ０，Ｙ０，Ｚ０）に表示されるようにＴＶＭＬスクリプトで設定する。
【０１００】
なお、本実施形態においてはこの限りではなく、例えば発言内容を音声出力等により出力してもよい。また、音声出力の場合は、音声が同時に出力されると聞き取りにくくなるため、音声が出力される順序を制御したり、例えば、最近参加したユーザや常連ユーザ等、ユーザによって音声出力できる人を制限してもよい。更に、本実施形態では、上述した吹き出しと音声とを両方出力してもよい。
【０１０１】
＜カメラ選択の具体例＞
次に、上述した視聴端末１２の映像内容選択手段４５等におけるカメラ選択の具体例について、図を用いて説明する。図１０は、本実施形態におけるカメラ選択手法の具体例について説明するための図である。図１０に示す例では、ユーザ側である視聴端末１２と、サーバ側である参加型コンテンツ管理装置１１とのの処理を概略的に示している。
【０１０２】
ユーザ側（視聴端末１２）からは、ユーザＩＤと共に、ＣＧキャラクタ（出演者）の発言内容及び動作のための参加者制御情報を、サーバ側（参加型コンテンツ管理装置１１）のユーザ管理手段に送信する。
【０１０３】
参加型コンテンツ管理装置１１は、視聴端末１２から送信された情報を取得し、ユーザの入力を反映するＴＶＭＬスクリプトの生成を行う。次に、参加型コンテンツ管理装置１１では、生成したＴＶＭＬスクリプトを用いて映像生成を行うことで、ユーザの入力に対応した映像を生成する。なお、この場合に生成させる映像は、ＣＧキャラクタを番組に参加させた通常の視点からの番組映像である。
【０１０４】
また、参加型コンテンツ管理装置１１は、生成した映像からストリーム映像を生成し、生成したストリーム映像を番組に参加している視聴端末１２に送信する。なお、スクリプト生成手段により生成されたスクリプトは、ユーザ管理処理にて、番組に参加している全てのユーザクライアントに送信される。
【０１０５】
視聴端末１２は、参加型コンテンツ管理装置１１から配信されたＴＶＭＬスクリプトを受信し、映像生成を行うことで、参加型コンテンツ管理装置１１で生成されている番組映像と同じものを生成することができる。
【０１０６】
ここで、視聴端末１２の映像生成手段で生成される映像に必要なＴＶＭＬスクリプトのうち、例えばカメラワークに含まれるカメラショットを制御するスクリプトを、視聴端末１２におけるカメラ動作生成手段により生成し、その内容から映像内容選択手段により映像生成を行うことで、通常の番組映像と内容は同じでカメラショットのみが異なる映像（個別映像）を生成することができる。
【０１０７】
したがって、本実施形態では、同一の番組に対する映像を個別映像や番組映像に切り替えて表示することができる。
【０１０８】
＜カメラ選択に対応するカメラショットの生成例＞
次に、上述したカメラ選択に対応するカメラショットの生成例について、図を用いて具体的に説明する。図１１は、カメラ選択に対応するカメラショット生成について説明するための図である。なお、図１１（ａ）は、番組出演者（参加者）であるＣＧキャラクタのカメラ目線でのカメラショット生成例を示し、図１１（ｂ）は、司会者を撮影するユーザ指定におけるカメラショット生成例を示し、図１１（ｃ）は、ＣＧキャラクタを撮影するユーザ指定におけるカメラショット生成例を示している。
【０１０９】
図１１（ａ）の例では、ＣＧキャラクタの目線若しくは頭上にカメラがあるような視点で番組を視聴することができる。この場合、ＣＧキャラクタの位置に応じてカメラの位置等が設定される。ここで、図１２は、ＣＧキャラクタ目線でのカメラショット生成処理手順の一例を示すフローチャートである。
【０１１０】
図１２に示す例では、まず映像生成手段４６等によりユーザＩＤに対応するＣＧキャラクタの位置座標（例えば、（ｘｃ，ｚｃ）等）と、ＣＧキャラクタの体の向きｄを取得し（Ｓ３１）、更にユーザＩＤに対応するＣＧキャラクタの身長ｈｃを取得する（Ｓ３２）。なお、身長ｈｃは、予めＣＧキャラクタ毎に設定されている。
【０１１１】
次に、カメラ動作生成手段４７は、カメラワーク（カメラショットを含む）に対応するカメラパラメータを生成する（Ｓ３３）。なお、Ｓ３３の処理では、具体的には、カメラの座標（ｘｃａｍ，ｙｃａｍ，ｚｃａｍ）＝（ｘｃ，ｈｃ，ｚｃ）とし、カメラのパンニング角度（ｐａｎ）、カメラの垂直画角ｖａｎｇｌｅ＝ｖとする。なお、本実施形態において、上述したｖａｎｇｌｅの値は、ユーザによる指定とする。これにより、Ｓ２２の処理で得られたカメラパラメータにより映像生成手段４６によって、そのカメラ用のスクリプトが生成される。
【０１１２】
なお、図１１（ａ）の例では、カメラパラメータをＴＶＭＬスクリプトとして送信する場合のスクリプト例として、例えば「ｃａｍｅｒａ：ｍｏｖｅｍｅｎｔ（ｎａｍｅ＝Ａｃａｍ，ｘ＝ｘｃａｍ，ｙ＝ｙｚａｍ，ｚ＝ｚｃａｍ，ｖａｎｇｌｅ＝ｖ，ｐａｎ＝ｐａｎ）」が生成される。
【０１１３】
また、図１１（ｂ）の例では、ユーザのカメラ選択により、「ユーザ指定」を選択し、出演者であるＣＧキャラクタが司会者を見ている場合のカメラショットを示している。この場合、カメラパラメータのスクリプト例は、「ｃａｍｅｒａ：ｍｏｖｅｍｅｎｔ（ｎａｍｅ＝Ａｃａｍ，ｘ＝ｘｃａｍ，ｙ＝ｙｚａｍ，ｚ＝ｚｃａｍ，ｖａｎｇｌｅ＝ｖ，ｐａｎ＝ｐａｎ，ｔｉｌｔ＝Ｔｉｌｔ）」となる。なお、本実施形態においては、上述したｖａｎｇｌｅ，ｔｉｌｔの値は、ユーザによる指定値とする。
【０１１４】
また、図１１（ｃ）の例では、出演者であるＣＧキャラクタ（ｕｓｅｒ００１）自身をクローズアップしている場合のカメラショット例を示している。この場合、カメラパラメータのスクリプト例は、（ｉ）「ｃａｍｅｒａ：ｃｌｏｓｅｕｐ（ｎａｍｅ＝Ａｃａｍ，ｗｈａｔ＝ｕｓｅｒ００１）」、又は、（ｉｉ）「ｃａｍｅｒａ：ｍｏｖｅｍｅｎｔ（ｎａｍｅ＝Ａｃａｍ，ｘ＝Ｘ，ｙ＝Ｙ，ｚ＝Ｚ，ｖａｎｇｌｅ＝Ｖ，ｐａｎ＝ＰＡＮ，ｔｉｌｔ＝ＴＩＬＴ）」となる。
【０１１５】
なお、本実施形態において、上述の（ｉ）は、ＴＶＭＬの特定の対象物をクローズアップするカメラコマンドの例を示し、上述の（ｉｉ）は、図１１（ｂ）と同様にカメラパラメータを指定する例を示している。なお、本実施形態において、上述したＸ，Ｙ，Ｚ，Ｖ，ＰＡＮ，ＴＩＬＴの値は、例えば、ユーザが予め設定された設定入力画面等を用いて指定したり、コントローラ等により指示することにより指定することができる。
【０１１６】
＜番組から退場するときの処理手順＞
次に、本実施形態において、参加中（出演中）の番組から退場するときの処理手順について、フローチャート等を用いて具体的に説明する。図１３は、ＣＧキャラクタの参加状態管理処理手順（退場時）の一例を示すフローチャートである。
【０１１７】
図１３において、まず、参加型コンテンツ管理装置１１は、視聴端末１２から番組退場要求を取得すると（Ｓ４１）、退場要求のあったユーザＩＤの消去とユーザＩＤに対応するＣＧキャラクタを解放する（Ｓ４２）。なお、解放するとは、例えば、そのユーザＩＤに対応するＣＧキャラクタの動作や発言内容を制御（操作）することができなくなった状態を意味する。
【０１１８】
次に、ユーザＩＤとＣＧキャラクタとの対応データからの削除を行う（Ｓ４３）。また、ＣＧキャラクタを出演中（参加中）の番組から消去し、その時点で参加している残りのＣＧキャラクタを再配置するＴＶＭＬスクリプトを生成する（Ｓ４４）。更に、その番組に予め設定されているセットアップＴＶＭＬ（例えば、スタジオセット等）の参照や追加等を行い（Ｓ４５）、新たに生成したＴＶＭＬスクリプトから映像を生成する（Ｓ４６）。
【０１１９】
また、映像を生成した後、視聴端末１２に退場完了を通知し（Ｓ４７）。生成した映像のみを視聴端末１２に送信する（Ｓ４８）。したがって、退場後は、視聴端末１２に対してＴＶＭＬスクリプトの送信は行わない。なお、本発明においてはこれに限定されるものではなく、例えば退場後においてもカメラワーク等における映像の切り替えを行いたい場合には、ＴＶＭＬスクリプトを送信することもできる。なお、上述した処理は、例えば参加型コンテンツ管理装置１１により行われる処理である。
【０１２０】
＜Ｓ４４の処理内容＞
次に、Ｓ４４の処理（ＣＧキャラクタの再配置処理手順）についてフローチャート等を用いて具体的に説明する。図１４は、ＣＧキャラクタの再配置処理手順の一例を示すフローチャートである。また、図１５は、退場によるＣＧキャラクタの減少時の配置例を示すための図である。なお、本実施形態では、図１５（ａ）〜（ｈ）のように遷移して番組退場時におけるＣＧキャラクタの配置が行われる。また、図１５（ａ）〜（ｈ）の各枠は、参加者配置可能エリアを示している。
【０１２１】
図１４において、退場要求のあったＣＧキャラクタを消去すると（Ｓ５１）、ＣＧキャラクタの現時点での参加合計人数を取得する（Ｓ５２）。なお、合計人数の取得は、ユーザ管理手段２４により管理されている情報から容易に取得することができる。
【０１２２】
次に、参加人数が１人以上か否かを判断し（Ｓ５３）、１人以上である場合（Ｓ５３において、ＹＥＳ）、次に、「現在の配置線数−１」の上限より多いか否かを判断する（Ｓ５４）。つまり、「現在の配置線数−１」の線数における配置上限数よりＣＧキャラクタ数が多いか否かを判断する。ここで、「現在の配置線数−１」の上限より多くない場合（Ｓ５４において、ＮＯ）、配置線を１本削除する（Ｓ５５）。
【０１２３】
また、Ｓ５４の処理において、「現在の配置線数−１」の上限より多い場合（Ｓ５４において、ＹＥＳ）、又はＳ５５の処理が終了後、各配置線上のＣＧキャラクタ数が最も少なくなるようにＣＧキャラクタ（ＣＧキャラクタ）の配置数を決定する(Ｓ５６)。但し、各配置線上の配置数が同じにならない場合には、前方の線（例えば、図１５におけるｚ座標の大きい線）に追加する。
【０１２４】
次に、各ＣＧキャラクタの間隔が等間隔になるように各ＣＧキャラクタを表示する位置（例えば、図１５におけるｘ座標）を決定する（Ｓ５７）。
【０１２５】
なお、上述したＳ５３の処理において、参加人数が１人以上いない場合には、誰も参加していないことを意味する。そのため、全ての配置線を削除して（Ｓ５８）、処理を終了する。
【０１２６】
つまり、図１５に示すように、退場時の処理手順は、上述した参加時の処理手順の逆の手順になる。これにより、ＣＧキャラクタが退場しても、残りのＣＧキャラクタがバランスよく配置された映像を生成することができる。なお、上述した処理は、例えば参加型コンテンツ管理装置１１のユーザ管理手段２４等により行われる処理である。
【０１２７】
＜実行プログラム＞
ここで、上述した参加型コンテンツ管理装置１１及び視聴端末１２は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の揮発性の記憶媒体、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
【０１２８】
したがって、参加型コンテンツ管理装置１１及び視聴端末１２が有する上述した各機能は、これらの機能を記述したプログラムをＣＰＵに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク（フロッピィーディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して頒布することもできる。
【０１２９】
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム（参加型コンテンツ管理プログラム及び視聴プログラム）を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、参加型コンテンツ管理処理及び視聴処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した各処理を実現することができる。
【０１３０】
上述したように本発明によれば、ユーザ（視聴者）にコンテンツの視聴及び参加への意欲を向上させることができる。具体的には、ユーザは、番組制作の現場と離れたところにいても、番組とは非同期にいつでも参加することができ、また参加中の番組をいつでもやめることができる。
【０１３１】
また、本発明によれば、例えば複数（少人数、多人数を含む）の視聴者が参加した際に、システム側で視聴者のＣＧキャラクタを自動的にバランスよく配置することができる。そのため、見苦しい配置を自動的に回避することができる。また同様に、本発明によれば、番組から退場する際にも自動的にＣＧキャラクタの配置をバランスよく再構成することができる。
【０１３２】
更に、本発明によれば、各視聴者が番組映像以外に自分の見たいカメラワーク（カメラショットも含む）で番組を視聴することができる。また、各視聴者のＣＧキャラクタから見た映像を自動的に生成することにより、視聴者の番組への参加感を高めることができる。これにより、番組視聴及び参加へのモチベーションの向上が期待できる。
【０１３３】
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
【符号の説明】
【０１３４】
１０  番組参加型視聴システム
１１  参加型コンテンツ管理装置
１２  視聴端末
１３  通信ネットワーク
２１，４１  入力手段
２２，４２  出力手段
２３，４３  蓄積手段
２４  ユーザ管理手段
２５  スクリプト生成手段
２６，４６  映像生成手段
２７  ストリーム映像生成手段
２８，４８  再生手段
２９  配信手段
３０，４９  送受信手段
３１，５０  制御手段
４４  参加状態管理手段
４５  映像内容選択手段
４７  カメラ動作生成手段
６０  画面
６１，６２  ＣＧキャラクタ
６３  吹き出し
【図１】
0005632792.tif 000002
【図２】
0005632792.tif 000003
【図３】
0005632792.tif 000004
【図４】
0005632792.tif 000005
【図５】
0005632792.tif 000006
【図６】
0005632792.tif 000007
【図７】
0005632792.tif 000008
【図１２】
0005632792.tif 000009
【図１３】
0005632792.tif 000010
【図１４】
0005632792.tif 000011
【図８】
0005632792.tif 000012
【図９】
0005632792.tif 000013
【図１０】
0005632792.tif 000014
【図１１】
0005632792.tif 000015
【図１５】
0005632792.tif 000016