(57)【特許請求の範囲】
【請求項１】
超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出する方法であって、
前記ユーザデバイスのx軸、y軸、およびz軸に沿った前記超音波ペンの複数の位置を取得するステップと、
前記複数の取得された位置に基づいてジェスチャーを認識するステップと、
前記認識されたジェスチャーに基づいてコマンドを実行するステップと、
前記超音波ペンの縦軸の周りの前記超音波ペンの微小ねじりジェスチャーを取得するステップと、
前記取得された微小ねじりジェスチャーに基づいて前記微小ねじりジェスチャーに関連付けられたコマンドを実行するステップと
を含み、
微小ねじりジェスチャーは、一方向への1度から10度の回転運動に続く反対方向への回転運動を含む、方法。
【請求項２】
前記位置を取得するステップが、
超音波信号を受け取るステップと、
前記超音波信号が進行した距離を計算するステップと、
前記計算された距離に基づいて前記取得された位置を特定するステップと
を含む、請求項1に記載の方法。
【請求項３】
前記ジェスチャーが、第1のコマンドに関連付けられ、前記x軸、前記y軸、および前記z軸のうちの1つまたは複数に沿った第1の方向の第1の移動と、前記x軸、前記y軸、および前記z軸のうちの1つまたは複数に沿った第2の方向の第2の移動とを含み、前記第2の方向は前記第1の方向と異なる、請求項1に記載の方法。
【請求項４】
前記位置が、前記ユーザデバイスの頂面または底面から取得される、請求項1に記載の方法。
【請求項５】
前記位置が、前記ユーザデバイスの左面または右面から取得される、請求項1に記載の方法。
【請求項６】
前記超音波ペンの縦軸の周りの前記超音波ペンの回転ジェスチャーまたはねじりジェスチャーを取得するステップと、
前記取得された回転ジェスチャーまたはねじりジェスチャーに基づいて前記回転ジェスチャーまたはねじりジェスチャーに関連付けられたコマンドを実行するステップと
をさらに含む、請求項1に記載の方法。
【請求項７】
超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出するための装置であって、
前記ユーザデバイスのx軸、y軸、およびz軸に沿った前記超音波ペンの複数の位置を取得するための手段と、
前記複数の取得された位置に基づいてジェスチャーを認識するための手段と、
前記認識されたジェスチャーに基づいてコマンドを実行するための手段と、
前記超音波ペンの縦軸の周りの前記超音波ペンの微小ねじりジェスチャーを取得するための手段と、
前記取得された微小ねじりジェスチャーに基づいて前記微小ねじりジェスチャーに関連付けられたコマンドを実行するための手段と、
を含み、
微小ねじりジェスチャーは、一方向への1度から10度の回転運動に続く反対方向への回転運動を含む、装置。
【請求項８】
前記位置を取得するための手段が、
超音波信号を受け取るための手段と、
前記超音波信号が進行した距離を計算するための手段と、
前記計算された距離に基づいて前記取得された位置を特定するための手段と
を含む、請求項7に記載の装置。
【請求項９】
前記ジェスチャーが、第1のコマンドに関連付けられ、前記x軸、前記y軸、および前記z軸のうちの1つまたは複数に沿った第1の方向の第1の移動と、前記x軸、前記y軸、および前記z軸のうちの1つまたは複数に沿った第2の方向の第2の移動とを含み、前記第2の方向は前記第1の方向と異なる、請求項7に記載の装置。
【請求項１０】
前記位置が、前記ユーザデバイスの頂面または底面から取得される、請求項7に記載の装置。
【請求項１１】
前記位置が、前記ユーザデバイスの左面または右面から取得される、請求項7に記載の装置。
【請求項１２】
前記超音波ペンの縦軸の周りの前記超音波ペンの回転ジェスチャーまたはねじりジェスチャーを取得するための手段と、
前記取得された回転ジェスチャーまたはねじりジェスチャーに基づいて前記回転ジェスチャーまたはねじりジェスチャーに関連付けられたコマンドを実行するための手段と
をさらに含む、請求項7に記載の装置。
【請求項１３】
機械によってアクセスされるとき、請求項１から６のいずれか一項に記載の方法を前記機械に実行させる情報を含むコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本特許出願は、本出願の譲受人に譲渡され、その全体が参照により本明細書に明確に組み込まれる、本出願と同じ発明者によって2014年2月21日に出願された、「IN-AIR ULTRASOUND PEN GESTURES」と題する仮出願第61/943,261号に対する優先権を主張する。
【０００２】
本明細書で説明する技術は、ペンベースのシステムを対象とし、詳細には、超音波ペンジェスチャー検出を対象とする。
【背景技術】
【０００３】
多くのコンピュータシステム、特にグラフィカルユーザインターフェース(GUI)を使用したコンピュータシステムは、1つまたは複数の個別の入力デバイスからのユーザ入力を受け入れるために最適化される。テキストを入力するために、キーボードが使用され得る。ユーザインターフェースを操作するために、マウスなどのポインティングデバイスも使用され得る。キーボードおよびマウスのインターフェースは、文書、スプレッドシート、データベースフィールド、図面、写真などの高速の作成および修正を提供する。
【０００４】
しかしながら、最近、タブレットパーソナルコンピュータ(PC)、携帯情報端末(PDA)などのペンベースのコンピューティングシステムの人気が増大してきている。ペンベースのコンピューティングシステムでは、(たとえば、紙上に従来のペンまたは鉛筆で書くのと同様に)電子「ペン」またはスタイラスを使用して、ユーザ入力が取り込まれ得る。しかしながら、ペンベースのシステムには、依然として改善の余地がある。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書で説明する技術の実装形態は、ユーザデバイスのx軸に沿った超音波ペンの位置を取得するステップと、ユーザデバイスのy軸に沿った超音波ペンの位置を取得するステップと、ユーザデバイスのz軸に沿った超音波ペンの位置を取得するステップと、取得された位置に基づいてコマンドを実行するステップとを含む、超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出する方法を対象とする。
【０００６】
別の実装形態は、ユーザデバイスのx軸に沿った、ユーザデバイスのy軸に沿った、およびユーザデバイスのz軸に沿った超音波ペンの位置を取得するように構成されたマイクロフォンアレイと、取得された位置に基づいてコマンドを実行するように構成されたコマンド実行モジュールとを含む、超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出するための装置を対象とする。
【０００７】
別の実装形態は、ユーザデバイスのx軸に沿った、ユーザデバイスのy軸に沿った、およびユーザデバイスのz軸に沿った超音波ペンの位置を取得するための手段と、取得された位置に基づいてコマンドを実行するための手段とを含む、超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出するための装置を対象とする。
【０００８】
別の実装形態は、機械によってアクセスされるとき、ユーザデバイスのx軸に沿った超音波ペンの位置を取得することと、ユーザデバイスのy軸に沿った超音波ペンの位置を取得することと、ユーザデバイスのz軸に沿った超音波ペンの位置を取得することと、取得された位置に基づいてコマンドを実行することとを含む、超音波ペンおよびユーザデバイスを使用してジェスチャーコマンドを検出するための動作を機械に実行させる、情報を含むコンピュータ可読記憶媒体を対象とする。
【０００９】
上記は、本明細書で説明する1つまたは複数の実装形態に関する簡略化された概要である。そのため、本概要は、すべての考えられる態様および/または実装形態に関する包括的な概説と見なされるべきではなく、すべての考えられる態様および/もしくは実装形態に関する重要もしくは決定的な要素を識別するか、または任意の特定の態様および/もしくは実装形態に関連付けられた範囲を定めると見なされるべきでもない。したがって、本概要は、以下に提示される発明を実施するための形態に先立って、本明細書で開示する機構に関する1つまたは複数の態様および/または実装形態に関する特定の概念を簡略化された形で提示することが唯一の目的である。
【図面の簡単な説明】
【００１０】
【図１】本明細書で説明する技術の例示的な実装形態による空中ペンジェスチャーシステムを示す図である。
【図２】本明細書で説明する技術の例示的な実装形態による、ペン先端の位置を検出するための、ユーザデバイス上の2次元(2D)および/またはx-y位置方位を示す空中ペンジェスチャーシステムの側面図である。
【図３】本明細書で説明する技術の例示的な実装形態による、ユーザデバイス上の2次元(2D)および/またはx-y位置方位を示す、図1に示す空中ペンジェスチャーシステムの上面図である。
【図４Ａ】本明細書で説明する技術の例示的な実装形態による、ユーザデバイス上の2次元(2D)および/またはx-y位置方位を示す、図1に示す空中ペンジェスチャーシステムの側面図である。
【図４Ｂ】本明細書で説明する技術の代替実装形態による、ユーザデバイス上の2次元(2D)および/またはx-y位置方位を示す、図1に示す空中ペンジェスチャーシステムの側面図である。
【図４Ｃ】本明細書で説明する技術の別の実装形態による、ユーザデバイス上の2次元(2D)および/またはx-y位置方位を示す、図1に示す空中ペンジェスチャーシステムの側面図である。
【図５】本明細書で説明する技術の例示的な実装形態による、ユーザデバイス上の2次元(2D)および/またはx-y位置方位のいくつかの例を示す図である。
【図６】本明細書で説明する技術の実装形態による、ユーザデバイス上の3次元(3D)および/またはx-y-z位置方位のいくつかの例のグラフ表現を示す図である。
【図７】本明細書で説明する技術の一実装形態による、回転/ねじりの空中ジェスチャーおよびペン方位ジェスチャーを経るペンを示す図である。
【図８】本明細書の技術の1つまたは複数の実装形態による、ペンの微小ねじりジェスチャーを示す図である。
【図９】本明細書で説明する技術による、空中ペンジェスチャーシステムの動作を示す方法のフローチャートである。
【発明を実施するための形態】
【００１１】
「発明を実施するための形態」では、添付の図を参照する。図では、参照番号の最も左の数字は、その参照番号が最初に現れる図を識別する。同様の特徴および構成要素を参照するために図面を通して同じ番号が使用される。
【００１２】
一般に、本明細書で説明する技術の例示的な実装形態は、超音波ペンシステムを使用して空中ジェスチャーコマンドを検出することを対象とする。空中ジェスチャーは、本明細書では、接触はしないが、ユーザデバイスのディスプレイスクリーンの近傍にあるペンのユーザによって行われる移動として定義される。ユーザデバイスにより、ペンおよび/またはスタイラスの入力が、ユーザデバイスの機能を制御することが可能になる。入力は、(1)2次元(2D)空中ジェスチャー、(2)3次元(3D)空中ジェスチャー、(3)回転空中ジェスチャー、(4)ねじり空中ジェスチャー、(5)微小ねじり空中ジェスチャーなどであり得る。空中ジェスチャーは、ボリューム制御、スクリーンスクロール、ズーミングなどの機能を制御するためにユーザデバイスによって検出および解釈される。
【００１３】
図1は、本明細書で説明する技術の例示的な実装形態による空中ペンジェスチャーシステム100を示す。図示したシステム100は、ユーザデバイス102を含む。ユーザデバイス102は、スクリーン104および位置追跡モジュール106を含む。位置追跡モジュール106は、マイクロフォン/磁気コイルアレイモジュール108、三角測量モジュール110、およびコマンド実行モジュール112を含む。ユーザデバイス102は、右面114、左面116、頂面118、および底面120も含む。
【００１４】
図示したシステム100は、ペン122を含む。ペン122は、先端124および縦軸126を含む。ペン122は、縦軸126に沿って配置された放出器モジュール128を含む。放出器モジュール128は、いくつかの磁気放出器130およびいくつかの超音波放出器132を含む。放出器モジュール128は、ペン122の縦軸126に沿って配置される。
【００１５】
1つまたは複数の実装形態では、ユーザデバイス102は、電話、タブレットコンピュータ、スマートフォン、ファブレット、ラップトップコンピュータまたはデスクトップコンピュータ、車両エンターテインメントシステムなどの任意のユーザデバイスおよび/または機器であり得る。ユーザデバイス102は、音波、磁気波などの形態でエネルギーを受け取ることができ得る。
【００１６】
1つまたは複数の実装形態では、スクリーン104は、ユーザがユーザデバイス102と対話することを可能にする任意の適切なディスプレイスクリーンであり得る。たとえば、スクリーン104は、ナビゲーション機構、キーボード、アイコン、または他の適切なディスプレイスクリーンアイテムを有し得る。スクリーン104はまた、接触感知、圧力感知、電気的感知、音響的感知、光感知などであり得る。
【００１７】
1つまたは複数の実装形態では、位置追跡モジュール106は、ペン122からスクリーン104に伝送されたエネルギーによって進行した距離を計算することができる、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。
【００１８】
1つまたは複数の実装形態では、マイクロフォン/磁気コイルアレイモジュール108は、ペン122からユーザデバイス102に伝送された電磁エネルギーおよび/または音波を受け取り、受け取ったエネルギーを位置追跡モジュール106が使用可能な信号に変換することができる、任意の適切なトランスデューサ、磁気コイル、および/またはセンサーを含み得る。
【００１９】
1つまたは複数の実装形態では、三角測量モジュール110は、ペン122がスクリーン104に対してどこに位置するか(たとえば、スクリーン104に対するペン122のx-y-z座標)を決定するために、三角測量アルゴリズムをユーザデバイス102において受け取ったエネルギーに適用することができる、任意の適切なハードウェア、ソフトウェア、ファームウェア、またはそれらの組合せを含む。
【００２０】
1つまたは複数の実装形態では、コマンド実行モジュール112は、ペン122の移動を追いかけ、ユーザデバイス102によって追跡および/または検出されるジェスチャーの所定のセットにシステム100を向けることができる任意の適切なソフトウェア開発キット(SDK)を使用して実装され得る。コマンド実行モジュール112については以下でより詳細に説明する。
【００２１】
1つまたは複数の実装形態では、ペン122は、本明細書で開示する技術によるユーザデバイス102と対話することができる任意の適切なペン、スタイラスなどであり得る。磁気放出器130および超音波放出器132を有するものとして示されているが、加速度計などの他の機構が使用され得る。
【００２２】
1つまたは複数の実装形態では、先端124は、ゴム、マイクロファイバ、金属などの任意の適切な材料であり得る。先端124は、図示したように、縦軸126に沿ったペン122の一方の端部に配置される。
【００２３】
図示した放出器モジュール128は、いくつかの磁気放出器130およびいくつかの超音波放出器132を有するものとして示される。しかしながら、他の実装形態では、放出器モジュール128は、他の適切なエネルギー放出器(たとえば、電磁エネルギー放出器)を含み得る。
【００２４】
1つまたは複数の実装形態では、磁気放出器130は、既知の磁場の方向および強度を生成する任意の適切なデバイスであり得る。一例では、磁気放出器130は、オープン変圧器であり得る。一実装形態では、磁気放出器130内の個々の磁気放出器は、ペン122の縦軸126に沿って互いに整列している。
【００２５】
1つまたは複数の実装形態では、超音波放出器132は、電気信号を受け取り、その電気信号をエネルギー(たとえば、超音波)に変換し、そのエネルギーをペン122からユーザデバイス102に伝送することができる任意の適切なトランスデューサを含み得る。超音波放出器132内の個々の超音波放出器は、ペン122の縦軸126に沿って互いに整列している。
【００２６】
1つまたは複数の実装形態では、システム100は、ユーザデバイス102のx軸、y軸、および/またはz軸に沿ったペン122の位置を決定することができる。一実装形態では、システム100は、次のように、ユーザデバイス102のx軸、y軸、および/またはz軸に沿ったペン122の位置を決定し得る。
【００２７】
ユーザがスクリーン104のx軸、スクリーン104のy軸、および/またはスクリーン104のz軸に沿ってペン122を動かすとき、超音波放出器132は、超音波信号を生成する。マイクロフォン/磁気コイルアレイ108内のマイクロフォンは、超音波信号を受け取り、これらの超音波信号を三角測量モジュール110に結合する。三角測量モジュール110は、ペン122がスクリーン104のx軸、y軸、および/またはz軸に対してどこに位置するかを決定するために、受け取った超音波信号に任意の既知の三角測量アルゴリズムを適用する。
【００２８】
位置追跡モジュール106は、先端124からマイクロフォン/磁気コイルアレイ108内のマイクロフォンまでの超音波信号の飛行時間に基づいて、先端124からスクリーン104までの超音波信号が進行した距離を計算する。超音波信号が進行した距離は、任意の既知の到達時間(ToA:time-of-arrival)アルゴリズムまたは差分到達時間(ToA)アルゴリズムを使用して計算され得る。
【００２９】
スクリーン104のx軸、y軸、および/またはz軸に対するペン122の位置と超音波が進行した距離とを有する、ユーザデバイス102は、それによって、ユーザデバイス102のx軸、y軸、および/またはz軸に沿ったペン122の位置を特定することができる。
【００３０】
1つまたは複数の実装形態では、システム100は、ペン122の縦軸126の周りの回転ジェスチャーおよび/またはねじりジェスチャーを検出することもできる。一実装形態では、システム100は、次のように、縦軸126の周りのペン122の回転ジェスチャーおよび/またはねじりジェスチャーを検出する。
【００３１】
ユーザが、ペン122の縦軸126の周りに意図的に特定の度数、すなわち、1/4回、90度、180度、360度などでペン122を回転させるか、またはねじるとき、ペン122内の磁気放出器130は、既知の磁場の方向および強度を生成する。磁気放出器130によって生成された2つ以上の磁場は、ユーザデバイス102上のマイクロフォン/磁気コイルアレイ108内の磁気コイルによって生成および追跡された磁場と相互作用する。ユーザが回転する(たとえば、ペン122を回転させるか、またはねじる)とき、ユーザデバイス102において受け取られる磁場の形状/位相は変形する。マイクロフォン/磁気コイルアレイ108内の磁気コイルは、様々な磁場の変形を検出する。磁場の変形の検出により、システム100が、縦軸126の周りのペン122の本体の方位を決定することが可能になる。
【００３２】
代替的に、縦軸126の周りのペン122の回転および/もしくはねじり、ならびに/またはペン122の本体の方位を検出するために、加速度計が使用され得る。加速度計は、ペン122本体内に配置され得る。ペン122は、超音波信号、またはBluetooth(登録商標)、Bluetooth(登録商標) Low Energy(BTLE)などの任意の他の適切な通信手段を使用して加速度計からユーザデバイス102に信号を伝送することができる。
【００３３】
1つまたは複数の実装形態では、システム100は、縦軸126の周りのペン122の微小ねじりジェスチャーを検出することもできる。微小ねじりジェスチャーは、反対方向の高速回転運動が続く、一方向の短い回転運動を含む。
【００３４】
変数は、たとえば、微小ねじりの速度、方向を変える速さ、微小ねじりの持続時間、空中のペン122の位置、微小ねじりの間のスクリーン104に対するペン122の傾斜角、ならびにペン122の短い回転距離にわたる高速の親指および指の運動の存在を含み得る。
【００３５】
短い回転距離は、約1度〜10度であり得る。別の短い回転距離は、約11度〜約1/4回転であり得る。当然、縦軸126の周りのペン122の回転ジェスチャーおよびねじりジェスチャーに関する回転角度間および/または回転距離間の差分は、設計のトレードオフに基づいて決定され得る。
【００３６】
一実装形態では、システム100は、次のように、縦軸126の周りのペン122の微小ねじりジェスチャーを検出する。ユーザがペン122を微小ねじりするとき、ペン122内の磁気放出器130は、微小ねじりに比例する既知の磁場の方向および強度を生成する。磁気放出器130によって生成された2つ以上の磁場は、ユーザデバイス102上のマイクロフォン/磁気コイルアレイ108内の磁気コイルによって生成および追跡された磁場と相互作用する。ユーザが縦軸126の周りにペン122を微小ねじりするとき、ユーザデバイス102において受け取られる磁場の形状/位相は変形する。マイクロフォン/磁気コイルアレイ108内の磁気コイルは、様々な磁場の変形を検出する。磁場の変形の検出により、システム100が、縦軸126の周りのペン122の本体の微小ねじりを決定することが可能になる。
【００３７】
本明細書で開示する技術の実装形態がスクリーン104に向けて行われるペン122のジェスチャーを検出することができるシステム100に関して説明されてきたが、システム100は、ユーザデバイス102の周辺部で行われるジェスチャーを検出することができる。たとえば、ペン122は、ユーザデバイス102の右面114、左面116、頂面118、または底面120上に位置することができ、ユーザデバイス102は、ペンがユーザデバイス102の右面114、左面116、頂面118、または底面120の近傍に位置するとき、ペン122からの超音波および/または磁気信号を依然として検出することができる。
【００３８】
一実装形態では、システム100は、次のように、ユーザデバイス102の右面114の近傍のペン122のジェスチャーを決定し得る。ユーザがユーザデバイス102の右面114の近傍でペン122を動かすとき、超音波放出器132は、超音波信号を生成する。マイクロフォン/磁気コイルアレイ108内のマイクロフォンは、超音波信号を受け取り、これらの超音波信号を三角測量モジュール110に結合するが、三角測量モジュール110は、ペン122がユーザデバイス102の右面114に対してどこに位置するかを決定するために受け取った超音波信号に三角測量アルゴリズムを適用する。
【００３９】
位置追跡モジュール106は、先端124からマイクロフォン/磁気コイルアレイ108内のマイクロフォンまでの超音波信号の飛行時間に基づいて、先端124からスクリーン104までの超音波信号が進行した距離を計算する。超音波信号が進行した距離は、任意の既知の到達時間(ToA)アルゴリズムまたは差分到達時間(ToA)アルゴリズムを使用して計算され得る。
【００４０】
ユーザデバイス102の右面114に対するペン122の位置と超音波が進行した距離とを有する、ユーザデバイス102は、それによって、ユーザデバイス102の右面114に対するペン122の位置を特定することができる。
【００４１】
システム100は、ユーザデバイス102の左面116、ユーザデバイス102の頂面118、およびユーザデバイス102の底面の近傍のペン122のジェスチャーを、ユーザデバイス102の右面114の近傍のペン122のジェスチャーを決定するのと同様の方法で決定し得る。
【００４２】
システム100は、ペン122の傾斜角を検出することもできる。たとえば、システム100は、スクリーン104に対するペン122の角度を決定するための傾斜検出機構を含む。本明細書で説明する超音波ペン技術がスクリーン104に対するz軸位置とスクリーン104に対する傾斜とを追跡するので、「レーザーポインタ」タイプの相互作用、または「マウス」タイプの相互作用が可能になり得る。しかしながら、様々な相互作用方法は、ユーザがいかにx-yジェスチャーを入力するかについてわずかに異なる影響を及ぼし得る。たとえば、マウスタイプの相互作用では、ユーザは、ペン122の傾斜角に関係しない場合があり、先端124の絶対x-y位置をジェスチャー経路とマッチングするだけである場合がある。レーザーポインタタイプの相互作用では、ユーザは、基本的にスクリーン104上に現れるカーソルを用いてジェスチャー経路を「描く」ことができ得る。
【００４３】
マウス移動と同様にスクリーン104のx-y座標のみに沿った先端124の位置を追跡するのではなく、システム100の傾斜感知を可能にすることによって、ペン122は、スクリーン104のx-y-z座標に沿って指すことができる。傾斜感知は、手および/またはペン122本体の最小の移動によってスクリーン104を操作するための機構をユーザに与えるので、有益であり得る。
【００４４】
一例として、ペン122がz軸に沿ってスクリーン104から離れるほど、ペン122が依然として所定の範囲内にある限り、等しい量のスクリーン上カーソル移動に対して、必要とされるペン122の移動量は少なくなり得る。たとえば、ペン122がスクリーン104の表面から1フィート(30.48センチメートル)離れていて、y方向に1センチメートル上に動く場合、これは、スクリーン104上のy軸に沿った10センチメートルのカーソル移動に変換し得る。これを、ペン122がスクリーン104から10フィート(304.8センチメートル)離れていて、y方向に1センチメートル上に動く場合と対比されたい。これは、スクリーン104上のy軸に沿った100センチメートルのカーソル移動に変換し得る。
【００４５】
1つまたは複数の実装形態では、ユーザデバイス102(たとえば、位置追跡モジュール106)が、ユーザデバイス102のx軸、y軸、およびz軸に沿った超音波ペン122の位置を取得し、ユーザデバイス102の周辺部に沿った位置を取得し、ならびに/または、回転ジェスチャー、ねじりジェスチャー、および/もしくは微小ねじりジェスチャーを検出すると、ユーザデバイス102は、これらの取得された位置に基づいてコマンドを実行し得る。1つまたは複数の実装形態では、ジェスチャーコマンドは、コマンド実行モジュール112を使用して実装され得る。たとえば、コマンド実行モジュール112のソフトウェア開発キット(SDK)を使用して、特定のジェスチャーが検出されたことを示すイベントが生成され得る。次いで、ユーザデバイス102の関連のアプリケーションおよび/またはオペレーティングシステムは、そのイベントを特定のユーザインターフェースコマンドに変換し得る。
【００４６】
一例として、ユーザが、複雑な線を描いており、ユーザが作成したばかりの線そのものをユーザが消すことが少々難しくなったと仮定されたい。通常、ユーザデバイスは、そのスクリーンのグラフィカルユーザインターフェース(GUI)上にUNDOボタンを含む。ユーザは、不要な線を消すためにUNDOボタンを手動で選択する。本明細書で説明する技術を使用して、ユーザは、システム100のUNDOコマンドを可能にするために、UNDOボタンにタッチする必要がある代わりに、ペン122を高速でねじる(または、ペン122を微小ねじりする)ことができる。ユーザは、不要な線を消すためにペン122をユーザデバイス102と直接的な物理的接触をさせる必要がない。
【００４７】
代替例では、ユーザがその責任の下にシステム100を用いてインターネットを閲覧していると仮定されたい。通常、ユーザデバイスは、そのスクリーンのグラフィカルユーザインターフェース(GUI)上にBACKボタンを含む。ユーザは、現在のページから前のページに戻るためにBACKボタンを手動で選択する。本明細書で説明する技術を使用して、ユーザは、システム100のBACKコマンドを可能にするために、BACKボタンにタッチする必要がある代わりに、ペン122を高速でねじることができる。ユーザは、スクリーン104を前のページに戻すためにペン122をユーザデバイス102と直接的な物理的接触をさせる必要がない。
【００４８】
別の例では、ユーザがスクリーン上のページをめくりたいと仮定されたい。通常、ユーザは、ページをめくるためにスクリーンの表面に沿って指先またはペン先端のいずれかをスワイプする。本明細書で説明する技術を使用して、ユーザは、システム100のPAGE TURNコマンドを可能にするために、スクリーン104にタッチする必要がある代わりに、ペン122を高速でねじることができる。ユーザは、ページをめくるためにペン122をユーザデバイス102と直接的な物理的接触をさせる必要がない。
【００４９】
図2は、ユーザデバイス102のスクリーン104上の2つのマイクロフォン/磁気コイル108Aおよび108Bを示すシステム100の側面図である。ペン122は、放出器202および放出器204を有する。ペン122は、その先端124をマイクロフォン/磁気コイル108Aと接触するロケーションに配置させる。
【００５０】
線206は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間を表す。線208は、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間を表す。放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間が、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間よりも小さいことに留意されたい。
【００５１】
システム100は、線206に沿って放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間と、線208に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間との間の差を使用してユーザデバイス102に対する先端124のロケーション、位置、および傾斜角を決定することができる。位置追跡モジュール106は、ユーザデバイス102に対する先端124のロケーション、位置、および傾斜角を決定し、上記で説明したように、線208に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離/時間を計算し得る。
【００５２】
マイクロフォン/磁気コイル108Aおよび108Bが先端124の近傍だけでなく、ペン122本体のほぼどこにでも位置し得ることに留意されたい。さらに、それ自体は図示されていないが、ペン122は、その先端124をマイクロフォン/磁気コイル108Aと接触しないロケーションに配置することができ、位置追跡モジュール106は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間と、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間との間の差を使用してユーザデバイス102に対する先端124のロケーション、位置、および傾斜角を決定することができる。
【００５３】
図3は、ユーザデバイス102のスクリーン104上の4つのマイクロフォン/磁気コイル108A、108B、108C、および108Dを示すシステム100の上面図である。ペン122は、放出器202および放出器204を含む。ペン122は、スクリーン104の中心近傍のロケーションにおいてユーザデバイス102のスクリーン104よりも上に位置する。
【００５４】
線302は、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間を表す。線304は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間を表す。
【００５５】
線306は、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間を表す。線308は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間を表す。
【００５６】
線310は、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Cに到達するのにかかる距離および/または時間を表す。線312は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Cに到達するのにかかる距離および/または時間を表す。
【００５７】
線314は、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Dに到達するのにかかる距離および/または時間を表す。線316は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Dに到達するのにかかる距離および/または時間を表す。
【００５８】
線304に沿って放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間が、線302に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Aに到達するのにかかる距離および/または時間よりも小さいことに留意されたい。同様に、線306に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間が、線308に沿って放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Bに到達するのにかかる距離および/または時間よりも小さい。
【００５９】
同様に、線312に沿って放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Cに到達するのにかかる距離および/または時間が、線310に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Cに到達するのにかかる距離および/または時間よりも小さい。さらに、線314に沿って放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108Dに到達するのにかかる距離および/または時間が、線316に沿って放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108Dに到達するのにかかる距離および/または時間よりも小さい。
【００６０】
上記で説明した方法では、位置追跡モジュール106は、放出器202から超音波および/または磁気信号がマイクロフォン/磁気コイル108A、108B、108C、および108Dに到達するのにかかる距離および/または時間と、放出器204から超音波および/または磁気信号がマイクロフォン/磁気コイル108A、108B、108C、および108Dに到達するのにかかる距離および/または時間との間の差を使用してユーザデバイス102に対する先端124のロケーション、位置、および傾斜角を決定することができる。
【００６１】
図4Aは、本明細書で説明する技術の例示的な実装形態による、ユーザデバイス102上のペン122の位置方位を示す、システム100の側面図である。図示した実装形態では、ペン122は、スクリーン104に対するペン方位PO1を有する。ペン122は、ペン方位PO1において、スクリーン104に対する高さZ1を有する。ペン122は、ペン方位PO1において、スクリーン104上のカーソルロケーションC1を指している。カーソルC1は、スクリーン104上のx-y軸に沿った位置を定義する。高さZ1は、スクリーン104上のz軸に対する位置を定義する。
【００６２】
ユーザデバイス102は、方位PO1におけるペン122の位置、高さZ1、およびカーソルロケーションC1を特定のコマンドと解釈し得る。たとえば、コマンドは、スクリーン104上のページ上のMOVE ONE LINE UPと解釈され得る。代替的に、コマンドは、スクリーン104上のページ上のZOOM INと解釈され得る。代替的に、さらに、コマンドは、ユーザデバイス102上でプレイする音楽、ゲーム、ビデオのINCREASE MEDIA VOLUMEと解釈され得る。
【００６３】
スクリーン104に対するペン122の位置が変化する場合、ユーザデバイス102は、その位置を異なるコマンドと解釈し得る。たとえば、図4Bは、本明細書で説明する技術の代替の例示的な実装形態による、ユーザデバイス102上のペン122の位置方位を示す、システム100の側面図である。図示した実装形態では、ペン122は、依然として、スクリーン104に対するペン方位PO1を有する。ペン122は、依然として、ペン方位PO1において、スクリーン104上のカーソルロケーションC1を指している。しかしながら、ペン122は、ペン方位PO1において、スクリーン104に対する異なる高さ、高さZ2を有する。
【００６４】
ユーザデバイスは、図4Bのペン122の方位をスクリーン104上のページ上のコマンドMOVE ONE LINE UPと解釈するのではなく、図4Bのペン122の方位をスクリーン104上のコマンドSCROLL TEN PAGESと解釈し得る。代替的に、コマンドは、スクリーン104上のページ上のZOOM OUTと解釈され得る。代替的に、さらに、コマンドは、ユーザデバイス102のINCREASE SYSTEM VOLUMEと解釈され得る。
【００６５】
図4Cは、本明細書で説明する技術のさらに別の例示的な実装形態による、ユーザデバイス102上のペン122の位置方位を示す、システム100の側面図である。図4Cに示した例では、ペン122は、依然として、高さZ2を有する。しかしながら、ペン122は、スクリーン104に対する傾斜角αをもたらす、異なるペン方位PO2を有する。ペン122はまた、スクリーン104上の異なるカーソルロケーションC2を指している。
【００６６】
ペン122をカーソルロケーションC1からカーソルロケーションC2に動かすこともまた、コマンドと解釈される場合もある。たとえば、ペン122をカーソルロケーションC1からカーソルロケーションC2に動かすこともまた、スクリーン104上のGO TO THE NEXT PAGEと解釈される場合がある。対照的に、ペン122をカーソルロケーションC2からカーソルロケーションC1に動かすこともまた、スクリーン104上のGO TO THE PREVIOUS PAGEと解釈される場合がある。カーソルロケーションC2および高さZ2と組み合わせて傾斜角αにペン122を向けることは、異なるコマンドと解釈される場合もある。
【００６７】
図5は、本明細書で説明する技術の実装形態による、ユーザデバイス102に対するペン122のジェスチャーの例を示すグラフ表現500である。ペン122のジェスチャー502、504、506、および508は、単一の直線ジェスチャーである。本明細書で使用する直線ジェスチャーは、一方向の任意の単一の移動である。
【００６８】
図示した実装形態では、ジェスチャー510は、曲線ジェスチャーである。本明細書で使用する曲線ジェスチャーは、円の形状で現れる任意のジェスチャーであり得る。しかしながら、ジェスチャー510は、曲線の一部分のみであり得る。
【００６９】
図示した実装形態では、ジェスチャー512は、曲線ジェスチャーと組み合わされた直線ジェスチャーなどのジェスチャーの組合せであり得る。ジェスチャー512は、一連の前進後退の直線移動をもたらす直線結合の一例である。このジェスチャーは、ERASEコマンドまたはUNDOコマンドを実施するために使用され得る。
【００７０】
代替的に、組合せジェスチャーは、スクリーン104上のスクロールを加速させるために使用され得る。これは、ペン122の上下運動を使用して実施され得る。
【００７１】
他の曲線結合の例は、REFRESH ALLコマンドを実施するための一連の円形ペン122ジェスチャー、およびSWITCH-TO-PEN TOOL、SWITCH-TO-BRUSH TOOLなどの、コマンドを実施するために使用され得る正弦波ジェスチャーを含み得る。
【００７２】
図6は、本明細書で説明する技術の実装形態による、3次元(3D)位置方位のいくつかの例のグラフ表現600である。3次元ジェスチャー602は、らせんに似ている経路を含む。このジェスチャーは、たとえば、ユーザデバイス102上のDIG DEEPER INTO A FOLDER HIERARCHYへのコマンドを起動するために使用され得る。
【００７３】
1次元ジェスチャー604は、ペン122をまっすぐ上下に動かすことを含む。このジェスチャーは、スクリーン104上の特定のオブジェクトをズームインするか、またはそのオブジェクトを選択するためにコマンドを起動するのに使用され得る。
【００７４】
2次元ジェスチャー606は、(606のように)ペン122を非直線角度で動かすことを含む。このジェスチャーは、「z」軸だったユーザの視点がオブジェクトからの距離を記号化し、側面移動がカメラまたは視点の位置を記号化するように変化させるコマンドを起動するために使用され得る。
【００７５】
図7は、本明細書で説明する技術の一実装形態による、回転/ねじりの空中ジェスチャーおよびペン方位ジェスチャーを経るペン122を示す。図示した実装形態では、ペン122は、矢印702によって表される方向に回転し、かつ/またはねじられる。ペン122は、ペン122の縦軸126の周りに回転され、かつ/またはねじられる。ユーザは、関連のコマンドを首尾よく入力するための意図的な方法で、特定の度数、すなわち、1/4回、90度、180度、360度などでペン122を回転させるか、またはねじる場合がある。
【００７６】
図8A〜図8Dは、本明細書の技術の1つまたは複数の実装形態による、ペン122の微小ねじりジェスチャーを示す。微小ねじりジェスチャーは、反対方向の高速回転運動が続く、一方向の短い回転運動を含む。変数は、たとえば、ねじりの速度、方向を変える速さ、ねじりの持続時間、空中のペン122の位置、ねじりの間のスクリーン104に対する傾斜角、ならびに高速の親指および指の運動の存在を含み得る。
【００７７】
微小ねじりジェスチャーは、3つの主なステージによって定義され得る。図8Aおよび図8Bに示す第1のステージは、ユーザの手802による初期のねじり運動または回転運動(すなわち、右または左への)である。ユーザの人差し指804は、人差し指接触点0上に位置し、ユーザの親指806は、親指接触点0上に位置する。ペン122の運動方向は、矢印808に沿っている。
【００７８】
第2のステージは、突然の停止および方向の変化である。これは図8Cに示され、ユーザの人差し指804が人差し指接触点0から人差し指接触点1に移動し、ユーザの親指806が親指接触点0から親指接触点1に移動した。ペン122の運動方向は、矢印810に沿っている。
【００７９】
第3のステージは、初期のねじりの開始時のペン122の方位に近い反対方向へのねじり戻りである。これは、図8Dに示され、ユーザの人差し指804が人差し指接触点2に移動し、ユーザの親指806が親指接触点2に移動するが、これらの接触点は、人差し指接触点0上の初期の人差し指804のロケーションと親指接触点0上の初期のユーザの親指806のロケーションとに近似する。
【００８０】
図9は、本明細書で説明する技術による、システム100の動作を示す方法900のフローチャートである。
【００８１】
ブロック902では、方法900は、ユーザデバイススクリーンのx軸に沿ったペンの位置を取得する。一例では、ユーザデバイス102は、ユーザデバイススクリーン104のx軸に沿ったペン122の位置を取得する。
【００８２】
ブロック904では、方法900は、ユーザデバイススクリーンのy軸に沿ったペンの位置を取得する。一例では、ユーザデバイス102は、ユーザデバイススクリーン104のy軸に沿ったペン122の位置を取得する。
【００８３】
ブロック906では、方法900は、ユーザデバイススクリーンのz軸に沿ったペンの位置を取得する。一例では、ユーザデバイス102は、ユーザデバイススクリーン104のz軸に沿ったペン122の位置を取得する。
【００８４】
ブロック908では、方法900は、場合によっては、ユーザデバイススクリーンに対するペンの縦軸位置を取得する。一例では、ユーザデバイス102は、ユーザデバイススクリーン104に対するペン122の縦軸位置を取得する。
【００８５】
ブロック910では、方法900は、取得された位置に基づいてコマンドを実行する。一例では、ユーザデバイス102は、ユーザデバイス102におけるインターネットブラウジング、電子ブックページめくりなどに関連付けられたコマンドを実行するためにx、y、z方向のペン122のジェスチャーに応答する。
【００８６】
本明細書に記載する技術の態様および関連図面は、技術の特定の実装形態を対象とする。本明細書に記載する技術の範囲から逸脱することなく、代替的な実装形態を考案することができる。さらに、関連する詳細を不明瞭にしないように、技術のよく知られている要素については詳細に説明しないか、または省略する。
【００８７】
様々な方法のステップおよび決定が、この開示では連続的に説明されていることがあるが、これらのステップおよび決定のいくつかは、別個の要素によって連携してもしくは並行して、非同期的にもしくは同期的に、パイプライン方式で、またはその他の方法で、行われ得る。この説明がステップおよび決定を列挙するのと同じ順序でそれらが行われることは、そのように明示されている、さもなければ文脈から明らかである、または本質的に要求される場合を除いて、特に必要ではない。しかしながら、選択された変形では、ステップおよび決定は、上述の順序で行われることに留意されたい。さらに、本明細書に記載する技術に従ってすべての実装形態/変形では、すべての図示したステップおよび決定が必要とされるとは限らず、本明細書に記載する技術によるいくつかの実装形態/変形では、特に図示していないいくつかのステップおよび決定が、望ましいまたは必要であることがある。
【００８８】
様々な異なる技術および技法のいずれかを使用して情報および信号が表現される場合があることを当業者は理解するであろう。たとえば上の説明全体を通して参照され得るデータ、命令、指令、情報、信号、ビット、記号およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表されてもよい。
【００８９】
さらに、本明細書に開示する実装形態との関連で述べた様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、またはこれらの両方の組合せとして実装される場合があることを、当業者なら認識するであろう。ハードウェアとソフトウェアのこのような互換性をわかりやすく示すために、様々な例示的構成要素、ブロック、モジュール、回路、およびステップを、概してその機能性に関して上述した。そのような機能性がハードウェアとして実装されるかソフトウェアとして実装されるかまたはハードウェアとソフトウェアの組合せとして実装されるかは、特定の応用例と、システム全体に課される設計制約とに依存する。当業者は、説明された機能性を各々の特定の応用分野について様々な方式で実装し得るが、そのような実装判断は、本明細書に記載する本技術の範囲からの逸脱を引き起こすと解釈されるべきではない。
【００９０】
本明細書に開示する実装形態に関連して説明する様々な例示的論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブルロジックデバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア部品、または本明細書に記載した機能を行うように設計されたこれらの任意の組合せを用いて、実装または実施される場合がある。汎用プロセッサはマイクロプロセッサであり得るが、代替実施形態では、プロセッサは、任意の従来型プロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえばDSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、1つまたは複数のマイクロプロセッサとDSPコア、あるいは任意の他のそのような構成として実装され得る。
【００９１】
本明細書に開示される態様に関して記述される方法またはアルゴリズムのステップは、ハードウェアにおいて直接具現されるか、プロセッサによって実行されるソフトウェアモジュールにおいて実装されるか、またはその2つの組合せで実装される場合がある。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野において既知の任意の他の形の記憶媒体に存在することができる。例示的記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、アクセス端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、アクセス端末に個別の構成要素として存在し得る。
【００９２】
開示された実装形態の上記の説明は、当業者が、本明細書に記載する技術を作成または使用することができるように与えられる。これらの実装形態への様々な修正が当業者には容易に明らかになり、本明細書で定義される一般的な原理は、本明細書に記載する技術の趣旨または範囲を逸脱することなく他の実装形態に適用され得る。したがって、本明細書に記載する技術の態様は、本明細書において示される実装形態に限定されることを意図するものではなく、本明細書において開示された原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００９３】
100  空中ペンジェスチャーシステム
102  ユーザデバイス
104  スクリーン
106  位置追跡モジュール
108  マイクロフォン/磁気コイルアレイ
108A  マイクロフォン/磁気コイル
108B  マイクロフォン/磁気コイル
108C  マイクロフォン/磁気コイル
108D  マイクロフォン/磁気コイル
110  三角測量モジュール
112  コマンド実行モジュール
114  右面
116  左面
118  頂面
120  底面
122  ペン
124  先端
126  縦軸
128  放出器モジュール
130  磁気放出器
132  超音波放出器
202  放出器
204  放出器
206  線
208  線
302  線
304  線
306  線
308  線
310  線
312  線
314  線
316  線
500  グラフ表現
502  直線ジェスチャー
504  直線ジェスチャー
506  直線ジェスチャー
508  直線ジェスチャー
510  曲線ジェスチャー
512  ジェスチャーの組合せ
600  グラフ表現
602  3次元ジェスチャー
604  1次元ジェスチャー
606  2次元ジェスチャー
702  矢印
802  ユーザの手
804  ユーザの人差し指
806  ユーザの親指
808  矢印
810  運動方向
【図１】
0006617111.tif 000002
【図２】
0006617111.tif 000003
【図３】
0006617111.tif 000004
【図４Ａ】
0006617111.tif 000005
【図４Ｂ】
0006617111.tif 000006
【図４Ｃ】
0006617111.tif 000007
【図５】
0006617111.tif 000008
【図６】
0006617111.tif 000009
【図７】
0006617111.tif 000010
【図８】
0006617111.tif 000011
【図９】
0006617111.tif 000012