JP6641306B2 - タッチ分類 - Google Patents

タッチ分類 Download PDF

Info

Publication number
JP6641306B2
JP6641306B2 JP2016575483A JP2016575483A JP6641306B2 JP 6641306 B2 JP6641306 B2 JP 6641306B2 JP 2016575483 A JP2016575483 A JP 2016575483A JP 2016575483 A JP2016575483 A JP 2016575483A JP 6641306 B2 JP6641306 B2 JP 6641306B2
Authority
JP
Japan
Prior art keywords
classification
touch
blob
frame
rating
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
JP2016575483A
Other languages
English (en)
Other versions
JP2017529582A (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2017529582A publication Critical patent/JP2017529582A/ja
Application granted granted Critical
Publication of JP6641306B2 publication Critical patent/JP6641306B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/027Frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/044Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means by capacitive means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computational Linguistics (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Transition And Organic Metals Composition Catalysts For Addition Polymerization (AREA)
  • Automatic Disk Changers (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)
  • Sorting Of Articles (AREA)

Description

[0001] 本開示のより完全な理解のために、以下の詳細説明および添付図面に対する参照がなされる。ここで、同一の符番は、図面において同一の要素を識別するために使用され得る。
[0002]一例によるタッチ分類のために構成されたシステムのブロック図である。 [0003]一例によるタッチ分類のためのコンピュータによって実施される方法のフロー図である。 [0004]一例による図2の方法の非バイモーダルなスコアリング手順のフロー図である。 [0005]別の例による図2の方法の非バイモーダルなスコアリング手順のフロー図である。 [0006]開示された方法およびシステム、または、その1つまたは複数の構成要素または態様の実施のための一例によるコンピューティング環境のブロック図である。
[0007] 開示されたシステムおよび方法は、様々な形式における実施形態に影響されやすいが、本開示は、例示的であることが意図され、本発明を本明細書で説明および例示された特定の実施形態へ限定することは意図されていないという理解の下、特定の実施形態が、図面において例示される(また、その後、説明される)。
[0008] コンピューティングデバイスのタッチセンサ面におけるタッチイベントの分類のための方法、システム、およびコンピュータプログラム製品が提供される。意図的なタッチと意図的ではないタッチとを区別するために、マシン学習分類器が使用される。意図的ではないタッチイベントは、うっかりしてユーザの手のひらから、または他の形でタッチセンサ面に接触することによって生じ得る。他の意図的ではないタッチは、ハンドヘルドデバイスのベゼル上における親指または手の他の部分を含み得る。この区別は、意図的ではないそのようなイベントが、コンピューティングデバイスによって拒否または無視されることを可能にし得る。意図的ではないタッチイベントの拒否は、計画的な指またはスタイラス(またはペン)によるタッチのような意図的なタッチイベントの適切な認識と組み合わされて、コンピューティングデバイスとの向上されたユーザ体験を提供し得る。場合によっては、分類技術はまた、たとえば、指によるタッチイベントとペンによるタッチイベントとのように、異なるタイプの意図的なタッチをも区別し得る。この区別はまた、分類の信頼度または曖昧さレベルを示すデータを生成するステップを含み得る。
[0009] 分類技術は、スタイラスによるタッチまたはペンによるタッチのために構成されたタッチシステムによって提示される課題に対処し得る。たとえば、スタイラスまたは他のペン器具を用いてタッチセンサ面上にマークを加える過程において、ユーザは、面上に自分の手のひら(または手または手首の他の部分)をうっかりして載せ得る。コンピューティングデバイスは、その後、このうっかりした手のひらの接触を、正しい入力動作として誤って解釈し得る。これによって、コンピューティングデバイスによる潜在的に望まれない振る舞いを引き起こす。他の意図的ではないタッチは、ユーザが、面の他の部品に対して手(または、その同じ手に保持されたペンまたはスタイラス)を偶然に払ったり突くことを含み得る。分類技術によって対処され得るさらに別のスタイラス関連の課題は、しばしばスクリーンに接触している、スタイラスを保持していない指を正しく分類するステップを含む。問題をより困難にすることには、手のひらが、スクリーンの端部の近くにタッチした場合、手のひらのごくわずかな部分のみが、タッチセンサ面によって検出され得る。分類技術は、タッチセンサ面に接触している手のひらのエリアが減少しても、手のひらを正しく分類し得る。
[0010] 分類技術は、意図的なタッチと意図的ではないタッチとをリアルタイムで確実に区別する計算複雑さの少ない処理を提供し得る。この技術は、ユーザインターフェース応答に不適切な遅延をもたらすことなく、低い誤り率を達成し得る。フォールスポジティブ(意図的ではないタッチの入力)およびフォールスネガティブ(失敗した意図的なタッチ)が、マシン学習分類器の設定、および/または、この技術の他の態様によって回避される。マシン学習分類器は、(たとえば、多数の人々からの)タッチの各タイプについて収集されたセンサ像(または、フレームデータ)によって学習され得る。よって、分類技術は、ユーザインターフェース処理におけるレイテンシを最小化するための単純なアルゴリズムに必ずしも依存する必要はない。マシン学習分類は、確実な分類をリアルタイムで、すなわち、レイテンシ効果をもたらすことなく提供する。
[0011] 異なるメモリの量または利用可能な他のコンピューティングリソースを有するコンピューティングデバイスにおいて、精度の向上が実現され得る。異なるマシン学習分類器は、異なるリソースレベルを適応させるために使用され得る。たとえば、場合によっては、マシン学習分類器は、条件付き確率分布を提供するように構成されたランダム決定フォレスト(RDF)分類器として構成される。RDF分類器は、数10キロバイトのオーダのメモリ上に、RDFツリーデータ構造のストレージを含み得る。よって、RDF実施は、(たとえば、中央処理ユニットまたはグラフィック処理ユニットのような)汎用プロセッサを用いて、オペレーティングシステムレベルのようなソフトウェアレベルで、タッチ分類が生じる場合において有用であり得る。
[0012] 分類技術はまた、メモリおよび他のコンピューティングリソースがより制約されるコンピューティング環境においても実施され得る。場合によっては、マシン学習分類は、1つまたは複数のルックアップテーブルとして実施される決定ツリー分類器によって提供される。ルックアップテーブルの、より小さな分類データ構造は、分類が、マイクロコントローラおよび他のリソース制約ハードウェアによって実施される場合に有用である。よって、分類技術は、広範囲のコンピューティングプラットフォームにおいて実施され得る。以下では、RDFおよびルックアップテーブルの例に関連して説明されるが、分類技術は、どの特定のタイプのマシン学習分類器にも限定されない。たとえば、ニューラルネットワーク、ファジーロジック、サポートベクトルマシン、およびロジスティック回帰分類器が使用され得る。
[0013] 分類技術は、分類の精度を向上するために、タッチイベントの多数のフレームにわたってタッチ情報を集約するように構成される。集約は、単一の画像またはフレームのみに基づいてタッチイベントを分類することを試みる際に生じ得る問題を回避する。たとえば、手のひらが、最初に面に接触する場合、または、手のひらが、面からほとんど取り除かれた場合に、手のひらは、意図的なタッチと類似して見え得る。何れかのポイントにおいて、手のひらのほんの小さな部分のみが検出され得る。場合によっては、集約は、多数のフレームにわたって分類スコアを集約するステップを含む。他の場合には、集約は、多数のフレームにわたってタッチのプロパティまたは特性を集約するステップを含む。さらに他の場合には、分類技術は、両方のタイプの集約の組合せを使用し得る。集約はまた、ユーザが電気的なフローティングの状態にある(たとえば、ユーザは、接地に対して良好な高周波数接続を有していない)ことによって、通常、手のひらが接触した広いエリアが、消える傾向にある場合のように、他の状況から生じるフォールスポジティブを回避することに役立ち得る。
[0014] マシン学習分類器は、多数の非バイモーダルな分類スコアを提供するように構成される。各非バイモーダルな分類スコアは、マシン学習分類における曖昧さまたは信頼度のレベルを示す。分類スコアの性質は、たとえば、使用される分類器のタイプにしたがって変動し得る。たとえば、各分類スコアは、分類スコアが、確率値である(たとえば、0と1との間にある浮動小数点または他の非整数)という観点において非バイモーダルであり得る。(たとえば、タッチイベントの各タイプについて1のような)多数の確率値が提供され得る。他のタイプの分類スコアは、代わりに、整数を使用し得る。たとえば、分類スコアは、可能なスコアの範囲(たとえば、−9から+9)にあるスコアレーティングであり得る。そのような場合には、最終的な、合成レーティングを判定するために、多数の非バイモーダルなスコアが結合(たとえば、総和)され得る。たとえば、多数のルックアップテーブルからの非バイモーダルなスコアが、各フレームのために結合され得る。これは、その後、タッチイベントに関連付けられたフレームのすべてにわたって集約され得る。他のタイプの非バイモーダルなスコアが使用され得る。たとえば、分類スコアの確率およびレーティングタイプは、混成分類アプローチを提供するために、可変範囲へ統合され得る。
[0015] 「指タッチ」という用語は、本明細書では、ユーザの手または他の身体部分を含む何れかの計画的すなわち意図的なタッチイベントを指すために使用される。たとえば、指タッチは、親指の側面が、タッチセンサ面に接触することを含み得る。これは、たとえば、2本の指ズームジェスチャの間に生じ得る。タッチは、直接的または間接的であり得る。たとえば、タッチは、手袋をはめた手で、または他の形で服を着た身体部分でなされ得る。
[0016] 「ペンタッチ」という用語は、ペン、スタイラス、または、タッチセンサ面とインタラクトするためにユーザによって保持されている他の物体を含む種々の異なる意図的なタッチを指すために使用される。コンピューティングデバイスは、パックと、ブラシまたはエアブラシのような専用ツールと、モバイルデバイスと、玩具と、他の物理的なアイコンまたは実体的な物体とを含む様々な別個のまたはタグ付けられた物理的な物体と使用するために構成され得る。
[0017] 「タッチ」という用語は、タッチセンサ面に関連付けられた入力センサによって検出されたタッチセンサ面との任意のインタラクションを指すために使用される。タッチは、直接的な物理的な接触を含まなくても必要としなくてもよい。インタラクションは、間接的であり得る。たとえば、タッチセンサ面は、近接センサと共に構成され得る。インタラクションは、電磁界のような様々な物理的なプロパティで検出され得る。よって、たとえば、指または手による接触、ペンまたはスタイラスによる接触、浮遊ベースの入力、タグ付けされた物体、および、入力面に接触して、または他の形で入力面に近接して配置された他の任意の物体を含むタッチの性質および/またはソースは、変動し得る。したがって、分類技術は、投影された容量、光、および/または、他の感知技術を含むジェスチャおよび浮遊タイプのタッチイベントに関連して有用であり得る。
[0018] 「手のひら」および「手のひらのタッチ」のような用語は、タッチセンサ面とのタッチまたは他のインタラクションとして解釈されるようにユーザによって意図されていない1つまたは複数の任意の身体部分を含む接触または他のタッチ面インタラクションを指すために使用される。身体部分は、手の指関節、指の側面、手首もしくは前腕、または他の身体部分のような、手のひらに加えた手の他の部分を含み得る。
[0019] 分類技術は、種々のハンドヘルドおよび他のコンピューティングデバイスを用いて有用であり得る。よって、タッチセンサ面と、タッチセッサ面とのインタラクションの性質とは、相応して変化し得る。よって、意図的なタッチは、ユーザの指先または指を含むことに限定されない。分類技術は、1つまたは複数のタッチセンサ面または領域(たとえば、タッチスクリーン、タッチセンサのベゼルまたは場合、浮遊タイプの入力の検出のためのセンサ、光タッチセンサ等)を有する任意のタッチセンサ式コンピューティングデバイスに関連して互換性があり有用である。タッチベースのコンピューティングデバイスの例は、限定されないが、コンピューティングデバイスに接続されたタッチセンサ式ディスプレイデバイス、タッチセンサ式電話デバイス、タッチセンサ式メディアプレーヤ、タッチセンサ式eリーダ、ノートブック、ネットブック、ブックレット(デュアルスクリーン)、または、タブレットタイプのコンピュータ、または、1つまたは複数のタッチセンサ面を有する他の任意のデバイスを含む。よって、タッチセンサ式コンピューティングデバイスのサイズおよび波形率は変動し得る。たとえば、タッチセンサ面のサイズは、ハンドヘルドまたはウェアラブルコンピューティングデバイスのディスプレイから、壁掛けディスプレイまたは他の大型フォーマットディスプレイスクリーンに及ぶことがある。しかしながら、タッチセンサ面は、ディスプレイまたはタッチスクリーンに関連付けられることも、関連付けられないことも、ディスプレイまたはタッチスクリーンを含むことも、含まないこともあり得る。たとえば、タッチセンサ面は、トラックパッドとして提供され得るか、または、たとえば、マイクロソフト社のKinectデバイスを使用して実施され得るように、タッチ入力が検出される空間における平面として実現される仮想面であり得る。
[0020] 分類技術は、容量性タッチシステムに関連して説明される。本明細書では、容量性感知を参照しているにも関わらず、本明細書で説明されたタッチ分類技術は、任意の特定のタイプのタッチセンサに限定されない。あるいは、タッチセンサ面は、抵抗、音響、光、および/または、他のタイプのセンサを使用し得る。よって、タッチセンサ面は、代わりに、圧力、光、変位、熱、抵抗、および/または、他の物理的なパラメータにおける変化を検出し得る。タッチセンサ面がスタイラスまたはペンのような入力デバイスをどのように検出するかは変動し得る。たとえば、ペンは、パッシブおよび/またはアクティブであり得る。アクティブなペンは、タッチセンサ面によって検出された信号を放射または再送信し得る。パッシブなペンは、近接度検出の目的のためにタッチセンサ面の電磁界または他の特性と干渉するたとえばスタイラスの先端の中の磁石または他の物体または素材を含み得る。タッチセンサ技術の性質の他の態様は変動し得る。
[0021] 図1は、タッチ分類を実施するように構成されたタッチセンサ式デバイス100を描写する。デバイス100は、タッチシステム102およびタッチセンサ面104を含む。タッチセンサ面104は、タッチスクリーンまたは他のタッチセンサ式ディスプレイであり得る。任意の数のタッチセンサ面104が含まれ得る。この例では、デバイス100はまた、プロセッサ106および1つまたは複数のメモリ108を含む。タッチシステム102は、タッチセンサ面104と、プロセッサ106およびメモリ108によってサポートされるオペレーティング環境との間のインターフェースまたは他の仲介として役立ち得る。プロセッサ106は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、または他の任意の専用プロセッサまたは処理ユニットのような汎用プロセッサであり得る。任意の数のそのようなプロセッサまたは処理ユニットが含まれ得る。
[0022] タッチシステム102は、タッチセンサ面104において生じたタッチイベントを示すデータを提供するために、プロセッサ106および/またはメモリ108へ通信可能に結合され得る。タッチイベントデータは、タッチイベントの場所およびタイプを指定し得る。このデータはまた、タイプの割当における曖昧さレベルをも表し得る。追加の、より少ない、または代替の情報が、イベントタイプに関連してタッチシステム102によって提供され得る。たとえば、タッチイベントタイプは、タッチイベント識別コードを示すデータと共に提供され得る。タッチイベントの場所および/または他の情報は、タッチシステム102によって個別に提供され得る。
[0023] 図1の例では、タッチシステム102は、1つまたは複数のタッチセンサ110、ファームウェアおよび/またはドライバ112、プロセッサ114、および1つまたは複数のメモリ116を含む。プロセッサ114は、各メモリ116および/またはファームウェア/ドライバ112へ通信可能に結合される。プロセッサ114は、タッチセンサ面104を介してキャプチャされたフレームデータを取得するように構成される。フレームデータは、タッチセンサ面104を介してキャプチャされた複数のフレームを表す。各フレームのフレームデータは、面104においてタッチイベントが生じている範囲の画像をともに形成する値または画素の行列を含み得る。各画素の値は、センサ110が面104上の特定の場所において検出したタッチの量を示す。フレームデータは、タッチセンサ110の生の出力データを含み得るか、および/または、生の出力データの処理された表現を含み得る。
[0024] フレームデータがプロセッサ114によってどのように取得されるかは変動し得る。たとえば、フレームデータは、ファームウェア/ドライバ112を介して受信され得、および/または、メモリ116にアクセスすることによって取得され得る。
[0025] フレームデータは、その代わりに、または、それに加えて、プロセッサ106によって取得され得る。場合によっては、プロセッサ106は、タッチタイプ判定を実施する目的のためにフレームデータを取得する。そのような場合には、プロセッサ114は、センサ110を制御するように指示され得るか、および/または、判定のための1つまたは複数の前処理、または、準備における他のタスクを実施するように構成され得る。タッチ分類技術のフレームデータおよび他の態様の処理は、プロセッサ106とプロセッサ114との任意の組合せによって実施され得る。他の例では、デバイス100は、フレームデータを取得し処理する目的のために、単一のプロセッサ(すなわち、プロセッサ106、プロセッサ114、または異なるプロセッサの何れか)を含む。
[0026] デバイス100におけるタッチシステムハードウェアの構成および配置は変動し得る。たとえば、各タッチセンサ110は、代わりに、タッチセンサ面104の構成要素として構成され得る。ファームウェア112を介して提供されるドライバおよび他の情報は、代わりに、メモリ116に記憶され得る。
[0027] プロセッサ114は、メモリ116および/またはメモリ108に記憶された多くの命令セットを実行するように構成される。命令セットは、各々のソフトウェアモジュールとして整えられ得る。モジュールまたは他の命令セットは、任意の所望の範囲まで統合され得る。命令セットは、ブロブ定義命令118、特性計算命令120、およびマシン学習分類命令122を含む。ブロブ定義命令118は、フレームデータの多数のフレームにわたるタッチイベントのための、ブロブまたは接続された構成要素を定義するように指示され得る。各々のブロブは、タッチイベントが生じる各フレームにおいて定義され得る。特性計算命令120は、ブロブのプロパティまたは特性を計算するように指示され得る。各特性は、タッチイベントのタイプを識別することに役立ち得るブロブの態様を特徴付け得る。マシン学習分類命令122は、特性セットに基づいて、マシン学習分類によってタッチイベントのタイプを判定するように指示される。分類の出力は、多数の非バイモーダルな分類スコアを含む。これは、分類における曖昧さのレベルを識別する。その目的のために、特性セットがマシン学習分類器へ適用され、分類スコアが生成され得る。各命令セットは、以下の多数の例に関連して説明される。追加の命令、モジュール、または命令セットが含まれ得る。たとえば、マシン学習分類器の出力に基づいてタッチタイプを生成し、および/または、タッチタイプを示すデータをプロセッサ106またはデバイス100の他の構成要素へ送信するための1つまたは複数の命令セットが含まれ得る。
[0028] プロセッサ114は、タッチイベントのための複数のフレームの各フレームにおける各々のブロブを定義するために、ブロブ定義命令118を実行し、フレームデータを解析するように構成される。与えられたタッチイベントは、任意の数のフレームに及び得る。多数のフレームにわたるブロブの定義は、タッチイベントを分類する際に処理されるべき入力データを確立する。
[0029] ブロブ定義命令118は、プロセッサ114に対して、解析のためのフレームデータを準備するために多くの事前処理動作を実行させ得る。たとえば、フレームデータ(たとえば、生のフレームデータ)は、解析(たとえば、ブロブ定義解析)前に、アップサンプルおよび/またはしきい値化され得る。フレームデータをアップサンプルするステップは、4x、または、バイリニア補間による他のアップサンプリングレートを含み得る。バイキュービック、畳み込み、およびニアレストネイバー技術のような他のアップサンプル手順が使用され得る。他の手順が使用され得る。場合によっては、フレームデータは、アップサンプリング無しで、しきい値化無しで、または、アップサンプリング無しでしきい値化も無く解析される。たとえば、フレームデータは、ルックアップテーブル分類器が使用される場合によっては、アップサンプルされない。
[0030] フレームデータをしきい値化するステップは、ノイズによるフレームデータ内の小さな変動を除去するように指示され得る。たとえば、しきい値未満の強度値を有するフレームデータにおけるすべての画素をゼロ値にリセットするために、あらかじめ決定された強度しきい値が使用される。ノイズを除去するために、追加のまたは代替のフィルタリング技術が使用され得る。フレームデータがアップサンプルされる場合には、しきい値化は、アップサンプリング後に実施される。
[0031] フレームデータしきい値は、タッチシステム102によって使用される他のしきい値と異なり得る。たとえば、フレームデータしきい値は、タッチイベントを検出するためにタッチシステム102によって使用されるしきい値よりも低くなり得る。より低いしきい値は、面104との実際の接触の前および後に手のひらおよび/または他のタッチイベントを検出する際に有用であり得る。たとえば、接触の直前に(たとえば、手のひらが、面104に接近すると)手のひらを検出するステップは、手のひらのタッチを、意図されたタッチから区別する目的のために、1つまたは複数の追加のデータのフレームを提供し得る。場合によっては、しきい値は、タッチシステムしきい値の設定可能な、または、あらかじめ決定されたパーセンテージとして確立され得る。これは、タッチシステム102によって検出されたノイズのレベルに依存する可変しきい値であり得る。
[0032] しきい値化は、あるいは、または、その代わりに、画素毎ベースでフレームデータの2進法表現を生成するように構成および指示され得る。各画素は、しきい値に対する画素の強度値に基づいて、「オン」または「オフ」の何れかである。フレームデータの2進法表現は、フレームデータにおけるブロブを定義するための処理を単純化するために使用され得る。
[0033] ブロブは、どの「オン」画素(たとえば、非ゼロ強度を有する画素)が他の「オン」画素に隣接しているのかを判定するために、フレームデータを解析することによって、フレームデータにおいて定義される。そのような隣接した画素は、互いに接続されていると考慮される。接続されている画素のグループは、その後、フレーム画像における接続された構成要素またはブロブであると考慮される。各フレームは、多くのブロブを有し得る。それら各々は、個別に分類され得る。接続されている構成要素の解析が、フレーム内のすべてのブロブを検出するために、フレームデータセット全体にわたって実行される。ブロブ定義命令118は、それに関する将来の処理を追跡および指示する目的のために、各ブロブへ識別子を割り当てるようにプロセッサ114へ指示し得る。
[0034] 多くの場合において、各ブロブは、面104に接触している個別の物体に対応する。しかしながら、2つ以上のブロブが同じ物体によって誘導される場合がある。たとえば、手のひらのタッチ接触はしばしば、2つ以上の不連続なブロブへ分割される。他の場合には、単一のタッチブロブは、たとえば、互いに触れている指の指先のように、互いに非常に近接している複数の物体の結果である。よって、フレームデータの接続されている構成要素の解析はさらに、これら潜在的な複雑さに対処するために、フレームデータのさらなる処理を含み得る。たとえば、ブロブ定義命令118は、プロセッサ114に対して、ブロブ分割および/またはブロブ合併が保証されているか否かを判定するために、さらにフレームデータを解析させ得る。
[0035] ブロブ分割解析では、各ブロブは、ブロブが、近い指に属する複数の指先の接触の結果であるか否かを判定するために解析され得る。この判定は、分類器を使用し得る。多数の指に対応すると認められたブロブは、解析のために個別のサブブロブへ分割される。一例では、各指先タッチの座標は、ブロブにおけるローカルな最大値(たとえば、8つすべての直接的な近隣以上の強度値を有する画素)の位置に基づいて判定される。指先は、ブロブにおける各強度ローカル最大値に配置されていると仮定され、ブロブは、オリジナルのブロブにおける各画素を、その場所(たとえば、ローカル最大値)が画素に最も近い指先に関連付けられたサブブロブへ割り当てることによってサブブロブへ分割される。
[0036] 所与のブロブが、実際に、多数の指先から生成されたか否かに関する決定は、分類器を使用して実現され得る。一例では、分類器は、1つまたは複数の決定ツリーによって実施される。しかし、様々な異なる分類器が使用され得る。分類器は、マシン学習されることも、されないこともあり得る。たとえば、分類器は、経験的または他のデータに基づいて手動で生成され得る。
[0037] 1つの典型的なブロブ分割手順では、所与のしきい値以上の強度を有するブロブにおけるすべてのローカル最大値の座標(サブ画素精度におけ得る)のリストが生成される。リストにおける最大値は、最短の探索(すなわち、リストにおけるすべてのローカル最大値にわたる最短経路)からなる可能な順序のうちの1つにおいてソートされる。しきい値は、指先に対応するローカル最大値によって達成される最小強度値として、学習データから見出される。
[0038] 分類器によって適用される特性は、ブロブのエリアと、ローカル最大値の数と、ソートされたグループにおける(すなわち、最短経路の順序における)連続的なローカル最大値間の距離と、ソートされたグループにおける連続したローカル最大値を接続する線に沿った強度におけるバリエーションとであり得るか、これらを含み得る。よって、分類器は、ローカル最大値と、強度がローカル最大値の間で降下する範囲との間の距離に応じて構成され得る。
[0039] ブロブが多数の指先に対応すると認められるのであれば、ブロブは、個別のブロックへ分割される。各個別のブロックは、ローカル最大値の各々に関連付けられる。そのような各ブロブは、オリジナルのブロブからの画素のサブセットによって形成されるか、このサブセットを含む。オリジナルのブロブにおける画素は、より近い(または最も近い)ローカル最大値を有する新たなブロブの各々に関連付けられる。
[0040] ブロブ分割は、タッチ分類におけるより多くの複雑さを含む場合において実施され得る。たとえば、ブロブ分割は、ランダム決定フォレスト分類器がタッチ分類のために使用される場合において実施され得る。他の場合には、ルックアップテーブルおよび他の低リソース分類器がタッチ分類のために使用されるいくつかの場合を含むブロブ分割は実施されない。それでもやはり、ブロブ分割は、これらの場合のうちの何れかにおいて実施されることも、実施されないこともあり得る。
[0041] ブロブ分割が実施されない場合には、ブロブ定義命令118は、プロセッサ114に対して、各ブロブ内のローカル最大値を識別して記憶するように指示し得る。識別された各最大値を用いて、後続するフレームにおける各ブロブにおける変化(たとえば、各ブロブ内で発見されたローカル最大値)が追跡され得る。たとえば、指先が別々に広げられた場合、ブロブが、2つの個別のブロブになるのであれば、2つの個別のブロブの個別の分類をサポートするために、ローカル最大値が使用され得る。最大値の場所は、それに加えて、または、その代わりに、タッチイベントを、タッチシステム102の他の部分によって検出された潜在的なタッチに相関付けるために使用され得る。たとえば、ファームウェア112、メモリ116、および/または、別のメモリは、分類無しでタッチイベントを検出するように指示された命令を含み得る。
[0042] 代わりの、または、追加のブロブ定義手順として、ブロブマージが実施され得る。ブロブマージでは、接近して間隔をおかれたブロブがともにマージされ、単一のブロブが生成される。マージは、後に処理され分類されるブロブの数を最小化するために実施され得る。したがって、マージは、ルックアップテーブルおよび別の低リソース分類プラットフォームにおいて実施され得る。マージはまた、近い指のタッチを、対応する手のひらとマージするために有用であり得る。ブロブがともにマージされる距離は、設定可能であり得る。一例では、この距離は、2画像画素である。これは、いくつかのタッチシステムにおいて約9mmに対応し得る。
[0043] 場合によっては、ブロブ定義命令118はまた、プロセッサ114に対して、ブロブをトラックへ割り当てるように指示する命令をも含み得る。「トラック」という用語は、(たとえば、物体が面104と接触している間に)一連の連続したフレームにわたって特定の物体によって生成されるブロブ(および基幹をなすフレームデータ)の集合を指すために使用される。トラック割当および定義は、何れかのブロブ分割またはマージの後に実施され得る。トラックの定義によって、多数のフレームにわたってブロブが被る動きおよび他の変化が追跡されるようになる。ブロブを特定のトラックへ割り当てることによって、各々のフレームにおけるブロブは、同じタッチイベントの一部として互いに関連付けられ得る。たとえば、連続したフレームにおけるブロブの数は、ユーザの指先が、スワイプジェスチャで面104にわたって移動するタッチイベントの一部として互いに関連付けられ得る。新たな各ブロブは、新たなトラックまたはアクティブなトラックの何れかへ割り当てられ得る。アクティブなトラックは、前のフレームに関して既に定義されたトラックである。
[0044] いくつかの場合では、2つの部分のマッチングによって、または、各々のフレームにおけるブロブの他の解析によって、新たなブロブがアクティブなトラックへ割り当てられ得る。現在のフレームにおいて検出されたブロブを、前のフレームにおけるブロブに関連付けるために、様々なマッチング技術が使用され得る。2つの部分のマッチングにおいて適用されるコスト関数は、新たな各ブロブの位置と、前のトラックの軌跡から推定されるような各トラックの接触点の予想される位置との間の距離に基づき得る。連続した各フレームによって表されるブロブは、トラックが拡張されるか、または、削除されるかを判定する。
[0045] アクティブなトラックと、関連付けられた属性とのリストは、タッチシステム102によって記憶される。図1の例では、リストは、データベース124に記憶される。データベース124は、メモリ116のうちの1つに記憶され得る。他のストレージ場所および/またはデータ構造が使用され得る。現在のブロブによって拡張されることができないトラックは、アクティブなトラックのリストから削除される。新たなアクティブなリストが、一致されることはないであろう各ブロブのリストへ追加されるか、あるいは他の形で既存のアクティブなトラックへ関連付けられ得る。ブロブ定義命令118は、ブロブを、トラックID番号のようなトラック識別子によってトラックに関連付けるように構成され得る。
[0046] ブロブ定義命令118は、トラックが完了した場合、ブロブ特性計算命令120へ制御を渡し得る。トラックは、少なくともあらかじめ決定されたフレームの数を拡張された場合、完了していると考えられる。たとえば、フレームの数は、3つのフレームであり得る。
[0047] トラックへのブロブの割当は、マシン学習分類において適用されるべき特性がトラックの特性を含んでいる場合に有用であり得る。トラック特性は、ランダム決定フォレスト(RDF)分類器を含む例に関連して以下に説明されるように、個々のブロブの特性に加えて適用され得る。トラックはまた、トラック特性が分類において使用されないものを含む他の場合においても使用され得る。さらに他の場合には、ブロブは、トラックへ割り当てられない。たとえば、トラックは、ルックアップテーブルと、小さな特性セットを有する他の低リソース分類技術とにおいて使用されないことがあり得る。
[0048] プロセッサ114は、各タッチイベントのための複数の特性セットを計算するために、特性計算命令120を実行するように構成される。各特性セットは、複数のフレームの各フレームにおける各々のブロブのプロパティを指定する。これらプロパティは、ブロブが定義されると、または、トラックが完了すると認められた場合のような後の時点において計算され得る。たとえば、ブロブ特性計算命令120は、プロセッサ114に対して、タッチイベントのタイプを判定する際にマシン学習分類器へ適用する前に特性セットデータを集約させるように構成され得る。他の場合には、将来の特性データセットの計算が実行中であれば、特定のブロブのための特性セットデータが、マシン学習分類器へ適用される。たとえば、第1のフレームのための特性セットデータのアプリケーションが、第2のフレームのための特性セットデータの計算と同時に分類器へ適用され得る。そのような同時処理は、特性データが各フレームについて個別に分類器へ適用される場合において有用であり得る。
[0049] 計算されるべきブロブプロパティは、変動し得る。ランダム決定フォレスト(RDF)分類器を含む一例では、以下のブロブプロパティの任意の組合せが、各ブロブについて計算され得る。(i)エリア;重み付けられた質量中心(たとえば、Σ(x,y)∈Blob)(x,y)*Intensity(x,y))、(ii)最小、最大、および中間の強度、(iii)最小、最大、および中間の強度勾配の大きさ、(iv)境界、(v)円周の商(すなわち、4*PI*エリア/境界*2)のような真円度メトリック、(vi)重み付けられた質量中心から最も近い画像端までの距離、(vii)画像端におけるブロブ画素の平均強度(すなわち、画素は、画像における最初または最後の行または列に沿っている)、(viii)画像端における幅(すなわち、画像端におけるブロブ画素の数)、(ix)重み付けられた質量中心を中心とする(生またはしきい値化されたフレームデータからの)5×5の画像パッチの外観、および(x)重み付けられた質量中心を中心とする(生またはしきい値化されたフレームデータからの)17×17の画像パッチの外観。画像パッチの外観は、パッチにおける各々の画素の強度値の解析によって定量化され得る。画像パッチ特性のサイズは変動し得る。画像パッチはまた、中央に置かれ、または他の形で、重み付けられた質量中心以外の位置におけるブロブに対して配置され得る。
[0050] 追加の、より少ない、または代替のプロパティが、RDF分類器、および/または、他のタイプのマシン学習分類器のために計算され得る。たとえば、ルックアップテーブル分類器を含む一例では、以下の特性が各ブロブのために計算される。ブロブの高さ(たとえば、ブロブにおける最大画素強度値)、ブロブのエリア、および、ブロブのテクスチャ。テクスチャ特性は、ブロブ内の強度値における勾配を示し得る。たとえば、テクスチャは、ブロブ内の各画素と、ブロブのエリアの8倍によって除された8つの最も近い近隣との差分の絶対値の総和として計算され得る。手のひらによって生成されたブロブは、より平坦であるか、または、より平滑な内部を有する傾向にあり、よって、近くに間隔を置いて配置された多数の指タッチによって生成されたブロブよりもより低いテクスチャを有する。より少ない特性の計算は、計算命令120のコード間隔および処理時間を低減し得る。より少ない特性もまた、各ブロブの計算の結果を記憶する際に含まれるメモリの量を低減し得る。
[0051] トラックを含む場合によっては、ブロブ特性計算命令120はまた、プロセッサ114に対して、タッチイベントのトラックのための1つまたは複数の特性を計算させ得る。トラック特性セットは、トラック内の各ブロブのための特性セットに加えて、トラックのために計算され得る。その例が上記にリストされている。トラック特性セットは、トラックが完了すると、計算され得る。
[0052] トラック特性セットは、上記参照されたブロブ特性のうちの1つまたは複数の累積である特性を含み得る。ランダム決定フォレスト(RDF)分類器を含む一例では、あらかじめ決定された数のトラックのフレームにわたる以下のブロブ特性の最小値、最大値、および中央値が計算される。(i)エリア、(ii)連続するフレーム間のエリアにおける変化、(iii)連続するフレーム間の位置における変化、(iv)円周の商、(v)強度、(vi)強度勾配の大きさ、(vii)最も近い画像端までの距離、(viii)画像端におけるピクセルの平均強度、および(ix)画像端における幅。
[0053]トラック特性セットは、それに加えて、または、その代わりに、トラックの最初のF個のフレームのための個々のブロブのプロパティを対象とされた特性を含み得る。したがって、場合によっては、各フレームにおけるブロブプロパティの計算は、トラックのためのデータを収集する1つの方式であり得る。たとえば、以下の特性が、個々の各ブロブについて計算され得る。(i)エリア、(ii)連続するフレーム間のエリアにおける変化、(iii)連続するフレーム間の位置における変化、(iv)円周の商または他の真円度メトリック、(v)最小、最大、および中間の強度、(vi)最小、最大、および中間の強度勾配の大きさ、(vii)最も近い画像(またはフレーム)端までの距離、(viii)画像端におけるピクセルの平均強度、(ix)画像端における幅、(x)重み付けられた質量中心を中心とする(生またはしきい値化されたフレームデータからの)5×5の画像パッチにおける画素の強度、(xi)重み付けられた質量中心を中心とする(生またはしきい値化されたフレームデータからの)17×17の画像パッチにおける画素の強度、(xii)5×5画像パッチからの画素のペア間の強度差、(xiii)17×17画像パッチからの画素のペア間の強度差、(xiv)17×17パッチにおける2つの同心輪間の最小強度差、たとえば、min{I(p):||p−c||=r_1}−max{I(p):||p−c||=r_2}、ここで、r_1<r_2であり、Iは、画像強度行列であり、cは重み付けられた質量中心である。追加の、より少ない、または代替の特性が、トラックに関連して計算され得る。
[0054] プロセッサ114は、タッチイベントのタイプまたは性質を判定するために、マシン学習分類命令122を実行するように構成される。このタイプは、マシン学習分類によって判定される。この分類は、複数のフレームのための複数の特性セットに基づいて、多数の非バイモーダルな分類スコアを提供するように構成される。非バイモーダルな各分類スコアは、マシン学習分類における曖昧さまたは信頼度のレベルを示す。たとえば、各分類スコアは、タッチイベントがあるタイプのものである確率であり得る。他の例では、分類スコアは、タッチイベントがあるタイプのものであるか否かを示す範囲またはスケールに沿った個々のレーティングである。個々のレーティングは、累積的なレーティングを判定するために、場合によって集約され得る。累積的なレーティングまたは他の分類スコアは、タッチイベントタイプを判定するために、以下に説明されたように、しきい値と比較され得る。
[0055] タッチイベントが判定されると、分類命令122はまた、プロセッサ114に対して、タイプを示すデータをデバイス100へ提供させるように構成され得る。図1の例では、プロセッサ114は、タイプデータをプロセッサ106へ提供し得る。タイプデータは、記憶されても、ホストデバイスの任意の構成要素へ提供されてもよい。タイプデータは、タッチイベントを示す他のデータと共に提供され得る。場合によっては、他のデータは、現在の(たとえば、最後の)フレームにおけるタッチイベントのトラックIDおよび座標を含む。他のデータは、他の場合には、タッチタイプと共に提供され得る。たとえば、タッチタイプは、タッチイベント座標と共に提供され得る。
[0056] マシン学習分類命令122は、一度、または、分類毎に反復的に起動され得る。命令122がどのように起動されるかは、特性セットデータが計算される時に依存し得る。トラックデータが計算されるタッチイベントのために、プロセッサ114は、特性セットデータのすべてを、トラックのための単一の起動において集合的に、マシン学習分類器へ適用し得る。他の場合によっては、分類命令122は、特性セットデータが各フレームのために計算されると、反復的に実施される。たとえば、各ブロブのための特性セットデータが、マシン学習分類器へ個別に適用される。その後、以前に計算された特性セットデータがマシン学習分類器へ適用されている間、さらなる特性セットデータが計算され得る。
[0057] マシン学習分類命令122は、プロセッサ114に対して、1つまたは複数の分類器データ構造126へアクセスさせ得る。分類器データ構造126は、メモリ116および/または別のメモリに記憶され得る。分類器データ構造126のフォーマットおよび他の特徴は、使用されるべきマシン学習分類器のタイプにしたがって変動し得る。デバイス100は典型的には単一の分類器でのみ構成されるので、例示および説明の容易のために、分類データ構造の2つの例が図1に示されている。2つの典型的なデータ構造は、ランダム決定フォレスト(RDF)データ構造128およびルックアップテーブルデータ構造130である。特性セットデータは典型的には、1つのデータ構造のみにしか適用されないので、場合によっては、1つよりも多くの分類器が使用され得る。たとえば、複数の分類器の出力が、最終的な分類を判定するために比較または処理され得る。
[0058] RDF分類は、分類命令122によって使用され得る多くの区別分類技術のうちの1つである。区別分類器は、所与の入力のアレイに関するクラスのセットにわたるディスクリートな確率分布の形式の多数の非バイモーダルな分類スコアを生成するか、または返す。この例では、クラスは、たとえば、意図された指先のタッチ、容量性スタイラスまたは他のペンタッチ、および手のひらのような意図されていないタッチのような可能なタイプのタッチイベントと一致する。たとえば、典型的な出力は、{0.45、0.32、0.23}、すなわち、タッチイベントが、意図された指先のタッチである45%の可能性、タッチイベントが、ペンタッチである32%の可能性、および、タッチイベントが、意図されていないタッチイベント(たとえば、手のひらによるタッチ)である23%の可能性である。よって、各確率スコアは、タッチイベントが特定のタイプである確率を表す。追加の、より少ない、または代替のクラスが、他の場合において使用され得る。たとえば、2つのクラスだけが、意図されたタッチイベントと意図されていないタッチイベントとを区別する場合において使用され得る。
[0059] 区別分類器は、複数の特性データセットを入力として受け取るように構成され得る。よって、区別分類器に対する入力は、計算命令120にしたがって、タッチトラック(たとえば、最初の数フレームまたは、あらかじめ決定された別の数のフレーム)のために計算されたブロブおよびトラック特性データであり得る。トラックの例では、各トラックのための特性セットが、トラックが完了した時に分類器へ適用される。よって、分類器は、完了した各トラックのための確率分布出力を提供する。
[0060] RDFデータ構造128は、ランダム化された決定ツリーRDT1、RDT2、RDT3、・・・RDTnの集合を含み、ここで、nは、任意の数であり得る。一例では、データ構造は、20のツリーを含む。各ツリーは、最大11の決定高さを有する。ランダム決定フォレスト手順では、同じ入力アレイが、各ツリーに適用される。所与の入力に関するRDFの出力は、所与の入力に関するツリーの各々の出力を平均することによって計算される。ツリーの数および高さは変動し得る。
[0061] 各RDTは、2進法決定ツリーであり、ここでは、各内部(すなわち、非リーフ)ノードは、関連付けられた「分割」2進法関数を有する。分割2進法関数が入力に適用された場合、この入力が、ツリーにおけるノードの次のレベルにおけるノードの右の子または左の子へ経路付けられるべきであれば、関数は、決定を返す。所与の入力Xに関するRDTにおける分類処理は、ルートの関連付けられた分割関数を適用することによって、ツリーのルートノードにおいてXを処理することによって開始し、分割関数の結果に対応する子ノードにおける入力の処理を反復的に継続する。結局、この処理は、リーフノードに達する。ここでは、ディスクリートな確率分布が、クラスのセットCにわたって、処理出力として返される。
[0062] ツリー内の分割関数は、特性の値と、しきい値との間の不等式比較、すなわち、f<τとして実施され得る。ここで、fは、特定の特性の値であり、τは、しきい値である。各ノードにおいて使用されるべき特定の特性およびしきい値は、学習処理中に学習される。
[0063] 学習中、各ノードにおいて、特性の各タイプの間隔のサンプリングから、最良の特性が選択される。特性間隔について、間隔サイズの平方根と同数のサンプルがサンプリングされた。
[0064] 図1の例では、3つすべての分類スコア(たとえば、指先、ペン、手のひら)を提供するために、単一のRDF構造128のみが図示され、使用される。しかし、場合によっては、分類スコアを提供するために、多数のRDF分類器が使用され得る。たとえば、各々がツリーの各々のセットを有する2つのRDF分類器が、3つの分類スコアを提供するために使用され得る。一例において、意図されたタッチと意図されていないタッチとを区別するために、1つのRDF分類器が使用され得る。その後、意図されたタッチに関連してペンのタッチと指先のタッチとを区別するために、他のRDF分類器が使用される。
[0065] RDF分類の出力は、場合によって調節され得る。たとえば、この調節は、新たに完了した多数のトラックを有するフレームを含む状況に対処し得る。フレームにおいて新たに完了したトラックのすべてのタッチタイプが分類された後、分類命令122は、プロセッサ114に対して、意図されていない(たとえば、手のひらの)タッチイベントとして分類されたトラックの近くのトラックのタイプを調節させ得る。第1のトラックのブロブの現在の場所が、意図されていないタッチとして分類された第2のトラックのブロブのしきい値内にあるのであれば、第1のトラックも同様に、意図されていないタッチとして分類される。これら近くのブロブは、しばしば、面104上に載っている手のひらを有する手からの指関節または指の意図されていないタッチによって生成されるので、そのような調節は有用であり得る。
[0066] 追加の、または、代替的なマシン学習分類器は、分類命令122によって使用され得る。たとえば、他のタイプの区別分類技術が使用され得る。いくつかの例では、マシン学習分類器は、ルックアップテーブル分類器である。ルックアップテーブルベースの分類は、プロセッサ114がマイクロコントローラである場合のように、制限された処理リソースおよび/またはメモリリソースしか有しているデバイスに関連して有用であり得る。ルックアップテーブルの使用は、分類のためのメモリフットプリントおよび処理時間を劇的に低減し得る。
[0067] 図1に図示された例では、ルックアップテーブルデータ構造130は、意図的なタッチイベントと意図的ではないタッチイベントとを区別するためのルックアップテーブルのペアを含む。特性セットデータは、各ルックアップテーブルへ適用される。各テーブルはその後、以下に説明されるように、各々の個々の非バイモーダルな分類スコアまたはレーティングを提供する。第1のルックアップテーブルは、タッチイベントが意図されたタッチであるか否かに関して、第1のレーティングを提供するように構成され得る。第2のルックアップテーブルは、タッチイベントが意図されていないタッチであるか否かに関して、第2のレーティングを提供するように構成され得る。各々のフレームのためのこれら個々のレーティングまたはスコアの各々は、その後、各々のフレームのためのフレーム分類レーティングスコアを生成するために組み合わされ得る。たとえば、さらにタッチイベントタイプを区別するために、追加のルックアップテーブルが提供され得る。他の場合には、データ構造130は、単一のルックアップテーブルのみを含む。
[0068] このルックアップテーブルベースの分類例では、特性セットデータが、フレーム毎ベースで分類器へ適用される。たとえば、各々のフレームの特性セットデータが、データ構造130内の各ルックアップテーブルへ適用される。各テーブルはその後、以下に説明されるように、そのフレームの各々の個々の非バイモーダルな分類スコアまたはレーティングを提供する。その間にタッチイベントが存在するフレームに関するフレーム分類レーティングスコアはその後、タッチイベントのための累積的な、マルチフレーム分類スコアを判定するために集約(たとえば、総和)される。
[0069] どのように分類レーティングまたはスコアが組み合わされ、その後、フレームにわたって集約されるかについて、1つのレーティングを別のレーティングから減算することによって個々のレーティングが組み合わされる例に関連して以下に説明される。個々のレーティングは、種々様々な他の方法で組み合わされ得る。たとえば、個々のレーティングまたはスコアは、この組合せが、加算演算、平均化演算、および/または、他の演算を含むように構成され得る。フレームにわたる分類スコアの集約はまた、以下に説明された総和演算以外の方法でも実施され得る。その後、分類命令122は、プロセッサ114に対して、累積的な、マルチフレーム分類スコアがしきい値をパスするか否かを判定させ得る。いくつかの例では、各々可能なタッチイベントタイプのうちの1つである、多数の分類しきい値が提供される。しきい値が越えられていないのであれば、曖昧さのレベルは、タッチイベントを確実に分類するために高すぎると認められ得る。その時点において、ブロブ定義命令118および計算命令120は、次のフレームのための特性セットデータを提供するために再び起動され得る。その後、新たな特性セットデータが、さらなるスコアリング、集約、およびしきい値化のために再びルックアップテーブルへ適用され得る。
[0070] ルックアップテーブル分類器は、ブロブの特性を、ルックアップテーブルへのインデクスとして使用するように構成され得る。各ブロブのために計算された特性は、上記で説明したように、高さ、サイズ、およびテクスチャであり得る。追加の、より少ない、または代替の特性が含まれ得る。一例では、テーブル内の各エントリは、ブロブが特定のタッチイベントタイプ、すなわち、テーブルの関連付けられたクラスからなる可能性を示す2ビットレーティングである。3であるレーティングは、ブロブが、クラスのメンバである可能性が非常に高いことを示す。2であるレーティングは、ブロブが、クラスのメンバである可能性が幾分高いことを示す。1であるレーティングは、ブロブが、恐らくクラスのメンバであるが、可能性は非常に高い訳ではないことを示す。0であるレーティングは、ブロブが、クラスの一部ではない可能性が非常に高いことを示す。
[0071] この例では、個々のブロブレーティングスコアは、1つは意図されたタッチ(たとえば、指またはペン)に関し、もう1つは意図されていないタッチ(たとえば、手のひら)に関する2つの分類テーブルから取得される。各ブロブは、特性セットデータを両テーブルへ適用することによって、両テーブルにおいてルックアップされる。フレーム特有のブロブ分類レーティング(すなわち、「ブロブ分類レーティング」)はその後、以下のように、1つを他から減算することによって、各々のテーブルから個々のレーティングを組み合わせることによって、ブロブについて計算され得る。
ブロブ分類レーティング=指テーブルレーティング−手のひらテーブルレーティング
その結果、ブロブ分類レーティングは−3から+3の範囲にある。ここで、正の値は、ブロブが、意図されたタッチである可能性がより高いことを示し、負の値は、ブロブが、意図されていないタッチである可能性がより高いことを示す。レーティングの絶対値は、レーティングにおける分類の確からしさまたは曖昧さレベルを示すインジケーションである。ブロブ分類レーティングは、タッチ画像における各ブロブについて計算される。
[0072] 特定のタッチイベントのためのブロブ分類レーティングは、その後、タッチイベントのための累積的なブロブレーティングを生成するために、多数のフレームにわたって累積または集約され得る。たとえば、ブロブが、最初の3フレームにおいて+2、+1、および+2というブロブ分類レーティングを有するのであれば、累積的なブロブレーティングは+5、すなわち、これら3つのブロブ分類レーティングの総和である。
[0073] 累積的なブロブレーティングはその後、タッチイベントタイプを判定するために使用される。累積的なレーティングは、1つまたは複数のしきい値と比較され得る。一例では、3つの可能な分類のうちの1つへの区別をサポートするために、2つのしきい値が使用される。手のひらしきい値以下の負のタッチレーティングは、手のひらタッチイベントとして分類される。指しきい値以上の正のタッチレーティングは、指/ペンタッチイベントとして分類される。他のすべてのタッチレーティングは、未知として分類される。手のひらおよび指のしきい値は、設定可能であるが、典型的な設定は、手のひらしきい値の場合−9であり、指しきい値の場合+6である。
[0074] 累積的なブロブレーティングはまた、さらなるフレームデータを処理することが保証されているか否かを判定するために使用され得る。累積的なレーティングが、未知の範囲内にあるのであれば、別のブロブ分類レーティングを集約へ組み込むために、さらなるフレームデータが処理され得る。たとえば、接近している手のひらの最初の画像(またはフレーム)に、+1であるブロブ分類レーティングが割り当てられる。これは、この手のひらに関する最初の画像であるので、累積的なレーティングもまた+1である。次の画像では、ブロブ分類レーティングは再び+1を割り当てられ得る。これで、累積的なレーティングは+2である。次の画像では、手のひらのより多くがタッチダウンしているので、ブロブ分類レーティングは−2へ変化し、累積的なレーティングは0となる。次の3つの画像はその後、−3であるブロブ分類レーティングを割り当てられ、累積的なレーティングを−9となる。この時点において、タッチは、手のひらタッチイベントであると分類される。前のタッチのすべては、未知として分類されるであろう。最初の2つのタッチ画像が、手のひらよりも、わずかにより指に見えるにも関わらず、分類器は未だに、誤りのあるフォールスポジティブな分類無しで、正しい最終的な分類に達する。
[0075] 分類命令122は、プロセッサ114に対して、ブロブをタッチイベントに関連付けさせるように構成され得る。場合によっては、タッチイベントは、最初に、ファームウェア112によって、または、タッチシステム102の他の構成要素によって識別され得る。潜在的な各タッチイベントの場合、タッチイベントのバウンディングボックスが定義され、どのブロブがタッチイベントに関連付けられているのかを識別するために、現在のタッチ画像(またはフレームデータ)において見出された最大値のすべてと比較され得る。ほとんどのタッチ画像は、バウンディングボックス内の、すなわち、タッチイベントと一致する単一のブロブのみを有するであろう。多数のブロブが、バウンディングボックス内にある最大値を有するという可能性の低いイベントでは、タッチイベントの累積的なレーティングが、そのようなオーバラップしているブロブのための累積的なレーティングの平均として計算され得る。
[0076] 1つまたは複数のユニークな状況に対処するために、分類命令122はまた、多くの調節を、合成レーティングへ組み込み得る。各調節は、ルールまたは条件が満足されるか存在するかに基づいて組み込まれる。この調節は、手順へ著しい複雑さを追加することなく、ルックアップテーブルの分類容量を補足し得る。
[0077] 端部効果ルール。タッチスクリーンの端部からほとんど離れている手のひらは、その小さなサイズによって、意図されたタッチのように見える傾向を有し得る。これらの状況におけるパフォーマンスを向上するために、各ブロブにおける端部画素の数が追跡され得る。分類命令122は、端部画素の数がしきい値を越えるか否かを判定され得る。端部画素の数がしきい値を越えるのであれば、ブロブ分類レーティングスコアが調節される。一例では、端部画素の数としきい値との差分が、ブロブ分類レーティングスコアから減算される。この調節は、手のひらレーティングしきい値に対するこれらブロブのレーティングを歪ませる。単一の意図されたタッチによるブロブは、少ない数の端部画素を有する傾向があり、よって、調節ルールによって影響されない。面104の端部における手のひらによるブロブは、大きな数の端部画素を有する可能性がより高く、したがって、フォールスポジティブを最小化するために、手のひら分類に対して歪められる。端部における近くに間隔を置いて配置された多数の指によるブロブもまた、このルールによって手のひらレーティングへ向けて歪められ、フォールスネガティブになり得る一方、そのようなフォールスネガティブの割合は、端部の近傍のジェスチャが通常単一の指ジェスチャである限り、許容できるほど小さくなり得る。
[0078] 手のひら近接調節。スタイラスを用いて書いているユーザは、しばしば、2本の指と親指でスタイラスを握りながら、スクリーン上に自分の手のひらを載せる。手の他の2本の指は、面104の近くにあり、書いている間、しばしば、面104に接触する。この状況は、意図的なタッチに見え得るブロブを生成する。これらの状況におけるフォールスポジティブを最小化するために、ブロブ分類レーティングスコアは、ブロブのブロブエリアを、しきい値エリアによって除することによって計算される商を減算することによって調節され得る。この調節は、ブロブのエリアが、しきい値を上回っており、ブロブが、手のひらのように見える別のブロブに近い(たとえば、否定的なブロブレーティングである)場合になされ得る。この調節は、フォールスポジティブを最小化するために、手のひらに非常に近い指タッチを、手のひらレーティングへ向かって歪ませる傾向がある。この調節は、たとえ、スタイラスもまた手のひらに近い場合であっても、スタイラスタッチのみの分類に影響を与えないことがあり得る。なぜなら、スタイラスタッチは、しきい値未満のエリアを有するからである。
[0079] 非タッチ調節。ユーザが、タッチシステム接地への良好な高周波数接続を有していない(すなわち、ユーザが浮かんでいる)場合、大きなタッチエリアが、消える傾向に、または、反タッチ(すなわち、通常のタッチが肯定になるであろうタッチ画像における否定的なエリア)へ転ずる傾向にあり得る。この状況は、手のひらの通常大きなエリアのサイズが劇的に減少し、スタイラスを保持していない指のように、他の意図されていないタッチへの間隔が増加すると、フォールスポジティブに至り得る。これらの環境におけるフォールスポジティブを最小化するために、2つの調節が、分類レーティング手順へ組み込まれ得る。第1のルールは、タッチイベント累積レーティングが、手のひらしきい値を一旦パスすると、このブロブにオーバラップする次のフレームにおける任意のブロブもまた、手のひらレーティングを割り当てられる。この調節は、手のひらの一部が、経時的に消える傾向にあり得るので、浮いている状況におけるパフォーマンスを向上させ得る。手のひらはますます多く面に触れると、手のひらは、初期のタッチダウンの間に、普通に見える傾向にある(また、手のひらレーティングを与えられ得る)一方、手のひらの一部は、見えなくなる傾向にあり、残りの部分が、意図されたタッチであるように見え得る。しかしながら、残りの部分は、初期のフレームにおいて見える手のひらとオーバラップするので、残りの部分は未だに、手のひらレーティングを割り当てられる。
[0080] 浮いている状況におけるパフォーマンスを向上するために使用され得る第2のルールは、通常のブロブに加えて、反ブロブを追跡するステップを含む。反ブロブは、タッチ画像におけるピクセル値が、負のしきい値以下である画素の接続された構成要素として検出され得る。フレームデータにおいても定義される反ブロブを用いて、ブロブ分類レーティングスコアは、その後、各々のブロブが反ブロブをオーバラップするのであれば、ブロブ分類レーティングスコアから値を減算することによって調節され得る。この調節は、反ブロブが大きい(たとえば、反ブロブのサイズがしきい値を越える)それら状況に限定され得る。大きな反ブロブをオーバラップする通常のブロブはその後、それらのブロブ分類レーティングから値を減算することによって、手のひらレーティングに向かって歪められる。減算された値は、固定値、または、大きなブロブエリアについてより大きくなる値の何れかであり得る。大きな反ブロブのしきい値を、比較的大きいサイズ(たとえば、50画素)に設定するステップは、対角線上に列になって、近くに間隔を置いて配置された多数の指を含む状況に関連した調節の誤りのあるアプリケーションを回避することに役立ち得る。
[0081] マシン学習分類器は、スタイラス、指先タッチ、および意図されていない非指先タッチイベントを含む多くの画像シーケンスが受け取られる間に、オフラインデータ収集ステージを介して学習され得る。このシーケンスは、広範な可能なデバイス用途シナリオにおいて、および/または、多くの種々のユーザを含んで実施され得る。圧力、ジェスチャ、方位、および他のタッチイベント特徴における相違が提示され得る。意図されたタッチイベントのシーケンス(たとえば、指先タッチ、またはスタイラス、または非指先タッチの何れか)が、個別に収集され、これによって、タッチイベントのマニュアルラベリングを回避する。これらシーケンスにおいて計算された各トラックのための特性データセットは、学習例となる。
[0082] RDF例では、RDF分類器は、データ構造の各ツリーを独立して学習することによって学習され得る。ツリーは、そのルートノードから始まって、一度に1つのノードを学習される。各ノードは、入力学習セットを使用して学習される。先ず、学習セットの全体が、ルートノードを学習するために使用される入力セットである。
[0083] ノードnのために入力学習セットTが与えられ、ノードは、分割関数およびそのパラメータの空間をある回数(たとえば、分割関数およびそのパラメータの空間のサイズの平方根に一致する数)、サンプリングすることによって学習される。各サンプリングされた(パラメータ化された)分割関数について、可能なしきい値の数(たとえば、100のしきい値)もサンプルされる。
[0084] 分割関数タイプsplitF、分割関数パラメータ化θ、およびしきい値τからなる所与の分割組合せΣ=(splitF,θ,τ)について、各入力x∈Tは、しきい値τ以下または以上であるsplitF_θ(x)の値にしたがって分割される。
[0085] 学習手順は、すべてのサンプルされた分割組合せにわたるノードの入力セットTにおけるすべての要素の分割に対する最大情報ゲインを達成する分割組合せを識別する。ゲインが小さすぎるか、または、ノードnが、あらかじめ選択された最大高さ(たとえば、11)であれば、ノードが、リーフノードになるように設定され、そのリーフノードに関連付けられた各クラス(たとえば、指先タッチ、ペンまたはスタイラス、または手のひら)の確率が、ノードの入力セットTにおけるサンプルの合計数に対するそのクラスのサンプルの数に比に設定される。一方、ゲインが十分高いか、または、ノードnの高さが、あらかじめ選択された最大高さ未満であれば、最大ゲインを達成する分割組合せΣは、ノードnへ関連付けられ、ノードの入力セットTは、Σを使用して2つのサブセットT_LおよびT_Rへ分割され、ノードnが、左の子と右の子である2つの子ノードを割り当てられる。各子ノードは、入力セットT_LおよびT_Rを各々使用して反復的に学習される。
[0086] 学習サンプルを収集するための類似のアプローチは、ルックアップテーブル分類器を学習する際に使用され得る。たとえば、タッチ画像のシーケンスは、自己ラベル付け方式で生成される。たとえば、各シーケンスは、1つのクラスのタッチ(たとえば、すべてが指、またはすべてが手のひら)のみを含む。ブロブおよび対応する特性データはその後、タッチ画像から抽出され、学習サンプルとして使用されるべき学習手順へ渡される。
[0087] 1つのルックアップテーブル学習の例では、学習サンプルが、高さ特性にしたがって、多く(たとえば、8つ)のバケットへグループ化され得る。たとえば、タッチ画像における任意の画素の最大高さが約1600であるタッチシステムでは、0乃至199の高さのサンプルが、バケット0に割り当てられ、200乃至399の高さのサンプルが、バケット1に割り当てられるという具合である。分類器の生成を向上させるために、サンプルのわずかな「スミヤリング」も実施され得る。たとえば、高さ210のサンプルは、バケット0とバケット1の両方へ割り当てられ得る。スミヤリングの量は、設定可能であり、変動し得るが、一例では、グループ境界の10%内のサンプルが、両グループへ割り当てられる。エリアおよびテクスチャ特性の最小値および最大値がその後、各高さグループ内のすべてのサンプルのために判定される。スミヤリングはまた、この時点において適用されるので、最小値および最大値が、少量(たとえば、10%)、増加/減少して調節される。サンプルがその後、(上記で判定されたように、エリア特性に関してスミヤリングされた最小値/最大値の間で均等に拡散された)エリア特性にしたがって多く(たとえば、16)のセットへ分割される。これらエリアバケット内のサンプルはその後、さらに、(以前のように均等に拡散されスミヤリングされた)テクスチャ特性にしたがって、多く(たとえば、16)のバケットへ分割される。サンプルは、エリアおよびテクスチャによって分割されるので、サンプルが再び、約10%、スミヤリングされ得る。サンプルがスミヤリングされる例では、スミヤリングされないサンプルに、スミヤリングされたサンプルよりも高い優先度が与えられ得る。スミヤリングされた各サンプルを、単一のサンプルとして考慮しながら、スミヤリングされていない各サンプルを複数(たとえば、9つ)のサンプルとしてカウントすることによって、より高い優先度が提供され得る。
[0088] これら最終的なバケットの各々におけるサンプルの数が、その後、カウントされ得る。これらカウントは、その後、いくつかのしきい値と比較される。サンプルの数が、「非常に可能性の高い」しきい値以上であれば、そのバケットの分類器テーブル値は、最も高い分類スコア(たとえば、3)に設定される。サンプルの数が、「可能性の高い」しきい値以上であれば、テーブル値は、次に高いスコア(たとえば、2)に設定される。サンプルの数が、「可能な」しきい値以上であれば、テーブル値は、次に高いスコア(たとえば、1)に設定される。2ビットスコアリングの例では、テーブル値は、それ以外の場合、0に設定される。しきい値は、設定可能であり、使用されている学習サンプルの数で変動し得るが、一例では、非常に可能性の高い、可能性の高い、および可能なしきい値のために、90、9、および1のしきい値が各々使用され得る。2ビットのスコアは、その後、グループ、セット、およびバケット分割にしたがって、テーブルに記憶される。よって、テーブルエントリはまた、エリアおよびテクスチャ特性のための最小値およびバケットサイズを反映する。高さ特性のための最小値およびバケットサイズが、0および200において各々固定され得る。
[0089] 分類中、テーブル境界外の何れかの値が、以下の例外を伴って、デフォルトで、最低のレーティング(たとえば、0)を与えられる。1600以上の高さを持つブロブが、1400乃至1599個のバケットへまとめられる。指定された高さのバケットのための学習において見られる任意の手のひらエリアよりも大きなエリアを持つブロブが、1の手のひらレーティングを与えられる。これらの例外は、学習において見られなかった非常に大きなブロブのために、分類器が正しく一般化することに役立ち得る。
[0090] 図2は、タッチ分類のための典型的な方法200を描写する。この方法は、コンピュータによって実施される。たとえば、図1に図示されるタッチセンサ式デバイス100、および/または、別のタッチセンサ式デバイスのうちの1つまたは複数のコンピュータは、この方法またはその一部を実施するように構成され得る。各動作の実施は、タッチシステム102のプロセッサ、デバイス100、および/または、別のプロセッサまたは処理システムによって実行される各々のコンピュータ読取可能な命令によって指示され得る。追加の、より少ない、または代替の動作が、この方法に含まれ得る。たとえば、方法200は、機能を出力するように指示された動作を含まないことがあり得る。
[0091] 方法200は、フレームデータをキャプチャすることに関連する1つまたは複数の動作で始まり得る。フレームデータがどのようにキャプチャされるかは、変動し得る。フレームデータは、異なるデバイスまたはプロセッサによって、および/または、方法200を実施する同じプロセッサまたはデバイスによって実施される異なる方法に関連してキャプチャされ得る。
[0092] 図2の実施形態では、方法200は、フレームデータが取得される動作202で始まる。フレームデータは、タッチセンサ式デバイスによってキャプチャされた複数のフレーム(または、タッチセンサ画像)を表す。フレームデータは、リアルタイムで処理するために、ファームウェア112(図1)のようなタッチシステム102のハードウェアまたは他の構成要素から直接的に受信され得る。あるいは、または、それに加えて、フレームデータは、以前にキャプチャされ記憶されたフレームデータであり得る。よって、フレームデータは、図1に関連して説明されたメモリ、すなわち、メモリ108、116、および/または、別のメモリのうちの1つのようなメモリにアクセスすることによって取得され得る。
[0093] 動作204では、フレームデータは、複数のフレームの各フレームにおける各々のブロブを定義するために処理される。ブロブは、タッチイベントを示す。ブロブは、同じフレームにおいて生じる多数のタッチイベントを区別するために、本明細書で説明されたように、複数のフレームにわたってトラックされ得るか、互いに関連付けられ得る。
[0094] この解析は、動作206におけるフレームデータのアップサンプリング、動作208におけるフレームデータのしきい値化、動作210におけるブロブ分割、および/または、動作212におけるブロブ合成を含み得る。これら処理動作の各々は、上記で説明されたようにして実施され得る。方法200は、これらの処理動作のうちの任意の1つまたは複数を含み得る。たとえば、いくつかのRDFの例では、動作210のブロブ分割が実施されるが、動作212のブロブ合成は実施されない。逆に、いくつかのルックアップテーブルの例では、動作212のブロブ合成が実施されるが、動作210のブロブ分割は実施されない。
[0095] いくつかの場合(たとえば、いくつかのRDFの例)では、複数のフレームにわたるブロブのトラックが定義されるか、または、そうでない場合には、動作214におけるタッチイベントのために、更新される。トラック定義は、ブロブ定義後に生じ得る。現在のフレームから抽出されたブロブデータは、前のフレームにおいて識別されたトラックを更新するために処理される。よって、動作214は、新たなトラックを定義し、アクティブなトラックを拡張し、および/または、アクティブなトラックを終了させる。アクティブなトラックは、上記で説明されたように、現在のフレームに存在するブロブを持つ追加のフレームを拡張されるか、または、ブロブの欠如により終了されるかの何れかである。アクティブなトラックを示すデータはまた、データストア216内に記憶される。動作214は、アクティブなトラックの処理に関連して図示されたように、データストア216にアクセスするステップを含み得る。
[0096] 他の場合(たとえば、いくつかのルックアップテーブルの例)では、特定のフレームのためのフレームデータが、後続するフレームのフレームデータから個別に取り扱われる。動作204は、単一のフレームのフレームデータの解析を対象とされ得る。その後、そのフレームデータは、後続するフレームのフレームデータの処理とは別のさらなる処理(たとえば、マシン学習分類器への特性セット計算および適用)のために準備される。
[0097] 動作218では、複数の特性セットが、タッチイベントのために計算される。各特性セットは、複数のフレームの各フレームにおける各々のブロブのプロパティを指定する。上記で説明されたように、動作218において計算されるプロパティまたは特性は変動し得る。特性またはプロパティの数はまた、分類器の複雑さに応じて変動し得る。図2に図示されるように、場合によっては、特性データセットは、アクティブなトラックデータが記憶されるデータストア216に記憶され得る。
[0098] 場合によっては(たとえば、RDFの例では)、動作220において、特性セットが、多数のフレームにわたって集約され、動作222において、トラック特性が計算され得る。たとえば、動作220および動作222は、トラックが定義されるか、および/または、タッチイベントの多数のフレームのためのフレームデータが既に別段利用可能である場合において実施され得る。集約は、タッチイベントのタイプを判定する際に、マシン学習分類器へ複数の特性セットを適用する前に生じる。
[0099] 特性セットデータは、マシン学習分類によって、タッチイベントのタイプを判定するために、動作224において適用される。この分類は、上記で説明されたように、複数のフレームのための複数の特性セットに基づいて、多数の非バイモーダルな分類スコアを提供するように構成される。非バイモーダルな各分類スコアは、マシン学習分類における曖昧さまたは信頼度のレベルを示す。場合によっては、データストア216は、分類をサポートするために、図示されたようにアクセスされ得る。
[00100] トラック定義および拡張を含む場合には、動作224の分類のタイミングは、トラックが完了した(たとえば、トラックが3回拡張された)か否かに依存し得る。これらの場合には、ちょうど拡張されたアクティブなトラックが完了した場合、動作224において、そのタッチタイプが判定される。よって、動作224は、動作204および動作218のフレームデータ処理および特性セット計算と同時に独立して実施され得る。
[00101] 既に分類されているが、(たとえば、現在のフレームにおけるブロブによる拡張の結果として)現在のフレームにおいてアクティブなままである完了したトラックの処理は、前の分類に依存することも、しないこともあり得る。場合によっては、動作224は、前のフレームにおいて完了したトラックが、自分のタッチタイプを、トラックが拡張されたブロブへ自動的に渡すことができるように構成され得る。他の場合には、新たに集約された(すなわち、現在のフレームによって貢献されているデータを含む)特性セットデータが与えられ、動作224の分類が繰り返される。
[00102] マシン学習分類は、動作226におけるマシン学習分類器への1つまたは複数の特性セットの適用を含み得る。場合によって(たとえば、いくつかのRDFの例)は、多数のフレームの特性セットデータが、分類器へ集合的に適用される。トラック特性データもまた、そのような場合において適用され得る。他の場合(たとえば、いくつかのルックアップテーブルの例)では、特性セットデータは、フレーム毎に分類器へ適用される。
[00103] 特性セットデータが分類器へ適用された後、1つまたは複数のしきい値が、動作228において、分類スコアへ適用され得る。しきい値は、タッチイベントタイプを判定するために、および/または、さらなるフレームデータの処理が保証されるか否か(たとえば、曖昧さレベルが、イベントタイプが知られるために高すぎるか否か)を判定するために適用され得る。
[00104] 方法200は、出力を提供するように指示された1つまたは複数の手順を含み得る。図2の例では、タッチイベントタイプおよび位置座標を示す出力データが動作230において提供される。座標は、タッチイベントに関連付けられた多数のフレームにおける最後のブロブの位置を示し得る。追加の、または、その代りの出力データが提供され得る。たとえば、トラックIDが提供され得る。
[00105] 場合によっては、図2に図示される方法動作のうちの1つまたは複数が、反復され得るか、または他の形で多数のフレームにわたる反復を含み得る。たとえば、ルックアップテーブルの例では、特性セットデータが、各フレームのために反復的にルックアップテーブル分類器へ適用される。そのような反復に関するさらなる詳細が、図4の例に関連して説明される。
[00106] 方法の動作の順序は、図示された例から変動し得る。たとえば、場合によっては、これら動作は、たとえば、各到着フレームと関連した、パイプライン方式で実施される。これら動作は、異なるフレーム、ブロブ、および/または、トラックのフレームデータを処理している間、並行してすなわち同時に実施され得る。たとえば、動作218の特性セット計算は、動作224のマシン学習分類処理のいくつかと同時に実施され得る。
[00107] 図3は、ランダム決定フォレスト(RDF)分類器を含む例に関連したタッチイベント判定動作224(図2)に関するさらなる詳細を図示する。この例では、タッチ分類手順は、多数のフレームのための集約された特性セットを取得する動作302において始まる。上記で説明されたように、タッチイベントのブロブが、十分な数のフレームについてトラックされる(すなわち、トラックが拡張され完了する)と、集約された特性セットが提供され得る。上記で説明されたように、集約された特性セットはまた、トラック特性データを含み得る。集約された特性セットは、その後、動作304において、RDF分類器の各ランダム決定ツリーへ適用される。各ツリーの出力は、動作306において平均化され、多数の非バイモーダルな分類スコアが生成される。この場合には、各バイモーダルな分類スコアは、タッチイベントが各々のタイプである確率を表す。その後、タッチイベントタイプを判定するために、しきい値が、確率スコアへ適用され得る。1つまたは複数のしきい値が、各タッチイベントタイプのために指定され得る。たとえば、指、スタイラス、および手のひらのクラスの確率スコアが、各々、0.3より低い、0.6より高い、および0.2より低いのであれば、タッチイベントは、意図されたスタイラスタッチイベントとして分類され得る。タッチイベントタイプ、トラックID、および現在のフレームにおけるトラック(すなわち、ブロブ)の位置を示す出力が、その後、提供され得る。
[00108] 図4は、ルックアップテーブル(LUT)分類器を含む例に関連したタッチイベント判定動作224(図2)に関するさらなる詳細を図示する。この例では、タッチ分類手順は、現在のフレームのための特性セットを取得する動作402において始まる。特性セットは、その後、動作404において、多数のルックアップテーブルへ適用される。各ルックアップテーブルは、個々の(すなわち、テーブル特有の)非バイモーダルな分類スコアを判定する。たとえば、多数のルックアップテーブルは、タッチイベントが意図されたタッチである第1のレーティング(たとえば、0乃至3)を提供するように構成された第1のルックアップテーブルと、タッチイベントが意図されていないタッチである第2のレーティング(たとえば、0乃至3)を判定するための第2のルックアップテーブルとを含み得る。個々の分類スコアはその後、動作406において組み合わされ、ブロブのためのフレーム特有の分類スコア(すなわち、ブロブ分類スコア)が計算される。たとえば、ブロブ分類スコアが−3から+3の範囲になるように、第2のレーティングは、第1のレーティングから減算され得る。ここで、負の数は、意図されていないタッチをより示し、正の数は、意図されたタッチをより示す。
[00109] タッチイベントのためのフレーム特有のブロブ分類スコアが、動作408において集約される。集約は、現在のブロブ分類スコアを、初期のフレームのために以前に計算された任意のブロブ分類スコアと合計するステップを含み得る。よって、累積的な(すなわち、マルチフレーム)分類スコアが計算され得る。
[00110] 決定ブロック410は、その後、タッチタイプ分類のために、しきい値が満足されるか否かを判定する。各々のしきい値は、各タッチイベントタイプのために提供され得る。たとえば、累積的なスコアが+7を越えるのであれば、タッチイベントは、意図されたタッチとして分類される。累積的なスコアが−6未満であれば、タッチイベントは、意図されていないタッチとして分類される。何れかのしきい値が満足されるのであれば、制御は、動作412へ進み得る。ここでは、タッチイベントタイプが判定され、出力として提供される。何れのしきい値も満足されないのであれば、制御は、次のフレームのためのさらなるフレームデータと、さらなるフレームデータに関連した特性アプリケーション動作404、スコア組合せ動作406、およびスコア集約動作408の反復とを取得するために、動作402へ戻る。
[00111] 図4の例では、いくつかの特定の環境に関連する分類スコアまたは分類を調節するために多くの動作が実施され得る。決定ブロック414は、手のひらタッチイベントであると認められたタッチイベントとオーバラップするブロブのための後続するフレームにおいて調節が生じるべきであるか否かを判定するために使用され得る。この例では、現在のタッチイベントが、手のひらタッチイベントとして分類されているのであれば、制御は、動作416へ移り、ここでは、フラグ、状態、または他の変数が、次のフレームにおける任意のオーバラップするブロブを、手のひらタッチイベントとして分類するように設定される。
[00112] 他の調節は、分類スコアに対する調節として実施され得る。図4の例では、調節は、動作406においてブロブ分類スコアを計算することに関連して実施される。上記で説明したように、ブロブが十分に大きな反ブロブ(たとえば、50画素よりも大きい)とオーバラップするのであれば、動作418における調節は、ブロブ分類スコアから値を減算することによって、反ブロブ環境に対処するように指示され得る。動作420における別の調節は、上記で説明したように、ブロブのブロブエリアをしきい値エリアによって除することによって計算された商を減算することによって、ブロブが手のひらタッチイベントに近い場合に対処するように指示され得る。動作422におけるさらに別の調節は、上記で説明したように、端部画素の数と、ブロブ分類レーティングスコアからのしきい値との差を減算することによって、端部効果を対象とされ得る。
[00113] 図5を参照して示すように、典型的なコンピューティング環境500は、上記で説明した方法および/またはシステムの1つまたは複数の態様または要素を実施するために使用され得る。コンピューティング環境500は、タッチセンサ式デバイス100(図1)またはその1つまたは複数の要素によって使用され得るか、タッチセンサ式デバイス100(図1)またはその1つまたは複数の要素に組み込まれ得るか、または、タッチセンサ式デバイス100(図1)またはその1つまたは複数の要素と一致し得る。たとえば、コンピューティング環境500は、タッチシステム102(図1)、または、タッチシステム102と通信するホストデバイスまたはシステムを実施するために使用され得る。コンピューティング環境500は、図2〜図4に関連して説明される動作の1つまたは複数を実施するために使用される汎用コンピュータシステムであり得る。コンピューティング環境500は、限定されないが、パーソナルコンピュータ(PC)、サーバコンピュータ、タブレットおよび他のハンドヘルドコンピューティングデバイス、ラップトップまたはモバイルコンピュータ、モバイル電話のような通信デバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、オーディオまたはビデオメディアプレーヤ等を含む広範な種々のコンピューティングデバイスのうちの1つに一致し得る。
[00114] コンピューティング環境500は、基本的な計算動作を可能にするために、十分な計算容量およびシステムメモリを有する。この例では、コンピューティング環境500は、個別に、または、本明細書ではプロセッサとして集合的に称され得る1つまたは複数の処理ユニット510を含む。コンピューティング環境500はまた、1つまたは複数のグラフィック処理ユニット(GPU)515を含み得る。プロセッサ510および/またはGPU515は、統合メモリを含み得るか、および/または、システムメモリ520と通信し得る。プロセッサ510および/またはGPU515は、デジタル信号プロセッサ(DSP)、超長命令語(VLIM)プロセッサ、または、他のマイクロコントローラのような特化されたマイクロプロセッサであり得るか、または、1つまたは複数の処理コアを有する汎用中央処理ユニット(CPU)であり得る。コンピューティング環境500のプロセッサ510、GPU515、システムメモリ520、および/または他の任意の構成要素は、パッケージ化され得るか、または他の形でシステムオンチップ(SoC)、特定用途向け集積回路(ASIC)、または他の集積回路またはシステムとして統合され得る。
[00115] コンピューティング環境500はまた、たとえば、通信インターフェース530のような他の構成要素を含み得る。1つまたは複数のコンピュータ入力デバイス540(たとえば、ポインティングデバイス、キーボード、オーディオ入力デバイス、ビデオ入力デバイス、触覚型入力デバイス、ワイヤまたはワイヤレスのデータ送信を受信するためのデバイス等)が提供され得る。入力デバイス540は、トラックパッドのような1つまたは複数のタッチセンサ面を含み得る。タッチスクリーンまたはタッチセンサ式ディスプレイ555を含む様々な出力デバイス550もまた提供され得る。出力デバイス550は、種々の異なるオーディオ出力デバイス、ビデオ出力デバイス、および/または、ワイヤまたはワイヤレスのデータ送信を送信するためのデバイスを含み得る。
[00116] コンピューティング環境500はまた、コンピュータ読取可能なまたはコンピュータ実行可能な命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のための様々なコンピュータ読取可能な媒体をも含み得る。コンピュータ読取可能な媒体は、記憶デバイス560を介してアクセス可能な利用可能な任意の媒体であってもよく、取外し式ストレージ570および/または非取外し式ストレージ580においてに関わらず、揮発性と不揮発性との両方の媒体を含む。
[00117] コンピュータ読取可能な媒体は、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュール、または他のデータのような情報の記憶のための任意の方法または技術において実施される揮発性および不揮発性、取外し式および非取外し式の両方の媒体を含み得る。コンピュータ記憶媒体は、限定されないが、RAM、ROM、EEPROM、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、または、所望の情報を記憶するために使用され得、コンピューティング環境500の処理ユニットによってアクセスされ得る他の任意の媒体を含む。
[00118] 本明細書で説明されたタッチイベント分類技術は、コンピューティング環境500によって実行されるプログラムモジュールのようなコンピュータ実行可能な命令において実施され得る。プログラムモジュールは、特定のタスクを実行、または、特定の抽象的なデータタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。本明細書で説明された技術はまた、タスクが1つまたは複数の遠隔処理デバイスによって実行される分散型コンピューティング環境において、または、1つまたは複数の通信ネットワークを通じてリンクされた1つまたは複数のデバイスのクラウド内で実現され得る。分散型コンピューティング環境では、プログラムモジュールは、媒体記憶デバイスを含むローカルおよび遠隔の両方のコンピュータ記憶媒体に配置され得る。
[00119] これら技術は、プロセッサを含み得るか、または、含まないこともあり得るハードウェア論理回路または構成要素として部分的にまたは全体的に実施され得る。ハードウェア論理構成要素は、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブル論理デバイス(CPLD)、および/または、他のハードウェア論理回路として構成され得る。
[00120] 上記で説明された分類技術は、タッチセンサ式デバイスにおける計画的なタッチイベントと、意図されていないタッチイベントとを確実に区別し得る。タッチイベントが、意図的な指先タッチによるか、または意図されていない手のひらのタッチによるかを判定するために、マシン学習分類器が使用される。この分類器はまた、タッチイベントが、ペンまたはスタイラスの接触またはタッチであるかを判定し得る。いくつかの分類器(たとえば、RDF分類器)は、たとえば、オペレーティングシステムレベル、または、メモリ利用度に関する厳しい制約が示されていない他のレベルにおいて、ソフトウェア実施のために構成され得る。他の分類器は、タッチ処理システムにおいて現在使用されているマイクロコントローラのような、リソースが制限されたプラットフォームにおける実施のために構成され得る。そのような場合には、特性のセットがより限定されたルックアップテーブル分類器(たとえば、3Dルックアップテーブル分類器)が使用され得る。
[00121] 場合によっては、タッチイベントのプロパティまたは特性が、分類器への適用前に複数のフレームにわたって計算および追跡される。タッチイベントのトラックが、あらかじめ決定されたフレーム数(たとえば、3)に達した後、特性セットは、タッチイベントのための多数の確率スコアを判定するために、分類器へ適用される。各確率スコアは、タッチイベントが特定のタイプである確率を示す非バイモーダルなスコアである。タッチタイプの判定は、その後、確率スコアに基づいて判定され得る。
[00122] 他の場合は、経時的なタッチイベントのための情報のみならず、異なるタイプの分類スコアをも集約する異なるアプローチを含み得る。場合によっては、ルックアップテーブルアプローチは、各フレームのための非バイモーダルな分類スコアを生成するために使用される。分類スコアはその後、タッチイベントのための累積的なマルチフレーム分類スコアを判定するために、多数のフレームにわたって集約(たとえば、総和)され得る。
[00123] マシン学習分類器によって提供される分類スコアは、タッチが意図されている、または、意図されていない可能性を示す。分類スコアの非バイモーダルな性質によって、スコアはまた、分類器判定における曖昧さのレベルをも示すようになる。この判定は、フレーム境界にわたって取得された情報、よって、多数の時点からの情報に基づく。このように、たとえば、最初にタッチダウンした手のひらの初期のフレームは、後に、より多くの情報が利用可能になると強い「手のひら」分類になる弱い「タッチ」分類のように見え得る。よって、誤ったパフォーマンスが向上され得る。
[00124] 分類スコアは、1つまたは複数のルールによって調節され得る。これらルールは、特性セットデータによって示される環境にしたがって適用または強化され得る。この環境は、フレームの端部におけるタッチイベント、手のひらの近くの指タッチ、および、「浮いている」ユーザによって引き起こされるタッチ画像の歪みを含み得る。この調節は、手のひらのタッチまたは他のタッチタイプに向かって、または、手のひらのタッチまたは他のタッチタッチから離れて、分類器結果を歪め得る。
[00125] 本明細書で説明された技術は、他の多くの汎用または専用のコンピューティングシステム環境または構成で動作可能である。本明細書における技術と使用するために適切であり得る周知のコンピューティングシステム、環境、および/または、構成の例は、限定されないが、パーソナルコンピュータ、サーバコンピュータ(サーバクライアントアーキテクチャを含む)、ハンドヘルドまたはラップトップデバイス、モバイル電話またはデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラマブル家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、前述したシステムまたはデバイスの何れかを含む分散型コンピューティング環境等を含む。方法または処理ステップおよび機能のいくつかまたはすべては、ユーザによって操作されるクライアントまたはローカルデバイスと通信するネットワーク化されたまたは遠隔のプロセッサによって実行され得る。ローカルデバイスから遠隔デバイスへ機能をオフロードする潜在的な利点は、ローカルデバイスのコンピューティングリソースおよび電力リソースを節約することである。
[00126] 本明細書における技術は、コンピュータによって実行されるプログラムモジュールのようなコンピュータ実行可能な命令の一般的なコンテキストで説明され得る。一般に、プログラムモジュールは、特定のタスクを実行する、または、特定の抽象的なデータタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造等を含む。本明細書における技術はまた、通信ネットワークを通じてリンクされる遠隔処理デバイスによってタスクが実行される分散型コンピューティング環境においても実現され得る。分散型コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカルと遠隔との両方のコンピュータ記憶媒体に配置され得る。
[00127] 本発明は、例示的のみであることが意図され、本発明を限定することは意図されていない特定の例を参照して説明されている一方、本発明の精神および範囲から逸脱することなく、開示された実施形態に対して、変更、追加、および/または、削除がなされ得ることが当業者に明らかになるであろう。
[00128] 前述した説明は、理解の明瞭性のみのために与えられ、本発明の範囲内の修正は、当業者に明らかとなり得るので、そこから不要な限定は理解されるべきではない。

Claims (14)

  1. コンピュータによって実施される方法であって、
    タッチセンサ式デバイスによってキャプチャされた複数のフレームを表すフレームデータを取得するステップと、
    前記複数のフレームの各フレームにおける各々のブロブを定義するために前記フレームデータを解析するステップであって、前記ブロブはタッチイベントを示す、ステップと、
    前記タッチイベントのための複数の特性セットを計算するステップであって、各特性セットは、前記複数のフレームの各フレームにおける前記各々のブロブのプロパティを指定する、ステップと、
    前記複数のフレームのための前記複数の特性セットに基づいて、多数の非バイモーダルな分類スコアを提供するように構成されたマシン学習分類によって、前記タッチイベントのタイプを判定するステップであって、各非バイモーダルな分類スコアは、前記マシン学習分類における曖昧さレベルを示す、ステップとを備え、
    前記マシン学習分類は、各非バイモーダルな分類スコアが、前記タッチイベントが各々のタイプである確率を表すことができるように、前記非バイモーダルな分類スコアを生成するように構成される、方法。
  2. 前記非バイモーダルな分類スコアの各々が、前記複数の特性セットを入力として受け取るように構成されたマシン学習分類器によって生成される、請求項に記載のコンピュータによって実施される方法。
  3. 前記マシン学習分類器は、ランダム決定フォレスト分類器を備える、請求項に記載のコンピュータによって実施される方法。
  4. 前記タッチイベントのための前記複数のフレームにわたる前記ブロブのトラックを定義するステップと、
    前記トラックのためのトラック特性セットを計算するステップとをさらに備え、
    前記タイプを判定するステップは、前記トラック特性セットをマシン学習分類器へ適用するステップを備える、請求項1に記載のコンピュータによって実施される方法。
  5. 前記複数の特性セットを計算するステップは、前記タッチイベントの前記タイプを判定する際に、前記複数の特性セットのマシン学習分類器への適用前に、前記複数の特性セットを示すデータを集約するステップを備える、請求項1に記載のコンピュータによって実施される方法。
  6. 前記マシン学習分類は、ルックアップテーブルベースの分類を備える、請求項1に記載のコンピュータによって実施される方法。
  7. 前記タイプを判定するステップは、前記複数のフレームの各々のフレームのための前記特性セットを、多数のルックアップテーブルへ適用するステップを備え、各ルックアップテーブルは、前記多数の非バイモーダルな分類スコアの各々の個々の非バイモーダルな分類スコアを提供する、請求項1に記載のコンピュータによって実施される方法。
  8. 前記タイプを判定するステップは、前記各々のフレームのためのブロブ分類レーティングスコアを生成するために、前記各々のフレームのための前記個々の非バイモーダルな分類スコアの各々を組み合わせるステップを備える、請求項に記載のコンピュータによって実施される方法。
  9. 前記多数のルックアップテーブルは、前記タッチイベントが意図されたタッチである第1のレーティングを提供するように構成された第1のルックアップテーブルを備え、さらに、前記タッチイベントが意図されていないタッチである第2のレーティングを判定するための第2のルックアップテーブルを備え、
    前記タイプを判定するステップは、前記各々のフレームのための前記ブロブ分類レーティングスコアを判定するために、前記第1のレーティングから前記第2のレーティングを減算するステップを備える、請求項に記載のコンピュータによって実施される方法。
  10. 前記タイプを判定するステップは、前記タッチイベントのための累積的なマルチフレーム分類スコアを判定するために、前記ブロブ分類レーティングスコアを、前記複数のフレームにわたって集約するステップを備える、請求項に記載のコンピュータによって実施される方法。
  11. 前記タイプを判定するステップは、
    前記累積的なマルチフレーム分類スコアが、多数の分類しきい値のうちの1つをパスするか否かを判定するステップと、
    パスしないのであれば、前記複数の特性セットのさらなる特性セットに関連して、前記特性セットを適用する動作、前記分類スコアを組み合わせる動作、および、前記レーティングスコアを集約する動作を繰り返すステップとを備える、請求項10に記載のコンピュータによって実施される方法。
  12. 各特性セットは、各フレームにおける前記各々のブロブにおいて配置された画像パッチの外見を示すデータを備える、請求項1に記載のコンピュータによって実施される方法。
  13. 各特性セットは、各フレームにおける前記各々のブロブのための前記フレームデータにおける強度勾配を示すデータを備える、請求項1に記載のコンピュータによって実施される方法。
  14. 各特性セットは、各フレームにおける前記各々のブロブの円周の商または真円度の他のメトリックを示すデータを備える、請求項1に記載のコンピュータによって実施される方法。
JP2016575483A 2014-07-11 2015-07-07 タッチ分類 Active JP6641306B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/329,052 US9558455B2 (en) 2014-07-11 2014-07-11 Touch classification
US14/329,052 2014-07-11
PCT/US2015/039282 WO2016007450A1 (en) 2014-07-11 2015-07-07 Touch classification

Publications (2)

Publication Number Publication Date
JP2017529582A JP2017529582A (ja) 2017-10-05
JP6641306B2 true JP6641306B2 (ja) 2020-02-05

Family

ID=53758517

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016575483A Active JP6641306B2 (ja) 2014-07-11 2015-07-07 タッチ分類

Country Status (11)

Country Link
US (2) US9558455B2 (ja)
EP (1) EP3167352B1 (ja)
JP (1) JP6641306B2 (ja)
KR (1) KR102424803B1 (ja)
CN (1) CN106537305B (ja)
AU (1) AU2015288086B2 (ja)
BR (1) BR112016029932A2 (ja)
CA (1) CA2954516C (ja)
MX (1) MX2017000495A (ja)
RU (1) RU2711029C2 (ja)
WO (1) WO2016007450A1 (ja)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11327599B2 (en) 2011-04-26 2022-05-10 Sentons Inc. Identifying a contact type
CN109582180A (zh) 2011-10-18 2019-04-05 卡内基梅隆大学 用于分类触敏表面上的触摸事件的方法和设备
KR101750300B1 (ko) 2011-11-18 2017-06-23 센톤스 아이엔씨. 터치 입력 힘 검출
KR20140114766A (ko) 2013-03-19 2014-09-29 퀵소 코 터치 입력을 감지하기 위한 방법 및 장치
US9612689B2 (en) 2015-02-02 2017-04-04 Qeexo, Co. Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer
US9013452B2 (en) 2013-03-25 2015-04-21 Qeexo, Co. Method and system for activating different interactive functions using different types of finger contacts
WO2015114654A1 (en) * 2014-01-17 2015-08-06 Kpit Technologies Ltd. Vehicle detection system and method thereof
US9558455B2 (en) * 2014-07-11 2017-01-31 Microsoft Technology Licensing, Llc Touch classification
CN104199572B (zh) * 2014-08-18 2017-02-15 京东方科技集团股份有限公司 一种触摸显示装置的触摸定位方法及触摸显示装置
US9329715B2 (en) 2014-09-11 2016-05-03 Qeexo, Co. Method and apparatus for differentiating touch screen users based on touch event analysis
US11619983B2 (en) 2014-09-15 2023-04-04 Qeexo, Co. Method and apparatus for resolving touch screen ambiguities
US9864453B2 (en) * 2014-09-22 2018-01-09 Qeexo, Co. Method and apparatus for improving accuracy of touch screen event analysis by use of edge classification
US10606417B2 (en) 2014-09-24 2020-03-31 Qeexo, Co. Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns
US10282024B2 (en) 2014-09-25 2019-05-07 Qeexo, Co. Classifying contacts or associations with a touch sensitive device
JP6543790B2 (ja) * 2015-03-18 2019-07-17 株式会社トヨタIt開発センター 信号処理装置、入力装置、信号処理方法、およびプログラム
US10642404B2 (en) 2015-08-24 2020-05-05 Qeexo, Co. Touch sensitive device with multi-sensor stream synchronized data
US10083378B2 (en) * 2015-12-28 2018-09-25 Qualcomm Incorporated Automatic detection of objects in video images
TWI606376B (zh) * 2016-08-08 2017-11-21 意象無限股份有限公司 觸控感測裝置及濾除誤觸的觸控方法
US10313348B2 (en) * 2016-09-19 2019-06-04 Fortinet, Inc. Document classification by a hybrid classifier
CN106708317A (zh) * 2016-12-07 2017-05-24 南京仁光电子科技有限公司 判断触控点的方法和装置
US11009411B2 (en) 2017-08-14 2021-05-18 Sentons Inc. Increasing sensitivity of a sensor using an encoded signal
US11580829B2 (en) 2017-08-14 2023-02-14 Sentons Inc. Dynamic feedback for haptics
US11057238B2 (en) 2018-01-08 2021-07-06 Brilliant Home Technology, Inc. Automatic scene creation using home device control
CN112041799A (zh) * 2018-02-19 2020-12-04 拉普特知识产权公司 触摸敏感装置中的不需要的触摸管理
CN110163460B (zh) * 2018-03-30 2023-09-19 腾讯科技(深圳)有限公司 一种确定应用分值的方法及设备
KR102606766B1 (ko) 2018-06-01 2023-11-28 삼성전자주식회사 Em 센서 및 이를 포함하는 모바일 기기
KR102104275B1 (ko) * 2018-06-01 2020-04-27 경희대학교 산학협력단 스타일러스 펜을 이용하는 터치 시스템 및 이를 이용한 터치 검출 방법
US11009989B2 (en) * 2018-08-21 2021-05-18 Qeexo, Co. Recognizing and rejecting unintentional touch events associated with a touch sensitive device
CN113490556A (zh) * 2019-02-27 2021-10-08 锂工科技股份有限公司 用于智能电池收集、分类和包装的方法和系统
EP3926491A4 (en) * 2019-03-29 2022-04-13 Sony Group Corporation IMAGE PROCESSING DEVICE AND METHOD, AND PROGRAM
US10942603B2 (en) 2019-05-06 2021-03-09 Qeexo, Co. Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device
US11231815B2 (en) 2019-06-28 2022-01-25 Qeexo, Co. Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing
KR20190104101A (ko) * 2019-08-19 2019-09-06 엘지전자 주식회사 전자 장치의 터치 스크린에서 오류 터치를 판정하는 방법, 장치 및 시스템
CN111881287B (zh) * 2019-09-10 2021-08-17 马上消费金融股份有限公司 一种分类模糊性分析方法及装置
US11301099B1 (en) * 2019-09-27 2022-04-12 Apple Inc. Methods and apparatus for finger detection and separation on a touch sensor panel using machine learning models
EP3835929A1 (en) * 2019-12-13 2021-06-16 Samsung Electronics Co., Ltd. Method and electronic device for accidental touch prediction using ml classification
JP2023509487A (ja) * 2020-01-05 2023-03-08 ブリリアント ホーム テクノロジー インコーポレイテッド タッチ型制御デバイス
US11592423B2 (en) 2020-01-29 2023-02-28 Qeexo, Co. Adaptive ultrasonic sensing techniques and systems to mitigate interference
US11620294B2 (en) * 2020-01-30 2023-04-04 Panasonic Avionics Corporation Dynamic media data management
GB2591764A (en) * 2020-02-04 2021-08-11 Peratech Holdco Ltd Classifying pressure inputs
US11599223B1 (en) 2020-03-13 2023-03-07 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
CN111524157B (zh) * 2020-04-26 2022-07-01 南瑞集团有限公司 基于摄像头阵列的触屏物体分析方法、系统及存储介质
US11899881B2 (en) 2020-07-17 2024-02-13 Apple Inc. Machine learning method and system for suppressing display induced noise in touch sensors using information from display circuitry
KR20220023639A (ko) * 2020-08-21 2022-03-02 삼성전자주식회사 전자 장치 및 그 제어 방법
US11954288B1 (en) 2020-08-26 2024-04-09 Apple Inc. System and machine learning method for separating noise and signal in multitouch sensors
US11481070B1 (en) 2020-09-25 2022-10-25 Apple Inc. System and method for touch sensor panel with display noise correction
EP4099142A4 (en) 2021-04-19 2023-07-05 Samsung Electronics Co., Ltd. ELECTRONIC DEVICE AND METHOD OF OPERATION
WO2022271879A1 (en) * 2021-06-24 2022-12-29 Icu Medical, Inc. Infusion pump touchscreen with false touch rejection
US11537239B1 (en) 2022-01-14 2022-12-27 Microsoft Technology Licensing, Llc Diffusion-based handedness classification for touch-based input
NL2031789B1 (en) * 2022-05-06 2023-11-14 Microsoft Technology Licensing Llc Aggregated likelihood of unintentional touch input

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8018440B2 (en) 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
US8103109B2 (en) 2007-06-19 2012-01-24 Microsoft Corporation Recognizing hand poses and/or object classes
US8519965B2 (en) * 2008-04-23 2013-08-27 Motorola Mobility Llc Multi-touch detection panel with disambiguation of touch coordinates
US8502787B2 (en) 2008-11-26 2013-08-06 Panasonic Corporation System and method for differentiating between intended and unintended user input on a touchpad
KR101648747B1 (ko) * 2009-10-07 2016-08-17 삼성전자 주식회사 복수의 터치 센서를 이용한 ui 제공방법 및 이를 이용한 휴대 단말기
US8587532B2 (en) * 2009-12-18 2013-11-19 Intel Corporation Multi-feature interactive touch user interface
KR20110138095A (ko) 2010-06-18 2011-12-26 삼성전자주식회사 터치 시스템에서 좌표 보정 방법 및 장치
GB201011146D0 (en) * 2010-07-02 2010-08-18 Vodafone Ip Licensing Ltd Mobile computing device
US8754862B2 (en) 2010-07-11 2014-06-17 Lester F. Ludwig Sequential classification recognition of gesture primitives and window-based parameter smoothing for high dimensional touchpad (HDTP) user interfaces
KR20140043299A (ko) 2010-10-28 2014-04-09 사이프레스 세미컨덕터 코포레이션 용량성 감지 어레이와 스타일러스의 동기화
US9244545B2 (en) 2010-12-17 2016-01-26 Microsoft Technology Licensing, Llc Touch and stylus discrimination and rejection for contact sensitive computing devices
CN103534674A (zh) * 2011-02-08 2014-01-22 海沃氏公司 多模态触摸屏交互装置、方法和系统
CN109582180A (zh) * 2011-10-18 2019-04-05 卡内基梅隆大学 用于分类触敏表面上的触摸事件的方法和设备
US20130106761A1 (en) 2011-10-28 2013-05-02 Atmel Corporation Touch Sensor with Lookup Table
US20130176270A1 (en) 2012-01-09 2013-07-11 Broadcom Corporation Object classification for touch panels
JP5760100B2 (ja) 2012-02-02 2015-08-05 株式会社タカラトミー 放射線測定装置
US8973211B2 (en) * 2012-02-04 2015-03-10 Hsi Fire & Safety Group, Llc Detector cleaner and/or tester and method of using same
US8902181B2 (en) 2012-02-07 2014-12-02 Microsoft Corporation Multi-touch-movement gestures for tablet computing devices
US9811209B2 (en) 2012-02-21 2017-11-07 Flatfrog Laboratories Ab Touch determination with improved detection of weak interactions
US9542045B2 (en) 2012-03-14 2017-01-10 Texas Instruments Incorporated Detecting and tracking touch on an illuminated surface using a mean-subtracted image
JP2015525381A (ja) 2012-05-04 2015-09-03 オブロング・インダストリーズ・インコーポレーテッド 相互ユーザ手追跡および形状認識ユーザ・インターフェース
EP2662756A1 (en) 2012-05-11 2013-11-13 BlackBerry Limited Touch screen palm input rejection
WO2013171747A2 (en) 2012-05-14 2013-11-21 N-Trig Ltd. Method for identifying palm input to a digitizer
US8902170B2 (en) * 2012-05-31 2014-12-02 Blackberry Limited Method and system for rendering diacritic characters
US9483146B2 (en) 2012-10-17 2016-11-01 Perceptive Pixel, Inc. Input classification for multi-touch systems
US10578499B2 (en) * 2013-02-17 2020-03-03 Microsoft Technology Licensing, Llc Piezo-actuated virtual buttons for touch surfaces
US20140232679A1 (en) * 2013-02-17 2014-08-21 Microsoft Corporation Systems and methods to protect against inadvertant actuation of virtual buttons on touch surfaces
SG10201606730SA (en) 2013-03-15 2016-10-28 Tactual Labs Co Fast multi-touch noise reduction
KR102143574B1 (ko) * 2013-09-12 2020-08-11 삼성전자주식회사 근접 터치를 이용한 온라인 서명 인증 방법 및 이를 위한 장치
US9329727B2 (en) * 2013-12-11 2016-05-03 Microsoft Technology Licensing, Llc Object detection in optical sensor systems
US9430095B2 (en) * 2014-01-23 2016-08-30 Microsoft Technology Licensing, Llc Global and local light detection in optical sensor systems
US9558455B2 (en) * 2014-07-11 2017-01-31 Microsoft Technology Licensing, Llc Touch classification
US9818043B2 (en) * 2015-06-24 2017-11-14 Microsoft Technology Licensing, Llc Real-time, model-based object detection and pose estimation

Also Published As

Publication number Publication date
CA2954516C (en) 2022-10-04
AU2015288086A1 (en) 2017-01-05
AU2015288086B2 (en) 2020-07-16
RU2017100249A3 (ja) 2019-02-12
RU2017100249A (ru) 2018-07-16
US20170116545A1 (en) 2017-04-27
US9558455B2 (en) 2017-01-31
RU2711029C2 (ru) 2020-01-14
EP3167352A1 (en) 2017-05-17
CN106537305B (zh) 2019-12-20
US20160012348A1 (en) 2016-01-14
CN106537305A (zh) 2017-03-22
EP3167352B1 (en) 2021-09-15
MX2017000495A (es) 2017-05-01
BR112016029932A2 (pt) 2017-08-22
KR20170030613A (ko) 2017-03-17
CA2954516A1 (en) 2016-01-14
KR102424803B1 (ko) 2022-07-22
JP2017529582A (ja) 2017-10-05
WO2016007450A1 (en) 2016-01-14
US10679146B2 (en) 2020-06-09

Similar Documents

Publication Publication Date Title
JP6641306B2 (ja) タッチ分類
CN107533430B (zh) 触摸输入作为非预期的或预期的分类
US10521105B2 (en) Detecting primary hover point for multi-hover point device
JP2018524734A (ja) 複数のオブジェクトの入力を認識するためのシステムならびにそのための方法および製品
WO2014127697A1 (en) Method and terminal for triggering application programs and application program functions
KR101559502B1 (ko) 실시간 손 포즈 인식을 통한 비접촉식 입력 인터페이스 방법 및 기록 매체
EP3711027B1 (en) System and method for drawing beautification
Bai et al. Dynamic hand gesture recognition based on depth information
CN111142663A (zh) 一种手势识别方法及手势识别系统
US20120299837A1 (en) Identifying contacts and contact attributes in touch sensor data using spatial and temporal features
JP2012053551A (ja) 入力種別識別システム、入力種別識別方法およびプログラム
CN111062360A (zh) 一种手部追踪系统及其追踪方法
KR101687941B1 (ko) 온라인 필기 데이터 라인 분할 방법 및 이를 이용하는 장치
Lee et al. Classification Network-Guided Weighted K-means Clustering for Multi-Touch Detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190619

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: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191227

R150 Certificate of patent or registration of utility model

Ref document number: 6641306

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250