JP3974271B2 - 画像処理方法及び画像処理装置 - Google Patents
画像処理方法及び画像処理装置 Download PDFInfo
- Publication number
- JP3974271B2 JP3974271B2 JP30001598A JP30001598A JP3974271B2 JP 3974271 B2 JP3974271 B2 JP 3974271B2 JP 30001598 A JP30001598 A JP 30001598A JP 30001598 A JP30001598 A JP 30001598A JP 3974271 B2 JP3974271 B2 JP 3974271B2
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- conversion
- value
- image
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
この発明は、入力画像に対して異なる解像度の出力画像を得る画像処理方法及びそれを用いた画像処理装置に関するものである。
【0002】
【従来の技術】
従来、画像入出力機器においては機器固有の入力あるいは出力解像度を有しており、各機器がLANや公衆回線を用いてネットワーク化されて使用される場合に入力された画像を出力形式に変換するあるいは出力用画像を別の出力機器用形式に変換する際、オリジナルの多階調画像に対して対象の出力解像度に合わせて解像度変換して出力していた。例えば、ある2値出力が可能なプリンタで出力した画像データを出力解像度の異なる別の2値出力が可能なプリンタで出力する場合、プリンタのホストとなる計算機上でオリジナルの多階調画像に対して解像度変換を実施した後、再度2値化処理を行うことで同じサイズの出力物を得ていた。
【0003】
これに対し、一旦形成された2値画像に対して解像度変換を直接行い別の解像度の画像データを生成する方法が特開平8−7092号公報に示されている。
特開平8−7092号公報に示される解像度変換方法について図面を参照しながら説明する。
図21は、例えば上述した解像度変換方法を用いた解像度変換装置を示す機能ブロック図である。
図21において、115はパラレル−シリアル変換回路やカウンタ等で構成されたデータ個数M倍ブロック(シリアル出力タイミングを縮めたり伸ばしたりすることでデータ個数をM倍する。)、116は加算器やカウンタ等で構成されデータの端よりN個ずつ区切って1(黒画素に該当する)をカウントするカウントブロック、117は乗算ブロック、118は副走査方向の変換に関連する重み係数W1を設定するW1レジスタブロック、119は副走査方向の変換に関連する重み係数W2を設定するW2レジスタブロック、120は副走査方向の変換に関連する重み係数W3を設定するW3レジスタブロック、121は加算ブロック、122は誤差拡散処理特有の模様を目立たなくするために、ランダムなわずかな値を設定する3ドット×3ドット付加パタンレジスタブロック、123は多値データをスレッショルド値Tと比較して黒か白かを決定する2値化ブロック、124は減算ブロック、125は誤差拡散の拡散係数を決定する拡散係数ブロック、126は2値化後の誤差を記憶しておく誤差メモリブロックを示している。
【0004】
次に、200dpi(dpi:Dot Per Inch)の画像データを300dpiに変換する場合を例にとって動作を説明する。
始めに、入力された画像データを主走査方向に対して3/2倍に増加させる。即ち、主走査方向に原データの個数を3倍にする。例えば、入力画素数が200個の場合これにより600個に増加する。次に、増加させたデータを端から順に2個ずつに区切って、その中の黒の数をカウントする。2個ずつに区切ったので、カウント結果は0,1,2のいずれかの多値データになる。こうして先ほどの600個のデータは300個の多値データになる。
【0005】
副走査方向も同様の考え方であるが、主走査方向の計算と同時に副走査方向の計算を行う。これに際し、重み係数W1、W2、W3及びINDEXを使用する。INDEXはW1の係数をかけるラインが原ラインの何番目に該当するかを表し、W2の係数をかけるラインはINDEX+1となり、W3に対してはINDEX+2となる。
【0006】
上記のように主走査方向の計算と同時に副走査方向の計算も行い、求められた変換後の多値データを再度黒か白かの2値データに再度誤差拡散法を用いて変換する。誤差拡散法とは、この倍率の場合、0,1,2の多値データのうちスレッショルドを1とし、1以上ならば黒とすると、多値データが1の時に真の黒2と同じ判定になるので、判定誤差は1−2=−1となる。この誤差を周辺ドットに拡散するのである。この場合は、実際よりも黒く判定したので周辺を白くする方向にずらすことで全体のバランスをとろうというものである。実際は、前ラインと1ドット前の誤差データをメモリ等に保存しておき、左斜め上、真上、右斜め上、左横の誤差データにそれぞれ拡散係数(この係数は合計して1となるように選択している)をかけて、変換後の多値データに加算する。そして、再2値化し、判定誤差をメモリに保存する。
【0007】
【発明が解決しようとする課題】
上述したような従来の解像度変換を伴う画像処理方法においては、例えば解像度変換前の2画素が共に黒画素である場合、高解像度化後に生成されるこの2画素間の複数画素は全て黒画素(多値レベルで2)に判定され、再生後の画像に黒画素領域が連続して発生し画質が劣化するという課題があった。また、この対策を含めて3ドット×3ドット付加パタンレジスタブロック122を用いてランダムにわずかな値を加算しているが、これにより付加されるランダムノイズによって所領域の解像性が劣化するほか、画像全体がノイジーになり階調性も損なわれるという問題があった。
【0008】
この発明は、前述した問題点を解決するためになされたもので、解像性及び階調性に優れた2値画像ひいては多値画像の解像度変換を行うことができる画像処理方法及び画像処理装置を実現することを目的とする。
【0009】
【課題を解決するための手段】
この発明に係る画像処理方法は、入力されるM値(M≧2、Mは自然数)の画像データを入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換出力する画像処理方法であって、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値を加算した演算結果を所定のしきい値に対してN値化し、N値化信号と上記演算結果との差分値を当該画素における差分信号として生成し、未変換の周辺画素における変換時に用いることを特徴とするものである。
【0010】
また、この発明に係る画像処理装置は、入力される処理前のM値(M≧2、Mは自然数)の画像データを入力するための入力インターフェースと、上記入力画像を当該入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換する制御手段と、上記制御手段により変換された出力画像を出力するための出力インターフェースと、上記制御手段からアクセス可能なメモリとを備え、上記制御手段は、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値を加算した結果を所定のしきい値に対してN値化し、N値化信号とD2との差分値を当該画素における差分信号として上記メモリの誤差バッファ領域に記憶させて、未変換の周辺画素における変換時に用いることを特徴とするものである。
【0011】
また、上記制御手段は、一方の走査方向に対しては、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を多値データとして演算して求め上記メモリのテンポラリバッファ領域に記憶させると共に、他方の走査方向に対しては、上記メモリのテンポラリバッファ領域に記憶された多値データを変換後の画素位置における変換前の各隣接画素値として参照することを特徴とするものである。
【0012】
また、上記メモリは、変換後の画素位置と変換前の隣接画素位置の相対画素位置を第一のインデックスとすると共に、入力画像の各M値に対するMの2乗個の値を第二のインデックスとして、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を出力値とする補間信号テーブルを記憶してなる補間信号バッファ領域を有し、上記制御手段は、上記第一のインデックス及び第二のインデックスを指定して変換前の隣接画素における画素値の距離に対する重み付け加算結果を参照することを特徴とするものである。
【0013】
また、上記制御手段は、所定のフィルタリング処理により入力画像の局所領域の特徴量を検出し、検出された画像の特徴量に応じて、変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値の算出時に参照する周辺画素範囲及び距離に対する重み付け係数を適応的に変化させることを特徴とするものである。
【0014】
また、上記制御手段は、入力参照画素間に存在する複数の走査方向に対する変換処理を1画像走査内で同時に行うことを特徴とするものである。
【0015】
また、上記制御手段は、変換時の参照画素数として2画素以上を参照することを特徴とするものである。
【0016】
また、上記制御手段は、変換後の画素及び変換前の参照画素の各々の重心間の距離に対する重み付け加算を行うことで新規画素を生成することを特徴とするものである。
【0017】
さらに、上記制御手段は、変換前の画素を変換後の各画素に投影した際の影響を及ぼす面積を元にして演算を行うことで新規画素を生成することを特徴とするものである。
【0018】
【発明の実施の形態】
実施の形態1.
以下、この発明の実施の形態1を図について説明する。
実施の形態1では、解像度変換前の画像がモノクロ2値データであり、例えば400dpiの記録解像度を持つ印字装置を用いて所定サイズで印字するために形成されており、これを360dpiの記録解像度を有するモノクロ2値記録可能なプリンタで同じ寸法の印字物として得る場合について説明する。すなわち、入力されるM値(M≧2、Mは自然数)の画像データを入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換出力する場合の説明であり、この実施の形態1では(M,N)=(2,2)の場合について説明する。
また、画像の解像度変換方法に関しては、始めに主走査方向の解像度変換を実施した後、副走査方向の解像度変換を行う場合について説明する。
【0019】
図1はこの発明の実施の形態1に係る画像処理装置の全体構成を示すブロック図である。
図1において、1は装置全体の動作を制御するとともに画像処理ソフトウェアを実行するCPU(中央演算装置)、2は画像処理装置に対して入力される処理前の画像データの受信制御を行うための例えばSCSI(Small Computer System Interface)やLAN(Local Area Network)等の入力インタフェース、3は画像処理後の画像データを送信するためのプリンタ等の機器と直接あるいはLAN等を介して間接的に接続される出力インタフェース、4は入出力画像用ラインバッファとしての入力画像バッファと出力画像バッファ、誤差用ラインバッファとしての誤差バッファ、画像処理用テンポラリバッファ及び制御領域を含むCPUからアクセス可能なメモリである。
【0020】
次に、この実施の形態1の動作について説明する。
画像の解像度変換を行うために画像データは入力インタフェース2を介して入力される。入力された画像データはメモリ4における入力画像用バッファ領域に順次蓄積される。
【0021】
図2はCPU1上で動作する本実施の形態1の特徴である画像の解像度変換方法を示すフローチャートであり、そのうち主走査方向に対する解像度変換方法を示している。以下、図2に従って処理手順を説明する。
【0022】
また、図3は変換処理の制御変数として用いる変換前後の画像における主/副走査画素数を示した図である。画像データが入力されると、主走査方向1ライン毎に主走査方向の解像度変換を開始する。この時、400dpiの画像を360dpiに変換する場合の変換後に形成される画素と変換前の画素における位置関係を図4に示す。400dpiの画像データを、出力サイズを変更せずに360dpiに変換することは主走査方向及び副走査方向の画素数を9/10に減少させることである。
【0023】
本実施の形態1では、図4に示す新規生成画素は形成画素位置に隣接する変換前の2画素から、重心距離の比に応じて線形に濃度を補間する線形補間法の概念を使用する。従って、新規生成画素値は左右の隣接画素値に対して距離の関数として表現され、この内分比のセットは10画素毎の繰り返しになる。本実施の形態1では、演算の簡略化のため、これら10組の内分比のセットを予めメモリ4における制御領域に格納しておく。
【0024】
解像度変換を開始すると、図2のステップST1でライン制御変数(図3の(y、j))の初期化を行い、出力画素制御変数(図3の(x、i))及び内分比読出しポインタの初期化を行う(ステップST2)。
【0025】
次に、画素値参照のために変換前における左右の画素値をメモリ4における入力画像バッファから順次読み出す(ステップST3、ステップST4)。ある参照画素セットを用いて複数の画素を生成する場合、最初の画素生成時は参照画素値の読出しを行うが2画素目以降の生成時は新たな読み出しは行わない。
【0026】
次に、内分比セットのうち該当する1つを読み出す(ステップST5)。例えば1画素目の処理の場合は前記内分比の10セットのうちの最初のセット(0.0,1.0)を読み出す。次に、以前の画素における解像度変換処理時に発生しメモリ4の誤差バッファに格納されている量子化誤差に距離に対して重み付け加算した値を算出する(ステップST6)。ここで、誤差を参照する範囲と重み付け係数の組合せの例を図5に示す。具体的には、図における各参照画素位置で発生した誤差を該当する係数をかけて加算する。
【0027】
続いて、これらの近傍画素で発生した誤差を考慮して新規画素値を式(1)に従って線形補間法により演算する(ステップST7)。尚、新規画素値をo_tmp、参照する左右の画素値をi_pel[n]及びi_pel[n+1](i_pel[n]={0,1}、0≦n<i)、ステップST6で求めた累積誤差値をerrとする。また、内分比のセットは一方の値をK[m](0≦m<10)とし、その場合、他方は1.0−K[m]で求まる。
【0028】
すなわち、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値(K[m]×i_pel[n]+(1−K[m])×i_pel[n+1])と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値errを加算した結果o_tmpを演算する。
【0029】
次に、演算結果o_tmpが所定のしきい値thに比べて大きい場合、生成される出力画素値は1(黒)とし、しきい値th以下の場合は0(白)とする(ステップST8〜ST10)。この出力画素値は、主走査方向の変換処理後に行う副走査方向の変換処理のために、メモリ4におけるテンポラリバッファに保存される(ステップST11)。
【0030】
次に、生成画素値o_tmpと出力画素値の差分を、当該画素の量子化により発生した誤差としてメモリ4における誤差バッファに格納する(ステップST12〜ST13)。
すなわち、演算結果o_tmpを所定のしきい値に対してN値化し、N値化信号とo_tmpとの差分値を当該画素における差分信号として生成し、未変換の周辺画素における変換時に用いる。
【0031】
以上で1画素の生成過程が終了するが、1ライン分の全ての画素生成が終了したか否かを判定し(ステップST14)、終了していなければ出力画素制御変数を1つインクリメント、即ち主走査方向に1画素分だけ生成対象画素位置をずらしてステップST3〜ステップST13の処理を繰り返し行う。
【0032】
また、ステップST14の判定で1ライン分の生成が終了したと判断した場合は、全ラインの全画素の生成が終了したか否かを判定し(ステップST16)、全ラインの処理が終了していない場合はライン制御変数を1だけインクリメントし(ステップST17)、ステップST2以降の手順で副走査方向の次ラインの処理を継続して実施する。
【0033】
また、全ラインの全画素に関して主走査方向の解像度変換を終了した場合、メモリ4のテンポラリバッファには主走査方向のみ解像度変換が行われた2値画像データが保存されている。引き続き実施する副走査方向の解像度変換を考えた場合、図2におけるループ制御変数である画素制御変数及びライン制御変数を主走査方向に対する解像度変換時と入れ替えて同様の処理を行えばよい。即ち、図3において変換前及び変換後の画像を90度回転したものを入力画像として図2の処理を行うことと等価である。
【0034】
このようにして得られた主走査方向/副走査方向とも解像度変換が施された出力画像データはメモリ4の出力画像バッファのデータ領域に一時記憶され、所定のタイミングで出力インタフェース3を介して出力される。
以上の方法を用いることで、2値画像データを高解像度かつ階調性を損なうことなく解像度変換することが可能である。
【0035】
上述した実施の形態1では、2値画像データを解像度の異なる2値画像データに変換する例について説明したがこの限りでない。即ち、図2のステップST8〜ST10の量子化数は2である場合を説明したが、複数のしきい値を持たせ出力値を複数にすることで多値出力が可能である。例えば、3値出力を想定した場合、画像データ出力値として、1(黒)、0(白)のほかに0.5(グレイ)を設定し、式(1)の演算結果o_tmpを2つのしきい値th[1]=0.33、th[2]=0.66と比較することで容易に構成できる。このようにして、出力値をN値にする場合、o_tmpに対するしきい値を(N−1)個持たせればよい。
【0036】
また、入力画像データが多値の場合に関しても式(1)がそのまま適用可能であるため、同様に実現可能である。すなわち、入力画像値が3値の場合、i_pel[n]={0,0.5,1}のごとく入力画像が3つの要素を持つことになり、式(1)の演算において、新規画像は2値の場合と同様に参照画像との距離及び画素値の関数になる。このようにして、入力値がM値である場合、i_pel[n]={0,1/(M−1),2/(M−1),・・・,(M−2)/(M−1),1}が入力されることで一般化が可能である。
【0037】
また、実施の形態1では、400dpiの入力画像を360dpiに変換する場合について記述したが、この限りでなく、任意の入出力解像度の組合せが可能である。例えば、400dpiの入力画像を720dpiに解像度変換する場合の繰り返し周期を図6に示す。図6から出力画素9画素毎の繰り返し周期であることが見て取れる。即ち、入出力解像度を最大公約数で割った値に図4の内分比セットの繰り返し周期が含まれる(本実施の形態1では10:9で繰り返し周期は出力画素10画素毎)ため、メモリ4の制御領域には常に1周期分の内分比を保持しておけばよい。また、入出力解像度が公約数を持たない場合については内分比を逐次演算により求めるようにしてもよい。さらに、演算速度をさほど求めずに逆にメモリ使用量に制約がある場合は、内分比セットをメモリ4に持たずに常時演算により算出する方法をとってもよい。
【0038】
また、実施の形態1では、処理対象画素近傍における量子化誤差演算範囲と重み係数を図5のように定めたがこの限りでない。殊に各重み係数の分子及び分母を2のべき乗で表現することにより、図2におけるステップST6の誤差演算に含まれる乗除算をビットシフト演算で置きかえることができる。一般的にCPUの演算性能は乗除算の負荷が他の演算に比較して非常に大きいため、これにより処理全体の高速化を図ることができる。
【0039】
また、実施の形態1では、式(1)を含めた演算をすべて小数で行っているがこの限りでなく、例えば入出力値の取りうるダイナミックレンジ0.0〜1.0を整数値0〜255までに割り当てて整数演算で行うようにしてもよい。前述の説明と同様一般的にCPUは浮動小数点演算を行う際演算精度を確保するために整数演算に比べてビット長を長く取るため、演算器周辺の入出力を含めて時間がかかる傾向にある。これに対して演算を整数化することにより、視覚的にはほとんど差異を感じない程度の画質劣化を伴うものの、短時間に処理が可能という利益を得ることができる。
【0040】
また、実施の形態1では、画像処理装置としてCPU1上で動作するソフトウェアとしての実現形態を示したが、各処理ブロックを電子回路化して実現することも可能であるのはいうまでもない。
【0041】
実施の形態2.
次に、この発明の実施の形態2を図について説明する。
実施の形態2では、実施の形態1と同様、解像度変換前の画像がモノクロ2値データであり、例えば400dpiの記録解像度を持つ印字装置を用いて所定サイズで印字するために形成されており、これを360dpiの記録解像度で同サイズの印字物として得る場合について説明する。また、画像の解像度変換方法に関しては、主走査方向の解像度変換を実施した後、副走査方向の解像度変換を行う場合について説明する。この実施の形態2における画像処理装置としては、図1に示す実施の形態1に係る画像処理装置と同様である。
また、図7は実施の形態2の動作において特徴的である主走査方向の解像度変換方法を示したフローチャートである。
【0042】
次に、動作について説明する。
主走査方向の解像度変換にあたり、ステップST1〜ST5までの演算に伴う準備動作は実施の形態1と同様である。ステップST18において、式(2)に従って解像度変換を実行する。
【0043】
すなわち、実施の形態2における主走査方向の解像度変換方法は隣接画素を用いた線形補間法にほかならず、演算結果o_tmpは多値データとして左右画素値の距離に応じた重み付き加算結果として求められる。o_tmpはしきい値と比較されることなく、順次メモリ4におけるテンポラリバッファ内に記憶される(ステップST19)。この時、メモリ4におけるテンポラリバッファにおける1画素分のデータ領域は多値データ用に多ビットで確保する必要がある。このようにしてステップST20〜ST23に到る画素単位及び行単位の繰り返し演算を行い主走査方向の解像度変換を完了する。
【0044】
次に、副走査方向の解像度変換を行う。副走査方向の解像度変換時は、図2に示すフローチャートと同等の処理手順を用いることにより、量子化誤差を考慮した解像度変換及び2値化処理を行う。ここで、主走査方向の解像度変換時にメモリ4内のテンポラリバッファに記憶される主走査方向解像度変換結果データは量子化されない多値データであるため、副走査方向の解像度変換に使用する参照画素は多値データとなる点が実施の形態1とは異なっている。
【0045】
以上の方法を用いることにより、解像度変換前の原画像により忠実な階調再現性を備え、解像性及び階調性に優れた解像度変換を行う画像処理方法及び画像処理装置を構成することができる。
【0046】
実施の形態3.
次に、この発明の実施の形態3を図について説明する。
図8は実施の形態3の構成例を示すブロック図である。
図8において、5は内部メモリである。図1との相違は、メモリ5内に補間信号バッファを備えている点である。
【0047】
以下に、動作について説明する。
実施の形態3における動作は、主走査方向における解像度変換方法については図2または図7のフローチャートと同様である。また、副走査方向の解像度変換方法については図2のフローチャートと同様である。実施の形態3においては、図2におけるステップST7の誤差を考慮した線形補間演算の手法が異なる。以下、ステップST7の詳細な演算方法について説明する。
【0048】
前述の通り、解像度変換時の変換前の画素と変換後に生成される画素位置に関しては、変換前の解像度と変換後の解像度間の最大公約数で求められる周期性がある(図4及び図6)。また、入力される画像データがM値であることから、式(1)及び式(2)における第1項及び第2項における距離係数K[m]及び入力画素値i_pel[n]、i_pel[n+1]の組合せは高々有限であることがわかる。これらの演算を処理実行時に逐次実行する場合処理負荷が多大になることを回避するために、変換前及び変換後の解像度毎に演算結果テーブルを作成し、メモリ5内の補間信号バッファに格納しておく。
【0049】
図9は例えば400dpiの2値画像を360dpiに解像度変換する場合の上記演算結果テーブルとしての補間信号テーブルを示している。各値は説明の都合上小数点第3位において四捨五入した結果を表示している。図9において、列(横方向)は2つの入力参照画素値の組合わせを表す第一のインデックス値(例えば入力M値がM=2である場合、表に示す22=4通り)を示す。また、行(縦方向)は2つの入力参照画素位置と出力画素位置の内分比であり、1処理ライン内で繰り返しループする相対画素位置pを表す第二のインデックス値(本実施の形態の例では0≦p≦8)を示す。ここでは、処理のループ制御変数である処理対象画素の座標から得られるp値及び入力参照画素値i_pel[n]及びi_pel[n+1]をそれぞれインデックス値としてメモリ5内の補間信号バッファを参照することによりて式(1)あるいは式(2)の第1項及び第2項が出力値として得られる。
【0050】
以上のような方法を用いることにより、テーブルを用いることで演算を省くことができ、解像性及び階調性に優れた解像度変換を高速に実行可能な画像処理装置を構成することが可能となる。
【0051】
実施の形態3においては、説明の便宜上、相対画素位置pにおける入力(i_pel[n]、i_pel[n+1])に対する第1項及び第2項の組合せの値を参照可能なテーブルを示しているが、この限りでない。即ち、式(1)及び式(2)では参照した2つの値を最終的に加算するため、予めこれらの加算結果をテーブル化してもよい。この場合、テーブルメモリに使用する記憶領域を低減できるほか、式(1)あるいは式(2)で画素毎に実行される加算回数を減らすことでさらに高速化される効果がある。
【0052】
また、実施の形態3においては、入出力値となる2値を0または1に想定し、テーブルを構成する各出力値を小数点を用いた数値で表現しているが、この限りでなく、例えば入出力値を8ビット化し(0または255)、式(1)または式(2)の演算を整数化することで図8のテーブルにおける各値を整数化することができる。これにより、式(1)または式(2)における演算を高速化するとともに、テーブルに使用するメモリ容量を抑制することが可能である。
【0053】
実施の形態4.
次に、この発明の実施の形態4を図について説明する。
図10は本実施の形態4を実現する画像処理装置を示したブロック図である。図10において、6は内部メモリであり、図1との差異はメモリ内ブロックに誤差配列バッファを有している点である。また、本実施の形態4におけるフローチャートの一例を図11に示す。
【0054】
次に動作について説明する。
図11におけるステップST1〜ST5までの初期化及び各種設定手順については実施の形態1と同様である。本実施の形態4では、メモリ6内の画像入力バッファにおける数ライン分の画像データを参照して処理対象画素周辺における画像特徴量抽出処理を所定のフィルタリング処理によって行い、処理対象画素が線分上にあるか否かを判定する(ステップST24)。線分検出手段の一例を図12に示す。
【0055】
図12は、注目画素を中心とした線分抽出用フィルタを3×3画素で構成した例である。ここで、注目画素とは変換後の処理対象画素に近接する2画素のいずれか一方を指す。主走査方向の解像度変換時は図12(a)に示す各フィルタ係数を用いて入力画像に対する畳み込み演算を行い、特徴量として評価値EVを算出する。具体的には、式(3)のようになる。
【0056】
【数1】
【0057】
ここで、Dij(1≦i,j≦3)は注目画素D22を中心とした8近傍の各入力画素値を示す。入力画像が2値である場合、式(3)により注目画素を通る水平線分が存在する(ベタ黒領域を含む)、即ちD21、D22、D23のみが1である場合EV=3となる(ステップST25)。
【0058】
この場合、変換後に生成される画素についても線分中に含まれる領域であるため、例えば図13上に示す参照範囲に対して図13下に示す重み係数を用いて周辺画素における誤差演算を行う(ステップST26)。
【0059】
続いて、式(1)による解像度変換演算を行い(ステップST7)、以下実施の形態1と同様の手続きで主走査方向の解像度変換を完了する。
【0060】
また、副走査方向の解像度変換方法については画像の縦横の制御変数を入れ替えて同様の手順で処理を実行する。この場合、ステップST24の画像特徴量検出時は図12(b)のフィルタ係数を用い、式(3)を使用した垂直方向線分検出を行う。
【0061】
以上のように、所定のフィルタリング処理により入力画像の局所領域の特徴量を検出し、検出された画像の特徴量に応じて、変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値の算出時に参照する周辺画素範囲及び距離に対する重み付け係数を適応的に変化させるようにして解像度変換を行うことにより、解像性及び階調性に優れたものとなり、なおかつ画像中に含まれる線分上に量子化誤差伝播に伴うジッタを生じることなく先鋭な線分の再現が可能な画像処理装置を構成することができる。
【0062】
実施の形態4においては、画像特徴量検出として水平及び垂直方向の線分を検出する例を示したがこの限りでなく、図12のフィルタ係数配列を対角方向にのみ1を並べることにより斜め方向線分検出が可能である。また、フィルタ係数配列として3×3画素マトリクスからなるものを用いたが、これ以外のサイズのフィルタ係数配列を使用しても同様の効果が得られるのは言うまでもない。
【0063】
また実施の形態4においては、走査方向の線分検出手段としてマトリクス状のフィルタリングを行う例を示したがこの限りでなく、走査方向の線分検出に限る場合、変換前の入力画素1画素毎に黒画素が連続する場合その連続数RをカウントしR≧th2(th2:所定のしきい値)である場合に注目画素は線分上にあると判定することにより同様の効果が得られる。この場合、線分検出は走査方向に限られるがフィルタリングをする場合に比べて入力画像バッファに蓄積する入力画像のライン数を減少させることができる。
【0064】
実施の形態5.
以下、この発明の実施の形態5を図について説明する。
図14は実施の形態5における画像処理装置の全体構成を示すブロック図である。図14において、7は内部メモリであり図1におけるメモリ4の構成と異なる点は、テンポラリバッファ領域がないことである。
【0065】
また、図15は実施の形態5における変換後の生成画素と変換前の参照画素位置を示す模式図である。また、図16は図15における画素位置関係に関して、特定の画素生成処理時における詳細な位置関係を示した図である。さらに、図17は実施の形態5における処理手続きを示したフローチャートである。
【0066】
以下、図17のフローチャートに基づいて動作について説明する。
ステップST1〜ST3における初期化処理は実施の形態1と同等であるが、本実施の形態5においては主走査方向及び副走査方向の解像度変換処理を同時に実行するため、ループ制御変数が制御する処理画素及び処理ラインは、主走査方向及び副走査方向の双方を兼ねている。図15より、解像度変換後の出力解像度が主走査方向および副走査方向共に同一である場合、ある処理対象画素に関する主走査方向及び副走査方向の参照画素番号及び参照画素からの内分比は同一の値をとることがわかる。
【0067】
続いて、処理対象画素に対する参照画素の読み込みを行う(ステップST27)。参照画素は図16に示すように変換後に生成される画素を囲む4画素d(x、y)、d(x+1、y)、d(x、y+1)、d(x+1、y+1)である。
【0068】
次に、内分比読出しポインタをインクリメントし内分比(t、1−t)をロードし初期設定を完了し(ステップST5)、変換後の対象画素における周辺画素の生成時に生じた量子化誤差を算出する(ステップST6)。
【0069】
続いて誤差を考慮した線形補間演算を式(4)に基づいて行う(ステップST28)。
式(4)で得られるo_tmpは、d(x、y)及びd(x+1、y)に対して主走査方向変換を実施し画素値Daを求め、d(x、y+1)及びd(x+1、y+1)に対して変換画素値Dbを求めた後、Da及びDbに対して副走査方向の解像度変換を実施した結果と同等である。
【0070】
算出したo_tmpは、実施の形態1と同等の量子化及び量子化誤差算出手続きを経て(ステップST8からST13)、1画素分の主走査及び副走査方向の解像度変換を終了する。
【0071】
以後、主走査方向に処理対象画素を移動して2ライン分の変換前画素を用い同様の処理を行い、1ライン分の主走査および副走査方向の解像度変換結果を得ると共に、参照ラインを1ラインずつずらして同様の処理を行うことにより、1画面分の解像度変換処理を完了する。
【0072】
以上のような解像度変換方法を用いることにより、解像性及び階調性に優れて、なおかつ演算用のバッファメモリを最低限の使用に抑制できる画像処理装置及び画像処理方法を構成することが可能である。
【0073】
実施の形態5においては、式(4)における解像度変換時に参照する画素セットとして同一主走査ライン上の2画素として説明したがこの限りでなく、同一副走査上の2画素を用いることでも式(4)と同じ式が導出される。
【0074】
実施の形態6.
次に、この発明の実施の形態6を図について説明する。実施の形態6における画像処理装置のブロック構成図は図1と同等である。また、処理手続きを示すフローチャートについては図2と同等の流れを汲む。本実施の形態6において実施の形態1と異なる点は、変換後画素の生成時に使用する変換前画素配列及びそれに伴う線形補間演算方法である。
【0075】
以下に、動作について説明する。
図2のステップST1〜ST3までの初期化処理は実施の形態1と同様である。ステップST4において本実施の形態6では例えば図18に示す範囲の参照画素をロードする。実施の形態1では、変換により生成される画素位置D(x,y)に対してd(x、y)及びd(x+1、y)の2画素を用いていたが、本実施の形態6においてはさらに1画素分離れたd(x−1、y)及びd(x+2、y)も併せて使用する。
【0076】
従って、ステップST7における誤差を考慮した線形補間演算は式(5)のように構成される。
式(5)は、参照画素に対して距離に比例する重み付けを行っている。
【0077】
このようにして得られるo_tmp値を所定のしきい値で量子化し(ステップST8から11)、当該画素における量子化誤差を算出し(ステップST12からST13)1画素分の主走査方向の解像度変換が完了する。
【0078】
これらの処理を、主走査方向の残りのライン及び副走査方向の全ラインに適用することにより、1画面分の解像度変換処理が終了する。
【0079】
以上のような解像度変換方法を用いることにより、解像性及び階調性に優れた画像処理装置を構成することが可能になる。とりわけ入力画像がフルカラーでないM値疑似中間調化された画像である場合、面積階調によりある画素の特徴が複数画素に分散されているため、複数画素を参照する本実施の形態6に示した方法は有効である。
【0080】
実施の形態6では、参照画素を4画素にする例を示したがこの限りでなく、要求される線形変換精度に応じて他の画素数を選択してもよく、さらにこれらの組合せにより変換精度を可変とした構成にしてもよい。
【0081】
実施の形態7.
次に、この発明の実施の形態7を図について説明する。
実施の形態7における画像処理装置を示すブロック構成図は図1と同様である。また、処理手続きを示すフローチャートを図19に示す。実施の形態7における実施の形態1との処理フローの差異は、図19におけるステップST29の誤差を考慮した投影法補間にある。
【0082】
以下に、動作について説明する。
処理の一連の初期化手続き(ステップST1〜ST5)の後、周辺画素生成時に発生した量子化誤差値を演算する(ステップST6)。続いて誤差を考慮した投影法による解像度変換を実施する(ステップST29)。
【0083】
投影法の原理について、図を用いて説明する。図20は投影法の原理を示す概念図である。線形補間法は、変換後の画素及び変換前の参照画素の各々の重心間の距離に対する重み付け加算を行うことで新規画素を生成していた。即ち、参照画素間の内分比から生成画素値を算出していたため、生成画素値の濃度分布は必ず参照画素の濃度分布値を結んだ直線上に存在していた。そのため、演算は簡易であるがなだらかな濃度変化をする領域の再現性において若干段階的な濃度変化にならざるを得ない。
【0084】
これに対して投影法は、図20に示すように変換前の参照画素を変換後の各画素に投影した際の影響を及ぼす面積を元に演算を行うため、なだらかな濃度変化により忠実に追従できるという特性をもっている。
【0085】
このように変換された画素値に対して量子化(ステップST8〜ST11)及び量子化誤差の算出(ステップST12〜ST13)を行うことにより、対象1画素の生成が完了する。
【0086】
さらに、これらの処理を残りのライン数分及び副走査方向の全ライン分行うことにより、1画面分の解像度変換が終了する。
【0087】
以上のように解像度変換を行うことにより、解像性及び階調性に優れた画像処理装置を構成することが可能になる。
【0088】
また、以上の実施の形態に示した画像処理方法及び画像処理装置は、目的に応じて各手段を組合せ使用可能なものであり、多様な目的に適した画像処理方法及びそれを用いた画像処理装置を提供することが可能である。
【0089】
【発明の効果】
以上のように、この発明に係る画像処理方法及び画像処理装置によれば、入力されるM値(M≧2、Mは自然数)の画像データを入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換出力する画像処理方法であって、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値を加算した演算結果を所定のしきい値に対してN値化し、N値化信号と上記演算結果との差分値を当該画素における差分信号として生成し、未変換の周辺画素における変換時に用いるようにしたので、階調性及び解像性に優れた高画質の解像度変換が行える効果がある。
【0090】
また、上記制御手段は、一方の走査方向に対しては、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を多値データとして演算して求め上記メモリのテンポラリバッファ領域に記憶させると共に、他方の走査方向に対しては、上記メモリのテンポラリバッファ領域に記憶された多値データを変換後の画素位置における変換前の各隣接画素値として参照するようにしたので、高画質の解像度変換を高速に実行できるという効果がある。
【0091】
また、上記メモリは、変換後の画素位置と変換前の隣接画素位置の相対画素位置を第一のインデックスとすると共に、入力画像の各M値に対するMの2乗個の値を第二のインデックスとして、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を出力値とする補間信号テーブルを記憶してなる補間信号バッファ領域を有し、上記制御手段は、上記第一のインデックス及び第二のインデックスを指定して変換前の隣接画素における画素値の距離に対する重み付け加算結果を参照するようにしたので、高画質の解像度変換を高速に実行できると共に高画質の解像度変換を最小限のメモリ使用量で実現できるという効果がある。
【0092】
また、上記制御手段は、所定のフィルタリング処理により入力画像の局所領域の特徴量を検出し、検出された画像の特徴量に応じて、変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値の算出時に参照する周辺画素範囲及び距離に対する重み付け係数を適応的に変化させるようにしたので、使用目的に応じて処理速度、使用メモリ及び解像度変換精度を設定可能であるという効果がある。
【0093】
また、上記制御手段は、入力参照画素間に存在する複数の走査方向に対する変換処理を1画像走査内で同時に行うようにしたので、高画質の解像度変換を高速に実行できると共に高画質の解像度変換を最小限のメモリ使用量で実現できるという効果がある。
【0094】
また、上記制御手段は、変換時の参照画素数として2画素以上を参照するようにしたので、高画質の解像度変換を高速に実行できると共に高画質の解像度変換を最小限のメモリ使用量で実現できるという効果がある。
【0095】
また、上記制御手段は、変換後の画素及び変換前の参照画素の各々の重心間の距離に対する重み付け加算を行うことで新規画素を生成するようにしたので、入力のM値化された疑似中間調画像の階調分布特性を良好に反映した階調再現性を有するという効果がある。
【0096】
さらに、上記制御手段は、変換前の画素を変換後の各画素に投影した際の影響を及ぼす面積を元にして演算を行うことで新規画素を生成するようにしたので、高画質の解像度変換を高速に実行できるという効果がある。
【図面の簡単な説明】
【図1】 この発明の実施の形態1に係る画像処理装置の構成を示すブロック図である。
【図2】 実施の形態1に係る画像処理手順を示すフローチャートである。
【図3】 実施の形態1に係る処理前後の画像サイズの相関を示す説明図である。
【図4】 実施の形態1に係る処理前後の画素位置の関係を示す説明図である。
【図5】 実施の形態1に係る量子化誤差参照範囲と重み付け係数を示す説明図である。
【図6】 実施の形態1に係る処理前後の画素位置の関係を示す説明図である。
【図7】 実施の形態2に係る主走査方向に対する処理手順を示すフローチャートである。
【図8】 実施の形態3に係る画像処理装置の構成を示すブロック図である。
【図9】 実施の形態3に係る補間信号テーブルを示す説明図である。
【図10】 実施の形態4に係る画像処理装置の構成を示すブロック図である。
【図11】 実施の形態4に係る処理手順を示すフローチャートである。
【図12】 実施の形態4に係る線分検出用フィルタ係数配列を示す説明図である。
【図13】 実施の形態4に係る対象画素が線分の場合の量子化誤差参照範囲と重み付け係数を示す説明図である。
【図14】 実施の形態5に係る画像処理装置の構成を示すブロック図である。
【図15】 実施の形態5に係る変換前後の画素位置の関係を示す説明図である。
【図16】 実施の形態5に係る変換前後の画素位置を示す詳細な図である。
【図17】 実施の形態5に係る処理手順を示すフローチャートである。
【図18】 実施の形態6に係る参照画素範囲を示す説明図である。
【図19】 実施の形態7に係る処理手順を示すフローチャートである。
【図20】 実施の形態7に係る投影法の原理を示す説明図である。
【図21】 従来の画像処理装置の全体構成を示すブロック図である。
【符号の説明】
1 CPU、2 入力インタフェース、3 出力インタフェース、4 メモリ、5 メモリ、6 メモリ、7 メモリ。
Claims (8)
- 入力されるM値(M≧2、Mは自然数)の画像データを入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換出力する画像処理方法であって、
変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値を加算した演算結果を所定のしきい値に対してN値化し、N値化信号と上記演算結果との差分値を当該画素における差分信号として生成し、未変換の周辺画素における変換時に用いることとし、
変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値の算出時に参照する周辺画素範囲及び距離に対する重み付けを、所定のフィルタリング処理により入力画像の局所領域の特徴量を検出し、検出された画像の特徴量に応じて、適応的に変化させる
ことを特徴とする画像処理方法。 - 入力される処理前のM値(M≧2、Mは自然数)の画像データを入力するための入力インターフェースと、
上記入力画像を当該入力画像と異なる解像度を有するN値(N≧2、Nは自然数)の出力画像に変換する制御手段と、
上記制御手段により変換された出力画像を出力するための出力インターフェースと、
上記制御手段からアクセス可能なメモリと
を備え、
上記制御手段は、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値と、該変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値を加算した結果を所定のしきい値に対してN値化し、N値化信号とD2との差分値を当該画素における差分信号として上記メモリの誤差バッファ領域に記憶させて、未変換の周辺画素における変換時に用いることとし、変換後の画素の周辺画素において発生しているN値化に伴う差分信号を距離に対して重み付け加算した値の算出時に参照する周辺画素範囲及び距離に対する重み付けを、所定のフィルタリング処理により入力画像の局所領域の特徴量を検出し、検出された画像の特徴量に応じて、適応的に変化させることを特徴とする画像処理装置。 - 上記制御手段は、一方の走査方向に対しては、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を多値データとして演算して求め上記メモリのテンポラリバッファ領域に記憶させると共に、他方の走査方向に対しては、上記メモリのテンポラリバッファ領域に記憶された多値データを変換後の画素位置における変換前の各隣接画素値として参照することを特徴とする請求項2に記載の画像処理装置。
- 上記メモリは、変換後の画素位置と変換前の隣接画素位置の相対画素位置を第一のインデックスとすると共に、入力画像の各M値に対するMの2乗個の値を第二のインデックスとして、変換後の画素位置における変換前の各隣接画素値を距離に対して重み付け加算した値を出力値とする補間信号テーブルを記憶してなる補間信号バッファ領域を有し、上記制御手段は、上記第一のインデックス及び第二のインデックスを指定して変換前の隣接画素における画素値の距離に対する重み付け加算結果を参照することを特徴とする請求項2または3に記載の画像処理装置。
- 上記制御手段は、入力参照画素間に存在する複数の走査方向に対する変換処理を1画像走査内で同時に行うことを特徴とする請求項2ないし4のいずれかに記載の画像処理装置。
- 上記制御手段は、変換時の参照画素数として2画素以上を参照することを特徴とする請求項2ないし5のいずれかに記載の画像処理装置。
- 上記制御手段は、変換後の画素及び変換前の参照画素の各々の重心間の距離に対する重み付け加算を行うことで新規画素を生成することを特徴とする請求項2ないし6のいずれかに記載の画像処理装置。
- 上記制御手段は、変換前の画素を変換後の各画素に投影した際の影響を及ぼす面積を元にして演算を行うことで新規画素を生成することを特徴とする請求項2ないし6のいずれかに記載の画像処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30001598A JP3974271B2 (ja) | 1998-10-21 | 1998-10-21 | 画像処理方法及び画像処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP30001598A JP3974271B2 (ja) | 1998-10-21 | 1998-10-21 | 画像処理方法及び画像処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000134463A JP2000134463A (ja) | 2000-05-12 |
JP3974271B2 true JP3974271B2 (ja) | 2007-09-12 |
Family
ID=17879696
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30001598A Expired - Fee Related JP3974271B2 (ja) | 1998-10-21 | 1998-10-21 | 画像処理方法及び画像処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3974271B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103838258B (zh) * | 2014-02-26 | 2016-05-25 | 上海微小卫星工程中心 | 一种应用于天基空间目标的自动跟踪方法及系统 |
-
1998
- 1998-10-21 JP JP30001598A patent/JP3974271B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000134463A (ja) | 2000-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5729663A (en) | Method and apparatus for gray screening | |
US5689343A (en) | Area mapping employing reference clusters for high quality noninteger resolution conversion with enhancement | |
EP0409915B1 (en) | Circuit halftoning with minimum visual modulation patterns | |
US5200840A (en) | Image processing apparatus | |
EP0454495B1 (en) | Half-tone image processing system | |
JP3706830B2 (ja) | 画像信号処理装置 | |
JP3974271B2 (ja) | 画像処理方法及び画像処理装置 | |
JP3814921B2 (ja) | グレースケール画像のハーフトーニング方法、およびグレースケール画像のハーフトーニング手段を有する装置 | |
US6628427B1 (en) | Method and apparatus for image processing which improves performance of gray scale image transformation | |
JP2920635B2 (ja) | 画像処理装置 | |
JP3581460B2 (ja) | 画像処理方法とその装置 | |
JP2833670B2 (ja) | 画素密度変換方式 | |
JP2941288B2 (ja) | 画像処理システム | |
JP3399341B2 (ja) | 画像処理方法および画像処理装置 | |
JP2703911B2 (ja) | 画像処理装置 | |
JP2803576B2 (ja) | 画像処理装置 | |
JP3679522B2 (ja) | 画像処理方法及びその装置 | |
Trager et al. | A GPU based implementation of Direct Multi-bit Search (DMS) screen algorithm | |
JP4517288B2 (ja) | 画像処理装置、画像処理方法及びそのプログラム | |
JPH1188693A (ja) | 疑似階調処理装置 | |
JPH0548881A (ja) | 画像変倍処理方式及び装置 | |
JP3742227B2 (ja) | 画像データの2値化処理回路および方法 | |
JP2833669B2 (ja) | 画素密度変換方式 | |
JP2001189852A (ja) | 画像処理装置 | |
JP4035284B2 (ja) | 画像処理装置及び画像処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050912 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070305 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070313 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070510 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070614 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100622 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100622 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110622 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120622 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130622 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |