(57)【特許請求の範囲】
【請求項１】
動き予測に従って過去の画像を参照することにより，入力画像に対して時間方向のフィルタ処理を施す動き補償付きテンポラルフィルタ処理装置であって，
フィルタ処理対象の入力画像と参照画像とを記憶する画像メモリと，
フィルタ処理対象の入力画像における各ブロックごとに，前記参照画像を所定の動き探索範囲内で探索して動き予測誤差を算出し，動きベクトルを検出する動き予測部と，
前記動き予測部で算出された前記動き探索範囲内における動き予測誤差の最小値が，所定の第一の閾値以上であり，かつ，前記動き探索範囲内における動き予測誤差の最大値と動き予測誤差の最小値との差が，所定の第二の閾値以下であるかどうかを判定し，真偽値を出力する動き予測誤差判定部と，
前記動き予測誤差判定部の出力値が偽である場合に，前記動き予測部が検出した動きベクトルを出力し，前記動き予測誤差判定部の出力値が真である場合に，値がゼロの動きベクトルを出力する動きベクトル切替え部と，
前記動きベクトル切替え部が出力する動きベクトルを入力し，フィルタ処理対象の入力画像に対し，前記画像メモリに格納された参照画像を動きベクトルに従って参照することにより動き補償付きテンポラルフィルタの処理を実行するフィルタ処理部とを備える
ことを特徴とする動き補償付きテンポラルフィルタ処理装置。
【請求項２】
動き予測に従って過去の画像を参照することにより，入力画像に対して時間方向のフィルタ処理を施す動き補償付きテンポラルフィルタ処理方法であって，
フィルタ処理対象の入力画像における各ブロックごとに，画像メモリに格納された参照画像を所定の動き探索範囲内で探索して動き予測誤差を算出し，動きベクトルを検出する動き予測ステップと，
前記動き予測ステップで算出された前記動き探索範囲内における動き予測誤差の最小値が，所定の第一の閾値以上であり，かつ，前記動き探索範囲内における動き予測誤差の最大値と動き予測誤差の最小値との差が，所定の第二の閾値以下であるかどうかを判定する動き予測誤差判定ステップと，
前記動き予測誤差判定ステップの判定結果が偽である場合に，出力として前記動き予測ステップが検出した動きベクトルを選択し，前記動き予測誤差判定ステップの判定結果が真である場合に，出力として値がゼロの動きベクトルを選択する動きベクトル切替えステップと，
前記動きベクトル切替えステップにより選択された動きベクトルを入力し，フィルタ処理対象の入力画像に対し，前記画像メモリに格納された参照画像を動きベクトルに従って参照することにより動き補償付きテンポラルフィルタの処理を実行するフィルタ処理ステップとを有する
ことを特徴とする動き補償付きテンポラルフィルタ処理方法。
【請求項３】
請求項２記載の動き補償付きテンポラルフィルタ処理方法をコンピュータに実行させるための動き補償付きテンポラルフィルタ処理プログラム。
【請求項４】
請求項３記載の動き補償付きテンポラルフィルタ処理プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，入力画像に対する時間方向のフィルタ処理によりノイズを除去する動き補償付きテンポラルフィルタ処理装置，処理方法，処理プログラムおよびコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
動画像の連続するフレーム（フィールドを含む。以下，同様）に時間方向のフィルタ処理を施すことによりノイズを除去することが行われている。このようなフィルタをテンポラルフィルタという。
【０００３】
さらに，効果的にフィルタ処理を行うために，時間的に前のフレームを参照画像として動き予測を行い，現フレームの画素と動きベクトルで示される参照画像の画素との間で，時間方向のフィルタ処理を行う動き補償付きテンポラルフィルタも用いられている。
【０００４】
図４は，動き補償付きテンポラルフィルタの利用例を示す図である。図４において，１００は動き補償付きテンポラルフィルタ処理部，２００は符号化器を表す。符号化器２００は，例えばＭＰＥＧ−２，ＭＰＥＧ−４，Ｈ．２６４等の符号化方式により動画像を符号化する装置である。動き補償付きテンポラルフィルタ処理部１００は，符号化器２００へ入力する前の画像信号に含まれるノイズを除去するためのものであり，入力画像に対する動きベクトルの検出による動き補償を行って，時間方向のフィルタ処理を行い，フィルタ後画像を符号化器２００へ送る。本発明は，このような動き補償付きテンポラルフィルタの改良に関するものである。
【０００５】
従来，以上のような動き補償付きテンポラルフィルタの例としては，例えば特許文献１に記載されている適応フィルタ装置がある。特許文献１の適応フィルタ装置では，４フィールド前後あるいは２フィールド前後の処理対象画像に対して，異なる２つの画像データから相関の強い方の動きベクトルに対応した参照画素と処理画素との間の差分値を求め，その差分値に応じて参照画素の処理画素に対するミクシング値を可変にすることにより，ノイズ除去を図っている。
【特許文献１】特開平１０−８４４９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されているような従来の動き補償付きテンポラルフィルタでは，動き予測によって検出した動きベクトルのすべてに対してテンポラルフィルタ処理を行っている。しかし，入力画像においてテクスチャの細かい領域では，動きベクトルをもとにテンポラルフィルタ処理を行うと，ノイズ成分が拡散してしまい，主観画質がかえって劣化してしまうことがある。
【０００７】
そこで本発明は，上記課題の解決を図り，動き補償付きテンポラルフィルタにおいて，フィルタ処理の対象となる画像中にテクスチャの細かい領域が存在する場合でも，主観画質が劣化しないようなフィルタ処理を実現することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は，上記課題を解決するため，各ブロックの動き探索範囲における動き予測誤差から，入力画像におけるテクスチャの細かい領域を検出し，そのテクスチャの細かい領域では，強制的に動きベクトルを（０，０）に設定して，動き補償付きテンポラルフィルタ処理を行う。
【０００９】
具体的には，入力画像の各ブロックにおける動き予測誤差の最大値と最小値を算出し，動き予測誤差最小値が，所定の第一の閾値ＴＨ１以上で，かつ動き予測誤差最大値と動き予測誤差最小値との差が，所定の第二の閾値ＴＨ２以下の場合に，そのブロックはテクスチャが細かい領域であると判断して，実際に動き予測によって検出した動きベクトルを用いずに，動きベクトルをゼロに設定して，動き補償付きテンポラルフィルタ処理を実行する。
【００１０】
動き予測誤差最小値と第一の閾値ＴＨ１との大小比較，および動き予測誤差最大値と動き予測誤差最小値との差と第二の閾値ＴＨ２との大小比較によって，テクスチャの細かい領域であると判定できる理由は以下のとおりである。
【００１１】
動き予測誤差最小値が，与えられた第一の閾値ＴＨ１以上であるということは，ブロックマッチングで最もマッチするブロックでも，誤差が大きく，動き予測の精度が悪いことを意味する。また，動き予測誤差最大値と動き予測誤差最小値との差が，第二の閾値ＴＨ２以下であるということは，動き探索範囲内でどのブロックとの照合を行っても誤差の程度が似ており，これもマッチする適切なブロックが見つかりにくいことを意味している。このような性質は，テクスチャの細かい領域での動き予測において現れる現象であり，テクスチャの細かい領域の場合には，動き補償付きのテンポラルフィルタによる処理結果が，動き補償を用いない場合のテンポラルフィルタによる処理結果よりも画質が低下することが多い。
【００１２】
そこで本発明では，上記の判定処理により，テクスチャの細かい領域を検出し，そのブロックについては，動きベクトルを強制的にゼロにすることにより，動き補償を用いない場合のテンポラルフィルタによる処理結果とフィルタ後画像が同じになるようにする。
【発明の効果】
【００１３】
本発明によれば，動き補償付きテンポラルフィルタにおいてテクスチャの細かい領域におけるノイズ成分の拡散が抑止され，主観画像品質が向上し，フィルタ後の画像を符号化する場合にも符号化効率が向上する。
【発明を実施するための最良の形態】
【００１４】
図１は，本発明の動き補償付きテンポラルフィルタ処理装置の構成例を示すブロック図である。この動き補償付きテンポラルフィルタ処理装置は，例えば図４に示す符号化器２００の前の動き補償付きテンポラルフィルタ処理部１００として用いられる。
【００１５】
図１（Ａ）は，フィルタ後の画素値を次のフレームのフィルタ処理の参照画像とするＩＩＲ（Infinite Inpulse Response ）型のテンポラルフィルタ構成の場合の例を示し，図１（Ｂ）は，フィルタ前の入力画像を次のフレームのフィルタ処理の参照画像とするＦＩＲ (Finite Inpulse Response)型のテンポラルフィルタ構成の場合の例を示している。どちらの場合でも本発明を実施することができる。
【００１６】
図１（Ａ）において，画像メモリ１０は，フィルタ処理対象となる画像を入力し，記憶する。入力画像は，フレーム単位の画像であってもフィールド単位の画像であってもどちらでもよい。ここではフレーム画像として説明する。画像メモリ１０には，１フレームまたは複数フレームの過去のフレーム画像についても保持される。
【００１７】
動き予測部１１は，フィルタ処理対象の画像についてブロック単位で，過去のフレーム画像を参照画像として動き予測を行う。ここでは，説明を簡単にするために，直前のフレーム画像だけを動き補償付きテンポラルフィルタの処理に用いるものとし，動き予測も直前のフレーム画像に対してだけ行うものとする。ブロックのサイズは任意であり，例えば４×４画素ないし８×８画素が適当である。
【００１８】
動き予測部１１では，予め定められた探索範囲内で照合する参照画像におけるブロックの位置を動かしながら，参照画像とフィルタ処理対象画像とのブロック間の画素毎の差分絶対値の和または二乗誤差の和（これらを動き予測誤差という）を算出し，動き予測誤差が最小となるブロックの位置関係を，動きベクトルとして検出する。ただし，通常の動き予測と異なる点は，動きの探索範囲内で動き予測誤差の最小値を求めるだけでなく，動き探索範囲内で動き予測誤差が最大となる値も記憶しておく。
【００１９】
動き予測誤差判定部１２では，動き予測誤差最小値が所定の閾値ＴＨ１より大きいかどうかの判定を行う。また，動き予測誤差最大値と動き予測誤差最小値との差が所定の閾値ＴＨ２より小さいかどうかの判定を行う。動き予測誤差判定部１２は，動き予測誤差最小値が第一の閾値ＴＨ１以上で，かつ動き予測誤差最大値と動き予測誤差最小値との差が，第二の閾値ＴＨ２以下である場合に，動きベクトル切替え部１３に対し，例えば切替え信号“１”を出力し，それ以外の場合に切替え信号“０”を出力する。
【００２０】
動きベクトル切替え部１３は，動き予測部１１が検出した動きベクトルＭＶ＝（ｘ，ｙ）と，動き予測誤差判定部１２からの切替え信号を入力する。切替え信号が“０”の場合，動き予測部１１から入力した動きベクトルＭＶ＝（ｘ，ｙ）をそのままフィルタ処理部１４へ出力する。一方，切替え信号が“１”の場合には，動きベクトル切替え部１３は，動き予測部１１からの入力を破棄し，動きベクトルＭＶを強制的に（０，０）に設定して，フィルタ処理部１４へ出力する。
【００２１】
フィルタ処理部１４は，動きベクトル切替え部１３から入力した動きベクトルＭＶに従って，画像メモリ１０を参照し，動き補償付きテンポラルフィルタの処理を実行する。フィルタ処理部１４が行う動き補償付きテンポラルフィルタの処理は，従来行われている処理と同様であるので，ここでのその詳しい説明は省略する。フィルタ処理部１４によるフィルタ処理後の画像は，フィルタ後画像として出力されるとともに，次のフレームの参照画像に反映させるために，画像メモリ１０に書き戻される。
【００２２】
図１（Ｂ）に示すＦＩＲ型のテンポラルフィルタ構成の場合，フィルタ処理部２４が用いる参照画像は，フィルタ処理が行われない画像である。そのため，フィルタ処理部２４による処理結果は，フィルタ後画像として出力されるが，画像メモリ２０に書き戻されることはない。それ以外の動き予測部２１，動き予測誤差判定部２２，動きベクトル切替え部２３の構成および動作は，図１（Ａ）で説明したものと同様である。
【００２３】
図２は，本発明の実施の形態の処理フローチャートである。フィルタ処理対象画像の各ブロックごとに，以下のステップＳ１〜Ｓ８を実行する。ステップＳ１〜Ｓ４が動き予測部１１，２１の処理，ステップＳ５，Ｓ６が動き予測誤差判定部１２，２２の処理，ステップＳ７が動きベクトル切替え部１３，２３の処理，ステップＳ８がフィルタ処理部１４，２４の処理である。
【００２４】
ステップＳ１では，所定の動き探索範囲内で，参照画像とフィルタ処理対象画像のブロック間の動き予測誤差を計算し，動き探索を行う。ここでは，動き予測誤差として絶対値誤差和（ＳＡＤ：Sum of Absolute Difference）を算出するものとする。探索範囲内における絶対値誤差和の最大値をＳＡＤmax と表し，絶対値誤差和の最小値をＳＡＤmin と表す。
【００２５】
ステップＳ２では，各探索ごとに，算出した絶対値誤差和が現探索範囲内で最大であるかまたは最小であるかを判定し，最大の場合にはその値をＳＡＤmax として記憶し，最小の場合にはその値をＳＡＤmin として記憶する。また，ステップＳ３では，ＳＡＤmin を記憶した場合に，そのときの動きベクトルＭＶをレジスタまたはメモリに記憶する。
【００２６】
ステップＳ４では，所定の探索範囲内の探索が終了したかどうかを判定する。探索が終了していない場合には，参照画像における次の探索位置について同様にステップＳ１〜Ｓ３の処理を繰り返す。探索が終了したならば，次のステップＳ５へ移る。
【００２７】
ステップＳ５では，動き予測誤差最小値ＳＡＤmin が所定の第一の閾値ＴＨ１より大きいかどうかを判定する。大きくない場合には，ステップＳ８へ移る。大きい場合には，ステップＳ６へ進み，動き予測誤差最大値ＳＡＤmax と動き予測誤差最小値ＳＡＤmin との差が所定の第二の閾値ＴＨ２より小さいかどうかを判定する。小さくない場合には，ステップＳ８へ移る。小さい場場合には，ステップＳ７へ進む。
【００２８】
ステップＳ７では，動きベクトルを強制的に（０，０）に設定する。すなわち，ＭＶ＝（０，０）として，ステップＳ８へ渡す。
【００２９】
ステップＳ８では，ステップＳ３で記憶した動きベクトルＭＶまたはステップ７で強制的に設定した動きベクトルＭＶを用いて，動き補償付きテンポラルフィルタ処理を実行し，フィルタ後画像を出力する。
【００３０】
図３は，動き補償付きテンポラルフィルタ処理装置の詳細な構成例を示す図である。画像メモリ１０，動き予測部１１，フィルタ処理部１４は，図１で説明したもの同じである。
【００３１】
動き予測誤差最小値記憶部１２１は，動き予測部１１で算出した動き予測誤差最小値ＳＡＤmin を記憶する。動き予測誤差最大値記憶部１２２は，動き予測部１１で算出した動き予測誤差最大値ＳＡＤmax を記憶する。閾値ＴＨ１記憶部１２４は，予め定められた第一の閾値ＴＨ１を記憶し，閾値ＴＨ２記憶部１２５は，予め定められた第二の閾値ＴＨ２を記憶する。動きベクトル記憶部１３１は，動き予測部１１で求めた動きベクトルを記憶する。
【００３２】
比較部１２６は，動き予測誤差最小値ＳＡＤmin と閾値ＴＨ１の大小を比較し，動き予測誤差最小値ＳＡＤmin が閾値ＴＨ１より大きい場合に“１”を出力し，そうでない場合に“０”を出力する。減算器１２３は，動き予測誤差最大値ＳＡＤmax から動き予測誤差最小値ＳＡＤmin を減算し，比較部１２７は，その差分値と閾値ＴＨ２の大小を比較する。比較部１２７は，差分値が閾値ＴＨ２より小さい場合に“１”を出力し，そうでない場合に“０”を出力する。ＡＮＤ回路１２８の出力は，比較部１２６と比較部１２７の出力が共に“１”の場合にだけ“１”となる。
【００３３】
動きベクトル切替え回路１３２は，ＡＮＤ回路１２８の出力が“０”のとき，動きベクトル記憶部１３１が記憶する動きベクトルをフィルタ処理部１４に出力し，ＡＮＤ回路１２８の出力が“１”のとき，動きベクトルをゼロにした値をフィルタ処理部１４に出力する。この動きベクトルに従って，フィルタ処理部１４は，画像メモリ１０における参照画像の該当する参照画素を参照し，動き補償付きテンポラルフィルタの処理を実行する。
【００３４】
フィルタ処理部１４で実行するフィルタ処理の最も一般的な例としては，フィルタ対象画素と参照画素との平均値を取る方法がある。計算式を式（１）に示す。ここで，Ｙcur はフィルタ対象画素値，Ｙref はフィルタ参照画素値，Ｙ′はフィルタ処理後の画素値を示している。
【００３５】
Ｙ′＝（Ｙcur ＋Ｙref ）／２              …式（１）
また，フィルタ対象画素値などからフィルタ強度ａ（０≦ａ≦１）を決定し，フィルタ処理を行う場合もある。計算式を式（２）に示す。フィルタ強度ａは任意に設定できる。ａ＝０．５の場合，式（２）は式（１）と等価になる。
【００３６】
Ｙ′＝ａ×Ｙcur ＋（１−ａ）×Ｙref       …式（２）
［実験結果］
本発明による効果を検証するために，画像サイズが１９２０×１０８０画素の画像を用いて，本発明による動き補償付きテンポラルフィルタ処理方法を用いた場合と，本発明を用いない従来の動き補償付きテンポラルフィルタ処理方法を用いた場合とで，フィルタ後画像の符号化結果がどうなるかの実験を行った。
【００３７】
動き補償ブロックサイズは，４×４画素とした。本発明を用いた場合の第一の閾値ＴＨ１と第二の閾値ＴＨ２は，ＴＨ１＝１２８，ＴＨ２＝３００とした。
【００３８】
従来方法を用いた場合と，本発明を用いた場合とで，そのフィルタ後画像をＪＭ１２．２で固定のＱＰ値とし，同条件で符号化を行い，符号化結果の符号量とＰＳＮＲ（Peak Signal to Ratio）とを比較した。その結果は，次のとおりであった。
【００３９】
従来方法：ＰＳＮＲ＝３４．９８５ｄＢ
符号量  ＝２７９２８６４ｂｉｔ
本発明  ：ＰＳＮＲ＝３５．０４７ｄＢ
符号量  ＝２７２６９４４ｂｉｔ
以上のように，本発明を用いることにより，ＰＳＮＲが向上し，符号量も削減できることが，実験により確認することができた。
【００４０】
以上の動き補償付きテンポラルフィルタの処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００４１】
【図１】本発明の構成例を示すブロック図である。
【図２】本発明の実施の形態の処理フローチャートである。
【図３】本発明の実施の形態の詳細な構成例を示す図である。
【図４】動き補償付きテンポラルフィルタの利用例を示す図である。
【符号の説明】
【００４２】
１０，２０  画像メモリ
１１，２１  動き予測部
１２，２２  動き予測誤差判定部
１３，２３  動きベクトル切替え部
１４，２４  フィルタ処理部
【図１】
0004452734.tif 000002
【図２】
0004452734.tif 000003
【図３】
0004452734.tif 000004
【図４】
0004452734.tif 000005