特許第5871345号(P5871345)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECソリューションイノベータ株式会社の特許一覧

特許58713453次元ユーザインタフェース装置及び3次元操作方法
<>
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000002
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000003
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000004
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000005
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000006
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000007
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000008
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000009
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000010
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000011
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000012
  • 特許5871345-3次元ユーザインタフェース装置及び3次元操作方法 図000013
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5871345
(24)【登録日】2016年1月22日
(45)【発行日】2016年3月1日
(54)【発明の名称】3次元ユーザインタフェース装置及び3次元操作方法
(51)【国際特許分類】
   G06T 19/00 20110101AFI20160216BHJP
【FI】
   G06T19/00 A
【請求項の数】11
【全頁数】25
(21)【出願番号】特願2014-526711(P2014-526711)
(86)(22)【出願日】2013年3月28日
(86)【国際出願番号】JP2013002131
(87)【国際公開番号】WO2014016992
(87)【国際公開日】20140130
【審査請求日】2015年1月16日
(31)【優先権主張番号】特願2012-167040(P2012-167040)
(32)【優先日】2012年7月27日
(33)【優先権主張国】JP
(73)【特許権者】
【識別番号】000232092
【氏名又は名称】NECソリューションイノベータ株式会社
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(72)【発明者】
【氏名】森下 幸司
(72)【発明者】
【氏名】永井 克幸
(72)【発明者】
【氏名】野田 尚志
【審査官】 真木 健彦
(56)【参考文献】
【文献】 特開平06−131442(JP,A)
【文献】 特開2002−112286(JP,A)
【文献】 特開平05−282425(JP,A)
【文献】 特開2000−098300(JP,A)
【文献】 特開平06−337907(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 19/00
G06F 3/01
G06F 17/50
A63F 13/00
(57)【特許請求の範囲】
【請求項1】
3次元センサから3次元情報を取得する3次元情報取得部と、
前記3次元情報取得部により取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出部と、
前記3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成部と、
前記対象者の前記特定部位の状態情報を取得する状態取得部と、
前記状態取得部により取得される状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定部と、
前記仮想3次元オブジェクトデータに対して、前記操作特定部により特定される前記所定処理を施すオブジェクト処理部と、
前記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理部と、
を備え
前記位置算出部は、前記対象者の両手それぞれについて3次元座標空間上の3次元位置情報を算出し、
前記状態取得部は、前記対象者の両手それぞれについて状態情報を取得し、
前記操作特定部は、
前記位置算出部により算出される前記両手の3次元位置情報から、前記両手間の位置関係を算出し、
前記両手の状態を第1の特定状態に維持して前記両手間の距離が変化した場合、その距離の変化量に対応する拡大率又は縮小率で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを拡大又は縮小させる処理を、前記所定処理として特定し、
前記両手の状態を前記第1の特定状態に維持し、なおかつ前記両手間の距離が変化せずに、前記両手間を結ぶ線分の立体角が変化した場合、その立体角の変化量に対応する角度で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを回転させる処理を、前記所定処理として特定する3次元ユーザインタフェース装置。
【請求項2】
前記操作特定部は、前記位置算出部により算出される3次元位置情報から、前記仮想3次元オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、該判定結果に応じて、前記オブジェクト処理部による前記所定処理の実行の可否を決定する、
請求項1に記載の3次元ユーザインタフェース装置。
【請求項3】
前記位置算出部は、前記対象者の特定部位として前記対象者の片手の3次元位置情報を算出し、
前記状態取得部は、前記対象者の特定部位として前記対象者の前記片手の状態情報を取得し、
前記操作特定部は、前記所定処理として、前記対象者の前記片手が特定状態を維持している間における該片手の直線移動量に対応する距離分、移動させる処理を特定する、
請求項1又は2に記載の3次元ユーザインタフェース装置。
【請求項4】
前記操作特定部は、前記対象者の前記片手が特定状態を維持している間における該片手の移動前後において、前記仮想3次元オブジェクトの特定点からの距離が変わらない場合には、前記所定処理として、前記対象者の前記片手と前記仮想3次元オブジェクトの特定点とを結ぶ線分の立体角変化量で前記仮想3次元オブジェクトの該特定点を基準点とした回転処理を特定する、
請求項3に記載の3次元ユーザインタフェース装置。
【請求項5】
前記操作特定部は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた移動処理又は回転処理を特定する、
請求項2に記載の3次元ユーザインタフェース装置。
【請求項6】
前記操作特定部は、前記状態取得部により取得される状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、前記仮想3次元オブジェクトが配置される仮想3次元空間のデータに機能メニューの表示データを付加する処理を特定する、
請求項1からのいずれか1項に記載の3次元ユーザインタフェース装置。
【請求項7】
前記3次元情報から既知の共通実オブジェクトを検出する第1オブジェクト検出部と、
前記第1オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を設定し、かつ、前記3次元センサの位置及び向きを算出する第1基準設定部と、
前記3次元センサとは異なる位置及び異なる向きに配置される撮像部から前記対象者の前記特定部位が写る視線画像を取得する視線画像取得部と、
前記視線画像取得部により取得される視線画像から既知の前記共通実オブジェクトを検出する第2オブジェクト検出部と、
前記第2オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を共有し、かつ、前記撮像部の位置及び向きを算出する第2基準設定部と、
前記第2基準設定部により算出される前記撮像部の位置及び向き並びに前記3次元座標空間に基づいて、前記撮像部により撮像される前記視線画像に前記仮想3次元オブジェクトを合成する画像合成部と、
を備え、
前記位置算出部は、前記第1基準設定部により算出される前記3次元センサの位置及び向き並びに前記3次元座標空間に基づいて、前記3次元情報取得部により取得される3次元情報から取得される前記対象者の特定部位に関する3次元位置情報を変換することにより、前記3次元座標空間上の前記3次元位置情報を算出し、
前記表示処理部は、前記画像合成部により得られる画像を前記表示部に表示させる、
請求項1からのいずれか1項に記載の3次元ユーザインタフェース装置。
【請求項8】
少なくとも1つのコンピュータにより実行される3次元操作方法であって
3次元センサから3次元情報を取得する3次元情報取得ステップと
前記取得された3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出ステップと
前記3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成ステップと
前記対象者の前記特定部位の状態情報を取得する状態取得ステップと
前記取得された状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定ステップと
前記仮想3次元オブジェクトデータに対して、前記特定される前記所定処理を施すオブジェクト処理ステップと
前記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理ステップと
を含み、
前記位置算出ステップにおいて、前記対象者の両手それぞれについて3次元座標空間上の3次元位置情報を算出し、
前記状態取得ステップにおいて、前記対象者の両手それぞれについて状態情報を取得し、
前記操作特定ステップにおいて、
前記算出される前記両手の3次元位置情報から、前記両手間の位置関係を算出し、
前記両手の状態を第1の特定状態に維持して前記両手間の距離が変化した場合、その距離の変化量に対応する拡大率又は縮小率で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを拡大又は縮小させる処理を、前記所定処理として特定し、
前記両手の状態を前記第1の特定状態に維持し、なおかつ前記両手間の距離が変化せずに、前記両手間を結ぶ線分の立体角が変化した場合、その立体角の変化量に対応する角度で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを回転させる処理を、前記所定処理として特定する、3次元操作方法。
【請求項9】
前記操作特定ステップにおいて、前記算出される3次元位置情報から、前記仮想3次元オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、
前記判定結果に応じて、前記所定処理の実行の可否を決定する、
求項に記載の3次元操作方法。
【請求項10】
少なくとも1つのコンピュータに3次元操作方法を実行させるプログラムにおいて、
前記3次元操作方法が、
3次元センサから3次元情報を取得する3次元情報取得ステップと
前記取得された3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出ステップと
前記3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成ステップと
前記対象者の前記特定部位の状態情報を取得する状態取得ステップと
前記取得された状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定ステップと
前記仮想3次元オブジェクトデータに対して、前記特定される前記所定処理を施すオブジェクト処理ステップと
前記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理ステップと
ことを含み、
前記位置算出ステップにおいて、前記対象者の両手それぞれについて3次元座標空間上の3次元位置情報を算出し、
前記状態取得ステップにおいて、前記対象者の両手それぞれについて状態情報を取得し、
前記操作特定ステップにおいて、
前記算出される前記両手の3次元位置情報から、前記両手間の位置関係を算出し、
前記両手の状態を第1の特定状態に維持して前記両手間の距離が変化した場合、その距離の変化量に対応する拡大率又は縮小率で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを拡大又は縮小させる処理を、前記所定処理として特定し、
前記両手の状態を前記第1の特定状態に維持し、なおかつ前記両手間の距離が変化せずに、前記両手間を結ぶ線分の立体角が変化した場合、その立体角の変化量に対応する角度で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを回転させる処理を、前記所定処理として特定する、プログラム。
【請求項11】
前記3次元操作方法が、
前記操作特定ステップにおいて、前記算出される3次元位置情報から、前記仮想3次元オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、
前記判定結果に応じて、前記所定処理の実行の可否を決定する、
求項10に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3次元ユーザインタフェース技術に関する。
【背景技術】
【0002】
近年、3DCG(3次元コンピュータグラフィックス)や拡張現実(AR)等のような、コンピュータ上で3次元環境を実現する技術が盛んに実用化されている。AR技術は、スマートフォン等の携帯機器のカメラやヘッドマウントディスプレイ(HMD)を介して得られる現実世界上の対象物に仮想オブジェクトやデータを重畳的に表示させる。このような表示技術により、ユーザは、3次元映像を視認することができる。下記特許文献1には、深度検知カメラを使用してシーン内でのユーザの識別およびトラッキングを行い、その結果に応じて、そのユーザの移動を模擬するアバターアニメーションをそのシーン内に表示させることが提案されている。
【0003】
しかしながら、上述のような技術で表現される3次元環境を操作するためのユーザインタフェース(UI)は、2次元入力装置を用いて実現されているのが現状である。例えば、2次元のマウス操作が3次元空間の操作に変換される。よって、現状の3次元環境を操作するUIは、直感的に分かり易いものとなっていない場合が多い。
【0004】
そこで、下記特許文献2には、深度カメラを有するリモートコントローラを用いて、リモートコントローラの位置の変化を検出し、この変化に基づいて、アプリケーションによるアクションを引き起こす入力コマンドをトリガする技術が提案されている。また、下記特許文献3には、アームカバーやグローブ等の付加的装備を必要とせずに、ユーザに、ナチュラルな3次元環境におけるコンピュータインタラクション経験を提供する技術が提案されている。この提案では、ユーザと対向する位置に深度カメラが設置され、その深度カメラで写されたユーザと共にバーチャルオブジェクトが挿入された画像をディスプレイに表示させつつ、そのユーザとバーチャルオブジェクトとの間のインタラクションが検出される。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特表2011−515736号公報
【特許文献2】特表2011−514232号公報
【特許文献3】特許第4271236号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上述の特許文献3で提案される手法によれば、映像化された現実空間内に配置された仮想オブジェクトをその映像内に存在するユーザの手により移動させることができる。しかしながら、特許文献3では、当該仮想オブジェクトに対する具体的操作手法、及び、移動以外の操作手法については、何ら提案されていない。
【0007】
本発明は、上述のような事情に鑑みてなされたものであり、立体的に表示される仮想3次元オブジェクトを直感的に分かり易く操作するユーザインタフェース技術を提供することにある。
【課題を解決するための手段】
【0008】
本発明の各態様では、上述した課題を解決するために、それぞれ以下の構成を採用する。
【0009】
第1の態様に係る3次元ユーザインタフェース装置は、3次元センサから3次元情報を取得する3次元情報取得部と、この3次元情報取得部により取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出部と、3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成部と、上記対象者の当該特定部位の状態情報を取得する状態取得部と、この状態取得部により取得される状態情報と上記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定部と、仮想3次元オブジェクトデータに対して、操作特定部により特定される所定処理を施すオブジェクト処理部と、その所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理部と、を有する。位置算出部は、対象者の両手それぞれについて3次元座標空間上の3次元位置情報を算出する。状態取得部は、対象者の両手それぞれについて状態情報を取得する。操作特定部は、位置算出部により算出される両手の3次元位置情報から、両手間の位置関係を算出する。操作特定部は、両手の状態を第1の特定状態に維持して両手間の距離が変化した場合、その距離の変化量に対応する拡大率又は縮小率で、対象者の片手の位置を基準点として仮想3次元オブジェクトを拡大又は縮小させる処理を、所定処理として特定する。操作特定部は、両手の状態を第1の特定状態に維持し、なおかつ両手間の距離が変化せずに、両手間を結ぶ線分の立体角が変化した場合、その立体角の変化量に対応する角度で、対象者の片手の位置を基準点として仮想3次元オブジェクトを回転させる処理を、所定処理として特定する。
【0010】
本発明の第2態様に係る3次元操作方法は、少なくとも1つのコンピュータにより実行される。第2態様に係る3次元操作方法は、3次元センサから3次元情報を取得する3次元情報取得ステップと、取得された3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出ステップと、3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成ステップと、上記対象者の当該特定部位の状態情報を取得する状態取得ステップと、取得された状態情報と上記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定ステップと、仮想3次元オブジェクトデータに対して、特定される上記所定処理を施すオブジェクト処理ステップと、上記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理ステップと、を含む。位置算出ステップにおいて、対象者の両手それぞれについて3次元座標空間上の3次元位置情報を算出する。状態取得ステップにおいて、対象者の両手それぞれについて状態情報を取得する。操作特定ステップにおいて、算出される前記両手の3次元位置情報から、前記両手間の位置関係を算出する。操作特定ステップにおいて、前記両手の状態を第1の特定状態に維持して前記両手間の距離が変化した場合、その距離の変化量に対応する拡大率又は縮小率で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを拡大又は縮小させる処理を、前記所定処理として特定する。操作特定ステップにおいて、前記両手の状態を前記第1の特定状態に維持し、なおかつ前記両手間の距離が変化せずに、前記両手間を結ぶ線分の立体角が変化した場合、その立体角の変化量に対応する角度で、前記対象者の片手の位置を基準点として前記仮想3次元オブジェクトを回転させる処理を、前記所定処理として特定する。
【0011】
なお、本発明の他の態様としては、上記第1態様に含まれる各構成をコンピュータに実現させるプログラムであってもよいし、このようなプログラムを記録したコンピュータが読み取り可能な記録媒体であってもよい。この記録媒体は、非一時的な有形の媒体を含む。
【発明の効果】
【0012】
上記各態様によれば、立体的に表示される仮想3次元オブジェクトを直感的に分かり易く操作するユーザインタフェース技術を提供することができる。
【図面の簡単な説明】
【0013】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる好適な実施形態、およびそれに付随する以下の図面によってさらに明らかになる。
【0014】
図1】第1実施形態における3次元ユーザインタフェース装置(3D−UI装置)のハードウェア構成例を概念的に示す図である。
図2】第1実施形態における3次元ユーザインタフェース装置(3D−UI装置)の利用形態の例を示す図である。
図3】HMDの外観構成の例を示す図である。
図4】第1実施形態におけるセンサ側装置の処理構成例を概念的に示す図である。
図5】第1実施形態における表示側装置の処理構成例を概念的に示す図である。
図6】HMDに表示される合成画像の例を示す図である。
図7】第1実施形態における3次元ユーザインタフェース装置(3D−UI装置)の動作例を示すシーケンスチャートである。
図8】実施例1における仮想3Dオブジェクトの移動操作の例を示す図である。
図9】実施例1における仮想3Dオブジェクトの縮小操作の例を示す図である。
図10】実施例1における仮想3Dオブジェクトの回転操作の例を示す図である。
図11】変形例における3次元ユーザインタフェース装置(3D−UI装置)のハードウェア構成例を概念的に示す図である。
図12】変形例における3次元ユーザインタフェース装置(3D−UI装置)の処理構成例を概念的に示す図である。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態について説明する。なお、以下に挙げる各実施形態はそれぞれ例示であり、本発明は以下の各実施形態の構成に限定されない。
【0016】
本実施形態における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次元オブジェクトを表示部に表示させる、ことを含む。
【0018】
本実施形態では、3次元情報が3次元センサから取得される。3次元情報は、可視光により得られる対象者の2次元画像と、3次元センサからの距離(深度)の情報とを含む。3次元センサは、可視光カメラと深度センサといった複数の機器により構成されてもよい。
【0019】
本実施形態では、この3次元情報を用いることで、対象者の特定部位に関する3次元座標空間上の3次元位置情報が算出され、当該3次元座標空間に配置される仮想3次元オブジェクトデータが生成される。ここで、特定部位とは、対象者が表示部に表示される仮想3次元オブジェクトを操作するために用いる体の一部である。本実施形態は、この特定部位を制限しない。
【0020】
上記3次元位置情報の算出は、3次元センサにより検出された3次元情報から直接的に3次元位置情報を得る形態のみならず、3次元センサにより検出された3次元情報から間接的に3次元位置情報を得る形態も含む。間接的とは、3次元センサにより検出された3次元情報に対して所定の処理を施すことで得られる情報から当該3次元位置情報が得られることを意味する。よって、当該3次元座標空間は、例えば、3次元センサのカメラ座標系により決められてもよいし、3次元情報から検出される既知の形状を有する画像マーカ等から算出されるマーカ座標系により決められてもよい。
【0021】
更に、本実施形態では、対象者の特定部位の状態情報が取得される。この特定部位は、3次元位置情報の算出対象とされる特定部位と同一である。この状態情報は、少なくとも2つの状態の中の一つを示す。具体的には、特定部位が手の場合には、状態情報は、握られた状態及び開かれた状態といった少なくとも2つの中の一方を示す。本実施形態は、検出可能な範囲で、この状態情報が示し得る状態の数を制限しない。
【0022】
本実施形態では、このように、3次元センサから順次取得される3次元情報を用いて、対象者の特定部位に関する3次元位置情報が順次算出され、かつ、その特定部位の状態情報が取得されることにより、対象者の特定部位に関する状態及び3次元位置情報の変化、即ち、対象者の特定部位の3次元的な動作(3次元ジェスチャ)が検出される。この検出される3次元ジェスチャは、特定部位の移動及び状態により形成される。
【0023】
本実施形態では、このような3次元ジェスチャを示す、状態情報と3次元位置情報の変化との組み合わせに基づいて、所定処理が特定され、仮想3次元オブジェクトデータに対してその所定処理が適用される。そして、その所定処理が施された結果に対応する仮想3次元オブジェクトが表示部に表示される。ここで、所定処理とは、例えば、仮想3次元オブジェクトを移動、回転、拡大、縮小させる処理である。
【0024】
従って、本実施形態によれば、対象者(ユーザ)は、自身の特定部位を用いて所定の3次元ジェスチャを行うことで、表示部に表示される仮想3次元オブジェクトを好きなように操作することができる。更に、本実施形態では、仮想3次元オブジェクトの操作をユーザ自身の特定部位の3次元ジェスチャにより行うことができるため、ユーザは、直感的に分かり易く、仮想3次元オブジェクトを操作している感覚を得ることができる。更に、本実施形態では、特定部位の位置の変化だけでなく、特定部位の状態も考慮して、仮想3次元オブジェクトに対する操作を特定しているため、本実施形態によれば、ユーザに、現実世界の物に対する操作と同じ操作感で、仮想3次元オブジェクトを操作させることができる。
【0025】
以下、上述の実施形態について更に詳細を説明する。
[第1実施形態]
〔装置構成〕
図1は、第1実施形態における3次元ユーザインタフェース装置(以降、3D−UI装置と表記する)1のハードウェア構成例を概念的に示す図である。第1実施形態における3D−UI装置1は、大きく、センサ側構成と表示側構成とを持つ。センサ側構成は、3次元センサ(以降、3Dセンサと表記する)8及びセンサ側装置10から形成される。表示側構成は、ヘッドマウントディスプレイ(以降、HMDと表記する)9及び表示側装置20から形成される。以降、3次元を3Dと適宜省略して表記する。
【0026】
図2は、第1実施形態における3D−UI装置1の利用形態の例を示す図である。図2に示されるように、3Dセンサ8は、対象者(ユーザ)の特定部位を検出できる位置に配置される。HMD9は、対象者(ユーザ)の頭部に装着され、対象者の視線に対応する視線映像と共に、その視線映像に合成された上述の仮想3Dオブジェクトを対象者に視認させる。
【0027】
3Dセンサ8は、対象者の特定部位の検出などのために利用される3D情報を検出する。3Dセンサ8は、例えば、Kinect(登録商標)のように、可視光カメラ及び距離画像センサにより実現される。距離画像センサは、深度センサとも呼ばれ、レーザから近赤外光のパターンを対象者に照射し、そのパターンを近赤外光を検知するカメラで撮像して得られる情報から距離画像センサから対象者までの距離(深度)が算出される。なお、3Dセンサ8自体の実現手法は制限されず、3Dセンサ8は、複数の可視光カメラを用いる3次元スキャナ方式で実現されてもよい。また、図1では、3Dセンサ8が1つ要素で図示されるが、3Dセンサ8は、対象者の2次元画像を撮像する可視光カメラ及び対象者までの距離を検出するセンサといった複数の機器で実現されてもよい。
【0028】
図3は、HMD9の外観構成の例を示す図である。図3には、ビデオシースルー型と呼ばれるHMD9の構成が示されている。図3の例では、HMD9は、2つの視線カメラ9a及び9b、2つのディスプレイ9c及び9dを有する。各視線カメラ9a及び9bは、ユーザの各視線に対応する各視線画像をそれぞれ撮像する。これにより、HMD9は撮像部と呼ぶこともできる。各ディスプレイ9c及び9dは、ユーザの視野の大部分を覆う形に配置され、各視線画像に仮想3Dオブジェクトが合成された合成3D画像を表示する。
【0029】
センサ側装置10及び表示側装置20は、バスなどで相互に接続される、CPU(Central Processing Unit)2、メモリ3、通信装置4、入出力インタフェース(I/F)5などをそれぞれ有する。メモリ3は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、可搬型記憶媒体などである。
【0030】
センサ側装置10の入出力I/F5は、3Dセンサ8と接続され、表示側装置20の入出力I/F5は、HMD9と接続される。入出力I/F5と3Dセンサ8との間、及び、入出力I/F5とHMD9との間は無線により通信可能に接続されてもよい。各通信装置4は、無線又は有線にて、他の装置(センサ側装置10、表示側装置20など)と通信を行う。本実施形態は、このような通信の形態を制限しない。また、センサ側装置10及び表示側装置20の具体的ハードウェア構成についても制限されない。
【0031】
〔処理構成〕
〈センサ側装置〉
図4は、第1実施形態におけるセンサ側装置10の処理構成例を概念的に示す図である。第1実施形態におけるセンサ側装置10は、3D情報取得部11、第1オブジェクト検出部12、第1基準設定部13、位置算出部14、状態取得部15、送信部16などを有する。これら各処理部は、例えば、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F5を介してインストールされ、メモリ3に格納されてもよい。
【0032】
3D情報取得部11は、3Dセンサ8により検出された3D情報を逐次取得する。
【0033】
第1オブジェクト検出部12は、3D情報取得部11により取得された3D情報から既知の共通実オブジェクトを検出する。共通実オブジェクトとは、現実世界に配置された画像や物であり、AR(Augmented Reality)マーカ等と呼ばれる。本実施形態は、この共通実オブジェクトから、参照方向によらず、或る基準点及びこの基準点からの相互に直交する3つの方向を一定に得ることができるのであれば、この共通実オブジェクトの具体的形態を制限しない。第1オブジェクト検出部12は、その共通実オブジェクトが示す形状、サイズ、色などについての情報を予め保持しており、このような既知の情報を用いて、共通実オブジェクトを3D情報から検出する。
【0034】
第1基準設定部13は、第1オブジェクト検出部12により検出される共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間における3Dセンサ8の位置及び向きを算出する。例えば、第1基準設定部13は、共通実オブジェクトから抽出される基準点を原点とし、その基準点からの相互に直交する3方向を各軸とする3D座標空間を設定する。第1基準設定部13は、共通実オブジェクトに関する既知の形状及びサイズ(本来の形状及びサイズに相当)と、3D情報から抽出された共通実オブジェクトが示す形状及びサイズ(3Dセンサ8からの見え方に相当)との比較により、3Dセンサ8の位置及び向きを算出する。
【0035】
位置算出部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座標系への変換を意味する。
【0036】
ここで、検出すべき対象者の特定部位は複数であってもよい。例えば、複数の特定部位として対象者の両手が利用される形態があり得る。この場合、位置算出部14は、3D情報取得部11により取得される3D情報から、複数の特定部位の3D位置情報をそれぞれ抽出し、この各3D位置情報を3D座標空間上の各3D位置情報にそれぞれ変換する。また、特定部位とは、対象者が表示部に表示される仮想3Dオブジェクトを操作するために用いる体の一部であるため、或る程度の面積又は体積を有する。よって、位置算出部14により算出される3D位置情報は、当該特定部位の中の或る1点の位置情報であってもよいし、複数点の位置情報であってもよい。
【0037】
状態取得部15は、対象者の特定部位の状態情報を取得する。この特定部位は、位置算出部14で検出対象とされる特定部位と同一である。本実施形態は、検出可能な範囲で、この状態情報が示し得る状態の数を制限しない。また、複数の特定部位が利用される場合には、状態取得部15は、各特定部位に関する状態情報をそれぞれ取得する。
【0038】
状態取得部15は、例えば、当該特定部位の識別すべき各状態に対応する画像特徴情報を予めそれぞれ保持しておき、3D情報取得部11により取得される3D情報に含まれる2D画像から抽出される特徴情報と、その予め保持される各画像特徴情報との比較により、当該特定部位の状態情報を取得する。また、状態取得部15は、当該特定部位に装着されたひずみセンサ(図示せず)から得られる情報から、当該特定部位の状態情報を取得してもよい。また、状態取得部15は、対象者の手で操作される入力マウス(図示せず)からの情報から、当該状態情報を取得してもよい。更に、状態取得部15は、マイクロフォン(図示せず)により得られる音声を認識することで当該状態情報を取得してもよい。
【0039】
送信部16は、対象者の特定部位に関する、位置算出部14により算出された当該3次元座標空間上の3次元位置情報、及び、状態取得部15により取得された状態情報を表示側装置20に送る。
【0040】
〈表示側装置〉
図5は、第1実施形態における表示側装置20の処理構成例を概念的に示す図である。第1実施形態における表示側装置20は、視線画像取得部21、第2オブジェクト検出部22、第2基準設定部23、仮想データ生成部24、操作特定部25、オブジェクト処理部26、画像合成部27、表示処理部28などを有する。これら各処理部は、例えば、CPU2によりメモリ3に格納されるプログラムが実行されることにより実現される。また、当該プログラムは、例えば、CD(Compact Disc)、メモリカード等のような可搬型記録媒体やネットワーク上の他のコンピュータから入出力I/F5を介してインストールされ、メモリ3に格納されてもよい。
【0041】
視線画像取得部21は、HMD9から対象者の特定部位が写る視線画像を取得する。この特定部位も、センサ側装置10で検出対象とされる特定部位と同一である。本実施形態では、視線カメラ9a及び9bが設けられているため、視線画像取得部21は、左目及び右目の各々に対応する各視線画像をそれぞれ取得する。なお、各処理部は、左目及び右目に対応する両視線画像に対してそれぞれ同様に処理されるため、以下の説明では、1つの視線画像を対象に説明する。
【0042】
第2オブジェクト検出部22は、視線画像取得部21により取得される視線画像から既知の共通実オブジェクトを検出する。この共通実オブジェクトは、上述のセンサ側装置10で検出されたオブジェクトと同一である。第2オブジェクト検出部22の処理は、上述のセンサ側装置10の第1オブジェクト検出部12と同様であるため、ここでは詳細説明を省く。なお、視線画像に含まれる共通実オブジェクトは、3Dセンサ8で得られる3D情報に含まれる共通実オブジェクトとは、撮像方向が異なる。
【0043】
第2基準設定部23は、第2オブジェクト検出部22により検出される共通実オブジェクトに基づいて、センサ側装置10の第1基準設定部13により設定された3D座標空間を設定し、かつ、HMD9の位置及び向きをそれぞれ算出する。第2基準設定部23の処理についても、センサ側装置10の第1基準設定部13と同様であるため、ここでは詳細説明を省く。第2基準設定部23により設定される3D座標空間も、センサ側装置10の第1基準設定部13により設定される3D座標空間と同じ共通実オブジェクトに基づいて設定されるため、結果として、3D座標空間がセンサ側装置10と表示側装置20との間で共有されることになる。
【0044】
仮想データ生成部24は、第2基準設定部23によりセンサ側装置10と共有される3D座標空間に配置される仮想3Dオブジェクトデータを生成する。仮想データ生成部24は、この仮想3Dオブジェクトデータと共に、仮想3Dオブジェクトが配置される仮想3D空間のデータを生成してもよい。
【0045】
操作特定部25は、対象者の特定部位に関する当該3D座標空間上の3D位置情報及び状態情報をセンサ側装置10から受信し、この状態情報と3D位置情報の変化との組み合わせに基づいて、複数の所定処理の中からオブジェクト処理部26により実行される1つの所定処理を特定する。3D位置情報の変化は、前回の処理の際に得られた3D位置情報との関係から算出される。また、複数の特定部位(例えば、両手)が利用される場合には、操作特定部25は、センサ側装置10から取得される複数の3D位置情報から、複数の特定部位間の位置関係を算出し、算出された複数の特定部位間の位置関係の変化及び複数の状態情報に基づいて、複数の所定処理の中から1つの所定処理を特定する。複数の所定処理には、移動処理、回転処理、拡大処理、縮小処理、及び、機能メニューの表示データの付加処理等がある。
【0046】
より具体的には、操作特定部25は、次のような所定処理を特定する。例えば、対象者の特定部位が片手の場合、操作特定部25は、対象者の片手が特定状態(例えば握った状態)を維持している間におけるその片手の直線移動量に対応する距離分、移動させる処理を特定する。また、操作特定部25は、片手が特定状態を維持している間におけるその片手の移動前後において、仮想3Dオブジェクトの特定点からの距離が変わらない場合には、所定処理として、対象者の片手と仮想3Dオブジェクトの特定点とを結ぶ線分の立体角変化量で仮想3Dオブジェクトのその特定点を基準点とした回転処理を特定する。ここでの仮想3Dオブジェクトの特定点とは例えば中心点である。また、操作特定部25は、状態情報と3次元位置情報とが変化しない期間を計測し、この計測された期間が所定期間を超える場合に、仮想3Dオブジェクトが配置される仮想3D空間のデータに機能メニューの表示データを付加する処理を特定する。
【0047】
対象者の複数特定部位が両手の場合、操作特定部25は、次のような所定処理を特定する。操作特定部25は、対象者の両手が特定状態(例えば、握られた状態)を維持した状態でのその両手間の距離の変化量に対応する拡大率で対象者の片手の位置を基準点とした拡大処理を特定する。また、操作特定部25は、対象者の両手が特定状態(例えば、握られた状態)を維持した状態でのその両手間の距離の変化量に対応する縮小率で対象者の片手の位置を基準点とした縮小処理を特定する。また、操作特定部25は、対象者の両手が特定状態(例えば、握られた状態)を維持した状態でのその両手間を結ぶ線分の立体角変化量で対象者の片手の位置を基準点とした回転処理を特定する。
【0048】
更に、操作特定部25は、対象者の特定部位の3次元位置情報から、仮想3Dオブジェクトを基準とした所定3D範囲内にその特定部位が存在しているか否かを判定し、この判定結果に応じて、オブジェクト処理部26による所定処理の実行の可否を決定する。具体的には、操作特定部25は、特定部位が所定3D範囲内に存在する場合には、オブジェクト処理部26に当該所定処理を実行させ、特定部位が所定3D範囲外に存在する場合には、オブジェクト処理部26に当該所定処理を実行させない。この所定3D範囲内に特定部位が存在するか否かの判定は、対象者の特定部位が仮想3Dオブジェクトにアクセスしているか否かの判定を模擬するものである。本実施形態では、この所定3D範囲を用いて所定処理の実行の可否を決定することにより、対象者の直感的操作感を向上させる。
【0049】
操作特定部25は、当該所定処理として、上記所定3D範囲内から上記所定3D範囲外への対象者の特定部位の移動を検出し、移動前後における上記所定3D範囲内の位置と上記所定3D範囲外の位置との間の移動距離及び移動方向に応じた移動処理又は回転処理を特定するようにしてもよい。これにより、仮想3Dオブジェクトに対する操作が不可能となる直前までの操作により、対象者は、仮想3Dオブジェクトを惰性的に移動又は回転させることができる。このような惰性的操作は、設定により有効と無効とが切り替えられてもよい。
【0050】
操作特定部25は、上述のような各所定処理を識別するためのIDをそれぞれ保持しており、所定処理に対応するIDを選択することにより、所定処理の特定を実現する。操作特定部25は、オブジェクト処理部26にその選択されたIDを渡すことで、オブジェクト処理部26にその所定処理を実行させる。
【0051】
オブジェクト処理部26は、仮想データ生成部24により生成された仮想3Dオブジェクトデータに対して、操作特定部25により特定された所定処理を適用する。オブジェクト処理部26は、サポートする複数の所定処理を実行可能に実現される。
【0052】
画像合成部27は、第2基準設定部23により算出されるHMD9の位置及び向き並びに3D座標空間に基づいて、視線画像取得部21により取得される視線画像に、オブジェクト処理部26により所定処理が施された仮想3Dオブジェクトデータに対応する仮想3Dオブジェクトを合成する。なお、画像合成部27による合成処理には、拡張現実(AR)等で用いられる周知の手法が利用されればよいため、ここでは説明を省略する。
【0053】
表示処理部28は、画像合成部27により得られる合成画像をHMD9に表示させる。本実施形態では、対象者の各視線に対応する2つの視線画像が上述のようにそれぞれ処理されるため、表示処理部28は、各視線画像と合成された各合成画像をそれぞれHMD9のディスプレイ9c及び9dに表示させる。
【0054】
図6は、HMD9に表示される合成画像の例を示す図である。図6の例に示される合成画像は、仮想3D空間に含まれる平面VA上に配置された球形の仮想3DオブジェクトVOを含む。ユーザは、HMD9でこの画像を見ながら、自身の両手を動かすことにより、その画像に含まれる仮想3DオブジェクトVOを操作することができる。図6では、球形の仮想3DオブジェクトVOが例示されたが、仮想3Dオブジェクトの形状等は制限されない。
【0055】
〔動作例〕
以下、第1実施形態における3次元操作方法について図7を用いて説明する。図7は、第1実施形態における3D−UI装置1の動作例を示すシーケンスチャートである。
【0056】
センサ側装置10は、3Dセンサ8から3D情報を逐次取得する(S71)。センサ側装置10は、所定のフレームレートの当該3D情報に対して次のように動作する。
【0057】
センサ側装置10は、当該3D情報から共通実オブジェクトを検出する(S72)。
続いて、センサ側装置10は、検出された共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間における3Dセンサ8の位置及び向きを算出する(S73)。
【0058】
更に、センサ側装置10は、当該3D情報を用いて、対象者の特定部位の3D位置情報を算出する(S74)。更に、センサ側装置10は、工程(S73)で算出された3Dセンサ8の位置及び向き並びに3D座標空間に基づいて、工程(S74)で算出された3D位置情報を工程(S73)で設定された3D座標空間上の3D位置情報に変換する(S75)。
【0059】
また、センサ側装置10は、対象者の特定部位に関する状態情報を取得する(S76)。
【0060】
センサ側装置10は、対象者の特定部位に関し、工程(S75)で得られた3D位置情報、及び、工程(S76)で得られた状態情報を表示側装置20に送る(S77)。
【0061】
図7では、説明の便宜のため、3D情報の取得(S71)と状態情報の取得(S76)とがシーケンシャルに実行される例が示されるが、特定部位の状態情報が3D情報以外から得られる場合には、工程(S71)及び(S76)は並列に実行される。図7では、工程(S72)及び(S73)が3D情報の所定のフレームレートで実行される例が示されるが、工程(S72)及び(S73)はキャリブレーション時のみ実行されるようにしてもよい。
【0062】
一方で、表示側装置20は、3D情報の取得(S71)とは非同期で、HMD9から視線画像を逐次取得している(S81)。表示側装置20は、所定のフレームレートの当該視線画像に対して次のように動作する。
【0063】
表示側装置20は、当該視線画像から共通実オブジェクトを検出する(S82)。
続いて、表示側装置20は、検出された共通実オブジェクトに基づいて、3D座標空間を設定し、かつ、この3D座標空間におけるHMD9の位置及び向きを算出する(S83)。
【0064】
表示側装置20は、設定された3D座標空間に配置される仮想3Dオブジェクトデータを生成する(S84)。
【0065】
表示側装置20は、センサ側装置10から、対象者の特定部位に関する3D位置情報及び状態情報を受信すると(S85)、当該特定部位の3D位置情報の変化及び状態情報の組み合わせに応じて、対象者のジェスチャに対応する所定処理を特定する(S86)。特定部位が複数存在する場合には、表示側装置20は、複数の特定部位間の位置関係の変化と複数の状態情報との組み合わせに応じて、所定処理を特定する。
【0066】
表示側装置20は、工程(S84)で生成された仮想3Dオブジェクトデータに対して、工程(S86)で特定された所定処理を適用する(S87)。続いて、表示側装置20は、所定処理が施された仮想3Dオブジェクトデータに対応する仮想3Dオブジェクトと視線画像とを合成し(S88)、表示データを生成する。
【0067】
表示側装置20は、その合成により得られた画像をHMD9に表示させる(S89)。
【0068】
図7では、説明の便宜のため、センサ側装置10から送られる対象者の特定部位に関する情報に対する処理(工程(S85)から工程(S87))と、仮想3Dオブジェクトデータの生成処理(工程(S82)から工程(S84))とがシーケンシャルに実行される例が示される。しかしながら、工程(S85)から工程(S87)と、工程(S82)から工程(S84)とは並列に実行される。また、図7では、工程(S82)から(S84)が視線画像の所定のフレームレートで実行される例が示されるが、工程(S82)から(S84)はキャリブレーション時のみ実行されるようにしてもよい。
【0069】
〔第1実施形態の作用及び効果〕
上述したように第1実施形態では、対象者の視線画像が取得され、その視線画像に仮想3Dオブジェクトが合成された画像がビデオシースルー方式で対象者の視野内に表示される。これにより、対象者は、あたかも自身の目の前に存在するかのように、仮想3Dオブジェクトを視認することができる。更に、第1実施形態では、視線画像には仮想3Dオブジェクトを操作するための対象者の特定部位(手など)が写されるため、対象者は、仮想3Dオブジェクトを自身の特定部位で操作しているかのように感じることができる。即ち、第1実施形態によれば、対象者に、仮想3Dオブジェクトを直感的に視認させることができ、更に、仮想3Dオブジェクトの直感的操作感を与えることができる。
【0070】
第1実施形態では、対象者の視線画像を得るためのHMD9と、対象者の特定部位の位置を得るための3Dセンサ8とが別々に設けられる。これにより、第1実施形態によれば、対象者の特定部位の3D位置を正確に測定し得る位置に3Dセンサ8を配置することができる。これは、測定対象からの距離が或る程度離れていないと、測定対象の位置を正確に測定できない3Dセンサ8が存在し得るからである。
【0071】
また、第1実施形態では、共通実オブジェクトを用いて、別々に設けられたセンサ(3Dセンサ8及びHMD9)により得られる情報から、各センサ間で共通の3D座標空間が設定される。そして、この共通の3D座標空間を用いて、対象者の特定部位の位置が判定され、かつ、仮想3Dオブジェクトデータが生成及び処理される。更に、第1実施形態では、共通の3D座標空間を用いて、仮想3Dオブジェクトを基準とした所定3D範囲内に対象者の特定部位が存在するか否かが判定され、この判定結果でその仮想3Dオブジェクトに対する操作の可否が決定される。従って、第1実施形態によれば、対象者に、仮想3Dオブジェクトと自身の特定部位の位置との関係を直感的に認識させることができ、結果、対象者に、あたかも直接触っているかのような、仮想3Dオブジェクトに対する直感的操作感を与えることができる。
【0072】
また、第1実施形態では、対象者の特定部位に関する位置変化及び状態の組み合わせに応じて、仮想3Dオブジェクトデータに適用される所定処理が特定され、その所定処理が施された仮想3Dオブジェクトデータに対応する仮想3Dオブジェクトが視線画像と合成される。このように、第1実施形態では、特定部位の位置の変化だけでなく、特定部位の状態も考慮して、仮想3Dオブジェクトに対する操作を特定しているため、本実施形態によれば、ユーザに、現実世界の物に対する操作と同じ操作感で、仮想3Dオブジェクトを操作させることができる。従って、第1実施形態によれば、仮想3Dオブジェクトを直感的に分かり易く操作するユーザインタフェースを提供することができる。
【0073】
以下に実施例を挙げ、上述の実施形態を更に詳細に説明する。本発明は以下の各実施例から何ら限定を受けない。以下の各実施例では、対象者の特定部位として「片手」又は「両手」が利用される。
【実施例1】
【0074】
図8は、実施例1における仮想3Dオブジェクトの移動操作の例を示す図である。図8では、3D座標空間の各軸がX軸、Y軸及びZ軸として示されており、仮想データ生成部24により生成される仮想3Dオブジェクトデータに対応する仮想3Dオブジェクトが符号VOで示される。また、仮想3DオブジェクトVOを基準とする所定3D範囲が符号OAで示される。
【0075】
図8の例では、所定3D範囲OA内で対象者の片手が握られた状態でその片手がX軸の負の方向に移動されている。この片手の動作は、或る物を握ってその方向にその物を移動させるジェスチャであると言える。所定3D範囲OA内でそのジェスチャを認識すると、表示側装置20は、その片手の直線移動量に対応する距離分、X軸の負の方向に仮想3DオブジェクトVOを移動させる。
【0076】
対象者は、上述のように、物を片手で握って、或る方向に移動させるジェスチャを行うことで、仮想3Dオブジェクトを移動させることができる。このジェスチャとその仮想3Dオブジェクト操作とは、現実世界における物に対する操作と同じであるため、両者は当然に直感的に結び付く。
【0077】
また、対象者の片手が所定3D範囲OA内で握られた状態でその片手が一定期間動かされないことを検出すると、表示側装置20は、仮想3Dオブジェクトと共に、他の機能を呼び出すためのメニュー画面を表示させ、そのメニュー画面に対するユーザ操作を可能とする。
【0078】
表示側装置20は、所定3D範囲OA内で対象者の両手が握られた状態を検出すると、仮想3Dオブジェクトに対する拡大、縮小、回転の操作を有効とする。この状態で、表示側装置20は、いずれか一方の手が開かれた状態となることを検出すると、仮想3Dオブジェクトに対する拡大、縮小、回転の操作を無効とする。
【0079】
図9は、実施例1における仮想3Dオブジェクトの縮小操作の例を示す図である。図9では、図8と同様に、X軸、Y軸及びZ軸の3D座標空間、仮想3DオブジェクトVO、所定3D範囲OAが示されている。図9の例では、対象者の両手が所定3D範囲OA内で握られた状態のまま、片手が図面斜め左下方向に移動されている。この手を用いた動作は、物を両手で握ってその物をその両手間で縮めるジェスチャであると言える。所定3D範囲OA内でこのジェスチャを認識すると、表示側装置20は、両手間の距離の短縮度合いに対応する縮小率で仮想3DオブジェクトVOを縮小させる。このとき、表示側装置20は、仮想3DオブジェクトVOに対する拡大、縮小、回転の操作が有効とされた時点で、初めに握られたほうの手を縮小処理の基準点とする。
【0080】
図9には示されないが、対象者の両手が所定3D範囲OA内で握られた状態のまま、両手が離れる方向に一方の手が動かされたことを検出すると、表示側装置20は、両手間の距離の伸長度合いに対応する拡大率で仮想3DオブジェクトVOを拡大させる。当該動作は、物を両手で握ってその物をその両手で引き伸ばすジェスチャであると言える。
【0081】
対象者は、上述のように、物を両手で握って縮ませる又は引き伸ばすジェスチャを行うことで、仮想3Dオブジェクトを縮小又は拡大させることができる。このジェスチャとその仮想3Dオブジェクト操作とについても、現実世界における物に対する操作と近似するため、両者は直感的に結び付く。
【0082】
図10は、実施例1における仮想3Dオブジェクトの回転操作の例を示す図である。図10では、図8図9と同様に、X軸、Y軸及びZ軸の3D座標空間、仮想3DオブジェクトVO、所定3D範囲OAが示されている。図10の例では、所定3D範囲OA内において対象者の両手が握られた状態で、かつ、両手間を結ぶ線分が元から異なる角度方向に片手が移動されている。この手を用いた動作は、物を両手で握って、物の一部を留め置きながら、他の一部を或る方向に引っ張るジェスチャであると言える。このジェスチャを認識すると、表示側装置20は、各操作が有効とされた時点での両手間を結ぶ直線と片手を移動させた後の両手間を結ぶ直線との立体角変化量で仮想3DオブジェクトVOを回転させる。このとき、表示側装置20は、各操作が有効とされた時点で、初めに握られたほうの手を回転の軸に設定する。
【0083】
表示側装置20は、拡大、縮小、回転の操作を有効にすると、握られた両手間を結ぶベクトル(線分)の変化により、拡大及び縮小か、回転かを決定する。具体的には、表示側装置20は、両手を握った時点、つまり拡大、縮小、回転の操作を有効にした時点のベクトルを正規化した単位ベクトルと、その後のベクトルの単位ベクトルとを比較して、近似していれば、そのベクトルの大きさの変化に対応した拡大処理又は縮小処理を行う。一方、表示側装置20は、それぞれの単位ベクトルが近似していなければ、回転処理を行う。
【0084】
対象者は、上述のように、物を両手で握って、物の一部を留め置きながら、他の一部を或る方向に引っ張るジェスチャを行うことで、仮想3Dオブジェクトを回転させることができる。このジェスチャとその仮想3Dオブジェクト操作とについても、現実世界における物に対する操作と近似するため、両者は直感的に結び付く。
【0085】
[変形例]
上述の第1実施形態及び第2実施形態では、図3に示されるように、HMD9が、対象者(ユーザ)の両目に対応して、視線カメラ9a及び9b、並びに、ディスプレイ9c及び9dを有したが、視線カメラ及びディスプレイを1つずつ持つようにしてもよい。この場合、1つのディスプレイは、対象者の片目の視野を覆うように配置されてもよいし、対象者の両目の視野を覆うように配置されてもよい。この場合、表示側装置20の仮想データ生成部24は、仮想3D空間に含まれる表示物を3DCGで表示させることができるように、周知の3DCG技術を用いて仮想3Dオブジェクトデータを生成すればよい。
【0086】
また、上述の第1実施形態及び第2実施形態では、視線画像を得るためにビデオシースルー型のHMD9が用いられたが、光学シースルー型のHMD9が用いられてもよい。この場合には、HMD9にはハーフミラーのディスプレイ9c及び9dが設けられ、このディスプレイ9c及び9dに仮想3Dオブジェクトが表示されるようにすればよい。但し、この場合、対象者の視線方向で共通実オブジェクトを検出するための画像を得るためのカメラがHMD9の対象者の視野を遮らない箇所に設けられる。
【0087】
また、上述の第1実施形態及び第2実施形態では、図1に示されるように、センサ側装置10と表示側装置20とが別々に設けられ、対象者の視線画像に仮想3Dオブジェクトが合成されたが、センサ側装置10で得られる3D情報に含まれる2次元画像に仮想3Dオブジェクトが合成された画像が表示されるようにしてもよい。
【0088】
図11は、変形例における3D−UI装置1のハードウェア構成例を概念的に示す図である。3D−UI装置1は、処理装置50、3Dセンサ8、及び、表示装置51を有する。処理装置50は、CPU2、メモリ3、入出力I/F5等を有し、入出力I/F5は、3Dセンサ8及び表示装置51に接続される。表示装置51は、合成画像を表示する。
【0089】
図12は、変形例における3D−UI装置1の処理構成例を概念的に示す図である。変形例における3D−UI装置1は、上述の各実施形態におけるセンサ側装置10に含まれる3D情報取得部11、位置算出部14及び状態取得部15を有し、上述の各実施形態における表示側装置20に含まれる仮想データ生成部24、操作特定部25、オブジェクト処理部26、画像合成部27及び表示処理部28を有する。これら各処理部については以下の点を除き、上述の各実施形態と同様である。
【0090】
位置算出部14は、3D情報取得部11により3Dセンサ8から得られる3次元情報から直接的に、対象者の特定部位の3次元位置情報を得る。操作特定部25は、位置算出部14により算出されるカメラ座標系の3次元位置情報と状態取得部15により得られる状態情報とに基づいて、所定処理を特定する。画像合成部27は、3D情報取得部11により得られる3次元情報に含まれる2次元画像と、オブジェクト処理部26により所定処理が施された仮想3Dオブジェクトデータとを合成する。
【0091】
この変形例では、対象者は、自身の視線方向以外の方向から撮像された自身の映像を見ながら、仮想3Dオブジェクトを操作することになる。よって、この変形例では、対象者自身の視線画像を用いる上述の各実施形態に比べて、直感性は低下する可能性があるが、特定部位を用いた3Dジェスチャにより仮想3Dオブジェクトを操作できるため、操作の分かり易さは十分に実現することができる。
【0092】
なお、上述の説明で用いたフローチャートでは、複数の工程(処理)が順番に記載されているが、本実施形態で実行される工程の実行順序は、その記載の順番に制限されない。本実施形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施形態及び各変形例は、内容が相反しない範囲で組み合わせることができる。
【0093】
上記の各実施形態及び各変形例の一部又は全部は、以下の付記のようにも特定され得る。但し、各実施形態及び各変形例が以下の記載に限定されるものではない。
【0094】
(付記1)
3次元センサから3次元情報を取得する3次元情報取得部と、
前記3次元情報取得部により取得される3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出する位置算出部と、
前記3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成する仮想データ生成部と、
前記対象者の前記特定部位の状態情報を取得する状態取得部と、
前記状態取得部により取得される状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定する操作特定部と、
前記仮想3次元オブジェクトデータに対して、前記操作特定部により特定される前記所定処理を施すオブジェクト処理部と、
前記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる表示処理部と、
を備える3次元ユーザインタフェース装置。
【0095】
(付記2)
前記操作特定部は、前記位置算出部により算出される3次元位置情報から、前記仮想3次元オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、該判定結果に応じて、前記オブジェクト処理部による前記所定処理の実行の可否を決定する、
付記1に記載の3次元ユーザインタフェース装置。
【0096】
(付記3)
前記位置算出部は、前記対象者の特定部位として前記対象者の片手の3次元位置情報を算出し、
前記状態取得部は、前記対象者の特定部位として前記対象者の前記片手の状態情報を取得し、
前記操作特定部は、前記所定処理として、前記対象者の前記片手が特定状態を維持している間における該片手の直線移動量に対応する距離分、移動させる処理を特定する、
付記1又は2に記載の3次元ユーザインタフェース装置。
【0097】
(付記4)
前記操作特定部は、前記対象者の前記片手が特定状態を維持している間における該片手の移動前後において、前記仮想3次元オブジェクトの特定点からの距離が変わらない場合には、前記所定処理として、前記対象者の前記片手と前記仮想3次元オブジェクトの特定点とを結ぶ線分の立体角変化量で前記仮想3次元オブジェクトの該特定点を基準点とした回転処理を特定する、
付記3に記載の3次元ユーザインタフェース装置。
【0098】
(付記5)
前記操作特定部は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた移動処理又は回転処理を特定する、
付記2に記載の3次元ユーザインタフェース装置。
【0099】
(付記6)
前記位置算出部は、前記対象者の複数の特定部位に関する3次元座標空間上の各3次元位置情報をそれぞれ算出し、
前記状態取得部は、前記対象者の前記複数の特定部位に関する各状態情報をそれぞれ取得し、
前記操作特定部は、前記位置算出部により算出される前記複数の特定部位に関する複数の3次元位置情報から前記複数の特定部位間の位置関係を算出し、該算出された位置関係の変化及び前記状態取得部により取得される前記複数の状態情報に基づいて、複数の所定処理の中から前記所定処理を特定する、
付記1から5のいずれか1つに記載の3次元ユーザインタフェース装置。
【0100】
(付記7)
前記位置算出部は、前記複数の特定部位として前記対象者の両手の3次元位置情報を算出し、
前記状態取得部は、前記複数の特定部位として前記対象者の両手の状態情報を取得し、
前記操作特定部は、前記所定処理として、前記両手の状態が特定状態を維持した状態での前記両手間の距離の変化量に対応する拡大率又は縮小率で前記対象者の片手の位置を基準点とした拡大処理又は縮小処理、若しくは、前記両手の状態が特定状態を維持した状態での前記両手間を結ぶ線分の立体角変化量で前記対象者の片手の位置を基準点とした回転処理を特定する、
付記6に記載の3次元ユーザインタフェース装置。
【0101】
(付記8)
前記操作特定部は、前記状態取得部により取得される状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、前記仮想3次元オブジェクトが配置される仮想3次元空間のデータに機能メニューの表示データを付加する処理を特定する、
付記1から7のいずれか1つに記載の3次元ユーザインタフェース装置。
【0102】
(付記9)
前記3次元情報から既知の共通実オブジェクトを検出する第1オブジェクト検出部と、
前記第1オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を設定し、かつ、前記3次元センサの位置及び向きを算出する第1基準設定部と、
前記3次元センサとは異なる位置及び異なる向きに配置される撮像部から前記対象者の前記特定部位が写る視線画像を取得する視線画像取得部と、
前記視線画像取得部により取得される視線画像から既知の前記共通実オブジェクトを検出する第2オブジェクト検出部と、
前記第2オブジェクト検出部により検出される前記共通実オブジェクトに基づいて、前記3次元座標空間を共有し、かつ、前記撮像部の位置及び向きを算出する第2基準設定部と、
前記第2基準設定部により算出される前記撮像部の位置及び向き並びに前記3次元座標空間に基づいて、前記撮像部により撮像される前記視線画像に前記仮想3次元オブジェクトを合成する画像合成部と、
を備え、
前記位置算出部は、前記第1基準設定部により算出される前記3次元センサの位置及び向き並びに前記3次元座標空間に基づいて、前記3次元情報取得部により取得される3次元情報から取得される前記対象者の特定部位に関する3次元位置情報を変換することにより、前記3次元座標空間上の前記3次元位置情報を算出し、
前記表示処理部は、前記画像合成部により得られる画像を前記表示部に表示させる、
付記1から8のいずれか1つに記載の3次元ユーザインタフェース装置。
【0103】
(付記10)
少なくとも1つのコンピュータにより実行される3次元操作方法において、
3次元センサから3次元情報を取得し、
前記取得された3次元情報を用いて、対象者の特定部位に関する3次元座標空間上の3次元位置情報を算出し、
前記3次元座標空間に配置される仮想3次元オブジェクトを示す仮想3次元オブジェクトデータを生成し、
前記対象者の前記特定部位の状態情報を取得し、
前記取得された状態情報と前記3次元位置情報の変化との組み合わせに基づいて、複数の所定処理の中から実行されるべき所定処理を特定し、
前記仮想3次元オブジェクトデータに対して、前記特定される前記所定処理を施し、
前記所定処理が施された仮想3次元オブジェクトデータに対応する仮想3次元オブジェクトを表示部に表示させる、
ことを含む3次元操作方法。
【0104】
(付記11)
前記算出される3次元位置情報から、前記仮想3次元オブジェクトを基準とした所定3次元範囲内に前記対象者の前記特定部位が存在しているか否かを判定し、
前記判定結果に応じて、前記所定処理の実行の可否を決定する、
ことを更に含む付記10に記載の3次元操作方法。
【0105】
(付記12)
前記3次元位置情報の算出は、前記対象者の特定部位として前記対象者の片手の3次元位置情報を算出し、
前記状態情報の取得は、前記対象者の特定部位として前記対象者の前記片手の状態情報を取得し、
前記所定処理の特定は、前記所定処理として、前記対象者の前記片手が特定状態を維持している間における該片手の直線移動量に対応する距離分、移動させる処理を特定する、
付記10又は11に記載の3次元操作方法。
【0106】
(付記13)
前記所定処理の特定は、前記対象者の前記片手が特定状態を維持している間における該片手の移動前後において、前記仮想3次元オブジェクトの特定点からの距離が変わらない場合には、前記所定処理として、前記対象者の前記片手と前記仮想3次元オブジェクトの特定点とを結ぶ線分の立体角変化量で前記仮想3次元オブジェクトの該特定点を基準点とした回転処理を特定する、
付記12に記載の3次元操作方法。
【0107】
(付記14)
前記所定処理の特定は、前記所定処理として、前記所定3次元範囲内から前記所定3次元範囲外への前記対象者の前記特定部位の移動を検出し、該移動前後における前記所定3次元範囲内の位置と前記所定3次元範囲外の位置との間の距離及び方向に応じた移動処理又は回転処理を特定する、
付記11に記載の3次元操作方法。
【0108】
(付記15)
前記3次元位置情報の算出は、前記対象者の複数の特定部位に関する3次元座標空間上の各3次元位置情報をそれぞれ算出し、
前記状態情報の取得は、前記対象者の前記複数の特定部位に関する各状態情報をそれぞれ取得し、
前記所定処理の特定は、前記算出される前記複数の特定部位に関する複数の3次元位置情報から前記複数の特定部位間の位置関係を算出し、該算出された位置関係の変化及び前記取得された複数の状態情報に基づいて、複数の所定処理の中から前記所定処理を特定する、
付記10から14のいずれか1つに記載の3次元操作方法。
【0109】
(付記16)
前記3次元位置情報の算出は、前記複数の特定部位として前記対象者の両手の3次元位置情報を算出し、
前記状態情報の取得は、前記複数の特定部位として前記対象者の両手の状態情報を取得し、
前記所定処理の特定は、前記所定処理として、前記両手の状態が特定状態を維持した状態での前記両手間の距離の変化量に対応する拡大率又は縮小率で前記対象者の片手の位置を基準点とした拡大処理又は縮小処理、若しくは、前記両手の状態が特定状態を維持した状態での前記両手間を結ぶ線分の立体角変化量で前記対象者の片手の位置を基準点とした回転処理を特定する、
付記15に記載の3次元操作方法。
【0110】
(付記17)
前記所定処理の特定は、前記取得された状態情報と前記3次元位置情報とが変化しない期間を計測し、該計測された期間が所定期間を超える場合に、前記所定処理として、前記仮想3次元オブジェクトが配置される仮想3次元空間のデータに機能メニューの表示データを付加する処理を特定する、
付記10から16のいずれか1つに記載の3次元操作方法。
【0111】
(付記18)
前記3次元情報から既知の共通実オブジェクトを検出し、
前記検出された共通実オブジェクトに基づいて、前記3次元座標空間を設定し、かつ、前記3次元センサの位置及び向きを算出し、
前記3次元センサとは異なる位置及び異なる向きに配置される撮像部から前記対象者の前記特定部位が写る視線画像を取得し、
前記得された視線画像から既知の前記共通実オブジェクトを検出し、
前記検出された共通実オブジェクトに基づいて、前記3次元座標空間を共有し、かつ、前記撮像部の位置及び向きを算出し、
前記算出された前記撮像部の位置及び向き並びに前記3次元座標空間に基づいて、前記撮像部により撮像される前記視線画像に前記仮想3次元オブジェクトを合成する、
ことを更に含み、
前記3次元位置情報の算出は、前記算出された前記3次元センサの位置及び向き並びに前記3次元座標空間に基づいて、前記取得された3次元情報から取得される前記対象者の特定部位に関する3次元位置情報を変換することにより、前記3次元座標空間上の前記3次元位置情報を算出し、
前記仮想3次元オブジェクトの表示は、前記得られた画像を前記表示部に表示させる、
付記10から17のいずれか1つに記載の3次元操作方法。
【0112】
(付記19)
付記10から18のいずれか1つに記載の3次元操作方法を少なくとも1つのコンピュータに実行させるプログラム。
【0113】
(付記20)
付記19に記載のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【0114】
この出願は、2012年7月27日に出願された日本特許出願特願2012−167040を基礎とする優先権を主張し、その開示の全てをここに取り込む。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12