(57)【要約】【課題】拡張された大きさのマクロブロックを用いる場合でも良好な画質の復号画像を得られるようにする。【解決手段】デブロッキングフィルタ２４は、予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行う。フィルタ強度調整部４１は、予測画像データのブロックサイズに応じてフィルタ強度を調整する。例えば画像符号化時には、フィルタ処理後の復号画像データを用いて生成された符号化効率が最良となる予測画像データのブロックサイズに応じて、フィルタ強度を調整する。また、画像復号化時に復号画像データに対してブロック歪みを除去するフィルタ処理を行い、予測画像データのブロックサイズに応じてフィルタ強度を調整するものとしてもよい。【選択図】        図１
2011223302.tif 000002
【特許請求の範囲】
【請求項１】
予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行うフィルタと、
前記予測ブロックサイズに応じて前記フィルタ処理におけるフィルタ強度を調整するフィルタ強度調整部と
を設けた画像処理装置。  
【請求項２】
前記フィルタ強度調整部は、前記予測ブロックサイズが大きいほどフィルタ処理をかかりやすくする請求項１記載の画像処理装置。
【請求項３】
前記フィルタ強度調整部は、前記フィルタ強度を調整するパラメータ値を前記予測ブロックサイズに応じて設定する請求項２記載の画像処理装置。
【請求項４】
前記フィルタ強度調整部は、隣接する２つのブロックで予測ブロックサイズが異なる場合、大きい方の予測ブロックサイズに応じてフィルタ強度を調整する請求項３記載の画像処理装置。
【請求項５】
前記フィルタ強度調整部は、所定のマクロブロックよりもブロックサイズが大きい複数のマクロブロックが用いられる場合、ブロックサイズが大きいほどフィルタ強度が強くなるように、隣接する２つのブロックの予測ブロックサイズの組み合わせ毎にパラメータ値を設定する請求項３記載の画像処理装置。
【請求項６】
前記フィルタ強度調整部は、符号化規格のシンタックス・エレメントの値を調整して、前記フィルタ強度を調整する請求項３記載の画像処理装置。
【請求項７】
前記フィルタ強度調整部は、Ｈ．２６４/ＡＶＣ規格のシンタックス・エレメントであるslice_alpha_c0_offset_div2およびslice_beta_offset_div2で指定するFilterOffsetAおよびFilterOffsetBの値を調整して、前記フィルタ強度を調整する請求項６記載の画像処理装置。
【請求項８】
前記フィルタ強度調整部は、予め設けられているパラメータ値と異なるパラメータ値を用いる場合に、前記シンタックス・エレメントであるピクチャパラメータセットのdeblocking_filter_control_present_flagの値を所定の値に設定し、スライスヘッダに、前記FilterOffsetAおよびFilterOffsetBの値を記述する請求項６記載の画像処理装置。
【請求項９】
予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行うフィルタ工程と、
前記検出された予測ブロックサイズに応じて前記フィルタ処理におけるフィルタ強度を調整するフィルタ強度調整工程と
を設けた画像処理方法。  
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、画像処理装置と画像処理方法に関する。詳しくは、良好な画質の復号画像を得られるようにする。
【背景技術】
【０００２】
近年、画像情報をディジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を行う装置、例えば離散コサイン変換等の直交変換と動き補償により圧縮するＭＰＥＧなどの方式に準拠した装置が、放送局や一般家庭において普及しつつある。
【０００３】
特に、ＭＰＥＧ２（ＩＳＯ／ＩＥＣ１３８１８−２）は、汎用画像符号化方式として定義されており、プロフェッショナル用途およびコンシューマー用途の広範なアプリケーションに現在広く用いられている。このＭＰＥＧ２圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば、４〜８Ｍｂｐｓ符号量（ビットレート）を割り当てることで良好な画質の実現が可能である。また、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで良好な画質の実現が可能である。
【０００４】
ＭＰＥＧ２は主として放送用に適合する高画質符号化を対象としていたが、ＭＰＥＧ１より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してＭＰＥＧ４符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にＩＳＯ／ＩＥＣ１４４９６−２としてその規格が国際標準に承認された。
【０００５】
さらに、近年、当初テレビ会議用の画像符号化を目的として、Ｈ.２６Ｌ（ＩＴＵ−Ｔ  Ｑ６／１６  ＶＣＥＧ）という標準の規格化が進んでいる。Ｈ．２６ＬはＭＰＥＧ２やＭＰＥＧ４といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、ＭＰＥＧ４の活動の一環として、このＨ．２６Ｌをベースに、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。標準化のスケジュールとしては、２００３年３月にはＨ．２６４およびＭＰＥＧ−４  Ｐａｒｔ１０  （Advanced Video Coding、以下「Ｈ．２６４／ＡＶＣ」と記す）という名の下に国際標準となった。
【０００６】
さらに、その拡張として、ＲＧＢや４：２：２、４：４：４といった、業務用に必要な符号化ツールや、ＭＰＥＧ２で規定されていた８×８ＤＣＴや量子化マトリクスをも含んだＦＲＥxt(Fidelity Range Extension)の標準化が２００５年２月に完了した。これにより、Ｈ．２６４／ＡＶＣ方式を用いて、映画に含まれるフィルムノイズをも良好に表現することが可能な符号化方式となって、Ｂｌｕ−Ｒａｙ（商標）等の幅広いアプリケーションに用いられる運びとなった。
【０００７】
このような符号化復号化処理では、ブロック単位で画像データの符号化が行われている。また、符号化データの復号化では、例えば特許文献１に示すように、ブロック境界強度や量子化パラメータを基にしてフィルタ処理を行うことブロック歪みを抑制することが行われている。
【０００８】
さらに、昨今、４０００×２０００画素程度の画像を圧縮したい、またはインターネットのような、限られた伝送容量の環境において、ハイビジョン画像を配信したいといった、さらなる高圧縮率符号化に対するニーズが高まっている。このため、非特許文献１のように、マクロブロックサイズを、ＭＰＥＧ２やＨ．２６４／ＡＶＣよりも大きい例えば３２画素×３２画素といった大きさにすることが提案されている。すなわち、非特許文献１では、マクロブロックについて階層構造を採用することにより、１６×１６画素ブロック以下に関しては、Ｈ．２６４／ＡＶＣにおけるマクロブロックと互換性を保ち、そのスーパーセットとして、より大きなブロックが定義されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−３６４６３号公報
【非特許文献】
【００１０】
【非特許文献１】“Video Coding Using Extended Block”(Study Group16, Contribution 123, ITU, 2009年1月)
【発明の概要】
【発明が解決しようとする課題】
【００１１】
ところで、拡張された大きさのマクロブロックを用いる場合、特に低いビットレートにおいては、ブロック歪みが大きくなる。このため、従来のデブロッキングフィルタでブロック歪みの除去を行う場合には、ブロック歪みが十分に除去されなくなって画質の劣化を生じてしまうおそれがある。
【００１２】
そこで、この発明では、拡張された大きさのマクロブロックを用いる場合でも良好な画質の復号画像を得られる画像処理装置と画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
この発明の第１の側面は、予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行うフィルタと、前記予測ブロックサイズに応じて前記フィルタ処理におけるフィルタ強度を調整するフィルタ強度調整部とを設けた画像処理装置にある。
【００１４】
この発明では、例えば画像の符号化で生成された量子化データの逆量子化や逆量子化後のデータの逆直交変換等を行うことにより得られた復号画像の画像データや、符号化ストリームの可逆復号化を行うことにより得られた量子化データの逆量子化や逆量子化後のデータの逆直交変換等を行うことにより得られた復号画像の画像データに対して、ブロック歪みを除去するフィルタ処理が行われる。フィルタ処理では、予測ブロックサイズが大きいほどフィルタ処理がかかりやすくなるようにフィルタ強度の調整が行われる。フィルタ強度の調整では、フィルタ強度を調整するパラメータ値が予測ブロックサイズに応じて設定される。また、隣接する２つのブロックでブロックサイズが異なる場合、大きい方の予測ブロックサイズに応じてフィルタ強度が調整される。また、フィルタ強度の調整では、符号化規格のシンタックス・エレメントの値が調整される。例えば、Ｈ．２６４/ＡＶＣ規格のシンタックス・エレメントであるslice_alpha_c0_offset_div2およびslice_beta_offset_div2で指定するFilterOffsetAおよびFilterOffsetBの値を調整してフィルタ強度の調整が行われる。さらに、予め設けられているパラメータ値と異なるパラメータ値を用いるときは、シンタックス・エレメントであるピクチャパラメータセットのdeblocking_filter_control_present_flagの値を所定の値例えば「１」に設定し、スライスヘッダに、FilterOffsetAおよびFilterOffsetBの値が記述される。
【００１５】
この発明の第２の側面は、符号化効率が最良となる予測ブロックサイズを検出して、該検出された予測ブロックサイズで画像データを符号化処理する画像符号化方法において、前記予測ブロックサイズで符号化された画像データを復号化して得られるデータを用いて生成されて、前記符号化効率が最良となる予測ブロックサイズの検出に用いられる復号画像データに対してブロック歪みを除去するフィルタ処理を行うデブロッキングフィルタ工程と、前記検出された予測ブロックサイズに応じて前記フィルタ処理におけるフィルタ強度を調整するフィルタ強度調整工程とを設けた画像符号化方法にある。
【発明の効果】
【００１６】
この発明によれば、予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行うとき、予測ブロックサイズに応じてフィルタ強度が調整される。このため、拡張された大きさのマクロブロックが用いられても、予測ブロックサイズに応じてフィルタ強度を調整することで、ブロック歪みが軽減された良好な画質の復号画像を得られるようになる。
【図面の簡単な説明】
【００１７】
【図１】画像符号化装置の構成を示す図である。
【図２】デブロッキングフィルタのフィルタ処理に用いる画素データを示した図である。
【図３】量子化パラメータＱＰと閾値αの関係を示す図である。
【図４】デブロッキングフィルタとフィルタ強度調整部の構成を示す図である。
【図５】画像符号化処理で用いる予測ブロックサイズを示す図である。
【図６】画像符号化処理動作を示すフローチャートである。
【図７】予測処理を示すフローチャートである。
【図８】イントラ予測処理を示すフローチャートである。
【図９】インター予測処理を示すフローチャートである。
【図１０】フィルタ強度調整処理を示すフローチャートである。
【図１１】画像復号化装置の構成を示している。
【図１２】画像復号化処理動作を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、発明を実施するための形態について説明する。本発明の画像処理装置は、予測ブロックサイズで画像データを符号化処理する画像符号化装置や、予測ブロックサイズで符号化が行われた画像データを復号化処理する画像復号化装置等に適用可能であり、画像符号化装置に適用した場合と、画像復号化装置に適用した場合について、以下の順序で説明する。
１．画像符号化装置の構成
２．デブロッキングフィルタのフィルタ処理について
３．画像符号化装置におけるデブロッキングフィルタとフィルタ強度調整部の構成
４．画像符号化装置の動作
５．画像復号化装置の構成
６．画像復号化装置の動作
【００１９】
＜１．画像符号化装置の構成＞
図１は、画像符号化装置の構成を示している。画像符号化装置１０は、アナログ／ディジタル変換部（Ａ／Ｄ変換部）１１、画面並び替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８を備えている。さらに、画像符号化装置１０は、逆量子化部２１、逆直交変換部２２、加算部２３、デブロッキングフィルタ２４、フレームメモリ２５、セレクタ２６、イントラ予測部３１、動き予測・補償部３２、予測画像・最適モード選択部３３を備えている。
【００２０】
Ａ／Ｄ変換部１１は、アナログの画像信号をディジタルの画像データに変換して画面並べ替えバッファ１２に出力する。
【００２１】
画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１から出力された画像データに対してフレームの並べ替えを行う。画面並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group of Pictures）構造に応じてフレームの並べ替えを行い、並べ替え後の画像データを減算部１３とイントラ予測部３１と動き予測・補償部３２に出力する。
【００２２】
減算部１３には、画面並べ替えバッファ１２から出力された画像データと、後述する予測画像・最適モード選択部３３で選択された予測画像データが供給される。減算部１３は、画面並べ替えバッファ１２から出力された画像データと予測画像・最適モード選択部３３から供給された予測画像データとの差分である予測誤差データを算出して、直交変換部１４に出力する。
【００２３】
直交変換部１４は、減算部１３から出力された予測誤差データに対して、離散コサイン変換（DCT；Discrete Cosine Transform）、カルーネン・レーベ変換等の直交変換処理を行う。直交変換部１４は、直交変換処理を行うことにより得られた変換係数データを量子化部１５に出力する。
【００２４】
量子化部１５には、直交変換部１４から出力された変換係数データと、後述するレート制御部１８からレート制御信号が供給されている。量子化部１５は変換係数データの量子化を行い、量子化データを可逆符号化部１６と逆量子化部２１に出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づき量子化パラメータ（量子化スケール）を切り替えて、量子化データのビットレートを変化させる。
【００２５】
可逆符号化部１６には、量子化部１５から出力された量子化データと、後述するイントラ予測部３１と動き予測・補償部３２および予測画像・最適モード選択部３３から予測モード情報が供給される。なお、予測モード情報には、イントラ予測またはインター予測に応じて、予測ブロックサイズを識別可能とするマクロブロックタイプ、予測モード、動きベクトル情報、参照ピクチャ情報等が含まれる。可逆符号化部１６は、量子化データに対して例えば可変長符号化、または算術符号化等により可逆符号化処理を行い、符号化ストリームを生成して蓄積バッファ１７に出力する。また、可逆符号化部１６は、予測モード情報を可逆符号化して、符号化ストリームのヘッダ情報に付加する。
【００２６】
蓄積バッファ１７は、可逆符号化部１６からの符号化ストリームを蓄積する。また、蓄積バッファ１７は、蓄積した符号化ストリームを伝送路に応じた伝送速度で出力する。
【００２７】
レート制御部１８は、蓄積バッファ１７の空き容量の監視を行い、空き容量に応じてレート制御信号を生成して量子化部１５に出力する。レート制御部１８は、例えば蓄積バッファ１７から空き容量を示す情報を取得する。レート制御部１８は空き容量が少なくなっているとき、レート制御信号によって量子化データのビットレートを低下させる。また、レート制御部１８は蓄積バッファ１７の空き容量が十分大きいとき、レート制御信号によって量子化データのビットレートを高くする。
【００２８】
逆量子化部２１は、量子化部１５から供給された量子化データの逆量子化処理を行う。逆量子化部２１は、逆量子化処理を行うことで得られた変換係数データを逆直交変換部２２に出力する。
【００２９】
逆直交変換部２２は、逆量子化部２１から供給された変換係数データの逆直交変換処理を行うことで得られたデータを加算部２３に出力する。
【００３０】
加算部２３は、逆直交変換部２２から供給されたデータと予測画像・最適モード選択部３３から供給された予測画像データを加算して復号画像データを生成して、デブロッキングフィルタ２４とフレームメモリ２５に出力する。
【００３１】
デブロッキングフィルタ２４は、画像の符号化時に生じるブロック歪みを減少させるためのフィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３から供給された復号画像データからブロック歪みを除去するフィルタ処理を行い、フィルタ処理後の復号画像データをフレームメモリ２５に出力する。また、デブロッキングフィルタ２４は、後述するフィルタ強度調整部４１から供給されたパラメータ値に基づきフィルタ強度を調整する。
【００３２】
フレームメモリ２５は、加算部２３から供給された復号画像データとデブロッキングフィルタ２４から供給されたフィルタ処理後の復号画像データとを保持する。
【００３３】
セレクタ２６は、イントラ予測を行うためにフレームメモリ２５から読み出されたフィルタ処理前の復号画像データをイントラ予測部３１に供給する。また、セレクタ２６は、インター予測を行うためフレームメモリ２５から読み出されたフィルタ処理後の復号画像データを動き予測・補償部３２に供給する。
【００３４】
イントラ予測部３１は、画面並べ替えバッファ１２から出力された符号化対象画像の画像データとフレームメモリ２５から読み出したフィルタ処理前の復号画像データを用いて、候補となる全てのイントラ予測モードのイントラ予測処理を行う。さらに、イントラ予測部３１は、各イントラ予測モードに対してコスト関数値を算出して、算出したコスト関数値が最小となるイントラ予測モード、すなわち符号化効率が最良となるイントラ予測モードを、最適イントラ予測モードとして選択する。イントラ予測部３１は、最適イントラ予測モードで生成された予測画像データと最適イントラ予測モードに関する予測モード情報、および最適イントラ予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。また、イントラ予測部３１は、後述するようにコスト関数値の算出で用いる発生符号量を得るため、各イントラ予測モードのイントラ予測処理において、イントラ予測モードに関する予測モード情報を可逆符号化部１６に出力する。
【００３５】
動き予測・補償部３２は、マクロブロックに対応する全ての予測ブロックサイズで動き予測・補償処理を行う。動き予測・補償部３２は、画面並べ替えバッファ１２から読み出された符号化対象画像における各予測ブロックサイズの画像毎に、フレームメモリ２５から読み出されたフィルタ処理後の復号画像データを用いて動きベクトルを検出する。さらに、動き予測・補償部３２は、検出した動きベクトルに基づいて復号画像に動き補償処理を施して予測画像の生成を行う。また、動き予測・補償部３２は、各予測ブロックサイズに対してコスト関数値を算出して、算出したコスト関数値が最小となる予測ブロックサイズ、すなわち符号化効率が最良となる予測ブロックサイズを、最適インター予測モードとして選択する。動き予測・補償部３２は、最適インター予測モードで生成された予測画像データと最適インター予測モードに関する予測モード情報、および最適インター予測モードでのコスト関数値を予測画像・最適モード選択部３３に出力する。また、動き予測・補償部３２は、コスト関数値の算出で用いる発生符号量を得るため、各予測ブロックサイズでのインター予測処理において、インター予測モードに関する予測モード情報を可逆符号化部１６に出力する。なお、動き予測・補償部３２は、インター予測モードとして、スキップドマクロブロックやダイレクトモードでの予測も行う。
【００３６】
予測画像・最適モード選択部３３は、イントラ予測部３１から供給されたコスト関数値と動き予測・補償部３２から供給されたコスト関数値を、マクロブロック単位で比較して、コスト関数値が少ない方を、符号化効率が最良となる最適モードとして選択する。また、予測画像・最適モード選択部３３は、最適モードで生成した予測画像データを減算部１３と加算部２３に出力する。さらに、予測画像・最適モード選択部３３は、最適モードの予測モード情報を可逆符号化部１６とフィルタ強度調整部４１に出力する。なお、予測画像・最適モード選択部３３は、スライス単位でイントラ予測またはインター予測を行う。
【００３７】
フィルタ強度調整部４１は、最適モードの予測モード情報によって示された予測ブロックサイズに応じてフィルタ強度を調整するためのパラメータ値を設定してデブロッキングフィルタ２４に出力する。
【００３８】
＜２．デブロッキングフィルタのフィルタ処理について＞
デブロッキングフィルタのフィルタ処理において、Ｈ２６４．／ＡＶＣの符号化方式では、画像圧縮情報に含まれるPicture Parameter Set RBSPのdeblocking_filter_control_present_flagおよびSlice Headerに含まれるdisable_deblocking_filter_idcという2つのパラメータによって、
(a)  ブロック境界、およびマクロブロック境界に施す
(b)  Macroblock境界にのみ施す
(c)  施さない
の３通りを指定することが可能である。
【００３９】
量子化パラメータＱＰについては、以下の処理を輝度データに対して適用する場合は、ＱＰYを、色差データに対して適用する場合はＱＰCを用いる。また、動きベクトル符号化、イントラ予測、エントロピー符号化(CAVLC/CABAC)においては、異なるスライスに属する画素値は“not available”として処理する。さらに、フィルタ処理においては、異なるスライスに属する画素値でも、同一のピクチャに属する場合は“available”であるとして処理を行う。
【００４０】
以下の説明では、隣接するブロックＰ，Ｑについて、ブロック境界におけるフィルタ処理前の画素データを、図２の（Ａ）に示すようにｐ0〜ｐ3，ｑ0〜ｑ3とする。また、処理後の画素データを、図２の（Ｂ）に示すようにｐ0’〜ｐ3’，ｑ0’〜ｑ3’とする。
【００４１】
フィルタ処理に先立ち、図２における画素ｐおよび画素ｑに対して、表１に示すように、ブロック境界強度データＢｓ(Boundary Strength)が定義される。
【００４２】
【表１】
2011223302.tif 000003
【００４３】
表１に示すように、ブロック境界強度データＢｓは、画素ｐまたは画素ｑのいずれか一方がイントラ符号化されるマクロブロックＭＢに属し、且つ、当該画素がマクロブロックＭＢの境界に位置する場合に、最もフィルタ強度が高い「４」が割り当てられている。
【００４４】
ブロック境界強度データＢｓは、画素ｐまたは画素ｑのいずれか一方がイントラ符号化されるマクロブロックＭＢに属し、且つ、当該画素がマクロブロックＭＢの境界に位置しない場合に、「４」の次にフィルタ強度が高い「３」が割り当てられている。
【００４５】
ブロック境界強度データＢｓは、画素ｐおよび画素ｑの双方がイントラ符号化されるマクロブロックＭＢに属するものではなく、且つ、いずれかの画素が変換係数を持つ場合に、「３」の次にフィルタ強度が高い「２」が割り当てられている。
【００４６】
ブロック境界強度データＢｓは、画素ｐおよび画素ｑの双方がイントラ符号化されるマクロブロックＭＢに属するものではなく、且つ、いずれかの画素が変換係数を持たないという条件を場合に満たし、且つ、参照フレームが異なるか、参照フレームの枚数が異なるか、動きベクトルが異なるかのいずれかの条件を満たす場合に、「１」が割り当てられている。
【００４７】
ブロック境界強度データＢｓは、画素ｐ，ｑの双方がイントラ符号化されるマクロブロックＭＢに属するものではなく、どちらの画素も変換係数を持たず、参照フレームおよび動きベクトルが同じ場合に、フィルタ処理を行わないことを意味する「０」が割り当てられている。
【００４８】
図２における(ｐ2，ｐ1，ｐ0，ｑ0，ｑ1，ｑ2)は、式（１）の条件が成立する場合のみ、フィルタ処理が施される。
Ｂｓ＞０
|ｐ0−ｑ0|＜α；|ｐ1−ｐ0|＜β;|ｑ1−ｑ0|＜β
・・・（１）
【００４９】
ここで、フィルタ強度すなわちフィルタのかかりやすさを調整するパラメータ値である閾値α，βは、デフォルトでは以下のように量子化パラメータＱＰに応じてその値が定められている。また、画像圧縮情報中のSlice Headerに含まれるslice_alpha_c0_offset_div2、およびslice_beta_offset_div2という２つのパラメータによって、ユーザがその強度を調整することが可能である。なお、図３は、量子化パラメータＱＰと閾値αの関係を示しており、量子化パラメータＱＰにオフセット量を加えると、量子化パラメータＱＰと閾値αの関係を示す曲線は矢印の方向に移動することから、フィルタ強度を調整することが明らかである。
【００５０】
また、隣接するブロックＰとブロックＱのそれぞれの量子化パラメータｑＰp，ｑＰｑを用いて式（２）〜（４）からindexAとindexBを算出して、表２に示すテーブルから閾値α，βを求める。
ｑＰav＝（ｑＰｐ＋ｑＰｑ＋１）＞＞１               ・・・（２）
indexA＝Clip３（０，５１，ｑＰａｖ＋FilterOffsetA）  ・・・（３）
indexB＝Clip３（０，５１，ｑＰａｖ＋FilterOffsetB）  ・・・（４）
【００５１】
【表２】
2011223302.tif 000004
【００５２】
フィルタ処理は、「Ｂｓ＜４」の場合と「Ｂｓ＝４」の場合に対して異なる方法が定義されている。先ず、「Ｂｓ＜４」の場合を説明する。
【００５３】
デブロッキングフィルタは、式（５）〜（７）に示す演算を行って、フィルタ処理後の画素データｐ0’，ｑ0’を算出する。式（７）において、Clip３は、クリッピング処理を示す。
ｐ0’＝Clip１（ｐ0＋Δ）      ・・・（５）
ｑ0’＝Clip１（ｑ0＋Δ）      ・・・（６）
Δ＝Clip３（−ｔc，ｔc（（（（ｑ0−ｐ0）＜＜２）＋（ｐ1−ｑ1）＋４）＞＞３））                                                      ・・・（７）
【００５４】
デブロッキングフィルタは、式（７）の「ｔc」を、chromaEdgeFlagが「０」を示す場合に式（８）に基づいて算出し、それ以外の場合に式（９）に基づいて算出する。
【００５５】
式（８）において、「（  ）？１：０」は、（  ）内の条件を満たすと「１」、それ以外の場合は「０」を示す。
ｔc＝ｔc0＋（（ａｐ＜β）？１：０）＋（ａｑ＜β）？１：０）  ・・・（８）
ｔc＝ｔc0＋１                                                ・・・（９）
このｔcの値は、ＢｓとindexAの値に応じて表３のように定義される。
【００５６】
【表３】
2011223302.tif 000005
【００５７】
また、デブロッキングフィルタは、式（８）のａｐ，ａｑを式（１０）（１１）にしたがって算出する。
ａｐ＝｜ｐ２−ｐ０｜        ・・・（１０）
ａｑ＝｜ｑ２−ｑ０｜        ・・・（１１）
【００５８】
デブロッキングフィルタは、フィルタ処理後の画素データｐ1’を、chromaEdgeFlagが「０」で、且つ、ａｐが「β」以下である場合に式（１２）に示す演算を行って算出し、それ以外の場合に式（１３）により取得する。
ｐ1’＝ｐ1＋Clip３（-ｔc0，ｔc0，（ｐ2＋（（ｐ0＋ｑ0＋１）＞＞１）−（ｐ1＜＜１））＞＞１）          ・・・（１２）
ｐ1’＝ｐ1            ・・・（１３）
【００５９】
デブロッキングフィルタは、フィルタ処理後の画素データｑ1’を、chromaEdgeFlagが「０」で、且つ、ａｑが「β」以下である場合に式（１４）に示す演算を行って算出し、それ以外の場合に式（１５）により取得する。
ｑ1’＝ｑ1＋Clip３（-ｔc0，ｔc0，（ｑ2＋（（ｐ0＋ｑ0＋１）＞＞１）−（ｑ１＜＜１））＞＞１）        ・・・（１４）
ｑ1’＝ｑ1          ・・・（１５）
【００６０】
次に、「Ｂｓ＝４」の場合を説明する。デブロッキングフィルタは、chromaEdgeFlagが「０」を示し、且つ、式（１６）の条件を満たす場合に、画素データｐ0’，ｐ1’，ｐ2’を式（１７）〜（１９）にしたがって算出する。
ａｐ＜β  ＆＆  ｜ｐ0−ｑ0｜＜（（α＞＞２）＋２）        ・・・（１６）
ｐ0’＝（ｐ2＋２・ｐ1＋２・ｐ0＋２・ｑ0＋ｑ1＋４）＞＞３  ・・・（１７）
ｐ1’＝（ｐ2＋ｐ1＋ｐ0＋ｑ0＋２）＞＞２                   ・・・（１８）
ｐ2’＝（２・ｐ3＋３・ｐ2＋ｐ1＋ｐ0＋ｑ0＋４）＞＞３      ・・・（１９）
【００６１】
デブロッキングフィルタは、chromaEdgeFlagが「０」を示し、且つ、式（１６）の条件を満たさない場合に、画素データｐ0’，ｐ1’，ｐ2’を式（２０）〜（２２）にしたがって算出する。
【００６２】
ｐ0’＝（２・ｐ1＋ｐ0＋ｑ1＋２）＞＞２  ・・・（２０）
ｐ1’＝ｐ1                              ・・・（２１）
ｐ2’＝ｐ2                              ・・・（２２）
【００６３】
デブロッキングフィルタは、chromaEdgeFlagが「０」を示し、且つ、式（２３）の条件を満たす場合に、画素データｑ0’，ｑ1’，ｑ2’を式（２４）〜（２６）にしたがって算出する。
ａｑ＜β  ＆＆  ｜ｐ0−ｑ0｜＜（（α＞＞２）＋２）        ・・・（２３）
ｑ0’＝（ｐ1＋２・ｐ0＋２・ｑ0＋２・ｑ1＋ｑ2＋４）＞＞３  ・・・（２４）
ｑ1’＝（ｐ0＋ｑ0＋ｑ1＋ｑ2＋２）＞＞２                   ・・・（２５）
ｑ2’＝（２・ｑ3＋３・ｑ2＋ｑ1＋ｑ0＋ｐ4＋４）＞＞３      ・・・（２６）
【００６４】
デブロッキングフィルタは、chromaEdgeFlagが「０」を示し、且つ、式（２３）の条件を満たさない場合に、画素データｑ0’，ｑ1’，ｑ2’を式（２７）〜（２９）にしたがって算出する。
ｑ0’＝（２・ｑ1＋ｑ0＋ｐ1＋２）＞＞２  ・・・（２７）
ｑ1’＝ｑ1                              ・・・（２８）
ｑ2’＝ｑ2                              ・・・（２９）
【００６５】
＜３．画像符号化装置におけるデブロッキングフィルタとフィルタ強度調整部の構成＞
フィルタ強度調整部４１は、当該マクロブロックにおける最適モードの予測ブロックサイズに応じて、デブロッキングフィルタ２４におけるフィルタ強度の調整を行う。
【００６６】
一般に、ブロック歪みは、ブロックサイズがより大きい場合の方が、人間の目につきやすい。また、より大きなブロックサイズは、あまりテクスチャ情報を含まないフラットな領域に対して選択されやすい。
【００６７】
また、デブロッキングフィルタのフィルタ強度を強くすると、ブロック歪みは除去されるが、同時に、デブロッキングフィルタのフィルタ処理はローパスフィルタ処理であるため、画像の持つ鮮鋭度が失われるという問題点を有する。
【００６８】
しかるに、例えば、元々テクスチャ情報をあまり含まない、より大きな予測ブロックサイズを用いたブロックに対してフィルタをかかりやすくすれば、テクスチャに与える影響が少なく、目につきやすいブロック歪みを除去し、良好な画質の復号画像を得ることが可能となる。
【００６９】
フィルタ強度調整部４１は、フィルタ強度を調整するパラメータ値を予測ブロックサイズに応じて設定することで、デブロッキングフィルタ２４におけるフィルタ強度の調整を行う。
【００７０】
また、隣接する２つのブロックは、予測ブロックサイズが等しくなる場合に限られない。したがって、フィルタ強度調整部４１は、当該ブロック、若しくは隣接ブロックのどちらか一方で最適モードにおける予測ブロックサイズが拡張されたブロックサイズである場合、大きい方の予測ブロックサイズに応じてフィルタ強度を調整する。
【００７１】
さらに、フィルタ強度調整部４１は、所定のマクロブロックよりもブロックサイズが大きい複数のマクロブロックが用いられる場合、ブロックサイズが大きいほどフィルタ強度が強くなるように、隣接する２つのブロックの予測ブロックサイズの組み合わせ毎にフィルタ強度を調整する。
【００７２】
図４は、デブロッキングフィルタとフィルタ強度調整部の構成を示している。フィルタ強度調整部４１は、ブロックサイズバッファ４１１とパラメータ選択部４１２を備えている。ブロックサイズバッファ４１１は、予測画像・最適モード選択部３３で選択された最適モードおける予測ブロックサイズを示す情報を、１フレーム画像分蓄積する。すなわち、ブロックサイズバッファ４１１には、符号化対象の１フレーム画像における各マクロブロックの予測ブロックサイズに関する情報が記憶されている状態となる。
【００７３】
パラメータ選択部４１２は、ブロックサイズバッファ４１１の予測ブロックサイズの情報に基づき、より大きなブロックサイズの復号画像部分に対してはフィルタ処理がかかりやすくなるように、パラメータ値を設定する。パラメータ選択部４１２は、例えばＨ．２６４/ＡＶＣ規格のシンタックス・エレメントであるslice_alpha_c0_offset_div2およびslice_beta_offset_div2で指定するFilterOffsetAおよびFilterOffsetBの値を、より大きな値に設定する。また、パラメータ選択部４１２は、隣接する予測ブロックサイズの組み合わせ毎に、FilterOffsetAおよびFilterOffsetBを予め設定しておき、予測ブロックサイズの情報に基づき隣接するブロックがどのような予測ブロックサイズであるか判別する。さらに、判別された予測ブロックサイズの組み合わせに応じた値を用いるようにする。
【００７４】
さらに、パラメータ選択部４１２は、上述の式（２）〜（４）からindexＡとindexＢを算出して、表２に示すテーブルを用いて、フィルタ強度を設定するパラメータ値である閾値α，βを予測ブロックサイズに応じて設定して、デブロッキングフィルタ２４のフィルタ強度決定部２４１に出力する。
【００７５】
フィルタ強度決定部２４１は、可逆符号化部１６から供給された予測モード情報に基づきブロック境界強度データＢｓを決定して、決定したブロック境界強度データＢｓと、パラメータ選択部４１２から供給された閾値α，βをフィルタ処理部２４２に出力する。
【００７６】
フィルタ処理部２４２は、ブロック境界強度データＢｓと閾値α，βおよびブロック境界部分の画素データｐ3，ｐ2，ｐ1，ｐ0，ｑ0，ｑ1，ｑ2，ｑ3を用いて上述のフィルタ演算を行い、フィルタ処理後の画素データｐ3'，ｐ2'，ｐ1'，ｐ0'，ｑ0'，ｑ1'，ｑ2'，ｑ3'を算出する。
【００７７】
＜４．画像符号化装置の動作＞
次に、画像符号化処理動作について説明する。図５は、画像符号化処理で用いる予測ブロックサイズを示している。Ｈ．２６４／ＡＶＣ方式では、図５の（Ｃ）（Ｄ）に示すように１６×１６画素〜４×４画素の予測ブロックサイズが規定されている。また、Ｈ．２６４／ＡＶＣ方式よりも拡張された大きさのマクロブロックを用いる場合、例えば３２×３２画素のマクロブロックを用いる場合、例えば図５の（Ｂ）に示す予測ブロックサイズが規定される。また、例えば６４×６４画素のマクロブロックを用いる場合、例えば図５の（Ａ）に示す予測ブロックサイズが規定される。
【００７８】
なお、図５において、「Ｓｋｉｐ／ｄｉｒｅｃｔ」は、動き予測・補償部３２において、スキップドマクロブロックやダイレクトモードを選択したときの予測ブロックサイズであることを示している。また、「ＭＥ」は動き補償ブロックサイズであることを示している。また、「Ｐ８×８」は、マクロブロックのサイズを小さくした下位の階層で更に分割できることを示している。
【００７９】
図６は、画像符号化処理動作を示すフローチャートである。ステップＳＴ１１において、Ａ／Ｄ変換部１１は入力された画像信号をＡ／Ｄ変換する。
【００８０】
ステップＳＴ１２において画面並べ替えバッファ１２は、画像並べ替えを行う。画面並べ替えバッファ１２は、Ａ／Ｄ変換部１１より供給された画像データを記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【００８１】
ステップＳＴ１３において減算部１３は、予測誤差データの生成を行う。減算部１３は、ステップＳＴ１２で並び替えられた画像の画像データと予測画像・最適モード選択部３３で選択された予測画像データとの差分を算出して予測誤差データを生成する。予測誤差データは、元の画像データに比べてデータ量が小さい。したがって、画像をそのまま符号化する場合に比べて、データ量を圧縮することができる。なお、予測画像・最適モード選択部３３でイントラ予測部３１から供給された予測画像と動き予測・補償部３２からの予測画像の選択がスライス単位で行われるとき、イントラ予測部３１から供給された予測画像が選択されたスライスでは、イントラ予測が行われることになる。また、動き予測・補償部３２からの予測画像が選択されたスライスでは、インター予測が行われることになる。
【００８２】
ステップＳＴ１４において直交変換部１４は、直交変換処理を行う。直交変換部１４は、減算部１３から供給された予測誤差データを直交変換する。具体的には、予測誤差データに対して離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数データを出力する。
【００８３】
ステップＳＴ１５において量子化部１５は、量子化処理を行う。量子化部１５は、変換係数データを量子化する。量子化に際しては、後述するステップＳＴ２５の処理で説明されるように、レート制御が行われる。
【００８４】
ステップＳＴ１６において逆量子化部２１は、逆量子化処理を行う。逆量子化部２１は、量子化部１５により量子化された変換係数データを量子化部１５の特性に対応する特性で逆量子化する。
【００８５】
ステップＳＴ１７において逆直交変換部２２は、逆直交変換処理を行う。逆直交変換部２２は、逆量子化部２１により逆量子化された変換係数データを直交変換部１４の特性に対応する特性で逆直交変換する。
【００８６】
ステップＳＴ１８において加算部２３は、復号画像データの生成を行う。加算部２３は、予測画像・最適モード選択部３３から供給された予測画像データと、この予測画像と対応する位置の逆直交変換後のデータを加算して、復号画像データを生成する。
【００８７】
ステップＳＴ１９においてデブロッキングフィルタ２４は、フィルタ処理を行う。デブロッキングフィルタ２４は、加算部２３より出力された復号画像データをフィルタリングしてブロック歪みを除去する。
【００８８】
ステップＳＴ２０においてフレームメモリ２５は、復号画像データを記憶する。フレームメモリ２５は、フィルタ処理前の復号画像データとフィルタ処理後の復号画像データを記憶する。
【００８９】
ステップＳＴ２１においてイントラ予測部３１と動き予測・補償部３２は、それぞれ予測処理を行う。すなわち、イントラ予測部３１は、イントラ予測モードのイントラ予測処理を行い、動き予測・補償部３２は、インター予測モードの動き予測・補償処理を行う。予測処理の詳細は、図７を参照して後述するが、この処理により、候補となる全ての予測モードでの予測処理がそれぞれ行われ、候補となる全ての予測モードでのコスト関数値がそれぞれ算出される。そして、算出されたコスト関数値に基づいて、最適イントラ予測モードと最適インター予測モードが選択され、選択された予測モードで生成された予測画像とそのコスト関数および予測モード情報が予測画像・最適モード選択部３３に供給される。
【００９０】
ステップＳＴ２２において予測画像・最適モード選択部３３は、予測画像データの選択を行う。予測画像・最適モード選択部３３は、イントラ予測部３１および動き予測・補償部３２より出力された各コスト関数値に基づいて、符号化効率が最良となる最適モードに決定する。さらに、予測画像・最適モード選択部３３は、決定した最適モードの予測画像データを選択して、減算部１３と加算部２３に供給する。この予測画像が、上述したように、ステップＳＴ１３，ＳＴ１８の演算に利用される。なお、選択した予測画像データに対応する予測モード情報は、可逆符号化部１６とフィルタ強度調整部４１に出力される。
【００９１】
ステップＳＴ２３において可逆符号化部１６は、可逆符号化処理を行う。可逆符号化部１６は、量子化部１５より出力された量子化データを可逆符号化する。すなわち、量子化データに対して可変長符号化や算術符号化等の可逆符号化が行われて、データ圧縮される。このとき、上述したステップＳＴ２２において可逆符号化部１６に入力された予測モード情報（例えばマクロブロックタイプや予測モード、動きベクトル情報、参照ピクチャ情報等を含む）なども可逆符号化される。さらに、量子化データを可逆符号化して生成された符号化ストリームのヘッダ情報に、予測モード情報の可逆符号化データが付加される。
【００９２】
ステップＳＴ２４において蓄積バッファ１７は、蓄積処理を行い符号化ストリームを蓄積する。この蓄積バッファ１７に蓄積された符号化ストリームは適宜読み出され、伝送路を介して復号側に伝送される。
【００９３】
ステップＳＴ２５においてレート制御部１８は、レート制御を行う。レート制御部１８は、蓄積バッファ１７で符号化ストリームを蓄積するとき、オーバーフローまたはアンダーフローが蓄積バッファ１７で発生しないように、量子化部１５の量子化動作のレートを制御する。
【００９４】
次に、図７のフローチャートを参照して、図６のステップＳＴ２１における予測処理を説明する。
【００９５】
ステップＳＴ３１において、イントラ予測部３１はイントラ予測処理を行う。イントラ予測部３１は処理対象のブロックの画像を、候補となる全てのイントラ予測モードでイントラ予測する。なお、イントラ予測において参照される復号画像の画像データは、デブロッキングフィルタ２４によりフィルタ処理が行われることなくフレームメモリ２５に記憶されている復号画像データが用いられる。イントラ予測処理の詳細は後述するが、この処理により、候補となる全てのイントラ予測モードでイントラ予測が行われ、候補となる全てのイントラ予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのイントラ予測モードの中から、符号化効率が最良となる１つのイントラ予測モードが選択される。
【００９６】
ステップＳＴ３２において、動き予測・補償部３２はインター予測処理を行う。動き予測・補償部３２は、フレームメモリ２５に記憶されているフィルタ処理後の復号画像データを用いて、候補となる全てのインター予測モード（全ての予測ブロックサイズ）のインター予測処理を行う。インター予測処理の詳細は後述するが、この処理により、候補となる全てのインター予測モードで予測処理が行われ、候補となる全てのインター予測モードに対してコスト関数値が算出される。そして、算出されたコスト関数値に基づいて、全てのインター予測モードの中から、符号化効率が最良となる１つのインター予測モードが選択される。
【００９７】
次に、図７のステップＳＴ３１におけるイントラ予測処理について図８のフローチャートを参照して説明する。
【００９８】
ステップＳＴ４１でイントラ予測部３１は、各予測モードのイントラ予測を行う。イントラ予測部３１は、フレームメモリ２５に記憶されているフィルタ処理前の復号画像データを用いて、イントラ予測モード毎に予測画像データを生成する。
【００９９】
ステップＳＴ４２でイントラ予測部３１は、各予測モードに対するコスト関数値を算出する。コスト関数値としては、Ｈ．２６４／ＡＶＣ方式における参照ソフトウェアであるＪＭ(Joint Model)で定められているように、High Complexity モードか、Low Complexity モードのいずれかの手法に基づいて行う。
【０１００】
すなわち、High Complexity モードにおいては、ステップＳＴ４１の処理として、候補となる全ての予測モードに対して、仮に可逆符号化処理までを行い、次の式（３０）で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=Ｄ+λ・Ｒ            ・・・（３０）
【０１０１】
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー（歪み）を示している。Ｒは、直交変換係数や予測モード情報等を含んだ発生符号量、λは、量子化パラメータＱＰの関数として与えられるラグランジュ乗数である。
【０１０２】
つまり、High Complexity Modeでの符号化を行うには、上記パラメータＤおよびＲを算出するため、候補となる全ての予測モードにより、一度、仮エンコード処理を行う必要があり、より高い演算量を要する。
【０１０３】
一方、Low Complexity モードにおいては、ステップＳＴ４１の処理として、候補となる全ての予測モードに対して、予測画像の生成、および、動きベクトル情報や予測モード情報などのヘッダビットまでを算出し、次の式（３１）で表されるコスト関数値を各予測モードに対して算出する。
Cost(Mode∈Ω)=Ｄ+QPtoQuant(QP)・Header_Bit      ・・・（３１）
【０１０４】
Ωは、当該ブロック乃至マクロブロックを符号化するための候補となる予測モードの全体集合を示している。Ｄは、予測モードで符号化を行った場合の復号画像と入力画像との差分エネルギー（歪み）を示している。Header_Bitは、予測モードに対するヘッダビット、QPtoQuantは、量子化パラメータＱＰの関数として与えられる関数である。
【０１０５】
すなわち、Low Complexity Modeにおいては、それぞれの予測モードに関して、予測処理を行う必要があるが、復号化画像までは必要ないため、High Complexity Modeより低い演算量での実現が可能である。
【０１０６】
ステップＳＴ４３でイントラ予測部３１は、最適イントラ予測モードを決定する。イントラ予測部３１は、ステップＳＴ４２において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である１つのイントラ予測モードを選択して最適イントラ予測モードに決定する。
【０１０７】
次に、図９のフローチャートを参照して、図７のステップＳＴ３２のインター予測処理について説明する。
【０１０８】
ステップＳＴ５１で動き予測・補償部３２は、各予測モードに対して動きベクトルと参照画像をそれぞれ決定する。すなわち、動き予測・補償部３２は、各予測モードの処理対象のブロックについて、動きベクトルと参照画像をそれぞれ決定する。
【０１０９】
ステップＳＴ５２で動き予測・補償部３２は、各予測モードに対して動き補償を行う。動き予測・補償部３２は、各予測モード（各予測ブロックサイズ）について、ステップＳＴ５１で決定された動きベクトルに基づいて、参照画像に対する動き補償を行い、各予測モードについて予測画像データを生成する。
【０１１０】
ステップＳＴ５３で動き予測・補償部３２は、各予測モードに対して動きベクトル情報の生成を行う。動き予測・補償部３２は、各予測モードで決定された動きベクトルについて、符号化ストリームに含める動きベクトル情報を生成する。例えば、メディアン予測等を用いて予測動きベクトルを決定して、動き予測により検出した動きベクトルと予測動きベクトルの差を示す動きベクトル情報を生成する。このようにして生成された動きベクトル情報は、次のステップＳＴ５４におけるコスト関数値の算出にも用いられて、最終的に予測画像・最適モード選択部３３で対応する予測画像が選択された場合には、予測モード情報に含まれて可逆符号化部１６へ出力される。
【０１１１】
ステップＳＴ５４で動き予測・補償部３２は、各インター予測モードに対して、コスト関数値の算出を行う。動き予測・補償部３２は、上述した式（３０）または式（３１）を用いてコスト関数値の算出を行う。なお、インター予測モードに対するコスト関数値の算出には、Ｈ．２６４／ＡＶＣ方式において定められているSkip ModeおよびDirect Modeのコスト関数値の評価も含まれる。
【０１１２】
ステップＳＴ５５で動き予測・補償部３２は、最適インター予測モードを決定する。動き予測・補償部３２は、ステップＳＴ５４において算出されたコスト関数値に基づいて、それらの中から、コスト関数値が最小値である１つの予測モードを選択して最適インター予測モードに決定する。
【０１１３】
次に、デブロッキングフィルタ調整処理について説明する。Ｈ．２６４／ＡＶＣ符号化方式におけるデブロッキングフィルタに関連するパラメータの規定方法において、ピクチャパラメータセットに、deblocking_filter_control_present_flagが存在する。このフラグの値が「１」である場合、スライスヘッダにおいて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が存在することになり、存在しない場合には、デフォルト値として「０」が用いられるという構成になっている。
【０１１４】
これに対して、本発明では、隣接する２つのブロックの大きさの組み合わせに応じて、オフセット値ＳＺａ，ＳＺbを、例えば０＜ＳＺa≦ＳＺb≦６である整数として、FilterOffsetAおよびFilterOffsetBと共に、表４のように値が定義されているものとする。
【０１１５】
【表４】
2011223302.tif 000006
【０１１６】
表４は、所定のマクロブロックよりもブロックサイズが大きい複数のマクロブロックが用いられる場合、ブロックサイズが大きいほどフィルタ強度が強くなるように、隣接する２つのブロックの予測ブロックサイズの組み合わせ毎のオフセット値を示している。また、表４のオフセット値は、隣接する２つのブロックで予測ブロックサイズが異なる場合、大きい方の予測ブロックサイズに応じてフィルタ強度を調整するように設定されている。すなわち、隣接する２つのブロックのうち、より大きいサイズのブロックに合わせてFilterOffsetAおよびFilterOffsetBの値が設定されることになる。例えば、大きい方のブロックが６４画素であるときはオフセット値ＳＺｂ、大きい方のブロックが３２画素であるときはオフセット値ＳＺａ、１６×１６画素のときはオフセット値「０」とする。
【０１１７】
図１０は、フィルタ強度調整処理を示すフローチャートである。
ステップＳＴ６１でフィルタ強度調整部４１は、最適モードの予測ブロックサイズを取得する。フィルタ強度調整部４１は、図６のステップＳＴ２２で選択された予測画像に対応する予測ブロックサイズ、すなわち最適モードで符号化を行うときの予測ブロックサイズを取得する。
【０１１８】
ステップＳＴ６２でフィルタ強度調整部４１は、当該ブロックまたは隣接ブロックの境界部分が６４画素であるか否か判別する。フィルタ強度調整部４１は、当該ブロックまたは隣接ブロックの境界部分が６４画素であるときステップＳＴ６３に進み、当該ブロックと隣接ブロックの境界部分が共に６４画素よりも小さいときステップＳＴ６４に進む。
【０１１９】
ステップＳＴ６３でフィルタ強度調整部４１は、オフセット値ＳＺｂを選択してFilterOffsetAおよびFilterOffsetBとしてステップＳＴ６７に進む。
【０１２０】
ステップＳＴ６４でフィルタ強度調整部４１は、当該ブロックまたは隣接ブロックの境界部分が３２画素であるか否か判別する。フィルタ強度調整部４１は、当該ブロックまたは隣接ブロックの境界部分が３２画素であるときステップＳＴ６５に進み、当該ブロックと隣接ブロックの境界部分が共に３２画素よりも小さいときステップＳＴ６６に進む。
【０１２１】
ステップＳＴ６５でフィルタ強度調整部４１は、オフセット値ＳＺａ（≦ＳＺb）を選択してFilterOffsetAおよびFilterOffsetBとしてステップＳＴ６７に進む。
【０１２２】
ステップＳＴ６６でフィルタ強度調整部４１は、オフセット値０（＜ＳＺa）を選択してFilterOffsetAおよびFilterOffsetBとしてステップＳＴ６７に進む。
【０１２３】
ステップＳＴ６７でフィルタ強度調整部４１は、フィルタ強度調整を行う。フィルタ強度調整部４１は、ステップＳＴ６３，６５，６６で設定されたFilterOffsetA，FilterOffsetBを用いてフィルタ強度を設定するパラメータ値である閾値α，βを決定してデブロッキングフィルタ２４に出力する。
【０１２４】
このようにフィルタ強度調整部４１によって、境界部分のブロックサイズが大きいとき、オフセット量を大きくして閾値α，βの設定を行うことで、デブロッキングフィルタ２４では、フィルタ処理をかかりやすくすることができる。
【０１２５】
なお、表４および図１０では、６４×６４画像、３２×３２画素、１６×１６画素の組み合わせについて例示したが、組み合わせはこれらのサイズに限られない。また、大きい方のブロックが６４画素であるときはオフセット値ＳＺｂ、大きい方のブロックが３２画素であるときはオフセット値ＳＺａ、１６×１６画素のときはオフセット値「０」としたが、オフセット値は大きいブロックについてフィルタをかかりやすくして良好な画質を得られればよく、上述の組み合わせに限らない。
【０１２６】
さらに、表４とは異なる値をユーザが独自に設定したい場合には、ピクチャパラメータセットにおけるdeblocking_filter_control_present_flagの値を所定の値「１」として、ユーザは、スライスヘッダにおいて、FilterOffsetA16，FilterOffsetA32，FilterOffsetA64およびFilterOffsetB16，FilterOffsetB32，FilterOffsetB64の値を設定することが可能である。それぞれのパラメータは、隣接する２つのブロックのうち、大きい方が、１６×１６，３２×３２，６４×６４の場合に相当する。deblocking_filter_control_present_flagの値が「１」であっても、FilterOffsetA32，FilterOffsetA64およびFilterOffsetB32，FilterOffsetB64の値はスライスヘッダに存在しなくてもよい。その場合には、
FilterOffsetA32＝FilterOffsetA16＋ＳＺa
FilterOffsetA64＝FilterOffsetA16＋ＳＺb
FilterOffsetB32＝FilterOffsetB16＋ＳＺa
FilterOffsetB64＝FilterOffsetB16＋ＳＺb
のような値を用いればよい。
【０１２７】
このように、本発明を適用した画像符号化装置および方法によれば、符号化効率が最良となる予測ブロックサイズを決定して、決定された予測ブロックサイズで画像データの符号化処理が行われる。このとき、この予測ブロックサイズを示す情報は、フィルタ強度調整部４１のブロックサイズバッファ４１１に蓄積される。したがって、符号化効率が最良となる予測ブロックサイズで符号化処理された画像データを復号化処理して復号画像データを生成したとき、復号画像における予測ブロックの位置が明らかとなる。このため、ブロックサイズバッファ４１１に蓄積された情報に基づき、大きな予測ブロックサイズに対してフィルタ強度を調整してフィルタをかかりやすくすれば、予測ブロックサイズが大きくてもブロック歪みを少なくできる。また、復号画像データにおけるブロック歪みを少なくできるので、ブロック歪みの影響によって予測誤差データが大きくなってしまうことを防止できることから、符号化処理後のデータ量を更に少なくできる。
【０１２８】
＜５．画像復号化装置の構成＞
入力画像を符号化して生成された符号化ストリームは、所定の伝送路や記録媒体等を介して画像復号化装置に供給されて復号される。
【０１２９】
図１１は、画像復号化装置の構成を示している。画像復号化装置５０は、蓄積バッファ５１、可逆復号化部５２、逆量子化部５３、逆直交変換部５４、加算部５５、デブロッキングフィルタ５６、画面並べ替えバッファ５７、Ｄ／Ａ変換部５８を備えている。さらに、画像復号化装置５０は、フレームメモリ６１、セレクタ６２，６５、イントラ予測部６３、動き予測・補償部６４、フィルタ強度調整部７１を備えている。
【０１３０】
蓄積バッファ５１は、伝送されてきた符号化ストリームを蓄積する。可逆復号化部５２は、蓄積バッファ５１より供給された符号化ストリームを、図１の可逆符号化部１６の符号化方式に対応する方式で復号化する。また、可逆復号化部５２は、符号化ストリームのヘッダ情報を復号して得られた予測モード情報をイントラ予測部６３や動き予測・補償部６４、デブロッキングフィルタ５６に出力する。
【０１３１】
逆量子化部５３は、可逆復号化部５２で復号された量子化データを、図１の量子化部１５の量子化方式に対応する方式で逆量子化する。逆直交変換部５４は、図１の直交変換部１４の直交変換方式に対応する方式で逆量子化部５３の出力を逆直交変換して加算部５５に出力する。
【０１３２】
加算部５５は、逆直交変換後のデータとセレクタ６５から供給される予測画像データを加算して復号画像データを生成してデブロッキングフィルタ５６とフレームメモリ６１に出力する。
【０１３３】
デブロッキングフィルタ５６は、加算部５５から供給された復号画像データに対してフィルタ処理を行い、ブロック歪みを除去してからフレームメモリ６１に供給し蓄積させるとともに、画面並べ替えバッファ５７に出力する。また、デブロッキングフィルタ５６は、可逆復号化部５２から供給された予測モード情報と後述するフィルタ強度調整部７１から供給されたフィルタ強度調整のための閾値α，βに基づき、フィルタ強度を調整する。
【０１３４】
画面並べ替えバッファ５７は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられて、Ｄ／Ａ変換部５８に出力される。
【０１３５】
Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７から供給された画像データをＤ／Ａ変換し、図示せぬディスプレイに出力することで画像を表示させる。
【０１３６】
フレームメモリ６１は、加算部５５から供給されたフィルタ処理前の復号画像データとデブロッキングフィルタ２４から供給されたフィルタ処理後の復号画像データとを保持する。
【０１３７】
セレクタ６２は、可逆復号化部５２から供給された予測モード情報に基づき、イントラ予測が行われた予測ブロックの復号化が行われるとき、フレームメモリ６１から読み出されたフィルタ処理前の復号画像データをイントラ予測部６３に供給する。また、セレクタ２６は、可逆復号化部５２から供給された予測モード情報に基づき、インター予測が行われた予測ブロックの復号化が行われるとき、フレームメモリ６１から読み出されたフィルタ処理後の復号画像データを動き予測・補償部６４に供給する。
【０１３８】
イントラ予測部６３は、可逆復号化部５２から供給された予測モード情報に基づいて予測画像の生成を行い、生成した予測画像データをセレクタ６５に出力する。また、イントラ予測部６３は生成した予測画像のブロックサイズを示す情報をフィルタ強度調整部７１に出力する。
【０１３９】
動き予測・補償部６４は、可逆復号化部５２から供給された予測モード情報に基づいて、動き補償を行い、予測画像データを生成してセレクタ６５に出力する。すなわち、動き予測・補償部６４は、予測モード情報に含まれる動きベクトル情報と参照フレーム情報に基づいて、参照フレーム情報で示された参照画像に対して動きベクトル情報に基づく動きベクトルで動き補償を行い、予測画像データを生成する。また、動き予測・補償部６４は生成した予測画像のブロックサイズを示す情報をフィルタ強度調整部７１に出力する。
【０１４０】
セレクタ６５は、イントラ予測部６３で生成された予測画像データを加算部５５に供給する。また、セレクタ６５は、動き予測・補償部６４で生成された予測画像データを加算部５５に供給する。
【０１４１】
フィルタ強度調整部７１は、図４に示すフィルタ強度調整部４１と同様に構成されて、同様な動作を行う。フィルタ強度調整部７１は、フィルタ強度を調整するパラメータ値を予測ブロックサイズに応じて設定することで、デブロッキングフィルタ５６におけるフィルタ強度の調整を行う。また、フィルタ強度調整部７１は、当該ブロック、若しくは隣接ブロックのどちらか一方で最適モードにおける予測ブロックサイズが拡張されたブロックサイズである場合、大きい方の予測ブロックサイズに応じてフィルタ強度を調整する。さらに、フィルタ強度調整部７１は、所定のマクロブロックよりもブロックサイズが大きい複数のマクロブロックが用いられる場合、ブロックサイズが大きいほどフィルタ強度が強くなるように、隣接する２つのブロックの予測ブロックサイズの組み合わせ毎にフィルタ強度を調整する。すなわち、フィルタ強度調整部７１は、イントラ予測部６３や動き予測・補償部６４から供給されたブロックサイズに応じてフィルタ強度を調整するためのパラメータ値である閾値α，βを設定して、デブロッキングフィルタ５６に出力する。
【０１４２】
＜６．画像復号化装置の動作＞
次に、図１２のフローチャートを参照して、画像復号化装置５０で行われる画像復号処理動作について説明する。
【０１４３】
ステップＳＴ７１で蓄積バッファ５１は、伝送されてきた符号化ストリームを蓄積する。ステップＳＴ７２で可逆復号化部５２は、可逆復号化処理を行う。可逆復号化部５２は、蓄積バッファ５１から供給される符号化ストリームを復号化する。すなわち、図１の可逆符号化部１６により符号化された各ピクチャの量子化データが得られる。また、可逆復号化部５２、符号化ストリームのヘッダ情報に含まれている予測モード情報の可逆復号化を行い、得られた予測モード情報をデブロッキングフィルタ５６やセレクタ６２，６５に供給する。さらに、可逆復号化部５２は、予測モード情報がイントラ予測モードに関する情報である場合、予測モード情報をイントラ予測部６３に出力する。また、可逆復号化部５２は、予測モード情報がインター予測モードに関する情報である場合、予測モード情報を動き予測・補償部６４に出力する。
【０１４４】
ステップＳＴ７３において逆量子化部５３は、逆量子化処理を行う。逆量子化部５３は、可逆復号化部５２により復号された量子化データを、図１の量子化部１５の特性に対応する特性で逆量子化する。
【０１４５】
ステップＳＴ７４において逆直交変換部５４は、逆直交変換処理を行う。逆直交変換部５４は、逆量子化部５３により逆量子化された変換係数データを、図１の直交変換部１４の特性に対応する特性で逆直交変換する。
【０１４６】
ステップＳＴ７５において加算部５５は、復号画像データの生成を行う。加算部５５は、逆直交変換処理を行うことにより得られたデータと、後述するステップＳＴ７９で選択された予測画像データを加算して復号画像データを生成する。これにより元の画像が復号される。
【０１４７】
ステップＳＴ７６においてデブロッキングフィルタ５６は、フィルタ処理を行う。デブロッキングフィルタ５６は、加算部５５より出力された復号画像データのフィルタ処理を行い、復号画像に含まれているブロック歪みを除去する。
【０１４８】
ステップＳＴ７７においてフレームメモリ６１は、復号画像データの記憶処理を行う。
【０１４９】
ステップＳＴ７８においてイントラ予測部６３と動き予測・補償部６４は、予測処理を行う。イントラ予測部６３と動き予測・補償部６４は、可逆復号化部５２から供給される予測モード情報に対応してそれぞれ予測処理を行う。
【０１５０】
すなわち、可逆復号化部５２からイントラ予測の予測モード情報が供給された場合、イントラ予測部６３は、予測モード情報に基づいてイントラ予測処理を行い、予測画像データを生成する。また、可逆復号化部５２からインター予測の予測モード情報が供給された場合、動き予測・補償部６４は、予測モード情報に基づき動き補償を行い、予測画像データを生成する。
【０１５１】
ステップＳＴ７９において、セレクタ６５は予測画像データの選択を行う。すなわち、セレクタ６５は、イントラ予測部６３から供給された予測画像と動き予測・補償部６４で生成された予測画像データを選択して加算部５５に供給して、上述したように、ステップＳＴ７５において逆直交変換部５４の出力と加算させる。
【０１５２】
ステップＳＴ８０において画面並べ替えバッファ５７は、画像並べ替えを行う。すなわち画面並べ替えバッファ５７は、図１の画像符号化装置１０の画面並べ替えバッファ１２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０１５３】
ステップＳＴ８１において、Ｄ／Ａ変換部５８は、画面並べ替えバッファ５７からの画像データをＤ／Ａ変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０１５４】
また、図１２のステップＳＴ７６におけるフィルタ処理では、上述の図１０に示すフィルタ設定処理をフィルタ強度調整部７１で行う。フィルタ強度調整部７１は、例えばＨ．２６４/ＡＶＣ規格のシンタックス・エレメントであるslice_alpha_c0_offset_div2およびslice_beta_offset_div2で指定するFilterOffsetAおよびFilterOffsetBを値を調整することで、予測ブロックサイズが大きいときにフィルタがかかりやすくなるようにフィルタ強度を調整するためのパラメータ値である閾値α，βを設定する。
【０１５５】
このように、フィルタ強度調整部７１は、符号化が行われたときの予測ブロックサイズに応じて、フィルタ強度を調整するパラメータ値である閾値α，βを生成して、デブロッキングフィルタ５６に出力する。デブロッキングフィルタ５６は、予測モード情報に基づきブロック境界強度データＢｓを決定して、閾値α，βを用いて復号画像データに対してフィルタ処理を行う。
【０１５６】
また、フィルタ強度調整部７１、シンタックス・エレメントであるピクチャパラメータセットのdeblocking_filter_control_present_flagの値が所定の値に設定されており、スライスヘッダに、FilterOffsetAおよびFilterOffsetBの値が記述されているとき、この記述されている値を用いて閾値α，βを生成して、デブロッキングフィルタ５６に出力する。このようなフィルタ強度の調整を行えば、画像符号化装置で、表４とは異なる値をユーザが独自に設定した場合、画像復号化装置でも、ユーザの設定に応じたフィルタ処理を行うことができるようになる。
【０１５７】
このように、本発明を適用した画像復号化装置および方法によれば、符号化処理で用いられた予測ブロックサイズを示す情報が、フィルタ強度調整部７１のブロックサイズバッファに蓄積される。したがって、符号化ストリームの復号化処理を行って復号画像データを生成したとき、復号画像における予測ブロックの位置が明らかとなる。このため、ブロックサイズバッファに蓄積された情報に基づき、大きな予測ブロックサイズに対してフィルタ強度を調整してフィルタをかかりやすくすれば、予測ブロックサイズが大きくてもブロック歪みを少なくできる。したがって、画質の良好な復号画像を得ることができるようになる。
【０１５８】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、または両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させる。または、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることも可能である。
【０１５９】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。または、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的または永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
【０１６０】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１６１】
さらに、本発明は、上述した発明の実施の形態に限定して解釈されるべきではない。この発明の実施の形態は、例示という形態で本発明を開示しており、本発明の要旨を逸脱しない範囲で当業者が実施の形態の修正や代用をなし得ることは自明である。すなわち、本発明の要旨を判断するためには、特許請求の範囲を参酌すべきである。
【産業上の利用可能性】
【０１６２】
この発明の画像処理装置と画像処理方法では、予測ブロックサイズで符号化された画像データを復号化して得られる復号画像データに対してブロック歪みを除去するフィルタ処理を行うとき、予測ブロックサイズに応じてフィルタ強度が調整される。このため、拡張された大きさのマクロブロックが用いられても、予測ブロックサイズに応じてフィルタ強度を調整することで、ブロック歪みが軽減された良好な画質の復号画像を得られるようになる。したがって、ＭＰＥＧ、Ｈ.２６ｘ等のように、ブロック単位で符号化を行うことにより得られた画像情報（ビットストリーム）を、衛星放送、ケーブルＴＶ、インターネット、携帯電話などのネットワークメディアを介して送受信する際に、若しくは光、磁気ディスク、フラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置や画像復号化装置等に適している。
【符号の説明】
【０１６３】
１０・・・画像符号化装置、１１・・・Ａ／Ｄ変換部、１２，５７・・・画面並べ替えバッファ、１３・・・減算部、１４・・・直交変換部、１５・・・量子化部、１６・・・可逆符号化部、１７，５１・・・蓄積バッファ、１８・・・レート制御部、２１，５３・・・逆量子化部、２２，５４・・・逆直交変換部、２３，５５・・・加算部、２４，５６・・・デブロッキングフィルタ、２５，６１・・・フレームメモリ、２６，６２，６５・・・セレクタ、３１，６３・・・イントラ予測部、３２，６４・・・動き予測・補償部、３３・・・予測画像・最適モード選択部、４１・・・フィルタ強度調整部、５０・・・画像復号化装置、５２・・・可逆復号化部、５８・・・Ｄ／Ａ変換部、７１・・・フィルタ強度調整部、２４１・・・フィルタ強度決定部、２４２・・・フィルタ処理部、４１１・・・ブロックサイズバッファ、４１２・・・パラメータ選択部、
【図１】
2011223302.tif 000007
【図２】
2011223302.tif 000008
【図３】
2011223302.tif 000009
【図４】
2011223302.tif 000010
【図５】
2011223302.tif 000011
【図６】
2011223302.tif 000012
【図７】
2011223302.tif 000013
【図８】
2011223302.tif 000014
【図９】
2011223302.tif 000015
【図１０】
2011223302.tif 000016
【図１１】
2011223302.tif 000017
【図１２】
2011223302.tif 000018