JP2013511759A - スクロール中に文字列の縦の段に追従するための方法および装置 - Google Patents

スクロール中に文字列の縦の段に追従するための方法および装置 Download PDF

Info

Publication number
JP2013511759A
JP2013511759A JP2012539424A JP2012539424A JP2013511759A JP 2013511759 A JP2013511759 A JP 2013511759A JP 2012539424 A JP2012539424 A JP 2012539424A JP 2012539424 A JP2012539424 A JP 2012539424A JP 2013511759 A JP2013511759 A JP 2013511759A
Authority
JP
Japan
Prior art keywords
horizontal
content
scrolling
string
scroll
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.)
Granted
Application number
JP2012539424A
Other languages
English (en)
Other versions
JP5629781B2 (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 JP2013511759A publication Critical patent/JP2013511759A/ja
Application granted granted Critical
Publication of JP5629781B2 publication Critical patent/JP5629781B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0485Scrolling or panning

Abstract

コンピュータの入力デバイスを介して受け取られたユーザー入力を処理するステップと、処理されたユーザー入力から、ドラッグ操作の開始イベントおよびポインタ動作を検出するステップと、ドラッグ操作のポインタ動作に従って、文書の文字列のコンテンツをスクロールするステップと、文字列のコンテンツを自動的に再スクロールして、ドラッグ操作による文字列のコンテンツのスクロールの水平成分を補償するステップとを含む、表示画面に表示される文字列を含む電子文書をスクロールするための、方法および装置。

Description

本発明は全般に文字列を表示してスクロールするための電子的なデバイスに関し、具体的には、文字列の一部を自動的にスクロールして表示域に戻すようにそのようなデバイスを構成することに関する。
コンピュータのユーザーは、ウェブブラウザおよびワードプロセシングプログラムのような、様々なアプリケーションを用いて、文字列および場合によっては他のタイプのコンテンツで構成される電子文書を開いて読むことができる。さらに、主要な用途がユーザーに電子的な文字列を表示することである、専用のコンピュータデバイスが開発されてきた(例えば電子書籍)。従来のインターフェースによれば、文書をスクロールするように、スクロールバーをクリックして2つの可能な方向(上および下、または左および右)の1つにスクロールバーを動かすために、マウスまたはタッチパッドのようなクリック用のデバイスが用いられうる。一般に、そのようなインターフェースにより、ユーザーは、スクロール用の矢印を単にクリックして、文書を対応する方向にスクロールすることも可能になる。タッチスクリーンを用いて同じタイプのインターフェースを実装することができ、その場合ユーザーは、スクロールバーまたはスクロール用の矢印をクリックするのではなく、単にタッチする。
しかし、スクロールバーをクリックして動かす操作、またはスクロール用の矢印をクリックする操作は、コンピュータデバイスのサイズ(したがってそのディスプレイのサイズ)がますます小さくなるに従い、より問題になっている。したがって、別のタイプのインターフェースによって、「ドラッグ」または「パニング(panning)」操作を用いて文書をスクロールできるようにしている。基本的には、ドラッグ/パニング操作は、文書を「捉える」ことによってドラッグ操作を開始するイベントにより開始され、このイベントは、文書を所望の方向に「ドラッグ」する連続的な動作を伴う。本明細書での説明および添付の特許請求の範囲において、用語「開始イベント」は、文書を捉えることによって前述のドラッグ/パニング操作を開始するイベントを指すために用いられ、用語「ポインタ動作」は、文書をドラッグするという付随する動作を指すために用いられる。
例えば、マウスのクリックはドラッグ操作の開始イベントであってよく、その次のマウスの動作は、文書をドラッグするポインタ動作である。あるいは、タッチスクリーンのインターフェースでは、指またはスタイラスによる最初のタッチが開始イベントであってよく、その次の、画面を横切る指/スタイラスの動作が、文書をドラッグさせるポインタ動作であってよい。
また、ポインタ動作の運動量をシミュレートするために、ポインタ動作が終了した後にスクロール動作をある距離だけ続けられるように、そのようなインターフェースに対して改善が行われてきた。続けられるスクロールの距離は、ポインタ動作の速度、距離、加速度、および力の任意の組合せに基づいて、計算されうる。これにより、ユーザーは、指による適切な方向への高速な「フリック」を用いて、文字列を高速にスクロールできるようになりうる。
ドラッグ動作またはパニング動作を利用するインターフェースの1つの欠点は、文字列を上または下にスクロールしようとする際に、ユーザーが、誤って文書をやや左または右にスクロールし、したがって、文字列が表示域に対してずれることがあるということである。この例が、図1A〜1Eに関して本明細書で説明される。
具体的には、図1は、コンテンツとして、文書の本体に表題または見出しの文字列105、文字列110を含み、画像120を含む、文書100の例を示す。文書100の本体の文字列110は、それぞれ2つの縦の段110Aおよび110Bに書式設定される。図1Bに示されるように、文書100がコンピューティングデバイスに電子的に表示される場合、デバイスの表示域130は、左側の段のテキスト110Aの一部を所与の時間表示できるのみでありうる。図1Bはさらに、ユーザーが、ドラッグ操作によりテキスト110Aを下にスクロールしようとしうることを示し、このドラッグ操作において、140における開始イベント(例えば、指/スタイラスによる画面の最初のタッチ)で文書100を捉え、ポインタ動作150(例えば、矢印の方向への指/スタイラスの動き)で文書100をドラッグし、その結果、図1Cに示されるように、文書の別の部分が表示域130に表示される。図1Cおよび1Dに示されるように、ユーザーは、そのようなドラッグ操作を繰り返すことによって、スクロールを続けることができ、その結果、図1Eのように、文書100が表示される。
しかし、図1B〜1Dで矢印により示されるように、ユーザーによるポインタ動作150は完全に垂直ではなく、水平方向、例えば左に少し流れることがある。その結果、図1Eに示されるように、ユーザーは、スクロールの結果として、文字列110Aの一部が表示域130の左側から出るように誤ってスクロールすることがある。したがって、文字列の縦の段110Aを表示域130に戻すためだけに、ユーザー(図示せず)による追加の水平方向のスクロール操作が必要になる。
よって、ユーザーが垂直にスクロールしようとしているときに、電子的な文字列が少し水平方向にスクロールされたとき、電子的な文字列を自動的に所定の位置に戻すようにスクロールするような何らかの機構を利用することが、有利であろう。
表示画面に表示される文字列を含む電子的な文字列をスクロールするためのシステムおよび方法が提供され、このシステムおよび方法は、コンピュータの入力デバイスを介して受け取られるユーザー入力を処理するステップと、処理されたユーザー入力からドラッグ操作のための開始イベントおよびポインタ動作を検出するステップと、ドラッグ操作のポインタ動作に従って文書の文字列のコンテンツをスクロールするステップと、文書の内容を自動的に再スクロールして、ドラッグ操作による文書のスクロールの水平成分を補償するステップとを含む。
ある例示的な実施形態によれば、スクロールの水平成分は、水平方向の距離として検出されてもよく、自動的な再スクロールは、そのような距離が修正の閾値以内にあると判定されたことに応じて実行されうる。例えば、修正の閾値は、ドラッグ操作に従って実行されるスクロールの水平成分および垂直成分に基づいて求められうる。
別の例示的な実施形態によれば、文字列のコンテンツ(例えば、文字列の縦の段)のブロックの水平方向の境界が計算されうる。そのような実施形態では、自動的な再スクロールは、表示域に対するそのような境界の位置を分析することによって、実行されうる。さらなる例示的な実施形態は、表示域の端部が、スクロールされている文字列のブロックの水平方向の境界と交わったときに、スクロールの水平方向の速度または比率を低下させることを可能にしうる。
本発明のさらなる適用の範囲が、以下で与えられる詳細な説明から明らかになるだろう。しかし、この詳細な説明から、本発明の趣旨および範囲の中にある様々な変更および修正が、当業者に明らかになるので、詳細な説明および具体的な例は、本発明の好適な実施形態を示すが、例示のためのみに与えられることを理解されたい。
本発明は、以下で与えられる詳細な説明と、例示のためのみに与えられ本発明を限定しない添付の図面から、より完全に理解されるようになるだろう。
コンピューティングデバイスに表示されうる文字列を含む、電子文書の例を示す図である。 ユーザーによるスクロールにより、どのように文書の文字列の一部がコンピューティングデバイスの表示域の外に意図せず移動しうるかの例を示す図である。 ユーザーによるスクロールにより、どのように文書の文字列の一部がコンピューティングデバイスの表示域の外に意図せず移動しうるかの例を示す図である。 ユーザーによるスクロールにより、どのように文書の文字列の一部がコンピューティングデバイスの表示域の外に意図せず移動しうるかの例を示す図である。 ユーザーによるスクロールにより、どのように文書の文字列の一部がコンピューティングデバイスの表示域の外に意図せず移動しうるかの例を示す図である。 本発明の例示的な実施形態を実施するために用いられうる、コンピューティングデバイスを示す図である。 本発明の例示的な実施形態とともに用いられうる、ユーザーエージェントを示す図である。 意図しない水平方向へのスクロールの後に、文書を自動的に再スクロールして文字列を表示域に再配置するための、例示的な実施形態による処理の流れ図である。 修正の閾値を利用する、図4の処理の例示的な実施形態の流れ図である。 修正の閾値を利用する、図4の処理の例示的な実施形態の流れ図である。 文字列のコンテンツの水平方向の境界を利用する、図4の処理の具体的かつ例示的な実施形態の流れ図である。 文字列のコンテンツの水平方向の境界を利用する、図4の処理の具体的かつ例示的な実施形態の流れ図である。 文字列のコンテンツの水平方向の境界を利用する、図4の処理の具体的かつ例示的な実施形態の流れ図である。 例示的な実施形態による、文字列のブロックを含む電子文書およびその電子文書に関連する水平方向の境界の適用の例を示す図である。 例示的な実施形態による、文字列のブロックを含む電子文書およびその電子文書に関連する水平方向の境界の適用の例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。 例示的な実施形態による、文字列のブロックの水平方向の境界がどのように本発明の原理を実施するために用いられうるかの例を示す図である。
図面は、本発明の詳細な説明の中で、詳細に説明される。
本発明の以下の詳細な説明は、添付の図面を参照する。異なる図面における同じ参照番号は、同じ要素または類似の要素を指す。また、以下の詳細な説明は、本発明を限定しない。むしろ、本発明の範囲は、添付の特許請求の範囲およびその均等により定義される。
本発明は、ユーザーが文字列を意図せず水平方向にドラッグしたと判定されたときに、文字列のブロックを自動的にスクロールして、コンピューティングデバイスの表示域130に戻すための、コンピュータで実施される方法およびデバイスを対象とする。この方法は、文字列を含む文書を表示する、任意のアプリケーション(ウェブブラウザ、電子書籍、ワードプロセッサ)の一部として実施されてよく、ユーザーが、そのような文書をドラッグ操作またはパニング操作によりスクロールすることを可能にする。
例えば、文書の文字列をスクロールするための各ドラッグ操作に応答して、そのようなスクロールに水平成分がある場合、その水平成分は修正の閾値と比較されうる。水平成分が修正の閾値よりも小さい場合、そのような水平方向の動きは、ユーザーが意図しないものであったと判定することができ、したがって、表示域130に対して適切に配置されるように、文字列を水平方向に自動的に再スクロールさせる。
しかし、別の例示的な実施形態では、水平方向の境界(すなわち、左側および右側の境界)が、スクロールされている文字列のブロックに追加されうる。ドラッグ操作により、表示域130の端部がどちらかの水平方向の境界に部分的に入ると、水平方向の境界に対して表示域130を適切に配置するように、文字列が自動的に再スクロールされうる。さらに、スクロールの速度は、表示域130の端部が入ると、減速されうる。
図2は、本発明の様々な態様を実施するための環境として用いられうる、一般的なコンピューティングデバイス200を示す。例示的な実施形態によれば、コンピュータデバイス100は、モバイルデバイスまたは携帯型デバイス、例えば、携帯情報端末(PDA)、携帯電話、電子書籍デバイスなどとして実装されうる。しかし、当業者が予期するように、本発明の原理は、デスクトップコンピュータ、ラップトップコンピュータ、および、任意の他の種類のコンピュータデバイス100のような、他の種類のコンピュータデバイス100に適用されうる。
図2では、コンピューティングデバイス200は、中央演算処理装置(CPU)201、メモリ202、通信ポート203、ビデオインターフェース204、およびネットワークインターフェース205を含む、様々な機能コンポーネントを有する。これらのコンポーネントは、システムバス206によって互いに通信していてもよい。
ROM、RAM、フラッシュメモリ、ハードドライブ、または、固定されたメモリと取り外し可能なメモリの任意の他の組合せを含みうる、メモリ202は、システムの様々なソフトウェアコンポーネントを格納する。メモリ202の中のソフトウェアコンポーネントは、基本入出力システム(BIOS)241、オペレーティングシステム242、アプリケーションおよびデバイスドライバを含む様々なコンピュータプログラム243、様々な種類のデータ244、ならびに、マクロおよびスクリプトのような他の実行可能ファイルまたは命令245を含みうる。
通信ポート203は、ユーザー入力デバイス、プリンタ、メディアプレーヤー、外部メモリデバイス、および、例えば全地球測位システム(GPS)受信機のような専用デバイスのような、1つまたは複数のローカルのデバイス210に接続されうる。入出力(I/O)ポートとも呼ばれうる通信ポート203は、USB、PS/2、RS-232、赤外線(IR)、Bluetooth(登録商標)、プリンタポート、または、ローカルのデバイス210のための任意の他の標準的な通信インターフェースまたは専用の通信インターフェースのようなポートの、任意の組合せであってよい。
上で論じられたように、コンピューティングデバイス200は、図2のローカルのデバイス210の中の、1つまたは複数のユーザー入力デバイスを含みうる。入力デバイスの中には、ポインタデバイス、すなわち、画面上でポインタまたはカーソルの位置をユーザーが制御できるようにする入力デバイスが、ありうる。そのようなポインタデバイスは、ポインタ/カーソルが画面の所望の位置にあるときに、ユーザーが、特定の機能(例えば、表示された要素の選択)を有効にするために、クリックまたは類似の動作を実行できるようにもする。そのようなポインタデバイスの例には、電子マウス、トラックボールデバイス、およびタッチパッドがある。
ビデオインターフェースデバイス204は、表示ユニット220に接続される。例示的な実施形態によれば、表示ユニット220は、表示ユニット220がタッチ感知式の入力デバイスを兼ねることを可能にする、タッチ感知式の画面を含みうる。表示ユニット220の、タッチ感知式の入力デバイスとしての態様は、通信ポート203により通信するローカルのデバイス210の1つとして考えられうる。さらに、コンピューティングデバイス200が、PDA、携帯電話、または他の小型の持ち運び可能なデバイスとして実装される例示的な実施形態では、ディスプレイは一般に、LCDディスプレイのような統合されたディスプレイになる。しかし、本発明の原理を、表示ユニット220がコンピューティングデバイス200の他の要素と統合されない場合、例えば、表示ユニット220がスタンドアロンのモニタである場合に適用できることは、容易に明らかであろう。
ネットワークインターフェースデバイス205は、遠隔のデバイス230と通信するために、ネットワークに接続する能力を、コンピューティングデバイス200に提供する。ネットワークインターフェース205を遠隔のデバイス230と接続する回線としてのみ図2で示される、通信ネットワークは、例えば、ローカルエリアネットワークまたはインターネットであってよい。遠隔のデバイス230は、原則として、デバイス200と同様の通信能力を有する任意のコンピューティングデバイスであってよいが、通常、サーバまたはネットワークサービスを提供する何らかの他のユニットでありうる。
図2に示されるコンピューティングデバイス200は、その大きさ、リソース、またはコンポーネントの物理的な実装形態に関して、任意の特定の構成または実施形態に限定されないことが理解されよう。例えば、図2に示される機能コンポーネントのうちの2つ以上を、デバイス200の単一の統合されたユニットに組み合わせることができる。また、図2の単一の機能コンポーネントは、いくつかの物理的なユニットに分散してもよい。他のユニットまたは能力も、当然存在してよい。さらに、デバイス200は、例えば、PCのような汎用コンピュータ、または携帯情報端末(PDA)、またはさらには携帯電話もしくはスマートフォンであってよい。
例示的な実施形態では、本発明の様々な態様が、コンピューティングデバイス200にアプリケーションとしてインストールされたユーザーエージェントもしくはブラウザを構成する、コンポーネントおよび/もしくは機能に組み込まれてもよく、または、コンポーネントおよび/もしくは機能とともに用いられてもよい。図3は、そのようなユーザーエージェントまたはブラウザが存在しうる、複数のモジュールの例を示す。モジュールは通常、ソフトウェアモジュールであり、またはそうでなければプログラマによりソフトウェア内に実装され、CPU201により実行されうる。しかし、当業者が予期するように、図3のモジュールのうちのいずれも、ハードウェア、またはハードウェアとソフトウェアの組合せ、すなわち「ファームウェア」として実装することも可能である。
ブラウザ300のユーザーエージェントは、図2に示される表示ユニット220に表示されうるユーザーインターフェース301を、ユーザーに提示する。ユーザーインターフェース301は、アドレスフィールド302を含んでもよく、アドレスフィールド302において、ユーザーは、ユーザーエージェント300に取り出させることを望む文書またはサービスのURLを、入力または選択することができる。例えば、ユーザーは、キーボードまたは他の種類の入力デバイスを用いて、アドレスフィールド302にURLをタイプすることができる。アドレスフィールド302はまた、本発明の原理に従って、タッチによってユーザーにより有効にされうる、表示されたリンクであってもよい(あるいは、そのようなリンクはまた、マウスのようなポインティングデバイスを用いて有効にされてもよい)。あるいは、URLは、ユーザーエージェント300により既にロードされた、文書またはスクリプトのコードで規定されうる。
いずれの場合でも、URLは、ユーザーエージェント300またはその一部と関連するユーザーインターフェース301の入力部分である、ウィンドウマネージャおよび入力マネージャ303により受け取られうる。次いでURLを、文書マネージャ304に転送することができ、文書マネージャ304は、URLにより識別される文書の一部として受け取られるデータを管理する。
文書マネージャ304は、URLをURLマネージャ305に転送し、URLマネージャ305は、通信モジュール306に、識別されたリソースへのアクセスを要求するように命令する。通信モジュール306は、ハイパーテキスト伝送プロトコル(HTTP)、またはHTTPSもしくはFTPのような何らかの他のプロトコルを用いたネットワークを介したサーバのような、遠隔のデバイス230から、データにアクセスしデータを取り出すことが可能でありうる。通信モジュール306はまた、ローカルのメモリ202に保存されたデータにアクセスすることが可能でありうる。
デバイス200の外部での通信を、例えば、URLにアクセスするために用いられるプロトコルにより規定されるように、暗号化する必要がある場合、暗号化/復号モジュール307は、URLマネージャ305と通信モジュール306との間の通信を処理する。
要求に応じて通信モジュール306により受け取られるデータは、URLマネージャ305に転送される。次いで、URLマネージャ305は、文書および画像キャッシュ309を管理するキャッシュマネージャ308を用いて、受け取られたコンテンツのコピーをローカルのメモリ202に保存することができる。同じURLが後で要求されると、URLマネージャ305は、キャッシュマネージャ308にそのURLを要求することができ、キャッシュマネージャ308は、キャッシュされたコピーをキャッシュ309から取り出し(キャッシュされたコピーが削除されていない限り)、キャッシュされたコピーをURLマネージャ305に転送する。したがって、同じURLが再び要求されたときに、遠隔のデバイス230から同じデータを再び取り出す必要がなくなりうる。
URLマネージャ305は、通信ポート306またはキャッシュ309から受け取られたデータを、HTML、XMLおよびCSSのようなコンテンツを解析できるパーサ310に転送する。次いで、解析されたコンテンツは、コンテンツの種類および性質に応じて、ECMAScriptエンジン311、文書オブジェクトモデル(DOM)構造を扱うためのモジュール312、および/またはレイアウトエンジン313によって、さらに処理されうる。
取り出されたコンテンツのこの処理は、文書マネージャ304により管理され、文書マネージャ304はまた、取り出されたコンテンツの処理の結果として、追加のURLの要求をURLマネージャ305に転送することができる。これらの追加のURLは、例えば、元のURLにより特定される文書に埋め込まれるべき画像または他の追加のファイルを、特定することができる。
特定された文書のコンテンツを表すデータが処理されると、そのデータは、レンダリングエンジン314によりレンダリングされ、ユーザーインターフェース301により表示されるように、文書マネージャ304から転送される。1つの可能な実施形態によれば、レンダリングエンジン314は、図4〜8Fに関して以下でより詳細に説明される本発明の原理に従って、文書をスクロールして自動的に再スクロールすることに関する処理を実行する役割を果たしうる。しかし、代替的な実施形態では、ユーザーインターフェース301が、そのようなスクロールおよび自動的な再スクロールに関する処理を実行するように設計されてもよい。ユーザーエージェント300が、そのような処理を実行するように他の機能的なコンポーネント(図示せず)を組み込むように修正されうることも、可能である。
上で説明された様々なモジュールは、CPU201がシステムバス206を介して命令およびデータを受け取るときに、コンピューティングデバイス200のCPU201により実行される。通信モジュール306は、ネットワークインターフェース205を用いて、遠隔のデバイス230と通信する。図3の様々なモジュールの機能は、当然、より少数の大きなモジュールに統合されてもよい。また、図3の単一のモジュールの機能は、いくつかのモジュールに分散させられてもよく、またはいくつかのモジュールで重複していてもよい。
上で説明されたユーザーエージェント300は、アプリケーションプログラム243として実装されうるが、ユーザーエージェント300の機能の一部は、オペレーティングシステム242の一部としても実装されてよく、またはコンピューティングデバイス200のBIOS241としても実装されてよいことが、さらに理解されよう。URLの要求に応じて受け取られるコンテンツは、データ244、スクリプト245、または、以下でさらに説明されるような、それらの組合せであってよい。
当然、本発明は、コンピューティングデバイス200のユーザーエージェント300により実施されるものとは限定されない。コンピューティングデバイス200で実行できる、他の種類のアプリケーションプログラム243が、以下で説明される本発明の原理に従って、文字列による文書を表示し、スクロールし、自動的に再スクロールするように構成されてもよい。本発明を実施するように構成されうる、そのようなアプリケーション243の例には、ワードプロセッサおよび電子書籍のアプリケーションがある。
ここで図4を参照すると、ある例示的な実施形態による、意図しない水平方向へのスクロールの後に、文書を自動的に再スクロールして文字列を表示域130に再配置するための、コンピューティングデバイス200で実施される処理400の流れ図が示されている。図4に示されるように、操作S410に従って、文字列のコンテンツを有する電子文書が、コンピューティングデバイス200の表示ユニット220に表示される。操作S420に従って、コンピューティングデバイス200は、ポインタデバイスまたはタッチスクリーンインターフェースのような入力デバイスを介してユーザー入力を受け取り、文書に対してドラッグ操作を実行する。操作S430において、そのような入力は、開始イベント(例えば、マウスのクリックまたは指/スタイラスによる最初のタッチ)および、ドラッグ操作を定義する付随するポインタ動作を検出するために、処理される。こうして、操作S440に従って、文字列のコンテンツを含む文書が、ドラッグ操作のポインタ動作に従ってスクロールされる。操作S450において、そのような文字列のスクロールが、修正する必要がある意図しない水平成分を含んでいたかどうかが判定される。言い換えると、ユーザーが、文字列を上または下にスクロールしようとしたときに、文字列を誤ってやや左または右にスクロールしたかどうかが判定され、そのような誤ったスクロールは修正される必要がある。操作450によって、スクロールに修正する必要がある意図しない水平成分があると判定されると、操作460において、文字列のコンテンツは、そのような水平成分を補償する、すなわち、文字列を水平に再スクロールして、表示域130に関して元の配置(そうでなければ許容可能な配置)に戻すように、自動的に再スクロールされる。
例示的な実施形態によれば、操作S450でのユーザーのドラッグ操作による、意図しない水平成分があったかどうかの判定が、修正の閾値を用いて行われうる。図5A〜5Bは、修正の閾値を利用する、図4の処理の例示的な実施形態の流れ図を示す。
具体的には、図5Aの流れ図は、図4の操作S450を実施するための、具体的かつ例示的な実施形態を示す。図5Aでは、操作S4500において、スクロールの水平成分が水平方向の距離として検出される。操作S4510に従って、修正の閾値が得られる。この修正の閾値は静的、すなわち処理400を実施するアプリケーション243にプログラムされる一定値であってよい。あるいは、図5Bに関して以下で説明されるように、修正の閾値は変数であってもよい。再び図5Aを参照すると、操作S4520は、スクロールに水平成分があるかどうか、すなわち、検出された水平方向の距離が0よりも大きな値であるかどうかを判定する。水平成分がある場合、操作S4530において、検出された水平方向の距離が修正の閾値よりも小さいかどうかについての、別の判定が行われる。
具体的には、操作S4530は、ユーザーが実際に文字列のコンテンツを水平にスクロールしようとしたのかどうかの、判定を試みる。例えば、図1Aに示される例示的な文書を考えると、ユーザーが、画像120を見るために文字列の段110Aから水平にスクロールしようとしていた場合、ユーザーが文書を左側に長い距離ドラッグする、すなわち、そのようなスクロールの水平方向の距離が少なくとも一定の量あることが、想定されうる。したがって、操作S4530に従って、検出された水平方向の距離を修正の閾値と比較することによって、ユーザーが文書を水平にスクロールしようとしていたのかどうかが判定されうる。したがって、図4の操作S460に従って、水平方向の距離が修正の閾値未満である場合、ユーザーのドラッグ操作によるスクロールの水平成分が意図しないものであり、補償されるべきであると判定することができる。
上で説明されたように、修正の閾値は一定値であってよい。例えば、修正の閾値は、コンピューティングデバイス200の表示ユニット220の特性に基づいて決定されてもよい。例えば、修正の閾値は、当業者には容易に明らかな手順を用いて、表示ユニット220の画面サイズまたはドットパーインチ(DPI)に基づく、適切な値に事前に設定されうる。
しかし、さらなる実施形態では、修正の閾値は、ユーザーが文字列を垂直方向にのみスクロールしようとしたのかどうかを示しうる他の要因により決まる、変数であってもよい。例えば、そのような要因は、ドラッグ操作の結果としてスクロールされる、垂直方向の距離と水平方向の距離の比率を含みうる。図5Bは、そのような実施形態を示す流れ図である。
具体的には、図5Bは、図5Aの操作S4510を実施するための、すなわち、水平成分と垂直成分に基づいて修正の閾値を得るための、例示的な実施形態を示す。操作S45110において、ユーザーのドラッグ操作により発生する、スクロールの垂直成分が検出される。操作S45120に従って、修正の閾値が、検出された垂直方向の距離に関連して計算されうる。例えば、修正の閾値は、垂直方向の距離に比例してもよく、または、検出される垂直方向の距離が小さくなるにつれて修正の閾値を小さくするような何らかの他の関係を有してもよい。このことは、デフォルトの修正の閾値(例えば、表示ユニット220のDPIに基づいて決定される)を採用して、その値に、垂直方向の距離が大きくなるに従って大きくなる係数を掛けることによっても、実現しうる。操作S45120における修正の閾値の計算は、スクロールの水平成分が垂直成分に対して比較的大きくなると、その水平成分が意図的なものであると判定することを容易にするような、任意の方式で実現しうることに留意されたい。
再び図4を参照すると、修正の閾値の使用は、操作S450に従って、文字列の自動的な再スクロールが必要かどうかを判定するための、1つの方法に過ぎない。別の例示的な実施形態によれば、操作S450において、文字列のコンテンツのブロック(文字列の段)の左側および/または右側に水平方向の境界を追加して、文字列のスクロールの意図的ではない水平成分を補償するために、文字列を自動的に再スクロールする必要があるかどうかを判定することができる。
図6Aは、図4の操作S450を実施するための代替の例示的な実施形態を示し、この実施形態は、文書の文字列のコンテンツの側部に、少なくとも1つの水平方向の境界を加える。操作S4540に従って、ユーザーのドラッグ操作によりスクロールされた文字列のブロックに関する判定が行われる。例えば、文書のレイアウトは、文字列の1つまたは複数の段を含んでもよく、ドラッグ操作によって、どの段が見られておりスクロールされているかについての、判定が行われうる。例えば、HTML文書および他のマークアップ言語文書のような、構造化された文書では、操作S4540において、中にあるコードの意味的な構造(要素)を分析して、適切な文字列ブロック/段を決定することが適切でありうる。
本発明の原理は、文字列のブロックまたは段への適用には限定されず、画像および表を含む、HTML文書またはマークアップ言語文書の他の種類のコンテンツのブロックにも適用されうることに、さらに留意されたい。言い換えると、ユーザーが大きな画像または表を下にスクロールしようとしている場合、本発明の原理を用いて、画像/表を自動的に再スクロールして、表示域130に対する水平方向の配置を戻すことができる。したがって、操作S4540は、文字列だけではなく、スクロールされている任意の種類のコンテンツのブロック、例えば、<p>または<div>のようなタグの中の任意の種類のコンテンツを、探すようになされてもよい。したがって、用語「文字列のブロック」、「文字列の段」などがこの説明において用いられていても、そのような用語の使用は、本発明を限定することを意図しておらず、むしろ本発明は、他の種類のコンテンツを含むブロックに適用されうる。
再び図6Aを参照すると、操作S4550に従って、少なくとも1つの水平方向の境界が、文字列のブロックまたは段に対して決定される。例えば、境界は、文字列の段の左側、右側、または両側に加えられうる。左側と右側の両方の水平方向の境界を用いる例が、図7Aおよび7Bに示される。
具体的には、図7Aは、見出し文字列705、文字列のコンテンツの段710、および画像720を含む、電子文書700の別の例を示す。操作S4540およびS4550(図6A)を文書700(図7A)に適用して、図7Bに示されるように、水平方向の境界730が、文字列の段710の両側で決定されうる。具体的には、図7Bは、文字列の段710の左側および右側にそれぞれ加えられる、境界730Aおよび730Bを示す。図7B(およびそれに続く図面)において、水平方向の境界730Aおよび730Bが、影付きの境界として示されるが、影は、理解しやすくするために示されているだけである。水平方向の境界730を決定または計算した結果として、文書700の表示を修正する必要はない。そのような境界730の使用は、ユーザーに対してトランスペアレントにされうる。
さらに、水平方向の境界730の幅は、コンピューティングデバイス200の表示ユニット220の特性、例えば画面サイズまたはDPIに基づいて、決定または計算されうる。異なる種類のコンピューティングデバイス200の画面サイズおよびDPIは、同一のメーカーによる異なるモデルのデバイス200の間でも、大きく異なることがある。本明細書で説明される本発明の原理が、水平方向の境界730をピクセルの数に関して同じ幅に設定することによって、DPIが異なる様々なデバイス200で実行されると、そのようなデバイス群200に対する実行の結果は変化しうる。したがって、各コンピューティングデバイス200のDPIに従って、水平方向の境界730の幅を設定することで、画面サイズと無関係に、実行の基準がより一貫したものになることを確実にしやすくすることができる。
図6Aを再び参照すると、操作S4560において、ドラッグ操作およびそれに伴うスクロールの結果として、水平方向の境界730が表示域130から少なくとも部分的に出たかどうかについて、判定が行われる。出ていない場合、スクロールの水平成分が(もしあったとしても)大きくはなく、したがって再スクロールにより補償する必要はないと判定することができる。しかし、水平方向の境界730が、スクロールによって表示域130から出たと判定されると、処理は操作S4570に続く。
具体的には、操作S4570は、水平方向の境界730の全体が表示域130から出たかどうかを判定する。文字列のスクロールにより、水平方向の境界730の全体が表示域130から出た場合、スクロールの水平成分は十分に大きく、ユーザーによる意図的なものであり、したがって、文字列のブロックを自動的に再スクロールする必要はないと判定することができる。一方、操作S4570で、水平方向の境界730が画面130から全体が出てはおらず、水平方向の境界730のうちの1つが表示域130から部分的に出ただけであると判定されると、図4の操作S460に従って、ユーザーが文字列を左側または右側に意図せずスクロールしたので、この意図しないスクロールを補償するために再スクロールが必要であると決定されうる。
操作S4560とS4570はともに、ドラッグ操作による文字列のスクロールによって、表示域130の左側または右側の端部が対応する水平方向の境界730に入ったかどうかを判定する。この例を示すために、ここで図8A〜8Cを参照する。具体的には、これらの図は、図6Aに示される処理が、図7Aに示される例示的な文書700に関する意図しない水平方向のスクロールを補償するために、自動的な再スクロールが必要であると決定する手順を示す。
具体的には、図8Aは、ユーザーによるドラッグ操作の開始イベントを受け取ったときの、コンピューティングデバイス200の表示域130に対する文書700の位置を示す。この図に示されるように、水平方向の境界730Aおよび730Bは、文書710の段に対して計算され、その段は、表示域130の中にあると判定された文字列のブロックである。図8Bは、ドラッグ操作による、文字列の段710のスクロールの結果により生じた、表示域130に対する文書700(および文字列の段710)の次の配置を示す。図8Bに示されるように、スクロールによって、左側の水平方向の境界730Aが表示域130の左側から出るので、図6Aの操作S4560において肯定的な判定が行われる。しかし、図8Bは、水平方向の境界730Aと水平方向の境界730Bはいずれも、スクロール中に表示域130から全体が出てはいないことも示しているので、図6Aの操作S4570においては否定的な判定が行われる。したがって、図8Cは、図4の操作S460の結果として、文字列の段710が自動的に再スクロールされ、表示域130に対して水平方向に適切に配置されたことを示す。
一方、図8D〜8Fは、例示的な文書700に関する例を示すが、これらの図面において、図6Aに示された処理は、ユーザーによるスクロールに応じて文字列710を自動的に再スクロールしないことを決定する。具体的には、図8Dは、ドラッグ操作の前の、文書700および表示域130の位置(図8Aと同様)を示す。図8Eは、ユーザーによるスクロールの結果生じる、表示域130に対する文書700の次の位置を示す。図8Eは、スクロールにより左側の水平方向の境界730Aが表示域130の左側から出たことを示すが、図8Eはさらに、スクロール中に、水平方向の境界730Aの全体が表示域130から出たことも示す。その結果、図6Aの操作S4560およびS4570の両方において肯定的な判定が行われるので、水平方向のスクロールがユーザーによる意図的なものであったことを示す。したがって、図8Fに示されるように、自動的な再スクロールは行われない。
上で説明されてきた本発明の例示的な実施形態は、文字列を自動的に再スクロールして、ユーザーのスクロールの結果としての意図しない水平方向のずれを補償することに関するが、本発明の別の態様を実施して、ユーザーが誤って文字列を表示域130の外にスクロールするのを防ぎやすくすることができる。
例えば、表示域130の左側または右側の端部がそれぞれの水平方向の境界730に入ると、スクロールの速度または比率を低下させることができる。これは、操作S440(図4)のスクロールにより、表示域130の左側または右側の端部が、対応する水平方向の境界730を横切るときに、そのようなスクロールの速度を自動的に低下させうることを意味する。水平方向のスクロールの速度のみが低下させられてもよく、あるいは、水平方向と垂直方向両方のスクロール速度が低下させられてもよい。一般に、スクロールの比率または速度は、ポインタ動作で検出されるピクセルの数当たりの、スクロールされるピクセルの数に関して定義される。
図6Bは、表示域130の左側または右側の端部が対応する水平方向の境界730を横切ったときに、スクロールの水平方向の速度が低下するように、図4の操作S440を実施する例示的な実施形態を示す。操作S4410に従って、ドラッグ操作がユーザーにより開始された時点でスクロールされていた文字列のブロック(例えば、図8Aの文字列710の段)について、判定が行われる。図6Bの操作S4420において、水平方向の境界730が、文字列のブロックの左側および/または右側に対して計算される(例えば、図8Aの水平方向の境界730Aおよび730B)。文字列710が、ドラッグ操作のポインタ動作に従って徐々にスクロールされると、すなわち、図6Bの操作S4430が、ポインタ動作が終了したと判定するまで、表示域130の左側または右側の端部が、左側の水平方向の境界730Aと右側の水平方向の境界730Bのうちの対応する1つの中にあるかどうかが、繰り返し判定される。ない場合は、操作S4450に従って、スクロールはデフォルトの水平方向の速度に維持される。しかし、表示域130の左側/右側の端部が、現在、左側/右側の水平方向の境界730A/730Bの中にある場合、図6Bの操作S4460に従って、スクロールの水平方向の速度が低下させられる。
この特徴に基づいて、水平方向の境界730は、文字列710の側部にある「隆起部」であると考えることができる。したがって、各水平方向の境界730がスクロールして表示域130から出るときに起きる減速は、隆起部の「傾きの大きさ」に相当する。
図6Bを再び参照すると、操作S4460において、水平方向のスクロールの速度の低下量は、スクロールの方向に基づきうる。したがって、スクロールの方向に基づいて、文字列を垂直にスクロールすることがユーザーの意図であることが明確になるにつれて、隆起部(すなわち、水平方向の境界730)の傾きを大きくすることができる。すなわち、ユーザーのポインタ動作が、明らかに垂直方向ではなく水平方向である場合は、隆起部の傾きを小さいままにして、ユーザーが水平にスクロールしやすくすることができる。
さらに、ユーザーが文字列をスクロールするために一連のドラッグ操作を実行するときに、全体のスクロールの方向を用いて、隆起部の傾きの大きさを決定することができる。例えば、各ドラッグ操作の間、スクロールの全体の方向が、最初のドラッグ操作の開始イベントが起きた場所に対して、決定されうる。
図6Cは、ユーザーの一連のドラッグ操作に応じて、全体のスクロールの方向に基づいて、図6Bの操作S4460がスクロールの水平方向の速度を低下させる、具体的かつ例示的な実施形態を示す。図6Cにおいて、操作S44610は、一連のドラッグ操作の最初のドラッグ操作の開始イベントの位置を判定する。操作S44620は、操作S44610で判定された開始イベントの位置と、現在のドラッグ操作までのその後のポインタ動作に基づいて、一連のドラッグ操作が開始してからスクロールされた、全体の水平方向および垂直方向の距離を計算する。操作S44630では、低減された水平方向の速度が、全体の水平方向および垂直方向の距離に基づいて計算される。
例えば、図6Cの操作S44630は、一連のドラッグ操作の開始からの全体のスクロールの方向に応じて、水平方向のスクロール速度を低下させるのに用いられうる、2つ(またはより多く)の異なる値から値を選択することによって実現しうる。具体的には、スクロールの全体の方向が、全体の水平方向および垂直方向の計算値に基づいて、主に水平である場合(例えば、全体の水平方向の距離が全体の垂直方向の距離よりも長い場合)、水平方向のスクロール速度は、第1の所定の値に従って低下させられうる。一方、スクロールの全体の方向が主に垂直である場合(例えば、全体の垂直方向距離が全体の水平方向の距離よりも長い場合)、別の所定の値を適用して、水平方向のスクロールの速度をさらに大きく低下させることができる。
そのような選択を行うための、いくつかの異なる方法が存在しうる。以下は、所定の低減された速度の中からそのような選択を実施するための、コンピュータコードの一例である。
int speedDivider = abs(totalScrollX) > abs(totalScrollY)
? DIVIDER_X
:DIVIDER_X
VERTICAL_MULTIPLIER;
int reduced_horiz_rate = default_horiz_rate/speedDivider
ここで、
reduced_horiz_rateは低減された水平方向のスクロール速度であり、
default_horiz_rateはデフォルトの水平方向のスクロール速度であり、
speedDividerは、除算によって、デフォルトの水平方向のスクロール速度を低減するときの除数となる係数であり、
totalScrollXおよびtotalScrollYは、一連のドラッグ操作の開始からの、水平方向(x軸)および垂直方向(y軸)の全体のスクロール距離をそれぞれ表し、
DIVIDER_Xは、水平方向のスクロール速度を低減するときの除数となる係数を表し、
VERTICAL_MULTIPLIERは、全体のスクロールの方向が水平ではなく垂直である場合に、水平方向のスクロール速度をさらに低減するときの除数となる、追加の係数を表す。
上の例を説明するために、DIVIDER_Xが事前に値2に設定され、VERTICAL_MULTIPLIERが事前に値5に設定されていると仮定する。これらの条件では、表示域130の左側または右側の端部が対応する水平方向の境界730にスクロールしたときに、ユーザーの全体のスクロールの方向が主に水平である場合、水平方向のスクロールの低減された速度は、デフォルトの水平方向のスクロール速度の半分、すなわち、default_horiz_rateを2で割ったものとして計算される。逆に、この例では、表示域の端部が水平方向の境界730に入ったときに、ユーザーの全体のスクロールの方向が主に垂直である(例えば、誤った水平成分を有する)場合、水平方向のスクロールの低減された速度は、デフォルトの速度の10分の1、すなわち、default_horiz_rate/(2*5)として計算される。
図6Bおよび6Cは単に例示的な実施形態を示すものであり、本発明の趣旨および範囲と矛盾することなく、水平方向の境界730の傾きの大きさを計算または修正するために、他の方法を実施することができる。また、各水平方向の境界730を、ある傾きの大きさを有する隆起部として実装することは必須ではなく、任意選択の改善として実装されてもよい。
このように本発明が説明されたが、本発明を多くの方法で変形できることは明らかである。そのような変形は、本発明の趣旨および範囲からの逸脱であると見なされるべきではなく、当業者に明らかなそのような全ての修正は、以下の特許請求の範囲に含まれることが意図される。
100 文書
110 文字列
120 画像
130 表示域
140 開始イベント
150 ポインタ動作
200 コンピューティングデバイス
201 CPU
202 メモリ
203 通信ポート
204 ビデオインターフェース
205 ネットワークインターフェース
206 システムバス
210 ローカルのデバイス
220 表示ユニット
230 遠隔のデバイス
241 BIOS
242 オペレーティングシステム
243 コンピュータプログラム
244 データ
245 マクロおよびスクリプトのような実行可能ファイルまたは命令
300 ブラウザ
301 ユーザーインターフェース
302 アドレスフィールド
303 ウィンドウマネージャおよび入力マネージャ
304 文書マネージャ
305 URLマネージャ
306 通信モジュール
307 暗号化/復号モジュール
308 キャッシュマネージャ
309 文書および画像キャッシュ
310 パーサ
311 ECMAScriptエンジン
312 文書オブジェクトモデル構造を扱うためのモジュール
313 レイアウトエンジン
314 レンダリングエンジン
700 電子文書
705 見出し文字列
710 文字列のコンテンツの段
720 画像
730 水平方向の境界

Claims (27)

  1. コンピューティングデバイスに表示される、文字列を含む電子文書をスクロールする方法であって、
    前記コンピューティングデバイスの少なくとも1つのプロセッサを利用して、
    入力デバイスを介して受信されたユーザー入力を処理し、
    前記処理されたユーザー入力から、ドラッグ操作の開始イベントおよびポインタ動作を検出し、
    前記ドラッグ操作の前記ポインタ動作に従って、前記文書の文字列のコンテンツをスクロールし、
    前記文字列のコンテンツを自動的に再スクロールして、前記ドラッグ操作による、前記文字列のコンテンツの前記スクロールの水平成分を補償する、
    ことを特徴とする方法。
  2. 前記少なくとも1つのプロセッサを利用してさらに、
    前記文字列のコンテンツの前記スクロールの前記水平成分を、水平方向の距離として検出し、
    前記距離が修正の閾値よりも短いかどうかを判定し、
    前記自動的な再スクロールは、前記距離が前記修正の閾値よりも短いという判定に応答して実行されることを特徴とする請求項1に記載の方法。
  3. 前記少なくとも1つのプロセッサを利用してさらに、
    前記文字列のコンテンツの前記スクロールの垂直成分を検出し、前記垂直成分が、垂直方向の距離として求められ、
    前記修正の閾値は、前記文字列のコンテンツの前記スクロールの前記水平成分および前記垂直成分に基づいて求められることを特徴とする請求項2に記載の方法。
  4. 前記少なくとも1つのプロセッサを利用してさらに、
    前記文字列のコンテンツのブロックの水平方向の境界を計算し、
    前記文字列のコンテンツの前記スクロールにより、前記水平方向の境界の少なくとも一部が、前記電子的なデバイスの表示画面の表示域から出たかどうかを判定し、
    前記自動的な再スクロールは、前記判定に基づいて実行されることを特徴とする請求項1に記載の方法。
  5. 前記自動的な再スクロールは、前記水平方向の境界の全体よりも小さな一部が、前記文字列のコンテンツの前記スクロールの結果として前記表示域から出たと判定されたことに応答して実行されることを特徴とする請求項4に記載の方法。
  6. 前記少なくとも1つのプロセッサを利用してさらに、前記水平方向の境界の端部が前記表示域から出ると、前記文字列のコンテンツの前記スクロールの水平方向の速度を低下させることを特徴とする請求項4に記載の方法。
  7. 前記ドラッグ操作は、前記処理されたユーザー入力から前記少なくとも1つのプロセッサにより検出された、一連の1つまたは複数のドラッグ操作の一部であり、
    前記少なくとも1つのプロセッサを利用してさらに、前記一連の操作のうちの最初のドラッグ操作の開始イベントの後にスクロールされた、全体の垂直方向の距離および全体の水平方向の距離を求め、
    前記文字列のコンテンツの前記スクロールの前記水平方向の速度は、前記全体の垂直方向および水平方向の距離の分析に基づいて低下させられることを特徴とする請求項6に記載の方法。
  8. 前記少なくとも1つのプロセッサを利用してさらに、前記全体の垂直方向および水平方向の距離に基づいて、前記文字列のコンテンツの前記スクロールの前記水平方向の速度を低下させるときの除数となる係数を計算することを特徴とする請求項7に記載の方法。
  9. 前記水平方向の境界の幅は、前記文書が前記電子的なデバイスに表示される際のドットパーインチ(DPI)に基づくことを特徴とする請求項4に記載の方法。
  10. 文字列のコンテンツを含む文書を表示するように構成される表示画面と、
    ユーザー入力を受け取るように構成される入力デバイスと、
    少なくとも1つのプロセッサと、
    を具備し、
    前記少なくとも1つのプロセッサは、
    前記入力デバイスを介して受信された前記ユーザー入力を処理し、
    前記処理されたユーザー入力から、ドラッグ操作の開始イベントおよびポインタ動作を検出し、
    前記ドラッグ操作の前記ポインタ動作に従って、前記文書の文字列のコンテンツをスクロールし、
    前記文字列のコンテンツを自動的に再スクロールして、前記ドラッグ操作による、前記文字列のコンテンツの前記スクロールの水平成分を補償する
    ようにプログラムされることを特徴とする装置。
  11. 前記少なくとも1つのプロセッサがさらに、
    前記文字列のコンテンツの前記スクロールの前記水平成分を、水平方向の距離として検出し、
    前記距離が修正の閾値よりも短いかどうかを判定する
    ようにプログラムされ、
    前記自動的な再スクロールは、前記距離が前記修正の閾値よりも短いという判定に応答して実行されることを特徴とする請求項10に記載の装置。
  12. 前記少なくとも1つのプロセッサがさらに、前記文字列のコンテンツの前記スクロールの垂直成分を検出するようにプログラムされ、
    前記垂直成分は、垂直方向の距離として求められ、
    前記修正の閾値は、前記文字列のコンテンツの前記スクロールの前記水平成分および前記垂直成分に基づいて求められることを特徴とする請求項11に記載の装置。
  13. 前記少なくとも1つのプロセッサがさらに、
    前記文字列のコンテンツのブロックの水平方向の境界を計算し、
    前記文字列のコンテンツの前記スクロールにより、前記水平方向の境界の少なくとも一部が、前記表示画面の表示域から出たかどうかを判定する
    ようにプログラムされ、
    前記自動的な再スクロールは、前記判定に基づいて実行されることを特徴とする請求項10に記載の装置。
  14. 前記自動的な再スクロールは、前記水平方向の境界の全体よりも小さな一部が、前記文字列のコンテンツの前記スクロールの結果として前記表示域から出たと、前記少なくとも1つのプロセッサが判定したことに応答して実行されることを特徴とする請求項13に記載の装置。
  15. 前記少なくとも1つのプロセッサがさらに、前記水平方向の境界の端部が前記表示域から出ると、前記文字列のコンテンツの前記スクロールの水平方向の速度を低下させるようにプログラムされることを特徴とする請求項13に記載の装置。
  16. 前記ドラッグ操作は、前記処理されたユーザー入力から前記少なくとも1つのプロセッサにより検出された、一連の1つまたは複数のドラッグ操作の一部であり、
    前記少なくとも1つのプロセッサはさらに、前記一連の操作のうちの最初のドラッグ操作の開始イベントの後にスクロールされた、全体の垂直方向の距離および全体の水平方向の距離を求めるようにプログラムされ、
    前記文字列のコンテンツの前記スクロールの前記水平方向の速度は、前記全体の垂直方向および水平方向の距離の分析に基づいて低下させられることを特徴とする請求項15に記載の装置。
  17. 前記少なくとも1つのプロセッサはさらに、前記全体の垂直方向および水平方向の距離に基づいて、前記文字列のコンテンツの前記スクロールの前記水平方向の速度を低下させるときの除数となる係数を計算するようにプログラムされることを特徴とする請求項16に記載の装置。
  18. 前記水平方向の境界の幅は、前記文書が前記表示画面に表示される際のドットパーインチ(DPI)に基づくことを特徴とする請求項13に記載の装置。
  19. コンピュータにより実行されると、前記コンピュータの表示画面に表示される文字列を含む電子文書をスクロールする方法を、前記コンピュータに実行させるように具体化されたプログラムを備えたコンピュータ可読記憶媒体であって、前記方法が、
    前記コンピュータの入力デバイスを介して受信されたユーザー入力を処理するステップと、
    前記処理されたユーザー入力から、ドラッグ操作の開始イベントおよびポインタ動作を検出するステップと、
    前記ドラッグ操作の前記ポインタ動作に従って、前記文書の文字列のコンテンツをスクロールするステップと、
    前記文字列のコンテンツを自動的に再スクロールして、前記ドラッグ操作による、前記文字列のコンテンツの前記スクロールの水平成分を補償するステップと、
    を含むことを特徴とするコンピュータ可読記憶媒体。
  20. 前記方法がさらに、
    前記文字列のコンテンツの前記スクロールの前記水平成分を、水平方向の距離として検出するステップと、
    前記距離が修正の閾値よりも短いかどうかを判定するステップと、
    を含み、
    前記自動的な再スクロールは、前記距離が前記修正の閾値よりも短いという判定に応答して実行されることを特徴とする請求項19に記載のコンピュータ可読記憶媒体。
  21. 前記方法がさらに、前記文字列のコンテンツの前記スクロールの垂直成分を検出するステップを含み、
    前記垂直成分は、垂直方向の距離として求められ、
    前記修正の閾値は、前記文字列のコンテンツの前記スクロールの前記水平成分および前記垂直成分に基づいて求められることを特徴とする請求項20に記載のコンピュータ可読記憶媒体。
  22. 前記方法がさらに、
    前記文字列のコンテンツのブロックの水平方向の境界を計算するステップと、
    前記文字列のコンテンツの前記スクロールにより、前記水平方向の境界の少なくとも一部が、前記電子的なデバイスの表示画面の表示域から出たかどうかを判定するステップと、
    を含み、
    前記自動的な再スクロールは、前記判定に基づいて実行されることを特徴とする請求項19に記載のコンピュータ可読記憶媒体。
  23. 前記自動的な再スクロールは、前記水平方向の境界の全体よりも小さな一部が、前記文字列のコンテンツの前記スクロールの結果として前記表示域から出たと判定されたことに応答して実行されることを特徴とする請求項22に記載のコンピュータ可読記憶媒体。
  24. 前記方法がさらに、前記水平方向の境界の端部が前記表示域から出ると、前記文字列のコンテンツの前記スクロールの水平方向の速度を低下させるステップを含むことを特徴とする請求項22に記載のコンピュータ可読記憶媒体。
  25. 前記ドラッグ操作は、前記処理されたユーザー入力から前記少なくとも1つのプロセッサにより検出された、一連の1つまたは複数のドラッグ操作の一部であり、
    前記方法はさらに、前記一連の操作のうちの最初のドラッグ操作の開始イベントの後にスクロールされた、全体の垂直方向の距離および全体の水平方向の距離を求めるステップを含み、
    前記文字列のコンテンツの前記スクロールの前記水平方向の速度は、前記全体の垂直方向および水平方向の距離の分析に基づいて低下させられることを特徴とする請求項24に記載のコンピュータ可読記憶媒体。
  26. 前記方法はさらに、前記全体の垂直方向および水平方向の距離に基づいて、前記文字列のコンテンツの前記スクロールの前記水平方向の速度を低下させるときの除数となる係数を計算するステップを含むことを特徴とする請求項25に記載のコンピュータ可読記憶媒体。
  27. 前記水平方向の境界の幅は、前記文書が前記コンピュータに表示される際のドットパーインチ(DPI)に基づくことを特徴とする請求項22に記載のコンピュータ可読記憶媒体。
JP2012539424A 2009-11-18 2010-11-15 スクロール中に文字列の縦の段に追従するための方法および装置 Active JP5629781B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/621,244 2009-11-18
US12/621,244 US9086756B2 (en) 2009-11-18 2009-11-18 Snapping to text columns while scrolling
PCT/IB2010/002917 WO2011061592A1 (en) 2009-11-18 2010-11-15 Method and apparatus for snapping to text column while scrolling

Publications (2)

Publication Number Publication Date
JP2013511759A true JP2013511759A (ja) 2013-04-04
JP5629781B2 JP5629781B2 (ja) 2014-11-26

Family

ID=43795131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012539424A Active JP5629781B2 (ja) 2009-11-18 2010-11-15 スクロール中に文字列の縦の段に追従するための方法および装置

Country Status (5)

Country Link
US (1) US9086756B2 (ja)
EP (1) EP2502138A1 (ja)
JP (1) JP5629781B2 (ja)
RU (1) RU2012124990A (ja)
WO (1) WO2011061592A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5701440B1 (ja) * 2014-08-29 2015-04-15 株式会社Cygames ユーザ入力の操作性を向上させる方法
JP5705393B1 (ja) * 2015-01-21 2015-04-22 株式会社Cygames ユーザ入力の操作性を向上させる方法
JP5830806B1 (ja) * 2015-04-13 2015-12-09 株式会社Cygames ユーザ入力の操作性を向上させるプログラム、電子装置、及び方法

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2781945C (en) * 2009-11-26 2015-09-15 Rakuten, Inc. Information processing device, terminal device and program, content of interest determination method and program, recording medium on which program is recorded, and information provision system
JP5568970B2 (ja) * 2009-11-30 2014-08-13 ソニー株式会社 情報処理装置、情報処理方法及びそのプログラム
US20120092381A1 (en) * 2010-10-19 2012-04-19 Microsoft Corporation Snapping User Interface Elements Based On Touch Input
KR101724000B1 (ko) * 2010-11-22 2017-04-06 삼성전자주식회사 터치스크린 단말기에서 화면 스크롤 방법 및 장치
JP5553812B2 (ja) * 2011-10-26 2014-07-16 株式会社ソニー・コンピュータエンタテインメント スクロール制御装置、端末装置およびスクロール制御方法
EP2592574B1 (en) 2011-11-08 2020-03-18 BlackBerry Limited Improved block zoom on a mobile electronic device
US10296205B2 (en) * 2011-12-12 2019-05-21 Sony Corporation User interface for controlling a display scale of an image
KR101892567B1 (ko) * 2012-02-24 2018-08-28 삼성전자 주식회사 단말기에서 콘텐츠 이동 방법 및 장치
CN103777876A (zh) * 2012-10-19 2014-05-07 阿里巴巴集团控股有限公司 触摸屏显示器页面处理方法、装置及电子设备
US9477382B2 (en) * 2012-12-14 2016-10-25 Barnes & Noble College Booksellers, Inc. Multi-page content selection technique
KR102085309B1 (ko) * 2013-01-30 2020-03-05 삼성전자주식회사 전자 장치에서 스크롤 장치 및 방법
CN104035942B (zh) * 2013-03-08 2018-09-07 腾讯科技(深圳)有限公司 屏幕显示模式切换时的输入框调整方法及装置
US9736526B2 (en) * 2013-04-10 2017-08-15 Autodesk, Inc. Real-time scrubbing of videos using a two-dimensional grid of thumbnail images
WO2015044830A1 (en) * 2013-09-27 2015-04-02 Visuality Imaging Ltd Methods and system for improving the readability of text displayed on an electronic device screen
CN104866080B (zh) * 2014-02-24 2020-08-18 腾讯科技(深圳)有限公司 屏幕内容显示方法和系统
US9606966B2 (en) 2014-07-16 2017-03-28 International Business Machines Corporation Energy and effort efficient reading sessions
US20200218413A1 (en) 2014-10-30 2020-07-09 Google Llc Systems and methods for presenting scrolling online content on mobile devices
US10120735B2 (en) 2015-03-30 2018-11-06 Microsoft Technology Licensing, Llc Touch application programming interfaces
CN104933090A (zh) * 2015-05-18 2015-09-23 深圳市金立通信设备有限公司 一种信息搜索方法及终端
US9769367B2 (en) 2015-08-07 2017-09-19 Google Inc. Speech and computer vision-based control
US10503278B2 (en) * 2015-12-22 2019-12-10 Sony Corporation Information processing apparatus and information processing method that controls position of displayed object corresponding to a pointing object based on positional relationship between a user and a display region
US9838641B1 (en) 2015-12-30 2017-12-05 Google Llc Low power framework for processing, compressing, and transmitting images at a mobile image capture device
US10732809B2 (en) 2015-12-30 2020-08-04 Google Llc Systems and methods for selective retention and editing of images captured by mobile image capture device
US9836819B1 (en) 2015-12-30 2017-12-05 Google Llc Systems and methods for selective retention and editing of images captured by mobile image capture device
US9836484B1 (en) 2015-12-30 2017-12-05 Google Llc Systems and methods that leverage deep learning to selectively store images at a mobile image capture device
US10225511B1 (en) 2015-12-30 2019-03-05 Google Llc Low power framework for controlling image sensor mode in a mobile image capture device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014445A1 (en) * 2001-07-13 2003-01-16 Dave Formanek Document reflowing technique
US20030179189A1 (en) * 2002-03-19 2003-09-25 Luigi Lira Constraining display motion in display navigation
JP2005044036A (ja) * 2003-07-24 2005-02-17 Ricoh Co Ltd スクロール制御方法、その方法をコンピュータに実行させるプログラム
US20060048071A1 (en) * 2004-08-30 2006-03-02 Microsoft Corp. Scrolling web pages using direct interaction
US20070209017A1 (en) * 2006-03-01 2007-09-06 Microsoft Corporation Controlling Scroll Speed To Improve Readability
WO2008086218A2 (en) * 2007-01-07 2008-07-17 Apple Inc. List scrolling and document translation, scaling and rotation on a touch-screen display

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050134578A1 (en) * 2001-07-13 2005-06-23 Universal Electronics Inc. System and methods for interacting with a control environment
US8643606B2 (en) 2004-07-05 2014-02-04 Elan Microelectronics Corporation Method for scroll bar control on a touchpad and touchpad with scroll bar control function
WO2009128728A1 (en) * 2008-04-15 2009-10-22 Opera Software Asa Method and device for dynamically wrapping text when displaying a selected region of an electronic document
US20100058240A1 (en) * 2008-08-26 2010-03-04 Apple Inc. Dynamic Control of List Navigation Based on List Item Properties
CA2674663A1 (en) * 2008-10-08 2010-04-08 Research In Motion Limited A method and handheld electronic device having dual mode touchscreen-based navigation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014445A1 (en) * 2001-07-13 2003-01-16 Dave Formanek Document reflowing technique
US20030179189A1 (en) * 2002-03-19 2003-09-25 Luigi Lira Constraining display motion in display navigation
JP2005044036A (ja) * 2003-07-24 2005-02-17 Ricoh Co Ltd スクロール制御方法、その方法をコンピュータに実行させるプログラム
US20060048071A1 (en) * 2004-08-30 2006-03-02 Microsoft Corp. Scrolling web pages using direct interaction
US20070209017A1 (en) * 2006-03-01 2007-09-06 Microsoft Corporation Controlling Scroll Speed To Improve Readability
WO2008086218A2 (en) * 2007-01-07 2008-07-17 Apple Inc. List scrolling and document translation, scaling and rotation on a touch-screen display

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5701440B1 (ja) * 2014-08-29 2015-04-15 株式会社Cygames ユーザ入力の操作性を向上させる方法
JP5705393B1 (ja) * 2015-01-21 2015-04-22 株式会社Cygames ユーザ入力の操作性を向上させる方法
JP2016051463A (ja) * 2015-01-21 2016-04-11 株式会社Cygames ユーザ入力の操作性を向上させる方法
JP5830806B1 (ja) * 2015-04-13 2015-12-09 株式会社Cygames ユーザ入力の操作性を向上させるプログラム、電子装置、及び方法
WO2016167213A1 (ja) * 2015-04-13 2016-10-20 株式会社Cygames ユーザ入力の操作性を向上させるプログラム、電子装置、及び方法
JP2016201028A (ja) * 2015-04-13 2016-12-01 株式会社Cygames ユーザ入力の操作性を向上させるプログラム、電子装置、及び方法
US10391399B2 (en) 2015-04-13 2019-08-27 Cygames, Inc. Program, electronic device, and method that improve ease of operation for user input

Also Published As

Publication number Publication date
US20110119620A1 (en) 2011-05-19
WO2011061592A1 (en) 2011-05-26
RU2012124990A (ru) 2013-12-27
JP5629781B2 (ja) 2014-11-26
EP2502138A1 (en) 2012-09-26
US9086756B2 (en) 2015-07-21

Similar Documents

Publication Publication Date Title
JP5629781B2 (ja) スクロール中に文字列の縦の段に追従するための方法および装置
RU2493589C2 (ru) Редактирование документа с использованием временной поверхности редактирования
US8547348B2 (en) Method and apparatus for providing finger touch layers in a user agent
JP6133411B2 (ja) ジェスチャまたはタッチを介してユーザインターフェースを制御するための最適化スキーム
US9977768B2 (en) System for clipping webpages by traversing a dom, and highlighting a minimum number of words
JP5841603B2 (ja) ドラッグ可能なタブ
US8316105B2 (en) Architecture for installation and hosting of server-based single purpose applications on clients
US9720898B2 (en) Row heights in electronic documents
US9632986B2 (en) Systems and methods for horizontally paginating HTML content
US20120096344A1 (en) Rendering or resizing of text and images for display on mobile / small screen devices
KR20130004857A (ko) 인터넷 서비스를 위한 사용자 인터페이스 제공 방법 및 장치
US20130111333A1 (en) Scaling objects while maintaining object structure
US8271866B2 (en) User-controlled web browser table reduction
JP2013020395A (ja) 情報処理装置、情報処理方法及びプログラム
KR101294458B1 (ko) 모바일 디바이스에서의 텍스트 입력장치 및 그 방법
JP7206863B2 (ja) 表示制御方法、装置、及びプログラム
JP6091231B2 (ja) 情報処理装置、コンピュータプログラム
CN112667218A (zh) 一种处理方法、装置、设备及存储介质
JP2017138849A (ja) コンテンツ操作情報処理システム、ユーザ端末装置及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140828

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140908

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141006

R150 Certificate of patent or registration of utility model

Ref document number: 5629781

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250