JP6074893B2 - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP6074893B2
JP6074893B2 JP2012037731A JP2012037731A JP6074893B2 JP 6074893 B2 JP6074893 B2 JP 6074893B2 JP 2012037731 A JP2012037731 A JP 2012037731A JP 2012037731 A JP2012037731 A JP 2012037731A JP 6074893 B2 JP6074893 B2 JP 6074893B2
Authority
JP
Japan
Prior art keywords
data
difference
font
image
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012037731A
Other languages
English (en)
Other versions
JP2013174954A (ja
Inventor
洋三 鹿島
洋三 鹿島
慎也 中村
慎也 中村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2012037731A priority Critical patent/JP6074893B2/ja
Publication of JP2013174954A publication Critical patent/JP2013174954A/ja
Application granted granted Critical
Publication of JP6074893B2 publication Critical patent/JP6074893B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

本発明は、情報処理装置及びプログラムに関する。
特許文献1には、オリジナル原稿のデータ(以下、オリジナル画像データ)を保存する手段と、加筆原稿のデータ(以下、追記画像データ)をスキャンする手段と、オリジナル画像データと加筆原稿の差分データ(以下、差分データ)を検出する手段と、追記画像データの優先度を決定する手段と、発生元を区別する手段と、オリジナルの画像が印刷されている用紙の余白を検出する手段と、余白に1つ以上の差分データを配置する手段と、差分データ同士が重なる場合には優先度に応じて位置をずらして配置する手段を備えた情報処理装置が開示されている。
特許文献2には、原稿を読み取って画像データを生成する画像読み取り手段と、前記原稿に付加された特定情報を解読する解読手段と、前記解読手段で解読した特定情報に基づき、予め保存手段に保存された前記原稿のオリジナルデータを抽出する抽出手段と、前記抽出手段によって抽出したオリジナルデータと前記画像読み取り手段によって読み取られた画像データとを比較してその差分をとり、前記原稿のオリジナル原稿部とそれ以外の追記部を判別する判別手段とを備えたことを特徴とする情報処理装置が開示されている。
特許文献3には、電話回線を閉結する電話回線制御手段と、電話回線を通じて送られてくる画像データを受信する画像データ通信手段と、前記画像データ通信手段が受信した画像データを復元する画像データ復元手段と、前記画像データ復元手段が復元した画像データを印刷する印刷手段と、前記画像データ復元手段が復元した画像データから余白を検出する余白検出手段と、定形記録紙の有効記録紙長を検出する記録紙長検出手段と、前記画像データ復元手段が復元した未印刷のライン数と前記記録紙長検出手段が検出した有効記録紙長とが等しくなったときに前記余白検出手段が検出した余白部分までを前記印刷手段に印刷させる制御手段を備えたことを特徴とするファクシミリ装置が開示されている。
特許文献4には、ファクシミリ情報を受信するデータ受信手段と、このデータ受信手段で受信されたファクシミリ情報における白紙ラインを検知すると共に連続する白紙ラインのライン数を計数するライン数計数手段と、上記ライン数に基づいて所定数以上の白紙ラインが連続するときに上記ファクシミリ情報から削除する白紙ライン削除手段と、上記白紙ライン削除手段で削除されずに残った上記ファクシミリ情報をロール紙に記録可能なデータ記録手段とを具備することを特徴とするファクシミリが開示されている。
特許文献5には、画像データを構成している複数の画素の画素値に基づいて対象画像領域と余白領域とを判別する領域判別手段と、前記画像データのうち前記領域判別手段によって判別された対象画像領域を抽出する対象画像抽出手段とを具備したことを特徴とする画像データ処理装置が開示されている。
特許文献6には、原稿台にセットした原稿を読み取り、読み取った原稿の画像情報に基づいて転写材に画像を形成する画像形成装置において、読み取った原稿の画像情報を記憶する記憶手段と、読み取った原稿の先端部分又は後端部分に形成された余白部分を認識する余白認識手段と、余白認識手段によって認識された余白長さが予め設定された余白長さよりも長い場合に、その設定値よりも長い余白を除去する余白除去手段とを備え、余白除去手段により除去された部分を除いた画像を転写材に転写することを特徴とする画像形成装置が開示されている。
特許文献7には、第1の画像と第2の画像からそれぞれ部分画像を抽出する部分画像抽出手段と、前記部分画像抽出手段によって抽出された部分画像を、それぞれの前記画像内における該部分画像の位置に基づいて、順序付けを行なう順序付手段と、前記順序付手段によって順序付けされた部分画像の順序に基づいて、対応する該部分画像間の比較を行ない、前記第1の画像と前記第2の画像の差異を抽出する差異抽出手段を具備することを特徴とする情報処理装置が開示されている。
特開2009−147435号公報 特開2004−080601号公報 特開平09−083780号公報 特開平10−313397号公報 特開2002−094762号公報 特開2005−094413号公報 特開2009−258815号公報
本発明は、ページ記述言語形式のデータ(PDLデータ)が表わす画像と読取手段により読み取った読取画像との差分、又はPDLデータが表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる情報処理装置、及びプログラムを得ることを目的とする。
請求項1の発明は、ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する場合に、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する差分抽出手段と、前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、を備えた情報処理装置である。
請求項2の発明は、請求項1に記載の情報処理装置において、前記制御手段は、前記差分抽出手段により抽出される差分が予め定められた閾値以下となるまで、前記フォントの置換え及び再展開が繰り返されるように制御する。
請求項3の発明は、請求項1又は請求項2に記載の情報処理装置において、前記制御手段により前記フォントの置換え及び再展開が複数回繰り返された場合に、前記差分抽出手段により抽出された各差分のうち、最も小さい差分を最終的に得られた差分として選択する差分選択手段を更に備えている。
請求項4の発明は、ページ記述言語形式で記述された第1のデータ及び第2のデータの各々をビットマップの画像データに展開する際に、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字のフォント指定命令が異なる場合に、該同一位置に描画される文字のフォント指定命令が同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する展開手段と、前記展開手段により前記第1のデータ及び前記第2のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、を備えた情報処理装置である。
請求項の発明は、請求項に記載の情報処理装置において、前記展開手段は、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字の内容が同一で、且つ指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する。
請求項の発明は、請求項又は請求項に記載の情報処理装置において、前記差分抽出手段は、前記第1のデータが表わす画像を複数の部分領域に分割したときの各部分領域、及び前記第2のデータが表わす画像を前記第1のデータと共通の方法により複数の部分領域に分割したときの各部分領域において、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断した場合には、該一方の部分領域について前記展開手段により展開されて得られた画像データを差分として抽出し、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断しなかった場合には、該部分領域の各々について前記展開手段により展開して得られた画像データの各々において、同一位置の画素の画素値同士を比較することにより差分を抽出する。
請求項の発明は、コンピュータを、ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する場合に、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する差分抽出手段と、前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、として機能させるためのプログラムである。
請求項8の発明は、コンピュータを、ページ記述言語形式で記述された第1のデータ及び第2のデータの各々をビットマップの画像データに展開する際に、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字のフォント指定命令が異なる場合には、該同一位置に描画される文字のフォント指定命令が同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する展開手段と、前記展開手段により前記第1のデータ及び前記第2のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、として機能させるためのプログラムである。
請求項1に記載の発明によれば、ページ記述言語形式のデータ(PDLデータ)が表わす画像と読取手段により読み取った読取画像との差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
請求項2に記載の発明によれば、本構成を有しない場合に比べて、フォントの違いにより差分が大きくなることを抑制することができる。
請求項3に記載の発明によれば、本構成を有しない場合に比べて、フォントの違いにより差分が大きくなることを抑制することができる。
請求項に記載の発明によれば、ページ記述言語形式のデータ(PDLデータ)が表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
請求項に記載の発明によれば、フォントの違いのみによる差分が抽出されることを抑制することができる。
請求項に記載の発明によれば、効率的に差分を抽出することができる。
請求項に記載の発明によれば、ページ記述言語形式のデータ(PDLデータ)が表わす画像と読取手段により読み取った読取画像との差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
請求項に記載の発明によれば、ページ記述言語形式のデータ(PDLデータ)が表わす画像同士の差分を抽出する際に、フォントの違いによる差分が抽出されることを抑制することができる。
情報処理装置、端末装置、印刷装置が通信手段を介して接続されている状態を示す図である。 第1の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。 情報処理装置のハードウェア構成例を示す図である。 第1の実施形態の情報処理装置で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。 (A)は、PDLデータが表わす画像の一例であり、(B)は、読取画像データが表わす画像の一例であり、(C)は、フォントを置換えずに差分抽出した場合の差分画像の表示例であり、(D)は、フォントを置換えて差分抽出した場合の差分画像の表示例である。 フォント類推テーブルの一例を示す図である。 第2の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。 第2の実施形態の情報処理装置で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。 文字処理の流れを示すフローチャートである。 図形・イメージ処理の流れを示すフローチャートである。 第3の実施形態に係る情報処理装置の構成を機能的に示した機能構成図である。 第3の実施形態の情報処理装置で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。 第3の実施形態の情報処理装置の作用を概念的に説明する説明図である。 第3の実施形態に係る情報処理装置の機能構成の変形例である。 図14に示す情報処理装置で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。 第3の実施形態に係る情報処理装置の機能構成の変形例である。 図16に示す情報処理装置で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
以下、図面を参照して、実施形態について詳細に説明する。
[第1の実施形態]
第1の実施形態において、図1に示すように、情報処理装置10、端末装置12a、12b、12c、及び印刷装置14が、通信手段16を介して接続されている。なお、通信手段16は、公衆回線であってもよいし、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等のネットワークであってもよい。また、通信手段を、無線の通信手段としてもよいし、有線の通信手段としてもよい。
端末装置12a、12b、12cは、アプリケーション等により作成されたデータを印刷するための、ページ記述言語(PDL:Page Description Language)で記述した印刷データ(以下、PDLデータと呼称する)を作成して、情報処理装置10に送信する。PDLデータは、例えば、HPGL形式或いはPDF形式のデータであってもよいし、ポストスクリプト等であってもよい。なお、端末装置12a、12b、12cは、それぞれコンピュータにより構成され、それぞれPDLデータの作成環境が異なっているものとする。ここで、PDLデータの作成環境(以下、単に環境という)とは、OS(オペレーティングシステム)のバージョンや種類、PDLデータを作成したソフトウエア(プリンタドライバ)のバージョン等をいう。OSのバージョンや種類が異なると、インストールされているフォント(文字の形状を示す書体)が異なる場合があり、また、プリンタドライバのバージョンが異なるとPDLデータの作成において使用されるフォントが異なる場合がある。
情報処理装置10は、端末装置12a、12b、12cから受信したPDLデータを印刷装置14に転送する。
印刷装置14は、印刷画像を用紙等の記録媒体に印刷する印刷手段を有する。印刷装置14は、情報処理装置10から受信したPDLデータをビットマップの画像データに変換し、印刷手段により印刷する。なお、PDLデータをビットマップの画像データに変換する処理を情報処理装置10が行なうようにしてもよい。また、印刷装置14は、端末装置12a、12b、12cから直接PDLデータを受信し、該受信したPDLデータに基づいて、印刷画像を用紙等の記録媒体に印刷する場合もある。更にまた、印刷装置14には、原稿の画像を読み取る読取手段も設けられており、読取手段により原稿を読み取って得られたビットマップの画像データ(以下、読取画像データと呼称する)は、情報処理装置10に送信され、情報処理装置10で保持される。以下、PDLデータから変換(展開)されたビットマップの画像データをPDL展開画像データと呼称する。
なお、情報処理装置10は、PDL展開画像データが表わす画像と読取画像データが表わす画像とで、互いに異なる部分(以下、異なる部分を「差分」という)を抽出する差分抽出機能も備えている。例えば、端末装置12a、12b、12cのいずれかを操作する利用者が、アプリケーション等によりデータを作成し、該データをPDLデータに変換して印刷装置14により印刷させた後、該印刷物に、手書きによる追加や修正ペン等による削除等の変更を加え、該変更を加えた印刷物を印刷装置14により読み取らせたりする場合がある。情報処理装置10は、差分抽出機能により、例えば、上記印刷装置14により読み取って得られた読取画像データが表わす画像と、元々のPDL展開画像データが表わす画像との差分を抽出する。
なお、PDLデータを生成する端末装置の環境によっては、例えばアプリケーションで指定されたフォントが端末装置にインストールされておらず、該指定されたフォントとは異なるフォントを指定したPDLデータが作成されてしまう場合がある。更にはこれを印刷すると、フォントが異なる印刷結果が出力されてしまう。すなわち、同じデータから生成したPDLデータであっても、PDLデータを生成する環境によっては、フォントが異なるPDLデータが生成され、フォントが異なる印刷物が印刷されてしまう可能性がある。このフォントが異なる印刷物に対し更に手書き等で変更を加えた場合、従来の手法で差分抽出を行なうと、手書き部分だけでなく。本来差分として抽出すべきでない文字部分も差分として抽出されてしまう可能性がある。このため、本実施形態では後述するように差分抽出を行なう。
図2は、第1の実施形態に係る情報処理装置10の構成を機能的に示した機能構成図である。情報処理装置10は、データ取得部20、PDLデータ展開部22、フォント情報記憶部24、フォント置換部26、差分抽出部28、制御部29、差分画像生成部30、及び差分表示部32を備えている。
データ取得部20は、差分を抽出する対象となるPDLデータと読取画像データとを取得する。
PDLデータ展開部22は、データ取得部20で取得されたPDLデータを解析し、ビットマップの画像データに変換する。すなわち、PDLデータ展開部22は、PDLデータの解釈処理において、PDLデータから命令を1つずつ抽出し、展開処理において上記抽出した命令を実行することで、ビットマップの画像データ(PDL展開画像データ)を生成する。PDLデータには、文字、図形、或いはイメージ等のオブジェクトを描画するための命令が含まれる。例えば、文字コード等が指定され文字オブジェクト(以下、単に文字という)を描画する文字描画命令、該描画する文字のフォントを指定するフォント指定命令、図形オブジェクト(以下、単に図形という)を描画する図形描画命令、イメージオブジェクト(以下、単にイメージという)を描画するイメージ描画命令等が含まれている。フォント指定命令は、文字描画命令に先んじて実行され、その後、文字描画命令により、フォント指定命令で指定されたフォントで文字列が描画される。なお、PDLデータには、PDLデータが作成された環境を示す情報等も含まれている。PDLデータ展開部22により生成されたPDL展開画像データは、差分抽出部28に供給される。
また、PDLデータ展開部22は、PDL展開画像データを差分抽出部28に供給した後、制御部29からフォント置換指示を受け取った場合には、PDLデータに含まれるフォント指定命令を変更して、再度PDLデータを展開する。具体的には、PDLデータ展開部22は、PDLデータに含まれるフォント指定命令により指定されたフォント(指定フォント)を、フォント置換部26により提供された代替フォントに置換えて再展開する。
フォント情報記憶部24には、フォント指定命令により指定されたフォントを代替する代替フォントの情報が記憶されている。
フォント置換部26は、PDLデータ展開部22から置換対象のフォントの情報を受け取ると、該フォントを代替する代替フォントをフォント情報記憶部24から読み出し、PDLデータ展開部22に提供する。
差分抽出部28は、PDLデータ展開部22からPDL展開画像データを取得すると共に、データ取得部20から読取画像データを取得する。差分抽出部28は、取得したPDL展開画像データと読取画像データとの差分を抽出する。例えば、PDL展開画像データと読取画像データとで同一位置の画素同士を比較し、画素値が閾値以上異なる部分を「差分」として抽出するようにしてもよい。
制御部29は、差分抽出部28により抽出された差分を取得し、該差分の大きさ(面積、或いは画素数)に応じて、フォント指定命令の指定フォントを代替フォントに置換えるか否かを判断し、置換えると判断した場合には、PDLデータ展開部22に対して、フォント置換指示を出力する。本実施形態では、制御部29によりフォント指定命令の指定フォントを置換えないと判断されるまで、差分抽出、判断、及びフォント置換え、及び再展開が繰り返されるが、フォントの置換え回数に上限値を設定してもよい。
差分抽出部28は、制御部29がフォント指定命令の指定フォントを置換えないと判断したときの差分を示す差分情報を差分画像生成部30に供給する。なお、差分情報は、例えば、上記異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、PDL展開画像データの中から上記異なる部分に対応する画像データを抽出すると共に、読取画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を差分情報としてもよい。
差分画像生成部30は、差分抽出部28から受け取った差分情報に基づいて、PDL展開画像データが表わす画像と読取画像データが表わす画像とで差分が明示された差分画像の差分画像データを生成する。
差分表示部32は、差分画像生成部30で生成された差分画像データに基づいて、差分画像を表示する。
なお、情報処理装置10のハードウェア構成例を図3に示す。情報処理装置10は、図3に示すコンピュータ98がプログラムを実行することにより実現することができる。
コンピュータ98は、CPU(Central Processing Unit)80、ROM(Read Only Memory)82、RAM(Random Access Memory)84、HDD(Hard Disk Drive)86、操作部88、表示部90、及び通信IF(Interface)92がバス94を介して接続されて構成されている。
CPU80は、ROM82やHDD86に記憶されているプログラムを実行し、自装置全体の動作を制御する。ROM82には、CPU80が実行するプログラム(後述する画像処理のプログラム等を含む)やCPU80の処理に必要な情報等が記憶されている。CPU80が該プログラムを実行することによって、図2を用いて説明した情報処理装置10を実現する。RAM84は、ワークメモリ等として使用される。
HDD86には、CPU80が実行するプログラム、様々な設定情報やデータが記憶されている。外部から受信した読取画像データやPDLデータもHDD86に記憶される。また、様々なフォント情報を記憶した記憶領域も設けられている。この記憶領域が上記フォント情報記憶部24に対応する。更にまた、端末装置12a〜12cまでの各端末装置にインストールされているフォントのデータも、HDD86に記憶されているものとする。
なお、CPU80が実行するプログラムを記憶するための記憶媒体は、HDD86やROM82に限定されない。例えば、フレキシブルディスクやDVDディスク、光磁気ディスクやUSBメモリ(ユニバーサルシリアルバスメモリ)等(不図示)であってもよいし、通信手段16に接続された他の装置の記憶装置であってもよい。
操作部88は、例えば、キーボードやマウス等により構成され、利用者が操作部88を操作することより各種情報が指定される。表示部90は、例えば、液晶ディスプレイ、ELディスプレイ等により構成され、CPU80の制御により各種画像やメッセージ、或いは後述する差分画像等を表示する。
通信IF92は、通信手段を介して他の装置と通信を行なうためのインタフェースである。
次に、第1の実施形態における作用を図4及び図5を用いて説明する。
図4は、情報処理装置10で実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
ステップ100において、データ取得部20は、差分抽出対象であるPDLデータと読取画像データとを取得する。例えば、事前に、差分抽出対象として、端末装置12a、12b、12cのいずれかから受信したPDLデータと、印刷装置14で読み取られた読取画像データとがHDD86等の記憶部に記憶されている場合には、該記憶部から取得すればよいし、この差分抽出処理を開始する際に、端末装置12a、12b、12cのいずれかからPDLデータを取得し、印刷装置14から読取画像データを取得するようにしてもよい。また、読取画像データは、印刷装置14以外の他の読取装置で読み取られた読取画像データであってもよい。
ステップ102において、PDLデータ展開部22は、データ取得部20により取得されたPDLデータを解析し、該PDLデータをビットマップの画像データ(PDL展開画像データ)に展開する。
ステップ104において、差分抽出部28は、PDL展開画像データと、読取画像データとを比較して差分を抽出する。
ステップ106において、制御部29は、上記比較結果に基づいて、PDL展開画像データの元となったPDLデータに含まれるフォント指定命令で指定された指定フォントを代替フォントに置換えて再展開するか否かを判断する。フォントが異なるだけでも、全体の差分は大きくなるため、ここでは、PDL展開画像データと読取画像データとで画素値が予め定められた値以上異なる画素の数をカウントし、該カウント値が予め定められた閾値より大きければ、代替フォントに置換えると判断するようにしてもよい。
なお、元々のPDLデータから、文字領域の面積はおおよそ把握できるため、文字領域の面積に応じて閾値を異ならせてもよい(例えば、文字領域の面積が大きいほど閾値を大きくする等)。また、文字領域が予め定められた面積以上であるにも関わらす、差分が小さい場合には、差分の中にフォントの違いによる差分は含まれていないと判断するようにしてもよい。
更にまた、元々のPDLデータにより、文字領域が特定されるため、該特定された文字領域において上記カウント値が予め定められた閾値以上となった場合に、代替フォントに置換えて再展開すると判断するようにしてもよい。
また、利用者に対して、PDL展開画像データの画像と読取画像データの画像とを表示して目視で確認させ、フォントを代替フォントに置換えるか否かを判断させるようにしてもよい。判断結果は、例えば、利用者に操作部88を介して入力させ、制御部29は、該利用者の判断結果に従って、ステップ106の判断を行なうようにしてもよい。利用者による目視の判断は、代替フォントに置換えて再展開すると判断した後に、最終確認として行なうようにしてもよい。これにより、代替フォントに置換えて再展開すると判断した場合にでも、利用者によりフォントの置換え及び再展開が中止される場合がある。
制御部29は、ステップ106において、指定フォントを代替フォントに置換えると判断した場合には、ステップ108において、PDLデータ展開部22に対してフォント置換指示を出力して、PDLデータに含まれるフォント指示命令による指定フォントを代替フォントに置換えさせて、再度展開させる。
PDLデータ展開部22は、フォント置換指示に従い、現在のフォント指令命令により指定されているフォントの情報をフォント置換部26に渡す。
フォント置換部26は、該フォントの情報に基づいて、フォント情報記憶部24から代替フォントを読み出し、代替フォントの情報をPDLデータ展開部22に渡す。フォント情報記憶部24には、各フォントに対して代替フォントが対応付けられて記憶されている。従って、フォント置換部26は、フォント情報記憶部24から、指定フォントに対応付けられている代替フォント(複数の代替フォントが対応付けられている場合には、複数のうちから選択した1つの代替フォント)の情報を読み出す。
PDLデータ展開部22は、PDLデータのフォント指定命令による指定フォントを、フォント置換部26から受け取った情報が示す代替フォントに置換えて、再度展開処理を行なって、PDL展開画像データを生成し、差分抽出部28に供給する。
差分抽出部28は、ステップ104に戻って、新たに生成されたPDL展開画像データと、読取画像データとを比較して差分を抽出する。その後、ステップ106において、肯定判断された場合には、別の代替フォントに置換えられるように、再度ステップ108の処理を繰り返す。すなわち、ステップ106で否定判断されるまで、ステップ104〜108の処理が繰り返される。ステップ106において否定判断された場合には、ステップ110に進む。
ステップ110において、差分抽出部28は、制御部29によりフォントを置換えないと判断したときに抽出した差分を示す情報(差分情報)を差分画像生成部30に供給する。なお、差分抽出部28は、フォントを複数回置換えた場合には、最も差分が小さくなったときの差分情報を選択して、差分画像生成部30に供給するようにしてもよい。差分画像生成部30は、差分情報に基づいて、差分を表わす画像(差分画像)の差分画像データを生成する。
ステップ112においては、差分表示部32は、差分画像生成部30で生成された差分画像データに基づいて、差分画像を表示する。なお、差分画像は、利用者が差分を把握することができれば、どのような画像であってもよく、例えば、PDL展開画像データと読取画像データとで異なる部分については、それぞれの部分画像を重畳して配置し、それ以外の部分(差分として抽出されなかった部分)については、重畳せずに、PDL展開画像データ及び読取画像データのいずれか一方が表わす画像を配置した差分画像としてもよい。
図5に一例を示す。図5(A)は、PDLデータが表わす画像であり、図5(B)は、読取画像データが表わす画像であるものとする。差分画像については、2つの画像の異なる部分について、それぞれの部分画像を重畳し、該重畳部分に破線等により表現された枠画像を更に重畳した画像を差分画像として生成するものとする。仮に、フォントの置換えが行なわれない場合には、図5(C)に示すように、文字領域の部分も差分として抽出され、表示されてしまうが、上記のようにフォントの置換えが行なわれる場合には、図5(D)に示すように、文字領域は差分として抽出されにくくなる。
なお、ここでは、異なる部分の各部分画像を重畳して配置し破線で囲むことにより異なる部分を表示する例について説明したが、部分画像の各々の色を異ならせて重畳して配置することにより、異なる部分を表示するようにしてもよい。或いは、異なる部分を点滅表示する等の表示方法を採用してもよい。更には、PDL展開画像データの画像と、読取画像データの画像とを並べて表示し、互いに異なる部分に対して破線などにより表現された枠画像を重畳するようにしてもよい。
なお、フォント置換部26は、例えば、図6に示されるフォント類推テーブルを使用して、フォント毎に代替される可能性の高いフォントを類推して、代替フォントを決定するようにしてもよい。
予め、フォント情報記憶部24に、フォント類推テーブルを記憶しておく。フォント類推テーブルは、フォント指定命令で指定された指定フォントが、PDLデータの作成時にどのフォントから置換えられたのかを類推するためのテーブルである。ここでは、各端末装置12a、12b、12cの各々には、種類は同じであるが、バージョンが異なるOSが搭載されているものとして説明する。
図6(A)は、OSのバージョンとフォント類推テーブルのアドレスとを対応付けたメインテーブルの一例である。このメインテーブルにより、バージョン1.0のフォント類推テーブルは、アドレスadd_r1に記憶されており、バージョン2.0のフォント類推テーブルは、アドレスadd_r2に記憶されていることがわかる。
図6(B)には、OSのバージョンが1.0のフォント類推テーブルの一例が示されている。また、図6(C)には、OSのバージョンが2.0のフォント類推テーブルの一例が示されている。各フォント類推テーブルには、代替フォントが優先度順に登録された代替テーブルを記憶した記憶領域のアドレスがフォントファミリ毎に登録されている。ここで、フォントファミリとは、デザインが類似するフォント(書体)をひとまとめにしたフォントの集まりを表わす。例えば、線の太さや斜体など文字のスタイル属性が異なるフォントを含むフォントの集まりをいう。
図6(B)及び図6(C)の各々において、フォントファミリとして、ゴシック(Gothic)と、明朝(Mincho)が登録されており、各々に代替テーブルのアドレスが対応付けられて登録されている。図6(B)により、OSのバージョン1.0のゴシックの代替テーブルは、アドレスadd_1に記憶されており、OSのバージョン1.0の明朝の代替テーブルは、アドレスadd_2に記憶されていることがわかる。また、図6(C)により、OSのバージョン2.0のゴシックの代替テーブルは、アドレスadd_5に記憶されており、OSのバージョン2.0の明朝の代替テーブルは、アドレスadd_6に記憶されていることがわかる。
各アドレスが示す記憶領域に記憶されている代替テーブルを、図6(D)、(E)、(F)、(G)に示す。
例えば、図6(D)には、フォントファミリがゴシックの代替テーブルの一例が示されている。この例では、優先度が高い順に、OldGothic、Gothic-A、LegacyGothicの3つのフォントが登録されている。
ここで、例えば、オリジナルのアプリケーションデータでは、Gothic-Aというフォントを使用していたが、PDLデータを生成したときのOSの環境において、Gothic-Aがインストールされていないとすると、Gothic-Aとは異なるフォントがフォント指定命令で指定されてしまう。ここで、例えば、フォント指定命令で指定するフォントがOldGothicに置換えられた場合には、上記ステップ108において、フォント置換部26は、上記類推テーブルを使用して以下のように類推し、指定フォントを代替フォントに置換えて再展開処理を行なう。
まず、フォント置換部26は、フォント指定命令により元々指定されていた指定フォントOldGothicのフォントファミリを調べる。すると、Gothicが得られる。フォント名からフォントファミリを調べる方法は特に限定されないが、例えば、フォントファミリ名とフォント名とを対応付けたテーブルをフォント情報記憶部24に記憶しておき、該テーブルから検索するようにしてもよい。
次に、フォント置換部26は、PDLデータが作成されたコンピュータの動作環境を示す情報等を、PDLデータから抽出する。これにより、OSのバージョンがわかるため、フォント置換部26は、図6(A)に示すメインテーブルからOSのバージョンに対応付けられたフォント類推テーブルのアドレスを検索する。ここで、PDLデータを作成した端末装置にインストールされたOSのバージョンは1.0であるとすると、アドレスadd_r1に記憶されたフォント類推テーブルを参照すればよいことがわかる。
そこで、フォント置換部26は、図6(B)に示すフォント類推テーブルのフォントファミリ「ゴシック」に対応付けられた代替テーブル(図6(D))を調べる。図6(D)に示す代替テーブルには、優先度が高い順にOldGothic、Gothic-A、LegacyGothicというフォントが登録されている。フォント置換部26は、この代替テーブルに登録されているフォントのいずれかが、元々のアプリケーションデータで指定されたフォントである可能性が高いと判断する。従って、フォント置換部26は、現在PDLデータでフォント指定命令により指定されているフォントOldGothicを除くフォントのうち、優先度が最も高いフォントGothic-Aを代替フォントとして選択し、PDLデータ展開部22に提供する。
PDLデータ展開部22は、フォント指定命令で指定されたフォントをOldGothicからGothic-Aに置換えて展開する。
なお、仮に元々のアプリケーションデータで指定されたフォントがGothic-Aでない場合には、ステップ106において再度代替フォントに置換えると判断される可能性がある。この場合には、ステップ108で上記と同様にフォント類推テーブルから判断し、OldGothic以外でGothic-Aの次に優先度の高いLegacyGothicを選択して、PDLデータ展開部22に提供することとなる。
なお、ここでは、バージョンが異なるOS毎にフォント類推テーブルを設けて、代替フォントを選択する例について説明したが、種類が異なるOS毎にフォント類推テーブルを設けて、代替フォントを選択するようにしてもよいし、OSの種類及びバージョン毎にフォント類推テーブルを設けて、代替フォントを選択するようにしてもよい。
また、フォントを置換える毎に、置換えたフォントに対応させて差分抽出結果を保存しておき、該保存した差分抽出結果のうち、差分が小さい差分抽出結果が得られた代替フォントほど優先度が高くなるように、代替フォントテーブル内の優先度を変更してもよい。
また、ここでは、フォントファミリ毎に代替フォントテーブルを設けた例について説明したが、異なるフォントファミリのフォントがフォント指定命令のフォントとして使用される場合を想定し、フォントファミリで区切らずに、OSの環境毎に、優先度順にフォントを登録した代替フォントテーブルを設けてもよい。
[第2の実施形態]
第1の実施形態においては、PDL展開画像データと読取画像データとを比較して差分を抽出する例について説明したが、第2の実施形態においては、PDLデータ同士を比較して差分を抽出する例について説明する。なお、第2の実施形態の情報処理装置のハードウェア構成は、第1の実施形態と同様とされるが、機能構成は、第1の実施形態と異なるため、第2の実施形態の情報処理装置の符号を10aとして、第1の実施形態の情報処理装置10と区別して説明する。
図7は、第2の実施形態に係る情報処理装置10aの構成を機能的に示した機能構成図である。情報処理装置10aは、データ取得部34、PDLデータ解析部36、文字展開差分抽出部38、図形・イメージ展開差分抽出部40、差分画像生成部42、及び差分表示部44を備えている。
データ取得部34は、差分を抽出する対象となる2つのPDLデータ(以下、第1PDLデータ及び第2PDLデータと呼称する)を取得する。
PDLデータ解析部36は、データ取得部34で取得された第1PDLデータを解析し、フォント指定命令及び文字描画命令を抽出して、文字展開差分抽出部38に供給する。第1PDLデータから抽出されたフォント指定命令及び文字描画命令を、それぞれ第1フォント指定命令及び第1文字描画命令と呼称する。
また、PDLデータ解析部36は、データ取得部34で取得された第2PDLデータを解析し、フォント指定命令及び文字描画命令を抽出して、文字展開差分抽出部38に供給する。第2PDLデータから抽出されたフォント指定命令及び文字描画命令を、それぞれ第2フォント指定命令及び第2文字描画命令と呼称する。
更に、PDLデータ解析部36は、第1PDLデータを解析し、第1PDLデータに含まれる命令の中から第1フォント指定命令及び第1文字描画命令以外の命令(ここでは、図形描画命令及びイメージ描画命令)を図形・イメージ展開部52に供給すると共に、第2PDLデータを解析し、第2PDLデータに含まれるに含まれる命令の中から第2フォント指定命令及び第2文字描画命令以外の命令(ここでは、図形描画命令及びイメージ描画命令)を図形・イメージ展開部52に供給する。ここでは、第1PDLデータに含まれる図形描画命令及びイメージ描画命令を、それぞれ第1図形描画命令及び第1イメージ描画命令と呼称する。また、ここでは、第2PDLデータに含まれる図形描画命令及びイメージ描画命令を、それぞれ第2図形描画命令及び第2イメージ描画命令と呼称する。
なお、第1PDLデータに含まれる第1フォント指定命令、第1文字描画命令、第1図形描画命令、及び第1イメージ描画命令は、各々1つの場合もあれば複数の場合もある。同様に、第2PDLデータに含まれる第2フォント指定命令、第2文字描画命令、第2図形描画命令、及び第2イメージ描画命令は、各々1つの場合もあれば複数の場合もある。
なお、PDLデータ解析部36は、上記各命令の他に、展開に必要な各種データがある場合には、該各種データをPDLデータから抽出して文字展開差分抽出部38及び図形・イメージ展開差分抽出部40に供給するものとする。
文字展開差分抽出部38は、判断部46、文字展開部48、及び文字差分抽出部50を備えている。
判断部46は、第1文字描画命令及び該第1文字描画命令により描画する文字のフォントを指定する第1フォント指定命令の各々と、該第1文字描画命令と描画位置が同一の第2文字描画命令及び該第2文字描画命令により描画する文字のフォントを指定する第2フォント指定命令の各々とを比較する。このように、ここでは、描画位置が同じ文字同士が比較されるように、各命令を比較する。判断部46は、比較することにより、第1フォント指定命令及び第2フォント指定命令の少なくとも一方により指定された指定フォントを他のフォントに代替するか否かを判断する。
文字展開部48は、判断部46により代替すると判断された場合には、第1フォント指定命令及び第2フォント指定命令の各々により指定される指定フォントの各々が同一となるように第1フォント指定命令及び第2フォント指定命令の少なくとも一方を変更し、変更後の命令を実行して展開する。また、文字展開部48は、判断部46により代替しないと判断された場合には、第1フォント指定命令及び第2フォント指定命令のいずれも変更せずに実行して展開する。ここで、第1PDLデータから抽出された命令と第2PDLデータから抽出された命令は別々に実行し、実行結果である画像データの各々も、各々異なる記憶領域に記憶されるものとする。以下、第1PDLデータから抽出された命令を実行して展開されたビットマップの文字の画像データを第1文字画像データと呼称し、第2PDLデータから抽出された命令を実行して展開されたビットマップの文字の画像データを第2文字画像データと呼称する。
文字差分抽出部50は、文字展開部48で展開して得られた第1文字画像データ及び第2文字画像データの差分を示す文字差分情報を差分画像生成部42に供給する。
図形・イメージ展開差分抽出部40は、図形・イメージ展開部52及び図形・イメージ差分抽出部54を備えている。
一方、図形・イメージ展開部52は、PDLデータ解析部36から供給された、第1図形描画命令及び第1イメージ描画命令を展開してビットマップの画像データ(第1図形・イメージ画像データ)を生成する。また、PDLデータ解析部36から供給された、第2図形描画命令及び第2イメージ描画命令を展開してビットマップの画像データ(第2図形・イメージ画像データ)を生成する。
図形・イメージ差分抽出部54は、第1図形・イメージ画像データと、第2図形・イメージ画像データとを比較し、第1図形・イメージ画像データが表わす画像、及び第2図形・イメージ画像データが表わす画像の差分を示す図形・イメージ差分情報を生成する。
差分画像生成部42は、文字差分画像情報と図形・イメージ差分画像情報とに基づいて、差分画像を表わす差分画像データを生成する。
差分表示部44は、差分画像生成部42で生成された差分画像データに基づいて、差分画像を表示する。
次に、第2の実施形態における作用を図8、図9、及び図10を用いて説明する。
図8は、情報処理装置10aで実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
ステップ200において、データ取得部34は、差分抽出対象である2つのPDLデータ(第1PDLデータ及び第2PDLデータ)を取得する。
ステップ202において、PDLデータ解析部36は、データ取得部34により取得された第1PDLデータ及び第2PDLデータを解析する。そして、PDLデータ解析部36は、第1PDLデータから第1フォント指定命令及び第1文字描画命令を抽出し、第2PDLデータから第2フォント指定命令及び第2文字描画命令を抽出して、それぞれ文字展開差分抽出部38に供給する。また、PDLデータ解析部36は、第1PDLデータから第1図形描画命令及び第1イメージ描画命令を抽出し、第2PDLデータから第2図形描画命令及び第2イメージ描画命令を抽出して、それぞれ図形・イメージ展開差分抽出部40に供給する。
文字展開差分抽出部38は、ステップ204において、第1PDLデータの第1フォント指定命令及び第1文字描画命令と、第2PDLデータの第2フォント指定命令及び第2文字描画命令とに基づいて、文字処理を行なう。
図形・イメージ展開差分抽出部40は、ステップ206において、第1PDLデータの第1図形描画命令及び第1イメージ描画命令と、第2PDLデータの第2図形描画命令及び第2イメージ描画命令とに基づいて、図形・イメージ処理を行なう。
図9は、文字処理の流れを示すフローチャートである。
ステップ220において、文字展開差分抽出部38の判断部46は、第1文字描画命令で指定されている文字コードと第2文字描画命令で指定されている文字コードとを比較する。ここで、比較されるのは、前述したように、共に同じ位置に描画される文字についての文字描画命令で指定されている文字コードである。ここで、文字コードとは、コンピュータ上で文字を取り扱うために文字の各々に対して付与された識別情報をいう。
なお、文字展開差分抽出部38は、第1文字描画命令で指定されている文字コードのエンコードと第2文字描画命令で指定されている文字コードのエンコードとが異なる場合には、両者の文字コードをいずれか一方のエンコードに対応する文字コードに統一した後に比較する。エンコードは、例えばShift-JISやJIS等の文字コード体系をいう。
ステップ220において、判断部46が、第1文字描画命令の文字コードと第2文字描画命令の文字コードとが異なると判断した場合には、その判断結果を文字展開部48に供給する。
その後、ステップ222において、文字展開部48は、第1フォント指定命令及び第1文字描画命令に基づいてビットマップの文字画像データを生成し、これとは別に、第2フォント指定命令及び第2文字描画命令に基づいてビットマップの文字画像データを生成する。すなわち、第1PDLデータの命令と第2PDLデータの命令とを個別に実行して展開し、各々個別に文字画像データを生成する。なお、第1PDLデータの命令を実行して展開した画像データは、HDD86の第1記憶領域に記憶され、第2PDLデータの命令を実行して展開した画像データは、HDD86の第2記憶領域に記憶される。
一方、ステップ220において、判断部46は、判断部46が、第1文字描画命令の文字コードと第2文字描画命令の文字コードとが同じであると判断した場合には、ステップ224において、判断部46は、第1フォント指定命令の指定フォントと第2フォント指定命令の指定フォントとが同じであるか否かを判断する。
ステップ224において、判断部46は、両者の指定フォントが異なると判断した場合には、その判断結果を文字展開部48に供給する。
その後、ステップ226において、文字展開部48は、第1フォント指定命令の指定フォント、及び第2フォント指定命令の指定フォントの少なくとも一方を変更して、両者のフォントを共通のフォントにする。これにより、第1フォント指定命令及び第1文字描画命令と、第2フォント指定命令及び第2文字描画命令とにより描画される各文字画像は、同一の文字画像となる。文字展開部48は、第1フォント指定命令及び第1文字描画命令に基づいてビットマップの文字画像データを生成して、第1記憶領域及び第2記憶領域の双方に記憶する。
一方、ステップ224において、判断部46は、両者の指定フォントが同じと判断した場合には、第1フォント指定命令及び第1文字描画命令と、第2フォント指定命令及び第2文字描画命令とにより描画される各文字画像は、同一の文字画像となる。従って、ステップ228において、文字展開部48は、指定フォントを変更することなく、第1フォント指定命令及び第1文字描画命令に基づいてビットマップの文字画像データを生成して、第1記憶領域及び第2記憶領域の双方に記憶する。
なお、ステップ226及びステップ228では、第1フォント指定命令及び第1文字描画命令に基づいてビットマップの文字画像データを生成する例について説明したが、第2フォント指定命令及び第2文字描画命令に基づいて文字画像データを生成するようにしてもよい。どちらの命令を実行しても、同一の文字画像データを生成することができるためである。
ステップ230において、文字展開部48は、PDLデータ解析部36から供給されたフォント指定命令及び文字描画命令の全ての命令の実行が終了したか否かを判断する。ステップ230で否定判断された場合には、ステップ220に戻り、未実行の第1フォント指定命令、第1文字描画命令、第2フォント指定命令及び第2文字描画命令について上記処理が繰り返される。これにより、文字に関する命令の1つ1つが確実に実行され、最終的に頁全体の文字画像データが生成される。
また、ステップ230で肯定判断された場合には、ステップ232に進む。
ステップ232においては、文字差分抽出部50は、第1記憶領域に記憶された各文字画像データを並べて合成して、1つの文字画像データ(第1文字画像データ)を生成する。また、文字差分抽出部50は、第2記憶領域に記憶された各文字画像データを並べて合成して、1つの文字画像データ(第2文字画像データ)を生成する。そして、文字差分抽出部50は、第1文字画像データと第2文字画像データとを比較し、差分(異なる部分)を抽出する。そして、該差分を示す情報(以下、文字差分情報)を差分画像生成部42に供給する。なお、ここでは、ページ全体で比較処理する例について説明したが、前述したように、ステップ220において文字コードが等しいと判断した場合には、その部分の文字画像は、フォントが異なっていてもその後の処理によりフォントが統一され、同一の文字描画命令及びフォント指定命令により展開された文字画像となるため、差分として抽出されることはない。従って、文字コードが異なると判断された部分の画像データだけを比較して、差分を抽出するようにしてもよい。
なお、文字差分情報は、例えば、互いに異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、第1文字画像データの中から上記異なる部分に対応する画像データを抽出すると共に、第2文字画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を文字差分情報としてもよい。或いは、第1の実施形態で、差分画像を表わす差分画像データを生成したように、文字のみについて差分画像データ(文字差分画像データ)を生成して、これを文字差分情報としてもよい。
なお、ステップ220では、第1文字描画命令と第2文字描画命令の文字コードが異なる場合に、ステップ222で第1文字描画命令と第2文字描画命令とを個別に実行して2つの文字画像データを生成する例について説明したが、文字の大きさが異なる場合にも、ステップ222で同様に各命令を個別に実行して2つの文字画像データを生成するようにしてもよい。
なお、ここでは説明を省略したが、例えば、第1PDLデータ及び第2PDLデータとで、同一位置において、一方では文字が描画されるが他方では文字が描画されない等の場合もある。このような場合にも、該文字画像が差分として抽出されるように、文字コードやフォントを比較することなく、該文字に関するフォント指定命令及び文字描画命令を実行して展開し、該展開した画像データを第1記憶領域及び第2記憶領域のうち上記実行した命令に対応する記憶領域に記憶する。
また、ここでは、文字コードが異なる場合には、フォントを統一せずに展開する例について説明したが、文字コードの違いを判定せず、フォントの違いのみを判定して、フォントが異なる場合には、第1フォント指定命令及び第2フォント指定命令の少なくとも一方を変更してフォントを統一し、第1文字描画命令及び第2文字描画命令を個別に実行して第1文字画像データ及び第2文字画像データを生成して、差分を抽出するようにしてもよい。描画位置が同一の文字のフォントを統一すれば、フォントの違いによる差分が抽出されることが抑制される。
次に、図形・イメージ展開差分抽出部40により行なわれる図形・イメージ処理について説明する。図10は、図形・イメージ処理の流れを示すフローチャートである。
ステップ240において、図形・イメージ展開部52は、第1PDLデータの第1図形描画命令及び第1イメージ描画命令を実行して展開し、ビットマップの画像データ(第1図形・イメージ画像データ)を生成する。
ステップ242において、図形・イメージ展開部52は、第2PDLデータの第2図形描画命令及び第2イメージ描画命令を実行して展開し、ビットマップの画像データ(第2図形・イメージ画像データ)を生成する。
ステップ244において、図形・イメージ差分抽出部54は、展開して得られた2つの画像データ(第1図形・イメージ画像データと第2図形・イメージ画像データ)の各々を比較する。
ステップ246において、図形・イメージ差分抽出部54は、第1図形・イメージ画像データと第2図形・イメージ画像データの差分(異なる部分)を抽出する。そして、該差分を示す情報(以下、図形・イメージ差分情報)を差分画像生成部42に供給する。
なお、図形・イメージ差分情報は、例えば、互いに異なる部分の位置、大きさ、両者がどのように異なるのか等を示す情報としてもよい。或いは、第1図形・イメージ画像データの中から上記異なる部分に対応する画像データを抽出すると共に、第2図形・イメージ画像データの中から上記異なる部分に対応する画像データを抽出し、該抽出した画像データの各々及び該画像データの位置情報を図形・イメージ差分情報としてもよい。或いは、第1の実施形態で、差分画像を表わす差分画像データを生成したように、図形及びイメージついての差分画像データ(図形・イメージ差分画像データ)を生成して、これを図形・イメージ差分情報としてもよい。
図8のステップ204の文字処理及びステップ206の図形・イメージ処理が終了した後は、ステップ208において、差分画像生成部42は、文字差分情報及び図形・イメージ差分情報に基づいて、全体の差分を示す差分画像を表わす差分画像データを生成する。例えば、文字差分情報が上記説明した文字差分画像データであって、図形・イメージ差分情報が上記説明した図形・イメージ差分画像データである場合には、差分画像生成部42は、文字差分画像データと図形・イメージ差分画像データとを重畳して合成し、差分が明示された差分画像を表わす差分画像データを生成する。これにより、例えば、第1の実施形態で図5(D)を参照して例示した差分画像を示す差分画像データが生成される。
ステップ210において、差分表示部44は、差分画像生成部42により生成された差分画像データに基づいて、差分画像を表示する。
以上説明したように、第1PDLデータと第2PDLデータとで、フォントが異なる命令が含まれている場合には、フォントを統一して展開するようにしたため、フォントのみが異なる文字が差分として抽出されることが抑制される。
なお、第1PDLデータに、第1フォント指定命令、第1文字描画命令、第1図形描画命令、及び第1イメージ描画命令の各種類の命令が含まれているとは限らない。この場合には、含まれている命令を抽出して供給先に供給すればよい。第2PDLデータも同様である。ただし、文字展開差分抽出部38に、第1PDLデータ及び第2PDLデータの一方のみのフォント指定命令及び文字描画命令が供給された場合には、判断部46及び文字差分抽出部50の処理は行なわれず、文字展開部48による展開処理のみが行なわれ、展開された文字画像データが文字差分情報として、差分画像生成部42に供給されるようにしてもよい。また、同様に、図形・イメージ展開差分抽出部40に対して第1PDLデータ及び第2PDLデータの一方のみの図形描画命令及びイメージ描画命令が供給された場合には、図形・イメージ展開差分抽出部40においては、図形・イメージ差分抽出部54による差分抽出は行なわず、図形・イメージ展開部52により展開された図形・イメージ画像データを図形・イメージ差分情報として差分画像生成部42に供給されるようにしてもよい。
また、本実施形態では、文字描画命令及びフォント指定命令と、文字描画命令及びフォント指定命令以外の命令(ここでは、イメージ・図形描画命令)とを別々に処理する例について説明したが、これに限定されない。例えば、第1PDLデータに含まれるフォント指定命令及び第2PDLデータに含まれるフォント指定命令の少なくとも一方を、予め同一位置に描画する文字のフォントが同一となるように変更した上で、第1PDLデータ全体及び第2PDLデータ全体の各々を個別に展開し、展開して得られた2つの画像データを比較して差分を抽出するようにしてもよい。
[第3の実施形態]
第3の実施形態では、差分抽出対象の2つのデータが表わす画像の各々を複数の部分領域に分割し、対応する部分領域毎に差分抽出処理を行なう例について説明する。ただし、ここでは、2つのデータ間で対応する部分領域の一方にオブジェクトが存在しない場合には、画素毎に画素値を比較する差分抽出処理を実行せずに、他方の部分領域の画像そのものを、差分を表わす画像として扱い処理するものとする。
なお、第3の実施形態の情報処理装置のハードウェア構成は、第1の実施形態と同様とされるが、機能構成は、第1の実施形態と異なるため、第3の実施形態の情報処理装置の符号を10bとして、第1の実施形態の情報処理装置10と区別して説明する。
図11は、第3の実施形態に係る情報処理装置10bの構成を機能的に示した機能構成図である。情報処理装置10bは、データ取得部56、PDLデータ解析部58、領域抽出部60、差分抽出実行判定部62、PDLデータ展開部64、差分抽出部66、差分画像生成部68、及び差分表示部69を備えている。
データ取得部56は、差分を抽出する対象となるPDLデータと読取画像データとを取得する。
PDLデータ解析部58は、データ取得部56で取得されたPDLデータを解析し、該PDLデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令をPDLデータから抽出し、抽出した命令を部分領域情報として差分抽出実行判定部62に供給する。ただし、PDLデータ解析部58は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を部分領域情報として差分抽出実行判定部62に供給する。
領域抽出部60は、読取画像データが表わす画像内の、PDLデータ解析部58により作成された部分領域情報に対応する部分領域の画像データ(部分読取画像データ)を抽出し、該抽出した部分読取画像データを差分抽出実行判定部62に供給する。
差分抽出実行判定部62は、部分領域情報に基づいて、該部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。差分抽出実行判定部62は、部分領域情報が、オブジェクトが描画されない旨を示す情報である場合には、該部分領域にオブジェクトが描画されないと判定し、部分領域情報にPDLデータの命令が含まれている場合には、該部分領域にオブジェクトが描画されると判定する。
差分抽出実行判定部62は、オブジェクトが描画されると判定した場合には、該部分領域については差分抽出部66で差分抽出処理が行なわれるように、部分領域情報をPDLデータ展開部64に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分抽出部66に供給する。また、差分抽出実行判定部62は、オブジェクトが描画されないと判定した場合には、該部分領域については差分抽出部66による差分抽出処理が行なわれないように、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部68に供給する。差分画像生成部68では、該部分読取画像データが差分を示す情報として処理される。
PDLデータ展開部64は、差分抽出実行判定部62から供給された部分領域情報に含まれるPDLデータの命令(部分PDLデータ)に基づいて展開処理を実行する。展開処理して得られた部分領域のビットマップの画像データ(部分PDL展開画像データ)は、差分抽出部66に供給される。
差分抽出部66は、PDLデータ展開部64から供給された部分PDL展開画像データと、差分抽出実行判定部62から供給された部分読取画像データとを比較して差分を抽出する。該抽出した差分を示す情報(部分差分情報)は差分画像生成部68に供給される。差分抽出部66の処理は、比較する対象が部分PDL展開画像データと部分読取画像データであるということ以外は、第1の実施形態の差分抽出部28での処理と同様に行なわれる。
差分画像生成部68は、差分抽出部66から供給された部分差分情報、及び差分抽出実行判定部62から供給された部分読取画像データに基づいて、部分領域毎の差分画像を表わす画像データを生成し、該部分領域毎の画像データを合成して、頁全体の差分画像を表わす差分画像データを生成する。
差分表示部69は、差分画像生成部30で生成された差分画像データに基づいて、差分画像を表示する。
次に、第3の実施形態における作用を、図12を用いて説明する。
図12は、情報処理装置10bで実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
ステップ300において、データ取得部56は、第1の実施形態のデータ取得部20と同様に、差分抽出対象であるPDLデータと読取画像データとを取得する。データ取得部56は、取得したPDLデータをPDLデータ解析部58に供給し、読取画像データを領域抽出部60に供給する。
ステップ302において、PDLデータ解析部58は、データ取得部56から供給されたPDLデータを解析し、部分領域情報を生成して、差分抽出実行判定部62に供給する。具体的には、前述したように、PDLデータ解析部58は、該PDLデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令をPDLデータから抽出し、抽出した命令を部分領域情報として差分抽出実行判定部62に供給する。ただし、PDLデータ解析部58は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を部分領域情報として差分抽出実行判定部62に供給する(図13(A)も参照)。
ステップ304において、領域抽出部60は、データ取得部56から供給された読取画像データから、PDLデータ解析部58により作成された部分領域情報に対応する部分領域の画像データ(部分読取画像データ)を抽出し、該抽出した部分読取画像データを差分抽出実行判定部62に供給する。
ステップ306において、差分抽出実行判定部62は、PDLデータ解析部58から供給された部分領域情報に基づいて、該部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。差分抽出実行判定部62は、部分領域情報が、オブジェクトが描画されない旨を示す情報である場合には、該部分領域にオブジェクトは描画されないと判定し、部分領域情報にPDLデータの命令が含まれている場合には、該部分領域には何らかのオブジェクトが描画されると判定する。
差分抽出実行判定部62は、ステップ306において、上記部分領域にオブジェクトが描画されないと判定した場合には、該部分領域情報に対応する部分領域の部分読取画像データが差分として処理されるように、該部分読取画像データを差分画像生成部68に供給する。例えば、図13(A)及び(B)に示すように、PDLデータにおいてオブジェクトが描画されない空の領域があり、読取画像データの該空の領域に対応する領域には何らかの画像が描画されている場合には、読取画像データの該描画されている画像は全て差分として抽出できる。従って、該部分領域に対応する部分読取画像データを差分として用いれば、差分抽出部66において特別な差分抽出処理を行なわずともよいため、ここでは、差分抽出実行判定部62は、部分読取画像データを差分画像生成部68に供給するようにしている。
ステップ308において、差分画像生成部68は、差分抽出実行判定部62から供給された部分読取画像データを、PDLデータと読取画像データの上記部分領域における差分を示す差分画像の画像データとして、予め定められた記憶領域に保存する。
一方、差分抽出実行判定部62は、ステップ306において、上記部分領域にオブジェクトが描画されると判定した場合には、部分領域情報をPDLデータ展開部64に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分抽出部66に供給する。
ステップ310において、PDLデータ展開部64は、差分抽出実行判定部62から供給された部分領域情報に含まれるPDLデータの命令(部分PDLデータ)に基づいて展開処理を実行する。PDLデータ展開部64は、展開処理して得られた部分領域のビットマップの画像データ(部分PDL展開画像データ)を、差分抽出部66に供給する。
ステップ312において、差分抽出部66は、PDLデータ展開部64から供給された部分PDL展開画像データと、差分抽出実行判定部62から供給された部分読取画像データとを比較して差分を抽出する。差分抽出部66は、該抽出した差分を示す情報(部分差分情報)を差分画像生成部68に供給する。
ステップ314において、差分画像生成部68は、差分抽出部66から供給された部分差分情報を、予め定められた記憶領域に保存する。
ステップ308或いはステップ314の後は、ステップ316の処理が行なわれる。ステップ316においては、差分抽出部66は、上記PDLデータが表わす画像を複数の部分領域に分割したときの部分領域の中で未処理の領域があるか否かを判断する。ステップ316において否定判断された場合には、ステップ302に戻り、他の部分領域について上記処理が繰り返される。また、ステップ316において肯定判断された場合には、未処理の領域はない、すなわち、全ての部分領域の処理が終了したため、ステップ318に進む。
ステップ318において、差分画像生成部68は、記憶領域に保存されている部分差分情報と部分読取画像データとに基づいて、差分画像データを生成する。具体的には、差分画像生成部68は、部分差分情報に基づいて、部分領域毎の差分画像(部分差分画像)を表わす部分差分画像データを生成する。差分抽出実行判定部62から供給された部分読取画像データは、対応する部分領域の差分を表わす部分差分画像データそのものであるため、差分画像生成部68は、部分読取画像データ及び部分差分画像データの各々を、該当する部分領域の位置に並べて合成し、頁全体の差分画像データを生成する。なお、差分抽出部66により、部分差分情報として部分差分画像データが生成された場合には、これがそのまま差分画像データの生成に用られる。
ステップ320において、差分表示部69は、差分画像生成部68で生成された差分画像データに基づいて、差分画像を表示する。差分画像は、例えば異なる部分については色を変更する等、利用者に差分が明示されるように表現された画像とすることができ、第1の実施形態で例示したように、様々な表示形態が採用されうる。
なお、上記では説明を省略したが、部分読取画像データが表わす部分画像も、空の画像(オブジェクトが何も描画されていない画像)となる場合があるが、この場合には、差分画像生成部68は、第1の実施形態で例示した差分を明示するための画像処理(枠画像を重畳する、或いは色を変更する等)を施すことなく空白の画像データをそのまま合成して差分画像データを生成すればよい。
このように、差分抽出実行判定部62により部分領域毎にオブジェクトが描画されるか否かを判定し、描画されないと判定した場合には、差分抽出部66による差分抽出処理が行なわれないように制御されるため、画像処理が効率化される。
差分抽出実行判定部62による判定を第1の実施形態で例示した情報処理装置10に適用して処理してもよい。なお、この場合には、機能構成は、第1の実施形態と異なるため、情報処理装置の符号を10cとして、第1の実施形態の情報処理装置10と区別して説明する。情報処理装置10cのハードウェア構成は、第1の実施形態と同様とする。
図14に、情報処理装置10cの機能構成図を示す。情報処理装置10cは、データ取得部20、PDLデータ解析部58、領域抽出部60、差分抽出実行判定部62、PDLデータ展開部22、フォント情報記憶部24、フォント置換部26、差分抽出部28、制御部29、差分画像生成部68、及び差分表示部69を備えている。ここで、第1の実施形態において図2を用いて説明した情報処理装置10、第3の実施形態において図11を用いて説明した情報処理装置10bと同様の構成には同一の符号を付し、ここでは簡単な説明のみを記載し、詳細な説明を省略する。
データ取得部56は、差分を抽出する対象となるPDLデータと読取画像データとを取得する。PDLデータ解析部58は、上記説明したように、PDLデータを解析して、部分領域毎に部分領域情報を生成し、差分抽出実行判定部62に供給する。領域抽出部60は、読取画像データから部分読取画像データを抽出して差分抽出実行判定部62に供給する。
差分抽出実行判定部62は、PDLデータ解析部58から供給された部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定し、オブジェクトが描画されると判定した場合には、部分領域情報をPDLデータ展開部22に供給すると共に、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部68に供給する。また、差分抽出実行判定部62は、オブジェクトが描画されないと判定した場合には、該部分領域情報に対応する部分領域の部分読取画像データを差分画像生成部68に供給する。
PDLデータ展開部22は、第1の実施形態と異なり、頁全体のPDLデータを展開するのではなく、部分領域情報に含まれる部分PDLデータを展開して部分PDL展開画像データを生成する。展開方法は、第1の実施形態で説明した通りである。また、PDLデータ展開部22は、制御部29からフォント置換指示を受け取った場合には、第1の実施形態で説明したように、PDLデータに含まれるフォント指定命令を変更して、再度部分PDLデータを展開する。
フォント情報記憶部24及びフォント置換部26の作用は、第1の実施形態で説明した通りである。
差分抽出部28には、PDLデータ展開部22から部分PDL展開画像データを取得すると共に、差分抽出実行判定部62から部分読取画像データを取得する。差分抽出部28は、取得した部分PDL展開画像データと部分読取画像データとの差分(異なる部分)を抽出する。制御部29は、差分の大きさ(面積、或いは画素数)に応じて、フォント指定命令の指定フォントを代替フォントに置換えるか否かを判断し、置換えると判断した場合には、PDLデータ展開部22に対して、フォント置換指示を出力する。フォント指定命令の指定フォントを置換えないと判断されるまで、差分抽出、判断、及びフォント置換え、及び再展開が繰り返される。また、差分抽出部28は、制御部29によりフォント指定命令の指定フォントを置換えないと判断したときの差分を示す部分差分情報を差分画像生成部68に供給する。
差分画像生成部68は、差分抽出部28から供給された部分差分情報、及び差分抽出実行判定部62から供給された部分読取画像データに基づいて、部分領域毎の差分画像を表わす画像データを生成し、該部分領域毎の画像データを合成して、頁全体の差分画像を表わす差分画像データを生成する。
差分表示部69は、差分画像生成部30で生成された差分画像データに基づいて、差分画像を表示する。
図15は、情報処理装置10cで実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
ステップ400からステップ412までの処理は、部分PDLデータを展開するのがPDLデータ展開部22であること以外は、上記図12を用いて説明したステップ300からステップ312までの処理と同じであるため、説明を省略する。
ステップ414では、制御部29は、ステップ412の比較結果に基づいて、部分PDL展開画像データの元となった部分PDLデータに含まれるフォント指定命令で指定された指定フォントを代替フォントに置換えて再展開するか否かを判断する。判断方法の具体例は、全体領域ではなく部分領域毎に判断すること以外は、第1の実施形態で説明した通りであるため、ここでは説明を省略する。
制御部29は、ステップ414において、指定フォントを代替フォントに置換えると判断した場合には、ステップ416において、PDLデータ展開部22に対してフォント置換指示を出力して、部分PDLデータに含まれるフォント指示命令による指定フォントを代替フォントに置換えさせて、再度展開させる。
PDLデータ展開部22は、フォント置換指示に従い、現在のフォント指令命令により指定されているフォントの情報をフォント置換部26に渡す。フォント置換部26は、該フォントの情報に基づいて、フォント情報記憶部24から代替フォントを読み出し、代替フォントの情報をPDLデータ展開部22に渡す。PDLデータ展開部22は、PDLデータのフォント指定命令による指定フォントを、フォント置換部26から受け取った情報が示す代替フォントに置換えて、再度展開処理を行なって、部分PDL展開画像データを生成し、差分抽出部28に供給する。
差分抽出部28は、ステップ412に戻って、新たに生成された部分PDL展開画像データと、読取画像データとを比較して差分を抽出する。これにより、ステップ414において、肯定判断された場合には、別の代替フォントに置換えられるように、再度ステップ416の処理を繰り返す。一方、ステップ414において、制御部29は、フォントを置換えないと判断した場合には、ステップ418において、差分抽出部28は、制御部29によりフォントを置換えないと判断したときの差分を示す情報(部分差分情報)を差分画像生成部68に供給し、差分画像生成部68は、該部分差分情報を予め定められた記憶領域に保存する。
なお、差分抽出部28は、フォントを複数回置換え、最も差分が小さくなったときの部分差分情報を選択して、差分画像生成部68に供給するようにしてもよい。
ステップ416の処理の後、或いは、ステップ406において、部分領域にオブジェクトが描画されないと判定され、ステップ408において、差分画像生成部68により差分抽出実行判定部62から供給された部分読取画像データが、予め定められた記憶領域に保存された後は、ステップ420に進む。ステップ420からステップ424までの処理は、上記図12を用いて説明したステップ316からステップ320までの処理と同じであるため、説明を省略する。
ところで、差分抽出実行判定部62による判定を第2の実施形態で例示した情報処理装置10aに適用して処理してもよい。なお、この場合には、機能構成は、第2の実施形態と異なるため、情報処理装置の符号を10dとして、第2の実施形態の情報処理装置10と区別して説明する。情報処理装置10dのハードウェア構成は、第1の実施形態と同様とする。
図16に、情報処理装置10dの機能構成図を示す。情報処理装置10dは、データ取得部34、PDLデータ解析部70、差分抽出実行判定部72、文字展開差分抽出部38、図形・イメージ展開差分抽出部40、PDLデータ展開部74、差分画像生成部76、及び差分表示部44を備えている。ここで、第2の実施形態において図7を用いて説明した情報処理装置10aと同様の構成には同一の符号を付し、ここでは簡単な説明のみを記載し、詳細な説明を省略する。
PDLデータ解析部70は、データ取得部34で取得された第1PDLデータ及び第2PDLデータを解析し、第1PDLデータが表わす画像を複数の部分領域に分割したときの部分領域毎に、オブジェクトを描画する命令を第1PDLデータから抽出し、抽出した命令を第1部分領域情報として差分抽出実行判定部72に供給すると共に、第2PDLデータが表わす画像を複数の部分領域に分割(分割方法は第1PDLデータと同様とする)したときの部分領域毎に、オブジェクトを描画する命令を第2PDLデータから抽出し、抽出した命令を第2部分領域情報として差分抽出実行判定部72に供給する。
なお、ここでは、第1PDLデータ及び第2PDLデータ間で対応する(同じ位置の)部分領域についての第1部分領域情報と第2部分領域情報とが対応付けられて差分抽出実行判定部72に供給されるようにする。
また、PDLデータ解析部70は、オブジェクトが描画されない部分領域については、オブジェクトが描画されない旨を示す情報を第1部分領域情報或いは第2部分領域情報として差分抽出実行判定部72に供給する。
差分抽出実行判定部72は、第2の実施形態のPDLデータ解析部36、及び第3の実施形態の図11に図示した差分抽出実行判定部62の機能を有する。
具体的には、差分抽出実行判定部72は、PDLデータ解析部70から供給された第1部分領域情報及び第2部分領域情報のいずれか一方が、オブジェクトが描画されない旨を示す情報である場合には、オブジェクトが描画される方の部分領域情報をPDLデータ展開部74に供給する。
また、差分抽出実行判定部72は、第1部分領域情報及び第2部分領域情報の両方にPDLデータの命令が含まれている場合には、第1部分領域情報からフォント指定命令(以下、第1フォント指定命令という)及び文字描画命令(以下、第1文字描画命令という)を抽出し、文字展開差分抽出部38に供給すると共に、第1部分領域情報からそれ以外の命令、例えば、図形描画命令(以下、第1図形描画命令という)及びイメージ描画命令(以下、第1イメージ描画命令という)を抽出し、図形・イメージ展開差分抽出部40に供給する。更に、差分抽出実行判定部72は、第2部分領域情報からフォント指定命令(以下、第2フォント指定命令という)及び文字描画命令(以下、第2文字描画命令という)を抽出して、文字展開差分抽出部38に供給すると共に、第2部分領域情報からそれ以外の命令、例えば、図形描画命令(以下、第2図形描画命令という)及びイメージ描画命令(以下、第2イメージ描画命令という)を抽出して、図形・イメージ展開差分抽出部40に供給する。
文字展開差分抽出部38及び図形・イメージ展開差分抽出部40の処理は、第2の実施形態で説明した通りであるため、説明を省略する。ただし、文字展開差分抽出部38で生成される差分情報は、部分領域毎の差分情報であるため、該差分情報を文字部分差分情報と呼称する。同様に、図形・イメージ展開差分抽出部40で生成される差分情報は、部分領域毎の差分情報であるため、該差分情報を図形・イメージ部分差分情報と呼称する。
PDLデータ展開部74には、第1部分領域情報又は第2部分領域情報が供給される。PDLデータ展開部74は供給された部分領域情報に含まれるPDLデータの命令(部分PDLデータ)に基づいて、展開処理を実行する。展開処理して得られた部分領域のビットマップの画像データ(部分PDL展開画像データ)は、差分画像生成部76に供給される。
差分画像生成部76は、文字展開差分抽出部38から供給された文字部分差分情報、及び図形・イメージ展開差分抽出部40から供給された図形・イメージ部分差分情報に基づいて、部分領域毎の差分画像を表わす画像データを生成し、該生成した部分領域毎の画像データと、PDLデータ展開部74から供給された部分PDL展開画像データとを合成して、頁全体の差分画像を表わす差分画像データを生成する。
差分表示部44は、差分画像生成部76で生成された差分画像データに基づいて、差分画像を表示する。
図17は、情報処理装置10dで実行される画像処理(差分抽出処理を含む)の流れを示すフローチャートである。
ステップ500において、データ取得部34は、差分抽出対象である2つのPDLデータ(第1PDLデータ及び第2PDLデータ)を取得する。
ステップ502において、PDLデータ解析部70は、データ取得部34により取得された第1PDLデータ及び第2PDLデータを解析し、前述したように第1部分領域情報及び第2部分領域情報を生成して、差分抽出実行判定部72に供給する。
ステップ504において、差分抽出実行判定部72は、第1部分領域情報に基づいて、該第1部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定すると共に、第2部分領域情報に基づいて、該第2部分領域情報に対応する部分領域にオブジェクトが描画されるか否かを判定する。そして、差分抽出実行判定部72は、2つの部分領域のうちいずれか一方の部分領域にのみ、オブジェクトが描画され、他方の部分領域にはオブジェクトが描画されないと判定した場合には、ステップ504において肯定判定する。また、差分抽出実行判定部72は、2つの部分領域のうち双方の部分領域にオブジェクトが描画されると判定した場合には、ステップ504において否定判定する。
差分抽出実行判定部72は、ステップ504において、肯定判定した場合には、ステップ514において、第1部分領域情報及び第2部分領域情報のうち、オブジェクトが描画されると判定された方の部分領域情報をPDLデータ展開部74に供給する。PDLデータ展開部74は、供給された部分領域情報に含まれるPDLデータの命令(部分PDLデータ)に基づいて、展開処理を実行する。PDLデータ展開部74は、展開処理して得られた部分領域のビットマップの画像データ(部分PDL展開画像データ)を、差分画像生成部76に供給する。
一方、差分抽出実行判定部72は、ステップ504において否定判定した場合には、ステップ506において第1部分領域情報及び第2部分領域情報を解析する。差分抽出実行判定部72は、第1部分領域情報に含まれるPDLデータの命令から第1フォント指定命令及び第1文字描画命令を抽出し、第2部分領域情報に含まれるPDLデータの命令から第2フォント指定命令及び第2文字描画命令を抽出して、それぞれ文字展開差分抽出部38に供給する。また、差分抽出実行判定部72は、第1部分領域情報に含まれるPDLデータの命令から第1図形描画命令及び第1イメージ描画命令を抽出し、第2部分領域情報に含まれるPDLデータの命令から第2図形描画命令及び第2イメージ描画命令を抽出して、それぞれ図形・イメージ展開差分抽出部40に供給する。
その後、ステップ508において、文字展開差分抽出部38は、第2の実施形態において図9を用いて説明した文字処理を行ない、図形・イメージ展開差分抽出部40は、第2の実施形態において図10を用いて説明した図形・イメージ処理を行なう。なお、この文字処理及び図形・イメージ処理の流れは、頁単位ではなく部分領域単位で実行するということ以外は、第2の実施形態で説明した通りであるため、説明を省略する。
なお、前述したように、文字展開差分抽出部38で生成される文字差分情報は部分領域毎の文字部分差分情報であり、図形・イメージ展開差分抽出部40で生成される図形・イメージ差分情報も部分領域毎の図形・イメージ部分差分情報であるため、差分画像生成部76は、後述するステップ516で未処理の領域がないと判定され、ステップ518で差分画像データが生成されるまで、これら部分領域毎の差分情報を予め定められた記憶領域に保存しておくものとする。また、PDLデータ展開部74により生成された部分PDL展開画像データについても、同様に該記憶領域に保存しておくものとする。
ステップ508及びステップ510の処理後、或いはステップ514の処理後は、ステップ516において、PDLデータ解析部70は、上記第1PDLデータが表わす画像及び第2PDLデータが表わす画像を複数の部分領域に分割したときの部分領域の全てが処理されたか(未処理の領域があるか)否かを判断する。ステップ516において否定判断された場合には、ステップ302に戻り、他の部分領域について上記処理が繰り返される。また、ステップ516において肯定判断された場合には、未処理の領域はない、すなわち、全ての部分領域の処理が終了したため、ステップ518に進む。
ステップ518において、差分画像生成部76は、記憶領域に保存されている文字部分差分情報、図形・イメージ部分差分情報、及び部分PDL展開画像データに基づいて、頁全体の差分画像を表わす差分画像データを生成する。具体的には、文字部分差分情報に基づいて部分領域毎の文字についての差分画像を表わす文字部分差分画像データを生成し、図形・イメージ部分差分情報に基づいて部分領域毎の図形及びイメージについての図形・イメージ部分差分画像を表わす部分差分画像データを生成し、対応する部分領域の文字部分差分画像データと図形・イメージ部分差分画像データとを重畳して合成し、部分差分画像データを生成する。なお、文字展開差分抽出部38により、文字部分差分情報として文字部分差分画像データが生成された場合には、これがそのまま部分差分画像データの生成に用られ、図形・イメージ展開差分抽出部40により、図形・イメージ部分差分情報として図形・イメージ部分差分画像データが生成された場合には、これがそのまま部分差分画像データの生成に用いられる。
そして、差分画像生成部76は、上記生成した部分領域毎の部分差分画像データ、及びPDLデータ展開部74から供給された部分PDL展開画像データの各々を、該当する部分領域の位置に並べて合成し、頁全体の差分画像データを生成する。
ステップ520において、差分表示部44は、差分画像生成部76で生成された差分画像データに基づいて、差分画像を表示する。
なお、第1部分領域情報に、第1フォント指定命令、第1文字描画命令、第1図形描画命令、及び第1イメージ描画命令の各種類の命令が含まれているとは限らない。この場合には、含まれている命令を抽出して供給先に供給すればよい。第2部分領域情報も同様である。ただし、文字展開差分抽出部38に、第1部分領域情報及び第2部分領域情報の一方のみのフォント指定命令及び文字描画命令が供給された場合には、判断部46及び文字差分抽出部50の処理は行なわれず、文字展開部48による展開処理のみが行なわれ、展開された文字画像データが文字部分差分情報として、差分画像生成部76に供給されるようにしてもよい。また、同様に、図形・イメージ展開差分抽出部40に対して第1部分領域情報及び第2部分領域情報の一方のみの図形描画命令及びイメージ描画命令が供給された場合には、図形・イメージ展開差分抽出部40においては、図形・イメージ差分抽出部54による差分抽出は行なわず、図形・イメージ展開部52により展開された図形・イメージ部分画像データを図形・イメージ部分差分情報として差分画像生成部76に供給されるようにしてもよい。
また、上記では説明を省略したが、第1部分領域情報及び第2部分領域情報の各々がオブジェクトを描画しない旨の情報を示す場合があるが、この場合には、差分は抽出せず、空白の画像を表わす部分領域の画像データを生成して、差分画像生成部76にて合成すればよい。
なお、第3の実施形態において、頁全体の画像を複数の部分領域に分割するときの分割領域の大きさを、利用者が設定可能に構成してもよい。また、例えば、情報処理装置10b、10cにおいて、PDLデータに含まれるオブジェクトの描画命令の数を事前にカウントし、該カウント値が予め定められた値以上であれば、オブジェクトが描画されない領域は小さい(少ない)と判断して、差分抽出実行判定部62による部分領域毎の判定を行なわずに、第1の実施形態で説明した差分抽出部28による差分抽出を行なって処理するようにしてもよい。更に又、情報処理装置10dにおいて、2つのPDLデータの各々に含まれるオブジェクトの描画命令の数を各々事前にカウントし、該2つのカウント値の双方が予め定められた値以上であれば、オブジェクトが描画されない領域は小さい(少ない)と判断して、差分抽出実行判定部72による部分領域毎の判定を行なわずに、第2の実施形態で説明したように差分抽出を行なって処理するようにしてもよい。
更に又、情報処理装置10b、10cにおいて、比較対象のPDLデータと読取画像データの各々が表わす画像の縦横比を確認し、該2つの画像の向きが異なる場合には、差分抽出実行判定部62による部分領域毎の判定を行なわずに、第1の実施形態で説明した差分抽出部28による差分抽出を行なって処理するようにしてもよい。情報処理装置10dにおいても、同様に比較対象の2つのPDLデータの各々が表わす画像の縦横比を確認し、該2つの画像の向きが異なる場合には、差分抽出実行判定部72による部分領域毎の判定を行なわずに、第2の実施形態で説明したように差分抽出を行なって処理するようにしてもよい。或いは、向きが異なる場合には、向きを変更して向きが同じになるように画像処理してから処理するようにしてもよい。第1及び第2の実施形態でも同様である。
また、第1から第3の実施形態において、比較対象の2つのデータが表わす画像の大きさが異なる場合には、サイズが小さい方のデータを拡大する等により、サイズを統一して処理するようにしてもよい。
また、第1から第3の実施形態においては、コンピュータ98がプログラムを実行することにより情報処理装置10、10a、10b、10c、10dを実現する例について説明したが、例えば半導体集積回路、ASIC(Application Specific Integrated Circuit)等で実現することも可能であり、情報処理装置10、10a、10b、10c、10dの各機能部を、例えば電子回路等で実現することも可能である。
10、10a、10b、10c、10d 情報処理装置
12a、12b、12c 端末装置
14 印刷装置
16 通信手段
20 データ取得部
22 PDLデータ展開部
24 フォント情報記憶部
26 フォント置換部
28 差分抽出部
30 差分画像生成部
32 差分表示部
34 データ取得部
36 PDLデータ解析部
38 文字展開差分抽出部
40 図形・イメージ展開差分抽出部
42 差分画像生成部
44 差分表示部
46 判断部
48 文字展開部
50 文字差分抽出部
56 データ取得部
58 PDLデータ解析部
60 領域抽出部
62 差分抽出実行判定部
64 PDLデータ展開部
66 差分抽出部
68 差分画像生成部
69 差分表示部
70 データ解析部
72 差分抽出実行判定部
74 PDLデータ展開部
76 差分画像生成部
80 CPU
82 ROM
84 RAM
86 HDD
88 操作部
90 表示部
98 コンピュータ

Claims (8)

  1. ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、
    読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する場合に、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する差分抽出手段と、
    前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、
    を備えた情報処理装置。
  2. 前記制御手段は、前記差分抽出手段により抽出される差分が予め定められた閾値以下となるまで、前記フォントの置換え及び再展開が繰り返されるように制御する
    請求項1に記載の情報処理装置。
  3. 前記制御手段により前記フォントの置換え及び再展開が複数回繰り返された場合に、前記差分抽出手段により抽出された各差分のうち、最も小さい差分を最終的に得られた差分として選択する差分選択手段を更に備えた
    請求項1又は請求項2に記載の情報処理装置。
  4. ページ記述言語形式で記述された第1のデータ及び第2のデータの各々をビットマップの画像データに展開する際に、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字のフォント指定命令が異なる場合に、該同一位置に描画される文字のフォント指定命令が同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する展開手段と、
    前記展開手段により前記第1のデータ及び前記第2のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、
    を備えた情報処理装置。
  5. 前記展開手段は、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字の内容が同一で、且つ指定されたフォントが異なる場合には、該同一位置に描画される文字のフォントが同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する
    請求項4に記載の情報処理装置。
  6. 前記差分抽出手段は、前記第1のデータが表わす画像を複数の部分領域に分割したときの各部分領域、及び前記第2のデータが表わす画像を前記第1のデータと共通の方法により複数の部分領域に分割したときの各部分領域において、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断した場合には、該一方の部分領域について前記展開手段により展開されて得られた画像データを差分として抽出し、互いに対応する位置の部分領域のいずれか一方の部分領域にのみにオブジェクトが描画されると判断しなかった場合には、該部分領域の各々について前記展開手段により展開して得られた画像データの各々において、同一位置の画素の画素値同士を比較することにより差分を抽出する
    請求項4又は請求項5に記載の情報処理装置。
  7. コンピュータを、
    ページ記述言語形式のデータをビットマップの画像データに展開する展開手段と、
    読取手段により原稿を読み取って得られたビットマップの読取画像データと、前記展開手段により展開された画像データとの差分を抽出する場合に、前記ページ記述言語形式のデータが表わす画像を複数の部分領域に分割したときの各部分領域毎に、該データに含まれる命令によりオブジェクトが描画されるか否かを判断し、オブジェクトが描画されないと判断された部分領域については、前記読取画像データから、該オブジェクトが描画されないと判断された部分領域に対応する部分の画像データを差分として抽出し、オブジェクトが描画されると判断された部分領域については、前記読取画像データと前記展開手段により展開された画像データとで、同一位置の画素の画素値同士を比較することにより差分を抽出する差分抽出手段と、
    前記差分抽出手段により抽出された差分に基づいて、前記ページ記述言語形式のデータにより指定されたフォントを他のフォントに置換えるか否かを判断し、他のフォントに置換えると判断した場合には、前記展開手段により前記ページ記述言語形式のデータで指定された前記フォントを前記他のフォントに置換えた状態で再度展開されるように前記展開手段を制御する制御手段と、
    として機能させるためのプログラム。
  8. コンピュータを、
    ページ記述言語形式で記述された第1のデータ及び第2のデータの各々をビットマップの画像データに展開する際に、前記第1のデータ及び前記第2のデータにおいて、互いに同一位置に描画される文字のフォント指定命令が異なる場合には、該同一位置に描画される文字のフォント指定命令が同一になるように前記第1のデータ及び前記第2のデータの少なくとも一方を変更した上で、前記第1のデータ及び前記第2のデータを展開する展開手段と、
    前記展開手段により前記第1のデータ及び前記第2のデータを展開して得られた画像データの差分を抽出する差分抽出手段と、
    として機能させるためのプログラム。
JP2012037731A 2012-02-23 2012-02-23 情報処理装置及びプログラム Active JP6074893B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012037731A JP6074893B2 (ja) 2012-02-23 2012-02-23 情報処理装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012037731A JP6074893B2 (ja) 2012-02-23 2012-02-23 情報処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2013174954A JP2013174954A (ja) 2013-09-05
JP6074893B2 true JP6074893B2 (ja) 2017-02-08

Family

ID=49267820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012037731A Active JP6074893B2 (ja) 2012-02-23 2012-02-23 情報処理装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6074893B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6122814B2 (ja) * 2014-07-17 2017-04-26 富士フイルム株式会社 情報処理装置、プログラム、及びデジタル検版方法
JP2016085544A (ja) * 2014-10-24 2016-05-19 京セラドキュメントソリューションズ株式会社 画像形成システム及び画像形成方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0728932A (ja) * 1993-07-15 1995-01-31 Matsushita Electric Ind Co Ltd 画像処理装置
JPH0981683A (ja) * 1995-09-08 1997-03-28 Sony Corp 文字記号検査装置及びその方法
JP3854110B2 (ja) * 2001-09-17 2006-12-06 シャープ株式会社 印刷装置及び印刷データ処理システム
JP4258392B2 (ja) * 2004-02-02 2009-04-30 富士ゼロックス株式会社 印刷管理装置
JP2008059527A (ja) * 2006-09-04 2008-03-13 Ricoh Co Ltd 画像処理装置およびプログラム

Also Published As

Publication number Publication date
JP2013174954A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
US8610931B2 (en) Information processing apparatus, information processing method, and storage medium
US20170364317A1 (en) Information processing apparatus, information processing method, and storage medium
US9741142B2 (en) Method and apparatus for enabling text editing in a scanned document while maintaining fidelity of the appearance of the text
JP3014247B2 (ja) 文字生成方法及びその装置
JP6074893B2 (ja) 情報処理装置及びプログラム
US8437574B2 (en) Image processing apparatus, image forming apparatus, image processing method and computer readable medium storing program
JP2006244248A (ja) 画像処理装置及び画像処理方法ならびに画像処理方法を実行するプログラム
JP2004070659A (ja) 記録装置、記録方法、プログラム並びに記憶媒体
JP2015215637A (ja) 画像形成装置、画像処理装置およびプログラム
JP4595610B2 (ja) バリアブル印刷装置およびバリアブル印刷システム
JP2007011515A (ja) 印刷システム、印刷システムの制御方法及びプログラム
JP5915091B2 (ja) 画像形成装置、画像形成システム、出力用画像データ処理方法、プログラム及び記録媒体
US9978005B2 (en) Printer for drawing bold character, method for controlling the same, and storage medium
JP2011025539A (ja) プリンタ装置、画像出力システム、レンダリング方法、及びプログラム
JP3749068B2 (ja) 印刷システムおよび印刷装置並びに印刷画像の確認方法
JP6614857B2 (ja) 画像処理装置、画像処理方法及びプログラム
JP4581854B2 (ja) 画像処理装置、画像処理プログラムおよび画像処理方法
JP2019125289A (ja) 印刷制御装置、印刷物の生産方法および印刷制御プログラム
JP2019125290A (ja) 印刷制御装置、印刷物の生産方法および印刷制御プログラム
JP2011151703A (ja) 画像処理装置、文字拡大処理方法および文字拡大プログラム
US8756491B2 (en) PDL data processing device
JP4735212B2 (ja) 画像処理装置
JP2011182351A (ja) 画像処理装置、印刷処理方法及びプログラム
JP2009141525A (ja) 画像処理装置及び画像処理方法
JP2006218819A (ja) 画像形成装置、画像処理装置、プログラムおよび画像処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150123

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160302

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161124

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161213

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161226

R150 Certificate of patent or registration of utility model

Ref document number: 6074893

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350