Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP3777672B2 - Image processing method and image processing apparatus - Google Patents
[go: Go Back, main page]

JP3777672B2 - Image processing method and image processing apparatus - Google Patents

Image processing method and image processing apparatus Download PDF

Info

Publication number
JP3777672B2
JP3777672B2 JP26690596A JP26690596A JP3777672B2 JP 3777672 B2 JP3777672 B2 JP 3777672B2 JP 26690596 A JP26690596 A JP 26690596A JP 26690596 A JP26690596 A JP 26690596A JP 3777672 B2 JP3777672 B2 JP 3777672B2
Authority
JP
Japan
Prior art keywords
value
reference value
output
input
pixel value
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 - Lifetime
Application number
JP26690596A
Other languages
Japanese (ja)
Other versions
JPH10112803A (en
Inventor
忠則 手塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP26690596A priority Critical patent/JP3777672B2/en
Publication of JPH10112803A publication Critical patent/JPH10112803A/en
Application granted granted Critical
Publication of JP3777672B2 publication Critical patent/JP3777672B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

  • Facsimile Image Signal Circuits (AREA)
  • Color Image Communication Systems (AREA)
  • Image Processing (AREA)
  • Picture Signal Circuits (AREA)
  • Processing Of Color Television Signals (AREA)

Description

【0001】
【発明が属する技術分野】
本発明はディジタル画像のノイズの除去を行う画像処理装置に関する。
【0002】
【従来の技術】
画像の修正や色調修正、画像からのマスク生成や画像認識など含む画像処理分野において、ディジタルカメラ、スキャナ、ビデオカメラなどから取り込んだ画像に対して処理を行う場合、取り込んだ画像のノイズを除去するためのノイズ除去処理は非常に重要な役目を担っている。
【0003】
この画像ノイズ除去処理としては、従来から多くの方法が知られている。このうち、良く知られている方法としては、各画素の近傍の小領域、例えば、3×3や5×5といった領域に対して平滑化フィルタを適用する方法がある。画像データは、2次元の相関性を持つデータ列であるので、通常は2次元のフィルタ処理が行われている。
【0004】
さらに、前記のような2次元平滑化フィルタを用いてノイズを除去する場合、ノイズ以外の成分である、輪郭(エッジ)などの成分も平滑化されぼけてしまうため、これを解決するために、フーリエ変換や微分、分散などを用いて小領域内のエッジの有無を判断し、その結果にもとづいて、平滑化の度合を変更する方法が考案されている。
【0005】
また、処理の簡易化を目的として画像の一次元方向のみの処理でノイズ除去を行う画像処理装置も考案されており、このようなものとしては、以下にあげるようなものがある。
【0006】
ここで、従来の画像処理装置として一次元フィルタによりノイズ除去行う画像処理装置の機能ブロックを図15に示す。
【0007】
なお、説明を簡単にするために、画像処理装置の取り扱う色空間は、赤(R)、緑(G)、青(B)の三属性で表現されるRGB色空間とした。
【0008】
図15において入力画素値とは一次元データ列として入力される画素値、出力画素値とは処理の結果出力される画素値である。1501は入力された画素値を記録するバッファ1、1502は入力された画素の一つ前の画素値を記録するバッファ2、1503はバッファ1,2の差分の絶対値を求める差分演算手段、1504、1505はバッファ1と2に格納された画素値を用いて演算を行う演算手段1,2、1506は演算手段1,2の出力のうちの1つだけを出力画素値として出力する切替えスイッチ、1507は差分演算手段1503の結果により切替えスイッチ1507を切替える判定手段である。
【0009】
なお、切替えスイッチ1506および判定手段1507は、色空間の各軸の要素に対して独立に切替えることができ、例えば、R要素は演算手段1(1504)の結果を、G,Bについては演算手段2(1505)のものを出力するということが可能である。
【0010】
バッファ1(1501)は、入力画素値が入力されると、現在のバッファ1の内容をバッファ2に転送し、記録している値を入力画素値に更新する。バッファ2(1502)は、バッファ1から送られた画素値を入力しバッファ内の値を更新する。つまり、入力画素値が入力されると、バッファ1には現在の入力画素値(r,g,b)が、バッファ2には1つ前の画素値(r',g',b')が記録される。差分演算手段1503では、バッファ1およびバッファ2に記録された画素値の差分の絶対値(|r - r'|, |g - g'|, |b - b'|)=(dr, dg, db)を求める。求めた差分値は、判定手段1507に送られ、判定手段1507では、閾値αを用いて以下の様にスイッチを切替える。なお、以下の条件式におけるdは、色空間上の各軸での差分成分dr,dg,dbであり、先に述べたように、切替えスイッチでは、各軸の成分に対して独立に切替えが行われる。
【0011】
(1) d < α の場合、演算手段1(1504)の演算結果を出力。
(2) α < d の場合、演算手段2(1505)の演算結果を出力。
【0012】
また、各演算手段では(数3)の演算が行われ、出力画素値(or, og, ob)が出力される。
【0013】
【数3】

Figure 0003777672
【0014】
つまり、入力画素値と1つ前の画素値がαより近い値の場合は2つの画素値の平均を出力し、2つの画素値の差が大きい場合には入力画素値を出力することで、入力画素と1つの前の画素値の差が大きい部分、つまり、エッジと考えられ部分の平坦化を抑制している。
【0015】
また、一次元方向のみの処理でノイズ除去する方法としては、ヒステリシススムージングと呼ばれるものを用いるものがある。
【0016】
ヒステリシススムージングは、図16(a)に示すような高さhの棒を入力波形に沿って移動させ、棒の中心点の軌跡を出力とするものである。棒は、以下の様なルールによって移動する。なお、初期値としては一般的に0が用いられることが多い。
【0017】
(1)現在の位置から棒を1画素分だけ移動させる。
(2)もし、入力画素値が棒の示す範囲内に入っていれば、縦方向には棒は動かさない。
【0018】
(3)もし、入力画素値が棒の上(下)端より上(下)にくれば、棒の上(下)端が入画素値に一致する様に縦方向に移動させる。
【0019】
このようにすることにより、棒の高さよりも小さなノイズ成分を除去することができる。なお、棒の高さを変更することで、図16(b)のようにノイズの除去幅を調整することができる。
【0020】
なお、この方法では、左方向から処理を行うと右方向に画像がずれた感じになるが、これを防止する為に左右の双方向から処理を行い、双方の平均を結果として出力する方法などが考案されている。
【0021】
【発明が解決しようとする課題】
しかしながら、2次元平滑化フィルタによりノイズ除去を行う場合、画像の3×3、5×5といった範囲に対して処理を行う為に、演算量が多くなり高速に処理することが難しい。
【0022】
処理速度が高速な方法としては、先にあげた一次元方向にのみ画像をスキャンして処理を行う方法があるが、この方法は、先に挙げた小領域、たとえば3×3や5×5などの平面を利用して平均化を行う方法よりもノイズ成分の除去能力が弱い。
【0023】
また、エッジ情報を判定する為に、近傍画素との差分により平均化の処理を数種類に分類しているが、近傍画素との比較のみで処理を行うため、画像の広い範囲にわたるノイズ成分、例えば、ディジタルカメラなどで撮影した場合に画像の暗い部分に発生する広範囲にわたる色むらなどは除去することができない。
【0024】
ヒステリシススムージングでは、入力画素値が棒の高さ内である場合には、棒を動かさずに処理を行うため、画像の広い範囲にわたるノイズ成分を除去することが可能である。しかしながら、この方法では、棒の高さの範囲内の画素値が入力され続けると常に同じ値を出力してしまうため、自然画像に対して処理を行った場合、人間の肌の部分などが平坦化されてしまい不自然な画像になってしまう。また、これを防ぐ為に棒の高さ(h)を小さくすると、今度はノイズ成分がきれいに除去できないという問題が生じる。
【0025】
本発明の目的は、一次元フィルタによるノイズ除去処理と同様な速度で処理可能であり、広い範囲にわたるノイズ成分をエッジ成分を残しながら除去することができ、かつ、自然画像に対して処理をおこなった場合に不自然さを発生させない画像処理装置を提供することである。
【0026】
【課題を解決するための手段】
本発明では、一次元フィルタ処理において、基準値を利用し、過去の処理結果を入力画素値の処理にフィードバックすることで、広範囲にわたるノイズ成分の除去を自然に行うことができる画像処理装置を提供している。
【0027】
【発明の実施の形態】
(実施の形態1)
以下に、本実施形態について図面を参照しながら説明する。
【0028】
本実施形態の画像処理装置は、コンピュータ上で動作するソフトウェア、コンピュータに組み込まれるハードウェア、またはソフトウェアとハードウェアの両方を利用して実現され、コンピュータ上に取り込まれた静止画像および動画像に対して処理を行う。なお、ソフトウェアのみで実現された場合、画像処理装置はコンピュータのプロセッサ上で動作するプログラムという形態をとる。
【0029】
図1に、画像処理装置が動作するコンピュータのブロック図を示す。図1において、101はプログラムやデータを記憶するためのメモリ、102は本実施形態における画像処理装置、103はプロセッサ、104はキーボードやマウス、タブレットというユーザの入力を行う機器を接続する入力インタフェース、105は外部記憶装置であるディクス装置、106はディジタルカメラやビデオデッキ、カラースキャナなどから画像を入力するための画像入力インタフェース、107はコンピュータの画面を表示するための画像表示インタフェース、108は画像表示インタフェースに接続されたディスプレイ、そして109はこれらのものを接続する内部バスである。
【0030】
画像処理装置102内部のブロック構造を図2に示す。図2において、201は基準値を記録するための基準値バッファ、202はノイズ除去のための演算を行う演算手段である。
【0031】
画像入力インタフェース106を利用してスキャナやディジタルカメラから入力された画像は、メモリ101あるいはディスク装置105に記録される。
【0032】
ここで、ディスク装置105に記録された画像データに対して処理を行う場合について説明を行う。ディスク装置105に記録された画像は、まず、ユーザの入力インタフェース104に接続されたキーボードやマウスの操作によりメモリ101に読み込まれ、ディスプレイ108に表示される。ここで、ユーザが画像処理の実行指示をコンピュータに行うと、プロセッサ103はメモリ101に記録された画像の画素データを一次元方向(左から右方向)のデータ列として画像処理装置102に渡す。なお、画像データは、右から左方向、上から下方向、下から上方向のどの場合であっても本実施形態と同様な効果が期待できる。画像処理装置102では、受け取った画素データと基準値バッファ201に記録された基準値を用いて演算手段202で処理を行い処理後の画素データを出力する。さらに、演算手段202の演算結果は、新たな基準値として基準値バッファ201に記録される。プロセッサ103は、画像処理装置102から出力された画素データを再びメモリ101に書き込み、さらに、ディスプレイ108に表示する。なお、画像処理を行った結果が書き込まれる場所は、メモリ101上の元の画像の位置であっても、異なる位置であっても良い。また、プロセッサ103は、画像の各ラインの処理の前にラインの先頭(左から右方向の場合は、左端)の画素データを取り出し、画像処理装置102に基準値として入力する。画像処理装置102では、この値を新たな基準値として基準値バッファ201に記録する。
【0033】
本実施形態においては、画像の一方向に対し処理を行う対象となる画素の情報の入力のみでノイズ成分の除去が行えるため、ユーザは、コンピュータを利用した画像のノイズ除去処理を高速に行うことができる。また、基準値が各ラインの最初の値に初期化されるため、画像的に依存関係の低い、先に処理したラインの最後の値の影響を受けることなく、各ラインに対してノイズ除去を行うことが可能である。
【0034】
次に、画像処理装置の各ラインに対する処理について詳しく説明を行う。なお、本実施形態においては、処理する画像の色空間をテレビ信号などに用いられているYUV空間であるとし、(Y、U、V)と表記する。また、入力画素値を(yi, ui,vi)、出力画素値を(yo, uo, vo)、基準値を(yb, ub, vb)と示す。なお、本実施形態においては色空間をYUV空間としたが、RGB空間、XYZ空間、CIE-LUV空間などの直交空間および、HSV空間、HLS空間、LCH空間などの円筒空間など、他の色空間を用いた場合でも同様の効果が期待できる。
【0035】
図3に、画像処理装置の処理イメージを示す。
図3において、301は図1の101に、302は102にそれぞれ対応している。プロセッサ103を介してメモリ301から読みだされた画素データは、画像処理装置302に入力される。そして、画像処理装置302で処理された結果はプロセッサ103によって再びメモリ301に書き込まれる。この時、画素データは、プロセッサ103により、一次元データ列として画像処理装置302に入力されるため、画像処理装置は入力された画素データを1つ1つ順番に処理を行うだけである。
【0036】
各ラインの最初の基準値の初期化は、図4に示すフローチャートに従って行われる。プロセッサ103は、まず1ライン分のデータを取り出す(401)。その次に、ラインの先頭の値を基準値(yb, ub, vb)として入力し、基準値記録バッファに記録された基準値をラインの先頭の画素値に変更する(402)。その後、1画素づつ画像処理装置102に入力し処理を行い(403)、1ライン分の処理が完了するまでこれを繰り返す。1ライン分の処理が完了すると、再び次の1ライン分の処理を行う。これを画像の全ライン分繰り返すことで、画像に対する処理が完了する。
【0037】
次に、1画素に対する処理について説明を行う。
図5に、図2の演算手段202の内部処理を示す。図5において、501は演算手段202に入力された入力画素値、502は基準値バッファ201に記録されている基準値、503は入力画素値501と基準値502との差分の絶対値を演算する差分演算ステップ、504は差分演算ステップ503の演算結果を元に条件判定を行い出力演算ステップ504の演算方法を決定する条件判定ステップ、505は条件判定ステップ503の条件判定結果に基づいて入力画素値501と基準値502を用いた演算を行い、出力画素値を決定する出力値演算ステップ、506は出力値演算ステップで演算した出力画素値を新たな基準値とし、基準値バッファ201に記録された基準値を更新し、出力画素値を出力する基準値更新ステップ、507は演算手段202から出力される出力画素値、508は1画素を処理した後に更新され、基準値バッファ201に記録される新たな基準値である。
【0038】
図6に、1画素に対する処理をフローチャートで示す。図6のフローチャートにおいて、601は差分演算ステップ503に、602〜604は条件判定ステップ504に、605〜608は出力値演算ステップに、609は基準値更新ステップにそれぞれ対応する。
【0039】
601では、基準値(yb, ub, vb)と、入力画素値(yi, ui, vi)の差分の絶対値(dy, du, dv)が求められる。次に、この値を条件として、4つに場合分けされる。602〜604におけるαy,αu,αv,βy,βu,βv,γy,γu,γvは、それぞれ(数4)の条件を満たす閾値である。ただし、ymin, ymax, umin, umax,vmin,vmaxはそれぞれYUV空間におけるy,u,vの最小値と最大値である。
【0040】
【数4】
Figure 0003777672
【0041】
以上の条件により605〜608のどの演算を行うかが決定し、出力画素値が演算される。本実施形態における出力値演算ステップ505の演算では、各成分の差分の絶対値(dy, du, dv)が大きい場合には、出力画素値(yo, uo, vo)は、入力画素値と同じになり、差分の絶対値が小さくなるにつれて出力画素値に対する基準値の重みが大きくなる。
【0042】
つまり、基準値と入力画素値が近い値の場合には、基準値の重みを大きくし、遠い場合には基準値の重みを小さくすることで、値の揺れにより発生するノイズ成分が低減される。また、閾値αy,αu,αv以上、基準値と入力画素値の差分の絶対値が大きい場合には、入力画素値をそのまま出力することにより、画素間の差分の大きいエッジの保護を行っている。
【0043】
609は、基準値に出力画素値(yo,uo,vo)を代入して更新する処理である。この処理により、次の画素に対する基準値は出力画素値となる。
【0044】
図7に、αy=αu=αv=0.6、βy=βu=βv=0.4、γy=γu=γv=0.2とした場合の画像処理装置の処理例をグラフに示す。なお、グラフは、簡単のため、Y軸のみの出力結果である。また、基準値は、ゼロに初期化されている。図7の実線のグラフは入力値でありこの値を入力して得られた出力結果が点線のグラフである。このグラフの横軸は、何番目に入力された画素なのかを示しており、縦軸は画素値のY成分の値である。このグラフを見ると、入力値の変化が小さい部分(a)では出力値の変化は入力値の変化に対して小さくなっており、つまり、ノイズ成分が除去されていることが分かる。また、大きな変化の部分(b)においては、入力値と同様に出力値も変化しており、これはエッジの部分は保護されていることが分かる。さらに、入力値の変化が小さな部分(a)に注目すると、出力値はヒステリシススムージングによりノイズ除去を行った場合の様に平坦な直線になるのでは無く、入力値に合わせて緩やかに変化している。このように、画像中の変化の小さな部分が単に平坦化される分けではなく、入力値の変動を受けて微妙に上下することで、顔などのグラデーションの部分が平坦な色になることなく、自然なノイズ除去を行うことができる。
【0045】
なお、本実施の形態においては、条件判定ステップにより4つの場合に条件判定し、演算を行っているが、条件判定ステップの条件分けが2つ以上であり、その場合分けに応じて基準値と入力画素値の重みを変更すれば本実施例と同様の効果が期待できる。
【0046】
以上の様に、第1の実施形態の画像処理装置においては、コンピュータ上に取り込まれた静止画像および動画像に対してエッジを残しつつ高速にノイズ除去を行うことが可能になる。また、画像中の変化が少ない部分についても、単純に平坦化されるのではなく、ノイズ除去後も元の画像のもつ画像の揺れ情報が保存されるため、自然画に対して処理を行った場合についても不自然さをだすことなくノイズ除去を行うことができる。
【0047】
(実施の形態2)
第2の実施形態では、より結果の良好なノイズ除去を行うことを意図するものであり,図1の画像処理装置の動作するコンピュータのブロックおよび、図2の画像処理装置内部のブロック構造は、第1の実施形態と同様であが、演算手段の内部は図8のものに置き換えられている。また、本実施例においては、画像処理装置が処理を行う色空間は均等色空間であるLa*b*空間であるとし、各軸の値の範囲は最大値と最小値の差が1.0になるようにクリップされているとする。なお、本実施形態においては色空間をLa*b*空間としたが、RGB空間、XYZ空間、CIE-LUV空間などの直交空間および、HSV空間、HLS空間、LCH空間などの円筒空間など、他の色空間を用いた場合でも同様の効果が期待できる。
【0048】
以下、第2の実施の形態について図面を参照しながら説明を行う。図8において、801は演算手段202に入力された入力画素値、802は基準バッファ201に記録されている基準値、803は入力画素値801と基準値802の色空間上での距離を演算する距離演算ステップ、804は、距離演算ステップ803で演算された距離に重みを加え、それをクリップした値である距離係数を演算するクリップステップ、805は入力画素値801と基準値802、および距離演算ステップ804で演算された距離係数を利用した演算を行い、出力画素値を演算する出力値演算ステップ、806は出力値演算ステップで演算した出力画素値を新たな基準値とし、基準値バッファ201に記録された基準値を更新し、同時に出力画素値を出力する基準値更新ステップ、807は演算手段202から出力される出力画素値、808は演算手段202で1画素に対して処理を行った結果、基準値バッファ201に新たに記録される新たな規準値である。
【0049】
図9に、演算手段202での1画素に対する処理をフローチャートで示す。図9において、901は距離演算ステップ803に、902はクリップステップ804に、903は出力値演算ステップ805に、904は基準値更新ステップ806にそれぞれ対応している。なお、904の処理は第1の実施形態における610と同様であるので、ここでの説明は省略する。
【0050】
901では、基準値(Lb, a*b, b*b)と入力画素値(Li, a*i, b*i)から色空間での距離Dを求める処理を行う。(数5)は距離Dを求める式であり、これは、各軸の差の2乗を足し合わせて平方根を求めるという、一般的な3次元空間上の距離を求める式である。なお、本実施形態では(数5)を色空間上での距離としたが、各軸の差分の絶対値を加えたもの(道のり距離)や、(数5)の平方根の演算を行わないもの(2乗距離)を利用した場合でも、本実施の形態と同様の効果が期待できる。
【0051】
【数5】
Figure 0003777672
【0052】
902は、距離係数xを演算するクリップステップであり、重みをw1,w2とすると(数6)の演算を行う。
【0053】
【数6】
Figure 0003777672
【0054】
(数6)の(D × w1)は、距離Dの傾きを大きくするための演算である。この演算で、0.0 < D < 1.0/w1の部分が0.0〜1.0の値を取るようになる。w2の加算は、全体に対して上に平行移動させるためのもので、これは、距離Dが0の場合にも、xがある程度の値を持つようにするためである。なお、xの値は、0.0〜1.0の値の範囲となるようにクリップされるため、1.0以上の値になる部分は1.0にクリップされる。
【0055】
(数6)の演算結果の例を図10に示す。図10は、w1 = 5、w2 = 0.2、横軸を距離D、縦軸を距離係数xとして距離Dと距離係数xの関係をグラフで示したものである。図10において、グラフが傾きを持つ部分は(a)の部分であることが分かる。この例では、0.0〜1.8の範囲の部分が傾きを持つことになり、この範囲だけが距離係数xの影響範囲となる。つまり、(数6)を用いて距離係数を演算することで、距離の近い部分についてのみ距離係数の影響範囲とすることができる。なお、この例では、w1 = 5, w2 = 0.2としたが、w1,w2の値を0.0 < w1 < 10.0,0.0 < w2 < 1.0の範囲の任意の値に変更した場合も本実施の形態と同様の効果が期待できる。
【0056】
903は、出力値演算ステップ805における出力画素値(Lo, a*o, b*o)の演算であり、これは(数7)で表される。
【0057】
【数7】
Figure 0003777672
【0058】
(数7)は距離係数xの大きさにより、基準値(Lb, a*b, b*b)および入力画素値(Li, a*i, b*i)のどちらに重みをつけるかの式である。また、0.0 < w2 < 1.0の条件と図10のグラフを見て分かるように距離係数xはw2 > 0が最小となる、つまり距離係数xは0以上の値となるため、基準値と入力画素値の色空間上での距離が非常に近い場合でも、基準値の影響をw2の重み分だけ受けることになる。このため、基準値と入力画素値が非常に近い値であっても出力値は入力画素値の値ではなく、基準値の値も反映したものとなる。従って、出力画素値は、入力画素値として似た色が連続して入力された場合でも、平坦な画素値になることなく、w2に比例した揺れを持つ。つまり、画像中の変化の小さな部分が単に平坦化される分けではなく、入力値の変動を受けて微妙に上下することで、顔などのグラデーションの部分が平坦な色になることなく、自然なノイズ除去を行うことができる。
【0059】
以上が、1画素に対する演算手段の処理である。次に、本実施形態における画像全体に対する処理について図面を参照しながら説明を行う。
【0060】
本実施形態においても、第1の実施形態の図3に示されるように、画像データはメモリ301からプロセッサによって読みだされ、一次元データとして画像処理装置302に入力される。画像処理装置302では、入力された画素に対して出力画素値の演算を行い、結果はプロセッサにより再びメモリ301に書き込まれる。本実施形態においては、この動作を、メモリから一次元データとして読み出す方向を水平、垂直と変更し、2回処理を行う。図11に、本実施例における画像に対する処理のフローチャートを示す。
【0061】
図11のフローチャートは、2つの部分処理に分割することができ、1つめが水平方向に対する処理1101で、2つめが垂直方向に対する処理1102の部分である。2つの部分の大まかな流れはほとんど同じである。まず、水平(垂直)ラインの先頭となる画素の画素値を基準値として基準バッファ201に記録する(1103、1104)。その後、図9で示した1画素に対する処理(1105)を行い、これを1ライン分の処理が完了するまで繰り返す(1106、1107)。1ライン分の処理が完了したら、今度は全体の画素に対する処理が終るまで1108と1109の間の処理または、1110と1111の間の処理を繰り返す。
【0062】
このように、画像処理装置を入力データの一次元化の方向を変えて複数回処理することで、一次元データに対する処理で、画像の縦方向および横方向の双方向に対して平坦化することができ、画像の2次元方向に対して高速にノイズ除去を行うことができる。なお、本実施形態においては、水平方向に処理を行った後に垂直方向に処理を行っているが、逆に垂直方向に処理を行い、その後に水平方向に処理を行った場合でも本実施形態と同様の効果が期待できる。
【0063】
以上の様に、第2の実施形態の画像処理装置においては、第2の実施形態の画像処理装置に加え、色空間上での距離を利用してエッジ部分の演算を行うことで、差分の場合に比べてより近い色の判断を正確にすることができる。また、条件により演算方法を分けるのではなく、線形な1つの式で出力画素値を演算するため、距離Dに対して出力画素値に対する基準値と入力画素値の重みづけが連続となり、より滑らかなノイズ除去を行うことができる。さらに、画像の読み出し方向を変更し、複数回画像処理装置を通すことで一度のみ処理を行う場合に比べて画像の2次元方向に対してノイズ除去をすることができる。
【0064】
(第3実施形態)
第3の実施形態は、ビデオデッキやビデオカメラを接続した編集機器において画像処理装置を利用する状況において、画像処理装置を簡素なハードウェアおよびASICにより構成し、編集機器の一部として組み込むことを考慮した構成である。また、本実施例においては、画像処理装置が処理を行う色空間はRGB空間であるとし、入力画素値を(Ri, Gi, Bi)、出力画素値を(Ro, Go, Bo)とする。なお、本実施形態においては色空間をRGB空間としたが、YUV空間、XYZ空間、CIE-LUV空間などの直交空間および、HSV空間、HLS空間、LCH空間などの円筒空間など、他の色空間を用いた場合でも同様の効果が期待できる。
【0065】
以下に、本実施形態の画像処理装置について図面を参照しながら説明を行う。図12は、画像処理装置をビデオ編集機器に接続して利用する場合の構成図である。図12において、1201はディジタルビデオカメラ、1202、1203は編集用ビデオデッキ、1204は入力を1201〜1203の機器のどれから行うかを切替える入力セレクタ、1205は1202、1203のどちらのビデオデッキに編集結果を出力するかを切替える出力セレクタ、1206はディジタルカメラやビデオデッキ、各種エフェクタなどを制御する編集装置、1207は本実施形態における画像処理装置である。
【0066】
入力セレクタ1204により入力装置としてディジタルビデオカメラが設定され、出力セレクタ1205によりビデオデッキ2が出力先として設定されている場合、ディジタルビデオカメラから出力されたディジタル画像信号は入力セレクタ1204を介して編集装置1206に送られ、編集装置では画像データを画像処理装置が処理を行うRGB空間へ変換し、変換した画素データを画像処理装置1207に画像を送出する。画像処理装置1207では、入力した画素データに対して処理を行いその結果を編集装置1206に出力する。編集装置1206では、ビデオデッキ2の信号形式に画像処理装置1207の出力を変換して出力セレクタ1205を介してビデオデッキ2に結果を記録する。
【0067】
また、編集装置1206では、入力された画像の水平ラインの先頭の入力毎に画像処理装置1207に対して基準値設定信号と、水平ラインの先頭画素値をRGB空間に変換して送信する。画像処理装置1207では、基準値設定信号が入力すると、同時に入力した画素値を基準値として記録する。
【0068】
図13に、以上の処理に対するデータの流れを示す。図13において、1301、1305はそれぞれ編集装置1206に入出力されるディジタル画像信号である。1302および1304は編集装置1206内部の入力および出力バッファで、このバッファを利用して入力されたディジタル信号の信号変換を行う。1303は本実施形態における画像処理装置であり、入力バッファ1302を介して信号変換された画像の画素データを入力し、処理結果を出力バッファ1304に返す。
【0069】
以下では、画像処理装置1303について図面を参照しながら詳しく説明を行う。図14に、画像処理装置1303の内部構成図を示す。図14において、1401は基準値を記録する基準値バッファ、1402は入力画素値と基準値の差の絶対値を演算する差分演算手段、1403は差分演算手段1402で演算した差分の絶対値を条件としてスイッチ切替え信号を出力する判定手段、1404は判定手段1403の出力するスイッチ切替え信号により演算手段の出力のどれか1つを出力画素値として出力する出力切替えスイッチ、1405〜1408は基準値と入力画素値を用いて、それぞれ異なる演算を行い、結果を出力画素値として出力する演算手段である。
【0070】
基準値バッファ1401に記録された基準値は、画像処理手段外部からの基準値設定信号、または、出力画素値を出力する都度更新される。従って、外部から基準値設定信号が入力されない限りは、基準値バッファ1401の記録する基準値は、1つ前の入力画素に対する出力画素の値である。入力画素値(Ri, Gi, Bi)が入力されると、基準値バッファに記録された基準値(Rb, Gb, Bb)との差分の絶対値(Rd, Gd, Bd)=(|Ri-Rb|, |Gi-Gb|, |Bi-Bb|)が差分演算手段1402によって演算される。また、入力画素値と基準値を用いた演算が各演算手段1405〜1408で行われる。演算手段1405〜1408での演算は、(数8)で示すものである。
【0071】
【数8】
Figure 0003777672
【0072】
(数8)から分かるように、それぞれの演算手段は、入力画素値と基準値の重みを変えた演算が行われている。なお、本実施形態においては、演算手段は1405〜1408の4つが用いられているが、入力画素値と基準値の出力値に対する重みの異なる演算を行う演算手段の数が2つ以上であり、判定手段1403および出力切替えスイッチ1404が差分演算手段1402の演算結果に応じて演算手段から出力される演算結果のどれを出力画素値として出力するのかを切替えることができれば、本実施形態と同様の効果が期待できる。
【0073】
重みの異なる演算手段の出力のうちどれを出力するのかを決定するのが判定手段である。判定手段では、閾値αR,αG,αB,βR,βG,βB,γR,γG,γBを用いて以下の条件によりスイッチ切替信号を発生する。
【0074】
1) Rd > αR または Gd > αG または Bd > αBの場合、演算手段1405の演算結果を出力するようにスイッチ切替信号を発生。
【0075】
2) αR > Rd > βR または αG > Gd > βG または αB > Bd > βBの場合、演算手段1406の演算結果を出力するようにスイッチ切替信号を発生。
【0076】
3) βR > Rd > γR または βG > Gd > γG または βB > Bd > γBの場合、演算手段1407の演算結果を出力するようにスイッチ切替信号を発生。
【0077】
4) γR > Rd または γG > Gd または γB > Bd 場合、演算手段1408の演算結果を出力するようにスイッチ切替信号を発生。
【0078】
出力切替えスイッチ1404では、判定手段1403からスイッチ切替信号が送られるとそれに応じて出力スイッチを切替え、スイッチ切替信号に応じた演算手段の演算結果を出力画素値として出力する。また、出力された出力画素値は、基準バッファ1401にも入力され、新たな基準値として記録される。
【0079】
以上のように、本実施形態の画像処理装置においては、演算手段を複数個持ち、判定手段の判定結果に応じてどの演算手段の演算結果を出力するのかを切替えるという構成をとることで、個々の演算手段が単純な構成になり、ハードウェアによる実現が容易になる。また、演算手段は判定手段とは独立に、並列に動作して演算を行うために、1画素の処理時間を短縮することができ、画像全体に対する処理も高速に行うことができる。
【0080】
【発明の効果】
基準値バッファに記録された基準値はこれまでに処理した入力画素値に対応して決定されるため、数画素前に処理した画素値の情報も継承する。また、出力画素値の演算は、基準値と入力画素値による重み演算により決定されるため近い画素値が連続した部分でも完全に平坦な画像になることはなく、出力画像が不自然な画像になりにくい。このように、処理した画素値が基準値にフィードバックされるため、広範囲に渡るノイズ成分を平坦化による不自然さを発生させることなく、除去することができる。
【0081】
また、出力値演算ステップでの演算を線形演算で行うことで、より滑らかなノイズ成分の除去を行うことができる。
【0082】
また、入力画素値と基準値の差分ではなく、色空間上での距離を用いて処理を行うことにより、各成分の差分により判定する場合に比べさらに近い色成分だけが平坦化されるため、より正確なノイズ除去を行うことができる。
【0083】
また、複数の演算手段がそれぞれ指定した演算式に従い出力画素値の演算をおこない、どの演算手段の結果を出力するか決定する切替え手段を備えることを特徴とし、個々の演算手段が並列に演算を行うため高速に処理を行うことができる。
【0084】
また、各ラインの処理にあたり、先頭の画素値に基準値を初期化するため、画像情報として相関関係のある値が基準値として設定される。
【0085】
また、水平および垂直方向に対して処理を行うため、画像の水平または垂直方向のみに対してノイズ除去を行う場合に比べて、さらに広範囲に渡るノイズ成分を除去することがでる。
【図面の簡単な説明】
【図1】第1の実施の形態における画像処理装置が動作するコンピュータのブロック図
【図2】第1の実施の形態における画像処理装置の機能ブロック図
【図3】第1の実施の形態における画像処理装置の処理イメージ図
【図4】第1の実施の形態における画像処理装置の1ラインに対する処理フローチャート
【図5】第1の実施の形態における演算手段の内部処理ステップを示す図
【図6】第1の実施の形態における画像処理装置の1画素に対する処理フローチャート
【図7】第1の実施の形態における画像処理装置の処理例を示す図
【図8】第2の実施の形態における演算手段の内部処理ステップを示す図
【図9】第2の実施の形態における画像処理装置の1画素に対する処理フローチャート
【図10】第2の実施の形態における距離と距離係数の関係図
【図11】第2の実施の形態における画像処理装置の処理フローチャート
【図12】第3の実施の形態における画像処理装置の利用例を示す図
【図13】第3の実施の形態における画像処理装置へのデータの流れを示す図
【図14】第3の実施の形態における画像処理装置の機能ブロック図
【図15】従来の画像処理装置の機能ブロック図
【図16】ヒステリシススムージングの概念図
【符号の説明】
101 メモリ
102 画像処理装置
103 プロセッサ
104 入力インタフェース
105 ディスク装置
106 画像入力インタフェース
107 画像表示インタフェース
108 ディスプレイ
109 バス
201 基準バッファ
202 演算手段
301 メモリ
302 画像処理装置
501 入力画素値
502 基準値
503 差分演算ステップ
504 条件判定ステップ
505 出力値演算ステップ
506 基準値更新ステップ
507 出力画素値
508 新たな基準値
801 入力画素値
802 基準値
803 距離演算ステップ
804 クリップステップ
805 出力値演算ステップ
806 基準値更新ステップ
807 出力画素値
808 新たな基準値
1201 ディジタルビデオカメラ
1202 ビデオデッキ1
1203 ビデオデッキ2
1204 入力セレクタ
1205 出力セレクタ
1206 編集装置
1207 画像処理装置
1301 ディジタル画像信号
1302 入力バッファ
1303 画像処理装置
1304 出力バッファ
1305 ディジタル画像信号
1401 基準値バッファ
1402 差分演算手段
1403 判定手段
1404 出力切り替えスイッチ
1405 演算手段1
1406 演算手段2
1407 演算手段3
1408 演算手段4
1501 バッファ1
1502 バッファ2
1503 差分演算手段
1504 演算手段1
1505 演算手段2
1506 出力切り替えスイッチ
1507 判定手段[0001]
[Technical field to which the invention belongs]
The present invention relates to an image processing apparatus for removing noise from a digital image.
[0002]
[Prior art]
When processing images captured from digital cameras, scanners, video cameras, etc. in the image processing field, including image correction, color correction, mask generation from images, image recognition, etc., remove noise from the captured images. Therefore, the noise removal process plays a very important role.
[0003]
As this image noise removal processing, many methods are conventionally known. Among these, a well-known method is a method of applying a smoothing filter to a small region near each pixel, for example, a region such as 3 × 3 or 5 × 5. Since the image data is a data string having a two-dimensional correlation, a two-dimensional filter process is usually performed.
[0004]
Furthermore, when removing noise using the two-dimensional smoothing filter as described above, components other than noise, such as contour (edge), are also smoothed and blurred. A method has been devised in which the presence / absence of an edge in a small region is determined using Fourier transform, differentiation, dispersion, etc., and the degree of smoothing is changed based on the result.
[0005]
For the purpose of simplifying the processing, an image processing apparatus that removes noise by processing only in a one-dimensional direction of an image has been devised. Examples of such an image processing apparatus include the following.
[0006]
Here, FIG. 15 shows functional blocks of an image processing apparatus that performs noise removal using a one-dimensional filter as a conventional image processing apparatus.
[0007]
In order to simplify the description, the color space handled by the image processing apparatus is an RGB color space represented by three attributes of red (R), green (G), and blue (B).
[0008]
In FIG. 15, an input pixel value is a pixel value input as a one-dimensional data string, and an output pixel value is a pixel value output as a result of processing. Reference numeral 1501 denotes a buffer 1 for recording an input pixel value, 1502 denotes a buffer 2 for recording a pixel value immediately before the input pixel, and 1503 denotes a difference calculation means for obtaining an absolute value of a difference between the buffers 1 and 2, 1504 , 1505 is an arithmetic unit 1, 2 and 1506 for performing an operation using the pixel values stored in the buffers 1 and 2, and a changeover switch for outputting only one of the outputs of the arithmetic units 1 and 2 as an output pixel value. Reference numeral 1507 denotes determination means for switching the changeover switch 1507 based on the result of the difference calculation means 1503.
[0009]
Note that the changeover switch 1506 and the determination unit 1507 can be switched independently for each axis element of the color space. For example, the R element is the result of the calculation unit 1 (1504), and G and B are the calculation units. 2 (1505) can be output.
[0010]
When an input pixel value is input, the buffer 1 (1501) transfers the current contents of the buffer 1 to the buffer 2 and updates the recorded value to the input pixel value. The buffer 2 (1502) receives the pixel value sent from the buffer 1 and updates the value in the buffer. That is, when an input pixel value is input, the buffer 1 has the current input pixel value (r, g, b), and the buffer 2 has the previous pixel value (r ′, g ′, b ′). To be recorded. In the difference calculation means 1503, the absolute value of the difference between the pixel values recorded in the buffer 1 and the buffer 2 (| r−r ′ |, | g−g ′ |, | b−b ′ |) = (dr, dg, db). The obtained difference value is sent to the determination unit 1507, and the determination unit 1507 uses the threshold value α to switch the switch as follows. Note that d in the following conditional expression is a difference component dr, dg, db on each axis in the color space, and as described above, the changeover switch can switch independently for each axis component. Done.
[0011]
(1) d If <α, the calculation result of the calculation means 1 (1504) is output.
(2) When α <d, the calculation result of the calculation means 2 (1505) is output.
[0012]
Further, each calculation means performs the calculation of (Equation 3) and outputs the output pixel value (or, og, ob).
[0013]
[Equation 3]
Figure 0003777672
[0014]
That is, when the input pixel value and the previous pixel value are closer than α, the average of the two pixel values is output, and when the difference between the two pixel values is large, the input pixel value is output. A portion where the difference between the input pixel and the previous pixel value is large, i.e., an edge is considered, and flattening of the portion is suppressed.
[0015]
Further, as a method for removing noise by processing only in a one-dimensional direction, there is a method using what is called hysteresis smoothing.
[0016]
In the hysteresis smoothing, a bar having a height h as shown in FIG. 16A is moved along the input waveform, and the locus of the center point of the bar is output. The stick moves according to the following rules. In general, 0 is often used as the initial value.
[0017]
(1) Move the bar by one pixel from the current position.
(2) If the input pixel value is within the range indicated by the bar, the bar does not move in the vertical direction.
[0018]
(3) If the input pixel value is above (below) the upper (lower) end of the bar, it is moved vertically so that the upper (lower) end of the bar matches the incoming pixel value.
[0019]
By doing in this way, a noise component smaller than the height of the bar can be removed. Note that, by changing the height of the rod, the noise removal width can be adjusted as shown in FIG.
[0020]
In this method, if the process is performed from the left direction, the image will appear to be shifted in the right direction. To prevent this, the process is performed from both the left and right sides, and the average of both is output as a result. Has been devised.
[0021]
[Problems to be solved by the invention]
However, when noise removal is performed by a two-dimensional smoothing filter, processing is performed on a 3 × 3, 5 × 5 range of an image, so that the amount of calculation increases and it is difficult to perform high-speed processing.
[0022]
As a method having a high processing speed, there is a method in which an image is scanned only in the one-dimensional direction mentioned above, and the processing is performed. This method is a small region mentioned above, for example, 3 × 3 or 5 × 5. The ability to remove noise components is weaker than the method of averaging using a plane such as.
[0023]
In order to determine edge information, averaging processing is classified into several types based on differences from neighboring pixels. However, since processing is performed only by comparison with neighboring pixels, noise components over a wide range of images, for example, In the case of photographing with a digital camera or the like, it is impossible to remove a wide range of color unevenness generated in a dark portion of an image.
[0024]
In the hysteresis smoothing, when the input pixel value is within the height of the bar, the processing is performed without moving the bar, so that it is possible to remove noise components over a wide range of the image. However, with this method, if the pixel value within the range of the height of the bar is continuously input, the same value is always output. Therefore, when processing is performed on a natural image, the human skin portion is flattened. Will result in an unnatural image. Moreover, if the height (h) of the rod is reduced in order to prevent this, a problem arises that the noise component cannot be removed cleanly.
[0025]
The object of the present invention is that processing can be performed at the same speed as noise removal processing using a one-dimensional filter, noise components over a wide range can be removed while leaving edge components, and processing is performed on natural images. It is an object of the present invention to provide an image processing apparatus that does not cause unnaturalness in the case of occurrence.
[0026]
[Means for Solving the Problems]
The present invention provides an image processing apparatus capable of naturally removing a wide range of noise components by using a reference value in one-dimensional filter processing and feeding back a past processing result to input pixel value processing. is doing.
[0027]
DETAILED DESCRIPTION OF THE INVENTION
(Embodiment 1)
The present embodiment will be described below with reference to the drawings.
[0028]
The image processing apparatus according to the present embodiment is realized using software operating on a computer, hardware incorporated in the computer, or both software and hardware, and for still images and moving images captured on the computer. Process. Note that when realized only by software, the image processing apparatus takes the form of a program that runs on a processor of a computer.
[0029]
FIG. 1 shows a block diagram of a computer on which the image processing apparatus operates. In FIG. 1, 101 is a memory for storing programs and data, 102 is an image processing apparatus according to the present embodiment, 103 is a processor, 104 is an input interface for connecting devices such as a keyboard, a mouse, and a tablet for user input, Reference numeral 105 denotes an external storage device, a disk device, 106 an image input interface for inputting an image from a digital camera, a video deck, a color scanner, or the like, 107 an image display interface for displaying a computer screen, and 108 an image display. A display connected to the interface, and 109 is an internal bus connecting these.
[0030]
A block structure inside the image processing apparatus 102 is shown in FIG. In FIG. 2, 201 is a reference value buffer for recording a reference value, and 202 is a calculation means for performing a calculation for noise removal.
[0031]
An image input from a scanner or digital camera using the image input interface 106 is recorded in the memory 101 or the disk device 105.
[0032]
Here, a case where processing is performed on image data recorded on the disk device 105 will be described. The image recorded on the disk device 105 is first read into the memory 101 by a keyboard or mouse operation connected to the user input interface 104 and displayed on the display 108. Here, when the user instructs the computer to execute image processing, the processor 103 passes the pixel data of the image recorded in the memory 101 to the image processing apparatus 102 as a data string in a one-dimensional direction (from left to right). Note that the image data can be expected to have the same effect as in the present embodiment in any case from right to left, top to bottom, and bottom to top. In the image processing apparatus 102, the calculation unit 202 performs processing using the received pixel data and the reference value recorded in the reference value buffer 201, and outputs the processed pixel data. Further, the calculation result of the calculation means 202 is recorded in the reference value buffer 201 as a new reference value. The processor 103 writes the pixel data output from the image processing apparatus 102 into the memory 101 again and displays the pixel data on the display 108. Note that the place where the result of the image processing is written may be the position of the original image on the memory 101 or a different position. Further, the processor 103 takes out pixel data at the head of the line (or the left end in the case of the direction from left to right) before processing each line of the image, and inputs it to the image processing apparatus 102 as a reference value. In the image processing apparatus 102, this value is recorded in the reference value buffer 201 as a new reference value.
[0033]
In this embodiment, since noise components can be removed only by inputting information about the pixel to be processed in one direction of the image, the user can perform image noise removal processing using a computer at high speed. Can do. In addition, since the reference value is initialized to the first value of each line, noise removal is performed on each line without being affected by the last value of the previously processed line that has a low image dependency. Is possible.
[0034]
Next, processing for each line of the image processing apparatus will be described in detail. In this embodiment, the color space of the image to be processed is a YUV space used for a television signal or the like, and is expressed as (Y, U, V). Further, the input pixel value is indicated as (yi, ui, vi), the output pixel value is indicated as (yo, uo, vo), and the reference value is indicated as (yb, ub, vb). In this embodiment, the color space is a YUV space, but other color spaces such as an orthogonal space such as an RGB space, an XYZ space, and a CIE-LUV space, and a cylindrical space such as an HSV space, an HLS space, and an LCH space. The same effect can be expected even when using.
[0035]
FIG. 3 shows a processing image of the image processing apparatus.
3, 301 corresponds to 101 in FIG. 1, and 302 corresponds to 102 in FIG. Pixel data read from the memory 301 via the processor 103 is input to the image processing apparatus 302. Then, the result processed by the image processing apparatus 302 is written again into the memory 301 by the processor 103. At this time, since the pixel data is input to the image processing apparatus 302 as a one-dimensional data string by the processor 103, the image processing apparatus only processes the input pixel data one by one.
[0036]
Initialization of the first reference value of each line is performed according to the flowchart shown in FIG. The processor 103 first extracts data for one line (401). Next, the first value of the line is input as a reference value (yb, ub, vb), and the reference value recorded in the reference value recording buffer is changed to the first pixel value of the line (402). Thereafter, the image data is input to the image processing apparatus 102 pixel by pixel (403), and this process is repeated until the processing for one line is completed. When the processing for one line is completed, the processing for the next one line is performed again. By repeating this for all the lines of the image, the processing for the image is completed.
[0037]
Next, processing for one pixel will be described.
FIG. 5 shows internal processing of the calculation means 202 of FIG. In FIG. 5, reference numeral 501 denotes an input pixel value input to the calculation means 202, 502 denotes a reference value recorded in the reference value buffer 201, and 503 calculates an absolute value of a difference between the input pixel value 501 and the reference value 502. A difference calculation step 504 is a condition determination step for determining a condition based on the calculation result of the difference calculation step 503 and determining a calculation method of the output calculation step 504, and 505 is an input pixel value based on the condition determination result of the condition determination step 503 An output value calculation step for performing calculation using 501 and the reference value 502 to determine an output pixel value, and 506, the output pixel value calculated in the output value calculation step as a new reference value, recorded in the reference value buffer 201 A reference value update step for updating the reference value and outputting the output pixel value, 507 is an output pixel value output from the computing means 202, 508 Updated after processing one pixel, a new reference value recorded in the reference value buffer 201.
[0038]
FIG. 6 is a flowchart showing processing for one pixel. In the flowchart of FIG. 6, 601 corresponds to the difference calculation step 503, 602 to 604 correspond to the condition determination step 504, 605 to 608 correspond to the output value calculation step, and 609 correspond to the reference value update step.
[0039]
In 601, the absolute value (dy, du, dv) of the difference between the reference value (yb, ub, vb) and the input pixel value (yi, ui, vi) is obtained. Next, with this value as a condition, there are four cases. [Alpha] y, [alpha] u, [alpha] v, [beta] y, [beta] u, [beta] v, [gamma] y, [gamma] u, [gamma] v in 602 to 604 are thresholds that satisfy the condition of (Equation 4). However, ymin, ymax, umin, umax, vmin, vmax are the minimum and maximum values of y, u, v in the YUV space, respectively.
[0040]
[Expression 4]
Figure 0003777672
[0041]
Based on the above conditions, which of 605 to 608 is calculated is determined, and the output pixel value is calculated. In the calculation of the output value calculation step 505 in the present embodiment, when the absolute value (dy, du, dv) of the difference of each component is large, the output pixel value (yo, uo, vo) is the same as the input pixel value. As the absolute value of the difference decreases, the weight of the reference value with respect to the output pixel value increases.
[0042]
That is, when the reference value and the input pixel value are close to each other, the weight of the reference value is increased, and when the input pixel value is far away, the weight of the reference value is decreased to reduce the noise component generated by the fluctuation of the value. . In addition, when the absolute value of the difference between the reference value and the input pixel value is greater than or equal to the threshold value αy, αu, αv, the input pixel value is output as it is to protect an edge having a large difference between pixels. .
[0043]
Reference numeral 609 denotes processing for substituting and updating the output pixel value (yo, uo, vo) for the reference value. By this processing, the reference value for the next pixel becomes the output pixel value.
[0044]
FIG. 7 is a graph showing a processing example of the image processing apparatus when αy = αu = αv = 0.6, βy = βu = βv = 0.4, and γy = γu = γv = 0.2. Note that the graph is an output result of only the Y axis for simplicity. The reference value is initialized to zero. The solid line graph in FIG. 7 is an input value, and the output result obtained by inputting this value is a dotted line graph. The horizontal axis of this graph indicates the number of input pixels, and the vertical axis indicates the Y component value of the pixel value. As can be seen from this graph, in the portion (a) where the change in the input value is small, the change in the output value is smaller than the change in the input value, that is, the noise component is removed. In addition, in the large change portion (b), the output value is changed in the same manner as the input value, which indicates that the edge portion is protected. Furthermore, when attention is paid to the part (a) where the change in the input value is small, the output value does not become a flat straight line as in the case of noise removal by hysteresis smoothing, but changes gently according to the input value. Yes. In this way, it is not a division where the small part of the change in the image is simply flattened, but by slightly moving up and down in response to fluctuations in the input value, the gradation part such as the face does not become a flat color, Natural noise removal can be performed.
[0045]
In the present embodiment, the condition determination step performs condition determination and calculation in four cases, but the condition determination step has two or more condition divisions, and the reference value and the reference value are determined according to the case division. If the weight of the input pixel value is changed, the same effect as in this embodiment can be expected.
[0046]
As described above, in the image processing apparatus according to the first embodiment, it is possible to perform noise removal at high speed while leaving edges on still images and moving images captured on a computer. In addition, even if there is little change in the image, it is not simply flattened, but the image shake information of the original image is preserved even after noise removal, so the natural image was processed. In some cases, noise can be removed without causing unnaturalness.
[0047]
(Embodiment 2)
In the second embodiment, it is intended to perform noise removal with better results. The block of the computer in which the image processing apparatus in FIG. 1 operates and the block structure inside the image processing apparatus in FIG. Although it is the same as that of 1st Embodiment, the inside of a calculating means is substituted by the thing of FIG. In this embodiment, the color space processed by the image processing apparatus is a La * b * space that is a uniform color space, and the value range of each axis has a difference between the maximum value and the minimum value of 1.0. If it is clipped as In this embodiment, the color space is a La * b * space, but an orthogonal space such as an RGB space, an XYZ space, and a CIE-LUV space, and a cylindrical space such as an HSV space, an HLS space, and an LCH space, etc. The same effect can be expected even when the color space is used.
[0048]
Hereinafter, the second embodiment will be described with reference to the drawings. In FIG. 8, reference numeral 801 denotes an input pixel value input to the calculation means 202, 802 denotes a reference value recorded in the reference buffer 201, and 803 calculates a distance in the color space between the input pixel value 801 and the reference value 802. A distance calculation step, 804 is a clip step for adding a weight to the distance calculated in the distance calculation step 803 and calculating a distance coefficient that is a clipped value, 805 is an input pixel value 801, a reference value 802, and a distance calculation An output value calculation step for calculating the output pixel value by performing the calculation using the distance coefficient calculated in step 804; and 806, the output pixel value calculated in the output value calculation step as a new reference value. A reference value update step 807 for updating the recorded reference value and simultaneously outputting the output pixel value, Pixel values, 808 result of the processing for one pixel by the operation unit 202, a new reference value which is newly recorded in the reference value buffer 201.
[0049]
FIG. 9 is a flowchart showing processing for one pixel in the calculation means 202. In FIG. 9, 901 corresponds to the distance calculation step 803, 902 corresponds to the clip step 804, 903 corresponds to the output value calculation step 805, and 904 corresponds to the reference value update step 806. Note that the processing of 904 is the same as that of 610 in the first embodiment, and a description thereof will be omitted here.
[0050]
In 901, a process of obtaining a distance D in the color space from the reference value (Lb, a * b, b * b) and the input pixel value (Li, a * i, b * i) is performed. (Equation 5) is an expression for obtaining the distance D, which is an expression for obtaining a distance in a general three-dimensional space, in which the square root is obtained by adding the squares of the differences between the axes. In this embodiment, (Equation 5) is the distance on the color space, but the absolute value of the difference between each axis is added (distance distance), or the square root of (Equation 5) is not calculated. Even when (square distance) is used, the same effect as in the present embodiment can be expected.
[0051]
[Equation 5]
Figure 0003777672
[0052]
Reference numeral 902 denotes a clip step for calculating the distance coefficient x. When the weights are w1 and w2, the calculation of (Expression 6) is performed.
[0053]
[Formula 6]
Figure 0003777672
[0054]
(D × w1) in (Expression 6) is an operation for increasing the slope of the distance D. In this operation, 0.0 <D <1.0 / w1 part takes values from 0.0 to 1.0. The addition of w2 is for translating upward with respect to the whole so that x has a certain value even when the distance D is 0. In addition, since the value of x is clipped so as to be in the range of 0.0 to 1.0, a portion having a value of 1.0 or more is clipped to 1.0.
[0055]
An example of the calculation result of (Equation 6) is shown in FIG. FIG. 10 is a graph showing the relationship between the distance D and the distance coefficient x, where w1 = 5, w2 = 0.2, the horizontal axis is the distance D, and the vertical axis is the distance coefficient x. In FIG. 10, it can be seen that the portion of the graph having a slope is the portion (a). In this example, the portion in the range of 0.0 to 1.8 has a slope, and only this range is the influence range of the distance coefficient x. In other words, by calculating the distance coefficient using (Equation 6), it is possible to set the range of influence of the distance coefficient only for a portion near the distance. In this example, w1 = 5, w2 = 0.2, but the value of w1, w2 is 0.0. <w1 <10.0,0.0 <w2 Even when the value is changed to an arbitrary value within the range of <1.0, the same effect as in the present embodiment can be expected.
[0056]
Reference numeral 903 denotes calculation of output pixel values (Lo, a * o, b * o) in the output value calculation step 805, which is expressed by (Equation 7).
[0057]
[Expression 7]
Figure 0003777672
[0058]
(Equation 7) is an expression for weighting the reference value (Lb, a * b, b * b) or the input pixel value (Li, a * i, b * i) depending on the size of the distance coefficient x It is. 0.0 <w2 As can be seen from the condition of <1.0 and the graph of FIG. 10, the distance coefficient x has a minimum value of w2> 0, that is, the distance coefficient x has a value of 0 or more. Even if the distance at is very close, the reference value is affected by the weight of w2. For this reason, even if the reference value and the input pixel value are very close to each other, the output value reflects not the input pixel value but also the reference value. Therefore, the output pixel value does not become a flat pixel value even when a similar color is continuously input as the input pixel value, and fluctuates in proportion to w2. In other words, it is not the case where the small change part in the image is simply flattened, but it is natural that the gradation part such as the face does not become flat color by slightly moving up and down in response to the fluctuation of the input value. Noise removal can be performed.
[0059]
The above is the processing of the calculation means for one pixel. Next, processing for the entire image in the present embodiment will be described with reference to the drawings.
[0060]
Also in this embodiment, as shown in FIG. 3 of the first embodiment, the image data is read from the memory 301 by the processor and input to the image processing apparatus 302 as one-dimensional data. In the image processing apparatus 302, an output pixel value is calculated for the input pixel, and the result is written into the memory 301 again by the processor. In the present embodiment, this operation is performed twice by changing the reading direction as one-dimensional data from the memory to horizontal and vertical. FIG. 11 shows a flowchart of processing for an image in this embodiment.
[0061]
The flowchart of FIG. 11 can be divided into two partial processes. The first part is the process 1101 for the horizontal direction, and the second part is the process 1102 for the vertical direction. The general flow of the two parts is almost the same. First, the pixel value of the pixel at the head of the horizontal (vertical) line is recorded in the reference buffer 201 as a reference value (1103, 1104). Thereafter, the processing (1105) for one pixel shown in FIG. 9 is performed, and this is repeated until the processing for one line is completed (1106, 1107). When the process for one line is completed, the process between 1108 and 1109 or the process between 1110 and 1111 is repeated until the process for all the pixels is completed.
[0062]
In this way, the image processing apparatus performs processing multiple times while changing the direction of one-dimensionalization of input data, thereby flattening the image in both the vertical and horizontal directions in the processing of the one-dimensional data. And noise removal can be performed at high speed in the two-dimensional direction of the image. In this embodiment, processing is performed in the vertical direction after processing in the horizontal direction, but conversely, even in the case where processing is performed in the vertical direction and then processing is performed in the horizontal direction, Similar effects can be expected.
[0063]
As described above, in the image processing apparatus according to the second embodiment, in addition to the image processing apparatus according to the second embodiment, the edge portion is calculated using the distance in the color space, so that the difference is calculated. As a result, it is possible to accurately determine a color closer to that of the case. In addition, since the output pixel value is calculated by one linear expression instead of dividing the calculation method according to the condition, the reference value for the output pixel value and the input pixel value are continuously weighted with respect to the distance D, and smoother. Noise removal can be performed. Furthermore, it is possible to remove noise in the two-dimensional direction of the image as compared with the case where the processing is performed only once by changing the image reading direction and passing the image processing apparatus a plurality of times.
[0064]
(Third embodiment)
In the third embodiment, in the situation where an image processing apparatus is used in an editing apparatus connected to a video deck or a video camera, the image processing apparatus is configured by simple hardware and an ASIC and incorporated as a part of the editing apparatus. This is a configuration that takes into account. In the present embodiment, the color space processed by the image processing apparatus is an RGB space, the input pixel value is (Ri, Gi, Bi), and the output pixel value is (Ro, Go, Bo). In this embodiment, the color space is RGB space, but other color spaces such as orthogonal space such as YUV space, XYZ space, CIE-LUV space, and cylindrical space such as HSV space, HLS space, LCH space, etc. The same effect can be expected even when using.
[0065]
The image processing apparatus according to the present embodiment will be described below with reference to the drawings. FIG. 12 is a configuration diagram when the image processing apparatus is connected to a video editing device. In FIG. 12, 1201 is a digital video camera, 1202 and 1203 are editing video decks, 1204 is an input selector for switching from 1201 to 1203 of the input, 1205 is editing to which of the video decks 1202 and 1203 An output selector for switching whether to output a result, 1206 is an editing apparatus for controlling a digital camera, a video deck, various effectors, and the like, and 1207 is an image processing apparatus in this embodiment.
[0066]
When a digital video camera is set as an input device by the input selector 1204 and a video deck 2 is set as an output destination by the output selector 1205, the digital image signal output from the digital video camera is edited via the input selector 1204. The editing apparatus converts the image data into an RGB space to be processed by the image processing apparatus, and sends the converted pixel data to the image processing apparatus 1207. The image processing device 1207 processes the input pixel data and outputs the result to the editing device 1206. The editing device 1206 converts the output of the image processing device 1207 into the signal format of the video deck 2 and records the result on the video deck 2 via the output selector 1205.
[0067]
Further, the editing device 1206 converts the reference value setting signal and the first pixel value of the horizontal line into the RGB space and transmits them to the image processing device 1207 for each input of the head of the horizontal line of the input image. In the image processing apparatus 1207, when a reference value setting signal is input, the pixel value input at the same time is recorded as a reference value.
[0068]
FIG. 13 shows a data flow for the above processing. In FIG. 13, reference numerals 1301 and 1305 denote digital image signals inputted to and outputted from the editing apparatus 1206, respectively. Reference numerals 1302 and 1304 denote input and output buffers in the editing apparatus 1206, which perform digital signal conversion using the buffers. Reference numeral 1303 denotes an image processing apparatus according to this embodiment, which inputs pixel data of an image signal-converted via an input buffer 1302 and returns a processing result to an output buffer 1304.
[0069]
Hereinafter, the image processing apparatus 1303 will be described in detail with reference to the drawings. FIG. 14 shows an internal configuration diagram of the image processing apparatus 1303. In FIG. 14, reference numeral 1401 denotes a reference value buffer for recording a reference value, 1402 denotes difference calculation means for calculating the absolute value of the difference between the input pixel value and the reference value, and 1403 denotes the absolute value of the difference calculated by the difference calculation means 1402. As a determination means for outputting a switch switching signal, 1404 is an output changeover switch for outputting one of the outputs of the calculation means as an output pixel value in response to a switch switching signal output from the determination means 1403, and 1405 to 1408 are input with a reference value. This is a calculation means for performing different calculations using pixel values and outputting the results as output pixel values.
[0070]
The reference value recorded in the reference value buffer 1401 is updated each time a reference value setting signal from the outside of the image processing means or an output pixel value is output. Therefore, unless a reference value setting signal is input from the outside, the reference value recorded by the reference value buffer 1401 is the value of the output pixel with respect to the previous input pixel. When the input pixel value (Ri, Gi, Bi) is input, the absolute value (Rd, Gd, Bd) = (| Ri− of the difference from the reference value (Rb, Gb, Bb) recorded in the reference value buffer Rb |, | Gi-Gb |, | Bi-Bb |) is calculated by the difference calculation means 1402. In addition, calculations using the input pixel value and the reference value are performed by the calculation units 1405 to 1408. The calculation in the calculation means 1405 to 1408 is expressed by (Equation 8).
[0071]
[Equation 8]
Figure 0003777672
[0072]
As can be seen from (Equation 8), each arithmetic means performs an operation in which the weight of the input pixel value and the reference value is changed. In the present embodiment, four calculation means 1405 to 1408 are used, but the number of calculation means for performing different weights for the input pixel value and the output value of the reference value is two or more, If the determination unit 1403 and the output changeover switch 1404 can switch which of the calculation results output from the calculation unit is output as the output pixel value according to the calculation result of the difference calculation unit 1402, the same effects as in the present embodiment Can be expected.
[0073]
The determination means determines which of the outputs of the calculation means having different weights is output. The determination means generates a switch switching signal under the following conditions using threshold values αR, αG, αB, βR, βG, βB, γR, γG, γB.
[0074]
1) When Rd> αR or Gd> αG or Bd> αB, a switch switching signal is generated so that the calculation result of the calculation means 1405 is output.
[0075]
2) When αR>Rd> βR or αG>Gd> βG or αB>Bd> βB, a switch switching signal is generated so that the calculation result of the calculation means 1406 is output.
[0076]
3) When [beta] R>Rd> [gamma] R or [beta] G>Gd> [gamma] G or [beta] B>Bd> [gamma] B, a switch switching signal is generated so that the calculation result of the calculation means 1407 is output.
[0077]
4) When γR> Rd or γG> Gd or γB> Bd, a switch switching signal is generated so that the calculation result of the calculation means 1408 is output.
[0078]
In the output changeover switch 1404, when a switch change signal is sent from the determination means 1403, the output switch is changed accordingly, and the calculation result of the calculation means corresponding to the switch change signal is output as an output pixel value. The output pixel value that has been output is also input to the reference buffer 1401 and recorded as a new reference value.
[0079]
As described above, the image processing apparatus according to the present embodiment has a plurality of calculation units and switches the calculation result of which calculation unit to output according to the determination result of the determination unit. The calculation means is simple and can be easily realized by hardware. In addition, since the calculation means operates in parallel and performs the calculation independently of the determination means, the processing time for one pixel can be shortened, and the entire image can be processed at high speed.
[0080]
【The invention's effect】
Since the reference value recorded in the reference value buffer is determined corresponding to the input pixel value processed so far, the information of the pixel value processed several pixels before is also inherited. In addition, since the calculation of the output pixel value is determined by the weight calculation based on the reference value and the input pixel value, the output image does not become a completely flat image even in a portion where the close pixel values are continuous, and the output image becomes an unnatural image. Hard to become. Thus, since the processed pixel value is fed back to the reference value, a wide range of noise components can be removed without causing unnaturalness due to flattening.
[0081]
Further, by performing the calculation in the output value calculation step by linear calculation, it is possible to remove noise components more smoothly.
[0082]
In addition, by performing processing using the distance in the color space instead of the difference between the input pixel value and the reference value, only the color components closer to each other are flattened than in the case where the determination is made based on the difference between the components. More accurate noise removal can be performed.
[0083]
Further, the present invention is characterized by comprising a switching means for calculating an output pixel value according to an arithmetic expression designated by each of a plurality of arithmetic means and determining which arithmetic means to output the result, and each arithmetic means calculates in parallel. Therefore, processing can be performed at high speed.
[0084]
Further, in the process of each line, a reference value is set as the reference value for the first pixel value so that a correlated value is set as the image information.
[0085]
Further, since processing is performed in the horizontal and vertical directions, it is possible to remove noise components over a wider range than in the case where noise is removed only in the horizontal or vertical direction of an image.
[Brief description of the drawings]
FIG. 1 is a block diagram of a computer on which an image processing apparatus according to a first embodiment operates.
FIG. 2 is a functional block diagram of the image processing apparatus according to the first embodiment.
FIG. 3 is a processing image diagram of the image processing apparatus according to the first embodiment.
FIG. 4 is a process flowchart for one line of the image processing apparatus according to the first embodiment.
FIG. 5 is a diagram showing internal processing steps of the calculation means in the first embodiment.
FIG. 6 is a process flowchart for one pixel of the image processing apparatus according to the first embodiment.
FIG. 7 is a diagram illustrating a processing example of the image processing apparatus according to the first embodiment.
FIG. 8 is a diagram showing internal processing steps of a calculation means in the second embodiment.
FIG. 9 is a process flowchart for one pixel of the image processing apparatus according to the second embodiment.
FIG. 10 is a relationship diagram between a distance and a distance coefficient in the second embodiment.
FIG. 11 is a process flowchart of the image processing apparatus according to the second embodiment.
FIG. 12 is a diagram illustrating an example of using an image processing apparatus according to the third embodiment.
FIG. 13 is a diagram showing a data flow to an image processing apparatus according to the third embodiment.
FIG. 14 is a functional block diagram of an image processing apparatus according to a third embodiment.
FIG. 15 is a functional block diagram of a conventional image processing apparatus.
FIG. 16 is a conceptual diagram of hysteresis smoothing.
[Explanation of symbols]
101 memory
102 Image processing apparatus
103 processor
104 Input interface
105 disk unit
106 Image input interface
107 Image display interface
108 display
109 bus
201 Reference buffer
202 Calculation means
301 memory
302 Image processing apparatus
501 Input pixel value
502 Reference value
503 Difference calculation step
504 Condition judgment step
505 Output value calculation step
506 Reference value update step
507 Output pixel value
508 New reference value
801 Input pixel value
802 Reference value
803 Distance calculation step
804 clip step
805 Output value calculation step
806 Reference value update step
807 Output pixel value
808 New reference value
1201 Digital video camera
1202 VCR 1
1203 VCR 2
1204 Input selector
1205 Output selector
1206 Editing device
1207 Image processing apparatus
1301 Digital image signal
1302 Input buffer
1303 Image processing apparatus
1304 Output buffer
1305 Digital image signal
1401 Reference value buffer
1402 Difference calculation means
1403 Determination means
1404 Output selector switch
1405 Calculation means 1
1406 Calculation means 2
1407 Calculation means 3
1408 Calculation means 4
1501 Buffer 1
1502 Buffer 2
1503 Difference calculation means
1504 Calculation means 1
1505 Calculation means 2
1506 Output selector switch
1507 determination means

Claims (10)

入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との差分を用いた関数により出力画素値を演算する演算手段を備え、
前記演算手段は、前記出力画素値を新たな基準値として基準値バッファに書き込み、基準値バッファに記録された基準値を更新する画像処理装置において、
前記演算手段は、
入力された前記入力画素値と前記基準値の差分による値をとる差分演算ステップと、
前記差分演算ステップで演算された差分による値を条件として場合分けをする条件判定ステップと、
前記条件判定ステップでの場合分けにしたがい、前記入力画素値と前記基準値との重みを決定し、前記入力画素値と前記基準値との重みを利用して出力画素値の演算を行う出力値演算ステップと、
前記出力値演算ステップが出力した出力画素値を新たな基準値として、基準値バッファの内容を更新する基準値更新ステップと、
を含むことを特徴とする画像処理方法。
Inputting an input image as a one-dimensional data string consisting of pixel values, and comprising a calculation means for calculating an output pixel value by a function using a difference between the input pixel value and a reference value recorded in a reference value buffer,
In the image processing apparatus, the arithmetic means writes the output pixel value as a new reference value in a reference value buffer and updates the reference value recorded in the reference value buffer.
The computing means is
A difference calculating step for taking a value based on a difference between the input pixel value and the reference value,
A condition determination step for performing case classification using a value obtained by the difference calculated in the difference calculation step as a condition;
An output value for determining a weight between the input pixel value and the reference value, and calculating an output pixel value using the weight between the input pixel value and the reference value according to the case classification in the condition determining step A calculation step;
A reference value update step of updating the content of the reference value buffer using the output pixel value output by the output value calculation step as a new reference value;
An image processing method comprising:
入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との差分を用いた関数により出力画素値を演算する演算手段を備え、
前記演算手段は、前記出力画素値を新たな基準値として基準値バッファに書き込み、基準値バッファに記録された基準値を更新する画像処理装置において、
前記演算手段は、
入力された前記入力画素値Sと前記基準値Rの差分の絶対値をとる差分演算ステップと、
前記差分演算ステップで演算された差分の絶対値|S−R|を0.0〜1.0に正規化されるように第1の重み係数を乗算し、この値に第2の重み係数を加算して1.0を超える値については1.0にクリップした値xを生成するクリップステップと、
前記クリップステップから出力された値と、前記入力画素値Sと前記基準値Rを用いて(数1)の演算を行い出力画素値Dを出力する出力値演算ステップと、
Figure 0003777672
前記出力値演算ステップが出力した出力画素値を新たな基準値として、基準値バッファの内容を更新する基準値更新ステップと、
を含むことを特徴とする画像処理方法。
Inputting an input image as a one-dimensional data string consisting of pixel values, and comprising a calculation means for calculating an output pixel value by a function using a difference between the input pixel value and a reference value recorded in a reference value buffer,
In the image processing apparatus, the arithmetic means writes the output pixel value as a new reference value in a reference value buffer and updates the reference value recorded in the reference value buffer.
The computing means is
A difference calculating step for taking an absolute value of a difference between the input pixel value S and the reference value R;
The absolute value | S−R | of the difference calculated in the difference calculating step is multiplied by a first weighting factor so as to be normalized to 0.0 to 1.0, and this value is multiplied by a second weighting factor. A step of adding to generate a value x clipped to 1.0 for values exceeding 1.0 ;
An output value calculation step of performing the calculation of (Equation 1) using the value output from the clipping step, the input pixel value S and the reference value R, and outputting an output pixel value D;
Figure 0003777672
A reference value update step of updating the content of the reference value buffer using the output pixel value output by the output value calculation step as a new reference value;
An image processing method comprising:
入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との色空間上での距離を用いた関数により出力画素値を演算する演算手段を備え、
前記演算手段は、前記出力画素値を新たな基準値として基準値バッファに書き込み、基準値バッファに記録された基準値を更新する画像処理装置において、
前記演算手段は、
入力された前記入力画素値と前記基準値との色空間上での距離を演算する距離演算ステップと、
前記距離演算ステップで演算された距離を条件として場合分けをする条件判定ステップと、
前記条件判定ステップでの場合分けにしたがい、前記入力画素値と前記基準値との重みを決定し、出力画素値の演算を行う出力値演算ステップと、
前記出力値演算ステップが出力した出力画素値を新たな基準値として、基準値バッファの内容を更新する基準値更新ステップと、
を含むことを特徴とする画像処理方法。
The input image is input as a one-dimensional data string consisting of pixel values, and the output pixel value is calculated by a function using the distance in the color space between the input pixel value and the reference value recorded in the reference value buffer. Computation means,
In the image processing apparatus, the arithmetic means writes the output pixel value as a new reference value in a reference value buffer and updates the reference value recorded in the reference value buffer.
The computing means is
A distance calculating step for calculating a distance on the color space between the input pixel value and the reference value,
A condition determination step for performing case classification based on the distance calculated in the distance calculation step;
According to the case classification in the condition determination step, an output value calculation step for determining a weight between the input pixel value and the reference value and calculating an output pixel value;
A reference value update step of updating the content of the reference value buffer using the output pixel value output by the output value calculation step as a new reference value;
An image processing method comprising:
入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との色空間上での距離を用いた関数により出力画素値を演算する演算手段を備え、
前記演算手段は、前記出力画素値を新たな基準値として基準値バッファに書き込み、基準値バッファに記録された基準値を更新する画像処理装置において、
前記演算手段は、入力された前記入力画素値Sと前記基準値Rの色空間上で距離を演算する距離演算ステップと、
前記距離演算ステップで演算された距離を0.0〜1.0に正規化されるように第1の重み係数を乗算し、この値に第2の重み係数を加算して1.0を超える値については1.0にクリップした値xを生成するクリップステップと、
前記クリップステップから出力された値と、前記入力画素値Sと前記基準値Rを用いて(数2)の演算を行い出力画素値Dを出力する出力値演算ステップと、
Figure 0003777672
前記出力値演算ステップが出力した出力画素値を新たな基準値として、基準値バッファの内容を更新する基準値更新ステップと、
を含むことを特徴とする画像処理方法。
The input image is input as a one-dimensional data string consisting of pixel values, and the output pixel value is calculated by a function using the distance in the color space between the input pixel value and the reference value recorded in the reference value buffer. Computation means,
In the image processing apparatus, the arithmetic means writes the output pixel value as a new reference value in a reference value buffer and updates the reference value recorded in the reference value buffer.
The calculation means calculates a distance in the color space of the input pixel value S and the reference value R that are input,
The first weighting factor is multiplied so that the distance calculated in the distance calculating step is normalized to 0.0 to 1.0, and the second weighting factor is added to this value to exceed 1.0. For the value, a clipping step that generates a value x clipped to 1.0 ;
An output value calculation step of performing the calculation of (Expression 2) using the value output from the clipping step, the input pixel value S and the reference value R, and outputting an output pixel value D;
Figure 0003777672
A reference value update step of updating the content of the reference value buffer using the output pixel value output by the output value calculation step as a new reference value;
An image processing method comprising:
入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との差分をとる差分演算手段と、
前記差分演算手段から出力された値を基に条件判定を行い、切替えスイッチ制御信号を発生する判定手段と、
入力画素値と基準バッファを用いた演算を行い、その結果を前記切替え手段に入力する2つ以上の演算手段とを備え、
前記判定手段から出力された切替えスイッチ制御信号を基に、前記演算手段のどの出力結果を出力画素値として出力するかを切替え、前記出力画素値を新たな基準値として、基準値バッファの内容を更新するよう構成された画像処理装置。
A difference calculating means for inputting an input image as a one-dimensional data string composed of pixel values and taking a difference between the input pixel value and a reference value recorded in a reference value buffer;
A determination unit that performs condition determination based on a value output from the difference calculation unit and generates a changeover switch control signal;
Two or more arithmetic means for performing an arithmetic operation using an input pixel value and a reference buffer and inputting the result to the switching means ;
Based on the changeover switch control signal output from the determination unit, which output result of the calculation unit is switched as an output pixel value, the output pixel value is set as a new reference value, and the content of the reference value buffer is changed. An image processing device configured to update .
入力画像を画素値からなる一次元のデータ列として入力し、入力された画素値と基準値バッファに記録された基準値との距離をとる距離演算手段と、
前記距離演算手段から出力された値を基に条件判定を行い、切替えスイッチ制御信号を発生する判定手段と、
入力画素値と基準バッファを用いた演算を行い、その結果を前記切替え手段に入力する2つ以上の演算手段とを備え、
前記判定手段から出力された切替えスイッチ制御信号を基に、前記演算手段のどの出力結果を出力画素値として出力するかを切替え、前記出力画素値を新たな基準値として、基準値バッファの内容を更新するよう構成された画像処理装置。
A distance calculating means for inputting an input image as a one-dimensional data string composed of pixel values and taking a distance between the input pixel value and a reference value recorded in a reference value buffer;
A determination unit that performs a condition determination based on a value output from the distance calculation unit and generates a changeover switch control signal;
Two or more arithmetic means for performing an arithmetic operation using an input pixel value and a reference buffer and inputting the result to the switching means ;
Based on the changeover switch control signal output from the determination unit, which output result of the calculation unit is switched as an output pixel value, the output pixel value is set as a new reference value, and the content of the reference value buffer is changed. An image processing device configured to update .
入力画像は、画像を水平成分方向に一次元データとして入力されることを特徴とし、
基準値バッファは、各水平成分の先頭画素値の入力時に先頭の画素値に初期化されることを特徴とする請求項1〜4の何れかに記載の画像処理方法。
The input image is characterized in that the image is input as one-dimensional data in the horizontal component direction,
The image processing method according to claim 1, wherein the reference value buffer is initialized to a leading pixel value when a leading pixel value of each horizontal component is input.
入力画像は、画像を垂直成分方向に一次元データとして入力されることを特徴とし、
前記基準値バッファは、各垂直成分の先頭画素値の入力時に先頭の画素値に初期化されることを特徴とする請求項1〜4の何れかに記載の画像処理方法。
The input image is characterized in that the image is input as one-dimensional data in the vertical component direction,
The image processing method according to claim 1, wherein the reference value buffer is initialized to a leading pixel value when a leading pixel value of each vertical component is input.
請求項8記載の画像処理方法による出力を入力画像とすることを特徴とする請求項7記載の画像処理方法。  The image processing method according to claim 7, wherein an output by the image processing method according to claim 8 is used as an input image. 請求項7記載の画像処理方法による出力を入力画像とすることを特徴とする請求項8記載の画像処理方法。  9. The image processing method according to claim 8, wherein an output by the image processing method according to claim 7 is used as an input image.
JP26690596A 1996-10-08 1996-10-08 Image processing method and image processing apparatus Expired - Lifetime JP3777672B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26690596A JP3777672B2 (en) 1996-10-08 1996-10-08 Image processing method and image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26690596A JP3777672B2 (en) 1996-10-08 1996-10-08 Image processing method and image processing apparatus

Publications (2)

Publication Number Publication Date
JPH10112803A JPH10112803A (en) 1998-04-28
JP3777672B2 true JP3777672B2 (en) 2006-05-24

Family

ID=17437298

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26690596A Expired - Lifetime JP3777672B2 (en) 1996-10-08 1996-10-08 Image processing method and image processing apparatus

Country Status (1)

Country Link
JP (1) JP3777672B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6108453A (en) * 1998-09-16 2000-08-22 Intel Corporation General image enhancement framework
WO2013187133A1 (en) 2012-06-12 2013-12-19 富士フイルム株式会社 Image processing device and image processing method

Also Published As

Publication number Publication date
JPH10112803A (en) 1998-04-28

Similar Documents

Publication Publication Date Title
US6058208A (en) Color correction device and color correction method
JP3828210B2 (en) Image contrast enhancement method
EP0650287B1 (en) Image processing method and apparatus
US5418574A (en) Video signal correction apparatus which detects leading and trailing edges to define boundaries between colors and corrects for bleeding
US7619687B1 (en) Method and apparatus for filtering video data using a programmable graphics processor
JPH10187966A (en) Image filtering method and apparatus
JPH05225332A (en) Method and apparatus for variable-space wave filtering
JPH0622135A (en) Picture processing method
US20040105015A1 (en) Image processing device and image processing program
US6289136B1 (en) Image processing method and apparatus
US7630020B2 (en) Image processing apparatus and its method
JP2001014454A (en) Picture processor
JP3777672B2 (en) Image processing method and image processing apparatus
JP4164215B2 (en) Image processing method, apparatus, and recording medium
JP2004248213A (en) Image processing apparatus, imaging apparatus, and program
JPH07107273A (en) Image processing apparatus and method
JP3491830B2 (en) Image processing apparatus and image processing method
JP3318248B2 (en) Image quality improvement device and recording medium
JP3835059B2 (en) Color image processing method and apparatus
JPH0546750A (en) Color conversion method and color conversion device
JP3054299B2 (en) Image processing apparatus and method
CN119359605B (en) Method, device, computer equipment, medium and product for enhancing color of image
JP2000105820A (en) Monoton conversion device, monoton conversion method, and medium recording monoton conversion program
JP3236481B2 (en) Image conversion method and image conversion device
JP2000253255A (en) Signal processing device and signal processing system

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20050623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050908

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051111

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: 20060207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060220

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100310

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110310

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120310

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130310

Year of fee payment: 7