(57)【要約】【課題】  ユーザが誤ったジェスチャを行ったことに対応することができる方法を提供することにある。【解決手段】  ジェスチャが認識された場合を示す即時フィードバック（ｐｒｏｍｐｔ  ｆｅｅｄｂａｃｋ）をユーザに与える。ユーザがジェスチャを行うのを完了する前であっても、ジェスチャが認識された場合を示すフィードバックがユーザに与えられる。【選択図】  図７
2004303207.tif 000002
【特許請求の範囲】
【請求項１】
ジェスチャを行うユーザに動的フィードバックを提供する方法であって、
ポインティングデバイスから位置データを受け取るステップであって、前記位置データが、ジェスチャを行うための前記ポインティングデバイスの使用によって作られるステップと、
前記受け取られたデータは少なくとも１つのジェスチャコマンドに対応する場合を認識するために前記受け取られた位置データを継続的に分析するステップと、
前記分析された位置データは少なくとも１つのジェスチャコマンドに対応することの認識の際に、前記少なくとも１つのジェスチャコマンドの認識をユーザに示すフィードバックを提供するステップと
を含むことを特徴とする方法。
【請求項２】
前記フィードバックの提供の後に、前記ポインティングデバイスから前記位置データを継続的に受け取るステップと、
前記後に受け取られた位置データがもはや受け取られていない場合に、前記受け取られた位置データから認識される前記少なくとも１つのジェスチャコマンドの中からジェスチャコマンドを呼び出すステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記分析された位置データは複数のジェスチャコマンドに対応することを認識することをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記分析された位置データは複数のジェスチャコマンドに対応することの認識の際に、前記複数のジェスチャコマンドのそれぞれの認識を示すフィードバックを提供するステップをさらに含むことを特徴とする請求項３に記載の方法。
【請求項５】
前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと、
前記判定された信頼度に基づいて前記複数のジェスチャコマンドの認識を示す前記フィードバックを提供するステップと
をさらに含むことを特徴とする請求項４に記載の方法。
【請求項６】
前記複数のジェスチャコマンドのそれぞれを識別するインジケータのそれぞれの外見は、前記インジケータによって識別される前記ジェスチャコマンドの前記認識の精度に関して判定された前記信頼度に対応するように、前記インジケータを視覚的にレンダリングするステップをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記フィードバックの提供の後に、前記ポインティングデバイスからの前記位置データの受け取りを継続するステップと、
前記複数のジェスチャコマンドのそれぞれの前記認識の前記精度の第２信頼度を判定するために前記後に受け取られた位置データを使用するステップと、
前記判定された第２信頼度に基づいて前記複数のジェスチャコマンドの認識を示す第２フィードバックを提供するステップと
をさらに含むことを特徴とする請求項５に記載の方法。
【請求項８】
前記フィードバックの提供の後に、前記ポインティングデバイスからの前記位置データの受け取を継続するステップと、
前記複数のジェスチャコマンドの中から前記受け取られた位置データに対応する単一のジェスチャコマンドを認識するために前記後に受け取られた位置データを分析するステップと、
前記単一のジェスチャコマンドの認識をユーザに示すフィードバックを提供するステップと
をさらに含むことを特徴とする請求項４に記載の方法。
【請求項９】
前記受け取られた位置データに対応する単一のジェスチャコマンドを認識するために前記後に受け取られた位置データを分析した際に、前記単一のジェスチャコマンド以外の前記複数のジェスチャコマンドのそれぞれの認識を示す前記フィードバックを削除するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記複数のジェスチャコマンドの少なくとも１つは最高の判定された信頼度を有するように前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと、
前記最高の判定された信頼度を有する前記少なくとも１つのジェスチャコマンドのみの認識を示すフィードバックを提供するステップと
をさらに含むことを特徴とする請求項３に記載の方法。
【請求項１１】
前記フィードバックをユーザに視覚的に提供するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１２】
ディスプレイにレンダリングされる少なくとも１つの透明ウインドウ内に前記フィードバックを含めることによって前記ユーザに前記フィードバックを視覚的に提供することをさらに含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
ディスプレイにレンダリングされる複数の透明ウインドウ内に前記フィードバックを含めることによって前記ユーザに前記フィードバックを視覚的に提供するステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
ユーザに前記フィードバックを聞こえるように提供するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項１５】
前記位置データに対応する位置情報をディスプレイに視覚的にレンダリングするステップと、
前記フィードバックを前記ディスプレイに視覚的にレンダリングするステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項１６】
前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に前記フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記ディスプレイ上の前記位置情報の前記レンダリングの変更に関して前記フィードバックが前記ディスプレイ上でレンダリングされる位置を移動するステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１８】
前記ユーザによって提供されるプリファレンス情報に基づいて、前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に前記フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項１６に記載の方法。
【請求項１９】
前記位置情報および前記フィードバックの両方を文字入力ユーザインターフェース内でレンダリングするステップをさらに含むことを特徴とする請求項１５に記載の方法。
【請求項２０】
前記文字入力ユーザインターフェースは、前記少なくとも１つのジェスチャコマンドに対応するソフトキーを含み、
前記フィードバックは、前記少なくとも１つのジェスチャコマンドに対応する前記ソフトキーの外見の変更を含む
ことを特徴とする請求項１９に記載の方法。
【請求項２１】
前記位置データが、前記ポインティングデバイスの移動に応答してのみ作られることを特徴とする請求項１に記載の方法。
【請求項２２】
前記フィードバックの提供の後に、前記ポインティングデバイスからの前記位置データの受け取りを継続するステップと、
前記後に受け取られたデータは前記少なくとも１つのジェスチャコマンドに対応する場合を認識するために前記後に受け取られた位置データを継続的に分析するステップと、
前記分析された位置データは前記少なくとも１つのジェスチャコマンドに対応しないことの認識の際に、前記少なくとも１つのジェスチャコマンドがもはや認識されていないことをユーザに示す第２フィードバックを提供するステップと
さらに含むことを特徴とする請求項１に記載の方法。
【請求項２３】
前記第１フィードバックを削除することによって前記第２フィードバックを提供するステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
前記少なくとも１つのジェスチャコマンドがもはや認識されていないことを示すインジケータを生成することによって前記第２フィードバックの前記提供を提供するステップをさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２５】
前記第２フィードバックの提供の後に、前記ポインティングデバイスからの前記位置データの受け取りを継続するステップと、
前記位置データがもはや受け取られていない場合に、ジェスチャコマンドを呼び出さないステップと
をさらに含むことを特徴とする請求項２２に記載の方法。
【請求項２６】
ジェスチャを行うユーザに動的フィードバックを提供する方法であって、
（ｉ）ポインティングデバイスから位置データを受け取るステップであって、前記位置データが、前記ポインティングデバイスの使用によって作られるステップと、
（ｉｉ）前記受け取られた位置データはジェスチャコマンドに対応する場合を認識するために前記受け取られた位置データを分析するステップと、
（ｉｉｉ）前記受け取られた位置データは少なくとも１つのジェスチャコマンドに対応する場合に、
前記少なくとも１つのジェスチャコマンドを表す前記受け取られた位置データが存在しつつあることを判定するステップと、
前記少なくとも１つのジェスチャコマンドの認識を示す第１フィードバックをユーザに提供するステップと、
（ｉｖ）前記受け取られた位置データは少なくとも１つのジェスチャコマンドに対応しない場合に、
前記受け取られた位置データはジェスチャコマンドを表さないことを判定するステップと、
ジェスチャコマンドが認識されていないことを示す第２フィードバックをユーザに提供するステップと、
（ｖ）それ以上の位置データが受け取られていなくなるまで、ステップ（ｉ）から（ｉｖ）を繰り返すステップと、
（ｖｉ）それ以上の位置データが受け取られていない場合に、前記受け取られた位置データが単一のジェスチャコマンドを表すと判定された場合に、前記単一のジェスチャコマンドを呼び出すステップと
を含むことを特徴とする方法。
【請求項２７】
当初に受け取られた位置データは複数のジェスチャコマンドに対応することを認識するステップと、
前記当初に受け取られた位置データは複数のジェスチャコマンドに対応することの認識の際に、前記複数のジェスチャコマンドのそれぞれの認識を示すために前記第１フィードバックを提供するステップと
をさらに含むことを特徴とする請求項２６に記載の方法。
【請求項２８】
前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと、
前記判定された信頼度に基づいて、前記複数のジェスチャコマンドの認識を示すために前記第１フィードバックを提供するステップと
をさらに含むことを特徴とする請求項２７に記載の方法。
【請求項２９】
前記複数のジェスチャコマンドのそれぞれを識別するインジケータのそれぞれの外見は、前記インジケータによって識別される前記ジェスチャコマンドの前記認識の前記精度について判定された前記信頼度に対応するように、前記インジケータを視覚的にレンダリングすることによって前記第１フィードバックを提供するステップをさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記複数の前記ジェスチャコマンドのそれぞれの前記認識の前記精度の第２信頼度を判定するために、後に受け取られる位置データを分析するステップと、
前記判定された第２信頼度に基づいて前記第２フィードバックを修正するステップと
をさらに含むことを特徴とする請求項２８に記載の方法。
【請求項３１】
前記受け取られた位置データに対応する単一のジェスチャコマンドを認識するために、後に受け取られた位置データを分析するステップと、
前記単一のジェスチャコマンドの認識をユーザに示す第３フィードバックを提供するステップと
をさらに含むことを特徴とする請求項２７に記載の方法。
【請求項３２】
前記単一のジェスチャコマンド以外の前記複数のジェスチャコマンドのそれぞれの認識のすべての表示を削除するために、前記第３フィードバックを提供するステップをさらに含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
当初に受け取られた位置データは複数のジェスチャコマンドに対応することを認識するステップと、
前記複数のジェスチャコマンドの少なくとも１つは最高の判定された信頼度を有するように、前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと、
前記最高の判定された信頼度を有する前記少なくとも１つのジェスチャコマンドだけの認識を示すように前記第１フィードバックを提供するステップと
をさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３４】
前記フィードバックをユーザに視覚的に提供するステップをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３５】
ディスプレイにレンダリングされる少なくとも１つの透明ウインドウ内に前記フィードバックを含めることによって前記ユーザに前記フィードバックを視覚的に提供するステップをさらに含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
ディスプレイにレンダリングされる複数の透明ウインドウ内に前記フィードバックを含めることによって前記ユーザに前記フィードバックを視覚的に提供するステップをさらに含むことを特徴とする請求項３５に記載の方法。
【請求項３７】
ユーザに前記フィードバックを聞こえるように提供することをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３８】
前記位置データに対応する位置情報をディスプレイに視覚的にレンダリングするステップと、
少なくとも前記第１フィードバックを前記ディスプレイに視覚的にレンダリングするステップと
をさらに含むことを特徴とする請求項２６に記載の方法。
【請求項３９】
前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に少なくとも前記第１フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４０】
前記ディスプレイ上の前記位置情報の前記レンダリングの変更に関して少なくとも第１フィードバックが前記ディスプレイ上でレンダリングされる位置を移動するステップをさらに含むことを特徴とする請求項３９に記載の方法。
【請求項４１】
前記ユーザによって提供されるプリファレンス情報に基づいて、前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に少なくとも前記第１フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項３９に記載の方法。
【請求項４２】
前記位置情報および少なくとも前記第１フィードバックの両方を文字入力ユーザインターフェース内でレンダリングするステップをさらに含むことを特徴とする請求項３８に記載の方法。
【請求項４３】
前記文字入力ユーザインターフェースは、前記少なくとも１つのジェスチャコマンドに対応するソフトキーを含み、
前記第１フィードバックは、前記少なくとも１つのジェスチャコマンドに対応する前記ソフトキーの外見の変更を含む
ことを特徴とする請求項４２に記載の方法。
【請求項４４】
前記位置データが、前記ポインティングデバイスの移動に応答してのみ作られることを特徴とする請求項２６に記載の方法。
【請求項４５】
前記第２フィードバックが、前記第１フィードバックの削除であることを特徴とする請求項２６に記載の方法。
【請求項４６】
前記少なくとも１つのジェスチャコマンドがもはや認識されていないことを示すために前記第２フィードバックを提供するステップをさらに含むことを特徴とする請求項２６に記載の方法。
【請求項４７】
ジェスチャを行うユーザに動的フィードバックを提供する方法であって、
ポインティングデバイスから位置データストリームの第１部分を受け取るステップであって、前記位置データストリームは、ジェスチャを作るための前記ポインティングデバイスの使用によって作られるステップと、
前記位置データストリームの前記受け取られた第１部分に対応する少なくとも１つのジェスチャコマンドを認識するステップと、
前記位置データストリームの第２部分を受け取る前に、前記少なくとも１つのジェスチャコマンドの認識を示すフィードバックをユーザに提供するステップと
を含むことを特徴とする方法。
【請求項４８】
前記位置データストリームがもはや受け取られない場合に、前記受け取られた位置データストリームから認識された前記少なくとも１つのジェスチャコマンドの中からジェスチャコマンドを呼び出すステップをさらに含むことを特徴とする請求項４７に記載の方法。
【請求項４９】
前記位置データストリームの前記第１部分は複数のジェスチャコマンドに対応することを認識するステップ
をさらに含むことを特徴とする請求項４７に記載の方法。
【請求項５０】
前記位置データストリームの前記第１部分は複数のジェスチャコマンドに対応することの認識の際に、前記複数のジェスチャコマンドのそれぞれの認識を示すフィードバックを提供するステップをさらに含むことを特徴とする請求項４９に記載の方法。
【請求項５１】
前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと
前記判定された信頼度に基づいて前記複数のジェスチャコマンドの認識を示す前記フィードバックを提供するステップと
を含むことを特徴とする請求項５０に記載の方法。
【請求項５２】
前記複数のジェスチャコマンドのそれぞれを識別するインジケータのそれぞれの外見は、前記インジケータによって識別される前記ジェスチャコマンドの前記認識の前記精度に関して判定された前記信頼度に対応するように、前記インジケータを視覚的にレンダリングするステップをさらに含むことを特徴とする請求項５１に記載の方法。
【請求項５３】
前記位置データストリームの前記第２部分を受け取るステップと、
前記複数の前記ジェスチャコマンドのそれぞれの前記認識の前記精度の第２信頼度を判定するために、前記位置データストリームの前記受け取られた第２部分を使用するステップと、
前記判定された第２信頼度に基づいて前記複数のジェスチャコマンドの認識を示す第２フィードバックを提供するステップと
をさらに含むことを特徴とする請求項５２に記載の方法。
【請求項５４】
前記複数のジェスチャコマンドの中の単一のジェスチャコマンドが、最高の第２の判定された信頼度を有することを指定するステップと、
前記単一のジェスチャコマンド以外の前記複数のジェスチャコマンドのそれぞれの認識のすべての表示を削除することによって前記第２フィードバックを提供するステップと
をさらに含むことを特徴とする請求項５３に記載の方法。
【請求項５５】
前記複数のジェスチャコマンドの少なくとも１つは最高の判定された信頼度を有するように前記複数のジェスチャコマンドのそれぞれの前記認識の精度の信頼度を判定するステップと、
前記最高の判定された信頼度を有する前記少なくとも１つのジェスチャコマンドのみの認識を示すことによって前記フィードバックを提供するステップと
をさらに含むことを特徴とする請求項４９に記載の方法。
【請求項５６】
前記フィードバックを前記ユーザに提供した後に、前記ポインティングデバイスから前記位置データストリームの前記第２部分を受け取るステップと、
前記複数のジェスチャコマンドの中から位置データストリームの前記受け取られた第１部分および前記受け取られた第２部分に対応する単一のジェスチャコマンドを認識するために前記位置データストリームの前記第２部分を分析するステップと、
前記単一のジェスチャコマンドの認識を示す第２フィードバックをユーザに供給するステップと
をさらに含むことを特徴とする請求項４９に記載の方法。
【請求項５７】
前記位置データストリームの第３部分を受け取るステップと、
前記位置データストリームの前記第３部分は前記複数のジェスチャコマンドの少なくとも１つに対応するかどうかを認識するために前記位置データストリームの前記第３部分を分析するステップと、
前記位置データストリームの前記第３部分は前記複数のジェスチャコマンドの少なくとも１つに対応しない場合に、ジェスチャコマンドがもはや認識されていないことを示す第３フィードバックを提供するステップと
をさらに含むことを特徴とする請求項５６に記載の方法。
【請求項５８】
前記第２フィードバックを削除することによって前記第３フィードバックを提供するステップをさらに含むことを特徴とする請求項５７に記載の方法。
【請求項５９】
前記単一のジェスチャコマンドがもはや認識されていないことを示すインジケータを生成することによって前記第３フィードバックを提供するステップをさらに含むことを特徴とする請求項５７に記載の方法。
【請求項６０】
ユーザに前記フィードバックを視覚的に提供するステップをさらに含むことを特徴とする請求項４７に記載の方法。
【請求項６１】
ディスプレイにレンダリングされる少なくとも１つの透明ウインドウ内に前記フィードバックを含めることによって前記フィードバックを前記ユーザに視覚的に提供するステップをさらに含むことを特徴とする請求項６０に記載の方法。
【請求項６２】
ディスプレイにレンダリングされる複数の透明ウインドウ内に前記フィードバックを含めることによって前記フィードバックを前記ユーザに視覚的に提供することをさらに含むことを特徴とする請求項６１に記載の方法。
【請求項６３】
ユーザに前記フィードバックを聞こえるように提供するステップをさらに含むことを特徴とする請求項４７に記載の方法。
【請求項６４】
前記位置データに対応する位置情報をディスプレイに視覚的にレンダリングするステップと、
前記フィードバックを前記ディスプレイに視覚的にレンダリングするステップと
をさらに含むことを特徴とする請求項４７に記載の方法。
【請求項６５】
前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に前記フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項６４に記載の方法。
【請求項６６】
前記ディスプレイ上の前記位置情報の前記レンダリングの変更に関して前記フィードバックが前記ディスプレイ上でレンダリングされる位置を移動するステップをさらに含むことを特徴とする請求項６５に記載の方法。
【請求項６７】
前記ユーザによって提供されるプリファレンス情報に基づいて、前記位置情報が前記ディスプレイ上でレンダリングされる位置に関する前記ディスプレイ上の位置に前記フィードバックをレンダリングするステップをさらに含むことを特徴とする請求項６５に記載の方法。
【請求項６８】
前記位置情報および前記フィードバックの両方を文字入力ユーザインターフェース内でレンダリングするステップをさらに含むことを特徴とする請求項６４に記載の方法。
【請求項６９】
前記文字入力ユーザインターフェースは、前記少なくとも１つのジェスチャコマンドに対応するソフトキーを含み、
前記フィードバックは、前記少なくとも１つのジェスチャコマンドに対応する前記ソフトキーの外見の変更を含む
ことを特徴とする請求項６８に記載の方法。
【請求項７０】
前記位置データが、前記ポインティングデバイスの移動に応答してのみ作られることを特徴とする請求項４７に記載の方法。
【請求項７１】
前記位置データストリームの第２部分を受け取るステップと、
前記位置データストリームの前記第２部分は前記少なくとも１つのジェスチャコマンドに対応するかどうかを認識するために、前記位置データストリームの前記第２部分を分析するステップと、
前記位置データストリームの前記第２部分は前記少なくとも１つのジェスチャコマンドに対応しない場合に、ジェスチャコマンドがもはや認識されていないことを示す第２フィードバックを提供するステップと
をさらに含むことを特徴とする請求項４７に記載の方法。
【請求項７２】
前記第１フィードバックを削除することによって前記第２フィードバックを提供するステップをさらに含むことを特徴とする請求項７１に記載の方法。
【請求項７３】
ジェスチャコマンドがもはや認識されていないことを示すインジケータを生成することによって前記第２フィードバックを提供するステップをさらに含むことを特徴とする請求項７１に記載の方法。
【請求項７４】
ジェスチャを行うユーザに動的フィードバックを提供するジェスチャフィードバックツールであって、
ポインティングデバイスからポインティングデータを受け取り、
前記受け取られたポインティングデータを継続的に分析して、前記受け取られたポインティングデータは少なくとも１つのジェスチャコマンドに対応する場合を認識し、
前記受け取られたポインティングデータは少なくとも１つのジェスチャコマンドに対応することの認識に応答して、前記少なくとも１つのジェスチャコマンドを識別する位置データを作る
ジェスチャ認識モジュールと、
前記ジェスチャ認識モジュールから前記ジェスチャコマンドデータを受け取り、
ジェスチャコマンドデータの受取に応答して、ジェスチャコマンドデータによって識別される前記少なくとも１つのジェスチャに対応する、ユーザに関するフィードバックを作る
ジェスチャフィードバックモジュールと
を含むことを特徴とするジェスチャフィードバックツール。
【請求項７５】
前記ジェスチャ認識モジュールは、ニューラルネットを含むことを特徴とする請求項７４に記載のジェスチャフィードバックツール。
【請求項７６】
前記ジェスチャ認識モジュールは、ヒューリスティックに基づいて、前記受け取られたポインティングデータは少なくとも１つのジェスチャコマンドに対応することを認識するリコグナイザを含むことを特徴とする請求項７４に記載のジェスチャフィードバックツール。
【請求項７７】
前記ジェスチャ認識モジュールは、ニューラルネットを含むことを特徴とする請求項７６に記載のジェスチャフィードバックツール。
【請求項７８】
前記受け取られたポインティングデータが、ディスプレイのポインティング位置に関連し、
前記ジェスチャフィードバックモジュールは、前記ポインティング位置に関する前記ディスプレイに前記フィードバックを視覚的にレンダリングする位置計算モジュールを含む
ことを特徴とする請求項７４に記載のジェスチャフィードバックツール。
【請求項７９】
前記位置計算モジュールは、ユーザによって提供されるプリファレンス情報に基づいて前記ポインティング位置に関して前記ディスプレイに前記フィードバックを視覚的にレンダリングすることを特徴とする請求項７８に記載のジェスチャフィードバックツール。
【請求項８０】
前記ジェスチャフィードバックモジュールは、前記フィードバックをユーザインターフェースにレンダリングする階層化ウインドウ管理モジュールを含むことを特徴とする請求項７４に記載のジェスチャフィードバックツール。
【請求項８１】
前記階層化ウインドウ管理モジュールは、文字入力ユーザインターフェースに前記フィードバックをレンダリングすることを特徴とする請求項８０に記載のジェスチャフィードバックツール。
【請求項８２】
前記階層化ウインドウ管理モジュールは、１つまたは複数の透明ウインドウ内に前記フィードバックをレンダリングすることを特徴とする請求項８０に記載のジェスチャフィードバックツール。
【請求項８３】
フィードバックを使用してジェスチャを認識する方法であって、
少なくとも１つのジェスチャコマンドに対応するフィードバックをユーザに提供するステップと、
前記フィードバックに関連する、前記ユーザによって作られたデータを受け取るステップと、
前記受け取られたデータの前記フィードバックへの関連から少なくとも１つのジェスチャコマンドを認識するステップと
を含むことを特徴とする方法。
【請求項８４】
前記フィードバックは、前記少なくとも１つのジェスチャコマンドに対応するポインティングデバイスの移動の表示であることを特徴とする請求項８３に記載の方法。
【請求項８５】
前記フィードバックは、ジェスチャを作るためにポインタを移動しなければならない位置の表示であることを特徴とする請求項８３に記載の方法。
【請求項８６】
前記フィードバックが、ジェスチャを作るためにポインタの移動を開始しなければならない位置の表示であることを特徴とする請求項８３に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明のさまざまな実施形態は、ジェスチャに関する動的フィードバックに関する。本発明のいくつかの実施形態は、ジェスチャを行うユーザに、ジェスチャが完了する前にジェスチャの認識を確認するフィードバックの提供への特定の応用分野を有する。
【背景技術】
【０００２】
コンピュータサイエンスの分野の成熟に伴って、ユーザがコンピュータデバイスに情報を入力できるようにするさまざまなデバイスが開発された。これらのデバイスの１グループを、ポインティングデバイスと称する。ユーザがデバイスまたはデバイスのコンポーネントを移動する際に、ポインティングデバイスによって、ポインティングデバイスの動きに対応する位置データが生成される。この位置データが、ディスプレイにレンダリングされるポインタイメージの動きに変換される。したがって、ポインティングデバイスを移動することによって、ユーザは、ポインタイメージを、ディスプレイにレンダリングされる他のイメージによって表されるデータに関連付けることができる。ユーザは、その後、コマンドボタンを押し下げるなど、ポインタに関連するコマンドアクションをアクティブにすることによって、データを操作することができる。
【０００３】
１特定のカテゴリのポインティングデバイスを用いると、ユーザが、表面に関してペンまたはスタイラスを移動することによって、コンピュータに情報を入力できるようになる。たとえば、一部のコンピュータに、現在、タブレットに関するスタイラスの位置を検出するディジタイザタブレット（ｄｉｇｉｔｉｚｉｎｇ  ｔａｂｌｅｔ）が含まれる。スタイラスがタブレットの表面を（または、いくつかの場合にその上を）移動する際に、タブレットによって、スタイラスの位置に基づく位置データが作られる。これらのコンピュータに関して、ディジタイザタブレットは、ディスプレイから分離するか、ディスプレイに組み込むことができる。このタイプの入力デバイスの１例が、Ｍｉｃｒｏｓｏｆｔ  ＴａｂｌｅｔＰＣによって使用される。
【０００４】
スタイラスポインティングデバイスを用いると、便利なことに、ユーザが、手書きの自然な入力技法を使用してデータを入力できるようになる。たとえば、Ｍｉｃｒｏｓｏｆｔ  ＴａｂｌｅｔＰＣでは、実際のペンによって紙にインクで書くのとよく似た形で、スタイラスを用いてタブレット表面に書き込むことによって生成される位置データを、電子インクに変換することができる。スタイラスポインティングデバイスの能力を高める努力において、一部のコンピュータは、スタイラスによって行われる「ジェスチャ」を認識することができる。具体的に言うと、これらのコンピュータでは、アクションを実行するコマンドまたは文字を作るコマンドなど、スタイラスによって行われる特定の移動をコマンドとして認識することができる。たとえば、このタイプのコンピュータでは、スタイラスによって行われる非常に大きい「Ｓ」の動きを、オープンファイルを保存するコマンドとして認識するか、スタイラスによって行われる「＜」または「＞」の動きを、それぞれディスプレイにレンダリングされたイメージを左または右にシフトするコマンドとして認識することができる。代替としてまたは追加して、このタイプのコンピュータでは、「ｖ」形または「ｃ」形のスタイラスの動きを、それぞれテキスト文字「ｖ」または「ｃ」を作るコマンドとして認識することができる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ジェスチャの使用によって、スタイラスポインティングデバイスの機能をかなり強化することができるが、特定のジェスチャが正しく認識された場合をユーザが知ることは、時々困難である。スタイラスの動きは、ユーザによってジェスチャが行われるたびに異なるので、特定のジェスチャを、必ず正確に認識することはできない。したがって、ユーザは、通常はジェスチャ全体を行い、その後、そのジェスチャが正確に認識されたかどうかを知るために待たなければならない。コンピュータは、ジェスチャを認識しない場合に、所望のアクションを行わない。さらに悪いことに、コンピュータが、スタイラスの動きを、誤って別のジェスチャと解釈する場合には、コンピュータは、その後、望まれない動作を実行し、これをユーザが元に戻さなければならない。代替として、ユーザが、うっかりスタイラスを動かし、したがって、意図されないジェスチャを行う場合がある。普通のコンピュータでは、ユーザは、対応する動作が実行されるまで、自分が誤ってジェスチャを行ったかどうかを理解することができない。コンピュータがスタイラスによって行われたジェスチャを受け入れることをユーザが理解しない場合に、そのユーザは、何故動作が実行されたかを理解することさえしない可能性がある。
【０００６】
そこで、本発明の目的は、ユーザが誤ったジェスチャを行ったことに対応することができる方法を提供することにある。
【課題を解決するための手段】
【０００７】
有利なことに、本発明のさまざまな実施形態を使用して、ジェスチャが認識された場合を示す即時フィードバック（ｐｒｏｍｐｔ  ｆｅｅｄｂａｃｋ）をユーザに与えることができる。具体的に言うと、本発明のさまざまな実施形態によって、ユーザがジェスチャを行うのを完了する前であっても、ジェスチャが認識された場合を示すフィードバックがユーザに与えられる。ユーザのジェスチャが、正しく認識された場合には、この即時フィードバックによって、ユーザに、対応するジェスチャコマンドが正確に呼び出されることが再保証される。代替として、ユーザのジェスチャが正しく認識されなかった場合に、ユーザは、ジェスチャをすばやく再開始することができる。さらに、ユーザのジェスチャが、誤って別のジェスチャとして認識された場合に、ユーザは、誤って認識されたジェスチャを取り消すために、スタイラスを動かすことを続けることができる。
【０００８】
本発明のさまざま実施形態と共に、ジェスチャ認識モジュールによって、ユーザによって操作されているポインティングデバイスから位置データが受け取られる。ジェスチャ認識モジュールは、ポインティングデータがジェスチャに対応するかどうかを認識するために、受け取った位置データを継続的に分析する。受け取った位置データがジェスチャに対応することをジェスチャ認識モジュールが認識した場合に、ジェスチャフィードバックモジュールによって、位置データからジェスチャが認識されたことを示すフィードバックがユーザに与えられる。ユーザが、ポインティングデバイスの操作を継続する際に、ジェスチャ認識モジュールは、ポインティングデバイスから受け取る位置データの分析を継続する。位置データが、認識されたジェスチャに対応し続ける場合に、ユーザがポインティングデバイスの操作を停止する場合に、そのジェスチャが呼び出される。しかし、位置データが認識されたジェスチャに対応し続けない場合には、ジェスチャフィードバックモジュールによって、位置データからジェスチャがもはや認識されないことを示す新しいフィードバックが、ユーザに与えられる。この新しいフィードバックでは、ジェスチャがもはや認識されないことをはっきりと示すことができ、あるいは、単に以前のフィードバックを削除することができる。
【発明を実施するための最良の形態】
【０００９】
概要
本発明は、ユーザによって行われるジェスチャからコマンドを認識するジェスチャフィードバックツールに関する。さらに、ジェスチャがコマンドに対応することがジェスチャフィードバックツールによって認識される場合に、このツールがジェスチャから認識したコマンドを示すフィードバックが、ジェスチャフィードバックツールによってユーザに与えられる。下で詳細に説明するように、このツールによって、ジェスチャが認識された後であるがユーザがジェスチャを完了する前に、フィードバックが与えられる。たとえば、ユーザのジェスチャがアクションを実行するコマンドとしてツールによって認識される場合に、そのアクションを表すアイコンの形のフィードバックを、ツールによってユーザに与えることができる。代替としてまたは追加して、ユーザのジェスチャが、テキスト文字を生成するコマンドとしてツールによって認識される場合に、たとえば、ユーザがジェスチャを行うスペースに重畳される認識されたテキスト文字の形のフィードバックを、ツールによってユーザに与えることができる。
【００１０】
前に注記したように、このツールでは、ユーザがジェスチャを完了する前にフィードバックを与えることができる。この即時フィードバックによって、対応するコマンドが呼び出される前に、ジェスチャが正しく認識されたことをユーザが確認できるようになる。さらに、ユーザのジェスチャが、ほとんど完了しているが、正しく認識されていない場合に、ユーザは、コマンドが呼び出されるのを空しく待つことなく、すばやくジェスチャを再開始することができる。さらに、ユーザのジェスチャが、別のジェスチャとして誤って認識されている場合に、ユーザは、ポインティングデバイスの移動を継続して、誤って認識されたジェスチャを取り消すことができる。
【００１１】
本発明によるジェスチャフィードバックツールは、さまざまな技法を使用して実施することができる。たとえば、本発明のいくつかの実施形態は、ソリッドステート電子部品を用いて形成される回路を使用して実施することができる。本発明の他の実施形態は、プログラマブルコンピューティングデバイスで実行される命令を使用して実施することができる。したがって、そのような命令を実行する例示的コンピューティング環境を説明する。本発明の動作および使用を示すさまざまなインターフェースも、本発明のさまざまな実施形態によるジェスチャフィードバックツールのコンポーネントおよび機能と共に説明する。
【００１２】
例示的なオペレーティング環境
前に注記したように、本発明のジェスチャフィードバックツールは、時々ソフトウェアと称する、プログラマブルコンピュータで実行可能な命令を使用して実施することができる。すなわち、ジェスチャフィードバックツールを、１つまたは複数のコンピューティングデバイスによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の全般的な文脈で説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュールの機能性を、さまざまな実施形態で望み通りに組み合わせるか分散させることができる。
【００１３】
本発明は、ソフトウェアを使用して実施することができるので、本発明のさまざまな実施形態を使用することができる通常のプログラマブルコンピュータのコンポーネントおよび動作を短く説明することが、本発明のよりよい理解に役立つ可能性がある。そのような例示的コンピュータシステムを、図１に示す。このシステムには、汎用コンピュータ１００が含まれる。このコンピュータ１００は、普通の携帯情報端末、タブレットパーソナルコンピュータ、デスクトップパーソナルコンピュータ、ラップトップパーソナルコンピュータ、ネットワークサーバ、または類似物とすることができる。
【００１４】
コンピュータ１００には、少なくともある形態のコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、コンピュータ１００によってアクセスできるすべての使用可能な媒体とすることができる。制限ではなく例として、コンピュータ可読媒体に、コンピュータ記憶媒体および通信媒体を含めることができる。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報のストレージに関する任意の方法または技法で実施された、揮発性および不揮発性の、取外し可能および取り外し不能の媒体が含まれる。コンピュータ記憶媒体には、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、ディジタル多用途ディスク（ＤＶＤ）、または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、所望の情報を保管するのに使用でき、コンピュータ１００によってアクセスできる、他の媒体が含まれるが、これに制限はされない。
【００１５】
通信媒体によって、通常は、搬送波または他のトランスポート機構などの変調されたデータ信号内の、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータが実施され、通信媒体には、すべての情報配信媒体も含まれる。用語「変調されたデータ信号」は、信号内で情報を符号化する形で１つまたは複数の特性を設定または変更された信号を意味する。制限ではなく例として、通信媒体に、有線ネットワークまたは直接配線接続などの有線媒体と、音響、ＲＦ、赤外、および他の無線媒体などの無線媒体が含まれる。上記のいずれかの組み合わせも、コンピュータ可読媒体の範囲に含まれなければならない。
【００１６】
コンピュータ１００には、通常は、処理ユニット１１０、システムメモリ１２０、およびシステムバス１３０が含まれ、システムバス１３０によって、システムメモリを含むさまざまなシステムコンポーネントが、処理ユニット１１０に結合される。システムバス１３０は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのいずれかを使用するローカルバスを含む複数のタイプのバス構造のいずれかとすることができる。システムメモリ１２０には、読取専用メモリ（ＲＯＭ）１４０およびランダムアクセスメモリ（ＲＡＭ）１５０が含まれる。起動中などにコンピュータ１００内の要素の間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム１６０（ＢＩＯＳ）が、ＲＯＭ１４０に保管される。
【００１７】
コンピュータ１００には、さらに、ハードディスクから読み取り、これに書き込むハードディスクドライブ１７０、取外し可能磁気ディスク１９０から読み取り、これに書き込む磁気ディスクドライブ１８０、ＣＤ  ＲＯＭまたは他の光学媒体などの取外し可能光ディスク１９２から読み取り、これに書き込む光ディスクドライブ１９１などの追加コンピュータ記憶媒体デバイスを含めることができる。ハードディスクドライブ１７０、磁気ディスクドライブ１８０、および光ディスクドライブ１９１は、それぞれ、ハードディスクドライブインターフェース１９２、磁気ディスクドライブインターフェース１９３、光ディスクドライブインターフェース１９４によってシステムバス１３０に接続される。ドライブおよびそれに関連するコンピュータ可読媒体によって、パーソナルコンピュータ１００のコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージがもたらされる。磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、および類似物など、コンピュータによってアクセス可能なデータを保管できる他のタイプのコンピュータ可読媒体をも、例示的オペレーティング環境で使用できることを、当業者は諒解するであろう。また、タブレットパーソナルコンピュータまたは携帯情報端末などのコンピュータ１００のよりポータブルな実施形態で、上で説明したコンピュータ記憶媒体デバイスの１つまたは複数を省略できることを諒解されたい。
【００１８】
オペレーティングシステム１９５、１つまたは複数のアプリケーションプログラム１９６、他のプログラムモジュール１９７、およびプログラムデータ１９８を含む複数のプログラムモジュールを、ハードディスクドライブ１７０、磁気ディスク１９０、光ディスク１９２、ＲＯＭ１４０、またはＲＡＭ１５０に保管することができる。ユーザは、キーボード１０１およびポインティングデバイス１０２（たとえば、マウス、タッチパッド、またはポインティングスティック）などのさまざまな入力デバイスを介して、コンピュータ１００にコマンドおよび情報を入力することができる。前に注記したように、本発明は、ジェスチャが認識される場合のフィードバックを提供するツールを対象とする。当業者が諒解するように、ジェスチャ入力は、さまざまなポインティングデバイスを使用して生成することができるが、このタイプの入力を作成するのに最も便利なポインティングデバイスは、ペンまたはスタイラスであることがしばしばである。したがって、コンピューティングデバイス１２０には、通常は、ディジタイザ１６５（時々グラフィックスパッドと称する）およびスタイラスまたはペン１６６が含まれ、ユーザは、これらを使用して、ジェスチャとして認識可能な手書き入力を作成する。当業者が諒解するように、いくつかの実施形態で、スタイラスまたはペン１６６がディジタイザ１６５の表面に接触する場合に、ディジタイザ１６５によって手書き入力が受け取られる。他の実施形態では、ディジタイザ１６５は、ペン１６６によって生成される光ビームから、ペン１６６を指示する機械式の腕の角度移動を追跡することによって、または別の適当な技法によって、手書き入力を受け取ることができる。
【００１９】
上記および他の入力デバイスは、システムバス１３０に結合されたシリアルポートインターフェース１０６を介して処理ユニット１１０に結合されることがしばしばであるが、パラレルポート、ゲームポート、ＩＥＥＥ−１３９４Ｂバス、またはｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓ（ＵＳＢ）などの他のインターフェースによって接続することができる。さらに、これらのデバイスを、適当なインターフェース（図示せず）を介してシステムバス１３０に直接に結合することができる。モニタ１０７または他のタイプのディスプレイデバイスも、ビデオアダプタ１０８などのインターフェースを介してシステムバス１３０に接続される。モニタ１０７に加えて、パーソナルコンピュータには、通常、スピーカおよびプリンタなどの他の周辺出力デバイス（図示せず）が含まれる。当業者が諒解するように、モニタ１０７に、ディジタイザ１６５を組み込んで、ディジタイジングディスプレイ１６５を形成することができる。この配置を用いると、好都合なことに、ユーザが、ペン１６６を使用して、ディスプレイ１６５のディスプレイ画面に接触することによって、ディジタイジングディスプレイに表示されたオブジェクトを直接にポイントできるようになる。
【００２０】
コンピュータ１００は、リモートコンピュータ１０９などの１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク化された環境で動作することができる。リモートコンピュータ１０９は、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または多の一般的なネットワークノードとすることができ、リモートコンピュータ１０９には、通常は、コンピュータ１００に関して上述した要素の多数またはすべてが含まれるが、図１には、アプリケーションプログラム１９６に関連するメモリストレージデバイス１１１だけが図示されている。図１に示された論理接続には、ローカルエリアネットワーク（ＬＡＮ）１１２および広域ネットワーク（ＷＡＮ）１１３が含まれる。そのようなネットワーキング環境は、オフィス、会社全体のコンピュータネットワーク、イントラネット、およびインターネットでありふれており、本明細書では詳細に説明しない。
【００２１】
ＬＡＮネットワーキング環境で使用される時に、コンピュータ１００は、ネットワークインターフェースまたはネットワークアダプタ１１４を介してローカルネットワーク１１２に接続される。ＷＡＮネットワーキング環境で使用される時に、パーソナルコンピュータ１００に、通常は、広域ネットワーク１１３、たとえばインターネットへの通信リンクを確立する、モデム１１５または他の手段が含まれる。モデム１１５は、内蔵または外付けとすることができるが、シリアルポートインターフェース１０６によってシステムバス１３０に接続することができる。ネットワーク化された環境では、パーソナルコンピュータ１００に関して図示されたプログラムモジュールまたはその一部を、リモートメモリストレージデバイスに保管することができる。もちろん、図示のネットワーク接続が例示的であり、コンピュータの間の通信リンクを確立する他の技法を使用できることを諒解されたい。ＴＣＰ／ＩＰ、Ｅｔｈｅｒｎｅｔ（登録商標）、ＦＴＰ、ＨＴＴＰ、および類似物などのさまざまな周知のプロトコルのいずれかの存在が、仮定され、このシステムは、ユーザがウェブベースサーバからウェブページを検索できるようにするために、クライアントサーバ構成で動作することができる。さまざまな普通のウェブブラウザのいずれかを使用して、ウェブページのデータを表示し、操作することができる。
【００２２】
即時フィードバックなしのジェスチャ認識
本発明の即時動的フィードバック機能をよりよく区別するために、本発明の動的フィードバックを使用しないジェスチャ認識処理の例を、まず説明する。図２Ａを参照すると、形状２０１は、ジェスチャ認識モジュールが、コマンドに対応するジェスチャとして認識するパターンである。具体的に言うと、形状２０１は、たとえばオープンファイルを保存するコマンドまたはテキスト文字「Ｓ」を生成するコマンドとして認識される「Ｓ」形状である。形状２０１が、通常はユーザに表示されず、したがって、図２Ａでは破線で示されていることを諒解されたい。形状２０１によって表されるジェスチャを行うために、ユーザは、スタイラス１６６を使用して、図２Ｂに示されているように、手書き入力２０３を作る。この図では、手書き入力２０３が、実線として示されている。しかし、一部のジェスチャ認識モジュールで、スタイラス１６６によって生成された手書き入力２０３が表示されない場合があることに留意されたい。
【００２３】
やはりこの図からわかるように、ユーザは、ジェスチャ形状２０１の大半に対応する手書き入力２０３を生成したが、ジェスチャ認識モジュールは、手書き入力２０３が、形状２０１に対応するジェスチャとして認識されたか否かを示すフィードバックを、まだユーザに与えていない。図２Ｂに示された位置では、ジェスチャ認識モジュールが、形状２０１によって表されるジェスチャとして手書き入力２０３を認識している可能性がある。しかし、ジェスチャ認識モジュールがこの認識を行った場合であっても、ユーザはこの認識を知らない。
【００２４】
図２Ｃを参照すると、ユーザが、ジェスチャ形状２０１に対応する手書き入力２０３を完了した場合であっても、ジェスチャ認識モジュールは、まだ、適当なジェスチャが認識されたかどうかを示すフィードバックをユーザに与えていない。一部のジェスチャ認識モジュールでは、ユーザがジェスチャを行うのを停止した後（すなわち、ユーザが手書き入力２０３を完了し、スタイラス１６６をディジタイザ１６５の表面から除去した場合）に、ジェスチャ認識モジュールが、まだ、図２Ｄに示されているように、ジェスチャが正しく認識されたか否かを示すフィードバックをユーザに与えていない場合がある。したがって、ユーザは、ユーザのジェスチャが正しく認識されたかどうかを判定するために、所望のジェスチャに対応するコマンドが呼び出されるか否かを知るために待たなければならない。
【００２５】
ジェスチャフィードバックツール
図３に、本発明の実施形態によるジェスチャフィードバックツール３０１を示す。下で詳細に説明するように、ジェスチャフィードバックツール３０１は、ユーザによって行われるジェスチャの認識、およびジェスチャの認識を確認する即時フィードバックのユーザへの提供の両方を行う。この図からわかるように、ツール３０１は、ユーザ入力デバイス３０３および入力インターフェースモジュール３０５を含むシステムで使用される。このシステムには、階層化ウインドウ生成モジュール３１９およびユーザインターフェース３２１も含まれる。これらのシステムコンポーネントのそれぞれを、下でさらに詳細に説明する。
【００２６】
まずユーザ入力デバイス３０３を参照すると、ユーザ入力デバイス３０３は、ユーザがポインティングデバイスの位置に対応する位置データを生成するのに用いる任意のデバイスとすることができる。たとえば、ユーザ入力デバイス３０３を、マウス、タッチパッド、ジョイスティック、またはトラックボールを含む任意のタイプの普通のポインティングデバイスとすることができる。当業者が諒解するように、これらのタイプのポインティングデバイスが、ポインティングデバイスの移動（またはその上での移動）によって制御される表示されたポインタアイコンの位置に基づいて仮想位置データを生成する場合。
【００２７】
しかし、図示の実施形態では、ユーザ入力デバイス３０３がスタイラス１６６であり、スタイラス１６６は、手書き入力データの形で絶対位置データを生成するのに、ユーザが便利に使用することができる。すなわち、スタイラス１６６によって、ディジタイザ１６５の表面に関するスタイラス１６６の位置に基づいて、絶対位置データが生成される。スタイラス１６６およびディジタイザ１６５によって生成される位置データを、単なるｘ−ｙ平面状の座標値以上の値にすることができることに留意されたい。当業者が諒解するように、あるタイプのディジタイザでは、スタイラス１６６とディジタイザ１６５の表面の間の距離を判定でき、ディジタイザ１６５の表面に関してスタイラス１６６が保持される角度を判定することができる可能性があり、ディジタイザ１６５表面に対する、スタイラス１６６によって印加される圧力を判定できる場合もある。これらの特性の１つまたは複数（あるいは、任意のタイプのポインティングデバイスについて判定できる他の位置特性のいずれか）を使用して、本発明のさまざまな実施形態によるジェスチャを行うための位置データを作ることができる。
【００２８】
入力インターフェースモジュール３０５は、入力デバイス３０３を用いて作成される位置データに基づいてツール３０１にデータを供給する任意のタイプのユーザインターフェースモジュールとすることができる。したがって、入力デバイス３０３がスタイラス１６６である場合には、入力インターフェースモジュール３０５を、ディジタイザ１６５の表面でのスタイラス１６６の移動によって作成される位置データをツール３０１によって使用できるデータに変換するアプリケーションプログラミングインターフェース（ＡＰＩ）とすることができる。たとえば、入力インターフェースモジュール３０５によって、スタイラス１６６を用いて作成される絶対位置データを、各サンプルのベクトル情報の対応を有する位置データの離散サンプルからなる電子インクデータに変換することができる。もちろん、入力インターフェースモジュール３０５によって、位置データを、ツール３０１に有用な任意のデータフォーマットに変換することができる。ポインティングデバイスによって作成される位置データを使用するさまざまなタイプの入力インターフェースモジュール３０５が、当技術分野で周知であり、したがって、ここでは詳細に説明しない。
【００２９】
図３に戻ると、ツール３０１に、ジェスチャ認識モジュール３０７が含まれる。ジェスチャ認識モジュール３０７では、入力デバイス３０３を使用して作成された位置データがジェスチャに対応する場合を認識するために、ニューラルネット３０９および／またはヒューリスティックリコグナイザ３１１を使用することができる。図示の例には、ジェスチャ認識用のニューラルネット３０９およびヒューリスティックリコグナイザ３１１の両方が含まれるが、追加のまたは代替の技法を使用して、入力デバイス３０３を用いて作成された位置データからジェスチャを認識できることに留意されたい。これらの代替技法の使用ならびにニューラルネット３０９およびヒューリスティックリコグナイザ３１１の使用は、当技術分野で周知であり、したがって、さらに詳細には説明しない。
【００３０】
ツール３０１には、ジェスチャフィードバックモジュール３１３も含まれる。図３からわかるように、ジェスチャフィードバックモジュール３１３には、位置計算モジュール３１５および階層化ウインドウ管理モジュール３１７が含まれる。ジェスチャ認識モジュール３０７によって、入力デバイス３０３を用いて生成された位置データがジェスチャに対応することが認識される場合に、ジェスチャ認識モジュール３０７によって、認識されたジェスチャがジェスチャフィードバックモジュール３１３に報告される。それに応答して、位置計算モジュール３１５によって、ジェスチャが認識されたことをユーザに知らせるためにどのタイプのジェスチャフィードバックをユーザに表示しなければならないかが判定される。本発明の一部の実施形態では、たとえば、位置計算モジュール３１５によって、ルックアップテーブルを使用して、ジェスチャ認識モジュール３０７によって供給される認識されたジェスチャに対応するジェスチャフィードバックを決定することができる。もちろん、本発明の他の実施形態では、任意の望ましい技法を使用して、特定のジェスチャの認識に応答してユーザに表示されるジェスチャフィードバックの形態を判定することができる。また、下で詳細に説明するように、ジェスチャフィードバックは、１つまたは複数のアイコン、テキストメッセージ、色の変化、およびアニメーションの表示、可聴サウンドの再生、またはこれらの形態の複数の組み合わせを含む、さまざまな異なる形態をとることができる。
【００３１】
位置計算モジュール３１５によって、認識されたジェスチャに対応するフィードバックをユーザに表示する位置も決定される。たとえば、本発明のいくつかの実施形態では、位置計算モジュール３１５によって、ジェスチャフィードバック（すなわち、ジェスチャが認識されたことを示すフィードバック）を、ジェスチャを構成するデータのうちで最も下の位置データの下に固定された距離で表示するか、ジェスチャを構成する最も上の位置データの上の固定された距離に表示することを決定することができる。代替では、位置計算モジュール３１５によって、ジェスチャ全体を含む境界エリアを判定することができる。その後、位置計算モジュール３１５によって、ジェスチャフィードバックを、この境界エリアの上、下、または横の固定された距離に表示することを決定することができる。さらに、位置計算モジュール３１５によって、ユーザが入力デバイス３０３を使用してジェスチャを行う際の位置データの変化を追跡することができる。その後、位置計算モジュール３１５によって、入力デバイス３０３を用いて作成された新しい位置データに対応するジェスチャフィードバックの新しい位置を継続的に判定することができる。
【００３２】
本発明のいくつかの実施形態では、位置計算モジュール３１５によって、ジェスチャを構成する位置データの位置に基づいて、ユーザに表示されるジェスチャフィードバックのタイプまたは形態を決定することすらできる。たとえば、ジェスチャを構成する位置データが、比較的小さい表示エリア内に含まれる場合に、位置計算モジュール３１５によって、長いテキストメッセージではなく、ジェスチャフィードバックとして小さいアイコンを表示しなければならないことを決定することができる。しかし、本発明の代替実施形態で、ジェスチャフィードバックの形態の決定およびジェスチャフィードバックがユーザに表示される位置の決定を、単一の位置計算モジュール３１５ではなく、異なるコンポーネントによって実行することができる。
【００３３】
図３に示された本発明の実施形態では、ジェスチャフィードバックが、複数の透明の階層化ウインドウを使用して表示される。当業者に既知のように、このタイプの透明階層化ウインドウは、ウインドウ内に含まれる内容だけが表示されるグラフィカルユーザインターフェースである。したがって、このタイプの透明階層化ウインドウには、通常は、可視の境界、ツールバー、タスクバー、エディットコントロール、または他のタイプのコントロールが含まれず、これによって、内容を表示するのに必要な処理オーバーヘッドが最小になる。さらに、図示の実施形態では、単一のジェスチャフィードバックを、複数の小さい透明階層化ウインドウを使用してレンダリングすることができ、システムの処理オーバーヘッドがさらに最小化される。
【００３４】
したがって、位置計算モジュール３１５によって、ジェスチャフィードバックの形態およびジェスチャフィードバックがユーザに表示される位置が決定されたならば、階層化ウインドウ管理モジュール３１７によって、階層化ウインドウ生成モジュール３１９が、ユーザインターフェース３２１の決定された位置にジェスチャウィンドウを生成するように指示される。階層化ウインドウ生成モジュール３１９は、たとえば、ウインドウ付きグラフィカルユーザインターフェースの外見および内容を管理する普通のアプリケーションプログラミングインターフェース（ＡＰＩ）とすることができる。同様に、ユーザインターフェース３２１は、たとえば、それぞれが当技術分野で周知の陰極線管（ハーフ）ディスプレイ、プラズマスクリーンディスプレイ、または液晶（ＬＣＤ）ディスプレイなどを含むすべてのタイプの普通のディスプレイとすることができる。階層化ウインドウ管理モジュール３１７は、所望のジェスチャフィードバックを表示するために生成モジュール３１９の階層化ウインドウの動作を制御するいずれかのタイプのモジュールとすることができる。
【００３５】
ジェスチャフィードバックツールの動作
図４に、ジェスチャフィードバックツール３０１を含む、本発明のさまざまな実施形態に使用することができるジェスチャの認識を確認する動的フィードバックを提供する方法を示す。この図からわかるように、ユーザにジェスチャフィードバックを提供する処理は、ステップ４０１で、ユーザがジェスチャを描き始める場合に開始される。ステップ４０３で、ジェスチャ認識モジュールによって、これまでにユーザによって描かれたジェスチャが認識されるかどうかを判定する。たとえば、ジェスチャフィードバックツール３０１では、ジェスチャ認識モジュール３０７によって、入力デバイス３０３からの位置データがジェスチャに対応するかどうかが判定される。
【００３６】
ジェスチャがまだ認識されない場合には、ステップ４０５で、ジェスチャがまだ認識されていないことを示すフィードバックをユーザに与える。本発明のいくつかの実施形態では、この非認識フィードバックを、ジェスチャがまだ認識されていないことをユーザに積極的に示すアクティブフィードバックとすることができる。たとえば、ジェスチャフィードバックモジュール３１３によって、階層化ウインドウ生成モジュール３１９に、ジェスチャがまだ認識されていないことを述べるテキストメッセージ内容を有するウインドウを生成するように指示することができる。しかし、本発明の他の実施形態では、非認識フィードバックを、受動的フィードバックとすることができ、この場合には、ジェスチャがジェスチャ認識モジュールによって認識されていない場合に、アクションを行わない（すなわち、ユーザインターフェース３２１が未変更のままになる）。積極的な非認識フィードバックによって、ジェスチャがまだ認識されていないことがユーザに積極的に知らされるが、受動的非認識フィードバックでは、ジェスチャフィードバックモジュールに必要な処理オーバーヘッドがほとんどまたは全くない。
【００３７】
ステップ４０７で、ジェスチャ認識モジュールによって、ユーザがジェスチャを行うのを停止したかどうかが判定される。たとえば、図３に示された本発明の実施形態では、ジェスチャ認識モジュール３０７によって、入力デバイス３０３が位置データを作り続けているかどうかが判定される。入力デバイス３０３が、もはや位置データを作っていない場合（すなわち、ユーザがディジタイザ１６５の表面からスタイラス１６６を持ち上げた場合）には、ステップ４０９で、ツール３０１によってそれ以上のアクションが行われなくなる。しかし、ユーザが、ジェスチャを描き続けている場合には、この処理は、ステップ４０１にループし、ジェスチャ認識モジュールによって、ステップ４０３で、ジェスチャの認識を試み続ける。
【００３８】
ステップ４０３で、ジェスチャ認識モジュールによってユーザのジェスチャが認識される場合に、ステップ４１１で、ジェスチャフィードバックモジュールによって、ジェスチャが認識されたことを示すフィードバックがユーザに与えられる。たとえば、図３に示した実施形態では、ジェスチャ認識モジュール３０７によって、入力デバイス３０３によって供給される位置データからジェスチャが認識され、ジェスチャフィードバックモジュール３１３によって、ジェスチャが認識されたことを示すフィードバックがユーザインターフェース３２１に与えられる。
【００３９】
本発明のいくつかの実施形態では、認識フィードバックによって、ジェスチャ認識モジュールによってどのジェスチャが認識されたかを特に識別せずに、ジェスチャが位置データから認識されたことをユーザに単純に示すことができる。したがって、認識フィードバックを、ジェスチャが認識されたことの確認としてユーザが認識するアイコン、ジェスチャが認識されたことを単純に述べるテキストメッセージ、またはジェスチャが認識されたことをユーザに示すために表示される他の視覚的表示とすることができる。代替としてまたは追加して、オーディオインジケータを再生して、ユーザに、位置データからジェスチャが認識されたことを示すことができる。たとえば、本発明のいくつかの実施形態で、ジェスチャが認識される場合に特定のトーンを再生するか、位置データからジェスチャが認識されたことを述べる音声メッセージを再生することができる。
【００４０】
しかし、本発明のさらに別の実施形態では、認識フィードバックによって、位置データから認識されたジェスチャが特に識別される。たとえば、ジェスチャが、あるアクションを行うコマンドに対応すると認識される場合に、ジェスチャフィードバックモジュール（たとえば、図３に示された本発明の実施形態ではジェスチャフィードバックモジュール３１３）によって、ユーザがそのアクションに関連付けるアイコン、テキストメッセージ、または他のイメージを表示することができる。したがって、ジェスチャ認識モジュール３０７によって、入力位置データが、オープンファイルを保存するジェスチャに対応すると認識される場合に、ジェスチャフィードバックモジュール３１３によって、オープンファイルが保存されることをユーザに知らせるアイコンを表示することができる。代替として、ジェスチャフィードバックモジュール３１３によって、たとえば「ファイルを保存する」という旨のテキストメッセージを表示することができる。その一方で、ジェスチャが、１つまたは複数のテキスト文字を作るコマンドに対応すると認識される場合には、ジェスチャフィードバックモジュールによって、これらの文字が表示される。たとえば、ジェスチャが、文字「Ａ」を生成するコマンドと認識される場合に、ジェスチャフィードバックモジュールによって文字「Ａ」を表示して、ジェスチャが認識されたことをユーザに知らせることができる。
【００４１】
ジェスチャフィードバックモジュールによってフィードバックが供給される速度を、ジェスチャ認識モジュール３０７が位置データからジェスチャを認識する速度に依存するようにすることができることも諒解されたい。ジェスチャ認識モジュール３０７の動作が、入力デバイス３０３によって作成される新しい位置データのそれぞれを処理するには遅すぎる場合に、ジェスチャ認識モジュール３０７は、ジェスチャを認識するために、入力デバイス３０３によって生成される位置デーを周期的にサンプリングするのみとすることができる。代替としてまたは追加して、他の技法を使用して、たとえば専用のプログラミングスレッドを使用してジェスチャ認識処理を実行するなど、ジェスチャ認識モジュール３０７の動作を高速化することができる。どの場合でも、ジェスチャ認識モジュール３０７によるジェスチャ認識が、そのジェスチャを作るために作成される位置データより遅い場合には、ジェスチャフィードバックモジュール３１３によって供給されるフィードバックも、位置データの作成の後に遅れる。したがって、本発明のいくつかの実施形態で、たとえば表示されるフィードバックの色または輝度を変更するなどによってフィードバックを変更して、ジェスチャがどれだけ遅れて認識されているかを示すことができる。
【００４２】
本発明のいくつかの実施形態で、ジェスチャ認識モジュール（たとえば、図３に示された実施形態のジェスチャ認識モジュール３０７）によって、ジェスチャの認識の信頼レベルを提供することができる。たとえば、ユーザが、部分的にのみジェスチャを完了している場合に、ジェスチャ認識モジュールは、ジェスチャを正しく認識するが、その認識の精度において比較的低い信頼レベルを有する場合がある。ユーザがジェスチャの完了を継続する（認識システムが入力デバイス３０３から追加の位置データを受け取る）際に、認識されたジェスチャの精度に関する信頼レベルが高まる可能性がある。したがって、本発明のさまざまな実施形態によってジェスチャフィードバックを提供して、ユーザに、ジェスチャの認識の信頼レベルについてさらに知らせることができる。
【００４３】
たとえば、ジェスチャ認識モジュールが、認識されたジェスチャの精度で比較的低い信頼度を有する場合に、ジェスチャフィードバックモジュールによって、認識されたジェスチャを識別すると同時にこのジェスチャの認識の信頼度が比較的低いことを示す赤い色を有するアイコンを提供することができる。ジェスチャ認識モジュールが、ジェスチャの認識での信頼レベルを高めた場合に、ジェスチャフィードバックモジュールによって、アイコンの色を赤から黄色に変更して、ジェスチャの認識の信頼度が高まったことをユーザに知らせることができる。ジェスチャの信頼度が高まり続ける場合に、ジェスチャフィードバックモジュールは、たとえば黄色から緑にアイコンの色を変更して、ユーザに、ジェスチャの認識の信頼度がさらに高まったことを知らせることができる。
【００４４】
色に加えて、他の技法を使用して、ジェスチャの認識の信頼レベルを識別できることを諒解されたい。たとえば、本発明のいくつかの実施形態で、異なるサイズのアイコンまたは他のイメージを使用して、認識されたジェスチャの信頼レベルに関してユーザに知らせることができる。本発明の他の実施形態で、代替としてまたは追加して、テキストメッセージを使用して、認識されたジェスチャの信頼レベルに関してユーザに知らせることができる。さらに、本発明のさまざまな実施形態で、異なるアイコンまたは他のイメージ、可聴サウンドまたは話されたメッセージ、あるいは、上述の技法の１つまたは複数の組み合わせを含むさらに他の技法を使用して、認識されたメッセージの信頼レベルに関してユーザに知らせることができる。
【００４５】
本発明のいくつかの実施形態では、ジェスチャ認識モジュールによって、位置データの組から複数のジェスチャを認識することができる。これらの実施形態について、ジェスチャフィードバックモジュールによって、各認識されたジェスチャを識別するジェスチャフィードバックを与えることができる。たとえば、ジェスチャ認識モジュールが、「Ｃ」形状で行われたジェスチャを認識し（たとえば、選択されたデータをコンピュータのクリップボードにコピーするコマンドに対応するジェスチャとして）、「Ｓ」形状で行われた異なるジェスチャを認識（たとえば、オープンファイルを保存するコマンドに対応するジェスチャとして）することができる。ユーザが、「Ｓ」形状に対応するジェスチャを行い始める場合に、ジェスチャ認識モジュールは、当初は、このジェスチャを「Ｃ」形状に対応するジェスチャと区別することができない可能性がある。その代わりに、認識システムは、このジェスチャを、「Ｓ」形状および「Ｃ」形状の両方に対応するジェスチャとして「認識」することができる。この情況では、本発明のさまざまな実施形態によって、両方のジェスチャを識別するジェスチャフィードバックを提供することができる。
【００４６】
さらに、本発明のこれらの実施形態のいくつかで、各認識されたジェスチャと、認識されたジェスチャのそれぞれに関連する信頼レベルの両方を識別するジェスチャフィードバックを与えることができる。したがって、上の例では、ジェスチャ認識モジュールが、当初に「Ｓ」形状に対応するジェスチャと「Ｃ」形状に対応するジェスチャの両方に同一の信頼レベルを割り当てる場合に、ジェスチャフィードバックモジュールによって、ユーザに、両方のジェスチャを識別し、同一の色を有するアイコンを与えることができる。ユーザが「Ｓ」形状のジェスチャの完了を続ける際に、ジェスチャ認識モジュールによって、「Ｃ」形状ジェスチャの認識での信頼レベルに関して、「Ｓ」形状ジェスチャの認識の信頼レベルが増やされる。それに応答して、ジェスチャフィードバックモジュールによって、「Ｓ」形状ジェスチャを識別するアイコンの色を変更して、「Ｓ」形状ジェスチャの認識の信頼レベルが高まったことをユーザに知らせることができる。
【００４７】
本発明の他の実施形態では、ジェスチャフィードバックモジュールによって、ユーザが別の認識されたジェスチャに優先してある認識されたジェスチャの実行を選択できるようにするジェスチャフィードバックを与えることができる。したがって、上の例では、ジェスチャフィードバックモジュールによって、当初は、「Ｃ」形状ジェスチャと「Ｓ」形状ジェスチャの両方を識別するアイコンを表示することができる。その後、ユーザは、たとえば所望のジェスチャを識別するアイコンの上にポインティングデバイスのポインタを向け、コマンドボタンをアクティブにする（または同等のアクションを行う）こと、すなわち、一般にアイコンの「クリック」と称することによって、所望のジェスチャを選択することができる。しかし、複数の認識されたジェスチャの識別および所望のコマンドを呼び出すためにユーザが認識されたジェスチャを選択できるようにすることの両方に、さまざまな技法を使用できることを諒解されたい。
【００４８】
図３に戻って、ステップ４１３で、ジェスチャ認識モジュール３０７によって、ユーザがジェスチャの作成を継続している（すなわち、ユーザが位置データの生成を継続している）かどうかを判定する。ユーザがジェスチャの作成を停止した場合（たとえば、ユーザが、ディジタイザ１６５の表面からスタイラス１６６を持ち上げた場合）には、ステップ４１５で、認識されたジェスチャによって表されるコマンド（または、最高の信頼レベルを有する認識されたジェスチャ）を呼び出す。しかし、ユーザがジェスチャの完了を継続している場合には、この処理は、ステップ４０１にループバックし、ステップ４０３で、ジェスチャ認識モジュール３０７によって、ジェスチャが認識され続けるかどうかを判定する。
【００４９】
この処理から諒解されるように、ジェスチャは、ユーザがジェスチャを完了する前に認識され始める可能性がある。さらに、ジェスチャを識別するフィードバックを、ジェスチャが完了する前にユーザに与えることができる。便利なことに、ジェスチャが、誤って別の望まれないジェスチャとして認識されつつある場合に、この即時フィードバックを用いると、ユーザが、そのジェスチャに対応するコマンドが呼び出される前に、誤って認識されたジェスチャを取り消せるようになる。たとえば、ユーザが、「Ｃ」形状のジェスチャを作りつつあり、そのジェスチャが別のジェスチャとして誤って認識されつるある場合に、ユーザに、望まれないジェスチャを識別するジェスチャフィードバックによって、ジェスチャが正しく認識されていないことを知らせることができる。ユーザが、所望のジェスチャが正しく認識されていないことを理解する場合に、ユーザは、望まれないジェスチャの認識を取り消すようにポインティングデバイスを移動することができる。したがって、望まれないジェスチャを識別するジェスチャフィードバックに応答して、ユーザは、ジェスチャから、ジェスチャ認識モジュールが望まれないジェスチャを認識しなくなる方向にポインティングデバイスを移動することができる。
【００５０】
動的ジェスチャフィードバック
図５に、図３に示された発明の実施形態を含む、本発明のさまざまな実施形態によって提供することができるジェスチャフィードバックの１例を示す。図５からわかるように、ユーザは、スタイラス１６６を使用して、所望のジェスチャ形状２０１に対応する手書き入力２０３を描く。この例示的実施形態では、「Ｓ」形状２０１が、オープンファイルを保存するジェスチャに対応し、このジェスチャがジェスチャ認識モジュール３０７によって認識されている。したがって、ジェスチャフィードバックモジュール３１３によって、「ＳＡＶＩＮＧ  ＦＩＬＥ（ファイルの保存）」というテキストメッセージ５０１が表示されて、オープンファイルを保存するジェスチャが手書き入力２０３から認識されていることがユーザに知らされる。このジェスチャが、ユーザが望むジェスチャでない場合には、ユーザは、図６に示されているように、形状２０１に対応しない追加の手書き入力６０１を作成することによって、このジェスチャを取り消すことができる。それに応答して、ジェスチャ認識モジュール３０７は、もはや手書き入力６０１および７０１を、オープンファイルを保存するジェスチャに対応するジェスチャとして認識しない。ジェスチャフィードバックモジュール３１３によって、テキストメッセージ５０１を削除することによって、このジェスチャがもはや認識されていないことを示す受動的フィードバックを与えることができる。代替として、ジェスチャフィードバックモジュール３１３によって、「ＣＡＮＣＥＬＩＮＧ  ＳＡＶＥ（保存の取消）」というテキストメッセージ６０３を表示することによって、このジェスチャがもはや認識されていないことを確認する積極的フィードバックを与えることができる。
【００５１】
図７に、２つの異なるジェスチャすなわち、ファイルを保存するコマンドを表す「Ｓ」形状ジェスチャおよび材料をシステムクリップボードにコピーするコマンドを表す「Ｃ」形状ジェスチャに対応するジェスチャとしてジェスチャ認識モジュール３０７が手書き入力２０３を認識する場合に提供することができるジェスチャフィードバックの例を示す。この図からわかるように、ジェスチャフィードバックモジュール３１３によって、手書き入力２０３がファイルを保存するコマンドを表すジェスチャとして認識されていることを示すアイコン７０１が表示される。ジェスチャフィードバックモジュール３１３によって、さらに、この手書き入力が、データをクリップボードに保存するコマンドを表すジェスチャとしても認識されていることを示すアイコン７０３が表示される。ユーザが、「Ｓ」形状２０１での手書き入力２０３の作成を継続する際に、ジェスチャ認識モジュール３０７によって、データをクリップボードにコピーするコマンドを表すジェスチャとしての手書き入力２０３の認識の信頼レベルに対する、ファイルを保存するコマンドを表すジェスチャとしての手書き入力２０３の認識の信頼レベルを増やすことができる。したがって、ジェスチャフィードバックモジュール３１３によって、アイコン７０３からアイコン７０１を区別して、ユーザに、ファイルを保存するコマンドを表すジェスチャとしての手書き入力２０３の認識の信頼レベルの増加について知らせることができる。たとえば、図８に示されているように、ジェスチャフィードバックモジュール３１３によって、アイコン７０１の陰影、色、または他の外見的特徴を変更することができる。
【００５２】
本発明のいくつかの実施形態では、ジェスチャフィードバックモジュール３１３によって、他のアプリケーションまたはソフトウェアツールと協力してジェスチャフィードバックを与えることもできる。たとえば、いくつかのスタイラスベースコンピュータによって、ユーザがスタイラスを用いてテキストデータを作成できるようにする入力ユーザインターフェースがユーザに与えられる。したがって、このタイプのコンピュータによって、図９に示されたテキスト入力パネル９０１をユーザに与えることができる。この図からわかるように、テキスト入力パネルに、「Ｅｎｔｅｒ」キー９０３などの普通のキーボードにあるキーを多数表示することができる。したがって、ユーザが、テキスト入力パネル９０１内のキーによっても表されるコマンドを表すジェスチャを行う場合に、ジェスチャフィードバックモジュール３１３によって、認識されたジェスチャに対応するキーの外見を区別することができる。図示の実施形態では、ユーザが、スタイラス１６６を使用して、データを入力するコマンドを表す「┘」形状ジェスチャ２０１に対応する手書きデータ２０３を生成している。これに応答して、ジェスチャフィードバックモジュール３１３によって、図９に示されているように「Ｅｎｔｅｒ」キー９０３の陰影、色、または他の外見的特徴を変更することができる。
【００５３】
さらに、本発明のいくつかの実施形態で、ジェスチャフィードバックを使用して、ユーザが正しいジェスチャを行うのを支援することができる。たとえば、ユーザが、テキスト入力パネルと共にスタイラス１６６を使用してデータをサブミットする場合に、ジェスチャフィードバックモジュール３１３によって、入力ユーザインターフェースのキーのアクティブ化に応答して、理想的なジェスチャを表示することができる。したがって、ユーザが、スタイラス１６６を使用してテキスト入力パネル９０１内の「Ｅｎｔｅｒ」キー９０３をアクティブ化する場合に、これに応答して、ジェスチャフィードバックモジュール３１３によって、図１０に示されているように、対応する「┘」形状ジェスチャ１００１を表示することができる。このタイプのジェスチャフィードバックを使用して、異なるコマンドを表すジェスチャをユーザに効果的に教えることができ、これによって、ユーザが、入力ユーザインターフェースの使用なしで済ませて、将来のこれらのコマンドを実行できるようになる。
【００５４】
図１１Ａおよび１１Ｂに、本発明のさまざまな実施形態によるジェスチャフィードバックのもう１つの例を示す。これらの図からわかるように、ユーザが、スタイラスを使用して「プレスアンドホールド」ジェスチャを行っている。具体的に言うと、ユーザは、閾値期間の時間の間、スタイラス１６６をディジタイザ１６５の単一の点に保持することによってジェスチャを行っている。このタイプのジェスチャは、たとえば、スタイラス１６６とディジタイザ１６５の間の接触の点に表示されるオブジェクトに関するメニューを表示するメニューコマンド（しばしば「右クリック」と称する）を呼び出すのに使用することができる。当初、ジェスチャ認識モジュール３０７は、プレスアンドホールドジェスチャを認識しない可能性がある。しかし、ユーザがスタイラス１６６を定位置に保持し続ける際に、ジェスチャ認識モジュール３０７が、ユーザがプレスアンドホールドジェスチャを行っていることを認識し始める。それに応答して、ジェスチャフィードバックモジュール３１３によって、円のイメージ１１０１が表示されるが、このイメージは、スタイラス１６６とディジタイザ１６５の接点の真上に配置される。
【００５５】
スタイラスが定位置に保持され続ける時に、ジェスチャフィードバックモジュール３１３によって、追加の円のイメージが表示され続けて、図１１Ｂに示されているように、接点の周囲のリングが完成する。すなわち、リングを構成する円のイメージ１１０１の数は、スタイラス１６６が停止して保持された時間の長さに比例し、リングが完成する最終的な円のイメージ１１０１は、ジェスチャ認識モジュール３０７がプレスアンドホールドジェスチャに対応するコマンドを呼び出す直前に表示される。したがって、各追加の円のイメージ１１０１の表示によって、ジェスチャ認識モジュール３０７がプレスアンドホールドジェスチャを認識し続けることがユーザに確認される。さらに、各円のイメージ１１０１は、プレスアンドホールドジェスチャを呼び出す前にスタイラス１６６を定位置に保持しなければならない閾値時間の長さに比例する時間増分で表示される。したがって、このフィードバックの表示によって、ユーザは、プレスアンドホールドジェスチャが呼び出される前にユーザがスタイラス１６６を定位置に保持し続けなければならない時間の長さについて知らされる。
【００５６】
図１２に、本発明のさまざまな実施形態に従って提供することができるジェスチャフィードバックのもう１つの例を示す。この図からわかるように、手書き入力２０３が、ジェスチャ認識ユーザインターフェースエリア１２０１に書き込まれている。図示の実施形態では、ジェスチャ認識モジュール３０７によって、手書き入力２０３が、テキスト文字「Ａ」を生成するコマンドを表すジェスチャに対応するジェスチャとして認識されている。したがって、ジェスチャフィードバックモジュール３１３によって、文字「Ａ」１２０３が表示される。このタイプのジェスチャフィードバックを使用して、任意の数のテキスト文字を作成するコマンド、さらには複数のテキスト文字を作成するコマンドを表すジェスチャの認識を確認できることを諒解されたい。
【００５７】
結論
上で説明したように、本発明のさまざまな実施形態によるジェスチャフィードバック技法によって、１つまたは複数のジェスチャの認識に関してユーザに知らせるフィードバックがユーザに与えられる。このフィードバックは、有利なことに、ジェスチャが正しく認識されていることをユーザに確認するのに使用することができる。さらに、このフィードバックによって、所望のジェスチャが正しく認識されていないことをユーザに警告することができ、ユーザが、呼び出される前に誤ったジェスチャを取り消せるようになる。
【００５８】
本発明に、任意の組合せまたは副組合せで、本明細書で説明した要素およびステップを含めることができる。したがって、説明、請求項、および図面を含む本明細書からの１つまたは複数の要素を、さまざまな組合せまたは副組合せで組み込まれた、本発明の定義に関する任意の数の代替組合せがある。本明細書に鑑みて、本発明の態様の代替組み合わせは、本明細書で定義される１つまたは複数の要素またはステップの単独または組み合わせのいずれであれ、本発明またはの修正形態または代替形態あるいは本発明の部分として使用できることが、当業者には明白であろう。
【図面の簡単な説明】
【００５９】
【図１】本発明のさまざまな態様を実施するのに使用することができる汎用ディジタルコンピューティング環境の概略図である。
【図２Ａ】即時フィードバックなしのジェスチャ認識の例を示す図である。
【図２Ｂ】即時フィードバックなしのジェスチャ認識の例を示す図である。
【図２Ｃ】即時フィードバックなしのジェスチャ認識の例を示す図である。
【図２Ｄ】即時フィードバックなしのジェスチャ認識の例を示す図である。
【図３】本発明の実施形態によるジェスチャフィードバックツールを示す図である。
【図４】本発明の実施形態による動的ジェスチャフィードバックを提供する方法を示す図である。
【図５】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図６】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図７】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図８】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図９】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図１０】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図１１Ａ】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図１１Ｂ】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【図１２】本発明のさまざまな実施形態による、即時動的フィードバックの例を示す図である。
【符号の説明】
【００６０】
３０１  ジェスチャフィードバックツール
３０３  ユーザ入力デバイス
３０５  入力インターフェースモジュール
３０７  ジェスチャ認識モジュール
３０９  ニューラルネット
３１１  ヒューリスティックリコグナイザ
３１３  ジェスチャフィードバックモジュール
３１５  位置計算モジュール
３１７  階層化ウインドウ管理モジュール
３１９  階層化ウインドウ生成モジュール
３２１  ユーザインターフェース
【図１】
2004303207.tif 000003
【図２Ａ】
2004303207.tif 000004
【図２Ｂ】
2004303207.tif 000005
【図２Ｃ】
2004303207.tif 000006
【図２Ｄ】
2004303207.tif 000007
【図３】
2004303207.tif 000008
【図４】
2004303207.tif 000009
【図５】
2004303207.tif 000010
【図６】
2004303207.tif 000011
【図７】
2004303207.tif 000012
【図８】
2004303207.tif 000013
【図９】
2004303207.tif 000014
【図１０】
2004303207.tif 000015
【図１１Ａ】
2004303207.tif 000016
【図１１Ｂ】
2004303207.tif 000017
【図１２】
2004303207.tif 000018