(57)【特許請求の範囲】
【請求項１】
タッチ操作対応表面と、
データ処理ハードウェア要素と、
ユーザ入力から前記タッチ操作対応表面の位置とは無関係なパラメータの種類を受け取る要素と、
を備え、前記データ処理ハードウェア要素がジェスチャ入力エンジンを実装し、前記タッチ操作対応表面からの複数の入力ポイントのユーザ入力に基づいて入力ジェスチャを認識し、前記入力ジェスチャによって定義された第１の円弧を決定して、前記決定された第１の円弧の長さと該第１の円弧を含む円の円周の長さの割合に基づいて前記受け取られたパラメータのパラメータ値の大きさを第１の解像度で調整すること、及び前記第１の円弧とアンカポイントとの間の半径距離と異なる半径距離を有する第２の円弧を定義するよう複数の入力ポイントのユーザ入力を行って、該第２の円弧の長さと該第２の円弧を含む円の円周の長さの割合に基づいて前記パラメータ値の大きさを前記第１の解像度と異なる第２の解像度で調整することを行う、コンピュータ装置。
【請求項２】
タッチ操作対応表面を備えるコンピュータにより実装される方法であって、
ユーザ入力からパラメータの種類を受け取る要素から前記タッチ操作対応表面の位置とは無関係なパラメータの種類を得るステップと、
入力ジェスチャに応答して、入力装置により提供される前記タッチ操作対応表面上の複数の入力ポイントを追跡するステップと、
前記複数の入力ポイントにより定義された第１の円弧を識別するステップと、
前記識別された第１の円弧の長さと該第１の円弧を含む円の円周の長さの割合に基づいて前記受け取られたパラメータのパラメータ値の大きさを第１の解像度で調整するステップと、
複数の入力ポイントのユーザ入力を介して、前記第１の円弧とアンカポイントとの間の半径距離と異なる半径距離を有する第２の円弧を定義するステップと、
該第２の円弧の長さと該第２の円弧を含む円の円周の長さの割合に基づいて前記パラメータ値の大きさを前記第１の解像度と異なる第２の解像度で調整するステップと
を含む、コンピュータにより実装される方法。
【請求項３】
タッチ操作対応表面と、
プロセッサと、
前記プロセッサにインターフェース接続されたメモリと、
を備えるシステムであって、
前記メモリが、
ユーザ入力から前記タッチ操作対応表面の位置とは無関係なパラメータの種類を受け取るように前記プロセッサを構成するプログラムコードと、
前記タッチ操作対応表面上の複数の入力ポイントを表す入力データを受信するように前記プロセッサを構成するプログラムコードと、
前記複数の入力ポイントによって定義された第１の円弧を識別するように前記プロセッサを構成するプログラムコードと、
前記識別された第１の円弧の長さと該第１の円弧を含む円の円周の長さの割合に基づいて前記ユーザ入力のパラメータ値の大きさを第１の解像度で調整するように前記プロセッサを構成するプログラムコードと、及び
前記第１の円弧とアンカポイントとの間の半径距離と異なる半径距離を有する第２の円弧を定義するよう複数の入力ポイントのユーザ入力を行わせるように前記プロセッサを構成するプログラムコードと、
該第２の円弧の長さと該第２の円弧を含む円の円周の長さの割合に基づいて前記ユーザ入力のパラメータ値の大きさを前記第１の解像度と異なる第２の解像度で調整することを行うように前記プロセッサを構成するプログラムコードと、
を含む、プログラムコードを具現化する、システム。
【請求項４】
プログラムコードを具現化する非一時的なコンピュータ可読媒体に記録されたプログラムであって、前記プログラムコードが、
ユーザ入力からタッチ操作対応表面の位置とは無関係なパラメータの種類を受け取らせるようにするコードと、
コンピュータデバイスによって実行されたときに、前記コンピュータデバイスに前記タッチ操作対応表面上の複数の入力ポイントを分析させ、該入力ポイントによって定義され且つ予め定義されたあらゆる経路とは関係なく定義される第１の円弧を識別させるようにするコードと、
前記識別された第１の円弧の長さと該第１の円弧を含む円の円周の長さの割合に基づいて前記受け取ったパラメータの種類のパラメータ値の大きさを第１の解像度で調整させるようにするコードと、
前記第１の円弧とアンカポイントとの間の半径距離と異なる半径距離を有する第２の円弧を定義するよう複数の入力ポイントのユーザ入力を行わせるコードと、
該第２の円弧の長さと該第２の円弧を含む円の円周の長さの割合に基づいて前記パラメータ値の大きさを前記第１の解像度と異なる第２の解像度で調整させるようにするコードと
を含む、プログラム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータアプリケーションは、通常、ユーザが幾つかの異なるパラメータ値を設定できるようにするものである。例えば、アプリケーションは、ユーザが、フォントサイズ、ズームレベル、及び同様のもの等の特性を設定できるようにする。カリフォルニア州サンホセ所在のＡｄｏｂｅ  Ｓｙｓｔｅｍｓ社から入手可能な、Ａｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）などのようなデザインアプリケーションでは、ユーザが、色、彩度、及び同様のもの等のようなパラメータ値を選択できるようにしている。音声アプリケーションでは、ユーザが、利得又は音量、及び同様のものなどのパラメータ値を選択することができる。
【０００２】
種々のインターフェース要素は、パラメータ値を選択するのに使用することができる。例えば、グラフィカルユーザインタフェースは、数字又は他の値を直接入力するためのフィールドを含むことができる。別の実施例として、インターフェースは、所望する効果の直接の選択（例えば、色パレットからの色の選択）を可能にし、或いは、選択可能な項目のリストからの選択を可能にすることができ、及び／又はダイアル、スライダー又はボタンなどのオンスクリーン制御を提供することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
コンピュータ装置は、タッチ操作対応表面及びデータ処理ハードウェアを含むことができる。データ処理ハードウェアは、タッチ操作対応表面から得たデータに基づいて入力ジェスチャを認識し、該入力ジェスチャが通過する経路の決定に基づいてパラメータ値を設定するためのジェスチャ入力エンジンによって構成される。データ処理ハードウェアは、プロセッサを備え、ジェスチャ入力エンジンはプロセッサによってアクセス可能なメモリデバイス内に記憶されたプログラム論理を含むことができる。これに加えて又は代替として、ジェスチャ入力エンジンは、データ処理ハードウェアを含む論理回路を用いて実施することができる。実施に関係なく、ラジアル入力ジェスチャを使用して、パラメータ値に対するインターフェース座標値の直接マッピングを用いることなく、本明細書で説明するように１又はそれ以上のパラメータ値を設定することができる。
【０００４】
本方法は、タッチ可能な入力装置により提供されるポイントなど複数の入力ポイントを追跡するステップを有することができる。これによって複数の入力ポイントにより定義された経路を識別することができ、本方法は、該経路を含む閉曲線を識別するステップと、該経路が通過する曲線の割合を決定するステップと、該割合に基づいてパラメータ値を設定するステップと、を更に含むことができる。例えば、パラメータ値は、デザインアプリケーションにおいて設定する視覚的パラメータであってもよい。経路は任意のものであってもよく、パラメータ値に対するインターフェース座標値の予め定義されたどのようなマッピングとも関係なく識別することができる。
【０００５】
幾つかの実施例では、閉曲線が円を含み、経路が円弧を含むことができるが、閉曲線は他の何れかの形状を定義することもできる。円が使用される場合、経路が通過する閉曲線の割合を決定するステップは、円の中心を識別するステップと、円の円周を決定するステップと、円弧の長さ及び円周に基づいて割合を計算するステップと、を含むことができる。閉曲線の形状に関係なく、追跡ステップ、識別ステップ及び設定ステップは、連続するジェスチャの一部として定義された複数の経路について実行することができる。
【０００６】
これらの例示の実施形態について、本発明の主題を限定するものではなく、簡単な説明を提供するために検討される。追加の実施形態は、ラジアル入力ジェスチャをサポートするために本主題の態様に従って構成されたアプリケーション、並びに及びラジアル入力ジェスチャをサポートするアプリケーションを提供するように適合されたコンピュータデバイスを具現化するコンピュータ可読媒体を含む。これら及び他の実施形態については、以下の詳細な説明において記載する。本発明の主題の目的及び利点は、本明細書の検討、及び／又は本明細書で教示される１又はそれ以上の態様に従って構成された実施形態の実施により明らかにすることができる。
【図面の簡単な説明】
【０００７】
【図１Ａ】コンピュータシステムと共にラジアル入力ジェスチャの例示的な使用を示す概略図である。
【図１Ｂ】図１Ａのコンピュータシステムの例示的ハードウェアアーキテクチャを示す概略図である。
【図２】閉曲線の１又はそれ以上の部分を通過する経路を定義する複数のポイントと、対応するパラメータ値とを示す概略図である。
【図３Ａ】進行中のラジアル入力ジェスチャを示す図である。
【図３Ｂ】進行中のラジアル入力ジェスチャを示す図である。
【図３Ｃ】進行中のラジアル入力ジェスチャを示す図である。
【図４】ラジアル入力ジェスチャを認識する構成要素のための例示的ソフトウェアアーキテクチャを示す概略図である。
【図５】ラジアル入力ジェスチャの処理方法における例示的ステップを示すフローチャートである。
【図６】円の１又はそれ以上の部分として指定されたラジアル入力ジェスチャの処理の実施例を示すフローチャートである。
【発明を実施するための形態】
【０００８】
本明細書の残りの部分において、本発明の完全且つ有効な開示事項をより詳細に説明する。本明細書は以下の添付図を参照する。
【０００９】
本開示の実施形態は、コンピュータシステム、方法、及びコードを具現化するコンピュータ可読媒体を含む。例えば、コンピュータシステムは、アプリケーションにおいて１又はそれ以上のパラメータ値を設定するラジアル入力ジェスチャをサポートするように構成することができる。ラジアル入力ジェスチャは、グラフィカルユーザインタフェース又は他の座標領域を介して経路を定義する複数のポイントによって表すことができる。
【００１０】
経路は任意であってもよく、すなわち、経路は、特定の座標とジェスチャによって設定されたパラメータ値との間の予め定義された関係に関係なく定義することができる。或いは、経路自体を分析して、その経路を含む閉曲線を決定することができる。例えば、閉曲線は、楕円、円、方形又は他の何らかの形状を定義することができる。パラメータ値は、経路が通過する閉曲線の割合に基づいて設定することができる。例えば、経路が閉曲線の半分を含む（例えば、ユーザが円の半分をトレースする）場合、パラメータ値はパラメータの最大値の半分に設定することができる。別の実施例として、経路はパラメータの最大値に達するまで複数回の通過を必要とする場合がある。
【００１１】
閉曲線の長さと比較して経路の長さを分析することによって、異なるレベルの精度に適合させることができる。例えば、ユーザが非常に小さな円を入力する場合、円の半分を通過するのに短い入力ジェスチャしか必要としないことになる。しかしながら、より大きな半径を使用する場合、円の半分を通過するにはより長い経路が必要になるが、これに応じて、半径が大きくなるにつれてより正確な調整が可能になる。半径は、経路から推測することができ、システムにより示されたアンカポイントに関して定義されるか、又は更に、経路を入力する前にユーザによって設定することもできる。
【００１２】
設定される実際のパラメータ値は変更することができる。パラメータ値は、ある範囲内に存在する一連の数値のうちの１つとすることができ、経路が通過する曲線の割合に基づいて適切な数値を選択することができる。しかしながら、パラメータ値は、ジェスチャにマッピングされたある範囲内の数値にインデックス付けされた非数値パラメータ（例えば、ファイル名、ツール選択、その他）を含むことができる。ラジアル入力ジェスチャに基づいて数値が求まると、適切な非数値パラメータを選択することができる。
【００１３】
ラジアル入力ジェスチャの使用は、モバイル機器上のような画面スペースが最小限である場合に有利とすることができる。例えば、１又はそれ以上のスライダー又は他のグラフィカルユーザインタフェース要素を置き換えて、これによってデザイン及び内容表示のための画面スペースを確保することができる。言うまでもなく、ラジアル入力ジェスチャは更に、より大きな画面を用いて、及び／又はスライダー及び他のグラフィカルユーザインタフェース要素と共に使用することができる。
【００１４】
次に、種々の及び代替の例示的な実施形態並びに添付図面について詳細に説明する。各実施例は説明のために提供され、限定するものではない。当業者であれば修正及び変形を行い得ることは明らかであろう。例えば、１つの実施形態の一部として例示され又は説明される特徴は、別の実施形態と共に使用して更に別の実施形態を得ることができる。
【００１５】
以下の詳細な説明において、多くの具体的な詳細事項について、本主題を完全に理解するために説明する。しかしながら、これらの具体的な詳細を用いることなく、本主題を実行できることは当業者であれば理解できるであろう。他の事例において、当業者に公知の方法、装置又はシステムは、本主題を曖昧にしないように詳細には説明していない。
【００１６】
図１Ａは例示的なコンピュータデバイス１０２を示す概略図である。図１Ａに示すように、コンピュータデバイス１０２は、タッチセンシティブディスプレイなどのタッチ操作対応表面１０４を含む。本主題の１又はそれ以上の態様に従って、ユーザＵは、ラジアル入力ジェスチャ１０６を提供し、コンピュータデバイス１０２により実行されるアプリケーションの１又はそれ以上の制御設定を調整することができる。
【００１７】
例えば、ラスタ又はベクトルベースのグラフィック編集アプリケーションなどのデザインアプリケーションでは、ユーザが色相、透過性、又は同様のもの等のパラメータを選択し、ラジアル入力ジェスチャ１０６を設定して提供することができる。パラメータの大きさは、ラジアル入力ジェスチャに基づいて設定することができる。別の実施例として、コンピュータデバイス１０２は、ラジアル入力ジェスチャ１０６の入力を認識し、ユーザがどのパラメータ値を設定すべきであるかを最初に選択する必要もなく、対応するパラメータ値を設定することができる。一例として、デザインアプリケーションは、ラジアル入力ジェスチャが提供された場合に、該ラジアル入力ジェスチャを使用して複数の色の中から１色を選択するように構成することができる。
【００１８】
図１Ｂは、コンピュータデバイス１０２のための例示的なアーキテクチャを示す概略図である。コンピュータデバイス１０２は、代替として、データ処理システム、コンピュータ化されたデバイス、又は単に「コンピュータ」と呼ばれることがある。コンピュータデバイス１０２は、デスクトップ、ラップトップ、タブレット、又は他の何れかのコンピュータシステムを表わす。コンピュータデバイス１０２の他の実施例には、限定ではないが、（ＰＤＡ、スマートフォン、メディアプレイヤ、ゲームシステム、その他）モバイル機器、及び組込みシステム（例えば、車両、電化製品、又は他のデバイス内への）が含まれる。タッチ操作対応表面１０４は、コンピュータデバイス１０２のディスプレイに対応することができ、及び／又は、個別の入力面（例えば、トラックパッド、タッチセンシティブマウス、その他）であってもよい。
【００１９】
一般的には、コンピュータデバイス１０２は、ジェスチャ入力エンジン１２０を実装する１又はそれ以上のデータ処理ハードウェア要素を特徴として備える。ジェスチャ入力エンジン１２０によって、コンピュータデバイス１０２は、タッチ操作対応表面からのデータに基づいて入力ジェスチャを認識し、入力ジェスチャが通過する経路を決定し、該経路に基づいてパラメータ値（又は複数の値）を設定するようにする。ジェスチャ入力エンジン１２０は、パラメータ値への識別位置のマッピングを必要とすることなく、コンピュータデバイスがパラメータ値を設定できるようにする。
【００２０】
ジェスチャ入力エンジン１２０は、データ処理用要素（例えば、識別用途向け集積回路（ＡＳＩＣ）、プログラム可能な論理素子（例えば、ＰＬＡ、ＦＰＧＡ、その他）のような）によって、或いはその一部としてアクセス可能なハードウェアで実施することができる。別の実施例として、ジェスチャ入力エンジン１２０は、ソフトウェア、又は１つ又は複数のプロセッサの動作を構成するファームウェアを使用して実施することができる。
【００２１】
図１Ｂに示す実施例では、コンピュータデバイス１０２は、内部バス１１２、接続部、及び同様のものを介して相互接続された、１又はそれ以上のプロセッサ１０８及びコンピュータ可読媒体（メモリ１１０）を備えたデータ処理ハードウェア要素を特徴として備える。バス１１２はまた、コンピュータシステムの他のハードウェアに対する、ユニバーサルシリアルバス（ＵＳＢ）、ＶＧＡ、ＨＤＭＩ、シリアル、及び他のＩ／Ｏ接続部のような、Ｉ／Ｏ構成要素１１４に接続される。ハードウェアはまた、１又はそれ以上のディスプレイ１１６を含む。上述したように、ディスプレイ１１６及びタッチ操作対応表面１０４は、同一のもの（例えば、タッチディスプレイ）であってもよく、或いは、別個のタッチ操作対応表面１０４を使用してもよい。理解されるように、コンピュータデバイス１０２は、ストレージデバイス、通信デバイス（例えば、Ｅｔｈｅｒｎｅｔ（登録商標）、無線構成要素）、及びスピーカ、マイク、又は同様のものなどの他のＩ／Ｏ構成要素のような、他の構成要素を含むことができる。
【００２２】
コンピュータ可読媒体１１０は、ＲＡＭ、ＲＯＭ、又は他のメモリを含むことができ、この実施例では、プログラム構成要素１１８及びジェスチャ入力エンジン１２０を具現化する。プログラム構成要素１１８は、入力ジェスチャ１０６によりパラメータ値が設定される１又はそれ以上のアプリケーション又は処理を表す。例えば、プログラム構成要素１１８は、Ａｄｏｂｅ  Ｓｙｓｔｅｍｓ社から入手可能なＡｄｏｂｅ（登録商標）Ｐｈｏｔｏｓｈｏｐ（登録商標）、Ｉｌｌｕｓｔｒａｔｏｒ（登録商標）、又はＰｒｅｍｉｅｒｅ  Ｐｒｏ（登録商標）などのデザインアプリケーションを含むことができる。別の実施例として、プログラム構成要素１１８は、別の何らかのアプリケーション又はオペレーティングシステムを含むことができる。ジェスチャ入力エンジン１２０は、入力ジェスチャ１０６を認識し、且つプログラム構成要素１１８に渡すための対応するパラメータ値を決定するコンピュータデバイス１０２を構成する１又はそれ以上の構成要素を表す。
【００２３】
実際には、プログラム構成要素１１８及びジェスチャ入力エンジン１２０は、同じアプリケーションの一部とすることができ、例えば、プログラム構成要素１１８及びジェスチャ入力エンジン１２０の双方をデザインアプリケーション又は他のアプリケーションのモジュールとして含めてもよい。別の実施例として、ジェスチャ入力エンジン１２０は、複数の異なるアプリケーション及び／又はオペレーティングシステムによって使用される共有ライブラリ又は他の構成要素の中に含めることもできる。
【００２４】
図２は、ジェスチャ入力エンジン１２０により更に詳細に認識できるラジアル入力ジェスチャ１０６を例示した概略図である。この実施例では、ラジアル入力ジェスチャは、経路を定義する複数の入力ポイント２００〜２１６を追跡することによって認識される。例えば、タッチ操作対応表面１０４は、静電容量、光学、又は他の技術を使用して入力ポイントを識別することができる。この実施例では、ポイントは、アンカポイントＣの周りの円弧である経路をトレースする。破線で示されるように、円弧は円の一部であるが、閉曲線は他の何らかの形状をとることもできる。
【００２５】
図２はまた、パラメータ値を表す例示的な範囲２１８を示し、例えば、この範囲は、デザインアプリケーションにおいてペイントするのに使用される様々な色又はパターンを表すことができる。ラジアル入力ジェスチャは、範囲の一部分又は範囲内の値を選択するのに使用することができる。この実施例では、範囲の最小値は、僅かに影が付けられた部分に対応し、この影付けは、範囲の右側でほぼ単色の影付きにまで増大する。この実施例では、範囲２１８は、ジェスチャと並んで図示されているが、実際には、ジェスチャを介して選択される範囲又は別のインジケータは、ディスプレイ内のどこか別の場所に表示してもよく、或いは全く表示しなくてもよい。
【００２６】
この実施例では、ユーザは、ポイント２００から開始し、ポイント２０２まで円弧をトレースすることによってジェスチャ１０６を提供することができる。円弧はポイントＣから半径Ｒ１の距離に位置するので、円弧の長さは円の比較的小部分に対応する。従って、２１８−Ａにおける値が選択される。一方、ユーザが、ポイント２００からポイント２０２、２０４、２０６、２０８、２１０、２１２、及び２１４を通過してポイント２１６までをトレースすると、円の半分がトレースされたことになる。これによって範囲全体の中間にある値にマッピングすることができ、この結果、２１８−Ｂにおける色／パターンの選択が得られる。ユーザが円の残りの部分をポイント２１６から戻ってポイント２００にトレースする段階に進むと、２１８−Ｃにおける（範囲の最大値を表す）色／パターンを選択することができる。
【００２７】
経路の長さに対するジェスチャの長さの特定のマッピングによって、追加入力をどのように解釈するのかを制御することができる。例えば、再度通過したポイント２００の付近でジェスチャが続いた場合、対応するパラメータ値を２１８−Ａにリセットすることができる。別の実施例として、範囲外にあるパラメータ値に対応するジェスチャは無視することができる。
【００２８】
図２には、半径Ｒ２の第２の円も示されている。この円に沿ったラジアル入力ジェスチャは、範囲２１８を通過するのに遙かに短い経路長を使用する。例えば、ユーザは、ポイント２２０でジェスチャを開始し、ポイント２２２を通ってポイント２２４へ移動して円の半分を通過し、その結果、範囲２１８上のポイント２１８−Ｂにおける値の選択をすることができるようになる。
【００２９】
この実施例はまた、開始ポイント及び終了ポイントの特定の座標値がそれ自体は制御されていない状態を示している。例えば、範囲２１８の値に対する開始又は終了の座標値のマッピングを使用する必要はない。従って、ポイント２２０からポイント２２２を通りポイント２２４まで第２の円の半分を通過することは、ポイント２００からポイント２１６までによる第１の円の半分を通過するのと同じ結果を有することになる。同様に、円の底部を通ってポイント２１６からポイント２００まで第１の円の半分を通過することもまた、同じ結果をもたらすことになる。この実施例では、範囲２１８の最大値に達するのに１回だけ円を通過するだけでよい。しかしながら、一部の実施では、円（又は他の曲線）を複数回トレースしてマッピングされた範囲全体を通って進むことできるようにマッピングを使用できるものもある。ジェスチャの方向は、ジェスチャがパラメータ値を設定する方法に影響を及ぼすことができ、例えば、時計回りの円が、反時計回りの円とは異なる結果をもたらす（又は更には、異なる値を設定する）ことができる。一方では、ジェスチャが通過する曲線部分だけが制御されるようにマッピングを定義することができる。
【００３０】
幾つかの実施例では、入力経路は、複数の反復を介してパラメータ値を設定するために追跡され、識別され、且つ使用される。事実上、値は、連続する入力ジェスチャの一部として複数の経路について設定される。例えば、複数の円弧は、連続したジェスチャの一部として定義することができ、この複数の円弧のうちの少なくとも２つは、アンカポイントから異なる半径距離を有している。図２において、ユーザがポイント２２４から開始し、半径Ｒ２の円に沿ってポイント２２０までの時計回りの入力ジェスチャを行い、次いで、ジェスチャを継続しながら、外側の円（半径Ｒ１を有する）に出てポイント２１４及びポイント２１６まで螺旋状に移動した場合に上記の定義を行うことができる。
【００３１】
この実施例を簡素化するために、ジェスチャは２つの円弧として分析されており、実際には螺旋は、勿論、より高い解像度で処理することができる。最初の円弧（２２４から２２０まで）は、半径Ｒ２を有するＣの円の半分を通過し、これは（この実施例では）範囲２１８の中間点及び２１８−Ｂの値にマッピングされる。第２の円弧（２１４から２１６まで）はより微細な調整を可能にし、最終パラメータ値は、第２の円弧から導き出されたパラメータ値を第１の円弧から導き出されたパラメータ値にオフセットとして加えることに基づいた２１８−Ｂ及び２１８−Ｃ間の設定値をもたらすことになる。言うまでもなく、第２の円弧は、例えば、ジェスチャが外側の円に移動し、その後方向が変更された場合、小さな量の減算となる場合もある。
【００３２】
図３Ａ、３Ｂ、及び３Ｃは各々、進行中のラジアル入力ジェスチャ１０６を示したグラフィカルユーザインタフェース３０２の１つの実施例を示す。この実施例では、ジェスチャ１０６は、ボックス３０４に例示された数字パラメータ値にマッピングされている。このパラメータはこの実施例では０から２０までの範囲を有する。
【００３３】
図３Ａは、ジェスチャが提供されていない初期状態を示す。従って、ボックス３０４に示すように、パラメータ値は０のままである。図３Ｂでは、矢印で示すように、円の５０％を通過するラジアル入力ジェスチャが提供される。ボックス３０４に示すように、パラメータ値は範囲の５０％（この実施例では「１０」）に設定される。図３Ｃでは、ジェスチャは、継続して円の１００％を通過し、これにより、ボックス３０４の最大値（「２０」）の設定となる。実際には、経路は、入力に応答してトレースすることができ、或いは、他の視覚的なフィードバック（及び／又は音声、触覚、又は他のフィードバック）を提供してもよい。例えば、アプリケーションは、ジェスチャが提供されたときにパラメータ値を動的に更新する（例えば、色又は他の選択された視覚的特徴を変更すること、或いは、この実施例では、ジェスチャが提供されたときにボックス３０４に示される値の増分又は減分を行う）ことができる。勿論、幾つかの実施例では、フィードバックは１又はそれ以上のパラメータ値の設定以外には提供されない。
【００３４】
パラメータ値の範囲は「２０」を超えて拡張することができる。例えば、マッピングは、真の最大値が複数回円を通過することを必要とするように定義することができる。例えば、最大値が「６０」である場合、円はその値に達するまで３回トレースすることができる。
【００３５】
幾つかの実施形態では、通過した経路の割合が値の範囲にマッピングされ、範囲から得た対応する値を用いて、パラメータ値を直接設定する。しかしながら、他の方法を使用することもできる。例えば、範囲から得た対応する値は、パラメータの既存の値に加算又は減算し、或いは他の方法で適用されたオフセットとして使用することもできる。図３Ａに戻ると、図３Ｂに示されるようなジェスチャ１０６が提供され、パラメータ値を「１０」に設定したものと仮定する。オフセットベースの方法を使用してパラメータ値を設定する場合、図３Ｂに示されたようなジェスチャ１０６が提供された後に、この同じジェスチャを繰り返して、パラメータ値に別の１０単位を加算することができる。或いは、異なるジェスチャを用いて、単位を減算することができる（例えば、反対方向にトレースされた円）。
【００３６】
図４は、ジェスチャ入力エンジン１２０のための例示的なアーキテクチャを示す概略図である。座標値受信モジュール４０２は、複数の入力ポイントを表す入力データを受信するためのコンピュータシステムを構成したプログラムコード又はハードウェア論理回路を表す。例えば、ドライバ又は他の構成要素は、１又はそれ以上のタッチ入力デバイスからの信号を画面又は他の座標値に変換することができる。座標値受信モジュール４０２は、座標値の受信を識別し、ラジアル入力ジェスチャの検出をトリガすることができる。
【００３７】
幾つかの実施形態では、ラジアル入力ジェスチャは、他のデータに基づいて認識される。例えば、グラフィカルユーザインタフェースの一部分は、ラジアル及び他のジェスチャの入力用として確保することができ、確保された領域から得た座標値の受信により、ラジアル入力ジェスチャの認識処理をトリガすることができる。別の実施例として、別のイベントにより、ラジアル入力ジェスチャの認識処理をトリガすることができる。例えば、モジュール４０２は、ラジアル入力ジェスチャ構成要素１２０を直接呼び出す命令を認識することができ、或いは、別の入力イベント（例えば、ツールの選択、設定すべきパラメータ値の選択）により、ジェスチャの認識処理をトリガすることができる。詳細な実施例として、デザインアプリケーションにおけるペイント又はフィル命令の選択によって、モジュール４０２をトリガし、入力座標の監視を行うことができる。
【００３８】
経路識別子モジュール４０４は、円弧又は複数の入力ポイントにより定義された他の経路を識別し、更に、円弧又は他の経路を含む１又はそれ以上の閉曲線を識別するようにコンピュータシステムを構成するプログラムコード又はハードウェア論理回路を表す。この１又はそれ以上の閉曲線は、何れかの好適な方法で求めることができる。幾つかの実施形態では、閉曲線は円形と仮定され、円弧に基づいて決定することができる。例えば、円弧はポイントの幾何学的分析に基づいて識別することができ、すなわち、微分可能曲線を定義するのに十分な数のポイントが識別されると、円弧（又は潜在的円弧）を示すことができる。別の実施例として、グラフィカルユーザインタフェースは、複数の潜在的な曲線（例えば、複数の同心円又は他の曲線）を含むようにマッピングすることができ、また、識別された経路の座標値に基づいて、対応する曲線を分析のために選択することができる。
【００３９】
マッピングモジュール４０６は、識別された経路及び対応する閉曲線に基づいてパラメータ値を調整するようにプロセッサを構成したプログラムコード又はハードウェア論理回路を表す。例えば、モジュール４０６は、円弧が通過する円の割合を決定するために、円弧と、円弧及びアンカポイント間の半径方向距離とに依存することができる。別の実施例として、経路の長さは、入力ポイントに基づいて計算され、経路を含む閉曲線の全長と比較され、経路が通過する閉曲線の割合を決定することができる。経路が通過する曲線の割合に基づいて、マッピングモジュール４０６は、１又はそれ以上の対応するパラメータ値を決定することができる。パラメータ値は、ジェスチャを使用するアプリケーションの適切な構成要素に渡すことができる。
【００４０】
別の実施例として、ジェスチャ構成要素１２０がジェスチャを使用するアプリケーションから分離されている場合、マッピングモジュール４０６はパラメータ値を計算することができないので、代わりに、ジェスチャが通過した曲線の割合が上記アプリケーションに対するジェスチャを使用するアプリケーションに渡され、アプリケーションのマッピングに適用することができる。
【００４１】
図５は、ラジアル入力ジェスチャに基づいてパラメータ値を決定する例示的な処理方法５００の例示のステップを示すフローチャートである。例えば、方法５００は、ジェスチャ構成要素１２０、及び他のアプリケーション又は構成要素に従ってコンピュータデバイス１０２の動作中に実行することができる。
【００４２】
ブロック５０２は、複数の入力ポイントを追跡するステップを表す。上述したように、このような追跡ステップの１つの実施例は、タッチ操作対応表面１０４から入力座標値を受信するステップである。しかしながら、座標値は、マウスなどの他の入力装置から提供されてもよい。
【００４３】
ブロック５０４は、複数の入力ポイントにより定義された経路を識別するステップを表す。例えば、このステップは、微分可能曲線又は他の認識可能経路を定義する入力ポイントの第１の利用可能なセットを決定するステップにより行うことができる。経路を識別するステップは、フィルタリング、閾値処理、又は入力座標内でのノイズ又はジッタを考慮する他の技法を適用するステップを含むことができる。
【００４４】
本方法は、入力ポイントがもはや提供されない閾値時間が経過するまで、メモリ内の定義の更新を続行することができる。別の実施例として、曲線又は他の経路を定義する最少のポイント数が識別されると、本方法は別のステップに進むことができ、このような手法は、連続入力に応答して認識処理を複数回反復して実行されるときに有利とすることができる。
【００４５】
ブロック５０６は、経路が通過する閉曲線の一部分を決定するステップを表す。閉曲線は、幾つかの方法で識別することができる。例えば、上述したように、ジェスチャ認識処理は、座標空間を介して複数の潜在的曲線を識別するデータに依存し、入力ポイントにより定義された経路を含む曲線を選択することができる。詳細な実施例として、一連の入力座標は、動径座標（ｒ、Θ）（座標が、半径方向成分として未だ指定されていない場合）と、入力ポイントのｒ座標から識別された曲線とに変換することができる。別の実施例として、閉曲線は、１又はそれ以上のヒューリスティック又は曲線適合アルゴリズムを適用することによって複数の入力ポイントから外挿して推定することができる。閉曲線は、ジェスチャ中にグラフィカルユーザインタフェースに表示することができるが、曲線又は経路の表示は必要ではない。
【００４６】
閉曲線の識別方法とは関係なく、経路が通過する閉曲線の部分を決定することができる。例えば、閉曲線の長さ（ＬC）は、算出、推測、又はメモリからアクセスすることができる。次に、経路が通過する曲線の長さ（ＬP）を入力ポイントに基づいて算出することができる。経路が通過する部分は、（ＬP）／（ＬC）として求めることができる。経路及び曲線の幾何形状に応じて、他の技法を使用してもよい。例えば、経路が円弧である場合、半径距離を求めることができ、経路が通過する部分は、度数又は図６で以下に説明するような円弧に対するラジアンに関して決定することができる。
【００４７】
ブロック５０８は、経路が通過する曲線の部分に基づいて１又はそれ以上のパラメータ値を設定するステップを表す。ジェスチャは、１つのパラメータ値又はパラメータ値のセットにマッピングすることができる。このパラメータ値は、曲線の割合の関数として値を算出することにより、経路が通過する曲線の割合に基づいて求めることができる。別の実施例として、パラメータ値を設定する際に使用される値を算出するのではなく、設定されることになるパラメータの値に対する曲線の割合をマッピングしたデータを予め定義しておき、ブロック５０８においてアクセスすることができる。
【００４８】
幾つかの実施例では、パラメータ値は、スケールから値を選択することによって決定される。例えば、スケールは、色相、色、彩度、又は何らかの他の視覚的パラメータに対する値など、ある範囲の数値を定義することができる。別の実施例として、スケールは、何らかの他の対象パラメータをインデックス付けする数値範囲を含むことができる。例えば、ファイルのリスト、フォント、アプリケーションツール／オプション、又は何らかの他の項目の選択可能なセットを各々範囲内の値にインデックス付けすることができる。
【００４９】
例えば、経路が通過する曲線の割合（すなわち、（ＬP）／（ＩC））は、パラメータの最大値と乗算することができる。結果として得られる積は、計算されてそのまま使用することができ、或いは、（例えば、最も近い整数値に）四捨五入してもよい。この手法は、閉曲線の（例えば、１つの完全な円）１つの完全な通過が値の範囲全体と相関付けられることになる場合に使用することができる。複数の通過が必要である場合、パラメータの最大値と（ＬP）／（Ｗ*（ＬC））の乗算のような重み付け（Ｗ）を含めることもできる。
【００５０】
上記の実施例では、全体の長さの割合として求められる曲線部分について説明した。しかしながら、幾つかの実施例では、曲線部分は、円の総ラジアン（２π）と比較して、円弧が通過する円のラジアンを用いて指定してもよい。複数の通過が範囲全体に及ぶことが望ましい場合、もちろん重み付けＷを使用することができる。
【００５１】
パラメータ値は、上述のような入力ジェスチャから決定された値を用いて直接設定することができる。しかしながら、幾つかの実施例では、パラメータ値は、この決定値を既存のパラメータ値に適用することによって設定される。例えば、決定値は、オフセットとして既存のパラメータに加算されるか、又は既存のパラメータから減算することができる。別の実施例として、決定値は、既存の値を乗算又は除算することによって既存のパラメータに適用することができる。
【００５２】
図６は、円の１又はそれ以上の部分として指定されたラジアル入力ジェスチャを処理するための方法６００の１つの実施例を示すフローチャートである。方法６００は、例えば、ジェスチャ構成要素１２０によって実行することができる。
【００５３】
ブロック６０２は、入力ポイントを追跡するステップを表し、ブロック６０４は、上述のようにポイントから円弧を識別するステップを表す。ブロック６０６は、円弧を含む円の半径を決定するステップを表す。
【００５４】
例えば、この決定ステップは、アンカポイントを識別し、該アンカポイントからの円弧の距離を求めるステップにより実行することができる。幾つかの実施例では、アンカポイントは予め定義することができる。１つの実施例として、アプリケーションは、ラジアル入力ジェスチャを認識し、グラフィカルユーザインタフェースにおいてアンカポイントのインジケータを提供するようにトリガすることができる。別の実施例として、円弧を入力する前に、アプリケーションは、ユーザがアンカポイントを定義できるようにしてもよい（例えば、グラフィカルユーザインタフェースにおいてある位置にタッチすることによって）。半径は、ユーザがトレースする円弧に最も近い円を識別するステップによって判別することができる。
【００５５】
しかしながら、アンカポイントは、円弧自体から判別することができる。例えば、アプリケーションは、円弧が円の一部分に対し、円弧の全てのポイントから等距離にあるポイントとしてアンカポイントを定義すると仮定することができる。例えば、距離は、円弧上の座標の差異及びアンカポイントの座標に基づいて測定することができる。別の実施例として、半径は、円弧の高さ及び幅に基づいて決定することができ、幅は円弧の基点を定義する弦の長さであり、高さは円弧の中心点で測定される。
【００５６】
ブロック６０８は、弧長を決定するステップを表す。例えば、円弧の長さは、円弧を定義する座標値に基づいて算出することができる。弧長及び半径は、円弧が通過する半径距離を決定するのに用いることができる。ブロック６１０は、円弧が通過する円の部分の関数として制御用パラメータを設定するステップを表す。例えば、上述したように、円の長さ（すなわち、円周）に対する弧長の比率を算出し、スケールに適用することができる。
【００５７】
別の実施例として、上記パラメータ値及びパラメータ値は、パラメータ値に対する半径距離のマッピングに基づいて設定することができる。例えば、スケールの最小値は、最初の半径値（例えば、０ラジアン）にマッピングすることができ、スケールの最大値は、「最後」の半径値（例えば、２πラジアン）にマッピングすることができる。実際には、２πラジアン及び０ラジアンは等価であるので、最初の値及び最後の値の一方又は双方を適宜調整することができる（例えば、スケールによって、最初の値を０．０００００１ラジアンにマッピングし、最後の値を２πラジアンにマッピングすすることができ、或いは、最初の値を０ラジアン、最後の値を１．９９９９９９πラジアンにマッピングすることができる）。言うまでもなく、マッピングは、円弧が円を複数回通過してスケール全体の範囲にわたるように定義することができ、例えば、スケール全体の範囲にわたるには円のまわりに２つのループが必要になるように、スケールの最後の値が４π（３．９９９９９９π）ラジアンにマッピングされた状態で、スケールの最小値を０ラジアンにマッピングすることができる。
【００５８】
上述のように、設定されるパラメータ値は、アプリケーション内の選択可能な項目の何れかに対応することができる。実施例には、限定ではないが、デザインアプリケーションの視覚的パラメータが含まれる。別の実施例として、パラメータ値は、対象のファイルを選択し、選択可能なリストからツール又は他のアプリケーション機能を呼び出し、ファイルの一部分を選択（例えば、タイムラインにインデックス付けされたビデオ、オーディオ、又は他のコンテンツ内の特定のポイントを選択する）し、ハードウェアのパラメータ（例えば、機器のオーディオ利得）を設定するために用いられるインデックス値とすることができる。
【００５９】
複数の実施例では、パラメータ値に対する通過した曲線部分のマッピングついて説明したが、マッピングは、最小値から最大値に、最大値から最小値に、線形的に、もしくは指数関数的に行うこともでき、又は、何らかの他の関数に従って進めることができ、或いは完全に任意であってもよい。上記の複数の実施例では、閉曲線は円であったが、他の閉曲線を使用することもできる。周長を有する他の幾何学的形状（例えば、方形、矩形、三角形、他の形状）も同様に使用することができる。追加の実施形態はまた、閉鎖した曲線及び形状以外の、開曲線などの他の図形も使用することができる。一般的に言えば、直線は２つの半径点間の距離を進む最速の進路であるので、他の図形の使用は、スケールの迅速な通過をもたらす可能性がある。
【００６０】
（一般的事項）
詳細な説明の一部は、コンピュータメモリなどのコンピュータシステムメモリ内に記憶されたデータビット又は２進デジタル信号に対する演算のアルゴリズム又は記号表現に関して提示されたものである。これらのアルゴリズム記述又は表現は、データ処理技術者が自分の作業内容を他の当業者に伝えるのに用いられる技法の実施例である。本明細書において及び一般的には、アルゴリズムは、所望の結果をもたらす自己無撞着の作業シーケンス又は同様の処理と見なされる。本文中、演算又は処理には物理量の物理的操作が含まれる。
【００６１】
通常、必須ではないが、このような物理量は、記憶、転送、結合、比較、又は他の操作を行うことができる電気又は磁気信号の形態を取ることができる。場合によっては、主として一般的な使用のために、このような信号をビット、データ、値、要素、記号、文字、項、番号、数字、又は同様のものと呼ぶことが好都合であることが判っている。しかしながら、これらの用語及び類似の用語の全ては、適切な物理量に関連付けられ、単に好都合な表記に過ぎない点は理解されたい。
【００６２】
上述の説明から明らかであるように、特に明記しない限り、本明細書全体を通じて「処理する」、「演算する」、「算出する」、「決定する」、又は同様のもののような用語を利用した説明は、メモリ、レジスタ、又は他の情報ストレージデバイス、送信デバイス、又はコンピュータプラットフォームのディスプレイ装置内の物理的な電子量又は磁気量として表されるデータの操作又は変換を行う、１又はそれ以上のコンピュータ及び／又は同様の１又は複数の電子コンピュータデバイスなどのコンピュータプラットフォームの動作又は処理を意味すると理解すべきである。
【００６３】
複数の実施例はモバイル機器を特徴として備えるが、本明細書で説明した様々なシステムは、何らかの特定のハードウェアアーキテクチャ又は構成に限定されるものではない。コンピュータデバイスは、１又はそれ以上の入力に条件付けられた結果をもたらす構成要素の何れかの適切な配置を含むことができる。好適なコンピュータデバイスは、記憶されたソフトウェアにアクセスする多目的マイクロプロセッサベースのコンピュータシステムを含み、このシステムは、本発明の主題の１又はそれ以上の実施形態を実施する汎用コンピュータデバイスから専用コンピュータデバイスまでのコンピュータシステムをプログラムし又は構成する。何れかの好適なプログラミング、スクリプト記述、或いは他のタイプの言語又は言語のセットみ合わせを用いて、コンピュータデバイスをプログラムし又は構成するのに使用されるソフトウェアにおいて、本明細書に包含される教示を実施することができる。
【００６４】
コンピュータデバイスは、少なくとも１つのコンピュータによって実行されたときに、少なくとも１つのコンピュータに本発明の主題の１又はそれ以上の実施形態を実施させるようにするコンピュータ可読命令を具現化した１又はそれ以上の非一時的なコンピュータ可読媒体にアクセスすることができる。ソフトウェアが利用されるときには、ソフトウェアは、１又はそれ以上の構成要素、処理、及び／又はアプリケーションを含むことができる。ソフトウェアに加えて、或いは代替として、コンピュータデバイスは、本発明の主題の１又はそれ以上の方法を実施するようデバイスを有効な状態にする回路を含むことができる。
【００６５】
コンピュータデバイスの実施例には、限定ではないが、サーバ、パーソナルコンピュータ、モバイル機器（例えば、タブレット、スマートフォン、携帯情報端末（ＰＤＡ）、その他）、テレビ、テレビセットトップボックス、携帯音楽プレーヤー、並びにカメラ、カムコーダ、及びモバイル機器などの家庭用電子機器が含まれる。コンピュータデバイスは、「スマートな」電化製品、自動車、キオスク端末、及び同様のもの等の他の機器に組み込まれてもよい。
【００６６】
本明細書に開示された方法の実施形態は、コンピュータデバイスの動作において実行することができる。上記の実施例において提示されたブロックの順序は変えることができ、例えば、ブロックは、再順序付けし、結合し、及び／又はサブブロックに分けることができる。特定のブロック又は処理は平行して実行することができる。
【００６７】
何れかの好適な非一時的なコンピュータ可読媒体は、本開示で開示されている主題を実施又は実行するのに使用することができ、このコンピュータ可読媒体には、限定ではないが、ディスケット、ドライブ、磁気ベースストレージ媒体、光学ストレージ媒体（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、及びこれらの変形形態）、フラッシュ、ＲＡＭ、ＲＯＭ、及び他のメモリデバイスが含まれる。
【００６８】
本明細書で使用される「ように適合される（ａｄａｐｔｅｄ  ｔｏ）」又は「ように構成される（ｃｏｎｆｉｇｕｒｅｄ  ｔｏ）」は、追加のタスク又はステップを実行するように適合又は構成された機器を排除しないオープンランゲージ且つ包含的用語を意味する。更に、「に基づく（ｂａｓｅｄ  ｏｎ）」の使用は、処理、ステップ、算出の点でオープンランゲージ且つ包含的であることを意味し、或いは、１又はそれ以上の記載の条件又は値「に基づく」他の動作は、実際には、記載された以上の追加の条件又は値に基づくことができることを意味する。本明細書に含まれる見出し、リスト、及び番号は、単に説明の容易にするためのものであり、限定を意図するものではない。
【００６９】
本発明の主題を特定の例示的な実施形態及びその方法に関して詳細に説明してきたが、上述の説明を理解することにより、当業者にはこのような実施形態に対する代替形態、変形形態、及び均等な形態を容易に提示することができることは理解されるであろう。従って、本開示は、限定ではなく例示の目的で提示されたものであり、当業者には容易に理解されるように、本主題に対するこのような修正、変形、及び／又は追加を含むことを排除するものではない。
【図１Ａ】
0006271829.tif 000002
【図１Ｂ】
0006271829.tif 000003
【図２】
0006271829.tif 000004
【図３Ａ】
0006271829.tif 000005
【図３Ｂ】
0006271829.tif 000006
【図３Ｃ】
0006271829.tif 000007
【図４】
0006271829.tif 000008
【図５】
0006271829.tif 000009
【図６】
0006271829.tif 000010