説明

画像処理装置、画像処理方法、及びプログラム

【課題】接合後の画像でのドットパターンの不連続性に起因するスジの発生を防止する。
【解決手段】m値画像を複数の分割画像に分割し、分割画像毎にn値画像(2≦n<m)に量子化する画像処理装置にて、接合先の領域と同じようにして分割画像の第1の領域を量子化する第1の量子化部と、第1の領域を含む分割画像における第2の領域を連続して量子化する第2の量子化部とを備え、第2の量子化部で第1の領域を量子化する場合に、量子化結果が第1の量子化部での量子化結果に近づくように、第1の量子化部での量子化結果を用いて量子化処理に係るパラメータを補正するようにして、第2の量子化部での第1の領域の量子化結果を、接合先の分割画像の第2の量子化部での量子化結果に近づけ、画像の継ぎ目部分を滑らかにし、接合後の画像でドットパターンが不連続性になることを防止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法、及びプログラムに関し、詳しくはm値画像をn値画像(m及びnは整数であり、2≦n<m)に変換する画像処理技術に関する。
【背景技術】
【0002】
従来、入力された多階調画像データを2値画像データに変換して出力する画像処理装置では、多階調画像を2値画像に変換する方法として、例えば誤差拡散法が用いられている。誤差拡散法は、注目画素の階調値と2値化後の量子化代表値との差(量子化誤差)を、注目画素の近傍画素の階調値に拡散し、これら各階調値を逐次的に2値化する方法である(例えば、非特許文献1参照。)。
【0003】
また、多階調画像から2値画像への変換に係る画像処理においては、近年の画像の高解像度化に伴ってデータ量が大きくなり、メモリの肥大化や処理時間の増大が課題となっている。このため、処理対象となる多階調画像を予め複数の領域に分割することによって、省メモリ化や並列処理による高速化が図られている。この方法では、分割領域毎に逐次処理もしくは並列処理により2値化し、その処理後に各領域の分割画像を接合する。
【0004】
しかしながら、各分割画像を誤差拡散法により並列処理する場合には、隣接する領域の分割画像に対して領域間の境界を越えて誤差を正確に伝搬させることができない。そのため、各分割画像を接合した際に継ぎ目部分にドットパターン(テクスチャ)の不連続点が生じ、この不連続点がスジ状に目立って画質を大きく損なってしまうといった問題がある。このようなスジは、1つの画像に対して複数の異なる2値化手法を適用する場合にも発生することがある。例えば、1つの画像を2つの領域に分類して、一方の領域を誤差拡散法により量子化し、他方の領域をディザ法により量子化すると、領域の境界ではドットパターンが不連続になるためにスジとなって目立ってしまう。
【0005】
このような背景のもと、下記の特許文献1では、処理対象の入力画像を複数の領域に分割し、境界線に接する画素の誤差を隣り合う画素へ拡散させる方法を工夫して各領域に対して誤差拡散処理を行うことで、画像の継ぎ目部分のスジの発生を抑えようとしている。また、下記の特許文献2では、さらに隣り合う領域を少なくとも1ライン以上遅らして処理し、境界線に接する画素の誤差を未だ処理が行われていない隣の領域の画素に拡散することで画像の継ぎ目部分の画質の低下を防止しようとしている。また、下記の特許文献3では、処理対象の画像を分割する前に分割ライン上の各画素の誤差拡散処理を行い、誤差を分割ラインを挟む2つの領域のそれぞれに拡散した後、分割された領域毎に誤差拡散処理を行っている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−301364号公報
【特許文献2】特開平11−17945号公報
【特許文献3】特許第4039395号公報
【非特許文献】
【0007】
【非特許文献1】R.Floyd, L.Steinberg, “An Adaptive Algorithm for Spatial Greyscale”, Proceeding of the S.I.D., vol 17/2, 1976, p.75-76
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、前記特許文献1、2に記載の方法では、境界部における領域間の誤差伝搬が近似であるため、画像の継ぎ目部分におけるスジの視認性を低減できるが、完全にスジを消すことはできない。また、前記特許文献3に記載の方法では、分割ライン上では他の領域とは異なる拡散方向及び拡散係数を用いるため、境界部のドットパターンは他の領域と異なり、これがスジとなって見える可能性がある。
本発明は、このような事情に鑑みてなされたものであり、複数の領域に分割し領域毎に処理を行って入力画像を低階調の画像に変換する画像処理において、接合後の画像でのドットパターンの不連続性に起因するスジの発生を防止することを目的とする。
【課題を解決するための手段】
【0009】
本発明の画像処理装置は、m値画像をn値画像(m及びnは整数、かつ2≦n<m)に量子化する画像処理装置であって、複数の分割画像に分割された前記m値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、前記画像処理手段は、前記分割画像における第1の領域について画素値をn値化する第1の量子化手段と、前記第1の領域を含む前記分割画像における第2の領域について、前記第2の領域のうち前記第1の領域を除いた部分の画素値をn値化し、当該部分のn値化により伝搬された誤差を用いて前記第1の領域の画素値をn値化する第2の量子化手段とを有し、前記第2の量子化手段は、前記第1の領域について画素値をn値化する場合に、前記第1の量子化手段での量子化結果と前記第2の量子化手段での量子化結果とが近づくように、前記第1の量子化手段での量子化結果又は中間データを用いて量子化処理に係るパラメータを補正することを特徴とする。
【発明の効果】
【0010】
本発明によれば、接合先の領域と同じようにして第1の量子化手段で第1の領域を量子化し、その量子化結果に近づけるように第2の量子化手段で第1の領域を量子化する。これにより、第2の量子化手段での第1の領域の量子化結果を、接合する分割画像の第2の量子化手段による量子化結果に近づけることができ、分割画像の継ぎ目部分を滑らかにして接合することができる。したがって、接合後の画像でドットパターンが不連続性になることを防止し、スジの発生による画質劣化を防止することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施形態における画像処理装置の構成例を示す図である。
【図2】第1の実施形態における画像分割の例を示す図である。
【図3】第1の実施形態における画像処理装置の動作例を示す図である。
【図4】第1の実施形態における初期誤差について説明するための図である。
【図5】第1の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図6】拡散係数の一例を示す図である。
【図7】誤差バッファを説明するための図である。
【図8】第1の実施形態における閾値補正の一例を説明するための図である。
【図9】第2の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図10】第3の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図11】第4の実施形態におけるハーフトーン処理部の構成例を示す図である。
【図12】第4の実施形態における入力画像の一例を説明するための図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を図面に基づいて説明する。
(第1の実施形態)
本発明の第1の実施形態について説明する。
図1は、第1の実施形態における画像処理装置の構成例を示す図である。
図1において、10は分割処理部、20−k(k=1,2,・・・,N)はハーフトーン処理部、30は接合処理部である。分割処理部10は、処理対象となるm値画像(原画像)が入力され、入力されたm値画像を複数の領域に分割する。ハーフトーン処理部20−kは、分割処理部10にて分割されたm値画像に対して、領域毎にハーフトーン処理を施す。具体的には、ハーフトーン処理部20−kは、分割されたm値画像を分割画像毎にn値化して、それぞれをn値画像に変換する。接合処理部30は、ハーフトーン処理部20−kより出力される各領域のn値画像を接合して1つのn値画像(処理結果画像)を形成し出力する。なお、m及びnは整数であり、かつ2≦n<mの関係を満たす。また、本発明の各実施形態においては、n=2、すなわち処理結果画像として得られるn値画像は2値画像であるものとして説明する。
【0013】
図1においてはハーフトーン処理部20−1のみ内部構成を図示しているが、ハーフトーン処理部20−kの各々は同様に構成される。ハーフトーン処理部20−kにおいて、21は量子化部、22は補正部、23は参照量子化部、24はハーフトーン処理部における入力ポート、25はハーフトーン処理部における出力ポート、26はハーフトーン処理部における参照ポートである。
【0014】
量子化部21及び参照量子化部23は、入力ポート24へ入力された量子化処理対象の画素データに、所定の量子化手法を用いた量子化処理を施す。参照量子化部23は、分割画像における第1の領域について入力された画素データを量子化し、量子化処理の結果を参照ポート26へ出力する。また、量子化部21は、第1の領域を含む分割画像における第2の領域について入力された画素データを量子化し、量子化処理の結果を出力ポート25へ出力する。量子化部21では、第1の領域の画素データを量子化するとき、参照ポート26の値を参照し、参照量子化部23の量子化結果に量子化部21の量子化結果が近づくように量子化処理に係る処理パラメータが補正部22により制御される。以下では、量子化部21及び参照量子化部23における量子化手法としては誤差拡散法を用いるものとして説明する。また、必要に応じて、ハーフトーン処理部20−k内の量子化部21を第kの量子化部と呼び、ハーフトーン処理部20−k内の参照量子化部23を第kの参照量子化部と呼ぶ。
【0015】
図2は、第1の実施形態における画像分割の例を示す図である。本実施形態において、入力画像は、所定数(本実施形態では16行として説明する)の重複領域を含むようにして、主走査方向と平行にN個の矩形領域に分割処理部10にて分割される。すなわち、入力画像は、分割後の各々の画像(分割画像)において一部が他の分割画像と重複するようにして分割される。図2には、N=3の例を示している。以下では、この分割された各領域をバンドと呼び、上から順にバンド[1]、バンド[2]、・・・、バンド[N]と表す。また、k=1,2,・・・,Nにおいて、バンド[k]中のバンド[(k−1)]との重複領域をバンド[k]−Aとする。バンド[k]中のバンド[(k+1)]との重複領域をバンド[k]−Cとする。バンド[k]中の他のバンドと重複していない領域をバンド[k]−Bとする。画素の走査方向はラスタ走査として説明する。k=1,2,・・・,Nは以降でも同様とする。本実施形態では、各バンド[1],バンド[2],・・・,バンド[N]が、それぞれ独立にハーフトーン処理部20−1,20−2,・・・,20−Nで並列して処理される。ハーフトーン処理部20−1,20−2,・・・,20−Nより出力された各2値データは、接合処理部30にて接合され、1枚の2値画像データが形成される。
【0016】
本実施形態において、バンド[k]中のバンド[k]−Cが分割画像における第1の領域に相当し、バンド[k]−A、バンド[k]−B及びバンド[k]−C、すなわちバンド[k]全体が分割画像における第2の領域に相当する。
本実施形態では、第kの参照量子化部23−kにおけるバンド[k]−Cの量子化処理の結果と、第(k+1)の量子化部21−(k+1)におけるバンド[(k+1)]−Aの量子化処理の結果とが近づくように制御する。この制御を実現するための処理の流れについて図3を参照して説明する。なお、前述したように、第kの参照量子化部23−kはハーフトーン処理部20−kが有する参照量子化部であり、第(k+1)の量子化部21−(k+1)はハーフトーン処理部20−(k+1)が有する量子化部である。図3において(A)はハーフトーン処理部20−kでの処理の流れを示し、(B)はハーフトーン処理部20−(k+1)での処理の流れを示している。
【0017】
ハーフトーン処理部20−kでの処理の流れを説明する。
量子化部21及び参照量子化部23は、誤差を伝搬させるための誤差バッファをそれぞれ有している。誤差バッファには、対応するバンドについてのハーフトーン処理を開始する前に予め所定の初期誤差をそれぞれ格納しておく。本実施形態では、図4に示すように第kの量子化部21−kの誤差バッファ及び第(k−1)の参照量子化部23−(k−1)の誤差バッファには同一の初期誤差が格納される。また、第kの参照量子化部23−kの誤差バッファ及び第(k+1)の量子化部21−(k+1)の誤差バッファには同一の初期誤差が格納される。他の量子化部21及び参照量子化部23についても同様である。なお、初期誤差は、例えば、すべての誤差バッファに0を格納しておいても良く、所定のパターンで値を格納しておいても良い。また、対応する量子化部21の誤差バッファと参照量子化部23の誤差バッファとの組で初期誤差が同一であれば良く、組間では初期誤差が異なっていても良い。
【0018】
図3(A)に示すように、第kの参照量子化部23−kは、バンド[k]−A及びバンド[k]−Bの処理時には無効にし(誤差拡散処理を行わず)、バンド[k]−Cの処理時にのみ誤差拡散処理を行う。バンド[k]−Cの処理開始時において第kの参照量子化部23−kの誤差バッファには初期誤差が格納されている。また、第kの量子化部21−kは、バンド[k]−A、バンド[k]−B、及びバンド[k]−Cのすべてに対し誤差を伝搬させながら連続的に誤差拡散処理を行う。バンド[k]−A及びバンド[k]−Bの処理時には、第kの量子化部21−kは、第kの参照量子化部23−kの量子化結果を参照せず、補正を行わない通常の誤差拡散処理を行う。バンド[k]−Cの処理時には、第kの量子化部21−kは、第kの参照量子化部23−kの量子化結果を用いて、その量子化結果に近づくようにパラメータを補正して誤差拡散処理を行う。なお、第kの量子化部21−kにおけるバンド[k]−Aの量子化結果は、図2に示したように第(k−1)の量子化部21−(k−1)におけるバンド[(k−1)]−Cの量子化結果を最終的な結果とするため、出力されない。
【0019】
ハーフトーン処理部20−(k+1)においても、図3(B)に示すように入力が異なるだけで処理の流れはハーフトーン処理部20−kと同様である。
【0020】
ここで、第kの参照量子化部23−kにおけるバンド[k]−Cの処理P11及び第(k+1)の量子化部21−(k+1)におけるバンド[(k+1)]−Aの処理P13に注目する。入力であるバンド[k]−C及びバンド[(k+1)]−Aの各々の画素データは、重複している部分(重複領域)であるため同じである。また、どちらも同一の初期誤差がセットされた状態から処理を開始する。したがって、誤差拡散処理P11及び誤差拡散処理P13における処理内容は同一となる。すなわち、第kの量子化部21−kにおけるバンド[k]−Cの処理P12では、第kの参照量子化部23−kでの誤差拡散処理P11の結果を参照するが、第(k+1)の量子化部21−(k+1)での誤差拡散処理P13の結果を参照するのと等価である。
【0021】
前述したように、第kの量子化部21−kにおけるバンド[k]−Cの誤差拡散処理P12では誤差拡散処理P11の量子化結果に近づくようにパラメータを補正して処理が行われる。一方、第kの参照量子化部23−kでの誤差拡散処理P11と等価である第(k+1)の量子化部21−(k+1)での誤差拡散処理P13は、第(k+1)の量子化部21−(k+1)におけるバンド[(k+1)]−Bの処理P14と連続である。すなわち、第kの量子化部21−kでのバンド[k]−Cの処理P12は、誤差拡散処理P13の量子化結果に近づくようにして行われ、第(k+1)の量子化部21−(k+1)でのバンド[(k+1)]−Bの処理P14は、誤差拡散処理P13と連続である。したがって、バンド[k]−Cの量子化結果は、バンド[(k+1)]−Bの量子化結果と滑らかに接続できる。
【0022】
図5は、第1の実施形態におけるハーフトーン処理部20の詳細な構成例を示す図である。図5において、図1に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。以下では、入力ポート24より入力される入力画素データは“0”〜“255”までのいずれかの整数値である8ビット単色のデータとし、出力ポート25及び参照ポート26より出力される出力量子化値は“0”又は“1”である1ビット単色のデータとする。
【0023】
量子化部21は、加算器51A、52、比較器53A、逆量子化部54A、減算器55A、誤差バッファ56A、拡散フィルタ57A、閾値設定部58A、及び閾値補正部59を有する。
【0024】
加算器51Aは、入力画素データと近傍画素処理時の伝搬誤差60Aとを加算し、加算結果を被量子化値61Aとして出力する。比較器53Aは、被量子化値61Aと量子化閾値62Aとを比較し、被量子化値61Aが量子化閾値62Aより大きいか等しい場合には“1”を、被量子化値61Aが量子化閾値62Aより小さい場合には“0”を、量子化値63Aとして出力する。この量子化値63Aが、量子化処理対象の画素の量子化結果として出力ポート25を介して外部に出力される。逆量子化部54Aは、量子化値63Aが“0”の場合には“0”を、量子化値63Aが“1”の場合には“255”を、逆量子化値64Aとして出力する。減算器55Aは、被量子化値61Aから逆量子化値64Aを減算し、演算結果を量子化誤差65Aとして出力する。
【0025】
誤差バッファ56Aは、減算器55Aから出力された量子化誤差65Aを格納するとともに、拡散フィルタ57Aに対して格納している量子化誤差66Aを出力する。拡散フィルタ57Aは、誤差拡散処理に用いる拡散係数を量子化誤差66Aに乗じて、その総和を求めて伝搬誤差60Aとして出力する。誤差拡散処理に用いる拡散係数の一例を図6に示す。図6において、PE1は注目画素を示しており、他の要素は注目画素PE1からの相対位置における画素の拡散係数である。
【0026】
閾値設定部58Aは、量子化時の閾値を設定する。ここでは、単純に“128”を出力するとする。閾値補正部59は、参照量子化部23より参照ポート26を介して供給される量子化値63Bを用いて閾値補正値67を求める。なお、閾値補正値の算出方法については後述する。加算器52は、閾値設定部58Aの出力に閾値補正値67を加算し、加算結果を量子化閾値62Aとして出力する。
【0027】
また、参照量子化部23は、加算器51B、比較器53B、逆量子化部54B、減算器55B、誤差バッファ56B、拡散フィルタ57B、及び閾値設定部58Bを有する。
【0028】
加算器51Bは、入力画素データと近傍画素処理時の伝搬誤差60Bとを加算し、加算結果を被量子化値61Bとして出力する。比較器53Bは、被量子化値61Bと量子化閾値62Bとを比較し、被量子化値61Bが量子化閾値62Bより大きいか等しい場合には“1”を、被量子化値61Bが量子化閾値62Bより小さい場合には“0”を、量子化値63Bとして出力する。逆量子化部54Bは、量子化値63Bが“0”の場合には“0”を、量子化値63Bが“1”の場合には“255”を、逆量子化値64Bとして出力する。減算器55Bは、被量子化値61Bから逆量子化値64Bを減算し、演算結果を量子化誤差65Bとして出力する。
【0029】
誤差バッファ56Bは、減算器55Bから出力された量子化誤差65Bを格納するとともに、拡散フィルタ57Bに対して格納している量子化誤差66Bを出力する。拡散フィルタ57Bは、誤差拡散処理に用いる拡散係数を量子化誤差66Bに乗じて、その総和を求めて伝搬誤差60Bとして出力する。閾値設定部58Bは、量子化時の閾値を設定する。ここでは、単純に“128”を出力するとし、閾値設定部58Bの出力はそのまま量子化閾値62Bとして用いられる。
【0030】
図7を参照して、誤差バッファ56A及び拡散フィルタ57Aの動作について説明する。図7において、100はバンドを示している。ここで、誤差バッファ56Aへ入力された量子化誤差65Aが画素110における量子化誤差であるとする。このとき、誤差バッファ56Aには領域120−1及び120−2内に位置する画素の量子化誤差が格納されている。画素110の次に処理する画素は画素115であるから、誤差バッファ56Aは、画素110,111,112,113の量子化誤差を拡散フィルタ57Aへ送る。また、誤差バッファ56Aは、画素111の量子化誤差を捨て、画素110の量子化誤差を内部に格納する。拡散フィルタ57Aは、画素110,111,112,113の量子化誤差66Aにそれぞれ拡散係数を乗じ、それらの総和を伝搬誤差60Aとして出力する。例えば、拡散係数が図6に示したようであれば、拡散フィルタ57Aでは、画素110,111,112,113の量子化誤差66Aにそれぞれ“7/16”,“1/16”,“5/16”,“3/16”が乗じられる。なお、誤差バッファ56B及び拡散フィルタ57Bの動作についても同様である。
【0031】
次に、閾値補正部59における閾値補正方法について説明する。
バンド[k]−A及びバンド[k]−Bの処理時には補正を行わないため、閾値補正部59は閾値補正値67として“0”を出力する。バンド[k]−Cの処理時には、参照量子化部23より供給される量子化値63Bが“1”の場合、同じ画素の量子化値63Aが“1”になり易いように補正し、量子化値63Bが“0”の場合、同じ画素の量子化値63Aが“0”になり易いように補正する。すなわち、バンド[k]−Cの処理時において、量子化値63Bが“1”の場合には、量子化閾値62Aを小さくするように補正し、量子化値63Bが“0”の場合には、量子化閾値62Aを大きくするように補正する。このとき、バンド[k]−Cの下端、言い換えれば接合後の画像における境界となるバンド[(k+1)]−Aとバンド[(k+1)]−Bとの境界に近づくに従って段階的に補正が強く作用するようにする。図8に閾値補正の一例を示す。図8において、横軸はバンド[k]−C内の行番号を示しており、行番号が大きいほどバンドの下端に近づく。また、縦軸は閾値補正値67を示している。実線LN1は、参照量子化部23より供給される量子化値63Bが“0”の場合の補正値を示し、破線LN2は参照量子化部23より供給される量子化値63Bが“1”の場合の補正値を示している。図8に示すように閾値補正値を制御することで、量子化部21にて算出される量子化値63Aのパターンは、バンドの下端に近づく(行番号が大きくなる)に従って補正が強くなるため、参照量子化部23にて算出される量子化値63Bのパターンに徐々に近づく。
【0032】
前述したように、重複している部分(重複領域内)の各画素について、第kの参照量子化部23−kで算出される量子化値63Bは、第(k+1)の量子化部21−(k+1)で算出される量子化値63Aと同一である。すなわち、前述した閾値補正によって、量子化部21−kでのバンド[k]−Cの量子化結果は、バンドの下端に近づくに従って量子化部21−(k+1)でのバンド[(k+1)]−Aの量子化結果に近づくことになる。また、バンド[(k+1)]−Aとバンド[(k+1)]−Bの処理は連続している(誤差を正確に伝搬して誤差拡散処理している)ので、バンド[(k+1)]−Aとバンド[(k+1)]−Bとの間には量子化結果のパターンの不連続性はない。したがって、バンド[k]−Cの処理結果とバンド[(k+1)]−Bの処理結果を接合しても、接合後の画像においてスジのない接合部分の滑らかな2値画像を得ることができる。
【0033】
第1の実施形態によれば、量子化処理対象のバンドと接合される隣接するバンドの上部と同一の処理内容で、量子化処理対象のバンドの下部を量子化する参照量子化部23を設ける。そして、量子化処理対象のバンドを量子化部21で量子化するととともに、接合先のバンドと重複している部分を量子化する場合には、参照量子化部23の量子化結果を参照して、量子化結果が近づくように量子化閾値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分(画像の継ぎ目部分)を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【0034】
なお、本実施形態では、参照量子化部23における量子化結果と量子化処理対象の画素の位置とを用いて、量子化部21で用いる量子化閾値を補正するようにしているが、誤差拡散処理過程の中間データを補正するようにしても良い。量子化部21及び参照量子化部23での量子化結果が近づくように補正すれば良いので、量子化部21及び参照量子化部23の中間データが近づくように補正しても同様の効果が得られる。例えば、量子化部21の伝搬誤差60Aと参照量子化部23の伝搬誤差60Bが近づくように補正しても良い。
また、本実施形態では、各ハーフトーン処理部20内に参照量子化部23を具備するようにしているが、参照ポート26を介して量子化部21に供給される値は外部から受け取ることとしても良い。また、第kの参照量子化部23−kでの処理は誤差拡散処理を一例として説明したが、これに限定されるものではなく、バンド[k]−A及びバンド[k]−Bに依存しない処理であれば、どのような量子化方法でも適用可能である。
【0035】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
前述した第1の実施形態では、参照量子化部23から供給される量子化値63Bを用いて量子化部21における量子化閾値62Aを補正したが、第2の実施形態では、参照量子化部23から供給される量子化値63Bを用いて入力画素データを補正する。なお、第2の実施形態における画像処理装置は、ハーフトーン処理部20の内部構成を除いて第1の実施形態と同様であるので、重複する説明は省略する。
【0036】
図9は、第2の実施形態におけるハーフトーン処理部20の詳細な構成例を示す図である。図9において、図5に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。第2の実施形態におけるハーフトーン処理部20の量子化部21は、加算器51A、比較器53A、逆量子化部54A、減算器55A、誤差バッファ56A、拡散フィルタ57A、閾値設定部58A、及び画素値補正部71を有する。なお、第2の実施形態におけるハーフトーン処理部20の参照量子化部23は、第1の実施形態におけるハーフトーン処理部20の参照量子化部23と同様である。
【0037】
画素値補正部71は、バンド[k]−A及びバンド[k]−Bの処理時には、入力ポート24から入力される入力画素データの値をそのまま出力する。バンド[k]−Cの処理時には、参照量子化部23より供給される量子化値63Bが“1”であれば同じ画素の量子化値63Aが“1”になり易いように入力画素データの値に対し補正する。また、バンド[k]−Cの処理時に、量子化値63Bが“0”であれば同じ画素の量子化値63Aが“0”になり易いように入力画素データの値に対し補正する。すなわち、バンド[k]−Cの処理時において、量子化値63Bが“1”の場合には、入力画素データの値を大きくするような補正を行い、量子化値63Bが“0”の場合には、入力画素データの値を小さくするような補正を行う。このとき、バンド[k]−Cの下端に近づくに従って段階的に補正が強く作用するようにする。これにより、画素値補正部71における画素値補正によって第1の実施形態と同様に、バンド[k]−Cの量子化結果のパターンは、バンド[k]の下端に近づくに従ってバンド[k+1]−Aの量子化結果のパターンに近づく。なお、加算器51Aは、画素値補正部71の出力と近傍画素処理時の伝搬誤差60Aとを加算し、加算結果を被量子化値61Aとして出力する。
【0038】
第2の実施形態によれば、量子化処理対象のバンドにて接合先のバンドと重複している部分を量子化部21で量子化する場合には、参照量子化部23の量子化結果を参照して、量子化結果が近づくように入力画素値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分(画像の継ぎ目部分)を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【0039】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。
前述した第1の実施形態では、閾値設定部58A、58Bの出力は常に“128”としていたが、第3の実施形態では、他の閾値制御方法を適用する。なお、第2の実施形態における画像処理装置は、ハーフトーン処理部20の内部構成を除いて第1の実施形態と同様であるので、重複する説明は省略する。
【0040】
図10は、第3の実施形態におけるハーフトーン処理部20の詳細な構成例を示す図である。図10において、図5に示した構成要素と同一の構成要素には同一の符号を付し、重複する説明は省略する。第3の実施形態におけるハーフトーン処理部20は、量子化部21及び参照量子化部23に加え、閾値制御部72を有する。量子化部21は、加算器51A、52、比較器53A、逆量子化部54A、減算器55A、誤差バッファ56A、拡散フィルタ57A、及び閾値補正部59を有する。また、参照量子化部23は、加算器51B、比較器53B、逆量子化部54B、減算器55B、誤差バッファ56B、及び拡散フィルタ57Bを有する。
【0041】
図10に示す第3の実施形態におけるハーフトーン処理部20は、入力画素値に応じた閾値制御を行う。閾値制御部72は、エントリ数が256のルックアップテーブルであり、入力ポート24より入力される入力画素値に応じて、該当するエントリに格納されている値を出力する。量子化部21では、加算器52が、閾値制御部72の出力と閾値補正値67とを加算し、加算結果を量子化閾値62Aとして出力する。また、参照量子化部23では、閾値制御部72の出力がそのまま量子化閾値62Bとして用いられる。これにより、入力画素値に応じた閾値制御を実現することができる。また、量子化部21と参照量子化部23とでは同じルックアップテーブルの値により量子化時の閾値を制御している。そのため、複数のバンドで重複している部分(重複領域内)の各画素について、第kの参照量子化部23−kで算出される量子化値63Bと、第(k+1)の量子化部21−(k+1)で算出される量子化値63Aとは同一となる。すなわち、参照量子化部23より供給される量子化値63Bを用いて、量子化部21における量子化閾値62Aを制御すれば、第1の実施形態と同様の効果が得られる。
【0042】
第3の実施形態によれば、閾値制御部72を設けることで、入力画素値に応じた閾値制御を実現することができる。また、第1の実施形態と同様に、量子化処理対象のバンドにて接合先のバンドと重複している部分を量子化部21で量子化する場合には、参照量子化部23の量子化結果を参照して、量子化結果が近づくように量子化閾値を補正する。これにより、分割画像の境界に近づくに従って、徐々に境界を挟んだ接合先の領域のドットパターンに近づけることができ、接合後の画像における境界部分(画像の継ぎ目部分)を滑らかにしてスジの発生を防止し画質劣化を防止することができる。
【0043】
なお、本実施形態では、入力画素値に応じた閾値制御を行ったが、他の制御方法と組み合わせても良い。例えば、入力画素の座標(量子化処理対象の画素位置)に応じた閾値制御を行っても良いし、入力画素に付属するメタデータに応じた閾値制御を行っても良い。
【0044】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。
第4の実施形態における画像処理装置は、ハーフトーン処理部を除いて第1の実施形態と同様であるので、重複する説明は省略する。図11は、第4の実施形態におけるハーフトーン処理部の構成例を示す図である。図11において、80はハーフトーン処理部、81は第1の量子化部、82は補正部、83は第2の量子化部、84はマルチプレクサ、85は入力ポート、86及び87は量子化値出力、88は出力ポートである。第1の量子化部81は、第1の実施形態における量子化部21と同様である。第1の量子化部81では、分割画像における第1の領域の画素データを量子化するとき、量子化値出力87を参照し、第2の量子化部83の量子化結果に第1の量子化部81の量子化結果が近づくように誤差拡散処理に係るパラメータが補正部82より制御される。第2の量子化部83はディザマトリクス法による2値化処理を行う。
【0045】
本実施形態における入力画像の一例を図12に示す。入力画像は画像の属性に応じて領域91、領域92、領域93に分類され、領域91は誤差拡散法により2値化し、領域93はディザマトリクス法により2値化するものとする。隣接する領域に対して異なる量子化手法で量子化すると、領域の継ぎ目部分において処理の不連続性に起因するスジが発生する。そのため、領域92については、領域91の量子化結果のパターンと領域93の量子化結果のパターンとが滑らかに接続されるような2値化処理を行う。つまり、本実施形態では、領域91と領域92とからなる部分を第1の分割画像(バンド)として量子化処理し、領域92と領域93とからなる部分を第2の分割画像(バンド)として量子化処理する。
【0046】
外部から入力ポート85へ入力画像をラスタ走査し順次入力するとする。領域91に対しては、第1の量子化部81により量子化する。このとき、第1の量子化部81では、第2の量子化部83の量子化値出力87を参照した補正は行わない。マルチプレクサ84は、第1の量子化部81の量子化値出力86を選択して、出力ポート88から外部に出力する。また、領域92に対しては、第1の量子化部81及び第2の量子化部83により量子化する。このとき、第1の量子化部81では、第2の量子化部83の量子化値出力87を参照して、第1の量子化部81の量子化値出力86が量子化値出力87に近づくような補正を行う。このとき、領域93に近づくに従って補正を強くする。マルチプレクサ84は、第1の量子化部81の量子化値出力86を選択して、出力ポート88から外部へ出力する。また、領域93に対しては、第2の量子化部83により量子化する。マルチプレクサ84は、第2の量子化部83の量子化値出力87を選択して、出力ポート88から外部に出力する。このようにすることで、領域92の量子化結果は、領域91の量子化結果のパターン及び領域93の量子化結果のパターンに滑らかに接続させることができる。
【0047】
第4の実施形態によれば、異なる量子化方法を適用する画像に対して、1つの量子化部で生成した量子化値を参照して、別の1つの量子化部の処理パラメータを補正する。これにより、画像を異なる複数の量子化手法で量子化した場合に画質劣化を引き起すスジを消すことができる。
【0048】
なお、前述した各実施形態における画像処理装置では、分割画像の数(バンド数)と同数のハーフトーン処理部を設けるようにしているが、同じでなくとも良い。例えば、分割画像の数より少ない数の複数のハーフトーン処理部を設けるようにしても良く、この場合にはハーフトーン処理部の数に応じて、分割画像を複数の組に分割し、各組毎に処理を行えばよい。
【0049】
(本発明の他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、前述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【0050】
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【0051】
10…分割処理部、20…ハーフトーン処理部、21…量子化部、22…補正部、23…参照量子化部、30…接合処理部

【特許請求の範囲】
【請求項1】
m値画像をn値画像(m及びnは整数、かつ2≦n<m)に量子化する画像処理装置であって、
複数の分割画像に分割された前記m値画像を、前記分割画像毎に量子化処理する画像処理手段を備え、
前記画像処理手段は、
前記分割画像における第1の領域について画素値をn値化する第1の量子化手段と、
前記第1の領域を含む前記分割画像における第2の領域について、前記第2の領域のうち前記第1の領域を除いた部分の画素値をn値化し、当該部分のn値化により伝搬された誤差を用いて前記第1の領域の画素値をn値化する第2の量子化手段とを有し、
前記第2の量子化手段は、前記第1の領域について画素値をn値化する場合に、前記第1の量子化手段での量子化結果と前記第2の量子化手段での量子化結果とが近づくように、前記第1の量子化手段での量子化結果又は中間データを用いて量子化処理に係るパラメータを補正することを特徴とする画像処理装置。
【請求項2】
前記第2の量子化手段は、量子化処理対象の画素の位置に応じて、前記パラメータを補正する強さを変えることを特徴とする請求項1記載の画像処理装置。
【請求項3】
前記第2の量子化手段は、量子化処理における閾値を補正することを特徴とする請求項1又は2記載の画像処理装置。
【請求項4】
前記第2の量子化手段は、量子化処理される画素値を補正することを特徴とする請求項1又は2記載の画像処理装置。
【請求項5】
前記m値画像を前記複数の分割画像に分割する分割処理手段を備え、
前記分割画像の各々は他の分割画像と重複する領域を有し、前記第1の領域は前記重複する領域であることを特徴とする請求項1〜4の何れか1項に記載の画像処理装置。
【請求項6】
複数の前記画像処理手段を有し、複数の分割画像に係る量子化処理を並列して行うことを特徴とする請求項1〜5の何れか1項に記載の画像処理装置。
【請求項7】
前記第2の量子化手段は、前記第2の領域を誤差拡散法によりn値化することを特徴とする請求項1〜6の何れか1項に記載の画像処理装置。
【請求項8】
前記第1の量子化手段は、所定の値を初期誤差として前記第1の領域を誤差拡散法によりn値化することを特徴とする請求項1〜7の何れか1項に記載の画像処理装置。
【請求項9】
前記分割画像の各々は一部が他の分割画像と重複するように分割されており、
前記初期誤差は、前記第1の領域と同じ画素を含む他の分割画像の対応する領域をn値化する場合の初期誤差と同一であることを特徴とする請求項8記載の画像処理装置。
【請求項10】
前記第2の量子化手段は、接合後における隣接する前記分割画像との境界となる前記第1の領域の境界に対して遠い側から近い側にむかって強くするように前記パラメータを補正する強さを段階的に変えることを特徴とする請求項2記載の画像処理装置。
【請求項11】
m値画像をn値画像(m及びnは整数、かつ2≦n<m)に量子化する画像処理方法であって、
複数の分割画像に分割された前記m値画像を、前記分割画像毎に量子化処理する画像処理工程を有し、
前記画像処理工程は、
前記分割画像における第1の領域について画素値をn値化する第1の量子化工程と、
前記第1の領域を含む前記分割画像における第2の領域について、前記第2の領域のうち前記第1の領域を除いた部分の画素値をn値化し、当該部分のn値化により伝搬された誤差を用いて前記第1の領域の画素値をn値化する第2の量子化工程とを含み、
前記第2の量子化工程では、前記第1の領域について画素値をn値化する場合に、前記第1の量子化工程での量子化結果と前記第2の量子化工程での量子化結果とが近づくように、前記第1の量子化工程での量子化結果又は中間データを用いて量子化処理に係るパラメータを補正することを特徴とする画像処理方法。
【請求項12】
m値画像をn値画像(m及びnは整数、かつ2≦n<m)に量子化する画像処理をコンピュータに実行させるためのプログラムであって、
複数の分割画像に分割された前記m値画像を、前記分割画像毎に量子化処理する画像処理ステップをコンピュータに実行させ、
前記画像処理ステップは、
前記分割画像における第1の領域について画素値をn値化する第1の量子化ステップと、
前記第1の領域を含む前記分割画像における第2の領域について、前記第2の領域のうち前記第1の領域を除いた部分の画素値をn値化し、当該部分のn値化により伝搬された誤差を用いて前記第1の領域の画素値をn値化する第2の量子化ステップとを含み、
前記第2の量子化ステップでは、前記第1の領域について画素値をn値化する場合に、前記第1の量子化ステップでの量子化結果と前記第2の量子化ステップでの量子化結果とが近づくように、前記第1の量子化ステップでの量子化結果又は中間データを用いて量子化処理に係るパラメータを補正することを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−50015(P2012−50015A)
【公開日】平成24年3月8日(2012.3.8)
【国際特許分類】
【出願番号】特願2010−192727(P2010−192727)
【出願日】平成22年8月30日(2010.8.30)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】