(57)【要約】【課題】  動画像を効率よく符号化して、高い品質の画像を得ることができるようにする。【解決手段】  符号化直前のフィルタとして、画像のエッジを保護するとともに平滑化するためのフィルタ処理を行うεフィルタ４と、符号化歪みを抑制するとともにバッファの破綻を回避するためのフィルタ処理を行うｋフィルタ５との２種類を設け、入力画像のある領域についてはεフィルタ４にて平坦部のノイズを除去し、別の領域についてはｋフィルタ５にて帯域制限を行うようにすることで、視覚的画像品質の低下を画像全体において防止することができる。【選択図】  図１
2006157084.tif 000002
【特許請求の範囲】
【請求項１】
入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第１の前処理手段と、
前記入力された動画像データの特徴量に基づいて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第２の前処理手段と、
前記符号量と、前記入力された動画像データの特徴量に応じて、前記第１の前処理手段及び前記第２の前処理手段の何れかを選択する選択手段と、
前記選択手段により選択された前処理手段から出力された動画像データを符号化する符号化手段とを有することを特徴とする画像符号化装置。
【請求項２】
前記入力された動画像データの特徴量を領域毎に測定する特徴量測定手段と、
前記特徴量測定手段により測定された特徴量を用いて、第１のフィルタ係数を算出する第１のフィルタ係数算出手段と、
前記符号化手段で動画像データを符号化する際に使用される制御パラメータと、前記符号量とを用いて、第２のフィルタ係数を算出する第２のフィルタ係数算出手段と、
前記第１のフィルタ係数算出手段により算出された第１のフィルタ係数と、前記第２のフィルタ係数とを用いて、前記第１の前処理手段を制御するための第１の制御値を算出する第１の制御値算出手段と、
前記第１の制御値算出手段により算出された第１の制御値と、前記特徴量とを用いて、前記第２の前処理手段を制御するための第２の制御値を算出する第２の制御値算出手段とを有し、
前記第１の前処理手段は、前記第１の制御値算出手段により算出された第１の制御値を用いて、前記入力された動画像データの帯域制限を行い、
前記第２の前処理手段は、前記第２の制御値算出手段により算出された第２の制御値を用いて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化し、
前記選択手段は、前記第１の制御値算出手段により算出された第１の制御値を用いて、前記第１の前処理手段及び前記第２の前処理手段の何れかを選択することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記特徴量測定手段は、前記入力された動画像データを、前記符号化手段により符号化される単位と同等の領域で分割し、その分割した領域毎に、前記入力された動画像データの分散値を測定する分散値測定手段と、
前記入力された動画像データの隣接する画素間の差分値を、前記分割した領域毎に測定する差分値測定手段とを有することを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記第１の前処理手段は、前記入力された動画像データの空間周波数を２次元空間で帯域制限し、
前記第２の前処理手段は、前記入力された動画像データの平坦部のみを平滑化することを特徴とする請求項２又は３に記載の画像符号化装置。
【請求項５】
前記第２のフィルタ係数算出手段は、前記符号化手段で動画像データを符号化する際に使用される量子化スケールを用いて算出したフィルタ係数と、前記符号量を用いて算出したフィルタ係数とを比較し、比較した結果に基づいて前記第２のフィルタ係数を求めることを特徴とする請求項２〜４の何れか１項に記載の画像符号化装置。
【請求項６】
入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第１の前処理ステップと、
前記入力された動画像データの特徴量に応じて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第２の前処理ステップと、
前記符号量と、前記入力された動画像データの特徴量に基づいて、前記第１の前処理手段及び前記第２の前処理手段の何れかを選択する選択ステップと、
前記選択ステップで選択された前処理ステップにより前処理がなされた動画像データを符号化する符号化ステップとを有することを特徴とする画像符号化方法。
【請求項７】
前記請求項６に記載のステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像符号化装置、画像符号化方法、及びコンピュータプログラムに関し、特に、動画像を符号化するために用いて好適なものである。
【背景技術】
【０００２】
従来、画像の符号化方式として、フレーム内符号化方式であるMotion JPEGやDigital Video等の符号化方式や、フレーム間予測符号化を用いたＨ．２６１、Ｈ．２６３、ＭＰＥＧ−１、ＭＰＥＧ−２等の符号化方式が知られている。これらの符号化方式は、ＩＳＯ（International Organization for Standardization：国際標準化機構）やＩＴＵ（International Telecommunication Union：国際電気通信連合）によって国際標準化されている。フレーム内符号化方式は、フレーム単位で独立に符号化を行うものであり、フレームの管理がしやすいため、動画像の編集や特殊再生が必要な装置に最適である。また、フレーム間予測符号化方式は、フレーム間での画像データの差分に基づくフレーム間予測を用いるため、符号化効率が高いという特徴を持っている。
【０００３】
ＭＰＥＧ−２で符号化を行う従来の動画像符号化装置の構成の一例を図１２に、その動画像符号化装置で符号化された符号化ピクチャの構造の一例を図１３に示す。ＭＰＥＧで符号化された符号化ピクチャ構造は、図１３のように、予測方法の異なる３種類のピクチャの組み合わせによって構成される。これら３種類のピクチャは、それぞれＩピクチャ（フレーム内符号化）、Ｐピクチャ（順方向予測符号化）、Ｂピクチャ（双方向予測符号化）と呼ばれる。
【０００４】
また、これらのピクチャを複数組み合わせたものをGroup of Picture（以降ＧＯＰと称す）と呼ぶ。このＧＯＰは、Ｉピクチャを１枚だけ含むため、編集の単位となる場合が多い。これらの予測モードは、図１２に示されるように、モード判定器１０５からの制御信号によりスイッチ１０１、１０８にて切り替えられる。Ｉピクチャでは符号化画像そのものに対してＤＣＴ器１０２でＤＣＴ（Discrete Cosine Transform；離散コサイン変換）が実行される。一方、Ｐピクチャ及びＢピクチャでは、さらに動き補償器１０９による動き補償予測の誤差信号に対して、ＤＣＴ器１０２でＤＣＴが実行される。
【０００５】
ＤＣＴ器１０２で得られたＤＣＴ係数に対する量子化が、レート制御器１００からの出力に基づく制御に従って、量子化器１０３によってなされた後に、動きベクトル等のその他の付加情報と共に可変長符号化が可変長符号化器１０４でなされ、符号列が「ビットストリーム」として出力される。この際、可変長符号化器１０４からの符号量に応じてレート制御器１００で量子化スケールが制御される。一方、量子化器１０３の出力係数は、逆量子化器１０６、逆ＤＣＴ器１０７に供給され、局部復号されてブロック毎にフレームメモリ（ＦＭ）１１０に貯えられる。
尚、前記ＧＯＰの構造において、ＩピクチャとＰピクチャとの間隔をＭ、ＧＯＰ内のフレーム数をＮと称して表す。図１３に示した例では、Ｍ＝３、Ｎ＝１５となる。
【０００６】
ＭＰＥＧ−２は可変長符号化を行うため、単位時間当りの発生符号量は一定ではない。そこで、量子化器１０３での量子化の際の量子化スケールをマクロブロック単位に適宜変更することにより、所望のビットレートに制御することが可能になっている。ＭＰＥＧ−２  Ｔｅｓｔ  Ｍｏｄｅｌ  ５（非特許文献１を参照）のステップ３には、各マクロブロックの分散値を元に量子化スケールを変動させる方法が記述されている。
【０００７】
ここで、量子化時の量子化スケールを大きくすることで圧縮率を上げることができる。しかし、量子化スケールを大きくすると、高周波成分の量子化誤差が増加し、ブロック歪みや、モスキート歪みと呼ばれる符号化歪みが発生し、画像品質が著しく低下する。また、前記フレーム間符号化方式では、フレーム間予測を用いているため、空間方向の高周波成分と時間方向の動き量との双方に依存して符号化が行われる。よって高周波成分のない単純な画像であっても動きが激しい場合は、予測誤差に高周波成分を多く含むため、符号化歪みが多く発生する。
【０００８】
このような動画像符号化の基本構成に加え、入力画像に予め帯域制限フィルタを施し、視覚的に目立たない高周波成分を除去して符号量を削減することで、復号画像の主観的な画像品質を向上させることが一般的に行われる。このとき、帯域制限フィルタの特性は、圧縮率に応じて設定され、高い圧縮率の場合には狭帯域に、低い圧縮率の場合には広帯域に設定されていた。さらに、符号化出力である発生符号量に応じて、前記帯域制限フィルタを制御するという方法が知られている。
尚、その他のＭＰＥＧ等の詳細内容については、ISO/IECによる国際標準の文書に委ねることとする。
【０００９】
【非特許文献１】MPEG-2 Test Model, Document ISO/IEC JTC1 SC29 WG11/93-400, Test Model Editing Committee, April 1993.
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記従来の技術では、発生符号量が多い場合、フィルタにより著しく帯域が制限され、高周波成分のみでなく低周波成分の画像情報まで削除される場合が生じる。低周波成分は視覚に与える影響が大きいため、これを削除すると著しく視覚的画像品質が低下してしまう。このような帯域制限の処理は、画像の局所的な性質に応じて行うべきである。
【００１１】
また、動画像の高周波成分が少なくても動き量の大きいシーケンスを持つ動画像を符号化する場合、発生符号量が増加し、帯域制限フィルタが高周波成分を除去する方向に作用してしまう。このため、動き部分においての高周波成分のみならず動き量の少ない静止部分でも高周波成分が除去されてしまい、人間の視覚上の解像度が高くなる静止部分の解像度が悪くなる。したがって、再生画像の全体的な画像品質評価を大きく低下させてしまう。さらに、これと同時に、帯域制限フィルタのカットオフ周波数が変動すると、静止部分の解像度が変動するため、画像全体をみた場合、結果として不自然な画像となってしまう。
【００１２】
以上のように、従来の技術では、符号量を効率的に抑制しながら高い画像品質を達成することができなかった。
本発明は、前述の問題点に鑑みてなされたものであり、動画像を効率よく符号化して、高い品質の画像を得ることができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の画像符号化装置は、入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第１の前処理手段と、前記入力された動画像データの特徴量に基づいて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第２の前処理手段と、前記符号量と、前記入力された動画像データの特徴量に応じて、前記第１の前処理手段及び前記第２の前処理手段の何れかを選択する選択手段と、前記選択手段により選択された前処理手段から出力された動画像データを符号化する符号化手段とを有することを特徴とする。
【００１４】
本発明の画像符号化方法は、入力された動画像データの特徴量と、過去に符号化された動画像データの符号量とに応じて、前記入力された動画像データの帯域制限を行う第１の前処理ステップと、前記入力された動画像データの特徴量に応じて、前記入力された動画像データのエッジを保護するとともに前記入力された動画像データを平滑化する第２の前処理ステップと、前記符号量と、前記入力された動画像データの特徴量に基づいて、前記第１の前処理手段及び前記第２の前処理手段の何れかを選択する選択ステップと、前記選択ステップで選択された前処理ステップにより前処理がなされた動画像データを符号化する符号化ステップとを有することを特徴とする。
【００１５】
本発明のコンピュータプログラムは、前記記載のステップをコンピュータに実行させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、入力された動画像の特徴量と、過去に符号化された動画像の符号量とに基づいて、前記入力された動画像の帯域制限を行う第１の前処理と、前記入力された動画像の特徴量に基づいて、前記入力された動画像のエッジを保護するとともに前記入力された動画像を平滑化する第２の前処理とのうちの何れかの前処理を行ってから、動画像を符号化するようにして、前処理と符号量制御とを連動動作させることにより、視覚的に画像の品質が低下することを防止しつつ、発生符号量を好適に制御することができるようにすることが、簡便に行えるようにする。
【発明を実施するための最良の形態】
【００１７】
（第１の実施形態）
次に、図面を参照しながら、本発明の第１の実施形態について説明する。
図１は、本実施形態の画像符号化装置の構成の一例を示すブロック図である。なお、本実施形態の画像符号化装置では、制御の最小単位をマクロブロックとする。
図１において、１は、入力画像の特徴量としてマクロブロック毎の特徴量を測定する特徴量測定器である。本実施形態では、マクロブロック毎の分散と画素間差分の最大値を測定する。２は、特徴量測定器１からの特徴量を蓄積する特徴量メモリである。本実施形態では、Ｍフレーム分の特徴量を蓄積するものとする。
【００１８】
３は、前記蓄積された特徴量から、フィルタの係数を算出するフィルタ係数算出器である。４は、エッジを保護し且つ平滑化するεフィルタである。本実施形態で使用するεフィルタ４は、以下の（１式）及び（２式）で示されるフィルタ処理を行う。
【００１９】
【数１】
2006157084.tif 000003
【００２０】
この（１式）及び（２式）で示されるフィルタ処理では、中心画素f(x,y)と、その近傍画素f(x+i,y+j)との差分値を計算し、その絶対値がεよりも大きい場合は、その近傍の画素の値を中心画素の値に置き換えて平滑化処理を行う（x,y＝−Ｍ，・・・，０，１，・・・Ｍ）。その結果、εフィルタ４の出力g(x,y)では、エッジ成分を保護し、小振幅の高調波であるノイズを平滑化して抑制することができる。なお、εフィルタについての詳細は、「原島博ほか"ε−分離非線形ディジタルフィルタとその応用"電子情報通信学会  昭５７−論１４６〔Ａ−３６〕  昭和５７年４月」に記載されている。
【００２１】
５は、水平、垂直双方の２次元帯域制限フィルタである。本実施形態で使用する２次元帯域制限フィルタ５は、以下の（３式）で示されるものになる。
【００２２】
【数２】
2006157084.tif 000004
【００２３】
（３式）に示されるように、本実施形態では、２次元帯域制限フィルタ５は、３画素×３ラインの２次元フィルタであり、変数ｋによる帯域を設定する低域通過型フィルタである。変数ｋの最小値を２とし、値が増加するとフィルタの強度は低下し、制限する帯域は狭くなる。以降、２次元帯域制限フィルタをｋフィルタと称す。
【００２４】
６は、εフィルタ４及びｋフィルタ５からの画像信号のどちらかを選択し出力するセレクタである。７は、セレクタ６で選択された画像信号を格納するフレームメモリである。本実施形態では、特徴量メモリ２と同様に、Ｍフレーム分の画像信号を格納するものとする。８は、フレームメモリ７に蓄積された画像信号を符号化する符号化器である。
９は、符号化器８から出力されたストリームを蓄積するエンコーダ出力のバッファである。バッファ９は、符号化器８から出力されたストリームに基づくフレーム毎の発生符号量と、デコーダバッファを想定したデコーダバッファポインタを出力する。デコーダバッファポインタは、バッファサイズからエンコーダバッファポインタを差し引いた値とする。
【００２５】
１０は、バッファ９から出力された発生符号量に基づいて、符号化器８を制御する符号量制御器である。１１は、符号化器８から出力された制御パラメータとバッファ９から出力されたバッファポインタから、εフィルタ４及びｋフィルタ５の係数を算出するフィルタ係数算出器である。本実施形態では、前記制御パラメータを量子化スケールとする。
【００２６】
１２は、フィルタ係数算出器１１から出力された係数を蓄積する係数メモリである。本実施形態では、特徴量メモリ２と同様に、Ｍフレーム分の係数を蓄積するものとする。１３は、ｋフィルタ５へ制御値を出力しフィルタの制御を行うｋフィルタ制御器である。ｋフィルタ制御器１３は、このｋフィルタ５の制御と同時に、εフィルタ制御器１４やセレクタ６も制御する。１４は、εフィルタ４へ制御値を出力しフィルタの制御を行うεフィルタ制御器である。
【００２７】
次に、以上のような構成を有する本実施形態の画像符号化装置の動作について説明する。
本実施形態での処理は、大きく２つに分類される。先頭からＭフレームまでの処理と（以下、先頭Ｍフレームと略称する）、それ以外のフレームの処理である。先頭Ｍフレームでの処理は、符号化前にＭフレーム分のフィルタ処理を実行した画像を用意するまで実行される。一方、それ以外の定常時の処理は、前記フィルタの施されたフレームを符号化する処理と、さらに次の符号化対象となるフレームに対してフィルタを施す処理とを行う。ここで、ＭフレームとはＭＰＥＧのオーダリング単位であり、Ｂピクチャを扱うエンコーダで必須のメモリ領域分と等しい。
【００２８】
次に、先頭Ｍフレームのフィルタ処理（先頭フレームフィルタ処理）を行う際の画像符号化装置の動作の一例について、図２のフローチャートを参照して説明する。
まず、ビデオ信号は特徴量測定器１へ入力され、特徴量測定器１は、マクロブロック内の隣接する画素間差分の最大値ｍｄをマクロブロック毎に算出する（ステップＳ１０）。ここで、マクロブロック内の隣接する画素間差分の最大値ｍｄは、マクロブロック内の輝度信号（＝１６画素×１６ライン）を対象として得られる値である。この画素間差分の最大値ｍｄの計算式を以下の（４式）に示す。
【００２９】
ｍｄ＝MAX＿ｉ0＿15＿ｊ0＿14(abs(p(i+1,j)−p(i,j)))  ・・・（４式）
ここで、iは、マクロブロック内水平画素位置である。jは、マクロブロック内垂直ライン位置である。p(i,j)は、マクロブロック内画素（座標(i,j)）である。absは、絶対値であることを示す。MAX＿i0＿15＿j0＿14は、i=0〜14,j=0〜15における最大値を選択することを示す。
【００３０】
次に、前記算出した画素間差分の最大値ｍｄを、特徴量メモリ２へＭフレーム分蓄積する（ステップＳ１１）。
次に、εフィルタ制御器１４において、画素間差分の最大値ｍｄから、Ｍフレームの同一位置のマクロブロックにおける平均値ｍｄｍを算出し、さらにこの平均値ｍｄｍからフィルタ制御値εを算出する（ステップＳ１２）。本実施形態では、以下の（５式）の変換式によりフィルタ制御値εを算出するものとする。
ε＝ｍｄｍ／２  ・・・（５式）
【００３１】
εフィルタ４は、フィルタ制御値εを用いて、入力されたビデオ信号（入力画像）に対してフィルタ処理を実行する。このフィルタ処理を実行して得られた出力画像は、セレクタ６を介しフレームメモリ７へ蓄積される（ステップＳ１３）。尚、先頭Ｍフレームにおいては、ｋフィルタ５によるフィルタ処理を実行せず、セレクタ６はεフィルタ４からの出力のみを選択し出力する。
【００３２】
次に、定常時の符号化処理を行う際の画像符号化装置の動作の一例について、図３のフローチャートを参照して説明する。動画像の符号化ではＭフレームの処理単位で本処理を繰り返すことになる。
まず、符号量制御器１０は、バッファ９からの発生符号量から量子化スケールＱＰを算出し、符号化器８を制御する（ステップＳ２０）。
次に、符号化器８は、フレームメモリ７に蓄積された画像信号（フレーム）を符号化する（ステップＳ２１）。
次に、係数算出器１１は、バッファ９からのバッファポインタと符号量制御器１０からの量子化スケールＱＰから、フィルタ係数ｋｅを算出する（ステップＳ２２）。
次に、フィルタ係数ｋｅを係数メモリ１２へ蓄積する（ステップＳ２３）。
【００３３】
前記フィルタ係数ｋｅを求める際の画像符号化装置の動作（ステップＳ２２の動作）の一例を、図４のフローチャートを参照して説明する。
まず、量子化スケールＱＰからフィルタ係数ｋｑを算出する（ステップＳ４０）。図５に、量子化スケールＱＰとフィルタ係数ｋｑとの関係の一例をグラフ化して示す。図５において、グラフ内のＱＰＡは、フィルタ強度が最低のときの量子化スケールＱＰの値であり、曲線が漸近する値である。
本実施形態では、量子化スケールＱＰの値が、このＱＰＡ以上となった場合に、フィルタ係数ｋｑが減少する。
【００３４】
次に、前記デコーダバッファポインタＤＢＰからフィルタ係数ｋｂを算出する（ステップＳ４１）。図６に、バッファポインタＤＢＰとフィルタ係数ｋｂとの関係の一例をグラフ化して示す。図６において、グラフ内のＤＢは、バッファサイズであり、曲線が漸近する値はＤＢ／２とする。
デコーダバッファのアンダーフローを防止するため、デコーダバッファポインタＤＢＰがバッファサイズの１／２以下となった場合に、フィルタ係数ｋｂが減少する。
【００３５】
次に、係数算出器１１において前記フィルタ係数ｋｑ、ｋｂを比較し、大きな方の値を選択しフィルタ係数ｋｅとする（ステップＳ４２、Ｓ４３、Ｓ４４）。フィルタ係数ｋｅは係数メモリ１２へ蓄積される。
【００３６】
次に、定常時のフィルタ処理（定常フレームフィルタ処理）を行う際の画像符号化装置の動作の一例について、図７のフローチャートを参照して説明する。動画像の符号化ではＭフレームの処理単位で本処理を繰り返すことになる。
まず、ビデオ信号は、特徴量測定器１へ入力され、特徴量測定器１は、マクロブロック毎の分散と画素間差分の最大値ｍｄを算出する（ステップＳ３０）。画素間差分の最大値ｍｄに関しての処理は前述した通りであるので詳細な説明を省略し、ここでは、もう一つの特徴量である分散値を得るまでの動作について説明する。
【００３７】
本実施形態では、特徴量測定器１において、分散値をマクロブロック毎に算出する。算出したマクロブロック毎の分散値をａｃｔと称する。この分散値ａｃｔは、マクロブロック内の輝度信号における４ブロックの分散値における最小値に１を加えた値とする。この分散値ａｃｔの計算式を以下の（６式）に示す。
【００３８】
【数３】
2006157084.tif 000005
【００３９】
ここで、Pjは、ブロック内の輝度画素値である。P＿avgは、ブロック内の輝度画素値の平均値である。MIN＿block0to3は、４ブロックの分散値から最小値を選択することを示す。
【００４０】
次に、前記算出した分散ａｃｔを、前記画素間差分の最大値ｍｄと同時に、特徴量メモリ２へＭフレーム分蓄積する（ステップＳ３１）。
次に、前述したステップＳ１２、Ｓ１３と同様に、フィルタ制御値εを算出した後、このフィルタ制御値εを用いて、入力されたビデオ信号（入力画像）に対してフィルタ処理を実行し、フレームメモリ７へ蓄積する（ステップＳ３２、Ｓ３３）。
【００４１】
次に、ｋフィルタ制御器１３は、特徴量メモリ２内に蓄積されたマクロブロック毎の分散ａｃｔを用いて係数算出器３で求められたフィルタ係数Ｋａと、前記蓄積された係数メモリ１２内のフィルタ係数ｋｅとからフィルタ制御値ｋを算出する（ステップＳ３３）。
次に、前記算出されたフィルタ制御値ｋと、予め定められた値ＫＥとを比較し、フィルタ制御値ｋが予め定められた値ＫＥよりも小さければ、ステップＳ３２、Ｓ３３の処理を実行し、そうでなければ、前記算出されたフィルタ制御値ｋにより、ｋフィルタ５によるフィルタ処理を実行し、フレームメモリ７へ蓄積する（ステップＳ３４）。
【００４２】
ここで、εフィルタ制御器１４における処理の一例を、図８のフローチャートを参照して説明する。
まず、ｋフィルタ制御器１３からのフィルタ制御値ｋを入力する（ステップＳ５０）。次に、入力したフィルタ制御値ｋと、予め定められた値ＫＥとを比較し（ステップＳ５１）、入力したフィルタ係数ｋｅが、予め定められた値ＫＥよりも小さければ、εフィルタ４をオフ（ＯＦＦ）とする（ステップＳ５１）。一方、入力したフィルタ制御値ｋが、予め定められた値ＫＥ以上であれば、前記ステップＳ１２、Ｓ３２と同様に、フィルタ制御値εを算出し（ステップＳ５３）、εフィルタ４をオン（ＯＮ）とする（ステップＳ５４）。
【００４３】
次に、ｋフィルタ制御器１３における処理の一例を、図９のフローチャートを参照して説明する。
まず、特徴量メモリ２内に蓄積されたマクロブロック毎の分散値ａｃｔから、Ｍフレームの同一位置のマクロブロックにおける分散値の平均値ａｃｔｍ（以下、Ｍフレーム平均分散と略称する）を算出し、フィルタ係数ｋａを算出する（ステップＳ６０）。
図１０に、Ｍフレーム平均分散ａｃｔｍと、フィルタ係数ｋａとの関係の一例をグラフ化して示す。図１０において、グラフ内のａｃｔＡは、分散値のａｃｔｍの最小値であり曲線が漸近する値となる。
Ｍフレーム平均分散ａｃｔｍがａｃｔＡ以上となった場合、フィルタ係数ｋａが減少する。
【００４４】
次に、係数メモリ１２から蓄積されたフィルタ係数ｋｅを入力する（ステップＳ６１）。このときフィルタ係数ｋｅから、Ｍフレームの同一位置におけるマクロブロックの平均値ｋｅｍ（以下、Ｍフレーム平均フィルタ係数と略称する）を算出する。
次に、算出したＭフレーム平均フィルタ係数ｋｅｍと、係数算出器３から得たフィルタ係数ｋａとを用いて、フィルタ制御値ｋを、以下の（７式）により算出する（ステップＳ６２）。
ｋ＝（ＸＡ×ｋａ＋ＸＥ×Ｋｅｍ）／（ＸＡ＋ＸＥ）  ・・・（７式）
ここで、ＸＡは、フィルタ係数Ｋａの重み付け定数であり、ＸＥは、フィルタ係数Ｋｅの重み付け定数である。
【００４５】
次に、フィルタ制御値ｋと、予め定められた値ＫＥとを比較し（ステップＳ６３）、フィルタ制御値ｋが、予め定められた値ＫＥ以上であれば、ｋフィルタ５をオフ（ＯＦＦ）とする（ステップＳ６４）。一方、フィルタ制御値ｋが、予め定められた値ＫＥよりも小さければ、フィルタ制御値ｋを出力しｋフィルタ５をオン（ＯＮ）とする（ステップＳ６５）。
ｋフィルタ制御器１３からの制御信号により、セレクタ６はεフィルタ４またはｋフィルタ５からの信号を選択し、フレームメモリ７へ出力する。
【００４６】
以上のように、本実施形態では、動画像の特徴量として、分散及び隣接画素間の差分を測定し、バッファポインタ及び量子化スケールから、フィルタ係数Ｋｅを算出し、このフィルタ係数ｋｅと分散値とからフィルタ制御値ｋを算出し、算出したフィルタ制御値ｋを用いて、符号化直前のｋフィルタ５により帯域制限を行うようにしたので、視覚的画像品質の低下を防止しつつ、発生符号量を容易に且つ好適に制御することができる。
また、符号化直前のフィルタとして、画像のエッジを保護するとともに平滑化するためのフィルタ処理を行うεフィルタ４と、符号化歪みを抑制するとともにバッファの破綻を回避するためのフィルタ処理を行うｋフィルタ５との２種類を設け、入力画像を２つの領域に分け、ある領域についてはεフィルタ４にて平坦部のノイズを除去し、別の領域についてはｋフィルタ５にて帯域制限を行うようにしたので、視覚的画像品質の低下を画像全体において防止しつつ、発生符号量を好適に制御することが、少ない負荷で行うことができる。
また、メモリ内に蓄積された複数のフレームに対し、同一強度のフィルタ処理を施すようにしたので、画像の急激な帯域制限の変化がなくなり、視覚的画像品質の低下をより一層防止することができる。
また、メモリの調停により、フィルタ処理と符号化処理とを分けて動作できるので、２つの処理の並列動作が可能となる。
【００４７】
なお、本実施形態では、画像特徴量として、ブロック内の分散値を元に、（６式）を用いて分散値ａｃｔを求めるようにしたが、これ以外の式で、画像特徴量を求めても構わない。
また、帯域制限フィルタとして、（３式）に示すような２次元ｋフィルタを用いたが、別の形式のフィルタでも構わない。その際、フィルタの帯域を制御する係数が複数になるとするなら、本実施形態のｋに対し、複数の係数の組み合わせを定めた表を用意しそれを使用すればよい。
【００４８】
さらに、バッファポインタからフィルタ係数を求める際に、フィルタの効果はバッファサイズの１／２以下としたが、それ以外の値でも構わない。
また、フィルタ係数を算出する際の関係式は、本実施形態で説明した式以外の式でも構わない。実装上さらに簡単にするため単純な比例式を用いても構わない。
さらに、処理の簡易化のため、２種類のフィルタのどちらかを固定的に扱うようにしても構わない。たとえば、εフィルタ４の閾値を固定値としても構わない。その場合、特徴量として測定する対象は分散のみとなる。
また、フィルタを切り替える周期をマクロブロック単位としたが、これ以外の単位でも構わない。
【００４９】
（第２の実施形態）
前述した第１の実施形態における画像符号化装置は、図１１に示すようなコンピュータを用いて実現することができる。
図１１において、１０００はコンピュータ全体の制御、及び種々の処理を行う中央演算装置（ＣＰＵ）、１００１は本コンピュータの制御に必要なオペレーティングシステム（ＯＳ）、ソフトウエア、データ、演算に必要な記憶領域を提供するメモリである。また、このメモリ１００１は、ＣＰＵ１０００が各種の処理を行う際のワークエリアとしても用いられる。
【００５０】
１００２は、種々の装置をつなぎ、データ、制御信号をやりとりするバスである。１００３は、各種のソフトウエアを蓄積する記憶装置（記録メディア）である。１００４は、動画像データを蓄積する記憶装置（記録メディア）である。１００５は、画像やコンピュータからのシステムメッセージなどを表示するモニタである。
１００７は、通信回路１００８に符号化データを送信する通信インターフェースであり、装置外部のＬＡＮ、公衆回線、無線回線、放送電波等と接続されている。１００６は、コンピュータを起動したり、ビットレート等の各種条件を設定したりするための端末である。
【００５１】
なお、メモリ１００１には、コンピュータ全体を制御し、各種ソフトウエアを動作させるためのＯＳや、動作させるソフトウエアを格納し、画像データを符号化のために読み込むエリア、一時的に符号データを格納する符号エリア、各種演算のパラメータ等を格納しておくワーキングエリアが存在する。
【００５２】
このような構成のコンピュータにおいて、処理に先立ち、ユーザの端末１００６の操作に基づいて、記憶装置１００４に蓄積されている動画像データから符号化する動画像データを選択し、コンピュータの起動が指示される。そうすると、記憶装置１００３に格納されているソフトウエアがバス１００２を介してメモリ１００１に展開され、ソフトウエアが起動される。
【００５３】
そして、ＣＰＵ１０００による記憶装置１００４に格納されている動画像データの符号化動作は、図２〜４及び図７〜９に示したフローチャートに従ったプログラムコード（前述のソフトウエア）が実行されることになる。
このように、本実施形態におけるコンピュータは、第１の実施形態における画像符号化装置を実現する装置として機能する。
【００５４】
（本発明の他の実施形態）
上述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウエアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【００５５】
また、この場合、前記ソフトウエアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５６】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【００５７】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００５８】
【図１】本発明の第１の実施形態を示し、画像符号化装置の構成の一例を示すブロック図である。
【図２】本発明の第１の実施形態を示し、先頭フレームフィルタ処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。
【図３】本発明の第１の実施形態を示し、定常時の符号化処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。
【図４】本発明の第１の実施形態を示し、フィルタ係数ｋｅを求める際の画像符号化装置の動作の一例を説明するフローチャートである。
【図５】本発明の第１の実施形態を示し、量子化スケールＱＰとフィルタ係数ｋｑとの関係の一例をグラフ化して示した図である。
【図６】本発明の第１の実施形態を示し、バッファポインタＤＢＰとフィルタ係数ｋｂとの関係の一例をグラフ化して示した図である。
【図７】本発明の第１の実施形態を示し、定常フレームフィルタ処理を行う際の画像符号化装置の動作の一例を説明するフローチャートである。
【図８】本発明の第１の実施形態を示し、εフィルタ制御器における処理の一例を説明するフローチャートである。
【図９】本発明の第１の実施形態を示し、ｋフィルタ制御器における処理の一例を説明するフローチャートである。
【図１０】本発明の第１の実施形態を示し、Ｍフレーム平均分散ａｃｔｍと、フィルタ係数ｋａとの関係の一例をグラフ化して示した図である。
【図１１】本発明の第２の実施形態を示し、画像符号化装置を実現するコンピュータシステムの構成の一例を示したブロック図である。
【図１２】従来の技術を示し、従来の動画像符号化装置の構成の一例を示したブロック図である。
【図１３】従来の技術を示し、符号化ピクチャ構造の一例を示した図である。
【符号の説明】
【００５９】
１  特徴量測定器
２  特徴量メモリ
３、１１  係数算出器
４  εフィルタ
５  ｋフィルタ
６  セレクタ
７  フレームメモリ
８  符号化器
９  バッファ
１０  符号量制御器
１２  係数メモリ
１３  ｋフィルタ制御器
１４  εフィルタ制御器
１０００  ＣＰＵ
１００１  メモリ
１００２  バス
１００３、１００４  記憶装置（記録メディア）
１００５  モニタ
１００６  端末
１００７  通信Ｉ／Ｆ
【図１】
2006157084.tif 000006
【図２】
2006157084.tif 000007
【図３】
2006157084.tif 000008
【図４】
2006157084.tif 000009
【図５】
2006157084.tif 000010
【図６】
2006157084.tif 000011
【図７】
2006157084.tif 000012
【図８】
2006157084.tif 000013
【図９】
2006157084.tif 000014
【図１０】
2006157084.tif 000015
【図１１】
2006157084.tif 000016
【図１２】
2006157084.tif 000017
【図１３】
2006157084.tif 000018