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