(57)【要約】      （修正有）【課題】ブロックノイズの度合いに適したフィルタ強度で処理を行って、ブロックノイズを十分に低減することが可能となる技術を提供する。【解決手段】原画像と局所復号化画像とから画質劣化度をブロック単位に算出する画質劣化度算出手段と、原画像または局所復号化画像の平坦度をブロック単位に算出する平坦度算出手段と、画質劣化度及び前記平坦度に応じたフィルタ強度をブロック単位に決定するフィルタ強度決定手段と、局所復号化画像に対し、前記フィルタ強度を用いてデブロッキングフィルタ処理を行うフィルタ処理手段とを備える。【選択図】図１
2014017625.tif 000002
【特許請求の範囲】
【請求項１】
予測符号化処理のための予測画像を生成する予測画像生成手段と、
原画像を所定数の画素から成るブロックに分割し、前記予測画像との差分についてブロック単位に直交変換及び量子化を行う変換手段と、
前記変換手段における変換結果を符号化して符号化ストリームを生成する符号化手段と、
前記変換手段における前記変換結果に対して逆量子化及び逆直交変換を行って局所復号化画像を出力する局所復号化手段と
を備える動画像符号化装置であって、
前記原画像と前記局所復号化画像とから画質劣化度をブロック単位に算出する画質劣化度算出手段と、
前記原画像または前記局所復号化画像の平坦度をブロック単位に算出する平坦度算出手段と、
前記画質劣化度及び前記平坦度に応じたフィルタ強度をブロック単位に決定するフィルタ強度決定手段と、
前記局所復号化画像に対し、前記フィルタ強度を用いてデブロッキングフィルタ処理を行うフィルタ処理手段と、
を更に備え、
前記予測画像生成手段は、前記デブロッキングフィルタ処理後の局所復号化画像を用いて、前記予測画像を生成し、
前記フィルタ強度決定手段は、前記画質劣化度と前記平坦度に基づき、前記画質劣化度が高く、かつ、前記平坦度が高い画像ほど高いフィルタ強度を算出するフィルタ強度算出手段を備えることを特徴とする動画像符号化装置。
【請求項２】
前記フィルタ強度決定手段は、前記フィルタ強度算出手段が算出したフィルタ強度を補正するフィルタ強度補正手段を更に備え、
前記フィルタ強度補正手段は、前記画像における所定領域内で同一の平坦度を有するブロックの割合に応じて、前記ブロック単位で算出された前記フィルタ強度を加重加算平均して該所定領域内における加重加算平均フィルタ強度を算出し、
前記フィルタ強度決定手段は、前記所定領域内に含まれる各ブロックのフィルタ強度を前記加重加算平均されたフィルタ強度に決定することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記所定領域は、前記画像の全体、又は、複数の前記ブロックからなる前記画像の一部であることを特徴とする請求項２に記載の動画像符号化装置。
【請求項４】
前記フィルタ強度決定手段は、前記フィルタ強度算出手段が算出したフィルタ強度を補正するフィルタ強度補正手段を更に備え、
前記フィルタ強度補正手段は、各ブロックについて算出された前記フィルタ強度を、隣接するブロックのフィルタ強度に基づき空間方向での平滑化処理を行う空間平滑化処理手段を更に備え、
前記フィルタ強度決定手段は、前記空間方向で平滑化処理されたフィルタ強度を前記デブロッキングフィルタ処理におけるフィルタ強度に決定することを特徴とする請求項１に記載の動画像符号化装置。
【請求項５】
前記フィルタ強度補正手段は、
前記画像よりも前に符号化された画像について算出されたフィルタ強度との間で時間方向での平滑化処理を行う時間平滑化処理手段を更に備え、
前記時間方向で平滑化処理されたフィルタ強度を前記デブロッキングフィルタ処理におけるフィルタ強度に決定することを特徴とする請求項２乃至４のいずれか１項に記載の動画像符号化装置。
【請求項６】
予測符号化処理のための予測画像を生成する予測画像生成手段と、
原画像を所定数の画素から成るブロックに分割し、前記予測画像との差分についてブロック単位に直交変換及び量子化を行う変換手段と、
前記変換手段における変換結果を符号化して符号化ストリームを生成する符号化手段と、
前記変換手段における前記変換結果に対して逆量子化及び逆直交変換を行って局所復号化画像を出力する局所復号化手段と
を備える動画像符号化装置の制御方法であって、
画質劣化度算出手段が、前記原画像と前記局所復号化画像とから画質劣化度をブロック単位に算出する画質劣化度算出工程と、
平坦度算出手段が、前記原画像または前記局所復号化画像の平坦度をブロック単位に算出する平坦度算出工程と、
フィルタ強度決定手段が、前記画質劣化度及び前記平坦度に応じたフィルタ強度をブロック単位に決定するフィルタ強度決定工程と、
フィルタ処理手段が、前記局所復号化画像に対し、前記フィルタ強度を用いてデブロッキングフィルタ処理を行うフィルタ処理工程と、
を備え、
前記予測画像生成手段は、前記デブロッキングフィルタ処理後の局所復号化画像を用いて、前記予測画像を生成し、
前記フィルタ強度決定工程では、前記画質劣化度と前記平坦度に基づき、前記画質劣化度が高く、かつ、前記平坦度が高い画像ほど高いフィルタ強度が算出されることを特徴とする動画像符号化装置の制御方法。
【請求項７】
コンピュータを請求項１乃至５のいずれか１項に記載の動画像符号化装置として動作させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置及びその制御方法、並びに、プログラムに関する。
【背景技術】
【０００２】
画像を高能率符号化するための技術として、ＪＰＥＧ方式の圧縮技術や動き予測・動き補償技術を用いたＭＰＥＧ１、ＭＰＥＧ２といった符号化方式が確立されている。各メーカーは、これらの符号化方式を利用して画像を記録媒体に記録可能としたディジタルカメラやディジタルビデオカメラといった撮像装置或いはＤＶＤレコーダーなどを開発し製品化している。
【０００３】
ところで、ディジタル化された動画像は膨大なデータ量となる。膨大なデータ量を圧縮するためには、ブロック単位に符号化を行う際に粗く量子化を行い、圧縮率を高くする必要がある。しかし、粗く量子化することにより発生する量子化誤差により、ブロック境界に画素値レベルの差が発生する。映像視聴時にこの画素値レベルの差（以下、ブロックノイズと称す）が視覚されるため、画質劣化の要因となっていた。符号化方式のＨ．２６４では、このようなブロックノイズを低減するために、デブロッキングフィルタと呼ばれるノイズリダクションフィルタが規格化された。Ｈ．２６４はＩＴＵ−Ｔ（国際電気通信連合  電気通信標準化部門）とＩＳＯ（国際標準化機構）によって規格化され、正式にはＨ．２６４／ＭＰＥＧ−４  ｐａｒｔ１０という。
【０００４】
このデブロッキングフィルタ処理は、復号化された画像に対して施される。符号化時にも動き補償のために局所復号化を行う場合には、この局所復号化画像に対し、デブロックキングフィルタ処理を行うことができる。このデブロッキングフィルタのフィルタ強度は、Ｈ．２６４で規格化されている方式に従い、例えば、量子化パラメータ等に応じて画素単位に変化する。また、画素単位よりも大きい領域（スライス）単位に変更する仕組みが規格化されている。この仕組みに従い、符号化時にデブロッキングフィルタのフィルタ強度を制御することが可能となっている。デブロッキングフィルタ処理された局所復号化画像は、符号化順で次フレームの動き補償を行う際に参照する画像となるため、ブロックノイズを低減させることにより、符号化効率を向上させることが可能となる。
【０００５】
このような符号化時のフィルタ処理におけるフィルタ強度の制御技術として、特許文献１のような技術が開示されている。特許文献１は、符号化前の原画像と符号化時に動き補償により作成された予測画像との間で算出されたＰＳＮＲに応じて、原画像に対する帯域制限フィルタの強度を変更する技術を開示している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１１３２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
デブロッキングフィルタ処理では、ブロックノイズの度合いに適したフィルタ強度で処理を施さなければ、画像の絵柄がボケてしまったり、また、逆にブロックノイズを十分に低減できなかったりするといった課題がある。また、デブロッキングフィルタ処理後の画像を参照して動き補償を行う際に、ブロックノイズが十分に低減できていないと、動き補償後の予測画像に本来符号化前の画像には存在しないブロックノイズが残存してしまう。その場合、符号化効率が低下してしまう問題がある。
【０００８】
そこで本発明は、ブロックノイズの度合いに適したフィルタ強度で処理を行って、ブロックノイズを十分に低減することが可能となる技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するための本発明は、動画像符号化装置であって、
予測符号化処理のための予測画像を生成する予測画像生成手段と、
原画像を所定数の画素から成るブロックに分割し、前記予測画像との差分についてブロック単位に直交変換及び量子化を行う変換手段と、
前記変換手段における変換結果を符号化して符号化ストリームを生成する符号化手段と、
前記変換手段における前記変換結果に対して逆量子化及び逆直交変換を行って局所復号化画像を出力する局所復号化手段と
を備え、
前記原画像と前記局所復号化画像とから画質劣化度をブロック単位に算出する画質劣化度算出手段と、
前記原画像または前記局所復号化画像の平坦度をブロック単位に算出する平坦度算出手段と、
前記画質劣化度及び前記平坦度に応じたフィルタ強度をブロック単位に決定するフィルタ強度決定手段と、
前記局所復号化画像に対し、前記フィルタ強度を用いてデブロッキングフィルタ処理を行うフィルタ処理手段と、
を更に備え、
前記予測画像生成手段は、前記デブロッキングフィルタ処理後の局所復号化画像を用いて、前記予測画像を生成し、
前記フィルタ強度決定手段は、前記画質劣化度と前記平坦度に基づき、前記画質劣化度が高く、かつ、前記平坦度が高い画像ほど高いフィルタ強度を算出するフィルタ強度算出手段を備えることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ブロックノイズの度合いに適したフィルタ強度で処理を行って、ブロックノイズを十分に低減することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】発明の実施形態に対応する動画像符号化装置の構成例を示す図。
【図２】平坦度及び画質劣化度を説明するための図。
【図３】フィルタ強度の算出方法を説明するための図。
【図４】算出されたフィルタ強度の一例を示す図。
【図５】補正フィルタ強度補正部１２２の構成例を示す図。
【図６】加重加算処理及び空間平滑化処理を行った結果のフィルタ強度の一例を示す図。
【図７】フィルタ強度の時間平滑化処理を説明するための図
【図８】発明の実施形態に対応するフィルタ強度の算出処理の一例に対応するフローチャート。
【発明を実施するための形態】
【００１２】
以下、図面を参照しながら本発明の好適な実施の形態について説明する。
【００１３】
図１は、本発明の実施形態による動画像符号化装置の構成例を示すブロック図である。本実施形態における符号化装置は、原画像と局所復号化画像の画質劣化度及び平坦度に応じて算出したフィルタ強度に基づきデブロッキングフィルタ処理を行う動画像符号化装置である。以下、本発明の構成例について図１を参照して説明する。
本実施形態における符号化装置１００は、フレーム並替部１０１、減算器１０２、直交変換部１０３、量子化部１０４、算術符号化部１０５、逆量子化部１０６、逆直交変換部１０７、加算器１０８、フレームメモリ１０９及び１１３、イントラ予測部１１０、スイッチ１１１、１１６及び１１９、デブロッキングフィルタ１１２、インター予測部１１４、動き検出部１１５、平坦度算出部１２０、画質劣化度算出部１１７、フィルタ強度算出部１１８、フィルタ強度補正部１２２を有し構成される。本実施形態における符号化装置１００は、入力された原画像を所定数の画素から成るブロックに分割すし、ブロック単位に予測符号化処理を行って符号化ストリームを出力する。
【００１４】
図１の動画像符号化装置において、各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵ等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。
【００１５】
続いて、符号化処理について説明する。まず、フレーム並替部１０１は、表示順で入力された原画像（入力画像データ）を符号化順に並び替える。減算器１０２は、入力画像データから、スイッチ１１６を介して提供される予測画像データを減算し、画像残差データを直交変換部１０３に出力する。なお、予測画像データの生成については後述する。
【００１６】
直交変換部１０３は、減算器１０２が出力した画像残差データを直交変換処理して変換係数を出力する。量子化部１０４は、直交変換部１０３が出力した変換係数を所定の量子化パラメータを用いて量子化する。ここで、直交変換部１０３及び量子化部１０４をまとめて変換部と称す。算術符号化部１０５は、直交変換、量子化を経た変換部による変換結果である量子化済の変換係数を算術符号化して符号化ストリームとして出力する。この量子化部１０４で量子化された変換係数は、前述した予測画像生成にも使われる。
【００１７】
逆量子化部１０６は、量子化部１０４で量子化された変換係数を逆量子化する。逆直交変換部１０７は、逆量子化部１０６で逆量子化された変換係数を逆直交変換し、復号画像残差データとして出力する。加算器１０８は、逆直交変換部１０７より出力された復号画像残差データと、予測画像データとを加算して、局所復号化画像データとして出力する。局所復号化画像データの出力先は、フレームメモリ１０９、スイッチ１１１及び１１９、画質劣化度算出部１１７である。逆量子化部１０６、逆直交変換部１０７及び加算器１０８をまとめて局所復号化部と称す。
【００１８】
フレームメモリ１０９は、加算器１０８から出力された局所復号化画像データを記憶する。スイッチ１１１は、加算器１０８から出力された局所復号化画像データに対してデブロッキングフィルタ処理を施すか否かを切り替える。局所復号化画像データに対してデブロッキングフィルタ処理を施す場合、デブロッキングフィルタ１１２が後述の方式にて算出されたフィルタ強度に基づきデブロッキングフィルタ処理を行う。フレームメモリ１１３は、デブロッキングフィルタ処理された局所復号化画像を記憶する。デブロッキングフィルタ処理を施さない場合、デブロッキングフィルタ１１２を介さずにフレームメモリ１１３に直接記録される。局所復号化画像データの中で、以降の予測で参照される可能性があるデータは、フレームメモリ１０９または１１３に保存される。
【００１９】
イントラ予測部１１０は、フレームメモリ１０９に記録された局所復号化画像データを用いてフレーム内予測処理を行い、予測画像生成を行う。また、インター予測部１１４は、フレームメモリ１１３に記録されたデブロッキングフィルタ処理後の局所復号化画像を用いて動き検出部１１５により検出された動きベクトル情報に基づくフレーム間予測処理を行い、予測画像生成を行う。動き検出部１１５は、、フレームメモリ１１３に記録された局所復号画像を参照して入力画像データにおける動きベクトルを検出する。検出した動きベクトル情報を算術符号化部１０５及びインター予測部１１４にそれぞれ出力する。動きベクトル検出の手法は公知であるので、ここでの詳細な説明は省略する。尚、フレームメモリ１１３に記録されているデブロッキングフィルタ処理後の局所復号化画像にブロックノイズが残存していると、原画像には存在していない情報が予測画像データに存在するため、減算器１０２の出力データ量が多く発生してしまう。つまり、デブロッキングフィルタ１１２により十分ブロックノイズを低減することにより、減算器１０２の出力データ量を減らし、符号化効率を向上させることが可能となる。
【００２０】
スイッチ１１６は、予測画像データとしてイントラ予測部１１０で生成された予測画像データ又はインター予測部１１４で生成された予測画像データのどちらを用いるか、すなわちイントラ予測とインター予測とのどちらを用いるかを選択する選択部である。例えば、Ｉピクチャであれば、イントラ予測部１１０からの出力を選択し、ＰピクチャやＢピクチャであればイントラ予測部１１０またはインター予測部１１４の出力のうち、予測精度の高い方を選択する。選択された予測画像データは減算器１０２、加算器１０８に出力される。Ｉピクチャ、Ｐピクチャ、Ｂピクチャといったように、各フレームの予測方式の種別をピクチャタイプと称す。
【００２１】
画質劣化度算出部１１７は、原画像とその原画像を符号化し、局所復号化を行った局所復号化画像間の画質劣化度を算出する。画質劣化度の算出は、画像の小領域毎に算出する。尚、画質劣化度を算出するための原画像と局所復号化画像の画像は、符号化装置内部で位相を合わせ、同一フレームのものとする。フィルタ強度算出部１１８は、平坦度算出部１２０により算出された平坦度と画質劣化度算出部１１７により算出された画質劣化度に応じて小領域毎にフィルタ強度を算出する。
【００２２】
スイッチ１１９は、原画像又は局所復号化画像のどちらを平坦度算出部１２０に入力するか選択するため選択部である。スイッチ１１９の切り替えは動的に行っても良いし、ユーザの操作に応じて切り替えても良いし、また、予めデフォルトで設定しておくようにしても良い。具体的な切り替えの基準として、例えば符号化時の視覚特性を重視する場合には、原画像を選択することができる。一方、再生時の視覚特性を重視する場合には、局所復号化画像を選択することができる。
【００２３】
平坦度算出部１２０は、画像の小領域毎に絵柄の平坦度を算出する。平坦度算出のための具体的手法については後述する。フィルタ強度補正部１２２は、フィルタ強度算出部１１８により算出されたフィルタ強度を平坦度算出部１２０により算出された平坦度に応じて補正し、補正後の補正フィルタ強度をデブロッキングフィルタ１１２に出力する。なお、画質劣化度算出部１１７、フィルタ強度算出部、平坦度算出部１２０、フィルタ強度補正部１２２をまとめてフィルタ強度決定部１０という。
【００２４】
以上が本実施形態における符号化装置に関する説明である。尚、本実施形態では、デブロッキングフィルタ処理前の局所復号化画像を用いてフィルタ強度を算出する構成について説明を行する。しかし、フィルタ強度の算出はデブロッキングフィルタ処理後の局所復号化画像を用いても良い。デブロッキングフィルタ処理後の局所復号化画像を用いてフィルタ強度を算出する場合、フィルタ処理後画像に対する画質劣化度及び平坦度に応じて、フィルタ強度を算出する構成となる。
【００２５】
次に、平坦度算出部１２０、画質劣化度算出部１１７、フィルタ強度算出部１１８、フィルタ強度補正部１２２における処理について詳しく説明する。
【００２６】
（平坦度算出部１２０）
まず、平坦度算出部１２０について、図２（ａ）を参照して詳細に説明する。平坦度算出部１２０は、原画像若しくは局所復号化画像のうちスイッチ１１９で選択された画像の平坦度を算出する。この平坦度の算出方法について説明する。
【００２７】
まず、平坦度算出部１２０には、スイッチ１１９により選択された画像が入力される。入力画像をある所定サイズのブロック（小領域）に分割する。所定サイズとは、例えば、１６画素×１６画素のサイズとすることができる。その後、分割したブロック毎に画素値の分散値を算出する。分散値とは、画素値の大きさのちらばり具合を示す指標であり、平坦な絵柄ほど分散値が小さく、複雑な絵柄ほど分散値が大きくなる傾向がある。分散値は、例えば注目画素と隣接画素との差分値をブロック内の各画素について計算し、得られた差分値を積算した値として求めることができる。
【００２８】
平坦度算出部１２０は、このブロック毎の分散値に基づき、ブロック毎の平坦度を算出する。つまり、分散値が小さいほど平坦度は大きく、分散値が大きいほど平坦度は小さくなる。この平坦度の例を図２（ａ）に示す。図２（ａ）は、平坦度算出部１２０で算出した平坦度を示す図であり、ブロック毎の平坦度が数字で表されている。図２（ａ）は、画像が８×６のブロックに分割した例を示している。平坦度は、０〜９の１０段階で表されており、平坦度０のブロックは平坦な絵柄であり、平坦度９のブロックは複雑な絵柄であることを示す。例えば、図２（ａ）における右上のブロック２０１は、平坦度１なので比較的平坦な絵柄であり、図２（ａ）における左下のブロック２０２は、平坦度９なので複雑な絵柄であることを示している。尚、分散値から平坦度への変換は、例えば、平坦度の各段階に対応する閾値を用意し、分散値を当該閾値を用いて１０段階のいずれかの段階に当てはめる閾値処理により行うことができる。以上のように、平坦度算出部１２０は、スイッチ１１９で選択された画像のブロック毎の平坦度を算出し、その平坦度をフィルタ強度算出部１１８及びフィルタ強度補正部１２２に出力する。
【００２９】
（画質劣化度算出部１１７）
次に、画質劣化度算出部１１７について、図２（ｂ）を参照して詳細に説明する。画質劣化度算出部１１７には、原画像及び局所復号化画像が入力され、原画像と局所復号化画像の違い、つまり、符号化による画質劣化度を算出する。画質劣化度とは、例えば、ブロック毎の差分絶対値総和やＰＳＮＲ（Peak Signal to Noise Ratio：ピーク信号対雑音比）が挙げられる。以下、このような差分絶対値総和及びＰＳＮＲの算出方法について説明する。
【００３０】
まず、画質劣化度算出部１１７には、原画像及び局所復号化画像の２画像が入力される。入力された２画像をある所定サイズのブロック（小領域）に分割する。所定サイズとは、例えば、１６画素×１６画素のサイズとすることができる。その後、分割したブロック毎に２画像間の画素値の差分絶対値総和、若しくは、ＰＳＮＲを算出する。差分絶対値総和は、原画像及び局所復号化画像のブロックの画像の対応する位置の画素間の絶対値差分を総和して得られる値である。ＰＳＮＲとは、２画像間の違いを表す指標であり、ＰＳＮＲの値が小さいほど原画像と局所復号化画像の画素値の差が大きく、ＰＳＮＲの値が大きいほど当該画素値の差が小さいといった傾向がある。  このＰＳＮＲは、局所復号化画像と原画像とを用いて、以下の式１により算出される。
2014017625.tif 000003
ここで、ＮおよびＭは画像の縦と横の画素数を表す。また、ｐ(i,j)は現行の画像データにおける位置(i,j)の画素値を表し、ｐ'(i,j)は局所復号化画像における位置(i,j)の画素値を表す。Ｔは、画像の階調数-１（８ビット／ピクセル画像ではＴ＝２５５）を表す。
【００３１】
画質劣化度算出部１１７は、このブロック毎の差分絶対値総和若しくはＰＳＮＲに基づき、ブロック毎の画質劣化度を算出する。つまり、差分絶対値総和が小さいか、又は、ＰＳＮＲの値が大きいほど画質劣化度は小さく、差分絶対値総和が大きい又はＰＳＮＲの値が小さいほど画質劣化度は大きくなる。この画質劣化度の例を図２（ｂ）に示す。図２（ｂ）は、画質劣化度算出部１１７で算出した画質劣化度を示す図であり、ブロック毎の画質劣化度が数字で表されている。図２（ｂ）は、画像を８×６のブロックに分割した例を示している。画質劣化度は、０〜９の１０段階で表されており、画質劣化度９のブロックは画質劣化度が高い領域であり、画質劣化度０のブロックは画質劣化度が低い領域であることを示す。例えば、図２（ｂ）における右上のブロック２０３は、画質劣化度１なので比較的画質劣化度が低い領域であり、図２（ｂ）における左下のブロック２０４は、画質劣化度７なので比較的画質劣化度が高い領域であることを示している。尚、差分絶対値総和若しくはＰＳＮＲから画質劣化度への変換は、平坦度の場合と同様に例えば閾値処理により行うことができる。
【００３２】
以上のように、画質劣化度算出部１１７は、原画像及び局所復号化画像間における画質劣化度を算出し、その画質劣化度をフィルタ強度算出部１１８に出力する。
【００３３】
（フィルタ強度算出部１１８）
フィルタ強度算出部１１８について、図３及び図４を参照して詳細に説明する。フィルタ強度算出部１１８は、平坦度算出部１２０により算出された平坦度と、画質劣化度算出部１１７により算出された画質劣化度とに応じてブロック毎にフィルタ強度を算出する。
【００３４】
まず、画質劣化度とフィルタ強度の関係について説明する。本実施形態では、原画像と局所符号化画像の違い、つまり、符号化による画質の劣化度を画質劣化度としている。この符号化による画質劣化度が大きい場合は、大きなブロックノイズが発生している可能性が高いと言える。このような大きなブロックノイズを低減するためには強いフィルタ強度でフィルタ処理を行う必要がある。また、符号化による画質劣化が小さい場合は、ブロックノイズが発生している可能性が低いと言える。このような場合、強いフィルタ強度でフィルタ処理を行うと、画像の絵柄がボケてしまう可能性があるため、弱いフィルタ強度でフィルタ処理を行う必要がある。つまり、画質劣化度が大きいほど、強いフィルタ強度でフィルタ処理を行うことにより、ブロックノイズを低減することができる。また、画質劣化度が小さいほど、弱いフィルタ強度でフィルタ処理を行うことにより、画像の絵柄のボケを低減することができる。
【００３５】
次に、平坦度とフィルタ強度の関係について説明する。本実施形態では、原画像若しくは局所符号化画像の平坦度を算出している。一般的に、人間の視覚特性として平坦な絵柄部分に発生する画質劣化は、複雑な絵柄部分に発生する画質劣化よりも目立ち易いと言われている。つまり、同じ大きさのブロックノイズだとしても、平坦な絵柄部分で発生した場合と複雑な絵柄部分で発生した場合を比較すると、平坦な絵柄部分で発生した場合の方が、視覚特性上ブロックノイズが目立ち易いと言える。このような平坦な絵柄部分で発生した目立ち易いブロックノイズは、確実に低減したいため、強いフィルタ強度でフィルタ処理を行う。逆に、複雑な絵柄部分に発生した目立ち難いブロックノイズに対し、強いフィルタ強度でフィルタ処理を行うと、目立ち難いブロックノイズを低減するだけではなく、画像の絵柄もボカしてしまう。そのため、弱いフィルタ強度でフィルタ処理を行う必要がある。つまり、平坦な絵柄部分で発生したブロックノイズに対しては、強いフィルタ強度でフィルタ処理を行うことにより、目立ち易いブロックノイズを低減することができる。また、複雑な絵柄部分で発生したブロックノイズに対しては、弱いフィルタ強度でフィルタ処理を行うことにより、画像の絵柄のボケを低減できる。
【００３６】
以上のように、フィルタ強度算出部１１８は、画質劣化度及び平坦度に応じてブロック毎のフィルタ強度を算出する。以下、ブロック毎のフィルタ強度算出方法について、図３を参照して説明する。図３は、Ｘ軸を画質劣化度、Ｙ軸を平坦度、Ｚ軸をフィルタ強度とした時の画質劣化度、平坦度及びフィルタ強度の関係を示した図である。尚、フィルタ強度は、値が大きいほど強いフィルタ強度を表すものとし、−６〜＋６まで１刻み精度で１３段階の設定が可能なものとする。
【００３７】
図３では、平坦度９、画質劣化度９の場合に、最も強いフィルタ強度＋６が算出され、平坦度０、画質劣化度０の場合に、最も弱いフィルタ強度−６が算出される例を示している。つまり、フィルタ強度算出部１１８は、平坦な絵柄且つ画質劣化度が大きい場合に、最も強いフィルタ強度を算出し、複雑な絵柄且つ画質劣化度が小さい場合に、最も弱いフィルタ強度を算出する。フィルタ強度算出部１１８は、図２（ａ）の平坦度及び図２（ｂ）の画質劣化度の例において、例えば以下の式２に基づいて図４のようなフィルタ強度を算出する。
Ｖs＝２／３(Ｖf＋Ｖd)−６ ・・・（式２）
上式においてＶｓはフィルタ強度、Ｖｆは平坦度、Ｖｄは画質劣化度をそれぞれ表す。なお、式２の計算結果における小数点は四捨五入する。
【００３８】
尚、平坦度０、画質劣化度０の場合は、最も弱いフィルタ強度−６を算出せずに、スイッチ１１１により局所復号化画像に対し、デブロッキングフィルタ処理を施さないよう制御しても良い。
【００３９】
また、図１において、平坦度算出部１２０により平坦度を算出する画像は、スイッチ１１９により原画像若しくは局所復号化画像のいずれかに選択可能な構成となっている。実際に符号化した画像を鑑賞する際は、符号化した画像を復号化し、鑑賞する。そのため復号化画像を鑑賞する時の画質劣化の見え方に応じてフィルタ強度を制御する場合は、局所復号化画像の平坦度に応じてフィルタ強度を算出するのが良い。しかし、局所復号化画像には符号化によるノイズが含まれており、そのノイズにより、正確な平坦度が算出されない可能性がある。一方、原画像は、符号化前の画像であるために、局所復号化画像のような符号化ノイズは発生しないため、符号化ノイズに影響されずに平坦度が算出可能である。そのため、例えば、符号化ビットレートが高い場合等の符号化ノイズの発生が少ないと予想される場合は、局所復号化画像で平坦度を算出し、符号化ビットレートが低い場合等の符号化ノイズの発生が多いと予想される場合は、原画像で平坦度を算出しても良い。
【００４０】
（フィルタ強度補正部１２２）
次に、フィルタ強度補正部１２２について、図２、図４、図５、図６及び図７を参照して詳細に説明する。
【００４１】
図５は、フィルタ強度補正部１２２の構成例を示す図である。フィルタ強度補正部１２２は、平坦度毎面積占有率算出部５０１、平坦度毎平均フィルタ強度算出部５０２、加重加算部５０３、空間平滑化処理部５０４、スイッチ５０５及び時間平滑化処理部５０６を有して構成され、平坦度に応じてフィルタ強度を補正し、補正フィルタ強度を出力する。
【００４２】
平坦度毎面積占有率算出部５０１は、同一平坦度を持つブロックの面積を算出し、その面積が全体の面積に占める割合を面積占有率として算出する。例えば、図２（ａ）の例では、１つのブロックの面積を１とすると、平坦度８の面積は５である。面積占有率は、５／４８＝０．１０４となる。平坦度毎面積占有率算出部５０１は、このような面積占有率の算出を全ての平坦度に行う。図２（ａ）の例では、平坦度が０〜９のブロックが存在するので、平坦度毎に合計１０個の面積占有率を算出する。平坦度０〜４は、面積が１であるので面積占有率は１／４８＝０．０２１となる。平坦度５、６は面積が４であるので面積占有率は４／４８＝０．０８３となる。平坦度７は面積が５であるので面積占有率は５／４８＝０．１０４となる。平坦度９は面積が２５であるので面積占有率は５／４８＝０．５２１となる。
【００４３】
平坦度毎平均フィルタ強度算出部５０２は、ブロック毎に算出されたフィルタ強度について平坦度毎に平均化処理を行う。例えば、図２（ａ）の例では、１つのブロックの面積を１とすると、平坦度８の面積は５である。図４の例では、平坦度８の平均フィルタ強度は、｛（＋５）＋（＋５）＋（＋３）＋（+３）＋（＋５）｝／５＝４．２となる。平坦度毎平均フィルタ強度算出部５０２は、このような平均フィルタ強度の算出を全ての平坦度に対して行う。図２（ａ）の例では、平坦度が０〜９のブロックが存在するので、平坦度毎に合計１０個の平均フィルタ強度を算出する。
【００４４】
加重加算部５０３は、平坦度毎平均フィルタ強度算出部５０２により算出された平坦度毎の平均フィルタ強度に対し、平坦度毎面積占有率算出部５０１により算出された平坦度毎の面積占有率を乗算する。この処理を全ての平坦度に対し行い、乗算結果を総和する。これにより、平坦度毎の平均フィルタ強度が面積占有率に応じて加重加算され、ある１つのフィルタ強度が算出される。図２（ａ）の場合は、加重加算平均フィルタ強度は３となり、このフィルタ強度を図６（ａ）のように、全ブロックのフィルタ強度とする。
【００４５】
なお、図６（ａ）の例では、画像全体（１フレーム）について加重加算平均を行った場合を説明したが、画像の一部の所定領域内で加重加算平均を行っても良い。例えばブロック単位、例えばスライス単位に加重加算平均を行っても良い。その場合、画像に適用されるフィルタ強度は例えば図６（ｂ）に示すようになる。空間平滑化処理部５０４は、ブロック毎に算出されたフィルタ強度に対し、空間方向で平滑化処理を行う。例えば、注目ブロックとその周辺のブロックのフィルタ強度の加算値を加算ブロック数で割った値として、平滑化処理済のフィルタ強度を求めることができる。平滑化処理の方法自体は公知の方法が数多くあるので、それらのいずれかの方法を用いればよい。
【００４６】
図４のブロック毎のフィルタ強度に対し、空間方向で平滑化処理を行ったフィルタ強度の例を図６（ｃ）に示す。図４と図６（ｃ）を比較すると、隣接するブロック間でフィルタ強度の差が小さくなっている。隣接するブロック間においてフィルタ強度の差が大きいと、ブロック毎にブロックノイズの低減度合いが異なり、ブロックノイズが低減できているブロックと低減できていないブロックが隣接する可能性がある。そのようなフィルタにより処理された画像を鑑賞した場合、観察者の目には不自然に映ってしまう。特に、同一被写体においてブロックノイズが低減できている領域と低減できていない領域とが併存している場合、より不自然に見えてしまう。これに対して空間平滑化処理部５０４は、係る問題を解決するために空間的に平滑化処理を行い、隣接するブロック間でのフィルタ強度の差を小さくする。
【００４７】
スイッチ５０５は、図６（ａ）または図６（ｂ）のように面積占有率に応じて加重加算したフィルタ強度と、図６（ｃ）のように空間的に平滑化処理を行ったフィルタ強度とのうち、いずれかを選択する。スイッチ５０５は、フィルタ強度の変更が可能となる単位に応じて方式を選択する。例えば、ブロック単位に設定可能となる場合には空間的に平滑化処理を行ったフィルタ強度、即ち図６（ｃ）の形式を選択する。一方、複数のブロック単位（例えば、スライスやフレーム）で設定が可能となる場合は、加重加算したフィルタ強度、即ち図６（ａ）または（ｂ）の形式を選択する。例えば、スライス単位にフィルタ強度が設定される場合、同一スライスに属するブロックについては共通のフィルタ強度が図６（ｂ）のように設定される。画像全体（フレーム）について共通のフィルタ強度が設定される場合には図６（ａ）のようになる。
【００４８】
なお、例えばＨ．２６４規格においては、スライス単位にフィルタ強度が変更可能である。フィルタ強度をより適応的に変更するためには１フレーム内に複数のスライスを設定する必要があるが、複数のスライスを設定することにより、規格上、様々な符号化の制約が発生し、かえって符号化効率が低下してしまう可能性がある。そのため、Ｈ．２６４では１フレーム内において多数のスライスを設定しない符号化方式が一般的である。例えば、１フレーム内において、１つのスライスを設定した場合は、１フレーム全体に対し１つのフィルタ強度が設定可能となる。
【００４９】
このような場合は、図６（ａ）のような加重加算を行ったフィルタ強度を選択することにより、１フレーム全体に対し１つのフィルタ強度でフィルタ処理を行うことができる。このフィルタ強度は、面積占有率により加重加算されているため、面積の大きい、つまり、画像鑑賞時に着目する可能性が高い領域のフィルタ強度に重み付けされ算出されている。これにより、１フレーム全体に対し１つのフィルタ強度だとしても、着目する可能性が高い領域のブロックノイズは低減できる可能性が高くなる。なお、本発明は、その適用範囲がＨ．２６４規格に限定されることはなく、１フレーム内に複数スライスが設定される場合（図６（ｂ））や、ブロック単位にフィルタ強度の変更が可能である場合（図６（ｃ））であっても適用が可能である。
【００５０】
次に、時間平滑化処理部５０６は、時間的に異なるフレーム間において、急激にフィルタ強度が変化しないように、時間方向において平滑化処理を行う。時間方向で異なるフレーム間において、急激にフィルタ強度が変化してしまうと、フレーム毎にブロックノイズの低減度合いが異なり、時間的にブロックノイズが低減できているフレームとできていないフレームとが発生する可能性がある。そのため、このような画像を鑑賞した際には、ブロックノイズが時間的に知覚されたり、されなかったりするために、不自然に見えてしまう。時間平滑化処理部５０６は、このような問題を解決するために、図７のように複数フレームにおける同位置のブロック毎のフィルタ強度に対し平滑化処理を行う。図７の例では、隣接する２フレーム間において、フレーム内での位置が対応するブロックどうしでフィルタ強度の平均値を算出して平滑化処理を行っているが、平滑化処理を行うフレーム数はこれに限ったものではない。例えば、１５フレームや３０フレーム期間において平滑化処理を行っても良い。平滑化処理を行うフレーム数を増やすことにより、時間的なフィルタ強度の変化をより緩やかにすることができる。
【００５１】
また、ブロックノイズの大きさは、ピクチャタイプによって変わることがある。例えば、Ｉピクチャに発生するブロックノイズは小さいが、Ｂピクチャに発生するブロックノイズは大きい場合がある。このような場合、異なるピクチャタイプで時間的にフィルタ強度の平滑化処理を行ってしまうと、Ｉピクチャには強すぎるフィルタ強度、Ｂピクチャには弱すぎるフィルタ強度を算出してしまう可能性がある。そのため、時間的な平滑化処理を行う場合に、同じピクチャタイプ毎に複数フレームのフィルタ強度の平滑化処理を行うようにしても良い。
【００５２】
尚、本実施形態では、フィルタ強度補正部１２２でフィルタ強度を補正する例について説明したが、フィルタ強度補正部１２２でフィルタ強度を補正しなくてもよい。例えば、フィルタ強度算出部１１８で算出したフィルタ強度（図４）でデブロッキングフィルタ１１２はフィルタ処理を行ってもよい。
【００５３】
次に、図８を参照して、本実施形態におけるデブロッキングフィルタ処理のフィルタ強度を算出する処理フローについて説明する。当該処理は、各ブロックにおいて対応するプログラムを実行することにより実現される。或いは、各ブロックとして動作するＣＰＵが対応するプログラム（ＲＯＭ等に格納）を実行することにより実現できる。
【００５４】
Ｓ８０１において、平坦度算出部１２０は、原画像又は局所復号化画像のブロック毎に平坦度を算出する。Ｓ８０２において、画質劣化度算出部１１７は、原画像及び局所復号化画像のブロック毎に画質劣化度を算出する。Ｓ８０３において、フィルタ強度算出部１１８は、平坦度及び画質劣化度の各値に基づきブロック毎にフィルタ強度を算出する。Ｓ８０４において、フィルタ強度補正部１２２は、平坦度とフィルタ強度に応じて、ブロック毎に補正フィルタ強度を算出する。Ｓ８０５において、デブロッキングフィルタ１１２は、補正フィルタ強度に基づきデブロッキングフィルタ処理を行う。
【００５５】
以上のように、発明の実施形態によれば画質劣化度と平坦度に応じてフィルタ強度を算出するため、符号化による画質劣化と絵柄の視覚特性を鑑みたフィルタ強度制御が可能となる。そのため、復号化画像の画質が向上するといった効果がある。また、デブロッキングフィルタ処理後の画像を参照して動き補償を行う際に、十分にブロックノイズを低減できているため、動き予測精度が向上し、それにより、符号化効率が向上するといった効果がある。
【００５６】
（その他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014017625.tif 000004
【図２】
2014017625.tif 000005
【図３】
2014017625.tif 000006
【図４】
2014017625.tif 000007
【図５】
2014017625.tif 000008
【図６】
2014017625.tif 000009
【図７】
2014017625.tif 000010
【図８】
2014017625.tif 000011