(57)【要約】【課題】  符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質が保たれる符号化装置及び符号化方法を提供すること。【解決手段】  画像の情報量を削減する場所をフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）、量子化器１１０の４箇所に分散し、符号量コントローラ１０２がこの３つのフィルタと量子化器１１０の特性を制御する。【選択図】図１
2007074559.tif 000002
【特許請求の範囲】
【請求項１】
入力された画像データにフィルタ処理を施すフィルタ手段と、
前記フィルタ処理の施された画像データを量子化する量子化手段と、
予測画像のブロック歪みを測定する測定手段と、
前記ブロック歪みに対応して前記フィルタ手段及び前記量子化手段の特性を制御する制御手段と、
を備えることを特徴とする、符号化装置。
【請求項２】
さらに、前記フィルタ手段は、
入力された前記画像データに直接フィルタ処理を施す第１のフィルタ手段と、
前記画像データのフレーム間予測又は動き補償予測による差分画像データにフィルタ処理を施す第２のフィルタ手段と、
前記画像データ又は前記差分画像データの直交変換により得られる直交変換係数にフィルタ処理を施す第３のフィルタ手段と、
のうち少なくとも１つを備えることを特徴とする、請求項１に記載の符号化装置。
【請求項３】
前記第１のフィルタ手段は、前記画像データの高周波成分を除去するローパス・フィルタであることを特徴とする、請求項２に記載の符号化装置。
【請求項４】
前記第２のフィルタ手段は、前記差分画像データの高周波成分を除去するローパス・フィルタであることを特徴とする、請求項２又は３に記載の符号化装置。
【請求項５】
前記第３のフィルタ手段は、前記制御手段が指示する値を前記直交変換係数に乗ずることを特徴とする、請求項２乃至４のいずれか１項に記載の符号化装置。
【請求項６】
入力された画像データにフィルタ処理を施すフィルタリング工程と、
前記フィルタ処理の施された画像データを量子化する量子化工程と、
予測画像のブロック歪みを測定する測定工程と、
を備え、
前記ブロック歪みに対応して前記フィルタリング工程及び前記量子化工程の特性を制御することを特徴とする、符号化方法。
【請求項７】
請求項６に記載の符号化方法をコンピュータに実行させるプログラム。
【請求項８】
請求項７に記載のプログラムを記憶したコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ブロック歪みを抑えつつ効率的な符号化を行なう符号化装置及び符号化方法に関する。
【背景技術】
【０００２】
現在、ＭＰＥＧ(Moving Picture Experts Group)国際標準動画像符号化方式に代表されるように、動画像圧縮符号化方式においては、一般的に、動き補償予測符号方式と呼ばれる方法がとられる。この方法ではまず、符号化対象画像のフレームを矩形領域（ブロック）に分割し、現フレームの入力信号ブロックと動き補償予測により得られた予測対象フレームの局部復号信号ブロックとのフレーム間差分をとり、時間領域の冗長性を除去する。次に、ブロックごとに直交変換を施して情報を偏らせ、その情報の偏りを利用してエントロピー符号化を行なう。
【０００３】
この動き補償予測符号化方式における動き検出は、通常ブロックマッチング法と呼ばれる方式により行なわれる。例えば、符号化対象画像を１６画素×１６ラインのブロック（マクロブロック）に分割し、マクロブロックごとに動きベクトルを検索する。すなわち、現在の処理対象画像のマクロブロックを、過去の処理対象画像において位置をずらしながら同サイズの領域（マクロブロック）と比較していき、最も一致していたマクロブロックの、現在の処理対象画像におけるマクロブロックの位置に対する相対位置を動きベクトルとして検出する。また、直交変換は、動き補償された予測ブロックと現在の処理対象マクロブロックとの差分ブロックを、さらに８画素×８ラインにブロック分割した単位に対して行なわれ、ＭＰＥＧにおいては直交変換方式にＤＣＴ（離散コサイン変換）を用いる。ＤＣＴを用いて空間領域から周波数領域に変換された係数は、一般的に低い周波数成分に情報が偏る。こうした変換係数に対して量子化処理を施し、得られた量子化変換係数を低周波から高周波の順番に並べ替えてゼロ・ランレングス符号化を行なう。すなわち、非ゼロ係数と直前のゼロ・ランレングスのペアをシンボルとし、発生頻度が高いほど符号長が短くなるように割り当てられたハフマン符号テーブルを参照して符号化する。
【０００４】
このような方法で動画像の符号化を行なう際に問題となるのが、符号化ストリーム（符号化により得られる符号）の符号量である。一般に、符号化ストリームの符号量は得たい画質と蓄積メディアの容量、伝送路のバンド幅等により制限を受ける。このため、符号化装置は量子化処理に用いる量子化値（量子化ステップ）を適切に設定することによって、符号量の制御を行なう必要がある。
【０００５】
図３は、従来の符号化装置の構成例を示す図である。
【０００６】
符号化装置３０１において入力画像は、符号化すべき動画像シーケンスを表し、フレームごとにマクロブロック分割されたかたちで入力される。この入力画像は、動き補償器３０３及び差分生成器３０５に入力される。
【０００７】
動き補償器３０３はフレームメモリ３０４から過去の画像を受け取り、現在の処理対象ブロックについて動きベクトルを検出し、それに基づいて得られた動き補償データを、差分生成器３０５及び加算器３１１に出力する。
【０００８】
差分生成器３０５は、入力された現在の処理対象ブロックと動き補償器３０３の出力する動き補償データとの差分をとり、直交変換器３０６に出力する。
【０００９】
直交変換器３０６は差分生成器３０５から受け取ったデータに直交変換（ここではＤＣＴ、離散コサイン変換として説明する）を施してＤＣＴ係数を量子化器３０７に出力する。
【００１０】
量子化器３０７は、ＤＣＴ係数を符号量コントローラ３０２が出力する量子化値を用いて量子化し、量子化ＤＣＴ係数としてエントロピー符号化器３０８及び逆量子化器３０９に出力する。
【００１１】
エントロピー符号化器３０８は、量子化ＤＣＴ係数に対してエントロピー符号化を施し、符号化ストリームとして符号量コントローラ３０２に出力し、同時に外部へと出力する。
【００１２】
逆量子化器３０９は、量子化ＤＣＴ係数を、符号量コントローラ３０２が出力する量子化値を用いて逆量子化し、逆直交変換器３１０に出力する。
【００１３】
逆直交変換器３１０は、逆量子化器３０９の出力に対して直交変換器３０６と逆の処理、すなわち逆ＤＣＴ処理を施し、加算器３１１に出力する。
【００１４】
加算器３１１は、動き補償器３０３の出力する動き補償データ及び逆直交変換器３１０の出力するデータとを加算して、再構成画像データとしてフレームメモリ３０４に出力する。
【００１５】
フレームメモリ３０４は、再構成画像データを蓄え、動き補償器３０３の要求に応じて必要なデータを動き補償器３０３に出力する。
【００１６】
符号量コントローラ３０２は、エントロピー符号化器３０８の出力する符号化ストリームを基により適した量子化値を計算し、量子化器３０７及び逆量子化器３０９に出力する。
【００１７】
次に、符号化装置３０１の動作の具体例について説明する。
【００１８】
まず、入力画像として符号化されるべき動画像シーケンスのデータがフレームごとに、予めマクロブロック分割されたかたちで入力され、このマクロブロック分割されたデータそれぞれが、処理対象ブロックとなる。この処理対象ブロックは、動き補償器３０３及び差分生成器３０５に入力される。
【００１９】
動き補償器３０３は、以前既に符号化され、再構成画像としてフレームメモリ３０４に格納されている、現在処理中のフレームとは別のフレームの画像データ（予測画像）を参照データとして、処理対象ブロックと相関の高い位置のデータを探索する。探索処理によって判明した相関の高い位置の情報は、その位置から処理対象ブロックの位置へのベクトル（動きベクトル）というかたちで動き補償器３０３が保持し、図３では省略するが符号化データに含まれる。動き補償器３０３は、動きベクトルに基づき、フレームメモリ３０４より読み出した参照画像データの対応する位置のブロックを、動き補償データとして差分生成器３０５及び加算器３１１に出力する。
【００２０】
差分生成器３０５では、処理対象ブロックデータと、動き補償器３０３の出力する動き補償データとの差分をとることによって、時間領域の冗長性が除去される。しかし、差分データと処理対象ブロックデータとを最終的な符号量という観点で比較したときに、処理対象ブロックを直接符号化した方が符号量が少なくなる場合もある。一般的に符号化器は、符号化前にどちらを符号化するほうがよいかの判定（予測判定）を行ない、処理対象ブロックと差分データとのいずれかを選択して、符号化を行なう。差分生成器３０５は、予測判定の結果により、処理対象ブロックのデータ（イントラ・マクロブロック）と、差分データ（インター・マクロブロック）とのいずれかを符号化対象データとして直交変換器３０６に出力する。
【００２１】
直交変換器３０６は、差分生成器３０５の出力する符号化対象データを、８画素×８ラインより構成されるブロックを単位として直交変換（ここではＤＣＴ、離散コサイン変換として説明する）を行なう。ＤＣＴ演算処理によって入力データは空間領域から周波数領域へと変換される。画像データは一般的に、こうした直交変換処理によって低周波数領域に信号が集中することが知られており、続くエントロピー符号化処理を行なうにあたり符号化効率の面において有利となる。直交変換器３０６より出力されたＤＣＴ係数は、量子化器３０７へと送られる。
【００２２】
量子化器３０７は、符号量コントローラ３０２より出力された量子化値をもとに、ＤＣＴ係数を量子化する。この量子化値に応じて符号量及び画質が変化する。すなわち、量子化値を大きく設定すると符号量を小さくすることができる一方、画質には悪影響を与える。量子化値を小さく設定すれば画質の劣化を抑えることができる一方、符号量は比較的大きくなる。量子化器３０７によって得られた量子化ＤＣＴ係数は、エントロピー符号化器３０８及び逆量子化器３０９に出力される。
【００２３】
量子化ＤＣＴ係数はエントロピー符号化器３０８において、エントロピー符号化され、符号化ストリームとして出力される。
【００２４】
符号化対象のデータがイントラ・マクロブロックであった場合、まず直流成分（ＤＣ係数）においては他のブロックのＤＣ係数との差分がとられ、交流成分（ＡＣ係数）においてはゼロ・ランレングス符号化が行われる。さらにＤＣ係数については、差分化ＤＣ係数に対してその差分値のサイズに応じてカテゴライズされ、割り当てられたカテゴリ内で値を特定するための付加ビットが求められる。このカテゴリに対して可変長符号（ＶＬＣ）が割り当てられ、割り当てられたコード＋付加ビットというかたちで出力される。また、さらにＡＣ係数については、係数を低周波数の係数から高周波数の係数の順番になるように並び替え、先行するゼロ係数の個数（Run）と、非ゼロ係数の値（Level）とをまとめて２次元可変長符号化する。
【００２５】
符号化対象のデータがインター・マクロブロックであった場合には、イントラ・マクロブロックの場合のようにＤＣ係数を別扱いするのではなく、イントラ・マクロブロックにおけるＡＣ係数と同様に扱い、符号化を行なう。
【００２６】
エントロピー符号化器３０８より符号化ストリームは、符号量コントローラ３０２に出力され、同時に外部にも出力される。
【００２７】
逆量子化器３０９は、量子化器３０７より受け取った量子化ＤＣＴ係数の逆量子化処理を行ない、逆直交変換器３１０に出力する。逆量子化には、符号量コントローラ３０２より受け取った量子化値を利用する。
【００２８】
逆直交変換器３１０は、逆量子化処理された係数に対して逆ＤＣＴ演算処理を施し、データを周波数領域から空間領域へと復元する。こうして得られた復元差分データは、加算器３１１に出力される。
【００２９】
加算器３１１は、復元された差分データと、動き補償器３０３より出力された動き補償データとを足し合わせて、再構成画像データとしてフレームメモリ３０４に出力する。再構成画像は、符号化ストリームを復号化する復号器において得られる再構成画像と、ほぼ一致する。
【００３０】
符号量コントローラ３０２は、エントロピー符号化器３０８の出力する符号化ストリームを入力として、符号量を累積的に計数していき、予め設定された目標符号量になるように量子化値を計算し、量子化器３０７に出力する。
【００３１】
以上のように、従来の符号化装置（特にＭＰＥＧ形式）では、符号量と画質のバランスをとりながら入力画像を符号化する。
【特許文献１】特開平５−２１９３８４号公報
【発明の開示】
【発明が解決しようとする課題】
【００３２】
しかしながら、従来の直交変換と量子化を含む符号化方式を用いる場合、圧縮率を高くすると視覚的画質劣化が著しく目立つことが問題となる。特に、直交変換符号化特有の劣化として知られている、ブロック歪みと呼ばれる視覚的画質劣化が顕著となる場合がある。ブロック歪みは、直交変換の単位となるブロックの境界が画面上に現れるため、劣化として目立ちやすいという性質がある。
【００３３】
量子化ステップを小さくすればブロック歪みを低減することが可能であるが、一方で符号量が大きくなる（すなわち、圧縮率が低くなる）という問題がある。
【００３４】
本発明はこのような状況に鑑みてなされたものであり、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質が保たれる符号化装置及び符号化方法を提供することを目的とする。
【課題を解決するための手段】
【００３５】
上記課題を解決するために、本発明の符号化装置は、入力された画像データにフィルタ処理を施すフィルタ手段と、前記フィルタ処理の施された画像データを量子化する量子化手段と、予測画像のブロック歪みを測定する測定手段と、前記ブロック歪みに対応して前記フィルタ手段及び前記量子化手段の特性を制御する制御手段と、を備えることを特徴とする。
【００３６】
また、本発明の符号化方法は、入力された画像データにフィルタ処理を施すフィルタリング工程と、前記フィルタ処理の施された画像データを量子化する量子化工程と、予測画像のブロック歪みを測定する測定工程と、を備え、前記ブロック歪みに対応して前記フィルタリング工程及び前記量子化工程の特性を制御することを特徴とする。
【００３７】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための最良の形態の記載によっていっそう明らかになるものである。
【発明の効果】
【００３８】
以上の構成により、本発明の符号化装置及び符号化方法によれば、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質を保つことが可能となる。
【発明を実施するための最良の形態】
【００３９】
以下、添付図面を参照して、本発明の好適な実施形態を説明する。
【００４０】
＜第１の実施形態＞
図１は、本発明の符号化装置の構成例を示す図である。
【００４１】
符号化装置１０１において入力画像は、符号化すべき動画像シーケンスを表し、フレームごとにフィルタ＃１（１０３）に入力される。
【００４２】
フィルタ＃１（１０３）は符号量コントローラ１０２の出力する制御信号を用いて、入力画像データにフィルタ処理を施した上でマクロブロック分割し、動き補償器１０４、差分生成器１０６、及びブロック歪み測定器１１５に出力する。
【００４３】
動き補償器１０４はフレームメモリ１０５から過去の画像を受け取り、現在の処理対象ブロックについて動きベクトルを検出し、それに基づいて得られた動き補償データを、差分生成器１０６及び加算器１１４に出力する。
【００４４】
差分生成器１０６は、フィルタ＃１（１０３）の出力するフィルタ処理が施された処理対象ブロックと動き補償器１０４の出力する動き補償データとの差分をとり、フィルタ＃２（１０７）に出力する。
【００４５】
フィルタ＃２（１０７）は、符号量コントローラ１０２の出力する制御信号を用いて、差分生成器１０６の出力するデータに対してフィルタ処理を施し、直交変換器１０８に出力する。
【００４６】
直交変換器１０８はフィルタ＃２（１０７）から受け取ったデータに直交変換（ここではＤＣＴ、離散コサイン変換として説明する）を施してＤＣＴ係数をフィルタ＃３（１０９）に出力する。
【００４７】
フィルタ＃３（１０９）は、符号量コントローラ１０２の出力する制御信号を用いて、直交変換器１０８の出力するＤＣＴ係数に対してフィルタ処理を施し、量子化器１１０に出力する。
【００４８】
量子化器１１０は、ＤＣＴ係数を符号量コントローラ１０２が出力する量子化値を用いて量子化し、量子化ＤＣＴ係数としてエントロピー符号化器１１１及び逆量子化器１１２に出力する。
【００４９】
エントロピー符号化器１１１は、量子化ＤＣＴ係数に対してエントロピー符号化を施し、符号化ストリームとして符号量コントローラ１０２に出力し、同時に外部へと出力する。
【００５０】
逆量子化器１１２は、量子化ＤＣＴ係数を、符号量コントローラ１０２が出力する量子化値を用いて逆量子化し、逆直交変換器１１３に出力する。
【００５１】
逆直交変換器１１３は、逆量子化器１１２の出力に対して直交変換器１０８と逆の処理、すなわち逆ＤＣＴ処理を施し、加算器１１４に出力する。
【００５２】
加算器１１４は、動き補償器１０４の出力する動き補償データ及び逆直交変換器１１３の出力するデータとを加算して、再構成画像データ（予測画像）としてフレームメモリ１０５及びブロック歪み測定器１１５に出力する。
【００５３】
フレームメモリ１０５は、再構成画像データを蓄え、動き補償器１０４の要求に応じて必要なデータを動き補償器１０４に出力する。
【００５４】
ブロック歪み測定器１１５は、フィルタ＃１（１０３）の出力するフィルタ処理が施された処理対象ブロックと、加算器１１４の出力する再構成画像データ（予測画像）とを入力とし、ブロック歪み量を測定して符号量コントローラ１０２に出力する。
【００５５】
ブロック歪みの測定にはどのような方法を用いても構わないが、例えば、次の方法が可能である。まず、加算器１１４から入力された画像について、各ブロック（この段落において、「対象ブロック」と呼ぶ）の境界の画素と、隣接するブロックの境界の画素を比較する。対象ブロックの境界の画素すべてについて隣接するブロックの境界の画素との差分をとり、その絶対値の和の平均値を求める。次に、対象ブロック内において、境界の画素以外のすべての隣接する画素の差分をとり、その絶対値の和の平均値を求める。こうして得られた２つの平均値の差が大きければ、ブロックの境界付近で急激な変化がある、すなわちブロック歪みが発生している可能性が高い。
【００５６】
ただし、これだけでは元々ブロックの境界付近での変化が激しい画像が入力画像であった場合まで、ブロック歪みと誤認する恐れがある。そこで、フィルタ＃１（１０３）から入力された画像についても加算器１１４から入力された画像と同様の処理を行なう。その上で、フィルタ＃１（１０３）から入力された画像についての２つの平均値の比と、加算器１１４から入力された画像についての２つの平均値の比とを比較し、その差が、実際発生しているブロック歪みの程度であると判断する。
【００５７】
符号量コントローラ１０２は、エントロピー符号化器１１１の出力する符号化ストリーム及びブロック歪み測定器１１５の出力するブロック歪み量を基に、符号量を抑えつつもよりよい画質が得られるようにフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）、量子化器１１０の特性を制御する。
【００５８】
次に、符号化装置１０１の動作の具体例について説明する。
【００５９】
まず、入力画像として符号化しようとする動画像シーケンスのデータがフレーム単位にフィルタ＃１（１０３）に入力される。フィルタ＃１（１０３）は入力された画像（フレーム）に対し、符号量コントローラ１０２の出力する制御信号に従って、画像の分散を制御する目的でフィルタ処理を施す。この分散は、画像データが持つパワーであり、この値を下げることによって画像の持つ（空間方向の）情報量自体が抑えられる。
【００６０】
フィルタの種類としては、分散が制御できるものであれば何でもよく、視覚的画質劣化の目立たないものが望ましい。したがってローパス・フィルタや、メディアン・フィルタ等が考えられるが、本実施形態ではローパス・フィルタを用いるものとして説明する。
【００６１】
符号量コントローラ１０２の出力する制御信号の内容としては、例えばローパス・フィルタのタップ数や、タップそれぞれに与える係数値などが挙げられる。
【００６２】
フィルタ＃１（１０３）は、フィルタ処理を施した画像をマクロブロック分割して出力する。このマクロブロック分割されたデータの単位が、処理対象ブロックとなる。処理対象ブロックは、動き補償器１０４、差分生成器１０６、及びブロック歪み測定器１１５に入力される。
【００６３】
動き補償器１０４及び差分生成器１０６の機能は、動き補償器３０３及び差分生成器３０５と同様であるため、詳細な説明を省略する。差分生成器３０５の場合と同様、差分生成器１０６はイントラ・マクロブロック又はインター・マクロブロックを符号化対象データとしてフィルタ＃２（１０７）に出力する。
【００６４】
フィルタ＃２（１０７）は入力されたデータに対し、符号量コントローラ１０２の出力する制御信号に従って、データの分散を制御する目的でフィルタ処理を施す。この点においてはフィルタ＃１（１０３）における処理と似ているが、符号化対象となる差分データに対して直接フィルタ処理を加える点が異なる。すなわち、フィルタ＃１（１０３）は画像データの空間方向の冗長性を減少させるが、フィルタ＃２（１０７）は画像データの時間方向の冗長性を減少させる。
【００６５】
フィルタの種類としては、フィルタ＃１（１０３）と同様、分散が制御できてかつ視覚的画質劣化の目立たないものが望ましい。本実施形態ではローパス・フィルタを用いるものとして説明する。
【００６６】
符号量コントローラ１０２の出力する制御信号の内容としては、例えばローパス・フィルタのタップ数や、タップそれぞれに与える係数値などが挙げられる。
【００６７】
なお、符号化対象データがイントラ・マクロブロックであった場合、制御すべき分散は既にフィルタ＃１（１０３）にて処理されているため、フィルタ＃２（１０７）は何も行なわない。
【００６８】
フィルタ＃２（１０７）において処理されたデータは、直交変換器１０８に出力される。直交変換器１０８は、フィルタ＃２（１０７）の出力するデータを、８画素×８ラインより構成されるブロックを単位として直交変換（ここではＤＣＴ、離散コサイン変換として説明する）を行なう。ＤＣＴ演算処理によって入力データは空間領域から周波数領域へと変換され、ＤＣＴ係数としてフィルタ＃３（１０９）に出力される。
【００６９】
フィルタ＃３（１０９）は入力されたデータに対し、符号量コントローラ１０２の出力する制御信号に従って、データの符号量を制御する目的でフィルタ処理を施す。この点においては量子化器１１０における処理と似ているが、復号化時に逆量子化器１１２に相当する機能が存在しない点が異なる。
【００７０】
フィルタの種類としては、符号量が制御できてかつ視覚的画質劣化の目立たないものが望ましい。本実施形態では、ＤＣＴ係数に対して任意の係数を乗ずるフィルタを用いるものとして説明する。
【００７１】
符号量コントローラ１０２の出力する制御信号の内容としては、乗ずる係数の値などが挙げられる。
【００７２】
フィルタ＃３（１０９）において処理されたデータは、量子化器１１０に出力される。量子化器１１０の機能は量子化器３０７と同様であるが、フィルタ＃１（１０３）、フィルタ＃２（１０７）、及びフィルタ＃３（１０９）によって画像データの情報量が抑えられているので、量子化値を比較的小さく設定することができ、それによってブロック歪みを低減させることができる。量子化器１１０によって得られた量子化ＤＣＴ係数は、エントロピー符号化器１１１及び逆量子化器１１２に出力される。
【００７３】
エントロピー符号化器１１１の動作は、エントロピー符号化器３０８と同様であるため、詳細な説明を省略する。エントロピー符号化器１１１により得られた符号化ストリームが、符号化装置１０１の出力となる。
【００７４】
逆量子化器１１２、逆直交変換器１１３、加算器１１４の動作は逆量子化器３０９、逆直交変換器３１０、加算器３１１と同様であるため、詳細な説明を省略する。
【００７５】
加算器１１４より出力される再構成画像データは、続くフレームの符号化の参照画像として用いられるため、フレームメモリ１０５に格納される。また、加算器１１４より出力される再構成画像データは、ブロック歪み測定器１１５にも出力される。
【００７６】
ブロック歪み測定器１１５は、前述のように、フィルタ＃１（１０３）の出力するフィルタ処理が施された処理対象ブロックと、加算器１１４の出力する再構成画像データとを入力とし、ブロック歪み量を測定する。測定された歪み量は、符号量コントローラ１０２に出力される。
【００７７】
符号量コントローラ１０２は、エントロピー符号化器１１１の出力する符号化ストリームを入力として、符号量を累積的に計数していき、ブロック歪み量に応じて、予め設定された目標符号量になるように量子化値及びフィルタ＃１（１０３）、フィルタ＃２（１０７）、及びフィルタ＃３（１０９）をそれぞれ制御する制御信号を計算し、量子化器１１０及びそれぞれのフィルタに出力する。例えば、ブロック歪み量が大きくなってきて視覚的に目立つ領域に入ってきたと判断した場合は、例えばローパス・フィルタの係数やタップ数を調節することにより画像データの高周波成分をより強くフィルタリング（除去）し、量子化値は小さめに抑えるように制御する。一方、ブロック歪み量がさほど目立たない領域にあると判断した場合は、画像データの高周波成分を除去する度合いを小さくするようにそれぞれのフィルタの制御信号を生成し、符号量の制御は量子化値のみで行なうようにする。
【００７８】
なお、本実施形態においてはフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）のすべてが符号化装置１０１に含まれるものとして説明したが、必ずしもすべてが含まれる必要はない。すなわち、３つのフィルタのうち少なくとも１つでも含まれれば、それにより符号化対象画像の情報量を減少させ、量子化値を小さくすることができる。その結果、ブロック歪みを抑制することが可能となる。
【００７９】
次に、図３を参照して、符号化装置１０１がフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）の特性及び量子化器１１０が使用する量子化値を決定する処理の流れを説明する。
【００８０】
ステップＳ３０１で、ブロック歪み測定器１１５は入力画像及び予測画像を取得する。予測画像は、フレームメモリ１０５に格納されている再構成画像である。
【００８１】
ステップＳ３０２で、ブロック歪み測定器１１５はブロック歪みを測定する。ブロック歪みを測定する方法は、前述の通りどのような方法を用いても構わない。
【００８２】
ステップＳ３０３で、符号量コントローラ１０２はブロック歪み及び符号化データを取得する。ブロック歪みはステップＳ３０２で計算されたものである。符号化データは最終的にエントロピー符号化器１１１によって符号化された、１フレーム前の入力画像データである。
【００８３】
ステップＳ３０４で、符号量コントローラ１０２はフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）の特性及び量子化器１１０が使用する量子化値を決定する。決定の方法は前述の通り、ブロック歪みを最小限に抑えられるように、入力画像データの冗長性を除去する部分を分散する。ブロック歪みが小さく、フィルタを使用する必要が無い場合は、例えばローパス・フィルタの係数やタップ数を調節してすべての周波数成分を通過させるようにする。
【００８４】
以上説明したように、本実施形態によれば、符号化装置１０１が入力画像を符号化するにあたって、画像の情報量を削減する場所をフィルタ＃１（１０３）、フィルタ＃２（１０７）、フィルタ＃３（１０９）、量子化器１１０の４箇所に分散する。符号量コントローラ１０２はこの３つのフィルタと量子化器１１０の特性を制御する。
【００８５】
これにより、符号量の増大を抑えつつも視覚的に目立ちやすいブロック歪みを低減し、良好な画質を保つ符号化が可能となる。
【００８６】
＜その他の実施形態＞
上述した実施の形態の処理は、各機能を具現化したソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても実現することができる。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フロッピィ（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した各実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行ない、その処理によって前述した各実施の形態の機能が実現される場合も含まれている。
【００８８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行ない、その処理によって前述した各実施の形態の機能が実現される場合も含むものである。
【図面の簡単な説明】
【００８９】
【図１】本発明の符号化装置の構成例を示す図である。
【図２】符号化装置が３つのフィルタの特性及び量子化器が使用する量子化値を決定する処理の流れを示す図である。
【図３】従来の符号化装置の構成例を示す図である。
【符号の説明】
【００９０】
１０１  符号化装置
１０２  符号量コントローラ
１０３  フィルタ＃１
１０７  フィルタ＃２
１０９  フィルタ＃３
１１０  量子化器
１１５  ブロック歪み測定器
【図１】
2007074559.tif 000003
【図２】
2007074559.tif 000004
【図３】
2007074559.tif 000005