以下に添付図面を参照して、画像処理装置、画像処理方法および画像処理プログラムの実施形態を詳細に説明する。
(各実施形態に適用可能な構成)
図1は、各実施形態に適用可能な画像処理装置としての画像形成装置の一例の構成を示す。図1において、画像形成装置100は、例えばプリンタ機能、スキャナ機能、コピー機能など複数の機能を1台の筐体で実現可能なMFP(Multifunction Printer)として構成されている。
画像形成装置100は、本体部101に、コントローラ110と、ストレージ1120と、画像処理・エンジン制御部1130と、スキャナユニット1131と、プリンタユニット1132と、を備える。コントローラ110は、CPU(Central Processing Unit)1100と、ROM(Read Only Memory)1101と、RAM(Random Access Memory)1102と、外部I/F1103と、操作部I/F1104と、通信I/F1105と、を含み、これら各部がバス1110により互いに通信可能に接続される。
ストレージ1120は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ1120は、CPU1100が動作するためのプログラムやデータが記憶される。また、ストレージ1120は、この画像形成装置100において所定の機能を実現するためのプログラム(アプリケーションプログラム)を記憶しておくことができる。
画像形成装置100がプリンタ機能、スキャナ機能およびコピー機能を有するこの例では、画像形成装置100は、各機能を実行するための構成として、画像処理・エンジン制御部1130と、スキャナユニット1131と、プリンタユニット1132とを有する。上述したストレージ1120および画像処理エンジン・制御部1130は、コントローラ110内のバス1110に接続される。
CPU1100は、例えば、ROM1101やストレージ1120に予め記憶されたプログラムに従い、RAM1102をワークメモリとして用い、この画像形成装置100の全体の動作を制御する。
操作部I/F1104は、オペレーションパネル(OP)102を接続するためのインタフェースである。OP102は、ユーザ操作を受け付ける入力受付部と、ユーザに情報を提示するための表示部を含む操作部としての操作パネルを備える。OP102からユーザ操作に応じて出力された信号は、操作部I/F1104を介してCPU1100に供給される。
通信I/F1105は、CPU1100の指示に従い、LAN(Local Area Network)といったネットワークを介した通信を行う。外部I/F1103は、例えばUSB(Universal Serial Bus)インタフェースといった、外部機器を接続するためのインタフェースである。
スキャナユニット1131は、原稿台にセットされた原稿の画像を、CIS(Contact Image Sensor)やCCD(Charge Coupled Device)といった光センサを用いてスキャンして読み取り、画像データを出力する。プリンタユニット1132は、インクジェット方式や電子写真方式といった画像形成方式を用いて、画像データに基づき媒体に画像を形成する。
画像処理・エンジン制御部1130は、CPU1100の指示に従い、スキャナユニット1131およびプリンタユニット1132の動作を制御する。また、画像処理・エンジン制御部1130は、CPU1100の指示に従い、スキャナユニット1131で読み取られた画像データに所定の画像処理を施して出力する。画像処理・エンジン制御部1130から出力された画像データは、コントローラ110に供給される。さらに、画像処理・エンジン制御部1130は、コントローラ110から供給された画像データに所定の画像処理を施してプリンタユニット1132に供給する。
(各実施形態に適用可能な高圧縮PDFファイル生成処理)
各実施形態の説明に先んじて、理解を容易とするために、各実施形態に適用可能な高圧縮PDF(Portable Document Format)ファイル生成の基本的な処理について、図2〜図8を用いて説明する。
まず、本実施形態の具体的な説明に先立ち、高圧縮PDFの概要を説明する。高圧縮PDFは、文字などの線画を含む画像から高圧縮PDFファイルを生成する画像圧縮技術である。ここで線画とは、文字および文字と同様に扱うことが望ましい線で表現されるオブジェクトを指す。線で表現されるオブジェクトであっても、絵柄として扱うことが望ましいオブジェクトは、線画ではなく絵柄に含まれるものとする。絵柄は、線画以外のオブジェクト、つまり、写真などの網点で表現されるオブジェクトや、文字と同様に扱うことが望ましくない図形などのオブジェクトである。
図2は、高圧縮PDFファイルの標準的な作成手順を説明するための模式図である。高圧縮PDFファイルを作成するには、まず、処理対象となる画像(以下、「入力画像」と呼ぶ)Im0から、線画のみからなる2値画像である第1画像レイヤLy1と、線画の色を表現する多値画像である第2画像レイヤLy2と、線画以外の絵柄および背景を表現する多値画像である第3画像レイヤLy3とを生成する。
第1画像レイヤLy1および第2画像レイヤLy2に対しては、線画の圧縮に適した圧縮処理方式により圧縮処理を施し、第3画像レイヤLy3に対しては、絵柄や背景の圧縮に適した圧縮処理方式により圧縮処理を施す。その後、圧縮処理が施された第1画像レイヤLy1と、圧縮処理が施された第2画像レイヤLy2と、圧縮処理が施された第3画像レイヤLy3とを、例えばPDF形式の1つの画像ファイル上で統合することにより、入力画像Im0に対応する高圧縮PDFファイルFImを生成する。
第1画像レイヤLy1に対して施される圧縮処理は、例えば、2値画像に対するMMR(Modified Modified Read)などの符号化方式により圧縮を行う圧縮処理を適用できる。第2画像レイヤLy2に対して施される圧縮処理は、例えば、第3画像レイヤLy3に対する圧縮処理よりも解像度を落とした、多値画像に対するJPEG(Joint Photographic Experts Group)などの符号化方式により圧縮を行う圧縮処理を適用できる。第1画像レイヤLy1に対する圧縮処理と第2画像レイヤLy2に対する圧縮処理は、線画の圧縮に適した圧縮処理である点で共通するため、以下ではこれらの処理を総称して「第1の圧縮処理」と呼ぶ。
一方、第3画像レイヤLy3に対して施される圧縮処理は、例えば、第2画像レイヤLy2に対する圧縮処理よりも解像度を高めた、多値画像に対するJPEGなどの符号化方式により圧縮を行う圧縮処理を適用できる。第3画像レイヤLy3に対する圧縮処理は、絵柄や背景の圧縮に適した圧縮処理であるため、以下では、線画の圧縮に適した第1の圧縮処理と区別して、「第2の圧縮処理」と呼ぶ。
なお、上述の各符号化方式は一例であり、上述の例とは異なる符号化方式による圧縮処理を行ってもよい。
高圧縮PDFでは、以上のように、処理対象の入力画像Im0を線画の領域とそれ以外の絵柄や背景の領域とに分離し、線画の領域に対しては第1の圧縮処理を施すとともに、線画以外の絵柄や背景の領域に対しては第2の圧縮処理を施すことで、圧縮の効率を高めている。ここで、圧縮の効率とは、画像を再現したときの画質(再現性)を損なわずに、どれだけ圧縮率を高めることができたかどうかを表し、再現性を維持しながら高い圧縮率が得られれば、効率のよい圧縮が行われたことになる。
上述の高圧縮PDFは様々な変形が可能である。例えば、上述の第1画像レイヤLy1を、黒の線画のみからなる画像レイヤと、有彩色または白の線画のみからなる画像レイヤとに分けてもよい。また、線画の色を表現する第2画像レイヤLy2を持たずに、線画の色を、線画の座標に対応させた別の情報として持たせる構成であってもよい。
図3は、図2を用いて説明した標準的な手順で高圧縮PDFファイルFImを生成するための画像処理装置の機能的な構成の例を示す。図3において、画像処理装置は、検出部10と、算出部14と、決定部15と、圧縮処理部16と、ファイル生成部17と、を含む。図3の構成において、処理対象として取得された入力画像Im0が検出部10、算出部14および圧縮処理部16に入力され、この入力画像Im0に対応する高圧縮PDFファイルFImが、出力データとしてファイル生成部17から出力される(ファイル生成部)。
検出部10は、処理対象の入力画像Im0から線画候補を検出する。検出部10は、入力画像Im0から検出した線画候補を、候補検出結果として出力する。候補検出結果は、算出部14および決定部15に入力される。算出部14は、検出部10から受け取った候補検出結果を用いて、処理対象の入力画像Im0に含まれる全ての線画候補の位置を特定し、各線画候補の色数、各線画候補の背景色、各線画候補の色などを算出する。算出部14による算出結果は、決定部15に入力される。
決定部15は、算出部14から受け取った算出結果と、検出部10により検出された線画候補の各々とに基づき、上述の第1の圧縮処理を施す線画を含む線画領域を決定する。決定部15は、決定された線画領域の画像を、線画画像Im1として出力する。決定部15により出力された線画画像Im1は、圧縮処理部16に入力される。
圧縮処理部16は、上述したように、入力画像Im0も入力されている。圧縮処理部16は、決定部15から受け取った線画画像Im1を用いて、処理対象の入力画像Im0から、線画のみからなる2値画像である第1画像レイヤLy1と、線画の色を表現する多値画像である第2画像レイヤLy2と、線画以外の絵柄および背景を表現する多値画像である第3画像レイヤLy3と、を生成する。
圧縮処理部16は、第1画像レイヤLy1および第2画像レイヤLy2に対して、線画の圧縮に適した第1の圧縮処理を施す。また、圧縮処理部16は、第3画像レイヤLy3に対して、絵柄や背景の圧縮に適した第2の圧縮処理を施す。なお、圧縮の方式は特に限定されるものではなく、第1画像レイヤLy1と第2画像レイヤLy2に対しては線画の圧縮に適した方式、第3画像レイヤLy3に対しては絵柄や背景の圧縮に適した方式で圧縮処理が行われればよい。圧縮処理部16により圧縮された第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3は、ファイル生成部17に入力される。
ファイル生成部17は、圧縮処理部16から受け取った第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3をPDF形式の1つの画像ファイル上で統合し、入力画像Im0に対応する高圧縮PDFファイルFImを生成する。
なお、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を統合する画像ファイルの形式はPDF形式に限定されるものではなく、例えばJPM(JPEG 2000 Multi-layer Image Format (ISO 15444-6))形式など、複数の画像レイヤを重ね合わせて1つの画像とする様々な形式を利用することができる。ファイル生成部17により生成された高圧縮PDFファイルFImは、画像処理装置が備えるストレージに格納してもよいし、画像処理装置の外部に出力してもよい。
次に、各部の処理の詳細について説明する。図4は、第1、第2および第4の実施形態に適用可能な、検出部10の構成の例を示す。図4において、検出部10は、エッジ検出部11と、エッジ強調部12と、線画候補検出部13と、を含む。
エッジ検出部11は、処理対象の入力画像Im0に対して線画候補のエッジを検出する処理を行い、エッジ検出結果を出力する。このエッジ検出部11は、例えば特許文献2に記載された方法と同様に、入力画像Im0の3値化により得られる黒画素や白画素の連続性、パターンを利用して、文字などの線画と網点とを分離することで、線画候補を構成するエッジを検出する。エッジ検出部11から出力されるエッジ検出結果は、例えば、線画候補のエッジとして検出された画素群の入力画像Im0における座標位置を表す座標データである。エッジ検出結果は、エッジ強調部12に入力される。
エッジ強調部12は、エッジ検出部11から受け取ったエッジ検出結果を用いて、処理対象の入力画像Im0に含まれる線画候補のエッジを強調する処理を行い、線画候補のエッジが強調されたエッジ強調画像を生成する。このエッジ強調部12によるエッジ強調の処理は、エッジ検出部11のエッジ検出結果を用いて行われるため、入力画像Im0に含まれる絵柄のエッジを強調する可能性が低い。このため、エッジ強調の度合いを大きくすることができ、線画候補のエッジが明確に強調されたエッジ強調画像を生成することができる。エッジ強調部12により生成されたエッジ強調画像は、線画候補検出部13に入力される。
線画候補検出部13は、エッジ強調部12から受け取ったエッジ強調画像に対して線画候補を検出する処理を行い、候補検出結果を出力する。線画候補検出部13は、例えば、エッジ強調画像を2値化して得られる2値化画像から黒画素や白画素の連結成分を抽出し、連結成分の外接矩形の大きさなどに基づいて、線画候補を検出する。つまり、特許文献2に記載された方法において、文字行の抽出を行う前までの処理が、この線画候補検出部13による処理の一例に相当する。候補検出結果は、例えば、線画候補検出部13により線画候補として検出された画素群の入力画像Im0における座標位置を表す座標データである。線画候補検出部13から出力された候補検出結果は、検出部10の検出結果として、算出部14および決定部15に入力される。
図5は、各実施形態に適用可能な、線画候補検出部13による処理を示す一例のフローチャートである。ステップS201で、線画候補検出部13は、エッジ強調部12により生成されたエッジ強調画像に対して2値化処理を実施する。このステップS201による2値化処理は、背景よりも低輝度のオブジェクトを抽出するための処理であり、低輝度のオブジェクトを背景と区別できる適切な閾値が設定される。また、背景との分離精度を高めるために動的閾値2値化を用いてもよい。ここでは、低輝度のオブジェクトを構成する画素を、便宜上「黒画素」と呼ぶ。
次に、ステップS202で、線画候補検出部13は、例えば特許文献3に記載されているように、ステップS201で得られた2値化画像から、水平方向に並ぶ黒画素のランと垂直方向に並ぶ黒画素のランとを連結して連結成分を取得する。次のステップS203で、線画候補検出部13は、ステップS202で取得した連結成分のうち、連結成分の外接矩形の大きさなどに基づいて、絵柄と区別できる連結成分を線画候補として検出する。
次のステップS204で、線画候補検出部13は、エッジ強調部12により生成されたエッジ強調画像に対して、再度、2値化処理を実施する。ここでの2値化処理は、背景よりも高輝度のオブジェクトを抽出するための処理であり、高輝度のオブジェクトを背景と区別できる適切な閾値が設定される。また、背景との分離精度を高めるために動的閾値2値化を用いてもよい。ここでは、高輝度のオブジェクトを構成する画素を、便宜上「白画素」と呼ぶ。
次のステップS205で、線画候補検出部13は、例えば特許文献3に記載されているように、ステップS204で得られた2値化画像から、水平方向に並ぶ白画素のランと垂直方向に並ぶ白画素のランを連結して連結成分を取得する。次のステップS206で、線画候補検出部13は、ステップS205で取得した連結成分のうち、連結成分の外接矩形の大きさなどに基づいて、絵柄と区別できる連結成分を線画候補として検出する。
なお、上述したステップS203では、1つの入力画像Im0から、黒画素による線画候補を複数、検出することができる。同様に、ステップS206では、1つの入力画像Im0から、白画素による線画候補を複数、検出することができる。
次のステップS207で、線画候補検出部13は、ステップS203で検出した線画候補とステップS206で検出した線画候補とで、外接矩形が重なる線画候補があるか否かを判定する。線画候補検出部13は、外接矩形の重なる線画候補が無いと判定した場合(ステップS207、「No」)、処理をステップS209に移行させる。一方、線画候補検出部13は、外接矩形が重なる線画候補があると判定した場合(ステップS207、「Yes」)、処理をステップS208に移行させる。
ステップS208で、線画候補検出部13は、外接矩形の重なる線画候補の外接矩形のサイズを比較して、外接矩形のサイズが小さい方の線画候補を削除する。次のステップS209で、線画候補検出部13は、上述したステップS203およびステップS206で検出された線画候補のうち、ステップS208で削除されずに残った線画候補を最終的な線画候補として候補検出結果を出力し、図5のフローチャートによる一連の処理を終了する。
次に、算出部14による処理の例について、より詳細に説明する。上述したように、算出部14は、検出部10から受け取った候補検出結果を用いて、処理対象の入力画像Im0に含まれるすべての線画候補の位置を特定し、各線画候補の色数、各線画候補の背景色、各線画候補の色などを算出する。色数および色は、例えば、入力画像Im0の各画素のR(赤色)、G(緑色)およびB(青色)の各色を示す値を含むRGB値から変換されるHSV値に基づき算出することができる。HSVは、色相(H)、彩度(S)および明度(V)により色を表現する色空間である。
また、算出部14は、各線画候補の外接矩形の縦横比、各線画候補の線幅(文字の太さ)などを算出する。線画候補の外接矩形の縦横比は、外接矩形の縦方向に並ぶ画素数と横方向に並ぶ画素数とから算出できる。線画候補の線幅は、例えば、線画候補のエッジ間の距離(画素数)などから算出できる。また、線画候補の外接矩形の総画素数に対する線画領域の画素数の割合などから、線画候補の線幅(太文字かどうか)を算出してもよい。算出部14による各線画候補の色数、各線画候補の背景色、各線画候補の色、各線画候補の外接矩形の縦横比、各線画候補の線幅などの算出結果は、決定部15に入力される。
図6は、各実施形態に適用可能な、算出部14による処理を示す一例のフローチャートである。ステップS301で、算出部14は、検出部10から受け取った候補検出結果に基づいて、処理対象の入力画像Im0に含まれる線画候補のうちの1つを取り出す。次のステップS302で、算出部14は、ステップS301で取り出した線画候補に隣接(1画素程度の隙間があってもよい)する所定の大きさおよび形状の領域を選択し、この領域内の各画素のRGB値をHSV値に変換し、RGB値から変換した各画素のHSV値の平均値を、線画候補の背景色として算出する。
次のステップS303で、算出部14は、ステップS301で取り出した線画候補を構成する各画素のRGB値をHSV値に変換し、RGB値から変換した各画素のHSV値を用いて、線画候補の色数を算出する。次のステップS304で、算出部14は、線画候補を構成する各画素のHSV値を用いて、線画候補の色を算出する。ステップS304において、算出部14は、線画候補を構成する各画素のうち、ステップS302で算出した線画候補の背景色に近い(例えばHSV色空間におけるユークリッド距離が所定値以内の)画素を除いて、線画候補の色数や線画候補の色を算出してもよい。
次のステップS305で、算出部14は、ステップS301で取り出した線画候補の外接矩形を求め、この外接矩形の縦方向に並ぶ画素数と横方向に並ぶ画素数をカウントして、線画候補の外接矩形の縦横比を算出する。次のステップS306で、算出部14は、ステップS301で取り出した線画候補のエッジ間の距離(画素数)などから、線画候補の線幅を算出する。
次のステップS307で、算出部14は、未処理の線画候補があるか否かを判定する。算出部14は、未処理の線画候補があると判定した場合(ステップS307、「Yes」)、処理をステップS301に戻し、以降の処理を繰り返す。一方、算出部14は、全ての線画候補に対して処理が終了し、未処理の線画候補が無いと判定した場合(ステップS307、「No」)、処理をステップS308に移行させる。ステップS308で、算出部14は、各線画候補に対するステップS302〜ステップS306の算出結果を出力し、図6のフローチャートによる一連の処理を終了する。
次に、第1、第2および第4の実施形態に適用可能な、決定部15による処理について、より詳細に説明する。決定部15は、上述したように、算出部14から受け取った算出結果と、検出部10により検出された線画候補のそれぞれとに基づき、上述の第1の圧縮処理を施す線画を含む線画領域を決定する。
図7は、第1、第2および第4の実施形態に適用可能な、決定部15による一例の処理を示すフローチャートである。ステップS400で、決定部15は、検出部10から受け取った線画候補のうち、黒画素による線画候補を、当該線画候補の外接矩形の大きさや位置関係などに基づき結合し、グループ化する。線画候補の外接矩形の大きさや位置関係は、算出部14から受け取った算出結果に基づき求めることができる。ここでのグループ化は、代表的な線画である文字を行単位でグループ化するなど、予め定めた規則に従う。したがって、グループ化されない連結成分も存在する。
次のステップS401で、決定部15は、検出部10から受け取った線画候補のうち、白画素による線画候補を、当該線画候補の外接矩形の大きさや位置関係などに基づき結合し、グループ化する。ここでのグループ化も、ステップS400と同様、代表的な線画である文字を行単位でグループ化するなど、予め定めた規則に従う。したがって、グループ化されない連結成分も存在する。
次のステップS402で、決定部15は、ステップS400で結合した黒画素による線画候補のグループと、ステップS401で結合した白画素による連結成分のグループとで、エッジ強調画像における位置が重なるグループがあるか否かを判定する。決定部15は、位置が重なるグループが無いと判定した場合(ステップS402、「No」)、処理をステップS404に移行させる。
一方、決定部15は、位置が重なるグループがあると判定した場合(ステップS402、「Yes」)、処理をステップS403に移行させる。ステップS403で、決定部15は、位置が重なるグループの外接矩形のサイズを比較して、外接矩形のサイズが小さい方のグループを削除する。そして、処理をステップS404に移行させる。
ステップS404で、決定部15は、ステップS402またはステップS403の処理により残ったグループについて、算出部14の算出結果に基づき線画色を決定する。決定部15は、線画色が決定されたグループを、線画画像Im1として出力する。線画画像Im1が出力されると、この図6のフローチャートによる一連の処理が終了される。
なお、以下では、ステップS400およびステップS401におけるグループ化は、文字または文字に関連する線画を、行単位でグループ化する規則に従い実行されるものとする。また、ステップS402またはステップS403の処理により残ったグループは、行単位でグループ化された文字(線画)の外接矩形であって、以下では、このグループを行矩形と呼ぶ。
次に、圧縮処理部16の基本的な構成について説明する。図8は、高圧縮PDFファイルFImの標準的な作成手順に適用可能な圧縮処理部16の機能を説明するための一例の機能ブロック図である。図8において、圧縮処理部16は、レイヤ生成部1600と、第1画像レイヤ用圧縮処理部1601と、第2画像レイヤ用圧縮処理部1602と、第3画像レイヤ用圧縮処理部1603と、を含む。
レイヤ生成部1600は、入力画像Im0と、決定部15から出力された線画画像Im1とが入力される。レイヤ生成部1600は、線画画像Im1を用いた既知の像域分離処理により、入力画像Im0から第1画像レイヤLy1と、第2画像レイヤLy2と、第3画像レイヤLy3と、を生成する。レイヤ生成部1600で生成された第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3は、それぞれ第1画像レイヤ用圧縮処理部1601、第2画像レイヤ用圧縮処理部1602および第3画像レイヤ用圧縮処理部1603に入力される。
第1画像レイヤ用圧縮処理部1601は、入力された第1画像レイヤLy1を2値化し、2値化した第1画像レイヤLy1に対して、線画など2値画像の圧縮に適した圧縮方式、例えばMMR方式による圧縮処理を施し、圧縮第1画像レイヤLy1’として出力する。第3画像レイヤ用圧縮処理部1603は、入力された第3画像レイヤLy3に対して、絵柄など多値画像に適した圧縮方式、例えばJPEG方式による圧縮処理を施し、圧縮第3画像レイヤLy3’として出力する。また、第2画像レイヤ用圧縮処理部1602は、入力された第2画像レイヤLy2に対して、多値画像に適した、JPEG方式などの圧縮方式により圧縮処理を施し、圧縮第2画像レイヤLy2として出力する。第2画像レイヤ用圧縮処理部1602は、第3画像レイヤ用圧縮処理部1603に比べて解像度を落とした圧縮処理を施すと好ましい。
なお、第1画像レイヤ用圧縮処理部1601、第2画像レイヤ用圧縮処理部1602および第3画像レイヤ用圧縮処理部1603における各圧縮方式は、上述の例に限定されない。
圧縮処理部16で圧縮処理された圧縮第1画像レイヤLy1’、圧縮第2画像レイヤLy2’および圧縮第3画像レイヤLy3’は、それぞれファイル生成部17に入力される。
(第1の実施形態)
次に、第1の実施形態について説明する。第1の実施形態では、入力画像Im0を圧縮処理して記憶媒体に蓄積する。そして、記憶媒体から読み出した、圧縮処理された入力画像Im0を伸長処理した伸長画像に基づき、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成し、高圧縮PDFファイルFImを作成する。
図9および図10は、第1の実施形態に係る、高圧縮PDFファイルFIm作成の処理手順を説明するための模式図である。図9において、入力画像Im0に対して非可逆圧縮を施し、圧縮された入力画像Im0を一時蓄積ファイルTImに格納する。また、入力画像Im0に対して像域分離処理を施し、入力画像Im0から線画画像Im2を抽出する。ここでは、上述した、検出部10、算出部14および決定部15を用いた線画画像の抽出に比べて、簡略的な方法で線画画像Im2が抽出される。線画画像Im2に対して可逆圧縮を施し、圧縮された線画画像Im2を一時蓄積ファイルTImにさらに格納する。
なお、圧縮された入力画像Im0と、圧縮された線画画像Im2は、1の一時蓄積ファイルTImに同梱してもよいし、それぞれ独立したファイルに格納してもよい。
一時蓄積ファイルTImに格納された、圧縮された入力画像Im0を伸長し、伸長入力画像Im0’を生成する。入力画像Im0は、非可逆圧縮されているため、伸長入力画像Im0’は、元の入力画像Im0に対する非可逆圧縮および伸長に起因する変化(例えばモスキートノイズ)を含む入力画像’となる。
また、一時蓄積ファイルTImに格納された、圧縮された線画画像Im2を伸長し、伸長線画画像Im2’を生成する。線画画像Im2は、可逆圧縮されているため、伸長線画画像Im2’は、元の線画画像Im2と同一の画像となる。
第1の実施形態では、図10に例示されるように、伸長入力画像Im0’に基づき第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する。このとき、伸長入力画像Im0’における、入力画像Im0に含まれる線画画像Im1に対応する領域を伸長線画画像Im2’に基づき特定し、当該領域の周囲を補正する。この補正により、伸長入力画像Im0’に含まれる、非可逆圧縮および伸長に起因する変化を相殺し、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3の高画質化を図る。
図9および図10に示す手順では、線画画像Im2を生成するタイミングが一時蓄積ファイルTImの作成前になる。そのため、図10に例示されるように、一時蓄積ファイルTImから取り出して非可逆圧縮を伸長した入力画像Im0’と、一時蓄積ファイルTImから取り出して可逆圧縮を伸長した線画画像Im2’と、を組み合わせて、各画像レイヤを生成することになる。
また、第1の実施形態では、高圧縮PDFファイルFImの作成処理を高速化することが可能である。すなわち、図2を用いて説明した高圧縮PDFファイルFImの作成手順では、入力画像Im0に基づく高圧縮PDFファイルFImが完成しない限り、次の入力画像Im0に対する処理を実行できない。これに対して、図9および図10に示す、第1の実施形態に係る高圧縮PDFファイルFImの作成手順では、入力画像Im0と、入力画像Im0から抽出した線画画像Im2とをそれぞれ圧縮処理して一時蓄積ファイルTImに格納することで、次の入力画像Im0に対する処理を実行できる。
図11は、第1の実施形態に係る画像処理装置の機能的な構成の例を示す。なお、図11において、上述した図3と共通する部分には同一の符号を付して、詳細な説明を省略する。図11に示される構成は、図3を用いて説明した構成と同様に、検出部10と、算出部14と、決定部15と、ファイル生成部17とを含む。また、図11における圧縮処理部16aは、図3における圧縮処理部16に対して追加される機能(詳細は後述する)を持つ。
さらに、図11に示される構成は、図3の構成に対して検出部10aと、第1圧縮部20と、第2圧縮部21と、記憶部22と、第1伸長部23と、第2伸長部24とが追加されている。入力画像Im0は、第1圧縮部20と検出部10aとに入力される。検出部10aは、図4を用いて説明した検出部10と同等の構成を有し、エッジ検出部11、エッジ強調部12および線画候補検出部13を含む。検出部10aは、入力画像Im0に対して上述と同様の処理を施し、線画候補検出部13から候補検出結果を出力する(第1の検出部)。この候補検出結果を、線画画像Im2として用いる。線画画像Im2は、第2圧縮部21に入力される。
第1圧縮部20は、入力画像Im0に対して非可逆圧縮処理を施す(第1の圧縮処理部)。第1圧縮部20による非可逆圧縮の圧縮方式としては、例えばJPEG方式を適用できる。第1圧縮部20で圧縮された入力画像Im0は、記憶部22に入力される。なお、第1圧縮部20に適用可能な圧縮方式は、JPEG方式に限定されない。
第2圧縮部21は、検出部10aから出力された線画画像Im2に対して可逆圧縮処理を施す(第1の圧縮処理部)。第2圧縮部21による可逆圧縮の圧縮方式としては、例えばMMR方式を適用できる。なお、第2圧縮部21に適用可能な圧縮方式は、MMR方式に限定されず、可逆圧縮が可能な他の圧縮方式であってもよい。
第1圧縮部20および第2圧縮部21で圧縮された入力画像Im0および線画画像Im2は、それぞれ記憶部22に入力される。記憶部22は、入力されたこれら圧縮された入力画像Im0および線画画像Im2を、一時蓄積ファイルTImに格納し、記憶媒体に記憶する。例えば、図1を参照し、記憶部22は、圧縮された入力画像Im0および線画画像Im2を格納した一時蓄積ファイルTImを、ストレージ1120に記憶する。なお、記憶部22は、圧縮された入力画像Im0および線画画像Im2を1の一時蓄積ファイルTImに格納してもよいし、それぞれ別個のファイルに格納してもよい。
記憶部22から一時蓄積ファイルTImが読み出され、一時蓄積ファイルTImに格納される、圧縮された入力画像Im0が第1伸長部23に入力される。第1伸長部23は、入力された、圧縮された入力画像Im0を第1圧縮部20の圧縮方式に対応する伸長方式により伸長し、伸長入力画像Im0’として出力する(伸長処理部)。伸長入力画像Im0’は、上述したように、元の入力画像Im0に対する非可逆圧縮および伸長に起因する変化を含む入力画像’である。
記憶部22から読み出された一時蓄積ファイルTImに格納される、圧縮された線画画像Im2が第2伸長部24に入力される。第2伸長部24は、入力された、圧縮された線画画像Im2を第2圧縮部21の圧縮方式に対応する伸長方式により伸長し、伸長線画画像Im2’として出力する(伸長処理部)。伸長線画画像Im2’は、上述したように、元の線画画像Im2と同一の画像である。第2伸長部24から出力された伸長線画画像Im2’は、圧縮処理部16aに入力される。
第1伸長部23から出力された伸長入力画像Im0’は、検出部10、算出部14および圧縮処理部16aに入力される。検出部10は、図5のフローチャートを用いて説明したようにして伸長入力画像Im0’から線画候補を検出し、候補検出結果を決定部15および算出部14に出力する。算出部14は、図6のフローチャートを用いて説明したようにして、候補検出結果に基づき線画候補の色に関する情報や、線幅などサイズに関する情報を算出し、算出結果を決定部15に出力する。
決定部15は、検出部10から出力された候補検出結果と、算出部14から出力された算出結果とに基づき、図7のフローチャートを用いて説明したようにして、伸長入力画像Im0’における線画領域を決定する。決定部15は、決定した線画領域の画像を線画画像Im1’として出力する。決定部15から出力された線画画像Im1’は、圧縮処理部16aに入力される。
圧縮処理部16aは、伸長入力画像Im0’と、線画画像Im1’とに基づき、第1画像レイヤLy1と、第2画像レイヤLy2と、第3画像レイヤLy3とを生成する。このとき、圧縮処理部16aは、伸長入力画像Im0’を、伸長線画画像Im2’に基づき補正し、伸長入力画像Im0’が補正された伸長入力画像Im0”を用いて各画像レイヤを生成する。
図12は、第1の実施形態に係る圧縮処理部16aの機能を説明するための一例の機能ブロック図である。なお、図12において、上述した図8と共通する部分には同一の符号を付して、詳細な説明を省略する。図12に示す圧縮処理部16aは、図8の圧縮処理部16に対して入力画像補正部1610aが追加された構成となっている。
圧縮処理部16aにおいて、決定部15から出力された線画画像Im1’が、レイヤ生成部1600に入力される。一方、第1伸長部23から出力された伸長入力画像Im0’と、第2伸長部24から出力された伸長線画画像Im2’と、が入力画像補正部1610aに入力される。
入力画像補正部1610aは、入力画像Im0における線画画像Im2に対応する領域を、伸長線画画像Im2’に基づき伸長入力画像Im0’内に設定する。そして、入力画像補正部1610aは、少なくとも伸長入力画像Im0’内に設定された線画画像Im2に対応する領域の周囲を、伸長入力画像Im0’を用いて補正する(第1の補正部)。補正の一例として、伸長入力画像Im0’における線画画像Im2に対応する領域の周囲をベタ化する。
入力画像補正部1610aは、伸長入力画像Im0’を補正した補正伸長入力画像Im0”をレイヤ生成部1600に入力する。レイヤ生成部1600は、線画画像Im1’と、補正伸長入力画像Im0”とに基づき、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する(生成部)。
レイヤ生成部1600で生成された第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3は、それぞれ第1画像レイヤ用圧縮処理部1601、第2画像レイヤ用圧縮処理部1602および第3画像レイヤ用圧縮処理部1603により、それぞれの画像に適した圧縮方式により圧縮処理され、圧縮第1画像レイヤLy1’、圧縮第2画像レイヤLy2’および圧縮第3画像レイヤLy3’として圧縮処理部16aから出力される(第2の圧縮処理部)。
このように、第1の実施形態では、伸長入力画像Im0’において、線画画像Im2に対応する領域の周囲を補正している。そのため、入力画像Im0に対する第1圧縮部20による非可逆圧縮による画質劣化を抑制しつつ、絵柄部分が線画(文字)として分離されることを回避可能であり、高品質の高圧縮PDFファイルFImを生成することが可能となる。
なお、図11に示した構成における、検出部10aと、第1圧縮部20と、第2圧縮部21と、記憶部22と、第1伸長部23と、第2伸長部24と、検出部10と、算出部14と、決定部15と、圧縮処理部16aと、ファイル生成部17と、は、例えばCPU1100で、実施形態に係る画像処理プログラムが実行されることで実現される。これに限らず、例えば画像処理・エンジン制御部1130がCPU、ROM、RAMなどコンピュータと同様の構成とし、実施形態に係る画像処理プログラムが画像処理・エンジン制御部1130が含むCPU上で実行されることで、これら各部が実現されるようにしてもよい。
さらに、検出部10aと、第1圧縮部20と、第2圧縮部21と、記憶部22と、第1伸長部23と、第2伸長部24と、検出部10と、算出部14と、決定部15と、圧縮処理部16aと、ファイル生成部17と、のうち一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
画像形成装置100における実施形態に係る各機能を実現するための画像処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、当該画像処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該画像処理プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
当該画像処理プログラムは、検出部10aと、第1圧縮部20と、第2圧縮部21と、記憶部22と、第1伸長部23と、第2伸長部24と、検出部10と、算出部14と、決定部15と、圧縮処理部16aと、ファイル生成部17と、を含むモジュール構成となっている。実際のハードウェアとしては、CPU1100がストレージ1220などの記憶媒体から当該画像処理プログラムを読み出して実行することにより、上述した各部がRAM1101などの主記憶装置上にロードされ、検出部10aと、第1圧縮部20と、第2圧縮部21と、記憶部22と、第1伸長部23と、第2伸長部24と、検出部10と、算出部14と、決定部15と、圧縮処理部16aと、ファイル生成部17と、が主記憶装置上に生成されるようになっている。
(第1の実施形態に係る補正処理の詳細)
次に、図13〜図15を用いて、第1の実施形態に係る、入力画像補正部1610aにおける補正処理について説明する。
図13(a)は、ベタ地(単一色による地)上に線画画像1630a(この例では文字画像)が形成された画像1640aの例を示す。この画像1640aは、例えば図12における入力画像Im0に相当する。図13(a)の例では、線画画像1630aは、輪郭が明瞭であり、画像1640aは、線画画像1630a以外の部分がベタ地のままとなっている。
図13(b)は、図13(a)の画像1640aを例えば第1圧縮部20により非可逆圧縮し、第1伸長部23により伸長した画像1640bの例を示す。非可逆圧縮の例としてのJPEG方式では、画像を所定サイズのブロックに分割し、ブロック単位で符号化を行うためブロックの境界にブロックノイズと呼ばれるノイズが発生することがある。また、ブロック毎に離散コサイン変換を行い画像を周波数領域に変換し、高周波数成分でより粗い量子化を行うため、画像のエッジなど急峻な変化が発生する領域で、モスキートノイズと呼ばれるノイズが発生する。
図13(b)の例では、非可逆圧縮および伸長の影響により、図13(a)の線画画像1630aと比較して線画画像1630bの輪郭の明瞭さが低下すると共に、線画画像1630bの周囲にモスキートノイズ1632が発生している。
この画像1640bを、例えば図8のレイヤ生成部1600により像域分離した場合、第3レイヤ画像Ly3にはモスキートノイズ1632が残ってしまう。したがって、このモスキートノイズ1632を含む第3画像レイヤLy3を第3画像レイヤ用圧縮処理部1603により例えばJPEG方式により圧縮し、この圧縮された第3画像レイヤLy3を含む高圧縮PDFファイルFImによる画像を表示した場合、表示された画像にはモスキートノイズ1632の影響が現れてしまうことになる。
そのため、第1の実施形態では、伸長入力画像Im0’における線画画像Im2の位置を伸長線画画像Im2’に基づき特定し、伸長入力画像Im0’における特定された線画画像Im2の少なくとも周囲を補正する。これにより、伸長入力画像Im0’の線画画像Im2に対応する位置の周囲に発生したモスキートノイズ1632を除去することができ、第3画像レイヤLy3を含む高圧縮PDFファイルFImによる画像を高品位に表示させることが可能となる。
また、圧縮対象の伸長入力画像Im0’における、線画画像Im2に対応する位置の周囲のモスキートノイズ1632を除去することで、当該モスキートノイズ1632を除去しない場合に比べ、効率的に圧縮処理を実行できる。したがって、当該圧縮処理を行った圧縮第3画像レイヤLy3’を含む高圧縮PDFファイルFImのファイルサイズを小さく抑えることが可能となる。
図14を用いて、第1の実施形態に係る補正処理についてより具体的に説明する。図14は、図13(b)の画像1640bに対応するもので、線画画像1630bの周囲にモスキートノイズ1632が存在している。また、線画画像1630bに外接する矩形が行矩形1631として示されている。上述したように、行矩形1631の伸長入力画像Im0’における位置は、伸長線画画像Im2’に基づき設定できる。
第1の実施形態では、入力画像補正部1610aは、行矩形1631の周囲に、ベタ地の判定を行う領域であるベタ地判定領域1635を設ける。ベタ地判定領域1635は、モスキートノイズ1632の影響を低減するために、行矩形1631に対してオフセット1633の分だけ間隔を空けた外側に設ける。オフセット1633は、数画素乃至10数画素の幅とすることが考えられる。オフセット1633の幅は、例えば、第1圧縮部20の圧縮方式および圧縮率といった、入力画像Im0に対する圧縮、伸長方式に応じて設定することができる。
ベタ地判定領域1635は、幅が大きいほどベタ部の判定精度が向上する一方で、別の行矩形や絵柄領域が近傍に存在する場合、その領域がベタ地判定領域1635に含まれてしまうおそれがある。ここでは、ベタ地判定領域1635の幅1634を2画素として説明する。なお、以下では、幅1634を、ベタ地判定幅1634と呼ぶ。
図15は、第1の実施形態に係る、入力画像補正部1610aによる補正処理を示す一例のフローチャートである。なお、以下では、各色情報は、RGB値それぞれが255階調を持つものとする。ステップS500で、入力画像補正部1610aは、行矩形1631の周囲の色である周囲色を取得する。
より具体的には、ステップS500で、入力画像補正部1610aは、対象となる伸長入力画像Im0’に対して図14を用いて説明したベタ地判定領域1635を設定し、ベタ地判定領域1635内の色を取得する。例えば、入力画像補正部1610aは、ベタ地判定領域1635内の全ての画素について、RGB値を取得する。
次のステップS501で、入力画像補正部1610aは、ステップS500で取得したRGB値に基づき、ベタ地判定領域1635がベタ地であるか否かを判定する。入力画像補正部1610aは、ベタ地判定領域1635がベタ地ではないと判定した場合(ステップS501、「No」)、この図15のフローチャートによる一連の処理を終了させる。
例えば、入力画像補正部1610aは、取得したRGB値に基づき計算される分散値に基づきベタ地の判定を行うことができる。この場合、入力画像補正部1610aは、取得したRGB値に基づきR値、G値およびB値それぞれの分散値を計算し、各分散値が閾値以下の場合に、ベタ地判定領域1635がベタ地であると判定することができる。閾値は、R値、G値およびB値に共通に設定してもよいし、R値、G値およびB値それぞれに設定してもよい。
また例えば、入力画像補正部1610aは、取得したRGB値に基づき計算される平均値に基づきベタ地の判定を行うことができる。この場合、入力画像補正部1610aは、R値、G値およびB値それぞれの平均値を計算し、ベタ地判定領域1635内の各画素のR値、G値およびB値それぞれについて、R値、G値およびB値の各平均値との差分を計算する。入力画像補正部1610aは、ベタ地判定領域1635内の全画素について、R値、G値およびB値の差分が閾値以下であると判定した場合に、ベタ地判定領域1635がベタ地であると判定できる。閾値は、例えば階調値として70程度の値を設定することが考えられる。閾値は、R値、G値およびB値に共通に設定してもよいし、R値、G値およびB値それぞれに設定してもよい。
さらに例えば、入力画像補正部1610aは、計算した平均値が白色または黒色に近い場合、平均値のみで判定を行ってもよい。例えば、R値、G値およびB値の各平均の階調値が240以上の場合に、ベタ地判定領域1635が白色に近いベタ地であると判定できる。また、各平均の階調値が50以下の場合に、ベタ地判定領域1635が黒色に近いベタ地であると判定できる。
また、入力画像補正部1610aは、取得したRGB値に基づきベタ地判定領域1635の色数を計算し、計算した色数に基づきベタ地の判定を行うこともできる。
入力画像補正部1610aは、ステップS501でベタ地判定領域1635がベタ地であると判定した場合(ステップS501、「Yes」)、処理をステップS502に移行させる。ステップS502で、入力画像補正部1610aは、行矩形1631内における線画部分の色(線画色)と、線画部分以外の背景部分の色(背景色)とを取得する。
入力画像補正部1610aは、第2伸長部24から入力された伸長線画画像Im2’に基づき、行矩形1631内における線画部分を特定する。より具体的には、入力画像補正部1610aは、伸長線画画像Im2’の元の線画画像Im2の、入力画像Im0内の位置(座標)情報に基づき、行矩形1631内における線画部分を特定する。この位置情報は、例えば検出部10aにおいて取得することができる。
上述したように、伸長線画画像Im2’は、入力画像Im0から抽出された線画画像Im2を可逆圧縮により圧縮し、伸長した画像であり、線画画像Im2と同一の画像である。したがって、入力画像補正部1610aは、第1圧縮部20による非可逆圧縮の影響を受けずに、行矩形1631内における線画部分を特定できる。
入力画像補正部1610aは、線画色については、第1圧縮部20による非可逆圧縮の影響で線画部分のエッジ部が鈍る。また、入力画像Im0がスキャナユニット1131により原稿から読み取られた画像である場合には、線画部分のエッジ部の鈍りは、非可逆圧縮の影響に加えて、スキャナユニット1131のMTF(Modulation Transfer Function)特性も影響する。そのため、線画色の取得は、線画部分の内部の色を取得することが好ましい。例えば、線画部分が9画素の幅を持つ場合、9画素の中央の画素や、中央の画素と当該画素の両隣の複数画素とに基づき線画部分の色を取得することが考えられる。
線画部分が例えば細い線による文字などの場合には、線画部分の内部の色の取得が困難である場合がある。この場合には、当該線画部分が周囲よりも低輝度であれば、線画部分の「沢」部の色、すなわち、線画部分の色のうち周囲の色に対してより濃い(低輝度の)色を取得する。一方、当該線画部分が周囲よりも高輝度であれば、線画部分の「尾根」部の色、すなわち、線画部分の色のうち周囲の色に対してより薄い(高輝度の)色を取得する。このようにすることで、エッジ部の鈍りの影響を低減させることが可能である。
入力画像補正部1610aは、背景色については、行矩形1631内の、線画部分として特定された以外の部分である背景部分の全画素のRGB値の平均値を算出し、この平均値を背景色を表す値として用いることができる。これに限らず、入力画像補正部1610aは、行矩形1631内において、線画部分に対して1乃至数画素離れた位置から、画素のRGB値を取得して平均値を算出してもよい。
さらには、線画部分の色と、線画部分に隣接する背景部分の画素の色との階調差が閾値以下の場合に、線画部分に対して1乃至数画素離れた位置から画素のRGB値を取得して平均値を算出するようにしてもよい。これは、例えば、線画部分に対して蛍光ペンなどでマーカが付してある場合など、線画部分の近傍(1乃至数画素以内)から背景部分が開始される場合に対する対応である。例えば、線画部分の画素と、背景部分の線画部分に隣接する画素との階調差が50以下の場合に、線画部分に対して1画素離れた位置から、平均値算出のための画素を取得することが考えられる。
なお、線画部分の近傍とは、線画部分に隣接せず、且つ、線画部分からの距離が2乃至数画素以内(例えば2画素以内)の画素位置を指す。
次のステップS503で、入力画像補正部1610aは、背景色と周囲色とが同一色と見做せるか否かを判定する。より具体的には、背景色と周囲色とのRGB各値の階調値の差分が閾値以下であるか否かを判定する。このとき、背景色は、モスキートノイズ1632の影響を含んでいるため、閾値を、例えば階調値で30といった緩めの値に設定すると好ましい。入力画像補正部1610aは、階調値の差分が閾値を超え、背景色と周囲色とが同一色とは見做せないと判定した場合(ステップS503、「No」)、この図15のフローチャートによる一連の処理を終了させる。
入力画像補正部1610aは、背景色と周囲色とが同一色と見做せると判定した場合(ステップS503、「Yes」)、処理をステップS504に移行させる。ステップS504で、入力画像補正部1610aは、行矩形1631内の背景部分に未処理画素があるか否かを判定する。入力画像補正部1610aは、行矩形1631内の背景部分の全ての画素について処理が終了したと判定した場合(ステップS504、「無し」)、この図15のフローチャートによる一連の処理を終了させる。
入力画像補正部1610aは、行矩形1631内の背景部分に未処理画素が有ると判定した場合(ステップS504、「有り」)、処理をステップS505に移行させる。入力画像補正部1610aは、ステップS505およびステップS506を経て、ステップS507にて未処理画素を周囲色の画素と置き換えて、背景部分をベタ化する補正を行う。
ステップS505で、入力画像補正部1610aは、行矩形1631内の未処理画素のうち1画素を処理対象画素として抽出し、抽出した処理対象画素が行矩形1631内の線画部分の近傍(例えば線画部分からの距離が2画素以内)の画素であるか否かを判定する。入力画像補正部1610aは、未処理画素が線画部分の近傍の画素ではないと判定した場合(ステップS505、「No」)、処理をステップS504に戻し、行矩形1631内の次の未処理画素について処理を実行する。すなわちこの場合には、処理対象画素に対して、ステップS507における補正処理を行わない。
これに限らず、当該未処理画素のRGB値と周囲色のRGB値との階調差が小さければ(例えば階調差が30以内)、当該未処理画素の色を周囲色の色に置き換えてベタ化を行ってもよい。ここでベタ化が行われた画素は、処理済み画素とされ、ステップS504での判定から除外される。
入力画像補正部1610aは、処理対象画素が線画部分の近傍の画素であると判定した場合(ステップS505、「Yes」)、処理をステップS506に移行させる。ステップS506で、入力画像補正部1610aは、処理対象画素の色と、周囲色との差分が所定以下であるか否かを判定する。より具体的には、処理対象画素と、周囲色とのRGB各値の階調値の差分が閾値以下であるか否かを判定する。
すなわち、線画部分近傍の画素は、モスキートノイズ1632の影響を受けるため、当該画素の階調値と、周囲色の階調値との差分が大きくなる可能性がある。この差分が非常に大きい場合、線画部分近傍に別の画像(絵柄など)が存在している可能性がある。そのため、入力画像補正部1610aは、処理対象画素のRGB値と、周囲色のRGB値との差分が閾値を超えると判定した場合(ステップS506、「No」)、処理をステップS504に戻し、行矩形1631内の次の未処理画素について処理を実行する。すなわちこの場合には、処理対象画素に対して、ステップS507における補正処理を行わない。
なお、ステップS506での閾値は、例えば、階調値で70程度の値を設定することが考えられる。閾値は、R値、G値およびB値に共通に設定してもよいし、R値、G値およびB値それぞれに設定してもよい。
入力画像補正部1610aは、処理対象画素のRGB値と、周囲色のRGB値との差分が閾値以下であると判定した場合(ステップS506、「Yes」)、処理をステップS507に移行させる。ステップS507で、入力画像補正部1610aは、処理対象画素を周囲色の画素と置き換えて、背景部分をベタ化する補正を行う。ステップS507の処理の後、処理がステップS504に戻され、次の未処理画素に対する処理が行われる。
なお、上述では、入力画像補正部1610aは、ステップS503で背景色と周囲色とが同一色と見做せると判定した場合(ステップS503、「Yes」)に、ステップS504以降の処理により、背景部分の画素毎に補正処理を実行しているが、これはこの例に限定されない。例えば、入力画像補正部1610aは、ステップS503で背景色と周囲色とが同一色と見做せると判定した場合、背景部分の全画素を、周囲色の画素と置き換えて、背景部分のベタ化を実行して、図15のフローチャートによる一連の処理を終了させてもよい。
(第1の実施形態に係る補正処理による効果)
次に、図16〜図18を用いて、第1の実施形態に係る補正処理による効果について、概略的に説明する。図16は、図2を用いて説明した手順に従い高圧縮PDFファイルFImを作成した場合の各画像の例を示す。図16(a)は、入力画像Im0の例を示す。図16(a)の例では、入力画像Im0である画像1640aは、2値画像である線画画像1630aと、多値画像である絵柄画像1650aとを含んでいる。画像1640aにおいて、線画画像1630aおよび絵柄画像1650aは明瞭であり、また、線画画像1630aに対して背景となる背景領域は、白色のベタ地となっている(絵柄画像1650aを除く)。
図3および図8を参照し、圧縮処理部16は、レイヤ生成部1600において、像域分離により画像1640aから線画画像1630a(線画画像Im1)を分離して第3画像レイヤLy3を生成する。図16(b)は、この第3レイヤ画像Ly3による画像1640bの例を示す。画像1640bにおいて、線画画像1630aに対応する領域、および、線画画像1630aに対する背景領域は、白色のベタ地となっている。
圧縮処理部16において、第3画像レイヤ用圧縮処理部1603は、この画像1640bに対してJPEG方式などの非可逆圧縮処理を施す。図16(c)は、画像1640bに対して非可逆圧縮処理を行い、さらに伸長処理を施した画像1640cの例を示す。絵柄画像1650bは、絵柄画像1650aが非可逆圧縮および伸長処理により鈍り、また、周囲にモスキートノイズが発生したものである。一方、線画画像1630aに対応する領域、および、線画画像1630aに対する背景領域は、圧縮処理前の画像1640bにおいて白色のベタ地であるため、非可逆圧縮および伸長処理の後も、白色のベタ地のままである。
図17は、入力画像Im0を非可逆圧縮し、さらに伸長した画像に対して、図2を用いて説明した手順に従い高圧縮PDFファイルFImを作成した場合の各画像の例を示す。図17(a)は、上述した図16(a)と同一の図であって、入力画像Im0としての画像1640aを示している。画像1640aは、線画画像1630aおよび絵柄画像1650aを含み、背景領域は、白色のベタ地となっている。
図17(b)は、画像1640aに対して非可逆圧縮処理を施し、さらに伸長処理を施した画像1640dの例を示す。画像1640dは、線画画像1630bおよび絵柄画像1650cを含む。線画画像1630bおよび絵柄画像1650cは、非可逆圧縮および伸長処理の影響で鈍り、さらに、エッジ領域にモスキートノイズ1632が発生している。
図17(c)は、例えば圧縮処理部16におけるレイヤ生成部1600により、図17(b)の画像1640dから、線画画像1630aに対応する領域を抽出、除去した画像1640eの例を示す。画像1640eにおいて、線画画像1630aに対応する領域、および、その領域の周囲を含む領域1660aのモスキートノイズ1632は、除去されずに残っている。また、領域1660aにおいて、線画画像1630aのエッジに対応する領域は、非可逆圧縮および伸長処理による鈍りにより元の線画画像1630aが膨張した部分を含む。
図17(c)の画像1640eの領域1660aに対して、領域1660aのモスキートノイズ1632と、線画画像1630aの膨張部分の影響を抑制するために補正処理を行い、第3画像レイヤLy3を生成することを考える。補正処理は、例えば、対象領域の周囲の絵柄や背景領域の情報に基づく色を用いて、線画画像1630aに対応する領域を埋めることで行う。
図17(d)は、画像1640eに対して、特許文献4に記載される、対象領域の周囲の絵柄や背景領域に基づく平均値を用いて当該領域を埋めた、第3画像レイヤLy3としての画像1640fの例を示す。この場合、平均値の算出には、線画画像1630bの周囲のモスキートノイズ1632も用いられる。そのため、画像1640fにおいて、領域1660aに対応する領域1660bに含まれる線画画像1630aに対応する領域は、モスキートノイズ1632の影響で、領域1660aに含まれる線画画像1630aに対応する領域に対して変色する。
図17(e)は、図17(d)に示す画像1640fを、第3画像レイヤ用圧縮処理部1603で非可逆圧縮し、さらに伸長した画像1640gの例を示す。画像1640gにおいて、線画画像1630aに対する背景領域はモスキートノイズ1632が残り、線画画像1630aに対応する領域およびその領域の周囲を含む領域1660cも、元の線画画像1630aの形状が残った状態となる。
なお、例えば図17(d)の段階で、線画画像1630aではないエッジの周辺(例えば絵柄画像1650cのエッジ周辺)を補正してモスキートノイズ1632を除去しても、第3画像レイヤ用圧縮処理部1603による非可逆圧縮処理により、伸長画像の絵柄画像1650cに対応する領域の周囲に、再びモスキートノイズが発生する。そのため、線画画像1630aに対応する領域以外のエッジ領域に対して補正処理を行っても、効果は小さい。
図18は、入力画像Im0を非可逆圧縮し、さらに伸長した画像に対して、第1の実施形態に係る補正処理を施して高圧縮PDFファイルFImを作成した場合の各画像の例を示す。図18(a)および図18(b)は、上述した図17(a)および図17(b)と同一である。すなわち、図18(a)における画像1640aは入力画像Im0を示し、図18(b)における画像1640dは、画像1640aに対して第1圧縮部20および第1伸長部23により非可逆圧縮および伸長処理を施した伸長入力画像Im0’を示す。
図18(c)は、図18(b)の画像1640dから、線画画像1630aの領域を除いた状態の画像1640e’を示す。画像1640e’は、図17(c)の画像1640eと同様に、線画画像1630aに対応する領域およびその領域の周囲を含む領域1660a’のモスキートノイズ1632が除去されずに残っている。また、画像1640e’において、領域1660a内の線画画像1630aのエッジ領域は、非可逆圧縮および伸長処理による鈍りにより元の線画画像1630aが膨張した部分を含んでいる。
第1の実施形態では、上述したように、圧縮処理部16a内の入力画像補正部1610aにおいて、伸長入力画像Im0’の補正を行っている。図18(d)は、図18(c)の画像1640e’の領域1660a’における線画画像1630aに対応する領域の周囲に対して、第1の実施形態に係る補正処理を施した結果である画像1640f’の例を示す。なお、図18(d)では、画像1640f’を、線画画像1630aの領域を除いた状態で示している。
上述したように、第1の実施形態では、線画画像1630aに対応する領域の周囲を補正している。そのため、図18(d)に、領域1660a’に対応する領域1660dとして示されるように、線画画像1630aに対応する領域の周囲がベタ地の画像となる。
図18(e)は、図18(d)に示す画像1640f’を、第3画像レイヤ用圧縮処理部1603で非可逆圧縮し、さらに伸長した画像1640g’の例を示す。画像1640g’において、線画画像1630aに対する背景領域は、モスキートノイズ1632が補正により除去されてベタ地の画像とされ(領域1660d’)、図16(c)の画像1640cと同様の平坦な画像が実現される。そのため、高圧縮PDFファイルFImによる画像の高画質化が可能となる。また、ベタ地の画像は、例えばJPEG方式における圧縮効率が良いため、高圧縮PDFファイルFImのファイルサイズの抑制も可能となる。
(第1の実施形態に係る補正処理の具体例)
次に、図19〜図22、および、上述した図15のフローチャートを用いて、第1の実施形態に係る補正処理の具体的な例について説明する。
(補正処理の第1の例)
図19は、第1の実施形態に係る補正処理の第1の例を説明するための図である。第1の例は、線画画像に対する背景部分がベタ地である場合の補正処理の例である。図19(a)は、ベタ地上に線画画像1670aが含まれる画像1680aの例を示す。図11を参照し、この画像1680aが、入力画像Im0として第1圧縮部20および検出部10aに入力される。
図19(b)は、図19(a)の画像1680aを第1圧縮部20により非可逆圧縮し、記憶部22を介して第1伸長部23により伸長した画像1680bの例を示す。この画像1680bが、伸長入力画像Im0’として圧縮処理部16aと、検出部10および算出部14に入力される。画像1680bにおいて、線画画像1670bは、線画画像1670aに対してエッジが鈍り、周囲にモスキートノイズ1632が発生している。
図11を参照し、検出部10、算出部14および決定部15により、画像1680b(伸長入力画像Im0’)から線画画像1670aに対応する線画画像1670bが抽出され、線画画像Im2’として圧縮処理部16aに入力される。圧縮処理部16aには、さらに、画像1680b(伸長入力画像Im0’)と、伸長線画画像Im2’とが入力される。画像1680bおよび伸長線画画像Im2’は、圧縮処理部16a内の入力画像補正部1610aに入力される。
入力画像補正部1610aは、図19(c)に例示されるように、画像1680bに対して、線画画像1670b毎に、線画画像1670bの外接矩形である行矩形1631を設定し、設定した行矩形1631の周囲色を取得する(図15のステップS500)。また、入力画像補正部1610aは、図19(d)に例示されるように、設定された行矩形1631に基づきベタ地判定領域1635(図14参照)を設定する。
ベタ地判定領域1635は、非可逆圧縮により発生する線画画像1670b周辺のモスキートノイズ1632の影響が少ない位置から設定することが好ましい。その一方で、補正対象である線画画像1670bから離れ過ぎると別の線画画像や絵柄画像の影響を受けてしまうことが考えられる。そのため、ベタ地判定領域1635の位置や幅は、第1圧縮部20における非可逆圧縮の圧縮率に応じて設定することが好ましい。ここでは、行矩形1631の縦横方向に2画素ずつ大きい領域を、ベタ地判定領域1635として設定している。
入力画像補正部1610aは、ベタ地判定領域1635の階調値の分散、平均値、ベタ地判定領域1635の色数などに基づき、ベタ地判定領域1635がベタ地であるか否かを判定する(ステップS501)。図19(d)の例では、入力画像補正部1610aは、ベタ地判定領域1635がベタ地であると判定し、処理をステップS502に移行させ、行矩形1631内の線画色と背景色とを取得する。
入力画像補正部1610aは、図15のステップS503で、背景色と周囲色とが同一色として見做せるか否かを判定する。図19(d)の例では、入力画像補正部1610aは、背景色と周囲色とを同一色として見做して処理をステップS504に移行させる。そして、ステップS504〜ステップS507の処理を、行矩形1631内の背景部分の全画素に対して実行し、当該背景部分の画素を周囲色の画素と置き換えて、背景部分をベタ化する補正を行う。
図19(e)は、上述のようにして背景部分がベタ化された画像1680cの例を示す。図19(e)の例では、画像1680c内の、線画画像1670aに対応する線画画像1670cの周囲において、モスキートノイズ1632が補正により消滅していることが分かる。この画像1680cが、補正伸長入力画像Im0”として入力画像補正部1610aから出力され、レイヤ生成部1600に入力される。
なお、ステップS503の判定において、ベタ地判定領域1635が白地のベタ地であって、当該ベタ地判定領域1635の各画素の階調値の平均値が白色に近く、且つ、最小階調値が所定値以上(例えば白色の階調値が255の場合、240以上)であれば、背景部分が白色であると見做してよい。ベタ地判定領域1635が黒地のベタ地である場合も、同様である。
また、ステップS501の判定において、ベタ地判定領域1635がベタ地であると判定された場合、線画画像1670bに対する背景部分を、ベタ地判定領域1635内の平均階調値あるいは代表の階調値(白地であれば白色、黒地であれば黒色)で埋めるようにできる。
(補正処理の第2の例)
図20は、第1の実施形態に係る補正処理の第2の例を説明するための図である。第2の例は、線画画像に対する背景部分がグラデーションである場合の補正処理の例である。図20(a)は、上辺から下辺に向けて階調値が小さくなるグラデーションを持つ画像1681aの例を示す。画像1681aは、線画画像1670aを含む。
図20(b)は、図20(a)の画像1681aを第1圧縮部20により非可逆圧縮し、記憶部22を介して第1伸長部23により伸長した画像1681bの例を示す。画像1681bにおいて、線画画像1670aに対応する線画画像1670bは、非可逆圧縮および伸長処理の影響で、線画画像1670aに対してエッジが鈍り、周囲にモスキートノイズ1632が発生している。
入力画像補正部1610aは、図20(c)に例示されるように、画像1681bに対して、線画画像1670b毎に行矩形1631を設定し、設定した行矩形1631の周囲色を取得する(図15のステップS500)。また、入力画像補正部1610aは、図20(d)に例示されるように、設定された行矩形1631に基づきベタ地判定領域1635(図14参照)を設定する。
入力画像補正部1610aは、ベタ地判定領域1635の階調値の分散、平均値、ベタ地判定領域1635の色数などに基づき、ベタ地判定領域1635がベタ地であるか否かを判定する(ステップS501)。図20(d)の例では、ベタ地判定領域1635がグラデーションを含むため例えば分散が大きくなる。したがって、入力画像補正部1610aは、ベタ地判定領域1635がベタ地では無いと判定し、図20(e)に画像1681cとして示されるように、補正処理を行わずに図15のフローチャートによる処理を終了させる。図20(e)の例では、画像1681cにおいて、線画画像1670cの周囲にモスキートノイズが存在している。
背景部分がグラデーションを含む場合、線画画像1670bの周囲をベタ化すると、異常画像となってしまう。この第2の例によれば、背景部分がグラデーションを含む場合には、線画画像1670bの周囲のベタ化は行われず、異常画像となることが防がれる。
(補正処理の第3の例)
図21は、第1の実施形態に係る補正処理の第3の例を説明するための図である。第2の例は、線画画像に対する背景部分が絵柄やパターンを持っている場合の補正処理の例である。図21(a)は、タイル状のパターンを持つ画像1682aの例を示す。画像1682aは、線画画像1670aを含む。
図21(b)は、図21(a)の画像1682aを第1圧縮部20により非可逆圧縮し、記憶部22を介して第1伸長部23により伸長した画像1682bの例を示す。画像1682bにおいて、線画画像1670aに対応する線画画像1670bは、非可逆圧縮および伸長処理の影響で、線画画像1670aに対してエッジが鈍り、周囲にモスキートノイズ1632が発生している。
入力画像補正部1610aは、図21(c)に例示されるように、画像1682bに対して、線画画像1670b毎に行矩形1631を設定し、設定した行矩形1631の周囲色を取得する(図15のステップS500)。また、入力画像補正部1610aは、図21(d)に例示されるように、設定された行矩形1631に基づきベタ地判定領域1635(図14参照)を設定する。
入力画像補正部1610aは、ベタ地判定領域1635の階調値の分散、平均値、ベタ地判定領域1635の色数などに基づき、ベタ地判定領域1635がベタ地であるか否かを判定する(ステップS501)。図20(d)の例では、ベタ地判定領域1635がパターンを含むため例えば分散が大きくなる。したがって、入力画像補正部1610aは、ベタ地判定領域1635がベタ地では無いと判定し、図21(e)に画像1682cとして示されるように、補正処理を行わずに図15のフローチャートによる処理を終了させる。図21(e)の例では、画像1682cにおいて、線画画像1670cの周囲にモスキートノイズが存在している。
背景部分が絵柄やパターンを含む場合も、上述のグラデーションの例と同様に、線画画像1670bの周囲をベタ化すると、異常画像となってしまう。この第3の例によれば、背景部分が絵柄やパターンを含む場合には、線画画像1670bの周囲のベタ化は行われず、異常画像となることが防がれる。
(補正処理の第4の例)
図22は、第1の実施形態に係る補正処理の第4の例を説明するための図である。第4の例は、線画画像に対する所定範囲に、線画画像の色、および、線画画像に対する背景部分の色と異なる色の画像(マーカ画像と呼ぶ)を含む場合の補正処理の例である。図22(a)は、ベタ地上に線画画像1670aが含まれ、且つ、線画画像1670aを含む所定範囲にマーカ画像1643を含む画像1683aの例を示す。この場合、線画画像1670aに対する背景色が、マーカ画像1643の色となる。
図22(b)は、図22(a)の画像1683aを第1圧縮部20により非可逆圧縮し、記憶部22を介して第1伸長部23により伸長した画像1683bの例を示す。画像1683bにおいて、線画画像1670aに対応する線画画像1670bは、非可逆圧縮および伸長処理の影響で、線画画像1670aに対してエッジが鈍り、周囲にモスキートノイズ1632が発生している。
入力画像補正部1610aは、図22(c)に例示されるように、画像1683bに対して、線画画像1670b毎に行矩形1631を設定し、設定した行矩形1631の周囲色を取得する(図15のステップS500)。また、入力画像補正部1610aは、図22(d)に例示されるように、設定された行矩形1631に基づきベタ地判定領域1635(図14参照)を設定する。
入力画像補正部1610aは、ベタ地判定領域1635がベタ地であるか否かを判定する(ステップS501)。図22(d)の例では、入力画像補正部1610aは、ベタ地判定領域1635がベタ地であると判定し、処理をステップS502に移行させ、行矩形1631内の線画色と背景色とを取得する。
入力画像補正部1610aは、ステップS503で、背景色と周囲色とが同一色として見做せるか否かを判定する。図22(d)の例では、入力画像補正部1610aは、背景色と周囲色とを同一色として見做すものとする。入力画像補正部1610aは、処理をステップS504に移行させる。そして、ステップS504〜ステップS507の処理を、行矩形1631内の背景部分の全画素に対して実行する。
ここで、ステップS506による判定における処理対象画素は、マーカ画像1643の画素となる。そのため、入力画像補正部1610aは、ステップS506での判定において、処理対象画素の色と、周囲色との差分が所定値を超えると判定し、処理をステップS504に戻す。したがって、入力画像補正部1610aは、マーカ画像1643の画素に対してステップS507による背景色の補正を行わない。
すなわち、ステップS506において、行矩形1631内であって、且つ、線画画像1670bではない領域1644(図22(e)に斜線を付して示す)に対して、線画色およびベタ部色(周囲色)の何れでもない色の有無の判定を行っている。図22の例では、当該領域1644に線画色(黒色)およびベタ部色(白色)の何れでもない、マーカ画像1643の画素による色(例えば黄色)が存在しているため、当該領域のベタ化が実施されない。そのため、図22(f)に示されるように、ベタ化によるマーカ画像1643の消失が避けられる。
なお、行矩形1631の内部は、モスキートノイズ1632の影響で、画素単位で見た場合、本来のマーカ画像1643の色とは異なる色の画素が混在している。そのため、行矩形1631内の、線画色および周囲色の何れでもない色の領域の画素の階調値の平均値を用いて色の判定を行うと好ましい。
(第2の実施形態)
次に、第2の実施形態について説明する。上述の第1の実施形態では、伸長入力画像Im0’における、線画画像Im2に対応する領域の周囲を補正した。第2の実施形態では、これに加えて、さらに、伸長入力画像Im0’に含まれる、線画画像Im1’の補正を行う。
図23を用いて、第2の実施形態による補正処理の必要性について説明する。なお、図23(a)および図23(b)において、各升は、画素を示している。図23(a)は、入力画像Im0に含まれる線画画像Im1の例を示す。ここでは、線画画像Im1が黒色の画素により構成され、背景色が白色とされているものとする。
図23(b)は、入力画像Im0を第1圧縮部20により非可逆圧縮し、記憶部22を介して第1伸長部23で伸長した、伸長入力画像Im0’の例を示す。伸長入力画像Im0’において、線画画像Im1に対応する部分は、非可逆圧縮および伸長処理の影響により一部が変化し、線画画像Im1’とされている。図23(b)の例では、線画画像Im1’は、非可逆圧縮および伸長処理の影響により階調値が下げられ中間色となった画素による領域1700(図中に斜線を付して示す)を含んでいる。
この領域1700の画素は、第1画像レイヤ用圧縮処理部1601における2値化処理により、例えば白色の画素とされてしまう可能性がある。この場合、補正後の画像は、元の線画画像Im0が領域1700の部分で途切れた画像となり、品質の低下を招く。第2の実施形態では、この事態を抑制するために、線画画像Im1’の補正を行う。
図24は、第2の実施形態に係る圧縮処理部16bの機能を説明するための一例の機能ブロック図である。なお、図24において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。
図24において、圧縮処理部16bは、図12に示した圧縮処理部16aに対して線画画像補正部1710と、重畳部1711とが追加されている。入力画像補正部1610aおよび線画画像補正部1710は、それぞれ伸長線画画像Im2’と、伸長入力画像Im0’とが入力される。入力画像補正部1610aによる補正処理は、第1の実施形態で説明した補正処理と同一であるので、ここでの説明を省略する。入力画像補正部1610aから出力された補正伸長入力画像Im0”は、重畳部1711の一方の入力端に入力される。
線画画像補正部1710は、伸長線画画像Im2’と、伸長入力画像Im0’とに基づき、伸長入力画像Im0’における、線画画像Im1に対応する部分の補正を行う(第2の補正部)。すなわち、線画画像補正部1710は、伸長入力画像Im0’に対して、行矩形1631を伸長線画画像Im2’に基づき設定し、行矩形1631内の背景画素の階調値が、ベタ部色(周囲色)よりも伸長線画画像Im2’の画素の色に近く、且つ、当該背景画素が当該行矩形1631内の線画画素に隣接する画素の場合に、当該背景画素を線画画素と見做し、当該背景画素の色を線画色に置き換える補正を行う。
図25は、第2の実施形態に係る線画画像補正部1710による補正処理を示す一例のフローチャートである。ステップS600で、線画画像補正部1710は、例えば、図15のフローチャートのステップS502の処理と同様にして、伸長線画画像Im2’に基づき行矩形1631における線画部分を特定し、線画色の階調値Gsを取得する。また、ステップS600で、線画画像補正部1710は、周囲色の階調値Gaも取得する。
次のステップS601で、線画画像補正部1710は、線画部分に隣接する画素を1つ抽出し、抽出した画素の階調値Gnを取得する。次のステップS602で、線画画像補正部1710は、階調値Gnと階調値Gsとの差分が、階調値Gnと階調値Gaとの差分より小さいか否かを判定する。なお、この判定は、RGBの各値の差分をそれぞれ比較することで行う。線画画像補正部1710は、階調値Gnと階調値Gsとの差分が、階調値Gnと階調値Gaとの差分以上であると判定した場合(ステップS602、「No」)、処理をステップS601に戻し、次の画素について処理を行う。
一方、線画画像補正部1710は、階調値Gnと階調値Gsとの差分が、階調値Gnと階調値Gaとの差分より小さいと判定した場合(ステップS602、「Yes」)、処理をステップS603に移行させる。ステップS603で、線画画像補正部1710は、ステップS601で抽出した画素の階調値Gnを、線画色の階調値Gsに置き換える。
次のステップS604で、線画画像補正部1710は、線画部分に隣接する全ての画素について処理が終了したか否かを判定する。線画画像補正部1710は、終了していないと判定した場合(ステップS604、「No」)、処理をステップS601に戻し、次の画素について処理を行う。一方、線画画像補正部1710は、終了したと判定した場合(ステップS604、「Yes」)、この図25のフローチャートによる一連の処理を終了させる。
線画画像補正部1710は、図25のフローチャートによる、伸長入力画像Im0’における線画部分の補正が終了すると、補正された線画部分の画像(補正線画画像と呼ぶ)を、重畳部1711の他方の入力端に入力する。重畳部1711は、他方の入力端に入力された補正線画画像に対応する、一方の入力端に入力された補正伸長入力画像Im0”の領域を、当該補正線画画像に置き換える。これにより、補正伸長入力画像Im0”に含まれる線画画像が、補正線画画像により補正される。重畳部1711は、この、線画画像が補正された補正伸長入力画像Im0”を出力する。
重畳部1711の出力は、レイヤ生成部1600に入力される。レイヤ生成部1600は、重畳部1711から入力された、線画画像が補正された補正伸長入力画像Im0”に基づき、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する。第1画像レイヤLy1は、線画画像が補正された補正伸長入力画像Im0”に基づき生成されるため、第1画像レイヤ用圧縮処理部1601により2値化処理された場合に線画画像が途切れる事態が抑制される。
なお、線画画像を加えると、絵柄画像を線画画像として誤分離する可能性が大きくなるおそれがある。そのため、線画画像の周囲の背景領域だけを補正することで、非可逆圧縮による画質劣化を抑えつつ、絵柄画像が線画画像として誤分離されることが抑制された高圧縮PDFファイルFImを生成することが可能となる。
(第3の実施形態)
次に、第3の実施形態について説明する。第3の実施形態は、入力画像Im0の原稿種を判定し、圧縮処理部16aに入力される補正伸長入力画像Im0”に対して、上述の第1の実施形態に係る補正処理に加えて、判定された原稿種に応じた補正処理を施す。
なお、原稿種は、入力画像Im0の地の色、文字(線画)色、絵柄の有無などにより入力画像Im0を分類したものである。入力画像Im0は、大まかには、例えば、(1)文字のみ原稿、(2)白抜き文字有りの新聞原稿、(3)白抜き無しの新聞原稿、(4)薄い原稿、(5)その他の原稿、の5種類の原稿種に分類される。(4)薄い原稿は、さらに、6種類に分類される。
図26は、第3の実施形態に係る原稿種の検出を行う検出部10bの機能を説明するための一例の機能ブロック図である。なお、図26において、上述した図4と共通する部分には同一の符号を付して、詳細な説明を省略する。
図26において、検出部10bは、図4の検出部10の構成に対して原稿種判定部18が追加されている。検出部10bは、図11の検出部10と対応するもので、入力画像Im0が第1圧縮部20で非可逆圧縮され、記憶部22を介して第1伸長部23により伸長された伸長入力画像Im0’が入力される。
原稿種判定部18は、伸長入力画像Im0’に基づきエッジ強調部12から出力されたエッジ強調画像が入力される。原稿種判定部18は、入力されたエッジ強調画像に基づき原稿種を判定し、判定した原稿種を示す原稿種情報を出力する(判定部)。また、原稿種判定部18は、入力されたエッジ強調画像を線画候補検出部13に渡す。
図27は、第3の実施形態に係る画像処理装置の機能的な構成の例を示す。なお、図27において、上述した図11と共通する部分には同一の符号を付して、詳細な説明を省略する。図27に示される構成は、図11に示される検出部10が上述の検出部10bに変更され、圧縮処理部16aが圧縮処理部16cに変更されている。圧縮処理部16cの詳細については、後述する。検出部10bにおいて、原稿種判定部18から出力された原稿種情報は、圧縮処理部16cに入力される。
図28は、第3の実施形態に係る圧縮処理部16cの機能を説明するための一例の機能ブロック図である。なお、図28において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。図28において、圧縮処理部16cは、図12に示す圧縮処理部16aに対してγ(ガンマ)補正部1800が追加されている。
γ補正部1800は、検出部10bから出力された原稿種情報が入力される。γ補正部1800は、また、入力画像補正部1610aから出力された補正伸長入力画像Im0”が入力され、入力された補正伸長入力画像Im0”に対して、原稿種情報に応じたγ補正処理を施して出力する。レイヤ生成部1600は、γ補正部1800でγ補正処理が施された補正伸長入力画像Im0”に基づき、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する。
図29は、第3の実施形態に係る、原稿種判定部18による原稿種判定処理を示す一例のフローチャートである。ステップS700で、原稿種判定部18は、入力画像Im0における、原稿種判定処理の対象となる判定領域の特定を行う。より詳細には、原稿種判定部18は、後段のステップS701においてヒストグラムを作成する際に用いる、入力画像Im0上の判定領域を特定する。
なお、原稿種判定部18は、入力画像Im0が非可逆圧縮、伸長された伸長入力画像Im0’に基づくエッジ強調画像が入力されるため、実際には、エッジ強調画像に対して判定領域の特定が行われる。
ここで、入力画像Im0上において、下記の2つの領域を考慮して、ヒストグラムの作成の対象となる判定領域を特定する。第1の領域は、入力画像Im0に対して設定される矩形領域である。例えば、図30に例示されるように、入力画像Im0上の上下左右の端部から、上下幅および左右幅に対して10%ずつの領域を除外した矩形領域1811を、判定領域の候補とする。第2の領域は、エッジ強調画像において強調されるエッジ領域である。このエッジ領域は、判定領域から除外する。
第1の領域は、例えば入力画像Im0がスキャナユニット1131(図1参照)により原稿を読み取った原稿画像の場合、原稿の影などの入り込みを排除するために設定される。第2の領域は、線画部分と背景部分との中間の画素の入り込みを排除するために設定される。原稿の影や、線画部分と背景部分との中間の画素は、絵柄で無いにも関わらず絵柄と誤判定される要因となり得るので、予め判定領域から排除するようにしている。
次のステップS701で、原稿種判定部18は、ステップS700で特定された判定領域の画素の階調値に基づきヒストグラムを作成する。原稿種判定部18は、例えば、判定領域内の注目画素を既知の手法にてグレースケールの画素に変換し、当該グレースケールの画素の階調値を複数の閾値で量子化して頻度を求め、ヒストグラムを作成する。
図31は、第3の実施形態に適用可能な、ステップS701で作成されたヒストグラムの例を示す。図31において、横軸は正規化された階調値を示し、右方向に階調値が増加する。縦軸は、階調値を所定間隔で分割した各階調領域における頻度を示している。特性線1820は、各階調領域の頻度を結んだものである。
原稿種判定部18は、実験などにより決定される4つの階調値a〜d(0<a<b<c<d<1)を閾値として用いて、階調値を分類値A〜Eに5値化して分類する。階調値をXとして、図31の例では、下記のように分類することが考えられる。
0≦X<a:分類値A
0≦X<b:分類値B
b≦X<c:分類値C
c≦X<d:分類値D
d≦X≦1:分類値E
これらのうち、分類値Aに分類される階調を、真の黒色と呼ぶ。以下、分類値B〜Eに分類される各階調が示す色を、それぞれ黒色、中間色、新聞地色(灰色)、白色と呼ぶ。
ここで、上述の分類値A〜Eによる分類、すなわち、真の黒色、黒色、中間色、新聞地色および白色の分類を行うための閾値として用いる各階調値a〜dを決める方法の例について説明する。
先ず、分類値Aすなわち真の黒色を規定するための閾値である階調値aは、一般的な新聞紙における文字色の階調値よりも低い値とする。
次に、分類値Bと分類値Cとの境界、すなわち黒色と中間色との境界を規定するための閾値である階調値bは、一般的な新聞紙における文字色の階調値が黒色(分類値B)に分類される値とする。階調値bは、原稿種が新聞原稿であるか否かの判定に影響を与える。
さらに、階調値bは、一般的な文字のみ原稿の文字色(特に黒色の文字)が黒色(分類値B)に分類される値とする。したがって、階調値bは、原稿種が文字のみ原稿であるか否かの判定にも影響を与える。
次に、分類値Cと分類値Dとの境界、すなわち中間色と新聞地色との境界を規定するための閾値である階調値cは、薄い色の原稿(入力画像Im0)における黒色の文字の階調値が中間色(分類値C)に分類される値とする。階調値cは、原稿種が薄い色の原稿(薄い原稿)であるか否かの判定に影響を与える。
次に、分類値Dと分類値Eとの境界、すなわち新聞地色と白色との境界を規定するための閾値である階調値dは、一般的な新聞紙における地の色の階調値が新聞地色(分類値D)に分類される値とする。階調値dは、原稿種が新聞原稿であるか否かの判定に影響を与える。
さらに、階調値dは、白地が白色(分類値E)に分類される値とする。したがって、階調値dは、原稿種が白地であるか否かの判定にも影響を与える。さらにまた、階調値dは、白抜き文字が白色(分類値E)に分類される値とする。したがって、階調値dは、さらに、原稿種が白抜き文字であるか否かの判定にも影響を与える。
原稿種判定部18は、作成したヒストグラムからピーク値を決定し、分類値A〜Eから、ピーク値が属する分類値を求める。なお、1つのヒストグラムから複数のピーク値が検出されることも考えられる。この場合には、検出されたそれぞれのピーク値について、属する分類値を求める。
説明は図29に戻り、ステップS702で、原稿種判定部18は、ヒストグラムに基づき白抜き文字の有無の判定を行う。例えば、原稿種判定部18は、ヒストグラムにおいて階調値が低い領域(分類値Bなど)に頻度が集中する中で、高い階調値に領域(分類値D、E)に狭いピークがある場合に、濃い色の入力画像Im0中に白抜き文字が有ると判定できる。
原稿種判定部18は、白抜き文字が有ると判定した場合(ステップS702、「Yes」)、処理をステップS704に移行させる。一方、原稿種判定部18は、白抜き文字が無いと判定した場合(ステップS702、「No」)。処理をステップS703に移行させて白抜き文字または白地が無いことを示す情報を記憶し、処理をステップS704に移行させる。この情報は、新聞原稿、薄い原稿、その他の原稿における白抜き文字検出時に利用できる。
ステップS704で、原稿種判定部18は、ヒストグラムに基づき、入力画像Im0の原稿種が「薄い原稿」であるか否かを判定する。「薄い原稿」は、ヒストグラムにおいて、分類値C、DおよびE、すなわち、中間色、新聞地色および白色の頻度に対して、分類値AおよびB、すなわち、真の黒色および黒色の頻度が低い。原稿種判定部18は、この性質を利用して、例えば各分類値A〜Eに属する階調値の頻度に対して閾値判定を行い、原稿種が「薄い原稿」であるか否かを判定する。
原稿種判定部18は、入力画像Im0の原稿種が「薄い原稿」であると判定した場合(ステップS704、「Yes」)、処理をステップS705に移行させる。ステップS705で、原稿種判定部18は、「薄い原稿」を示す原稿種情報を出力し、図29のフローチャートによる一連の処理を終了させる。一方、原稿種判定部18は、入力画像Im0の原稿種が「薄い原稿」では無いと判定した場合(ステップS704、「No」)、処理をステップS706に移行させる。
ステップS706で、原稿種判定部18は、ヒストグラムに基づき、入力画像Im0の原稿種が「新聞原稿」であるか否かを判定する。「新聞原稿」は、ヒストグラムにおいて、分類値D、すなわち、新聞地色の頻度が高く、分類値AおよびB、すなわち、真の黒色および黒色の頻度が低い。原稿種判定部18は、この性質を利用して、例えば各分類値A〜Eに属する階調値の頻度に対して閾値判定を行い、原稿種が「新聞原稿」であるか否かを判定する。
原稿種判定部18は、入力画像Im0の原稿種が「新聞原稿」であると判定した場合(ステップS706、「Yes」)、処理をステップS707に移行させる。ステップS707で、原稿種判定部18は、「新聞原稿」を示す原稿種情報を出力し、図29のフローチャートによる一連の処理を終了させる。一方、原稿種判定部18は、入力画像Im0の原稿種が「新聞原稿」では無いと判定した場合(ステップS706、「No」)、処理をステップS708に移行させる。
ステップS708で、原稿種判定部18は、ヒストグラムに基づき、入力画像Im0の原稿種が「文字のみ原稿」であるか否かを判定する。「文字のみ原稿」は、ヒストグラムにおいて、分類値A、BおよびE、すなわち、真の黒色および黒色、ならびに、白色の頻度が高く、分類値CおよびD、すなわち、中間色および新聞地色の頻度が低い。原稿種判定部18は、この性質を利用して、例えば各分類値A〜Eに属する階調値の頻度に対して閾値判定を行い、原稿種が「文字のみ原稿」であるか否かを判定する。
原稿種判定部18は、入力画像Im0の原稿種が「文字のみ原稿」であると判定した場合(ステップS708、「Yes」)、処理をステップS709に移行させる。ステップS708で、原稿種判定部18は、「文字のみ原稿」を示す原稿種情報を出力し、図29のフローチャートによる一連の処理を終了させる。一方、原稿種判定部18は、入力画像Im0の原稿種が「文字のみ原稿」では無いと判定した場合(ステップS708、「No」)、処理をステップS710に移行させる。
ステップS710で、原稿種判定部18は、入力画像Im0の原稿種が「その他の原稿」であるとして、「その他の原稿」を示す原稿種情報を出力し、図29のフローチャートによる一連の処理を終了させる。
(第3の実施形態に係るγ補正処理)
第3の実施形態では、上述したように、圧縮処理部16cにおいて、γ補正部1800は、入力画像補正部1610aから入力された入力画像Im0”に対して、原稿種情報が示す原稿種に応じたγ補正処理を施す。
図32は、第3の実施形態に適用可能なγ補正パラメータを規定するγ補正テーブルの例を示す。図32(a)〜図32(d)は、γ補正部1800における階調値の入出力特性を示し、それぞれ縦軸が正規化された出力階調値、横軸が正規化された入力階調値となっている。図32(a)〜図32(d)において、入出力特性を規定する各γ補正テーブル1900a〜1900dの例が示されている。
図32(a)に示すγ補正テーブル1900aは、画像の明るさを全体的に減少させる(暗くする)特性を持つ。図32(b)〜図32(d)に示す各γ補正テーブル1900b〜1900dは、暗い階調(低輝度)の領域でより暗くさせ、明るい階調(高輝度)の領域でより明るくさせる特性を持つ。また、各γ補正テーブル1900b〜1900dは、γ補正テーブル1900b、γ補正テーブル1900c、γ補正テーブル1900dの順に、強調の度合が大きくされている。
原稿種「文字のみ原稿」は、白地上に低階調の文字(線画)のみがあることを想定している。この原稿種「文字のみ原稿」では、文字(線画色)を濃く(暗く)し、文字の背景部分の色(背景色)を薄く(明るく)すると、可読性の向上を図ることができる。そのため、原稿種情報が「文字のみ原稿」を示す場合、例えばγ補正テーブル1900d(図32(d)参照)を適用する。
なお、以下では、画像における文字(線画)部分以外の部分を、文字に対する背景とし、背景の色を背景色と呼ぶ。
原稿種「新聞原稿」は、地が高輝度、文字部分が低輝度であることが予測できる。そのため、原稿種情報が「新聞原稿」を示す場合、背景色を薄く(明るく)し、文字(線画色)を濃く(暗く)すると、可読性の向上を図ることができる。ただし、原稿種「新聞原稿」においては、上述した原稿種「文字のみ原稿」に対して入力階調値に対する出力階調値の変化が小さいγ補正テーブルを用いると好ましい。例えば、原稿種「新聞原稿」に対して、γ補正テーブル1900c(図32(c)参照)を適用することが考えられる。
原稿種「薄い原稿」は、背景色および線画色の両方を濃く(暗く)すると、見栄えを向上させることができる。そのため、原稿種情報が「薄い原稿」を示す場合、画像を全体的に暗く(濃く)するγ補正テーブル1900a(図32(a)参照)を使うようにする。このとき、原稿種「その他の原稿」よりも濃く(暗く)するγ補正テーブルを選択すると好ましい。
原稿種「その他の原稿」は、低輝度の部分をより暗く、高輝度の部分をより明るくすると、見栄えを向上させることができる。また、原稿種「その他の原稿」では、階調性が損なわれるのを防ぐため、強調の度合の小さいγ補正テーブルを選択すると好ましい。例えば、原稿種情報が「その他の原稿」を示す場合、γ補正テーブル1900b(図32(b)参照)を適用することが考えられる。
原稿種判定部18は、原稿種「薄い原稿」を、さらに複数の種類に分類することができる。図33は、第3の実施形態に係る原稿種判定部18により判定される、原稿種「薄い原稿」の分類の例を示す。
図33(a)に示す画像1910aは、原稿種「薄い原稿」のうち、色地(中間色または新聞地色)が画像の大部分を占め、白抜き文字が無い(白色が閾値以下)例であり、これを原稿種「薄い原稿a」に分類する。図33(a)の例では、画像1910aは、薄い青地上に、灰色の文字が配されている。
図33(b)に示す画像1910bは、原稿種「薄い原稿」のうち、色地(中間色または新聞地色)が画像の大部分を占め、白抜き文字が有る(白色が閾値以上)例であり、これを原稿種「薄い原稿b」に分類する。図33(b)の例では、画像1910bは、青地に白抜き文字が配されている。画像1910bの青地は、例えば上述した画像1910aの薄い青地よりは、濃い青の地であるものとする。
図33(c)に示す画像1910cは、原稿種「薄い原稿」のうち、地が色地(中間色または新聞地色)および白地(白色)の何れであるかの判定が困難である、または、多値画像である絵柄を含み、色数が多い例であり、これを原稿種「薄い原稿c」に分類する。
図33(d)に示す画像1910dは、白地(白色)が画像の大部分を占め、且つ、線画色(文字色)に用いられる色数が2色(例えば灰色と、黒色を除くその他の色)である例であり、これを原稿種「薄い原稿d」に分類する。
図33(e)に示す画像1910eは、白地(白色)が画像の大部分を占め、且つ、線画色(文字色)として用いられる色数が、黒色を除く1色(例えば灰色)である例であり、これを原稿種「薄い原稿e」に分類する。
図33(f)に示す画像1910fは、白地(白色)のみの画像、または、白地に僅かに文字、線画が有る、画像のほぼ全体が白地である例であり、これを原稿種「薄い原稿f」に分類する。
原稿種判定部18は、上述した図29のステップS704において、入力画像Im0の原稿種が「薄い原稿」であると判定した場合(ステップS704、「Yes」)、ステップS701で作成したヒストグラムをより詳細に解析して原稿種を判定し、これら各原稿種「薄い原稿a」〜「薄い原稿f」の分類を行う。そして、ステップS705で、各原稿種「薄い原稿a」〜「薄い原稿f」のうち分類結果の原稿種を示す原稿種情報を出力し、図29のフローチャートによる一連の処理を終了させる。
図34は、第3の実施形態に適用可能な、上述した、原稿種「薄い原稿」の分類結果に応じてγ補正パラメータを規定するγ補正テーブルの例を示す。図34(a)〜図34(d)は、γ補正部1800における階調値の入出力特性を示し、それぞれ縦軸が正規化された出力階調値、横軸が正規化された入力階調値となっている。図34(a)〜図34(d)において、入出力特性を規定する各γ補正テーブル1920a〜1920dの例が示されている。
図34(a)〜図34(c)に示すγ補正テーブル1920a〜1920cは、画像の明るさを全体的に減少させる(暗くする)特性を持つ。各γ補正テーブル1920a〜1920cは、γ補正テーブル1920a、γ補正テーブル1920b、γ補正テーブル1920cの順に、画像を暗くさせる度合が大きくされている。また、図34(d)に示すγ補正テーブル1920dは、階調の分類を粗くしてデータ量の削減を図った例である。
原稿種「薄い原稿a」および「薄い原稿b」は、画像に白色が少ない。そのため、画像をより暗くするγ補正テーブルを用いると、画像中の白色より濃い(低輝度の)部分がより強調される。
この場合、当該γ補正テーブルを用いて補正された画像に基づきレイヤ生成部1600で生成した、例えば第3画像レイヤLy3に含まれるベタ地以外の部分が増大し、第3画像レイヤ用圧縮処理部1603により圧縮された第3画像レイヤLy3のデータサイズが大きくなってしまうおそれがある。同様に、当該補正された画像に基づきレイヤ生成部1600で生成した、第1画像レイヤLy1に含まれる圧縮対象の部分が増大し、第1画像レイヤ用圧縮処理部1601により圧縮された第1画像レイヤLy1のデータサイズも大きくなってしまうおそれがある。
そのため、これら原稿種「薄い原稿a」および「薄い原稿b」は、例えば図34(a)に示すγ補正テーブル1920aを用いて補正を行う。
原稿種「薄い原稿c」は、白色の領域が、上述した原稿種「薄い原稿a」および「薄い原稿b」と比較して、非常に多い。そのため、画像をより暗くするγ補正テーブルを用いても、レイヤ生成部1600で各画像レイヤを生成した後の各圧縮処理後のデータサイズは、原稿種「薄い原稿a」および「薄い原稿b」の場合と比較して大きくならないことが予測される。したがって、原稿種「薄い原稿c」は、例えば図34(b)に示すγ補正テーブル1920bを用いて補正を行う。
これに限らず、原稿種「薄い原稿a」、「薄い原稿b」および「薄い原稿c」の場合、画像に含まれる白色の領域の画素数に応じてγ補正テーブルを計算し、圧縮後のデータサイズを抑制することも考えられる。
原稿種「薄い原稿d」は、白地であり、線画部分(文字部分)の分離が容易である。そのため、画像をさらに暗くするγ補正テーブルを用いて補正を行っても、レイヤ生成部1600で各画像レイヤを生成した後の各圧縮処理後のデータサイズは、それほど大きくならないことが予測される。したがって、原稿種「薄い原稿d」は、例えば図34(c)に示すγ補正テーブル1920cを用いて補正を行う。
原稿種「薄い原稿e」は、原稿種「薄い原稿d」と同様に白地であり、また、線画色(文字色)が1色であるため、原稿種「薄い原稿d」と比較してさらに線画部分(文字部分)の分離が容易である。そのため、画像を原稿種「薄い原稿d」の場合よりもさらに暗くするγ補正テーブルを用いて補正を行っても、レイヤ生成部1600で各画像レイヤを生成した後の各圧縮処理後のデータサイズは、それほど大きくならないことが予測される。したがって、原稿種「薄い原稿d」は、例えば図34(c)に示すγ補正テーブル1920cよりもさらに画像を暗くするγ補正テーブルを用いて補正を行うことができる。
原稿種「薄い原稿f」は、画像全体が白地であるため、背景部分すなわち画像全体を白色化することができる。また、図34(d)に示す、階調の分類を粗くして階調性を落としたγ補正テーブル1920dを用いて補正を行ってもよい。γ補正テーブル1920dを用いた場合、レイヤ生成部1600で各画像レイヤを生成した後の各圧縮処理後のデータサイズをより小さくすることができる。
このように、第3の実施形態では、伸長入力画像Im0’に基づき原稿種を判定し、圧縮処理部16cにおいて、γ補正部1800は、伸長入力画像Im0’を入力画像補正部1610aで補正した補正伸長入力画像Im0”を、判定された原稿種に応じて選択されたγ補正テーブルを用いてさらに補正している。そして、レイヤ生成部1600は、γ補正部1800により補正伸長入力画像Im0”がγ補正テーブルを用いて補正された画像に基づき、レイヤ生成部1600で第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成している。
そのため、レイヤ生成部1600における第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3の生成を容易とすることができる。また、生成された第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を、第1画像レイヤ用圧縮処理部1601、第2画像レイヤ用圧縮処理部1602および第3画像レイヤ用圧縮処理部1603で圧縮処理した各データのサイズを削減することが可能である。
(第3の実施形態の変形例)
次に、第3の実施形態の変形例について説明する。上述の第3の実施形態では、原稿種判定部18により出力された原稿種情報に基づき、γ補正部1800が補正伸長入力画像Im0”を補正するために用いるγ補正テーブルを選択している。第3の実施形態の変形例では、この原稿種情報を、算出部14および決定部15の制御にさらに用いる。
図35は、第3の実施形態の変形例に係る、算出部14における処理を示す一例のフローチャートである。ステップS800で、算出部14は、検出部10bの原稿種判定部18から出力された原稿種情報を取得する。次のステップS801で、算出部14は、取得した原稿種情報が原稿種「薄い原稿」を示しているか否かを判定する。算出部14は、原稿種情報が原稿種「薄い原稿」を示していると判定した場合(ステップS801、「Yes」)、処理をステップS810に移行させる。
ステップS810で、算出部14は、図6のフローチャートを用いて説明した算出処理を実行し、算出結果を出力する。算出結果が出力されると、図35のフローチャートによる一連の処理を終了させる。
算出部14は、上述のステップS801で、取得した原稿種情報が原稿種「薄い原稿」を示していないと判定した場合(ステップS801、「No」)、処理をステップS802に移行させる。
ステップS802で、算出部14は、ステップS800で取得した原稿種情報が原稿種「その他の原稿」を示しているか否かを判定する。算出部14は、原稿種情報が原稿種「その他の原稿」を示していると判定した場合(ステップS802、「Yes」)、処理をステップS810に移行させ、図6のフローチャートを用いて説明した算出処理を実行し、算出結果を出力する。算出結果が出力されると、図35のフローチャートによる一連の処理を終了させる。
算出部14は、上述のステップS802で、取得した原稿種情報が原稿種「その他の原稿」を示していないと判定した場合(ステップS802、「No」)、処理をステップS803に移行させる。
ステップS803で、算出部14は、ステップS800で取得した原稿種情報が原稿種「文字のみ原稿」を示しているか否かを判定する。算出部14は、原稿種情報が原稿種「文字のみ原稿」を示していると判定した場合(ステップS803、「Yes」)、処理をステップS811に移行させる。
ステップS811で、算出部14は、原稿種「文字のみ原稿」に対して予め定められた、図6のフローチャートにおいて算出される各算出値に対応する各固定値を、算出結果として出力する。すなわち、原稿種「文字のみ原稿」として判定される入力画像Im0は、含まれる文字画像(線画画像)の色、サイズ、線幅などが予め定められた値であると見做すことができる。算出部14は、それらの値を予め記憶しておき、記憶された各値を、ステップS811にて出力する。
算出部14は、上述のステップS803で、取得した原稿種情報が原稿種「文字のみ原稿」を示していないと判定した場合(ステップS803、「No」)、処理をステップS812に移行させる。この場合、取得した原稿種情報が原稿種「新聞原稿」であることが明らかである。
ステップS812で、算出部14は、原稿種「新聞原稿」に対して予め定められた、図6のフローチャートにおいて算出される各算出値に対応する各固定値を、算出結果として出力する。この場合も、原稿種「新聞原稿」として判定される入力画像Im0は、含まれる文字画像(線画画像)の色、サイズ、線幅などが予め定められた値であると見做すことができる。算出部14は、それらの値を予め記憶しておき、記憶された各値を、ステップS812にて出力する。
算出部14は、ステップS810、ステップS811またはステップS812の処理が終了すると、図35のフローチャートによる一連の処理を終了させる。
図36は、第3の実施形態の変形例に係る、決定部15における処理を示す一例のフローチャートである。ステップS900で、決定部15は、検出部10bの原稿種判定部18から出力された原稿種情報を取得する。次のステップS901で、決定部15は、取得した原稿種情報が原稿種「薄い原稿」を示しているか否かを判定する。決定部15は、原稿種情報が原稿種「薄い原稿」を示していると判定した場合(ステップS901、「Yes」)、処理をステップS910に移行させる。
ステップS910で、決定部15は、図7のフローチャートを用いて説明した処理を実行し、線画色を決定する。決定部15は、線画色を決定すると、図36のフローチャートによる一連の処理を終了させる。
決定部15は、上述のステップS901で、取得した原稿種情報が原稿種「薄い原稿」を示していないと判定した場合(ステップS901、「No」)、処理をステップS902に移行させる。
ステップS902で、決定部15は、ステップS900で取得した原稿種情報が原稿種「その他の原稿」を示しているか否かを判定する。決定部15は、原稿種情報が原稿種「その他の原稿」を示していると判定した場合(ステップS902、「Yes」)、処理をステップS910に移行させ、図7のフローチャートを用いて説明した処理を実行し、線画色を決定する。決定部15は、線画色を決定すると、図36のフローチャートによる一連の処理を終了させる。
決定部15は、上述のステップS902で、取得した原稿種情報が原稿種「その他の原稿」を示していないと判定した場合(ステップS902、「No」)、処理をステップS903に移行させる。
ステップS903で、決定部15は、ステップS900で取得した原稿種情報が原稿種「文字のみ原稿」を示しているか否かを判定する。決定部15は、原稿種情報が原稿種「文字のみ原稿」を示していると判定した場合(ステップS903、「Yes」)、処理をステップS911に移行させる。
ステップS911で、決定部15は、線画色を、原稿種「文字のみ原稿」に対して予め用意された線画色に決定する。すなわち、原稿種「文字のみ原稿」として判定される入力画像Im0は、含まれる文字画像(線画画像)の色が予め定められていると見做すことができる。決定部15は、この色を示す情報を予め記憶しておき、記憶された色を、原稿種「文字のみ原稿」に対する線画色に決定する。
決定部15は、上述のステップS903で、取得した原稿種情報が原稿種「文字のみ原稿」を示していないと判定した場合(ステップS903、「No」)、処理をステップS912に移行させる。この場合、取得した原稿種情報が原稿種「新聞原稿」であることが明らかである。
ステップS912で、決定部15は、線画色を、原稿種「新聞原稿」に対して予め用意された線画色に決定する。この場合も、原稿種「新聞原稿」として判定される入力画像Im0は、含まれる文字画像(線画画像)の色が予め定められた色であると見做すことができる。決定部15は、この色を示す情報を予め記憶しておき、記憶された色を、原稿種「新聞原稿」に対する線画色に決定する。
決定部15は、ステップS910、ステップS911またはステップS912の処理が終了すると、図36のフローチャートによる一連の処理を終了させる。
このように、原稿種に応じて一部の処理を省略可能とすることで、処理を高速化することが可能である。
(第4の実施形態)
次に、第4の実施形態について説明する。上述した第1の実施形態では、入力画像Im0を非可逆圧縮し、また、入力画像Im0から抽出した線画画像Im2を可逆圧縮し、これらを記憶部22を介してそれぞれ伸長した伸長入力画像Im0’と、伸長線画画像Im2’とを用いて、伸長入力画像Im0’を補正していた。
これに対して、第4の実施形態では、入力画像Im0から線画画像Im2の抽出を行わず、入力画像Im0を非可逆圧縮し記憶部22を介して伸長した伸長入力画像Im0’のみを用いて、伸長入力画像Im0’の補正を行う。
図37および図38は、第4の実施形態に係る高圧縮PDFの処理手順を説明するための模式図である。図37において、入力画像Im0に対して非可逆圧縮を施し、圧縮された入力画像Im0を一時蓄積ファイルTImに格納する。
一時蓄積ファイルTImに格納された、圧縮された入力画像Im0を伸長し、伸長入力画像Im0’を生成する。入力画像Im0は、非可逆圧縮されているため、伸長入力画像Im0’は、元の入力画像Im0に対する非可逆圧縮および伸長に起因する変化(例えばモスキートノイズ)を含む入力画像’となる。
第4の実施形態では、図38に例示されるように、伸長入力画像Im0’に基づき第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する。このとき、伸長入力画像Im0’における、入力画像Im0に含まれる線画画像Im1に対応する領域を、伸長入力画像Im0’に基づき特定し、当該領域の周囲を補正する。
すなわち、例えば入力画像Im0がスキャナユニット1131により原稿を読み取った原稿画像であって、当該スキャナユニット1131のMTF特性が良好ではない画像を考える。このような画像に対して、図11を用いて説明した、検出部10aの構成により線画画像を高速且つ高精度に抽出することは、困難である。そのため、当該画像に対して、例えば図11に検出部10、算出部14および決定部15として示した構成により、当該画像の広い範囲を対象として線画画像の検出を行う必要がある。しかしながら、この構成を採った場合、検出処理に多くの時間を要してしまうおそれがある。
そのため、第4の実施形態では、入力画像Im0を非可逆圧縮し、伸長した伸長入力画像Im0’に基づき線画画像を検出するようにし、非可逆圧縮した入力画像Im0を一時蓄積ファイルTImに格納して、次の処理に移る。一時蓄積ファイルTImに格納された、非可逆圧縮した入力画像Im0を伸長して伸長入力画像Im0’を生成した以降の処理は、上述した第1の実施形態に係る処理と略同一である。
一方、第4の実施形態では、線画画像を抽出する処理が、非可逆圧縮した入力画像Im0を一時蓄積ファイルTImに格納した後の処理となる。そのため、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3は、伸長入力画像Im0’から生成することになる。
図39は、第4の実施形態に係る画像処理装置の機能的な構成の例を示す。なお、図39において、上述した図11と共通する部分には同一の符号を付して、詳細な説明を省略する。図39に示される構成は、図11を用いて説明した構成から、検出部10a、第2圧縮部21および第2伸長部24が省略されている。また、図39における圧縮処理部16dは、線画画像Im1’と、第1伸長部23から出力される伸長入力画像Im0’が入力される。圧縮処理部16dは、図11における圧縮処理部16aに対して追加される機能(詳細は後述する)を持つ。
入力画像Im0は、第1圧縮部20に入力される。ここでは、入力画像Im0’は、スキャナユニット1131で原稿が読み取られた原稿画像であるものとする。第1圧縮部20は、入力画像Im0に対して、例えばJPEG方式により非可逆圧縮処理を施す。第1圧縮部20で圧縮された入力画像Im0は、記憶部22に入力される。なお、第1圧縮部20に適用可能な圧縮方式は、JPEG方式に限定されない。
第1圧縮部20で圧縮された入力画像Im0は、記憶部22に入力される。記憶部22は、入力された、圧縮された入力画像Im0を一時蓄積ファイルTImに格納し、記憶媒体(例えばストレージ1120)に記憶する。
記憶部22から一時蓄積ファイルTImが読み出され、一時蓄積ファイルTImに格納される、圧縮された入力画像Im0が第1伸長部23に入力される。第1伸長部23は、入力された、圧縮された入力画像Im0を第1圧縮部20の圧縮方式に対応する伸長方式により伸長し、伸長入力画像Im0’として出力する。伸長入力画像Im0’は、上述したように、元の入力画像Im0に対する非可逆圧縮および伸長に起因する変化を含む入力画像’である。
第1伸長部23から出力された伸長入力画像Im0’は、検出部10、算出部14および圧縮処理部16dに入力される。伸長入力画像Im0’は、検出部10、算出部14および決定部15により、上述した図5、図6および図7のフローチャートを用いて説明した処理を施され、入力画像Im0に含まれる線画画像に対応する線画画像Im1’が抽出される。線画画像Im1’は、圧縮処理部16dに入力される。
図40は、第4の実施形態に係る圧縮処理部16dの機能を説明するための一例の機能ブロック図である。なお、図40において、上述した図12と共通する部分には同一の符号を付して、詳細な説明を省略する。図40に示す圧縮処理部16dは、図12の入力画像補正部1610aに対応する入力画像補正部1610bを含む。
入力画像補正部1610bは、線画画像Im1’と、伸長入力画像Im0’とが入力される。また、入力画像補正部1610bは、さらに、判定領域設定情報が入力される。判定領域設定情報は、図14を用いて説明したベタ地判定領域1635の設定を行うための情報である。判定領域設定情報については、後述する。
入力画像補正部1610bは、線画画像Im1’を図12における伸長線画画像Im2’の代わりに用いて、伸長入力画像Im0’における、入力画像Im0が含む線画画像に対応する領域を特定する(第2の検出部)。入力画像補正部1610bは、特定された領域の周囲を、判定領域設定情報に応じて設定されたベタ部判定領域1635に従いベタ化して補正する。この補正処理は、第1の実施形態において、図13〜図21を用いて説明した処理と同様の処理を適用可能である。
圧縮処理部16dにおいて、レイヤ生成部1600は、入力画像補正部1610bにより補正された補正伸長入力画像Im0”に基づき、第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を生成する。圧縮処理部16dは、これら第1画像レイヤLy1、第2画像レイヤLy2および第3画像レイヤLy3を、第1画像レイヤ用圧縮処理部1601、第2画像レイヤ用圧縮処理部1602および第3画像レイヤ用圧縮処理部1603によりそれぞれ圧縮処理し、圧縮第1画像レイヤLy1’、圧縮第2画像レイヤLy2’および圧縮第3画像レイヤLy3’として出力する。
図41〜図43を用いて、第4の実施形態に係る、判定領域設定情報に基づくベタ地判定領域1635の設定について説明する。図41は、スキャナユニット1131で読み取りを行う対象の原稿画像の例を示す。図41(a)に例示される原稿画像2000は、白地の背景に対して、黒色の文字画像(線画画像)2010と、多値画像である絵柄2011とが配置されている。図41(b)は、図41(a)中に点線で囲った領域2012を拡大して示す。図41(b)において、領域2012に文字画像2010の部分2010aが含まれている。部分2010aは、エッジ部に鈍りが殆ど無く、原稿画像2000においては、文字画像2010は、エッジ部などが明瞭であることが分かる。
図42は、図41(a)の原稿画像2000を例えばスキャナユニット1131により読み取った読取画像の例を示す。図42(a)に示される読取画像2000’において、絵柄2011’および文字画像2010’は、図41(a)の絵柄2011および文字画像2010に対してエッジ部などが鈍っているのが分かる。図42(b)は、上述した図41(b)と対応する図であって、図42(a)において点線で囲った領域2012’を拡大して示す。図42(b)に示される部分2010a’は、図41(b)に示した部分2010aのエッジ部が鈍って文字領域が膨張し、文字領域が背景領域にはみ出していることが分かる。
図43は、鈍りによる文字領域の膨張を模式的に示す。図43(a)は、図42(b)に対応するもので、領域2012’において、文字領域2013が、鈍りにより領域2014a(斜線を付して示す)で示す分だけ膨張し、背景領域にはみ出していることを示している。なお、文字領域2013は、図41(b)の部分2010aに対応し、原稿画像2000における文字画像2010の領域となる。この文字領域2013の、鈍りによる膨張は、原稿画像2000の読み取りを行った例えばスキャナユニット1131のMTF特性に起因する。
さらに、例えば低コスト化もしくは貴金属など光沢のある被写体の撮像のために、光源の光量を落として撮像した撮像画像に対してγ補正を施した画像などでは、MTF特性が悪化する可能性が高い。MTF特性が悪い画像では、図43(b)に領域2014b(斜線を付して示す)として示されるように、鈍りによる膨張が、図43(a)の領域2014aに対してさらに広がり、文字領域の背景領域に対するはみ出しの量が増大してしまうことになる。
このように、元の文字画像2010がMTF特性が悪いことにより鈍った文字画像2010’を含む画像2000’を入力画像Im0として用い、この入力画像Im0を第1圧縮部20により非可逆圧縮し、記憶部22を介して伸長した伸長入力画像Im0’は、鈍りにより膨張する範囲がさらに広くなる可能性がある。
そこで、第4の実施形態に係る入力画像補正部1610dでは、判定領域設定情報により、ベタ部判定領域1635(図14参照)の位置および大きさや、ベタ部判定領域1635における判定条件を設定可能としている。例えば、MTF特性が悪いことが想定される場合に、ベタ部判定領域1635に対するオフセット1633を、通常の場合に対して1画素乃至数画素分大きくする。これに限らず、ベタ部判定領域1635における判定の際の閾値を、通常の場合に対して緩い条件としてもよい。例えば、MTF特性が悪いことが想定される場合、ベタ部判定領域1635における判定の際のRGB各値に対する閾値を、10階調程度大きくすることが考えられる。
判定領域設定情報は、例えば図1に示す構成においてOP102に対するユーザ操作に応じて入力される。これに限らず、判定領域設定情報は、ROM1101やストレージ1120に予め記憶され、入力画像補正部1610bがこれらROM1101やストレージ1120から読み込むようにしてもよい。また、入力画像補正部1610bが有するレジスタなどに予め記憶しておいてもよい。
第4の実施形態では、ベタ部判定領域1635の位置および大きさ、判定条件などを設定可能としている。判定条件を入力画像Im0のMTF特性に応じて設定することで、入力画像Im0のMTF特性が悪い場合でも、当該入力画像Im0が非可逆圧縮、伸長された伸長入力画像Im0’における、当該入力画像Im0に含まれる線画画像に対応する領域の周囲を適切にベタ化することが可能である。
したがって、元の入力画像Im0のMTF特性が悪い場合あっても、高圧縮PDFファイルFImによる画像の高画質化が可能となる。また、ベタ地の画像は、例えばJPEG方式における圧縮効率が良いため、高圧縮PDFファイルFImのファイルサイズの抑制も可能となる。
なお、第4の実施形態に係る、入力画像補正部1610bによる補正処理は、第1の実施形態にも適用可能である。すなわち、第1の実施形態においても、ベタ部判定領域1635に対するオフセット1633の量をMTF特性から決定することができる。
入力画像Im0がスキャナユニット1131により原稿が読み取られた読取画像である場合、入力画像Im0に含まれる線画画像は、スキャナユニット1131のMTF特性に応じて膨張し、背景領域にはみ出す。したがって、入力画像Im0から検出部10aにより検出した線画画像Im2も、入力画像Im0上の本来の線画画像と比べて、入力画像Im0における背景領域にはみ出していることになる。
一方、MTF特性に応じたはみ出しは、モスキートノイズ1632のように、本来の線画画像の位置から離れた画素に影響を与えることが無い。したがって、オフセット1633の量は、図37〜図39を用いて説明した、入力画像Im0を非可逆圧縮し伸長した伸長入力画像Im0’から検出した線画画像Im1’に基づき補正を行う場合よりも、小さい値とすることが考えられる。
(他の実施形態)
上述では、第2の実施形態、第3の実施形態および第4の実施形態が、それぞれ独立して実施されるように説明したが、これはこの例に限定されず、第2の実施形態、第3の実施形態および第4の実施形態は、2以上の実施形態を組み合わせて実施することも可能である。
また、第1の実施形態〜第4の実施形態のうち1または複数に係る画像処理装置の動作モードに、絵柄を重視する第1の動作モードや、文字(線画)を重視する第2の動作モードを含むことができる。
第1の動作モードでは、必ず文字(線画)と判定できる領域以外は、文字(線画)と判定しない場合がある。その場合であっても、入力画像Im0を第1圧縮部20で非可逆圧縮する際に画質の劣化が発生するため、背景領域の補正は必要である。この第1の動作モードは、第1の実施形態〜第4の実施形態の何れによっても実施可能である。
第2の動作モードでは、文字の可読性(あるいは線画の認識性)を保ったまま、高圧縮PDFファイルFImのファイルサイズを小さくすることを目的とする。したがって、第2の動作モードは、絵柄を文字として誤分離するよりも、文字の可読性が高くなることを優先する。この第2の動作モードは、例えば第3の実施形態により実施すると好ましい。
さらに、上述では、第1の実施形態〜第4の実施形態が図1に示した画像形成装置100に適用されるように説明したが、これはこの例に限定されない。例えば、第1の実施形態〜第4の実施形態を、CPU、ROM、RAM、ストレージ、通信I/Fなどを備え、入力および出力デバイスを接続可能な、一般的なコンピュータに適用してもよい。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。