(57)【要約】  ジェスチャー制御用ＵＩ（ユーザー・インターフェース）１２０が、同時に多数のジェスチャーが意図せずに呼び出されることを防止することによって、ユーザーのナビゲーション体験を改善する。この問題は、ジェスチャーに２つ以上のカテゴリーを定めることによって克服する。例えば、第１ジェスチャー・カテゴリーは、第２ジェスチャー・カテゴリーに含まれるジェスチャーの前に引き起こされる可能性があるジェスチャーを含むことができる。即ち、第２カテゴリーの中にあるジェスチャーは、通例、第１カテゴリーの中にあるジェスチャーが既に引き起こされた後に引き起こされる。第１カテゴリーに該当するジェスチャーの一例は、デバイス１００の動作を開始するジェスチャーとすることができ、一方第２カテゴリーに該当するジェスチャーは音量の変更とすることができる。第２カテゴリーに該当するジェスチャーが引き起こされるためには、第１カテゴリーに該当するジェスチャーよりも多くの規準を満たさなければならない。【選択図】図６
2011526037.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス１００上において動作を実行する方法であって、
少なくとも１つの規準にしたがって各々が誘起される第１複数のジェスチャー６０６から選択された第１ユーザー入力４０５の受け取りに応答して、第１動作を実行するステップと、
前記第１動作の実行に続いて、前記第１複数のジェスチャーの内の１つを誘起する１つの規準と少なくとも１つの追加の規準とにしたがって各々が誘起される第２複数のジェスチャー６０６から選択された第２ユーザー入力の受け取りに応答して、第２動作を実行するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記第１複数のジェスチャー６０６は、スクラブを含み、このスクラブを誘起する前記規準は、タッチパッド２２３上にある１本の目盛り線６１０、６２０を交差する入力の受け取りを含む、方法。
【請求項３】
請求項２記載の方法において、前記第２複数のジェスチャーは、前記タッチパッド２２３上にある少なくとも２本の平行な目盛り線６１０、６２０を中断なく交差する入力の受け取りを含む規準によって誘起される長いスクラブを含む、方法。
【請求項４】
請求項１記載の方法において、前記第１動作は項目のリストを表示し、前記第２動作は音量の変更である、方法。
【請求項５】
請求項４記載の方法において、前記第２複数のジェスチャーは、タッチパッド２２３上にある少なくとも２本の水平目盛り線６１０、６２０を中断なく交差する入力の受け取りを含む規準によって誘起される長い水平方向のスクラブを含む、方法。
【請求項６】
請求項１記載の方法において、前記第１行為は、レンダリングする項目のリストを表示し、前記第２行為は、現在レンダリングされている特定の項目の一部分から別の部分への移動である、方法。
【請求項７】
請求項６記載の方法において、前記レンダリングされている特定の項目はビデオであり、前記ビデオの部分は、当該ビデオの異なる場面または区間である、方法。
【請求項８】
請求項３記載の方法において、長いスクラブを誘起する前記規準は、更に、所定の時間期間以内で前記２本の平行な目盛り線６１０、６２０を交差することを含む、方法。
【請求項９】
接触入力を処理する方法であって、
コンピューティングデバイス１００の接触感応入力デバイス２２３上にあるアクティブ・エリアにおいて静止ジェスチャーを受け取るステップと、
前記静止ジェスチャーに応答して動作を実行するステップであって、前記アクティブ・エリアが前記接触感応入力デバイス２２３上に定められた領域に広がり、この領域のサイズが、受け取られた接触入力４０５の状態にしたがって変動する、ステップと、
を備えている、方法。
【請求項１０】
請求項９記載の方法において、前記接触入力４０５の状態は、前記静止ジェスチャーの受け取りに先だって、前記接触入力４０５が受け取られていた間の時間長である、方法。
【請求項１１】
請求項９記載の方法において、前記静止ジェスチャーに応答して行われる動作は、前記コンピューティングデバイス１００のディスプレイ上における項目の選択である、方法。
【請求項１２】
請求項１０記載の方法において、前記定められた領域はデフォルト・サイズまたはこのデフォルト・サイズよりも大きい第２サイズを有し、前記アクティブ・エリアは、前記接触入力４０５が閾値時間量を超える時間期間にわたって受け取られた場合にのみ、前記第２サイズの定められた領域に広がる、方法。
【請求項１３】
請求項１０記載の方法において、前記定められた領域はデフォルト・サイズまたはこのデフォルト・サイズよりも大きい第２サイズを有し、前記アクティブ・エリアは、前記接触入力４０５が閾値時間量を超える時間期間にわたって受け取られ、更に前記接触入力４０５および前記静止ジェスチャーがこれらの間に全く中断なく受け取られた場合にのみ、前記第２サイズの定められた領域に広がる、方法。
【請求項１４】
請求項１２記載の方法において、前記定められた領域は、前記静止ジェスチャーの受け取りが終了した後、前記デフォルト・サイズに戻る、方法。
【請求項１５】
コンピューティングデバイス１００を動作させるためのユーザー入力を受け取る方法であって、
前記コンピューティングデバイス１００の入力デバイス２２３上において第１ジェスチャーを第１ユーザー入力４０５として受け入れるステップであって、少なくともＮ種類の規準を満たすときに前記第１ジェスチャーが誘起され、Ｎが１以上である、ステップと、
前記入力デバイス２２３上において第２ジェスチャーを第２ジェスチャー入力として受け入れるステップであって、少なくともＮ＋１種類の規準を満たすときに前記第２ジェスチャーが誘起され、前記Ｎ＋１種類の規準が、前記第１ジェスチャーを誘起するために必要とされる前記Ｎ種類の規準を含む、方法。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  製品の受け入れ易さを決定する中心的な属性の１つに実用性(usefulness)がある。これは、製品を実際に使用すれば、設計者が達成しようと意図する目標に到達できるか否かを測定する。有用性の概念は、更に、有用性(utility)および使い易さ(usability)に別れる。これらの用語は関連があるものの、これらは相互交換可能ではない。有用性とは、製品が１つまたは複数の作業を行う能力を指す。製品がより多くの作業を行うように設計されている程、それが有する有用性は高くなる。
【０００２】
[0002]  １９８０年台後期からの典型的なMicrosoft（登録商標）MS-DOS（登録商標）ワード・プロセッサについて検討する。このようなプログラムは、多種多様な強力な文書編集および操作機構を備えていたが、ユーザーは、それらを実行するためには何十もの難解なキーストロークを学習し覚えなければならなかった。これらのようなアプリケーションは、有用性は高い（これらはユーザーに必要な機能を提供する）が、使い易さは低い（ユーザーはこれらを学習および使用するために大量の時間と手間を費やさなければならない）と言うことができる。対照的に、計算器のように、優れた設計で単純なアプリケーションは、使うのは非常に容易であるが、多くの有用性を提供しないこともあり得る。
【０００３】
[0003]  市場で受け入れられるためには、双方の品質が必要であり、双方は実用性の概念全体の一部である。明らかであろうが、あるデバイスが非常に使い易いが価値あることを何もできない場合、それを用いる多くの理由がある者はいない。また、使いにくいが強力なデバイスをユーザーに紹介しても、ユーザーはそれに抵抗するか代用品を求める可能性が高い。
【０００４】
[0004]  ユーザー・インターフェース（「ＵＩ」）の開発は、特に製品の設計者および製造者が多大なリソースを出費している分野の１つである。現在のＵＩは、その多くが満足のいく結果を提供するが、更に有用性および使い易さを高めることが望まれる。
【０００５】
[0005]  この背景は、以下に続く摘要および詳細な説明に対して端的なコンテキストを紹介するために設けられている。この背景は、特許請求する主題の範囲を判断する際に補助となることや、特許請求する主題を、先に紹介した欠点または問題のいずれかまたは全部を解決する実施態様に限定するものと見なされることを意図するのではない。
【発明の概要】
【０００６】
[0006]  ジェスチャー制御用ＵＩ（ユーザー・インターフェース）は、同時に複数のジェスチャーが不用意に引き起こされるのを防止することによって、ユーザーのナビゲーション体験を向上させる。この問題を克服するにあたり、ジェスチャーに２つ以上のカテゴリーを定めた。例えば、第１ジェスチャー・カテゴリーは、第２ジェスチャー・カテゴリーに含まれるジェスチャーの前に引き起こされる可能性があるジェスチャーを含むことができる。即ち、第２カテゴリの中にあるジェスチャーは、通例、第１カテゴリーの中にあるジェスチャーが既に引き起こされた後に引き起こされる。第１カテゴリーに該当するジェスチャーの一例は、デバイスの動作を開始するジェスチャーとすることができ、第２カテゴリーに該当するジェスチャーは音量の変更とすることができる。第２カテゴリーに該当するジェスチャーを引き起こすためには、第１カテゴリーに該当するジェスチャーよりも多い規準を満たさなければならない。
【０００７】
[0007]  代表的な一例では、第１カテゴリーに該当するジェスチャーとして、スクラブ(scrub：擦る)が用いられる。スクラブは、１つの規準によって誘起される。即ち、接触入力がタッチパッド上にある１本の目盛り線(tick line)を交差したときである。第２カテゴリーに該当するジェスチャーは、長いスクラブ(long scrub)とすることができ、これは、スクラブを誘起するために必要とされる規準に加えて、第２規準によって誘起される。第２規準は、接触入力がタッチパッド上にある第２目盛り線を交差したときである。
【０００８】
[0008]  この摘要は、詳細な説明において以下で更に説明する概念から選択したものを、簡略化した形態で紹介するために設けられている。この摘要は、特許請求する主題の主要な特徴や必須の特徴を特定することを意図するのではなく、特許請求する主題の範囲を判断する際に補助として用いられることを意図するのでもない。
【図面の簡単な説明】
【０００９】
【図１】図１は、自然なジェスチャー制御のための物理演算(physics)エンジンを有する本ユーザー・インターフェースを実装することができる、携帯用メディア・プレーヤを含む例示環境を示す。
【図２】図２は、例示的なＧＰａｄの分解組立図を示す。
【図３】図３は、タッチバッドの詳細をその背面の等幅図で示す。
【図４】図４は、例示的なタッチパッドの分解組立図を示す。
【図５】図５は、ＧＰａｄが受け取った入力を示す。
【図６】図６は、ＧＰａｄが受け取った移動入力を示す。
【図７】図７は、ＧＰａｄ上にある目盛り線を示す。
【図８】図８は、ジェスチャー・エンジンがジェスチャー・イベントを受け取る例示的な構成を示す。
【図９】図９は、例示的なスクラブ・イベントのフロー・チャートである。
【発明を実施するための形態】
【００１０】
[0018]  図１は、ジェスチャー制御を採用する本ユーザー・インターフェース（「ＵＩ」）を実装することができる、携帯用メディア・プレーヤ１０５のような、コンピューティングデバイスを含む例示的な環境１００を示す。この携帯用メディア・プレーヤは、音楽、ビデオ、テキスト、写真などを含むメディアを、エンド・ユーザーのＵＩへの入力に応答してレンダリングするように構成されている。ユーザー・インターフェースは、例えば、メニューを表示したり格納されているコンテンツをリスト表示するためにディスプレイ・デバイスを利用し、更にエンド・ユーザーがＵＩと相互作用することができる入力デバイスまたは制御部を利用する。この例では、携帯用メディア・プレーヤ１０５は、表示画面１０８、ボタン１１２および１１５を含む数個のユーザー制御部、ならびに多機能制御および入力デバイスとして動作するタッチパッドまたはジェスチャー・パッド（「ＧＰａｄ」と呼ぶ）１２０を含む。ボタン１１２および１１５がＧｐａｄ１２０のいずれかの側面上に置かれているので、これらをサイド・ボタンと呼ぶ。この例示的な例では、ボタン１１２および１１５は、従来通りに、「戻る」および「再生／一時停止」制御部として機能する。Ｇｐａｄ１２０は、従来と同様の５方向Ｄ−パッド（上／下／左／右／ＯＫ（即ち、「入力」）機能を備え、更に、以下で更に詳しく説明するようなＵＩジェスチャーをサポートする。
【００１１】
[0019]  表示画面１０８は、この例では、メディア・プレーヤ１０５に格納されている（音楽トラックのような）メディア・コンテンツのリスト１１０を含むＵＩを示す。リスト１１０が示されているが、「リスト」という用語は、細目(line items)、格子、または何らかの一連の項目のリストを意味するように一般化することができるということを強調しておく。メディア・プレーヤ１０５は、通例、種々の組織的方法または方式を用いて、格納されているコンテンツを表示するように構成されている（例えば、コンテンツは、ジャンル、アーティストの名前、アルバム名称、トラック名、プレーリスト、人気のある順などでリスト表示される）。図１において、アーティストのリストがアルファベット順に示されており、一人のアーティストがハイライト１２６によって強調されている。エンド・ユーザーは、以下で述べるように、ジェスチャーを用いてＵＩと相互作用することができるが、ＧＰａｄ１２０上の入力が、従来のＤ−パッド上における上および下ボタンのクリックを模擬して、リストを上下にスクロールすることもできる。
【００１２】
[0020]  この例示的なＵＩでは、コンテンツのリストは、旋回するベルトコンベアー(carousel)のような状態に並べられている。この場合も、エンド・ユーザーは以下で述べるようにジェスチャーを用いてＵＩと相互作用することができるが、ＧＰａｄ１２０上の入力が、従来のＤ−パッド上における上および下ボタンのクリックを模擬して、ベルトコンベアーにおける異なるリスト間で旋回させることもできる。図１には示されていないが、写真およびその他の画像に対するサムネイルを、格子状にしてメディア・プレーヤ１０５によって表示させ、同様に旋回させてアクセスすることもできる。
【００１３】
[0021]  図２における分解組立図に示すように、ＧＰａｄ１２０は、接触感応ヒューマン・インターフェース・デバイス（「ＨＩＤ」）２０５であり、センサ・アレイ２１８を背にして配置された接触面アセンブリ２１１を含む。この例示的な例では、センサ・アレイ２１８は、容量性接触センサとして構成されている。別の例では、非容量性センサ・アレイを用いてもよく、人の外肢の代わりに、スタイラスまたはその他の入力デバイスを採用できるようにしている。センサ・アレイ２１８は１つの機械式スイッチを背にして配置されている。この機械式スイッチは、この例では、スナップ・ドームまたは感触スイッチ２２０として構成されている。図２に示すコンポーネントは、更に筐体（図示せず）に組み込まれる。この筐体は、感触スイッチ２２０を適所に保持しつつ、同時に接触面の動きを制限する。
【００１４】
[0022]  ＧＰａｄ１０は、エンド・ユーザーが指またはその他の外肢を滑らせて接触面アセンブリ２１１を横切らせると、エンド・ユーザーの指の二次元平面（「Ｘ／Ｙ平面」と呼ぶ）に対する位置が、下に位置するセンサ・アレイ２１８によって取り込まれる。入力面は、筐体および１つのスイッチ２２１に対して、スイッチ２２０を活性化（即ち、始動）するためには、その面全域におけるどの場所でも表面を押圧することができるような態様で方向付けられている。
【００１５】
[0023]  感触スイッチ２２０をユーザーのＸ／Ｙ平面上における接触と組み合わせることによって、１つのスイッチしか利用しなくても、従来のＤ−パッドが用いる５つのボタンを含むがこれに限定されない、複数の別個のボタンの機能をシミュレーションすることができる。しかしながら、エンド・ユーザーには、このシミュレーションの存在が意識されず、ＧＰａｄ１２０は、従来のＤ−パッド機能を設けるものと知覚される。
【００１６】
[0024]  先に紹介したＧｐａｄ１０の例は１つのスイッチを用いているが、他の実施態様では、多数のスイッチを採用してもよい。多数のスイッチは、例えば、格子状または従来同様ｄ−パッド配列のいずれかで配置することができる。
【００１７】
[0025]  接触面アセンブリ２１１は、ポリマ材で形成されたタッチパッド２２３を含む。タッチパッド２２３は、種々の異なる形状をなすように構成することができる。図１および図２に示すように、タッチパッド２２３は、平面では正方形および円形（即ち、実質的に角を丸めた正方形状）の組み合わせという形状をなし、縦断面では凹状皿形となる。しかしながら、他の形状および縦断面も、個々の実施態様の要件に応じて、用いることができる。タッチパッド２２３は、パッド２２３をばね力に対抗して維持するように機能する屈曲ばね外枠２２９の中にはめ込まれている。このばね力は、タッチパッド２２３ががたつくのを防止し、更にユーザーがＧＰａｄ１２０と相互作用している際に、タッチパッド２２３が「ｚ」方向に押されたときに、ユーザーの指に対抗して追加の接触フィードバックを与える（感触スイッチ２２０によって供給されるばね力に加えて）。この接触フィードバックは、ユーザーが、スイッチ２２０が位置する軸に沿ったタッチパッド２２３の中心を押すだけでなく、その表面全体におけるいずれの場所を押したときにも受け取られる。接触フィードバックは、聴覚フィードバックによって補足することもできる。聴覚フィードバックは、スイッチ２２０自体の動作によって発生するか、またはメディア・プレーヤ内にある内部スピーカーを介したまたはそのオーディオ出力ポートを介した、しかるべきサウンド・サンプル（予め記録されているまたは合成したクリック音のような）の再生を通じて発生する。
【００１８】
[0026]  センサ・アレイ２１８の裏面側が図３に示されており、更に図４に分解したアセンブリとして示されている。図４に示すように、種々のコンポーネント（纏めて参照番号３１２で識別する）が、センサ・アレイ２１８の背面に配置されている。図４に示すように、タッチパッド接着層がタッチパッド４１６上に置かれている。絶縁体４２３が感触スイッチ２２０を覆っている。サイド・ボタンも感触スイッチ４３６を用いて実装されており、感触スイッチ４３６も同様にサイド・ボタン絶縁体４３１によって覆われている。スイッチをボード間コネクタ４５１に結合するために、可撓性ケーブル４４０が用いられている。図示のように、サイド・ボタン接着剤４４５として、硬化剤４５６も利用されている。
【００１９】
[0027]  ＧＰａｄ１２０は、既存の入力デバイスに対して多数の利点を与え、エンド・ユーザーが、入力の指を上げることなく、ジェスチャー型のアナログ入力および瞬時的なディジタル入力を同時に供給することを可能にしつつ、瞬時的入力からの可聴または接触フィードバックをユーザーに供給する。加えて、ＧＰａｄ１２０は、センサ・アレイ２１８を用いて、ＸおよびＹ位置を１つのスイッチ２２０からの入力と相関付ける。これによって、Ｘ／Ｙ平面上の位置に位置合わせされたユーザー入力をメディア・プレーヤの中にあるプロセッサに供給するために、種々のｘおよびｙ位置に多数のスイッチを配置する必要がなくなる。入力デバイスを構成するスイッチの個数が減少することにより、デバイス・コストが削減され、デバイス内に必要な物理的空間も少なくて済む。
【００２０】
[0028]  ボタン・クリックを受け入れることに加えて、メディア・プレーヤ１０５によってサポートされるＵＩは、ユーザーからのジェスチャーも受け入れる。広範囲の異なるジェスチャーを利用することができる。一例として、ジェスチャーは一点または多点ジェスチャー、静止または動的ジェスチャー、連続または分解ジェスチャー等とすることができる。一点ジェスチャーとは、１つの接触点で行われるジェスチャーであり、例えば、このジェスチャーは、１本の指、掌、またはスタイラスによるジェスチャーのように、１回の接触で行われる。多点ジェスチャーとは、多数の点で行うことができるジェスチャーであり、例えば、このジェスチャーは、多数の指、指と掌、指とスタイラス、多数のスタイラス、および／またはそのあらゆる組み合わせで行うことができるジェスチャーである。静止ジェスチャーとは、動きを含まないジェスチャーであり、動的ジェスチャーとは動きを含むジェスチャーである。連続ジェスチャーとは１回のストロークで行われるジェスチャーであり、分解ジェスチャーとは一連の別個ステップまたはストロークで行われるジェスチャーである。動的ジェスチャーの例には、スクラブ(scrub)およびフリング(fling：急に動かす)が含まれる。これについては以下で更に詳しく論ずる。
【００２１】
[0029]  図５は、ＧＰａｄ１２０のタッチパッド２２３を示す。タッチパッド２２３は、タッチパッド２２３上の第１位置４１０において入力４０５を受け入れることができる。入力４０５は、指の接触によってでも、またはスタイラスからでもよく、あるいはタッチパッド２２３上において入力４０５を生ずる態様であれば他のいずれでもよい。不感帯４２０を、現在の位置４１０の周囲に形成することもできる。不感帯４２０とは、現在の位置４１０の周囲にある地帯である。一実施形態では、この地帯は、タッチパッド２２３上で意図しない移動(shifting)があっても、不感帯４２０を離れたとは見なされないようなサイズとなっている。不感帯４２０によって、ユーザーは意図せずに望まない行為を活性化することなく、小さな入力４０５を動かすことが可能になる。一実施形態では、不感帯４２０のサイズは、現在の位置４１０の周囲にあるエリアの５０％である。勿論、不感帯４２０には他のサイズも可能である。加えて、不感帯４２０のサイズは、ユーザーによってまたはデバイス上のアプリケーションによって調節することができる。
【００２２】
[0030]  入力４０５が不感帯４２０の外側に移動した場合、入力４０５が不感帯を離れた位置がメモリーに格納される。図６は、ユーザーが指（入力４０５として）を不感帯４２０の外側に移動させ、この指が位置５００において不感帯４２０を離れた場合の例を示す。勿論、タッチパッド２２３の感度に応じて、多数の周囲の位置が、入力４０５が不感帯４２０を離れることが可能な位置５００となることができる。一実施形態では、位置５００の平均をとって中心を求めることができ、あるいは他の実施形態では、不感帯４２０の外側で受け取られた第１入力位置５００を用いることもできる。勿論、他の実施形態も可能である。
【００２３】
[0031]  入力方向（例えば、左−右、右−左、上−下、下−上、対角線方向）は、直前の位置４１０から現在の位置５２０への方向を用いることによって決定することができる。例えば、現在の位置５２０は第１の位置とすることができ、直前の位置４１０は、入力が不感帯４２０を離れた位置とすることができる。現在の位置５２０および直前の位置４１０を繋ぐベクトルを作成することができる。このベクトルは、項目のリストを上に向かって動かす、項目のリストを下に向かって動かす、種々の方向が許可されている場合には項目のリストを事実上あらゆる方向に通過するというような、特定の行為をユーザーが実行することを望んでいるか否か判断するために用いることができる。例えば、二次元リストにおいて、移動がリストを上に向かって辿るかまたは下に向かって辿るかのいずれかであるとすると、タッチパッド２２３を横切る動きが、主に左から右に動くが多少上方向に動く場合（図６におけるように）、リストを上に向けて動かすことを望んでいると解釈される。
【００２４】
[0032]  図７を参照すると、水平方向の目盛り線６１０および垂直方向の目盛り線６２０を引くことができ、直前に交差した目盛り線の位置を現在交差されている目盛り線と比較することによって、方向を決定することができる。入力４０５が少なくとも１目盛り分の距離だけ動くと、この動作は、ブロック３３０から入力方向への目盛り線の本数分の距離と共に増減する(scale)係数分だけ、ディスプレイ上にある項目の表示を回転させる行為と解釈することができる。実施形態によっては、この係数が１である場合もあるが、他の係数も可能である。目盛り間距離６３０は、２本の水平目盛り線６１０または２本の垂直目盛り線６２０間の距離とすることができる。勿論、格子が異なる角度をなすことも可能であり、線６００は完全に垂直方向および水平方向である必要はない。例えば、一実施形態では、線６００は入力４０５周囲の環状線群である。加えて、目盛り間距離６３０はいずれの距離でもよい。この距離は、デバイス上で動作するアプリケーション毎に、プログラマによって設定することができる。加えて、目盛り間距離を、第１の位置４１０における入力４０５のサイズに関係付けることもできる。例えば、ユーザーの指が大きいために大きな入力４０５が生ずる場合、目盛り間距離は、入力４０５のサイズが小さい場合よりも大きくしてもよい。勿論、目盛り間の距離も同様に設定することができる。別の実施形態では、目盛り間距離６３０は、全てのアプリケーションおよびユーザーに対して一定であり、ユーザーが、コンピューティングデバイス１００上で所望の行為を実行するために必要な動きのサイズについての感覚を養える(develop)ようにする。
【００２５】
[0033]  図８に示すように、この例におけるＵＩは、ＧＰａｄ１２０からの接触データに直接反応するのではなく、代わりに、ジェスチャー・エンジン６１２によって決定される意味的ジェスチャー・イベント６０６に反応する。
【００２６】
[0034]  図９に示すフローチャート７００に、例示的なスクラブ行動(scrub behavior)を示す。尚、ジェスチャー・イベントを生成するために、ユーザーの動きはジョガー・メカニズム(jogger mechanism)によってフィルタ処理されることを注記しておく。この例は、Ｗｉｎ３２マウス・イベント構造に関して説明するが、更に一般化して、いずれのメッセージまたはイベント構造でも、ＵＩおよび基礎となるオペレーティング・システムによってサポートされるのであれば、採用できることは注記してしかるべきであろう。
【００２７】
[0035]  ブロック７１０において、ジェスチャー・エンジン６１２は、ユーザーがＧＰａｄ１２０に接触したときに、mouse_eventを受け取る。
【００２８】
ａ．  dwFlags−MOUSEEVENTF_ABSOLUTE
ｂ．  ｄｘ
ｃ．  ｄｙ
ｄ．  dwData−マウス・ホイール・イベントを処理しているのではないので、０でなければならない。
【００２９】
ｅ．  dwExtraInfo−入力ソースを識別するための１ビット（ＨＩＤが取り付けられている場合１、それ以外の場合０）
[0036]  このイベントは、TOUCH BEGIN（接触開始）イベントに変換され、ブロック７１６で示すように、処理キューに追加される。ブロック７２１において、ジェスチャー・エンジン６１２は別のmouse_eventを受け取る。
【００３０】
ａ．dwFlags−MOUSEEVENTF_ABSOLUTE
ｂ．  ｄｘ−Ｘ軸上におけるマウスの絶対位置（（０，０）は左上角、（６５５３５，６５５３５）は右下角）
ｃ．  ｄｙ−Ｙ軸上におけるマウスの絶対位置（Ｘ軸と同じ）
ｄ．  dwData−０
ｅ．  dwExtraInfo−入力ソースを識別するための１ビット（ＨＩＤが取り付けられている場合１、それ以外の場合０）
[0037]  ユーザーが彼の指をＧｐａｄから離したときのmouse_eventをジェスチャー・エンジンが受け取ったときにジェスチャーは完了する。
【００３１】
ａ．dwFlags−MOUSEEVENTF_ABSOLUTE  ｜MOUSEEVENTF-LEFTUP
ｂ．  ｄｘ−位置
ｃ．  ｄｙ−位置
ｄ．  dwData−
ｅ．  dwExtraInfo−入力ソースを識別するための１ビット
[0038]  このイベントは、TOUC ENDイベントに変換される。
【００３２】
[0039]  ブロック７２６において、ジェスチャー・エンジン６１２は８つの追加の動きイベントを受け取り、これらが処理される。初期座標は（３２０００，４０００）であり、これはタッチパッド２２３の上中央部にある。この例では、ユーザーが下方に擦ることを望んでいると仮定する。これらの動きイベントに対する後続の座標は次の通りである。
【００３３】
１．（３２０００，６０００）
２．（３２０００，８０００）
３．（３２０００，１１０００）
４．（３２０００，１４５００）
５．（３２０００，１８５００）
６．（３２０００，２２０００）
７．（３２０００，２５０００）
８．（３２０００，２６５００）
[0040]  スクラブが発生した場合、ブロック７３０に示すように、方向偏倚がわかる必要がある。
【００３４】
[0041]  距離計算では、方向ではなく大きさが得られるので、個々のデルタｘ値およびデルタｙ値を検査する。デルタが大きい程、方向偏倚を示す（垂直または水平）。デルタが正の場合、下方向（垂直な動きに対して）または右方向（水平な動きに対して）の動きが示される。デルタが負の場合、上方向または左方向の動きが示される。
【００３５】
[0042]  これがスクラブになるか否かは、ブロック７３５に示すように、最少スクラブ距離閾値を超えるか否かに懸かっている。この距離は、以下の式を用いて計算する。
【００３６】
【数１】
2011526037.tif 000003
【００３７】
[0043]  ここで、x0およびy0は、初期接触点、即ち、（３２０００，４０００）である。手間がかかる(costly)二乗根演算を回避するために、最少スクラブ距離を二乗し、次いで比較を行う。
【００３８】
[0044]  スクラブに対する最少距離閾値を８，０００単位と仮定すると、座標４において境界を交差し、ｙの値は１４，５００となる。
【００３９】
[0045]  座標格子全体において、目盛り線のジョギング(jogging：寸動)という概念がある。目盛り線を１本交差する度に、ブロック７４２に示すように、スクラブ継続イベントが始動される。場合によっては、目盛りに直接乗ったときには、何のイベントも誘起されない。垂直方向のジョギングでは、これらの目盛り線は水平であり、目盛りサイズ・パラメーターが、互いからのそれらの距離を制御する。目盛り線の位置は、スクラブが開始するときに決定される。最初の目盛り線が、スクラブが始まった座標と交差する。この例では、スクラブはｙ＝１２０００において始まるので、目盛り線はｙ＝１２０００に置かれ、この目盛り線の上下にＮ単位の間隔で線が引かれる。Ｎが３，０００であるとすると、このスクラブによって、ｙ＝３０００、ｙ＝６０００、ｙ＝９０００、ｙ＝１５０００、ｙ＝１８０００、ｙ＝２１０００、ｙ＝２４０００、ｙ＝２７０００、ｙ＝３００００．．．等において、追加の線が生成される。つまり、垂直に下方向に動かすことによって、以下の座標で目盛り線を交差することになる。
【００４０】
・＃５（ｙ＝１５０００を通過し、ｙ＝１８０００を通過する）
・＃６（ｙ＝２１０００を通過する）
・＃７（ｙ＝２４０００を通過する）
[0046]  尚、一旦１本の目盛り線を通過すると、別の目盛り線を超えるまでまたはジェスチャーが終了するまでは、他のスクラブ継続イベントを誘起できないことを注記しておく。これは、目盛り線を前後に横切る小さな動きによって起こる可能性がある意図しない行為を回避するためである。
【００４１】
[0047]  ここで、座標９および１０は次のようになる。
【００４２】
９．（３２０００，２８０００）
１０．（３６０００，２８５００）
[0048]  この場合、座標＃９は、別のスクラブ継続イベントを誘起する。しかしながら、座標＃１０では、ユーザーは右に移動している。ここでは特殊な条件は必要とされず、スクラブは継続するが、別の目盛り線を未だ交差していないので、ジョガー(jogger)は入力に対して何もしないことになる。ユーザーは、下方に進むことなく、右に向かってかなり動いているので、これは奇妙に思えるかもしれない。しかしながら、これはジェスチャーを中断することにはならない。何故なら、ジョガーは一次元のスクラブを続けているからである。
【００４３】
[0049]  要約すると、スクラブが開始するのは、接触の動きが初期接触から最少距離閾値を超えたときである。ジェスチャー検出のために用いられるパラメーターには、先に注記した「不感帯」の半径に等しいスクラブ距離閾値が含まれる。スクラブの動きは、エンド・ユーザーの動きがジョガー目盛り線(jogger tick line)を通過すると検出される。ジョガー目盛り線が交差されたとき、他の目盛り線が交差されるまで、またはスクラブが終了するまで、オフになることを思い出されたい。ここでは、ジェスチャー検出のためのパラメーターは、目盛線の幅（水平および垂直双方）である。ＵＩ物理演算エンジンは、スクラブ・イベント毎に動かされるリスト項目の数を考慮し、特に、スクラブ開始イベントおよびスクラブ継続イベントを考慮する。スクラブが完了するのは、エンド・ユーザーが彼または彼女の指をタッチパッド２２３から持ち上げたときである。
【００４４】
[0050]  フリング(fling)はスクラブとして開始するが、ユーザーが素早く彼の指をＧｐａｄから持ち上げると終了する。フリングはスクラブとして開始するので、この場合もスクラブ開始イベントが発生することを予期する。その後、ジェスチャー・エンジンはユーザーの指の動きに応じて、０回又は１回以上のスクラブ継続イベントを生成する可能性がある。主要な相違は、単なるスクラブ終了イベントの代わりに、最初にフリング・イベントを報告することにある。
【００４５】
[0051]  フリング・イベントを誘起するための規準は、二重になっている。最初に、ユーザーの離昇速度(liftoff velocity)（即ち、ユーザーが彼の指をＧＰａｄ１２０から離すときのユーザーの速度）が特定の閾値を超えていなければならない。例えば、５回の最新の接触座標／タイムスタンプのキューを維持することができる。離昇速度は、このキューにおける一番上と下のエントリを用いて求められる（恐らく、一番上のエントリが、エンド・ユーザーが彼または彼女の指を離す前の最後の座標である）。尚、フリングを誘起するために必要となる閾値速度は、一般に、ジェスチャー・エンジンによって設定されないことは注記してしかるべきである。代わりに、これは各アプリケーションのユーザー・インターフェースによって決定される。
【００４６】
[0052]  ２番目の要件は、フリングの動きが既定の円弧内部で発生することである。これを判定するために、水平および垂直方向のフリングに別の角度範囲パラメーターが利用可能である。尚、これらの角度は初期接触点に対するものであり、ＧＰａｄ１２０の中心に基づくのではないことを注記しておく。実際に比較を行うためには、最新の接触座標キューにおける一番上および一番下の要素の傾斜を計算し、角度範囲の傾斜と比較する。
【００４７】
[0053]  他の種類のジェスチャーも、スクラブおよびフリングに関して先に説明したのと同様にして判定することができる。スクラブおよびフリングの場合と同様、各種類のジェスチャーはそれ自体の１組の規準によって誘起される。例えば、スクラブの場合、満たさなければならない規準は、入力（例えば、入力４０５）がタッチパッド上において少なくとも１本の目盛り線と交差することである。フリングの場合、規準は、（１）入力がタッチパッド上において少なくとも１本の目盛り線と交差すること、そして（２）離昇速度が特定の閾値を超過すること、更に（３）入力が既定の円弧内部で行われることである。
【００４８】
[0054]  ジェスチャー制御の使用によって発生する虞れがある１つの問題は、多数のジェスチャーがあり、これらがいつであれ一度に誘起され得るときに起こる。これは、一旦コンピューティングデバイスが既に用いられている場合には、特に重大な問題となり得る。例えば、コンピューティングデバイスがメディア・プレーヤであり、メディア・コンテンツをレンダリングするプロセスの最中である場合、ユーザーは、既定のジェスチャーの内１つを用いて、意図せずに音量を変化させる行為、またはコンテンツ項目における１つのトラック、章、または場面からそのコンテンツ項目における他のトラック、章、または場面に飛ぶ行為を誘発させる可能性がある。
【００４９】
[0055]  この問題を克服する１つの方法は、ジェスチャーを主要ジェスチャーまたは副次ジェスチャーというように分類することである。主要（または第１）ジェスチャーとは、デバイスの動作を開始する行為を実行する際に関与するあらゆるジェスチャーである。このような行為には、例えば、デバイスをオンに切り換えるジェスチャー、レンダリングすることができる項目のリストを提示する行為、およびレンダリングのために特定の項目を選択する行為が含まれる。一方、副次（または第２）ジェスチャーとは、一般に、主要ジェスチャーが既に呼び出された後のある時点で呼び出されるジェスチャーである。即ち、副次ジェスチャーは、通例、コンピューティングデバイスが動作を開始した後に呼び出される。副次ジェスチャーの例には、例えば、音量を変化させるジェスチャーのように、意図せずに呼び出すことができる、前述の問題のあるジェスチャーが含まれる。
【００５０】
[0056]  ＵＩの使い易さを向上させるためには、副次ジェスチャーが、ユーザーが意図しなければ呼び出すことができない形式であることが重要である。加えて、副次ジェスチャーは、主要ジェスチャーのいずれとも混同される虞れがないものでなければならない。これらの目標双方を達成するには、１つの方法では、副次ジェスチャーを誘起するためには、主要ジェスチャーを誘起するために必要となる規準よりも多くの規準が、必要となるようにする。言い換えると、特定の主要ジェスチャーを誘起するためには規準ＡおよびＢが必要とされる場合、規準Ａ、Ｂ、およびＣによって特定の副次ジェスチャーが誘起されるようにすればよい。一例として、スクラブを主要ジェスチャーに用いることができ、既に注記したように、入力がタッチパッド上で１本の目盛り線と交差したときに誘起される。副次ジェスチャーは、長いスクラブと呼ぶこともでき、スクラブを誘起するために必要な前述の規準に加えて、入力が、中断なく、タッチパッド上で第２の目盛り線と交差しなければならないという追加の規準によって誘起されるようにするとよい。言い換えると、長いスクラブは、入力が連続的に２本の目盛り線と交差したときに誘起される。
【００５１】
[0057]  ジェスチャーを単に２つのカテゴリーに分類する代わりに、更に一般化して、ジェスチャーをいずれの数のカテゴリー（またはサブカテゴリー）にも分割することができ、これらのカテゴリーの各々は、後続の各カテゴリーに追加の規準を付加することによって呼び出すことができる。
【００５２】
[0058]  長いスクラブでは、ユーザーは、スクラブを行うのに要する行為よりも多くの行為を行う必要があるので、長いスクラブが意図せずに呼び出される可能性は低い。したがって、スクラブを主要ジェスチャーとして用いる場合、長いスクラブを副次ジェスチャーとして用いると有利であると考えられる。何故なら、これはスクラブと混同される可能性が比較的低いからである。例えば、コンテンツ項目のレンダリングを開始する主要ジェスチャーとしてスクラブを用いる場合、長いスクラブは、コンテンツ項目の音量を増大または減少させるための副次ジェスチャーとして用いることができる。
【００５３】
[0059]  更に、意図せずに副次ジェスチャーを呼び出す可能性を低下させるために、それを誘起するためには追加の規準を必要とするようにしてもよい。例えば、単に入力が２本の目盛り線を連続して交差したときに長いスクラブが誘起されなければならない代わりに、３本以上の目盛り線が連続して交差されたとき、そして更に、ある所定の時間期間（例えば、数ミリ秒）以内にこれらの目盛り線が交差されたときにのみ、長いスクラブを誘起するようにしてもよい。
【００５４】
[0060]  コンピューティングデバイス上において種々の動作(action)を実行するために用いることができる長いスクラブの他の異形には、長い水平方向のスクラブが含まれる。この場合、交差される目盛り線は水平方向の目盛り線となる。同様に、交差される目盛り線が垂直目盛り線である場合、長い垂直方向のスクラブを誘起することができる。一例として、長い水平方向のスクラブは、メディア・デバイス上において、トラック、章、場面などから別のトラック、章、場面などに飛ぶ動作を実行するために用いることができる。このようにすれば、ユーザーは、例えば、彼または彼女が項目のリストをソートしようとしているとき、現在レンダリングしているコンテンツ項目を停止しようとしているとき、または現在レンダリングされているコンテンツ項目を変更しようとしているときに、意図せずに飛ばしを行わせる可能性は低い。
【００５５】
[0061]  広範囲におよぶ多点ジェスチャー、静止ジェスチャー、動的ジェスチャー、連続ジェスチャー、区分ジェスチャーなどに基づいて、多くの他の副次（および三次的等）ジェスチャーを定義することもできる。各場合において、副次ジェスチャーは、ユーザー入力が対応する一時ジェスチャーよりも多い数の規準を満たすときにのみ誘起することができる。常にそうである必要はないが、特定の一時ジェスチャーを誘起するために用いられる規準は、対応する副次ジェスチャーを誘起するために必要とされる規準の部分集合であることが多い。
【００５６】
[0062]  ジェスチャー制御の使用によって発生する可能性がある別の問題では、マウス等においてクリック、オーケー、または入力行為をシミュレートするために用いられるような、静止ジェスチャーが関与する。このような行為は、例えば、コンピューティングデバイスのディスプレイ上に提示されているリストから項目を選択するために用いられる可能性がある。場合によっては、この種の静止ジェスチャーのためのアクティブ・エリアがタッチパッドの中央にあることもあるが、この位置に限定される必要はない。いずれの場合でも、アクティブ・エリアは、タッチパッド上における何らかのマーキング(marking)によって視覚的に識別できないこともある。したがって、ユーザーは必ずしもアクティブ・エリア内で静止ジェスチャーを正確に行っている訳ではないかもしれない。即ち、ユーザーは、不用意にアクティブ・エリアの外側で静止ジェスチャーを行う可能性もあり、その結果、望ましい応答または動作が実行されなくなる。
【００５７】
[0063]  なお、静止ジェスチャーに関するこの問題は、入力（例えば、ユーザーの指またはスタイラス）をタッチパッド上において比較的長い時間にわたって行った直後、あるいはスクラブまたはその他の同様のジェスチャーを行った直後にユーザーが静止ジェスチャーを行おうとしたときに特に重大であることが分かっている。これらの場合、ユーザーはタッチパッドから入力を引き上げて、それをアクティブ・エリア（例えば、タッチパッドの中央）に移動させる可能性は低い。この問題は、アクティブ・エリアのサイズが動的に変化すると、その重大さを低下させることができる。例えば、入力がある所定の時間期間にわたってタッチパッドと接触していた後には、アクティブ・エリアのサイズを拡大するとよい。このようにすると、ユーザーはアクティブ・エリア内部において静止ジェスチャーを行う可能性が高くなる。一方、入力がタッチパッドから除去されたなら、アクティブ・エリアはもっと小さなサイズに戻ればよい。このサイズは、デフォルトのサイズとして機能することができる。言い換えると、静止ジェスチャーを行うことができるアクティブ・エリアは、入力が所定の期間（例えば、０．７５０ｍｓ）接触していなければ、そのデフォルトのサイズを維持し、所定の期間の後に、アクティブ・エリアは一時的にサイズが大きくなる。勿論、アクティブ・エリアのサイズは他の方法で動的に変化することもでき、一例として本明細書において論じた２つの状態（例えば、サイズ）に限定されるのではない。
【００５８】
[0064]  本主題について、構造的特徴および／または方法論的行為に特定的な文言で説明したが、添付した特許請求の範囲において定義されている主題は、先に論じた特定的な特徴や行為には必ずしも限定されるのではないことは言うまでもない。逆に、前述の特定的な特徴および行為は、特許請求の範囲を実施する形態例として開示したに過ぎない。
【図１】
2011526037.tif 000004
【図２】
2011526037.tif 000005
【図３】
2011526037.tif 000006
【図４】
2011526037.tif 000007
【図５】
2011526037.tif 000008
【図６】
2011526037.tif 000009
【図７】
2011526037.tif 000010
【図８】
2011526037.tif 000011
【図９】
2011526037.tif 000012
【国際調査報告】
2011526037.tif 000013
2011526037.tif 000014
2011526037.tif 000015