[1.表示制御システムの全体構成]
以下、本発明に係る実施形態について図面に基づき詳細に説明する。本発明に係る表示制御装置は、例えば、携帯電話機等の携帯端末(例えば、スマートフォンやタブレット型端末)、携帯ゲーム機、又はパーソナルコンピュータ等の各種コンピュータを用いて実現される。
図1は、本実施形態に係る表示制御システムの全体構成を示す図である。図1に示すように、表示制御システム1は、表示制御装置10、映像データサーバ20(サーバ装置)、及び複数のビデオカメラ30を含む。ここでは、表示制御装置10と映像データサーバ20とは、ネットワークNを介して互いにデータ送受信可能に接続される。
表示制御装置10は、CPU等を含む制御部11と、フラッシュメモリやRAM等を含む記憶部12と、タッチパネルや各種ボタン等を含む操作部13と、メモリカードスロット等を含む入力部14と、液晶パネル等を含む表示部15と、CMOSカメラ等を含む撮影部16と、無線通信又は有線通信を行うためのネットワークカード等を含む通信部17と、を含んで構成される。
制御部11は、例えば、記憶部12に記憶された各種プログラムを実行する。また、制御部11は、リアルタイムクロック等を含み、現時点に関する情報を取得する。記憶部12は、制御部11がプログラムを実行するために必要な各種データ等を記憶する。操作部13は、各種操作信号を制御部11に入力する。入力部14は、各種記憶媒体からプログラムやデータを読み込む。撮影部16は、現実空間を撮影する。撮影部16により撮影された現実空間画像は、表示部15に表示される。通信部17は、ネットワークNを介して他の端末と通信を行う。
なお、本実施形態では、記憶部12にプログラムやデータが記憶される場合を説明するが、光ディスクなどの他の情報記憶媒体が用いられるようにしてもよい。他にも、ネットワークNを介して遠隔地からプログラムやデータが、表示制御装置10に供給されるようにしてもよい。あるいは、赤外線通信などの各種データ通信を利用してプログラムやデータが表示制御装置10に供給されるようにしてもよい。
映像データサーバ20は、公知のサーバコンピュータであり、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23は、それぞれ、制御部11、記憶部12、及び通信部17と同様のハードウェア構成である。
ビデオカメラ30は、現実空間を撮影する公知のカメラである。例えば、ビデオカメラ30は、業務用ビデオカメラにより実現され、現実空間を所与のフレームレートで連続撮影する。なお、ビデオカメラ30は、現実空間を連続撮影して得られる動画ではなく、静止画を撮影することとしてもよい。
各ビデオカメラ30は、映像データを伝達するためのケーブルCを介して映像データサーバ20とデータ送受信可能に接続される。ここでは、映像データサーバ20とビデオカメラ30とは、ビデオカメラ30の規格で定められた所与のケーブルCにより接続されるものとするが、ネットワークNを介して接続されるようにしてもよい。ビデオカメラ30により撮影された映像を示す映像データは、映像データサーバ20に蓄積される。
[2.表示制御システムにおいて実行される処理の概要]
次に、表示制御システム1において実行される処理の概要について説明する。表示制御システム1は、現実空間を示す現実空間画像と所与の映像とを合成して表示部15に表示させる。本実施形態では、野球の試合を観戦しているユーザが、野球場の現在の様子を撮影部16で撮影すると、野球場の現在の様子を示す画像と、ビデオカメラ30で撮影された試合の過去の映像(以降、リプレイ映像という。)と、が合成される。リプレイ映像は、ユーザが観戦している試合において発生した直前のプレイ(例えば、ユーザがもう一度見てみたいとい思うような素晴らしいプレイ)を撮影した映像や、過去の試合(例えば、昨日行われた試合)におけるプレイを撮影した映像等である。
図2は、ユーザが観戦している野球場の様子を示す模式図である。図2に示すように、野球場40の観客席42において、ユーザUは、表示制御装置10を持ちながら試合を観戦している。観客席42は、グラウンド44を囲むように配置される。
グラウンド44上には、ホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dが、野球規則に定められた所定位置に配置される。更に、ホームベース44aを挟むようにして、バッターボックス44eが配置される。グラウンド44上では、複数の野球選手46により野球の試合が行われている。
試合の様子は、複数のビデオカメラ30の各々により撮影されている。ここでは、5台のビデオカメラ30が用意されており、各々をビデオカメラ30a〜30eという。また、これらをまとめて単にビデオカメラ30ともいう。各ビデオカメラ30は、グラウンド44の周囲に配置され、互いに異なる方向からグラウンド44を撮影し、リプレイ映像を生成する。
例えば、ビデオカメラ30aは、バックネット裏観客席42aに配置される。ビデオカメラ30bは、一塁側観客席42bに配置される。ビデオカメラ30cは、三塁側観客席42cに配置される。ビデオカメラ30dは、ライトスタンド観客席42dに配置される。ビデオカメラ30eは、レフトスタンド観客席42eに配置される。
ユーザが撮影部16を用いてグラウンド44を撮影すると、所定条件のもとで、現実空間画像とリプレイ映像とが表示部15に合成表示される。
図3は、現実空間画像とリプレイ映像とが合成される様子を示す図である。ユーザが操作部13から所与の撮影操作を行うと、グラウンド44の現在の様子が撮影され、現実空間画像50が生成される。図3に示すように、野球選手46がグラウンド44上にいない状態でユーザが撮影操作を行うと、現実空間画像50には、野球選手46が撮影されず、グラウンド44のみが撮影されることになる。
なお、ユーザが撮影操作を行った場合、1枚の静止画としての現実空間画像50が表示部15に表示されるようにしてもよいし、グラウンド44が連続撮影されることによって現実空間画像50が時系列的に連続して表示部15に表示される(即ち、動画として現実空間画像50が連続表示される)ようにしてもよい。
本実施形態では、現実空間画像50に野球選手46が含まれない場合に、現実空間画像50とリプレイ映像60とが合成された合成画面70が表示される。合成画面70に表れるリプレイ映像60は、撮影部16の撮影位置に対応するビデオカメラ30(即ち、ユーザと同じ観客席42に配置されたビデオカメラ30)が撮影したリプレイ映像となる。
ここでは、ユーザが三塁側観客席42cからグラウンド44を撮影しているので、三塁側観客席42cに配置されたビデオカメラ30cのリプレイ映像60と、現実空間画像50と、が合成された合成画面70が表示されることになる。実際にはグラウンド44上に野球選手46がいないので、ユーザは、撮影部16を介してグラウンド44を覗くと、誰もいないグラウンド44において試合が行われているかのように体感しつつ、合成画面70におけるリプレイ映像60を楽しむことができる。
一方、グラウンド44上に野球選手46がいる状態でユーザが撮影部16でグラウンド44を撮影すると、現実空間画像50に野球選手46が撮影されることになる。この状態で現実空間画像50とリプレイ映像60とを合成すると、合成画面70において、現実空間画像50に撮影された野球選手46と、リプレイ映像60に撮影された野球選手46と、が重なって表示されてしまうため、リプレイ映像60が見にくくなってしまう。
本実施形態の表示制御装置10は、現実空間画像50に野球選手46が撮影されている場合、現実空間画像50とリプレイ映像60とを合成させないように制限することによって、リプレイ映像60が見にくい状態で表示されてしまうことを防止する構成になっている。以降、本技術について詳細に説明する。
[3.表示制御システムにおいて実現される機能]
図4は、表示制御システム1で実現される機能を示す機能ブロック図である。図4に示すように、表示制御システム1は、データ記憶部80、画像取得部82、映像データ取得部84、判定部86、推定部88、表示制御部90、及び制限部92を含む。
本実施形態では、これら各機能が、表示制御装置10により実現され、例えば、制御部11が記憶部12に記憶されたプログラムを実行することによって実現される。なお、表示制御システム1において必須の構成は、画像取得部82、映像データ取得部84、表示制御部90、及び制限部92であり、他の構成は省略するようにしてもよい。
[3−1.データ記憶部]
データ記憶部80は、記憶部12を主として実現される。データ記憶部80は、現実空間画像50とリプレイ映像60とを合成するために必要な各種データを記憶する。ここでは、データ記憶部80は、除外対象(例えば、野球選手46)の基本形状を定義したテンプレート画像が格納された辞書データを記憶する。除外対象とは、所定形状の物体であり、ここでは、野球選手46である。
図5は、辞書データのデータ内容を示す模式図である。図5に示すように、辞書データには、野球選手46の基本形状(人型形状)を示すテンプレート画像が格納される。例えば、野球選手46を種々の方向(角度)から見た場合の画像が、テンプレート画像として格納される。ここでは、下記の種類のテンプレート画像が辞書データに格納される。
(1)直立した野球選手46を示すテンプレート画像
(2)守備の構えをしている野球選手46を示すテンプレート画像
(3)投球の構えをしている野球選手46を示すテンプレート画像
(4)打撃の構えをしている野球選手46を示すテンプレート画像
なお、制御部11は、データ記憶部80の記憶内容を取得する手段として機能する。また、データ記憶部80に記憶される内容は、上記の例に限られない。例えば、上記以外の画像がテンプレート画像として格納されているようにしてもよい。
[3−2.画像取得部]
画像取得部82は、制御部11を主として実現される。画像取得部82は、撮影手段(例えば、撮影部16)から現実空間画像50(例えば、現実空間における競技場の現在の様子を示す画像)を取得する。現実空間画像50は、撮影部16の検出信号により生成される。画像取得部82が取得した現実空間画像50を示すデータは、データ記憶部80に一時的に記憶される。
[3−3.映像データ取得部]
映像データ取得部84は、制御部11を主として実現される。映像データ取得部84は、所与の映像(例えば、リプレイ映像60)を示す映像データを記憶する記憶手段(例えば、映像データサーバ20の記憶部22)に記憶される当該映像データを取得する。
映像データサーバ20の記憶部22には、複数の映像データが記憶されている。当該複数の映像データの各々は、互いに異なる位置から現実空間(例えば、野球場40)を撮影した、現実空間の過去の様子を示す映像である。また、本実施形態においては、映像データは、競技場(例えば、野球場40)で行われる競技の過去の映像に関するデータであり、映像データが示す映像は、競技において所与のプレイが行われた場面の映像、又は、競技において所与のイベントが発生した場面の映像である。
図6は、映像データサーバ20の記憶部22の記憶内容を示す図である。図6に示すように、本実施形態では、各映像データは、位置に関する情報に関連付けられて記憶されている。位置に関する情報は、映像データが示すリプレイ映像60が撮影された位置、又は、撮影部16の位置に関する情報である。ここでは、位置に関する情報として、バックネット裏観客席42a、一塁側観客席42b、三塁側観客席42c、ライトスタンド観客席42d、及びレフトスタンド観客席42eの何れかを示す情報が格納される。
なお、図6では説明の簡略化のため、各ビデオカメラ30につき1つの映像データのみを図示しているが、映像データサーバ20の記憶部22の記憶内容は上記の例に限られない。各ビデオカメラ30で撮影されたリプレイ映像60は、試合の進行に応じて記憶部22に順次蓄積されるので、多数の映像データが記憶部22に記憶されることになる。例えば、試合において所与のプレイが行われた場合に、当該プレイが行われた場面の映像が蓄積されたり、試合において所与のイベントが行われたりした場合に、当該イベントが発生した場面の映像が蓄積されるようにしてもよい。
[3−4.判定部]
判定部86は、制御部11を主として実現される。判定部86は、現実空間(例えば、野球場40)に所与の除外対象(例えば、競技者。ここでは、野球選手46)がいるか否かを判定する。本実施形態では、判定部86は、現実空間画像50に野球選手46が撮影されているか否かを判定する。即ち、判定部86は、現実空間画像50に野球選手46が含まれるか否かを判定する。
ここでは、判定部86は、パターンマッチング法に基づいて、現実空間画像50に野球選手46が撮影されているか否かを判定する。即ち、判定部86は、辞書データが示すテンプレート画像と、現実空間画像50と、を比較することによって、現実空間画像50に野球選手46が撮影されているか否かを判定する。
より具体的には、まず、判定部86は、公知のエッジ検出処理に基づいて、現実空間画像50に撮影された物体の境界(輪郭)を示す画素を抽出する。当該抽出される画素は、例えば、隣接画素との画素値の差が閾値以上となる画素となる。ここでは、判定部86は、グラウンド44の色(例えば、緑色や茶色等)との画素値の差が閾値以上となる画素を抽出することになる。
そして、判定部86は、辞書データに格納された各テンプレート画像と、上記抽出した画素により囲まれる領域(以降、対象領域という。)と、を比較することによって、互いの類似具合を示す一致度を算出する。例えば、判定部86は、各テンプレート画像が示す各画素の画素値と、対象領域が示す各画素の画素値と、の差に基づいて一致度を算出する。例えば、当該差が基準値未満である場合に、互いの画素が類似しているとして、一致度をインクリメントする。同様に、他の画素についても比較を行い、画素値の差が基準値未満であれば、一致度をインクリメントする。
判定部86は、各テンプレート画像毎に算出される一致度に基づいて、現実空間画像50に野球選手46が撮影されているか否かを判定する。例えば、判定部86は、各テンプレート画像に対応する一致度の何れかが基準範囲(例えば、基準値以上)である場合、対象領域内に野球選手46が撮影されていると判定する。現実空間画像50に複数の対象領域が存在する場合には、各対象領域について一致度が算出されることになる。
なお、判定部86が、現実空間画像50に野球選手46が撮影されているか否かを判定する方法は、上記の例に限られない。公知の種々の検出方法(ここでは、人物検出方法)が適用可能である。例えば、対象領域の大きさに基づいてテンプレート画像の大きさを調整してから、パターンマッチングが行われるようにしてもよい。
[3−5.推定部]
推定部88は、制御部11を主として実現される。推定部88は、現実空間画像50に基づいて撮影手段(例えば、撮影部16)の撮影位置を推定(算出又は特定)する。撮影部16の撮影位置とは、現実空間画像50が撮影された場合(ユーザにより撮影部16の撮影操作が行われた場合)の撮影部16の位置である。
推定部88は、現実空間画像50の撮影内容(即ち、現実空間画像50に撮影されている物体)に基づいて、撮影部16の撮影位置を推定する。ここでは、現実空間に検出対象が配置されており、推定部88は、現実空間画像50に撮影された検出対象の形状に基づいて、撮影部16の撮影位置を推定する。より具体的には、推定部88は、現実空間画像50に撮影された検出対象と、当該検出対象の基本形状を示す画像と、を比較することによって、撮影部16の撮影位置を推定する。
ここでは、グラウンド44上の内野44f(図2)が、「検出対象」に相当する。内野44fは、グラウンド44内の所定領域であり、ホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dを含む。これらホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dにより囲まれる正方形の領域が、内野44fとなる。
推定部88は、現実空間画像50から、ホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dを抽出する。ここでは、ホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dの色が白であり、それぞれの周囲に配置された土が茶色であることを利用する。即ち、推定部88は、現実空間画像50の各画素のうち、画素値が白いことを示している四角形の領域を抽出し、当該領域の周囲の画素値が茶色である領域を4つ抽出する。
そして、推定部88は、これら4つの領域のうち、バッターボックス44eが両側に配置されている領域をホームベース44aとして推定し、他の3つの領域とホームベース44aとの位置関係に応じて、これら3つの領域をそれぞれ、一塁ベース44b、二塁ベース44c、及び三塁ベース44dとして推定する。推定部88は、当該推定されたホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dをつなぎ合わせた四角形の領域を、内野44fとして抽出する。
推定部88は、現実空間画像50に撮影された内野44fと、内野44fのテンプレート画像と、を比較することによって、撮影部16の位置を特定する。内野44fのテンプレート画像は、内野44fの基本形状を示す画像であり、予め種々の方向から内野44fを撮影した画像である。内野44fのテンプレート画像を示すデータは、予めデータ記憶部80に記憶されている。
図7は、内野44fのテンプレート画像の一例を示す図である。図7に示すように、ここでは、バックネット裏観客席42a、一塁側観客席42b、三塁側観客席42c、ライトスタンド観客席42d、及びレフトスタンド観客席42eのそれぞれから内野44fを撮影した画像が、内野44fのテンプレート画像として用意されている。
推定部88は、現実空間画像50に撮影された内野44fと、各テンプレート画像と、を比較することによって、互いの類似具合を示す一致度を算出する。一致度の算出方法は、判定部86による算出方法と同様であり、画素値の差に基づいて算出される。推定部88は、一致度が最も高いテンプレート画像に関連付けられた位置(即ち、バックネット裏観客席42a、一塁側観客席42b、三塁側観客席42c、ライトスタンド観客席42d、及びレフトスタンド観客席42eの何れか)を、撮影部16の撮影位置として推定する。
合成画面70においては、推定部88により推定された撮影部16の撮影位置に対応する映像データが示すリプレイ映像60が表示されることになる。即ち、映像データ取得部84は、複数の映像データのうち、現実空間画像50に基づいて推定される撮影部16の撮影位置に対応する位置から撮影された映像を示す映像データを取得する。映像データ取得部84は、映像データサーバ20の記憶部22に記憶された複数の映像データのうち、推定部88により推定された位置が関連付けられた映像データを取得する。
なお、現実空間画像50から検出対象を抽出する方法は、上記の例に限られない。画像から物体を検出するための種々の方法が適用可能である。ここでは、ホームベース44a等の位置を特定することによって内野44fを抽出する場合を説明したが、他にも例えば、内野44fのテンプレート画像と現実空間画像50の全体とのパターンマッチングを行うことによって、内野44fが抽出されるようにしてもよい。
また、推定部88による撮影位置の推定方法は、上記の例に限られない。ここでは、現実空間画像50の撮影内容に基づいて、撮影部16の撮影位置が推定されるようにすればよい。他にも例えば、バックネット裏観客席42a、一塁側観客席42b、三塁側観客席42c、ライトスタンド観客席42d、及びレフトスタンド観客席42eのそれぞれからでのみ撮影される所与の物体をグラウンド44上に配置しておき、当該物体が撮影されているか否かを判定することによって、撮影部16の撮影位置が推定されるようにしてもよい。
また、推定部88は、表示制御装置10と他の通信機器との通信結果に基づいて、撮影位置を推定するようにしてもよい。例えば、推定部88は、GPS受信機によるGPS受信の受信結果や無線LANのアクセスポイントとの通信結果に基づいて、撮影位置を推定するようにしてもよい。推定部88は、現実空間画像又は通信結果に基づいて、撮影位置の推定を行うようにすればよい。
[3−6.表示制御部]
表示制御部90は、制御部11を主として実現される。表示制御部90は、現実空間(例えば、野球場40)に除外対象(例えば、競技者。ここでは、野球選手46)がいない場合、現実空間画像50(例えば、競技場の現在の様子を示す画像)と映像(例えば、競技の過去の映像。即ち、リプレイ映像60)とを合成して表示手段(例えば、表示部15)に表示させる。野球場40に野球選手46がいない場合とは、現実空間画像50に野球選手46が撮影されない場合である。
本実施形態においては、表示制御部90は、現実空間画像50に除外対象(例えば、競技者。ここでは、野球選手46)が撮影されていない場合、合成画面70を表示させる。即ち、表示制御部90は、判定部86により、現実空間画像50に野球選手46が撮影されていないと判定された場合、合成画面70を表示させる。
ここでは、表示制御部90は、競技場(例えば、野球場40)の現在の様子を示す現実空間画像50と、所与のプレイが行われた場面の映像又は所与のイベントが発生した場面の映像と、を合成して表示手段(例えば、表示部15)に表示させることになる。
更に、本実施形態においては、表示制御部90は、現実空間画像50と、撮影手段(例えば、撮影部16)の撮影位置に対応する位置から撮影された映像(例えば、リプレイ映像60)と、を合成して表示手段(例えば、表示部15)に表示させる。「撮影部16の撮影位置に対応する位置」とは、推定部88により推定された撮影部16の撮影位置に関連付けられた位置であり、ここでは、バックネット裏観客席42a、一塁側観客席42b、三塁側観客席42c、ライトスタンド観客席42d、及びレフトスタンド観客席42eの何れかである。
[3−7.制限部]
制限部92は、制御部11を主として実現される。制限部92は、現実空間(例えば、野球場40)に除外対象(例えば、競技者。ここでは、野球選手46)がいる場合、表示制御部90による表示制御処理の実行を制限する。野球場40に野球選手46がいる場合とは、現実空間画像50に野球選手46が撮影される場合である。
「表示制御処理の実行を制限する」とは、合成画面70が表示されないように抑止することであり、例えば、現実空間画像50とリプレイ映像60とを合成させないように抑止することである。映像データ取得部84が映像データを取得しないように抑止することが、表示制御処理の実行を制限することに相当するようにしてもよい。
本実施形態では、制限部92は、現実空間画像50に除外対象(例えば、競技者。ここでは、野球選手46)が撮影されている場合、表示制御部90による表示制御処理の実行を制限する。即ち、表示制御部90は、判定部86により、現実空間画像50に野球選手46が撮影されていると判定された場合、表示制御部90による表示制御処理の実行を制限する。
[4.表示制御システムにおいて実行される処理]
次に、表示制御システム1が実行する処理について説明する。図8は、表示制御システム1が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。例えば、ユーザが操作部13から撮影操作を行った場合、制御部11は、記憶部12に記憶されるプログラムに従って、図8に示す処理を実行する。
図8に示すように、まず、制御部11は、撮影部16から現実空間画像50を取得する(S1)。S1において取得された現実空間画像50の画像データは、記憶部12に記憶される。
制御部11は、S1で取得した現実空間画像50に野球選手46が撮影されているか否かを判定する(S2)。S2においては、制御部11は、辞書データに格納されているテンプレート画像と現実空間画像50とを比較することによって算出される一致度に基づいて、現実空間画像50に野球選手46が撮影されているか否かを判定する。
現実空間画像50に野球選手46が撮影されていると判定された場合(S2;Y)、処理は終了する。この場合、後述するS6の処理が行われないので、合成画面70の表示が制限され、現実空間画像50とリプレイ映像60とが合成されないことになる。
一方、現実空間画像50に野球選手46が撮影されていないと判定された場合(S2;N)、制御部11は、現実空間画像50に内野44fが撮影されているか否かを判定する(S3)。S3においては、制御部11は、現実空間画像50からホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44dが抽出されるか否かを判定することによって、現実空間画像50に内野44fが撮影されているか否かを判定する。
現実空間画像50に内野44fが撮影されていないと判定された場合(S3;N)、処理は、終了する。
一方、現実空間画像50に内野44fが撮影されていると判定された場合(S3;Y)、制御部11は、現実空間画像50に撮影された内野44fの形状に基づいて、撮影部16の撮影位置を推定する(S4)。S4においては、制御部11は、現実空間画像50に撮影された内野44fと、内野44fのテンプレート画像と、を比較することによって算出される一致度が最も高いテンプレート画像に関連付けられた位置を、撮影部16の撮影位置として推定する。
制御部11は、映像データサーバ20の記憶部22に記憶された映像データのうち、S4で推定した撮影位置に対応する位置から撮影されたリプレイ映像60を示す映像データをネットワークNを介して取得する(S5)。S5においては、制御部11は、映像データサーバ20に対し、S4で推定した撮影位置に関する情報とともに、映像データの取得要求を送信する。映像データサーバ20は、映像データの取得要求を受信すると、記憶部22に蓄積されている複数の映像データのうち、上記撮影位置に関する情報が関連付けられた映像データを表示制御装置10に対して送信する。制御部11は、当該映像データを受信することによって、映像データを取得することになる。
制御部11は、S1で取得した現実空間画像50と、S5で取得した映像データが示すリプレイ映像60と、を合成し、合成画面70を表示部15に表示させる(S6)。S6においては、制御部11は、現実空間画像50とリプレイ映像60とを所与の割合で合成(アルファブレンド)した合成画像を生成し、合成画面70として表示させる。例えば、ある画素における現実空間画像50の割合をα(例えば、0<α<1)とすると、当該画素におけるリプレイ映像60の割合は「1−α」となる。なお、既にS6の処理が実行されている場合には、続きのリプレイ映像60から合成画面70が表示されることになる。
制御部11は、リプレイ映像60の再生が終了したか否かを判定する(S7)。リプレイ映像60の再生が終了したと判定されない場合(S7;N)、処理はS6に戻り、リプレイ映像60の続きが再生される。リプレイ映像60の再生が終了したと判定された場合(S7;Y)、処理は終了する。
以上説明した表示制御システム1によれば、現実空間画像50に野球選手46が撮影されている場合には、現実空間画像50とリプレイ映像60とを合成しないように制限されるので、現実空間画像50に撮影された野球選手46と、リプレイ映像60に撮影された野球選手46と、が重なってしまい、リプレイ映像60が見にくい状態で表示されてしまうことを防止することができる。
また、撮影部16の撮影位置に対応する位置から撮影されたリプレイ映像60を合成することによって、ユーザがいる観客席42に応じた最適なリプレイ映像60を表示させることができる。
なお、実施形態においては、図4に示す各機能が表示制御装置10により実現される場合を説明したが、データ記憶部80、判定部86、及び制限部92については、映像データサーバ20により実現されるようにしてもよい。この場合、データ記憶部80は、記憶部22を主として実現され、判定部86及び制限部92は、制御部21を主として実現される。
判定部86は、ネットワークNを介して現実空間画像50を取得し、現実空間画像50に野球選手46が撮影されているか否かを判定することになる。また、制限部92は、判定部86の判定結果に基づいて、映像データを表示制御装置10に配信するか否かを決定することになる。この場合、制限部92は、映像データを表示制御装置10に配信しないことによって(映像データ取得部84による映像データの取得を制限することによって)、合成画面70が表示されることを制限する。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図9は、変形例の機能ブロック図である。図9に示すように、下記に説明する変形例の表示制御システム1は、実施形態の機能に加えて、第1ずれ情報取得部94と、第2ずれ情報取得部96と、除外対象数取得部98と、の少なくとも一つを含む。なお、以降では、これら各機能が表示制御装置10において実現される場合を説明するが、映像データサーバ20において実現されるようにしてもよい。
(1)例えば、撮影部16はビデオカメラ30と完全に同じ位置から完全に同じ方向に向けてグラウンド44を撮影しているわけではないので、撮影部16の位置及び撮影方向とビデオカメラ30の位置及び撮影方向とのずれに応じて、リプレイ映像60の大きさや位置を調整するようにしてもよい。
変形例(1)の表示制御システム1は、第1ずれ情報取得部94を含む。第1ずれ情報取得部94は、制御部11を主として実現される。第1ずれ情報取得部94は、現実空間画像50に基づいて推定される撮影部16の撮影位置と、映像(ここでは、リプレイ映像60)の撮影位置と、のずれに関する撮影ずれ情報を取得する。リプレイ映像60の撮影位置とは、リプレイ映像60を撮影したビデオカメラ30の位置である。また、撮影ずれ情報は、撮影部16の撮影位置及びビデオカメラ30の撮影位置のずれと、撮影部16の焦点(注視点)及びビデオカメラ30の焦点のずれと、を含む。
変形例(1)の推定部88は、現実空間画像50に基づいて撮影部16の撮影位置及び焦点を推定する。ここでは、推定部88は、現実空間画像50に撮影された内野44fの位置、大きさ、及び向き(形状)に基づいて、現実空間における撮影部16の撮影位置及び焦点を推定する。
図10は、撮影部16の撮影位置及び焦点の推定方法を説明するための図である。図10に示すように、例えば、グラウンド44上の内野44fに基づいて現実空間座標系(XW−YW−ZW座標系)が現実空間に設定され、撮影部16の撮影位置と撮影方向(視線方向)に基づいて撮影部座標系(XC1−YC1−ZC1座標系)が設定される。撮影部16の撮影方向は、撮影部16の撮影位置と焦点とを結ぶ方向である。
現実空間座標系は、現実空間に配置される物体の位置を表すための座標系であり、例えば、現実空間に配置された検出対象(ここでは、内野44f)が基準となる座標系である。一方、撮影部座標系は、現実空間に配置された各物体と撮影部16との位置関係を表すための座標系であり、撮影部16が基準となる座標系である。
ここでは、現実空間座標系の原点OWは、内野44fに含まれるホームベース44aに設定される。例えば、ホームベース44aと一塁ベース44bとを結ぶ方向が、XW軸方向として設定され、ホームベース44aと三塁ベース44dとを結ぶ方向が、YW軸方向として設定される。ZW軸方向は、XW軸方向とYW軸方向の外積方向となる。
一方、撮影部座標系の原点OC1は、撮影部16の位置に設定される。そして、例えば、XC1軸方向が現実空間画像50の長手方向(即ち、撮影部16から見て水平方向)に対応し、YC1軸方向が現実空間画像50の短手方向(即ち、撮影部16から見て垂直方向)に対応する。また例えば、ZC1軸方向が、撮影部16の撮影方向に設定される。
現実空間座標系(XW−YW−ZW座標系)は、回転及び平行移動することによって、撮影部座標系(XC1−YC1−ZC1座標系)に変換可能である。推定部88は、現実空間画像50における内野44fの位置、大きさ、及び向き(形状)に基づいて、現実空間座標系から撮影部座標系へ変換を行う場合の回転成分及び平行移動成分を算出する。
具体的には、まず、推定部88は、実施形態と同様の手法に基づいて、現実空間画像50に撮影された内野44fの位置を抽出する。即ち、内野44fが抽出される際には、現実空間画像50における内野44fの四隅の位置(即ち、ホームベース44a、一塁ベース44b、二塁ベース44c、及び三塁ベース44d)が特定されることによって、現実空間画像50に表れる内野44fが特定される。
そして、推定部88は、抽出された内野44fと、内野44fのテンプレート画像と、のパターンマッチング処理を行うことによって、内野44fの大きさ及び向き(内野44fの歪み具合)を特定する。現実空間画像50に撮影された内野44fの位置、大きさ、及び向きに基づいて、現実空間座標系から撮影部座標系へ変換する場合の回転成分と平行移動成分とが算出される。例えば、現実空間画像50に撮影された内野44fの位置、大きさ、及び向きを示す数値を所与の変換行列に代入することによって、現実空間座標系から撮影部座標系へ変換する場合の回転成分と平行移動成分とが算出される。
推定部88は、現実空間座標系を上記回転成分だけ回転させ、上記平行移動成分だけ平行移動させて撮影部座標系を推定することによって、現実空間における撮影部16の位置及び撮影方向を推定する。当該推定された撮影部16の撮影位置から撮影方向に所定距離だけ離れた位置が撮影部16の焦点となる。
変形例(1)の表示制御部90は、撮影ずれ情報に基づいて映像の表示位置と大きさとの少なくとも一方を決定する。表示制御部90は、撮影部16の撮影位置とビデオカメラ30の撮影位置とのずれに基づいて、リプレイ映像60の大きさを決定する。表示制御部90は、撮影部16の焦点とビデオカメラ30の焦点とのずれに基づいて、リプレイ映像60の表示位置を決定する。
図11は、変形例(1)におけるリプレイ映像60の表示位置と大きさの決定方法を説明するための図である。図11に示すように、リプレイ映像60の撮影位置及び撮影方向を示す座標系を、ビデオカメラ座標系(XC2−YC2−ZC2座標系)という。ビデオカメラ座標系の原点OC1及び三軸の方向を示す情報は、予め映像データに関連付けられて記憶されているようにしてもよいし、撮影部座標系の推定方法と同様の方法により算出されるようにしてもよい。
まず、表示制御部90は、現実空間座標系の原点Owと撮影部座標系の原点OC1との距離d1と、現実空間座標系の原点Owとビデオカメラ座標系の原点OC2との距離d2と、を算出する。また、表示制御部90は、撮影部16の焦点Q1と、ビデオカメラ30の焦点Q2と、を特定し、焦点Q1と焦点Q2とを結ぶベクトルV12を算出する。撮影部16の焦点Q1は、撮影部座標系の原点OC1からZC1軸方向に所定距離だけ離れた位置となる。ビデオカメラ30の焦点Q2は、撮影部座標系の原点OC2からZC2軸方向に所定距離だけ離れた位置となる。例えば、表示制御部90は、距離d1と距離d2とに基づいてリプレイ映像の大きさを決定し、ベクトルV21に基づいてリプレイ映像60の表示位置を決定する。
図12は、表示制御部90がリプレイ映像60の大きさ及び表示位置を制御する様子を示す図である。例えば、図12に示すように、表示制御部90は、距離d1と距離d2との差Δdに基づいてリプレイ映像60の大きさを変更する(図12のリプレイ映像60aの状態)。
具体的には、表示制御部90は、撮影部16の撮影位置とリプレイ映像60の撮影位置とのずれとリプレイ映像60の大きさとの関連付けに基づいて、撮影部16の撮影位置とリプレイ映像60の撮影位置との実際のずれに関連付けられたリプレイ映像60の大きさを取得する。当該関連付けは、データ記憶部80に記憶され、テーブル形式であってもよいし、数式形式であってもよい。
例えば、距離d1が距離d2よりも長くΔdが正である場合には、撮影部16がビデオカメラ30よりも内野44fから遠く、現実空間画像50の内野44fがリプレイ映像60の内野44fよりも小さいので、リプレイ映像60が現実空間画像50に合うように縮小される。距離d1が距離d2と略同じでありΔdが略0の場合には、撮影部16とビデオカメラ30とは内野44fからの距離が略同じであり、現実空間画像50の内野44fがリプレイ映像60の内野44fと略同じ大きさであるので、リプレイ映像60の大きさは変わらない。距離d1が距離d2よりも短くΔdが負である場合には、撮影部16がビデオカメラ30よりも内野44fに近く、現実空間画像50の内野44fがリプレイ映像60の内野44fよりも大きいので、リプレイ映像60が現実空間画像50に合うよう拡大される。
なお、数式形式の関連付けによってリプレイ映像60の大きさが決定される場合には、表示制御部90は、距離d1が距離d2の差Δdを所与の数式に代入することにより得られる拡大率又は縮小率に基づいてリプレイ映像60の大きさを決定するようにしてもよい。例えば、表示制御部90は、リプレイ映像60を(1−k×Δd)倍(kは任意の係数)するように、リプレイ映像60の大きさを決定するようにしてもよい。
また、図12に示すように、表示制御部90は、ベクトルV21に基づいてリプレイ映像60の表示位置を変更する(図12のリプレイ映像60bの状態)。
具体的には、表示制御部90は、撮影部16の焦点Q1とリプレイ映像60の焦点Q2とのずれとリプレイ映像60の表示位置との関連付けに基づいて、撮影部16の焦点Q1とリプレイ映像60の焦点Q2との実際のずれに関連付けられた表示位置を取得する。当該関連付けは、データ記憶部80に記憶され、テーブル形式であってもよいし、数式形式であってもよい。
例えば、表示制御部90は、リプレイ映像60を、ベクトルV12が示す方向に、ベクトルV21の大きさに応じた距離だけ移動させる。例えば、撮影部16から見てベクトルV12が左方向を向いている場合、リプレイ映像60を左方向に移動させる。例えば、撮影部16から見てベクトルV12が右方向を向いている場合、リプレイ映像60を右方向に移動させる。
なお、上記においては、リプレイ映像60の大きさと表示位置との両方が調整される場合を説明するが、リプレイ映像60の大きさと表示位置との何れか一方のみが調整されるようにしてもよい。
表示制御部90は、現実空間画像50と、表示位置と大きさとの少なくとも一方が決定された映像と、を合成して表示部15に表示させる(図12の合成画面70)。即ち、表示制御部90は、上記のようにして決定された大きさのリプレイ映像60を、上記のようにして決定された表示位置に表示されるように、合成画面70に表示させることになる。
変形例(1)によれば、リプレイ映像を最適な位置及び大きさで合成画面70に表示させることができる。
(2)また例えば、リプレイ映像60における内野44fの位置及び大きさを、現実空間画像50における内野44fの位置及び大きさに略一致させるように、リプレイ映像60の表示位置や大きさを調整するようにしてもよい。
変形例(2)の表示制御システム1は、第2ずれ情報取得部96を含む。第2ずれ情報取得部96は、制御部11を主として実現される。第2ずれ情報取得部96は、現実空間画像50における検出対象(例えば、内野44f)の位置と大きさとの少なくとも一方と、映像(例えば、リプレイ映像60)における検出対象の位置と大きさとの少なくとも一方と、のずれに関する検出対象ずれ情報を取得する。
図13は、現実空間画像50とリプレイ映像60とが合成される様子を示す図である。例えば、現実空間画像50及びリプレイ映像60の左上を原点Osとするスクリーン座標系(XS−YS座標系)が、現実空間画像50及びリプレイ映像60のそれぞれに設定される。
第2ずれ情報取得部96は、実施形態と同様の方法により、現実空間画像50における内野44fの位置を特定する。ここでは、第2ずれ情報取得部96は、内野44f内のホームベース44aの位置P1の座標を特定する。また、第2ずれ情報取得部96は、内野44fの大きさとして、内野44fに対応する画素数X1を取得する。
一方、リプレイ映像60における内野44fの表示位置及び大きさを示す情報は、予めリプレイ映像60に関連付けられて記憶されているようにしてもよいし、上記と同様の方法に基づいて算出されるようにしてもよい。例えば、各リプレイ映像60に関連付けて、当該リプレイ映像60における内野44f内のホームベースの位置P2の座標と、内野44fに対応する画素数X2が記憶されているようにしてもよいし、これらが算出されるようにしてもよい。
ここでは、検出対象ずれ情報は、位置P1及び位置P2のずれに関する情報と、画素数X1及び画素数X2のずれに関する情報と、を含むことになる。変形例(2)の表示制御部90は、検出対象ずれ情報に基づいて映像の表示位置と大きさとの少なくとも一方を決定する。
表示制御部90は、リプレイ映像60における内野44fの大きさを示す画素数X2を、現実空間画像50における内野44fの大きさを示す画素数X1に合わせるように、リプレイ映像60の大きさを調整する(図13のリプレイ映像60cの状態)。そして、表示制御部90は、リプレイ映像60における内野44fの位置P2を、現実空間画像50における内野44fの位置P1に合わせるように、リプレイ映像60の位置を調整する(図13のリプレイ映像60dの状態)。
なお、上記においては、リプレイ映像60の大きさと表示位置との両方が調整される場合を説明するが、リプレイ映像60の大きさと表示位置との何れか一方のみが調整されるようにしてもよい。
表示制御部90は、現実空間画像50と、表示位置と大きさとの少なくとも一方が決定された映像と、を合成して表示手段に表示させる。即ち、表示制御部90は、上記のようにして決定された大きさのリプレイ映像60を、上記のようにして決定された表示位置に表示されるように、合成画面70に表示させることになる。
変形例(2)によれば、リプレイ映像を最適な位置及び大きさで合成画面70に表示させることができる。
(3)また例えば、実施形態においては、野球場40に野球選手46が一人でもいれば(即ち、野球選手46が一人でも現実空間画像50に撮影されていれば)リプレイ映像60を合成させない場合を説明したが、野球場40にいる野球選手46が少なければ(現実空間画像50に撮影されている野球選手46が少なければ)、現実空間画像50に撮影された野球選手46とリプレイ映像60に撮影された野球選手46とが、あまり重ならないので、リプレイ映像60が見にくくならないことがある。したがって、野球場40にいる野球選手46の数(現実空間画像50に撮影された野球選手46の数)に応じて、合成画面70の表示を制限するか否かを決定するようにしてもよい。
変形例(3)の表示制御システム1は、除外対象数取得部98を含む。除外対象数取得部98は、制御部11を主として実現される。除外対象数取得部98は、現実空間(例えば、野球場40)にいる除外対象(例えば、野球選手46)の数を取得する。例えば、除外対象数取得部98は、現実空間画像50の撮影内容に基づいて、野球場40にいる野球選手46の数を取得する。ここでは、除外対象数取得部98は、現実空間画像50に野球選手46が撮影されていると判定された場合、現実空間画像50に撮影されている野球選手46の数を取得する。
除外対象数取得部98は、現実空間画像50と野球選手46のテンプレート画像との比較結果に基づいて、現実空間画像50に撮影された野球選手46の数を取得する。ここでは、除外対象数取得部98は、現実空間画像50から抽出された対象領域のうち、テンプレート画像との一致度が閾値以上となった対象領域の数をカウントすることによって、現実空間画像50に撮影された野球選手46の数を取得する。
変形例(3)の表示制御部90は、現実空間(例えば、野球場40)に除外対象(例えば、野球選手46)がいない場合、又は、現実空間にいる除外対象の数が基準数未満である場合、現実空間画像50と映像とを合成して表示部15に表示させる。基準数は、予め定められた数値(例えば、3)であればよい。また、基準数は、リプレイ映像60毎に共通の数であってもよいし、互いに異なる数であってもよい。
ここでは、表示制御部90は、現実空間画像50に除外対象(例えば、野球選手46)が撮影されていないと判定された場合、又は、現実空間画像50に撮影されている除外対象の数が基準数未満である場合、現実空間画像50と映像とを合成して表示部15に表示させることになる。
変形例(3)の制限部92は、現実空間(例えば、野球場40)にいる除外対象(例えば、野球選手46)数が基準数以上である場合、表示制御部90による表示制御処理の実行を制限する。ここでは、制限部92は、現実空間画像50に除外対象(例えば、野球選手46)が撮影されていると判定され、かつ、現実空間画像50に撮影されている除外対象の数が基準数以上である場合、表示制御部90による表示制御処理の実行を制限することになる。
変形例(3)によれば、野球場40に野球選手46がいたとしても(現実空間画像50に野球選手46が撮影されていたとしても)、この野球選手46が比較的少ない数であれば、リプレイ映像60を合成しても見にくくならないことがあるので、リプレイ映像60が比較的見やすい状態で合成画面70を表示させることができる。
(4)また例えば、ホームベース44a付近でのクロスプレイを示すリプレイ映像60が用意されている場合、現実空間画像50に野球選手46が撮影されていたとしても、ホームベース44a付近にさえ野球選手46が撮影されていなければ、リプレイ映像60を合成させても、クロスプレイが見にくくなることがない。このように、所定領域内に野球選手46が撮影されていなければ、リプレイ映像60を合成させるようにしてもよい。
変形例(4)の判定部86は、現実空間(例えば、野球場40)の所定領域内に除外対象(例えば、野球選手46)がいるか否かを判定する。所定領域とは、現実空間に設定される領域であり、ここでは、ホームベース44aを含む領域である。例えば、ホームベース44aから一定距離以内の領域が、「所定領域」に相当する。
なお、所定領域は、リプレイ映像60毎に異なるようにしてもよい。この場合、映像データと所定領域とが関連付けられて映像データサーバ20に記憶されているようにしてもよい。即ち、この場合、リプレイ映像60が示すプレイ又はイベントが行われている領域を示す情報が、所定領域に相当する。
ここでは、判定部86は、現実空間画像50が示す現実空間の所定領域内に除外対象(例えば、野球選手46)が撮影されているか否かを判定することになる。例えば、データ記憶部80には、現実空間の所定領域にある物体のテンプレート画像が記憶される。ここでは、ホームベース44aのテンプレート画像が記憶される。判定部86は、現実空間画像50とホームベース44aのテンプレート画像とを比較することによって、現実空間画像50にホームベース44aが撮影されているか否かを判定する。判定部86は、現実空間画像50のうち、上記所定領域が撮影されている領域内と、野球選手46のテンプレート画像と、を比較することによって、所定領域内に野球選手46が撮影されているか否かを判定する。
変形例(4)の表示制御部90は、現実空間(例えば、野球場40)の所定領域内に除外対象(例えば、野球選手46)がいない場合、現実空間画像50と映像(例えば、リプレイ映像60)とを合成して表示部15に表示させる。ここでは、表示制御部90は、現実空間画像50が示す野球場40の所定領域内に野球選手46が撮影されていないと判定された場合、合成画面70を表示させることになる。
変形例(4)の制限部92は、現実空間(例えば、野球場40)の所定領域内に除外対象(例えば、野球選手46)がいる場合、表示制御部90による表示制御処理の実行を制限する。ここでは、制限部92は、現実空間画像50が示す野球場40の所定領域内に野球選手46が撮影されていると判定された場合、表示制御部90による表示制御処理の実行を制限することになる。
変形例(4)によれば、リプレイ映像60にとって重要な領域内に野球選手46がいない場合に、合成画面70を表示させることができるので、重要なシーンが見にくい状態で表示されてしまうことを防止することができる。
(5)また例えば、映像データ毎に、除外対象となるものが異なっていてもよい。例えば、試合のプレイに係る映像データについては、野球選手46を除外対象とし、野球チームのマスコット人形の応援映像を示す映像データについては、野球選手46ではなく、当該マスコット人形を除外対象とするようにしてもよい。
図14は、映像データと除外対象の種類との関連付けを示す図である。例えば、図14に示す関連付けは、テーブル形式であってもよいし、数式形式であってもよく、データ記憶部80に記憶される。
変形例(5)の判定部86は、映像データと除外対象の種類との関連付けに基づいて、映像データ取得部84により取得される映像データに関連付けられた除外対象の種類を特定する手段を含み、当該特定された種類の除外対象が、現実空間画像に撮影されているか否かを判定する。
例えば、データ記憶部80の辞書データには、除外対象の種類毎に、当該除外対象の基本形状を示すテンプレート画像が登録されている。判定部86は、表示対象となる映像データに関連付けられた除外対象の種類を取得し、当該除外対象の種類に対応するテンプレート画像を用いて、現実空間画像50に除外対象が撮影されているか否かを判定することになる。
変形例(5)の表示制御部90は、現実空間に、映像に関連する種類の除外対象(例えば、野球選手46又はマスコット人形)がいない場合、現実空間画像50と映像とを合成して表示手段(例えば、表示部15)に表示させる。ここでは、表示制御部90は、映像データに関連付けられた種類の除外対象が現実空間画像50に撮影されていないと判定された場合、合成画面70を表示させることになる。
変形例(5)の制限部92は、現実空間に、映像に関連する種類の除外対象(例えば、野球選手46又はマスコット人形)がいる場合、表示制御部90による表示制御処理の実行を制限する。ここでは、制限部92は、映像データに関連付けられた種類の除外対象が現実空間画像50に撮影されていると判定された場合、表示制御部90による表示制御処理の実行を制限する。
変形例(5)によれば、映像データに応じた除外対象を設定することができる。
(6)また例えば、上記においては、現実空間画像50に野球選手46が撮影されているか否かが判定されることによって、合成画面70を表示させるか否かが決定される場合を説明したが、合成画面70を表示させるか否かを決定する方法は、これに限られない。野球場40に野球選手46がいるか否かに応じて、合成画面70を表示させるか否かが制御されるようにすればよい。
例えば、実際の野球の試合においては、試合の開始前、試合の終了後、攻守交代のタイミング、雨天等のために試合が中断しているタイミング、及びグラウンド44の整備をするタイミング等では、野球場40に野球選手46がいないことが多い。このため、現時点がこれらのタイミングであるか否かに応じて、合成画面70を表示させるか否かが決定されるようにしてもよい。
変形例(6)の機能ブロックは、実施形態と同様であるが、ここでは、判定部86及び制限部92が映像データサーバ20において実現される場合を説明する。変形例(6)の判定部86は、現時点が第1の期間に含まれるか否か、又は、現時点が第2の期間に含まれるか否か、の少なくとも一方を判定する。
ここで、第1の期間とは、野球場40に野球選手46がいない期間である。例えば、試合開始前の期間、試合終了後の期間、攻守交代の期間、及び試合が中断する期間が、第1の期間に相当する。一方、第2の期間とは、野球場40に野球選手46がいる期間であり、第1の期間とは異なる期間である。例えば、試合が中断せずに進行している期間が、第2の期間に相当する。
これら第1の期間及び第2の期間は、予め指定された期間(例えば、記憶部22等に記憶された日時)であってもよいし、試合の進行状況に応じて、映像データサーバ20の操作部等からオペレーターが入力する期間であってもよい。
変形例(6)の表示制御部90は、現実空間(例えば、野球場40)に除外対象(例えば、野球選手46)がいない第1の期間に現時点が含まれる場合、現実空間画像50と映像とを合成して表示手段(例えば、表示部15)に表示させる。ここでは、判定部86により現時点が第1の期間に含まれると判定された場合、映像データ取得部84により映像データが取得され、表示制御部90は、合成画面70を表示させる。即ち、映像データサーバ20は、現時点が第1の期間に含まれる場合、映像データを表示制御装置10に配信することになる。
変形例(6)の制限部92は、現実空間(例えば、野球場40)に除外対象(例えば、野球選手46)がいる第2の期間に現時点が含まれる場合、表示制御部90による表示制御処理の実行を制限する。ここでは、判定部86により現時点が第2の期間に含まれると判定された場合、映像データ取得部84により映像データが取得されず、合成画面70が表示されないことになる。即ち、制限部92は、現時点が第2の期間に含まれる場合、映像データを表示制御装置10に配信することを制限(抑止又は禁止)する。「映像データが表示制御装置10に配信されることを制限する」とは、映像データを配信しないことである。
変形例(6)によれば、現時点が属する期間に応じて、合成画面70を表示させるか否かを決定することができる。即ち、野球場40に野球選手46がいない時間帯(第1の期間)には、映像データを配信して合成画面70を表示させるようにして、野球場40に野球選手46がいる時間帯(第2の期間)には、映像データを配信せず合成画面70が表示されないようにすることができる。
なお、第1の期間及び第2の期間は、映像データの内容に応じて適宜設定されるようにすればよい。例えば、映像データがサッカーの試合内容を示すものであれば、試合前半と試合後半との間に設けられたハーフタイム、試合開始前、及び試合終了後のタイミングが、第1の期間に相当し、試合の前半及び試合の後半のタイミングが、第2の期間に相当することになる。この場合も、上記変形例と同様に、第1の期間及び第2の期間が、予め指定された期間であってもよいし、試合の進行に応じてオペレーターにより入力された期間であってもよい。
また、上記においては、判定部86及び制限部92が映像データサーバ20により実現される場合を説明したが、判定部86及び制限部92は、表示制御装置10により実現されるようにしてもよい。この場合には、表示制御装置10において、現時点が第1の期間に含まれるか第2の期間に含まれるかが判定され、映像データサーバ20から映像データを取得するか否かが決定されることになる。
また、現時点が第2の期間に含まれる場合に、映像データサーバ20が映像データを表示制御装置10に配信しない場合を説明したが、現時点が第2の期間に含まれる場合に合成画面70が表示されることが制限されるようにすればよく、当該制限方法は、これに限られない。他にも例えば、映像データサーバ20は映像データを表示制御装置10に配信しておいて、合成画面70を表示させる処理の実行をさせないようにしてもよい。この場合には、現時点が第1の期間に含まれるようになった場合に、当該配信した映像データをもとに合成画面70が表示されることになる。
また、オペレーターは、映像データサーバ20の操作部等を介して、合成画面70の表示を許可するための第1の操作と、合成画面70の表示を制限するための第2の操作と、を行うようにしてもよい。例えば、攻守交代のタイミングになり野球場40から野球選手46がいなくなった場合に、オペレーターは第1の操作を行い、攻守交代が終了して野球場40に野球選手46が戻った場合に、オペレーターは第2の操作を行う。即ち、オペレーターは、試合の進行に応じて第1の操作と第2の操作とを交互に行うことになる。この場合、第1の操作が行われてから第2の操作が行われるまでの期間が、第1の期間に相当し、第2の操作が行われてから第1の操作が行われるまでの期間が、第2の期間に相当することになる。
また、実施形態、変形例(1)、変形例(2)、及び変形例(6)を組み合わせてもよい。例えば、表示制御部90は、現実空間画像50に野球選手46が撮影されている場合、又は、現時点が第1の期間に含まれる場合、合成画面70を表示させるようにしてもよい。また例えば、制限部92は、現実空間画像50に野球選手46が撮影されている場合、又は、現時点が第2の期間に含まれる場合、合成画面70の表示を制限するようにしてもよい。
また、変形例(3)と変形例(6)とを組み合わせてもよい。この場合、野球場40に野球選手46がいない期間、又は、野球場40にいる野球選手46の数が基準数未満である期間が、第1の期間に相当する。そして、野球場40にいる野球選手46の数が基準数以上である期間が、第2の期間に相当する。即ち、野球場40に野球選手46がいたとしても、基準数以上の野球選手がいなければ、その期間は、第2の期間となる。
また、変形例(4)と変形例(6)とを組み合わせてもよい。この場合、野球場40の所定領域に野球選手46がいない期間が、第1の期間に相当する。そして、野球場40の所定領域に野球選手46がいる期間が、第2の期間に相当する。即ち、野球場40の所定領域以外の場所に野球選手46がいたとしても、所定領域内に野球選手46がいなければ、その期間は、第2の期間となる。
また、変形例(5)と変形例(6)とを組み合わせてもよい。この場合、野球場40に関連する種類の除外対象(即ち、野球選手46)がいない期間が、第1の期間に相当する。そして、野球場40に関連する種類の除外対象(即ち、野球選手46)がいる期間が、第2の期間に相当する。即ち、野球場40に何らかの物体(例えば、マスコット人形)がいたとしても、野球場40に野球選手46がいないのであれば、その期間は、第2の期間となる。
(7)また例えば、野球場40に来場したユーザのうち、所与の条件を満たしたユーザにのみリプレイ映像を見ることを許可し、他のユーザについてはリプレイ映像を見ることが制限されるようにしてもよい。例えば、野球ゲームに利用登録しているユーザにのみ、その特典として実際の試合の攻守交代タイミング等でリプレイ映像を見せたり、野球ゲームで所与の結果を収めたユーザにのみ、その特典として実際の試合の攻守交代タイミング等でリプレイ映像を見せたりするようにしてもよい。
図15は、表示制御システム1を含むゲームシステム100の一例を示す図である。図15に示すように、ゲームシステム100は、ゲームサーバ110を含む。ゲームサーバ110は、制御部111、記憶部112、及び通信部113を含む。これら制御部111、記憶部112、及び通信部113のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部17と同様である。
制御部111は、記憶部112に記憶されたプログラム及びデータを読み出して、ゲームを統括的に制御する。ここでは、制御部111は、リプレイ映像に係るゲームを実行する。リプレイ映像に係るゲームとは、ビデオカメラ30に撮影された画像に対応する画像が表示されるゲームであり、例えば、リプレイ映像が示す競技に係るゲームである。ここでは、制御部111が野球ゲームを実行する場合を説明する。
記憶部112は、野球ゲームに利用登録したユーザを識別する情報や、各ユーザがプレイしている野球ゲームに関する各種情報を記憶する。記憶部112の記憶内容は、ゲームサーバ110の制御部111や表示制御装置10の制御部11により取得及び更新される。
図16は、ゲームシステム100の機能ブロック図である。図16に示すように、ゲームシステム100は、図4に示す実施形態の各機能に加えて、ゲームデータ記憶部120、利用登録受付部122、登録判定部124、表示許可部126、表示制限部128、ゲーム提供部130、及び結果判定部132を実現する。これら各機能は、制御部111が記憶部112に記憶されたプログラムを実行することによって実現され、例えば、ゲームデータ記憶部120は、記憶部112を主として実現され、その他の各機能は、制御部111を主として実現される。
(7−1)まず、ユーザが野球ゲームに利用登録しているか否かに応じて、リプレイ映像の表示を許可するか否かが決定される場合を説明する。野球ゲームをプレイすることを許可するためのユーザの所定操作が行われた場合に、野球ゲームの利用登録が行われる。
ゲームデータ記憶部120は、ゲームに関する各種情報を記憶する。ここでは、ゲームデータ記憶部120は、ゲームに利用登録したユーザに関する利用登録データを記憶する。利用登録データは、ゲームの利用が許可されたユーザのリストともいえる。例えば、利用登録データには、ユーザを一意に識別するIDと、当該ユーザに関する個人情報と、が関連付けられている。利用登録データに格納されているユーザは、ゲームの利用が可能になり、利用登録データに格納されていないユーザは、ゲームの利用が制限(抑止又は禁止)される。
利用登録受付部122は、リプレイ映像に係るゲームの利用登録を受け付ける。利用登録受付部122は、ユーザによる操作部13の操作内容を取得することによって、ゲームの利用登録を受け付ける。ここでは、ゲームの利用登録をするための画面が表示部15に表示され、ユーザが当該画面から所与の操作をすると、利用登録受付部122がゲームの利用登録を受け付けることになる。利用登録受付部122が利用登録を受け付けたユーザは、利用登録データに追加される。
登録判定部124は、表示制御装置10のユーザがゲームに利用登録しているか否かを判定する。登録判定部124は、表示制御装置10のユーザを識別する情報が、利用登録データに格納しているか否かを判定することによって、ユーザがゲームに登録しているか否かを判定する。なお、ユーザを識別する情報は、表示制御装置10の記憶部12に記憶されており、登録判定部124は、ネットワークNを介して表示制御装置10からユーザを識別する情報を取得し、当該情報が利用登録データに格納されているか否かを判定する。
表示許可部126は、ユーザがゲームに利用登録していると判定された場合、映像が表示部15に表示されることを許可する。例えば、表示許可部126は、映像データ取得部84がリプレイ映像を取得することを許可したり、表示制御部90がリプレイ映像を合成表示する処理を実行することを許可したりする。
表示制限部128は、ユーザがゲームに利用登録していないと判定された場合、映像が表示部15に表示されることを制限する。例えば、表示許可部126は、映像データ取得部84がリプレイ映像を取得することを制限(抑止又は禁止)したり、表示制御部90がリプレイ映像を合成表示する処理を実行することを制限(抑止又は禁止)したりする。
変形例(7−1)によれば、野球ゲームへの利用登録を済ませていないユーザについては、野球のリプレイ映像を見ることができず、野球ゲームへの利用登録を済ませたユーザについては、野球のリプレイ映像を見せることができるので、野球ゲームの利用登録を促進することができる。更に、限られたユーザにのみリプレイ映像を見せるため、映像データサーバ20の処理負荷やネットワークNの通信負荷を軽減することができる。
(7−2)次に、野球ゲームに利用登録したユーザのプレイ結果が所与の結果であるか否かに応じて、リプレイ映像の表示を許可するか否かが決定される場合を説明する。
ゲーム提供部130は、映像に係るゲームを表示制御装置10のユーザに提供する。ここでは、ゲーム提供部130は、野球ゲームをユーザに提供する。ゲームを提供するとは、ユーザにゲームをプレイさせること(例えば、表示部15にゲームの画面を表示させること)であり、ユーザの操作に応じてゲームを進行させること(例えば、ゲームの状況を示すデータを更新すること)である。
結果判定部132は、ユーザによるゲームのプレイ結果が所与の結果であるか否かを判定する。プレイ結果が所与の結果であるとは、ゲームにおいてユーザが所与の成績を収めることであり、ゲームの現在の状況を示すデータが所与の値を示すことともいえる。ここでは、ユーザがゲーム課題をクリアすることが、プレイ結果が所与の結果であることに相当する。
例えば、結果判定部132は、ゲームの状況を示すデータに基づいて、ユーザが所与のゲーム課題をクリアしたか否かを判定する。例えば、ゲーム課題としては、野球の試合の進行を予想して正解することであり、例えば、実際の試合に出場する選手をユーザが当てること、又は、実際の試合の進行内容(結果)をユーザが当てることである。この場合、実際の試合の進行に関する情報が、システム管理者等によりゲームデータ記憶部120に登録される。結果判定部132は、当該登録された情報とユーザのプレイ結果(予想結果)とを比較することによって、ユーザがゲーム課題をクリアしたか否かを判定する。
表示許可部126は、ユーザによるゲームのプレイ結果が所与の結果であると判定された場合、映像が表示部15に表示されることを許可する。表示制限部128は、ユーザによるゲームのプレイ結果が所与の結果でないと判定された場合、映像が表示部15に表示されることを制限する。
変形例(7−2)によれば、現実の野球を観戦するユーザが、野球ゲームにおいて所与の結果を出した際にリプレイ映像を見ることができるので、野球観戦及びゲームの興趣性を高めることができる。また、変形例(7−1)と同様に、限られたユーザにのみリプレイ映像を見せるため、映像データサーバ20の処理負荷やネットワークNの通信負荷を軽減することができる。
なお、上記説明した野球ゲームは、ユーザ同士が仮想コミュニケーションを行うゲーム(いわゆるソーシャルゲーム)であってもよい。当該ゲームに利用登録したユーザ同士でメッセージを送りあうことによって、仮想コミュニケーションが実行される。
また、ゲームデータ記憶部120、利用登録受付部122、登録判定部124、表示許可部126、表示制限部128、ゲーム提供部130、及び結果判定部132がゲームサーバ110により実現される場合を説明したが、これら各機能は、表示制御装置10又は映像データサーバ20により実現されるようにしてもよい。即ち、これら各機能は、ゲームシステム100に含まれる各装置(ここでは、表示制御装置10と映像データサーバ20とゲームサーバ110)の何れかにより実現されるようにすればよい。
(8)また例えば、上記実施形態と変形例とを組み合わせてもよい。更に、上記においては、ユーザが野球場を撮影すると野球のリプレイ映像が流れる場合を説明したが、合成画面に表示される映像は、これに限られない。合成画面に表示される映像は、予め用意された映像であればよく、例えば、サッカーの試合の映像が合成画面に表示されるようにしてもよい。他にも例えば、ユーザが所与の風景を撮影すると、架空のキャラクタが合成されるようにしてもよい。この場合に除外対象として人型のシルエットを設定しておくことにより、ユーザが撮影した写真内に人間が写っていない場合に、風景とキャラクタとを合成することが許可されることになる。
また例えば、本発明は、実施形態や変形例において説明した表示制御装置以外のコンピュータにも適用することができる。他にも例えば、デジタルカメラや携帯型ゲーム機に本発明を適用するようにしてもよい。