(57)【要約】未加工のトラックパッドセンサデータを取得（測定）して、このデータをホストコンピュータに送信し、ここで該データが１又はそれ以上のホストコンピュータの中央演算処理装置で実行するアプリケーションにより分析される入力デバイスとシステムが記載される。結果として得られる入力処理アーキテクチャは、従来技術のトラックパッド入力デバイスよりも製造コストが安価で且つより柔軟性のあるトラックパッド入力デバイスを提供する。コストの低下は、センサデータを処理するための従来技術の専用トラックパッドハードウェア（例えば、プロセッサと関連するファームウェアメモリ）を除去することにより実現される。柔軟性の向上は、ホストコンピュータ上で実行するソフトウェアを介して機能セットに機能性を与えることにより実現される。このアーキテクチャでは、ソフトウェアのアップグレード手順を通じてトラックパッドの機能性を修正、更新、改善することができる。【選択図】図２
2009523267.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信回路と複数の検出素子を有し、ユーザのジェスチャに応答して前記検出素子を用いて未加工のデータを取得して該未加工のデータを前記第１の通信回路を用いて送信するトラックパッドデバイスと含む  通信路を介して前記第１の通信回路に動き可能に結合される第２の通信回路と含む  前記第２の通信回路に動き可能に結合され、少なくとも１つが、ホストアプリケーションのユーザレベルのタスクを実行する役割を少なくとも部分的に担う１又はそれ以上のホストプロセッサと含む  前記トラックパッドデバイスから得られた未加工のデータを解釈し、該解釈済みデータをユーザレベルのタスクとして前記ホストアプリケーションが利用できるようにする、前記ホストプロセッサの少なくとも１つにおいて実行するソフトウェアと含むを備えることを特徴とするコンピュータシステム。
【請求項２】
前記ユーザのジェスチャは、１本の指によるタッチ、同時に２本又はそれ以上の指によるタッチ、１本又はそれ以上の指によるタッチとスライド、１本又はそれ以上の指による静止したタッチと同時の１本又はそれ以上の指によるタッチとスライド、２本又はそれ以上の指によるタッチと狭める動き、１本又はそれ以上の指によるタップ、２本又はそれ以上の指によるタッチと拡げる動き、１本又はそれ以上の指によるタップを伴う１本又はそれ以上の指によるタッチ、手の一部分によるタッチ、手の一部分のタッチと動きから成るグループから選択されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項３】
前記ホストアプリケーションのユーザレベルのタスクは、マウス操作、編集操作、カーソル操作、ファイル操作、アプリケーション操作、ブラウザ操作、キーボード操作から成るグループから選択されることを特徴とする請求項１に記載のコンピュータシステム。
【請求項４】
前記マウス操作は、ポイント、クリック、ダブルクリック、右クリック、ドラッグ／選択、スクロールから成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項５】
前記編集操作は、カット、コピー、ペースト、前回の処理の取り消し、前回の操作のやり直しから成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項６】
前記カーソル操作は、カーソル移動、カーソルによる選択、タブカーソル、ホームへのカーソル移動、エンドへのカーソル移動、ページアップ、ページダウンから成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項７】
前記ファイル操作は、ファイルのオープン、ファイルのクローズ、ファイルの保存、新規ファイルの作成、ファイルの印刷、次のファイルの表示、前回のファイルの表示から成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項８】
前記アプリケーション操作は、デスクトップの表示、アプリケーションの終了、アプリケーションウィンドウの切り替えから成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項９】
前記ブラウザ操作は、戻る、進む、スクロール、ズームイン、ズームアウト、ページ内検索から成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項１０】
前記キーボード操作は、シフトキー、コントロール／コマンドキー、選択キーから成るグループから選択されることを特徴とする請求項３に記載のコンピュータシステム。
【請求項１１】
前記第１及び第２の通信回路は、ユニバーサルシリアルバスプロトコルに従って動作するように適合されていることを特徴とする請求項１に記載のコンピュータシステム。
【請求項１２】
前記複数の検出素子は、抵抗センサアレイ又は容量センサアレイを含むことを特徴とする請求項１に記載のコンピュータシステム。
【請求項１３】
前記トラックパッドデバイスは、前記検出素子と前記第１の通信回路との間で電気的に結合され、前記複数の検出素子の各々において測定されたデジタル値を符号化するデータ収集回路を含むことを特徴とする請求項１に記載のコンピュータシステム。
【請求項１４】
第１の通信回路と複数の検出素子とを有し、ユーザのジェスチャに応答して前記検出素子を用いて未加工のデータを取得して該未加工のデータを前記第１の通信回路を用いて送信するトラックパッドデバイスに動き可能に結合されたホストモジュールであって、該ホストモジュールが、
通信路を介して前記第１の通信回路に動き可能に結合される第２の通信回路と、
前記第２の通信回路に動き可能に結合され、少なくとも１つが、ホストアプリケーションのユーザレベルのタスクを実行する役割を少なくとも部分的に担うホストプロセッサと、
前記トラックパッドデバイスから得られた未加工のデータを解釈し、該解釈済みデータをユーザレベルのタスクとして前記ホストアプリケーションが利用できるようにする、前記ホストプロセッサの少なくとも１つにおいて実行するソフトウェアと
を備えることを特徴とするホストモジュール。
【請求項１５】
前記ユーザのジェスチャは、１本の指によるタッチ、同時に２本又はそれ以上の指によるタッチ、１本又はそれ以上の指によるスライドを伴うタッチ、１本又はそれ以上の指による静止したタッチと同時の１本又はそれ以上の指によるタッチとスライド、２本又はそれ以上の指によるタッチと狭める動き、１本又はそれ以上の指によるタップ、２本又はそれ以上の指によるタッチと拡げる動き、１本又はそれ以上の指によるタップを伴う１本又はそれ以上の指によるタッチ、手の一部分によるタッチ、手の一部分のタッチと動きから成るグループから選択されることを特徴とする請求項１４に記載のホストモジュール。
【請求項１６】
前記ユーザレベルのタスクは、マウス操作、編集操作、カーソル操作、ファイル操作、アプリケーション操作、ブラウザ操作、キーボード操作から成るグループから選択されることを特徴とする請求項１４に記載のホストモジュール。
【請求項１７】
前記マウス操作は、ポイント、クリック、ダブルクリック、右クリック、ドラッグ／選択、及びスクロールから成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項１８】
前記編集操作は、カット、コピー、ペースト、前回の処理の取り消し、前回の操作のやり直しから成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項１９】
前記カーソル操作は、カーソル移動、カーソルによる選択、タブカーソル、ホームへのカーソル移動、エンドへのカーソル移動、ページアップ、ページダウンから成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項２０】
前記ファイル操作は、ファイルのオープン、ファイルのクローズ、ファイルの保存、新規ファイルの作成、ファイルの印刷、次のファイルの表示、前回のファイルの表示から成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項２１】
前記アプリケーション操作は、デスクトップの表示、アプリケーションの終了、アプリケーションウィンドウの切り替えから成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項２２】
前記ブラウザ操作は、戻る、進む、スクロール、ズームイン、ズームアウト、ページ内検索から成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項２３】
前記キーボード操作は、シフトキー、コントロール／コマンドキー、選択キーから成るグループから選択されることを特徴とする請求項１６に記載のホストモジュール。
【請求項２４】
前記第２の通信回路は、ユニバーサルシリアルバスプロトコルに従って動作するように適合されている含むことを特徴とする請求項１４に記載のホストモジュール。
【請求項２５】
前記ソフトウェアは、未加工のデータから得られるコンピュータ命令を求め、該コンピュータ命令を前記ユーザレベルのタスクとして前記ホストアプリケーションが利用できるようにするドライバアプリケーションを含むことを特徴とする請求項１４に記載のホストモジュール。
【請求項２６】
トラックパッドデバイスの検出素子上で行われるユーザのジェスチャに応答して未加工のデータを測定するステップと、
少なくとも１つがホストアプリケーションのユーザレベルのタスクを実行する役割を少なくとも部分的に担うホストモジュールの１又はそれ以上のホストプロセッサに対して、前記未加工のデータを送信するステップと、
前記ホストプロセッサの少なくとも１つ上で実行するソフトウェアを用いて前記未加工のデータを解釈するステップと、
前記解釈済みデータを前記ユーザレベルのタスクとして実行するために前記ホストアプリケーションが利用できるようにするステップと
を含む方法。
【請求項２７】
前記ユーザのジェスチャは、１本の指によるタッチ、同時に２本又はそれ以上の指によるタッチ、１本又はそれ以上の指によるスライドを伴うタッチ、１本又はそれ以上の指による静止したタッチと同時の１本又はそれ以上の指によるタッチとスライド、２本又はそれ以上の指によるタッチと狭める動き、１本又はそれ以上の指によるタップ、２本又はそれ以上の指によるタッチと拡げる動き、１本又はそれ以上の指によるタップを伴う１本又はそれ以上の指によるタッチ、手の一部分によるタッチ、手の一部分のタッチと動きから成るグループから選択されることを特徴とする請求項２６に記載の方法。
【請求項２８】
前記ユーザレベルのタスクは、マウス操作、編集操作、カーソル操作、ファイル操作、アプリケーション操作、ブラウザ操作、キーボード操作から成るグループから選択されることを特徴とする請求項２６に記載の方法。
【請求項２９】
前記トラックパッドデバイス上で行われるユーザのジェスチャに応答して前記未加工のデータを測定するステップは、前記ユーザのジェスチャにより活性化される複数のセンサ素子の各々について特性を測定するステップを含み、各測定値はデジタル値によって符号化されることを特徴とする請求項２６に記載の方法。
【請求項３０】
前記特性を測定するステップは、静電容量値又は抵抗値を表すデジタル値を求めるステップを含むことを特徴とする請求項２９に記載の方法。
【請求項３１】
前記未加工のデータを送信するステップは、ユニバーサルシリアルバスプロトコルに従ってデジタル値を送信するステップを含むことを特徴とする請求項２６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本出願は、２００４年９月２４日出願の同時係属中の米国特許出願第１０／９４９，０６０号の一部継続出願であり、該米国特許出願は参照によりその全体が本明細書に組み込まれている。また、本出願に対する優先権が主張される。
【背景技術】
【０００２】
本発明は、一般的に、コンピュータ入力デバイスに関し、より詳細には、測定された（未加工の）センサデータを生成して、ホストコンピュータシステムに送信するトラックパッド入力デバイスに関する。このホストコンピュータシステム上で実行するソフトウェアは、未加工のセンサデータを分析して、ユーザのアクションを判断する。
【０００３】
トラックパッドは、マウス又はトラックボールの代わりに、或いはこれらと共に使用されるタッチセンサ式の平面ディジタイザ入力デバイスである。使用中、オペレータはトラックパッド上に指を載せ、タッチセンサ式の平面に沿って指を動かす。トラックパッドは、指の動きを検出し、これに応答して位置及び／又は動き信号をコンピュータに与える。トラックパッドセンサデバイスには、抵抗式と容量式の２種類の一般的なセンサデバイスがある。抵抗式トラックパッドセンサは、通常空気により隔てられた材料の２つの層を使用する機械式センサである。指からの圧力によって上層（一般に薄い透明なポリエステルフィルム）が押され、これにより上層が底層（一般にガラス）に接触する。接点における電圧が測定され、指の位置及び／又は動きが計算されて、ホストコンピュータシステムに送信される。指が外されると、上層は、元の配置へ「跳ね返る」。これとは対照的に、容量式トラックパッドセンサ又はタッチパッドセンサは、プリント配線基板（「ＰＣＢ」）又はフレックス回路技術を利用して作られる固体センサである。導電性トレースのトップグリッドに指が接するか、又は接近すると、隣接するトレース間の容量結合又は各トレースの自己容量が変化する。この静電容量の変化が測定され、指の位置及び／又は動きが計算されて、ホストコンピュータシステムに送信される。
【０００４】
図１を参照すると、従来技術のコンピュータシステム１００は、通信路１１５を介してホストコンピュータモジュール１１０に接続されたトラックパッドデバイス１０５を含む。トラックパッドデバイス１０５は、センサ１２０、データ収集回路１２５、プロセッサ１３０、メモリ１３５、送信回路１４０を備える。容量式トラックパッドデバイスの場合、ユーザの指（複数の指）がセンサ１２０の表面上を移動すると、データ収集回路１２５が、隣接するセンサ素子間の容量結合（又は、所与のセンサ素子の自己容量）の変化を測定する。プロセッサ１３０は、メモリ１３５と共に、得られた静電容量信号を処理して、センサ１２０上のユーザの指の位置を示す信号（例えば、ΔＸ信号とΔＹ信号）を計算する。従来技術のトラックパッドデバイスによっては、複数の指がセンサ１２０をアクティブにしているかどうか、及び、例えば「選択」、「ドラッグ」、「ファイルを開く」、「ファイルを閉じる」などの操作である、ある所定の指の動き（ジャスチャと呼ばれることが多い）が行われているかどうかをプロセッサ１３０が判断するものもある。特定の間隔（毎秒５０回などの）で、プロセッサ１３０により判断されるユーザの指の位置及び／又は動きが、通信路１１５を介してホストコンピュータモジュール１１０に送信される。ホストコンピュータモジュール１１０側では、受信回路１４５が、送信されたトラックパッド信号を受信し、この情報をドライバアプリケーション１５０に受け渡す。ドライバアプリケーション１５０では、例えば、ウィンドウ表示サブシステムアプリケーション１５５のような他のアプリケーションが計算済みのセンサ情報を利用できるようにする。このようにして、従来技術によるシステム１００は、未加工のトラックパッドセンサデータを測定し、分析するための専用プロセッサを利用して、ユーザのアクションを示す信号を生成する。
【０００５】
当業者であれば認識されるように、プロセッサ１３０は、（マイクロプロセッサなどの）汎用プロセッサ、マイクロコントローラ、又は、（アプリケーション専用の集積回路、又はカスタム設計のゲートアレイデバイスなどの）特定用途又はカスタム設計のプロセッサ若しくは状態マシンに組み込むことができる。更に、メモリ１３５は、通常、プロセッサ１３０を駆動するための命令（すなわちファームウェア）を永久的に格納するのに使用され、任意選択的に、ランダムアクセスメモリ及び／又はレジスタ記憶装置を含むことがある。図１のアーキテクチャの利点として、ホストコンピュータモジュール１１０が、センサ１２０により生成されたデータの種類を認知し又は理解する必要がない点が挙げられる。この特徴から得られる当然の結果として、ホストコンピュータモジュール１１０はトラックパッドセンサデータの処理を行わない。
【０００６】
【特許文献１】米国特許第６，５７０，５７７号公報
【特許文献２】米国特許第６，６７７，９３２号公報
【特許文献３】米国特許出願公開第２００５／０１０４８６７号公報
【特許文献４】米国特許出願公開第２００２／００１５０２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
やはり当業者により認識されることであるが、図１のアーキテクチャの欠点は、トラックパッドデバイス１０５により与えられる機能セット（すなわち、どのような動きが検出可能であるか）が、その専用ハードウェアであるプロセッサ１３０及び関連するファームウェア（メモリ１３５）により本質的に固定される点である。図１のアーキテクチャの別の欠点は、製造された各装置１０５には、プロセッサ１３０と関連するファームウェアメモリ１３５のコストが含まれる点である。従って、これら固有の欠点を解決するトラックパッドデバイスを提供することは有益なものとなる。
【課題を解決するための手段】
【０００８】
１つの実施態様では、本発明は、トラックパッド入力デバイスを提供する。本トラックパッド入力デバイスは、トラックパッドセンサの特性（すなわち静電容量又は抵抗）を表す出力信号を生成するトラックパッドセンサ素子と、トラックパッドセンサの特性を符号化する（デジタル）値を測定するデータ収集回路と、測定されたトラックパッドセンサ値を分析のために汎用プロセッサに送信する通信回路とを含も。この汎用プロセッサは、ユーザレベルや他のシステムレベルのタスク又はアプリケーションを実行する役割を担う。１つの特定の実施態様では、トラックパッドセンサは容量式トラックパッドセンサであり、測定値は未加工のトラックパッドセンサ値を含み、汎用プロセッサはホストコンピュータシステムの中央演算処理装置に対応する。
【発明を実施するための最良の形態】
【０００９】
最初に図２を参照すると、本発明によるトラックパッドデバイスを組み込むシステムの全体のアーキテクチャが示されている。図示のように、システム２００は、通信路２１５を介してホストモジュール２１０に結合されたトラックパッドデバイス２０５を含む。トラックパッドデバイス２０５は、該トラックパッドデバイス２０５のユーザの操作に基づいて信号を生成するトラックパッドセンサ２２０と、センサをキャプチャーし、すなわち測定するためのデータ収集回路２２５と、測定されたセンサデータ値を集計して通信路２１５を介してホストモジュール２１０に定期的に送信するための送信回路２３０とを備えている。ホストモジュール２１０では、受信回路２３５は、測定済みのセンサデータを受信し、このデータをドライバアプリケーション２４０に受け渡す。ドライバアプリケーション２４０は、測定済みのデータを処理又は分析し、ユーザの行動（例えば、「シングルクリック」、「ダブルクリック」、「スクロール」、又は「ドラッグ」操作）を判断し、ウィンドウ表示サブシステムアプリケーション２４５などの他のアプリケーションに計算された位置及び／又は動作情報を受け渡す。本発明によれば、ドライバアプリケーション２４０は、ホストプロセッサ２５０により実行され、このホストプロセッサ２５０は、図示のように１又はそれ以上のユーザアプリケーション又は処理２５５を（少なくとも部分的に）実行する役割を担う。トラックパッドデバイス２０５には、センサ２２０から得られたデータ信号（値）を処理又は分析する能力がない点に留意することは重要である。本発明によれば、センサデータは、ホストコンピュータシステムの汎用プロセッサ又は中央演算処理装置（「ＣＰＵ」）により分析される。
【００１０】
図２のアーキテクチャは、ホストコンピュータシステム（例えば、ノート型コンピュータ又は他のパーソナルコンピュータ、ワークステーション、サーバ）に組み込まれた最新のＣＰＵの処理能力を認識し、これを一意的に利用する。図２のこの認識及びアーキテクチャにより、従来技術により提供されるシステムよりも製造コストが安価で且つより柔軟なコンピュータシステム２００が実現可能となる。コストの低下は、トラックパッドセンサのデータを処理するための従来技術による専用ハードウェア（すなわちプロセッサ及び関連するファームウェアメモリ、図１の構成要素１３０及び１３５を参照のこと）を排除することにより実現できる。柔軟性の向上は、ホストコンピュータのＣＰＵで実行するソフトウェアを介して機能セットに機能性を与えること、すなわち測定済みのトラックパッドセンサのデータをホストコンピュータのＣＰＵの１又はそれ以上で処理／分析することにより実現できる。このアーキテクチャでは、従来のソフトウェアのグレードアップ処理手順を通じて、トラックパッドの機能性の修正、更新、改善を行うことができる。
【００１１】
以下の説明は、当業者が請求項に記載された本発明を実施し利用できるように提示され、以下で議論する特定の例との関係において提供されるが、その変形形態は当業者には容易に明らかになるであろう。従って、開示される実施形態は、本明細書に添付された請求項を限定するものではなく、本明細書で開示される原理及び特徴に相応する請求項の最も広い範囲が付与されるべきである。
【００１２】
図３を参照すると、本発明の１つの実施形態によるトラックパッドデバイス３００は、ｍ行×ｎ列の容量性センサアレイ３０５、データ収集回路３１０（これ自体がマルチプレクサ（「ＭＵＸ」）回路３１５、蓄積キャパシタ３２０、走査回路３２５を含んでいる）、ユニバーサルシリアルバス（「ＵＳＢ」）送信回路３３０を備える。動作中、ＭＵＸ回路３１５は、連続するセンサアレイ素子（例えば、行、列、又は個々のピクセル、すなわち行と列との交点における素子）を制御された、すなわち順序付けられた方法で蓄積キャパシタ３２０に結合し、活性化し、測定サイクルが開始されたことを走査回路３２５に示す役割を担う。蓄積キャパシタ３２０の電荷が、指定値又は閾値に達すると、走査回路３２５は、指定の閾値まで蓄積キャパシタ３２０を充電するのに要した時間を記録する。その結果、走査回路３２５は、選択されたセンサアレイ素子の静電容量の直接表示であるデジタル値を提供する。ＵＳＢ送信回路３３０は、測定済みの静電容量値を集計してパケットにし、ＵＳＢプロトコルに従ってこれらのパケットをＵＳＢバス３４０を介してホストモジュール３３５に送信する役割を担う。当業者であれば理解されるように、使用するＵＳＢのバージョンとバス３４０の帯域幅に応じて、ＵＳＢ送信回路３３０は、データの各フレームを２以上、１又は２以上のパケットの形でホストモジュール３３５に転送する。ホストモジュールのＵＳＢ受信回路３４５は、ＵＳＢバス３４０を介してトラックパッドデバイス３００から測定済みのセンサデータを受信すると、この測定済みの静電容量データをアンパックし、ドライバアプリケーション３５０に受け渡す。ドライバアプリケーション３５０では、未加工の（測定済みの）静電容量データを受け入れて処理し、意味のあるカーソル移動入力をオペレーティングシステムアプリケーション３５５に与える。（当業者であれば、走査回路３２５はセンサアレイ３０５からの静電容量値を所定の順序すなわちシーケンスで測定していること、及びこのシーケンスは、ドライバアプリケーション３５０により演繹的に知られるか、測定済みのセンサデータと共にドライバアプリケーション３５０に伝達される必要があることを認識されるであろう。）１つの実施形態では、ドライバアプリケーション３５０は、従来であれば、例えば図１のプロセッサ１３０やファームウェアメモリ１３５などの専用のトラックパッドプロセッサが提供していたトラックパッドアルゴリズムを実施する。
【００１３】
図４を参照すると、行と列でアドレス指定可能な容量性センサアレイにおいて実装可能なＭＵＸ回路３１５の更に詳細な図が示されている。図示のように、センサアレイ４００の各行は、ＭＵＸ−１（４１０）を介して電圧源Ｖｃｃ４０５、及びＭＵＸ−２（４２０）を介して蓄積キャパシタ４１５に電気的に結合されている。（詳細には図示していないが、センサアレイ４００の各列も同様に、別のＭＵＸ回路すなわちブロック４２５を介してＶｃｃ４０５と蓄積キャパシタ４１５に結合される。）
【００１４】
次に図５を参照すると、動作中、ＭＵＸ−１（４１０）は、第１のセンサアレイ行をＶｃｃ４０５に指定の時間期間（ブロック５００）結合し、次いで、この行をＶｃｃ４０５から分離又は切断する（ブロック５０５）。次に、ＭＵＸ−２（４２０）は、この同じ行を蓄積キャパシタ４１５に指定の時間期間の間、又は蓄積キャパシタ４１５の電圧が指定の閾値に達するまで結合する（ブロック５１０）。ＭＵＸ−２（４２０）が、選択されたセンサ行を蓄積キャパシタ４１５に結合している時間の間、この蓄積キャパシタの電圧が指定の閾値に達した場合（ブロック５１５の「ＹＥＳ」の分岐）、蓄積キャパシタ４１５を閾値まで充電するのに要した時間に対応するデジタル値が、走査回路３２５により記録される（ブロック５２０）。ＭＵＸ−２（４２０）が、選択されたセンサ行を蓄積キャパシタ４１５に結合している時間の間に、この蓄積キャパシタの電圧が指定の閾値に達しなかった場合（ブロック５１５の「ＮＯ」の分岐）、ブロック５００〜５１０の動作が繰り返される。選択された行の静電容量に対応するデジタル値が得られると（ブロック５２０）、サンプリングする必要がある追加の行がセンサアレイ４００内に存在するかどうかを調べるためのチェックが行われる。ブロック５００〜５２０に従って、センサアレイ４００内の全ての行がサンプリングされると（ブロック５２５の「ＹＥＳ」の分岐）、同じ処理を用いて、センサアレイ４００内のセンサ素子の各列の静電容量値を得る（ブロック５３５）。ブロック５００〜５３５に従って、全ての行と全ての列の処理が完了すると、処理全体が繰り返される（ブロック５４０）。一方、ブロック５００〜５２０に従ってサンプリングされていない行がセンサアレイ４００内に存在する場合（ブロック５２５の「ＮＯ」の分岐）、次の行が選択され（ブロック５３０）、ブロック５００〜５２５の動作が行なわれる。
【００１５】
１つの例示的な実施形態では、センサアレイ４００は１６×３２の容量性グリッドを備え、４８個の出力チャネルを提供し、Ｖｃｃは３．３ボルト、蓄積キャパシタ４１５は約１０，０００ピコファラド、平均の行静電容量値は約１２ピコファラド、平均の列静電容量値は約９ピコファラド、ユーザの指がセンサアレイ４００に接触することに起因して生じる行又は列の電極の静電容量の平均変化は約０．２ピコファラド、デジタル静電容量値が得られる閾値は１．６ボルト、ＭＵＸ回路４１０、４２０、４２５の切り替えレートは６メガヘルツである。これらの値において、蓄積キャパシタ４１５を閾値電圧まで充電するのに約５８０〜６００のサンプリングサイクルを要することが判明した。１つの実施形態では、デジタル静電容量値は、実際には、蓄積キャパシタ４１５を閾値まで充電するのに必要なサンプリングサイクル数のカウント値である。この値がセンサ素子（例えば行、又は列）の静電容量値に直接関連することは、当業者であれば認識されるであろう。この実施形態では、走査回路３２５（ＭＵＸ回路４１０、４２０、４２５及び蓄積キャパシタ４１５と共に）は、４８個のセンサアレイ出力の各々を毎秒１２５回測定し、各測定値は１０ビットの値（符号なし整数）を含む。１フレームとして１２５の時期の各々においてセンサアレイ４００から走査回路３２５によって得られた４８個の測定値では、例示的なトラックパッドセンサデバイスは、
（４８チャネル／フレーム）（１０ビット／チャネル）（１２５フレーム／秒）（１バイト／８ビット）＝７，５００バイト／秒
を生成する。
【００１６】
図２に関して述べられ、図３で更に示すように、ドライバアプリケーション３５０は、例えば３６５のユーザアプリケーションとタスクを実行する役割も担う汎用処理ユニット３６０で実行される。すなわち、本発明によれば、未加工のトラックパッドセンサデータは、ホストコンピュータシステムに関連する１又はそれ以上の汎用処理ユニットによって分析され、トラックパッドデバイス３００に関連する専用のプロセッサ又は処理回路によって分析されるものではない。図２、図３のアーキテクチャから直接得られる結果として、トラックパッドセンサデータを分析するタスクを負う処理用リソース（例えばＣＰＵ）は、他のシステムレベルびユーザレベルのアプリケーションのようなニーズを処理する別のコンピュータシステムと共有される必要がある。
【００１７】
添付の請求項の範囲から逸脱することなく、記載の実施形態の材料、構成要素及び回路素子において様々な変更を行うことが可能である。例えば、図３のシステムを考察する。他の実施形態では、より小型（例えば１０×１６）、又はより大型（例えば３２×３２）のセンサアレイ３０５を含むことができる。更に、１２５ヘルツ（「Ｈｚ」）以外のフレームレート、及び１０ビット以外のサンプリング解像度も利用可能である。また、ホストコンピュータシステムが、２つ以上の汎用処理ユニット（例えばプロセッサ２５０）を備えてもよいことは理解されるであろう。更に、トラックパッドデバイス２０５又は３００に不可欠な、図２、図３で特定される回路のうちの幾つかは、他の機能にも利用される回路構成において具現化することができる。例えば、送信回路２３０、３３０は、例えばキーボードなどの他のＵＳＢ入力デバイスにより共有することができる。更に、本発明は、行列アドレス指定可能であるもの以外のピクセル化されたトラックパッドセンサデバイスにも適用可能であることは当業者であれば認識されるであろう。図５に概略的に説明した処理手順を変更することができる点も更に認識されるであろう。例えば、センサ列の値はセンサ行の値よりも前に取得することができる。或いは、センサ行とセンサ列のデータは、インターレースされても及び／又は同時に測定されてもよい。いずれにしても、走査回路３２５がセンサパッドの特性値（例えば、静電容量又は抵抗）を所定の順序で測定すること、及びこの順序がドライバアプリケーション３５０に知られているか、伝達される必要がある点は認識されるであろう。更に別の実施形態では、走査回路３２５は、センサの特性値をどのような好都合な方法で測定してもよく、これらの特性値を送信回路３３０送信する前に、ドライバアプリケーション３５０が既知であるか又は予期するシーケンスで再順序付けしてもよい。
【００１８】
トラックパッドデバイス３００により様々なジェスチャが検出され、このジェスチャをユーザレベルのタスク又は操作として解釈することができる。例えば、トラックパッドデバイス３００の検出素子３０５で行われるユーザのジェスチャには、１本の指によるタッチ、同時に２本又はそれ以上の指によるタッチ、１本又はそれ以上の指によるスライド動作を伴うタッチ、１本又はそれ以上の指による静止したタッチと同時に１本又はそれ以上の指によるタッチとスライド動作、２本又はそれ以上の指によるタッチと狭める動作、１本又はそれ以上の指によるタップ、２本又はそれ以上の指によるタッチと拡げる動作、１本又はそれ以上の指によるタップを伴う１本又はそれ以上の指によるタッチ、手の一部分（掌など）によるタッチ、手の一部分のタッチと動きが含まれる。更に、指、又は片手又は両手の一部分をトラックパッドデバイス上で行うジェスチャのために用いることもできる。
【００１９】
１本の指によるジェスチャには、トラックパッドデバイス上で１本の指をタップして、左クリックのマウス操作を実施すること、トラックパッドデバイス上に１本の指を降ろして保持し、カーソル移動を実施することを含むものもある。トラックパッドデバイス上での２本の指によるジェスチャの中には、（１）２本の指を同時に降ろして垂直方向に移動して垂直スクロール操作を実施するもの、（２）２本の指を同時に降ろして水平方向に移動し、水平スクロール操作を実施するもの、（３）２本の指をタップして操作を実施するもの、（４）２本の指の両方を降ろした後、指を同時に広げて戻し、ズーム操作を実施するもの、（５）２本の指を同時に降ろし、時計回り／反時計回りのいずれかの円動きで回転させて回転操作を実施するもの、（６）１本の指を降ろした後、２本目の指を降ろして操作を実施するもの、（７）１本の指を降ろした後、２本目の指をタップして操作を実施するもの、及び（８）２本の指を同時に降ろし、対角方向に移動して操作を実施するものが含まれるものもある。
【００２０】
ユーザレベルのタスク又は操作を実施するためのトラックパッドデバイス上での３本の指及び４本の指によるジェスチャを以下の表に示す。
【表１】
2009523267.tif 000003
【００２１】
図６から図９まで、幾つかの例示的なジェスチャ６００、７００、８００、９００、及び対応するユーザレベルのタスク又は操作が示されており、以下で説明する。これらのジェスチャ６００、７００、８００、９００と対応するユーザレベルのタスクは例示的なものである。本明細書で明示的に記載したもの以外でも、他のジェスチャやユーザレベルのタスクが利用可能であることは、当業者であれば理解されるであろう。
【００２２】
図６を参照すると、トラックパッドデバイス（図示せず）の検出素子上でユーザのジェスチャ６００を用いて、様々なマウス操作又はホストアプリケーションのタスクを実行することができる。このマウス操作は、限定ではないが、ポイント、クリック、ダブルクリック、右クリック、ドラッグ／選択、スクロールを含む。例えば、ポイント操作は、トラックパッドデバイス上で任意の隣接する２本の指をタッチして動かすことを含む、第１のジェスチャ６０２により実施することができる。クリック操作は、トラックパッドデバイス上での任意の隣接する２本の指のタップ（瞬間的なタッチ）を含む、第２のジェスチャ６０４により実施することができる。ダブルクリック操作は、トラックパッドデバイス上での任意の隣接する３本の指のタップ（瞬間的なタッチ）を含む、第３のジェスチャ６０６により実施することができる。右クリック操作は、トラックパッドデバイス上での親指、中指、薬指のタップを含む、第４のジェスチャ６０８により実施することができる。ドラッグ／選択操作は、トラックパッドデバイス上での３本の指のタッチと移動を含む、第５のジェスチャ６１０により実施することができる。スクロール操作は、トラックパッドデバイス上での４本の指のタッチと上／下スライドを含む、第６のジェスチャ６１２により実施することができる。
【００２３】
本システムはまた、３ボタン付きマウスの操作をエミュレートするのにも使用することができる。例えば、中央ボタンのクリックは、トラックパッドデバイス上での親指、人差し指、中指先端のタップを含む、第７のジェスチャ６１４により実施することができる。更に、３つボタンのエミュレーションにおける右クリックは、トラックパッドデバイス上で手を拡げた後、親指、薬指、小指のタップを含む、第８のジェスチャ６１６により実施することができる。
【００２４】
図７を参照すると、トラックパッドデバイス上でユーザの追加ジェスチャ７００を使用して、様々な編集やカーソル操作又はホストアプリケーションのタスクを実施することができる。編集操作は、限定ではないが、カット、コピー、ペースト、前回の操作の取り消し、前回の操作のやり直しを含む。カーソル操作は、限定ではないが、カーソル移動、カーソルによる選択、タブカーソル、ホームへのカーソル移動、エンドへのカーソル移動、ページアップ、ページダウンを含む。
【００２５】
例えば、カット操作は、トラックパッドデバイス上に親指と中指をタッチしてピンチ（挟む）することを含む、第１のジェスチャ７０２により実施することができる。コピー操作は、トラックパッドデバイス上での親指と中指のタップを含む、第２のジェスチャ７０４により実施することができる。ペースト操作は、トラックパッドデバイス上で親指と中指をタッチして拡げることを含む、第３のジェスチャ７０６により実施することができる。取り消し／やり直し操作は、トラックパッドデバイス上に親指と中指をタッチして上／下に指をスライドさせることを含む、第４のジェスチャ７０８により実施することができる。１つの操作ステップだけの取り消しは、素早く指をスライドさせることにより実施でき、又は、複数回のステップの取り消しは、徐々に指をスライドさせることにより実施することができる。タブ／バックタブ操作は、トラックパッドデバイス上に親指と中指をタッチして右／左に指をスライドさせることを含む、第５のジェスチャ７１０により実施することができる。１つだけのタブは、素早く指をスライドさせることにより実施でき、又は繰り返しタブは、徐々に指をスライドさせる動作により実施することができる。
【００２６】
矢印操作は、トラックパッドデバイス上に任意の指をスライドさせながらタッチしてテキストカーソルを移動させることを含む、第６のジェスチャ７１２により実施することができる。テキスト選択操作は、トラックパッドデバイス上に拡げた３本の指を上／下にスライドさせながらタッチすることを含む、第７のジェスチャ７１４により実施することができる。タブ／バックタブ操作は、トラックパッドデバイス上で親指と中指をタッチさせて左／右にスライドさせることを含む、第８のジェスチャ７１６により実施することができる。ホーム／エンド操作は、トラックパッドデバイス上で拡げた４本の指を左／右にスライドさせながらタッチすることを含む、第９のジェスチャ７１８により実施することができる。最後に、ページアップ／ページダウン操作は、トラックパッドデバイス上で拡げた４本の指を上／下にスライドさせながらタッチすることを含む、第１０のジェスチャ７２０により実施することができる。
【００２７】
図８を参照すると、トラックパッドの検出素子上でのユーザの追加ジェスチャ８００を用いて、様々なファイル操作とアプリケーション操作又はホストアプリケーションのタスクを実施することができる。ファイル操作は、限定ではないが、ファイルのオープン、ファイルのクローズ、ファイルの保存、新規ファイルの作成、ファイルの印刷、次のファイルの表示、前回のファイルの表示を含む。アプリケーション操作は、限定ではないが、デスクトップの表示、アプリケーションの終了、アプリケーションウィンドウの切り替えを含む。
【００２８】
例えば、ファイルのオープン操作は、トラックパッドデバイス上で親指と３本の指を反時計回りに回転させながらタッチすることを含む、第１のジェスチャ８０２により実施することができる。ファイルのクローズ操作は、トラックパッドデバイス上で親指と３本の指を時計回りに回転させながらタッチすることを含む、第２のジェスチャ８０４により実施することができる。ファイルの保存操作は、トラックパッドデバイス上で親指と３本の指を狭めながらタッチすることを含む、第３のジェスチャ８０６により実施することができる。新規ファイルの作成操作は、トラックパッドデバイス上で親指と内側の３本の指を拡げながらタッチすることを含む、第４のジェスチャ８０８により実施することができる。ファイルの印刷操作は、手を予め拡げた後で、トラックパッドデバイス上で親指と外側の３本の指を更に拡げながらタッチすることを含む、第５のジェスチャ８１０により実施することができる。次のファイルの表示操作は、トラックパッドデバイス上で親指と３本の指の先端を左へスライドさせながらタッチすることを含む、第６のジェスチャ８１２により実施することができる。前回のファイルの表示操作は、トラックパッドデバイス上で親指と３本の指の先端を右へスライドさせながらタッチすることを含む、第７のジェスチャ８１４により実施することができる。
【００２９】
デスクトップの表示操作は、親指と３本の指を拡げてトラックパッドにタッチした後、トラックパッドデバイス上で左へスライドさせることを含む、第８のジェスチャ８１６により実施することができる。アプリケーションの終了操作は、トラックパッドデバイス上で拡げた親指と３本の指とを時計回りに回転させながらタッチすることを含む、第９のジェスチャ８１８により実施することができる。アプリケーションの切り替え操作は、３本の指と親指を拡げてトラックパッドにタッチした後、トラックパッドデバイス上で左又は右へスライドさせることを含む、第１０のジェスチャ８２０により実施することができる。短いスライドを用いて、ウィンドウを１つだけ進ませることができ、ゆっくりしたスライドを用いて、リスト全体にわたってスクロールさせることができる。
【００３０】
図９を参照すると、トラックパッドデバイス上でのユーザの追加ジェスチャ９００を用いて、様々なウェブ閲覧やキーボード操作又はホストアプリケーションのタスクを実行することができる。閲覧操作は、限定ではないが、戻る、進む、スクロール、ズームイン、ズームアウト、ページ内検索を含む。キーボード操作は、限定ではないが、シフトキー、コントロール／コマンドキー、選択キーを含む。
【００３１】
例えば、戻る操作は、トラックパッドデバイス上で親指と３本の指の先端とを左へスライドさせながらタッチすることを含む、第１のジェスチャ９０２により実施することができる。進む操作は、トラックパッドデバイス上で親指と３本の指の先端とを右へスライドさせながらタッチすることを含む、第２のジェスチャ９０４により実施することができる。スクロール操作は、トラックパッドデバイス上で４本の指を上／下にスライドさせながらタッチすることを含む、第３のジェスチャ９０６により実施することができる。必要であれば、トラックパッドデバイス上でスライドを開始した後、親指を該トラックパッドデバイスに載せておくことも可能である。ズームイン操作は、トラックパッドデバイス上で親指と４本の指とを拡げながらタッチすることを含む、第４のジェスチャ９０８により実施することができる。ズームアウト操作は、トラックパッドデバイス上で親指と４本の指とを狭めながらタッチすることを含む、第５のジェスチャ９１０により実施することができる。ページ内検索操作は、トラックパッドデバイス上で親指と２本の指の先端とをピンチしながらタッチすることを、含む第６のジェスチャ９１２により実施することができる。ファインスクロール操作は、トラックパッドデバイス上で指をスライドさせるのではなく、指を「ロールする」ことを含む、第７のジェスチャ９１４により実施することができる。必要であれば、スクロールの開始と同時に親指をトラックパッドデバイス上に載せておくことも可能である。ポイント操作は、指示の開始と同時にトラックパッドデバイス上に他の指を降ろして５本の指全部でポイントすることを含む、第８のジェスチャ９１６により実施することができる。追加のジェスチャは、トラックパッドデバイス上で５本の指全部を動かすことを含む、第９のジェスチャ９１８、及びトラックパッドデバイス上で手の一部（例えば掌）のタッチと移動を含む、第１０のジェスチャ９２０により実施することができる。
【００３２】
図１０を参照すると、本開示の幾つかの教示によるコンピュータシステム１０００が図示されている。システム１０００は、センサアレイ１０１２を有するトラックパッドデバイス１０１０、データ収集回路１０１４、第１の通信回路１０１６、第２の通信回路１０４２を有するホストモジュール１０４０、１又はそれ以上のホストプロセッサ１０４４、ソフトウェア１０４６、ホストアプリケーション１０４８を含み、これらの各々は上記で議論した前の実施形態と同様のものである。例えば、第２の通信回路１０４２は、ＵＳＢバスのような通信路１０３０を介して第１の通信回路１０１６に動作可能に結合される。１又はそれ以上のホストプロセッサ１０４４は、第２の通信回路１０４２に作動的に結合され、このホストプロセッサ１０４４の少なくとも１つは、ホストアプリケーション１０４８のユーザレベルのタスクを実行する役割を少なくとも部分的に担っている。
【００３３】
トラックパッドアレイ１０１２の検出素子は、このアレイ１０１２上でユーザのジェスチャ（例えば、図示の２本の指のジェスチャ）を実行するユーザに応答して、データ値１１２０（例えば未加工のデータ）を測定する。タッチパッドデバイス１０１０は、ユーザのジェスチャを表す未加工の測定済みデータ値を処理しない。その代わりに、データ収集回路１０１４がアレイ１０１２の測定済みデータ値１０２０を取得し、第１の通信回路１０１６が、この測定済みデータ値１０２０をホストモジュール１０４０の第２の通信回路１０４２に送信する。ホストモジュール１０４０のジェスチャ処理用ソフトウェア１０４６が、ホストプロセッサ１０４４の少なくとも１つで実行される。未加工のデータ値１０２０を受信すると、このジェスチャ処理用ソフトウェア１０４６は、このトラックパッドデバイス１０１０から伝達された未加工のデータ値１０２０を解釈し、該解釈済みデータ１１２２をユーザレベルのタスクとして実行するためにホストアプリケーション１０４８に利用できるようにする。
【００３４】
未加工のデータ値１０２０を解釈するために、ソフトウェア１０４６は、データを処理して、このデータをユーザレベルのタスク又はホストモジュール１０４０側で実行すべき処理用のデータに解釈するアルゴリズムを使用する。使用されるアルゴリズムは、タッチスクリーンで用いられる既存のアルゴリズム、タッチパッドで用いられてタッチパッドでジェスチャを処理する既存のアルゴリズム、従来技術によるＦｏｕｎｔａｉｎタッチパッドで提供されるナビゲーション機能に用いられる既存のアルゴリズムなど、当該技術分野で既知のアルゴリズムを含む。例えば、ソフトウェア１０４６は、米国特許第６，５７０，５７７号と第６，６７７，９３２号、さらに米国特許出願公開第２００５／０１０４８６７号と第２００２／００１５０２４号で開示されているようなアルゴリズムを使用することができ、これらの特許は引用により本明細書に組み込まれる。
【００３５】
要約すると、システム１０００の例示的なアルゴリズムは、まず、トラックパッドデバイス１０１０が最初の時点でセンサアレイ１０１２から未加工の行列データを取得し、この未加工のデータをホストモジュール１０４０に送信することを含む。ソフトウェア１０４６は、当該行列データを現在のフレームとして受け取る。次いで、ソフトウェア１０４６は、このデータをフィルタリング又は平滑化して、現在のフレームの行及び列において信号の増大をもたらした区域の個数を個別にカウントする。これらの信号増大区域は、トラックパッドデバイス１０１０上のユーザの指のイメージに対応する。（強度が増加した区域を本明細書では指カウントと呼ぶ）。現在のフレームの行又は列のいずれかの指カウントがゼロの場合、現在のフレームのトラックパッドデバイス１０１０全体についての指カウントはゼロとされる。指カウントがゼロでない場合には、トラックパッドデバイス１０１０全体についての指カウントは、行の指カウント又は列の指カウントの最大値に設定される。現在のフレームの最大指カウントが確立されると、この指カウントは、トラックパッドデバイス１０１０から得られた１又はそれ以上の前回のデータフレーム内の最大指カウントと比較される。最大指カウントが現在のフレームと前回のフレームとの間で変化した場合には、この変化の状態が調べられ、指カウントにおける変化がジェスチャを表わすものであるか、又はジェスチャの一部であるかを判断する。
【００３６】
現在の指カウントと前回の指カウントとの間の状態を調べるときには、前回の指カウントに適用された時間量を考慮することができる。１つの例では、現在のフレームの最大指カウントが１であり、前回のフレーム内の最大指カウントが２であったとする。前回のフレーム内の２本の指カウントの持続時間が２５０ミリ秒よりも短かった場合、例えば、ユーザは、トラックパッドデバイス１０１０上でマウスボタン操作のジェスチャに対応する第２の指のタップを行ったことになる。一方、前回のフレーム内の２本の指カウントが２５０ミリ秒より長く持続した場合、例えば、ユーザは、スクロール操作を実行するために２本の指のジェスチャを用いたことになり、マウスボタン操作の命令は送出されない。
【００３７】
現在の指カウントと前回の指カウントとの間の状態を調べるときには、信号強度が増加した区域の位置（すなわち、トラックパッドデバイス１０１０上のユーザの指の行と列）を考慮することができる。１つの例では、現在及び前回のフレーム内の最大指カウントが両方とも２であったとする。前回のフレーム内の２本の指のカウントが、現在のフレーム内の第２の行と列の値とは異なる第１の行と列の値を有する場合、ユーザは、トラックパッドデバイス１０１０上で２本の指を動かしたことになり、これはスクロール操作又は同様のもののジェスチャに対応することができる。
【００３８】
好ましい実施形態及び他の実施形態についての上述の説明は、本願出願人によって着想された発明の概念の範囲又は適用性を限定又は制約することを意図するものではない。本明細書に含まれる発明概念の開示の代償として、本願出願人は、添付の請求項により与えられる全ての特許権を要求する。従って、添付の請求項は、請求項又は均等物の範囲を含む全範囲に対する全ての修正形態及び代替形態を全て含むものとする。
【図面の簡単な説明】
【００３９】
【図１】従来技術によるトラックパッドコンピュータシステムのアーキテクチャをブロック図形式で示す図である。
【図２】本発明の１つの実施形態によるトラックパッドコンピュータシステムのアーキテクチャをブロック図形式で示す図である。
【図３】本発明の１つの実施形態によるトラックパッドデバイス及びホストコンピュータシステムをブロック図形式で示す図である。
【図４】本発明の１つの実施形態によるトラックパッドセンサデータ収集システムをブロック図形式で示す図である。
【図５】本発明の１つの実施形態によるデータ収集方法をフロー図形式で示す図である。
【図６】本開示による開示されたシステムを用いてタッチパッド上で行われてユーザレベルのタスクとして解釈することができる様々なジェスチャを示す図である。
【図７】本開示による開示されたシステムを用いてタッチパッド上で行われてユーザレベルのタスクとして解釈することができる様々なジェスチャを示す図である。
【図８】本開示による開示されたシステムを用いてタッチパッド上で行われてユーザレベルのタスクとして解釈することができる様々なジェスチャを示す図である。
【図９】本開示による開示されたシステムを用いてタッチパッド上で行われてユーザレベルのタスクとして解釈することができる様々なジェスチャを示す図である。
【図１０】開示されたタッチパッドデバイス、及びジェスチャから測定されたデータ値をホストアプリケーション用のユーザレベルのタスクとして解釈するためのホストモジュールを示す図である。
【符号の説明】
【００４０】
２００  システム、２０５  トラックパッドデバイス、２１０  ホストモジュール、２１５  通信路、２２０  トラックパッドセンサ、２２５  データ収集回路、２３０  送信回路、２３５  受信回路、２４０  ドライバアプリケーション、２４５  ウィンドウ表示サブシステムアプリケーション、２５０  ホストプロセッサ、２５５  ユーザアプリケーション
【図１】
2009523267.tif 000004
【図２】
2009523267.tif 000005
【図３】
2009523267.tif 000006
【図４】
2009523267.tif 000007
【図５】
2009523267.tif 000008
【図６】
2009523267.tif 000009
【図７】
2009523267.tif 000010
【図８】
2009523267.tif 000011
【図９】
2009523267.tif 000012
【図１０】
2009523267.tif 000013
【国際調査報告】
2009523267.tif 000014
2009523267.tif 000015
2009523267.tif 000016
2009523267.tif 000017