(57)【特許請求の範囲】
【請求項１】
ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理装置であって、
複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、
前記画像処理手段は、
前記分割画像における第１の領域について画素値をｎ値化して第１の量子化値を求める第１の量子化手段と、
前記第１の領域を含む前記分割画像における第２の領域について、誤差拡散処理により画素値をｎ値化して第２の量子化値を求める第２の量子化手段とを有し、
前記第２の量子化手段は、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化値が０の場合には、量子化閾値を所定の閾値より大きい値に設定し、前記第１の量子化値が１の場合には、前記量子化閾値を前記所定の閾値より小さい値に設定し、該画素値をｎ値化することを特徴とする画像処理装置。
【請求項２】
ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理装置であって、
複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、
前記画像処理手段は、
前記分割画像における第１の領域について画素値をｎ値化して第１の量子化値を求める第１の量子化手段と、
前記第１の領域を含む前記分割画像における第２の領域について、誤差拡散処理により画素値をｎ値化して第２の量子化値を求める第２の量子化手段とを有し、
前記第２の量子化手段は、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化値が０の場合には、前記画素値が小さくなるように該画素値を補正し、前記第１の量子化値が１の場合には、前記画素値が大きくなるように該画素値を補正し、該補正された画素値をｎ値化することを特徴とする画像処理装置。
【請求項３】
前記第１の領域は、前記分割画像における後端を含む他の分割画像との重複領域であることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記ｍ値画像を前記複数の分割画像に分割する分割処理手段を備え、
前記分割画像の各々は他の分割画像と重複する領域を有し、前記第１の領域は前記重複する領域であることを特徴とする請求項３記載の画像処理装置。
【請求項５】
前記第２の量子化手段は、前記第１の領域に対して、前記分割画像における前記第１の領域を除いた部分の画素値をｎ値化して発生した誤差を用いて前記誤差拡散処理をすることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記複数の分割画像のうち、第１の分割画像と、前記第１の分割画像の末端を含んだ重複領域を有する第２の分割画像について、前記第１の分割画像における第１の領域と、前記第２の分割画像における重複領域は、同一の領域であり、
前記画像処理手段は、前記同一の領域に対して、前記第１の分割画像に対する前記第１の量子化手段によるｎ値化、前記第１の分割画像に対する前記第２の量子化手段によるｎ値化、及び前記第２の分割画像に対する前記第２の量子化手段によるｎ値化の３回の量子化処理を実行することを特徴とする請求項１〜５の何れか１項に記載の画像処理装置。
【請求項７】
複数の前記画像処理手段を有し、複数の分割画像に係る量子化処理を並列して行うことを特徴とする請求項１〜６の何れか１項に記載の画像処理装置。
【請求項８】
前記第１の量子化手段は、所定の値を初期誤差として前記第１の領域を誤差拡散処理によりｎ値化することを特徴とする請求項１〜７の何れか１項に記載の画像処理装置。
【請求項９】
前記分割画像の各々は一部が他の分割画像と重複するように分割されており、
前記初期誤差は、前記第１の領域と同じ画素を含む他の分割画像の対応する領域をｎ値化する場合の初期誤差と同一であることを特徴とする請求項８記載の画像処理装置。
【請求項１０】
ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理装置であって、
複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、
前記画像処理手段は、
前記分割画像における第１の領域について画素値をｎ値化する第１の量子化手段と、
前記第１の領域を含む前記分割画像における第２の領域について、前記第２の領域のうち前記第１の領域を除いた部分の画素値をｎ値化し、当該部分のｎ値化により伝搬された誤差を用いて前記第１の領域の画素値をｎ値化する第２の量子化手段とを有し、
前記第２の量子化手段は、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化手段での量子化結果と前記第２の量子化手段での量子化結果とが近づくように、前記第１の量子化手段での量子化結果又は中間データを用いて量子化処理に係るパラメータを補正し、かつ量子化処理対象の画素の位置に応じて、接合後における隣接する前記分割画像との境界となる前記第１の領域の境界に対して遠い側から近い側にむかって強くするように前記パラメータを補正する強さを段階的に変えることを特徴とする画像処理装置。
【請求項１１】
ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理方法であって、
複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理工程を有し、
前記画像処理工程は、
前記分割画像における第１の領域について画素値をｎ値化して第１の量子化値を求める第１の量子化工程と、
前記第１の領域を含む前記分割画像における第２の領域について、誤差拡散処理により画素値をｎ値化して第２の量子化値を求める第２の量子化工程とを含み、
前記第２の量子化工程では、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化値が０の場合には、量子化閾値を所定の閾値より大きい値に設定し、前記第１の量子化値が１の場合には、前記量子化閾値を前記所定の閾値より小さい値に設定し、該画素値をｎ値化することを特徴とする画像処理方法。
【請求項１２】
ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理をコンピュータに実行させるためのプログラムであって、
複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理ステップをコンピュータに実行させ、
前記画像処理ステップは、
前記分割画像における第１の領域について画素値をｎ値化して第１の量子化値を求める第１の量子化ステップと、
前記第１の領域を含む前記分割画像における第２の領域について、誤差拡散処理により画素値をｎ値化して第２の量子化値を求める第２の量子化ステップとを含み、
前記第２の量子化ステップでは、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化値が０の場合には、量子化閾値を所定の閾値より大きい値に設定し、前記第１の量子化値が１の場合には、前記量子化閾値を前記所定の閾値より小さい値に設定し、該画素値をｎ値化することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法、及びプログラムに関し、詳しくはｍ値画像をｎ値画像（ｍ及びｎは整数であり、２≦ｎ＜ｍ）に変換する画像処理技術に関する。
【背景技術】
【０００２】
従来、入力された多階調画像データを２値画像データに変換して出力する画像処理装置では、多階調画像を２値画像に変換する方法として、例えば誤差拡散法が用いられている。誤差拡散法は、注目画素の階調値と２値化後の量子化代表値との差（量子化誤差）を、注目画素の近傍画素の階調値に拡散し、これら各階調値を逐次的に２値化する方法である（例えば、非特許文献１参照。）。
【０００３】
また、多階調画像から２値画像への変換に係る画像処理においては、近年の画像の高解像度化に伴ってデータ量が大きくなり、メモリの肥大化や処理時間の増大が課題となっている。このため、処理対象となる多階調画像を予め複数の領域に分割することによって、省メモリ化や並列処理による高速化が図られている。この方法では、分割領域毎に逐次処理もしくは並列処理により２値化し、その処理後に各領域の分割画像を接合する。
【０００４】
しかしながら、各分割画像を誤差拡散法により並列処理する場合には、隣接する領域の分割画像に対して領域間の境界を越えて誤差を正確に伝搬させることができない。そのため、各分割画像を接合した際に継ぎ目部分にドットパターン（テクスチャ）の不連続点が生じ、この不連続点がスジ状に目立って画質を大きく損なってしまうといった問題がある。このようなスジは、１つの画像に対して複数の異なる２値化手法を適用する場合にも発生することがある。例えば、１つの画像を２つの領域に分類して、一方の領域を誤差拡散法により量子化し、他方の領域をディザ法により量子化すると、領域の境界ではドットパターンが不連続になるためにスジとなって目立ってしまう。
【０００５】
このような背景のもと、下記の特許文献１では、処理対象の入力画像を複数の領域に分割し、境界線に接する画素の誤差を隣り合う画素へ拡散させる方法を工夫して各領域に対して誤差拡散処理を行うことで、画像の継ぎ目部分のスジの発生を抑えようとしている。また、下記の特許文献２では、さらに隣り合う領域を少なくとも１ライン以上遅らして処理し、境界線に接する画素の誤差を未だ処理が行われていない隣の領域の画素に拡散することで画像の継ぎ目部分の画質の低下を防止しようとしている。また、下記の特許文献３では、処理対象の画像を分割する前に分割ライン上の各画素の誤差拡散処理を行い、誤差を分割ラインを挟む２つの領域のそれぞれに拡散した後、分割された領域毎に誤差拡散処理を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−３０１３６４号公報
【特許文献２】特開平１１−１７９４５号公報
【特許文献３】特許第４０３９３９５号公報
【非特許文献】
【０００７】
【非特許文献１】R.Floyd, L.Steinberg, “An Adaptive Algorithm for Spatial Greyscale”, Proceeding of the S.I.D., vol 17/2, 1976, p.75-76
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、前記特許文献１、２に記載の方法では、境界部における領域間の誤差伝搬が近似であるため、画像の継ぎ目部分におけるスジの視認性を低減できるが、完全にスジを消すことはできない。また、前記特許文献３に記載の方法では、分割ライン上では他の領域とは異なる拡散方向及び拡散係数を用いるため、境界部のドットパターンは他の領域と異なり、これがスジとなって見える可能性がある。
本発明は、このような事情に鑑みてなされたものであり、複数の領域に分割し領域毎に処理を行って入力画像を低階調の画像に変換する画像処理において、接合後の画像でのドットパターンの不連続性に起因するスジの発生を防止することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の画像処理装置は、ｍ値画像をｎ値画像（ｍ及びｎは整数、かつ２≦ｎ＜ｍ）に量子化する画像処理装置であって、複数の分割画像に分割された前記ｍ値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、前記画像処理手段は、前記分割画像における第１の領域について画素値をｎ値化して第１の量子化値を求める第１の量子化手段と、前記第１の領域を含む前記分割画像における第２の領域について、誤差拡散処理により画素値をｎ値化して第２の量子化値を求める第２の量子化手段とを有し、前記第２の量子化手段は、前記第１の領域について画素値をｎ値化する場合に、前記第１の量子化値が０の場合には、量子化閾値を所定の閾値より大きい値に設定し、前記第１の量子化値が１の場合には、前記量子化閾値を前記所定の閾値より小さい値に設定し、該画素値をｎ値化することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、分割画像の継ぎ目部分を滑らかにして接合することができ、接合後の画像でドットパターンが不連続性になることを防止し、スジの発生による画質劣化を防止することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の第１の実施形態における画像処理装置の構成例を示す図である。
【図２】第１の実施形態における画像分割の例を示す図である。
【図３】第１の実施形態における画像処理装置の動作例を示す図である。
【図４】第１の実施形態における初期誤差について説明するための図である。
【図５】第１の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図６】拡散係数の一例を示す図である。
【図７】誤差バッファを説明するための図である。
【図８】第１の実施形態における閾値補正の一例を説明するための図である。
【図９】第２の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図１０】第３の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図１１】第４の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図１２】第４の実施形態における入力画像の一例を説明するための図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を図面に基づいて説明する。
（第１の実施形態）
本発明の第１の実施形態について説明する。
図１は、第１の実施形態における画像処理装置の構成例を示す図である。
図１において、１０は分割処理部、２０−ｋ（ｋ＝１，２，・・・，Ｎ）はハーフトーン処理部、３０は接合処理部である。分割処理部１０は、処理対象となるｍ値画像（原画像）が入力され、入力されたｍ値画像を複数の領域に分割する。ハーフトーン処理部２０−ｋは、分割処理部１０にて分割されたｍ値画像に対して、領域毎にハーフトーン処理を施す。具体的には、ハーフトーン処理部２０−ｋは、分割されたｍ値画像を分割画像毎にｎ値化して、それぞれをｎ値画像に変換する。接合処理部３０は、ハーフトーン処理部２０−ｋより出力される各領域のｎ値画像を接合して１つのｎ値画像（処理結果画像）を形成し出力する。なお、ｍ及びｎは整数であり、かつ２≦ｎ＜ｍの関係を満たす。また、本発明の各実施形態においては、ｎ＝２、すなわち処理結果画像として得られるｎ値画像は２値画像であるものとして説明する。
【００１３】
図１においてはハーフトーン処理部２０−１のみ内部構成を図示しているが、ハーフトーン処理部２０−ｋの各々は同様に構成される。ハーフトーン処理部２０−ｋにおいて、２１は量子化部、２２は補正部、２３は参照量子化部、２４はハーフトーン処理部における入力ポート、２５はハーフトーン処理部における出力ポート、２６はハーフトーン処理部における参照ポートである。
【００１４】
量子化部２１及び参照量子化部２３は、入力ポート２４へ入力された量子化処理対象の画素データに、所定の量子化手法を用いた量子化処理を施す。参照量子化部２３は、分割画像における第１の領域について入力された画素データを量子化し、量子化処理の結果を参照ポート２６へ出力する。また、量子化部２１は、第１の領域を含む分割画像における第２の領域について入力された画素データを量子化し、量子化処理の結果を出力ポート２５へ出力する。量子化部２１では、第１の領域の画素データを量子化するとき、参照ポート２６の値を参照し、参照量子化部２３の量子化結果に量子化部２１の量子化結果が近づくように量子化処理に係る処理パラメータが補正部２２により制御される。以下では、量子化部２１及び参照量子化部２３における量子化手法としては誤差拡散法を用いるものとして説明する。また、必要に応じて、ハーフトーン処理部２０−ｋ内の量子化部２１を第ｋの量子化部と呼び、ハーフトーン処理部２０−ｋ内の参照量子化部２３を第ｋの参照量子化部と呼ぶ。
【００１５】
図２は、第１の実施形態における画像分割の例を示す図である。本実施形態において、入力画像は、所定数（本実施形態では１６行として説明する）の重複領域を含むようにして、主走査方向と平行にＮ個の矩形領域に分割処理部１０にて分割される。すなわち、入力画像は、分割後の各々の画像（分割画像）において一部が他の分割画像と重複するようにして分割される。図２には、Ｎ＝３の例を示している。以下では、この分割された各領域をバンドと呼び、上から順にバンド［１］、バンド［２］、・・・、バンド［Ｎ］と表す。また、ｋ＝１，２，・・・，Ｎにおいて、バンド［ｋ］中のバンド［（ｋ−１）］との重複領域をバンド［ｋ］−Ａとする。バンド［ｋ］中のバンド［（ｋ＋１）］との重複領域をバンド［ｋ］−Ｃとする。バンド［ｋ］中の他のバンドと重複していない領域をバンド［ｋ］−Ｂとする。画素の走査方向はラスタ走査として説明する。ｋ＝１，２，・・・，Ｎは以降でも同様とする。本実施形態では、各バンド［１］，バンド［２］，・・・，バンド［Ｎ］が、それぞれ独立にハーフトーン処理部２０−１，２０−２，・・・，２０−Ｎで並列して処理される。ハーフトーン処理部２０−１，２０−２，・・・，２０−Ｎより出力された各２値データは、接合処理部３０にて接合され、１枚の２値画像データが形成される。
【００１６】
本実施形態において、バンド［ｋ］中のバンド［ｋ］−Ｃが分割画像における第１の領域に相当し、バンド［ｋ］−Ａ、バンド［ｋ］−Ｂ及びバンド［ｋ］−Ｃ、すなわちバンド［ｋ］全体が分割画像における第２の領域に相当する。
本実施形態では、第ｋの参照量子化部２３−ｋにおけるバンド［ｋ］−Ｃの量子化処理の結果と、第（ｋ＋１）の量子化部２１−（ｋ＋１）におけるバンド［（ｋ＋１）］−Ａの量子化処理の結果とが近づくように制御する。この制御を実現するための処理の流れについて図３を参照して説明する。なお、前述したように、第ｋの参照量子化部２３−ｋはハーフトーン処理部２０−ｋが有する参照量子化部であり、第（ｋ＋１）の量子化部２１−（ｋ＋１）はハーフトーン処理部２０−（ｋ＋１）が有する量子化部である。図３において（Ａ）はハーフトーン処理部２０−ｋでの処理の流れを示し、（Ｂ）はハーフトーン処理部２０−（ｋ＋１）での処理の流れを示している。
【００１７】
ハーフトーン処理部２０−ｋでの処理の流れを説明する。
量子化部２１及び参照量子化部２３は、誤差を伝搬させるための誤差バッファをそれぞれ有している。誤差バッファには、対応するバンドについてのハーフトーン処理を開始する前に予め所定の初期誤差をそれぞれ格納しておく。本実施形態では、図４に示すように第ｋの量子化部２１−ｋの誤差バッファ及び第（ｋ−１）の参照量子化部２３−（ｋ−１）の誤差バッファには同一の初期誤差が格納される。また、第ｋの参照量子化部２３−ｋの誤差バッファ及び第（ｋ＋１）の量子化部２１−（ｋ＋１）の誤差バッファには同一の初期誤差が格納される。他の量子化部２１及び参照量子化部２３についても同様である。なお、初期誤差は、例えば、すべての誤差バッファに０を格納しておいても良く、所定のパターンで値を格納しておいても良い。また、対応する量子化部２１の誤差バッファと参照量子化部２３の誤差バッファとの組で初期誤差が同一であれば良く、組間では初期誤差が異なっていても良い。
【００１８】
図３（Ａ）に示すように、第ｋの参照量子化部２３−ｋは、バンド［ｋ］−Ａ及びバンド［ｋ］−Ｂの処理時には無効にし（誤差拡散処理を行わず）、バンド［ｋ］−Ｃの処理時にのみ誤差拡散処理を行う。バンド［ｋ］−Ｃの処理開始時において第ｋの参照量子化部２３−ｋの誤差バッファには初期誤差が格納されている。また、第ｋの量子化部２１−ｋは、バンド［ｋ］−Ａ、バンド［ｋ］−Ｂ、及びバンド［ｋ］−Ｃのすべてに対し誤差を伝搬させながら連続的に誤差拡散処理を行う。バンド［ｋ］−Ａ及びバンド［ｋ］−Ｂの処理時には、第ｋの量子化部２１−ｋは、第ｋの参照量子化部２３−ｋの量子化結果を参照せず、補正を行わない通常の誤差拡散処理を行う。バンド［ｋ］−Ｃの処理時には、第ｋの量子化部２１−ｋは、第ｋの参照量子化部２３−ｋの量子化結果を用いて、その量子化結果に近づくようにパラメータを補正して誤差拡散処理を行う。なお、第ｋの量子化部２１−ｋにおけるバンド［ｋ］−Ａの量子化結果は、図２に示したように第（ｋ−１）の量子化部２１−（ｋ−１）におけるバンド［（ｋ−１）］−Ｃの量子化結果を最終的な結果とするため、出力されない。
【００１９】
ハーフトーン処理部２０−（ｋ＋１）においても、図３（Ｂ）に示すように入力が異なるだけで処理の流れはハーフトーン処理部２０−ｋと同様である。
【００２０】
ここで、第ｋの参照量子化部２３−ｋにおけるバンド［ｋ］−Ｃの処理Ｐ１１及び第（ｋ＋１）の量子化部２１−（ｋ＋１）におけるバンド［（ｋ＋１）］−Ａの処理Ｐ１３に注目する。入力であるバンド［ｋ］−Ｃ及びバンド［（ｋ＋１）］−Ａの各々の画素データは、重複している部分（重複領域）であるため同じである。また、どちらも同一の初期誤差がセットされた状態から処理を開始する。したがって、誤差拡散処理Ｐ１１及び誤差拡散処理Ｐ１３における処理内容は同一となる。すなわち、第ｋの量子化部２１−ｋにおけるバンド［ｋ］−Ｃの処理Ｐ１２では、第ｋの参照量子化部２３−ｋでの誤差拡散処理Ｐ１１の結果を参照するが、第（ｋ＋１）の量子化部２１−（ｋ＋１）での誤差拡散処理Ｐ１３の結果を参照するのと等価である。
【００２１】
前述したように、第ｋの量子化部２１−ｋにおけるバンド［ｋ］−Ｃの誤差拡散処理Ｐ１２では誤差拡散処理Ｐ１１の量子化結果に近づくようにパラメータを補正して処理が行われる。一方、第ｋの参照量子化部２３−ｋでの誤差拡散処理Ｐ１１と等価である第（ｋ＋１）の量子化部２１−（ｋ＋１）での誤差拡散処理Ｐ１３は、第（ｋ＋１）の量子化部２１−（ｋ＋１）におけるバンド［（ｋ＋１）］−Ｂの処理Ｐ１４と連続である。すなわち、第ｋの量子化部２１−ｋでのバンド［ｋ］−Ｃの処理Ｐ１２は、誤差拡散処理Ｐ１３の量子化結果に近づくようにして行われ、第（ｋ＋１）の量子化部２１−（ｋ＋１）でのバンド［（ｋ＋１）］−Ｂの処理Ｐ１４は、誤差拡散処理Ｐ１３と連続である。したがって、バンド［ｋ］−Ｃの量子化結果は、バンド［（ｋ＋１）］−Ｂの量子化結果と滑らかに接続できる。
【００２２】
図５は、第１の実施形態におけるハーフトーン処理部２０の詳細な構成例を示す図である。図５において、図１に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。以下では、入力ポート２４より入力される入力画素データは“０”〜“２５５”までのいずれかの整数値である８ビット単色のデータとし、出力ポート２５及び参照ポート２６より出力される出力量子化値は“０”又は“１”である１ビット単色のデータとする。
【００２３】
量子化部２１は、加算器５１Ａ、５２、比較器５３Ａ、逆量子化部５４Ａ、減算器５５Ａ、誤差バッファ５６Ａ、拡散フィルタ５７Ａ、閾値設定部５８Ａ、及び閾値補正部５９を有する。
【００２４】
加算器５１Ａは、入力画素データと近傍画素処理時の伝搬誤差６０Ａとを加算し、加算結果を被量子化値６１Ａとして出力する。比較器５３Ａは、被量子化値６１Ａと量子化閾値６２Ａとを比較し、被量子化値６１Ａが量子化閾値６２Ａより大きいか等しい場合には“１”を、被量子化値６１Ａが量子化閾値６２Ａより小さい場合には“０”を、量子化値６３Ａとして出力する。この量子化値６３Ａが、量子化処理対象の画素の量子化結果として出力ポート２５を介して外部に出力される。逆量子化部５４Ａは、量子化値６３Ａが“０”の場合には“０”を、量子化値６３Ａが“１”の場合には“２５５”を、逆量子化値６４Ａとして出力する。減算器５５Ａは、被量子化値６１Ａから逆量子化値６４Ａを減算し、演算結果を量子化誤差６５Ａとして出力する。
【００２５】
誤差バッファ５６Ａは、減算器５５Ａから出力された量子化誤差６５Ａを格納するとともに、拡散フィルタ５７Ａに対して格納している量子化誤差６６Ａを出力する。拡散フィルタ５７Ａは、誤差拡散処理に用いる拡散係数を量子化誤差６６Ａに乗じて、その総和を求めて伝搬誤差６０Ａとして出力する。誤差拡散処理に用いる拡散係数の一例を図６に示す。図６において、ＰＥ１は注目画素を示しており、他の要素は注目画素ＰＥ１からの相対位置における画素の拡散係数である。
【００２６】
閾値設定部５８Ａは、量子化時の閾値を設定する。ここでは、単純に“１２８”を出力するとする。閾値補正部５９は、参照量子化部２３より参照ポート２６を介して供給される量子化値６３Ｂを用いて閾値補正値６７を求める。なお、閾値補正値の算出方法については後述する。加算器５２は、閾値設定部５８Ａの出力に閾値補正値６７を加算し、加算結果を量子化閾値６２Ａとして出力する。
【００２７】
また、参照量子化部２３は、加算器５１Ｂ、比較器５３Ｂ、逆量子化部５４Ｂ、減算器５５Ｂ、誤差バッファ５６Ｂ、拡散フィルタ５７Ｂ、及び閾値設定部５８Ｂを有する。
【００２８】
加算器５１Ｂは、入力画素データと近傍画素処理時の伝搬誤差６０Ｂとを加算し、加算結果を被量子化値６１Ｂとして出力する。比較器５３Ｂは、被量子化値６１Ｂと量子化閾値６２Ｂとを比較し、被量子化値６１Ｂが量子化閾値６２Ｂより大きいか等しい場合には“１”を、被量子化値６１Ｂが量子化閾値６２Ｂより小さい場合には“０”を、量子化値６３Ｂとして出力する。逆量子化部５４Ｂは、量子化値６３Ｂが“０”の場合には“０”を、量子化値６３Ｂが“１”の場合には“２５５”を、逆量子化値６４Ｂとして出力する。減算器５５Ｂは、被量子化値６１Ｂから逆量子化値６４Ｂを減算し、演算結果を量子化誤差６５Ｂとして出力する。
【００２９】
誤差バッファ５６Ｂは、減算器５５Ｂから出力された量子化誤差６５Ｂを格納するとともに、拡散フィルタ５７Ｂに対して格納している量子化誤差６６Ｂを出力する。拡散フィルタ５７Ｂは、誤差拡散処理に用いる拡散係数を量子化誤差６６Ｂに乗じて、その総和を求めて伝搬誤差６０Ｂとして出力する。閾値設定部５８Ｂは、量子化時の閾値を設定する。ここでは、単純に“１２８”を出力するとし、閾値設定部５８Ｂの出力はそのまま量子化閾値６２Ｂとして用いられる。
【００３０】
図７を参照して、誤差バッファ５６Ａ及び拡散フィルタ５７Ａの動作について説明する。図７において、１００はバンドを示している。ここで、誤差バッファ５６Ａへ入力された量子化誤差６５Ａが画素１１０における量子化誤差であるとする。このとき、誤差バッファ５６Ａには領域１２０−１及び１２０−２内に位置する画素の量子化誤差が格納されている。画素１１０の次に処理する画素は画素１１５であるから、誤差バッファ５６Ａは、画素１１０，１１１，１１２，１１３の量子化誤差を拡散フィルタ５７Ａへ送る。また、誤差バッファ５６Ａは、画素１１１の量子化誤差を捨て、画素１１０の量子化誤差を内部に格納する。拡散フィルタ５７Ａは、画素１１０，１１１，１１２，１１３の量子化誤差６６Ａにそれぞれ拡散係数を乗じ、それらの総和を伝搬誤差６０Ａとして出力する。例えば、拡散係数が図６に示したようであれば、拡散フィルタ５７Ａでは、画素１１０，１１１，１１２，１１３の量子化誤差６６Ａにそれぞれ“７／１６”，“１／１６”，“５／１６”，“３／１６”が乗じられる。なお、誤差バッファ５６Ｂ及び拡散フィルタ５７Ｂの動作についても同様である。
【００３１】
次に、閾値補正部５９における閾値補正方法について説明する。
バンド［ｋ］−Ａ及びバンド［ｋ］−Ｂの処理時には補正を行わないため、閾値補正部５９は閾値補正値６７として“０”を出力する。バンド［ｋ］−Ｃの処理時には、参照量子化部２３より供給される量子化値６３Ｂが“１”の場合、同じ画素の量子化値６３Ａが“１”になり易いように補正し、量子化値６３Ｂが“０”の場合、同じ画素の量子化値６３Ａが“０”になり易いように補正する。すなわち、バンド［ｋ］−Ｃの処理時において、量子化値６３Ｂが“１”の場合には、量子化閾値６２Ａを小さくするように補正し、量子化値６３Ｂが“０”の場合には、量子化閾値６２Ａを大きくするように補正する。このとき、バンド［ｋ］−Ｃの下端、言い換えれば接合後の画像における境界となるバンド［（ｋ＋１）］−Ａとバンド［（ｋ＋１）］−Ｂとの境界に近づくに従って段階的に補正が強く作用するようにする。図８に閾値補正の一例を示す。図８において、横軸はバンド［ｋ］−Ｃ内の行番号を示しており、行番号が大きいほどバンドの下端に近づく。また、縦軸は閾値補正値６７を示している。実線ＬＮ１は、参照量子化部２３より供給される量子化値６３Ｂが“０”の場合の補正値を示し、破線ＬＮ２は参照量子化部２３より供給される量子化値６３Ｂが“１”の場合の補正値を示している。図８に示すように閾値補正値を制御することで、量子化部２１にて算出される量子化値６３Ａのパターンは、バンドの下端に近づく（行番号が大きくなる）に従って補正が強くなるため、参照量子化部２３にて算出される量子化値６３Ｂのパターンに徐々に近づく。
【００３２】
前述したように、重複している部分（重複領域内）の各画素について、第ｋの参照量子化部２３−ｋで算出される量子化値６３Ｂは、第（ｋ＋１）の量子化部２１−（ｋ＋１）で算出される量子化値６３Ａと同一である。すなわち、前述した閾値補正によって、量子化部２１−ｋでのバンド［ｋ］−Ｃの量子化結果は、バンドの下端に近づくに従って量子化部２１−（ｋ＋１）でのバンド［（ｋ＋１）］−Ａの量子化結果に近づくことになる。また、バンド［（ｋ＋１）］−Ａとバンド［（ｋ＋１）］−Ｂの処理は連続している（誤差を正確に伝搬して誤差拡散処理している）ので、バンド［（ｋ＋１）］−Ａとバンド［（ｋ＋１）］−Ｂとの間には量子化結果のパターンの不連続性はない。したがって、バンド［ｋ］−Ｃの処理結果とバンド［（ｋ＋１）］−Ｂの処理結果を接合しても、接合後の画像においてスジのない接合部分の滑らかな２値画像を得ることができる。
【００３３】
第１の実施形態によれば、量子化処理対象のバンドと接合される隣接するバンドの上部と同一の処理内容で、量子化処理対象のバンドの下部を量子化する参照量子化部２３を設ける。そして、量子化処理対象のバンドを量子化部２１で量子化するととともに、接合先のバンドと重複している部分を量子化する場合には、参照量子化部２３の量子化結果を参照して、量子化結果が近づくように量子化閾値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分（画像の継ぎ目部分）を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【００３４】
なお、本実施形態では、参照量子化部２３における量子化結果と量子化処理対象の画素の位置とを用いて、量子化部２１で用いる量子化閾値を補正するようにしているが、誤差拡散処理過程の中間データを補正するようにしても良い。量子化部２１及び参照量子化部２３での量子化結果が近づくように補正すれば良いので、量子化部２１及び参照量子化部２３の中間データが近づくように補正しても同様の効果が得られる。例えば、量子化部２１の伝搬誤差６０Ａと参照量子化部２３の伝搬誤差６０Ｂが近づくように補正しても良い。
また、本実施形態では、各ハーフトーン処理部２０内に参照量子化部２３を具備するようにしているが、参照ポート２６を介して量子化部２１に供給される値は外部から受け取ることとしても良い。また、第ｋの参照量子化部２３−ｋでの処理は誤差拡散処理を一例として説明したが、これに限定されるものではなく、バンド［ｋ］−Ａ及びバンド［ｋ］−Ｂに依存しない処理であれば、どのような量子化方法でも適用可能である。
【００３５】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。
前述した第１の実施形態では、参照量子化部２３から供給される量子化値６３Ｂを用いて量子化部２１における量子化閾値６２Ａを補正したが、第２の実施形態では、参照量子化部２３から供給される量子化値６３Ｂを用いて入力画素データを補正する。なお、第２の実施形態における画像処理装置は、ハーフトーン処理部２０の内部構成を除いて第１の実施形態と同様であるので、重複する説明は省略する。
【００３６】
図９は、第２の実施形態におけるハーフトーン処理部２０の詳細な構成例を示す図である。図９において、図５に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。第２の実施形態におけるハーフトーン処理部２０の量子化部２１は、加算器５１Ａ、比較器５３Ａ、逆量子化部５４Ａ、減算器５５Ａ、誤差バッファ５６Ａ、拡散フィルタ５７Ａ、閾値設定部５８Ａ、及び画素値補正部７１を有する。なお、第２の実施形態におけるハーフトーン処理部２０の参照量子化部２３は、第１の実施形態におけるハーフトーン処理部２０の参照量子化部２３と同様である。
【００３７】
画素値補正部７１は、バンド［ｋ］−Ａ及びバンド［ｋ］−Ｂの処理時には、入力ポート２４から入力される入力画素データの値をそのまま出力する。バンド［ｋ］−Ｃの処理時には、参照量子化部２３より供給される量子化値６３Ｂが“１”であれば同じ画素の量子化値６３Ａが“１”になり易いように入力画素データの値に対し補正する。また、バンド［ｋ］−Ｃの処理時に、量子化値６３Ｂが“０”であれば同じ画素の量子化値６３Ａが“０”になり易いように入力画素データの値に対し補正する。すなわち、バンド［ｋ］−Ｃの処理時において、量子化値６３Ｂが“１”の場合には、入力画素データの値を大きくするような補正を行い、量子化値６３Ｂが“０”の場合には、入力画素データの値を小さくするような補正を行う。このとき、バンド［ｋ］−Ｃの下端に近づくに従って段階的に補正が強く作用するようにする。これにより、画素値補正部７１における画素値補正によって第１の実施形態と同様に、バンド［ｋ］−Ｃの量子化結果のパターンは、バンド［ｋ］の下端に近づくに従ってバンド［ｋ＋１］−Ａの量子化結果のパターンに近づく。なお、加算器５１Ａは、画素値補正部７１の出力と近傍画素処理時の伝搬誤差６０Ａとを加算し、加算結果を被量子化値６１Ａとして出力する。
【００３８】
第２の実施形態によれば、量子化処理対象のバンドにて接合先のバンドと重複している部分を量子化部２１で量子化する場合には、参照量子化部２３の量子化結果を参照して、量子化結果が近づくように入力画素値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分（画像の継ぎ目部分）を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【００３９】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。
前述した第１の実施形態では、閾値設定部５８Ａ、５８Ｂの出力は常に“１２８”としていたが、第３の実施形態では、他の閾値制御方法を適用する。なお、第２の実施形態における画像処理装置は、ハーフトーン処理部２０の内部構成を除いて第１の実施形態と同様であるので、重複する説明は省略する。
【００４０】
図１０は、第３の実施形態におけるハーフトーン処理部２０の詳細な構成例を示す図である。図１０において、図５に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。第３の実施形態におけるハーフトーン処理部２０は、量子化部２１及び参照量子化部２３に加え、閾値制御部７２を有する。量子化部２１は、加算器５１Ａ、５２、比較器５３Ａ、逆量子化部５４Ａ、減算器５５Ａ、誤差バッファ５６Ａ、拡散フィルタ５７Ａ、及び閾値補正部５９を有する。また、参照量子化部２３は、加算器５１Ｂ、比較器５３Ｂ、逆量子化部５４Ｂ、減算器５５Ｂ、誤差バッファ５６Ｂ、及び拡散フィルタ５７Ｂを有する。
【００４１】
図１０に示す第３の実施形態におけるハーフトーン処理部２０は、入力画素値に応じた閾値制御を行う。閾値制御部７２は、エントリ数が２５６のルックアップテーブルであり、入力ポート２４より入力される入力画素値に応じて、該当するエントリに格納されている値を出力する。量子化部２１では、加算器５２が、閾値制御部７２の出力と閾値補正値６７とを加算し、加算結果を量子化閾値６２Ａとして出力する。また、参照量子化部２３では、閾値制御部７２の出力がそのまま量子化閾値６２Ｂとして用いられる。これにより、入力画素値に応じた閾値制御を実現することができる。また、量子化部２１と参照量子化部２３とでは同じルックアップテーブルの値により量子化時の閾値を制御している。そのため、複数のバンドで重複している部分（重複領域内）の各画素について、第ｋの参照量子化部２３−ｋで算出される量子化値６３Ｂと、第（ｋ＋１）の量子化部２１−（ｋ＋１）で算出される量子化値６３Ａとは同一となる。すなわち、参照量子化部２３より供給される量子化値６３Ｂを用いて、量子化部２１における量子化閾値６２Ａを制御すれば、第１の実施形態と同様の効果が得られる。
【００４２】
第３の実施形態によれば、閾値制御部７２を設けることで、入力画素値に応じた閾値制御を実現することができる。また、第１の実施形態と同様に、量子化処理対象のバンドにて接合先のバンドと重複している部分を量子化部２１で量子化する場合には、参照量子化部２３の量子化結果を参照して、量子化結果が近づくように量子化閾値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分（画像の継ぎ目部分）を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【００４３】
なお、本実施形態では、入力画素値に応じた閾値制御を行ったが、他の制御方法と組み合わせても良い。例えば、入力画素の座標（量子化処理対象の画素位置）に応じた閾値制御を行っても良いし、入力画素に付属するメタデータに応じた閾値制御を行っても良い。
【００４４】
（第４の実施形態）
次に、本発明の第４の実施形態について説明する。
第４の実施形態における画像処理装置は、ハーフトーン処理部を除いて第１の実施形態と同様であるので、重複する説明は省略する。図１１は、第４の実施形態におけるハーフトーン処理部の構成例を示す図である。図１１において、８０はハーフトーン処理部、８１は第１の量子化部、８２は補正部、８３は第２の量子化部、８４はマルチプレクサ、８５は入力ポート、８６及び８７は量子化値出力、８８は出力ポートである。第１の量子化部８１は、第１の実施形態における量子化部２１と同様である。第１の量子化部８１では、分割画像における第１の領域の画素データを量子化するとき、量子化値出力８７を参照し、第２の量子化部８３の量子化結果に第１の量子化部８１の量子化結果が近づくように誤差拡散処理に係るパラメータが補正部８２より制御される。第２の量子化部８３はディザマトリクス法による２値化処理を行う。
【００４５】
本実施形態における入力画像の一例を図１２に示す。入力画像は画像の属性に応じて領域９１、領域９２、領域９３に分類され、領域９１は誤差拡散法により２値化し、領域９３はディザマトリクス法により２値化するものとする。隣接する領域に対して異なる量子化手法で量子化すると、領域の継ぎ目部分において処理の不連続性に起因するスジが発生する。そのため、領域９２については、領域９１の量子化結果のパターンと領域９３の量子化結果のパターンとが滑らかに接続されるような２値化処理を行う。つまり、本実施形態では、領域９１と領域９２とからなる部分を第１の分割画像（バンド）として量子化処理し、領域９２と領域９３とからなる部分を第２の分割画像（バンド）として量子化処理する。
【００４６】
外部から入力ポート８５へ入力画像をラスタ走査し順次入力するとする。領域９１に対しては、第１の量子化部８１により量子化する。このとき、第１の量子化部８１では、第２の量子化部８３の量子化値出力８７を参照した補正は行わない。マルチプレクサ８４は、第１の量子化部８１の量子化値出力８６を選択して、出力ポート８８から外部に出力する。また、領域９２に対しては、第１の量子化部８１及び第２の量子化部８３により量子化する。このとき、第１の量子化部８１では、第２の量子化部８３の量子化値出力８７を参照して、第１の量子化部８１の量子化値出力８６が量子化値出力８７に近づくような補正を行う。このとき、領域９３に近づくに従って補正を強くする。マルチプレクサ８４は、第１の量子化部８１の量子化値出力８６を選択して、出力ポート８８から外部へ出力する。また、領域９３に対しては、第２の量子化部８３により量子化する。マルチプレクサ８４は、第２の量子化部８３の量子化値出力８７を選択して、出力ポート８８から外部に出力する。このようにすることで、領域９２の量子化結果は、領域９１の量子化結果のパターン及び領域９３の量子化結果のパターンに滑らかに接続させることができる。
【００４７】
第４の実施形態によれば、異なる量子化方法を適用する画像に対して、１つの量子化部で生成した量子化値を参照して、別の１つの量子化部の処理パラメータを補正する。これにより、画像を異なる複数の量子化手法で量子化した場合に画質劣化を引き起すスジを消すことができる。
【００４８】
なお、前述した各実施形態における画像処理装置では、分割画像の数（バンド数）と同数のハーフトーン処理部を設けるようにしているが、同じでなくとも良い。例えば、分割画像の数より少ない数の複数のハーフトーン処理部を設けるようにしても良く、この場合にはハーフトーン処理部の数に応じて、分割画像を複数の組に分割し、各組毎に処理を行えばよい。
【００４９】
（本発明の他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００５０】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００５１】
１０…分割処理部、２０…ハーフトーン処理部、２１…量子化部、２２…補正部、２３…参照量子化部、３０…接合処理部
【図１】
0005812587.tif 000002
【図２】
0005812587.tif 000003
【図３】
0005812587.tif 000004
【図４】
0005812587.tif 000005
【図５】
0005812587.tif 000006
【図６】
0005812587.tif 000007
【図７】
0005812587.tif 000008
【図８】
0005812587.tif 000009
【図９】
0005812587.tif 000010
【図１０】
0005812587.tif 000011
【図１１】
0005812587.tif 000012
【図１２】
0005812587.tif 000013