JP6081027B2 - スクロールのための傾け動作 - Google Patents

スクロールのための傾け動作 Download PDF

Info

Publication number
JP6081027B2
JP6081027B2 JP2016540307A JP2016540307A JP6081027B2 JP 6081027 B2 JP6081027 B2 JP 6081027B2 JP 2016540307 A JP2016540307 A JP 2016540307A JP 2016540307 A JP2016540307 A JP 2016540307A JP 6081027 B2 JP6081027 B2 JP 6081027B2
Authority
JP
Japan
Prior art keywords
axis
image
determining
rotational speed
tilt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016540307A
Other languages
English (en)
Other versions
JP2016533593A (ja
JP2016533593A5 (ja
Inventor
マタス、マイケル
カニンガム、ベンジャミン
Original Assignee
フェイスブック,インク.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by フェイスブック,インク. filed Critical フェイスブック,インク.
Publication of JP2016533593A publication Critical patent/JP2016533593A/ja
Publication of JP2016533593A5 publication Critical patent/JP2016533593A5/ja
Application granted granted Critical
Publication of JP6081027B2 publication Critical patent/JP6081027B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2200/00Indexing scheme relating to G06F1/04 - G06F1/32
    • G06F2200/16Indexing scheme relating to G06F1/16 - G06F1/18
    • G06F2200/163Indexing scheme relating to constructional details of the computer
    • G06F2200/1637Sensing arrangement for detection of housing movement or orientation, e.g. for controlling scrolling or cursor movement on the display of an handheld computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation

Description

本開示は、概して、電子デバイス上にコンテンツを表示することに関する。
スマートフォン、タブレット・コンピュータ、またはラップトップ・コンピュータなどモバイル・コンピューティング・デバイスは、GPS受信機、方位磁石、ジャイロスコープ、または加速度計など、その場所、方向、または向きを決定するための機能を含むことがある。そのようなデバイスは、Bluetooth(登録商標)通信、近距離通信(NFC)、もしくは赤外線(IR)通信、またはワイヤレス・ローカル・エリア・ネットワーク(WLAN)もしくはセルラ電話ネットワークなど、無線通信のための機能も含む。そのようなデバイスは、1つまたは複数のカメラ、スキャナ、タッチ・スクリーン、マイクロフォン、またはスピーカも含むことがある。モバイル・コンピューティング・デバイスはまた、ゲーム、ウェブ・ブラウザ、またはソーシャルネットワーキング・アプリケーションなど、ソフトウェア・アプリケーションを実行することができる。ソーシャルネットワーキング・アプリケーションを用いて、ユーザは、自分のソーシャル・ネットワーク内の他のユーザとつながり、通信し、情報を共有することができる。
画像が、画像全体を1度に表示するには十分な大きさを有さない画面上に表示される場合、特定の実施形態は、ユーザが、傾け動作を用いることによって、1つまたは複数の軸に沿って、1つまたは複数の方向に画像をスクロールさせることを可能にすることができる。画像は、限定ではなく、例として、写真、フォト・アルバムとして表された多数の写真、電子メールのリスト、ウェブ・ページ、地図、音楽のライブラリの視覚的表現、ビデオ・ゲーム、または技術的な図を含む、画面上に表示することができる任意の視覚的コンテンツを含むことができる。
コンピューティング・デバイスは、画像のスクロール範囲を決定し、(例えば、ジャイロスコープなどの)1つまたは複数の傾きセンサに従って初期の傾けを測定し、画像の起点位置を決定することができる。コンピューティング・デバイスは、ディスプレイ上において画像の提示を更新すべきであると決定した場合、センサからの入力およびスクロール範囲に基づいて前進パラメータを計算し、前進パラメータに基づいて画像の提示を更新する。コンピューティング・デバイスは、動きが検出されたことを示す指示をセンサから受け取り続けるのにつれて、画像の提示を適切に更新し続ける。コンピューティング・デバイスは、起点位置を修正するためのユーザ入力も受け取ることができ、その時点から、スクロールは、新しい起点位置に基づいて継続することができる。
画像の提示を更新すべきであるという決定は、(例えば、初期傾けがその周りで測定される軸など)第1の軸の周りのデバイスの回転速度の、(例えば、第1の軸と直交する軸など)第2の軸または第2の軸の成分の周りのデバイスの回転速度との比較に基づくことができる。例えば、第2の軸の周りの回転速度の第1の軸の周りの回転速度に対する比は、閾値と比較することができ、比が閾値を超える場合、画像の提示は更新されなくてよい。画像の提示を更新すべきであるという決定は、例えば、デバイスの加速度が増加したときに増加し、デバイスの加速度が減少したときに減少することによって、デバイスの加速度とともに変化する可変閾値に基づくことができる。閾値は、例えば、上述された比など、デバイスの運動の任意の適切な特性に対応することができる。
本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像のスクロールを示すワイヤフレーム。 本明細書で開示される特定の実施形態による、画像をスクロールさせるための例示的な方法を示す図。 例示的なコンピュータ・システムを示す図。
画像が、画像全体を1度に表示するには十分な大きさを有さない画面上に表示される場合、特定の実施形態は、ユーザが、傾け動作を用いることによって、1つまたは複数の方向に画像をスクロールさせることを可能にすることができる。画像は、限定ではなく、例として、写真、フォト・アルバムとして表された多数の写真、電子メールのリスト、ウェブ・ページ、地図、広告、音楽のライブラリの視覚的表現、ビデオ・ゲーム、映画もしくは他の合理化グラフィカル・コンテンツ(streamlining graphical content)、または技術的な図を含む、画面上に表示することができる任意の適切な視覚的コンテンツを含むことができる。
コンピューティング・デバイスは、画像のスクロール範囲を決定し、ジャイロスコープ、磁気計、または加速度計などの任意の適切な傾きセンサ(orientation sensor)に従って、初期の傾き(initial tilt)を測定することができる。コンピューティング・デバイスは、画像の起点位置を決定することができる。コンピューティング・デバイスは、スクロールを起動するための閾値が満たされたことを示す指示(indication)を傾きセンサから受け取ると、センサからの入力およびスクロール範囲に基づいて、前進パラメータを計算する。その後、コンピューティング・デバイスは、前進パラメータに基づいて、画像の提示を更新する。コンピューティング・デバイスは、動きが検出されたことを示す指示をセンサから受け取り続けるのにつれて、画像の提示を適切に更新し続ける。コンピューティング・デバイスは、起点位置を修正するためのユーザ入力も受け取ることができ、その時点から、スクロールは、新しい起点位置に基づいて継続することができる。
図1A〜図1Fは、本明細書で開示される特定の実施形態による、画像のスクロールについての例示的な使用事例を示すワイヤフレームである。図1Aに示されるように、ユーザは、スマートフォンなどのコンピューティング・デバイスを使用して、海辺の景色を写したパノラマ写真を見ることができるが、パノラマ写真は、画像全体が画面上に現れるようにサイズ変更した場合、望ましいサイズよりも小さくなることがある。コンピューティング・デバイスの実施形態は、図3に関してさらに詳細に説明される。ユーザは、画像上でズームインを行って、図1Bに示されるように、画像の縦の大きさ全部がディスプレイ領域全体を満たすようにすることができることがある。この時点において、ユーザは、画像平面内の軸(例えば、図1Bにおいて破線で示された縦軸など)を軸としてスマートフォンを左右に傾けて、パノラマ画像を前後にスクロールさせ、パノラマ画像の全体を画像の左端から画像の右端へと、また右端から左端へと見てゆくことができる。別例として、ユーザは、スマートフォンを使用して、連絡先リストを見ることができ、別の軸(例えば、画像平面内の横軸など)を軸としてスマートフォンを上下に傾けて、連絡先リストをスクロールさせることができる。別例では、ユーザは、スマートフォンを使用して、地図を見ることができ、表示画面の平面内の横軸および/または縦軸など、任意の適切な軸を軸としてスマートフォンを任意の方向に傾けて、地図をスクロールさせることができる。本開示の範囲内では、「傾ける(tilting)」は、適切な傾きセンサによって測定することができる任意の動作を指し、「傾け(tilt)」の測定は、センサによって測定することができるロール、ピッチ、ヨー、またはそれらの任意の組み合わせの任意の測定を指す。本明細書で説明されるいくつかの実施形態は、傾けがその周りで行われ得る単一の軸に言及することがあるが、本開示は、任意の適切な軸または軸の組の周りの傾けを企図している。
特定の実施形態では、図1Bに示された例に示されるように、(ズームイン・コマンドを受け取った直後に)画像が表示されたとき、写真は、パノラマ画像全体に関して、その中央が提示されるように提示され、この例示的な起点位置は、スクロールがそこから開始することができる画像内の位置である。特定の実施形態では、起点位置は、特定のアプリケーションに従って、画像内の何らかの位置に設定することができる。例えば、ユーザが、1つまたは複数の本を視認によって見つけるために、図書館の本棚のパノラマ画像を眺めてゆくように求められるアプリケーションでは、起点位置は、画像の左端に設定することができる。連絡先リストの別例では、起点位置は、リストの最上部、または選択されたアルファベット文字についての連絡先リスト内の最初のエントリに設定することができ、ユーザは、そこからスクロールダウンすること(およびスクロールアップして戻ること)ができる。特定の実施形態では、起点位置は、ユーザ選択に従って、画像内の何らかの位置に設定することができる。例えば、米国の地図を表示する場合、起点位置は、ユーザによって選択された場所(例えば、グランド・キャニオン地域)に設定することができ、ユーザは、そこから地図を任意の方向にスクロールさせることができる。特定の実施形態では、起点位置は、関連する要因に従って、画像内の適切な位置に設定することができる。
特定の実施形態では、図1Bに示された例に示されるように、(やはり、ズームイン・コマンドを受け取った直後に)画像が表示されたとき、コンピューティング・デバイスは、スクロールを開始するようにユーザを促す、および/またはそのような機能が利用可能であることをユーザに通知する、視覚的インジケータも表示することができる。インジケータは、スクロールがどちらの方向に可能であるかを示すことができ、図1Bに示されるように、スクロールは、両方向に可能であり、一方、図1Fでは、(画像の端に達しているので)スクロールは、1方向にのみ可能である。
図1C〜図1Fは、図1Aのパノラマ写真のズームイン表示を、図1Bに示されるような起点位置および傾動軸の周りの0°の例示的な初期の傾けから開始して、スクロールさせる例を示している。図1C〜図1Fに示されるように、ユーザが、コンピューティング・デバイスを初期の傾けから(コンピューティング・デバイスを保持しているユーザに対して)時計回りに傾け始めると、コンピューティング・デバイスは、傾動軸の周りの第2の傾け(second tilt)を測定することによって、動きを検出する。特定の実施形態では、第2の傾けは、初期の傾けを起点に測定することができる。特定の実施形態では、第2の傾きおよび初期の傾けは、基準傾き、例えば、0°を起点に測定することができる。特定の実施形態では、スクロールを起動するための閾値が満たされると(例えば、コンピューティング・デバイスを初期の傾けからいずれかの方向に2°の最小変化分よりも大きく傾けると、またはコンピューティング・デバイスをいずれかの方向に最小回転速度よりも速く傾けると)、コンピューティング・デバイスは、以下でより完全に説明されるように、測定された傾けに従って、画像をスクロールさせ始める。図1C〜図1Fに示されるように、傾けが増加するにつれて、画像がスクロールされる量も、増加することができ、それは、端に達するのに必要な度数までユーザがコンピューティング・デバイスを傾けて、図1Fにあるように、画像の端に達するまで増加することができる。
図2は、特定の実施形態による、画像をスクロールさせるための例示的な方法200を示している。方法は、工程210において開始することができ、コンピューティング・デバイスは、表示するために画像を描画し、提示する。特定の実施形態では、コンピューティング・デバイスは、統合ディスプレイ画面(integrated display screen)を有するハンドヘルド・デバイスを含むことができる。特定の実施形態では、コンピューティング・デバイスは、外部ディスプレイ画面に接続することができる。本開示の範囲内では、第1の構成要素が第2の構成要素に接続されると言われるのは、それが(例えば、ワイヤもしくはコードを介して)物理的に接続される場合、(例えば、ブルートゥース、近距離無線通信(NFC)、RF、もしくはWi−Fiを介して)無線で接続される場合、または他の任意の種類のネットワーク(例えば、LAN、プライベートWAN、もしくはインターネット)を通して接続される場合である。
工程220において、コンピューティング・デバイスは、軸に対して画像のスクロール範囲を決定する。特定の実施形態では、スクロール範囲は、画像のアスペクト比および画像の絶対寸法に基づいて決定され、例えば、scrollRange=((photoWidth/photoHeight)×(DEGREES_TO_RADIANS(tiltRange)/(length/height)))であり、ここで、tiltRangeは、画像の1端から反対端までのスクロールに必要とされる傾けの度数であり、length×heightは、画像のアスペクト比である(ここでlengthは、スクロールがそれに沿って生じ得る次元である)。tiltRangeパラメータは、画像のアスペクト比に従って変化することができ、その結果、アスペクト比が3×1であるパノラマ画像の長さ方向のスクロールの場合、より大きいtiltRangeを使用することができ、一方、3×3の画像の長さ方向のスクロールの場合、より小さいtiltRangeを使用することができる。特定の実施形態では、tiltRangeは、ユーザが画面を見るのに苦労するような大きさまでデバイスを傾ける必要がないことを保証するために制約を受けることもある。特定の実施形態では、スクロール範囲は、デバイスの向きに基づくことができる。例えば、長方形ディスプレイを有するデバイスは、デバイスがランドスケープ・モードで見られているか、それともポートレート・モードで見られているかに基づいて、画像の様々な部分を提示することができ、したがって、デバイスがランドスケープ・モードで見られているか、それともポートレート・モードで見られているかに基づいて、画像の寸法に対して様々なスクロール範囲を計算することができる。
工程230において、コンピューティング・デバイスは、例えば、ジャイロスコープ・センサを使用して、初期の傾けを測定する。初期の傾けは、初期の傾けの以降の変化がそこを起点に測定される基準点とすることができる。例えば、デバイスを保持しているユーザが、それをほぼ完璧に水平に保持しているために、統合ジャイロスコープを有する、横向きでパノラマ画像を表示しているハンドヘルド・コンピューティング・デバイスが、デバイスを高さ方向に貫く軸に対する傾けを0.3°であると測定した場合、デバイスによって登録される、以降の動作に関して測定されるいずれの傾けも、初期の傾けからの変化分として測定される。特定の実施形態では、ユーザがその同じ画像を見ている間に全般的な向きが変化した場合(例えば、ユーザがスマートフォンを使用しながら横向きに寝た場合)、コンピューティング・デバイスは、ディスプレイに関して画像の提示をスクロールさせるための軸を保ちながら、以降の傾け測定を適切に適用して、以下でより十分に説明される前進パラメータを決定するために、初期の傾けを更新することができる。デバイスによって登録される、以降の動作に関して測定されるいずれの傾けも、更新された初期の傾けからの変化分として測定される。図1Bに示された例に示されるように、初期の傾けは、0°と測定される。特定の実施形態では、コンピューティング・デバイスは、統合ジャイロスコープを有するハンドヘルド・デバイスを含むことができる。特定の実施形態では、コンピューティング・デバイスは、ジャイロスコープを備える外部ハンドヘルド・コントローラに接続することができる。
工程240において、コンピューティング・デバイスは、起点位置を決定する。図1Bに関して上で説明されたように、起点位置は、特定のアプリケーションに従って、ユーザ選択に従って、画像内の特定の位置に設定することができ、または関連する要因に従って、画像内の適切な位置に設定することができる。
工程250において、コンピューティング・デバイスは、1つまたは複数の要因に基づいて、(例えば、画像のスクロールの起動などによって)画像提示を更新するかどうかを決定する。特定の実施形態では、要因は、軸の周りの第2の傾け(すなわち、初期の傾け以降の傾け)とすることができる。例えば、第2の傾けは、初期の傾けに対して測定することができ、または初期の傾けおよび第2の傾けの両方がそこを起点に測定される基準傾きに対して測定することができる。
上述されたように、スクロールを起動するために、閾値を使用することができる。閾値起動は、意図しない手の震えが原因の、または乗物に乗っているなど、不安定な環境が原因のデバイスの動きなどによる、意図しないスクロールを防止する助けとなり得る。例示的な1実施形態では、閾値は、測定された傾けの、初期の傾けに対する、いずれかの方向における最小変化を含むことができる。例示的な別の実施形態では、閾値は、(例えば、スクロール機能がコンピューティング・デバイスの急激な傾け動作によって起動される場合の)いずれかの方向における最小回転速度を含むことができる。
特定の実施形態では、画像提示を更新するかどうかの決定は、第1の軸の周りのデバイスの回転速度を、第2の軸または第2の軸の成分の周りのデバイスの回転速度と比較することを含む。例えば、第1の軸は、初期の傾けの成分がその周りで測定される軸とすることができる。上述されたように、特定の実施形態では、その軸は、画像平面内に存在することができる。第2の軸は、例えば、第1の軸と直交する軸など、他の任意の適切な軸とすることができる。同様に、第2の軸の成分は、例えば、第1の軸と直交する成分など、その軸の任意の適切な成分とすることができる。第2の軸は、第1の軸と直交する画像平面内に存在し、画像がスクロール範囲を有さない次元に沿った方向に延びることができる。第1の軸の周りの回転速度と、(本明細書で使用される場合、必要に応じて、第2の軸の成分の周りの回転速度を含む)第2の軸の周りの回転速度は、第2の軸の周りの回転速度の第1の軸の周りの回転速度に対する比を決定することによって、比較することができる。特定の実施形態では、その比は、閾値と比較することができ、比が閾値よりも大きい場合、画像提示は更新されない。例えば、第1の軸の周りの回転速度のパーセンテージで示した第2の軸の周りの回転速度が、(例えば、0.55などの)閾値よりも大きい場合、画像のスクロールは、生じなくてよい。
特定の実施形態では、画像提示を更新するかどうかの決定は、デバイスの加速度に基づいて変化する可変閾値の使用を含む。例えば、閾値は、デバイスの加速度が増加したときに、増加することができる(すなわち、デバイスの加速度が相対的に大きいときは、画像をスクロールさせるために、より意図的に傾けることが必要とされる)。閾値は、デバイスの加速度が減少するにつれて、減少することができる。特定の実施形態では、閾値は、最大閾値と最小閾値の間で、加速度の関数として増加することができ、加速度の(同じまたは異なる)関数として減少することができる。特定の実施形態では、加速度は、直線加速度(すなわち、デバイスの速度ベクトルの大きさの変化)、角加速度、デバイスの速度ベクトルの方向の変化、またはそれらの任意の適切な組み合わせを含むことができる。閾値は、例えば、デバイスの傾けの度数、デバイスの回転速度、2つの異なる軸の周りのデバイスの回転速度の比(例えば、上で説明された比)、またはそれらの任意の適切な組み合わせなど、任意の適切なメトリックと比較することができる。
工程260において、コンピューティング・デバイスは、センサからの入力およびスクロール範囲に基づいて、画像をいかにスクロールさせるかを示す前進パラメータを計算する。例えば、前進パラメータは、実行されるスクロールの量、スクロールを実行すべきスピード、その両方、または他の任意の適切なパラメータを含むことができる。前進パラメータは、限定ではなく、例として、(1)初期の傾け測定、(2)傾きセンサによって報告された現在の(すなわち、第2の)傾け測定、(3)ジャイロスコープによって報告された先行する傾け測定と現在の傾け測定との間の変化分であって、傾きセンサが、ある間隔で測定をサンプリングすることができる、変化分、(4)傾きセンサによって報告された先行する傾け測定と現在の傾け測定との間の変化分に基づいて計算される回転、(5)最後の傾け測定について決定される、絶対位置に対する起点位置のオフセット、または(6)傾きセンサによって通知された現在の傾け測定について決定される、絶対位置に対する起点位置のオフセットを含む、1つまたは複数の属性を含むことができる。特定の実施形態では、ユーザのデバイスの持ち方の緩やかな変化がスクロールをトリガしないようにするために、前進パラメータは、最小回転速度を満たすことが必要とされることがある。
特定の実施形態では、(ユーザがスクロール範囲を超えてスクロールすることができないように)入力データを画像の寸法に制限するために、入力を切り詰めることができる。特定の実施形態では、ジャイロスコープから受け取った入力データは、手の震えに起因する揺れを低減または除去して、滑らかなスクロール動作を生み出すために、平滑化することができる。入力の平滑化は、(入力内のスパイクを除去するために)ローパス・フィルタを入力データに適用すること、および/または(途切れずに進行する滑らかなスクロール動作を生み出すために)RK4(ルンゲ−クッタ)ソルバを入力データに適用することを含むことができる。
工程270において、コンピューティング・デバイスは、前進パラメータ(progress parameter)に基づいて、画像のスクロールを示すために画像提示を更新する。画像提示は、仮想ばね効果などの特別な効果を含むことができる(例えば、画像は、画像の端に向かってスクロールされて、端に「ぶつかった」ときに跳ね返り、および/または画像スクロールは、端が近づいて、仮想ばねがより大きく引き延ばされるにつれて遅くなる)。特定の実施形態では、画面上に表示される画像の動きは、仮想ばねの1方の端を起点位置にある画像に取り付け、仮想ばねの別の端を画面上の位置(例えば、画面の中心、画面の角隅、または画面の端)に取り付けることによって、シミュレートすることができる。任意の数の仮想ばねをオブジェクトに取り付けることができる。特定の実施形態では、オブジェクトの動きは、フックの法則:F=−kxに基づいて決定することができ、ここで、xは、その平衡位置からのばねの端部の変位(例えば、距離、SI単位では、メートル)であり、Fは、その端部においてばねによってもたらされる復元力(SI単位では、Nまたはkg・m/s)であり、kは、レートまたはばね定数と呼ばれる定数(SI単位では、N/mまたはkg/s)である。この等式が成り立つ場合、挙動は線形であると言われる。等式の右辺に負の符号が存在するのは、復元力は、常に、変位とは反対方向に働くためである(例えば、ばねが左に引き延ばされる場合、ばねは右に引き戻される)。一般に、ばねの動きを決定する際、以下の特性、すなわち、質量、減衰、ばね剛性、ばね静止長が関与する。いくつかの実施では、仮想質量をオブジェクトに割り当てることができる。
特定の実施形態では、仮想ばねは、表示される画像の属性に基づいて、異なる状態値を有することができる。ばねは、オブジェクトの動きのアニメーション系列がより自然らしく見えるようにするために、切れる代わりに、1組の状態値から別の組へと傾斜することができる。例えば、アニメーションにおいて使用されるばねのきつさ、または1組の状態値から別の組への傾斜のレベルを決定するために、画像の端と起点位置との間の距離を使用することができる。
特定の実施形態では、物理学エンジンが、ばねの動きをシミュレートするアルゴリズムを実施する。1つまたは複数の仮想ばねをオブジェクトに取り付けることができる。例えば、画面上に表示された画像のスクロールを起動するために、コンピューティング・デバイスが傾けられた場合、画像内の起点位置に仮想ばねを取り付けることができる。オブジェクトが動く(例えば、傾け動作によってスクロールされる)とき、オブジェクトの動きが、ばねの動きの物理学に基づいて、アニメーション化されるように、その動きは、仮想ばねの経路を辿る。特定の実施形態では、アルゴリズムは、張力、質量、減衰効果、測定された傾けなどの変数を考慮することができる。例として、画像が、起点位置から離れて、端に近づくようにスクロールされる(それによって、ばねをより大きく引き延ばす)場合、スクロール・スピードは、低下することが可能である。反対に、画像が、起点位置に戻るようにスクロールされる場合、スクロール・スピードは、スピードアップすることが可能である。別例において、画像が、起点位置から離れるようにスクロールされ、端に「ぶつかった」場合、画像は、端に達して跳ね返ったように見えることが可能である。
特定の実施形態では、オブジェクト上でズームインが行われた場合、オブジェクトは、サイズが大きくなる。オブジェクト上でズームアウトが行われた場合、オブジェクトは、サイズが小さくなる。オブジェクトのサイズの変化は、アニメーション系列で描写することができ、オブジェクトの動きは、ばねの動きに基づくことができる。特定の実施形態では、オブジェクトが、最終目的位置に向かって移動する場合、オブジェクトの中間位置は、ばねの動きに基づいて補間することができる。起点位置が、新しい起点位置の指定に基づいて修正される場合、仮想ばねは、新しい起点位置に取り付け直すことができる。
工程280において、ユーザがコンピューティング・デバイスを傾け続けている場合、コンピューティング・デバイスは、センサが動きを検出していることを示す継続的な標識を受け取ることができる。特定の実施形態では、図2の方法は、センサが実質的に連続的な動きを検出する限り、工程260から繰り返すことができる。特定の実施形態では、コンピューティング・デバイスが、閾値期間よりも長い間、動きがないことを検出した場合、またはコンピューティング・デバイスが、センサによって検出された動作の大きさが閾値よりも下がったことを検出した場合、コンピューティング・デバイスは、工程250に戻ることができ、または画像を自動的にパンしていくことができる。
工程285において、デバイスは、画像をその起点位置に戻すべきであることを示す入力を受け取る。特定の実施形態では、起点位置は、事前決定された動きの直前の画像の位置とすることができる。入力は、任意の適切なタイプのものとすることができる。例えば、入力は、デバイスの事前決定された動きとすることができる。本明細書で使用される場合、適切なときは、「事前決定された動き」は、動き、その動きの属性もしくは態様、またはその両方を含む。例えば、事前決定された動きは、特定の振動数で、特定の持続時間にわたって、または特定の力の量で、デバイスを振ることを含むことができる。
特定の実施形態では、事前決定された動きは、例えば、傾動軸の周りのある量の第2の傾けなど、任意の適切な軸の周りのデバイスの回転を含むことができる。例えば、事前決定された動きは、初期の傾けに対して少なくとも90°の傾けとすることができる。別例として、事前決定された動きは、例えば、少なくとも180°の回転など、適切な基準点に対するある量の回転とすることができる。別例として、事前決定された動きは、事前決定された長さの時間内の回転を含むことができる。特定の実施形態では、事前決定された動きは、例えば、第2の傾けと関連付けられた加速度など、傾けと関連付けられた加速度を含むことができる。例えば、事前決定された動きは、(少なくとも10πラジアン毎秒毎秒など)相対的に高い角加速度の傾けとすることができる。特定の実施形態では、事前決定された動きは、画像のスクロール範囲の限界を超えて画像をスクロールさせようとする試みとなる動きとすることができる。特定の実施形態では、視覚的インジケータは、画像が配置し直されようとしていることをユーザに通知することができる。例えば、スクロール範囲の端に達したとき、画像のばねに似た跳ね返りなどの効果は、画像が配置し直されつつある、または配置し直されようとしていることを示すことができる。
特定の実施形態では、事前決定された動きは、事前決定されていなければ画像をスクロールさせる動き、すなわち、工程250において必要とされたデバイスに画像提示の更新を決定させる動きとすることができる。例えば、初期の傾けに続く傾動軸の周りの第2の傾けは、画像のスクロールを引き起こすことができ、(傾けの度数、傾けの変化率、または他の任意の適切な態様など)傾けの特定の態様は、事前決定された動きとすることができる。それらの事前決定された動きは、事前決定されていなければ工程250の要件を満たすにもかかわらず、デバイス上で画像をスクロールさせることを意図していない動きを識別するために使用することができる。例えば、ユーザは、ユーザの向かいに座っている友人に画像が表示されることを望むことがあり、その友人に画像が表示されるようにデバイスを回転させることがある。デバイスの回転は、スクロールを引き起こし得るが、回転の度数、回転のスピード、回転の突然の停止もしくは回転の特定の地点(例えば、180°)における回転の停止、またはそれらの任意の組み合わせは、デバイスの回転の直前の起点位置などの起点位置に画像を戻す事前決定された動きとすることができる。したがって、画像は、それが回転前にユーザに見えていたように、友人に表示される。
特定の実施形態では、事前決定された動きの間中、定期的に配置し直しが生じる。特定の実施形態では、事前決定された動きの終了時に、配置し直しが生じる。例えば、配置し直しは、事前決定された動きが完了してから事前決定された時間が経過した後に生じることができる。別例として、配置し直しは、事前決定された動きが完了し、ある期間にわたってデバイスを実質的に静止させた後に生じることができる。
工程290において、コンピューティング・デバイスは、起点位置を新しい起点位置に修正するための入力を受け取ることができる。ユーザは、起点位置から離れて新しい位置に向かうようにスクロールした後、(例えば、新しい位置上でクリックし、指で押さえることで)起点位置を新しい位置に修正することができる。その場合、コンピューティング・デバイスは、新しい起点位置を決定するために、工程240に戻ることができ、その後、新しい起点位置に基づいて、スクロール機能を提供し続けることができる。
特定の実施形態では、画像が画面上に最初に表示されるとき、画像を1度自動的にパンしてゆくことができ、その後、パンが完了すると、画像は、コンピューティング・デバイスを傾けることによってスクロールさせる方法で利用可能にすることができる。画像をパンしてゆくことに関連して、特定の実施形態は、限定としてではなく、例として、本願明細書に援用される、2012年11月14日に出願された「画像パンおよびズーム効果(Image Panning and Zooming Effect)」と題する米国特許出願第13/676831号において開示されている、1つまたは複数のシステム、コンポーネント、要素、機能、方法、操作、または工程を利用することができる。
特定の実施形態は、適切な場合、図2の方法の1つまたは複数のステップを繰り返してもよい。本開示は、図2の方法の特定のステップについて特定の順序で行われるものとして述べ、示しているが、本開示は、任意の好適な順序で行われる図2の方法の任意の好適なステップを企図する。さらに、本開示は、図2の方法の特定のステップを実施する特定の構成要素、デバイス、またはシステムについて述べ、示しているが、本開示は、図2の方法の任意の好適なステップを実施する任意の好適な構成要素、デバイス、またはシステムの任意の好適な組合せを企図する。
図3は、例示的なコンピュータ・システム300を示す。特定の実施形態では、1または複数のコンピュータ・システム300は、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施する。特定の実施形態では、1または複数のコンピュータ・システム300は、本明細書に記載され、または示されている機能を提供する。特定の実施形態では、1または複数のコンピュータ・システム300上で動作するソフトウェアは、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施し、または本明細書に記載され、または示されている機能を提供する。特定の実施形態は、1または複数のコンピュータ・システム300の1または複数の部分を含む。本明細書では、コンピュータ・システムに言及することは、適切な場合、コンピューティング・デバイスを包含してもよく、逆も同様である。さらに、コンピュータ・システムに言及することは、適切な場合、1または複数のコンピュータ・システムを包含してもよい。
この開示は、任意の好適な数のコンピュータ・システム300を企図する。この開示は、任意の好適な物理形態をとるコンピュータ・システム300を企図する。限定するものとしてではなく一例として、コンピュータ・システム300は、組込みコンピュータ・システム、システム・オン・チップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータ・オン・モジュール(COM)またはシステム・オン・モジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、対話キオスク、メインフレーム、コンピュータ・システムのメッシュ、移動体電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらの2以上の組合せであってよい。適切な場合、コンピュータ・システム300は、1または複数のコンピュータ・システム300を含んでもよく、一元的なものであっても分散型であってもよく、複数のロケーションに跨ってもよく、複数のマシンに跨ってもよく、複数のデータ・センタに跨ってもよく、クラウド内にあってもよく、クラウドは、1または複数のネットワーク内で1または複数のクラウド・コンポーネントを含んでもよい。適切な場合、1または複数のコンピュータ・システム300は、実質的な空間的または時間的制限なしに、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。限定するものとしてではなく一例として、1つまたは複数のコンピュータ・システム300は、リアルタイムで、またはバッチ・モードで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。1または複数のコンピュータ・システム300は、適切な場合、異なる時に、または異なるロケーションで、本明細書に記載され、または示されている1または複数の方法の1または複数のステップを実施してもよい。
特定の実施形態では、コンピュータ・システム300は、プロセッサ302、メモリ304、ストレージ306、入力/出力(I/O)インターフェース308、通信インターフェース310、およびバス312を含む。この開示は、特定の数の特定の構成要素を特定の構成で有する特定のコンピュータ・システムについて記載し示しているが、この開示は、任意の好適な数の任意の好適な構成要素を任意の好適な構成で有する任意の好適なコンピュータ・システムを企図する。
特定の実施形態では、プロセッサ302は、コンピュータ・プログラムを構成するものなど命令を実行するためのハードウェアを含む。限定するものとしてではなく一例として、命令を実行するために、プロセッサ302は、内部レジスタ、内部キャッシュ、メモリ304、またはストレージ306から命令を取り出し(またはフェッチし)、それらを復号および実行し、次いで、1または複数の結果を内部レジスタ、内部キャッシュ、メモリ304、またはストレージ306に書き込む。特定の実施形態では、プロセッサ302は、データ、命令、またはアドレス用に1または複数の内部キャッシュを含んでもよい。この開示は、適切な場合、任意の好適な数の任意の好適な内部キャッシュを含むプロセッサ302を企図する。限定するものとしてではなく一例として、プロセッサ302は、1または複数の命令キャッシュ、1または複数のデータ・キャッシュ、および1または複数の変換索引バッファ(TLB)を含んでもよい。命令キャッシュ内の命令は、メモリ304またはストレージ306内の命令のコピーであってもよく、命令キャッシュは、プロセッサ302によるこれらの命令の取り出しを高速化する。データ・キャッシュ内のデータは、プロセッサ302にて実行される命令が操作するための、メモリ304またはストレージ306内のデータのコピー、プロセッサ302で実行される後続の命令によるアクセスのための、またはメモリ304もしくはストレージ306に書き込むための、プロセッサ302で実行された以前の命令の結果、あるいは他の好適なデータであってもよい。データ・キャッシュは、プロセッサ302による読出しまたは書込み動作を高速化する。TLBは、プロセッサ302のために仮想アドレス変換を高速化する。特定の実施形態では、プロセッサ302は、データ、命令、またはアドレス用に1または複数の内部レジスタを含む。この開示は、適切な場合、任意の好適な数の任意の好適な内部レジスタを含むプロセッサ302を企図する。適切な場合、プロセッサ302は、1または複数の算術論理演算ユニット(ALU)を含むことができ、マルチコア・プロセッサであってもよく、1または複数のプロセッサ302を含んでもよい。この開示は、特定のプロセッサについて記載し示しているが、この開示は、任意の好適なプロセッサを企図する。
特定の実施形態では、メモリ304は、プロセッサ302が実行するための命令、またはプロセッサ302が操作するためのデータを記憶するための主記憶装置を含む。限定するものとしてではなく一例として、コンピュータ・システム300は、ストレージ306または別のソース(たとえば、別のコンピュータ・システム300など)からメモリ304に命令をロードする。次いで、プロセッサ302は、メモリ304から内部レジスタまたは内部キャッシュに命令をロードする。命令を実行するために、プロセッサ302は、内部レジスタまたは内部キャッシュから命令を取り出し、それらを復号する。命令の実行中、または実行後、プロセッサ302は、1または複数の結果(中間結果であることも最終結果であることもある)を内部レジスタまたは内部キャッシュに書き込む。次いで、プロセッサ302は、それらの結果の1または複数をメモリ304に書き込む。特定の実施形態では、プロセッサ302は、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ306もしくは他の場所ではなく)メモリ304内の命令だけを実行し、1もしくは複数の内部レジスタもしくは内部キャッシュ内、または(ストレージ806もしくは他の場所ではなく)メモリ304内のデータだけを操作する。1または複数のメモリ・バス(それぞれがアドレス・バスとデータ・バスを含むことがある)がプロセッサ302をメモリ304に結合してもよい。バス312は、下記に記載されているように、1または複数のメモリ・バスを含んでもよい。特定の実施形態では、1または複数のメモリ管理ユニット(MMU)が、プロセッサ302とメモリ304との間に存在し、プロセッサ302によって要求されるメモリ304へのアクセスを容易にする。特定の実施形態では、メモリ304は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合、揮発性メモリであり得る。適切な場合、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であってよい。さらに、適切な場合、このRAMは、シングルポート型またはマルチポート型RAMであってよい。この開示は、任意の好適なRAMを企図する。メモリ304は、適切な場合、1または複数のメモリ304を含んでもよい。この開示は、特定のメモリについて記載し示しているが、この開示は、任意の好適なメモリを企図する。
特定の実施形態では、ストレージ306は、データまたは命令用のマス・ストレージを含む。限定するものとしてではなく一例として、ストレージ306は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、もしくはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらの2以上の組合せを含んでもよい。ストレージ306は、適切な場合、取外し式または非取外し式(または固定)媒体を含んでもよい。ストレージ306は、適切な場合、コンピュータ・システム300に対して内部であっても外部であってもよい。特定の実施形態では、ストレージ306は、不揮発性のソリッドステート・メモリである。特定の実施形態では、ストレージ306は、読出し専用メモリ(ROM)を含む。適切な場合、このROMは、マスクプログラムドROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書き換え可能ROM(EAROM)、もしくはフラッシュ・メモリ、またはこれらの2以上の組合せであってよい。この開示は、任意の好適な物理形態をとるマス・ストレージ306を企図する。ストレージ306は、適切な場合、プロセッサ302とストレージ306の間の通信を容易にする1または複数のストレージ制御ユニットを含んでもよい。適切な場合、ストレージ306は、1または複数のストレージ306を含んでもよい。この開示は、特定のストレージについて記載し示しているが、この開示は、任意の好適なストレージを企図する。
特定の実施形態では、I/Oインターフェース308は、コンピュータ・システム300と1または複数のI/Oデバイスとの間の通信のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム300は、適切な場合、これらのI/Oデバイスの1または複数を含んでもよい。これらのI/Oデバイスの1または複数は、人とコンピュータ・システム300の間の通信を可能にする。限定するものとしてではなく一例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の好適なI/Oデバイス、またはこれらの2以上の組合せを含んでもよい。I/Oデバイスは、1または複数のセンサを含んでもよい。この開示は、任意の好適なI/Oデバイス、およびそれらのための任意の好適なI/Oインターフェース308を企図する。適切な場合、I/Oインターフェース308は、プロセッサ302がこれらのI/Oデバイスの1または複数を駆動することを可能にする1または複数のデバイスまたはソフトウェア・ドライバを含む。I/Oインターフェース308は、適切な場合、1または複数のI/Oインターフェース308を含んでもよい。この開示は、特定のI/Oインターフェースについて記載し示しているが、この開示は、任意の好適なI/Oインターフェースを企図する。
特定の実施形態では、通信インターフェース310は、コンピュータ・システム300と1もしくは複数の他のコンピュータ・システム300または1もしくは複数のネットワークとの間の通信(たとえば、パケットベースの通信など)のために1または複数のインターフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、通信インターフェース310は、ETHERNET(登録商標)もしくは他の有線ベースのネットワークとの通信のためのインターフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなど無線ネットワークとの通信のための無線NIC(WNIC)もしくは無線アダプタを含んでもよい。この開示は、任意の好適なネットワーク、およびそのための任意の好適な通信インターフェース310を企図する。限定するものとしてではなく一例として、コンピュータ・システム300は、アドホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1もしくは複数の部分、あるいはこれらの2以上の組合せと通信する。これらのネットワークの1または複数のうちの1または複数の部分は、有線であっても無線であってもよい。一例として、コンピュータ・システム300は、無線PAN(WPAN)(たとえば、BLUETOOTH(登録商標)WPANなど)、WI−FIネットワーク、WI−MAXネットワーク、携帯電話ネットワーク(たとえば、グローバル移動体通信システム(GSM(登録商標))ネットワークなど)、もしくは他の好適な無線ネットワーク、またはこれらの2以上の組合せと通信する。コンピュータ・システム300は、適切な場合、これらのネットワークのいずれかのための任意の好適な通信インターフェース310を含んでもよい。通信インターフェース310は、適切な場合、1または複数の通信インターフェース310を含んでもよい。この開示は、特定の通信インターフェースについて記載し示しているが、この開示は、任意の好適な通信インターフェースを企図する。
特定の実施形態では、バス312は、コンピュータ・システム300の構成要素を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定するものとしてではなく一例として、バス312は、アクセラレィティッド・グラフィックス・ポート(AGP)もしくは他のグラフィックス・バス、EISA(Enhanced Industry Standard Architecture)バス、フロントサイド・バス(FSB)、HT(HYPERTRANSPORT)相互接続、ISA(Industry Standard Architecture)バス、インフィニバンド相互接続、LPC(low−pin−count)バス、メモリ・バス、MCA(Micro Channel Architecture)バス、PCI(Peripheral Component Interconnect)バス、PCIエクスプレス(PCIe)バス、SATA(serial advanced technology attachment)バス、VLB(Video Electronics Standards Association local)バス、もしくは別の好適なバス、またはこれらの2以上の組合せを含んでもよい。バス312は、適切な場合、1または複数のバス312を含んでもよい。この開示は、特定のバスについて記載し示しているが、この開示は、任意の好適なバスまたは相互接続を企図する。
本明細書では、1または複数の非一時的コンピュータ可読記憶媒体は、適切な場合、1または複数の半導体ベースの、もしくは他の集積回路(IC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)または特定用途向けIC(ASIC))、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはセキュア・デジタル・ドライブ、任意の他の好適な非一時的コンピュータ可読記憶媒体、またはこれらの2以上の組合せを含んでもよい。非一時的コンピュータ可読記憶媒体は、適切な場合、揮発性、不揮発性、または揮発性と不揮発性の組合せであってよい。
本明細書では、「または(もしくは)」は、別段明確に示されていない限り、または別段文脈によって示されない限り、包括的(inclusive)であり、排他的なものではない。したがって、本明細書では、「AまたはB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「A、B、またはその両方」を意味する。さらに、「および」は、別段明確に示されていない限り、または別段文脈によって示されない限り、共同であり、個別的でもある。したがって、本明細書では、「AおよびB」は、別段明確に示されていない限り、または別段文脈によって示されない限り、「AおよびBを共同で、または個別的に」意味する。
この開示の範囲は、当業者であれば理解するであろう、本明細書に記載され、または示されている例示的な実施形態に対する変更、置換、変形、代替、および修正すべてを包含する。この開示の範囲は、本明細書に記載され、または示されている例示的な実施形態に限定されない。さらに、この開示は、それぞれの実施形態について、本明細書では、特定の構成要素、要素、機能、動作、またはステップを含むものとして記載し示しているが、これらの実施形態のいずれも、当業者であれば理解するであろう、本明細書のどこかに記載され、または示されている構成要素、要素、機能、動作、またはステップのいずれかの任意の組合せまたは並べ替えを含んでもよい。さらに、添付の特許請求の範囲において、特定の機能を実施するように適合された、するように配置された、することが可能な、するように構成された、することが可能である、するように動作可能である、またはするように動作する装置もしくはシステム、または装置もしくはシステムの構成要素に言及することは、その装置、システム、または構成要素がそのように適合され、配置され、動作可能であり、構成され、可能であり、動作可能であり、動作する限り、それ、またはその特定の機能が作動される、オンにされる、またはロック解除されるか否かにかかわらず、その装置、システム、構成要素を包含する。

Claims (45)

  1. 方法であって、
    コンピューティング・デバイスによって、該デバイス上に表示するための画像の寸法に少なくとも部分的に基づいた、該画像のスクロール範囲を決定すること、
    該コンピューティング・デバイスによって、該画像の起点位置および該デバイスの初期の傾けを決定すること、
    該コンピューティング・デバイスによって、第1の軸の周りの第2の傾けおよび回転速度を決定すること、
    該コンピューティング・デバイスによって、第2の軸の周りの回転速度を決定すること、
    該コンピューティング・デバイスによって、該第1の軸の周りの該デバイスの回転速度に対する該第2の軸の周りまたは該第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    該コンピューティング・デバイスによって、前記比率を、事前決定された非ゼロしきい比率と比較すること、
    該コンピューティング・デバイスによって、該比較することに基づいて、該画像のスクロール提示を表示すべきかどうかを決定すること、
    該コンピューティング・デバイスによって、該画像のスクロール提示を表示すべき場合、
    該スクロール範囲、該起点位置、該初期の傾け、および該第2の傾けに少なくとも部分的に基づいて、前進パラメータを決定すること、
    該前進パラメータに少なくとも部分的に基づいて、該画像のスクロール提示を表示すること、を備える方法。
  2. 前記前進パラメータが、
    前記第2の軸の周りの前記回転速度を決定すること、
    前記第1の軸の周りの該デバイスの回転速度に対する前記第2の軸の周りもしくは前記第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    前記比較することに基づいて、前記画像のスクロール提示を表示すべきかどうかを決定すること
    のうちの1つまたは複数と実質的に同時に決定される、請求項1に記載の方法。
  3. 前記第2の軸、または
    前記第2の軸の成分
    のうちの一方または両方が、前記第1の軸と直交する、請求項1に記載の方法。
  4. 前記比較することに基づいて、前記画像のスクロール提示を表示すべきかどうかを決定することが、
    前記比率前記事前決定された非ゼロしきい比率よりも大きい場合、前記スクロール提示を表示すべきではないと決定すること、を含む、請求項に記載の方法。
  5. 前記事前決定された非ゼロしきい比率が、約0.55の値を有する、請求項に記載の方法。
  6. 前記第1の軸が、前記画像の平面内に存在し、前記画像が前記第1の軸に沿って非ゼロのスクロール範囲を有する第3の軸と直交する軸を含む、請求項1に記載の方法。
  7. 前記第2の軸が、前記第3の軸である、請求項に記載の方法。
  8. 前記スクロール範囲が、前記デバイスの向きに依存する、請求項1に記載の方法。
  9. 前記比較することに基づいて、前記画像の前記スクロール提示を表示すべきかどうかを決定することが、
    前記比較することと、
    前記デバイスの加速度に基づいて変化する可変閾値と、
    に基づいて、前記画像の前記スクロール提示を表示すべきかどうかを決定することを含む、請求項1に記載の方法。
  10. 前記可変閾値が、前記デバイスの加速度が増加するときに増加する、請求項に記載の方法。
  11. 前記加速度が、直線加速度を含む、請求項に記載の方法。
  12. 前記可変閾値が、最小閾値と最大閾値の間で変化する、請求項に記載の方法。
  13. 前記可変閾値が、傾けの度数に対応する、請求項に記載の方法。
  14. 前記可変閾値が、前記デバイスの回転速度に対応する、請求項に記載の方法。
  15. 前記可変閾値が、事前決定されたしきい値である、請求項に記載の方法。
  16. 1つまたは複数のコンピュータ可読非一時的記憶媒体であって、
    実行されると、
    デバイス上に表示するための画像の寸法に少なくとも部分的に基づいた、該画像のスクロール範囲を決定すること、
    該画像の起点位置および該デバイスの初期の傾けを決定すること、
    第1の軸の周りの第2の傾けおよび回転速度を決定すること、
    第2の軸の周りの回転速度を決定すること、
    該第1の軸の周りの該デバイスの回転速度に対する該第2の軸の周りまたは該第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    前記比率を、事前決定された非ゼロしきい比率と比較すること、
    該比較することに基づいて、該画像のスクロール提示を表示すべきかどうかを決定すること、
    該画像の該スクロール提示を表示すべき場合、
    該スクロール範囲、該起点位置、該初期の傾け、および該第2の傾けに少なくとも部分的に基づいて、前進パラメータを決定すること、
    該前進パラメータに少なくとも部分的に基づいて、該画像のスクロール提示を表示すること、を実行するように動作可能なソフトウェアを実装する1つまたは複数のコンピュータ可読非一時的記憶媒体。
  17. 実行されると、前記比較することに基づいて、前記画像の前記スクロール提示を表示すべきかどうかを決定することを実行するように動作可能な前記ソフトウェアが、
    実行されると、
    前記比較することと、
    前記デバイスの加速度に基づいて変化する可変閾値と、
    に基づいて、前記画像の前記スクロール提示を表示すべきかどうかを決定することを実行するように動作可能なソフトウェアを含む、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  18. 前記可変閾値が、事前決定されたしきい値である、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  19. 前記可変閾値が、前記デバイスの加速度が増加するときに増加する、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  20. 前記加速度が、直線加速度を含む、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  21. 前記可変閾値が、最小閾値と最大閾値の間で変化する、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  22. 前記可変閾値が、傾けの度数に対応する、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  23. 前記可変閾値が、前記デバイスの回転速度に対応する、請求項17に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  24. 前記前進パラメータが、
    前記第2の軸の周りの前記回転速度を決定すること、
    前記第1の軸の周りの該デバイスの回転速度に対する前記第2の軸の周りもしくは前記第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    前記比較することに基づいて、前記画像のスクロール提示を表示すべきかどうかを決定すること
    のうちの1つまたは複数と実質的に同時に決定される、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  25. 前記第2の軸、または
    前記第2の軸の成分
    のうちの一方または両方が、前記第1の軸と直交する、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  26. 前記ソフトウェアが、実行されると、
    前記比率が前記事前決定された非ゼロしきい比率よりも大きい場合、前記スクロール提示を表示すべきではないと決定するようにさらに動作可能である、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  27. 前記事前決定された非ゼロしきい比率が、約0.55の値を有する、請求項26に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  28. 前記第1の軸が、前記画像の平面内に存在し、前記画像が前記第1の軸に沿って非ゼロのスクロール範囲を有する第3の軸と直交する軸を含む、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  29. 前記第2の軸が、前記第3の軸である、請求項28に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  30. 前記スクロール範囲が、前記デバイスの向きに依存する、請求項16に記載の1つまたは複数のコンピュータ可読非一時的記憶媒体。
  31. システムであって、
    1つまたは複数のプロセッサと、
    該1つまたは複数のプロセッサに結合され、該1つまたは複数のプロセッサによって実行可能な命令を含むメモリと、を備え、
    該プロセッサが、該命令を実行したときに、
    デバイス上に表示するための画像の寸法に少なくとも部分的に基づいた、該画像のスクロール範囲を決定すること、
    該画像の起点位置および該デバイスの初期の傾けを決定すること、
    第1の軸の周りの第2の傾けおよび回転速度を決定することと、
    第2の軸の周りの回転速度を決定すること、
    該第1の軸の周りの該デバイスの回転速度に対する該第2の軸の周りまたは該第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    前記比率を、事前決定された非ゼロしきい比率と比較すること、
    該比較することに基づいて、該画像のスクロール提示を表示すべきかどうかを決定すること、
    該画像の該スクロール提示を表示すべき場合、
    該スクロール範囲、該起点位置、該初期の傾け、および該第2の傾けに少なくとも部分的に基づいて、前進パラメータを決定すること、
    該前進パラメータに少なくとも部分的に基づいて、該画像のスクロール提示を表示すること、を実行するように動作可能である、システム。
  32. 前記プロセッサが、前記命令を実行したときに、
    前記比較することと、
    前記デバイスの加速度に基づいて変化する可変閾値と、
    に基づいて、前記画像の前記スクロール提示を表示すべきかどうかを決定することを実行するように動作可能である、請求項31に記載のシステム。
  33. 前記可変閾値が、前記デバイスの加速度が増加するときに増加する、請求項32に記載のシステム。
  34. 前記加速度が、直線加速度を含む、請求項32に記載のシステム。
  35. 前記可変閾値が、最小閾値と最大閾値の間で変化する、請求項32に記載のシステム。
  36. 前記可変閾値が、傾けの度数に対応する、請求項32に記載のシステム。
  37. 前記可変閾値が、前記デバイスの回転速度に対応する、請求項32に記載のシステム。
  38. 前記可変閾値が、事前決定されたしきい値である、請求項32に記載のシステム。
  39. 前記前進パラメータが、
    前記第2の軸の周りの前記回転速度を決定すること、
    前記第1の軸の周りの該デバイスの回転速度に対する前記第2の軸の周りもしくは前記第2の軸の成分の周りの該デバイスの回転速度の比率を決定すること、
    前記比較することに基づいて、前記画像のスクロール提示を表示すべきかどうかを決定すること
    のうちの1つまたは複数と実質的に同時に決定される、請求項31に記載のシステム。
  40. 前記第2の軸、または
    前記第2の軸の成分
    のうちの一方または両方が、前記第1の軸と直交する、請求項31に記載のシステム。
  41. 前記プロセッサが、前記命令を実行したときに、
    前記比率が前記事前決定された非ゼロしきい比率よりも大きい場合、前記スクロール提示を表示すべきではないと決定するようにさらに動作可能である、請求項31に記載のシステム。
  42. 前記事前決定された非ゼロしきい比率が、約0.55の値を有する、請求項41に記載のシステム。
  43. 前記第1の軸が、前記画像の平面内に存在し、前記画像が前記第1の軸に沿って非ゼロのスクロール範囲を有する第3の軸と直交する軸を含む、請求項31に記載のシステム。
  44. 前記第2の軸が、前記第3の軸である、請求項43に記載のシステム。
  45. 前記スクロール範囲が、前記デバイスの向きに依存する、請求項31に記載のシステム。
JP2016540307A 2013-09-05 2014-09-02 スクロールのための傾け動作 Active JP6081027B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/019,337 US9423941B2 (en) 2013-09-05 2013-09-05 Tilting to scroll
US14/019,337 2013-09-05
PCT/US2014/053658 WO2015034808A1 (en) 2013-09-05 2014-09-02 Tilting to scroll

Publications (3)

Publication Number Publication Date
JP2016533593A JP2016533593A (ja) 2016-10-27
JP2016533593A5 JP2016533593A5 (ja) 2016-12-08
JP6081027B2 true JP6081027B2 (ja) 2017-02-15

Family

ID=52582588

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016540307A Active JP6081027B2 (ja) 2013-09-05 2014-09-02 スクロールのための傾け動作

Country Status (10)

Country Link
US (1) US9423941B2 (ja)
EP (1) EP3042276B1 (ja)
JP (1) JP6081027B2 (ja)
KR (1) KR101756324B1 (ja)
CN (1) CN105706036B (ja)
AU (1) AU2014315445B2 (ja)
CA (1) CA2922708C (ja)
IL (1) IL244341A (ja)
MX (1) MX349040B (ja)
WO (1) WO2015034808A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9459705B2 (en) 2013-03-18 2016-10-04 Facebook, Inc. Tilting to scroll
US9804745B2 (en) * 2013-06-09 2017-10-31 Apple Inc. Reordering content panes in a stacked tab view
US10126839B2 (en) 2013-07-24 2018-11-13 Innoventions, Inc. Motion-based view scrolling with augmented tilt control
US10061401B2 (en) * 2013-12-30 2018-08-28 Adtile Technologies Inc. Physical orientation calibration for motion and gesture-based interaction sequence activation
US9668367B2 (en) * 2014-02-04 2017-05-30 Microsoft Technology Licensing, Llc Wearable computing systems
WO2015139026A2 (en) 2014-03-14 2015-09-17 Go Tenna Inc. System and method for digital communication between computing devices
US10437447B1 (en) 2014-03-31 2019-10-08 Amazon Technologies, Inc. Magnet based physical model user interface control
US9606710B1 (en) * 2014-03-31 2017-03-28 Amazon Technologies, Inc. Configuring movement-based user interface control
US10042532B2 (en) * 2015-05-05 2018-08-07 Facebook, Inc. Methods and systems for viewing embedded content
US10685471B2 (en) 2015-05-11 2020-06-16 Facebook, Inc. Methods and systems for playing video while transitioning from a content-item preview to the content item
JP6677098B2 (ja) * 2015-07-01 2020-04-08 株式会社リコー 全天球動画の撮影システム、及びプログラム
CN108702445B (zh) 2017-03-03 2021-01-15 华为技术有限公司 一种图像显示方法、电子设备及计算机可读存储介质
CN106791455B (zh) * 2017-03-31 2019-11-15 努比亚技术有限公司 全景拍摄方法及装置
TWI717296B (zh) * 2020-06-24 2021-01-21 南亞塑膠工業股份有限公司 雲端網絡商城系統

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR9405650A (pt) 1993-01-06 1995-11-21 Image Technology Int Processo fotográfico direto sem filme de copiar uma imagem tridimensional de um objeto em uma perspectiva continuamente variável sobre material de copiagem lenticulado e aparelho para sua realização
US6079862A (en) * 1996-02-22 2000-06-27 Matsushita Electric Works, Ltd. Automatic tracking lighting equipment, lighting controller and tracking apparatus
US7576770B2 (en) 2003-02-11 2009-08-18 Raymond Metzger System for a plurality of video cameras disposed on a common network
US7098914B1 (en) 1999-07-30 2006-08-29 Canon Kabushiki Kaisha Image synthesis method, image synthesis apparatus, and storage medium
JP2002196881A (ja) * 2000-12-27 2002-07-12 Mitsubishi Electric Corp スクロール制御装置
JP2002268622A (ja) * 2001-03-09 2002-09-20 Denso Corp 携帯端末装置のユーザインターフェース装置
AU2002312676A1 (en) * 2001-06-12 2002-12-23 Silicon Optix Inc. System and method for correcting keystone distortion
US6966772B2 (en) 2003-05-02 2005-11-22 Leo J. Malin Method of adjusting a drill bushing for a dental implant
US7301528B2 (en) * 2004-03-23 2007-11-27 Fujitsu Limited Distinguishing tilt and translation motion components in handheld devices
US20050212760A1 (en) 2004-03-23 2005-09-29 Marvit David L Gesture based user interface supporting preexisting symbols
US7953513B2 (en) 2005-03-15 2011-05-31 Siemens Industry, Inc. Systems, devices, and methods for automation control
CN101009089A (zh) 2006-01-26 2007-08-01 宏达国际电子股份有限公司 屏幕显示控制装置
US7667686B2 (en) * 2006-02-01 2010-02-23 Memsic, Inc. Air-writing and motion sensing input for portable devices
US8462109B2 (en) * 2007-01-05 2013-06-11 Invensense, Inc. Controlling and accessing content using motion processing on mobile devices
WO2008094458A1 (en) 2007-01-26 2008-08-07 F-Origin, Inc. Viewing images with tilt control on a hand-held device
US8471862B2 (en) 2007-03-09 2013-06-25 Ati Technologies Ulc Offset tiles in vector graphics
WO2009131634A1 (en) * 2008-04-14 2009-10-29 Google Inc. Panning using virtual surfaces
JP5537044B2 (ja) 2008-05-30 2014-07-02 キヤノン株式会社 画像表示装置及びその制御方法、コンピュータプログラム
US8291069B1 (en) 2008-12-23 2012-10-16 At&T Intellectual Property I, L.P. Systems, devices, and/or methods for managing sample selection bias
JP5489572B2 (ja) * 2009-07-29 2014-05-14 キヤノン株式会社 加速度検出装置及びその制御方法、プログラム
JP5446624B2 (ja) * 2009-09-07 2014-03-19 ソニー株式会社 情報表示装置、情報表示方法及びプログラム
JP5724230B2 (ja) 2010-07-07 2015-05-27 ソニー株式会社 表示制御装置、表示制御方法、プログラム
US9483085B2 (en) 2011-06-01 2016-11-01 Blackberry Limited Portable electronic device including touch-sensitive display and method of controlling same
US8381102B1 (en) * 2011-12-06 2013-02-19 Google Inc. Systems and methods for visually scrolling through a stack of items displayed on a device
KR101885131B1 (ko) 2012-02-24 2018-08-06 삼성전자주식회사 디스플레이 장치의 화면 스크롤 방법 및 그 장치
US9678660B2 (en) 2012-11-05 2017-06-13 Nokia Technologies Oy Method and apparatus for conveying efficient map panning over a mapping user interface
US9181760B2 (en) * 2013-07-24 2015-11-10 Innovations, Inc. Motion-based view scrolling with proportional and dynamic modes
US20150062178A1 (en) 2013-09-05 2015-03-05 Facebook, Inc. Tilting to scroll

Also Published As

Publication number Publication date
IL244341A (en) 2017-04-30
US20150062179A1 (en) 2015-03-05
US9423941B2 (en) 2016-08-23
KR101756324B1 (ko) 2017-07-10
IL244341A0 (en) 2016-04-21
CN105706036B (zh) 2018-01-30
AU2014315445A1 (en) 2016-04-21
KR20160051869A (ko) 2016-05-11
CA2922708A1 (en) 2015-03-12
WO2015034808A1 (en) 2015-03-12
MX349040B (es) 2017-07-07
EP3042276B1 (en) 2020-10-07
EP3042276A4 (en) 2017-08-30
CA2922708C (en) 2017-02-28
JP2016533593A (ja) 2016-10-27
AU2014315445B2 (en) 2016-11-24
EP3042276A1 (en) 2016-07-13
MX2016002847A (es) 2016-06-02
CN105706036A (zh) 2016-06-22

Similar Documents

Publication Publication Date Title
JP6081027B2 (ja) スクロールのための傾け動作
JP6328815B2 (ja) スクロールするためのチルティング
JP2016535363A (ja) スクロールのための傾け動作
JP2014510344A (ja) コンテンツを表示するためのシステムおよび方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160912

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160912

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160912

TRDD Decision of grant or rejection written
A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20161216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161220

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170117

R150 Certificate of patent or registration of utility model

Ref document number: 6081027

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: R3D02

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250