(58)【調査した分野】(Int.Cl.,DB名)
前記領域表示手段は、前記オブジェクトともに、前記仮想空間内で前記オブジェクトの位置を設定することが可能な範囲に対応する領域が示される配置マップの少なくとも一部を表示する、請求項1記載の情報処理プログラム。
前記オブジェクト姿勢設定手段は、前記入力受付手段で受け付けた入力に基づいて選択される前記オブジェクトの姿勢を設定する、請求項1または2記載の情報処理プログラム。
前記入力受付手段の入力に基づいて前記オブジェクトの移動を制御するオブジェクト移動制御手段をさらに備える、請求項1〜4のいずれか1項に記載の情報処理プログラム。
前記オブジェクト移動制御手段は、前記入力受付手段の前記オブジェクトに対する入力に従って前記オブジェクトが移動する移動方向に基づいて前記オブジェクトの姿勢を制御する、請求項5記載の情報処理プログラム。
前記切替手段は、前記タッチパネルのタッチ入力に従う前記オブジェクトの選択状態が継続している時間が所定時間以上の場合に、前記オブジェクト姿勢設定手段から前記オブジェクト移動制御手段を行うように切り替える、請求項7記載の情報処理プログラム。
前記撮像画像表示手段は、前記入力受付手段の入力に従って選択されたオブジェクトに対応する仮想カメラで撮像した撮像画像と、その周囲を囲むようにすべての仮想カメラで撮像した撮像画像を並べて表示する、請求項15記載の情報処理プログラム。
仮想空間内に位置する仮想カメラを示すオブジェクトとともに当該オブジェクトの位置を設定するための前記仮想空間内の範囲を示す領域の少なくとも一部を表示する領域表示手段と、
表示されるオブジェクトに対する入力を受け付ける入力受付手段と、
前記入力受付手段の入力に基づいて前記オブジェクトの姿勢を設定するオブジェクト姿勢設定手段と、
前記オブジェクト姿勢設定手段で設定された前記オブジェクトの姿勢に基づき前記仮想カメラを制御する仮想カメラ制御手段と、
前記仮想カメラ制御手段により制御される仮想カメラから撮像した撮像画像を表示する撮像画像表示手段とを備える、情報処理装置。
仮想空間内に位置する仮想カメラを示すオブジェクトとともに当該オブジェクトの位置を設定するための前記仮想空間内の範囲を示す領域の少なくとも一部を表示するステップと、
表示されるオブジェクトに対する入力を受け付けるステップと、
入力に基づいて前記オブジェクトの姿勢を設定するステップと、
設定された前記オブジェクトの姿勢に基づき前記仮想カメラを制御するステップと、
制御される仮想カメラから撮像した撮像画像を表示するステップとを備える、情報処理装置の制御方法。
仮想空間内に位置する仮想カメラを示すオブジェクトとともに当該オブジェクトの位置を設定するための前記仮想空間内の範囲を示す領域の少なくとも一部を表示する領域表示手段と、
表示されるオブジェクトに対する入力を受け付ける入力受付手段と、
前記入力受付手段の入力に基づいて前記オブジェクトの姿勢を設定するオブジェクト姿勢設定手段と、
前記オブジェクト姿勢設定手段で設定された前記オブジェクトの姿勢に基づき前記仮想カメラを制御する仮想カメラ制御手段と、
前記仮想カメラ制御手段により制御される仮想カメラから撮像した撮像画像を表示する撮像画像表示手段とを備える、情報処理システム。
【発明を実施するための形態】
【0029】
この実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
【0030】
<情報処理システムの構成>
図1は、実施形態に基づく情報処理システムの構成を模式的に示す図である。
【0031】
図1を参照して、ある実施形態として、本例においては一例として、情報処理装置10および据置型のディスプレイ20を含む情報処理システムについて説明する。情報処理装置10とディスプレイ20とは有線で接続される。また、情報処理装置10に対して入力指示等するための操作端末6と、入力コントローラ7とを含む。操作端末6および入力コントローラ7は、情報処理装置10との間で無線通信によりデータの授受を実行する。
【0032】
本例においては、情報処理装置10には、光ディスク4が挿入可能に設けられる。光ディスク4には、所定の情報処理を実行するプログラムが格納されている。情報処理装置10は、光ディスクに格納されているプログラムを読みだして、実行することより、操作端末6、入力コントローラ7等を介して所定の情報処理を実行する。
【0033】
なお、本例においては、情報処理装置10とディスプレイ20とは有線接続される場合について説明しているが無線通信であっても良く、また、操作端末6および入力コントローラ7と情報処理装置10との間で有線接続によりデータの授受を実行する構成としても良い。
【0034】
<操作端末>
図2は、実施形態に基づく操作端末6の外観を説明する図である。
【0035】
図2に示されるように、操作端末6は、概略的には横長の長方形の板状形状であるハウジング60を備える。ハウジング60は、ユーザが把持することのできる程度の大きさである。したがって、ユーザは、操作端末6を持って動かしたり、操作端末6の配置位置を変更することが可能である。
【0036】
操作端末6は、ハウジング60の表面にLCD61を有する。
LCD61は、ハウジング60の表面の中央付近に設けられる。したがって、ユーザは、LCD61の両側部分のハウジング60を持つことによって、LCD61の画面を見ながら操作端末6を持って動かすことも可能である。
【0037】
本例においては、ユーザがLCD61の左右両側の部分のハウジング60を持つことで操作端末6を横持ちで持つ場合(長辺方向を横にして操作端末6を持つ)が示されている。なお、操作端末6を縦持ち(長辺方向を縦にして操作端末6を持つ)で持つことも可能である。
【0038】
操作端末6は、操作手段として、LCD61の画面上にタッチパネル62を有する。本実施形態では、タッチパネル62は、抵抗膜方式のタッチパネルである。ただし、タッチパネル62は、抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル62は、シングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル62として、LCD61の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル62の解像度とLCD61の解像度とが一致している必要はない。タッチパネル62に対する入力は、通常タッチペンを用いて行われるが、タッチペンに限らずユーザの指でタッチパネル62に対する入力をすることも可能である。なお、ハウジング60には、タッチパネル62に対する操作を行うために用いられるタッチペンを収納するための収納穴が設けられていてもよい。このように、操作端末6がタッチパネル62を備えているため、ユーザは、操作端末6を動かしながらタッチパネル62を操作することができる。つまり、ユーザは、LCD61の画面を動かしつつ、その画面に対して直接(タッチパネル62によって)入力を行うことができる。
【0039】
また、操作端末6は、操作手段として、2つのアナログスティック63Aおよび63Bと、複数の操作ボタン64A〜64Jとを備えている。各アナログスティック63Aおよび63Bは、方向を指示するデバイスである。各アナログスティック63Aおよび63Bは、ユーザの指で操作されるスティック部がハウジング60の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドまたは傾倒することができるように構成されている。また、アナログスティック63Aは、LCD61の画面の左側に、アナログスティック63Bは、LCD61の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティック63Aまたは63Bを用いて方向を指示する入力を行うことができる。また、各アナログスティック63Aおよび63Bは、ユーザが操作端末6の左右部分を把持した状態で操作可能な位置に設けられるので、ユーザは、操作端末6を持って動かす場合においても各アナログスティック63Aおよび63Bを容易に操作することができる。
【0040】
各操作ボタン64A〜64Jは、所定の入力を行うための操作手段である。以下に示すように、各操作ボタン64A〜64Jは、ユーザが操作端末6の左右部分を把持した状態で操作可能な位置に設けられる。したがって、ユーザは、操作端末6を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【0041】
ハウジング60の表面には、各操作ボタン64A〜64Jのうち、十字ボタン(方向入力ボタン)64Aと、操作ボタン64B〜64Hとが設けられる。これらの操作ボタン64A〜64Gは、ユーザの親指で操作可能な位置に配置されている。
【0042】
十字ボタン64Aは、LCD61の左側であって、アナログスティック63Aの下側に設けられる。つまり、十字ボタン64Aは、ユーザの左手で操作可能な位置に配置されている。十字ボタン64Aは、十字の形状を有しており、上下左右の方向を指示することが可能なボタンである。また、操作ボタン64B〜64Dは、LCD61の下側に設けられる。これら3つの操作ボタン64B〜64Dは、左右両方の手で操作可能な位置に配置されている。また、4つの操作ボタン64E〜64Hは、LCD61の右側であって、アナログスティック63Bの下側に設けられる。つまり、4つの操作ボタン64E〜64Hは、ユーザの右手で操作可能な位置に配置されている。さらに、4つの操作ボタン64E〜64Hは、(4つの操作ボタン64E〜64Hの中心位置に対して)上下左右の位置関係となるように配置されている。したがって、操作端末6は、ユーザに上下左右の方向を指示させるためのボタンとして4つの操作ボタン64E〜64Hを機能させることも可能である。
【0043】
各操作ボタン64A〜64Jには、所定の情報処理を実行するプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン64Aおよび操作ボタン64E〜64Hは、方向指示操作や選択操作等に用いられてもよいし、各操作ボタン64B〜64Dは、決定操作やキャンセル操作等に用いられてもよい。
【0044】
なお、図示しないが、操作端末6は、操作端末6の電源をオン/オフするための電源ボタンを有している。また、操作端末6は、LCD61の画面表示をオン/オフするための操作ボタンや、情報処理装置10との接続設定(ペアリング)を行うための操作ボタンや、スピーカの音量を調節するための操作ボタンを有していてもよい。
【0045】
操作端末6は、撮像手段である内蔵カメラ66を備えている。内蔵カメラ66は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。例えば、内蔵カメラ66は、ハウジング60の表面に設けられる。したがって、内蔵カメラ66は、操作端末6を持っているユーザの顔を撮像することができる。
【0046】
<情報処理装置の構成>
図3は、実施形態に基づく情報処理装置10のハードウェアの構成を説明する図である。
【0047】
図3に示されるように、情報処理装置10は、入力装置11と、CPU(Central Processing Unit)12と、ディスクドライブ13と、HDD(Hard Disk Drive)14と、表示制御装置15と、RAM(Random Access Memory)16と、無線通信モジュール18とを含む。
【0048】
ディスクドライブ13は、挿入された光ディスク4を駆動し、光ディスク4に格納されたプログラムを読みだしてCPU12に出力する。
【0049】
入力装置11は、情報処理装置10のユーザによって操作され、ユーザの操作に応じた信号をCPU12へ出力する。入力装置11は、無線通信モジュール18を介して例えば、ユーザが操作端末6や入力コントローラ7に対して操作した入力指示を受け付ける。
【0050】
表示制御装置15は、CPU12からの指示に従ってディスプレイ20に表示するための画像を生成して、ディスプレイ20に当該画像を出力表示する。
【0051】
CPU12は、コンピュータプログラムを実行するための演算処理手段である。
HDD14には、CPU12によって実行されるシステムプログラムが格納されている。なお、CPU12によって実行されるシステムプログラムは、予め記録されていてもよいし、他の機器との通信によって他の機器から取得されてもよい。また、HDD14に限られず、ROM(Read Only Memory)であっても良い。
【0052】
RAM16は、ワーク領域としてコンピュータプログラムや情報を一時的に記憶する。RAM16は、一例としてPSRAM(Pseudo-SRAM)を用いることができる。
【0053】
無線通信モジュール18は、無線通信によって、操作端末6や入力コントローラ7との間で信号(データ)を送受信する。
【0054】
<操作端末の構成>
図4は、実施形態に基づく操作端末6のハードウェアの構成を説明する図である。
【0055】
図4に示されるように、操作端末6は、
図2に示した構成の他、タッチパネルコントローラ601、CPU605、スピーカ607、サウンドIC608、マイク609、無線モジュール610、アンテナ611、電源IC614、電池615を備える。これらの電子部品は、電子回路基板上に実装されてハウジング60内に収納される。
【0056】
CPU605は、各種の入出力部に対するデータの入出力を制御するための回路である。CPU605は、タッチパネルコントローラ601、アナログスティック63(アナログスティック63Aおよび63B)、操作ボタン64(各操作ボタン64A〜64J)に、LCD61、内蔵カメラ66、サウンドIC608、無線モジュール610と接続される。
【0057】
CPU605には電源IC614が接続され、各部に電力が供給される。電源IC614には内蔵の電池615が接続され、電力が供給される。なお、操作端末6は、図示しない充電機能を有するクレイドルに操作端末6を装着することで充電を行うようにしてもよい。
【0058】
タッチパネルコントローラ601は、タッチパネル62に接続され、タッチパネル62の制御を行う回路である。タッチパネルコントローラ601は、タッチパネル62からの信号に基づいて所定の形式のタッチ位置データを生成してCPU605へ出力する。タッチ位置データは、タッチパネル62の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ601は、タッチパネル62からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。
【0059】
アナログスティック63は、ユーザの指で操作されるスティック部が傾倒した方向および量を表すスティックデータをCPU605へ出力する。また、操作ボタン64は、各操作ボタン64A〜64Jに対する入力状況(押下されたか否か)を表す操作ボタンデータをCPU605へ出力する。
【0060】
CPU605は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータを含む操作データを情報処理装置10へ送信する。また、情報処理装置10から送信されたデータを受信して、各部に対して制御指示を実行する。
【0061】
内蔵カメラ66は、情報処理装置10からの指示に従って画像を撮像し、撮像した画像データをCPU605へ出力する。また、CPU605から内蔵カメラ66へは、画像の撮像指示等、内蔵カメラ66に対する制御指示が出力される。なお、内蔵カメラ66は、動画の撮影も可能である。すなわち、内蔵カメラ66は、繰り返し撮像を行って画像データをCPU605へ繰り返し出力することも可能である。
【0062】
サウンドIC608は、スピーカ607およびマイク609に接続され、スピーカ607およびマイク609への音声データの入出力を制御する回路である。すなわち、CPU605から音声データを受け取った場合、サウンドIC608は、当該音声データに対してD/A変換を行って得られる音声信号をスピーカ607へ出力し、スピーカ607から音を出力させる。また、マイク609は、操作端末6に伝わる音(ユーザの音声等)を検知して、当該音を示す音声信号をサウンドIC608へ出力する。サウンドIC608は、マイク609からの音声信号に対してA/D変換を行い、所定の形式の音声データをCPU605へ出力する。
【0063】
CPU605は、内蔵カメラ66からの画像データ、マイク609からの音声データ、および操作データを、端末操作データとして無線モジュール610を介して情報処理装置10へ送信する。CPU605は、端末操作データについて、データ量を小さくするために公知の圧縮処理を施して、圧縮された送信データとして無線モジュール610に出力される。
【0064】
無線モジュール610にはアンテナ611が接続されており、無線モジュール610はアンテナ611を介して情報処理装置10へ上記データを送信する。無線モジュール610は、情報処理装置10の無線通信モジュール18と同様の機能を有している。すなわち、無線モジュール610は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。無線モジュール610から送信されるデータは、必要に応じて暗号化されていてもよいし、されていなくてもよい。
【0065】
以上のように、操作端末6から情報処理装置10へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含めることが可能であるが、操作データ(端末操作データ)のみとしても良い。
【0066】
また、情報処理装置10から操作端末6へは、圧縮された画像データおよび音声データが送信される。これらのデータは、アンテナ611および無線モジュール610を介してCPU605で受信される。そして、CPU605は、受信した画像データおよび音声データを伸張する。伸張された画像データは、LCD61へ出力され、当該画像データに応じた画像がLCD61に表示される。また、伸張された音声データは、サウンドIC608へ出力され、当該音声データに応じた音がスピーカ607から出力される。
【0067】
また、情報処理装置10から受信されるデータに制御データが含まれる場合、制御データに従った制御指示を各部に行う。
【0068】
以上のように、操作端末6は、タッチパネル62、アナログスティック63、および操作ボタン64といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。例えば、動き(位置や姿勢、あるいは位置や姿勢の変化を含む)を算出するためのセンサ(磁気センサ、加速度センサ、ジャイロセンサ等)を設けて、当該動きを利用した操作手段を備える構成としても良い。
【0069】
<ゲーム処理の概要>
以下、実施形態に基づくゲーム処理について説明する。本実施形態に従うゲーム処理は、ゲーム空間上に設けられた複数の監視カメラを制御して、複数のカメラから撮像される情報に従ってゲーム空間に存在して移動する監視対象となる監視オブジェクトを検知し、検知した監視オブジェクトに対して所定の処理を実行する。
【0070】
図5は、実施形態に基づくディスプレイ20に表示されるゲーム処理の画面の一例を説明する図である。
【0071】
図5には、ゲーム空間上に設けられた複数の監視カメラのそれぞれから撮像した複数の画面が分割表示されている場合が示されている。一例として13分割された画面が表示されている。
【0072】
具体的には、ディスプレイ20の中央領域には、1つの大画面が表示されている。そして、その中央領域の周囲には、12個の小画面が表示されている。大画面は、小画面の4個分の面積に相当する。
【0073】
本例においては、複数の監視カメラをそれぞれ識別するためにナンバリングして、ナンバリングしたそれぞれの監視カメラからゲーム空間を撮像した情報を表示する。
【0074】
一例として、1番〜12番にそれぞれナンバリングされた12個の監視カメラからそれぞれ撮像した情報が表示される。なお、一例として数字を用いて監視カメラにナンバリングして識別する場合について説明するが、特にこれに限られずたとえばA、B、C等のアルファベットを用いて識別しても良いし、マークや色により識別するようにしても良い。また、識別するための情報を常に表示する必要はなく、ユーザの指示に従って表示させても良いし、状況(ゲーム展開)に応じて表示させるようにしても良い。
【0075】
ディスプレイ20の画面内の外周に1番〜12番の小画面の画像がそれぞれ表示され、中央の大画面には、5番の小画面を拡大表示した画像が表示されている。すなわち、5番の小画面を強調表示している。なお、本例においては、大画面を小画面の4個分の面積にすることにより面積比率に従って強調表示する例について説明したが、特にこれに限られず、強調表示であればどのような形態でもよい。例えば、中央領域の画面のみカラー表示にして他をモノクロ表示にしても良いし、強調表示であることを示すシンボルマークを付与しても良い。点滅等の視覚的効果により強調表示させることも可能である。
【0076】
また、ディスプレイ20の画面について中央領域を設けずに12分割した画面として、選択された監視カメラの画像を強調表示するようにしても良い。
【0077】
また、複数の表示デバイスが設けられている場合には、表示デバイス毎に表示内容を分割するようにしても良い。例えば、24個の監視カメラが設けられていて1番〜24番にそれぞれナンバリングされている場合、1番〜12番の12個の監視カメラの画像を複数の表示デバイスのうちの1つの表示デバイスに表示し、13番〜24番の監視カメラの画像を別の表示デバイスに表示して、それぞれの表示デバイスにおいて1つの監視カメラの画像を強調表示させるようにしても良い。
【0078】
なお、ここでは、5番の画面にゲーム空間に存在する移動する監視オブジェクトMが表示されている場合が示されており、当該監視オブジェクトMに対してユーザは、所定の処理を実行する。
【0079】
中央領域の周囲に12個の小画面を並べて表示することにより、複数の小画面をナンバリングされた番号に従って容易に把握することが可能である。
【0080】
図6は、実施形態に基づく操作端末6のLCD61に示される配置マップ301を説明する図である。
【0081】
図6に示されるように、LCD61にオブジェクトの位置を設定するための仮想空間内の範囲を示す領域が表示される。具体的には、当該領域として、配置マップ301が表示される。配置マップは、12個の監視カメラの配置が可能な領域を示すマップである。なお、本例においては、12個の監視カメラの配置が可能な全領域がLCD61に表示される場合について説明するが、特にこれに限られず配置マップ301の少なくとも一部の領域がLCD61に表示されるようにしても良い。
【0082】
配置マップ301には、12個の監視カメラをシンボル化した12個のマーカオブジェクト(以下、マーカとも称する)300が設けられる。マーカオブジェクト300のそれぞれには監視カメラに割り当てられた番号に対応した番号が示される。マーカオブジェクト300の番号と、
図5に示される画面番号とは同じ監視カメラに割り当てられた番号である。マーカオブジェクト300は、番号が中に表示される円と、当該円の外側に設けられた台形状の図形とが組み合わされて表示されている。円の中心から台形状の図形が設けられた方向がマーカの向き(視線方向)として示される。
【0083】
マーカ300は、移動可能に設けられており、配置マップ301には、マーカ300を移動させることが可能な複数の移動可能領域302が設けられている。そして、複数の移動可能領域302にそれぞれ12個のマーカ300が配置されている。
【0084】
そして、マーカ300の姿勢を制御することが可能に設けられている。本例においては、マーカ300の姿勢としてマーカ300の向き(視線方向)を制御する。
【0085】
そして、マーカ300の姿勢に基づき監視カメラを制御する。具体的には、マーカ300の向き(視線方向)に合わせて監視カメラの向きを制御する。本例においては、一例としてマーカ300に対する制御は、タッチパネル62に対して入力操作することによりマーカ300の姿勢および位置の制御を行う。
【0086】
また、本例においては、5番のマーカ300を選択した状態にあり、5番のマーカ300の向きに従って視野範囲を表示したハッチング領域が示されている。また、選択状態であることを示すために数字の「5」が四角で囲まれている。なお、数字の色を変えたり、マーカオブジェクトを拡大して選択された状態であることを示すようにしても良い。配置マップ301に示されたマーカオブジェクトに対して入力を行うことにより、空間内のカメラの全体的な状況を把握しながら監視カメラを制御することが可能である。監視カメラをシンボル化したマーカオブジェクトを表示することにより画面操作を容易にすることが可能である。具体的には、配置マップ301には、12個の監視カメラに対応するマーカオブジェクトとともに、その監視カメラの向きに対応するマーカオブジェクトの向きがそれぞれ示されているため、所望のマーカオブジェクトに対してタッチパネル62を介して入力操作することにより、対応する監視カメラの操作を容易に行うことが可能である。
【0087】
なお、
図6に示される全てのマーカ300についてタッチパネル62を介して制御することが可能であるが、タッチパネル62以外に監視カメラを制御することも可能である。本例においては、アナログスティック63に対して入力操作することにより選択状態である監視カメラを制御することが可能に設けられている。本例においては、選択状態であるマーカ300(本例においては5番)に対応する監視カメラの姿勢を制御することが可能である。具体的には、ユーザの指で操作されるアナログスティック63のスティック部を傾倒した方向に監視カメラの向き(視線方向)を制御することが可能である。例えば、上方向に傾倒することにより監視カメラの向きを上方向に変更する。また、下方向に傾倒することにより監視カメラの向きを下方向に変更する。また、左右方向に傾倒することにより監視カメラの向きを左右方向に変更することが可能である。
【0088】
図7は、実施形態に基づく監視カメラの制御について説明する図である。
図7には、ゲーム空間上に設けられた壁オブジェクトWに対して監視カメラオブジェクトCMが配置されている場合が示されている。なお、本例においては、監視カメラに対応する監視カメラオブジェクトCMについて画面に表示可能な状態でゲーム空間上に配置されているが、監視カメラを仮想的にゲーム空間上に配置する場合には、監視カメラオブジェクトCMを画面に表示しないようにしても良い。
【0089】
ゲーム空間を規定するX、Y、Z軸のXZ平面上に壁オブジェクトWが配置されている。そして、壁オブジェクトWの上側に監視カメラオブジェクCMが配置されている。
【0090】
また、ゲーム空間に存在する移動する監視オブジェクトMも設けられる。
監視カメラオブジェクトCMの視線方向は、下方向(Y軸方向)に傾いた状態に設定される。XZ平面を基準とした場合に所定の俯角を有するように設定される。
【0091】
本例においては、配置マップ301とともに示されたマーカ300に対する操作入力に従って監視カメラオブジェクトCMの姿勢および位置を制御することが可能である。具体的には、タッチパネル62に対する操作入力に基づいて監視カメラオブジェクトCMの姿勢として監視カメラオブジェクトの向き(視線方向)を制御することが可能である。監視カメラオブジェクトの向き(視線方向)の制御は、位置を固定して向き(視線方向)を変更する。向き(視線方向)のパラメータ(X軸、Y軸、Z軸座標)のY軸座標を固定してX軸、Z軸を変更する。X−Z軸を水平面とした水平方向に向き(視線方向)を変更する。
【0092】
また、監視カメラオブジェクトCMの位置座標を制御することが可能である。
上記したようにタッチパネル62以外に監視カメラを制御することも可能である。アナログスティック63のスティック部を左右方向に傾倒することにより監視カメラの向きをX−Z軸を水平面とした水平方向に向きを変更する。また、上下方向に傾倒することにより監視カメラの向きをY軸方向に変更する。
【0093】
<機能ブロック図>
図8は、実施形態に基づく情報処理装置10の機能ブロック図である。
【0094】
図8に示されるように、本例においては、CPU12がプログラムを実行することにより各種の機能ブロックを構成する。
【0095】
具体的には、オブジェクト表示部120、入力受付部121、オブジェクト姿勢制御部122、監視カメラ制御部123、撮像画像表示部124、オブジェクト移動制御部125、切替部126を有する。
【0096】
オブジェクト表示部120は、監視カメラの配置を示すマーカオブジェクトとともに、当該マーカオブジェクトの配置可能な領域を示す配置マップの少なくとも一部を操作端末6のLCD61に表示するデータを生成し、生成したデータを無線通信モジュール18を介して操作端末6に送信する。操作端末6は、無線モジュール610により当該データを受信する。そして、操作端末6は、受信したデータをLCD61に表示する。当該処理により、たとえば、
図6で説明した配置マップが操作端末6のLCD61に表示される。
【0097】
入力受付部121は、ユーザからの端末操作データを受け付ける。操作端末6の無線モジュール610から送信された端末操作データを無線通信モジュール18を介して受信する。そして、入力受付部121は、無線通信モジュール18を介して端末操作データを受け付ける。
【0098】
オブジェクト姿勢制御部122は、ユーザからの端末操作データに基づいてマーカオブジェクトの姿勢を制御する。
【0099】
オブジェクト移動制御部125は、ユーザからの端末操作データに基づいてマーカオブジェクトの移動を制御する。
【0100】
切替部126は、ユーザからの端末操作データが所定条件を満たした場合に、オブジェクト姿勢制御部122と、オブジェクト移動制御部125とのいずれか一方の制御に切り替える。
【0101】
監視カメラ制御部123は、オブジェクト姿勢制御部122により制御されたマーカオブジェクトの姿勢あるいはオブジェクト移動制御部125により移動されたマーカオブジェクトの位置に従って監視カメラの姿勢あるいは位置を制御する。
【0102】
撮像画像表示部124は、ゲーム空間に対して監視カメラから撮像した撮像画像に基づいてディスプレイ20に表示するためのデータを生成する。撮像画像表示部124は、生成したデータを表示制御装置15に出力する。表示制御装置15は、撮像画像表示部124で生成されたデータに従ってディスプレイ20に撮像画像を表示する。本例においては、
図5で説明した13分割された画面をディスプレイ20に表示する。
【0103】
<操作の指示の説明>
図9は、実施形態に基づくマーカオブジェクトに対する姿勢制御の操作指示の概要を説明する図である。
【0104】
図9(A)に示されるように、本例においては、5番のマーカを選択する場合が示されている。具体的には、5番のマーカ(マーカの円領域内)に対してタッチ入力することにより5番のマーカが選択される。これにより、ディスプレイ20の中央領域は、5番の監視カメラから撮像した撮像画像が拡大表示される。同様に他の番号のマーカに対してタッチ入力することにより、対応する番号のマーカが選択されて、選択されたマーカに対応する監視カメラから撮像した撮像画像が中央領域に拡大表示される。
【0105】
なお、ここで、マーカの中心座標は円の中心座標Pとして示され、マーカの向き(視線方向)は方向Qとして示されている。当該中心座標Pおよび方向Qは説明の便宜上用いるものである。
【0106】
図9(B)に示されるように、本例においては、5番のマーカの姿勢を制御する場合が示されている。本例においては、5番のマーカを選択して向きを変更する場合が示されている。
【0107】
具体的には、マーカを選択したタッチ入力の位置からタッチ入力を継続しながらマーカの円の外側にタッチ入力の位置が変更された場合にマーカの姿勢が制御される。
【0108】
したがって、マーカを選択したタッチ入力の位置からマーカの円内でタッチ入力の位置が変更された場合であってもマーカの姿勢は変更されない。
【0109】
この点で、マーカの円の外側にタッチ入力の位置が変更された場合には、マーカの中心座標Pから当該外側のタッチ入力の位置を結ぶ方向がマーカの向き(視線方向)となるようにマーカの姿勢を制御する。この場合、マーカの中心座標を支点として回転させて向き(視線方向)を制御する。
【0110】
さらに、当該タッチ入力の位置から別のタッチ入力の位置に変更された場合には、マーカの中心座標Pから当該変更されたタッチ入力の位置を結ぶ方向がマーカの向き(視線方向)となるようにマーカの姿勢を制御する。
【0111】
当該制御により、マーカの向き(視線方向)に合わせて監視カメラの向きを制御する。これにより、ディスプレイ20の5番に対応する撮像画像が変更される。
【0112】
図10は、実施形態に基づくマーカオブジェクトに対する移動制御の操作指示の概要を説明する図である。
【0113】
図10(A)に示されるように、マーカを選択したタッチ入力の位置で所定時間、タッチ入力が継続している場合にはマーカに対する姿勢制御から移動制御の処理に切り替えられる。
【0114】
移動制御により、マーカは、タッチ入力の位置に追従して移動する。具体的には、マーカの中心座標Pが、タッチ入力の位置と重なるようにマーカが移動制御される。移動制御に切り替えられた場合に、タッチ入力の位置に追従してマーカが移動するためマーカが指に吸着する感覚で移動制御することが可能である。
【0115】
なお、移動制御に切り替えられた際にマーカを拡大したり、色を変える等、マーカの表示態様を変更することにより制御が切り替わったことを視覚的に通知するようにしても良い。
【0116】
なお、マーカを選択したタッチ入力の位置で所定時間、タッチ入力が継続している場合にマーカに対する姿勢制御から移動制御の処理に切り替える場合に限られず、例えば、所定範囲内(マーカの円内)にタッチ入力が所定時間継続している場合に処理を切り替えるようにしても良い。
【0117】
図10(B)に示されるように、タッチ入力の位置に追従してマーカが移動制御される。
マーカの姿勢は、マーカが移動制御される前の状態を維持する。
【0118】
図10(C)に示されるように、タッチ入力の位置に追従してマーカが移動制御されるためタッチ入力の位置に従う任意の位置にマーカを移動させること可能である。したがって、タッチ入力が継続している場合には、移動可能領域302ではない位置にマーカが一時的に移動することになる。
【0119】
一方で、マーカは、移動可能領域302内でのみ移動が可能であるためタッチ入力が終了した場合(タッチオフとも称する)に自動で移動制御される。
【0120】
図10(D)には、移動可能領域302ではない位置でマーカに対してタッチオフした場合が示されている。当該場合において、マーカは、タッチオフした位置からの距離が一番近い移動可能領域302に移動制御される。
【0121】
当該制御により、マーカの移動に合わせて監視カメラの位置を制御する。これにより、ディスプレイ20の5番に対応する撮像画像が変更される。
【0122】
<情報処理の概要>
図11は、実施形態に基づく情報処理の概要を説明するフロー図である。当該処理は、主に、CPU12で実現される各機能ブロックで実行される。
【0123】
図11に示されるように、オブジェクトを表示する(ステップSA)。
オブジェクト表示部120は、監視カメラの配置を示すマーカオブジェクトとともに、当該マーカオブジェクトの配置可能な領域を示す配置マップの少なくとも一部を操作端末6のLCD61に表示するデータを生成し、生成したデータを無線通信モジュール18を介して操作端末6に送信する。操作端末6は、無線モジュール610により当該データを受信する。そして、操作端末6は、受信したデータをLCD61に表示する。
【0124】
次に、マーカオブジェクトに対する入力を受け付ける(ステップSB)。
入力受付部121は、ユーザからの端末操作データを受け付ける。具体的には、操作端末6の無線モジュール610から送信された端末操作データを無線通信モジュール18を介して受信する。そして、無線通信モジュール18を介して端末操作データを受け付ける。
【0125】
次に、オブジェクトを制御する(ステップSC)。本例においては、入力受付部121で受け付けたユーザからの端末操作データに基づいてマーカオブジェクトの姿勢あるいは位置を変更する。例えば、オブジェクト姿勢制御部122は、端末操作データに基づいてマーカオブジェクトの向き(姿勢)を制御する。また、オブジェクト移動制御部125は、端末操作データに基づいてマーカオブジェクトの位置を制御する。切替部126は、ユーザからの端末操作データの入力指示に基づいてオブジェクト姿勢制御部122とオブジェクト移動制御部125との処理を切り替える。
【0126】
オブジェクトを制御するオブジェクト制御処理の詳細については後述する。
そして、監視カメラを制御する(ステップSD)。監視カメラ制御部123は、マーカオブジェクトの姿勢および位置に基づいて、ゲーム空間上に設けられた対応する監視カメラオブジェクトを制御する。ゲーム空間上において、監視カメラオブジェクトの向き(視線方向)を変更し、監視カメラオブジェクトの位置を変更する。
【0127】
そして、撮像画像を表示する(ステップSE)。撮像画像表示部124は、ゲーム空間に対して各監視カメラオブジェクトの位置および姿勢で仮想カメラを配置した場合に撮像される撮像画像をディスプレイ20に表示するためのデータを生成する。そして、表示制御装置15は、撮像画像表示部124で生成されたデータに基づいてディスプレイ20に画像を分割表示する。
【0128】
そして、処理を終了する(エンド)。
当該一連の処理を所定時間(たとえば1/60秒)に1回の割合で繰り返す(1サイクル)。マーカオブジェクトの姿勢および位置が変更された場合には、当該変更された姿勢および位置に基づいてオブジェクトが表示される。
【0129】
<オブジェクト制御処理>
図12は、実施形態に基づくオブジェクト制御処理のフローについて説明する図である。
【0130】
図12に示されるように、入力受付部121は、タッチ入力が有るかどうかを判断する(ステップS0)。具体的には、タッチパネル62に対する操作入力(タッチ位置データ)を受け付けたかどうかを判断する。
【0131】
次に、入力受付部121は、タッチ入力が有ると判断した場合(ステップS0においてYES)には、マーカオブジェクトの選択入力があるかどうかを判断する(ステップS1)。具体的には、タッチパネル62に対する操作入力がLCD61に示されれるマーカオブジェクトが描画されている円の範囲内に対する操作入力であるかどうかを判断する。
【0132】
次に、ステップS1において、入力受付部121は、マーカオブジェクトの選択入力があると判断した場合(ステップS1においてYES)には、マーカオブジェクトを選択状態とする(ステップS2)。
【0133】
次に、切替部126は、タッチ入力が所定時間継続しているかどうかを判断する(ステップS3)。具体的には、タッチ入力に従うオブジェクトの選択状態が所定時間継続しているか否かを判断する。例えば、所定時間としては2〜3秒に設定することが可能である。なお、当該時間は一例であり当業者であるならば当該時間を必要に応じて適宜調整することが可能である。
【0134】
ステップS3において、タッチ入力が所定時間継続していると判断した場合(ステップS3においてYES)には、移動制御処理を実行する(ステップS5)。具体的には、切替部126は、タッチ入力が所定時間継続していると判断した場合には、オブジェクト姿勢制御部122の処理を切り替えてオブジェクト移動制御部125に処理を指示する。
【0135】
そして、処理を終了する(リターン)。
一方、ステップS3でタッチ入力が所定時間継続していないと判断した場合(ステップS3においてNO)には、姿勢制御処理を実行する(ステップS4)。切替部126は、タッチ入力が所定時間継続していないと判断した場合には、オブジェクト姿勢制御部122に処理を指示する。
【0136】
そして、処理を終了する(リターン)。
一方、ステップS0において、入力受付部121は、タッチ入力が無いと判断した場合(ステップS0においてNO)には、タッチ入力が終了(タッチオフ)したかどうかを判断する(ステップS6)。具体的には、入力受付部121は、前回のサイクルの際にタッチ入力が有り、今回のサイクルの際にはタッチ入力が無いと判断した場合には、タッチ入力が終了(タッチオフ)したと判断する。
【0137】
ステップS6において、入力受付部121は、タッチ入力が終了(タッチオフ)したと判断した場合(ステップS6においてYES)には、マーカオブジェクトが選択状態であるどうかを判断する(ステップS7)。
【0138】
ステップS7において、入力受付部121は、マーカオブジェクトが選択状態であると判断した場合(ステップS7においてYES)には、マーカオブジェクトの選択を解除する(ステップS8)。
【0139】
そして、次に、移動制御判定処理を実行する(ステップS9)。当該移動制御判定処理は、マーカオブジェクトが移動制御処理により適切な位置(移動可能領域)に移動しているか否かを判定して、判定結果に基づく所定処理を実行するものである。
【0140】
そして、処理を終了する(リターン)。
一方、ステップS1において、入力受付部121は、マーカオブジェクトの選択入力がないと判断した場合(ステップS1においてNO)には、無効なタッチ入力であるためステップS6に進む。
【0141】
そして、ステップS6において、入力受付部121は、タッチ入力が終了(タッチオフ)していないと判断した場合(ステップS6においてNO)または、ステップS7において、マーカオブジェクトが選択状態でないと判断した場合(ステップS7においてNO)には、処理を終了する(リターン)。
【0142】
<姿勢制御処理>
図13は、実施形態に基づくオブジェクトの姿勢制御処理のフローについて説明する図である。当該処理は、主にオブジェクト姿勢制御部122における処理である。
【0143】
図13に示されるように、タッチ入力の位置がマーカオブジェクトの所定領域の外に移動したか否かを判断する(ステップS10)。ここで、所定領域は、一例として選択されたマーカオブジェクトの円領域に設定されているものとする。タッチパネルコントローラ601は、タッチ位置データを生成してCPU605に出力する。CPU605は、生成されたタッチ位置データを順次RAM16に保存する。CPU605(オブジェクト姿勢制御部122)は、RAM16に保存されたタッチ位置データと、マーカオブジェクトの所定領域(円領域)とを比較して、マーカオブジェクトの所定領域(円領域)の外にタッチ位置データが有るか否かを判断する。
【0144】
ステップS10において、タッチ入力の位置がマーカオブジェクトの所定領域の外に移動していないと判断した場合(ステップS10においてNO)には、マーカオブジェクトの姿勢制御を実行することなくそのまま処理を終了する(リターン)。
【0145】
タッチ入力の位置がマーカオブジェクトの円領域内にある場合には姿勢制御は実行されない。マーカオブジェクトの姿勢制御を実行するにあたり所定領域分の余裕(マージン)を設けることにより過敏に反応してマーカの姿勢が変化することを抑制し、ユーザの操作性を向上させることが可能である。
【0146】
一方、ステップS10において、タッチ入力の位置がマーカオブジェクトの所定領域の外に移動したと判断した場合(ステップS10においてYES)には、方向入力を受け付ける(ステップS11)。具体的には、マーカオブジェクトの中心座標Pからタッチ入力の位置を結ぶ方向の入力を受け付ける。
【0147】
次に、方向入力に基づいてマーカオブジェクトの姿勢を制御する(ステップS12)。具体的には、受け付けた方向入力がマーカの向き(視線方向)となるようにマーカの姿勢を制御する。この場合、マーカの中心座標を支点として回転させて向き(視線方向)を制御する。
【0148】
そして、処理を終了する(リターン)。
なお、次のサイクルにおけるマーカオブジェクトの選択を維持しつつ、処理を終了する(リターン)。この場合、タッチ入力が継続している場合には姿勢制御処理が次のサイクルにおいて継続される。
【0149】
これにより、例えば
図9(B)に示されるようにタッチ入力の位置がマーカオブジェクトの所定領域の外に移動してマーカオブジェクトの姿勢が変化した後においてタッチ入力が継続している場合には、マーカオブジェクトの選択状態が維持されて別の方向入力に基づいてマーカオブジェクトの姿勢を制御することが可能である。
【0150】
そして、マーカオブジェクトの中心座標Pからタッチオフしたタッチ入力の位置を結ぶ方向入力がマーカの向き(視線方向)となるようにマーカの姿勢が制御される。
【0151】
なお、本例においては、マーカオブジェクトの中心座標Pとタッチオフしたタッチ入力の位置とを結ぶ方向入力を受け付けて、当該方向入力がマーカの向きとなるように姿勢を制御する場合について説明するが、特にこれに限られず、例えば、タッチ入力の位置がマーカオブジェクトの所定領域の外に移動してから所定サイクル数後までの軌跡の方向の平均(サイクル毎の軌跡の傾き)を方向入力として受け付けて、当該方向入力がマーカの向きとなるように姿勢を制御するようにしても良い。あるいは、タッチオフから所定サイクル数前からの軌跡の方向平均を方向入力として受け付けるようにしても良いし、タッチオフ時のブレを抑制するためにマーカオブジェクトの中心座標Pとタッチオフから所定サイクル数前のタッチ入力の位置とを結ぶ方向入力を受け付けるようにしても良い。
【0152】
<移動制御処理>
図14は、実施形態に基づくオブジェクトの移動制御処理のフローについて説明する図である。当該処理は、主にオブジェクト移動制御部125における処理である。
【0153】
図14に示されるように、タッチ入力の位置にマーカオブジェクトの中心座標が一致するようにマーカオブジェクトの移動制御を実行する(ステップS20)。タッチパネルコントローラ601は、タッチ位置データを生成してCPU605に出力する。CPU605は、生成されたタッチ位置データを順次RAM16に保存する。CPU605(オブジェクト移動制御部125)は、RAM16に保存されたタッチ位置データに、選択されているマーカオブジェクトの中心座標Pが重なるようにマーカオブジェクトを移動制御する。
【0154】
そして、処理を終了する(リターン)。
なお、次のサイクルにおけるマーカオブジェクトの選択を維持しつつ、処理を終了する(リターン)。この場合、タッチ入力が継続している場合には移動制御処理が次のサイクルにおいて継続される。
【0155】
<移動制御判定処理>
移動制御判定処理は、上記のオブジェクトの移動制御処理により移動したマーカオブジェクトの位置が移動可能領域か否かを判定する処理である。移動可能領域でないと判定した場合には、適切な移動可能領域にマーカオブジェクトを移動させる処理である。
【0156】
図15は、実施形態に基づくオブジェクトの移動制御判定処理のフローについて説明する図である。当該処理は、主にオブジェクト移動制御部125における処理である。
【0157】
図15に示されるように、マーカオブジェクトの位置が移動可能領域内であるか否かを判断する(ステップS30)。
【0158】
ステップS30において、マーカオブジェクトの位置が移動可能領域内であると判断した場合(ステップS30においてYES)には、処理を終了する(リターン)。
【0159】
一方、マーカオブジェクトの位置が移動可能領域内で無いと判断した場合(ステップS30においてNO)には、現在の位置(タッチオフした位置)から近くの移動可能領域内にマーカオブジェクトを移動制御する(ステップS31)。具体的には、
図10(D)に示されるように距離が一番近い移動可能領域にマーカオブジェクトを移動制御する。
【0160】
そして、処理を終了する(リターン)。
(変形例)
上記において、オブジェクト移動制御部125は、マーカオブジェクトの移動制御処理において、マーカの姿勢を維持しつつ移動制御する場合について説明したが、マーカの姿勢も制御するようにしても良い。具体的には、タッチ入力の位置の軌跡に基づいて移動方向の方向入力を受け付けて、当該移動方向の入力がマーカの向きとなるように姿勢も制御するようにしても良い。
【0161】
また、本例におけるオブジェクト移動制御部125における移動制御は、移動可能領域302ではない位置にタッチ入力の位置に追従してマーカが一時的に移動することを許容する方式であったが、移動可能領域302のみマーカの移動を許容する方式としても良い。
当該方式において、移動可能領域302外にタッチ入力の位置に追従するマーカを移動させようとした場合には、移動可能領域302外にタッチ入力の位置があるためタッチ入力が終了(タッチオフ)と判断され、マーカの移動が停止する。また、その際、マーカの向きについてもマーカオブジェクトの中心座標Pとタッチオフしたタッチ入力の位置とを結ぶ方向入力を受け付けて、当該方向入力がマーカの向きとなるように姿勢を制御するようにしても良い。
【0162】
(他の実施形態)
上記の実施形態においては、ゲーム空間内の監視カメラオブジェクトを制御する場合について説明したが、特にゲーム空間内に限られず、実空間内の監視カメラを制御することも可能である。
【0163】
具体的には、情報処理装置10と監視カメラとを通信可能に接続して、情報処理装置からの指示に従って監視カメラを制御すればよい。例えば、監視カメラに監視カメラの向きを回転および移動させることが可能なカメラ駆動部を設けて、監視カメラを制御するために当該カメラ駆動部に対して情報処理装置10から指示するようにすればよい。
【0164】
監視カメラと情報処理装置10とは有線で接続されていても良いし、無線で接続されていても良い。
【0165】
例えば、上記実施形態においては、
図11等に示した複数の処理は、1つのコンピュータ(CPU12)で実行されてもよいし、サーバ装置を利用した複数のコンピュータで分担して実行されてもよい。当該処理により、例えば処理負荷が重い処理についてはサーバ装置等に処理させて処理を分担させることにより、高速な情報処理を実現することが可能である。なお、他の上記の実施形態においても同様にサーバ装置を利用した情報処理を実行することも可能である。
【0166】
また、本実施形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施の形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションの一部の機能として組み込まれてもよい。
【0167】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。