(57)【特許請求の範囲】
【請求項１】
デノイズ対象画像におけるデノイズの対象画素に対する比較元となるテンプレートと，デノイズ対象画像における探索形状内の探索先となる各探索点に対するテンプレートとのテンプレートマッチングを行い，テンプレート類似度に応じた重みと当該探索点における画素値の加重和によって対象画素のノイズを除去する画像処理方法であって，
前記デノイズ対象画像を用いてエッジ方向を算出するステップと，
算出されたエッジ方向を，前記探索形状の制限に用いる指標とし，前記エッジ方向に直交する方向の前記探索点の数が，前記エッジ方向に沿う前記探索点の数よりも少ない探索形状を設定するステップと，
前記テンプレートマッチングを，設定された探索形状内の各探索点に対してのみ行い，前記対象画素のノイズを除去する処理を実行するステップとを有する
ことを特徴とする画像処理方法。
【請求項２】
デノイズ対象画像におけるデノイズの対象画素に対する比較元となるテンプレートと，デノイズ対象画像における探索形状内の探索先となる各探索点に対するテンプレートとのテンプレートマッチングを行い，テンプレート類似度に応じた重みと当該探索点における画素値の加重和によって対象画素のノイズを除去する画像処理装置であって，
前記デノイズ対象画像を用いてエッジ方向を算出するエッジ方向検出部と，
算出されたエッジ方向を，前記探索形状の制限に用いる指標とし，前記エッジ方向に直交する方向の前記探索点の数が，前記エッジ方向に沿う前記探索点の数よりも少ない探索形状を設定する探索形状設定部と，
前記テンプレートマッチングを，設定された探索形状内の各探索点に対してのみ行い，前記対象画素のノイズを除去する処理を実行するフィルタ実行部とを備える
ことを特徴とする画像処理装置。
【請求項３】
ループフィルタを用いて映像を符号化または復号する映像符号化／復号方法であって，
前記ループフィルタは，復号画像におけるデノイズの対象画素に対する比較元となるテンプレートと，デノイズ対象画像における探索形状内の探索先となる各探索点に対するテンプレートとのテンプレートマッチングを行い，テンプレート類似度に応じた重みと当該探索点における画素値の加重和によって対象画素のノイズを除去する画像処理方法を用いて，復号画像のノイズを除去するフィルタであり，
前記復号画像を用いてエッジ方向を算出するステップと，
算出されたエッジ方向を，前記探索形状の制限に用いる指標とし，前記エッジ方向に直交する方向の前記探索点の数が，前記エッジ方向に沿う前記探索点の数よりも少ない探索形状を設定するステップと，
前記テンプレートマッチングを，設定された探索形状内の各探索点に対してのみ行い，前記対象画素のノイズを除去する処理を実行するステップとを実行する
ことを特徴とする映像符号化／復号方法。
【請求項４】
請求項３記載の映像符号化／復号方法において，
前記ループフィルタは，さらに，
前記復号画像を用いて，前記対象画素と対象画素の周辺画素との乖離度を算出するステップと，
前記乖離度を，前記テンプレート形状の制限に用いる指標とし，前記乖離度が高い領域のテンプレート形状は担保し，前記乖離度が低い領域のテンプレート形状を小さく制限するステップとを実行する
ことを特徴とする映像符号化／復号方法。
【請求項５】
ループフィルタを用いて映像を符号化または復号する映像符号化／復号装置であって，
前記ループフィルタは，復号画像におけるデノイズの対象画素に対する比較元となるテンプレートと，デノイズ対象画像における探索形状内の探索先となる各探索点に対するテンプレートとのテンプレートマッチングを行い，テンプレート類似度に応じた重みと当該探索点における画素値の加重和によって対象画素のノイズを除去する画像処理装置を用いて，復号画像のノイズを除去するフィルタであり，
前記復号画像を用いてエッジ方向を算出するエッジ方向検出部と，
算出されたエッジ方向を，前記探索形状の制限に用いる指標とし，前記エッジ方向に直交する方向の前記探索点の数が，前記エッジ方向に沿う前記探索点の数よりも少ない探索形状を設定する探索形状設定部と，
前記テンプレートマッチングを，設定された探索形状内の各探索点に対してのみ行い，前記対象画素のノイズを除去する処理を実行するフィルタ実行部とを備える
ことを特徴とする映像符号化／復号装置。
【請求項６】
請求項５記載の映像符号化／復号装置において，
前記ループフィルタは，さらに，
前記復号画像を用いて，前記対象画素と対象画素の周辺画素との乖離度を算出する乖離度検出部と，
前記乖離度を，前記テンプレート形状の制限に用いる指標とし，前記乖離度が高い領域のテンプレート形状は担保し，前記乖離度が低い領域のテンプレート形状を小さく制限するテンプレート形状設定部とを備える
ことを特徴とする映像符号化／復号装置。
【請求項７】
請求項１の画像処理方法をコンピュータに実行させるための画像処理プログラム。
【請求項８】
請求項３または請求項４記載の映像符号化／復号方法を，コンピュータに実行させるための映像符号化／復号プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，画像撮影時のノイズや劣化画像の劣化を軽減する画像処理技術に関するものである。
【背景技術】
【０００２】
本明細書において用いる各語句を，以下のように定義する。
【０００３】
・「探索形状」：テンプレートマッチングの対象とする当該画素周辺の各探索点の集合体，また，その集合体が形作る形状。
【０００４】
・「テンプレート形状」：テンプレートマッチングの際に当該画素と各探索点の類似度を計算する際に用いる画素群，また，その画素群が形作る形状。画素群は，当該画素周辺と各探索点周辺で同じ形状を用い，相対位置関係が同じ位置同士の画素値を比較する。
【０００５】
画像処理分野において，画像撮影時のノイズや劣化画像の劣化を軽減する手法として，様々なデノイズフィルタが提案されている。中でも，Ｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓ法によるデノイズフィルタ（非特許文献１参照）は，高いデノイズ効果を発揮することが知られている。Ｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓ法によるデノイズフィルタを，以下，ＮＬＭフィルタという。
【０００６】
図２６は，ＮＬＭのフィルタの説明図である。図２６において，正方形の１マスが探索点であり，これらの探索点の集合体が探索形状である。Ｐ0 はデノイズ対象画素，Ｐs は探索先における探索点の画素である。Ｔ0 およびＴs はテンプレート形状であり，比較元のテンプレート形状Ｔ0 と探索先のテンプレート形状Ｔs の形状は同一である。
【０００７】
ＮＬＭフィルタでは，比較元と探索先の各テンプレート形状Ｔ0 ，Ｔs 内の対応する各画素同士を比較して，テンプレート類似度を算出する。テンプレート類似度の計算には，一般的にＳＳＤ（Sum of Square Difference）やＳＡＤ（Sum of Absolute Difference）が用いられる。
【０００８】
図２７は，ＮＬＭフィルタ実行部の入出力を示す図である。ＮＬＭフィルタ実行部１０００は，基本的には，デノイズ対象画像，探索形状，テンプレート形状，デノイズ係数の４つの情報を入力として，デノイズ後の結果画像を生成する。デノイズ係数は，ノイズが付与される前の原画像がある場合には，分散を代表値として与えるが，原画像がない場合には，ユーザが適当な値を設定する。
【０００９】
ＮＬＭフィルタ実行部１０００は，次のように各画素についてデノイズ後の画素値を算出する。以下では，テンプレート類似度の計算にＳＳＤを用いた例を説明する。
（１）重み値合計の変数ＳＷを０，画素値合計の変数ＳＰを０に初期化する。
（２）探索形状内のすべての各探索点に対して，以下の処理を繰り返す。
（２−１）テンプレート類似度としてＳＳＤを算出する。
（２−２）重み値Ｗ＝ｅｘｐ（−ＳＳＤ／デノイズ係数）
（２−３）重み値合計ＳＷ＝重み値合計ＳＷ＋重み値Ｗ
（２−４）画素値合計ＳＰ＝画素値合計ＳＰ＋重み値Ｗ×（探索点の画素値）
（３）探索形状内のすべての探索点について（２）の処理を終えたならば，デノイズ対象画素のデノイズ後の画素値を，次式により求める。
【００１０】
（デノイズ後の画素値）＝画素値合計ＳＰ／重み値合計ＳＷ
ＮＬＭフィルタ実行部１０００は，入力されるデノイズ係数，探索形状，テンプレート形状として単一の値が与えられた場合には，デノイズ対象画像の全画素に対して，単一の値や形状でデノイズ処理を行い，画素ごとに対応付けられるデータ群が与えられた場合には，対応点ごとに値や形状を切り替えてデノイズ処理を行う。
【００１１】
また，“ＭＰＥＧ”や“ＶＣＥＧ”にて現在国際標準化活動が行われている次世代映像符号化標準方式の“High Efficiency Video Coding”の雛形（Ｔｅｓｔ  Ｍｏｄｅｌ）である“ＨＭ”には，符号化歪を除去するためにデブロッキングフィルタによるデノイズフィルタが搭載されている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】A. Buades, B. Coll, and J. M. Morel,“A non-local algorithm for image denoising ”, Proc. IEEE Int. Conf. on Computer Vision and Pattern Recognition, vol. 2, pp. 60-65, June, 2005.
【非特許文献２】Thomas Wiegand, Woo-Jin Han, Benjamin Bross, Jens-Rainer Ohm, Gary J. Sullivan, “WD1: Working Draft 1 of High-Efficiency Video Coding", ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 3rd Meeting: Guangzhou, CN, 7-15 October, 2010.
【発明の概要】
【発明が解決しようとする課題】
【００１３】
前述のように次世代映像符号化標準方式の“High Efficiency Video Coding”の“ＨＭ”には，符号化歪を除去するためにデブロッキングフィルタによるデノイズフィルタが搭載されているが，上記ＮＬＭフィルタをＨＭに導入すれば，従来のデブロッキングフィルタよりも符号化効率を高めることができると考えられる。
【００１４】
しかし，ＮＬＭフィルタは演算量が膨大であり，そのため，復号装置でＮＬＭフィルタをすべての画素に対して計算すると，復号に要する計算時間が大きく増加してしまうおそれがある。
【００１５】
前述したように，デノイズ対象画素一つ一つに対して，任意の探索形状内の探索点各点に対し，任意のテンプレート形状にてテンプレートマッチングを行い，テンプレート類似度の計算を行う。そのため，例えばテンプレート形状がＮ×Ｎブロック，探索形状がＭ×Ｍであると仮定すると，１画素のデノイズ計算を行うためにＮ2 ×Ｍ2 オーダーの演算量が必要になる。したがって，ＮＬＭフィルタを復号装置等で用いるためには，この演算量を削減する技術が必要とされる。
【００１６】
本発明は，以上の課題の解決を図り，符号化効率の低下を抑えつつ，デノイズフィルタの演算量を削減する技術を提供することを目的とする。なお，ここで符号化効率としては，例えば画質と符号量から計算される国際的な評価手法の一つであるＢＤ−ｒａｔｅを用いる。
【課題を解決するための手段】
【００１７】
本発明は，上記課題を解決するため，デノイズ対象画像におけるデノイズの対象画素に対する比較元となるテンプレートと，デノイズ対象画像における探索形状内の探索先となる各探索点に対するテンプレートとのテンプレートマッチングを行い，テンプレート類似度に応じた重みと当該探索点における画素値の加重和によって対象画素のノイズを除去する画像処理において，以下の処理を実行することを特徴とする。
（１）前記デノイズ対象画像を用いてエッジ方向を算出する。
（２）算出されたエッジ方向を，前記探索形状の制限に用いる指標とし，前記エッジ方向に直交する方向の前記探索点の数が，前記エッジ方向に沿う前記探索点の数よりも少ない探索形状を設定する。
（３）前記テンプレートマッチングを，設定された探索形状内の各探索点に対してのみ行い，前記対象画素のノイズを除去する処理を実行する。
【００１８】
また，本発明は，上記画像処理を，映像符号化または復号におけるループフィルタ（従来のデブロッキングフィルタに相当）に適用することを特徴とする。
【００１９】
さらに，本発明は，上記画像処理を，映像符号化または復号におけるループフィルタに適用するにあたって，上記処理（１）〜（３）に加えて，以下の処理を実行することを特徴とする。
（４）復号画像を用いて，前記対象画素と対象画素の周辺画素との乖離度を算出する。
（５）前記乖離度を，前記テンプレート形状の制限に用いる指標とし，前記乖離度が高い領域のテンプレート形状は担保し，前記乖離度が低い領域のテンプレート形状を小さく制限する処理を実行する。
【００２０】
また，さらに以下の（６）の処理を付け加えてもよい。
（６）処理（５）で制限したテンプレート形状において過剰に割り当てられていた領域を検出し，テンプレート形状の再設定によりテンプレート形状をさらに制限する。
【００２１】
以上のように，処理（１）では，デノイズ対象画像におけるエッジの方向を検出し，処理（２）では，処理（１）のエッジ方向に沿う方向の探索点は担保し，エッジ方向と垂直な方向の探索点を削減するように，デノイズ対象画像における各画素ごとに探索形状を制限する。これにより，デノイズフィルタの演算量を削減することができる。
【００２２】
また，以上の画像処理を，映像符号化／復号処理と組み合わせて，ループフィルタに適用することにより，符号化効率の低下を抑えたループフィルタの演算量削減が可能となる。さらに，上記処理（４），（５）により，従来は画面全体に対して固定値で一意に与えられていたテンプレート形状に対して，画素ごとにテンプレート形状を制限する処理を導入し，テンプレートマッチングにおける演算量を削減することができる。また，さらに処理（６）を実行すれば，演算量のさらなる削減が可能になる。
【発明の効果】
【００２３】
本発明の効果として，以下が挙げられる。
【００２４】
１．デノイズフィルタの演算量削減
本発明によれば，探索形状を制限し，テンプレートマッチング対象の探索点数を削減することにより，テンプレートマッチングの計算回数が減少し，演算量の削減が可能になる。
【００２５】
２．映像符号化／復号を組み合わせた際に実現できるデノイズフィルタの演算量削減
また，本発明によれば，映像符号化／復号におけるループフィルタに適用することにより，符号化効率の低下を抑えた演算量の削減を実現することができる。
【００２６】
さらに，テンプレート形状を制限し，テンプレート内画素同士の比較計算を行う画素数を削減する処理を導入すれば，画素同士の比較計算回数が減少し，演算量を削減することができる。すなわち，探索領域を制限する手法とテンプレート形状を制限する手法とを組み合わせると，探索点における各点にてテンプレートマッチングを行うため，制限された探索形状内でさらに制限されたテンプレート形状の計算が行われることになり，演算量を相乗的に削減することができる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１実施形態に係る画像処理装置の構成例を示す図である。
【図２】第１実施形態の画像処理装置の処理フローチャートである。
【図３】探索形状の削減によるデノイズフィルタの演算量の削減を説明する図である。
【図４】本発明の第２実施形態に係る画像処理装置の構成例を示す図である。
【図５】第２実施形態の画像処理装置の処理フローチャートである。
【図６】本発明の第３実施形態に係る画像処理装置の構成例を示す図である。
【図７】エッジ方向検出方法の例を説明する図である。
【図８】エッジ方向番号に応じた探索形状の設定例を示す図である。
【図９】ラジアン角に応じた探索形状の設定例を示す図である。
【図１０】本発明の第５実施形態に係る画像処理装置の構成例を示す図である。
【図１１】第５実施形態の画像処理装置の処理フローチャートである。
【図１２】テンプレート形状設定部によるテンプレート形状の制限の例を説明する図である。
【図１３】本発明の第６実施形態に係る画像処理装置の構成例を示す図である。
【図１４】第６実施形態の画像処理装置の処理フローチャートである。
【図１５】乖離度検出方法の例を説明する図である。
【図１６】乖離度のヒストグラムと閾値／領域設定の関係を示す図である。
【図１７】積分比に応じたサンプリング数の設定の例を説明する図である。
【図１８】テンプレート形状の再設定方法の例を説明する図である。
【図１９】本発明を適用した映像符号化装置の構成例を示す図である。
【図２０】映像符号化装置の処理フローチャートである。
【図２１】映像符号化装置の処理フローチャートである。
【図２２】本発明を適用した映像復号装置の構成例を示す図である。
【図２３】映像復号装置の処理フローチャートである。
【図２４】映像復号装置の処理フローチャートである。
【図２５】本発明をソフトウェアプログラムを用いて実施する場合のシステムの構成例を示す図である。
【図２６】ＮＬＭのフィルタの説明図である。
【図２７】ＮＬＭフィルタ実行部の入出力を示す図である。
【発明を実施するための形態】
【００２８】
以下，図面を用いながら，本発明の実施の形態を説明する。
【００２９】
〔第１実施形態〕
図１は，本発明の第１実施形態に係る画像処理装置の構成例を示す図である。画像処理装置１０は，エッジ方向検出部１０２，探索形状設定部１０３，ＮＬＭフィルタ実行部１０４からなるデノイズフィルタ処理部１０１を備える。
【００３０】
この画像処理装置１０では，デノイズフィルタ処理部１０１は，デノイズ係数，探索形状，テンプレート形状，デノイズ対象画像の４情報を入力し，フィルタ後のノイズが除去された画像を出力する。
【００３１】
エッジ方向検出部１０２は，デノイズ対象画像のエッジ方向を検出し，デノイズ対象画像における各画素に対応付けられたエッジ方向群を出力する。エッジ方向の例としては，方向ごとに番号付けされた番号群や角度群などが挙げられる。
【００３２】
探索形状設定部１０３は，探索形状を入力し，入力した探索形状を最大形状として，デノイズ対象画像における各画素に対応付けられた探索形状群を出力する。画素ごとの探索形状群は，エッジ方向に沿う方向の探索点数を担保し，エッジ方向に垂直な方向の探索点を削減した形状とする。
【００３３】
ＮＬＭフィルタ実行部１０４は，デノイズ対象画像，デノイズ係数，テンプレート形状，および探索形状設定部１０３が設定した画素ごとの探索形状群を入力し，デノイズ後の画像を出力する。このＮＬＭフィルタ実行部１０４が行う処理は，非特許文献１に示されている従来のＮＬＭフィルタの処理と同様である。
【００３４】
図２は，図１に示す画像処理装置１０の処理フローチャートである。まず，ステップＳ１０１では，デノイズフィルタ処理部１０１が，外部からの入力により，デノイズ係数，デノイズ対象画像，探索形状，テンプレート形状の各情報を取得する。
【００３５】
ステップＳ１０２では，エッジ方向検出部１０２が，デノイズ対象画像のエッジ方向を検出し，エッジ方向群を出力する。次に，ステップＳ１０３では，探索形状設定部１０３が，エッジ方向検出部１０２により検出したエッジ方向に応じて，入力された探索形状を制限し，画素ごとの探索形状群を出力する。出力する探索形状群の探索形状は，入力された探索形状を最大とし，それよりも小さい探索形状である。最後に，ステップＳ１０４では，ＮＬＭフィルタ実行部１０４が，設定された情報に応じてＮＬＭフィルタを実行し，フィルタ後の結果画像を出力する。
【００３６】
図３は，探索形状の削減によるデノイズフィルタの演算量の削減を説明する図である。図３において，Ｐ0 はデノイズ対象画素，Ｅは検出されたエッジ方向，Ｑ0 は削減前の探索形状，Ｑ1 は削減後の探索形状を表している。
【００３７】
従来，例えば図３（Ａ）のように，探索形状Ｑ0 は，画面全体に対して固定値で一意に与えられていたのに対し，本実施形態では，エッジ方向検出部１０２によって，デノイズ対象画像におけるエッジ方向Ｅを検出し，探索形状設定部１０３によって，図３（Ｂ）に示すように，エッジ方向Ｅに沿う方向の探索点を担保し，エッジ方向Ｅと垂直な方向の探索点を削減した探索形状Ｑ1 を設定することにより，画素ごとに探索形状を制限する処理を導入する。
【００３８】
なお，テンプレートマッチングにおいては，デノイズ対象画素Ｐ0 は計算対象から除外する。これはテンプレート類似度の指標であるＳＳＤやＳＡＤは必ず０になり，図２７で説明したＮＬＭフィルタ処理における重み値として，必ずＷ＝１．０が出力されるためである。したがって，削減前の探索形状Ｑ0 に対するテンプレートマッチングの回数は４８回であるのに対し，削減後の探索形状Ｑ1 に対するテンプレートマッチングの回数は２４回となり，演算量が約５０％減少することになる。
【００３９】
〔第２実施形態〕
図４は，本発明の第２実施形態に係る画像処理装置の構成例を示す図である。画像処理装置１１は，エッジ方向検出部１１２，探索形状設定部１１３，ＮＬＭフィルタ実行部１１４からなるデノイズフィルタ処理部１１１を備えるとともに，デノイズ係数算出部１１５を備える。
【００４０】
この画像処理装置１１は，ノイズが付与される前の原画像を入力してデノイズ係数を算出するデノイズ係数算出部１１５が備わっている点が，第１実施形態に係る画像処理装置１０と異なる。デノイズフィルタ処理部１１１の構成は，第１実施形態のデノイズフィルタ処理部１０１の構成と同様である。
【００４１】
図５は，図４に示す画像処理装置１１の処理フローチャートである。まず，ステップＳ１１１では，画像処理装置１１が，外部からの入力により，原画像，デノイズ対象画像，探索形状，テンプレート形状の各情報を取得する。
【００４２】
ステップＳ１１２では，デノイズ係数算出部１１５が，入力した原画像とデノイズ対象画像の分散からデノイズ係数を算出し，算出したデノイズ係数をＮＬＭフィルタ実行部１１４へ通知する。ステップＳ１１３では，エッジ方向検出部１１２が，デノイズ対象画像のエッジ方向を検出し，エッジ方向群を出力する。次に，ステップＳ１１４では，探索形状設定部１１３が，エッジ方向検出部１１２により検出したエッジ方向に応じて，入力された探索形状を制限し，画素ごとの探索形状群を出力する。出力する探索形状群の探索形状は，入力された探索形状を最大とし，それよりも小さい探索形状である。最後に，ステップＳ１１６では，ＮＬＭフィルタ実行部１１４が，設定された情報に応じてＮＬＭフィルタを実行し，フィルタ後の結果画像を出力する。
【００４３】
〔第３実施形態〕
図６は，本発明の第３実施形態に係る画像処理装置の構成例を示す図である。画像処理装置１２は，エッジ方向検出部１２２，探索形状設定部１２３，ＮＬＭフィルタ実行部１２４，探索形状記憶部１２５，テンプレート形状記憶部１２６からなるデノイズフィルタ処理部１２１を備える。
【００４４】
この画像処理装置１２は，デノイズ係数およびデノイズ対象画像だけを入力し，探索形状およびテンプレート形状については，デノイズフィルタ処理部１２１が保有している固定値を用いる点が，上述した第１実施形態に係る画像処理装置１０と異なる。
【００４５】
すなわち，デノイズフィルタ処理部１２１は，探索形状およびテンプレート形状を外部から入力する代わりに，探索形状記憶部１２５，テンプレート形状記憶部１２６にそれぞれ記憶している固定の探索形状，テンプレート形状を用いる。エッジ方向検出部１２２，探索形状設定部１２３，ＮＬＭフィルタ実行部１２４の構成は，第１実施形態で説明したものと同様である。
【００４６】
〔第４実施形態〕
前述した第３実施形態では，探索形状およびテンプレート形状の双方を，デノイズフィルタ処理部１２１が固定値として保有しているが，探索形状およびテンプレート形状のうちの一方だけを固定値として保有し，他方を外部からの入力として可変にする実施も可能である。また，第３実施形態において，さらに第２実施形態のように，デノイズ係数算出部を設けて，デノイズ係数を原画像から算出する実施形態を採ることもできる。基本的な処理の流れは，第１実施形態，第２実施形態で説明した例と同様であるので，その詳細な処理の説明は省略する。
【００４７】
〔エッジ方向検出方法の例１〕
エッジ方向検出部１０２，１１２，１２２におけるエッジ方向検出方法の例の一つとして，復号画像に対してソーベルフィルタを適用することによってエッジ方向を検出し，方向ごとに割り当てた番号を出力する例を挙げる。
【００４８】
図７は，そのエッジ方向検出方法の例を説明する図である。周辺画素に対して，図７（Ａ）に示すソーベルオペーレータを適用し，検出したエッジ方向に応じて，図７（Ｂ）に示すように，番号ＶｅｃＩｎｄｅｘ（０〜１０）を割り当てる。このとき，閾値Ｔｈを１つ設定し，ｘ軸，ｙ軸それぞれの成分（ｄｘ，ｄｙ）の絶対値和が閾値Ｔｈ以下であれば，該当画素には強いエッジが存在しないものとしてＶｅｃＩｎｄｅｘに０番を割り当て，番号をエッジ方向群として出力する。
【００４９】
図７（Ｃ）は，その番号を割り当てるアルゴリズムを示している。
・｜ｄｘ｜＋｜ｄｙ｜＜Ｔｈならば，ＶｅｃＩｎｄｅｘ＝０とする。
・上記に該当せず，ｄｙ＝０ならば，ＶｅｃＩｎｄｅｘ＝６とする。
・上記に該当せず，ｄｘ／ｄｙ＜−８．０であれば，ＶｅｃＩｎｄｅｘ＝６とする。
・上記に該当せず，ｄｘ／ｄｙ＜−２．０であれば，ＶｅｃＩｎｄｅｘ＝７とする。
・上記に該当せず，ｄｘ／ｄｙ＜−１．０であれば，ＶｅｃＩｎｄｅｘ＝８とする。
・上記に該当せず，ｄｘ／ｄｙ＜−０．５であれば，ＶｅｃＩｎｄｅｘ＝９とする。
・上記に該当せず，ｄｘ／ｄｙ＜−０．１２５であれば，ＶｅｃＩｎｄｅｘ＝１０とする。
・上記に該当せず，ｄｘ／ｄｙ＜０．１２５であれば，ＶｅｃＩｎｄｅｘ＝１とする。
・上記に該当せず，ｄｘ／ｄｙ＜０．５であれば，ＶｅｃＩｎｄｅｘ＝２とする。
・上記に該当せず，ｄｘ／ｄｙ＜１．０であれば，ＶｅｃＩｎｄｅｘ＝３とする。
・上記に該当せず，ｄｘ／ｄｙ＜２．０であれば，ＶｅｃＩｎｄｅｘ＝４とする。
・上記に該当せず，ｄｘ／ｄｙ＜８．０であれば，ＶｅｃＩｎｄｅｘ＝５とする。
・上記のどれにも該当しない場合，ＶｅｃＩｎｄｅｘ＝６とする。
【００５０】
ＤＣＴによるモスキートノイズや撮像時のノイズの影響を軽減するため，また，演算量削減のため，入力とするデノイズ対象画像に対して等倍画像ではなく，縦横１／Ｎに縮小した画像に対するソーベルフィルタの適用も効果的である。
【００５１】
１／Ｎに縮小した画像に対してソーベルフィルタを適用した場合，算出したソーベルフィルタの出力結果は，縮小時に使用した複数の画素群の代表値として扱う。
【００５２】
〔探索形状設定方法の例１〕
探索形状設定部１０３，１１３，１２３における探索形状設定方法の例の一つとして，図７で説明したエッジ方向番号ＶｅｃＩｎｄｅｘのエッジ方向群を用いて，装置から与えられる基準探索形状が５×５ブロックの全点を対象とする場合の探索形状の削減方法の例を説明する。
【００５３】
探索形状設定部１０３，１１３，１２３は，エッジ方向検出部１０２，１１２，１２２から受け取るエッジ方向群に応じて，図８に示す探索点を設定する。図８の５×５ブロックにおいて，ハッチングで示した部分が削減後の探索形状となる。
【００５４】
このようにする理由は，以下のとおりである。ＮＬＭフィルタの計算手法として，テンプレートマッチングでテンプレート類似度の指標となるＳＳＤやＳＡＤを算出し，その指標に対してｅｘｐｏｎｅｎｔｉａｌゲインの重みを設定する仕組みをとる。そのため顕著なエッジ周辺では，エッジに沿う方向にサンプリングを行えば効果的に類似度の高い位置を見つけることができる。一方，エッジから離れると類似度が大きく下がってしまうため，重みは小さな値となり，加重和計算時の影響力が小さい。したがって，エッジに沿う方向にサンプリングを集中させることで，デノイズ効果の悪化を抑制しながら演算量を抑えることができる。
【００５５】
なお，図８の例では，５×５ブロックの中心位置ではテンプレート類似度の指標として扱うＳＳＤ／ＳＡＤは必ずゼロになるため，この点は計算対象外となる。ゆえに，５×５ブロックの全点を探索点とした場合に計２４点が計算対象となるのに対し，ＶｅｃＩｎｄｅｘ＝０では１／３，それ以外では５／１２の演算量になる。すべてのＶｅｃＩｎｄｅｘが均等に出現した場合，理論値では２／５強となる。
【００５６】
〔シミュレーション結果〕
上記エッジ検出方法の例１および探索形状設定方法の例１に記載した手法を用いて，縦横１／２画像を対象として２×２ブロックごとにエッジ方向を算出し，下記の設定にてシミュレーションを行った結果は，次のとおりであった。なお，デノイズ係数はＮＬＭフィルタを複数回繰り返し，ＰＳＮＲを最大となるように反復計算を行った最良の値である。      
【００５７】
デノイズ対象画像には，下記の各シーケンスの輝度信号に対して＋５〜−５までのランダムなノイズを加え，フィルタ後のＰＳＮＲ−Ｙと処理時間の各平均値にて評価を行った。
【００５８】
＜シミュレーション条件＞
・シーケンス： BasketballDrive，BQTerrace ，Cactus，ParkScene 
（Ｆｕｌｌ−ＨＤ：１９２０×１０８０）
・対象フレーム：先頭各１０フレーム
・探索形状：５×５ブロック
・テンプレート形状：３×３ブロック
＜ＮＬＭフィルタに要する平均処理時間＞
【００５９】
【表１】
0005291133.tif 000002
【００６０】
表１から，縦横１／２画像を対象としたエッジ方向検出と２×２ブロックごとに発生する方向適用による条件分岐の影響のため，これらの影響による遅延が発生するが，ＰＳＮＲを大きく下げずに，フィルタ全体の所要時間は平均約４５％にまで削減できていることがわかる。中にはエッジ方向に集中的にサンプリングしたほうが，平均的にＰＳＮＲが高まるシーケンスも見られる。
【００６１】
〔エッジ方向検出方法の例２〕
エッジ方向検出部１０２，１１２，１２２におけるエッジ方向検出方法の他の例として，デノイズ対象画像に対してソーベルフィルタを適用することによってエッジ方向を検出し，ラジアン角（Ｒａｄｉａｎ）を出力する例を挙げる。周辺画素に対して，前述した図７（Ａ）に示すソーベルオペーレータを適用し，ｘ軸，ｙ軸のそれぞれの成分（ｄｘ，ｄｙ）からａｒｃｔａｎ（−π／２〜π／２）を用いてラジアン角を計算する。このとき，ｄｘ，ｄｙの絶対値和が閾値Ｔｈ以下であれば，ａｒｃｔａｎ（−π／２〜π／２）の出力範囲以外の値（ＥＸatan：例えば１００など) を設定する。
【００６２】
すなわち，ラジアン角（Ｒａｄｉａｎ）を次のように定める。
・｜ｄｘ｜＋｜ｄｙ｜＜Ｔｈの場合，Ｒａｄｉａｎ＝ＥＸatanとする。
・上記に該当せず，ｄｙ＝０であれば，Ｒａｄｉａｎ＝π／２とする。
・他の場合，Ｒａｄｉａｎ＝ａｒｃｔａｎ（ｄｘ／ｄｙ）とする。
【００６３】
〔探索形状設定方法の例２〕
探索形状設定部１０３，１１３，１２３における探索形状設定方法の他の例として，エッジ検出方法の例２で説明したラジアン角で与えられるエッジ方向群を用いて，装置から与えられる探索形状がＮ×Ｎブロックの全点を対象とする場合の探索形状を削減する方法の例を説明する。
【００６４】
図９は，ラジアン角に応じた探索形状の設定例を示す図である。探索形状設定部１０３，１１３，１２３は，エッジ方向検出部１０２，１１２，１２２から受け取るラジアン角に応じて，図９に示した円または楕円内の探索点を，探索形状として設定する。
【００６５】
ラジアン角（Ｒａｄｉａｎ）がＥＸatanの場合，図９（Ａ）に示すように，設定形状の直径が（Ｎ−１）となる円内の探索点を探索形状として設定する。
【００６６】
また，ラジアン角（Ｒａｄｉａｎ）がＥＸatan以外の場合，図９（Ｂ）に示すように，設定形状の長径が（Ｎ×２1/2 ），短径が（Ｎ×２-1/2）となる楕円内の探索点を探索形状として設定する。
【００６７】
〔第５実施形態〕
図１０は，本発明の第５実施形態に係る画像処理装置の構成例を示す図である。画像処理装置１３は，エッジ方向検出部１３２，探索形状設定部１３３，ＮＬＭフィルタ実行部１３４，探索形状記憶部１３５，テンプレート形状記憶部１３６，デノイズ係数設定部１３７，乖離度検出部１３８，テンプレート形状設定部１３９からなるデノイズフィルタ処理部１３１を備える。
【００６８】
第５実施形態は，映像符号化装置または映像復号装置におけるループフィルタとして用いる画像処理装置１３の例を示している。デノイズフィルタ処理部１３１におけるエッジ方向検出部１３２，探索形状設定部１３３，ＮＬＭフィルタ実行部１３４，探索形状記憶部１３５，テンプレート形状記憶部１３６の基本的な機能は，前述した第１〜第４実施形態と同様である。
【００６９】
デノイズ係数設定部１３７は，外部から与えられる基準となるデノイズ係数と符号化情報とを用いて，デノイズ対象画像の各画素位置に対応付けられるデノイズ係数を生成する。一般に中〜低レートでは，予測処理単位のＰｒｅｄｉｃｔｉｏｎＵｎｉｔや変換処理単位のＴｒａｎｓｆｏｒｍＵｎｉｔの各ユニット境界にてブロックノイズが目立ち始めるため，符号化情報を用いて，これら境界近傍の画素位置におけるデノイズ係数をブロック内部のデノイズ係数より高く設定する。
【００７０】
乖離度検出部１３８とテンプレート形状設定部１３９は，画素ごとにテンプレート形状を制限する処理を導入するために設けられている。従来のＮＬＭフィルタでは，テンプレート形状については一般に画面全体に対して固定値で与えられていたのに対し，本実施形態では，ＮＬＭフィルタ実行部１３４によるＮＬＭフィルタの前処理として，乖離度検出部１３８により，デノイズ対象画像の各画素に対して周辺画素との乖離度を検出し，テンプレート形状設定部１３９により，乖離度検出部１３８が検出した乖離度を多段階に分類し，乖離度の強〜弱に応じて当該画素のテンプレート形状（大〜小）をそれぞれ設定する。
【００７１】
図１１は，図１０に示す画像処理装置１３の処理フローチャートである。まず，ステップＳ１３１では，デノイズフィルタ処理部１３１が，外部からの入力により，デノイズ係数，デノイズ対象画像，符号化情報を取得する。
【００７２】
ステップＳ１３２では，デノイズ係数設定部１３７が，入力した基準となるデノイズ係数と符号化情報とから，デノイズ対象画像の各画素位置に対応付けられるデノイズ係数を設定する。
【００７３】
次に，ステップＳ１３３では，エッジ方向検出部１３２が，デノイズ対象画像のエッジ方向を検出し，エッジ方向群を出力する。ステップＳ１３４では，探索形状設定部１３３が，エッジ方向検出部１３２により検出したエッジ方向に応じて，入力された探索形状を制限し，画素ごとの探索形状群を設定する。設定する探索形状群の探索形状は，入力された探索形状を最大とし，それよりも小さい探索形状である。
【００７４】
ステップＳ１３５では，乖離度検出部１３８が，デノイズ対象画像を入力とし，対象画素と周辺画素との乖離度を計算し，各画素に対応付けられた乖離度群を出力する。ステップＳ１３６では，テンプレート形状設定部１３９が，乖離度群と所定のテンプレート形状を用いて，各画素に対応付けられた制限されたテンプレート形状を設定し出力する。制限する際には，入力したテンプレート形状を最大形状として，乖離度が低いほどテンプレート形状が小さくなるように適用する。
【００７５】
最後に，ステップＳ１３７では，ＮＬＭフィルタ実行部１３４が，設定された情報に応じてＮＬＭフィルタを実行し，フィルタ後の結果画像を出力する。
【００７６】
図１２は，テンプレート形状設定部１３９によるテンプレート形状の制限の例を説明する図である。例えば，外部から指定されたテンプレート形状が，図１２（Ａ）に示すように，５×５のブロックであったとする。このテンプレート形状を，乖離度に応じて，例えば図１２（Ｂ）に示すように制限する。テンプレート類似度としてＳＳＤを用いる場合，元のテンプレート形状では，加算２４回，減算２５回，乗算２５回の演算が必要であるのに対し，図１２（Ｂ）に示すようにテンプレート形状を制限することにより，加算１２回，減算１３回，乗算１３回の演算で済むようになり，演算量が約５０％削減される。
【００７７】
デノイズフィルタ処理部１３１による処理は，符号化によるノイズの除去が目的であり，一般の画像処理のように画面全体に一様にノイズがかかったノイズを除去するような想定は行わない。符号化によるノイズ（符号化歪み）は，大きく以下の種類に分類できる。
１．平滑化による模様の消失
２．ＤＣＴによるエッジ周辺のモスキートノイズ
３．ＰｒｅｄｉｃｔｉｏｎＵｎｉｔやＴｒａｎｓｆｏｒｍＵｎｉｔの各Ｕｎｉｔ境界に生じるブロックノイズ
このうち，平滑化によって損失した模様の復元は非常に困難であるため，本実施形態では対象としない。このような画素値に変化のない平滑化した領域に対してＮＬＭフィルタを適用すると，計算前後でほとんど画素信号は変化しないが，演算量は必要になる。本実施形態では，周辺画素との乖離度を計算することで，このように平滑化した領域にも割り当てられていた演算量を削減する。
【００７８】
〔第６実施形態〕
図１３は，本発明の第６実施形態に係る画像処理装置の構成例を示す図である。画像処理装置１４は，エッジ方向検出部１４２，探索形状設定部１４３，ＮＬＭフィルタ実行部１４４，探索形状記憶部１４５，テンプレート形状記憶部１４６，デノイズ係数設定部１４７，乖離度検出部１４８，テンプレート形状設定部１４９，およびテンプレート形状再設定部１４１０からなるデノイズフィルタ処理部１４１を備える。
【００７９】
この画像処理装置１４は，テンプレート形状再設定部１４１０が備わっている点が，第５実施形態における画像処理装置１３と異なる。テンプレート形状再設定部１４１０は，エッジ方向と乖離度群，符号化情報を参照し，テンプレート形状設定部１４９にて過剰に割り当てられたテンプレート形状をさらに制限するための再設定を行う。具体的には，ＰｒｅｄｉｃｔｉｏｎＵｎｉｔやＴｒａｎｓｆｏｒｍＵｎｉｔの各Ｕｎｉｔ境界に発生しやすいブロックノイズ周辺に過剰に割り当てられがちなテンプレート形状をさらに制限する。
【００８０】
図１４は，図１３に示す画像処理装置１４の処理フローチャートである。ステップＳ１４１からＳ１４６までの処理は，図１１で説明したステップＳ１３１からＳ１３６までの処理と同様である。ステップＳ１４７では，テンプレート形状再設定部１４１０が，符号化情報とエッジ情報を用いて，テンプレート形状の再設定を行い，ステップＳ１４６で設定したテンプレート形状の過剰割り当てを削減する。最後に，ステップＳ１４８では，ＮＬＭフィルタ実行部１４４が，設定された情報に応じてＮＬＭフィルタを実行し，フィルタ後の結果画像を出力する。
【００８１】
〔乖離度検出方法の例〕
乖離度検出部１３８，１４８における乖離度検出方法の一例を説明する。図１５は，乖離度検出方法の例を説明する図である。図１５（Ａ）に示す画素ｚをデノイズの対象画素とし，その周辺画素に対してａ〜ｘの番号を付与した場合について説明する。ここでは，当該画素ｚと周辺画素（ａ〜ｘ）との差分絶対値に距離による減衰を考慮した係数を乗算した加重和を乖離度の指標（DiffIntensity ）として用いる。すなわち，DiffIntensity は，次式により算出される。
【００８２】
DiffIntensity ＝Ａ（｜ｈ−ｚ｜＋｜ｌ−ｚ｜＋｜ｍ−ｚ｜＋｜ｑ−ｚ｜）
＋Ｂ（｜ｇ−ｚ｜＋｜ｉ−ｚ｜＋｜ｐ−ｚ｜＋｜ｒ−ｚ｜）
＋Ｃ（｜ｃ−ｚ｜＋｜ｋ−ｚ｜＋｜ｎ−ｚ｜＋｜ｖ−ｚ｜）
＋Ｄ（｜ｂ−ｚ｜＋｜ｄ−ｚ｜＋｜ｆ−ｚ｜＋｜ｊ−ｚ｜＋
｜ｏ−ｚ｜＋｜ｓ−ｚ｜＋｜ｕ−ｚ｜＋｜ｗ−ｚ｜）
＋Ｅ（｜ａ−ｚ｜＋｜ｅ−ｚ｜＋｜ｔ−ｚ｜＋｜ｘ−ｚ｜）
式中のＡ〜Ｅは，当該画素と周辺画素との距離に応じてあらかじめ定められた係数であり，任意に設定される。これらの係数Ａ〜Ｅの設定には，例えば，距離に応じたガウス分布などを適用することができる。なお，Ａ〜Ｅも全点を対象とする必要はなく，例えばＤを０に設定すれば，フィルタ演算量を削減することができる。
【００８３】
乖離度検出部１３８，１４８は，すべてのDiffIntensity の算出を終えたら，乖離度群を下位のテンプレート形状設定部１３９，１４９に出力する。
【００８４】
他に，乖離度の算出に，ラプラシアンフィルタの絶対値やＳＳＤ（Sum of Square Difference），分散などの適用も考えられる。
【００８５】
さらに演算量削減のため，復号画像に対して任意サイズのＮ×Ｎブロックそれぞれに対して数点のサンプリング点を計算対象として設定し，当該画素位置における乖離度の代表値として用いる手法も考えられる。
【００８６】
図１５（Ｂ）は，サンプリング数の間引きの例を示している。この例では，２×２ブロック分割にて，左上，右下の画素を計算対象としている。この例の乖離度を，DiffIntensity 2x2 と表すと，DiffIntensity 2x2 は，次式によって算出される。
【００８７】
DiffIntensity 2x2 ＝（Ａの画素位置におけるDiffIntensity 
＋Ｄの画素位置におけるDiffIntensity ）／２
Ａ〜Ｄの画素位置における乖離度の参照要求があった場合，上記DiffIntensity 2x2 を代表値として用いる。この例では，乖離度計算に要する演算量は約半分になる。
【００８８】
〔テンプレート形状設定方法の例１〕
テンプレート形状設定部１３９，１４９におけるテンプレート形状設定方法の例の一つとして，乖離度検出部１３８，１４８が算出した乖離度群を用い，装置から与えられる基準となるテンプレート形状が３×３ブロックの全点を対象とする場合のテンプレート形状の削減の例を挙げる。
【００８９】
図１６は，乖離度のヒストグラムと閾値／領域設定の関係を示す図である。自然画像を対象とするとき，乖離度群のヒストグラムは値の低い側に偏り，乖離度が強くなるに従って出現頻度は低くなる。また，量子化パラメータの値が大きくなるに従ってヒストグラムは乖離度小の方に偏る特性を持つ。
【００９０】
テンプレート形状設定部１３９，１４９は，入力した乖離度群のヒストグラムを作成し，ヒストグラムの面積比が均一になるように４分割して，それぞれの領域α〜δのテンプレート形状ＴｍｐShape を以下のように設定する。領域α，βの境界の値をＴｈα，領域β，γの境界の値をＴｈβ，領域γ，δの境界の値をＴｈγとする。
（１）乖離度が閾値Ｔｈαより小さいの場合
ＴｍｐShape ＝Ｎｏｎｅ（要素数０）とする。
【００９１】
ＴｍｐShape がＮｏｎｅの場合，テンプレートマッチングは行わない。
（２）乖離度が閾値Ｔｈα以上でＴｈβ未満の場合
ＴｍｐShape ＝Ｐｏｉｎｔ（要素数１）とする。
【００９２】
ＴｍｐShape がＰｏｉｎｔの場合，対象画素と探索点の画素についてのＳＳＤだけを算出する。
（３）乖離度が閾値Ｔｈβ以上でＴｈγ未満の場合
ＴｍｐShape ＝Ｃｒｏｓｓ（要素数５）とする。
【００９３】
ＴｍｐShape がＣｒｏｓｓの場合，対象画素に上下左右の４画素を加えた５画素のテンプレート形状でマッチングを行う。
（４）乖離度が閾値Ｔｈγ以上の場合
ＴｍｐShape ＝Ｂｌｏｃｋ3x3 （要素数９）とする。
【００９４】
ＴｍｐShape がＢｌｏｃｋ3x3 の場合，３×３ブロックのテンプレート形状の全点でマッチングを行う。
【００９５】
本手法の導入により，全探索点に対して３×３ブロックのテンプレート形状の全点でマッチングを行う手法と比較してそれぞれ演算量は，以下のようになる。
【００９６】
領域α：演算量  0 
領域β：演算量  １／９
領域γ：演算量  ５／９
領域δ：演算量  １
領域が画面全体の１／４ずつを占めるため，合計演算量は５／１２となり，理論値では約１／２弱まで演算量を削減できることになる。
【００９７】
このように，乖離度の大きさによってテンプレート形状を決めるのは，以下の理由による。乖離度は強いエッジ周辺で強い信号が現れやすく，続いて弱いエッジやＤＣＴによるモスキートノイズ，撮像時のノイズなどが小〜中程度の信号として現れる。ＮＬＭフィルタは，エッジ周辺で特に効果を発揮する特性を持つため，乖離度が大きい領域（領域δ）に対して大型のテンプレート形状を割り当てることでデノイズ効果の悪化を抑制する。
【００９８】
〔テンプレート形状設定方法の例２〕
テンプレート形状設定部１３９，１４９におけるテンプレート形状設定方法の他の例として，乖離度検出部１３８，１４８が算出した乖離度群を用い，装置から与えられる基準となるテンプレート形状がＮ×Ｎブロックの全点を対象とする場合のテンプレート形状の削減の例を挙げる。
【００９９】
図１７は，積分比に応じたサンプリング数の設定の例を説明する図である。テンプレート形状設定部１３９，１４９は，乖離度群のヒストグラムを作成し，ヒストグラム上のデノイズの対象画素の乖離度をＴｈIntensity として乖離度の分布を表す関数ｆ(DiffIntensity) の積分値の比率でテンプレート形状を設定する。
【０１００】
すなわち，図１７（Ａ）に示すように，基準となるテンプレート形状がＮ×Ｎブロックとして与えられたとき，削減後のテンプレート形状の設定形状を円とし，その直径を次のように定める。
【０１０１】
設定形状（直径）
＝Ｎ×［｛ｆ(DiffIntensity) の０からＴｈIntensity までの積分値｝
÷｛ｆ(DiffIntensity) の０から最大値Ｍａｘまでの積分値｝］
これにより，乖離度が小さい場合には，小さなテンプレート形状，乖離度が大きい場合には，大きなテンプレート形状を用いて，効果的なテンプレートマッチングを行うことができる。
【０１０２】
〔テンプレート形状再設定方法の例〕
テンプレート形状再設定部１４１０におけるテンプレート形状再設定方法の例の一つとして，図８にて示したテンプレート形状設定部１４９が設定したテンプレート形状を，図１５にて示した乖離度検出部１４８が出力した乖離度群，図７にて示したエッジ方向群および符号化情報用いて再設定し，テンプレート形状の大きさをさらに削減する例を説明する。
【０１０３】
図１８は，テンプレート形状の再設定方法を説明する図である。まず，符号化情報からＤＣＴなどの変換処理の単位であるＴｒａｎｓｆｏｒｍＵｎｉｔのＵｎｉｔサイズを取得し，図１８（Ａ）に示すように，各Ｕｎｉｔ外縁の近傍Ｎ画素を設定対象の領域に設定する。それ以外の領域は，前述したテンプレート形状設定部１４９の設定結果をそのまま用いるものとする。
【０１０４】
図１８（Ｂ）に示すように，エッジ方向群を用いた場合，顕著なブロックノイズのＵｎｉｔ外縁上下部分ではＶｅｃＩｎｄｅｘは１に，Ｕｎｉｔ外縁左右部分ではＶｅｃＩｎｄｅｘは６に偏るという傾向があり，この境界部分の乖離度は高い値が検出される。また，ブロックノイズが顕著に現れる高い量子化パラメータ域では，ＴｒａｎｓｆｏｒｍＵｎｉｔ内部は比較的平坦な領域が現れやすいという傾向がある。
【０１０５】
つまり，量子化パラメータＱＰの高い中〜低レート域において，図１８（Ａ）における設定対象の領域で，図１８（Ｂ）に示すような特徴を満たす場合，ブロックノイズが発生している可能性が高い。これらＶｅｃＩｎｄｅｘが１もしくは６に偏るブロック境界の画素位置に対しては大型のテンプレート形状で計算しても，小型のテンプレート形状で計算しても，結果はほとんど変わらない。しかし，ブロック境界で顕著なエッジが検出された場合には，大型のテンプレート形状が設定されてしまうため，非効率である。そのため，テンプレート形状再設定部１４１０により，テンプレート形状の見直しを行うことで非効率であるとういう問題の解決を図る。
【０１０６】
具体的な解決手法としては，例えば以下の手法が挙げられる。量子化パラメータＱＰに対する所定の閾値Ｔｈ１QP，Ｔｈ２QP（ただし，Ｔｈ１QP＜Ｔｈ２QP）と，乖離度DiffIntensity に対する所定の閾値Ｔｈ１Diff，Ｔｈ２Diff（ただしＴｈ１Diff＜Ｔｈ２Diff）とを用いて，画素位置ごとに以下のような設定を行う。このようにすれば，デノイズ効果の悪化を抑制しつつ演算量を削減することができる。ただし，Ｔｈ１Diff，Ｔｈ２Diffは，それぞれ量子化パラメータＱＰに応じて変動するものとする。
【０１０７】
下記の条件を満たす場合，後述する再設定分岐のアルゴリズムによって，テンプレート形状ＴｍｐShape を設定する。
［条件１］：Ｕｎｉｔ外縁上下部分の設定対象領域における画素位置で，対象画素位置のＶｅｃＩｎｄｅｘが１（横方向のエッジ）もしくは０（平坦な領域），かつ，Ｕｎｉｔ内側方向に隣接するＶｅｃＩｎｄｅｘが０（平坦な領域）の場合。
［条件２］：または，Ｕｎｉｔ外縁左右部分の設定対象領域における画素位置で，対象画素位置のＶｅｃＩｎｄｅｘが６（縦方向のエッジ）もしくは０（平坦な領域），かつ，Ｕｎｉｔ内側方向に隣接するＶｅｃＩｎｄｅｘが０（平坦な領域）の場合。
【０１０８】
「再設定分岐のアルゴリズム」の例
（１）量子化パラメータＱＰ＞閾値Ｔｈ２QP，
かつ，テンプレート形状ＴｍｐShape がＢｌｏｃｋ3x3 またはＣｒｏｓｓ，
かつ，乖離度DiffIntensity ＞閾値Ｔｈ１Diffの場合，
ＴｍｐShape をＰｏｉｎｔ（要素数１）に再設定。
（２）上記以外で，量子化パラメータＱＰ＞閾値Ｔｈ１QP，
かつ，テンプレート形状ＴｍｐShape がＢｌｏｃｋ3x3 ，
かつ，乖離度DiffIntensity ＞閾値Ｔｈ２Diffの場合，
ＴｍｐShape をＰｏｉｎｔ（要素数１）に再設定。
（３）上記以外で，量子化パラメータＱＰ＞閾値Ｔｈ１QP，
かつ，テンプレート形状ＴｍｐShape がＢｌｏｃｋ3x3 ，
かつ，乖離度DiffIntensity ＞閾値Ｔｈ１Diffの場合，
ＴｍｐShape をＣｒｏｓｓ（要素数５）に再設定。
（４）上記以外で，量子化パラメータＱＰ＞閾値Ｔｈ１QP，
かつ，テンプレート形状ＴｍｐShape がＣｒｏｓｓ，
かつ，乖離度DiffIntensity ＞Ｔｈ１Diffの場合，
ＴｍｐShape をＰｏｉｎｔ（要素数１）に再設定。
（５）上記（１）〜（４）以外の場合，再設定しないで終了。
【０１０９】
図１８（Ｃ）における四隅の領域Ｅ，Ｆ，Ｇ，Ｈは，ブロックノイズによって生成されるＶｅｃＩｎｄｅｘに予測が立たないため，それぞれ以下の条件を満たす場合に，領域内すべての画素位置に対して，前述した（１）〜（５）の再設定分岐によるテンプレート形状の再設定を行う。
・領域Ｅ：直右に隣接する領域Ａの画素群もしくは直下に隣接する領域Ｃの画素群に上記条件を満たす画素がある。
・領域Ｆ：直左に隣接する領域Ａの画素群もしくは直下に隣接する領域Ｄの画素群に上記条件を満たす画素がある。
・領域Ｇ：直右に隣接する領域Ｂの画素群もしくは直上に隣接する領域Ｃの画素群に上記条件を満たす画素がある。
・領域Ｈ：直左に隣接する領域Ｂの画素群もしくは直上に隣接する領域Ｄの画素群に上記条件を満たす画素がある。
【０１１０】
本実施形態では，ブロック境界の画素群に対して演算量を削減する例を示したが，反対にブロック内部の画素群に対してはすべてＴｍｐShape ＝Ｎｏｎｅを設定し，その部分についてはテンプレートマッチングを行わず，ブロック境界のみにデノイズフィルタを適用することで，演算量を大きく削減するような実施も可能である。
【０１１１】
なお，第５実施形態，第６実施形態では，基準となる探索形状およびテンプレート形状をデノイズフィルタ処理部１３１，１４１が固定値で持つ例を説明したが，これらのいずれか一方，または双方を，外部から与えるような実施も可能である。
【０１１２】
〔映像符号化装置への適用例〕
図１９は，本発明を適用した映像符号化装置の構成例を示す図である。第１実施形態〜第６実施形態として説明したデノイズフィルタ処理部１０１〜１４１は，図１９に示す映像符号化装置におけるループフィルタであるデノイズフィルタ処理部３１３として用いることができる。これにより，従来の一般的なデブロッキングフィルタを用いていた場合に比べて，符号化効率を高めることができ，また，復号画像のデノイズのために，従来のＮＬＭフィルタをそのまま用いた場合に比べて，演算量を大幅に削減することができる。なお，図１９においては，基準となる探索形状およびテンプレート形状の双方をデノイズフィルタ処理部１３１，１４１が固定値を持つ例である。また，デノイズ係数は原画像と比較して符号化効率が最適なデノイズ係数を決定し，ビットストリームにデノイズ係数オーバーヘッドとして符号化する例を示す。探索形状およびテンプレート形状のいずれか一方，または双方をユーザが設定するなどして外部から与える場合，復号装置に伝送する必要があるため，前記デノイズ係数と同様にオーバーヘッドとして符号化することで実現できるが，本符号化装置への適用例および復号装置への適用例では，これらの説明は省略する。
【０１１３】
以下，図１９に示す映像符号化装置について説明する。原画像記憶部３０１は，符号化対象となる入力シーケンスの全画像の記憶部であり，順次，各フレームの符号化対象画像を出力する。
【０１１４】
ブロックサイズ決定部３０２は，所定のＣｏｄｉｎｇＵｎｉｔをどのブロックサイズに分割して符号化を実行するかを決定し，対象ブロックとブロックサイズを出力する。予測サイズ決定部３０３は，対象ブロックの画素値を予測するブロックの予測サイズを決定し，対象ブロックと予測サイズを出力する。予測手法決定部３０４は，対象ブロックの画素値予測を行う上で，画面内予測／フレーム間予測の各手法の中で最も符号化効率の高い手法を決定し，その手法を用いた際の予測ブロックと予測情報を出力する。予測サイズ決定部３０３にて出力された対象ブロックは，予測ブロックとの差分値が計算され差分ブロックとなる。
【０１１５】
変換サイズ決定部３０５は，差分ブロックを分割する変換サイズを決定し，分割した変換サイズごとの差分ブロックと変換サイズを出力する。離散コサイン変換部３０６では，差分ブロックに対して離散コサイン変換を適用し，ＤＣＴ係数を出力する。量子化部３０７では，ＤＣＴ係数に対して量子化を行い，量子化後ＤＣＴ係数を出力する。
【０１１６】
逆量子化部３０８では，量子化後ＤＣＴ係数に対して逆量子化を行い，ＤＣＴ係数に戻す。逆離散コサイン変換部３０９では，ＤＣＴ係数に対して逆離散コサイン変換を適用し，復号差分ブロックを出力する。復号差分ブロックは予測ブロックと加算合成され，部分復号画像となる。復号画像記憶部３１０は，部分復号画像を格納し，復号装置側でも参照可能な画像を格納しておく記憶部である。画面内予測部３１１は，復号画像記憶部３１０に格納されている部分復号画像を参照し，予測ブロックと予測情報とを出力する。
【０１１７】
デノイズ係数決定部３１２は，復号画像と原画像とを参照し，符号化効率が最適となるデノイズ係数を決定し，デノイズ係数を出力する。デノイズフィルタ処理部３１３は，復号画像を参照し，前述した第１〜第６実施形態等で説明した符号化歪みを軽減するためのフィルタ処理を行い，フィルタ後復号画像を生成する。
【０１１８】
ＡＬＦ（Adaptive Loop Filter）処理部３１４では，フィルタ後復号画像に対して原画像に近づけるようにフィルタ処理を行い，ＡＬＦ後復号画像とＡＬＦ係数を出力する。フレームバッファ３１５は，ＡＬＦ後復号画像を格納しておく記憶部である。フレーム間予測部３１６は，フレームバッファ３１５を参照し，予測ブロックと予測情報とを出力する。
【０１１９】
シーケンス情報符号化部３１７は，映像の縦横画素数など，入力シーケンス固有の情報を符号化の後，ビットストリーム記憶部３２５に対してシーケンス情報オーバーヘッドを出力する。ブロックサイズ符号化部３１８は，ブロックサイズ決定部３０２から予測サイズを受け取り，符号化の後，ブロックサイズオーバーヘッドを出力する。予測サイズ符号化部３１９は，予測サイズ決定部３０３から予測サイズを受け取り，符号化の後，予測サイズオーバーヘッドを出力する。予測情報符号化部３２０は，予測手法決定部３０４から予測情報を受け取り，符号化の後，予測情報オーバーヘッドを出力する。
【０１２０】
変換サイズ符号化部３２１は，変換サイズ決定部３０５から変換サイズを受け取り，符号化の後，変換サイズオーバーヘッドを出力する。量子化後ＤＣＴ係数符号化部３２２は，量子化部３０７から量子化後ＤＣＴ係数を受け取り，符号化の後，ＤＣＴオーバーヘッドを出力する。デノイズ係数符号化部３２３は，デノイズ係数決定部３１２で決定されたデノイズ係数を受け取り，符号化の後，デノイズ係数オーバーヘッドを出力する。ＡＬＦ係数符号化部３２４は，ＡＬＦ係数を受け取り，符号化の後，ＡＬＦオーバーヘッドを出力する。ビットストリーム記憶部３２５は，各オーバーヘッドを格納しておく記憶部であり，シーケンス全体の符号化が終了すると，符号化結果のビットストリームを出力する。
【０１２１】
符号化情報記憶部３２６は，復号装置側でも参照可能な符号化情報を格納しておく記憶部である。この符号化情報記憶部３２６が記憶する符号化情報は，デノイズフィルタ処理部３１３やその他の各部から参照され，使用される。
【０１２２】
〔映像符号化装置の処理フロー〕
図２０および図２１は，図１９に示す映像符号化装置の処理フローチャートを示している。映像符号化装置は，以下の処理を行う。
・まず，ステップＳ３０１にて，入力シーケンスを原画像記憶部３０１に格納する。
・次に，ステップＳ３０２にて，シーケンス情報を符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３０３にて，符号化対象の全フレームに対するステップＳ３１８までのループ処理を行う。
・次に，ステップＳ３０４にて，符号化対象画像の全ＣｏｄｉｎｇＵｎｉｔ（ＣＵ）に対するステップＳ３１４までのループ処理を行う。
・次に，ステップＳ３０５にて，ブロックサイズを決定し，符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３０６にて，予測サイズを決定し，符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３０７にて，画面内／フレーム間予測の各予測ブロックの中で，最も符号化効率が高い手法と対象ブロックの差分値を計算する。
・次に，ステップＳ３０８にて，予測情報をビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３０９にて，変換サイズを決定し，符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３１０にて，離散コサイン変換（ＤＣＴ）を行う。
・次に，ステップＳ３１１にて，量子化を行い，量子化後ＤＣＴ係数を符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３１２にて，逆量子化と逆離散コサイン変換を行う。
・次に，ステップＳ３１３にて，ステップＳ３０７にて適用された予測ブロックと逆変換後の復号差分ブロックとを加算合成する。
・次に。ステップＳ３１４にて，復号画像記憶部３１０に加算合成した部分復号画像を格納する。
・符号化対象画像の全ＣＵに対するループ処理が終了すると，ステップＳ３１５にて，復号画像と原画像を用いて符号化効率が最適になるデノイズ係数を算出する。
・次に，ステップＳ３１６にて，復号画像に対して，算出したデノイズ係数を用いて本手法を用いたデノイズフィルタの処理を実行し，デノイズ係数を符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３１７にて，ＡＬＦ（Adaptive Loop Filter）を実行し，ＡＬＦ係数を符号化してビットストリーム記憶部３２５に格納する。
・次に，ステップＳ３１８にて，ＡＬＦ後復号画像をフレームバッファ３１５に格納する。
・符号化対象の全フレームに対するループ処理が終了すると，ステップＳ３１９にて，ビットストリームを出力して処理を終了する。
【０１２３】
〔映像復号装置への適用例〕
図２２は，本発明を適用した映像復号装置の構成例を示す図である。第１〜第６実施形態として説明したデノイズフィルタ処理部１０１〜１４１は，図２２に示す映像復号装置におけるループフィルタであるデノイズフィルタ処理部４１５として用いることができる。これにより，従来のＮＬＭフィルタをそのまま用いた場合よりも演算量を大幅に削減することができる。
【０１２４】
以下，図２２に示す映像復号装置について説明する。ビットストリーム記憶部４０１は，入力ビットストリームの記憶部であり，必要に応じて各オーバーヘッド情報を出力する。シーケンス情報復号部４０２は，シーケンス情報オーバーヘッドを受け，映像の縦横画素数など，シーケンス固有の情報を復号する。
【０１２５】
ブロックサイズ復号部４０３は，ブロックサイズオーバーヘッドを受け，所定のＣｏｄｉｎｇＵｎｉｔがどのブロックサイズで分割して符号化されているのかを示す情報を復号する。予測サイズ復号部４０４は，予測サイズオーバーヘッドを受け，映像符号化装置で適用された予測サイズを出力する。
【０１２６】
予測情報復号部４０５は，予測情報オーバーヘッドを受け，予測情報を出力する。変換サイズ復号部４０６は，変換サイズオーバーヘッドを受け，映像符号化装置で適用された変換サイズを出力する。量子化後ＤＣＴ係数復号部４０７は，変換サイズとＤＣＴオーバーヘッドを受け，量子化後ＤＣＴ係数を出力する。デノイズ係数符号化部４０８は，デノイズ係数オーバーヘッドを受け，デノイズ係数を出力する。ＡＬＦ係数復号部４０９は，ＡＬＦオーバーヘッドを受け，ＡＬＦ係数を出力する。
【０１２７】
逆量子化部４１０は，量子化後ＤＣＴ係数に対して逆量子化を行い，ＤＣＴ係数に戻す。逆離散コサイン変換部４１１は，ＤＣＴ係数に対して逆離散コサイン変換を適用して差分信号を出力する。予測ブロック生成部４１２は，予測情報と部分復号画像，参照フレームを受け，予測ブロックを生成する。部分復号画像生成部４１３は，予測画像と復号差分信号の加算合成を行い，部分復号画像を生成する。復号画像記憶部４１４は，部分復号画像を格納しておく記憶部である。
【０１２８】
デノイズフィルタ処理部４１５は，復号画像を参照し，前述した第１〜第６実施形態等で説明した符号化歪を軽減するためのフィルタ処理を行い，フィルタ後復号画像を生成する。
【０１２９】
ＡＬＦ処理部４１６では，ＡＬＦ係数を受け取り，フィルタ後復号画像に対して原画像に近づけるようにフィルタ処理を行い，ＡＬＦ後復号画像を出力する。なお，この画像が復号時における最終復号画像となる。フレームバッファ４１７は，ＡＬＦ後復号画像を格納しておく記憶部である。符号化情報記憶部４１８は，符号化情報を格納しておく記憶部であり，この符号化情報記憶部４１８が記憶する符号化情報は，デノイズフィルタ処理部４１５やその他の各部から参照され，使用される。
【０１３０】
〔映像復号装置の処理フロー〕
図２３および図２４は，図２２に示す映像復号装置の処理フローチャートを示している。映像復号装置は，以下の処理を行う。
・まず，ステップＳ４０１にて，入力ビットストリームをビットストリーム記憶部４０１に格納する。
・次に，ステップＳ４０２にて，シーケンス情報を復号する。
・次に，ステップＳ４０３にて，復号対象の全フレームに対するステップＳ４１４までのループ処理を行う。
・次に，ステップＳ４０４にて，復号対象画像の全ＣｏｄｉｎｇＵｎｉｔ（ＣＵ）に対するステップＳ４１１までのループ処理を行う。
・次に，ステップＳ４０５にて，ブロックサイズを復号する。
・次に，ステップＳ４０６にて，予測サイズを復号する。
・次に，ステップＳ４０７にて，予測情報を復号し，予測ブロックを生成する。
・次に，ステップＳ４０８にて，変換サイズを復号する。
・次に，ステップＳ４０９にて，量子化後ＤＣＴ係数を復号する。
・次に，ステップＳ４１０にて，逆量子化と逆離散コサイン変換を行う。
・次に，ステップＳ４１１にて，ステップＳ４０７の予測ブロックとステップＳ４１０の結果を用いて復号ブロックを生成し，復号画像記憶部４１４に格納する。
・符号化対象画像の全ＣＵに対するループ処理が終了すると，ステップＳ４１２にて，デノイズ係数を復号し，復号画像に対して，本手法を用いたデノイズフィルタの処理を実行する。
・次に，ステップＳ４１３にて，ＡＬＦ係数を復号し，ＡＬＦ処理を実行する。
・次に，ステップＳ４１４にて，ＡＬＦ後復号画像をフレームバッファ４１７に格納する。
・符号化対象の全フレームに対するループ処理が終了すると，ステップＳ４１５にて，フレームバッファ４１７の各フレームをフレーム番号順に出力して出力シーケンスを生成し，処理を終了する。
【０１３１】
〔演算量削減効果〕
次世代映像符号化標準方式に従来のＮＬＭフィルタ（Ｎｏｎ−ｌｏｃａｌ  ｍｅａｎｓ法によるデノイズフィルタ）を組み込んだ手法と比較して，本手法によるデノイズフィルタを適用した場合，標準的な映像の符号化時に，ＰＳＮＲの悪化を抑えつつ上記フィルタに要する演算量を約５０〜７５％程度削減できることが確認できた。
【０１３２】
［ソフトウェアプログラムを用いた場合の構成例］
以上の画像処理，映像符号化，復号の処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録することも，ネットワークを通して提供することも可能である。
【０１３３】
図２５は，本発明を，コンピュータとソフトウェアプログラムとを用いて実施する場合のシステムの構成例を示している。
【０１３４】
本システムは，プログラムを実行するＣＰＵ５０と，ＣＰＵ５０がアクセスするプログラムやデータが格納されるＲＡＭ等のメモリ５１と，デノイズ対象の画像信号，符号化対象の映像信号，または復号画像の映像信号を記憶する映像信号記憶部５２と，本発明の実施形態で説明した処理をＣＰＵ５０に実行させるためのプログラムが格納されたプログラム記憶装置５３と，符号化結果のビットストリームまたは復号対象のビットストリームを記憶する符号化ストリーム記憶部５４とがバスで接続された構成になっている。
【０１３５】
プログラム記憶装置５３は，本発明を用いて画像信号のノイズを除去するための画像処理プログラム５３１，本発明を用いて映像信号を符号化するための映像符号化プログラム５３２，本発明を用いて符号化ビットストリームを復号するための映像復号プログラム５３３のいずれかを格納している。これらのプログラムのすべてを格納している必要はない。
【０１３６】
本システムが画像信号のノイズ除去として用いられる場合，画像処理プログラム５３１がメモリ５１にロードされ，ＣＰＵ５０は，メモリ５１にロードされた画像処理プログラム５３１の命令を逐次フェッチして実行し，映像信号記憶部５２に格納されている映像信号の画像を入力して，本発明の実施形態で説明した手法によりノイズを除去し，映像信号記憶部５２に格納する。
【０１３７】
また，本システムが映像符号化装置として用いられる場合，映像符号化プログラム５３２がメモリ５１にロードされ，ＣＰＵ５０は，メモリ５１にロードされた映像符号化プログラム５３２の命令を逐次フェッチして実行し，映像信号記憶部５２に格納されている映像信号を，本発明の実施形態で説明した手法により符号化して，符号化結果のビットストリームを符号化ストリーム記憶部５４に格納する。または，ネットワークアダプタ等のインタフェースを介して，ビットストリームを外部装置に出力してもよい。
【０１３８】
また，本システムが映像復号装置として用いられる場合，映像復号プログラム５３３がメモリ５１にロードされ，ＣＰＵ５０は，メモリ５１にロードされた映像復号プログラム５３３の命令を逐次フェッチして実行し，符号化ストリーム記憶部５４に格納されているビットストリームを，本発明の実施形態で説明した手法により復号して，復号結果の映像信号を映像信号記憶部５２に格納する。または，外部の再生装置に復号結果の映像信号を出力する。
【０１３９】
特に，本発明は，映像符号化プログラム５３２，映像復号プログラム５３３におけるループフィルタ処理に用いられ，このループフィルタ処理のプログラム部分は，映像符号化プログラム５３２，映像復号プログラム５３３とで共通化することも可能である。
【符号の説明】
【０１４０】
１０，１１，１２，１３，１４  画像処理装置
１０１，１１１，１２１，１３１，１４１  デノイズフィルタ処理部
１０２，１１２，１２２，１３２，１４２  エッジ方向検出部
１０３，１１３，１２３，１３３，１４３  探索形状設定部
１０４，１１４，１２４，１３４，１４４  ＮＬＭフィルタ実行部
１１５  デノイズ係数算出部
１２５，１３５，１４５  探索形状記憶部
１２６，１３６，１４６  テンプレート形状記憶部
１３７，１４７  デノイズ係数設定部
１３８，１４８  乖離度検出部
１３９，１４９  テンプレート形状設定部
１４１０  テンプレート形状再設定部
【図１】
0005291133.tif 000003
【図２】
0005291133.tif 000004
【図３】
0005291133.tif 000005
【図４】
0005291133.tif 000006
【図５】
0005291133.tif 000007
【図６】
0005291133.tif 000008
【図７】
0005291133.tif 000009
【図８】
0005291133.tif 000010
【図９】
0005291133.tif 000011
【図１０】
0005291133.tif 000012
【図１１】
0005291133.tif 000013
【図１２】
0005291133.tif 000014
【図１３】
0005291133.tif 000015
【図１４】
0005291133.tif 000016
【図１５】
0005291133.tif 000017
【図１６】
0005291133.tif 000018
【図１７】
0005291133.tif 000019
【図１８】
0005291133.tif 000020
【図１９】
0005291133.tif 000021
【図２０】
0005291133.tif 000022
【図２１】
0005291133.tif 000023
【図２２】
0005291133.tif 000024
【図２３】
0005291133.tif 000025
【図２４】
0005291133.tif 000026
【図２５】
0005291133.tif 000027
【図２６】
0005291133.tif 000028
【図２７】
0005291133.tif 000029