(57)【要約】  方法およびデバイスは、さらなるユーザ入力に応答してドキュメント画像をひずませることによってドキュメントパンまたはスクロールが端部または境界に達したときに視覚キューを与えるユーザインターフェースを提供する。画像ディストーション機能は、ドキュメント画像を収縮すること、伸張すること、アコーディオン拡大すること、またはバウンドすることを含み得る。画像ディストーションの程度は、ユーザ入力が、遭遇した境界を越えてドキュメントを移動させるであろう距離に比例し得る。高速パンまたはスクロール中にドキュメント画像の境界に達したとき、移動中にドキュメントが境界に達したことをユーザに通知するために、バウンシング画像ディストーションがドキュメント画像に適用され得る。
2013508812.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイス上でユーザインターフェース機能を実装するための方法であって、
前記コンピューティングデバイスのユーザインターフェースデバイス上でドキュメント画像移動ジェスチャー入力を検出するステップと、
前記移動ジェスチャー入力に基づいて前記コンピューティングデバイス上で表示されるドキュメントのドキュメント画像移動を判断するステップと、
前記ドキュメント画像の前記判断された移動に基づいて、前記ドキュメントの境界に達したかどうかを判断するステップと、
前記ドキュメント画像の境界に達したときに前記コンピューティングデバイス上で表示される前記ドキュメントの画像をひずませるステップと
を含む方法。
【請求項２】
前記ドキュメントの前記画像をひずませるステップが、前記ドキュメント画像を伸張するステップと、前記ドキュメント画像を縮小するステップと、前記ドキュメント画像をバウンドするステップとのうちの1つに関与する、請求項1に記載の方法。
【請求項３】
前記ドキュメントの前記画像をひずませるステップが、水平軸、垂直軸、対角軸、および前記水平軸と前記垂直軸の両方から選択される軸に沿って前記ドキュメント画像をひずませるステップを含む、請求項1に記載の方法。
【請求項４】
前記ドキュメントの前記画像をひずませるステップが、ディスプレイ画像要素をひずませることなしに前記ディスプレイ画像要素間にスペースを挿入することによってアコーディオン式に前記ドキュメント画像をひずませるステップを含む、請求項1に記載の方法。
【請求項５】
前記ユーザインターフェースデバイスがタッチ表面であり、
前記ドキュメント画像移動ジェスチャー入力が、前記タッチ表面上で検出されるタッチイベントである、請求項1に記載の方法。
【請求項６】
前記タッチ表面がタッチスクリーンディスプレイである、請求項5に記載の方法。
【請求項７】
前記ドキュメントの前記画像をひずませるステップが、前記ドキュメントの前記境界に達した後に前記タッチイベントが進行する距離に基づいて前記ドキュメント画像をひずませるステップを含む、請求項5に記載の方法。
【請求項８】
前記タッチイベントがフリックジェスチャーを表す場合、高速パンまたはスクロールアニメーションを開始するステップと、
前記高速パンまたはスクロールアニメーションの端部に達しているかどうかを判断するステップと、
前記高速パンまたはスクロールアニメーションの前記端部に達する前に前記ドキュメント画像の前記境界に達した場合、前記ドキュメント画像のディストーションをアニメーション化するステップと
をさらに含む、請求項5に記載の方法。
【請求項９】
前記ドキュメント画像の前記ディストーションをアニメーション化するステップが、前記ドキュメント画像のバウンド移動をアニメーション化するステップを含む、請求項8に記載の方法。
【請求項１０】
前記ドキュメント画像の前記ディストーションをアニメーション化するステップが、前記ドキュメント画像のバウンド移動と圧縮ディストーションとをアニメーション化するステップを含む、請求項8に記載の方法。
【請求項１１】
前記ドキュメント画像をひずませるために適用されるべきディストーション関数を判断するステップと、
前記境界に達した後に前記ドキュメント画像移動ジェスチャー入力が前記ドキュメント画像を移動するであろう距離に基づいて、ディストーション係数を計算するステップと
をさらに含み、
前記ドキュメント画像をひずませるステップが、前記計算されたディストーション係数に基づいて前記ディスプレイ画像に前記判断されたディストーション関数を適用するステップを含む、請求項1に記載の方法。
【請求項１２】
ディスプレイ画像ディストーションの最大レベルに達したかどうかを判断するステップと、
ディスプレイ画像ディストーションの前記最大レベルに達した場合、前記ディスプレイ画像をそれの元の形態に戻すステップと
をさらに含む、請求項11に記載の方法。
【請求項１３】
プロセッサと、
前記プロセッサに結合されたディスプレイと、
前記プロセッサに結合されたユーザ入力デバイスと
を含む、コンピューティングデバイスであって、
前記プロセッサが、
前記コンピューティングデバイスのユーザインターフェースデバイス上でドキュメント画像移動ジェスチャー入力を検出することと、
前記移動ジェスチャー入力に基づいて前記コンピューティングデバイス上で表示されるドキュメントのドキュメント画像移動を判断することと、
前記ドキュメント画像の前記判断された移動に基づいて、前記ドキュメントの境界に達したかどうかを判断することと、
前記ドキュメント画像の境界に達したときに前記コンピューティングデバイス上で表示される前記ドキュメントの画像をひずませることと
を含む動作を実行するためのプロセッサ実行可能命令で構成された、コンピューティングデバイス。
【請求項１４】
前記プロセッサは、前記ドキュメントの前記画像をひずませることが、前記ドキュメント画像を伸張することと、前記ドキュメント画像を縮小することと、前記ドキュメント画像をバウンドすることとのうちの1つに関与するようなプロセッサ実行可能命令で構成された、請求項13に記載のコンピューティングデバイス。
【請求項１５】
前記プロセッサは、前記ドキュメントの前記画像をひずませることが、水平軸、垂直軸、対角軸、および前記水平軸と前記垂直軸の両方から選択される軸に沿って前記ドキュメント画像をひずませることを含むようなプロセッサ実行可能命令で構成された、請求項13に記載のコンピューティングデバイス。
【請求項１６】
前記プロセッサは、前記ドキュメントの前記画像をひずませることが、ディスプレイ画像要素をひずませることなしに前記ディスプレイ画像要素間にスペースを挿入することによってアコーディオン式に前記ドキュメント画像をひずませることを含むようなプロセッサ実行可能命令で構成された、請求項13に記載のコンピューティングデバイス。
【請求項１７】
前記ユーザインターフェースデバイスがタッチ表面であり、
前記ドキュメント画像移動ジェスチャー入力が、前記タッチ表面上で検出されるタッチイベントである、請求項13に記載のコンピューティングデバイス。
【請求項１８】
前記タッチ表面がタッチスクリーンディスプレイである、請求項17に記載のコンピューティングデバイス。
【請求項１９】
前記プロセッサは、前記ドキュメントの前記画像をひずませることが、前記ドキュメントの前記境界に達した後に前記タッチイベントが進行する距離に基づいて前記ドキュメント画像をひずませることを含むようなプロセッサ実行可能命令で構成された、請求項17に記載のコンピューティングデバイス。
【請求項２０】
前記プロセッサが、
前記タッチイベントがフリックジェスチャーを表す場合、高速パンまたはスクロールアニメーションを開始することと、
前記高速パンまたはスクロールアニメーションの端部に達しているかどうかを判断することと、
前記高速パンまたはスクロールアニメーションの前記端部に達する前に前記ドキュメント画像の前記境界に達した場合、前記ドキュメント画像のディストーションをアニメーション化することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項17に記載のコンピューティングデバイス。
【請求項２１】
前記プロセッサは、前記ドキュメント画像の前記ディストーションをアニメーション化することが、前記ドキュメント画像のバウンド移動をアニメーション化することを含むようなプロセッサ実行可能命令で構成された、請求項20に記載のコンピューティングデバイス。
【請求項２２】
前記プロセッサは、前記ドキュメント画像の前記ディストーションをアニメーション化することが、前記ドキュメント画像のバウンド移動と圧縮ディストーションとをアニメーション化することを含むようなプロセッサ実行可能命令で構成された、請求項20に記載のコンピューティングデバイス。
【請求項２３】
前記プロセッサが、
前記ドキュメント画像をひずませるために適用されるべきディストーション関数を判断することと、
前記境界に達した後に前記ドキュメント画像移動ジェスチャー入力が前記ドキュメント画像を移動するであろう距離に基づいて、ディストーション係数を計算することと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成され、
前記ドキュメント画像をひずませることが、前記計算されたディストーション係数に基づいて前記ディスプレイ画像に前記判断されたディストーション関数を適用することを含む、請求項13に記載のコンピューティングデバイス。
【請求項２４】
前記プロセッサが、
ディスプレイ画像ディストーションの最大レベルに達したかどうかを判断することと、
ディスプレイ画像ディストーションの前記最大レベルに達した場合、前記ディスプレイ画像をそれの元の形態に戻すことと
をさらに含む動作を実行するためのプロセッサ実行可能命令で構成された、請求項23に記載のコンピューティングデバイス。
【請求項２５】
ドキュメント画像を表示するための手段と、
ドキュメント画像移動ジェスチャー入力を検出するための手段と、
前記移動ジェスチャー入力に基づいて、ドキュメント画像を表示するための前記手段上で表示されるドキュメントのドキュメント画像移動を判断するための手段と、
前記ドキュメント画像の前記判断された移動に基づいて、前記ドキュメントの境界に達したかどうかを判断するための手段と、
前記ドキュメント画像の境界に達したときに、ドキュメント画像を表示するための前記手段上で表示される前記ドキュメントの画像をひずませるための手段と
を含む、コンピューティングデバイス。
【請求項２６】
前記ドキュメントの前記画像をひずませるための手段が、前記ドキュメント画像を伸張するための手段と、前記ドキュメント画像を縮小するための手段と、前記ドキュメント画像をバウンドするための手段とのうちの1つを含む、請求項25に記載のコンピューティングデバイス。
【請求項２７】
前記ドキュメントの前記画像をひずませるための手段が、水平軸、垂直軸、対角軸、および前記水平軸と前記垂直軸の両方から選択される軸に沿って前記ドキュメント画像をひずませるための手段を含む、請求項25に記載のコンピューティングデバイス。
【請求項２８】
前記ドキュメントの前記画像をひずませるための手段が、ディスプレイ画像要素をひずませることなしに前記ディスプレイ画像要素間にスペースを挿入することによってアコーディオン式に前記ドキュメント画像をひずませるための手段を含む、請求項25に記載のコンピューティングデバイス。
【請求項２９】
ユーザインターフェース入力を受信するための手段が、表面上のユーザ入力タッチを受信するための手段を含み、
前記ドキュメント画像移動ジェスチャー入力が、表面上のユーザ入力タッチを受信するための前記手段上で検出されるタッチイベントである、請求項25に記載のコンピューティングデバイス。
【請求項３０】
表面上のユーザ入力タッチを受信するための手段が、ディスプレイ上のユーザ入力タッチを受信するための手段を含む、請求項29に記載のコンピューティングデバイス。
【請求項３１】
前記ドキュメントの前記画像をひずませるための手段が、前記ドキュメントの前記境界に達した後に前記タッチイベントが進行する距離に基づいて前記ドキュメント画像をひずませるための手段を含む、請求項29に記載のコンピューティングデバイス。
【請求項３２】
前記タッチイベントがフリックジェスチャーを表す場合、高速パンまたはスクロールアニメーションを開始するための手段と、
前記高速パンまたはスクロールアニメーションの端部に達しているかどうかを判断するための手段と、
前記高速パンまたはスクロールアニメーションの前記端部に達する前に前記ドキュメント画像の前記境界に達した場合、前記ドキュメント画像のディストーションをアニメーション化するための手段と
をさらに含む、請求項29に記載のコンピューティングデバイス。
【請求項３３】
前記ドキュメント画像の前記ディストーションをアニメーション化するための手段が、前記ドキュメント画像のバウンド移動をアニメーション化するための手段を含む、請求項32に記載のコンピューティングデバイス。
【請求項３４】
前記ドキュメント画像の前記ディストーションをアニメーション化するための手段が、前記ドキュメント画像のバウンド移動と圧縮ディストーションとをアニメーション化するための手段を含む、請求項32に記載のコンピューティングデバイス。
【請求項３５】
前記ドキュメント画像をひずませるために適用されるべきディストーション関数を判断するための手段と、
前記境界に達した後に前記ドキュメント画像移動ジェスチャー入力が前記ドキュメント画像を移動するであろう距離に基づいて、ディストーション係数を計算するための手段と
をさらに含み、
前記ドキュメント画像をひずませるための手段が、前記計算されたディストーション係数に基づいて前記ディスプレイ画像に前記判断されたディストーション関数を適用するための手段を含む、請求項25に記載のコンピューティングデバイス。
【請求項３６】
ディスプレイ画像ディストーションの最大レベルに達したかどうかを判断するための手段と、
ディスプレイ画像ディストーションの前記最大レベルに達した場合、前記ディスプレイ画像をそれの元の形態に戻すための手段と
をさらに含む、請求項35に記載のコンピューティングデバイス。
【請求項３７】
ユーザインターフェースデバイス上でドキュメント画像移動ジェスチャー入力を検出することと、
前記移動ジェスチャー入力に基づいてドキュメントのドキュメント画像移動を判断することと、
前記ドキュメント画像の前記判断された移動に基づいて、前記ドキュメントの境界に達したかどうかを判断することと、
前記ドキュメント画像の境界に達したときに前記表示されるドキュメントの画像をひずませることと
を含む動作をコンピュータプロセッサに実行させるように構成されたコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体。
【請求項３８】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメントの前記画像をひずませることが、前記ドキュメント画像を伸張することと、前記ドキュメント画像を縮小することと、前記ドキュメント画像をバウンドすることとのうちの1つに関与するように構成された、請求項37に記載のコンピュータ可読記憶媒体。
【請求項３９】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメントの前記画像をひずませることが、水平軸、垂直軸、対角軸、および前記水平軸と前記垂直軸の両方から選択される軸に沿って前記ドキュメント画像をひずませることを含むように構成された、請求項37に記載のコンピュータ可読記憶媒体。
【請求項４０】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメントの前記画像をひずませることが、ディスプレイ画像要素をひずませることなしに前記ディスプレイ画像要素間にスペースを挿入することによってアコーディオン式に前記ドキュメント画像をひずませることを含むように構成された、請求項37に記載のコンピュータ可読記憶媒体。
【請求項４１】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメント画像移動ジェスチャー入力が、タッチ表面上で検出されるタッチイベントであるように構成された、請求項37に記載のコンピュータ可読記憶媒体。
【請求項４２】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメント画像移動ジェスチャー入力が、タッチスクリーンディスプレイ上で検出されるタッチイベントであるように構成された、請求項37に記載のコンピュータ可読記憶媒体。
【請求項４３】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメントの前記画像をひずませることが、前記ドキュメントの前記境界に達した後に前記タッチイベントが進行する距離に基づいて前記ドキュメント画像をひずませることを含むように構成された、請求項42に記載のコンピュータ可読記憶媒体。
【請求項４４】
前記記憶されたコンピュータ実行可能命令が、
前記タッチイベントがフリックジェスチャーを表す場合、高速パンまたはスクロールアニメーションを開始することと、
前記高速パンまたはスクロールアニメーションの端部に達しているかどうかを判断することと、
前記高速パンまたはスクロールアニメーションの前記端部に達する前に前記ドキュメント画像の前記境界に達した場合、前記ドキュメント画像のディストーションをアニメーション化することと
をさらに含む動作をコンピュータに実行させるように構成された、請求項42に記載のコンピュータ可読記憶媒体。
【請求項４５】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメント画像の前記ディストーションをアニメーション化することが、前記ドキュメント画像のバウンド移動をアニメーション化することを含むように構成された、請求項44に記載のコンピュータ可読記憶媒体。
【請求項４６】
前記記憶されたコンピュータ実行可能命令は、前記ドキュメント画像の前記ディストーションをアニメーション化することが、前記ドキュメント画像のバウンド移動と圧縮ディストーションとをアニメーション化することを含むように構成された、請求項44に記載のコンピュータ可読記憶媒体。
【請求項４７】
前記記憶されたコンピュータ実行可能命令が、
前記ドキュメント画像をひずませるために適用されるべきディストーション関数を判断することと、
前記境界に達した後に前記ドキュメント画像移動ジェスチャー入力が前記ドキュメント画像を移動するであろう距離に基づいて、ディストーション係数を計算することと
をさらに含む動作をコンピュータに実行させるように構成され、
前記ドキュメント画像をひずませるステップが、前記計算されたディストーション係数に基づいて前記ディスプレイ画像に前記判断されたディストーション関数を適用するステップを含む、請求項37に記載のコンピュータ可読記憶媒体。
【請求項４８】
前記記憶されたコンピュータ実行可能命令が、
ディスプレイ画像ディストーションの最大レベルに達したかどうかを判断することと、
ディスプレイ画像ディストーションの前記最大レベルに達した場合、前記ディスプレイ画像をそれの元の形態に戻すことと
をさらに含む動作をコンピュータに実行させるように構成された、請求項47に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にコンピュータユーザインターフェースシステムに関し、より詳細には、画像ディストーション機能を与えるユーザシステムに関する。
【背景技術】
【０００２】
パーソナルコンピューティングデバイス(たとえば、セルフォン、PDA、ラップトップ、ゲーム機)は、ますます多くの機能とデータストレージとをユーザに提供している。パーソナルコンピューティングデバイスは、パーソナルオーガナイザ、ドキュメントと写真とビデオと音楽とのためのストレージ、ならびにインターネットおよび電子メールに対するポータルとして働く。そのようなデバイスの小さいディスプレイ内に収まるために、大きいドキュメント(たとえば、写真、音楽ファイルおよび連絡先リスト)は、一般に、読み取られ、他の部分を露にするためのスクロールまたはパン機能によって制御されるのに十分大きいサイズのドキュメントの一部分を提示することができるビューア中で表示される。ドキュメント画像の全部または一部を閲覧するか、またはデジタルファイルのリストを介してソートするために、典型的なグラフィカルユーザインターフェースは、Blackberry Storm(登録商標)などのモバイルデバイス上で実装されているように、タッチスクリーンディスプレイ上で1本の指の一方向移動を行うことによって、ユーザがスクロールまたはパン機能を使用することを可能にする。しかしながら、ポータブルコンピューティングデバイス中のビューアのサイズが小さいために、ドキュメント画像のコンテンツ全体は、概してディスプレイに収まらない。概して、大きいドキュメントの一部分しかコンピューティングデバイスのビューア中に表示されないので、ユーザが、ドキュメント全体に対するそれらの位置および配向を失うことがある。したがって、ユーザは、ビューア上で表示されるドキュメント画像の一部分に基づいてドキュメント画像の境界を認識することができないことがある。
【発明の概要】
【課題を解決するための手段】
【０００３】
様々な態様は、コンピューティングデバイスのユーザインターフェースデバイス上のドキュメント移動ジェスチャーの入力(たとえば、タッチ表面上のタッチイベント)を検出するステップと、移動ジェスチャー入力に基づいてコンピューティングデバイス上で表示されるドキュメントのドキュメント画像移動を判断するステップと、ドキュメント画像の判断された移動に基づいてドキュメントの境界に達したかどうかを判断するステップと、ドキュメント画像の境界に達したとき、コンピューティングデバイス上で表示されたドキュメントの画像をひずませるステップとを含む、コンピューティングデバイス上でユーザインターフェース機能を実装するための方法を含む。ドキュメントの画像をひずませるステップは、ドキュメント画像を伸張するステップと、ドキュメント画像を縮小するステップと、ドキュメント画像をバウンドするステップとのうちの1つに関与し得る。ドキュメントの画像をひずませるステップは、水平軸、垂直軸、対角軸、および水平軸と垂直軸の両方から選択される軸に沿ってドキュメント画像をひずませるステップを含み得る。ドキュメント画像の画像をひずませるステップは、ディスプレイ画像要素をひずませることなしにディスプレイ画像要素間にスペースを挿入することによってアコーディオン式にドキュメント画像をひずませるステップを含み得る。本態様方法は、ユーザインターフェースデバイスがタッチ表面であり、ドキュメント画像移動ジェスチャー入力が、タッチ表面上で検出されるタッチイベントであるコンピューティングデバイス上に実装され得る。本態様方法は、ユーザインターフェースデバイスがタッチ表面であり、ドキュメント画像移動ジェスチャー入力が、タッチスクリーンディスプレイ上で検出されるタッチイベントであるコンピューティングデバイス上に実装され得る。ドキュメント画像の画像をひずませるステップは、ドキュメントの境界に達した後にタッチイベントが進行する距離に基づいてドキュメント画像をひずませるステップを含み得る。さらなる態様では、本方法は、ユーザ入力がフリックジェスチャーを表す場合、高速パンまたはスクロールアニメーションを開始するステップと、高速パンまたはスクロールアニメーションの端部に達したかどうかを判断するステップと、高速パンまたはスクロールアニメーションの端部に達する前にドキュメント画像の境界に達した場合、ドキュメント画像のディストーションをアニメーション化するステップとをさらに含み得る。ドキュメント画像のディストーションをアニメーション化するそのようなステップは、ドキュメント画像のバウンド移動をアニメーション化するステップ、またはドキュメント画像のバウンド移動と圧縮ディストーションとをアニメーション化するステップを含み得る。さらなる態様では、本方法は、ドキュメント画像をひずませるために適用されるべきディストーション関数を判断するステップと、境界に達した後にドキュメント画像移動ジェスチャー入力がドキュメント画像を移動するであろう距離に基づいて、ディストーション係数を計算するステップとをさらに含み得、ドキュメント画像をひずませるステップは、計算されたディストーション係数に基づいてディスプレイ画像に判断されたディストーション関数を適用するステップを含む。本態様は、ディスプレイ画像ディストーションの最大レベルに達したかどうかを判断するステップと、ディスプレイ画像ディストーションの最大レベルに達した場合、ディスプレイ画像をそれの元の形態に戻すステップとをさらに含み得る。
【０００４】
別の態様は、プロセッサと、プロセッサに結合されたディスプレイと、プロセッサに結合されたユーザインターフェースデバイス(たとえば、タッチ表面、タッチスクリーン、コンピュータマウス、トラックボールなど)とを含むコンピューティングデバイスであり、プロセッサは、様々な態様方法の動作を実行するためのプロセッサ実行可能命令で構成される。
【０００５】
別の態様は、様々な態様方法の動作に関与する機能を達成するための手段を含むコンピューティングデバイスである。
【０００６】
別の態様は、コンピュータに様々な態様方法のプロセスを実行させるように構成されたコンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体である。
【０００７】
本明細書に組み込まれ、本明細書の一部をなす添付の図面は、本発明の例示的な態様を示す。上記の概略的な説明および下記の詳細な説明とともに、それらの図面は、本発明の特徴を説明するのに役立つ。
【図面の簡単な説明】
【０００８】
【図１Ａ】タッチスクリーンディスプレイ上にリストドキュメントを示すポータブルコンピューティングデバイスの正面図である。
【図１Ｂ】一態様による、タッチスクリーンディスプレイ上で指が上方向に動くことによってアクティブにされるリスト端部ディストーション機能を示すポータブルコンピューティングデバイスの正面図である。
【図２Ａ】別の態様による、タッチスクリーンディスプレイ上で指が上方向に動くことによってアクティブにされるディストーション機能を示すポータブルコンピューティングデバイスの正面図である。
【図２Ｂ】別の態様による、タッチスクリーンディスプレイ上で指が上方向に動くことによってアクティブにされるディストーション機能を示すポータブルコンピューティングデバイスの正面図である。
【図３】ディスプレイ画像にディストーション関数を適用するための態様方法のプロセスフロー図である。
【図４】ディスプレイ画像にバウンドディストーション関数を適用するための態様方法のプロセスフロー図である。
【図５】様々な態様とともに使用するのに好適な例示的なモバイルコンピューティングデバイスの構成要素ブロック図である。
【図６】様々な態様とともに使用するのに好適な例示的なポータブルコンピューティングデバイスの構成要素ブロック図である。
【発明を実施するための形態】
【０００９】
様々な態様について添付の図面を参照しながら詳細に説明する。可能な場合はいつでも、同じまたは同様の部分を指すために図面全体にわたって同じ参照番号を使用する。特定の例および実装形態になされる言及は、説明のためであり、本発明の範囲または特許請求の範囲を限定するものではない。
【００１０】
「例示的」という単語は、本明細書では、例、事例、または例示の働きをすることを意味するために使用する。本明細書に「例示的」と記載されたいかなる実施形態も、必ずしも他の実装形態よりも好ましいまたは有利であると解釈されるべきではない。
【００１１】
本明細書で使用する「パーソナル電子デバイス」、「コンピューティングデバイス」および「ポータブルコンピューティングデバイス」という用語は、セルラー電話、個人情報端末(PDA)、パームトップコンピュータ、ノートブックコンピュータ、パーソナルコンピュータ、ワイヤレス電子メール受信機およびセルラー受話器(たとえば、Blackberry(登録商標)およびTreo(登録商標)デバイス)、マルチメディアインターネット対応セルラー電話(たとえば、Blackberry Storm(登録商標))、ならびにプログラマブルプロセッサとメモリと接続型または一体型のタッチ表面あるいは他のポインティングデバイス(たとえば、コンピュータマウス)とを含む同様のパーソナル電子デバイスのうちのいずれか1つまたはすべてを指す。本発明の様々な態様を示すために使用される例示的な態様では、コンピューティングデバイスは、一体型のタッチスクリーンディスプレイを含むセルラー電話である。しかしながら、この態様は、様々な態様の1つの例示的な実装形態として存在するにすぎず、したがって、特許請求の範囲に記載の主題の他の可能な実装形態を除外するものではない。
【００１２】
本明細書で使用する「タッチスクリーン」は、関連するイメージディスプレイをもつタッチ感知入力デバイスまたはタッチセンシティブ入力デバイスである。本明細書で使用する「タッチパッド」は、関連するイメージディスプレイをもたないタッチ感知入力デバイスである。タッチパッドは、たとえば、イメージディスプレイエリアの外部にある、コンピューティングデバイスの任意の表面上に実装され得る。タッチスクリーンおよびタッチパッドは、本明細書では総称的に「タッチ表面」と呼ぶ。タッチ表面は、タッチスクリーンディスプレイなど、コンピューティングデバイスの一体部分であり得るか、あるいはワイヤードまたはワイヤレスデータリンクによってコンピューティングデバイスに結合され得る、タッチパッドなど、別個のモジュールであり得る。タッチスクリーン、タッチパッドおよびタッチ表面という用語は、以下で互換的に使用され得る。
【００１３】
本明細書で使用する「タッチイベント」は、タッチのロケーションまたは相対ロケーションに関する情報を含み得る、タッチ表面上で検出されるユーザ入力を指す。たとえば、タッチスクリーンまたはタッチパッドユーザインターフェースデバイス上で、タッチイベントは、ユーザがデバイスにタッチしたことの検出を指し、タッチされているデバイス上のロケーションに関する情報を含み得る。
【００１４】
本明細書で使用する「ドキュメント」または「デジタルドキュメント」は、少なくともその一部分がコンピューティングデバイスのディスプレイ上でドキュメント画像として表示され得る様々なデジタルコンテンツのいずれかを指す。「ドキュメント」という用語に包含されるデジタルドキュメントの例には、限定はしないが、デジタル写真ファイル(たとえば、.tif、.JPG)、ドキュメントファイル(たとえば、.pdf、.txtなど)、ワードプロセシングファイル(たとえば、.doc、.rtfなど)、グラフィックスおよび描画ファイル(たとえば、.vsd)、スプレッドシートファイル(たとえば、.xls)、データベースファイル(たとえば、.xml、.sqlなど)、連絡先データベース(たとえば、セルラー電話上で維持されるアドレス帳アプリケーションファイル)、ファイルリスティング、音楽ライブラリリスティング、および同様のデジタルリストがある。したがって、「ドキュメント」への言及は、特許請求の範囲を書面によるドキュメントに限定するものではないが、様々な態様に合わせて表示され得るすべての形態のデジタル情報を包含するものである。
【００１５】
本明細書で使用する「ドキュメント画像」は、コンピューティングデバイスがコンピューティングデバイスのディスプレイ上での提示のためにドキュメントコンテンツに基づいて生成し得る画像を指す。ドキュメント画像の例には、限定はしないが、デジタル写真、テキストまたはワードプロセシングドキュメントの表示された部分(すなわち、メタデータおよびフォーマッティングデータを除く)、データベースまたはリストファイル中に含まれている情報を提示する表示されたグラフィックスおよびウィジェット、拡張されたメニューリスト(たとえば、音楽リスティング)、ならびにスプレッドシートファイルから生成されるディスプレイがある。
【００１６】
本明細書で使用する「ドキュメント境界」は、ドキュメント画像がそれを越えて拡大することができないドキュメント内の端部、エッジまたは境界を指す。ドキュメント境界の例には、限定はしないが、リスト、データベースまたはテキストドキュメントの始端、リスト、データベースまたはテキストドキュメントの終端、デジタル写真の各エッジ、ならびにデータベースレコード中の最初のおよび最後のエントリがある。
【００１７】
ワードプロセシングドキュメント、写真画像または連絡先のリストなど、ドキュメントのコンテンツ全体の画像は、コンピューティングデバイスのタッチスクリーンディスプレイに完全に収まらないことがあるので、たいていのグラフィカルユーザインターフェースは、ドキュメント画像をデバイスビューウィンドウ内で移動することを可能にするために、スクロールおよびパンニング機能を提供する。ユーザがタッチスクリーンディスプレイ内でドキュメント画像を移動することを可能にするために、コンピューティングデバイスは、ディスプレイ上のタッチジェスチャーの追跡を検出し、タッチジェスチャーの方向に応答してビューウィンドウに対してドキュメント画像を移動するように構成され得る。タッチスクリーンコンピューティングデバイス上で可能な典型的なドキュメント制御ジェスチャーは、ドラッグ、パン、スクロール、および「フリック」ジェスチャーを含む。ドラッグ、パンおよびスクロールジェスチャーでは、ユーザは、タッチスクリーンにタッチし、タッチしている指を上げることなく所望の移動方向に指を動かす。たとえば、コンテンツがコンピューティングデバイスタッチスクリーンディスプレイフレームに収まらない連絡先リストのコンテンツ全体を閲覧するために、ユーザは、連絡先のリストをスクロールダウンするために、タッチスクリーン上でスクロールジェスチャーを追跡し得る。スクロール機能は、ユーザがコンピューティングデバイスディスプレイフレームにコンテンツリストの異なる部分を入れ、一度に1つの部分を表示することを可能にする。フリックジェスチャーでは、ユーザは、タッチ表面(たとえば、タッチスクリーン)にタッチし、タッチスクリーン上で指を上/下または左/右に高速に動かし、コンテンツを特定の方向にはじく(flick)のと同じ動きでその指を移動させる。また、フリックジェスチャー(またはフリックジェスチャーと同等のユーザ入力)は、コンピュータマウスのスクロールホイールの高速スピンまたはトラックボールの高速スピンによってなど、他のタイプのユーザ入力デバイス上で達成され得ることを諒解されたい。したがって、フリックジェスチャーに対する言及は、タッチ表面(たとえば、タッチスクリーン)上で実行されるフリックジェスチャーに必ずしも限定されない。
【００１８】
コンピュータディスプレイ上のスクロールバーなどのディスプレイインジケータを示すことによってドキュメント画像の移動および境界を追跡する標準的なパーソナルコンピュータとは異なり、多くのポータブルコンピューティングデバイスディスプレイは、そのようなディスプレイインジケータを含まない。ポータブルコンピューティングデバイスビューア中にディスプレイインジケータがないことで、ディスプレイ画像のより多くが示され得る貴重なディスプレイ「実装面積(real estate)」を解放する。しかしながら、大きいドキュメント(たとえば、長い連絡先リスト)をナビゲートすることを試みているポータブルコンピューティングデバイスユーザは、しばしばドキュメントの境界(たとえば、リストの最上位または最後)に気づかない。たとえば、タッチスクリーンディスプレイ上の一連のスクロールジェスチャーを追跡することによって電子メールのリストをスクロールダウンするときに、ユーザはリストがどこで開始または終了するかを見分けることができないことがある。ユーザが端部境界に達したことを知らないまま電子メールリストの端部に達したとき、ユーザはリストをスクロールし続けるためにスクロールジェスチャーを追跡し続け得る。リストの端部に達しているためにリストがスクロールジェスチャーに応答することができないとき、ユーザは、コンピューティングデバイスがフリーズしたのではないかと疑問に思うことがある。コンピューティングデバイスが適切に動作していることを確認する唯一の方法は、他の方向にスクロールすることであるが、これは不要な動きである。リストの端部またはドキュメントの境界におけるそのようなあいまいな動作は、ユーザにフラストレーションおよび混乱を引き起こし得る。
【００１９】
様々な態様方法は、ドラッグ、パン、スクロールおよびフリックジェスチャーがドキュメントの境界を越えてドキュメントを移動させるであろうときにコンピューティングデバイスユーザに通知するために視覚キューまたは信号を与えるユーザインターフェース画像ディストーション機能を提供する。この視覚キューは、あたかもユーザのジェスチャーが物理的ドキュメントをひずませているかのような画像の直観的なディストーションを含む。コンピューティングデバイスは、ドキュメント境界に達し、ユーザジェスチャーが境界を越えてドキュメントを移動させようと試みるときを検出し、ユーザジェスチャーに合わせてディスプレイ画像をひずませるように構成され得る。たとえば、ユーザがタッチスクリーンディスプレイ上でスクロールジェスチャーを追跡しながら電子メールリストの端部に達したとき、コンピューティングデバイスは、そのリストがリンクされたアイテムのプラスチックシートまたはアコーディオンスタック(accordion stack)であるかのように、最後の電子メールアイテムの表示された画像をひずませ得る。したがって、様々な態様方法は、貴重なディスプレイの「実装面積」を占有するスクロールバーインジケータを表示する必要なしに、ユーザのドラッグ、パン、スクロールおよびフリックジェスチャーがドキュメント境界に達したとき、ユーザに直観的な信号を与える。
【００２０】
様々な態様について、タッチスクリーンディスプレイを装備したコンピューティングデバイス上で実装される例を参照しながら説明するが、態様および特許請求の範囲はそのような実装形態に限定されない。様々な態様は、ディスプレイウィンドウのエッジを越えて拡大するドキュメント画像を表示し、ユーザ入力デバイス(たとえば、タッチ表面、コンピュータマウス、トラックボールなど)から、ディスプレイウィンドウに対してドキュメント画像を移動させるためのユーザ入力を受信するコンピューティングデバイス中に実装され得る。様々な態様は、スクロールバーインジケータの必要をなくすのに十分な直観的な視覚キューを与え、それによって、ドキュメント画像を表示するために利用可能なディスプレイ実装面積を増加させる。また、たとえば、ドラッグ、パン、スクロールまたはフリックなどのドキュメント画像移動ジェスチャーは、よく知られているように従来のコンピュータマウスまたはトラックボールを使用して達成され得る。したがって、タッチスクリーンユーザインターフェースデバイス上で実行するドラッグ、パン、スクロールおよびフリックジェスチャーの例は、態様の特に有利な実装形態を指し、特許請求の範囲をタッチスクリーンユーザインターフェースデバイスに限定するものではない。
【００２１】
様々な態様では、画像ディストーション機能は、グラフィカルユーザインターフェース(GUI)機能の一部として、またはアプリケーション(たとえば、連絡先リスト、または写真ビューアアプリケーション)の一部として有効化され得る。GUI内の画像ディストーション機能の自動アクティブ化は、アプリケーションの一部として与えられ得る。また、画像ディストーション機能は、GUIまたはアプリケーション内でデフォルト機能として与えられ得る。
【００２２】
いくつかの態様では、画像ディストーション機能は、手動で有効化され得る。ユーザは、ボタンを押すことによって、またはGUIディスプレイ上のアイコンをアクティブにすることによって手動で画像ディストーション機能を選択し、有効化し/アクティブにし得る。たとえば、機能のアクティブ化は、画像ディストーション機能を起動するためにユーザが(たとえば、押下またはクリックすることによって)アクティブにし得るソフトキーに割り当てられ得る。別の例として、画像ディストーション機能は、ユーザコマンドによってアクティブにされ得る。たとえば、画像ディストーション機能を有効化するために、ユーザは「リスト端部信号をアクティブにする」などのボイスコマンドを使用し得る。アクティブにされると、画像ディストーション機能は本明細書で説明する方法で使用され得る。
【００２３】
画像ディストーション機能は、コンピューティングデバイスタッチ表面上で実装される任意の形態のユーザタッチジェスチャーに応答し得る。タッチスクリーンが概してディスプレイ画像上に重畳されるので、特に有用な実装形態では、タッチ表面はタッチスクリーンディスプレイであり、したがって、ユーザが指のタッチを用いてディスプレイ画像と対話することを可能にする。そのようなアプリケーションでは、ユーザは、指でタッチスクリーンディスプレイにタッチし、前後または上下に経路を追跡することによって、画像と対話する。
【００２４】
様々な態様は、画像を縮小すること、伸張すること、またはバウンドすることによってなど、様々なタイプのディストーションを使用してディスプレイ画像をひずませ得る。たとえば、コンピューティングデバイスは、コンテンツを一様に伸張すること(「平坦伸張(flat stretch)」と呼ばれる)、コンテンツの部分を対数的に伸張すること(すなわち、「部分伸張(partial stretch)」と呼ばれる)、直角な次元に沿って画像の一部分を縮小しながら画像の一部分を一方向に沿って伸張すること(「局部伸張(local stretch)」と呼ばれる)、または固定サイズアイテム間に空きスペースを作成すること(「アコーディオン伸張(accordion stretch)」と呼ばれる)によって、ディスプレイ画像をひずませ得る。
【００２５】
図1Aおよび図1Bに、連絡先リストの端部に達していることをユーザに通知するために、一様または平坦な伸張ディストーションがリストドキュメントに適用されるリスト端部ディストーション機能を示す。図1Aに示すように、ユーザは、破線矢印106によって示すようにタッチスクリーン表面104上で指108を追跡することによって、連絡先のリストをスクロールし得る。破線矢印106は、ここでは、追跡されるジェスチャーの方向を示すためにのみ示される。コンピューティングデバイス100のディスプレイ102は、ユーザが連絡先リストの境界を判断することを可能にするためのディスプレイインジケータを含まないので、ユーザは、いつリストの端部に達しているかを知る方法がないことがある。
【００２６】
図1Bに示すように、コンピューティングデバイス100は、さらなるスクロール(または他の)ユーザジェスチャーに応答してディスプレイ画像をひずませることによって、リストの端部に達したことをユーザに通知するように構成され得る。図示の例では、コンピューティングデバイス100は、連絡先情報が印刷された弾性素材をユーザが伸張しているかのようにスクロールジェスチャーの方向に沿って一様にディスプレイ画像を伸張する一様ディストーションをディスプレイに適用するように構成される。連絡先リストのそのような視覚ディストーションは、リストの端部に達したこと、およびリストがさらにスクロールしていなくてもコンピューティングデバイスが適切に動作していることをユーザに直観的に通知する。
【００２７】
一様または平坦な伸張ディストーションを適用するために、コンピューティングデバイス100は、ディスプレイ画像を一様にスケーリングし得る。したがって、一様または平坦な伸張ディストーション係数は、ユーザタッチジェスチャーの方向に沿ってディスプレイ画像に適用され得る。図1Bに示すように、ドキュメントの端部または境界を越えてドキュメント画像を移動するかまたはスクロールすることを試みるユーザ入力ジェスチャーは、スクロールの方向に沿ってドキュメントを伸張し得る。また、ディストーションの他の形態が適用され得る。たとえば、ドキュメント境界を越えて移動またはスクロールしようと試みるユーザ入力ジェスチャーにより、弾性織物に生じ得るような、ユーザタッチジェスチャーの軸に沿った伸張と、直角な方向に沿ったピンチまたは収縮とを生じ得る。さらなる態様では、ユーザ入力ジェスチャーがタッチスクリーンディスプレイ上で水平方向にドキュメント画像を移動させようと試みる場合には、画像はそれの垂直軸(すなわち、それの高さ)に沿って伸張され、ユーザがタッチスクリーンディスプレイ上で垂直方向にドキュメントを移動させようと試みる場合には、画像はそれの水平軸(すなわち、それの幅)に沿って伸張され得るように、ディストーションは反対方向に適用され得る。さらなる態様では、ユーザ入力ジェスチャーが対角スクロールジェスチャーで(たとえば、タッチスクリーンディスプレイのコーナーへ)ドキュメントを移動させようと試みる場合、画像は、追跡されるタッチジェスチャーの角度に比例する水平軸と垂直軸の両方に沿って伸張され得る。
【００２８】
一態様では、ディスプレイ画像が伸張される程度は、タッチスクリーン上のタッチジェスチャーなどのユーザの入力ジェスチャーによって、遭遇した境界を越えてドキュメント画像に与えられるであろう移動に基づいて計算されるディストーション係数によって判断される。コンピューティングデバイス100は、境界に達すると、ユーザ入力ジェスチャー(たとえば、タッチイベント)がドキュメントを移動させるであろう距離に基づいてディストーション係数を計算するように構成され得る。たとえば、図1Bでは、コンピュータデバイス100は、連絡先リストの端部を検出し、連絡先リストの端部に達するとユーザの指108がタッチスクリーン104上で動く距離に基づいて、連絡先リストを伸張し得る。ユーザの指108がタッチスクリーン104上でより遠くに動くほど、ディストーション係数はより大きくなり、連絡先リスト画像はより多くひずませられる。ユーザがタッチイベントを終了したとき、伸張されたディスプレイ画像はそれの元の形態に自動的に戻る。
【００２９】
ディストーション係数は、ディスプレイ画像を比例してひずませるために適用され得る。たとえば、ディスプレイ画像に伸張効果を適用するとき、コンピューティングデバイス100は、ドキュメント境界に達した後にタッチイベントがタッチスクリーン104上で進行する距離など、ドキュメント画像移動ジェスチャー入力がドキュメント境界を越えてドキュメント画像を移動させる距離に比例してディスプレイ画像をひずませるように構成され得る。したがって、タッチイベントによって進行される距離が長ければ長いほど、ディスプレイ画像のディストーションはより激しくなる。
【００３０】
一態様では、コンピューティングデバイス100は、ディスプレイ画像がひずませられ得る程度を限定するように構成され得る。ディスプレイ画像がそれの最大ひずみ形状に達すると、さらなるディストーションが適用されないことがある。また、ユーザがタッチイベントを終了したとき、伸張されたディスプレイ画像はそれの元の形態に自動的に戻り得る。
【００３１】
ディスプレイ画像の元の形状へのそれらの自動復帰は、異なる方法で行われ得る。たとえば、自動復帰は、ディストーションのアニメーション化された反転、またはアニメーション化されたアンダーダンピング(under-damping)であり得る。アニメーション化された反転では、コンピューティングデバイス100は、伸張を元に戻すかのように画像の元の形状への復帰をアニメーション化するように構成され得る。
【００３２】
アニメーション化されたアンダーダンピング効果は、弾性系(elastic system)の動きを反映する。本質的に、弾性系が張力から解放されると、弾性系は、しばしば、それらの元の形状に達したときに止まらず、代わりに、それらの元の状態に安定する前に、元の形状の周りで前後にバウンドを続ける。たとえば、ゴムバンドが伸張され、解放されたとき、バンドは、それの静止状態に近づくが、すぐにはそれの元の形状にならない。ゴムバンドが位置エネルギーを解放するにつれて、バンドは、それの元の形態に戻る前に、数回の間、最初に収縮し、再び伸張し得る。コンピューティングデバイス100は、実世界物体と対話する知覚をユーザに与えるために、そのような自然効果を模するように画像ディストーション遷移をアニメーション化するように構成され得る。
【００３３】
上述のように、様々な態様で適用され得る画像ディストーションの1つのタイプは、要素自体の形状を変更することなしに画像要素間にスペースを挿入するアコーディオン伸張である。この態様を図2Aおよび図2Bに示す。アコーディオン伸張ディストーションは、ドキュメント画像のコンテンツ要素(たとえば、グラフィカルウィジェット)間にある伸張する素材のアピアランスを生じる。固定サイズ画像要素間の伸張性のある「グー(goo)」、コード、またはゴム素材のアピアランスは、画像の実際のコンテンツをひずませることなしに全画像を伸張するアピアランスを与え得る。
【００３４】
図2Aに、ユーザが指108でスクロールジェスチャーを追跡することによってブラウズされている連絡先リストを示す。ユーザは、指108を使用してコンピューティングデバイス100のタッチスクリーン表面104にタッチすることと、破線矢印106に沿って上向きスクロールジェスチャーを追跡することとによって、連絡先リストを上方に移動させ得る。図1Aおよび図1Bに示すコンピューティングデバイス100と同様に、ディスプレイ102は、連絡先リストの境界についてユーザに通知するためのスクロールバーインジケータを含まない。したがって、ユーザは、いつリストの端部に達したかを知らないことがある。
【００３５】
図2Bに、連絡先リストの下端部に達したとき、ディスプレイのアコーディオン伸張画像ディストーションの動きを示す。図2Bに、アコーディオン伸張ディストーションがどのように連絡先リストディスプレイ要素(すなわち、連絡先名、写真および電話番号)の形状を変更しないかを示す。代わりに、画像は、連絡先データディスプレイ要素間にあるグー112を伸張するように見える。
【００３６】
また、他の伸張効果は、図1および図2に関して上記で説明したのと同じ方法で適用され得る。一態様では、ドキュメント画像の境界に達したときにディスプレイ画像のある部分のみが伸張されるが、残りは変化しないように、コンピューティングデバイス100は、ディスプレイ画像に部分伸張効果を適用するように構成され得る。たとえば、伸張されるディスプレイ画像の部分は、指108のタッチロケーションとドキュメント画像の達した境界との間にある部分であり得る。
【００３７】
さらなる態様では、ディスプレイ画像は、局部/対数伸張方法を使用して伸張されるように見え得る。この伸張方式では、ディスプレイ画像は、伸張されている部分が、伸張されているように見えないドキュメント画像の部分にスムーズに遷移することを可能にするために対数的に伸張されるように見え得る。
【００３８】
さらなる態様では、ディスプレイ画像は、それのコンテンツを局所的に圧縮することによってひずませられ得る。このディストーション方式は、たとえば、ドキュメント画像全体がディスプレイフレーム内に収まるときに適用され得る。ユーザがドキュメント画像を一方向に移動させようと試みるとき、その移動の方向のドキュメント画像の側は圧縮されているように見え得るが、ドキュメント画像のもう一方の反対側は伸張されているように見え得る。たとえば、連絡先のリスト全体はコンピューティングデバイス100のディスプレイ102内に収まり得る。ユーザがタッチスクリーン表面104上で下向きスクロールジェスチャーを追跡することによって連絡先リストを下方に移動させようと試みる場合、指108のタッチロケーションの下に位置する連絡先リストのコンテンツは圧縮され得るが、指108の上のコンテンツは伸張され得る。
【００３９】
さらなる態様では、フリックジェスチャーに続いて起こり得るような高速スクロール中にドキュメント境界に達したとき、ドキュメント画像境界に達していることをユーザに通知するために、画像はバウンド効果でひずませられ得る。ユーザが、ドキュメント(たとえば、リスト)のコンテンツにわたって高速に移動させるか、またはより少ないスクロールジェスチャーを使用して大きい画像をパンするためのクイックジェスチャーを追跡するときに、一般に高速スクロールが起こる。概して、スクロールの長さはフリックジェスチャーの速度および/または距離に依存する。たとえば、コンピューティングデバイス100は、タッチスクリーン表面104上で追跡されるフリックジェスチャーの速度を判断し、判断された速度に基づいて、スクロールされるべきリスト要素の数、または画像がディスプレイビューウィンドウに対して移動すべきピクセルなど、スクロールまたはパンのためのエンドポイントを計算するように構成され得る。高速スクロールジェスチャーによって、計算されたエンドポイントに達する前にリストの端部または画像の境界に達することになる。フリックジェスチャーがリストの端部またはドキュメントの境界に達したことをユーザに通知するために、コンピューティングデバイス100は、境界に達したことをユーザに通知するためにディスプレイ内で画像をバウンドするように構成され得る。バウンド効果では、表示された画像は、一方向で限界に達し、少し方向反転され、次いでドキュメントの端部上で安定する(たとえば、リスト中の最後のアイテム、または遭遇した境界を包含する画像の部分を表示する)前に再び方向反転されるように見え得る。
【００４０】
また、バウンド効果では、コンピューティングデバイス100は、図1および図2に関して上記で説明した伸張または縮小効果を適用し得る。たとえば、高速スクロール中にドキュメント画像の境界に達し、バウンド効果が適用されると、ドキュメント画像の移動の方向に伸張効果も適用され得る。したがって、ドキュメント画像がディスプレイに対して下方に移動している場合、下部境界に達したとき、ドキュメント画像は、床に当たるボールのように圧縮し、小さい距離をリバウンドし、静止状態になる前にそれの元の形状に戻り得る(すなわち、バウンド効果をシミュレートする)。また、他の態様では、縮小効果、および伸張効果と縮小効果との組合せが、バウンド効果をシミュレートするために使用され得る。リバウンドおよび伸張サイクルの数は、所望のユーザエクスペリエンスを達成するようにアプリケーション開発者によって構成され得る。
【００４１】
典型的なコンピューティングデバイスでは、プロセッサは、数ミリ秒ごとになど、周期的にタッチスクリーン(または他のタイプのタッチ表面)からタッチイベント更新を受信し得る。ユーザがタッチスクリーンにタッチすると、プロセッサは、タッチスクリーンからの次の更新において「タッチダウン(touch down)」イベント通知を受信し、「タッチアップ(touch up)」イベント通知が受信されるまでタッチスクリーンからの各後続の更新においてタッチロケーション通知を受信し得る。タッチスクリーンによって与えられるタッチロケーション情報が極めて頻繁に生じるので、タッチスクリーンの表面上のユーザのタッチの移動は、時間とともに変化する一連のタッチロケーションとしてプロセッサによって検出される。
【００４２】
図3に、ドキュメント境界を越えたスクロールイベントに応答して、表示された画像にディストーション関数を適用するための態様方法300のプロセスフローを示す。方法300では、ブロック302において、コンピューティングデバイス100は、タッチ表面上のタッチイベントまたは別の形態のユーザインターフェースデバイス(たとえば、コンピュータマウスまたはトラックボール)上のユーザ入力を検出し、判断ブロック304において、タッチイベントがタッチアップイベント(またはコンピュータマウスボタンのリリース)であったかどうかを判断するように構成される。タッチアップイベントが検出された場合(すなわち、判断ブロック304=「はい」)、ブロック306において、コンピューティングデバイス100はディストーション関数を終了する。タッチイベントがタッチアップイベントでなかった場合(すなわち、判断ブロック304=「いいえ」)、ブロック308において、コンピューティングデバイス100はタッチイベント(または他のタイプのユーザインターフェース入力イベント)に基づいて生じるべきドキュメント画像移動を判断する。これは、ブロック302において受信された現在のタッチロケーション(または他のタイプのユーザインターフェース入力イベント)を、メモリに記憶され得る前のタッチロケーション(または他のタイプのユーザインターフェース入力イベント)と比較することによって達成され得る。タッチロケーションが変化した場合、これはドラッグ、スクロール、またはフリックジェスチャーが、表示されたドキュメント中の移動(たとえば、表示されたリストのスクロール)を生じるように実装されていることを示し得る。判断ブロック310において、コンピューティングデバイス100は、表示されたドキュメント画像の境界に達しているかどうかを判断する。ドキュメント画像の境界に達していない場合(すなわち、判断ブロック310=「いいえ」)、ブロック312において、コンピューティングデバイス100は、判断されたドキュメント移動に関連する通常のグラフィカルユーザインターフェース(GUI)機能を実行し、ブロック302に戻り、次のタッチスクリーンタッチロケーションイベント(または他のタイプのユーザインターフェース入力イベント)を受信する。たとえば、ドキュメント画像の境界に達しず、ユー
ザがスクロールダウン機能を入力している場合、ユーザの指がタッチスクリーンに接触したままであり、動き続ける限り、コンピューティングデバイス100はドキュメント画像をスクロールダウンし続ける。
【００４３】
ドキュメント画像の境界に達すると(すなわち、判断ブロック310=「はい」)、コンピューティングデバイス100は、表示された画像に適用されるべきディストーションを判断し、適切な場合、画像をひずませる際に使用されるべきディストーション係数を計算する。表示された画像に適用されるべき特定のディストーションは、アプリケーション、ドキュメントの性質、ユーザ設定および他の情報に依存し得る。上記で説明したように、多種多様なディストーション関数は、様々な態様に従ってドキュメントに適用され得る。したがって、アプリケーション開発者は、特定のタイプのドキュメントについて特定のディストーション関数を指定し得る。また、ユーザは、それらのユーザ設定の一部として特定のディストーション関数を選択することを可能にされ得る。したがって、一部のユーザは、リストまたはドキュメント境界にいつ達したかを判断することがより容易であるように、より大きいディストーションを画像に適用することを選好し得るが、一部のユーザは、ディストーションをほとんどまたはまったく適用しないことを選好し得る。適用されるべきディストーションの量は、ドキュメントの境界に達した後にユーザ入力ジェスチャー(たとえば、タッチイベント)がドキュメント画像を移動させるであろう距離、または入力ジェスチャー(たとえば、タッチイベント)がそれの境界を越えてドキュメントを移動させるであろう距離に基づいて計算され得るディストーション係数によって判断され得る。したがって、タッチイベント(または他のタイプのユーザ入力)が長ければ長いほど、画像に適用されるディストーションは大きくなる。ブロック314において、コンピューティングデバイス100は、計算されたディストーション係数に従ってディスプレイ画像に、判断されたディストーション関数を適用する。たとえば、ユーザが上向きスクロールジェスチャーを追跡している間に連絡先リストの端部に達した場合、コンピューティングデバイス100は、ドキュメント画像の端部に達したことをユーザに通知するために、伸張効果など、ディストーション関数を適用し得る。
【００４４】
ブロック302において、コンピューティングデバイスは、各タッチスクリーン更新とともにタッチイベント(またはタッチコンピュータマウスボタン押下など)を検出し続ける。したがって、表示された画像に適用される画像ディストーションの程度は、タッチスクリーン上のユーザの指のロケーションなど、ユーザ入力ジェスチャーに依存し続ける。ユーザがタッチスクリーン(またはタッチ表面、コンピュータマウスなど)から指を持ち上げることなく後方にスクロールする(すなわち、ドキュメント境界から離れる)場合、ブロック314において表示された画像に適用されるディストーションの量は低減される。ユーザがタッチスクリーン(またはタッチ表面、コンピュータマウスなど)から指を持ち上げた場合、ブロック302においてタッチアップイベントを検出し、判断ブロック304においてタッチアップイベントを判断し、ブロック306においてディストーション関数の終了を促す。ディストーション関数を終了することは、表示された画像が通常に戻ることを可能にする。一態様では、ブロック306においてディストーション関数を終了することは、ディストーションのリリースをアニメーション化することを含み得る。
【００４５】
随意の態様では、随意の判断ブロック316において、コンピューティングデバイス100は、計算されたディストーション係数と判断されたディストーション関数とによって、ドキュメント画像の最大ディストーションレベルがいつ定義されたかを判断するように構成される。画像が最大にひずませられた後にユーザがタッチジェスチャー(または他のタイプのユーザインターフェース入力)を続けた場合、これは、ユーザが、画像ディストーションが適切でない異なるタイプのGUI入力(すなわち、ドラッグ、スクロールまたはフリックジェスチャー以外のジェスチャー)を実際に実行していることを示し得る。最大ディストーションレベルは、コンピューティングデバイス100が、ドキュメント画像がひずませられ得る程度を判断することを可能にするために、各ドキュメント画像に実行され得および/または割り当てられ得る他のタイプのGUIタッチジェスチャー(または他のタイプのユーザインターフェース入力)に依存する。たとえば、境界に達すると、コンピューティングデバイス100が、線形スクロールジェスチャーの最初の3センチメートルに基づいて表示された電子メールアイテムのみをひずませ得るように、電子メールリストは、最大ディストーションレベル3センチメートルを有し得る。タッチイベント(または他のタイプのユーザインターフェース入力)が、指定された最大ディストーションレベルよりも多く生じる場合、コンピューティングデバイス100は、別のタイプのタッチジェスチャーにとって適切であるように画像をそれの元の形態に戻すように構成され得る。画像の最大ディストーションに達した場合(すなわち、随意の判断ブロック316=「はい」)、随意のブロック318において、コンピューティングデバイス100は、ブロック302において次のタッチイベントを受信する前にディスプレイ画像をそれの元の形態に戻す。最大ディストーションレベルに達しない場合(すなわち、随意の判断ブロック316=「いいえ」)、コンピューティングデバイス100は現在のディストーションレベルを続け、ブロック302において次のタッチイベントを受信する。
【００４６】
図4に、フリックジェスチャーに応答して起こり得る、高速スクロールまたはパン中にディストーション関数を適用するための別の態様方法400のプロセスフローを示す。方法400では、ブロック302において、コンピューティングデバイス100は、タッチイベントを検出し、判断ブロック404において、追跡されたジェスチャーがフリックジェスチャーであるかどうかを判断する。ジェスチャーがフリックジェスチャーでない場合(すなわち、判断ブロック404=「いいえ」)、コンピューティングデバイス100は、判断ブロック304(図3)において、そのタッチイベント(または他のタイプのユーザインターフェース入力)がタッチアップイベントであったかどうかを判断することによって、図3を参照しながら上記で説明した方法300の処理を進める。ジェスチャーがフリックジェスチャーであると判断された場合(すなわち、判断ブロック404=「はい」)、ブロック406において、コンピューティングデバイス100は、ドキュメントがどの程度スクロールまたはパンするかを判断する。フリックジェスチャーに基づいてドキュメント移動またはリストスクロールの距離を計算するための方法はよく知られており、方法400において使用され得る。
【００４７】
コンピューティングデバイスは、ディスプレイビューウィンドウの下にドキュメントをパンすること、または要素のリストを高速にスクロールすることによってなど、フリックジェスチャーに応答してドキュメントの移動をアニメーション化するように構成され得る。このアニメーションは、次のディスプレイ増分(たとえば、リスト中の次のアイテム)を連続的に判断することと、高速パンまたはスクロールが予測されたエンドポイントに達するまで、その増分を含むディスプレイを生成することとによって達成され得る。次のディスプレイ増分の判断は、ディスプレイが最初は高速に見えるが、高速パンまたはスクロールの端部に達するまで時間とともに減速するように、減速ファクタを考慮に入れ得る。しかしながら、ディスプレイ中にスクロールバーを含まない従来のコンピューティングデバイスでは、ユーザは、いつリスト端部またはドキュメント境界に達したかに気づかないことがある。
【００４８】
高速なドキュメント移動またはスクロールがドキュメント端部または境界に遭遇したという視覚キューをユーザに与えるために、コンピューティングデバイスは、移動をアニメーション化するときにドキュメントをテストし得る。たとえば、判断ブロック408において、コンピューティングデバイス100は、高速パンまたはスクロールの端部に達しているかどうか(すなわち、ドキュメントが、フリックジェスチャーによって示される移動の端部に入ったこと)を判断する。パンまたはスクロールの端部に達している場合(すなわち、判断ブロック408=「はい」)、コンピューティングデバイス100は、ブロック302において次のタッチイベントを検出することによって通常の処理を続ける。パンまたはスクロールの端部に達しなかった場合(すなわち、判断ブロック408=「いいえ」)、これはアニメーションが続くべきであることを意味するので、ブロック410において、コンピューティングデバイス100は次のディスプレイ増分を判断する。上述のように、次のディスプレイ増分の判断は、アニメーションにおける減速効果を課するフリックジェスチャーおよびシミュレートされたフリクションによって与えられる速度などのファクタに基づいて、パンまたはスクロールの速度を判断することを含み得る。次のディスプレイ増分が判断されると、判断ブロック414において、コンピューティングデバイス100は、そのディスプレイ増分でドキュメントの境界に達するかどうかを判断する。たとえば、コンピューティングデバイス100は、次のディスプレイ増分が電子メールリストの端部を含むかどうかを判断し得る。ドキュメントの境界に達しなかった場合(すなわち、判断ブロック414=「いいえ」)、ブロック412において、コンピューティングデバイス100は、次のディスプレイ増分を示すディスプレイを生成し、ブロック408に戻り、高速パンまたはスクロールの端部に達したかどうかを再び判断する。
【００４９】
次のディスプレイ増分でドキュメントの境界に達した場合(すなわち、判断ブロック414=「はい」)、ブロック313において、コンピューティングデバイス100は、バウンドディストーションアニメーションにおいてディスプレイ画像に適用されるべきディストーション係数を計算する。ディストーション係数は、境界に遭遇したときの高速パンまたはスクロールの速度に基づき得る。したがって、ドキュメントが高速に移動するようにアニメーション化されるときに高速なフリックジェスチャーの直後に境界に遭遇した場合、計算されたディストーション係数はより大きくなり得、したがって、画像ディストーションの量(たとえば、伸張する程度またはバウンドの量)は、ドキュメントがゆっくり移動しているように見えるときに高速パンまたはスクロールアニメーションの端部に向かって境界に遭遇した場合よりも激しくなり得る。上述のように、バウンドディストーションアニメーションは、1つまたは複数のバウンドと、画像の伸張または圧縮の1つまたは複数のサイクルとを含み得る。ブロック416において、コンピューティングデバイス100は、計算されたディストーション係数に従ってディスプレイ画像にバウンドディストーションアニメーションを適用する。バウンドアニメーションが終了すると、コンピューティングデバイスは、ブロック302において次のタッチイベントを受信することによって通常のGUI機能に戻る。
【００５０】
当業者によって諒解され得るように、図3および図4に示す方法300および400は、様々な態様の画像ディストーション関数がどのようにコンピューティングデバイスにおいて実装され得るかの例を表す。任意の数のプロセスの変形体が、特許請求の範囲から逸脱することなく実装され得る。
【００５１】
上記で説明した態様は、様々なコンピューティングデバイス100のいずれかの上に実装され得る。一般に、そのようなコンピューティングデバイス100は、図5に示す構成要素を共有する。たとえば、コンピューティングデバイス100は、内部メモリ192に結合されたプロセッサ191、およびタッチ表面入力デバイス104またはディスプレイ102を含み得る。タッチ表面入力デバイス104は、抵抗性感知(resistive-sensing)タッチスクリーン、容量性感知(capacitive-sensing)タッチスクリーン、赤外線感知タッチスクリーン、音響/圧電感知タッチスクリーンなど、任意のタイプのタッチスクリーンディスプレイ101とすることができる。様々な態様は、いかなる特定のタイプのタッチスクリーンディスプレイ101またはタッチパッド技術にも限定されない。さらに、コンピューティングデバイス100は、プロセッサ191に結合されたワイヤレスデータリンクおよび/またはセルラー電話トランシーバ195に接続される、電磁放射を送信および受信するためのアンテナ194を有し得る。タッチスクリーン入力デバイス104を含まない(したがって一般に、ディスプレイ102を有しない)コンピューティングデバイス100は、通常、キーパッド196または小型キーボード、およびポインティングデバイスとして働くメニュー選択キーまたはロッカースイッチ197を含む。プロセッサ191は、様々な態様がまた適用され得る外部タッチパッドまたはタッチ表面にプロセッサ191を接続するための、ユニバーサルシリアルバス(USB)またはFireWire(登録商標)コネクタソケットなど、ワイヤードネットワークインターフェース198にさらに接続され得る。
【００５２】
いくつかの実装形態では、タッチスクリーンディスプレイ104またはディスプレイ102の外部の電子デバイス100のエリアにタッチ表面を設けることができる。たとえば、キーパッド196は、埋設された容量性タッチセンサをもつタッチ表面を含むことができる。他の実装形態では、タッチスクリーンディスプレイ104が完全なGUIを提供するように、キーパッド196をなくし得る。また別の実装形態では、タッチ表面は、ケーブルコネクタ198へのケーブルを用いて、あるいはプロセッサ191に結合されたワイヤレストランシーバ(たとえば、トランシーバ195)を用いてコンピューティングデバイス100に接続され得る外部タッチパッドであり得る。
【００５３】
また、上記で説明した態様は、図6に示すラップトップコンピュータ600など、様々なコンピューティングデバイス内で実装され得る。多くのラップトップコンピュータは、コンピュータのポインティングデバイスとして働くタッチパッドタッチ表面を含み、したがって、タッチスクリーンディスプレイを装備したモバイルデバイス上で実装されるものと同様に、ドラッグ、スクロールおよびフリックジェスチャーを受信し得る。ラップトップコンピュータ600は、一般に、揮発性メモリ602と、ディスクドライブ603などの大容量不揮発性メモリとに結合されたプロセッサ601を含む。コンピュータ600は、プロセッサ601に結合されたフレキシブルディスクドライブ604およびコンパクトディスク(CD)ドライブ605をも含み得る。コンピュータデバイス600は、データ接続を確立するため、あるいはUSBもしくはFireWire(登録商標)コネクタソケット、またはプロセッサ601をネットワークに結合するための他のネットワーク接続回路606など、外部メモリデバイスを受けるためのプロセッサ601に結合されたいくつかのコネクタポートをも含み得る。ノートブック構成では、コンピュータハウジングは、すべてプロセッサ601に結合された、タッチパッド607と、キーボード608と、ディスプレイ609とを含む。コンピューティングデバイスの他の構成は、よく知られているように(たとえば、USB入力を介して)プロセッサに結合されたコンピュータマウスまたはトラックボールを含み得る。
【００５４】
コンピューティングデバイスプロセッサ191、601は、上記で説明した様々な態様の機能を含む、様々な機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る任意のプログラマブルマイクロプロセッサ、マイクロコンピュータあるいは1つまたは複数の多重プロセッサチップであり得る。いくつかのポータブルコンピューティングデバイス100では、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサ191が設けられ得る。また、プロセッサは、通信チップセットの一部として含まれ得る。
【００５５】
上記の方法の説明およびプロセスフロー図は、単に説明のための例として提供したものであり、様々な態様のプロセスを提示された順序で実行しなければならないことを要求または暗示するものではない。当業者なら諒解するように、上記の態様におけるブロックおよびプロセスの順序は、どんな順序でも実行され得る。「その後」、「次いで」、「次に」などの単語は、プロセスの順序を限定するものではなく、これらの単語は、単に、読者に方法の説明を案内するために使用される。さらに、たとえば、冠詞「a」、「an」または「the」を使用する単数形の請求項要素への言及は、その要素を単数形に限定するものと解釈すべきではない。
【００５６】
本明細書で開示した態様に関して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムプロセスは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびアルゴリズムを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００５７】
本明細書で開示した態様に関して説明した様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明した機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。代替的に、いくつかのプロセスまたは方法は、所与の機能に固有の回路によって実行され得る。
【００５８】
1つまたは複数の例示的な態様では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装し得る。ソフトウェアで実装した場合、機能は、1つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されるか、あるいはコンピュータ可読媒体を介して送信され得る。本明細書で開示した方法またはアルゴリズムのプロセスは、コンピュータ可読媒体上に常駐し得る、実行されるプロセッサ実行可能なソフトウェアモジュールで実施され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を可能にする任意の媒体を含む、コンピュータ記憶媒体とコンピュータ通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされる任意の利用可能な媒体であり得る。限定ではなく、例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMまたは他の光ディスク記憶装置、磁気ディスク記憶デバイスまたは他の磁気記憶デバイス、あるいは命令またはデータ構造の形態で所望のプログラムコードを搬送または記憶するために使用され得、コンピュータによってアクセスできる、任意の他の媒体を含み得る。また、いかなる接続もコンピュータ可読媒体と適切に呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザディスク（登録商標）(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フレキシブルディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は、通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。さらに、方法またはアルゴリズムの動作は、コンピュータプログラ
ム製品に組み込まれ得る、機械可読媒体および/またはコンピュータ可読媒体上に記憶されたコードおよび/または命令の1つまたは任意の組合せ、あるいはそのセットとして常駐し得る。
【００５９】
様々な態様の上記の説明は、当業者が本発明を実施または使用できるようにするために提供したものである。これらの態様への様々な修正は当業者にはすぐに明らかになり、本明細書で定義した一般原理は本発明の範囲から逸脱することなく他の態様に適用され得る。したがって、本発明は、本明細書に示した態様に限定されるものではなく、代わりに特許請求の範囲には、本明細書に開示された原理および新規な特徴と一致する最も広い範囲が与えられるべきである。
【符号の説明】
【００６０】
100  コンピューティングデバイス
101  タッチスクリーンディスプレイ
102  ディスプレイ
104  タッチスクリーン表面
104  タッチスクリーン
104  タッチ表面入力デバイス
106  破線矢印
108  指
112  グー
191  プロセッサ
192  内部メモリ
194  アンテナ
195  セルラー電話トランシーバ
195  トランシーバ
196  キーパッド
197  ロッカースイッチ
198  ワイヤードネットワークインターフェース
198  ケーブルコネクタ
600  ラップトップコンピュータ
601  プロセッサ
602  揮発性メモリ
603  ディスクドライブ
604  フレキシブルディスクドライブ
605  コンパクトディスク(CD)ドライブ
606  ネットワーク接続回路
607  タッチパッド
608  キーボード
609  ディスプレイ
【図１Ａ】
2013508812.tif 000003
【図１Ｂ】
2013508812.tif 000004
【図２Ａ】
2013508812.tif 000005
【図２Ｂ】
2013508812.tif 000006
【図３】
2013508812.tif 000007
【図４】
2013508812.tif 000008
【図５】
2013508812.tif 000009
【図６】
2013508812.tif 000010
【国際調査報告】
2013508812.tif 000011
2013508812.tif 000012
2013508812.tif 000013