(58)【調査した分野】(Int.Cl.,DB名)
前記変換処理部は、輪郭情報が第1の範囲にあるときに、下限値を輪郭情報として出力し、輪郭情報が第2の範囲にあるときに、下限値から0まで連続的に変化する関数によって輪郭情報を変換して得られた値を輪郭情報として出力し、輪郭情報が第3の範囲にあるときに0を輪郭情報として出力し、輪郭情報が第4の範囲にあるときに、0から上限値まで連続的に変化する関数によって輪郭情報を変換して得られた値を輪郭情報として出力し、輪郭情報が第5の範囲にあるときに上限値を輪郭情報として出力する請求項1から4の何れか一項に記載の画像処理装置。
【発明を実施するための形態】
【0019】
以下、本発明における画像処理装置100について添付図面を参照して説明する。まず、
図1を用いて画像処理装置100の構成について説明する。
【0020】
画像処理装置100は、画像の輝度信号を受信し輪郭強調を施して出力する装置であって、10の構成要素から主に構成される。10の構成要素は、ラインメモリ110、ローパスフィルタ(LPF)120、減算回路130、低輝度ノイズ抑制処理回路140、ガンマLUT(ルック・アップ・テーブル)メモリ142、輪郭検出回路150、非線形処理回路160、非線形処理LUTメモリ162、輪郭強調処理回路170、及び強調係数設定レジスタ172である。
【0021】
ラインメモリ110は、外部から入力輝度信号を受信して一時的に記憶し、後段に接続されるローパスフィルタ120、減算回路130、及び低輝度ノイズ抑制処理回路140に輝度信号を送信する。画像は、
図2に示される画素配列を持ち、各画素は輝度値を持つ。輝度値Y(x,y)を有する画素(x,y)を注目画素とする。輝度値は、各行ごとに1画素ずつ時間の経過に応じて出力されて輝度信号を形成する。入力輝度信号の一例を
図3に示す。ラインメモリ110は輝度値を変更しない。
【0022】
ローパスフィルタ120は、低周波成分を有する輝度信号を通し、それ以外の範囲の周波数成分を有する輝度信号の輝度値を減衰させる。ローパスフィルタ120が出力した輝度信号は減算回路130に送られる。減算回路130は、ローパスフィルタ120を通過しない輝度信号から、ローパスフィルタ120が出力した輝度信号を減じ、輪郭強調処理回路170に送信する。ローパスフィルタ120と減算回路130とがローパス処理部を構成する。
【0023】
ローパスフィルタ120は、ラインメモリ110から受け取った輝度値Y
in(x,y)に
図4に示す行列を適用する。この行列を適用した、すなわちローパスフィルタ120をかけた後の輝度値Y
LPF(x,y)は、以下の式によって求められる。
【数1】
【0024】
減算回路130は、以下の式により輝度値Y
nr(x,y)を出力する。
【数2】
【0025】
注目画素の周囲1画素を周辺画素とする場合に用いられるローパスフィルタ120の一例を
図5に示す。ここで、m=1及びn=1である。このローパスフィルタ120をかけた輝度信号を、入力輝度信号(
図3参照)から減じて得られる輝度信号を
図6に示す。ローパスフィルタ120の働きにより、周辺画素の輝度値との差を小さくし、輝度値から高周波成分が除去される。
【0026】
低輝度ノイズ抑制処理回路140は、ラインメモリ110から受け取った輝度値を所定の関数を用いて低減し出力する。この処理をガンマをかけるという。所定の関数yは、以下の数式によって決定される。
【数3】
ここで、パラメータγとして例えば1から2.2までの値が用いられる。
【0027】
ラインメモリ110から受け取った輝度値と、出力する輝度値との対応関係を示すLUTがこの式に応じて作成され、ガンマLUTメモリ142に記憶される。低輝度ノイズ抑制処理回路140は、ラインメモリ110から受け取った輝度値に応じた値をガンマLUTメモリ142から読み出して出力する。
図7に示す曲線は、この式をグラフにして表したものである。この曲線を参照すると、低輝度の範囲にある輝度信号の値を、他の範囲にある輝度信号よりも大きく低減することがわかる。すなわち、輝度値にガンマをかけることによって、低輝度の範囲にあるノイズを抑制することができる。低輝度ノイズ抑制処理回路140が抑制処理部を構成する。
【0028】
図3に示す入力輝度信号を低輝度ノイズ抑制処理回路140が処理したときに出力する輝度信号を
図8に示す。低輝度ノイズ抑制処理回路140により、低い輝度値を持つ輝度信号が削除されている。
【0029】
輪郭検出回路150は、注目画素と周辺画素との位置関係に基づいて、輝度値から被写体像の輪郭情報を検出する。より詳しく説明すると、輪郭検出回路150は、低輝度ノイズ抑制処理回路140から受信した輝度値に輪郭検出フィルタをかけて、輪郭情報量を検出する。次に、複数の周辺画素の輝度値を用いて、水平方向、垂直方向、右上/左下方向、及び右下/左上方向の各方向に対して領域情報量を算出する。そして、領域情報量の大きさに応じて輪郭情報量を変換して出力する。
【0030】
輪郭検出フィルタは、例えばHPFやラプラシアンフィルタであって、
図9に示される行列を有する。輪郭検出フィルタをかけた後の輪郭情報量Y
edge(x,y)は、以下の式によって求められる。
【数4】
【0031】
注目画素の周囲1画素を周辺画素とする場合に用いられる輪郭検出フィルタの一例を
図10から12に示す。これらの輪郭検出フィルタはラプラシアンフィルタであって、
図9においてp=1及びq=1である。
【0032】
水平方向、垂直方向、右上/左下方向、及び右下/左上方向の各方向に対して領域情報量を算出する手段について
図13から16を用いて説明する。各方向に対してフィルタを用意し、このフィルタを注目画素と周辺画素の輝度値にかけることにより、領域情報量を算出する。
【0033】
水平方向に対して領域情報量E
1を算出するとき、
図13に示すフィルタを用いる。フィルタを構成する行列の各要素は注目画素及び周辺画素の輝度値に乗じられ、これにより得られた値の総和が取られる。周辺画素に乗じられる要素は、周辺画素の輝度値に対する重み付けを意味する。このフィルタを注目画素(x,y)の輝度値Y(x,y)と8つの周辺画素(x−1,y−1)、(x,y−1)、(x+1,y−1)、(x−1,y)、(x+1,y)、(x−1,y+1)、(x,y+1)、及び(x+1,y+1)の輝度値Y(x−1,y−1)、Y(x,y−1)、Y(x+1,y−1)、Y(x−1,y)、Y(x+1,y)、Y(x−1,y+1)、Y(x,y+1)、及びY(x+1,y+1)に適用したとき、水平方向領域情報量E
1は、以下の式によって求められる。
【数5】
【0034】
垂直方向に対して領域情報量E
2を算出するとき、
図14に示すフィルタを用いる。これを水平方向と同様に、注目画素と8つの周辺画素に適用したとき、垂直方向領域情報量E
2は、以下の式によって求められる。
【数6】
【0035】
右上/左下方向に対して領域情報量E
3を算出するとき、
図15に示すフィルタを用いる。これを水平方向と同様に、注目画素と8つの周辺画素に適用したとき、右上/左下方向領域情報量E
3は、以下の式によって求められる。
【数7】
【0036】
右下/左上方向に対して領域情報量E
4を算出するとき、
図16に示すフィルタを用いる。これを水平方向と同様に、注目画素と8つの周辺画素に適用したとき、右下/左上方向領域情報量E
4は、以下の式によって求められる。
【数8】
【0037】
次に、領域情報量の大きさに応じて輪郭情報量Y
edge(x,y)を変換する処理について説明する。この処理は、4つの領域情報量から最も大きいものを選択し、選択した領域情報量が閾値impulse_thよりも小さいかを決定する。そして、小さいときには輪郭情報量Y
edge(x,y)として0を出力し、それ以外の場合には輪郭検出フィルタをかけた後の輪郭情報量Y
edge(x,y)を出力する。4つの領域情報量のうち最も大きいものが閾値impulse_thよりも小さいときとは、注目画素がインパルスノイズを有するときである。そこで、この場合の輪郭情報量Y
edge(x,y)を0にすることによって、後段の処理においてインパルスノイズを強調することを防止できる。閾値impulse_thは、経験値や実験値などに基づいて予め定められる。以下にこの処理が用いる式を示す。
【数9】
輪郭検出回路150が算出した輪郭情報量Y
edge(x,y)は、非線形処理回路160に送信される。
【0038】
非線形処理回路160は、輪郭検出回路150から受け取った輪郭情報量Y
edge(x,y)に対してコアリング処理を施す変換処理部を成す。コアリング処理の第1の例において用いられる第1のコアリング関数について、
図18を用いて説明する。
【0039】
非線形処理回路160は、輪郭検出回路150から輪郭情報量Y
edge(x,y)を受け取る。そして、3つの既定値に基づいて区分された5つの範囲のいずれに、この輪郭情報量Y
edge(x,y)が属するかを判断する。この判断結果に応じて、出力する輪郭情報量Y
edge(x,y)を決定する。3つの既定値は、上限値Limit(+)、下限値Limit(−)、及び変換閾値Coreであって、経験値や実験値などに基づいて予め定められる。第1のコアリング関数を以下に示す。
【数10】
【0040】
輪郭情報量Y
edge(x,y)が下限値Limit(−)から変換閾値Coreを減じた値以下であるとき、非線形処理回路160は下限値Limit(−)を輪郭情報量Y
edge(x,y)として出力する。下限値Limit(−)から変換閾値Coreを減じた値よりも輪郭情報量Y
edge(x,y)が大きく、かつ変換閾値Coreに−1を乗じた値よりも小さいとき、輪郭情報量Y
edge(x,y)に変換閾値Coreを加えた値を輪郭情報量Y
edge(x,y)として非線形処理回路160が出力する。輪郭情報量Y
edge(x,y)が変換閾値Coreに−1を減じた値以上かつ変換閾値Core以下であるとき、非線形処理回路160は0を輪郭情報量Y
edge(x,y)として出力する。変換閾値Coreよりも輪郭情報量Y
edge(x,y)が大きく、かつ上限値Limit(+)に変換閾値Coreを加えた値よりも小さいとき、輪郭情報量Y
edge(x,y)から変換閾値Coreを減じた値を輪郭情報量Y
edge(x,y)として非線形処理回路160が出力する。輪郭情報量Y
edge(x,y)が上限値Limit(+)に変換閾値Coreを加えた値以上であるとき、非線形処理回路160は上限値Limit(+)を輪郭情報量Y
edge(x,y)として出力する。
【0041】
輪郭検出回路150から受け取った輪郭情報量Y
edge(x,y)と、出力する輪郭情報量Y
edge(x,y)との対応を表すLUTがこの式に応じて作成され、非線形処理LUTメモリ162に記憶される。非線形処理回路160は、輪郭検出回路150から受け取った輪郭情報量Y
edge(x,y)に応じた値を非線形処理LUTメモリ162から読み出して、輪郭情報量Y
edge(x,y)として出力する。
【0042】
非線形処理回路160が出力した輪郭情報量Y
edge(x,y)から成る輝度信号を
図19に示す。
図3に示す入力輝度信号に見られる3つの段差は、被写体像の輪郭を表している。
図19に示す輝度信号は、これらの段差に相当する部分のみにおいて値が急激に変化している。これにより、被写体像の輪郭が的確に抽出されていることがわかる。
【0043】
第1のコアリング関数を用いることにより、高周波成分におけるノイズを除去でき、高輝度値を有する画素の周辺に位置する画素において階調が潰れてしまうことを防止できる。
【0044】
図20を用いてコアリング処理の第2の例について説明する。
図20は、コアリング処理の第2の例において用いられる第2のコアリング関数を表す。第1のコアリング関数が不連続な関数であったのに対して、第2のコアリング関数は連続な関数である。
【0045】
非線形処理回路160は、輪郭検出回路150から受け取った輪郭情報量Y
edge(x,y)が第1の範囲にあるとき、下限値Limit(−)を輪郭情報量Y
edge(x,y)として出力する。第1の範囲は下限値Limit(−)未満の範囲である。輪郭情報量Y
edge(x,y)が第2の範囲にあるとき、非線形処理回路160は、下限値Limit(−)から0まで連続的に変化する関数によって輪郭情報量Y
edge(x,y)を変換して得られた値を輪郭情報量Y
edge(x,y)として出力する。第2の範囲は、第1の範囲の最大値から変換閾値Coreに−1を乗じた値よりもわずかに大きい値までの範囲である。輪郭情報量Y
edge(x,y)が第3の範囲にあるとき、非線形処理回路160は0を輪郭情報量Y
edge(x,y)として出力する。第3の範囲は、第2の範囲の最大値から変換閾値Coreよりもわずかに小さい値までの範囲である。輪郭情報量Y
edge(x,y)が第4の範囲にあるとき、非線形処理回路160は、0から上限値Limit(+)まで連続的に変化する関数によって輪郭情報量Y
edge(x,y)を変換して得られた値を輪郭情報量Y
edge(x,y)として出力する。第4の範囲は、第3の範囲の最大値から上限値Limit(+)よりもわずかに大きい値までの範囲である。輪郭情報量Y
edge(x,y)が第5の範囲にあるとき、非線形処理回路160は上限値Limit(+)を輪郭情報量Y
edge(x,y)として出力する。第5の範囲は、上限値Limit(+)よりも大きい範囲である。
【0046】
第2のコアリング関数を用いると、第1のコアリング関数と同様の効果を得ると共に、第1のコアリング関数よりも画像の階調を残しながらノイズを除去しつつ、被写体像の輪郭を強調することができる。
【0047】
輪郭強調処理回路170は、被写体像の輪郭を強調してもとの画像に加算する。詳しく説明すると、非線形処理回路160から受け取った輪郭情報量Y
edge(x,y)に重み付けをして得られた値を、ローパス処理部から受け取った輝度値Y
nr(x,y)に加算して、注目輝度値Y
outを出力する。重み付けは、強調係数設定レジスタ172に記憶されている強調係数K
gainを輪郭情報量Y
edge(x,y)に乗じることによって行われる。強調係数K
gainの値を大きくすると輪郭がより強調され、小さくすると輪郭強調の程度が抑えられる。強調係数K
gainの値は、ユーザが自由に設定可能である。輪郭強調処理回路170が用いる関数を以下に示す。
【数11】
【0048】
輪郭強調処理回路170が出力した注目輝度値Y
out(x,y)を
図21に示す。ここでは、強調係数K
gainは1である。
図21を参照すると、ラインメモリ110が出力した入力輝度値Y
in(x,y)と、輪郭強調処理回路170が出力した注目輝度値Y
out(x,y)とを比較すると、被写体像の輪郭が的確に抽出され、かつ輪郭以外の部分における輝度変化も維持できていることがわかる。
【0049】
次に、画像処理装置100が実行する画像処理について、
図22に示すフローチャートを用いて説明する。入力輝度値Y
in(x,y)が画像処理装置100に入力されると、画像処理が実行される。
【0050】
まずステップS1では、入力輝度信号にローパスフィルタ120をかける。そして、次のステップS2では、ローパスフィルタ120を通過しない輝度信号から、ローパスフィルタ120が出力した輝度信号を減算回路130が減じる。
【0051】
ステップS3では、低輝度ノイズ抑制処理回路140が輝度値にガンマをかけ、低輝度の範囲にある輝度値を、他の範囲にある輝度値よりも大きく低減する。
【0052】
ステップS4では、輪郭検出回路150が、受信した輝度値に輪郭検出フィルタをかけて、輪郭情報量を検出する。次のステップS5では、複数の周辺画素の輝度値を用いて、水平方向、垂直方向、右上/左下方向、及び右下/左上方向の各方向に対して領域情報量を算出する。
【0053】
ステップS6では、各方向に対して求められた領域情報量から最も大きいものを選択し、選択した領域情報量が閾値impulse_thよりも小さいかを決定する。小さい場合、処理はステップS7に進んで輪郭情報量を0に変換した後、ステップS8に進む。小さくない場合、輪郭検出フィルタをかけた後の輪郭情報量を、出力する輪郭情報量とする。すなわち、輪郭情報量を変換せずに出力する。そして処理はステップS8に進む。
【0054】
ステップS8では、輪郭検出回路150から受け取った輪郭情報量に非線形処理回路160がコアリング処理を施す。これにより、高周波成分におけるノイズを除去する。
【0055】
ステップS9では、輪郭強調処理回路170は、非線形処理回路160から受け取った輪郭情報量Y
edge(x,y)に重み付けをして得られた値を、ローパス処理部から受け取った輝度値Y
nr(x,y)に加算し、注目輝度値Y
outとして出力する。そして、処理が終了する。
【0056】
次に、
図23に示す孤立ノイズ行列及び
図24に示す輪郭行列が画像処理装置100に入力された場合を一例として説明する。
【0057】
孤立ノイズ行列は、注目画素がインパルスノイズを有するときの注目画素及び周辺画素の輝度値を示した行列である。輪郭行列は、注目画素及び周辺画素が輪郭を含むときの輝度値を示した行列である。これらの行列に対して画像処理を施したときの結果について説明する。ここでは、
図5に示すローパスフィルタ120、
図10に示す輪郭検出フィルタ、
図13から16に示す領域検出フィルタ、及び第1のコアリング関数が用いられる。第1のコアリング関数では、Limit(+)=100、Limit(−)=−50、Core=−5がパラメータとして用いられる。また、強調係数K
gainは1である。
【0058】
孤立ノイズ行列の処理結果を説明する。輝度値Y
nr(x,y)は100となり、輪郭検出回路150では注目画素はインパルスノイズと判断され、輪郭情報量Y
edge(x,y)は0となる。そして、輪郭強調処理回路170が出力する注目輝度値Y
out(x,y)は100となって、入力輝度値Y
in(x,y)=145よりも抑えられる。
【0059】
輪郭行列の処理結果を説明する。輝度値Y
nr(x,y)は130となり、輪郭検出回路150では注目画素は輪郭と判断され、輪郭情報量Y
edge(x,y)は21となる。そして、輪郭強調処理回路170が出力する注目輝度値Y
out(x,y)は151となって、入力輝度値Y
in(x,y)=145よりも強調される。
【0060】
これにより、本実施形態によれば、ノイズを除去しつつ、被写体像の輪郭を強調することができることがわかる。
【0061】
次に、
図25及び26に画像処理が施された画像を示す。
図25は、従来の画像処理によって強調された輪郭を示す。輪郭は黒く潰れており、階調が消えてしまっている。他方、
図26は本願の画像処理によって強調された輪郭を示す。輪郭には階調が残っており、黒く潰れない。
【0062】
以上のように、本実施形態によれば、画像の階調を残しながらノイズを除去しつつ、被写体像の輪郭を強調することができる。
【0063】
なお、ローパスフィルタ120、輪郭検出フィルタ、領域検出フィルタ、第1及び第2のコアリング関数、Limit(+)、Limit(−)、Core、及び強調係数K
gainの値は一例であって、他の値が用いられても良い。