[第1実施形態]
図1は、一の実施形態に係る映像処理装置100の構成を示すブロック図である。映像処理装置100は、取得部110と、ノイズ低減部120とを少なくとも含む。なお、映像処理装置100は、取得部110及びノイズ低減部120以外の他の構成をさらに含んでもよい。
映像処理装置100は、映像を構成するフレーム画像に対して映像処理を実行するための装置である。映像処理装置100により実行される映像処理は、ノイズ低減処理を少なくとも含むが、他の処理(例えば、コントラスト補正、デヘイズ等の鮮明化処理)を含み得る。本実施形態でいうノイズ低減処理は、映像に含まれるノイズを低減、すなわち抑制させる処理である。
本実施形態でいう映像は、一定の又は可変のフレームレートで撮影された複数のフレーム画像によって構成される。本実施形態において、映像のフレームレート、解像度、色深度などは、特に限定されない。例えば、映像は、モノクロであってもカラーであってもよい。
また、本実施形態でいうノイズは、映像において被写体(撮影対象の物体、目標物など)の視認を妨げる情報である。本実施形態におけるノイズは、例えば、高感度撮影に起因するノイズ(いわゆる高感度ノイズ)や、映像に映り込んだ雨、雪などの遮蔽物である。ただし、本実施形態におけるノイズは、特定の種類のノイズに限定されず、一般にノイズとみなされるさまざまなものを含み得る。
取得部110は、各種の情報を取得する。取得部110は、より詳細には、第1の取得部111と第2の取得部112とをさらに含む。なお、第1の取得部111及び第2の取得部112は、ここではそれぞれの機能に基づいて分類されているが、ハードウェアとしては単一の構成要素(通信インタフェース等)であってもよい。
第1の取得部111は、フレーム画像を取得する。第1の取得部111により取得されるフレーム画像は、ノイズ低減処理があらかじめ実行されている。以下においては、このノイズ低減処理のことを「第1のノイズ低減処理」ともいう。第1のノイズ低減処理は、あらかじめ決められた処理であってもよいが、複数の処理の中から映像又はフレーム画像に基づいて決定された処理であってもよい。
第2の取得部112は、第1の取得部111により取得されるフレーム画像、すなわちノイズ低減部120によりノイズ低減処理が実行されるフレーム画像に対して実行された第1のノイズ低減処理を示すパラメータ(以下「処理パラメータ」ともいう。)を取得する。処理パラメータは、第1のノイズ低減処理の実行結果、すなわち、第1のノイズ低減処理がフレーム画像に対してどのように適用されたかを示しているともいえる。処理パラメータは、例えば、フレーム画像に適用された第1のノイズ低減処理の強度を示す。あるいは、処理パラメータは、フレーム画像のうちの第1のノイズ低減処理が実行された領域や、フレーム画像に適用された第1のノイズ低減処理の種類を示してもよい。
本実施形態において、ノイズ低減処理の強度とは、当該処理によるノイズの低減効果のレベルをいう。ノイズ低減処理は、その強度が高いほど、フレーム画像からノイズを減らす(又は目立たなくする)方向に作用する。ただし、ノイズ低減処理は、必ずしも、強度が高ければ高いほど画質が向上するとはいえない。例えば、ノイズ低減処理は、強度が高くなるほど、原情報、すなわち元の画像に含まれていた情報(物体のエッジ、輪郭等)を失わせる可能性がある。
ノイズ低減部120は、第1の取得部111により取得されたフレーム画像に対してノイズ低減処理を実行する。以下においては、このノイズ低減処理のことを「第2のノイズ低減処理」ともいう。第2のノイズ低減処理は、強度が可変であり、かつ、第1のノイズ低減処理とは異なるノイズ低減処理である。ノイズ低減部120は、あらかじめ決められた複数種類のノイズ低減処理のうちのいずれかを第2のノイズ低減処理として実行してもよい。
いくつかの場合において、第1のノイズ低減処理は、3次元的なノイズ低減処理、すなわち、フレーム画像のノイズを、当該フレーム画像と異なる他のフレーム画像を参照することにより低減する処理である。この場合、第2のノイズ低減処理は、2次元的なノイズ低減処理、すなわち、フレーム画像を構成する局所領域のノイズを、当該局所領域と異なる当該フレーム画像の他の局所領域を参照することにより低減する処理であってもよい。あるいは、第1のノイズ低減処理と第2のノイズ低減処理は、フレーム画像のうちの適用される領域が互いに異なってもよい。
ノイズ低減部120は、第1の取得部111により取得されたフレーム画像に対して、第2の取得部112により取得された処理パラメータを用いて第2のノイズ低減処理を実行する。換言すれば、ノイズ低減部120は、フレーム画像に対して、当該フレーム画像に適用された第1のノイズ低減処理に応じた処理パラメータを用いた第2のノイズ低減処理を実行する。したがって、第2のノイズ低減処理は、フレーム画像に対する第1のノイズ低減処理の実行結果に応じて異なり得る。
例えば、処理パラメータが第1のノイズ低減処理の強度を示す場合、ノイズ低減部120は、処理パラメータが示す強度に応じた強度で第2のノイズ低減処理を実行してもよい。あるいは、処理パラメータが第1のノイズ低減処理が実行された領域を示す場合、ノイズ低減部120は、第2のノイズ低減処理を実行する領域を、処理パラメータが示す領域に基づいて決定してもよい。
ノイズ低減部120は、第2のノイズ低減処理が実行されたフレーム画像を出力する。ノイズ低減部120は、第2のノイズ低減処理が実行されたフレーム画像を、例えば他の装置に供給する。ノイズ低減部120は、フレーム画像を、記憶装置に記録してもよいし、映像再生装置に送信してもよい。なお、映像処理装置100は、ここでいう記憶装置又は映像再生装置に含まれていてもよい。
図2は、映像処理装置100の動作を示すフローチャートである。映像処理装置100は、映像を構成するフレーム画像のそれぞれに対して、ステップS11、S12を実行する。ただし、映像処理装置100は、ノイズ低減処理が不要なフレーム画像が映像に含まれる場合には、当該フレーム画像に対してはステップS11、S12を省略(スキップ)してもよい。
ステップS11において、取得部110は、フレーム画像と処理パラメータとを取得する。ただし、取得部110は、フレーム画像と処理パラメータとを必ずしも同時に取得する必要はなく、フレーム画像と処理パラメータとを異なるタイミングで取得してもよい。
ステップS12において、ノイズ低減部120は、ステップS11において取得されたフレーム画像に対して、ステップS11において取得された処理パラメータを用いて第2のノイズ低減処理を実行する。すなわち、ノイズ低減部120は、第2のノイズ低減処理に対して第1のノイズ低減処理の実行結果を反映させる。
以上のとおり、本実施形態の映像処理装置100は、第1のノイズ低減処理が実行されたフレーム画像と、当該フレーム画像に対して実行された第1のノイズ低減処理を示す処理パラメータとに基づいて第2のノイズ低減処理を実行する構成を有する。この構成は、第2のノイズ低減処理に対して第1のノイズ低減処理の実行結果を反映させることを可能にする。例えば、映像処理装置100は、第1のノイズ低減処理の強度に応じた適切な強度で第2のノイズ低減処理を実行することが可能である。あるいは、映像処理装置100は、フレーム画像のうちの第1のノイズ低減処理が実行された領域と異なる領域に対して第2のノイズ低減処理を実行することが可能である。したがって、映像処理装置100によれば、第2のノイズ低減処理に対して第1のノイズ低減処理の実行結果を反映させない場合に比べ、映像に含まれるノイズを効果的に低減することが可能である。
[第2実施形態]
図3は、別の実施形態に係る映像処理装置200の構成を示すブロック図である。映像処理装置200は、第1の処理部210と、第2の処理部220とを少なくとも含む。第2の処理部220は、第1実施形態の映像処理装置100の一例に相当する。
なお、以降の説明において、第1実施形態において用いられている用語は、特段の記載がある場合を除き、第1実施形態における意味と同様の意味で用いられる。
映像処理装置200は、監視カメラ等の撮影装置により撮影された映像を示す映像データを取得し、取得された映像データに対して複数のノイズ低減処理を実行する。そして、映像処理装置200は、ノイズ低減処理が実行された映像データを出力する。本実施形態の映像は、第1実施形態の映像と同様に、複数のフレーム画像によって構成される。
第1の処理部210は、より詳細には、領域識別部211と、3DNR(3-Dimensional Noise Reduction)部212とを少なくとも含む。また、第2の処理部220は、より詳細には、2DNR(2-Dimensional Noise Reduction)部221を少なくとも含む。
領域識別部211は、フレーム画像から第1の領域を識別する。ここにおいて、第1の領域は、3DNR部212によりノイズ低減処理が実行される領域である。具体的には、第1の領域は、フレーム画像のうちの動きが少ない領域である。以下においては、第1の領域のことを「静止領域」ともいう。領域識別部211は、フレーム画像の全体の領域から特定の領域(静止領域)を判定するともいえる。
静止領域は、他の領域に比べ、被写体の動きが少ない領域である。ここでいう動きは、画像の経時変化を意味する。例えば、撮影範囲が固定された監視カメラで撮影された映像の場合、いわゆる静物(道路、建物)に対応する部分が静止領域となり得る。この場合、静止領域は、それ自体が動かない(又はほとんど動かない)被写体に対応する。
また、静止領域は、1つのフレーム画像に複数あってもよい。例えば、領域識別部211は、フレーム画像を所定のサイズの小領域(以下「局所領域」ともいう。)に分割し、各々の局所領域が静止領域であるか否かを局所領域毎に識別してもよい。
局所領域のサイズは、特に限定されないが、対象とするノイズのサイズに応じて異なり得る。例えば、局所領域のサイズは、低減させるノイズよりも大きくなるように設定される。一例として、局所領域のサイズは、9×9〜21×21画素程度でもよい。
また、静止領域は、時間の経過に伴って変化し得る。例えば、自動車が道路上を走行している場合と走行していない場合とでは、その道路を撮影したときの静止領域は異なる可能性がある。したがって、静止領域は、フレーム画像毎に異なり得る。
領域識別部211は、ある時点のフレーム画像における静止領域を、他の時点のフレーム画像を参照することによって識別する。例えば、領域識別部211は、ある時点のフレーム画像における静止領域を、直近の1又は複数のフレーム画像との差異に基づいて識別する。この場合、領域識別部211は、フレーム画像のうちの他のフレーム画像との差異が少ない領域を静止領域であると識別する。なお、静止領域の識別には、周知のさまざまな手法が利用可能である。例えば、領域識別部211は、オプティカルフローに基づいて静止領域とそれ以外の領域を識別してもよい。
3DNR部212は、映像データに対して3次元的なノイズ低減処理(以下「3DNR」ともいう。)を実行する。具体的には、3DNR部212は、ある時点のフレーム画像のうちの静止領域に対し、直近のいくつかのフレーム画像を参照したノイズ低減処理を実行する。例えば、3DNR部212は、ある時点のフレーム画像のうちの静止領域と、直近のいくつかのフレーム画像のうちの当該静止領域に対応する領域(すなわち同じ座標の領域)とを比較し、直近のフレーム画像との差異があればその差異を低減させるように画像を変更(すなわち補正)する。
3DNR部212は、静止領域に対して適用される3DNRの強度を、局所領域毎に異ならせてもよい。ここでいう強度は、例えば、局所領域における被写体の動きの程度に応じて異なる。一例として、3DNR部212は、被写体の動きが少ない局所領域ほど、3DNRの強度を高く(強く)、すなわちノイズの低減効果を高くする。例えば、3DNR部212は、参照するフレーム数を変更することで3DNRの強度を変更することができる。ただし、3DNRの強度を変更する手法は、これに限定されない。
なお、3DNR部212により実行されるノイズ低減処理は、周知の3DNRのいずれであってもよい。すなわち、ここでいう3DNRの具体的な手法は、特定の手法に限定されない。3DNR部212により実行されるノイズ低減処理は、第1実施形態における第1のノイズ低減処理の一例に相当する。
3DNR部212は、3DNRが実行された映像データを第2の処理部220に供給する。また、3DNR部212は、各フレーム画像に対して実行された3DNRを示す処理パラメータを第2の処理部220に供給する。本実施形態の処理パラメータは、フレーム画像のうちの静止領域を示す情報(座標等)及び各静止領域に対する3DNRの強度の少なくともいずれかを含む。
2DNR部221は、3DNR部212により供給された映像データ及び処理パラメータに基づいて、2次元的なノイズ低減処理(以下「2DNR」ともいう。)を実行する。本実施形態の2DNRは、例えば、フレーム画像を構成するある画素に対し、当該画素の近傍の画素を参照して実行される平滑化処理である。ただし、ここでいう2DNRの具体的な手法は、特定の手法に限定されない。2DNR部221は、第1実施形態の取得部110及びノイズ低減部120の一例に相当する。また、2DNR部221により実行されるノイズ低減処理は、第1実施形態における第2のノイズ低減処理の一例に相当する。
2DNR部221は、2DNRの強度を、処理パラメータに基づいて決定してもよい。例えば、2DNR部221は、各々の局所領域に対する2DNRの強度を、当該局所領域に対して実行された3DNRの強度に応じて決定してもよい。この場合、2DNR部221は、処理パラメータによって示される3DNRの強度が高い(強い)局所領域ほど、2DNRの強度を低く(弱く)、すなわちノイズの低減効果を高くする。例えば、2DNRが平滑化処理である場合、2DNR部221は、フィルタのサイズや係数を変更することで2DNRの強度を変更することができる。ただし、2DNRの強度を変更する手法は、これに限定されない。
また、2DNR部221は、フレーム画像のうちの静止領域と異なる領域(以下「第2の領域」ともいう。)に対して2DNRを実行してもよい。この場合、2DNR部221は、処理パラメータに基づいて静止領域を特定してもよい。例えば、この場合、処理パラメータは、静止領域、すなわち3DNRが実行された領域を示す。2DNR部221は、このような処理パラメータを用いて、2DNRを適用する局所領域を決定する。
以下においては、第2の領域のことを「動き領域」ともいう。動き領域は、ここでは、フレーム画像のうちの静止領域でない領域に相当する。動き領域は、静止領域に比べ、被写体の動きが多い領域である。動き領域と静止領域は、一定の基準に従って決められてもよいが、映像に依存する相対的な基準に従って決められてもよい。
2DNR部221は、少なくとも動き領域に対して2DNRを実行する。換言すれば、2DNR部221は、動き領域に対して2DNRを実行し、静止領域に対しては2DNRを実行しなくてもよく、あるいはフレーム画像全体に対して2DNRを実行してもよい。
図4は、映像処理装置200の動作を示すフローチャートである。ステップS21において、第1の処理部210は、映像データを取得する。第1の処理部210は、映像データを、映像データを撮影する撮影装置から取得してもよいが、映像データを蓄積する記憶装置から取得してもよい。また、第1の処理部210は、撮影開始時刻から撮影終了時刻までの映像データを一括して取得してもよいが、フレーム単位で逐次取得してもよい。
ステップS22において、第1の処理部210は、映像データに含まれるフレーム画像から静止領域を識別する。第1の処理部210は、ある時点のフレーム画像における静止領域を、他の時点のフレーム画像を参照することによって識別する。ステップS22は、より詳細には、第1の処理部210の領域識別部211によって実行される。
なお、静止領域は、必ずしも全てのフレーム画像に含まれていなくてもよい。例えば、映像データに含まれるフレーム画像の一部には、静止領域を含まないものがあってもよい。あるいは、一部のフレーム画像は、その全体が静止画像であってもよい。
ステップS23において、第1の処理部210は、ステップS22において静止領域が識別されたフレーム画像に対して3DNRを実行する。具体的には、第1の処理部210は、フレーム画像のうちの静止領域に3DNRを実行する。換言すれば、第1の処理部210は、フレーム画像のうちの特定の領域に対して選択的に3DNRを実行する。ステップS23は、より詳細には、第1の処理部210の3DNR部212によって実行される。
ステップS24において、第2の処理部220は、ステップS23において3DNRが実行されたフレーム画像に対して2DNRを実行する。具体的には、第2の処理部220は、フレーム画像のうちの少なくとも動き領域に2DNRを実行する。第2の処理部220は、フレーム画像の全体に2DNRを実行してもよい。このステップS24は、より詳細には、第2の処理部220の2DNR部221によって実行される。
2DNR部221は、2DNRを適用する領域や2DNRの強度を処理パラメータに基づいて決定する。2DNR部221は、映像データに加えて処理パラメータを、第1の処理部210から取得する。
ステップS25において、第2の処理部220は、ステップS22〜S24が実行された映像データを出力する。第2の処理部220は、ノイズ低減処理が終了したフレーム画像から逐次出力してもよいが、映像データ全体を一括して出力してもよい。
以上のとおり、本実施形態の映像処理装置200は、3DNRが実行されたフレーム画像に対して、処理パラメータを用いて2DNRを実行する構成を有する。この構成は、2DNRに対して3DNRの実行結果を反映させることを可能にする。したがって、映像処理装置200によれば、2DNRに対して3DNRの結果を反映させない場合に比べ、映像に含まれるノイズを効果的に低減することが可能である。
3DNRは、雨や雪のような動いている遮蔽物による遮蔽の低減に効果を奏する。その一方で、3DNRは、映像に含まれる移動体(人間、自動車等)に「透過」や「尾引き」を生じさせ得る。ここでいう透過とは、物体が(そうでないにもかかわらず)光を透過しているように映像に記録される現象をいう。また、尾引きとは、移動する物体の軌跡が残像のように映像に記録される現象をいう。これらの現象は、いずれも、被写体の正確な記録の妨げとなり得る。
そこで、第1の処理部210は、フレーム画像のうちの静止領域に対して選択的に3DNRを適用する。換言すれば、第1の処理部210は、フレーム画像のうちの動き領域に対しては3DNRを適用しない。静止領域は、動き領域に比べ、透過又は尾引きが生じにくい領域であるといえる。したがって、第1の処理部210は、3DNRの適用に伴う透過又は尾引きの発生リスクを低減させることができる。
しかし、フレーム画像の一部の領域のみに対して3DNRを適用した場合、ノイズ低減処理が実行された領域とそうでない領域とがフレーム画像に併存することになる。ノイズ低減処理が実行されていない領域は、ノイズ低減処理が実行された領域よりもノイズ量が多くなる可能性がある。したがって、このような3DNRが適用された映像は、ノイズ低減処理が実行された領域とそうでない領域の境界が断続的になって視覚的に目立つなどし、画質を低下させる可能性がある。
そこで、第2の処理部220は、フレーム画像に対し、当該フレーム画像に対して適用された第1の処理部210を示す処理パラメータを用いて2DNRを実行する。これにより、第2の処理部220は、3DNRが実行された領域とそうでない領域とに対して異なる処理を実行することが可能である。例えば、第2の処理部220は、3DNRが実行されていない領域に対して選択的に2DNRを実行したり、それぞれの局所領域に対して3DNRの実行強度に応じた2DNRを実行したりすることが可能である。
これにより、映像処理装置200は、フレーム画像に対して実行されるノイズ低減処理に局所的な偏りを生じさせないようにすることが可能である。したがって、映像処理装置200は、映像に含まれるノイズを効果的に低減させることが可能である。
[第3実施形態]
図5は、さらに別の実施形態に係る映像処理装置300の構成を示すブロック図である。映像処理装置300は、取得部310と、領域識別部320と、画像蓄積部330と、合成部340と、パラメータ記録部350と、平滑化部360と、出力部370とを含む。
映像処理装置300は、第1実施形態の映像処理装置100及び第2実施形態の映像処理装置200の一例に相当する。映像処理装置300は、第1のノイズ低減処理として3DNR、第2のノイズ低減処理として2DNRを実行する点において、映像処理装置200と共通する。
なお、図5のブロック図に示された矢印は、データの流れの一例を示している。したがって、映像処理装置300におけるデータの流れは、図示された矢印のみに限定されない。
取得部310は、映像データを取得する。本実施形態において、取得部310は、映像データをフレーム画像単位で逐次取得するものとする。映像データは、フレーム画像を構成する各画素の明るさを示す輝度情報を少なくとも含む。説明の便宜上、本実施形態の輝度情報は、モノクロ(単色)の輝度値であるとする。本実施形態の輝度情報は、例えば8ビットであれば、最小値が「0」、最大値が「255」である。
取得部310は、フレーム画像の蓄積数の最大値を局所領域毎に決定する。ここにおいて、蓄積数とは、合成部340による合成において参照されるフレーム画像の総数(すなわちフレーム数)をいう。蓄積数は、後述のように、局所領域毎に異なり得る。加えて、蓄積数は、フレーム毎に異なり得る。
領域識別部320は、フレーム画像の各局所領域が動き領域と静止領域のいずれかを識別する。本実施形態において、領域識別部320は、入力されたフレーム画像と、当該フレーム画像の直前のフレーム画像とを比較することにより、入力されたフレーム画像の各局所領域を動き領域と静止領域のいずれかであると識別する。
画像蓄積部330は、フレーム画像を蓄積する。画像蓄積部330は、直近の所定のフレーム数分のフレーム画像を蓄積できるように構成されている。画像蓄積部330は、フレーム画像を局所領域単位で蓄積することができる。本実施形態において、画像蓄積部330によりフレーム画像が蓄積されるフレーム数は、局所領域毎に異なり得る。
合成部340は、フレーム画像を局所領域毎に合成する。本実施形態において、合成部340は、フレーム画像のうちの静止領域を合成し、動き領域を合成しない。合成部340は、フレーム画像のうちの静止領域を、当該領域の蓄積数に従って合成する。ここでいうフレーム画像の合成は、3次元的なノイズ低減処理であり、第1実施形態における第1のノイズ低減処理の一例に相当する。すなわち、合成部340は、第2実施形態の3DNR部212の一例に相当する。
パラメータ記録部350は、処理パラメータを記録する。本実施形態の処理パラメータは、上述した局所領域毎の蓄積数を少なくとも含む。パラメータ記録部350は、各フレームにおける蓄積数を、記憶媒体の所定の記憶領域に処理パラメータとして記録する。蓄積数は、合成部340により実行された3次元的なノイズ低減処理によるノイズ低減効果のレベルを局所領域毎に表しているともいえる。また、蓄積数は、各局所領域に3次元的なノイズ低減処理が実行されたか否かを表しているともいえる。
平滑化部360は、フレーム画像に対して平滑化処理を実行する。本実施形態の平滑化処理は、2次元的なノイズ低減処理であり、第1実施形態における第2のノイズ低減処理の一例に相当する。すなわち、平滑化部360は、第2実施形態の2DNR部221の一例に相当する。
平滑化部360は、平滑化処理の強度を、処理パラメータに基づいて局所領域毎に制御する。ここでいう平滑化処理の強度は、一般に平滑化パラメータとも呼ばれる。平滑化処理は、高強度であるほどノイズの低減効果が高いといえる。一方で、高強度の平滑化処理は、映像からエッジ等のディテールの情報を失わせたり、映像に(絵画調のような)不自然な変化をもたらしたりする。
出力部370は、ノイズ低減処理(フレーム画像の合成及び平滑化処理)が実行された映像データを出力する。出力部370は、例えば、映像を表示する表示装置に映像データを出力する。あるいは、出力部370は、記憶装置や他の映像処理装置に映像データを出力してもよい。
図6は、映像処理装置300の動作を示すフローチャートである。映像処理装置300は、映像データを取得すると、ステップS310〜S300に示す映像処理を実行する。映像処理装置300は、映像データを構成するフレーム画像のそれぞれに対して、換言すればフレーム毎に、ステップS310〜S300を実行する。
ステップS310において、取得部310は、フレーム画像の局所領域毎に輝度値の分散を算出する。ステップS310において算出される分散は、局所領域内の画素の輝度値にばらつきが少ないほど小さい値になる。ステップS320において、取得部310は、ステップS310において算出された局所領域毎の分散に基づいて、蓄積数の最大値を決定する。例えば、取得部310は、ステップS310において算出された分散が所定の閾値より小さい局所領域の蓄積数の最大値を規定値よりも減少させる。この場合、他の局所領域の蓄積数の最大値は、規定値のままでよい。なお、ステップS310、S320は、必須の処理ではなく、省略可能である。
本実施形態において、蓄積数の最大値には、あらかじめ決められた基準値(例えば「10」)がある。取得部310は、ステップS310において算出された分散が所定の数値以下である局所領域について、蓄積数の最大値を基準値よりも小さい値(例えば「5」)に変更する。
ステップS330において、領域識別部320は、処理対象のフレーム画像とその直前のフレーム画像との差分画像を算出する。ここにおいて、差分画像とは、あるフレーム画像の各画素の輝度値を別のフレーム画像の同じ座標の画素の輝度値で減じた値を輝度値とみなした画像をいう。例えば、2つのフレーム画像が完全に同一である場合には、これらのフレーム画像の差分画像は、全画素の輝度値が「0」である。なお、領域識別部320は、処理対象のフレーム画像を、次のフレームの処理を実行するまで一時的に記憶しておく。
ステップS340において、領域識別部320は、ステップS330において算出された差分画像の輝度値の分散を局所領域毎に算出する。なお、ステップS340において算出される分散は、差分画像の分散である点において、ステップS310において算出される分散と異なる。すなわち、ステップS340において算出される分散は、差分画像の局所領域毎のばらつきを表す。領域識別部320は、ステップS340において算出された分散を、次のフレームの処理を実行するまで一時的に記憶しておく。
ステップS350において、領域識別部320は、ステップS340において算出された分散と直前のフレームにおいて算出された差分画像の分散とを局所領域毎に比較する。換言すれば、領域識別部320は、差分画像が1フレームの間にどのように変化したかを判断する。領域識別部320は、ステップS350における比較結果が所定の条件を満たす場合に、差分画像が(基準よりも)大きく変化したと判断する。ステップS350における条件は、例えば、2つの分散の差が所定の閾値以上である局所領域の数が所定の数以上あることである。
差分画像の変化が大きい、すなわちステップS350における比較結果が所定の条件を満たす場合(S350:YES)、画像蓄積部330は、ステップS360を実行する。一方、差分画像の変化が小さい、すなわちステップS350における比較結果が所定の条件を満たさない場合(S350:NO)、領域識別部320は、ステップS370を実行する。
ステップS360において、画像蓄積部330は、蓄積されたフレーム画像をリセットする。ここでいうリセットは、蓄積されたフレーム画像の数を「0」にすることをいう。また、このリセットに応じて、パラメータ記録部350は、処理パラメータを更新する。具体的には、パラメータ記録部350は、全ての局所領域の蓄積数を「0」に書き換える。なお、ステップS360を実行する場合、ステップS370、S380及びS390は、実行されない。
ステップS370において、領域識別部320は、領域を識別するための閾値を算出する。この閾値は、例えば、ステップS340において算出される局所領域毎の分散の値を昇順にソートし、その下位x%(例えば3%)に相当する値をk倍(例えば5倍)した値である。ここにおいて、x及びkの具体的な値は、必ずしも特定の値に限定されない。また、x及びkの値は、入力される映像によって異なってもよい。
ステップS380において、領域識別部320は、それぞれの局所領域を動き領域と静止領域のいずれかであると識別する。領域識別部320は、ステップS370において算出された閾値を用いてこの識別を実行する。具体的には、領域識別部320は、ステップS340において算出された分散の値が閾値以下の領域を静止領域と識別し、当該分散の値が閾値を超える領域を動き領域と識別する。
ステップS390において、画像蓄積部330、合成部340及びパラメータ記録部350は、合成処理を実行する。この合成処理は、局所領域毎に実行される。合成処理は、各局所領域について、並列的に実行されてもよく、所定の順序で逐次実行されてもよい。
図7は、合成処理を示すフローチャートである。ステップS391において、合成部340は、処理対象である局所領域が動き領域か静止領域かを判断する。局所領域が動き領域である場合(S391:YES)、画像蓄積部330は、ステップS392を実行する。一方、局所領域が静止領域である場合(S391:NO)、合成部340は、ステップS393を実行する。
ステップS392において、画像蓄積部330は、フレーム画像のうちの処理対象である局所領域の画像をリセットする。すなわち、画像蓄積部330は、当該局所領域の画像を蓄積されていない状態にする。なお、ステップS392は、フレーム画像が局所領域単位でリセットされる点において、ステップS360と異なる。また、このリセットに応じて、パラメータ記録部350は、リセットされた局所領域の処理パラメータを更新する。
ステップS393において、合成部340は、フレーム画像のうちの処理対象である局所領域の画像を合成する。合成部340は、処理対象である局所領域の画像と、画像蓄積部330に蓄積された当該局所領域の1又は複数の画像とを合成する。ここでいう合成は、例えば、複数の画像の同じ位置の画素の輝度値を相加平均する処理である。ただし、合成部340による合成の具体的な手法は、特に限定されない。
合成部340は、局所領域の画像と、画像蓄積部330に蓄積された当該局所領域の蓄積数分の画像とを合成する。例えば、蓄積数が「5」であれば、合成部340は、局所領域の画像と、当該局所領域の直近の5フレーム分の画像とを合成する。なお、合成部340は、蓄積数が「0」であれば、合成を実行しなくてよい。
また、合成部340は、局所領域の蓄積数が当該局所領域の蓄積数の最大値を超えている場合には、当該局所領域の画像に対して合成される画像の数をその最大値に制限してもよい。これにより、合成される画像の数が過大にならないようにすることが可能である。
ステップS394において、画像蓄積部330は、処理対象である局所領域の合成前の画像を蓄積する。すなわち、画像蓄積部330は、当該局所領域の画像の蓄積数を「1」増加させる。また、ステップS395において、パラメータ記録部350は、処理対象である局所領域の蓄積数を更新することによって、処理パラメータを更新する。
平滑化部360は、ステップS391〜S395の合成処理が終了した後か、あるいはステップS360が終了した後に、ステップS300を実行する。ステップS300において、平滑化部360は、フレーム画像に対して平滑化処理を実行する。平滑化部360は、合成処理が実行された場合には、合成後のフレーム画像に対して平滑化処理を実行する。一方、差分画像の変化が大きく、合成処理が実行されなかった場合には、平滑化部360は、合成されていないフレーム画像に対して平滑化処理を実行する。
ステップS300において、平滑化部360は、パラメータ記録部350により記録された処理パラメータを用いて平滑化処理を実行する。具体的には、平滑化部360は、それぞれの局所領域に対し、当該局所領域の蓄積数に応じた強度で平滑化処理を実行する。例えば、平滑化部360は、蓄積数が少ない局所領域ほど、平滑化処理の強度を高くする。あるいは、平滑部360は、蓄積数に基づいて、局所領域の一部に対して選択的に平滑化処理を実行する。
図8A、図8B、図8C及び図8Dは、蓄積数と平滑化処理の関係を例示する。図8A及び図8Bは、平滑化処理が実行される領域と蓄積数の関係を示している。図8Aの例の場合、平滑化部360は、蓄積数が「0」の局所領域に対してのみ平滑化処理を実行する。すなわち、この場合、平滑化部360は、合成処理が実行されていない領域に平滑化処理を実行し、合成処理が実行された領域に平滑化処理を実行しない。
一方、図8Bの例の場合、平滑化部360は、蓄積数が比較的少ない、具体的には「2」以下の局所領域に対してのみ平滑化処理を実行する。すなわち、この場合、平滑化部360は、合成処理が実行されていない領域と、合成処理が実行された領域の一部とに平滑化処理を実行する。
図8Cの例の場合、平滑化部360は、局所領域毎の蓄積数に応じて平滑化処理の強度を異ならせる。具体的には、平滑化部360は、蓄積数が「0」の局所領域に対して高強度、蓄積数が「1」以上「5」以下の局所領域に対して中程度の強度、蓄積数が「6」以上の局所領域に対して低強度の平滑化処理をそれぞれ実行する。
図8Dの例の場合、平滑化部360は、蓄積数が比較的少ない、具体的には「5」以下の局所領域に対してのみ平滑化処理を実行する。加えて、平滑化部360は、合成処理が実行されていない領域と、合成処理が実行された領域とで平滑化処理の強度と異ならせる。
なお、蓄積数と平滑化処理の関係は、これらの例に限定されない。例えば、平滑化部360は、蓄積数を独立変数とする所定の関数を用いて平滑化処理の強度を決定してもよい。また、平滑化部360は、特定の局所領域の蓄積数だけでなく、当該局所領域の近傍の局所領域の蓄積数も参照して平滑化処理の強度を決定してもよい。
以上のとおり、本実施形態の映像処理装置300は、合成処理の結果に応じた平滑化処理を実行する構成を有する。この構成は、例えば、合成処理が実行された領域とそうでない領域とがフレーム画像に混在する場合に、これらの領域の境界を目立ちにくくすることが可能である。したがって、映像処理装置300によれば、平滑化処理に対して合成処理の結果を反映させない場合に比べ、映像に含まれるノイズを効果的に低減することが可能である。
[変形例]
上述の第1〜第3実施形態は、例えば、以下のような変形を適用することができる。これらの変形例は、必要に応じて適宜組み合わせることも可能である。また、特定の実施形態を用いて記載された変形例は、矛盾を生じない範囲において、他の実施形態にも適用され得る。
(1)第3実施形態の蓄積数は、局所領域毎に異なる値である。しかし、蓄積数は、各局所領域に共通の値、すなわち単一の値であってもよい。すなわち、蓄積数は、合成処理において参照されたフレーム画像の総数に相当してもよい。なお、この場合、平滑化部360は、動き領域と静止領域とに対して異なる強度で平滑化処理と実行してもよく、動き領域に対して平滑化処理を実行し、静止領域に対して平滑化処理を実行しなくてもよい。
(2)第3実施形態の処理パラメータは、例えば、静止領域に対する合成処理の強度に関する統計量であってもよい。具体的には、あるフレーム画像に対する合成処理における局所領域毎の蓄積数の平均値や、あるフレーム画像に対する合成処理における局所領域毎の蓄積数の分散が処理パラメータとして用いられてもよい。あるいは、処理パラメータは、あるフレーム画像に占める静止領域(又は動き領域)の割合であってもよい。例えば、平滑化部360は、フレーム画像に占める静止領域の割合が高いほど、動き領域に対する平滑化処理の強度を高くする。
(3)第2実施形態において、第1の処理部210は、3DNRに代えて他のノイズ低減処理を実行してもよい。また、第2の処理部220は、2DNRに代えて他のノイズ低減処理を実行してもよい。
(4)第2実施形態において、領域識別部211は、静止領域に代えて動き領域を識別してもよい。あるいは、領域識別部211は、静止領域と動き領域の双方を識別してもよい。また、第2実施形態のフレーム画像は、静止領域(第1の領域)及び動き領域(第2の領域)のいずれとも異なる領域(第3の領域)をさらに含んでもよい。第3の領域は、例えば、2DNR及び3DNRのいずれも実行されなくてもよく、2DNR及び3DNRのいずれとも異なる別のノイズ低減処理が実行されてもよい。
(5)上述の映像処理装置100、200及び300は、さまざまな用途に適用可能である。例えば、映像処理装置100、200及び300は、道路、鉄道、空港、河川、港湾などの監視に適用可能である。映像処理装置100、200及び300によりノイズが低減された映像データの用途は、特定の用途に限定されない。
(6)本開示に係る装置(映像処理装置100、200及び300)の具体的なハードウェア構成は、さまざまなバリエーションが含まれ、特定の構成に限定されない。例えば、本開示に係る装置は、ソフトウェアを用いて実現されてもよく、複数のハードウェアを用いて各種処理を分担するように構成されてもよい。
図9は、本開示に係る装置を実現するコンピュータ装置400のハードウェア構成の一例を示すブロック図である。コンピュータ装置400は、CPU(Central Processing Unit)401と、ROM(Read Only Memory)402と、RAM(Random Access Memory)403と、記憶装置404と、ドライブ装置405と、通信インタフェース406と、入出力インタフェース407とを含んで構成される。
CPU401は、RAM403を用いてプログラム408を実行する。通信インタフェース406は、ネットワーク410を介して外部装置とデータをやり取りする。入出力インタフェース407は、周辺機器(撮影装置など)とデータをやり取りする。通信インタフェース406及び入出力インタフェース407は、データを取得又は出力するための構成要素として機能することができる。
なお、プログラム408は、ROM402に記憶されていてもよい。また、プログラム408は、メモリカード等の記録媒体409に記録され、ドライブ装置405によって読み出されてもよいし、外部装置からネットワーク410を介して送信されてもよい。
本開示に係る装置は、図9に示す構成(又はその一部)によって実現され得る。例えば、映像処理装置100の場合、取得部110は、通信インタフェース406又は入出力インタフェース407に対応する。また、ノイズ低減部120は、CPU401、ROM402及びRAM403に対応する。この場合において、ノイズ低減部120は、CPU401に代えて、GPU(Graphics Processing Unit)、ASIC(Application Specific Integrated Circuit)等の他のプロセッサによって構成されてもよい。
なお、本開示に係る装置の構成要素は、単一の回路(プロセッサ等)によって構成されてもよいし、複数の回路の組み合わせによって構成されてもよい。ここでいう回路(circuitry)は、専用又は汎用のいずれであってもよい。例えば、本開示に係る装置は、一部が専用のプロセッサによって実現され、他の部分が汎用のプロセッサによって実現されてもよい。
[付記]
本開示の一部又は全部は、以下の付記のようにも記載され得る。ただし、本発明は、必ずしもこの付記の態様に限定されない。
(付記1)
映像を構成するフレーム画像であって、第1のノイズ低減処理が実行されたフレーム画像を取得する第1の取得手段と、
前記フレーム画像に対して実行された前記第1のノイズ低減処理を示すパラメータを取得する第2の取得手段と、
前記フレーム画像に対して前記パラメータを用いて第2のノイズ低減処理を実行するノイズ低減手段と
を含む映像処理装置。
(付記2)
前記パラメータは、前記第1のノイズ低減処理の強度を示し、
前記ノイズ低減手段は、前記パラメータに応じた強度で前記第2のノイズ低減処理を実行する
付記1に記載の映像処理装置。
(付記3)
前記第1のノイズ低減処理は、前記フレーム画像のうちの一部である第1の領域に対して実行され、
前記ノイズ低減手段は、前記フレーム画像のうち、少なくとも前記第1の領域と異なる第2の領域に対して前記第2のノイズ低減処理を実行する
付記1又は付記2に記載の映像処理装置。
(付記4)
前記ノイズ低減手段は、前記第2の領域に対して、前記第1の領域に対する強度と異なる強度で前記第2のノイズ低減処理を実行する
付記3に記載の映像処理装置。
(付記5)
前記ノイズ低減手段は、前記第2の領域に対して、前記第1の領域よりも高い強度で前記第2のノイズ低減処理を実行する
付記4に記載の映像処理装置。
(付記6)
前記ノイズ低減手段は、前記第2の領域に対して、前記パラメータに応じた強度で前記第2のノイズ低減処理を実行する
付記3から付記5までのいずれかに記載の映像処理装置。
(付記7)
前記第1のノイズ低減処理は、前記フレーム画像のノイズを、前記映像を構成し、当該フレーム画像と異なる他のフレーム画像を参照することにより低減する処理を含み、
前記第2のノイズ低減処理は、前記フレーム画像を構成する局所領域毎のノイズを、当該局所領域と異なる当該フレーム画像の他の局所領域を参照することにより低減する処理を含む
付記1から付記6までのいずれかに記載の映像処理装置。
(付記8)
前記パラメータは、前記第1のノイズ低減処理において参照された前記他のフレーム画像の総数を含む
付記7に記載の映像処理装置。
(付記9)
映像を構成するフレーム画像に対して第1のノイズ低減処理を実行する第1の処理手段と、
前記フレーム画像に対して実行された前記第1のノイズ低減処理を示すパラメータを用いて、当該フレーム画像に対して第2のノイズ低減処理を実行する第2の処理手段と
を含む映像処理装置。
(付記10)
前記パラメータは、前記第1のノイズ低減処理の強度を示し、
前記第2の処理手段は、前記パラメータに応じた強度で前記第2のノイズ低減処理を実行する
付記9に記載の映像処理装置。
(付記11)
前記第1のノイズ低減処理は、前記フレーム画像のうちの一部である第1の領域に対して実行され、
前記第2の処理手段は、前記フレーム画像のうち、少なくとも前記第1の領域と異なる第2の領域に対して前記第2のノイズ低減処理を実行する
付記9又は付記10に記載の映像処理装置。
(付記12)
映像を構成するフレーム画像であって、第1のノイズ低減処理が実行されたフレーム画像を取得し、
前記フレーム画像に対して実行された前記第1のノイズ低減処理を示すパラメータを取得し、
前記フレーム画像に対して前記パラメータを用いて第2のノイズ低減処理を実行する
映像処理方法。
(付記13)
前記パラメータは、前記第1のノイズ低減処理の強度を示し、
前記第2のノイズ低減処理は、前記パラメータに応じた強度で実行される
付記12に記載の映像処理方法。
(付記14)
前記第1のノイズ低減処理は、前記フレーム画像のうちの一部である第1の領域に対して実行され、
前記第2のノイズ低減処理は、前記フレーム画像のうち、少なくとも前記第1の領域と異なる第2の領域に対して実行される
付記12又は付記13に記載の映像処理方法。
(付記15)
コンピュータに、
映像を構成するフレーム画像であって、第1のノイズ低減処理が実行されたフレーム画像を取得する処理と、
前記フレーム画像に対して実行された前記第1のノイズ低減処理を示すパラメータを取得する処理と、
前記フレーム画像に対して前記パラメータを用いて第2のノイズ低減処理を実行する処理と
を実行させるためのプログラム。
(付記16)
前記パラメータは、前記第1のノイズ低減処理の強度を示し、
前記第2のノイズ低減処理は、前記パラメータに応じた強度で実行される
付記15に記載の映像処理方法。
(付記17)
前記第1のノイズ低減処理は、前記フレーム画像のうちの一部である第1の領域に対して実行され、
前記第2のノイズ低減処理は、前記フレーム画像のうち、少なくとも前記第1の領域と異なる第2の領域に対して実行される
付記15又は付記16に記載の映像処理方法。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得るさまざまな態様を適用することができる。