(57)【特許請求の範囲】
【請求項１】
複数の記録素子を有する画像形成装置の出力特性に応じて生成した閾値マスクを用いて画像データをハーフトーン処理し、前記画像形成装置に供給する画像処理装置であって、
前記画像形成装置の前記複数の記録素子の各々が記録したライン毎の濃度値に基づいて、ライン毎に前記出力特性を解析する出力特性解析手段と、
前記解析したライン毎の出力特性に基づき、前記ハーフトーン処理に用いる閾値マスクを生成するマスク生成手段と、
前記画像形成装置に出力する画像データに対し、前記生成されたマスクを用いてハーフトーン処理を行ない、処理後の画像データを前記画像形成装置に供給する供給手段とを有し、
前記マスク生成手段は、
前記閾値マスクを構成する複数の画素のうち、予め定められた画素を初期の選択画素とし、当該初期の選択画素に最も大きなマスク値より１小さなマスク値を、他の全ての画素に前記最も大きなマスク値を設定し、
前記閾値マスクを構成する複数の画素のうち、選択画素とされていない画素の各々について、その画素と、直前に選択画素とされた画素との距離ｒから、関数
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
を用いて算出されるパラメータを、その画素が属するラインの前記出力特性を用いて重み付けして得た値を、その画素のポテンシャルに加算して新たなポテンシャルを算出する第１ステップと、
前記ポテンシャルが算出された画素の中から、これまでに選択画素とされたことがなく、かつ前記ポテンシャルが最も小さい画素を選択して新たな選択画素とし、当該新たな選択画素のマスク値と、これまでに選択画素とされたことのある全ての画素のマスク値とを１減らして各画素の新たなマスク値を設定する第２ステップとを、
前記複数の画素の全てが選択画素とされるまで繰り返すことにより、前記閾値マスクを生成する
ことを特徴とする画像処理装置。
【請求項２】
前記ライン毎の出力特性は、前記対応する記録素子が記録したライン濃度値の平均濃度値であることを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記出力特性解析手段が、前記出力結果を読み取る画像読み取り手段と、
前記読み取り結果から、ライン毎の平均濃度値を検出する濃度検出手段とを有することを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
請求項１乃至請求項３のいずれか１項に記載の画像処理装置と、前記画像形成装置とからなる画像形成システム。
【請求項５】
複数の記録素子を有する画像形成装置の出力特性に応じて生成した閾値マスクを用いて画像データをハーフトーン処理し、前記画像形成装置に供給する画像処理方法であって、
前記画像形成装置の前記複数の記録素子の各々が記録したライン毎の濃度値に基づいて、ライン毎に前記出力特性を解析する出力特性解析ステップと、
前記解析したライン毎の出力特性に基づき、前記ハーフトーン処理に用いる閾値マスクを生成するマスク生成ステップと、
前記画像形成装置に出力する画像データに対し、前記生成されたマスクを用いてハーフトーン処理を行ない、処理後の画像データを前記画像形成装置に供給する供給ステップとを有し、
前記マスク生成ステップは、
前記閾値マスクを構成する複数の画素のうち、予め定められた画素を初期の選択画素とし、当該初期の選択画素に最も大きなマスク値より１小さなマスク値を、他の全ての画素に前記最も大きなマスク値を設定し、
前記閾値マスクを構成する複数の画素のうち、選択画素とされていない画素の各々について、その画素と、直前に選択画素とされた画素との距離ｒから、関数
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
を用いて算出されるパラメータを、その画素が属するラインの前記出力特性を用いて重み付けして得た値を、その画素のポテンシャルに加算して新たなポテンシャルを算出する第１ステップと、
前記ポテンシャルが算出された画素の中から、これまでに選択画素とされたことがなく、かつ前記ポテンシャルが最も小さい画素を選択して新たな選択画素とし、当該新たな選択画素のマスク値と、これまでに選択画素とされたことのある全ての画素のマスク値とを１減らして各画素の新たなマスク値を設定する第２ステップとを、
前記複数の画素の全てが選択画素とされるまで繰り返すことにより、
前記閾値マスクを生成する
ことを特徴とする画像処理方法。
【請求項６】
請求項５に記載の画像処理方法をコンピュータ装置に実行させるプログラムを格納した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法に関し、特にプリンタ等の画像形成装置で発生する出力結果の濃度むらを低減するように出力データを補正する機構を備えた画像処理装置及び画像処理方法に関するものである。
【０００２】
【従来の技術】
従来、紙、ＯＨＰシートなどの記録媒体上に画像を形成する装置としては、種々の記録方式による記録ヘッドを搭載した形態で提案されている。記録方式としては、ワイヤードット方式、感熱方式、熱転写方式、インクジェット方式などがある。これらいずれの方法も、記録の効率を上げるために複数の記録素子を一体化した記録ヘッドを用いるのが一般的である。
【０００３】
このような構成においては、記録素子間のばらつきや、記録ヘッドおよび記録媒体の移動の機械的精度に起因する、帯状の濃度むらが避けられないものであった。具体的には、インクジェット方式であれば、記録素子であるインク吐出ノズル間でインクの吐出方向や吐出量の微妙な差により細かいスジが生じたり、ノズルの間隔と記録媒体の移動量の誤差により記録媒体の移動量の間隔で帯状の濃度むらが生じることがあった。
【０００４】
そして、このような濃度むらを補正する方法としては、特開平５−０６９５４５号公報などに開示されているヘッドシェーディング補正が使用されていた。この方法は概略すると、画像形成装置によりテストチャートを出力し、出力結果に生じるむらの特性をスキャナ等の画像読み取り装置で読み取り、そのむらを打ち消すように画像データを補正して、画像形成装置に供給するものである。
【０００５】
【発明が解決しようとする課題】
しかしながら、ヘッドシェーディング補正による濃度むら補正方法を用いた場合、補正により入力画像の階調数が減少したり、出力時間が遅くなるという問題があった。
【０００６】
本発明はこのような課題に鑑みなされたものであり、その目的は、簡便な方法により画像形成装置の出力結果における濃度むらを抑制可能な画像処理装置及び画像処理方法を提供することにある。
【０００７】
すなわち、本発明の要旨は、複数の記録素子を有する画像形成装置の出力特性に応じて生成した閾値マスクを用いて画像データをハーフトーン処理し、画像形成装置に供給する画像処理装置であって、画像形成装置の複数の記録素子の各々が記録したライン毎の濃度値に基づいて、ライン毎に出力特性を解析する出力特性解析手段と、解析したライン毎の出力特性に基づき、ハーフトーン処理に用いる閾値マスクを生成するマスク生成手段と、画像形成装置に出力する画像データに対し、生成されたマスクを用いてハーフトーン処理を行ない、処理後の画像データを画像形成装置に供給する供給手段とを有し、マスク生成手段は、閾値マスクを構成する複数の画素のうち、予め定められた画素を初期の選択画素とし、当該初期の選択画素に最も大きなマスク値より１小さなマスク値を、他の全ての画素に最も大きなマスク値を設定し、閾値マスクを構成する複数の画素のうち、選択画素とされていない画素の各々について、その画素と、直前に選択画素とされた画素との距離ｒから、関数
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
を用いて算出されるパラメータを、その画素が属するラインの出力特性を用いて重み付けして得た値を、その画素のポテンシャルに加算して新たなポテンシャルを算出する第１ステップと、ポテンシャルが算出された画素の中から、これまでに選択画素とされたことがなく、かつポテンシャルが最も小さい画素を選択して新たな選択画素とし、当該新たな選択画素のマスク値と、これまでに選択画素とされたことのある全ての画素のマスク値とを１減らして各画素の新たなマスク値を設定する第２ステップとを、複数の画素の全てが選択画素とされるまで繰り返すことにより、閾値マスクを生成することを特徴とする画像処理装置に存する。
【０００８】
また、本発明の別の要旨は、本発明の画像処理装置と、画像形成装置とからなる画像形成システムに存する。
【０００９】
また、本発明の別の要旨は、複数の記録素子を有する画像形成装置の出力特性に応じて生成した閾値マスクを用いて画像データをハーフトーン処理し、画像形成装置に供給する画像処理方法であって、画像形成装置の複数の記録素子の各々が記録したライン毎の濃度値に基づいて、ライン毎に出力特性を解析する出力特性解析ステップと、解析したライン毎の出力特性に基づき、ハーフトーン処理に用いる閾値マスクを生成するマスク生成ステップと、画像形成装置に出力する画像データに対し、生成されたマスクを用いてハーフトーン処理を行ない、処理後の画像データを画像形成装置に供給する供給ステップとを有し、マスク生成ステップは、閾値マスクを構成する複数の画素のうち、予め定められた画素を初期の選択画素とし、当該初期の選択画素に最も大きなマスク値より１小さなマスク値を、他の全ての画素に最も大きなマスク値を設定し、閾値マスクを構成する複数の画素のうち、選択画素とされていない画素の各々について、その画素と、直前に選択画素とされた画素との距離ｒから、関数
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
を用いて算出されるパラメータを、その画素が属するラインの出力特性を用いて重み付けして得た値を、その画素のポテンシャルに加算して新たなポテンシャルを算出する第１ステップと、ポテンシャルが算出された画素の中から、これまでに選択画素とされたことがなく、かつポテンシャルが最も小さい画素を選択して新たな選択画素とし、当該新たな選択画素のマスク値と、これまでに選択画素とされたことのある全ての画素のマスク値とを１減らして各画素の新たなマスク値を設定する第２ステップとを、複数の画素の全てが選択画素とされるまで繰り返すことにより、閾値マスクを生成することを特徴とする画像処理方法に存する。
【００１０】
また、本発明の別の要旨は、コンピュータ装置が実行可能なプログラムを格納した記憶媒体であって、プログラムを実行したコンピュータ装置を、本発明の画像処理装置として機能させることを特徴とする記憶媒体に存する。
【００１１】
また、本発明の別の要旨は、本発明の画像処理方法を、コンピュータ装置が実行可能なプログラムとして格納したことを特徴とする記憶媒体に存する。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の好ましい実施形態について説明する。
［第１の実施形態］
（全体構成）
図１は本発明の一実施形態である画像処理装置と、画像形成装置であるプリンタとを接続した画像形成システムの構成例を示すブロック図である。
【００１３】
画像処理装置１とプリンタ１３は、図示しないプリンタインタフェース又はネットワークインタフェースによって接続されている。
【００１４】
図において、１０は出力画像を読み取る画像読み取り処理部、１１はしきい値マスクを生成するためのマスク生成処理部、１２は入力画像をハーフトーン化するためのハーフトーニング処理部、１３は画像を出力するプリンタ、１４は入力画像および読み取り画像を格納する画像メモリ、１５はしきい値マスクを格納するためのマスクメモリ、１６は出力装置の特性を測定するためのテスト画像を格納するテスト画像メモリ、１７は読み取り画像から出力装置の特性を解析する解析処理部である。
【００１５】
プリンタ１３は、記録ヘッド１０１を記録媒体１０４に対して相対的に縦横に移動することにより、記録媒体上に画像を形成する。記録ヘッドはワイヤードット方式、感熱方式、熱転写方式、インクジェット方式等の方式のものを用いることができ、いずれも一つ以上の記録素子から構成される。１０２は記録ヘッドを移動するための移動部であり、１０３は記録媒体を搬送する搬送部である。このようなプリンタにおいては、記録ヘッド１０１を構成する記録素子の配置や特性のばらつきや、移動装置および搬送装置の機械的精度等により、画像上に帯状の濃度むらが発生することは避け難い。
【００１６】
（画像形成処理）
図２は記録ヘッド１０１の構成例を示す図である。図２においては、説明を簡単にするため用紙搬送方向に記録素子が一列に配置された構成を有する記録ヘッドを示しているが、記録素子の数、配置は任意であり、例えば記録素子が複数列あっても、記録素子がジグザグに配置されているような構成であっても良い。
【００１７】
図において、２０は記録素子であり縦に一定間隔で１６個配置されている。記録ヘッド１０１は記録媒体１０４に対し、左から右に移動しながら一定の駆動間隔で各記録素子を駆動し記録媒体上に画像を記録する。一回の走査が終了すると、記録ヘッドを左端に戻すと同時に、記録媒体を一定量搬送する。以上の処理を繰り返すことにより画像の記録が行われる。
【００１８】
（画像補正処理）
以下、本画像処理装置により画像を補正出力するための処理手順を説明する。まず、出力装置の特性を測定するためにテスト画像を出力する。図３にテスト画像の詳細を示した。各ます目が画像１画素であり、白ます３０は当該画素を記録しないことを、黒ます３１は当該画素を記録することを示す。画像のサイズは横１６画素、縦４８画素であり、図２に示した記録ヘッドを３回走査することにより記録媒体上にテスト画像が記録される。
【００１９】
次に、画像読み取り処理部１０により、テスト画像の出力結果を読み取る。本実施形態において、画像読み取り処理部１０の読み取り解像度はプリンタ１３の出力解像度と同じであり、また各画素２５６レベルの読み取りが行えるものとする。画像読み取り処理部１０により読み取った画像の例を図４に示す。
【００２０】
次に解析処理部１７により記録素子ごとの出力特性を解析する。図５は解析処理部１７の処理手順を示すフローチャートである。まず、読み取り画像データの横方向の平均を求める（ステップＳ５０）。読み取り画像の左上を原点とする位置（ｘ，ｙ）の読み取り画素値をＩ（ｘ，ｙ）とすると、ラインｙの平均値Ａ（ｙ）は、
【００２１】
【数１】
0004282042.tif 000002
で求められる。ただし、Ｗは読み取り画像の横画素数（本実施形態では１９）である。
【００２２】
図６に、図４に示した読み取り画像データに対して求めたライン平均値を示す。図６において、横軸はライン番号、縦軸が平均値である。次に、読み取り画像の横方向平均値から画像の記録が始まるラインＬａを検出する（ステップＳ５１）。具体的には、ライン平均値があるしきい値ＴＨを最初に越えたライン番号から画像の記録が開始すると判定することができる。
【００２３】
しきい値ＴＨは、ライン間を正しく分離して認識可能で、かつ重心の精度が十分となるな値を予め実験等により決定する。しきい値が低すぎるとライン間を正しく分離できなくなり、高すぎると重心の精度が低くなる。
【００２４】
次に、画像の記録が終了するラインＬｂを検出する（ステップＳ５２）。これは、画像の記録が開始するラインＬａの検出と同様に、ライン平均値があるしきい値ＴＨを最後に下回る直前のラインで画像の記録が終了すると判定することができる。すなわち、図６の例では、Ｌａ＝１３、Ｌｂ＝３７と判断される。
【００２５】
次に、読み取り画像のライン番号とそのラインを記録した記録素子との対応付けを行う（ステップＳ５３）。上述の通り、テスト画像は記録ヘッドを３回走査することで記録されたものであるから、記録素子の総数をＮとしたとき、２回目の走査で記録された領域における、ｉ番目の記録素子により記録された画像のライン番号Ｌ（ｉ）は、
記録ヘッドが２度目の走査時に印刷した中心位置が（Ｌａ＋Ｌｂ）／２，
その際の０番目の記録素子の位置が（Ｌａ＋Ｌｂ）／２−Ｎ／２
と表せることから、次式により求められる。
Ｌ（ｉ）＝（Ｌａ＋Ｌｂ−Ｎ）／２＋ｉ（ｉ＝０…Ｎ−１）
【００２６】
次に図７に示すフローチャートを用いてマスク生成の手順を説明する。本実施形態において、マスクのサイズは縦横１６画素とする。まず、１レベル目のドット配置を決める（ステップＳ７０）。ここでは、図８に示すように左上角に最初のドットを配置した。次に、マスクメモリ１５を初期化する（ステップＳ７１）。すなわち、最初のドット位置（０，０）のマスク値を２５４に、その他のマスク値を２５５に設定する。次に、ポテンシャルの初期化を行う（ステップＳ７２）。ポテンシャルはドット位置からの距離ｒに対して以下の関数ｆ（ｒ）で与えられるものとする。
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
【００２７】
ドット位置（０，０）による、マスクの位置（ｘ，ｙ）に対応するポテンシャルＰ（ｘ，ｙ）は、次式で求められる。
【００２８】
【数２】
0004282042.tif 000003
【００２９】
次に、ポテンシャルの最も小さい位置を検索しその位置にドットを追加する（ステップＳ７３）。ポテンシャルの最小値を持つ位置が複数ある場合は、ランダムに一つの位置を選択する。次に新たに追加したドットを含むすべてのドットの位置に対応するマスク値を１減らす（ステップＳ７４）。次に、新たに追加したドットに対するポテンシャルを加算する（ステップＳ７５）。追加したドットの位置を（ｘ０，ｙ０）とすると、新たなポテンシャルは次式により求められる。
【００３０】
【数３】
0004282042.tif 000004
【００３１】
ステップＳ７３，Ｓ７４，Ｓ７５を、マスクのすべての画素位置にドットが追加されるまで繰り返す。以上のようにしてしきい値マスクの生成が行われる。このようにポテンシャルを当該ラインの平均値で重み付けをすることにより、平均値の高いラインにはより大きなポテンシャルが生じ、その結果、平均値の高いラインには新たなドットが追加されにくくなる効果を与えることができる。
【００３２】
図９はハーフトーニングの過程を示す模式図である。９０は入力画像の１画素を示しており数字は画素値である。９１はしきい値マスクの１画素を示しており数字はしきい値である。９２は出力画像の１画素を示しており数字０は当該画素を印字しないことを数字１は当該画素を印字することを表す。ハーフトーニング装置は画像メモリとマスクメモリを画素毎に比較し、画像メモリの画素値がマスクの値以上であれば、記録素子を駆動し、当該画素の記録を行う。
【００３３】
このように第１の実施形態によれば、プリンタの特性によるライン毎の濃度むらを打ち消すようなしきい値マスクを生成することで帯状の濃度むらを低減することが可能となる。
【００３４】
［第２の実施形態］
第１の実施形態では記録素子毎の濃度変動を補正するような構成であったが、別の実施形態として記録素子毎の記録位置ずれを補正するような構成も可能である。
【００３５】
再び、図１の画像処理装置を用いて画像を補正出力するための処理手順を説明する。まず、出力装置の特性を測定するためにテスト画像を出力する。図１０にテスト画像の詳細を示した。図３と同様、白ます３０は当該画素を記録しないことを、黒ます３１は当該画素を記録することを表している。図から明らかなように、本実施形態におけるテスト画像は、互いに異なるパターンを有するブロックａ〜ｄから構成されている。また、テスト画像のサイズは横４８画素縦３２画素であり、図２に示す記録ヘッドを２回走査することにより記録媒体上に画像が記録される。
【００３６】
次に、画像読み取り処理部１０により、テスト画像の出力結果を読み取る。本実施形態において、画像読み取り処理部１０の読み取り解像度はプリンタ１３の出力解像度と同じであり、また各画素２５６レベルの読み取りが行えるものとする。画像読み取り処理部１０により読み取った画像の例を図１１に示す。
【００３７】
次に解析処理部１７により記録素子ごとの出力特性を解析する。図１２は解析処理部１７の処理手順を示すフローチャートである。まず、読み取り画像データをテスト画像のブロックａ〜ｄに対応する四つのブロック１１１，１１２，１１３，１１４に分割する（ステップＳ１２０）。ブロックに分割する場合、読み取り時の位置ずれを考慮した間隔を隣接するブロックとの間に設け、ブロックの横幅は平均値の算出に十分な幅を設定する。
【００３８】
次に各ブロックに対する記録素子番号の初期化を行う（ステップＳ１２１）。本実施形態のテスト画像においては、ブロックａでは記録素子１２，０，４，８，１２が、ブロックｂは記録素子１２，１，５，９，１３が、ブロックｃは記録素子１２，２，６，１０，１４が、ブロックｄは記録素子１２，３，７，１１，１５がそれぞれ印字を行なうことになり、図１１におけるブロック１１１〜１１４がテスト画像のブロックａ〜ｄのそれぞれに対応する。
【００３９】
以下、ブロック１１１〜１１４の処理のうち、代表的にブロック１１１に対する処理について図１３を参照して説明する。
【００４０】
まず、ブロック内で最初にライン平均画素値がしきい値ＴＨ以上となるライン番号を求め（ステップＳ１２３）、ライン番号を記憶する（ステップＳ１２４）。ライン平均画素値がしきい値ＴＨを超えない場合には、ライン番号を増やして（ステップＳ１２６）次のラインを評価する。
【００４１】
ステップＳ１２５→ステップＳ１２７において、次ラインにおいても平均画素値がしきい値ＴＨを超えるか否かを判定し、平均画素値がしきい値ＴＨを連続して超えるライン番号を順次記憶する。
【００４２】
ステップＳ１２７で平均画素値がしきい値ＴＨ以下のラインと判定されると、ステップＳ１２４で記憶した、平均画素値がしきい値ＴＨを連続して超えたラインについて、重心を算出し、記憶する（ステップＳ１２８）。重心位置Ｃは次式により求められる。ここで、Ａ（ｙ）はラインｙの平均画素値、Ｈはしきい値以上のライン数である。
【００４３】
【数４】
0004282042.tif 000005
【００４４】
図１３はブロック１１１のライン平均画素のグラフである。横軸がライン番号縦軸が平均画素値である。この場合、記録素子１２が最初に記録した線はしきい値ＴＨを超えた３ライン１３１，１３２，１３３に対応し、この３つの平均値から重心位置を求める。最初の記録素子に対応する重心位置は基準位置を表すものでここではＣ０とする。図１３において、ＴＨ＝５０ではライン間の分離が十分できず、ＴＨ＝１００では重心の精度が低くなるため、ＴＨ＝６０と設定されている。
【００４５】
次に、ブロックに対応する全ての記録素子について重心算出処理が終了したか否かを判定し（ステップＳ１２９）、未終了であれば記録素子番号を更新（ブロック１１１の場合は１２→０→４→８→１２）し（ステップＳ１３０）ステップＳ１２３からの処理を繰り返すことにより、各記録素子の重心位置を求める。
【００４６】
以上の処理を残りのブロック１１２〜１１４に対しても行い、各記録素子ｉの重心位置の基準位置Ｃ０からの相対値Ｃ（ｉ）、すなわちＣ（ｉ）−Ｃ０をマスク生成装置に渡す。
【００４７】
（マスク生成処理）
次に図７に基づきマスク生成の手順を説明する。マスクのサイズは縦横１６画素とする。まず、１レベル目のドット配置を決める（ステップＳ７０）。ここでは、図８に示すように左上角に最初のドットを配置した。次に、マスクメモリを初期化する（ステップＳ７１）。最初のドット位置（０，０）のマスク値を２５４に、その他のマスク値を２５５に設定する。次に、ポテンシャルの初期化を行う（ステップＳ７２）。ポテンシャルはドット位置からの距離ｒに対して以下の関数ｆ（ｒ）で与えられるものとする。
ｆ（ｒ）＝−０．４１ｒ＋１．２１（ｒ≦２）
ｆ（ｒ）＝２．７６ｅ−ｒ（２＜ｒ≦１０）
ｆ（ｒ）＝０（ｒ＞１０）
【００４８】
ドット位置（０，０）による、マスクの位置（ｘ，ｙ）に対応するポテンシャルＰ（ｘ，ｙ）は、次式で求められる。
【００４９】
【数５】
0004282042.tif 000006
【００５０】
次に、ポテンシャルの最も小さい位置を検索しその位置にドットを追加する（ステップＳ７３）。ポテンシャルの最小値を持つ位置が複数ある場合は、ランダムに一つの位置を選択する。次に新たに追加したドットを含むすべてのドットの位置に対応するマスク値を１減らす（ステップＳ７４）。次に、新たに追加したドットに対するポテンシャルを加算する（ステップＳ７５）。追加したドットの位置を（ｘ０，ｙ０）とすると、次式により新たなポテンシャルが求められる。
【００５１】
【数６】
0004282042.tif 000007
ステップＳ７３，Ｓ７４，Ｓ７５をマスクのすべての画素位置にドットが追加されるまで繰り返す。
【００５２】
以上のようにしてしきい値マスクの生成が行われる。このようにポテンシャルを当該ラインのずれ量で補正することにより、ライン間隔の広いところではポテンシャルが小さくなるためドットが追加されやすくなる効果がある。
【００５３】
ハーフトーニング処理は第１の実施形態と同様に処理を行なうことができる。以上説明したように第２の実施形態によれば、プリンタの特性によるライン毎の位置ずれを打ち消すようなしきい値マスクを生成することで帯状のスジを低減することが可能となる。
【００５４】
【他の実施形態】
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００５５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図５、図７、図１２のいずれか１つ以上に示す）フローチャートに対応するプログラムコードが格納されることになる。
【００５８】
【発明の効果】
以上説明したように、本発明によれば、画像形成装置により生じる帯状の濃度むらを、むらの状態を打ち消すようなしきい値マスクを生成することにより、画像データの欠落なしに出力むらを低減することが可能である。また、マスクによるハーフトーニング処理を行なうことにより、高速に処理が可能であるという効果を有する。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る画像処理装置のブロック図である。
【図２】記録ヘッドの構造を示す図である。
【図３】テストチャートの一例を示す図である。
【図４】テストチャートの読み取り結果例を示す図である。
【図５】解析処理部の動作を表すフローチャートである。
【図６】濃度むらの読み取りデータの一例を示す図である。
【図７】マスク生成処理部の動作を表すフローチャートである。
【図８】ドット配置の初期状態を示す図である。
【図９】ハーフトーニング処理部の動作を表す摸式図である。
【図１０】第２の実施形態におけるテストチャートの一例を示す図である。
【図１１】第２の実施形態におけるテストチャートの読み取り例を示す図である。
【図１２】第２の実施形態における解析処理部の動作を表すフローチャートである。
【図１３】位置ずれの読み取りデータの一例を示す図である。
【図１】
0004282042.tif 000008
【図２】
0004282042.tif 000009
【図３】
0004282042.tif 000010
【図４】
0004282042.tif 000011
【図５】
0004282042.tif 000012
【図６】
0004282042.tif 000013
【図７】
0004282042.tif 000014
【図８】
0004282042.tif 000015
【図９】
0004282042.tif 000016
【図１０】
0004282042.tif 000017
【図１１】
0004282042.tif 000018
【図１２】
0004282042.tif 000019
【図１３】
0004282042.tif 000020