(57)【要約】【課題】図面にキャプションが無く、本文中にも図に関する記載がない場合であっても、よく参照される図面を適切に検出することができる情報処理装置を提供する。【解決手段】この情報処理装置は、構造化された文書を表示する情報処理装置であって、文書の文書構造データを取得する取得手段と、取得した文書構造データからページ画像を生成し、生成したページ画像の内、いずれか１つのページの表示用画像を生成する生成手段と、操作手段による操作に基づいて、表示用画像を縮小／拡大等して変更する変更手段と、変更された表示用画像において、主として表示される構成要素を特定する特定手段と、特定された構成要素の表示履歴を記録する記録手段と、表示履歴に基づいて表示用画像において表示される構成要素の閲覧パターンを検出する検出手段と、閲覧パターンに基づいて表示する構成要素を変更する更新手段と、を備える。【選択図】図１１
2015141621.tif 000002
【特許請求の範囲】
【請求項１】
構造化された文書を表示する情報処理装置であって、
前記文書内の構成要素の情報を示す文書構造データを取得する取得手段と、
取得した前記文書構造データの各ページに対応するページ画像を生成し、生成した前記ページ画像の内、いずれか１つのページの表示用画像を生成する生成手段と、
操作手段による操作に基づいて、前記文書の一部または全部を表示するよう前記表示用画像の内容を変更する変更手段と、
前記変更手段により変更された前記表示用画像において、主として表示される構成要素を特定する特定手段と、
前記特定手段により特定された前記表示用画像において表示される構成要素の表示履歴を記録する記録手段と、
前記表示履歴に基づいて前記表示用画像において表示される構成要素の閲覧パターンを検出する検出手段と、
前記閲覧パターンに基づいて表示する構成要素を変更する更新手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記検出手段は、表示中の前記表示用画像における構成要素が、所定の時間、前記変更手段または前記更新手段により変更されなかった場合、前記閲覧パターンを検出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の時間は、前記表示履歴に基づいて決定される
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記検出手段は、表示中の前記表示用画像における構成要素と一致する構成要素を前記表示履歴から抽出し、前記抽出した構成要素の表示履歴から前記所定の時間以上の表示時間を有する構成要素をさらに抽出し、該構成要素の表示履歴に基づいて前記閲覧パターンを検出する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記検出手段は、前記抽出した構成要素から現在表示中の構成要素までの全ての表示履歴を抽出し、該表示履歴における表示時間の合計が所定値よりも少ない場合、該表示履歴の構成要素を前記閲覧パターンとして検出する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記検出手段は、前記全ての表示履歴における表示時間が前記所定の時間以上の構成要素をさらに抽出し、該抽出された構成要素の数が所定の数よりも少ない場合、該抽出された構成要素を前記閲覧パターンとして検出する
ことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記更新手段は、前記検出手段により検出された閲覧パターンに含まれる表示中の構成要素以外の構成要素を表示するための指示領域を追加する
ことを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
前記更新手段は、前記検出手段により検出された閲覧パターンに含まれる構成要素が複数存在する場合、閲覧回数が多い構成要素を優先的に表示する
ことを特徴とする請求項１〜７のいずれか１項に記載の情報処理装置。
【請求項９】
構造化された文書を表示する情報処理装置の制御方法であって、
前記文書内の構成要素の情報を示す文書構造データを取得する取得工程と、
取得した前記文書構造データの各ページに対応するページ画像を生成し、生成した前記ページ画像の内、いずれか１つのページの表示用画像を生成する生成工程と、
操作手段による操作に基づいて、前記文書の一部または全部を表示するよう前記表示用画像の内容を変更する変更工程と、
前記変更工程において変更された表示用画像において、主として表示される構成要素を特定する特定工程と、
前記特定工程において特定された前記表示用画像において表示される構成要素の表示履歴を記録する記録工程と、
前記表示履歴に基づいて前記表示用画像において表示される構成要素の閲覧パターンを検出する検出工程と、
前記閲覧パターンに基づいて表示する構成要素を変更する更新工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１０】
請求項１〜８のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびそのプログラムに関する。
【背景技術】
【０００２】
従来、文書内の本文とそれに関連する図面との関係性を抽出する技術がある。例えば、特許文献１では、まず図面にキャプション存在するか否かを調べ、存在する場合はキャプション中の図番号を検出したうえで本文中から該当箇所を探し、そこを関連付ける。また、キャプションが無かった場合は本文中の「上図」「右図」といった、「図」という言葉と方向を示す言葉が組み合わされた表記を検出し、その方向にある最も近傍に存在する図を関連付ける。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−２２８４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１では、図面にキャプションが無く本文中にも図に関する記載が無い場合は、関連付けを行うことができず、また、関連する図を容易に表示することもできない。例えば、パンフレット等では、関連する図とテキストが近傍に配置されているのみで、テキスト上にその位置関係が表現されない場合がある。このような文書には、特許文献１の技術を適用することができない。
【０００５】
本発明は、上記課題を鑑みてなされたものであり、図面にキャプションが無く、本文中にも図に関する記載がない場合であっても、よく参照される図面を適切に検出することができる情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の情報処理装置は、構造化された文書を表示する情報処理装置であって、前記文書内の構成要素の情報を示す文書構造データを取得する取得手段と、取得した前記文書構造データの各ページに対応するページ画像を生成し、生成した前記ページ画像の内、いずれか１つのページの表示用画像を生成する生成手段と、操作手段による操作に基づいて、前記文書の一部または全部を表示するよう前記表示用画像の内容を変更する変更手段と、前記変更手段により変更された前記表示用画像において、主として表示される構成要素を特定する特定手段と、前記特定手段により特定された前記表示用画像において表示される構成要素の表示履歴を記録する記録手段と、前記表示履歴に基づいて前記表示用画像において表示される構成要素の閲覧パターンを検出する検出手段と、前記閲覧パターンに基づいて表示する構成要素を変更する更新手段と、を備えることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、図面にキャプションが無く、本文中にも図に関する記載がない場合であっても、よく参照される図面を適切に検出することができる情報処理装置を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態に係る携帯情報端末の構成例を示すブロック図である。
【図２】本発明の一実施形態に係る文書データを示す図である。
【図３】文書構造ツリー生成処理の対象となる文書の例を示す図である。
【図４】文書構造ツリー生成処理により生成される文書構造ツリーを示す図である。
【図５】文書構造ツリー生成の処理を示すフローチャートである。
【図６】拡大操作の例を示す図である。
【図７】スライド操作の例を示す図である。
【図８】前後表示操作の例を示す図である。
【図９】遷移履歴テーブルの例を示す図である。
【図１０】表示管理及び関連付け処理フローを示す図である。
【図１１】閲覧パターンテーブルの例を示す図である。
【図１２】関連付け処理フローを示す図である。
【図１３】関連ブロック表示更新処理フローを示す図である。
【図１４】余白がない場合の表示例を示す図である。
【図１５】余白がある場合の表示例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面などを参照して説明する。
【００１０】
図１は、本実施例における携帯情報端末１０７の構成例を示す図である。携帯情報端末１０７は、メインボード１９００、ＬＣＤ１９０１、タッチパネル１９０２、ボタンデバイス１９０３から構成される。また、本実施形態では、ＬＣＤ１９０１とタッチパネル１９０２をまとめてタッチＵＩ１９０４と呼ぶこととする。本実施形態では、携帯情報端末１０７は、スマートフォンやタブレット等の情報処理装置であってよい。
【００１１】
メインボード１９００は、ＣＰＵ１９０５、無線ＬＡＮモジュール１９０６、電源コントローラ１９０７、ディスプレイコントローラ（ＤＩＳＰＣ）１９０８、パネルコントローラ（ＰＡＮＥＬＣ）１９０９を含む。さらに、メインボード１９００は、記憶装置１９１０、ＲＡＭ１９１１、二次電池１９１２、タイマー１９１３を含む。ＣＰＵ１９０５〜タイマー１９１３の各デバイスは、バス（不図示）によって接続されている。
【００１２】
ＣＰＵ１９０５は、バスに接続される各デバイスを制御すると共に、記憶装置１９１０に記憶されたソフトウェアを、ＲＡＭ１９１１に展開して実行するプロセッサである。ＲＡＭ１９１１は、ＣＰＵ１９０５のメインメモリ、ワークエリア、ＬＣＤ１９０１に表示するビデオイメージ用エリア、および文書データの保存領域として機能する。ディスプレイコントローラ１９０８は、ＣＰＵ１９０５の要求に応じて、ＲＡＭ１９１１に展開されたビデオイメージ出力を高速に切り替えるとともに、ＬＣＤ１９０１に同期信号を出力する。結果として、ＲＡＭ１９１１のビデオイメージが、ディスプレイコントローラ１９０８の同期信号に同期してＬＣＤ１９０１に出力され、ＬＣＤ１９０１上にイメージが表示される。
【００１３】
パネルコントローラ１９０９は、ＣＰＵ１９０５の要求に応じて、タッチパネル１９０２およびボタンデバイス１９０３を制御する。その制御によって、タッチパネル１９０２上の指又はスタイラスペンなどの指示物の押下位置や、ボタンデバイス１９０３上の押下されたキーコードなどが、ＣＰＵ１９０５に通知される。押下位置情報は、タッチパネル１９０２の横方向の絶対位置を示す座標値（以下ｘ座標）と、縦方向の絶対位置を示す座標値（以下ｙ座標）から成る。これらの座標は、ＬＣＤ１９０１上の画素位置と対応している。なお、本実施形態において、原点は、タッチパネル１９０２の左上端である。タッチパネル１９０２は、複数ポイントの押下を検知することが可能で、押下を検知した場合、ＣＰＵ１９０５には押下点数分の押下位置情報が通知される。
【００１４】
電源コントローラ１９０７は、外部電源（不図示）と接続され電力の供給を受ける。これによって、電源コントローラ１９０７に接続された二次電池１９１２を充電しながら、かつ携帯情報端末１０７全体に電力を供給する。外部電源から電力が供給されないときは、二次電池１９１２からの電力を携帯情報端末１０７全体に供給する。無線ＬＡＮモジュール１９０６は、ＣＰＵ１９０５の制御に基づいて、前記ＬＡＮ１０２に接続された無線アクセスポイント（不図示）上の無線ＬＡＮモジュールとの無線通信を確立し、携帯情報端末１０７との通信を仲介する。無線ＬＡＮモジュール１９０６は、例えば、ＩＥＥＥ８０２．１１ｂ等の既知の通信モジュールであってよい。
【００１５】
タイマー１９１３は、ＣＰＵ１９０５の制御に基づいて、ジェスチャイベント発生部（不図示）へのタイマー割込を発生させる。なお、ジェスチャイベント発生部は、ユーザーが指やタッチペン等を用いてタッチパネル１９０２に対して、タッチ押下イベントやスワイプイベント等の各種ジェスチャイベントを発生させる。また、携帯情報端末１０７には、地磁気センサ（不図示）や加速度センサ（不図示）がバスに接続されている。
【００１６】
さらに、タイマー１９１３は、ＣＰＵ１９０５の制御に基づいて、携帯情報端末１０７の傾きを検知し、携帯情報端末１０７が所定以上の傾きを得ると、携帯情報端末１０７の向きを変更し、ＬＣＤ１９０１への描画の指示を送る。ＣＰＵ１９０５は、該携帯情報端末１０７の向きが変更される場合、ＬＣＤ１９０１の幅および高さと、タッチパネル１９０２で検出される座標値のｘ座標とｙ座標を入れ替えて、以降の処理を行う。
【００１７】
図２は、本実施形態に係る構造化された文書データを示す図である。文書データは、文書構造データから構成される。図２（Ａ）は、文書構造データを示す図である。文書構造データは、文書内の構成要素（ブロック）の情報を持つデータを意味し、各ブロックの属性、ページ番号、ページ内での位置の座標Ｘ、座標Ｙ、幅Ｗ、高さＨ、データが含まれる。属性は、例えば、１〜３の数値で与えられ、本実施形態では、１は文字領域矩形ブロック、２は写真領域矩形ブロック、３はグラフィック領域矩形ブロック、４はラインを示す。座標Ｘ、座標Ｙは、入力画像における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）である（合わせて位置情報とする）。
【００１８】
また、幅Ｗ、高さＨは、矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さ（合わせて大きさ情報とする）である。データは、そのブロックのコンテンツを表し、属性が文字領域矩形ブロックの場合はテキストデータ、それ以外の場合は画像を示すバイナリーデータである。なお、データの内容については図２中では省略して示している。
【００１９】
ＣＰＵ１９０５は、文書構造データが与えられると選択されたページ内の各ブロックの位置情報や大きさ情報に基づいて各データを配置し、画像として合成する（ページ画像生成処理）。図２（Ｂ）は、このようにして図２（Ａ）の文書構造データに基づいて生成されるページ画像２００を示す。また、図２（Ｃ）は、ページ画像２００に対してブロックに関する情報を重畳した図を示す。図２（Ｃ）において、点線で囲んだ領域が個々のブロックを表しており、さらにブロックＡについては位置及び幅高さについて図示している。なお、文書データにはページ画像を元々含めていてもよく、ページ画像が含まれている場合、それを利用する。
【００２０】
ＣＰＵ１９０５は、生成したページ画像２００をＲＡＭ１９１１に格納する。ＣＰＵ１９０５は、ＲＡＭ１９１１に格納されたページ画像を、指定される表示位置や拡大倍率に従って一部又は全部を切り出して拡大した画像を生成することで、表示用画像を生成する。ＣＰＵ１９０５は、表示用画像を、追加で操作用のボタンなど必要な別のオブジェクトを重畳したうえで、ＲＡＭ１９１１上にビデオイメージとして格納する事でＬＣＤ１９０１に表示する。
【００２１】
図３は、後述する文書構造ツリー生成処理の対象となる文書の例を示す図である。本実施形態では、最上部に矩形ブロックＴ１、Ｔ２が横方向に並列されている。矩形ブロックＴ１、Ｔ２をまとめて矩形ブロックＨ１とし、矩形ブロックＨ１の下には横方向セパレータＳ１が存在し、横方向セパレータＳ１の下に矩形ブロックＴ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７をまとめた短形ブロックＨ２が存在する。矩形ブロックＴ３、Ｔ４、Ｔ５は、横方向セパレータＳ１下側の領域における左半部の短形ブロックＶ１において上から下に、縦方向に配列される。矩形ブロックＴ６、Ｔ７は、横方向セパレータＳ１下側の領域における右半部の短形ブロックＶ２において上下に配列されている。
【００２２】
図４は、後述する文書構造ツリー生成の処理によって生成される文書構造ツリーを示す図である。文書構造ツリーは、文書構造を示すデータであり、後述する、前へ／次へ表示に使用する。図５は、文書構造ツリー生成の処理を示すフローチャートである。
【００２３】
図５に示す文書構造ツリー生成の処理における全体制御の基本ルールとして、処理の流れはミクロブロック（単一矩形ブロック）からマクロブロック（矩形ブロックの集合体）へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【００２４】
まず、ステップＳ１５０１において、ＣＰＵ１９０５は、矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。なお、図５の処理は繰り返し実行されることがあるが、処理開始直後は、ミクロブロック単位での判定となる。ここで、関連性とは、距離が近い、ブロック幅（横方向の場合は高さ）がほぼ同一であること等の特徴によって定義される。また、距離、幅、高さなどの情報は、文書構造データを参照し、抽出する。
【００２５】
例えば、図３の文書では、ステップＳ１５０１の縦方向の関連性に基づくグルーピングの処理を実行すると、矩形ブロックＴ３、Ｔ４、Ｔ５が１個のグループ（矩形ブロック）Ｖ１にまとめられる。そして、矩形ブロックＴ６、Ｔ７が１個のグループ（矩形ブロック）Ｖ２にまとめられる。グループＶ１、Ｖ２は同一階層となる。
【００２６】
次に、ステップＳ１５０２において、縦方向のセパレータの有無をチェックする。セパレータは、文書構造データ中でライン属性を持つオブジェクトであり、明示的にブロックを分割する機能をもつ。縦方向のセパレータは、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。例えば、図３では縦方向のセパレータは存在しない。
【００２７】
次に、ステップＳ１５０３において、縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判定する。具体的には、縦方向（例えば、上から下）に処理対象の領域を移動しながら、横方向のグルーピングを行う際、入力画像全体の処理が終了したときに、グループ高さ合計が入力画像高さになることを利用し、処理の終了判定を行う。
【００２８】
縦方向のグループ高さの合計が入力画像の高さに等しくなった（グルーピングが終了した）場合（ＹＥＳ）、そのまま処理終了する。一方、縦方向のグループ高さの合計が入力画像の高さに等しくない（グルーピングが終了していない）場合（ＮＯ）、ステップＳ１５０４に進む。
【００２９】
次に、ステップＳ１５０４において、横方向の関連性に基づくグルーピングの処理を実行する。これによって、例えば、図３の矩形ブロックＴ１、Ｔ２が１個のグループ（矩形ブロック）Ｈ１にまとめられ、矩形ブロックＶ１、Ｖ２が１個のグループ（矩形ブロック）Ｈ２にまとめられる。グループＨ１、Ｈ２は同一階層となる。ここでも、処理開始直後は、ミクロブロック単位での判定となる。次に、ステップＳ１５０５において、横方向のセパレータの有無をチェックする。横方向のセパレータは、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図３では横方向のセパレータＳ１が存在する。
【００３０】
以上の処理の結果は、図４のツリーとして登録される。図４において、入力された１ページのビットマップ画像データＶ０は、最上位階層にグループＨ１、Ｈ２、セパレータＳ１を有し、グループＨ１には第２階層の矩形ブロックＴ１、Ｔ２が属する。グループＨ２には、第２階層のグループＶ１、Ｖ２が属し、グループＶ１には、第３階層の矩形ブロックＴ３、Ｔ４、Ｔ５が属し、グループＶ２には、第３階層の矩形ブロックＴ６、Ｔ７が属する。本実施形態において、画像データＶ０は、ページを表し、画像データＶ０の下位階層にあるものがオブジェクトとなる。
【００３１】
そして、ステップＳ１５０６において、横方向のグループ長合計が入力画像の幅に等しくなったか否か判定する。これによって横方向のグルーピングに関する終了判定を行う。横方向のグループ長がページ幅となっている場合（ＹＥＳ）、文書構造ツリー生成の処理を終了する。一方、横方向のグループ長がページ幅となっていない場合（ＮＯ）、ステップＳ１５０１に戻り、再度、もう一段上の階層で、縦方向の関連性の確認から繰り返す。
【００３２】
次に、図６、図７、図８を用いて文書データの表示方法について述べる。まず、拡大縮小操作について、図６を用いて説明する。図６は、図２の文書データにおいて、ブロックＣの左下をダブルタップし、その後同じところを再びダブルタップした場合の表示例を示す。状態６０１では、文書データの文書全体を表示している（全体表示状態）。状態６０１において、ダブルタップ操作が行われると、ダブルタップされた位置を中心に所定の倍率（本実施形態では、３００％）に拡大して、状態６０２となる（拡大表示状態）。状態６０２において、ダブルタップ操作が行われると全体表示状態に戻り、状態６０３となる（全体表示状態）。
【００３３】
後述する表示管理及び関連付け処理において、初期状態ではＣＰＵ１９０５は、ページ画像がＬＣＤ１９０１に収まるように表示用画像を生成し、ＬＣＤ１９０１に表示する（状態６０１）。ＣＰＵ１９０５は、タッチパネル１９０２上でダブルタップ（短時間以内に二回指をタッチする操作）がされたことを検知すると、現在の状態に応じて、画像を拡大縮小する。全体表示状態においては、タッチパネル上の検出位置を中心に所定の倍率に拡大した表示用画像を生成し、ＬＣＤ１９０１に表示する（状態６０２）。拡大表示状態においては、ページ画像がＬＣＤ１９０１に収まるように表示用画像を生成し、ＬＣＤ１９０１に表示する（状態６０３）。
【００３４】
次に、移動操作について、図７を用いて説明する。図７は、図２の文書データにおいて、ブロックＣを拡大表示中にブロックＣの右下を押下して左方向にスライドした場合の表示例を示している。状態７０１は、指が押下された瞬間の状態を示している。状態７０１において、指を離さずに左にスライドすると、表示用画像は、指の移動量に合わせて表示領域を変更する（状態７０２）。結果として、指が指し示す位置の表示領域は変わらず、ブロックＣの８行目（行７０３）の右端を示している。
【００３５】
移動操作において、ＣＰＵ１９０５は、タッチパネル１９０２上でスライド操作（指をタッチした状態で動かす操作）がされたことを検出すると、表示領域を移動させる。具体的には、スライドした方向と距離に応じてページ画像から切り出す領域を変更することで表示用画像を生成し、ＬＣＤ１９０１に表示する。なお、右方向を表示するようなスライド操作を検出した時に、既にページ画像の右端を表示していて、それ以上右方向に表示すべき領域が無い場合、ページ画像を次のページに切り替えることでページの切り替えを行う。左方向についても同様である。
【００３６】
次に、前後表示操作について、図８を用いて説明する。図８において、状態８０１〜８０８は、部分領域表示モード中の表示例を示している。ＣＰＵ１９０５は、ユーザーによる所定の設定操作に従って、部分領域表示モードに切り替える。部分領域表示モードは選択されたブロックのみを強調して表示するモードである。より具体的には、選択されたブロックの幅が、ＬＣＤ１９０１の幅と一致するように拡大して表示し、選択されたブロック以外の領域をマスクする。
【００３７】
高さが大きくて画面内に収まりきらない場合、選択ブロックの上端がＬＣＤ１９０１の上端と一致するように表示する。なお、これにより、非表示の領域が存在し得ることになるが、前述の移動操作によって表示領域を変更する事が可能である。また、部分領域表示モードにおいて、ＣＰＵ１９０５は、次へボタン及び戻るボタンを表示用画像に重畳表示する。また、ＬＣＤ１９０１上で次へボタン／戻るボタンを表示している領域に対してタッチパネル１９０２上でタッチ操作を検出したら、次へボタン／戻るボタンが押されたものと判定する。
【００３８】
ＣＰＵ１９０５は、次へボタンの押下を検出した際、選択されたブロックの下端が表示されていない場合は、一画面分スクロールする。すなわち、下端を越える場合は、下端が表示されるところまでスクロールする。一方、下端が表示されている場合、文書構造ツリーに基づいた表示順に従って、次のオブジェクトを選択し、表示する。表示順は、文書ツリー構造に基づいて決定される。本実施形態において、文書ツリー構造に基づいた表示順は、文書ツリー構造において最下層に属するオブジェクトの順である。
【００３９】
例えば、図４では、Ｔ１→Ｔ２→Ｓ１→Ｔ３→Ｔ４→Ｔ５→Ｔ６→Ｔ７の順となる。また、図２の文書データを前述の文書構造ツリー生成処理に従って文書構造ツリーを生成することによって得られる表示順は、ブロックＡ→ブロックＢ→ブロックＣ→ブロックＤ→ブロックＥ→ブロックＦとなる。次へボタンが押された時の挙動の例としては、例えば、ブロックＢが選択及び表示されている状態で次へボタンが押された場合、ブロックＣを選択及び表示する。なお、ページ内で終端のオブジェクトが選択されている場合、次のページ場合の最初のオブジェクトを選択、及び表示する。
【００４０】
また、ＣＰＵ１９０５は、前へボタンの押下を検出した際、文書構造ツリーに基づいた表示順に従って、前のオブジェクトを選択し、表示する。文書構造ツリーに基づいた表示順は前述の次へボタンの押下の検出の際と同様である。前へボタンが押された時の挙動の例としては、例えば、ブロックＢが選択及び表示されている状態で前へボタンが押された場合、ブロックＡを選択及び表示する。なお、ページ内で始端のオブジェクトが選択されている場合、前のページの最後のオブジェクトを選択、及び表示する。
【００４１】
図８は、図２の文書データにおいて、部分領域表示モードでブロックＣを選択及び表示した状態から次へボタンが４回押され、その後戻るボタンが３回押された場合の表示例を示している。まず、初期状態８０１では、ブロックＣを選択、表示している。ブロックＣは、高さが大きくブロック全体が画面内に収まらないため下端が表示されていない。初期状態８０１で、次へボタンが押されると、下方向にスクロールされる（状態８０２）。
【００４２】
状態８０２において、次へボタンが押されると、ブロックＣの下端が表示されているため、前述の表示順に従って次のブロックであるブロックＤを選択/表示する（状態８０３）。状態８０３において、次へボタンが押されると、同様に次のブロックであるブロックＥを選択／表示する（状態８０４）。また、状態８０４において、次へボタンが押されると、同様に次のブロックであるブロックＦを選択／表示する（状態８０５）。
【００４３】
次に、状態８０５において、前へボタンが押されると前述の表示順に従って前のブロックであるブロックＥを選択／表示する（状態８０６）。同様に、状態８０６において、前へボタンが押されると、前のブロックであるブロックＤを選択／表示する（状態８０７）。さらに、状態８０７において、前へボタンが押されると、同様に、前のブロックであるブロックＣを選択／表示する（状態８０８）。
【００４４】
図９は、遷移履歴テーブルの一例を示す図である。遷移履歴テーブルは、ブロックの表示履歴を記録するためのテーブルであり、表示履歴名１３００、表示したブロックのブロック名１３０１、表示時間１３０２、ブロック内位置１３０３を記録する。ブロック内位置とは、表示ブロック内での相対表示位置である。具体的には、表示用画像の上端のＹ座標が、ブロックの高さに対してどれくらいの比率の位置にあるかを割合で示す値である。例えば、図８の状態８０２においては、表示用画像の上端はブロックＣ全体の高さの０．４の比率の位置にある。このときブロック内位置は０．４である。なお、ブロックの上端が表示用画像内に存在する場合は常に０とする。例えば状態８０３の場合ブロック内位置は０である。
【００４５】
図９では、表示履歴は、下の行ほど古いデータを表している。図中の表示履歴８は、ブロックＣの上端がＬＣＤ１９０１の上端に一致する状態（状態８０１）を５秒表示し、表示履歴７は、その後にブロックＣの上から４割の位置がＬＣＤ１９０１の上端に一致する状態（状態８０２）を４秒表示したことを表している。なお、図９では遷移履歴の一部のみを表示している。
【００４６】
図１０は、本実施形態に係る表示管理及び関連付け処理フローを示す図である。このフローは、ユーザーの所定の操作に応じてＣＰＵ１９０５によって実行される。所定の操作とは、文書データを入力する操作である。例えば、図示しない文書一覧画面から目的の文書データを選択する操作である。
【００４７】
まず、ステップＳ１００１において、ＣＰＵ１９０５は、記憶装置１９１０からユーザーによって指定された文書データを取得する。前述の通り文書データには文書構造データが含まれる。次に、ステップＳ１００２において、ＣＰＵ１９０５は、入力された文書構造データの各ページについて前述のページ画像生成処理を行うことで、それぞれのページ画像を生成する。そして、最初のページのページ画像をＬＣＤ１９０１にぴったり収まるように縮小（又は拡大）した表示用画像を生成し、ＬＣＤ１９０１に表示する。
【００４８】
次に、ステップＳ１００３において、ＣＰＵ１９０５は、タッチパネル１９０２上で前述の拡大縮小操作、移動操作、前後表示操作のいずれかの操作が行われたか判定し、いずれかの操作を検出した場合（ＹＥＳ）、ステップＳ１００４に移行する。いずれの操作も検出されなかった場合（ＮＯ）、再度ステップＳ１００３で操作の判定を実行する。
【００４９】
ステップＳ１００４において、ＣＰＵ１９０５は、ステップＳ１００３で検出した操作種別に応じて、画面を更新する。各操作に応じた表示の更新方法は前述の通りである。次に、ステップＳ１００５において、ＣＰＵ１９０５は、表示用画像の中心座標がどのブロックに属するかの判定を行う。より具体的には、表示用画像の中心座標を、ページ画像中で同じ位置を示す座標に変換した上で、その座標を含むブロックを文書構造データから抽出する。抽出されたブロックがある場合、そのブロックを表示ブロックとして判定する。抽出されたブロックが無い場合、最後に検出された表示ブロックのままとする。
【００５０】
さらに、ＣＰＵ１９０５は、表示ブロック内での相対表示位置（ブロック内位置）を調べる。具体的には、表示用画像の上端のＹ座標を、ページ画像中で同じ位置を示す座標に変換したうえで、それが表示ブロックの高さに対してどれくらいの比率の位置に存在するかを調べる。次に、ステップＳ１００６において、ＣＰＵ１９０５は、ステップＳ１００５で検出した表示ブロック及びブロック内位置が前回検出した表示ブロックから変化しているか否かを判定する。変化している場合は、変化前の表示ブロックとその時間を図９に示す遷移履歴テーブルに記録（追記）する。
【００５１】
次に、ステップＳ１００７において、ＣＰＵ１９０５は、閲覧判定時間の更新を行う。閲覧判定時間は、ユーザーが現在の表示ブロックを閲覧しているか否かを判定するための閾値である。閲覧判定時間は遷移履歴を利用して決定する。具体的には、遷移履歴テーブルの各表示履歴を、表示時間についてクラスタリングする（部分集合に分割する）。クラスタリング手法は、例えば、ｋ−ｍｅａｎｓ法を用い、ｋ＝２として、初期値を０と遷移履歴テーブル中の表示時間の最大値とする。そして、相対的にクラスタの重心が大きいクラスタの最小値と、クラスタの重心が小さいクラスタの最大値との中間値を閲覧判定時間とする。
【００５２】
図９の遷移履歴テーブルの表示履歴１〜表示履歴８についてこの方法を適用した場合、重心の小さいクラスタには表示履歴２，３，５，６が属し、重心の大きいクラスタには表示履歴１，４，７，８が属する。重心の小さいクラスタに属する履歴のうち表示時間が最大のものは表示履歴３の１．１秒で、重心の大きいクラスタに属する履歴のうち表示時間が最小のものは表示履歴４の３．９秒である。
【００５３】
これらの中間値は（１．１＋３．９）／２＝２．５秒となり、これが閲覧判定時間となる。なお、この方法は遷移履歴が極端に少ない場合は計算ができない。このような場合、所定の固定値を閲覧判定時間としてよい。なお、本実施形態では、クラスタリングによる閲覧判定時間の決定方法について説明したが、他にもブロックの属性やデータに応じた固定値としてもよい。属性に応じた固定値とする場合、閾値が大きい順に文字列矩形領域＞図表＞写真の順となるように設定する。また、同様にして閲覧判定時間は、属性によらない固定値としてもよい。
【００５４】
次に、ステップＳ１００８において、ＣＰＵ１９０５は、後述する関連付け処理を非同期で行う。次に、ステップＳ１００９において、ＣＰＵ１０９５は、後述する関連ブロック表示更新処理を実施する。そして、ステップＳ１０１０において、ＣＰＵ１９０５は、ユーザーによる終了指示を表す特定の操作がなされたか否かを判定し、操作がなされた場合（ＹＥＳ）、処理を終了し、操作がなされていない場合（ＮＯ）、ステップＳ１００３に戻って、処理を進める。
【００５５】
図１１は、閲覧パターンテーブルの例を示す図である。閲覧パターンテーブルは、後述の関連付け処理によって関連付けられるブロックの情報を記録するテーブルである。閲覧パターンテーブルには、閲覧パターン名１４００、直前に閲覧していたブロック（直前の閲覧ブロック１４０１）、連続して閲覧したブロック（連続閲覧ブロック１４０２）、そのパターンの閲覧がなされた回数（閲覧回数１４０３）が記録される。本実施例において、ブロック名の後ろに付けられた括弧内の数字はブロック内位置を示し、括弧が無い場合はブロック内位置が０であることを示す。例えばブロックＣ（０．４）とは、ブロックＣのブロック内位置０．４であることを意味する。
【００５６】
図１２は、本実施形態に係る関連付け処理フローを示す図である。このフローは、図１０のフローのステップＳ１００８のタイミングで起動され、図１０のフローチャートと並列に非同期で実行される。また、このフローは、ユーザーがあるブロックを閲覧した後に別のブロックを閲覧し、再び元のブロックを閲覧したというような往復操作を検出した際の、それらのブロックを関連付ける処理である。なお、このフローの具体的な適用例は後述する。
【００５７】
まず、ステップＳ１１０１において、ＣＰＵ１９０５は、現在の表示ブロックのブロック名を待機前表示ブロックとしてＲＡＭ１９１１に記録したうえで、前述した閲覧判定時間（所定の時間）の分だけ待機する。次に、ステップＳ１１０２において、ＣＰＵ１９０５は、ステップＳ１００５と同様の処理を行うことにより現在の表示ブロックの判定を行い、現在の表示ブロックのブロック名を待機後表示ブロックとしてＲＡＭ１９１１に記録する。
【００５８】
なお、この処理は、ユーザーによる操作に基づいて表示領域を変更する処理（ステップＳ１００２及びステップＳ１００３）と非同期に実施されるため、ステップＳ１１０１で待機している間に表示ブロックが変更されている可能性がある。そして、ステップＳ１１０３において、ＣＰＵ１９０５は、待機前の表示ブロックと待機後の表示ブロックを比較して一致するか否か（表示ブロックが変更されたか否か）を判定する。表示ブロックが一致する場合（ＹＥＳ）、ステップＳ１１０４に移行し、表示ブロックが一致しない場合（ＮＯ）、処理を終了する。この処理は、ステップＳ１１０１の待機中に表示ブロックが変更された場合に、処理を終了することを意味する。このような状況は、例えば、待機前表示ブロックが、ユーザーが目的のブロックを表示する過程で一時的に表示されたブロックの場合に発生する。
【００５９】
次に、ステップＳ１１０４において、ＣＰＵ１９０５は、現在表示中のブロックが最近に閲覧された際の表示履歴を取得する。具体的には、まず、図９の遷移履歴テーブルからブロック名１３０１と、ブロック内位置１３０３が共に現在の表示ブロックのものと一致するものを抽出する。次に、抽出した表示履歴の中から、表示時間１３０２が閲覧判定時間以上のものだけを抽出し、かつその中で最新の表示履歴を取得する。ＣＰＵ１９０５は、得られた表示履歴を、最近閲覧時表示履歴としてＲＡＭ１９１１に記録する。
【００６０】
次に、ステップＳ１１０５において、ＣＰＵ１９０５は、最近閲覧時表示履歴以降の全ての表示履歴を抽出し、それら表示時間の積算が所定値より少ないか否かを判定する。所定値よりも少ない場合（ＹＥＳ）、ステップＳ１１０６に移行し、所定値以上である場合（ＮＯ）、処理を終了する。このステップによって、最近閲覧時表示履歴以降、一旦ユーザーによって長時間放置された場合には、ユーザーの操作や思考に関係性が無いということで、以降の関連付け処理を行わないようにすることができる。
【００６１】
次に、ステップＳ１１０６において、ＣＰＵ１９０５は、最近閲覧時表示履歴以降の全ての表示履歴の中から、表示時間が閲覧判定時間以上の履歴を抽出し、抽出された履歴の総数が所定値より少ないか否かを判定する。所定値より少ない場合（ＹＥＳ）、ステップＳ１１０７に移行し、所定値以上である場合（ＮＯ）、処理を終了する。所定値の代表例は、例えば、３である。このステップによって、あるブロックを閲覧したあと多数のブロックを閲覧してから元のブロックを閲覧した場合には、ユーザーの操作や思考に関係性が無いということで、以降の関連付け処理を行わないようにすることができる。
【００６２】
次に、ステップＳ１１０７において、ＣＰＵ１９０５は、最近閲覧時表示履歴以降の全ての表示履歴の中から、表示時間が閲覧判定時間以上の履歴を抽出しこれらの履歴の表示ブロックを連続閲覧ブロック１４０２として閲覧パターンテーブル１４００に記録する。この時、最近閲覧表示履歴以前の直近の、表示時間が閲覧判定時間以上の履歴を特定し、そのブロック名を直前の閲覧ブロック１４０１として合わせて記録する。また、もし既に直前の閲覧ブロックと関連ブロック及びブロック内位置情報が一致するレコードが閲覧パターンテーブルに存在していた場合、閲覧回数１４０３を１追加するように更新し、存在しない場合、閲覧回数１４０３を１とする。
【００６３】
なお、ブロック内位置情報を比較する際は、適度に量子化してもよい。例えば、ブロック内位置を４段階に分けた場合、０〜０．２５、０．２５〜０．５、０．５〜０．７５、０．７５〜１のどの範囲に属するかを調べ、同じ範囲のブロック内位置は、同一のものと判定してよい。このようにして、ステップＳ１１０４〜Ｓ１１０７によって、ユーザーがあるブロックを閲覧したあと、別のブロックを閲覧し、さらにまた元のブロックを閲覧したという往復操作が検出される。
【００６４】
また、実際の操作では、あるブロックから別のブロックへ移り、また元のブロックへ戻るというような単なる往復操作だけでなく、元のブロックの読み順上の次のブロックに戻るという場合も考えられる。そのため、往復操作とみなす対象は、読み順上前後のブロックを含めてもよい。具体的には、ステップＳ１１０４において、まず、遷移履歴テーブルからブロック名１３０１が現在の表示ブロックのブロック名と一致するものを抽出しているが、この時に読み順上で前後のブロックのブロック名と一致するものも含めてよい。また、本実施形態では、ブロック内位置まで含めて一致したもののみを往復操作としているが、ブロック内位置を無視して、単にブロック名だけで判断してもよい。
【００６５】
そして、ステップＳ１１０８において、ＣＰＵ１９０５は、後述する関連ブロック表示更新処理を行う。これによって、ステップＳ１１０７よって更新された閲覧パターンテーブルの情報を表示に反映する。
【００６６】
以下、図９の遷移履歴テーブルの表示履歴２〜表示履歴８までが存在する状態であり、ブロックＣのブロック内位置０．４が表示された段階において、図１２の関連付け処理フローが実行された場合について具体的に説明する。まず、ステップＳ１１０１において、待機前表示ブロックとしてブロックＣが記録される。ここではＣＰＵ１９０５が待機している間、ユーザーが何も操作しなかったとする。
【００６７】
次に、ステップＳ１１０２において、待機後表示ブロックとしてブロックＣを記録する。そして、ステップＳ１１０３において、表示ブロックに変更はないと判定される。ステップＳ１１０４において、まず、ブロック名１３０１と、ブロック内位置１３０３が共に現在の表示ブロックのものと一致するものとして、表示履歴７を抽出する。次に抽出した履歴から最新のものを選択するが、本実施形態では、該当するものが一つしかないため、この条件に関係なく表示履歴７が選択される。
【００６８】
一方、該当するものが複数存在する場合、例えば、表示履歴１５にブロックＣのブロック内位置０．４を閲覧した履歴が存在した場合、それより新しい履歴である表示履歴７を選択する。そして、ステップＳ１１０５において、表示履歴７〜表示履歴２までの表示時間の積算時間（１１．４秒）が所定値を超えるかを調べる。本実施形態では、所定値を１５分とする。所定値を越えないのでステップＳ１１０６に移行する。ステップＳ１１０６において、表示履歴７〜表示履歴２までに存在し、閲覧判定時間（例として２．５秒）を越える表示履歴である表示履歴４を抽出する。抽出される個数は１個であり、所定値（例えば、３つ）以下であるためステップＳ１１０７に移行する。
【００６９】
次に、ステップＳ１１０７において、閲覧パターンテーブル１４００から、連続閲覧ブロック１４０２にブロックＣのブロック内位置０．４とＦが存在し、直前の閲覧ブロック１４０１にブロックＣのブロック内位置０（表示履歴８）が存在する否かを判定する。図１１の閲覧パターンテーブル１４００においては、閲覧パターン１がこれに該当する。既に存在していたので閲覧回数１４０３を６から７に増加させる。なお、該当するものが存在しない場合、新しい閲覧パターンとして追加する。前述の通りこの際閲覧回数は１とする。
【００７０】
次に、図１３は、本実施形態に係る関連ブロック表示更新処理フローを示す図である。このフローは、図１０のフローのステップＳ１００９で実施される。また、非同期で実施される図１２のフローのステップＳ１１０８のタイミングにおいても同様に実施される。ただし、どちらか一方で処理が行われている場合は、一方の終了を待って実行される。このフローは、閲覧パターンテーブルに基づいて、現在の表示ブロックに関連する可能性の高いブロックへのリンクを提示する表示を行う。
【００７１】
まず、ステップＳ１２０１において、ＣＰＵ１９０５は、閲覧パターンテーブル１４００を参照することで、現在の表示ブロックに関連するブロックが存在するかを調べる。ＣＰＵ１９０５は、閲覧パターンテーブル上の連続閲覧ブロック１４０２に現在の表示ブロックとブロック内位置まで含めて、同じものが存在する閲覧パターンを関連閲覧パターンとして抽出する。さらに、それぞれ関連閲覧パターンの連続閲覧ブロック１４０２中の現在の表示ブロック以外のブロックを関連ブロックとしてＲＡＭ１９１１に記録する。この時、後に説明する関連度の計算を行い、関連度が極端に低いものについては除外する。
【００７２】
次に、ステップＳ１２０２において、ＣＰＵ１９０５は、関連ブロックごとに関連度の計算を行う。本実施形態において、関連度の計算には閲覧回数１４０３をスコアとして用いており、閲覧回数の多いものを優先的に表示するように計算される。さらに、直前の閲覧ブロック１４０１を用いて重みづけを行う。具体的には、ＣＰＵ１９０５は、現在の表示ブロックの直前に閲覧していたブロック（最近表示した表示時間が閲覧判定時間以上の任意のブロック）を特定する。次に、このブロックと閲覧パターンテーブル上の直前の閲覧ブロック１４０１とが一致する閲覧パターンを、関連閲覧パターンから抽出する。これらによって抽出された閲覧パターンは、閲覧回数のＫ倍の値をスコアとし、それ以外の関連閲覧パターンは、閲覧回数をそのままスコアとして用いる。Ｋは、任意の定数であり、本実施形態では２とする。なお、同じ関連ブロックが違う関連閲覧パターンに含まれる場合、そのブロックに関するスコアを単に加算してマージする。
【００７３】
そして、ステップＳ１２０３において、ＣＰＵ１９０５は、現在の表示設定が部分領域表示モードであるか否か、および余白が十分あるか否かを判定する。余白が十分にあるか否かは、具体的には、表示用画像中から表示ブロックが占める領域と、その他の操作用ボタンが占める領域を差し引いた領域で確保できる矩形面積を求める。部分表示モードであり、かつ余白が所定値より大きい場合（ＹＥＳ）、ステップＳ１２０４に移行する。部分表示―モードであるが余白が所定値より小さい場合、またはそもそも部分領域表示モードでない場合（ＮＯ）、ステップＳ１２０５に移行する。
【００７４】
そして、ステップＳ１２０４において、ＣＰＵ１９０５は、関連ブロックのサムネイルを余白領域に表示する。表示順は、余白領域の左上から関連度の高い順に並べ、サムネイルの大きさに下限を設けて、余白領域に入りきらない領域については非表示とする。なお、この画面において、ＣＰＵ１９０５は、サムネイルが押されたことを検知すると、そのサムネイルが表すブロックへ表示を移動する。
【００７５】
次に、ステップＳ１２０５において、ＣＰＵ１９０５は、関連ブロック表示ボタン（指示領域）を表示する。このボタンは、関連ブロックの一覧を表示するためのボタンである。ユーザーによりこのボタンが押された場合、ＣＰＵ１９０５は、関連ブロック一覧表示をポップアップする。関連ブロック一覧表示は、関連ブロックのサムネイルの一覧である。サムネイルの大きさは固定とし、一画面に収まりきらない分についてはスクロール操作に応じて表示する。この時、スコアの高い関連ブロックのサムネイルが先に表示されるように配置する。なお、この画面において、ＣＰＵ１９０５は、サムネイルが押されたことを検知すると、ポップアップを閉じてそのサムネイルが表すブロックへ表示を移動する。
【００７６】
次に、図１４は、ユーザーが部分領域表示モードでブロックＣを閲覧してからブロックＢを閲覧した場合に行われる、関連ブロック表示更新処理を示す図である。初期状態は、状態１５０１である。以下、図１４を参照しながら、図１３に示す関連ブロック表示更新処理フローの実際の処理を説明する。
【００７７】
まず、ステップＳ１２０１において、閲覧パターンテーブルから連続閲覧ブロック１４０２にブロックＢを含むパターンを抽出する（閲覧パターン７，８，９）。また関連ブロックとして、それぞれの閲覧パターンの連続閲覧ブロック１４０２から、ブロックＢ以外（表示中の構成要素以外）であるブロックＡ、Ｄ、Ｅ、Ｆを抽出する。関連ブロックが存在するのでステップＳ１２０２に移行する。
【００７８】
次に、ステップＳ１２０２において、関連ブロックの関連度を計算する。本実施形態では、ブロックＢを表示する前にブロックＣが閲覧されているので、閲覧パターン９の関連ブロックのスコアを閲覧回数の２倍（Ｋ＝２とする）にする。結果として、各関連ブロックの関連度は、ブロックＡ＝１、ブロックＤ＝４、ブロックＥ＝３０、ブロックＦ＝３０となる。
【００７９】
そして、ステップＳ１２０３において、部分領域表示モードであり、かつ余白が所定値（画面全体の４分の１とする）より多いため、ステップＳ１２０４に移行する。ステップＳ１２０４において、関連ブロックを余白領域に表示する。図１４の状態１５０２は、この状態を示している。本実施形態では、余白領域１５１１にはブロック二つ分のサムネイルしか収まらないため、スコアの高いブロックＥとブロックＦのみを余白領域に表示している。
【００８０】
次に、ステップＳ１２０５において、関連ブロック表示ボタンを表示する（状態１５０３）。この状態で、ブロックＦのサムネイル１５１２が押された場合、ブロックＦの表示を行う（状態１５０５）。関連ブロック表示ボタン１５１３が押された場合、スクロール可能なポップアップ１５１４を表示し、ここに全ての関連図を表示する。順番は、上からスコアが高い順に並べられ、ブロックＥ→Ｆ→Ｄ→Ａとなる（状態１５０４）。この状態で、ブロックＦのサムネイルが押された場合、ポップアップ１５１４を閉じてブロックＦの表示を行う（状態１５０５）。
【００８１】
次に、図１５は、ユーザーが部分領域表示モードでブロックＣのブロック内位置０を閲覧してからブロックＣのブロック内位置０．４を閲覧した場合に行われる、関連ブロック表示更新処理を示す図である。初期状態は、状態１６０２である。そして、図１５を参照しながら、図１３に示す関連ブロック表示更新処理フローの実際の処理を説明する。
【００８２】
まず、ステップＳ１２０１において、まず閲覧パターンテーブル１４００から連続閲覧ブロック１４０２にブロックＣのブロック内位置０．４を含むパターンを抽出する（閲覧パターン１、３、６）。前述の通り、図１１において、単に「ブロックＸ」と記載されている場合、ブロックＸのブロック内位置０を示す。次に、関連ブロックとして、それぞれの閲覧パターンの連続閲覧ブロック１４０２から、ブロックＣ（０．４）以外であるブロックＥ、Ｆを抽出する。関連ブロックが存在するのでステップＳ１２０２に移行する。
【００８３】
次に、ステップＳ１２０２において、関連ブロックの関連度を計算する。本実施形態では、ブロックＣ（０．４）を表示する前にブロックＣのブロック内位置０が閲覧されているので、閲覧パターン１、３の関連ブロックのスコアを閲覧回数の２倍（Ｋ＝２とする）にする。結果として、各関連ブロックの関連度は、ブロックＥ＝４×２＝８、ブロックＦ＝６×２＋１＝１３となる。
【００８４】
次に、ステップＳ１２０３において、部分領域表示モードではあるが、余白が所定値（画面全体の４分の１とする）より少ないため、ステップＳ１２０５に移行する。ステップＳ１２０５において、関連ブロック表示ボタンを表示する（状態１６０３）。この状態で、ブロックＦのサムネイル１６１２が押された場合、ブロックＦの表示を行う（状態１６０５）。関連ブロック表示ボタン１６１３が押された場合、スクロール可能なポップアップ１６１４を表示し、ここに全ての関連図を表示する。順番は、上からスコアが高い順に並べられ、ブロックＦ→Ｅとなる（状態１６０４）。この状態で、ブロックＦのサムネイル１６１２が押された場合、ポップアップ１６１４を閉じてブロックＦの表示を行う（状態１６０５）。
【００８５】
以上、本実施形態によれば、図面にキャプションが無く本文中にも図に関する記載が無い場合でも、ある図面に対してよく参照される図面を適切に検出することができるため、ユーザーは簡単に適切に関連する図面を表示することができる。
【００８６】
このような効果は、例えば、対面営業の場で強く発揮される。営業マンが利用するパンフレットやスライド資料では顧客からよく質問を受けるような部分がよく存在する。このような場合営業マンは資料中の関連図面を表示するが、その度に関連する部分を表示する操作が必要となる。また、質問に答えた後はまた元に説明していた場所に戻るための操作が必要となる。本提案によれば、このような操作を検出し、これらの図面を関連付けることができるため、営業マンは元資料の修正なしに容易に目的の図面を表示する事が可能となる。
【００８７】
（他の実施例）
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する１以上のソフトウェア（プログラム）を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の１以上のコンピュータ（ＣＰＵやＭＰＵ等）によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路（例えば、ＡＳＩＣ）によっても、本発明は実現可能である。
【００８８】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
2015141621.tif 000003
【図２】
2015141621.tif 000004
【図３】
2015141621.tif 000005
【図４】
2015141621.tif 000006
【図５】
2015141621.tif 000007
【図６】
2015141621.tif 000008
【図７】
2015141621.tif 000009
【図８】
2015141621.tif 000010
【図９】
2015141621.tif 000011
【図１０】
2015141621.tif 000012
【図１１】
2015141621.tif 000013
【図１２】
2015141621.tif 000014
【図１３】
2015141621.tif 000015
【図１４】
2015141621.tif 000016
【図１５】
2015141621.tif 000017