(58)【調査した分野】(Int.Cl.,DB名)
前記実行決定手段は、前記第1トラッピング処理を実行することを決定した画素及び前記第2トラッピング処理を実行することを決定した画素に対し、その決定内容を表すフラグ情報を付加し、
前記制限手段は、前記フラグ情報を参照することにより、前記第1トラッピング処理を実行することが決定された画素に対し、前記第2トラッピング処理の実行を制限する請求項1記載の画像処理装置。
前記実行決定手段は、前記第1トラッピング処理を実行することを決定した画素、前記第2トラッピング処理を実行することを決定した画素、及び、前記第3トラッピング処理を実行することを決定した画素に対し、その決定内容を表すフラグ情報を付加し、
前記制限手段は、前記フラグ情報を参照することにより、前記第1トラッピング処理を実行することが決定された画素に対する前記第2トラッピング処理の実行を制限し、前記第1トラッピング処理を実行することが決定された画素及び前記第2トラッピング処理を実行することが決定された画素に対する、前記第3トラッピング処理の実行を制限する請求項3記載の画像処理装置。
前記判定エリアは、前記副走査方向に3ライン及び前記主走査方向に3画素を有する、3×3画素のエリアであり、前記複数の周囲画素は、前記3×3画素のエリアの中央部に位置する1つの中央画素に前記主走査方向および前記副走査方向で隣接する画素である請求項5記載の画像処理装置。
前記判定エリアは、前記副走査方向に4ライン及び前記主走査方向に4画素を有する、4×4画素のエリアであり、前記複数の周囲画素は、前記4×4画素のエリアの中央部に位置する4つの中央画素に前記主走査方向および前記副走査方向で隣接する画素である請求項7記載の画像処理装置。
前記選択手段は、予め定められた順序で前記判定エリア内の前記複数の周囲画素を順に前記色判定画素に選択する請求項5〜請求項8のいずれか一項記載の画像処理装置。
前記判定エリアは、前記副走査方向に4ライン及び前記主走査方向に4画素を有する、4×4画素のエリアであり、前記複数の周囲画素は、前記4×4画素のエリアの中央部に位置する4つの中央画素に前記主走査方向および前記副走査方向で隣接する画素である請求項11記載の画像処理装置。
前記選択手段は、予め定められた順序で前記判定エリア内の前記複数の周囲画素を順に前記処理対象画素に選択する請求項10〜請求項12のいずれか一項記載の画像処理装置。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、5x5画素のウィンドウを用いて白抜けが発生するか否かを判別する方法によれば、およそ5ライン分の画素データを記憶するためのバッファが必要とされる。そこで、本開示の一側面によれば、効率的に白抜けが発生し得る領域を判別して適切にトラッピング処理を実行可能な技術を提供できることが望ましい。具体的には、ウィンドウサイズ及びバッファサイズを抑えて従来と同等以上に適切なトラッピング処理を実行可能な技術を提供できることが望ましい。
【課題を解決するための手段】
【0007】
本開示の一側面に係る画像処理装置は、入力手段と、設定手段と、選択手段と、色判定手段と、黒判定手段と、実行決定手段と、トラップ手段と、制限手段と、を備える。
入力手段は、各ラインの主走査方向に沿う画素配列を、ラインの副走査方向に沿う配列順に配列した画像データを入力するように構成される。
【0008】
設定手段は、入力手段により入力される画像データにおいて、副走査方向に3ライン以上、且つ、主走査方向に3画素以上の所定画素数のエリアを、判定エリアに設定するように構成される。
【0009】
選択手段は、判定エリア内の複数画素を順に色判定画素に選択するように構成される。色判定手段は、選択手段により選択された色判定画素が有彩色であるか否かを判定するように構成される。
【0010】
黒判定手段は、色判定画素と隣接する第1画素が黒色であるか否かを判定する機能と、色判定画素との間に1つ以上の中間画素を挟んで位置する第2画素が黒色であるか否かを判定する機能と、を有する。
【0011】
実行決定手段は、色判定画素が有彩色であると判定され、且つ、第1画素が黒色であると判定された場合に、第1画素に対して色判定画素の色成分を追加する第1トラッピング処理を実行することを決定する機能と、色判定画素が有彩色であると判定され、第2画素が黒色であると判定され、且つ、色判定画素と第2画素との間に位置する中間画素が黒色であると判定された場合に、第2画素に対して色判定画素の色成分を追加する第2トラッピング処理を実行することを決定する機能と、を有する。
【0012】
トラップ手段は、実行決定手段により第1トラッピング処理を実行することが決定された画素に対して第1トラッピング処理を実行する機能と、実行決定手段により第2トラッピング処理を実行することが決定された画素に対して第2トラッピング処理を実行する機能と、を有する。
【0013】
制限手段は、第1トラッピング処理を実行することが決定された画素に対する第2トラッピング処理の実行を制限するように構成される。本開示の一側面によれば、選択手段は、判定エリアにおける第2画素の位置が、選択される色判定画素に応じて変化するように、判定エリア内の複数画素を順に色判定画素に選択する。
【0014】
本開示に係る画像処理装置は、ウィンドウに対応する判定エリア内で、複数画素を順に色判定画素に選択する。従って、色判定画素から離れた画素が黒色であるか否かの判定を、色判定画素が判定エリアの中心に固定されている場合よりも、小さいサイズの判定エリア内で効率的に実行することができる。
【0015】
しかも、本開示によれば、第1トラッピング処理が第2トラッピング処理に優先して実行されるように、制御手段が動作するため、選択手段の動作により色判定画素が移動する場合にも、適切にトラッピング処理を実行可能である。
【0016】
選択手段の動作により色判定画素が移動する場合には、一つの画素が、色判定画素の位置に応じて第1画素として取り扱われたり、第2画素として取り扱われ得る。本開示の一側面によれば、第2画素よりも白抜けの影響の大きい第1画素に対する第1トラッピング処理が、第2トラッピング処理に優先して実行される。従って、本開示の一側面によれば、小さいサイズの判定エリア(ウィンドウ)を用いて効率的に白抜けが発生し得る領域を判別し、適切にトラッピング処理を実行可能である。
【0017】
本開示の一側面によれば、実行決定手段は、第1トラッピング処理を実行することを決定した画素及び第2トラッピング処理を実行することを決定した画素に対し、その決定内容を表すフラグ情報を付加するように構成されてもよい。
【0018】
制限手段は、上記フラグ情報を参照することにより、第1トラッピング処理を実行することが決定された画素に対し、第2トラッピング処理の実行を制限するように構成されてもよい。
【0019】
判定エリアは、副走査方向に4ライン以上、且つ、主走査方向に4画素以上のエリアであってもよい。この場合、黒判定手段は、色判定画素と隣接する第1画素が黒色であるか否かを判定する機能と、色判定画素との間に1つの中間画素を挟んで位置する第2画素が黒色であるか否かを判定する機能と、色判定画素との間に2つの中間画素を挟んで位置する第3画素が黒色であるか否かを判定する機能と、を有していてもよい。
【0020】
実行決定手段は、色判定画素が有彩色であると判定され、第3画素が黒色であると判定され、且つ、色判定画素と第3画素との間に位置する2つの中間画素が黒色であると判定された場合に、第3画素に対して色判定画素の色成分を追加する第3トラッピング処理を実行することを決定する機能を更に有していてもよい。
【0021】
トラップ手段は、実行決定手段により第3トラッピング処理を実行することが決定された画素に対して第3トラッピング処理を実行する機能を更に有していてもよい。そして、制限手段は、第1トラッピング処理を実行することが決定された画素及び第2トラッピング処理を実行することが決定された画素に対する第3トラッピング処理の実行を制限するように構成されてもよい。
【0022】
画像処理装置は、判定エリアにおける第1画素、第2画素、及び第3画素の位置が、選択される色判定画素に応じて変化するように動作し得る。
実行決定手段は、第1トラッピング処理を実行することを決定した画素、第2トラッピング処理を実行することを決定した画素、及び、第3トラッピング処理を実行することを決定した画素に対し、その決定内容を表すフラグ情報を付加するように構成されてもよい。
【0023】
制限手段は、上記フラグ情報を参照することにより、第1トラッピング処理を実行することが決定された画素に対する、第2トラッピング処理の実行を制限し、第1トラッピング処理を実行することが決定された画素及び第2トラッピング処理を実行することが決定された画素に対する、第3トラッピング処理の実行を制限するように構成されてもよい。
【0024】
判定エリアは、判定エリアの中央部に位置する1つ以上の中央画素と、中央部の周囲で中央画素と隣接する複数の周囲画素と、を含むエリアであってもよく、色判定画素は、複数の周囲画素から選択されてもよい。周囲画素から色判定画素を選択することによって、小さいサイズの判定エリアで効率的に、色判定画素から離れた画素に対するトラッピング処理の実行要否を判定可能である。
【0025】
色判定画素が、複数の周囲画素から選択されるケースにおいて、黒判定手段は、色判定画素が選択される度、色判定画素の位置から中央部の位置に向かう方向において色判定画素と隣接する第1画素が黒色であるか否かを判定し、更には、色判定画素との間に第1画素を挟む第2画素が黒色であるか否かを判定するように構成されてもよい。
【0026】
判定エリアが、副走査方向に3ライン及び主走査方向に3画素を有する、3×3画素のエリアである場合、上記複数の周囲画素は、3×3画素のエリアの中央部に位置する1つの中央画素に主走査方向および副走査方向で隣接する画素であり得る。
【0027】
判定エリアは、判定エリアの中央部に位置する4つの中央画素と、中央部の周囲で中央画素と隣接する複数の周囲画素と、を含むエリアであってもよい。
この判定エリアにおいて、色判定画素が、複数の周囲画素から選択される場合、黒判定手段は、次のように構成され得る。即ち、黒判定手段は、色判定画素が選択される度、色判定画素の位置から中央部の位置に向かう方向において色判定画素と隣接する第1画素が黒色であるか否かを判定し、更には、色判定画素との間に第1画素を挟む第2画素が黒色であるか否かを判定し、更には、色判定画素との間に第1画素及び第2画素を挟む第3画素が黒色であるか否かを判定するように構成され得る。
【0028】
具体的には、判定エリアは、副走査方向に4ライン及び主走査方向に4画素を有する、4×4画素のエリアであってもよい。この場合、複数の周囲画素は、4×4画素のエリアの中央部に位置する4つの中央画素に主走査方向および副走査方向で隣接する画素であり得る。
【0029】
本開示の一側面によれば、選択手段は、予め定められた順序で判定エリア内の複数の周囲画素を順に色判定画素に選択するように構成されてもよい。
本開示の一側面によれば、色判定画素を基準に、黒色であるか否かを判定する対象の複数の画素が規定されなくてもよく、黒色であるか否かを判定する一つの画素を基準に、有彩色であるか否かを判定する複数の画素が規定されてもよい。例えば、色判定画素として、第1色判定画素、及び、第2色判定画素が規定されてもよい。
【0030】
選択手段は、複数の周囲画素を順に処理対象画素に選択する機能と、処理対象画素が選択される度、処理対象画素の位置から中央部の位置に向かう方向において、処理対象画素に隣接する画素を第1色判定画素に選択し、処理対象画素との間に第1色判定画素を挟んで位置する画素を第2色判定画素に選択する機能と、を有してもよい。
【0031】
この場合、黒判定手段は、処理対象画素が選択される度、第1色判定画素に対応する第1画素及び第2色判定画素に対応する第2画素としての、処理対象画素が黒色であるか否かを判定するように構成されてもよい。
【0032】
実行決定手段は、第1色判定画素が有彩色であると判定され、且つ、処理対象画素が黒色であると判定された場合に、処理対象画素に対して第1色判定画素の色成分を追加する第1トラッピング処理を実行することを決定するように構成されてもよい。実行決定手段は、第2色判定画素が有彩色であると判定され、処理対象画素が黒色であると判定され、且つ、第2色判定画素と処理対象画素との間に位置する第1色判定画素が黒色であると判定された場合に、処理対象画素に対して第2色判定画素の色成分を追加する第2トラッピング処理を実行することを決定するように構成されてもよい。
【0033】
こうした構成によっても、効率的に白抜けが発生し得る領域を判別して適切にトラッピング処理を実行可能である。
判定エリアが、判定エリアの中央部に位置する4つの中央画素と、中央画素の周囲で中央画素と隣接する複数の周囲画素と、を含むエリアである場合、色判定画素として、第1、第2、及び、第3色判定画素が規定されてもよい。
【0034】
この場合、選択手段は、複数の周囲画素を順に処理対象画素に選択する機能と、処理対象画素が選択される度、処理対象画素の位置から中央部の位置に向かう方向において処理対象画素に隣接する画素を第1色判定画素に選択し、処理対象画素との間に第1色判定画素を挟んで位置する画素を第2色判定画素に選択し、処理対象画素との間に第1色判定画素及び第2色判定画素を挟んで位置する画素を第3色判定画素に選択する機能と、を有していてもよい。
【0035】
黒判定手段は、処理対象画素が選択される度、第1色判定画素に対応する第1画素、第2色判定画素に対応する第2画素、及び、第3色判定画素に対応する第3画素としての、処理対象画素が黒色であるか否かを判定するように構成されてもよい。
【0036】
実行決定手段は、第3色判定画素が有彩色であると判定され、処理対象画素が黒色であると判定され、且つ、第3色判定画素と処理対象画素との間に位置する第1色判定画素及び第2色判定画素が黒色であると判定された場合に、処理対象画素に対して第3色判定画素の色成分を追加する第3トラッピング処理を実行することを決定するように構成されてもよい。
【0037】
本開示の一側面によれば、設定手段は、画像データの入力に合わせて、画像データ内の複数エリアを順に判定エリアに設定することにより、判定エリアを更新するように構成され得る。
【0038】
本開示の一側面によれば、画像処理装置は、入力手段から入力される画像データを一時記憶するバッファを有していてもよい。本開示の一側面によれば、小さいサイズのバッファを用いて、効率的に白抜けが発生し得る領域を判別可能である。色判定手段は、バッファを参照して、選択手段により選択された色判定画素が有彩色であるか否かを判定するように構成されてもよい。黒判定手段は、バッファを参照して、第1画素及び第2画素が黒色であるか否かを判定するように構成されてもよい。
【0039】
バッファは、画像データが備える複数の画素データの内、設定手段により設定された判定エリア内の画素群の画素データを記憶するためのエリアバッファを備え得る。エリアバッファは、判定エリアに対応するバッファサイズを有し得る。
【0040】
バッファは、判定エリアにおけるライン数よりも1少ない数のラインバッファであって、画像データが備える複数の画素データの内、設定手段による判定エリアの更新により、判定エリアに再度設定される予定を有する判定エリア外の画素群の画素データを記憶する複数のラインバッファを含んでいてもよい。本開示の一側面によれば、エリアバッファと複数のラインバッファとを含む小さい容量のバッファを用いて効率的に白抜けが発生し得る領域を判別可能である。
【発明を実施するための形態】
【0042】
以下に、本開示の例示的実施形態を、図面を参照しながら説明する。
[第一実施形態]
図1に示す本実施形態の画像形成システム1は、外部装置3から入力される画像データに基づく画像を用紙に形成するように構成される。この画像形成システム1は、メインコントローラ10と、通信インタフェース20と、画像処理デバイス30と、画像形成デバイス40と、を備える。
【0043】
メインコントローラ10は、CPU11及びメモリ15を備え、画像形成システム1を統括制御する。メモリ15は、図示しないROM、RAM、及びNVRAMを備える。CPU11がメモリ15に記憶されたプログラムに従う処理を実行することにより、メインコントローラ10の機能は少なくとも部分的に実現される。
【0044】
通信インタフェース20は、外部装置3と通信可能な通信インタフェースである。外部装置3からの画像データは、通信インタフェース20を通じてメインコントローラ10に入力される。
【0045】
メインコントローラ10は、外部装置3から受信した画像データを、画像処理デバイス30に入力する。画像処理デバイス30は、入力された画像データを印刷用の画像データに変換する。メインコントローラ10は、画像処理デバイス30から取得した印刷用の画像データを画像形成デバイス40に入力することによって、画像形成デバイス40に、この画像データに基づくカラー画像を用紙に形成させる。
【0046】
画像形成デバイス40は、複数色の画像を重ね合わせて、上記画像データに基づくカラー画像を用紙に形成するように構成される。画像形成デバイス40は、例えば、シアン(C)、マゼンタ(M)、イエロー(Y)、及びブラック(K)の各色のトナー像を、重ね合わせるように像担持体に形成して、用紙にカラー画像を形成するレーザプリンタである。像担持体は、例えば用紙又は中間転写ベルトである。
【0047】
画像処理デバイス30は、メインコントローラ10から入力される画像データを、印刷用の画像データに変換するために、CMYK変換部31と、トラッピング処理部33と、N値化処理部35と、を備える。
【0048】
メインコントローラ10から画像処理デバイス30に入力される画像データは、RGB画像データである。RGB画像データは、各画素の値を、R(レッド)、G(グリーン)、及びB(ブルー)の輝度で表す。CMYK変換部31は、メインコントローラ10から入力されるRGB画像データを、CMYK画像データに変換するように構成される。
【0049】
CMYK画像データは、各画素の値を、シアン(C)、マゼンタ(M)、イエロー(Y)、及びブラック(K)の濃度で表す。以下で言うC値は、シアンの濃度を意味し、M値は、マゼンタの濃度を意味し、Y値は、イエローの濃度を意味し、K値は、ブラックの濃度を意味する。CMY値は、シアン、マゼンタ、イエローの濃度の組合せを意味する。
【0050】
トラッピング処理部33は、CMYK画像データに対して、トラッピング処理を実行するように構成される。トラッピング処理は、画像形成デバイス40が複数色の画像を重ね合わせてカラー画像を用紙に形成する際の位置誤差が原因で発生する白抜けを抑制するために行われる。
【0051】
N値化処理部35は、トラッピング処理されたCMYK画像データをN値化するように構成される。画像処理デバイス30は、N値化されたCMYK画像データを、印刷用の画像データとして、メインコントローラ10に入力するように構成される。
【0052】
続いて、トラッピング処理部33の詳細を、
図2を用いて説明する。トラッピング処理部33は、処理部50と、バッファ60と、を備える。
処理部50は、ハードウェア及び/又はソフトウェアによって後述するトラッピング制御処理(
図4参照)を実行するように構成される。トラッピング制御処理は、トラッピング処理を実行すべき画素を見つけ出す処理と、見つけ出した画素に対してトラッピング処理を実行する処理と、を含む。処理部50は、専用回路で構成されてもよいし、CPU51及びメモリ53を含んでいてもよい。処理部50は、CPU51がメモリ53に記憶されたプログラムに従ってトラッピング制御処理を実行するように構成されてもよい。
【0053】
バッファ60は、トラッピング制御処理における必要データを記憶するように構成される。本実施形態においては、主走査方向3画素且つ副走査方向3画素の領域である3x3画素の判定エリア内でトラッピング処理を実行すべき画素が探索され、見つけ出された画素に対してトラッピング処理が実行される。判定エリアは、ウィンドウ(窓)とも呼ばれる。一方で、CMYK変換部31からトラッピング処理部33に入力される画像データは、画素データの配列であり、具体的には、各ラインに平行な主走査方向に沿う画素配列を、ラインに垂直な副走査方向に沿う配列順に直列的に配列したデータである。
【0054】
このため、バッファ60は、判定エリア内の3x3画素の画素データを記憶するためのエリアバッファ61と、判定エリア内に再配置される画素を記憶するための複数ライン、具体的には2ライン分のラインバッファ63と、を備える。
図2に示す矢印は、画像データの流れを表し、符号A及びBは、エリアバッファ61と、ラインバッファ63との接続を表す。同一符号A及びBが付されたエリアバッファ61とラインバッファ63との間の経路は、互いに接続されていると理解されてよい。
【0055】
エリアバッファ61及びラインバッファ63は、
図2に示すように、画素毎に、画素データのCMYK値を記憶するための領域と、フラグ情報であるFL値を記憶するための領域と、を有する。FL値は、画素毎のトラッピング処理の実行履歴を表す。
【0056】
エリアバッファ61には、最新ラインの画素データがCMYK変換部31から取り込まれ、最新ラインより1ライン前の画素データ及び2ライン前の画素データが、ラインバッファ63から取り込まれる。
【0057】
即ち、トラッピング処理部33は、
図3Aに示すように、画像データが表す画像(即ち、画素の二次元配列)上において判定エリアW3をラインの端から端まで主走査方向に移動させては、判定エリアW3を副走査方向に1ラインだけ移動させることによって、画像データの全体を3x3画素ずつ判定エリアW3に設定し、トラッピング処理を実行するように構成される。
【0058】
以下では、判定エリアW3における3x3画素の内、中央部及びその周囲に位置する画素の夫々に対して
図3Bに示すように個別に符号を付す。この符号を用いて、特定の画素を指し示す。
図3Bによれば、太線に囲まれた中央部内の1つの中央画素には、符号P3(0,0)が割り当てられている。中央画素に上側で隣接する画素には、符号P3(0,1)が割り当てれ、中央画素に下側で隣接する画素には、符号P3(0,−1)が割り当てられ、中央画素に右側で隣接する画素には、符号P3(1,0)が割り当てられ、中央画素に左側で隣接する画素には、符号P3(−1,0)が割り当てられている。ここで、上下方向は、副走査方向に対応し、左右方向は、主走査方向に対応する。
【0059】
処理部50は、具体的に、
図4に示すトラッピング制御処理を繰返し実行することにより、画像データの全体を3x3画素ずつ判定エリアW3に設定し、トラッピング処理を実行する。
【0060】
トラッピング制御処理を開始すると、処理部50は、判定エリアW3を設定する(S110)。判定エリアW3の設定動作は、エリアバッファ61及びラインバッファ63における画素データの格納位置を1画素だけ変更する動作と、トラッピング処理部33に対して画像データの流れの上流に位置するFIFOバッファ71(
図2参照)からエリアバッファ61に1画素分の画素データを取り込む動作と、を含む。この動作により、エリアバッファ61からは、エリアバッファ61及びラインバッファ63内における画像データの流れの最下流に位置する画素データが、トラッピング処理部33の下流に位置するFIFOバッファ73に出力される。
【0061】
FIFOバッファ71は、CYMK変換部31に内蔵されていると理解されてもよいし、CYK変換部31とトラッピング処理部33との間に位置すると理解されてもよい。FIFOバッファ73は、N値化処理部35に内蔵されていると理解されてもよいし、トラッピング処理部33とN値化処理部35との間に位置すると理解されてもよい。
【0062】
S110での設定動作により、判定エリアW3は、画像データが表す画像上において設定前と比較して1画素移動した位置に更新される(
図3A参照)。
S110における判定エリアW3の設定後、処理部50は、判定エリアW3における中央画素P3(0,0)のFL値及びK値が次の条件を満足するか否かを判断する(S115)。条件は、FL値が2未満であること、及び、K値が閾値THKより大きいことである。
【0063】
閾値THKは、対応する画素が黒色の画素であるか否かを判別するために用いられる。本実施形態では、K値が閾値THKより大きい画素を黒色の画素であると判定する。
本実施形態においてFL値は、0,1,2のいずれかの値を示す。FL値の初期値は、値0であり、対応する画素がトラッピング処理されていない場合、FL値は値0を示す。FL値は、画像データ単位で、画像データに対するトラッピング制御処理の開始時に初期値にリセットされる。対応する画素が、トラッピング処理されている場合、FL値は、値1又は値2を示す。対応する画素が、後述するように色判定画素(Q0)に隣接する第1画素(R1)としてトラッピング処理されている場合、その画素のFL値は、値2を示す。対応する画素が、色判定画素(Q0)から1画素離れた第2画素(Q2)としてトラッピング処理されている場合、その画素のFL値は、値1を示す。
【0064】
図4及び
図6に記されるFL[]は、括弧で指定される画素のFL値を意味する。例えば、FL[P3(0,0)]は、画素P3(0,0)のFL値を意味し、FL(Q0)は、色判定画素(Q0)のFL値を意味する。同様に、K[]は、括弧で指定される画素のK値を意味し、CMY[]は、括弧で指定される画素のCMY値を意味する。K[P3(0,0)]は、画素P3(0,0)のK値を意味し、K[Q0]は、色判定画素(Q0)のK値を意味し、CMY[Q0]は、色判定画素(Q0)のCMY値を意味する。
【0065】
処理部50は、FL値が2未満であり、且つ、K値が閾値THKより大きい場合、即ちFL[P3(0,0)]<2且つK[P3(0,0)]>THKである場合、S115で肯定判断し、それ以外の場合、否定判断する。
【0066】
S115において否定判断すると、処理部50は、S110で設定した判定エリアW3についてのトラッピング制御処理を終了する。S115において肯定判断すると、処理部50は、S120以降の処理を実行することにより、S110で設定した判定エリアW3に関する特定の処理を実行する。
【0067】
S120において、処理部50は、色判定画素(Q0)として、画素P3(0,−1)を選択し、第1画素(R1)として画素P3(0,0)を選択し、第2画素(R2)として画素P3(0,1)を選択する。
【0068】
S120において選択される色判定画素(Q0)は、
図5Aにおいて、右上から左下に延びる斜線でハッチングされた画素に対応する。第1画素(R1)は、
図5A上段において上下方向に延びる直線でハッチングされた画素に対応する。第2画素(R2)は、
図5A下段において上下方向に延びる直線でハッチングされた画素に対応する。
【0069】
S120での選択後、処理部50は、判定処理(S130)を実行することにより、黒色の第1画素(R1)に対してトラッピング処理を実行する。更に、第2画素(R2)が黒色の画素である場合には、第2画素(R2)に対してもトラッピング処理を実行する。トラッピング処理された第1画素(R1)が、
図5A上段の右領域において、上記斜線及び直線の重ね合わせのパターンでハッチングされた画素で示されている。同様に、トラッピング処理された第2画素(R2)が、
図5A下段の右領域において、上記斜線及び直線の重ね合わせのパターンでハッチングされた画素で示されている。
【0070】
具体的に、処理部50は、
図6に示す判定処理を実行することができる(S130)。この判定処理において、処理部50は、色判定画素(Q0)のFL値が0(ゼロ)であるか否かを判断する(S210)。色判定画素(Q0)のFL値が0であることは、色判定画素(Q0)がトラッピング処理されていないことを意味する。
【0071】
色判定画素(Q0)のFL値が0ではないと判断すると、処理部50は、判定処理を終了する。色判定画素(Q0)のFL値が0であると判断すると、処理部50は、S220において、色判定画素(Q0)のCMY値及びK値が次の条件を満足するか否かを判断する。条件は、色判定画素(Q0)のCMY値がゼロではないこと、及び、色判定画素(Q0)のK値が基準値RFK以下であることである。基準値RFKは、色判定画素(Q0)が黒色の画素ではないことを判定するために用いられる。
【0072】
処理部50は、色判定画素(Q0)のCMY値がゼロではなく、且つ、K値が基準値RFK以下である場合、即ちCMY[Q0]≠0且つK[Q0]≦RFKである場合、S220で肯定判断し、それ以外の場合、否定判断する。CMY値がゼロではないことは、C値、M値、及びY値の少なくとも一つがゼロではないことに対応する。S220で肯定判断することは、色判定画素(Q0)が黒色以外の有彩色であると判定することに対応する。
【0073】
S220において否定判断すると、処理部50は、判定処理を終了する。S220において肯定判断すると、処理部50は、S230において、第1画素(R1)に対するトラッピング処理を実行する。即ち、処理部50は、第1画素(R1)のCMY値を、色判定画素(Q0)のCMY値に置き換えることで、色判定画素(Q0)の色成分を第1画素(R1)に追加する。S230において、処理部50は更に、第1画素(R1)のFL値を値2に更新する。
【0074】
本実施形態によれば、第1画素(R1)は、必ず中央画素P3(0,0)である。更に、
図6に示される判定処理は、中央画素P3(0,0)が黒色の画素であると判定された(S115でYes)ときのみ実行される。従って、S230で実行されるトラッピング処理は、有彩色の色判定画素(Q0)に隣接する黒色の第1画素(R1)に対する第1のトラッピング処理に対応する。
【0075】
S230の処理実行後、処理部50は、第2画素(R2)のFL値及びK値が次の条件を満足するか否かを判断する(S240)。条件は、第2画素(R2)のFL値が1未満であること、及び、第2画素(R2)のK値が閾値THKより大きいことである。
【0076】
処理部50は、FL値が1未満であり、且つ、K値が閾値THKより大きい場合、即ちFL[R2]<1且つK[R2]>THKである場合、S240で肯定判断し、それ以外の場合、否定判断する。
【0077】
S240において否定判断すると、処理部50は、判定処理を終了する。S240において肯定判断すると、処理部50は、S250において、第2画素(R2)に対するトラッピング処理を実行する。即ち、処理部50は、第2画素(R2)のCMY値を、色判定画素(Q0)のCMY値に置き換えることで、色判定画素(Q0)の色成分を第2画素(R2)に追加する。このトラッピング処理は、有彩色の色判定画素(Q0)との間で黒色の中間画素(第1画素(R1))を挟む黒色の第2画素(R2)に対する第2のトラッピング処理に対応する。
【0078】
S250において、処理部50は更に、第2画素(R2)のFL値を値1に更新する。その後、判定処理を終了する。このようにして、処理部50は、判定処理(S130)において、判定エリアW3内の一つの色判定画素(Q0)を基準に、色判定画素(Q0)に隣接した第1画素(R1)、及び、色判定画素(Q0)との間で第1画素(R1)を挟む第2画素(R2)に対するトラッピング処理の要否を判定し、必要に応じてトラッピング処理を実行する。
【0079】
S130での判定処理を終了すると、
図4に示すように、処理部50は、色判定画素(Q0)を新たに選択する(S140)。具体的には、色判定画素(Q0)として、画素P3(1,0)を選択し、第1画素(R1)として画素P3(0,0)を選択し、第2画素(R2)として画素P3(−1,0)を選択する。
【0080】
S140において選択される色判定画素(Q0)は、
図5Bにおいて、右上から左下に延びる斜線でハッチングされた画素に対応する。第1画素(R1)は、
図5B上段において上下方向に延びる直線でハッチングされた画素に対応する。第2画素(R2)は、
図5B下段において上下方向に延びる直線でハッチングされた画素に対応する。
【0081】
S140での選択後、処理部50は、
図6に示す判定処理を実行する(S150)。S150では、S140で選択した色判定画素(Q0)、第1画素(R1)、及び第2画素(R2)に関して、S130と同様の処理が実行される。
【0082】
ここでの第1画素(R1)は、S130での判定処理と同様に、中央画素P3(0,0)である。従って、S150でのトラッピング処理により中央画素P3(0,0)のCMY値は、S140で選択された色判定画素(Q0)のCMY値に更新される。
図5Bにおいては、
図5Aと同様の方式で、S150での判定処理によりトラッピング処理された第1画素(R1)が、
図5B上段の右領域に示され、トラッピング処理された第2画素(R2)が、
図5B下段の右領域に示される。
【0083】
S150で判定処理を終了すると、処理部50は、色判定画素(Q0)として、画素P3(−1,0)を選択し、第1画素(R1)として画素P3(0,0)を選択し、第2画素(R2)として画素P3(1,0)を選択する(S160)。
図5Cには、S160において選択される色判定画素(Q0)、第1画素(R1)、及び第2画素(R2)が、
図5A及び5Bと同様の方式で示されている。
【0084】
S160での選択後、処理部50は、
図6に示す判定処理を実行する(S170)。S170では、S160で選択した色判定画素(Q0)、第1画素(R1)、及び第2画素(R2)に関して、S130と同様の処理が実行される。
図5A及び5Bと同様の方式で、S170での判定処理によりトラッピング処理された第1画素(R1)が、
図5C上段の右領域に示され、トラッピング処理された第2画素(R2)が、
図5C下段の右領域に示される。
【0085】
S170で判定処理を終了すると、処理部50は、色判定画素(Q0)として、画素P3(0,1)を選択し、第1画素(R1)として画素P3(0,0)を選択し、第2画素(R2)として画素P3(0,−1)を選択する(S180)。
図5Dには、S180において選択される色判定画素(Q0)、第1画素(R1)及び第2画素(R2)が、
図5A及び5Bと同様の方式で示される。
【0086】
S180での選択後、処理部50は、
図6に示す判定処理を実行する(S190)。S190では、S180で選択した色判定画素(Q0)、第1画素(R1)、及び第2画素(R2)に関して、S130と同様の処理が実行される。
図5A及び5Bと同様の方式で、S190での判定処理によりトラッピング処理された第1画素(R1)が、
図5D上段の右領域に示され、トラッピング処理された第2画素(R2)が、
図5D下段の右領域に示される。
【0087】
S190の処理を終了すると、処理部50は、S110で設定した判定エリアW3についてのトラッピング制御処理を終了する。その後、処理部50は、新たにトラッピング制御処理を開始し、S110で更新した判定エリアW3内でトラッピング処理が必要な画素を探索し、必要な画素に対するトラッピング処理を実行する。
【0088】
以上に説明した本実施形態の画像形成システム1は、3x3画素の範囲でトラッピング処理が必要な画素を探索し、必要な画素に対するトラッピング処理を実行するのにもかかわらず、従来の5x5画素のウィンドウを用いてトラッピング処理を行う場合と同様に、色判定画素(Q0)から1つ離れた第2画素(R2)に対するトラッピング処理を実行可能である。
【0089】
これは、本実施形態の画像形成システム1が、判定エリアW3内で、中央画素P3(0,0)に隣接する複数の周囲画素、具体的には4つの周囲画素P3(0,−1)、P3(1,0)、P3(−1,0)及びP3(0,1)を色判定画素(Q0)として順に選択して、色判定画素(Q0)に隣接する第1画素(R1)、色判定画素(Q0)から1つ離れた第2画素(R2)に対するトラッピング処理を実行しているためである。
【0090】
仮に5x5画素のウィンドウを用いて従来方式でトラッピングに関する処理を実行する場合には、バッファ60内に、5x5画素のエリアバッファと、4ライン分のラインバッファと、を用意する必要がある。これに対し、本実施形態によれば、3x3画素のエリアバッファ61と、2ライン分のラインバッファ63とをバッファ60内に用意して、従来と等価な処理を実行することができる。従って、本実施形態によれば、バッファサイズを抑えて、効率的にトラッピング処理を実行可能である。
【0091】
更に言えば、本実施形態では、フラグ情報であるFL値を用いることで、第1のトラッピング処理が実行された画素に対する第2のトラッピング処理の実行を制限するため、判定エリアW3のサイズを従来の5x5画素から3x3画素に変更しても、適切なトラッピング処理の実行が可能である。
【0092】
上述したように、第1のトラッピング処理は、第1画素(R1)に対するトラッピング処理に対応し、第2のトラッピング処理は、第2画素(R2)に対するトラッピング処理に対応する。本実施形態では、判定エリアW3内で色判定画素(Q0)が一つに限定されていないため、一つの画素が、第1画素(R1)に設定されたり、第2画素(R2)に設定されたりする。
【0093】
従って、仮にフラグ情報を用いない場合には、一つの画素に対して第1のトラッピング処理が実行された後、この画素に対して更に第2のトラッピング処理が実行される場合がある。このようなトラッピング処理の上書きを仮に許容すると、
図7上段に示すように有彩色の画素と黒色の画素とが配置されている場合に、偏ったトラッピング処理が実行される。
【0094】
図7上段において斜線によりハッチングされた画素は、黒色以外の有彩色の画素を表し、斜線の向きの違いは、色が異なることを表している。
図7上段において上下に延びる直線によりハッチングされた画素は、トラッピング処理される黒色の画素である。即ち、
図7上段は、黒色の領域を挟んで、異なる二つの有彩色の領域が広がっている画像を表す。
【0095】
このような構成の画像データに対し、フラグ情報を用いずにトラッピング制御処理が仮に実行された場合、
図7左領域に示すように、黒色の領域は、その上側に位置する有彩色の画素の色成分でトラッピング処理された後、その全体が、下側に位置する有彩色の画素の色成分で再度トラッピング処理されてしまう。
【0096】
これに対し、本実施形態のようにフラグ情報が用いられる場合には、黒色の領域が、上側に位置する有彩色の画素の色成分でトラッピング処理された後、
図7右領域に示すように、黒色の領域の下側部分のみが、その下側に位置する有彩色の画素の色成分でトラッピング処理される。
【0097】
第2のトラッピング処理(S250)は、既に第1のトラッピング処理(S230)が実行され、FL値が2に更新された画素に対しては、実行されないためである(S240でNo)。
【0098】
従って、本実施形態では、異なる色に囲まれた黒色領域に対して適切にトラッピング処理を実行することができ、白抜けを抑えつつ、良好な品質の画像を用紙に形成可能である。付言すると、本実施形態では、FL値が0,1,2の範囲の値を採るが、FL値は0,1に制限されてもよい。上記実施形態において値2として説明されたFL値は、値1であると理解されてもよい。このようにFL値の範囲を制限した場合には、更に、バッファ60の必要サイズを抑えることができる。FL値を0,1に制限しても、本実施形態の画像形成システム1は、制限がない場合と同様の機能を果たす。従って、本実施形態によれば、フラグ情報に関する必要記憶容量さえも抑えることができる。
【0099】
この他、本実施形態では、判定エリアW3において中央画素P3(0,0)に隣接する複数の周囲画素を、特定順序で色判定画素(Q0)に選択してトラッピング処理を実行することで、トラッピング処理の優先順位をコントロールした。従って、小さいサイズの判定エリアを用いながらも、有彩色の画素と黒色の画素との境界において極力一様なトラッピング処理を実行することが可能である。
【0100】
図8では、一つの有彩色の画素(色判定画素)を中心に、その周辺に位置する各画素に対するトラッピング処理の優先順位が示されている。
図8に示される番号が若い画素ほど、その画素に対するトラッピング処理の優先順位は高い。
図8によれば、左下から右上方向に優先順位が連続的に低くなっていくことが理解できる。
【0101】
[第二実施形態]
第二実施形態の画像形成システム1の構成は、一部の構成を除いて、第一実施形態の画像形成システム1と同一である。従って、以下では、第二実施形態の画像形成システム1が有する第一実施形態との同一構成部位に、第一実施形態と同一符号を付して、その部位に関する説明を省略する。以下において言及されない第二実施形態の画像形成システム1の構成は、第一実施形態と同様であると理解されてよい。
【0102】
第二実施形態の画像形成システム1は、
図9Aに示すように、4x4画素の判定エリアW4を用いて、トラッピング処理を実行するように構成される。
このため、
図9Bに示すように、バッファ60は、4x4画素のエリアバッファ65と、3ライン分のラインバッファ67と、を備える。エリアバッファ65は、第一実施形態における3x3画素のエリアバッファ61に代替して設けられる。3ライン分のラインバッファ67は、第一実施形態における2ライン分のラインバッファ63に代替して設けられる。
【0103】
エリアバッファ65及びラインバッファ67は、第一実施形態と同様、画素毎に、CMYK値及びFL値を記憶するための領域を有する(
図2参照)。
図9Bに示す矢印は、第一実施形態と同様、画像データの流れを表し、符号C、D及びEは、エリアバッファ65と、ラインバッファ67との接続を表す。即ち、同一符号C、D及びEが付されたエリアバッファ65とラインバッファ67との間の経路は、互いに接続されていると理解されてよい。
【0104】
以下では、判定エリアW4における4x4画素の内、中央部及びその周囲に位置する画素の夫々に対して
図9Aに示すように個別に符号を付す。この符号を用いて、特定の画素を指し示す。
図9Aによれば、太線に囲まれた中央部内の4つの中央画素には、それぞれ、符号P4(1,1)、符号P4(1,−1)、符号P4(−1,1)、及び、符号P4(−1,−1)が割り当てられている。ここで、上下方向は、副走査方向に対応し、左右方向は、主走査方向に対応する。
【0105】
画素P4(−1,1)及び画素P4(1,1)に上側で隣接する周囲画素には、それぞれ順に、符号P4(−1,2)及び符号P4(1,2)が割り当てられている。画素P4(−1,−1)及び画素P4(1,−1)に下側で隣接する周囲画素には、それぞれ順に、符号P4(−1,−2)及び符号P4(1,−2)が割り当てられている。
【0106】
画素P4(1,1)及び画素P4(1,−1)に右側で隣接する周囲画素には、それぞれ順に、符号P4(2,1)及び符号(2,−1)が割り当てられている。画素P4(−1,1)及び画素P4(−1,−1)に左側で隣接する周囲画素には、それぞれ順に、符号P4(−2,1)及び符号(−2,−1)が割り当てられている。
【0107】
また、本実施形態の処理部50は、
図4に示すトラッピング制御処理に代えて、
図10に示すトラッピング制御処理を繰返し実行することにより、画像データの全体を4x4画素ずつ判定エリアW4に設定し、トラッピング処理を実行するように構成される。
【0108】
トラッピング制御処理を開始すると、処理部50は、判定エリアW4を設定する(S310)。判定エリアW4の設定動作は、第一実施形態と同様である。S310での設定により、判定エリアW4は、画像データが表す画像上において設定前と比較して1画素移動した位置に更新される(
図3A参照)。
【0109】
判定エリアW4の設定後、処理部50は、色判定画素(Q0)として画素P4(−1,2)を選択し、第1画素(R1)として画素P4(−1,1)を選択し、第2画素(R2)として画素P4(−1,−1)を選択し、第3画素(R3)として画素P4(−1,−2)を選択する(S320)。
【0110】
S320において選択される色判定画素(Q0)は、
図11左上において、斜線でハッチングされた画素に対応する。第1画素(R1)、第2画素(R2)及び第3画素(R3)は、
図11左上において矢印で示す方向に並ぶ3つの画素に対応する。
【0111】
S320での選択後、処理部50は、S330において
図12に示す判定処理を実行することにより、第1画素(R1)、第2画素(R2)及び第3画素(R3)のそれぞれに対して必要に応じてトラッピング処理を実行する。
【0112】
この判定処理(
図12参照)において、処理部50は、色判定画素(Q0)のFL値が0(ゼロ)であるか否かを判断する(S410)。FL値の初期値は値0である。FL値が0であることは、対応する画素がトラッピング処理されていないことを意味する。
図12におけるF[]、CMY[]、及びK[]の記述は、第一実施形態で説明した通りの意味で用いられている。
【0113】
色判定画素(Q0)のFL値が0ではないと判断すると(S410でNo)、処理部50は、判定処理を終了する。色判定画素(Q0)のFL値が0であると判断すると(S410でYes)、処理部50は、S420において、色判定画素(Q0)のCMY値及びK値が第一実施形態のS220(
図6参照)と同様の条件を満足するか否かを判断する。
【0114】
即ち、処理部50は、色判定画素(Q0)のCMY値がゼロではなく、且つ、K値が基準値RFK以下である場合、即ちCMY[Q0]≠0且つK[Q0]≦RFKである場合、S420で肯定判断し、それ以外の場合、否定判断する。S420で肯定判断することは、色判定画素(Q0)が黒色以外の有彩色であると判定することに対応する。
【0115】
S420において否定判断すると、処理部50は、判定処理を終了する。S420において肯定判断すると、処理部50は、S430において、第1画素(R1)のFL値及びK値が次の条件を満足するか否かを判断する。条件は、第1画素(R1)のFL値が3未満であること、及び、第1画素(R1)のK値が閾値THKより大きいことである。
【0116】
従って、処理部50は、FL値が3未満であり、且つ、K値が閾値THKより大きい場合、即ちFL[R1]<3且つK[R1]>THKである場合、S430で肯定判断し、それ以外の場合、否定判断する。
【0117】
本実施形態においてFL値は、0,1,2,3のいずれかの値を示す。上述した通り、画素がトラッピング処理されていない場合、その画素のFL値は値0を示す。一方、画素が、トラッピング処理されている場合、その画素のFL値は、値1、値2、又は値3を示す。具体的に、対応する画素に対して第1のトラッピング処理が実行されている場合、その画素のFL値は、値3を示す。対応する画素に対して、第2のトラッピング処理が実行されている場合、その画素のFL値は、値2を示す。対応する画素に対して、第3のトラッピング処理が実行されている場合、その画素のFL値は、値1を示す。
【0118】
第1のトラッピング処理は、第一実施形態と同様、色判定画素(Q0)に隣接する第1画素(R1)に対するトラッピング処理に対応し、第2のトラッピング処理は、色判定画素(Q0)から1画素離れたに第2画素(R2)に対するトラッピング処理に対応する。更に、第3のトラッピング処理は、色判定画素(Q0)から2画素離れた第3画素(R3)に対するトラッピング処理に対応する。
【0119】
従って、S430では、第1画素(R1)が黒色の画素であり、且つ、この画素に対して第1のトラッピング処理が実行されていない場合に、肯定判断される。
S430において否定判断すると、処理部50は、判定処理を終了する。S430において肯定判断すると、処理部50は、第1画素(R1)に対するトラッピング処理を実行する(S440)。即ち、処理部50は、
図13Aに示すように、第1画素(R1)のCMY値を、色判定画素(Q0)のCMY値に置き換えることで、色判定画素(Q0)の色成分を第1画素(R1)に追加する処理(第1のトラッピング処理)を実行する。
【0120】
図13Aにおいて斜線でハッチングされた画素は、有彩色の色判定画素(Q0)に対応し、上下に延びる直線でハッチングされた画素は、黒色の第1画素(R1)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、トラッピング処理された第1画素(R1)に対応する。
【0121】
S440において、処理部50は更に、第1画素(R1)のFL値を値3に更新する。
S440の処理実行後、処理部50は、第2画素(R2)のFL値及びK値が次の条件を満足するか否かを判断する(S450)。条件は、第2画素(R2)のFL値が2未満であること、及び、第2画素(R2)のK値が閾値THKより大きいことである。
【0122】
処理部50は、FL値が2未満であり、且つ、K値が閾値THKより大きい場合、即ちFL[R2]<2且つK[R2]>THKである場合、S450で肯定判断し、それ以外の場合、否定判断する。従って、S450では、第2画素(R2)が第1画素(R1)と共に黒色の画素であり、且つ、この画素に対して第1及び第2のトラッピング処理のいずれも実行されていない場合に、肯定判断される。
【0123】
S450において否定判断すると、処理部50は、判定処理を終了する。S450において肯定判断すると、処理部50は、第2画素(R2)に対するトラッピング処理を実行する(S460)。即ち、処理部50は、
図13Bに示すように、第2画素(R2)のCMY値を、色判定画素(Q0)のCMY値に置き換えることで、色判定画素(Q0)の色成分を第2画素(R2)に追加する処理(第2のトラッピング処理)を実行する。S460において、処理部50は更に、第2画素(R2)のFL値を値2に更新する。
【0124】
図13Bにおいて斜線でハッチングされた画素は、有彩色の色判定画素(Q0)に対応し、上下に延びる直線でハッチングされた画素は、黒色の第2画素(R2)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、トラッピング処理された第1画素(R1)及び第2画素(R2)に対応する。
【0125】
S460の処理実行後、処理部50は、第3画素(R3)のFL値及びK値が次の条件を満足するか否かを判断する(S470)。条件は、第3画素(R3)のFL値が1未満であること、及び、第3画素(R3)のK値が閾値THKより大きいことである。
【0126】
処理部50は、FL値が1未満であり、且つ、K値が閾値THKより大きい場合、即ちFL[R3]<1且つK[R3]>THKである場合、S470で肯定判断し、それ以外の場合、否定判断する。従って、S470では、第3画素(R3)が、色判定画素(Q)との中間に位置する第1画素(R1)及び第2画素(R2)と共に黒色の画素であり、且つ、第3画素(R3)に対して第1、第2、及び第3のトラッピング処理のいずれも実行されていない場合に、肯定判断される。
【0127】
S470において否定判断すると、処理部50は、判定処理を終了する。S470において肯定判断すると、処理部50は、第3画素(R3)に対するトラッピング処理を実行する(S480)。即ち、処理部50は、
図13Cに示すように、第3画素(R3)のCMY値を、色判定画素(Q0)のCMY値に置き換えることで、色判定画素(Q0)の色成分を第3画素(R3)に追加する処理(第3のトラッピング処理)を実行する。
【0128】
図13Cにおいて斜線でハッチングされた画素は、有彩色の色判定画素(Q0)に対応し、上下に延びる直線でハッチングされた画素は、黒色の第3画素(R3)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、トラッピング処理された第1画素(R1)、第2画素(R2)、及び第3画素(R3)に対応する。
【0129】
S480において、処理部50は更に、第3画素(R3)のFL値を値1に更新する。その後、判定処理を終了する。
このようにして、処理部50は、判定処理(
図12)において、判定エリアW4内の一つの色判定画素(Q0)を基準に、色判定画素(Q0)に隣接した第1画素(R1)、及び、色判定画素(Q0)との間で第1画素(R1)を挟む第2画素(R2)、色判定画素(Q0)との間で第1画素(R1)及び第2画素(R2)を挟む第3画素(R3)に対するトラッピング処理の要否を判定し、必要に応じてトラッピング処理を実行する。
【0130】
S330(
図10参照)での判定処理を終了すると、処理部50は、新たに、色判定画素(Q0)として画素P4(−2,−1)を選択し、第1画素(R1)として画素P4(−1,−1)を選択し、第2画素(R2)として画素P4(1,−1)を選択し、第3画素(R3)として画素P4(2,−1)を選択する(S340)。
【0131】
S340において選択される色判定画素(Q0)は、
図11右上において、斜線でハッチングされた画素に対応する。第1画素(R1)、第2画素(R2)及び第3画素(R3)は、
図11右上において矢印で示す方向に並ぶ3つの画素に対応する。
【0132】
S340での選択後、処理部50は、
図12に示す判定処理を実行する(S350)。S350では、S340で選択した色判定画素(Q0)、第1画素(R1)、第2画素(R2)、及び第3画素(R3)に関して、S330と同様の処理が実行される。
【0133】
S350での判定処理を終了すると、処理部50は、色判定画素(Q0)として画素P4(2,1)を選択し、第1画素(R1)として画素P4(1,1)を選択し、第2画素(R2)として画素P4(−1,1)を選択し、第3画素(R3)として画素P4(−2,1)を選択する(S360)。
【0134】
S360において選択される色判定画素(Q0)は、
図11右下において、斜線でハッチングされた画素に対応する。第1画素(R1)、第2画素(R2)及び第3画素(R3)は、
図11右下において矢印で示す方向に並ぶ3つの画素に対応する。
【0135】
S360での選択後、処理部50は、S370において、S360で選択した色判定画素(Q0)、第1画素(R1)、第2画素(R2)、及び第3画素(R3)に関して、S330と同様の判定処理(
図12参照)を実行する。
【0136】
S370での判定処理を終了すると、処理部50は、色判定画素(Q0)として画素P4(1,−2)を選択し、第1画素(R1)として画素P4(1,−1)を選択し、第2画素(R2)として画素P4(1,1)を選択し、第3画素(R3)として画素P4(1,2)を選択する(S380)。
【0137】
S380において選択される色判定画素(Q0)は、
図11左下において、斜線でハッチングされた画素に対応する。第1画素(R1)、第2画素(R2)及び第3画素(R3)は、
図11左下において矢印で示す方向に並ぶ3つの画素に対応する。
【0138】
S380での選択後、処理部50は、S390において、S380で選択した色判定画素(Q0)、第1画素(R1)、第2画素(R2)及び第3画素(R3)に関して、S330と同様の判定処理(
図12参照)を実行する。
【0139】
S390の処理を終了すると、処理部50は、S310で設定した判定エリアW4についてのトラッピング制御処理を終了する。その後、処理部50は、新たにトラッピング制御処理を開始し、S310で更新した判定エリア(W4)に関して、S320以降で必要に応じてトラッピング処理を実行する。
【0140】
以上に説明した本実施形態の画像形成システム1は、4x4画素の範囲でトラッピング処理が必要な画素を探索し、必要な画素に対するトラッピング処理を実行するのにもかかわらず、従来の7x7画素のウィンドウを用いてトラッピング処理を行う場合と同様に、色判定画素(Q0)から2つ離れた第3画素(R3)に対するトラッピング処理を実行可能である。
【0141】
これは、本実施形態では、判定エリアW4内で、判定エリアW4の端に位置する複数の周囲画素、具体的には4つの周囲画素P4(−1,2)、P4(−2,−1)、P4(2,1)及びP4(1,−2)を色判定画素(Q0)として順に選択して、色判定画素(Q0)に隣接する第1画素(R1)、色判定画素(Q0)から1つ離れた第2画素(R2)、色判定画素(Q0)から2つ離れた第3画素(R3)に対するトラッピング処理を実行しているためである。
【0142】
仮に7x7画素のウィンドウを用いて従来方式でトラッピングに関する処理を実行する場合には、バッファ60内に、7x7画素のエリアバッファと、6ライン分のラインバッファと、を用意する必要がある。従って、本実施形態によれば、バッファサイズを抑えて、効率的にトラッピング処理を実行可能である。
【0143】
更に言えば、本実施形態では、フラグ情報であるFL値を用いることで、第1のトラッピング処理が実行された画素に対する第2のトラッピング処理の実行を制限し、第1のトラッピング処理及び第2のトラッピング処理のいずれかが実行された画素に対する第3のトラッピング処理の実行を制限する。
【0144】
即ち、本実施形態では、第1のトラッピング処理が実行された画素のFL値を値3に更新し(S440)、第2のトラッピング処理が実行された画素のFL値を値2に更新し(S460)、第3のトラッピング処理が実行された画素のFL値を値1に更新する(S480)。そして、FL値が値3である画素に関してはS460に移行しないことにより(S450でNo)、第2のトラッピング処理の実行を制限し、FL値が値3又は値2である画素に関してはS480に移行しないことにより(S470でNo)、第3のトラッピング処理の実行を制限する。
【0145】
このため、本実施形態によれば、判定エリアのサイズを4x4画素に抑えても、第一実施形態と同様に、適切なトラッピング処理の実行が可能である。
付言すると、
図12の処理内容から理解できるように、FL値は、第1のトラッピング処理、第2のトラッピング処理、及び、第3のトラッピング処理の優先度を表し、優先度が高いほど大きい値を示す。FL値は、これらのトラッピング処理の実行を制御するのに有利に機能する。
【0146】
この他、本実施形態では、判定エリアW4において中央部に隣接する複数の周囲画素を、特定順序で色判定画素(Q0)に選択してトラッピング処理を実行することで、トラッピング処理の優先順位を制御している。従って、小さいサイズの判定エリアを用いながらも、有彩色の画素と黒色の画素との境界において極力一様にトラッピング処理を実行することが可能である。
【0147】
[第三実施形態]
第三実施形態の画像形成システム1の第二実施形態との相違点は、基本的に、処理部50が実行するトラッピング制御処理及び判定処理に限られる。従って、以下では、
図14〜
図17を用いて、処理部50が実行するトラッピング制御処理及び判定処理の内容を選択的に説明する。
【0148】
第二実施形態では、色判定画素を基準に、複数の処理対象画素(第1、第2、及び第3画素)に対するトラッピング処理の要否を判定したが、第三実施形態では、次のようにトラッピング処理の要否を判定する。即ち、一つの処理対象画素を基準に、複数の色判定画素(第1、第2、及び、第3色判定画素)を設定し、複数の色判定画素のそれぞれについて、この色判定画素の色成分を処理対象画素に追加するトラッピング処理の要否を判定する。
【0149】
本実施形態において、処理部50は、
図14に示すトラッピング制御処理を繰返し実行することにより、画像データの全体を4x4画素ずつ判定エリアW4に設定し、トラッピング処理を実行するように構成される。
【0150】
トラッピング制御処理を開始すると、処理部50は、S310の処理と同様に、判定エリアW4を設定する(S510)。
判定エリアW4の設定後、処理部50は、処理対象画素(R0)として判定エリアW4の中央部に隣接する周囲画素の一つである画素P4(−1,−2)を選択し、第1色判定画素(Q1)として画素P4(−1,−1)を選択し、第2色判定画素(Q2)として画素P4(−1,1)を選択し、第3色判定画素(Q3)として画素P4(−1,2)を選択する(S520)。
【0151】
S520において選択される処理対象画素(R0)は、
図15左上において、上下に延びる直線でハッチングされた画素に対応する。第1色判定画素(Q1)、第2色判定画素(Q2)及び第3色判定画素(Q3)は、
図15左上において矢印で示す方向に並ぶ3つの画素に対応する。
【0152】
S520での選択後、処理部50は、S530において
図16に示す判定処理を実行することにより、第1色判定画素(Q1)、第2色判定画素(Q2)及び第3色判定画素(Q3)のいずれかに基づいた処理対象画素(R0)に対するトラッピング処理を、必要に応じて実行する。
図16におけるF[]、CMY[]、及びK[]は、第一実施形態において説明した通りの意味で用いられている。
【0153】
この判定処理において、処理部50は、まず処理対象画素(R0)のK値が閾値THKより大きいか否かを判断する(S610)。S610での判断は、処理対象画素(R0)が黒色の画素であるか否かを判断することに対応する。
【0154】
S610において否定判断すると、処理部50は、判定処理を終了する。S610において肯定判断すると、処理部50は、第1色判定画素(Q1)のFL値が0であるか否かを判断する(S620)。第1色判定画素(Q1)のFL値が0であることは、第1色判定画素(Q1)に対してトラッピング処理が実行されていないことを表す。
【0155】
処理部50は、第1色判定画素(Q1)のFL値が0ではないと判断すると(S620でNo)、S660に移行し、第1色判定画素(Q1)のFL値が0であると判断すると(S620でYes)、S630に移行する。
【0156】
S630において処理部50は、第1色判定画素(Q1)のCMY値及びK値が次の条件を満足するか否かを判断する。条件は、第1色判定画素(Q1)のCMY値がゼロではないこと、及び、第1色判定画素(Q1)のK値が基準値RFK以下であることである。
【0157】
処理部50は、第1色判定画素(Q1)のCMY値がゼロではなく、且つ、K値が基準値RFK以下である場合、即ちCMY[Q1]≠0且つK[Q1]≦RFKである場合、S630で肯定判断し、それ以外の場合、否定判断する。S630で肯定判断することは、第1色判定画素(Q1)が黒色以外の有彩色であると判定することに対応する。
【0158】
S630で否定判断すると、処理部50は、S660に移行する。S630で肯定判断すると、処理部50は、S640に移行する。S640において、処理部50は、処理対象画素(R0)のFL値が3未満であるか否かを判断する。
【0159】
処理部50は、処理対象画素(R0)のFL値が3未満である場合、S640で肯定判断して、S650に移行し、それ以外の場合には、S640で否定判断して、S660に移行する。
【0160】
本実施形態においてFL値は、0,1,2,3のいずれかの値を示す。上述した通り、トラッピング処理されていない画素のFL値は値0を示す。一方、トラッピング処理されている画素のFL値は、値1、値2、又は値3を示す。具体的に、対応する画素に対して第1のトラッピング処理が実行されている場合、その画素のFL値は、値3を示す。対応する画素に対して、第2のトラッピング処理が実行されている場合、その画素のFL値は、値2を示す。対応する画素に対して、第3のトラッピング処理が実行されている場合、その画素のFL値は、値1を示す。
【0161】
本実施形態における第1のトラッピング処理は、処理対象画素(R0)に隣接する第1色判定画素(Q1)に基づく処理対象画素(R0)のトラッピング処理に対応し、第2のトラッピング処理は、処理対象画素(R0)から1画素離れた第2色判定画素(Q2)に基づく処理対象画素(R0)のトラッピング処理に対応し、第3のトラッピング処理は、処理対象画素(R0)から2画素はなれた第3色判定画素(Q3)に基づく処理対象画素(R0)のトラッピング処理に対応する。
【0162】
従って、処理部50は、第1色判定画素(Q1)がトラッピング処理されていない有彩色の画素であり、処理対象画素(R0)が第1のトラッピング処理が実行されていない黒色の画素である場合に、S650に移行し、それ以外の場合に、S660に移行する。
【0163】
S650において、処理部50は、処理対象画素(R0)に対する第1のトラッピング処理を実行する。即ち、処理部50は、
図17Aに示すように、処理対象画素(R0)のCMY値を、第1色判定画素(Q1)のCMY値に置き換えることで、第1色判定画素(Q1)の色成分を処理対象画素(R0)に追加する処理(第1のトラッピング処理)を実行する。
【0164】
図17Aにおいて斜線でハッチングされた画素は、有彩色の第1色判定画素(Q1)に対応し、上下に延びる直線でハッチングされた画素は、黒色の処理対象画素(R0)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、第1のトラッピング処理が実行された処理対象画素(R0)に対応する。
【0165】
S650において、処理部50は更に、処理対象画素(R0)のFL値を値3に更新し、その後、S660に移行する。
S660において、処理部50は、第2色判定画素(Q2)のFL値が0であるか否かを判断する。処理部50は、第2色判定画素(Q2)のFL値が0ではないと判断すると(S660でNo)、S710に移行し、第2色判定画素(Q2)のFL値が0であると判断すると(S660でYes)、S670に移行する。
【0166】
S670において処理部50は、第2色判定画素(Q2)のCMY値及びK値が次の条件を満足するか否かを判断する。条件は、第2色判定画素(Q2)のCMY値がゼロではないこと、及び、第2色判定画素(Q2)のK値が基準値RFK以下であることである。
【0167】
処理部50は、第2色判定画素(Q2)のCMY値がゼロではなく、且つ、K値が基準値RFK以下である場合、即ちCMY[Q2]≠0且つK[Q2]≦RFKである場合、S670で肯定判断し、それ以外の場合、否定判断する。S670で肯定判断することは、第2色判定画素(Q2)が黒色以外の有彩色であると判定することに対応する。
【0168】
S670で否定判断すると、処理部50は、S710に移行する。S670で肯定判断すると、処理部50は、S680において、第1色判定画素(Q1)のFL値が3未満であり、且つ、第1色判定画素(Q1)のK値が閾値THKより大きいか否かを判断する。
【0169】
処理部50は、第1色判定画素(Q1)のFL値が3未満であり、且つ、第1色判定画素(Q1)のK値が閾値THKより大きい場合、S680で肯定判断し、それ以外の場合、S680で否定判断する。S680で肯定判断される場合、第1色判定画素(Q1)は、第1のトラッピング処理が実行されたことのない黒色の画素に対応する。
【0170】
処理部50は、S680で否定判断すると、S710に移行する。処理部50は、S680で肯定判断すると、処理対象画素(R0)のFL値が2未満であるか否かを判断する(S690)。
【0171】
処理部50は、処理対象画素(R0)のFL値が2未満である場合、S690で肯定判断して、S700に移行し、それ以外の場合には、S690で否定判断して、S710に移行する。即ち、処理部50は、第2色判定画素(Q2)がトラッピング処理されていない有彩色の画素であり、第1色判定画素(Q1)が第1のトラッピング処理の実行されていない黒色の画素であり、処理対象画素(R0)が第1及び第2のトラッピング処理のいずれの処理も実行されていない黒色の画素である場合に、S700に移行し、それ以外の場合に、S710に移行する。
【0172】
S700において、処理部50は、処理対象画素(R0)に対する第2のトラッピング処理を実行する。即ち、処理部50は、
図17Bに示すように、処理対象画素(R0)のCMY値を、第2色判定画素(Q2)のCMY値に置き換えることで、第2色判定画素(Q2)の色成分を処理対象画素(R0)に追加する処理(第2のトラッピング処理)を実行する。
【0173】
図17Bにおいて斜線でハッチングされた画素は、有彩色の第2色判定画素(Q2)に対応し、上下に延びる直線でハッチングされた画素は、黒色の第1色判定画素(Q1)及び処理対象画素(R0)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、第2のトラッピング処理が実行された処理対象画素(R0)に対応する。
【0174】
S700において、処理部50は更に、処理対象画素(R0)のFL値を値2に更新し、その後、S710に移行する。
S710において、処理部50は、第3色判定画素(Q3)のFL値が0であるか否かを判断する。処理部50は、第3色判定画素(Q3)のFL値が0ではないと判断すると(S710でNo)、判定処理を終了し、第3色判定画素(Q3)のFL値が0であると判断すると(S710でYes)、S720に移行する。
【0175】
S720において処理部50は、第3色判定画素(Q3)のCMY値及びK値が次の条件を満足するか否かを判断する。条件は、第3色判定画素(Q3)のCMY値がゼロではないこと、及び、第3色判定画素(Q3)のK値が基準値RFK以下であることである。
【0176】
処理部50は、CMY値がゼロではなく、且つ、K値が基準値RFK以下である場合、即ちCMY[Q3]≠0且つK[Q3]≦RFKである場合、S720で肯定判断し、それ以外の場合、否定判断する。S720で肯定判断することは、第3色判定画素(Q3)が黒色以外の有彩色であると判定することに対応する。
【0177】
S720で否定判断すると、処理部50は、判定処理を終了する。S720で肯定判断すると、処理部50は、S730において、第2色判定画素(Q2)のFL値が3未満であり、且つ、第2色判定画素(Q2)のK値が閾値THKより大きいか否かを判断する。
【0178】
処理部50は、第2色判定画素(Q2)のFL値が3未満であり、且つ、第2色判定画素(Q2)のK値が閾値THKより大きい場合、S730で肯定判断し、それ以外の場合、S730で否定判断する。S730で肯定判断される場合、第2色判定画素(Q2)は、第1のトラッピング処理が実行されていない黒色の画素に対応する。
【0179】
処理部50は、S730で否定判断すると、判定処理を終了する。処理部50は、S730で肯定判断すると、S740において、第1色判定画素(Q1)のFL値が2未満であり、且つ、第1色判定画素(Q1)のK値が閾値THKより大きいか否かを判断する。
【0180】
処理部50は、第1色判定画素(Q1)のFL値が2未満であり、且つ、第1色判定画素(Q1)のK値が閾値THKより大きい場合、S740で肯定判断し、それ以外の場合、S740で否定判断する。S740で肯定判断される場合、第1色判定画素(Q1)は、第1及び第2のトラッピング処理のいずれも実行されていない黒色の画素に対応する。
【0181】
処理部50は、S740で否定判断すると、判定処理を終了する。処理部50は、S740で肯定判断すると、S750において、処理対象画素(R0)のFL値が1未満であるか否かを判断する。
【0182】
処理部50は、処理対象画素(R0)のFL値が1未満である場合、S760に移行し、それ以外の場合には、判定処理を終了する。即ち、処理部50は、第3色判定画素(Q3)がトラッピング処理されていない有彩色の画素であり、第2色判定画素(Q2)が第1のトラッピング処理の実行されていない黒色の画素であり、第1色判定画素(Q1)が第1及び第2のトラッピング処理のいずれも実行されていない黒色の画素であり、処理対象画素(R0)が第1、第2及び第3のトラッピング処理のいずれも実行されていない黒色の画素である場合に、S760に移行し、それ以外の場合に、判定処理を終了する。
【0183】
S760において、処理部50は、処理対象画素(R0)に対する第3のトラッピング処理を実行する。即ち、処理部50は、
図17Cに示すように、処理対象画素(R0)のCMY値を、第3色判定画素(Q3)のCMY値に置き換えることで、第3色判定画素(Q3)の色成分を処理対象画素(R0)に追加する処理(第3のトラッピング処理)を実行する。
【0184】
図17Cにおいて斜線でハッチングされた画素は、有彩色の第3色判定画素(Q3)に対応し、上下に延びる直線でハッチングされた画素は、黒色の第2色判定画素(Q2)、第1色判定画素(Q1)、及び処理対象画素(R0)に対応し、斜線と上下に延びる直線との重ね合わせのパターンでハッチングされた画素は、第3のトラッピング処理が実行された処理対象画素(R0)に対応する。
【0185】
S760において、処理部50は更に、処理対象画素(R0)のFL値を値1に更新し、その後、判定処理を終了する。
S530での判定処理を終了すると、
図14に示すように、処理部50は、新たに処理対象画素(R0)として画素P4(2,−1)を選択し、第1色判定画素(Q1)として画素P4(1,−1)を選択し、第2色判定画素(Q2)として画素P4(−1,−1)を選択し第3色判定画素(Q3)として画素P4(−2,−1)を選択する(S540)。
【0186】
S540において選択される処理対象画素(R0)は、
図15右上において、上下に延びる直線でハッチングされた画素に対応する。第1色判定画素(Q1)、第2色判定画素(Q2)及び第3色判定画素(Q3)は、
図15右上において矢印で示す方向に並ぶ3つの画素に対応する。
【0187】
S540での選択後、処理部50は、S550において、S540で選択した処理対象画素(R0)、第1色判定画素(Q1)、第2色判定画素(Q2)、及び第3色判定画素(Q3)に関して、S530と同様の判定処理(
図16)を実行する。
【0188】
S550での判定処理を終了すると、処理部50は、処理対象画素(R0)として画素P4(−2,1)を選択し、第1色判定画素(Q1)として画素P4(−1,1)を選択し、第2色判定画素(Q2)として画素P4(1,1)を選択し、第3色判定画素(Q3)として画素P4(2,1)を選択する(S560)。
【0189】
S560において選択される処理対象画素(R0)は、
図15右下において、上下に延びる直線でハッチングされた画素に対応する。第1色判定画素(Q1)、第2色判定画素(Q2)及び第3色判定画素(Q3)は、
図15右下において矢印で示す方向に並ぶ3つの画素に対応する。
【0190】
S560での選択後、処理部50は、S570において、S560で選択した処理対象画素(R0)、第1色判定画素(Q1)、第2色判定画素(Q2)、及び第3色判定画素(Q3)に関して、S530と同様の判定処理(
図16)を実行する。
【0191】
S570での判定処理を終了すると、処理部50は、処理対象画素(R0)として画素P4(1,2)を選択し、第1色判定画素(Q1)として画素P4(1,1)を選択し、第2色判定画素(Q2)として画素P4(1,−1)を選択し、第3色判定画素(Q3)として画素P4(1,−2)を選択する(S580)。
【0192】
S580において選択される処理対象画素(R0)は、
図15左下において、上下に延びる直線でハッチングされた画素に対応する。第1色判定画素(Q1)、第2色判定画素(Q2)及び第3色判定画素(Q3)は、
図15左下において矢印で示す方向に並ぶ3つの画素に対応する。
【0193】
S580での選択後、処理部50は、S590において、S580で選択した処理対象画素(R0)、第1色判定画素(Q1)、第2色判定画素(Q2)、及び第3色判定画素(Q3)に関して、S530と同様の判定処理(
図16)を実行する。
【0194】
S590の処理を終了すると、処理部50は、S510で設定した判定エリアW4についてのトラッピング制御処理を終了する。その後、処理部50は、新たにトラッピング制御処理を開始し、S510で更新した判定エリアW4に関して、S520以降で必要に応じてトラッピング処理を実行する。
【0195】
本実施形態の画像形成システム1によれば、第二実施形態と同様の効果を奏することができる。
[他の実施形態]
以上に、第一、第二、及び第三実施形態を説明したが、本開示は、上記実施形態に限定されるものではなく、種々の態様を採ることができる。
【0196】
例えば、判定エリアのサイズは、3x3画素及び4x4画素のサイズに限定されない。本開示は、5x5画素以上の判定エリアにも適用できる。本開示がバッファサイズを低減する効果は、判定エリアのサイズが大きくなるほど発揮される。判定エリアは、正方形状のエリアに限定されるものではなく縦横の長さが異なるエリアであってもよい。
【0197】
この他、本開示の技術思想は、レーザプリンタに限らず、画像の重ね合わせに際する位置誤差に起因して白抜けが発生する種々の画像形成システムに適用可能である。
この他、上記実施形態における1つの構成要素が有する機能は、複数の構成要素に分散して設けられてもよい。複数の構成要素が有する機能は、1つの構成要素に統合されてもよい。上記実施形態の構成の一部は、省略されてもよい。上記実施形態の構成の少なくとも一部は、他の上記実施形態の構成に対して付加又は置換されてもよい。特許請求の範囲に記載の文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【0198】
[対応関係]
FIFOバッファ71は、入力手段の一例に対応する。処理部50が実行するS110;S310;S510の処理によって実現される機能が、設定手段により実現される機能の一例に対応する。処理部50が実行するS120,S140,S160,S180;S320,S340,S360,S380;S520,S540,S560,S580の処理によって実現される機能が、選択手段によって実現される機能の一例に対応する。
【0199】
処理部50が実行するS220;S420;S630,S670,S720の処理によって実現される機能が、色判定手段によって実現される機能の一例に対応する。処理部50が実行するS115;S240;S430,S450,S470;S610の処理によって実現される機能が、黒判定手段によって実現される機能の一例に対応する。
【0200】
処理部50が実行するS230,S250;S440,S460,S480;S650,S700,S760の処理によって実現される機能が、トラップ手段によって実現される機能及びフラグ情報の付加機能の一例に対応する。
【0201】
処理部50がS230,S250;S440,S460,S480;S650,S700,S760への移行を決定する機能が、実行決定手段によって実現される機能の一例に対応し、処理部50がフラグ情報(FL値)を参照して、S250;S460,S480;S700,S760への移行を制御する機能が、制御手段によって実現される機能の一例に対応する。