(57)【特許請求の範囲】
【請求項１】
方法であって、
コンピューティング装置が、視覚的なコンテンツを表示するための情報を送ること、
該コンピューティング装置が、前記視覚的なコンテンツの１つ以上の寸法に基づいて、前記視覚的なコンテンツについてのスクロール範囲を判定すること、
該コンピューティング装置が、前記視覚的なコンテンツ内の原点位置を判定することであって、前記視覚的なコンテンツが、前記原点位置からスクロールされるように構成され、前記原点位置は、前記視覚的なコンテンツに関連付けられたアプリケーションのタイプに基づいて判定される、前記視覚的なコンテンツ内の原点位置を判定すること、
該コンピューティング装置が、クライアントコンピューティング装置の初期チルト測定を受信すること、
前記クライアントコンピューティング装置の第２チルト測定を受信すること、
該コンピューティング装置が、少なくともスクロール範囲、原点位置、初期チルト測定、および第２チルト測定に基づいて、進行パラメータを判定すること、
該コンピューティング装置が、進行パラメータに基づいて、前記視覚的なコンテンツをスクロールするための情報を送信すること、を備える方法。
【請求項２】
スクローリングを作動させるための閾値が、初期および第２チルト測定によって満たされる、請求項１に記載の方法。
【請求項３】
スクローリングを作動させるための閾値が、初期チルト測定と第２のチルト測定との間の差分に基づいて計算された回転速度によって満たされる、請求項１に記載の方法。
【請求項４】
ＲＫ４（ルンゲ・クッタ）ソルバを初期および第２チルト測定に適用してノイズを除去することをさらに備える請求項１に記載の方法。
【請求項５】
原点位置に関連して仮想ばね効果を前記視覚的なコンテンツに適用することをさらに備える請求項１に記載の方法。
【請求項６】
スクロール範囲の端に達するときに、仮想ばね効果によって、前記視覚的なコンテンツのスクローリングを、跳ね返るように表示する、請求項５に記載の方法。
【請求項７】
スクロール範囲の端が近づくと、仮想ばね効果によって、前記視覚的なコンテンツのスクローリングを、減速するように表示する、請求項５に記載の方法。
【請求項８】
原点位置を再校正するための入力を受信すること、
入力に基づいて、新しい原点位置を判定することをさらに備える請求項１に記載の方法。
【請求項９】
初期および第２チルト測定が、単一の軸に対してジャイロスコープによってキャプチャされた動作に基づく、
該単一の軸は、前記視覚的なコンテンツの表示の平面上にある、請求項１に記載の方法。
【請求項１０】
初期および第２チルト測定が、互いに対して直交する２つの軸に対してジャイロスコープによってキャプチャされた動作に基づき、
該２つの軸の両方が、前記視覚的なコンテンツの表示の平面上にある、請求項１に記載の方法。
【請求項１１】
前記視覚的なコンテンツは、
写真、リスト、ウェブ・ページ、マップ、項目ライブラリの視覚的な表示、ビデオ・ゲーム、または技術的な図面を含む、請求項１に記載の方法。
【請求項１２】
前記視覚的なコンテンツ上において実行可能なスクローリングを示す視覚的なヒントを送信することをさらに備える請求項１に記載の方法。
【請求項１３】
前記視覚的なヒントは、スクローリングが可能な１つ以上の方向をさらに示す、請求項１２に記載の方法。
【請求項１４】
１つまたは複数の非一時的コンピュータ可読記憶媒体であって、
実行されるときに、
視覚的なコンテンツを表示するための情報を送ること、
前記視覚的なコンテンツの１つ以上の寸法に基づいて、前記視覚的なコンテンツについてのスクロール範囲を判定すること、
前記視覚的なコンテンツ内の原点位置を判定するであって、前記視覚的なコンテンツが、前記視覚的なコンテンツ内の原点位置からスクロールされるように構成され、前記視覚的なコンテンツ内の原点位置は、前記視覚的なコンテンツに関連付けられたアプリケーションのタイプに基づいて判定される、前記視覚的なコンテンツ内の原点位置を判定すること、
クライアントコンピューティング装置の初期チルト測定を受信すること、
前記クライアントコンピューティング装置の第２チルト測定を受信すること、
少なくともスクロール範囲、原点位置、初期チルト測定、および第２のチルト測定に基づいて、進行パラメータを判定すること、
進行パラメータに基づいて、前記視覚的なコンテンツをスクロールするための情報を送信すること、を実行するように動作可能なソフトウェアを実装する１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１５】
初期および第２チルト測定が、単一の軸に対してジャイロスコープによってキャプチャされた動作に基づき、
該単一の軸は、前記視覚的なコンテンツの表示の平面上にある、請求項１４に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１６】
初期および第２チルト測定が、互いに対して直交する２つの軸に対してジャイロスコープによってキャプチャされた動作に基づき、
該２つの軸の両方が、前記視覚的なコンテンツの表示の平面上にある、請求項１４に記載の１つまたは複数の非一時的コンピュータ可読記憶媒体。
【請求項１７】
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合され、前記１つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備えるシステムであって、
前記１つまたは複数のプロセッサが、命令を実行するときに、
視覚的なコンテンツを表示するための情報を送ること、
前記視覚的なコンテンツの寸法に基づいて、前記視覚的なコンテンツについてのスクロール範囲を判定すること、
前記視覚的なコンテンツ内の原点位置を判定することであって、前記視覚的なコンテンツが、前記視覚的なコンテンツ内の原点位置からスクロールされるように構成され、前記視覚的なコンテンツ内の原点位置は、前記視覚的なコンテンツに関連付けられたアプリケーションのタイプに基づいて判定される、前記視覚的なコンテンツ内の原点位置を判定すること、
クライアントコンピューティング装置の初期チルト測定を受信すること、
前記クライアントコンピューティング装置の第２チルト測定を受信すること、
少なくともスクロール範囲、原点位置、初期チルト測定、および第２チルト測定に基づいて、進行パラメータを判定すること、
進行パラメータに基づいて、前記視覚的なコンテンツをスクロールするための情報を送信すること、を実行するように動作可能であるシステム。
【請求項１８】
前記１つまたは複数のプロセッサが、前記命令を実行するときに、
前記原点位置に関連して仮想ばね効果を前記視覚的なコンテンツに適用するようにさらに動作可能である、請求項１７に記載のシステム。
【請求項１９】
スクロール範囲の端に達するときに、仮想ばね効果によって、前記視覚的なコンテンツのスクローリングを、跳ね返るように表示する、請求項１８に記載のシステム。
【請求項２０】
スクロール範囲の端が近づくと、仮想ばね効果によって、前記視覚的なコンテンツのスクローリングを、減速するように表示する、請求項１８に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、イメージ表示および閲覧体験に関する。
【背景技術】
【０００２】
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどのコンピューティング装置は、その方向、または向きを判定するためのコンパス、加速度計、もしくはジャイロスコープなどの統合された構成要素、および／または、１つもしくは複数の外部のそのような構成要素へのインターフェースを含むことができる。そのような装置はまた、１つもしくは複数の統合された表示画面、および／または、１つもしくは複数の外部表示画面へのインターフェースを含むことができる。モバイル・コンピューティング装置はまた、ゲーム、マップ・アプリケーション、ウェブ・ブラウザ、個人情報管理アプリケーション、作業生産性アプリケーション、またはソーシャル・ネットワーキング・アプリケーションなどのソフトウェア・アプリケーションを実行することができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
一度にイメージの全体を表示するのに十分に大きくない画面上にイメージが表示されるとき、特定の実施形態は、ユーザがチルティング動作を使用することによって、１つまたは複数の軸に沿って、１つまたは複数の方向にイメージをスクロールするのを可能にすることができる。イメージは、限定ではなく例として、フォト、フォト・アルバムとして表されるいくつかのフォト、ｅメールのリスト、ウェブ・ページ、マップ、音楽のライブラリの視覚表現、ビデオ・ゲーム、または技術的な図面を含む、画面上に表示され得る任意の視覚的なコンテンツを含むことができる。
【０００４】
コンピューティング装置は、イメージについてのスクロール範囲を判定し、ジャイロスコープに従って初期チルトを測定し、イメージについての原点位置を判定することができる。スクローリングを作動させるための閾値を満たす動作が満たされたというジャイロスコープからの指示を、コンピューティング装置が受信すると、コンピューティング装置は、センサからの入力およびスクロール範囲に基づいて、進行パラメータを計算する。コンピューティング装置は次いで、進行パラメータに基づいて、イメージの表示を更新する。動作が検出されたというセンサからの指示をコンピューティング装置が受信し続けるとき、コンピューティング装置は、イメージの表示を適切に更新し続ける。コンピューティング装置はまた、その点にて新しい原点位置に基づいたスクローリングを続けることができる、原点位置を再校正するためのユーザ入力を受信することができる。
【図面の簡単な説明】
【０００５】
【図１Ａ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図１Ｂ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図１Ｃ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図１Ｄ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図１Ｅ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図１Ｆ】本明細書で開示される特定の実施形態によるイメージのスクローリングを示すワイヤフレームの図。
【図２】本明細書で開示される特定の実施形態による、イメージをスクロールするための例示的方法を示す図。
【図３】例示的コンピュータ・システムを示す図。
【発明を実施するための形態】
【０００６】
一度にイメージの全体を表示するのに十分に大きくない画面上にイメージが表示されるとき、特定の実施形態は、ユーザがチルティング動作（tilting motion）を使用することによって、１つまたは複数の方向にイメージをスクロールするのを可能にすることができる。イメージは、限定ではなく例として、フォト、フォト・アルバムとして表されるいくつかのフォト、ｅメールのリスト、ウェブ・ページ、マップ、音楽のライブラリの視覚表現、ビデオ・ゲーム、または技術的な図面を含む、画面上に表示され得る任意の視覚的なコンテンツを含むことができる。
【０００７】
コンピューティング装置は、イメージについてのスクロール範囲を判定し、ジャイロスコープに従って初期チルト（initial tilt）を測定し、イメージについての原点位置を判定することができる。スクローリングを作動させるための閾値を満たす動作が満たされたというジャイロスコープからの指示を、コンピューティング装置が受信すると、コンピューティング装置は、センサからの入力およびスクロール範囲に基づいて、進行パラメータ（progress parameter）を計算する。コンピューティング装置は次いで、進行パラメータに基づいて、イメージの表示を更新する。動作が検出されたというセンサからの指示をコンピューティング装置が受信し続けるとき、コンピューティング装置は、イメージの表示を適切に更新し続ける。コンピューティング装置はまた、原点位置を再校正するためのユーザ入力を受信することができ、その点にて新しい原点位置に基づいたスクローリングを続けることができる。
【０００８】
図１Ａ〜１Ｆは、本明細書で開示される特定の実施形態による、イメージをスクロールする例示的使用事例を示すワイヤフレームである。図１Ａに示すように、ユーザは、スマートフォンなどのコンピューティング装置を使用して、ビーチ景色のパノラマ・フォトを閲覧することができ、パノラマ・フォトは、全体のイメージが画面上で見えるようにサイズ変更されるとき、多くの詳細を閲覧するにはあまりにも小さすぎる。コンピューティング装置の実施形態は、図３に関してさらに詳細に説明される。ユーザは、図１Ｂに示すように、イメージの垂直方向の全範囲が表示領域全体をいっぱいに占めるように、イメージ上でズーム・インすることが可能であってよい。この時点で、ユーザは、（図１Ｂにおいて点線として示される）表示画面の平面上にある垂直軸に沿って横方向にスマートフォンをチルトして（tilt）、パノラマ・イメージをスクロール往復し、イメージの左エッジからイメージの右エッジまで、およびその逆も同様に、パノラマ・イメージの全体像を閲覧することができる。別の例では、ユーザは、スマートフォンを使用して連絡先のリストを閲覧し、表示画面の平面上にある水平軸に沿って上下にスマートフォンをチルトして、連絡先のリストをスクロールすることができる。別の例では、ユーザは、スマートフォンを使用してマップを閲覧し、表示画面の平面上にある水平軸および垂直軸に沿って任意の方向にスマートフォンをチルトし、マップをスクロールすることができる。本開示の範囲内で、「チルティング」は、ジャイロスコープによって測定することができる任意の動作を指し、「チルト」の測定は、ジャイロスコープによって測定することができる、ロール、ピッチ、ヨー、またはそれらの任意の組合せの任意の測定を指す。本明細書で説明するいくつかの実施形態はそのまわりでチルティングが行われ得る単一の軸を指すことがあるが、当業者は、２つ以上の軸に対して本明細書で説明するスクローリング方法が実装されてもよいことに気付くであろう。
【０００９】
特定の実施形態では、図１Ｂに図示される例において示すように、（ズーム・イン・コマンドが受信された直後に）イメージが表示されるとき、フォトは、全体的なパノラマ・イメージに対して中心となるように表示され、この原点位置は、イメージにおける位置であり、そこからスクローリングが始まることができる。特定の実施形態では、原点位置を、特定のアプリケーションに従って、イメージにおけるなんらかの位置に設定することができる。例えば、ライブラリにおける本の棚のパノラマ・イメージにざっと目を通して、視覚認識によって１つまたは複数の特定の本を見つけるようにユーザが求められるアプリケーションでは、原点位置をイメージの左エッジに設定することができる。別の例で、連絡先のリストの場合は、原点位置が、リストの上部に、またはアルファベットの選択された文字の連絡先リストにおける最初のエントリに設定され、ユーザがそこから下にスクロールする（および後進する）ことができる。特定の実施形態では、ユーザの選択に従って、原点位置をイメージにおけるなんらかの位置に設定することができる。例えば、米国のマップを表示するとき、ユーザによって、原点位置が、ユーザによって選択された場所（例えば、グランド・キャニオン地域）に設定され、ユーザがそこから任意の方向にマップのまわりでスクロールすることができる。特定の実施形態では、該当要因に従って、イメージにおける任意の適切な位置に、原点位置を設定することができる。
【００１０】
特定の実施形態では、図１Ｂに図示される例によって示すように、イメージが表示されるとき（やはり、ズーム・イン・コマンドが受信された直後に）、コンピューティング装置はまた、ユーザにスクローリングを開始するよう促す、および／または、そのような特徴が利用可能であるとユーザに通知する、視覚ヒントを表示することができる。ヒントは、どの方向にスクローリングが可能であるのかを示すことができ、すなわち、図１Ｂに示すように、スクローリングが両方向に可能であることを、他方では、図１Ｆで、（イメージのエッジに達しているために）スクローリングが１つの方向にのみ可能であることを示すことができる。
【００１１】
図１Ｃ〜図１Ｆは、図１Ｂに示された原点位置および０°の初期チルトからスタートする、図１Ａのパノラマ・フォトのズーム・インした表示をスクロールする例を示す。図１Ｃ〜図１Ｆに示すように、ユーザが初期チルトからコンピューティング装置を（コンピューティング装置を保持しているユーザを基準として）時計回りにチルトし始めると、コンピューティング装置は、チルトにおける変化を測定することによって、動作（movement）を検出する。スクローリングを作動させるための閾値が満たされると（例えば、初期チルトから２°の最小デルタを超えてコンピューティング装置をいずれかの方向にチルトするか、または最小回転速度よりも早くコンピューティング装置をいずれかの方向にチルトする）、コンピューティング装置は、測定されたチルトに従ってイメージをスクロールし始める。図１Ｃ〜図１Ｆに示すように、チルトが増大するにつれて、イメージがスクロールされる程度もまた、エッジに達するのに必要とされる度合いまでユーザがコンピューティング装置をチルトしているときの図１Ｆでのイメージのエッジに達するまで、増大する。
【００１２】
図２は、特定の実施形態による、イメージをスクロールするための例示的方法２００を示す。方法は、コンピューティング装置が、表示するためにイメージを提供するステップ２１０で開始することができる。特定の実施形態では、コンピューティング装置は、統合された表示画面を有するハンドヘルド装置を含むことができる。特定の実施形態では、コンピューティング装置は、外部表示画面に接続されてよい。本開示の範囲内で、第１の構成要素は、それが物理的に接続されるとき（例えば、ワイヤもしくはコードを介して）、ワイヤレスで接続されるとき（例えば、ＢＬＵＥＴＯＯＴＨ、近距離場通信（ＮＦＣ：Ｎｅａｒ−Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ）、ＲＦ、もしくはＷｉ−Ｆｉを介して）、または任意の他の種類のネットワーク（例えば、ＬＡＮ、プライベートＷＡＮ、もしくはインターネット）を通して接続されるときに、第２の構成要素に接続される。
【００１３】
ステップ２２０で、コンピューティング装置は、軸に対して、イメージについてのスクロール範囲を判定する。特定の実施形態では、スクロール範囲は、イメージのアスペクト比、ならびにイメージの絶対寸法に基づいて判定され、例えば、スクロール範囲＝（（フォトの幅／フォトの高さ）＊（度からラジアンへの変換（DEGREES_TO_RADIANS）（チルト範囲）／（長さ／高さ）））であり、ただし、チルト範囲は、イメージの１つのエッジから反対側のエッジまでスクロールするために必要とされるチルトの度合いであり、長さ×高さは、イメージのアスペクト比である（ただし、長さは、それに沿ってスクローリングが行われ得る寸法である）。チルト範囲パラメータは、イメージのアスペクト比に従って様々であってよく、その結果、より大きなチルト範囲が、３×１のアスペクト比を有するパノラマ・イメージの長さに沿ってスクロールするために使用されてよく、一方でより小さなチルト範囲は、３×３イメージの長さに沿ってスクロールするために使用されてよい。特定の実施形態では、ユーザが画面を閲覧しづらい程度にまで装置をチルトすることをユーザが要求されないことを保証するように、チルト範囲を制約することもまたできる。
【００１４】
ステップ２３０で、コンピューティング装置は、ジャイロスコープ・センサを使用してチルトを測定する。測定されたチルトは、初期チルトを含み、そこからチルトにおける任意の変化が測定されることになる。例えば、水平向きでパノラマ・イメージを表示している、統合されたジャイロスコープを有するハンドヘルド・コンピューティング装置が、垂直軸に対して０．３°であるとしてチルトを測定する場合は、装置を保持しているユーザが装置をほぼ完全に平らに保持しているので、装置によって登録された後続の動作に関連して測定された任意のチルトは、その初期チルトからのデルタとして測定されることになる。特定の実施形態では、ユーザがその同じイメージを閲覧している間に全体的な向きが変化する場合（例えば、ユーザがスマートフォンを使用している間に横向きに寝そべる場合）、コンピューティング装置は、進行パラメータを判定するために後続のチルト測定を適切に適用しながら、ディスプレイに対してイメージの表示をスクロールするための軸を保存するために、初期チルトを更新することができる。装置によって登録された後続の動作に関連して測定された任意のチルトは、その更新された初期チルトからのデルタとして測定されることになる。図１Ｂに示される例において示すように、初期チルトは、０°で測定される。特定の実施形態では、コンピューティング装置は、統合されたジャイロスコープを有するハンドヘルド装置を含むことができる。特定の実施形態では、コンピューティング装置は、ジャイロスコープを含む外部ハンドヘルド・コントローラに接続されてもよい。
【００１５】
ステップ２４０で、コンピューティング装置は、原点位置を判定する。図１Ｂに関して上で説明したように、原点位置を、特定のアプリケーションに従って、ユーザ選択に従って、イメージにおける特定の位置に、または該当要因に従ってイメージにおける任意の適切な位置に、設定することができる。
【００１６】
ステップ２５０で、コンピューティング装置は、ジャイロスコープ・センサが、スクローリングを作動させるための閾値を満たす動作を検出したという指示を受信する。上述したように、閾値は、スクローリングを作動させるために満たされる必要があってよく、このことは、典型的な手の震えがイメージのスクローリングをトリガするのを防ぐのに役立つことができる。１つの例示的実施形態では、閾値は、いずれかの方向において、初期チルトに基準として測定されたチルトにおける最小変化を含むことができる。別の例示的実施形態では、閾値は、いずれかの方向における最小回転速度（例えば、スクローリング機能がコンピューティング装置の鋭いチルティング・フリックによって作動する場合）を含むことができる。
【００１７】
ステップ２６０で、コンピューティング装置は、センサからの入力およびスクロール範囲に基づいて、どのようにイメージをスクロールするかを示す進行パラメータを計算する。進行パラメータは、限定ではなく例として、（１）ジャイロスコープによって報告される先行チルト測定、（２）ジャイロスコープによって報告される現在のチルト測定、（３）そこでジャイロスコープが定期的な間隔で測定値をサンプリングする、ジャイロスコープによって報告される先行チルト測定と現在のチルト測定との間のデルタ、（４）ジャイロスコープによって報告される先行チルト測定と現在のチルト測定との間のデルタに基づいて計算される回転速度、（５）最後のチルト測定について判定された、絶対位置に対する原点位置のオフセット、または（６）ジャイロスコープによって報告される現在のチルト測定について判定された、絶対位置に対する原点位置のオフセットを含む、１つまたは複数の属性を含むことができる。特定の実施形態では、進行パラメータは、ユーザの装置保持姿勢（device-holding stance）における段階的な変化がスクローリングをトリガするのを防ぐために、最小回転速度を満たすことを要求されてよい。
【００１８】
特定の実施形態では、（ユーザがスクロール範囲を超えてスクロールできないように）入力データをイメージの寸法に限定するために、入力がクリップされてもよい。特定の実施形態では、手の震えによる揺れを低減または排除し、平滑なスクローリング動作を生成するように、ジャイロスコープから受信した入力データを平滑化することができる。入力を平滑化することは、（入力におけるスパイクを排除するために）ローパス・フィルタを入力データに適用すること、および／または、（安定して進行する平滑なスクローリング動作を生み出すために）ＲＫ４（ルンゲ・クッタ（Ｒｕｎｇｅ−Ｋｕｔｔｅ））ソルバを入力に適用することを含むことができる。
【００１９】
ステップ２７０で、コンピューティング装置は、進行パラメータに基づいて、イメージのスクローリングを示すためのイメージ表示を更新する。イメージ表示は、仮想ばね効果などの、特殊効果を含むことができる（例えば、イメージは、イメージのエッジまでスクロールされてエッジを「ヒット」するときに跳ね返る（bounce）、および／または、イメージ・スクローリングは、エッジが近づくと減速し、仮想ばねがさらに伸ばされる）。特定の実施形態では、仮想ばねの一端を原点位置でイメージに接続し、仮想ばねの他端を画面上のある位置（例えば、画面の中心、画面の隅、または画面のエッジ）に接続することによって、画面上に表示されたイメージの移動をシミュレートすることができる。任意の数の仮想ばねを、オブジェクトに接続することができる。特定の実施形態では、フックの法則：Ｆ＝−ｋｘに基づいて、オブジェクトの移動を判定することができ、ただし、ｘは、ばねの端部の、ばねの平衡位置からの変位（例えば、距離、ＳＩ単位：メートル）であり、Ｆは、その端部でばねによって発揮される復元力（ＳＩ単位：Ｎまたはｋｇ・ｍ／ｓ２）であり、ｋは、比率またはばね定数と呼ばれる定数である（ＳＩ単位：Ｎ／ｍまたはｋｇ／ｓ２）。この式が成り立つとき、挙動は線形である。復元力は常に変位の反対側の方向に作用するので、式の右側には負の符号がある（例えば、ばねが左に伸びるとき、それは右に引き戻す）。一般には、ばね移動を判定するにあたり、以下の特性が関与する：質量、ダンピング、ばね剛性、ばねレスト長。いくつかの実装では、仮想質量をオブジェクトに割り当てることができる。
【００２０】
特定の実施形態では、仮想ばねは、表示されているイメージの属性に基づいて、異なる状態値を有することができる。ばねは、状態値の１つのセットから別のセットに、カットするのではなくランプして（ramp）、オブジェクトの移動のアニメーション・シーケンスをより自然に見えるようにすることができる。例えば、イメージのエッジと原点位置との間の距離を使用して、アニメーションに使用されるばねの締め付け、または状態値の１つのセットから別のセットにランプするレベルを判定することができる。
【００２１】
特定の実施形態では、物理演算エンジンが、ばね移動をシミュレートするアルゴリズムを実装する。１つまたは複数の仮想ばねをオブジェクトに接続することができる。例えば、画面上に表示されたイメージのスクローリングを作動させるためにコンピューティング装置がチルトされる場合、仮想ばねをイメージの原点位置に接続することができる。オブジェクトが移動するにつれて（例えば、チルティング動作によってスクロールされて）、その移動は、仮想ばねの経路をたどり、その結果、オブジェクトの移動は、ばねの移動の物理学に基づいてアニメーション化される。特定の実施形態では、アルゴリズムが、張力、質量、ダンピング効果、測定されたチルト、その他などの変数を考慮に入れることができる。例として、イメージが原点位置から離れエッジに近づいてスクロールされる（それにより、ばねをさらに伸ばす）につれて、スクローリング速度を減速することができる。逆に、イメージが原点位置に向かってスクロール・バックするにつれて、スクローリング速度を加速することができる。別の例として、イメージが原点位置から離れてスクロールしてエッジを「ヒット」するとき、イメージは、エッジに達すると跳ね返るように見えてよい。
【００２２】
特定の実施形態では、オブジェクト上でズーム・インするとき、オブジェクトは、サイズが増大する。オブジェクト上でズーム・アウトするとき、オブジェクトは、サイズが縮小する。オブジェクトのサイズの変化を、アニメーション・シーケンスにおいて示すことができ、ここで、オブジェクトの移動は、ばね移動に基づくことができる。特定の実施形態では、オブジェクトがその最終目的地に向かって移動するとき、オブジェクトの中間位置は、ばね移動に基づいて補間されてよい（interpolated）。新しい原点位置の指定に基づいて原点位置が再校正されるとき、仮想ばねを、新しい原点位置に再接続することができる。
【００２３】
ステップ２８０で、コンピューティング装置は、新しい原点位置で原点位置を再校正するための入力を受信することができる。ユーザが原点位置から離れて新しい位置へとスクロールした後で、ユーザは、新しい位置で原点位置を再校正する（例えば、クリックし、新しい位置の上で指を下方に保持する）ことができる。その場合、コンピューティング装置は、ステップ２４０に戻って新しい原点位置を判定し、次いで、新しい原点位置に基づいて、スクローリング機能を提供し続けることができる。
【００２４】
ステップ２９０で、コンピューティング装置は、ユーザがコンピューティング装置をチルトし続けているためにセンサが動作を検出しているという、連続した指示を受信することができる。特定の実施形態では、ステップ２６０から、センサが連続的な動作を検出する限り、図２の方法を繰り返すことができる。特定の実施形態では、コンピューティング装置が閾値時間期間よりも長くにわたって動作がないことを検出する場合、または、コンピューティング装置が、センサによって検出された動作の大きさが閾値未満に低下したことを検出する場合に、コンピューティング装置は、ステップ２５０に戻ることができる、または、取って代わって自動的にイメージをパンすることができる。
【００２５】
特定の実施形態では、イメージが最初に画面上に表示されるとき、それは自動的にイメージを１回パンすることができ、次いでパンが完了すると、イメージは、コンピューティング装置をチルトすることによって、スクローリングのために利用可能であってもよい。イメージをパンすることに関係して、特定の実施形態は、限定ではなく例として、本願明細書に援用する「イメージのパンニングおよびズーミング効果（Ｉｍａｇｅ  Ｐａｎｎｉｎｇ  ａｎｄ  Ｚｏｏｍｉｎｇ  Ｅｆｆｅｃｔ）」と題され、２０１２年１１月１４日に出願された、米国特許出願第１３／６７６，８３１号に開示されている、１つまたは複数のシステム、構成要素、要素、機能、方法、動作、またはステップを利用することができる。
【００２６】
特定の実施形態は、適切な場合、図２の方法の１つまたは複数のステップを反復することができる。本開示は、図２の方法の特定のステップが特定の順序で行われるものとして説明および図示するが、本開示は、任意の適切な順序で行われる図２の方法の任意の適切なステップを企図する。さらに、本開示は、図２の方法の特定のステップを実施する特定の構成要素、装置、またはシステムを説明および図示するが、本開示は、図２の方法の任意の適切なステップを実施する任意の適切な構成要素、装置、またはシステムの任意の適切な組合せを企図する。
【００２７】
図３は、例示的なコンピュータ・システム３００を示す。特定の実施形態では、１つまたは複数のコンピュータ・システム３００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施する。特定の実施形態では、１つまたは複数のコンピュータ・システム３００は、本明細書で説明または図示される機能を提供する。特定の実施形態では、１つまたは複数のコンピュータ・システム３００上で実行中のソフトウェアが、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施しまたは本明細書で説明または図示される機能を提供する。特定の実施形態は、１つまたは複数のコンピュータ・システム３００の１つまたは複数の部分を含む。本明細書では、適切な場合、コンピュータ・システムに対する参照はコンピューティング装置を包含し、逆も同様である。さらに、適切な場合、コンピュータ・システムに対する参照は、１つまたは複数のコンピュータ・システムを包含する。
【００２８】
本開示は、任意の適切な数のコンピュータ・システム３００を企図する。本開示は、任意の適切な物理的形態を取るコンピュータ・システム３００を企図する。限定ではなく例として、コンピュータ・システム３００は、組込みコンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングル・ボード・コンピュータ・システム（ＳＢＣ）（例えば、コンピュータ・オン・モジュール（ＣＯＭ）やシステム・オン・モジュール（ＳＯＭ）など）、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話型キオスク、メインフレーム、コンピュータ・システムのメッシュ、携帯電話、携帯情報端末（ＰＤＡ）、サーバ、タブレット・コンピュータ・システム、またはこれらの２つ以上の組合せでよい。適切な場合、コンピュータ・システム３００は、１つまたは複数のコンピュータ・システム３００を含むことができ、一体型または分散型でよく、複数の場所にわたるものでよく、複数のマシンにわたるものでよく、複数のデータセンタにわたるものでよく、またはクラウド内に常駐することができ、クラウドは、１つまたは複数のネットワーク内の１つまたは複数のクラウド構成要素を含むことができる。適切な場合、１つまたは複数のコンピュータ・システム３００は、実質的な空間的または時間的な限定なしに、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを実施することができる。限定ではなく例として、１つまたは複数のコンピュータ・システム３００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップをリアル・タイムに、またはバッチ・モードで実施することができる。適切な場合、１つまたは複数のコンピュータ・システム３００は、本明細書で説明または図示される１つまたは複数の方法の１つまたは複数のステップを異なる時刻または異なる場所で実施することができる。
【００２９】
特定の実施形態では、コンピュータ・システム３００は、プロセッサ３０２、メモリ３０４、ストレージ３０６、入力／出力（Ｉ／Ｏ）インターフェース３０８、通信インターフェース３１０、およびバス３１２を含む。本開示は、特定の構成の、特定の数の特定の構成要素を有する特定のコンピュータ・システムを説明および図示するが、本開示は、任意の適切な構成の、任意の適切な数の任意の適切な構成要素を有する任意の適切なコンピュータ・システムを企図する。
【００３０】
特定の実施形態では、プロセッサ３０２は、コンピュータ・プログラムを構成するような命令を実行するハードウェアを含む。限定ではなく例として、命令を実行するために、プロセッサ３０２は、内部レジスタ、内部キャッシュ、メモリ３０４、またはストレージ３０６から命令を取り出し（またはフェッチし）、その命令を復号化および実行し、次いで内部レジスタ、内部キャッシュ、メモリ３０４、またはストレージ３０６に１つまたは複数の結果を書き込むことができる。特定の実施形態では、プロセッサ３０２は、データ、命令、またはアドレスのための１つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ３０２を企図する。限定ではなく例として、プロセッサ３０２は、１つまたは複数の命令キャッシュ、１つまたは複数のデータ・キャッシュ、および１つまたは複数の変換ルックアサイド・バッファ（translation lookaside buffer：ＴＬＢ）を含むことができる。命令キャッシュ内の命令は、メモリ３０４またはストレージ３０６内の命令のコピーでよく、命令キャッシュは、プロセッサ３０２によるそうした命令の検索を加速することができる。データ・キャッシュ内のデータは、プロセッサ３０２で実行中の命令が演算するためのメモリ３０４またはストレージ３０６内のデータ、プロセッサ３０２で実行中の後続の命令によるアクセスのために、またはメモリ３０４もしくはストレージ３０６に書き込むために、プロセッサ３０２で実行された以前の命令の結果、あるいは他の適切なデータのコピーでもよい。データ・キャッシュは、プロセッサ３０２による読取りまたは書込み演算を加速することができる。ＴＬＢはプロセッサ３０２のための仮想アドレス変換（virtual-address translation）を加速することができる。特定の実施形態では、プロセッサ３０２は、データ、命令、またはアドレス用の１つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ３０２を企図する。適切な場合、プロセッサ３０２は、１つまたは複数の演算論理装置（arithmetic logic unit：ＡＬＵ）を含むことができ、マルチコア・プロセッサでよく、または１つまたは複数のプロセッサ３０２を含むことができる。本開示は特定のプロセッサを説明および図示するが、本開示は任意の適切なプロセッサを企図する。
【００３１】
特定の実施形態では、メモリ３０４は、プロセッサ３０２が実行するための命令、またはプロセッサ３０２が演算するためのデータを格納するメイン・メモリを含む。限定ではなく例として、コンピュータ・システム３００は、ストレージ３０６または別のソース（例えば、別のコンピュータ・システム３００など）からメモリ３０４に命令をロードすることができる。次いでプロセッサ３０２は、メモリ３０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するために、プロセッサ３０２は、内部レジスタまたは内部キャッシュから命令を取り出し、その命令を復号化することができる。命令の実行中または実行後に、プロセッサ３０２は、１つまたは複数の結果（これは中間結果または最終結果でよい）を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ３０２は、そうした結果の１つまたは複数をメモリ３０４に書き込むことができる。特定の実施形態では、プロセッサ３０２は、（ストレージ３０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ３０４内の命令のみを実行し、（ストレージ３０６または他の場所ではなく）１つまたは複数の内部レジスタもしくは内部キャッシュ内、またはメモリ３０４内のデータのみに対して演算する。１つまたは複数のメモリ・バス（これはそれぞれアドレス・バスおよびデータ・バスを含むことができる）が、プロセッサ３０２をメモリ３０４に結合することができる。バス３１２は、以下で説明するように、１つまたは複数のメモリ・バスを含むことができる。特定の実施形態では、１つまたは複数のメモリ管理ユニット（memory management unit：ＭＭＵ）が、プロセッサ３０２とメモリ３０４との間に常駐し、プロセッサ３０２によって要求されたメモリ３０４へのアクセスを可能にする。特定の実施形態では、メモリ３０４はランダム・アクセス・メモリ（ＲＡＭ）を含む。適切な場合、このＲＡＭは揮発性メモリでよい。適切な場合、このＲＡＭはダイナミックＲＡＭ（ＤＲＡＭ）またはスタティックＲＡＭ（ＳＲＡＭ）でよい。さらに、適切な場合、このＲＡＭは、単一ポートまたはマルチポートＲＡＭでよい。本開示は任意の適切なＲＡＭを企図する。適切な場合、メモリ３０４は、１つまたは複数のメモリ３０４を含むことができる。本開示は特定のメモリを説明および図示するが、本開示は任意の適切なメモリを企図する。
【００３２】
特定の実施形態では、ストレージ３０６は、データまたは命令用のマス・ストレージを含む。限定ではなく例として、ストレージ３０６は、ハード・ディスク・ドライブ（ＨＤＤ）、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス（ＵＳＢ）ドライブ、あるいはこれらのうちの２つ以上の組合せを含むことができる。ストレージ３０６は、適切な場合、取外し可能または取外し不能（または固定）媒体を含むことができる。ストレージ３０６は、適切な場合、コンピュータ・システム３００の内部または外部でよい。特定の実施形態では、ストレージ３０６は不揮発性固体メモリである。特定の実施形態では、ストレージ３０６は読取り専用メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクプログラムされたＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能ＰＲＯＭ（ＥＰＲＯＭ）、電気消去可能ＰＲＯＭ（ＥＥＰＲＯＭ）、電気書換え可能ＲＯＭ（ＥＡＲＯＭ）、またはフラッシュ・メモリ、あるいはこれらのうちの２つ以上の組合せでよい。本開示は、任意の適切な物理的形態を有するマス・ストレージ３０６を企図する。適切な場合、ストレージ３０６は、プロセッサ３０２とストレージ３０６との間の通信を可能にする１つまたは複数のストレージ制御ユニットを含むことができる。適切な場合、ストレージ３０６は、１つまたは複数のストレージ３０６を含むことができる。本開示は特定のストレージを説明および図示するが、本開示は任意の適切なストレージを企図する。
【００３３】
特定の実施形態では、Ｉ／Ｏインターフェース３０８は、コンピュータ・システム３００と１つまたは複数のＩ／Ｏ装置との間の通信のための１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム３００は、適切な場合、これらのＩ／Ｏ装置のうちの１つまたは複数を含むことができる。これらのＩ／Ｏ装置のうちの１つまたは複数は、人とコンピュータ・システム３００との間の通信を可能にすることができる。限定ではなく例として、Ｉ／Ｏ装置は、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なＩ／Ｏ装置、またはこれらのうちの２つ以上の組合せを含むことができる。Ｉ／Ｏ装置は１つまたは複数のセンサを含むことができる。本開示は、任意の適切なＩ／Ｏ装置およびそのための任意の適切なＩ／Ｏインターフェース３０８を企図する。適切な場合、Ｉ／Ｏインターフェース３０８は、プロセッサ３０２がこれらのＩ／Ｏ装置のうちの１つまたは複数を駆動することを可能にする１つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。Ｉ／Ｏインターフェース３０８は、適切な場合、１つまたは複数のＩ／Ｏインターフェース３０８を含むことができる。本開示は特定のＩ／Ｏインターフェースを説明および図示するが、本開示は任意の適切なＩ／Ｏインターフェースを企図する。
【００３４】
特定の実施形態では、通信インターフェース３１０は、コンピュータ・システム３００と、１つまたは複数の別のコンピュータ・システム３００あるいは１つまたは複数のネットワークとの間の通信（例えば、パケット・ベースの通信など）用の１つまたは複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、通信インターフェース３１０は、イーサネット（登録商標）または他のワイヤ・ベースのネットワークと通信するネットワーク・インターフェース・コントローラ（network interface controller：ＮＩＣ）またはネットワーク・アダプタ、あるいはＷｉ−Ｆｉネットワークなどのワイヤレス・ネットワークと通信するワイヤレスＮＩＣ（wire-based network or a wireless：ＷＮＩＣ）またはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワークおよびそのための任意の適切な通信インターフェース３１０を企図する。限定ではなく例として、コンピュータ・システム３００は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク（ＰＡＮ）、ローカル・エリア・ネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、大都市圏ネットワーク（metropolitan area network：ＭＡＮ）、またはインターネットの１つもしくは複数の部分、あるいはこれらのうちの２つ以上の組合せと通信することができる。これらのネットワークのうちの１つまたは複数の１つまたは複数の部分は、ワイヤードまたはワイヤレスでよい。１例を挙げると、コンピュータ・システム３００は、ワイヤレスＰＡＮ（ＷＰＡＮ）（例えば、ＢＬＵＥＴＯＯＴＨ  ＷＰＡＮなど）、Ｗｉ−Ｆｉネットワーク、ＷＩ−ＭＡＸネットワーク、携帯電話網（例えば、Global System for Mobile Communication（ＧＳＭ（登録商標））ネットワークなど）、または他の適切なワイヤレス・ネットワーク、あるいはこれらのうちの２つ以上の組合せと通信することができる。コンピュータ・システム３００は、適切な場合、これらのネットワークのいずれかに関する任意の適切な通信インターフェース３１０を含むことができる。通信インターフェース３１０は、適切な場合、１つまたは複数の通信インターフェース３１０を含むことができる。本開示は特定の通信インターフェースを説明および図示するが、本開示は任意の適切な通信インターフェースを企図する。
【００３５】
特定の実施形態では、バス３１２は、コンピュータ・システム３００の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく例として、バス３１２は、アクセラレーテッド・グラフィックス・ポート（Accelerated Graphics Port：ＡＧＰ）または他のグラフィックス・バス、Ｅｎｈａｎｃｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＥＩＳＡ）バス、フロント・サイド・バス（ＦＳＢ）、ＨＹＰＥＲＴＲＡＮＳＰＯＲＴ（ＨＴ）相互接続、Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＩＳＡ）バス、ＩＮＦＩＮＩＢＡＮＤ相互接続、低ピン・カウント（low-pin-count：ＬＰＣ）バス、メモリ・バス、Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ（ＭＣＡ）バス、Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（ＰＣＩ）バス、ＰＣＩ−Ｅｘｐｒｅｓｓ（ＰＣＩｅ）バス、ｓｅｒｉａｌ  ａｄｖａｎｃｅｄ  ｔｅｃｈｎｏｌｏｇｙ  ａｔｔａｃｈｍｅｎｔ（ＳＡＴＡ）バス、Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ  ｌｏｃａｌ（ＶＬＢ）バス、または別の適切なバス、あるいはこれらのうちの２つ以上の組合せを含むことができる。バス３１２は、適切な場合、１つまたは複数のバス３１２を含むことができる。本開示は特定のバスを説明および図示するが、本開示は、任意の適切なバスまたは相互接続を企図する。
【００３６】
本明細書では、コンピュータ可読非一時的記憶媒体は、適切な場合、１つまたは複数の半導体ベースの、または他の集積回路（ＩＣ）（例えば、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向けＩＣ（ＡＳＩＣ）など）、ハード・ディスク・ドライブ（ＨＤＤ）、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスクドライブ（ＯＤＤ）、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ（ＦＤＤ）、磁気テープ、固体ドライブ（ＳＳＤ）、ＲＡＭドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切なコンピュータ可読非一時的記憶媒体、またはこれらの２つ以上の適切な組合せを含むことができる。コンピュータ可読非一時的記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せでよい。
【００３７】
本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「または」は排他的ではなく包含的である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「ＡまたはＢ」は「Ａ、Ｂ、またはその両方」を意味する。さらに、別段に明記されていない限り、または文脈によって示されていない限り、「および」は協同および個々の両方である。したがって、本明細書では、別段に明記されていない限り、または文脈によって示されていない限り、「ＡおよびＢ」は、「ＡおよびＢが一緒に、または個別に」を意味する。
【００３８】
本開示の範囲は、当業者なら理解するはずである、本明細書で説明または図示される例示的実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書で説明または図示される例示的実施形態に限定されない。さらに、本開示は、本明細書のそれぞれの実施形態が特定の構成要素、要素、機能、動作、またはステップを含むものとして説明および図示するが、これらの実施形態のいずれも、当業者なら理解するはずである、本明細書のどこかで説明または図示される構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは置換を含むことができる。さらに、特定の機能を実施するように適合され、配置され、実施することが可能であり、実施するように構成され、実施することが可能にされ、実施するように動作可能である装置またはシステムあるいは装置またはシステムの構成要素に対する添付の特許請求の範囲での参照は、その装置、システム、または構成要素がそのように適合され、配置され、可能であり、構成され、可能にされ、動作可能にされる限り、その装置、システム、構成要素またはその特定の機能が活動化され、オンにされ、またはロック解除されるか否かに関わらず、その装置、システム、構成要素を包含する。
【図１Ａ】
0006328815.tif 000002
【図１Ｂ】
0006328815.tif 000003
【図１Ｃ】
0006328815.tif 000004
【図１Ｄ】
0006328815.tif 000005
【図１Ｅ】
0006328815.tif 000006
【図１Ｆ】
0006328815.tif 000007
【図２】
0006328815.tif 000008
【図３】
0006328815.tif 000009