(57)【要約】【課題】リソース、処理負担を増加させることなく、ビデオ信号から高域ノイズと共に中低域ノイズも有効に除去するノイズフィルタを提供する。【解決手段】前段に３Ｄノイズフィルタ、後段に２Ｄノイズフィルタを配置したうえで、３Ｄノイズフィルタが利用する前の時刻のビデオ信号を保持するフレームメモリは、２Ｄノイズフィルタからではなく、３Ｄノイズフィルタにより出力されるビデオ信号が書き込まれるようにする。【選択図】図４
2010041697.tif 000002
【特許請求の範囲】
【請求項１】
現時刻のビデオ信号と、現時刻に対して所定時間分だけ前の時刻のビデオ信号とを入力し、現時刻のビデオ信号と前の時刻のビデオ信号とを利用した動き検出の結果を利用して、現時刻のビデオ信号についての時間軸方向でのノイズ除去を実行する、時間軸方向対応ノイズ除去手段と、
上記時間軸方向ノイズ除去手段より入力するビデオ信号について、空間軸方向でのノイズ除去処理を実行する空間軸方向ノイズ除去手段と、
上記空間軸方向ノイズ除去手段により出力されるビデオ信号の書き込みが行われ、この書き込まれたビデオ信号が、上記時間軸方向対応ノイズ除去手段に対して入力される上記前の時刻のビデオ信号となるようにして読み出しが行われるメモリ手段と、
を備えるビデオ信号処理装置。
【請求項２】
上記空間軸方向ノイズ除去手段は、
空間軸方向ノイズ除去手段による出力として、上記動き検出の結果である動きレベル値s（0≦s≦1）が乗算された現時刻のビデオ信号と、1-sを乗算した上記前の時刻のビデオ信号とを入力し、
上記時間軸方向ノイズ除去手段より入力する現時刻のビデオ信号の画素ごとの処理として、処理対象の画素の値について、この処理対象の画素を含むブロックを形成する画素の平均値により求める平均化処理を行い、動きレベル値sを乗算した上記平均化処理後の処理対象の画素の値と、1-sを乗算した上記平均化処理前の処理対象の画素の値とを加算して出力する、
請求項１に記載のビデオ信号処理装置。
【請求項３】
上記空間軸方向ノイズ除去手段は、
バイラテラルフィルタにより形成することとしたうえで、上記動き検出により検出される動きの大きさに基づいて、このバイラテラルフィルタによるノイズ除去強度が可変されるようにする、
ことを特徴とする請求項１又は請求項２に記載のビデオ信号処理装置。
【請求項４】
現時刻のビデオ信号と、現時刻に対して所定時間分だけ前の時刻のビデオ信号とを入力し、現時刻のビデオ信号と前の時刻のビデオ信号とを利用した動き検出の結果を利用して、現時刻のビデオ信号についての時間軸方向でのノイズ除去を実行する、時間軸方向対応ノイズ除去手順と、
上記時間軸方向ノイズ除去手順より入力するビデオ信号について、空間軸方向でのノイズ除去処理を実行する空間軸方向ノイズ除去手順と、
フレームメモリに対して、上記空間軸方向ノイズ除去手順により出力されるビデオ信号の書き込みが行われ、この書き込まれたビデオ信号が、上記時間軸方向対応ノイズ除去手順に入力される上記前の時刻のビデオ信号となるようにして読み出しが行われるようにするメモリ制御手順と、
を実行するビデオ信号処理方法。
【請求項５】
現時刻のビデオ信号と、現時刻に対して所定時間分だけ前の時刻のビデオ信号とを入力し、現時刻のビデオ信号と前の時刻のビデオ信号とを利用した動き検出の結果を利用して、現時刻のビデオ信号についての時間軸方向でのノイズ除去を実行する、時間軸方向対応ノイズ除去手順と、
上記時間軸方向ノイズ除去手順より入力するビデオ信号について、空間軸方向でのノイズ除去処理を実行する空間軸方向ノイズ除去手順と、
フレームメモリに対して、上記空間軸方向ノイズ除去手順により出力されるビデオ信号の書き込みが行われ、この書き込まれたビデオ信号が、上記時間軸方向対応ノイズ除去手順に入力される上記前の時刻のビデオ信号となるようにして読み出しが行われるようにするメモリ制御手順と、
をビデオ信号処理装置に実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ビデオ信号を対象として信号処理を実行するビデオ信号処理装置とその方法に関する。また、ビデオ信号処理装置に実行させるプログラムに関する。
【背景技術】
【０００２】
特許文献１に記載されているように、ビデオ信号処理の１つとして、動画に対応するビデオ信号からノイズを除去することが行われている。特許文献１においては、フレーム／フィールドノイズリダクション回路と水平ノイズキャンセラとを並列に配置している。そのうえで、入力映像信号が静止画であるか動画であるかに応じて、フレーム／フィールドノイズリダクション回路のかかりと、水平ノイズキャンセラのかかりとを制御する構成が示されている。
【０００３】
【特許文献１】特開平１１−６９２０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
本願発明としてもビデオ信号に対するノイズ除去に関するものであり、ノイズ除去に関してこれまでよりも高い性能が得られるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
そこで本発明は上記した課題を考慮して、ビデオ信号処理装置として次のように構成する。
つまり現時刻のビデオ信号と、現時刻に対して所定時間分だけ前の時刻のビデオ信号とを入力し、現時刻のビデオ信号と前の時刻のビデオ信号とを利用した動き検出の結果を利用して、現時刻のビデオ信号についての時間軸方向でのノイズ除去を実行する、時間軸方向対応ノイズ除去手段と、上記時間軸方向ノイズ除去手段より入力するビデオ信号について、空間軸方向でのノイズ除去処理を実行する空間軸方向ノイズ除去手段と、上記空間軸方向ノイズ除去手段により出力されるビデオ信号の書き込みが行われ、この書き込まれたビデオ信号が、上記時間軸方向対応ノイズ除去手段に対して入力される上記前の時刻のビデオ信号となるようにして読み出しが行われるメモリ手段とを備えることとした。
【０００６】
上記構成では、前段に時間軸方向対応ノイズ除去手段が配置され、後段に空間軸方向ノイズ除去手段が配置される。そのうえで、時間軸方向対応ノイズ除去手段が利用する所定時間分だけ前の時刻のビデオ信号を保持するメモリ手段は、時間軸方向対応ノイズ除去手段により出力されるビデオ信号ではなく、空間軸方向ノイズ除去手段により出力されるビデオ信号が書き込まれるようにされている。
これにより時間軸方向対応ノイズ除去手段が、過去のビデオ信号（フレーム）から空間軸方向での広い範囲の情報を利用して処理できることになる。従って、１フレーム単位では空間軸方向ノイズ除去手段のフィルタのタップ数が不足して除去しきれない中低域ノイズも除去することが可能になる。
【発明の効果】
【０００７】
このようにして、本発明は、リソース、処理負担を増加させることなく、高域ノイズと共に中低域ノイズも有効に除去することが可能になる。
【発明を実施するための最良の形態】
【０００８】
以下、本願発明を実施するための最良の形態（以下、実施形態という）について、下記の順により説明する。
１．全体構成
２．実施形態の基となるノイズ除去フィルタの基本構成例
３．実施形態としてのノイズ除去フィルタの構成例
【０００９】
＜１．全体構成＞
本実施形態では、本願発明に対応するビデオ信号処理装置を、ノイズ除去フィルタに適用する。
図１は、実施形態としてのノイズ除去フィルタを有して構成される撮像システムについての全体的な構成例を示している。この図に示される撮像システムは、カメラユニット１、ビデオ信号処理部２、及びエンコーダ３を有して成るものとしている。
【００１０】
カメラユニット１は、撮像を行うとともに、撮像により得た撮像光から動画像としてのビデオ信号Ｖ１を生成して出力する。このビデオ信号Ｖ１は、ノイズ除去(ノイズリダクション)フィルタ２に対して入力される。
【００１１】
なお、ここでは、ビデオ信号Ｖ１はデジタル形式により出力されるものとする。従って、次に説明するノイズ除去フィルタ２、及びビデオ信号処理部３も、デジタル信号処理によって、入力ビデオ信号に対する処理を実行するように構成される。
【００１２】
ノイズ除去フィルタ２は、入力されるビデオ信号Ｖ１に発生するノイズを除去してビデオ信号Ｖ２として出力する。なお、ノイズ除去フィルタ２１の内部構成については後述する。
【００１３】
ノイズ除去フィルタ２から出力されるビデオ信号Ｖ２は、必要な各種の信号処理が施されることになる。ビデオ信号処理部３は、このような各種の信号処理を実行する機能部位をまとめて示したものとなる。
従って、ビデオ信号処理部３が実行するビデオ信号処理としては特に限定されるべきものではないが、例えば、輝度補正処理、コントラスト補正処理、画像圧縮符号化処理などを挙げることができる。
ビデオ信号処理部３から出力されるビデオ信号Ｖ３は、ここでは図示していない装置、回路などに出力されることになる。
あくまでも一例であるが、図１に示す撮像システムが、ビデオ会議システムの端末において、その場に居る会議参加者を撮像するためのものであるような場合には、エンコーダ３から出力された圧縮符号化ビデオ信号は、通信回路系を経由して、相手側（遠端側）のビデオ会議システム端末に対して送信される。遠端側のビデオ会議システム端末では、この圧縮符号化ビデオ信号を受信して、圧縮符号化に対応する復号処理を実行したうえで、例えば表示デバイスにより画像として表示させる。
【００１４】
また、上記図１に示されるノイズ除去フィルタ２、及びビデオ信号処理部３などのビデオ信号処理系は、その一部、あるいは全ての機能を、ＦＰＧＡ(Field Programmable Gate Array)により実現させることができる。若しくは、ＤＳＰ(Digital Signal Processor)により構成することができる。つまり、ＦＰＧＡであるとかＤＳＰに対して、インストラクション（プログラム）を実行させることにより、その処理を実現できる。
【００１５】
＜２．実施形態の基となるノイズ除去フィルタの基本構成例＞
［第１例］
図２は、図１に示したノイズ除去フィルタ２として採り得る基本的な構成の第１例を示している。
この図に示される第１例としてのノイズ除去フィルタ２Ａは、３Ｄノイズ除去フィルタ１１、２Ｄノイズ除去フィルタ１２、フレームメモリ１３を有している。そのうえで、前段が３Ｄノイズ除去フィルタ１１で、後段が２Ｄノイズ除去フィルタ１２となるようにして直列に配置している態様となっている。
【００１６】
つまり、図１の構成例においては、ビデオ信号Ｖ１は３Ｄノイズ除去フィルタ１１に対して入力される。この場合には、ビデオ信号Ｖ１が３Ｄノイズ除去フィルタ１１の入力ビデオ信号Ｖin3dとなる。
３Ｄノイズ除去フィルタ１１は、例えば後述する図４の構成により、フレームメモリ１３を利用して、入力ビデオ信号Ｖin3dについて時間軸方向でのノイズ除去処理を実行し、出力ビデオ信号Ｖout3dとして出力する。時間軸方向でのノイズ除去処理とは、フレーム間で発生するとされるノイズを除去する処理をいう。そして、この出力ビデオ信号Ｖout3dが、２Ｄノイズ除去フィルタ１２にとっての入力ビデオ信号となる。
【００１７】
２Ｄノイズ除去フィルタ１２は、入力ビデオ信号に対して空間軸方向でのノイズ除去処理を実行する。空間軸方向でのノイズ除去処理とは、例えばフレーム画像ごとに、その画像空間内におけるノイズを除去する処理をいう。
【００１８】
この２Ｄノイズ除去フィルタ１２の基本的なノイズ除去動作の一例としては次のようになる。
先ず、２Ｄノイズ除去フィルタ１２は、入力されたビデオ信号のフレーム画像単位を、模式的には図３（ａ）に示すようにして、水平画素数×垂直画素数＝ｎ×ｎ（ｎは自然数）からなるブロックに分割する。ここでは、例として、図３（ｂ）において１ブロックを３×３（ｎ＝３）の水平画素数×垂直画素数により形成した場合を示している。
そして、ノイズが検出されたブロックについては、そのブロックを形成する画素のデータを利用して補間処理、平均化処理などを実行し、画としては暈かされた状態とするようにしてノイズ除去処理を実行する。
そして、この場合には、２Ｄノイズ除去フィルタ１２から出力されるビデオ信号が、後段のビデオ信号処理部３に入力すべきビデオ信号Ｖ２となる。
【００１９】
また、３Ｄノイズ除去フィルタ１１は、図４により後述するようにして画素単位で動き検出の処理を実行するのであるが、ここでは検出された動き量を示す情報である動きレベル値ｓを２Ｄノイズ除去フィルタ１２に出力するものとする。この動きレベル値ｓに基づいて、図５により後述するようにして、ノイズ除去フィルタ２に入力されるビデオ信号Ｖ1の動き量に応じて、３Ｄノイズ除去フィルタ１１と２Ｄノイズ除去フィルタ１２のノイズ除去の強度が可変される。
【００２０】
図４は、図２のノイズ除去フィルタ２Ａに実装できる３Ｄノイズ除去フィルタ１１の構成例を、フレームメモリ１３とともに示している。
この図に示される３Ｄノイズ除去フィルタ１１は、２Ｄノイズ除去フィルタ３１、動き検出部３２、及びミキサ部３３を備えて成る。
【００２１】
３Ｄノイズ除去フィルタ１１に対する入力ビデオ信号Ｖin3dは、先ず、２Ｄノイズ除去フィルタ３１とミキサ部３３とに対して分岐して入力される。
２Ｄノイズ除去フィルタ３１は、機能的には、図２に示した２Ｄノイズ除去フィルタ１２と同じく、フレーム画像ごとに対応するビデオ信号に重畳しているノイズを除去するもので、その出力であるビデオ信号を動き検出部３２に出力する。
２Ｄノイズ除去フィルタ３１があることにより、動き検出部３２が入力する現フレーム画像の信号からノイズが除去されることになる。これによって、例えば動き検出部３２は、現フレーム画像に現れたノイズを動きであるとして誤検出することがなくなる。つまり、２Ｄノイズ除去フィルタ３１を設けることで動き検出部３２の検出精度を高めることができる。
【００２２】
動き検出部３２は、上記２Ｄノイズ除去フィルタ３１から出力されるビデオ信号をフレーム単位で読み込んで入力すると共に、フレームメモリ１３に保持されているフレーム画像データを読み出して入力する。２Ｄノイズ除去フィルタ３１から出力されるビデオ信号が現フレーム画像の情報（フレーム画像データ）であり、フレームメモリ１３に保持されているフレーム画像データが、現フレーム画像に対して所定フレーム数（例えば１フレーム）だけ前（過去）のフレーム画像の情報となる。
【００２３】
動き検出部３２は、上記現フレーム画像データと、前のフレーム画像データとを比較して、この場合には、動き検出処理として、少なくとも、フレーム画像データを形成する画素ごとに動き量を検出可能とされている。検出された動き量の情報は、動きレベル値ｓとしてミキサ部３３に出力される。また、図２にても述べたように、２Ｄノイズ除去フィルタ１２に対しても出力される。
【００２４】
なお、ここでの動きレベル値ｓは、所定の分解能により、０≦ｓ≦１までの範囲を取る。動きレベル値ｓ＝０の場合に、動きは全くない静止の状態であることを示し、動きレベル値ｓ＝１の場合に、検出可能な範囲において最も動きが大きい状態であることを示す。
【００２５】
ミキサ部３２には、入力ビデオ信号Ｖin3dと、フレームメモリ１３から読み出したフレーム画像データが入力される。つまり、ミキサ部３３は、現フレーム画像データとして入力ビデオ信号Ｖin3dを入力し、フレームメモリ１３に対する読み出しを行って、現フレーム画像に対して所定フレーム数分だけ前のフレーム画像データを入力する。
そして、ミキサ部３２は、後述するようにして、動きレベル値ｓに基づいて設定した合成比率に従って現フレーム画像データと過去のフレーム画像データとを合成して出力する。
このようにしてミキサ部３３から出力されるフレーム画像データより成るビデオ信号は、３Ｄノイズ除去フィルタ１１の出力ビデオ信号Ｖout3dとして外部に出力される。また、分岐してフレームメモリ１３に対して、フレーム画像単位により入力される。なお、フレームメモリ１３に対しては、例えば出力ビデオ信号Ｖout3dの成分のうちで、現フレームに対応するビデオ信号成分のみを入力させる。
【００２６】
フレームメモリ１３では、入力されるビデオ信号の書き込みが行われる。そして、所定タイミングでの読み出しが行われることで、現フレーム画像に対して所定フレーム数だけ前のフレーム画像データが動き検出部３２及びミキサ部３３に対して入力されるようにする。
【００２７】
上記構成の３Ｄノイズ除去フィルタ１１において、ミキサ部３３は次のようにして動作する。
説明を分かりやすいものとするために、先ず、動きレベル値ｓ＝０の場合を考えてみる。この場合、動き検出部３２による動き検出の対象とされた画素は、前のフレームと比較して変化が無いことになる。しかし、例えば現フレームにてノイズが現れたことにより、現実には、前のフレームとは異なる画素値が得られることがある。このような場合、ミキサ部３３は、フレームメモリ１３から読み出した前のフレーム画像データのみを出力する、このような合成処理が行われることで、出力される信号Ｖout3dとしては、時間軸上で発生したノイズに応じて高域が低減されたもの（画像としては暈かされたもの）となる。つまり、最も強度の高い時間軸方向でのノイズ除去が行われる。
【００２８】
次に、動きレベル値ｓ＝１の場合には、動きが非常に大きく、動き検出対象の画素については、前のフレームとはほとんど相関がないことになる。このような状態では、動き検出対象の画素についてノイズの有無を判定できないので、ノイズ除去処理を行うことの意味がない。
そこで、この場合においては、例えば、現フレーム画像に対応する入力ビデオ信号Ｖin3dのみを出力する。この場合、動き検出対象とされた画素についてのノイズ除去は行わないことになる。
つまり、３Ｄノイズ除去フィルタ１１の基本的な動作としては、動きが無ければノイズ除去を実行し、動きが大きければノイズ除去を実行しないようにして構成される。
【００２９】
そのうえで、動きレベル値ｓが０、１以外の０＜ｓ＜１の範囲での値を取るときには、動きレベル値ｓが小さくなるのに応じて、前のビデオ信号の出力レベルは大きくし、現フレーム画像のビデオ信号の出力レベルは小さくしていく。逆に、動きレベル値ｓが大きくなるのに応じては、前のビデオ信号の出力レベルは小さくし、現フレーム画像のビデオ信号の出力レベルは大きくしていくように動作する。
このようにして、３Ｄノイズ除去フィルタ１１は、画像の動き量に適応して強度を可変してノイズ除去を実行する。
【００３０】
そのうえで、ノイズ除去フィルタ２Ａにおいては、図５のフローチャートに示すようにして、３Ｄノイズ除去フィルタ１１と２Ｄノイズ除去フィルタ１２ノイズ除去の強度についての制御を行う。
【００３１】
つまり、ステップＳ１０１により動き検出部３２により検出した動き量（動きレベル値ｓ）が大きいと判断されるときには、ステップＳ１０２のようにしてノイズ除去処理が行われる。つまり、３Ｄノイズ除去フィルタ１１については、先の説明に従って、動きレベル値ｓが大きくなるのに応じてノイズ除去の強度を弱く設定していく。これに対して、２Ｄノイズ除去フィルタ１２については、動きレベル値ｓが大きくなるのに応じてそのノイズ除去強度を高くしていく。
【００３２】
これに対して、ステップＳ１０１により動き量（動きレベル値ｓ）が小さいと判断されるときには、ステップＳ１０３によるノイズ除去処理が行われる。つまり、３Ｄノイズ除去フィルタ１１については、先の説明に従って、動きレベル値ｓが小さくなるのに応じてノイズ除去の強度を強く設定していく。これに対して、２Ｄノイズ除去フィルタ１２については、動きレベル値ｓが小さくなるのに応じてそのノイズ除去強度を低くしていく。
【００３３】
上記の処理では、３Ｄノイズ除去フィルタ１１によるノイズ除去強度が低いときには、その分、２Ｄノイズ除去フィルタ１２の側のノイズ除去強度を高めている。一方、３Ｄノイズ除去フィルタ１１によるノイズ除去強度が高いときには、その分、２Ｄノイズ除去フィルタ１２の側のノイズ除去強度を低くしていることになる。即ち、双方について、動き量に対して逆のノイズ除去強度の変化特性が与えられることにより、空間軸方向と時間軸方向との相互のノイズ除去強度を補い合うようにされる。これにより、ノイズ除去フィルタ２Ａ全体としては、画像の動き量に関わりなく、常に適正な強度によるノイズ除去が行われるようにしている。
【００３４】
［第２例］
図６は、ノイズ除去フィルタ２として採り得る基本的な構成の第２例を示している。なお、この図において図１と同一部分は同一符号を付して説明を省略する。
この図に示される第２例としてのノイズ除去フィルタ２Ｂでは、２Ｄノイズ除去フィルタ１２を前段に配置し、３Ｄノイズ除去フィルタ１１を後段に配置した構成となっている。つまり、図２の第１例との比較では、同じ直列関係にはあるが、３Ｄノイズ除去フィルタ１１と２Ｄノイズ除去フィルタ１２の前後の配置が入れ替えられている。
【００３５】
この場合、ノイズ除去フィルタ２Ｂに対する入力信号であるビデオ信号Ｖ１は、先ず、２Ｄノイズ除去フィルタ１２に入力される。２Ｄノイズ除去フィルタ１２は、図２の場合と同じ構成とされ、先の説明のようにして空間軸方向でのノイズ除去処理を実行する。そして、２Ｄノイズ除去フィルタ１２から出力されるビデオ信号が３Ｄノイズ除去フィルタ１１に対する入力ビデオ信号Ｖin3dとなる。
３Ｄノイズ除去フィルタ１１も、図４と同じ構成を採り、時間軸方向でのノイズ除去処理を実行する。この場合には、３Ｄノイズ除去フィルタ１１の出力ビデオ信号Ｖout3dが、ビデオ信号Ｓ２とされてノイズ除去フィルタ２Ｂから出力される。
【００３６】
図２に示した第１例の構成と、上記図６の第２例の構成とを比較した場合、図５に示したノイズ強度の可変については、第１例の構成のほうが有利となる。
第１例では、２Ｄノイズ除去フィルタ１２の前段に対して動き検出部３２を備える３Ｄノイズ除去フィルタ１１が備えられる。このため、２Ｄノイズ除去フィルタ１２としては、動き検出部３２の動き検出結果に応じたノイズ除去強度の可変処理を適正なタイミングで実行しやすいからである。
【００３７】
上記のようにして、動画としてのビデオ信号に対応しては、空間軸方向でのノイズ除去処理（２Ｄノイズ除去フィルタ１２）と時間軸方向でのノイズ除去処理（３Ｄノイズ除去フィルタ１１）とを併用してノイズ除去を行うことが有効である。
しかし、２Ｄノイズ除去フィルタ１２は、先に図３にて説明したようにｎ×ｎ画素によるブロック単位でノイズ除去処理を実行する。このために、高域のノイズが除去されはするが、その代償として、ノイズ成分がより低い周波数帯域にシフトして現れるような現象を生じやすい。このような中低域ノイズは、例えば画像としては、ブロック単位に応じた画像部分サイズごとに色や明るさがつながらずに異なって見えるものとなる。
【００３８】
上記のようにして、中低域のノイズも表示画像の品質を劣化させるので、できるだけ低減されることが要求される。しかし、これまでの２Ｄノイズ除去フィルタの手法に従って、高域ノイズとともに中低域ノイズも除去できるようにしようとすれば、ブロック単位を形成する水平／垂直画素数を相当に大きくする必要がある。例えば、ＦＰＧＡ，ＤＳＰなどでは２Ｄノイズ除去フィルタはデジタルフィルタにより構成するが、ブロック単位を形成する水平／垂直画素数を増加させると、デジタルフィルタのタップ数が大幅に増加するなど、リソースが著しく増加してしまう。
【００３９】
空間軸方向でのノイズ除去処理と時間軸方向でのノイズ除去処理とを併用してノイズ除去を行うノイズ除去フィルタの場合、２Ｄノイズ除去フィルタを備える以上、上記した問題を抱えることになる。また、この問題は、図２、図６いずれのノイズ除去フィルタ（２Ａ，２Ｂ）の構成においても、同程度に生じる。
【００４０】
＜３．実施形態としてのノイズ除去フィルタの構成例＞
そこで、本実施形態では、空間軸方向でのノイズ除去処理と時間軸方向でのノイズ除去処理とを併用してノイズ除去を行うノイズ除去フィルタとして、高域ノイズはこれまでと同等に低減したうえで、中低域ノイズについても有効に低減できるようにする。このために、図１に示したノイズ除去フィルタ２として、図７に示す構成を採ることとした。なお、この図において、図２、図６と同一部分には同一符号を付している。
【００４１】
図７においては、３Ｄノイズフィルタ１１、２Ｄノイズフィルタ１２、フレームメモリ１３を有して成る。この点は、図２、図６に示した構成例と同様である。また、３Ｄノイズフィルタ１１、２Ｄノイズフィルタ１２、フレームメモリ１３の個々の構成も、図２、図６と同じであると見ることができる。ただし、その接続の態様については次のようにして、図２、図６とは異なったものとなっている。
【００４２】
つまり、ノイズ除去フィルタ２に対して入力されるビデオ信号Ｖ１は、先ず、３Ｄノイズ除去フィルタ１１に対して、入力ビデオ信号Ｖin3dとして入力される。３Ｄノイズ除去フィルタ１１の出力ビデオ信号Ｖout3dは、そのまま２Ｄノイズ除去フィルタ１２に対して入力され、２Ｄノイズ除去フィルタ１２の出力はビデオ信号Ｖ２として後段のビデオ信号処理部３に出力されるようになっている。なお、この図では、２Ｄノイズ除去フィルタ１２に対する入力信号を入力ビデオ信号Ｖin2d、２Ｄノイズ除去フィルタ１２からの出力信号を出力ビデオ信号Ｖout2dとして示す。この場合、３Ｄノイズ除去フィルタ１１の出力ビデオ信号Ｖout3dがそのまま２Ｄノイズ除去フィルタ１２のための入力ビデオ信号Ｖin2dとなる。また、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dが、ノイズ除去フィルタ２の出力であるビデオ信号Ｖ２となる。
【００４３】
そのうえで、本実施形態では、フレームメモリ１３が入力して読み込むべきフレーム画像データの元となるビデオ信号として、３Ｄノイズ除去フィルタ１１の出力ビデオ信号Ｖout3dではなく、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dとしている。
【００４４】
即ち、図７に示す構成では、先ず、直列接続される３Ｄノイズ除去フィルタ１１と２Ｄノイズ除去フィルタ１２との関係としては、図２と同様に、３Ｄノイズ除去フィルタ１１を前段とし、２Ｄノイズ除去フィルタ１２を後段としている。そのうえで、３Ｄノイズ除去フィルタ１１に入力される現フレームより前のフレーム画像データとしては、後段の２Ｄノイズフィルタの出力ビデオ信号Ｖout2dからフィードバックさせているものである。
【００４５】
上記構成に対応した３Ｄノイズ除去フィルタ１１の内部構成と外部との接続関係を図８に示しておく。
図８に示される３Ｄノイズ除去フィルタ１１の内部構成は、図４と同様であり、その動作としても、図４と同様としている。
ただし、図４では、フレームメモリ１３は、ミキサ部３３から出力されるビデオ信号を入力しているのに対して、図８では、２Ｄノイズフィルタの出力ビデオ信号Ｖout2dを入力している。
【００４６】
上記の接続態様による図７のノイズ除去フィルタ２について、例えば、３Ｄノイズ除去フィルタ１１は、先に図４にて述べたのと同じ信号処理を実行させたとする。同様に、２Ｄノイズ除去フィルタ１２も、図３にて説明したブロック単位により、例えば図２、図６に示される２Ｄノイズ除去フィルタ１２と同じ信号処理を実行させたとする。また、フレームメモリ１３も、入力データについては、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dとされたうえで、図２，図６と同じく、現フレームに対して所定フレーム数だけ前のフレーム画像データを書き込んで保持させるものとする。動き検出部３２は、このようにして保持される過去のフレーム画像データをフレーム周期ごとに読み出して入力することになる。
なお、フレームメモリ１３に対するデータ(ビデオ信号)の書き込み、読み出し制御を実行する機能部は、ここでは図示していないが、例えばノイズ除去フィルタ２をＦＰＧＡ，ＤＳＰにより構成する場合には、ＦＰＧＡ，ＤＳＰがプログラム（インストラクション）に従って実行する処理として、フレームメモリ１３に対して所定のタイミングでデータの書き込み・読み出しを実行するようにされる。例えばこの図７としては、フレームメモリ１３において、実際にデータが保持されるメモリと、このメモリを制御する制御部とが備えられているものとしてみればよい。
【００４７】
係る構成による図７、及び図８の構成によるノイズ除去フィルタ２では、３Ｄノイズ除去フィルタ１１内のミキサ部３３がフレームメモリ１３から入力する前のビデオ信号は、２Ｄノイズ除去フィルタ１２からの出力ビデオ信号Ｖout2dを元としたものになる。このために、３Ｄノイズ除去フィルタ１１は、２Ｄノイズ除去フィルタ１２により空間軸方向でノイズ除去されたビデオ信号を利用して、現フレームのビデオ信号に対する時間軸方向でのノイズ除去を行うことになる。
【００４８】
図９には、ビデオ信号Ｖ２に対応するフレーム画像データの一部を画素レベルに拡大したものを模式的に示している。
先に図２に示した構成では、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dがビデオ信号Ｖ２となる。このビデオ信号Ｖ２の場合、図９において示される１つのブロックにおける２行２列の位置にある画素P1は、時間経過を経たとしても、空間軸方向においては、この画素P1を含む同じブロックに在る画素のデータを利用してしかフィルタ処理(補間処理)は為されない。つまり、１つのブロックにおいて、ノイズ除去処理により或る１つの画素に影響を及ぼす他の画素は、あくまでも同じブロックに存在する画素に限定される。
【００４９】
このことが、先に述べた中低域ノイズ発生の要因となっている。また、これについては、図６に示した構成においても同様となる。図２、図６に示した構成では、図７のようにして３Ｄノイズ除去フィルタ１１に対して、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dをフィードバックさせる構成を採っていない。このために、フレームメモリを利用した３Ｄノイズ除去フィルタ１１のノイズ除去処理と、図３より説明した２Ｄノイズ除去フィルタ１２のノイズ除去処理は、図５に示したノイズ除去強度設定を除いては互いに独立したものとなる。この点で、図２，図６の構成は同じだからである。
【００５０】
これに対して、図７に示す本実施形態の構成では、３Ｄノイズ除去フィルタ１１に対して、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dがフィードバックされる。つまり、３Ｄノイズ除去フィルタ１１は、過去において空間軸方向におけるノイズ除去が施されたビデオ信号を利用して、現フレーム画像のビデオ信号のノイズ除去を行う。そして、この現フレーム画像のビデオ信号が、さらに、２Ｄノイズ除去フィルタ１２にて空間軸方向におけるノイズ除去が行われる。そして、この動作がフレーム周期により循環する。
【００５１】
この結果、図７のビデオ信号Ｖ２（出力ビデオ信号Ｖout2d）の場合における図９の画素P1のデータは、自身が属するブロックより外の画素の影響も受けるようにして変化していくことになる。そして、影響を受ける画素の範囲は、時間が経過して上記したフレーム周期ごとの繰り返し回数が多くなるほ遠くの距離のものが含まれていくことになる。
これは、２Ｄノイズ除去フィルタ１２において設定しているブロックよりも大きな範囲で空間軸方向におけるノイズ除去を行っていることと等価の動作が実行されているものとみることができる。これにより、ブロック単位のサイズに応じた中低域ノイズも抑制されていく。即ち、本実施形態では、高域ノイズに加え、さらに中低域ノイズも低減することが可能であることになる。
【００５２】
ただし、単に、図７に示した構成により、上記したフレーム周期の動作を単純に繰り返していったとすると、最終的には、フレームを形成する全画素が平均化されることになって、いわゆる一様に同輝度、同色のベタ画像となってしまう。
そこで続いては、本実施形態のノイズ除去フィルタ２として、ビデオ信号Ｖ２として、適切な強度で中低域ノイズが低減されるようにするためのノイズ除去処理のアルゴリズムについて考察する。
【００５３】
［ノイズ除去処理のアルゴリズム：定義内容説明］
ここでモデルとして、２Ｄノイズ除去フィルタ１２の処理単位であるブロックについては、図１０に示すようにして３×３によるサイズとしたうえで、このブロックを形成する９つの画素ごとに、図示する配列順に対応させて０〜８までの番号を与えておくこととする。
また、現フレームに対応する時刻についてはt=1で表し、現フレームに対して所定のフレーム数だけ前とされ、フレームメモリ１３から読み出される過去のフレーム画像データに対応する時刻をt=0で表すこととする。
そのうえで、図１０に示されるブロックにおけるｎ番目（ｎ＝０〜８）の画素のデータに関して、図７におけるビデオ信号と次のようにして対応させて定義して表記する。
Y(n,t=1)・・・２Ｄノイズ除去フィルタ１２から出力されるビデオ信号Ｖ２（Ｖout2d）における、ブロック内ｎ番目（ｎ＝０〜８）の画素のデータ値。
X(n,t=1)・・・３Ｄノイズ除去フィルタ１１に対して入力されるビデオ信号Ｖ１（Vin3d）における、ブロック内ｎ番目（ｎ＝０〜８）の画素のデータ値。
X(n,t=0) ・・・現フレームに対して所定のフレーム数だけ前となるビデオ信号（フレームメモリ１３から読み出されるフレーム画像データ）における、ブロック内ｎ番目（ｎ＝０〜８）の画素のデータ値。
【００５４】
また、動き検出部３２が動き量を検出して出力するとされる動きレベル値ｓについて、下記のようにして定義する。
s=s(X(n,t=0),X(n,t=1))・・・(式１)
上記（式１）は、１つのｎ番目の画素についての動きレベル値ｓ(動き量)が、時刻t=1のときのｎ番目の画素のデータと、時刻t=0のときのｎ番目の画素のデータとの差分により求められることを意味する。
例えば図１０に示されるブロックにおける上記４番目の画素についての動きレベル値ｓについては、s=s(X(4,t=0),X(4,t=1))により表されることになる。
【００５５】
ここで、図１０のブロックにおける４番目の画素を対象としたノイズ除去フィルタ２の処理（アルゴリズム）について考察してみる。
先ず、参考までに、先に、図２〜図６により説明したノイズ除去フィルタ２Ａ、２Ｂに対応する、最も単純なノイズ除去フィルタ２のアルゴリズムとしては、次の(式２)により表されるものを考えることができる。
Y(4,t=1)=(1-s)*X(4,t=0)+s*Σ(n,t=1)/9・・・(式２)
上記(式２)において、Σ(n,t=1)/9の項が２Ｄノイズ除去フィルタ１１の処理を表している。つまり、この第１例に対応した２Ｄノイズ除去フィルタ１１の１画素に対応する処理としては、その画素を含むブロックを形成する全画素のデータの平均を求めるものとなる。また、(1-s)*X(4,t=0)の項、及びΣ(n,t=1)/9に動きレベル値ｓを乗算することが、３Ｄノイズ除去フィルタ１１の処理と、図５に示したノイズ除去強度制御とを表している。
例えば先に図４を参照して述べた３Ｄノイズ除去フィルタ１１の処理は、
Y(4,t=1)=(1-s)*X(4,t=0)+s*X(4,t=1)・・・(式３)
で表すことができる。（式２）として表されるノイズ除去フィルタ２の処理は、(式３)で表される３Ｄノイズ除去フィルタ１１の処理に対して、Σ(n,t=1)/9の項で表される２Ｄノイズ除去フィルタ１１の処理を組み合わせたものとなる。
【００５６】
上記処理は、次のようにしな信号の流れとして捉えられる。
つまり、画素単位でのビデオ信号処理として、この場合の３Ｄノイズ除去フィルタ１１のミキサ部３３は、現フレームに対応する時刻t=1の画素については動きレベル値ｓを乗算して出力し、フレームメモリ１３から読み出した時刻t=0の画素は、1-sを乗算して出力させる。
また、２Ｄノイズ除去フィルタ１１においては、３Ｄノイズ除去フィルタ１１のミキサ部３３から出力された時刻t=1の画素についてのブロックを利用した平均化を行い、この平均化した画素の値と、３Ｄノイズ除去フィルタ１１のミキサ部３３から出力された時刻t=1の画素とを合成（加算）して出力する。
【００５７】
ちなみに、上記 (式２)により表されるアルゴリズムを図７のノイズ除去フィルタ２にて適用すると、先に述べたようにして、時間経過に応じて、どんどん画像がぼけて均一化されていくことになってしまう。
【００５８】
［ノイズ除去処理のアルゴリズム：第１例］
そこで、本実施形態では、図７のノイズ除去フィルタ２について、第１例として、下記の（式４）により表されるアルゴリズムを適用することとした。
Y(4,t=1)=(1-s)*X(4,t=0)+s*((1-s)*X(4,t=1)+s*Σ(n,t=1)/9)・・・（式４）
【００５９】
先ず、この場合にも、（式４）における(1-s)*X(4,t=0)の項と、((1-s)*X(4,t=1)+s*Σ(n,t=1)/9)の係数sにより、３Ｄノイズ除去フィルタ１１の処理、及び図５に対応するノイズ除去強度制御が実行されることが表されている。
【００６０】
そのうえで、上記（式４）において、((1-s)*X(4,t=1)+s*Σ(n,t=1)/9)の項が、２Ｄノイズ除去フィルタ１２の処理に相当する。
つまり、２Ｄノイズ除去フィルタ１２は、ここで処理対象とされている４番目の画素自体のデータX(4,t=1)と、ブロック内の画素の平均値Σ(n,t=1)/9とを合成して出力できるようにしている。
そのうえで２Ｄノイズ除去フィルタ１２は、動きレベル値ｓが高くなる(動きが大きくなる)のに応じて、平均値Σ(n,t=1)/9の割合を大きくし、画素自体のデータX(4,t=1)の割合を小さくして合成する。逆に、動きレベル値ｓが小さくなる(動きが小さくなる)のに応じては、平均値Σ(n,t=1)/9の割合を小さくし、画素自体のデータX(4,t=1)の割合を大きくして合成する。
【００６１】
上記のような処理によって、先ず、画像の動きの小さなときには、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dとしては、画素自体のデータX(4,t=1)のほうが高い比率で出力されることになる。これは、動きが小さいほど、２Ｄノイズ除去フィルタ１２によるノイズ除去処理の強度が弱められていることを示す。つまり、画像の動きの小さくなるほど、充分に２Ｄノイズ除去フィルタ１２によるノイズ除去強度が弱められることになる。
一方、画像の動きの大きなときには、２Ｄノイズ除去フィルタ１２の出力ビデオ信号Ｖout2dとしては、平均値Σ(n,t=1)/9のほうが高い比率で出力されることになる。これは、動きが大きいほど、２Ｄノイズ除去フィルタによるノイズ除去処理の強度が高められていることを示す。
そのうえで、この(式４)においても、先に述べたように、図５のフローチャートに対応するノイズ除去強度制御が併行して実行される。
【００６２】
従って、画像の動き量に応じたノイズ除去処理の強度の変化特性は、例えば(式２)のアルゴリズムの場合とは異なって、より強調されたものとなる。これにより、第１例のアルゴリズムによっては、高域ノイズについては有効に低減したうえで、画素が必要以上に平均化されないようにして適度に中域のノイズも除去された出力ビデオ信号Ｖ２を得ることができる。
【００６３】
［ノイズ除去処理のアルゴリズム：第２例］
また、ノイズ除去フィルタ２のためのアルゴリズムの第２例としては、バイラテラルフィルタを適用したものを考える。バイラテラルフィルタは、画像中の境界、エッジを平滑化することなくノイズを除去する技術として知られている。そして、本実施形態においては、２Ｄノイズ除去フィルタ１２にバイラテラルフィルタを適用したうえで、３Ｄノイズ除去フィルタ１１としての動きの大きさ（動きレベル値s）に応じた強度制御を併用する。
このバイラテラルフィルタを適用した３Ｄノイズ除去フィルタ１１、及び２Ｄノイズ除去フィルタ１２のアルゴリズムは、例えば下記の(式４)により表される
Y(4,t=1)=Σ((1-s(X(n,t=1),X(4,t=1)))X(n,t=1))/Σ(1-s(X(n,t=1),X(4,t=1))・・・（式５）
なお、（式５）において、Σは、s(X(n,t=1),X(4,t=1))<s(X(4,t=0),X(4,t=1))となるｎを積算する。つまり、動きが大きいほど、バイラテラルフィルタによるノイズ除去強度が強くなるようにしているものである。
【００６４】
このようにして、本実施形態においては、図７に示されるノイズ除去フィルタ２の構成を採ることとしたうえで、上記第１例、第２例としてのノイズ除去アルゴリズムを採用することで、高性能な画像のノイズ除去機能を得ることができる。
つまり、ビデオ信号(画像)に重畳する高域ノイズとともに中低域ノイズについても、過剰に除去することなく適度に低減することができる。
また、例えば上記第１例、第２例としてのノイズ除去アルゴリズムを適用するのにあたっても、例えば２Ｄノイズ除去フィルタ１２として必要とされるリソースは、例えばブロックを形成する画素数を大きく取るばあいと比較して小さい。つまり、これまでと同等のリソースでありながら、中低域ノイズを含めて良好なノイズ低減効果が得られる。
【００６５】
なお、上記した第１例、第２例としてのノイズ除去アルゴリズムは、あくまでも具体的一例である。例えば、ノイズ除去強度設定のために、ここでは、係数ｓと係数(1-s)とを対としているが、動きレベル値ｓに基づいた他の係数が用いられてもよい。
【００６６】
また、上記実施形態では、ノイズ除去フィルタ２を撮像システムに組み込んで構成している。しかし、本実施形態のノイズ除去フィルタ２に相当する構成は、撮像システム以外に適用してよい。
即ち、ノイズ除去フィルタ２のための入力ビデオ信号（Ｖ１）の出力源としては上記撮像装置以外に、例えばビデオレコーダなどをはじめとするビデオ信号の出力が可能な装置、回路全般が対象となる。また、ビデオ信号処理部２の出力ビデオ信号を入力する装置、回路などとしても、圧縮符号化のためのエンコーダ以外のものが対象となってよい。
【００６７】
また、本実施形態のビデオ信号処理部２は、先にも述べたようにＦＰＧＡ、ＤＳＰなどにより構成することができる。つまり、ＦＰＧＡ，ＤＳＰが実行するプログラム（インストラクション）として、例えばこれまでに述べた信号処理を実行させるためのものを作成してＦＰＧＡ、ＤＳＰの記憶装置に書き込む。これにより、ＦＰＧＡ、ＤＳＰにて本実施形態のビデオ信号処理部２としての機能が得られる。
また、ＦＰＧＡ、ＤＳＰではなく、ＣＰＵ(Central Processing Unit)に対応させて、本実施形態のビデオ信号処理部２としてのビデオ信号処理を実行させるプログラムを作成し、これをＣＰＵが利用する記憶装置に記憶させておくようにしてもよい。これにより、例えばパーソナルコンピュータを始め、ＣＰＵを有して構成される情報処理装置全般において、本実施形態のビデオ信号処理部２のビデオ信号処理機能を与えることが可能になる。
【００６８】
上記のプログラムは、上記もしているように予め記憶装置に記憶させておくほか、例えばリムーバブルの記憶媒体に記憶させておいたうえで、この記憶媒体からインストール(アップデートも含む)させるようにして上記記憶装置などに記憶させることが考えられる。また、データインターフェイス経由により、他のホストとなる機器からの制御によってプログラムのインストールを行えるようにすることも考えられる。さらに、ネットワーク上のサーバなどにおける記憶装置に記憶させておいたうえで、例えばネットワーク経由でサーバからダウンロードして取得できるように構成することも考えられる。
【００６９】
また、上記実施形態では、ノイズ除去フィルタ２についてデジタル信号処理によりビデオ信号処理を実行するようにして構成しているが、アナログ信号処理によって実現する構成とすることも可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施形態に対応する撮像システムの構成例を示す図である。
【図２】撮像システムのノイズ除去フィルタとして採用し得る基本的な構成例(第１例)を示す図である。
【図３】２Ｄノイズ除去フィルタにおける処理単位であるブロックの形成例を示す図である。
【図４】３Ｄノイズ除去フィルタの構成例を示す図である。
【図５】動き量に応じた２Ｄノイズ除去フィルタと３Ｄノイズ除去フィルタの、ノイズ除去強度の制御例を示すフローチャートである。
【図６】撮像システムのノイズ除去フィルタとして採用し得る基本的な構成例(第２例)を示す図である。
【図７】実施形態としてのノイズ除去フィルタの構成例を示す図である。
【図８】実施形態に対応した３Ｄノイズ除去フィルタについての信号入出力の態様例を示す図である。
【図９】フレーム画像データの一部を画素レベルに拡大したものであり、ノイズ除去処理が画素に及ぼす影響についての説明を行うための図である。
【図１０】実施形態に適用するノイズ除去処理のアルゴリズムの説明に利用するもので、現時刻t=1のブロックと過去の時刻t=0のブロックとを示す図である。
【符号の説明】
【００７１】
１  撮像装置、２  ノイズ除去フィルタ、３  ビデオ信号処理部、１１  ３Ｄノイズ除去フィルタ、１２  ２Ｄノイズ除去フィルタ、１３  フレームメモリ、３１  ２Ｄノイズ除去フィルタ、３２  動き検出部、３３  ミキサ部
【図１】
2010041697.tif 000003
【図２】
2010041697.tif 000004
【図３】
2010041697.tif 000005
【図４】
2010041697.tif 000006
【図５】
2010041697.tif 000007
【図６】
2010041697.tif 000008
【図７】
2010041697.tif 000009
【図８】
2010041697.tif 000010
【図９】
2010041697.tif 000011
【図１０】
2010041697.tif 000012