(58)【調査した分野】(Int.Cl.,DB名)
前記圧縮画像生成部は、前記属性画像の画像データを参照して、前記単位ブロックに含まれている全ての画素が前記第1部分画像に属するか、前記単位ブロックに含まれている全ての画素が前記第2部分画像に属するか、前記単位ブロックに含まれている画素が前記第1部分画像及び前記第2部分画像の両方に属するか、を判断して、当該判断結果に応じて、前記単位ブロックに含まれている複数の画素の画素値を一つの画素の画素値に変換すること
を特徴とする請求項1に記載の画像処理装置。
前記第1属性値及び前記第2属性値の組み合わせに応じて、対応する画素が前記第1部分画像に属するか、前記第2部分画像に属するかを特定する参照画素判定情報を記憶する記憶部をさらに備え、
前記圧縮画像生成部は、前記参照画素判定情報に基づいて、前記第1属性値及び前記第2属性値の組み合わせから、前記単位ブロックに含まれている全ての画素が前記第1部分画像に属するか、前記単位ブロックに含まれている全ての画素が前記第2部分画像に属するか、前記単位ブロックに含まれている画素が前記第1部分画像及び前記第2部分画像の両方に属するか、を判断すること
を特徴とする請求項3に記載の画像処理装置。
【発明を実施するための形態】
【0010】
実施の形態1.
(構成の説明)
図1は、実施の形態1に係る画像処理装置100の概略構成図である。
画像処理装置100は、画像入力部110と、制御部120とを備える。ここで、画像処理装置100により、実施の形態1に係る画像処理方法が実行される。
なお、
図1の括弧内の符号は、実施の形態2における構成を示している。
【0011】
画像入力部110は、文書等の原稿から元画像の画像データを取得する。例えば、画像入力部110は、原稿から1ラインずつ画像データを取得し、取得された1ラインの画像データ(以下、入力画像データという)を、逐次、制御部120に与える。なお、画像入力部110は、スキャナ等により構成することができる。
【0012】
制御部120は、画像入力部110から与えられる入力画像データから、圧縮画像データを生成する。
【0013】
図2は、実施の形態1における制御部120の構成を概略的に示すブロック図である。
制御部120は、データ入力部121と、属性画像生成部122と、圧縮画像生成部としての前景背景生成部123と、画像処理バッファ124と、フォーマット部125とを備える。
【0014】
データ入力部121は、画像入力部110から送られてくる入力画像データを取得する。取得された入力画像データは、属性画像生成部122及び前景背景生成部123に送られる。
属性画像生成部122は、データ入力部121から与えられる元画像の画像データを解析して、画素毎に、予め定められた第1部分画像に属するか否かを示す第1属性値を有する属性画像の画像データ(属性画像データ)を生成する。ここで、元画像は、第1部分画像(本実施の形態では、文字及び線からなる前景)及び第2部分画像(本実施の形態では、前景を除いた背景)を部分画像として有するものとする。具体的には、属性画像生成部122は、データ入力部121から与えられる入力画像データに基づいて、各画素が、文字領域及び線領域の何れかの領域に含まれる画素であるか否かを示す第1属性値を特定する。そして、属性画像生成部122は、画素毎に第1属性値を示す属性画像データを生成する。なお、入力画像データは、1ライン毎のデータであるため、属性画像生成部122も、属性画像データとして1ライン毎に画像データを生成し、その1ライン毎の画像データ(以下、入力属性画像データという)を、前景背景生成部123及びフォーマット部125に与える。
【0015】
前景背景生成部123は、元画像の画像データを複数の画素からなる複数の単位ブロックに分ける。単位ブロックは、解像度の変換単位となる複数の画素である。そして、前景背景生成部123は、属性画像データを参照して、単位ブロックに含まれている複数の画素の画素値を一つの画素の画素値に変換することで、第1部分画像の圧縮画像を含む第1圧縮画像の画像データ、及び、元画像から第1部分画像を除いた第2部分画像の圧縮画像を含む第2圧縮画像の画像データを生成する。
例えば、前景背景生成部123は、属性画像生成部122から与えられる入力属性画像データに基づいて、第1部分画像としての前景画像に含まれる画素と、第2部分画像としての背景画像に含まれる画素とを特定して、データ入力部121から与えられる入力画像データの解像度変換を前景及び背景について同時に行うことで、前景データ及び背景データを生成する。具体的には、前景背景生成部123は、入力画像データ及び入力属性画像データについて、解像度変換に必要なライン数分のデータを画像処理バッファ124に記憶させ、そのデータを参照して、画像データに関して解像度変換を行って、前景画像データ及び背景画像データを生成する。そして、前景背景生成部123は、生成された前景画像データ及び背景画像データをフォーマット部125に与える。ここで、前景背景生成部123は、属性エッジ判定部123aを備えている。
属性エッジ判定部123aは、属性画像データに基づいて、単位ブロックにエッジが含まれるか否かの判定を行う。具体的には、属性エッジ判定部123aは、属性画像データを参照して、単位ブロックに含まれている全ての画素が前景画像に属するか、単位ブロックに含まれている全ての画素が背景画像に属するか、又は、単位ブロックに含まれている画素が前景画像及び背景画像の両方に属するか、を判断する。前景背景生成部123は、属性エッジ判定部123aでの判定結果に応じて、前景及び背景の解像度変換の方法を切り替える。
【0016】
画像処理バッファ124は、解像度変換に必要な入力画像データ及び入力属性画像データを記憶する一時記憶部である。
フォーマット部125は、属性画像データに基づいて、画素毎に第1属性値を示す画像データを、第1圧縮画像の画像データ及び第2圧縮画像の画像データの何れかから画素値を選択するための選択データとして生成し、この選択データ、第1圧縮画像の画像データ及び第2圧縮画像の画像データを含む多層レイヤデータフォーマットのデータを生成する。
例えば、フォーマット部125は、前景背景生成部123から与えられた前景画像データ及び背景画像データを、それぞれ、MRCを構成する前景画像層の画像データ及び背景画像層の画像データとする。また、フォーマット部125は、属性画像生成部122から与えられる属性画像データを、MRCを構成する前景マスク層の画像データとする。以上により、フォーマット部125は、多層構造の画像フォーマットを有する圧縮画像データを生成する。
【0017】
なお、制御部120は信号処理を行う回路の一部又は組み合わせとして実現されてもよいし、汎用ハードウェアで動作するソフトウェアにより実現されてもよい。
【0018】
(動作の説明)
図3は、属性画像生成部122が、入力画像データに基づいて第1属性値を決定する処理を示すフローチャートである。
ここで、属性画像生成部122は、入力画像データに含まれている1画素毎に、
図3に示されているフローを行う。以下のフローチャートでは、第1属性値を定める対象となっている画素を対象画素という。
なお、第1属性値が「1」の場合は、その画素は文字領域又は線領域であり(前景画像に属し)、「0」の場合は、その画素は非文字領域及び非線領域である(背景画像に属する)とする。
また、原稿画像内の文字領域について、白地に文字が描かれている。つまり、文字領域は、周辺の画素より明度が低いと仮定する。
【0019】
属性画像生成部122は、対象画素の明度が、予め定められた第1閾値Th1よりも大きいか否かを判断する(S10)。対象画素の明度が第1閾値Th1よりも大きい場合(S10でYes)には、処理はステップS11に進む。対象画素の明度が第1閾値Th1以下である場合(S10でNo)には、処理はステップS15に進む。
【0020】
ステップS11では、属性画像生成部122は、対象画素の明度が、対象画素の周辺画素の平均値より決定された第2閾値Th2よりも大きいか否かを判断する。例えば、第2閾値は、対象画素を含むn画素×n画素の領域(nは、2以上の正の整数で、予め定められているものとする)に含まれる画素の明度の平均値であってもよく、また、この平均値に予め定められた係数を乗算又は加算した値であってもよい。
対象画素の明度が第2閾値Th2よりも大きい場合(S11でYes)には、処理はステップS12に進む。対象画素の明度が第2閾値Th2以下である場合(S11でNo)には、処理はステップS15に進む。
【0021】
なお、明度のみの参照では黄色の文字について抽出が困難であるので、属性画像生成部122は、対象画素の画素値に基づいて、YCbCr色空間表現におけるCb成分の値を特定して、文字領域又は線領域であるか否かを判断する。
ステップS12では、属性画像生成部122は、対象画素のCb成分の値が、予め定めら得た第3閾値Th3より小さいか否かを判断する。対象画素のCb成分の値が第3閾値Th3より小さい場合(S12でYes)には、属性画像生成部122は、対象画素が黄色であると判定して、ステップS13に処理を進める。対象画素のCb成分の値が第3閾値Th3以上である場合(S12でNo)には、属性画像生成部122は、対象画素が黄色ではないと判定して、ステップS14に処理を進める。
【0022】
ステップS13では、対象画素のCb成分の値が、第4閾値Th4より小さいか否かを判断する。例えば、第4閾値Th4は、対象画素を含むm画素×m画素の領域(mは、2以上の正の整数で、予め定められているものとする)に含まれる画素のCb成分の値の平均値であってもよく、また、この平均値に予め定められた係数を乗算又は加算した値であってもよい。対象画素のCb成分の値が第4閾値Th4より小さい場合(S13でYes)には、属性画像生成部122は、対象画素が黄色の文字領域又は線領域に含まれると判定して、ステップS15に処理を進める。対象画素のCb成分の値が第4閾値Th4以上である場合(S13でNo)には、属性画像生成部122は、対象画素が黄色の文字領域又は線領域に含まれないと判定して、ステップS14に処理を進める。
【0023】
ステップS14では、属性画像生成部122は、対象画素の第1属性値を「0」とする。
一方、ステップS15では、属性画像生成部122は、対象画素の第1属性値を「1」とする。
【0024】
図4は、前景背景生成部123が、前景画像データ及び背景画像データを生成する際の処理を示すフローチャートである。
実施の形態1では、3画素×3画素の領域を、解像度変換の単位である単位ブロックとする。前景背景生成部123は、この単位ブロックに含まれる画素の画素値から、一つの画素の画素値を算出することで、画像データの解像度を下げる。
【0025】
属性エッジ判定部123aは、属性画像生成部122から与えられる入力属性画像データに基づいて、単位ブロック内において、前景として参照する画素の数N1をカウントするとともに、背景として参照する画素の数N2をカウントする(S20)。ここで、前景として参照する画素は、第1属性値が「1」の画素であり、背景として参照する画素は、第1属性値が「0」の画素である。
前景背景生成部123は、ステップS20の後に、ステップS21及びステップS26の処理に進み、属性エッジ判定部123aでカウントされた数に応じて、単位ブロック内に前景と背景との間のエッジの有無を判定し、解像度変換の処理を切り替える。
【0026】
ステップS21では、属性エッジ判定部123aは、前景として参照する画素としてカウントされた数N1を確認する。この数N1が最大値(ここでは「9」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て前景の画素であると判定し、ステップS22に処理を進める。この数N1が最小値(ここでは「0」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て背景の画素であると判定し、ステップS23に処理を進める。この数N1が最小値よりも大きく、最大値よりも小さい場合には、属性エッジ判定部123aは、単位ブロック内に背景と前景とのエッジが含まれると判定し、ステップS24に処理を進める。
【0027】
ステップS22では、前景背景生成部123は、単位ブロック内の画素の画素値の平均値を解像度変換結果である変換画素値として特定する。
ステップS23では、前景背景生成部123は、前景である文字及び線と区別するために予め定められた第1デフォルト値(ここでは、黒の画素値)を変換画素値として特定する。
ステップS24では、前景背景生成部123は、単位ブロック内の画素のうち、最も輝度が低い画素の画素値を変換画素値として特定する。
そして、前景背景生成部123は、以上のようにして特定された変換画素値を前景画像データの画素値として、フォーマット部125に与える(S25)。
【0028】
ステップS26では、属性エッジ判定部123aは、背景として参照する画素としてカウントされた数N2を確認する。この数N2が最大値(ここでは「9」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て背景の画素であると判定し、ステップS27に処理を進める。この数N2が最小値(ここでは「0」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て前景の画素であると判定し、ステップS28に処理を進める。この数N2が最小値よりも大きく、最大値よりも小さい場合には、属性エッジ判定部123aは、単位ブロック内に背景と前景とのエッジが含まれると判定し、ステップS29に処理を進める。
【0029】
ステップS27では、前景背景生成部123は、単位ブロック内の画素の画素値の平均値を解像度変換結果である変換画素値として特定する。
ステップS28では、前景背景生成部123は、背景と区別するために予め定められた第2デフォルト値(ここでは、白の画素値)を変換画素値として特定する。
ステップS29では、前景背景生成部123は、単位ブロック内の画素のうち、最も輝度が高い画素の画素値を変換画素値として特定する。
そして、前景背景生成部123は、以上のようにして特定された変換画素値を背景画像データの画素値として、フォーマット部125に与える(S30)。
【0030】
(効果の説明)
図5は、MRCのデータ構成の一例を示す模式図である。
MRCを用いた圧縮では圧縮の対象となる1枚の画像140の画像データを、背景画像141の画像データ、前景画像142の画像データ及び前景の描画領域を示すマスク画像143の画像データの3枚の画像の画像データに分割して、PDF等の多層構造の画像表現が可能なフォーマット144にまとめる。
【0031】
マスク画像143は、元の画像140と同様に高解像度で文字の形状等を表す。背景画像141及び前景画像142は、解像度変換により、元の画像140よりも低解像度となっている。伸長処理の結果である画像145は、低解像度の背景画像141の上に、マスク画像143で示される文字の形状等に従って、低解像度の前景画像142が描画されるため、文字の形状等に関しては高解像度となる。
【0032】
伸長処理の結果である画像145では、圧縮前の画像140から細部の文字の色等が変化する可能性があるが、データ量を大きく削減しながら、文字等を識別するために重要な文字の形状等を精度よく復元することができる。
マスク画像143は、二値画像で、例えば、実施の形態1で生成される属性画像と同値のものを用いることができる。
【0033】
図6(A)〜(G)は、従来の方法で、元の画像をMRCに従って圧縮した後に、伸張する例を示す概略図である。
従来の方法では、
図6(A)に示されている元の画像150から、元の画像150において、背景となっている画素の画素値を「0」とし、前景となっている画素の画素値を「1」とするマスク画像151(
図6(B)参照)が生成される。
そして、マスク画像151に基づいて、元の画像150から背景分離画像152(
図6(C)参照)及び前景分離画像153(
図6(D)参照)が分離される。ここで、背景分離画像152及び前景分離画像153は、元の画像150と同じ解像度である。
背景分離画像152は、マスク画像151で値が「0」である画素の画素値を、元の画像150と同じ画素値とする。このとき、マスク画像151で値が「0」である画素の画素値を周囲に伝播して、マスク画像151で値が「1」である画素の画素値として採用したり、白地を想定して白を示す画素値を、マスク画像151で値が「1」である画素の画素値として埋めたり等、後の解像度変換を踏まえて、より良好な結果を得られるように背景分離画像152を加工してもよい。
また、前景分離画像153は、マスク画像151で値が「1」である画素の画素値を、元の画像150と同じ画素値とする。このとき、マスク画像151で値が「1」である画素の画素値を周囲に伝播して、マスク画像151で値が「0」である画素の画素値として採用したり、黒文字を想定して黒を示す画素値を、マスク画像151で値が「0」である画素の画素値として埋めたり等、後の解像度変換を踏まえて、より良好な結果を得られるように前景分離画像153を加工してもよい。
次に、背景分離画像152及び前景分離画像153に解像度変換を施して低解像度化することで、背景画像154(
図6(E)参照)及び前景画像155(
図6(F)参照)が生成される。
そして、マスク画像151で値が「0」となっている画素の画素値を、背景画像154を伸張した画像の同位置の画素の画素値に設定し、マスク画像151で値が「1」となっている画素の画素値を、前景画像155を伸張した画像の同位置の画素の画素値に設定することで、伸張画像156(
図6(G)参照)が生成される。
【0034】
図7(A)〜(E)は、実施の形態1に示された方法で、元の画像をMRCに従って圧縮した後に、伸張する例を示す概略図である。
実施の形態1では、
図7(A)に示されている元の画像160から、元の画像160において、背景となっている画素の画素値を「0」とし、前景となっている画素の画素値を「1」とする属性画像161(
図7(B)参照)が生成される。属性画像161は、
図6(B)に示されているマスク画像151と同様の画像である。
次に、実施の形態1では、属性画像161に基づいて、元の画像160から分離及び解像度変換を同時に行うことにより、背景画像162(
図7(C)参照)及び前景画像163(
図7(D)参照)が生成される。属性画像161における単位ブロックに含まれている画素の画素値に基づいて、単位ブロックに含まれている画素が全て前景か、単位ブロックに含まれている画素が全て背景か、単位ブロックに前景及び背景のエッジが含まれているか、に応じて、元の画像160からの分離及び解像度変換の方法が異なっている。
そして、属性画像161で値が「0」となっている画素の画素値を、背景画像162を伸張した画像の同位置の画素の画素値に設定し、属性画像161で値が「1」となっている画素の画素値を、前景画像163を伸張した画像の同位置の画素の画素値に設定することで、伸張画像164(
図6(E)参照)が生成される。
【0035】
図8(A)〜(D)は、従来の方法において、3画素×3画素の画素値を1画素の画素値に変換する解像度変換に必要なバッファを説明するための概略図である。
なお、ここでは、
図9に示されているように、原稿はラスタスキャンされて、1ライン毎に、入力画像データが前段から入力されるものとする。
図8(A)に示されている前景分離画像153及び
図8(B)に示されている背景分離画像152における3画素×3画素の画素群170、171から1画素の画素値を算出する場合、
図8(C)に示されているように、前景画像及び背景画像それぞれの2ライン分のデータを保持するバッファ172が必要となる。
図8(D)に示されている入力画像データ173のうち、前景の3画素分の画像データ174と、バッファ172に保持されている2ライン前及び1ライン前のデータ175とを組み合わせることによって、3画素×3画素の画素群170の情報を得ることができる。
同様に、
図8(D)に示されている入力画像データ173のうち、背景の3画素分の画像データ176と、バッファ172に保持されている2ライン前及び1ライン前のデータ177とを組み合わせることによって、3画素×3画素の画素群171の情報を得ることができる。
従来の方法では、前景画像及び背景画像のそれぞれ解像度変換前の大きさで2ライン分のデータを保持することができる大きさのバッファが必要である。
【0036】
図10(A)〜(E)は、実施の形態1において、3画素×3画素の画素値を1画素の画素値に変換する解像度変換に必要なバッファを説明するための概略図である。
なお、ここでも、
図9に示されているように、原稿はラスタスキャンされて、1ライン毎に、入力画像データが前景背景生成部123に入力されるものとする。
図10(A)に示されている元画像160及び
図10(B)に示されている属性画像161における3画素×3画素の画素群180、181から1画素の画素値を算出する場合、
図10(C)に示されているように、画像処理バッファ124は、元画像160及び属性画像161それぞれの2ライン分のデータを保持できる容量が必要となる。但し、属性画像161は、1画素が1ビット(bit)のデータであるため、例えば、
図8(B)に示されている背景分離画像152のように、フルカラーの情報を表すのに一般的な、1画素が24ビットのデータを記憶するよりも、画像処理バッファ124の容量は小さくすることができる。
図10(D)に示されている入力画像データ182のうち、3画素分の画像データ183と、画像処理バッファ124に保持されている2ライン前及び1ライン前のデータ184とを組み合わせることによって、3画素×3画素の画素群180の情報を得ることができる。
同様に、
図10(D)に示されている入力属性画像データ185のうち、3画素分の画像データ186と、画像処理バッファ124に保持されている2ライン前及び1ライン前のデータ187とを組み合わせることによって、3画素×3画素の画素群181の情報を得ることができる。
【0037】
以上のように、実施の形態1によれば、従来のように、元の画像から背景分離画像及び前景分離画像を分離した後に、解像度変換を行い、背景画像及び前景画像を生成するよりも、必要なバッファを小さくすることができる。
また、実施の形態1によれば、3画素×3画素の単位ブロックにおける前景及び背景の分布によって、解像度変換処理を切り替えることで、色が不安定になりやすい前景と背景の境界部分でも、前景及び背景に関して適した色が導出される。
【0038】
実施の形態1においては、
図4のフローチャートに示されているように、前景の参照対象画素の数N1と、背景の参照対象画素の数N2とをカウントして(S20)、カウントされた数に応じて、前景及び背景のそれぞれの変換画素値を特定しているが、このような例に限定されるものではない。
例えば、前景背景生成部123は、
図11に示されているフローチャートに従って、前景及び背景のそれぞれの変換画素値を特定してもよい。
【0039】
図11は、前景背景生成部123が、前景画像データ及び背景画像データを生成する際の処理の変形例を示すフローチャートである。
ここでも、前景背景生成部123は、3画素×3画素の領域を、解像度変換の単位である単位ブロックとする。前景背景生成部123は、この単位ブロックに含まれる画素の画素値から、一つの画素の画素値を算出することで、画像データの解像度を下げる。
【0040】
属性エッジ判定部123aは、属性画像生成部122から与えられる入力属性画像データに基づいて、単位ブロック内において、第1属性値が「1」の画素の数Nをカウントする(S40)。
【0041】
次に、属性エッジ判定部123aは、カウントされた数Nを確認する(S41)。この数Nが最大値(ここでは「9」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て前景の画素であると判定し、ステップS42に処理を進める。この数Nが最小値(ここでは「0」)である場合には、属性エッジ判定部123aは、単位ブロック内の画素が全て背景の画素であると判定し、ステップS44に処理を進める。この数Nが最小値よりも大きく、最大値よりも小さい場合には、属性エッジ判定部123aは、単位ブロック内に背景と前景とのエッジが含まれると判定し、ステップS46に処理を進める。
【0042】
ステップS42では、前景背景生成部123は、単位ブロック内の画素の画素値の平均値を解像度変換結果である前景の変換画素値として特定する。
次に、前景背景生成部123は、背景と区別するために予め定められた第2デフォルト値(ここでは、白の画素値)を背景の変換画素値として特定する(S43)。
【0043】
ステップS44では、前景背景生成部123は、前景である文字及び線と区別するために予め定められた第1デフォルト値(ここでは、黒の画素値)を前景の変換画素値として特定する。
次に、前景背景生成部123は、単位ブロック内の画素の画素値の平均値を解像度変換結果である背景の変換画素値として特定する(S45)。
【0044】
ステップS46では、前景背景生成部123は、単位ブロック内の画素のうち、最も輝度が低い画素の画素値を前景の変換画素値として特定する。
次に、前景背景生成部123は、単位ブロック内の画素のうち、最も輝度が高い画素の画素値を背景の変換画素値として特定する(S47)。
【0045】
そして、前景背景生成部123は、以上のようにして特定された前景の変換画素値を前景画像データの画素値として、フォーマット部125に与え、以上のようにして特定された背景の変換画素値を背景画像データの画素値として、フォーマット部125に与える(S48)。
【0046】
図11に記載されたフローにより、前景及び背景のそれぞれの参照対象画素の数をカウントする必要がなくなる。
【0047】
実施の形態2.
図1に示されているように、実施の形態2に係る画像処理装置200は、画像入力部110と、制御部220とを備える。実施の形態2に係る画像処理装置200は、制御部220において、実施の形態1に係る画像処理装置100と異なっている。なお、画像処理装置200により、実施の形態2に係る画像処理方法が実行される。
【0048】
図12は、実施の形態2における制御部220の構成を概略的に示すブロック図である。
実施の形態2における制御部220は、データ入力部121と、属性画像生成部222と、前景背景生成部223と、画像処理バッファ124と、フォーマット部125と、参照画素判定情報記憶部226とを備える。実施の形態2における制御部220は、属性画像生成部222及び前景背景生成部223での処理の点、並びに、参照画素判定情報記憶部226がさらに備えられている点において、実施の形態1における制御部120と異なっている。
【0049】
属性画像生成部222は、データ入力部121から与えられる入力画像データに基づいて、各画素が、文字領域及び線領域の何れかの領域に含まれる画素であるか否かを示す第1属性値、及び、前景画像と背景画像とのエッジ画素か否かを示す第2属性値を特定する。そして、属性画像生成部222は、画素毎に第1属性値及び第2属性値を示す属性画像データを生成する。例えば、実施の形態2における属性画像データは、第1属性値及び第2属性値をそれぞれ1ビットで示すことにより、画素毎に2ビットのデータとなる。なお、入力画像データは、1ライン毎のデータであるため、属性画像生成部222も、属性画像データとして1ライン毎に画像データを生成し、その1ライン毎の画像データ(以下、入力属性画像データという)を、前景背景生成部223及びフォーマット部125に与える。ここで、属性画像生成部222は、エッジ判定部222aを備えている。
エッジ判定部222aは、データ入力部121から与えられる入力画像データに基づいて、各画素が、エッジ画素か否かを判定する。エッジ画素の判定については、公知の技術を利用すればよいため、詳細な説明を省略する。
【0050】
参照画素判定情報記憶部226は、第1属性値及び第2属性値の組み合わせに応じて、対応する画素が前景画像に属するか又は背景画像に属するかを特定する参照画素判定情報を記憶する記憶部である。
図13(A)及び(B)は、参照画素判定情報に含まれている前景参照画素判定テーブル290及び背景参照画素判定テーブル291を示す概略図である。
【0051】
図13(A)に示されているように、前景参照画素判定テーブル290は、第1属性値欄290aと、第2属性値欄290bと、前景参照画素判定値欄290cとを備える。
第1属性値欄290aは、第1属性の値を格納する。
第2属性値欄290bは、第2属性の値を格納する。
前景参照画素判定値欄290cは、入力属性画像データで示されるある画素の画素値が、第1属性値欄290aに格納された値及び第2属性値欄290bに格納された値である場合に、その画素を前景として参照する画素とするか否かを示す情報を格納する。例えば、この欄に格納された情報が「参照する」である場合には、そのような画素を前景として参照する画素(前景画像に属する画素)とし、この欄に格納された「参照しない」である場合には、そのような画素を前景として参照する画素とはしない(背景画像に属する画素とする)。
【0052】
図13(B)に示されているように、背景参照画素判定テーブル291は、第1属性値欄291aと、第2属性値欄291bと、背景参照画素判定値欄291cとを備える。
第1属性値欄291aは、第1属性の値を格納する。
第2属性値欄291bは、第2属性の値を格納する。
背景参照画素判定値欄291cは、入力属性画像データで示されるある画素の画素値が、第1属性値欄291aに格納された値及び第2属性値欄291bに格納された値である場合に、その画素を背景として参照する画素とするか否かを示す情報を格納する。例えば、この欄に格納された情報が「参照する」である場合には、そのような画素を背景として参照する画素(背景画像に属する画素)とし、この欄に格納された「参照しない」である場合には、そのような画素を背景として参照する画素とはしない(前景画像に属する画素とする)。
【0053】
前景背景生成部223は、元画像の画像データを複数の画素からなる複数の単位ブロックに分ける。そして、前景背景生成部223は、属性画像データに含まれている第1属性値及び第2属性値を参照して、単位ブロックに含まれている複数の画素の画素値を一つの画素の画素値に変換することで、第1部分画像の圧縮画像を含む第1圧縮画像の画像データ、及び、元画像から第1部分画像を除いた第2部分画像の圧縮画像を含む第2圧縮画像の画像データを生成する。
例えば、前景背景生成部223は、属性画像生成部222から与えられる入力属性画像データに基づいて、前景となる画素と背景となる画素とを特定して、データ入力部121から与えられる入力画像データの解像度変換を前景及び背景について同時に行うことで、前景データ及び背景データを生成する。具体的には、前景背景生成部223は、入力画像データ及び入力属性画像データについて、解像度変換に必要なライン数分のデータを画像処理バッファ124に記憶させ、そのデータを参照して、元の画像データに関して解像度変換を行って、前景画像データ及び背景画像データを生成する。そして、前景背景生成部223は、生成された前景画像データ及び背景画像データをフォーマット部125に与える。ここで、前景背景生成部223は、属性エッジ判定部223aを備えている。
属性エッジ判定部223aは、属性画像データに基づいて、単位ブロックにエッジが含まれるか否かの判定を行う。例えば、属性エッジ判定部223aは、属性画像生成部222から与えられる属性画像データに含まれている第1属性値及び前記第2属性値に基づいて、単位ブロックに含まれている全ての画素が前景画像に属するか、単位ブロックに含まれている全ての画素が背景画像に属するか、単位ブロックに含まれている画素が前景画像及び背景画像の両方に属するか、を判断する。具体的には、実施の形態2における属性エッジ判定部223aは、参照画素判定情報記憶部226に記憶されている参照画素判定情報に基づいて、前景として参照する画素の数及び背景として参照する画素の数をカウントして、そのカウントされた数に応じて、単位ブロックにエッジが含まれるか否かを判定する。前景背景生成部223は、属性エッジ判定部223aでの判定結果に応じて、前景及び背景の解像度変換の方法を切り替える。
【0054】
なお、制御部220は信号処理を行う回路の一部又は組み合わせとして実現されてもよいし、汎用ハードウェアで動作するソフトウェアにより実現されてもよい。
【0055】
(動作の説明)
図14は、前景背景生成部223が、前景画像データ及び背景画像データを生成する際の処理を示すフローチャートである。
なお、
図14に示されているフローにおいて、
図4に示されているフローの処理と同様の処理については、同じ符号が付されている。
実施の形態2でも、3画素×3画素の領域を、解像度変換の単位である単位ブロックとする。前景背景生成部223は、この単位ブロックに含まれる画素の画素値から、一つの画素の画素値を算出することで、画像データの解像度を下げる。
【0056】
属性エッジ判定部223aは、参照画素判定情報記憶部226に記憶されている参照画素判定情報に基づいて、前景として参照する画素及び背景として参照する画素を特定する(S50)。例えば、参照画素判定情報に含まれている前景参照画素判定テーブル290が
図13(A)のようになっている場合には、属性画像生成部122から与えられる入力属性画像データで示される画素値において、第1属性値が「1」で、第2属性値が「1」又は「0」である場合に、そのような画素値を有する画素は、前景として参照する画素となる。また、参照画素判定情報に含まれている前景参照画素判定テーブル290が
図13(B)のようになっている場合には、属性画像生成部122から与えられる入力属性画像データで示される画素値において、第1属性値が「0」で、第2属性値が「0」である場合に、そのような画素値を有する画素は、背景として参照する画素となる。
【0057】
そして、属性エッジ判定部223aは、属性画像生成部222から与えられる入力属性画像データに基づいて、単位ブロック内において、前景として参照する画素の数N1をカウントするとともに、背景として参照する画素の数N2をカウントする(S51)。
そして、前景背景生成部223は、ステップS51の後に、ステップS21及びステップS26の処理に進み、属性エッジ判定部223aでカウントされた数に応じて、単位ブロック内に前景と背景との間のエッジの有無を判定し、解像度変換の処理を切り替える。なお、ステップS21〜S30の処理は、
図4で説明したステップS21〜S30と同様である。
【0058】
(実施の形態2の効果の説明)
実施の形態2でも、実施の形態1と同様に、従来の方法よりも小さなバッファで分離及び解像度変換を実現することができる。
【0059】
また、
図13に示されているように、前景参照画素判定テーブル290及び背景参照画素判定テーブル291を用いることで、背景では、ぼけの影響が大きいエッジ画素が除かれるように背景参照画素を定め、前景では、細線の色情報まで集めるためにエッジ画素を含めて前景参照画素を定めることができる。これにより、属性画像生成部222で検出された精度の高いエッジ情報を利用して、より前景及び背景それぞれに適した画素情報を生成することが可能となる。
【0060】
なお、実施の形態2では、文字領域及び線領域か否かを示す第1属性、エッジ画素か否かを示す第2属性の2ビットの属性値を有する属性画像データを利用する方法について説明したが、このような例に限定されるものではない。例えば、更に多くのビットを用いて、色の強調情報や網点判定情報等のような元画像の画素強調データを属性値として表す属性画像データが利用されてもよい。但し、属性値をxビットの大きさとした場合、参照画素を決定するテーブルの大きさは2
x、1画素を表す情報量は色情報と合わせて、24+xビットとなり、前景及び背景の生成に利用する属性値の情報量を大きくするほど、テーブルの大きさと必要なバッファは増大する。
【0061】
実施の形態1及び2に記載された画像処理装置100、200は、原稿の画像をPDF等の多層構造表現が可能な画像フォーマットで保存する装置、例えば、スキャナ又は複合機に適用可能である。