説明

情報処理装置、情報処理方法及び入力装置

【課題】ユーザーが容易に2次元操作及び3次元操作の両方を行うことができる情報処理装置及び情報処理方法を提供する。
【解決手段】情報処理装置は、操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理装置であり、演算部と、判定部とを具備する。演算部は、2次元演算モードと3次元演算モードとを有する。2次元演算モードは、操作デバイスが操作面に置かれてユーザーにより操作デバイスが操作された場合、操作デバイスの2次元的な動きに応じた動きセンサの検出値に基づき、演算を実行するモードである。3次元演算モードは、ユーザーにより3次元空間で操作デバイスが操作された場合、操作デバイスの3次元的な動きに応じた動きセンサの検出値に基づき、演算を実行するモードである。判定部は、動きセンサの検出値に基づき、2次元演算モード及び3次元演算モードのうちいずれで演算すべきかを判定する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、動きを検出するセンサを有する操作デバイスを含む入力装置、またそのセンサにより得られた情報を処理する情報処理装置及び情処理方法に関する。
【背景技術】
【0002】
近年、空間操作(3次元操作)型の操作装置あるいは入力装置が多種提案されている。例えば、特許文献1に記載の入力装置は、3次元空間内で6次元のマウスの動きを検出する。具体的には、この入力装置は、直交3軸の加速度を検出する加速度計及び直交3軸まわりの回転速度を検出する回転速度センサを備えている。この入力装置を含むシステムは、得られた加速度及び回転速度に基づいて、自身の位置及び姿勢などを判別し、表示装置等のコンピュータは、GUI(Graphical User Interface)に、その入力装置の動きに応じた動きを実現させる(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表平6−501119号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、2次元的に表示された操作対象物の操作には、2次元操作型の入力装置が用いられ、3次元的に表示された操作対象物の操作には3次元操作型の入力装置が用いられる場合がある。この場合、ユーザーは、別々の入力装置を用いる必要があり、操作が煩雑となる。
【0005】
以上のような事情に鑑み、本技術の目的は、ユーザーが容易に2次元操作及び3次元操作の両方を行うことができる情報処理装置及び情報処理方法を提供することにある。
【0006】
本技術の別の目的は、ユーザーが2次元操作及び3次元操作の両方を行う際に、便利な入力装置を提供することにある。
【課題を解決するための手段】
【0007】
上記目的を達成するため、本技術に係る情報処理装置は、操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理装置であり、演算部と、判定部とを具備する。
前記演算部は、2次元演算モードと3次元演算モードとを有する。前記2次元演算モードは、前記操作デバイスが操作面に置かれてユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行するモードである。前記3次元演算モードは、前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行するモードである。
前記判定部は、前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記演算部が前記2次元演算モード及び前記3次元演算モードのうちいずれで演算すべきかを判定する。
【0008】
情報処理装置は、2次元演算モード及び3次元演算モードのうちいずれで演算すべきかを判定する判定部を備えているので、ユーザーの2次元及び3次元操作の両方に対応することができる。したがって、ユーザーは、別々の入力装置を用いる必要がなく、容易に2次元及び3次元操作の両方の操作を行うことができる。
【0009】
前記演算部は、前記操作デバイスが有する曲面状の外面が前記操作面に接触した状態で前記ユーザーにより前記操作デバイスが操作される場合の演算モードを、前記2次元演算モードとして、前記演算を実行してもよい。
前記操作デバイスは、前記外面を含む表面と、前記表面に加えられる力を検出する圧力センサを有し、前記判定部は、前記圧力センサの検出値を前記別の情報として取得してもよい。
【0010】
前記判定部は、前記操作デバイスによる加圧力以上の力が前記表面に加えられることを前記圧力センサが検出した場合、前記演算部が前記2次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記3次元演算モードで演算すべきと判定してもよい。操作デバイスが操作面に置かれている時は、圧力センサは、ユーザーがその操作デバイスに手を置いて操作デバイスの重さ以上の力がその表面に加えられるので、その場合、演算部は2次元演算モードで演算する。ユーザーが操作デバイスを持ち、操作面から離した時、圧力センサは操作デバイスの重さより小さい力が表面に加えられるので、その場合、演算部は3次元演算モードで演算する。
【0011】
前記判定部は、前記動きセンサによる検出値に前記ユーザーの手振れによる成分が含まれる場合、前記演算部が前記3次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記2次元演算モードで演算すべきであると判定してもよい。ユーザーが3次元空間で操作デバイスを持つ場合、動きセンサの検出値にはユーザーの手振れの成分が含まれるので、その場合、演算部は3次元演算モードで演算する。本技術は、下記のように磁気センサにも適用可能である。
【0012】
前記判定部は、静電容量センサ、気圧センサ、光学センサ、超音波センサ、またはひずみセンサの検出値を前記別の情報として取得してもよい。
【0013】
前記判定部は、前記操作デバイスの前記外面に対応する形状を有する前記操作面を含むステージが有するセンサの検出値を、前記別の情報として取得してもよい。
【0014】
前記情報処理装置は、前記ユーザーの入力操作により、前記2次元演算モード及び前記3次元演算モードを切り替えるアプリケーションソフトウェアを記憶する記憶部をさらに具備してもよい。これにより、情報処理装置は、ユーザーが意図した時に、確実に演算モードの切り替えを行うことができる。
【0015】
前記操作デバイスは、ローカル座標系における直交3軸の検出軸を有する加速度センサ、前記直交3軸の検出軸を有する角速度センサ及び前記直交3軸の検出軸を有する磁気センサを備えた、前記ユーザーにより3次元空間内で任意の姿勢で操作され得る操作デバイスであってもよい。
その場合、演算部は、取得部と、座標変換部と、初期姿勢角度算出部と、更新部と、制御部とを有してもよい。
前記取得部は、前記加速度センサ、前記角速度センサ及び前記磁気センサでそれぞれ検出された加速度、角速度及び磁気強度の情報を取得する。
前記座標変換部は、前記3次元空間を表すグローバル座標系における前記操作デバイスの姿勢角度の情報を用いて、前記取得部で取得された前記角速度を、前記グローバル座標系におけるグローバル角速度に変換する。
前記初期姿勢角度算出部は、前記ユーザーによる前記操作デバイスの操作の開始時に前記取得部で取得された前記加速度及び前記磁気強度の情報に基づき、前記姿勢角度のうち、前記操作デバイスの前記グローバル座標系における初期の前記姿勢角度を算出する。
前記更新部は、前記座標変換部で変換された前記グローバル角速度の情報に基づき、前記操作デバイスの前記グローバル座標系における前記姿勢角度を更新する。
前記制御部は、前記座標変換部に、前記初期姿勢角度算出部で算出された前記初期姿勢角度の情報を用いて、前記操作の開始時に前記取得部で取得された前記第1の角速度を前記グローバル角速度に変換させ、前記更新された姿勢角度の情報を用いて、前記第1の角速度が取得された後に取得された第2の角速度を前記グローバル角速度に変換させる。
【0016】
これにより、座標変換部により変換されて得られたグローバル角速度の情報を、操作デバイスによる操作対象物の動き、または操作対象物の画像の変化に対応させることができる。
【0017】
前記演算部は、前記座標変換部が、前記取得部で取得された前記加速度を、前記更新部で更新された前記操作デバイスの姿勢角度の情報に基づき、前記グローバル座標系におけるグローバル加速度に変換することにより、前記3次元演算モードを実現してもよい。これにより3次元空間内での、操作デバイスの特に並進の動きに応じたグローバル加速度の情報を、操作対象物の動き、または操作対象物の画像の変化に対応させることができる。
【0018】
前記操作デバイスの外形は球形であってもよい。
【0019】
前記演算部は、前記2次元演算モードでは、画面上に表示される第1の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成してもよい。そして、前記演算部は。前記3次元演算モードでは、前記画面上に表示される、前記第1の操作対象画像とは異なる第2の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成してもよい。これにより、ユーザーは、2次元操作に適した第1の操作対象画像と、3次元操作に適した第2の操作対象画像を操作することができる。第1及び第2の操作対象画像としては、以下のようなものがある。
【0020】
前記演算部は、前記3次元演算モードでは、前記第2の操作対象画像として、視差を有する複数の画像で形成される3次元画像である第2の操作対象画像を動かすための情報を生成してもよい。
【0021】
前記情報処理装置は、前記第2の操作対象画像を、前記第1の操作対象画像の、前記画面上の所定の座標位置に関連する画像として記憶する画像記憶部をさらに具備してもよい。
【0022】
前記演算部は、前記2次元演算モードでは、前記ユーザーの前記操作デバイスへの入力操作による前記操作デバイスの動きに応じて、前記画面上に表示される画像を選択するためのポインター画像を生成してもよい。また、前記演算部は、前記3次元演算モードでは、前記操作デバイスの動きに応じて前記画面上で前記ポインター画像により選択された前記画像を動かすための情報を生成してもよい。
【0023】
以上説明した演算部及び判定部のうち少なくとも一方は、操作デバイスに設けられておらず、操作デバイスからの出力信号を受信する受信機器に設けられていてもよい
【0024】
本技術に係る情報処理方法は、操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理方法である。
前記操作デバイスが操作面に置かれてユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、第1の演算が実行される。
前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、第2の演算が実行される。
前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記第1の演算及び前記第2の演算のうちいずれを実行すべきかが判定される。
【0025】
本技術に係る入力装置は、ステージと、操作デバイスとを具備する。
前記ステージは、操作面を有する。
前記操作デバイスは、前記操作デバイスが前記操作面に置かれた時に該操作面に接触する外面と、操作デバイスの並進及び回転の動きを検出可能な動きセンサとを有し、前記ステージから離れることが可能である。
【0026】
ステージの操作面に、操作デバイスの外面が接触した状態で、ユーザーはこの操作デバイスの2次元操作を行うことができる。また、ユーザーはステージから操作デバイスを離して、3次元操作を行うことができ、便利である。
【0027】
前記ステージは、前記操作デバイスの前記外面の形状に対応する形状に形成された前記操作面を有してもよい。これにより、ユーザーは操作デバイスをステージ上で回転させることで、2次元操作を行うことができる。
【0028】
前記ステージは、前記ステージの少なくとも並進の動きを検出可能なセンサを有してもよい。これにより、入力装置は、2次元操作が行われる場合に、ステージに設けられたセンサの検出値の情報を用いることができる。
【0029】
前記操作デバイスの前記外形は球形であってもよい。
【発明の効果】
【0030】
以上、本技術によれば、ユーザーが容易に2次元操作及び3次元操作の両方を行うことができる。
【図面の簡単な説明】
【0031】
【図1】図1は、本発明の一実施形態に係る情報処理装置を含む情報処理システムを示す図である。
【図2】図2は、操作デバイスのハードウェアの構成を示す図である。
【図3】図3は、表示デバイスのハードウェアの構成を示す図である。
【図4】図4は、操作デバイスの各センサの検出軸及びこれらの相対的な配置を説明するための図である。
【図5】図5は、ローカル座標系とグローバル座標系の関係を示す図である。
【図6】図6は、操作デバイスの2D操作の基本的な操作方法を説明するための図である。
【図7】図7は、操作デバイスの3D操作の基本的な操作方法を説明するための図である。
【図8】図8は、ユーザーが2D操作と3D操作を切り替える様子を示す図である。
【図9】図9A〜Cは、具体的な2D操作の方法を説明するための図である。
【図10】図10は、具体的な3D操作の方法を説明するための図である。
【図11】図11は、操作デバイスの処理を示すフローチャートである。
【図12】図12は、2D演算モードでの演算処理を示すフローチャートである。
【図13】図13は、その演算処理の原理を説明するための図であり、センサ基板の傾き(姿勢)がグローバル座標系において傾いている状態を示す図である。
【図14】図14は、図13と同様、図12に示した演算処理の原理を説明するための図である。
【図15】図15は、3D演算モードの演算処理を示すフローチャートである。
【図16】16は、情報処理システムのアプリケーション例1を説明するための図である。
【図17】図17は、情報処理システムのアプリケーション例2を説明するための図である。
【図18】図18は、情報処理システムのアプリケーション例3を説明するための図である。
【図19】図19は、情報処理システムのアプリケーション例4を説明するための図である。
【図20】図20は、操作デバイスの他の実施形態を示す斜視図である。
【図21】図21は、その入力装置を示す斜視図である。
【図22】図22は、入力装置の使用方法を説明するための図である。
【図23】図23は、入力装置の他の使用方法を説明するための図である。
【発明を実施するための形態】
【0032】
以下、図面を参照しながら、本技術の実施形態を説明する。
【0033】
[情報処理システムの構成]
【0034】
図1は、本発明の一実施形態に係る情報処理装置を含む情報処理システムを示す図である。
【0035】
この情報処理システム100は、ユーザーにより操作される操作デバイス10と、この操作デバイス10から送信された操作情報を受信して、その情報に基づいて表示処理を実行する表示デバイス50とを備える。操作デバイス10と表示デバイス50とは電気的に接続されており、本実施形態では、それらのデバイス10及び50の間で赤外線や電波等の無線により通信が行われるように接続されている。
【0036】
操作デバイス10は、人が手で握ることができる程度の大きさに形成されている。操作デバイス10は、曲面状の外面10aを含む表面(球の表面全体)を有しており、典型的には球形状をなしている。後述するが、ユーザーは、操作デバイスの表面を操作面30(図6参照)に接触させた状態で、2次元操作を行う。操作面30は、床面、テーブル面、デスク面等であってもよいし、ユーザー自身の身体の一部、例えば太もも等であってもよい。
【0037】
表示デバイス50は、ユーザーの操作デバイス10を用いた操作により、表示部52の画面内でオブジェクト(操作対象画像)51の画像を変化させるために、その表示画像を生成し、またその表示の制御を実行する。画像を変化させるとは、例えば、操作対象物が移動する(回転及び並進のうち少なくとも一方を含む)、その形状、模様、色等が変化する、その数が増える等、何でもよい。ユーザーが操作デバイス10を用いて操作することにより、表示デバイス50は、その操作デバイス10の動きに応じてオブジェクトを変化させる。
【0038】
表示デバイス50の典型例としては、例えば3D(Dimension)TV等、3Dのオブジェクト51を表示可能な装置である。操作対象物は、3D画像に限られず、アイコンやポインター等の2D画像であってもよい。あるいはアイコンやポインターが3D画像で表示されてもよい。
【0039】
図2は、操作デバイス10のハードウェアの構成を示す図である。操作デバイス10は、CPU2、RAM3、ROM4及び送信機9を備えている。また、操作デバイス10は、動きセンサとして、加速度センサ5、角速度センサ6、磁気センサ7の3種類のセンサを備えている。さらに操作デバイス10は、圧力センサ8、図示しない電源及び書き換え可能なメモリ等を備えている。CPU2の代わりとして、例えばFPGA(Field Programmable Gate Array)等のようなプログラム可能なハードウェアが用いられてもよい。角速度センサ6としては、例えばコリオリ力を利用して角速度そのものを検出するデバイスが用いられる。
【0040】
これらのハードウェアは、球形の筐体11内に、筐体11に対して固定されるようにして配置されている。圧力センサ8は、例えば筐体11の内面側に複数取り付けられており、これらの圧力センサ群により、ユーザーの加圧位置及びその加圧力を検知する。圧力センサ8操作デバイス10の表面付近に均等に散らばるように配置されている。
【0041】
図3は、表示デバイス50のハードウェアの構成を示す図である。表示デバイス50は、一般的なコンピュータと同様に、CPU53、ROM54及びRAM55を備え、また、表示部52、通信部56及び記憶部57を有する。通信部56は、ここでは主に受信機として機能する。記憶部57は、典型的にはROM54やRAM55に対して補助的な(2次的な)記憶部である。
【0042】
なお、この表示デバイス50は、操作デバイス10からの送信された情報を受信してオブジェクト51の表示を制御する制御部分と、表示部52とが一体となった構成を有しているが、これらは別体で有線または無線により通信できるように互いに接続されていてもよい。
【0043】
図4は、操作デバイス10の各センサの検出軸及びこれらの相対的な配置を説明するための図である。加速度センサ5、角速度センサ6及び磁気センサ7は、すべて、直交3軸の検出軸をそれぞれ有している。すなわち、加速度センサ5は、3つの検出軸に対応するセンサ(5a,5b,5c)を有する。角速度センサ6及び磁気センサ7も同様に、センサ(6a,6b,6c)、(7a,7b,7c)をそれぞれ有する。
【0044】
例えば、これらセンサ5、6及び7のすべてが共通の1つのパッケージにパッケージングされている。あるいは、これらセンサ5、6及び7が別々のパッケージングでパッケージされ、共通の1つのセンサ基板上に搭載されている。
【0045】
操作デバイス10のROM4や図示しないメモリ、及び/または、表示デバイス50のROM54や記憶部57には、後述する図6に示す処理を実現するためのソフトウェア等が格納されている。図6に示す処理は、操作デバイス10の姿勢及び動きを認識するための処理である。以下に説明する形態では、主にCPU2及び上記ソフトウェアが制御部として機能する。
【0046】
図5は、ローカル座標系とグローバル座標系の関係を示す図である。
【0047】
地面上には表示デバイス50が置かれている。ここでは、この地面あるいは表示デバイス50に固定された座標系をグローバル座標系という。そして、このグローバル座標系に対して自由に動くことが可能な座標であって、操作デバイス10のセンサ基板20に対して固定された座標系を、ローカル座標系という。センサ基板20とは、上記したように、加速度センサ5、角速度センサ6及び磁気センサ7が搭載された共通の基板である。
【0048】
説明の便宜のため、以降では、グローバル座標系を大文字(X、Y、Z)で表し、ローカル座標系を小文字(x、y、z)で表す。しかし、文章を理解しやすくするため、できるだけ「ローカル」、「グローバル」の表現を用いて説明する。グローバル座標系において地面をX-Y平面とし、ローカル座標系の基板の主面に平行な面をx-y平面とする。
【0049】
[操作デバイスの基本的な操作方法]
【0050】
図6及び7は、操作デバイス10の基本的な操作方法を説明するための図である。図6は、2次元操作の例を示し、図7は、3次元操作の例を示している。
【0051】
図6に示すように、ユーザーは、操作デバイス10の外面10aを上記の操作面30に接触させた状態で、つまり2次元の面内で操作デバイス10を任意の方向に回転させるようにして操作する。これを2次元操作(以下、2D操作という)という。2D操作では、典型的には、表示デバイスで2Dで表示されたオブジェクト51が操作対象となる。
【0052】
図7に示すように、ユーザーは、操作デバイス10を操作面30から離した状態で、つまり、3D空間内で操作デバイス10を任意方向に並進及び回転させるようにして操作する。これを3次元操作(以下、3D操作という)という。3D操作では、典型的には、表示デバイスで、3D画像、すなわち3Dで表示されたオブジェクト51が操作対象となる。
【0053】
ここでいう3D画像は、視差を含む複数の画像で形成される画像であり、人間の錯覚を利用して形成される画像である。以下の説明では、この3D画像と2D画像とを区別する。
【0054】
図8に示すように、ユーザーは、2D操作及び3D操作を適宜切り替えて、操作デバイス10を操作することができる。ユーザーにとって、3D操作によって、2D画像を操作した方が、操作しやすい場合もあるので、本技術は、ユーザーの3D操作によっても2D画像の変化を実現することができる。またその逆の場合も想定され得る。
【0055】
[操作デバイスの具体的な操作方法]
【0056】
(2D操作)
図9A〜Cは、具体的な2D操作の方法を説明するための図である。
【0057】
図9Aでは、ユーザーが自身の手と操作面30との間に操作デバイス10を挟むようにしてそれを把持し、X及びY軸の成分のうち少なくとも一方の成分を含む軸の周りに回転させる。この回転の概念には、もちろん傾斜の概念も含まれる。ユーザーの操作デバイス10の把持の仕方は、図9Aのように操作デバイス10を握るような形態でなくてもよく、例えば操作デバイス10を握らずに上から軽く押さえ付けるような形態でもよい。この場合、ユーザーは操作デバイス10をなでるようにして操作する。
【0058】
図9Bでは、ユーザーが自身の手と操作面30との間に操作デバイス10を挟むようにしてそれを把持し、Z軸の周りに回転させる。この場合、ユーザーは手首をひねるようにして操作デバイス10を操作する。
【0059】
図9Cでは、ユーザーが操作デバイス10を操作面30上で転がす。この場合、ユーザーが操作デバイス10を離した後、操作デバイス10がそのユーザーにより与えられた力や位置エネルギーを基に、その慣性力で転がる。
【0060】
(3D操作)
図10A〜Cは、具体的な3D操作の方法を説明するための図である。
【0061】
3D操作では、主に3D画像を操作する時に用いられるが、上記したように、図10Aに示すように2D画像を操作する時に用いられてもよい。図10Aでは、ユーザーは2Dのオブジェクト51を任意の方向に回転させる
【0062】
図10B及びCでは、ユーザーは3Dのオブジェクト51を任意の方向に回転させたり、任意の方向に並進移動させたりする。これにより、ユーザーはあたかも3Dのオブジェクト51を触って動かしている感覚を得ることができる。
【0063】
[操作デバイスの処理]
【0064】
図11は、操作デバイス10の処理を示すフローチャートである。この処理は、操作デバイス10の記憶デバイス(ROMやRAM)に記憶されたソフトウェア資源と、CPU等のハードウェア資源との協働により実現される。以下では、便宜的に、処理の主体をCPU2として説明する。
【0065】
加速度センサ5、角速度センサ6、磁気センサ7及び圧力センサ8から得られるアナログの検出値の信号が、図示しないA/D変換器によりデジタル信号に変換される。CPU2は、A/D変換器から出力された各検出値のデジタル信号を取得し(取得部)、これらの情報に基づいて開始判定の処理を行う(ステップ101)。開始判定とは、ユーザーが操作デバイス10を把持して操作を開始したか否かの判定である。
【0066】
この開始判定処理は、例えば、加速度センサ5、角速度センサ6、磁気センサ7及び圧力センサ8のうち少なくとも1つから得られた情報を用いて実行される。例えば、CPU2は、各センサ5a、5b、5c、6a、6b、6c、7a、7b、7c及び8のうち、少なくとも1つの検出値が変化した場合に、操作デバイス10による操作が開始されたと判定すればよい。
【0067】
あるいは、開始判定処理は、この操作デバイス10に設けられた、ボタン等の機械的なスイッチのON/OFFにより実行されてもよい。あるいは、CPU2は、情報処理システムがアプリケーションを起動した時に、操作が開始された判定してもよい。
【0068】
CPU2は、ユーザーによる操作が開始されたと判定した場合、その操作が2D操作であるか3D操作であるか、すなわち、2D演算モード及び3D演算モードのいずれで、演算(オブジェクト51を変化させるための情報を生成する演算)を実行すべきかを判定する(ステップ102)。この場合、CPU2は判定部として機能する。
【0069】
そして、CPU2は、その操作が2D操作である場合、2D演算モードで演算を実行し(ステップ103)、3D操作である場合、3D演算モードで演算を実行する(ステップ104)。この場合、CPU2は、演算部として機能する。
【0070】
(2D/3D操作の判定処理)
以下、ステップ102の2D操作及び3D操作の判定処理について説明する。CPU2は、各センサ5〜8の検出値を利用して判定処理を実行することができる。以下、センサの種類ごとに分けて判定処理を説明する。
【0071】
<圧力センサ>
圧力センサ8は、操作デバイス10の表面(外面10a)付近に均等に散りばめられている。操作デバイス10が操作面30に置かれている場合、複数の圧力センサ8のうち少なくとも1つが、操作デバイス10の自重による実質的に一定の加圧力を検出する。また、2D操作では、図9A及びBに示したように、ユーザーがその操作デバイス10の上から手を添えると、その加圧力はさらに増す。つまり、複数の圧力センサ8のうち少なくとも1つが、操作デバイス10の重さによる加圧力以上の力が、操作デバイス10の表面に加えられていることを検出した場合、CPU2はユーザーによる操作が2D操作であると判定する。
【0072】
一方、3D操作では、操作デバイス10が空中にあるため、上記のような加圧力が検出されず、上記ユーザーが操作デバイス10を押さえ込む時の加圧力より小さい値が検出される。この場合、CPU2はユーザーによる操作が3D操作であると判定する。
【0073】
なお、圧力センサによる検出値は、上記動きセンサ(加速度センサ5、角速度センサ6及び磁気センサ7)による検出値とは別の情報となる。
【0074】
<加速度センサ、角速度センサ、磁気センサ>
2D操作では、ユーザーは操作面30に操作デバイス10を置いて操作するので、加速度センサ5、角速度センサ6及び磁気センサ7の各検出値内に、ユーザーによる手振れによる成分(微小振動)が実質的に含まれない。
【0075】
手振れ成分は、1〜20Hz程度であるため、手振れ成分がある場合、検出値からその手振れ成分をローパスフィルタ等により抽出することができる。したがって、CPU2は、手振れ成分を抽出した場合、ユーザーによる操作が3D操作であると判定し、そうでない場合、それが2D操作であると判定する。
【0076】
以下の各種のセンサは図2では示されていないが、操作デバイス10が以下の各種のセンサを持っている場合には、以下に説明する処理も有効である。以下の各種のセンサの検出値も、上記動きセンサによる検出値とは別の情報となる。
【0077】
<静電容量センサ>
静電容量センサは、センシング領域に存在する電気容量をセンシングすることができる。2D操作の場合、操作デバイス10はアースされている状態であるので、検出される電気容量は低い。3D操作の場合、そのアースされている時の静電容量より高い値が検出される。これにより2D/3D操作の判定処理が可能となる。
【0078】
<気圧センサ>
操作デバイス10が操作面30に置かれて操作されている2D操作と、操作デバイス10が空中で操作されている3D操作とを比べると、その操作デバイス10が位置する高さが異なる。この高さの変化を気圧センサにより検出することが可能である。現行の気圧センは、高さ数cmごとの気圧の変化を検出することができるので、この原理を2D/3D操作の判定処理に応用することができる。
【0079】
<光学センサ>
例えば反射型の光学センサは、ある波長の光を放出し、その光の戻り光を検出することで物体と光学センサとの距離を測定することができる。2D操作では、操作デバイス10はユーザーの手と操作面30との間に挟まれ、光学センサは操作面30からの戻り光を検出できる光量が多いか、または戻り光を検出している時間が長い。一方、3D操作ではその戻り光を検出できる期間は短いか、または戻り光の光量が減少する。これにより、2D/3D操作の判定処理が可能となる。
【0080】
<超音波センサ>
超音波センサも光学センサと同様に、超音波を発振させて、物体から跳ね返ってくる超音波を検出することで、この超音波センサと物体との距離を測定することができる。これは、先述の光学センサと同様の使い方で、操作デバイス10の周辺環境をセンシングできるので、2D/3D操作の判定処理が可能となる。
【0081】
<ひずみセンサ>
ひずみセンサは、配線の抵抗変化を検出することで、数μmのひずみを検出できる精度を持つ。2D操作では、操作デバイス10はユーザーの手と操作面30との間に挟まれ、これにより操作デバイス10がゆがみ、これをひずみセンサが検出する。3D操作では、このゆがみはほとんど発生しないか、またはわずかにゆがむだけである。これにより、2D/3D操作の判定処理が可能となる。
【0082】
以上説明した各センサの精度が低い場合は、これらのうち少なくとも2つのセンサによる検出を組み合わせて、2D/3D操作の判定処理が実行されることにより、その判定処理の精度を向上させることができる。
【0083】
以上のように、2D/3D操作の判定処理の方法は、センサの検出値を利用する形態に限られない。例えば操作デバイス10に設けられた機械的なボタン等のスイッチ、または、アプリケーションソフトウェア上のスイッチ機能によって、2D/3Dの演算モードの切り替えが行われるようにしてもよい。上記ボタンスイッチや、アプリケーションソフトウェア上のスイッチは、ユーザーの操作によって切り替えられる。あるいは、ユーザーが操作デバイス10を意図的に力を加えて握り、圧力センサにより閾値を超える加圧力が検出された場合に、2D/3D操作の切り替えが実行されてもよい。これらのような構成によれば、ユーザーが意図した時に演算モードの切り替えが行われる。
【0084】
[2D/3D演算モードによる演算処理]
【0085】
次に、2D演算モード及び3D演算モードの演算処理の内容を説明する。
【0086】
(2D演算モード)
図12は、2D演算モードでの演算処理を示すフローチャートである。操作デバイス10の外形は球形なので、CPUは、操作デバイス10の上下左右は決められていないため、現時点での操作デバイス10の姿勢を認識する必要がある。
【0087】
操作デバイス10による操作の開始時に、ステップ201では、加速度センサ5で検出された加速度(特にx及びy軸方向における加速度(ax,ay))の情報に基づき、操作デバイス10の、グローバルX及びY軸周りの初期姿勢角度がそれぞれ算出される。図13は、その演算処理の原理を説明するための図であり、センサ基板20の傾き(姿勢)がグローバル座標系において傾いている状態を示す図である。
【0088】
例えばグローバルY軸周りの初期姿勢角度、つまりX軸からの角度θxを算出する場合には、加速度axの情報に基づき、下の式1により演算される。式1において、図14に示すように、例えばx軸の加速度センサ5aで検出される重力1Gの値をAxGとし、センサ基板20が傾いた状態(加速度センサ5(5a)が傾いた状態)における、加速度センサ5aの値をaxとしている。
【0089】
同様に、加速度ayの情報に基づき、グローバルX軸周りの初期姿勢角度、つまりY軸からの角度θyが式2により演算される。重力1Gに対するy軸の加速度センサ5bの値をAyGとする。
【0090】
【数1】

AxG、AyG:x、y軸の加速度センサ5a、5bでそれぞれ検出される重力加速度1G
ax、ay、az:x、y、z軸の加速度センサ5a、5b、5cでそれぞれ検出されている現在の値(ローカル加速度)
θx、θy:グローバル座標系でのセンサ基板のX、Y軸からの初期姿勢角度
【0091】
なお、式1及び2では正弦が用いられたが、余弦や他の演算方法によっても初期姿勢角度を算出することができる。
【0092】
次に、ステップ202では、ステップ201で算出された情報、及び、磁気センサ7で検出されたローカル座標系における各軸方向での磁気強度の情報に基づき、操作デバイス10のグローバルZ軸周りの初期姿勢角度(方位)が算出される。
【0093】
この演算には、下の式3が用いられる。式3では、x、y、z軸の磁気センサ7a、7b、7cでそれぞれ検出された磁気強度(ローカル磁気強度)をhx、hy、hzとする。また、演算により求められるグローバルX、Y、Z軸方向の磁気強度(グローバル磁気強度)をHx、Hy、Hzとする。
【0094】
【数2】

hx、hy、hz:ローカル座標系におけるx、y、z軸方向の磁気強度(ローカル磁気強度)
Hx、Hy:グローバルX、Y軸方向の磁気強度(グローバル磁気強度)
θz:グローバルZ軸周りの初期姿勢角度(方位)
【0095】
このように地磁気を検出する磁気センサ7を用いることにより、操作デバイス10は、グローバルZ軸周りでのセンサ基板20の方位を認識することができる。式1〜3を演算する場合において、CPU2及びこの演算内容が記述されたソフトウェアは、初期姿勢角度算出部として機能する。
【0096】
以上のようにして、ステップ201及び202の演算処理により、操作デバイス10は、グローバル座標系における、センサ基板20の初期の姿勢(X、Y、Z軸に対する傾き)を認識することができる。つまり、ユーザーが操作デバイス10の握り方及びその方向等を意識せずとも、操作デバイス10が自らの姿勢を認識することができる。その結果、ユーザーは、2次元の面内で任意の姿勢にある操作デバイス10を用いて操作を開始することができる。
【0097】
次に、ステップ203では、ステップ201及び202で算出された初期姿勢角度(θx、θy、θz)の情報に基づき、操作開始時に、つまり操作開始直後に角速度センサ6で検出された角速度が、グローバル座標系におけるグローバル角速度に変換される。すなわちこれは回転座標変換である。この演算処理には、式4が用いられる。この場合、CPU2及びこの演算内容が記述されたソフトウェアは、座標変換部として機能する。
【0098】
【数3】

wx、wy、wz:ローカルx、y、z軸周りの角速度(ローカル角速度)
Wx、Wy、Wz:グローバルX、Y、Z軸周りの角速度(グローバル角速度)
【0099】
ステップ204では、このようにして算出されたグローバル角速度を用いて、グローバルX軸周りの角度Rxが算出される。つまりグローバル角度(のX軸方向成分)が算出される。この演算処理には、式5が用いられる。この演算処理は台形積分法を用いている。グローバルY、Z軸周りの角度Ry、Rzも、Rxと同様に算出される。このステップ204の処理の意味は、初期姿勢角度(θx、θy、θz)を新たな姿勢角度(Rx、Ry、Rz)に変更する、つまり姿勢角度を更新することである。この場合、CPU2及びこの演算内容が記述されたソフトウェアは、更新部として機能する。
【0100】
【数4】

Rx:グローバル座標系におけるX軸周りの角度(グローバル角度(グローバル姿勢角度))
(tn):n番目に得られた値を意味する
Δt =tn- tn-1
【0101】
このようにグローバル角度が算出されると、この情報が送信機9により、表示デバイス50に送信(出力)される(ステップ205)。現時点では、このグローバル角度は、初期の(つまり、操作開始時の)グローバル角度である。表示デバイス50は、この情報を受信する。表示デバイス50は、その初期のグローバル角度(Rx、Ry、Rz)のうち(Ry、Rx)に定数をそれぞれかけた値を、表示部52の画面上での、オブジェクト51の座標値(X,Y)に割り当てる。このようにして、操作デバイス10の初期姿勢と、オブジェクト51の初期姿勢(座標)とが対応する。
【0102】
そして、表示デバイス50は、2回目以降のグローバル角度の情報を受信すると、そのグローバル角度に応じた、画面内での位置、または姿勢を持つオブジェクト51を表示部52に表示する。この場合、ユーザーの操作デバイス10の回転角度に対応して、オブジェクト51が画面内を移動してもよいし、あるいは、回転してもよい。これは、アプリケーションの違いによる。
【0103】
なお、式5のような台形積分法に限られず、中点法やシンプソン法等、各種の積分処理によっても、グローバル角度を求めることができる。
【0104】
ここで初期には、ステップ203では、座標変換部は、初期姿勢角度(θx、θy、θz)の情報に基づき、ローカル角速度(初期値)について座標変換処理を実行した。しかし、2回目以降(初期以外)のステップ203の処理では、座標変換部は、ステップ204で算出されたグローバル角度(Rx、Ry、Rz)の情報に基づき、ローカル角速度(2回目以降の値)について座標変換処理を実行する。この演算処理には、下の式6が用いられる。
【0105】
【数5】

【0106】
操作デバイス10のグローバル角度は、徐々に(刻々と)変わっていく。したがって、具体的には、式6では、下記の式に示すようにグローバル角度が逐次加算された値に基づき、回転座標変換が行われる。
【0107】
Rx' =Rx(tn)+Rx(tn+1)
Ry' =Ry(tn)+Ry(tn+1)
Rz' =Rz(tn)+Rz(tn+1)
【0108】
しかし、表示デバイス50による画像表示のためのソフトウェアの仕様によっては、式6(後述する下記の式7も同様)において、(Rx'、Ry'、Rz')の代わりに、(Rx、Ry、Rz)が用いられてもよい。
【0109】
以上のように、最初に初期姿勢角度が算出されれば、2回目以降の演算ではその初期姿勢角度を用いずに、ステップ204で算出されたグローバル角度が用いられる。以下、この理由について説明する。
【0110】
ユーザーによる操作デバイス10の操作開始時には、加速度センサ5により得られた加速度を含む情報に基づき算出される初期姿勢角度の情報を用いてローカル角速度がグローバル角速度に変換される。つまり、操作が開始される瞬間には、加速度センサ5には実質的に重力加速度のみが検出され、この重力加速度を含む情報に基づき初期姿勢角度が算出され、その初期姿勢角度に基づき座標変換が行われる。
【0111】
しかし、その後のユーザーの操作中は、加速度センサ5では、重力加速度に、運動加速度(慣性加速度)が加えられた値が検出される。すなわち、ユーザーの操作中は、センサ基板20の姿勢は刻々と変わる。したがって、仮に、ユーザーの操作中に加速度センサ5で得られるこのような運動加速度を含む加速度に基づき姿勢角度を算出した場合、誤差が発生するおそれがある。
【0112】
そこで本実施形態では、初期値として取得されたローカル角速度より後に取得されたローカル角速度については、運動加速度の情報を含まない情報、つまり、少なくとも1度、ローカル角速度を用いて更新された姿勢角度の情報(ステップ203及び204を少なくとも1度経て得られる情報)に基づき、変換処理が実行される。ローカル角速度値は、運動加速度には影響されない値だからである。
【0113】
このような演算処理によれば、ユーザーによる操作デバイス10の操作中において発生する運動加速度による影響が、操作デバイス10の姿勢角度の演算に及んでその演算に誤差を発生させる、といった事態を抑制することができる。
【0114】
(3D演算モード)
次に、3D演算モードの処理を説明する。図15はその処理内容を示すフローチャートである。
【0115】
3D演算モードにおいても、CPU2はステップ205までは図12に示した処理と同じ処理を実行する。ユーザーが操作デバイス10を回転させた場合、CPU2は、図12に示したステップ205で計算されたグローバル角度の情報を、表示デバイス50に送信する。表示デバイス50は、これを受信し、この情報に基づき、オブジェクト51を生成する。これにより、操作デバイス10の回転角に応じて、オブジェクト51がその回転角で回転するように表示部52に表示される。
【0116】
図15を参照して、ステップ204で算出されたグローバル角度(Rx、Ry、Rz)の情報は、ステップ206における処理に用いられる。ステップ206では、座標変換部は、式6と同様にグローバル角度の情報を用いて、ローカル加速度をグローバル加速度に変換する。この演算処理は、下の式7が用いられる。
【0117】
【数6】

Ax、Ay、Az:グローバルX、Y、Z軸まわりの加速度(グローバル加速度)
【0118】
このようにステップ206においても、初期以外においては、CPU2は、グローバル角度の情報に基づいて座標変換を実行する。
【0119】
次に、ステップ207では、ステップ206で算出されたグローバル加速度に基づき速度が算出され、さらにステップ208で、その速度から移動距離(並進移動距離)が算出される。これらの演算処理は、上記したステップ204での各種の積分法を用いて実行され得る。ステップ209では、操作デバイス10は算出された距離の情報を表示デバイス50に送信(出力)する。表示デバイス50は、この距離の情報を受信し、この距離に応じた分の距離をオブジェクト51が移動するように、これを表示部52に表示する。
【0120】
もちろん、ユーザーが操作デバイス10を回転させながら並進移動させた場合、表示デバイス50は、それに応じてオブジェクト51を回転させながら並進移動させる。
【0121】
上述のように、ステップ204で更新された姿勢角度の情報には、運動加速度の情報は含まれないので、この姿勢角度の情報に基づきローカル加速度がグローバル加速度に変換されることにより、操作デバイス10の動きをオブジェクト51の動きとして忠実に再現することができる。これにより、ユーザーは直感的な操作が可能となる。
【0122】
以上のように、本実施形態では、操作デバイス10は、2次元演算モード及び3次元演算モードのうちいずれで演算すべきかを判定するので、ユーザーの2次元及び3次元操作の両方に対応することができる。したがって、ユーザーは、別々の入力装置を用いる必要がなく、容易に2次元及び3次元操作の両方の操作を行うことができる。
【0123】
また、本実施形態では、ユーザーに把持される操作デバイス10の姿勢が3次元空間内におけるどのような姿勢となる場合であっても、演算誤差の発生を抑制しながらセンサ基板20の姿勢を認識して、操作デバイス10によるオブジェクト51の操作が可能となる。
【0124】
上記では、図11、12及び15に示した処理をすべて操作デバイス10が実行する形態を示した。しかし、図11、12及び15に示した処理の一部を表示デバイス50が実行してもよい。例えば、操作デバイス10は、図11のステップ101あるいは102までの処理を実行し、表示デバイス50が、ステップ102、103、または104からの処理を実行してもよい。
【0125】
操作デバイス10及び表示デバイス50がどの処理を担当するかは、例えばそれらの演算処理能力、それらのコスト、チップサイズ等の環境から適宜判断されればよい。
【0126】
以上の説明では、操作デバイス10の動きと、オブジェクト51の動きとが対応する(同じである)として説明した。しかし、それらは同じでなくてもよく、例えば操作デバイス10の所定の動きにより、オブジェクト51の動きが加速する、減速する、あるいは止まる等の表示も実現可能である。
【0127】
あるいは、ユーザーが操作デバイス10を握って力を加えることにより、この加圧位置及び加圧力を圧力センサ8が検出し、表示デバイス50がその加圧位置及び加圧力に応じて、オブジェクト51を変形させるように画像を生成することも可能である。
【0128】
FPS(first person shooter:主観視線でオブジェクトを操作する機能を備えたゲーム)などにおいて、操作デバイス10の回転を視線の移動(画面全体の移動)に割り当てる等の機能を実現することができる。
【0129】
[アプリケーションの例]
【0130】
(アプリケーション例1)
図16は、情報処理システムのアプリケーション例1を説明するための図である。この例では、操作デバイス10または表示デバイス50は、上図の2D操作では、画面上に表示される画像(第1の操作対象画像)を、操作デバイス10の動きに応じて画面上で動かすための情報を生成する。下図の3D操作では、操作デバイス10または表示デバイス50は、画面上に表示される、上記の2D操作において表示されたオブジェクト51とは異なる画像(第2の操作対象画像)を、操作デバイス10の動きに応じて画面上で動かすための情報を生成する。
【0131】
具体的には、それは以下のような処理である。上図では、ユーザーは、操作デバイス10の2D操作により画面上のポインター51bを動かして、オブジェクト51aを選択する。この場合、操作デバイス10(または表示デバイス50)は、ポインター画像を生成する。例えばユーザーは、操作デバイス10を握って力を加えたり、ボタンを押したりすることにより、ポインター51bを用いてオブジェクト51aを指定(クリック)することができる。
【0132】
上記第1の操作対象画像はポインター51bである。そして、オブジェクト51aが選択されると、そのオブジェクト51aが第1の操作対象画像になる。この選択されたオブジェクト51aが、操作デバイス10によるユーザーの2D操作により操作され得る。すなわち、操作デバイス10は(または表示デバイス50)は、ポインターにより選択された画像を動かすための情報を生成する。
【0133】
一方、ユーザーが操作デバイス10を操作面30から離して持ち上げると、上記2D/3Dの判定処理により3D演算モードに切り替わる。3D操作では、表示デバイス50は、そのオブジェクト51fを3D画像として表示する。この場合、3D画像が第2の操作対象画像となる。
【0134】
なお、2D操作から3D操作への切り替えは、既述のように、操作デバイス10に設けられた機械的なボタン等のスイッチ、または、アプリケーションソフトウェア上のスイッチ機能によって実行されてもよい。
【0135】
(アプリケーション例2)
図17は、情報処理システムのアプリケーション例2を説明するための図である。
【0136】
上図に示す2D操作では、操作対象画像が平面的な地図画像51cである。ユーザーが操作デバイス10を動かすことにより、この地図画像51cをスキャン(パン)する。
【0137】
下図に示す3D操作では、操作対象画像が、上記平面的な地図画像51cとは異なり、奥行き情報を持ったFPS機能を持つ地図のような画像51dとなる。ただし、上記地図画像51cを構成する座標群のうち、少なくとも1つの座標位置に、画像51dが関連付けられて、記憶部57等の記憶デバイスに記憶されている(画像記憶部)。この場合、この地図画像51cの所定の位置(座標位置)がユーザーにより指定されることにより、その位置周辺の風景や街並みを構成する画像51dが生成される。画像51dは2D画像でもよいし、3D画像でもよい。ユーザーが操作デバイス10を上下左右に動かしたり、回転させたりすることにより、アアプリケーションソフトウェアは、予めその動きに関連付けられた動きを、この画像51dに与える。すなわち、本例2では、2D/3D操作でユーザーの視線が変更されている。
【0138】
(アプリケーション例3)
図18は、情報処理システムのアプリケーション例3を説明するための図である。
【0139】
上図に示す2D操作では、操作対象画像がポインター51bであり、ユーザーは操作デバイス10を動かすことでこのポインター51bを動かす。ユーザーは、ポインター51bを用いて、寝かせてある写真画像51eを選択すると、この写真画像51eが操作対象画像になる。この状態では、写真画像が2D操作で操作され得る状態となる。写真画像の2D操作は、例えばズームイン、ズームアウト、パン、回転などがある。
【0140】
一方、下図に示す3D操作では、アプリケーションソフトウェアは、その操作デバイス10の動きに応じて、その選択された写真画像51eを起き上がらせるような表示を可能とする。この場合、ユーザーは、例えば操作デバイス10を自分に向けて上回転(正回転)させるようにこれを操作することにより、このような写真画像51eの動きが可能となる。
【0141】
例えば上図では、写真画像51eは仮想空間では2次元面(例えばデスク面)に置かれた状態にあり、下図では、写真画像51eの下辺が回転軸となって写真画像51eが回転することにより、写真画像51eが起き上がる。
【0142】
(アプリケーション例4)
図19は、情報処理システムのアプリケーション例4を説明するための図である。
【0143】
上図に示す2D操作の説明は、図16の上図と同様である。下図の3D操作において、ユーザーは操作デバイス10を持ち上げただけでは、操作対象画像は2D画像のままである。下図に示すように、3D操作において、ユーザーが手前に操作デバイス10を引いた時に、表示デバイス50は、2Dの操作対象画像が画面から引き抜かれるように、3Dの操作対象画像を生成する。その後の操作は、図16の下図に示した3D操作と同様である。
【0144】
[操作デバイスの他の実施形態]
【0145】
図20は、操作デバイスの他の実施形態を示す斜視図である。これ以降の説明では、上記した実施形態に係る操作デバイス10が含む部材や機能等について同様のものは説明を簡略化または省略し、異なる点を中心に説明する。
【0146】
この操作デバイス110は、半球形状を有し、上部平面111と、2D操作において操作面30に接触可能な下半球面112とを有する。2D操作においては、ユーザーは自身の手のひらに上部平面111の一部または全部が接した状態で、操作デバイス110を操作する。上部平面111が操作面30に接触することはなく、操作デバイス110は起き上がりこぼしのような動きをする。3D操作は、基本的には上記の実施形態と同様の操作であるが、典型的には、ユーザーは自身の手のひらに上部平面111の一部または全部が接した状態で、3D空間内でこの操作デバイス110を動かす。
【0147】
このような操作デバイス110の形状のほか、例えば卵形状、球の3/4程度の形状、楕円体、曲面状の下半球面112を有する多面体、これらのうち少なくとも2つの組み合わせの形状がある。
【0148】
これら球形以外の形状を有する操作デバイスのうち、上下方向が予め特定されている形状を有する操作デバイスは、その動きを検出するための演算方法として、上記で説明した演算方法以外にも、公知の様々な方法を用いることができる。例えば、少なくとも、異なる2軸の加速度センサ及び異なる2軸の角速度センサを備えることにより、この操作デバイスのCPUは操作デバイスの動きを検出可能である。また、また、上下方向が予め特定されている形状を有する操作デバイスは、例えば、加速度センサ5、角速度センサ6及び磁気センサ7のうち少なくとも2つ、または、加速度センサ5及び角速度センサ6のうち少なくとも1つが、動きセンサとして機能する。
【0149】
[入力装置]
【0150】
次に、操作デバイスの他の実施形態として、入力装置200を説明する。図21は、その入力装置を示す斜視図である。
【0151】
この入力装置200は、ステージ40(あるいはクレードル)と、このステージ40に載置されこのステージ40から離れることが可能な操作デバイス10とを備える。典型的な操作対象としては、上記のように表示デバイス50に表示される画像である。
【0152】
操作デバイス10は、基本的には上記の操作デバイス10と同様の形状、構造及び機能を有する。ステージ40は、操作デバイス10の表面の形状に対応する形状に形成された操作面41を有し、操作面41は例えば半球面状を有する。操作デバイス10は、この半球面状の操作面41に接するようにしてステージに置かれている。
【0153】
[入力装置の使用方法]
【0154】
(例1)
図22は、入力装置200の使用方法を説明するための図である。
【0155】
2D操作では、ユーザーは、左図に示すようにステージ40上の操作デバイス10を任意の方向に回転させる。つまり、2D操作では、トラックボールのような操作方法で入力装置200が使用される。3D操作では、右図に示すように、ユーザーは、ステージ40から操作デバイス10を持ち上げて操作する。
【0156】
2D/3D判定処理は上記したものと同様であるが、後述するように、ステージ40に設けられたセンサによってそれが行われてもよい。また、入力装置200の操作対象及びその操作方法の例として、図16〜19で示したアプリケーション例がある。これらは、以下の例2も同様である。
【0157】
(例2)
図23は、入力装置200の他の使用方法を説明するための図である。
【0158】
2D操作では、左図に示すように、ユーザーは操作デバイス10を把持し、操作デバイス10及びステージ40を一体的に平面上で動かす。これは、マウスをX-Y平面上で操作する時と同様の操作である。この場合、光学センサ、加速度センサ、トラックボールセンサ等、そのステージ40の平面上での並進の動きを検出できる図示しないセンサがステージ40に内蔵されている。3D操作では右図に示すように、ユーザーは、ステージ40から操作デバイス10を持ち上げて操作する。
【0159】
上記した2D/3D判定処理により、現在の操作が2D操作であると判定された場合、操作デバイス10の動きのセンシングが無効とされ、ステージ40の動きのセンシングが有効とされる。2D/3D操作の切り替え時、操作デバイス10及びステージ40のいずれがそのセンシングを担当するかを決めるために、操作デバイス10とステージ40とが直接通信してもよい。あるいは、上記のような表示デバイス50とは別のサーバー等の装置を介して、操作デバイス10とステージ40とが通信してもよい。
【0160】
[入力装置による2D/3D操作の判定処理]
【0161】
入力装置200による2D/3D操作の判定処理は、以下のように、ステージ40に設けられた各種のセンサによって行われてもよい。この場合、ステージ40は、これらのセンサの他、典型的にはCPUやメモリをさらに備え、そのCPUが2D/3D操作の判定処理を実行してもよい。
【0162】
<圧力センサ>
ステージ40の操作面41に1つ以上の圧力センサが設けられる。この圧力センサが、少なくとも操作デバイス10の重さによる加圧力を検出している場合には、現在の操作が2D操作であると判定できる。また、そうでない場合、現在の操作が3D操作であると判定される。
【0163】
<磁気センサ>
ステージ40に設けられた1つ以上の磁気センサが、操作デバイス10の内部に存在する磁性体を検出する。磁気センサで検出されるその磁気強度が閾値を超える場合は、現在の操作が2D操作であると判定され、その磁気強度が閾値以下である場合、現在の操作が3D操作であると判定される。
【0164】
<静電容量センサ>
ステージ40の操作面41に1つ以上の静電容量センサが設けられる。操作デバイス10がステージ40に置かれている場合とそうでない場合とで、静電容量センサにより検出値が異なる。これにより、2D/3D操作の判定処理が可能となる。
【0165】
<光学センサ>
ステージ40の操作面41に、例えば1つ以上の反射型光学センサが設けられる。操作デバイス10がステージ40に置かれている場合とそうでない場合とで、その反射型光学センサの受光量が異なる。これにより、2D/3D操作の判定処理が可能となる。
【0166】
あるいは、操作面41の2箇所にそれぞれ配置された受光部と発光部とを有する透過型光学センサが設けられていても、2D/3D操作の判定処理が可能である。
【0167】
<超音波センサ>
ステージ40の操作面41に、例えば1つ以上の反射型超音波センサが設けられる。2D操作の場合、発せられた超音波が操作デバイス10から跳ね返ってくるので、それが検出されるが、3Dでは検出されない。これにより、2D/3D操作の判定処理が可能となる。
【0168】
あるいは、操作面41の2箇所にそれぞれ配置された超音波の送信部と受信部とを有する透過型光学センサが設けられていても、2D/3D操作の判定処理が可能である。
【0169】
<ひずみセンサ>
ステージ40の操作面41に、例えば1つ以上のひずみセンサが設けられる。操作デバイス10がステージ40に置かれている場合、ひずみセンサは、その操作デバイス10の重さ分の、操作面41のひずみを検出するが、3D操作ではそれを検出しない。これにより、2D/3D操作の判定処理が可能となる。
【0170】
以上説明した各センサの精度が低い場合は、これらのうち少なくとも2つのセンサによる検出を組み合わせて、2D/3D操作の判定処理が実行されることにより、その判定処理の精度を向上させることができる。あるいは、ステージ40に設けられた上記各センサのうち少なくとも1つと、操作デバイス10に設けられた上記した各センサのうち少なくとも1つとを組み合わせて、2D/3D操作の判定処理が実行されることにより、その判定処理の精度を向上させることができる。
【0171】
[その他の実施形態]
【0172】
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態が実現される。
【0173】
上記操作対象画像は、操作デバイスの動きに対応した動きをするオブジェクトでなくてもよい。例えば、操作対象画像は、テレビのチャンネルの切り替えやボリュームの調整等のために表示される画像であってもよい。その場合、操作デバイス10が操作に応じたその切り替えや調整時に、その画像が変化するように、表示デバイス50はその画像を生成する。
【0174】
図21に示した入力装置200のステージ40に、角速度センサ等、Z軸(図23に示したような2D操作でのX-Y操作平面に垂直な軸)周りの回転を検出できるセンサが設けられていてもよい。
【0175】
上記各実施形態に係る操作デバイスは、操作面に接触する外面が曲面状であった。しかし、その外面は、曲面に限られず、平面、または平面及び曲面の組み合わせでもよい。
【0176】
以上説明した各形態の特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。
【0177】
本技術は以下のような構成もとることができる。
(1)操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理装置であって、
前記操作デバイスが操作面に置かれて前記操作デバイスが有する曲面状の外面が前記操作面に接触した状態で、ユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行する2次元演算モードと、前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行する3次元演算モードとを有する演算部と、
前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記演算部が前記2次元演算モード及び前記3次元演算モードのうちいずれで演算すべきかを判定する判定部と
を具備する。
(2)(1)に記載の情報処理装置であって、
前記演算部は、前記操作デバイスが有する曲面状の外面が前記操作面に接触した状態で前記ユーザーにより前記操作デバイスが操作される場合の演算モードを、前記2次元演算モードとして、前記演算を実行する
情報処理装置。
(3)(2)に記載の情報処理装置であって、
前記操作デバイスは、前記外面を含む表面と、前記表面に加えられる力を検出する圧力センサを有し、
前記判定部は、前記圧力センサの検出値を前記別の情報として取得する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記判定部は、前記操作デバイスによる加圧力以上の力が前記表面に加えられることを前記圧力センサが検出した場合、前記演算部が前記2次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記3次元演算モードで演算すべきと判定する
情報処理装置。
(5)(1)から(4)のういずれか1つに記載の情報処理装置であって、
前記判定部は、前記動きセンサによる検出値に前記ユーザーの手振れによる成分が含まれる場合、前記演算部が前記3次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記2次元演算モードで演算すべきであると判定する
情報処理装置。
(6)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、
前記判定部は、静電容量センサ、気圧センサ、光学センサ、超音波センサ、またはひずみセンサの検出値を前記別の情報として取得する
情報処理装置。
(7)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、
前記判定部は、前記操作デバイスの前記外面に対応する形状を有する前記操作面を含むステージが有するセンサの検出値を、前記別の情報として取得する
情報処理装置。
(8)(1)に記載の情報処理装置であって、
前記ユーザーの入力操作により、前記2次元演算モード及び前記3次元演算モードを切り替えるアプリケーションソフトウェアを記憶する記憶部をさらに具備する情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記操作デバイスは、ローカル座標系における直交3軸の検出軸を有する加速度センサ、前記直交3軸の検出軸を有する角速度センサ及び前記直交3軸の検出軸を有する磁気センサを備えた、前記ユーザーにより3次元空間内で任意の姿勢で操作され得る操作デバイスであり、
前記演算部は、
前記加速度センサ、前記角速度センサ及び前記磁気センサでそれぞれ検出された加速度、角速度及び磁気強度の情報を取得する取得部と、
前記3次元空間を表すグローバル座標系における前記操作デバイスの姿勢角度の情報を用いて、前記取得部で取得された前記角速度を、前記グローバル座標系におけるグローバル角速度に変換する座標変換部と、
前記ユーザーによる前記操作デバイスの操作の開始時に前記取得部で取得された前記加速度及び前記磁気強度の情報に基づき、前記姿勢角度のうち、前記操作デバイスの前記グローバル座標系における初期の前記姿勢角度を算出する初期姿勢角度算出部と、
前記座標変換部で変換された前記グローバル角速度の情報に基づき、前記操作デバイスの前記グローバル座標系における前記姿勢角度を更新する更新部と、
前記座標変換部に、前記初期姿勢角度算出部で算出された前記初期姿勢角度の情報を用いて、前記操作の開始時に前記取得部で取得された前記第1の角速度を前記グローバル角速度に変換させ、前記更新された姿勢角度の情報を用いて、前記第1の角速度が取得された後に取得された第2の角速度を前記グローバル角速度に変換させる制御部と
を有することにより、前記2次元演算モードを実現する
情報処理装置。
(10)(9)に記載の情報処理装置であって、
前記演算部は、前記座標変換部が、前記取得部で取得された前記加速度を、前記更新部で更新された前記操作デバイスの姿勢角度の情報に基づき、前記グローバル座標系におけるグローバル加速度に変換することにより、前記3次元演算モードを実現する
情報処理装置。
(11)(1)から(10)のうちいずれか1つに記載の情報処理装置であって、
前記操作デバイスの外形は球形である
情報処理装置。
(12)(1)から(11)のうちいずれか1つに記載の情報処理装置であって、
前記演算部は、
前記2次元演算モードでは、画面上に表示される第1の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成し、
前記3次元演算モードでは、前記画面上に表示される、前記第1の操作対象画像とは異なる第2の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成する
情報処理装置。
(13)(12)に記載の情報処理装置であって、
前記演算部は、前記3次元演算モードでは、前記第2の操作対象画像として、視差を有する複数の画像で形成される3次元画像である第2の操作対象画像を動かすための情報を生成する
情報処理装置。
(14)(12)に記載の情報処理装置であって、
前記第2の操作対象画像を、前記第1の操作対象画像の、前記画面上の所定の座標位置に関連する画像として記憶する画像記憶部をさらに具備する情報処理装置。
(15)(1)から(11)のうちいずれか1つに記載の情報処理装置であって、
前記演算部は、前記2次元演算モードでは、前記ユーザーの前記操作デバイスへの入力操作による前記操作デバイスの動きに応じて、前記画面上に表示される画像を選択するためのポインター画像を生成する
情報処理装置。
(16)(15)に記載の情報処理装置であって、
前記演算部は、前記3次元演算モードでは、前記操作デバイスの動きに応じて前記画面上で前記ポインター画像により選択された前記画像を動かすための情報を生成する
情報処理装置。
(17)操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理方法であって、
前記操作デバイスが操作面に置かれてユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、第1の演算を実行し、
前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、第2の演算を実行し、
前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記第1の演算及び前記第2の演算のうちいずれを実行すべきかを判定する
情報処理方法。
(18)操作面を有するステージと、
操作デバイスが前記操作面に置かれた時に該操作面に接触する外面と、操作デバイスの並進及び回転の動きを検出可能な動きセンサとを有し、前記ステージから離れることが可能な操作デバイスと
を具備する入力装置。
(19)(18)に記載の入力装置であって、
前記ステージは、前記操作デバイスの前記外面の形状に対応する形状に形成された前記操作面を有する
入力装置。
(20)(18)または(19)に記載の入力装置であって、
前記ステージは、前記ステージの少なくとも並進の動きを検出可能なセンサを有する
入力装置。
(21)(18)から(20)のうちいずれか1つに記載の入力装置であって、
前記操作デバイスの前記外形は球形である
入力装置。
【符号の説明】
【0178】
2…CPU
5…加速度センサ
6…角速度センサ
7…磁気センサ
8…圧力センサ
10、110…操作デバイス
30、41…操作面
40…ステージ
50…表示デバイス
51…オブジェクト(操作対象画像)
51b…ポインター
51c…地図画像
51d…FPS画像
51e…写真画像
52…表示部
53…CPU
100…情報処理システム
200…入力装置

【特許請求の範囲】
【請求項1】
操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理装置であって、
前記操作デバイスが操作面に置かれてユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行する2次元演算モードと、前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、演算を実行する3次元演算モードとを有する演算部と、
前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記演算部が前記2次元演算モード及び前記3次元演算モードのうちいずれで演算すべきかを判定する判定部と
を具備する情報処理装置。
【請求項2】
請求項1に記載の情報処理装置であって、
前記演算部は、前記操作デバイスが有する曲面状の外面が前記操作面に接触した状態で前記ユーザーにより前記操作デバイスが操作される場合の演算モードを、前記2次元演算モードとして、前記演算を実行する
情報処理装置。
【請求項3】
請求項2に記載の情報処理装置であって、
前記操作デバイスは、前記外面を含む表面と、前記表面に加えられる力を検出する圧力センサを有し、
前記判定部は、前記圧力センサの検出値を前記別の情報として取得する
情報処理装置。
【請求項4】
請求項3に記載の情報処理装置であって、
前記判定部は、前記操作デバイスによる加圧力以上の力が前記表面に加えられることを前記圧力センサが検出した場合、前記演算部が前記2次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記3次元演算モードで演算すべきと判定する
情報処理装置。
【請求項5】
請求項1に記載の情報処理装置であって、
前記判定部は、前記動きセンサによる検出値に前記ユーザーの手振れによる成分が含まれる場合、前記演算部が前記3次元演算モードで演算すべきと判定し、そうでない場合、前記演算部が前記2次元演算モードで演算すべきであると判定する
情報処理装置。
【請求項6】
請求項1に記載の情報処理装置であって、
前記判定部は、静電容量センサ、気圧センサ、光学センサ、超音波センサ、またはひずみセンサの検出値を前記別の情報として取得する
情報処理装置。
【請求項7】
請求項1に記載の情報処理装置であって、
前記判定部は、前記操作デバイスの前記外面に対応する形状を有する前記操作面を含むステージが有するセンサの検出値を、前記別の情報として取得する
情報処理装置。
【請求項8】
請求項1に記載の情報処理装置であって、
前記ユーザーの入力操作により、前記2次元演算モード及び前記3次元演算モードを切り替えるアプリケーションソフトウェアを記憶する記憶部をさらに具備する情報処理装置。
【請求項9】
請求項1に記載の情報処理装置であって、
前記操作デバイスは、ローカル座標系における直交3軸の検出軸を有する加速度センサ、前記直交3軸の検出軸を有する角速度センサ及び前記直交3軸の検出軸を有する磁気センサを備えた、前記ユーザーにより3次元空間内で任意の姿勢で操作され得る操作デバイスであり、
前記演算部は、
前記加速度センサ、前記角速度センサ及び前記磁気センサでそれぞれ検出された加速度、角速度及び磁気強度の情報を取得する取得部と、
前記3次元空間を表すグローバル座標系における前記操作デバイスの姿勢角度の情報を用いて、前記取得部で取得された前記角速度を、前記グローバル座標系におけるグローバル角速度に変換する座標変換部と、
前記ユーザーによる前記操作デバイスの操作の開始時に前記取得部で取得された前記加速度及び前記磁気強度の情報に基づき、前記姿勢角度のうち、前記操作デバイスの前記グローバル座標系における初期の前記姿勢角度を算出する初期姿勢角度算出部と、
前記座標変換部で変換された前記グローバル角速度の情報に基づき、前記操作デバイスの前記グローバル座標系における前記姿勢角度を更新する更新部と、
前記座標変換部に、前記初期姿勢角度算出部で算出された前記初期姿勢角度の情報を用いて、前記操作の開始時に前記取得部で取得された前記第1の角速度を前記グローバル角速度に変換させ、前記更新された姿勢角度の情報を用いて、前記第1の角速度が取得された後に取得された第2の角速度を前記グローバル角速度に変換させる制御部と
を有することにより、前記2次元演算モードを実現する
情報処理装置。
【請求項10】
請求項9に記載の情報処理装置であって、
前記演算部は、前記座標変換部が、前記取得部で取得された前記加速度を、前記更新部で更新された前記操作デバイスの姿勢角度の情報に基づき、前記グローバル座標系におけるグローバル加速度に変換することにより、前記3次元演算モードを実現する
情報処理装置。
【請求項11】
請求項1に記載の情報処理装置であって、
前記操作デバイスの外形は球形である
情報処理装置。
【請求項12】
請求項1に記載の情報処理装置であって、
前記演算部は、
前記2次元演算モードでは、画面上に表示される第1の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成し、
前記3次元演算モードでは、前記画面上に表示される、前記第1の操作対象画像とは異なる第2の操作対象画像を、前記操作デバイスの動きに応じて前記画面上で動かすための情報を生成する
情報処理装置。
【請求項13】
請求項12に記載の情報処理装置であって、
前記演算部は、前記3次元演算モードでは、前記第2の操作対象画像として、視差を有する複数の画像で形成される3次元画像である第2の操作対象画像を動かすための情報を生成する
情報処理装置。
【請求項14】
請求項12に記載の情報処理装置であって、
前記第2の操作対象画像を、前記第1の操作対象画像の、前記画面上の所定の座標位置に関連する画像として記憶する画像記憶部をさらに具備する情報処理装置。
【請求項15】
請求項1に記載の情報処理装置であって、
前記演算部は、前記2次元演算モードでは、前記ユーザーの前記操作デバイスへの入力操作による前記操作デバイスの動きに応じて、前記画面上に表示される画像を選択するためのポインター画像を生成する
情報処理装置。
【請求項16】
請求項15に記載の情報処理装置であって、
前記演算部は、前記3次元演算モードでは、前記操作デバイスの動きに応じて前記画面上で前記ポインター画像により選択された前記画像を動かすための情報を生成する
情報処理装置。
【請求項17】
操作デバイスの並進及び回転の動きを検出可能な動きセンサを有する操作デバイスから得られる情報の処理方法であって、
前記操作デバイスが操作面に置かれてユーザーにより前記操作デバイスが操作された場合、前記操作デバイスの2次元的な動きに応じた前記動きセンサの検出値に基づき、第1の演算を実行し、
前記ユーザーにより3次元空間で前記操作デバイスが操作された場合、前記操作デバイスの3次元的な動きに応じた前記動きセンサの検出値に基づき、第2の演算を実行し、
前記動きセンサの検出値に基づき、及び、前記動きセンサの検出値とは別の情報のうち少なくとも一方に基づき、前記第1の演算及び前記第2の演算のうちいずれを実行すべきかを判定する
情報処理方法。
【請求項18】
操作面を有するステージと、
操作デバイスが前記操作面に置かれた時に該操作面に接触する外面と、操作デバイスの並進及び回転の動きを検出可能な動きセンサとを有し、前記ステージから離れることが可能な操作デバイスと
を具備する入力装置。
【請求項19】
請求項18に記載の入力装置であって、
前記ステージは、前記操作デバイスの前記外面の形状に対応する形状に形成された前記操作面を有する
入力装置。
【請求項20】
請求項18に記載の入力装置であって、
前記ステージは、前記ステージの少なくとも並進の動きを検出可能なセンサを有する
入力装置。
【請求項21】
請求項18に記載の入力装置であって、
前記操作デバイスの前記外形は球形である
入力装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate


【公開番号】特開2013−25666(P2013−25666A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−161797(P2011−161797)
【出願日】平成23年7月25日(2011.7.25)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】