説明

情報処理システム

【課題】操作デバイスの機器状態をユーザが容易に判別できる情報処理システムを提供する。
【解決手段】発光部を備えた操作デバイス20と、情報処理装置10と、を含み、情報処理装置10は、発光部から発せられる光を検出し、検出された光の位置に応じて操作デバイスの位置を特定し、操作デバイス20は、当該操作デバイスの機器状態に応じて発光部の発光態様を変化させる情報処理システムである。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、発光部を備えた操作デバイスと、当該発光部から発せられる光を用いて操作デバイスの位置を特定する情報処理装置と、を含んだ情報処理システム、当該情報処理システムを構成する操作デバイス及び情報処理装置、情報処理装置の制御方法、プログラム、並びに情報記憶媒体に関する。
【背景技術】
【0002】
情報処理装置を操作するための各種の操作デバイスの中には、発光部を備えたものがある。情報処理装置は、この発光部から発せられる光を検出することによって、操作デバイスの位置を特定する。このような操作デバイスによれば、ユーザは保持している操作デバイス自体を動かすことによって、情報処理装置に対する各種の操作入力を行うことができる(例えば特許文献1参照)。
【特許文献1】米国特許出願公開第2007/0117625号明細書
【発明の開示】
【発明が解決しようとする課題】
【0003】
上述した例において、操作デバイスのユーザは、例えば操作デバイスに内蔵された充電池の充電状態など、各種の機器状態を必要に応じて確認したいという要望がある。しかしながら、このような機器状態を表示するインジケータ等を操作デバイスに設けることとすると、インジケータ等の表示が、発光部からの光によって操作デバイスの位置を検出する際に誤検出の原因となるおそれがある。
【0004】
本発明は上記実情を考慮してなされたものであって、その目的の一つは、操作デバイスの機器状態をユーザが容易に把握できる情報処理システム、操作デバイス、情報処理装置、その制御方法、プログラム、及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0005】
本発明に係る情報処理システムは、発光部を備えた操作デバイスと、情報処理装置と、を含む情報処理システムであって、前記情報処理装置は、前記発光部から発せられる光を検出する検出手段と、前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段と、を備え、前記操作デバイスは、当該操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させることを特徴とする。
【0006】
上記情報処理システムにおいて、前記操作デバイスは、当該操作デバイスに内蔵された充電池の充電状態に応じて、前記発光部の発光態様を変化させることとしてもよい。
【0007】
さらに、前記操作デバイスは、前記充電池の充電残量が所定の閾値を下回った場合に、前記発光部の発光色を変化させることとしてもよい。
【0008】
また、上記情報処理システムにおいて、前記操作デバイスは、ユーザの指示に応じて、前記充電池の充電状態に応じた態様で前記発光部を発光させることとしてもよい。
【0009】
また、本発明に係る操作デバイスは、発光部を備える操作デバイスであって、前記発光部から発せられる光が情報処理装置による当該操作デバイスの位置の特定に用いられ、当該操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させることを特徴とする。
【0010】
また、本発明に係る情報処理装置は、発光部を備えた操作デバイスと通信接続される情報処理装置であって、前記発光部から発せられる光を検出する検出手段と、前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段と、前記操作デバイスの機器状態を取得する手段と、前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる発光制御手段と、を含むことを特徴とする。
【0011】
また、本発明に係る情報処理装置の制御方法は、発光部を備えた操作デバイスと通信接続される情報処理装置の制御方法であって、前記発光部から発せられる光を検出するステップと、前記検出された光の位置に応じて、前記操作デバイスの位置を特定するステップと、前記操作デバイスの機器状態を取得するステップと、前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させるステップと、を含むことを特徴とする。
【0012】
また、本発明に係るプログラムは、発光部を備えた操作デバイスと通信接続され、前記発光部から発せられる光を検出する検出手段を備える情報処理装置を、前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段、前記操作デバイスの機器状態を取得する手段、及び前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる発光制御手段、として機能させるためのプログラムである。このプログラムは、コンピュータ読み取り可能な情報記憶媒体に記憶されてよい。
【発明を実施するための最良の形態】
【0013】
以下、本発明の実施の形態について、図面に基づき詳細に説明する。
【0014】
図1は、本発明の一実施形態に係る情報処理システム1の概要図である。同図に示されるように、情報処理システム1は、撮像部14を備え、表示装置15と接続される情報処理装置10と、それぞれ発光部を備える複数の操作デバイス20と、を含んで構成される。また、各操作デバイス20は、無線通信インタフェースを介して情報処理装置10と通信接続可能になっている。情報処理システム1のユーザは、操作デバイス20を保持して、操作デバイス20に設けられたボタン等を手で操作する。これに応じて、ユーザの操作内容が無線通信インタフェースを介して情報処理装置10に対して送信される。また、情報処理装置10は、各操作デバイス20の発光部から発せられる光を撮像部14によって撮像し、当該撮像された画像を用いて各操作デバイス20の実空間上の位置を特定する。これにより、各ユーザは操作デバイス20に設けられたボタン等を操作するだけでなく、操作デバイス20自体を動かすことによって、情報処理装置10に対する操作入力を行うことができる。
【0015】
以下、本実施形態における情報処理装置10及び操作デバイス20のハードウェア構成について説明する。
【0016】
情報処理装置10は、例えば家庭用ゲーム機やパーソナルコンピュータ等であって、図2に示されるように、制御部11と、記憶部12と、無線通信部13と、撮像部14と、を含んで構成される。また、情報処理装置10は、表示装置15と接続されている。
【0017】
制御部11は、例えばマイクロプロセッサ等であって、記憶部12に記憶されるプログラムに従って、各種の情報処理を実行する。本実施形態において制御部11が実行する処理の具体例については、後述する。
【0018】
記憶部12は、例えばRAMやROM等のメモリ素子を含んで構成され、制御部11が実行するプログラムや、各種のデータを記憶する。また、制御部11のワークメモリとしても動作する。
【0019】
無線通信部13は、無線通信インタフェースであって、伝送線を介さずに無線通信によって操作デバイス20との間で情報の送受信を行う。無線通信部13は、例えばbluetooth(登録商標)規格に基づく無線通信インタフェースであってよい。本実施形態において、無線通信部13は、複数の操作デバイス20との間でデータの送受信を実行可能になっている。すなわち、無線通信部13は、各操作デバイス20との間で通信接続を確立し、時分割多重通信を行ったり、互いに異なる周波数帯域で通信を行ったりするなどの方法で、各操作デバイス20との間で通信を行う。なお、同時期に複数の操作デバイス20が情報処理装置10に接続される場合、情報処理装置10は、各操作デバイス20に対して、当該操作デバイス20を識別するための論理番号を割り当てる。情報処理装置10は、この論理番号によって各操作デバイス20を識別して、データ交換を行う。
【0020】
撮像部14は、カメラデバイスであって、周辺画像を撮像する。具体的に、例えば撮像部14は、表示装置15の上部など、表示装置15の画面を閲覧するユーザを撮像可能な位置に設置されて、カラー画像を撮像する。本実施形態では、この撮像部14が操作デバイス20の発光部から発せられる光を検出する検出手段として機能する。すなわち、撮像部14がユーザの保持する操作デバイス20を撮像することによって、情報処理装置10は操作デバイス20の発光部から発せられる光を検出する。
【0021】
表示装置15は、例えば家庭用テレビ受像機等であって、情報処理装置10から出力される映像信号に従って、ユーザに対して提示すべき各種の情報を画面上に表示する。
【0022】
図3A及び図3Bは、操作デバイス20の外観の一例を示す図であって、図3Aは操作デバイス20の正面図、図3Bは底面図である。これらの図に示されるように、操作デバイス20は、円柱状の本体部21の一端に球状の発光部22が取り付けられた形状になっており、本体部21の表面には、複数のボタン23が設けられている。ユーザは、本体部21を把持して、各ボタン23を指で押下する操作入力を行う。また、図3A及び図3Bに示すように、本体部21の底面にはUSB(Universal Serial Bus)規格に対応したUSBコネクタ24が設けられている。なお、操作デバイス20には、USBコネクタ24以外にも、各種の機器を接続可能な拡張コネクタが設けられてもよい。
【0023】
図4は、操作デバイス20の内部構成例を示す構成ブロック図である。同図に示されるように、本体部21は、その内部に、制御部31、記憶部32、無線通信部33、加速度センサ34、ジャイロセンサ35、地磁気センサ36、振動モータ37及び充電池38を含んで構成されている。また、発光部22には複数のLED40が内蔵されている。
【0024】
制御部31は、マイクロプロセッサ等であり、ボタン23に対するユーザの操作入力の内容を示す信号や、後述する各センサの検知結果を示す信号などを取得し、当該取得した信号を無線通信部33に対して出力する。また、無線通信部33を介して定期的に情報処理装置10から到来する制御信号に従って、各LED40の発光制御や振動モータ37の駆動制御を行う。
【0025】
記憶部32は、RAMやROM等のメモリ素子を含んで構成され、制御部31の制御処理に必要なプログラムやデータを格納している。また、無線通信部33は、情報処理装置10の無線通信部13と同種規格の無線通信インタフェースであって、無線通信部13との間で無線通信による情報の送受信を行う。具体的に、無線通信部33は、情報処理装置10からの問い合わせに応じて、定期的(例えば11.25msごと)に情報処理装置10との間でデータの送受信を行う。
【0026】
加速度センサ34、ジャイロセンサ35、及び地磁気センサ36は、操作デバイス20の向き(姿勢)や動きなどを検知する検知手段として機能する。具体的に、本実施形態では、操作デバイス20に対して互いに直交する3つの基準軸が設定されているものとする。加速度センサ34は、この3つの基準軸それぞれの方向に生じる加速度を検知する。加速度センサ34が操作デバイス20に生じる重力加速度の向きを検知することで、操作デバイス20の鉛直方向に対する傾きが特定できる。また、操作デバイス20の移動によって生じる加速度によって、操作デバイス20が移動する際の移動方向及び移動速度が特定できる。
【0027】
ジャイロセンサ35は、加速度センサ34と同様の3つの基準軸のそれぞれを中心とした回転の角速度を検出する。このジャイロセンサ35が単位時間ごとに検出した各速度を積分することによって、各基準軸を回転中心とした操作デバイス20の回転量を算出することができる。地磁気センサ36は、3つの基準軸それぞれの方向に沿った磁場の大きさを検出する。この地磁気センサ36が地磁気を検知することによって、操作デバイス20がどの方位を向いているかを特定することができる。
【0028】
振動モータ37は、制御部31からの制御信号に応じて駆動することで、操作デバイス20を振動させる。これによって、操作デバイス20を把持するユーザの手に振動を伝え、ゲームなどにおける臨場感を高める演出を行うことができる。なお、操作デバイス20内部には複数の振動モータ37が配置されてもよい。
【0029】
充電池38は、例えばリチウムイオン電池などの二次電池であって、外部から供給される電力を蓄積し、蓄積した電力を操作デバイス20内の各部に対して供給する。すなわち、操作デバイス20の各部は、充電池38から供給される電力によって動作する。充電池38に充電された電力の残量が残り少なくなると、例えば無線通信部33を動作させるために十分な電力が確保できなくなり、無線通信部33を介した情報処理装置10との間の通信が継続できなくなる場合もあり得る。
【0030】
具体的に、充電池38は、USBコネクタ24を介して操作デバイス20が外部のUSBホスト機器と接続された際に、当該USBホスト機器からUSBバス経由で供給される電力によって、充電される。なお、このUSBホスト機器は、USBインタフェースを備えた情報処理装置10であってもよい。また、ここではUSBバス経由で操作デバイス20の充電を行うこととしたが、これに限らず、充電池38は例えば家庭用交流電源などからの電力供給によって充電されてもよい。
【0031】
複数のLED40は、それぞれ制御部31の制御によって発光する。本実施形態では、赤色に発光するLED40R、緑色に発光するLED40G、及び青色に発光するLED40Bの3個のLED40が発光部22内部に並んで配置されており、これらLED40のそれぞれが制御部31からの制御信号に応じた光の強度で発光することとする。具体的に、例えば各LED40は16ビットの階調で明度を変更可能になっており、LED40R、LED40G及びLED40Bのそれぞれが制御部31から指定される明度値に応じた明度で発光することとする。この3色の明度の割合に応じて、発光部22は多様な色で発光することができる。
【0032】
以下、以上説明したハードウェア構成を備える情報処理システム1によって実現される機能について、説明する。本実施形態において、情報処理装置10は、機能的に、図5に示すように、アプリケーション実行部51と、デバイス状態管理部52と、発光制御部53と、デバイス位置特定部54と、を含んで構成される。これらの機能は、制御部11が記憶部12に格納されたプログラムを実行することによって実現できる。このプログラムは、光ディスク等のコンピュータ読み取り可能な各種の情報記憶媒体に格納されて提供されてもよいし、インターネット等の通信ネットワークを介して提供されてもよい。
【0033】
アプリケーション実行部51は、例えばゲームアプリケーションなどのアプリケーションプログラムによって規定される各種の処理を実行する。具体的に、アプリケーション実行部51は、操作デバイス20から入力されるユーザの指示操作に応じた各種の処理を実行し、その実行結果を、表示装置15の画面に表示するなどの方法で出力する。
【0034】
ここで、アプリケーション実行部51は、操作デバイス20に設けられたボタン23に対するユーザの操作だけでなく、操作デバイス20の実空間上における位置や向きに応じた処理を実行してもよい。そのためにアプリケーション実行部51は、後述するデバイス位置特定部54から、操作デバイス20の位置や向きを示す情報を取得する。これによって、アプリケーション実行部51は、例えばユーザが操作デバイス20の位置を移動させたり、振ったり、回転させたりする各種の動きに応じた処理を実行できる。また、アプリケーション実行部51は、処理の内容に応じて操作デバイス20に内蔵された振動モータ37を振動させる振動指示を出力してもよい。当該振動指示は、無線通信部13を介して操作デバイス20に送信され、操作デバイス20内部の振動モータ37を振動させる。
【0035】
デバイス状態管理部52は、情報処理装置10に接続される操作デバイス20の状態を管理する。具体的に、デバイス状態管理部52は、無線通信部13を介して操作デバイス20の接続要求があると、当該接続要求を行った操作デバイス20に対して、論理番号(ポート番号)を割り当てる。ここで、情報処理装置10は、接続要求が行われた順に、各操作デバイス20に対して互いに異なる論理番号を割り当てる。すなわち、接続要求を行った操作デバイス20を無線通信ネットワーク上で特定する情報(例えばネットワークアドレス)と、未割り当てのポート番号と、の関連づけを行う。このポート番号の割り当て(ポートアサイン)が実行されることによって、以後、情報処理装置10は、同時期に接続される複数の操作デバイス20のそれぞれをポート番号によって識別することができる。例えばアプリケーション実行部51は、複数の操作デバイス20のうちのどの操作デバイス20から操作入力が行われたか、またどの操作デバイス20に対して各種の制御信号を送信するかを、このポート番号によって特定する。
【0036】
また、デバイス状態管理部52は、接続中の操作デバイス20それぞれの状態に関する情報を取得し、当該取得した情報に応じて、操作デバイス20の状態をユーザに提示するなどの処理を実行する。このような処理の具体例については、後述する。
【0037】
発光制御部53は、アプリケーション実行部51からの指示や、デバイス状態管理部52が取得した操作デバイス20の機器状態に関する情報を用いて、接続された各操作デバイス20における発光部22の発光を制御する。具体的に、発光制御部53は、複数の操作デバイス20が無線通信部13を介して通信接続されている場合に、この複数の操作デバイス20それぞれの発光部22が互いに異なる発光色で発光するように、発光色の制御を行う。また、通信接続されている操作デバイス20の機器状態に応じて、発光部22の発光態様を変化させる。さらに、発光制御部53は、アプリケーション実行部51による処理の実行状況など、各種の条件に応じて、発光部22の発光色を変化させてもよい。発光制御部53による発光部22の発光制御の具体例については、後述する。
【0038】
デバイス位置特定部54は、撮像部14によって撮像された画像を用いて、各操作デバイス20の位置を特定する。具体的に、デバイス位置特定部54は、所定時間ごとに撮像部14によって撮像された撮像画像のデータを取得する。そして、取得された撮像画像に対してパターンマッチング処理などの画像処理を実行して、当該撮像画像の中から、発光部22から発せられた光の画像を抽出する。さらに、デバイス位置特定部54は、当該抽出された光の画像の撮像画像内における位置によって、撮像部14の視野範囲内における操作デバイス20の位置を特定する。また、抽出された光の画像の撮像画像内における大きさによって、撮像部14から操作デバイス20までの距離を特定する。これによって、操作デバイス20の実空間内における撮像部14に対する位置が特定される。
【0039】
ただし、ユーザの操作の仕方によっては、操作デバイス20が撮像部14の視野範囲外まで移動したり、発光部22が撮像部14とは反対側に向けられたり、障害物やユーザの手などによって発光部22からの光が遮られたりして、一時的に発光部22が検出できなくなることもあり得る。そこで本実施形態では、デバイス位置特定部54は、撮像部14の撮像画像だけでなく、各操作デバイス20から送信されるセンサの検出結果を示す信号も用いて、操作デバイス20の位置を特定する。これにより、より精度よく操作デバイス20の位置を特定するとともに、操作デバイス20の傾きも特定し、かつ、発光部22の光の画像が撮像画像から検出できない間も、操作デバイス20の位置を追跡することができる。
【0040】
具体的に、デバイス位置特定部54は、所定の基準位置から開始して、定期的に発光部22の光を用いた操作デバイス20の位置特定処理を繰り返し、操作デバイス20の位置を追跡していく。それと並行して、操作デバイス20に内蔵された各種センサの出力値を用いて、基準位置に対する操作デバイス20の移動方向及び移動距離を算出することによる操作デバイス20の位置の追跡も行う。このとき、センサの出力値から操作デバイス20の移動方向及び移動距離を算出するために、デバイス位置特定部54はセンサの出力値に対して所定の係数を用いた演算を行う。そして、デバイス位置特定部54は、発光部22の光によって特定された操作デバイス20の位置と、センサの出力値によって特定された位置と、の差が最小化するように、この所定の係数の補正を行う。発光部22からの光の検出に失敗したときには、この補正された係数を用いてセンサ出力値に対する演算を行い、操作デバイス20の位置を特定する。このように、発光部22からの光を検出できる間に得られた操作デバイス20の位置の情報を利用した補正を行うことで、光の検出ができない間も、センサ出力値を用いて比較的精度よく操作デバイス20の位置特定を継続できる。
【0041】
なお、後に詳しく説明するように、情報処理装置10に複数の操作デバイス20が接続されている場合、発光制御部53によって、各操作デバイス20の発光色は互いに異なるように制御される。そこで、撮像部14による撮像画像の中に発光部22の光の画像が複数存在する場合、各光の色によって撮像画像の中から検出された光の画像がいずれの操作デバイス20に対応するかを特定できる。
【0042】
以下、発光制御部53が各操作デバイス20の発光色を制御する方法の具体例について、説明する。本実施形態において、操作デバイス20の記憶部32には、色管理テーブルが記憶されている。この色管理テーブルは、色番号と、当該色番号に対応する色で発光部22を発光させるための各LED40の明度の情報と、が関連づけられたテーブルである。図6は、色管理テーブルの一例を示している。この図の例では、0から15まで計16個の色番号のそれぞれに対して、所定の色で発光部22を発光させるためのLED40R,40G及び40Bそれぞれの明度を表す明度値Rn、Gn及びBn(n=0,1,・・・,15)が関連づけられている。ここで、各明度値Rn、Gn及びBnは、例えば16ビット長の数値である。
【0043】
情報処理装置10の発光制御部53が、後述する各種の条件に応じて発光部22の発光色を変化させようとする場合、色番号を指定する情報とともに発光色の変更指示を操作デバイス20に対して送信する。前述したように、情報処理装置10は所定時間おきに操作デバイス20との間で無線通信によりデータの送受信を行っているので、この所定時間ごとのタイミングで発光制御部53は操作デバイス20の発光色を変化させる指示を送信できる。この変更指示を受信すると、操作デバイス20の制御部31は、指定された色番号に関連づけられた各LED40の明度値を色管理テーブルから読み出す。そして、この読み出された明度値に応じて制御部31が各LED40の明度を制御することによって、指定された色番号に対応する色で発光部22を発光させる。これによって、発光制御部53は、予め0〜15の色番号に関連づけられた青、赤、マゼンタ、緑、・・・といった16パターンの色のうち、いずれかの色で、操作デバイス20の発光部22を発光させることができる。
【0044】
なお、操作デバイス20は色管理テーブルを複数記憶してもよい。例えばROM内には操作デバイス20の工場出荷時に書き込まれた固定色管理テーブルT1を記憶し、RAM内には操作デバイス20の動作中にユーザの選択やアプリケーション実行部51の指示によって書き換え可能な可変色管理テーブルT2を備えてもよい。この場合、可変色管理テーブルT2は、操作デバイス20の初期状態においては固定色管理テーブルT1と同様の内容でRAM内に読み込まれる。そして、発光制御部53は、例えばユーザの指示操作に応じて、固定色管理テーブルT1には含まれない新たな色を選択し、当該色で発光部22を発光させるための各LEDの明度値の情報を色番号の指定とともに操作デバイス20に対して送信する。操作デバイス20の制御部31は、この情報処理装置10から送信される情報に応じて、指定された可変色管理テーブルT2の色番号に関連づけられる明度値を更新する。これによって、ROMに記憶された固定色管理テーブルT1には存在しない色であっても、発光制御部53は各操作デバイス20の発光色として指定できるようになる。
【0045】
あるいは発光制御部53は、アプリケーション実行部51の要求に応じてRAM内の可変色管理テーブルT2を更新する指示を操作デバイス20に送信してもよい。これにより、情報処理装置10は、固定色管理テーブルT1に記憶されている色に関わりなく、アプリケーション実行部51が処理の実行に伴って発光させたい色の情報を、予め操作デバイス20に記憶させておくことができ、アプリケーション実行部51の処理の進行に連動して発光色を変化させるなど、アプリケーション実行部51の処理内容に応じた発光制御を実現できるようになる。
【0046】
このように操作デバイス20内に複数の色管理テーブルが記憶される場合、発光制御部53は、操作デバイス20の発光色を変更する際には、色管理テーブルを特定する情報(ここでは固定色管理テーブルT1及び可変色管理テーブルT2のいずれかを指定する情報)、及び当該特定された色管理テーブル内の色番号を指定する情報とともに、発光色の変更指示を操作デバイス20に送信する。
【0047】
さらに、発光制御部53は、色番号の指定に変えて、直接各LED40の明度値を指定することによって、発光色の変更指示を行ってもよい。例えば発光制御部53は、アプリケーション実行部51の指示に応じて、LED40R,40G及び40Bそれぞれの明度を表す明度値の情報とともに、発光色の変更指示を操作デバイス20に送信する。これによって、情報処理装置10は、アプリケーション実行部51が実行する処理内容などに合わせて、操作デバイス20内の色管理テーブルには含まれない色で操作デバイス20の発光部22を発光させることができる。
【0048】
次に、各種の条件に応じた発光制御部53による発光部22の発光制御のいくつかの具体例について、説明する。なお、以下に説明する複数の発光制御の条件の例については、互いに組み合わせて用いられることとしてもよい。
【0049】
まず第1の例として、複数の操作デバイス20が通信接続される場合に、各操作デバイス20の発光色が互いに異なるように発光部22を発光させる制御について、説明する。
【0050】
本実施形態では、ユーザが操作デバイス20の使用を開始しようとする場合、所定のボタン23(電源ボタンなど)を操作することとする。当該操作に応じて、操作デバイス20は所定パターンで発光色を発光させる制御を開始する。具体的には、ROM内の固定色管理テーブルT1から予め定められた色番号の明度値を読み出し、当該読み出した明度値により各LEDを発光させる。これにより、情報処理装置10との無線通信接続が確立されるまでの間は、特定の色で発光部22が発光することになり、ユーザは発光部22の発光色で無線通信接続の確立が完了していないことを知ることができる。また、操作デバイス20は、所定の色で発光部22を点滅させたり、あるいは複数の色(例えば7色)を順に変化させながら発光部22を発光させたりしてもよい。こうすれば、より明確にユーザに接続確立中であることを示すことができる。
【0051】
一方、操作デバイス20はユーザの使用開始の指示に応じて、接続要求を情報処理装置10に対して送信する。これに応じてデバイス状態管理部52は、前述したように当該操作デバイス20に対するポート番号の割り当てを行う。そして、デバイス状態管理部52から新たな操作デバイス20に対してポート番号の割り当てが行われた旨の通知を受けた発光制御部53は、当該新たに接続された操作デバイス20の発光色を決定する。例えば発光制御部53は、割り当てられたポート番号と同じ数字の色番号(すなわち、1番ポートに割り当てられた操作デバイス20については、色番号1)の色を、当該操作デバイス20の発光色として決定する。そして、この操作デバイス20に対して、決定した色番号を指定した発光色の変更指示を行う。この変更指示に応じて操作デバイス20の発光色が変更されることにより、ユーザは無線通信接続の確立が完了したことを知ることができる。なお、この色の変更は、シームレスに実行されてもよい。すなわち、無線通信接続の確立が完了したタイミングにおける発光色から、変更を指示された色まで、各LED40の明度値を徐々に変化させることで、発光部22の発光色を変更してもよい。
【0052】
ここで、発光制御部53は、各操作デバイス20に割り当てたポート番号ごとに互いに異なる色を発光色として決定することとする。例えば発光制御部53は、1番ポートに割り当てられる操作デバイス20に対しては青(色番号1)、2番ポートについては赤(色番号2)、3番ポートについてはマゼンタ(色番号3)、4番ポートについては緑(色番号4)、というように、ポート番号ごとに予め互いに異なる色を割り当てておく。これにより、同時期に複数の操作デバイス20が情報処理装置10に接続される場合に、この複数の操作デバイス20それぞれの発光部22が互いに異なる色で発光することになり、ユーザは発光色で各操作デバイス20を識別することができるようになる。これにより、操作デバイス20は、接続されているポート番号を表示するインジケータ等を別に備える必要がなくなる。
【0053】
さらに発光制御部53は、ポート番号に応じて決定された色を、ユーザの指示に応じて変更してもよい。この場合、例えばユーザは操作デバイス20を操作して、メニュー画面から、発光色の変更を指示する。これに応じて、発光制御部53は、表示装置15の画面に発光色の候補を提示する。このとき、提示される発光色の候補は、例えば指示したユーザが所持している操作デバイス20に格納された可変色管理テーブルT2に格納された色であってよい。
【0054】
また、発光制御部53は、提示する色の中から、すでに他の操作デバイス20の発光色として選択済みの色は除外してもよい。具体的に、本実施形態において、情報処理装置10は、通信接続中の各操作デバイス20に対して発光を指示した色を記憶しておくこととする。図7は、このような各操作デバイス20のポート番号と当該操作デバイス20の発光色との対応関係を管理するデバイス発光色対応テーブルの一例を示している。前述したように通信接続が確立した際には、まずポート番号ごとに予め定められた色で操作デバイス20に対する発光指示が行われる。発光制御部53は、この指示した色をデバイス発光色対応テーブルにポート番号と関連づけて記憶する。図7の例では、1番ポートに接続された操作デバイス20は青、2番ポートに接続された操作デバイス20は赤で発光するよう指示がなされているものとする。
【0055】
この状態で、1番ポートに接続された操作デバイス20を所持するユーザが発光色の変更を指示した場合、発光制御部53は、当該操作デバイス20内の可変色管理テーブルT2に格納された各色の情報を取得する。そして、取得した各色の中に、他の操作デバイス20の発光色として指示した色がないかを確認し、このような色を除外した残りの色を発光色の選択候補としてユーザに提示する。ここではすでに2番ポートの操作デバイス20に指示済みの赤色が除外されることとなる。図8は、このような発光色の選択候補の提示画面の一例を示している。ユーザが提示された発光色候補の中から任意の色を選択すると、発光制御部53は、選択された色の色番号を指定して、当該操作デバイス20に対する発光色の変更指示を行う。このような構成によれば、ユーザは自分が所持する操作デバイス20が割り当てられたポート番号に関わらず、自分の好みの色に発光部22の発光色を変更することができる。一方で、他の操作デバイス20の発光色は選択候補として提示されないため、各ユーザが自由に自分の操作デバイス20の発光色を変更しても、無線通信接続されている各操作デバイス20の発光色は互いに異なる色となるよう制御できる。そのため、デバイス位置特定部54は、複数の操作デバイス20それぞれの発光部22からの光によって各操作デバイス20の位置を特定する際に、複数の操作デバイス20それぞれを互いに区別して位置特定処理を実行できる。
【0056】
なお、発光色の選択候補の提示は、表示装置15の画面に表示する以外の方法で実現されてもよい。例えば発光制御部53は、ユーザが色の切り替えを指示するボタン23を操作するごとに、複数の発光色の選択候補を順に切り替えて発光部22を発光させることとしてもよい。こうすれば、ユーザは、自分の希望する色で発光部22が発光するまでボタン23の操作を繰り返すことで、発光色を変更することができる。この場合にも、発光制御部53は、他の操作デバイス20の発光色をスキップして発光色の切り替えを行うことで、ユーザに提示する発光色の選択候補から既に他の操作デバイス20で使用済みの色を除外することができる。なお、発光制御部53は、他の操作デバイス20で使用済みの色と同一の色だけでなく、当該使用済みの色と近い色(例えば色相値の差が所定の閾値未満の色)も、ユーザに提示する選択候補から除外してもよい。
【0057】
また、操作デバイス20の使用中に、当該操作デバイス20に割り当てられたポート番号の変更がユーザによって要求される場合がある。この場合、発光制御部53は、変更前のポート番号に予め対応づけられた色で当該操作デバイス20の発光部22を発光させていたのでれば、変更後のポート番号に対応づけられた色に発光部22の発光色を変更してもよい。あるいは、ポート番号の変更前にユーザの選択指示に応じて発光色の変更が行われていた場合、発光制御部53は当該操作デバイス20の発光色を変更させずに、ユーザの選択した発光色を維持することとしてもよい。この場合には、図7に例示したデバイス発光色対応テーブルにおいて、これまで当該操作デバイス20が割り当てられていたポート番号及び新たに割り当てられたポート番号に対応する発光色の変更だけが行われることとなる。
【0058】
また、操作デバイス20の使用中にネットワークトラブル等によって情報処理装置10との間の通信接続が切断された場合、操作デバイス20の制御部31は、発光部22の発光色を通信接続が確立されていない状態を示す所定の色に変化させる制御を実行してもよい。この場合の所定の色がポート番号に応じて決まる発光色と異なる色であれば、ユーザは発光部22の発光によって通信接続の切断を知ることができる。
【0059】
また、以上説明した割り当てるポート番号に対応した色で操作デバイス20の発光部22を発光させる制御とは逆に、情報処理装置10は、操作デバイス20側が要求する発光色に対応したポート番号を操作デバイス20に割り当てることとしてもよい。具体例として、操作デバイス20から発光色を指定した接続要求を受け付けた場合に、デバイス状態管理部52は、当該接続要求を行った操作デバイス20に対して、指定された発光色に予め対応づけられたポート番号を割り当てることとする。この場合、操作デバイス20は、例えば色を選択するための選択スイッチをその表面に備え、ユーザが選択スイッチを操作して選択した色を指定して情報処理装置10に対する接続要求を行う。あるいは、操作デバイス20は、前回の動作時における発光色を指定して接続要求を行ってもよい。また、操作デバイス20は、USBコネクタ24やその他の拡張コネクタ等を介して、発光色を特定する情報(色番号等)が格納された拡張機器(メモリカードなど)を接続可能に構成され、当該拡張機器に格納された情報により特定される色を指定して接続要求を行ってもよい。こうすれば、ユーザは、接続時に割り当てられたポート番号に応じて決まる色を後から変更するのではなく、接続当初から自分の好みの色やいつも自分が利用している色で自分が所持する操作デバイス20の発光部22を発光させることができる。なお、この例においても、指定された色が発光制御部53に通知され、発光制御部53は接続される各操作デバイス20の発光色を管理することとする。これにより、新たに接続要求を行った操作デバイス20によって指定された色が既に他の操作デバイス20の発光色として割り当て済みの場合、情報処理装置10は、当該操作デバイス20の接続要求を拒否したり、あるいはエラーメッセージを表示し、前述した図8の例と同様の方法によりユーザに他の色を選択させたりするなどの制御を実行して、複数の操作デバイス20それぞれの発光色が互いに異なるようにすることができる。
【0060】
次に、発光制御部53による発光制御の第2の例として、接続された操作デバイス20の機器状態に応じて、発光部22の発光態様を変化させる制御の例について、説明する。
【0061】
この例では、発光制御部53は、デバイス状態管理部52が取得する操作デバイス20の機器状態に関する情報を用いて、発光部22の発光制御を行う。具体的に、例えば発光制御部53は、操作デバイス20に内蔵された充電池38の充電状態に応じて、発光部22の発光態様を変化させてもよい。この場合、デバイス状態管理部52は、定期的に操作デバイス20から充電池38の充電残量を示す数値情報を取得する。そして、この数値情報が所定の閾値を下回り、充電池38の充電残量が少なくなったと判定される場合、デバイス状態管理部52は、その判定結果を発光制御部53に通知する。発光制御部53は、これに応じて、充電残量が少なくなったことを示す所定の色で発光部22を発光させるよう、操作デバイス20に対して指示する。これにより、操作デバイス20に充電池38の充電状態を示すインジケータ等がなくとも、ユーザは操作デバイス20の充電状態を知ることができる。
【0062】
また、発光制御部53は、操作デバイス20の充電残量が少なくなった場合、前述したように割り当てたポート番号やユーザの選択に応じて指示した発光色と、充電残量を警告する発光色と、を交互に切り替えて点滅表示させる制御を実行してもよい。
【0063】
また、発光制御部53は、充電残量が少なくなった場合に常にその状態を警告する発光制御を行うのではなく、所定のタイミングで充電残量を示す発光色で発光部22を発光させてもよい。例えば発光制御部53は、ユーザが充電残量を表示させる所定のボタン23の操作を実行した場合に、その時点の充電残量に応じた色(満充電に近い状態であれば緑色、半分以下になったら黄色、空に近い状態であれば赤色など)で発光部22を発光させる。また、発光制御部53は、充電残量を表示させるユーザの指示があった場合に、発光色は変化させずに、満充電状態であれば点灯、半分以下になったら点滅、空に近い状態であれば消灯などと発光態様を変化させてもよい。こうすれば、ユーザは、通常時は接続されたポート番号や自分自身が選んだ色で発光部22を発光させつつ、必要に応じて発光部22の発光態様を変化させて充電状態を確認することができる。また、発光制御部53は、発光色の色相は変えずに、充電残量に応じて発光色の明度を変化させることによって、充電状態をユーザに提示してもよい。
【0064】
なお、操作デバイス20は、場合によっては、発光制御部53の制御によらずに、独自に以上説明したような方法で充電状態に応じて発光部22の発光態様を変化させてもよい。前述したように、充電残量が少なくなると、無線通信部33を介した無線通信接続が維持できなくなって、発光制御部53からの指示を受けられなくなる可能性もある。このような場合も、操作デバイス20が独自に発光部22の発光態様を充電残量に応じて変化させることで、ユーザは充電残量を知ることができる。また、情報処理装置10との間の無線通信接続の確立を実行中にも、充電残量に応じた発光態様の制御が可能となる。
【0065】
また、発光制御部53は、充電状態以外の各種の操作デバイス20の機器状態に応じて、操作デバイス20の発光制御を実行してもよい。例えば操作デバイス20は、振動モータ37の駆動によって生じる振動の態様を加速度センサ34などの各センサの出力によって検知することとし、発光制御部53は、この振動の態様に応じて、発光部22の発光色を変化させてもよい。具体例として、同じ振動モータ37が駆動する場合でも、操作デバイス20が卓上などに置かれている、ユーザが手で本体部21を軽く握っている、あるいは強く握っているなど、操作デバイス20の状態によって、振動の態様が変化する。このことを利用して、発光制御部53は、例えば振動モータ37の駆動中にユーザが手で本体部21を強く握ると発光色が所定の色に変化するなどの制御を実行することができる。また、発光制御部53は、ユーザによるボタン23に対する操作状況に応じて発光色を変化させてもよい。また、操作デバイス20は、これまで説明した以外にも、例えばユーザが本体部21を把持しているか否かを検知する感圧センサなどを備え、発光制御部53は、このようなセンサなどの検知結果に応じて発光色を変化させてもよい。
【0066】
このような構成により、例えばユーザが操作デバイス20を把持しているか否か、どんなボタン操作を行っているか、等の様々な条件に応じて、発光制御部53は発光部22の発光態様を変化させることができる。アプリケーション実行部51が実行する処理内容によっては、特定のボタン23を押下している間だけ発光部22の発光色を特定の色に変化させるなどの制御を行うことで、ユーザに操作タイミングなどを分かり易く提示することができる。例えば、特定のボタン23を押下しながら操作デバイス20を振ったり傾けたりすることで各種の操作入力を行うような場合、特定のボタン23の押下に応じて発光部22の発光色を変化させることによって、当該操作デバイス20を所持してボタン23の操作を行っているユーザ以外の他のユーザにも、当該操作デバイス20を所持しているユーザがどのようなボタン操作を行っているか分かり易く伝えることができる。
【0067】
また、発光制御部53は、操作デバイス20に接続された拡張機器などに応じて、発光色を変更してもよい。例えば操作デバイス20は、USBコネクタ24やその他の拡張コネクタ等を介して、ユーザを識別する識別情報が格納された拡張機器(メモリカードなど)を接続可能であってもよい。この場合、拡張機器に格納されたユーザの識別情報が操作デバイス20から情報処理装置10に送信され、発光制御部53は、送信されたユーザの識別情報に関連づけて予め記憶されている色で発光部22を発光させる指示を行う。こうすれば、ユーザは、複数の操作デバイス20のいずれを使用する場合であっても、使用する操作デバイス20に自分自身の識別情報が書き込まれた拡張機器を接続することで、常に自分の好みに応じて予め設定された色で操作デバイス20を発光させることができる。
【0068】
発光制御部53による発光制御の別の例として、アプリケーション実行部51の指示するタイミングで、発光部22の発光色をアプリケーション実行部51の指示する色に変化させる制御が実行されてもよい。具体例として、これまでの説明では、複数のユーザがそれぞれ操作デバイス20を所持して操作入力を行うこととしたが、ここでは複数のユーザが一つの操作デバイス20を共用する例について説明する。また、この例では、アプリケーション実行部51は複数ユーザが順番に指示操作を行うことでゲームが進行していく複数ユーザ参加型のゲームアプリケーションを実行するものとする。この場合、各ユーザは、それぞれ交代で操作デバイス20を所持して指示操作を行うことになる。このとき、発光制御部53は、各ユーザの指示操作が終わってアプリケーション実行部51がゲーム処理を進行させるごとに、次のユーザに対応づけられた色で発光部22を発光させる制御を行う。このような制御を実現するため、各ユーザは、ゲーム開始前に自分自身に対応する色を複数の選択候補の中から選んでおくこととする。具体的に、例えば発光制御部53は図8に例示したような発光色の選択画面を各ユーザに順に提示して、予め各ユーザに発光色を選択させる。例えばプレイヤー1及びプレイヤー2の2名がゲームに参加し、それぞれ赤色、及び青色を事前に選んでおいたとすると、プレイヤー1が指示操作を行うべきタイミングになると、発光制御部53は、アプリケーション実行部51からの指示に応じて発光部22を赤色で発光させる指示を操作デバイス20に対して行う。これによって発光部22が赤色に発光すると、プレイヤー1は自分が操作デバイス20の操作をすべきことが分かる。プレイヤー1の操作が終われば、発光制御部53は青色で発光部22を発光させる。これにより、次はプレイヤー2が操作をすべきことが分かる。
【0069】
発光制御部53による発光制御のさらに別の例として、情報処理装置10の周辺環境に応じて、発光部22の発光色を変化させる制御が実行されてもよい。例えば情報処理装置10の設置された部屋が暗いときと明るいときでは、撮像部14による発光部22の発光色の検出精度に差が生じる。そこで、発光制御部53は、撮像部14の撮像画像によって特定される情報処理装置10の周辺環境に応じて、発光部22の発光輝度を変化させることとする。すなわち、撮像画像全体の明度が低い(部屋が暗い)ときには発光部22の発光輝度を下げることとする。これにより、撮像画像における発光部22の検出精度を下げることなく、発光部22の発光による消費電力を抑えることができる。逆に撮像画像全体の明度が高い(部屋が明るい)ときには発光部22の発光輝度を上げることにより、発光部22の検出精度を高めることができる。
【0070】
また、発光制御部53は、撮像部14によって得られる撮像画像の色相に応じて、発光部22の発光色を変更してもよい。例えば発光制御部53は、ユーザが着ている服の色など、撮像画像の中に含まれる背景色の色分布を解析し、その解析結果を用いて、撮像画像の背景色と区別して検出しやすい色(補色など)に発光部22の発光色を変更する。これによって、発光部22の検出精度を向上できる。なお、以上の説明では撮像部14によって得られる撮像画像を用いて発光部22の発光色を変化させることとしたが、これに限らず、情報処理装置10や操作デバイス20に備えられた外光センサなどによって発光部22の発光色を調整してもよい。
【0071】
以上説明したように、各種の条件に基づいて発光部22の発光態様を変化させる場合、発光制御部53は、当該発光態様を変化させる指示を操作デバイス20に対して送信したことを、デバイス位置特定部54に通知することとする。こうすれば、デバイス位置特定部54は、発光部22の発光色の変化に合わせて発光部22の光の画像の検出条件を変化させることで、撮像画像内において発光部22の発光色が変化しても、同じ操作デバイス20の位置の特定を継続することができる。逆に、発光制御部53は、デバイス位置特定部54がアプリケーション実行部51からの要求などによって操作デバイス20の位置特定処理を実行している間は、充電状態をユーザに通知するための発光部22による光の点滅など、デバイス位置特定部54による発光部22からの光の検知を妨げるおそれがあるような発光を中断する制御を実行することとしてもよい。
【0072】
なお、本発明の実施の形態は、以上説明したものに限られない。例えば操作デバイス20の本体部21及び発光部22の形状やボタン23の配置は、以上説明したものと異なっていても構わない。
【0073】
また、以上の説明において、発光制御部53が実行することとした処理の一部は、操作デバイス20側で実行されることとしてもよい。例えば操作デバイス20の制御部31は、充電池38の充電残量、ボタン23の操作に関する情報、各センサの出力などによって特定される自分自身の機器状態に応じて、予め定められた条件によって発光部22の発光色を変化させる。この場合には、操作デバイス20が発光部22の発光色の変化を情報処理装置10に通知することによって、情報処理装置10のデバイス位置特定部54は、発光部22の発光色の変化に追従しながら操作デバイス20の位置特定処理を継続できる。
【図面の簡単な説明】
【0074】
【図1】本発明の実施の形態に係る情報処理システムの概要図である。
【図2】本発明の実施の形態に係る情報処理装置の構成例を示す構成ブロック図である。
【図3A】操作デバイスの正面図である。
【図3B】操作デバイスの底面図である。
【図4】操作デバイスの内部構成例を示す構成ブロック図である。
【図5】情報処理装置の機能例を示す機能ブロック図である。
【図6】発光色管理テーブルの一例を示す図である。
【図7】デバイス発光色対応テーブルの一例を示す図である。
【図8】発光色の選択候補の提示画面の一例を示す図である。
【符号の説明】
【0075】
1 情報処理システム、10 情報処理装置、11,31 制御部、12,32 記憶部、13,33 無線通信部、14 撮像部、15 表示装置、20 操作デバイス、21 本体部、22 発光部、23 ボタン、24 USBコネクタ、34 加速度センサ、35 ジャイロセンサ、36 地磁気センサ、37 振動モータ、38 充電池、40 LED、51 アプリケーション実行部、52 デバイス状態管理部、53 発光制御部、54 デバイス位置特定部。

【特許請求の範囲】
【請求項1】
発光部を備えた操作デバイスと、情報処理装置と、を含む情報処理システムであって、
前記情報処理装置は、
前記発光部から発せられる光を検出する検出手段と、
前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段と、
を備え、
前記操作デバイスは、当該操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる
ことを特徴とする情報処理システム。
【請求項2】
請求項1記載の情報処理システムにおいて、
前記操作デバイスは、当該操作デバイスに内蔵された充電池の充電状態に応じて、前記発光部の発光態様を変化させる
ことを特徴とする情報処理システム。
【請求項3】
請求項2記載の情報処理システムにおいて、
前記操作デバイスは、前記充電池の充電残量が所定の閾値を下回った場合に、前記発光部の発光色を変化させる
ことを特徴とする情報処理システム。
【請求項4】
請求項2又は3記載の情報処理システムにおいて、
前記操作デバイスは、ユーザの指示に応じて、前記充電池の充電状態に応じた態様で前記発光部を発光させる
ことを特徴とする情報処理システム。
【請求項5】
発光部を備える操作デバイスであって、
前記発光部から発せられる光が情報処理装置による当該操作デバイスの位置の特定に用いられ、
当該操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる
ことを特徴とする操作デバイス。
【請求項6】
発光部を備えた操作デバイスと通信接続される情報処理装置であって、
前記発光部から発せられる光を検出する検出手段と、
前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段と、
前記操作デバイスの機器状態を取得する手段と、
前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる発光制御手段と、
を含むことを特徴とする情報処理装置。
【請求項7】
発光部を備えた操作デバイスと通信接続される情報処理装置の制御方法であって、
前記発光部から発せられる光を検出するステップと、
前記検出された光の位置に応じて、前記操作デバイスの位置を特定するステップと、
前記操作デバイスの機器状態を取得するステップと、
前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させるステップと、
を含むことを特徴とする情報処理装置の制御方法。
【請求項8】
発光部を備えた操作デバイスと通信接続され、前記発光部から発せられる光を検出する検出手段を備える情報処理装置を、
前記検出された光の位置に応じて、前記操作デバイスの位置を特定する位置特定手段、
前記操作デバイスの機器状態を取得する手段、及び
前記取得した操作デバイスの機器状態に応じて、前記発光部の発光態様を変化させる発光制御手段、
として機能させるためのプログラム。
【請求項9】
請求項8記載のプログラムを記憶したコンピュータ読み取り可能な情報記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3A】
image rotate

【図3B】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate