(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-04
(45)【発行日】2023-04-12
(54)【発明の名称】ビデオノイズ除去方法、装置及びコンピュータ読み取り可能な記憶媒体
(51)【国際特許分類】
G06T 5/00 20060101AFI20230405BHJP
G06T 7/223 20170101ALI20230405BHJP
H04N 5/21 20060101ALI20230405BHJP
【FI】
G06T5/00 705
G06T7/223
H04N5/21
(21)【出願番号】P 2021564231
(86)(22)【出願日】2020-07-14
(86)【国際出願番号】 CN2020101806
(87)【国際公開番号】W WO2021017809
(87)【国際公開日】2021-02-04
【審査請求日】2021-10-30
(31)【優先権主張番号】201910691413.1
(32)【優先日】2019-07-29
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】516010548
【氏名又は名称】セインチップス テクノロジー カンパニーリミテッド
(74)【代理人】
【識別番号】100112656
【氏名又は名称】宮田 英毅
(74)【代理人】
【識別番号】100089118
【氏名又は名称】酒井 宏明
(72)【発明者】
【氏名】艾吉松
(72)【発明者】
【氏名】徐科
(72)【発明者】
【氏名】孔徳輝
(72)【発明者】
【氏名】王寧
(72)【発明者】
【氏名】劉欣
(72)【発明者】
【氏名】遊晶
(72)【発明者】
【氏名】朱方
【審査官】西谷 憲人
(56)【参考文献】
【文献】国際公開第2016/185708(WO,A1)
【文献】米国特許出願公開第2005/0094889(US,A1)
【文献】米国特許出願公開第2008/0239153(US,A1)
【文献】中国特許出願公開第102238316(CN,A)
【文献】米国特許出願公開第2009/0278961(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 5/00
G06T 7/223
H04N 5/21
(57)【特許請求の範囲】
【請求項1】
入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出することと、
算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて前記現在ビデオフレームのノイズ強度を決
定することと、
前記現在ビデオフレームのノイズ強度に基づいて、前記現在ビデオフレームをフィルタリングすることと、
を含
み、
前記の算出された平均分散に基づいて前記現在ビデオフレームのノイズ強度を決定することは、
前記算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として決定することと、
前記算出された平均分散が予め設定した分散値以上の場合、前記算出された平均分散を前記現在ビデオフレームのノイズ強度とすることと、
を含むことを特徴とするビデオノイズ除去方法。
【請求項2】
前記の各サブ画像ブロックのブロック分散を算出することは、
各サブ画像ブロックの空間分散を算出することと、
前記現在ビデオフレームにおける前記サブ画像ブロックと前記現在ビデオフレームの一つ前のビデオフレームにおける対応する位置のサブ画像ブロックとの時間領域分散を算出することと、
前記サブ画像ブロックのブロック分散として、前記空間分散と前記時間領域分散のうち小さい方の値を選択することと、
を含むことを特徴とする請求項1に記載の方法。
【請求項3】
前記の算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算することは、
前記現在ビデオフレームにおける全てのサブ画像ブロックのブロック分散を小さい方から大きい方にソートすることと、
ソートした後のn個前(nは1より大きい自然数)のサブ画像ブロックのブロック分散を累積し、累積したブロック分散とnとの比値を前記現在ビデオフレームにおける全てのサブ画像ブロックの平均分散とすることと、
を含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記の算出された平均分散に基づいて前記現在ビデオフレームのノイズ強度を決定した後、且つ、
前記現在ビデオフレームをフィルタリングする前に、さらに、
前記現在ビデオフレームと前記現在ビデオフレームの前のmフレームのビデオフレームのノイズ強度の平均値(mは1より大きい自然数)を算出することと、
算出されたノイズ強度の平均値を、前記現在ビデオフレームが平滑化されたノイズ強度とすることと、
を含むことを特徴とする請求項1に記載の方法。
【請求項5】
請求項1~
4のいずれか1項に記載のビデオノイズ除去方法を実現するように、少なくとも一つのプロセッサにより実行可能な少なくとも一つのプログラムを記憶した、
ことを特徴とするコンピュータ読み取り可能な記憶媒体。
【請求項6】
プロセッサ及びメモリを備え、
前記プロセッサ及び前記メモリは、電気的結合により接続され、
前記プロセッサは、前記メモリに記憶されたプログラムを実行して、請求項1~
4のいずれか1項に記載のビデオノイズ除去方法を実現するように設置される、
ことを特徴とするビデオノイズ除去装置。
【請求項7】
ノイズ統計モジュールと、ノイズ推定モジュールと、ビデオノイズ除去モジュールと、を備え、
前記ノイズ統計モジュールは、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出するように設置され、
前記ノイズ推定モジュールは、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて前記現在ビデオフレームのノイズ強度を決
定するように設置され、
前記ビデオノイズ除去モジュールは、
前記現在ビデオフレームのノイズ強度に基づいて、前記現在ビデオフレームをフィルタリングするように設置されている、
前記の算出された平均分散に基づいて前記現在ビデオフレームのノイズ強度を決定することは、
前記算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として決定することと、
前記算出された平均分散が予め設定した分散値以上の場合、前記算出された平均分散を前記現在ビデオフレームのノイズ強度とすることと、
を含む
ことを特徴とするビデオノイズ除去装置。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2019年7月29日に中国特許局に提出された中国特許出願201910691413.1に基づく優先権を主張し、その開示全体は援用により本願に組み込まれるものとする。
【技術分野】
【0002】
本願は、ビデオ処理の技術分野に関し、例えば、ビデオノイズ除去方法(video denoising method)、装置及びコンピュータ読み取り可能な記憶媒体に関する。
【背景技術】
【0003】
画像のノイズ除去は、常に画像処理分野において非常に重要な一方向であり、携帯電話による撮影の流れに伴い、撮影技術には既に天地がひっくり返るような変化が発生し、最初の専門のデジタル一眼レフカメラから、スマートフォン上のより簡易な自動カメラになっている。絞り及びセンサのサイズの制限により、スマートフォンが一眼レフカメラよりも多くのノイズが発生し、受信した画像やビデオが元の画像やビデオに比べて分解能が低下し、視覚的な効果のみならず、動態対象の取得や認識が必要な画像やビデオについては、取得や認識作業の正確性にも影響するため、より良好なノイズリダクションアルゴリズム(ノイズ除去アルゴリズム)を使用して画質の向上を図る必要がある。適応型ノイズ除去アルゴリズムは、いずれもノイズ強度の推定を行い、その後、動的にノイズ除去に関するパラメータを調整することで、ノイズの残留がなく画像の細部をできるだけ残すという効果を奏するが、現在のフレーム画像のノイズ強度に対する推定精度が低いという問題があった。
【0004】
ノイズ推定アルゴリズムには、主に以下の2種類がある。
【0005】
1種目は、現画像フレームに対してノイズ強度推定を行うことである。
そのステップは、下記の通りである。
1)推定待ち画像またはビデオフレーム画像を、サイズが一致するサブ画像ブロックに分割する。
2)得られたサブ画像ブロックのそれぞれを分散計算し、サブ画像ブロック毎の分散値を得る。
3)サブ画像ブロック毎の分散値から、一定割合の小さい分散を選んでノイズ強度推定を行い、さらに現画像フレームのノイズ強度を得る。
このようなアルゴリズムは、細部が豊富な画像では、誤差が比較的大きく、細部をノイズとして扱いやすい。
【0006】
2種目は、現フレームと前フレームに対してノイズ強度推定を行うことである。
そのステップは、下記の通りである。
1)推定待ちビデオの現フレーム画像と前フレーム画像とを、サイズが一致する1対1に対応するサブ画像ブロックに分割する。
2)得られた1対1に対応するサブ画像ブロックのそれぞれを差分計算し、サブ画像ブロック毎の分散値を得る。
3)サブ画像ブロック毎の分散値から、一定割合の小さい分散を選んでノイズ強度推定を行い、さらに現画像フレームのノイズ強度を得る。
このようなアルゴリズムは、ビデオの前後フレーム輝度が変化したり、前後フレームが大規模に動いたりする際に、誤判定が生じやすい。
【0007】
画像フレームに対するノイズ強度の推定にばらつきがあると、不合理なノイズ除去パラメータにより、1フレームが明るく、1フレームがぼけてしまったり、1フレームにノイズが残留し、1フレームにノイズが残留しないフリッカ現象が画像に現れてしまう。
【0008】
ビデオノイズ除去効果に優れたアルゴリズムは、例えば、ビデオブロックマッチングや3次元フィルタリング(Video Block-Matching and 3D filtering、 VBM3D)、ビデオブロックマッチングや4次元フィルタリング(Video Block-Matching and 4D filtering、 VBM4D)などのように、時間複雑度が比較的高く、ハードウェア資源代価が比較的高い。また、ノイズ除去アルゴリズムの多くはノイズに対する輝度の影響を考慮せず、1フレーム内の全画素点について統一的なノイズ除去強度を採用しており、このような処理はガウスノイズの特性に適合しない。
【発明の概要】
【発明が解決しようとする課題】
【0009】
本発明の実施形態は、ノイズ強度推定の精度を向上させることができるビデオノイズ除去方法および装置、コンピュータ読み取り可能な記憶媒体を提供する。
【課題を解決するための手段】
【0010】
本発明の実施形態は、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出することと、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択することと、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングすることと、を含むビデオノイズ除去方法を提供する。
【0011】
本発明の実施形態は、上記ビデオノイズ除去方法を実現するように、一つまたは複数のプロセッサにより実行可能な一つまたは複数のプログラムを記憶したコンピュータ読み取り可能な記憶媒体をさらに提供する。
【0012】
本発明の実施形態は、プロセッサ及びメモリを備え、前記プロセッサ及びメモリが電気的結合により接続され、前記プロセッサが、メモリに記憶されたプログラムを実行して、上記ビデオノイズ除去方法を実現するように設置されるビデオノイズ除去装置をさらに提供する。
【0013】
本発明の実施形態は、ノイズ統計モジュールと、ノイズ推定モジュールと、ビデオノイズ除去モジュールとを備え、ノイズ統計モジュールが、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出するように設置され、ノイズ推定モジュールが、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択するように設置され、ビデオノイズ除去モジュールが、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングするように設置されている、ビデオノイズ除去装置をさらに提供する。
【図面の簡単な説明】
【0014】
【
図1】
図1は、本発明の実施形態に係るビデオノイズ除去方法の流れの一例を示す図である。
【
図2】
図2は、本発明の実施形態に係る先入れ先出しキューによるノイズ強度の平滑化の原理を示す模式図である。
【
図3】
図3は、本発明の実施形態に係るビデオノイズ除去過程の流れの一例を示す図である。
【
図4】
図4は、本発明の実施形態に係る空間ノイズ除去過程の流れの一例を示す図である。
【
図5】
図5は、本発明の実施形態に係る動き補償による動きベクトルの算出原理図である。
【
図6】
図6は、本発明の実施形態に係る動き強度とブレンド係数のマッピング関係図である。
【
図7】
図7は、本発明の実施形態に係るビデオノイズ除去装置の構成例を示す図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施形態を説明する。図面のフローチャートに示すステップは、例えば、1組のコンピュータが命令を実行可能なコンピュータシステムにおいて実行されてもよい。また、フローチャートには論理的な順序が示されているが、場合によっては、ここで示したステップや記述するステップは、これとは異なる順序で実行されてもよい。
【0016】
図1に示すように、本発明の実施形態により提供されるビデオノイズ除去方法は、以下のステップを含む。
【0017】
ステップ101:入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出する。
【0018】
一種の例示的な実施形態において、各サブ画像ブロックのブロック分散を算出することは、前記各サブ画像ブロックの空間分散を算出することと、現在ビデオフレームにおける前記サブ画像ブロックと前記現在ビデオフレームの一つ前のビデオフレームにおける対応する位置のサブ画像ブロックとの時間領域分散を算出することと、前記サブ画像ブロックのブロック分散として、空間分散と時間領域分散のうち小さい方の値を選択することと、を含む。
【0019】
この実施形態では、ノイズ付きビデオフレームf_in(n)と一つ前のビデオフレームf_in(n-1)を入力し、f_in(n)とf_in(n-1)を、第1プリセット値に従って同じ大きさのサブ画像ブロックに分割し、f_in(n)の各サブ画像ブロックについてそれらの空間分散δsを算出し、f_in(n)の各サブ画像ブロックの画素値から、f_in(n-1)中の対応する位置のサブ画像ブロックの画素値を減算して、f_in(n)の各サブ画像ブロックの時間領域分散δtを得、f_in(n)における各サブ画像ブロックの最後の分散が、当該サブ画像ブロックの空間分散δsと時間領域分散δtとのうち小さい方の値である。
【0020】
ステップ102:算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択する。
【0021】
一種の例示的な実施形態において、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算することは、現在ビデオフレームにおける全てのサブ画像ブロックのブロック分散を小さい方から大きい方にソートする(並び替える)ことと、ソートした後のn個前(nは1より大きい自然数)のサブ画像ブロックのブロック分散を累積し、累積したブロック分散とnとの比値を現在ビデオフレームにおける全てのサブ画像ブロックの平均分散とすることと、を含む。
【0022】
この実施形態では、前記n個前のサブ画像ブロックは、現在ビデオフレームにおける全てのサブ画像ブロックのうち、N%前のサブ画像ブロックであってもよい。例えば、並び替え後のサブ画像ブロックのうち、10%前のサブ画像ブロックとしてもよい。
【0023】
一種の例示的な実施形態において、前記の算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定することは、算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として記録することと、算出された平均分散が予め設定した分散値以上の場合、算出された平均分散を現在ビデオフレームのノイズ強度とすることと、を含む。
【0024】
一種の例示的な実施形態において、前記の前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択する前に、前記方法はさらに、現在ビデオフレームとその前のmフレームのビデオフレームのノイズ強度の平均値(mは1より大きい自然数)を算出することと、算出されたノイズ強度の平均値を、現在ビデオフレームが平滑化されたノイズ強度とすることと、を含む。
【0025】
一種の例示的な実施形態において、前記フィルタリング強度は、空間フィルタリング強度および時間フィルタリング強度を含む。
【0026】
この実施例では、f_in(n)の各サブ画像ブロックの分散値を得た後、複数のサブ画像ブロックを分散値の小さい方から大きい方にソートして、第2プリセット値のサブ画像ブロックの分散を累積し、累積した分散と第2プリセット値の大きさに基づいて全てのサブ画像ブロックの平均分散を算出し、全てのサブ画像ブロックの平均分散が第3プリセット値よりも小さい場合に、0をFIFOに書き込み、そうでない場合には、サブ画像ブロックの平均分散を先入れ先出し(First Input First Output、FIFO)キューに書き込む。
図2に示すように、FIFOの深さは、16であってもよく、すなわち、直近の16フレームのノイズ強度データを記憶する。FIFOにおける全てのデータを加算平均して(Average value)、現在ビデオフレームの平滑化後のノイズ強度(noise level)を得た後、ノイズ強度の大きさに応じて、ノイズ強度に合わせた空間フィルタリング強度(Spatial denoise strength)、時間フィルタリング強度(temporal denoise strength)、及び対応するノイズ特性曲線(noise curve)を選択する。
【0027】
ステップ103:前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングする。
【0028】
一種の例示的な実施形態において、前記ステップ103は、空間フィルタリング強度及びノイズ特性曲線に基づいて、現在ビデオフレームに対して空間フィルタリングを行うことと、前記現在ビデオフレーム及び前記現在ビデオフレームの一つ前のビデオフレームから、当該現在ビデオフレームの各サブ画像ブロックの動き強度及び動きベクトルを推定することと、推定された動き強度から現在ビデオフレーム中の各画素ドットの重みを得て、推定された動きベクトルから一つ前のビデオフレームにおいて時間フィルタリングに関与する画素ドットの位置を得て、空間フィルタリングされた現在ビデオフレーム中の画素ドットと前記画素ドットに対応する動きベクトルが指向する一つ前のビデオフレーム中の画素ドットとを加重平均フィルタリングし、フィルタリングされた画素ドットを得ることと、を含む。
【0029】
一種の例示的な実施形態において、前記空間フィルタリングのアルゴリズムは、BM3Dノイズ除去アルゴリズムであり、BM3Dノイズ除去アルゴリズムのウィーナーフィルタ操作では、画素ドットの輝度値およびノイズ特性曲線に応じて、ウィーナー係数に対して該当する割合のスケーリング動作を行う。
【0030】
この実施形態では、
図3に示すように、前記ステップ103は、5つの相関動作を含み、即ち、空間ノイズ除去(Spatial denoise)、動き推定(Motion estimate)、動き検出(Moition detector)、ブレンド係数マッピング(motion2α)、およびブレンド(blending)であり、現在フィルタリング待ちビデオフレームf_in(n)、フィルタリング後の一つ前のビデオフレームf_out(n-1)、およびステップ102で出力された空間フィルタリング強度係数、時間フィルタリング強度係数、ノイズ特性曲線およびノイズ強度を入力する。
【0031】
空間ノイズ除去動作:
図4に示すように、本願の空間ノイズ除去動作は、BM3Dのノイズ除去アルゴリズムを採用してもよいが、本願は、そのアルゴリズムがビデオキャプチャ側で取り込んだノイズの特性により適合するように改良を加え、ウィーナーフィルタ(Wiener filter)操作において、画素ドットの輝度値およびノイズ特性曲線に応じて、ウィーナー係数に対して一定割合のスケーリング操作を行う。本願の空間ノイズ除去動作は、必ずしもBM3Dアルゴリズムである必要はなく、ガイドフィルタやダブルエッジフィルタなどのフィルタアルゴリズムも可能であるが、BM3Dアルゴリズムよりも処理効果が若干劣る。
【0032】
動き推定動作:現在フィルタリング待ちビデオフレームf_in(n)を、プリセット値に従ってブロック分割して、現在ビデオフレームの画像を一つ一つのサブ画像ブロックに分割し、サブ画像ブロックが重なっていてもよく、その後、サブ画像ブロック毎に、フィルタリング後の一つ前のビデオフレームf_out(n-1)における、対応位置が中心である一定探索範囲内の全てのサブ画像ブロックに対して、最小平均二乗誤差(Minimum Squared Error、 MSE)動作を行い、求めた最小のMSE値に対応するサブ画像ブロックを、現在ビデオフレームにおける現在サブ画像ブロックに対応する最適マッチングブロックとし、動きベクトルを、前フレーム画像における最適マッチングブロックの座標から現在サブ画像ブロックの座標値を減算するように設定する。
【0033】
動き検出動作:上記動き推定動作では、現在フィルタリング待ちビデオフレームにおける各サブ画像ブロックが、一つ前のビデオフレームにおいてそれに合わせた最適マッチングブロックを1つ有し、各サブ画像ブロックとそれに対応する最適マッチングブロックに対して、差分絶対値の総和(Sum of Absolute Difference SAD)処理を行う。
各サブ画像ブロックのSAD値をその動き強度値とし、ここで、(i,j)がフィルタリング待ち画素ドットの2次元座標であり、0≦i≦M、0≦j≦Nである。
【0034】
ブレンド係数マッピング動作:上記動き検出動作で求めた動き強度値に基づいて、
図6に示すようにマッピングすると、ブレンド係数αが得られ、
図6において横座標が動き強度値、縦座標がブレンド係数値である。ここで、ベースモーション(Base_motion)、ブレンドスロープ(blend_slope)、トップモーション(Top_motion)は、3つのプリセット値であり、この3つのプリセット値により、対応するマッピング関係を決定することができる。この3つのプリセット値は、線分の傾きが負の値、すなわち、動きが強いほど、ブレンド係数が小さくなることを確保しなければならなく、そうでないと、動きボケ、ひいてはゴーストが発生してしまう。
【0035】
ブレンド動作:ブレンド係数マッピング動作で得られたブレンド係数α、動き推定動作で得られた動きベクトル、および空間ノイズ除去動作で得られた空間フィルタリング後の画像に基づいて、加重平均により最後の出力画像を得ることができ、計算式は以下の通りである。
(i、j)は、フィルタリング待ち画素ドットの2次元座標であり、(mvi、mvj)は、フィルタリング待ち画素ドットの動きベクトルであり、nは、ビデオフレームシーケンスにおける第nフレームのビデオフレームであり、f_in_spa(n,i,j)は、空間フィルタリング後の第nフレームのビデオフレームのフィルタリング待ち画素ドットであり、f_out(n-1,i+mvi,j+mvj)は、フィルタリング後の第n-1フレームのビデオフレームの画素ドットである。
【0036】
関連技術に比べて、本発明の実施形態により提供されるビデオノイズ除去方法は、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出することと、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択することと、を含み、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングすることは、ノイズ強度推定の精度を効果的に高め、推定されたノイズ強度に応じて、合わせたフィルタリング強度およびノイズ特性曲線を選択することで、ノイズを効果的に除去できるとともに、ノイズ除去強度が大きすぎるために画像細部が失われてしまう問題を防止し、全体のノイズ除去効果に優れた性能を達成することができる。
【0037】
本発明の実施形態は、コンピュータ読み取り可能な記憶媒体をさらに提供し、前記コンピュータ読み取り可能な記憶媒体は、一つ又は複数のプログラムを記憶しており、前記一つ又は複数のプログラムは、以下の動作を実現するように、一つ又は複数のプロセッサによって実行することができる。即ち、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出することと、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択することと、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングすることである。
【0038】
一種の例示的な実施形態において、前記の各サブ画像ブロックのブロック分散を算出することは、各サブ画像ブロックの空間分散を算出することと、前記現在ビデオフレームにおける前記サブ画像ブロックと前記現在ビデオフレームの一つ前のビデオフレームにおける対応する位置のサブ画像ブロックとの間の時間領域分散を算出することと、前記サブ画像ブロックのブロック分散として、空間分散と時間領域分散のうち小さい方の値を選択することと、を含む。
【0039】
一種の例示的な実施形態において、前記の算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算することは、前記現在ビデオフレームにおける全てのサブ画像ブロックのブロック分散を小さい方から大きい方にソートする(並び替える)ことと、ソートした後のn個前(nは1より大きい自然数)のサブ画像ブロックのブロック分散を累積し、前記累積したブロック分散とnとの比値を前記現在ビデオフレームにおける全てのサブ画像ブロックの平均分散とすることと、を含む。
【0040】
一種の例示的な実施形態において、前記の算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定することは、前記算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として記録することと、前記算出された平均分散が予め設定した分散値以上の場合、算出された平均分散を前記現在ビデオフレームのノイズ強度とすることと、を含む。
【0041】
一種の例示的な実施形態において、前記の前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択する前に、前記動作はさらに、前記現在ビデオフレームとその前のmフレームのビデオフレームのノイズ強度の平均値(mは1より大きい自然数)を算出することと、算出されたノイズ強度の平均値を、前記現在ビデオフレームが平滑化されたノイズ強度とすることと、を含む。
【0042】
一種の例示的な実施形態において、前記フィルタリング強度は、空間フィルタリング強度および時間フィルタリング強度を含む。
【0043】
前記の前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングすることは、空間フィルタリング強度及び前記ノイズ特性曲線に基づいて、前記現在ビデオフレームに対して空間フィルタリングを行うことと、前記現在ビデオフレーム及び前記現在ビデオフレームの一つ前のビデオフレームから、現在ビデオフレームの各サブ画像ブロックの動き強度及び動きベクトルを推定することと、推定された動き強度から現在ビデオフレーム中の各画素ドットの重みを得て、推定された動きベクトルから一つ前のビデオフレームにおいて時間フィルタリングに関与する画素ドットの位置を得て、空間フィルタリングされた現在ビデオフレーム中の画素ドットと前記画素ドットに対応する動きベクトルが指向する一つ前のビデオフレーム中の画素ドットとを加重平均フィルタリングし、フィルタリングされた画素ドットを得ることと、を含む。
【0044】
一種の例示的な実施形態において、前記空間フィルタリングのアルゴリズムは、ブロックマッチングおよび3次元フィルタリングBM3Dノイズ除去アルゴリズムであり、且つ、BM3Dノイズ除去アルゴリズムのウィーナーフィルタ操作では、画素ドットの輝度値およびノイズ特性曲線に応じて、ウィーナー係数に対して該当する割合のスケーリング動作を行う。
【0045】
本発明の実施形態は、ビデオノイズ除去装置をさらに提供し、プロセッサ及びメモリを備え、前記プロセッサが、メモリに記憶されたプログラムを実行して、以下の動作を実現するために用いられる。すなわち、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出することと、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択することと、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングすることである。
【0046】
一種の例示的な実施形態において、前記の各サブ画像ブロックのブロック分散を算出することは、前記各サブ画像ブロックの空間分散を算出することと、前記現在ビデオフレームにおける前記サブ画像ブロックと前記現在ビデオフレームの一つ前のビデオフレームにおける対応する位置のサブ画像ブロックとの間の時間領域分散を算出することと、前記サブ画像ブロックのブロック分散として、空間分散と時間領域分散のうち小さい方の値を選択することと、を含む。
【0047】
一種の例示的な実施形態において、前記の算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算することは、前記現在ビデオフレームにおける全てのサブ画像ブロックのブロック分散を小さい方から大きい方にソートする(並び替える)ことと、ソートした後のn個前(nは1より大きい自然数)のサブ画像ブロックのブロック分散を累積し、前記累積したブロック分散とnとの比値を前記現在ビデオフレームにおける全てのサブ画像ブロックの平均分散とすることと、を含む。
【0048】
一種の例示的な実施形態において、前記の算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定することは、前記算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として記録することと、前記算出された平均分散が予め設定した分散値以上の場合、算出された平均分散を前記現在ビデオフレームのノイズ強度とすることと、を含む。
【0049】
一種の例示的な実施形態において、前記の前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択する前に、前記動作はさらに、前記現在ビデオフレームとその前のmフレームのビデオフレームのノイズ強度の平均値(mは1より大きい自然数)を算出することと、算出されたノイズ強度の平均値を、前記現在ビデオフレームが平滑化されたノイズ強度とすることと、を含む。
【0050】
一種の例示的な実施形態において、前記フィルタリング強度は、空間フィルタリング強度および時間フィルタリング強度を含む。
【0051】
前記の前記フィルタリング強度およびノイズ特性曲線に基づいて、前記現在ビデオフレームをフィルタリングすることは、空間フィルタリング強度及び前記ノイズ特性曲線に基づいて、前記現在ビデオフレームに対して空間フィルタリングを行うことと、前記現在ビデオフレーム及び前記現在ビデオフレームの一つ前のビデオフレームから、現在ビデオフレームの各サブ画像ブロックの動き強度及び動きベクトルを推定することと、推定された動き強度から現在ビデオフレーム中の各画素ドットの重みを得て、推定された動きベクトルから一つ前のビデオフレームにおいて時間フィルタリングに関与する画素ドットの位置を得て、空間フィルタリングされた現在ビデオフレーム中の画素ドットと前記画素ドットに対応する動きベクトルが指向する一つ前のビデオフレーム中の画素ドットとを加重平均フィルタリングし、フィルタリングされた画素ドットを得ることと、を含む。
【0052】
一種の例示的な実施形態において、前記空間フィルタリングのアルゴリズムは、ブロックマッチングおよび3次元フィルタリングBM3Dノイズ除去アルゴリズムであり、且つ、BM3Dノイズ除去アルゴリズムのウィーナーフィルタ操作では、画素ドットの輝度値およびノイズ特性曲線に応じて、ウィーナー係数に対して該当する割合のスケーリング動作を行う。
【0053】
図7に示すように、本発明の実施形態はビデオノイズ除去装置をさらに提供し、ノイズ統計モジュール701と、ノイズ推定モジュール702と、ビデオノイズ除去モジュール703と、を備えており、そのうち、ノイズ統計モジュール701は、入力ビデオフレームシーケンスにおける各ビデオフレームをサブ画像ブロック分割し、各サブ画像ブロックのブロック分散を算出し、算出されたサブ画像ブロックのブロック分散をノイズ推定モジュール702に出力するように設置され、ノイズ推定モジュール702は、算出されたブロック分散から現在ビデオフレームにおける全てのサブ画像ブロックの平均分散を計算し、算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定し、前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択するように設置され、ビデオノイズ除去モジュール703は、前記フィルタリング強度およびノイズ特性曲線に基づいて、現在ビデオフレームをフィルタリングするように設置されている。
【0054】
一種の例示的な実施形態において、前記の各サブ画像ブロックのブロック分散を算出することは、各サブ画像ブロックの空間分散を算出することと、前記現在ビデオフレームにおける前記サブ画像ブロックと前記現在ビデオフレームの一つ前のビデオフレームにおける対応する位置のサブ画像ブロックとの間の時間領域分散を算出することと、前記サブ画像ブロックのブロック分散として、空間分散と時間領域分散のうち小さい方の値を選択することと、を含む。
【0055】
一種の例示的な実施形態において、前記の算出されたサブ画像ブロックのブロック分散をノイズ推定モジュール702に出力することは、現在ビデオフレームにおける全てのサブ画像ブロックのブロック分散を小さい方から大きい方にソートする(並び替える)ことと、ソートした後のサブ画像ブロックのうちn個前(nは1より大きい自然数)のサブ画像ブロックのブロック分散を累積し、累積したブロック分散とnをノイズ推定ブロック702に出力することと、を含む。
【0056】
この実施形態では、ノイズ付き現在ビデオフレームf_in(n)とその一つ前のビデオフレームf_in(n-1)をノイズ統計モジュール701に入力し、ノイズ統計モジュール701は、第1プリセット値に従ってf_in(n)とf_in(n-1)を同じ大きさのサブ画像ブロックに分割し、f_in(n)の各サブ画像ブロックについてそれらの空間分散δsを算出し、f_in(n)の各サブ画像ブロックの画素値から、f_in(n-1)中の対応する位置のサブ画像ブロックの画素値を減算して、f_in(n)の各ブロックの時間領域分散δtを得、f_in(n)における各サブ画像ブロックの最後の分散が、当該サブ画像ブロックの空間分散δsと時間領域分散δtとのうち最小値とされ、f_in(n)における各サブ画像ブロックの分散値を得た後、複数のサブ画像ブロックを分散値の小さい方から大きい方にソートして、第2プリセット値に従って、第2プリセット値のサブ画像ブロックの分散を累積し、累積した分散と第2プリセット値の大きさを出力する。
【0057】
一種の例示的な実施形態において、前記の算出された平均分散に基づいて現在ビデオフレームのノイズ強度を決定することは、算出された平均分散が予め設定した分散値よりも小さい場合、前記現在ビデオフレームのノイズ強度を0として記録することと、算出された平均分散が予め設定した分散値以上の場合、算出された平均分散を現在ビデオフレームのノイズ強度とすることと、を含む。
【0058】
一種の例示的な実施形態において、前記の前記ノイズ強度に合わせたフィルタリング強度及びノイズ特性曲線を選択する前に、前記ノイズ推定モジュール702は、さらに、現在ビデオフレームとその前のmフレームのビデオフレームのノイズ強度の平均値(mは1より大きい自然数)を算出することと、算出されたノイズ強度の平均値を、現在ビデオフレームが平滑化されたノイズ強度とすることと、を行うように設置されている。
【0059】
一種の例示的な実施形態において、前記フィルタリング強度は、空間フィルタリング強度および時間フィルタリング強度を含む。
【0060】
図2に示すように、ノイズ推定モジュール702は、ノイズ統計モジュール701が出力した分散およびサブ画像ブロックの数を受信して、各サブ画像ブロックの平均分散を算出し、サブ画像ブロックの平均分散が第3プリセット値よりも小さい場合に、0をFIFOに書き込み、そうでない場合には、サブ画像ブロックの平均分散をFIFOに書き込む。FIFOの深さは、16であってもよく、すなわち、直近の16フレームのノイズ強度データを記憶する。FIFOにおける全てのデータを加算平均して、現在ビデオフレームの平滑化後のノイズ強度を得た後、ノイズ強度の大きさに応じて、ノイズ強度に合わせた空間フィルタリング強度、時間フィルタリング強度、及び対応するノイズ特性曲線を選択する。
【0061】
一種の例示的な実施形態において、ビデオノイズ除去モジュール703は、下記のように設置されている。すなわち、空間フィルタリング強度及びノイズ特性曲線に基づいて、現在ビデオフレームに対して空間フィルタリングを行うことと、現在ビデオフレーム及びその一つ前のビデオフレームから、現在ビデオフレームの各サブ画像ブロックの動き強度及び動きベクトルを推定することと、推定された動き強度から現在ビデオフレーム中の各画素ドットの重みを得て、推定された動きベクトルから一つ前のビデオフレームにおいて時間フィルタリングに関与する画素ドットの位置を得て、空間フィルタリングされた現在ビデオフレーム中の画素ドットと前記画素ドットに対応する動きベクトルが指向する一つ前のビデオフレーム中の画素ドットとを加重平均フィルタリングし、フィルタリングされた画素ドットを得ることである。
【0062】
一種の例示的な実施形態において、前記空間フィルタリングのアルゴリズムは、BM3Dノイズ除去アルゴリズムであってもよく、且つ、BM3Dノイズ除去アルゴリズムのウィーナーフィルタ操作では、画素ドットの輝度値およびノイズ特性曲線に応じて、ウィーナー係数に対して該当する割合のスケーリング動作を行う。
【0063】
この実施形態では、
図3に示すように、ビデオノイズ除去モジュール703の入力は、現在フィルタリング待ちビデオフレームf_in(n)、フィルタリング後の一つ前のビデオフレームf_out(n-1)、およびノイズ推定モジュール702で出力された空間フィルタリング強度係数、時間フィルタリング強度係数、ノイズ特性曲線およびノイズ強度である。ビデオノイズ除去モジュール703には、空間ノイズ除去サブモジュール、動き推定サブモジュール、動き検出サブモジュール、ブレンド係数マッピングサブモジュール、およびブレンドサブモジュールの5つのサブモジュールが含まれている。ここで、空間ノイズ除去サブモジュールは、ノイズ推定モジュール702から伝送してきた空間フィルタリング強度及びノイズ特性曲線に応じて、f_in(n)に対して空間フィルタリングを行って空間フィルタリングされた画像f_in_spa(n)を得る。動き推定サブモジュールは、入力された2フレーム画像から、f_in(n)中の各サブ画像ブロックの動きベクトル値を算出する。動き検出サブモジュールは、現在ビデオフレームf_in(n)中の全てのサブ画像ブロックをブロックの方式に基づいて動き検出し、各サブ画像ブロックの動き強度を得る。空間フィルタリング後の画像f_in_spa(n)、動き推定サブモジュールから出力された動きベクトル、動き検出サブモジュールから出力された動き強度情報を、時間フィルタ(ブレンド係数マッピングサブモジュールおよびブレンドサブモジュールを含む)に出力して時間フィルタリングを行い、時間フィルタは、動き強度情報から時間フィルタリングに関与する各画素ドットの重みを得て、動きベクトル情報から一つ前のビデオフレームにおいて時間フィルタリングに関与する画素ドットの位置を得た後、現在ビデオフレームの画素ドットと動きベクトルが指向する一つ前のビデオフレーム中の画素ドットとを加重平均フィルタリングし、フィルタリングされた最後の画素ドットを得る。複数のモジュールの動作原理は、以下の通りである。
【0064】
空間ノイズ除去サブモジュール:
図4に示すように、本願の空間ノイズ除去サブモジュールには、BM3Dのノイズ除去アルゴリズムを採用し、そのアルゴリズムを、ビデオキャプチャ側で取り込んだノイズの特性により適合するように改良を加え、本願は、ウィーナーフィルタ(Wiener filter)操作において、画素ドットの輝度値およびそのノイズ特性曲線に応じて、ウィーナー係数に対して一定割合のスケーリング操作を行う。本願の空間ノイズ除去サブモジュールは、必ずしもBM3Dアルゴリズムを使用する必要はなく、ガイドフィルタやダブルエッジフィルタなどのフィルタアルゴリズムも可能であるが、処理効果が若干劣る。
【0065】
動き推定サブモジュール:現在フィルタリング待ちビデオフレームf_in(n)を、プリセット値に従ってブロック分割して、f_in(n)の画像を一つ一つのサブ画像ブロックに分割し、サブ画像ブロックが重なっていてもよく、その後、サブ画像ブロック毎に、フィルタリング後の一つ前のビデオフレームf_out(n-1)における、対応位置が中心である一定探索範囲内の全てのサブ画像ブロックに対して、最小平均二乗誤差(MSE)動作を行い、求めた最小のMSE値に対応するサブ画像ブロックを、現在ビデオフレームにおける現在サブ画像ブロックに対応する最適マッチングブロックとし、動きベクトルを、前フレーム画像における最適マッチングブロックの座標から現在サブ画像ブロックの座標値を減算するように設定し、
図5に示す通りである。
【0066】
動き検出サブモジュール:動き推定サブモジュールが算出した現在フィルタリング待ちビデオフレームにおける各サブ画像ブロックが、一つ前のビデオフレームにおいてそれに合わせた最適マッチングブロックを1つ有し、各サブ画像ブロックとそれに対応する最適マッチングブロックに対して、SAD(差分絶対値の総和)処理を行う。
各サブ画像ブロックのSAD値をその動き強度値とし、ここで、(i,j)がフィルタリング待ち画素ドットの2次元座標であり、0≦i≦M、0≦j≦Nである。
【0067】
ブレンド係数マッピングサブモジュール:
図6に示すように、動き検出サブモジュールで算出された動き強度値に基づいてマッピングすると、ブレンド係数αが得られ、
図6において横座標が動き強度値、縦座標がブレンド係数値である。ここで、Base_motion、blend_slope、Top_motionは、3つのプリセット値であり、この3つのプリセット値により、対応するマッピング関係を決定することができる。この3つのプリセット値は、線分の傾きが負の値、すなわち、動きが強いほど、ブレンド係数が小さくなることを確保しなければならなく、そうでないと、動きボケ、ひいてはゴーストが発生してしまう。
【0068】
ブレンドサブモジュール:ブレンド係数マッピングサブモジュールで得られたブレンド係数α、動き推定サブモジュールで得られた動きベクトル、および空間ノイズ除去サブモジュールで得られた空間フィルタリング後の画像に基づいて、加重平均により最後の出力画像を得ることができ、計算式は以下の通りである。
(i、j)は、フィルタリング待ち画素ドットの2次元座標であり、(mvi、mvj)は、フィルタリング待ち画素ドットの動きベクトルであり、nは、ビデオフレームシーケンスにおける第nフレームのビデオフレームであり、f_in_spa(n,i,j)は、空間フィルタリング後の第nフレームのビデオフレームのフィルタリング待ち画素ドットであり、f_out(n-1,i+mvi,j+mvj)は、フィルタリング後の第n-1フレームのビデオフレームの画素ドットである。
【0069】
本発明の実施形態により提供されるビデオノイズ除去方法及び装置、コンピュータ読み取り可能な記憶媒体は、画像のノイズ推定方法とビデオノイズ除去方法とを組み合わせてノイズ除去を行うことにより、関連技術における画像のノイズ推定が不正確であることと、ノイズ除去性能と画像品質が両立できないという問題を解決した。本発明の実施形態において提案されているビデオノイズ除去方案は、ノイズ統計モジュール701、ノイズ推定モジュール702およびビデオノイズ除去モジュール703の3つのモジュールを備えている。ノイズ統計モジュール701は、入力ビデオフレームシーケンスに従ってブロック分割を行い、現在ビデオフレームのノイズ強度に関する情報を統計する。ノイズ推定モジュール702は、ノイズ統計モジュール701で統計したノイズ強度情報(主にブロック分散情報)に基づいて、一定の前処理を経た後、リアルタイムで調整したノイズ除去に関するパラメータ(空間ノイズ除去強度、時間領域ノイズ除去強度、ノイズ特性曲線、及びノイズ強度を含む)を選択してビデオノイズ除去モジュール703へ発信する。ビデオノイズ除去モジュール703は、ノイズ推定モジュール702がリアルタイムに発信するノイズ除去に関するパラメータに基づいて、ビデオノイズ除去を行う。
【0070】
本願に記載のビデオノイズ除去方案によれば、次のような利点がある。
【0071】
(1)ノイズ統計特性に基づいてノイズ強度推定を行い、ノイズ強度推定には2つの方式があり、1つはビデオの前後2フレームによる推定であり、もう1つは現在のビデオフレームに対するノイズ推定であり、2つのアルゴリズムは互いに検証され、正確度がより高くなる。
【0072】
(2)本願において算出されたノイズ強度情報は、(m+1)フレームの平均を実行し、得られたノイズ強度がより平滑であり、ノイズ強度の大幅な起伏に起因して、画像には1フレームが明るく、1フレームがぼけてしまったり、1フレームにノイズが残留し、1フレームにノイズが残留しないフリッカ現象は生じない。
【0073】
(3)本願では、空間BM3Dノイズ除去アルゴリズム、時間領域動き補償及び動き強度検出を組み合わせたアルゴリズムを採用しており、アルゴリズムの効果はより良く、複雑さはあまり高くなく、効果と複雑度との間で比較的良いバランスポイントをとる。
【0074】
(4)ノイズ分散が輝度に比例するという原理により、本願はノイズ特性曲線を導入し、ノイズ輝度に応じてノイズ除去強度を動的に調整することで、より優れたノイズ除去効果を達成した。