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