画像処理装置及びプログラム
【課題】ハーフトーン処理されたN値画像にトラッピング処理を適用することができる画像処理装置及びプログラムを提供する。
【解決手段】画像処理装置は、注目画素を中心に設定した処理領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、処理領域の特徴量を算出する算出部(13)と、算出された特徴量に基づいて、各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する判定部(14)と、参照領域内の参照画素の位置を各色版毎に設定し、設定された参照画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する算出部(12)と、判定部(14)が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、2値画像内の注目画素に対応する画素値を、上記算出された画素値に変更する変更部(15)とを備えている。
【解決手段】画像処理装置は、注目画素を中心に設定した処理領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、処理領域の特徴量を算出する算出部(13)と、算出された特徴量に基づいて、各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する判定部(14)と、参照領域内の参照画素の位置を各色版毎に設定し、設定された参照画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する算出部(12)と、判定部(14)が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、2値画像内の注目画素に対応する画素値を、上記算出された画素値に変更する変更部(15)とを備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
カラー画像の印刷は、複数のプレーン(例えば、CMYKのプレーン)の重ね合わせによって実行される。このとき、重ね合わせの位置が複数のプレーン間でずれると、下地を露出する領域(即ち、白抜け)が発生することがある。この現象は、一般的にレジずれと呼ばれている。この白抜けを防止するために、白抜けが発生する位置に予めプレーンを重ねるトラッピング処理が知られている。また、従来からトラッピング処理を実行する画像処理装置が知られている(例えば、特許文献1,2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−232590号公報
【0004】
【特許文献2】特開2002−165104号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の画像処理装置は、注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段と、前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段と、前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段と、前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段とを備えていることを特徴とする。
【0007】
請求項2の画像処理装置は、請求項1に記載の画像処理装置において、前記特徴量算出手段で使用される領域の大きさを、画像を出力する出力部の仕様又はユーザの入力に応じて変更する変更手段を備えることを特徴する。
【0008】
請求項3の画像処理装置は、請求項1又は2に記載の画像処理装置において、前記参照領域内の参照すべき画素は、前記注目画素の画素値が変更されても、前記ハーフトーン処理されたN値画像が有する周期構造を維持する位置に設定されることを特徴とする。
【0009】
請求項4の画像処理装置は、請求項1乃至3のいずれか1項に記載の画像処理装置において、前記N値画像は、ハーフトーン処理された2値画像であることを特徴とする。
【0010】
請求項5の画像処理装置は、請求項4に記載の画像処理装置において、前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第2条件とを含み、前記特徴量算出手段は、前記設定領域の特徴量として、前記設定領域に含まれる前記第1条件を満たす第1の画素数及び前記設定領域に含まれる前記第2条件を満たす第2の画素数を算出し、前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であり、且つ前記第2の画素数が第2の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定することを特徴とする。
【0011】
請求項6の画像処理装置は、請求項1乃至3のいずれか1項に記載の画像処理装置において、前記N値画像は、ハーフトーン処理された4値画像であることを特徴とする。
【0012】
請求項7の画像処理装置は、請求項6に記載の画像処理装置において、前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第1の色版の画素値が2番目に大きな値であり且つ前記第2の色版を含む他の色版の画素値が0である第2条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第3条件と、前記第2の色版の画素値が2番目に大きな値であり且つ前記第1の色版の画素値が0である第4条件とを含み、前記特徴量算出手段は、前記設定領域の特徴量として、前記領域に含まれる前記第1条件を満たす第1の画素数、前記設定領域に含まれる前記第2条件を満たす第2の画素数、前記設定領域に含まれる前記第3条件を満たす第3の画素数、及び前記設定領域に含まれる前記第4条件を満たす第4の画素数を算出し、前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であるか、又は前記第1の画素数が前記第1の閾値以下の第2の閾値以上であり且つ前記第2の画素数が第3の閾値以上であり、さらに、前記第3の画素数が第4の閾値以上であるか、又は前記第3の画素数が前記第4の閾値以下の第5の閾値以上であり且つ前記第4の画素数が第6の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定することを特徴とする。
【0013】
請求項8のプログラムは、コンピュータを、注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段、前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段、前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段、及び前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段として機能させることを特徴とする。
【発明の効果】
【0014】
請求項1の発明によれば、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる。
【0015】
請求項2の発明によれば、トラッピング処理を行う画素の量を、出力部の仕様又はユーザの入力によって変更することができる。
【0016】
請求項3の発明によれば、N値画像が有する周期構造を維持しながらトラッピング処理を適用することができる。
【0017】
請求項4の発明によれば、ハーフトーン処理された2値画像にトラッピング処理を適用することができる。
【0018】
請求項5の発明によれば、簡易な方法で2値画像のトラッピング処理を行うべき画素を検出することができる。
【0019】
請求項6の発明によれば、ハーフトーン処理された4値画像にトラッピング処理を適用することができる。
【0020】
請求項7の発明によれば、簡易な方法で4値画像のトラッピング処理を行うべき画素を検出することができる。
【0021】
請求項8の発明によれば、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる。
【図面の簡単な説明】
【0022】
【図1】(A)は、第1の実施の形態に係る画像処理装置の構成の一例を示すブロック図である。(B)は、プリント制御部3のハードウエア構成の一例を示す図である。
【図2】(A)は、ハーフトーン処理された2値画像の一例を示す図である。(B)は、図2(A)の文字の一部分の拡大図である。
【図3】(A)は、白抜けが発生している場合のハーフトーン処理された2値画像の一例を示す図である。(B)は、図3(A)の文字の一部分の拡大図である。
【図4】トラッピング処理部9の構成の一例を示すブロック図である。
【図5】トラッピング判定部14の判定結果の一例を示す図である。
【図6】(A)は、黒とシアンが隣接している画像の一例を示す図である。(B)は、黒とシアンが隣接している画像の断面状態の一例を示す図である。(C)は、黒とシアンが隣接している画像の断面状態の他の例を示す図である。
【図7】(A)は、黒とシアンが離れている画像の一例を示す図である。(B)は、黒とシアンが離れている画像の断面状態の一例を示す図である。
【図8】(A)は、参照画素の位置の一例を示す図である。(B)は、参照領域を2値画像に重ねた状態の一例を示す図である。(C)は、参照領域を2値画像に重ねた状態の一例を示す図である。
【図9】(A)は、細かい網点スクリーン(ディザスクリーン)の一例を示す図である。(B)は、スクリーン構造を解析するための領域を示す図である。(C)は、粗い網点スクリーンの一例を示す図である。(D)は、スクリーン構造を解析するための領域を示す図である。
【図10】(A)は、図2(B)の2値画像のトラッピング処理後の状態を示す図である。(B)は、図3(B)の2値画像のトラッピング処理後の状態を示す図である。
【図11】トラッピング部9で実行される処理を示すフローチャートである。
【図12】(A)は、第2の実施の形態に係る、KプレーンがCプレーンに対してずれていない2ビット画像(即ち、4値画像)の例を示す図である。(B)は、第2の実施の形態に係る、KプレーンがCプレーンに対して2画素左にずれている2ビット画像の例を示す図である。
【図13】(A)は、図12(A)の2ビット画像のトラッピング処理後の状態を示す図である。(B)は、図12(B)の2ビット画像のトラッピング処理後の状態を示す図である。
【図14】トラッピング部9で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0024】
(第1の実施の形態)
図1(A)は、第1の実施の形態に係る画像処理装置の構成を示すブロック図である。
【0025】
図1において、画像処理装置1は、例えば、プリンタ、コピー機又は複合機である。画像処理装置1は、入力部2、プリント制御部3及び出力部4を備えている。入力部2は、画像データを入力するインターフェースである。プリント制御部3は、図1(B)に示すように、CPU31、メモリ32及び通信インターフェース(I/F)33で構成されており、入力した画像データに所定の画像処理を実行する。出力部4は、画像処理が施された画像データを記録紙に出力する。
【0026】
プリント制御部3は、PDL解釈部5、色変換部6、N値化処理部7(N=2以上)、描画部8及びトラッピング部9を備えている。PDL(Page Description Language)解釈部5は、ページ記述言語を解釈し、画像データを展開する。色変換部6は、画像データのRGBデータ(Red, Green, Blue)をCMYKデータ(Cyan, Magenta, Yellow, Black)に変換する。N値化処理部7は、画像データに対し、N値化処理(例えばハーフトーン処理)を実行する。描画部8は、N値化処理されたデータを貯めて、ビットマップ画像を作成する。トラッピング処理部9は、画像データの白抜けを防止するためのトラッピング処理を行う。
【0027】
図2(A)は、ハーフトーン処理された2値画像を示す図であり、図2(B)は、図2(A)の文字の一部分の拡大図である。図3(A)は、白抜けが発生している場合のハーフトーン処理された2値画像を示す図であり、図3(B)は、図3(A)の文字の一部分の拡大図である。
【0028】
図2(A)及び図3(A)に示すように、例えば、ハーフトーン処理された2値画像は、黒色(K)の文字「B」とシアン色(C)の背景で構成されている。2値画像は、ディザマトリクス等のハーフトーン処理で生成されるため、図2(B)及び図3(B)に示すような、網点状の画像となる。このような2値画像において、記録紙上でKプレーン及びCプレーンの印刷位置がずれると白抜けが発生する。白抜けは、色プレーン間の位置ずれによって記録紙の地肌(白色)が文字の輪郭に沿って露出することである。図3(A)及び(B)は、KプレーンがCプレーンに対して、左方向に2画素ずれた場合の例を示している。尚、KプレーンやCプレーンのような色プレーンは色版とも呼ばれる。
【0029】
以下の説明では、K(Black)とC(Cyan)の2つの色プレーン間にトラッピング処理を行うものとし、文字の輪郭に沿って2ドット幅にトラッピング処理を行う例を説明する。また、トラッピング部9に入力される画像データは、ハーフトーン処理された2値画像であるものとする。
【0030】
図4は、トラッピング処理部9の構成を示すブロック図である。
【0031】
トラッピング処理部9は、処理領域決定部11(変更手段)、置換画素値算出部12(画素値算出手段)、領域特徴量算出部13(特徴量算出手段)、トラッピング判定部14(トラッピング判定手段)、及び注目画素値決定部15(注目画素値変更手段)を備えている。
【0032】
処理領域決定部11は、2値画像を取得すると、図2(B)に示すように、中央の画素を注目画素とする5(ドット)x5(ドット)の領域を処理領域50として決定する。処理領域50は、5(ドット)x5(ドット)の領域に限定されるものではなく、3(ドット)x3(ドット)の領域でも7(ドット)x7(ドット)の領域でもよい。
【0033】
置換画素値算出部12は、処理領域50内の2値画像の画素配置の特徴に基づいて、注目画素の置換画素値を算出する。領域特徴量算出部13は、処理領域50の特徴量を算出する。トラッピング判定部14は、処理領域50の特徴量に基づいて、注目画素がトラッピング処理されるべき画素であるか否かを判定する。注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、出力される注目画素値を決定する。
【0034】
ここで、処理領域50のサイズの決定方法を説明する。
【0035】
5(ドット)x5(ドット)の処理領域50では、注目画素が黒文字の内側端の位置に置かれた場合に(図2(B)及び図3(B)参照)、2ドット幅以下の白抜けがある場合には、使用可能であるが、3ドット幅以上の白抜けがある場合には、使用できない。これは、2ドット幅以下の白抜けがある場合には、シアンの画素が処理領域50に含まれるが、3ドット幅以上の白抜けがある場合には、シアンの画素が処理領域50に含まれないからである。従って、5(ドット)x5(ドット)の処理領域50は、文字や数字などの対象の輪郭部に対して2ドット幅以下のトラッピング処理を行う場合に使用可能である。
【0036】
同様に、処理領域50が3(ドット)x3(ドット)の領域である場合には、処理領域50は輪郭部に対して1ドット幅のトラッピング処理を行う場合に使用可能である。処理領域50が7(ドット)x7(ドット)の領域である場合には、処理領域50は対象の輪郭部に対して3ドット幅以下のトラッピング処理を行う場合に使用可能である。
【0037】
このように、トラッピング処理を行うドット幅は、処理領域50のサイズによって変更することが可能である。トラッピング処理を行う場合には、対象の輪郭部をトラッピング処理するためのドット幅を決定する必要がある。このドット幅は、出力部4の仕様から想定されるレジずれのサイズで予め設定することができる。従って、処理領域決定部11は、出力部4からその仕様の通知を受けて、処理領域50のサイズを決定する。また、処理領域決定部11は、ユーザからの入力(例えば、5(ドット)x5(ドット)の領域を選択する指示)に基づいて、処理領域50のサイズを決定してもよい。
【0038】
次に、入力した2値画像内の各画素がトラッピング処理の対象であるか否かを判定する判定方法を説明する。
【0039】
まず、領域特徴量算出部13が、処理領域50を参照して、下記の特徴量を算出する。
(1)K=ON且つC=OFF且つM=OFF且つY=OFF(第1条件)の画素数:これを「K画素数」という。K=ON且つC=OFF且つM=OFF且つY=OFFが領域特徴量算出部13が特徴量を算出するための第1条件である。
(2)C=ON且つK=OFF(第2条件)の画素数:これを「C画素数」という。Cプレーンの処理では、C=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。Mプレーンの処理では、M=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。M=ON且つK=OFFの画素数は「M画素数」という。Yプレーンの処理では、Y=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。Y=ON且つK=OFFの画素数は「Y画素数」という。
【0040】
K画素数は、K単色である画素数を示し、C画素数はKと重なっていないC色(Cyan)の画素数を示している。図2(B)では、K画素数=6、C画素数=5となり、この結果がトラッピング判定部14へ送られる。
【0041】
トラッピング判定部14は、領域特徴量算出部13の算出結果に基づいて、K画素数がK画素数閾値以上であり、且つC画素数がC画素数閾値以上であるか否かを判定する。この判定条件を満たす場合には、トラッピング判定部14は、注目画素をトラッピング処理すべき画素と判定する。つまり、トラッピング判定部14は、K画素数及びC画素数の2つの特徴量をK画素数閾値及びC画素数閾値の2つの閾値と比較することにより、K画素及びC画素が互いに隣接しているか、即ち白抜けが目立ちやすいか否かを判定する。この2つの閾値(即ち、K画素数閾値及びC画素数閾値)は、ハーフトーン処理の特徴やトラッピング処理の条件によって予め決定する。本実施の形態では、K画素数閾値=3、C画素数閾値=1とする。この2つの閾値を使用した場合の図2(B)の全画素の判定結果を図5に示す。図5に示すように、トラッピング判定部14は、2値画像の文字と背景の境界にトラッピング対象の画素を検出し、検出結果を注目画素値決定部15へ送信する。
【0042】
ここで、K画素数閾値とC画素数閾値の決定方法を説明する。
【0043】
白抜けは、色プレーン間のずれによって生じるため、色プレーンの隣接状態を検出する必要がある。図6(A)は、黒とシアンが隣接している画像の一例を示す図である。図6(B)は、黒とシアンが隣接している画像の断面状態の一例を示す図である。図6(C)は、黒とシアンが隣接している画像の断面状態の他の例を示す図である。図7(A)は、黒とシアンが離れている画像の一例を示す図である。図7(B)は、黒とシアンが離れている画像の断面状態の一例を示す図である。
【0044】
図6(A)のように、黒とシアンが隣接している画像では、トラッピング処理が必要な場合とトラッピング処理が不要な場合がある。図6(B)のように、黒とシアンが重なっていない状態でレジずれが発生すると、白抜けが発生する。従って、図6(B)の場合、トラッピング処理が必要である。一方、図6(C)のように、黒とシアンが重なっている状態でレジずれが発生すると、白抜けは発生しない。従って、図6(C)の場合、トラッピング処理は不要である。また、図7(A)、(B)のように、黒とシアンが離れている画像では、下地が露出することが正常であるので、トラッピング処理は不要である。
【0045】
上述したように、K画素数は、処理領域50内のK=ON且つC=OFF且つM=OFF且つY=OFFである画素数を示し、C画素数は、処理領域50内のK=OFF且つC=ONである画素数を示す。従って、処理領域50内のK画素数が多い場合には、処理領域50は図6(B)又は図7(B)の黒(K)矩形の内部又は輪郭部に配置されていることになる。同時に、処理領域50内のC画素数が多い場合には、処理領域50は図6(B)の黒(K)矩形の輪郭部に配置されていることになり、処理領域50内のC画素数が0の場合には、処理領域50は図6(B)の黒(K)矩形の内部もしくは図7(B)の黒(K)矩形の内部又は輪郭部に配置されていることになる。従って、トラッピング判定部14は、K画素数とC画素数の閾値を少なくとも1以上に設定することによって、トラッピング処理が必要な輪郭部を検出することができる。
【0046】
但し、K画素数及びC画素数は、それぞれの色プレーンの濃さを示しており、K画素数閾値及びC画素数閾値はトラッピング処理のかかりやすさの制御値になる。K画素数閾値及びC画素数閾値は「1」であるときに、トラッピング処理が実行されやすくなるが、誤判定も増える。従って、トラッピング判定部14がK画素数閾値及びC画素数閾値を決定する際には、下記の(1)〜(3)の条件も考慮する必要がある。
【0047】
(1)K画素及びC画素の分布条件。例えば、K画素は文字の内部だけにある、又はK画素が文字の周囲にもC画素とともに存在するなど。
(2)処理領域50のサイズ。例えば、処理領域50が5(ドット)x5(ドット)の領域である場合のK画素数閾値及びC画素数閾値は、処理領域50が3(ドット)x3(ドット)の領域である場合のK画素数閾値及びC画素数閾値よりも大きくする。
(3)2値化のスクリーンの種類。スクリーンの粗さに応じてK画素数閾値及びC画素数閾値を変更する。
【0048】
トラッピング判定部14は、これらの条件を考慮しながら、印刷の条件ごとにK画素数閾値及びC画素数閾値を求めて、予め設定値としてK画素数閾値及びC画素数閾値を保持する。トラッピング判定部14は、印刷時に、印刷の条件に応じて、K画素数閾値及びC画素数閾値を選択する。また、トラッピング判定部14は、処理領域50が5(ドット)x5(ドット)の領域である場合のK画素数閾値及びC画素数閾値を予め決定し、印刷時に使用される処理領域50のサイズに合わせて自動的にK画素数閾値及びC画素数閾値を変更してもよい。
【0049】
次に、トラッピング処理の対象であると判定された画素に対応する置換画素値の算出方法を説明する。
【0050】
置換画素値算出部12は、設定された参照領域51内の2値画像の画素配置の特徴から、注目画素の置換画素値を算出する。置換画素値算出部12は、画素配置を参照する参照領域51を、2値画像の特徴等を考慮して決定するが、ここでは、トラッピング判定時に使用された処理領域50と同じサイズの5(ドット)x5(ドット)の参照領域51を使用するものとする。まず、置換画素値算出部12は、図8(A)のように、予め参照画素の位置を設定する。参照画素の位置は、注目画素がONである場合にONである確率の高い位置であり、2値化時のディザマトリクスの周期性などから算出される。図8(A)の例では、シアン(C)のドットパターンの周期性に基づいて、5(ドット)x5(ドット)の領域のうちの×印を付けた4画素が参照画素として指定されている。
【0051】
置換画素値算出部12は、ONになっている参照画素の数を算出し、所定の閾値(以下、シアン参照画素数閾値という)と比較する。置換画素値算出部12は、ONになっている参照画素の数がシアン参照画素数閾値以上であれば、注目画素の画素置換値がONであると判定し、ONになっている参照画素の数がシアン参照画素数閾値未満であれば、注目画素の画素置換値がOFFであると判定する。置換画素値算出部12は、この判定結果を注目画素値決定部15に送信する。本実施の形態では、シアン参照画素数閾値=1とする。つまり、4箇所の参照画素のうち、1箇所でもシアン画素がONになっていれば、置換画素値算出部12は、注目画素の置換画素値をONにする。図8(B)の例では、右上の参照画素がONであるので、注目画素の置換画素値はONになる。一方、図8(C)の例では、全参照画素がOFFであるので、注目画素の置換画素値はOFFになる。置換画素値算出部12は、入力された2値画像の全画素について置換画素値を算出する。この算出方法により、入力された2値画像のシアンの特徴(即ち、線数、角度の周期性)をそのまま保持することが可能となっている。
【0052】
ここで、参照画素の位置の決定方法を説明する。参照画素の位置の決定方法は、(1)ディザマトリクス構造から決定する方法、(2)画像解析で決定する方法、又は(3)実験的に決定する方法がある。
【0053】
まず、(1)ディザマトリクス構造から参照画素の位置を決定する方法について説明する。
【0054】
2値化処理としてのディザ処理によって2値化された画像は、必ずスクリーン構造(即ち、周期構造)を持っている。注目画素の置換において、無秩序にON画素が増えた場合には、トラッピング処理する画像の輪郭部が縁取りされてしまう。そこで、元々、2値画像が持っているスクリーン構造を維持できるような注目画素値の決定方法が必要となる。注目画素がトラッピング処理すべき画素と判定された場合、スクリーン構造を持っている画像が注目画素の周囲に存在していると考えられる。そこで、置換画素値算出部12は、注目画素の周囲を参照して2値画像のスクリーン構造を判断する。
【0055】
図9(A)は、細かい網点スクリーン(ディザスクリーン)の一例を示す図である。図9(B)は、スクリーン構造を解析するための参照領域51を示す図である。図9(A)中の数字は、画素がONになる順番を示している。このディザスクリーンでは、図9(B)に示す×印の4画素がONになっている場合に、注目画素をONにしても、スクリーン構造が維持される。逆に、図9(B)に示す×印の4画素がOFFになる場合に、注目画素をONにすると、スクリーン構造が崩れる。そこで、置換画素値算出部12は、5(ドット)x5(ドット)の参照領域51を設定し、その参照領域51内の4画素のうちでいくつがONになっているかで注目画素をONにするか否かを決定する。このON数の閾値は、1〜4個で指定される。閾値が小さければ、注目画素はONになりやすく、トラッピング処理の効果を得やすい。その反面、スクリーン構造の誤判定が増加する。閾値は、トラッピング処理の効果と誤判定のバランスで決定する。
【0056】
図9(C)は、粗い網点スクリーンの一例を示す図である。図9(D)は、スクリーン構造を解析するための参照領域51を示す図である。図9(C)のスクリーンでは、置換画素値算出部12は5(ドット)x5(ドット)の参照領域を設定しても、2値画像のスクリーン構造を判断できないので、図9(D)の7(ドット)x7(ドット)の参照領域51を設定する。注目画素の決定方法は、上述した方法と同様である。
【0057】
このようにして、置換画素値算出部12は、スクリーン構造を解析するための参照領域51のサイズ及び参照画素の位置を決定することができる。置換画素値算出部12が2値化時に使用したスクリーンを予め認識している場合には、置換画素値算出部12は、そのスクリーンの情報を用いて、参照画素の位置を決定することができる。画像処理装置1で使われるスクリーンが1種類である場合には、置換画素値算出部12は、予め決めておいた参照画素の位置を固定的に使用してもよい。また、複数のスクリーンが使われる場合には、置換画素値算出部12は、使うスクリーンの情報に基づいて、スクリーン構造(周期構造)を計算で求め、参照画素の位置を決定するか、又は、使われるスクリーンごとの参照画素の位置情報を予め保持し、使われるスクリーンごとに参照画素の位置を切り替えるようにする。
【0058】
次に、(2)画像解析で参照画素の位置を決定する方法を説明する。
【0059】
置換画素値算出部12は、2値化時に使用したスクリーンを認識していない場合には、2値画像の解析で参照画素の位置を推測する。例えば、置換画素値算出部12は、2値画像のCMYKの各プレーンごとに、任意の画素がONであるときに周囲画素の各々がONである確率を計算し、確率の高い画素を参照画素とする。
【0060】
次に、(3)実験的に参照画素の位置を決定する方法を説明する。
【0061】
2値化時に使用したスクリーンが誤差拡散のように周期構造を持たないスクリーンである場合には、ユーザが参照位置を変えて実験し、最も効果的な位置を求める。また、実験的に参照画素の位置を決定する場合には、上記(1)又は(2)の方法との併用も可能である。この場合、上記(1)又は(2)の方法で、参照画素の位置を仮決定した後に、ユーザが実際に印刷結果を見ながら、参照画素の位置を調整する。
【0062】
尚、本実施の形態では、4つの参照画素を指定しているが、参照画素を増やしてもよい。例えば、細かい周期と粗い周期を組み合わせたディザマトリクス(スクリーン構造)の場合には、参照画素を8つにすることもできる。また、本実施の形態では、ONである画素数を基準として参照画素の位置を決定しているが、画素位置に優先順位を付けて、参照画素の位置を判断してもよい。
【0063】
次に、注目画素値の決定方法について説明する。
【0064】
注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、下記の条件(1)〜(4)に従って、出力される注目画素値を決定する。
【0065】
(1)トラッピング判定部14が、注目画素がトラッピング処理の対象画素でないと判定した場合には、注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(2)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がOFFである場合には、注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(3)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がONで、且つ入力した2値画像内の注目画素に対応する画素値がOFFである場合には、注目画素値決定部15は、注目画素値として「ON」を出力する。この場合、注目画素はOFFからONに変更される。例えば、注目画素が下地の白ならば、シアンに変更される。
(4)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がONで、且つ入力した2値画像内の注目画素に対応する画素値がONである場合には、注目画素値決定部15は、注目画素値として「ON」を出力する。この場合、注目画素は変更されない。
【0066】
トラッピング処理後の2値画像の状態を図10(A)及び図10(B)に示す。図10(A)は、図2(B)の2値画像(即ち、KプレーンがCプレーンに対してずれていない2値画像)のトラッピング処理後の状態を示す。図10(B)は、図3(B)の2値画像(即ち、KプレーンがCプレーンに対して2画素左にずれている2値画像)のトラッピング処理後の状態を示す。
【0067】
図10(A)に示すように、KプレーンがCプレーンに対してずれていない2値画像は、トラッピング処理後に黒(K)とシアン(C)が重なる画素が発生する。これは、トラッピング判定部14によって、文字の内側の輪郭だけでなく、背景側にもトラッピング処理の対象であると判定される画素が存在するからである。しかしながら、置換画素値算出部12と注目画素値決定部15の処理によって、トラッピング処理が2値画像のシアン(C)の特徴(周期及び角度等)に影響を与えることがないため、問題は発生しない。
【0068】
KプレーンがCプレーンに対して2画素左にずれている2値画像では、図10(B)に示すように、トラッピング部9のトラッピング処理によって白抜けが発生しなくなる。処理領域決定部11、置換画素値算出部12、領域特徴量算出部13、トラッピング判定部14及び注目画素値決定部15は、上述した処理をマゼンタ(magenta)及びイエロー(yellow)のプレーン対しても同様に行う。これにより、黒の文字の周囲に白抜けが発生しなくなる。
【0069】
図11は、トラッピング部9で実行される処理を示すフローチャートである。
【0070】
まず、処理領域決定部11が2値画像を取得し(ステップS1)、処理領域50を設定する(ステップS2)。置換画素値算出部12は、取得した2値画像が持っているスクリーン構造を解析するための参照領域51を設定する(ステップS3)。さらに、置換画素値算出部12は、参照領域51内の2値画像の画素配置の特徴から、注目画素の置換画素値を算出する(ステップS4)。領域特徴量算出部13は処理領域50内のK画素数を算出する(ステップS5)。トラッピング判定部14は、領域特徴量算出部13によって算出されたK画素数がK画素数閾値以上であるか否かを判定する(ステップS6)。ステップS6でNOの場合には、本処理を終了する。一方、ステップS6でYESの場合には、領域特徴量算出部13は処理領域50内のC画素数を算出する(ステップS7)。トラッピング判定部14は、領域特徴量算出部13によって算出されたC画素数がC画素数閾値以上であるか否かを判定する(ステップS8)。
【0071】
ステップS8でNOの場合には、後述するステップS11のMプレーン処理に進む。一方、ステップS8でYESの場合には、注目画素値決定部15が、置換画素値算出部12からの出力値がON(即ち、置換画素値=ON)であるか否かを判別する(ステップS9)。ステップS9でNOの場合、後述するステップS11のMプレーン処理に進む。一方、ステップS9でYESの場合、注目画素値決定部15が、入力した2値画像内の注目画素の画素値がOFFであるか否かを判別する(ステップS10)。ステップS10でNOの場合、後述するステップS12のMプレーン処理に進む。一方、ステップS10でYESの場合、注目画素値決定部15は、注目画素を置換画素値に変更する(ステップS11)。ここで、ステップS7〜ステップS11の処理をCプレーン処理という。ステップS11の後に、マゼンタ(magenta)に対してステップS7〜ステップS11と同様の処理(即ち、Mプレーン処理)が実行され(ステップS12)、イエロー(yellow)に対してステップS7〜ステップS11と同様の処理(即ち、Yプレーン処理)が実行される(ステップS13)。その後、本処理は終了する。
【0072】
以上説明したように、第1の実施の形態によれば、領域特徴量算出部13が、注目画素を中心として設定された処理領域50内に含まれる各画素における複数の色版の画素値の組み合わせ条件(即ち、(1)K=ON且つC=OFF且つM=OFF且つK=OFFの画素数、及び(2)C=ON且つK=OFF)に基づいて、処理領域50の特徴量を算出する。トラッピング判定部14は、領域特徴量算出部13により算出された特徴量に基づいて、複数の色版によって構成されるハーフトーン処理された2値画像の各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する。置換画素値算出部12は、注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に参照領域51内に設定し、設定された参照すべき画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する。注目画素値決定部15は、トラッピング判定部14が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、2値画像内の注目画素に対応する画素値を、置換画素値算出部12により算出された画素値に変更する。よって、簡易な方法でハーフトーン処理された2値画像にトラッピング処理を適用することができる。
【0073】
(第2の実施の形態)
第1の実施の形態では、入力画像データがスクリーン処理された2値画像であるが、第2の実施の形態では、入力画像データが4値の多値スクリーン処理された2ビット画像(即ち、4値画像)であるものとする。第2の実施の形態の画像処理装置は、第1の実施の形態にかかる画像処理装置1と同様である。
【0074】
以下の説明では、第1の実施の形態と同様に、K(Black)とC(Cyan)の2つの色プレーン間にトラッピング処理を行うものとし、文字の輪郭に沿って2ドット幅にトラッピング処理を行う例を説明する。
【0075】
スクリーン処理された2ビット画像は、4種類の画素値(2進数で00、01、10、11)を持つ。例えば、2ビット画像が薄い画像である場合には、画素値「00」と「01」が相対的に多くなる。2ビット画像が濃くなるに従って、画素値「10」が増加し、さらに2ビット画像が濃くなると、画素値「11」が増加する。2ビット画像がいわゆるべた画像である場合は、2ビット画像は、画素値「11」のK画素及びC画素で構成される。ここで、スクリーン処理された2ビット画像の一例を図12(A)及び図12(B)に示す。図12(A)は、KプレーンがCプレーンに対してずれていない2ビット画像の例を示す。図12(B)は、KプレーンがCプレーンに対して2画素左にずれている2ビット画像の例を示す。図12(A)及び図12(B)において、黒色の濃さ(K1、K2、K3)及びシアン色の濃さ(C1、C2、C3)は、それぞれ画素値「01」、「10」、「11」に対応している。尚、画素値「00」は濃度「0」を示す。
【0076】
第1の実施の形態と同様に、処理領域決定部11は、2ビット画像を取得すると、図12(A)に示すように、中央の画素を注目画素とする5(ドット)x5(ドット)の領域を処理領域50として決定する。この処理領域50内の画像データは、領域特徴量算出部13及び置換画素値算出部12へ送信される。処理領域50のサイズの決定方法は、第1の実施の形態の決定方法と同様である。
【0077】
入力した2ドット画像内の各画素がトラッピング処理の対象であるか否かを判定する判定方法を説明する。
【0078】
まず、領域特徴量算出部13が、処理領域50を参照して、下記の特徴量を算出する。
(1)K=11且つC=00且つM=00且つY=00の画素数:これを「第1K画素数」という。K=11且つC=00且つM=00且つY=00が領域特徴量算出部13が特徴量を算出するための第1条件となる。
(2)K=10且つC=00且つM=00且つY=00の画素数:これを「第2K画素数」という。K=10且つC=00且つM=00且つY=00が領域特徴量算出部13が特徴量を算出するための第2条件となる。
(3)C=11且つK=00の画素数:これを「第1C画素数」という。Cプレーンの処理では、C=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。Mプレーンの処理では、M=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。M=11且つK=00の画素数は「第1M画素数」という。Yプレーンの処理では、Y=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。Y=11且つK=00の画素数は、「第1Y画素数」という。
(4)C=10且つK=00の画素数:これを「第2C画素数」という。Cプレーンの処理では、C=10且つK=00が領域特徴量算出部13が特徴量を算出するための第4条件となる。Mプレーンの処理では、M=10且つK=00が領域特徴量算出部13が特徴量を算出するための第4条件となる。M=10且つK=00の画素数は、「第2M画素数」という。Yプレーンの処理では、Y=10且つK=00領域特徴量算出部13が特徴量を算出するための第4条件となる。Y=10且つK=00の画素数は「第2Y画素数」という。
【0079】
第1の実施の形態と同様に、領域特徴量算出部13は、K単色である画素数を示す第1K画素数及びKと重なっていないC色(Cyan)の画素数を示す第1C画素数を算出している。さらに第2の実施の形態では、領域特徴量算出部13は、2番目に濃い濃度のKの画素数を示す第2K画素数及び2番目に濃い濃度のCの画素数を示す第2C画素数を算出する。図12(A)では、第1K画素数=4、第2K画素数=2、第1C画素数=3、第2C画素数=2となり、この結果がトラッピング判定部14へ送られる。
【0080】
トラッピング判定部14は、領域特徴量算出部13の算出結果に基づいて、下記の2つの判定を行う。
【0081】
(判定1)
下記の(A)及び(B)のいずれかの条件を満たすときに、判定1は真となる。
(A)第1K画素数がK画素数閾値A1以上
(B)第1K画素数がK画素数閾値A2(<=K画素数閾値A1)以上、且つ第2K画素数がK画素数閾値B1以上
(判定2)
下記の(C)及び(D)のいずれかの条件を満たすときに、判定2は真となる。
(C)第1C画素数がC画素数閾値C1以上
(D)第1C画素数がC画素数閾値C2(<=C画素数閾値C1)以上、且つ第2C画素数がC画素数閾値D1以上
【0082】
トラッピング判定部14は、上記判定1且つ上記判定2が共に真である場合に、注目画素をトラッピング処理すべき画素と判定する。つまり、トラッピング判定部14は、第1K画素数、第2K画素数、第1C画素数及び第2C画素数の4つの特徴量を6つの閾値と比較することにより、白抜けが目立ちやすいか否かを判定している。
【0083】
この6つの閾値(即ち、K画素数閾値A1、K画素数閾値A2、K画素数閾値B1、C画素数閾値C1、C画素数閾値C2、及びC画素数閾値D1)は、2ビット化の処理の特徴やトラッピング処理の条件によって予め決定する。本実施の形態では、K画素数閾値A1=3、K画素数閾値A2=2、K画素数閾値B1=2、C画素数閾値C1=1、C画素数閾値C2=0、及びC画素数閾値D1=2とする。
【0084】
この6つの閾値を使用し、処理領域50でトラッピング判定した結果は、第1の実施の形態と同様に、図5となる。図5に示すように、トラッピング判定部14は、2ビット画像の文字と背景の境界にトラッピング対象の画素を検出し、検出結果を注目画素値決定部15へ送信する。
【0085】
次に、トラッピング処理の対象であると判定された画素に対応する置換画素値の算出方法を説明する。
【0086】
まず、置換画素算出部12は、図8(A)のように、予め参照画素の位置を設定する。参照画素の位置の決定方法は、第1の実施の形態の決定方法と同様である。そして、置換画素算出部12は、参照位置のC画素が「00(白)」でない画素の数を画素値ごとに算出し、最も数の多い画素値を置換画素値とする。異なる画素値の画素数が同数である場合には、置換画素算出部12は、予め設定した方法で置換画素値を算出する。予め設定した方法とは、濃い画素値又は薄い画素値のいずれかを選択する、もしくは複数の画素値の組み合わせ条件に基づいて濃い画素値又は薄い画素値のいずれかを選択する等である。このようにして、置換画素算出部12は、2ビット画像のすべての画素について置換画素値を算出する。この算出方法により、入力された2ビット画像のシアンの特徴(即ち、線数、角度の周期性)をそのまま保持することが可能となっている。
【0087】
次に、注目画素値の決定方法について説明する。
【0088】
注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、下記の条件(1)〜(4)に従って、出力される注目画素値を決定する。
【0089】
(1)トラッピング判定部14が、注目画素がトラッピング処理の対象画素でないと判定した場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(2)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」である場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(3)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」以外で、且つ入力した2値画像内の注目画素に対応する画素値が「00(白)」である場合には、注目画素値決定部15は、注目画素値として置換画素値算出部12からの出力値を出力する。この場合、注目画素は置換画素値に変更される。例えば、注目画素が下地の白ならば、シアンに変更される。
(4)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」以外で、且つ入力した2値画像内の注目画素に対応する画素値が「00(白)」以外である場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
【0090】
トラッピング処理後の2ビット画像の状態を図13(A)及び図13(B)に示す。図13(A)は、図12(A)の2ビット画像(即ち、KプレーンがCプレーンに対してずれていない2ビット画像)のトラッピング処理後の状態を示す。図13(B)は、図12(B)の2ビット画像(即ち、KプレーンがCプレーンに対して2画素左にずれている2ビット画像)のトラッピング処理後の状態を示す。
【0091】
図13(A)に示すように、KプレーンがCプレーンに対してずれていない2値画像は、トラッピング処理後に黒(K)とシアン(C)が重なる画素が発生する。これは、トラッピング判定部14によって、文字の内側の輪郭だけでなく、背景側にもトラッピング処理の対象であると判定される画素が存在するからである。しかしながら、置換画素値算出部12と注目画素値決定部15の処理によって、トラッピング処理が2ビット画像のシアン(C)の特徴(周期及び角度等)に影響を与えることがないため、問題は発生しない。
【0092】
KプレーンがCプレーンに対して2画素左にずれている2ビット画像では、図13(B)に示すように、トラッピング部9のトラッピング処理によって白抜けが発生しなくなる。処理領域決定部11、置換画素値算出部12、領域特徴量算出部13、トラッピング判定部14及び注目画素値決定部15は、上述した処理をマゼンタ(magenta)及びイエロー(yellow)のプレーン対しても同様に行う。これにより、黒の文字の周囲に白抜けが発生しなくなる。
【0093】
図14は、トラッピング部9で実行される処理を示すフローチャートである。
【0094】
まず、処理領域決定部11が2ビット画像(4値画像)を取得し(ステップS21)、処理領域50を設定する(ステップS22)。置換画素値算出部12は、取得した2値画像が持っているスクリーン構造を解析するための参照領域51を設定する(ステップS23)。さらに、置換画素値算出部12は、参照領域51内の2ビット画像の画素配置の特徴から、注目画素の置換画素値を算出する(ステップS24)。領域特徴量算出部13は処理領域50内の第1K画素数及び第2K画素数を算出する(ステップS25)。トラッピング判定部14は、領域特徴量算出部13によって算出された第1K画素数がK画素数閾値A1以上であるか否かを判定する(ステップS26)。ステップS26でYESの場合には、後述するステップS28に進む。ステップS26でNOの場合には、トラッピング判定部14は、第1K画素数がK画素数閾値A2(<=K画素数閾値A1)以上、且つ第2K画素数がK画素数閾値B1以上であるか否かを判別する(ステップS27)。ステップS27でNOの場合には、本処理を終了する。一方、ステップS27でYESの場合には、領域特徴量算出部13は、処理領域50内の第1C画素数及び第2C画素数を算出する(ステップS28)。
【0095】
トラッピング判定部14は、領域特徴量算出部13によって算出された第1C画素数がC画素数閾値C1以上であるか否かを判定する(ステップS29)。ステップS29でYESの場合には、後述するステップS31に進む。一方、ステップS29でNOの場合には、トラッピング判定部14は、第1C画素数がC画素数閾値C2(<=C画素数閾値C1)以上、且つ第2C画素数がC画素数閾値D1以上であるか否かを判定する(ステップS30)。ステップS30でNOの場合には、後述するステップS34のMプレーン処理に進む。一方、ステップS30でYESの場合には、注目画素値決定部15が、置換画素値算出部12からの出力値が「00」以外である(即ち、置換画素値=11,10,又は01)であるか否かを判別する(ステップS31)。ステップS31でNOの場合、後述するステップS34のMプレーン処理に進む。一方、ステップS31でYESの場合、注目画素値決定部15が、入力した2ビット画像内の注目画素に対応する画素値が「00」であるか否かを判別する(ステップS32)。ステップS32でNOの場合、後述するステップS34のMプレーン処理に進む。一方、ステップS32でYESの場合、注目画素値決定部15は、注目画素を置換画素値に変更する(ステップS33)。ここで、ステップS28〜ステップS33の処理をCプレーン処理という。ステップS33の後に、マゼンタ(magenta)に対してステップS28〜ステップS33と同様の処理(即ち、Mプレーン処理)が実行され(ステップS34)、イエロー(yellow)に対してステップS28〜ステップS33と同様の処理(即ち、Yプレーン処理)が実行される(ステップS35)。その後、本処理は終了する。
【0096】
以上説明したように、第2の実施の形態によれば、領域特徴量算出部13が、注目画素を中心として設定された処理領域50内に含まれる各画素における複数の色版の画素値の組み合わせ条件(即ち、(1)K=11且つC=00且つM=00且つY=00の画素数、(2)K=10且つC=00且つM=00且つY=00の画素数、(3)C=11且つK=00の画素数、及び(4)C=10且つK=00の画素数)に基づいて、処理領域50の特徴量を算出する。トラッピング判定部14は、領域特徴量算出部13により算出された特徴量に基づいて、複数の色版によって構成されるハーフトーン処理された4値画像の各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する。置換画素値算出部12は、注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に参照領域51内に設定し、設定された参照すべき画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する。注目画素値決定部15は、トラッピング判定部14が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、4値画像内の注目画素に対応する画素値を、置換画素値算出部12により算出された画素値に変更する。よって、簡易な方法でハーフトーン処理された4値画像にトラッピング処理を適用することができる。
【0097】
従来のトラッピング処理では、白抜けが発生する境界領域を判定するために、8ビットの入力画像を使用することを前提としている。このため、省メモリの対策として、入力画像を2値化し、2値画像を保存する画像処理装置、又はアプリケーションで入力画像に対してN値のハープトーン処理を行い、N値画像を出力部に送る画像処理装置には、従来のトラッピング処理を適用できない。従って、上述した第1及び第2の実施の形態は、これらの画像処理装置に特に有効である。
【0098】
また、第1及び第2の実施の形態では、色プレーンの画素値の組み合わせ条件の判定とハーフトーン構造を維持する画素置換値を用いて、トラッピング処理を実現しているので、パターンマッチング処理のように、大きな領域を使って高精度に白抜けが発生する境界を検出する必要がない。そのため、トラッピング処理のために大きなメモリや回路を必要としないので、低コストで実現可能である。
【0099】
画像処理装置1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、画像処理装置1に供給し、CPU31が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第1及び第2の実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。また、CPU31が、画像処理装置1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1及び第2の実施の形態と同様の効果を奏する。
【0100】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【0101】
1 画像処理装置
2 入力部
3 プリント制御部
4 出力部
5 PDL解釈部
6 色変換部
7 N値化処理部
8 描画部
9 トラッピング部
11 処理領域決定部
12 置換画素値算出部
13 領域特徴量算出部
14 トラッピング判定部
15 注目画素値決定部
【技術分野】
【0001】
本発明は、画像処理装置及びプログラムに関する。
【背景技術】
【0002】
カラー画像の印刷は、複数のプレーン(例えば、CMYKのプレーン)の重ね合わせによって実行される。このとき、重ね合わせの位置が複数のプレーン間でずれると、下地を露出する領域(即ち、白抜け)が発生することがある。この現象は、一般的にレジずれと呼ばれている。この白抜けを防止するために、白抜けが発生する位置に予めプレーンを重ねるトラッピング処理が知られている。また、従来からトラッピング処理を実行する画像処理装置が知られている(例えば、特許文献1,2参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2000−232590号公報
【0004】
【特許文献2】特開2002−165104号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明の目的は、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる画像処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
上記目的を達成するため、請求項1の画像処理装置は、注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段と、前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段と、前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段と、前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段とを備えていることを特徴とする。
【0007】
請求項2の画像処理装置は、請求項1に記載の画像処理装置において、前記特徴量算出手段で使用される領域の大きさを、画像を出力する出力部の仕様又はユーザの入力に応じて変更する変更手段を備えることを特徴する。
【0008】
請求項3の画像処理装置は、請求項1又は2に記載の画像処理装置において、前記参照領域内の参照すべき画素は、前記注目画素の画素値が変更されても、前記ハーフトーン処理されたN値画像が有する周期構造を維持する位置に設定されることを特徴とする。
【0009】
請求項4の画像処理装置は、請求項1乃至3のいずれか1項に記載の画像処理装置において、前記N値画像は、ハーフトーン処理された2値画像であることを特徴とする。
【0010】
請求項5の画像処理装置は、請求項4に記載の画像処理装置において、前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第2条件とを含み、前記特徴量算出手段は、前記設定領域の特徴量として、前記設定領域に含まれる前記第1条件を満たす第1の画素数及び前記設定領域に含まれる前記第2条件を満たす第2の画素数を算出し、前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であり、且つ前記第2の画素数が第2の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定することを特徴とする。
【0011】
請求項6の画像処理装置は、請求項1乃至3のいずれか1項に記載の画像処理装置において、前記N値画像は、ハーフトーン処理された4値画像であることを特徴とする。
【0012】
請求項7の画像処理装置は、請求項6に記載の画像処理装置において、前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第1の色版の画素値が2番目に大きな値であり且つ前記第2の色版を含む他の色版の画素値が0である第2条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第3条件と、前記第2の色版の画素値が2番目に大きな値であり且つ前記第1の色版の画素値が0である第4条件とを含み、前記特徴量算出手段は、前記設定領域の特徴量として、前記領域に含まれる前記第1条件を満たす第1の画素数、前記設定領域に含まれる前記第2条件を満たす第2の画素数、前記設定領域に含まれる前記第3条件を満たす第3の画素数、及び前記設定領域に含まれる前記第4条件を満たす第4の画素数を算出し、前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であるか、又は前記第1の画素数が前記第1の閾値以下の第2の閾値以上であり且つ前記第2の画素数が第3の閾値以上であり、さらに、前記第3の画素数が第4の閾値以上であるか、又は前記第3の画素数が前記第4の閾値以下の第5の閾値以上であり且つ前記第4の画素数が第6の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定することを特徴とする。
【0013】
請求項8のプログラムは、コンピュータを、注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段、前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段、前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段、及び前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段として機能させることを特徴とする。
【発明の効果】
【0014】
請求項1の発明によれば、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる。
【0015】
請求項2の発明によれば、トラッピング処理を行う画素の量を、出力部の仕様又はユーザの入力によって変更することができる。
【0016】
請求項3の発明によれば、N値画像が有する周期構造を維持しながらトラッピング処理を適用することができる。
【0017】
請求項4の発明によれば、ハーフトーン処理された2値画像にトラッピング処理を適用することができる。
【0018】
請求項5の発明によれば、簡易な方法で2値画像のトラッピング処理を行うべき画素を検出することができる。
【0019】
請求項6の発明によれば、ハーフトーン処理された4値画像にトラッピング処理を適用することができる。
【0020】
請求項7の発明によれば、簡易な方法で4値画像のトラッピング処理を行うべき画素を検出することができる。
【0021】
請求項8の発明によれば、ハーフトーン処理されたN値画像にトラッピング処理を適用することができる。
【図面の簡単な説明】
【0022】
【図1】(A)は、第1の実施の形態に係る画像処理装置の構成の一例を示すブロック図である。(B)は、プリント制御部3のハードウエア構成の一例を示す図である。
【図2】(A)は、ハーフトーン処理された2値画像の一例を示す図である。(B)は、図2(A)の文字の一部分の拡大図である。
【図3】(A)は、白抜けが発生している場合のハーフトーン処理された2値画像の一例を示す図である。(B)は、図3(A)の文字の一部分の拡大図である。
【図4】トラッピング処理部9の構成の一例を示すブロック図である。
【図5】トラッピング判定部14の判定結果の一例を示す図である。
【図6】(A)は、黒とシアンが隣接している画像の一例を示す図である。(B)は、黒とシアンが隣接している画像の断面状態の一例を示す図である。(C)は、黒とシアンが隣接している画像の断面状態の他の例を示す図である。
【図7】(A)は、黒とシアンが離れている画像の一例を示す図である。(B)は、黒とシアンが離れている画像の断面状態の一例を示す図である。
【図8】(A)は、参照画素の位置の一例を示す図である。(B)は、参照領域を2値画像に重ねた状態の一例を示す図である。(C)は、参照領域を2値画像に重ねた状態の一例を示す図である。
【図9】(A)は、細かい網点スクリーン(ディザスクリーン)の一例を示す図である。(B)は、スクリーン構造を解析するための領域を示す図である。(C)は、粗い網点スクリーンの一例を示す図である。(D)は、スクリーン構造を解析するための領域を示す図である。
【図10】(A)は、図2(B)の2値画像のトラッピング処理後の状態を示す図である。(B)は、図3(B)の2値画像のトラッピング処理後の状態を示す図である。
【図11】トラッピング部9で実行される処理を示すフローチャートである。
【図12】(A)は、第2の実施の形態に係る、KプレーンがCプレーンに対してずれていない2ビット画像(即ち、4値画像)の例を示す図である。(B)は、第2の実施の形態に係る、KプレーンがCプレーンに対して2画素左にずれている2ビット画像の例を示す図である。
【図13】(A)は、図12(A)の2ビット画像のトラッピング処理後の状態を示す図である。(B)は、図12(B)の2ビット画像のトラッピング処理後の状態を示す図である。
【図14】トラッピング部9で実行される処理を示すフローチャートである。
【発明を実施するための形態】
【0023】
以下、図面を参照しながら本発明の実施の形態を説明する。
【0024】
(第1の実施の形態)
図1(A)は、第1の実施の形態に係る画像処理装置の構成を示すブロック図である。
【0025】
図1において、画像処理装置1は、例えば、プリンタ、コピー機又は複合機である。画像処理装置1は、入力部2、プリント制御部3及び出力部4を備えている。入力部2は、画像データを入力するインターフェースである。プリント制御部3は、図1(B)に示すように、CPU31、メモリ32及び通信インターフェース(I/F)33で構成されており、入力した画像データに所定の画像処理を実行する。出力部4は、画像処理が施された画像データを記録紙に出力する。
【0026】
プリント制御部3は、PDL解釈部5、色変換部6、N値化処理部7(N=2以上)、描画部8及びトラッピング部9を備えている。PDL(Page Description Language)解釈部5は、ページ記述言語を解釈し、画像データを展開する。色変換部6は、画像データのRGBデータ(Red, Green, Blue)をCMYKデータ(Cyan, Magenta, Yellow, Black)に変換する。N値化処理部7は、画像データに対し、N値化処理(例えばハーフトーン処理)を実行する。描画部8は、N値化処理されたデータを貯めて、ビットマップ画像を作成する。トラッピング処理部9は、画像データの白抜けを防止するためのトラッピング処理を行う。
【0027】
図2(A)は、ハーフトーン処理された2値画像を示す図であり、図2(B)は、図2(A)の文字の一部分の拡大図である。図3(A)は、白抜けが発生している場合のハーフトーン処理された2値画像を示す図であり、図3(B)は、図3(A)の文字の一部分の拡大図である。
【0028】
図2(A)及び図3(A)に示すように、例えば、ハーフトーン処理された2値画像は、黒色(K)の文字「B」とシアン色(C)の背景で構成されている。2値画像は、ディザマトリクス等のハーフトーン処理で生成されるため、図2(B)及び図3(B)に示すような、網点状の画像となる。このような2値画像において、記録紙上でKプレーン及びCプレーンの印刷位置がずれると白抜けが発生する。白抜けは、色プレーン間の位置ずれによって記録紙の地肌(白色)が文字の輪郭に沿って露出することである。図3(A)及び(B)は、KプレーンがCプレーンに対して、左方向に2画素ずれた場合の例を示している。尚、KプレーンやCプレーンのような色プレーンは色版とも呼ばれる。
【0029】
以下の説明では、K(Black)とC(Cyan)の2つの色プレーン間にトラッピング処理を行うものとし、文字の輪郭に沿って2ドット幅にトラッピング処理を行う例を説明する。また、トラッピング部9に入力される画像データは、ハーフトーン処理された2値画像であるものとする。
【0030】
図4は、トラッピング処理部9の構成を示すブロック図である。
【0031】
トラッピング処理部9は、処理領域決定部11(変更手段)、置換画素値算出部12(画素値算出手段)、領域特徴量算出部13(特徴量算出手段)、トラッピング判定部14(トラッピング判定手段)、及び注目画素値決定部15(注目画素値変更手段)を備えている。
【0032】
処理領域決定部11は、2値画像を取得すると、図2(B)に示すように、中央の画素を注目画素とする5(ドット)x5(ドット)の領域を処理領域50として決定する。処理領域50は、5(ドット)x5(ドット)の領域に限定されるものではなく、3(ドット)x3(ドット)の領域でも7(ドット)x7(ドット)の領域でもよい。
【0033】
置換画素値算出部12は、処理領域50内の2値画像の画素配置の特徴に基づいて、注目画素の置換画素値を算出する。領域特徴量算出部13は、処理領域50の特徴量を算出する。トラッピング判定部14は、処理領域50の特徴量に基づいて、注目画素がトラッピング処理されるべき画素であるか否かを判定する。注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、出力される注目画素値を決定する。
【0034】
ここで、処理領域50のサイズの決定方法を説明する。
【0035】
5(ドット)x5(ドット)の処理領域50では、注目画素が黒文字の内側端の位置に置かれた場合に(図2(B)及び図3(B)参照)、2ドット幅以下の白抜けがある場合には、使用可能であるが、3ドット幅以上の白抜けがある場合には、使用できない。これは、2ドット幅以下の白抜けがある場合には、シアンの画素が処理領域50に含まれるが、3ドット幅以上の白抜けがある場合には、シアンの画素が処理領域50に含まれないからである。従って、5(ドット)x5(ドット)の処理領域50は、文字や数字などの対象の輪郭部に対して2ドット幅以下のトラッピング処理を行う場合に使用可能である。
【0036】
同様に、処理領域50が3(ドット)x3(ドット)の領域である場合には、処理領域50は輪郭部に対して1ドット幅のトラッピング処理を行う場合に使用可能である。処理領域50が7(ドット)x7(ドット)の領域である場合には、処理領域50は対象の輪郭部に対して3ドット幅以下のトラッピング処理を行う場合に使用可能である。
【0037】
このように、トラッピング処理を行うドット幅は、処理領域50のサイズによって変更することが可能である。トラッピング処理を行う場合には、対象の輪郭部をトラッピング処理するためのドット幅を決定する必要がある。このドット幅は、出力部4の仕様から想定されるレジずれのサイズで予め設定することができる。従って、処理領域決定部11は、出力部4からその仕様の通知を受けて、処理領域50のサイズを決定する。また、処理領域決定部11は、ユーザからの入力(例えば、5(ドット)x5(ドット)の領域を選択する指示)に基づいて、処理領域50のサイズを決定してもよい。
【0038】
次に、入力した2値画像内の各画素がトラッピング処理の対象であるか否かを判定する判定方法を説明する。
【0039】
まず、領域特徴量算出部13が、処理領域50を参照して、下記の特徴量を算出する。
(1)K=ON且つC=OFF且つM=OFF且つY=OFF(第1条件)の画素数:これを「K画素数」という。K=ON且つC=OFF且つM=OFF且つY=OFFが領域特徴量算出部13が特徴量を算出するための第1条件である。
(2)C=ON且つK=OFF(第2条件)の画素数:これを「C画素数」という。Cプレーンの処理では、C=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。Mプレーンの処理では、M=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。M=ON且つK=OFFの画素数は「M画素数」という。Yプレーンの処理では、Y=ON且つK=OFFが領域特徴量算出部13が特徴量を算出するための第2条件となる。Y=ON且つK=OFFの画素数は「Y画素数」という。
【0040】
K画素数は、K単色である画素数を示し、C画素数はKと重なっていないC色(Cyan)の画素数を示している。図2(B)では、K画素数=6、C画素数=5となり、この結果がトラッピング判定部14へ送られる。
【0041】
トラッピング判定部14は、領域特徴量算出部13の算出結果に基づいて、K画素数がK画素数閾値以上であり、且つC画素数がC画素数閾値以上であるか否かを判定する。この判定条件を満たす場合には、トラッピング判定部14は、注目画素をトラッピング処理すべき画素と判定する。つまり、トラッピング判定部14は、K画素数及びC画素数の2つの特徴量をK画素数閾値及びC画素数閾値の2つの閾値と比較することにより、K画素及びC画素が互いに隣接しているか、即ち白抜けが目立ちやすいか否かを判定する。この2つの閾値(即ち、K画素数閾値及びC画素数閾値)は、ハーフトーン処理の特徴やトラッピング処理の条件によって予め決定する。本実施の形態では、K画素数閾値=3、C画素数閾値=1とする。この2つの閾値を使用した場合の図2(B)の全画素の判定結果を図5に示す。図5に示すように、トラッピング判定部14は、2値画像の文字と背景の境界にトラッピング対象の画素を検出し、検出結果を注目画素値決定部15へ送信する。
【0042】
ここで、K画素数閾値とC画素数閾値の決定方法を説明する。
【0043】
白抜けは、色プレーン間のずれによって生じるため、色プレーンの隣接状態を検出する必要がある。図6(A)は、黒とシアンが隣接している画像の一例を示す図である。図6(B)は、黒とシアンが隣接している画像の断面状態の一例を示す図である。図6(C)は、黒とシアンが隣接している画像の断面状態の他の例を示す図である。図7(A)は、黒とシアンが離れている画像の一例を示す図である。図7(B)は、黒とシアンが離れている画像の断面状態の一例を示す図である。
【0044】
図6(A)のように、黒とシアンが隣接している画像では、トラッピング処理が必要な場合とトラッピング処理が不要な場合がある。図6(B)のように、黒とシアンが重なっていない状態でレジずれが発生すると、白抜けが発生する。従って、図6(B)の場合、トラッピング処理が必要である。一方、図6(C)のように、黒とシアンが重なっている状態でレジずれが発生すると、白抜けは発生しない。従って、図6(C)の場合、トラッピング処理は不要である。また、図7(A)、(B)のように、黒とシアンが離れている画像では、下地が露出することが正常であるので、トラッピング処理は不要である。
【0045】
上述したように、K画素数は、処理領域50内のK=ON且つC=OFF且つM=OFF且つY=OFFである画素数を示し、C画素数は、処理領域50内のK=OFF且つC=ONである画素数を示す。従って、処理領域50内のK画素数が多い場合には、処理領域50は図6(B)又は図7(B)の黒(K)矩形の内部又は輪郭部に配置されていることになる。同時に、処理領域50内のC画素数が多い場合には、処理領域50は図6(B)の黒(K)矩形の輪郭部に配置されていることになり、処理領域50内のC画素数が0の場合には、処理領域50は図6(B)の黒(K)矩形の内部もしくは図7(B)の黒(K)矩形の内部又は輪郭部に配置されていることになる。従って、トラッピング判定部14は、K画素数とC画素数の閾値を少なくとも1以上に設定することによって、トラッピング処理が必要な輪郭部を検出することができる。
【0046】
但し、K画素数及びC画素数は、それぞれの色プレーンの濃さを示しており、K画素数閾値及びC画素数閾値はトラッピング処理のかかりやすさの制御値になる。K画素数閾値及びC画素数閾値は「1」であるときに、トラッピング処理が実行されやすくなるが、誤判定も増える。従って、トラッピング判定部14がK画素数閾値及びC画素数閾値を決定する際には、下記の(1)〜(3)の条件も考慮する必要がある。
【0047】
(1)K画素及びC画素の分布条件。例えば、K画素は文字の内部だけにある、又はK画素が文字の周囲にもC画素とともに存在するなど。
(2)処理領域50のサイズ。例えば、処理領域50が5(ドット)x5(ドット)の領域である場合のK画素数閾値及びC画素数閾値は、処理領域50が3(ドット)x3(ドット)の領域である場合のK画素数閾値及びC画素数閾値よりも大きくする。
(3)2値化のスクリーンの種類。スクリーンの粗さに応じてK画素数閾値及びC画素数閾値を変更する。
【0048】
トラッピング判定部14は、これらの条件を考慮しながら、印刷の条件ごとにK画素数閾値及びC画素数閾値を求めて、予め設定値としてK画素数閾値及びC画素数閾値を保持する。トラッピング判定部14は、印刷時に、印刷の条件に応じて、K画素数閾値及びC画素数閾値を選択する。また、トラッピング判定部14は、処理領域50が5(ドット)x5(ドット)の領域である場合のK画素数閾値及びC画素数閾値を予め決定し、印刷時に使用される処理領域50のサイズに合わせて自動的にK画素数閾値及びC画素数閾値を変更してもよい。
【0049】
次に、トラッピング処理の対象であると判定された画素に対応する置換画素値の算出方法を説明する。
【0050】
置換画素値算出部12は、設定された参照領域51内の2値画像の画素配置の特徴から、注目画素の置換画素値を算出する。置換画素値算出部12は、画素配置を参照する参照領域51を、2値画像の特徴等を考慮して決定するが、ここでは、トラッピング判定時に使用された処理領域50と同じサイズの5(ドット)x5(ドット)の参照領域51を使用するものとする。まず、置換画素値算出部12は、図8(A)のように、予め参照画素の位置を設定する。参照画素の位置は、注目画素がONである場合にONである確率の高い位置であり、2値化時のディザマトリクスの周期性などから算出される。図8(A)の例では、シアン(C)のドットパターンの周期性に基づいて、5(ドット)x5(ドット)の領域のうちの×印を付けた4画素が参照画素として指定されている。
【0051】
置換画素値算出部12は、ONになっている参照画素の数を算出し、所定の閾値(以下、シアン参照画素数閾値という)と比較する。置換画素値算出部12は、ONになっている参照画素の数がシアン参照画素数閾値以上であれば、注目画素の画素置換値がONであると判定し、ONになっている参照画素の数がシアン参照画素数閾値未満であれば、注目画素の画素置換値がOFFであると判定する。置換画素値算出部12は、この判定結果を注目画素値決定部15に送信する。本実施の形態では、シアン参照画素数閾値=1とする。つまり、4箇所の参照画素のうち、1箇所でもシアン画素がONになっていれば、置換画素値算出部12は、注目画素の置換画素値をONにする。図8(B)の例では、右上の参照画素がONであるので、注目画素の置換画素値はONになる。一方、図8(C)の例では、全参照画素がOFFであるので、注目画素の置換画素値はOFFになる。置換画素値算出部12は、入力された2値画像の全画素について置換画素値を算出する。この算出方法により、入力された2値画像のシアンの特徴(即ち、線数、角度の周期性)をそのまま保持することが可能となっている。
【0052】
ここで、参照画素の位置の決定方法を説明する。参照画素の位置の決定方法は、(1)ディザマトリクス構造から決定する方法、(2)画像解析で決定する方法、又は(3)実験的に決定する方法がある。
【0053】
まず、(1)ディザマトリクス構造から参照画素の位置を決定する方法について説明する。
【0054】
2値化処理としてのディザ処理によって2値化された画像は、必ずスクリーン構造(即ち、周期構造)を持っている。注目画素の置換において、無秩序にON画素が増えた場合には、トラッピング処理する画像の輪郭部が縁取りされてしまう。そこで、元々、2値画像が持っているスクリーン構造を維持できるような注目画素値の決定方法が必要となる。注目画素がトラッピング処理すべき画素と判定された場合、スクリーン構造を持っている画像が注目画素の周囲に存在していると考えられる。そこで、置換画素値算出部12は、注目画素の周囲を参照して2値画像のスクリーン構造を判断する。
【0055】
図9(A)は、細かい網点スクリーン(ディザスクリーン)の一例を示す図である。図9(B)は、スクリーン構造を解析するための参照領域51を示す図である。図9(A)中の数字は、画素がONになる順番を示している。このディザスクリーンでは、図9(B)に示す×印の4画素がONになっている場合に、注目画素をONにしても、スクリーン構造が維持される。逆に、図9(B)に示す×印の4画素がOFFになる場合に、注目画素をONにすると、スクリーン構造が崩れる。そこで、置換画素値算出部12は、5(ドット)x5(ドット)の参照領域51を設定し、その参照領域51内の4画素のうちでいくつがONになっているかで注目画素をONにするか否かを決定する。このON数の閾値は、1〜4個で指定される。閾値が小さければ、注目画素はONになりやすく、トラッピング処理の効果を得やすい。その反面、スクリーン構造の誤判定が増加する。閾値は、トラッピング処理の効果と誤判定のバランスで決定する。
【0056】
図9(C)は、粗い網点スクリーンの一例を示す図である。図9(D)は、スクリーン構造を解析するための参照領域51を示す図である。図9(C)のスクリーンでは、置換画素値算出部12は5(ドット)x5(ドット)の参照領域を設定しても、2値画像のスクリーン構造を判断できないので、図9(D)の7(ドット)x7(ドット)の参照領域51を設定する。注目画素の決定方法は、上述した方法と同様である。
【0057】
このようにして、置換画素値算出部12は、スクリーン構造を解析するための参照領域51のサイズ及び参照画素の位置を決定することができる。置換画素値算出部12が2値化時に使用したスクリーンを予め認識している場合には、置換画素値算出部12は、そのスクリーンの情報を用いて、参照画素の位置を決定することができる。画像処理装置1で使われるスクリーンが1種類である場合には、置換画素値算出部12は、予め決めておいた参照画素の位置を固定的に使用してもよい。また、複数のスクリーンが使われる場合には、置換画素値算出部12は、使うスクリーンの情報に基づいて、スクリーン構造(周期構造)を計算で求め、参照画素の位置を決定するか、又は、使われるスクリーンごとの参照画素の位置情報を予め保持し、使われるスクリーンごとに参照画素の位置を切り替えるようにする。
【0058】
次に、(2)画像解析で参照画素の位置を決定する方法を説明する。
【0059】
置換画素値算出部12は、2値化時に使用したスクリーンを認識していない場合には、2値画像の解析で参照画素の位置を推測する。例えば、置換画素値算出部12は、2値画像のCMYKの各プレーンごとに、任意の画素がONであるときに周囲画素の各々がONである確率を計算し、確率の高い画素を参照画素とする。
【0060】
次に、(3)実験的に参照画素の位置を決定する方法を説明する。
【0061】
2値化時に使用したスクリーンが誤差拡散のように周期構造を持たないスクリーンである場合には、ユーザが参照位置を変えて実験し、最も効果的な位置を求める。また、実験的に参照画素の位置を決定する場合には、上記(1)又は(2)の方法との併用も可能である。この場合、上記(1)又は(2)の方法で、参照画素の位置を仮決定した後に、ユーザが実際に印刷結果を見ながら、参照画素の位置を調整する。
【0062】
尚、本実施の形態では、4つの参照画素を指定しているが、参照画素を増やしてもよい。例えば、細かい周期と粗い周期を組み合わせたディザマトリクス(スクリーン構造)の場合には、参照画素を8つにすることもできる。また、本実施の形態では、ONである画素数を基準として参照画素の位置を決定しているが、画素位置に優先順位を付けて、参照画素の位置を判断してもよい。
【0063】
次に、注目画素値の決定方法について説明する。
【0064】
注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、下記の条件(1)〜(4)に従って、出力される注目画素値を決定する。
【0065】
(1)トラッピング判定部14が、注目画素がトラッピング処理の対象画素でないと判定した場合には、注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(2)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がOFFである場合には、注目画素値決定部15は、入力した2値画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(3)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がONで、且つ入力した2値画像内の注目画素に対応する画素値がOFFである場合には、注目画素値決定部15は、注目画素値として「ON」を出力する。この場合、注目画素はOFFからONに変更される。例えば、注目画素が下地の白ならば、シアンに変更される。
(4)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値がONで、且つ入力した2値画像内の注目画素に対応する画素値がONである場合には、注目画素値決定部15は、注目画素値として「ON」を出力する。この場合、注目画素は変更されない。
【0066】
トラッピング処理後の2値画像の状態を図10(A)及び図10(B)に示す。図10(A)は、図2(B)の2値画像(即ち、KプレーンがCプレーンに対してずれていない2値画像)のトラッピング処理後の状態を示す。図10(B)は、図3(B)の2値画像(即ち、KプレーンがCプレーンに対して2画素左にずれている2値画像)のトラッピング処理後の状態を示す。
【0067】
図10(A)に示すように、KプレーンがCプレーンに対してずれていない2値画像は、トラッピング処理後に黒(K)とシアン(C)が重なる画素が発生する。これは、トラッピング判定部14によって、文字の内側の輪郭だけでなく、背景側にもトラッピング処理の対象であると判定される画素が存在するからである。しかしながら、置換画素値算出部12と注目画素値決定部15の処理によって、トラッピング処理が2値画像のシアン(C)の特徴(周期及び角度等)に影響を与えることがないため、問題は発生しない。
【0068】
KプレーンがCプレーンに対して2画素左にずれている2値画像では、図10(B)に示すように、トラッピング部9のトラッピング処理によって白抜けが発生しなくなる。処理領域決定部11、置換画素値算出部12、領域特徴量算出部13、トラッピング判定部14及び注目画素値決定部15は、上述した処理をマゼンタ(magenta)及びイエロー(yellow)のプレーン対しても同様に行う。これにより、黒の文字の周囲に白抜けが発生しなくなる。
【0069】
図11は、トラッピング部9で実行される処理を示すフローチャートである。
【0070】
まず、処理領域決定部11が2値画像を取得し(ステップS1)、処理領域50を設定する(ステップS2)。置換画素値算出部12は、取得した2値画像が持っているスクリーン構造を解析するための参照領域51を設定する(ステップS3)。さらに、置換画素値算出部12は、参照領域51内の2値画像の画素配置の特徴から、注目画素の置換画素値を算出する(ステップS4)。領域特徴量算出部13は処理領域50内のK画素数を算出する(ステップS5)。トラッピング判定部14は、領域特徴量算出部13によって算出されたK画素数がK画素数閾値以上であるか否かを判定する(ステップS6)。ステップS6でNOの場合には、本処理を終了する。一方、ステップS6でYESの場合には、領域特徴量算出部13は処理領域50内のC画素数を算出する(ステップS7)。トラッピング判定部14は、領域特徴量算出部13によって算出されたC画素数がC画素数閾値以上であるか否かを判定する(ステップS8)。
【0071】
ステップS8でNOの場合には、後述するステップS11のMプレーン処理に進む。一方、ステップS8でYESの場合には、注目画素値決定部15が、置換画素値算出部12からの出力値がON(即ち、置換画素値=ON)であるか否かを判別する(ステップS9)。ステップS9でNOの場合、後述するステップS11のMプレーン処理に進む。一方、ステップS9でYESの場合、注目画素値決定部15が、入力した2値画像内の注目画素の画素値がOFFであるか否かを判別する(ステップS10)。ステップS10でNOの場合、後述するステップS12のMプレーン処理に進む。一方、ステップS10でYESの場合、注目画素値決定部15は、注目画素を置換画素値に変更する(ステップS11)。ここで、ステップS7〜ステップS11の処理をCプレーン処理という。ステップS11の後に、マゼンタ(magenta)に対してステップS7〜ステップS11と同様の処理(即ち、Mプレーン処理)が実行され(ステップS12)、イエロー(yellow)に対してステップS7〜ステップS11と同様の処理(即ち、Yプレーン処理)が実行される(ステップS13)。その後、本処理は終了する。
【0072】
以上説明したように、第1の実施の形態によれば、領域特徴量算出部13が、注目画素を中心として設定された処理領域50内に含まれる各画素における複数の色版の画素値の組み合わせ条件(即ち、(1)K=ON且つC=OFF且つM=OFF且つK=OFFの画素数、及び(2)C=ON且つK=OFF)に基づいて、処理領域50の特徴量を算出する。トラッピング判定部14は、領域特徴量算出部13により算出された特徴量に基づいて、複数の色版によって構成されるハーフトーン処理された2値画像の各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する。置換画素値算出部12は、注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に参照領域51内に設定し、設定された参照すべき画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する。注目画素値決定部15は、トラッピング判定部14が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、2値画像内の注目画素に対応する画素値を、置換画素値算出部12により算出された画素値に変更する。よって、簡易な方法でハーフトーン処理された2値画像にトラッピング処理を適用することができる。
【0073】
(第2の実施の形態)
第1の実施の形態では、入力画像データがスクリーン処理された2値画像であるが、第2の実施の形態では、入力画像データが4値の多値スクリーン処理された2ビット画像(即ち、4値画像)であるものとする。第2の実施の形態の画像処理装置は、第1の実施の形態にかかる画像処理装置1と同様である。
【0074】
以下の説明では、第1の実施の形態と同様に、K(Black)とC(Cyan)の2つの色プレーン間にトラッピング処理を行うものとし、文字の輪郭に沿って2ドット幅にトラッピング処理を行う例を説明する。
【0075】
スクリーン処理された2ビット画像は、4種類の画素値(2進数で00、01、10、11)を持つ。例えば、2ビット画像が薄い画像である場合には、画素値「00」と「01」が相対的に多くなる。2ビット画像が濃くなるに従って、画素値「10」が増加し、さらに2ビット画像が濃くなると、画素値「11」が増加する。2ビット画像がいわゆるべた画像である場合は、2ビット画像は、画素値「11」のK画素及びC画素で構成される。ここで、スクリーン処理された2ビット画像の一例を図12(A)及び図12(B)に示す。図12(A)は、KプレーンがCプレーンに対してずれていない2ビット画像の例を示す。図12(B)は、KプレーンがCプレーンに対して2画素左にずれている2ビット画像の例を示す。図12(A)及び図12(B)において、黒色の濃さ(K1、K2、K3)及びシアン色の濃さ(C1、C2、C3)は、それぞれ画素値「01」、「10」、「11」に対応している。尚、画素値「00」は濃度「0」を示す。
【0076】
第1の実施の形態と同様に、処理領域決定部11は、2ビット画像を取得すると、図12(A)に示すように、中央の画素を注目画素とする5(ドット)x5(ドット)の領域を処理領域50として決定する。この処理領域50内の画像データは、領域特徴量算出部13及び置換画素値算出部12へ送信される。処理領域50のサイズの決定方法は、第1の実施の形態の決定方法と同様である。
【0077】
入力した2ドット画像内の各画素がトラッピング処理の対象であるか否かを判定する判定方法を説明する。
【0078】
まず、領域特徴量算出部13が、処理領域50を参照して、下記の特徴量を算出する。
(1)K=11且つC=00且つM=00且つY=00の画素数:これを「第1K画素数」という。K=11且つC=00且つM=00且つY=00が領域特徴量算出部13が特徴量を算出するための第1条件となる。
(2)K=10且つC=00且つM=00且つY=00の画素数:これを「第2K画素数」という。K=10且つC=00且つM=00且つY=00が領域特徴量算出部13が特徴量を算出するための第2条件となる。
(3)C=11且つK=00の画素数:これを「第1C画素数」という。Cプレーンの処理では、C=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。Mプレーンの処理では、M=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。M=11且つK=00の画素数は「第1M画素数」という。Yプレーンの処理では、Y=11且つK=00が領域特徴量算出部13が特徴量を算出するための第3条件となる。Y=11且つK=00の画素数は、「第1Y画素数」という。
(4)C=10且つK=00の画素数:これを「第2C画素数」という。Cプレーンの処理では、C=10且つK=00が領域特徴量算出部13が特徴量を算出するための第4条件となる。Mプレーンの処理では、M=10且つK=00が領域特徴量算出部13が特徴量を算出するための第4条件となる。M=10且つK=00の画素数は、「第2M画素数」という。Yプレーンの処理では、Y=10且つK=00領域特徴量算出部13が特徴量を算出するための第4条件となる。Y=10且つK=00の画素数は「第2Y画素数」という。
【0079】
第1の実施の形態と同様に、領域特徴量算出部13は、K単色である画素数を示す第1K画素数及びKと重なっていないC色(Cyan)の画素数を示す第1C画素数を算出している。さらに第2の実施の形態では、領域特徴量算出部13は、2番目に濃い濃度のKの画素数を示す第2K画素数及び2番目に濃い濃度のCの画素数を示す第2C画素数を算出する。図12(A)では、第1K画素数=4、第2K画素数=2、第1C画素数=3、第2C画素数=2となり、この結果がトラッピング判定部14へ送られる。
【0080】
トラッピング判定部14は、領域特徴量算出部13の算出結果に基づいて、下記の2つの判定を行う。
【0081】
(判定1)
下記の(A)及び(B)のいずれかの条件を満たすときに、判定1は真となる。
(A)第1K画素数がK画素数閾値A1以上
(B)第1K画素数がK画素数閾値A2(<=K画素数閾値A1)以上、且つ第2K画素数がK画素数閾値B1以上
(判定2)
下記の(C)及び(D)のいずれかの条件を満たすときに、判定2は真となる。
(C)第1C画素数がC画素数閾値C1以上
(D)第1C画素数がC画素数閾値C2(<=C画素数閾値C1)以上、且つ第2C画素数がC画素数閾値D1以上
【0082】
トラッピング判定部14は、上記判定1且つ上記判定2が共に真である場合に、注目画素をトラッピング処理すべき画素と判定する。つまり、トラッピング判定部14は、第1K画素数、第2K画素数、第1C画素数及び第2C画素数の4つの特徴量を6つの閾値と比較することにより、白抜けが目立ちやすいか否かを判定している。
【0083】
この6つの閾値(即ち、K画素数閾値A1、K画素数閾値A2、K画素数閾値B1、C画素数閾値C1、C画素数閾値C2、及びC画素数閾値D1)は、2ビット化の処理の特徴やトラッピング処理の条件によって予め決定する。本実施の形態では、K画素数閾値A1=3、K画素数閾値A2=2、K画素数閾値B1=2、C画素数閾値C1=1、C画素数閾値C2=0、及びC画素数閾値D1=2とする。
【0084】
この6つの閾値を使用し、処理領域50でトラッピング判定した結果は、第1の実施の形態と同様に、図5となる。図5に示すように、トラッピング判定部14は、2ビット画像の文字と背景の境界にトラッピング対象の画素を検出し、検出結果を注目画素値決定部15へ送信する。
【0085】
次に、トラッピング処理の対象であると判定された画素に対応する置換画素値の算出方法を説明する。
【0086】
まず、置換画素算出部12は、図8(A)のように、予め参照画素の位置を設定する。参照画素の位置の決定方法は、第1の実施の形態の決定方法と同様である。そして、置換画素算出部12は、参照位置のC画素が「00(白)」でない画素の数を画素値ごとに算出し、最も数の多い画素値を置換画素値とする。異なる画素値の画素数が同数である場合には、置換画素算出部12は、予め設定した方法で置換画素値を算出する。予め設定した方法とは、濃い画素値又は薄い画素値のいずれかを選択する、もしくは複数の画素値の組み合わせ条件に基づいて濃い画素値又は薄い画素値のいずれかを選択する等である。このようにして、置換画素算出部12は、2ビット画像のすべての画素について置換画素値を算出する。この算出方法により、入力された2ビット画像のシアンの特徴(即ち、線数、角度の周期性)をそのまま保持することが可能となっている。
【0087】
次に、注目画素値の決定方法について説明する。
【0088】
注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値、トラッピング判定部14からの出力値、及び置換画素値算出部12からの出力値に基づいて、下記の条件(1)〜(4)に従って、出力される注目画素値を決定する。
【0089】
(1)トラッピング判定部14が、注目画素がトラッピング処理の対象画素でないと判定した場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(2)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」である場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
(3)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」以外で、且つ入力した2値画像内の注目画素に対応する画素値が「00(白)」である場合には、注目画素値決定部15は、注目画素値として置換画素値算出部12からの出力値を出力する。この場合、注目画素は置換画素値に変更される。例えば、注目画素が下地の白ならば、シアンに変更される。
(4)トラッピング判定部14が、注目画素がトラッピング処理の対象画素であると判定し、且つ置換画素値算出部12からの出力値が「00(白)」以外で、且つ入力した2値画像内の注目画素に対応する画素値が「00(白)」以外である場合には、注目画素値決定部15は、入力した2ビット画像内の注目画素に対応する画素値を注目画素値としてそのまま出力する。
【0090】
トラッピング処理後の2ビット画像の状態を図13(A)及び図13(B)に示す。図13(A)は、図12(A)の2ビット画像(即ち、KプレーンがCプレーンに対してずれていない2ビット画像)のトラッピング処理後の状態を示す。図13(B)は、図12(B)の2ビット画像(即ち、KプレーンがCプレーンに対して2画素左にずれている2ビット画像)のトラッピング処理後の状態を示す。
【0091】
図13(A)に示すように、KプレーンがCプレーンに対してずれていない2値画像は、トラッピング処理後に黒(K)とシアン(C)が重なる画素が発生する。これは、トラッピング判定部14によって、文字の内側の輪郭だけでなく、背景側にもトラッピング処理の対象であると判定される画素が存在するからである。しかしながら、置換画素値算出部12と注目画素値決定部15の処理によって、トラッピング処理が2ビット画像のシアン(C)の特徴(周期及び角度等)に影響を与えることがないため、問題は発生しない。
【0092】
KプレーンがCプレーンに対して2画素左にずれている2ビット画像では、図13(B)に示すように、トラッピング部9のトラッピング処理によって白抜けが発生しなくなる。処理領域決定部11、置換画素値算出部12、領域特徴量算出部13、トラッピング判定部14及び注目画素値決定部15は、上述した処理をマゼンタ(magenta)及びイエロー(yellow)のプレーン対しても同様に行う。これにより、黒の文字の周囲に白抜けが発生しなくなる。
【0093】
図14は、トラッピング部9で実行される処理を示すフローチャートである。
【0094】
まず、処理領域決定部11が2ビット画像(4値画像)を取得し(ステップS21)、処理領域50を設定する(ステップS22)。置換画素値算出部12は、取得した2値画像が持っているスクリーン構造を解析するための参照領域51を設定する(ステップS23)。さらに、置換画素値算出部12は、参照領域51内の2ビット画像の画素配置の特徴から、注目画素の置換画素値を算出する(ステップS24)。領域特徴量算出部13は処理領域50内の第1K画素数及び第2K画素数を算出する(ステップS25)。トラッピング判定部14は、領域特徴量算出部13によって算出された第1K画素数がK画素数閾値A1以上であるか否かを判定する(ステップS26)。ステップS26でYESの場合には、後述するステップS28に進む。ステップS26でNOの場合には、トラッピング判定部14は、第1K画素数がK画素数閾値A2(<=K画素数閾値A1)以上、且つ第2K画素数がK画素数閾値B1以上であるか否かを判別する(ステップS27)。ステップS27でNOの場合には、本処理を終了する。一方、ステップS27でYESの場合には、領域特徴量算出部13は、処理領域50内の第1C画素数及び第2C画素数を算出する(ステップS28)。
【0095】
トラッピング判定部14は、領域特徴量算出部13によって算出された第1C画素数がC画素数閾値C1以上であるか否かを判定する(ステップS29)。ステップS29でYESの場合には、後述するステップS31に進む。一方、ステップS29でNOの場合には、トラッピング判定部14は、第1C画素数がC画素数閾値C2(<=C画素数閾値C1)以上、且つ第2C画素数がC画素数閾値D1以上であるか否かを判定する(ステップS30)。ステップS30でNOの場合には、後述するステップS34のMプレーン処理に進む。一方、ステップS30でYESの場合には、注目画素値決定部15が、置換画素値算出部12からの出力値が「00」以外である(即ち、置換画素値=11,10,又は01)であるか否かを判別する(ステップS31)。ステップS31でNOの場合、後述するステップS34のMプレーン処理に進む。一方、ステップS31でYESの場合、注目画素値決定部15が、入力した2ビット画像内の注目画素に対応する画素値が「00」であるか否かを判別する(ステップS32)。ステップS32でNOの場合、後述するステップS34のMプレーン処理に進む。一方、ステップS32でYESの場合、注目画素値決定部15は、注目画素を置換画素値に変更する(ステップS33)。ここで、ステップS28〜ステップS33の処理をCプレーン処理という。ステップS33の後に、マゼンタ(magenta)に対してステップS28〜ステップS33と同様の処理(即ち、Mプレーン処理)が実行され(ステップS34)、イエロー(yellow)に対してステップS28〜ステップS33と同様の処理(即ち、Yプレーン処理)が実行される(ステップS35)。その後、本処理は終了する。
【0096】
以上説明したように、第2の実施の形態によれば、領域特徴量算出部13が、注目画素を中心として設定された処理領域50内に含まれる各画素における複数の色版の画素値の組み合わせ条件(即ち、(1)K=11且つC=00且つM=00且つY=00の画素数、(2)K=10且つC=00且つM=00且つY=00の画素数、(3)C=11且つK=00の画素数、及び(4)C=10且つK=00の画素数)に基づいて、処理領域50の特徴量を算出する。トラッピング判定部14は、領域特徴量算出部13により算出された特徴量に基づいて、複数の色版によって構成されるハーフトーン処理された4値画像の各色版毎に、注目画素がトラッピング処理を行うべき画素であるか否かを判定する。置換画素値算出部12は、注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に参照領域51内に設定し、設定された参照すべき画素の位置における各色版毎の画素値に基づいて、注目画素の画素値を算出する。注目画素値決定部15は、トラッピング判定部14が、注目画素がトラッピング処理を行うべき画素であると判定した場合に、4値画像内の注目画素に対応する画素値を、置換画素値算出部12により算出された画素値に変更する。よって、簡易な方法でハーフトーン処理された4値画像にトラッピング処理を適用することができる。
【0097】
従来のトラッピング処理では、白抜けが発生する境界領域を判定するために、8ビットの入力画像を使用することを前提としている。このため、省メモリの対策として、入力画像を2値化し、2値画像を保存する画像処理装置、又はアプリケーションで入力画像に対してN値のハープトーン処理を行い、N値画像を出力部に送る画像処理装置には、従来のトラッピング処理を適用できない。従って、上述した第1及び第2の実施の形態は、これらの画像処理装置に特に有効である。
【0098】
また、第1及び第2の実施の形態では、色プレーンの画素値の組み合わせ条件の判定とハーフトーン構造を維持する画素置換値を用いて、トラッピング処理を実現しているので、パターンマッチング処理のように、大きな領域を使って高精度に白抜けが発生する境界を検出する必要がない。そのため、トラッピング処理のために大きなメモリや回路を必要としないので、低コストで実現可能である。
【0099】
画像処理装置1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、画像処理装置1に供給し、CPU31が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第1及び第2の実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。また、CPU31が、画像処理装置1の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1及び第2の実施の形態と同様の効果を奏する。
【0100】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【符号の説明】
【0101】
1 画像処理装置
2 入力部
3 プリント制御部
4 出力部
5 PDL解釈部
6 色変換部
7 N値化処理部
8 描画部
9 トラッピング部
11 処理領域決定部
12 置換画素値算出部
13 領域特徴量算出部
14 トラッピング判定部
15 注目画素値決定部
【特許請求の範囲】
【請求項1】
注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段と、
前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段と、
前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段と、
前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段と
を備えていることを特徴とする画像処理装置。
【請求項2】
前記特徴量算出手段で使用される領域の大きさを、画像を出力する出力部の仕様又はユーザの入力に応じて変更する変更手段を備えることを特徴する請求項1に記載の画像処理装置。
【請求項3】
前記参照領域内の参照すべき画素は、前記注目画素の画素値が変更されても、前記ハーフトーン処理されたN値画像が有する周期構造を維持する位置に設定されることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記N値画像は、ハーフトーン処理された2値画像であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第2条件とを含み、
前記特徴量算出手段は、前記設定領域の特徴量として、前記設定領域に含まれる前記第1条件を満たす第1の画素数及び前記設定領域に含まれる前記第2条件を満たす第2の画素数を算出し、
前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であり、且つ前記第2の画素数が第2の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定する
ことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記N値画像は、ハーフトーン処理された4値画像であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項7】
前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第1の色版の画素値が2番目に大きな値であり且つ前記第2の色版を含む他の色版の画素値が0である第2条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第3条件と、前記第2の色版の画素値が2番目に大きな値であり且つ前記第1の色版の画素値が0である第4条件とを含み、
前記特徴量算出手段は、前記設定領域の特徴量として、前記領域に含まれる前記第1条件を満たす第1の画素数、前記設定領域に含まれる前記第2条件を満たす第2の画素数、前記設定領域に含まれる前記第3条件を満たす第3の画素数、及び前記設定領域に含まれる前記第4条件を満たす第4の画素数を算出し、
前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であるか、又は前記第1の画素数が前記第1の閾値以下の第2の閾値以上であり且つ前記第2の画素数が第3の閾値以上であり、さらに、前記第3の画素数が第4の閾値以上であるか、又は前記第3の画素数が前記第4の閾値以下の第5の閾値以上であり且つ前記第4の画素数が第6の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定する
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
コンピュータを、
注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段、
前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段、
前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段、及び
前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段
として機能させることを特徴とするプログラム。
【請求項1】
注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段と、
前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段と、
前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段と、
前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段と
を備えていることを特徴とする画像処理装置。
【請求項2】
前記特徴量算出手段で使用される領域の大きさを、画像を出力する出力部の仕様又はユーザの入力に応じて変更する変更手段を備えることを特徴する請求項1に記載の画像処理装置。
【請求項3】
前記参照領域内の参照すべき画素は、前記注目画素の画素値が変更されても、前記ハーフトーン処理されたN値画像が有する周期構造を維持する位置に設定されることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記N値画像は、ハーフトーン処理された2値画像であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第2条件とを含み、
前記特徴量算出手段は、前記設定領域の特徴量として、前記設定領域に含まれる前記第1条件を満たす第1の画素数及び前記設定領域に含まれる前記第2条件を満たす第2の画素数を算出し、
前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であり、且つ前記第2の画素数が第2の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定する
ことを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記N値画像は、ハーフトーン処理された4値画像であることを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項7】
前記複数の色版の画素値の組み合わせ条件は、第1の色版の画素値が最大値であり且つ第2の色版を含む他の色版の画素値が0である第1条件と、前記第1の色版の画素値が2番目に大きな値であり且つ前記第2の色版を含む他の色版の画素値が0である第2条件と、前記第2の色版の画素値が最大値であり且つ前記第1の色版の画素値が0である第3条件と、前記第2の色版の画素値が2番目に大きな値であり且つ前記第1の色版の画素値が0である第4条件とを含み、
前記特徴量算出手段は、前記設定領域の特徴量として、前記領域に含まれる前記第1条件を満たす第1の画素数、前記設定領域に含まれる前記第2条件を満たす第2の画素数、前記設定領域に含まれる前記第3条件を満たす第3の画素数、及び前記設定領域に含まれる前記第4条件を満たす第4の画素数を算出し、
前記トラッピング判定手段は、前記第1の画素数が第1の閾値以上であるか、又は前記第1の画素数が前記第1の閾値以下の第2の閾値以上であり且つ前記第2の画素数が第3の閾値以上であり、さらに、前記第3の画素数が第4の閾値以上であるか、又は前記第3の画素数が前記第4の閾値以下の第5の閾値以上であり且つ前記第4の画素数が第6の閾値以上である場合に、前記注目画素がトラッピング処理を行うべき画素であると判定する
ことを特徴とする請求項6に記載の画像処理装置。
【請求項8】
コンピュータを、
注目画素を中心として予め設定された設定領域内に含まれる各画素における複数の色版の画素値の組み合わせ条件に基づいて、前記領域の特徴量を算出する特徴量算出手段、
前記特徴量算出手段により算出された設定領域の特徴量に基づいて、複数の色版によって構成されるハーフトーン処理されたN値画像の各色版毎に、前記注目画素がトラッピング処理を行うべき画素であるか否かを判定するトラッピング判定手段、
前記N値画像が有する周期構造を解析するための参照領域内に前記注目画素の画素値を変更する際に参照すべき画素の位置を各色版毎に設定し、前記設定された参照すべき画素の位置における各色版毎の画素値に基づいて、前記注目画素の画素値を算出する画素値算出手段、及び
前記トラッピング判定手段が、前記注目画素がトラッピング処理を行うべき画素であると判定した場合に、前記N値画像内の注目画素に対応する画素値を、前記画素値算出手段により算出された画素値に変更する注目画素値変更手段
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2013−9075(P2013−9075A)
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願番号】特願2011−139236(P2011−139236)
【出願日】平成23年6月23日(2011.6.23)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成25年1月10日(2013.1.10)
【国際特許分類】
【出願日】平成23年6月23日(2011.6.23)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]