JP6127564B2 - タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム - Google Patents

タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム Download PDF

Info

Publication number
JP6127564B2
JP6127564B2 JP2013028443A JP2013028443A JP6127564B2 JP 6127564 B2 JP6127564 B2 JP 6127564B2 JP 2013028443 A JP2013028443 A JP 2013028443A JP 2013028443 A JP2013028443 A JP 2013028443A JP 6127564 B2 JP6127564 B2 JP 6127564B2
Authority
JP
Japan
Prior art keywords
touch
finger
touch determination
determination
touch position
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013028443A
Other languages
English (en)
Other versions
JP2014157515A (ja
Inventor
雅雄 高橋
雅雄 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Konica Minolta Inc
Original Assignee
Konica Minolta Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2013028443A priority Critical patent/JP6127564B2/ja
Publication of JP2014157515A publication Critical patent/JP2014157515A/ja
Application granted granted Critical
Publication of JP6127564B2 publication Critical patent/JP6127564B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、タッチ判定装置、タッチ判定方法、およびタッチ判定プログラムに関する。
近年、現実の環境に付加的な情報を重畳させて表示する拡張現実(AR:Augmented Reality)と呼ばれる技術が注目されている。AR技術を用いれば、現実の環境またはカメラにより撮影された画像内に、案内、広告等を表示できる。
また、AR技術を利用して現実の環境またはカメラにより撮影された画像内に仮想的な操作パネル(ボタン)を設定し、その操作パネルの操作を可能にする技術も開発されている。
たとえば、特許文献1には、仮想的な操作パネルを表示しているわけではないが、携帯電話の表示画面手前に仮想的な操作パネルがあるものと設定し、その位置(空間中)でのユーザーの指の動きを検知することにより携帯電話への入力を実現することが記載されている。
特開2009−141441号公報
しかし、特許文献1に記載の発明では、仮想的な操作パネルは、現実の環境に実際に存在しているわけではない。そのため、携帯電話は、ユーザーの特定の動作を検知して、操作パネルにタッチする動作と判断することしかできない。これでは、特許文献1の携帯電話は、ユーザーが意図せずに特定の動作をしてしまった場合でも、操作パネルへの入力と判断してしまう場合がある。反対に、ユーザーが仮想的な操作パネルへのタッチを意図している場合でも、操作パネルの入力と判断しない場合もある。
このような誤操作が生じるのは、ユーザーが仮想的な操作パネルに直接タッチできず、空間中でのタッチ動作に振動が伴ってしまい、操作パネルへのタッチを確実には判断し難いからである。
本発明は、上記事情に鑑みてなされたものであり、ユーザーによる仮想的な操作パネルへのタッチを確実に判定できるタッチ判定装置、タッチ判定方法、およびタッチ判定プログラムを提供することを目的とする。
(1)指の挙動を検出する検出部と、ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当部と、前記検出部によって検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的な操作パネルへのタッチを判定する判定部と、前記判定部により判定されたタッチ位置を記録するタッチ位置記録部と、前記タッチ位置記録部により記録された前記タッチ位置が含まれる面を形成する面形成部と、を有し、前記判定部は、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、タッチ判定装置。
(2)前記判定部は、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する上記(1)に記載のタッチ判定装置。
(3)前記判定部は、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する上記(2)に記載のタッチ判定装置。
(4)前記面形成部は、前記タッチ位置記録部により記録された前記タッチ位置が含まれる平面を形成する上記(1)〜(3)のいずれかに記載のタッチ判定装置。
(5)前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示部を、さらに有する上記(1)〜(4)のいずれかに記載のタッチ判定装置。
(6)指の挙動を検出する検出ステップと、ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当ステップと、前記検出ステップにおいて検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的な操作パネルへのタッチを判定する判定ステップと、前記判定ステップにおいて判定されたタッチ位置を記録するタッチ位置記録ステップと、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる面を形成する面形成ステップと、を含み、前記判定ステップは、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、タッチ判定方法。
(7)前記判定ステップは、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する上記(6)に記載のタッチ判定方法。
(8)前記判定ステップは、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する上記(7)に記載のタッチ判定方法。
(9)前記面形成ステップは、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる平面を形成する上記(6)〜(8)のいずれかに記載のタッチ判定方法。
(10)前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示ステップを、さらに行う上記(6)〜(9)のいずれかに記載のタッチ判定方法。
(11)指の挙動を検出する検出ステップと、ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当ステップと、前記検出ステップにおいて検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的なボタンへのタッチを判定する判定ステップと、前記判定ステップにおいて判定されたタッチ位置を記録するタッチ位置記録ステップと、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる面を形成する面形成ステップと、を含み、
前記判定ステップは、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、処理をコンピューターに実行させるタッチ判定プログラム。
(12)前記判定ステップは、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する上記(11)に記載のタッチ判定プログラム。
(13)前記判定ステップは、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する上記(12)に記載のタッチ判定プログラム。
(14)前記面形成ステップは、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる平面を形成する上記(11)〜(13)のいずれかに記載のタッチ判定プログラム。
(15)前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示ステップを、前記コンピューターにさらに実行させる上記(11)〜(14)のいずれかに記載のタッチ判定プログラム。
本発明によれば、指が物体の表面に接触したときに受ける物理的な影響を判断して、仮想的なボタンへのタッチを判定している。これにより、ユーザーによる仮想的な操作パネルへのタッチを確実に判定できるようになる。また、仮想的なボタンをタッチしたユーザーに対して感触のフィードバックを与えられるため、ユーザーにとって感覚的に操作しやすい入力デバイスとなる。
上記した以外の課題、構成、および効果は、以下の実施形態の説明により明らかにされる。
タッチ判定システムの概略構成を示す図である。 タッチ判定装置のハードウェア構成を示すブロック図である。 タッチ判定装置の機能構成を示すブロック図である。 第1実施形態に係る入力受付処理の手順を示すフローチャートである。 ヘッドマウントディスプレイ、ユーザーの指先、仮想的な操作パネルの位置関係を説明するための図である。 第1実施形態に係るタッチ判定処理の手順を示すフローチャートである。 第1実施形態に係るタッチ検出処理の手順を示すフローチャートである。 (A)指先位置データの概略データ構造を示す図である。(B)指先速度データの概略データ構造を示す図である。 第1実施形態に係るタッチ判定の方法について説明するための図である。 第2実施形態に係るタッチ検出処理の手順を示すフローチャートである。 第2実施形態に係るタッチ判定の方法について説明するための図である。 速度履歴データの概略データ構造を示す図である。 第3実施形態に係るドラッグ判定処理の手順を示すフローチャートである。 タッチ位置履歴データの概略データ構造を示す図である。 ドラッグ操作を判定するために形成するタッチ平面について説明するための図である。
以下、添付した図面を参照して、本発明の実施形態を説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。また、図面の寸法比率は、説明の都合上誇張されており、実際の比率とは異なる場合がある。
<第1実施形態>
図1は、第1実施形態に係るタッチ判定システム1の概略構成の例を示す図である。また、図2は、タッチ判定システム1に含まれるタッチ判定装置20のハードウェア構成の例を示すブロック図である。図3は、タッチ判定装置20の機能構成の例を示すブロック図である。
以下、図1〜図3を参照して、タッチ判定システム1について説明する。
図1に示すとおり、タッチ判定システム1は、ヘッドマウントディスプレイ10と、タッチ判定装置20と、を備える。
(ヘッドマウントディスプレイ10)
ヘッドマウントディスプレイ(HMD)10は、ユーザーの頭部に装着する表示装置である。たとえば、ヘッドマウントディスプレイ10は、外界の光を集めてユーザーの眼球へ届ける。これにより、ユーザーは、ヘッドマウントディスプレイ10を装着した状態で外界を見ることができる。
これとともに、ヘッドマウントディスプレイ10は、拡張現実の技術(AR技術)を有しており、外界からの光に付加的な情報を重畳させて表示できる。この技術を用いて、ヘッドマウントディスプレイ10は、外界に存在する物体(たとえば、テーブル)上に仮想的な操作パネル5を割り当てる。これにより、あたかもその物体に操作パネル5が組み込まれているように、あるいは、その物体上に操作パネル5があるかのように表示できる。
なお、仮想的な操作パネル5の例としては、複数のキーやボタンにより構成されるキーボードや、特定の入力のためだけのボタンにより構成される入力デバイスが挙げられる。
このようなヘッドマウントディスプレイ10は、図1に示すとおり、画像表示装置11と、プリズム12と、センサー13と、を有している。
画像表示装置11は、外界からの光に付加的に重畳させる画像(以下「重畳画像」ともいう)を表示する。たとえば、画像表示装置11は、仮想的な操作パネル5があたかも外界に存在する物体(たとえば、テーブル)上にあるかのように表示するために、表示位置、表示サイズ、透明度、等が調整された重畳画像を表示する。なお、画像表示装置11には、たとえば、LED(Light Emitting Diode)ディスプレイ、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、などが採用される。
プリズム12は、光を分散、屈折などさせるための、周囲の空間とは屈折率の異なるガラス、水晶などの透明な媒質でできた多面体である。たとえば、プリズム12は、複数のプリズム(第1プリズム12aおよび第2プリズム12b)によって構成される。外界から第1プリズム12aに入射した光は、第1プリズム12aにおいて分光され、一方の光はユーザーの眼球方向に向けて直進する光として出射され、他方の光はセンサー13の方向に向けて出射される。そして、眼球方向に直進する光は、第2プリズム12bを透過してユーザーの眼球へと届く。また、画像表示装置11から重畳画像の表示のために出力された光は、第2プリズム12bにおいて屈折し、外界からの光とともにユーザーの眼球へと届く。
センサー13は、ユーザーの指先の挙動を検出するために用いるセンサーである。センサー13は、たとえば、カメラなどの撮像素子、および指先までの距離を測定可能な距離画像センサーである。
カメラは、ユーザーの指先について2次元方向の動きを検出するために用いられる。図1に示すとおり、カメラは、第1プリズム12aを介して外界からの光を受光して、外界の撮像画像(動画像)を生成する。この撮像画像を画像認識等の手法により解析することによってその指先の2次元方向の動きを検出できる。
また、距離画像センサーは、ユーザーの指先について奥行き方向の動きを検出するために用いられる。距離画像センサーは、不図示の近赤外レーザーからユーザーの視界内をスキャンするように出射されたレーザー光のうち、ユーザーの指先に反射して戻ってきたレーザー光を受光する。このとき、レーザー光が指先まで往復するのにかかる時間を計測することによってその指先の奥行き方向の動きを検出できる。
このように検出された指先の2次元方向の動きと奥行き方向の動きを合成すれば、ユーザーの指先についての3次元的な動きをリアルタイムでトレースできる。
なお、センサー13は、ユーザーの指先の3次元的な挙動を検出できるものであれば、どのような形態、名称、構造のものであってもよく、超音波センサー等により構成されてもよい。本実施形態では、カメラは、ユーザーの視線方向を撮像可能なようにヘッドマウントディスプレイ10に取り付けられる。また、距離画像センサーおよび近赤外レーザーも、ヘッドマウントディスプレイ10に取り付けられる。しかし、これに限らず、カメラ、距離画像センサー、および近赤外レーザーは、ヘッドマウントディスプレイ10とは分離されて独立した位置に設置されてもよい。また、センサー13には、ヘッドマウントディスプレイ10の姿勢を検出するために必要なセンサー、たとえば、3軸加速度センサー、ジャイロセンサー等が含まれてもよい。
(タッチ判定装置20)
タッチ判定装置20は、仮想的な操作パネル5にタッチしようとするユーザーの動作を判定する装置である。たとえば、タッチ判定装置20は、仮想的な操作パネル5の画像(上述した重畳画像)を生成して、外界に存在する物体(たとえば、テーブル)の表面に割り当てる。このとき、タッチ判定装置20は、ユーザーの指の挙動を検出し、その指が物体の表面に接触したときに受ける物理的な影響を判断して、仮想的な操作パネル5へのタッチを判定する。ここで、ユーザーの指が受ける物理的な影響には、たとえば、物体の表面から抗力を受けてユーザーの指の姿勢や挙動が変わることが含まれる。たとえば、物体の表面から抗力を受けて、指先が静止した状態となること、指先が反った状態となること、指が曲がった状態となること、などが含まれる。
このようなタッチ判定装置20には、一般的なコンピューター装置、たとえば、デスクトップ型のPC(パーソナルコンピューター)が用いられてもよいし、タブレット端末、スマートフォン、携帯電話、等の携帯端末が用いられてもよい。
たとえば、タッチ判定装置20は、図2に示すとおり、CPU(Central Processing Unit)21と、メモリー22と、ストレージ23と、外部インターフェース(I/F)24と、を有し、これらは信号をやり取りするためのバス25を介して相互に接続されている。
CPU21は、プログラムにしたがって上記各部の制御や各種の演算処理を実行するマルチコアのプロセッサ等から構成される制御回路であり、タッチ判定装置20の各機能は、それに対応するプログラムをCPU21が実行することにより発揮される。
メモリー22は、作業領域として一時的にプログラムおよびデータを記憶する高速アクセス可能な主記憶装置である。メモリー22には、たとえば、DRAM(Dymamic Random Access Memory)、SDRAM(Synchronous Dymamic Random Access Memory)、SRAM(Static Random Access Memory)等が採用される。
ストレージ23は、オペレーティングシステムを含む各種プログラムや各種データを格納する大容量の補助記憶装置である。ストレージ23には、たとえば、フラッシュメモリー、ソリッドステートドライブ、ハードディスク等が採用される。
外部I/F24は、外部機器(たとえば、ヘッドマウントディスプレイ10)と通信するためのインターフェースであり、たとえば、HDMI(High−Definition Multimedia Interface)などの通信規格が用いられる。もちろん、これに限らず、コンピューターネットワークを介して通信するためのイーサネット(登録商標)、トークンリング、FDDI等の規格が用いられてもよいし、BrueTooth、赤外線通信、USB通信のための通信規格が用いられてもよい。
以上のようなハードウェア構成からなるタッチ判定装置20は、機能構成として、図3に示すとおり、外部環境取得部31と、指挙動検出部32と、オブジェクト生成部33と、重畳画像生成部34と、タッチ判定部35と、を有する。外部環境取得部31、指挙動検出部32、オブジェクト生成部33、重畳画像生成部34、タッチ判定部35は、CPU21が、ストレージ23にインストールされているOSやプログラムをメモリー22に読み出して実行することにより実現される。
外部環境取得部31は、センサー13を制御して、ユーザーの指先の挙動を検出するための情報を取得する。たとえば、外部環境取得部31は、カメラを制御することによりセンサー13にユーザーの視線方向を撮像させて、外界の撮像画像(動画像)を得る。そして、外部環境取得部31は、この撮像画像を一般的な画像認識方法により解析することによって、その指先の2次元方向の位置情報を取得する。また、外部環境取得部31は、近赤外レーザーからユーザーの視界内をスキャンするように出射されたレーザー光のうち、ユーザーの指先に反射して戻ってきたレーザー光を受光し、レーザー光が指先まで往復するのにかかった時間を計測する。そして、外部環境取得部31は、計測した時間からユーザーの指先までの距離を求めることにより、その指先の奥行き方向の位置情報を取得する。
指挙動検出部32は、外部環境取得部31により取得された情報を基に、ユーザーの指の挙動を検出する。たとえば、指挙動検出部32は、外部環境取得部31により取得された動画像を構成する各フレーム画像からユーザーの指を認識して、ユーザーの指先の位置(3次元座標)についての変化を検出する。
オブジェクト生成部33は、ヘッドマウントディスプレイ10の画像表示装置11に表示させる画像(重畳画像)の元となるオブジェクトを生成する。たとえば、複数のボタンから構成させる操作パネル5を模した画像を生成する。
重畳画像生成部34は、オブジェクト生成部33により生成されたオブジェクトを加工して、ヘッドマウントディスプレイ10の画像表示装置11に表示させる重畳画像を生成する。たとえば、重畳画像生成部34は、ヘッドマウントディスプレイ10に入射される外界の光に重畳させたときに、仮想的な操作パネル5があたかも外界に存在する物体(たとえば、テーブル)の表面にあるようにみえる重畳画像を生成する。
タッチ判定部35は、仮想的な操作パネル5にユーザーがタッチする動作を判定する。具体的には、タッチ判定部35は、指挙動検出部32によって検出されたユーザーの指が、重畳画像が重畳された物体の表面に接触したときに受ける物理的な影響を判断して、仮想的な操作パネル5へのタッチを判定する。たとえば、タッチ判定部35は、ユーザーの指が仮想的な操作パネル5の位置にあるテーブルに接触して静止した状態にあるかどうか判断することによって、タッチを判定する。
<入力受付処理>
図4は、仮想的な操作パネル5を用いてユーザーによる入力を受け付けるための処理(以下では「入力受付処理」とよぶ)の手順を示すフローチャートである。入力受付処理は、上記のタッチ判定装置20において実行される。また、図5は、ヘッドマウントディスプレイ10、ユーザーの指先、仮想的な操作パネル5の位置関係を説明するための図である。
以下、図4、図5を参照して、入力受付処理の手順について説明する。
たとえば、タッチ判定装置20は、ヘッドマウントディスプレイ10に電源が投入されると、図4に示す入力受付処理を開始する。もちろん、このときヘッドマウントディスプレイ10およびタッチ判定装置20は通信可能に接続されており、電源の投入はヘッドマウントディスプレイ10からタッチ判定装置20へ通知される。
入力受付処理が開始されると、タッチ判定装置20は、外部環境取得部31として機能して、ヘッドマウントディスプレイ10の姿勢、すなわち、センサー13(本実施形態ではカメラ)が向けられている方向を検出する(ステップS101)。たとえば、タッチ判定装置20は、センサー13に含まれる加速度センサー、ジャイロセンサー等を用いてヘッドマウントディスプレイ10の姿勢(たとえば3軸各方向の加速度)を検出する。これにより、たとえば、ヘッドマウントディスプレイ10がユーザーの頭部に装着されていないことが明らかな姿勢(たとえば、カメラが地面方向に向けられた姿勢)である場合には、以降の処理を行わずに待機することもできる。
次に、タッチ判定装置20は、外部環境取得部31および重畳画像生成部34として機能して、仮想的な操作パネル5のような重畳画像を割り当てる対象、すなわち、仮想的な操作パネル5が置いてあるかのように見せる物体を決定する(ステップS102)。たとえば、図5に示すように、タッチ判定装置20は、センサー13に含まれるカメラによって外界を撮影し、撮影して得られた撮像画像内の中心位置にある物体(たとえば、テーブル)を、重畳画像の割り当て対象50として決定する。このとき、タッチ判定装置20は、近赤外レーザーからレーザー光を、ユーザーの視界内をスキャンするように出射させて(たとえば、出射方向を変更したり、放射状に出射したりすればよい)、距離画像センサーにおいてその反射レーザー光を受光させる。これにより、タッチ判定装置20は、ヘッドマウントディスプレイ10から外界の様々な地点までの距離を特定可能な奥行き情報(レーザー光が往復するのにかかる時間)を取得しておく。
続いて、タッチ判定装置20は、重畳画像生成部34として機能し、重畳画像を割り当てる位置(3次元座標)を決定する(ステップS103)。このとき、タッチ判定装置20は、図5に示すように、ステップS102において得られた撮像画像の横方向に対応する方向をx軸とし、同撮像画像の縦方向に対応する方向をy軸とする。また、タッチ判定装置20は、センサー13が向けられている方向(ユーザーの視線方向)をz軸とする。そして、タッチ判定装置20は、ステップS102で決定された重畳画像の割り当て対象50上の特定の領域(図5に示すA〜D点で囲まれた領域)を、重畳画像の割り当て位置として選択する。そして、タッチ判定装置20は、選択した領域の3次元座標(x、y、z)を求める。たとえば、ステップS102において得られた撮像画像を用いて、各A〜D点のx座標およびy座標を求める。また、ステップS102において得られた各A〜D点の奥行き情報から、各A〜D点のz座標を求める。なお、仮想的な操作パネル5がキーボードのように複数のボタン(以下、「仮想ボタン」とよぶ)により構成されている場合には、各仮想ボタンの位置(3次元座標)についても同様の手法により求める。
そして、タッチ判定装置20は、引き続き重畳画像生成部34として機能し、オブジェクト生成部33によって前もって生成しておいたオブジェクトを加工して、仮想的な操作パネル5のような重畳画像を生成する(ステップS104)。たとえば、タッチ判定装置20は、ヘッドマウントディスプレイ10に入射される外界の光に重畳させたときに、仮想的な操作パネル5が、ステップS102において決定された物体(たとえば、テーブル)の表面上に置いてあるかのようにみえる重畳画像を生成する。そのためには、たとえば、重畳画像を配置する位置やその周辺の状況(日光の向き、周辺の明るさ、等)を考慮して、表示サイズ、歪曲度、色合い、影、透明度、等を調整すればよい。
次に、タッチ判定装置20は、引き続き重畳画像生成部34として機能して、ステップS104において生成した重畳画像を、画像表示装置11に表示させる(ステップS105)。たとえば、タッチ判定装置20は、ステップS104において生成した重畳画像を、外部I/F24を介してヘッドマウントディスプレイ10へ送信する。これにより、ヘッドマウントディスプレイ10の画像表示装置11には重畳画像が表示される。そして、ユーザーは、外界から入射された光に付加的に重畳された重畳画像(仮想的な操作パネル5)を、第2プリズム12bを介して見ることができる。
このような仮想的な操作パネル5が表示された状態において、タッチ判定装置20は、仮想的な操作パネル5を用いたユーザーによる入力を受け付ける。
そのために、タッチ判定装置20は、タッチ判定部35として機能し、仮想的な操作パネル5に対してタッチする動作がなされたか判定する処理(以下では「タッチ判定処理」とよぶ)を行う(ステップS106)。タッチ判定処理の具体的な処理内容については後述するが、タッチ判定装置20は、タッチ判定処理によって、ユーザーの指でタッチされた操作パネル5上の仮想ボタンを特定できる。
そして、タッチ判定装置20は、入力受付処理を終了させる指示がユーザーによりなされたか判別する(ステップS107)。たとえば、タッチ判定装置20は、入力受付処理を終了させるための仮想ボタンがタッチされた場合に、入力受付処理を終了させる指示がなされたと判定し(ステップS107:Yes)、入力受付処理を終了する。
一方、入力受付処理を終了させる指示がなされない場合には(ステップS107:No)、タッチ判定装置20は、入力受付処理を終了させるための仮想ボタンがタッチされるまで、ステップS101〜S106の処理を繰り返す。この間、タッチ判定装置20は、ヘッドマウントディスプレイ10の姿勢を繰り返し検出するため、ヘッドマウントディスプレイ10の姿勢の変化に応じて重畳画像の表示位置を更新できる。これとともに、タッチ判定装置20は、ユーザーのタッチ動作に応じて、ユーザーの指によってタッチされた仮想ボタンの表示形態(サイズ、色、等)を更新できる。たとえば、タッチ動作がなされた仮想ボタンが沈んでいるように、画像表示装置11に表示させることもできる。このような表示によって、ユーザーはどの仮想ボタンをタッチしたのかすぐに把握できるようになるため、操作性も向上する。
<タッチ判定処理(S106)>
次に、上記の入力受付処理のサブルーチンとして行われるタッチ判定処理(S106)について説明する。
図6は、タッチ判定処理の手順を示すフローチャートである。タッチ判定処理は、入力受付処理と同様にタッチ判定装置20において実行される。
なお、タッチ判定処理の実行中において、仮想的な操作パネル5は、画像表示装置11に常に表示されているものとする。
タッチ判定処理を開始すると、タッチ判定装置20は、タッチ判定部35として機能し、手を検出する(ステップS201)。具体的には、タッチ判定装置20は、ステップS102において取得された外界の撮像画像から肌色領域を検出して手領域とみなす。もちろん、この手法に限らず、たとえば、タッチ判定装置20は、予め人間の身体の部位(たとえば、腕、手、指)別のモデルデータを学習しておき、そのモデルデータと撮像画像を比較することによって、より精度良く手を検出するようにしてもよい。
次に、タッチ判定装置20は、ステップS201において検出された手の位置を特定する(ステップS202)。具体的には、タッチ判定装置20は、手の位置を表す空間座標の範囲を算出する。そのために、たとえば、タッチ判定装置20は、ステップS201において検出された手領域が占める2次元座標(x、y)の範囲を撮像画像から求める。これとともに、タッチ判定装置20は、ステップS102において得られた奥行き情報から、手領域(手全体)のz座標の範囲を求める。
続いて、タッチ判定装置20は、タッチ判定部35として機能し、ステップS201において検出された手について、その姿勢を判別する(ステップS203)。具体的には、タッチ判定装置20は、予め手のモデルデータを学習しておき、そのモデルデータと撮像画像内にある手領域の形状を比較することによって、手の姿勢を判別する。これにより、タッチ判定装置20は、ユーザーの手と第三者の手を区別できる。
次に、タッチ判定装置20は、タッチ判定部35として機能し、ステップS201において検出された手にラベリングする(ステップS204)。たとえば、ステップS201において複数の手が検出された場合には、各手に1、2、・・・、等の番号を割り振る。
その後、タッチ判定装置20は、ステップS204においてラベリングされた手のうち、1つの手を選択して、その手に含まれる指を検出する(ステップS205)。具体的には、タッチ判定装置20は、ステップS202において求められた手領域の範囲から、指のように先が細くなっている領域を抽出して指領域とみなす。
そして、タッチ判定装置20は、タッチ判定部35として機能し、ステップS205において検出された指にラベリングする(ステップS206)。たとえば、タッチ判定装置20は、ステップS205において検出された各指に対して、a、b、・・・、等の文字を割り振る。
次に、タッチ判定装置20は、タッチ判定部35として機能し、ステップS205において検出された指ごとに、仮想的な操作パネル5へのタッチを検出する処理(以下では「タッチ検出処理」とよぶ)を行う(ステップS207)。タッチ判定装置20は、タッチ検出処理によって、ステップS205において検出された各指について、仮想的な操作パネル5に対してタッチする動作がなされたか特定できる。タッチ検出処理の具体的な処理内容については後述する。
タッチ検出処理が終了すると、タッチ判定装置20は、タッチ判定部35として機能し、ステップS205において選択された手に含まれる全ての指について、ステップS207のタッチ検出処理によるタッチ検出が終了したか判別する(ステップS208)。
そして、タッチ判定装置20は、全ての指についてタッチ検出処理が終了していない場合には(ステップS208:No)、ステップS207に処理を戻して、タッチ検出処理が行われていない指を選択し直す。
一方、タッチ判定装置20は、全ての指についてタッチ検出処理が終了している場合には(ステップS208:Yes)、次に、ステップS201において検出された全ての手について、タッチ検出処理が終了したか判別する(ステップS209)。
そして、タッチ判定装置20は、全ての手についてタッチ検出処理が終了していない場合には(ステップS209:No)、ステップS205に処理を戻して、タッチ検出処理が行われていない手を選択し直す。
一方、タッチ判定装置20は、全ての手についてタッチ検出処理が終了している場合には(ステップS209:Yes)、タッチ判定処理を終了してメインルーチンである入力受付処理に処理を戻す。
<タッチ検出処理(S207)>
次に、上記のタッチ判定処理のサブルーチンとして行われるタッチ検出処理(S207)について説明する。
図7は、タッチ検出処理の手順を示すフローチャートである。タッチ検出処理は、入力受付処理およびタッチ判定処理と同様にタッチ判定装置20において実行される。また、図8(A)は、ユーザーの指先の位置(3次元座標)を記録した指先位置データ150の概略データ構造を示す図である。図8(B)は、ユーザーの指先の移動速度を単位期間(たとえば1ms)ごとに記録した指先速度データ160の概略データ構造を示す図である。また、図9は、タッチ判定の方法について説明するための図である。
以下、図7〜図9を参照して、タッチ検出処理の手順について説明する。
なお、タッチ検出処理の実行中においては、仮想的な操作パネル5は、画像表示装置11に常に表示されているものとする。
タッチ検出処理を開始すると、タッチ判定装置20は、タッチ判定部35として機能し、ステップS205において検出された指(指先)と、仮想的な割り当て対象50(たとえば、テーブル)の間の距離を算出する(ステップS301)。そのために、タッチ判定装置20は、まず、指先の位置についての3次元座標を算出する。たとえば、タッチ判定装置20は、撮像画像を用いて、ステップS205において検出された指領域の先端位置Pのx座標およびy座標を特定する。また、タッチ判定装置20は、ステップS102において得られた奥行き情報から、指先の位置Pのz座標を求める。そして、タッチ判定装置20は、ここで求めた3次元の指先の位置Pと、図5に示す割り当て対象50と、の距離(z’方向の距離)を算出する。この距離は、点と平面の距離を求める一般的な方程式を用いて算出できる。
このとき、タッチ判定装置20は、求めた距離をデータとして記録する。たとえば、タッチ判定装置20は、図8(A)に示すような指先位置データ150として記録する。
指先位置データ150には、現時点の時刻151と、ステップS301において求められた距離152と、が対応付けて記録される。
次に、タッチ判定装置20は、タッチ判定部35として機能し、ステップS205において検出された指(指先)が仮想的な操作パネル5に近づく速度を求める(ステップS302)。すなわち、タッチ判定装置20は、指先の3次元空間における移動速度について、図5に示す割り当て対象50(たとえば、テーブルの表面)と垂直な方向z’の成分を求める。たとえば、タッチ判定装置20は、指先位置データ150に記録された直近の2つの距離152の差分(z’成分)を求め、これを単位期間(たとえば、1ms)で除せばよい。
このとき、タッチ判定装置20は、求めた速度(z’/ms)を記録する。たとえば、タッチ判定装置20は、図8(B)に示すような指先速度データ160として記録する。
指先速度データ160には、期間161と、ステップS302において求められた指先の移動速度162と、が対応付けて記録される。
次に、タッチ判定装置20は、タッチ判定部35として機能し、タッチ検出処理を開始してから、タッチ動作を判断するために必要な一定期間(たとえば、50ms)が、経過したか否か判別する(ステップS303)。
タッチ判定装置20は、一定期間が経過していなければ(ステップS303:No)、外部環境取得部31として機能して、外界の撮影画像および奥行き情報を取得し直す。タッチ判定装置20は、これにより得られた撮像画像および奥行き情報を用いて、再度ステップS301、S302の処理を行う。タッチ判定装置20は、一定期間が経過するまでこれを繰り返し、指先位置データ150および指先速度データ160には、単位期間ごとにデータが追加される。
そして、タッチ判定装置20は、一定期間が経過すると(ステップS303:Yes)、処理をステップS304に進める。この時点において指先位置データ150に記録されているデータをプロットすれば、図9に示すようなグラフが得られる。
ステップS304では、タッチ判定装置20は、タッチ判定部35として機能し、ユーザーの指先が仮想的な操作パネル5の割り当て対象50(たとえば、テーブル)に接触して物理的な影響を受けたかどうか判断する。具体的には、タッチ判定装置20は、指先位置データ150および指先速度データ160を用いて、所定期間以上、指先が静止しているか否か判別する(ステップS304)。たとえば、図9の紙面左側に示すグラフのように、指先の速度(絶対値)が所定の閾値未満となる状態が続かない場合には、指先は静止していないと判定する。
指先が静止していないと判定された場合には(ステップS304:No)、タッチ判定装置20は、ステップS205において検出された指について、仮想的な操作パネル5へのタッチ動作はされていないとみなし、タッチ検出処理を終了する。
一方、ステップS304において、図9の紙面右側に示すグラフのように、指先の速度(絶対値)が所定の閾値未満となる状態が所定期間以上続く場合には、タッチ判定装置20は、指先が静止していると判定する。
指先が静止していると判定された場合には(ステップS304:Yes)、タッチ判定装置20は、ステップS205において検出された指について、仮想的な操作パネル5へのタッチ動作がされたとみなす(ステップS305)。この場合には、タッチ判定装置20は、仮想的な操作パネル5内のどの仮想ボタンに対してタッチ動作がされたのか特定する。たとえば、タッチ判定装置20は、指先の位置Pに最も近い仮想ボタンに対してタッチ動作がされたものとみなす。なお、指先の位置Pと各仮想ボタンの距離は、ステップS301において求められた指先の位置(3次元座標)と、ステップS103において求められた各仮想ボタンの位置(3次元座標)と、の距離によって求められる。
その後、タッチ判定装置20は、タッチ検出処理を終了してタッチ判定処理に処理を戻す。
以上の入力受付処理、タッチ判定処理、およびタッチ検出処理が実行されることにより、タッチ判定装置20は、ユーザーの指が物体の表面に接触したときに受ける物理的な影響を判断して、仮想的な操作パネル5へのタッチを判定できる。このような判断基準は明確かつシンプルであるため、タッチ判定装置20は、ユーザーによる仮想的な操作パネルへのタッチを確実に判定できるようになる。また、ユーザーが仮想的な操作パネル5にタッチする動作をしたときは、必ず物体の表面から抗力を受けるため、ユーザーは感覚的に操作パネル5にタッチできたことを認識でき、入力操作がしやすい。
<第2実施形態>
次に、本発明の第2実施形態について説明する。第2実施形態にかかるタッチ判定システム1は、第1実施形態にかかるタッチ判定システム1と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。
第2実施形態のタッチ判定装置20は、第1実施形態とは異なる方法によって、仮想的な操作パネル5へのタッチ動作を判定する。具体的には、第2実施形態のタッチ判定装置20は、ユーザーの指が物体の表面に接触して静止し、かつ、その指の移動速度が静止前において所定値以上となることを判断して、仮想的な操作パネル5へのタッチを判定する。
図10は、第2実施形態に係るタッチ検出処理の手順を示すフローチャートである。また、図11は、ユーザーの指先の移動速度を一定期間(たとえば50ms)ごとに記録した速度履歴データ170の概略データ構造を示す図である。また、図12は、第2実施形態に係るタッチ判定の方法について説明するための図である。
以下、図10〜図12を参照して、第2実施形態に係るタッチ検出処理の手順について説明する。
なお、第2実施形態の入力受付処理、タッチ判定処理は、第1実施形態と同様に行われるため、その説明を省略する。そして、第2実施形態に係るタッチ検出処理は、第1実施形態と同様に、タッチ判定処理のサブルーチン(S207)として行われる。
図10に示すとおり、タッチ検出処理を開始すると、タッチ判定装置20は、第1実施形態のステップS301〜S303と同様の処理を行って、指先位置データ150および指先速度データ160を生成する(ステップS401〜S403)。
その後、タッチ判定装置20は、タッチ判定部35として機能し、上記の単位期間(たとえば、1ms)よりも長いスパン(たとえば、50ms)での指先の移動速度について履歴を記録する(ステップS404)。具体的には、タッチ判定装置20は、図8(B)に示す指先速度データ160に含まれるデータから一定期間ごとの平均速度を求めて、一定期間ごとの指先の平均移動速度をデータとして記録する。たとえば、タッチ判定装置20は、図11に示すような速度履歴データ170として記録する。
速度履歴データ170には、一定期間171と、その一定期間171における指先の平均移動速度172と、が対応付けて記録される。
次に、タッチ判定装置20は、タッチ判定部35として機能し、ユーザーの指先が仮想的な操作パネル5の割り当て対象50(たとえば、テーブル)に接触して物理的な影響を受けたかどうか判断する。
そのために、タッチ判定装置20は、まず、上記実施形態のステップS304と同様に、指先位置データ150および指先速度データ160を用いて、所定期間以上、指先が静止しているか否か判別する(ステップS405)。
次に、指先が静止していると判定された場合には(ステップS405:Yes)、タッチ判定装置20は、速度履歴データ170を用いて、指先の静止直前の速度が一定速度以上であるか否か判別する(ステップS406)。
そして、タッチ判定装置20は、図12の紙面右側に示すグラフのように、指先の移動速度が静止直前において一定速度以上である場合には(ステップS406:Yes)、ユーザーの指先が割り当て対象50に接触して物理的な影響を受けたと判定する。
一方、ステップS405において指先が静止していないと判定された場合(ステップS405:No)、または、図12の紙面左側に示すグラフのように、ステップS406において指先の移動速度が静止直前において一定速度未満であると判定された場合には(ステップS406:No)、タッチ判定装置20は、ユーザーの指先が割り当て対象50から物理的な影響を受けていないと判定する。
以上のステップS405、S406により、指先が割り当て対象50から物理的な影響を受けていないと判定されたときは、タッチ判定装置20は、ステップS205において検出された指について、仮想的な操作パネル5へのタッチ動作がされたとみなす(ステップS407)。
一方、以上のステップS405、S406により、指先が割り当て対象50から物理的な影響を受けていないと判定されたときは、タッチ判定装置20は、ステップS205において検出された指について、仮想的な操作パネル5へのタッチ動作はされていないとみなし、タッチ検出処理を終了する。
その後、タッチ判定装置20は、タッチ検出処理を終了してタッチ判定処理に処理を戻す。
以上のタッチ検出処理が実行されることにより、タッチ判定装置20は、ユーザーの指先が静止していると判定された場合であっても、静止直前の指先の速度が小さい場合にはタッチ動作とみなさないようにしている。これにより、手を休めるために割り当て対象50(たとえば、テーブル)上に手を置く動作等を、タッチ動作と判定しないようにできる。
<第3実施形態>
次に、本発明の第3実施形態について説明する。第3実施形態にかかるタッチ判定システム1は、第1実施形態および第2実施形態にかかるタッチ判定システム1と基本的に同様の構成を備えるため、相違する点を中心に以下説明する。
第3実施形態のタッチ判定装置20は、第2実施形態と同様の方法によって、仮想的な操作パネル5へのタッチ動作を判定するが、そのタッチ動作がドラッグ操作のために行われたのか区別して判定する点で異なる。
図13は、第3実施形態に係るドラッグ判定処理の手順を示すフローチャートである。また、図14は、仮想的な操作パネル5へのタッチ位置の履歴を記録したタッチ位置履歴データ180の概略データ構造を示す図である。また、図15は、ドラッグ操作を判定するために形成するタッチ平面について説明するための図である。
以下、図13〜図15を参照して、第3実施形態に係るドラッグ判定処理の手順について説明する。
なお、第3実施形態の入力受付処理、タッチ判定処理、タッチ検出処理は、第1実施形態または第2実施形態と同様に行われるため、その説明を省略する。そして、第3実施形態に係るドラッグ判定処理は、第1実施形態または第2実施形態において仮想的な操作パネル5にタッチする動作がなされたと判定されたとき(ステップ305、S407)に開始される。
図13に示すとおり、ドラッグ判定処理を開始すると、タッチ判定装置20は、タッチ判定部35として機能し、仮想的な操作パネル5にタッチする動作がなされたと判定された指先によるタッチ位置を記録する(ステップS501)。具体的には、タッチ判定装置20は、指先が静止しているときにステップS301において求められた指先の位置(3次元座標)をデータとして記録する。たとえば、タッチ判定装置20は、図14に示すようなタッチ位置履歴データ180として記録する。
タッチ位置履歴データ180には、タッチ位置の識別番号181と、タッチ位置の3次元座標182と、が対応付けて記録される。
なお、ステップS501の処理により、タッチ位置履歴データ180には、タッチ動作がなされる毎に、データが追加されることになる。
次に、タッチ判定装置20は、タッチ判定部35として機能し、図15に示すように、タッチ位置履歴データ180に記憶されているタッチ位置を含む平面を、仮想的な操作パネル5が存在する平面(以下「タッチ平面」とよぶ)として形成、補正する(ステップS502)。具体的には、タッチ判定装置20は、y=a(x−x)+b(y−y)+c(z−z)という平面を表す一般式と、過去の各タッチ位置との距離の総和が最小となるように、パラメータ(a、b、c)を決定すればよい。なお、(a、b、c)はタッチ平面の法線ベクトルを表し、(x、y、z)は、タッチ平面に含まれる1つのタッチ位置の座標を表す。
その後、タッチ判定装置20は、タッチ判定部35として機能し、ドラッグ判定処理が開始されてから所定時間が経過するか否か判別する(ステップS503)。タッチ判定装置20は、所定時間が経過していなければ(ステップS503:No)、所定時間が経過するまで待機する。ここで、所定時間待機するのは、今後繰り返し行われるドラッグ判定の間隔を調整するためである。
そして、所定時間が経過すると(ステップS503:Yes)、タッチ判定装置20は、外部環境取得部31およびタッチ判定部35として機能し、指先の位置についての3次元座標を算出する(ステップS504)。たとえば、タッチ判定装置20は、まず、外部環境取得部31として機能して、外界の撮影画像および奥行き情報を取得し直す。次に、タッチ判定装置20は、タッチ判定部35として機能し、これにより得られた撮像画像および奥行き情報を用いて、指先の位置P(3次元座標)を求める。
そして、タッチ判定装置20は、ここで求めた指先の位置Pと、ステップS50において求めたタッチ平面と、の距離を算出する(ステップS50)。この距離は、点と平面の距離を求める一般的な方程式を用いて算出できる。
ステップS504、S505の処理により、タッチ判定装置20は、ユーザーの指(指先)と、タッチ平面の間の距離を算出できる。
このとき、タッチ判定装置20は、タッチ判定部35として機能し、ユーザーの指とタッチ平面との距離が一定距離離れているか否か判別する(ステップS506)。一定距離離れていなければ(ステップS506:No)、タッチ判定装置20は、仮想的な操作パネル5に対して1点をタッチする操作ではなく、仮想的な操作パネル5上を指でなぞるようなドラッグ操作がなされているとみなし、処理をステップS501に戻す。一方、ユーザーの指とタッチ平面との距離が一定距離れていれば、仮想的な操作パネル5から指が離されたとみなし(ステップS507)、ドラッグ判定処理を終了する。
以上のドラッグ判定処理が実行されることにより、タッチ判定装置20は、ユーザーからの仮想的な操作パネル5へのタッチ動作が、1点をタッチする操作なのか、ドラッグ操作なのか、区別できる。また、タッチ位置の座標を多く記録するほど、精度良くタッチ平面を求めることができるので、本実施形態のタッチ判定装置20を使用すればするほど高速にドラッグ判定できるようになる。
なお、上記した各実施形態における各フローチャートの処理単位は、タッチ判定装置20の理解を容易にするために、主な処理内容に応じて分割したものである。処理ステップの分類の仕方やその名称によって、本願発明が制限されることはない。タッチ判定装置20で行われる処理は、さらに多くの処理ステップに分割することもできる。また、1つの処理ステップが、さらに多くの処理を実行してもよい。
<変形例>
また、上記の各実施形態は、本発明の要旨を例示することを意図し、本発明を限定するものではない。多くの代替物、修正、変形例は当業者にとって明らかである。
たとえば、上記各実施形態では、外界の光をユーザーの目に届けるヘッドマウントディスプレイ10を用いる例について説明しているが、拡張現実の技術が利用できるのであれば、これに限定されない。たとえば、外界を撮影した撮影画像を背景画像として表示しておき、背景画像に操作パネル5のような重畳画像を重畳させて表示する表示装置を用いてもよい。
また、上記各実施形態では、ヘッドマウントディスプレイ10とタッチ判定装置20を別々の装置として説明しているが、これに限らず、一体型の装置としてもよい。
また、上記各実施形態では、カメラにより撮影された画像の中心位置にある物体を、重畳画像の割り当て対象50として選択しているが、これに限らない。たとえば、平坦な領域をもつ物体、周辺よりも色が濃い又は薄い物体、特別な形状(たとえば、直方体、球状)の物体などを、重畳画像の割り当て対象50として選択してもよい。
また、上記各実施形態では、特に述べていないが、仮想的な操作パネル5の画像を重畳画像の割り当て対象50(物体の表面)上に投影して表示してもよい。この場合には、仮想的な操作パネル5の画像を投影するためのプロジェクターをヘッドマウントディスプレイ10等に設ければよい。
また、上記各実施形態では、ユーザーの指が受ける物理的な影響を判断する方法として、主に、指先が静止した状態であるかどうかを調べる方法について説明している。しかし、本発明は、これに限らず、タッチ判定装置20が、撮像画像を画像解析することにより指先が反った状態であるかどうかをみて、その指が受けている物理的な影響を判断してもよい。また、撮像画像を画像解析して関節の位置を特定し、指が曲がった状態であるかどうかをみて、その指が受けている物理的な影響を判断してもよい。これらの場合には、奥行き情報を利用せずに、撮像画像のみを利用して判断できるため、高速に判断できるというメリットもある。
また、上記各実施形態では、特に言及していないが、タッチ判定装置20は、撮影画像および奥行き情報を取得し直す度に、ヘッドマウントディスプレイ10の姿勢を検出し、その姿勢に応じて、各所で求められる3次元座標を座標変換する。これにより、座標系を統一化できる。
以上のタッチ判定システム1の構成は、上記の各実施形態の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なタッチ判定システム1が備える構成を排除するものではない。
また、上記したタッチ判定システム1の各機能構成は、各機能構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。各機能構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
また、タッチ判定装置20を動作させるプログラムは、USBメモリー、フロッピー(登録商標)ディスク、CD−ROM等のコンピューター読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピューター読み取り可能な記録媒体に記録されたプログラムは、通常、メモリー22やストレージ23等に転送され記憶される。また、このプログラムは、たとえば、単独のアプリケーションソフトとして提供されてもよいし、タッチ判定装置20の一機能としてその装置のソフトウェアに組み込んでもよい。
また、図3に示した各構成要素の処理は、専用のハードウェア回路によっても実現することもできる。この場合には、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
1 タッチ判定システム、
5 操作パネル、
10 ヘッドマウントディスプレイ、
11 画像表示装置、
12a、b プリズム、
13 センサー、
20 タッチ判定装置、
21 CPU、
22 メモリー
23 ストレージ、
24 外部I/F、
31 外部環境取得部、
32 指挙動検出部、
33 オブジェクト生成部、
34 重畳画像生成部、
35 タッチ判定部、
50 割り当て対象、
150 指先位置データ、
160 指先速度データ、
170 速度履歴データ、
180 タッチ位置履歴データ。

Claims (15)

  1. 指の挙動を検出する検出部と、
    ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当部と、
    前記検出部によって検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的な操作パネルへのタッチを判定する判定部と、
    前記判定部により判定されたタッチ位置を記録するタッチ位置記録部と、
    前記タッチ位置記録部により記録された前記タッチ位置が含まれる面を形成する面形成部と、を有し、
    前記判定部は、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、タッチ判定装置。
  2. 前記判定部は、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する請求項1に記載のタッチ判定装置。
  3. 前記判定部は、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する請求項2に記載のタッチ判定装置。
  4. 前記面形成部は、前記タッチ位置記録部により記録された前記タッチ位置が含まれる平面を形成する請求項1〜3のいずれか1項に記載のタッチ判定装置。
  5. 前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示部を、さらに有する請求項1〜4のいずれか1項に記載のタッチ判定装置。
  6. 指の挙動を検出する検出ステップと、
    ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当ステップと、
    前記検出ステップにおいて検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的な操作パネルへのタッチを判定する判定ステップと、
    前記判定ステップにおいて判定されたタッチ位置を記録するタッチ位置記録ステップと、
    前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる面を形成する面形成ステップと、を含み、
    前記判定ステップは、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、タッチ判定方法。
  7. 前記判定ステップは、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する請求項6に記載のタッチ判定方法。
  8. 前記判定ステップは、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する請求項7に記載のタッチ判定方法。
  9. 前記面形成ステップは、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる平面を形成する請求項6〜8のいずれか1項に記載のタッチ判定方法。
  10. 前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示ステップを、さらに行う請求項6〜9のいずれか1項に記載のタッチ判定方法。
  11. 指の挙動を検出する検出ステップと、
    ボタンを含む仮想的な操作パネルを、物体の表面に割り当てる割当ステップと、
    前記検出ステップにおいて検出された前記指の挙動に基づき、前記指が前記物体の表面に接触したときに受ける物理的な影響を判断して、前記仮想的なボタンへのタッチを判定する判定ステップと、
    前記判定ステップにおいて判定されたタッチ位置を記録するタッチ位置記録ステップと、
    前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる面を形成する面形成ステップと、を含み、
    前記判定ステップは、タッチした指と形成した前記面との距離が一定距離離れていない場合に、ドラッグ操作が行われていると判定する、
    処理をコンピューターに実行させるタッチ判定プログラム。
  12. 前記判定ステップは、前記指が前記物体の表面に接触して静止したことを判断して、前記仮想的なボタンへのタッチを判定する請求項11に記載のタッチ判定プログラム。
  13. 前記判定ステップは、前記指が前記物体の表面に接触して静止し、かつ、前記指の移動速度が静止前において所定値以上となることを判断して、前記仮想的なボタンへのタッチを判定する請求項12に記載のタッチ判定プログラム。
  14. 前記面形成ステップは、前記タッチ位置記録ステップにおいて記録された前記タッチ位置が含まれる平面を形成する請求項11〜13のいずれか1項に記載のタッチ判定プログラム。
  15. 前記仮想的なボタンの画像を前記物体の表面上に投影して表示する表示ステップを、前記コンピューターにさらに実行させる請求項11〜14のいずれか1項に記載のタッチ判定プログラム。
JP2013028443A 2013-02-15 2013-02-15 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム Active JP6127564B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013028443A JP6127564B2 (ja) 2013-02-15 2013-02-15 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013028443A JP6127564B2 (ja) 2013-02-15 2013-02-15 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム

Publications (2)

Publication Number Publication Date
JP2014157515A JP2014157515A (ja) 2014-08-28
JP6127564B2 true JP6127564B2 (ja) 2017-05-17

Family

ID=51578344

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013028443A Active JP6127564B2 (ja) 2013-02-15 2013-02-15 タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム

Country Status (1)

Country Link
JP (1) JP6127564B2 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016184362A (ja) * 2015-03-26 2016-10-20 富士通株式会社 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム
JP2016206749A (ja) * 2015-04-16 2016-12-08 シャープ株式会社 タッチ入力装置、前記タッチ入力装置を備えた画像形成装置およびタッチ入力方法
WO2016200197A1 (ko) * 2015-06-10 2016-12-15 (주)브이터치 사용자 기준 공간좌표계 상에서의 제스처 검출 방법 및 장치
EP3659017B1 (en) * 2017-07-26 2023-04-05 Magic Leap, Inc. Training a neural network with representations of user interface devices
US20190361592A1 (en) * 2018-05-23 2019-11-28 Alcon Inc. System and method of utilizing surgical tooling equipment with graphical user interfaces
JP6733789B2 (ja) * 2019-07-31 2020-08-05 富士通株式会社 入力装置、入力操作検出方法及び入力操作検出用コンピュータプログラム
JP2023074967A (ja) * 2021-11-18 2023-05-30 京セラ株式会社 電子機器、電子機器の制御方法、及びプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69204045T2 (de) * 1992-02-07 1996-04-18 Ibm Verfahren und Vorrichtung zum optischen Eingang von Befehlen oder Daten.
JP3544739B2 (ja) * 1994-04-13 2004-07-21 株式会社東芝 情報入力装置
JP3804212B2 (ja) * 1997-09-18 2006-08-02 ソニー株式会社 情報入力装置
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
EP1316055A4 (en) * 2000-05-29 2006-10-04 Vkb Inc DEVICE FOR ENTERING VIRTUAL DATA AND METHOD FOR ENTERING ALPHANUMERIC AND OTHER DATA
JP2004298977A (ja) * 2003-03-28 2004-10-28 Sony Corp 行動制御装置、行動制御方法及び行動制御プログラム、並びに移動型ロボット装置
US7599561B2 (en) * 2006-02-28 2009-10-06 Microsoft Corporation Compact interactive tabletop with projection-vision
JP2009104429A (ja) * 2007-10-24 2009-05-14 Nikon Corp ヘッドマウントディスプレイ装置及び携帯装置
JP5201096B2 (ja) * 2009-07-17 2013-06-05 大日本印刷株式会社 対話操作装置
JP5926184B2 (ja) * 2009-09-22 2016-05-25 ペブルステック リミテッド コンピュータ装置の遠隔制御

Also Published As

Publication number Publication date
JP2014157515A (ja) 2014-08-28

Similar Documents

Publication Publication Date Title
JP6127564B2 (ja) タッチ判定装置、タッチ判定方法、およびタッチ判定プログラム
US20210181857A1 (en) Systems and Methods of Creating a Realistic Displacement of a Virtual Object in Virtual Reality/Augmented Reality Environments
US20210081036A1 (en) Interaction Engine for Creating a Realistic Experience in Virtual Reality/Augmented Reality Environments
US20200320793A1 (en) Systems and methods of rerendering image hands to create a realistic grab experience in virtual reality/augmented reality environments
KR102283747B1 (ko) 시선 추적을 갖는 타겟 위치결정
KR102222974B1 (ko) 홀로그램 스냅 그리드
US9600078B2 (en) Method and system enabling natural user interface gestures with an electronic system
US8933912B2 (en) Touch sensitive user interface with three dimensional input sensor
JP5991041B2 (ja) 仮想タッチスクリーンシステム及び双方向モード自動切換方法
KR20160071404A (ko) 사용자 인터페이스 프로그래밍적 스케일링
TW201528055A (zh) 基於影像來識別觸控表面的目標接觸區域之技術
KR20120068253A (ko) 사용자 인터페이스의 반응 제공 방법 및 장치
US10607069B2 (en) Determining a pointing vector for gestures performed before a depth camera
JP2016091457A (ja) 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム
JP2016162162A (ja) 接触検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、プロジェクタシステム及び接触検出方法
WO2015102974A1 (en) Hangle-based hover input method
JP2017219942A (ja) 接触検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、プロジェクタシステム、接触検出方法、プログラム及び記憶媒体。
US20180188891A1 (en) Information processing device, operation detection method, and storage medium
US11054941B2 (en) Information processing system, information processing method, and program for correcting operation direction and operation amount
JP2016139396A (ja) ユーザーインターフェイス装置、方法およびプログラム
KR102665643B1 (ko) 아바타 표시를 제어하기 위한 방법 및 그 전자 장치
JP2018181169A (ja) 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体
US20240118751A1 (en) Information processing device and information processing method
US20220334674A1 (en) Information processing apparatus, information processing method, and program
WO2021075103A1 (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170327

R150 Certificate of patent or registration of utility model

Ref document number: 6127564

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150