(57)【要約】【課題】  メモリや大容量のデータ通信を必要とせず、簡易な方法により低周波成分が逆位相となる各走査のＮ値化データを生成する【解決手段】  マルチパス記録方式のための画像処理装置であって、入力画像データを構成する各画素の画素値を分割して各走査に対応する走査データを生成する生成手段と、前記走査に対応する関数に基づいて、画素ごとにドットの形成されやすさを表す位相制御情報を前記走査ごとに算出する算出手段と、前記走査データに対し、前記位相制御情報を用いてハーフトーン処理することにより、前記走査データをドットパターンを表すハーフトーン画像データに変換するハーフトーン処理手段とを有し、前記位相制御情報を算出するための走査ごと関数は、重ね合わせると互いに打ち消し合う関係にあり、前記走査ごとのハーフトーン画像データは、それぞれが表すドットパターンの位相が所定の画像周波数帯域で逆位相となることを有する画像処理装置。【選択図】  図１
2015002370.tif 000002
【特許請求の範囲】
【請求項１】
画像を表す着目の色成分について、記録媒体上の同一領域に対して、複数回、記録走査することにより画像を形成するための画像処理装置であって、
前記着目の色成分に対応する入力画像データを構成する各画素の画素値を、画素毎に各走査に分割することにより各走査に対応する走査データを生成する生成手段と、
前記走査に対応する関数に基づいて、画素ごとにドットの形成されやすさを表す位相制御情報を前記走査ごとに算出する算出手段と、
前記生成手段により生成された走査データに対し、前記位相制御情報を用いてハーフトーン処理することにより、前記走査データをドットパターンを表すハーフトーン画像データに変換するハーフトーン処理手段とを有し、
前記位相制御情報を算出するための走査ごと関数は、重ね合わせると互いに打ち消し合う関係にあり、
前記走査ごとのハーフトーン画像データは、それぞれが表すドットパターンの位相が所定の周波数帯域で逆位相となることを有する画像処理装置。
【請求項２】
前記走査ごとのハーフトーン画像データは、それぞれが表すドットパターンの位相が前記所定の周波数帯域より高い周波数帯域において無相関となることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記関数は、三角関数であることを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記関数は、乱数を生成する関数であることを特徴とする請求項１に記載の画像処理装置。
【請求項５】
単色の画像形成のときには着目の色成分はその１色に相当し、複数色の画像形成のときには着目の色成分はその複数のうちの１色に相当することを特徴とする請求項１乃至４の何れか一項に記載の画像処理装置。
【請求項６】
コンピュータに読み込み込ませ実行させることで、前記コンピュータを請求項１乃至５の何れか一項に記載された画像形成装置として機能させることを特徴とするコンピュータプログラム。
【請求項７】
画像を表す着目の色成分について、記録媒体上の同一領域に対して、複数回、記録走査することにより画像を形成するための画像処理方法であって、
前記着目の色成分に対応する入力画像データを構成する各画素の画素値を、画素毎に各走査に分割することにより各走査に対応する走査データを生成し、
前記走査に対応する関数に基づいて、画素ごとにドットの形成されやすさを表す位相制御情報を前記走査ごとに算出し、
前記走査データに対し、前記位相制御情報を用いてハーフトーン処理することにより、前記走査データをドットパターンを表すハーフトーン画像データに変換し、
前記位相制御情報を算出するための走査ごと関数は、重ね合わせると互いに打ち消し合う関係にあり、前記走査ごとのハーフトーン画像データは、それぞれが表すドットパターンの位相が所定の周波数帯域で逆位相となることを有する画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力画像の階調数よりも低階調にするための画像処理装置およびその方法に関する。
【背景技術】
【０００２】
ワードプロセッサやパーソナルコンピュータ、ファクシミリ等の画像出力装置としては一般に、所望される文字や画像等の情報を、用紙やフィルム等のシート状の記録媒体に記録する記録装置が用いられる。このような記録装置としては様々な記録方式のものがあるが、なかでも記録媒体に記録剤を付着させることで記録媒体上に画像を形成する方式が広く実用化されている。このような方式の代表例として、インクジェット記録方式が知られている。
【０００３】
このような記録装置においては、多値の入力画像データをドットパターンを表すＮ値画像（Ｎは２以上で、入力画像データの階調数より少ない数）に変換するためのハーフトーン処理が必要となる。また、インクジェット記録方式を用いた記録装置では、濃度ムラを目立ちにくくするため、画像を表す色成分について記録媒体上の同一領域に複数回記録することにより、画像を形成するマルチパス記録技術が採用されている。複数回の記録により形成される画像の画質向上のため、ドットの形成順やドットの配置を考慮したハーフトーン処理方法がある。特許文献１に記載された方法では、走査毎に画像デ―タに対してハーフトーン処理を用いてＮ値化する際に、既に生成された走査のＮ値化データ（ドットパターン）に対して、低周波成分のみが逆位相となるように新たなＮ値化を行う。これにより、走査間のＮ値化データ間において低周波成分が逆位相となり、位置ズレに対する濃度ムラの変動が起きるのを抑制することができる。
【０００４】
また、特許文献２に記載された方法では、予め各走査に対応するＮ値化デ―タ間において低周波成分が逆位相となるように、位相制御情報を予め作成しておく。この制約情報を参照することにより、走査間のＮ値化データ間において低周波成分を逆位相にする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−１８８８０５号公報
【特許文献２】特開２００８−１９３２６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に記載された手法によれば、新たにＮ値化を行う際には、先に生成したＮ値化データを保持していなければならない。そのため、データ転送量が多く、データ通信のための帯域幅を多量に使用してしまう。
【０００７】
また、特許文献２に記載された手法によれば、位相制御情報を保持するためのバンドメモリが必要であり、メモリコストが大きくなる。
【０００８】
そこで本発明は、高コストなメモリや大容量のデータ通信を必要とせず、簡易な方法により低周波成分が逆位相となる各走査のＮ値化データを生成することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため本発明は、画像を表す少なくとも一つの色成分について、記録媒体上の同一領域に対して、複数回記録走査することにより画像を形成するための画像処理装置であって、前記色成分に対応する入力画像データを構成する各画素の画素値を、画素毎に各走査に分割することにより各走査に対応する走査データを生成する生成手段と、前記走査に対応する関数に基づいて、画素ごとにドットの形成されやすさを表す位相制御情報を前記走査ごとに算出する算出手段と、前記生成手段により生成された走査データに対し、前記位相制御情報を用いてハーフトーン処理することにより、前記走査データをドットパターンを表すハーフトーン画像データに変換するハーフトーン処理手段とを有し、前記位相制御情報を算出するための走査ごと関数は、重ね合わせると互いに打ち消し合う関係にあり、前記走査ごとのハーフトーン画像データは、それぞれが表すドットパターンの位相が所定の画像周波数帯域で逆位相となることを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、高コストなメモリや大容量のデータ通信を必要とせず、簡易な方法により低周波成分が逆位相となる各走査のＮ値化データを生成することができる。
【図面の簡単な説明】
【００１１】
【図１】画像処理装置の構成を示すブロック図
【図２】プリンタにおける記録ヘッドの構成例を示す図
【図３】画像処理を示すフローチャート
【図４】色分解処理部における入出力データの詳細を示す図
【図５】１６ノズル、２パス印字による画像形成の概要を示す図
【図６】走査Ｄｕｔｙ設定用ＬＵＴに保持されたＤｕｔｙ分割率の一例を示す図
【図７】走査Ｄｕｔｙの設定方法の概要を示す図
【図８】走査Ｄｕｔｙの設定方法の概要を示す図
【図９】走査Ｄｕｔｙの設定方法の概要を示す図
【図１０】走査番号ｋ＝１の走査Ｄｕｔｙバッファのバンド構成例を示す図
【図１１】２パスの位相制御情報を示す図
【図１２】２パスの位相制御情報の領域分割例を示す図
【図１３】ハーフトーン処理部の詳細構成を示すブロック図
【図１４】ハーフトーン処理を示すフローチャート
【図１５】誤差拡散係数の一例を示す図
【図１６】各シアン累積誤差ラインバッファの記憶領域を示す図
【図１７】印字領域の隣接の様子を示す図
【図１８】走査番号ｋ＝１のハーフトーン処理結果の格納例を示す図
【図１９】４パスの位相制御情報を示す図
【図２０】信号Ａと信号Ｂの関係を示す図
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１３】
＜第１実施形態＞
図１は、本実施形態による画像形成システムの構成を示したブロック図である。図１において、画像形成システムは画像処理装置１とプリンタ２からなる。なお、画像処理装置１は例えば一般的なパーソナルコンピュータにインストールされたプリンタドライバによって実施され得る。その場合、以下に説明する画像処理装置１の各部は、コンピュータが所定のプログラムを実行することにより実現されることになる。また、別の構成としては、例えば、プリンタ２が画像処理装置１を含む構成としてもよい。
【００１４】
画像処理装置１とプリンタ２は、プリンタインタフェース又は回路によって接続されている。画像処理装置１は、画像データ入力端子１０１より印刷対象の画像データを入力し、これを入力画像バッファ１０２に格納する。色分解処理部１０３は、入力された画像データをプリンタ２が備えるインク色へ色分解する。図４は色分解処理部１０３を示す図である。色分解処理には、色分解用ルックアップテーブル（ＬＵＴ）１０４が参照される。ここではＲ（レッド）、Ｇ（グリーン）、Ｂ（ブルー）に対応する画像データを色分解する。プリンタ２は、Ｃ（シアン）、Ｍ（マゼンタ）、Ｙ（イエロー）、Ｋ（ブラック）に対応する色材を有する。つまり色分解処理部１０３は、ＣＭＹＫ各色に対応する画像デ−タを出力する。なお本実施形態において各色の画像データはいずれも、８ビット（２５６階調）のデータとする。
【００１５】
走査Ｄｕｔｙ設定部１０５は、走査Ｄｕｔｙ設定用ＬＵＴ１０６に基づき、色分解処理部１０３にて分解された各インク色に対応する画像データそれぞれをさらに走査毎の各インク色値へ変換する。本実施形態における走査データはすなわち、各走査における記録インク量を示すものである。走査Ｄｕｔｙ設定部１０５は、各走査の画像データ（以降、走査データ）を走査Ｄｕｔｙバッファ１０７に格納する。
【００１６】
ハーフトーン処理部１０８は、走査Ｄｕｔｙ設定部１０５によって得られた各色に対応する走査毎の走査データに対してハーフトーン処理を用いてＮ値化する。本実施形態におけるハーフトーン処理部１０８は、走査毎の画像データに対して２値化をおこなうものとする。詳細な処理については後述する。
【００１７】
位相制御情報生成部１０９では、色成分毎に、位相制御情報を生成する。位相制御情報とは、記録さべきアドレスについてドットが形成されやすいか否かを示す情報である。位相制御情報生成部１０９は、関数を表す式に基づいて位相制御情報を生成する。
【００１８】
ハーフトーン画像格納バッファ１１０には、ハーフトーン処理部１０８から出力された各色に対応する走査毎のＮ値画像データが格納される。ハーフトーン画像格納バッファ１１０に格納されたＮ値画像データは、出力端子１１１よりプリンタ２へ出力される。
【００１９】
プリンタ２は、記録ヘッド２０１を記録媒体２０２に対して相対的に縦横に複数回記録走査することにより、画像処理装置１にて形成されたＮ値画像データを記録媒体上に形成する。記録ヘッド２０１は熱転写方式、インクジェット方式等のものを用いることができ、いずれも一つ以上の記録素子を有する。移動部２０３は、ヘッド制御部２０４の制御下で、記録ヘッド２０１を移動する。搬送部２０５は、ヘッド制御部２０４の制御下で、記録媒体を搬送する。また、インク色選択部２０６は、画像処理装置１により形成された各色のＮ値画像データに基づいて、記録ヘッド２０１に搭載されるインク色の中から、インク色を選択する。
【００２０】
図２は、記録ヘッド２０１の構成例を示す図である。本実施形態では前述の通り、ＣＭＹＫ４色のインクに対応する記録ヘッド２０１に搭載されている。なお、図２においては、説明を簡単にするため用紙搬送方向にノズルが一列に配置された構成を示しているが、ノズルの数、配置はこの例に限られるものではない。例えば、同一色でも吐出量が異なるノズル列を有しても良いし、同一吐出量ノズルが複数列あっても良いし、ノズルがジグザグに配置されているような構成であっても良い。また、図２ではインク色の配置順序はヘッド移動方向に一列となっているが、用紙搬送方向に一列に配置する構成であっても良い。またＣＭＹＫ以上のインク色が搭載されていても良い。
【００２１】
次に、上述した機能構成を備えた本実施形態の画像処理装置１およびプリンタ２が実行する画像形成処理について、図３のフローチャートを用いて説明する。
【００２２】
まずステップＳ１０１において、多階調のカラー入力画像データが入力端子１０１より入力され、入力画像バッファ１０２に格納される。ここで入力画像データは、レッド（Ｒ）、グリーン（Ｇ）、ブルー（Ｂ）の３つの色成分によりカラー画像データを構築している。
【００２３】
次にステップＳ１０２において色分解処理部１０３は、入力画像バッファ１０２に格納された多階調のカラーの入力画像データに対し、色分解用ＬＵＴ１０４を用いて、ＲＧＢからＣＭＹＫのインク色への色分解処理を行う。本実施形態では、色分解処理後の各画像データを８ビットとして扱うが、それ以上の階調数への変換を行っても構わない。入力された画像データＲ’Ｇ’Ｂ’は、色分解用ＬＵＴ１０４を参照して次式の通りに、ＣＭＹＫ各色の画像データ（以降、色分解データ）へ変換される。
【００２４】
Ｃ＝Ｃ＿ＬＵＴ＿３Ｄ（Ｒ’，Ｇ’，Ｂ’）            ・・・（１）
Ｋ＝Ｍ＿ＬＵＴ＿３Ｄ（Ｒ’，Ｇ’，Ｂ’）            ・・・（２）
Ｙ＝Ｙ＿ＬＵＴ＿３Ｄ（Ｒ’，Ｇ’，Ｂ’）            ・・・（３）
Ｋ＝Ｋ＿ＬＵＴ＿３Ｄ（Ｒ’，Ｇ’，Ｂ’）            ・・・（４）
ここで、式（１）〜（４）の右辺に定義される各関数が、色分解用ＬＵＴ１０４の内容に該当する。色分解用ＬＵＴ１０４はＲＧＢの３入力値から、各インク色への出力値を定める。以上の処理により、本実施形態における色分解処理が完了する。
【００２５】
次にステップＳ１０３において走査Ｄｕｔｙ設定部１０５は、走査番号ｋ及び色分解データ切り出し位置としてのＹ座標を示すＹｃｕｔ（ｋ）を設定する。Ｙｃｕｔ（ｋ）は、走査番号ｋにおける色分解データ切り出し位置であり、ノズル上端座標に相当する。なお、走査番号ｋの初期値は１であり、処理ループ毎に１ずつインクリメントされる。ここで、１６個のノズル列を具備し、記録媒体上の同一領域に対して２回の記録走査により画像を形成させる２パス印字の場合を例として、色分解データ切り出し位置Ｙ座標Ｙｃｕｔの設定法を説明する。
【００２６】
一般的に２パス印字の場合、図５に示すように、走査番号の初期値（ｋ＝１）では、ノズル下端１／２のみを使用して画像形成を行い、走査番号ｋ＝２では走査番号ｋ＝１に対してノズル長さ１／２分紙送りしてから画像形成を行う。そのため、走査番号ｋ＝１の場合、ノズル上端座標に相当する色分解データ切り出し位置Ｙｃｕｔ＝−８となる。
【００２７】
上述した色分解データ切り出し位置Ｙｃｕｔ（ｋ）を一般化すると、ノズル列数：Ｎｚｚｌ、パス数：Ｐａｓｓ、走査番号：ｋ、として次式で与えられる。
【００２８】
Ｙｃｕｔ（ｋ）＝−Ｎｚｚｌ＋（Ｎｚｚｌ／Ｐａｓｓ）×ｋ    ・・・（５）
以上のようにＹｃｕｔ（ｋ）が設定されると、次にステップＳ１０４において走査Ｄｕｔｙ設定部１０５は、走査Ｄｕｔｙ設定用ＬＵＴ１０６と各色の色分解データに基づき、走査毎のＤｕｔｙ値を設定し走査データを算出する。走査Ｄｕｔｙ設定用ＬＵＴ１０６によれば、同じ記録位置に対応する各パスのＤｕｔｙ値の合計が、色分解データを保存するように設定される。例えば、２パスの場合、図６に示すように、２回の記録走査にに対応するＤｕｔｙ分割率の合計が１．０となるように設定される。図６は１６ノズル、２パスの例を表しており、縦軸がノズル位置、横軸がＤｕｔｙ分割率を示す。図６によれば、Ｐ１、Ｐ２の変曲点を８ノズル毎に設定し、その各変曲点を線形補間した１６ノズル分のＤｕｔｙ分割率が、走査Ｄｕｔｙ設定用ＬＵＴ１０６として保持されている。ここで、Ｐ１、Ｐ２の数値は、以下のように設定される。
【００２９】
Ｐ１＋Ｐ２＝１．０        ・・・（６）
なお、走査Ｄｕｔｙ設定用ＬＵＴ１０６として保持される値は上記設定法に限られるものではなく、例えば変曲点を細かく設定してもよいし、ノズル毎に直接指定しても良い。
【００３０】
ステップＳ１０４において設定される走査データは、図７に示すように、走査Ｄｕｔｙ設定用ＬＵＴ１０６と色分解データとの積として設定される。すなわち、図７の左項に示されるように、色分解データに対してノズルごとに設定されたＤｕｔｙ分割率を乗じることにより、その結果が図７の右項に示されるようにノズルごとのＤｕｔｙ値が設定される。
【００３１】
ここで本実施形態においては、対応するノズルが画像Ｙアドレスの領域外座標になるときは、Ｄｕｔｙ値を０とする。例えば、走査番号ｋ＝１では、図８に示すように、ノズル列上端１／２で画像Ｙアドレスが負になるためＤｕｔｙ値＝０が代入され、ノズル列下端１／２には有意な値が代入される。また、色分解データ切り出し位置Ｙｃｕｔ（ｋ）は走査番号ｋによって決まるため、走査番号ｋ＝１〜３の場合、Ｄｕｔｙ値によって構成される走査データは図９に示すように決定される。図９においては、走査番号ごとのノズル位置に対するＤｕｔｙ値が示されており、走査番号ごとにＤｕｔｙ値が異なっていることが分かる。図９における領域１の部分では、走査番号ｋ＝１、２の２回の走査に対応するＤｕｔｙ値の合計が色分解データと同じになる。同様に領域２においても、走査番号ｋ＝２，３それぞれに対応するＤｕｔｙ値の合計が色分解データと同じになる。
【００３２】
Ｃ＿ｄ（ｎｘ，ｎｙ）＝Ｃ（ｎｘ，Ｙｃｕｔ（ｋ）＋ｎｙ）×Ｓ＿ＬＵＴ（ｎｙ）
・・・（７）
Ｍ（Ｘ，Ｙ）、Ｙ（Ｘ，Ｙ）、Ｋ（Ｘ，Ｙ）に対しても同様に、上記式により走査Ｄｕｔｙへの分解が行われる。
【００３３】
以上のように走査Ｄｕｔｙ設定部１０５で設定された走査データは、ステップＳ１０５において走査Ｄｕｔｙバッファ１０７に格納される。走査Ｄｕｔｙバッファ１０７は図１０に示すように、縦方向がノズル数、横方向が画像のＸサイズに相当するバンド状の走査データを構成するＤｕｔｙ値を、各色に格納する。
【００３４】
次にステップＳ１０６においてハーフトーン処理部１０８は、走査Ｄｕｔｙバッファ１０７に格納された走査データと位相制御情報生成部１０９にて生成される位相制御情報とを用いて、Ｎ値に変換するハーフトーン処理を行う。本実施形態では８ビットの画像データを１ビット（２値）の画像データにハーフトーン処理する。位相制御情報および、位相制御情報に基づくハーフトーン処理の詳細については後述する。ハーフトーン処理部１０８は、各走査に対応するハーフトーン画像データを生成する。ステップＳ１０７において、ハーフトーン処理部１０８は、ハーフトーン画像格納バッファ１１０に生成したハーフトーン画像データを格納する。ここで図１８に、走査番号ｋ＝１の走査Ｄｕｔｙをハーフトーン処理した結果が、ハーフトーン画像格納バッファ１１０に格納された様子を示す。同図に示されるようにハーフトーン画像格納バッファ１１０には、走査Ｄｕｔｙの画素位置に対応する（ノズル数：Ｎｚｚｌ）×（画像Ｘサイズ：Ｗ）分の２値画像データが格納される。
【００３５】
次にステップＳ１０８において、ハーフトーン画像格納バッファ１１０に蓄えられたバンドごとのハーフトーン画像データが、画像出力端子１１１より出力される。
【００３６】
ステップＳ１０９において、ハーフトーン画像データを受けたプリンタ２は、該画像データに適合するインク色を選択し、印字動作が開始する。ステップＳ１０９においては、記録ヘッド２０１が記録媒体に対して左から右に移動しながら、一定の駆動間隔で各ノズルを駆動して記録媒体上に画像を記録する主走査を１回行う。さらに該主走査が終了すると、主走査と垂直方向の走査である副走査が１回行なわれる。
【００３７】
ステップＳ１１０において、全ての走査が終了したか否かの判定を行う。終了した場合には一連の画像形成処理が完了し、終了していない場合にはステップＳ１０３に戻る。以上により、処理の全てが終了する。
【００３８】
ここで位相制御情報について説明する。位相制御情報は、同一領域に対応する複数のドットパターンが所定の周波数帯域において逆位相となるように制御するための情報である。位相制御情報生成部１０９は図１１（ａ）（ｂ）が示すように、走査データの画像Ｘ座標、およびノズル数Ｎｚｚｌ座標に対応した値を生成する。図１１（ａ）において黒画素は値が高くなっており逆に白画素は値が低くなっている。また、図１１（ｂ）は値の大小を示したグラフである。「位相制御情報生成部１０９は、走査データにおける各画素に対して、ドットの形成されやすさを示す値からなる位相制御情報を生成する。位相制御情報において各画素に対応する値は、値が大きいほど打たれやすい画素であることを示す。図１１（ｂ）に示すように、各画素に対応する値は、画像データ全体として緩やかに変動するように生成されている。つまり、位相制御情報生成部１０９は、低周波な信号に基づいて各画素に対応する値を決定する。なお、図１１に示した位相制御情報生成部にて生成される情報は、画素位置毎に生成されるため、バンド状のメモリに格納する必要はない。また、本実施形態では、位相制御情報が示す値は全体として平均が０となるように設定されている。ここでは位相制御情報として、該当箇所にドットが形成されやすい場合には正の値が、該当箇所にドットが形成されにくい場合には負の値が設定されている。
【００３９】
逆位相の意味について図２０を元に説明する。図２０において信号Ａと信号Ｂはそれぞれ、周期的に変動する関数を示す信号である。横軸は時間、縦軸は信号値を示す。ここでは信号Ａと信号Ｂはともに、同じ正弦波によって表される信号であり、２つの正弦波は位相差がπとなっている。２つの信号において逆位相とは、複数の信号（例えば、信号Ａと信号Ｂ）同士を重ね合わせた際に、互いに打ち消し合う関係のことを言う。図２０によれば、位相差がπの正弦波である信号Ａと信号Ｂは、重ねると互いに打ち消し合うことがわかる。なお、互いに打ち消し合う４つの信号を生成する場合は、周期的に変動する関数を表す信号の位相差が互いにπ／２［ｒａｄ］となる４つの信号を用いれば、重ね合わせた際に打ち消し合う。このように同じ関数によって表される複数の信号において、重ねると互いに打ち消し合うように位相差を与えることにより、複数の信号は互いに逆位相となる。
【００４０】
すなわち、図１２に示した逆位相となる信号Ａと信号Ｂは、
Ｄｍｎ＿Ａ（ｎｘ，ｎｙ）＝  ｐ・Ｓｉｎ（α・ｎｘ）＋  ｑ・Ｓｉｎ（β・ｎｙ）
・・・（８）
Ｄｍｎ＿Ｂ（ｎｘ，ｎｙ）＝  ｐ・Ｓｉｎ（α・ｎｘ＋π）＋ｑ・Ｓｉｎ（β・ｎｙ＋π）
＝  −ｐ・Ｓｉｎ（α・ｎｘ）−  ｑ・Ｓｉｎ（β・ｎｙ）
・・・（９）
（α、βは位相制御情報の周期を決める係数、ｐ、ｑは振幅を決める係数）
となり、位相がπ（ラジアン単位）異なる。一方、同位相かつ同じ関数を表す信号を重ね合わると、互いに打ち消し合う関係にはならず、むしろ信号が強調される。以上のように２パス印刷の場合、互いに逆位相の信号に基づいて領域Ａの位相制御情報の値と、領域Ｂの位相制御情報の値が決められる。図１２のように、領域Ａと領域Ｂとにおいて同一ＸＹアドレスに相当する位相制御情報の値が同じ場合もあるが、位相制御情報は全体として逆位相になるように生成される。
【００４１】
なお、上述のようにＳＩＮ（正弦波）に限らず、余弦波等の逆位相が定義可能な式を用いても良い。位相制御情報をＣ＿ｒ（ｎｘ，ｎｙ）と表現すると、
Ｃ＿ｒ（ｎｘ，ｎｙ）  ＝  Ｄｍｎ＿Ｂ（ｎｘ，ｎｙ）・・・（１０）
Ｃ＿ｒ（ｎｘ，ｎｙ＋Ｎｚｚｌ／２）＝  Ｄｍｎ＿Ａ（ｎｘ，ｎｙ）・・・（１１）
（ｎｙ＜Ｎｚｚｌ／２）
ここで位相制御情報の周期α、βはプリンタ２が持つレジストレーション変動（着弾位置変動）の量に応じて変更することが好ましい。位相制御情報が互いに打ち消しう合うように領域Ａ（１パス目に相当）と領域Ｂ（２パス目に相当）とにおける位相制御情報を生成しても、実際には、１パス目のと２パス目とでは位置ズレが発生する。そのため、位置ズレが発生しても、略逆位相である関係が維持されるように位相制御情報を生成するとよい。例えば、変動が大きい場合は、相対的に低周波（長周期）の関数である信号を、変動が小さければ相対的に高周波（短周期）の関数である信号を生成する。信号の周期の目安として、プリンタのレジストレーション変動値の２倍よりも長周期の関数による信号を生成することが望ましい。例えば５０μｍ（０．０５ｍｍ）のレジストレーション変動が発生するプリンタでは、０．１ｍｍ以上の周期をもつ信号が望ましい。概ね１０［ｃｙｃｌｅ／ｍｍ］以下の周波数をもつ信号を生成するようにするとよい。これにより、レジストレーションが発生しても、１パス目の位相制御情報と２パス目の位相制御情報は概ね逆位相の関係が維持される。ただし、あくまで目安なため、上記条件よりも多少異なっていても構わない。また、式（８）（９）では、２つの正弦波Ｓｉｎの重ね合わせにより表現したが、３つ以上の正弦波の重ね合わせにより表現しても良い。
【００４２】
上記のように、プリンタのレジストレーション変動に応じた周期の関数から、式（８）（９）のように互いに逆位相な関係にある関数を生成する。このようにする理由は、２パス印字のうち１パス目において形成されるドットパターン（ノズル下半分、領域Ｄｍｎ＿Ａ）と２パス目において形成されるドットパターン（ノズル上半分、領域Ｄｍｎ＿Ｂ）の間で低周波成分を逆位相にするためである。各パスに対応するドットパターンは、位相制御情報を加算した走査データをハーフトーン処理することにより得られる。２つの走査データにそれぞれ、互いに逆位相となる関係の位相制御情報を加算すると、走査デ―タも互いに逆位相の関係になる。このように２つのドットパターンにおいて低周波成分を逆位相にすることにより、レジストレーションズレの発生有無に関わらず良好な粒状性を確保することができる。
【００４３】
一方、式（８）、（９）の領域Ｄｍｎ＿Ａ、領域Ｄｍｎ＿Ｂでは、プリンタのレジストレーション変動値の２倍よりも短周期（高周波）の信号は生成されない。つまり位相制御情報は、高周波成分をもたない。このようにする理由は、１パス目において形成されるドットパターンと２パス目において形成されるドットパターンとの間で高周波成分の位相を無相関にするためである。前述の通り各パスに対応するドットパターンは、位相制御情報を加算した走査データをハーフトーン処理することにより得られる。しかしながら位相制御情報は高周波成分を含まないため、各走査データの高周波成分は位相制御情報を加算した後も変わらない。その結果、ハーフトーン処理の結果得られる２つのドットパターンは、それぞれの高周波成分はもとの走査デ―タの特性が保持され、互いに相関を持たない。１パス目に対応するドットパターンの高周波成分とと２パス目に対応するドットパターンの高周波成分とが互いにランダムであることにより、レジストレーションズレによる濃度ムラを低減することが可能となる。以上のように位相制御情報は、２つのドットパターンが互いに、低い周波数帯域において逆位相となり、高い側の周波数帯域においては無相関となるように制御するための情報である。
【００４４】
以下、ステップＳ１０６においてハーフトーン処理部１０８が行うハーフトーン処理について詳細に説明する。本実施形態におけるハーフトーン処理は、多値の入力画像データをＮ値画像に変換する方法として、例えば周知の誤差拡散法を用いる。２値の場合は通常の誤差拡散法を用いて良いし、Ｎ値の場合は周知のＮ値誤差拡散法を用いる。図１３は、ハーフトーン処理部１０８の詳細な構成を示すブロック図を示す。図１４は、ハーフトーン処理部１０８における処理のフローチャートを示す。ここでは２パス印字、走査番号ｋ＝１におけるシアンに対応するハーフトーン処理を例として説明する。ハーフトーン処理部１０８は、加算器４０１、累積誤差加算器２０４、閾値選択部２０５、量子化部２０６、誤差演算部２０７、誤差拡散部２０８、累積誤差ラインバッファ２０２、２０３を有する。
【００４５】
まずステップＳ２０１において加算器４０１は、入力されたシアンの走査Ｄｕｔｙと対応する位相制御情報とを画素毎に加算し、合計を算出する。シアン走査データを構成するＤｕｔｙ値（入力値）Ｃ＿ｄとシアン位相制御情報Ｃ＿ｒの合計値Ｉｃを以下のように算出する。
【００４６】
Ｉｃ＝Ｃ＿ｄ＋Ｃ＿ｒ            ・・・（１２）
次にステップＳ２０２において、誤差拡散処理用に累積誤差を加算する。本実施形態においては、誤差拡散処理のための誤差拡散係数として、図１５に示すようにＫ１〜Ｋ４の４つの係数を持つとする。例えば、Ｋ１＝７／１６、Ｋ２＝３／１６、Ｋ３＝５／１６、Ｋ４＝１／１６とする。ただし、拡散係数は上記のように固定とする必要はなく、入力値Ｃ＿ｄに応じて変更させても良いし、上記４係数に限らずさらに多くの係数を持たせても良い。このような誤差拡散係数により誤差を拡散、累積するために、ハーフトーン処理部１０８では累積誤差ラインバッファをシアンに対して２組確保し（２０２〜２０３）、使用する累積誤差ラインバッファを走査番号ごとに、例えば以下のように切り替える。
【００４７】
「走査番号ｋ＝１，３，・・・，２ｎ＋１（ｎは０以上の整数）のとき」シアン（２ｎ＋１）累積誤差ラインバッファ２０２を使用
「走査番号ｋ＝２，４，・・・，２ｎ＋２のとき」シアン（２ｎ＋２）累積誤差ラインバッファ２０３を使用
なお、各シアン累積誤差ラインバッファ２０２，２０３はそれぞれ、図１６の２０２１〜２０３１に示す２組の記憶領域からなる。すなわち、「Ｅｃ１＿０，Ｅｃ１（ｘ）」、「Ｅｃ２＿０，Ｅｃ２（ｘ）」の２組である。例えば、シアン（２ｎ＋１）累積誤差バッファ２０２は、１個の記憶領域Ｅｃ１＿０と、入力画像の横画素数Ｗと同数の記憶領域Ｅｃ１＿（ｘ）（ｘ＝１〜Ｗ）を有する。また、各シアン累積誤差ラインバッファ２０２，２０３はそれぞれ、走査番号ｋ＝１，２の処理開始時のみ、全て初期値０で初期化されている。例えば走査番号ｋ＝３の処理開始時には、（２ｎ＋１）累積誤差バッファ４０２は初期化されない。本実施形態では、１色あたり上述した２組の累積誤差ラインバッファが必要になるため、これを４色分用意する必要がある。すなわち、合計２×４＝８組のラインバッファが必要になる。
【００４８】
ここでは、走査番号ｋ＝１についてのハーフトーン処理を例として説明するため、シアン（２ｎ＋１）累積誤差バッファ２０２を使用して誤差拡散処理を実施する。累積誤差加算部２０４において、走査データと位相制御情報の合計に対して、入力画素データにおいてＸ方向の画素位置ｘに対応する誤差Ｅｃ１（ｘ）が加算される。即ち、入力された合計データＩｃに対して、累積誤差加算後のデータをＩｃ’とすると、以下の式が成り立つ。
【００４９】
Ｉｃ’＝Ｉｃ＋Ｅｃ１（ｘ）            ・・・（１３）
次にステップＳ２０３において、閾値設定部２０５は画素毎に閾値Ｔを設定する。閾値Ｔは、例えば以下のように設定される。なお、本実施例では２値化の例を示すため、閾値は１つ設定されるが、Ｎ値化の場合、閾値は（Ｎ−１）つ必要となる。
【００５０】
Ｔ＝１２８                        ・・・（１４）
或いは、ドット生成遅延を回避するため、平均量子化誤差が小さくなるよう、入力値Ｃ＿ｄに応じて閾値Ｔを以下のように細かく変更しても良い。
【００５１】
Ｔ＝ｆ（Ｃ＿ｄ）                        ・・・（１５）
次にステップＳ２０４において、量子化部２０６は、誤差加算後の画素データＩｃ’と閾値Ｔを比較することにより、２値化結果Ｏｕｔ＿ｃを決定する。その規則は次の通りである。
【００５２】
Ｉｃ’＜Ｔのとき、
Ｏｕｔ＿ｃ＝０                      ・・・（１６）
Ｉｃ’≧Ｔのとき、
Ｏｕｔ＿ｃ＝２５５                  ・・・（１７）
次にステップＳ２０５において、誤差演算部２０７は、誤差を加算した画素データＩｃ’と、出力画素値Ｏｕｔ＿ｃとの差分Ｅｒｒ＿ｃを、式（１８）のように算出する。
【００５３】
Ｅｒｒ＿ｃ（ｘ）＝Ｉｃ’−Ｏｕｔ＿ｃ      ・・・（１８）
次にステップＳ２０６において、誤差拡散部２０８が誤差を拡散する。即ち、シアン（２ｎ＋１）累積誤差ラインバッファ２０２を用いて、横画素位置ｘに応じた誤差Ｅｒｒ＿ｃ（ｘ）の拡散処理が、以下のように行われる。
【００５４】
Ｅｃ１（ｘ＋１）←Ｅｃ１（ｘ＋１）＋Ｅｒｒ＿ｃ（ｘ）×７／１６  
Ｅｃ１（ｘ−１）←Ｅｃ１（ｘ−１）＋Ｅｒｒ＿ｃ（ｘ）×３／１６  
Ｅｃ１（ｘ）←Ｅｃ１＿０＋Ｅｒｒ＿ｃ（ｘ）×５／１６
Ｅｃ１＿０←Ｅｒｒ＿ｃ（ｘ）×１／１６  
・・・（１９）
以上で、走査番号ｋ＝１のシアン１画素分のＮ値化（本実施例では２値化、量子化値０，２５５）が完了する。
【００５５】
ステップＳ２０７のいて、バンド内のアドレス（０，０）〜（Ｗ−１，Ｎｚｚｌ−１）に対してステップＳ２０１〜Ｓ２０６の処理を行ったかどうかを判定し、全アドレスに対して処理を行う。
【００５６】
なお、以上は走査番号ｋ＝１について説明したが、走査番号ｋ＝２については、それぞれのシアン累積誤差ラインバッファ２０３を用いて上記ハーフトーン処理を行う。走査番号ｋ＝３の処理では、走査番号ｋ＝１と同じシアン（２ｎ＋１）累積誤差ラインバッファ２０２を、初期化せずに（全０を代入せずに）そのまま用いる。これは図１７に示すように、走査番号ｋ＝１と走査番号ｋ＝３の印字領域が上下に隣接しているため、保存されている累積誤差をそのまま、隣接下の領域に適用するためである。もしも、ｋ＝３でシアン累積誤差ラインバッファ２０２を初期化すると、ｋ＝１と隣接する境界部で誤差が保存されなくなり、ドットの連続性が保てなくなってしまう。
【００５７】
以上説明したように本実施形態によれば、走査毎にＮ値化処理を実施する記録方式において、単一の主走査内で形成される出力ドット配置に高い分散性を持たせて、レジストレーションズレに対する粒状性劣化を抑制する際に、さらに以下の効果を得る。マルチパス記録方式において、複数のパスに相当する位相制御情報が、互いに低周波成分を逆位相になるよう生成した。この位相制御情報が加算された走査データをハーフトーン処理すると、互いのドットパターンは低周波帯域において逆位相となり、高周波帯域はランダムとなる。その結果、レジストレーションズレの発生有無に関わらず良好な粒状性を確保する。高周波成分では相関を少なくしてランダム性を持たせることで、レジストレーションズレによる濃度ムラを低減することが可能となる。また特に本実施形態において位相制御情報は、周期的な変動を有する関数を表す式によって算出した。これにより、メモリや大きな帯域幅を要するデータ通信を必要とせず、簡易な方法により位相制御情報を生成することできる。
【００５８】
なお、位相制御情報を用いてハーフトーン処理する方法は、本実施形態の手法に限られるものではない。例えば閾値や量子化誤差に、式により表される位相制御情報を反映させても良い。また、本実施形態ではハーフトーン処理として誤差拡散法を用いる例を示したが、これに代えて平均誤差最小法やディザ法に適用しても良い。
【００５９】
また、位相制御情報生成部１０９が生成した位相制御情報をハーフトーン処理部１０８に入力する例を示したが、走査Ｄｕｔｙ算出部１０５に位相制御情報を入力するような構成であっても良い。
【００６０】
また、本実施形態では走査データに対して位相制御情報を加算するため、値が大きいほどドットが形成され易い画素であることを示す位相制御情報を生成した。例えば、閾値に加算する構成にする場合は、値が大きいほどドットが形成されにくい画素であるような位相制御情報を生成すればよい。
【００６１】
＜変形例１＞
上述の実施形態では、位相制御情報生成部１０９が生成する位相制御情報は、領域Ｄｍｎ＿Ａ、領域Ｄｍｎ＿Ｂで逆位相となる正弦波の合成を生成することで、逆位相化を実施した。すなわち、正弦波や余弦波等の三角関数式を用いて、位相制御情報を表した。しかしながら三角関数以外でも逆位相化を実現可能である。例えば、乱数種（シード）の同じ乱数の式を定義することでも逆位相化は可能である。
図１２に示した信号は
Ｄｍｎ＿Ａ（ｎｘ，ｎｙ）＝  Ｒｎｄ（ｎｘ、ｎｙ）・・・（２０）
Ｄｍｎ＿Ｂ（ｎｘ，ｎｙ）＝  −Ｒｎｄ（ｎｘ、ｎｙ）・・・（２１）
としても良い。ここでＲｎｄは同一乱数種での一様乱数である。
【００６２】
なお、三角関数と乱数の合成で表現することも可能であるし、三角波、矩形波（方形波）、のこぎり波のような非正弦波形などの関数を用いて逆位相関係を生成しても良い。すなわち、位相制御情報は、Ｄｍｎ＿Ａ、Ｄｍｎ＿Ｂの逆位相関係を生成可能な関数であればよい。
【００６３】
＜変形例２＞
上述の第１実施形態では２パスの例を示したが、例えば３パス以上の場合でも逆位相化は可能である。２パスの場合の位相制御情報生成部１０９については、図１１に示したが、例えば４パスの場合は図１９に示す。
【００６４】
４パスでは、ノズル毎に逆位相化を行うための領域をＤｍｎ＿Ａ〜Ｄｍｎ＿Ｄの４領域定義する必要がある。図１９に示した位相制御情報生成部１０９の信号は、
Ｄｍｎ＿Ａ（ｎｘ，ｎｙ）＝  ｐ・Ｓｉｎ（α・ｎｘ）＋  ｑ・Ｓｉｎ（β・ｎｙ）・・・（２２）
Ｄｍｎ＿Ｂ（ｎｘ，ｎｙ）
＝  ｐ・Ｓｉｎ（α・ｎｘ＋π／２）＋ｑ・Ｓｉｎ（β・ｎｙ＋π／２）…（２３）
Ｄｍｎ＿Ｃ（ｎｘ，ｎｙ）
＝  ｐ・Ｓｉｎ（α・ｎｘ＋π）＋ｑ・Ｓｉｎ（β・ｎｙ＋π）…（２４）
Ｄｍｎ＿Ｄ（ｎｘ，ｎｙ）
＝  ｐ・Ｓｉｎ（α・ｎｘ＋３π／２）＋ｑ・Ｓｉｎ（β・ｎｙ＋３π／２）…（２５）
と位相をπ／２ずつ異ならせることで、トータルとして逆位相にすることが可能である。
【００６５】
なお、４パス以外のパス数でも位相の設定を適時変更することで、位相制御情報生成部１０９の逆位相化は可能である。
【００６６】
＜他の実施形態＞
なお、前述の実施形態において、各走査（例えば領域Ａと領域Ｂ）に対応する関数は、２次元的な周期をもつ関数を例に説明したが、例えばｘ方向にのみ周期性をもつ１次元の関数でも同様に処理することができる。この場合、各関数の位相がｙ方向に応じてずれるような関数にしても良い。
【００６７】
また、上記各実施形態では、画像を複数色で表す際の各色成分について、記録媒体上の同一領域に対して、複数回、記録走査することにより画像を形成するための画像処理装置について説明したが、本発明はこれに限らない。本発明では、画像を表す少なくとも１つの色成分について、記録媒体上の同一領域に対して、複数回、記録走査することにより画像を形成する場合であれば、その色成分に着目して上記各種処理を行うことで、少なくとも着目している色成分については上述した効果を得ることが可能である。また、単色で表される画像を１つの色成分で形成する場合にも本発明が適用できることは言うまでもない。上述した各実施形態では、所定方向に配列された複数のノズルを有する記録ヘッドをノズルの配列方向と交差する方向に記録媒体上で走査させて、記録媒体にインクを吐出することで画像を形成するインクジェット記録方式を用いた画像処理装置を説明した。しかしながら例えば、記録媒体の記録幅に対応する長さの記録ヘッドを有し、記録ヘッドに対して記録媒体を移動させて記録を行う、いわゆるフルライン型の記録装置などにも適用できる。
【００６８】
本発明は、上述した実施例の機能を実現するソフトウェアのコンピュータプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても実現できる。この場合、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）がコンピュータが読み取り可能に記憶媒体に格納されたコンピュータプログラムコードを読み出し実行することにより、上述した実施例の機能を実現する。
【符号の説明】
【００６９】
１０５  走査Ｄｕｔｙ算出部
１０８  ハーフトーン処理部
１０９  位相制御情報生成部
【図１】
2015002370.tif 000003
【図２】
2015002370.tif 000004
【図３】
2015002370.tif 000005
【図４】
2015002370.tif 000006
【図５】
2015002370.tif 000007
【図６】
2015002370.tif 000008
【図７】
2015002370.tif 000009
【図８】
2015002370.tif 000010
【図９】
2015002370.tif 000011
【図１０】
2015002370.tif 000012
【図１１】
2015002370.tif 000013
【図１２】
2015002370.tif 000014
【図１３】
2015002370.tif 000015
【図１４】
2015002370.tif 000016
【図１５】
2015002370.tif 000017
【図１６】
2015002370.tif 000018
【図１７】
2015002370.tif 000019
【図１８】
2015002370.tif 000020
【図１９】
2015002370.tif 000021
【図２０】
2015002370.tif 000022