(58)【調査した分野】(Int.Cl.,DB名)
前記操作特定部は、前記状態取得部により取得される状態情報が特定状態を示すか否かを判定し、該判定結果に応じて、前記空間処理部に前記所定処理を実行させるか否かを決定する、
請求項1から4のいずれか1項に記載の3次元ユーザインタフェース装置。
前記操作特定部は、前記所定処理として、前記対象者の前記特定部位と前記仮想オブジェクトの特定点とを結ぶ線分の立体角変化量に対応する立体角変化量で前記仮想オブジェクトの該特定点を基準点とした回転処理を特定する、
請求項1から5いずれか1項に記載の3次元ユーザインタフェース装置。
前記操作特定部は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた回転処理を特定する、
請求項1から6いずれか1項に記載の3次元ユーザインタフェース装置。
前記操作特定部は、前記状態取得部により取得される状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、機能メニューの表示データを付加する処理を特定する、
請求項1から7のいずれか1項に記載の3次元ユーザインタフェース装置。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について説明する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の各実施形態の構成に限定されない。
【0016】
本実施形態における3次元ユーザインタフェース装置は、3次元センサから3次元情報を取得する3次元情報取得部と、この3次元情報取得部により取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出部と、上記3次元座標空間に配置され、少なくとも一部が表示領域に設定される仮想3次元空間を示す仮想3次元空間データを生成する仮想データ生成部と、上記3次元座標空間又は上記仮想3次元空間データに対して、対象者の特定部位に関する3次元位置情報の変化に対応する所定処理を施す空間処理部と、この空間処理部により所定処理が施されることにより得られる仮想3次元空間データに基づいて、表示領域内の仮想3次元空間を表示部に表示させる表示処理部と、を有する。
【0017】
本実施形態における3次元操作方法は、少なくとも1つのコンピュータが、3次元センサから3次元情報を取得し、この取得された3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出し、上記3次元座標空間に配置され、少なくとも一部が表示領域に設定される仮想3次元空間を示す仮想3次元空間データを生成し、上記3次元座標空間又は上記仮想3次元空間データに対して、対象者の特定部位に関する3次元位置情報の変化に対応する所定処理を施し、その所定処理が施されることにより得られる仮想3次元空間データに基づいて、上記表示領域内の仮想3次元空間を表示部に表示させる、ことを含む。
【0018】
本実施形態では、3次元情報が3次元センサから取得される。3次元情報は、可視光により得られる対象者の2次元画像と、3次元センサからの距離(深度)の情報とを含む。3次元センサは、可視光カメラと深度センサといった複数の機器により構成されてもよい。
【0019】
本実施形態では、この3次元情報を用いることで、対象者の特定部位に関する3次元座標空間上の3次元位置情報が算出され、当該3次元座標空間に配置され、少なくとも一部が表示領域に設定される仮想3次元空間データが生成される。ここで、特定部位とは、対象者が表示部に表示される仮想3次元空間を操作するために用いる体の一部である。本実施形態は、この特定部位を制限しない。また、3次元座標空間は、3次元座標で示される3次元空間を示し、いわゆるコンピュータグラフィックで実現される仮想3次元空間の位置認識に利用される。
【0020】
上記3次元位置情報の算出は、3次元センサにより検出された3次元情報から直接的に3次元位置情報を得る形態のみならず、3次元センサにより検出された3次元情報から間接的に3次元位置情報を得る形態も含む。間接的とは、3次元センサにより検出された3次元情報に対して所定の処理を施すことで得られる情報から当該3次元位置情報が得られることを意味する。よって、当該3次元座標空間は、例えば、3次元センサのカメラ座標系により決められてもよいし、3次元情報から検出される既知の形状を有する画像マーカ等から算出されるマーカ座標系により決められてもよい。
【0021】
本実施形態では、上述のように、3次元カメラから順次取得される3次元情報を用いて、対象者の特定部位に関する3次元位置情報が順次算出されることにより、対象者の特定部位に関する3次元位置情報の変化、即ち、対象者の特定部位の3次元的な動作(3次元ジェスチャ)が検出される。本実施形態では、この対象者の特定部位に関する3次元位置情報の変化に対応する所定処理が、上述の3次元座標空間又は上述の仮想3次元空間データに対して適用される。そして、その所定処理が施された結果に対応する仮想3次元空間が表示部に表示される。ここで、所定処理とは、例えば、仮想3次元空間を移動、回転、拡大、縮小させる処理である。
【0022】
従って、本実施形態によれば、対象者(ユーザ)は、自身の特定部位を用いて所定の3次元ジェスチャを行うことで、表示部に表示される仮想3次元空間を好きなように操作することができる。更に、本実施形態では、仮想3次元空間の操作をユーザ自身の特定部位の3次元的動作により行うことができるため、ユーザは、直感的に分かり易く、仮想3次元空間を操作している感覚を得ることができる。
【0023】
以下、上述の実施形態について更に詳細を説明する。
[第1実施形態]
〔装置構成〕
図1は、第1実施形態における3次元ユーザインタフェース装置(以降、3D−UI装置と表記する)1のハードウェア構成例を概念的に示す図である。第1実施形態における3D−UI装置1は、大きく、センサ側構成と表示側構成とを持つ。センサ側構成は、3次元センサ(以降、3Dセンサと表記する)8及びセンサ側装置10から形成される。表示側構成は、ヘッドマウントディスプレイ(以降、HMDと表記する)9及び表示側装置20から形成される。以降、3次元を3Dと適宜省略して表記する。
【0024】
図2は、第1実施形態における3D−UI装置1の利用形態の例を示す図である。
図2に示されるように、3Dセンサ8は、対象者(ユーザ)の特定部位を検出できる位置に配置される。HMD9は、対象者(ユーザ)の頭部に装着され、対象者の視線に対応する視線映像と共に、その視線映像に合成された上述の仮想3D空間を対象者に視認させる。
【0025】
3Dセンサ8は、対象者の特定部位の検出などのために利用される3D情報を検出する。3Dセンサ8は、例えば、Kinect(登録商標)のように、可視光カメラ及び距離画像センサにより実現される。距離画像センサは、深度センサとも呼ばれ、レーザから近赤外光のパターンを対象者に照射し、そのパターンを近赤外光を検知するカメラで撮像して得られる情報から距離画像センサから対象者までの距離(深度)が算出される。なお、3Dセンサ8自体の実現手法は制限されず、3Dセンサ8は、複数の可視光カメラを用いる3次元スキャナ方式で実現されてもよい。また、
図1では、3Dセンサ8が1つ要素で図示されるが、3Dセンサ8は、対象者の2次元画像を撮像する可視光カメラ及び対象者までの距離を検出するセンサといった複数の機器で実現されてもよい。
【0026】
図3は、HMD9の外観構成の例を示す図である。
図3には、ビデオシースルー型と呼ばれるHMD9の構成が示されている。
図3の例では、HMD9は、2つの視線カメラ9a及び9b、2つのディスプレイ9c及び9dを有する。各視線カメラ9a及び9bは、ユーザの各視線に対応する各視線画像をそれぞれ撮像する。これにより、HMD9は撮像部と呼ぶこともできる。各ディスプレイ9c及び9dは、ユーザの視野の大部分を覆う形に配置され、各視線画像に仮想3D空間が合成された合成3D画像を表示する。
【0027】
センサ側装置10及び表示側装置20は、バスなどで相互に接続される、CPU(Central Processing Unit)2、メモリ3、通信装置4、入出力インタフェース(I/F)5などをそれぞれ有する。メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、可搬型記憶媒体などである。
【0028】
センサ側装置10の入出力I/F5は、3Dセンサ8と接続され、表示側装置20の入出力I/F5は、HMD9と接続される。入出力I/F5と3Dセンサ8との間、及び、入出力I/F5とHMD9との間は無線により通信可能に接続されてもよい。各通信装置4は、無線又は有線にて、他の装置(センサ側装置10、表示側装置20など)と通信を行う。本実施形態は、このような通信の形態を制限しない。また、センサ側装置10及び表示側装置20の具体的ハードウェア構成についても制限されない。
【0029】
〔処理構成〕
〈センサ側装置〉
図4は、第1実施形態におけるセンサ側装置10の処理構成例を概念的に示す図である。第1実施形態におけるセンサ側装置10は、3D情報取得部11、第1オブジェクト検出部12、第1基準設定部13、位置算出部14、状態取得部15、送信部16などを有する。これら各処理部は、例えば、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F5を介してインストールされ、メモリ3に格納されてもよい。
【0030】
3D情報取得部11は、3Dセンサ8により検出された3D情報を逐次取得する。
【0031】
第1オブジェクト検出部12は、3D情報取得部11により取得された3D情報から既知の共通実オブジェクトを検出する。共通実オブジェクトとは、現実世界に配置された画像や物であり、AR(Augmented Reality)マーカ等と呼ばれる。本実施形態は、この共通実オブジェクトから、参照方向によらず、或る基準点及びこの基準点からの相互に直交する3つの方向を一定に得ることができるのであれば、この共通実オブジェクトの具体的形態を制限しない。第1オブジェクト検出部12は、その共通実オブジェクトが示す形状、サイズ、色などについての情報を予め保持しており、このような既知の情報を用いて、共通実オブジェクトを3D情報から検出する。
【0032】
第1基準設定部13は、第1オブジェクト検出部12により検出される共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間における3Dセンサ8の位置及び向きを算出する。例えば、第1基準設定部13は、共通実オブジェクトから抽出される基準点を原点とし、その基準点からの相互に直交する3方向を各軸とする3D座標空間を設定する。第1基準設定部13は、共通実オブジェクトに関する既知の形状及びサイズ(本来の形状及びサイズに相当)と、3D情報から抽出された共通実オブジェクトが示す形状及びサイズ(3Dセンサ8からの見え方に相当)との比較により、3Dセンサ8の位置及び向きを算出する。
【0033】
位置算出部14は、3D情報取得部11により逐次取得される3D情報を用いて、対象者の特定部位に関する上記3D座標空間上の3D位置情報を逐次算出する。第1実施形態では、位置算出部14は、具体的に次のように当該3D位置情報を算出する。位置算出部14は、まず、3D情報取得部11により取得される3D情報から対象者の特定部位の3D位置情報を抽出する。ここで抽出される3D位置情報は、3Dセンサ8のカメラ座標系に対応する。そこで、位置算出部14は、第1基準設定部13により算出される3Dセンサ8の位置及び向き並びに3D座標空間に基づいて、3Dセンサ8のカメラ座標系に対応する3D位置情報を第1基準設定部13で設定された3D座標空間上の3D位置情報に変換する。この変換は、3Dセンサ8のカメラ座標系から、上記共通実オブジェクトに基づき設定される3D座標系への変換を意味する。
【0034】
ここで、検出すべき対象者の特定部位は複数であってもよい。例えば、複数の特定部位として対象者の両手が利用される形態があり得る。この場合、位置算出部14は、3D情報取得部11により取得される3D情報から、複数の特定部位の3D位置情報をそれぞれ抽出し、この各3D位置情報を3D座標空間上の各3D位置情報にそれぞれ変換する。また、特定部位とは、対象者が表示部に表示される仮想3次元空間を操作するために用いる体の一部であるため、或る程度の面積又は体積を有する。よって、位置算出部14により算出される3D位置情報は、当該特定部位の中の或る1点の位置情報であってもよいし、複数点の位置情報であってもよい。
【0035】
状態取得部15は、対象者の特定部位の状態情報を取得する。この特定部位は、位置算出部14で検出対象とされる特定部位と同一である。この状態情報は、少なくとも2つの状態の中の一つを示す。具体的には、特定部位が手の場合には、状態情報は、握られた状態及び開かれた状態の少なくとも2つの中の一方を示す。本実施形態は、検出可能な範囲で、この状態情報が示し得る状態の数を制限しない。また、複数の特定部位が利用される場合には、状態取得部15は、各特定部位に関する状態情報をそれぞれ取得する。
【0036】
状態取得部15は、例えば、当該特定部位の識別すべき各状態に対応する画像特徴情報を予めそれぞれ保持しておき、3D情報取得部11により取得される3D情報に含まれる2D画像から抽出される特徴情報と、その予め保持される各画像特徴情報との比較により、当該特定部位の状態情報を取得する。また、状態取得部15は、当該特定部位に装着されたひずみセンサ(図示せず)から得られる情報から、当該特定部位の状態情報を取得してもよい。また、状態取得部15は、対象者の手で操作される入力マウス(図示せず)からの情報から、当該状態情報を取得してもよい。更に、状態取得部15は、マイクロフォン(図示せず)により得られる音声を認識することで当該状態情報を取得してもよい。
【0037】
送信部16は、対象者の特定部位に関する、位置算出部14により算出された当該3次元座標空間上の3次元位置情報、及び、状態取得部15により取得された状態情報を表示側装置20に送る。
【0038】
〈表示側装置〉
図5は、第1実施形態における表示側装置20の処理構成例を概念的に示す図である。第1実施形態における表示側装置20は、視線画像取得部21、第2オブジェクト検出部22、第2基準設定部23、仮想データ生成部24、操作特定部25、空間処理部26、画像合成部27、表示処理部28などを有する。これら各処理部は、例えば、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F5を介してインストールされ、メモリ3に格納されてもよい。
【0039】
視線画像取得部21は、HMD9から対象者の特定部位が写る視線画像を取得する。この特定部位も、センサ側装置10で検出対象とされる特定部位と同一である。本実施形態では、視線カメラ9a及び9bが設けられているため、視線画像取得部21は、左目及び右目の各々に対応する各視線画像をそれぞれ取得する。なお、各処理部は、左目及び右目に対応する両視線画像に対してそれぞれ同様に処理されるため、以下の説明では、1つの視線画像を対象に説明する。
【0040】
第2オブジェクト検出部22は、視線画像取得部21により取得される視線画像から既知の共通実オブジェクトを検出する。この共通実オブジェクトは、上述のセンサ側装置10で検出されたオブジェクトと同一である。第2オブジェクト検出部22の処理は、上述のセンサ側装置10の第1オブジェクト検出部12と同様であるため、ここでは詳細説明を省く。なお、視線画像に含まれる共通実オブジェクトは、3Dセンサ8で得られる3D情報に含まれる共通実オブジェクトとは、撮像方向が異なる。
【0041】
第2基準設定部23は、第2オブジェクト検出部22により検出される共通実オブジェクトに基づいて、センサ側装置10の第1基準設定部13により設定された3D座標空間を設定し、かつ、HMD9の位置及び向きをそれぞれ算出する。第2基準設定部23の処理についても、センサ側装置10の第1基準設定部13と同様であるため、ここでは詳細説明を省く。第2基準設定部23により設定される3D座標空間も、センサ側装置10の第1基準設定部13により設定される3D座標空間と同じ共通実オブジェクトに基づいて設定されるため、結果として、3D座標空間がセンサ側装置10と表示側装置20との間で共有されることになる。
【0042】
仮想データ生成部24は、第2基準設定部23によりセンサ側装置10と共有される3D座標空間に配置され、少なくとも一部が表示領域に設定される仮想3D空間データを生成する。この仮想3D空間データには、例えば、そのデータで表わされる仮想3D空間内の所定位置に配置される仮想オブジェクトに関するデータが含まれる。
【0043】
操作特定部25は、対象者の特定部位に関する当該3D座標空間上の3D位置情報及び状態情報をセンサ側装置10から受信し、この状態情報と3D位置情報の変化との組み合わせに基づいて、複数の所定処理の中から空間処理部26により実行される1つの所定処理を特定する。3D位置情報の変化は、前回の処理の際に得られた3D位置情報との関係から算出される。また、複数の特定部位(例えば、両手)が利用される場合には、操作特定部25は、センサ側装置10から取得される複数の3D位置情報から、複数の特定部位間の位置関係を算出し、算出された複数の特定部位間の位置関係の変化及び複数の状態情報に基づいて、複数の所定処理の中から1つの所定処理を特定する。複数の所定処理には、移動処理、回転処理、拡大処理、縮小処理、及び、機能メニューの表示データの付加処理等がある。
【0044】
より具体的には、操作特定部25は、次のような所定処理を特定する。例えば、対象者の特定部位が片手の場合、操作特定部25は、対象者の片手が特定状態(例えば握った状態)を維持している間におけるその片手の直線移動量に対応する距離分、移動させる処理を特定する。また、操作特定部25は、状態情報と3次元位置情報とが変化しない期間を計測し、この計測された期間が所定期間を超える場合に、機能メニューの表示データを付加する処理を特定する。
【0045】
対象者の複数特定部位が両手の場合、操作特定部25は、次のような所定処理を特定する。操作特定部25は、対象者の両手間の距離の変化量に対応する拡大率で対象者の片手の位置を基準点とした拡大処理を特定する。また、操作特定部25は、対象者の両手間の距離の変化量に対応する縮小率で対象者の片手の位置を基準点とした縮小処理を特定する。また、操作特定部25は、対象者の両手間を結ぶ線分の立体角変化量に対応する立体角変化量で対象者の片手の位置を基準点とした回転処理を特定する。
【0046】
更に、操作特定部25は、状態情報が特定状態を示すか否かを判定し、この判定結果に応じて、空間処理部26に所定処理を実行させるか否かを決定する。例えば、対象者の特定部位が片手の場合、操作特定部25は、状態情報がその片手が開いた状態であることを示す場合に、空間処理部26に当該所定処理を実行させない、又は、実行中の当該所定処理を空間処理部26に停止させることを決定する。また、対象者の複数特定部位が両手の場合、操作特定部25は、状態情報が両手が握られた状態であることを示す場合に、空間処理部26に所定処理を実行させることを決定し、状態情報がいずれか一方の手が開かれた状態であることを示す場合に、空間処理部26に所定処理を実行させないことを決定する。
【0047】
例えば、操作特定部25は、このような各所定処理を識別するためのIDをそれぞれ保持しており、所定処理に対応するIDを選択することにより、所定処理の特定を実現する。操作特定部25は、空間処理部26にその選択されたIDを渡すことで、空間処理部26にその所定処理を実行させる。
【0048】
空間処理部26は、第2基準設定部23により設定された3D座標空間又は仮想データ生成部24により生成された仮想3D空間データに対して、操作特定部25により特定された所定処理を適用する。空間処理部26は、サポートする複数の所定処理を実行可能に実現される。
【0049】
画像合成部27は、第2基準設定部23により算出されるHMD9の位置及び向き並びに3次元座標空間に基づいて、視線画像取得部21により取得される視線画像に、空間処理部26により所定処理が施された仮想3D空間データが示す当該表示領域内の仮想3次元空間を合成する。なお、画像合成部27による合成処理には、拡張現実(AR)等で用いられる周知の手法が利用されればよいため、ここでは説明を省略する。
【0050】
表示処理部28は、画像合成部27により得られる合成画像をHMD9に表示させる。本実施形態では、対象者の各視線に対応する2つの視線画像が上述のようにそれぞれ処理されるため、表示処理部28は、各視線画像と合成された各合成画像をそれぞれHMD9のディスプレイ9c及び9dに表示させる。
【0051】
図6は、HMD9に表示される合成画像の例を示す図である。
図6の例に示される合成画像は、3Dの地形図、航空機及び飛行場などを含む仮想3D空間と、対象者(ユーザ)の両手を含む視線画像とから形成される。ユーザは、HMD9でこの画像を見ながら、自身の両手を動かすことにより、その画像に含まれる仮想3D空間を自由に操作することができる。
【0052】
〔動作例〕
以下、第1実施形態における3次元操作方法について
図7を用いて説明する。
図7は、第1実施形態における3D−UI装置1の動作例を示すシーケンスチャートである。
【0053】
センサ側装置10は、3Dセンサ8から3D情報を逐次取得する(S71)。センサ側装置10は、所定のフレームレートの当該3D情報に対して次のように動作する。
【0054】
センサ側装置10は、当該3D情報から共通実オブジェクトを検出する(S72)。
続いて、センサ側装置10は、検出された共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間における3Dセンサ8の位置及び向きを算出する(S73)。
【0055】
更に、センサ側装置10は、当該3D情報を用いて、対象者の特定部位の3D位置情報を算出する(S74)。更に、センサ側装置10は、工程(S73)で算出された3Dセンサ8の位置及び向き並びに3D座標空間に基づいて、工程(S74)で算出された3D位置情報を工程(S73)で設定された3D座標空間上の3D位置情報に変換する(S75)。
【0056】
また、センサ側装置10は、対象者の特定部位に関する状態情報を取得する(S76)。
【0057】
センサ側装置10は、対象者の特定部位に関し、工程(S75)で得られた3D位置情報、及び、工程(S76)で得られた状態情報を表示側装置20に送る(S77)。
【0058】
図7では、説明の便宜のため、3D情報の取得(S71)と状態情報の取得(S76)とがシーケンシャルに実行される例が示されるが、特定部位の状態情報が3D情報以外から得られる場合には、工程(S71)及び(S76)は並列に実行される。
図7では、工程(S72)及び(S73)が3D情報の所定のフレームレートで実行される例が示されるが、工程(S72)及び(S73)はキャリブレーション時のみ実行されるようにしてもよい。
【0059】
一方で、表示側装置20は、3D情報の取得(S71)とは非同期で、HMD9から視線画像を逐次取得している(S81)。表示側装置20は、所定のフレームレートの当該視線画像に対して次のように動作する。
【0060】
表示側装置20は、当該視線画像から共通実オブジェクトを検出する(S82)。
続いて、表示側装置20は、検出された共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間におけるHMD9の位置及び向きを算出する(S83)。
【0061】
表示側装置20は、設定された3D座標空間に配置される仮想3D空間データを生成する(S84)。
【0062】
表示側装置20は、センサ側装置10から、対象者の特定部位に関する3D位置情報及び状態情報を受信すると(S85)、当該特定部位の3D位置情報の変化及び状態情報の組み合わせに応じて、対象者のジェスチャに対応する所定処理を特定する(S86)。特定部位が複数存在する場合には、表示側装置20は、複数の特定部位間の位置関係の変化と複数の状態情報との組み合わせに応じて、所定処理を特定する。
【0063】
表示側装置20は、工程(S84)で生成された仮想3D空間データに対して、工程(S86)で特定された所定処理を適用する(S87)。続いて、表示側装置20は、所定処理が施された仮想3D空間データと視線画像とを合成し(S88)、表示データを生成する。
【0064】
表示側装置20は、その合成により得られた画像をHMD9に表示させる(S89)。
【0065】
図7では、説明の便宜のため、センサ側装置10から送られる対象者の特定部位に関する情報に対する処理(工程(S85)から工程(S87))と、仮想3D空間データの生成処理(工程(S82)から工程(S84))とがシーケンシャルに実行される例が示される。しかしながら、工程(S85)から工程(S87)と、工程(S82)から工程(S84)とは並列に実行される。また、
図7では、工程(S82)から(S84)が視線画像の所定のフレームレートで実行される例が示されるが、工程(S82)から(S84)はキャリブレーション時のみ実行されるようにしてもよい。
【0066】
〔第1実施形態の作用及び効果〕
上述したように第1実施形態では、対象者の視線画像が取得され、その視線画像に仮想3D空間が合成された画像がビデオシースルー方式で対象者の視野内に表示される。これにより、対象者は、あたかも自身の目の前に存在するかのように、仮想3D空間を視認することができる。更に、第1実施形態では、視線画像には仮想3D空間を操作するための対象者の特定部位(手など)が写されるため、対象者は、仮想3D空間を自身の特定部位で操作しているかのように感じることができる。即ち、第1実施形態によれば、対象者に、仮想3D空間を直感的に視認させることができ、更に、仮想3D空間の直感的操作感を与えることができる。
【0067】
第1実施形態では、対象者の視線画像を得るためのHMD9と、対象者の特定部位の位置を得るための3Dセンサ8とが別々に設けられる。これにより、第1実施形態によれば、対象者の特定部位の3D位置を正確に測定し得る位置に3Dセンサ8を配置することができる。これは、測定対象からの距離が或る程度離れていないと、測定対象の位置を正確に測定できない3Dセンサ8が存在し得るからである。
【0068】
また、第1実施形態では、共通実オブジェクトを用いて、別々に設けられたセンサ(3Dセンサ8及びHMD9)により得られる情報から、各センサ間で共通の3D座標空間が設定される。そして、この共通の3D座標空間を用いて、対象者の特定部位の位置が判定され、かつ、仮想3D空間データが生成及び操作される。従って、第1実施形態によれば、対象者に、仮想3D空間と自身の特定部位の位置との関係を直感的に認識させることができ、結果、対象者に仮想3D空間の直感的操作感を与えることができる。
【0069】
また、第1実施形態では、対象者の特定部位に関する位置変化及び状態の組み合わせに応じて、仮想3D空間データに適用される所定処理が特定され、その所定処理が施された仮想3D空間が視線画像と合成される。これにより、対象者は、自身の特定部位を用いた3Dジェスチャに応じた仮想3D空間の操作が可能となる。従って、第1実施形態によれば、仮想3D空間を直感的に分かり易く操作するユーザインタフェースを提供することができる。
【0070】
[第2実施形態]
上述の第1実施形態では、HMD9に表示される合成画像内に含まれる対象者自身の特定部位の動作により、仮想3D空間が操作されていた。第2実施形態では、対象者の特定部位により直接的に操作される仮想オブジェクトを、実際の操作対象となる仮想3D空間の代替物として表示させ、対象者の特定部位の、その仮想オブジェクトに対する動作により、仮想3D空間の操作を可能とする。以下、第2実施形態における3D−UI装置1について、第1実施形態と異なる内容を中心説明する。以下の説明では、第1実施形態と同様の内容については適宜省略する。
【0071】
〔処理構成〕
第2実施形態では、表示側装置20の以下の処理部が第1実施形態と異なる。
【0072】
仮想データ生成部24は、表示領域内の仮想3D空間内に配置される仮想オブジェクトデータを生成する。仮想オブジェクトデータにより表示される仮想オブジェクトは、例えば、球形を有する。
【0073】
操作特定部25は、センサ側装置10の位置算出部14により算出される3D位置情報から、仮想オブジェクトを基準とした所定3D範囲内に対象者の特定部位が存在しているか否かを判定する。操作特定部25は、対象者の特定部位が当該所定3D範囲内に存在する場合、空間処理部26に実行させる所定処理として次のような回転処理を特定する。具体的には、操作特定部25は、当該所定処理として、対象者の特定部位と仮想オブジェクトの特定点とを結ぶ線分の立体角変化量に対応する立体角変化量で仮想オブジェクトの特定点を基準点とした回転処理を特定する。仮想オブジェクトの特定点には、例えば、仮想オブジェクトの中心点(重心点)が利用される。
【0074】
操作特定部25は、対象者の特定部位が当該所定3D範囲外に存在する場合、空間処理部26に仮想3D空間データに対する処理を実行させない。これにより、対象者による仮想3D空間に対する操作が不可能となる。但し、操作特定部25は、対象者の特定部位が当該所定3D範囲外に存在する場合には、上述の第2実施形態の手法での所定処理の特定を行わず、第1実施形態での所定処理の特定を行うようにしてもよい。
【0075】
操作特定部25は、当該所定処理として、上記所定3D範囲内から上記所定3D範囲外への対象者の特定部位の移動を検出し、移動前後における上記所定3D範囲内の位置と上記所定3D範囲外の位置との間の移動距離及び移動方向に応じた回転処理を特定するようにしてもよい。その回転処理は、具体的には、その移動方向に対応する角度方向に、その移動距離に対応した角度分回転する処理となる。これにより、仮想3D空間に対する操作が不可能となる直前までの操作により、対象者は、仮想3D空間を惰性的に回転させることができる。このような惰性的回転操作は、設定により有効と無効とが切り替えられてもよい。
【0076】
図8は、第2実施形態のHMD9に表示される合成画像の例を示す図である。
図8の例に示される合成画像は、第1実施形態の構成に加えて、仮想オブジェクトVOが更に含まれる。ユーザは、HMD9でこの画像を見ながら、仮想オブジェクトVOを基準とする所定3D範囲内で自身の両手を動かすことにより、その画像に含まれる仮想3D空間を自由に操作することができる。
【0077】
〔動作例〕
第2実施形態における3次元操作方法では、
図7に示される工程(S84)及び工程(S86)が第1実施形態と異なる。具体的には、工程(S84)において、仮想3D空間データとして、仮想オブジェクトデータが更に生成され、工程(S86)において、仮想オブジェクトを基準とする所定3D範囲と当該特定部位の位置との関係が判定される。
【0078】
〔第2実施形態における作用及び効果〕
上述のように第2実施形態では、3D座標空間上の仮想3D空間に仮想オブジェクトが表示され、この仮想オブジェクトを基準とする所定3D範囲内に対象者の特定部位が存在する場合に、仮想3D空間データへの回転処理が実行され、存在しない場合には、当該回転処理が実行されない。また、対象者の特定部位と仮想オブジェクトの特定点とを結ぶ線分の立体角変化量に対応する立体角変化量で仮想オブジェクトの特定点を基準点とした回転処理が特定され、この回転処理が仮想3D空間に適用される。
【0079】
このように、第2実施形態では、仮想3D空間という全体として視認される形のない無形操作対象を仮想オブジェクトという一定形状を持つ画像で代替し、この仮想的な代替物に対する対象者の特定部位の動作を検出することにより、当該無形操作対象に対する対象者の操作を実現している。これにより、対象者は、仮想オブジェクトを実際に自身の特定部位で操作している感覚を得ることができると共に、その操作に対応して仮想3D空間が操作されるため、仮想3D空間へも直感的に操作している感覚を得ることができる。従って、第2実施形態によれば、対象者に、無形操作対象である仮想3D空間を一層直感的に操作させることができる。
【0080】
以下に実施例を挙げ、上述の実施形態を更に詳細に説明する。本発明は以下の各実施例から何ら限定を受けない。以下の実施例1は、上述の第1実施形態の具体例に相当し、以下の実施例2は、上述の第2実施形態の具体例に相当する。以下の各実施例では、対象者の特定部位として「片手」又は「両手」が利用される。
【実施例1】
【0081】
図9は、実施例1における仮想3D空間の移動操作の例を示す図である。
図9では、3D座標空間の各軸がX軸、Y軸及びZ軸として示されており、仮想データ生成部24により生成される仮想3D空間データに対応する仮想3D空間が符号VAで示される。当該仮想3D空間の大きさに制限はないが、
図9では、説明の便宜のため、有限の大きさを持つ仮想3D空間VAが例示されている。また、仮想3D空間VAの中のHMD9に表示される領域が表示領域DAとして示されている。
【0082】
図9の例では、対象者の片手が握られた状態でその片手がX軸の負の方向に移動されている。この片手の動作は、空間を握ってその方向に空間を引っ張るジェスチャであると言える。このジェスチャを認識すると、表示側装置20は、その片手の直線移動量に対応する距離分、X軸の負の方向に仮想3D空間VAを移動させる。これにより、表示領域DAが仮想3D空間VA内のX軸の正の方向に移動することになるため、HMD9には仮想3D空間VAの今まで表示されていなかった部分が表示されることになる。
【0083】
対象者は、上述のように、空間を片手で握って、或る方向に引っ張るジェスチャを行うことで、仮想3D空間を移動させ、自身の視野を移動させることができる。このジェスチャとその仮想3D空間操作とは、直感的に結び付く。
【0084】
また、対象者の片手が握られた状態でその片手が一定期間動かされないことを検出すると、表示側装置20は、仮想3D空間の表示領域に、他の機能を呼び出すためのメニュー画面を表示させ、そのメニュー画面に対するユーザ操作を可能とする。
【0085】
表示側装置20は、対象者の片手が握られた状態でかつ他方の手も握られた状態となることを検出すると、仮想3D空間に対する拡大、縮小、回転の操作を有効とする。この状態で、表示側装置20は、いずれか一方の手が開かれた状態となることを検出すると、仮想3D空間に対する拡大、縮小、回転の操作を無効とする。
【0086】
図10は、実施例1における仮想3D空間の縮小操作の例を示す図である。
図10では、
図9と同様に、X軸、Y軸及びZ軸、仮想3D空間VA、表示領域DAが示されている。
図10の例では、対象者の両手が握られた状態のまま、片手が図面斜め左下方向に移動されている。この手を用いた動作は、空間を両手で握って空間をその両手間で縮めるジェスチャであると言える。このジェスチャを認識すると、表示側装置20は、両手間の距離の短縮度合いに対応する縮小率で仮想3D空間VAを縮小させる。このとき、表示側装置20は、仮想3D空間に対する拡大、縮小、回転の操作が有効とされた時点で、初めに握られたほうの手を縮小処理の基準点とする。
【0087】
図10には示されないが、対象者の両手が握られた状態のまま、両手が離れる方向に一方の手が動かされたことを検出すると、表示側装置20は、両手間の距離の伸長度合いに対応する拡大率で仮想3D空間VAを拡大させる。当該動作は、空間を両手で握って空間をその両手で伸ばすジェスチャであると言える。
【0088】
対象者は、上述のように、空間を両手で握って縮ませる又は伸ばすジェスチャを行うことで、仮想3D空間を縮小又は拡大させることができる。このジェスチャとその仮想3D空間操作とについても、直感的に結び付く。
【0089】
図11は、実施例1における仮想3D空間の回転操作の例を示す図である。
図11では、
図9や
図10と同様に、X軸、Y軸及びZ軸、仮想3D空間VA、表示領域DAが示されている。
図11の例では、対象者の両手が握られた状態で、かつ、両手間を結ぶ線分が元から異なる角度方向に片手が移動されている。この手を用いた動作は、空間を両手で握って、空間の一部を留め置きながら、他の一部を或る方向に引っ張るジェスチャであると言える。このジェスチャを認識すると、表示側装置20は、各操作が有効とされた時点での両手間を結ぶ直線と片手を移動させた後の両手間を結ぶ直線との立体角変化量に対応する立体角変化量で仮想3D空間VAを回転させる。このとき、表示側装置20は、各操作が有効とされた時点で、初めに握られたほうの手を回転の軸に設定する。
【0090】
表示側装置20は、拡大、縮小、回転の操作を有効にすると、握られた両手間を結ぶベクトル(線分)の変化により、拡大及び縮小か、回転かを決定する。具体的には、表示側装置20は、両手を握った時点、つまり拡大、縮小、回転の操作を有効にした時点のベクトルを正規化した単位ベクトルと、その後のベクトルの単位ベクトルとを比較して、近似していれば、そのベクトルの大きさの変化に対応した拡大処理又は縮小処理を行う。一方、表示側装置20は、それぞれの単位ベクトルが近似していなければ、回転処理を行う。
【0091】
対象者は、上述のように、空間を両手で握って、空間の一部を留め置きながら、他の一部を或る方向に引っ張るジェスチャを行うことで、仮想3D空間を回転させることができる。このジェスチャとその仮想3D空間操作とについても、直感的に結び付く。
【実施例2】
【0092】
実施例2では、表示側装置20は、仮想3D空間の表示領域に、
図8の例に示されるような球形の仮想オブジェクトVOを表示させる。表示側装置20は、その仮想オブジェクトを基準とした所定3D範囲を設定し、この所定3D範囲内に対象者の片手が存在している場合に、仮想3D空間に対する回転操作を有効とする。実施例2では、対象者は、片手で仮想3D空間を操作することができる。
【0093】
表示側装置20は、片手の移動前後で、対象者の片手と仮想オブジェクトの中心点とを結ぶ線分の立体角変化量を求め、それと同じ立体角変化量で、仮想3D空間を回転させる。このとき、回転の基準点が仮想オブジェクトの中心点に設定される。この回転操作により、仮想オブジェクトは仮想3D空間と共に回転する。
【0094】
表示側装置20は、当該所定3D範囲外に対象者の特定部位が移動した場合には、仮想3D空間に対する操作を無効とする。表示側装置20は、回転操作が有効から無効に変えられるタイミングで、惰性的に仮想3D空間を回転させるようにしてもよい。この場合、表示側装置20は、所定3D範囲内から所定3D範囲外に対象者の手が移動されたことを検出すると、移動前の所定3D範囲内の位置と移動後の所定3D範囲外の位置との間の移動距離及び移動方向に応じた回転を当該仮想3D空間に適用する。
【0095】
これにより、対象者は、球形の仮想オブジェクトVOを地球儀を回転させる要領で操作することにより、仮想オブジェクトVOと共に仮想3D空間を回転させることができる。このとき、対象者は、仮想オブジェクトVOを操作する感覚で、同様に仮想3D空間を操作することができるため、仮想3D空間に対する操作を直感的に行うことができる。
【0096】
[変形例]
上述の第1実施形態及び第2実施形態では、
図3に示されるように、HMD9が、対象者(ユーザ)の両目に対応して、視線カメラ9a及び9b、並びに、ディスプレイ9c及び9dを有したが、視線カメラ及びディスプレイを1つずつ持つようにしてもよい。この場合、1つのディスプレイは、対象者の片目の視野を覆うように配置されてもよいし、対象者の両目の視野を覆うように配置されてもよい。この場合、表示側装置20の仮想データ生成部24は、仮想3D空間に含まれる表示物を3DCGで表示させることができるように、周知の3DCG技術を用いて仮想3D空間データを生成すればよい。
【0097】
また、上述の第1実施形態及び第2実施形態では、視線画像を得るためにビデオシースルー型のHMD9が用いられたが、光学シースルー型のHMD9が用いられてもよい。この場合には、HMD9にはハーフミラーのディスプレイ9c及び9dが設けられ、このディスプレイ9c及び9dに仮想3D空間が表示されるようにすればよい。但し、この場合、対象者の視線方向で共通実オブジェクトを検出するための画像を得るためのカメラがHMD9の対象者の視野を遮らない箇所に設けられる。
【0098】
また、上述の第1実施形態及び第2実施形態では、
図1に示されるように、センサ側装置10と表示側装置20とが別々に設けられ、対象者の視線画像に仮想3D空間が合成されたが、センサ側装置10で得られる3D情報に含まれる2次元画像に仮想3D空間が合成された画像が表示されるようにしてもよい。
【0099】
図12は、変形例における3D−UI装置1のハードウェア構成例を概念的に示す図である。3D−UI装置1は、処理装置50、3Dセンサ8、及び、表示装置51を有する。処理装置50は、CPU2、メモリ3、入出力I/F5等を有し、入出力I/F5は、3Dセンサ8及び表示装置51に接続される。表示装置51は、合成画像を表示する。
【0100】
図13は、変形例における3D−UI装置1の処理構成例を概念的に示す図である。変形例における3D−UI装置1は、上述の各実施形態におけるセンサ側装置10に含まれる3D情報取得部11、位置算出部14及び状態取得部15を有し、上述の各実施形態における表示側装置20に含まれる仮想データ生成部24、操作特定部25、空間処理部26、画像合成部27及び表示処理部28を有する。これら各処理部については以下の点を除き、上述の各実施形態と同様である。
【0101】
位置算出部14は、3D情報取得部11により3Dセンサ8から得られる3次元情報から直接的に、対象者の特定部位の3次元位置情報を得る。操作特定部25は、位置算出部14により算出されるカメラ座標系の3次元位置情報と状態取得部15により得られる状態情報とに基づいて、所定処理を特定する。画像合成部27は、3D情報取得部11により得られる3次元情報に含まれる2次元画像と、空間処理部26により所定処理が施された仮想3D空間データとを合成する。
【0102】
この変形例では、対象者は、自身の視線方向以外の方向から撮像された自身の映像を見ながら、仮想3D空間を操作することになる。よって、この変形例では、対象者自身の視線画像を用いる上述の各実施形態に比べて、直感性は低下する可能性があるが、特定部位を用いた3Dジェスチャにより仮想3D空間を操作できるため、操作の分かり易さは十分に実現することができる。
【0103】
なお、上述の説明で用いたフローチャートでは、複数の工程(処理)が順番に記載されているが、本実施形態で実行される工程の実行順序は、その記載の順番に制限されない。本実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【0104】
上記の内容は以下の付記のようにも特定され得る。但し、上述の各実施形態、各変形例及び各実施例が以下の記載に限定されるものではない。
【0105】
(付記1)
3次元センサから3次元情報を取得する3次元情報取得部と、
前記3次元情報取得部により取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出部と、
前記3次元座標空間に配置され、少なくとも一部が表示領域に設定される仮想3次元空間を示す仮想3次元空間データを生成する仮想データ生成部と、
前記3次元座標空間又は前記仮想3次元空間データに対して、前記対象者の前記特定部位に関する前記3次元位置情報の変化に対応する所定処理を施す空間処理部と、
前記空間処理部により前記所定処理が施されることにより得られる仮想3次元空間データに基づいて、前記表示領域内の仮想3次元空間を表示部に表示させる表示処理部と、
を備える3次元ユーザインタフェース装置。
【0106】
(付記2)
前記対象者の前記特定部位の状態情報を取得する状態取得部と、
前記状態取得部により取得される状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から、前記空間処理部により実行される前記所定処理を特定する操作特定部と、
を更に備える付記1に記載の3次元ユーザインタフェース装置。
【0107】
(付記3)
前記位置算出部は、前記対象者の特定部位として前記対象者の片手の3次元位置情報を算出し、
前記状態取得部は、前記対象者の特定部位として前記対象者の前記片手の状態情報を取得し、
前記操作特定部は、前記所定処理として、前記対象者の前記片手が特定状態を維持している間における該片手の直線移動量に対応する距離分、移動させる処理を特定する、
付記2に記載の3次元ユーザインタフェース装置。
【0108】
(付記4)
前記位置算出部は、前記対象者の複数の特定部位に関する3次元座標空間上の各3次元位置情報をそれぞれ算出し、
前記状態取得部は、前記対象者の前記複数の特定部位に関する各状態情報をそれぞれ取得し、
前記操作特定部は、前記位置算出部により算出される前記複数の特定部位に関する複数の3次元位置情報から前記複数の特定部位間の位置関係を算出し、該算出された位置関係の変化及び前記状態取得部により取得される前記複数の状態情報に基づいて、複数の所定処理の中から前記所定処理を特定する、
付記2又は3に記載の3次元ユーザインタフェース装置。
【0109】
(付記5)
前記位置算出部は、前記複数の特定部位として前記対象者の両手の3次元位置情報を算出し、
前記状態取得部は、前記複数の特定部位として前記対象者の両手の状態情報を取得し、
前記操作特定部は、前記所定処理として、前記対象者の両手間の距離の変化量に対応する拡大率又は縮小率で前記対象者の片手の位置を基準点とした拡大処理又は縮小処理、若しくは、前記対象者の両手間を結ぶ線分の立体角変化量に対応する立体角変化量で前記対象者の片手の位置を基準点とした回転処理を特定する、
付記4に記載の3次元ユーザインタフェース装置。
【0110】
(付記6)
前記操作特定部は、前記状態取得部により取得される状態情報が特定状態を示すか否かを判定し、該判定結果に応じて、前記空間処理部に前記所定処理を実行させるか否かを決定する、
付記2から5のいずれか1つに記載の3次元ユーザインタフェース装置。
【0111】
(付記7)
前記仮想データ生成部は、前記表示領域内の仮想3次元空間内に配置される仮想オブジェクトデータを生成し、
前記操作特定部は、前記位置算出部により算出される3次元位置情報から、前記仮想オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、該判定結果に応じて、前記空間処理部に前記所定処理を実行させるか否かを決定する、
付記1から6のいずれか1つに記載の3次元ユーザインタフェース装置。
【0112】
(付記8)
前記操作特定部は、前記所定処理として、前記対象者の前記特定部位と前記仮想オブジェクトの特定点とを結ぶ線分の立体角変化量に対応する立体角変化量で前記仮想オブジェクトの該特定点を基準点とした回転処理を特定する、
付記7に記載の3次元ユーザインタフェース装置。
【0113】
(付記9)
前記操作特定部は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた回転処理を特定する、
付記7又は8に記載の3次元ユーザインタフェース装置。
【0114】
(付記10)
前記操作特定部は、前記状態取得部により取得される状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、機能メニューの表示データを付加する処理を特定する、
付記2から9のいずれか1つに記載の3次元ユーザインタフェース装置。
【0115】
(付記11)
前記3次元情報から既知の共通実オブジェクトを検出する第1オブジェクト検出部と、
前記第1オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を設定し、かつ、前記3次元センサの位置及び向きを算出する第1基準設定部と、
前記3次元センサとは異なる位置及び異なる向きに配置される撮像部から前記対象者の前記特定部位が写る視線画像を取得する視線画像取得部と、
前記視線画像取得部により取得される視線画像から既知の前記共通実オブジェクトを検出する第2オブジェクト検出部と、
前記第2オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を共有し、かつ、前記撮像部の位置及び向きを算出する第2基準設定部と、
前記第2基準設定部により算出される前記撮像部の位置及び向き並びに前記3次元座標空間に基づいて、前記撮像部により撮像される前記視線画像に前記表示領域内の仮想3次元空間を合成する画像合成部と、
を備え、
前記位置算出部は、前記第1基準設定部により算出される前記3次元センサの位置及び向き並びに前記3次元座標空間に基づいて、前記3次元情報取得部により取得される3次元情報から取得される前記対象者の特定部位に関する3次元位置情報を変換することにより、前記3次元座標空間上の前記3次元位置情報を算出し、
前記表示処理部は、前記画像合成部により得られる画像を前記表示部に表示させる、
付記1から10のいずれか1つに記載の3次元ユーザインタフェース装置。
【0116】
(付記12)
少なくとも1つのコンピュータにより実行される3次元操作方法において、
3次元センサから3次元情報を取得し、
前記取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出し、
前記3次元座標空間に配置され、少なくとも一部が表示領域に設定される仮想3次元空間を示す仮想3次元空間データを生成し、
前記3次元座標空間又は前記仮想3次元空間データに対して、前記対象者の前記特定部位に関する前記3次元位置情報の変化に対応する所定処理を施し、
前記所定処理が施されることにより得られる仮想3次元空間データに基づいて、前記表示領域内の仮想3次元空間を表示部に表示させる、
ことを含む3次元操作方法。
【0117】
(付記13)
前記対象者の前記特定部位の状態情報を取得し、
前記取得された状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から、前記所定処理を特定する、
ことを更に含む付記12に記載の3次元操作方法。
【0118】
(付記14)
前記3次元位置情報の算出は、前記対象者の特定部位として前記対象者の片手の3次元位置情報を算出し、
前記状態情報の取得は、前記対象者の特定部位として前記対象者の前記片手の状態情報を取得し、
前記所定処理の特定は、前記所定処理として、前記対象者の前記片手が特定状態を維持している間における該片手の直線移動量に対応する距離分、移動させる処理を特定する、
付記13に記載の3次元操作方法。
【0119】
(付記15)
前記3次元位置情報の算出は、前記対象者の複数の特定部位に関する3次元座標空間上の各3次元位置情報をそれぞれ算出し、
前記状態情報の取得は、前記対象者の前記複数の特定部位に関する各状態情報をそれぞれ取得し、
前記所定処理の特定は、前記算出された前記複数の特定部位に関する複数の3次元位置情報から前記複数の特定部位間の位置関係を算出し、該算出された位置関係の変化及び前記状態取得部により取得される前記複数の状態情報に基づいて、複数の所定処理の中から前記所定処理を特定する、
付記13又は14に記載の3次元操作方法。
【0120】
(付記16)
前記3次元位置情報の算出は、前記複数の特定部位として前記対象者の両手の3次元位置情報を算出し、
前記状態情報の取得は、前記複数の特定部位として前記対象者の両手の状態情報を取得し、
前記所定処理の特定は、前記所定処理として、前記対象者の両手間の距離の変化量に対応する拡大率又は縮小率で前記対象者の片手の位置を基準点とした拡大処理又は縮小処理、若しくは、前記対象者の両手間を結ぶ線分の立体角変化量に対応する立体角変化量で前記対象者の片手の位置を基準点とした回転処理を特定する、
付記15に記載の3次元操作方法。
【0121】
(付記17)
前記取得された状態情報が特定状態を示すか否かを判定し、
前記判定結果に応じて、前記所定処理を施すか否かを決定する、
ことを更に含む付記13から16のいずれか1つに記載の3次元操作方法。
【0122】
(付記18)
前記表示領域内の仮想3次元空間内に配置される仮想オブジェクトデータを生成し、
前記算出された3次元位置情報から、前記仮想オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、
前記判定結果に応じて、前記所定処理を施すか否かを決定する、
ことを更に含む付記13から17のいずれか1つに記載の3次元操作方法。
【0123】
(付記19)
前記所定処理の特定は、前記所定処理として、前記対象者の前記特定部位と前記仮想オブジェクトの特定点とを結ぶ線分の立体角変化量に対応する立体角変化量で前記仮想オブジェクトの該特定点を基準点とした回転処理を特定する、
付記18に記載の3次元操作方法。
【0124】
(付記20)
前記所定処理の特定は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた回転処理を特定する、
付記18又は19に記載の3次元操作方法。
【0125】
(付記21)
前記所定処理の特定は、前記取得された状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、機能メニューの表示データを付加する処理を特定する、
付記13から20のいずれか1つに記載の3次元操作方法。
【0126】
(付記22)
前記3次元情報から既知の共通実オブジェクトを検出し、
前記検出された共通実オブジェクトに基づいて、前記3次元座標空間を設定し、かつ、前記3次元センサの位置及び向きを算出し、
前記3次元センサとは異なる位置及び異なる向きに配置される撮像部から前記対象者の前記特定部位が写る視線画像を取得し、
前記取得された視線画像から既知の前記共通実オブジェクトを検出し、
前記検出された共通実オブジェクトに基づいて、前記3次元座標空間を共有し、かつ、前記撮像部の位置及び向きを算出し、
前記算出された前記撮像部の位置及び向き並びに前記3次元座標空間に基づいて、前記撮像部により撮像される前記視線画像に前記表示領域内の仮想3次元空間を合成し、
前記合成により得られる画像を前記表示部に表示させる、
ことを更に含み、
前記3次元位置情報の算出は、前記算出された3次元センサの位置及び向き並びに前記3次元座標空間に基づいて、前記取得された3次元情報から取得される前記対象者の特定部位に関する3次元位置情報を変換することにより、前記3次元座標空間上の前記3次元位置情報を算出する、
付記12から21のいずれか1つに記載の3次元操作方法。
【0127】
(付記23)
少なくとも1つのコンピュータに、付記12から21のいずれか1つに記載の3次元操作方法を実行させるプログラム。
【0128】
(付記24)
付記22に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【0129】
この出願は、2012年7月27日に出願された日本特許出願特願2012−167111を基礎とする優先権を主張し、その開示の全てをここに取り込む。