(57)【要約】【課題】所定の箇所で自動的にスクロール速度を低下させることにより、紙の書籍と同様の感覚で電子書籍を読むことが可能な情報処理装置等を提供すること。【解決手段】情報処理装置１０は、文書３１を取得する文書取得部と、前記文書取得部が取得した文書３１の一部を表示する表示部２０と、前記表示部２０に表示した文書３１を所定の速度でスクロールするスクロール部と、前記表示部２０に前記文書３１中の所定の箇所が表示されているか否かを判定する判定部と、前記判定部が、表示されていると判定した場合にスクロール速度を変更する変速部とを備える。【選択図】図１
2018120100.tif 000002
【特許請求の範囲】
【請求項１】
文書を取得する文書取得部と、
前記文書取得部が取得した文書の一部を表示する表示部と、
前記表示部に表示した文書を所定の速度でスクロールするスクロール部と、
前記表示部に前記文書中の所定の箇所が表示されているか否かを判定する判定部と、
前記判定部が、表示されていると判定した場合にスクロール速度を変更する変速部と
を備える情報処理装置。
【請求項２】
前記変速部は、スクロール速度を変更前に比べて遅くする
請求項１に記載の情報処理装置。
【請求項３】
前記箇所が前記表示部からスクロールアウトした場合に、前記変速部はスクロール速度を変更前の速度に戻す
請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記表示部は、前記箇所を強調して表示する
請求項１から請求項３のいずれか一つに記載の情報処理装置。
【請求項５】
前記文書の各箇所と、該箇所が前記表示部に表示された時間とを関連づけて記録する第１記録部を備え、
前記判定部は、前記第１記録部により記録された時間が所定の時間よりも長い箇所が前記表示部に表示されているか否かを判定する
請求項１から請求項４のいずれか一つに記載の情報処理装置。
【請求項６】
前記変速部は、前記表示部に表示されている箇所に関連づけられて前記第１記録部に記録されている時間に基づいてスクロール速度を変更する
請求項５に記載の情報処理装置。
【請求項７】
前記文書中の指定を受け付けた箇所を記録する第２記録部を備え、
前記判定部は、前記第２記録部により記録された箇所が前記表示部に表示されているか否かを判定する
請求項１から請求項６のいずれか一つに記載の情報処理装置。
【請求項８】
文字列を記録する第３記録部を備え、
前記判定部は、前記第３記録部により記録された文字列が前記表示部に表示されているか否かを判定する
請求項１から請求項７のいずれか一つに記載の情報処理装置。
【請求項９】
前記判定部は、前記文書中の所定の箇所が前記表示部の所定の領域に表示されているか否かを判定する
請求項１から請求項８のいずれか一つに記載の情報処理装置。
【請求項１０】
前記文書に関連づけられたスクロール速度を取得する取得部を備え、
前記表示部は、前記取得部が取得したスクロール速度に基づいて前記文書をスクロール表示する
請求項１から請求項９のいずれか一つに記載の情報処理装置。
【請求項１１】
前記変速部は、前記文書中の所定の箇所が前記表示部に表示されている場合に、ユーザの視角速度が毎秒１５度以下である速度にスクロール速度を変更する
請求項１から請求項１０のいずれか一つに記載の情報処理装置。
【請求項１２】
前記文書の各箇所と、該箇所のスクロール速度とを関連づけて記録する第４記録部を備え、
前記変速部は、前記第４記録部により記録された前回のスクロール速度が所定の第１速度未満である場合に、スクロール速度を前記第１速度以下に変更する
請求項１から請求項１１のいずれか一つに記載の情報処理装置。
【請求項１３】
前記第１速度は、ユーザの視角速度が毎秒１５度になる速度である、請求項１２に記載の情報処理装置。
【請求項１４】
取得した文書の一部を表示部に表示し、
前記表示部に表示した文書を所定の速度でスクロールし、
前記表示部に前記文書中の所定の箇所が表示されているか否かを判定し、
表示されていると判定した場合にスクロール速度を変更する
処理をコンピュータに実行させる情報処理方法。
【請求項１５】
取得した文書の一部を表示部に表示し、
前記表示部に表示した文書を所定の速度でスクロールし、
前記表示部に前記文書中の所定の箇所が表示されているか否かを判定し、
表示されていると判定した場合にスクロール速度を変更する
処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
タブレット、パソコン、専用端末等、様々な電子機器を使用して読むことができる電子書籍が提供されている。電子書籍では、紙の書籍のようなページめくりを行うことに加えて、文書全体が前から後ろに連続的に流れるようなスクロール表示を行うことが可能である。特許文献１には電子書籍を使用して速読の訓練を行う訓練装置が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−４４２３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示された訓練装置では、スクロール表示中に目的の箇所を読み落とさないように、ユーザを支援することはできないという問題がある。
【０００５】
一つの側面では、所定の箇所で自動的にスクロール速度を低下させる情報処理装置等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
情報処理装置は、文書を取得する文書取得部と、前記文書取得部が取得した文書の一部を表示する表示部と、前記表示部に表示した文書を所定の速度でスクロールするスクロール部と、前記表示部に前記文書中の所定の箇所が表示されているか否かを判定する判定部と、前記判定部が、表示されていると判定した場合にスクロール速度を変更する変速部とを備える。
【発明の効果】
【０００７】
一つの側面では、所定の箇所で自動的にスクロール速度を低下させる情報処理装置等を提供することが可能である。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の動作の概要を説明する説明図である。
【図２】情報処理装置の構成を示す説明図である。
【図３】減速ＤＢのレコードレイアウトを示す説明図である。
【図４】情報処理装置の外観を示す説明図である。
【図５】スクロール速度を説明する説明図である。
【図６】プログラムの処理の流れを示すフローチャートである。
【図７】ＤＢ更新−１のサブルーチンの処理の流れを示すフローチャートである。
【図８】実施の形態２の情報処理装置の動作の概要を説明する説明図である。
【図９】実施の形態２のプログラムの処理の流れを示すフローチャートである。
【図１０】実施の形態３の減速ＤＢのレコードレイアウトを示す説明図である。
【図１１】実施の形態３のプログラムの処理の流れを示すフローチャートである。
【図１２】ＤＢ更新−２のサブルーチンの処理の流れを示すフローチャートである。
【図１３】実施の形態４の減速ＤＢのレコードレイアウトを示す説明図である。
【図１４】実施の形態４のプログラムの処理の流れを示すフローチャートである。
【図１５】ＤＢ更新−３のサブルーチンの処理の流れを示すフローチャートである。
【図１６】キーワードＤＢのレコードレイアウトを示す説明図である。
【図１７】実施の形態５の情報処理装置の外観を示す説明図である。
【図１８】実施の形態５の情報処理装置の動作の概要を説明する説明図である。
【図１９】実施の形態５の情報処理装置の動作の概要を説明する説明図である。
【図２０】実施の形態５のプログラムの処理の流れを示すフローチャートである。
【図２１】実施の形態６の情報処理装置の動作の概要を説明する説明図である。
【図２２】実施の形態６のプログラムの処理の流れを示すフローチャートである。
【図２３】点数ＤＢのレコードレイアウトを示す説明図である。
【図２４】速度係数ＤＢのレコードレイアウトを示す説明図である。
【図２５】速度係数ＤＢの例を説明するグラフである。
【図２６】速度係数ＤＢの例を説明するグラフである。
【図２７】速度係数ＤＢの例を説明するグラフである。
【図２８】実施の形態７のプログラムの処理の流れを示すフローチャートである。
【図２９】ＤＢ更新−４のサブルーチンの処理の流れを示すフローチャートである。
【図３０】リミッタＤＢのレコードレイアウトを示す説明図である。
【図３１】実施の形態８の情報処理装置の動作の概要を説明する説明図である。
【図３２】実施の形態８の情報処理装置の動作の概要を説明する説明図である。
【図３３】実施の形態８の情報処理装置の動作の概要を説明する説明図である。
【図３４】実施の形態８の情報処理装置の動作の概要を説明する説明図である。
【図３５】実施の形態８のプログラムの処理の流れを示すフローチャートである。
【図３６】速度制限スクロールのサブルーチンの処理の流れを示すフローチャートである。
【図３７】実施の形態９の情報処理装置の外観を示す説明図である。
【図３８】標準速度ＤＢのレコードレイアウトを示す説明図である。
【図３９】実施の形態１１の減速ＤＢのレコードレイアウトを示す説明図である。
【図４０】実施の形態１１の情報処理装置の外観を示す説明図である。
【図４１】実施の形態１２の情報処理装置の動作を示す機能ブロック図である。
【図４２】実施の形態１３の情報処理装置の構成を示す説明図である。
【発明を実施するための形態】
【０００９】
［実施の形態１］
図１は、情報処理装置１０の動作の概要を説明する説明図である。本実施の形態の情報処理装置１０は、表示部２０を備えるタブレット型の電子書籍リーダ、汎用のタブレット、スマートフォン、またはパソコン等の情報機器である。情報処理装置１０が、タブレット型の電子書籍リーダである場合を例にして説明する。
【００１０】
図１の中央に、電子書籍の文書ファイル３１の模式図を示す。文書ファイル３１の内容は、模式図の上側から下側に向けて記載されている。図１の左右に、情報処理装置１０の模式図を示す。表示部２０は、文書ファイル３１の一部分を表示可能である。
【００１１】
図１の表示部２０内に示す白丸は、文書ファイル３１中の文字が停止またはゆっくりとスクロール表示されている状態を示す。図１の上下方向の中央の２つの表示部２０内に示す上向きの矢印は、文書ファイル３１が上向きに高速でスクロール表示されている状態を示す。
【００１２】
図１の左側は、ユーザが１回目に文書ファイル３１を読む際の操作および表示の例を示す。ユーザは、表示部２０の表面に設けられたタッチパネルを操作して、閲覧する文書ファイル３１を選択する。なお、情報処理装置１０が起動した際に、ユーザが前回閲覧を中断した文書ファイル３１が自動的に選択されても良い。
【００１３】
選択された文書を記録した文書ファイル３１（図２参照）が、補助記憶装置１４（図２参照）から取得される。文書ファイルの一部、たとえば冒頭の部分またはユーザが前回閲覧を中断した部分が、表示部２０に表示される。
【００１４】
ユーザは、表示部２０の表面に設けられたタッチパネルを操作して、文書ファイル３１をスクロールする。ユーザは、文書ファイル３１中のハッチングで示す第１領域３１１をゆっくりと読む。その後ユーザは、白色で示す第２領域３１２を高速でスクロールして読み飛ばす。ユーザは、文書ファイル３１中にハッチングで示す第３領域３１３をゆっくりと読む。
【００１５】
ゆっくりと読まれた行は、表示部２０に長い時間表示される。高速スクロールされた行は、表示部２０に短い時間表示される。後述する減速ＤＢ３３に、文書ファイル３１のそれぞれの行が表示部２０に表示された時間が記録される。
【００１６】
図１の右側は、ユーザが文書ファイル３１を２回目に読む際の表示の例を示す。本実施の形態の情報処理装置１０は、ユーザがタッチパネルから手を離してもスクロールを継続する、自動スクロール機能を備える。
【００１７】
ユーザが、高速で自動スクロールするように操作した場合であっても、減速ＤＢ３３に長い時間表示されていたことが記録されている第１領域３１１および第３領域３１３は、ゆっくりとスクロールされる。減速ＤＢ３３に短い時間表示されていたことが記録されている第２領域３１２は、自動スクロールの操作で指定された通りに高速でスクロールされる。
【００１８】
自動スクロール中も、ユーザは、タッチパネルを操作することによりスクロールの停止、減速または反転等の操作を行うことができる。ユーザが文書ファイル３１を２回目に読む場合も、文書ファイル３１のそれぞれの行が表示部２０に表示された時間が減速ＤＢ３３に記録され、その後の減速有無の判定に反映される。
【００１９】
紙の書籍を読む場合には、ユーザが書籍を手に持ってパラパラとめくり、必要なページを開いて読むことが行われる。特にいったん読んだ書籍を再読するユーザは、過去に同じ書籍を読んだ際に無意識に残した、ページの開き癖等の痕跡に基づいて、重要な箇所をすばやく開いて読むことができる。
【００２０】
本実施の形態の情報処理装置１０によると、高速でスクロールしている場合であってもユーザが過去に時間を掛けて読んだ箇所では、スクロール速度が遅くなる。そのため、ユーザは過去に重要だと感じてじっくりと時間を掛けて読んだ箇所を容易に発見することが可能である。したがって、紙の書籍をパラパラとめくる場合と同様の感覚でユーザが電子書籍を読むことが可能な情報処理装置１０を提供することが可能である。
【００２１】
図２は、情報処理装置１０の構成を示す説明図である。情報処理装置１０は、ＣＰＵ（Central Processing Unit）１２、主記憶装置１３、補助記憶装置１４、通信部１５、入力部１７、表示部２０、およびバスを備える。
【００２２】
ＣＰＵ１２は、本実施の形態にかかるプログラムを実行する演算制御装置である。ＣＰＵ１２には、一または複数のＣＰＵまたはマルチコアＣＰＵ等が使用される。ＣＰＵ１２は、バスを介して情報処理装置１０を構成するハードウェア各部と接続されている。
【００２３】
主記憶装置１３は、ＳＲＡＭ（Static Random Access Memory）、ＤＲＡＭ（Dynamic Random Access Memory）、フラッシュメモリ等の記憶装置である。主記憶装置１３には、ＣＰＵ１２が行う処理の途中で必要な情報およびＣＰＵ１２で実行中のプログラムが一時的に保存される。
【００２４】
補助記憶装置１４は、ＳＲＡＭ、フラッシュメモリ、ハードディスクまたは磁気テープ等の記憶装置である。補助記憶装置１４には、電子書籍等の文書ファイル３１、減速ＤＢ３３、ＣＰＵ１２に実行させるプログラム、およびプログラムの実行に必要な各種情報が保存される。なお、文書ファイル３１はたとえば電子メール、ＳＮＳ（Social Networking  Service）のログ、または各種報告書等の、電子書籍以外のファイルでも良い。
【００２５】
文書ファイル３１は、たとえばＥＰＵＢ（Electronic Publication）形式、ＨＴＭＬ（Hyper  Text Markup Language）形式、ＰＤＦ（Portable Document Format）形式、プレーンテキスト形式、ワープロのファイル形式等の、任意の形式を使用することが可能である。本実施の形態においては、文字データを取り出してスクロール表示する、いわゆるリフロー型の表示を行うことが可能な文書ファイル３１を使用する。
【００２６】
通信部１５は、図示しないネットワークとの通信を行うインターフェイスである。
【００２７】
表示部２０は、液晶表示パネル、有機ＥＬ（Electro Luminescence）表示パネルまたは電子ペーパ等の表示パネルである。入力部１７は、表示部２０の表面に配置されたタッチセンサである。すなわち、表示部２０と入力部１７とは、一体になっていわゆるタッチパネルを構成する。
【００２８】
なお、表示部２０にゴーグル型または眼鏡型のヘッドマウントディスプレイを使用しても良い。この場合、入力部１７にはユーザの手および腕の動きを検知するいわゆるモーションセンサ、音声入力を行うマイク、またはユーザの視線を検知する視線入力装置等を使用することが望ましい。
【００２９】
図３は、減速ＤＢ３３のレコードレイアウトを示す説明図である。減速ＤＢ３３は、文書ファイル３１の行の番号と、行を文書領域５９に表示した時間と、減速フラグとを関連づけて記録するＤＢである。減速ＤＢ３３は、情報処理装置１０に接続された外部の記憶装置に記憶されていても良い。減速ＤＢ３３は、本実施の形態の第１記録部の一例である。
【００３０】
減速ＤＢ３３は、文書ファイルフィールド、行フィールド、表示時間フィールドおよび減速フラグフィールドを有する。文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤ（Identifier）が記録されている。行フィールドには、文書ファイル３１に記憶された文書の行番号が記録されている。表示時間フィールドには、行番号フィールドに対応する行が文書領域５９に表示された累積時間が記録されている。
【００３１】
減速フラグフィールドには、行番号フィールドに対応する行が表示部２０に表示されている場合に、スクロール速度を減速するか否かのフラグが記録されている。減速フラグが「ＯＦＦ」である場合、ＣＰＵ１２はスクロール速度を減速しない。減速フラグが「ＯＮ」である場合、ＣＰＵ１２はスクロール速度を減速する。
【００３２】
減速ＤＢ３３は、一つの行番号について一つのレコードを有する。なお、減速ＤＢ３３は、文字単位、段落単位、またはページ単位等、任意の単位で減速フラグを記録しても良い。この場合、減速ＤＢ３３は減速フラグを記録する単位ごとに一つのレコードを有する。
【００３３】
ＣＰＵ１２は表示時間フィールドに記録された時間が閾値より長いレコードの減速フラグフィールドに「ＯＮ」を記録する。具体的には、たとえばＣＰＵ１２は表示時間フィールドに記録された表示時間の平均値μおよび標準偏差σを算出し、平均値μ＋係数Ａ×標準偏差σを閾値に定める。各行を文書領域５９に表示した時間が正規分布である場合、係数Ａを３に設定することにより、ＣＰＵ１２は、表示部２０への表示時間が上位約０．３パーセントの行の減速フラグフィールドに「ＯＮ」を記録する。
【００３４】
なお、ＣＰＵ１２は、Ａを３以外の任意の数に設定することができる。Ａを小さくする場合には閾値が小さくなり、減速フラグフィールドに「ＯＮ」が記録される行が増加する。Ａを大きくする場合には閾値が大きくなり、減速フラグフィールドに「ＯＮ」が記録される行が減少する。
【００３５】
ＣＰＵ１２は、たとえば表示時間フィールドに記録された表示時間が長い方から数えて所定の順番までの行の所要時間を閾値に設定しても良い。ＣＰＵ１２は、ユーザによる閾値の入力を受け付けても良い。その他、ＣＰＵ１２は任意の手法により閾値を定めることができる。
【００３６】
図４は、情報処理装置１０の外観を示す説明図である。前述の通り、情報処理装置１０は表示部２０を備える。ＣＰＵ１２は、表示部２０に、文書領域５９、加速ボタン５３、減速ボタン５４、停止ボタン５５および方向ボタン５６を表示する。ＣＰＵ１２は、文書領域５９に文書ファイル３１をスクロール表示する。ＣＰＵ１２は、表示部２０の表面に配置されたタッチパネルを介して、ユーザによる加速ボタン５３、減速ボタン５４、停止ボタン５５および方向ボタン５６の選択を受け付ける。
【００３７】
なお、ボタンの種類および配置は一例であり、情報処理装置１０のユーザの好みに応じて変更可能であっても良い。本実施の形態では、ＣＰＵ１２が文書領域５９に文書ファイル３１を横書き表示する場合を例にして説明するが、ＣＰＵ１２は、文書領域５９に文書ファイル３１を縦書き表示しても良い。縦書き表示する場合、ＣＰＵ１２は文書ファイル３１を左右方向にスクロール表示する。
【００３８】
加速ボタン５３の選択を受け付けた場合、ＣＰＵ１２はスクロール速度を速くする。減速ボタン５４の選択を受け付けた場合、ＣＰＵ１２はスクロール速度を遅くする。停止ボタン５５の選択を受け付けた場合、ＣＰＵ１２はスクロールを停止する。停止ボタン５５の選択を再度受け付けた場合、ＣＰＵ１２はスクロールを再開する。方向ボタン５６の選択を受け付けた場合、ＣＰＵ１２はスクロールの向きを反転する。
【００３９】
さらに、ＣＰＵ１２は、文書領域５９を介してユーザの操作を受け付ける。たとえば、文書領域５９の上で指を上または下に払うフリック操作を受け付けた場合、ＣＰＵ１２は払われた向きへのスクロールを開始する。既にスクロール中の向きと同じ向きへのフリック操作を受け付けた場合、ＣＰＵ１２はスクロール速度を速くする。
【００４０】
文書領域５９の上に短時間触れるタッチ操作を受け付けた場合、ＣＰＵ１２はスクロールを停止する。文書領域５９の上で指をスライドする操作を受け付けた場合、文書領域５９に表示された文字が指に追従して動くように表示する。
【００４１】
以上に説明したユーザインターフェイスにより、ＣＰＵ１２はユーザによるスクロール操作を受け付ける。受け付けた操作に基づいてＣＰＵ１２が定めるスクロール速度を、基準スクロール速度と呼ぶ。
【００４２】
本実施の形態においては、ユーザによる追加の操作を受け付けるまでは、ＣＰＵ１２が基準スクロール速度を一定に保つ情報処理装置１０を例にして説明する。ＣＰＵ１２は、ユーザによる操作から所定の時間が経過した場合に、基準スクロール速度を自動的に低くしても良い。
【００４３】
ＣＰＵ１２は、図示しないメニュー画面等を介して、スクロール速度の初期値の設定を受け付けても良い。スクロール速度の初期値は、電子書籍の発行者により設定され、文書ファイル３１と共に配布されても良い。
【００４４】
図５は、スクロール速度を説明する説明図である。図５の上側は、スクロール速度の変化を説明するグラフである。横軸は、表示部２０の１行目に表示されている行を示す。縦軸は、スクロール速度を示す。
【００４５】
グラフの下側に、減速ＤＢ３３の減速フラグフィールドに記録された値を、グラフの横軸の行と対応づけて示す。０行目からα１行目までの行、（α２＋１）行目からα３行目、および（α４＋１）行目以降の行に対応するレコードの減速フラグフィールドには、「ＯＦＦ」が記録されている。（α１＋１）行目からα２行目までの行、および、（α３＋１）行目からα４行目までの行に対応するレコードの減速フラグフィールドには、「ＯＮ」が記録されている。
【００４６】
すなわち、（α１＋１）行目からα２行目までが図１中の第１領域３１１に、（α２＋１）行目からα３行目までが、図１中の第２領域３１２に、（α３＋１）行目からα４行目までが、図１中の第３領域３１３にそれぞれ対応する。
【００４７】
図５に示すグラフは、基準スクロール速度が一定の値Ｖ１である場合に、ＣＰＵ１２が表示部２０に文書ファイル３１をスクロール表示するスクロール速度を示す。減速フラグが「ＯＦＦ」である箇所では、ＣＰＵ１２は基準スクロール速度Ｖ１でスクロール表示する。減速フラグが「ＯＮ」である箇所では、ＣＰＵ１２は文書ファイル３１を基準スクロール速度Ｖ１より遅い減速スクロール速度Ｖ２でスクロール表示する。
【００４８】
減速フラグが「ＯＮ」から「ＯＦＦ」に変化するα２行目およびα４行目において、ＣＰＵ１２はスクロール速度を減速スクロール速度Ｖ２から基準スクロール速度Ｖ１に戻す。
【００４９】
図６は、プログラムの処理の流れを示すフローチャートである。ＣＰＵ１２は、補助記憶装置１４から文書ファイル３１を取得する（ステップＳ５０１）。ＣＰＵ１２は、情報処理装置１０に接続された外付けの大容量記憶装置から文書ファイル３１を取得しても良い。ＣＰＵ１２は、通信部１５を介して図示しないサーバから文書ファイル３１を取得して、補助記憶装置１４または主記憶装置１３に保存しても良い。ＣＰＵ１２は、ストリーミング方式により、文書ファイル３１の一部分を順次取得して、一時記憶しても良い。
【００５０】
ＣＰＵ１２は、文書領域５９に文書ファイル３１の一部を表示する（ステップＳ５０２）。なお、文書ファイル３１がたとえばＰＤＦ形式等のページ表示を前提とした形式である場合には、ＣＰＵ１２は文書ファイル３１から文字を抽出して表示部２０に表示する。文書ファイル３１から文字を取り出す方法については、従来から行われているので、説明を省略する。
【００５１】
ＣＰＵ１２は、文書ファイル３１から、文書領域５９に示した部分に続く１行分の文字列を取得する（ステップＳ５０３）。ＣＰＵ１２は、ユーザから受け付けた操作に基づいて、基準スクロール速度を取得する（ステップＳ５０４）。
【００５２】
ＣＰＵ１２は、減速ＤＢ３３を参照して文書領域５９に文書ファイル３１中の減速フラグが「ＯＮ」である箇所が表示されているか否かを判定する（ステップＳ５０５）。減速フラグが「ＯＮ」である箇所が表示されていると判定した場合（ステップＳ５０５でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ５０６）。
【００５３】
減速スクロール速度は、ステップＳ５０４で取得した基準スクロール速度に対して１以下の正の数を乗じた速度である。減速スクロール速度は、ステップＳ５０４で取得した基準スクロール速度から所定の値を減算した速度であっても良い。基準スクロール速度が所定の速度よりも遅い場合には、減速スクロール速度は基準スクロール速度と同一であっても良い。
【００５４】
減速スクロール速度は、任意の定数であっても良い。ＣＰＵ１２は、あらかじめユーザの好みに応じた減速スクロール速度の算出方法を受け付けて、主記憶装置１３または補助記憶装置１４に記憶しても良い。
【００５５】
減速フラグフィールドに２段階以上の減速段階を記録されており、ＣＰＵ１２は減速段階に応じて減速スクロール速度を算出しても良い。減速段階は、たとえば表示時間フィールドに記録された時間に基づいて定められていても良い。
【００５６】
ＣＰＵ１２は、ステップＳ５０６で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０７）。減速フラグが「ＯＮ」である箇所が表示されていないと判定した場合（ステップＳ５０５でＮＯ）、ＣＰＵ１２はステップＳ５０４で取得した基準スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０８）。
【００５７】
ステップＳ５０７またはステップＳ５０８の終了後、ＣＰＵ１２はスクロールアウトした行の表示時間フィールドに、その行が文書領域５９に表示されていた時間を加算する（ステップＳ５２５）。ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ５１０）。
【００５８】
終了しないと判定した場合（ステップＳ５１０でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ５１０でＹＥＳ）。ＣＰＵ１２はＤＢ更新−１のサブルーチンを起動する（ステップＳ５２７）。ＤＢ更新−１のサブルーチンは、図３を使用して説明した減速ＤＢ３３を更新するサブルーチンである。ＤＢ更新−１のサブルーチンの処理の流れは後述する。ＣＰＵ１２は、その後処理を終了する。
【００５９】
図７は、ＤＢ更新−１のサブルーチンの処理の流れを示すフローチャートである。ＣＰＵ１２は、図３を使用して説明した減速ＤＢ３３に基づいて閾値を定める（ステップＳ５３１）。
【００６０】
閾値の定め方の一例を説明する。ＣＰＵ１２は、減速ＤＢ３３の表示時間フィールドに記録された時間の時間の平均値μおよび標準偏差σを算出する。ＣＰＵ１２は、平均値μ＋係数Ａ×標準偏差σを算出して、閾値に定める。Ａは任意の係数である。ＣＰＵ１２は、ユーザによる入力に基づいてＡの値を定めても良い。
【００６１】
閾値の定め方の別の例を説明する。ＣＰＵ１２は、表示時間フィールドに記録された時間が長い方から数えて所定の順番の行を抽出し、その行の表示時間フィールドに記録された時間を閾値に設定する。その他、ＣＰＵ１２は任意の手法により閾値を定めることができる。
【００６２】
ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ５３２）。ＣＰＵ１２は、減速ＤＢ３３からＩ番目のレコードを取得する（ステップＳ５３３）。ＣＰＵ１２は、ステップＳ５３３で取得したレコードの表示時間フィールドに記録された時間がステップＳ５３１で算出した閾値よりも大きいか否かを判定する（ステップＳ５３４）。
【００６３】
閾値よりも大きいと判定した場合（ステップＳ５３４でＹＥＳ）、ＣＰＵ１２はステップＳ５３３で取得したレコードの減速フラグフィールドに「ＯＮ」を記録する（ステップＳ５３５）。閾値以下であると判定した場合（ステップＳ５３４でＮＯ）、ＣＰＵ１２はステップＳ５３３で取得したレコードの減速フラグフィールドに「ＯＦＦ」を記録する（ステップＳ５３６）。
【００６４】
ステップＳ５３５またはステップＳ５３６の終了後、ＣＰＵ１２は減速ＤＢ３３の処理を終了したか否かを判定する（ステップＳ５３７）。終了していないと判定した場合（ステップＳ５３７でＮＯ）、ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ５３８）。ＣＰＵ１２は、ステップＳ５３３に戻る。終了していると判定した場合（ステップＳ５３７でＹＥＳ）、ＣＰＵ１２は処理を終了する。
【００６５】
本実施の形態によると、減速フラグが「ＯＮ」に設定された箇所で自動的にスクロール速度を低下させる情報処理装置１０等を提供することが可能である。
【００６６】
本実施の形態によると、過去に同じ文書ファイル３１を読んだ際の所要時間の長短に基づいてスクロール速度を変化させる情報処理装置１０を提供することができる。
【００６７】
本実施の形態によると、過去に閾値よりも時間を掛けた箇所で自動的にスクロール速度を低下させる情報処理装置１０等を提供することが可能である。過去に時間を掛けた箇所は、紙の書籍でいえば何度も開かれて開き癖が付いたページに相当する。本実施の形態によると、ユーザが過去に無意識に行った操作の痕跡に基づいてスクロール速度を変化させることにより、紙の書籍と同様の操作感を得ることが可能な情報処理装置１０を提供することが可能である。
【００６８】
なお、ＣＰＵ１２は、減速フラグが「ＯＦＦ」に設定されている行を、基準スクロール速度Ｖ１よりも速くスクロールし、減速フラグが「ＯＮ」に設定されている行を、基準スクロール速度Ｖ１でスクロールしても良い。
【００６９】
ＣＰＵ１２は文書ファイル３１を順方向、すなわち文書の前側から後側に向けてスクロールしている場合だけステップＳ５０５の判定を行ない、逆方向にスクロールしている場合には常に通常スクロールを行っても良い。
【００７０】
［実施の形態２］
本実施の形態は、過去に同じ文書ファイル３１を読んだ際の表示時間の長短およびマーキング３２の有無に基づいてスクロール速度を変化させる情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【００７１】
図８は、実施の形態２の情報処理装置１０の動作の概要を説明する説明図である。図８の中央に、電子書籍の文書ファイル３１の模式図および拡大図を示す。文書ファイル３１中にハッチングで示す第１領域３１１および第３領域３１３は、減速ＤＢ３３の減速ファイルフィールドに「ＯＦＦ」が記録された領域である。文書ファイル３１中に白色で示す第２領域３１２は、減速ＤＢ３３の減速ファイルフィールドに「ＯＮ」が記録された領域である。
【００７２】
第２領域３１２の一部に、拡大図中に黒丸で図示するマーキング３２が設定されている場合を例にして説明する。マーキング３２は、たとえばユーザが文書ファイル３１を読みながら、気になる箇所に設定する下線、色線または栞等である。
【００７３】
マーキング３２は、文書ファイル３１自体に記録されても良いし、文書ファイル３１とは別の独立したファイルに記録されても良い。電子書籍へのマーキング３２の設定は従来から種々の操作方法により行われているので、説明を省略する。
【００７４】
図８の左右は、ユーザが、高速で自動スクロールするように操作した場合の情報処理装置１０の状態を示す。文書ファイル３１の順方向のスクロールに伴って、情報処理装置１０の状態はＡからＧに順番に変化する。
【００７５】
Ａは、減速フラグが「ＯＮ」であるため、第１領域３１１中の文字がゆっくりとした速度で減速スクロール表示されている情報処理装置１０を示す。Ｂは、減速フラグが「ＯＦＦ」であるため、第２領域３１２中の文字が上向きに高速でスクロール表示されている情報処理装置１０を示す。
【００７６】
Ｃは、マーキング３２が表示部２０の最下行に表示された情報処理装置１０を示す。減速フラグが「ＯＦＦ」である第２領域３１２であるが、マーキング３２を含む箇所が表示されている文字が減速スクロール表示されている。ＤおよびＥの状態を経て、マーキング３２が上側にスクロールアウトするまで、減速スクロールの状態が継続する。
【００７７】
Ｆは、減速フラグが「ＯＦＦ」であるため、第２領域３１２が上向きに高速でスクロール表示されている情報処理装置１０を示す。Ｇは、減速フラグが「ＯＮ」であるため、第３領域３１３中の文字がゆっくりとした速度で減速スクロール表示されている情報処理装置１０を示す。
【００７８】
本実施の形態の情報処理装置１０によると、ＣＰＵ１２はマーキング３２が設定された箇所のスクロール速度を遅くするので、ユーザは必要な箇所を容易に発見することが可能である。情報処理装置１０のユーザは、マーキング３２を見逃したり、スクロールの停止操作が遅れて行き過ぎたりすること無く、快適に電子書籍を読むことが可能である。
【００７９】
図９は、実施の形態２のプログラムの処理の流れを示すフローチャートである。図９は、プログラムの処理の流れを示すフローチャートである。ＣＰＵ１２は、補助記憶装置１４から文書ファイル３１を取得する（ステップＳ５０１）。ＣＰＵ１２は、文書領域５９に文書ファイル３１を表示する（ステップＳ５０２）。
【００８０】
ＣＰＵ１２は、文書ファイル３１から、文書領域５９に示した部分に続く１行分の文字列を取得する（ステップＳ５０３）。ＣＰＵ１２は、ユーザから受け付けた操作に基づいて、基準スクロール速度を取得する（ステップＳ５０４）。
【００８１】
ＣＰＵ１２は、文書領域５９に文書ファイル３１中のマーキング３２が設定されている箇所が表示されているか否かを判定する（ステップＳ５２１）。マーキング３２が設定されている箇所が表示されていないと判定した場合（ステップＳ５２１でＮＯ）、ＣＰＵ１２は、減速ＤＢ３３を参照して文書領域５９に文書ファイル３１中の減速フラグが「ＯＮ」である箇所が表示されているか否かを判定する（ステップＳ５０５）。
【００８２】
マーキング３２が設定されている箇所が表示されていると判定した場合（ステップＳ５２１でＹＥＳ）、または、減速フラグが「ＯＮ」である箇所が表示されていると判定した場合（ステップＳ５０５でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ５０６）。
【００８３】
ＣＰＵ１２は、ステップＳ５０６で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０７）。減速フラグが「ＯＮ」である箇所が表示されていないと判定した場合（ステップＳ５０５でＮＯ）、ＣＰＵ１２はステップＳ５０４で取得した基準スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０８）。
【００８４】
ステップＳ５０７またはステップＳ５０８の終了後、ＣＰＵ１２はスクロールアウトした行の表示時間フィールドに、その行が文書領域５９に表示されていた時間を加算する（ステップＳ５２５）。ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ５１０）。
【００８５】
終了しないと判定した場合（ステップＳ５１０でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ５１０でＹＥＳ）、ＣＰＵ１２はＤＢ更新−１のサブルーチンを起動する（ステップＳ５２７）。ＤＢ更新−１のサブルーチンは、図７を使用して説明したサブルーチンと同一のサブルーチンである。ＣＰＵ１２は、その後処理を終了する。
【００８６】
本実施の形態によると、高速にスクロール表示を行う場合に、マーキング３２が設定された箇所では自動的にスクロール速度が低下する情報処理装置１０等を提供することが可能である。情報処理装置１０のユーザは、スクロール操作に煩わされずに、文書ファイル３１を流し読みしながら、マーキング３２が設定された箇所を見逃さずに目を通すことが可能である。
【００８７】
本実施の形態によると、表示時間およびマーキング３２等の、過去に同じ文書ファイル３１を読んだ際の痕跡に基づいてスクロール速度を変化させることにより、紙の書籍と同様の操作感を得ることが可能な情報処理装置１０を提供することが可能である。
【００８８】
［実施の形態３］
本実施の形態は、過去に同じ文書ファイル３１を読んだ際の所要時間と、マーキング３２の有無とに基づいて減速フラグを定める情報処理装置１０に関する。実施の形態２と共通する部分については、説明を省略する。
【００８９】
図１０は、実施の形態３の減速ＤＢ３３のレコードレイアウトを示す説明図である。本実施の形態の減速ＤＢ３３は、文書ファイル３１の行の番号と、行に設定されたマーキング３２の有無と、行を文書領域５９に表示した時間と、減速フラグとを関連づけて記録するＤＢである。
【００９０】
減速ＤＢ３３は、文書ファイルフィールド、行フィールド、マーキングフィールド、表示時間フィールドおよび減速フラグフィールドを有する。文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤが記録されている。行フィールドには、文書ファイル３１に記憶された文書の行番号が記録されている。マーキングフィールドには、行番号フィールドに対応する行に、マーキング３２が設定されているか否かが記録されている。
【００９１】
表示時間フィールドには、行番号フィールドに対応する行が文書領域５９に表示されていた累積時間が記録されている。減速フラグフィールドには、行番号フィールドに対応する行が文書領域５９に表示されている場合に、スクロール速度を減速するか否かのフラグが記録されている。減速ＤＢ３３は、一つの行番号について一つのレコードを有する。
【００９２】
本実施の形態においては、ＣＰＵ１２は表示時間フィールドに記録された時間が閾値より長いレコード、および、マーキング３２が設定されているレコードの減速フラグフィールドに「ＯＮ」を記録する。
【００９３】
減速ＤＢ３３の表示時間フィールドは本実施の形態の第１記録部の一例である。減速ＤＢ３３のマーキングフィールドは、本実施の形態の第２記録部の一例である。
【００９４】
図１１は、実施の形態３のプログラムの処理の流れを示すフローチャートである。ステップＳ５０７まで、およびステップＳ５０８は、図６を使用して説明した実施の形態１のプログラムと同一の処理であるため、説明を省略する。
【００９５】
ステップＳ５０７またはステップＳ５０８の終了後、ＣＰＵ１２はスクロールアウトした行の表示時間フィールドに、その行が文書領域５９に表示されていた時間を加算する（ステップＳ５５１）。ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ５５２）。
【００９６】
終了しないと判定した場合（ステップＳ５５２でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ５５２でＹＥＳ）。ＣＰＵ１２はＤＢ更新−２のサブルーチンを起動する（ステップＳ５５３）。ＤＢ更新−２のサブルーチンは、図１０を使用して説明した減速ＤＢ３３を更新するサブルーチンである。ＤＢ更新−２のサブルーチンの処理の流れは後述する。ＣＰＵ１２は、その後処理を終了する。
【００９７】
図１２は、ＤＢ更新−２のサブルーチンの処理の流れを示すフローチャートである。ＣＰＵ１２は、図１０を使用して説明した減速ＤＢ３３に基づいて閾値を定める（ステップＳ５７１）。閾値の定め方は、図９を使用して説明したＤＢ更新−１のサブルーチンのステップＳ５３１と同様であるので、説明を省略する。
【００９８】
ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ５７２）。ＣＰＵ１２は、減速ＤＢ３３からＩ番目のレコードを取得する（ステップＳ５７３）。ＣＰＵ１２は、文書領域５９に文書ファイル３１中のマーキング３２が設定されている箇所が表示されているか否かを判定する（ステップＳ５７４）。
【００９９】
マーキング３２が設定されている箇所が表示されていないと判定した場合（ステップＳ５７４でＮＯ）、ＣＰＵ１２は、ステップＳ５７３で取得したレコードの表示時間フィールドに記録された時間がステップＳ５７１で算出した閾値よりも大きいか否かを判定する（ステップＳ５７５）。
【０１００】
マーキング３２が設定されている箇所が表示されていると判定した場合（ステップＳ５７４でＹＥＳ）、または、閾値よりも大きいと判定した場合（ステップＳ５７５でＹＥＳ）、ＣＰＵ１２はステップＳ５７３で取得したレコードの減速フラグフィールドに「ＯＮ」を記録する（ステップＳ５７６）。
【０１０１】
閾値以下であると判定した場合（ステップＳ５７５でＮＯ）、ＣＰＵ１２はステップＳ５７３で取得したレコードの減速フラグフィールドに「ＯＦＦ」を記録する（ステップＳ５７７）。
【０１０２】
ステップＳ５７６またはステップＳ５７７の終了後、ＣＰＵ１２は減速ＤＢ３３の処理を終了したか否かを判定する（ステップＳ５７８）。終了していないと判定した場合（ステップＳ５７８でＮＯ）、ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ５７９）。ＣＰＵ１２は、ステップＳ５７３に戻る。終了していると判定した場合（ステップＳ５７８でＹＥＳ）、ＣＰＵ１２は処理を終了する。
【０１０３】
本実施の形態によると、過去に同じ文書ファイル３１を読んだ際の所要時間の長短およびマーキング３２の有無に基づいてスクロール速度を変化させる情報処理装置１０を提供することができる。
【０１０４】
本実施の形態によると、ＣＰＵ１２は、マーキング３２の有無を判定せずにスクロール速度の減速有無を判定して文書領域５９に表示する。そのため、比較的処理能力が低いＣＰＵ１２を使用する場合であっても、スムーズにスクロール表示を行える情報処理装置１０を提供することが可能である。
【０１０５】
［実施の形態４］
本実施の形態は、文書領域５９に表示した時間を月ごとに記録するとともに、マーキング３２と時間とを総合して減速フラグを判定する情報処理装置１０に関する。実施の形態２と共通する部分については、説明を省略する。
【０１０６】
図１３は、実施の形態４の減速ＤＢ３３のレコードレイアウトを示す説明図である。本実施の形態の減速ＤＢ３３は、文書ファイル３１の行の番号と、行に設定されたマーキング点と、月ごとにそれぞれの行を文書領域５９に表示した時間と、減速フラグとを関連づけて記録するＤＢである。
【０１０７】
減速ＤＢ３３は、文書ファイルフィールド、行フィールド、マーキング点フィールド、表示時間フィールド、総合点フィールドおよび減速フラグフィールドを有する。表示時間フィールドは、年月ごとのフィールドおよび時間点フィールドを有する。なお、表示時間フィールドは、年ごと、四半期ごと、週ごと、日付ごと等、任意の時間単位のフィールドを有しても良い。
【０１０８】
文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤが記録されている。行フィールドには、文書ファイル３１に記憶された文書の行番号が記録されている。マーキング点フィールドには、行番号フィールドに対応する行に、設定されたマーキング点が記録されている。マーキング点は、文書ファイル３１に設定されたマーキング３２に基づいて付与されている。マーキング点は、たとえばマーキング３２に使用した色ごとに定める。
【０１０９】
年月ごとのフィールドには、行番号フィールドに対応する行が文書領域５９に表示されていた累積時間が、年月ごとに記録されている。時間点フィールドには、年月フィールドに記録された時間に基づく時間点が記録されている。
【０１１０】
ＣＰＵ１２は、たとえば所定時間内の年月フィールドに記録された時間の平均値に基づいて時間点フィールドに記録する時間点を定める。ＣＰＵ１２は、新しい月のデータほど重み付けして時間点を定めても良い。ＣＰＵ１２は、ユーザによる指定を受け付けた期間の年月フィールドに記録されたデータに基づいて時間点を算出しても良い。
【０１１１】
総合点フィールドには、マーキング点フィールドに記録されたマーキング点と、時間点フィールドに記録された時間点とに基づく総合点が記録されている。ＣＰＵ１２は、たとえばマーキング点と時間点とを加算して、総合点を算出する。ＣＰＵ１２は、マーキング点および時間点のそれぞれに重み付けをして加算して、総合点を算出しても良い。
【０１１２】
減速フラグフィールドには、行番号フィールドに対応する行が文書領域５９に表示されている場合に、スクロール速度を減速するか否かのフラグが記録されている。減速ＤＢ３３は、一つの行番号について一つのレコードを有する。
【０１１３】
図１４は、実施の形態４のプログラムの処理の流れを示すフローチャートである。ステップＳ５０７およびステップＳ５０８までは、図６を使用して説明した実施の形態１のプログラムと同一の処理であるため、説明を省略する。
【０１１４】
ステップＳ５０７またはステップＳ５０８の終了後、ＣＰＵ１２は、減速ＤＢ３３のスクロールアウトした行に対応する年月フィールドに、その行が文書領域５９に表示されていた時間を加算する（ステップＳ５９１）。ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ５９２）。
【０１１５】
終了しないと判定した場合（ステップＳ５９２でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ５９２でＹＥＳ）、ＣＰＵ１２はＤＢ更新−３のサブルーチンを起動する（ステップＳ５９３）。ＤＢ更新−３のサブルーチンは、図１３を使用して説明した減速ＤＢ３３を更新するサブルーチンである。ＤＢ更新−３のサブルーチンの処理の流れは後述する。ＣＰＵ１２は、その後処理を終了する。
【０１１６】
図１５は、ＤＢ更新−３のサブルーチンの処理の流れを示すフローチャートである。ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ６０１）。ＣＰＵ１２は、図１３を使用して説明した減速ＤＢ３３からＩ番目のレコードを取得する（ステップＳ６０２）。
【０１１７】
ＣＰＵ１２は、ステップＳ６０２で取得したレコードの所定の年月フィールドに記録されたデータに基づいて時間点を算出し、時間点フィールドに記録する（ステップＳ６０３）。たとえば、ＣＰＵ１２は、所定時間内の年月フィールドに記録された時間の平均値に基づいて時間点フィールドに記録する時間点を定める。ＣＰＵ１２は、新しい月のデータほど重み付けして時間点を定めても良い。ＣＰＵ１２は、ユーザによる指定を受け付けた期間の年月フィールドに記録されたデータに基づいて時間点を算出しても良い。
【０１１８】
ＣＰＵ１２は、ステップＳ６０２で取得したレコードのマーキング点フィールドに記録されたマーキング点と、時間点フィールドに記録された時間点とに基づいて総合点を算出し、総合点フィールドに記録する（ステップＳ６０４）。たとえば、ＣＰＵ１２はマーキング点と時間点とを加算して、総合点を算出する。ＣＰＵ１２は、マーキング点および時間点のそれぞれに重み付けをして加算して、総合点を算出しても良い。
【０１１９】
ＣＰＵ１２は全レコードの処理を終了したか否かを判定する（ステップＳ６０５）。終了していないと判定した場合（ステップＳ６０５でＮＯ）、ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ６０６）。ＣＰＵ１２は、ステップＳ６０２に戻る。終了していると判定した場合（ステップＳ６０５でＹＥＳ）、ＣＰＵ１２は減速ＤＢ３３の総合点フィールドに記録された総合点に基づいて閾値を定める（ステップＳ６１１）。閾値の定め方は、図９を使用して説明したＤＢ更新−１のサブルーチンのステップＳ５３１と同様であるので、説明を省略する。
【０１２０】
ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ６１２）。ＣＰＵ１２は、減速ＤＢ３３からＩ番目のレコードを取得する（ステップＳ６１３）。ＣＰＵ１２は、
ステップＳ６１３で取得したレコードの総合点フィールドに記録された総合点がステップＳ６１１で算出した閾値よりも大きいか否かを判定する（ステップＳ６１４）。
【０１２１】
閾値よりも大きいと判定した場合（ステップＳ６１４でＹＥＳ）、ＣＰＵ１２はステップＳ６１３で取得したレコードの減速フラグフィールドに「ＯＮ」を記録する（ステップＳ６１６）。
【０１２２】
閾値以下であると判定した場合（ステップＳ６１４でＮＯ）、ＣＰＵ１２はステップＳ５７３で取得したレコードの減速フラグフィールドに「ＯＦＦ」を記録する（ステップＳ６１７）。
【０１２３】
ステップＳ６１６またはステップＳ６１７の終了後、ＣＰＵ１２は減速ＤＢ３３の処理を終了したか否かを判定する（ステップＳ６１８）。終了していないと判定した場合（ステップＳ６１８でＮＯ）、ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ６１９）。ＣＰＵ１２は、ステップＳ６１３に戻る。終了していると判定した場合（ステップＳ６１８でＹＥＳ）、ＣＰＵ１２は処理を終了する。
【０１２４】
本実施の形態によると、過去に同じ文書ファイル３１を読んだ際の所要時間の長短およびマーキング３２の有無に基づいてスクロール速度を変化させる情報処理装置１０を提供することができる。
【０１２５】
本実施の形態によると、たとえば直近の数ヶ月間に閲覧した時間が長い箇所でスクロール速度を遅くする情報処理装置１０を提供することが可能である。
【０１２６】
［実施の形態５］
本実施の形態は、所定のキーワードが、表示部２０内の所定の減速領域５１内に表示されている場合にスクロール速度を変更する情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０１２７】
図１６は、キーワードＤＢのレコードレイアウトを示す説明図である。キーワードＤＢは、ユーザからの入力を受け付けたキーワードを記録するＤＢである。キーワードＤＢは、補助記憶装置１４に記憶されている。キーワードＤＢは、情報処理装置１０に接続された外部の記憶装置に記憶されていても良い。キーワードＤＢは、本実施の形態の第３記録部の一例である。
【０１２８】
キーワードＤＢは、キーワードフィールドを有する。キーワードフィールドには、文書ファイル３１中のキーワードが記録されている。キーワードＤＢは、一つのキーワードについて一つのレコードを有する。
【０１２９】
ＣＰＵ１２は、ユーザからの入力を受け付けたキーワードを、キーワードＤＢに記録する。キーワードＤＢは、電子書籍の発行者等から文書ファイル３１と共に配布されても良い。
【０１３０】
図１７は、実施の形態５の情報処理装置１０の外観を示す説明図である。ＣＰＵ１２は、表示部２０に、文書領域５９、加速ボタン５３、減速ボタン５４、停止ボタン５５、方向ボタン５６、キーワード領域５２およびＯＫボタン５８を表示する。ＣＰＵ１２は、ＯＫボタン５８の選択を受け付けた場合に、キーワード領域５２を介して入力されたキーワードを、図１６を使用して説明したキーワードＤＢに記録する。
【０１３１】
ＣＰＵ１２は、文書領域５９に文書ファイル３１をスクロール表示する。ＣＰＵ１２は、キーワードＤＢに記録されたキーワードの周囲に強調指標５７を表示する。文書領域５９の中央部に、減速領域５１が設けられている。ＣＰＵ１２は、減速領域５１にキーワードが表示されている場合に、スクロール速度を遅くする。
【０１３２】
図１８および図１９は、実施の形態５の情報処理装置１０の動作の概要を説明する説明図である。図１８は、電子書籍の文書ファイル３１中の表示部２０に表示されている部分と、スクロール速度との関係を説明する説明図である。図１９は、電子書籍の文書ファイル３１の構成を示す模式図である。図１８および図１９中の白丸および黒丸は、電子書籍の文字を示す。黒丸は、キーワードを示す。
【０１３３】
図１９に示すように、文書ファイル３１は行Ｇ、行Ｈ、行Ｉ、行Ｊ、行Ｋ、行Ｌおよび行Ｍを含む。行Ｌには、キーワードが含まれている。図１９に二点鎖線で示すように、行Ｉが表示部２０の１行目に表示されている場合に、行Ｌが減速領域５１の最下行に表示される。
【０１３４】
図１８の中央は、スクロール速度の変化を示すグラフである。横軸は、表示部２０の１行目に表示されている行を示す。縦軸は、スクロール速度を示す。図１８の上側および下側には、行Ｇから行Ｌがそれぞれ１行目に表示された情報処理装置１０を模式的に示す。
【０１３５】
図１８の下側の一番左に示す情報処理装置１０では、表示部２０の１行目に文書ファイル３１の行Ｇが表示されている。一つ右側に示す情報処理装置１０では、表示部２０の１行目に文書ファイル３１の行Ｉが、減速領域５１の最下行に文書ファイル３１の行Ｌが表示されている。
【０１３６】
グラフに示すように、黒丸で示すキーワードが減速領域５１内に表示されるまでの間、すなわち横軸が行Ｉになるまでの間、ＣＰＵ１２は文書ファイル３１をスクロール速度Ｖ１でスクロール表示する。キーワードが減速領域５１の最下行に表示されてから、減速領域５１の１行目に表示されるまでの間、すなわち横軸が行Ｉから行Ｋの間、ＣＰＵ１２はスクロール速度を減速スクロール速度Ｖ２に低下させる。キーワードが減速領域５１からスクロールアウトされた後、すなわち横軸が行Ｋ以降、ＣＰＵ１２はスクロール速度をＶ１に戻す。
【０１３７】
情報処理装置１０のユーザは、文書ファイル３１を流し読みしながら、キーワードが含まれる箇所を見逃さずに目を通すことが可能である。キーワードが表示部２０の中央付近に表示されてからスクロール速度が低下するため、ユーザはスクロール速度が低下した直後からキーワードの前後の文章を確認することが可能である。
【０１３８】
図２０は、実施の形態５のプログラムの処理の流れを示すフローチャートである。ＣＰＵ１２は、補助記憶装置１４から文書ファイル３１を取得する（ステップＳ５０１）。ＣＰＵ１２は、文書領域５９に文書ファイル３１を表示する（ステップＳ５０２）。
【０１３９】
ＣＰＵ１２は、文書ファイル３１から、文書領域５９に示した部分に続く１行分の文字列を取得する（ステップＳ５０３）。ＣＰＵ１２は、ユーザから受け付けた操作に基づいて、基準スクロール速度を取得する（ステップＳ５０４）。
【０１４０】
ＣＰＵ１２は、キーワードＤＢを参照して、文書ファイル３１中の文書領域５９に表示した部分にキーワードが含まれているか否かを判定する（ステップＳ６３１）。キーワードが含まれていると判定した場合（ステップＳ６３１でＹＥＳ）、ＣＰＵ１２はキーワードの周囲に強調指標５７を表示する（ステップＳ６３２）。
【０１４１】
ＣＰＵ１２は、キーワードが減速領域５１内に表示されているか否かを判定する（ステップＳ６３３）。減速領域５１内に表示されていると判定した場合（ステップＳ６３３でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ６３４）。ＣＰＵ１２は、ステップＳ６３４で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ６３５）。
【０１４２】
キーワードが含まれていないと判定した場合（ステップＳ６３１でＮＯ）、または、キーワードが減速領域５１外であると判定した場合（ステップＳ６３３でＮＯ）、ＣＰＵ１２はステップＳ５０４で取得した基準スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ６３６）。
【０１４３】
ステップＳ６３５またはステップＳ６３６の終了後、ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ６３７）。
【０１４４】
終了しないと判定した場合（ステップＳ６３７でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ６３７でＹＥＳ）。ＣＰＵ１２は処理を終了する。
【０１４５】
本実施の形態によると、所定のキーワードが、表示部２０内の所定の減速領域５１内に表示されている場合にスクロール速度を遅くする情報処理装置１０を提供することが可能である。情報処理装置１０のユーザは、文書ファイル３１を流し読みしながら、キーワードを見逃さずに目を通すことが可能である。
【０１４６】
［実施の形態６］
本実施の形態は、スクロール速度を２段階に分けて減速する情報処理装置１０に関する。実施の形態５と共通する部分については、説明を省略する。
【０１４７】
図２１は、実施の形態６の情報処理装置１０の動作の概要を説明する説明図である。本実施の形態でＣＰＵ１２が表示部２０に表示する文書ファイル３１は、図１９を使用して説明した実施の形態５の文書ファイル３１と同一である。
【０１４８】
図２１のグラフに示すように、黒丸で示すキーワードが表示部２０に表示されるまでの間、すなわち横軸が行Ｈになるまでの間、ＣＰＵ１２は文書ファイル３１をスクロール速度Ｖ１でスクロール表示する。キーワードが減速領域５１の外側に表示されている間、すなわち横軸が行Ｈから行Ｉまでの間、ＣＰＵ１２はスクロール速度を中速スクロール速度Ｖ３に低下させる。
【０１４９】
キーワードが減速領域５１の最下行に表示されてから、減速領域５１の１行目に表示されるまでの間、すなわち横軸が行Ｉから行Ｋの間、ＣＰＵ１２はスクロール速度を減速スクロール速度Ｖ２に低下させる。キーワードが減速領域５１からスクロールアウトされてから表示部２０に表示されている間、すなわち横軸が行Ｋから行Ｌの間、ＣＰＵ１２はスクロール速度を中速スクロール速度Ｖ３に戻す。キーワードが表示部２０からスクロールアウトされた後、ＣＰＵ１２はスクロール速度をＶ０に戻す。
【０１５０】
図２２は、実施の形態６のプログラムの処理の流れを示すフローチャートである。ステップＳ６３３までの処理は、図２０を使用して説明した実施の形態５のフローチャートの処理と同一であるので、説明を省略する。
【０１５１】
キーワードが含まれていないと判定した場合（ステップＳ６３１でＮＯ）、ＣＰＵ１２はステップＳ５０４で取得した基準スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ６３６）。
【０１５２】
キーワードが減速領域５１内に表示されていると判定した場合（ステップＳ６３３でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ６３４）。ＣＰＵ１２は、ステップＳ６３４で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ６３５）。
【０１５３】
キーワードが減速領域５１内に表示されていないと判定した場合（ステップＳ６３３でＮＯ）、ＣＰＵ１２は中速スクロール速度を算出する（ステップＳ６４２）。中速スクロール速度は、ステップＳ５０４で取得した基準スクロール速度と、ステップＳ６３４で算出する減速スクロール速度との間の速度である。たとえば、ＣＰＵ１２は基準スクロール速度と減速スクロール速度の平均値を中速スクロール速度とする。
【０１５４】
ＣＰＵ１２は、ステップＳ６４２で算出した中速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ６４３）。
【０１５５】
ステップＳ６３５、ステップＳ６３６またはステップＳ６４３の終了後、ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ６３７）。終了しないと判定した場合（ステップＳ６３７でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ６３７でＹＥＳ）。ＣＰＵ１２は処理を終了する。
【０１５６】
本実施の形態によると、所定のキーワードが、表示部２０内の所定の減速領域５１内に表示されている場合に、スクロール速度を２段階で遅くする情報処理装置１０を提供することが可能である。情報処理装置１０のユーザは、文書ファイル３１の流し読みから、キーワード周辺の詳細な読み込みにスムーズに以降することが可能である。
【０１５７】
なお、ＣＰＵ１２は、３段階以上にスクロール速度を変化させても良い。
【０１５８】
［実施の形態７］
本実施の形態は、スクロール速度を滑らかに変化させる情報処理装置１０に関する。実施の形態２と共通する部分については、説明を省略する。
【０１５９】
図２３は、点数ＤＢのレコードレイアウトを示す説明図である。点数ＤＢは、文書ファイル３１の行の番号と、行を文書領域５９に表示した時間と、事件に基づいて定める点数とを関連づけて記録するＤＢである。点数ＤＢは、補助記憶装置１４に記憶されている。点数ＤＢは、情報処理装置１０に接続された外部の記憶装置に記憶されていても良い。
【０１６０】
点数ＤＢは、文書ファイルフィールド、行フィールド、表示時間フィールドおよび点数フィールドを有する。文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤが記録されている。行フィールドには、文書ファイル３１に記憶された文書の行番号が記録されている。
【０１６１】
表示時間フィールドには、行番号フィールドに対応する行が文書領域５９に表示されていた累積時間が記録されている。点数フィールドには、行番号フィールドに記録された時間に基づいて算出した点数が記録されている。点数ＤＢは、一つの行番号について一つのレコードを有する。
【０１６２】
ＣＰＵ１２は、たとえば表示時間フィールドに記録された時間を最大値が１００点になるように式（１）により規格化して点数を定めることが可能である。
第Ｎ行の点数＝第Ｎ行の表示時間／表示時間の最大値×１００  ‥‥‥  （１）
【０１６３】
ＣＰＵ１２は、その他任意の手法により、表示時間フィールドに記録された時間が短い方が低い点数に、長い方が高い点数になるようにして、点数を定めることが可能である。
【０１６４】
図２４は、速度係数ＤＢのレコードレイアウトを示す説明図である。速度係数ＤＢは、点数ＤＢに記録された点数と、スクロール速度の減速の程度を表す速度係数とを関連づけて記録するＤＢである。ここで、速度係数は基準スクロール速度と積算することにより、減速スクロール速度を算出する係数である。速度係数が１である場合、減速スクロール速度は基準スクロール速度と等しい。
【０１６５】
速度係数ＤＢは、補助記憶装置１４に記憶されている。速度係数ＤＢは、情報処理装置１０に接続された外部の記憶装置に記憶されていても良い。
【０１６６】
速度係数ＤＢは、点数フィールドおよび速度係数フィールドを有する。点数フィールドには、点数が記録されている。速度係数フィールドには、スクロール速度の減速の程度を表す速度係数が記録されている。速度係数ＤＢは、一つの点数について一つのレコードを有する。
【０１６７】
図２５から図２７は、速度係数ＤＢの例を説明するグラフである。図２５から図２７の横軸は点数、縦軸は速度係数を示す。図２５から図２７は、ＣＰＵ１２は式（１）に基づいて０点から１００点までの間で点数を定める場合の例を示す。
【０１６８】
図２５は、点数と速度係数との関係が一次関数である例を示す。点数が最小値０である場合、速度係数は最大値１である。点数が最大値１００である場合、速度係数は最小値ｋである。
【０１６９】
点数と速度係数とが図２６に示す関係である場合には、点数が増加するにつれて、ＣＰＵ１２はスクロール速度を減少させる。
【０１７０】
図２６は、点数がＰ１以上である場合に、点数と速度係数との関係が一次関数である例を示す。点数が０からＰ１までである場合、速度係数は最大値１である。点数がＰ１から１００までの間、点数と速度係数との関係は一次関数である。点数が最大値１００である場合、速度係数は最小値ｋである。
【０１７１】
点数と速度係数とが図２６に示す関係である場合には、０からＰ１までの点数では、スクロール速度は基準スクロール速度である。点数がＰ１を越えた場合にＣＰＵ１２はスクロール速度を（基準スクロール速度×速度係数）に減少させる。
【０１７２】
図２７は、点数と速度係数との関係が滑らかな単調減少関数である例を示す。点数が０からＰ２までの間、速度係数は１である。点数がＰ３から１００までの間、速度係数は最小値ｋである。点数がＰ２からＰ３までの間、点数と速度係数との関係は滑らかな曲線である。
【０１７３】
点数と速度係数とが図２７に示す関係である場合には、０からＰ２までの点数ではスクロール速度は基準スクロール速度である。点数がＰ２からＰ３の間、ＣＰＵ１２はスクロール速度を（基準スクロール速度×速度係数）に減少させる。すなわち、点数が増えるにつれてスクロール速度がゆるやかに減速する。点数がＰ３を越える場合、速度係数は最小値ｋである。この場合、スクロール速度は最低速度である。
【０１７４】
点数と速度係数との関係は、その他任意の関数を使用することが可能である。たとえば、基準スクロール速度によって、点数と速度係数との関係を変更しても良い。
【０１７５】
図２８は、実施の形態７のプログラムの処理の流れを示すフローチャートである。ＣＰＵ１２は、補助記憶装置１４から文書ファイル３１を取得する（ステップＳ５０１）。ＣＰＵ１２は、文書領域５９に文書ファイル３１を表示する（ステップＳ５０２）。
【０１７６】
ＣＰＵ１２は、文書ファイル３１から、文書領域５９に示した部分に続く１行分の文字列を取得する（ステップＳ５０３）。ＣＰＵ１２は、ユーザから受け付けた操作に基づいて、基準スクロール速度を取得する（ステップＳ５０４）。
【０１７７】
ＣＰＵ１２は、図２３を使用して説明した点数ＤＢを参照して、文書ファイル３１中の文書領域５９に表示した行の平均点を算出する（ステップＳ６６１）。ＣＰＵ１２は、図２４を使用して説明した係数ＤＢを参照して、ステップＳ６６１で算出した平均点に対応する速度係数を抽出する（ステップＳ６６２）。
【０１７８】
ＣＰＵ１２は、ステップＳ５０４で取得した基準スクロール速度に、ステップＳ６６２で抽出した速度係数を乗じて、スクロール速度を算出する（ステップＳ６６３）。ＣＰＵ１２は、ステップＳ６６３で算出したスクロール速度で１行分スクロールする（ステップＳ６６４）。
【０１７９】
ＣＰＵ１２はスクロールアウトした行の表示時間フィールドに、その行が文書領域５９に表示されていた時間を加算する（ステップＳ６６５）。ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ６６６）。
【０１８０】
終了しないと判定した場合（ステップＳ６６６でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ６６６でＹＥＳ）、ＣＰＵ１２はＤＢ更新−４のサブルーチンを起動する（ステップＳ６６７）。ＤＢ更新−４のサブルーチンは、図２３を使用して説明した点数ＤＢを更新するサブルーチンである。ＤＢ更新−４のサブルーチンの処理の流れは後述する。ＣＰＵ１２は、その後処理を終了する。
【０１８１】
図２９は、ＤＢ更新−４のサブルーチンの処理の流れを示すフローチャートである。ＣＰＵ１２は、図２３を使用して説明した点数ＤＢの表示時間フィールドを検索して、最大値を抽出する（ステップＳ６８１）。ＣＰＵ１２は、カウンタＩを初期値１に設定する（ステップＳ６８２）。
【０１８２】
ＣＰＵ１２は、点数ＤＢからＩ番目のレコードを抽出する（ステップＳ６８３）。ＣＰＵ１２は、たとえば式（１）に基づいて点数を算出する（ステップＳ６８４）。ＣＰＵ１２は減速ＤＢ３３の処理を終了したか否かを判定する（ステップＳ６８５）。
【０１８３】
終了していないと判定した場合（ステップＳ６８５でＮＯ）、ＣＰＵ１２はカウンタＩに１を加算する（ステップＳ６８６）。ＣＰＵ１２は、ステップＳ６８３に戻る。終了していると判定した場合（ステップＳ６８５でＹＥＳ）、ＣＰＵ１２は処理を終了する。
【０１８４】
本実施の形態によると、過去に同じ文書ファイル３１を読んだ際の所要時間に基づいてスクロール速度をゆるやかに変化させる情報処理装置１０を提供することができる。
【０１８５】
［実施の形態８］
本実施の形態は、減速スクロール速度が所定の速度よりも速くならないように制限する情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０１８６】
スクロール速度について説明する。画面上を高速でスクロールする文字を読むためには、ユーザはスクロールする文字に連動するように眼球を追従運動させる必要がある。個人差はあるが、ユーザの眼を基点とした電子書籍のスクロール角速度、すなわち視角速度が毎秒１０度を超えた場合には、スクロール中の文字をユーザが読むことは困難であるとされている。また視角速度が毎秒１５度を超えた場合には、ユーザの眼球がスクロールされている画面に追従運動することはほぼ不可能であり、スクロール中の画面を視認できないとされている。
【０１８７】
読書に適した距離は、３０センチメートルから４５センチメートル程度といわれている。たとえば、情報処理装置１０とユーザの眼球との間の距離が３０センチメートルである場合、毎秒１０度の視角速度は毎秒約５センチメートルに相当し、毎秒１５度の視角速度は毎秒約８センチメートルに相当する。ユーザが文字を読むことが可能な上限のスクロール速度、すなわち毎秒５センチメートルのスクロール速度を、可読速度Ｖｅとする。ＣＰＵ１２は、ユーザから可読速度Ｖｅの指定を受け付けて、主記憶装置１３または補助記憶装置１４に記憶する。
【０１８８】
なお、大きなフォント等、視認しやすい文字を使用する場合、および、絵を主体として文字を殆ど含まない電子書籍等の場合には、眼球が追従運動する限界である毎秒１５度、すなわち毎秒８センチメートルに相当するスクロール速度を可読速度Ｖｅに使用しても良い。小さなフォントを使用する場合、および、外国語の電子書籍等の場合には、毎秒１０度、すなわち毎秒５センチメートルに相当するスクロール速度を可読速度Ｖｅに使用しても良い。
【０１８９】
図３０は、リミッタＤＢのレコードレイアウトを示す説明図である。リミッタＤＢは、文書ファイル３１の行の番号と、スクロール時の速度制限の有無を示すリミッタフラグとを関連づけて記録するＤＢである。リミッタＤＢは、補助記憶装置１４に記憶されている。リミッタＤＢは、情報処理装置１０に接続された外部の記憶装置に記憶されていても良い。
【０１９０】
リミッタＤＢは、文書ファイルフィールド、行フィールドおよびリミッタフラグフィールドを有する。文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤが記録されている。行フィールドには、文書ファイル３１に記憶された文書の行番号が記録されている。
【０１９１】
リミッタフラグフィールドには、行番号フィールドに対応する行が文書領域５９に表示されている場合に、スクロール速度を制限するか否かのフラグが記録されている。リミッタフラグが「ＯＦＦ」である場合、ＣＰＵ１２はスクロール速度を制限しない。リミッタフラグが「ＯＮ」である場合、ＣＰＵ１２はスクロール速度を可読速度Ｖｅ以下に制限する。
【０１９２】
リミッタＤＢは、一つの行番号について一つのレコードを有する。なお、リミッタＤＢは、文字単位、段落単位、またはページ単位等、任意の単位でリミッタフラグを記録しても良い。この場合、リミッタＤＢは減速フラグを記録する単位ごとに一つのレコードを有する。
【０１９３】
図３１から図３４は、実施の形態８の情報処理装置１０の動作の概要を説明する説明図である。図３１から図３４の中央部分は、スクロール速度の変化を示すグラフである。横軸は、表示部２０の１行目に表示されている行を示す。縦軸は、スクロール速度を示す。
【０１９４】
図３１は、１回目の読書状態の記録を示す。情報処理装置１０のユーザは、行Ｓが表示部２０の１行目に表示されるまで、可読速度Ｖｅを超える速度で文書ファイル３１を高速にスクロールした。図３１の上側の図は、上向きのスクロール速度が速すぎて、ユーザが個々の文字を読めない状況を示す。
【０１９５】
行Ｓが１行目に表示された後、ユーザは適宜スクロール速度を変化させながら文書ファイル３１を読む。ユーザは、読書中に行Ｖにマーキング３２を設定する。図３１の右下に示すように、行Ｔが表示部２０の１行目に表示されている場合に、行Ｖが表示部２０の最下行に表示される。したがって、グラフの横軸が行Ｔから行Ｖまでの間、行Ｖが表示部２０に表示される。ＣＰＵ１２は、減速ＤＢ３３のマーキング３２が設定された行に対応する減速フラグを「ＯＮ」に設定する。なお、マーキング３２および減速フラグの設定の詳細な手順については、説明を省略する。
【０１９６】
図３２は、２回目の読書状態の記録を示す。情報処理装置１０のユーザは、行Ｎが表示部２０の１行目に表示されるまで、可読速度Ｖｅ未満の速度で文書ファイル３１を読む。その後、ユーザは行Ｑが表示部２０の１行目に表示されるまで、可読速度Ｖｅを超える速度で、文書ファイル３１を高速スクロールする。
【０１９７】
ユーザは行Ｑが表示部２０の１行目に表示されてから、行Ｒが表示部２０の１行目に表示されるまで、可読速度Ｖｅ未満の速度で文書ファイル３１を読む。その後、ユーザは、可読速度Ｖｅを越える速度で文書ファイル３１を高速スクロールする旨の指示を情報処理装置１０に入力する。
【０１９８】
ＣＰＵ１２は、前回ユーザが可読速度Ｖｅ未満の速度で読んだ行Ｓ以降については、スクロール速度を可読速度Ｖｅまで減速して表示する。ユーザは、特段の操作を行わなくても、前回ゆっくりと読んだ重要な箇所を読むことができる。
【０１９９】
図３３は、３回目の読書状態の記録を示す。情報処理装置１０のユーザは、可読速度Ｖｅを越える基準基準スクロール速度で高速スクロールする旨の指示を情報処理装置１０に入力する。ＣＰＵ１２は、前回ユーザが可読速度Ｖｅ未満の速度で読んだ、行Ｎまでおよび行Ｑから行Ｒまでについて、スクロール速度を可読速度Ｖｅまで減速して表示する。
【０２００】
さらにＣＰＵ１２はマーキング３２が設定された行Ｖが表示部２０に表示されている期間も、スクロール速度を可読速度Ｖｅまで減速して表示する。
【０２０１】
以上に説明したように、ＣＰＵ１２は、前回ユーザが可読速度Ｖｅよりも低い速度で表示した箇所、および、マーキング３２が設定されている箇所については、自動的にスクロール速度を可読速度Ｖｅまで減速して表示する。
【０２０２】
図３４は、図３３と同じ状況で、図３３に比べてユーザが入力した基準スクロール速度が低い場合の例を示す。ＣＰＵ１２は、前回ユーザが可読速度Ｖｅ未満の速度で読んだ、行Ｎまでおよび行Ｑから行Ｒまでについて、スクロール速度を可読速度Ｖｅまで減速して表示する。
【０２０３】
さらにＣＰＵ１２はマーキング３２が設定された行Ｖが表示部２０に表示されている期間、たとえば実施の形態１から実施の形態７と同様に、基準スクロール速度に基づいて定めた減速スクロール速度でスクロール表示する。なお、基準スクロール速度に基づいて定めた減速スクロール速度が可読速度Ｖｅよりも速い場合には、ＣＰＵ１２は可読速度Ｖｅでスクロール表示する。
【０２０４】
図３５は、実施の形態８のプログラムの処理の流れを示すフローチャートである。ＣＰＵ１２は、補助記憶装置１４から文書ファイル３１を取得する（ステップＳ５０１）。ＣＰＵ１２は、文書領域５９に文書ファイル３１を表示する（ステップＳ５０２）。
【０２０５】
ＣＰＵ１２は、文書ファイル３１から、文書領域５９に示した部分に続く１行分の文字列を取得する（ステップＳ５０３）。ＣＰＵ１２は、ユーザから受け付けた操作に基づいて、基準スクロール速度を取得する（ステップＳ５０４）。
【０２０６】
ＣＰＵ１２は、基準スクロール速度が可読速度Ｖｅ未満であるか否かを判定する（ステップＳ７０１）。可読速度未満であると判定した場合（ステップＳ７０１でＹＥＳ）、ＣＰＵ１２は、減速ＤＢ３３を参照して文書領域５９に文書ファイル３１中の減速フラグが「ＯＮ」である箇所が表示されているか否かを判定する（ステップＳ５０５）。減速フラグが「ＯＮ」である箇所が表示されていると判定した場合（ステップＳ５０５でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ５０６）。
【０２０７】
ＣＰＵ１２は、ステップＳ５０６で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０７）。減速フラグが「ＯＮ」である箇所が表示されていないと判定した場合（ステップＳ５０５でＮＯ）、ＣＰＵ１２はステップＳ５０４で取得した基準スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ５０８）。
【０２０８】
ステップＳ５０７またはステップＳ５０８の終了後、ＣＰＵ１２は、リミットＤＢのスクロールアウトした行に対応するリミットフラグフィールドに、「ＯＮ」を記録する（ステップＳ７０３）。
【０２０９】
基準スクロール速度が可読速度Ｖｅ以上であると判定した場合（ステップＳ７０１でＮＯ）、ＣＰＵ１２は速度制限スクロールのサブルーチンを起動する（ステップＳ７０５）。速度制限スクロールのサブルーチンは、所定の場合に可読速度Ｖｅ以下のスクロール速度でスクロールするサブルーチンである。速度制限スクロールのサブルーチンの処理の流れは後述する。
【０２１０】
ステップＳ７０３またはステップＳ７０５の終了後、ＣＰＵ１２は処理を終了するか否かを判定する（ステップＳ７０６）。
【０２１１】
終了しないと判定した場合（ステップＳ７０６でＮＯ）、ＣＰＵ１２はステップＳ５０３に戻る。終了すると判定した場合（ステップＳ７０６でＹＥＳ）、ＣＰＵ１２は処理を終了する。
【０２１２】
図３６は、速度制限スクロールのサブルーチンの処理の流れを示すフローチャートである。ＣＰＵ１２は、減速ＤＢ３３を参照して文書領域５９に文書ファイル３１中の減速フラグが「ＯＮ」である箇所が表示されているか否かを判定する（ステップＳ７２１）。減速フラグが「ＯＮ」である箇所が表示されていると判定した場合（ステップＳ７２１でＹＥＳ）、ＣＰＵ１２は減速スクロール速度を算出する（ステップＳ７２２）。
【０２１３】
ＣＰＵ１２は、減速スクロール速度が可読速度Ｖｅ未満であるか否かを判定する（ステップＳ７２３）。可読速度未満であると判定した場合（ステップＳ７２３でＹＥＳ）、ＣＰＵ１２は、ステップＳ７２２で算出した減速スクロール速度を用いて、文書領域５９を１行スクロールする（ステップＳ７２４）。可読速度Ｖｅ以上であると判定した場合（ステップＳ７２３でＮＯ）、ＣＰＵ１２は可読速度Ｖｅで１行スクロールする（ステップＳ７２５）。
【０２１４】
減速フラグが「ＯＮ」である箇所が表示されていないと判定した場合（ステップＳ７２１でＮＯ）、ＣＰＵ１２はリミッタＤＢを参照して表示部２０の１行目に表示されている行に対応するリミッタフラグフィールドに「ＯＮ」が記録されているか否かを判定する（ステップＳ７２６）。
【０２１５】
ＯＮが記録されていると判定した場合（ステップＳ７２６でＹＥＳ）、ＣＰＵ１２は可読速度Ｖｅで１行スクロールする（ステップＳ７２７）。ＯＮが記録されていないと判定した場合（ステップＳ７２６でＮＯ）、ＣＰＵ１２は基準スクロール速度で１行スクロールする（ステップＳ７２８）。
【０２１６】
ステップＳ７２４、ステップＳ７２５、ステップＳ７２７またはステップＳ７２８の終了後、ＣＰＵ１２は、リミッタＤＢのスクロールアウトした行に対応するリミッタフラグフィールドに「ＯＦＦ」を記録する（ステップＳ７２９）。その後、ＣＰＵ１２は処理を終了する。
【０２１７】
本実施の形態によると、前回ユーザが可読速度Ｖｅよりも低い速度で表示した箇所、および、減速フラグが設定されている箇所については、自動的にスクロール速度を可読速度Ｖｅまで減速して表示する情報処理装置１０を提供することが可能である。
【０２１８】
ユーザが意図的に可読速度Ｖｅよりも低い速度で表示した箇所、および、減速フラグが設定されている箇所は、ユーザにとって重要で読む価値が高い箇所である可能性が高い。このような箇所は、スクロール速度を可読速度Ｖｅ以下に低下させることにより、読み落としを防ぐようにユーザを支援する情報処理装置１０を提供することができる。
【０２１９】
一方、可読速度Ｖｅでスクロール中に、ユーザがスクロール速度を意図的に低下させる操作を行わなかった箇所は、既にユーザの関心が薄れた箇所である可能性が高い。このような箇所は、以後はスクロール速度を低下させず、基準スクロール速度で表示することにより、ユーザに煩わしさを感じさせにくい情報処理装置１０を提供することが可能である。
【０２２０】
情報処理装置１０は、表示部２０とユーザの眼との間の距離を測定する距離センサを備えていても良い。ＣＰＵ１２は、測定した距離に基づいて、可読速度Ｖｅを算出することが可能である。
【０２２１】
［実施の形態９］
本実施の形態は、スクロール速度を基準スクロール速度よりも減速していることを表示する情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０２２２】
図３７は、実施の形態９の情報処理装置１０の外観を示す説明図である。ＣＰＵ１２は、表示部２０に、文書領域５９、加速ボタン５３、減速ボタン５４、停止ボタン５５、方向ボタン５６および減速指標６１を表示する。ＣＰＵ１２は、文書領域５９に文書ファイル３１をスクロール表示する。ＣＰＵ１２は、ユーザによる加速ボタン５３、減速ボタン５４、停止ボタン５５および方向ボタン５６の選択を受け付ける。
【０２２３】
文書領域５９に、たとえば下線および太字体で示すマーキング３２が設定された箇所を表示する場合、ＣＰＵ１２は減速スクロールを行う。減速スクロール中、ＣＰＵ１２は表示部２０に減速指標６１を表示する。基準スクロール速度でスクロールする通常スクロール中は、ＣＰＵ１２は減速指標６１を表示しない。
【０２２４】
情報処理装置１０のユーザは、減速指標６１により減速スクロール中であることを知ることができる。そのため、スクロール速度が遅くなった事をユーザが不審に思うことを避ける情報処理装置１０を提供することが可能である。
【０２２５】
たとえば減速指標６１のタップを受け付けた場合に、ＣＰＵ１２は、スクロール速度を基準スクロール速度に変更しても良い。
【０２２６】
［実施の形態１０］
本実施の形態は、文書ファイル３１の種類に基づいて、基準スクロール速度の初期値および可読速度Ｖｅを変更する情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０２２７】
図３８は、標準速度ＤＢのレコードレイアウトを示す説明図である。標準速度ＤＢは、文書ファイル３１の種類と、基準スクロール速度の初期値と、可読速度とを結びつけるＤＢである。標準速度ＤＢは、種類フィールド、初期値フィールドおよび可読速度フィールドを有する。
【０２２８】
種類フィールドには、文書ファイル３１の種類が記録されている。初期値フィールドには、基準スクロール速度の初期値が記録されている。可読速度フィールドには、可読速度が記録されている。標準速度ＤＢは、一つの文書ファイル３１の種類について、一つのレコードを有する。
【０２２９】
ＣＰＵ１２は、文書ファイル３１の種類に基づいて種類フィールドからレコードを抽出する。ＣＰＵ１２は、初期値フィールドに記録されたスクロール速度でスクロールを開始する。その後、ＣＰＵ１２はユーザによる操作を受け付けて、スクロール速度を加速または減速する。
【０２３０】
ＣＰＵ１２は、可読速度フィールドに記録された値を、実施の形態９で説明した可読速度Ｖｅに使用する。
【０２３１】
たとえば、専門用語の多い専門書と、小説とでは、読む速度が異なる。本実施の形態によると、文書ファイル３１の種類によって、適したスクロール速度でスクロールする情報処理装置１０を提供することが可能である。
【０２３２】
標準速度ＤＢは、減速スクロール速度を記録したフィールドを有しても良い。ＣＰＵ１２は、減速スクロールを行う場合には、減速スクロール速度を記録したフィールドに基づいてスクロール速度を定める。
【０２３３】
［実施の形態１１］
本実施の形態は、たとえば絵巻物等、絵を主体とした文書ファイル３１をスクロール表示する情報処理装置１０に関する。実施の形態１と共通する部分については、説明を省略する。
【０２３４】
図３９は、実施の形態１１の減速ＤＢ３３のレコードレイアウトを示す説明図である。本実施の形態の減速ＤＢ３３は、文書ファイル３１の位置と、減速フラグとを関連づけて記録するＤＢである。
【０２３５】
減速ＤＢ３３は、文書ファイルフィールド、位置フィールドおよび減速フラグフィールドを有する。文書ファイルフィールドには、文書ファイル３１を識別する名称またはＩＤが記録されている。位置フィールドには、文書ファイル３１に記憶された文書の始点から測った距離が記録されている。
【０２３６】
減速フラグフィールドには、位置フィールドに対応する位置が文書領域５９に表示されている場合に、スクロール速度を減速するか否かのフラグが記録されている。
【０２３７】
図４０は、実施の形態１１の情報処理装置１０の外観を示す説明図である。ＣＰＵ１２は、表示部２０に、文書領域５９、加速ボタン５３、減速ボタン５４、停止ボタン５５および方向ボタン５６を表示する。ＣＰＵ１２は、文書領域５９に文書ファイル３１をスクロール表示する。図４０においては、文書領域５９に横方向にスクロールする絵巻物を表示した例を示す。
【０２３８】
ＣＰＵ１２は、位置フィールドに記録された位置に基づいて、減速の要否を判定し、減速フラグが「ＯＮ」の位置が表示されている場合に減速スクロールを行う。
【０２３９】
本実施の形態によると、「行」の概念の無い絵巻物のスクロール速度を制御する情報処理装置１０を提供することが可能である。
【０２４０】
［実施の形態１２］
図４１は、実施の形態１２の情報処理装置１０の動作を示す機能ブロック図である。本実施の形態の情報処理装置１０は、ＣＰＵ１２による制御に基づいて以下のように動作する。
【０２４１】
文書取得部８１は、文書を取得する。表示部２０は、文書取得部８１が取得した文書の一部を表示する。スクロール部８２は、表示部２０に表示した文書を所定の速度でスクロールする。判定部８３は、表示部２０に文書中の所定の箇所が表示されているか否かを判定する。判定部８３が、表示されていると判定した場合に、変速部８４はスクロール速度を変更する。
【０２４２】
［実施の形態１３］
実施の形態１３は、汎用のコンピュータ７４とプログラム７１とを組み合わせて動作させることにより、本実施の形態の情報処理装置１０を実現する形態に関する。図４２は、実施の形態１３の情報処理装置１０の構成を示す説明図である。図２８を使用して、本実施の形態の構成を説明する。なお、実施の形態１と共通する部分の説明は省略する。
【０２４３】
本実施の形態のコンピュータ７４は、ＣＰＵ１２、主記憶装置１３、補助記憶装置１４、通信部１５、入力部１７、表示部２０、読取部１８およびバスを備える。本実施の形態のコンピュータ７４は、汎用のタブレット、スマートフォン、パソコン等の情報機器である。
【０２４４】
プログラム７１は、可搬型記録媒体７２に記録されている。ＣＰＵ１２は、読取部１８を介してプログラム７１を読み込み、補助記憶装置１４に保存する。またＣＰＵ１２は、コンピュータ７４内に実装されたフラッシュメモリ等の半導体メモリ７３に記憶されたプログラム７１を読出しても良い。さらに、ＣＰＵ１２は、通信部１５およびネットワークを介して接続される図示しない他のサーバコンピュータからプログラム７１をダウンロードして補助記憶装置１４に保存しても良い。
【０２４５】
プログラム７１は、コンピュータ７４の制御プログラムとしてインストールされ、主記憶装置１３にロードして実行される。これにより、コンピュータ７４は上述した情報処理装置１０として機能する。
【０２４６】
各実施例で記載されている技術的特徴（構成要件）はお互いに組合せ可能であり、組み合わせすることにより、新しい技術的特徴を形成することができる。
今回開示された実施の形態はすべての点で例示であって、制限的なものでは無いと考えられるべきである。本発明の範囲は、上記した意味では無く、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０２４７】
１０  情報処理装置
１２  ＣＰＵ
１３  主記憶装置
１４  補助記憶装置
１５  通信部
１７  入力部
１８  読取部
１９  変速部
２０  表示部
３１  文書ファイル（文書）
３１１  第１領域
３１２  第２領域
３１３  第３領域
３２  マーキング
３３  減速ＤＢ
５１  減速領域
５２  キーワード領域
５３  加速ボタン
５４  減速ボタン
５５  停止ボタン
５６  方向ボタン
５７  強調指標
５８  ＯＫボタン
５９  文書領域
６１  減速指標
７１  プログラム
７２  可搬型記録媒体
７３  半導体メモリ
７４  コンピュータ
８１  文書取得部
８２  スクロール部
８３  判定部
８４  変速部
【図１】
2018120100.tif 000003
【図２】
2018120100.tif 000004
【図３】
2018120100.tif 000005
【図４】
2018120100.tif 000006
【図５】
2018120100.tif 000007
【図６】
2018120100.tif 000008
【図７】
2018120100.tif 000009
【図８】
2018120100.tif 000010
【図９】
2018120100.tif 000011
【図１０】
2018120100.tif 000012
【図１１】
2018120100.tif 000013
【図１２】
2018120100.tif 000014
【図１３】
2018120100.tif 000015
【図１４】
2018120100.tif 000016
【図１５】
2018120100.tif 000017
【図１６】
2018120100.tif 000018
【図１７】
2018120100.tif 000019
【図１８】
2018120100.tif 000020
【図１９】
2018120100.tif 000021
【図２０】
2018120100.tif 000022
【図２１】
2018120100.tif 000023
【図２２】
2018120100.tif 000024
【図２３】
2018120100.tif 000025
【図２４】
2018120100.tif 000026
【図２５】
2018120100.tif 000027
【図２６】
2018120100.tif 000028
【図２７】
2018120100.tif 000029
【図２８】
2018120100.tif 000030
【図２９】
2018120100.tif 000031
【図３０】
2018120100.tif 000032
【図３１】
2018120100.tif 000033
【図３２】
2018120100.tif 000034
【図３３】
2018120100.tif 000035
【図３４】
2018120100.tif 000036
【図３５】
2018120100.tif 000037
【図３６】
2018120100.tif 000038
【図３７】
2018120100.tif 000039
【図３８】
2018120100.tif 000040
【図３９】
2018120100.tif 000041
【図４０】
2018120100.tif 000042
【図４１】
2018120100.tif 000043
【図４２】
2018120100.tif 000044