画像処理装置及び画像処理プログラム
【課題】動画像として時系列に滑らかな画質が得られるように推定精度分布情報を形成して画素値を置換可能な画像処理装置及びそのような画像処理プログラムを提供すること。
【解決手段】画素値推定部120において、動画像中の各フレームの各画素の推定精度が算出される。また、動きベクトル算出部110において、動画像中の現在フレームの各画素と過去フレーム各画素及び未来フレームの各画素との対応を示す動きベクトルが算出される。置換画素決定部140では、画素値推定精度記録部130に記録された推定精度分布情報に対して時間方向のフィルタリング処理がなされ、この時間方向のフィルタリング処理がなされた推定精度分布情報により置換すべき画素の候補が決定される。この置換すべき画素の候補に対して画素値の実際に置換を行うか否かが判定され、実際に置換を行う画素に対しては画素値置換部150において画素値が置換される。
【解決手段】画素値推定部120において、動画像中の各フレームの各画素の推定精度が算出される。また、動きベクトル算出部110において、動画像中の現在フレームの各画素と過去フレーム各画素及び未来フレームの各画素との対応を示す動きベクトルが算出される。置換画素決定部140では、画素値推定精度記録部130に記録された推定精度分布情報に対して時間方向のフィルタリング処理がなされ、この時間方向のフィルタリング処理がなされた推定精度分布情報により置換すべき画素の候補が決定される。この置換すべき画素の候補に対して画素値の実際に置換を行うか否かが判定され、実際に置換を行う画素に対しては画素値置換部150において画素値が置換される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画像として時系列に滑らかな画質となるような推定精度分布情報を求め、この推定精度分布情報によって動画像の各フレームにおける画素値を補正する画像処理装置及びそのような画像処理プログラムに関する。
【背景技術】
【0002】
電子スチルカメラ、ビデオカメラ、現像アプリケーション等の画像処理装置において、ノイズを含む画像データ、欠損画素を含む画像データ、カラーフィルタアレイを介した撮像により得られた画像データ(生(RAW)画像データ)、ランダムサンプリング又はダウンサンプリングして取得した画像データを入力画像データとし、入力画像データに対して推定処理を適用し、この推定処理の結果に応じてノイズ低減処理、補間処理、アップサンプリング、デモザイキング処理等の各種の画像処理を施して画像を構成する手法が知られている。
【0003】
例えば、欠損画素を含む画像データを補間処理して推定画像を作成する場合、補間処理の対象となる画像データ中の画素の画素値を推定するためにはその対象の画素の周辺の小領域を参照領域とし、この参照領域内の画素の画素値を推定に用いる。このとき、参照領域内に欠損画素があって推定に用いる画素値の情報が十分に得られなかった場合には、参照領域の範囲を大きくして推定に用いる画素値の情報を多く取得できるようにすることが一般的に用いられる(非特許文献1)。そして、参照領域の大きさに合わせて推定アルゴリズムやパラメータを調整して画素値を推定する。
【0004】
ただし、参照領域の大きさに対して適応的に推定アルゴリズムやパラメータを調整する画素値推定手法では、各々の画素に用いる推定手段(アルゴリズムやパラメータや参照領域の大きさなど)が異なっている。例えば、Spline補間の様な多項式近似による推定を行う場合に局所的に欠損している画素情報が少なかった場合には、より高次の多項式近似が適用できることになり、推定精度が高いと言える、逆に欠損情報が多い場合には上記の多項式近似の場合には次数を下げて推定しなければならない、このため推定精度は低いことになる。この様に、サンプリングされている画素情報に応じて最終的に得られる画像は、画素毎に推定精度が異なる場合が考えられ、低次の推定精度によるぼけている関数によって推定された画素とより高次の推定精度による鮮鋭な関数によって推定された画素とが混在して画像中にムラが発生したり、アーティファクトが目立つ画像となったりする場合がある。
【0005】
このようなムラやアーティファクトを補正すべく、ムラやアーティファクトの要因となっている画素を判別し、この画素の画素値を、その周辺画素の推定精度に合わせて再推定することによって求めた画素値或いは周辺画素の画素値から補間によって求めた画素値と置換する手法が知られている。このようにして、ムラやアーティファクトの要因である画素の画素値が補正され、滑らかな画像を得る効果が期待できる。従来の技術において、置換をすべき画素は、この画素が含まれる対象画像内のみの情報をもって判断されている。例えば、推定精度に応じて対象画像内の画素を分類するべく、例えば特許文献1において知られているようなラベリング処理を対象画像に対して施し、同じラベルのついた画素の塊をグループとして扱えるようにする。そして、グループの凹凸形状やグループ内に小領域のグループが内包されていないかを例えば特許文献2や特許文献3において知られている手法を用いて調べ、凹凸を形成する画素や内包する小領域のグループを構成する画素を置換すべき画素であると判断する。このような手法によると、同じ推定精度の画素がつくるグループの形状が滑らかになり、局所的に異なる推定精度の画素が入り混じった画像の画質が改善される。これによって、ムラやアーティファクトが低減する効果が期待できる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−22541号公報
【特許文献2】特開2005−127791号公報
【特許文献3】特開2005−354229号公報
【非特許文献】
【0007】
【非特許文献1】IPSJ-CVIM09168020(情報処理学会、コンピュータとイメージメディア研究会予稿集)カーネル回帰に基づくカラー画像補間、田中、奥富 (2009)
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記、対象画像毎に適切な推定精度の画素値を求める手法及び対象画像毎にムラやアーティファクトを改善する手法を動画像に対して適用した場合、動画像の各フレーム内については、推定精度が画素間で協調されているため滑らかな映像が得られる。しかしながら、連続したフレーム間では過剰に推定精度が切り替わる可能性があり、動画像として時系列方向にはちらつきの原因となり滑らかにならない場合がある。
【0009】
ここで、フレーム毎にシーンが大きく切り替わらないと想定すると、現在のフレームの推定には過去や未来のフレームの情報を利用することができる。現在のフレームの情報に加えて、該現在のフレームに対して時間的に前後するフレームの推定精度を参照することにより、推定手段(アルゴリズムやパラメータや参照領域の大きさなど)の決定のための情報量を増やすことができる。現在のフレームの推定精度と各画素に対応した前後のフレームの推定精度とが大きく変わらないように推定精度分布情報を形成し直し、形成し直した推定精度分布情報に基づき画素値を改めて適切に求めることにより、動画像として時系列に滑らかな画質が得られることが期待される。
【0010】
本発明は、上記の事情に鑑みてなされたもので、動画像として時系列に滑らかな画質が得られるように推定精度分布情報を形成して画素値を置換可能な画像処理装置及びそのような画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明の第1の態様の画像処理装置は、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、を具備することを特徴とする。
【0012】
上記の目的を達成するために、本発明の第2の態様の画像処理プログラムは、コンピュータを、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、して機能させる。
【発明の効果】
【0013】
本発明によれば、動画像として時系列に滑らかな画質が得られるように推定精度分布情報を形成して画素値を置換可能な画像処理装置及びそのような画像処理プログラムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の各実施形態に係る画像処理装置の一例としての構成を示すブロック図である。
【図2】本発明の第1の実施形態における置換画素候補判別部の構成図である。
【図3】画像処理装置の画像処理動作の一例を示すフローチャートである。
【図4】画像データ入力処理について示すフローチャートである。
【図5】動きベクトル算出処理について示すフローチャートである。
【図6】本発明の第1の実施形態における置換画素候補判別処理について示すフローチャートである。
【図7】近似関数を基にした時間方向のフィルタリング処理を説明するための図である。
【図8】置換画素決定処理について示すフローチャートである。
【図9】フィルタリング処理前の推定精度分布情報を示す図である。
【図10】時間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図11】本発明の第1の実施形態における置換画素決定処理までの過程を示す図である。
【図12】画素置換処理について示すフローチャートである。
【図13】本発明の第2の実施形態における置換画素候補判別部の構成図である。
【図14】本発明の第2の実施形態における置換画素候補判別処理について示すフローチャートである。
【図15】空間方向のフィルタリング処理の過程を示す図である。
【図16】空間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図17】時間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図18】置換画素決定処理までの過程を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。
[第1の実施形態]
まず、本発明の第1の実施形態について説明する。図1は、本発明の各実施形態に係る画像処理装置の一例としての構成を示すブロック図である。図1に示すように、画像処理装置1は、メインコントローラ10と、画像メモリ20と、画像処理回路30とを有している。
【0016】
メインコントローラ10は、例えばCPU(Central Processing Unit)等のコンピュータから構成され、画像処理装置1の各ブロックの全体の制御を行う。このメインコントローラ10は、プログラムメモリ11に記憶されている所定のプログラムに従って画像処理装置1の各ブロックに制御信号を入力することで、各ブロックの動作開始タイミングや動作終了タイミング等を制御する。
【0017】
画像メモリ20は、例えばRAM(Random Access Memory)から構成され、画像処理回路30によって処理される動画像データ及び画像処理回路30によって処理された動画像データを格納する。なお、本実施形態における動画像データは複数フレームの画像データから構成されているものである。
【0018】
画像処理回路30は、画像メモリ20に格納された動画像データに対して画質向上のための画像処理を施す。この画像処理回路30は、フレーム入力部100と、動きベクトル算出部110と、画素値推定部120と、画素値推定精度記録部130と、置換画素決定部140と、画素値置換部150とを有している。
【0019】
フレーム入力部100は、動きベクトル算出部110、画素値推定部120、置換画素決定部140、及び画素値置換部150に接続されている。このフレーム入力部100は、画像メモリ20に格納されている動画像データをフレーム単位で読み込んで図示しないメモリ(バッファ)に保持する。そして、フレーム入力部100は、メモリ(バッファ)に保持したフレームの各ブロックからの参照を許可する。
【0020】
動きベクトル算出部110はフレーム入力部100から複数フレームの画像データを参照し、この参照した複数フレームの画像データを用いて動きベクトルを求める。より具体的には、動きベクトル算出部110は、例えば動画像の現在の再生対象となっているフレームの画像データ(以後、現在フレームと称する)と現在フレームの画像データに対して時間的に前のフレームの画像データ(以後、過去フレームと称する)との間の動きベクトルや、現在フレームと現在フレームに対して時間的に後のフレームの画像データ(以後、未来フレームと称する)との間の動きベクトルを算出する。なお、これらの動きベクトルは、現在フレームの各々の画素に対応した過去フレーム中又は未来フレーム中の対応画素を求めるために用いられる。
【0021】
画素値推定部120は、フレーム入力部100から参照したフレームの画像データから、現在フレームの各画素の画素値を推定するともに、この推定における各画素の画素値の推定精度を算出する。ここで、推定精度は、各画素の画質に関わる尺度を示す情報である例えば前述の様に多項式近似を適用する場合には、より高次の多項式は画像の詳細情報を反映しており、より低次なものは画像の大域情報を反映していることになる。結果として高次の推定の方はより精度が高いと言える。ここで、多項式の次数を推定精度として記録する。画素値推定精度記録部130は、画素の位置に対応した二次元配列のメモリを有して構成され、画素値推定部120で算出された推定された各画素の推定精度を記憶する。以下の説明においては、二次元配列のメモリ内に記憶された各画素の推定精度を「推定精度分布情報」と言う。
【0022】
置換画素決定部140は、置換画素候補判別部141を有している。この置換画素候補判別部141は図2に示すように推定精度に関して時間方向(フレーム間)のフィルタリング処理を施す時間方向フィルタリング部142を有し、動きベクトル算出部110によって算出される動きベクトルによって判定される現在フレームと過去及び未来フレームとの各画素の対応関係と、画素値推定精度記録部130に記憶されている現在フレームの推定精度と過去及び未来フレームの推定精度とを用いて、現在フレームの推定精度に対して時間方向のフィルタリング処理を施すことで、現在フレーム中で置換する候補の画素を判別する。そして、置換画素決定部140は、置換画素候補に対し所定の判別処理を適用することで、実際に置換する画素を決定する。
【0023】
画素値置換部150は画素値再推定部151と画素補間部152の2種類の画素値算出手段を有している。そして、画素値置換部150は、画素値再推定部151と画素補間部152を推定精度に合わせて切り替えて用いることにより、置換画素決定部140により置換すると決定された画素の画素値を求め、また、画素値を置換して出力する。
【0024】
以下、図1に示した画像処理装置1の動作について説明する。本実施形態における画像処理装置1は、画素値を推定処理によって求めることによって動画像データの全体を構成する。そして、本実施形態における画像処理装置1は、推定処理に用いる参照データ量やデータの質によって推定手段(推定アルゴリズムやパラメータや参照領域の大きさ等)を適応的に切り替えることにより、各々の画素の画素値を精度良く推定する。ここでいう推定精度とは、鮮鋭度、偽色の強さ、サンプリングによって失われた情報の再現性等の画質に関わる尺度のことを示すものとする。一般に、適応的に推定手段を切り替える手法を用いた場合、最終的に出力される動画像データには異なる推定精度で推定された画素が混在している。このため、動画像データを構成するフレーム間では推定精度が過剰に切り替わり、ムラやアーティファクトが目立つことがある。本実施形態では、このようなムラやアーティファクトを低減すべく、画素値を推定処理によって求める際に、推定精度分布情報が時系列に滑らかとなるような処理を行う。
【0025】
図3は、画像処理装置1の画像処理動作の一例を示すフローチャートである。ここで、図3のフローチャートにおいては、現在フレームと、現在フレームに対して時間的に前の過去フレームと、現在フレームに対して時間的に後の未来フレームとを含むn枚のフレームを単位として処理をする例を示している。そして、n枚のフレームの組をf組処理することで、動画像データを構成する各フレームの全画素に対する処理が終了するものとする。
【0026】
図3のフローチャートの処理において、メインコントローラ10は、現在の処理対象が何組目かをカウントするための変数rを初期値0にセットする(ステップS1)。そして、メインコントローラ10は、変数rをfと比較し、変数rがfよりも小さいか否かを判定する(ステップS2)。ステップS2の判定において、変数rがfよりも小さい、即ちf組目までの処理が終了していない場合に、メインコントローラ10は、画像データ入力処理を行う(ステップS3)。
【0027】
ステップS3の画像データ入力処理について図4を参照して説明する。画像データ入力処理において、メインコントローラ10は、まず、注目するフレームのIDをカウントするための変数iにrの値をセットする(ステップS11)。そして、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS12)。ステップS12の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、画素値推定部120が画像データの参照をできるように、フレーム入力部100と画素値推定部120とに制御信号を出力する。メインコントローラ10からの制御信号を受けて、画素値推定部120はフレーム入力部100を介して画像メモリ20からi番目のフレームの画像データを読み込む(ステップS13)。
【0028】
i番目のフレームの画像データの読み込みの完了後、画素値推定部120は、読み込んだ画像データが以前に読み込んだことがあるフレームの画像データであるか否かを判定する(ステップS14)。ステップS14の判定において、読み込んだ画像データが初めて読み込んだ画像データであった場合に、画素値推定部120は、当該i番目のフレームの画像データ中の画素値を推定する処理を行う(ステップS15)。例えば、欠損画素を含む画像に対して画素値の推定を行う場合においては、入力された画像データ中の推定対象の画素に対して該推定対象の画素を中心とした所定の大きさを持つ小領域を参照領域として設定し、この参照領域内にある画素値の畳み込み演算をすることで推定対象の画素の画素値を推定する手法を用いることができる。ただし、参照領域内に欠損画素が多く含まれており、推定に用いる画素値を十分に参照できなかった場合には、参照領域の大きさを大きく設定し直す必要がある。
【0029】
ステップS15の画素値の推定の後、処理がステップS16に移行する。また、ステップS14の判定において、読み込んだ画像データが以前にも読み込んだ画像データである場合には、ステップS15の処理をスキップする。この場合、既に画素値の推定が終わっている場合であるため、画素値を推定した後の画像データを読み込めば良い。特に、過去に、現在フレームとして処理をしたフレームに関しては、後述のステップS17の処理が完了した後の画像データを読み込めば良い。
【0030】
画素値の推定後或いは画素値を推定した後の画像データの読み込み後、画素値推定部120は、各画素の推定精度を画素値推定精度記録部130に記録する(ステップS16)。推定精度の記録が終了した後、画素値推定部120は1フレーム分の画像データの推定精度の記録が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS17)。その後、メインコントローラ10は処理をステップS12に移行させる。また、ステップS12の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、図4の画像データ入力処理を終了させて図3のステップS4以後の処理を行う。
【0031】
ここで、図3の説明に戻る。図3のステップS3の画像データ入力処理の終了後、メインコントローラ10は、動きベクトル算出処理を行う(ステップS4)。
ステップS4の動きベクトル算出処理について図5を参照して説明する。動きベクトル算出処理において、メインコントローラ10は、まず、注目するフレームのIDをカウントするための変数iにrの値をセットする(ステップS21)。そして、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS22)。ステップS22の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、動きベクトル算出部110が画像データの参照をできるように、フレーム入力部100と動きベクトル算出部110とに制御信号を出力する。メインコントローラ10からの制御信号を受けて、動きベクトル算出部110は、フレーム入力部100からi番目のフレームの画像データを読み込み、i番目のフレームと図示しないメモリに予め記憶しておいた現在フレームとの間の動きベクトルを算出し、算出した動きベクトルを図示しないメモリに記録する(ステップS23)。なお、動きベクトルの算出は例えば特開平5−30495に開示された手法を用いることができる。動きベクトルを求めることによって、現在フレームの各画素と他フレームの各画素との対応関係がわかる。
【0032】
i番目のフレームに関する動きベクトルの記録が終了した後、動きベクトル算出部110はi番目のフレームと現在フレームとの間の動きベクトルの記録が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS24)。その後、メインコントローラ10は処理をステップS22に移行させる。また、ステップS22の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、図5の動きベクトル算出処理を終了させて図3のステップS5以後の処理を行う。
【0033】
ここで、図3の説明に戻る。図3のステップS4の動きベクトル算出処理の終了後、メインコントローラ10は、置換画素候補判別処理を行う(ステップS5)。
ステップS5の置換画素候補判別処理について図6を参照して説明する。置換画素候補判別処理において、メインコントローラ10は、まず、各フレームの画像データ中の注目する画素のIDをカウントするための変数pに初期値0をセットする(ステップS31)。例えば、各画像データ中の左上端の画素を0の位置の画素とする。そして、メインコントローラ10は、変数pの値とフレーム内の画素数を示す定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS32)。ステップS32の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に置換画素候補を判別させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、動きベクトル算出部110が有する図示しないメモリに記憶された動きベクトルの情報によって対応付けられたn枚のフレーム中の各p番目の画素の推定精度に対して時間方向のフィルタリング処理を施す(ステップS33)。
【0034】
ここで、時間方向のフィルタリング処理としては、例えば現在フレームに対する重みが最も大きくなるように且つ現在フレームから離れた時間のフレームほど重みが小さくなるようなフィルタを、現在フレームの画素pと現在フレームと時間的に異なる位置(時間的に前後)のフレームの画素pの推定精度にかけて、推定精度を重み付き平均するというフィルタリング処理が考えられる。
【0035】
他の例として、時間の経過による推定精度の推移を示す近似関数を求め、推定精度と近似関数上の推定精度の値との差分だけ推定精度を変化させるというフィルタリング処理が考えられる。図7は、プロットした推定精度と近似関数の関係を示した一例である。図7に示すように、×印で示した近似関数上の推定精度と実際にプロットした現在フレームの推定精度とには差があることがわかる。この差分だけ推定精度を変化させる(×印で示した近似関数上の推定精度と置き換える)ことで、現在フレームに対して時間的に前後のフレームの推定精度に対して協調するように現在フレームの推定精度を変化させる。これにより、動画として滑らかな画質を生む効果が期待できる。
【0036】
なお、ここで説明した時間方向のフィルタリング処理以外の手法を用いて時間方向のフィルタリング処理をしても当然構わない。また、各画素に対して複数のフィルタを選択して処理しても構わないし、各フィルタリング処理を複数回繰り返し処理しても構わない。
【0037】
p番目の画素の推定精度に対して時間方向のフィルタリング処理が終了した後、置換画素候補判別部141はフィルタリング処理後の推定精度情報を図示しないメモリに記録する(ステップS34)。推定精度分布情報の記録後、置換画素候補判別部141は、p番目の画素に関する時間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS35)。その後、メインコントローラ10は処理をステップS32に移行させる。また、ステップS32の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図6の置換画素候補判別処理を終了させて図3のステップS6以後の処理を行う。
【0038】
ここで、図3の説明に戻る。図3のステップS5の置換画素候補判別処理の後、メインコントローラ10は、置換画素決定処理を行う(ステップS6)。
ステップS6の置換画素決定処理について図8を参照して説明する。置換画素決定処理において、メインコントローラ10は、変数pに初期値0をセットするとともに、変数Mに初期値0をセットする(ステップS41)。ここで、Mは置換すると決定された画素の数を示す変数である。次に、メインコントローラ10は、変数pの値と定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS42)。ステップS42の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140に置換画素を決定させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素決定部140は、画素pにおける更新前の推定精度Q0と更新後の推定精度Q1との差分(Q0−Q1)を求める(ステップS43)。ここで、更新前の推定精度とは、画像データ入力処理中のステップS16の処理においてメモリに記録された推定精度である。また、更新後の推定精度とは、置換画素候補判別処理中のステップS34において記録された推定精度である。
【0039】
(Q0−Q1)を求めた後、置換画素決定部140は、(Q0−Q1)と第1の所定の閾値とを比較し、(Q0−Q1)が第1の所定の閾値より大きいか否かを判定する(ステップS44)。ステップS44においては、第1の所定の閾値を例えば−0.5とする。
【0040】
ステップS44の判定において、(Q0−Q1)≦−0.5の関係が成立する場合には処理がステップS46に移行する。一方、ステップS44の判定において、(Q0−Q1)>−0.5の関係が成立する場合に、置換画素決定部140は、(Q0−Q1)と第2の所定の閾値とを比較し、(Q0−Q1)が第2の所定の閾値以上であるか否かを判定する(ステップS45)。ここで、ステップS45においては、第2の所定の閾値を例えば+0.5とする。ステップS45の判定において、(Q0−Q1)<+0.5の関係が成立する場合には処理がステップS48に移行する。この場合には画素pを置換画素としない。
【0041】
また、ステップS44の判定において(Q0−Q1)≦−0.5の関係が成立する場合、又はステップS45の判定において(Q0−Q1)≧+0.5の関係が成立する場合においては画素pを置換画素に決定する。この際、置換画素決定部140は、置換する画素が閾値−0.5と閾値+0.5のどちらで判定された結果なのかという情報や画素pの座標といった置換画素決定情報をメモリに記録する(ステップS46)。置換画素決定情報をメモリに記録した後、置換画素決定部140は、変数Mの値をM+1に更新する(ステップS47)。
【0042】
ステップS45において(Q0−Q1)<+0.5の関係が成立する場合、又はステップS47の後、置換画素決定部140は、画素pに関しての置換の要否の判定が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS48)。その後、メインコントローラ10は処理をステップS42に移行させる。また、ステップS42の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図8の置換画素決定処理を終了させて図3のステップS7以後の処理を行う。
【0043】
ここで、図8の処理ではフレーム内のみで画素pに関しての置換の要否を判定している。これに対し、図8のステップS43〜ステップS47に従った判定を行わずに、現在フレームの画素値と前後フレームの画素値との差が所定の閾値以上である場合に置換処理を適用するという判定を追加することにより、置換処理を適用したことによるアーティファクトの発生を抑制する効果をも生むことができる。
【0044】
また、他の例として、前述の現在フレームの画素値と現在フレームに対して時間的に前後の差をみることによる判断の一例として、時間の経過による画素値の推移を示す近似関数を求め、画素値と近似関数上の画素値との差分から判定する手法を用いることもできる。さらには、この判定とステップS43〜S47の判定とを組み合わせ、両方の条件に合致したときに画素の置換を行うようにすることもできる。
【0045】
ここで、置換画素の候補の決定から実際に置換画素を決定するまでの処理を、具体例を用いて説明する。まず、推定精度分布情報を作成して画素値推定精度記録部130に記録する。推定精度分布情報の作成後、画素値推定精度記録部130を参照して、隣接する同じ推定精度の画素同士をラベリングする。ここでいう同じ推定精度の画素とは、所定の精度で量子化することにより得られた推定精度が等しい画素のことを指す。量子化結果の推定精度をラベルとして使用する。ラベリング処理には例えば特開平4−15767号公報や特開平8−22541号公報で示された手法を用いることができる。なお、以下の説明においては、ラベリング処理の結果、同じラベルのついた隣接する画素同士の塊をグループと呼ぶことにする。
【0046】
図9は、同じ推定精度の画素同士に対してラベリングをすることによりグループを作成し終えた段階の推定精度分布情報を示す図である。ここで、図9の数値は推定精度を示しており、例えば各画素の先鋭度を量子化したものである。また、図9(a)が過去フレーム、図9(b)が現在フレーム、図9(c)が未来フレームをそれぞれ示している。
【0047】
図10は、図9(a)〜図9(c)で示した推定精度分布情報に対し時間方向にフィルタリング処理した結果の現在フレームの推定精度分布情報を示す図である。図10の例では、現在フレームを中心に重みを大きくかけ、中心から離れるにつれて重みが小さくなるようなフィルタをかけて重み付き平均している。この例では式(1)のフィルタ係数を用いて式(2)で示される重み付き平均を求めている。
過去フレームの重みWt−1 =0.3
現在フレームの重みWt =0.4
未来フレームの重みWt+1 =0.3 (1)
重み付け平均=Wt−1・過去フレームの推定精度+Wt・現在フレームの推定精度+Wt+1・未来フレームの推定精度 (2)
図10においては、式(2)(3)で表される時間方向へのフィルタによって推定精度の値が変更された画素を太枠で示している。なお、図9、図10の例では現在フレームを中心として前後1フレーム分までで重み付け平均を行うようにしているが、必ずしも現在フレームを中心とした3フレームを用いて重み付け平均を行う必要はない。例えば、現在フレームを中心として前後の複数フレームについて重み付け平均を行うようにしても良い。また、現在フレームと、過去フレーム及び未来フレームの一方とで重み付け平均を行うようにしても良い。
【0048】
図11は、図9(b)で示す現在フレームの推定精度分布の値と図10のようにして得られた推定精度分布情報の値との差を調べる過程を示す図である。上述したように、本実施形態では例として、差の絶対値が0.5以上ある画素を置換する画素と決定するようにしている。したがって、図11に示す5行2列目及び6行2列目の画素が置換すると決定された画素となる。
【0049】
ここで、図3の説明に戻る。図3のステップS6の置換画素決定処理の後、メインコントローラ10は、画素値置換処理を行う(ステップS7)。
ステップS7の画素値置換処理について図12を参照して説明する。画素値置換処理において、メインコントローラ10は、変数pに初期値0をセットするとともに、変数qに初期値0をセットする(ステップS51)。ここで、qは置換する対象の画素を幾つ処理したかを記録する変数である。次に、メインコントローラ10は、変数qの値と定数Mとを比較して、変数qがMよりも小さいか否かを判定する(ステップS52)。ステップS52の判定において、変数qがMよりも小さい場合に、メインコントローラ10は、画素値置換部150に画素の置換を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素決定部140のメモリに記録された置換画素情報を参照して画素pが置換する対象の画素であるか否かを判定する(ステップS53)。
【0050】
ステップS53の判定において、画素pが置換する対象の画素である場合に、画素値置換部150は、画素値算出手段を画素値再推定部151から切り替えないか否かを判定する(ステップS54)。ここで、画素値算出手段を切り替えるか否かは、置換画素情報として記録された情報と、周囲画素の推定精度と当該位置の推定精度の差分と閾値−0.5と+0.5のとの比較結果に基づいて画素pが置換する対象の画素であると決定されたかに応じて判定する。推定処理では、元々低い推定精度の画素値が求められていた画素を高い推定精度の画素に合わせて推定し直すことはできない。このため、高い推定精度による画素を低い推定精度による画素に協調させる場合には再推定処理を、低い推定精度による画素を高い推定精度による画素に協調させる場合には補間処理を用いる。即ち、ステップS54の判定において、画素pの推定精度が周囲画素の推定精度の差分の閾値−0.5によって置換する対象の画素と決定された場合に、画素値置換部150は、画素値再推定部151によって置換後の再推定を行う(ステップS55)。一方、ステップS54の判定において、画素pの推定精度が周辺画素の推定精度の差分の閾値+0.5によって置換する対象の画素と決定された場合に、画素値置換部150は、画素補間部152による補間処理によって周囲の高い推定精度の画素に協調した画素値を求める(ステップS56)。
【0051】
ステップS55又はステップS56の後、画素値置換部150は、画素pの画素値をステップS55又はステップS56において求めた画素値に置換する(ステップS57)。
ステップS53の判定において画素pが置換する画素でなかった場合、又はステップS57の後、置換画素決定部140は、画素pに関しての置換が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数qの値をq+1に更新する(ステップS58)。また、メインコントローラ10は、変数pの値をp+1に更新する(ステップS59)。その後、メインコントローラ10は処理をステップS52に移行させる。また、ステップS52の判定において、変数qがMに等しくなった場合に、メインコントローラ10は、図12の画素値置換処理を終了させて図3のステップS8以後の処理を行う。
【0052】
ここで、図3の説明に戻る。図3のステップS7の画素値置換処理の後、メインコントローラ10は、rの値をr+1に更新する。その後、メインコントローラ10はステップS2以後の処理を行う。また、ステップS2の判定において、rがfに等しくなった場合に、メインコントローラ10は、図3の処理を終了させる。これにより、画像処理装置1の動作が終了する。
【0053】
以上説明したように、第1の実施形態によれば、現在のフレームの各画素の推定精度と現在フレームの各画素に対応した過去フレーム及び未来フレームの推定精度とが大きく変わらないように時間方向フィルタリング処理を行って推定精度分布情報を形成し直し、形成し直した推定精度分布情報に基づき画素値を改めて求めることにより、フレーム間においてもムラやアーティファクトを低減して、動画像として時系列に滑らかな画質が得られる。
【0054】
また、画素値を置換すると決定された画素に対して、本実施形態では置換後の画素値の算出には再推定処理或いは補間処理を用いている。基本的に、再推定処理によって画素値を求めたほうが高い画質の動画像を得ることが可能であるが、再推定処理では元々低い推定精度の画素値が求められていた画素を高い推定精度の画素に合わせて推定し直すことはできない。このため、高い推定精度による画素を低い推定精度による画素に協調させる場合には再推定処理を、低い推定精度による画素を高い推定精度による画素に協調させる場合には補間処理を用いる。補間処理を用いると低い推定精度による画素を周囲の高い推定精度による画素に協調して置換することも可能となり、より滑らかな画像を形成する効果を生むことが期待できる。このように再推定処理と補間処理を切り替えて用いることで、推定精度の滑らかな画像を形成することができる。
【0055】
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第2の実施形態は、第1の実施形態における置換画素候補判別部141の構成に変更を加えている。図13は、第2の実施形態における置換画素候補判別部141の構成を示す図である。図13に示すように、第2の実施形態における置換画素候補判別部141は、時間方向フィルタリング部142の前段に空間方向フィルタリング部143が設けられている。空間方向フィルタリング部143は、画素値推定精度記録部130に記録された各フレームの推定精度情報に対して空間方向のフィルタリング処理を行う。第2の実施形態における時間方向フィルタリング部142は、空間方向フィルタリング部143で空間方向のフィルタリング処理がなされた推定精度分布情報に対して上述したような時間方向のフィルタリング処理を行う。
【0056】
第2の実施形態における置換画素候補判別処理について図14を参照して説明する。なお、置換画素候補判別処理以外の処理は第1の実施形態で説明したものと同様であるので説明を省略する。まず、メインコントローラ10は、変数iに初期値rをセットする(ステップS61)。次に、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS62)。ステップS62の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に空間方向のフィルタリング処理を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、i番目のフレーム内の各画素の推定精度に対し、空間方向のフィルタリング処理を施す(ステップS63)。
【0057】
ここで、本実施形態では、空間方向のフィルタリング処理として、例えばモフォロジーの考えに基づくクロージング処理を用いる。例えば、クロージング処理には特開2006−148743号公報で示された手法を用いることができる。クロージング処理を行う場合、まず、i番目のフレームの推定精度分布情報を参照し、i番目のフレーム中で隣接する同じ推定精度の画素同士をラベリングする。なお、第2の実施形態においては、ラベリング処理の結果、同じグループに含まれる画素の数をグループの大きさとして調べ、ラベルの順番をLUT(ルックアップテーブル)に記録する。
【0058】
通常、画像は、グループによって異なる推定精度の画素で構成されており、また大小様々なグループが入り組んで構成されているため、不均一な推定精度で推定された画像にみえる。そのため、グループの凹凸による入り組みが小さくなるようにグループを統合し、また、グループの数を初期のグループ数以下に減らすことで精度の不均一さを低減し、且つ大きなグループ(推定精度が同じ画素が多く含まれるグループ)を多く残すように処理する。これにより、自然な見た目の滑らかな画像を作る効果を高めることができる。このような一連のグループ再構成により、画素値を新たに求めて置換の候補となる画素を決定する。
【0059】
クロージング処理においては、まず、ラベルの順番を記録したLUTを参照してラベルの順番が一番大きなグループに対して実行する。一番大きなグループに対するクロージング処理の完了後、二番目に大きなグループに対してクロージング処理をする。このように処理を進めていき、注目するグループの大きさが閾値に到達したら処理を終了する。
【0060】
また、グループ再構成の手法として、例えば凸包(Convex-Hull)を用いても良い。この凸包を用いた手法は、例えば特開2005−354229号公報に開示されている。
この他、さらに別のグループ再構成処理として次のような手法を用いても良い。即ち、この手法は、グループの大きさが小さいあるグループに注目し、該小さなグループに隣接するグループの中で、この小さなブロックの推定精度未満の画素で構成される最大のグループの推定精度に合わせて小さなグループを構成する各々の画素を置換するためのラベルを付け替えるという手法である。
【0061】
さらに、例えばグループの境界の凹凸度合いを調べることにより、グループの形状特徴を考慮してラベルを置換すべき画素を指定するグループ再構成処理手法を用いることもできる。ここで、グループの凹凸度合いの算出手法としては、例えばグループの周囲長、包絡周囲長、グループの大きさ(グループを構成する画素の数)、グループの境界の屈曲点の数を用いて算出する手法が知られている。
【0062】
例えば、グループの周囲長と包絡周囲長を用いて凹凸度合いを算出するには、周囲長と包絡周囲長の比(包絡周囲長/周囲長)を求めれば良い。この比が1.0に近いほど凹凸の度合いが小さいことを示す。
また、周囲長とグループの大きさを用いた凹凸度合いを算出するには、例えば特開平5−322538号公報において開示されている手法を用いれば良い。さらに、グループの境界の屈曲点の数と周囲長とを用いた凹凸度合いを算出するには、例えば特開2005−127791号公報に開示されている手法を用いれば良い。
【0063】
なお、周囲長は、グループの境界の基準点を適当に設定し、この設定した基準点から境界を走査して、走査が再び基準点に到達するまでの画素数を求めることにより求めることができる。また、包絡周囲長は、グループを凸包した後、凸包された領域に関して基準点を適当に設定し、この設定した基準点から境界を走査し、走査が再び基準点に到達するまでの画素数を求めることにより求めることができる。また、グループの大きさはグループを構成する画素の数をカウントすることにより求めることができる。屈曲点の数は、例えば特開2005−127791号公報で示された手法によって求めることができる。
【0064】
また、これら以外に、グループに内接する矩形領域やグループに外接する矩形領域を求めることにより、周囲長及び包絡周囲長及びグループの大きさの近似値を求める手法も考えられる。当然、以上に挙げた手法以外によって周囲長、包絡周囲長及びグループの大きさ、及び屈曲点の数を求めても問題ない。
【0065】
以上のように、凸包を用いた手法においては、所定のフレームに対応した推定精度分布情報を参照して、前述の各種の算出手法より、グループのそれぞれの凹凸度合いを求め、凹凸度合い大きなグループに対して凹凸度合いが小さくなるように、該当するグループの境界近傍の画素のラベルを置換するように決定する。該当するグループの決定は、凹凸度合いの大きさが所定の閾値以上かで判断し、閾値以上の凹凸度合いを持つグループを該当グループであると決定する。
【0066】
さらに別のグループ再構成処理として、クロージング処理を利用した孤立点の検出による手法がある。この手法においては、画像の所定の領域に対応した推定精度分布情報を参照して、グループに対して所定の回数の膨張処理と、この所定回数と同じ回数の収縮処理とを順に実行する。膨張及び収縮処理をした後のグループと膨張及び収縮処理をする前のグループとの差分を取ることにより、大きなグループに連結せずに孤立している小さなグループを検出する。ここで検出されたグループに所属する画素を、ラベルを置換する画素であると決定する。なお、膨張処理と収縮処理の回数が多いほど検出することのできる孤立グループの大きさが大きくなる。この処理回数はノイズレベルやグループの大きさに応じて適応的に設定することが好ましい。
【0067】
以上が空間方向のフィルタリング処理の例である。これらの例以外の手法を用いて空間方向のフィルタリング処理をしても当然構わない。各画素に対し複数のフィルタを選択して処理しても構わないし、各フィルタリング処理を複数回繰り返し処理しても構わない。
【0068】
i番目のフレームの各画素に対する空間方向のフィルタリング処理が終了した後、置換画素候補判別部141はフィルタリング処理後の推定精度分布情報を図示しないメモリに記録する(ステップS64)。推定精度分布情報の記録後、置換画素候補判別部141は、i番目のフレームに関する空間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS65)。その後、メインコントローラ10は処理をステップS62に移行させる。また、ステップS62の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、変数pに初期値0をセットする(ステップS66)。
【0069】
次に、メインコントローラ10は、変数pの値と定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS67)。ステップS67の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に時間方向のフィルタリング処理を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、動きベクトル算出部110が有する図示しないメモリに記憶された動きベクトルの情報によって対応付けられたn枚のフレーム中の各p番目の画素の推定精度に対して時間方向のフィルタリング処理を施す(ステップS68)。この時間方向のフィルタリング処理については第1の実施形態で説明したものと同様であるので説明を省略する。p番目の画素の推定精度に対して時間方向のフィルタリング処理が終了した後、置換画素候補判別部141は時間方向のフィルタリング処理後の推定精度分布情報を図示しないメモリに記録する(ステップS69)。推定精度分布情報の記録後、置換画素候補判別部141は、p番目の画素に関する時間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS70)。その後、メインコントローラ10は処理をステップS67に移行させる。また、ステップS67の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図14の置換画素候補判別処理を終了させて図3のステップS6以後の処理を行う。
【0070】
ここで、置換画素の候補の決定から実際に置換画素を決定するまでの処理を、具体例を用いて説明する。推定精度分布情報の作成後、画素値推定精度記録部130を参照して、空間方向のフィルタリング処理を施す。図15は、図9(a)〜図9(c)で示した3フレーム分の推定精度のそれぞれに対して空間方向へフィルタリング処理をして凹凸の低減と孤立点の統合とを行うまでの過程を示している。ここで、図15(a)が過去フレーム、図15(b)が現在フレーム、図15(c)が未来フレームをそれぞれ示している。図15(a)に示す過去フレームにおいては4行5列目の画素に対応した推定精度と7行4列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。また、図15(b)に示す現在フレームにおいては4行5列目の画素に対応した推定精度と7行4列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。さらに、図15(c)に示す未来フレームにおいては4行4列目の画素に対応した推定精度と7行3列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。推定精度の統合を行った結果を図16(a)〜図16(c)に示している。
【0071】
図17は図16(a)〜図16(a)で示した推定分布情報に対して第1の実施形態で説明したのと同様の時間方向のフィルタリング処理を行った結果としての現在フレームの推定分布情報を示している。なお、図17においても、推定精度の値が変更された画素を太枠で示している。
【0072】
図18は、図9(b)で示す現在フレームの推定精度分布の値と図17のようにして得られた推定精度分布情報の値との差を調べる過程を示す図である。第1の実施形態と同様に、差の絶対値が0.5以上ある画素を置換する画素と決定するようにすると、図18に示す4行5列目、5行2列目、6行2列目、7行4列目の画素が置換すると決定された画素となる。
【0073】
以上説明したように、本実施形態によれば、同一フレーム内で大小様々な推定精度に関するグループが入り組んで構成されていて不均一な精度で推定された画像にみえる画像に対して空間方向のフィルタリング処理を施すことによって、グループの凹凸による入り組みが小さくなるようにグループを統合し、またグループの数を初期のグループ数以下に減らすことで精度の不均一さを低減し且つ大きなグループを多く残すように処理することで、各フレーム単位で見たときに高い画質の画像が得られる。また、現在のフレームの推定精度分布情報と各画素に対応した前後のフレームの推定精度分布情報とが大きく変わらないように推定精度分布情報を形成し直し、形成した推定精度分布情報に基づき画素値を改めて求めることにより、動画像としても時系列に滑らかな画質が得られる。
【0074】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。なお、上述した実施形態における画像処理装置による各処理の手法、即ち、各フローチャートに示す処理は、何れもメインコントローラ10に実行させることができるプログラムとして、プログラムメモリ11に記憶させておくこともできる。この他、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、メインコントローラ10は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
【0075】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【0076】
ここで、本発明の要旨をまとめると以下のようなものを含む。
(1) 複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段とを具備することを特徴とする画像処理装置。
【0077】
この(1)は第1及び第2の実施形態が対応している。そして、(1)における動きベクトル算出手段は動きベクトル算出部110が、画素値推定手段は画素値推定部120が、画素値推定精度記録手段は画素値推定精度記録部130が、置換画素決定手段は置換画素決定部140が、画素値置換手段は画素値置換部150がそれぞれ対応している。このような(1)の構成においては、画素値推定手段により推定された画素が混在するフレームで構成される動画像に対して、現在フレームの推定精度と現在フレームと異なる時間位置のフレームの推定精度を参照する。そして、この参照結果に従って実際に置換する画素を適切に決定する。これにより、動画像として時系列に滑らかな画質を得ることができる。
【0078】
(2) 前記置換画素決定手段は、前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する各画素の推定精度を算出し、該第1のフレームにおいて前記画素値の置換を実行した場合に対応する各画素の推定精度を用いて前記置換すべき画素の候補を決定する置換画素候補判別手段を有し、前記置換画素候補判別手段により前記置換すべき画素の候補であると決定された画素から前記置換すべき画素を決定することを特徴とする(1)に記載の画像処理装置。
【0079】
(2)は第1及び第2の実施形態に対応している。そして、(2)における置換画素候補判別手段は置換画素候補判別部141が対応している。このような(2)の構成においては、現在フレームの推定精度と現在フレームに近接するフレームの推定精度とを基に現在フレームにおいて画素の置換を実行した場合の推定精度を算出し、その推定精度を用いて置換すべき画素の候補であるかどうかを判別する。そして得られた候補画素の中から実際に置換する画素かどうかを決定する。このようにして、推定精度を時系列に滑らかに推移させることができ、動画像として見た目の滑らかな画像とすることができる。
【0080】
(3) 前記置換画素候補判別手段は、前記動きベクトル算出手段によって算出された前記第1のフレームの各画素と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記第1のフレームの各画素と前記第2のフレームの各画素との対応を判別し、該判別した前記第1のフレームの各画素の推定精度と前記第2のフレームの各画素の推定精度との変化が滑らかとなるように、前記第1のフレームにおいて前記画素値の置換を実行することを特徴とする(2)に記載の画像処理装置。
【0081】
(3)は第1の実施形態に対応している。このような(3)の構成においては、推定精度が滑らかとなるようにする処理である時間方向のフィルタリング処理を施すことで、推定精度を時系列に滑らかに推移させることができる。
(4) 前記置換画素候補判別手段は、前記第1のフレームにおいて前記画素値の置換を実行した場合の前記第1のフレームにおける各画素の推定精度を算出するに先立って、前記第1のフレームの各画素の推定精度及び前記第2のフレームの推定精度の不均一さを低減することを特徴とする(3)に記載の画像処理装置。
【0082】
(4)は第2の実施形態に対応している。このような(4)の構成においては、各フレーム中の推定精度の不均一さを低減する処理である空間方向のフィルタリング処理を施すことで、各フレームの画質を高めることができる。
(5) 前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0083】
(5)は第1及び第2の実施形態が対応している。このような(5)の構成においては、置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、現在フレームの画素値の置換を実行する前に相当する推定精度と現在フレームの画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を置換すべき画素と決定することで、動画像として見た目の滑らかな画像とすることができる。
【0084】
(6) 前記置換画素決定手段は、前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0085】
(6)は第1及び第2の実施形態が対応している。このような(6)の構成においては、現在フレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と現在フレームに対して異なる時間位置のフレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある現在フレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することで、動画像として見た目の滑らかな画像とすることができる。
【0086】
(7) 前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差があり、且つ前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0087】
(7)は第1及び第2の実施形態が対応している。このような(7)の構成においては、(5)と(6)とを組み合わせて用いることにより、(5)と(6)とを単独で用いたよりも、より動画像として見た目の滑らかな画像とすることができる。
(8) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
【0088】
(8)は第1及び第2の実施形態が対応している。そして、(8)における画素値再推定手段は画素値再推定部151が対応している。このような(8)の構成においては、置換画素決定手段により決定した画素の画素値を再推定することにより求めている。再推定によって、再推定前と異なる推定精度の画素値を求めることによってより滑らかな動画像を構成することができる。
【0089】
(9) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
(9)は第1及び第2の実施形態が対応している。そして、(9)における画素補間手段は画素補間部152が対応している。このような(9)の構成においては、置換画素決定手段により決定した画素の補間処理により求めている。補間により補間前と異なる推定精度の画素値を求めることによって滑らかな動画像を構成することができる。
【0090】
(10) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段と、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段と、を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
【0091】
(10)は第1及び第2の実施形態が対応している。このような(10)の構成においては、(8)、(9)の構成を組み合わせて用いることによって滑らかな動画像を構成することができる。
(11) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の推定精度に応じて前記画素値再推定手段と前記画素補間手段の何れを前記画素値の置換に用いるかを決定することを特徴とする(10)に記載の画像処理装置。
【0092】
(11)は第1及び第2の実施形態が対応している。このような(11)の構成においては、(8)、(9)の構成を推定精度に応じて適宜用いることによって滑らかな動画像を構成することができる。
(12) コンピュータを、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、して機能させるための画像処理プログラム。
【0093】
(12)は第1及び第2の実施形態が対応している。このような(12)の構成においては、画素値推定手段により推定された画素が混在するフレームで構成される動画像に対して、前記第1のフレームの推定精度と前記第2のフレームの推定精度を参照する。そして、この参照結果に従って実際に置換する画素を適切に決定する。これにより、動画像として時系列に滑らかな画質を得ることができる。
【符号の説明】
【0094】
1…画像処理装置、10…メインコントローラ、11…プログラムメモリ、20…画像メモリ、30…画像処理回路、100…フレーム入力部、110…動きベクトル算出部、120…画素値推定部、130…画素値推定精度記録部、140…置換画素決定部、141…置換画素候補判別部、142…時間方向フィルタリング部、143…空間方向フィルタリング部、150…画素値置換部、151…画素値再推定部、152…画素補間部
【技術分野】
【0001】
本発明は、動画像として時系列に滑らかな画質となるような推定精度分布情報を求め、この推定精度分布情報によって動画像の各フレームにおける画素値を補正する画像処理装置及びそのような画像処理プログラムに関する。
【背景技術】
【0002】
電子スチルカメラ、ビデオカメラ、現像アプリケーション等の画像処理装置において、ノイズを含む画像データ、欠損画素を含む画像データ、カラーフィルタアレイを介した撮像により得られた画像データ(生(RAW)画像データ)、ランダムサンプリング又はダウンサンプリングして取得した画像データを入力画像データとし、入力画像データに対して推定処理を適用し、この推定処理の結果に応じてノイズ低減処理、補間処理、アップサンプリング、デモザイキング処理等の各種の画像処理を施して画像を構成する手法が知られている。
【0003】
例えば、欠損画素を含む画像データを補間処理して推定画像を作成する場合、補間処理の対象となる画像データ中の画素の画素値を推定するためにはその対象の画素の周辺の小領域を参照領域とし、この参照領域内の画素の画素値を推定に用いる。このとき、参照領域内に欠損画素があって推定に用いる画素値の情報が十分に得られなかった場合には、参照領域の範囲を大きくして推定に用いる画素値の情報を多く取得できるようにすることが一般的に用いられる(非特許文献1)。そして、参照領域の大きさに合わせて推定アルゴリズムやパラメータを調整して画素値を推定する。
【0004】
ただし、参照領域の大きさに対して適応的に推定アルゴリズムやパラメータを調整する画素値推定手法では、各々の画素に用いる推定手段(アルゴリズムやパラメータや参照領域の大きさなど)が異なっている。例えば、Spline補間の様な多項式近似による推定を行う場合に局所的に欠損している画素情報が少なかった場合には、より高次の多項式近似が適用できることになり、推定精度が高いと言える、逆に欠損情報が多い場合には上記の多項式近似の場合には次数を下げて推定しなければならない、このため推定精度は低いことになる。この様に、サンプリングされている画素情報に応じて最終的に得られる画像は、画素毎に推定精度が異なる場合が考えられ、低次の推定精度によるぼけている関数によって推定された画素とより高次の推定精度による鮮鋭な関数によって推定された画素とが混在して画像中にムラが発生したり、アーティファクトが目立つ画像となったりする場合がある。
【0005】
このようなムラやアーティファクトを補正すべく、ムラやアーティファクトの要因となっている画素を判別し、この画素の画素値を、その周辺画素の推定精度に合わせて再推定することによって求めた画素値或いは周辺画素の画素値から補間によって求めた画素値と置換する手法が知られている。このようにして、ムラやアーティファクトの要因である画素の画素値が補正され、滑らかな画像を得る効果が期待できる。従来の技術において、置換をすべき画素は、この画素が含まれる対象画像内のみの情報をもって判断されている。例えば、推定精度に応じて対象画像内の画素を分類するべく、例えば特許文献1において知られているようなラベリング処理を対象画像に対して施し、同じラベルのついた画素の塊をグループとして扱えるようにする。そして、グループの凹凸形状やグループ内に小領域のグループが内包されていないかを例えば特許文献2や特許文献3において知られている手法を用いて調べ、凹凸を形成する画素や内包する小領域のグループを構成する画素を置換すべき画素であると判断する。このような手法によると、同じ推定精度の画素がつくるグループの形状が滑らかになり、局所的に異なる推定精度の画素が入り混じった画像の画質が改善される。これによって、ムラやアーティファクトが低減する効果が期待できる。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平8−22541号公報
【特許文献2】特開2005−127791号公報
【特許文献3】特開2005−354229号公報
【非特許文献】
【0007】
【非特許文献1】IPSJ-CVIM09168020(情報処理学会、コンピュータとイメージメディア研究会予稿集)カーネル回帰に基づくカラー画像補間、田中、奥富 (2009)
【発明の概要】
【発明が解決しようとする課題】
【0008】
前記、対象画像毎に適切な推定精度の画素値を求める手法及び対象画像毎にムラやアーティファクトを改善する手法を動画像に対して適用した場合、動画像の各フレーム内については、推定精度が画素間で協調されているため滑らかな映像が得られる。しかしながら、連続したフレーム間では過剰に推定精度が切り替わる可能性があり、動画像として時系列方向にはちらつきの原因となり滑らかにならない場合がある。
【0009】
ここで、フレーム毎にシーンが大きく切り替わらないと想定すると、現在のフレームの推定には過去や未来のフレームの情報を利用することができる。現在のフレームの情報に加えて、該現在のフレームに対して時間的に前後するフレームの推定精度を参照することにより、推定手段(アルゴリズムやパラメータや参照領域の大きさなど)の決定のための情報量を増やすことができる。現在のフレームの推定精度と各画素に対応した前後のフレームの推定精度とが大きく変わらないように推定精度分布情報を形成し直し、形成し直した推定精度分布情報に基づき画素値を改めて適切に求めることにより、動画像として時系列に滑らかな画質が得られることが期待される。
【0010】
本発明は、上記の事情に鑑みてなされたもので、動画像として時系列に滑らかな画質が得られるように推定精度分布情報を形成して画素値を置換可能な画像処理装置及びそのような画像処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記の目的を達成するために、本発明の第1の態様の画像処理装置は、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、を具備することを特徴とする。
【0012】
上記の目的を達成するために、本発明の第2の態様の画像処理プログラムは、コンピュータを、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、して機能させる。
【発明の効果】
【0013】
本発明によれば、動画像として時系列に滑らかな画質が得られるように推定精度分布情報を形成して画素値を置換可能な画像処理装置及びそのような画像処理プログラムを提供することができる。
【図面の簡単な説明】
【0014】
【図1】本発明の各実施形態に係る画像処理装置の一例としての構成を示すブロック図である。
【図2】本発明の第1の実施形態における置換画素候補判別部の構成図である。
【図3】画像処理装置の画像処理動作の一例を示すフローチャートである。
【図4】画像データ入力処理について示すフローチャートである。
【図5】動きベクトル算出処理について示すフローチャートである。
【図6】本発明の第1の実施形態における置換画素候補判別処理について示すフローチャートである。
【図7】近似関数を基にした時間方向のフィルタリング処理を説明するための図である。
【図8】置換画素決定処理について示すフローチャートである。
【図9】フィルタリング処理前の推定精度分布情報を示す図である。
【図10】時間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図11】本発明の第1の実施形態における置換画素決定処理までの過程を示す図である。
【図12】画素置換処理について示すフローチャートである。
【図13】本発明の第2の実施形態における置換画素候補判別部の構成図である。
【図14】本発明の第2の実施形態における置換画素候補判別処理について示すフローチャートである。
【図15】空間方向のフィルタリング処理の過程を示す図である。
【図16】空間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図17】時間方向のフィルタリング処理後の推定精度分布情報を示す図である。
【図18】置換画素決定処理までの過程を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。
[第1の実施形態]
まず、本発明の第1の実施形態について説明する。図1は、本発明の各実施形態に係る画像処理装置の一例としての構成を示すブロック図である。図1に示すように、画像処理装置1は、メインコントローラ10と、画像メモリ20と、画像処理回路30とを有している。
【0016】
メインコントローラ10は、例えばCPU(Central Processing Unit)等のコンピュータから構成され、画像処理装置1の各ブロックの全体の制御を行う。このメインコントローラ10は、プログラムメモリ11に記憶されている所定のプログラムに従って画像処理装置1の各ブロックに制御信号を入力することで、各ブロックの動作開始タイミングや動作終了タイミング等を制御する。
【0017】
画像メモリ20は、例えばRAM(Random Access Memory)から構成され、画像処理回路30によって処理される動画像データ及び画像処理回路30によって処理された動画像データを格納する。なお、本実施形態における動画像データは複数フレームの画像データから構成されているものである。
【0018】
画像処理回路30は、画像メモリ20に格納された動画像データに対して画質向上のための画像処理を施す。この画像処理回路30は、フレーム入力部100と、動きベクトル算出部110と、画素値推定部120と、画素値推定精度記録部130と、置換画素決定部140と、画素値置換部150とを有している。
【0019】
フレーム入力部100は、動きベクトル算出部110、画素値推定部120、置換画素決定部140、及び画素値置換部150に接続されている。このフレーム入力部100は、画像メモリ20に格納されている動画像データをフレーム単位で読み込んで図示しないメモリ(バッファ)に保持する。そして、フレーム入力部100は、メモリ(バッファ)に保持したフレームの各ブロックからの参照を許可する。
【0020】
動きベクトル算出部110はフレーム入力部100から複数フレームの画像データを参照し、この参照した複数フレームの画像データを用いて動きベクトルを求める。より具体的には、動きベクトル算出部110は、例えば動画像の現在の再生対象となっているフレームの画像データ(以後、現在フレームと称する)と現在フレームの画像データに対して時間的に前のフレームの画像データ(以後、過去フレームと称する)との間の動きベクトルや、現在フレームと現在フレームに対して時間的に後のフレームの画像データ(以後、未来フレームと称する)との間の動きベクトルを算出する。なお、これらの動きベクトルは、現在フレームの各々の画素に対応した過去フレーム中又は未来フレーム中の対応画素を求めるために用いられる。
【0021】
画素値推定部120は、フレーム入力部100から参照したフレームの画像データから、現在フレームの各画素の画素値を推定するともに、この推定における各画素の画素値の推定精度を算出する。ここで、推定精度は、各画素の画質に関わる尺度を示す情報である例えば前述の様に多項式近似を適用する場合には、より高次の多項式は画像の詳細情報を反映しており、より低次なものは画像の大域情報を反映していることになる。結果として高次の推定の方はより精度が高いと言える。ここで、多項式の次数を推定精度として記録する。画素値推定精度記録部130は、画素の位置に対応した二次元配列のメモリを有して構成され、画素値推定部120で算出された推定された各画素の推定精度を記憶する。以下の説明においては、二次元配列のメモリ内に記憶された各画素の推定精度を「推定精度分布情報」と言う。
【0022】
置換画素決定部140は、置換画素候補判別部141を有している。この置換画素候補判別部141は図2に示すように推定精度に関して時間方向(フレーム間)のフィルタリング処理を施す時間方向フィルタリング部142を有し、動きベクトル算出部110によって算出される動きベクトルによって判定される現在フレームと過去及び未来フレームとの各画素の対応関係と、画素値推定精度記録部130に記憶されている現在フレームの推定精度と過去及び未来フレームの推定精度とを用いて、現在フレームの推定精度に対して時間方向のフィルタリング処理を施すことで、現在フレーム中で置換する候補の画素を判別する。そして、置換画素決定部140は、置換画素候補に対し所定の判別処理を適用することで、実際に置換する画素を決定する。
【0023】
画素値置換部150は画素値再推定部151と画素補間部152の2種類の画素値算出手段を有している。そして、画素値置換部150は、画素値再推定部151と画素補間部152を推定精度に合わせて切り替えて用いることにより、置換画素決定部140により置換すると決定された画素の画素値を求め、また、画素値を置換して出力する。
【0024】
以下、図1に示した画像処理装置1の動作について説明する。本実施形態における画像処理装置1は、画素値を推定処理によって求めることによって動画像データの全体を構成する。そして、本実施形態における画像処理装置1は、推定処理に用いる参照データ量やデータの質によって推定手段(推定アルゴリズムやパラメータや参照領域の大きさ等)を適応的に切り替えることにより、各々の画素の画素値を精度良く推定する。ここでいう推定精度とは、鮮鋭度、偽色の強さ、サンプリングによって失われた情報の再現性等の画質に関わる尺度のことを示すものとする。一般に、適応的に推定手段を切り替える手法を用いた場合、最終的に出力される動画像データには異なる推定精度で推定された画素が混在している。このため、動画像データを構成するフレーム間では推定精度が過剰に切り替わり、ムラやアーティファクトが目立つことがある。本実施形態では、このようなムラやアーティファクトを低減すべく、画素値を推定処理によって求める際に、推定精度分布情報が時系列に滑らかとなるような処理を行う。
【0025】
図3は、画像処理装置1の画像処理動作の一例を示すフローチャートである。ここで、図3のフローチャートにおいては、現在フレームと、現在フレームに対して時間的に前の過去フレームと、現在フレームに対して時間的に後の未来フレームとを含むn枚のフレームを単位として処理をする例を示している。そして、n枚のフレームの組をf組処理することで、動画像データを構成する各フレームの全画素に対する処理が終了するものとする。
【0026】
図3のフローチャートの処理において、メインコントローラ10は、現在の処理対象が何組目かをカウントするための変数rを初期値0にセットする(ステップS1)。そして、メインコントローラ10は、変数rをfと比較し、変数rがfよりも小さいか否かを判定する(ステップS2)。ステップS2の判定において、変数rがfよりも小さい、即ちf組目までの処理が終了していない場合に、メインコントローラ10は、画像データ入力処理を行う(ステップS3)。
【0027】
ステップS3の画像データ入力処理について図4を参照して説明する。画像データ入力処理において、メインコントローラ10は、まず、注目するフレームのIDをカウントするための変数iにrの値をセットする(ステップS11)。そして、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS12)。ステップS12の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、画素値推定部120が画像データの参照をできるように、フレーム入力部100と画素値推定部120とに制御信号を出力する。メインコントローラ10からの制御信号を受けて、画素値推定部120はフレーム入力部100を介して画像メモリ20からi番目のフレームの画像データを読み込む(ステップS13)。
【0028】
i番目のフレームの画像データの読み込みの完了後、画素値推定部120は、読み込んだ画像データが以前に読み込んだことがあるフレームの画像データであるか否かを判定する(ステップS14)。ステップS14の判定において、読み込んだ画像データが初めて読み込んだ画像データであった場合に、画素値推定部120は、当該i番目のフレームの画像データ中の画素値を推定する処理を行う(ステップS15)。例えば、欠損画素を含む画像に対して画素値の推定を行う場合においては、入力された画像データ中の推定対象の画素に対して該推定対象の画素を中心とした所定の大きさを持つ小領域を参照領域として設定し、この参照領域内にある画素値の畳み込み演算をすることで推定対象の画素の画素値を推定する手法を用いることができる。ただし、参照領域内に欠損画素が多く含まれており、推定に用いる画素値を十分に参照できなかった場合には、参照領域の大きさを大きく設定し直す必要がある。
【0029】
ステップS15の画素値の推定の後、処理がステップS16に移行する。また、ステップS14の判定において、読み込んだ画像データが以前にも読み込んだ画像データである場合には、ステップS15の処理をスキップする。この場合、既に画素値の推定が終わっている場合であるため、画素値を推定した後の画像データを読み込めば良い。特に、過去に、現在フレームとして処理をしたフレームに関しては、後述のステップS17の処理が完了した後の画像データを読み込めば良い。
【0030】
画素値の推定後或いは画素値を推定した後の画像データの読み込み後、画素値推定部120は、各画素の推定精度を画素値推定精度記録部130に記録する(ステップS16)。推定精度の記録が終了した後、画素値推定部120は1フレーム分の画像データの推定精度の記録が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS17)。その後、メインコントローラ10は処理をステップS12に移行させる。また、ステップS12の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、図4の画像データ入力処理を終了させて図3のステップS4以後の処理を行う。
【0031】
ここで、図3の説明に戻る。図3のステップS3の画像データ入力処理の終了後、メインコントローラ10は、動きベクトル算出処理を行う(ステップS4)。
ステップS4の動きベクトル算出処理について図5を参照して説明する。動きベクトル算出処理において、メインコントローラ10は、まず、注目するフレームのIDをカウントするための変数iにrの値をセットする(ステップS21)。そして、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS22)。ステップS22の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、動きベクトル算出部110が画像データの参照をできるように、フレーム入力部100と動きベクトル算出部110とに制御信号を出力する。メインコントローラ10からの制御信号を受けて、動きベクトル算出部110は、フレーム入力部100からi番目のフレームの画像データを読み込み、i番目のフレームと図示しないメモリに予め記憶しておいた現在フレームとの間の動きベクトルを算出し、算出した動きベクトルを図示しないメモリに記録する(ステップS23)。なお、動きベクトルの算出は例えば特開平5−30495に開示された手法を用いることができる。動きベクトルを求めることによって、現在フレームの各画素と他フレームの各画素との対応関係がわかる。
【0032】
i番目のフレームに関する動きベクトルの記録が終了した後、動きベクトル算出部110はi番目のフレームと現在フレームとの間の動きベクトルの記録が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS24)。その後、メインコントローラ10は処理をステップS22に移行させる。また、ステップS22の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、図5の動きベクトル算出処理を終了させて図3のステップS5以後の処理を行う。
【0033】
ここで、図3の説明に戻る。図3のステップS4の動きベクトル算出処理の終了後、メインコントローラ10は、置換画素候補判別処理を行う(ステップS5)。
ステップS5の置換画素候補判別処理について図6を参照して説明する。置換画素候補判別処理において、メインコントローラ10は、まず、各フレームの画像データ中の注目する画素のIDをカウントするための変数pに初期値0をセットする(ステップS31)。例えば、各画像データ中の左上端の画素を0の位置の画素とする。そして、メインコントローラ10は、変数pの値とフレーム内の画素数を示す定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS32)。ステップS32の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に置換画素候補を判別させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、動きベクトル算出部110が有する図示しないメモリに記憶された動きベクトルの情報によって対応付けられたn枚のフレーム中の各p番目の画素の推定精度に対して時間方向のフィルタリング処理を施す(ステップS33)。
【0034】
ここで、時間方向のフィルタリング処理としては、例えば現在フレームに対する重みが最も大きくなるように且つ現在フレームから離れた時間のフレームほど重みが小さくなるようなフィルタを、現在フレームの画素pと現在フレームと時間的に異なる位置(時間的に前後)のフレームの画素pの推定精度にかけて、推定精度を重み付き平均するというフィルタリング処理が考えられる。
【0035】
他の例として、時間の経過による推定精度の推移を示す近似関数を求め、推定精度と近似関数上の推定精度の値との差分だけ推定精度を変化させるというフィルタリング処理が考えられる。図7は、プロットした推定精度と近似関数の関係を示した一例である。図7に示すように、×印で示した近似関数上の推定精度と実際にプロットした現在フレームの推定精度とには差があることがわかる。この差分だけ推定精度を変化させる(×印で示した近似関数上の推定精度と置き換える)ことで、現在フレームに対して時間的に前後のフレームの推定精度に対して協調するように現在フレームの推定精度を変化させる。これにより、動画として滑らかな画質を生む効果が期待できる。
【0036】
なお、ここで説明した時間方向のフィルタリング処理以外の手法を用いて時間方向のフィルタリング処理をしても当然構わない。また、各画素に対して複数のフィルタを選択して処理しても構わないし、各フィルタリング処理を複数回繰り返し処理しても構わない。
【0037】
p番目の画素の推定精度に対して時間方向のフィルタリング処理が終了した後、置換画素候補判別部141はフィルタリング処理後の推定精度情報を図示しないメモリに記録する(ステップS34)。推定精度分布情報の記録後、置換画素候補判別部141は、p番目の画素に関する時間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS35)。その後、メインコントローラ10は処理をステップS32に移行させる。また、ステップS32の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図6の置換画素候補判別処理を終了させて図3のステップS6以後の処理を行う。
【0038】
ここで、図3の説明に戻る。図3のステップS5の置換画素候補判別処理の後、メインコントローラ10は、置換画素決定処理を行う(ステップS6)。
ステップS6の置換画素決定処理について図8を参照して説明する。置換画素決定処理において、メインコントローラ10は、変数pに初期値0をセットするとともに、変数Mに初期値0をセットする(ステップS41)。ここで、Mは置換すると決定された画素の数を示す変数である。次に、メインコントローラ10は、変数pの値と定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS42)。ステップS42の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140に置換画素を決定させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素決定部140は、画素pにおける更新前の推定精度Q0と更新後の推定精度Q1との差分(Q0−Q1)を求める(ステップS43)。ここで、更新前の推定精度とは、画像データ入力処理中のステップS16の処理においてメモリに記録された推定精度である。また、更新後の推定精度とは、置換画素候補判別処理中のステップS34において記録された推定精度である。
【0039】
(Q0−Q1)を求めた後、置換画素決定部140は、(Q0−Q1)と第1の所定の閾値とを比較し、(Q0−Q1)が第1の所定の閾値より大きいか否かを判定する(ステップS44)。ステップS44においては、第1の所定の閾値を例えば−0.5とする。
【0040】
ステップS44の判定において、(Q0−Q1)≦−0.5の関係が成立する場合には処理がステップS46に移行する。一方、ステップS44の判定において、(Q0−Q1)>−0.5の関係が成立する場合に、置換画素決定部140は、(Q0−Q1)と第2の所定の閾値とを比較し、(Q0−Q1)が第2の所定の閾値以上であるか否かを判定する(ステップS45)。ここで、ステップS45においては、第2の所定の閾値を例えば+0.5とする。ステップS45の判定において、(Q0−Q1)<+0.5の関係が成立する場合には処理がステップS48に移行する。この場合には画素pを置換画素としない。
【0041】
また、ステップS44の判定において(Q0−Q1)≦−0.5の関係が成立する場合、又はステップS45の判定において(Q0−Q1)≧+0.5の関係が成立する場合においては画素pを置換画素に決定する。この際、置換画素決定部140は、置換する画素が閾値−0.5と閾値+0.5のどちらで判定された結果なのかという情報や画素pの座標といった置換画素決定情報をメモリに記録する(ステップS46)。置換画素決定情報をメモリに記録した後、置換画素決定部140は、変数Mの値をM+1に更新する(ステップS47)。
【0042】
ステップS45において(Q0−Q1)<+0.5の関係が成立する場合、又はステップS47の後、置換画素決定部140は、画素pに関しての置換の要否の判定が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS48)。その後、メインコントローラ10は処理をステップS42に移行させる。また、ステップS42の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図8の置換画素決定処理を終了させて図3のステップS7以後の処理を行う。
【0043】
ここで、図8の処理ではフレーム内のみで画素pに関しての置換の要否を判定している。これに対し、図8のステップS43〜ステップS47に従った判定を行わずに、現在フレームの画素値と前後フレームの画素値との差が所定の閾値以上である場合に置換処理を適用するという判定を追加することにより、置換処理を適用したことによるアーティファクトの発生を抑制する効果をも生むことができる。
【0044】
また、他の例として、前述の現在フレームの画素値と現在フレームに対して時間的に前後の差をみることによる判断の一例として、時間の経過による画素値の推移を示す近似関数を求め、画素値と近似関数上の画素値との差分から判定する手法を用いることもできる。さらには、この判定とステップS43〜S47の判定とを組み合わせ、両方の条件に合致したときに画素の置換を行うようにすることもできる。
【0045】
ここで、置換画素の候補の決定から実際に置換画素を決定するまでの処理を、具体例を用いて説明する。まず、推定精度分布情報を作成して画素値推定精度記録部130に記録する。推定精度分布情報の作成後、画素値推定精度記録部130を参照して、隣接する同じ推定精度の画素同士をラベリングする。ここでいう同じ推定精度の画素とは、所定の精度で量子化することにより得られた推定精度が等しい画素のことを指す。量子化結果の推定精度をラベルとして使用する。ラベリング処理には例えば特開平4−15767号公報や特開平8−22541号公報で示された手法を用いることができる。なお、以下の説明においては、ラベリング処理の結果、同じラベルのついた隣接する画素同士の塊をグループと呼ぶことにする。
【0046】
図9は、同じ推定精度の画素同士に対してラベリングをすることによりグループを作成し終えた段階の推定精度分布情報を示す図である。ここで、図9の数値は推定精度を示しており、例えば各画素の先鋭度を量子化したものである。また、図9(a)が過去フレーム、図9(b)が現在フレーム、図9(c)が未来フレームをそれぞれ示している。
【0047】
図10は、図9(a)〜図9(c)で示した推定精度分布情報に対し時間方向にフィルタリング処理した結果の現在フレームの推定精度分布情報を示す図である。図10の例では、現在フレームを中心に重みを大きくかけ、中心から離れるにつれて重みが小さくなるようなフィルタをかけて重み付き平均している。この例では式(1)のフィルタ係数を用いて式(2)で示される重み付き平均を求めている。
過去フレームの重みWt−1 =0.3
現在フレームの重みWt =0.4
未来フレームの重みWt+1 =0.3 (1)
重み付け平均=Wt−1・過去フレームの推定精度+Wt・現在フレームの推定精度+Wt+1・未来フレームの推定精度 (2)
図10においては、式(2)(3)で表される時間方向へのフィルタによって推定精度の値が変更された画素を太枠で示している。なお、図9、図10の例では現在フレームを中心として前後1フレーム分までで重み付け平均を行うようにしているが、必ずしも現在フレームを中心とした3フレームを用いて重み付け平均を行う必要はない。例えば、現在フレームを中心として前後の複数フレームについて重み付け平均を行うようにしても良い。また、現在フレームと、過去フレーム及び未来フレームの一方とで重み付け平均を行うようにしても良い。
【0048】
図11は、図9(b)で示す現在フレームの推定精度分布の値と図10のようにして得られた推定精度分布情報の値との差を調べる過程を示す図である。上述したように、本実施形態では例として、差の絶対値が0.5以上ある画素を置換する画素と決定するようにしている。したがって、図11に示す5行2列目及び6行2列目の画素が置換すると決定された画素となる。
【0049】
ここで、図3の説明に戻る。図3のステップS6の置換画素決定処理の後、メインコントローラ10は、画素値置換処理を行う(ステップS7)。
ステップS7の画素値置換処理について図12を参照して説明する。画素値置換処理において、メインコントローラ10は、変数pに初期値0をセットするとともに、変数qに初期値0をセットする(ステップS51)。ここで、qは置換する対象の画素を幾つ処理したかを記録する変数である。次に、メインコントローラ10は、変数qの値と定数Mとを比較して、変数qがMよりも小さいか否かを判定する(ステップS52)。ステップS52の判定において、変数qがMよりも小さい場合に、メインコントローラ10は、画素値置換部150に画素の置換を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素決定部140のメモリに記録された置換画素情報を参照して画素pが置換する対象の画素であるか否かを判定する(ステップS53)。
【0050】
ステップS53の判定において、画素pが置換する対象の画素である場合に、画素値置換部150は、画素値算出手段を画素値再推定部151から切り替えないか否かを判定する(ステップS54)。ここで、画素値算出手段を切り替えるか否かは、置換画素情報として記録された情報と、周囲画素の推定精度と当該位置の推定精度の差分と閾値−0.5と+0.5のとの比較結果に基づいて画素pが置換する対象の画素であると決定されたかに応じて判定する。推定処理では、元々低い推定精度の画素値が求められていた画素を高い推定精度の画素に合わせて推定し直すことはできない。このため、高い推定精度による画素を低い推定精度による画素に協調させる場合には再推定処理を、低い推定精度による画素を高い推定精度による画素に協調させる場合には補間処理を用いる。即ち、ステップS54の判定において、画素pの推定精度が周囲画素の推定精度の差分の閾値−0.5によって置換する対象の画素と決定された場合に、画素値置換部150は、画素値再推定部151によって置換後の再推定を行う(ステップS55)。一方、ステップS54の判定において、画素pの推定精度が周辺画素の推定精度の差分の閾値+0.5によって置換する対象の画素と決定された場合に、画素値置換部150は、画素補間部152による補間処理によって周囲の高い推定精度の画素に協調した画素値を求める(ステップS56)。
【0051】
ステップS55又はステップS56の後、画素値置換部150は、画素pの画素値をステップS55又はステップS56において求めた画素値に置換する(ステップS57)。
ステップS53の判定において画素pが置換する画素でなかった場合、又はステップS57の後、置換画素決定部140は、画素pに関しての置換が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数qの値をq+1に更新する(ステップS58)。また、メインコントローラ10は、変数pの値をp+1に更新する(ステップS59)。その後、メインコントローラ10は処理をステップS52に移行させる。また、ステップS52の判定において、変数qがMに等しくなった場合に、メインコントローラ10は、図12の画素値置換処理を終了させて図3のステップS8以後の処理を行う。
【0052】
ここで、図3の説明に戻る。図3のステップS7の画素値置換処理の後、メインコントローラ10は、rの値をr+1に更新する。その後、メインコントローラ10はステップS2以後の処理を行う。また、ステップS2の判定において、rがfに等しくなった場合に、メインコントローラ10は、図3の処理を終了させる。これにより、画像処理装置1の動作が終了する。
【0053】
以上説明したように、第1の実施形態によれば、現在のフレームの各画素の推定精度と現在フレームの各画素に対応した過去フレーム及び未来フレームの推定精度とが大きく変わらないように時間方向フィルタリング処理を行って推定精度分布情報を形成し直し、形成し直した推定精度分布情報に基づき画素値を改めて求めることにより、フレーム間においてもムラやアーティファクトを低減して、動画像として時系列に滑らかな画質が得られる。
【0054】
また、画素値を置換すると決定された画素に対して、本実施形態では置換後の画素値の算出には再推定処理或いは補間処理を用いている。基本的に、再推定処理によって画素値を求めたほうが高い画質の動画像を得ることが可能であるが、再推定処理では元々低い推定精度の画素値が求められていた画素を高い推定精度の画素に合わせて推定し直すことはできない。このため、高い推定精度による画素を低い推定精度による画素に協調させる場合には再推定処理を、低い推定精度による画素を高い推定精度による画素に協調させる場合には補間処理を用いる。補間処理を用いると低い推定精度による画素を周囲の高い推定精度による画素に協調して置換することも可能となり、より滑らかな画像を形成する効果を生むことが期待できる。このように再推定処理と補間処理を切り替えて用いることで、推定精度の滑らかな画像を形成することができる。
【0055】
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。第2の実施形態は、第1の実施形態における置換画素候補判別部141の構成に変更を加えている。図13は、第2の実施形態における置換画素候補判別部141の構成を示す図である。図13に示すように、第2の実施形態における置換画素候補判別部141は、時間方向フィルタリング部142の前段に空間方向フィルタリング部143が設けられている。空間方向フィルタリング部143は、画素値推定精度記録部130に記録された各フレームの推定精度情報に対して空間方向のフィルタリング処理を行う。第2の実施形態における時間方向フィルタリング部142は、空間方向フィルタリング部143で空間方向のフィルタリング処理がなされた推定精度分布情報に対して上述したような時間方向のフィルタリング処理を行う。
【0056】
第2の実施形態における置換画素候補判別処理について図14を参照して説明する。なお、置換画素候補判別処理以外の処理は第1の実施形態で説明したものと同様であるので説明を省略する。まず、メインコントローラ10は、変数iに初期値rをセットする(ステップS61)。次に、メインコントローラ10は、変数iの値と定数(r+n)とを比較して、変数iが(r+n)よりも小さいか否かを判定する(ステップS62)。ステップS62の判定において、変数iが(r+n)よりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に空間方向のフィルタリング処理を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、i番目のフレーム内の各画素の推定精度に対し、空間方向のフィルタリング処理を施す(ステップS63)。
【0057】
ここで、本実施形態では、空間方向のフィルタリング処理として、例えばモフォロジーの考えに基づくクロージング処理を用いる。例えば、クロージング処理には特開2006−148743号公報で示された手法を用いることができる。クロージング処理を行う場合、まず、i番目のフレームの推定精度分布情報を参照し、i番目のフレーム中で隣接する同じ推定精度の画素同士をラベリングする。なお、第2の実施形態においては、ラベリング処理の結果、同じグループに含まれる画素の数をグループの大きさとして調べ、ラベルの順番をLUT(ルックアップテーブル)に記録する。
【0058】
通常、画像は、グループによって異なる推定精度の画素で構成されており、また大小様々なグループが入り組んで構成されているため、不均一な推定精度で推定された画像にみえる。そのため、グループの凹凸による入り組みが小さくなるようにグループを統合し、また、グループの数を初期のグループ数以下に減らすことで精度の不均一さを低減し、且つ大きなグループ(推定精度が同じ画素が多く含まれるグループ)を多く残すように処理する。これにより、自然な見た目の滑らかな画像を作る効果を高めることができる。このような一連のグループ再構成により、画素値を新たに求めて置換の候補となる画素を決定する。
【0059】
クロージング処理においては、まず、ラベルの順番を記録したLUTを参照してラベルの順番が一番大きなグループに対して実行する。一番大きなグループに対するクロージング処理の完了後、二番目に大きなグループに対してクロージング処理をする。このように処理を進めていき、注目するグループの大きさが閾値に到達したら処理を終了する。
【0060】
また、グループ再構成の手法として、例えば凸包(Convex-Hull)を用いても良い。この凸包を用いた手法は、例えば特開2005−354229号公報に開示されている。
この他、さらに別のグループ再構成処理として次のような手法を用いても良い。即ち、この手法は、グループの大きさが小さいあるグループに注目し、該小さなグループに隣接するグループの中で、この小さなブロックの推定精度未満の画素で構成される最大のグループの推定精度に合わせて小さなグループを構成する各々の画素を置換するためのラベルを付け替えるという手法である。
【0061】
さらに、例えばグループの境界の凹凸度合いを調べることにより、グループの形状特徴を考慮してラベルを置換すべき画素を指定するグループ再構成処理手法を用いることもできる。ここで、グループの凹凸度合いの算出手法としては、例えばグループの周囲長、包絡周囲長、グループの大きさ(グループを構成する画素の数)、グループの境界の屈曲点の数を用いて算出する手法が知られている。
【0062】
例えば、グループの周囲長と包絡周囲長を用いて凹凸度合いを算出するには、周囲長と包絡周囲長の比(包絡周囲長/周囲長)を求めれば良い。この比が1.0に近いほど凹凸の度合いが小さいことを示す。
また、周囲長とグループの大きさを用いた凹凸度合いを算出するには、例えば特開平5−322538号公報において開示されている手法を用いれば良い。さらに、グループの境界の屈曲点の数と周囲長とを用いた凹凸度合いを算出するには、例えば特開2005−127791号公報に開示されている手法を用いれば良い。
【0063】
なお、周囲長は、グループの境界の基準点を適当に設定し、この設定した基準点から境界を走査して、走査が再び基準点に到達するまでの画素数を求めることにより求めることができる。また、包絡周囲長は、グループを凸包した後、凸包された領域に関して基準点を適当に設定し、この設定した基準点から境界を走査し、走査が再び基準点に到達するまでの画素数を求めることにより求めることができる。また、グループの大きさはグループを構成する画素の数をカウントすることにより求めることができる。屈曲点の数は、例えば特開2005−127791号公報で示された手法によって求めることができる。
【0064】
また、これら以外に、グループに内接する矩形領域やグループに外接する矩形領域を求めることにより、周囲長及び包絡周囲長及びグループの大きさの近似値を求める手法も考えられる。当然、以上に挙げた手法以外によって周囲長、包絡周囲長及びグループの大きさ、及び屈曲点の数を求めても問題ない。
【0065】
以上のように、凸包を用いた手法においては、所定のフレームに対応した推定精度分布情報を参照して、前述の各種の算出手法より、グループのそれぞれの凹凸度合いを求め、凹凸度合い大きなグループに対して凹凸度合いが小さくなるように、該当するグループの境界近傍の画素のラベルを置換するように決定する。該当するグループの決定は、凹凸度合いの大きさが所定の閾値以上かで判断し、閾値以上の凹凸度合いを持つグループを該当グループであると決定する。
【0066】
さらに別のグループ再構成処理として、クロージング処理を利用した孤立点の検出による手法がある。この手法においては、画像の所定の領域に対応した推定精度分布情報を参照して、グループに対して所定の回数の膨張処理と、この所定回数と同じ回数の収縮処理とを順に実行する。膨張及び収縮処理をした後のグループと膨張及び収縮処理をする前のグループとの差分を取ることにより、大きなグループに連結せずに孤立している小さなグループを検出する。ここで検出されたグループに所属する画素を、ラベルを置換する画素であると決定する。なお、膨張処理と収縮処理の回数が多いほど検出することのできる孤立グループの大きさが大きくなる。この処理回数はノイズレベルやグループの大きさに応じて適応的に設定することが好ましい。
【0067】
以上が空間方向のフィルタリング処理の例である。これらの例以外の手法を用いて空間方向のフィルタリング処理をしても当然構わない。各画素に対し複数のフィルタを選択して処理しても構わないし、各フィルタリング処理を複数回繰り返し処理しても構わない。
【0068】
i番目のフレームの各画素に対する空間方向のフィルタリング処理が終了した後、置換画素候補判別部141はフィルタリング処理後の推定精度分布情報を図示しないメモリに記録する(ステップS64)。推定精度分布情報の記録後、置換画素候補判別部141は、i番目のフレームに関する空間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数iの値をi+1に更新する(ステップS65)。その後、メインコントローラ10は処理をステップS62に移行させる。また、ステップS62の判定において、変数iが(r+n)に等しくなった場合に、メインコントローラ10は、変数pに初期値0をセットする(ステップS66)。
【0069】
次に、メインコントローラ10は、変数pの値と定数mとを比較して、変数pがmよりも小さいか否かを判定する(ステップS67)。ステップS67の判定において、変数pがmよりも小さい場合に、メインコントローラ10は、置換画素決定部140の置換画素候補判別部141に時間方向のフィルタリング処理を実行させるための制御信号を出力する。メインコントローラ10からの制御信号を受けて、置換画素候補判別部141は、動きベクトル算出部110が有する図示しないメモリに記憶された動きベクトルの情報によって対応付けられたn枚のフレーム中の各p番目の画素の推定精度に対して時間方向のフィルタリング処理を施す(ステップS68)。この時間方向のフィルタリング処理については第1の実施形態で説明したものと同様であるので説明を省略する。p番目の画素の推定精度に対して時間方向のフィルタリング処理が終了した後、置換画素候補判別部141は時間方向のフィルタリング処理後の推定精度分布情報を図示しないメモリに記録する(ステップS69)。推定精度分布情報の記録後、置換画素候補判別部141は、p番目の画素に関する時間方向のフィルタリング処理が終了した旨をメインコントローラ10に通知する。これを受けて、メインコントローラ10は、変数pの値をp+1に更新する(ステップS70)。その後、メインコントローラ10は処理をステップS67に移行させる。また、ステップS67の判定において、変数pがmに等しくなった場合に、メインコントローラ10は、図14の置換画素候補判別処理を終了させて図3のステップS6以後の処理を行う。
【0070】
ここで、置換画素の候補の決定から実際に置換画素を決定するまでの処理を、具体例を用いて説明する。推定精度分布情報の作成後、画素値推定精度記録部130を参照して、空間方向のフィルタリング処理を施す。図15は、図9(a)〜図9(c)で示した3フレーム分の推定精度のそれぞれに対して空間方向へフィルタリング処理をして凹凸の低減と孤立点の統合とを行うまでの過程を示している。ここで、図15(a)が過去フレーム、図15(b)が現在フレーム、図15(c)が未来フレームをそれぞれ示している。図15(a)に示す過去フレームにおいては4行5列目の画素に対応した推定精度と7行4列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。また、図15(b)に示す現在フレームにおいては4行5列目の画素に対応した推定精度と7行4列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。さらに、図15(c)に示す未来フレームにおいては4行4列目の画素に対応した推定精度と7行3列目の画素に対応した推定精度とが孤立点となっており、これらの画素に対応した推定精度が周囲の推定精度と統合される。推定精度の統合を行った結果を図16(a)〜図16(c)に示している。
【0071】
図17は図16(a)〜図16(a)で示した推定分布情報に対して第1の実施形態で説明したのと同様の時間方向のフィルタリング処理を行った結果としての現在フレームの推定分布情報を示している。なお、図17においても、推定精度の値が変更された画素を太枠で示している。
【0072】
図18は、図9(b)で示す現在フレームの推定精度分布の値と図17のようにして得られた推定精度分布情報の値との差を調べる過程を示す図である。第1の実施形態と同様に、差の絶対値が0.5以上ある画素を置換する画素と決定するようにすると、図18に示す4行5列目、5行2列目、6行2列目、7行4列目の画素が置換すると決定された画素となる。
【0073】
以上説明したように、本実施形態によれば、同一フレーム内で大小様々な推定精度に関するグループが入り組んで構成されていて不均一な精度で推定された画像にみえる画像に対して空間方向のフィルタリング処理を施すことによって、グループの凹凸による入り組みが小さくなるようにグループを統合し、またグループの数を初期のグループ数以下に減らすことで精度の不均一さを低減し且つ大きなグループを多く残すように処理することで、各フレーム単位で見たときに高い画質の画像が得られる。また、現在のフレームの推定精度分布情報と各画素に対応した前後のフレームの推定精度分布情報とが大きく変わらないように推定精度分布情報を形成し直し、形成した推定精度分布情報に基づき画素値を改めて求めることにより、動画像としても時系列に滑らかな画質が得られる。
【0074】
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。なお、上述した実施形態における画像処理装置による各処理の手法、即ち、各フローチャートに示す処理は、何れもメインコントローラ10に実行させることができるプログラムとして、プログラムメモリ11に記憶させておくこともできる。この他、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、メインコントローラ10は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
【0075】
さらに、上記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。
【0076】
ここで、本発明の要旨をまとめると以下のようなものを含む。
(1) 複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段とを具備することを特徴とする画像処理装置。
【0077】
この(1)は第1及び第2の実施形態が対応している。そして、(1)における動きベクトル算出手段は動きベクトル算出部110が、画素値推定手段は画素値推定部120が、画素値推定精度記録手段は画素値推定精度記録部130が、置換画素決定手段は置換画素決定部140が、画素値置換手段は画素値置換部150がそれぞれ対応している。このような(1)の構成においては、画素値推定手段により推定された画素が混在するフレームで構成される動画像に対して、現在フレームの推定精度と現在フレームと異なる時間位置のフレームの推定精度を参照する。そして、この参照結果に従って実際に置換する画素を適切に決定する。これにより、動画像として時系列に滑らかな画質を得ることができる。
【0078】
(2) 前記置換画素決定手段は、前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する各画素の推定精度を算出し、該第1のフレームにおいて前記画素値の置換を実行した場合に対応する各画素の推定精度を用いて前記置換すべき画素の候補を決定する置換画素候補判別手段を有し、前記置換画素候補判別手段により前記置換すべき画素の候補であると決定された画素から前記置換すべき画素を決定することを特徴とする(1)に記載の画像処理装置。
【0079】
(2)は第1及び第2の実施形態に対応している。そして、(2)における置換画素候補判別手段は置換画素候補判別部141が対応している。このような(2)の構成においては、現在フレームの推定精度と現在フレームに近接するフレームの推定精度とを基に現在フレームにおいて画素の置換を実行した場合の推定精度を算出し、その推定精度を用いて置換すべき画素の候補であるかどうかを判別する。そして得られた候補画素の中から実際に置換する画素かどうかを決定する。このようにして、推定精度を時系列に滑らかに推移させることができ、動画像として見た目の滑らかな画像とすることができる。
【0080】
(3) 前記置換画素候補判別手段は、前記動きベクトル算出手段によって算出された前記第1のフレームの各画素と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記第1のフレームの各画素と前記第2のフレームの各画素との対応を判別し、該判別した前記第1のフレームの各画素の推定精度と前記第2のフレームの各画素の推定精度との変化が滑らかとなるように、前記第1のフレームにおいて前記画素値の置換を実行することを特徴とする(2)に記載の画像処理装置。
【0081】
(3)は第1の実施形態に対応している。このような(3)の構成においては、推定精度が滑らかとなるようにする処理である時間方向のフィルタリング処理を施すことで、推定精度を時系列に滑らかに推移させることができる。
(4) 前記置換画素候補判別手段は、前記第1のフレームにおいて前記画素値の置換を実行した場合の前記第1のフレームにおける各画素の推定精度を算出するに先立って、前記第1のフレームの各画素の推定精度及び前記第2のフレームの推定精度の不均一さを低減することを特徴とする(3)に記載の画像処理装置。
【0082】
(4)は第2の実施形態に対応している。このような(4)の構成においては、各フレーム中の推定精度の不均一さを低減する処理である空間方向のフィルタリング処理を施すことで、各フレームの画質を高めることができる。
(5) 前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0083】
(5)は第1及び第2の実施形態が対応している。このような(5)の構成においては、置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、現在フレームの画素値の置換を実行する前に相当する推定精度と現在フレームの画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を置換すべき画素と決定することで、動画像として見た目の滑らかな画像とすることができる。
【0084】
(6) 前記置換画素決定手段は、前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0085】
(6)は第1及び第2の実施形態が対応している。このような(6)の構成においては、現在フレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と現在フレームに対して異なる時間位置のフレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある現在フレーム中の置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することで、動画像として見た目の滑らかな画像とすることができる。
【0086】
(7) 前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差があり、且つ前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする(2)乃至(4)の何れか1項に記載の画像処理装置。
【0087】
(7)は第1及び第2の実施形態が対応している。このような(7)の構成においては、(5)と(6)とを組み合わせて用いることにより、(5)と(6)とを単独で用いたよりも、より動画像として見た目の滑らかな画像とすることができる。
(8) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
【0088】
(8)は第1及び第2の実施形態が対応している。そして、(8)における画素値再推定手段は画素値再推定部151が対応している。このような(8)の構成においては、置換画素決定手段により決定した画素の画素値を再推定することにより求めている。再推定によって、再推定前と異なる推定精度の画素値を求めることによってより滑らかな動画像を構成することができる。
【0089】
(9) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
(9)は第1及び第2の実施形態が対応している。そして、(9)における画素補間手段は画素補間部152が対応している。このような(9)の構成においては、置換画素決定手段により決定した画素の補間処理により求めている。補間により補間前と異なる推定精度の画素値を求めることによって滑らかな動画像を構成することができる。
【0090】
(10) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段と、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段と、を有することを特徴とする(1)乃至(7)の何れか1項に記載の画像処理装置。
【0091】
(10)は第1及び第2の実施形態が対応している。このような(10)の構成においては、(8)、(9)の構成を組み合わせて用いることによって滑らかな動画像を構成することができる。
(11) 前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の推定精度に応じて前記画素値再推定手段と前記画素補間手段の何れを前記画素値の置換に用いるかを決定することを特徴とする(10)に記載の画像処理装置。
【0092】
(11)は第1及び第2の実施形態が対応している。このような(11)の構成においては、(8)、(9)の構成を推定精度に応じて適宜用いることによって滑らかな動画像を構成することができる。
(12) コンピュータを、複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、して機能させるための画像処理プログラム。
【0093】
(12)は第1及び第2の実施形態が対応している。このような(12)の構成においては、画素値推定手段により推定された画素が混在するフレームで構成される動画像に対して、前記第1のフレームの推定精度と前記第2のフレームの推定精度を参照する。そして、この参照結果に従って実際に置換する画素を適切に決定する。これにより、動画像として時系列に滑らかな画質を得ることができる。
【符号の説明】
【0094】
1…画像処理装置、10…メインコントローラ、11…プログラムメモリ、20…画像メモリ、30…画像処理回路、100…フレーム入力部、110…動きベクトル算出部、120…画素値推定部、130…画素値推定精度記録部、140…置換画素決定部、141…置換画素候補判別部、142…時間方向フィルタリング部、143…空間方向フィルタリング部、150…画素値置換部、151…画素値再推定部、152…画素補間部
【特許請求の範囲】
【請求項1】
複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、
前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、
前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、
前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、
前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、
を具備することを特徴とする画像処理装置。
【請求項2】
前記置換画素決定手段は、前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する各画素の推定精度を算出し、該第1のフレームにおいて前記画素値の置換を実行した場合に対応する各画素の推定精度を用いて前記置換すべき画素の候補を決定する置換画素候補判別手段を有し、
前記置換画素候補判別手段により前記置換すべき画素の候補であると決定された画素から前記置換すべき画素を決定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記置換画素候補判別手段は、前記動きベクトル算出手段によって算出された前記第1のフレームの各画素と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記第1のフレームの各画素と前記第2のフレームの各画素との対応を判別し、該判別した前記第1のフレームの各画素の推定精度と前記第2のフレームの各画素の推定精度との変化が滑らかとなるように、前記第1のフレームにおいて前記画素値の置換を実行することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記置換画素候補判別手段は、前記第1のフレームにおいて前記画素値の置換を実行した場合の前記第1のフレームにおける各画素の推定精度を算出するに先立って、前記第1のフレームの各画素の推定精度及び前記第2のフレームの推定精度の不均一さを低減することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項6】
前記置換画素決定手段は、前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項7】
前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差があり、且つ前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項8】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項9】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項10】
前記画素値置換手段は、
前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段と、
前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段と、
を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項11】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の推定精度に応じて前記画素値再推定手段と前記画素補間手段の何れを前記画素値の置換に用いるかを決定することを特徴とする請求項10に記載の画像処理装置。
【請求項12】
コンピュータを、
複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、
前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、
前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、
前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、
前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、
して機能させるための画像処理プログラム。
【請求項1】
複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、
前記動画像中の各フレームの画素値を推定する画素値推定手段と各画素の推定精度を算出する画素値推定精度算出手段と、
前記画素値推定精度算出手段によって算出された推定精度を記録する画素値推定精度記録手段と、
前記動きベクトル算出手段により算出された前記動画像中の第1のフレームの各画素と前記動画像中の前記第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、
前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、
を具備することを特徴とする画像処理装置。
【請求項2】
前記置換画素決定手段は、前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する各画素の推定精度を算出し、該第1のフレームにおいて前記画素値の置換を実行した場合に対応する各画素の推定精度を用いて前記置換すべき画素の候補を決定する置換画素候補判別手段を有し、
前記置換画素候補判別手段により前記置換すべき画素の候補であると決定された画素から前記置換すべき画素を決定することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記置換画素候補判別手段は、前記動きベクトル算出手段によって算出された前記第1のフレームの各画素と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記第1のフレームの各画素と前記第2のフレームの各画素との対応を判別し、該判別した前記第1のフレームの各画素の推定精度と前記第2のフレームの各画素の推定精度との変化が滑らかとなるように、前記第1のフレームにおいて前記画素値の置換を実行することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記置換画素候補判別手段は、前記第1のフレームにおいて前記画素値の置換を実行した場合の前記第1のフレームにおける各画素の推定精度を算出するに先立って、前記第1のフレームの各画素の推定精度及び前記第2のフレームの推定精度の不均一さを低減することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差がある画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項6】
前記置換画素決定手段は、前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項7】
前記置換画素決定手段は、前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の中で、前記第1のフレームにおいて前記画素値の置換を実行する前に相当する推定精度と前記第1のフレームにおいて前記画素値の置換を実行した場合に相当する推定精度とに所定の閾値以上の差があり、且つ前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値と前記第2のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素の画素値とに所定の閾値以上の差がある前記第1のフレーム中の前記置換画素候補判別手段により置換すべき画素の候補であると判定された画素を前記置換すべき画素と決定することを特徴とする請求項2乃至4の何れか1項に記載の画像処理装置。
【請求項8】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項9】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項10】
前記画素値置換手段は、
前記置換画素決定手段により置換すべきであると決定された画素の画素値を再推定する画素値再推定手段と、
前記置換画素決定手段により置換すべきであると決定された画素の画素値を補間処理により求める画素補間手段と、
を有することを特徴とする請求項1乃至7の何れか1項に記載の画像処理装置。
【請求項11】
前記画素値置換手段は、前記置換画素決定手段により置換すべきであると決定された画素の推定精度に応じて前記画素値再推定手段と前記画素補間手段の何れを前記画素値の置換に用いるかを決定することを特徴とする請求項10に記載の画像処理装置。
【請求項12】
コンピュータを、
複数フレームの画像データで構成された動画像中の第1のフレームの各画素と該第1のフレームに対して異なる時間位置の第2のフレームの各画素との間の対応を示す動きベクトルを算出する動きベクトル算出手段と、
前記動画像中の各フレームの各画素の画質に関わる尺度を示す推定精度を算出する画素値推定手段と、
前記画素値推定手段によって算出された推定精度を記録する画素値推定精度記録手段と、
前記動きベクトル算出手段により算出された前記第1のフレームの各画素と前記第2のフレームの各画素との間の対応を示す動きベクトルを基に前記画素値推定精度記録手段に記録された前記第1のフレームの各画素に対応した推定精度と前記第1のフレームに対して異なる時間位置の前記第2のフレームの各画素に対応した推定精度を参照して、前記第1のフレームにおいて置換すべき画素を決定する置換画素決定手段と、
前記置換画素決定手段により置換すると決定された画素の画素値を置換する画素値置換手段と、
して機能させるための画像処理プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2011−199784(P2011−199784A)
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願番号】特願2010−67012(P2010−67012)
【出願日】平成22年3月23日(2010.3.23)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成23年10月6日(2011.10.6)
【国際特許分類】
【出願日】平成22年3月23日(2010.3.23)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]