図1は、本発明の実施の形態に係るゲームシステム1の構成を示す。ゲームシステム1は、ゲーム装置10と、ゲーム装置10のユーザによって操作される入力装置6a、6bと、ゲーム装置10のユーザによって操作される携帯端末装置9a、9bとを備える。ゲーム装置10は、アクセスポイント(AP)8経由で、外部のネットワーク3に接続された配信サーバ5や他のユーザの携帯端末装置9c、9dなどと通信可能に接続される。ゲーム装置10には、複数のユーザが同時にログインすることができる。
補助記憶装置2は、HDD(ハードディスクドライブ)やフラッシュメモリなどの大容量記憶装置であり、USB(Universal Serial Bus)などによってゲーム装置10と接続する外部記憶装置であってよく、また内蔵型記憶装置であってもよい。出力装置4は、画像を出力するディスプレイおよび音声を出力するスピーカを有するテレビであってよい。ゲーム装置10は、ユーザが操作する入力装置6と無線又は有線で接続し、入力装置6はユーザの操作結果を示す操作情報をゲーム装置10に出力する。ゲーム装置10は、更に、ユーザが操作する携帯端末装置9と無線又は有線で接続し、携帯端末装置9はユーザの操作結果を示す操作情報や、ゲーム装置10において実行されるゲームプログラムなどにより使用されるデータなどをゲーム装置10に送信する。ゲーム装置10は、入力装置6又は携帯端末装置9からの操作情報を受け付けると、OS(システムソフトウェア)やゲームプログラムなどの処理に反映し、出力装置4から処理結果を出力させる。
撮像装置であるカメラ7は出力装置4の近傍に設けられ、出力装置4周辺の空間を撮像する。図1ではカメラ7が出力装置4の上部に取り付けられている例を示しているが、出力装置4の側方に配置されてもよく、いずれにしても出力装置4の前方でゲームをプレイするユーザを撮像できる位置に配置される。なおカメラ7はステレオカメラであってよいし、測距カメラであってもよい。
入力装置6は、ゲーム装置10にユーザの操作情報を提供するゲームコントローラであってもよい。ゲームコントローラは、複数のプッシュ式の操作ボタンや、アナログ量を入力できるアナログスティック、回動式ボタンなどの複数の入力部を有して構成される。
携帯端末装置9は、スマートフォンやタブレットなどの携帯型情報端末であってもよいし、携帯型ゲーム装置であってもよい。携帯端末装置9は、ゲーム装置10において実行されるゲームプログラムにユーザの操作情報やゲームのデータなどを送信するためのアプリケーションを実行する。
本実施の形態のゲーム装置10は、カメラ7が撮像したユーザの周辺の実写画像を利用したゲームを提供するとともに、ユーザがプレイしているゲームの画面を他のユーザに対して配信する機能を有する。ゲーム装置10は、ユーザA及びBがゲームを実行しているときに、ユーザA又はBからゲームの画面を配信する指示を受け付けると、ネットワーク3を介して配信サーバ5へゲームの画面のデータをアップロードする。ユーザC及びDは、携帯端末装置9、ゲーム装置10、パーソナルコンピュータなどを用いて、ネットワーク3を介して配信サーバ5にアクセスし、配信されているゲームの動画像を視聴することができる。ゲームの動画像は、配信サーバからストリーミング配信されてもよいし、配信サーバに蓄積された動画像がダウンロード配信されてもよい。
入力装置6のボタン構成について説明する。
[上面部の構成]
図2(a)は、入力装置上面の外観構成を示す。ユーザは左手で左側把持部78bを把持し、右手で右側把持部78aを把持して、入力装置6を操作する。入力装置6の筐体上面には、入力部である方向キー71、アナログスティック77a、77bと、4種の操作ボタン76が設けられている。4種のボタン72〜75には、それぞれを区別するために、異なる色で異なる図形が記されている。すなわち、○ボタン72には赤色の丸、×ボタン73には青色のバツ、□ボタン74には紫色の四角形、△ボタン75には緑色の三角形が記されている。筐体上面上において、方向キー71と操作ボタン76の間の平坦な領域には、タッチパッド79が設けられる。タッチパッド79は、ユーザが押すことで下方に沈み込み、またユーザが手を離すと元の位置に復帰する押下式ボタンとしても機能する。
2つのアナログスティック77a、77bの間に機能ボタン80が設けられる。機能ボタン80は、入力装置6の電源をオンし、同時に入力装置6とゲーム装置10とを接続する通信機能をアクティブにするために使用される。入力装置6がゲーム装置10と接続した後は、機能ボタン80は、ゲーム装置10にメニュー画面を表示させるためにも使用される。
SHAREボタン81は、タッチパッド79と方向キー71の間に設けられる。SHAREボタン81は、ゲーム装置10におけるOSないしはシステムソフトウェアに対するユーザからの指示を入力するために利用される。またOPTIONSボタン82は、タッチパッド79と操作ボタン76の間に設けられる。OPTIONSボタン82は、ゲーム装置10において実行されるアプリケーション(ゲーム)に対するユーザからの指示を入力するために利用される。SHAREボタン81およびOPTIONSボタン82は、いずれもプッシュ式ボタンとして形成されてよい。
[奥側側面部の構成]
図2(b)は、入力装置奥側側面の外観構成を示す。入力装置6の筐体奥側側面の上側には、タッチパッド79が筐体上面から延設されており、筐体奥側側面の下側には、横長の発光部85が設けられる。発光部85は、赤(R)、緑(G)、青(B)のLEDを有し、ゲーム装置10から送信される発光色情報にしたがって点灯する。
筐体奥側側面において、上側ボタン83a、下側ボタン84aと、上側ボタン83b、下側ボタン84bとが長手方向の左右対称な位置に設けられる。上側ボタン83a、下側ボタン84aは、それぞれユーザ右手の人差し指、中指により操作され、上側ボタン83b、下側ボタン84bは、それぞれユーザ左手の人差し指、中指により操作される。図示されるように発光部85が、右側の上側ボタン83a、下側ボタン84aの並びと、左側の上側ボタン83b、下側ボタン84bの並びの間に設けられることで、各ボタンを操作する人差し指または中指によって隠れることはなく、カメラ7は、点灯した発光部85を好適に撮像することができる。上側ボタン83はプッシュ式ボタンとして構成され、下側ボタン84は回動支持されたトリガー式のボタンとして構成されてよい。
図3は、ゲーム装置10の機能ブロック図を示す。ゲーム装置10は、メイン電源ボタン20、電源ON用LED21、スタンバイ用LED22、システムコントローラ24、クロック26、デバイスコントローラ30、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60を有して構成される。
メインシステム60は、メインCPU(Central Processing Unit)、主記憶装置であるメモリおよびメモリコントローラ、GPU(Graphics Processing Unit)などを備える。GPUはゲームプログラムの演算処理に主として利用される。これらの機能はシステムオンチップとして構成されて、1つのチップ上に形成されてよい。メインCPUは補助記憶装置2に記録されたゲームプログラムを実行する機能をもつ。
サブシステム50は、サブCPU、主記憶装置であるメモリおよびメモリコントローラなどを備え、GPUを備えず、ゲームプログラムを実行する機能をもたない。サブCPUの回路ゲート数は、メインCPUの回路ゲート数よりも少なく、サブCPUの動作消費電力は、メインCPUの動作消費電力よりも少ない。サブCPUは、メインCPUがスタンバイ状態にある間においても動作し、消費電力を低く抑えるべく、その処理機能を制限されている。
メイン電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10の筐体の前面に設けられ、ゲーム装置10のメインシステム60への電源供給をオンまたはオフするために操作される。電源ON用LED21は、メイン電源ボタン20がオンされたときに点灯し、スタンバイ用LED22は、メイン電源ボタン20がオフされたときに点灯する。
システムコントローラ24は、ユーザによるメイン電源ボタン20の押下を検出する。メイン電源がオフ状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オン指示」として取得し、一方で、メイン電源がオン状態にあるときにメイン電源ボタン20が押下されると、システムコントローラ24は、その押下操作を「オフ指示」として取得する。
クロック26はリアルタイムクロックであって、現在の日時情報を生成し、システムコントローラ24やサブシステム50およびメインシステム60に供給する。
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、USBモジュール34、フラッシュメモリ36、無線通信モジュール38、有線通信モジュール40、サブシステム50およびメインシステム60などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
メディアドライブ32は、ゲームなどのアプリケーションソフトウェア、およびライセンス情報を記録したROM媒体44を装着して駆動し、ROM媒体44からプログラムやデータなどを読み出すドライブ装置である。ROM媒体44は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。
USBモジュール34は、外部機器とUSBケーブルで接続するモジュールである。USBモジュール34は補助記憶装置2およびカメラ7とUSBケーブルで接続してもよい。フラッシュメモリ36は、内部ストレージを構成する補助記憶装置である。無線通信モジュール38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで、たとえば入力装置6と無線通信する。なお無線通信モジュール38は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応してもよく、さらには別の世代のデジタル携帯電話方式に対応してもよい。有線通信モジュール40は、外部機器と有線通信し、たとえばAP8を介してネットワーク3に接続する。
図4は、ゲーム装置10の構成を示す。ゲーム装置10は、通信部102、制御部110及びデータ保持部160を備える。図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、回路ブロック、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
通信部102は、図3に示す無線通信モジュール38及び有線通信モジュール40の機能を有し、ネットワーク3を介した通信を制御する。データ保持部160は、補助記憶装置2に設けられ、ゲームプログラムが使用するデータなどを格納する。制御部110は、画像生成部111、音声生成部112、配信制御部113、マスク制御部114、顔検出部115、バルーン制御部116、コントローラ検出部117、差分検出部118、ビルボード制御部119、鏡面画像制御部120及び投票制御部121を備える。
画像生成部111は、制御部110の他の構成により制御されるゲームの画像を生成する。音声生成部112は、制御部110の他の構成により制御されるゲームの音声を生成する。画像生成部111及び音声生成部112は、生成した画像及び音声のデータを出力装置4に出力する。配信制御部113は、画像生成部111及び音声生成部112が生成したゲームの画像及び音声のデータを他のユーザに配信する指示をユーザから受け付けると、画像生成部111が生成した画像のデータ及び音声生成部112が生成した音声のデータを、通信部102を介して配信サーバ5へアップロードする。制御部110の他の構成の詳細については後述する。
図5は、携帯情報端末の構成を示す。携帯端末装置9は、通信部202、制御部210、データ保持部260、入力装置261、タッチパッド262、表示装置263及びスピーカ264を備える。これらの機能ブロックも、ハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できる。
通信部202は、ネットワーク3を介した通信を制御する。データ保持部260は、記憶装置に設けられ、ゲーム装置10において実行されるゲームプログラムを制御するために携帯端末装置9の制御部210において実行されるアプリケーションが使用するデータなどを格納する。表示装置263は、制御部210により生成された画像を表示する。スピーカ264は、制御部210により生成された音声を出力する。入力装置261は、ユーザからの指示を制御部210に入力する。タッチパッド262は、表示装置263に併設され、ユーザからの指示を制御部210に入力する。
制御部210は、画像生成部211、音声生成部212、メニュー表示部213、マスク指示受付部214、バルーン指示受付部215、ビルボード指示受付部216、鏡面画像指示受付部217及び投票指示受付部218を備える。画像生成部211は、制御部210の他の構成により制御されるゲームの画像を生成して表示装置263に出力する。音声生成部212は、制御部210の他の構成により制御されるゲームの音声を生成してスピーカ264に出力する。制御部210の他の構成の詳細については後述する。
(マスク表示)
実施の形態に係るゲーム装置10は、ユーザの顔の位置を追跡し、ユーザの顔にマスクの画像を重畳して表示することにより、ユーザがマスクをかぶっているような映像を生成する機能を提供する。
携帯端末装置9のマスク指示受付部214は、メニュー表示部213が表示したメニュー画面を介して、マスクを表示する指示をユーザから受け付けると、ゲーム装置10へ指示を送信する。ゲーム装置10のマスク制御部114は、携帯端末装置9からマスクを表示する指示を受信すると、カメラ7により撮像された画像に含まれる人間の顔を顔検出部115に検出させる。
顔検出部115は、カメラ7により撮像された画像に含まれる人間の顔を検出する。顔検出部115は、所定のタイミングでカメラ7により撮像された画像のデータを取得し、既知の任意の顔認識技術を用いて人間の顔を検出する。マスクが表示されている間、顔検出部115は、カメラ7により撮像された全てのフレームについて顔認識を実行してもよいし、所定数のフレームごとに顔認識を実行してもよい。顔検出部115が、所定の時間間隔で連続して、カメラ7により撮像された画像に含まれる顔を検出することにより、撮像されている人の顔を追跡することができる。
マスク制御部114は、マスクをいずれのユーザの顔に表示するかの指示を受け付けるために、顔検出部115により検出された顔の画像のデータを携帯端末装置9へ送信する。マスク指示受付部214は、ゲーム装置10から受信した顔の画像の一覧を表示装置263に表示し、マスクを表示する顔の選択指示をユーザから受け付ける。マスク指示受付部214は、入力装置261又はタッチパッド262を介してユーザから選択指示を受け付けると、受け付けた選択指示をゲーム装置10へ送信する。
マスク指示受付部214は、更に、マスクとして表示すべき画像の種類の選択指示をユーザから受け付ける。マスクとして表示すべき画像は、携帯端末装置9のデータ保持部260又はゲーム装置10のデータ保持部160に格納された2次元画像データ又は3次元形状データの中から選択されてもよいし、ユーザにより描画された画像であってもよい。後者の場合、マスク指示受付部214は、描画画面を表示装置263に表示し、ユーザから画像の描画を受け付ける。マスク指示受付部214は、画像の選択指示を受け付けると、受け付けた選択指示をゲーム装置10へ送信する。このとき、ユーザが描画した画像、又は、ゲーム装置10のデータ保持部160にデータが格納されていない画像が選択された場合は、画像データもゲーム装置10へ送信する。
マスク制御部114は、顔検出部115により検出された人間の顔のうち、携帯端末装置9を介してユーザから指示された人の顔の位置に、指示された種類のマスクの画像を重畳して表示する。マスク制御部114は、顔検出部115が検出した顔の大きさに合わせて、表示すべきマスクの画像を拡大又は縮小し、検出された顔の位置に表示する。
顔検出部115は、顔の輪郭の形状や目、鼻及び口の位置などを検出することにより、顔の向きを検出する。マスク制御部114は、顔検出部115により検出された顔の向きに合わせて、マスクの画像を回転させて表示する。マスクとして表示される画像が、3次元形状データをレンダリングすることにより生成される画像である場合は、マスク制御部114は、検出された顔の向きに合わせて3次元形状データを回転させてレンダリングする。このとき、顔の位置とカメラ7の位置とを結ぶ直線方向を基準方向として、検出された顔の回転角度よりも更に所定の角度回転させた角度をマスクの画像の回転角度としてもよい。すなわち、マスクが顔に表示されているユーザが、顔を傾けたり回転させたりしたときに、実際の傾き又は回転角度よりも大きくマスクの画像を傾けたり回転させてもよい。これにより、マスクの画像の回転をより強調し、マスクの画像が顔の回転に合わせて回転されたことを分かりやすく示すことができる。顔の基準方向からの回転角度が大きいほど、実際の回転角度よりも更に回転させる角度を大きくしてもよい。
マスクとして表示される画像が2次元画像である場合は、顔の位置とカメラ7の位置とを結ぶ直線の周りに顔が回転されたときには顔の回転に合わせてマスクを回転させる一方、顔の位置とカメラ7の位置とを結ぶ直線に垂直な直線の周りの顔の回転は無視してもよい。別の例においては、顔の位置とカメラ7の位置とを結ぶ直線に垂直な垂直の周りに顔が回転している場合は、マスクとして表示する画像を、その直線に垂直な方向に縮小して表示してもよい。更に別の例においては、頭をモデリングした立体、又は、球若しくは円筒などの立体の表面に、マスクとして表示される2次元画像をテクスチャとして貼り付け、顔の向きに合わせて立体を回転させることにより、マスクとして表示される画像を回転させてもよい。この場合も、実際の顔の回転角度よりも大きい角度でマスクとして表示される画像を回転させてもよい。
マスクを表示している人の顔がカメラ7の視野から外れたり、その人がカメラ7に背を向けたり顔を隠したりして、顔検出部115が顔を検出することができなくなったときは、マスク制御部114はマスクを消去する。このとき、マスクを表示していた領域にノイズが入る様子や、画面に表示しているキャラクタがマスクに対して邪魔をしている様子などを表示した後、マスクを消去してもよい。
図6は、出力装置4のディスプレーに表示される画面400の例を示す。出力装置4のディスプレーには、カメラ7により撮像された画像が表示されるとともに、撮像画像にキャラクタ300が重畳されて表示されている。
図7は、携帯端末装置9の表示装置263に表示される画面の例を示す。携帯端末装置9のマスク指示受付部214は、ユーザがマスクを描画するための描画画面500を表示装置263に表示する。ユーザは、描画画面500において、マスクとして表示すべき画像を描画することができる。この描画画面500は、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。
図8は、携帯端末装置9の表示装置263に表示される画面の例を示す。携帯端末装置9のマスク指示受付部214は、マスクを顔に表示するユーザの選択指示をユーザから受け付けるために、ゲーム装置10の顔検出部115により検出された撮像画像中の全ての顔の画像データをゲーム装置10から取得し、取得したユーザの顔の一覧502を表示装置263に表示する。ユーザは、顔の一覧502が表示された画面において、カメラ7により撮像され顔検出部115により検出された全ての人の顔の中から、いずれの人の顔にマスクを付けるのかを選択することができる。この顔の一覧502の画面も、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されないマスク指示受付部214は、表示された顔の一覧502の中からユーザによる選択指示を受け付けると、受け付けた選択指示をゲーム装置10へ送信する。
図9は、出力装置4のディスプレーに表示される画面400の例を示す。ゲーム装置10のマスク制御部114は、携帯端末装置9からマスクを表示する顔の選択指示を取得すると、キャラクタ300がその顔にマスクの素材を吹き付ける様子を表示する。
図10は、出力装置4のディスプレーに表示される画面400の例を示す。キャラクタ300が顔にマスクの素材を吹き付けるアニメーション表示が終了すると、マスク制御部114は、顔検出部115により検出された顔の位置にマスク310を表示する。
図11は、出力装置4のディスプレーに表示される画面400の例を示す。顔にマスク312が表示されているユーザが顔を傾けると、マスク制御部114は、顔検出部115により検出された顔の傾きよりも大きくマスク312を傾けて表示する。
図12は、出力装置4のディスプレーに表示される画面400の例を示す。顔にマスク312が表示されているユーザが顔を手で覆って隠すと、顔検出部115はユーザの顔を検出できなくなる。このとき、マスク制御部114は、表示されていたマスク312が消えていく様子をアニメーション表示し、アニメーション表示が終了するとマスク312を消去する。
(バルーン表示)
実施の形態に係るゲーム装置10は、入力装置6の位置を追跡し、入力装置6の位置から伸びる紐と、紐に繋がれたオブジェクトを表示することにより、入力装置6にバルーンが繋がれているような映像を生成する機能を提供する。
携帯端末装置9のバルーン指示受付部215は、メニュー表示部213が表示したメニュー画面を介して、バルーンを表示する指示をユーザから受け付けると、ゲーム装置10へ指示を送信する。ゲーム装置10のバルーン制御部116は、携帯端末装置9からバルーンを表示する指示を受信すると、ゲーム装置10により認識されている現在アクティブな入力装置6の識別情報を携帯端末装置9へ送信する。
バルーン指示受付部215は、現在アクティブな入力装置6の中から、バルーンを繋ぐ入力装置6の選択指示をユーザから受け付ける。バルーン指示受付部215は、更に、バルーンとして表示すべき画像の種類の選択指示をユーザから受け付ける。バルーンとして表示すべき画像は、携帯端末装置9のデータ保持部260又はゲーム装置10のデータ保持部160に格納された2次元画像データ又は3次元形状データの中から選択されてもよいし、ユーザにより描画された画像であってもよい。後者の場合、バルーン指示受付部215は、描画画面を表示装置263に表示し、ユーザから画像の描画を受け付ける。バルーン指示受付部215は、入力装置6の選択指示と画像の選択指示を受け付けると、受け付けた選択指示をゲーム装置10へ送信する。このとき、ユーザが描画した画像、又は、ゲーム装置10のデータ保持部160にデータが格納されていない画像が選択された場合は、画像データもゲーム装置10へ送信する。バルーン制御部116は、バルーンの画像の種類と、そのバルーンが繋がれる入力装置6との対応関係を保持する。
入力装置6のタッチパッド79が押下されたとき、その入力装置6にバルーンが対応付けられている場合は、バルーン制御部116は、入力装置6の位置に、その入力装置6に対応付けられている画像を表示し、タッチパッド79が押下されている間、画像を拡大する。タッチパッド79から指が離されると、バルーン制御部116は、入力装置6に繋がれた紐の先端に、タッチパッド79に対する入力時間に応じて拡大された画像を表示する。バルーン制御部116は、画像を元の大きさで表示してもよいし、所定の大きさにリサイズして表示してもよいし、画像を拡大又は縮小する指示をユーザから受け付けて画像を拡大又は縮小して表示してもよい。バルーン制御部116は、バルーンをモデリングした立体、又は、球若しくは回転楕円体などの立体の表面に、バルーンとして表示される2次元画像をテクスチャとして貼り付けて表示してもよい。立体の複数の面に同じ画像を貼り付けてもよい。バルーン制御部116は、タッチパッド79に対する入力時間に応じて紐の長さを決定してもよいし、所定の長さにしてもよい。
コントローラ検出部117は、カメラ7により撮像された画像に含まれる入力装置6を検出する。コントローラ検出部117は、所定のタイミングでカメラ7により撮像された画像のデータを取得し、既知の画像解析技術を用いて発光部85により発せられた光を検出する。コントローラ検出部117は、カメラ7により撮像された全てのフレームについて入力装置6の位置を検出してもよいし、所定数のフレームごとに入力装置6の位置を検出してもよい。コントローラ検出部117が、所定の時間間隔で連続して、カメラ7により撮像された画像に含まれる入力装置6の位置を検出することにより、撮像されている入力装置6の位置を追跡することができる。
バルーン制御部116は、バルーンに対して所定の浮力を設定し、入力装置6の移動に合わせてバルーンが移動する様子を物理計算によりシミュレーションして表示してもよい。バルーンと入力装置6とを繋ぐ紐の所定位置に制御点を設け、制御点の動きをシミュレーションすることにより紐全体の動きをシミュレーションしてもよい。バルーン制御部116は、物理現象の一部を簡略化した簡易なシミュレーションによりバルーンを移動させてもよい。
差分検出部118は、動画像においてフレーム間の差分を検出する。差分検出部118は、バルーンが表示されている間、少なくともバルーンの周囲におけるフレーム間の差分を検出する。バルーン制御部116は、差分検出部118により、バルーンの近傍の所定の領域よりも広い領域において、所定の期間にわたって、所定量以上の差分を検出したとき、差分が生じた領域の位置からバルーンの重心に向かう方向に、差分の量、差分が生じた領域の広さ、又は差分が生じた期間に応じた大きさの力をバルーンに作用させ、物理計算によりバルーンを移動させる。これにより、例えば、ユーザが手でバルーンを叩く動作をとることによりバルーンを動かすことができるので、娯楽性の高い相互作用を体験することが可能な環境を提供することができる。バルーン制御部116は、物理計算ではなく、簡易なシミュレーションによりバルーンを移動させてもよい。例えば、差分が生じた領域とは逆の方向に所定量バルーンを移動させてもよい。
バルーン制御部116は、動画像におけるフレーム間の差分の検出に代えて、又は、差分の検出に加えて、カメラ7により撮像された画像の解析によりユーザの体の動きを追跡し、ユーザの体の一部がバルーンに当たったと判定したときに、バルーンに力を作用させてバルーンを移動させてもよい。例えば、ユーザの手の形状を認識し、ユーザの手がバルーンに当たったときに、バルーンを移動させてもよい。
入力装置6がカメラ7の視野から外れたり、ユーザが入力装置6をカメラ7とは逆の方向に向けたり、発光部85を手で覆ったりして、コントローラ検出部117が入力装置6を検出することができなくなったときは、バルーン制御部116はバルーンを消去する。このとき、バルーンを入力装置6に繋いでいた紐が切れて、バルーンが上方へ飛んでいく様子などを表示した後、バルーンを消去してもよい。
図13は、携帯端末装置9の表示装置263に表示される画面の例を示す。携帯端末装置9のバルーン指示受付部215は、ユーザがバルーンを描画するための描画画面510を表示装置263に表示する。ユーザは、描画画面510において、バルーンとして表示すべき画像を描画することができる。この描画画面510は、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。
図14は、携帯端末装置9の表示装置263に表示される画面の例を示す。バルーン指示受付部215は、バルーンを表示する入力装置6の選択指示をユーザから受け付けるために、現在アクティブな入力装置6の識別情報をゲーム装置10から取得し、取得したアクティブな入力装置6の一覧512を表示装置263に表示する。バルーン指示受付部215は、表示された入力装置6の一覧512の中からユーザによる選択指示を受け付けると、受け付けた選択指示をゲーム装置10へ送信する。この一覧512の画面も、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。
図15は、出力装置4のディスプレーに表示される画面400の例を示す。バルーン制御部116は、携帯端末装置9からバルーンを表示する入力装置6の選択指示を取得すると、キャラクタ300がその入力装置6に光を照射する様子を表示し、キャラクタ300が入力装置6にバルーンを表示する機能を付与したような演出を表示する。
図16は、出力装置4のディスプレーに表示される画面400の例を示す。バルーン制御部116は、入力装置6からタッチパッド79が押下されたことを示す情報を取得すると、その入力装置6に対応付けられた画像320が、その入力装置6の位置から膨らんでくる様子を表示する。
図17は、出力装置4のディスプレーに表示される画面400の例を示す。バルーン制御部116は、入力装置6からタッチパッド79から指が離されたことを示す情報を取得すると、その入力装置6に対応付けられた画像320が、その入力装置6に紐322で繋がれた様子を表示する。バルーンは、追跡対象である入力装置6の移動に追随するように、入力装置6が検出された位置に応じてバルーン制御部116により算出される位置に表示される第1の部分である紐322の根の部分と、紐322の根の部分の移動に従属してバルーン制御部116により移動される第2の部分である画像320とを含む。バルーン制御部116は、コントローラ検出部117により検出される入力装置6の位置に追随して紐322の根の部分を移動させ、紐322により引っ張られるようにバルーンの画像320を移動させる。また、差分検出部118によりバルーンの画像320の周囲で差分が検出された場合は、検出された差分に応じてバルーンの画像320を移動させる。
図18は、出力装置4のディスプレーに表示される画面400の例を示す。バルーン制御部116は、コントローラ検出部117から入力装置6の発光部85を検出できないことを示す情報を取得すると、その入力装置6に繋がれていたバルーンの紐322を切断し、紐322の根の部分とバルーンの画像320を分離させる。ユーザは、バルーンの紐322の根の部分が入力装置6に追随して移動されることを、出力装置4に表示される画面から認識することができるので、追跡対象である入力装置6の発光部85及び発光部85に追随する紐322の根の部分を隠すことと、紐322に従属して移動されるバルーンの画像320を入力装置6から切り離すこととの関係性を容易に理解することができる。バルーン制御部116は、バルーンの浮力に応じて、紐322から切り離されたバルーンを上方に移動させてもよいし、空中をふわふわと浮遊させてもよい。
(ビルボード表示)
実施の形態に係るゲーム装置10は、ユーザが描画した文字や画像などを掲示したビルボードを画面に表示する機能を提供する。
携帯端末装置9のビルボード指示受付部216は、メニュー表示部213が表示したメニュー画面を介して、ビルボードを表示する指示をユーザから受け付けると、画像の描画画面を表示装置263に表示し、ビルボードとして表示すべき画像の描画を受け付ける。ビルボード指示受付部216は、ユーザが画像の描画を終了すると、ビルボードを表示する指示をゲーム装置10へ送信する。このとき、ユーザが描画した画像のデータもゲーム装置10へ送信する。また、ビルボードを表示する画面の位置の指示をユーザから受付、受け付けた表示位置をゲーム装置10へ送信する。
ゲーム装置10のビルボード制御部119は、携帯端末装置9から取得した画像を、ゲーム画面の指示された位置にビルボードとして表示する。ユーザがプレイ中の画面を配信している場合、画面に表示されたビルボードも配信される画面に表示されるので、ユーザは視聴者に対するメッセージなどをビルボードに掲示しておくことができる。例えば、配信しているゲームの内容、ゲームに関するコメント、配信している動画像のテーマ、視聴者に対する告知などをビルボードに掲示することができる。
上述したバルーンの例と同様に、差分検出部118が、表示されているビルボードの近傍においてフレーム間の差分を検出すると、ビルボード制御部119は、検出された差分に応じて、表示されているビルボードに影響を与える。例えば、ビルボード制御部119は、差分検出部118により、ビルボードの近傍の所定の領域よりも広い領域において、所定の期間にわたって、所定量以上の差分を検出したとき、差分が生じた領域の位置からビルボードの重心に向かう方向に、差分の量、差分が生じた領域の広さ、又は差分が生じた期間に応じた大きさの力をビルボードに作用させ、物理計算によりビルボードを移動させる。これにより、例えば、ユーザが手でビルボードを叩く動作をとることによりビルボードを動かすことができるので、娯楽性の高い相互作用を体験することが可能な環境を提供することができる。ビルボード制御部119は、物理計算ではなく、簡易なシミュレーションによりビルボードを移動させてもよい。例えば、差分が生じた領域とは逆の方向に所定量ビルボードを移動させてもよい。ビルボードが半透明の画像として表示される場合、ビルボード制御部119は、差分が生じた領域において、ビルボードの画像にノイズが生じたり、ビルボードの背景に透過表示されている領域にノイズが生じたりする様子を表示してもよい。
ビルボード制御部119は、動画像におけるフレーム間の差分の検出に代えて、又は、差分の検出に加えて、カメラ7により撮像された画像の解析によりユーザの体の動きを追跡し、ユーザの体の一部がビルボードに当たったと判定したときに、ビルボードに力を作用させてビルボードを移動させてもよい。例えば、ユーザの手の形状を認識し、ユーザの手がビルボードに当たったときに、ビルボードを移動させてもよい。
図19は、携帯端末装置9の表示装置263に表示される画面の例を示す。携帯端末装置9のビルボード指示受付部216は、ユーザがビルボードを表示する位置を指示するための画面520を表示装置263に表示する。ユーザは、画面520において、ビルボードを表示すべき位置を指示する。このとき、ビルボード指示受付部216は、カメラ7による撮像画像、又は、画像生成部111により生成された表示画像をゲーム装置10から取得して画面520に表示し、ビルボードを表示すべき位置及び大きさの指示を受け付ける。これにより、ユーザは、出力装置4や配信先の視聴者の端末などに表示される画像を確認しながら、ビルボードを表示する位置や大きさを調整することができる。既に他のビルボードが表示されている場合は、ビルボードに設定した画像を設定した位置に表示してもよい。この画面520は、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。
図20は、携帯端末装置9の表示装置263に表示される画面の例を示す。ビルボード指示受付部216は、ユーザがビルボードを描画するための描画画面522を表示装置263に表示する。ユーザは、描画画面522において、ビルボードとして表示すべき画像を描画することができる。この描画画面522も、携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。
図21は、出力装置4のディスプレーに表示される画面400の例を示す。ゲーム装置10のビルボード制御部119は、携帯端末装置9からビルボードとして表示する画像のデータを取得すると、キャラクタ300がビルボードの素材をビルボードの表示位置に吹き付ける様子を表示する。
図22は、出力装置4のディスプレーに表示される画面400の例を示す。キャラクタ300がビルボードの素材を吹き付けるアニメーション表示が終了すると、ビルボード制御部119は、ユーザから指示された位置にビルボード330を表示する。ビルボード330は、両端を2つのオブジェクト332及び334により支持されている。
図23は、出力装置4のディスプレーに表示される画面400の例を示す。ビルボード330の両端を支持している2つのオブジェクト332及び334は、顔検出部115により検出されたユーザの顔の位置の方に向くように回転されて表示される。
図24は、出力装置4のディスプレーに表示される画面400の例を示す。ビルボード330の左端を支持しているオブジェクト332の近傍でユーザが手を動かすと、差分検出部118がフレーム間の差分を検出する。ビルボード制御部119は、オブジェクト332の近傍で差分が検出されると、オブジェクト332を揺らし、差分の量が大きい場合にはオブジェクト332を落下させる。ビルボード制御部119は、左端の支持を失ったビルボード330が垂れ下がる様子を表示する。ビルボード制御部119は、オブジェクト332が落下してから所定時間が経過すると、オブジェクト332が元の位置に戻って再びビルボード330の左端を支持する様子を表示する。
(鏡像画面左右反転機能)
実施の形態に係るゲーム装置10は、画面を左右反転させる機能を提供する。
ゲーム装置10の画像生成部111は、画面に表示されたバルーン、ビルボード、キャラクタなどとユーザが相互作用することを容易にするために、カメラ7により撮像された画像を左右反転させた鏡像画像を用いて画面を生成する。しかし、ユーザが動画像を配信しているときに、カメラ7により文字などを撮像させて視聴者に見せたい場合は、文字が左右反転してしまって読みづらくなってしまう。したがって、視聴者に対するメッセージなどをカメラ7に撮像させて視聴者に配信するときなどのために、必要に応じてユーザの指示により画面を更に左右反転させ、カメラ7により撮像された元の画像を用いて生成された画面を配信する機能を提供する。
鏡面画像制御部120は、入力装置6又は携帯端末装置9の鏡面画像指示受付部217から、表示画面を左右反転させる指示、すなわち、鏡像画像ではなくカメラ7により撮像された元の画像を表示する指示を受け付けると、画像生成部111に表示画面を左右反転させるよう指示する。画像生成部111は、鏡面画像制御部120から表示画面を左右反転させる指示を受け付けると、カメラ7により撮像された元の画像を用いて画面を生成することにより、画面を左右反転させる。
鏡面画像制御部120は、表示画面を左右反転させる指示を受け付けたときに、動画像を配信しているユーザ自身が視聴する出力装置4のディスプレーに表示される画面と、配信サーバ5を介して配信される動画像の画面の双方を左右反転させてもよいし、いずれか一方のみを反転させてもよい。出力装置4のディスプレーに表示される画面を左右反転させる場合、顔検出部115、コントローラ検出部117及び差分検出部118は、顔、入力装置6及びフレーム間の差分を検出するために用いるカメラ7により撮像された画像を左右反転させてもよいし、左右反転させなくてもよい。左右反転させる場合は、顔、入力装置6及び差分が検出される位置と画面との対応関係が維持されるので、マスク、バルーン、ビルボードなどを違和感なく表示することができる。左右反転させない場合は、顔、入力装置6及び差分が検出される位置が画面上の位置と対応しなくなるが、顔、入力装置6及び差分が検出される位置が、画面が左右反転される前の位置から不連続的にジャンプすることはないので、滑らかに相互作用を続けることができる。また、顔、入力装置6及び差分が検出される位置が画面の位置と対応しないという斬新な楽しさを提供することができる。表示画面を左右反転させるときに、撮像画像のみを左右反転し、撮像画像に重畳表示されるキャラクタ、バルーン、ビルボードなどは左右反転しなくてもよいし、双方を左右反転させてもよい。前者の場合、ビルボードなどに表示された文字を読み取りやすくすることができる。後者の場合、表示画面が左右反転していることを視聴者にも分かりやすく示すことができる。なお、後者の場合、バルーンやビルボードなどのオブジェクトは左右反転し、オブジェクトに貼り付けられた、文字などを含むテクスチャは左右反転させなくてもよい。これにより、表示画面が左右反転していることを視聴者にも分かりやすく示しつつ、文字などを読み取りやすくすることができる。
(投票機能)
実施の形態に係るゲーム装置10は、動画像を配信しているユーザから視聴者に対するアンケートの実施指示を受け付け、配信された動画像を視聴している他のユーザからアンケートに対する投票を受け付ける機能を提供する。
ゲーム装置10の投票制御部121は、配信制御部113により表示画像が配信されている間、配信されている動画像に対する評価に関するアンケートの回答を視聴者から受け付ける。投票制御部121は、この常時回答を受付可能なデフォルトのアンケートのほかに、ユーザが独自に設定したアンケートの回答を視聴者から受付可能である。
携帯端末装置9の投票指示受付部218は、ユーザが動画像を配信しているときに、メニュー表示部213が表示したメニュー画面を介して、視聴者に対するアンケートを実施する指示を受け付けると、アンケートの質問及び回答の選択肢をユーザから受け付けるための画面を表示装置263に表示し、アンケートの質問及び回答の選択肢をユーザから受け付ける。アンケートの回答の選択肢の数は予め定められた数であってもよい。例えば、入力装置6の操作ボタン76の数である4つでもよい。投票指示受付部218は、受け付けたアンケートの質問及び回答の選択肢をゲーム装置10へ送信する。投票指示受付部218は、受け付けたアンケートの質問及び回答の選択肢をデータ保持部260に格納しておき、データ保持部260に格納されているアンケートの実施をユーザから指示されたときに、データ保持部260からアンケートの質問及び回答の選択肢を読み出してゲーム装置10へ送信してもよい。
ゲーム装置10の投票制御部121は、他のユーザに配信される画面に、携帯端末装置9から受け付けたアンケートの項目を掲示したビルボードを表示する。これにより、視聴者は、ユーザによるアンケートが実施されていることを知ることができる。投票制御部121は、他のユーザに配信する画面に、アンケートに対する投票を視聴者から受け付けるためのユーザインタフェースを含ませてもよい。このユーザインタフェースは、視聴者が動画像を視聴するために利用する携帯端末装置9、ゲーム装置10又はパーソナルコンピュータに搭載されたブラウザにおいて実行可能なスクリプトなどにより実現されてもよい。このユーザインタフェースは、ゲーム装置10から動画像を配信するサービスにおける標準機能として提供されてもよい。ユーザインタフェースは、視聴者からアンケートに対する投票を受け付けると、ゲーム装置10に直接、又は、配信サーバ5を介してゲーム装置10に、受け付けた投票の結果を送信する。
投票制御部121は、視聴者の端末又は配信サーバ5から、視聴者による投票の結果を取得すると、投票の結果をデータ保持部160に格納する。投票制御部121は、アンケートの実施中に、携帯端末装置9の投票指示受付部218から途中経過の取得を要求されると、データ保持部160から投票の結果を読み出して携帯端末装置9へ送信する。投票指示受付部218は、ゲーム装置10から取得した投票の途中経過を表示装置263に表示する。なお、投票の途中経過は、画像生成部111により生成される画面には表示されないので、出力装置4のディスプレーを視聴しているユーザや、配信サーバ5から配信される動画像を視聴しているユーザは、途中経過を見ることはできず、アンケートを作成した携帯端末装置9を使用しているユーザのみが途中経過を見ることができる。
投票指示受付部218は、ユーザからアンケートの終了を指示されると、受け付けた指示をゲーム装置10へ送信する。投票制御部121は、アンケートの終了指示を受け付けると、表示していたアンケートの項目を画面から消去する。
投票指示受付部218は、ユーザからアンケートの結果の配信を指示されると、受け付けた指示をゲーム装置10へ送信する。投票制御部121は、アンケートの結果の配信指示を受け付けると、データ保持部160からアンケートの結果を読み出して、画像生成部111により生成される画面に表示する。このように、特定の表示対象、例えば、配信制御部113から配信される動画像を視聴している他のユーザからゲーム装置10が受け付けたアンケートへの回答などの情報は、アンケートの実施を要求したユーザの携帯端末装置9においては任意のタイミングで表示可能であるが、配信画像にはユーザの携帯端末装置9から公開の指示がない限りは表示されない。したがって、ユーザは動画像の配信中に、視聴者から非公開に情報を収集することができ、また、必要であればその情報を配信画像に表示して公開することもできる。
図25は、携帯端末装置9の表示装置263に表示される画面の例を示す。携帯端末装置9の投票指示受付部218は、ユーザからアンケートの項目を受け付けるための画面530を表示装置263に表示する。ユーザは、画面530において、アンケートの項目を設定する。投票指示受付部218は、受け付けたアンケートの項目をゲーム装置10へ送信する。
図26は、出力装置4のディスプレーに表示される画面400の例を示す。ゲーム装置10の投票制御部121は、携帯端末装置9からアンケートの項目を取得すると、キャラクタ300がアンケート340をホログラムで表示する様子を表示する。
図27は、配信サーバ5により配信される動画像を視聴するユーザの端末の表示装置に表示される画面600の例を示す。画面600には、アンケートに回答するためのユーザインタフェースが設けられている。ユーザは、インタフェースを介して、アンケートに投票することができる。
図28は、出力装置4のディスプレーに表示される画面400の例を示す。投票制御部121は、配信している動画像を視聴しているユーザからアンケートに対する投票を取得すると、アンケートに対する投票を取得したことを示すアイコン342を画面400に表示する。
図29は、携帯端末装置9の表示装置263に表示される画面の例を示す。投票指示受付部218は、ユーザからアンケートの途中経過を取得する指示を受け付けると、受け付けた指示をゲーム装置10へ送信する。投票制御部121は、アンケートの実施を要求した携帯端末装置9からアンケートの途中経過を取得する指示を受け付けると、データ保持部160からアンケートの結果を読み出して、携帯端末装置9へ送信する。投票指示受付部218は、アンケートの途中経過を示す画面532を表示装置263に表示する。この画面532は、アンケートの実施を要求した携帯端末装置9の表示装置263のみに表示され、配信制御部113から配信される画面には表示されない。すなわち、アンケートの実施を要求したユーザは、アンケートの結果を視聴者に公開することなく、途中経過を確認することができる。
図30は、出力装置4のディスプレーに表示される画面400の例を示す。投票指示受付部218は、ユーザからアンケートの結果を配信する指示を受け付けると、受け付けた指示をゲーム装置10へ送信する。投票制御部121は、アンケートの実施を要求した携帯端末装置9からアンケートの結果を配信する指示を受け付けると、データ保持部160からアンケートの結果を読み出して、集計したアンケートの結果344を画面400に表示する。アンケートの結果344を表示した画面400は、動画像を視聴しているユーザにも配信される。
図31は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。携帯端末装置9のマスク指示受付部214は、ユーザからマスク画像を表示する指示を受け付けると(S100)、受け付けた指示をゲーム装置10へ送信する(S102)。ゲーム装置10のマスク制御部114は、携帯端末装置9からマスク画像を表示する指示を受け付けると、カメラ7により撮像された画像に含まれる顔を顔検出部115に検出させ(S104)、検出された顔画像を携帯端末装置9へ送信する(S106)。
マスク指示受付部214は、マスクを顔に表示するユーザの選択指示をユーザから受け付けるために、ゲーム装置10から送信された顔の画像の一覧を表示装置263に表示し(S108)、マスク画像を表示する顔の選択指示と(S110)、表示するマスク画像の選択指示をユーザから受け付け(S112)、受け付けた顔の選択指示と(S114)、マスク画像の選択指示をゲーム装置10へ送信する(S116)。
マスク制御部114は、携帯端末装置9からマスクを表示する顔及びマスク画像の選択指示を取得すると、キャラクタがその顔にマスクの素材を吹き付ける様子を表示し(S118)、アニメーション表示が終了すると、顔検出部115により検出された顔の位置にマスク画像を表示する(S120)。顔検出部115がユーザの顔を検出できている間は(S122のN)、マスク制御部114は、検出された顔の位置に重畳してマスク画像を表示する(S120)。ユーザが顔を手で覆って隠すなどして、顔検出部115がユーザの顔を検出できなくなると(S122のY)、マスク制御部114は、表示されていたマスク312が消えていく様子をアニメーション表示し(S124)、アニメーション表示が終了するとマスク画像を消去する(S126)。
図32は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。携帯端末装置9のバルーン指示受付部215は、ユーザからバルーンを表示する指示を受け付けると(S200)、受け付けた指示をゲーム装置10へ送信する(S202)。ゲーム装置10のバルーン制御部116は、携帯端末装置9からバルーンを表示する指示を受け付けると、アクティブな入力装置6の識別情報を携帯端末装置9へ送信する(S206)。
バルーン指示受付部215は、ゲーム装置10から送信されたアクティブな入力装置6の一覧を表示装置263に表示し(S208)、バルーン表示を割り当てる入力装置6の選択指示と(S210)、表示するバルーン画像の選択指示をユーザから受け付け(S212)、受け付けた入力装置6の選択指示と(S214)、バルーン画像の選択指示をゲーム装置10へ送信する(S216)。
バルーン制御部116は、携帯端末装置9から入力装置6及びバルーン画像の選択指示を取得すると、その入力装置6にキャラクタが光を照射する様子をアニメーション表示する(S217)。バルーン制御部116は、バルーン表示が割り当てられた入力装置6のタッチパッド79が押下されるまで待機し(S218のN)、タッチパッド79が押下されると(S218のY)、タッチパッド79の押下が終了するまでの間(S222のN)、その入力装置6に割り当てられたバルーン画像が入力装置6の位置から膨らむ様子を表示する(S220)。タッチパッド79の押下が終了すると(S222のY)、バルーン制御部116は、コントローラ検出部117が入力装置6の位置を検出できている間は(S226のN)、バルーンが入力装置6に繋がれた様子を表示する(S224)。ユーザが入力装置6の発光部85を手で覆って隠すなどして、コントローラ検出部117が入力装置6の位置を検出できなくなると(S226のY)、バルーン制御部116は、バルーンを入力装置6に繋いでいた紐が切れて、バルーンが飛んでいく様子をアニメーション表示し(S228)、アニメーション表示が終了するとバルーンを消去する(S230)。
図33は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。携帯端末装置9のビルボード指示受付部216は、ユーザからビルボードを表示する指示を受け付けると(S300)、受け付けた指示をゲーム装置10へ送信する(S302)。ゲーム装置10のビルボード制御部119は、携帯端末装置9からビルボードを表示する指示を受け付けると、画像生成部111により生成されて出力装置4に表示されている表示画像を携帯端末装置9へ送信する(S306)。
ビルボード指示受付部216は、ゲーム装置10から送信された表示画像を表示装置263に表示し(S308)、ビルボードを表示する位置の選択指示と(S310)、ビルボードとして表示する画像の選択指示をユーザから受け付け(S312)、受け付けた表示位置の選択指示と(S314)、ビルボード画像の選択指示をゲーム装置10へ送信する(S316)。
ビルボード制御部119は、携帯端末装置9からビルボードの表示位置及びビルボードとして表示する画像の選択指示を取得すると、表示位置にビルボード画像の素材を吹き付ける様子をアニメーション表示し(S318)、アニメーション表示が終了すると、表示位置にビルボード画像を表示する(S320)。ビルボード制御部119は、差分検出部118により、ビルボードが表示されている領域の近傍において差分が検出されると(S322のY)、検出された差分に応じてビルボードの表示態様を変更する(S324)。差分が検出されない場合は(S322のN)、そのままビルボード画像を表示する(S320)。
図34は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。ゲーム装置10は、カメラ7から撮像画像を取得する(S400)。鏡面画像制御部120は、表示画像を左右反転する指示を受け付けていない場合は(S402のN)、撮像画像を左右反転した鏡像を生成し、鏡像をもとに表示画像を生成させる(S404)。表示画像を左右反転する指示を受け付けている場合は(S402のY)、S404をスキップし、撮像画像を左右反転しないことにより、通常の表示画像とは左右が反転した表示画像を生成させる。
鏡面画像制御部120は、差分検出部118がフレーム間の差分を検出するために用いる検出画像を左右反転する指示を受け付けていない場合は(S406のN)、撮像画像を左右反転して検出画像を生成し、生成した検出画像をもとに差分を検出させる(S408)。検出画像を左右反転する指示を受け付けている場合は(S406のY)、S408をスキップし、撮像画像を左右反転しないことにより、通常の検出画像とは左右が反転した検出画像をもとに差分を検出させる。
差分検出部118は、左右反転した、又は、左右反転しない検出画像をもとに、フレーム間の差分を検出し、撮像された現実世界のユーザなどと、表示された仮想世界のキャラクタ、バルーン、ビルボードなどのオブジェクトとの間の相互作用を検出する(S410)。バルーン制御部116及びビルボード制御部119は、検出された相互作用に応じてバルーン及びビルボードを制御する(S412)。画像生成部111は、相互作用されたバルーン及びビルボードを含む配信画像を生成する(S414)。
図35は、実施の形態に係るゲーム制御方法の手順を示すフローチャートである。携帯端末装置9の投票指示受付部218は、ユーザからアンケートを実施する指示を受け付けると(S500)、更に、アンケートの質問と(S502)、質問に対する回答の選択肢をユーザから受け付け(S504)、受け付けた質問と回答の選択肢とともに、アンケートの実施指示をゲーム装置10へ送信する(S506)。
投票制御部121は、携帯端末装置9からアンケートの実施指示を取得すると、画像生成部111により配信される配信画像にアンケートの質問と回答の選択肢を表示させる(S508)。アンケートが表示された配信画像は、配信制御部113から配信サーバ5などを介して視聴者の端末に送信され(S510)、視聴者はアンケートに回答する(S512)。投票制御部121は、視聴者の端末からアンケートの回答を取得すると、取得した回答をデータ保持部160に格納する(S514)。このとき、投票制御部121は、アンケートの回答を取得した旨を示すアイコンなどを配信画像に表示する。
投票指示受付部218は、ユーザからアンケートの途中経過を取得する指示を受け付けると(S516)、受け付けた指示をゲーム装置10へ送信する(S518)。投票制御部121は、アンケートの実施を要求した携帯端末装置9からアンケートの途中経過を取得する指示を受け付けると、データ保持部160からアンケートの結果を読み出して、携帯端末装置9へ送信する(S520)。投票指示受付部218は、アンケートの途中経過を示す画面を表示装置263に表示する(S522)。
投票指示受付部218は、ユーザからアンケートの結果を公開する指示を受け付けると(S524)、受け付けた指示をゲーム装置10へ送信する(S526)。投票制御部121は、アンケートの実施を要求した携帯端末装置9からアンケートの結果を配信する指示を受け付けると、データ保持部160からアンケートの結果を読み出して、集計したアンケートの結果を配信画像に表示する(S528)。アンケートの結果を表示した配信画像は、視聴者の端末に配信される(S530)。
なお、配信制御部113から他の装置へ配信される配信画像と、出力装置4のディスプレーに表示される表示画像とは、同一であってもよいし、異なるものであってもよい。例えば、上述したマスク、バルーン、ビルボード、アンケートの結果などは、配信画像のみに表示されてもよいし、表示画像のみに表示されてもよいし、双方に表示されてもよい。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、その各構成要素や各処理プロセスの組合せにいろいろな変形が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。