画像処理装置、方法、コンピュータプログラムおよびチップ回路
【課題】画像の周波数成分が低周波成分に偏ることを抑えつつ、画像に重畳されたノイズを低減する。
【解決手段】画像処理装置は、所与の着目画素および参照画素の各々について、画素値の差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、着目画素および参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、着目画素および参照画素の各々についての第1の乗算係数、第2の乗算係数および画素値を乗算し、各乗算結果の総和を演算する積和演算部と、着目画素および参照画素の各々についての第1の乗算係数および第2の乗算係数を乗算し、各乗算結果の総和を演算する係数総和部と、積和演算部が演算した総和を、係数総和部が演算した総和で除算する除算部と、除算結果を出力する出力部とを備えている。
【解決手段】画像処理装置は、所与の着目画素および参照画素の各々について、画素値の差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、着目画素および参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、着目画素および参照画素の各々についての第1の乗算係数、第2の乗算係数および画素値を乗算し、各乗算結果の総和を演算する積和演算部と、着目画素および参照画素の各々についての第1の乗算係数および第2の乗算係数を乗算し、各乗算結果の総和を演算する係数総和部と、積和演算部が演算した総和を、係数総和部が演算した総和で除算する除算部と、除算結果を出力する出力部とを備えている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像の画像処理に関する。より具体的には、動画像に含まれるノイズを低減する技術に関する。
【背景技術】
【0002】
従来の画像処理装置は、動画像を構成する、時空間的に連続する画素の輝度値を平滑化してノイズを低減していた。たとえば非特許文献1は、複数の画素を用いた輝度値の平滑化処理において、輝度値がより近いものの影響をより大きく出力画素値に反映するようにするために、複数画素間の距離と輝度差とによって、平滑化の計算に反映させる重みを変える技術を開示している。また、特許文献1は、被写体に動きがないときは時間方向のみに平滑化処理を行い、被写体に動きがあるときには、空間方向のみに平滑化処理を行う技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2826018号明細書
【特許文献2】特開平09−138849号公報
【非特許文献】
【0004】
【非特許文献1】トマシ(C. Tomasi)、マンドゥッチ(R. Manduchi)、「濃淡画像及びカラー画像のためのバイラテラルフィルタリング(Bilateral Filtering for Gray and Color Images)」、コンピュータヴィジョン国際会議予稿集(the Proceedings of the 1998 IEEE International Conference on Computer Vision, Bombay India)、米国電気電子技術者協会(IEEE)、1998年
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の技術では、時空間方向に連続な位置の画素を用いてノイズの平滑化処理を行うため、結果としてローパスフィルタの処理と同じ処理が行われていた。ローパスフィルタ処理前の画像には、ノイズを含む全帯域の周波数成分が含まれている。ローパスフィルタ処理によって、ノイズのみならず画像の高周波成分も除去されるため、処理後の画像には、画像およびノイズの低周波成分が偏って含まれることになる。その結果、ノイズの低周波成分の影響も加わり、まるですりガラス越しに見るかのような画像になっていた。
【0006】
なお、特許文献2は、着目画素から空間的にランダムに軸を設定し、その軸上の画素に関して平滑化処理を行うことで、画像が低周波成分に偏ることを抑えている。しかしながら、特許文献2の構成では、平滑化に利用する画素が空間方向の軸上に限定されており、輝度値の平滑化を行うために利用される画素数が少ないという問題があった。これでは、画像に重畳されているノイズを十分に低減できない。
【0007】
本発明は上記課題に鑑みてなされたものであり、その目的は、画像の周波数成分が低周波成分に偏ることを抑えつつ、画像に重畳されたノイズを低減することにある。
【課題を解決するための手段】
【0008】
本発明による画像処理装置は、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算部と、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和部と、前記積和演算部が演算した総和を、前記係数総和部が演算した総和で除算する除算部と、前記除算部の除算結果を出力する出力部とを備えている。
【0009】
前記画像処理装置は、複数のフレームを含む動画像を取得する取得部をさらに備え、前記着目画素および前記参照画素は、前記動画像の時間方向および空間方向のフレーム上に定められた画素であってもよい。
【0010】
前記第2の算出部は、前記乱数を少なくとも1回生成する乱数生成部と、少なくとも1回生成された前記乱数を保持する乱数保持部とを備え、前記乱数保持部が保持する前記乱数を用いて前記第2の乗算係数を算出してもよい。
【0011】
前記乱数生成部は前記乱数を複数回生成し、前記乱数保持部は前記乱数の組を複数保持し、前記乱数保持部が保持する前記乱数の組を選択して前記第2の乗算係数を算出してもよい。
【0012】
前記第2の算出部は、2値乱数および複数乱数の一方を用いて、前記第2の乗算係数を算出してもよい。
【0013】
前記第1の算出部は、前記単調減少の関数として、ガウシアン関数およびロジスティック関数の一方を用いて前記第1の乗算係数を算出してもよい。
【0014】
本発明による画像処理方法は、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、除算する前記ステップの除算結果を出力するステップとを包含する。
【0015】
本発明によるコンピュータプログラムは、画像処理装置に設けられたコンピュータによって実行されるコンピュータプログラムであって、前記コンピュータプログラムは、前記画像処理装置に実装されるコンピュータに対し、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、除算する前記ステップの除算結果を出力するステップとを実行させる。
【0016】
本発明によるチップ回路は、上述のコンピュータプログラムが組み込まれたチップ回路である。
【発明の効果】
【0017】
本発明によれば、時間方向および空間方向の少なくとも一方向の1つ以上の画素の画素値に対して、ランダムな係数を乗算する。これにより、ノイズの低減と高周波成分の保持を実現できる。
【0018】
また、着目画素の画素値と参照画素の画素値との差に応じて、重みを減少させる単調減少関数部を設けることにより、動きのある被写体に対しても、処理後の画像に含まれる動きぶれの低減を実現できる。
【図面の簡単な説明】
【0019】
【図1】本実施形態における画像処理装置101の構成を示すブロック図である。
【図2】本実施形態におけるフィルタ処理の特性を表すフィルタ係数の説明図である。
【図3】3種類のノイズ平滑化処理の関数(指数関数、ガウス関数、2値乱数)の各周波数特性を表す図である。
【図4】第二の乗算係数算出部104の構成例を示す図である。
【図5】第二の乗算係数算出部104の変形例の構成を示す図である。
【図6】乱数保持部301が保持する複数の乱数パターンデータ110のデータ構造を示す図である。
【図7】本発明の実施形態1にかかる画像処理装置101のノイズ低減処理動作のフローチャートを示す。
【図8】本発明の実施形態1の変形例による画像処理装置102のブロック図である。
【図9】着目画素と参照画素のフレーム内での画素座標値間の距離である空間距離をパラメータとして利用する際のフィルタ処理の特性を表すフィルタ係数の説明図である。
【図10】着目画素と参照画素のフレーム間での画素座標値間の距離である時空間距離をパラメータとして利用する際のフィルタ処理の特性を表すフィルタ係数の説明図である。
【図11】画素値の差と乗算係数値との他の関係を示す図である。
【図12】画像再構成装置402と画像処理装置101とを有する画像処理システム200の構成を示す図である。
【図13】画像処理装置101の出力を受け取り、画像を再構成する画像再構成処理装置402を有する画像処理システム201の構成を示す図である。
【発明を実施するための形態】
【0020】
以下、添付の図面を参照しながら、本発明による画像処理装置の実施形態を説明する。
【0021】
まず、本明細書では以下のように用語を定義する。すなわち、「時間方向」とは、時間軸に沿って、という意味である。また「空間方向」とは、ある画像フレームのフレーム内においてという意味である。
【0022】
(実施形態1)
図1は、本実施形態における画像処理装置101の構成を示すブロック図である。
【0023】
画像処理装置101は、第一の乗算係数算出部103と、第二の乗算係数算出部104と、積和演算部105と、係数総和部106と、除算部107と、画像取得部108と、出力部109とを備えている。
【0024】
画像処理装置101は、画像取得部108を介して入力画像Iを受け取り、入力画像Iに対してフィルタ処理を施した後、得られた画像I’を出力部109を介して出力する。画像取得部108および出力部109はSDI端子、HDMI端子などの映像端子である。
【0025】
画像処理装置101が行うフィルタ処理は、下記の数1によって表される。
【0026】
【数1】
ここで、I(x,y,t)は入力画像を表し、I’(x,y,t)は出力画像を表す。また”*”は時間方向のコンボリューション(畳み込み積分)を示す。
【0027】
画像処理装置101の各構成要素は、上記数1に示される一部の演算を実行する。すなわち、第一の乗算係数算出部103は、数1のg(x,y,t)の算出処理を行う。第二の乗算係数算出部104は数1のf(x,y,t)の算出処理を行う。積和演算部105は、数1の分子に示されるコンボリューション演算を行う。係数総和部106は、数1の分母に示される積分演算を行う。除算部107は、数1の除算演算を行う。
【0028】
図2は、本実施形態におけるフィルタ処理の特性を表すフィルタ係数の説明図である。本実施形態では、フィルタ係数は2種類のパラメータによって決定される。
【0029】
第一のパラメータは、フィルタ処理によって画素値が更新されるその着目画素の画素値とフィルタ処理の計算時に画素値を参照される参照画素の画素値との差分値である。画素値は階調を表しているため、画素値の差分値は階調差とも呼ばれる。第一のパラメータとして階調差ΔIが求められる。本実施形態では、参照画素および着目画素は、画素位置(x,y)は同一であり、フレーム番号(すなわち撮影時刻t)が異なる関係にあるとしている。
【0030】
一方、第二のパラメータは、上記着目画素と参照画素の時間差(フレーム番号の差)ΔTである。
【0031】
本実施形態では、上記2つのパラメータによって決まるフィルタ係数を用いてフィルタ演算を行うことにより、ノイズ成分を低減しつつ、かつ、フィルタ出力に残るノイズの周波数成分が、通常のLPF(ローパスフィルタ)によるノイズ低減の結果にみられる様に、低周波数成分に偏ることを防ぐ。
【0032】
以下、撮像処理装置101の各構成要素を詳細に説明する。
【0033】
第一の乗算係数算出部103は、入力画像Iを受け取り、入力画像Iの着目位置の画素の画素値と、それ以外の位置の画素の画素値との差(階調差)を計算し、その差分値によって係数を算出する。係数の値は、差分値が大きいほど小さくする。本実施形態においては、係数であるg(x,y,t)は、差分値に関して単調減少する関数である。
【0034】
第一の乗算係数算出部103の具体的な計算を、ガウシアン関数を例にして説明する。ガウシアン関数は、一般にa・exp(−(x−b)2/(2c2))と表される。
【0035】
いま、入力画像として、座標(x,y)における3フレーム分の画素値I(x,y,t1)、I(x,y,t2)、I(x,y,t3)を考える。そして時刻t=t2における位置(x,y)の画素を着目画素とする。着目画素の画素値が、上述のガウシアン関数のbに相当する。ガウシアン関数で用いられる標準偏差(上記数式におけるcに相当する。)をσで表す。
【0036】
このとき、(x,y,t1)の乗算係数を(数2)に示す。
【0037】
【数2】
【0038】
(x,y,t2)の乗算係数は1になる。
【0039】
(x,y,t3)の乗算係数を(数3)に示す。
【0040】
【数3】
【0041】
次に、第二の乗算係数算出部104を説明する。第二の乗算係数算出部104は、入力のデータ数に対して、ランダムな乗算値を出力する。具体的には、(x,y,t1)、(x,y,t2)、(x,y,t3)の入力された3つの画素の画素値に着目すると、それぞれに乗算するための乱数(r1,r2,r3)を出力する。出力される乱数は、多値乱数に限るものではなく、2値乱数であってもよい。
【0042】
図3を参照しながら、第二の乗算係数算出部104の効果を説明する。図3は、3種類のノイズ平滑化処理の関数(指数関数、ガウス関数、2値乱数)の各周波数特性を表している。これらの特性によれば、まず、ガウス関数、指数関数を用いたノイズ平滑化処理では、低周波成分を多く通し、高周波成分を0.1倍以下に低減していることがわかる。よって、処理後の画像の周波数成分は低周波成分に偏ってしまう。一方、2値乱数を用いたノイズ平滑化処理では、低周波から高周波まで、偏りなくほぼ一様に通す。よって、処理後の画像の周波数成分が低周波成分に偏ることを防ぐことができる。ここで「ほぼ一様に通す」とは、たとえば全周波数帯域に亘って各周波数成分を約10%またはそれ以上通すことをいう。
【0043】
第二の乗算係数算出部104で出力する係数の生成について、図4を参照しながら説明する。図4は、第二の乗算係数算出部104の構成例を示す。第二の乗算係数算出部104は、乱数生成部201を有している。乱数生成部201は、入力画像Iの各フレームの各画素値に対して、乱数を出力する。乱数生成部201で生成した乱数は、一部を利用する構成にしてもよいし、複数に分割して利用してもよい。
【0044】
ただし、第二の乗算係数算出部104は、入力画像Iの各フレームの各画素値に対して、乱数を生成する構成だけでなく、生成した乱数を保持して再利用する構成でもよい。図5を参照しながらこの構成を詳細に説明する。
【0045】
図5は、第二の乗算係数算出部104の変形例の構成を示す。第二の乗算係数算出部104は、乱数生成部201と、乱数保持部301とを有している。乱数保持部301は、乱数生成部201が少なくとも1回乱数を出力すると、その乱数を保持し、保持した乱数を後に出力する。ここで、乱数保持部301が保持する乱数は、入力画像Iの各フレームの各画素値に対して、1パターンのみ保持し、再利用する構成にしてもよい。これにより、回路規模、および、乱数を記憶するメモリ容量を最小限にすることができ、装置全体を小型化、低コスト化できる。
【0046】
または、乱数を複数パターン用意し、入力ごとに出力する乱数を変えてもよい。たとえば図6は、乱数保持部301が保持する複数の乱数パターンデータ110のデータ構造を示す。複数の乱数パターンデータ110のように、乱数パターンを複数有する利点は、観察者に知覚されないよう、残像を目立たなくできる点にある。第二の乗算係数算出部104で用いる乱数が固定の場合、入力画像のテクスチャと動きの組み合わせによっては、被写体の輪郭付近等のテクスチャのコントラストの高いところで残像が生じ、これが観察者に知覚される可能性がある。そこで第二の乗算係数算出部104で用いる乱数の組を複数用意し、画素毎に切り替えると、残像の発生を空間的、時間的に一様でないようにすることができる。その結果、残像を目立たなくでき、観察者に知覚されないようにできる。
【0047】
積和演算部105は、入力画像I、第一の乗算係数算出部103が出力した係数g(x,y,t)および第二の乗算係数算出部104が出力した係数f(x,y,t)を乗算した後に加算する。
【0048】
積和演算部105の具体的な計算を説明する。第一の乗算係数算出部103がガウシアン関数、第二の乗算係数算出部104の出力をf(T)とし、入力を(x,y,t1)、(x,y,t2),(x,y,t3)の3つの画素値とする。このとき、積和演算部105の計算は(数4)のようになる。
【0049】
【数4】
【0050】
係数総和部106は、t=t1〜t3の各時刻における第一の乗算係数算出部103の出力、および第二の乗算係数算出部104の出力(係数f(T))を乗算し、得られた複数の値を加算する。
【0051】
具体的には、第一の乗算係数算出部103に例えばガウシアン関数を用いる場合、係数総和部106の計算は(数5)のようになる。
【0052】
【数5】
【0053】
除算部107は、積和演算部105の出力を係数総和部106の出力で除算する。除算部107の出力が、画像処理装置101の出力画像I’となる。
【0054】
図7は、本実施形態の画像処理装置101によるノイズ低減処理動作のフローチャートを示す。
【0055】
ステップS10において、画像取得部108は入力画像Iを受け取る。
【0056】
ステップS11において、第一の乗算係数算出部103は、着目画素の画素値と参照画素間の画素値との差に関して単調に減少する関数を用いてフィルタ係数g(x,y,t)を演算する。このようなフィルタにより、ノイズを低減させることが可能になる。
【0057】
ステップS12において、第二の乗算係数算出部104は、入力画像Iの着目画素および参照画素の各々に対応する乱数f(t)を生成する。本実施形態では、この乱数f(t)を2値乱数のくし型フィルタとして機能させ、ノイズを低減させる。
【0058】
ステップS13において、積和演算部105は、各時刻における乱数f(t)、フィルタ係数g(x、y、t)、および画素値I(x、y、t)の積を求め、それらの和Sum1を計算する。
【0059】
ステップS14において、係数総和部106は、各時刻における乱数f(t)、およびフィルタ係数g(x、y、T)の積を求め、それらの和Sum2を計算する。
【0060】
ステップS15において、除算部107はステップS13で求めたSum1を、ステップS14で求めたSum2で除算する。
【0061】
そしてステップS16において、出力部109は、除算結果として得られた新たな画像I’を出力する。
【0062】
本実施形態ではガウシアン関数を用いたバイラテラルフィルタとして説明した。上述の処理によれば、ノイズが低域に偏っていないノイズ低減画像を出力することができる。
【0063】
以上述べたように、本実施形態によれば、着目画素と参照画素間の画素値の差(階調差)と時間差(フレーム番号の差)という、2つのパラメータによって決まるフィルタ演算を行うことにより、ノイズ成分を低減しつつ、かつ、フィルタ出力に残るノイズの周波数成分が、通常のLPF(ローパスフィルタ)によるノイズ低減の結果にみられる様に、低周波数成分に偏ることを防ぐことができ、見た目に自然な違和感のないノイズ低減画像を得ることができる。
【0064】
ノイズレベルの大小に応じて、もしくは、ノイズ低減効果の大小を制御するために、第一の乗算係数算出部103の、係数をランダムに設定する1つ以上の画素の数(すなわち、フィルタのタップ数)を大きくしてもよい。これにより、より大きなノイズ低減効果を得ることができる。また、第二の乗算係数算出部104の着目画素との画素値の差(階調差)に応じた重みを減少する際にも、重みの減少を緩やかにすることにより、より大きなノイズ低減効果を得ることができる。
【0065】
ただし、前者については、「係数をランダムに設定する1つ以上の画素」の数(すなわち、フィルタのタップ数)を大きくすることにより、回路規模、演算量が大きくなる。そのため、回路規模や演算量とノイズ低減効果とのバランスを考慮する必要がある。また、後者については、「着目画素との画素値の差(階調差)に応じた重みを減少」を緩やかにすることにより、画像の細部が平滑化されて失われる。そのため、画像細部の解像度とノイズ低減効果とのバランスを考慮して、着目画素との画素値の差(階調差)に応じた重み減少の程度を決める必要がある。
【0066】
(実施形態1の変形例)
実施形態1では、第一の乗算係数算出部103の例としてガウシアン関数を挙げた。しかしながらこれは一例に過ぎない。単調減少する関数であれば第一の乗算係数算出部103として利用することができる。たとえば他の関数としてロジスティック関数を用いてもよい。図8は、そのような実施形態1の変形例による画像処理装置102のブロック図である。図において、実施形態1と同一の動作をする構成要素については、図1と同一の符号を付し説明を省略する。ここでは、第1の乗算係数算出部901の動作について説明する。
【0067】
入力画像Iの座標(x,y)における3フレーム分の画素値I(x,y,t1)、I(x,y,t2)、I(x,y,t3)を考え、時刻t=t2における位置(x,y)の画素を着目画素とする。このとき、第一の乗算係数算出部901は、数6に示される式により、I(x,y,t1)に対する乗算係数を求める。
【0068】
【数6】
【0069】
また、(x,y,t2)の乗算係数は1になる。
【0070】
さらに、(x,y,t3)の乗算係数を(数7)に示す。
【0071】
【数7】
【0072】
以上述べたように、第一の乗算係数算出部103で計算する係数は、実施形態1で述べたガウシアン関数によるものに限る必要はない。実施形態1の変形例として述べたようなロジスティック関数を用いても、実施形態1と同様の効果を得ることができる。
【0073】
すなわち、単調減少する関数を用いて、第一の乗算係数の値が、着目画素と参照画素との画素値の差(階調差)に応じて減少する様に計算する。これにより、被写体の輪郭付近等において画素値が急激に大きく変化する場合、着目画素と画素値が大きく異なる参照画素の画素値が出力画像I’の画素値に与える影響を小さくできるため、被写体の輪郭部分での画質を保ち、見た目に自然な出力画像を得ることができる。
【0074】
なお、本発明の実施形態1およびその変形において、第二の乗算係数算出部104が乱数を算出するに当たっては、図2に示す時間差(着目画素と参照画素のフレーム番号の差)ΔTをパラメータする必要はない。他には、たとえば図9に示すような空間距離(着目画素と参照画素のフレーム内での画素座標値間の距離)や図10に示すような時空間距離(着目画素と参照画素のフレーム間での画素座標値間の距離)をパラメータとしてもよい。このような、より少ないフレーム数の入力画像から同様のノイズ低減効果を得ることができる。これらもまた、本発明に含まれる。
【0075】
なお、ガウシアン関数を用いた上記の実施形態では、第一の乗算係数算出部103の出力する係数は、画素値の差(階調差)が0のときに、最大値を出力する構成である。しかしながら、本発明はこれに限定されない。
【0076】
図11は、画素値の差(階調差)と乗算係数値との他の関係を示す。図11に示すように、画素値の差(階調差)がNのときに、係数の最大値をとる構成であってもよい。ここで、Nは入力画像に含まれるノイズの標準偏差、もしくは、分散の定数倍として決定する。
【0077】
この構成で本発明の効果が得られる理由は、以下のとおりである。入力画像にノイズが含まれる場合、着目画素の観測値がノイズの影響によって変動する。よって、その変動の大きさに応じて、図11におけるNの値を調整すれば、処理結果に強く影響を与える範囲(着目画素と参照画素の画素値の差、すなわち階調差、の範囲)を決めることができる。また、ノイズを含まない真の画素値(未知の画素値)の出力画像への影響を、着目画素におけるそれよりも大きくできる。この構成によれば、画素値の差(階調差)が0でない位置の画素値を出力結果に反映しやすくなり、出力画像が低周波成分に偏ることを防ぐことができる。
【0078】
また、第一の乗算係数算出部103の出力する係数が、画素差がNのときに、係数の最大値をとる構成であるとき、出力画像が低周波成分に偏ることを防ぐことができる。よって第二の乗算係数算出部104で出力する係数は、着目画素からの時空間の距離差が0のときに最大値を出力する単調減少関数の構成であってもよい。
【0079】
上述の実施形態およびその変形例では、画像処理装置101についてのみ説明した。しかしながら、画像処理装置101の入力画像Iが、画像を再構成する装置の出力であってもよい。
【0080】
図12は、画像再構成装置402と画像処理装置101とを有する画像処理システム200の構成を示す。図12において、画像再構成処理装置402は、同一の被写体を1種類以上の解像度と1種類以上のフレームレートで撮像した後、画像を再構成する技術である。「画像を再構成する」とは、たとえば超解像処理を行うことにより、当初の解像度およびフレームレートの少なくとも一方を向上させる処理である。画像再構成処理装置402の例としては、例えば特許第4317586号に記載の技術が挙げられる。
【0081】
ただし、画像再構成処理装置402は、上述の特許にかかる発明に限られるものではなく、その他の超解像処理技術を利用してもよい。本実施例によって、再構成処理装置101の出力のS/Nを向上するとともに、画像が低周波成分に偏ることを防ぐことができる。
【0082】
上述した画像処理システム200では、再構成処理装置401の出力を画像処理装置101の入力画像Iにするという構成にした。しかしながら、これは一例である。たとえば図13は、画像処理装置101の出力を受け取り、画像を再構成する画像再構成処理装置402を有する画像処理システム201の構成を示す。このように、画像処理装置101の出力画像I’を再構成処理装置401に入力してもよい。この構成によって、入力画像I’のS/Nを向上できるため、再構成処理装置401単独の処理よりも、S/Nを向上することができる。
【0083】
なお、たとえば実施形態1では画像処理装置101を説明したが、本発明は、装置として実現されなくてもよい。たとえば、コンピュータである汎用のプロセッサがコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを実行することにより、上述した画像処理装置101の動作を行ってもよい。そのようなコンピュータプログラムは、たとえば上述の図7に示すフローチャートの処理を実現するための複数の命令で構成されている。コンピュータプログラムは、CD−ROM等の記録媒体に記録されて製品として市場に流通され、または、インターネット等の電気通信回線を通じて伝送される。
【0084】
さらに、本発明は、上述のコンピュータプログラムが組み込まれた、いわゆるデジタル信号プロセッサ(DSP)のような、1つまたは複数のチップ回路としてとして実現されてもよい。
【産業上の利用可能性】
【0085】
本発明は、画像に含まれるノイズを低減する画像処理装置として実現される際に有用である。また、本発明は、コンピュータプログラムとしても実現される。さらに本発明は、そのようなコンピュータプログラムを1つまたは複数の回路に組み込んだDSP等のハードウェアとして実現される。
【符号の説明】
【0086】
101 画像処理装置
103 第一の乗算係数算出部
104 第二の乗算係数算出部
105 積和演算部
106 係数総和部
107 除算部
200 画像処理システム
201 乱数生成部
301 乱数保持部
402 画像再構成処理装置
【技術分野】
【0001】
本発明は、動画像の画像処理に関する。より具体的には、動画像に含まれるノイズを低減する技術に関する。
【背景技術】
【0002】
従来の画像処理装置は、動画像を構成する、時空間的に連続する画素の輝度値を平滑化してノイズを低減していた。たとえば非特許文献1は、複数の画素を用いた輝度値の平滑化処理において、輝度値がより近いものの影響をより大きく出力画素値に反映するようにするために、複数画素間の距離と輝度差とによって、平滑化の計算に反映させる重みを変える技術を開示している。また、特許文献1は、被写体に動きがないときは時間方向のみに平滑化処理を行い、被写体に動きがあるときには、空間方向のみに平滑化処理を行う技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第2826018号明細書
【特許文献2】特開平09−138849号公報
【非特許文献】
【0004】
【非特許文献1】トマシ(C. Tomasi)、マンドゥッチ(R. Manduchi)、「濃淡画像及びカラー画像のためのバイラテラルフィルタリング(Bilateral Filtering for Gray and Color Images)」、コンピュータヴィジョン国際会議予稿集(the Proceedings of the 1998 IEEE International Conference on Computer Vision, Bombay India)、米国電気電子技術者協会(IEEE)、1998年
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の技術では、時空間方向に連続な位置の画素を用いてノイズの平滑化処理を行うため、結果としてローパスフィルタの処理と同じ処理が行われていた。ローパスフィルタ処理前の画像には、ノイズを含む全帯域の周波数成分が含まれている。ローパスフィルタ処理によって、ノイズのみならず画像の高周波成分も除去されるため、処理後の画像には、画像およびノイズの低周波成分が偏って含まれることになる。その結果、ノイズの低周波成分の影響も加わり、まるですりガラス越しに見るかのような画像になっていた。
【0006】
なお、特許文献2は、着目画素から空間的にランダムに軸を設定し、その軸上の画素に関して平滑化処理を行うことで、画像が低周波成分に偏ることを抑えている。しかしながら、特許文献2の構成では、平滑化に利用する画素が空間方向の軸上に限定されており、輝度値の平滑化を行うために利用される画素数が少ないという問題があった。これでは、画像に重畳されているノイズを十分に低減できない。
【0007】
本発明は上記課題に鑑みてなされたものであり、その目的は、画像の周波数成分が低周波成分に偏ることを抑えつつ、画像に重畳されたノイズを低減することにある。
【課題を解決するための手段】
【0008】
本発明による画像処理装置は、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算部と、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和部と、前記積和演算部が演算した総和を、前記係数総和部が演算した総和で除算する除算部と、前記除算部の除算結果を出力する出力部とを備えている。
【0009】
前記画像処理装置は、複数のフレームを含む動画像を取得する取得部をさらに備え、前記着目画素および前記参照画素は、前記動画像の時間方向および空間方向のフレーム上に定められた画素であってもよい。
【0010】
前記第2の算出部は、前記乱数を少なくとも1回生成する乱数生成部と、少なくとも1回生成された前記乱数を保持する乱数保持部とを備え、前記乱数保持部が保持する前記乱数を用いて前記第2の乗算係数を算出してもよい。
【0011】
前記乱数生成部は前記乱数を複数回生成し、前記乱数保持部は前記乱数の組を複数保持し、前記乱数保持部が保持する前記乱数の組を選択して前記第2の乗算係数を算出してもよい。
【0012】
前記第2の算出部は、2値乱数および複数乱数の一方を用いて、前記第2の乗算係数を算出してもよい。
【0013】
前記第1の算出部は、前記単調減少の関数として、ガウシアン関数およびロジスティック関数の一方を用いて前記第1の乗算係数を算出してもよい。
【0014】
本発明による画像処理方法は、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、除算する前記ステップの除算結果を出力するステップとを包含する。
【0015】
本発明によるコンピュータプログラムは、画像処理装置に設けられたコンピュータによって実行されるコンピュータプログラムであって、前記コンピュータプログラムは、前記画像処理装置に実装されるコンピュータに対し、所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、除算する前記ステップの除算結果を出力するステップとを実行させる。
【0016】
本発明によるチップ回路は、上述のコンピュータプログラムが組み込まれたチップ回路である。
【発明の効果】
【0017】
本発明によれば、時間方向および空間方向の少なくとも一方向の1つ以上の画素の画素値に対して、ランダムな係数を乗算する。これにより、ノイズの低減と高周波成分の保持を実現できる。
【0018】
また、着目画素の画素値と参照画素の画素値との差に応じて、重みを減少させる単調減少関数部を設けることにより、動きのある被写体に対しても、処理後の画像に含まれる動きぶれの低減を実現できる。
【図面の簡単な説明】
【0019】
【図1】本実施形態における画像処理装置101の構成を示すブロック図である。
【図2】本実施形態におけるフィルタ処理の特性を表すフィルタ係数の説明図である。
【図3】3種類のノイズ平滑化処理の関数(指数関数、ガウス関数、2値乱数)の各周波数特性を表す図である。
【図4】第二の乗算係数算出部104の構成例を示す図である。
【図5】第二の乗算係数算出部104の変形例の構成を示す図である。
【図6】乱数保持部301が保持する複数の乱数パターンデータ110のデータ構造を示す図である。
【図7】本発明の実施形態1にかかる画像処理装置101のノイズ低減処理動作のフローチャートを示す。
【図8】本発明の実施形態1の変形例による画像処理装置102のブロック図である。
【図9】着目画素と参照画素のフレーム内での画素座標値間の距離である空間距離をパラメータとして利用する際のフィルタ処理の特性を表すフィルタ係数の説明図である。
【図10】着目画素と参照画素のフレーム間での画素座標値間の距離である時空間距離をパラメータとして利用する際のフィルタ処理の特性を表すフィルタ係数の説明図である。
【図11】画素値の差と乗算係数値との他の関係を示す図である。
【図12】画像再構成装置402と画像処理装置101とを有する画像処理システム200の構成を示す図である。
【図13】画像処理装置101の出力を受け取り、画像を再構成する画像再構成処理装置402を有する画像処理システム201の構成を示す図である。
【発明を実施するための形態】
【0020】
以下、添付の図面を参照しながら、本発明による画像処理装置の実施形態を説明する。
【0021】
まず、本明細書では以下のように用語を定義する。すなわち、「時間方向」とは、時間軸に沿って、という意味である。また「空間方向」とは、ある画像フレームのフレーム内においてという意味である。
【0022】
(実施形態1)
図1は、本実施形態における画像処理装置101の構成を示すブロック図である。
【0023】
画像処理装置101は、第一の乗算係数算出部103と、第二の乗算係数算出部104と、積和演算部105と、係数総和部106と、除算部107と、画像取得部108と、出力部109とを備えている。
【0024】
画像処理装置101は、画像取得部108を介して入力画像Iを受け取り、入力画像Iに対してフィルタ処理を施した後、得られた画像I’を出力部109を介して出力する。画像取得部108および出力部109はSDI端子、HDMI端子などの映像端子である。
【0025】
画像処理装置101が行うフィルタ処理は、下記の数1によって表される。
【0026】
【数1】
ここで、I(x,y,t)は入力画像を表し、I’(x,y,t)は出力画像を表す。また”*”は時間方向のコンボリューション(畳み込み積分)を示す。
【0027】
画像処理装置101の各構成要素は、上記数1に示される一部の演算を実行する。すなわち、第一の乗算係数算出部103は、数1のg(x,y,t)の算出処理を行う。第二の乗算係数算出部104は数1のf(x,y,t)の算出処理を行う。積和演算部105は、数1の分子に示されるコンボリューション演算を行う。係数総和部106は、数1の分母に示される積分演算を行う。除算部107は、数1の除算演算を行う。
【0028】
図2は、本実施形態におけるフィルタ処理の特性を表すフィルタ係数の説明図である。本実施形態では、フィルタ係数は2種類のパラメータによって決定される。
【0029】
第一のパラメータは、フィルタ処理によって画素値が更新されるその着目画素の画素値とフィルタ処理の計算時に画素値を参照される参照画素の画素値との差分値である。画素値は階調を表しているため、画素値の差分値は階調差とも呼ばれる。第一のパラメータとして階調差ΔIが求められる。本実施形態では、参照画素および着目画素は、画素位置(x,y)は同一であり、フレーム番号(すなわち撮影時刻t)が異なる関係にあるとしている。
【0030】
一方、第二のパラメータは、上記着目画素と参照画素の時間差(フレーム番号の差)ΔTである。
【0031】
本実施形態では、上記2つのパラメータによって決まるフィルタ係数を用いてフィルタ演算を行うことにより、ノイズ成分を低減しつつ、かつ、フィルタ出力に残るノイズの周波数成分が、通常のLPF(ローパスフィルタ)によるノイズ低減の結果にみられる様に、低周波数成分に偏ることを防ぐ。
【0032】
以下、撮像処理装置101の各構成要素を詳細に説明する。
【0033】
第一の乗算係数算出部103は、入力画像Iを受け取り、入力画像Iの着目位置の画素の画素値と、それ以外の位置の画素の画素値との差(階調差)を計算し、その差分値によって係数を算出する。係数の値は、差分値が大きいほど小さくする。本実施形態においては、係数であるg(x,y,t)は、差分値に関して単調減少する関数である。
【0034】
第一の乗算係数算出部103の具体的な計算を、ガウシアン関数を例にして説明する。ガウシアン関数は、一般にa・exp(−(x−b)2/(2c2))と表される。
【0035】
いま、入力画像として、座標(x,y)における3フレーム分の画素値I(x,y,t1)、I(x,y,t2)、I(x,y,t3)を考える。そして時刻t=t2における位置(x,y)の画素を着目画素とする。着目画素の画素値が、上述のガウシアン関数のbに相当する。ガウシアン関数で用いられる標準偏差(上記数式におけるcに相当する。)をσで表す。
【0036】
このとき、(x,y,t1)の乗算係数を(数2)に示す。
【0037】
【数2】
【0038】
(x,y,t2)の乗算係数は1になる。
【0039】
(x,y,t3)の乗算係数を(数3)に示す。
【0040】
【数3】
【0041】
次に、第二の乗算係数算出部104を説明する。第二の乗算係数算出部104は、入力のデータ数に対して、ランダムな乗算値を出力する。具体的には、(x,y,t1)、(x,y,t2)、(x,y,t3)の入力された3つの画素の画素値に着目すると、それぞれに乗算するための乱数(r1,r2,r3)を出力する。出力される乱数は、多値乱数に限るものではなく、2値乱数であってもよい。
【0042】
図3を参照しながら、第二の乗算係数算出部104の効果を説明する。図3は、3種類のノイズ平滑化処理の関数(指数関数、ガウス関数、2値乱数)の各周波数特性を表している。これらの特性によれば、まず、ガウス関数、指数関数を用いたノイズ平滑化処理では、低周波成分を多く通し、高周波成分を0.1倍以下に低減していることがわかる。よって、処理後の画像の周波数成分は低周波成分に偏ってしまう。一方、2値乱数を用いたノイズ平滑化処理では、低周波から高周波まで、偏りなくほぼ一様に通す。よって、処理後の画像の周波数成分が低周波成分に偏ることを防ぐことができる。ここで「ほぼ一様に通す」とは、たとえば全周波数帯域に亘って各周波数成分を約10%またはそれ以上通すことをいう。
【0043】
第二の乗算係数算出部104で出力する係数の生成について、図4を参照しながら説明する。図4は、第二の乗算係数算出部104の構成例を示す。第二の乗算係数算出部104は、乱数生成部201を有している。乱数生成部201は、入力画像Iの各フレームの各画素値に対して、乱数を出力する。乱数生成部201で生成した乱数は、一部を利用する構成にしてもよいし、複数に分割して利用してもよい。
【0044】
ただし、第二の乗算係数算出部104は、入力画像Iの各フレームの各画素値に対して、乱数を生成する構成だけでなく、生成した乱数を保持して再利用する構成でもよい。図5を参照しながらこの構成を詳細に説明する。
【0045】
図5は、第二の乗算係数算出部104の変形例の構成を示す。第二の乗算係数算出部104は、乱数生成部201と、乱数保持部301とを有している。乱数保持部301は、乱数生成部201が少なくとも1回乱数を出力すると、その乱数を保持し、保持した乱数を後に出力する。ここで、乱数保持部301が保持する乱数は、入力画像Iの各フレームの各画素値に対して、1パターンのみ保持し、再利用する構成にしてもよい。これにより、回路規模、および、乱数を記憶するメモリ容量を最小限にすることができ、装置全体を小型化、低コスト化できる。
【0046】
または、乱数を複数パターン用意し、入力ごとに出力する乱数を変えてもよい。たとえば図6は、乱数保持部301が保持する複数の乱数パターンデータ110のデータ構造を示す。複数の乱数パターンデータ110のように、乱数パターンを複数有する利点は、観察者に知覚されないよう、残像を目立たなくできる点にある。第二の乗算係数算出部104で用いる乱数が固定の場合、入力画像のテクスチャと動きの組み合わせによっては、被写体の輪郭付近等のテクスチャのコントラストの高いところで残像が生じ、これが観察者に知覚される可能性がある。そこで第二の乗算係数算出部104で用いる乱数の組を複数用意し、画素毎に切り替えると、残像の発生を空間的、時間的に一様でないようにすることができる。その結果、残像を目立たなくでき、観察者に知覚されないようにできる。
【0047】
積和演算部105は、入力画像I、第一の乗算係数算出部103が出力した係数g(x,y,t)および第二の乗算係数算出部104が出力した係数f(x,y,t)を乗算した後に加算する。
【0048】
積和演算部105の具体的な計算を説明する。第一の乗算係数算出部103がガウシアン関数、第二の乗算係数算出部104の出力をf(T)とし、入力を(x,y,t1)、(x,y,t2),(x,y,t3)の3つの画素値とする。このとき、積和演算部105の計算は(数4)のようになる。
【0049】
【数4】
【0050】
係数総和部106は、t=t1〜t3の各時刻における第一の乗算係数算出部103の出力、および第二の乗算係数算出部104の出力(係数f(T))を乗算し、得られた複数の値を加算する。
【0051】
具体的には、第一の乗算係数算出部103に例えばガウシアン関数を用いる場合、係数総和部106の計算は(数5)のようになる。
【0052】
【数5】
【0053】
除算部107は、積和演算部105の出力を係数総和部106の出力で除算する。除算部107の出力が、画像処理装置101の出力画像I’となる。
【0054】
図7は、本実施形態の画像処理装置101によるノイズ低減処理動作のフローチャートを示す。
【0055】
ステップS10において、画像取得部108は入力画像Iを受け取る。
【0056】
ステップS11において、第一の乗算係数算出部103は、着目画素の画素値と参照画素間の画素値との差に関して単調に減少する関数を用いてフィルタ係数g(x,y,t)を演算する。このようなフィルタにより、ノイズを低減させることが可能になる。
【0057】
ステップS12において、第二の乗算係数算出部104は、入力画像Iの着目画素および参照画素の各々に対応する乱数f(t)を生成する。本実施形態では、この乱数f(t)を2値乱数のくし型フィルタとして機能させ、ノイズを低減させる。
【0058】
ステップS13において、積和演算部105は、各時刻における乱数f(t)、フィルタ係数g(x、y、t)、および画素値I(x、y、t)の積を求め、それらの和Sum1を計算する。
【0059】
ステップS14において、係数総和部106は、各時刻における乱数f(t)、およびフィルタ係数g(x、y、T)の積を求め、それらの和Sum2を計算する。
【0060】
ステップS15において、除算部107はステップS13で求めたSum1を、ステップS14で求めたSum2で除算する。
【0061】
そしてステップS16において、出力部109は、除算結果として得られた新たな画像I’を出力する。
【0062】
本実施形態ではガウシアン関数を用いたバイラテラルフィルタとして説明した。上述の処理によれば、ノイズが低域に偏っていないノイズ低減画像を出力することができる。
【0063】
以上述べたように、本実施形態によれば、着目画素と参照画素間の画素値の差(階調差)と時間差(フレーム番号の差)という、2つのパラメータによって決まるフィルタ演算を行うことにより、ノイズ成分を低減しつつ、かつ、フィルタ出力に残るノイズの周波数成分が、通常のLPF(ローパスフィルタ)によるノイズ低減の結果にみられる様に、低周波数成分に偏ることを防ぐことができ、見た目に自然な違和感のないノイズ低減画像を得ることができる。
【0064】
ノイズレベルの大小に応じて、もしくは、ノイズ低減効果の大小を制御するために、第一の乗算係数算出部103の、係数をランダムに設定する1つ以上の画素の数(すなわち、フィルタのタップ数)を大きくしてもよい。これにより、より大きなノイズ低減効果を得ることができる。また、第二の乗算係数算出部104の着目画素との画素値の差(階調差)に応じた重みを減少する際にも、重みの減少を緩やかにすることにより、より大きなノイズ低減効果を得ることができる。
【0065】
ただし、前者については、「係数をランダムに設定する1つ以上の画素」の数(すなわち、フィルタのタップ数)を大きくすることにより、回路規模、演算量が大きくなる。そのため、回路規模や演算量とノイズ低減効果とのバランスを考慮する必要がある。また、後者については、「着目画素との画素値の差(階調差)に応じた重みを減少」を緩やかにすることにより、画像の細部が平滑化されて失われる。そのため、画像細部の解像度とノイズ低減効果とのバランスを考慮して、着目画素との画素値の差(階調差)に応じた重み減少の程度を決める必要がある。
【0066】
(実施形態1の変形例)
実施形態1では、第一の乗算係数算出部103の例としてガウシアン関数を挙げた。しかしながらこれは一例に過ぎない。単調減少する関数であれば第一の乗算係数算出部103として利用することができる。たとえば他の関数としてロジスティック関数を用いてもよい。図8は、そのような実施形態1の変形例による画像処理装置102のブロック図である。図において、実施形態1と同一の動作をする構成要素については、図1と同一の符号を付し説明を省略する。ここでは、第1の乗算係数算出部901の動作について説明する。
【0067】
入力画像Iの座標(x,y)における3フレーム分の画素値I(x,y,t1)、I(x,y,t2)、I(x,y,t3)を考え、時刻t=t2における位置(x,y)の画素を着目画素とする。このとき、第一の乗算係数算出部901は、数6に示される式により、I(x,y,t1)に対する乗算係数を求める。
【0068】
【数6】
【0069】
また、(x,y,t2)の乗算係数は1になる。
【0070】
さらに、(x,y,t3)の乗算係数を(数7)に示す。
【0071】
【数7】
【0072】
以上述べたように、第一の乗算係数算出部103で計算する係数は、実施形態1で述べたガウシアン関数によるものに限る必要はない。実施形態1の変形例として述べたようなロジスティック関数を用いても、実施形態1と同様の効果を得ることができる。
【0073】
すなわち、単調減少する関数を用いて、第一の乗算係数の値が、着目画素と参照画素との画素値の差(階調差)に応じて減少する様に計算する。これにより、被写体の輪郭付近等において画素値が急激に大きく変化する場合、着目画素と画素値が大きく異なる参照画素の画素値が出力画像I’の画素値に与える影響を小さくできるため、被写体の輪郭部分での画質を保ち、見た目に自然な出力画像を得ることができる。
【0074】
なお、本発明の実施形態1およびその変形において、第二の乗算係数算出部104が乱数を算出するに当たっては、図2に示す時間差(着目画素と参照画素のフレーム番号の差)ΔTをパラメータする必要はない。他には、たとえば図9に示すような空間距離(着目画素と参照画素のフレーム内での画素座標値間の距離)や図10に示すような時空間距離(着目画素と参照画素のフレーム間での画素座標値間の距離)をパラメータとしてもよい。このような、より少ないフレーム数の入力画像から同様のノイズ低減効果を得ることができる。これらもまた、本発明に含まれる。
【0075】
なお、ガウシアン関数を用いた上記の実施形態では、第一の乗算係数算出部103の出力する係数は、画素値の差(階調差)が0のときに、最大値を出力する構成である。しかしながら、本発明はこれに限定されない。
【0076】
図11は、画素値の差(階調差)と乗算係数値との他の関係を示す。図11に示すように、画素値の差(階調差)がNのときに、係数の最大値をとる構成であってもよい。ここで、Nは入力画像に含まれるノイズの標準偏差、もしくは、分散の定数倍として決定する。
【0077】
この構成で本発明の効果が得られる理由は、以下のとおりである。入力画像にノイズが含まれる場合、着目画素の観測値がノイズの影響によって変動する。よって、その変動の大きさに応じて、図11におけるNの値を調整すれば、処理結果に強く影響を与える範囲(着目画素と参照画素の画素値の差、すなわち階調差、の範囲)を決めることができる。また、ノイズを含まない真の画素値(未知の画素値)の出力画像への影響を、着目画素におけるそれよりも大きくできる。この構成によれば、画素値の差(階調差)が0でない位置の画素値を出力結果に反映しやすくなり、出力画像が低周波成分に偏ることを防ぐことができる。
【0078】
また、第一の乗算係数算出部103の出力する係数が、画素差がNのときに、係数の最大値をとる構成であるとき、出力画像が低周波成分に偏ることを防ぐことができる。よって第二の乗算係数算出部104で出力する係数は、着目画素からの時空間の距離差が0のときに最大値を出力する単調減少関数の構成であってもよい。
【0079】
上述の実施形態およびその変形例では、画像処理装置101についてのみ説明した。しかしながら、画像処理装置101の入力画像Iが、画像を再構成する装置の出力であってもよい。
【0080】
図12は、画像再構成装置402と画像処理装置101とを有する画像処理システム200の構成を示す。図12において、画像再構成処理装置402は、同一の被写体を1種類以上の解像度と1種類以上のフレームレートで撮像した後、画像を再構成する技術である。「画像を再構成する」とは、たとえば超解像処理を行うことにより、当初の解像度およびフレームレートの少なくとも一方を向上させる処理である。画像再構成処理装置402の例としては、例えば特許第4317586号に記載の技術が挙げられる。
【0081】
ただし、画像再構成処理装置402は、上述の特許にかかる発明に限られるものではなく、その他の超解像処理技術を利用してもよい。本実施例によって、再構成処理装置101の出力のS/Nを向上するとともに、画像が低周波成分に偏ることを防ぐことができる。
【0082】
上述した画像処理システム200では、再構成処理装置401の出力を画像処理装置101の入力画像Iにするという構成にした。しかしながら、これは一例である。たとえば図13は、画像処理装置101の出力を受け取り、画像を再構成する画像再構成処理装置402を有する画像処理システム201の構成を示す。このように、画像処理装置101の出力画像I’を再構成処理装置401に入力してもよい。この構成によって、入力画像I’のS/Nを向上できるため、再構成処理装置401単独の処理よりも、S/Nを向上することができる。
【0083】
なお、たとえば実施形態1では画像処理装置101を説明したが、本発明は、装置として実現されなくてもよい。たとえば、コンピュータである汎用のプロセッサがコンピュータ読み取り可能な記録媒体に記録されたコンピュータプログラムを実行することにより、上述した画像処理装置101の動作を行ってもよい。そのようなコンピュータプログラムは、たとえば上述の図7に示すフローチャートの処理を実現するための複数の命令で構成されている。コンピュータプログラムは、CD−ROM等の記録媒体に記録されて製品として市場に流通され、または、インターネット等の電気通信回線を通じて伝送される。
【0084】
さらに、本発明は、上述のコンピュータプログラムが組み込まれた、いわゆるデジタル信号プロセッサ(DSP)のような、1つまたは複数のチップ回路としてとして実現されてもよい。
【産業上の利用可能性】
【0085】
本発明は、画像に含まれるノイズを低減する画像処理装置として実現される際に有用である。また、本発明は、コンピュータプログラムとしても実現される。さらに本発明は、そのようなコンピュータプログラムを1つまたは複数の回路に組み込んだDSP等のハードウェアとして実現される。
【符号の説明】
【0086】
101 画像処理装置
103 第一の乗算係数算出部
104 第二の乗算係数算出部
105 積和演算部
106 係数総和部
107 除算部
200 画像処理システム
201 乱数生成部
301 乱数保持部
402 画像再構成処理装置
【特許請求の範囲】
【請求項1】
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算部と、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和部と、
前記積和演算部が演算した総和を、前記係数総和部が演算した総和で除算する除算部と、
前記除算部の除算結果を出力する出力部と
を備えた、画像処理装置。
【請求項2】
複数のフレームを含む動画像を取得する取得部をさらに備え、
前記着目画素および前記参照画素は、前記動画像の時間方向および空間方向のフレーム上に定められた画素である、請求項1に記載の画像処理装置。
【請求項3】
前記第2の算出部は、
前記乱数を少なくとも1回生成する乱数生成部と、
少なくとも1回生成された前記乱数を保持する乱数保持部と
を備え、前記乱数保持部が保持する前記乱数を用いて前記第2の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項4】
前記乱数生成部は、前記乱数を複数回生成し、
前記乱数保持部は、前記乱数の組を複数保持し、
前記乱数保持部が保持する前記乱数の組を選択して前記第2の乗算係数を算出する、請求項3に記載の画像処理装置。
【請求項5】
前記第2の算出部は、2値乱数および複数乱数の一方を用いて、前記第2の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項6】
前記第1の算出部は、前記単調減少の関数として、ガウシアン関数およびロジスティック関数の一方を用いて前記第1の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項7】
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、
前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、
除算する前記ステップの除算結果を出力するステップと
を包含する、画像処理方法。
【請求項8】
画像処理装置に設けられたコンピュータによって実行されるコンピュータプログラムであって、
前記コンピュータプログラムは、前記画像処理装置に実装されるコンピュータに対し、
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、
前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、
除算する前記ステップの除算結果を出力するステップと
を実行させる、コンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムが組み込まれたチップ回路。
【請求項1】
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出部と、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出部と、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算部と、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和部と、
前記積和演算部が演算した総和を、前記係数総和部が演算した総和で除算する除算部と、
前記除算部の除算結果を出力する出力部と
を備えた、画像処理装置。
【請求項2】
複数のフレームを含む動画像を取得する取得部をさらに備え、
前記着目画素および前記参照画素は、前記動画像の時間方向および空間方向のフレーム上に定められた画素である、請求項1に記載の画像処理装置。
【請求項3】
前記第2の算出部は、
前記乱数を少なくとも1回生成する乱数生成部と、
少なくとも1回生成された前記乱数を保持する乱数保持部と
を備え、前記乱数保持部が保持する前記乱数を用いて前記第2の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項4】
前記乱数生成部は、前記乱数を複数回生成し、
前記乱数保持部は、前記乱数の組を複数保持し、
前記乱数保持部が保持する前記乱数の組を選択して前記第2の乗算係数を算出する、請求項3に記載の画像処理装置。
【請求項5】
前記第2の算出部は、2値乱数および複数乱数の一方を用いて、前記第2の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項6】
前記第1の算出部は、前記単調減少の関数として、ガウシアン関数およびロジスティック関数の一方を用いて前記第1の乗算係数を算出する、請求項1に記載の画像処理装置。
【請求項7】
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、
前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、
除算する前記ステップの除算結果を出力するステップと
を包含する、画像処理方法。
【請求項8】
画像処理装置に設けられたコンピュータによって実行されるコンピュータプログラムであって、
前記コンピュータプログラムは、前記画像処理装置に実装されるコンピュータに対し、
所与の着目画素および参照画素の各々について、前記着目画素の画素値と前記参照画素の画素値との差の大きさに応じて単調減少する関数を用いて、ノイズ平滑化処理に用いられる第1の乗算係数を算出する第1の算出ステップと、
前記着目画素および前記参照画素の各々について、乱数を用いて、ノイズ平滑化処理に用いられる第2の乗算係数を算出する第2の算出ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数、前記第2の乗算係数および画素値を乗算し、得られた複数の乗算結果の総和を演算する積和演算ステップと、
前記着目画素および前記参照画素の各々についての前記第1の乗算係数および前記第2の乗算係数を乗算し、得られた複数の乗算結果の総和を演算する係数総和ステップと、
前記積和演算ステップが演算した総和を、前記係数総和ステップが演算した総和で除算するステップと、
除算する前記ステップの除算結果を出力するステップと
を実行させる、コンピュータプログラム。
【請求項9】
請求項8に記載のコンピュータプログラムが組み込まれたチップ回路。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−27016(P2013−27016A)
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願番号】特願2011−163076(P2011−163076)
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成25年2月4日(2013.2.4)
【国際特許分類】
【出願日】平成23年7月26日(2011.7.26)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]