(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-10-27
(54)【発明の名称】タッチスクリーン装置に対するユーザ方位の決定
(51)【国際特許分類】
G06F 3/01 20060101AFI20221020BHJP
G06F 3/0488 20220101ALI20221020BHJP
【FI】
G06F3/01 510
G06F3/0488
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2022510898
(86)(22)【出願日】2020-06-19
(85)【翻訳文提出日】2022-02-18
(86)【国際出願番号】 US2020038709
(87)【国際公開番号】W WO2021034402
(87)【国際公開日】2021-02-25
(32)【優先日】2019-08-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】503455363
【氏名又は名称】レイセオン カンパニー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】モンタルヴォ-ルイズ,アイゼン
(72)【発明者】
【氏名】ピーブル,ジョン イー.
(72)【発明者】
【氏名】バーレット,ジャック
【テーマコード(参考)】
5E555
【Fターム(参考)】
5E555AA64
5E555AA65
5E555BA02
5E555BB02
5E555BC08
5E555CA12
5E555CB12
5E555DB03
5E555DC24
5E555EA25
5E555FA00
(57)【要約】
ユーザインタフェースの向きを合わせるための技術が記載される。当該技術の一例は、タッチスクリーンセンサによって検出された複数のタッチポイントについてのタッチポイントデータを受信することを含むことができる。タッチポイントデータを分析して、上記複数のタッチポイントにおける各タッチポイントと他のタッチポイントとの間の距離を決定することができ、タッチポイント間の距離に基づいてタッチポイントをランク付けすることができる。最上位のタッチポイントについてベクトルを計算することができ、該ベクトルは、タッチポイントにフィッティングされた円の中心点から最上位のタッチポイントに延びる向きを持つことができる。ベクトルの向きに基づいて、タッチスクリーンに対するユーザの方位を決定することができ、タッチスクリーンに対するユーザの方位に対応するように、タッチスクリーン上にユーザインタフェースを表示することができる。
【特許請求の範囲】
【請求項1】
ユーザインタフェースの向きを合わせるためのシステムであって、
少なくとも1つのプロセッサと、
命令を含むメモリデバイスと、を有し、該命令は、前記少なくとも1つのプロセッサによって実行されるときに、当該システムに、
タッチスクリーンセンサによって検出された複数のタッチポイントについてのタッチポイントデータを受信させ、該タッチポイントデータは、タッチスクリーンの表面上の前記複数のタッチポイントの位置を表し、
前記複数のタッチポイントにおける各タッチポイントと他のタッチポイントとの間の距離を決定するように、前記タッチポイントデータを分析させ、
前記タッチポイントの間の前記距離に基づいて前記タッチポイントをランク付けさせ、
最上位のタッチポイントについて、前記タッチポイントにフィッティングされた円の中心点から当該最上位のタッチポイントに延びる向きを持つベクトルを計算させ、
前記ベクトルの前記向きに基づいて、前記タッチスクリーンに対するユーザの方位を決定させ、
前記タッチスクリーンに対する前記ユーザの前記方位に対応するように、前記タッチスクリーン上に前記ユーザインタフェースを表示させる、
システム。
【請求項2】
前記命令は、前記少なくとも1つのプロセッサによって実行されるときに、前記システムに更に、
前記複数のタッチポイントに含まれる各タッチポイントを選択させ、
該タッチポイントに対する他のタッチポイントの距離に基づいて、前記複数のタッチポイントに含まれる前記他のタッチポイントをソートさせ、
該タッチポイントに対する距離において、前記他のタッチポイントに含まれる非選択タッチポイントと比較して近いものである、最大4つのタッチポイントを、前記他のタッチポイントから選択させる、
請求項1に記載のシステム。
【請求項3】
前記命令が前記少なくとも1つのプロセッサによって実行されるときに当該システムに前記タッチポイントをランク付けさせることは、当該システムに更に、
タッチポイント間の前記距離に基づいてグループに含まれる各タッチポイントのスコアを計算させ、
前記タッチポイントの前記スコアに基づいて前記タッチポイントをランク付けさせ、
最上位のタッチポイントを中指タッチポイントとして分類させる、
請求項1に記載のシステム。
【請求項4】
前記メモリデバイスは更に、前記少なくとも1つのプロセッサによって実行されるときに、当該システムに
前記中指タッチポイントに近接したタッチポイント群を特定させ、
前記タッチポイント群の各々について、前記中指タッチポイントからの距離を決定させ、
前記中指タッチポイントから最も遠い距離のタッチポイントを親指タッチポイントとして分類させ、
前記中指タッチポイントから2番目に遠い距離のタッチポイントを小指タッチポイントとして分類させる、
命令を含む、請求項3に記載のシステム。
【請求項5】
前記メモリデバイスは更に、前記少なくとも1つのプロセッサによって実行されるときに、当該システムに
前記中指タッチポイントと前記親指タッチポイントとの間のタッチポイントを人差し指タッチポイントとして分類させ、
前記中指タッチポイントと前記小指タッチポイントとの間のタッチポイントを薬指タッチポイントとして分類させる、
命令を含む、請求項4に記載のシステム。
【請求項6】
前記命令は、前記少なくとも1つのプロセッサによって実行されるときに、当該システムに、親指タッチポイント、中指タッチポイント、及び小指タッチポイントとして分類されたタッチポイントを用いて前記円を計算させる、請求項1に記載のシステム。
【請求項7】
前記メモリデバイスは更に、前記少なくとも1つのプロセッサによって実行されるときに、当該システムに、前記円の半径を中心とする円閾値の中に人差し指タッチポイント及び薬指タッチポイントが含まれるかを判定させる、命令を含む、請求項6に記載のシステム。
【請求項8】
前記タッチスクリーンは、複数のユーザを許容する仰向け構成であり、タッチスクリーン上でユーザインタフェースが、個々のユーザに対して、個々のユーザの方位に対応するように表示される、請求項1に記載のシステム。
【請求項9】
コンピュータが実施する方法であって、
タッチスクリーンセンサによって検出された複数のタッチポイントについてのタッチポイントデータを受信し、該タッチポイントデータは、タッチスクリーン装置の表面上の前記複数のタッチポイントの位置を表し、
前記タッチポイントデータを用いて、前記複数のタッチポイントにおける各タッチポイントと他のタッチポイントとの間の距離を計算し、
それらのタッチポイントが手の指に対応することを指し示すタッチポイント間の距離を持つタッチポイントのグループを特定し、
前記タッチポイントの間の前記距離に基づいて前記タッチポイントのスコアを計算し、
前記タッチポイントの前記スコアに基づいて前記タッチポイントをランク付けし、
最上位のタッチポイントのベクトルを計算し、該ベクトルは、前記タッチポイントにフィッティングされた円の中心点から前記最上位のタッチポイントに延びる向きを持ち、
前記ベクトルの前記向きに基づいて、前記タッチスクリーン装置に対するユーザの方位を決定し、
前記タッチスクリーン装置に対する前記ユーザの前記方位に対応するように、前記タッチスクリーン装置上にユーザインタフェースを表示する、
ことを有する方法。
【請求項10】
タッチポイントの前記グループを特定することは更に、
前記複数のタッチポイントに含まれるタッチポイントを選択し、
該タッチポイントに対する他のタッチポイントの距離に基づいて、前記複数のタッチポイントに含まれる前記他のタッチポイントをソートし、
該タッチポイントに対する距離において最も近い4つのタッチポイントを選択する、
ことを有する、請求項9に記載の方法。
【請求項11】
前記タッチポイントから規定距離内に4つ未満のタッチポイントしかないことを決定し、
前記タッチポイントから前記規定距離内にある少なくとも2つのタッチポイントを選択する、
ことを更に有する請求項10に記載の方法。
【請求項12】
前記タッチポイントから規定距離内に2つ未満のタッチポイントしかないことを決定し、
前記ユーザの前記方位を決定することができないことのインジケーションを前記ユーザに提供する
ことを更に有する請求項11に記載の方法。
【請求項13】
前記最上位のタッチポイントに近接したタッチポイントの前記グループに含まれるタッチポイントを特定し、
該タッチポイントの各々について、前記最上位のタッチポイントからの距離を決定し、
タッチポイントから前記最上位のタッチポイントまでの前記距離に基づいて、前記手の指に対応する前記タッチポイントを分類する、
ことを更に有する請求項9に記載の方法。
【請求項14】
前記最上位のタッチポイントから最も遠い距離のタッチポイントを親指タッチポイントとして分類し、
前記最上位のタッチポイントから2番目に遠い距離のタッチポイントを小指タッチポイントとして分類し、
前記最上位のタッチポイントと前記親指タッチポイントとの間の第1のタッチポイントを人差し指タッチポイントとして分類し、
前記最上位のタッチポイントと前記小指タッチポイントとの間のタッチポイントを薬指タッチポイントとして分類する、
ことを更に有する請求項13に記載の方法。
【請求項15】
前記最上位のタッチポイントの前記ベクトルを計算することは更に、親指タッチポイント、中指タッチポイント、及び小指タッチポイントを用いて前記円を計算することを有する、請求項9に記載の方法。
【請求項16】
前記円の半径を中心とする閾値の中に人差し指タッチポイント及び薬指タッチポイントが含まれるかを判定する、ことを更に有する請求項15に記載の方法。
【請求項17】
命令を格納した非一時的機械読み取り可能記憶媒体であって、前記命令は、少なくとも1つのプロセッサによって実行されるときに、
タッチスクリーンセンサによって検出された複数のタッチポイントについてのタッチポイントデータを受信し、該タッチポイントデータは、複数のユーザを許容する仰向け構成のタッチスクリーン装置の表面上の前記複数のタッチポイントの位置を表し、
前記タッチポイントデータを用いて前記複数のタッチポイントの間の距離を計算し、
それらのタッチポイントが手の指に対応することを指し示すタッチポイント間の距離を持つタッチポイントのグループを作り出し、
前記タッチポイントの間の前記距離に基づいて、タッチポイントの前記グループ内のタッチポイントを、前記手の指に対応するように分類し、
中指タッチポイントのベクトルを計算し、該ベクトルは、前記タッチポイントにフィッティングされた円の中心点から前記中指タッチポイントに延びる向きを持ち、
前記ベクトルの前記向きに基づいて、前記タッチスクリーン装置に対するユーザの方位を決定し、
前記タッチスクリーン装置に対する前記ユーザの前記方位に対応するように、前記タッチスクリーン装置上にユーザインタフェースを表示する、
非一時的機械読み取り可能記憶媒体。
【請求項18】
前記命令が前記少なくとも1つのプロセッサによって実行されるときにタッチポイントのグループを作り出すことは更に、
前記複数のタッチポイントに含まれるタッチポイントを選択し、
該タッチポイントに対する他のタッチポイントの距離に基づいて、前記複数のタッチポイントに含まれる前記他のタッチポイントをソートし、
該タッチポイントに対する距離において近い最大4つのタッチポイントを前記他のタッチポイントから選択する、
ことを有する、請求項17に記載の非一時的機械読み取り可能記憶媒体。
【請求項19】
前記命令が前記少なくとも1つのプロセッサによって実行されるときに前記タッチポイントを分類することは更に、
タッチポイント間の前記距離に基づいて前記グループに含まれる各タッチポイントのスコアを計算し、
前記タッチポイントの前記スコアに基づいて、最高から最低まで前記タッチポイントをランク付けし、
最上位のタッチポイントを前記中指タッチポイントとして分類する、
ことを有する、請求項17に記載の非一時的機械読み取り可能記憶媒体。
【請求項20】
前記命令は、前記少なくとも1つのプロセッサによって実行されるときに更に、前記ベクトルの前記向きが、前記タッチスクリーンのエッジの直角の閾値内にあることを決定する、請求項17に記載の非一時的機械読み取り可能記憶媒体。
【請求項21】
前記命令が前記少なくとも1つのプロセッサによって実行されるときに中指タッチポイントのベクトルを計算することは更に、
親指タッチポイント、中指タッチポイント、及び小指タッチポイントを用いて前記円を計算し、
前記円の半径を中心とする閾値の中に人差し指タッチポイント及び薬指タッチポイントが含まれるかを判定する、
ことを有する、請求項17に記載の非一時的機械読み取り可能記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
タッチスクリーンは、一般に、例えばコンピュータ装置などの情報処理システムの電子視覚ディスプレイの上に重ねられることができる入力装置に関する。ユーザは、1つ以上の指又は入力スタイラスで情報処理システムのスクリーンにタッチすることによって、シングル又はマルチタッチジェスチャを通じて入力を提供したり情報処理システムを制御したりすることができる。タッチスクリーンは、ユーザが、マウス、タッチパッド、又は他のそのような装置を使用するのではなく、スクリーン上に表示されているものと直接インタラクトすることを可能にする。例えば、ユーザは、タッチジェスチャを用いて、スクリーン上に表示されているもののサイズを大きくするために“ズームイン”すること、及びスクリーン上に表示されているもののサイズを小さくするために“ズームアウト”することができる。
【0002】
タッチスクリーンは、例えばモバイル装置、ゲームコンソール、パーソナルコンピュータ、電子投票機、及びポイントオブセールス(POS)システムなどの装置において一般的であるとし得る。タッチスクリーンは、例えば携帯情報端末(PDA)及び一部の電子リーダなどのデジタル家電の設計において卓越した役割を果たすことができる。タッチスクリーンはまた、例えば教室若しくは大学キャンパスなどの教育環境、並びにビジネス及び政府環境においても重要な役割を果たすことができる。例えば、大型のマルチタッチ式タッチスクリーンディスプレイを含むテーブルコンピュータは、複数ユーザにタッチスクリーンディスプレイの周囲で協働する手段を提供することができる。
【図面の簡単な説明】
【0003】
【
図1】ユーザ方位を決定し、ユーザ方位に対応するようにタッチスクリーンにユーザインタフェースを出力するのに使用されるシステム例を示すブロック図である。
【
図2】タッチポイントにランクを割り当て、ランクをソートして最上位のタッチポイントを特定することを示す図である。
【
図3】タッチポイントと実質的に交わるように円を算出することによって円をタッチポイントにフィッティングすることを示す図である。
【
図4】人差し指タッチポイント及び薬指タッチポイントが閾値内に含まれることを決定することによって5本指ジェスチャを検証することを示す図である。
【
図5】円の中心点から最上位のタッチポイントに延びる向きを持つベクトルを計算することを示す図である。
【
図6】複数ユーザが仰向け構成のタッチスクリーンとインタラクトすることを示す図である。
【
図7】タッチスクリーン上のユーザインタフェースの向きを合わせるための方法例を示すフロー図である。
【
図8】ユーザインタフェースの向きを合わせるための方法を実行するのに使用され得るコンピューティング装置の一例を示すブロック図である。
【0004】
以下、図示した例示的な実施形態を参照するとともに、ここでは特定の言葉を用いてそれを記述する。そうとはいえ、理解されることには、それによる発明の範囲の限定は意図していない。
【発明を実施するための形態】
【0005】
ここで使用されるとき、用語“実質的に”は、完全又は略完全な範囲又は程度の動作、特性、性質、状態、構造、品目又は結果を表す。絶対的な完全性からの逸脱の正確な許容可能な程度は、一部の場合において、具体的な文脈に依存し得る。しかしながら、一般的に言えば、完全に近いことは、あたかも絶対的且つ総合的な完全さが得られるかのように全体として同じ結果を有するようなものである。“実質的に”の用法は、動作、特性、性質、状態、構造、品目又は結果の完全又は略完全な欠如を表す否定的な含意で使用されるときにも等しく当てはまる。
【0006】
以下では、最初に技術実施形態の概説を提供し、その後に具体的な技術実施形態を更に詳細に説明する。この最初の概要は、技術をより迅速に理解する上で読者を助けることを意図したものであり、技術の重要な特徴又は本質的な特徴を特定することを意図したものではなく、また、特許請求に係る事項の範囲を限定することを意図したものでもない。
【0007】
タッチスクリーンに対するユーザの方位を決定し、ユーザの方位に対応するようにユーザインタフェースを表示するための技術が記載される。一例において、当該技術を用いて、仰向け(supine)構成のタッチスクリーン装置の周りのユーザの方位を、タッチスクリーン装置によって検出されたタッチポイントに部分的に基づいて決定し、ユーザが向いている向きでタッチスクリーン装置上にグラフィカル要素を提示することができる。例えば、仰向け構成のタッチスクリーン装置は、ユーザが面し得る複数のエッジを持つことができる。当該技術を用いて、ユーザがタッチスクリーン装置のどのエッジに面しているかを決定し、ユーザっが面する向きでタッチスクリーン装置上にユーザインタフェースを表示することができる。例えば、ユーザインタフェースの向きを、ユーザの感覚での上下2次元空間に対応するように合わせることができる。
【0008】
当該技術の一例において、タッチスクリーンの表面上の複数のタッチポイントの位置を表すタッチポイントデータを分析して、タッチポイント間の距離を決定することができる。タッチポイント間の距離を用いて、それらタッチポイントのうちのどれが特定の手の指に対応するかを決定することができる。手の指に対応するタッチポイントを共にグループ化することができ、それらタッチポイントを手の個々の指として分類することができる(例えば、人差し指、中指、薬指、小指、及び/又は親指として分類される)。一例において、更に詳細に後述するように、タッチポイント間の距離に基づいてタッチポイントのスコアを計算することができ、スコアを用いてタッチポイントに指分類(例えば、人差し指、中指、薬指、小指、又は親指)を割り当てることができる。
【0009】
タッチポイントを手の指として分類した後、それらタッチポイントを用いて円を計算して、それらタッチポイントのグループに円がフィッティングされ得るようにすることができる。その後、中指タッチポイントを特定することができ、手の中指についてのベクトルを、該ベクトルの向きが円の半径から中指タッチポイントへと延びるように計算することができる。ベクトルの向きを用いて、タッチスクリーンに対するユーザの方位を決定することができ、タッチスクリーンに対するユーザの方位に対応するようにタッチスクリーン上にユーザインタフェースを表示することができる。
【0010】
従来、タッチスクリーン装置は、タッチスクリーン装置上に表示されるユーザインタフェースがユーザに面する向きにされ得るように、主として直立位置での使用に合わせて構成されてきた。例えばテーブルコンピュータ及びテーブルPCなどの、仰向け構成のタッチスクリーンを持つ装置が導入されると、装置のタッチスクリーンは、ユーザがタッチスクリーンのエッジのうち1つからタッチスクリーンを見下ろすように、上方から見られる向きにされる。しかしながら、タッチスクリーンの複数のエッジにユーザが位置することができることに起因して、タッチスクリーン上に表示するユーザインタフェースの向きを決定することが困難となり得る。例えば、タッチスクリーン装置が4つのエッジを持つ場合、4つのエッジのうちのどれにユーザが位置しているかを決定し、そのエッジの上下方向に対応するようにタッチスクリーン上にユーザインタフェースを表示することは困難であり得る。本技術は、装置のタッチスクリーンとのユーザインタラクションを介して装置に対するユーザの位置を決定し、タッチスクリーンのユーザの視点に一致する上下の向きでユーザインタフェースを位置付けることができる。
【0011】
本技術を更に説明するために、ここで図面を参照して例を提供する。
図1は、タッチスクリーン102のエッジ128a-128dに対するユーザ方位108を決定し、ユーザ方位108に対応するようにタッチスクリーン102にユーザインタフェース104を出力するのに使用されるシステム100の一例を示す図である。図示のように、システム100は、コンピューティング装置110及びタッチスクリーン102を含むことができる。タッチスクリーン102は、コンピューティング装置110からの出力を受け取って該出力をタッチスクリーン102上に表示するとともに、タッチスクリーンセンサ118によって検出された入力をコンピューティング装置110に提供するために、コンピューティング装置110に動作可能に結合され得る。
【0012】
コンピューティング装置110は、1つ以上のプロセッサ120によって実行可能なモジュールを含むことができる。モジュールは、オペレーティングシステムモジュール112、ユーザインタフェース(UI)モジュール114、ユーザ方位モジュール116、及び他のモジュールを含むことができる。オペレーティングシステムモジュール112は、コンピューティング装置110のコンピュータハードウェア及びソフトウェアリソースを管理するシステムソフトウェアを提供することができ、コンピューティング装置110上で実行されるプログラムのための共通サービスを提供する。理解されるように、任意のタイプのオペレーティングシステムが、コンピューティング装置110上での使用のために提供されてもよい。UIモジュール114は、コンピューティング装置110とのユーザインタラクションのためのユーザインタフェース104を提供するように構成されることができる。UIモジュール114は、タッチスクリーンセンサ118を含む入力ハードウェア装置からデータを取得するため、及びタッチスクリーン102上に入力コントロール、プロンプト、ステータスメッセージなどを表示するためのオペレーティングシステムサービスを要求するために、システムディレクトリ構造へのアクセスを提供されることができるとともに、オペレーティングシステムモジュール112からのサービスを要求することができる。
【0013】
ユーザ方位モジュール116は、ユーザ方位108を決定し、ユーザ方位108に対応する向きでタッチスクリーン102上にユーザインタフェース104を表示するように構成されることができる。一例において、タッチスクリーンセンサ118によって生成されたタッチポイントデータをユーザ方位モジュール116に提供することができる。タッチスクリーンセンサ118は、ユーザによって為されたタッチジェスチャを検出することに応答して、タッチポイントデータを生成することができる。タッチポイントデータは、タッチスクリーン102の表面上のタッチポイント106の位置を表す。
【0014】
タッチポイントデータを受信したことに応答して、ユーザ方位モジュール116は、タッチポイントデータを分析して、各タッチポイント106とタッチスクリーンセンサ118によって検出された他のタッチポイント106との間の距離を決定することができる。タッチポイント106間の距離は、ユーザの手に対応するタッチポイントを特定するために、ユーザ方位モジュール116によって使用されることができる。タッチポイント106間の距離を用いて、タッチポイント106をグループ化し、グループ内のタッチポイント106を手の指(例えば、親指、人差し指、中指、薬指、小指)として分類することができる。例えば、ユーザ方位モジュール116は、タッチポイントデータを分析して、いくつのタッチポイント106がタッチポイントデータに含まれているかを決定し、各タッチポイント106と他のタッチポイント106との距離を計算することができる。次いで、各タッチポイント106について、ユーザ方位モジュール116は、選択したタッチポイントからの距離によって他のタッチポイントをソートし、距離において最も近い4つの追加のタッチポイント106を選択することができる。例えば、ユーザ方位モジュール116は、タッチポイントXを選択し、タッチポイントXまでの距離によって他のタッチポイントをソートし、そして、タッチポイントXに最も近い最大4つのタッチポイントを選択することができる。それら選択されたタッチポイントは、ユーザの手の五指を表すグループを形成することができる。より少ない数のタッチポイントのみが利用可能である場合、ユーザ方位モジュール116は、それらのタッチポイントがユーザの手の指に対応することを指し示す互いの距離(例えば、2-3インチ)内にある少なくとも3つのタッチポイントを選択するように構成されることができる。
【0015】
タッチポイント106の1つ以上のグループを形成した後、ユーザ方位モジュール116は、タッチポイント106間の距離に基づいてグループ内のタッチポイント106をランク付けすることができ、最高ランクのタッチポイントを、ユーザ方位108を決定する一部として使用することができる。例えば、
図2に示すように、ランク130を各タッチポイント106に割り当て、ランク130をソートして最上位のタッチポイントを特定することができる。タッチポイント106にランク130を割り当てることは、一例において、他のタッチポイント106からのタッチポイント106の距離に基づいて各タッチポイント106のスコアを計算することを含むことができる。他のタッチポイント106からのタッチポイント106の距離に基づいてタッチポイント106に値を割り当てることができ、そのタッチポイント106に割り当てられた値を合計して、そのタッチポイント106のスコアを生成することができる。下の表は、あるタッチポイントに対して、グループに含まれる他のタッチポイント106からのそのタッチポイント106の距離に基づいてそのタッチポイント106に割り当てられ得る値の非限定的な例を示している。
【表1】
【0016】
上の表における値の例及び
図2に示すタッチポイント106を用いた説明として、タッチポイント1は、タッチポイント3及びタッチポイント4に最も近く、且つタッチポイント0及びタッチポイント7に2番目に近い。従って、これらの距離に基づいて、タッチポイント1は、値7、7、5、及び5が割り当てられる。これらの値を合計すると、24というスコアになる。このプロセスが他のタッチポイント106に対して繰り返され、タッチポイント106のスコアを生成する。タッチポイント106のスコアを計算した後、
図2に示すように、これらのスコアを用いてタッチポイント106を最高スコアから最低スコアまでランク130付けすることができる。理解されるように、上述のもの以外のスコア付けシステムを用いてタッチポイント106をランク付けしてもよい。
【0017】
タッチポイント106をランク付けした後、タッチポイントのグループについての最上位のタッチポイントを特定することができ、そして、最上位のタッチポイントを用いてユーザ方位108を決定することができる。一例において、5本指ジェスチャを用いてユーザインタフェース104の方向決めを作動させることができ、そして、タッチスクリーンセンサ118によって検出されたタッチポイント106を用いてユーザ方位108を決定することができる。従って、5本指ジェスチャの例において、タッチポイント106を上述のようにしてランク付けし、最上位のタッチポイント(例えば、タッチポイント1)を、ユーザの手の中指に対応する中指タッチポイントとして分類することができる。その後、残りのランク付けされたタッチポイント(例えば、タッチポイント0、3、4、及び7)を、ユーザの手の指(例えば、小指、薬指、人差し指、及び親指)のうちの1つに対応するように分類することができる。例えば、
図1に示すユーザ方位モジュール116は、中指タッチポイントに近接するタッチポイントを特定し、それらタッチポイントの各々について中指タッチポイントからの距離を決定し、そして、中指タッチポイントからの最も遠い距離のタッチポイント(例えば、タッチポイント7)を親指タッチポイントとして分類し、且つ中指タッチポイントからの2番目に遠い距離のタッチポイント(例えば、タッチポイント0)を小指タッチポイントとして分類するように構成されることができる。親指及び小指タッチポイントを特定すると、ユーザ方位モジュール116は、中指タッチポイントと親指タッチポイントとの間のタッチポイント(例えば、タッチポイント4)を人差し指タッチポイントとして分類し、且つ中指タッチポイントと小指タッチポイントとの間のタッチポイント(例えば、タッチポイント3)を薬指タッチポイントとして分類することができる。
【0018】
図1に戻るに、ユーザ方位モジュール116は、ユーザの手の指に対応するとして特定されたタッチポイント106に円をフィッティングし、円の中心点から最上位のタッチポイントに延びる向きを指し示すベクトルを計算するように構成されることができる。このベクトルの向きは、ユーザが向いている方向を指し示し得る。例示として、
図3に示すように、ユーザの手の指に対応するタッチポイントグループに含まれるタッチポイント106a-106cと実質的に交わるように円132を計算することができる。一例において、円132は、n個のタッチポイントPi(x
i,y
i)(i=1,…,n)のセットを所与として、それら全てのタッチポイントの最も近くを通る円の中心C(x
c,y
c)及び半径rを求めることで、タッチポイント106a-106cを用いて計算されることができる。一例として、一直線にはならない所与の3つのタッチポイント106a-106cに対して、三角形の外接円からなる、3つのタッチポイント106a-106c全てを通る単一の円を特定することができ、その三角形の外接円を用いて当初の円を構築することができる。
【0019】
5本指ジェスチャを用いてユーザインタフェースの方向決めを作動させる例において、円132は、ユーザの手の指として分類されたタッチポイント106a-106cを用いて計算されることができる。円132を計算するのに使用されるタッチポイント106a-106cは、親指タッチポイント106c、中指タッチポイント106b、及び小指タッチポイント106aを含むことができる。その後、
図4に示すように、円132の半径を用いて、人差し指タッチポイント106d及び薬指タッチポイント106eが閾値134(例えば、半径の1.17及び0.83)の中に含まれているかを決定することができる。閾値134は、タッチポイント106間の距離のバラつきをもたらす指の長さのバラつきを考慮するために用いられ得る。例えば、人差し指タッチポイント106d及び薬指タッチポイント106eは、多くの場合に円132と交わらないことになる。代わりに、
図4に示すように、人差し指タッチポイント106d及び薬指タッチポイント106eの一方又は両方は、円132のエッジの内側に入ったり円132のエッジを越えて延びたりし得るが、なおも閾値134の中にあり得る。人差し指タッチポイント106d及び薬指タッチポイント106eが閾値134の中に含まれている場合、有効な5本指ジェスチャが検出されているのであり、ユーザに面するようにユーザインタフェースが表示及び/又は回転され得るよう、ユーザインタフェースの方向決めを作動させることができる。他の一例において、5本よりも少ない指を用いてユーザインタフェース104の方向決めを作動させることができる。例えば、少なくとも3本の指を用いてユーザインタフェース104を作動させることができ、タッチスクリーンセンサ118によって検出されたタッチポイント106が前述のようにしてランク付けされ、それら3つ以上のタッチポイントを用いて円132が計算され得る。
【0020】
図5に示すように、円132を計算した後、最上位のタッチポイント(又は5本指ジェスチャの場合の中指タッチポイント106b)について、円132の中心点から最上位のタッチポイント(中指タッチポイント106b)に延びる向きを持つベクトル136を計算することができる。例えば、円の中心点138及び中指タッチポイント106bを特定することができ、そして、中指タッチポイント106bまで円132の中心点138から始まるようにベクトル136を計算することができる。ベクトル136の向きは、ユーザの方位を決定するために用いられることができる。例えば、ベクトル136の向きは、ユーザが向いている方向を表すことができる。
【0021】
一例において、ベクトル136に基づいてユーザの方向を決定することは、閾値140又は許容誤差(例えば、タッチスクリーン102のエッジ128a-128dの直角からの45度の不一致)を用いて、該方向がタッチスクリーン102のエッジ128a-128dに対応しているかを決定することを含むことができる。例えば、ベクトル136がタッチスクリーン102の第1のエッジ128aの直角の閾値140の中にある場合、ユーザの位置がタッチスクリーン102の第1のエッジ128aに対応すると決定される。一方で、ベクトル136が第1のエッジ128aの直角の閾値140の中にない場合には、ベクトル136は別のエッジ128b-128dに対応する。例示として、ユーザは自身の手を様々な角度でタッチスクリーン102上に置くことができる。ユーザの指の角度は、タッチスクリーン102のエッジ128a-128dに対して完全には垂直でなく、僅かに回転していることがあり、それ故に、ユーザの指がタッチスクリーン102に触れたことに応答して生成されたタッチポイントを用いて計算されたベクトル136は、タッチスクリーン102のエッジ128a-128dに対して垂直でないことがある。従って、閾値140又は許容可能な誤差を用いて、エッジ128a-128dの直角からのベクトル136のバラつきを補償することができる。
【0022】
上述のように、ベクトル136の方向は、ユーザがタッチスクリーン102のエッジ128a-128dに対して向いている方向を表すことができる。ベクトル136によって指し示される方向に基づいて、ユーザインタフェース104の向き、ユーザの方位に対応するように合わせることができる。例えば、ユーザインタフェース104を、ユーザに面するようにタッチスクリーン102上に表示して、ユーザがユーザインタフェース104とインタラクトすることを可能にすることができる。
【0023】
図6は、複数のユーザが仰向け構成のタッチスクリーン102とインタラクトすることができること、及び各ユーザが、タッチスクリーン102のエッジに対するユーザの方位に対応するように向きを合わせられた個々のユーザインタフェース104を提供されることができることを示している。仰向け構成のタッチスクリーン102のシナリオにおいて、複数のユーザがタッチスクリーン102の周りで協働するとき、ユーザは当該技術から恩恵を受けることができ、ユーザによって為されるタッチジェスチャに基づいて、ユーザに面するようにユーザインタフェース104の向きを合わせることができる。例えば、仰向け構成のタッチスクリーン102は、複数のユーザが同時にタッチスクリーン102を介してアプリケーションとインタラクトすることを可能にすることができる。タッチスクリーン102の周りの各ユーザの方位を決定することができ、ユーザの各々に、該ユーザの方位に一致するユーザインタフェース104を提示することができる。従って、タッチスクリーン102を介してアプリケーションとインタラクトする複数のユーザは、個々のユーザに面するように向きを合わせられたユーザインタフェース104を提供されることができる。当該技術は、仰向け構成のタッチスクリーン102に関して説明されるが、理解されることには、当該技術は仰向け構成のタッチスクリーンに限定されるものではなく、当該技術は任意の構成のタッチスクリーンと共に使用されることができる。
【0024】
図1に戻るに、コンピューティング装置110は、タッチスクリーン102に接続されることが可能な任意の装置を含むことができる。コンピューティング装置110は、例えば、プロセッサベースのシステムを有し得る。コンピューティング装置110は、以下に限られないが、例えば、テーブルコンピュータ若しくはテーブルPC、デスクトップコンピュータ、ラップトップ若しくはノートブックコンピュータ、タブレットコンピュータ、メインフレームコンピュータシステム、ハンドヘルドコンピュータ、ネットワークコンピュータ、又は同様の機能を有する他の装置などの、装置とし得る。システム100内に含まれる様々なプロセス及び/又は他の機能は、1つ以上のメモリデバイス122、入出力(I/O)装置124、及び/又はストレージ装置126と通信する1つ以上のプロセッサ120上で実行され得る。上述した図は、上述の技術を実装し得るシステム環境例を示しているが、数多くの他の類似又は異なるシステム環境が可能である。上で説明及び図示したシステム環境例は、単に代表的なものであり、限定的なものではない。
【0025】
次に
図7に移るに、フロー図にて、タッチスクリーン上のユーザインタフェースの向きを合わせるための方法例700を示している。ブロック710にあるように、タッチスクリーンセンサによって検出された複数のタッチポイントについてのタッチポイントデータを受信することができ、該タッチポイントデータは、タッチスクリーンの表面上のそれら複数のタッチポイントの位置を表す。一例において、タッチスクリーンは、複数ユーザを可能にする仰向け構成にあってもよく、個々のユーザに、ユーザインタフェースを、個々のユーザの方位に対応するようにタッチスクリーン上に表示することができる。
【0026】
ブロック720にあるように、タッチポイントデータを分析して、上記複数のタッチポイントにおける各タッチポイントと他のタッチポイントとの間の距離を決定することができる。一例において、方法700は、それらのタッチポイントがユーザの手の指に対応することを指し示すタッチポイント間の距離に基づいて、個々のユーザの手に対応するタッチポイントのグループを特定することができる。例えば、上記複数のタッチポイントに含まれる各タッチポイントを選択し、該タッチポイントに対する他のタッチポイントの距離に基づいて、上記複数のタッチポイントに含まれる他のタッチポイントをソートすることによって、タッチポイントをグループ化することができる。該タッチポイントに対する距離において、他のタッチポイントに含まれる非選択タッチポイントと比較して近いものである最大4つのタッチポイントを、他のタッチポイントから選択して、個々のユーザの手の指に対応するタッチポイントグループを形成することができる。
【0027】
タッチポイントグループを形成した後、方法700はブロック730にあるように、タッチポイント間の距離に基づいてタッチポイントをランク付けすることができる。一例において、方法700は、タッチスクリーンに対するユーザの方位に対応するようにユーザインタフェースの向きを合わせるのに使用される5本指ジェスチャを特定するために、タッチポイントをユーザの手の個々の指に対応するように分類することができる。方法700は、最上位のタッチポイントを中指タッチポイントとして分類することによって5本指ジェスチャを特定し、中指タッチポイントに近接する各タッチポイントについて、中指タッチポイントからの距離を決定することができる。次いで、方法700は、中指タッチポイントからの最も遠い距離のタッチポイントを親指タッチポイントとして分類し、且つ中指タッチポイントからの2番目に遠い距離のタッチポイントを小指タッチポイントとして分類することができる。その後、方法700は、中指タッチポイントと親指タッチポイントとの間のタッチポイントを人差し指タッチポイントとして分類し、且つ中指タッチポイントと小指タッチポイントとの間のタッチポイントを薬指タッチポイントとして分類することができる。
【0028】
他の一例において、方法700は、タッチポイントから規定距離内に4つ未満のタッチポイントしかないことを決定し、タッチポイントから規定距離内にある少なくとも2つのタッチポイントを選択することができる。例えば、5つ未満のタッチポイントしか利用可能でない場合、方法700は、それらタッチポイントがユーザの手の指に対応することを指し示す互いの距離(例えば、2-3インチ)内にある少なくとも3つのタッチポイントを選択することができる。タッチポイントから規定距離内に2つ未満のタッチポイントしかない場合、方法700は、一例において、情報不十分のためにユーザの方位を決定することができないことのインジケーションをユーザに提供することができる。他の一例において、3つ以上のタッチポイントを含まないタッチジェスチャは無視されることができる。
【0029】
ブロック740にあるように、最上位のタッチポイントについて、タッチポイントにフィッティングされた円の中心点から最上位のタッチポイントに延びる向きを持つベクトルを計算することができる。例えば、この円は、3つ以上のタッチポイントを用いて当該円を計算することによって、タッチポイントにフィッティングされることができる。5本指ジェスチャの場合、親指タッチポイント、中指タッチポイント、及び小指タッチポイントを用いて円を計算することができる。その後、人差し指タッチポイント及び薬指タッチポイントが円の半径を中心とする閾値の中に含まれるかの判定を行うことができる。人差し指タッチポイント及び薬指タッチポイントが円の半径を中心としる閾値の中に含まれるという判定が為された場合、そのタッチジェスチャは、タッチジェスチャに関連するユーザに対応するようにユーザインタフェースの方向決めを作動させる5本指タッチジェスチャとして正当であるとして認められることができる。そして、円の中心点から中指タッチポイントへの方向に延びるようにベクトルを計算することができる。
【0030】
ベクトルを計算した後、ブロック750にあるように、ベクトルの向きに基づいて、タッチスクリーンに対するユーザの方位を決定することができる。例えば、ベクトルの向きは、ユーザが向いている可能性がある方向を表すことができる。ベクトルによって指し示される向きに基づいて、ユーザの方位に対応するようにユーザインタフェースの向きを合わせることができる。一例において、閾値又は許容誤差を用いて、ベクトルの向きが、ユーザが位置している可能性があるタッチスクリーンのエッジに対応しているかを判定することができる。例えば、前述のように、タッチスクリーン上のユーザの手の配置は、タッチスクリーンのエッジに対して完全には垂直でないことがある。従って、タッチスクリーンの直角からのバラつきを表す閾値を用いて、ベクトルの向きがタッチスクリーンのエッジに対応しているかを判定することができる。一例において、閾値又は許容誤差は、タッチスクリーンのエッジの直角のそれぞれの側に0度と45度との間のどこかの範囲とし得る。理解されるように、ベクトルの向きが、ユーザが位置している可能性があるタッチスクリーンのエッジに対応しているかを判定するために、他の閾値又は許容誤差値を用いることができる。
【0031】
ブロック760にあるように、タッチスクリーンに対するユーザの方位に対応するようにタッチスクリーン上にユーザインタフェースを表示することができる。例えば、ユーザに面して、タッチスクリーンのユーザ視点に一致するようにユーザインタフェース104をタッチスクリーン102上に表示して、ユーザがユーザインタフェース104とインタラクトすることを可能にすることができる。一例において、ユーザインタフェースは、タッチジェスチャが検出されたタッチスクリーン上の場所の近くに位置付けられることができる。例えば、タッチジェスチャの場所を用いて、ユーザインタフェースを表示すべきタッチスクリーン上の位置(例えば、タッチジェスチャが検出された場所の下、上、隣など)を決定することができる。
【0032】
図8は、この技術のモジュールを実行することができるコンピューティング装置810を示している。当該技術のハイレベル例が実行され得るコンピューティング装置810が示されている。コンピューティング装置810は、メモリデバイス820と通信する1つ以上のプロセッサ812を含むことができる。コンピューティング装置810は、当該コンピューティング装置内のコンポーネント用のローカル通信インタフェース818を含むことができる。例えば、ローカル通信インタフェース818は、ローカルデータバス及び/又は所望され得るような任意の関連アドレスもしくは制御バスとすることができる。
【0033】
メモリデバイス820は、(1つ以上の)プロセッサ812によって実行可能なモジュール824、及びモジュール824に関するデータを含むことができる。一例において、メモリデバイス820は、オペレーティングシステムモジュール、ユーザインタフェース(UI)モジュール、ユーザ方位モジュール、及び他のモジュールを含むことができる。モジュール824は、前述の機能を実行することができる。また、モジュール824及び他のアプリケーションに関連するデータを、(1つ以上の)プロセッサ812によって実行可能なオペレーティングシステムと共に格納するためのデータストア822も、メモリデバイス820内に置くことができる。
【0034】
他のアプリケーションも、メモリデバイス820内に格納されることができ、そして、(1つ以上の)プロセッサ812によって実行可能であるようにされ得る。この明細書にて説明されるコンポーネント又はモジュールは、これらの方法の混成を用いてコンパイルされ、インタープリットされ、又は実行される高水準プログラミング言語を用いてソフトウェアの形態で実装されることができる。
【0035】
当該コンピューティング装置はまた、当該コンピューティング装置によって使用可能なI/O(入力/出力)装置814へのアクセスを有し得る。I/O装置の一例は、例えばタッチスクリーンなどのディスプレイスクリーン830を含み得る。ネットワーキングデバイス816及び同様の通信デバイスが当該コンピューティング装置に含められ得る。ネットワーキングデバイス816は、インターネット、LAN、WAN、又は他のコンピューティングネットワークに接続する有線又は無線のネットワーキングデバイスとすることができる。
【0036】
メモリデバイス820に格納されるとして示されているコンポーネント又はモジュールは、(1つ以上の)プロセッサ812によって実行されることができる。用語“実行可能”は、プロセッサ812によって実行されることが可能な形態をしたプログラムファイルを意味することができる。例えば、より高水準の言語のプログラムは、メモリデバイス820のランダムアクセス部分にロードされてプロセッサ812によって実行されることが可能なフォーマットの機械語へとコンパイルされることができ、あるいは、別の実行可能プログラムによってソースコードがロードされインタープリットされて、プロセッサによって実行される命令をメモリのランダムアクセス部分に生成することができる。実行可能プログラムは、メモリデバイス820の任意の部分又はコンポーネントに格納されることができる。例えば、メモリデバイス820は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、ソリッドステートドライブ、メモリカード、ハードドライブ、光ディスク、フロッピーディスク(登録商標)、磁気テープ、又は任意の他のメモリコンポーネントとすることができる。
【0037】
プロセッサ812は、複数のプロセッサを表すことができ、メモリデバイス820は、処理回路と並列に動作する複数のメモリユニットを表すことができる。これは、システム内のプロセス及びデータのための並列処理チャネルを提供することができる。ローカル通信インタフェース818は、複数のプロセッサのいずれかと複数のメモリとの間の通信を容易にするためのネットワークとして使用されることができる。ローカル通信インタフェース818は、例えば負荷分散、バルクデータ転送、及び類似のシステムなどの通信を調整するために設計された更なるシステムを使用してもよい。
【0038】
この技術に関して提示されるフローチャートは、特定の実行順序を暗に示しているかもしれないが、実行順序は、示されるものとは異なってもよい。例えば、2つ以上のブロックの順序が、示された順序に対して並び替えられてもよい。また、連続して示される2つ以上のブロックが並列に実行されたり、部分的に並列にして実行されたりしてもよい。一部の構成では、フローチャートに示される1つ以上のブロックが省かれたりスキップされたりしてもよい。高められたユーティリティ、会計処理、性能、測定、トラブルシューティングのために、又は類似の理由のために、任意数のカウンタ、状態変数、警告セマフォ、又はメッセージが論理フローに追加されてもよい。
【0039】
この明細書にて説明される機能ユニットの一部は、それらの実装独立性をより強調するために、モジュールとしてラベル付けされている。例えば、モジュールは、カスタムVLSI回路若しくはゲートアレイ、例えばロジックチップなどの市販の半導体、トランジスタ、又は他のディスクリートコンポーネントを有するハードウェア回路として実装され得る。モジュールはまた、例えばフィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、又はこれらに類するものなどの、プログラマブルハードウェアデバイスにて実装されてもよい。
【0040】
モジュールはまた、様々なタイプのプロセッサによる実行のためにソフトウェアにて実装され得る。実行可能コードの識別されたモジュールは、例えば、オブジェクト、プロシージャ、又は関数として編成され得るものであるコンピュータ命令の1つ以上のブロックを有し得る。そうとはいえ、識別されたモジュールの実行ファイルは、物理的に一緒に置かれる必要はなく、そのモジュールを構成する別々の場所に格納された複数の異なる命令を有して、論理的に共に結合されるときに記載のそのモジュールの目的を達成してもよい。
【0041】
実際、実行可能コードのモジュールは、単一の命令であってもよいし、多数の命令であってよく、また、幾つかの異なるコードセグメント上に、複数の異なるプログラム間で、及び幾つかのメモリデバイスにまたがって分散されてもよい。同様に、動作データは、ここではモジュール内で識別されて示され得るとともに、任意の好適形態で具体化され、任意の好適タイプのデータ構造内で編成され得る。動作データは、単一のデータセットとして収集されてもよいし、複数の異なるストレージ装置上を含め、複数の異なる位置にわたって分散されてもよい。モジュールは、所望の機能を実行するように動作可能なエージェントを含め、受動的であってもよいし能動的であってもよい。
【0042】
ここに記載される技術は、例えばコンピュータ読み取り可能命令、データ構造、プログラムモジュール、又は他のデータなどの情報の記憶のための任意の技術で実装される、揮発性及び不揮発性の、取り外し可能及び非取り外し可能な媒体を含むコンピュータ読み取り可能記憶媒体に格納されてもよい。コンピュータ読み取り可能記憶媒体は、以下に限られないが、例えばRAM、ROM、EEPROM、フラッシュメモリ若しくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)若しくは他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージ装置などの、非一時的な機械読み取り可能記憶媒体、又は所望の情報及び記載の技術を格納するのに使用され得る任意の他のコンピュータ記憶媒体を含む。
【0043】
ここに記載される装置はまた、装置が他の装置と通信することを可能にする通信接続又はネットワーキング装置及びネットワーキング接続を含み得る。通信接続は通信媒体の一例である。通信媒体は、典型的に、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、及び例えば搬送波若しくは他の輸送機構などの変調データ信号内の他のデータを具現化し、任意の情報送達媒体を含む。“変調データ信号”は、その特性のうち1つ以上が信号に情報をエンコードするようにして設定又は変化される信号を意味する。
限定ではなく例として、通信媒体は、例えば有線ネットワーク若しくは直接配線接続などの有線媒体、並びに、例えば音響、無線周波数、赤外線及び他の無線媒体などの無線媒体を含む。ここで使用されるとき、コンピュータ読み取り可能媒体という用語は通信媒体を含む。
【0044】
図面に示した例を参照するとともに、それらを説明するためにここでは特定の言語を使用した。そうとはいえ、それによって当該技術の範囲への限定が意図されていないことが理解されるであろう。ここに示した機構の改変及び更なる改良、並びにここに示した例の更なる応用は、本説明の範囲内であるとみなされるべきである。
【0045】
また、記載された機構、構造、又は特性は、1つ以上の例において好適に組み合わされ得る。先の説明においては、記載される技術の例の十分な理解を提供するため、例えば様々な構成の例など、数多くの具体的詳細事項を提供した。しかしながら、認識されることには、当該技術は、これらの具体的詳細事項のうちの1つ以上を用いずに実施されてもよいし、あるいは、他の方法、コンポーネント、装置などを用いて実施されてもよい。また、周知の構造又は処理については、当該技術の態様を不明瞭にすることがないよう、詳細に示したり説明したりしていない。
【0046】
主題事項を構造上の機構及び/又は動作に特有の言語で説明してきたが、理解されるべきことには、添付の請求項に規定される主題事項は、必ずしも上述の特定の機構及び動作に限定されるわけではない。むしろ、上述の特定の機構及び動作は、請求項を実施することの形態例として開示されている。記載された技術の精神及び範囲から逸脱することなく、数多くの変形及び代替構成が考案され得る。
【国際調査報告】