(57)【特許請求の範囲】
【請求項１】
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理装置であって、
フレーム画像を入力してブロックごとに格納する格納手段と、
前記格納手段に格納されたフレーム画像と、新たに入力されたフレーム画像とに基づいて、各ブロックごとに動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段により検出された対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する手段と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出手段と、
前記差分算出手段で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に、前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限手段と、
を有することを特徴とする画像処理装置。
【請求項２】
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理装置であって、
非可逆符号化により生成された画像ストリームを復号する復号手段と、
前記復号手段により復号されたフレーム画像をブロックごとに格納する格納手段と、
対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する手段と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出手段と、
前記差分算出手段で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限手段と、
を有することを特徴とする画像処理装置。
【請求項３】
前記輪郭領域に含まれる対象ブロックに比べて周辺ブロックの前記差分が低い場合に、当該周辺ブロックを前記輪郭領域に含ませる拡張手段を更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記動きベクトル検出手段が動きベクトルを検出する検出範囲を指定する指定手段を更に有することを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記閾値を指定する手段を更に有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項６】
前記動きベクトルに基づいて、直前フレームの予測ブロックを求める手段を更に有し、
前記帯域制限手段は、
前記新たに入力されたフレーム画像のブロックと、前記予測ブロックとの差分をとる差分ブロック生成手段と、
前記差分ブロック生成手段により生成されたブロックに対して周波数変換を施して周波数ブロックを出力する周波数変換手段と、
前記輪郭抽出手段で抽出された輪郭領域に応じて、前記周波数ブロックに対するパターンレベルを設定するパターンレベル設定手段と、
前記周波数ブロックに対し前記パターンレベルを乗算する乗算手段と、
前記乗算手段による乗算結果を逆周波数変換する逆周波数変換手段と、
前記新たに入力されたフレーム画像のブロックから前記逆周波数変換した結果を差し引く減算手段と、
を有することを特徴とする請求項１又は２に記載の画像処理装置。
【請求項７】
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理方法であって、
フレーム画像を入力してブロックごとにフレームメモリに格納する格納工程と、
前記フレームメモリに格納されたフレーム画像と、新たに入力されたフレーム画像とに基づいて、各ブロックごとに動きベクトルを検出する動きベクトル検出工程と、
前記動きベクトル検出工程で検出された対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する工程と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出工程と、
前記差分算出工程で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に、前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出工程と、
前記輪郭抽出工程で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限工程と、
を有することを特徴とする画像処理方法。
【請求項８】
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理方法であって、
非可逆符号化により生成された画像ストリームを復号する復号工程と、
対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する工程と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出工程と、
前記差分算出工程で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出工程と、
前記輪郭抽出工程で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限工程と、
を有することを特徴とする画像処理方法。
【請求項９】
前記動きベクトル検出工程で動きベクトルを検出する検出範囲を指定する指定工程を更に有することを特徴とする請求項７に記載の画像処理方法。
【請求項１０】
前記閾値を指定する工程を更に有することを特徴とする請求項７又は８に記載の画像処理方法。
【請求項１１】
前記動きベクトルに基づいて、直前フレームの予測ブロックを求める工程を更に有し、
前記帯域制限工程は、
前記新たに入力されたフレーム画像のブロックと、前記予測ブロックとの差分をとる差分ブロック生成工程と、
前記差分ブロック生成工程により生成されたブロックに対して周波数変換を施して周波数ブロックを出力する周波数変換工程と、
前記輪郭抽出工程で抽出された輪郭領域に応じて、前記周波数ブロックに対するパターンレベルを設定するパターンレベル設定工程と、
前記周波数ブロックに対し前記パターンレベルを乗算する乗算工程と、
前記乗算工程による乗算結果を逆周波数変換する逆周波数変換工程と、
前記新たに入力されたフレーム画像のブロックから前記逆周波数変換した結果を差し引く減算工程と、
を有することを特徴とする請求項７又は８に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばＭＰＥＧ（Moving Picture Experts Group）方式などにより、非可逆圧縮符号化された画像データを復号した画像に含まれるノイズ部分を検出して除去する画像処理装置及びその方法に関するものである。
【背景技術】
【０００２】
従来、画像の符号化方式として、フレーム内符号化方式であるMotion JPEGやデジタルビデオ等の符号化方式や、フレーム間予測符号化を用いたＨ．２６１，Ｈ．２６３，ＭＰＥＧ−１，ＭＰＥＧ−２がある。また近年では、Ｈ．２６４等の符号化方式が知られている。これらの符号化方式は、ＩＳＯ（国際標準化機構）やＩＴＵ（国際電気通信連合）によって国際標準化されている。
【０００３】
符号化方式で代表的なＭＰＥＧ−２は非可逆符号化と呼ばれ、符号化画像データを復号しても完全に元の画像データに戻らない。これは符号化時に、ＤＣＴ変換の後に量子化を行うことに起因している。これら符号化方式は、画像信号の統計的な性質を利用し、その信号に含まれる冗長性を取り除くことで情報量の削減を図っている。即ち、人間の視覚は画像の高周波成分に鈍感であるため、その高周波成分を粗く量子化して冗長性を削除し、高い符号化効率を得るようにしている。
【０００４】
しかし、この種のＤＣＴ変換を行なう非可逆符号化では、高周波成分を制限することによってデータ圧縮を行っているために、画像のエッジ部、或は移動物体の周囲でモスキートノイズと呼ばれるノイズが発生し、復元した画像の画質劣化の原因となっている。このモスキートノイズを低減する方法が提案されており、例えば、入力画像信号のエッジ部を検出し、ノイズ除去フィルタによって画像信号のエッジ部をフィルタリング処理して、モスキートノイズを低減した画像信号を得る方法が提案されている（特許文献１）。尚、その他のＭＰＥＧ等の詳細内容については、ISO/IECによる国際標準を参照されたい。
【特許文献１】特開２００１−２１８２１０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら上述の従来技術では、画像信号中のモスキートノイズの有無に関係無く画像信号のエッジ部分でモスキートノイズ除去のフィルタリング処理が行われるため、モスキートノイズが発生していない部分では画像を劣化させてしまう。また、細かなエッジが含まれるテクスチャの領域があった場合、この領域をエッジと誤って判断してテクスチャの情報を削除していた。このため画質を劣化させる結果となっていた。
【０００６】
これらの問題点は、周波数変換及び非可逆圧縮符号化された画像データを復号した画像に含まれるモスキートノイズなどのノイズ部分を正確に検出することなく、画像信号のエッジ部にノイズ除去処理を施することに起因して生じていた。また画像信号の細かなエッジを含むテクスチャ領域をノイズ部分とみなしてノイズ除去処理を施していたことにも起因している。
【０００７】
本発明の目的は、上述した従来の問題点を解決することにある。
【０００８】
本願発明の一態様に係る特徴は、周波数変換および非可逆圧縮符号化を行なうことにより生成された画像ストリームを復号した復号画像データに含まれるモスキートノイズなどのノイズ発生部分を除去することにある。
【課題を解決するための手段】
【０００９】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理装置であって、
フレーム画像を入力してブロックごとに格納する格納手段と、
前記格納手段に格納されたフレーム画像と、新たに入力されたフレーム画像とに基づいて、各ブロックごとに動きベクトルを検出する動きベクトル検出手段と、
前記動きベクトル検出手段により検出された対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する手段と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出手段と、
前記差分算出手段で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に、前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限手段と、を有することを特徴とする。
【００１０】
上記目的を達成するために本発明の一態様に係る画像処理装置は以下のような構成を備える。即ち、
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理装置であって、
非可逆符号化により生成された画像ストリームを復号する復号手段と、
前記復号手段により復号されたフレーム画像をブロックごとに格納する格納手段と、
対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する手段と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出手段と、
前記差分算出手段で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出手段と、
前記輪郭抽出手段で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限手段と、を有することを特徴とする。
【００１１】
上記目的を達成するために本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理方法であって、
フレーム画像を入力してブロックごとにフレームメモリに格納する格納工程と、
前記フレームメモリに格納されたフレーム画像と、新たに入力されたフレーム画像とに基づいて、各ブロックごとに動きベクトルを検出する動きベクトル検出工程と、
前記動きベクトル検出工程で検出された対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する工程と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出工程と、
前記差分算出工程で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に、前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出工程と、
前記輪郭抽出工程で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限工程と、を有することを特徴とする。
【００１２】
上記目的を達成するために本発明の一態様に係る画像処理方法は以下のような工程を備える。即ち、
非可逆符号化により生成された画像ストリームを復号した復号画像データのノイズ成分を除去する画像処理方法であって、
非可逆符号化により生成された画像ストリームを復号する復号工程と、
対象ブロックの動きベクトルと、当該対象ブロックの周辺ブロックの動きベクトルを１フレーム分格納する工程と、
前記格納された周辺ブロックのそれぞれの動きベクトルと前記対象ブロックの動きベクトルとの差分を算出して差分値マップを生成する差分算出工程と、
前記差分算出工程で算出した前記差分値マップを微分フィルタにより微分した値が所定の閾値以上である場合に前記フレーム画像に含まれる輪郭領域として抽出する輪郭抽出工程と、
前記輪郭抽出工程で抽出された前記輪郭領域に対して、各ブロックごとに帯域制限を施す帯域制限工程と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、画像データに含まれるノイズの発生部分を的確に検出して、画像が持つテクスチャを保持しつつ、その画像のノイズ発生部分に対してのみノイズ除去処理を施すことができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る画像処理装置の主要部の構成を示すブロック図である。尚、本実施の形態１では、画像データの処理の単位を４×４画素とし、これを対象ブロックと称する。
【００１６】
フレームメモリ１０５，１００は、この画像処理装置に入力された画像データ（Ｖin）、或は帯域制限フィルタ１０４から出力される画素データを１フレーム分格納する。尚、ここで入力される画像データは、ＭＰＥＧ圧縮処理された画像データの復号データを例にして説明する。動きベクトル検出器（ＭＥ）１０１は、フレームメモリ１００に格納された過去のフレーム画像の対象ブロックと、この装置に入力された対象ブロックに該当する画素データとから動きベクトルを検出する。尚、この動きベクトル検出器１０１による動きベクトルの検出範囲は、外部（例えばユーザ）から任意に設定できるものとする。１１０は、外部より入力される動きベクトルの検出範囲を指定する情報を示している。本実施の形態１では、この検出範囲を８×８画素サイズとする。
【００１７】
動きベクトル分散マップ生成器１０２は、動きベクトル検出器１０１で検出された動きベクトル（ＭＶ）を入力して格納し、対象ブロック周辺の既処理ブロックの動きベクトルを用いて、動きベクトルの分散値のマップを生成する。尚、この動きベクトル分散マップ生成器１０２は分散算出手段として機能しており、１フレーム分の動きベクトルを格納できるメモリを有している。輪郭抽出器１０３は、動きベクトル分散マップ生成器１０２で生成された動きベクトル分散値マップに基づいて分散値マップの輪郭周辺を抽出して輪郭領域情報を出力する。尚、この輪郭抽出器１０３は、抽出時に、入力或は指示された抽出レベルの閾値１１１に応じて、輪郭を抽出する度合を調整することができる。帯域制限フィルタ１０４は、輪郭抽出器１０３から供給される輪郭領域情報に基づいて、抽出された輪郭領域対してのみ帯域制限を行う。尚、この帯域制限フィルタ１０４は、帯域制限を行わずに、入力した画素データをそのままスルーで出力する系も有している。
【００１８】
次に図１に示す装置の動作を図２及び図３のフローチャートを参照して説明する。
【００１９】
本実施の形態１では、先頭フレームとそれ以降のフレームとで処理を切り替えるものとする。
【００２０】
図２は、先頭フレームの処理を説明するフローチャートである。
【００２１】
図２では、ステップＳ１で、対象ブロックがフレームメモリ１０５、及び帯域制限フィルタ１０４を通過して出力される（Ｖout）とともに、フレームメモリ１００へ格納される。
【００２２】
図３は、先頭フレーム以降のフレームの処理を説明するフローチャートである。
【００２３】
まずステップＳ１１で、入力されたフレーム画像を、１フレーム分だけフレームメモリ１０５へ格納する。次にステップＳ１２に進み、動きベクトル検出器１０１が、設定された検出範囲１１０に従って、フレームメモリ１００に格納された過去のフレーム画像と、フレームメモリ１０５に格納された現時点のフレーム画像とを比較して動きベクトル（ＭＶ）を検出する。次にステップＳ１３に進み、ステップＳ１２で検出した動きベクトルを動きベクトル分散マップ生成器１０２へ出力して、動きベクトル分散マップ生成器１０２のメモリ（不図示）に格納する。こうして動きベクトル分散マップ生成器１０２は、入力した動きベクトルをメモリに格納し、その入力した動きベクトルと、既に格納済みの周辺の動きベクトルとに基づいて、動きベクトルの分散値を算出する。そして、その算出した分散値の１フレーム分のマップを生成する。
【００２４】
この分散値の算出例を説明する。
【００２５】
既に入力された動きベクトルＭＶ1（ＭＶ1x，ＭＶ1y）と、対象ブロックの動きベクトルＭＶ2（ＭＶ2x，ＭＶ2y）とから、規定の乗数Ｋを用いて分散値ＤiffVを算出する。
【００２６】
Ｖlast＝ＭＶ1x＋ＭＶ1y×Ｋ
Ｖtar ＝ＭＶ2x＋ＭＶ2y×Ｋ
ＤiffV＝｜Ｖlast−Ｖtar｜
次にステップＳ１４に進み、輪郭抽出器１０３は、動きベクトル分散マップ生成器１０２から動きベクトルの分散値マップを入力して分散値の輪郭領域を抽出する。この時の抽出レベルの閾値１１１は、外部（例えばユーザ）から設定されるものとする。尚、この輪郭抽出処理については、規定のゾーベル(Sobel)オペレータを用いたゾーベルフィルタを用いて行われる。そして、このゾーベルフィルタ出力値が、外部から設定された抽出レベルの閾値以上であった場合に輪郭領域と判定する。次にステップＳ１５に進み、ステップＳ１４で抽出された輪郭領域の周辺へ領域を拡張する拡張処理を行う。尚、この拡張処理について図４及び図５を用いて詳細に説明する。
【００２７】
図４及び図５は、処理対象の画像データの一部を示す図である。尚、ここで各桝目は、画像データの処理の単位を示す４×４画素を示している。
【００２８】
ここでは分散値マップから、輪郭領域に含まれるブロックの分散値と、その周辺で縦横方向に隣接した周辺ブロックの分散値とを比較している。そして対象ブロックに比べて周辺ブロックの分散値が低い場合は、そのブロックも輪郭領域と判断して輪郭領域を拡張する。一方、対象ブロックに比べて周辺ブロックの分散値が高い場合は、そのブロックの方向に輪郭領域を拡張しないようにしている。
【００２９】
図４では、４００〜４０２は輪郭領域に位置しているエッジブロックを示し、そのうちの４００が対象ブロックである。ここでは対象ブロック４００の分散値に比べて、左ブロック４０３と下ブロック４０４の分散値が低いため、それらブロック４０３，４０４を輪郭領域に含むように拡張している。
【００３０】
図５は、図４に示す拡張処理を行った結果を示す図である。
【００３１】
これは、対象ブロック４００の左側のブロックの分散値が低い場合の例を示し、拡張ブロック４０３，４０４で示すように輪郭領域が拡張されている。ここではエッジブロック４００〜４０２の右側に位置しているブロックは、エッジブロック４００〜４０２よりも分散値が高いため、右方向への拡張処理は行わない。
【００３２】
以上説明した輪郭抽出処理により、１フレーム分の輪郭領域マップが生成される。
【００３３】
次にステップＳ１６に進み、ステップＳ１４で求めた輪郭領域マップから、帯域制限フィルタ１０４により、輪郭領域に対してフィルタ処理を実行する。本実施の形態１では、この帯域フィルタとしてεフィルタを用いる。
【００３４】
このεフィルタは、注目画素を、その注目画素の近傍にある近傍画素を用いて帯域制限するが、その際に近傍画素の画素値がパラメータεに応じて設定される。即ち、注目画素の画素値を中心とするεの範囲内に近傍画素の画素値がない場合、近傍画素の画素値を注目画素の画素値に置き換えて帯域制限が行われる。また近傍画素の画素値がεの範囲内にある場合は、その近傍画素の画素値をそのまま用いて帯域制限が行われる。従って、注目画素がエッジである度合が大である（周辺画素の画素値との差が大）と、パラメータεも大とされる。一方、エッジである度合が小である（周辺画素の画素値との差が小）と、パラメータεも小とされる。これにより、そのエッジ部に生じるモスキートノイズを除去することができる。また平坦部や有意なテクスチャ部の画素については、パラメータεが小となる。このため、有意なテクスチャ部の詳細が維持された状態でフィルタリング結果を得ることができる。
【００３５】
このように帯域制限フィルタ１０４は、輪郭抽出器１０３から供給される輪郭領域情報に従って、輪郭領域であると判断した場合はパラメータεを大とし、それ以外ではパラメータεを小として帯域制限を行う。
【００３６】
次にステップＳ１７に進み、フィルタ処理後の１フレームを出力する。またこれとともに、その処理後の１フレームをフレームメモリ１００へ格納する。
【００３７】
以上説明したように本実施の形態１によれば、画像データに含まれるモスキートノイズのような符号化ノイズの発生部分を的確に検出することができる。そして、そのノイズ発生部分に対してのみノイズ除去処理を施すことができる。
【００３８】
尚、本実施の形態では、処理の対象ブロックを４×４画素としたが本発明はこれに限定されるものでなく、例えば８×４，４×８，８×８画素等でもかまわない。
【００３９】
また動きベクトル分散マップ生成器１０２における分散値の算出処理では、既に入力された動きベクトルのみを用いたが本発明はこれに限定されない。例えば、対象ブロックの全ての周辺ブロック、計８ブロックのベクトルを用いて周辺ブロックの動きベクトルの平均値を算出し、その周辺ブロックの動きベクトルと、その平均値との差分を累積したものを分散値としてもよい。
【００４０】
更に、輪郭抽出器１０３の処理で、輪郭抽出処理をゾーベルフィルタとしたが、その他の微分フィルタでもかまわない。
【００４１】
更に、輪郭抽出器１０３の処理で、拡張処理を縦横方向としたが、斜めを含めた方向でもかまわない。
【００４２】
またフレームメモリ１００，１０５は、フレーム画像を格納するものとしたが、フィールド画像を格納するフィールドメモリでもかまわない。
【００４３】
また帯域制限フィルタ１０４にεフィルタを用いたが、そのほかの簡便なローパスフィルタでもかまわない。
【００４４】
更に、動きベクトル検出器１０１の検出範囲は、水平のみでもよく、またフレーム毎に可変に設定してもかまわない。
【００４５】
更に輪郭抽出器１０３における閾値は、フレーム毎に可変に設定してもかまわない。
【００４６】
＜実施の形態２＞
図６は、本発明の実施の形態２に係る画像処理装置の主要部の構成を示すブロック図である。尚、本実施の形態２では、画像データの処理の単位を４×４画素とし、これを対象ブロックと称する。尚、この図６では、前述の実施の形態１と同じ機能を有する部分については同じ番号を付して、その説明を省略する。尚、動きベクトル検出器（ＭＥ）１０１は、前述の実施の形態１の機能に加えて、動きベクトルを検出した際、直前フレームの予測ブロックを出力する機能を有している。
【００４７】
パターンレベル設定器２００は、輪郭抽出器１０３から供給される輪郭領域情報に基づいて、抽出された輪郭領域に対して、帯域制限をするための帯域と制限量を設定する。
【００４８】
図７を参照して、この帯域と制限量について説明する。
【００４９】
図７は、実施の形態２に係る画像処理装置で処理する周波数ブロックのパターンを示す図で、処理の対象となる１ブロック（４×４画素）を示している。
【００５０】
ここで処理の対象は、アダマール変換後の周波数領域へ変換されたブロックとしている。よって、ここでは除去すべきノイズの周波数成分を設定する。図７では、斜線部を除去対象の成分とする。同時に、これら除去対象の成分に対して、乗算器２０３によりノイズ成分と乗算するレベルを設定する。従って、レベル１ではノイズ成分をそのまま通過させ、レベルが０に近くなるほどノイズ成分を除去することとなる。
【００５１】
差分器２０１は、フレームメモリ１０５から読み出した対象ブロックの画素データと、動きベクトル検出器１０１から出力される予測ブロックの画素データとの差分を求めて周波数変換器（Ｔ：ここでは２次元アダマール変換器）２０２に出力する。この差分器２０１は、予測ブロックと、実際のブロックとの差分である差分ブロックを求める差分ブロック生成手段として機能している。この周波数変換器２０２は、差分器２０１から供給される１ブロックの差分データを周波数領域ブロックへ変換する。乗算器２０３は、周波数変換器２０２から供給される周波数領域のブロックと、パターンレベル設定器２００で設定されたパターンレベルとを、周波数成分毎に乗算する。逆周波数変換器（ＩＴ：２次元逆アダマール変換器）２０４は、乗算器２０３による乗算結果を入力し、周波数領域ブロックから画素領域ブロックへ逆変換する。加算器２０５は、フレームメモリ１０５から読み出された対象ブロックの画素データから、逆周波数変換器２０４で変換された画素領域ブロックの画素データを減算する。
【００５２】
図８は、本実施の形態２に係る先頭フレーム以降のフレームの処理を説明するフローチャートである。尚、本実施の形態２では前述の実施の形態１と同様に、先頭フレームとそれ以外のフレームで処理を切り替えるものとする。
【００５３】
先頭フレームの処理では、前述の図２のフローチャートのように、対象ブロックがフレームメモリ１０５に格納され、加算器２０５をパスして出力されるとともにフレームメモリ１００へ格納される。
【００５４】
次に本発明の実施の形態２に係る、先頭フレーム以降のフレームの処理について図８のフローチャートを参照して説明する。
【００５５】
まずステップＳ２１で、入力されたフレーム画像を、１フレーム分だけフレームメモリ１０５へ格納する。次にステップＳ２２に進み、動きベクトル検出器１０１が、設定された検出範囲に従って、フレームメモリ１００に格納された過去のフレーム画像と、フレームメモリ１０５に格納された現時点のフレーム画像とを比較して動きベクトル（ＭＶ）を検出する。次にステップＳ２３に進み、動きベクトル検出器１０１が、動きベクトルとともに予測ブロックを出力する。次にステップＳ２４に進み、ステップＳ２２で検出した動きベクトルを動きベクトル分散マップ生成器１０２へ出力して、動きベクトル分散マップ生成器１０２のメモリ（不図示）に格納する。こうして動きベクトル分散マップ生成器１０２は、入力した動きベクトルをメモリに格納し、既に格納済みの周辺の動きベクトルとから、動きベクトルの分散値を算出する（ステップＳ２５）。そして、その算出した分散値の１フレーム分のマップを生成する。
【００５６】
この分散値の算出例を説明する。
【００５７】
既に入力された動きベクトルＭＶ1（ＭＶ1x，ＭＶ1y）と、対象ブロックの動きベクトルＭＶ2（ＭＶ2x，ＭＶ2y）とから、規定の乗数Ｋを用いて分散値ＤiffVを算出する。
【００５８】
Ｖlast＝ＭＶ1x＋ＭＶ1y×Ｋ
Ｖtar ＝ＭＶ2x＋ＭＶ2y×Ｋ
ＤiffV＝｜Ｖlast−Ｖtar｜
次にステップＳ２６に進み、輪郭抽出器１０３は、動きベクトルの分散値マップを入力して分散値の輪郭領域を抽出する。この時の抽出レベルの閾値は、外部（例えばユーザ）から設定されるものとする。尚，この輪郭抽出処理については、規定のゾーベルオペレータを用いたゾーベルフィルタを用いる。そして、このゾーベルフィルタ出力値が、外部から設定された抽出レベルの閾値１１１以上であった場合に輪郭領域と判定する。
【００５９】
次にステップＳ２７に進み、輪郭抽出器１０３から出力される輪郭領域マップから、輪郭領域に対し、パターンレベル設定器２００により、除去すべき周波数ブロックのパターンレベルを設定して乗算器２０３に出力する。パターンは図７の斜線部とし、各斜線部にＫを設定する。ここでＫの値は０以上、１以下の定数である。
【００６０】
次にステップＳ２８に進み、差分器２０１により、フレームメモリ１０５から供給される対象ブロックの画素データと、動きベクトル検出器１０１から出力される予測ブロックの画素データとの差分を求めて差分ブロックを生成する。次にステップＳ２９に進み、差分器２０１で求めた差分ブロックを周波数変換器（Ｔ）２０２により周波数ブロックへ変換する。
【００６１】
次にステップＳ３０に進み、乗算器２０３にて、その周波数ブロックに対し、パターンレベル設定器２００から供給されるパターンレベルを乗算して、その結果を逆周波数変換器（ＩＴ）２０４へ出力する。次にステップＳ３１に進み、逆周波数変換器２０４により、乗算器２０３から出力されるブロックを逆変換して画素データを得る。そしてステップＳ３２で、加算器２０５により、対象ブロックの画素データと、逆周波数変換器２０４から供給されるブロックの画素データとを加算して、その結果を出力する。
【００６２】
以上説明したように本実施の形態２によれば、画像データに含まれるモスキートノイズのような符号化ノイズの発生部分を的確に検出できる。またそのノイズ発生部分に対してのみノイズ除去処理を施すことができるだけでなく、フレーム間で発生したアナログノイズを除去することができる。
【００６３】
尚、本実施の形態では、処理の対象ブロックを４×４画素としたが本発明はこれに限定されるものでなく、例えば８×４，４×８，８×８画素等でもかまわない。
【００６４】
また動きベクトル分散マップ生成器１０２の分散値の算出処理では、既に入力された動きベクトルのみを用いたが本発明はこれに限定されない。例えば、対象ブロックの全ての周辺ブロック、計８ブロックのベクトルを用いて周辺ブロックの動きベクトルの平均値を算出し、その周辺ブロックの動きベクトルと、その平均値との差分を累積したものを分散値としてもよい。
【００６５】
更に、輪郭抽出器１０３の処理では、輪郭抽出処理をゾーベルフィルタとしたが、そのほかの微分フィルタでもかまわない。
【００６６】
更に、輪郭抽出器１０３の処理では拡張処理を縦横方向としたが、斜めを含めた方向でもかまわない。
【００６７】
またフレームメモリ１００，１０５は、フレーム画像を格納するものとしたが、フィールド画像を格納するフィールドメモリでもかまわない。
【００６８】
また帯域制限フィルタ１０４にεフィルタを用いたが、そのほかの簡便なローパスフィルタでもかまわない。
【００６９】
更に、動きベクトル検出器１０１の検出範囲は、水平のみでもよく、またフレーム毎に可変に設定してもかまわない。
【００７０】
更に輪郭抽出器１０３における閾値は、フレーム毎に可変に設定してもかまわない。
【００７１】
また周波数変換器２０２及び逆周波数変換器２０４は、アダマール変換を用いたが本発明はこれに限定されるものでなく、例えばＤＣＴなどの別の周波数変換処理でもかまわない。
【００７２】
更にパターンレベル設定器２００のレベルは、全ての周波数でＫとしたが、これを周波数毎に異なる値に設定してもかまわない。
【００７３】
＜実施の形態３＞
図９は、本発明の実施の形態３に係る画像処理装置の主要部の構成を示すブロック図である。尚、本実施の形態３では、制御の単位を画像の復号画像の基本単位である１６×１６画素とし、これを対象ブロックとする。
【００７４】
デコーダ（復号器）１１００は、この画像処理装置に入力されたストリームから画像を復号する。フレームメモリ１１０１は、復号器１１００で復号された画像を１フレーム分格納する。動きベクトル分散マップ生成器１０２は、検出された動きベクトルを格納し、対象ブロックの周辺の既処理ブロックの動きベクトルを用いて、動きベクトルの分散値のマップを生成する。尚、この動きベクトル分散マップ生成器１０２は、動きベクトルを１フレーム分格納できるメモリを持つ。輪郭抽出器１０３は、生成された動きベクトル分散値マップに基づいて分散値マップの輪郭周辺を抽出して輪郭領域情報を出力する。尚、この輪郭抽出器１０３は、抽出時に抽出レベルの閾値１１１を入力し、その閾値１１１に応じて抽出の程度を調整することができる。帯域制限フィルタ１０４は、輪郭抽出器１０３から供給される輪郭領域情報に従って、抽出された輪郭領域に対してのみ帯域制限を行う。尚、この帯域制限フィルタ１０４は、帯域制限を行わずに、入力データをそのまま出力するパスの系も持つ。
【００７５】
次に図９の装置の動作について図１０及び図１１のフローチャートを参照して説明する。尚、本実施の形態３において、前述の実施の形態と同様に、先頭フレームとそれ以外のフレームとで処理を切り替えるものとする。
【００７６】
図１０は、実施の形態３に係る先頭フレームの処理を示すフローチャートである。
【００７７】
また図１１は、先頭フレーム以降のフレームの処理を示すフローチャートである。
【００７８】
図１０の先頭フレームの処理では、先ずステップＳ４１で、復号器１１００により、入力したストリームの１フレーム分を復号する。そしてステップＳ４２に進み、その復号したフレームを、フレームメモリ１１０１及び帯域制限フィルタ１０４を通過させて出力する。
【００７９】
次に、以降のフレームの処理について図１１を参照して説明する。
【００８０】
まずステップＳ５１で、復号器１１００により、入力したストリームの１フレーム分を復号する。次にステップＳ５２で、その復号した結果をフレームメモリ１１０１へ格納する。次にステップＳ５３に進み、その復号した動きベクトル（ＭＶ）を動きベクトル分散マップ生成器１０２へ出力する。これにより動きベクトル分散マップ生成器１０２は、その入力した動きベクトルをメモリ（不図示）に格納し、その入力した動きベクトルと、既に格納済みの周辺の動きベクトルとから動きベクトルの分散を算出する。そしてステップＳ５４に進み、分散の１フレーム分のマップを生成する。
【００８１】
以下、この分散値の算出処理の具体例を説明する。
【００８２】
既に入力された動きベクトルＭＶ1（ＭＶ1x，ＭＶ1y）と対象ブロックの動きベクトルＭＶ2（ＭＶ2x，ＭＶ2y）とから、規定の乗数Ｋを用いて分散値ＤiffVを算出する。
【００８３】
Ｖlast＝ＭＶ1x＋ＭＶ1y×Ｋ
Ｖtar ＝ＭＶ2x＋ＭＶ2y×Ｋ
ＤiffV＝｜Ｖlast−Ｖtar｜
次にステップＳ５５に進み、輪郭抽出器１０３は、動きベクトルの分散値マップを入力して分散値の輪郭領域を抽出する。この時、抽出レベルは外部（例えばユーザ）から設定される抽出レベルの閾値１１１に従う。
【００８４】
尚、この輪郭抽出処理については、規定のゾーベルオペレータを用いたゾーベルフィルタを用いる。ゾーベルフィルタ出力値が外部から設定された抽出レベル閾値以上であった場合、輪郭領域とする。
【００８５】
そしてステップＳ５６に進み、その抽出された輪郭領域の周辺へ領域を拡張する拡張処理を行う。尚、この拡張処理は、前述の図４及び図５を参照して説明した通りである。こうして輪郭抽出処理を実行して、１フレーム分の輪郭領域マップが生成される。
【００８６】
次にステップＳ５７に進み、その輪郭領域マップから、輪郭領域に対して帯域制限フィルタ１０４によるフィルタ処理を実行する。本実施の形態３では、その帯域制限フィルタとしてεフィルタを用いる。
【００８７】
このεフィルタは、注目画素を、その注目画素の近傍にある近傍画素を用いて帯域制限するが、その際に近傍画素の画素値がパラメータεに応じて設定される。即ち、注目画素の画素値を中心とするεの範囲内に近傍画素の画素値がない場合、近傍画素の画素値を注目画素の画素値に置き換えて帯域制限を行う。また近傍画素の画素値がεの範囲内にある場合、その近傍画素の画素値をそのまま用いて帯域制限を行う。従って、注目画素がエッジである度合が大であると、パラメータεも大に設定される。またエッジである度合が小であると、パラメータεが小に設定される。こうしてそのエッジ部に生じるモスキートノイズを除去することができる。また、平坦部や有意なテクスチャ部の画素についてはパラメータεが小となり、有意なテクスチャ部のディテールを維持したフィルタリング結果を得ることができる。
【００８８】
こうして輪郭抽出器１０３から供給される輪郭領域情報に基づいて、輪郭領域の場合はパラメータεを大とし、それ以外ではパラメータεを小として帯域制限を行う。そしてステップＳ５８に進み、フィルタ処理後の１フレームを出力する。
【００８９】
＜その他の実施形態＞
図１２は、前述した実施の形態１〜３に係る画像処理装置のハードウェア構成を説明するブロック図である。
【００９０】
１０００はコンピュータ全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）である。メモリ１００１は、この画像処理装置の動作制御に必要なオペレーティングシステム（ＯＳ）、ソフトウエア、データ、演算に必要な記憶領域を提供するメモリである。また、ＣＰＵ１０００が各種の制御処理を行う際のワークエリアとしても用いられる。よって、上述したフローチャートの各処理ステップは、このメモリ１００１に記憶されたプログラムとＣＰＵ１０００との協働により実現される。システムバス１００２は、ＣＰＵ１０００と各部とを接続し、それらの間でデータや制御信号などをやりとりする。１００３は各種ソフトウエアを蓄積する記憶装置で、例えばハードディスクなどである。１００４は動画像データを蓄積する記憶装置で、例えばハードディスクやＭＯ等が含まれる。表示部１００５は、画像やメッセージなどを表示するのに使用される。通信インターフェース１００７は、通信回路１００８を介してデータの送受信を行っており、装置外部のＬＡＮ、公衆回線、無線回線、放送電波等と接続されている。操作部１００６は、この画像処理装置を起動したり、各種条件を設定したりするのに使用される。
【００９１】
メモリ１００１には、この画像処理装置全体の動作を制御し、各種ソフトウエアを動作させるためのＯＳやソフトウエアを格納し、画像データを読み込むエリア、各種演算のパラメータ等を格納しておくワーキングエリアが存在する。
【００９２】
このような構成において、処理に先立ち、操作部１００６から記憶装置１００４に蓄積されている動画像データから符号化する動画像データを選択し、コンピュータの起動が指示される。すると記憶装置１００３に格納されているソフトウエアがバス１００２を介してメモリ１００１に展開され、ソフトウエアが起動される。そしてＣＰＵ１０００による記憶装置１００４に格納されている動画像データの符号化動作は、図３から図７に示したフローチャートに従ったプログラムコード（前述のソフトウエア）が実行されることになる。
【００９３】
以上の構成により本実施の形態に係る画像処理装置は、前述の実施の形態１〜３に係るノイズ除去を実現する装置として機能する。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施の形態１に係る画像処理装置の主要部の構成を示すブロック図である。
【図２】実施の形態に係る画像処理装置による先頭フレームの処理を説明するフローチャートである。
【図３】実施の形態に係る画像処理装置による先頭フレーム以降のフレームの処理を説明するフローチャートである。
【図４】実施の形態に係る処理対象の画像データの一部を示す図である。
【図５】図４に示す拡張処理を行った結果を示す図である。
【図６】本発明の実施の形態２に係る画像処理装置の主要部の構成を示すブロック図である。
【図７】実施の形態２に係る画像処理装置で処理する周波数ブロックのパターンを示す図である。
【図８】本実施の形態２に係る先頭フレーム以降のフレームの処理を説明するフローチャートである。
【図９】本発明の実施の形態３に係る画像処理装置の主要部の構成を示すブロック図である。
【図１０】実施の形態３に係る先頭フレームの処理を示すフローチャートである。
【図１１】実施の形態３に係る画像処理装置における先頭フレーム以降のフレームの処理を示すフローチャートである。
【図１２】実施の形態１〜３に係る画像処理装置のハードウェア構成を説明するブロック図である。
【図１】
0005055078.tif 000002
【図２】
0005055078.tif 000003
【図３】
0005055078.tif 000004
【図４】
0005055078.tif 000005
【図５】
0005055078.tif 000006
【図６】
0005055078.tif 000007
【図７】
0005055078.tif 000008
【図８】
0005055078.tif 000009
【図９】
0005055078.tif 000010
【図１０】
0005055078.tif 000011
【図１１】
0005055078.tif 000012
【図１２】
0005055078.tif 000013