(57)【要約】【課題】ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像と読取手段により読み取った読取画像との差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制する。【解決手段】ＰＤＬデータ展開部２２は、ＰＤＬデータをビットマップの画像データに展開する。差分抽出部２８は、原稿を読み取って得られたビットマップの読取画像データと、上記展開された画像データとの差分を抽出する。制御部２９は、抽出した差分に基づいて、ＰＤＬデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、ＰＤＬデータ展開部２２によりＰＤＬデータで指定されたフォントを他のフォントに置換えた状態で再度展開されるようにＰＤＬデータ展開部２２を制御する。【選択図】図２
2013174954.tif 000002
【特許請求の範囲】
【請求項１】
ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、
読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する差分抽出手段と、
前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、
を備えた情報処理装置。
【請求項２】
前記制御手段は、前記差分抽出手段により抽出される差分が予め定められた閾値以下となるまで、前記フォントの置換え及び再展開が繰り返されるように制御する
請求項１に記載の情報処理装置。
【請求項３】
前記制御手段により前記フォントの置換え及び再展開が複数回繰り返された場合に、前記差分抽出手段により抽出された各差分のうち、最も小さい差分を最終的に得られた差分として選択する差分選択手段を更に備えた
請求項１又は請求項２に記載の情報処理装置。
【請求項４】
前記差分抽出手段は、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する
請求項１〜請求項３のいずれか１項記載の情報処理装置。
【請求項５】
ページ記述言語形式で記述された第１のデータ及び第２のデータの各々をビットマップの画像データに展開する際に、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字について指定されたフォントが異なる場合に、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する展開手段と、
前記展開手段により前記第１のデータ及び前記第２のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、
を備えた情報処理装置。
【請求項６】
前記展開手段は、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字の内容が同一で、且つ指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する
請求項５に記載の情報処理装置。
【請求項７】
前記差分抽出手段は、前記第１のデータが表わす画像を複数の部分領域に分割したときの各部分領域、及び前記第２のデータが表わす画像を前記第１のデータと共通の方法により複数の部分領域に分割したときの各部分領域において、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断した場合には、該一方の部分領域について前記展開手段により展開されて得られた画像データを差分として抽出し、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断しなかった場合には、該部分領域の各々について前記展開手段により展開して得られた画像データの各々において、同一位置の画素の画素値同士を比較することにより差分を抽出する
請求項５又は請求項６に記載の情報処理装置。
【請求項８】
コンピュータを、
ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、
読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する差分抽出手段と、
前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、
として機能させるためのプログラム。
【請求項９】
コンピュータを、
ページ記述言語形式で記述された第１のデータ及び第２のデータの各々をビットマップの画像データに展開する際に、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字について指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する展開手段と、
前記展開手段により前記第１のデータ及び前記第２のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、オリジナル原稿のデータ（以下、オリジナル画像データ）を保存する手段と、加筆原稿のデータ（以下、追記画像データ）をスキャンする手段と、オリジナル画像データと加筆原稿の差分データ（以下、差分データ）を検出する手段と、追記画像データの優先度を決定する手段と、発生元を区別する手段と、オリジナルの画像が印刷されている用紙の余白を検出する手段と、余白に１つ以上の差分データを配置する手段と、差分データ同士が重なる場合には優先度に応じて位置をずらして配置する手段を備えた情報処理装置が開示されている。
【０００３】
特許文献２には、原稿を読み取って画像データを生成する画像読み取り手段と、前記原稿に付加された特定情報を解読する解読手段と、前記解読手段で解読した特定情報に基づき、予め保存手段に保存された前記原稿のオリジナルデータを抽出する抽出手段と、前記抽出手段によって抽出したオリジナルデータと前記画像読み取り手段によって読み取られた画像データとを比較してその差分をとり、前記原稿のオリジナル原稿部とそれ以外の追記部を判別する判別手段とを備えたことを特徴とする情報処理装置が開示されている。
【０００４】
特許文献３には、電話回線を閉結する電話回線制御手段と、電話回線を通じて送られてくる画像データを受信する画像データ通信手段と、前記画像データ通信手段が受信した画像データを復元する画像データ復元手段と、前記画像データ復元手段が復元した画像データを印刷する印刷手段と、前記画像データ復元手段が復元した画像データから余白を検出する余白検出手段と、定形記録紙の有効記録紙長を検出する記録紙長検出手段と、前記画像データ復元手段が復元した未印刷のライン数と前記記録紙長検出手段が検出した有効記録紙長とが等しくなったときに前記余白検出手段が検出した余白部分までを前記印刷手段に印刷させる制御手段を備えたことを特徴とするファクシミリ装置が開示されている。
【０００５】
特許文献４には、ファクシミリ情報を受信するデータ受信手段と、このデータ受信手段で受信されたファクシミリ情報における白紙ラインを検知すると共に連続する白紙ラインのライン数を計数するライン数計数手段と、上記ライン数に基づいて所定数以上の白紙ラインが連続するときに上記ファクシミリ情報から削除する白紙ライン削除手段と、上記白紙ライン削除手段で削除されずに残った上記ファクシミリ情報をロール紙に記録可能なデータ記録手段とを具備することを特徴とするファクシミリが開示されている。
【０００６】
特許文献５には、画像データを構成している複数の画素の画素値に基づいて対象画像領域と余白領域とを判別する領域判別手段と、前記画像データのうち前記領域判別手段によって判別された対象画像領域を抽出する対象画像抽出手段とを具備したことを特徴とする画像データ処理装置が開示されている。
【０００７】
特許文献６には、原稿台にセットした原稿を読み取り、読み取った原稿の画像情報に基づいて転写材に画像を形成する画像形成装置において、読み取った原稿の画像情報を記憶する記憶手段と、読み取った原稿の先端部分又は後端部分に形成された余白部分を認識する余白認識手段と、余白認識手段によって認識された余白長さが予め設定された余白長さよりも長い場合に、その設定値よりも長い余白を除去する余白除去手段とを備え、余白除去手段により除去された部分を除いた画像を転写材に転写することを特徴とする画像形成装置が開示されている。
【０００８】
特許文献７には、第１の画像と第２の画像からそれぞれ部分画像を抽出する部分画像抽出手段と、前記部分画像抽出手段によって抽出された部分画像を、それぞれの前記画像内における該部分画像の位置に基づいて、順序付けを行なう順序付手段と、前記順序付手段によって順序付けされた部分画像の順序に基づいて、対応する該部分画像間の比較を行ない、前記第１の画像と前記第２の画像の差異を抽出する差異抽出手段を具備することを特徴とする情報処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１４７４３５号公報
【特許文献２】特開２００４−０８０６０１号公報
【特許文献３】特開平０９−０８３７８０号公報
【特許文献４】特開平１０−３１３３９７号公報
【特許文献５】特開２００２−０９４７６２号公報
【特許文献６】特開２００５−０９４４１３号公報
【特許文献７】特開２００９−２５８８１５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像と読取手段により読み取った読取画像との差分、又はＰＤＬデータが表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる情報処理装置、及びプログラムを得ることを目的とする。
【課題を解決するための手段】
【００１１】
請求項１の発明は、ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する差分抽出手段と、前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、を備えた情報処理装置である。
【００１２】
請求項２の発明は、請求項１に記載の情報処理装置において、前記制御手段は、前記差分抽出手段により抽出される差分が予め定められた閾値以下となるまで、前記フォントの置換え及び再展開が繰り返されるように制御する。
【００１３】
請求項３の発明は、請求項１又は請求項２に記載の情報処理装置において、前記制御手段により前記フォントの置換え及び再展開が複数回繰り返された場合に、前記差分抽出手段により抽出された各差分のうち、最も小さい差分を最終的に得られた差分として選択する差分選択手段を更に備えている。
【００１４】
請求項４の発明は、請求項１〜請求項３のいずれか１項記載の情報処理装置において、前記差分抽出手段は、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する。
【００１５】
請求項５の発明は、ページ記述言語形式で記述された第１のデータ及び第２のデータの各々をビットマップの画像データに展開する際に、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字について指定されたフォントが異なる場合に、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する展開手段と、前記展開手段により前記第１のデータ及び前記第２のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、を備えた情報処理装置である。
【００１６】
請求項６の発明は、請求項５に記載の情報処理装置において、前記展開手段は、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字の内容が同一で、且つ指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する。
【００１７】
請求項７の発明は、請求項５又は請求項６に記載の情報処理装置において、前記差分抽出手段は、前記第１のデータが表わす画像を複数の部分領域に分割したときの各部分領域、及び前記第２のデータが表わす画像を前記第１のデータと共通の方法により複数の部分領域に分割したときの各部分領域において、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断した場合には、該一方の部分領域について前記展開手段により展開されて得られた画像データを差分として抽出し、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断しなかった場合には、該部分領域の各々について前記展開手段により展開して得られた画像データの各々において、同一位置の画素の画素値同士を比較することにより差分を抽出する。
【００１８】
請求項８の発明は、コンピュータを、ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する差分抽出手段と、前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、として機能させるためのプログラムである。
【００１９】
請求項９の発明は、コンピュータを、ページ記述言語形式で記述された第１のデータ及び第２のデータの各々をビットマップの画像データに展開する際に、前記第１のデータ及び前記第２のデータにおいて、互いに同一位置に描画される文字について指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第１のデータ及び前記第２のデータの少なくとも一方を変更した上で、前記第１のデータ及び前記第２のデータを展開する展開手段と、前記展開手段により前記第１のデータ及び前記第２のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、として機能させるためのプログラムである。
【発明の効果】
【００２０】
請求項１に記載の発明によれば、ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像と読取手段により読み取った読取画像との差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
【００２１】
請求項２に記載の発明によれば、本構成を有しない場合に比べて、フォントの違いにより差分が大きくなることを抑制することができる。
【００２２】
請求項３に記載の発明によれば、本構成を有しない場合に比べて、フォントの違いにより差分が大きくなることを抑制することができる。
【００２３】
請求項４に記載の発明によれば、効率的に差分を抽出することができる。
【００２４】
請求項５に記載の発明によれば、ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
【００２５】
請求項６に記載の発明によれば、フォントの違いのみによる差分が抽出されることを抑制することができる。
【００２６】
請求項７に記載の発明によれば、効率的に差分を抽出することができる。
【００２７】
請求項８に記載の発明によれば、ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像と読取手段により読み取った読取画像との差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
【００２８】
請求項９に記載の発明によれば、ページ記述言語形式のデータ（ＰＤＬデータ）が表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
【図面の簡単な説明】
【００２９】
【図１】情報処理装置、端末装置、印刷装置が通信手段を介して接続されている状態を示す図である。
【図２】第１の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。
【図３】情報処理装置のハードウェア構成例を示す図である。
【図４】第１の実施形態の情報処理装置で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【図５】（Ａ）は、ＰＤＬデータが表わす画像の一例であり、（Ｂ）は、読取画像データが表わす画像の一例であり、（Ｃ）は、フォントを置換えずに差分抽出した場合の差分画像の表示例であり、（Ｄ）は、フォントを置換えて差分抽出した場合の差分画像の表示例である。
【図６】フォント類推テーブルの一例を示す図である。
【図７】第２の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。
【図８】第２の実施形態の情報処理装置で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【図９】文字処理の流れを示すフローチャートである。
【図１０】図形・イメージ処理の流れを示すフローチャートである。
【図１１】第３の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。
【図１２】第３の実施形態の情報処理装置で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【図１３】第３の実施形態の情報処理装置の作用を概念的に説明する説明図である。
【図１４】第３の実施形態に係る情報処理装置の機能構成の変形例である。
【図１５】図１４に示す情報処理装置で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【図１６】第３の実施形態に係る情報処理装置の機能構成の変形例である。
【図１７】図１６に示す情報処理装置で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、実施形態について詳細に説明する。
【００３１】
［第１の実施形態］
【００３２】
第１の実施形態において、図１に示すように、情報処理装置１０、端末装置１２ａ、１２ｂ、１２ｃ、及び印刷装置１４が、通信手段１６を介して接続されている。なお、通信手段１６は、公衆回線であってもよいし、インターネット、ＬＡＮ（Local Area Network)、ＷＡＮ(Wide Area Network)等のネットワークであってもよい。また、通信手段を、無線の通信手段としてもよいし、有線の通信手段としてもよい。
【００３３】
端末装置１２ａ、１２ｂ、１２ｃは、アプリケーション等により作成されたデータを印刷するための、ページ記述言語（ＰＤＬ：Page Description Language）で記述した印刷データ（以下、ＰＤＬデータと呼称する）を作成して、情報処理装置１０に送信する。ＰＤＬデータは、例えば、ＨＰＧＬ形式或いはＰＤＦ形式のデータであってもよいし、ポストスクリプト等であってもよい。なお、端末装置１２ａ、１２ｂ、１２ｃは、それぞれコンピュータにより構成され、それぞれＰＤＬデータの作成環境が異なっているものとする。ここで、ＰＤＬデータの作成環境（以下、単に環境という）とは、ＯＳ（オペレーティングシステム）のバージョンや種類、ＰＤＬデータを作成したソフトウエア（プリンタドライバ）のバージョン等をいう。ＯＳのバージョンや種類が異なると、インストールされているフォント（文字の形状を示す書体）が異なる場合があり、また、プリンタドライバのバージョンが異なるとＰＤＬデータの作成において使用されるフォントが異なる場合がある。
【００３４】
情報処理装置１０は、端末装置１２ａ、１２ｂ、１２ｃから受信したＰＤＬデータを印刷装置１４に転送する。
【００３５】
印刷装置１４は、印刷画像を用紙等の記録媒体に印刷する印刷手段を有する。印刷装置１４は、情報処理装置１０から受信したＰＤＬデータをビットマップの画像データに変換し、印刷手段により印刷する。なお、ＰＤＬデータをビットマップの画像データに変換する処理を情報処理装置１０が行なうようにしてもよい。また、印刷装置１４は、端末装置１２ａ、１２ｂ、１２ｃから直接ＰＤＬデータを受信し、該受信したＰＤＬデータに基づいて、印刷画像を用紙等の記録媒体に印刷する場合もある。更にまた、印刷装置１４には、原稿の画像を読み取る読取手段も設けられており、読取手段により原稿を読み取って得られたビットマップの画像データ（以下、読取画像データと呼称する）は、情報処理装置１０に送信され、情報処理装置１０で保持される。以下、ＰＤＬデータから変換（展開）されたビットマップの画像データをＰＤＬ展開画像データと呼称する。
【００３６】
なお、情報処理装置１０は、ＰＤＬ展開画像データが表わす画像と読取画像データが表わす画像とで、互いに異なる部分（以下、異なる部分を「差分」という）を抽出する差分抽出機能も備えている。例えば、端末装置１２ａ、１２ｂ、１２ｃのいずれかを操作する利用者が、アプリケーション等によりデータを作成し、該データをＰＤＬデータに変換して印刷装置１４により印刷させた後、該印刷物に、手書きによる追加や修正ペン等による削除等の変更を加え、該変更を加えた印刷物を印刷装置１４により読み取らせたりする場合がある。情報処理装置１０は、差分抽出機能により、例えば、上記印刷装置１４により読み取って得られた読取画像データが表わす画像と、元々のＰＤＬ展開画像データが表わす画像との差分を抽出する。
【００３７】
なお、ＰＤＬデータを生成する端末装置の環境によっては、例えばアプリケーションで指定されたフォントが端末装置にインストールされておらず、該指定されたフォントとは異なるフォントを指定したＰＤＬデータが作成されてしまう場合がある。更にはこれを印刷すると、フォントが異なる印刷結果が出力されてしまう。すなわち、同じデータから生成したＰＤＬデータであっても、ＰＤＬデータを生成する環境によっては、フォントが異なるＰＤＬデータが生成され、フォントが異なる印刷物が印刷されてしまう可能性がある。このフォントが異なる印刷物に対し更に手書き等で変更を加えた場合、従来の手法で差分抽出を行なうと、手書き部分だけでなく。本来差分として抽出すべきでない文字部分も差分として抽出されてしまう可能性がある。このため、本実施形態では後述するように差分抽出を行なう。
【００３８】
図２は、第１の実施形態に係る情報処理装置１０の構成を機能的に示した機能構成図である。情報処理装置１０は、データ取得部２０、ＰＤＬデータ展開部２２、フォント情報記憶部２４、フォント置換部２６、差分抽出部２８、制御部２９、差分画像生成部３０、及び差分表示部３２を備えている。
【００３９】
データ取得部２０は、差分を抽出する対象となるＰＤＬデータと読取画像データとを取得する。
【００４０】
ＰＤＬデータ展開部２２は、データ取得部２０で取得されたＰＤＬデータを解析し、ビットマップの画像データに変換する。すなわち、ＰＤＬデータ展開部２２は、ＰＤＬデータの解釈処理において、ＰＤＬデータから命令を１つずつ抽出し、展開処理において上記抽出した命令を実行することで、ビットマップの画像データ（ＰＤＬ展開画像データ）を生成する。ＰＤＬデータには、文字、図形、或いはイメージ等のオブジェクトを描画するための命令が含まれる。例えば、文字コード等が指定され文字オブジェクト（以下、単に文字という）を描画する文字描画命令、該描画する文字のフォントを指定するフォント指定命令、図形オブジェクト（以下、単に図形という）を描画する図形描画命令、イメージオブジェクト（以下、単にイメージという）を描画するイメージ描画命令等が含まれている。フォント指定命令は、文字描画命令に先んじて実行され、その後、文字描画命令により、フォント指定命令で指定されたフォントで文字列が描画される。なお、ＰＤＬデータには、ＰＤＬデータが作成された環境を示す情報等も含まれている。ＰＤＬデータ展開部２２により生成されたＰＤＬ展開画像データは、差分抽出部２８に供給される。
【００４１】
また、ＰＤＬデータ展開部２２は、ＰＤＬ展開画像データを差分抽出部２８に供給した後、制御部２９からフォント置換指示を受け取った場合には、ＰＤＬデータに含まれるフォント指定命令を変更して、再度ＰＤＬデータを展開する。具体的には、ＰＤＬデータ展開部２２は、ＰＤＬデータに含まれるフォント指定命令により指定されたフォント（指定フォント）を、フォント置換部２６により提供された代替フォントに置換えて再展開する。
【００４２】
フォント情報記憶部２４には、フォント指定命令により指定されたフォントを代替する代替フォントの情報が記憶されている。
【００４３】
フォント置換部２６は、ＰＤＬデータ展開部２２から置換対象のフォントの情報を受け取ると、該フォントを代替する代替フォントをフォント情報記憶部２４から読み出し、ＰＤＬデータ展開部２２に提供する。
【００４４】
差分抽出部２８は、ＰＤＬデータ展開部２２からＰＤＬ展開画像データを取得すると共に、データ取得部２０から読取画像データを取得する。差分抽出部２８は、取得したＰＤＬ展開画像データと読取画像データとの差分を抽出する。例えば、ＰＤＬ展開画像データと読取画像データとで同一位置の画素同士を比較し、画素値が閾値以上異なる部分を「差分」として抽出するようにしてもよい。
【００４５】
制御部２９は、差分抽出部２８により抽出された差分を取得し、該差分の大きさ（面積、或いは画素数）に応じて、フォント指定命令の指定フォントを代替フォントに置換えるか否かを判断し、置換えると判断した場合には、ＰＤＬデータ展開部２２に対して、フォント置換指示を出力する。本実施形態では、制御部２９によりフォント指定命令の指定フォントを置換えないと判断されるまで、差分抽出、判断、及びフォント置換え、及び再展開が繰り返されるが、フォントの置換え回数に上限値を設定してもよい。
【００４６】
差分抽出部２８は、制御部２９がフォント指定命令の指定フォントを置換えないと判断したときの差分を示す差分情報を差分画像生成部３０に供給する。なお、差分情報は、例えば、上記異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、ＰＤＬ展開画像データの中から上記異なる部分に対応する画像データを抽出すると共に、読取画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を差分情報としてもよい。
【００４７】
差分画像生成部３０は、差分抽出部２８から受け取った差分情報に基づいて、ＰＤＬ展開画像データが表わす画像と読取画像データが表わす画像とで差分が明示された差分画像の差分画像データを生成する。
【００４８】
差分表示部３２は、差分画像生成部３０で生成された差分画像データに基づいて、差分画像を表示する。
【００４９】
なお、情報処理装置１０のハードウェア構成例を図３に示す。情報処理装置１０は、図３に示すコンピュータ９８がプログラムを実行することにより実現することができる。
【００５０】
コンピュータ９８は、ＣＰＵ（Central Processing Unit）８０、ＲＯＭ（Read Only Memory）８２、ＲＡＭ（Random Access Memory）８４、ＨＤＤ（Hard Disk Drive）８６、操作部８８、表示部９０、及び通信ＩＦ（Interface）９２がバス９４を介して接続されて構成されている。
【００５１】
ＣＰＵ８０は、ＲＯＭ８２やＨＤＤ８６に記憶されているプログラムを実行し、自装置全体の動作を制御する。ＲＯＭ８２には、ＣＰＵ８０が実行するプログラム（後述する画像処理のプログラム等を含む）やＣＰＵ８０の処理に必要な情報等が記憶されている。ＣＰＵ８０が該プログラムを実行することによって、図２を用いて説明した情報処理装置１０を実現する。ＲＡＭ８４は、ワークメモリ等として使用される。
【００５２】
ＨＤＤ８６には、ＣＰＵ８０が実行するプログラム、様々な設定情報やデータが記憶されている。外部から受信した読取画像データやＰＤＬデータもＨＤＤ８６に記憶される。また、様々なフォント情報を記憶した記憶領域も設けられている。この記憶領域が上記フォント情報記憶部２４に対応する。更にまた、端末装置１２ａ〜１２ｃまでの各端末装置にインストールされているフォントのデータも、ＨＤＤ８６に記憶されているものとする。
【００５３】
なお、ＣＰＵ８０が実行するプログラムを記憶するための記憶媒体は、ＨＤＤ８６やＲＯＭ８２に限定されない。例えば、フレキシブルディスクやＤＶＤディスク、光磁気ディスクやＵＳＢメモリ（ユニバーサルシリアルバスメモリ）等（不図示）であってもよいし、通信手段１６に接続された他の装置の記憶装置であってもよい。
【００５４】
操作部８８は、例えば、キーボードやマウス等により構成され、利用者が操作部８８を操作することより各種情報が指定される。表示部９０は、例えば、液晶ディスプレイ、ＥＬディスプレイ等により構成され、ＣＰＵ８０の制御により各種画像やメッセージ、或いは後述する差分画像等を表示する。
【００５５】
通信ＩＦ９２は、通信手段を介して他の装置と通信を行なうためのインタフェースである。
【００５６】
次に、第１の実施形態における作用を図４及び図５を用いて説明する。
【００５７】
図４は、情報処理装置１０で実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【００５８】
ステップ１００において、データ取得部２０は、差分抽出対象であるＰＤＬデータと読取画像データとを取得する。例えば、事前に、差分抽出対象として、端末装置１２ａ、１２ｂ、１２ｃのいずれかから受信したＰＤＬデータと、印刷装置１４で読み取られた読取画像データとがＨＤＤ８６等の記憶部に記憶されている場合には、該記憶部から取得すればよいし、この差分抽出処理を開始する際に、端末装置１２ａ、１２ｂ、１２ｃのいずれかからＰＤＬデータを取得し、印刷装置１４から読取画像データを取得するようにしてもよい。また、読取画像データは、印刷装置１４以外の他の読取装置で読み取られた読取画像データであってもよい。
【００５９】
ステップ１０２において、ＰＤＬデータ展開部２２は、データ取得部２０により取得されたＰＤＬデータを解析し、該ＰＤＬデータをビットマップの画像データ（ＰＤＬ展開画像データ）に展開する。
【００６０】
ステップ１０４において、差分抽出部２８は、ＰＤＬ展開画像データと、読取画像データとを比較して差分を抽出する。
【００６１】
ステップ１０６において、制御部２９は、上記比較結果に基づいて、ＰＤＬ展開画像データの元となったＰＤＬデータに含まれるフォント指定命令で指定された指定フォントを代替フォントに置換えて再展開するか否かを判断する。フォントが異なるだけでも、全体の差分は大きくなるため、ここでは、ＰＤＬ展開画像データと読取画像データとで画素値が予め定められた値以上異なる画素の数をカウントし、該カウント値が予め定められた閾値より大きければ、代替フォントに置換えると判断するようにしてもよい。
【００６２】
なお、元々のＰＤＬデータから、文字領域の面積はおおよそ把握できるため、文字領域の面積に応じて閾値を異ならせてもよい（例えば、文字領域の面積が大きいほど閾値を大きくする等）。また、文字領域が予め定められた面積以上であるにも関わらす、差分が小さい場合には、差分の中にフォントの違いによる差分は含まれていないと判断するようにしてもよい。
【００６３】
更にまた、元々のＰＤＬデータにより、文字領域が特定されるため、該特定された文字領域において上記カウント値が予め定められた閾値以上となった場合に、代替フォントに置換えて再展開すると判断するようにしてもよい。
【００６４】
また、利用者に対して、ＰＤＬ展開画像データの画像と読取画像データの画像とを表示して目視で確認させ、フォントを代替フォントに置換えるか否かを判断させるようにしてもよい。判断結果は、例えば、利用者に操作部８８を介して入力させ、制御部２９は、該利用者の判断結果に従って、ステップ１０６の判断を行なうようにしてもよい。利用者による目視の判断は、代替フォントに置換えて再展開すると判断した後に、最終確認として行なうようにしてもよい。これにより、代替フォントに置換えて再展開すると判断した場合にでも、利用者によりフォントの置換え及び再展開が中止される場合がある。
【００６５】
制御部２９は、ステップ１０６において、指定フォントを代替フォントに置換えると判断した場合には、ステップ１０８において、ＰＤＬデータ展開部２２に対してフォント置換指示を出力して、ＰＤＬデータに含まれるフォント指示命令による指定フォントを代替フォントに置換えさせて、再度展開させる。
【００６６】
ＰＤＬデータ展開部２２は、フォント置換指示に従い、現在のフォント指令命令により指定されているフォントの情報をフォント置換部２６に渡す。
【００６７】
フォント置換部２６は、該フォントの情報に基づいて、フォント情報記憶部２４から代替フォントを読み出し、代替フォントの情報をＰＤＬデータ展開部２２に渡す。フォント情報記憶部２４には、各フォントに対して代替フォントが対応付けられて記憶されている。従って、フォント置換部２６は、フォント情報記憶部２４から、指定フォントに対応付けられている代替フォント（複数の代替フォントが対応付けられている場合には、複数のうちから選択した１つの代替フォント）の情報を読み出す。
【００６８】
ＰＤＬデータ展開部２２は、ＰＤＬデータのフォント指定命令による指定フォントを、フォント置換部２６から受け取った情報が示す代替フォントに置換えて、再度展開処理を行なって、ＰＤＬ展開画像データを生成し、差分抽出部２８に供給する。
【００６９】
差分抽出部２８は、ステップ１０４に戻って、新たに生成されたＰＤＬ展開画像データと、読取画像データとを比較して差分を抽出する。その後、ステップ１０６において、肯定判断された場合には、別の代替フォントに置換えられるように、再度ステップ１０８の処理を繰り返す。すなわち、ステップ１０６で否定判断されるまで、ステップ１０４〜１０８の処理が繰り返される。ステップ１０６において否定判断された場合には、ステップ１１０に進む。
【００７０】
ステップ１１０において、差分抽出部２８は、制御部２９によりフォントを置換えないと判断したときに抽出した差分を示す情報（差分情報）を差分画像生成部３０に供給する。なお、差分抽出部２８は、フォントを複数回置換えた場合には、最も差分が小さくなったときの差分情報を選択して、差分画像生成部３０に供給するようにしてもよい。差分画像生成部３０は、差分情報に基づいて、差分を表わす画像（差分画像）の差分画像データを生成する。
【００７１】
ステップ１１２においては、差分表示部３２は、差分画像生成部３０で生成された差分画像データに基づいて、差分画像を表示する。なお、差分画像は、利用者が差分を把握することができれば、どのような画像であってもよく、例えば、ＰＤＬ展開画像データと読取画像データとで異なる部分については、それぞれの部分画像を重畳して配置し、それ以外の部分（差分として抽出されなかった部分）については、重畳せずに、ＰＤＬ展開画像データ及び読取画像データのいずれか一方が表わす画像を配置した差分画像としてもよい。
【００７２】
図５に一例を示す。図５（Ａ）は、ＰＤＬデータが表わす画像であり、図５（Ｂ）は、読取画像データが表わす画像であるものとする。差分画像については、２つの画像の異なる部分について、それぞれの部分画像を重畳し、該重畳部分に破線等により表現された枠画像を更に重畳した画像を差分画像として生成するものとする。仮に、フォントの置換えが行なわれない場合には、図５（Ｃ）に示すように、文字領域の部分も差分として抽出され、表示されてしまうが、上記のようにフォントの置換えが行なわれる場合には、図５（Ｄ）に示すように、文字領域は差分として抽出されにくくなる。
【００７３】
なお、ここでは、異なる部分の各部分画像を重畳して配置し破線で囲むことにより異なる部分を表示する例について説明したが、部分画像の各々の色を異ならせて重畳して配置することにより、異なる部分を表示するようにしてもよい。或いは、異なる部分を点滅表示する等の表示方法を採用してもよい。更には、ＰＤＬ展開画像データの画像と、読取画像データの画像とを並べて表示し、互いに異なる部分に対して破線などにより表現された枠画像を重畳するようにしてもよい。
【００７４】
なお、フォント置換部２６は、例えば、図６に示されるフォント類推テーブルを使用して、フォント毎に代替される可能性の高いフォントを類推して、代替フォントを決定するようにしてもよい。
【００７５】
予め、フォント情報記憶部２４に、フォント類推テーブルを記憶しておく。フォント類推テーブルは、フォント指定命令で指定された指定フォントが、ＰＤＬデータの作成時にどのフォントから置換えられたのかを類推するためのテーブルである。ここでは、各端末装置１２ａ、１２ｂ、１２ｃの各々には、種類は同じであるが、バージョンが異なるＯＳが搭載されているものとして説明する。
【００７６】
図６（Ａ）は、ＯＳのバージョンとフォント類推テーブルのアドレスとを対応付けたメインテーブルの一例である。このメインテーブルにより、バージョン1.0のフォント類推テーブルは、アドレスadd_r1に記憶されており、バージョン2.0のフォント類推テーブルは、アドレスadd_r2に記憶されていることがわかる。
【００７７】
図６（Ｂ）には、ＯＳのバージョンが1.0のフォント類推テーブルの一例が示されている。また、図６（Ｃ）には、ＯＳのバージョンが2.0のフォント類推テーブルの一例が示されている。各フォント類推テーブルには、代替フォントが優先度順に登録された代替テーブルを記憶した記憶領域のアドレスがフォントファミリ毎に登録されている。ここで、フォントファミリとは、デザインが類似するフォント（書体）をひとまとめにしたフォントの集まりを表わす。例えば、線の太さや斜体など文字のスタイル属性が異なるフォントを含むフォントの集まりをいう。
【００７８】
図６（Ｂ）及び図６（Ｃ）の各々において、フォントファミリとして、ゴシック（Gothic）と、明朝（Mincho）が登録されており、各々に代替テーブルのアドレスが対応付けられて登録されている。図６（Ｂ）により、ＯＳのバージョン1.0のゴシックの代替テーブルは、アドレスadd_1に記憶されており、ＯＳのバージョン1.0の明朝の代替テーブルは、アドレスadd_2に記憶されていることがわかる。また、図６（Ｃ）により、ＯＳのバージョン2.0のゴシックの代替テーブルは、アドレスadd_5に記憶されており、ＯＳのバージョン2.0の明朝の代替テーブルは、アドレスadd_6に記憶されていることがわかる。
【００７９】
各アドレスが示す記憶領域に記憶されている代替テーブルを、図６（Ｄ）、（Ｅ）、（Ｆ）、（Ｇ）に示す。
【００８０】
例えば、図６（Ｄ）には、フォントファミリがゴシックの代替テーブルの一例が示されている。この例では、優先度が高い順に、OldGothic、Gothic-A、LegacyGothicの３つのフォントが登録されている。
【００８１】
ここで、例えば、オリジナルのアプリケーションデータでは、Gothic-Aというフォントを使用していたが、ＰＤＬデータを生成したときのＯＳの環境において、Gothic-Aがインストールされていないとすると、Gothic-Aとは異なるフォントがフォント指定命令で指定されてしまう。ここで、例えば、フォント指定命令で指定するフォントがOldGothicに置換えられた場合には、上記ステップ１０８において、フォント置換部２６は、上記類推テーブルを使用して以下のように類推し、指定フォントを代替フォントに置換えて再展開処理を行なう。
【００８２】
まず、フォント置換部２６は、フォント指定命令により元々指定されていた指定フォントOldGothicのフォントファミリを調べる。すると、Gothicが得られる。フォント名からフォントファミリを調べる方法は特に限定されないが、例えば、フォントファミリ名とフォント名とを対応付けたテーブルをフォント情報記憶部２４に記憶しておき、該テーブルから検索するようにしてもよい。
【００８３】
次に、フォント置換部２６は、ＰＤＬデータが作成されたコンピュータの動作環境を示す情報等を、ＰＤＬデータから抽出する。これにより、ＯＳのバージョンがわかるため、フォント置換部２６は、図６（Ａ）に示すメインテーブルからＯＳのバージョンに対応付けられたフォント類推テーブルのアドレスを検索する。ここで、ＰＤＬデータを作成した端末装置にインストールされたＯＳのバージョンは1.0であるとすると、アドレスadd_r１に記憶されたフォント類推テーブルを参照すればよいことがわかる。
【００８４】
そこで、フォント置換部２６は、図６（Ｂ）に示すフォント類推テーブルのフォントファミリ「ゴシック」に対応付けられた代替テーブル（図６（Ｄ））を調べる。図６（Ｄ）に示す代替テーブルには、優先度が高い順にOldGothic、Gothic-A、LegacyGothicというフォントが登録されている。フォント置換部２６は、この代替テーブルに登録されているフォントのいずれかが、元々のアプリケーションデータで指定されたフォントである可能性が高いと判断する。従って、フォント置換部２６は、現在ＰＤＬデータでフォント指定命令により指定されているフォントOldGothicを除くフォントのうち、優先度が最も高いフォントGothic-Aを代替フォントとして選択し、ＰＤＬデータ展開部２２に提供する。
【００８５】
ＰＤＬデータ展開部２２は、フォント指定命令で指定されたフォントをOldGothicからGothic-Aに置換えて展開する。
【００８６】
なお、仮に元々のアプリケーションデータで指定されたフォントがGothic-Aでない場合には、ステップ１０６において再度代替フォントに置換えると判断される可能性がある。この場合には、ステップ１０８で上記と同様にフォント類推テーブルから判断し、OldGothic以外でGothic-Aの次に優先度の高いLegacyGothicを選択して、ＰＤＬデータ展開部２２に提供することとなる。
【００８７】
なお、ここでは、バージョンが異なるＯＳ毎にフォント類推テーブルを設けて、代替フォントを選択する例について説明したが、種類が異なるＯＳ毎にフォント類推テーブルを設けて、代替フォントを選択するようにしてもよいし、ＯＳの種類及びバージョン毎にフォント類推テーブルを設けて、代替フォントを選択するようにしてもよい。
【００８８】
また、フォントを置換える毎に、置換えたフォントに対応させて差分抽出結果を保存しておき、該保存した差分抽出結果のうち、差分が小さい差分抽出結果が得られた代替フォントほど優先度が高くなるように、代替フォントテーブル内の優先度を変更してもよい。
【００８９】
また、ここでは、フォントファミリ毎に代替フォントテーブルを設けた例について説明したが、異なるフォントファミリのフォントがフォント指定命令のフォントとして使用される場合を想定し、フォントファミリで区切らずに、ＯＳの環境毎に、優先度順にフォントを登録した代替フォントテーブルを設けてもよい。
【００９０】
［第２の実施形態］
【００９１】
第１の実施形態においては、ＰＤＬ展開画像データと読取画像データとを比較して差分を抽出する例について説明したが、第２の実施形態においては、ＰＤＬデータ同士を比較して差分を抽出する例について説明する。なお、第２の実施形態の情報処理装置のハードウェア構成は、第１の実施形態と同様とされるが、機能構成は、第１の実施形態と異なるため、第２の実施形態の情報処理装置の符号を１０ａとして、第１の実施形態の情報処理装置１０と区別して説明する。
【００９２】
図７は、第２の実施形態に係る情報処理装置１０ａの構成を機能的に示した機能構成図である。情報処理装置１０ａは、データ取得部３４、ＰＤＬデータ解析部３６、文字展開差分抽出部３８、図形・イメージ展開差分抽出部４０、差分画像生成部４２、及び差分表示部４４を備えている。
【００９３】
データ取得部３４は、差分を抽出する対象となる２つのＰＤＬデータ（以下、第１ＰＤＬデータ及び第２ＰＤＬデータと呼称する）を取得する。
【００９４】
ＰＤＬデータ解析部３６は、データ取得部３４で取得された第１ＰＤＬデータを解析し、フォント指定命令及び文字描画命令を抽出して、文字展開差分抽出部３８に供給する。第１ＰＤＬデータから抽出されたフォント指定命令及び文字描画命令を、それぞれ第１フォント指定命令及び第１文字描画命令と呼称する。
【００９５】
また、ＰＤＬデータ解析部３６は、データ取得部３４で取得された第２ＰＤＬデータを解析し、フォント指定命令及び文字描画命令を抽出して、文字展開差分抽出部３８に供給する。第２ＰＤＬデータから抽出されたフォント指定命令及び文字描画命令を、それぞれ第２フォント指定命令及び第２文字描画命令と呼称する。
【００９６】
更に、ＰＤＬデータ解析部３６は、第１ＰＤＬデータを解析し、第１ＰＤＬデータに含まれる命令の中から第１フォント指定命令及び第１文字描画命令以外の命令（ここでは、図形描画命令及びイメージ描画命令）を図形・イメージ展開部５２に供給すると共に、第２ＰＤＬデータを解析し、第２ＰＤＬデータに含まれるに含まれる命令の中から第２フォント指定命令及び第２文字描画命令以外の命令（ここでは、図形描画命令及びイメージ描画命令）を図形・イメージ展開部５２に供給する。ここでは、第１ＰＤＬデータに含まれる図形描画命令及びイメージ描画命令を、それぞれ第１図形描画命令及び第１イメージ描画命令と呼称する。また、ここでは、第２ＰＤＬデータに含まれる図形描画命令及びイメージ描画命令を、それぞれ第２図形描画命令及び第２イメージ描画命令と呼称する。
【００９７】
なお、第１ＰＤＬデータに含まれる第１フォント指定命令、第１文字描画命令、第１図形描画命令、及び第１イメージ描画命令は、各々１つの場合もあれば複数の場合もある。同様に、第２ＰＤＬデータに含まれる第２フォント指定命令、第２文字描画命令、第２図形描画命令、及び第２イメージ描画命令は、各々１つの場合もあれば複数の場合もある。
【００９８】
なお、ＰＤＬデータ解析部３６は、上記各命令の他に、展開に必要な各種データがある場合には、該各種データをＰＤＬデータから抽出して文字展開差分抽出部３８及び図形・イメージ展開差分抽出部４０に供給するものとする。
【００９９】
文字展開差分抽出部３８は、判断部４６、文字展開部４８、及び文字差分抽出部５０を備えている。
【０１００】
判断部４６は、第１文字描画命令及び該第１文字描画命令により描画する文字のフォントを指定する第１フォント指定命令の各々と、該第１文字描画命令と描画位置が同一の第２文字描画命令及び該第２文字描画命令により描画する文字のフォントを指定する第２フォント指定命令の各々とを比較する。このように、ここでは、描画位置が同じ文字同士が比較されるように、各命令を比較する。判断部４６は、比較することにより、第１フォント指定命令及び第２フォント指定命令の少なくとも一方により指定された指定フォントを他のフォントに代替するか否かを判断する。
【０１０１】
文字展開部４８は、判断部４６により代替すると判断された場合には、第１フォント指定命令及び第２フォント指定命令の各々により指定される指定フォントの各々が同一となるように第１フォント指定命令及び第２フォント指定命令の少なくとも一方を変更し、変更後の命令を実行して展開する。また、文字展開部４８は、判断部４６により代替しないと判断された場合には、第１フォント指定命令及び第２フォント指定命令のいずれも変更せずに実行して展開する。ここで、第１ＰＤＬデータから抽出された命令と第２ＰＤＬデータから抽出された命令は別々に実行し、実行結果である画像データの各々も、各々異なる記憶領域に記憶されるものとする。以下、第１ＰＤＬデータから抽出された命令を実行して展開されたビットマップの文字の画像データを第１文字画像データと呼称し、第２ＰＤＬデータから抽出された命令を実行して展開されたビットマップの文字の画像データを第２文字画像データと呼称する。
【０１０２】
文字差分抽出部５０は、文字展開部４８で展開して得られた第１文字画像データ及び第２文字画像データの差分を示す文字差分情報を差分画像生成部４２に供給する。
【０１０３】
図形・イメージ展開差分抽出部４０は、図形・イメージ展開部５２及び図形・イメージ差分抽出部５４を備えている。
【０１０４】
一方、図形・イメージ展開部５２は、ＰＤＬデータ解析部３６から供給された、第１図形描画命令及び第１イメージ描画命令を展開してビットマップの画像データ（第１図形・イメージ画像データ）を生成する。また、ＰＤＬデータ解析部３６から供給された、第２図形描画命令及び第２イメージ描画命令を展開してビットマップの画像データ（第２図形・イメージ画像データ）を生成する。
【０１０５】
図形・イメージ差分抽出部５４は、第１図形・イメージ画像データと、第２図形・イメージ画像データとを比較し、第１図形・イメージ画像データが表わす画像、及び第２図形・イメージ画像データが表わす画像の差分を示す図形・イメージ差分情報を生成する。
【０１０６】
差分画像生成部４２は、文字差分画像情報と図形・イメージ差分画像情報とに基づいて、差分画像を表わす差分画像データを生成する。
【０１０７】
差分表示部４４は、差分画像生成部４２で生成された差分画像データに基づいて、差分画像を表示する。
【０１０８】
次に、第２の実施形態における作用を図８、図９、及び図１０を用いて説明する。
【０１０９】
図８は、情報処理装置１０ａで実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【０１１０】
ステップ２００において、データ取得部３４は、差分抽出対象である２つのＰＤＬデータ（第１ＰＤＬデータ及び第２ＰＤＬデータ）を取得する。
【０１１１】
ステップ２０２において、ＰＤＬデータ解析部３６は、データ取得部３４により取得された第１ＰＤＬデータ及び第２ＰＤＬデータを解析する。そして、ＰＤＬデータ解析部３６は、第１ＰＤＬデータから第１フォント指定命令及び第１文字描画命令を抽出し、第２ＰＤＬデータから第２フォント指定命令及び第２文字描画命令を抽出して、それぞれ文字展開差分抽出部３８に供給する。また、ＰＤＬデータ解析部３６は、第１ＰＤＬデータから第１図形描画命令及び第１イメージ描画命令を抽出し、第２ＰＤＬデータから第２図形描画命令及び第２イメージ描画命令を抽出して、それぞれ図形・イメージ展開差分抽出部４０に供給する。
【０１１２】
文字展開差分抽出部３８は、ステップ２０４において、第１ＰＤＬデータの第１フォント指定命令及び第１文字描画命令と、第２ＰＤＬデータの第２フォント指定命令及び第２文字描画命令とに基づいて、文字処理を行なう。
【０１１３】
図形・イメージ展開差分抽出部４０は、ステップ２０６において、第１ＰＤＬデータの第１図形描画命令及び第１イメージ描画命令と、第２ＰＤＬデータの第２図形描画命令及び第２イメージ描画命令とに基づいて、図形・イメージ処理を行なう。
【０１１４】
図９は、文字処理の流れを示すフローチャートである。
【０１１５】
ステップ２２０において、文字展開差分抽出部３８の判断部４６は、第１文字描画命令で指定されている文字コードと第２文字描画命令で指定されている文字コードとを比較する。ここで、比較されるのは、前述したように、共に同じ位置に描画される文字についての文字描画命令で指定されている文字コードである。ここで、文字コードとは、コンピュータ上で文字を取り扱うために文字の各々に対して付与された識別情報をいう。
【０１１６】
なお、文字展開差分抽出部３８は、第１文字描画命令で指定されている文字コードのエンコードと第２文字描画命令で指定されている文字コードのエンコードとが異なる場合には、両者の文字コードをいずれか一方のエンコードに対応する文字コードに統一した後に比較する。エンコードは、例えばShift-JISやJIS等の文字コード体系をいう。
【０１１７】
ステップ２２０において、判断部４６が、第１文字描画命令の文字コードと第２文字描画命令の文字コードとが異なると判断した場合には、その判断結果を文字展開部４８に供給する。
【０１１８】
その後、ステップ２２２において、文字展開部４８は、第１フォント指定命令及び第１文字描画命令に基づいてビットマップの文字画像データを生成し、これとは別に、第２フォント指定命令及び第２文字描画命令に基づいてビットマップの文字画像データを生成する。すなわち、第１ＰＤＬデータの命令と第２ＰＤＬデータの命令とを個別に実行して展開し、各々個別に文字画像データを生成する。なお、第１ＰＤＬデータの命令を実行して展開した画像データは、ＨＤＤ８６の第１記憶領域に記憶され、第２ＰＤＬデータの命令を実行して展開した画像データは、ＨＤＤ８６の第２記憶領域に記憶される。
【０１１９】
一方、ステップ２２０において、判断部４６は、判断部４６が、第１文字描画命令の文字コードと第２文字描画命令の文字コードとが同じであると判断した場合には、ステップ２２４において、判断部４６は、第１フォント指定命令の指定フォントと第２フォント指定命令の指定フォントとが同じであるか否かを判断する。
【０１２０】
ステップ２２４において、判断部４６は、両者の指定フォントが異なると判断した場合には、その判断結果を文字展開部４８に供給する。
【０１２１】
その後、ステップ２２６において、文字展開部４８は、第１フォント指定命令の指定フォント、及び第２フォント指定命令の指定フォントの少なくとも一方を変更して、両者のフォントを共通のフォントにする。これにより、第１フォント指定命令及び第１文字描画命令と、第２フォント指定命令及び第２文字描画命令とにより描画される各文字画像は、同一の文字画像となる。文字展開部４８は、第１フォント指定命令及び第１文字描画命令に基づいてビットマップの文字画像データを生成して、第１記憶領域及び第２記憶領域の双方に記憶する。
【０１２２】
一方、ステップ２２４において、判断部４６は、両者の指定フォントが同じと判断した場合には、第１フォント指定命令及び第１文字描画命令と、第２フォント指定命令及び第２文字描画命令とにより描画される各文字画像は、同一の文字画像となる。従って、ステップ２２８において、文字展開部４８は、指定フォントを変更することなく、第１フォント指定命令及び第１文字描画命令に基づいてビットマップの文字画像データを生成して、第１記憶領域及び第２記憶領域の双方に記憶する。
【０１２３】
なお、ステップ２２６及びステップ２２８では、第１フォント指定命令及び第１文字描画命令に基づいてビットマップの文字画像データを生成する例について説明したが、第２フォント指定命令及び第２文字描画命令に基づいて文字画像データを生成するようにしてもよい。どちらの命令を実行しても、同一の文字画像データを生成することができるためである。
【０１２４】
ステップ２３０において、文字展開部４８は、ＰＤＬデータ解析部３６から供給されたフォント指定命令及び文字描画命令の全ての命令の実行が終了したか否かを判断する。ステップ２３０で否定判断された場合には、ステップ２２０に戻り、未実行の第１フォント指定命令、第１文字描画命令、第２フォント指定命令及び第２文字描画命令について上記処理が繰り返される。これにより、文字に関する命令の１つ１つが確実に実行され、最終的に頁全体の文字画像データが生成される。
【０１２５】
また、ステップ２３０で肯定判断された場合には、ステップ２３２に進む。
【０１２６】
ステップ２３２においては、文字差分抽出部５０は、第１記憶領域に記憶された各文字画像データを並べて合成して、１つの文字画像データ（第１文字画像データ）を生成する。また、文字差分抽出部５０は、第２記憶領域に記憶された各文字画像データを並べて合成して、１つの文字画像データ（第２文字画像データ）を生成する。そして、文字差分抽出部５０は、第１文字画像データと第２文字画像データとを比較し、差分（異なる部分）を抽出する。そして、該差分を示す情報（以下、文字差分情報）を差分画像生成部４２に供給する。なお、ここでは、ページ全体で比較処理する例について説明したが、前述したように、ステップ２２０において文字コードが等しいと判断した場合には、その部分の文字画像は、フォントが異なっていてもその後の処理によりフォントが統一され、同一の文字描画命令及びフォント指定命令により展開された文字画像となるため、差分として抽出されることはない。従って、文字コードが異なると判断された部分の画像データだけを比較して、差分を抽出するようにしてもよい。
【０１２７】
なお、文字差分情報は、例えば、互いに異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、第１文字画像データの中から上記異なる部分に対応する画像データを抽出すると共に、第２文字画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を文字差分情報としてもよい。或いは、第１の実施形態で、差分画像を表わす差分画像データを生成したように、文字のみについて差分画像データ（文字差分画像データ）を生成して、これを文字差分情報としてもよい。
【０１２８】
なお、ステップ２２０では、第１文字描画命令と第２文字描画命令の文字コードが異なる場合に、ステップ２２２で第１文字描画命令と第２文字描画命令とを個別に実行して２つの文字画像データを生成する例について説明したが、文字の大きさが異なる場合にも、ステップ２２２で同様に各命令を個別に実行して２つの文字画像データを生成するようにしてもよい。
【０１２９】
なお、ここでは説明を省略したが、例えば、第１ＰＤＬデータ及び第２ＰＤＬデータとで、同一位置において、一方では文字が描画されるが他方では文字が描画されない等の場合もある。このような場合にも、該文字画像が差分として抽出されるように、文字コードやフォントを比較することなく、該文字に関するフォント指定命令及び文字描画命令を実行して展開し、該展開した画像データを第１記憶領域及び第２記憶領域のうち上記実行した命令に対応する記憶領域に記憶する。
【０１３０】
また、ここでは、文字コードが異なる場合には、フォントを統一せずに展開する例について説明したが、文字コードの違いを判定せず、フォントの違いのみを判定して、フォントが異なる場合には、第１フォント指定命令及び第２フォント指定命令の少なくとも一方を変更してフォントを統一し、第１文字描画命令及び第２文字描画命令を個別に実行して第１文字画像データ及び第２文字画像データを生成して、差分を抽出するようにしてもよい。描画位置が同一の文字のフォントを統一すれば、フォントの違いによる差分が抽出されることが抑制される。
【０１３１】
次に、図形・イメージ展開差分抽出部４０により行なわれる図形・イメージ処理について説明する。図１０は、図形・イメージ処理の流れを示すフローチャートである。
【０１３２】
ステップ２４０において、図形・イメージ展開部５２は、第１ＰＤＬデータの第１図形描画命令及び第１イメージ描画命令を実行して展開し、ビットマップの画像データ（第１図形・イメージ画像データ）を生成する。
【０１３３】
ステップ２４２において、図形・イメージ展開部５２は、第２ＰＤＬデータの第２図形描画命令及び第２イメージ描画命令を実行して展開し、ビットマップの画像データ（第２図形・イメージ画像データ）を生成する。
【０１３４】
ステップ２４４において、図形・イメージ差分抽出部５４は、展開して得られた２つの画像データ（第１図形・イメージ画像データと第２図形・イメージ画像データ）の各々を比較する。
【０１３５】
ステップ２４６において、図形・イメージ差分抽出部５４は、第１図形・イメージ画像データと第２図形・イメージ画像データの差分（異なる部分）を抽出する。そして、該差分を示す情報（以下、図形・イメージ差分情報）を差分画像生成部４２に供給する。
【０１３６】
なお、図形・イメージ差分情報は、例えば、互いに異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、第１図形・イメージ画像データの中から上記異なる部分に対応する画像データを抽出すると共に、第２図形・イメージ画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を図形・イメージ差分情報としてもよい。或いは、第１の実施形態で、差分画像を表わす差分画像データを生成したように、図形及びイメージついての差分画像データ（図形・イメージ差分画像データ）を生成して、これを図形・イメージ差分情報としてもよい。
【０１３７】
図８のステップ２０４の文字処理及びステップ２０６の図形・イメージ処理が終了した後は、ステップ２０８において、差分画像生成部４２は、文字差分情報及び図形・イメージ差分情報に基づいて、全体の差分を示す差分画像を表わす差分画像データを生成する。例えば、文字差分情報が上記説明した文字差分画像データであって、図形・イメージ差分情報が上記説明した図形・イメージ差分画像データである場合には、差分画像生成部４２は、文字差分画像データと図形・イメージ差分画像データとを重畳して合成し、差分が明示された差分画像を表わす差分画像データを生成する。これにより、例えば、第１の実施形態で図５（Ｄ）を参照して例示した差分画像を示す差分画像データが生成される。
【０１３８】
ステップ２１０において、差分表示部４４は、差分画像生成部４２により生成された差分画像データに基づいて、差分画像を表示する。
【０１３９】
以上説明したように、第１ＰＤＬデータと第２ＰＤＬデータとで、フォントが異なる命令が含まれている場合には、フォントを統一して展開するようにしたため、フォントのみが異なる文字が差分として抽出されることが抑制される。
【０１４０】
なお、第１ＰＤＬデータに、第１フォント指定命令、第１文字描画命令、第１図形描画命令、及び第１イメージ描画命令の各種類の命令が含まれているとは限らない。この場合には、含まれている命令を抽出して供給先に供給すればよい。第２ＰＤＬデータも同様である。ただし、文字展開差分抽出部３８に、第１ＰＤＬデータ及び第２ＰＤＬデータの一方のみのフォント指定命令及び文字描画命令が供給された場合には、判断部４６及び文字差分抽出部５０の処理は行なわれず、文字展開部４８による展開処理のみが行なわれ、展開された文字画像データが文字差分情報として、差分画像生成部４２に供給されるようにしてもよい。また、同様に、図形・イメージ展開差分抽出部４０に対して第１ＰＤＬデータ及び第２ＰＤＬデータの一方のみの図形描画命令及びイメージ描画命令が供給された場合には、図形・イメージ展開差分抽出部４０においては、図形・イメージ差分抽出部５４による差分抽出は行なわず、図形・イメージ展開部５２により展開された図形・イメージ画像データを図形・イメージ差分情報として差分画像生成部４２に供給されるようにしてもよい。
【０１４１】
また、本実施形態では、文字描画命令及びフォント指定命令と、文字描画命令及びフォント指定命令以外の命令（ここでは、イメージ・図形描画命令）とを別々に処理する例について説明したが、これに限定されない。例えば、第１ＰＤＬデータに含まれるフォント指定命令及び第２ＰＤＬデータに含まれるフォント指定命令の少なくとも一方を、予め同一位置に描画する文字のフォントが同一となるように変更した上で、第１ＰＤＬデータ全体及び第２ＰＤＬデータ全体の各々を個別に展開し、展開して得られた２つの画像データを比較して差分を抽出するようにしてもよい。
【０１４２】
［第３の実施形態］
【０１４３】
第３の実施形態では、差分抽出対象の２つのデータが表わす画像の各々を複数の部分領域に分割し、対応する部分領域毎に差分抽出処理を行なう例について説明する。ただし、ここでは、２つのデータ間で対応する部分領域の一方にオブジェクトが存在しない場合には、画素毎に画素値を比較する差分抽出処理を実行せずに、他方の部分領域の画像そのものを、差分を表わす画像として扱い処理するものとする。
【０１４４】
なお、第３の実施形態の情報処理装置のハードウェア構成は、第１の実施形態と同様とされるが、機能構成は、第１の実施形態と異なるため、第３の実施形態の情報処理装置の符号を１０ｂとして、第１の実施形態の情報処理装置１０と区別して説明する。
【０１４５】
図１１は、第３の実施形態に係る情報処理装置１０ｂの構成を機能的に示した機能構成図である。情報処理装置１０ｂは、データ取得部５６、ＰＤＬデータ解析部５８、領域抽出部６０、差分抽出実行判定部６２、ＰＤＬデータ展開部６４、差分抽出部６６、差分画像生成部６８、及び差分表示部６９を備えている。
【０１４６】
データ取得部５６は、差分を抽出する対象となるＰＤＬデータと読取画像データとを取得する。
【０１４７】
ＰＤＬデータ解析部５８は、データ取得部５６で取得されたＰＤＬデータを解析し、該ＰＤＬデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令をＰＤＬデータから抽出し、抽出した命令を部分領域情報として差分抽出実行判定部６２に供給する。ただし、ＰＤＬデータ解析部５８は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を部分領域情報として差分抽出実行判定部６２に供給する。
【０１４８】
領域抽出部６０は、読取画像データが表わす画像内の、ＰＤＬデータ解析部５８により作成された部分領域情報に対応する部分領域の画像データ（部分読取画像データ）を抽出し、該抽出した部分読取画像データを差分抽出実行判定部６２に供給する。
【０１４９】
差分抽出実行判定部６２は、部分領域情報に基づいて、該部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。差分抽出実行判定部６２は、部分領域情報が、オブジェクトが描画されない旨を示す情報である場合には、該部分領域にオブジェクトが描画されないと判定し、部分領域情報にＰＤＬデータの命令が含まれている場合には、該部分領域にオブジェクトが描画されると判定する。
【０１５０】
差分抽出実行判定部６２は、オブジェクトが描画されると判定した場合には、該部分領域については差分抽出部６６で差分抽出処理が行なわれるように、部分領域情報をＰＤＬデータ展開部６４に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分抽出部６６に供給する。また、差分抽出実行判定部６２は、オブジェクトが描画されないと判定した場合には、該部分領域については差分抽出部６６による差分抽出処理が行なわれないように、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部６８に供給する。差分画像生成部６８では、該部分読取画像データが差分を示す情報として処理される。
【０１５１】
ＰＤＬデータ展開部６４は、差分抽出実行判定部６２から供給された部分領域情報に含まれるＰＤＬデータの命令（部分ＰＤＬデータ）に基づいて展開処理を実行する。展開処理して得られた部分領域のビットマップの画像データ（部分ＰＤＬ展開画像データ）は、差分抽出部６６に供給される。
【０１５２】
差分抽出部６６は、ＰＤＬデータ展開部６４から供給された部分ＰＤＬ展開画像データと、差分抽出実行判定部６２から供給された部分読取画像データとを比較して差分を抽出する。該抽出した差分を示す情報（部分差分情報）は差分画像生成部６８に供給される。差分抽出部６６の処理は、比較する対象が部分ＰＤＬ展開画像データと部分読取画像データであるということ以外は、第１の実施形態の差分抽出部２８での処理と同様に行なわれる。
【０１５３】
差分画像生成部６８は、差分抽出部６６から供給された部分差分情報、及び差分抽出実行判定部６２から供給された部分読取画像データに基づいて、部分領域毎の差分画像を表わす画像データを生成し、該部分領域毎の画像データを合成して、頁全体の差分画像を表わす差分画像データを生成する。
【０１５４】
差分表示部６９は、差分画像生成部３０で生成された差分画像データに基づいて、差分画像を表示する。
【０１５５】
次に、第３の実施形態における作用を、図１２を用いて説明する。
【０１５６】
図１２は、情報処理装置１０ｂで実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【０１５７】
ステップ３００において、データ取得部５６は、第１の実施形態のデータ取得部２０と同様に、差分抽出対象であるＰＤＬデータと読取画像データとを取得する。データ取得部５６は、取得したＰＤＬデータをＰＤＬデータ解析部５８に供給し、読取画像データを領域抽出部６０に供給する。
【０１５８】
ステップ３０２において、ＰＤＬデータ解析部５８は、データ取得部５６から供給されたＰＤＬデータを解析し、部分領域情報を生成して、差分抽出実行判定部６２に供給する。具体的には、前述したように、ＰＤＬデータ解析部５８は、該ＰＤＬデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令をＰＤＬデータから抽出し、抽出した命令を部分領域情報として差分抽出実行判定部６２に供給する。ただし、ＰＤＬデータ解析部５８は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を部分領域情報として差分抽出実行判定部６２に供給する（図１３（Ａ）も参照）。
【０１５９】
ステップ３０４において、領域抽出部６０は、データ取得部５６から供給された読取画像データから、ＰＤＬデータ解析部５８により作成された部分領域情報に対応する部分領域の画像データ（部分読取画像データ）を抽出し、該抽出した部分読取画像データを差分抽出実行判定部６２に供給する。
【０１６０】
ステップ３０６において、差分抽出実行判定部６２は、ＰＤＬデータ解析部５８から供給された部分領域情報に基づいて、該部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。差分抽出実行判定部６２は、部分領域情報が、オブジェクトが描画されない旨を示す情報である場合には、該部分領域にオブジェクトは描画されないと判定し、部分領域情報にＰＤＬデータの命令が含まれている場合には、該部分領域には何らかのオブジェクトが描画されると判定する。
【０１６１】
差分抽出実行判定部６２は、ステップ３０６において、上記部分領域にオブジェクトが描画されないと判定した場合には、該部分領域情報に対応する部分領域の部分読取画像データが差分として処理されるように、該部分読取画像データを差分画像生成部６８に供給する。例えば、図１３（Ａ）及び（Ｂ）に示すように、ＰＤＬデータにおいてオブジェクトが描画されない空の領域があり、読取画像データの該空の領域に対応する領域には何らかの画像が描画されている場合には、読取画像データの該描画されている画像は全て差分として抽出できる。従って、該部分領域に対応する部分読取画像データを差分として用いれば、差分抽出部６６において特別な差分抽出処理を行なわずともよいため、ここでは、差分抽出実行判定部６２は、部分読取画像データを差分画像生成部６８に供給するようにしている。
【０１６２】
ステップ３０８において、差分画像生成部６８は、差分抽出実行判定部６２から供給された部分読取画像データを、ＰＤＬデータと読取画像データの上記部分領域における差分を示す差分画像の画像データとして、予め定められた記憶領域に保存する。
【０１６３】
一方、差分抽出実行判定部６２は、ステップ３０６において、上記部分領域にオブジェクトが描画されると判定した場合には、部分領域情報をＰＤＬデータ展開部６４に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分抽出部６６に供給する。
【０１６４】
ステップ３１０において、ＰＤＬデータ展開部６４は、差分抽出実行判定部６２から供給された部分領域情報に含まれるＰＤＬデータの命令（部分ＰＤＬデータ）に基づいて展開処理を実行する。ＰＤＬデータ展開部６４は、展開処理して得られた部分領域のビットマップの画像データ（部分ＰＤＬ展開画像データ）を、差分抽出部６６に供給する。
【０１６５】
ステップ３１２において、差分抽出部６６は、ＰＤＬデータ展開部６４から供給された部分ＰＤＬ展開画像データと、差分抽出実行判定部６２から供給された部分読取画像データとを比較して差分を抽出する。差分抽出部６６は、該抽出した差分を示す情報（部分差分情報）を差分画像生成部６８に供給する。
【０１６６】
ステップ３１４において、差分画像生成部６８は、差分抽出部６６から供給された部分差分情報を、予め定められた記憶領域に保存する。
【０１６７】
ステップ３０８或いはステップ３１４の後は、ステップ３１６の処理が行なわれる。ステップ３１６においては、差分抽出部６６は、上記ＰＤＬデータが表わす画像を複数の部分領域に分割したときの部分領域の中で未処理の領域があるか否かを判断する。ステップ３１６において否定判断された場合には、ステップ３０２に戻り、他の部分領域について上記処理が繰り返される。また、ステップ３１６において肯定判断された場合には、未処理の領域はない、すなわち、全ての部分領域の処理が終了したため、ステップ３１８に進む。
【０１６８】
ステップ３１８において、差分画像生成部６８は、記憶領域に保存されている部分差分情報と部分読取画像データとに基づいて、差分画像データを生成する。具体的には、差分画像生成部６８は、部分差分情報に基づいて、部分領域毎の差分画像（部分差分画像）を表わす部分差分画像データを生成する。差分抽出実行判定部６２から供給された部分読取画像データは、対応する部分領域の差分を表わす部分差分画像データそのものであるため、差分画像生成部６８は、部分読取画像データ及び部分差分画像データの各々を、該当する部分領域の位置に並べて合成し、頁全体の差分画像データを生成する。なお、差分抽出部６６により、部分差分情報として部分差分画像データが生成された場合には、これがそのまま差分画像データの生成に用られる。
【０１６９】
ステップ３２０において、差分表示部６９は、差分画像生成部６８で生成された差分画像データに基づいて、差分画像を表示する。差分画像は、例えば異なる部分については色を変更する等、利用者に差分が明示されるように表現された画像とすることができ、第１の実施形態で例示したように、様々な表示形態が採用されうる。
【０１７０】
なお、上記では説明を省略したが、部分読取画像データが表わす部分画像も、空の画像（オブジェクトが何も描画されていない画像）となる場合があるが、この場合には、差分画像生成部６８は、第１の実施形態で例示した差分を明示するための画像処理（枠画像を重畳する、或いは色を変更する等）を施すことなく空白の画像データをそのまま合成して差分画像データを生成すればよい。
【０１７１】
このように、差分抽出実行判定部６２により部分領域毎にオブジェクトが描画されるか否かを判定し、描画されないと判定した場合には、差分抽出部６６による差分抽出処理が行なわれないように制御されるため、画像処理が効率化される。
【０１７２】
差分抽出実行判定部６２による判定を第１の実施形態で例示した情報処理装置１０に適用して処理してもよい。なお、この場合には、機能構成は、第１の実施形態と異なるため、情報処理装置の符号を１０ｃとして、第１の実施形態の情報処理装置１０と区別して説明する。情報処理装置１０ｃのハードウェア構成は、第１の実施形態と同様とする。
【０１７３】
図１４に、情報処理装置１０ｃの機能構成図を示す。情報処理装置１０ｃは、データ取得部２０、ＰＤＬデータ解析部５８、領域抽出部６０、差分抽出実行判定部６２、ＰＤＬデータ展開部２２、フォント情報記憶部２４、フォント置換部２６、差分抽出部２８、制御部２９、差分画像生成部６８、及び差分表示部６９を備えている。ここで、第１の実施形態において図２を用いて説明した情報処理装置１０、第３の実施形態において図１１を用いて説明した情報処理装置１０ｂと同様の構成には同一の符号を付し、ここでは簡単な説明のみを記載し、詳細な説明を省略する。
【０１７４】
データ取得部５６は、差分を抽出する対象となるＰＤＬデータと読取画像データとを取得する。ＰＤＬデータ解析部５８は、上記説明したように、ＰＤＬデータを解析して、部分領域毎に部分領域情報を生成し、差分抽出実行判定部６２に供給する。領域抽出部６０は、読取画像データから部分読取画像データを抽出して差分抽出実行判定部６２に供給する。
【０１７５】
差分抽出実行判定部６２は、ＰＤＬデータ解析部５８から供給された部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定し、オブジェクトが描画されると判定した場合には、部分領域情報をＰＤＬデータ展開部２２に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部６８に供給する。また、差分抽出実行判定部６２は、オブジェクトが描画されないと判定した場合には、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部６８に供給する。
【０１７６】
ＰＤＬデータ展開部２２は、第１の実施形態と異なり、頁全体のＰＤＬデータを展開するのではなく、部分領域情報に含まれる部分ＰＤＬデータを展開して部分ＰＤＬ展開画像データを生成する。展開方法は、第１の実施形態で説明した通りである。また、ＰＤＬデータ展開部２２は、制御部２９からフォント置換指示を受け取った場合には、第１の実施形態で説明したように、ＰＤＬデータに含まれるフォント指定命令を変更して、再度部分ＰＤＬデータを展開する。
【０１７７】
フォント情報記憶部２４及びフォント置換部２６の作用は、第１の実施形態で説明した通りである。
【０１７８】
差分抽出部２８には、ＰＤＬデータ展開部２２から部分ＰＤＬ展開画像データを取得すると共に、差分抽出実行判定部６２から部分読取画像データを取得する。差分抽出部２８は、取得した部分ＰＤＬ展開画像データと部分読取画像データとの差分（異なる部分）を抽出する。制御部２９は、差分の大きさ（面積、或いは画素数）に応じて、フォント指定命令の指定フォントを代替フォントに置換えるか否かを判断し、置換えると判断した場合には、ＰＤＬデータ展開部２２に対して、フォント置換指示を出力する。フォント指定命令の指定フォントを置換えないと判断されるまで、差分抽出、判断、及びフォント置換え、及び再展開が繰り返される。また、差分抽出部２８は、制御部２９によりフォント指定命令の指定フォントを置換えないと判断したときの差分を示す部分差分情報を差分画像生成部６８に供給する。
【０１７９】
差分画像生成部６８は、差分抽出部２８から供給された部分差分情報、及び差分抽出実行判定部６２から供給された部分読取画像データに基づいて、部分領域毎の差分画像を表わす画像データを生成し、該部分領域毎の画像データを合成して、頁全体の差分画像を表わす差分画像データを生成する。
【０１８０】
差分表示部６９は、差分画像生成部３０で生成された差分画像データに基づいて、差分画像を表示する。
【０１８１】
図１５は、情報処理装置１０ｃで実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【０１８２】
ステップ４００からステップ４１２までの処理は、部分ＰＤＬデータを展開するのがＰＤＬデータ展開部２２であること以外は、上記図１２を用いて説明したステップ３００からステップ３１２までの処理と同じであるため、説明を省略する。
【０１８３】
ステップ４１４では、制御部２９は、ステップ４１２の比較結果に基づいて、部分ＰＤＬ展開画像データの元となった部分ＰＤＬデータに含まれるフォント指定命令で指定された指定フォントを代替フォントに置換えて再展開するか否かを判断する。判断方法の具体例は、全体領域ではなく部分領域毎に判断すること以外は、第１の実施形態で説明した通りであるため、ここでは説明を省略する。
【０１８４】
制御部２９は、ステップ４１４において、指定フォントを代替フォントに置換えると判断した場合には、ステップ４１６において、ＰＤＬデータ展開部２２に対してフォント置換指示を出力して、部分ＰＤＬデータに含まれるフォント指示命令による指定フォントを代替フォントに置換えさせて、再度展開させる。
【０１８５】
ＰＤＬデータ展開部２２は、フォント置換指示に従い、現在のフォント指令命令により指定されているフォントの情報をフォント置換部２６に渡す。フォント置換部２６は、該フォントの情報に基づいて、フォント情報記憶部２４から代替フォントを読み出し、代替フォントの情報をＰＤＬデータ展開部２２に渡す。ＰＤＬデータ展開部２２は、ＰＤＬデータのフォント指定命令による指定フォントを、フォント置換部２６から受け取った情報が示す代替フォントに置換えて、再度展開処理を行なって、部分ＰＤＬ展開画像データを生成し、差分抽出部２８に供給する。
【０１８６】
差分抽出部２８は、ステップ４１２に戻って、新たに生成された部分ＰＤＬ展開画像データと、読取画像データとを比較して差分を抽出する。これにより、ステップ４１４において、肯定判断された場合には、別の代替フォントに置換えられるように、再度ステップ４１６の処理を繰り返す。一方、ステップ４１４において、制御部２９は、フォントを置換えないと判断した場合には、ステップ４１８において、差分抽出部２８は、制御部２９によりフォントを置換えないと判断したときの差分を示す情報（部分差分情報）を差分画像生成部６８に供給し、差分画像生成部６８は、該部分差分情報を予め定められた記憶領域に保存する。
【０１８７】
なお、差分抽出部２８は、フォントを複数回置換え、最も差分が小さくなったときの部分差分情報を選択して、差分画像生成部６８に供給するようにしてもよい。
【０１８８】
ステップ４１６の処理の後、或いは、ステップ４０６において、部分領域にオブジェクトが描画されないと判定され、ステップ４０８において、差分画像生成部６８により差分抽出実行判定部６２から供給された部分読取画像データが、予め定められた記憶領域に保存された後は、ステップ４２０に進む。ステップ４２０からステップ４２４までの処理は、上記図１２を用いて説明したステップ３１６からステップ３２０までの処理と同じであるため、説明を省略する。
【０１８９】
ところで、差分抽出実行判定部６２による判定を第２の実施形態で例示した情報処理装置１０ａに適用して処理してもよい。なお、この場合には、機能構成は、第２の実施形態と異なるため、情報処理装置の符号を１０ｄとして、第２の実施形態の情報処理装置１０と区別して説明する。情報処理装置１０ｄのハードウェア構成は、第１の実施形態と同様とする。
【０１９０】
図１６に、情報処理装置１０ｄの機能構成図を示す。情報処理装置１０ｄは、データ取得部３４、ＰＤＬデータ解析部７０、差分抽出実行判定部７２、文字展開差分抽出部３８、図形・イメージ展開差分抽出部４０、ＰＤＬデータ展開部７４、差分画像生成部７６、及び差分表示部４４を備えている。ここで、第２の実施形態において図７を用いて説明した情報処理装置１０ａと同様の構成には同一の符号を付し、ここでは簡単な説明のみを記載し、詳細な説明を省略する。
【０１９１】
ＰＤＬデータ解析部７０は、データ取得部３４で取得された第１ＰＤＬデータ及び第２ＰＤＬデータを解析し、第１ＰＤＬデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令を第１ＰＤＬデータから抽出し、抽出した命令を第１部分領域情報として差分抽出実行判定部７２に供給すると共に、第２ＰＤＬデータが表わす画像を複数の部分領域に分割（分割方法は第１ＰＤＬデータと同様とする）したときの部分領域毎に、オブジェクトを描画する命令を第２ＰＤＬデータから抽出し、抽出した命令を第２部分領域情報として差分抽出実行判定部７２に供給する。
【０１９２】
なお、ここでは、第１ＰＤＬデータ及び第２ＰＤＬデータ間で対応する（同じ位置の）部分領域についての第１部分領域情報と第２部分領域情報とが対応付けられて差分抽出実行判定部７２に供給されるようにする。
【０１９３】
また、ＰＤＬデータ解析部７０は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を第１部分領域情報或いは第２部分領域情報として差分抽出実行判定部７２に供給する。
【０１９４】
差分抽出実行判定部７２は、第２の実施形態のＰＤＬデータ解析部３６、及び第３の実施形態の図１１に図示した差分抽出実行判定部６２の機能を有する。
【０１９５】
具体的には、差分抽出実行判定部７２は、ＰＤＬデータ解析部７０から供給された第１部分領域情報及び第２部分領域情報のいずれか一方が、オブジェクトが描画されない旨を示す情報である場合には、オブジェクトが描画される方の部分領域情報をＰＤＬデータ展開部７４に供給する。
【０１９６】
また、差分抽出実行判定部７２は、第１部分領域情報及び第２部分領域情報の両方にＰＤＬデータの命令が含まれている場合には、第１部分領域情報からフォント指定命令（以下、第１フォント指定命令という）及び文字描画命令（以下、第１文字描画命令という）を抽出し、文字展開差分抽出部３８に供給すると共に、第１部分領域情報からそれ以外の命令、例えば、図形描画命令（以下、第１図形描画命令という）及びイメージ描画命令（以下、第１イメージ描画命令という）を抽出し、図形・イメージ展開差分抽出部４０に供給する。更に、差分抽出実行判定部７２は、第２部分領域情報からフォント指定命令（以下、第２フォント指定命令という）及び文字描画命令（以下、第２文字描画命令という）を抽出して、文字展開差分抽出部３８に供給すると共に、第２部分領域情報からそれ以外の命令、例えば、図形描画命令（以下、第２図形描画命令という）及びイメージ描画命令（以下、第２イメージ描画命令という）を抽出して、図形・イメージ展開差分抽出部４０に供給する。
【０１９７】
文字展開差分抽出部３８及び図形・イメージ展開差分抽出部４０の処理は、第２の実施形態で説明した通りであるため、説明を省略する。ただし、文字展開差分抽出部３８で生成される差分情報は、部分領域毎の差分情報であるため、該差分情報を文字部分差分情報と呼称する。同様に、図形・イメージ展開差分抽出部４０で生成される差分情報は、部分領域毎の差分情報であるため、該差分情報を図形・イメージ部分差分情報と呼称する。
【０１９８】
ＰＤＬデータ展開部７４には、第１部分領域情報又は第２部分領域情報が供給される。ＰＤＬデータ展開部７４は供給された部分領域情報に含まれるＰＤＬデータの命令（部分ＰＤＬデータ）に基づいて、展開処理を実行する。展開処理して得られた部分領域のビットマップの画像データ（部分ＰＤＬ展開画像データ）は、差分画像生成部７６に供給される。
【０１９９】
差分画像生成部７６は、文字展開差分抽出部３８から供給された文字部分差分情報、及び図形・イメージ展開差分抽出部４０から供給された図形・イメージ部分差分情報に基づいて、部分領域毎の差分画像を表わす画像データを生成し、該生成した部分領域毎の画像データと、ＰＤＬデータ展開部７４から供給された部分ＰＤＬ展開画像データとを合成して、頁全体の差分画像を表わす差分画像データを生成する。
【０２００】
差分表示部４４は、差分画像生成部７６で生成された差分画像データに基づいて、差分画像を表示する。
【０２０１】
図１７は、情報処理装置１０ｄで実行される画像処理（差分抽出処理を含む）の流れを示すフローチャートである。
【０２０２】
ステップ５００において、データ取得部３４は、差分抽出対象である２つのＰＤＬデータ（第１ＰＤＬデータ及び第２ＰＤＬデータ）を取得する。
【０２０３】
ステップ５０２において、ＰＤＬデータ解析部７０は、データ取得部３４により取得された第１ＰＤＬデータ及び第２ＰＤＬデータを解析し、前述したように第１部分領域情報及び第２部分領域情報を生成して、差分抽出実行判定部７２に供給する。
【０２０４】
ステップ５０４において、差分抽出実行判定部７２は、第１部分領域情報に基づいて、該第１部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定すると共に、第２部分領域情報に基づいて、該第２部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。そして、差分抽出実行判定部７２は、２つの部分領域のうちいずれか一方の部分領域にのみ、オブジェクトが描画され、他方の部分領域にはオブジェクトが描画されないと判定した場合には、ステップ５０４において肯定判定する。また、差分抽出実行判定部７２は、２つの部分領域のうち双方の部分領域にオブジェクトが描画されると判定した場合には、ステップ５０４において否定判定する。
【０２０５】
差分抽出実行判定部７２は、ステップ５０４において、肯定判定した場合には、ステップ５１４において、第１部分領域情報及び第２部分領域情報のうち、オブジェクトが描画されると判定された方の部分領域情報をＰＤＬデータ展開部７４に供給する。ＰＤＬデータ展開部７４は、供給された部分領域情報に含まれるＰＤＬデータの命令（部分ＰＤＬデータ）に基づいて、展開処理を実行する。ＰＤＬデータ展開部７４は、展開処理して得られた部分領域のビットマップの画像データ（部分ＰＤＬ展開画像データ）を、差分画像生成部７６に供給する。
【０２０６】
一方、差分抽出実行判定部７２は、ステップ５０４において否定判定した場合には、ステップ５０６において第１部分領域情報及び第２部分領域情報を解析する。差分抽出実行判定部７２は、第１部分領域情報に含まれるＰＤＬデータの命令から第１フォント指定命令及び第１文字描画命令を抽出し、第２部分領域情報に含まれるＰＤＬデータの命令から第２フォント指定命令及び第２文字描画命令を抽出して、それぞれ文字展開差分抽出部３８に供給する。また、差分抽出実行判定部７２は、第１部分領域情報に含まれるＰＤＬデータの命令から第１図形描画命令及び第１イメージ描画命令を抽出し、第２部分領域情報に含まれるＰＤＬデータの命令から第２図形描画命令及び第２イメージ描画命令を抽出して、それぞれ図形・イメージ展開差分抽出部４０に供給する。
【０２０７】
その後、ステップ５０８において、文字展開差分抽出部３８は、第２の実施形態において図９を用いて説明した文字処理を行ない、図形・イメージ展開差分抽出部４０は、第２の実施形態において図１０を用いて説明した図形・イメージ処理を行なう。なお、この文字処理及び図形・イメージ処理の流れは、頁単位ではなく部分領域単位で実行するということ以外は、第２の実施形態で説明した通りであるため、説明を省略する。
【０２０８】
なお、前述したように、文字展開差分抽出部３８で生成される文字差分情報は部分領域毎の文字部分差分情報であり、図形・イメージ展開差分抽出部４０で生成される図形・イメージ差分情報も部分領域毎の図形・イメージ部分差分情報であるため、差分画像生成部７６は、後述するステップ５１６で未処理の領域がないと判定され、ステップ５１８で差分画像データが生成されるまで、これら部分領域毎の差分情報を予め定められた記憶領域に保存しておくものとする。また、ＰＤＬデータ展開部７４により生成された部分ＰＤＬ展開画像データについても、同様に該記憶領域に保存しておくものとする。
【０２０９】
ステップ５０８及びステップ５１０の処理後、或いはステップ５１４の処理後は、ステップ５１６において、ＰＤＬデータ解析部７０は、上記第１ＰＤＬデータが表わす画像及び第２ＰＤＬデータが表わす画像を複数の部分領域に分割したときの部分領域の全てが処理されたか（未処理の領域があるか）否かを判断する。ステップ５１６において否定判断された場合には、ステップ３０２に戻り、他の部分領域について上記処理が繰り返される。また、ステップ５１６において肯定判断された場合には、未処理の領域はない、すなわち、全ての部分領域の処理が終了したため、ステップ５１８に進む。
【０２１０】
ステップ５１８において、差分画像生成部７６は、記憶領域に保存されている文字部分差分情報、図形・イメージ部分差分情報、及び部分ＰＤＬ展開画像データに基づいて、頁全体の差分画像を表わす差分画像データを生成する。具体的には、文字部分差分情報に基づいて部分領域毎の文字についての差分画像を表わす文字部分差分画像データを生成し、図形・イメージ部分差分情報に基づいて部分領域毎の図形及びイメージについての図形・イメージ部分差分画像を表わす部分差分画像データを生成し、対応する部分領域の文字部分差分画像データと図形・イメージ部分差分画像データとを重畳して合成し、部分差分画像データを生成する。なお、文字展開差分抽出部３８により、文字部分差分情報として文字部分差分画像データが生成された場合には、これがそのまま部分差分画像データの生成に用られ、図形・イメージ展開差分抽出部４０により、図形・イメージ部分差分情報として図形・イメージ部分差分画像データが生成された場合には、これがそのまま部分差分画像データの生成に用いられる。
【０２１１】
そして、差分画像生成部７６は、上記生成した部分領域毎の部分差分画像データ、及びＰＤＬデータ展開部７４から供給された部分ＰＤＬ展開画像データの各々を、該当する部分領域の位置に並べて合成し、頁全体の差分画像データを生成する。
【０２１２】
ステップ５２０において、差分表示部４４は、差分画像生成部７６で生成された差分画像データに基づいて、差分画像を表示する。
【０２１３】
なお、第１部分領域情報に、第１フォント指定命令、第１文字描画命令、第１図形描画命令、及び第１イメージ描画命令の各種類の命令が含まれているとは限らない。この場合には、含まれている命令を抽出して供給先に供給すればよい。第２部分領域情報も同様である。ただし、文字展開差分抽出部３８に、第１部分領域情報及び第２部分領域情報の一方のみのフォント指定命令及び文字描画命令が供給された場合には、判断部４６及び文字差分抽出部５０の処理は行なわれず、文字展開部４８による展開処理のみが行なわれ、展開された文字画像データが文字部分差分情報として、差分画像生成部７６に供給されるようにしてもよい。また、同様に、図形・イメージ展開差分抽出部４０に対して第１部分領域情報及び第２部分領域情報の一方のみの図形描画命令及びイメージ描画命令が供給された場合には、図形・イメージ展開差分抽出部４０においては、図形・イメージ差分抽出部５４による差分抽出は行なわず、図形・イメージ展開部５２により展開された図形・イメージ部分画像データを図形・イメージ部分差分情報として差分画像生成部７６に供給されるようにしてもよい。
【０２１４】
また、上記では説明を省略したが、第１部分領域情報及び第２部分領域情報の各々がオブジェクトを描画しない旨の情報を示す場合があるが、この場合には、差分は抽出せず、空白の画像を表わす部分領域の画像データを生成して、差分画像生成部７６にて合成すればよい。
【０２１５】
なお、第３の実施形態において、頁全体の画像を複数の部分領域に分割するときの分割領域の大きさを、利用者が設定可能に構成してもよい。また、例えば、情報処理装置１０ｂ、１０ｃにおいて、ＰＤＬデータに含まれるオブジェクトの描画命令の数を事前にカウントし、該カウント値が予め定められた値以上であれば、オブジェクトが描画されない領域は小さい（少ない）と判断して、差分抽出実行判定部６２による部分領域毎の判定を行なわずに、第１の実施形態で説明した差分抽出部２８による差分抽出を行なって処理するようにしてもよい。更に又、情報処理装置１０ｄにおいて、２つのＰＤＬデータの各々に含まれるオブジェクトの描画命令の数を各々事前にカウントし、該２つのカウント値の双方が予め定められた値以上であれば、オブジェクトが描画されない領域は小さい（少ない）と判断して、差分抽出実行判定部７２による部分領域毎の判定を行なわずに、第２の実施形態で説明したように差分抽出を行なって処理するようにしてもよい。
【０２１６】
更に又、情報処理装置１０ｂ、１０ｃにおいて、比較対象のＰＤＬデータと読取画像データの各々が表わす画像の縦横比を確認し、該２つの画像の向きが異なる場合には、差分抽出実行判定部６２による部分領域毎の判定を行なわずに、第１の実施形態で説明した差分抽出部２８による差分抽出を行なって処理するようにしてもよい。情報処理装置１０ｄにおいても、同様に比較対象の２つのＰＤＬデータの各々が表わす画像の縦横比を確認し、該２つの画像の向きが異なる場合には、差分抽出実行判定部７２による部分領域毎の判定を行なわずに、第２の実施形態で説明したように差分抽出を行なって処理するようにしてもよい。或いは、向きが異なる場合には、向きを変更して向きが同じになるように画像処理してから処理するようにしてもよい。第１及び第２の実施形態でも同様である。
【０２１７】
また、第１から第３の実施形態において、比較対象の２つのデータが表わす画像の大きさが異なる場合には、サイズが小さい方のデータを拡大する等により、サイズを統一して処理するようにしてもよい。
【０２１８】
また、第１から第３の実施形態においては、コンピュータ９８がプログラムを実行することにより情報処理装置１０、１０ａ、１０ｂ、１０ｃ、１０ｄを実現する例について説明したが、例えば半導体集積回路、ＡＳＩＣ(Application Specific Integrated Circuit)等で実現することも可能であり、情報処理装置１０、１０ａ、１０ｂ、１０ｃ、１０ｄの各機能部を、例えば電子回路等で実現することも可能である。
【符号の説明】
【０２１９】
１０、１０ａ、１０ｂ、１０ｃ、１０ｄ  情報処理装置
１２ａ、１２ｂ、１２ｃ  端末装置
１４  印刷装置
１６  通信手段
２０  データ取得部
２２  ＰＤＬデータ展開部
２４  フォント情報記憶部
２６  フォント置換部
２８  差分抽出部
３０  差分画像生成部
３２  差分表示部
３４  データ取得部
３６  ＰＤＬデータ解析部
３８  文字展開差分抽出部
４０  図形・イメージ展開差分抽出部
４２  差分画像生成部
４４  差分表示部
４６  判断部
４８  文字展開部
５０  文字差分抽出部
５６  データ取得部
５８  ＰＤＬデータ解析部
６０  領域抽出部
６２  差分抽出実行判定部
６４  ＰＤＬデータ展開部
６６  差分抽出部
６８  差分画像生成部
６９  差分表示部
７０  データ解析部
７２  差分抽出実行判定部
７４  ＰＤＬデータ展開部
７６  差分画像生成部
８０  ＣＰＵ
８２  ＲＯＭ
８４  ＲＡＭ
８６  ＨＤＤ
８８  操作部
９０  表示部
９８  コンピュータ
【図１】
2013174954.tif 000003
【図２】
2013174954.tif 000004
【図３】
2013174954.tif 000005
【図４】
2013174954.tif 000006
【図５】
2013174954.tif 000007
【図６】
2013174954.tif 000008
【図７】
2013174954.tif 000009
【図８】
2013174954.tif 000010
【図９】
2013174954.tif 000011
【図１０】
2013174954.tif 000012
【図１１】
2013174954.tif 000013
【図１２】
2013174954.tif 000014
【図１３】
2013174954.tif 000015
【図１４】
2013174954.tif 000016
【図１５】
2013174954.tif 000017
【図１６】
2013174954.tif 000018
【図１７】
2013174954.tif 000019