説明

複数のポインタの不明確さと遮蔽の解決

対話型入力システムにおいて少なくとも2つのポインタ間の不明確さを解決する方法は、対象領域の複数の画像を取得することと、画像データを処理して、対象領域内の少なくとも2つのポインタに対する複数の考えられるターゲットであって、真のターゲットと偽りのターゲットとを含む、複数の考えられるターゲットと、考えられる各ターゲットの現在のターゲット位置を求めることと、対象領域内の考えられる各ターゲットを追跡し、考えられる各ターゲットの予測ターゲット位置を計算することと、真の各ターゲットに少なくとも関連するポインタ経路を求めることと、を含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は入力システムに関し、特に、ポインタの不明確さ(ambiguity)と遮蔽(occlusion)を解決できる、小さい撮像装置ハードウェアを用いた対話型入力システムと、ポインタの不明確さおよび遮蔽を解決する方法に関する。
【背景技術】
【0002】
アクティブポインタ(例えば、光、音、または他の信号を出すポインタ)、パッシブポインタ(例えば、指、円柱、または他の物体)、または、例えばマウス、トラックボールのような他の適切な入力装置を使用して、ユーザがデジタルインク、マウスイベント等のような入力をアプリケーションプログラムに挿入することを可能にする対話型入力システムがよく知られている。これらの対話型入力システムは、本願の譲受人である、カナダのアルベルタ州カルガリー(Calgary、Alberta、Canada)のSMART Technologies ULCに譲渡され、内容が参照によりここに組み込まれる特許文献1から特許文献9に開示されている、アナログ抵抗技術またはマシンビジョン技術を用いてポインタ入力を登録するタッチパネルを有するタッチシステム、電磁気技術、容量性技術、音響技術、または他の技術を用いてポインタ入力を登録するタッチパネルを有するタッチシステム、タブレットパーソナルコンピュータ(PC)、ラップトップパーソナルコンピュータ、携帯情報端末(PDA)、および他の類似の装置を含むが、これらに限定されるものではない。
【0003】
Morrison 他の特許文献5は、マシンビジョンを用いて、ポインタのコンピュータ生成画像が表示されるタッチ面との相互作用を検出するタッチシステムを開示している。長方形のベゼル、すなわち枠がタッチ面を取り囲み、かつその4つの隅において複数のデジタルカメラを支持している。これらデジタルカメラは、タッチ面を取り囲み、かつ概ねタッチ面を越えて見通す重なった複数の視野を有している。これらデジタルカメラは、異なる地点からタッチ面を見通した複数の画像を取得し、画像データを生成する。デジタルカメラによって取得された画像データは、搭載されたデジタルシグナルプロセッサによって処理され、該取得された画像データにポインタが存在するかどうかを判定する。取得された画像データにポインタが存在すると判定された場合、デジタルシグナルプロセッサはマスターコントローラにポインタ特性データを送り、該マスターコントローラは、次にポインタ特性データを処理し、三角測量を用いてタッチ面に対する、(x,y)座標系でのポインタの位置を求める。ポインタ座標は次に1つまたは2つ以上のアプリケーションプログラムを実行するコンピュータに送られる。コンピュータは、ポインタ座標を用いて、タッチ面上に表示される、コンピュータで生成された画像を更新する。したがって、タッチ面上のポインタ接触は、書き込みまたは描画として記録することができ、またはコンピュータによって実行されるアプリケーションプログラムの実行を制御するのに使用することができる。
【0004】
タッチ面が小さい環境では、複数のユーザが、通常、単一のポインタを使用して1人ずつタッチ面と相互に作用する。タッチ面が大きい環境では、SMART Technologies ULCに譲渡され、内容が参照によりここに含まれる、Hill外の特許文献10に記載されているように、複数のユーザが同時にタッチ面と相互に作用する。
【0005】
上記説明から理解できるように、マシンビジョンタッチシステムでは、単一のポインタが複数の撮像装置の視野内にある場合、タッチ面に対する(x,y)座標系でのポインタの位置は、通常、三角測量を用いて容易に算出することができる。しかしながら、複数のポインタがポインタの不明確さと遮蔽の結果として複数の撮像装置の視野内にある場合、諸問題に直面する。不明確さは、撮像装置によって取得された画像内の複数のポインタを識別できない場合に発生する。このような場合、三角測量中、ポインタのいくつかの考えられる位置を算出することができるが、正確なポインタ位置を選択できる情報は存在しない。遮蔽は、撮像装置の視野内で1つのポインタが他のポインタを遮る場合に発生する。これらの例では、撮像装置によって取得された画像は1つのポインタのみを含んでいる。その結果、タッチ面に対する複数のポインタの正確な位置は、三角測量を用いて算出することができない。撮像装置の数を増やすことにより、ポインタの不明確さと遮蔽を解決することができるが、これは当然タッチシステムのコストおよび複雑性を増大させる結果となる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国特許明細書第5,448,263号
【特許文献2】米国特許明細書第6,141,000号
【特許文献3】米国特許明細書第6,337,681号
【特許文献4】米国特許明細書第6,747,636号
【特許文献5】米国特許明細書第6,803,906号
【特許文献6】米国特許明細書第7,232,986号
【特許文献7】米国特許明細書第7,236,162号
【特許文献8】米国特許明細書第7,274,356号
【特許文献9】米国特許出願公開第2004/0,179,001号
【特許文献10】米国特許出願第10/750,219号
【発明の開示】
【発明が解決しようとする課題】
【0007】
したがって、本発明の目的は、新規な対話型入力システム、ポインタの不明確さと遮蔽の新規な解決方法を提供することである。
【課題を解決するための手段】
【0008】
したがって、一態様では、対話型入力システムにおいて少なくとも2つのポインタ間の不明確さを解決する方法であって、対象領域の複数の画像を取得することと、画像データを処理して、対象領域内の少なくとも前記の少なくとも2つのポインタに対する複数の考えられるターゲットであって、真のターゲットと偽りのターゲットとを含む、考えられる各ターゲットと、考えられる各ターゲットの現在のターゲット位置を求めることと、前記対象領域内の考えられる各ターゲットを追跡し、考えられる各ターゲットの予測ターゲット位置を計算することと、真の各ターゲットに少なくとも関連するポインタ経路を求めること、を含む方法が提供される。
【0009】
他の態様によれば、対話型入力システムにおいて、少なくとも1つのポインタが既に存在する対象領域に少なくとも1つのポインタが移動させられたときに該2つのポインタ間の不明確さを解決する方法であって、各ポインタに関連する真のターゲットと偽りのターゲットを求めることと、前記真のターゲットに関連する真の誤差関数を設定することと、前記偽りのターゲットに関連する偽りの誤差関数を、前記真の誤差関数とは異なる値に設定することと、各ポインタを、2つの関連する誤差関数に基づいて、追跡し決定すること、を含む方法が提供される。
【0010】
他の態様によれば、対話型入力システムにおいて、少なくとも2つのポインタが対象領域に同時に移動させられたときに該少なくとも2つのポインタ間の不明確さを解決する方法であって、各ポインタ接触に関連する真のターゲットと偽りのターゲットを決定することと、各ターゲットに関連する複数の誤差関数を設定することと、各ポインタ接触を、複数の関連する誤差関数によって追跡し、決定すること、を含む。
【0011】
したがって、一態様では、対象領域を囲む少なくとも部分的に重なり合う視野を持つ少なくとも2つの撮像装置と、少なくとも2つの撮像装置によって取得された画像データを処理して、前記対象領域内の少なくとも2つのポインタの位置を追跡し、該2つのポインタ間の不明確さを解決する処理機構と、を有する対話型入力システムが提供される。
【図面の簡単な説明】
【0012】
【図1】図1は対話型入力システムの正面図である。
【図2】図2は図1の対話型入力システムの概略図である。
【図3】図3は図1および図2の対話型入力システムのタッチパネルの隅の拡大正面図である。
【図4A】図4Aは、タッチパネルに接触する2つのポインタを、2つの偽りポインタと一緒に示し、それによってポインタの不明確さを強調したタッチパネルの正面図である。
【図4B】図4Bは、図4Aのタッチパネルを概ね見通す、本対話型入力システムのデジタルカメラによって取得された画像フレームを示す図である。
【図5】図5Aは、タッチパネルに接触する2つのポインタを示し、それによってポインタの遮蔽を強調したタッチパネルの正面図である。
【図5B】図5Bは、図5Aのタッチパネルを概ね見通す、本対話型入力システムのデジタルカメラによって取得された画像フレームを示す図である。
【図6】図6は、取得された画像フレームにおけるポインタの考えられる状態を示す図である。
【図7A】図7Aは複数のポインタの追跡中に行われるステップを示すフローチャート
【図7B】図7Bは複数のポインタの追跡中に行われるステップを示すフローチャートである。
【図8A】図8Aは複数のポインタの追跡中に行われるステップを示すフローチャートである。
【図8B】図8Bは複数のポインタの追跡中に行われるステップを示すフローチャートである。
【図9A】図9Aはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9B】図9Bはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9C】図9Cはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9D】図9Dはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9E】図9Eはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9F】図9Fはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9G】図9Gはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9H】図9Hはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【図9I】図9Iはタッチパネルのタッチ面にわたって動く複数のポインタの追跡を示す図である。
【発明を実施するための形態】
【0013】
実施形態を、添付の図面を参照してより完全に説明する。
【0014】
ここで、図1から図3を参照すると、対話型入力システムが示され、全体が参照番号50によって示されている。対話型入力システム50は、本出願の譲受人であるアルバータ州カルガリー(Calgary,Alberta)のSMART Technologies ULCに譲渡された、上記の特許文献5に開示された対話型入力システムに類似している。
【0015】
図1から図3より理解できるように、対話型入力システム50は、デジタルシグナルプロセッサ(DSP)ベースのマスターコントローラ54に接続されたタッチパネル52を有する。マスターコントローラ54はコンピュータ56にも接続されている。コンピュータ56は1つまたは2つ以上のアプリケーションプログラムを実行し、画像生成装置58にコンピュータが生成した画像出力を出力する。画像生成装置58は次に、タッチスクリーン52のタッチ面60に表示される、コンピュータが生成した画像を生成する。タッチパネル52、マスターコントローラ54、コンピュータ56、および画像生成装置58は、タッチ面60上へのポインタ接触が、書き込みまたは描画として記録されること、またはコンピュータ56によって実行されるアプリケーションプログラムの制御を実行するのに使用されることを可能にする。
【0016】
タッチ面60は、2005年12月6日に発行され、本出願の譲受人であるSMART Technologies ULCに譲渡され、その内容が参照によりここに組み込まれる、Akitt他へ付与された米国特許明細書第6,972,401号に開示されたベゼルまたは枠に類似した、ベゼル、すなわち枠62によって縁取られている。図2と図3で最もよくわかる、処理機能が搭載された、DSPベースのデジタルカメラ70が、タッチ面60の上側の隅に隣接して配置され、ベゼル62によって収容されている。この実施形態では、各デジタルカメラ70は、タッチ面60を概ね見通すイメージセンサーと、該イメージセンサーと通信する処理装置(図示せず)とを有する。各イメージセンサーの光軸は、タッチ面の反対側に位置する隅の方を概ね向き、この例では、タッチ面60の対角線に沿っている。したがって、各イメージセンサーの光軸は、タッチ面60の斜めに相対する隅を二等分している。
【0017】
タッチシステム50の動作中、各デジタルカメラ70のイメージセンサーはタッチ面60を見通し、画像フレームを取得する。各デジタルカメラ70では、そのイメージセンサーによって取得された画像データは、デジタルカメラの処理装置によって処理され、1つまたは2つ以上のポインタが取得された各画像フレームに存在すると考えられるかどうかを判断する。1つまたは2つ以上のポインタが、取得された画像フレームに存在すると判断されると、取得された画像フレームの1つまたは2つ以上のポインタ位置を特定するポインタ特性データがその取得された画像フレームから導き出される。
【0018】
各デジタルカメラ70によって導き出されたポインタ特性データは次に、マスターコントローラ54に送られ、該マスターコントローラは次に、タッチ面60に対する(x,y)座標系での1つまたは2つ以上のポインタの位置を算出可能にするようにポインタ特性データを処理する。
【0019】
ポインタの座標データは次に、コンピュータ56に報告され、該コンピュータは、次に、ポインタ接触が書き込みイベントである場合、ポインタの座標データを書き込みまたは描画として記録し、または、ポインタ接触がマウスイベントである場合、ポインタの座標データを、コンピュータ56によって実行されているアクティブなアプリケーションプログラムに挿入する。上述のように、コンピュータ56はまた、タッチ面60上に表示された画像がポインタ動作を反映するように、画像生成装置58に送られる画像データを更新する。
【0020】
単一のポインタが複数のデジタルカメラ70によって取得された複数の画像フレームに存在すると、タッチ面60に対する(x,y)座標系でのポインタの位置は、三角測量を用いて容易に算出することができる。複数のポインタが複数のデジタルカメラ70によって取得された複数の画像フレームに存在すると、タッチ面60に対する(x,y)座標系での複数のポインタの位置を算出することは、上記で説明したポインタの不明確さと遮蔽の問題の結果、さらに難しくなる。
【0021】
図4Aと図4B、図5Aと図5Bは、2つのデジタルカメラ70のみの使用の結果として対話型入力システム50において生じるポインタの不明確さと遮蔽の問題を示している。特に、図4Aはポインタの不明確さを示している。同図からわかるように、この例では、2つのポインタP1とP2が、異なる位置でタッチ面60に接触し、かつ2つのデジタルカメラ70の視野内にある。図4Bは、左上のデジタルカメラ70によって取得された画像フレームIF1と、右上のデジタルカメラ70によって取得された画像フレームIF2を示している。各画像フレームは、ポインタP1の画像IP1とポインタP2の画像IP2とを含んでいる。ポインタP1とP2が、該2つのポインタを区別するのを可能にする特徴的なマークを持っていない限り、各画像フレームIF1とIF2内のポインタの画像が混同されることがあり、破線PP1とPP2で示される、間違った三角測量の結果(すなわち偽りのポインタ)を生じる可能性がある。
【0022】
図5Aと図5Bはポインタの遮蔽を示している。この例では、ポインタP1は、左上のデジタルカメラ70の視野内にあるポインタP2を妨害する。その結果、左上のデジタルカメラ70によって取得された画像フレームIF1はポインタP1のみの画像IP1を含む。
【0023】
2つのポインタP1とP2が両デジタルカメラ70の視野内にある場合、該2つのポインタは、図6に示される、画像フレームにおける考えられる5つの状態の1つを取る。状態0と4では、画像フレーム内の2つのポインタの画像は離れており、はっきりと区別されるである。状態1と3では、画像フレーム内の2つのポインタの画像は結合されている。状態2では、1つのポインタのみの画像が遮蔽により画像フレームに現れている。ポインタの不明確さと遮蔽の問題に対処するために、対話型入力システム50は、以下に説明するように、たとえ2つのデジタルカメラ70のみが用いられたとしても複数のポインタの効果的な追跡を可能にする、ポインタの不明確さと遮蔽を解決する方法を用いる。
【0024】
2つのデジタルカメラ70の視野内にある複数のポインタを追跡するために、マスターコントローラ54は、複数のモジュール(この場合4つのモジュール)、すなわちターゲット生成モジュール、ターゲット追跡モジュール、状態推定モジュール、およびブラインド追跡モジュールを含む、ポインタの不明確さと遮蔽を解決するルーチンを実行する。ターゲット生成モジュールは、ポインタが画像フレームに最初に現れたときに用いられる。ターゲット生成モジュールは、ポインタの真の位置を表す可能性のある、タッチ面60上の位置であるターゲットを、デジタルカメラの画像フレーム内の情報に基づいて生成する。ターゲットは、実際のポインタ位置に対応する「真の」ターゲット、または実際のポインタ位置に対応しない「偽りの」ターゲットである。ターゲット生成モジュールの出力は、ターゲット追跡モジュールと状態推定モジュールに送られる。ターゲット追跡モジュールは、タッチ面60の1つまたは2つ以上のポインタを追い、該1つまたは2つ以上のポインタが次の画像フレーム内のどこにあるかについての予測を行う、数学的モデルを用いる。状態推定モジュールは、ターゲット生成モジュールとターゲット追跡モジュールから出力を、デジタルカメラの画像フレームからポインタ特性情報を得て、ポインタ位置、および各画像フレーム上のポインタ位置に対応するデジタルカメラ状態を決定しようとする。状態推定モジュールは、本ポインタ位置推定が、現在利用可能なすべてのポインタデータに基づいた最良の可能性のある推定であることを確実なものとするために、誤りを検出し訂正する役割も担っている。1つのポインタが他のポインタによって長時間覆い隠されると、ブラインド追跡モジュールが起動される。
【0025】
ポインタの不明確さと遮蔽を解決するルーチンの実行中、2つの処理の1つが、ポインタのシナリオに応じて行われる。特に、単一のポインタP1がタッチ面60と接触させられ、第1のポインタP1がタッチ面60に接触し続けている間に第2のポインタP2がその後タッチ面60と接触させられると、第1の処理が行われる。2つのポインタP1とP2がタッチ面60と概ね同時に接触させられたとき、第2の処理が行われる。
【0026】
図7A、図7B、図8A、および図8Bは、2つのポインタシナリオにおいて第1および第2の処理中に行われるステップを示すフローチャートである。図7Aと図7Bは、単一のポインタP1が最初にタッチ面60と接触し、第1のポインタP1がタッチ面60に接触し続けている間に第2のポインタP2がその後タッチ面60と接触するシナリオを考えている。図8Aと図8Bは、2つのポインタP1とP2がタッチ面60に概ね同時に接触するシナリオを考えている。
【0027】
第1のシナリオに関して、処理は、図7Aにおいて第1のポインタP1がタッチ面60と接触した時に開始される(ステップ100)。タッチ面60にはたった1つのポインタしか接触しておらず、かつ2つのカメラ画像フレームがあるので、タッチ面60に対する(x,y)座標系でのポインタ位置を曖昧さなしに求めるために、三角測量をマスターコントローラ54によって用いることができる(ステップ102)。タッチ面60上のポインタP1の位置に対応するターゲットT1も、ターゲット生成モジュールを用いて「生成」される。ターゲットT1が「生成」された後、ターゲットT1の位置がターゲット追跡モジュールを用いて追跡される(ステップ104)。この実施形態におけるターゲット追跡モジュールは予測フィルタに基づいている。該予測フィルタは、単純な線形予測フィルタ、任意の形態のカルマンフィルタ(Kalman filter)、または、他の形態の予測フィルタ、またはシステムエスティメータであってもよい。当業者には知られているカルマンフィルタは、追跡しているものの状態(位置、速度等)を監視するだけでなく、その基なるモデルがどれくらいうまく機能しているかを推定する特性を有している。ユーザが予測可能な物(例えば直線)をポインタで描くと、該モデルは、その一致が良好であり、小さな変動(雑音)によって引き起こされる誤差に耐える、と判断する。次に、ユーザがそれほど予測可能でないスタイルに切り替えると(例えば小さなテキスト)、カルマンフィルタは、急な変化により良好に応答するように、その応答を自動的に調整する。他のターゲットがないときにターゲットT1を追跡するために、予測フィルタを用いることは任意である、すなわち予測フィルタの結果は、複数のポインタがタッチ面60と相互に作用する場合に有用である。
【0028】
図7Aに示されるように、第1のポインタP1がタッチ面60に接触し続けている間に第2のポインタP2がタッチ面60と接触すると(ステップ106)、追加のターゲットT2、T3、およびT4がターゲット生成モジュールを用いて「生成」される(ステップ108)。ターゲットT2は、当技術分野において知られている三角測量技術を用いて、およびポインタP2がタッチ面60と接触したときにおけるターゲットT1の予測値を用いて計算された、ポインタP2の最初の位置に対応する。ターゲットT1の位置は、ポインタP2がタッチ面60と接触する直前の時間まで、明確に決定することができるので、該ターゲットT1の予測位置は、再度三角測量を用いてターゲットT2の位置を決定することを可能にする。ターゲットT3とT4も、ポインタP2がタッチ面60と接触したときに「生成」される。ターゲットT3とT4は、現在の画像フレームデータに基づいた実際のポインタ位置を表す可能性があるが、ターゲットT1の予測位置に基づいて最初は「偽りの」位置であると仮定される、代替のポインタ位置を表す偽りのターゲットである。ターゲットT1とT2に対する誤差関数が0に初期化され、ターゲットT3とT4に対する誤差関数が、ポインタP2がタッチ面60と接触したとき、ゼロよりも大きい閾値に開始される。ターゲットT3とT4が、ポインタP2がタッチ面60と接触する直前のターゲットT1の既知の位置から、偽りのターゲットであることを妥当な精度で決定できるので、誤差関数はターゲットT3とT4に対してより大きく設定される。誤差関数については次の段落においてさらに説明する。
【0029】
図7Bに示すように、ポインタP2がタッチ面60と接触した後、上で説明したような予測フィルタを用いたターゲットT2、T3、およびT4の追跡が始まり(ステップ110)、ターゲットT1の追跡はターゲット追跡モジュールを用いて続けられる。
【0030】
図7Bに示すように、ポインタP2がタッチ面60と接触し、すべてのターゲットに対する誤差関数が初期化された後、各ターゲットに対する誤差関数計算が始まる(ステップ112)。各デジタルカメラの画像フレームにおける各ターゲットの三角測量された位置と各ターゲットの幅を用いて、各デジタルカメラの画像フレームでの各ポインタの物理的寸法が計算される。あるいは、例えば、ポインタの形状、輝度レベル、色等のような、ポインタの他の特性を用いてもよい。各ターゲットに対する誤差関数は、各デジタルカメラの画像フレームについて計算された複数のターゲットの物理的寸法の差異である。誤差関数の値はある期間にわたって蓄積され(統合され)、誤差関数の値は、ターゲット生成モジュールのターゲット生成試験要素を用いて、各ターゲットに対して計算される。誤差関数は、2つのポインタが1つのカメラの視野内で1つになるときは常にゼロにリセットされる。誤差関数は、1つの誤差関数値を極めて大きく設定することによって、誤り訂正が決して発生しない状態に強制的にしてもよい。これは、基準カメラの変更(以下で説明する)が、次にポインタが一緒になるまでに、解を確定する中に起こる。
【0031】
図7Bに示すように、次に、ターゲット追跡モジュールからの予測ターゲット位置、ターゲット追跡モジュールからの現在のターゲット位置、ターゲット生成モジュールからのすべてのターゲットに対する累積された誤差関数値を用いて、ポインタP1とP2の位置が求められ、それによって「真の」ターゲットを「偽り」ターゲットから区別する(ステップ114)。ポインタP1とP2の計算された現在の位置を用いて、各デジタルカメラ70の状態が求められる。デジタルカメラの状態を用いて、ポインタP1とP2の現在の位置を計算する手助けをしてもよい。前述したように、図6はデジタルカメラの状態0から4を示している。カメラの状態0と4は起こることが多く(特に大きなタッチ面60上で)、2つのポインタははっきりと分離されている。状態番号はどちらのポインタが先に来るかを識別する(不確定なし)。状態1と3においては、2つのポインタは1つの物体へと一緒になっているが、明瞭な1つのエッジを依然として各ポインタから見ることができる。たった1つのポインタがデジタルカメラ70から報告される。この場合の状態番号は、どのエッジがどのポインタに属しているかを識別する(もつれなし)。状態2は、1つのポインタが他のポインタを完全に遮断した特別な場合である。理解できるように、状態が常時分かっていれば、両方のポインタは追跡することができる。例外は1つのポインタが他のポインタを遮断する状態2であるが、予測フィルタの結果を用いて遮断されたポインタの位置を予測することができる。状態推定モジュールは、「真の」ターゲットを「偽りの」ターゲットと区別し、デジタルカメラの状態を求める。
【0032】
図7Bに示すように、ポインタP1とP2の過去の計算された位置は、「真の」ターゲットの累積された誤差関数の現在の値と過去の値とを比較することによってチェックされる。「真の」ターゲットの累積された誤差関数が「偽りの」ターゲットの累積された誤差関数をある閾値だけ超えると、真のターゲットのポインタ経路は、該経路がより小さい累積誤差関数を持つ「偽りの」ターゲットの経路に対応するように訂正され、各デジタルカメラ70の状態は更新される(ステップ116)。
【0033】
デジタルカメラの状態と予測フィルタの結果は、誤り訂正にも用いてもよい。例えば、状態0から状態1へ、次に状態2へ、次に状態3へ、そして状態4への移行は、状態0から状態4へ、次に状態2へ、そして状態3への移行よりも起こる可能性が高く、この可能性を誤り訂正に用いることができる。これは、誤差メトリックがすべての道理にかなった、経路の組み合わせに適用され、最小誤差を持つ、状態経路の組み合わせが最も可能性があるとして指定される、最大可能性問題である。最大可能性を直接、実行することは、ポインタが一緒にされたままである時間が長くなるにつれて、指数関数的に難しくなる。この問題を克服するために、周知のViterbi最適化アルゴリズムを、ポインタがどれくらいの時間一緒にされたままであるかにかかわらず、5つの経路のみを追跡するために用いることができる。誤り訂正は、誤差関数がリセットされた時点に戻って発生する。
【0034】
小さなポインタがより大きなポインタを横切る場合、1つのデジタルカメラの視野内の該小さなポインタは、いくつかの(恐らく多数の)画像フレームに対して失われてもよい。失われた画像フレームがごく少数の画像フレーム(例えば1から3)である場合、複数の予測ポインタ位置を欠損データに用いることができるので、これは問題とならない。複数のポインタが両方の視野内で一緒になった場合、該複数のポインタは、タッチ面60上で互いに非常に近接しており(ほとんど接触している)、それらは単一のポインタとして取り扱われることを意味する。デジタルカメラの他の視野はなお有効なポインタデータを与え続け、予測される必要がない。
【0035】
デジタルカメラ70が長期間、状態2であるまれな場合では、ターゲット追跡モジュールは予測フィルタの結果に加えて補間を必要とすることがある。この例では、ブラインド追跡モジュールが呼び出される。1つのモードでは、遮断されたターゲットは、該ターゲットを他のデジタルカメラの視野内に見ることができる限り報告される。欠損データについては、既知のより大きなポインタの中央が用いられてもよい。この技術は、ジェスチャー制御に対して最もうまく作用する。例えば、ジェスチャーが入力され、両方のポインタが1つのデジタルカメラ70の視線に沿って動いている場合、欠損データは重要ではない。必要な情報のすべては遮断されていないデジタルカメラの視野からもたらされる。他のモードでは、妨害されたターゲットに関する情報を報告することは、ポインタがより大きなポインタから分離して再び現れるまで、妨げられる。欠損データはその後スムーズに補間することができる。これは著しい待ち時間異常になることがあるが、この技術はインクシナリオに対してうまく働く。ポインタの現在の機能(インクをつけること、消去すること、または指し示すこと)は、誤り訂正または不確定性解消に用いてもよい。
【0036】
図7Bに示すように、ターゲットを追跡し、誤差関数を計算し、「真の」ターゲット位置と「偽りの」ターゲット位置を計算し訂正する処理は、タッチ面60に接触する複数のポインタがもはやなくなるまで続く(ステップ118)。単一のポインタがタッチ面60に接触していると、三角測量は再開し、複数のターゲット追跡、誤差関数の計算、「真の」ターゲットの計算と訂正、およびデジタルカメラの状態の追跡は、もはや必要とされない。計算の数を減らすことによって、対話型入力システム50は、単一のポインタの状態中応答がより良くなる。
【0037】
図8Aと図8Bは、2つのポインタP1とP2がタッチ面60と概ね同時に接触する場合に行われる処理を示している。第1のポインタP1と第2のポインタP2がタッチ面60に同時に接触すると(ステップ200と202)、ターゲットT1、T2、T3、およびT4が、ターゲット生成モジュールを用いて「生成」される(ステップ204)。どのターゲットが「偽りの」ターゲットであるかを示すターゲットの以前の追跡データがないので、このシナリオでは、ターゲットT1、T2、T3、およびT4に対する誤差関数は、すべて0に初期化される。ターゲット生成に続き、上記で説明した予測フィルタを用いたターゲット追跡が、ターゲット追跡モジュールを用いて始まる(ステップ206)。
【0038】
図8Aに示すように、ターゲット追跡が始まった後、上記した誤差関数の計算がすべてのターゲットに対して始まる(ステップ208)。図8Bにおいて、予測フィルタからのポインタP1とP2の予測位置、ターゲットT1、T2、T3、およびT4の追跡結果、および、ターゲットT1、T2、T3、およびT4に対する累積された誤差関数値を用いて、ポインタP1とP2の現在の位置を計算する(例えば「真の」ターゲットを「偽りの」ターゲットと区別する)(ステップ210)。ポインタP1とP2の計算された現在の位置を用いて、各デジタルカメラ70の現在の状態が求められる。ポインタ位置の計算とデジタルカメラの状態の推定が、状態推定モジュールを用いて行われる。
【0039】
図8Bに示すように、ポインタP1とP2の過去の計算された位置は、計算されたポインタ位置に対応する「真の」ターゲットの誤差関数の現在の値および過去の値と比較される(ステップ212)。1つまたは2つ以上の「真の」ターゲットに対する累積された誤差関数が、1つまたは2つ以上の「偽りの」ターゲットに対する累積された誤差関数をある閾値だけ超えると、関連するポインタ経路が訂正され、各デジタルカメラ70の現在の状態が更新される。上記したように、デジタルカメラの過去の状態も誤り訂正を行うために用いられてもよい。上記の処理は、2つのポインタが複数のデジタルカメラ70の視野内にとどまっている間行われる(ステップ214)。
【0040】
図9Aから図9Iは、タッチ面60上の複数のポインタの追跡の例を示している。図9Aは、最初の接触後の、システムの6個のフレームの状態を示している。ポインタ1(P1)が、以前の5つのフレームについてタッチ面60に既に接触しており、追跡されている。ポインタ2(P2)がたった今タッチ面60に接触した。ポインタ接触の4つの考えられる解T1からT4が算出され、追跡が開始される。ポインタP1は既に追跡されているので、正しい解は明らかである。この例では、左のデジタルカメラが、それがより大きな角度広がりを有するので、どちらのポインタがどちらであるかの追跡を続ける基準カメラとして指定される。誤り訂正が発生すると、基準カメラの関連づけは変えられない。基準でないカメラからの関連づけは、解を訂正するために常に切り替えられる。これによって、ポインタの識別が切り替えられるのを防止される。
【0041】
図9Bにおいて、2つのポインタは右のカメラの視野において一緒になり始めている。これが起こると、偽りのターゲットからの経路は真のターゲットからの経路と一緒になる。図9Cにおいて観測が分離した後、誤差関数がリセットされ、追跡は、どちらの観測がどちらのポインタに属するかを判断する。この場合、状態推定は失敗し、偽りのターゲットが真のポインタとして報告される。間違った経路が追跡されるので、誤差関数は間違いが行われていることを直ちに示す。図9Dにおいて、誤差関数は訂正が必要であることを判定している。基準でない右のカメラへの関連づけが切り替えられ、間違った経路が消去され(図9Dにおいて「+」の印として示した)、正しい経路が描かれる。図9Eにおいて、2つのポインタは右の基準カメラの視野内で一緒になり始めている。この時点で、左のカメラは、信頼性がないので、もはや基準として用いることができず、基準は右のカメラに移される。ここで、右のカメラでの現在の解が、正しいポインタ関連づけであるとみなされ、誤り訂正が左のカメラで実行される。誤差関数は、誤り訂正が、ポインタが一緒になることが新たに基準でないカメラで起こった後まで行われない状態にリセットされる。これは決定を効果的に確定する。
【0042】
図9において、2つのポインタは、左のカメラにおいて一緒になり、それから分離され、誤差関数は再度ゼロにリセットされる。この場合、状態推定は正しい関連づけを行っており、誤り訂正は不要である。図9Gにおいて、2つのポインタは左のカメラにおいて再度一緒になる。この場合、ポインタP2は、左のカメラの視野においてポインタP1により完全に覆い隠され、その位置は補間される必要がある。図9Hにおいて、ポインタP1がタッチ面から取り除かれる。図9Iにおいて、追跡はポインタP2についての単一ポインタモードで継続する。他の解は追跡されない。
【0043】
上述したタッチシステム50は、タッチ面60の上側の隅に隣接して配置された1対のデジタルカメラ70を有する。当業者は、特に、タッチ面がHillらに付与された上記の米国特許明細書第10/750,219号に記述されているように、非常に大きい場合、他のカメラ70をタッチ面60の周辺に配置してもよい、ということを理解するであろう。当業者は、2つのポインタを持つシナリオについてここで説明した処理は、3つ以上のポインタを持つシナリオに拡張されてもよく、3つ以上のイメージセンサーの使用は、ポインタの不確定性解消のための追加のデータをもたらす、ということを理解するであろう。当業者は、上記で説明したポインタの不明確さと遮蔽を解決する技術をほぼどのようなマシンビジョンタッチシステムにおいても用いることができる、ということを理解するであろう。例えば、該ポインタの不明確さと遮蔽を解決する技術は、2008年5月9日に出願され、SMART Technologies ULCに譲渡され、その内容が参照によりここに組み込まれる、「Interactive Input System and Bezel Therefor」という名称の、Jeremy Hansenらの米国特許出願(出願番号は不明)に記述されているような、反射型、再帰反射型、吸収性、の少なくとも1つのベゼルを利用した対話型入力システムで用いてもよい。
【0044】
当業者によって理解されるよう、ポインタは、指、パッシブまたはアクティブのスタイラスまたは他の物体、光または他の発光のスポット、または、カメラで見ることができる他の指示体であってもよい。本タッチシステムを、デジタルカメラを含むものとして説明したが、画像を生成することができる、例えばリニア光センサのような他の撮像装置を用いてもよい。
【0045】
画像生成装置58は、例えば、プラズマテレビ、液晶ディスプレイ(LCD)装置、フラットパネルディスプレイ装置、陰極線管(CRT)等のような表示ユニットであってもよい。この場合、ベゼル62は表示ユニットと係合する。タッチ面60は表示ユニットの表示面によって、または表示ユニットの表示面上に重なる、ベゼル62で囲まれた窓ガラスによって構成されてもよい。あるいは、画像生成装置58は、コンピュータによって生成された画像をタッチ面60上に投影する、フロントまたはリアプロジェクション装置であってもよい。
【0046】
実施形態を上記したが、当業者は、添付の特許請求の範囲によって定まる本発明の要旨および範囲から逸脱することなく、種々の変更および修正がなされてもよいことも理解するであろう。

【特許請求の範囲】
【請求項1】
対話型入力システムにおいて、少なくとも2つのポインタ間の不明確さを解決する方法であって、
対象領域の複数の画像を取得することと、
画像データを処理して、前記対象領域内の前記の少なくとも2つのポインタに対する考えられる複数のターゲットであって、真のターゲットと偽りのターゲットとを含む考えられる複数のターゲットと、考えられる各ターゲットの現在のターゲット位置を求めることと、
前記対象領域内の考えられる各ターゲットを追跡し、考えられる各ターゲットの予測ターゲット位置を計算することと、
少なくとも真の各ターゲットに関連するポインタ経路を求めることと、
を有する方法。
【請求項2】
前記追跡を、予測フィルタを用いて行なう、請求項1に記載の方法。
【請求項3】
前記予測フィルタは、各ポインタ経路を求め訂正するのに使用される、請求項2に記載の方法。
【請求項4】
対話型入力システムにおいて、少なくとも1つのポインタが、少なくとも1つのポインタが既に存在する対象領域に移動させられたときに2つのポインタ間の不明確さを解決する方法であって、
各ポインタに関連する真のターゲットと、偽りのターゲットを求めることと、
前記の真のターゲットに関連する真の誤差関数を設定することと、
前記の偽りのターゲットに関連する偽りの誤差関数を、前記真の誤差関数とは異なる値に設定することと、
各ポインタを、その関連する誤差関数に基づいて追跡し、決定することと、
を有する方法。
【請求項5】
前記真の誤差関数を前記偽りの誤差関数と比較して各ターゲットのポインタ経路を求めることをさらに含む、請求項4に記載の方法。
【請求項6】
前記真の誤差関数が前記偽りの誤差関数を超えると、前記ポインタ経路を、前記偽りのターゲットに関連するポインタ経路に対応するように訂正する、請求項5に記載の方法。
【請求項7】
対話型入力システムにおいて、少なくとも2つのポインタが対象領域に同時に移動させられたときにポインタ間の不明確さを解決する方法であって、
各ポインタ接触に関連する真のターゲットと偽りのターゲットを求めることと、
各ターゲットに関連する複数の誤差関数を設定することと、
各ポインタ接触を、その関連する誤差関数によって、追跡し決定することと、
を含む方法。
【請求項8】
対象領域を囲む、少なくとも部分的に重なり合う視野を持つ少なくとも2つの撮像装置と、
前記の少なくとも2つの撮像装置によって取得された画像データを処理して、前記対象領域内の少なくとも2つのポインタの位置を追跡し、該2つのポインタ間の不明確さを解決する処理機構と、
を有する対話型入力システム。
【請求項9】
前記処理機構は、前記の少なくとも2つのポインタに対する複数のターゲットを求めるターゲット生成モジュールを含む、請求項8に記載の対話型入力システム。
【請求項10】
前記処理機構は、前記対象領域内の前記複数のターゲットを追跡するターゲット追跡モジュールをさらに含む、請求項9に記載の対話型入力システム。
【請求項11】
前記処理機構は、前記ターゲット生成モジュールと前記ターゲット追跡モジュールからの情報と、前記の少なくとも2つの撮像装置からの画像データに基づいて、前記の少なくとも2つのポインタの複数の位置を求める状態推定モジュールをさらに含む、請求項10に記載の対話型入力システム。
【請求項12】
前記処理機構は、前記の少なくとも2つのポインタの1つが長期間覆い隠されたとき、前記の少なくとも2つのポインタの覆い隠された1つの位置を求めるブラインド追跡モジュールをさらに含む、請求項11に記載の対話型入力システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4A】
image rotate

【図4B】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8A】
image rotate

【図8B】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図9C】
image rotate

【図9D】
image rotate

【図9E】
image rotate

【図9F】
image rotate

【図9G】
image rotate

【図9H】
image rotate

【図9I】
image rotate


【公表番号】特表2011−522332(P2011−522332A)
【公表日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2011−511946(P2011−511946)
【出願日】平成21年6月5日(2009.6.5)
【国際出願番号】PCT/CA2009/000773
【国際公開番号】WO2009/146544
【国際公開日】平成21年12月10日(2009.12.10)
【出願人】(592221263)スマート テクノロジーズ ユーエルシー (15)
【氏名又は名称原語表記】SMART TECHNOLOGIES ULC
【Fターム(参考)】