(57)【要約】【課題】画質を向上させる。【解決手段】デブロッキングフィルタ１１３は、アクティビティ算出部１４１により算出された画像のActivity、直交変換部１４２により算出された画像の直交変換係数の総和、レート制御部１１９により算出された画像のComplexity、または、予測誤差加算部１２０により算出された画像の予測誤差の総和に基づいて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、または、slice_beta_offset_div2の値を調整する。本発明は、符号化装置に適用できる。【選択図】図１
2008022404.tif 000002
【特許請求の範囲】
【請求項１】
第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像を復号した復号画像に対して、デブロッキング処理を施すデブロッキングフィルタと、
前記第２の画像の複雑さを表す特徴量を算出する特徴量算出手段と
を含み、
前記デブロッキングフィルタは、前記特徴量に基づいて、前記復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する
画像処理装置。
【請求項２】
前記特徴量算出手段は、前記第２の画像の符号化難易度を前記特徴量として算出する
請求項１に記載の画像処理装置。
【請求項３】
前記特徴量算出手段は、前記第２の画像がフレーム間予測を用いて符号化された画像である場合、前記第２の画像が符号化される前にフレーム内予測を用いて符号化された第３の画像の符号化難易度を用いて、前記第２の画像の符号化難易度を正規化した値を前記特徴量とする
請求項２に記載の画像処理装置。
【請求項４】
前記特徴量算出手段は、符号化前の前記第２の画像を複数のブロックに分割し、前記ブロックごとの画素値の分散に基づいて、前記特徴量を算出する
請求項１に記載の画像処理装置。
【請求項５】
前記特徴量算出手段は、符号化前の前記第２の画像を複数のブロックに分割し、前記ブロックごとに直交変換を施すことにより得られる変換係数に基づいて、前記特徴量を算出する
請求項１に記載の画像処理装置。
【請求項６】
前記特徴量算出手段は、フレーム間予測により予測された前記第２の画像に対する予測画像と符号化前の前記第２の画像との差分である予測誤差に基づいて、前記特徴量を算出する
請求項１に記載の画像処理装置。
【請求項７】
H.264／AVC（Advanced Video Coding）方式により画像を符号化し、
前記デブロッキングフィルタは、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、または、slice_beta_offset_div2の値を調整することにより、前記復号画像に対するデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する
請求項１に記載の画像処理装置。
【請求項８】
MPEG-4（Moving Picture Coding Experts Group phase4）、H.264／AVC（Advanced Video Coding）、または、VC-1（Video Codec 1）方式により画像を符号化する
請求項１に記載の画像処理装置。
【請求項９】
第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像の複雑さを表す特徴量を算出し、
前記特徴量に基づいて、前記第２の画像を復号した復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する
ステップを含む画像処理方法。
【請求項１０】
第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像の複雑さを表す特徴量を算出し、
前記特徴量に基づいて、前記第２の画像を復号した復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する
ステップを含む処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びに、プログラムに関し、画質を向上させることができるようにした画像処理装置および方法、並びに、プログラムに関する。
【背景技術】
【０００２】
MPEG-2（Moving Picture Experts Group phase 2）方式により符号化した画像の画質劣化の一因としてブロックノイズがある。そこで、MPEG-4（Moving Picture Experts Group phase 4）方式、または、H.264／AVC（Advanced Video Coding）方式により画像を符号化する装置においては、ブロックノイズを除去するデブロッキング処理を行うデブロッキングフィルタが設けられている（例えば、特許文献１参照）。このデブロッキング処理により、特に低ビットレートの画像においても、画質の劣化を抑えることができる。
【０００３】
【特許文献１】特許第３４８９７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、デブロッキング処理は、ブロック境界に対してローパスフィルタリング処理を施すため、ブロックノイズを除去できる一方、画像の模様などの詳細情報（以下、テクスチャとも称する）が失われてしまうという問題がある。
【０００５】
本発明は、このような状況に鑑みてなされたものであり、デブロッキング処理を適切に施すことにより、画質を向上させるようにするものである。
【課題を解決するための手段】
【０００６】
本発明の一側面の画像処理装置は、第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像を復号した復号画像に対して、デブロッキング処理を施すデブロッキングフィルタと、前記第２の画像の複雑さを表す特徴量を算出する特徴量算出手段とが設けられ、前記デブロッキングフィルタは、前記特徴量に基づいて、前記復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する。
【０００７】
前記特徴量算出手段には、前記第２の画像の符号化難易度を前記特徴量として算出させることができる。
【０００８】
前記特徴量算出手段には、前記第２の画像がフレーム間予測を用いて符号化された画像である場合、前記第２の画像が符号化される前にフレーム内予測を用いて符号化された第３の画像の符号化難易度を用いて、前記第２の画像の符号化難易度を正規化した値を前記特徴量とさせることができる。
【０００９】
前記特徴量算出手段には、符号化前の前記第２の画像を複数のブロックに分割し、前記ブロックごとの画素値の分散に基づいて、前記特徴量を算出させることができる。
【００１０】
前記特徴量算出手段には、符号化前の前記第２の画像を複数のブロックに分割し、前記ブロックごとに直交変換を施すことにより得られる変換係数に基づいて、前記特徴量を算出させることができる。
【００１１】
前記特徴量算出手段には、フレーム間予測により予測された前記第２の画像に対する予測画像と符号化前の前記第２の画像との差分である予測誤差に基づいて、前記特徴量を算出させることができる。
【００１２】
前記画像処理装置には、H.264／AVC（Advanced Video Coding）方式により画像を符号化させ、前記デブロッキングフィルタには、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、または、slice_beta_offset_div2の値を調整することにより、前記復号画像に対するデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御させることができる。
【００１３】
前記画像処理装置には、MPEG-4（Moving Picture Coding Experts Group phase4）、H.264／AVC（Advanced Video Coding）、または、VC-1（Video Codec 1）方式により画像を符号化させることができる。
【００１４】
本発明の一側面の画像処理方法またはプログラムは、第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像の複雑さを表す特徴量を算出し、前記特徴量に基づいて、前記第２の画像を復号した復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御するステップを含む。
【００１５】
本発明の一側面においては、第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像の複雑さを表す特徴量が算出され、前記特徴量に基づいて、前記第２の画像を復号した復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度が制御される。
【発明の効果】
【００１６】
本発明の一側面によれば、画像の特徴に応じて、デブロッキング処理を適切に施すことができる。また、本発明の一側面によれば、画質を向上させることができる。
【発明を実施するための最良の形態】
【００１７】
以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書または図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００１８】
本発明の一側面の画像処理装置（例えば、図１の画像処理装置１０１）は、第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像を復号した復号画像に対して、デブロッキング処理を施すデブロッキングフィルタ（例えば、図１のデブロッキングフィルタ１２４）と、前記第２の画像の複雑さを表す特徴量を算出する特徴量算出手段（例えば、図１のレート制御部１１９、予測誤差加算部１２０、アクティビティ算出部１４１、または、直交変換部１４２）を含み、
前記デブロッキングフィルタは、前記特徴量に基づいて、前記復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する。
【００１９】
本発明の一側面の画像処理方法またはプログラムは、第１の画像を符号化する場合に前記第１の画像の動き予測に用いる、前記第１の画像より前に符号化された第２の画像の複雑さを表す特徴量を算出し（例えば、図３のステップＳ２１、図４のステップＳ４１、図５のステップＳ６１、または、図６のステップＳ８１）、前記特徴量に基づいて、前記第２の画像を復号した復号画像へのデブロッキング処理の適用の有無、または、前記復号画像に適用するデブロッキング処理の強度を制御する（例えば、図３のステップＳ２２、図４のステップＳ４２、図５のステップＳ６２、または、図６のステップＳ８２）ステップを含む。
【００２０】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２１】
図１は、本発明を適用した画像処理装置の一実施の形態の構成を示すブロック図である。
【００２２】
画像処理装置１０１は、入力された画像をH.264／AVC（Advanced Video Coding）方式により符号化し、符号化した画像を、例えば、後段の図示せぬ記録装置や伝送路などに出力する装置である。
【００２３】
画像処理装置１０１は、A/D（Analog/Digital）変換部１１１、画面並べ替えバッファ１１２、特徴量算出部１１３、加算器１１４、直交変換部１１５、量子化部１１６、可逆符号化部１１７、蓄積バッファ１１８、レート制御部１１９、予測誤差加算部１２０、逆量子化部１２１、逆直交変換部１２２、加算器１２３、デブロッキングフィルタ１２４、フレームメモリ１２５、イントラ予測部１２６、および、動き予測・補償部１２７を含むように構成される。また、特徴量算出部１１３は、アクティビティ算出部１４１および直交変換部１４２を含むように構成される。
【００２４】
A/D変換部１１１は、外部から入力されたアナログの画像をデジタルの画像にA/D変換し、変換後のデジタルの画像（以下、適宜、原画像とも称する）を画面並べ替えバッファ１１２に供給する。
【００２５】
画面並べ替えバッファ１１２は、A/D変換部１１１から供給された原画像を、GOP（Group Of Pictures）構造に基づいて並べ替え、順に、特徴量算出部１１３に供給する。
【００２６】
特徴量算出部１１３は、原画像の複雑さを表す特徴量を算出する。また、特徴量算出部１１３は、特徴量の算出が終わった原画像を、加算器１１４、イントラ予測部１２６、および、動き予測・補償部１２７に供給する。
【００２７】
特徴量算出部１１３を構成する要素のうち、アクティビティ算出部１４１は、図４を参照して後述するように、原画像を複数のブロックに分割し、ブロックごとの画素値の分散に基づいて、原画像の特徴量を算出する。アクティビティ算出部１４１は、算出した特徴量を示す情報をデブロッキングフィルタ１２４に供給する。
【００２８】
また、直交変換部１４２は、図５を参照して後述するように、原画像を複数のブロックに分割し、ブロックごとに直交変換を施すことにより得られる変換係数に基づいて、原画像の特徴量を算出する。直交変換部１４２は、算出した特徴量を示す情報をデブロッキングフィルタ１２４に供給する。
【００２９】
加算器１１４は、マクロブロックごとに、原画像に対してイントラ予測（フレーム内予測）を用いて予測したイントラ予測画像、および、インター予測（フレーム間予測、動き補償予測）を用いて予測したインター予測画像のうちいずれか一方の予測画像を、イントラ予測部１２６または動き予測・補償部１２７から取得する。加算器１１４は、マクロブロックごとに、原画像とイントラ予測画像またはインター予測画像との差分を取り、差分を取ることに得られた予測誤差からなる差分画像を直交変換部１１５および予測誤差加算部１２０に供給する。
【００３０】
直交変換部１１５は、差分画像に対して、所定の大きさのブロックごとに離散コサイン変換またはカルーネン・レーベ変換等の直交変換を施し、これにより得られた変換係数を量子化部１１６に供給する。
【００３１】
量子化部１１６は、レート制御部１１９により制御される量子化スケールを用いて、直交変換部１１５から供給された変換係数を量子化し、量子化した変換係数を可逆符号化部１１７および逆量子化部１２１に供給する。
【００３２】
可逆符号化部１１７は、イントラ予測に関する情報をイントラ予測部１２６から取得し、インター予測に関する情報を動き予測・補償部１２７から取得する。可逆符号変換部１１７は、量子化された変換係数、イントラ予測に関する情報、インター予測に関する情報などを所定の順序に配置し、配置したデータに対してCAVLC（Context-Adaptive Variable Length Coding）などの可変長符号化、または、CABAC（Context-Adaptive Binary Arithmetic Coding）などの算術符号化等の可逆符号化処理を施す。可逆符号化部１１７は、符号化したデータを蓄積バッファ１１８に供給して蓄積させる。
【００３３】
蓄積バッファ１１８は、可逆符号化部１１７から供給されたデータを、H.264／AVC方式で符号化された画像として、例えば、後段の図示せぬ記録装置や伝送路などに出力する。
【００３４】
レート制御部１１９は、蓄積バッファ１１８に記憶されている画像の符号量に基づいて、符号化する画像に割り当てられる時間当たりの符号量であるビットレートを制御する。例えば、レート制御部１１９は、MPEG-2 TestModel5（TM5）に規定されるレート制御方式を用いて、量子化部１１６が量子化を行うときに変換係数を除算する値である量子化スケールの値を制御することによりビットレートを制御する。また、レート制御部１１９は、図３を参照して後述するように、原画像の複雑さを表す特徴量として、符号化難易度を算出し、算出した符号化難易度をデブロッキングフィルタ１２４に供給する。
【００３５】
予測誤差加算部１２０は、図６を参照して後述するように、加算器１１４から供給される差分画像を構成する予測誤差に基づいて、画像の複雑さを表す特徴量を算出する。予測誤差加算部１２０は、算出した特徴量を示す情報をデブロッキングフィルタ１２４に供給する。
【００３６】
逆量子化部１２１は、量子化部１１６から供給された変換係数を逆量子化して逆直交変換部１２２に供給する。
【００３７】
逆直交変換部１２２は、逆量子化部１２１から供給された変換係数に対して逆離散コサイン変換、逆カルーネン・レーベ変換等の逆直交変換を施す。これにより、差分画像が復号される。逆直交変換部１２２は、復号した差分画像を加算器１２３に供給する。
【００３８】
加算器１２３は、差分画像の生成に用いられたイントラ予測画像またはインター予測画像を、イントラ予測部１２６または動き予測・補償部１２７から取得し、差分画像と取得したイントラ予測画像またはインター予測画像とを加算する。これにより、原画像が復号される。加算器１２３は、復号した画像（以下、適宜、復号画像と称する）をデブロッキングフィルタ１２４に供給する。
【００３９】
デブロッキングフィルタ１２４は、復号画像に対して、ブロック歪みを除去するためのデブロッキング処理を施す。なお、デブロッキングフィルタ１２４は、図３乃至図６を参照して後述するように、レート制御部１１９、予測誤差加算部１２０、アクティビティ算出部１４１、または、直交変換部１４２から取得した特徴量に基づいて、復号画像へのデブロッキング処理の適用の有無、または、復号画像に適用するデブロッキング処理の強度を制御する。デブロッキングフィルタ１２４は、デブロッキング処理を施した復号画像をフレームメモリ１２５に供給する。また、デブロッキングフィルタ１２４は、イントラ予測に用いる画像として、デブロッキング処理を施さない復号画像をそのままフレームメモリ１２５に供給する。
【００４０】
フレームメモリ１２５は、デブロッキングフィルタ１２４から供給される復号画像を、イントラ予測またはインター予測が行われる場合に参照される画像（以下、適宜、参照画像と称する）として記憶する。
【００４１】
イントラ予測部１２６は、マクロブロックごとに、フレームメモリ１２５に記憶されている同じフレーム内の当該マクロブロックに隣接する符号化済みの画素を用いて、原画像に対する予測画像を生成するイントラ予測を行う。なお、上述したように、イントラ予測には、デブロッキング処理を施す前の復号画像の画素が用いられる。
【００４２】
動き予測・補償部１２７は、マクロブロックごとに、フレームメモリ１２５に記憶されている他のフレームの参照画像を用いて、参照画像に対する原画像の動きベクトルを検出し、検出した動きベクトルを用いて参照画像に動き補償を施こすことにより、原画像に対するインター予測画像を生成するインター予測を行う。
【００４３】
なお、各マクロブロックに適用する予測モードは、例えば、図示せぬモード判定部により、Low Complexity Mode（高速モード）方式を用いて判定される。適用される予測モードがイントラ予測の予測モードである場合、図１に示されるように、フレームメモリ１２５とイントラ予測部１２６とが接続され、イントラ予測部１２６と加算器１１４および加算器１２３とが接続される。イントラ予測部１２６は、選択された予測モードに基づいてイントラ予測画像を生成し、生成したイントラ予測画像を加算器１１４および加算器１２３に供給する。また、イントラ予測部１２６は、イントラ予測を行ったマクロブロックのイントラ予測に関する情報として、適用した予測モードなどの情報を可逆符号化部１１７に供給する。
【００４４】
また、適用される予測モードがインター予測の予測モードである場合、図１には示されていないが、フレームメモリ１２５と動き予測・補償部１２７とが接続され、動き予測・補償部１２７と加算器１１４および加算器１２３とが接続される。動き予測・補償部１２７は、選択された予測モードに基づいてインター予測画像を生成し、生成したインター予測画像を加算器１１４および加算器１２３に供給する。また、イントラ予測部１２６は、インター予測を行ったマクロブロックのインター予測に関する情報として、適用した予測モード、検出した動きベクトル、参照した画像（ピクチャ）の番号などの情報を可逆符号化部１１７に供給する。
【００４５】
次に、図２のフローチャートを参照して、図１の画像処理装置１０１により実行される符号化処理について説明する。なお、この処理は、例えば、外部から画像処理装置１０１への画像の入力が開始されたとき、開始される。
【００４６】
ステップＳ１において、画像処理装置１０１は、画像の符号化を開始する。すなわち、図１を参照して上述した動作を、画像処理装置１０１の各部が開始することにより、入力された画像のH.264／AVC方式による符号化が開始される。また、図３乃至図６を参照して後述するデブロッキング制御処理も開始される。
【００４７】
ステップＳ２において、画像処理装置１０１は、全ての画像を符号化したかを判定する。ステップＳ２において、外部から入力された全ての画像を符号化したと判定されるまで、画像の符号化が実行され、外部から入力された全ての画像を符号化したと判定された場合、符号化処理は終了する。
【００４８】
次に、図３のフローチャートを参照して、図２を参照して上述した符号化処理中に画像処理装置１０１により実行されるデブロッキング制御処理の第１の実施の形態について説明する。
【００４９】
ステップＳ２１において、レート制御部１１９は、Complexityを算出する。具体的には、レート制御部１１９は、符号化済みの画像（ピクチャ）を蓄積バッファ１１８から取得する。レート制御部１１９は、以下の式（１）により、当該画像の複雑さを表す特徴量として符号化難易度Complexityを算出する。
【００５０】
Complexity＝PictureGeneratedBis×PictureAverageQuant  ・・・（１）
【００５１】
ここで、PictureGeneratedBisは当該画像の発生符号量を示す。また、PictureAverageQuantは、当該画像に適用された量子化スケールの平均値を示し、以下の式（２）により算出される。
【００５２】
【数１】
2008022404.tif 000003
【００５３】
ここで、MBNumは当該画像のマクロブロックの数を示す。また、Quantkは画像内のｋ番目のマクロブロックに適用された量子化スケールを示し、以下の式（３）により算出される。
【００５４】
【数２】
2008022404.tif 000004
【００５５】
ここで、QPkは画像内のｋ番目のマクロブロックの量子化パラメータを示す。
【００５６】
すなわち、式（１）により求められるComplexityは、当該画像の発生符号量と量子化スケールの平均値とを乗じた値である。従って、Complexityは、画像の動きが少ないほど小さくなり、画像の動きが大きいほど大きくなる。
【００５７】
ステップＳ２２において、デブロッキングフィルタ１２４は、デブロッキング処理に関わるパラメータを調整する。具体的には、レート制御部１１９は、算出したComplexityを示す情報をデブロッキングフィルタ１２４に供給する。デブロッキングフィルタ１２４は、デブロッキング処理を施す画像のComplexityの値に応じて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整する。
【００５８】
disable_deblocking_filter_idcは、デブロッキング処理の適用の有無を設定するためのパラメータであり、スライスごとに設定することが可能である。disable_deblocking_filter_idcは、デブロッキング処理を適用する場合、０に設定され、デブロッキング処理を適用しない場合、１に設定され、スライス境界においてデブロッキング処理を適用しない場合、２に設定される。
【００５９】
slice_alpha_c0_offset_div2は、スライスを４×４画素のブロックに分割した場合のブロック境界に適用されるデブロッキング処理の強度を調整するためのパラメータであり、スライスごとに設定することが可能である。slice_alpha_c0_offset_div2の設定範囲は、−６乃至＋６であり、値が小さくなるほど、適用されるデブロッキング処理の強度は弱くなり、値が大きくなるほど、適用されるデブロッキング処理の強度は強くなる。
【００６０】
slice_beta_offset_div2は、スライスを４×４画素のブロックに分割した場合のブロックの内部の画素に適用されるデブロッキング処理の強度を調整するためのパラメータであり、スライスごとに設定することが可能である。slice_beta_offset_div2の設定範囲は、−６乃至＋６であり、値が小さくなるほど、適用されるデブロッキング処理の強度は弱くなり、値が大きくなるほど、適用されるデブロッキング処理の強度は強くなる。
【００６１】
ステップＳ２２において、例えば、Complexityが所定の閾値Thcより小さい場合、disable_deblocking_filter_idcが１に設定される。すなわち、ブロックノイズがほとんど生じない非常に動きが少ない画像に対しては、デブロッキング処理が適用されなくなる。
【００６２】
また、例えば、Complexityが閾値Thc以上である場合、Complexityの値に応じて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2の値が調整される。例えば、Complexityの値が小さくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が−６に近い値に設定され、Complexityの値が大きくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が＋６に近い値に設定される。すなわち、ブロックのノイズが生じにくい動きが少ない画像に対しては、適用されるデブロッキング処理の強度が弱められ、ブロックノイズが生じやすい動きが大きい画像に対しては、適用されるデブロッキング処理の強度が強められる。
【００６３】
ステップＳ２３において、デブロッキングフィルタ１２４は、デブロッキング処理を行い、デブロッキング制御処理は終了する。デブロッキング処理が施された復号画像は、参照画像としてフレームメモリ１２５に蓄積される。なお、disable_deblocking_filter_idcが１に設定されている場合、デブロッキング処理は施されない。
【００６４】
このように、Complexityに応じて、復号画像に対してデブロッキング処理が適切に施され、テクスチャが保持されたままブロックノイズが除去された参照画像が生成される。従って、参照画像を用いてインター予測符号化される画像の画質を向上させることができる。
【００６５】
なお、閾値Thcの値を、画像の種類、すなわち、Ｉピクチャ、Ｐピクチャ、および、Ｂピクチャのいずれであるかに基づいて変えるようにしてもよい。
【００６６】
また、フレーム間予測を用いて符号化された画像であるPピクチャおよびＢピクチャの符号化難易度を、当該画像より前にフレーム内予測を用いて符号化された画像であるＩピクチャのComplexityを用いて正規化し、正規化した値（Norm_Complexity）に基づいて、デブロッキング処理を制御するようにしてもよい。ＰピクチャのComplexityを正規化したNorm_ComplexityPpic、および、ＢピクチャのComplexityを正規化したNorm_ComplexityBpicは、以下の式（４）乃至式（８）により算出される。
【００６７】
ComplexityIpic＝PictureGeneratedBisIpic×PictureAverageQuantIpic  ・・・（４）
ComplexityPpic＝PictureGeneratedBisPpic×PictureAverageQuantPpic  ・・・（５）
ComplexityBpic＝PictureGeneratedBisBpic×PictureAverageQuantBpic  ・・・（６）
Norm_ComplexityPpic＝ComplexityPpic÷ComplexityIpic  ・・・（７）
Norm_ComplexityBpic＝ComplexityBpic÷ComplexityIpic  ・・・（８）
【００６８】
なお、ComplexityIpic、PictureGeneratedBisIpic、PictureAverageQuantIpicは、それぞれＩピクチャの符号化難易度、発生符号量、量子化スケールの平均値を示し、ComplexityPpic、PictureGeneratedBisPpic、PictureAverageQuantPpicは、それぞれＰピクチャの符号化難易度、発生符号量、量子化スケールの平均値を示し、ComplexityBpic、PictureGeneratedBisBpic、PictureAverageQuantIBicは、それぞれＢピクチャの符号化難易度、発生符号量、量子化スケールの平均値を示している。
【００６９】
例えば、デブロッキング処理を施す画像がPピクチャまたはBピクチャである場合、Norm_Complexityが所定の閾値Thcnより小さい場合、disable_deblocking_filter_idcが１に設定される。すなわち、ブロックノイズがほとんど生じない非常に動きが少ない画像に対しては、デブロッキング処理が適用されなくなる。
【００７０】
また、例えば、Norm_Complexityが閾値Thcn以上である場合、Norm_Complexityの値に応じて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2の値が調整される。例えば、Norm_Complexityの値が小さくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が−６に近い値に設定され、Norm_Complexityの値が大きくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が＋６に近い値に設定される。すなわち、ブロックのノイズが生じにくい動きが少ない画像に対しては、適用されるデブロッキング処理の強度が弱められ、ブロックノイズが生じやすい動きが大きい画像に対しては、適用されるデブロッキング処理の強度が強められる。
【００７１】
Norm_ComplexityPpicおよびNorm_ComplexityBpicは、Ｉピクチャの画像の動きを１とした場合の、ＰピクチャおよびＢピクチャの動きを示しており、各ピクチャの動きの複雑さをより正確に抽出することができるため、より適切にデブロッキング処理が施され、インター予測符号化される画像の画質をより向上させることができる。
【００７２】
なお、閾値Thcnの値を、画像の種類、すなわち、ＰピクチャおよびＢピクチャのいずれであるかに基づいて変えるようにしてもよい。
【００７３】
また、正規化に用いるIピクチャは、当該画像より前の最も近い時間に符号化されたIピクチャ、または、当該画像の符号化において参照されるIピクチャを用いるようにすることが望ましい。
【００７４】
また、Ｉピクチャについては、上述したように、Complexityに基づいて、デブロッキング処理が制御される。
【００７５】
次に、図４のフローチャートを参照して、図２を参照して上述した符号化処理中に画像処理装置１０１により実行されるデブロッキング制御処理の第２の実施の形態について説明する。
【００７６】
ステップＳ４１において、アクティビティ算出部１４１は、Activityを算出する。具体的には、アクティビティ算出部１４１は、以下の式（９）により、これから符号化される画像の複雑さを表す特徴量としてActivityを算出する。
【００７７】
【数３】
2008022404.tif 000005
【００７８】
ここで、actkは、当該画像のk番目のマクロブロックのアクティビティを示し、以下の式（１０）により求められる。
【００７９】
【数４】
2008022404.tif 000006
【００８０】
ここで、var sblkは、１個のマクロブロックを、８×８個の画素で構成される４個のサブブロックに分割し、その分割されたサブブロックの画素値の分散を表す値であり、以下の式（１１）および式（１２）により求められる。
【００８１】
【数５】
2008022404.tif 000007
【００８２】
ここで、Pkはサブブロック内のk番目の画素の画素値を示す。
【００８３】
また、式（１０）のminsblk=1,8(var sblk)は、各サブブロックについてフレームDCT符号化モードの場合と、フィールドDCT符号化モードの２通りの場合についてvar sblkを求め、求めたvar sblkのうちの最小値を示す。
【００８４】
すなわち、式（９）により求められるActivityは、当該画像内の各マクロブロックのアクティビティの平均値であり、例えば、MPEG-2 TestModel5（TM5）に規定されるレート制御において使用される値である。従って、Activityは、画素値の変化が少ない画像ほど小さくなり、画素値の変化が大きい画像ほど大きくなる。
【００８５】
ステップＳ４２において、デブロッキングフィルタ１２４は、デブロッキング処理に関わるパラメータを調整する。具体的には、アクティビティ算出部１４１は、算出したActivityを示す情報をデブロッキングフィルタ１２４に供給する。デブロッキングフィルタ１２４は、デブロッキング処理を施す画像のActivityの値に応じて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整する。
【００８６】
例えば、Activityが所定の閾値Thaより小さい場合、disable_deblocking_filter_idcが１に設定される。すなわち、ブロックノイズがほとんど生じない、画素値の変化が非常に少ない平坦な画像に対しては、デブロッキング処理が適用されなくなる。
【００８７】
また、例えば、Activityが閾値Tha以上である場合、Activityの値に応じて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2の値が調整される。例えば、Activityの値が小さくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が−６に近い値に設定され、Activityの値が大きくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が＋６に近い値に設定される。すなわち、ブロックのノイズが生じにくい画素値の変化が少ない画像に対しては、適用されるデブロッキング処理の強度が弱められ、ブロックノイズが生じやすい画素値の変化の大きな複雑な画像に対しては、適用されるデブロッキング処理の強度が強められる。
【００８８】
ステップＳ４３において、上述した図３のステップＳ２３の処理と同様に、デブロッキング処理が行われ、デブロッキング制御処理は終了する。
【００８９】
このように、Activityに応じて、復号画像に対してデブロッキング処理が適切に施され、テクスチャが保持されたままブロックノイズが除去された参照画像が生成される。従って、参照画像を用いてインター予測符号化される画像の画質を向上させることができる。
【００９０】
また、Activityを用いる場合、画像を符号化する前に、画像の複雑さを表す特徴量を求めることができる。
【００９１】
さらに、上述したように、Activityは、MPEG-2 TestModel5（TM5）に規定されるレート制御において使用される値であるので、例えば、レート制御部１１９において算出するようにすることが可能である。
【００９２】
また、上述したActivity、すなわち、各マクロブロックのアクティビティの平均値以外に、例えば、各マクロブロックのアクティビティの合計値など、当該画像の画素値の分散の大きさを反映した値を用いるようにしてもよい。
【００９３】
次に、図５のフローチャートを参照して、図２を参照して上述した符号化処理中に画像処理装置１０１により実行されるデブロッキング制御処理の第３の実施の形態について説明する。
【００９４】
ステップＳ６１において、直交変換部１４２は、直交変換係数の総和を算出する。具体的には、直交変換部１４２は、これから符号化される画像を所定の大きさのブロックに分割する。なお、以下、４×４画素のブロックに分割し、直交変換としてアダマール変換を用いる例について説明する。直交変換部１４２は、以下の式（１３）により、各ブロックをアダマール変換する。
【００９５】
P'＝HTPH  ・・・（１３）
【００９６】
ここで、Pはアダマール変換前の４×４画素の画素行列を示し、P'はアダマール変換後の４×４の変換係数行列を示す。また、Hは、以下の式（１４）に示される４次のアダマール行列を示し、HTは、４次のアダマール行列の転置行列を示す。
【００９７】
【数６】
2008022404.tif 000008
【００９８】
直交変換部１４２は、各ブロックごとに、変換係数行列P'の座標（０，０）の変換係数（DC（直流）成分の変換係数）を除く変換係数の絶対値の和Phを算出する。すなわち、Phは、アダマール変換後のブロック内の変換係数のうち、符号量と相関のあるAC（交流）成分の変換係数の絶対値の和となる。さらに、直交変換部１４２は、画像内の全ブロックのPhの総和DCtotalを算出する。なお、DCtotalは、周波数成分が偏った単純な画像ほど小さくなり、周波数成分が分散した複雑な画像ほど大きくなる。
【００９９】
ステップＳ６２において、デブロッキングフィルタ１２４は、デブロッキング処理に関わるパラメータを調整する。具体的には、直交変換部１４２は、算出したDCtotalを示す情報をデブロッキングフィルタ１２４に供給する。デブロッキングフィルタ１２４は、デブロッキング処理を施す画像のDCtotalの値に応じて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整する。
【０１００】
例えば、DCtotalが所定の閾値Thdより小さい場合、disable_deblocking_filter_idcが１に設定される。すなわち、ブロックノイズがほとんど生じない、周波数成分が偏った非常に単純な画像に対しては、デブロッキング処理が適用されなくなる。
【０１０１】
また、例えば、DCtotalが閾値Thd以上である場合、DCtotalの値に応じて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2の値が調整される。例えば、DCtotalの値が小さくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が−６に近い値に設定され、DCtotalの値が大きくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が＋６に近い値に設定される。すなわち、ブロックのノイズが生じにくい周波数成分が偏った単純な画像に対しては、適用されるデブロッキング処理の強度が弱められ、ブロックノイズが生じやすい周波数成分が分散した複雑な画像に対しては、適用されるデブロッキング処理の強度が強められる。
【０１０２】
ステップＳ６３において、上述した図３のステップＳ２３の処理と同様に、デブロッキング処理が行われ、デブロッキング制御処理は終了する。
【０１０３】
なお、以上の説明では、直交変換としてアダマール変換を用いる例を示したが、その他の直交変換、例えば、DCT（離散コサイン変換）などを用いるようにしてもよい。
【０１０４】
また、直交変換の種類に関わらず、分割するブロックの大きさは、上述した４×４画素に限定されるものではなく、例えば、８×８画素など任意の大きさとすることができる。
【０１０５】
このように、DCtotalに応じて、復号画像に対してデブロッキング処理が適切に施され、テクスチャが保持されたままブロックノイズが除去された参照画像が生成される。従って、参照画像を用いてインター予測符号化される画像の画質を向上させることができる。
【０１０６】
また、DCtotalは、直交変換を施して、周波数成分に分解した変換係数の総和であるので、当該画像の符号化難易度との相関が高くなり、Activityより高い精度で画像の複雑さを表すことができる。
【０１０７】
さらに、DCtotalを用いた場合、画像を符号化する前に、画像の複雑さを表す特徴量を求めることができる。
【０１０８】
また、直交変換部１４２の代わりに、直交変換部１１５を用いて、直交変換係数を算出するようにすることが可能である。
【０１０９】
さらに、上述したDCtotal、すなわち、AC成分の直交変換係数の総和以外に、例えば、AC成分の直交変換係数の平均値など、当該画像のAC成分の直交変換係数の大きさを反映した値を用いるようにしてもよい。
【０１１０】
次に、図６のフローチャートを参照して、図２を参照して上述した符号化処理中に画像処理装置１０１により実行されるデブロッキング制御処理の第４の実施の形態について説明する。
【０１１１】
ステップＳ８１において、予測誤差加算部１２０は、予測誤差の総和を算出する。具体的には、予測誤差加算部１２０は、これから符号化される画像、すなわち、加算器１１４により差分が行われている画像がＰピクチャまたはＢピクチャである場合、加算器１１４から供給される予測誤差を１ピクチャ分足し合わせる。これにより、予測誤差の総和Etが算出される。なお、Etは、画像の動きの予測が容易であるほど、すなわち、画像の動きが小さくかつ単純であるほど小さくなり、画像の動きの予測が難しいほど、すなわち、画像の動きが大きくかつ複雑であるほど大きくなる。
【０１１２】
ステップＳ８２において、デブロッキングフィルタ１２４は、デブロッキング処理に関わるパラメータを調整する。具体的には、予測誤差加算部１２０は、算出した予測誤差の総和Etを示す情報をデブロッキングフィルタ１２４に供給する。デブロッキングフィルタ１２４は、Etの値に応じて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整する。
【０１１３】
例えば、Etが所定の閾値Theより小さい場合、disable_deblocking_filter_idcが１に設定される。すなわち、ブロックノイズがほとんど生じない、画像の動きがほとんどない画像に対しては、デブロッキング処理が適用されなくなる。
【０１１４】
また、例えば、Etが閾値The以上である場合、Etの値に応じて、slice_alpha_c0_offset_div2およびslice_beta_offset_div2の値が調整される。例えば、Etの値が小さくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が−６に近い値に設定され、Etの値が大きくなるほど、slice_alpha_c0_offset_div2およびslice_beta_offset_div2が＋６に近い値に設定される。すなわち、ブロックのノイズが生じにくい画像の動きが小さくかつ単純な画像に対しては、適用されるデブロッキング処理の強度が弱められ、ブロックノイズが生じやすい画像の動きが大きくかつ複雑な画像に対しては、適用されるデブロッキング処理の強度が強められる。
【０１１５】
ステップＳ８３において、上述した図３のステップＳ２３の処理と同様に、デブロッキング処理が行われ、デブロッキング制御処理は終了する。
【０１１６】
このように、Etに応じて、復号画像に対してデブロッキング処理が適切に施され、テクスチャが保持されたままブロックノイズが除去された参照画像が生成される。従って、参照画像を用いてインター予測符号化される画像の画質を向上させることができる。
【０１１７】
また、Etを用いた場合、画像を符号化する前に、画像の複雑さを表す特徴量を求めることができる。
【０１１８】
さらに、上述したEt、すなわち、予測誤差の総和以外に、例えば、直交変換係数の平均値など、当該画像に対する予測誤差の大きさを反映した値を用いるようにしてもよい。
【０１１９】
以上のようにして、画像の特徴に応じて、デブロッキング処理を適切に施すことができ、その結果、画像の主観画質を向上させることができる。
【０１２０】
なお、以上の説明では、Complexity、Activity、DCtotal、および、Etを、それぞれ単独で用いて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整する例を示したが、複数の値を用いて画像の複雑さを判定し、その結果に基づいて、disable_deblocking_filter_idc、slice_alpha_c0_offset_div2、および、slice_beta_offset_div2の値を調整するようにしてもよい。
【０１２１】
また、以上の説明では、H.264／AVC方式により符号化を行う例を示したが、本発明は、インループのデブロッキングフィルタを用いる符号化方式、例えば、MPEG-4（Moving Picture Coding Experts Group phase4）、VC-1（Video Codec 1）方式などにより符号化を行う場合にも適用できる。
【０１２２】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
【０１２３】
図７は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータ３００の構成の例を示すブロック図である。CPU（Central Processing Unit）３０１は、ROM（Read Only Memory）３０２、または記録部３０８に記憶されているプログラムに従って各種の処理を実行する。RAM（Random Access Memory）３０３には、CPU３０１が実行するプログラムやデータなどが適宜記憶される。これらのCPU３０１、ROM３０２、およびRAM３０３は、バス３０４により相互に接続されている。
【０１２４】
CPU３０１にはまた、バス３０４を介して入出力インタフェース３０５が接続されている。入出力インタフェース３０５には、キーボード、マウス、マイクロホンなどよりなる入力部３０６、ディスプレイ、スピーカなどよりなる出力部３０７が接続されている。CPU３０１は、入力部３０６から入力される指令に対応して各種の処理を実行する。そして、CPU３０１は、処理の結果を出力部３０７に出力する。
【０１２５】
入出力インタフェース３０５に接続されている記録部３０８は、例えばハードディスクからなり、CPU３０１が実行するプログラムや各種のデータを記憶する。通信部３０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１２６】
また、通信部３０９を介してプログラムを取得し、記録部３０８に記憶してもよい。
【０１２７】
入出力インタフェース３０５に接続されているドライブ３１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア３１１が装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部３０８に転送され、記憶される。
【０１２８】
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム記録媒体は、図７に示すように、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory),DVD(Digital Versatile Disc)を含む）、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア３１１、または、プログラムが一時的もしくは永続的に格納されるROM３０２や、記録部３０８を構成するハードディスクなどにより構成される。プログラム記録媒体へのプログラムの格納は、必要に応じてルータ、モデムなどのインタフェースである通信部３０９を介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を利用して行われる。
【０１２９】
なお、本明細書において、プログラム記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３０】
さらに、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である
【図面の簡単な説明】
【０１３１】
【図１】本発明を適用した画像処理装置の一実施の形態を示すブロック図である。
【図２】図１の画像処理装置により実行される符号化処理を説明するためのフローチャートである。
【図３】図１の画像処理装置により実行されるデブロッキング制御処理の第１の実施の形態を説明するためのフローチャートである。
【図４】図２の画像処理装置により実行されるデブロッキング制御処理の第２の実施の形態を説明するためのフローチャートである。
【図５】図３の画像処理装置により実行されるデブロッキング制御処理の第３の実施の形態を説明するためのフローチャートである。
【図６】図４の画像処理装置により実行されるデブロッキング制御処理の第４の実施の形態を説明するためのフローチャートである。
【図７】パーソナルコンピュータの構成の例を示すブロック図である。
【符号の説明】
【０１３２】
１０１  画像処理装置，  １１３  特徴量算出部，  １１４  加算器，  １１５  直交変換部，  １１９  レート制御部，  １２０  予測誤差加算部，  １２４  デブロッキングフィルタ，  １２６  イントラ予測部，  １２７  動き予測・補償部，  １４１  アクティビティ算出部，  １４２  直交変換部
【図１】
2008022404.tif 000009
【図２】
2008022404.tif 000010
【図３】
2008022404.tif 000011
【図４】
2008022404.tif 000012
【図５】
2008022404.tif 000013
【図６】
2008022404.tif 000014
【図７】
2008022404.tif 000015