(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】画像処理装置、画像処理方法及びプログラム
(51)【国際特許分類】
H04N 5/21 20060101AFI20240501BHJP
【FI】
H04N5/21
(21)【出願番号】P 2021563501
(86)(22)【出願日】2019-12-10
(86)【国際出願番号】 JP2019048362
(87)【国際公開番号】W WO2021117148
(87)【国際公開日】2021-06-17
【審査請求日】2022-11-16
(73)【特許権者】
【識別番号】514315159
【氏名又は名称】株式会社ソシオネクスト
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】佐藤 秀彦
【審査官】鈴木 圭一郎
(56)【参考文献】
【文献】特開2006-260049(JP,A)
【文献】特開2013-258445(JP,A)
【文献】特開2007-036743(JP,A)
【文献】特開2016-213628(JP,A)
【文献】特開2016-024735(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 5/21
(57)【特許請求の範囲】
【請求項1】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成する第1の生成部と、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域
及び前記動体物の通過した動体通過領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成する第2の生成部と、
前記第1の動きマップと、
0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成する第3の生成部と、
前記第2の動きマップ
を構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との
合成比率に係るパラメータを
画素単位で調整する調整部と、
を備え
、
前記第2の生成部は、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第2の動きマップを前記過去マップ画像として用いる、画像処理装置。
【請求項2】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成する第1の生成部と、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成する第2の生成部と、
前記第1の動きマップと、0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成する第3の生成部と、
前記第2の動きマップを構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との合成比率に係るパラメータを画素単位で調整する調整部と、
を備え、
前記第2の生成部は、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第1の動きマップを前記過去マップ画像として用いる、画像処理装置。
【請求項3】
前記第2の生成部は、前記過去マップ画像を構成する各画素の値から、当該画素と同じ画素位置にある前記第1の動きマップの画素の値を減算し、減算した値が正値となる各画素位置に減算結果に応じた値を対応付けた前記動体通過マップを生成する請求項1
又は2に記載の画像処理装置。
【請求項4】
前記第3の生成部は、前記第1の動きマップを構成する各画素の値と、前記動体通過マップを構成する各画素の値に前記
残像抑制強度を乗算した値とを画素位置毎に統合して、前記第2の動きマップを生成し、
前記調整部は、前記第2の動きマップを構成する各画素の値に基づいて、前記
合成比率に係るパラメータを画素単位で調整する請求項
3に記載の画像処理装置。
【請求項5】
前記調整部で調整されたパラメータに基づき
、前記第1のフレーム画像と前記第2のフレーム画像とを合成するノイズリダクション処理を行うことで、前記第1のフレーム画像と前記第2のフレーム画像とから1フレーム分のフレーム画像を出力する3次元ノイズリダクション処理部を更に備え、
前記第1の生成部は、新たなフレーム画像が入力されると、先行する前記第1のフレーム画像と前記第2のフレーム画像とを基に前記3次元ノイズリダクション処理部で出力されたフレーム画像を、前記新たなフレーム画像より1フレーム分過去のフレーム画像として、前記第1の動きマップを生成する請求項1
又は2に記載の画像処理装置。
【請求項6】
前記3次元ノイズリダクション処理部は、前記第1のフレーム画像と前記第2のフレーム画像との各々に2次元ノイズリダクション処理を施す2次元ノイズリダクション処理部と、前記2次元ノイズリダクション処理部で処理された前記第1のフレーム画像と前記第2のフレーム画像とを合成し、1フレーム分のフレーム画像を出力する合成処理部とを有し、
前記調整部は、前記2次元ノイズリダクション処理部又は前記合成処理部の動作に係るパラメータを調整する請求項
5に記載の画像処理装置。
【請求項7】
前記第1のフレーム画像と前記第2のフレーム画像とに基づき、両フレーム画像に含まれた動体物の動き量を推定する動き量推定部と、
前記動き量推定部の推定結果を用いて、前記第2のフレーム画像に動き補償処理を実行する動き補償部と、
を更に備え、
前記第3の生成部は、前記動き補償部の処理結果が前記3次元ノイズリダクション処理部に入力されるか否かに応じて、前記動体通過マップに乗算する前記
残像抑制強度を変更する請求項
5又は6に記載の画像処理装置。
【請求項8】
前記第1の動きマップ及び前記第2の動きマップのビット深度は、前記フレーム画像のビット深度より低減化されている請求項1
又は2に記載の画像処理装置。
【請求項9】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成し、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域
及び前記動体物の通過した動体通過領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成し、
前記第1の動きマップと、
0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成し、
前記第2の動きマップ
を構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との
合成比率に係るパラメータを
画素単位で調整する、
処理をコンピュータが実行
し、
前記動体通過マップを生成する処理では、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第2の動きマップを前記過去マップ画像として用いる、画像処理方法。
【請求項10】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成し、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成し、
前記第1の動きマップと、0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成し、
前記第2の動きマップを構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との合成比率に係るパラメータを画素単位で調整する、
処理をコンピュータが実行し、
前記動体通過マップを生成する処理では、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第1の動きマップを前記過去マップ画像として用いる、画像処理方法。
【請求項11】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成し、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域
及び前記動体物の通過した動体通過領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成し、
前記第1の動きマップと、
0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成し、
前記第2の動きマップ
を構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との
合成比率に係るパラメータを
画素単位で調整する、
処理をコンピュータに実行させ
、
前記動体通過マップを生成する処理では、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第2の動きマップを前記過去マップ画像として用いる、プログラム。
【請求項12】
連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成し、
前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成し、
前記第1の動きマップと、0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成し、
前記第2の動きマップを構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との合成比率に係るパラメータを画素単位で調整する、
処理をコンピュータに実行させ、
前記動体通過マップを生成する処理では、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第1の動きマップを前記過去マップ画像として用いる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【0002】
従来、動画像等の複数のフレーム画像に対するノイズリダクション技術に関し、時系列的に連続する3フレーム分のフレーム画像を用いて3次元ノイズリダクション(3DNR)処理を行う装置が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来では、フレーム画像中に動体物が存在するような場合に、当該動体物が通過した領域に尾を引くようなノイズ(残像ノイズ)が発生する可能性があった。このため、従来では、残像ノイズを低減したフレーム画像を提供することは困難であった。
【0005】
1つの側面では、本発明は、動体物が通過した領域に発生するノイズの低減化を図ることができる、画像処理装置、画像処理方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本願の開示する画像処理装置は、一つの態様において、連続して入力される複数のフレーム画像のうち、第1のフレーム画像と、当該第1のフレーム画像と時系列的に連続する直近の過去のフレームの第2のフレーム画像とから、当該フレーム画像に含まれた動体物の存在領域を示す第1の動きマップを生成する第1の生成部と、前記第1のフレーム画像より過去のフレーム画像に含まれた前記動体物の存在領域及び前記動体物の通過した動体通過領域を示す過去マップ画像から、前記第1の動きマップを減算することで、前記動体物が通過した動体通過領域を示す動体通過マップを生成する第2の生成部と、前記第1の動きマップと、0.0よりも大きく1.0よりも小さい値として設定された残像抑制強度を乗算した前記動体通過マップとを統合して、第2の動きマップを生成する第3の生成部と、前記第2の動きマップを構成する各画素の動き情報に基づいて、前記第1のフレーム画像と前記第2のフレーム画像との合成比率に係るパラメータを画素単位で調整する調整部と、を備える。また、第2の生成部は、過去の第1のフレーム画像である前記第2のフレーム画像に基づき生成された過去の前記第2の動きマップを前記過去マップ画像として用いる。
【発明の効果】
【0007】
本願の開示する画像処理装置の一つの態様によれば、動体物が通過した領域に発生するノイズの低減化を図ることができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、第1の実施形態に係る画像処理装置の構成の一例を示す図である。
【
図2】
図2は、第1の実施形態の残像処理部が有する機能の一例を示す図である。
【
図3】
図3は、第1の実施形態に係るパラメータの調整方法の一例を説明するための図である。
【
図4】
図4は、第1の実施形態に係る画像処理装置の全体動作を説明するための説明図である。
【
図5】
図5は、第1の実施形態に係る第1の生成部及び残像処理部の動作を説明するための説明図である。
【
図6】
図6は、第1の実施形態の第1の生成部、残像処理部及び合成処理部が行う処理の一例を示すフローチャートである。
【
図7】
図7は、第1の実施形態の変形例1に係る画像処理装置の全体動作を説明するための説明図である。
【
図8】
図8は、第1の実施形態の変形例2に係る画像処理装置の構成の一例を示す図である。
【
図9】
図9は、第1の実施形態の変形例2に係る画像処理装置の全体動作を説明するための説明図である。
【
図10】
図10は、第2の実施形態に係る画像処理装置の構成の一例を示す図である。
【
図11】
図11は、第2の実施形態の残像処理部が有する機能の一例を示す図である。
【
図12】
図12は、第2の実施形態に係る画像処理装置の全体動作を説明するための説明図である。
【
図13】
図13は、第2の実施形態に係る第1の生成部及び残像処理部の動作を説明するための説明図である。
【
図14】
図14は、第2の実施形態の第1の生成部、残像処理部及び合成処理部が行う処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
以下、添付図面を参照しながら、本願の開示する画像処理装置、画像処理方法及びプログラムの実施形態を詳細に説明する。なお、以下の実施形態は開示の技術を限定するものではない。そして、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【0010】
[第1の実施形態]
図1は、本実施形態に係る画像処理装置1の構成の一例を示す図である。画像処理装置1は、連続して入力される複数のフレーム画像に対し、3次元ノイズリダクション(3DNR)処理を順次行うことが可能な画像処理装置である。例えば、画像処理装置1は、複数のフレーム画像で構成された動画に対し3次元ノイズリダクション処理を行うことで、フレーム画像に含まれるノイズを低減化した動画を出力する。
【0011】
以下では、画像処理装置1に入力されるフレーム画像のうち、時系列的に最新のフレーム画像(現フレーム)をフレーム画像Image(n)と表記する。また、現フレームよりも過去又は将来のフレーム画像を、現フレームのインデックス“n”に基づいて表記する。例えば、現フレームから1フレーム分過去のフレーム画像をImage(n-1)と表記する。例えば、現フレームから1フレーム分将来のフレーム画像をImage(n+1)と表記する。
【0012】
図1に示すように、画像処理装置1は、第1の2DNR処理部11と、第2の2DNR処理部12と、第1の生成部13と、残像処理部14と、合成処理部15とを備える。
【0013】
ここで、第1の2DNR処理部11及び第2の2DNR処理部12は、2次元ノイズリダクション処理部の一例である。第1の生成部13は、第1の生成部の一例である。合成処理部15は、合成処理部の一例である。また、第1の2DNR処理部11、第2の2DNR処理部12及び合成処理部15は、3次元ノイズリダクション処理部の一例である3DNR処理部16として機能する。
【0014】
なお、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13、残像処理部14、及び合成処理部15の一部又は全部は、例えば専用回路等のハードウェア構成によって実現されてもよい。また、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13、残像処理部14、及び合成処理部15の一部又は全部は、マイクロコンピュータ等のコンピュータが備えるプロセッサと、プログラムとの協働によるソフトウェア構成によって実現されてもよい。プロセッサの一例として、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、GPU(Graphics Processing Unit)等が挙げられる。
【0015】
また、画像処理装置1は、第1の記憶部21と、第2の記憶部22とを備える。第1の記憶部21及び第2の記憶部22は、例えばSDRAM(Synchronous Dynamic Random Access Memory)等の記憶装置である。なお、第1の記憶部21及び第2の記憶部22は、個別の記憶装置によって実現されてもよいし、同一の記憶装置内に設けられた二つの記憶エリアによって実現されてもよい。
【0016】
第1の2DNR処理部11は、現フレームのフレーム画像Image(n)に対し2次元ノイズリダクション(2DNR)処理を実行する。例えば、第1の2DNR処理部11は、Image(n)を構成する画素に対し、「3×3」や「5×5」、「7×7」等の画素ブロックの単位で平滑化処理を実行する。ここで、フレーム画像Image(n)は、例えばRGB又はYCbCr(輝度と彩度)の各色に画素の値を8ビット以上(10ビット、12ビット等)の多値で表した24ビット以上のカラー画像である。
【0017】
第2の2DNR処理部12は、現フレームより1フレーム分過去のフレーム画像Image(n-1)に対し、第1の2DNR処理部11と同様の2DNR処理を実行する。ここで、フレーム画像Image(n-1)は、先行するフレーム画像Image(n-1)とフレーム画像Image(n-2)とを基に生成された、後述する3次元ノイズリダクション(3DNR)処理済のフレーム画像DNR_Image(n-1)に対応する。フレーム画像DNR_Image(n-1)は、例えば、RGB又はYCbCr(輝度と彩度)の各色の画素の値を、8ビット以上(10ビット、12ビット等)の多値で表した24ビット以上のカラー画像である。
【0018】
本実施形態では、第1の2DNR処理部11は、フレーム画像Image(n)を検出した検出信号を、第2の2DNR処理部12に送る。第2の2DNR処理部12は、検出信号を受け、第2の記憶部22からフレーム画像DNR_Image(n-1)の読み出しを行う。なお、フレーム画像DNR_Image(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、フレーム画像Image(n)の入力タイミング及び第2の記憶部22からのフレーム画像DNR_Image(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0019】
第1の生成部13は、フレーム画像Image(n)とフレーム画像Image(n-1)とに基づき、両フレーム画像間に含まれた動体物の存在領域を示す第1の動きマップMask(n)を生成する。ここで、フレーム画像Image(n-1)は、先行するフレーム画像Image(n-1)とフレーム画像Image(n-2)とを基に生成された、後述する3次元ノイズリダクション(3DNR)処理済のフレーム画像DNR_Image(n-1)に対応する。
【0020】
本実施形態では、第1の生成部13は、フレーム画像Image(n)を検出すると、第2の記憶部22からフレーム画像DNR_Image(n-1)の読み出しを行う。なお、フレーム画像DNR_Image(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、フレーム画像Image(n)の入力タイミング及び第2の記憶部22からのフレーム画像DNR_Image(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0021】
第1の生成部13は、フレーム画像Image(n)とフレーム画像Image(n-1)とを比較し,同じ画素位置にある画素の値の差を二値や8ビット等の多値で表した画像を、第1の動きマップMask(n)として生成する。
【0022】
例えば、第1の生成部13は、画素の値の差が閾値よりも小さい画素位置を0、閾値以上の画素位置を1で表した白黒画像の第1の動きマップMask(n)を生成する。また、例えば、第1の生成部13は、画素の差分に応じて当該画素の画素位置を0~255等の多値で表したモノクロ画像の第1の動きマップMask(n)を生成する。なお、第1の動きマップMask(n)は、白黒画像やモノクロ画像に限定される訳ではなく、RGB等の色成分をもつカラー画像であってもよい。
【0023】
このように生成される第1の動きマップMask(n)は、フレーム画像Image(n)とフレーム画像Image(n-1)とにおいて、動体物が存在する領域の画素位置を示すものとなる。また、第1の動きマップMask(n)は、白黒画像やモノクロ画像であるため、第1の動きマップMask(n)のビット深度は、元のフレーム画像Image(n)及びフレーム画像Image(n-1)のビット深度よりも低くなる。つまり、第1の生成部13より後段の残像処理部14では、ビット深度が低減化された第1の動きマップMask(n)を基に処理を進めることができるため、処理に係るメモリ容量や処理負荷を抑えることができる。
【0024】
残像処理部14には、現フレームに係る第1の動きマップMask(n)と、現フレームより1フレーム分過去の過去フレームに係る後述する第2の動きマップMergeMask(n-1)とが入力される。具体的には、残像処理部14は、第1の生成部13から第1の動きマップMask(n)を検出すると、第1の記憶部21から後述する第2の動きマップMergeMask(n-1)の読み出しを行う。なお、第2の動きマップMergeMask(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、第1の動きマップMask(n)の入力タイミング及び第1の記憶部21からの第2の動きマップMergeMask(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0025】
残像処理部14は、第1の動きマップMask(n)と後述する第2の動きマップMergeMask(n-1)とに基づいて、動体物が通過した領域(動体通過領域)を抽出し、現フレームに係る第2の動きマップMergeMask(n)を生成する。そして、残像処理部14は、第2の動きマップMergeMask(n)を基に、3DNR処理部16の3DNR処理に係るパラメータを調整する。
【0026】
具体的には、残像処理部14は、上述した機能を実現するため、
図2に示す機能構成を有する。ここで、
図2は、残像処理部14が有する機能の一例を示す図である。
【0027】
図2に示すように、残像処理部14は、第2の生成部141と、第3の生成部142と、調整部143とを有する。ここで、第2の生成部141は、第2の生成部の一例である。第3の生成部142は、第3の生成部の一例である。
【0028】
第2の生成部141は、第2の動きマップMergeMask(n-1)から第1の動きマップMask(n)を減算することで、動体物が通過した動体通過領域を示す動体通過マップPassMask(n)を生成する。具体的には、第2の生成部141は、第2の動きマップMergeMask(n-1)を構成する各画素の値から、当該画素と同じ画素位置にある第1の動きマップMask(n)の画素の値を減算する。そして、第2の生成部141は、減算した値が正値となる場合に動体通過領域と判断し、各画素位置に、その減算結果に応じた値を対応付けた動体通過マップPassMask(n)を生成する。ここで、動体通過マップPassMask(n)を構成する各画素には、減算結果に応じた値が二値や8ビット等の多値が対応付けられる。
【0029】
例えば、第2の生成部141は、画素の差が0以下の画素位置を0、画素の差が0より大きい画素位置を1で表した白黒画像の二値の動体通過マップPassMask(n)を生成する。また、例えば、第2の生成部141は、画素の差が0以下の画素位置を0で表し、画素の差が0より大きい画素の画素位置を差分に応じた0~255等の多値で表したモノクロ画像の動体通過マップPassMask(n)を生成する。
【0030】
このように生成される動体通過マップPassMask(n)は、第1の動きマップMask(n)に表された動体物が、当該第1の動きマップMask(n)の状態に至るまでに通過してきた領域(動体通過領域)の画素位置を示すものとなる。また、動体通過マップPassMask(n)は、白黒画像やモノクロ画像であるため、動体通過マップPassMask(n)のビット深度は、元のフレーム画像Image(n)及びフレーム画像Image(n-1)のビット深度よりも低くなる。つまり、第2の生成部141より後段の第3の生成部142では、ビット深度が低減化された動体通過マップPassMask(n)を基に処理を進めることができるため、処理に係るメモリ容量や処理負荷を抑えることができる。
【0031】
第3の生成部142は、第1の動きマップMask(n)と、所定の強度を乗算した動体通過マップPassMask(n)とを統合(以下、マージともいう)することで、現フレームに係る第2の動きマップMergeMask(n)を生成する。具体的には、第3の生成部142は、下記式(1)に基づいて、第1の動きマップMask(n)と動体通過マップPassMask(n)とを同じ画素位置の画素毎にマージする。
【0032】
MergeMask(n)=
Mask(n)+{PMRATIO×PassMask(n)}…(1)
【0033】
ここで、PMRATIOは、残像抑制強度である。残像抑制強度は、第1の値に対応し、後述する調整部143でのパラメータ調整に寄与する要素である。残像抑制強度には、“0.0”より大きく“1.0”より小さい値が設定される。残像抑制強度により大きな値を設定することで、動体物の移動に伴い発生するノイズ(残像ノイズ)の低減化に係る強度(残像抑制強度)を大きくすることができる。
【0034】
なお、残像抑制強度の値は任意に設定することが可能であるが、自動で設定するよう構成してもよい。例えば、第3の生成部142は、動体通過マップPassMask(n)に表された動体通過領域の大きさに応じて、残像抑制強度を増減させる構成としてもよい。この場合、第3の生成部142は、動体通過領域が大きいほど、残像抑制強度を増加させることが好ましい。
【0035】
上記式(1)に基づき生成される第2の動きマップMergeMask(n)は、第1の動きマップMask(n)に表された動体物の存在領域と、当該動体物が通過してきた動体通過領域の画素位置とを示すものとなる。また、動体通過領域を構成する各画素の値は、時系列的に近時の動体通過領域であるほど、より大きな値が付されることになる。以下では、第2の動きマップMergeMask(n)を構成する各画素の値を動き情報ともいう。
【0036】
第3の生成部142で生成された第2の動きマップMergeMask(n)は、調整部143に引き渡されるとともに、第1の記憶部21(
図1参照)に記憶される。第1の記憶部21に記憶された第2の動きマップMergeMask(n)は、次のフレームのフレーム画像Image(n+1)に係る第1の動きマップMask(n+1)が残像処理部14に入力される際に、残像処理部14に入力される。つまり、第1の記憶部21は、新たに入力される最新のフレーム画像Image(n)から見て、1フレーム分過去の過去フレームについて生成された第2の動きマップMergeMask(n-1)を記憶し、保持している。そして、第1の記憶部21に記憶された1フレーム分過去の過去フレームに係る第2の動きマップMergeMask(n-1)は、最新の第1の動きマップMask(n)が残像処理部14に入力される際に、残像処理部14に入力される。
【0037】
このように、画像処理装置1では、新たなフレーム画像が入力される毎に、先行する2フレーム分のフレーム画像について生成された第2の動きマップMergeMask(例えば、n-1)が、過去フレームに係る過去マップ画像として再帰的に使用される。そして、第2の生成部141は、過去マップ画像から、新たに入力された現フレームに係る第1の動きマップMask(例えば、n)を減算することで、動体通過マップPassMask(n)を生成する。
【0038】
調整部143は、現フレームに係る第2の動きマップMergeMask(n)に基づいて、3DNR処理部16の3DNR処理に係るパラメータを調整する。本実施形態では、調整部143は、合成処理部15の動作に係るパラメータPR1を調整する。
【0039】
具体的には、調整部143は、第2の動きマップMergeMask(n)を構成する各画素の動き情報に基づいて、フレーム画像Image(n)とフレーム画像Image(n-1)との合成比率を画素単位で調整する。ここで、調整部143は、動き情報の値が大きい画素ほど、現フレームのフレーム画像Image(n)の合成比率が大きくなるようにパラメータPR1を調整する。
【0040】
図3は、パラメータPR1の調整方法の一例を説明するための図である。
図3において、縦軸は、現フレームのフレーム画像Image(n)の合成比率(%)を意味する。横軸は、動き情報の値を意味する。なお、
図3では、動き情報を0~255の値で表した例を示しているが、これに限らないものとする。
【0041】
図3の調整方法において、調整部143は、第2の動きマップMergeMask(n)を構成する各画素の動き情報の値に基づき、対応する画素位置でのフレーム画像Image(n)の合成比率を決定する。
【0042】
例えば、調整部143は、動き情報の値が“0”の画素、つまり動体物の存在領域及び動体通過領域以外の静止領域の画素について、フレーム画像Image(n)の合成比率が10%となるようにパラメータPR1を調整する。また、例えば、調整部143は、動き情報の値が“100”の画素について、フレーム画像Image(n)の合成比率が55%となるようにパラメータPR1を調整する。また、調整部143は、動き情報の値が“200”以上の画素について、フレーム画像Image(n)の比率が100%となるようにパラメータPR1を調整する。
【0043】
なお、
図3では、動き情報の値に比例して、フレーム画像Image(n)の合成比率を上昇させる例を示したが、合成パラメータの調整方法はこれに限定されるものではない。例えば、動き情報の値に応じて、フレーム画像Image(n)の合成比率を段階的に上昇させてもよい。
【0044】
図1に戻り、合成処理部15には、第1の2DNR処理部11及び第2の2DNR処理部12で処理された、2DNR済みのフレーム画像Image(n)及びフレーム画像Image(n-1)が入力される。合成処理部15は、残像処理部14から指示されるパラメータPR1に基づき、フレーム画像Image(n)とフレーム画像Image(n-1)とを合成する合成処理(アルファブレンドともいう)を実行する。
【0045】
具体的には、合成処理部15は、残像処理部14(調整部143)から指示されるパラメータPR1に基づき、フレーム画像Image(n)とフレーム画像Image(n-1)との合成比率を画素単位で設定する。そして、合成処理部15は、設定した合成比率でフレーム画像Image(n)とフレーム画像Image(n-1)とを合成し、3DNR済みのフレーム画像DNR_Image(n)を出力する。
【0046】
このように、第1の2DNR処理部11、第2の2DNR処理部12及び合成処理部15で構成される3DNR処理部16は、現フレームと現フレームより過去の過去フレームとに基づいた3DNR処理を実行する。
【0047】
ところで、従来の3DNR処理の手法では、動体物が通過した後の静止領域、つまり動体通過領域にノイズが発生する可能性がある。具体的には、従来の手法では、過去フレームで動体が通過した動体通過領域は、現フレームでは単なる静止領域として処理される。また、静止領域における現フレームと過去フレームとの合成比率は過去フレームの方が大きくなるため、過去フレームの影響が支配的となる。
【0048】
そのため、従来の手法では、過去フレームに存在した動体物が合成後のフレーム画像に残存し、この残存部分は動体物の後ろに尾を引くようなノイズ(残像ノイズ)を発生させる可能性があった。また、現フレーム中の動体通過領域に、過去フレームで行われた2DNR処理の処理結果が強く反映されるため、2DNR処理に伴う解像劣化が合成後のフレーム画像に現れる可能性があった。
【0049】
一方、本実施形態の画像処理装置1は、少なくとも直近の3フレーム分のフレーム画像から、動体物の存在領域とその動体物の動体通過領域とを抽出する。そして、画像処理装置1は、動体物の存在領域と、残像抑制強度を乗算した動体通過領域とをマージした第2の動きマップMergeMask(n)に基づいて、フレーム画像Image(n)とフレーム画像Image(n-1)との合成比率を調整する。
【0050】
これにより、画像処理装置1では、動体通過領域でのフレーム画像Image(n)の合成比率が、フレーム画像Image(n-1)より大きくなるように調整することができる。上述したように、動体通過領域に発生する残像ノイズは、現フレームよりも過去フレームに由来するため、現フレームのフレーム画像Image(n)の合成比率を大きくすることで、残像ノイズの低減化を図ることができる。また、動き情報の値が大きい画素、つまり合成後も残存する可能性の高い画素ほど、フレーム画像Image(n)の合成比率を大きくすることができるため、過去フレームに由来する残像ノイズを効率的に低減することができる。
【0051】
なお、3DNR後のフレーム画像DNR_Image(n)は、画像処理装置1から表示装置等の外部装置に出力されるとともに、第2の記憶部22に記憶される。第2の記憶部22に記憶されたフレーム画像DNR_Image(n)は、次のフレームのフレーム画像Image(n+1)が第1の2DNR処理部11及び第1の生成部13に入力される際に、フレーム画像Image(n)として、第2の2DNR処理部12及び第1の生成部13に入力される。つまり、第2の記憶部22は、新たに入力される最新のフレーム画像Image(n)から見て、1フレーム分過去の過去フレームについて生成されたフレーム画像DNR_Image(n-1)を記憶し、保持している。そして、第2の記憶部22に記憶された1フレーム過去分の過去フレームに係るフレーム画像DNR_Image(n-1)は、最新のフレーム画像Image(n)が第1の2DNR処理部11及び第1の生成部13に入力される際に、フレーム画像Image(n-1)として、第2の2DNR処理部12及び第1の生成部13に入力される。
【0052】
このように、画像処理装置1では、新たなフレーム画像が入力される毎に、先行する2フレーム分のフレーム画像について生成された3DNR済みのフレーム画像DNR_Image(例えば、n-1)が、過去フレームのフレーム画像Image(例えば、n-1)として再帰的に使用される。
【0053】
次に、
図4及び
図5を参照して、本実施形態に係る画像処理装置1の動作について説明する。ここで、
図4は、画像処理装置1の全体動作を説明するための説明図である。また、
図5は、第1の生成部13及び残像処理部14の動作を説明するための説明図である。
【0054】
なお、
図4では、破線で区分した左側の領域に、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13、残像処理部14、及び合成処理部15の動作を示している。また、破線で区分した右側の領域には、
図1に示した第1の記憶部21及び第2の記憶部22を示している。
【0055】
また、
図5において、フレーム画像Image(n-2)~Image(n)は、時系列的に連続する3つのフレーム画像を意味する。また、フレーム画像中のハッチング領域は、動体物が存在する位置を意味し、同一の動体物が図中左方から右方に移動する状態を表している。また、動体物の各々に付した符号A~Dは、何れのフレーム画像に由来する動体物かを識別するための識別子である。具体的には、動体物Bは、フレーム画像Image(n-2)に含まれた動体物を、動体物Cは、フレーム画像Image(n-1)に含まれた動体物を、動体物Dは、フレーム画像Image(n)に含まれた動体物を意味する。なお、動体物Aは、図示しないフレーム画像Image(n-3)に含まれた動体物を意味する。
【0056】
また、
図4及び
図5では、現フレームより1フレーム分過去のフレーム画像Image(n-1)の段階まで、3DNR処理が完了済み、つまり第1の動きマップMask(n-1)、第2の動きマップMergeMask(n-1)及び3DNR済みのフレーム画像DNR_Image(n-1)が生成済みであるとする。
【0057】
まず、第1の生成部13は、現フレームのフレーム画像Image(n)と、現フレームより1フレーム分過去のフレーム画像Image(n-1)とに基づいて、第1の動きマップMask(n)を生成する(ステップS11)。1フレーム分過去のフレーム画像Image(n-1)は、第2の記憶部22に記憶された、1フレーム分過去の過去フレームに係る3DNR済みのフレーム画像DNR_Image(n-1)に対応するものである。
【0058】
ここで、第1の動きマップMask(n)は、
図5に示すように、フレーム画像Image(n)とフレーム画像Image(n-1)との両フレーム画像において、動体物が存在する存在領域を表す画像となる。
【0059】
続いて、第2の生成部141は、第1の記憶部21に記憶された1フレーム分過去の過去フレームに係る第2の動きマップMergeMask(n-1)から、現フレームに係る第1の動きマップMask(n)を減算することで、動体通過マップPassMask(n)を生成する(ステップS12)。
【0060】
ここで、動体通過マップPassMask(n)は、
図5に示すように、第2の動きマップMergeMask(n-1)に表された動体物の存在領域及び動体通過領域から、第1の動きマップMask(n)に表された動体物の存在領域を取り除いた画像となる。つまり、動体通過マップPassMask(n)には、少なくともフレーム画像Image(n-1)より過去のフレーム画像Image(n-2)に含まれた動体物の存在領域が動体通過領域として表されることになる。
【0061】
続いて、第3の生成部142は、上述した式(1)に基づき、残像抑制強度を乗算した動体通過マップPassMask(n)を、第1の動きマップMask(n)にマージすることで、第2の動きマップMergeMask(n)を生成する(ステップS13)。
【0062】
これにより、第2の動きマップMergeMask(n)は、
図5に示すように、動体物の存在領域と、残像抑制強度が乗算された動体通過領域とをマージした画像となる。
図5では、動き情報の大小関係をハッチングの濃淡で表している。ここで、動き情報の大小関係は、動体物A<動体物B<動体物C=動体物Dとなる。つまり、動き情報の値は、時系列的に新しいフレームに由来する動体通過領域ほど大きくなり、より過去のフレームに由来する動体通過領域であるほど残像抑制強度の乗算回数が増えるため小さくなる。
【0063】
また、第3の生成部142は、生成した第2の動きマップMergeMask(n)を、第1の記憶部21に記憶する(ステップS14)。
【0064】
上述したように、第1の記憶部21に記憶された第2の動きマップMergeMask(n-1)は、フレーム画像Image(n)が入力された場合に、1フレーム分過去の過去フレームに係る第2の動きマップMergeMask(n-1)として、動体通過マップPassMask(n)の生成に使用される。また、フレーム画像Image(n)の処理に伴い第1の記憶部21に記憶された第2の動きマップMergeMask(n)は、新たなフレームのフレーム画像Image(n+1)が入力された際に、1フレーム分過去の過去フレームに係る第2の動きマップMergeMask(n)として、動体通過マップPassMask(n+1)の生成に使用される。
【0065】
このように、画像処理装置1では、新たなフレーム画像(例:n)が入力される毎に、先行する2フレーム分のフレーム画像について生成された第2の動きマップMergeMask(例:n-1)が、過去フレームに係る過去マップ画像として再帰的に使用される。
【0066】
続いて、調整部143は、第2の動きマップMergeMask(n)を構成する各画素の動き情報の値に基づき、フレーム画像Image(n)とフレーム画像Image(n-1)との合成比率に係るパラメータPR1を調整する(ステップS15)。
【0067】
一方、第1の2DNR処理部11及び第2の2DNR処理部12は、入力されたフレーム画像Image(n)及びフレーム画像Image(n-1)の各々に対し、2DNR処理を行う(ステップS16、S17)。
【0068】
続いて、合成処理部15は、調整部143で調整されたパラメータPR1に基づき、2DNR処理後のフレーム画像Image(n)とフレーム画像Image(n-1)とを合成し、3DNR後のフレーム画像DNR_Image(n)を出力する(ステップS18)。
【0069】
また、合成処理部15は、フレーム画像DNR_Image(n)を第2の記憶部22に記憶する(ステップS19)。
【0070】
上述したように、第2の記憶部22に記憶されたフレーム画像DNR_Image(n-1)は、フレーム画像Image(n)が入力された際に、1フレーム分過去の過去フレームに係るフレーム画像Image(n-1)として、フレーム画像DNR_Image(n)の生成に使用される。また、フレーム画像Image(n)の処理に伴い第2の記憶部22に記憶されたフレーム画像DNR_Image(n)は、新たなフレームのフレーム画像Image(n+1)が入力された際に、1フレーム分過去の過去フレームに係るフレーム画像Image(n)として、フレーム画像DNR_Image(n+1)の生成に使用される。
【0071】
このように、新たなフレーム画像(例:n)が入力される毎に、先行する2フレーム分のフレーム画像について生成された3DNR処理済のフレーム画像DNR_Image(例:n-1)が、過去フレームのフレーム画像Image(例:n-1)として再帰的に使用される。
【0072】
次に、
図6を参照して、上述した第1の生成部13、残像処理部14及び合成処理部15が行う処理の流れについて説明する。
図6は、第1の生成部13、残像処理部14及び合成処理部15が行う処理の一例を示すフローチャートである。本処理では、最新のフレーム画像Image(n+X)を基点とし、このImage(n+X)以降に入力される将来のフレーム画像を処理する場合の動作について説明する。なお、「X」は整数である。
【0073】
まず、第1の生成部13は、フレーム画像Image(n+X)の入力を検出すると(ステップS21)、フレーム画像Image(n+X)と、フレーム画像Image(n+X-1)とに基づいて、第1の動きマップMask(n+X)を生成する(ステップS22)。ここで、フレーム画像Image(n+X-1)は、第2の記憶部22に保持されたフレーム画像DNR_Image(n+X-1)に対応するものである。
【0074】
続いて、第2の生成部141は、第2の動きマップMergeMask(n+X-1)から第1の動きマップMask(n+X)を減算し、減算の結果が正値となる画素を表した動体通過マップPassMask(n+X)を生成する(ステップS23)。
【0075】
続いて、第3の生成部142は、動体通過マップPassMask(n+X)と第1の動きマップMask(n+X)とをマージすることで、第2の動きマップMergeMask(n+X)を生成する。具体的には、第3の生成部142は、第2の動きマップMergeMask(n+X)を構成する各画素の画素位置毎に以下の処理を実行することで、各画素の動き情報を設定する。
【0076】
まず、第3の生成部142は、動体通過マップPassMask(n+X)を構成する各画素の値を参照し、その値が正値か否かを判定する(ステップS24)。ここで、第3の生成部142は、画素が正値の場合は動体通過領域と判断する(ステップS24;Yes)。この場合、第3の生成部142は、動体通過領域と判断した画素の値に残像抑制強度を乗算した値を、第1の動きマップMask(n+X)が保持する値に加算し、第2の動きマップMergeMask(n+X)の対応する画素の動き情報に設定する(ステップS25)。また、第3の生成部142は、画素が正値ではない場合は動体領域、又は静止領域と判断する(ステップS24;No)。この場合、第3の生成部142は、第1の動きマップMask(n+X)が保持する同じ画素位置の値を、第2の動きマップMergeMask(n+X)の対応する画素の動き情報に設定する(ステップS26)。
【0077】
続いて、調整部143は、第3の生成部142で生成された第2の動きマップMergeMask(n+X)に基づいて、合成処理部15の合成処理に係るパラメータPR1を調整する(ステップS27)。
【0078】
続いて、合成処理部15は、調整部143で調整されたパラメータPR1に基づいて、2DNR後のフレーム画像Image(n+X)とフレーム画像Image(n+X-1)とを合成する(ステップS28)。そして、合成処理部15は、合成したフレーム画像を、3DNR後のフレーム画像DNR_Image(n+X)として出力する(ステップS29)。
【0079】
続いて、第1の生成部13は、新たなフレーム画像Image(n+X+1)が入力されたか否かを判定する(ステップS30)。ここで、入力が検出された場合には(ステップS30;Yes)、第1の生成部13は、入力されたフレーム画像Image(n+X+1)を現フレームとして処理するため、「X+1」を「X」とし(ステップS31)、ステップS22に処理を戻す。これにより、フレーム画像Image(n+X)に対し、上述したステップS22~S31の処理が順次実行される。このように、本処理では、新たなフレーム画像が入力される毎に「X」の値が1インクリメントされ、そのXの値に応じたフレーム画像Image(n+X-1)及び第2の動きマップMergeMask(n+X-1)が、ステップS22、S23で使用される。
【0080】
なお、フレーム画像の入力が一時的に途絶えた場合等、ステップS30でフレーム画像Image(n+X+1)の入力が検出されない場合には(ステップS30;No)、処理を終了する。そして、フレーム画像の入力が再び開始された場合には、ステップS21から処理を開始する。
【0081】
以上説明したように、本実施形態に係る画像処理装置1は、連続して入力される複数のフレーム画像のうち、直近の2フレーム分のフレーム画像Image(n)、フレーム画像Image(n-1)から第1の動きマップMask(n)を生成する。また、画像処理装置1は、フレーム画像Image(n)より過去のフレーム画像に含まれた前記動体物の存在領域を示す第2の動きマップMergeMask(n-1)から、第1の動きマップMask(n)を減算することで、動体通過マップPassMask(n)を生成する。また、画像処理装置1は、第1の動きマップMask(n)と、残像抑制強度を乗算した動体通過マップPassMask(n)とをマージし、第2の動きマップMergeMask(n)を生成する。そして、画像処理装置1は、第2の動きマップMergeMask(n)に基づいて、フレーム画像Image(n)とフレーム画像Image(n-1)との合成処理に係るパラメータPR1を調整する。
【0082】
これにより、画像処理装置1は、動体通過領域でのフレーム画像Image(n)の合成比率をパラメータPR1に応じて変化させることができるため、動体通過領域に発生する残像ノイズの低減化を図ることができる。したがって、画像処理装置1は、残像ノイズが抑制されたフレーム画像(DNR_Image(n))を出力することができる。
【0083】
また、本実施形態に係る画像処理装置1では、フレーム画像と比較し、ビット深度が低減化された第1の動きマップ、動体通過マップ及び第2の動きマップを用いて、3DNR処理に係るパラメータの調整を行う。これにより、画像処理装置1は、パラメータ調整に係る処理負荷やメモリの使用量を抑えることができるため、処理の効率化を図ることができる。
【0084】
また、本実施形態に係る画像処理装置1では、少なくとも3フレーム分のフレーム画像に含まれた動体物の存在位置及び動体通過領域を、第2の動きマップに集約して保持することができる。これにより、画像処理装置1は、例えば3フレーム分のフレーム画像を個別に保持する構成と比較し、使用するメモリ容量やメモリの個数を減らすことができるため、処理の効率化を図ることができる。
【0085】
なお、上述した実施形態は、画像処理装置1が有する構成又は機能の一部を変更することで、適宜に変形して実施することも可能である。そこで、以下では、上述した実施形態に係るいくつかの変形例を他の実施形態として説明する。なお、以下では、上述した実施形態と異なる点を主に説明することとし、既に説明した内容と共通する点については詳細な説明を省略する。また、以下で説明する変形例は、個別に実施されてもよいし、適宜組み合わせて実施されてもよい。
【0086】
(変形例1)
上述の実施形態では、調整部143は、3DNR処理に係るパラメータとして、合成処理部15の動作に係るパラメータPR1を調整する形態を説明した。しかしながら、調整の対象となるパラメータは、合成処理部15に関するものに限らない。
【0087】
そこで、本変形例では、調整部143が、第1の2DNR処理部11及び第2の2DNR処理部12の動作に係るパラメータPR2、PR3を調整する形態について説明する。
【0088】
本変形例に係る画像処理装置1では、
図1に示すように、第1の2DNR処理部11及び第2の2DNR処理部12が、残像処理部14に接続される(
図1の破線部参照)。
【0089】
第1の2DNR処理部11及び第2の2DNR処理部12の各々は、残像処理部14(調整部143)で調整されたパラメータPR2、PR3に基づいて2DNR処理の強度等を決定する。なお、2DNR処理の強度の変更方法は、例えばフィルタのサイズや係数を変更する等、特に限定されないものとする。
【0090】
また、本変形例に係る調整部143は、第3の生成部142で生成された第2の動きマップMergeMask(n)に基づいて、第1の2DNR処理部11及び第2の2DNR処理部12の動作に係るパラメータPR2、PR3を調整する。具体的には、調整部143は、第2の動きマップMergeMask(n)を構成する各画素の動き情報に基づいて、第1の2DNR処理部11及び第2の2DNR処理部12が行う2DNR処理の強度を画素単位で調整する。
【0091】
例えば、調整部143は、動き情報の値が大きい画素ほど、フレーム画像Image(n)に対して実行される2DNR処理の強度が大きくなるように、第1の2DNR処理部11のパラメータPR2を調整する。また、調整部143は、動き情報の値が大きい画素ほど、フレーム画像Image(n-1)に対して実行される2DNR処理の強度が大きくなるように、第2の2DNR処理部12のパラメータPR3を調整する。
【0092】
ここで、調整部143は、上述した合成処理部15の合成比率と同様に、第1の2DNR処理部11及び第2の2DNR処理部12の2DNRの強度を比率で指定してもよいし、各々の強度を独立した基準で指定してもよい。
【0093】
上記の構成により、画像処理装置1は、第2の動きマップMergeMask(n)に表された動体通過領域の動き情報に応じて、当該動体通過領域に対して第1の2DNR処理部11及び第2の2DNR処理部12が行う2DNR処理の強度を調整することができる。
【0094】
次に、
図7を参照して、本変形例に係る画像処理装置1の動作について説明する。ここで、
図7は、変形例1に係る画像処理装置1の全体動作を説明するための説明図である。
【0095】
図7では、上述した
図4と同様に、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13、残像処理部14、及び合成処理部15の動作と、第1の記憶部21及び第2の記憶部22に対するデータの入出力の状態とを、破線により区分した左右の領域に示している。なお、ステップS41~S44は、
図4で説明したステップS11~S14と同様であるため説明を省略する。
【0096】
ステップS44の後、調整部143は、第2の動きマップMergeMask(n)に基づき、合成処理部15のパラメータPR1を調整するとともに、第1の2DNR処理部11及び第2の2DNR処理部12のパラメータPR2、PR3を調整する(ステップS45)。
【0097】
第1の2DNR処理部11は、調整後のパラメータPR2に応じた強度で、フレーム画像Image(n)に対し2DNR処理を実行する(ステップS46)。また、第2の2DNR処理部12は、調整後のパラメータPR3に応じた強度で、フレーム画像Image(n-1)に対し2DNR処理を実行する(ステップS47)。
【0098】
続いて、合成処理部15は、調整部143から指示されたパラメータPR1に基づき、2DNR後のフレーム画像Image(n)とフレーム画像Image(n-1)とを合成することで、3DNR後のフレーム画像DNR_Image(n)を出力する(ステップS48)。なお、ステップS49は、
図4で説明したステップS19と同様である。
【0099】
以上のように、本変形例に係る画像処理装置1によれば、動体通過領域に対する2DNR処理の強度をパラメータPR2、PR3の調整により変化させることができるため、動体通過領域に発生する残像ノイズの低減化を図ることができる。したがって、画像処理装置1は、残像ノイズが抑制されたフレーム画像(DNR_Image(n))を出力することができる。また、動体通過領域に対する2DNR処理の強度とともに、フレーム画像Image(n)の合成比率も調整することができるため、動体通過領域に発生する残像ノイズの更なる低減化を図ることができる。
【0100】
なお、本変形例では、パラメータPR2及びパラメータPR3の両方を調整する形態としたが、何れか一方のみ(例えばパラメータPR3のみ)を調整する形態としてもよい。また、パラメータPR1の調整を行わず、パラメータPR2、PR3の調整のみ行う形態としてもよい。
【0101】
(変形例2)
上述の実施形態では、
図1を用いて画像処理装置1の構成を説明したが、画像処理装置1の構成はこれに限定されるものではない。例えば、画像処理装置1は、3DNR処理の効率化やフレーム画像の安定化等に係る機能を更に備えてもよい。本変形例では、画像処理装置1の他の構成例について説明する。
【0102】
図8は、本変形例に係る画像処理装置1の構成の一例を示す図である。本変形例に係る画像処理装置1は、
図8に示すように、上述した
図1の構成に加え、動き量推定部31、動き補償部32、動画ぶれ除去部33、及び位置合わせ部34を更に備える。ここで、動き量推定部31は、動き量推定部の一例である。動き補償部32は、動き補償部の一例である。
【0103】
なお、動き量推定部31、動き補償部32、動画ぶれ除去部33、及び位置合わせ部34の一部又は全部は、専用回路等のハードウェア構成によって実現されてもよい。また、動き量推定部31、動き補償部32、動画ぶれ除去部33、及び位置合わせ部34の一部又は全部は、マイクロコンピュータ等のコンピュータが備えるプロセッサと、プログラムとの協働によるソフトウェア構成によって実現されてもよい。プロセッサの一例として、CPU、DSP、FPGA、GPU等が挙げられる。
【0104】
動き量推定部31には、現フレームのフレーム画像Image(n)と、現フレームより1フレーム分過去のフレーム画像Image(n-1)、つまり先行するフレーム画像を基に生成された3DNR後のフレーム画像DNR_Image(n-1)とが入力される。動き量推定部31は、フレーム画像Image(n)とフレーム画像Image(n-1)に基づき、両フレーム画像に含まれた動体物の移動量を推定する処理(ME:Motion Estimation)を実行する。そして、動き量推定部31は、推定結果となる動体物の移動量を動き補償部32に出力する。
【0105】
なお、
図8では、合成処理部15と動き量推定部31とを直接接続した例を示しているが、合成処理部15と第2の記憶部22とを接続する構成としてもよい。例えば、動き量推定部31は、フレーム画像Image(n)を検出すると、第2の記憶部22からフレーム画像DNR_Image(n-1)の読み出しを行う構成としてもよい。なお、フレーム画像DNR_Image(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、フレーム画像Image(n)の入力タイミング及び第2の記憶部22からのフレーム画像DNR_Image(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0106】
また、動き量推定部31は、ビット深度又は画像サイズを低減したフレーム画像DNR_Image(n)を用いて、ME処理を実行する形態としてもよい。例えば、動き量推定部31は、処理負荷を抑えるため、フレーム画像DNR_Image(n)のビット深度又は画像サイズを1/4等に縮小したフレーム画像を用いてME処理を実行してもよい。また、動き量推定部31が実行するME処理は、公知の技術を用いることが可能である。
【0107】
動き補償部32には、上述した動体物の移動量とともに、現フレームのフレーム画像Image(n)と、後述する位置合わせ部34で位置合わせ済のフレーム画像Image(n-1)とが入力される。動き補償部32は、これらの入力情報を基に、フレーム間予測等の動き補償(MC:Motion Compensation)処理を実行する。そして、動き補償部32は、MC処理後のフレーム画像Image(n-1)を第2の2DNR処理部12及び第1の生成部13に出力する。なお、動き補償部32が実行するMC処理は、公知の技術を用いることが可能である。
【0108】
動画ぶれ除去部33には、現フレームのフレーム画像Image(n)が入力される。動画ぶれ除去部33は、連続して入力されるフレーム画像Image(n)から、当該フレーム画像Image(n)の揺れ方向を推定し、揺れ方向と反対にシフトすることで撮像時に生じた手ぶれ等の動画ぶれを除去する。動画ぶれが除去されたフレーム画像Image(n)は、位置合わせ部34に出力される。なお、動画ぶれ除去部33が実行する処理は、公知の技術を用いることが可能である。
【0109】
位置合わせ部34には、動画ぶれ除去後のフレーム画像Image(n)と、フレーム画像Image(n-1)とが入力される。ここで、フレーム画像Image(n-1)は、先行するフレーム画像を基に生成された3DNR処理済のフレーム画像DNR_Image(n-1)に対応する。
【0110】
本実施形態では、位置合わせ部34は、動画ぶれ除去後のフレーム画像Image(n)を検出すると、第2の記憶部22からフレーム画像DNR_Image(n-1)の読み出しを行う。なお、フレーム画像DNR_Image(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、動画ぶれ除去後のフレーム画像Image(n)の入力タイミング及び第2の記憶部22からのフレーム画像DNR_Image(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0111】
位置合わせ部34は、フレーム画像Image(n)とフレーム画像Image(n-1)との相関に基づき、フレーム画像Image(n)に含まれた物体と位置が合うようフレーム画像Image(n-1)の位置合わせを行う。位置合わせ後のフレーム画像Image(n)は、動き補償部32に出力される。なお、動画ぶれ除去部33が実行する処理は、公知の技術を用いることが可能である。
【0112】
上記の構成において、第2の2DNR処理部12は、動き補償部32から入力されるMC処理後のフレーム画像Image(n-1)に対し2DNR処理を実行する。これにより、第2の2DNR処理部12は、MC処理の結果を活用して2DNR処理を行うことができるため、フレーム画像Image(n-1)に含まれたノイズをより効率的に除去することができる。
【0113】
また、第1の生成部13は、フレーム画像Image(n-1)と動画ぶれ除去後のフレーム画像Image(n)との間で位置合わせが行われ、その後動き補償処理が行われたフレーム画像Image(n-1)と、フレーム画像Image(n)とに基づき、第1の動きマップMask(n)を生成する。これにより、第1の生成部13は、フレーム画像Image(n)とフレーム画像Image(n-1)とから、動体物が存在する存在領域の抽出を効率的に行うことができる。
【0114】
次に、
図9を参照して、本変形例に係る画像処理装置1の動作について説明する。ここで、
図9は、本変形例に係る画像処理装置1の全体動作を説明するための説明図である。なお、
図9では、破線により区分した左側の領域に、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13、残像処理部14、合成処理部15、動き量推定部31、動き補償部32、動画ぶれ除去部33、及び位置合わせ部34の動作を示している。また、破線で区分した右側の領域には、
図8に示した第1の記憶部21及び第2の記憶部22を示している。
【0115】
まず、動画ぶれ除去部33は、現フレームのフレーム画像Image(n)に対し動画ぶれを除去する処理を実行する(ステップS51)。次いで、位置合わせ部34は、動画ぶれが除去されたフレーム画像Image(n)を基に、フレーム画像Image(n-1)の位置合わせを行う(ステップS52)。
【0116】
一方、動き量推定部31は、フレーム画像Image(n)とフレーム画像Image(n-1)とに基づき、両フレーム画像に含まれた動体物の動き量を推定するME処理を実行する(ステップS53)。次いで、動き補償部32は、フレーム画像Image(n)、位置合わせ後のフレーム画像Image(n-1)及びME処理の処理結果に基づき、動き補償(MC)処理を実行する(ステップS54)。
【0117】
続いて、第1の生成部13は、フレーム画像Image(n)と、位置合わせ及び動き補償処理後のフレーム画像Image(n-1)とに基づき、第1の動きマップMask(n)を生成する(ステップS55)。続くステップS56~S59は、
図4で説明したステップS12~S15と同様であるため説明を省略する。
【0118】
続いて、第1の2DNR処理部11は、フレーム画像Image(n)に対し2DNRを実行する(ステップS60)。また、第2の2DNR処理部12は、MC処理の結果を用いて、位置合わせ後のフレーム画像Image(n-1)に対し2DNRを実行する(ステップS61)。続くステップS62、S63は、
図4で説明したステップS18、S19と同様であるため説明を省略する。
【0119】
以上のように、本変形例に係る画像処理装置1によれば、動き量推定部31、動き補償部32、動画ぶれ除去部33、及び位置合わせ部34を更に備える。これにより、3DNR処理の効率化やフレーム画像の安定化を図ることができる。例えば、MC処理の処理結果を用いて2DNR処理を行う場合、処理結果を用いない構成と比較し、残像ノイズの発生を抑えることができるため、残像ノイズの更なる低減化を図ることができる。
【0120】
なお、本変形例の構成において、パラメータPR3を調整する場合には、残像抑制強度は、動き補償部32(MC処理)によるノイズ抑制効果を加味した値とすることが好ましい。一例として、第3の生成部142は、MC処理の処理結果が第2の2DNR処理部12に入力されるか否かに応じて、残像抑制強度の値を変更してもよい。
【0121】
例えば、第3の生成部142は、MC処理の処理結果が第2の2DNR処理部12に入力される構成の場合には、当該処理結果が入力されない構成と比較し、残像抑制強度を所定量低下させる。これにより、MC処理の処理結果が第2の2DNR処理部12に入力されるか否かに応じて、動体通過領域に対して第2の2DNR処理部12が行う2DNR処理の強度を可変とすることができる。したがって、第3の生成部142は、残像ノイズの低減化に適した2DNR処理の強度を第2の2DNR処理部12に設定することができる。また、同様に、残像抑制強度の変更にともなって、第1の2DNR処理部11が実行する2DNR処理も残像ノイズの低減化に適した強度となる。同様に、合成処理部15におけるフレーム画像Image(n)とフレーム画像Image(n-1)との合成比率(PR1)も残像ノイズの低減化に適した合成比率を設定することで、3DNRの効果をより高めることができる。
【0122】
[第2の実施形態]
上述した第1の実施形態では、動体通過マップPassMask(n)の生成に、過去フレームに係る過去マップ画像として第2の動きマップMergeMask(n-1)を用いる形態を説明した。第2の実施形態では、第2の動きマップMergeMask(n-1)に代えて、過去フレームに係る過去マップ画像として第1の動きマップMask(n-1)を用いる形態について説明する。なお、第1の実施形態と同じ機能及び構成の部分には、同一の符号を付与し説明を省略する。
【0123】
図10は、本実施形態に係る画像処理装置1aの構成の一例を示す図である。画像処理装置1aは、第1の2DNR処理部11と、第2の2DNR処理部12と、第1の生成部13aと、残像処理部14aと、合成処理部15とを備える。また、画像処理装置1aは、第1の記憶部21aと、第2の記憶部22とを備える。
【0124】
第1の生成部13aは、第1の生成部13と同様に、フレーム画像Image(n)とフレーム画像Image(n-1)とに基づいて、第1の動きマップMask(n)を生成する。生成された第1の動きマップMask(n)は、残像処理部14aに出力される。ここで、フレーム画像Image(n-1)は、第2の記憶部22に記憶された、1フレーム分過去の過去フレームに係る3DNR処理済のフレーム画像DNR_Image(n-1)に対応する。
【0125】
本実施形態では、第1の生成部13aは、フレーム画像Image(n)を検出すると、第2の記憶部22からフレーム画像DNR_Image(n-1)の読み出しを行う。なお、フレーム画像DNR_Image(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、フレーム画像Image(n)の入力タイミング及び第2の記憶部22からのフレーム画像DNR_Image(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0126】
また、第1の生成部13aは、生成した第1の動きマップMask(n)を第1の記憶部21aに記憶する。第1の記憶部21aは、例えば2フレーム分の第1の動きマップを記憶可能な用量を有し、記憶した第1の動きマップをFIFO(First In First Out)形式で読み出すことが可能となっている。
【0127】
残像処理部14aには、現フレームに係る第1の動きマップMask(n)と、現フレームより1フレーム分過去の過去フレームに係る第1の動きマップMask(n-1)とが入力される。
【0128】
具体的には、残像処理部14aは、第1の生成部13から第1の動きマップMask(n)を検出すると、第1の記憶部21aから第1の動きマップMask(n-1)の読み出しを行う。なお、第1の動きマップMask(n-1)の読み出し方法はこれに限らないものとする。例えば、画像処理装置1の内部若しくは外部に、第1の動きマップMask(n)の入力タイミング及び第1の記憶部21からの第1の動きマップMask(n-1)の読み出しタイミング等をまとめて制御する図示しない入出力制御部を設けてもよい。
【0129】
ここで、
図11は、残像処理部14aが有する機能の一例を示す図である。
図11に示すように、残像処理部14aは、第2の生成部141aと、第3の生成部142と、調整部143とを有する。
【0130】
第2の生成部141aは、第1の動きマップMask(n-1)から第1の動きマップMask(n)を減算することで、動体物が通過した動体通過領域を示す動体通過マップPassMask(n)を生成する。具体的には、第2の生成部141aは、第1の動きマップMask(n-1)を構成する各画素の値から、当該画素と同じ画素位置にある第1の動きマップMask(n)の画素の値を減算する。そして、第2の生成部141aは、減算した値が正値となる各画素位置に、その減算結果に応じた値を対応付けた動体通過マップPassMask(n)を生成する。ここで、動体通過マップPassMask(n)を構成する各画素には、減算結果に応じた値が二値や8ビット等の多値が対応付けられる。
【0131】
次に、
図12及び
図13を参照して、本実施形態に係る画像処理装置1の動作について説明する。ここで、
図12は、画像処理装置1の全体動作を説明するための説明図である。また、
図13は、第1の生成部13及び残像処理部14の動作を説明するための説明図である。
【0132】
なお、
図12では、破線により区分した左側の領域に、第1の2DNR処理部11、第2の2DNR処理部12、第1の生成部13a、残像処理部14a、及び合成処理部15の動作を示している。また、破線で区分した右側の領域には、
図10に示した第1の記憶部21a及び第2の記憶部22を示している。
【0133】
また、
図13において、フレーム画像Image(n-2)~Image(n)は、時系列的に連続する3つのフレーム画像を意味する。また、フレーム画像中のハッチング領域は、動体物が存在する位置を意味する。また、
図12及び
図13では、説明の簡略化のため、現フレームより1フレーム分過去のフレーム画像Image(n-1)の段階まで3DNR処置が完了済み、つまり第1の動きマップMask(n-1)及び3DNR処理済のフレーム画像DNR_Image(n-1)が生成済みであるとする。
【0134】
まず、第1の生成部13aでは、現フレームのフレーム画像Image(n)と、現フレームより1フレーム分過去のフレーム画像Image(n-1)とに基づき、第1の動きマップMask(n)を生成する(ステップS71)。1フレーム分過去のフレーム画像Image(n-1)は、3DNR処理済のフレーム画像DNR_Image(n-1)に対応するものである。
【0135】
ここで、第1の動きマップMask(n)は、
図13に示すように、フレーム画像Image(n)とフレーム画像Image(n-1)との両フレーム画像において、動体物が存在する動体存在領域を表す画像となる。
【0136】
また、第1の生成部13aは、生成した第1の動きマップMask(n)を第1の記憶部21aに記憶する(ステップS72)。これにより、第1の記憶部21aに先に記憶された第1の動きマップMask(n-1)が残像処理部14aに入力される。
【0137】
続いて、第2の生成部141aは、第1の記憶部21に記憶された1フレーム分過去の過去フレームに係る第1の動きマップMask(n-1)から、現フレームに係る第1の動きマップMask(n)を減算することで、動体通過マップPassMask(n)を生成する(ステップS73)。
【0138】
ここで、動体通過マップPassMask(n)は、
図13に示すように、第1の動きマップMask(n-1)に表された動体物の存在領域から、第1の動きマップMask(n)に表された動体物の存在領域を取り除いた画像となる。つまり、動体通過マップPassMask(n)には、少なくともフレーム画像Image(n-1)より過去のフレーム画像Image(n-2)に含まれた動体物の存在領域が動体通過領域として表されることになる。
【0139】
続いて、第3の生成部142は、上述した式(1)に基づき、残像抑制強度を乗算した動体通過マップPassMask(n)を、第1の動きマップMask(n)にマージすることで、現フレームに係る第2の動きマップMergeMask(n)を生成する(ステップS74)。
【0140】
これにより、第2の動きマップMergeMask(n)は、
図13に示すように、動体物の存在領域と、残像抑制強度が乗算された動体通過領域とをマージした画像となる。
図13では、
図5と同様に、動き情報の大小関係をハッチングの濃淡で表している。ここで、動き情報の大小関係は、動体物B<動体物C=動体物Dとなる。なお、ステップS75~S79は、
図4のステップS15~S19と同様であるため説明を省略する。
【0141】
次に、
図14を参照して、上述した第1の生成部13a、残像処理部14a及び合成処理部15が行う処理の流れについて説明する。
図14は、第1の生成部13a、残像処理部14a及び合成処理部15が行う処理の一例を示すフローチャートである。本処理では、
図6と同様に、最新のフレーム画像Image(n+X)を基点とし、このImage(n+X)以降に入力される将来のフレーム画像を処理する場合の動作について説明する。なお、「X」は整数である。
【0142】
まず、第1の生成部13aは、フレーム画像Image(n+X)の入力を検出すると(ステップS81)、フレーム画像Image(n+X)と、フレーム画像Image(n+X-1)とに基づいて、第1の動きマップMask(n+X)を生成する(ステップS82)。ここで、フレーム画像Image(n+X-1)は、第2の記憶部22に保持されたフレーム画像DNR_Image(n+X-1)に対応するものである。
【0143】
続いて、第2の生成部141aは、第1の動きマップMask(n+X-1)から第1の動きマップMask(n+X)を減算し、減算の結果が正値となる画素を表した動体通過マップPassMask(n+X)を生成する(ステップS83)。以下、ステップS84~S91は、
図6で説明したステップS24~S31と同様であるため説明を省略する。
【0144】
以上説明したように、本実施形態に係る画像処理装置1aは、連続して入力される複数のフレーム画像のうち、直近の2フレーム分のフレーム画像Image(n)、フレーム画像Image(n-1)から第1の動きマップMask(n)を生成する。また、画像処理装置1aは、フレーム画像Image(n)より過去のフレーム画像に含まれた前記動体物の存在領域を示す第1の動きマップMask(n-1)から、第1の動きマップMask(n)を減算することで、動体通過マップPassMask(n)を生成する。また、画像処理装置1aは、第1の動きマップMask(n)と、残像抑制強度を乗算した動体通過マップPassMask(n)とをマージし、第2の動きマップMergeMask(n)を生成する。そして、画像処理装置1aは、第2の動きマップMergeMask(n)に基づいて、フレーム画像Image(n)とフレーム画像Image(n-1)との合成処理に係るパラメータPR1を調整する。
【0145】
これにより、画像処理装置1aは、動体通過領域でのフレーム画像Image(n)の合成比率をパラメータPR1に応じて変化させることができるため、動体通過領域に発生する残像ノイズの低減化を図ることができる。したがって、画像処理装置1aは、残像ノイズが抑制されたフレーム画像(DNR_Image(n))を出力することができる。
【0146】
また、本実施形態に係る画像処理装置1aでは、フレーム画像と比較し、ビット深度が低減化された第1の動きマップ、動体通過マップ及び第2の動きマップを用いて、3DNR処理に係るパラメータの調整を行う。これにより、画像処理装置1aは、パラメータ調整に係る処理負荷やメモリの使用量を抑えることができるため、処理の効率化を図ることができる。
【0147】
また、本実施形態に係る画像処理装置1aでは、3フレーム分のフレーム画像に含まれた動体物の存在位置及び動体通過領域を、第2の動きマップに集約して保持することができる。これにより、画像処理装置1は、例えば3フレーム分のフレーム画像を個別に保持する構成と比較し、使用するメモリ容量やメモリの個数を減らすことができるため、処理の効率化を図ることができる。
【0148】
以上、実施形態について説明したが、本願の開示する画像処理装置及び画像処理方法は、上述の実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上述の実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【符号の説明】
【0149】
1、1a 画像処理装置
11 第1の2DNR処理部
12 第2の2DNR処理部
13、13a 第1の生成部
14、14a 残像処理部
141、141a 第2の生成部
142 第3の生成部
143 調整部
15 合成処理部
16 3DNR処理部
21、21a 第1の記憶部
22 第2の記憶部
31 動き量推定部
32 動き補償部
33 動画ぶれ除去部
34 位置合わせ部