(57)【要約】  マルチタッチでないコンピューティングデバイスのタッチ面上のマルチタッチによる対話を認識し処理することによってマルチタッチ機能を活動化する方法。コンピューティングデバイスは、第1のタッチイベントの発生位置からのジャンプを検出して、描かれているタッチジェスチャを判定することができる。仮想タッチイベントは、検出されて記憶される。数式を用いて、初期およびその後の仮想タッチイベントの発生位置に基づいてパラメータを計算することができる。これらのパラメータに基づいて、ズームまたは回転機能などのマルチタッチ機能が決定される。変換係数を決定し、画像ディスプレイに適用することができる。
2013510370.tif 000002
【特許請求の範囲】
【請求項１】
タッチ面ユーザ入力デバイスを有するコンピューティングデバイス上でマルチタッチジェスチャを実施する方法であって、
前記タッチ面上の第1のタッチイベントを検出するステップと、
前記タッチ面上の前記第1のタッチイベントの発生位置を記憶するステップと、
タッチアップイベントを検出することなしに前記タッチ面上の前記タッチイベントの発生位置のジャンプを検出するステップと、
前記検出したジャンプの後の前記タッチイベントの発生位置を記憶するステップと、
新しいタッチイベントの発生位置を取得するステップと、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップと、
決定したグラフィカルユーザインターフェース機能を実施するステップと
を含む方法。
【請求項２】
前記決定したグラフィカルユーザインターフェース機能が変換機能であり、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて変換係数を決定するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記決定したグラフィカルユーザインターフェース機能が画像ズーム変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて拡大変換係数を決定するステップをさらに含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記ステップが、前記決定した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む、請求項1に記載の方法。
【請求項４】
前記決定したグラフィカルユーザインターフェース機能が画像回転変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて回転変換係数を決定するステップをさらに含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記ステップが、決定した回転変換係数に基づいて、表示された画像を回転するステップを含む、請求項1に記載の方法。
【請求項５】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算するステップを含む、請求項1に記載の方法。
【請求項６】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算するステップを含む、請求項1に記載の方法。
【請求項７】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算するステップと、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算するステップと
を含む請求項1に記載の方法。
【請求項８】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、オペレーティングシステムによって行われる、請求項1に記載の方法。
【請求項９】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、アプリケーションプログラミングインターフェース(API)によって行われる、請求項1に記載の方法。
【請求項１０】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記記憶された第1のタッチイベントの発生位置、および前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置に基づいて第2のタッチのタッチ位置を推定するステップを含む、請求項1に記載の方法。
【請求項１１】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの第1の距離を計算するステップと、
前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの第2の距離を計算するステップと、
前記第1の距離が前記第2の距離と異なるかどうかを判定するステップと、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定するステップと、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算するステップと
を含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記ステップは、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む、請求項1に記載の方法。
【請求項１２】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記ステップが、
前記第1のタッチの前記記憶位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から第2のタッチ位置までの第1の距離を計算するステップと、
前記第1のタッチの前記記憶位置から前記新しいタッチイベントの発生位置までの距離に基づいて前記記憶された第1のタッチイベントの発生位置から新しい第2のタッチ位置までの第2の距離を計算するステップと、
前記第1の距離が前記第2の距離と異なるかどうかを判定するステップと、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定するステップと、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算するステップと
を含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記ステップは、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む、請求項1に記載の方法。
【請求項１３】
プロセッサと、
前記プロセッサに結合された、ユーザインターフェースタッチ面デバイスと、
前記プロセッサに結合されたメモリと、
前記プロセッサに結合されたディスプレイと
を備え、前記プロセッサは、プロセッサ実行可能命令を用いて、
前記タッチ面上の第1のタッチイベントを検出し、
前記タッチ面上の前記第1のタッチイベントの発生位置を記憶し、
タッチアップイベントを検出することなしに前記タッチ面上の前記タッチイベントの発生位置のジャンプを検出し、
前記検出したジャンプの後の前記タッチイベントの発生位置を記憶し、
新しいタッチイベントの発生位置を取得し、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定し、
前記決定したグラフィカルユーザインターフェース機能を実施すること
を含む処理を行うように構成されている、コンピューティングデバイス。
【請求項１４】
前記決定したグラフィカルユーザインターフェース機能が変換機能であり、
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて変換係数を決定することをさらに含む処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１５】
前記決定したグラフィカルユーザインターフェース機能が画像ズーム変換機能であり、
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて拡大変換係数を決定することをさらに含む処理を実行するように構成され、
前記決定したグラフィカルユーザインターフェース機能を実施することは、前記決定した拡大変換係数に基づいて、表示された画像にズーム拡大を適用することを含む、請求項13に記載のコンピューティングデバイス。
【請求項１６】
前記決定したグラフィカルユーザインターフェース機能が画像回転変換機能であり、
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて回転変換係数を決定することをさらに含む処理を実行するように構成され、
前記プロセッサは、プロセッサ実行可能命令を用いて、前記決定したグラフィカルユーザインターフェース機能が、前記決定した回転変換係数に基づいて、表示された画像を回転することを含むように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１７】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算すること
を含むように処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１８】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算すること
を含むように処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算し、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算すること
を含むように処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、オペレーティングシステムによって実行されるように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２１】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記タッチイベントの前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、アプリケーションプログラミングインターフェース(API)によって実行されるように、処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２２】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記記憶された第1のタッチイベントの発生位置、および前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置に基づいて第2のタッチのタッチ位置を推定することを含むように処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２３】
前記プロセッサが、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの第1の距離を計算し、
前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの第2の距離を計算し、
前記第1の距離が前記第2の距離と異なるかどうかを判定し、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定し、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算すること
を含み、
前記決定したグラフィカルユーザインターフェース機能を実施することは、前記計算した拡大変換係数に基づいて、表示された画像をズーム拡大することを含むように、処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２４】
前記プロセッサは、プロセッサ実行可能命令を用いて、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定することが、
前記第1のタッチの前記記憶位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から第2のタッチ位置までの第1の距離を計算し、
前記第1のタッチの前記記憶位置から前記新しいタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から新しい第2のタッチ位置までの第2の距離を計算し、
前記第1の距離が前記第2の距離と異なるかどうかを判定し、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定し、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算すること
を含み、
前記決定したグラフィカルユーザインターフェース機能を実施することは、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用することを含むように、処理を実行するように構成されている、請求項13に記載のコンピューティングデバイス。
【請求項２５】
タッチ面上の第1のタッチイベントを検出する手段と、
前記タッチ面上の前記第1のタッチイベントの発生位置を記憶する手段と、
タッチアップイベントを検出することなしに前記タッチ面上の前記タッチイベントの発生位置のジャンプを検出する手段と、
前記検出したジャンプの後の前記タッチイベントの発生位置を記憶する手段と、
新しいタッチイベントの発生位置を取得する手段と、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する手段と、
前記決定したグラフィカルユーザインターフェース機能を実施する手段と
を備えるコンピューティングデバイス。
【請求項２６】
前記決定したグラフィカルユーザインターフェース機能が変換機能であり、前記コンピューティングデバイスは、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて変換係数を決定する手段をさらに備える、請求項25に記載のコンピューティングデバイス。
【請求項２７】
前記決定したグラフィカルユーザインターフェース機能が画像ズーム変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて拡大変換係数を決定する手段をさらに備え、
前記決定したグラフィカルユーザインターフェース機能を実施する前記手段は、前記決定した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項２８】
前記決定したグラフィカルユーザインターフェース機能が画像回転変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて回転変換係数を決定する手段をさらに備え、
前記決定したグラフィカルユーザインターフェース機能を実施する前記手段は、前記決定した回転変換係数に基づいて、表示された画像を回転する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項２９】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３０】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３１】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算する手段と、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算する手段と
を備える、請求項25に記載のコンピューティングデバイス。
【請求項３２】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、オペレーティングシステムの一部として、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３３】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、アプリケーションプログラミングインターフェース(API)として、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３４】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記記憶された第1のタッチイベントの発生位置、および前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置に基づいて第2のタッチのタッチ位置を推定する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３５】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの第1の距離を計算する手段と、
前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの第2の距離を計算する手段と、
前記第1の距離が前記第2の距離と異なるかどうかを判定する手段と、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定する手段と、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算する手段と
を備え、
前記決定したグラフィカルユーザインターフェース機能を実施する前記手段は、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３６】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて実施すべきグラフィカルユーザインターフェース機能を決定する前記手段が、
前記第1のタッチの前記記憶位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から第2のタッチ位置までの第1の距離を計算する手段と、
前記第1のタッチの前記記憶位置から前記新しいタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から新しい第2のタッチ位置までの第2の距離を計算する手段と、
前記第1の距離が前記第2の距離と異なるかどうかを判定する手段と、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定する手段と、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算する手段と、
を備え、
前記決定したグラフィカルユーザインターフェース機能を実施する手段は、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する手段を備える、請求項25に記載のコンピューティングデバイス。
【請求項３７】
プロセッサにより実行可能な命令を含むコンピュータプログラムであって、
タッチ面上の第1のタッチイベントを検出する少なくとも1つの命令と、
前記タッチ面上の前記第1のタッチイベントの発生位置を記憶する少なくとも1つの命令と、
タッチアップイベントを検出することなしに前記タッチ面上の前記タッチイベントの発生位置のジャンプを検出する少なくとも1つの命令と、
前記検出したジャンプの後の前記タッチイベントの発生位置を記憶する少なくとも1つの命令と、
新しいタッチイベントの発生位置を取得する少なくとも1つの命令と、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する少なくとも1つの命令と、
前記決定したグラフィカルユーザインターフェース機能を実施する少なくとも1つの命令と
を含む、コンピュータプログラム。
【請求項３８】
前記決定したグラフィカルユーザインターフェース機能が変換機能であり、前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて変換係数を決定する、少なくとも1つの命令をさらに含む、請求項37に記載のコンピュータプログラム。
【請求項３９】
前記決定したグラフィカルユーザインターフェース機能が画像ズーム変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて拡大変換係数を決定する、少なくとも1つの命令をさらに含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記少なくとも1つの命令は、前記決定した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４０】
前記決定したグラフィカルユーザインターフェース機能が画像回転変換機能であり、
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて回転変換係数を決定する、少なくとも1つの命令をさらに含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記少なくとも1つの命令は、前記決定した回転変換係数に基づいて、表示された画像を回転する少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４１】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算する少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４２】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算する少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４３】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの距離との差を計算する少なくとも1つの命令と、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの直線と、前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの直線との間の角度を計算する少なくとも1つの命令とを含む、請求項37に記載のコンピュータプログラム。
【請求項４４】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、オペレーティングシステム内に実施される、請求項37に記載のコンピュータプログラム。
【請求項４５】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、アプリケーションプログラミングインターフェース(API)として実施される、請求項37に記載のコンピュータプログラム。
【請求項４６】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、
前記記憶された第1のタッチイベントの発生位置、および前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置に基づいて第2のタッチのタッチ位置を推定する、少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４７】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令が、
前記記憶された第1のタッチイベントの発生位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの第1の距離を計算する少なくとも1つの命令と、
前記記憶された第1のタッチイベントの発生位置から前記新しいタッチイベントの発生位置までの第2の距離を計算する少なくとも1つの命令と、
前記第1の距離が前記第2の距離と異なるかどうかを判定する少なくとも1つの命令と、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定する、少なくとも1つの命令と、
前記第2の距離と前記第1の距離の比に基づいて拡大変換係数を計算する少なくとも1つの命令とを含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記少なくとも1つの命令は、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する、少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【請求項４８】
前記記憶された第1のタッチイベントの発生位置、前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置、および前記新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定する前記少なくとも1つの命令は、
前記第1のタッチの前記記憶位置から前記検出したジャンプの後の前記記憶されたタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から第2のタッチ位置までの第1の距離を計算する少なくとも1つの命令と、
前記第1のタッチの前記記憶位置から前記新しいタッチイベントの発生位置までの距離に基づいて、前記記憶された第1のタッチイベントの発生位置から新しい第2のタッチ位置までの第2の距離を計算する少なくとも1つの命令と、
前記第1の距離が前記第2の距離と異なるかどうかを判定する少なくとも1つの命令と、
前記第1の距離と前記第2の距離が異なる場合は、前記グラフィカルユーザインターフェース機能はズーム変換機能であると決定する少なくとも1つの命令と、
前記第2の距離と前記第1の距離の比に基づいて、拡大変換係数を計算する少なくとも1つの命令とを含み、
前記決定したグラフィカルユーザインターフェース機能を実施する前記少なくとも1つの命令は、前記計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用する、少なくとも1つの命令を含む、請求項37に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピューティングシステム用のユーザインターフェースシステムに関し、より詳細にはタッチセンシティブなユーザインターフェース面を用いたジェスチャリングに関する。
【背景技術】
【０００２】
コンピューティングデバイスとのマルチタッチによる対話は、近年かなりの注目を受けている。今日、マルチタッチタッチセンシティブデバイスは、携帯情報端末(PDA)およびラップトップコンピュータなどの多くのポータブルコンピューティングデバイスに見られる。これらのタッチセンシティブデバイスは、ユーザがマルチタッチジェスチャを用いて、表示画像のズームまたは回転などの機能を行うことを可能にする。しかし現在利用可能なマルチタッチ準拠のタッチセンシティブデバイスには多くの欠点がある。たとえばマルチタッチジェスチャを認識することができるタッチセンシティブデバイスは、現在は製造および実施にコストがかかる特殊な技術およびハードウェアを必要とする。さらにこの特殊な技術は、大多数のコンピューティングデバイスで用いられる多くの現在利用可能なタッチ面デバイスと互換性がない。結果として、現在利用可能なマルチタッチ技術は新しく高価であるので、市場にすでにある大多数のコンピューティングデバイスはマルチタッチ能力を有しない。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様は、タッチ面ユーザ入力デバイスを有するコンピューティングデバイス上でマルチタッチジェスチャを実施する方法を含み、方法は、タッチ面上の第1のタッチイベントを検出するステップと、タッチ面上の第1のタッチイベントの発生位置を記憶するステップと、タッチアップイベントを検出することなしにタッチ面上のタッチイベントの発生位置のジャンプを検出するステップと、検出したジャンプの後のタッチイベントの発生位置を記憶するステップと、新しいタッチイベントの発生位置を取得するステップと、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップと、決定したグラフィカルユーザインターフェース機能を実施するステップとを含む。
【０００４】
方法の様々な態様では、決定されるグラフィカルユーザインターフェース機能は、たとえば変換機能、画像ズーム変換機能、および画像回転変換機能とすることができる。決定したグラフィカルユーザインターフェース機能が変換機能である態様では、方法はさらに、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて変換係数を決定するステップを含むことができる。決定したグラフィカルユーザインターフェース機能が画像ズーム変換機能である態様では、方法はさらに、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて拡大変換係数を決定するステップを含むことができ、決定したグラフィカルユーザインターフェース機能を実施するステップは、決定した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む。決定したグラフィカルユーザインターフェース機能が画像回転変換機能である態様では、方法はさらに記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて回転変換係数を決定するステップを含むことができ、決定したグラフィカルユーザインターフェース機能を実施するステップは、決定した回転変換係数に基づいて、表示された画像を回転するステップを含む。
【０００５】
方法の様々な態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、多様なやり方で達成することができる。一態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、記憶された第1のタッチイベントの発生位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの距離と、記憶された第1のタッチイベントの発生位置から新しいタッチイベントの発生位置までの距離との差を計算するステップを含むことができる。一態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、記憶された第1のタッチイベントの発生位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの直線と、記憶された第1のタッチイベントの発生位置から新しいタッチイベントの発生位置までの直線との間の角度を計算するステップを含むことができる。他の態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、記憶された第1のタッチイベントの発生位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの距離と、記憶された第1のタッチイベントの発生位置から新しいタッチイベントの発生位置までの距離との差を計算するステップと、記憶された第1のタッチイベントの発生位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの直線と、記憶された第1のタッチイベントの発生位置から新しいタッチイベントの発生位置までの直線との間の角度を計算するステップとを含むことができる。他の態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、オペレーティングシステムによって、またはアプリケーションプログラミングインターフェース(API)によって行うことができる。他の態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、記憶された第1のタッチイベントの発生位置、および検出したジャンプの後の記憶されたタッチイベントの発生位置に基づいて第2のタッチのタッチ位置を推定するステップを含むことができる。他の態様では、記憶された第1のタッチイベントの発生位置、検出し��ジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、記憶された第1のタッチイベントの発生位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの第1の距離を計算するステップと、記憶された第1のタッチイベントの発生位置から新しいタッチイベントの発生位置までの第2の距離を計算するステップと、第1の距離が第2の距離と異なるかどうかを判定するステップと、第1の距離と第2の距離が異なる場合はグラフィカルユーザインターフェース機能はズーム変換機能であると決定するステップと、第2の距離と第1の距離の比に基づいて拡大変換係数を計算するステップとを含むことができ、決定したグラフィカルユーザインターフェース機能を実施するステップは、計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む。他の態様では、記憶された第1のタッチイベントの発生位置、検出したジャンプの後の記憶されたタッチイベントの発生位置、および新しいタッチイベントの発生位置に基づいて、実施すべきグラフィカルユーザインターフェース機能を決定するステップは、第1のタッチの記憶位置から検出したジャンプの後の記憶されたタッチイベントの発生位置までの距離に基づいて、記憶された第1のタッチイベントの発生位置から第2のタッチ位置までの第1の距離を計算するステップと、第1のタッチの記憶位置から新しいタッチイベントの発生位置までの距離に基づいて、記憶された第1のタッチイベントの発生位置から新しい第2のタッチ位置までの第2の距離を計算するステップと、第1の距離が第2の距離と異なるかどうかを判定するステップと、第1の距離と第2の距離が異なる場合は、グラフィカルユーザインターフェース機能はズーム変換機能であると決定するステップと、第2の距離と第1の距離の比に基づいて拡大変換係数を計算するステップとを含むことができ、決定したグラフィカルユーザインターフェース機能を実施するステップは、計算した拡大変換係数に基づいて、表示された画像にズーム拡大を適用するステップを含む。
【０００６】
他の態様ではコンピューティングデバイスは、プロセッサと、プロセッサに結合されたユーザインターフェースタッチ面デバイスと、プロセッサに結合されたメモリと、プロセッサに結合されたディスプレイとを含み、プロセッサは、プロセッサ実行可能命令を用いて様々な態様の方法を行うように構成される。
【０００７】
他の態様ではコンピューティングデバイスは、様々な態様の方法の処理機能を達成する手段を含む。
【０００８】
他の態様ではコンピュータプログラム製品は、様々な態様の方法のプロセスを達成するための少なくとも1つの命令が記憶されたコンピュータ可読媒体を含む。
【０００９】
本明細書に組み込まれその一部を構成する添付の図面は、本発明の例示の態様を示す。上述の全体的な説明および以下の詳細な説明と共に、図面は本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【００１０】
【図１】非マルチタッチタッチ面入力デバイス上のマルチタッチジェスチャの処理を示す、モバイル装置の正面図である。
【図２】様々な態様のマルチタッチジェスチャを実施する例示の方法の処理フロー図である。
【図３Ａ】一態様による、表示画像に対してズームインするように活動化されたピンチジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図３Ｂ】一態様による、表示画像に対してズームインするように活動化されたピンチジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図４Ａ】一態様による、表示画像を回転するように活動化された回転ジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図４Ｂ】一態様による、表示画像を回転するように活動化された回転ジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図５Ａ】一態様によるズームおよび回転ジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図５Ｂ】一態様によるズームおよび回転ジェスチャ機能を示す、コンピューティングデバイスの正面図である。
【図６】様々な態様によるマルチタッチジェスチャ、および第1のタッチイベントおよび平均された仮想タッチイベントの座標に基づく計算を示す、非マルチタッチ面タッチ入力デバイスの正面図である。
【図７Ａ】一態様によるピンチジェスチャを示す、非マルチタッチ面タッチ入力デバイスの正面図である。
【図７Ｂ】一態様によるピンチジェスチャを示す、非マルチタッチ面タッチ入力デバイスの正面図である。
【図８】一態様による回転ジェスチャを示す、非マルチタッチ面タッチ入力デバイスの正面図である。
【図９】一態様による、タッチイベントパラメータおよびジェスチャタイプを機能にリンクさせるデータテーブルである。
【図１０】一態様による、ゲーム用途に用いられるマルチタッチジェスチャを示す、コンピューティングデバイスの正面図である。
【図１１】タッチイベントがどのようにアプリケーションソフトウェアに通信されるかを示す、典型的なモバイル装置のハードウェア/ソフトウェアアーキテクチャを示す図である。
【図１２】第2のタッチイベントの発生位置を用いてマルチタッチジェスチャを実施する一態様の方法の処理フロー図である。
【図１３】仮想タッチイベントの発生位置を用いてマルチタッチジェスチャを実施する一態様の方法の処理フロー図である。
【図１４】様々な態様で用いるのに適した例示のコンピューティングデバイスの構成要素ブロック図である。
【図１５】様々な態様で用いるのに適した例示のコンピュータの回路ブロック図である。
【発明を実施するための形態】
【００１１】
様々な態様について、添付の図面を参照して詳しく述べる。図面の全体にわたって可能な限り、同じまたは同様な同じ部分を指すのに同じ参照番号を用いる。特定の実施例および実装形態への言及は例示の目的のためであり、本発明または「特許請求の範囲」の範囲を限定するものではない。
【００１２】
本明細書では「例示の」という語は、「実施例、事例、または例証として役立つ」ことを意味するために用いられる。本明細書では「例示」として述べられる実施形態は、必ずしも他の実施形態より好ましいまたは有利であると解釈されるものではない。
【００１３】
本明細書で用いる「タッチスクリーン」とは、関連する画像ディスプレイを有するタッチ検知入力デバイスまたはタッチセンシティブ入力デバイスである。本明細書で用いる「タッチパッド」とは、関連する画像ディスプレイがないタッチ検知入力デバイスである。たとえばタッチパッドは、画像表示領域の外側の電子デバイスの任意の面に実装することができる。タッチスクリーンおよびタッチパッドは、本明細書では一般に「タッチ面」と呼ぶ。タッチ面は、タッチスクリーンディスプレイなどの電子デバイスの一体の部分とすることができ、または有線または無線データリンクによって電子デバイスに結合することができるタッチパッドなどの、個別のモジュールとすることができる。以下では、タッチスクリーン、タッチパッド、およびタッチ面は同義的に用いることができる。
【００１４】
本明細書で用いる「パーソナル電子デバイス」、「コンピューティングデバイス」、および「ポータブルコンピューティングデバイス」という用語は、セルラ電話、携帯情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、無線電子メール受信機、およびセルラ電話受信機(たとえば、Blackberry(登録商標)およびTreo(登録商標))、マルチメディアインターネット対応セルラ電話(たとえば、Blackberry Storm(登録商標))、およびプログラマブルプロセッサ、メモリ、および接続されたまたは一体化されたタッチ面または他のポインティングデバイス(たとえば、コンピュータマウス)を含む同様な電子デバイスの、任意1つまたはすべてを指す。本発明の様々な態様を示すために用いられる一実施例では、電子デバイスは一体化タッチスクリーンディスプレイである。しかし本態様は、単に様々な態様のうちの1つの例示の実施形態として示すものであり、したがって「特許請求の範囲」に記載の本主題の他の可能な実装形態を除外するものではない。
【００１５】
本明細書で用いる「タッチイベント」とは、タッチの位置または相対位置に関する情報を含むことができる、タッチ面上で検出されたユーザ入力を指す。たとえばタッチスクリーン上またはタッチパッドユーザインターフェースデバイス上では、タッチイベントとは、ユーザがデバイスに触れたことの検出を指し、触れられたデバイス上の位置に関する情報を含むことができる。
【００１６】
現在利用可能なマルチタッチ技術は、特殊で高価なタイプのマルチタッチ対応のタッチセンシティブデバイスを使用するコンピューティングデバイス上でのみ利用可能である。現在、マルチタッチジェスチャを実施するには、ユーザは、ユーザのマルチタッチでないコンピューティングデバイスを放棄して、新しいマルチタッチ対応のタッチセンシティブデバイスを備えた高価なコンピューティングデバイスを購入しなければならない。
【００１７】
様々な態様の方法およびシステムは、任意のタッチセンシティブデバイス上のマルチタッチジェスチャを認識するユーザインターフェースシステムを提供し、それによって非マルチタッチセンシティブデバイスがマルチタッチジェスチャをサポートするのを可能にする。様々な態様の方法は、非マルチタッチタッチセンシティブデバイスを備えた多くのコンピューティングデバイスに実施することができる。さらに様々な態様は、簡単なソフトウェアアップグレードにより、現在のマルチタッチでないコンピューティングデバイスに実施することができる。
【００１８】
現在利用可能なマルチタッチでないデバイスは、マルチタッチ対話の仕様を妨げるいくつかの制限を有する。ユーザが2本の指を用いて、マルチタッチでないコンピューティングデバイス上の表面に触れたときは、2つ(またはそれ以上)のタッチ位置は平均されて単一のタッチ位置を示す。結果としてすべてのマルチタッチイベントは、平均されたタッチ位置の座標を有するシングルタッチイベントとして解釈される。
【００１９】
図1は、2本の指102、104によって触れられている非マルチタッチタッチ面100を示す。この図では、最初に1本の指102がP1にてタッチ面100に触れ、その後に第2の指104がP2にてタッチ面100に触れたと仮定する。第1のタッチ位置P1はタッチ面座標(X1、Y1)にあり、第2のタッチ位置P2はタッチ面座標(X2、Y2)にある。第2の指104がタッチ面100の表面に触れるとすぐに、タッチ面100(たとえばタッチ面ハードウェア、およびそのドライバソフトウェア)は、2つの実際のタッチ位置P1とP2の平均を表す座標(X3、Y3)にて、単一の仮想タッチP3を報告することになる。したがって従来のコンピューティングデバイスは、P3の座標のみを認識することにより、マルチタッチイベントをシングルタッチイベントとして扱い、P1およびP2での実際のタッチの位置を特定することはできない。この挙動により、従来型のマルチタッチでないコンピューティングデバイスは標準のマルチタッチジェスチャを認識することができないが、この挙動を利用し、本発明のマルチタッチジェスチャを可能にすることができる。具体的には、ユーザが第1の指102で触れたときはタッチ面は、第1の位置P1を記録するが、ユーザが第2の指104で触れたときは、タッチ位置は、タッチアップイベントなしに突然、仮想タッチ位置P3にジャンプする。様々な態様は、この特定の挙動をマルチタッチイベントを示すものとして認識し、既知の第1のタッチ位置P1、および仮想タッチ位置P3、すなわち外挿された実際の第2のタッチ位置P2を用いて、実施されるべきグラフィカルユーザインターフェース機能を決定する。
【００２０】
マルチタッチグラフィカルユーザインターフェース機能(たとえば、ズームまたは回転)を活動化するために、様々な態様によるコンピューティングデバイスのプロセッサは、上述のタッチパターンを認識し、そのタッチパターンをマルチタッチジェスチャとして扱うように、プロセッサ実行可能命令を用いてプログラムすることができる。様々な態様によれば、2本の指を用いて非マルチタッチタッチ面100上でマルチタッチジェスチャを行うためには、ユーザはタッチ面100を最初に1本の指102で触れ、その後に第2の指104で触れる必要がある。コンピューティングデバイスは、第1のタッチ(P1)の座標を検出して記憶し、平均された仮想タッチ座標(P3)へのタッチ位置の突然のジャンプ(たとえばタッチアップイベントなしの突然の動き)を認識し、仮想タッチP3の座標に基づいて第2のタッチ(P2)の座標を計算するように構成することができる。様々な態様によるマルチタッチジェスチャの実行時には、ユーザは、第2の指104を動かしながら、第1の指102を基本的に静止させてタッチ面100に触れたまま保つ必要がある。第1の指102を常に静止させておくことにより、コンピューティングデバイスは、P3にて検知された仮想タッチの位置に基づいて、P2での第2の指の位置の変化を計算することが可能になる。第1のタッチ位置P1が動いていないと仮定することにより、コンピューティングデバイスは、実行されたマルチタッチジェスチャを識別し、適切なマルチタッチジェスチャ機能を実施することができる。
【００２１】
たとえば、表示画像にズームアウト(すなわち縮小)機能を適用するようにピンチジェスチャを行うには、ユーザはタッチ面100に最初に1つの指102で触れ、その後に短い距離だけ離れて第2の指104で触れることができる。グラフィカルユーザインターフェースのズームイン機能を行うには、ユーザは第1の指102を静止させておき、第1の指102と第2の指104の間の距離を増加するピンチジェスチャにて第1の指102から遠ざかるように第2の指104を動かすことができる。同様に回転機能を行うには、ユーザは第1の指102を静止させておき、P1での第1の指102の位置によってその中心が定義される円の円周に沿うように第2の指104を動かすことができる。第1の指102に対して円弧を通って時計方向に第2の指104を動かすことは、コンピューティングデバイスが時計方向の表示画像の回転を実施する、マルチタッチジェスチャとして解釈することができる。同様に第2の指104を反時計方向に動かすことにより、コンピューティングデバイスに表示画像を反時計方向に回転させることができる。
【００２２】
様々な態様の方法は、マルチタッチでないコンピューティングデバイスに課される技術的制限を克服し、それらがグラフィカルユーザインターフェースのコマンドとしてマルチタッチジェスチャを認識し処理することを可能にする。したがって様々な態様の方法は、図2に示す方法200を実施することにより、タッチ面100を備えるすべてのコンピューティングデバイスに実施することができる。方法200ではブロック200で、コンピューティングデバイスは、第1の指102による第1のタッチを検出し、第1のタッチ位置の座標をメモリに記憶することができる。コンピューティングデバイスは、ブロック202で第2の指104がタッチ面100に触れたときに仮想タッチ位置を検出し、判定ブロック203でタッチ面のタッチ位置が第1のタッチイベントの発生位置から仮想タッチイベントの発生位置まで(すなわち、P1からP3まで)突然ジャンプしたことを判定することができる。コンピューティングデバイスは、タッチイベントの発生位置のジャンプのパラメータに基づいて、マルチタッチ機能を活動化するように構成することができる。ジャンプの距離は、第1のタッチイベントと仮想タッチイベントの間の距離に基づいて計算することができる。ジャンプの距離を計算するのに用いることができる数式は、図6に関連して以下で詳しく述べる。タッチ面上の通常の指の軌跡を区別するために、判定ブロック203でコンピューティングデバイスは、タッチイベントの発生位置における計算したジャンプの距離が所定の閾値距離「X」より大きいかどうかを判定することができる。瞬間的なジャンプの距離が閾値距離より小さい場合は(すなわち、判定ブロック203=「いいえ」)、マルチタッチジェスチャ機能は使用されず、タッチイベントの通常のグラフィカルユーザインターフェースを実施することができる。瞬間的なジャンプの距離が閾値距離以上である場合は(すなわち、判定ブロック203=「はい」)、コンピューティングデバイスはマルチタッチ機能を活動化し、ブロック204で仮想タッチ位置P3をメモリに記憶することができる。
【００２３】
タッチ位置の位置の突然のジャンプに基づいてマルチタッチイベントを検出することは、実施することができる1つの例示の方法に過ぎない。他の態様ではコンピューティングデバイスは、触れられた表面積の総計、タッチ面内の2つの異なる領域内でのタッチ位置、タッチ面によって測定された静電容量または抵抗の総計、またはタッチ面が利用し得る他の機構または測定など、他の測定可能なパラメータに基づいてタッチ面上で2本の指でタッチされたことを検出するように構成することができる。マルチタッチイベントを検出するためのこのような代替の機構は、図2の判定ブロック203の代わりとなり得る。
【００２４】
ユーザがタッチ面上で第2の指104を動かしたときは、平均された仮想タッチ位置P3の座標はそれに対応して変化する。コンピューティングデバイスは、ブロック206で次の新しい仮想タッチ位置を取得し(すなわち、次のタッチ面リフレッシュにて)、ブロック208で新しい仮想タッチ位置を、記憶されたP3座標と比較するように構成することができる。ブロック210でコンピューティングデバイスは、記憶された仮想タッチ座標からの現在のタッチイベントの変化を計算し、ブロック212で実施すべき適切なグラフィカルユーザインターフェース機能を決定することができる。たとえばグラフィカルユーザインターフェース機能は、表示された画像を決定した変換係数だけ変換するための機能とすることができる。適用できるグラフィカルユーザインターフェース変換機能の例としては、決定した量だけ画像をズームイン(すなわち拡大)すること、決定した量だけ画像をズームアウト(すなわち縮小)すること、決定した角度数だけ時計方向または反時計方向に回転すること、および決定した量だけ左、右、上、または下にスキャンすることが含まれる。次いでブロック214ではコンピューティングデバイスは、ブロック214で、表示された画像を変換する、またはユーザ入力を開いているアプリケーションに供給するなどの、決定したグラフィカルユーザインターフェース機能を適用することができる。決定されるグラフィカルユーザインターフェース機能は、アプリケーションに応じて変わり得る。たとえば同じマルチタッチジェスチャは、地図アプリケーションでは画像をズームアウトするグラフィカルユーザインターフェース機能に関係付けることができ、ゲームアプリケーションでは仮想的な乗り物の加速を引き起こす。
【００２５】
様々な態様のコンピューティングデバイスは、グラフィカルユーザインターフェース機能として異なるタイプのマルチタッチジェスチャを認識するように構成することができる。2つの一般に用いられるグラフィカルユーザインターフェースマルチタッチジェスチャは、ピンチジェスチャおよび回転ジェスチャを含む。ピンチジェスチャは、ユーザが画像、ファイル、またはアプリケーションをズームインまたはズームアウトできるようにするグラフィカルユーザインターフェースズーム機能に関連付けることができる。回転ジェスチャは、ユーザが時計方向または反時計方向に画像を回転できるようにする、またはゲームアプリケーションが理解し得る回転ユーザ入力として、グラフィカルユーザインターフェース回転機能に関連付けることができる。
【００２６】
一部の態様ではマルチタッチジェスチャ機能は、マルチタッチジェスチャと混同され得るユーザインターフェースジェスチャを使用するアプリケーションによって、自動的にディスエーブルすることができる。他の態様ではユーザは、ユーザ入力に基づくデバイスユーザ設定(たとえば仮想ボタンおよび構成メニューの活動化)の一部として、マルチタッチジェスチャ機能を活動化および非活動化することができる。
【００２７】
一部の態様ではマルチタッチジェスチャは、手動でイネーブルすることができる。アプリケーションにおいてマルチタッチジェスチャを手動でイネーブルまたは活動化するには、ユーザは、ボタンを押すことにより、またはGUI表示上のアイコンを活動化することによってマルチタッチジェスチャを選択および活動化することができる。たとえばインデックス動作をソフトキーに割り当てることができ、ユーザは(たとえば押圧またはクリックすることにより)ソフトキーを活動化して、マルチタッチジェスチャ機能を開始することができる。他の実施例としてマルチタッチジェスチャ機能は、ユーザコマンドによって活動化することができる。たとえばユーザは、「インデックスを活動化する」などの音声コマンドを用いてマルチタッチジェスチャ機能をイネーブルすることができる。活動化された後は、マルチタッチジェスチャ機能は本明細書で述べるように用いることができる。
【００２８】
マルチタッチジェスチャ機能は、任意のタッチ面100に実施することができる。タッチスクリーンディスプレイは、タッチスクリーンがマルチタッチジェスチャを用いて操作できる表示画像を示すことができることを考えれば、特に有用な実装形態となる。このような用途ではユーザは、2本の指でタッチスクリーンディスプレイに触れることにより、画像と対話することができる。
【００２９】
マルチタッチジェスチャ(すなわち、タッチ面への2本の指のタッチ)が検出されたときは、リンクされたグラフィカルユーザインターフェース機能またはジェスチャ機能を活動化することができる。マルチタッチジェスチャにリンクされたすなわち関連付けられたグラフィカルユーザインターフェース機能は、アプリケーションによって規定される、かつ/またはユーザの好みの設定によって設定されるコンピューティングデバイスのグラフィカルユーザインターフェースにおいて確立することができる。このようなマルチタッチジェスチャグラフィカルユーザインターフェース機能の一部の実施例は、本明細書で述べるような表示画像をズームまたは回転することを含むことができる。たとえばリンクされた機能がズーム機能として規定される場合は、コンピューティングデバイスのプロセッサは、ユーザが所望のパラメータを満足するピンチジェスチャを描くのに応答して、表示画像をズームインまたはズームアウトすることができる。
【００３０】
図3Aは、ユーザがコンピューティングデバイス300のタッチ面100上でピンチアウトジェスチャを行う際のズームイン機能を示す。マルチタッチジェスチャを開始するには、ユーザは、タッチ面100を第1の指102で触れ、少し後で第2の指104で触れることができる。ディスプレイ306内の画像上でズームインするようにピンチアウトジェスチャを描くには、ユーザは第1の指102を静止させておき、第1の指102から遠ざかるように第2の指104を(点線および矢印302で示すように)動かす。この点線および矢印302は、この態様により、ピンチアウトジェスチャを描くために動かすことができる第2の指104の方向を示す例示用でありディスプレイ上には現れない。
【００３１】
図3Bは、ユーザがピンチアウトジェスチャを完了した後のコンピューティングデバイス300を示し、ここではコンピューティングデバイス300は、このマルチタッチジェスチャをズームイン機能と解釈し、表示画像を大きくすることにより、表示画像にそれを適用する。
【００３２】
図4Aは、回転機能マルチタッチジェスチャを示す。様々な態様のように、マルチタッチジェスチャを開始するには、ユーザはタッチ面100を第1の指102で触れ、少し後で第2の指104で触れることができる。ユーザは、第1の指102を静止させておき、第2の指104を時計方向に回転させて表示画像を時計方向に回転することができる。点線の曲線および矢印402は、第2の指104を回転することができる方向を示す。コンピューティングデバイス300は、ジェスチャを回転ジェスチャとして認識し、図4Bに示すように表示画像を時計方向に回転することができる。
【００３３】
図5Aおよび5Bに示すように、一態様によればコンピューティングデバイス300は、一時に2つ以上のジェスチャを認識し処理するように構成することができる。たとえばユーザは、タッチ面100上で第1の指102を静止させておき、点線および矢印302の方向に第1の指102から遠ざかるように第2の指104を動かし、点線の曲線および矢印402の方向に時計方向に第2の指104を回転することにより、指を用いてピンチジェスチャおよび回転ジェスチャの両方を描くことができる。点線および矢印302、および点線の曲線および矢印402は説明のためだけであり、この態様による表示の一部ではない。コンピューティングデバイス300は、これらのジェスチャを認識し、表示された画像を時計方向に回転しながら、画像をズームインするように構成することができる。
【００３４】
コンピューティングデバイス300は、様々な態様のマルチタッチジェスチャを認識し処理するために、いくつかの数学的計算を行うように構成することができる。異なるマルチタッチジェスチャがユーザによってコンピューティングデバイス300のタッチ面100上で行われる際に、それらの適切なグラフィカルユーザインターフェース効果を決定するのに、異なる数式を用いることできる。例示の数式については、図6〜7を参照して以下で述べる。
【００３５】
コンピューティングデバイスが非マルチタッチ面上でマルチタッチジェスチャを受けたときに行うことができる、いくつかの計算を図6に示す。上述のようにユーザがタッチ面100に触れたときは、コンピューティングデバイス300は、第1のタッチイベントP1を検出し、第1のタッチの座標(X、Y)をメモリに記憶することができる。2回目にユーザがタッチ面を点P2(座標X2、Y2を有する)にて触れたときは、コンピューティングデバイス300は、単一の点P3(座標X3、Y3を有する)にてタッチ面が触れられたことを検出する。
【００３６】
コンピューティングデバイス300は、P1座標およびP3座標を用いて、P2の実際の座標、およびP1とP2の間の距離(すなわち、距離d)、またはP1とP3の間の距離(すなわち、距離c)を計算するように構成することができる。既知の座標P1(X1、Y1)、およびP3(X3、Y3)を用いてP2の位置を求めるために、以下の数式を用いることができる。
式1
P2=(2×P3)-P1
P2=((2X3-X1)、(2Y3-Y1))
【００３７】
P1座標およびP3座標(すなわち(X1、Y1)、および(X3、Y3))を用いてコンピューティングデバイス300はまた、各タッチ位置P1とP3の間の距離(すなわち、距離c)、およびP1とP2の間の距離(すなわち、距離d)を計算することができる。距離cを計算するのに、以下の数式を用いることができる。
式2
c2=a2+b2
ただし
a=(X3-X1)、および
b=(Y3-Y1)
結果として
【００３８】
【数１】
2013510370.tif 000003
【００３９】
距離dは、以下の数式を用いて計算することができる。
式3
d=2c
【００４０】
P1座標およびP3座標を用いて計算できるもう1つのパラメータは角度θ1であり、以下の数式を用いる。
式4
θ1=arcTan(b/a)
ただし、
a=(X3-X1)、および
b=(Y3-Y1)
結果として、
θ1=arcTan[(Y3-Y1)/(X3-X1)]
【００４１】
これらの数式に基づいて計算されたパラメータは、マルチタッチジェスチャによって示されるグラフィカルユーザインターフェース機能、および機能において適用すべき大きさ(たとえば、ズーム比)を決定するために用いることができる。たとえば現在のアプリケーションおよび表示されている媒体の性質に応じて、P1とP3の間の距離が増加(すなわち、長さcが増加)した場合は、これはピンチジェスチャが表示された画像に対してズームインを描いていることを示すことができる。P3の座標が、第1の指102に対する第2の指104の反時計方向の動きに一致して変化する場合は、これは回転ジェスチャが表示画像を反時計方向に回転するように描いていることを示すことができる。
【００４２】
図7Aおよび7Bは、タッチ面100を用いたマルチタッチピンチジェスチャを検出する一態様の方法を示す。図7Aに示されるように、2回目にユーザが点P2(座標X2、Y2を有する)にてタッチ面に触れたときは、コンピューティングデバイス300は、単一の点P3(座標X3、Y3を有する)にてタッチ面が触れられたことを検出する。上述の式1〜4を用いてコンピューティングデバイス300は、P2タッチの座標を求め、第1のタッチ位置P1からの距離d、および第1のタッチ位置P1から報告された仮想タッチ位置P3までの距離cを計算することができる。ユーザは第2の指104を、点線および矢印502の方向に第1の指102から遠ざかって、タッチ面100上の新しい点へ動かすことによりジェスチャを描くことができる。
【００４３】
図7Bに示すようにコンピューティングデバイス300は、タッチ面が仮想タッチ位置P3'にて触れられていることを検出することになる。新しいP3'座標を用いて、コンピューティングデバイスは、第2の指のタッチP2'の位置を求め、P1とP3'の間の距離(すなわち、c')、またはP1とP2'の間の距離(すなわち、d')を計算することができる。
【００４４】
コンピューティングデバイス300は、メモリに記憶されたP1と、タッチ面によって示されるP3との間の距離の変化(すなわち、距離cからc')、またはP1とP2の間の距離の変化(すなわち、距離dからd')があったかどうかを判定することにより、ユーザがピンチジェスチャを描いたことを判定することができる。P1とP3の間の距離が増加した場合は(すなわち、c'>c)、コンピューティングデバイス300はユーザがピンチアウトジェスチャを描いていると判定することができる。しかしP1とP3の間の距離が減少した場合は(すなわち、c'<c)、コンピューティングデバイス300はユーザがピンチインジェスチャを描いていると判定することができる。コンピューティングデバイス300は、数式5を用いて、cとc'の差を計算することによってこの判定を行うことができる。
【００４５】
同様に、メモリに記憶されたP1と、現在のP3に基づいて計算したP2との間の距離が増加した場合は(すなわち、d'>d)、コンピューティングデバイス300は、ユーザがピンチアウトジェスチャを描いていると判定することができる。しかしP1とP2の間の距離が減少した場合は(すなわち、d'<d)、コンピューティングデバイス300は、ユーザがピンチインジェスチャを描いていると判定することができる。
【００４６】
コンピューティングデバイスは、第2の指のタッチの位置(すなわち、P2)を計算することができるが、マルチタッチジェスチャは記録された第1のタッチ位置P1と現在の測定したタッチ位置P3のみに基づいて認識し実施できるので、この計算は必要ないことに留意されたい。P1からP3までの距離の変化は、P1からP2までの距離の変化の半分となる。したがってピンチタイプのグラフィカルユーザインターフェースジェスチャの場合は、変換係数(これは、2本の指が互いに近付いたまたは遠ざかった距離に基づく)は、2倍に増加されなければならない。しかし回転タイプのグラフィカルユーザインターフェースジェスチャの場合は、調整は必要ない。
【００４７】
距離cおよびc'、またはdおよびd'が計算された後は、コンピューティングデバイス300は数式5を用いて、cとc'の差、またはdとd'の差を計算することができる。計算した差は後に、表示画像をそれに基づいて変換することができる変換係数を決定するために用いることができる。変換係数については以下でより詳しく述べる。
式5
Δ=c'-c、または
Δ=d'-d
【００４８】
図8は、タッチ面100を備えるコンピューティングデバイス300を用いてマルチタッチ回転ジェスチャを検出する一態様の方法を示す。2回目にユーザが点P2(座標X2、Y2を有する)にてタッチ面に触れたときは、コンピューティングデバイス300はタッチ面が単一の点P3(座標X3、Y3を有する)にて触れられていることを検出する。最初のマルチタッチタッチイベントに基づいて、コンピューティングデバイスは、図6に関連して上述した式1〜4を用いてP2タッチイベントの座標を求め、θ1、C、およびEを計算するように構成することができる。次いでユーザは、第2の指104を時計方向または反時計方向に動かすことにより、回転ジェスチャを描くことができる。この態様では、ユーザは点線および矢印702で示されるように第2の指104を反時計方向に動かしている。
【００４９】
描かれた動きが回転ジェスチャかどうかの判定において、コンピューティングデバイス300は、P2とP2'の間の距離(すなわち、距離E')を求めることにより、またはP3とP3'の間の距離(すなわち、横軸(すなわちX軸)に沿った距離C')を求めることにより、角度Dを計算することによってP3からP3'への動きによって内在される角度を計算することができる。Dの値の変化、あるいは距離Cまたは距離Eの変化は、回転ジェスチャの軌跡を意味することができる。
【００５０】
角度Dは以下の数式に従って計算することができる。
式6
D=θ2-θ1、
ただし、
θ2=180-θ3、
および、
θ3=arcTan[(Y3'-Y1)/(X3'-X1)]
【００５１】
コンピューティングデバイス300はまた、仮想タッチイベントP3とP3'の間の移動した距離(すなわち、距離C')を求め、かつCとC'の間の変化を計算するように構成することができる。距離C'は以下の数式を用いて計算することができる。
式7
C'2=a2+b2-(2ab×cosD)
ただし、
【００５２】
【数２】
2013510370.tif 000004
【００５３】
および
【００５４】
【数３】
2013510370.tif 000005
【００５５】
CとC'の間の距離の変化は、以下の数式を用いて計算することができる。
式8
Δ=C'-C
ただし、
【００５６】
【数４】
2013510370.tif 000006
【００５７】
第2の指104がX軸に沿ってP2からP2'まで移動した距離(すなわち、距離E')も、計算することができる。またEとE'の間の距離の変化は、以下の数式用いて計算することができる。
式9
Δ=E'-E
ただし、
【００５８】
【数５】
2013510370.tif 000007
【００５９】
および、
E'2=a2+b2-(2ab×cosD)
ただし、
【００６０】
【数６】
2013510370.tif 000008
【００６１】
および、
【００６２】
【数７】
2013510370.tif 000009
【００６３】
あるいは、E'は以下を用いて計算することができ、
E'2=a'2+b'2-(2a'b'×cosD)
ただし、
【００６４】
【数８】
2013510370.tif 000010
【００６５】
および、
【００６６】
【数９】
2013510370.tif 000011
【００６７】
計算(すなわち角度Dの計算、あるいは距離CからC'またはEからE'の変化の計算)の結果は、表示された画像に適用すべき変換係数を決定するために用いることができる。変換係数については以下でより詳しく述べる。
【００６８】
コンピューティングデバイス300はまた、上記の式に基づいて計算したパラメータを用いて、描かれたジェスチャの上方向および下方向、ならびに時計方向および反時計方向を判定するように構成することができる。これは、変化するP3位置のXおよびY座標値の簡単な引き算により達成することができる。このような値は、様々な態様を用いて開発することができる異なるマルチタッチジェスチャにおいて有用となり得る。
【００６９】
一態様ではコンピューティングデバイス300は、図9にその一実施例が示されるジェスチャデータテーブル800を参照することにより、描かれたジェスチャのタイプを判定するように構成することができる。データテーブルは、パラメータ、ジェスチャ、およびP2またはP3が動く方向についての情報を含み、パラメータ値に関連付けられた特定の表示機能を識別するように構成することができる。たとえば行802では、コンピューティングデバイスは、距離cが距離c'より小さいときは、表示画像をズームインするために用いられるピンチジェスチャを識別することができる。行804に示される別の例では、角度Dがゼロより大きい値に等しいときは、コンピューティングデバイスは、P2またはP3の動きの方向が反時計方向であると判定し、コンピューティングデバイスは表示画像を反時計方向に回転することができる。図9に示されるように、ジェスチャのタイプおよび機能を判定するために他のパラメータおよび方向を用いることもできる。
【００７０】
描かれたマルチタッチジェスチャのグラフィカルユーザインターフェースタイプまたは変換機能が決定された後は、コンピューティングデバイス300は、対応する変換係数(すなわち、Δ)を決定するように構成することができる。変換係数は、コンピューティングデバイス300が、マルチタッチジェスチャによって示されるユーザの意図に一致して表示画像を変換するために用いる変換機能において用いられるための、数などの値とすることができる。たとえば画像が表示されているときにユーザがピンチジェスチャを実行したならば、変換機能は拡大となり、変換係数は画像が拡大される程度となる。したがって決定した変換係数が10であれば、コンピューティングデバイスは表示された画像を10倍に拡大する。同様に決定した変換係数が-10であれば、コンピューティングデバイスは表示画像を1/10に縮小する。回転変換機能の場合ならば、変換係数は、画像に適用されるべき回転の度数またはラジアン数となる。したがってたとえば、決定した変換係数が10である回転ジェスチャならば、コンピューティングデバイスは表示画像を時計方向に10度だけ回転し、決定した変換係数が-10であれば、コンピューティングデバイスは表示画像を反時計方向に10度だけ回転する。
【００７１】
上述のように変換係数は、マルチタッチジェスチャの間でのタッチ位置の変化の大きさに基づいて決定することができる。図7Aおよび7Bを参照すると、ズーム機能が表示画像に適用されるピンチジェスチャでは、変換係数は、ジェスチャの開始と終了での2本の指の間の距離の比に基づいて決定することができる。たとえば変換係数は次式によって計算することができる。
Δ=d'/d
または、P3とP1の間の距離の変化は、P2とP1の間のそれの半分であるので、変換係数は次式によって計算することができる。
Δ=c'/c
【００７２】
別法としてコンピューティングデバイス300は、測定または計算したパラメータに基づいて、使用する変換係数Δを決定するのにズーム比ルックアップテーブルを用いるように構成することができる。たとえばズーム比ルックアップテーブルは、+1cmのP1〜P3の分離距離の変化は、10%のズーム比に対応することを示すことができる。
【００７３】
次に図8を参照すると、回転変換係数は、単にタッチジェスチャの間にP3が回転した角度Dに基づいて計算することができ、または距離Cおよび/または距離Eの変化を変換係数として用いることができる。コンピューティングデバイス300は、線形的に変換係数だけ画像を回転する回転機能を適用することにより、表示画像を変換するように構成することができる。したがって回転角度(D)が時計方向に30度と決定された場合は、コンピューティングデバイスは表示画像を時計方向に30度回転することができる。コンピューティングデバイスはまた、ジェスチャによって形成される角度が増加するに従って、マルチタッチジェスチャにおいて広げられる角度当たりに、画像に適用される回転の大きさが増加するように、非線形の回転変換係数を適用するように構成することができる。たとえば、5度の回転角度Dは5度の画像の回転変換に等しくすることができ、15度の回転角度Dは35度の画像の回転変換に等しくすることができる。別法としてコンピューティングデバイス300は、測定または計算したパラメータに基づいて用いるべき変換係数を決定するのに、テーブルルックアップ手順を用いるように構成することができる。たとえばCとC'の間の距離の時計方向の1cmの変化は、10度の画像の回転変換に等しくすることができる。
【００７４】
図8を参照すると回転ジェスチャでは、変換係数はまた、θ1/θ2、C/C'、およびE/E'の比を計算することによって計算することができる。コンピューティングデバイス300は、これらの計算した比を用いて変換係数を決定することができる。このような比に基づいた回転変換係数は、画像に適用される回転変換機能において線形にまたは非線形に適用することができる。
【００７５】
マルチタッチジェスチャが認識された後は、コンピューティングデバイス300は、適切なグラフィカルユーザインターフェース機能を決定することができる。グラフィカルユーザインターフェース機能が変換機能である場合は、コンピューティングデバイス300は、現在のアプリケーションによって決まるやり方で表示された画像を変換するように、決定した変換係数を用いて適切な変換機能を適用することができる。
【００７６】
マルチタッチジェスチャが、アプリケーションへのグラフィカルユーザインターフェース入力である場合は、適切な入力を開いているアプリケーションに渡すことができる。たとえば図10は、様々な態様のマルチタッチジェスチャが、ドライブゲームアプリケーションにグラフィカルユーザインターフェース入力を供給する一態様を示す。この実施例ではゲームアプリケーションは、コンピューティングデバイス300によって計算されたマルチタッチパラメータを、操向および加速などのゲーム機能入力に翻訳するようにプログラムすることができる。たとえば図10に示すようなドライブゲームでは、コンピューティングデバイス300は、P3の位置の変化を追跡して、風の強い道路と通る仮想自動車に適用するための操向入力を決定することができる。コンピューティングデバイス300は、第1の指102の位置を記憶し、ユーザが道路に沿って自動車の巧みな運転を試みながら第2の指104の動きによって引き起こされる、仮想タッチ位置の動きを検出するのに従って様々なパラメータ(たとえば、cおよびθ)を計算することができる。この例示のアプリケーションでは、ユーザは、第2の指104を矢印付き点線904の方向に動かして、仮想ステアリングホイール902を用いて自動車を左または右に操向することができる。
【００７７】
たとえば仮想自動車を右に操向するときは、コンピューティングデバイス300は、ディスプレイ306の右側へ向かう仮想タッチ位置P3の動きを検出し、様々なパラメータ(たとえば、a、b、c、c'、θ1、θ2、θ3、D、C、C'、E、E'の1つまたは複数のパラメータ)を計算することができ、または動きに関連付けられた適切なグラフィカルユーザインターフェース入力を供給することができる。次いでドライブアプリケーションは、これらのパラメータの一部またはすべてを用いて、またはこれらのパラメータから導出されるグラフィカルユーザインターフェース入力を用いて、適切なゲーム応答を決定することができる。たとえばドライブアプリケーションは、θ1とθ2の間の変化を用いてユーザが意図する操向の方向と大きさを決定することができる。同様にアプリケーションは、指の間の距離の変化(すなわち、CからC')を計算して、仮想自動車に印加されるべき加速度を決定することができる。
【００７８】
従来、タッチ面100は、タッチ面100上のタッチイベントを、コンピューティングデバイス300およびそのアプリケーションソフトウェアが解釈できる電気信号に変換することによって機能する。図11は、タッチイベントがどのようにアプリケーションソフトウェアに通信されるかを示す、典型的なコンピューティングデバイス300のハードウェア/ソフトウェアアーキテクチャを示す。抵抗性および容量性タッチ面など、様々なタイプのタッチ面100が利用可能である。これらのタッチ面100のそれぞれは、異なる方法でタッチイベントを検出するように機能することができる。たとえば抵抗性タッチ面パネルは、いくつかの層から構成され、その内の最も重要なものは、狭い間隙によって隔てられた2つの薄い金属の導電層である。指などの物体がパネルの外側表面上の点に押し下げられると、その点で2つの金属層は接続される。次いでパネルは、接続された出力を有する1対の分圧器のように動作する。これによりタッチイベントとして示される電流の変化が引き起こされ、処理のためにコントローラに送られる。
【００７９】
容量性タッチ面は、通常はインジウム錫酸化物などの材料で被覆されたガラスからなる。このタイプのセンサは、極板が格子パターンの水平および垂直軸の間の重なる領域であるコンデンサのように動作する。人体も電気を導通するので、センサの表面上に触れることは電界に影響を与え、デバイスの静電容量に測定可能な変化を生じる。これらのセンサは近接で働き、トリガするために直接触れる必要はない。
【００８０】
タッチ面100のタッチからの電気信号は、ハードウェアドライバ1002によって処理することができる。ハードウェアドライバ1002は、特定のモバイル装置300に応じて、回路、ソフトウェア、またはハードウェアとソフトウェアの混合とすることができる。ハードウェアドライバ1002は、タッチ面100から受け取った電気信号を、モバイル装置300上で稼働しているソフトウェアプリケーションが解釈できるフォーマットに変換する。たとえばハードウェアドライバは、電気信号をタッチイベントの座標に変換することができる。この信号は、割り込みまたはアプリケーションソフトウェアによってアクセス可能なメモリテーブル内の記憶値の形態にあるものとすることができる。このような割り込みまたはメモリテーブル内の記憶値は、オペレーティングシステム(OS)1004によって受け取ることができる。
【００８１】
一態様では、本明細書で述べるマルチタッチ機能は、オペレーティングシステム1004の一部として、補助ソフトウェアプリケーションとして、またはマルチタッチアプリケーションプログラミングインターフェース(API)1006として実施することができる。オペレーティングシステム1004、またはマルチタッチAPI1006は、ハードウェアドライバ1002から受け取ったデータを用いて、c、c'、θ1、およびθ2、またはc/c'、θ1/θ2などの変換係数など、適切なマルチタッチジェスチャ機能を決定するのに用いられるパラメータを計算することができる。次いで計算したパラメータを用いてオペレーティングシステム1004またはマルチタッチAPI1006は、タッチイベントメッセージなどの形態で、検出したマルチタッチイベントに基づいて適切なフォーマットおよび変換係数をアプリケーションレイヤ1008に伝えることができる。タッチイベントはまた、特定のタッチイベントに関連付けられた値を表示するなどのために、ユーザインターフェースレイヤ1010に通信することができる。
【００８２】
図12は一態様による、マルチタッチジェスチャを検出し処理する例示の方法1100を示す。方法1100ではブロック1102で、コンピューティングデバイス300は、第1のタッチイベントを検出し、ブロック1104でそのタッチの位置を取得し記憶する。判定ブロック1106では、コンピューティングデバイス300は、ユーザがすべての指をタッチ面100から持ち上げたときに生じるタッチアップがあるかどうかを判定することができる。タッチイベントがタッチアップイベントの場合は(すなわち、判定1106=「はい」)、コンピューティングデバイス300は、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常のグラフィカルユーザインターフェース(GUI)機能を行うことができる。
【００８３】
タッチイベントがタッチアップイベントでない場合は(すなわち、判定1106=「いいえ」)、コンピューティングデバイス300は、判定ブロック1108で、所定の値「x」より大きなタッチ位置の突然のジャンプがあったかどうかを判定することができる。これは、ユーザが第2の指104でスクリーンに触れたときに起こり得る。タッチ位置ジャンプの距離は、第1のタッチイベントの発生位置と次のタッチイベントの発生位置との間の距離を計算することによって求めることができる。所定の閾値「x」は、タッチ面に押し当てられた平均的な人の指先のサイズより大きな距離などの、任意の距離とすることができる。タッチ位置の位置の変化が閾値Xより小さい場合は(すなわち、判定ブロック1108=「いいえ」)、コンピューティングデバイスは、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常のグラフィカルユーザインターフェース機能を行うことができる。
【００８４】
タッチ位置の位置の変化が、閾値Xより大きい場合は(すなわち、判定ブロック1108=「はい」)、コンピューティングデバイス300は、ブロック1110で仮想タッチイベントの発生位置を記憶し、ブロック1112で仮想タッチイベントの発生位置および第1のタッチ位置に基づいて、第2のタッチイベントの発生位置を計算し記憶することができる。上記のように第2のタッチイベントの発生位置を計算する動作は、図13を参照して以下で述べるように任意選択である。コンピューティングデバイス300は、ブロック1114でタッチイベントの発生位置を取得し、判定ブロック1106でイベントがタッチアップイベントであるかどうかを判定することができる。イベントがタッチアップイベントである場合は(すなわち、判定ブロック1106=「はい」)、コンピューティングデバイス300は、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常の(すなわち、非マルチタッチ)グラフィカルユーザインターフェース機能を行うことができる。イベントがタッチアップイベントでない場合は(すなわち、判定ブロック1106=「いいえ」)、コンピューティングデバイス300は、ブロック1118で新しいタッチイベントの発生位置を取得し、ブロック1119で記憶された第2のタッチイベントの発生位置データおよび新しい第2のタッチイベントの発生位置データを用いて本明細書で述べるようにマルチタッチジェスチャパラメータを計算することができる。ブロック1120ではコンピューティングデバイス300は、計算したパラメータに基づいて、適用すべき変換機能および変換係数を決定し、ブロック1122で表示された画像または現在稼働しているアプリケーションに、変換係数を用いて変換機能を適用することができる。次いでコンピューティングデバイス300は、ブロック1114で次のタッチイベントの発生位置を取得し、タッチアップイベントが検出される(すなわち、判定ブロック1106=「はい」)まで処理を繰り返すことができる。
【００８５】
図13は、一態様によるマルチタッチジェスチャを検出し処理する一実施例の方法1200を示す。方法1200ではブロック1102で、コンピューティングデバイス300は、第1のタッチイベントを検出し、ブロック1104でそのタッチの位置を取得し記憶する。判定ブロック1106でコンピューティングデバイス300は、ユーザがタッチ面100からすべての指を持ち上げたときに発生するタッチアップがあったかどうかを判定することができる。タッチイベントがタッチアップイベントである場合は(すなわち、判定1106=「はい」)、コンピューティングデバイス300は、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常のグラフィカルユーザインターフェース機能を行うことができる。
【００８６】
タッチイベントがタッチアップイベントでない場合は(すなわち、判定1106=「いいえ」)、コンピューティングデバイス300は、判定ブロック1108で所定の値「x」より大きなタッチ位置の突然のジャンプがあったかどうかを判定することができる。タッチ位置の位置の変化が閾値Xより小さい場合(すなわち、判定ブロック1108=「いいえ」)は、コンピューティングデバイスは、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常のグラフィカルユーザインターフェース機能を行うことができる。タッチ位置の位置の変化が閾値Xより大きい場合は(すなわち、判定ブロック1108=「はい」)、コンピューティングデバイス300は、ブロック1110で平均された仮想タッチイベントの発生位置を記憶することができる。ブロック1111でコンピューティングデバイス300は、仮想タッチイベントの発生位置に関する本明細書で述べる様々なマルチタッチジェスチャパラメータを計算し記憶することができる。ブロック1114でコンピューティングデバイス300は、新しい仮想タッチイベントの発生位置を取得し、判定ブロック1106でイベントがタッチアップイベントであるかどうかを判定することができる。イベントがタッチアップイベントである場合は(すなわち、判定1106=「はい」)、コンピューティングデバイス300は、次のタッチイベントを受け取るためにブロック1102に進む前に、ブロック1124で通常のグラフィカルユーザインターフェース機能を行うことができる。イベントがタッチアップイベントでない場合は(すなわち、判定1106=「いいえ」)、コンピューティングデバイス300は、ブロック1201で新しいタッチイベントに関係する新しいマルチタッチジェスチャパラメータを計算することができる。ブロック1202でコンピューティングデバイスは、計算したマルチタッチジェスチャパラメータを、記憶された仮想タッチイベントの発生位置および新しい仮想タッチイベントの発生位置に対して比較し、ブロック1120で変換機能および関連する変換係数を決定することができる。ブロック1122でコンピューティングデバイス300は、表示された画像または動作しているアプリケーションに、変換係数を用いて変換機能を適用することができる。次いでコンピューティング
デバイス300は、ブロック1114で次のタッチイベントの発生位置を取得し、タッチアップイベントが検出される(すなわち、判定ブロック1106=「はい」)まで、処理を繰り返すことができる。
【００８７】
上述の態様は、任意の多様なコンピューティングデバイス300に実施することができる。通常はこのようなコンピューティングデバイス300は、共通して図14に示す構成要素を有する。たとえばコンピューティングデバイス300は、内部メモリ195に結合されたプロセッサ191、およびタッチ面入力デバイス100またはディスプレイ306を含むことができる。タッチ面入力デバイス100は、抵抗検知タッチスクリーン、静電容量検知タッチスクリーン、赤外線検知タッチスクリーン、音響/圧電検知タッチスクリーンなど、任意のタイプのタッチスクリーンディスプレイでよい。様々な態様は、いずれの特定のタイプのタッチスクリーンディスプレイまたはタッチパッド技術にも限定されない。さらにコンピューティングデバイス300は、無線データリンクに接続された、電磁放射を送信し受信するためのアンテナ194、および/またはプロセッサ191に結合されたセルラ電話送受信器192を有することができる。タッチ面入力デバイス100を含まない、(通常は、ディスプレイ306を含む)コンピューティングデバイス300は、通常はキーパッド196または小型キーボード、およびメニュー選択キー、またはポインティングデバイスとして働くロッカスイッチ197を含む。プロセッサ191はさらに、プロセッサ191を外部タッチパッドまたはタッチ面、または外部ローカルエリアネットワークに接続するためのユニバーサルシリアルバス(USB)またはFireWire(登録商標)コネクタソケットなどの、有線ネットワークインターフェース198に接続することができる。
【００８８】
一部の実装形態ではタッチ面は、タッチ面100またはディスプレイ306の外側のコンピューティングデバイス300の領域内に設けることができる。たとえばキーパッド196は、埋め込み型容量性タッチセンサを有するタッチ面100を含むことができる。他の実装形態ではタッチスクリーンディスプレイ306で完全なGUIを提供するように、キーパッド196はなくすことができる。他の実装形態ではタッチ面100は、ケーブルコネクタ198へのケーブルまたはプロセッサ191に結合された無線送受信器(たとえば送受信器192)によってコンピューティングデバイス300に接続することができる、外部タッチパッドとすることができる。
【００８９】
上述のいくつかの態様はまた、図15に示すノートブックコンピュータ2000などの、任意の多様なコンピューティングデバイスで実施することができる。このようなノートブックコンピュータ2000は、通常は、揮発性メモリ2462に結合され、ディスク装置2463などの大容量不揮発性メモリに結合されたプロセッサ2461を含んだ、ハウジング2466を含む。コンピュータ2000はまた、プロセッサ2461に結合されたフレキシブルディスク装置2464およびコンパクトディスク(CD)装置2465を含むことができる。コンピュータハウジング2466はまた通常は、タッチパッド2467、キーボード2468、およびディスプレイ2469を含む。
【００９０】
コンピューティングデバイスプロセッサ191、2461は、上述の様々な態様の機能を含む多様な機能を行うようにソフトウェア命令(アプリケーション)によって構成することができる任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、またはマルチプロセッサチップでよい。一部のポータブルコンピューティングデバイス300、2000は、無線通信機能専用の1つのプロセッサ、および他のアプリケーションを稼働するための専用の1つのプロセッサなどの、複数のプロセッサ191、2461を設けることができる。プロセッサはまた、通信チップセットの一部として含むことができる。
【００９１】
様々な態様は、上述の方法またはプロセスの1つまたは複数を実施するように構成されたソフトウェア命令を実行する、コンピュータプロセッサ191、2461によって実施することができる。このようなソフトウェア命令は、一態様の方法またはプロセスを実施する別個のアプリケーションとしてまたはコンパイルされたソフトウェアとして、ハードディスクメモリ2463内のメモリ192、2462内に、有形記憶媒体上に、またはネットワーク(図示せず)を通じてアクセス可能なサーバ上に、記憶することができる。さらにソフトウェア命令は、ランダムアクセスメモリ192、2462、ハードディスクメモリ2463、フレキシブルディスク(フレキシブルディスク装置2464で読み出すことができる)、コンパクトディスク(CD装置2465で読み出すことができる)、電気的消去可能/プログラマブル読出し専用メモリ(EEPROM)、読出し専用メモリ(FLASHメモリなど)、および/または、外部メモリチップまたUSBネットワークポートに差し込まれたまたはUSB接続可能な外部メモリ(たとえば「フラッシュドライブ」)などの、コンピューティングデバイス300、2000に差し込まれたメモリモジュール(図示せず)を含む、任意の形態の有形のプロセッサ可読メモリに記憶することができる。この説明のためにメモリという用語は、プロセッサ191、2461自体にメモリを含むプロセッサ191、2461によってアクセス可能なすべてのメモリを指す。
【００９２】
上記の方法の説明および処理フロー図は例示のみのために示され、様々な態様が示された順序で実行されなければならないことを必要とするまたは意味するものではない。当業者には理解されるように、上記の態様におけるブロックおよびプロセスの順序は、任意の順序で実行することができる。「その後に(thereafter)」、「次いで(then)」、「次(next)」などの語はプロセスの順序を限定するものではなく、単に方法の説明を通して読者を導くために用いられる。さらにたとえば冠詞「a」、「an」、または「the」を用いた単数形の請求要素へのいずれの参照も、その要素が単数に限定されると解釈されるべきではない。
【００９３】
本明細書で開示される態様に関連して述べた様々な論理ブロック、モジュール、回路、アルゴリズムプロセスは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実施することができる。このハードウェアとソフトウェアが互いに互換できることを明らかに示すために、様々な例示の構成要素、ブロック、モジュール、回路、およびアルゴリズムは、一般にそれらの機能の観点から上述した。このような機能がハードウェアとして実施されるかまたはソフトウェアとして実施されるかは、特定の用途、およびシステム全体に課される設計上の制約に依存する。当業者なら、述べられた機能を、それぞれの特定の用途に対して様々なやり方で実施することができるが、このような実施の決定は本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００９４】
本明細書に開示される態様に関連して述べた様々な例示のロジック、論理ブロック、モジュール、および回路を実施するために用いられるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、または本明細書で述べた機能を行うように設計されたこれらの任意の組み合わせを用いて、実装または実行することができる。汎用プロセッサはマイクロプロセッサとすることができるが、代替としてプロセッサは任意の通常のプロセッサ、コントローラ、マイクロコントローラ、または状態機械でもよい。プロセッサはまた、コンピューティングデバイスの組み合わせ、たとえばDSPとマイクロプロセッサの組み合わせ、複数のマイクロプロセッサ、DSPコアと併用される1つまたは複数のマイクロプロセッサ、または任意の他のそのような構成として、実施することができる。あるいは一部のプロセスまたは方法は、所与の機能に固有な回路によって実行することができる。
【００９５】
1つまたは複数の例示の態様では、述べた機能は、ハードウェア、ソフトウェア、またはそれらの任意の組み合わせで実施することができる。ソフトウェアで実施される場合は機能は、コンピュータ可読媒体上の1つまたは複数の命令またはコードとして、記憶するまたは伝送することができる。本明細書で開示される方法のプロセスまたはアルゴリズムは、コンピュータ可読媒体上に存在することができるプロセッサ実行可能ソフトウェアモジュール内に実施することができる。コンピュータ可読媒体は、コンピュータ記憶媒体と、1つの場所から他の場所へのコンピュータプログラムの移動を容易にする任意の媒体を含む通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスできる任意の利用可能な媒体でよい。たとえば非限定的にこのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、または光ディスク記憶、磁気ディスク記憶または他の磁気記憶装置、または命令またはデータ構造の形態の所望のプログラムコードを担うまたは記憶するために用いることができコンピュータによってアクセスできる他の任意の媒体を、含むことができる。また任意の接続も適切に、コンピュータ可読媒体と呼ばれる。たとえばソフトウェアが、ウェブサイト、サーバまたは他の遠隔供給源から同軸ケーブル、光ファイバケーブル、撚線対、デジタル加入者回線(DSL)、あるいは赤外線、無線およびマイクロ波などの無線技術を用いて伝送される場合は同軸ケーブル、光ファイバケーブル、撚線対、DSL、または赤外線、無線およびマイクロ波などの無線技術も、媒体の定義に含まれる。本明細書で用いる「disk」および「disc」は、コンパクトディスク(CD)、レーザディスク、光ディスク、デジタル多用途ディスク(DVD)、フレキシブルディスク、およびブルーレイディスクを含み、「diskは」通常はデータを磁気的に再生し、「disc」はレーザを用いてデータを光学的に再生する。また上記の組み合わせもコンピュータ可読媒体の範囲に含められるべきである。さらに方法の動作およびアルゴリズムは、コードおよび/または機械可読媒体および/またはコンピュータ可読媒体上に記憶された命令の1つ、または組み合わせ、または組として存在することができ、これらはコンピュータプログラム製品内に組み込むことができる。
【００９６】
様々な態様についての上記の説明は、当業者が本発明を製造しまたは使用するのを可能にするように示した。当業者にはこれらの態様に対する様々な変更形態は容易に明らかとなり、本発明の範囲を逸脱せずに、本明細書に記載の一般的な原理を他の態様に応用することができる。したがって本発明は、本明細書に示した態様に限定されるものではなく、「特許請求の範囲」には本明細書に開示された原理および新規な特徴と一致した最も広い範囲が与えられるべきである。
【符号の説明】
【００９７】
100  タッチ面
102  第1の指
104  第2の指
191  プロセッサ
192  セルラ電話送受信器、送受信器、メモリ
194  アンテナ
195  内部メモリ
196  キーパッド
197  ロッカスイッチ
198  有線ネットワークインターフェース、ケーブルコネクタ
300  コンピューティングデバイス
306  ディスプレイ
800  ジェスチャデータテーブル
902  ステアリングホイール
1002  ハードウェアドライバ
1004  オペレーティングシステム
1006  マルチタッチアプリケーションプログラミングインターフェース(API)
1008  アプリケーション
1010  ユーザインターフェース
2000  ノートブックコンピュータ、コンピューティングデバイス
2461  プロセッサ
2462  揮発性メモリ、メモリ
2463  ディスク装置、ハードディスクメモリ
2464  フレキシブルディスク装置
2465  コンパクトディスク(CD)装置
2466  ハウジング
2467  タッチパッド
2468  キーボード
2469  ディスプレイ
【図１】
2013510370.tif 000012
【図２】
2013510370.tif 000013
【図３Ａ】
2013510370.tif 000014
【図３Ｂ】
2013510370.tif 000015
【図４Ａ】
2013510370.tif 000016
【図４Ｂ】
2013510370.tif 000017
【図５Ａ】
2013510370.tif 000018
【図５Ｂ】
2013510370.tif 000019
【図６】
2013510370.tif 000020
【図７Ａ】
2013510370.tif 000021
【図７Ｂ】
2013510370.tif 000022
【図８】
2013510370.tif 000023
【図９】
2013510370.tif 000024
【図１０】
2013510370.tif 000025
【図１１】
2013510370.tif 000026
【図１２】
2013510370.tif 000027
【図１３】
2013510370.tif 000028
【図１４】
2013510370.tif 000029
【図１５】
2013510370.tif 000030
【国際調査報告】
2013510370.tif 000031
2013510370.tif 000032