(57)【要約】【課題】ユーザの好みに応じてページの表示領域を自動で指定することが可能な表示装置を提供することを目的とする。【解決手段】画像表示装置１００は、複数のオブジェクトを含むページを画面に表示する表示手段と、予め表示された前記ページを調整することで表示領域を指定する指定手段と、予め表示されたページ以外の新規のページを表示する際に、表示領域に基づいて、予め表示されたページと新規のページが同一または類似のページか否かを判定する判定手段と、を備え、表示手段は、判定手段によって新規のページが同一または類似のページであると判定された場合、表示領域に従って新規のページを表示する。【選択図】図４０
2015046045.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトを含むページを画面に表示する表示手段と、
予め表示された前記ページを調整することで表示領域を指定する指定手段と、
前記予め表示された前記ページ以外の新規のページを表示する際に、前記表示領域に基づいて、前記予め表示された前記ページと前記新規のページが同一または類似のページか否かを判定する判定手段と、
を備え、
前記表示手段は、前記判定手段によって前記新規のページが前記同一または類似のページであると判定された場合、前記表示領域に従って前記新規のページを表示する
ことを特徴とする画像表示装置。
【請求項２】
前記判定手段は、前記ページの前記表示領域を除く領域に位置するオブジェクトと同一または類似のオブジェクトが前記新規のページに含まれるか否かを判定する
ことを特徴とする請求項１に記載の画像表示装置。
【請求項３】
前記ページの拡大、縮小または移動することで前記表示領域が変更された場合、前記指定手段は、予め定めた判定基準に基づいて変更された前記表示領域を新規の表示領域として指定し、前記判定手段は、前記新規の表示領域に基づいて前記予め表示された前記ページと前記新規のページが同一または類似のページか否かを判定する
ことを特徴とする請求項１または２に記載の画像表示装置。
【請求項４】
前記指定手段は、前記画面上の操作のうち所定の操作を検知する検知手段
を含み、
前記指定手段は、前記検知手段により検知された操作に基づいて前記表示領域を指定する
ことを特徴とする請求項３に記載の画像表示装置。
【請求項５】
前記検知手段は、前記画面の操作において、前記画面の操作が行われなかった所定の時間を検知し、前記指定手段は、前記検出手段で検知した前記所定の時間に表示された領域を前記表示領域と指定する
ことを特徴とする請求項３に記載の画像表示装置。
【請求項６】
前記判定手段によって前記予め表示された前記ページと前記新規のページが同一または類似のページであると判定され、前記新規のページを表示している状態で、前記新規のページの表示領域が変更された場合、前記指定手段は、前記変更された表示領域を前記表示領域として指定する
ことを特徴とする請求項１〜５のいずれか１項に記載の画像表示装置。
【請求項７】
前記指定手段は、表示している前記ページの前記複数のオブジェクトのうち、選択されたオブジェクトを含む領域を前記表示領域と指定し、前記判定手段は、前記選択されたオブジェクトに基づいて前記予め表示された前記ページと前記新規のページが同一または類似のページか否かを判定する
ことを特徴とする請求項１に記載の画像表示装置。
【請求項８】
前記予め表示された前記ページのオブジェクトと前記新規のページのオブジェクトの前記ページにおける位置座標、面積、種類、色の少なくとも１つを用いて演算を行い、算出した結果が予め定めた条件と一致する場合、前記判定手段は、前記予め表示された前記ページと前記新規のページが同一または類似のページであると判定する
ことを特徴とする請求項１〜７のいずれか１項に記載の画像表示装置。
【請求項９】
前記予め表示された前記ページのオブジェクトの面積と前記新規のページのオブジェクトの面積が、所定の割合以上で重なる場合、前記判定手段は、前記予め表示された前記ページと前記新規のページが同一または類似のページであると判定する
ことを特徴とする請求項１〜８のいずれか１項に記載の画像表示装置。
【請求項１０】
前記指定手段は、
前記予め表示された前記ページの前記表示領域の情報、および前記表示領域に含まれるオブジェクトまたは前記表示領域を除く領域にあるオブジェクトの情報を第１の情報と設定し、
前記第１の情報に含まれる情報のうち前記表示領域および前記オブジェクトの位置に関する情報に対して左右対称となる位置に関する情報を含む、前記予め表示された前記ページの前記表示領域の情報、および前記表示領域に含まれるオブジェクトまたは前記表示領域を除く領域にあるオブジェクトの情報を第２の情報と設定し、
前記判定手段は、前記新規のページを表示する際に、前記第１または第２の情報を比較して、前記新規のページに含まれる情報と一致した前記第１または第２の情報の表示領域に基づいて判定する
ことを特徴とする請求項１〜９のいずれか１項に記載の画像表示装置。
【請求項１１】
前記表示手段は、前記判定手段によって前記新規のページが前記同一または類似のページでない判定された場合、前記新規のページの全体を前記画面上に表示する
ことを特徴とする請求項１〜１０のいずれか１項に記載の画像表示装置。
【請求項１２】
前記表示手段は、オブジェクトに関する通知をする通知手段を含み、
前記通知手段は、前記判定手段によって前記新規のページが前記同一または類似のページであると判定され、かつ前記予め表示された前記ページに含まれないオブジェクトが前記新規のページに含まれる場合、前記画面上に前記オブジェクトに関する通知を行う
ことを特徴とする請求項１〜１０のいずれか１項に記載の画像表示装置。
【請求項１３】
前記通知手段は、前記新規のページが前記画面上に表示された後、前記表示領域に従って前記オブジェクトに関する通知を表示させる領域の位置を変更して行う
ことを特徴とする請求項１２に記載の画像表示装置。
【請求項１４】
前記通知手段は、前記オブジェクトに関する通知を前記オブジェクトが存在する位置に従って通知を行う
ことを特徴とする請求項１２に記載の画像表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像表示装置、画像表示装置の制御方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
携帯端末やタブレットなどの情報処理装置を用いてデジタル化した文書を画像データとして表示する方法が提案されている。しかしながら、小さな表示画面を備える装置でページの画像データ（ページ画像）全体を表示すると視認性が劣る。そこで、例えば、ページ画像の拡大時にレイアウトを解析し、ページ画像に含まれる文字オブジェクトを認識し、文字オブジェクトを表示画面の表示領域に合わせて文字単位で折り返して表示する表示方法が提案されている。特許文献１は、表示領域上に表示されるボタンをユーザが押下することによって、文章の全体が表示領域に表示できるように縮小した縮小画像と、文字オブジェクトを文字単位で折り返した折り返し画像のいずれかを表示する表示装置を開示している。また、この表示装置は、表示画像の切り替えを行わず、縮小画像と折り返し画像を同時に表示領域上に表示する。
【０００３】
この方法によれば、文字オブジェクトを拡大して表示領域に折り返し表示した場合においても、上下、または左右の一方向にのみスクロールすれば文字オブジェクト内の文字を読むことができる。さらに、明示的なユーザ指示による二つの表示画像の切り替え、もしくは表示領域上への同時表示によって、文書全体を俯瞰しながら、文字オブジェクト内の文字を読むことができる。さらに、特許文献１には、一次元的な操作（右矢印キーの操作）によって、文書画像の読み順に従って二次元的に画面をスクロールすることで、文書画像内の各領域を順番に画面上に等倍表示する方法も開示されている。
【０００４】
また、特許文献２には、ページのレイアウト構造が定義されているページ情報を表示する際、ユーザが関心領域のオブジェクトを選択することで、ページ上に関心領域を拡大し重畳して表示する方法が開示されている。これにより、ユーザは、手軽に、ページの中で関心のある一部分の領域を拡大して見やすく表示することが可能となる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０９４５１２号公報
【特許文献２】特表２０１０−５０４５８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、スワイプ操作による任意の方向へのスクロールとピンチアウト／ピンチイン操作による拡大縮小操作によってユーザが表示させたい領域である関心領域を指示し、ページを表示し読み進める場合には、以下の課題があった。すなわち、ページ内には、どのページでも変化の無い、会社のロゴや、デザイン的な要素などが存在する場合があり、これらは、ユーザにとって関心のないページ内のレイアウト要素（以下、修飾オブジェクトとする）でありユーザが読みたい部分では無いことが多い。また、ユーザが読みたいコンテンツを読みやすく希望の大きさで見るためには、ページを切り替えるごとに、画面内に表示される画像の大きさや位置をユーザ自身が手動で調整する必要があった。
【０００７】
また、特許文献１にあるように一次元的な操作（右矢印キーの操作）によって、文書画像の読み順に従って二次元的に画面をスクロールする場合は次のような課題があった。すなわち、キー操作で文書画像内の各領域を順番に読む際に、各ページで変化の無い、もしくは読む必要のないレイアウト要素も、必ず順番に表示されてしまう。そのためユーザはその度に見る必要の無い要素を読む必要があった。
【０００８】
さらに、元のページ画像を、画像表示装置で表示しようとした場合に、文字が小さい等の理由で視認性が悪いなどの理由で、拡大して表示したい場合でも、修飾オブジェクトも含め、画像全体を表示するために、全体が小さく表示されるという課題もあった。そしてページを切り替える毎に必要以上に小さく表示されてしまい、各ページ毎にユーザは都合のいい大きさに拡大し位置を調整し文書を読む必要があるなどの不都合があった。
【０００９】
本発明は、上述した課題の内少なくとも１つの課題を解決するものである。すなわち、本発明は、ユーザの好みに応じてページの表示領域を自動で指定することが可能な表示装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の画像表示装置は、複数のオブジェクトを含むページを画面に表示する表示手段と、予め表示されたページを調整することで表示領域を指定する指定手段と、予め表示されたページ以外の新規のページを表示する際に、表示領域に基づいて、予め表示されたページと新規のページが同一または類似のページか否かを判定する判定手段と、を備え、表示手段は、判定手段によって新規のページが同一または類似のページであると判定された場合、表示領域に従って新規のページを表示することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザの好みに応じてページの表示領域を自動で指定することが可能な表示装置を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明に係る画像処理システムを示すブロック図である。
【図２】図１のＭＦＰの機能構成を示すブロック図である。
【図３】アプリケーション画像データ生成のフローチャートである。
【図４】スキャナからデータをビットマップにする処理フローである。
【図５】ＰＣからデータをビットマップにする処理フローである。
【図６】メタ情報を付加する処理フローである。
【図７】オブジェクト分割の一例である。
【図８】オブジェクト分割時の各属性のブロック情報および入力ファイル情報である。
【図９】ベクトル化のフローチャートである。
【図１０】ベクトル化の処理における角抽出の処理を示す図である。
【図１１】ベクトル化の処理における輪郭線まとめの処理を示す図である。
【図１２】輪郭に基づくベクトル化のフローチャート。
【図１３】ベクトル化処理結果のデータを示すマップである。
【図１４】アプリケーション画像データ生成のフローチャートである。
【図１５】文書構造ツリー生成のフローチャートである。
【図１６】文書構造ツリー生成処理の対象となる文書を示す図である。
【図１７】図１６の文書構造ツリーを示す図である。
【図１８】ＳＶＧ（Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ）形式の一例である。
【図１９】携帯端末の構成を示すブロック図である。
【図２０】携帯端末のソフトウェアモジュール構成を示すブロック図である。
【図２１】ジェスチャイベント名の一覧と、各イベントが発生したときに送信する情報を示した図である。
【図２２】携帯端末がアプリケーション画像データを受信した際のフローチャートである。
【図２３】携帯端末のタッチＵＩの画面表示例である。
【図２４】アプリケーション画像データの操作制御に係わるソフトウェアモジュールの構成を示すブロック図である。
【図２５】モード切替処理のフローチャートである。
【図２６】携帯端末のタッチＵＩの画面表示例である。
【図２７】部分領域表示範囲決定処理のフローチャートである。
【図２８】次選択処理のフローチャートである。
【図２９】前選択処理のフローチャートである。
【図３０】移動範囲制限処理のフローチャートである。
【図３１】縮小時表示モード切替処理のフローチャートである。
【図３２】オブジェクト選択処理のフローチャートである。
【図３３】携帯情報端末のタッチＵＩの画面表示例である。
【図３４】携帯情報端末のタッチＵＩの画面表示例である。
【図３５】携帯情報端末のタッチＵＩの画面表示例である。
【図３６】携帯情報端末のタッチＵＩの画面表示例である。
【図３７】修飾オブジェクトリストを登録するフローチャートである
【図３８】関心領域表示モードに切り替えるフローチャートでる
【図３９】修飾オブジェクトを登録する登録リストと、登録リスト情報の情報を示している。
【図４０】携帯情報端末のタッチＵＩの画面表示例である。
【図４１】携帯情報端末のタッチＵＩの画面表示例である。
【図４２】ページの描画範囲決定のフローチャートである。
【図４３】オブジェクトの相関度から、同等のオブジェクトか否かを判定するフローチャートである。
【図４４】オブジェクトが修飾オブジェクトと同等か否かを判定するフローチャートである。
【図４５】修飾オブジェクトを登録する際のフローチャートである
【図４６】ページの描画範囲決定のフローチャートである。
【図４７】オブジェクトＮとＫの相関係数Ｓを算出するフローチャートである。
【図４８】オブジェクトＮとＫの相関係数Ｓを算出するフローチャートである。
【図４９】新規のページを表示する際の携帯情報端末のタッチＵＩの画面表示例である。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面等を参照して説明する。
【００１４】
（第１実施形態）
図１は、本発明を適用した画像処理システムの構成を示すブロック図である。図１に示すように、画像処理システムは、ＭＦＰ（画像表示装置）１００、クライアントＰＣ１０１、プロキシサーバ１０３、文書管理サーバ１０６、文書管理サーバ１０６のためのデータベース１０５で構成される。ＭＦＰ１００は、複数種類の機能（複写機能、印刷機能、送信機能等）を実現する複合機である。クライアントＰＣ１０１または携帯端末１０７は、例えば、印刷データをＭＦＰ１００へ送信することで、その印刷データに基づく印刷物をＭＦＰ１００に印刷させることが可能である。携帯端末上述した各装置は、無線または有線でＬＡＮ１０２に接続されている。ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０２は、また、プロキシサーバ１０３を介してネットワーク１０４に接続されている。なお、図１に示す構成は一例であり、同様の構成要素を有する複数のオフィスがネットワーク１０４上に接続されていても良い。
【００１５】
クライアントＰＣ１０１、プロキシサーバ１０３はそれぞれ、汎用コンピュータに搭載される標準的な構成要素を備える。例えば、クライアントＰＣ１０１、プロキシサーバ１０３は、ＣＰＵ、ＲＡＭ、ＲＯＭ、ハードディスク、ネットワークＩ／Ｆ、ディスプレイ、キーボード、マウス等を備える。ＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略称である。ＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略称である。ＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略称である。また、ネットワーク１０４は、典型的にはインターネットやＬＡＮやＷＡＮや電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかで実現されている。ＷＡＮは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略称である。もちろん、それらの組み合わせにより実現されるいわゆる通信ネットワークであっても良いことは言うまでもなく、データの送受信が可能であれば良い。
【００１６】
図２は、図１に示すＭＦＰ１００の機能構成を示すブロック図である。図２に示すように、ＭＦＰ１００は、画像読み取り部１１０、記憶装置（以下、ＢＯＸとも呼ぶ）１１１、記録装置１１２、データ処理装置１１５、入力装置１１３、表示装置１１６、ネットワークＩ／Ｆ１１４で構成される。
【００１７】
画像読み取り部１１０は、図示しないAuto Document Feeder（以下、ＡＤＦ）を有し、束状の或いは１枚の原稿の画像を光源で照射し、反射画像をレンズで固体撮像素子上に結像する。固体撮像素子は所定解像度（例えば６００ｄｐｉ）および所定輝度レベル（例えば８ビット）の画像読み取り信号を生成し、画像読み取り信号からラスターデータの画像データを生成する。データ処理装置１１５は、画像読み取り部１１０が生成したビットマップ画像データを後述するスキャン画像処理を行うことにより記録信号に変換する。
【００１８】
記録装置１１２は、データ処理装置１１５が変換した記録信号を用いて画像形成（印刷出力）する。記録装置１１２は、複数枚複写の場合には、１頁分の記録信号を一旦ＢＯＸ１１１に記憶保持した後、記録装置１１２に順次出力して、記録紙上に記録画像を形成する。ＢＯＸ１１１は、画像読み取り部１１０からのデータやローカルＰＣ１０２からドライバを経由して出力されるＰＤＬデータをレンダリングしたデータを保存できる機能を有する。また、ＭＦＰ１００は、ＭＦＰ１００に設けられたキー操作部（入力装置１１３）を通じて操作され、操作入力の状態を表示装置１１６によって表示し得る。
【００１９】
ローカルＰＣ１０１（もしくは他の汎用ＰＣ（不図示））からドライバを介してＰＤＬデータが送信される場合、ネットワークＩ／Ｆ１１４は、ＬＡＮ１０２とネットワークＩ／Ｆ１１４を介して受信する。そして、記録装置１１２は、当該受信したＰＤＬデータに基づく画像を記録する。すなわち、ローカルＰＣ１０１からドライバを経由して出力されるＰＤＬデータは、ＬＡＮ１０２からネットワークＩ／Ｆ１１４を経てデータ処理装置１１５に入力される。そして、データ処理装置１１５が言語を解釈・処理することで記録可能な記録信号に変換した後、ＭＦＰ１００は、記録紙上に記録画像として記録することが可能となる。
【００２０】
次に、図３を用いて、アプリケーション画像データの生成フローを説明する。本フローにおいて、ＭＦＰ１００は、ビットマップ画像データから、携帯端末１０７で表示するための所定のフォーマットのデータ（以下ではアプリケーション画像データと呼ぶこととする）を生成する。ビットマップ画像データは、ＭＦＰ１００の画像読み取り部１１０により取得される。または、ビットマップ画像データは、ローカルＰＣ１０２上のアプリケーションソフトで作成されたドキュメントをＭＦＰ１００内部でデータ処理装置１１５がレンダリングすることにより生成される。
【００２１】
まず、Ｓ３０１において、データ処理装置１１５は、ビットマップ画像データを属性毎のオブジェクトに分割するオブジェクト分割処理を行う。本実施形態において、オブジェクト分割後のオブジェクトの属性種類は、文字、写真、グラフィック（図面、線画、表、ライン）、背景を指す。Ｓ３０２において、データ処理装置１１５は、分割された各々のオブジェクトに対してオブジェクトの種類（文字、写真、グラフィック、背景）を判定する。オブジェクトが写真または背景と判定された場合、Ｓ３０３に処理は進み、データ処理装置１１５は当該オブジェクトのビットマップ画像をＪＰＥＧ圧縮する。
【００２２】
一方、オブジェクトが文字またはグラフィックと判定された場合、処理はＳ３０４に進み、データ処理装置１１５はベクトル化処理を行って、パス化されたデータ（ベクトルデータ）に変換する。次に、Ｓ３０５において、データ処理装置１１５は該オブジェクトが文字かグラフィックであるかを判定する。文字の場合には、更にＳ３０８において、データ処理装置１１５はＯＣＲ処理を施し、文字コード化されたデータ（ＯＣＲ結果の文字コードデータ）を取得する。
【００２３】
データ処理装置１１５は、Ｓ３０３及びＳ３０４で得た各オブジェクトのデータ（ＪＰＥＧデータ、ベクトルデータ）と、Ｓ３０８で得た文字コードデータとを一つのファイルにまとめる。次に、Ｓ３０６において、データ処理装置１１５は各オブジェクトに対して、最適なメタデータを付与する。Ｓ３０７において、データ処理装置１１５は、メタデータを付与した各々のオブジェクトを携帯端末１０７が表示可能なアプリケーション画像データに生成する。最後に、Ｓ５０９において、データ処理装置１１５は、生成したアプリケーション画像データをネットワークＩ／Ｆを介して携帯端末１０７に送信する。
【００２４】
次に、図４と図５を用いて、ビットマップ画像データ（文書画像データ）の作成について説明する。図４は、ＭＦＰ１００の画像読み取り部１１０を使用してビットマップ画像データを作成するフローチャートを示す。ＭＦＰ１００を使用した場合、図４のＳ４０１において、画像読み取り部１１０は画像を読み込む。読み込まれた画像は、既にビットマップ画像データである。Ｓ４０２において、そのビットマップ画像データに対して、画像読み取り部１１０に依存するスキャナ画像処理を行う。ここで言うスキャナ画像処理とは、例えば、色処理やフィルタ処理を指す。
【００２５】
図５は、ＰＣ１０２上のアプリケーションを使用してビットマップ画像データを作成するフローチャートを示す。Ｓ５０１において、ＰＣ１０２上のアプリケーションを使用して作成したデータが、ＰＣ１０２が備えるプリントドライバを介してプリントデータに変換され、ＭＦＰ１００に送信される。ここで言うプリントデータとは、ＰＤＬを意味し、例えば、ＬＩＰＳ（商標）、Ｐｏｓｔｓｃｒｉｐｔ（商標）等のページ記述言語を指す。次にＳ５０２において、ＭＦＰ１００のデータ処理装置１１５はインタープリタとして機能し、ディスプレイリストを生成する。Ｓ５０３において、データ処理装置１１５がディスプレイリストをレンダリングすることにより、ビットマップ画像データを生成する。
【００２６】
図６のフローチャートを用いて、図３のＳ３０８で行われるメタデータの付与処理の詳細について説明する。まず、Ｓ６０１において、データ処理装置１１５は、Ｓ３０１で分割されたオブジェクトのそれぞれについて、各オブジェクトの周囲で一番近くに存在する文字オブジェクトを選択する。次に、Ｓ６０２において、データ処理装置１１５は、選択した文字オブジェクトに対して、形態素解析を行う。次に、Ｓ６０３において、データ処理装置１１５は、Ｓ６０２で形態素解析結果により抽出した単語をメタデータとして各オブジェクトに付加する。なお、メタデータは、形態素解析に限定されず、例えば、画像特徴量抽出、構文解析等によっても作成できる。さらに、データ処理装置１１５は、以下の処理によりメタデータを作成することもできる。つまり、データ処理装置１１５はＭＦＰ１００に内蔵されたＢＯＸ１１１や画像処理システムのデータベース１０５に既に保存されている文書、および、それに含まれるオブジェクトを対象に類似画像検索を行う。そして、データ処理装置１１５は、類似度の高い類似画像のオブジェクトとの関連付けを行う。
【００２７】
次に、図７と図８を用いて、Ｓ３０１のオブジェクト分割について、詳細に説明する。図７（Ａ）は、入力されたビットマップ画像データを示す。図７（Ｂ）は、オブジェクト分割処理によって、ビットマップ画像データを複数のオブジェクトに分割した結果の一例である。図８は、オブジェクト分割したときの各オブジェクトのブロック情報および入力ファイル情報を表す。
【００２８】
Ｓ３０１において、データ処理装置１１５は、図７（Ａ）に示す入力画像（図７の左）に対してオブジェクト分割処理を行うことにより、属性ごとに矩形ブロックに分割する。分割された矩形ブロックを図７（Ｂ）に示す。前述のように、矩形ブロックの属性としては、文字、写真、グラフィック（図面、線画、表、ライン）、色（カラー、白黒）がある。
【００２９】
オブジェクト分割処理の一手法としては、例えば以下のような手法がある。まず、ＭＦＰ１００内のＲＡＭ（不図示）に格納されたイメージデータを白黒に２値化し、黒画素輪郭で囲まれる画素塊を抽出する。さらに、抽出された黒画素塊の大きさを評価し、大きさが所定値以上の黒画素塊の内部にある白画素塊に対する輪郭追跡を行う。白画素塊に対する大きさ評価、内部黒画素塊の追跡というように、内部の画素塊が所定値以上である限り、再帰的に内部画素塊の抽出、輪郭追跡を行う。画素塊の大きさは、例えば画素塊の面積によって評価される。データ処理装置１１５は、このようにして得られた画素塊に外接する矩形ブロックを生成し、矩形ブロックの大きさ、形状に基づき属性を判定する。
【００３０】
例えば、縦横比が１に近く、大きさが一定の範囲の矩形ブロックは文字領域矩形ブロックの可能性がある文字相当ブロックとする。また、近接する文字相当ブロックが規則正しく整列しているときに、これら文字相当ブロックを纏めた新たな矩形ブロックを生成し、新たな矩形ブロックを文字領域矩形ブロックとする。また扁平な画素塊、もしくは、一定大きさ以上でかつ四角形の白画素塊を整列よく内包する黒画素塊をグラフィック領域矩形ブロック、それ以外の不定形の画素塊を写真領域矩形ブロックとする。
【００３１】
次に、生成された矩形ブロックのそれぞれについて、データ処理装置１１５は、図８に示す属性等のブロック情報および入力ファイル情報を生成する。図８において、ブロック情報は、各ブロックの属性、位置の座標Ｘ、座標Ｙ、幅Ｗ、高さＨ、ＯＣＲ情報、色情報を含む。属性は１〜３の数値で与えられ、１は文字領域矩形ブロック、２は写真領域矩形ブロック、３はグラフィック領域矩形ブロックを示す。座標Ｘ、座標Ｙは入力画像における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）である。幅Ｗ、高さＨは矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さである。ＯＣＲ情報は、Ｓ３０６のＯＣＲ処理で文字コード化されたデータへのポインタ情報の有無を示す。色情報は、１または２の数値で与えられ、１は、カラー、２は、白黒を示す。さらに入力ファイル情報として矩形ブロックの個数を示すブロック総数Ｎも保存しておく。
【００３２】
これらの矩形ブロックごとのブロック情報は、特定領域でのベクトル化に利用される。またブロック情報によって、特定領域とその他の領域を合成する際の相対位置関係を特定でき、入力画像のレイアウトを損なわずにベクトル化された領域とビットマップのままの領域を合成することが可能となる。
【００３３】
次に、図９のフローチャートを用いて、図３のＳ３０４のベクトル化処理について詳細に説明する。まず、Ｓ９０１において、データ処理装置１１５は、特定領域が文字領域矩形ブロックであるか否かを判断し、文字領域の矩形ブロックであればＳ９０２以下のステップに進む。一方、特定領域が文字領域矩形ブロックでないときは、Ｓ９１２に移行する。
【００３４】
Ｓ９０２〜Ｓ９０７では、データ処理装置１１５は、パターンマッチング等の手法を用いて文字認識処理を行い、対応する文字コードを得る。例えば、Ｓ９０２において、データ処理装置１１５は、特定領域に対し横書き、縦書きの判定（組み方向判定）を行うために、特定領域内で画素値に対する水平・垂直の射影を取る。次に、Ｓ９０３において、Ｓ９０２の射影の分散を評価する。水平射影の分散が大きい場合は横書き、垂直射影の分散が大きい場合は縦書きと判断する。Ｓ９０４において、Ｓ９０３の評価結果に基づき、組み方向を判定し、行の切り出しを行い、その後文字を切り出して文字画像を得る。文字列および文字への分解は、横書きならば水平方向の射影を利用して行を切り出し、切り出された行に対する垂直方向の射影から、文字を切り出す。縦書きの文字領域に対しては、水平と垂直について逆の処理を行う。行、文字切り出しに際して、文字のサイズも検出し得る。
【００３５】
次に、Ｓ９０５において、データ処理装置１１５は、Ｓ９０４で切り出された各文字について、文字画像から得られる特徴を数十次元の数値列に変換した観測特徴ベクトルを生成する。特徴ベクトルの抽出には種々の公知手法があり、例えば、文字をメッシュ状に分割し、各メッシュ内の文字線を方向別に線素としてカウントしたメッシュ数次元ベクトルを特徴ベクトルとする方法がある。
【００３６】
Ｓ９０６において、データ処理装置１１５は、Ｓ９０５で得られた観測特徴ベクトルと、あらかじめフォントの種類ごとに求められている辞書特徴ベクトルとを比較し、観測特徴ベクトルと辞書特徴ベクトルとの距離を算出する。Ｓ９０７において、Ｓ９０６で算出された距離を評価し、最も距離の近いフォントの種類を認識結果とする。次に、Ｓ９０８において、Ｓ９０７における距離評価の最短距離が所定値よりも大きいか否か、類似度を判断する。最短距離が所定値以上の場合（類似度が低い場合）は、辞書特徴ベクトルにおいて、形状が類似する他の文字に誤認識している可能性が高い。そこで最短距離が所定値以上の場合（類似度が低い場合）は、Ｓ９０７の認識結果を採用せず、Ｓ９１１の処置に進む。類似度が所定値より小さいとき（類似度が高い場合）は、Ｓ９０７の認識結果を採用し、Ｓ９０９に進む。
【００３７】
Ｓ９０９において、データ処理装置１１５は、文字フォントの種類を認識する。文字認識の際に用いる、フォントの種類数分の辞書特徴ベクトルを、文字形状種すなわちフォント種に対して複数用意しておく。これを、パターンマッチングの際に、文字コードとともにフォント種を出力することで、文字フォントを認識し得る。次に、Ｓ９１０において、データ処理装置１１５は、文字認識およびフォント認識よって得られた文字コードおよびフォント情報を用いて、各々あらかじめ用意されたアウトラインデータを用いて、各文字をベクトルデータに変換する。なお、入力画像がカラーの場合は、カラー画像から各文字の色を抽出してベクトルデータとともに記録する。
【００３８】
一方、Ｓ９１１では、データ処理装置１１５は、文字をグラフィックと同様に扱い、該文字をアウトライン化する。すなわち誤認識を起こす可能性の高い文字については、見かけ上ビットマップに忠実なアウトラインのベクトルデータを生成する。また、Ｓ９１２では、データ処理装置１１５は、特定領域が文字領域矩形ブロックでないとき（すなわちグラフィック領域矩形ブロックのとき）、画像の輪郭に基づいてベクトル化の処理を実行する。以上の処理により、文字領域矩形ブロックおよびグラフィック領域矩形ブロックに属するイメージ情報をベクトルデータに変換出来る。
【００３９】
図１０と図１１、図１２を用いて、Ｓ９１２のグラフィック領域矩形ブロックのベクトル化処理について詳細に説明する。グラフィック領域矩形ブロックのベクトル化処理は、該領域内で抽出された黒画素塊の輪郭に基づいてベクトル化を行う。図１０は、ベクトル化の処理における角抽出の処理を示す図である。図１１は、ベクトル化の処理における輪郭線まとめの処理を示す図である。図１２は、グラフィック領域のベクトル化処理の詳細フローチャートである。
【００４０】
まず、図１２のＳ１２０１において、データ処理装置１１５は、線画等を直線および／または曲線の組み合わせとして表現するために、曲線を複数の区間（画素列）に区切る「角」を検出する。角とは、曲率が極大となる点であり、図１０に示すように、データ処理装置１１５は、曲線上の画素Ｐｉが角か否かの判断を以下のように行う。すなわち、Ｐｉを起点とし、曲線に沿ってＰｉから両方向に所定画素（ｋ個とする）ずつ離れた画素Ｐｉ−ｋ、Ｐｉ＋ｋを線分Ｌで結ぶ。画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の距離をｄ１、線分Ｌと画素Ｐｉとの距離をｄ２、曲線の画素Ｐｉ−ｋ、Ｐｉ＋ｋ間の弧の長さをＡとする。ｄ２が極大となるとき、あるいは比（ｄ１／Ａ）が閾値以下となるときに画素Ｐｉを角と判断する。角によって分割された画素列を、直線あるいは曲線で近似する。直線への近似は最小二乗法等により実行し、曲線への近似は３次スプライン関数などを用いる。画素列を分割する角の画素は近似直線あるいは近似直線における、始端または終端となる。
【００４１】
さらに、データ処理装置１１５は、ベクトル化された輪郭内に白画素塊の内輪郭が存在するか否かを判断し、内輪郭が存在するときはその輪郭をベクトル化し、内輪郭の内輪郭というように、再帰的に反転画素の内輪郭をベクトル化する。以上のように、輪郭の区分線近似を用いれば、任意形状の図形のアウトラインをベクトル化することができる。元原稿がカラーの場合は、カラー画像から図形の色を抽出してベクトルデータとともに記録する。
【００４２】
Ｓ１２０２で、データ処理装置１１５は、Ｓ１２０１で求めた輪郭線が近接している場合はそれらをまとめて太さを持った線とする処理を行う。図１１に示すように、ある注目区間で外輪郭ＰＲｊと、内輪郭ＰＲｊ＋１あるいは別の外輪郭が近接している場合、２個あるいは複数の輪郭線をひとまとめにし、太さを持った線として表現することができる。例えば、輪郭ＰＲｊ＋１の各画素Ｐｉから輪郭ＰＲｊ上で最短距離となる画素Ｑｉまでの距離ＰｉＱｉを算出し、ＰＱｉのばらつきが僅かである場合には、注目区間を画素Ｐｉ、Ｑｉの中点Ｍｉの点列に沿った直線または曲線で近似し得る。近似直線、近似曲線の太さは、例えば距離ＰｉＱｉの平均値とする。線や線の集合体である表罫線は、太さを持つ線の集合とすることにより、効率よくベクトル表現することができる。
【００４３】
Ｓ１２０３において、データ処理装置１１５は、各ベクトルデータの始点、終点を算出する。Ｓ１２０４において、Ｓ１２０３で求められた始点、終点情報を用いて、図形要素を検出する。図形要素とは、区分線が構成している閉図形であり、検出に際しては、始点、終端となっている共通の角の画素においてベクトルを連結する。すなわち、閉形状を構成する各ベクトルはその両端にそれぞれ連結するベクトルを有しているという原理を応用する。
【００４４】
Ｓ１２０５において、データ処理装置１１５は、ベクトルデータより両端に連結していない不要なベクトルを除去し、閉図形を構成するベクトルを抽出する。Ｓ１２０６において、閉図形を構成するベクトルについて、いずれかのベクトルの端点（始点または終点）を開始点とし、一定方向、例えば時計回りに、順にベクトルを探索する。すなわち、他端点において他のベクトルの端点を探索し、所定距離内の最近接端点を連結ベクトルの端点とする。閉図形を構成するベクトルを１まわりして開始点に戻ったとき、通過したベクトルを全て一つの図形要素を構成する閉図形としてグループ化する。また、閉図形内部にある閉図形構成ベクトルも全てグループ化する。さらにまだグループ化されていないベクトルの始点を開始点とし、同様の処理を繰り返す。
【００４５】
Ｓ１２０７において、データ処理装置１１５は、Ｓ１２０５で除去された不要ベクトルのうち、Ｓ１２０６で閉図形としてグループ化されたベクトルに端点が近接しているベクトルを検出し、一つの図形要素としてグループ化する。これによって、図形要素内に存在する他の図形要素、もしくは区分線をグループ化し、一つの図形オブジェクトとすることが出来る。また、図形要素内に他の図形要素、区分線が存在しない場合は図形要素を図形オブジェクトとする。以上の処理によってグラフィック領域矩形ブロックを、ベクトル化された一つのオブジェクトに変換することが出来る。
【００４６】
次に、図１３と図１４を用いて、Ｓ３０６のアプリケーション画像データ生成について詳細に説明する。図１３は、本実施例に係るベクトル化処理結果のデータ構成を示すマップである。図１４は、アプリケーション画像データ生成処理の詳細を示すフローチャートである。
【００４７】
まず、Ｓ１４０１において、Ｓ３０４のベクトル化処理で生成された中間データを取得する。本実施形態において、ＭＦＰ１００は、以下のようなドキュメント・アナリシス・アウトプット・フォーマット（以下、ＤＡＯＦ）と呼ぶ形式で中間データを記憶装置１１１に保存しているものとする。図１３に示すように、ＤＡＯＦは、ヘッダ１３０１、レイアウト記述データ部１３０２、文字認識記述データ部１３０３、表記述データ部１３０４、画像記述データ部１３０５を含む。
【００４８】
ヘッダ１３０１には、処理対象の入力画像に関する情報が保持される。レイアウト記述データ部１３０２には、入力画像中の矩形ブロックの属性である文字、グラフィック（線画、図面、表、ライン）、写真等の情報と、これら属性が認識された各矩形ブロックの位置情報が保持される。文字認識記述データ部１３０３には、文字領域矩形ブロックのうち、文字認識して得られる文字認識結果が保持される。表記述データ部１３０４には、表の属性を持つグラフィック領域矩形ブロックの表構造の詳細が格納される。画像記述データ部１３０５には、ベクトル化の処理が指示された特定領域においては、ベクトル化処理により得られたブロックの内部構造や、画像の形状や文字コード等あらわすデータの集合が保持される。一方、ベクトル化処理の対象ではない特定領域以外の矩形ブロックでは、オブジェクトに分割されたビットマップ画像データそのものが保持される。
【００４９】
次に、Ｓ１４０２において、データ処理装置１１５は、後述する文書構造ツリー生成を行う。Ｓ１４０３において、データ処理装置１１５は、文書構造ツリーを元にＤＡＯＦ内の実データを取得し、後述するアプリケーション画像データを生成する。
【００５０】
次に、図１５と図１６、図１７を用いて、Ｓ１４０２の文書構造ツリー生成について説明する。図１５は、文書構造ツリー生成の処理を示すフローチャートである。図１６は、文書構造ツリー生成処理の対象となる文書の例を示す図である。図１７は、文書構造ツリー生成の処理によって生成される文書構造ツリーを示す図である。
【００５１】
図１５に示す文書構造ツリー生成の処理における全体制御の基本ルールとして、処理の流れはミクロブロック（単一矩形ブロック）からマクロブロック（矩形ブロックの集合体）へ移行する。以後「矩形ブロック」は、ミクロブロックおよびマクロブロック両者を意味するものとする。
【００５２】
まず、Ｓ１５０１において、データ処理装置１１５は、矩形ブロック単位で、縦方向の関連性に基づいて、矩形ブロックを再グループ化する。図１５の処理は繰り返し実行されることがあるが、処理開始直後はミクロブロック単位での判定となる。ここで、関連性とは、距離が近い、ブロック幅（横方向の場合は高さ）がほぼ同一であることなどの特徴によって定義される。また、データ処理装置１１５は、ＤＡＯＦを参照し、距離、幅、高さなどの情報を抽出する。
【００５３】
例えば、図１６に示す文書では、最上部で、矩形ブロックＴ１、Ｔ２が横方向に並列されている。矩形ブロックＴ１、Ｔ２の下には横方向セパレータＳ１が存在し、横方向セパレータＳ１の下に矩形ブロックＴ３、Ｔ４、Ｔ５、Ｔ６、Ｔ７が存在する。矩形ブロックＴ３、Ｔ４、Ｔ５は、横方向セパレータＳ１下側の領域における左半部において上から下に、縦方向に配列され、矩形ブロックＴ６、Ｔ７は、横方向セパレータＳ１下側の領域における右半部において上下に配列されている。データ処理装置１１５がＳ１５０１において縦方向の関連性に基づくグルーピングの処理を実行すると、矩形ブロックＴ３、Ｔ４、Ｔ５が１個のグループ（矩形ブロック）Ｖ１にまとめられる。また、矩形ブロックＴ６、Ｔ７が１個のグループ（矩形ブロック）Ｖ２にまとめられる。グループＶ１、Ｖ２は同一階層である。
【００５４】
次に、Ｓ１５０２において、データ処理装置１１５は、縦方向のセパレータの有無をチェックする。セパレータは、ＤＡＯＦ中でライン属性を持つオブジェクトであり、明示的にブロックを分割する機能をもつ。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として左右に分割する。図１６に示す文書例では、縦方向のセパレータは存在しない。
【００５５】
次に、Ｓ１５０３において、データ処理装置１１５は、縦方向のグループ高さの合計が入力画像の高さに等しくなったか否か判断する。すなわち縦方向（例えば上から下）に処理対象の領域を移動しながら、横方向のグルーピングを行うとき、入力画像全体の処理が終了したときには、グループの高さの合計が入力画像の高さになることを利用し、処理の終了判断を行う。グルーピングが終了したときはそのまま処理終了し、グルーピングが終了していなかったときはＳ１５０４に進む。
【００５６】
次に、Ｓ１５０４において、データ処理装置１１５は、横方向の関連性に基づくグルーピングの処理を実行する。これによって、例えば図１６の矩形ブロックＴ１、Ｔ２が１個のグループ（矩形ブロック）Ｈ１にまとめられ、矩形ブロックＶ１、Ｖ２が１個のグループ（矩形ブロック）Ｈ２にまとめられる。グループＨ１、Ｈ２は同一階層となる。ここでも、処理開始直後はミクロブロック単位での判定となる。
【００５７】
次に、Ｓ１５０５において、データ処理装置１１５は、横方向のセパレータの有無をチェックする。セパレータを検出すると、処理対象の階層において、入力画像の領域を、セパレータを境界として上下に分割する。図１６に示すように、横方向のセパレータＳ１が存在する。データ処理装置１１５は、以上の処理結果を図１７に示す文書構造ツリーとして登録する。
【００５８】
図１７に示すように、入力された１ページ分のビットマップ画像データＶ０は、最上位階層にグループＨ１、Ｈ２、セパレータＳ１を有する。グループＨ１には第２階層の矩形ブロックＴ１、Ｔ２が属する。グループＨ２には、第２階層のグループＶ１、Ｖ２が属する。グループＶ１には、第３階層の矩形ブロックＴ３、Ｔ４、Ｔ５が属し、グループＶ２には、第３階層の矩形ブロックＴ６、Ｔ７が属する。本例では、Ｖ０はページを表し、Ｖ０の下位階層にあるものがオブジェクトを表す。
【００５９】
最後に、Ｓ１５０６において、データ処理装置１１５は、横方向のグループ長合計が入力画像の幅に等しくなったか否か判断する。これによって横方向のグルーピングに関する終了判断を行う。横方向のグループ長がページ幅となっている場合は、文書構造ツリー生成の処理を終了する。横方向のグループ長がページ幅となっていないときは、Ｓ１５０１に戻り、データ処理装置１１５は、再びもう一段上の階層で、縦方向の関連性チェックから繰り返す。
【００６０】
図１８は、アプリケーション画像データのフォーマットの一例を示す。本実施形態では、アプリケーション画像データのフォーマットとして、Ｓｃａｌａｂｌｅ  Ｖｅｃｔｏｒ  Ｇｒａｐｈｉｃｓ（以下、ＳＶＧ）形式を用いて説明する。
【００６１】
図１８では説明のため、各オブジェクトの表記を枠１８０１〜１８０４で囲って示している。各オブジェクトは、オブジェクトの領域を示す領域情報と、ＤＡＯＦ内の実データから取得する描画要素を持つ。また、領域情報のみで描画要素を持たないオブジェクト（例えば図１７のＨ１、Ｈ２、Ｖ１、Ｖ２など）を持つことも可能である。１８０１は写真属性を示す。写真属性には、写真オブジェクトの領域を示す領域情報と、描画要素としてビットマップ情報が示されている。１８０２は文字属性を示し、１８０３では、１８０２で示した内容をベクトル化されたオブジェクトとして示す。１８０４は、線画などのグラフィックオブジェクトを表す。複数ページのドキュメントを処理する場合、上述の動作をそれぞれのページ毎に繰り返すことで、複数ページのドキュメント全体に対して、処理を行うことができる。
【００６２】
なお、本実施例ではアプリケーション画像データをＳＶＧ形式で表記しているが、文書の意味や構造を記述・保持できる画像フォーマットであれば良く、これに限定されるものではない。
【００６３】
図１９は、本実施形態における携帯端末１０７のハードウェア構成例を示すブロック図である。携帯端末１０７は、メインボード１９００、ＬＣＤ１９０１、タッチパネル１９０２、ボタンデバイス１９０３から構成される。また、ＬＣＤ１９０１とタッチパネル１９０２をまとめてタッチＵＩ１９０４と呼ぶこととする。
【００６４】
メインボード１９００の主な構成要素は以下である。ＣＰＵ１９０５、無線ＬＡＮモジュール１９０６、電源コントローラ１９０７、ディスプレイコントローラ（ＤＩＳＰＣ）１９０８、パネルコントローラ（ＰＡＮＥＬＣ）１９０９、ＲＯＭ１９１０、ＲＡＭ１９１１、二次電池１９１２、タイマー１９１３。それぞれのモジュール１９０５〜１９１３は、バス（不図示）によって接続されている。
【００６５】
ＣＰＵ１９０５は、バスに接続される各デバイスを制御すると共に、ＲＯＭ１９１０に記憶された図２０を用いて後述するソフトウェアモジュール２０００を、ＲＡＭ１９１１に展開して実行するプロセッサである。ＲＡＭ１９１１は、ＣＰＵ１９０５のメインメモリ、ワークエリア、ＬＣＤ１９０１に表示するビデオイメージ用エリア、およびＭＦＰ１００から送信されるアプリケーション画像データの保存領域として機能する。
【００６６】
ディスプレイコントローラ（ＤＩＳＰＣ）１９０８は、ＣＰＵ１９０５の要求に応じて、ＲＡＭ１９１１に展開されたビデオイメージ出力を高速に切り替えるとともに、ＬＣＤ１９０１に同期信号を出力する。結果として、ＲＡＭ１９１１のビデオイメージが、ＤＩＳＰＣ１９０８の同期信号に同期してＬＣＤ１９０１に出力され、ＬＣＤ１９０１上にイメージが表示される。
【００６７】
パネルコントローラ（ＰＡＮＥＬＣ）１９０９は、ＣＰＵ１９０５の要求に応じて、タッチパネル１９０２およびボタンデバイス１９０３を制御する。その制御によって、タッチパネル１９０２上の指又はスタイラスペンなどの指示物の押下位置や、ボタンデバイス１９０３上の押下されたキーコードなどが、ＣＰＵ１９０５に通知される。押下位置情報は、タッチパネル１９０２の横方向の絶対位置を示す座標値（以下ｘ座標）と、縦方向の絶対位置を示す座標値（以下ｙ座標）から成る。タッチパネル１９０２は複数ポイントの押下を検知することが可能で、その場合ＣＰＵ１９０５には押下点数分の押下位置情報が通知される。
【００６８】
電源コントローラ１９０７は、外部電源（不図示）と接続され電力の供給を受ける。これによって、電源コントローラ１９０７に接続された二次電池１９１２を充電しながら、且つ、携帯端末１０７全体に電力を供給する。外部電源から電力が供給されないときは、二次電池１９１２が携帯端末１０７全体に電力を供給する。
【００６９】
無線ＬＡＮモジュール１９０６は、ＣＰＵ１９０５の制御に基づいて、ＬＡＮ１０２に接続された無線アクセスポイント（不図示）上の無線ＬＡＮモジュールとの無線通信を確立し、携帯端末１０７とＭＦＰ１００など図１に示す各装置との通信を仲介する。無線ＬＡＮモジュール１９０６には、例えばＩＥＥＥ８０２．１１ｂなどがある。
【００７０】
タイマー１９１３は、ＣＰＵ１９０５の制御に基づいて、図２０に示すジェスチャイベント発生部２００１へのタイマー割込を発生させる。ジェスチャイベント発生部２００１については後述する。また、携帯端末１０７には不図示の地磁気センサや加速度センサがバスに接続されている。タイマー１９１３は、ＣＰＵ１９０５の制御に基づいて、携帯端末１０７の傾きを検知し、携帯端末１０７が所定以上の傾きを得ると、携帯端末１０７の向きを変更し、描画部２００３にＬＣＤ１９０１への描画の指示を送る。ＣＰＵ１９０５は、携帯端末１０７の向きが変更されるとき、ＬＣＤ１９０１の幅および高さを入れ替えて、以降の処理を行う。
【００７１】
図２０は、携帯端末１０７のＣＰＵ１９０５で実行処理されるソフトウェアモジュール２０００の構成を示すブロック図である。ソフトウェアモジュール２０００を構成する各モジュールについて説明する。図２０に示すように、ソフトウェアモジュール２０００は、ジェスチャイベント発生部２００１、ジェスチャイベント処理部、描画部２００３を備える。
【００７２】
ジェスチャイベント発生部２００１は、ユーザのタッチ入力（画面上の操作）を受けて、後述する各種ジェスチャイベントを発生させる。ジェスチャイベント発生部２００１は、発生したジェスチャイベントを、ジェスチャイベント処理部２００２へ送信する。ジェスチャイベント処理部２００２は、ジェスチャイベント発生部２００１で発生したジェスチャイベントを受信して、各ジェスチャイベントと、アプリケーション画像データに記述された文書構造に応じた処理を実行する。描画部２００３は、ジェスチャイベント処理部２００２の実行結果に応じて、ＭＦＰ１００から送信されるアプリケーション画像データをＬＣＤ１９０１へ描画・表示する。アプリケーション画像データの表示の方法については後述する。
【００７３】
図２１は、ジェスチャイベント発生部２００１が発生させるジェスチャイベント名の一覧と、ジェスチャイベント発生部２００１がジェスチャイベント処理部２２００へ送信する各イベントの情報を示す。
【００７４】
図２１（Ａ）は、タッチ押下イベントであり、最新のタッチ座標の座標値とタッチ座標数が送信される。タッチ座標とは、タッチパネル１９０２にユーザの指が触れている１点の座標のことで、ｘ座標とｙ座標で表される１組の座標値を持つ。また、タッチ座標数とは、タッチパネル１９０２にユーザの指が接触したタッチ座標の数を示している。なお、タッチ座標は、タッチパネル１９０２へユーザの指が触れたとき、指が移動したとき、指が離れたとき、タイマー１９１３からの割り込みが発生したときに更新される。
【００７５】
図２１（Ｂ）は、スワイプイベントであり、最新のタッチ座標の座標値と、最新と直前の座標値の差分から計算した移動距離がジェスチャイベント処理部２２００に送信される。ここで、スワイプとは、指先をタッチパネル１９０２に接触させたまま、１方向に移動（滑らすような）動作のことをいう。
【００７６】
図２１（Ｃ）は、ピンチインイベントであり、最新の２点のタッチ座標の中心座標値、及び、２点のタッチ座標を結ぶ直線の縮小距離から計算したピンチインの縮小率がジェスチャイベント処理部２２００に送信される。ここで、ピンチインとは、２つの指先をタッチパネル１９０２に接触させたまま、互いに近づける（つまむような）動作のことをいう。
【００７７】
図２１（Ｄ）は、ピンチアウトイベントであり、最新の２点のタッチ座標の中心座標値、及び、２点のタッチ座標を結ぶ直線の拡大距離から計算したピンチアウトの拡大率がジェスチャイベント処理部２２００に送信される。ここで、ピンチアウトとは、２つの指先をタッチパネル１９０２に接触させたまま、互いに遠ざける（指を広げるような）動作のことをいう。
【００７８】
図２１（Ｅ）は、２点スワイプイベントであり、最新の２点のタッチ座標の座標値、及び、２点のタッチ座標の最新と直前の座標値の差分から計算した移動距離がジェスチャイベント処理部２２００に送信される。２点スワイプイベントは、２点のタッチ座標が同じ方向に移動している場合に発生する。
【００７９】
図２１（Ｆ）は、ローテートイベントであり、最新の２点のタッチ座標の座標値から計算した回転の中心座標値、及び、２点のタッチ座標の最新と直前の座標値から計算した回転角度がジェスチャイベント処理部２２００に送信される。ここで、ローテートとは、２つの指先をタッチパネル１９０２に接触させたまま、２つの指先をタッチパネル１９０２に対して回転させる動作のことを言う。
【００８０】
図２１（Ｇ）は、フリックイベントであり、最新のタッチ座標の座標値、及び、最新と直前の座標値から計算した指の移動速度がジェスチャイベント処理部２２００に送信される。ここで、フリックとは、スワイプ中に指を離す（指をはじくような）動作のことをいう。
【００８１】
図２１（Ｈ）は、タッチ解除イベントであり、タッチパネル１９０２からユーザの指が離れたときの最新のタッチ座標の座標値、及び、座標数がジェスチャイベント処理部２２００に送信される。
【００８２】
図２１（Ｉ）は、ダブルタップイベントであり、最新のタッチ座標の座標値がジェスチャイベント処理部２２００に送信される。ここで、ダブルタップとは、所定の時間内に後述のシングルタップイベントが２回発生したことを言う。
【００８３】
図２１（Ｊ）は、シングルタップイベントであり、最新のタッチ座標の座標値がジェスチャイベント処理部２２００に送信される。ここで、シングルタップとは、前述のタッチ押下イベントの後、所定の時間内にタッチ解除イベントが発生したことを言う。
【００８４】
図２１（Ｋ）は、ロングタップイベントであり、最新のタッチ座標の座標値がジェスチャイベント処理部２２００に送信される。ここで、ロングタップとは、前述のタッチ押下イベントの後、所定の時間以上経過してからタッチ解除イベントが発生したことを言う。
【００８５】
図２１（Ｌ）は、タッチアンドホールドイベントであり、最新のタッチ座標の座標値がジェスチャイベント処理部２２００に送信される。ここで、タッチアンドホールドイベントとは、タッチパネル１９０２にユーザの指が触れてから一度も移動することなく所定の時間以上経過したことを言う。
【００８６】
図２１（Ｍ）は、トリプルタップイベントであり、最新のタッチ座料の座標値が、送信される。ここでトリプルタッチイベントとは、所定の時間内に後述のシングルタップイベントが３回発生したことを言う。
【００８７】
図２１（Ｎ）は、４点スワイプイベントであり、イベント発生座標値と、スワイプの移動距離情報が送付される。ここで、４点スワイプとは、４本の指先をタッチパネル１９０２に接触させたまま、１方向に移動（滑らすような）動作のことをいう。
【００８８】
なお、ここでは、ユーザのタッチ入力の例として指を使った場合を示すが、タッチ入力はスタイラスペンなどによる入力でも良い。
【００８９】
次に、図２２と図２３を用いて、本実施形態において、携帯端末１０７がアプリケーション画像データ受信した際の処理について説明する。図２２は、携帯端末１０７がアプリケーション画像データを受信した際のフローチャートである。図２３は、携帯端末１０７のタッチＵＩ１９０４の画面表示例である。
【００９０】
まず、Ｓ２２００において、携帯端末１０７は、無線ＬＡＮモジュール１９０６を介してＭＦＰ１００からアプリケーション画像データを受信すると、ＲＡＭ１９１１に受信したアプリケーション画像データを保存する。次に、Ｓ２２０１において、描画部２００３は、ＲＡＭ１９１１に保存したアプリケーション画像データの構文を解析し、先頭ページと、それに含まれるオブジェクトを読み込む。
【００９１】
次に、Ｓ２２０２において、描画部２００３は読み込んだ先頭ページに含まれる背景、文字、写真、グラフィックの全てのオブジェクトを、オブジェクトの始点の座標と幅、高さに応じてレンダリングしてタッチＵＩ１９０４の表示状態を更新する。このとき、先頭ページは、図２３のページ２３００に示すように、タッチＵＩ１９０４の幅に合わせて表示倍率が制御される。また、表示倍率に縮小したときのページの高さがタッチＵＩ１９０４よりも小さい場合は、タッチＵＩ１９０４の中央に適合され表示されるように、タッチＵＩ１９０４上の座標において、ページ２３００の始点が制御される。また、表示倍率に縮小したときのページ２３００の高さがタッチＵＩ１９０４よりも大きい場合は、タッチＵＩ１９０４上の座標において、ページ２３００の始点がタッチＵＩ１９０４の始点（例えば画面の左上）に合うように制御される。このように、タッチＵＩ１９０４においてページ全体を表示する表示制御方法を、本実施例ではページ表示モードを呼ぶこととする。
【００９２】
なお、本実施形態のアプリケーション画像データに含まれる文字オブジェクトは、図１８の文字属性１８０２に示した通り、ベクトルデータと共に文字コードデータ１８０３を保持している。描画部２００３は、ページ内に文字オブジェクトがある場合、ページ２３００のレンダリングにベクトルデータのみを用い、一方で、後述する文字折り返し画像のレンダリングに文字コードデータを用いる。
【００９３】
次に、図２３と図２４を用いて、携帯端末１０７のアプリケーション画像データの操作制御を行うソフトウェアモジュールについて説明する。図２４は、ジェスチャイベント処理部２００２が備える、アプリケーション画像データの操作制御に係わるソフトウェアモジュールの構成を示すブロック図である。ジェスチャイベント処理部２００２は、表示変更イベント処理部２４００、スワイプイベント処理部２４０１、拡大・縮小イベント処理部２４０５、オブジェクト選択処理部２４０７、関心領域イベント処理部２０８を備える。
【００９４】
ジェスチャイベント処理部２００２は、ジェスチャイベント発生部２００１から、図２１に示すいずれかのジェスチャイベントを受信する。表示変更イベント処理部２４００は、ジェスチャイベント処理部２００２が受信するジェスチャイベントの内、シングルタップイベント（図２１（Ｊ））に対する処理を行う。表示変更イベント処理部２４００は、シングルタップイベントを受信すると、シングルタップイベントのタッチ座標の座標値が、図２３のモード切替ボタン２３０１、次へボタン２３０２、前へボタン２３０３の何れかの上にあるかを判定する。そして、シングルタップイベントのタッチ座標が「モード切替ボタン」２３０１上である場合は、表示変更イベント処理部２４００は、後述するモード切替処理を行う。また、タッチ座標が「次へボタン」２３０２上である場合は、表示変更イベント処理部２４００は、後述する「次選択処理」（次へボタン選択処理）を行う。タッチ座標が「前へボタン」２３０３上である場合は、表示変更イベント処理部２４００は、後述する「前選択処理」（前へボタン選択処理）を行う。表示変更イベント処理部２４００が備える表示順番制御部２４０２と表示範囲制御部２４０３が、「次選択処理」と「前選択処理」を行う。
【００９５】
スワイプイベント処理部２４０１は、図２１（Ｂ）のスワイプイベントに対する処理を行う。ジェスチャイベント処理部２００２がスワイプイベントを受信すると、スワイプイベント情報が含む移動距離に応じて、タッチＵＩ１９０４上の座標において、ページ２３００の始点を移動させる。そして、その上でタッチＵＩ１９０４の表示状態を更新する。また、スワイプイベント処理部２４０１が備える移動範囲制限部２４０４が、図３０を用いて後述する移動範囲制限処理を行って、タッチＵＩ１９０４に表示される部分領域の移動範囲を制限する。
【００９６】
拡大・縮小イベント処理部２４０５は、図２１（Ｃ）のピンチインイベントと、図２１（Ｄ）のピンチアウトイベントに対する処理を行う。ジェスチャイベント処理部２００２は、ピンチインイベントやピンチアウトイベントを受信すると、二つのイベントの縮小率もしくは拡大率に応じてページ２３００の表示倍率を変化させる。そして、拡大・縮小イベント処理部２４０５は、その上でタッチＵＩ１９０４の表示状態を更新する。また、拡大・縮小イベント処理部２４０５が備える縮小時表示モード切替部２４０６が図３１のフローチャートを用いて後述する縮小時表示モード切替処理を行う。
【００９７】
オブジェクト選択処理部２４０７は、図２１（Ｉ）のダブルタップイベントに対する処理を行う。ジェスチャイベント処理部２００２がダブルタップイベントを受信すると、ダブルタップイベントのタッチ座標の座標値を用いて、図３２を参照して後述するオブジェクト選択処理を行う。なお、オブジェクト選択処理は、ページ表示モードでのみ動作するようオブジェクト選択処理部２４０７によって制御される。
【００９８】
また、関心領域イベント処理部２４０８は、図２１（Ｌ）のタッチアンドホールドイベントに対する処理を行う。ジェスチャイベント処理部２００２は、タッチＵＩ１９０４がタッチアンドホールドされることによって、ジェスチャイベント発生部２００１からタッチアンドホールドイベントを受信する。この時、タッチアンドホールドイベントのタッチ座標の座標値を用いて、表示されたページの表示領域を除く領域にあるオブジェクトを判定し、該オブジェクトに関する情報を、修飾オブジェクト登録部２４１０に、修飾オブジェクトとして登録する。なお、修飾オブジェクトとして登録する際の修飾オブジェクト登録処理は、ページ表示モードのみで動作するように、オブジェクト選択イベント処理部２４０７によって制御される。修飾オブジェクト登録処理の詳細は、後述する。
【００９９】
また、関心領域イベント処理部２４０８は、図２１（Ｎ）の４点スワイプイベントに対する処理を行い。タッチＵＩ１９０４に４点スワイプされることにより、ジェスチャイベント処理部２００２がジェスチャイベント発生部２００３より、４点スワイプイベントを受信する。４点スワイプイベントを受け取ると、関心領域イベント処理部２４０８は、関心領域表示モードに切り替える処理を行い、この処理については、後述する。ここで、関心領域表示モードとは、修飾オブジェクト以外を表示するためのモードである。尚、新規に文書を読み込んだ時には関心領域表示モードはリセットされる。関心領域表示モードは携帯情報端末１０７のモード情報として保持される。
【０１００】
次に、図２３と図２５、図２６を用いて、表示変更イベント処理部２４００が行うモード切替処理について説明する。図２５は、モード切替処理のフローチャートである。図２３または図２６（Ｂ）に示す表示モード切替項目であるモード切替ボタン２３０１がユーザによりタップ指示されるのに応じて処理が実行される。図２６は、携帯端末１０７のタッチＵＩ１９０４の画面表示例である。
【０１０１】
まず、Ｓ２５００において、表示変更イベント処理部２４００は、モード切替ボタンが指示されたと判定すると、携帯端末１０７に設定中の表示モードを取得する。ここで、表示モードとは、携帯端末１０７がアプリケーション画像データをタッチＵＩ１９０４に表示する方法を示し、本実施形態では、携帯端末１０７は、一例として次の３つの表示モードを有するものとする。第一に、図２３に示すようにページ全体を表示するのに適したページ表示モードである。第二に、図２６に示すようにページ内の一部の領域（すなわちページ画像内の各オブジェクト）を拡大表示するのに適した部分領域表示モードである。すなわち、部分領域表示モードは、ページ画像内の各オブジェクトを拡大表示する第１の表示モードである。前述した通り、アプリケーション画像データを携帯端末１０７が受信した直後は、ページ表示モードが設定されている。部分領域表示モードは、図２６に示す通り、ページ２３００内の各オブジェクトが大きく表示されるようにページ２３００の表示倍率と始点を制御する表示モードである。
【０１０２】
表示イベント処理部が、図２６に示す文字オブジェクト２６０１をユーザがシングルタップした際にＳ２５００において、表示モードを切り替えてもよい。あるいは、図２３のモード切替ボタン２３０１がユーザにより押下されて図２６（Ａ）に示す画面を表示し、ユーザに拡大対象のオブジェクトを選択させる構成としてもよい。文字オブジェクト２６０１を拡大表示対象のオブジェクトとしてユーザが選択した場合、図２６（Ｂ）に示す画像が表示される。
【０１０３】
なお、図２６（Ａ）のオブジェクト２６０１を囲む破線は、説明をわかり易くするために描いたもので、ページ２３００上には存在しない。また、本実施例では、図２６（Ｂ）に示すように、拡大表示対象のオブジェクト２６０１の領域が透明で且つそれ以外の領域が、斜線で示す半透明グレーの半透明マスク２６００を、ページ２３００の上に重ねて表示する。このようにコントラストを付して表示することで、対象のオブジェクトだけが見やすくなるという効果が得られる。つまり、半透明マスクを重ねて表示することにより、対象のオブジェクト以外が暗く表示されるので、対象のオブジェクトが強調表示され、ユーザは表示対象になっているオブジェクトの領域を特定しやすくなる。
【０１０４】
表示変更イベント処理部２４００は、モード切替ボタン２３０１が指示されたときに設定中の表示モードが、部分領域表示モードまたは折り返し表示モードである場合にはＳ２５０１に移行し、ページ表示モードである場合にはＳ２５０４に移行する。
【０１０５】
Ｓ２５０１において、表示変更イベント処理部２４００は、図２６の半透明マスク２６００を非表示設定（半透明マスクＯＦＦ）にして、ページ画像全体を表示するページ表示モードへの切り替えを行う。Ｓ２５０２において、表示変更イベント処理部２４００は、タッチＵＩ１９０４の幅に合わせてページ２３００の表示倍率を制御すると共に、ページ２３００の始点を制御して、ページの表示範囲を決定する処理（表示範囲決定処理）を行う。Ｓ２５０２で行われる表示範囲決定処理の詳細は、後述する。次に、Ｓ２５０３において、表示変更イベント処理部２４００は、当該決定されたページの表示範囲に基づいて、タッチＵＩ１９０４の表示状態を更新する。
【０１０６】
また、モード切替ボタン２３０１が指示されたときに設定中の表示モードがページ表示モードであった場合には、Ｓ２５０４において、表示変更イベント処理部２４００は、表示モードを部分領域表示モードへ切り替る。そして、表示変更イベント処理部２４００は、半透明マスク２６００を表示する設定（半透明マスクＯＮ）に変更する。
【０１０７】
次に、Ｓ２５０５において、表示変更イベント処理部２４００は、ページ２３００内の先頭オブジェクトを読み込み、先頭オブジェクトの始点と幅、高さを取得する。ここで、先頭オブジェクトとは、アプリケーション画像データの文書構造ツリーにおいて、最初に読み込まれるオブジェクトである。
【０１０８】
次にＳ２５０６にて、表示変更イベント処理部２４００は、オブジェクトが終了かどうかを判定する。オブジェクトが終了していると判定された場合、Ｓ２５０１に進む。終了していないと判定された場合、Ｓ２５０７にて、表示変更イベント処理部２４００は、関心領域表示モードか否かを判定する。
【０１０９】
関心領域表示モードであると判定された場合は、Ｓ２５０８に移行する。Ｓ２５０８では、後述の図４４に示すフローにて、読み込まれたオブジェクトが、修飾オブジェクトと同等か否かを判定する。修飾オブジェクトと同等であると判定された場合、読み込まれているオブジェクトは表示せず、Ｓ２５０９にて次のオブジェクトを読み込み、Ｓ２５０６に戻って再び処理を実行する。
【０１１０】
一方、Ｓ２５０７で関心領域表示モードでないと判断した場合、およびＳ２５０８で修飾オブジェクトと同等では無いと判断された場合、Ｓ２５１０にて部分領域表示範囲決定処理を実行する。表示変更イベント処理部２４００内の表示範囲制御部２４０３は、Ｓ２５１０において、後述する部分領域表示範囲決定処理を行った後、Ｓ２５０３で、当該決定された表示範囲に基づいてタッチＵＩ１９０４の表示状態を更新する。なお、Ｓ２５１０の部分領域表示範囲決定処理では、Ｓ２５０５またはＳ２５０９で読み込んだオブジェクトの属性に応じて、ページの表示倍率や始点を制御し、タッチＵＩ１９０４に表示する部分領域の表示範囲を決定する。部分領域表示範囲決定処理の詳細は後述する。また、このとき表示対象となっているオブジェクトの部分領域以外の領域にはグレーの半透明マスクがかけられるので、ユーザは、表示対象となっているオブジェクトを識別しやすくなる。
【０１１１】
次に、図２５のＳ２５１０において表示範囲制御部２４０３が行う部分領域表示範囲決定処理の詳細について、図２７のフローチャートを用いて説明する。まず、Ｓ２７００において、表示範囲制御部２４０３は、読み込んだオブジェクトの属性を判定する。属性が文字の場合はＳ２７０１に進み、属性が表である場合はＳ２７１１に進み、それ以外の属性である場合はＳ２７１２に進む。
【０１１２】
Ｓ２７０１において、表示範囲制御部２４０３は、文字属性である当該表示対象のオブジェクトが、箇条書きであるかを判定する。ここでいう箇条書きのオブジェクトとは、各文字列もしくは行の先頭に点や数字といった行頭文字が存在するオブジェクトを指すものとする。なお、行頭文字は、ＯＣＲ結果から取得することができる。オブジェクトが箇条書きでなく、通常の文字列であった場合にはＳ２７０２に進み、箇条書きであった場合にはＳ２７１２に進む。
【０１１３】
Ｓ２７０２において、表示範囲制御部２４０３は、オブジェクトの文字の組み方向を取得する。オブジェクトの組み方向は、Ｓ５０４のベクトル化の過程で得られている。Ｓ２７０３において、表示範囲制御部２４０３は、文字の組み方向を判定し、組み方向が縦書きである場合にはＳ２７０４に進み、横書きである場合にはＳ２７０５に進む。文字の組み方向が縦書きの場合、Ｓ２７０４において、表示範囲制御部２４０３は、当該オブジェクトの高さがタッチＵＩ１９０４の画面の高さに入るようにページの表示倍率を設定する。また、文字の組み方向が横書きの場合、Ｓ２７０５において、表示範囲制御部２４０３は、当該オブジェクトの幅がタッチＵＩ１９０４の画面の幅に入るようにページの表示倍率を設定する。
【０１１４】
次に、Ｓ２７０６において、Ｓ２７０４またはＳ２７０５で設定した表示倍率に拡縮したオブジェクトの全体がタッチＵＩ１９０４に表示できるかを判断する。オブジェクト全体がタッチＵＩ１９０４よりも大きく、全体を表示できない場合にはＳ２７０７に進み、一方、オブジェクト全体がタッチＵＩ１９０４よりも小さく、全体を表示できる場合にはＳ２７１０に進む。
【０１１５】
Ｓ２７０７において、表示範囲制御部２４０３は、当該オブジェクトにおける文字の組み方向を判定し、縦書きであると判定した場合はＳ２７０８に進み、横書きであると判定した場合はＳ２７０９に進む。
【０１１６】
Ｓ２７０８において、表示範囲制御部２４０３は、オブジェクト全体がタッチＵＩ１９０４に表示できない縦書きの文字領域を表示するので、当該オブジェクトの右上端がタッチＵＩ１９０４の右上端に合うように、ページ２３００の始点位置を設定する。すなわち、縦書きの場合の先頭行が表示されるように表示位置を設定する。
【０１１７】
Ｓ２７０９において、表示範囲制御部２４０３は、オブジェクト全体がタッチＵＩ１９０４に表示できない横書きの文字領域を表示するので、当該オブジェクトの左上端がタッチＵＩ１９０４の左上端に合うように、ページの始点を設定する。すなわち、横書きの場合の先頭行が表示されるように表示位置を設定する。
【０１１８】
また、Ｓ２７１０において、オブジェクト全体がタッチＵＩ１９０４の画面内に収まるので、表示範囲制御部２４０３は、当該オブジェクトの中央がタッチＵＩ１９０４の中央に合うようにページ２３００の始点を設定する。
【０１１９】
なお、Ｓ２７００でオブジェクトの属性が表であると判定した場合には、Ｓ２７１１において、表示範囲制御部２４０３は、表のヘッダ位置を検出する。ヘッダの位置は、例えば、先頭行（一番上の行）と先頭列（一番左の列）の文字のフォント種がボールドであるか否かや、ベクトル化した際のベクトルデータの近似曲線の太さ、表罫線の太さ、表の各セルの背景色などによって判断することができる。Ｓ２７１１で検出した表のヘッダ位置が先頭行である場合には、Ｓ２７０３からＳ２７０５に進む。また、表のヘッダ位置が先頭列である場合には、Ｓ２７０３からＳ２７０４に進む。また、Ｓ２７０７では、表のヘッダは一番上の行か一番左の列に存在することが一般的であるため、Ｓ２７０９に進み、オブジェクトの左上端がタッチＵＩの左上端に合うようにページの始点を設定する。このようにすることで、表のヘッダが表示されるように表示位置が設定されることになる。すなわち、上述の処理において表示範囲制御部２４０３は設定手段として機能し、オブジェクト属性が文字または表の場合に、文字の組み方向の範囲が画面内に入るように表示倍率と先頭オブジェクトの表示位置とを設定する。
【０１２０】
また、Ｓ２７００でオブジェクトの属性がその他の属性（文字・表以外の属性）と判定された場合、または、Ｓ２７０１で箇条書きであると判断された場合、Ｓ２７１２において、表示範囲制御部２４０３は、以下の処理を行う。すなわち、表示範囲制御部２４０３は、当該オブジェクト全体がタッチＵＩ１９０４に入るように、ページの表示倍率を設定する。そして、Ｓ２７１０において、オブジェクトの中央がタッチＵＩ１９０４の中央に合うようにページ２３００の始点を設定する。
【０１２１】
「次へボタン」２３０２がユーザによりタップ（指定）されたときに実行される「次選択処理（次へボタン選択処理）」について、図２８のフローチャートを用いて説明する。
【０１２２】
Ｓ２８００において、表示変更イベント処理部２４００は、次処理項目である「次へボタン」２３０２がタップされたときに携帯端末１０７に設定されている表示モードを取得する。取得した表示モードが部分領域表示モードである場合には、Ｓ２８０１に進み、ページ表示モードである場合にはＳ２８０５に進む。
【０１２３】
Ｓ２８０１において、表示順番制御部２４０２は、現在読み込んでいるページの全オブジェクトから、文書構造ツリーに基づいて次に表示すべきオブジェクトを選択し、そのオブジェクトを読み込む。本実施形態において、文書ツリー構造上の表示順番は、文書ツリー構造において、先頭の上位階層のオブジェクト、そのオブジェクトの下位階層に属するオブジェクトの順とする。更に、その下位階層のオブジェクトの表示が全て終わった後、次の上位階層のオブジェクト、その下位階層のオブジェクト、というような順番であるとする。
【０１２４】
例えば、図１７において、Ｖ０はページを表し、最初に読み込まれるオブジェクトはＨ１である。Ｈ１のオブジェクトが部分領域表示モードでタッチＵＩ１９０４に表示されている状態で、「次選択処理」が行われると、Ｈ１は下位階層を持つため、Ｔ１のオブジェクトが読み込まれる。さらに、Ｔ１のオブジェクトが表示されている状態で「次選択処理」が行われると、Ｔ１は下位階層を持たず、同階層にＴ２が存在するため、Ｔ２が読み込まれる。Ｔ２のオブジェクトが表示されている状態で「次選択処理」が行われると、Ｔ２は下位階層を持たず、同階層に次のオブジェクトは存在しないため、次の上位階層のＳ１が読み込まれる。なお、本実施例において、描画要素を持たないＨ１を選択して読み込むとしているが、描画要素を持つＴ１やＴ２だけを選択するようにしても良いことは言うまでもない。また、例えば、文字属性のオブジェクトのみなど、特定の属性を持つオブジェクトのみを選択したり、特定の属性のみを除外して選択することも可能である。さらに、Ｈ１やＶ１といったそれ単体では描画要素を持たず、下位下層に描画要素を持つオブジェクトのみを選択することも可能である。
【０１２５】
Ｓ２８０２において、表示順番制御部２４０２は、Ｓ２８０１で次のオブジェクトを読み込めたか否かを判定する。Ｓ２８０１で次のオブジェクトが読み込めた場合（選択可能なオブジェクトがあった場合）は、Ｓ２８０９に進み、関心領域表示モードか否かを判定する。Ｓ２８０９で関心領域表示モードであると判定された場合、Ｓ２８１０に進み、当該読み込んだオブジェクトが修飾オブジェクトか否かが判定される。Ｓ２８１０で修飾オブジェクトであると判定された場合、Ｓ２８０１に戻り、再び同じ処理を実行する。なお、修飾オブジェクトか否かを判定する処理は、後述する。
【０１２６】
一方、Ｓ２８０９で関心領域表示モードでないと判定された場合、およびＳ２８１０で当該オブジェクトが修飾オブジェクトでないと判定された場合、読み込んだオブジェクトを表示対象としてステップＳ２５１０に進む。なお、ステップＳ２５１０の部分領域表示範囲決定処理は、既に説明したので、ここでの説明を省略する。そして、ステップＳ２８０３において、当該読み込まれたオブジェクトの属性および始点と幅、高さに基づいて制御されたページの表示倍率と始点を用いて、タッチＵＩ１９０４の表示状態を更新する。
【０１２７】
一方、Ｓ２８０１で次のオブジェクトが読み込めなかった場合（次に選択可能なオブジェクトが無かった場合）は、既にページ内の最終オブジェクトが読み込まれている状態である。従って、表示順番制御部２４０２は、Ｓ２８０２で全てのオブジェクトの表示処理が終了したと判断し、Ｓ２８０４に進む。Ｓ２８０４において、表示順番制御部２４０２は、部分領域表示モードを終了して半透明マスク２６００を非表示にして、ページ表示モードへと切り替える。
【０１２８】
Ｓ２８０５において、表示モードがページ表示モードであるので、ＲＡＭ１９１１に保存したアプリケーション画像データの構文を解析し、次のページと、それに含まれるオブジェクトを読み込む。
【０１２９】
Ｓ２８０６において、表示順番制御部２４０２は、Ｓ２８０５で次のページが読み込めた場合はＳ２８０７に進む。一方、既にＲＡＭ１９１１に保存したアプリケーション画像データの最終ページが読み込まれている状態であり、Ｓ２８０５で次に読み込み可能なページが無かった場合は、Ｓ２８０８に進む。Ｓ２８０８では、ＲＡＭ１９１１に保存したアプリケーション画像データの構文を解析し、先頭ページと、それに含まれるオブジェクトを読み込む。
【０１３０】
次に、Ｓ２８０７において、表示範囲制御部２４０３は、Ｓ２５０２で行われる表示範囲決定処理（詳細は後述）により、タッチＵＩ１９０４の幅に合わせてページの表示倍率を制御すると共に、ページの始点を制御して、ページの表示範囲を決定する。Ｓ２８０３では、表示範囲制御部２４０３は、当該決定されたページ表示範囲に基づいてタッチＵＩ１９０４の表示状態を更新する。以上により、ユーザに対して、修飾オブジェクトと判定したオブジェクトを表示することなく、関心をもっている領域のみを表示することが可能となる。
【０１３１】
次に、「前へボタン」２３０３がユーザによりタップ（指定）されたときに実行される「前選択処理（前へボタン選択処理）」について、図２９のフローチャートを用いて説明する。前選択処理は、次選択処理とほぼ同じ構成であるため、ここでは処理が異なるＳ２９００とＳ２９０１、Ｓ２９０２についてのみ説明する。
【０１３２】
現在の表示モードが部分領域モードの場合、Ｓ２９００において、表示順番制御部２４０２は、現在読み込んでいるページの全オブジェクトから文書構造ツリーに基づいて次に表示すべきオブジェクトを選択し、そのオブジェクトを読み込む。本実施例において、「前へボタン」が指定されたときの文書ツリー構造上の表示順番は、文書ツリー構造において末尾の下位階層のオブジェクト、そのオブジェクトの上位階層のオブジェクトというように、下位階層から上位階層への順番であるとする。すなわち、下位階層のオブジェクトの表示が全て終わった後、その上位階層における他のオブジェクトの表示へと移るものとする。
【０１３３】
例えば、図１７において、最初に読み込まれるオブジェクトは末尾の下位階層オブジェクトであるＴ７である。部分領域表示モードで、Ｔ７のオブジェクトがタッチＵＩ１９０４に表示されている状態で、前処理項目である「前へボタン」が押下されると、同じ階層にＴ６が存在するため、Ｔ６のオブジェクトが読み込まれる。さらに、Ｔ６のオブジェクトが表示されている状態で「前選択処理」が行われると、同じ階層にその他のオブジェクトが存在しないため、その上位階層であるＶ２が読み込まれる。Ｖ２のオブジェクトが表示されている状態で「前選択処理」が行われると、Ｖ２は同じ階層にＶ１を持ち、更にＶ１は下位階層にオブジェクトを持つため、Ｖ１の下位階層の末尾にあるＴ５のオブジェクトが読み込まれる。
【０１３４】
なお、「前選択処理」においても、「次選択処理」と同様に、描画要素を持つオブジェクトだけを選択するようにしても良く、また、特定の属性を持つオブジェクトのみを選択したり、特定の属性のみを除外して選択することも可能である。さらに、Ｈ１やＶ１といったそれ単体では描画要素を持たず、下位下層に描画要素を持つオブジェクトのみを選択することも可能である。
【０１３５】
Ｓ２９０１において、表示モードがページ表示モードであるので、ＲＡＭ１９１１に保存したアプリケーション画像データの構文を解析し、前のページと、それに含まれるオブジェクトを読み込む。Ｓ２８０６において、既にＲＡＭ１９１１に保存したアプリケーション画像データの先頭ページが読み込まれている状態である。Ｓ２９０１で次に読み込み可能なページが無かった場合は、Ｓ２９０２において、ＲＡＭ１９１１に保存したアプリケーション画像データの構文を解析し、最終ページと、それに含まれるオブジェクトを読み込む。
【０１３６】
次に、スワイプイベント処理部２４０１の移動範囲制限部２４０４が行う移動範囲制限処理について、図３０のフローチャートを用いて説明する。Ｓ３０００において、移動範囲制限部２４０４は、スワイプ操作が行われたときの携帯端末１０７に設定されている表示モードを取得して、現在の表示モードを判定する。移動範囲制限部２４０４は、表示モードが部分領域表示モードである場合にはＳ３００１に処理を進め、ページ表示モードである場合には何も行わずに処理を終了する。
【０１３７】
Ｓ３０００で表示モードが部分領域表示モードであると判定した場合には、Ｓ３００１に処理が進む。Ｓ３００１において、移動範囲制限部２４０４は、現在のページの表示倍率で表示したときの現在読み込まれているオブジェクトの幅が、タッチＵＩ１９０４の画面の幅より大きいか否かを判定する。このとき、該オブジェクトの幅がタッチＵＩの画面幅よりも大きい場合には、Ｓ３００２に進み、そうでない場合には、Ｓ３００４に進む。
【０１３８】
Ｓ３００２において、スワイプイベント処理部２４０１がスワイプイベントの移動距離に応じてオブジェクトを含むページの表示位置を移動した際に、移動範囲制限部２４０４は、以下の判定を行う。つまり、移動範囲制限部２４０４は、オブジェクトの左右端のどちらか一端がタッチＵＩ１９０４の画面内に移動したかを判定する。その結果、オブジェクトの左端または右端がタッチＵＩの画面内にあると判定した場合には、Ｓ３００３に進み、そうでない場合には、Ｓ３００６に進む。
【０１３９】
Ｓ３００３において、移動範囲制限部２４０４は、画面内に移動された該オブジェクトの左端または右端をタッチＵＩの画面の端に移動させて、できるだけ該オブジェクトが表示されるように、ページの始点のｘ座標を補正する。
【０１４０】
一方、Ｓ３００４において、スワイプイベントの移動距離に応じてオブジェクトを含むページの表示位置を移動した際に、移動範囲制限部２４０４は、オブジェクトの左端または右端がタッチＵＩの画面外に移動したかを判定する。その結果、オブジェクトの左端または右端がタッチＵＩの画面外にあると判定した場合には、Ｓ３００５に進み、そうでない場合には、Ｓ３００６に進む。
【０１４１】
Ｓ３００５において、移動範囲制限部２４０４は、当該オブジェクトの左端または右端を画面の端に移動させて、該オブジェクトの全体が表示されるようにページの始点のｘ座標を補正する。オブジェクトの大きさが画面以下であれば、当該補正によりユーザの視認性が向上する。Ｓ３００６において、移動範囲制限部２４０４は、現在のページの表示倍率で表示したときの現在読み込まれているオブジェクトの高さが、タッチＵＩ１９０４の画面の高さより大きいか否かを判定する。このとき、該オブジェクトの高さがタッチＵＩの画面高さよりも大きい場合には、Ｓ３００７に進み、そうでない場合には、Ｓ３００９に進む。
【０１４２】
Ｓ３００７において、移動範囲制限部２４０４は、スワイプイベントの移動距離に応じてオブジェクトを含むページの表示位置を移動した際に、オブジェクトの上下端のどちらか一端がタッチＵＩ１９０４の画面内に移動したかを判定する。その結果、オブジェクトの上端または下端がタッチＵＩの画面内にあると判定した場合には、Ｓ３００８に進み、そうでない場合には、Ｓ３０１１に進む。
【０１４３】
Ｓ３００８において、移動範囲制限部２４０４は、画面内に移動されたオブジェクトの上端または下端を画面の端に移動させて、できるだけ該オブジェクトが表示されるようにページの始点のｙ座標を補正する。
【０１４４】
Ｓ３００６でオブジェクトの高さがタッチＵＩの画面高さよりも大きくない場合には、Ｓ３００９に処理が進む。Ｓ３００９において、移動範囲制限部２４０４は、スワイプイベントの移動距離に応じてオブジェクトを含むページの表示位置を移動した際に、オブジェクトの上端または下端がタッチＵＩの画面外に移動したかを判定する。オブジェクトの上端または下端がタッチＵＩの画面外に移動したと判定した場合には、Ｓ３０１０に進み、そうでない場合には、Ｓ３０１１に進む。
【０１４５】
Ｓ３０１０において、移動範囲制限部２４０４は、当該オブジェクトの上端または下端を画面内に移動させて、該オブジェクトの全体が表示されるようにページの始点のｙ座標を補正する。最後に、Ｓ３０１１において、表示変更イベント処理部２４００は、ページの表示倍率と始点に応じてタッチＵＩ１９０４の表示状態を更新する。
【０１４６】
このように、オブジェクトの移動範囲を制限することで、ユーザは、スワイプイベントの移動距離が大きい場合でもできるかぎりオブジェクト全体を認識することが可能となる。
【０１４７】
次に、ピンチイン操作がなされたときに、拡大・縮小イベント処理部２４０５の縮小時表示モード切替部２４０６で行われる縮小時表示モード切替処理について、図３１のフローチャートを用いて説明する。Ｓ３１００において、縮小時表示モード切替部２４０６は、ユーザにより縮小処理を指示する操作が行われたときの携帯端末１０７に設定されている表示モードを取得する。取得した表示モードが部分領域表示モードである場合にはＳ３１０１に進み、ページ表示モードである場合には何も行わずに処理を終了する。
【０１４８】
Ｓ３１０１において、縮小時表示モード切替部２４０６は、現在のページの表示倍率で表示したときの現在読み込まれているオブジェクトの幅が、タッチＵＩ１９０４の画面の幅より小さいか否かを判定する。オブジェクトの幅がタッチＵＩの画面幅よりも小さい場合には、Ｓ３１０２に進み、そうでない場合には切替処理を行わずに処理を終了する。
【０１４９】
Ｓ３１０２において、縮小時表示モード切替部２４０６は、現在のページの表示倍率で表示したときの現在読み込まれているオブジェクトの高さが、タッチＵＩ１９０４の画面の高さより小さいか否かを判定する。このとき、該オブジェクトの高さがタッチＵＩの画面高さよりも小さい場合には、Ｓ３１０３に進み、そうでない場合には切替処理を行わずに処理を終了する。
【０１５０】
Ｓ３１０３において、該オブジェクトを含むページの表示倍率がさらに縮小されようとしているのかを判断する。すなわち、縮小時表示モード切替部２４０６が受信したイベントがピンチインイベントであるか否かを判定する。ここで、ページがさらに縮小されようとしていると判断した場合には、Ｓ３１０４に進み、そうでない場合には何も行わずに処理を終了する。
【０１５１】
Ｓ３１０４において、縮小時表示モード切替部２４０６は、半透明マスク２６００を非表示にして、携帯端末１０７の表示モードを部分領域表示モードからページ表示モードに切り替える。つまり、部分領域表示モードにおいてオブジェクト全体が画面内に表示されており、かつピンチイベントが行われている場合に縮小時表示モード切替部２４０６は第３の表示モードであるページ表示モードに切り替える。最後に、Ｓ３１０５において、表示変更イベント処理部２４００は、該ピンチインイベントに基づいて決定されるページの表示倍率と始点に応じてタッチＵＩ１９０４の表示状態を更新する。
【０１５２】
次に、オブジェクト選択処理について、図３２のフローチャートを用いて説明する。オブジェクト選択処理は、ユーザによりダブルタップ操作が行われた際にオブジェクト選択処理部２４０８が実行する処理である。まず、Ｓ３２００において、オブジェクト選択処理部２４０８は、ユーザにより操作が行われたときの携帯端末１０７に設定されている表示モードを取得する。取得した表示モードがページ表示モードである場合にはＳ３２０１に進み、部分領域表示モードである場合には何も行わすに処理を終了する。
【０１５３】
Ｓ３２０１において、オブジェクト選択処理部２４０８は、受信したダブルタップイベントのタッチ座標の座標値を取得する。タッチ座標の座標値はタッチＵＩ１９０４上の座標値であるため、タッチＵＩに表示しているページの表示倍率と始点に基づいて、ページにおける座標値に換算する。
【０１５４】
Ｓ３２０２において、タッチＵＩに表示している現在のページ内の全オブジェクトの中から先頭オブジェクトの情報を読み込む。Ｓ３２０３において、Ｓ３２０１で求めたページにおける座標値が、読み込んだオブジェクトの領域情報内に含まれるか否かを判定する。ページにおける座標値が当該読み込んだオブジェクトの領域情報内にある場合にはＳ３２０４に進み、そうでない場合にはＳ３２０６に進む。
【０１５５】
Ｓ３２０４において、携帯端末１０７の表示モードをページ表示モードから部分領域表示モードに切り替える。同時に、非表示であった半透明マスク２６００を表示することで、当該ダブルタップされたオブジェクト以外の領域に半透明マスクがかかるように制御し、Ｓ２５１０に進む。
【０１５６】
Ｓ２５１０において、Ｓ３２０２またはＳ３２０６で読み込んだオブジェクト（すなわち、当該ダブルタップされたオブジェクト）の部分領域表示範囲決定処理を行う。部分領域表示範囲決定処理については前述した通りであるので、ここでの詳細な説明は省く。
【０１５７】
そして、Ｓ３２０５において、表示変更イベント処理部２４００は、部分領域表示範囲決定処理で決定したページの表示倍率と始点に応じてタッチＵＩ１９０４の表示状態を更新する。
【０１５８】
また一方、Ｓ３２０６において、オブジェクト選択処理部２４０８は、現在のページ内の全オブジェクトの中から、現在読み込んでいるオブジェクトの次のオブジェクトの情報を読み込む。
【０１５９】
Ｓ３２０７において、オブジェクト選択処理部２４０８は、Ｓ３２０６で次のオブジェクトが読み込めたか否かを判定し、読み込めた場合にはＳ３２０３に戻り、読み込めなかった場合には何もせずに処理を終了する。
【０１６０】
なお、本実施例において、現在タッチＵＩ１９０４に表示しているページ内の全オブジェクトを対象に、ページにおける座標値がオブジェクトの領域情報内にあるか否かを判定しているが、それに限るものではない。例えば、前選択処理や後選択処理と同様に、描画要素を持たないオブジェクトを無視し、描画要素を持つオブジェクトだけを選択するようにしても良い。また、例えば、文字属性のオブジェクトのみなど、特定の属性を持つオブジェクトのみを選択したり、特定の属性のみを除外して選択することも可能である。
【０１６１】
次に、関心領域イベント処理部２４０８が行う関心領域表示モードに切り替える処理について説明する。図３８は、関心領域表示モードに切り替える処理を行うフローチャートである。まず、Ｓ３８００で関心領域イベント処理部２４０８は、関心領域表示モードか否かを判定する。関心領域表示モードである場合は、Ｓ３８０１に進み、Ｓ３８０１にて関心領域表示モードを解除する。関心領域表示モードでない場合は、Ｓ３８０２に進み、Ｓ３８０２にて、表示モードを関心領域表示モードに設定する。これにより、関心領域表示モードと、それ以外のモードとを切り替えることができる。
【０１６２】
次に、後述の修飾オブジェクト登録処理により修飾オブジェクト登録部２４１０に登録される修飾オブジェクト情報について説明する。図３９（Ａ）は修飾オブジェクトの登録リストを示し、図３９（Ｂ）は、修飾オブジェクトの登録リスト情報を示す。ドキュメントを新規に読み込んだ際には、それまでに登録されている、修飾オブジェクト登録リストと、それと対をなす、修飾オブジェクト登録リスト情報はすべて削除され初期化される。修飾オブジェクト登録リストと、修飾オブジェクトリスト情報は、記録装置１１２内に登録される。
【０１６３】
次に、図４５を参照して、修飾オブジェクト登録処理の一連の動作を説明する。ユーザが表示させたい領域を拡大、縮尺などでページを調整し、表示させたまま一度も移動することなく所定の時間以上経過するとジェスチャイベント発生部２００１は、ジェスチャイベント処理部２００２にタッチアンドホールドイベントを送る。修飾オブジェクト登録部２４１０が修飾オブジェクト登録処理を行う。
【０１６４】
まず、Ｓ４５０１で修飾オブジェクト登録部２４１０は、記録装置１１２内に現在表示しているページの修飾オブジェクト登録リストがあるか否かを判定する。該ページの修飾オブジェクト登録リストがある場合には、Ｓ４５０２移行し、現在のページの修飾オブジェクト登録リストに、タッチアンドホールドで表示された表示領域を除く領域に存在するオブジェクトの情報が、修飾オブジェクトとして登録される。そして、Ｓ４５０３で修飾オブジェクト登録部２４１０は、修飾オブジェクト登録リスト情報に、登録された該ページのページ内の修飾オブジェクト数ＮＢをインクリメントする（増やす）。そして、Ｓ４５０４で、現在表示しているページの領域を、表示領域として登録する。
【０１６５】
一方、Ｓ４５０１で、現在表示しているページに修飾オブジェクトの登録リストが無い場合には、Ｓ４５０５に移行し、記録装置１1２内に、修飾オブジェクト登録情報リストと修飾オブジェクト登録リスト情報を新規に作成する。そして、Ｓ４５０６で、修飾オブジェクト登録リスト情報のページ内の修飾オブジェクト数に０を登録し、ページ番号に、現在のページ番号を登録。登録ファイルＩＤに、現在までに作成された登録ファイル数＋１の数値を登録する。
【０１６６】
修飾オブジェクト登録リストに登録される情報は、図３９（Ａ）に示すように、登録しようとするオブジェクトの属性、位置の座標Ｘ、座標Ｙ、幅Ｗ、高さＨ、ＯＣＲ情報、色情報が含まれる。属性は１〜３の数値で与えられ、１は文字領域矩形ブロック、２は写真領域矩形ブロック、３はグラフィック領域矩形ブロックを示す。座標Ｘ、座標Ｙは入力画像における各矩形ブロックの始点のＸ、Ｙ座標（左上角の座標）である。幅Ｗ、高さＨは矩形ブロックのＸ座標方向の幅、Ｙ座標方向の高さである。ＯＣＲ情報は、ＯＣＲ処理で文字コード化されたデータへのポインタ情報の有無を示す。色情報は１または２の数値で与えられ、１はカラー、２は白黒を示す。さらに、図３９（Ｂ）に示すように、登録リスト情報としてそのページ上で登録された修飾オブジェクトのブロックの総個数を示すブロック総数Ｎ、修飾オブジェクトが登録されたページ番号を保存しておく。表示領域の矩形情報Ｘ、Ｙ、ＸＸ、ＹＹは、修飾オブジェクトが登録される毎に、その時点で表示されている表示領域が保存される。そして、新規のページに対して、修飾オブジェクトが登録される毎に、修飾オブジェクト登録リストと、の修飾オブジェクト登録リスト情報は、記録装置１1２内に個別のメモリ領域が割り当てられ、新規にファイルとして作成され、格納される。
【０１６７】
次に、図４２を参照して、Ｓ２５０２で行われる表示範囲決定処理を説明する。図４２では、基本的な流れを説明する。まず、Ｓ４２０１で、表示変更イベント処理部２４００は、現在表示しているページ全体を読み込む。次に、Ｓ４２０２で、携帯情報端末１０７に設定されている関心領域表示モード情報を参照して、関心領域表示モードが設定されているか否かを判定する。関心領域表示モードが設定されている場合、Ｓ４２０３に進む。関心領域表示モードが設定されていない場合、Ｓ４２０９に進み、タッチＵＩ１９０４の幅に合わせて現在のページの表示倍率を制御するとともに、現在のページの始点を制御してページ範囲を決定し、処理を終了する。
【０１６８】
一方、Ｓ４２０２で、関心領域表示モードが設定されていると判定された場合、現在のページ内のオブジェクト総数をＭとし、オブジェクトの番号をＮとして、Ｎは、１から開始する。次に、Ｓ４２０４で関心領域イベント処理部２４０８は、ＭとＮの大小を判定する。Ｎ＞Ｍでないと判定された場合、Ｓ４２０５に進む。Ｓ４２０５で、表示変更イベント処理部２４００は、ページ内のオブジェクトが修飾オブジェクトに相当するか否かを判定する。このときＳ４２０５で、ページ内のオブジェクトの全て、すなわちページ内のオブジェクト番号の１からＭまでのすべてのオブジェクトについて判定する。修飾オブジェクトに相当すると判定された場合、Ｓ４２０８に進み、Ｓ４２０８で、該当するオブジェクト番号Ｎの属性を非表示に設定する。修飾オブジェクトに相当しないと判定された場合、Ｓ４２０６に進み、該当するオブジェクト番号Ｎの属性を表示に設定する。そして、Ｓ４２０７に進み、オブジェクト番号Ｎを１つ増やしてＳ４２０４に戻って処理を続行する。
【０１６９】
一方、Ｓ４２０４で、Ｎ＞Ｍと判定された場合、Ｓ４２１０に進む。そして、表示不要と判断されたオブジェクトを省いて残りのオブジェクトの全体をタッチＵＩ１９０４の幅に合わせて表示倍率を制御すると共に、始点を制御してページの表示範囲を決定し、処理を終了する。
【０１７０】
次に、図４６および４７を用いて、もう一つ別の表示領域決定の処理を説明する。これは、ページ表示モードでユーザが新しいページを表示させる際の処理であり、その中でも関心領域表示モードで表示させる際の表示領域計算の方法に最も特徴がある。すなわち、関心領域表示モードで表示する際には、現在表示しようとしているページ内のオブジェクトに対し、これまでに記憶（登録）された各修飾オブジェクト登録リストのどのリストともっとも相関が高いかを算出する。そして、もっとも相関の高い修飾オブジェクト登録リストの登録リスト情報のファイルに登録されている表示範囲を表示領域として採用する。これにより、新しいページを表示する際に、過去に登録したページと同様の修飾オブジェクトを持つページは、先にユーザが調整した表示範囲と同じ表示範囲で自動的に表示することができる。
【０１７１】
ここで、修飾オブジェクトの各オブジェクトに相当するオブジェクトの現在のページのページＩＤのリスト番号をＰとし、そのページの各オブジェクトと該ページのオブジェクトとの一致度の平均がＳＭＡＸとする。まず、Ｓ４６００で、現在表示しているページが関心領域表示モードか否かを判定する。関心領域表示モードでないと判定された場合、Ｓ４６２０に進み、Ｓ４６２０で、現在表示しようとしているページ全体を表示領域として設定し、Ｓ４６２１で処理を終了する。
【０１７２】
一方、Ｓ４６００で、関心領域表示モードであると判定された場合、Ｓ４６０１に進む。そして、Ｓ４６０１で、修飾オブジェクト登録リストの総数をＰＭＡＸとし、リスト番号をＰとして、Ｐは、１から開始する。次に、Ｓ４６０２で、ＰがＰＭＡＸよりも大きいか否かを判定する。Ｓ４６０２で、ＰがＰＭＡＸよりも大きいと判定された場合、Ｓ４６１３に進む。Ｓ４６１３については後述する。一方、Ｓ４６０２で、ＰがＰＭＡＸよりも小さいと判定された場合、Ｓ４６０３に進み、Ｓ４６０３で、ページＩＤのリスト番号Ｐに相当する修飾オブジェクトのオブジェクトブロック数をＫＭＡＸとし、ブロック番号をＫとして１から開始する。そして、Ｓ（Ｋ）を０とし、ＳＭＡＸを０としてＳ４６０４に進む。
【０１７３】
次に、Ｓ４６０４で、ＫがＫＭＡＸより大きいか否かを判定する。ＫがＫＭＡＸよりも大きいと判定された場合、Ｓ４６１２で、ブロック番号Ｋを１からＫＭＡＸまで変化させた際のＳ（Ｋ）の平均をＳＰ（Ｐ）とし、リスト番号Ｐを１つ増やして、Ｓ４６０２に戻って処理を続行する。
【０１７４】
一方、ＫがＫＭＡＸよりも小さいと判定された場合、Ｓ４６０４に進み、Ｓ４６０４で、表示をしようとしているページ内のオブジェクト数をＮＭＡＸとし、オブジェクト番号をＮとして１から開始する。次に、Ｓ４６０６で、ＮがＮＭＡＸよりも大きいか否かを判定する。ＮがＮＭＡＸよりも大きい場合、Ｓ４６１１進み、Ｓ４６１１で、Ｓ（Ｋ）にＳＭＡＸを代入し、ブロック番号Ｋを１つ増やして、Ｓ４６０４に戻って処理を続行する。
【０１７５】
このとき、Ｓ（Ｋ）には、修飾オブジェクトＫに対し、ページ内のオブジェクトのうちもっとも相関の高かったオブジェクトとの相関度Ｓが保存される。そして、Ｓ４６１１からＳ４６０６に戻る際に、修飾オブジェクトＫに一番一致したページ内オブジェクトの相関値がＳ（Ｋ）に代入される。
【０１７６】
一方、Ｓ４６０６で、ＮがＮＭＡＸよりも小さいと判定された場合、Ｓ４６０７に進み、Ｓ４６０７で、相関度Ｓを計算する。Ｓの算出方法については、図４８を参照して後述する。次に、Ｓ４６０８で、Ｓ４６０７にて相関度Ｓを計算した後、ＳがＳＭＡＸより大きいか否かを判定する。ＳがＳＭＡＸよりも大きいと判定された場合、Ｓ４６０９に進み、Ｓ４６０９で、ＳＭＡＸをＳとして、Ｓ４６１０に進む。一方、ＳがＳＭＡＸよりも小さいと判定された場合、Ｓ４６１０に進む。そして、Ｓ４６１０で、オブジェクト番号Ｎを１つ増やして、Ｓ４６０６に戻って処理を続行する。
【０１７７】
Ｓ４６０２で、ＰがＰＭＡＸよりも大きいと判定された場合、Ｓ４６１３で、Ｐを１とし、ＳＭＡＸを０とする。次に、Ｓ４６１４で、ＰがＰＭＡＸより大きいか否かを判定する。ＰがＰＭＡＸよりも小さいと判定された場合、Ｓ４６１５に進み、Ｓ４６１５で、Ｓ（Ｐ）がＳＭＡＸよりも大きいか否かを判定する。Ｓ（Ｐ）がＳＭＡＸよりも大きい場合、Ｓ４６１６に進み、Ｓ４６１６で、ＳＭＡＸをＳ（Ｐ）とし、ＳＭＡＸにＰを代入し、Ｓ４６１７に進む。一方、Ｓ４６１５で、Ｓ（Ｐ）がＳＭＡＸよりも小さい場合、Ｓ４６１７に進む。そして、Ｓ４６１７で、リスト番号Ｐを１つ増やして、Ｓ４６１４に戻って処理を続行する。
【０１７８】
一方、Ｓ４６１４で、ＰがＰＭＡＸよりも大きいと判定された場合、Ｓ４６１８に進む。Ｓ４６１８で、ＳＭＡＸが０．５より大きいか否かを判定する。ＳＭＡＸが０．５より大きいと判定された場合、Ｓ４６１９に進み、Ｓ４６１９で、ページＩＤがＳＭＡＸの修飾オブジェクトリストに記憶されている表示領域情報を表示領域として設定、Ｓ４６２１に進み、処理を終了する。
【０１７９】
一方、Ｓ４６１８で、ＳＭＡＸが０．５より小さいと判定された場合、修飾オブジェクトリストのどれとも一致しているものが無いということなので、Ｓ４６２０に進む。Ｓ４６２０で、現在表示しようとしているページ全体を表示領域として設定し、Ｓ４６２１で処理を終了する。
【０１８０】
次に、図４８を参照して、Ｓ４６０７のオブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとの相関度Ｓを計算するフローについて説明する。なお、図４８において、Ｓ４３０１〜Ｓ４３０９は、図４３にて説明したフローと同等であるため、それらの説明を省略する。図４８に示すフローは、図４３のフローのうち、Ｓ４３１０、Ｓ４３１１、Ｓ４３１２が無く、Ｓ４３０８またはＳ４３０９にて算出したＳの値を保持し、Ｓ４７０１で、Ｓ４６０７に戻る。
【０１８１】
次に、図４３、４４を参照して、Ｓ４２０５で、オブジェクトが修飾オブジェクトに相当するか否かを判定する具体的な処理について説明する。ユーザが表示を望まない内容のオブジェクトは、修飾オブジェクト登録部２４１０により前述の修飾オブジェクト登録処理が行われ、装飾オブジェクトとして登録される。オブジェクトが修飾オブジェクトに相当するか否かを判定する処理では、具体的には、オブジェクトが図３９に示す全ての修飾オブジェクト登録リストに掲載されている修飾オブジェクトのいずれかに相当するか、もしくはいずれにも相当しないかを判定する。
【０１８２】
表示範囲決定処理でＳ４２０５に進むと、まず、図４４のＳ４４０１に進み、オブジェクトＮが修飾オブジェクトに相当するか否かの判定を開始する。次に、Ｓ４４０２で、修飾オブジェクト登録リストの総数をＰＭＡＸとし、リスト番号をＰとして、Ｐは、１から開始する。次に、Ｓ４４０３で、ＰがＰＭＡＸより大きいか否かを判定する。ＰがＰＭＡＸよりも大きいと判定された場合、Ｓ４４０９に進み、オブジェクトＮが修飾オブジェクトに相当しないと判定され、Ｓ４２０６に進む。
【０１８３】
一方、Ｓ４４０３で、ＰがＰＭＡＸより小さいと判定された場合、Ｓ４４０４に進み、ページＩＤがＰの修飾オブジェクトのブロック総数をＫＭＡＸとし、ブロック番号をＫとして、Ｋは、１から開始する。次に、Ｓ４４０５で、ＫがＫＭＡＸより大きいか否かを判定する。ＫがＫＭＡＸより大きいと判定された場合、Ｓ４４０８に進み、リスト番号Ｐを１つ増やしてＳ４４０３に戻って処理を続行する。
【０１８４】
一方、Ｓ４４０５で、ＫがＫＭＡＸより小さいと判定された場合、Ｓ４４０６に進む。Ｓ４４０６で、オブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとが同等か否かを判定する。同等であると判定された場合、Ｓ４４１０に進み、オブジェクトＮが修飾オブジェクトに相当すると判定され、Ｓ４２０８に進む。
【０１８５】
一方、Ｓ４４０６で、同等でないと判定された場合、Ｓ４４０７に進み、ブロック番号Ｋを１つ増やしてＳ４４０５に戻って処理を続行する。尚、Ｓ４４０６の判定における具体的な処理は、図４３で説明する。
【０１８６】
まず、Ｓ４３０１で、Ｓを１とする。ここで、Ｓは、オブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとの相関度である。次に、Ｓ４３０２で、オブジェクトＮの種類と修飾オブジェクトＫのオブジェクトの種類を比較し、両者のオブジェクトの種類が一致するか否かを判定する。両者が一致すると判定された場合、Ｓ４３０３で、ＳをＳ×１とする。一方、両者が一致しないと判定された場合、Ｓ４３０４で、ＳをＳ×０．８とする。
【０１８７】
次に、Ｓ４３０５で、Ｓを、オブジェクトＮの面積でオブジェクトＮと修飾オブジェクトＫとの位置が重なる面積を割った値を、Ｓに乗じた値とする。次に、Ｓ４３０６で、Ｓを、オブジェクトＮの面積と修飾オブジェクトＫの面積との最大値でオブジェクトＮの面積と修飾オブジェクトＫの面積との最小値を割った値を、Ｓに乗じた値とする。
【０１８８】
次に、Ｓ４３０７で、オブジェクトＮの色と修飾オブジェクトＫの色とを比較し、同じ色であるか否かを判定する。両者が同じ色であると判定された場合（すなわち、両者が色黒または両者がカラーである場合）、Ｓ４３０８で、ＳをＳ×１とする。一方、両者が異なる色であると判定された場合、Ｓ４３０９で、ＳをＳ×０．８とする。
【０１８９】
次に、Ｓ４３０１で、Ｓが０．５より大きいか否かを判定する。Ｓが０．５よりも大きいと判定された場合、Ｓ４３１１で、オブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとが同等であると判定され、Ｓ４４１０に進む。一方、Ｓが０．５よりも小さいと判定された場合、Ｓ４３１２で、オブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとが同等でないと判定され、Ｓ４４０７に進む。
【０１９０】
次に、図４８を参照して、Ｓ４６０７のオブジェクトＮと修飾オブジェクト登録リスト情報のリスト番号Ｐのブロック番号Ｋのオブジェクトとの相関度Ｓを計算するフローについて説明する。なお、図４８において、Ｓ４３０１〜Ｓ４３０９は、図４３にて説明したフローと同等であるため、それらの説明を省略する。図４８に示すフローは、図４３のフローのうち、Ｓ４３１０、Ｓ４３１１、Ｓ４３１２が無く、Ｓ４３０８またはＳ４３０９にて算出したＳの値を保持し、Ｓ４７０１で、Ｓ４６０７に戻る。
【０１９１】
次に、図２６と図３３、図３４を用いて、本実施形態における部分領域表示モードの表示を具体的に説明する。なお、図３３および図３４は、本実施形態における携帯情報端末１０７のタッチＵＩ１９０４の画面表示例である。
【０１９２】
図２６において、オブジェクト２６０１は横書きの文字の属性を持つオブジェクトである。オブジェクト２６０１は、図２６（Ａ）のように破線で示す領域情報を持つ。オブジェクト２６０１の属性は文字であるため、オブジェクト２６０１が読み込まれた直後、部分領域表示範囲決定処理において、オブジェクトの幅は、タッチＵＩ１９０４の画面幅に入るようなページの表示倍率で設定される。オブジェクト２６０１を表示する場合、設定されたページの表示倍率で表示すると、オブジェクトの高さがタッチＵＩ１９０４の画面の高さより小さくなる。そのため、該オブジェクトの中心がタッチＵＩ１９０４の中心に合うように、ページの始点が設定され、図２６（Ｂ）に示すように表示される。
【０１９３】
また、図３３（Ａ）において、オブジェクト３３００は縦書きの文字の属性を持つオブジェクトである。また、オブジェクト３３００は、図３３（Ａ）の破線で示す領域情報を持つ。オブジェクト３３００の属性は文字であるため、オブジェクト３３００が読み込まれた直後は、部分領域表示範囲決定処理において、ページの表示倍率は、オブジェクトの高さがタッチＵＩ１９０４の画面高さに入る倍率に設定される。また、オブジェクト３３００を表示する場合、当該設定されたページの表示倍率において、オブジェクトの幅がタッチＵＩ１９０４の画面の幅よりも大きくなる。そのため、オブジェクト右上端がタッチＵＩ１９０４の右上端に合うように、ページの始点が設定され、図３３（Ｂ）に示すように表示される。
【０１９４】
また、図３４において、オブジェクト３４００は図面の属性を持つオブジェクトである。オブジェクト３４００は、図３４（Ａ）のように破線で示す領域情報を持つ。オブジェクト３４００の属性は図面であるため、オブジェクト３４００が読み込まれた直後は、部分領域表示範囲決定処理において、ページの表示倍率は、オブジェクトの幅と高さがタッチＵＩ１９０４の画面幅と高さに入る倍率に設定される。また、オブジェクト中心がタッチＵＩ１９０４の中心に合うように、ページの始点が設定され、図３４（Ｂ）に示すように表示される。
【０１９５】
次に、図３４と図３５、図３６を用いて、本実施形態における移動範囲制限処理の制限例を具体的に説明する。図３５および図３６は、本実施形態における携帯情報端末１０７のタッチＵＩ１９０４の画面表示例である。
【０１９６】
図３５（Ａ）は、オブジェクト３４００をタッチＵＩ１９０４に表示した一例である。図３５（Ａ）では、図３４（Ｂ）と同様に、ページの表示倍率は、オブジェクトの幅と高さがタッチＵＩ１９０４の画面幅と高さに入る倍率に設定され、オブジェクト中心がタッチＵＩ１９０４の中心に合うように、ページの始点が設定されている。そのため、オブジェクト３４００の幅と高さがタッチＵＩ１９０４の画面幅と高さよりも小さく、オブジェクト３４００がタッチＵＩの画面内に全て収まるように表示されている。図３５（Ｂ）は、ユーザの指が３５００から３５０１の方向（すなわち左方向）にスワイプ動作されたときの表示例である。スワイプイベント処理部２４０１は、スワイプイベントを受信するたびに移動距離だけページの始点を動かしてタッチＵＩ１９０４の表示を更新する。図３５（Ｂ）では、ユーザのスワイプ動作によって、オブジェクト３４００の左端がタッチＵＩ１９０４の画面外に移動したことを示す。図３５（Ｃ）は、スワイプイベント処理部２４０１によって図３５（Ｂ）のように左端が画面外に移動されたオブジェクト３４００を、移動範囲制限処理によって画面内に戻して表示するように、ページの始点を補正した場合を示す。すなわち、オブジェクト３４００は、表示中のオブジェクトの幅と高さが、タッチＵＩ１９０４の画面の幅と高さよりも小さいため、オブジェクト３４００が画面外に移動すると、移動範囲制限処理によって、画面内に表示されるようにページの始点が補正される。
【０１９７】
図３６（Ａ）は、オブジェクト３４００をピンチアウト動作によって拡大してタッチＵＩ１９０４に表示した一例である。図３６（Ａ）は、表示中のオブジェクト３４００の幅がタッチＵＩ１９０４の画面幅よりも大きく、オブジェクト３４００の左右端がタッチＵＩ１９０４の画面外に、上下端が画面内に表示されていることを示す。図３６（Ｂ）は、ユーザの指が３６００から３６０１の方向（すなわち、右から左に向かう方向）にスワイプ動作されたときの表示例である。スワイプイベント処理部２４０１は、スワイプイベントを受信するたびに移動距離だけページの始点を動かしてタッチＵＩ１９０４の表示を更新する。図３６（Ｂ）では、ユーザのスワイプ動作によって、オブジェクト３４００の右端がタッチＵＩ１９０４の画面内に移動している。図３６（Ｃ）は、右端が画面の内側に移動されたオブジェクト３４００を、移動範囲制限処理によって、当該オブジェクト３４００の右端がタッチＵＩ１９０４の画面の右端にほぼ合うようにページの始点を補正した場合の表示例である。すなわち、オブジェクト３４００は、表示中のオブジェクトの幅がタッチＵＩ１９０４の画面幅よりも大きい。そのため、オブジェクト３４００の端が画面内に移動された場合、移動範囲制限処理によって、当該オブジェクトの多くができるだけ画面内に表示されるように、当該オブジェクトの端が画面の端に合うようにページの始点が補正される。
【０１９８】
なお、本実施例において、ＭＦＰ１００は携帯情報端末１０７に表示用のアプリケーション画像データを送付し、携帯情報端末１０７は受信したアプリケーション画像データを表示する構成としている。しかしながら、例えば、ＭＦＰ１００において、アプリケーション画像データを内部に保持する携帯情報端末１０７で実行可能なアプリケーションを生成し、携帯情報端末１０７に配信するような構成にしても良いことは言うまでもない。なお、そのときの携帯情報端末１０７で実行可能なアプリケーションは、本実施例で説明したソフトウェアモジュールであるジェスチャイベント処理部２００２を内部に持って、アプリケーション画像データを制御する。
【０１９９】
また、ＭＦＰ１００は、生成したアプリケーション画像データを文書管理サーバ１０６に送信すると共に、携帯情報端末１０７にそのアプリケーション画像データの場所を示すアドレスを送付するようにしても良い。この場合、携帯情報端末１０７はアプリケーション画像データの実体データは持たず、ＬＡＮ１０２を通して、文書管理サーバ１０６のデータが保持されるデータベース１０５から随時ページやオブジェクトの情報を取得・表示する。
【０２００】
以上、本実施形態において、ユーザが関心の無い、表示が不要なオブジェクトを修飾オブジェクトとして登録することで、関心のある領域のみ表示することが可能である。そして、関心領域表示モードで表示する場合の表示例を図４０（Ａ）〜（Ｃ）を参照して説明する。
【０２０１】
まず、図４０（Ａ）はユーザが登録する修飾オブジェクトを示すページの一例である。上分割線４００１は、本文４００７とタイトルなどの情報を示すコンテンツであるデザイン４００２およびコンテンツ４００３を分割する線であり、装飾４００４は、章を判別しやすくするレイアウト装飾である。ページ番号４００５は、表示しているページの番号を示し、下分割線４００６は、本文４００７とページ番号４００５の領域とを分割する線である。また、端末４００８は、携帯端末などの端末である。さらに、モード切替ボタン４０１０は、表示モードを切り替えるボタンで、前へボタン４００９および次へボタン４０１１は、表示しているオブジェクトの前、または次のオブジェクトを表示させるためのボタンである。従来の表示方法では、図４０（Ａ）のオブジェクトのページを携帯端末などの端末に表示した場合は、図４０（Ｂ）のように、常にページの全体が表示される。
【０２０２】
本実施形態において、例えば、ユーザがページ内の上分割線４００１、コンテンツ４００２および４００３、装飾４００４、ページ番号４００５、下分割線４００６の表示を望まない場合、それらを修飾オブジェクトとして登録することができる。特定のページ全体から表示させたい領域を拡大、縮小などをすることにより調整し、その領域を表示した状態で、何もせず所定の時間以上が経過した後、表示されている領域を除く領域にあるオブジェクトを修飾オブジェクトとして登録することが可能となる。そして、ユーザがモード切替ボタン４０１０を指示することで、図４０（Ｃ）のように、表示を望むオブジェクト（本実施形態では、本文４００７）のみを表示することが可能となる。なお、修飾オブジェクトとして登録した後は、関心領域表示モードで新たなページを表示する際、修飾オブジェクトと同等のオブジェクトを表示させることが可能となる。
【０２０３】
次に、部分表示モードで表示する場合の表示例を図４１（Ａ）〜（Ｅ）を参照して説明する。まず、図４１（Ａ）は、新規に表示するページのレイアウトを示す。上分割線４１０１は、オブジェクト４１００の本文部分とタイトルなどの情報を示すコンテンツ４１０２および４１０３を分割する線であり、装飾４１０４は、章を判別しやすくするレイアウト装飾である。ページ番号４１０５は、表示しているページの番号を示し、下分割線４１０６は、本文部分とページ番号４１０５の領域とを分割する線である。また、本文部分には、上本文４１０７、本文装飾４１０８、下本文４１０９を含む。
【０２０４】
従来の表示方法を用いて部分表示モードで表示した場合、まず、図４１（Ｂ）のように、コンテンツ４１０３部分が表示される。そして、次へボタン４０１１を指示することで、図４１（Ｃ）のように、デザイン４１０２部分が表示される。また、次へボタン４０１１を指示することで、図４１（Ｄ）のように、上分割線４１０１部分が表示される。さらに、次へボタン４０１１を指示することで、図４１（Ｅ）のように上本文４１０７部分が表示される。こうして、次へボタン４０１１を指示するごとにオブジェクト４１００の各部分が順番に表示されていく。なお、前へボタン４００９を指示した場合は、逆の順番で表示される。このように、従来の表示方法では、ユーザが表示させたい部分や表示させる必要のない部分に関係なく、オブジェクト４１００の各部分が前へボタン４００９および次へボタン４０１１を指示するごとに順番に表示される。その結果として、オブジェクト４１００の全ての部分が表示される。このため、ユーザは、表示させたい部分まで、前へボタン４００９または次へボタン４０１１を必要以上に指示し続けなければならない。
【０２０５】
一方、本実施形態では、予めユーザが表示する必要のない部分（オブジェクト）を修飾オブジェクトとして登録することで、部分表示モードでオブジェクト４１００を表示する場合、ユーザが表示させたい部分のみを表示させることが可能となる。従来の表示方法とは異なり、表示する必要のない部分が表示されないので、必要以上に、前へボタン４００９または次へボタン４０１１を指示しなくてもよい。
【０２０６】
例えば、図４１において、ユーザが図４１（Ｅ）のみを表示させたいとする場合、従来の表示方法では、図４１（Ｂ）から順番に次へボタン４０１１を指示して、図４１（Ｅ）を表示させる。一方、本実施形態によれば、表示する必要のない部分を予め修飾オブジェクトを登録しておくことで、次へボタン４０１１を指示することなく、図４１（Ｂ）〜（Ｄ）を飛ばして図４１（Ｅ）を表示させることができる。そして、新規に図４１（Ａ）のようなページを表示する際にも、修飾オブジェクトに相当するオブジェクトの表示を省くことができ、最初から図４１（Ｅ）に示すような、ユーザが表示させたい部分のみを表示することができる。
【０２０７】
このように、本実施形態では、ユーザが表示させたい領域を拡大、縮小などにより調整し、その領域を表示した状態で所定の時間以上が経過（判断基準）した後、表示されている領域を除く領域にあるオブジェクトを修飾オブジェクトとして登録することができる。これにより、以後、関心領域モードにおいて、修飾オブジェクトを登録する際のページ以外の新規のページを表示する際、登録した修飾オブジェクトと同等のオブジェクトを省いて、ユーザが表示させたいコンテンツのみを表示させることが可能となる。図４９（Ａ）〜（Ｃ）は、ユーザにより修飾オブジェクトが登録され、関心領域モードにて新しく表示するページがどのように表示されるかを示す。
【０２０８】
まず、図４９（Ａ）は、新規に表示するページのページ全体のレイアウトであり、図４９（Ｂ）は、従来の表示方法で端末上に表示されるページの表示例を示し、図４９（Ｃ）は、本実施形態に係る関心領域表示モードにてページを表示した場合の表示例を示す。本実施形態において、新規にページを表示する際、ページ内のオブジェクトは、まず、過去に登録された修飾オブジェクトと同等なものであるか否かが判定される。
【０２０９】
ここで、図４９に示す上分割線４８０１は、オブジェクト４８００の本文部分とタイトルなどの情報を示すコンテンツ４８０２および４８０３を分割する線であり、装飾４８０４は、章を判別しやすくするレイアウト装飾である。ページ番号４８０５は、表示しているページの番号を示し、下分割線４８０６は、本文部分とページ番号４８０５の領域とを分割する線である。また、本文部分には、上本文４８０７、本文装飾４８０８、下本文４８０９を含む。
【０２１０】
例えば、図４０に示す上分割線４００１〜下分割線４００６が修飾オブジェクトとして登録されている場合、図４３の処理により、上分割線４８０１〜下分割線４８０６が修飾オブジェクトとオブジェクトの種類、位置、面積、大きさなどが同等であると判定される。その結果、図４０に示すページと新規に表示するページが同等であると判定されるため、図４９（Ｃ）のように修飾オブジェクトと同等と判定されたオブジェクトが省かれて表示される。一般に、ページ内の読書対象（本文など）のコンテンツは、ページにより変わることが多いが、デザインのためのレイアウトは、ページが変わっても位置や大きさ、オブジェクトの種類が共通であることが多い。
【０２１１】
本実施形態では、表示するページの中でユーザが読む必要の無いオブジェクトを修飾オブジェクトとして登録することで、自動的に読みたい（表示させたい）オブジェクトのみを表示させることが可能である。また、ページを読み進めて新たにページを表示させた際にも、修飾オブジェクトと同等のオブジェクトか否かを自動的に判定し、表示対象から外した状態で表示させ、ページを読み進むことが可能である。従って、ユーザが不要なコンテンツを見ずに、見たいコンテンツのみを見やすい大きさに拡大し、ドキュメントを読み進むことができる。
【０２１２】
なお、第１実施形態では、修飾オブジェクトの指定方法として、ユーザが表示領域を指定して、該表示領域を除く領域にあるオブジェクトを指定する方法を説明した。しかしながら、この方法以外にも、直接オブジェクトを指定してそのオブジェクトを修飾オブジェクトとして指定することでも可能である。
【０２１３】
以上説明したように、本実施形態によれば、ユーザは、自分にとって読みたい対象で無いオブジェクトを修飾オブジェクトとして登録することで、修飾オブジェクトと同等のオブジェクトを省いてドキュメントを読み進むことが可能である。そして、ページ表示モードでは、不要なオブジェクトを表示しない分、ユーザにとって読みやすく拡大して表示することが可能である。また、部分表示モードでは、ユーザにとって不要な修飾オブジェクトと同等のオブジェクトを省いて部分表示することが可能である。そして、ユーザは、「次へボタン」や「前へボタン」操作により、ページ内の不要なオブジェクトの表示をすることなく、表示させたい範囲を適切な順序で次々に表示することが可能であるとともに、効率よくドキュメントを閲覧することができる。
【０２１４】
（第２実施形態）
第２実施形態では、表示不要な修飾オブジェクトを登録する際、トリプルタップにより図３７に示す処理を用いて修飾オブジェクトを登録し、表示不要な修飾オブジェクトを指定する。なお、第１実施形態と同様の部分に関しては、同一番号を付けて説明を省略し、異なる部分のみを以下に説明する。
【０２１５】
第２実施形態では、ユーザは、表示不要なオブジェクトを修飾オブジェクトとして登録する際、第１実施形態と同様に、ユーザがページ表示モードにてページ全体を表示している時に、拡大、縮小などの操作で、表示領域を調整する。ユーザ表示領域を決めたところでトリプルタップを行うことによって、タッチパネル１９０２は、ジェスチャイベント発生部２００１に信号を送り、ジェスチャイベント処理部２００２は、図３７に示す処理を行う。
【０２１６】
まず、Ｓ３７００でジェスチャイベント処理部２００２は、ページ表示モードか部分領域モードかを判定する。ページ表示モードと判定された場合、Ｓ３７０１に進み、Ｓ３７０１で、トリプルタップした際の表示エリア外のオブジェクトの全てを、修飾オブジェクトと決定する。そして、図３９（Ａ）に示す、修飾オブジェクトリストを作成して登録する。次に、Ｓ３７０２で、ページ内の修飾オブジェクトの数、表示している表示領域の座標情報、表示しているページ番号の情報、登録ファイルＩＤの情報から成る修飾オブジェクト登録リスト情報のファイルを作成する。なお、登録ファイルＩＤは、修飾オブジェクト登録リストを登録する際の登録番号に相当するＩＤであり、ファイル作成毎に１から昇順にＩＤが割り当てられる。そして、Ｓ３７０３で処理を終了する。一方、Ｓ３７００で、部分領域モードと判定された場合、Ｓ３７０３に進み、処理を終了する。
【０２１７】
以上のように、第２実施形態において、例えば、図４０（Ａ）のようなドキュメントを表示する際、まず、ユーザが図４０（Ｃ）のように表示範囲を選択して、トリプルタップ動作をする。それによって、表示範囲外のオブジェクトが修飾オブジェクトリストとして、図３９（Ａ）に示すリストに登録される。また、その際、ページ内の修飾オブジェクト数、表示領域、表示しているページのページ番号、登録ファイルＩＤが図３９（Ｂ）に示す修飾オブジェクト登録リスト情報に登録される。すなわち、図４０（Ａ）の上分割線４００１〜下分割線４００６が修飾オブジェクトとしてリストに登録される。
【０２１８】
また、例えば、図４９（Ａ）を参照して、既に登録されている修飾オブジェクト登録リストとの相関を図る。すると、上分割線４８０１〜下分割線４８０６は、上分割線４００１〜下分割線４００６のそれぞれと、オブジェクトの種類、位置座標、大きさが同等であると認識できる。従って、上分割線４００１〜下分割線４００６が修飾オブジェクト登録リストに予め登録されている場合、それらと上分割線４８０１〜下分割線４８０６とは、相関が高いと判定される。
【０２１９】
これにより、図４９（Ａ）に示すページを新たに表示する場合、自動的に修飾オブジェクト登録リストに対する修飾オブジェクト登録リスト情報に記憶されている表示領域を用いして表示する。その結果、ユーザが新たにページを表示させる毎に表示領域を手動で調整する必要がなく、自動的に図４９（Ｃ）に示すようなユーザにとって必要な領域を拡大して表示が可能である。
【０２２０】
なお、本実施形態では、修飾オブジェクトを指定する方法として、修飾オブジェクト以外のオブジェクトを選択し、それ以外のオブジェクトを修飾オブジェクトと指定したが、オブジェクトを直接指定して、修飾オブジェクトとして指定してもよい。
【０２２１】
また、第１実施形態では、ユーザが所定の時間、ページの任意の表示範囲を表示させることで、修飾オブジェクトを決定したが、所定の時間に何も操作ができないため、修飾オブジェクトを登録するためには、一定の時間が必要であった。それに対し、第２実施形態では、ユーザが調整して表示した表示領域を直接タップすることで修飾オブジェクトを記憶することができるため、時間の短縮を図ることができる。
【０２２２】
また、関心領域表示モードかつページ表示モードでドキュメントを読み進める場合、新たなページを表示する際に、ページ全体が表示されず、ページの一部分のみが表示されることが考えられる。そして、該ページの表示されない部分に、本来ユーザが関心のある、修飾オブジェクトとは異なる別のオブジェクトが存在し得る。その場合は、画面外に追いやられて読めないオブジェクトについて、修飾オブジェクトと同等なオブジェクトか否かを判定する。そして、修飾オブジェクトでは無いと判定されるオブジェクトが存在する場合、表示エリア外にそのようなオブジェクトが存在することをユーザに明示する。ユーザへの明示方法としては、表示エリアの周囲のうち、オブジェクトが存在する方向の一部分にマークを表示する方法の他、全体表示をした上で、ユーザの好みの表示領域に自動的に縮小表示する方法、ページ全体を表示する方法などが考えられる。
【０２２３】
第１および第２実施形態において、オブジェクトの相関値を決定する方法として、図４３または図４７の処理により、相関値を算出し、オブジェクトが一致しているか否かの判定を行う方法を例示した。しかしながら、これらに限定されるものでは無く、オブジェクト同士の面積、種類、色などの情報のうち、少なくとも一つ以上の情報を用いた演算で相関値を算出し、予め定めた条件（判定基準）に一致するか否かで、オブジェクトの一致を判定してもよい。また、より簡単に判定するには、単純にそれぞれオブジェクトの座標のみを比較し、重なり合う面積が、各オブジェクトの面積の一定割合以上か否かを判定することで、オブジェクトが一致しているかどうかを判定してもよい。さらに、登録したページの修飾オブジェクト（第１の情報）と左右対称の位置座標を有する修飾オブジェクトを含むページの情報（第２の情報）をさらに登録しておく。これにより、左右対称になったページのオブジェクトが修飾オブジェクトと一致しているか否かでページが同等か否かを判定してもよい。
【０２２４】
また、ユーザがページを拡大、縮小などで表示範囲を変更した場合、変更した表示領域で所定の判定基準（すなわち、所定の時間操作をしない、またはトリプルタップする）により新たな修飾オブジェクトを登録し、その表示領域を新規の表示領域としてもよい。さらに、第１実施形態では、ユーザが修飾オブジェクトを登録する際に、ユーザが所定の時間、ページの任意の表示範囲を表示した後に、操作した場合、該表示範囲を記憶し、該表示範囲外のオブジェクトを修飾オブジェクトとして登録する例を示した。また、第２実施形態では、トリプルタップなどのアクションを行い、登録をする例を示した。しかしながら、これに限定されるものでは無く、例えば、ユーザが選択したジェスチャや、任意のジェスチャを組み合わせることにより修飾オブジェクトを判定および登録することができる。そして、さらに別の修飾オブジェクトを登録するする方法として、複数のアクションを組み合わせる、またはユーザが好みのアクションを定義することで修飾オブジェクトを判定および登録することができる。
【０２２５】
（その他の実施例）
本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施例の機能を実現するプログラムコード（コンピュータプログラム）を記録した記録媒体を、システムあるいは装置に供給する。供給されたシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２２６】
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される。
【０２２７】
また、上述した実施形態では、コンピュータがプログラムを実行することにより、各処理部として機能するものとしたが、処理の一部または全部を専用の電子回路（ハードウェア）で構成するようにしても構わない。
【図１】
2015046045.tif 000003
【図２】
2015046045.tif 000004
【図３】
2015046045.tif 000005
【図４】
2015046045.tif 000006
【図５】
2015046045.tif 000007
【図６】
2015046045.tif 000008
【図７】
2015046045.tif 000009
【図８】
2015046045.tif 000010
【図９】
2015046045.tif 000011
【図１０】
2015046045.tif 000012
【図１１】
2015046045.tif 000013
【図１２】
2015046045.tif 000014
【図１３】
2015046045.tif 000015
【図１４】
2015046045.tif 000016
【図１５】
2015046045.tif 000017
【図１６】
2015046045.tif 000018
【図１７】
2015046045.tif 000019
【図１８】
2015046045.tif 000020
【図１９】
2015046045.tif 000021
【図２０】
2015046045.tif 000022
【図２１】
2015046045.tif 000023
【図２２】
2015046045.tif 000024
【図２３】
2015046045.tif 000025
【図２４】
2015046045.tif 000026
【図２５】
2015046045.tif 000027
【図２６】
2015046045.tif 000028
【図２７】
2015046045.tif 000029
【図２８】
2015046045.tif 000030
【図２９】
2015046045.tif 000031
【図３０】
2015046045.tif 000032
【図３１】
2015046045.tif 000033
【図３２】
2015046045.tif 000034
【図３３】
2015046045.tif 000035
【図３４】
2015046045.tif 000036
【図３５】
2015046045.tif 000037
【図３６】
2015046045.tif 000038
【図３７】
2015046045.tif 000039
【図３８】
2015046045.tif 000040
【図３９】
2015046045.tif 000041
【図４０】
2015046045.tif 000042
【図４１】
2015046045.tif 000043
【図４２】
2015046045.tif 000044
【図４３】
2015046045.tif 000045
【図４４】
2015046045.tif 000046
【図４５】
2015046045.tif 000047
【図４６】
2015046045.tif 000048
【図４７】
2015046045.tif 000049
【図４８】
2015046045.tif 000050
【図４９】
2015046045.tif 000051