(57)【特許請求の範囲】
【請求項１】
符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定する判定部と、
前記判定部によりデブロックフィルタを適用すると判定された画素にデブロックフィルタを適用するフィルタリング部と、
前記フィルタリング部によりデブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化する符号化部と、
を備える画像処理装置。
【請求項２】
符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定することと、
デブロックフィルタを適用すると判定された画素にデブロックフィルタを適用することと、
デブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化することと、
を含む画像処理方法。
【請求項３】
画像処理装置を制御するプロセッサを、
符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定する判定部と、
前記判定部によりデブロックフィルタを適用すると判定された画素にデブロックフィルタを適用するフィルタリング部と、
前記フィルタリング部によりデブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化する符号化部と、
として機能させるためのプログラム。
【請求項４】
請求項３に記載のプログラムを記録したコンピュータ読取可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法、プログラム及び記録媒体に関する。
【背景技術】
【０００２】
画像符号化方式の標準仕様の１つであるＨ．２６４／ＡＶＣでは、画像の符号化の際に生じるブロック歪みに起因する画質の劣化を抑制するために、例えば４×４画素のブロックごとにブロック境界にデブロックフィルタが適用される。このデブロックフィルタのために要する処理量は多大であり、例えば、画像の復号の際の全処理量の５０％を占めることもあると言われている。
【０００３】
次世代の画像符号化方式であるＨＥＶＣ（High  Efficiency  Video  Coding）の標準化作業では、ＪＣＴＶＣ−Ａ１１９（下記非特許文献１参照）において、８×８画素以上のサイズのブロックごとにデブロックフィルタを適用することが提案されている。ＪＣＴＶＣ−Ａ１１９において提案された手法では、デブロックフィルタを適用する最小単位のブロックサイズが拡大される。当該手法でも、Ｈ．２６４／ＡＶＣと同様、ブロック単位でデブロックフィルタの適用の要否が判定される。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】K.Ugur  (Nokia),  K.R.Andersson  (LM  Ericsson),  A.Fuldseth  (Tandberg  Telecom),  “JCTVC-A119:Video  coding  technology  proposal  by  Tandberg,  Nokia,  and  Ericsson”,  Documents  of  the  first  meeting  of  the  Joint  Collaborative  Team  on  Video  Coding  (JCT-VC),  Dresden,  Germany,  15-23  April,  2010.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ブロック歪みに起因する画質の劣化は、必ずしもブロック内に一様に現れるわけではない。即ち、デブロックフィルタを適用すべきと判定されたブロックの一部の画質は既に良好である可能性がある。また、デブロックフィルタを適用すべきでないと判定されたブロックの一部の画質が実際には劣化している可能性もある。良好な画質を有する部分にデブロックフィルタを適用すれば、かえってその画質が損われかねない。また、劣化した画質を有する部分にデブロックフィルタを適用しなければ、画質は向上されない。
【０００６】
従って、デブロックフィルタが適用される範囲をより適切に判定することのできる、画像処理装置及び画像処理方法が提供されることが望ましい。
【課題を解決するための手段】
【０００７】
ある実施形態によれば、符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定する判定部と、前記判定部によりデブロックフィルタを適用すると判定された画素にデブロックフィルタを適用するフィルタリング部と、前記フィルタリング部によりデブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化する符号化部と、を備える画像処理装置が提供される。
【０００８】
上記画像処理装置は、典型的には、画像を符号化する画像符号化装置として実現され得る。
【０００９】
また、別の実施形態によれば、符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定することと、デブロックフィルタを適用すると判定された画素にデブロックフィルタを適用することと、デブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化することと、を含む画像処理方法が提供される。
【００１０】
また、別の実施形態によれば、画像処理装置を制御するプロセッサを、符号化対象画像を符号化する際にローカル復号された復号画像内で境界を挟んで互いに隣接する各々８×８の隣接ブロック内の前記境界と直交する０番目から７番目までの８つのラインに属する画素にデブロックフィルタを適用するかを、当該隣接ブロックの０番目、３番目、４番目及び７番目のラインに属する画素を用いて判定する判定部と、前記判定部によりデブロックフィルタを適用すると判定された画素にデブロックフィルタを適用するフィルタリング部と、前記フィルタリング部によりデブロックフィルタを適用された復号画像を用いて、前記符号化対象画像を符号化する符号化部と、として機能させるためのプログラムが提供される。前記プログラムを記録したコンピュータ読取可能な記録媒体もまた提供される。
【発明の効果】
【００１１】
本開示に係る画像処理装置、画像処理方法、プログラム及び記録媒体によれば、デブロックフィルタが適用される範囲をより適切に判定することができる。
【図面の簡単な説明】
【００１２】
【図１】一実施形態に係る画像符号化装置の構成の一例を示すブロック図である。
【図２】一実施形態に係る画像復号装置の構成の一例を示すブロック図である。
【図３】境界を挟んで隣接する画素の一例を示す説明図である。
【図４】既存の手法におけるフィルタリング要否判定処理について説明するための説明図である。
【図５】既存の手法におけるフィルタリング処理について説明するための説明図である。
【図６】第１の実施例に係るデブロックフィルタの詳細な構成の一例を示すブロック図である。
【図７】第１の実施例に係るデブロックフィルタによる処理の流れの一例を示すフローチャートである。
【図８】第２の実施例に係るデブロックフィルタの詳細な構成の一例を示すブロック図である。
【図９】第２の実施例に係るデブロックフィルタによる処理の流れの一例を示すフローチャートである。
【図１０】第３の実施例に係るデブロックフィルタの詳細な構成の一例を示すブロック図である。
【図１１Ａ】第３の実施例に係るデブロックフィルタにおけるパラメータ推定処理の第１の例について説明するための説明図である。
【図１１Ｂ】第３の実施例に係るデブロックフィルタにおけるパラメータ推定処理の第２の例について説明するための説明図である。
【図１１Ｃ】第３の実施例に係るデブロックフィルタにおけるパラメータ推定処理の第３の例について説明するための説明図である。
【図１２】第３の実施例に係るデブロックフィルタによる処理の流れの一例を示すフローチャートである。
【図１３】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図１４】携帯電話機の概略的な構成の一例を示すブロック図である。
【図１５】記録再生装置の概略的な構成の一例を示すブロック図である。
【図１６】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００１４】
また、以下の順序で説明を行う。
１．装置の概要
１−１．画像符号化装置
１−２．画像復号装置
２．既存の手法の説明
３．第１の実施例
３−１．デブロックフィルタの構成例
３−２．処理の流れ
４．第２の実施例
４−１．デブロックフィルタの構成例
４−２．処理の流れ
５．第３の実施例
５−１．デブロックフィルタの構成例
５−２．処理の流れ
６．応用例
７．まとめ
【００１５】
＜１．装置の概要＞
まず、図１及び図２を用いて、本明細書で開示する技術を適用可能な一例としての装置の概要を説明する。本明細書で開示する技術は、例えば、画像符号化装置及び画像復号装置に適用可能である。
【００１６】
［１−１．画像符号化装置］
図１は、一実施形態に係る画像符号化装置１０の構成の一例を示すブロック図である。図１を参照すると、画像符号化装置１０は、Ａ／Ｄ（Analogue  to  Digital）変換部１１、並べ替えバッファ１２、減算部１３、直交変換部１４、量子化部１５、可逆符号化部１６、蓄積バッファ１７、レート制御部１８、逆量子化部２１、逆直交変換部２２、加算部２３、デブロックフィルタ２４ａ、フレームメモリ２５、セレクタ２６、イントラ予測部３０、動き探索部４０、及びモード選択部５０を備える。
【００１７】
Ａ／Ｄ変換部１１は、アナログ形式で入力される画像信号をデジタル形式の画像データに変換し、一連のデジタル画像データを並べ替えバッファ１２へ出力する。
【００１８】
並べ替えバッファ１２は、Ａ／Ｄ変換部１１から入力される一連の画像データに含まれる画像を並べ替える。並べ替えバッファ１２は、符号化処理に係るＧＯＰ（Group  of  Pictures）構造に応じて画像を並べ替えた後、並べ替え後の画像データを減算部１３、イントラ予測部３０及び動き探索部４０へ出力する。
【００１９】
減算部１３には、並べ替えバッファ１２から入力される画像データ、及び後に説明するモード選択部５０により選択される予測画像データが供給される。減算部１３は、並べ替えバッファ１２から入力される画像データとモード選択部５０から入力される予測画像データとの差分である予測誤差データを算出し、算出した予測誤差データを直交変換部１４へ出力する。
【００２０】
直交変換部１４は、減算部１３から入力される予測誤差データについて直交変換を行う。直交変換部１４により実行される直交変換は、例えば、離散コサイン変換（Discrete  Cosine  Transform：ＤＣＴ）又はカルーネン・レーベ変換などであってよい。直交変換部１４は、直交変換処理により取得される変換係数データを量子化部１５へ出力する。
【００２１】
量子化部１５には、直交変換部１４から入力される変換係数データ、及び後に説明するレート制御部１８からのレート制御信号が供給される。量子化部１５は、変換係数データを量子化し、量子化後の変換係数データ（以下、量子化データという）を可逆符号化部１６及び逆量子化部２１へ出力する。また、量子化部１５は、レート制御部１８からのレート制御信号に基づいて量子化パラメータ（量子化スケール）を切替えることにより、可逆符号化部１６に入力される量子化データのビットレートを変化させる。
【００２２】
可逆符号化部１６には、量子化部１５から入力される量子化データ、及び、後に説明するイントラ予測部３０又は動き探索部４０により生成されモード選択部５０により選択されるイントラ予測又はインター予測に関する情報が供給される。イントラ予測に関する情報は、例えば、ブロックごとの最適なイントラ予測モードを示す予測モード情報を含み得る。また、インター予測に関する情報は、例えば、ブロックごとの動きベクトルの予測のための予測モード情報、差分動きベクトル情報、及び参照画像情報などを含み得る。
【００２３】
可逆符号化部１６は、量子化データについて可逆符号化処理を行うことにより、符号化ストリームを生成する。可逆符号化部１６による可逆符号化は、例えば、可変長符号化、又は算術符号化などであってよい。また、可逆符号化部１６は、上述したイントラ予測に関する情報又はインター予測に関する情報を、符号化ストリームのヘッダ（例えばブロックヘッダ又はスライスヘッダなど）内に多重化する。そして、可逆符号化部１６は、生成した符号化ストリームを蓄積バッファ１７へ出力する。
【００２４】
蓄積バッファ１７は、可逆符号化部１６から入力される符号化ストリームを一時的に蓄積する。そして、蓄積バッファ１７は、蓄積した符号化ストリームを、伝送路（又は画像符号化装置１０からの出力線）の帯域に応じたレートで出力する。
【００２５】
レート制御部１８は、蓄積バッファ１７の空き容量を監視する。そして、レート制御部１８は、蓄積バッファ１７の空き容量に応じてレート制御信号を生成し、生成したレート制御信号を量子化部１５へ出力する。例えば、レート制御部１８は、蓄積バッファ１７の空き容量が少ない時には、量子化データのビットレートを低下させるためのレート制御信号を生成する。また、例えば、レート制御部１８は、蓄積バッファ１７の空き容量が十分大きい時には、量子化データのビットレートを高めるためのレート制御信号を生成する。
【００２６】
逆量子化部２１は、量子化部１５から入力される量子化データについて逆量子化処理を行う。そして、逆量子化部２１は、逆量子化処理により取得される変換係数データを、逆直交変換部２２へ出力する。
【００２７】
逆直交変換部２２は、逆量子化部２１から入力される変換係数データについて逆直交変換処理を行うことにより、予測誤差データを復元する。そして、逆直交変換部２２は、復元した予測誤差データを加算部２３へ出力する。
【００２８】
加算部２３は、逆直交変換部２２から入力される復元された予測誤差データとモード選択部５０から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部２３は、生成した復号画像データをデブロックフィルタ２４ａ及びフレームメモリ２５へ出力する。
【００２９】
デブロックフィルタ２４ａは、画像の符号化の際に生じるブロック歪みを減少させるためのフィルタリング処理を行う。より具体的には、デブロックフィルタ２４ａは、加算部２３から入力される復号画像データ内の各ブロック境界について、ラインごとにフィルタリングの要否を判定する。そして、デブロックフィルタ２４ａは、フィルタを適用すべきであると判定したラインにデブロックフィルタを適用する。ブロック境界が垂直境界である場合には、上記ラインは、垂直境界と直交する行に相当する。ブロック境界が水平境界である場合には、上記ラインは、水平境界と直交する列に相当する。デブロックフィルタ２４ａには、加算部２３からの復号画像データに加えて、フィルタリングの要否の判定のために使用される情報（例えば、モード情報、変換係数情報及び動きベクトル情報）も入力される。その後、デブロックフィルタ２４ａは、ブロック歪みの除去されたフィルタリング後の復号画像データをフレームメモリ２５へ出力する。なお、デブロックフィルタ２４ａによる処理について、後に詳細に説明する。
【００３０】
フレームメモリ２５は、加算部２３から入力される復号画像データ、及びデブロックフィルタ２４ａから入力されるフィルタリング後の復号画像データを記憶する。
【００３１】
セレクタ２６は、イントラ予測のために使用されるフィルタリング前の復号画像データをフレームメモリ２５から読み出し、読み出した復号画像データを参照画像データとしてイントラ予測部３０に供給する。また、セレクタ２６は、インター予測のために使用されるフィルタリング後の復号画像データをフレームメモリ２５から読み出し、読み出した復号画像データを参照画像データとして動き探索部４０に供給する。
【００３２】
イントラ予測部３０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号画像データに基づいて、各イントラ予測モードのイントラ予測処理を行う。例えば、イントラ予測部３０は、各イントラ予測モードによる予測結果を所定のコスト関数を用いて評価する。そして、イントラ予測部３０は、コスト関数値が最小となるイントラ予測モード、即ち圧縮率が最も高くなるイントラ予測モードを、最適なイントラ予測モードとして選択する。さらに、イントラ予測部３０は、当該最適なイントラ予測モードを表す予測モード情報を含むイントラ予測に関する情報、予測画像データ、及びコスト関数値を、モード選択部５０へ出力する。
【００３３】
動き探索部４０は、並べ替えバッファ１２から入力される符号化対象の画像データ、及びセレクタ２６を介して供給される復号画像データに基づいて、インター予測処理（フレーム間予測処理）を行う。例えば、動き探索部４０は、各予測モードによる予測結果を所定のコスト関数を用いて評価する。次に、動き探索部４０は、コスト関数値が最小となる予測モード、即ち圧縮率が最も高くなる予測モードを、最適な予測モードとして選択する。また、動き探索部４０は、当該最適な予測モードに従って予測画像データを生成する。そして、動き探索部４０は、選択した最適な予測モードを表す予測モード情報を含むインター予測に関する情報、予測画像データ、及びコスト関数値を、モード選択部５０へ出力する。
【００３４】
モード選択部５０は、イントラ予測部３０から入力されるイントラ予測に関するコスト関数値と動き探索部４０から入力されるインター予測に関するコスト関数値とを比較する。そして、モード選択部５０は、イントラ予測及びインター予測のうちコスト関数値がより少ない予測手法を選択する。モード選択部５０は、イントラ予測を選択した場合には、イントラ予測に関する情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３及び加算部２３へ出力する。また、モード選択部５０は、インター予測を選択した場合には、インター予測に関する上述した情報を可逆符号化部１６へ出力すると共に、予測画像データを減算部１３及び加算部２３へ出力する。
【００３５】
［１−２．画像復号装置］
図２は、一実施形態に係る画像復号装置６０の構成の一例を示すブロック図である。図２を参照すると、画像復号装置６０は、蓄積バッファ６１、可逆復号部６２、逆量子化部６３、逆直交変換部６４、加算部６５、デブロックフィルタ２４ｂ、並べ替えバッファ６７、Ｄ／Ａ（Digital  to  Analogue）変換部６８、フレームメモリ６９、セレクタ７０及び７１、イントラ予測部８０、並びに動き補償部９０を備える。
【００３６】
蓄積バッファ６１は、伝送路を介して入力される符号化ストリームを一時的に蓄積する。
【００３７】
可逆復号部６２は、蓄積バッファ６１から入力される符号化ストリームを、符号化の際に使用された符号化方式に従って復号する。また、可逆復号部６２は、符号化ストリームのヘッダ領域に多重化されている情報を復号する。符号化ストリームのヘッダ領域に多重化されている情報とは、例えば、ブロックヘッダ内のイントラ予測に関する情報及びインター予測に関する情報を含み得る。可逆復号部６２は、イントラ予測に関する情報をイントラ予測部８０へ出力する。また、可逆復号部６２は、インター予測に関する情報を動き補償部９０へ出力する。
【００３８】
逆量子化部６３は、可逆復号部６２による復号後の量子化データを逆量子化する。逆直交変換部６４は、符号化の際に使用された直交変換方式に従い、逆量子化部６３から入力される変換係数データについて逆直交変換を行うことにより、予測誤差データを生成する。そして、逆直交変換部６４は、生成した予測誤差データを加算部６５へ出力する。
【００３９】
加算部６５は、逆直交変換部６４から入力される予測誤差データと、セレクタ７１から入力される予測画像データとを加算することにより、復号画像データを生成する。そして、加算部６５は、生成した復号画像データをデブロックフィルタ２４ｂ及びフレームメモリ６９へ出力する。
【００４０】
デブロックフィルタ２４ｂは、復号された画像に現れるブロック歪みを減少させるためのフィルタリング処理を行う。より具体的には、デブロックフィルタ２４ｂは、加算部６５から入力される復号画像データ内の各ブロック境界について、ラインごとにフィルタリングの要否を判定する。そして、デブロックフィルタ２４ｂは、フィルタを適用すべきであると判定したラインにデブロックフィルタを適用する。デブロックフィルタ２４ｂには、加算部６５からの復号画像データに加えて、フィルタリングの要否の判定のために使用される情報も入力される。その後、デブロックフィルタ２４ｂは、ブロック歪みの除去されたフィルタリング後の復号画像データを並べ替えバッファ６７及びフレームメモリ６９へ出力する。なお、デブロックフィルタ２４ｂによる処理について、後に詳細に説明する。
【００４１】
並べ替えバッファ６７は、デブロックフィルタ２４ｂから入力される画像を並べ替えることにより、時系列の一連の画像データを生成する。そして、並べ替えバッファ６７は、生成した画像データをＤ／Ａ変換部６８へ出力する。
【００４２】
Ｄ／Ａ変換部６８は、並べ替えバッファ６７から入力されるデジタル形式の画像データをアナログ形式の画像信号に変換する。そして、Ｄ／Ａ変換部６８は、例えば、画像復号装置６０と接続されるディスプレイ（図示せず）にアナログ画像信号を出力することにより、画像を表示させる。
【００４３】
フレームメモリ６９は、加算部６５から入力されるフィルタリング前の復号画像データ、及びデブロックフィルタ２４ｂから入力されるフィルタリング後の復号画像データを記憶する。
【００４４】
セレクタ７０は、可逆復号部６２により取得されるモード情報に応じて、画像内のブロックごとに、フレームメモリ６９からの画像データの出力先をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７０は、イントラ予測モードが指定された場合には、フレームメモリ６９から供給されるフィルタリング前の復号画像データを参照画像データとしてイントラ予測部８０へ出力する。また、セレクタ７０は、インター予測モードが指定された場合には、フレームメモリ６９から供給されるフィルタリング後の復号画像データを参照画像データとして動き補償部９０へ出力する。
【００４５】
セレクタ７１は、可逆復号部６２により取得されるモード情報に応じて、画像内のブロックごとに、加算部６５へ供給すべき予測画像データの出力元をイントラ予測部８０と動き補償部９０との間で切り替える。例えば、セレクタ７１は、イントラ予測モードが指定された場合には、イントラ予測部８０から出力される予測画像データを加算部６５へ供給する。セレクタ７１は、インター予測モードが指定された場合には、動き補償部９０から出力される予測画像データを加算部６５へ供給する。
【００４６】
イントラ予測部８０は、可逆復号部６２から入力されるイントラ予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて画素値の画面内予測を行い、予測画像データを生成する。そして、イントラ予測部８０は、生成した予測画像データをセレクタ７１へ出力する。
【００４７】
動き補償部９０は、可逆復号部６２から入力されるインター予測に関する情報とフレームメモリ６９からの参照画像データとに基づいて動き補償処理を行い、予測画像データを生成する。そして、動き補償部９０は、生成した予測画像データをセレクタ７１へ出力する。
【００４８】
＜２．既存の手法の説明＞
一般的に、Ｈ．２６４／ＡＶＣ又はＨＥＶＣなどの既存の画像符号化方式におけるデブロックフィルタによる処理は、フィルタリング要否判定処理及びフィルタリング処理という２種類の処理を含む。以下、ＨＥＶＣを例にとって、これら２つの処理について説明する。
【００４９】
（１）フィルタリング要否判定処理
フィルタリング要否判定処理は、入力画像内のブロックの境界ごとにデブロックフィルタを適用すべきか否かを判定する処理である。ブロックの境界は、左右に隣接するブロック間の垂直境界と、上下に隣接するブロック間の水平境界とを含む。ＪＣＴＶＣ−Ａ１１９では、８×８画素のブロックサイズが最小の処理単位である。例えば、１６×１６画素のマクロブロック内には４つの８×８画素のブロックが存在し、ブロックごとに１つの（左の）垂直境界及び１つの（上の）水平境界、即ち合計で４＋４＝８個の境界が判定の対象となる。なお、本明細書において、マクロブロックとの用語は、ＨＥＶＣの文脈における符号化単位（ＣＵ：Coding  Unit）をも含むものとする。
【００５０】
図３は、境界を挟んで隣接する２つのブロックＢａ及びＢｂ内の画素の一例を示す説明図である。本明細書では、このように境界を挟んで互いに隣接するブロックを隣接ブロックという。ここでは垂直境界を例にとって説明するが、当然ながら、ここで説明された事項は水平境界にも同等に適用可能である。図３の例において、ブロックＢａ内の画素は、ｐｉｊという記号で示されている。ｉは列のインデックス、ｊは行のインデックスである。列のインデックスｉは、垂直境界に近い列から順に（右から左へ）０，１，２，３と付番されている。行のインデックスｊは、上から下へ０，１，２，…，７と付番されている。なお、ブロックＢａの左半分は図中で省略されている。一方、ブロックＢｂ内の画素は、ｑｋｊという記号で示されている。ｋは列のインデックス、ｊは行のインデックスである。列のインデックスｋは、垂直境界に近い列から順に（左から右へ）０，１，２，３と付番されている。なお、ブロックＢｂの右半分もまた図中で省略されている。
【００５１】
図３に示したブロックＢａ及びＢｂの間の垂直境界について、デブロックフィルタを適用すべきか否かは、次のような条件に従って判定され得る：
【００５２】
・輝度成分（Luma）の判定条件・・・条件Ａ及び条件Ｂがいずれも真なら適用
−条件Ａ：
（Ａ１）ブロックＢａ若しくはＢｂがイントラ予測モードである；
（Ａ２）ブロックＢａ若しくはＢｂが非ゼロの直交変換係数を有する；又は
（Ａ３）｜ＭＶＡｘ−ＭＶＢｘ｜≧４若しくは｜ＭＶＡｙ−ＭＶＢｙ｜≧４
−条件Ｂ：
｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜＜β
【００５３】
なお、条件Ａ３に関し、Ｑｐｅｌ（１／４画素）精度のブロックＢａの動きベクトルを（ＭＶＡｘ，ＭＶＡｙ）、ブロックＢｂの動きベクトルを（ＭＶＢｘ，ＭＶＢｙ）とする。また、条件Ｂにおけるβは、エッジ判定閾値である。βの初期値は量子化パラメータに応じて与えられる。また、βの値は、スライスヘッダ内のパラメータでユーザにより指定可能である。
【００５４】
・色差成分（Chroma）の判定条件・・・条件Ａ１が真なら適用
−条件Ａ１：ブロックＢａ又はＢｂがイントラ予測モードである
【００５５】
即ち、図４において点線枠Ｌ２及びＬ５で示しているように、一般的な垂直境界についてのフィルタリング要否判定処理（特に、輝度成分の判定条件Ｂの判定）では、各ブロックの２番目及び５番目の行（最も上の行を０番目とする）の画素が参照される。そして、上述した判定条件に従ってデブロックフィルタを適用すべきと判定された垂直境界の左右のブロックにデブロックフィルタが適用される。同様に、水平境界についてのフィルタリング要否判定処理では、各ブロックの２番目及び５番目の列の画素（図４には示していない）が参照される。そして、上述した判定条件に従ってデブロックフィルタを適用すべきと判定された水平境界の上下のブロックにデブロックフィルタが適用される。
【００５６】
（２）フィルタリング処理
ある境界についてデブロックフィルタを適用すべきと判定されると、垂直境界については当該境界の左右の画素、水平境界については当該境界の上下の画素に、フィルタリング処理が行われる。輝度成分については、画素値に応じてフィルタ強度が強（strong）フィルタと弱（weak）フィルタとの間で切り替えられ得る。
【００５７】
・輝度成分のフィルタリング
−強度選択・・・１行ごと（又は１列ごと）にフィルタ強度を選択。以下の条件Ｃ１〜Ｃ３が全て満たされる場合には強フィルタ、いずれか１つでも満たされない場合には弱フィルタが選択される：
（Ｃ１）ｄ＜（β>>２）
（Ｃ２）（｜ｐ３ｊ−ｐ０ｊ｜＋｜ｑ０ｊ−ｑ３ｊ｜）＜（β>>３）
（Ｃ３）｜ｐ０ｊ−ｑ０ｊ｜＜（（５ｔＣ＋１）>>１）
ここで、ｊは、垂直境界については行、水平境界については列のインデックスである。また、ｄ＝｜ｐ２２−２ｐ１２＋ｐ０２｜＋｜ｑ２２−２ｑ１２＋ｑ０２｜＋｜ｐ２５−２ｐ１５＋ｐ０５｜＋｜ｑ２５−２ｑ１５＋ｑ０５｜である。
【００５８】
−弱フィルタリング：
Δ＝Ｃｌｉｐ（−ｔＣ，ｔＣ，（１３（ｑ０ｊ−ｐ０ｊ）＋４（ｑ１ｊ−ｐ１ｊ）−５（ｑ２ｊ−ｐ２ｊ）＋１６）>>５））
ｐ０ｊ＝Ｃｌｉｐ０−２５５（ｐ０ｊ＋Δ）
ｑ０ｊ＝Ｃｌｉｐ０−２５５（ｑ０ｊ−Δ）
ｐ１ｊ＝Ｃｌｉｐ０−２５５（ｐ１ｊ＋Δ／２）
ｑ１ｊ＝Ｃｌｉｐ０−２５５（ｑ１ｊ−Δ／２）
【００５９】
−強フィルタリング：
ｐ０ｊ＝Ｃｌｉｐ０−２５５（（ｐ２ｊ＋２ｐ１ｊ＋２ｐ０ｊ＋２ｑ０ｊ＋ｑ１ｊ＋４）>>３）
ｑ０ｊ＝Ｃｌｉｐ０−２５５（（ｐ１ｊ＋２ｐ０ｊ＋２ｑ０ｊ＋２ｑ１ｊ＋ｑ２ｊ＋４）>>３）
ｐ１ｊ＝Ｃｌｉｐ０−２５５（（ｐ２ｊ＋ｐ１ｊ＋ｐ０ｊ＋ｑ０ｊ＋２）>>２）
ｑ１ｊ＝Ｃｌｉｐ０−２５５（（ｐ０ｊ＋ｑ０ｊ＋ｑ１ｊ＋ｑ２ｊ＋２）>>２）
ｐ２ｊ＝Ｃｌｉｐ０−２５５（（２ｐ３ｊ＋３ｐ２ｊ＋ｐ１ｊ＋ｐ０ｊ＋ｑ０ｊ＋４）>>３）
ｑ２ｊ＝Ｃｌｉｐ０−２５５（（ｐ０ｊ＋ｑ０ｊ＋ｑ１ｊ＋３ｑ２ｊ＋２ｑ３ｊ＋４）>>３）
【００６０】
なお、Ｃｌｉｐ（ａ，ｂ，ｃ）は値ｃをａ≦ｃ≦ｂの範囲でクリップする処理、Ｃｌｉｐ０−２５５（ｃ）は値ｃを０≦ｃ≦２５５の範囲でクリップする処理をそれぞれ表す。
【００６１】
・色差成分のフィルタリング：
Δ＝Ｃｌｉｐ（−ｔＣ，ｔＣ，（（（（ｑ０ｊ−ｐ０ｊ）<<２）＋ｐ１ｊ−ｑ１ｊ＋４）>>３））
ｐ０ｊ＝Ｃｌｉｐ０−２５５（ｐ０ｊ＋Δ）
ｑ０ｊ＝Ｃｌｉｐ０−２５５（ｑ０ｊ−Δ）
【００６２】
これら輝度成分及び色差成分のフィルタリングは、ブロックＢａ及びＢｂの全ての行又は列について（即ち、０≦ｊ≦７の全ての整数ｊについて）行われる。即ち、図５に示しているように、ある垂直境界についてフィルタリングが必要であると判定されると、当該垂直境界に直交する全てのラインＬ０〜Ｌ７の１つ以上の画素値が更新される。同様に、ある水平境界についてフィルタリングが必要であると判定されると、当該水平境界に直交する全てのラインＬ０〜Ｌ７の１つ以上の画素値が更新される。
【００６３】
これらの説明から理解されるように、既存の手法では、フィルタリングの要否の判定は、画像内の２つの隣接ブロックに挟まれる境界ごとに行われる。本明細書では、このような判定を、ブロック単位での判定という。ある境界について、フィルタリングが部分的に必要であるというような決定はなされない。そのため、ブロック歪みに起因する画質の劣化がブロック内の一部の画素にのみ現れていたとしても、ブロック全体をフィルタリングするか又はブロック全体をフィルタリングしないという、二者択一の選択しかすることできない。これは、良好な画質を有する部分への無駄なデブロックフィルタの適用による画質の低下、及び劣化した画質を有する部分にデブロックフィルタが適用されないことによる画質向上の機会の逸失という２通りの弊害を含んでいる。そこで、以下に説明するデブロックフィルタの２つの実施例では、かかる弊害を解消するために、デブロックフィルタを適用すべき範囲をより小さい粒度で判定することとする。
【００６４】
＜３．第１の実施例＞
［３−１．デブロックフィルタの構成例］
本節では、図１に示した画像符号化装置１０のデブロックフィルタ２４ａ及び図２に示した画像復号装置６０のデブロックフィルタ２４ｂの第１の実施例に係る構成の一例を説明する。なお、デブロックフィルタ２４ａ及びデブロックフィルタ２４ｂの構成は、共通であってよい。従って、これ以降の説明では、特に両者を区別する必要が無い場合には、デブロックフィルタ２４ａ及びデブロックフィルタ２４ｂをデブロックフィルタ２４と総称する。
【００６５】
図６は、第１の実施例に係るデブロックフィルタ２４の詳細な構成の一例を示すブロック図である。図６を参照すると、デブロックフィルタ２４は、ブロック判定部１１０、ライン判定部１２０、強度選択部１３０、フィルタリング部１４０及び判定制御部１５０を有する。
【００６６】
（１）ブロック判定部
ブロック判定部１１０は、ライン判定部１２０によるライン単位の判定の前段階の処理として、ブロック単位の判定条件についての判定を行う。ブロック単位の判定条件とは、典型的には、境界を挟む２つの隣接ブロックの変換係数及び符号化パラメータの少なくとも１つに基づく条件である。変換係数とは、例えば、直交変換係数であってよい。また、符号化パラメータとは、例えば、予測モード及び動きベクトルの一方又は双方であってよい。ブロック単位の判定条件は、例えば、上述した既存の手法における、輝度成分の判定条件のうちの判定条件Ａ及び色差成分の判定条件Ａ１であってよい。
【００６７】
即ち、ブロック判定部１１０には、各境界を挟んで隣接する隣接ブロックについての判定情報が供給される。ここで供給される判定情報は、例えば、モード情報、変換係数情報及び動きベクトル情報を含む。そして、ブロック判定部１１０は、各境界についてのブロック単位での輝度成分の判定として、次の条件Ａが満たされるか否かを判定する：
−条件Ａ：
（Ａ１）ブロックＢａ若しくはＢｂがイントラ予測モードである；
（Ａ２）ブロックＢａ若しくはＢｂが非ゼロの直交変換係数を有する；又は
（Ａ３）｜ＭＶＡｘ−ＭＶＢｘ｜≧４若しくは｜ＭＶＡｙ−ＭＶＢｙ｜≧４
そして、ブロック判定部１１０は、条件Ａを満たす境界について、ライン判定部１２０にさらにライン単位での判定を行わせる。一方、ブロック判定部１１０は、条件Ａを満たさない境界について、ライン判定部１２０によるライン単位での判定をスキップさせる。
【００６８】
また、ブロック判定部１１０は、各境界についてのブロック単位での色差成分の判定として、次の条件Ａ１が満たされるか否かを判定する：
−条件Ａ１：ブロックＢａ又はＢｂがイントラ予測モードである
色差成分については、ライン判定部１２０によるライン単位での判定は行われなくてよい。この場合、条件Ａ１を満たす境界については、当該境界の全てのラインの色差成分がフィルタリング部１４０によりフィルタリングされる。条件Ａ１を満たさない境界については、当該境界の全てのラインの色差成分は、フィルタリングされない。
【００６９】
なお、ここで説明したブロック判定部１１０によるブロック単位での判定は、一例に過ぎない。即ち、上述した判定条件とは異なるブロック単位の判定条件が使用されてもよい。例えば、判定条件Ａ１〜Ａ３のうちいずれかが省略されてもよく、別の条件が追加されてもよい。さらに、色差成分についても、次に説明するようなライン単位での判定が、省略されることなく実行されてよい。
【００７０】
（２）ライン判定部
ライン判定部１２０は、各境界と直交するラインごとに、当該境界を挟んで隣接する２つの隣接ブロックを対象としてデブロックフィルタを適用するか否かを判定する。ライン単位の判定条件は、例えば、次の判定条件Ｂ´であってよい。
−条件Ｂ´：
ｄ＝｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜＋｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
とした場合に、
ｄ＜（β>>１）
ここで、ｄは判定用パラメータ、βは上述したエッジ判定閾値である。また、ｉはラインのインデックスである。各ブロックのサイズが８×８画素であれば、ｉは、０≦ｉ≦７の整数である。
【００７１】
即ち、ライン判定部１２０は、ある１つのラインについての判定に際して、条件Ｂ´に従って、２つの隣接ブロックＢａ及びＢｂの当該１つのラインに属する参照画素値のみから、判定用パラメータｄの値を算出する。そして、ライン判定部１２０は、算出した判定用パラメータｄの値を判定用閾値（β>>１）と比較する。このように、あるラインについての判定の際に当該ラインのみを参照することにより、ラインごとの判定を、各ラインに順次アクセスするという比較的単純な構成で実現することが可能となる。
【００７２】
ライン判定部１２０は、例えば、条件Ｂ´を満たすラインについて、強度選択部１３０によるフィルタ強度の選択及びフィルタリング部１４０によるフィルタリングを行わせる。一方、ライン判定部１２０は、条件Ｂ´を満たさないラインについては、強度選択部１３０によるフィルタ強度の選択及びフィルタリング部１４０によるフィルタリングをスキップさせる。
【００７３】
（３）強度選択部
強度選択部１３０は、フィルタリング部１４０により各ラインに適用されるデブロックフィルタの強度をラインごとに選択する。より具体的には、強度選択部１３０は、ライン判定部１２０によりデブロックフィルタを適用すべきと判定された各ラインについて、次のようにフィルタの強度を選択する：
−強度選択・・・ラインごとにフィルタ強度を選択。以下の条件Ｃ１´〜Ｃ３が全て満たされる場合には強フィルタ、いずれか１つでも満たされない場合には弱フィルタが選択される：
（Ｃ１´）ｄ＜（β>>３）
（Ｃ２）（｜ｐ３ｉ−ｐ０ｉ｜＋｜ｑ０ｉ−ｑ３ｉ｜）＜（β>>３）
（Ｃ３）｜ｐ０ｉ−ｑ０ｉ｜＜（（５ｔＣ＋１）>>１）
ここで、ｄは、上述した条件Ｂ´の判定において算出される判定用パラメータである。なお、このようなフィルタ強度の選択は、輝度成分のみについて行われ得る。そして、強度選択部１３０は、選択したフィルタ強度を表す情報（例えば、強フィルタ及び弱フィルタのいずれかを表すフラグ）を、ラインごとにフィルタリング部１４０へ出力する。
【００７４】
（４）フィルタリング部
フィルタリング部１４０は、ブロック判定部１１０及びライン判定部１２０による判定結果に応じて、各境界を挟んで隣接する２つの隣接ブロックの各ラインにデブロックフィルタを適用する。フィルタリング部１４０のフィルタの構成は、上述した既存の手法と同様であってよい。例えば、フィルタリング部１４０は、ライン判定部１２０によりデブロックフィルタを適用すべきと判定された各ラインについて、次のようにフィルタリング後の画素値を算出する。
【００７５】
・輝度成分のフィルタリング
−弱フィルタが選択された場合：
Δ＝Ｃｌｉｐ（−ｔＣ，ｔＣ，（１３（ｑ０ｉ−ｐ０ｉ）＋４（ｑ１ｉ−ｐ１ｉ）−５（ｑ２ｉ−ｐ２ｉ）＋１６）>>５））
ｐ０ｉ＝Ｃｌｉｐ０−２５５（ｐ０ｉ＋Δ）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（ｑ０ｉ−Δ）
ｐ１ｉ＝Ｃｌｉｐ０−２５５（ｐ１ｉ＋Δ／２）
ｑ１ｉ＝Ｃｌｉｐ０−２５５（ｑ１ｉ−Δ／２）
【００７６】
−強フィルタが選択された場合：
ｐ０ｉ＝Ｃｌｉｐ０−２５５（（ｐ２ｉ＋２ｐ１ｉ＋２ｐ０ｉ＋２ｑ０ｉ＋ｑ１ｉ＋４）>>３）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（（ｐ１ｉ＋２ｐ０ｉ＋２ｑ０ｉ＋２ｑ１ｉ＋ｑ２ｉ＋４）>>３）
ｐ１ｉ＝Ｃｌｉｐ０−２５５（（ｐ２ｉ＋ｐ１ｉ＋ｐ０ｉ＋ｑ０ｉ＋２）>>２）
ｑ１ｉ＝Ｃｌｉｐ０−２５５（（ｐ０ｉ＋ｑ０ｉ＋ｑ１ｉ＋ｑ２ｉ＋２）>>２）
ｐ２ｉ＝Ｃｌｉｐ０−２５５（（２ｐ３ｉ＋３ｐ２ｉ＋ｐ１ｉ＋ｐ０ｉ＋ｑ０ｉ＋４）>>３）
ｑ２ｉ＝Ｃｌｉｐ０−２５５（（ｐ０ｉ＋ｑ０ｉ＋ｑ１ｉ＋３ｑ２ｉ＋２ｑ３ｉ＋４）>>３）
【００７７】
・色差成分のフィルタリング：
Δ＝Ｃｌｉｐ（−ｔＣ，ｔＣ，（（（（ｑ０ｉ−ｐ０ｉ）<<２）＋ｐ１ｉ−ｑ１ｉ＋４）>>３））
ｐ０ｉ＝Ｃｌｉｐ０−２５５（ｐ０ｉ＋Δ）
ｑ０ｉ＝Ｃｌｉｐ０−２５５（ｑ０ｉ−Δ）
【００７８】
そして、フィルタリング部１４０は、フィルタを適用した画素についてはフィルタリング後の画素値、その他の画素については入力画像の画素値を、出力画像の画素値として順次出力する。
【００７９】
（５）判定制御部
判定制御部１５０は、ブロック判定部１１０及びライン判定部１２０によるデブロックフィルタの適用の要否の判定を制御する。例えば、判定制御部１５０は、ブロック判定部１１０により隣接ブロックの変換係数又は符号化パラメータに基づいてデブロックフィルタを適用しないと判定される境界を対象として、ライン判定部１２０にラインごとの判定をスキップさせる。
【００８０】
また、例えば、判定制御部１５０は、判定の粒度、即ち判定の単位の大きさを動的に切り替えてもよい。より具体的には、判定制御部１５０は、ある画像についてはブロック判定部１１０によるブロック単位での判定のみを行わせてもよい。また、判定制御部１５０は、ブロック判定部１１０によるブロック単位での判定結果によらず、ライン判定部１２０にライン単位での判定を行わせてもよい。
【００８１】
ライン単位での判定が行われる場合には、フィルタリング前の画質がブロック内で一様ではなくラインごとにばらついていたとしても、その画質に合わせてライン単位でフィルタリングのオン／オフを切り替えることができる。その結果、フィルタリング後の画像の画質が向上される。一方、ブロック単位での判定のみが行われる場合には、フィルタリングされない境界について全てのラインへのアクセスが回避されるため、全体としての処理量が減少し、処理速度が向上し得る。従って、処理速度が優先される状況において、判定制御部１５０は、ブロック単位のみの判定を選択してもよい。
【００８２】
判定制御部１５０は、例えば、シーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に含まれるパラメータに基づいて、判定の粒度を動的に切り替えてもよい。例えば、ブロック単位の判定及びライン単位の判定のいずれかを指定するパラメータを、上述したヘッダ内で指定することができる。パラメータは、例えば、装置を開発するユーザごとの要件に応じて指定されてよい。その代わりに、判定制御部１５０は、例えば、入力画像のサイズなどの他の条件に応じて判定の粒度を切り替えてもよい。
【００８３】
［３−２．処理の流れ］
図７は、第１の実施例に係るデブロックフィルタ２４による処理の流れの一例を示すフローチャートである。図７のステップＳ１０２からステップＳ１１２までの処理は、入力画像内の全ての境界（垂直境界及び水平境界を含む）の各々について繰り返される。
【００８４】
まず、ブロック判定部１１０は、処理対象の１つの境界（以下、注目境界という）がブロック単位の判定条件（例えば、上述した判定条件Ａ）を満たすか否かを判定する（ステップＳ１０２）。ここで、ブロック単位の判定条件が満たされない場合には、その後のステップＳ１０４からステップＳ１１０までの処理はスキップされる。一方、ブロック単位の判定条件が満たされる場合には、処理はステップＳ１０４へ進む。
【００８５】
ステップＳ１０４からステップＳ１１０までの処理は、ブロック単位の判定条件を満たすと判定された境界の全てのラインの各々について繰り返される。ステップＳ１０４では、ライン判定部１２０は、処理対象の１つのライン（以下、注目ラインという）がライン単位の判定条件（例えば、上述した判定条件Ｂ´）を満たすか否かを判定する（ステップＳ１０４）。ここで、ライン単位の判定条件が満たされない場合には、その後のステップＳ１０６及びステップＳ１０８の処理はスキップされる。一方、ライン単位の判定条件が満たされる場合には、処理はステップＳ１０６へ進む。
【００８６】
ステップＳ１０６では、強度選択部１３０は、注目ラインに適用すべきフィルタの強度を、例えば上述した条件Ｃ１´〜Ｃ３に従って選択する（ステップＳ１０６）。
【００８７】
そして、フィルタリング部１４０は、注目ラインにデブロックフィルタを適用する（ステップＳ１０８）。
【００８８】
その後、注目境界に未処理のラインが残っている場合には、新たな注目ラインが設定され、処理はステップＳ１０４に戻る（ステップＳ１１０）。また、注目境界に未処理のラインが残っていない場合には、処理はステップＳ１１２へ進む。
【００８９】
ステップＳ１１２において、入力画像に未処理の境界が残っている場合には、新たな注目境界が設定され、処理はステップＳ１０２に戻る（ステップＳ１１２）。未処理の境界が残っていない場合には、入力画像についての処理は終了する。
【００９０】
なお、ブロック単位のみの判定が行われる場合には、図７のフローチャートのステップＳ１０４は省略され得る。また、色差成分については、図７のフローチャートのステップＳ１０４及びステップＳ１０６はスキップされ得る。
【００９１】
＜４．第２の実施例＞
［４−１．デブロックフィルタの構成例］
図８は、第２の実施例に係るデブロックフィルタ２４の詳細な構成の一例を示すブロック図である。図８を参照すると、デブロックフィルタ２４は、ブロック判定部１１０、ライン判定セクション２２０、強度選択セクション２３０、フィルタリングセクション２４０及び判定制御部１５０を有する。
【００９２】
（１）ライン判定セクション
ライン判定セクション２２０による処理は、ブロック判定部１１０においてブロック単位の判定条件を満たすと判定された境界の各々について行われ得る。ライン判定セクション２２０は、複数のライン判定部２２２−１〜２２２−ｎを含む。各ブロックのサイズが８×８画素である場合には、ｎ＝８であってよい（ｎ＝２又はｎ＝４などであってもよい）。ある１つの境界についてのライン判定部２２２−１〜２２２−ｎによる処理は、並列的に行われ得る。
【００９３】
第１ライン判定部２２２−１は、各境界と直交するラインのうち第１のラインについて、例えば上述した判定条件Ｂ´に従って、デブロックフィルタの適用の要否を判定する。そして、第１ライン判定部２２２−１は、第１のラインが判定条件Ｂ´を満たすと判定される場合に、第１ラインについて第１強度選択部２３２−１によるフィルタ強度の選択及び第１フィルタリング部２４２−１によるフィルタリングを行わせる。
【００９４】
また、第２ライン判定部２２２−２は、各境界と直交するラインのうち第２のラインについて、例えば上述した判定条件Ｂ´に従って、デブロックフィルタの適用の要否を判定する。そして、第２ライン判定部２２２−２は、第２のラインが判定条件Ｂ´を満たすと判定される場合に、第２ラインについて第２強度選択部２３２−２によるフィルタ強度の選択及び第２フィルタリング部２４２−２によるフィルタリングを行わせる。
【００９５】
同様に、第ｎライン判定部２２２−ｎは、各境界と直交するラインのうち第ｎのラインについて、例えば上述した判定条件Ｂ´に従って、デブロックフィルタの適用の要否を判定する。そして、第ｎライン判定部２２２−ｎは、第ｎのラインが判定条件Ｂ´を満たすと判定される場合に、第ｎラインについて第ｎ強度選択部２３２−ｎによるフィルタ強度の選択及び第ｎフィルタリング部２４２−ｎによるフィルタリングを行わせる。
【００９６】
（２）強度選択セクション
強度選択セクション２３０は、複数の強度選択部２３２−１〜２３２−ｎを含む。各強度選択部２３２は、対応するラインに適用されるデブロックフィルタの強度を、例えば上述した条件Ｃ１´〜Ｃ３に従って選択する。そして、各強度選択部２３２は、選択したフィルタ強度を表す情報（例えば、強フィルタ及び弱フィルタのいずれかを表すフラグ）を、フィルタリングセクション２４０の対応するフィルタリング部２４２へ出力する。ある１つの境界についての強度選択部２３２−１〜２３２−ｎによる処理は、並列的に行われ得る。
【００９７】
（３）フィルタリングセクション
フィルタリングセクション２４０は、複数のフィルタリング部２４２−１〜２４２−ｎを含む。各フィルタリング部２４２は、ブロック判定部１１０及び対応するライン判定部２２２による判定結果に応じて、各境界を挟んで隣接する２つの隣接ブロックの対応するラインにデブロックフィルタを適用する。各フィルタリング部２４２のフィルタの構成は、上述した既存の手法と同様であってよい。そして、各フィルタリング部２４２は、フィルタを適用した画素についてはフィルタリング後の画素値、その他の画素については入力画像の画素値を、出力画像の画素値として出力する。ある１つの境界についてのフィルタリング部２４２−１〜２４２−ｎによる処理は、並列的に行われ得る。
【００９８】
なお、本実施例においても、ブロック判定部１１０及びライン判定セクション２２０によるデブロックフィルタの適用の要否の判定は、第１の実施例と同様に判定制御部１５０により制御されてよい。例えば、判定制御部１５０は、隣接ブロック内の複数のラインを対象としてデブロックフィルタを適用するかを並列的に判定するように、ライン判定セクション２２０を制御し得る。
【００９９】
［４−２．処理の流れ］
図９は、第２の実施例に係るデブロックフィルタ２４による処理の流れの一例を示すフローチャートである。図９のステップＳ２０２からステップＳ２１２までの処理は、入力画像内の全ての境界（垂直境界及び水平境界を含む）の各々について繰り返される。
【０１００】
まず、ブロック判定部１１０は、１つの注目境界がブロック単位の判定条件（例えば、上述した判定条件Ａ）を満たすか否かを判定する（ステップＳ２０２）。ここで、ブロック単位の判定条件が満たされない場合には、その後のステップＳ２０４からステップＳ２０８までの処理はスキップされる。一方、ブロック単位の判定条件が満たされる場合には、処理はステップＳ２０４へ進む。
【０１０１】
次に、ライン判定部２２２−１〜２２２−ｎは、注目境界の各ラインがライン単位の判定条件（例えば、上述した判定条件Ｂ´）を満たすか否かを判定する（ステップＳ２０４）。
【０１０２】
次に、強度選択部２３２−１〜２３２−ｎは、注目境界のラインのうちライン判定部２２２−１〜２２２−ｎによりフィルタリングが必要と判定されたラインの各々に適用すべきフィルタの強度を、例えば上述した条件Ｃ１´〜Ｃ３に従って選択する（ステップＳ２０６）。
【０１０３】
そして、フィルタリング部２４２−１〜２４２−ｎは、注目境界のラインのうちライン判定部２２２−１〜２２２−ｎによりフィルタリングが必要と判定されたラインの各々にデブロックフィルタを適用する（ステップＳ２０８）。
【０１０４】
その後、入力画像に未処理の境界が残っている場合には、新たな注目境界が設定され、処理はステップＳ２０２に戻る（ステップＳ２１２）。未処理の境界が残っていない場合には、入力画像についての処理は終了する。
【０１０５】
なお、ブロック単位のみの判定が行われる場合には、図９のフローチャートのステップＳ２０４は省略され得る。また、色差成分については、図９のフローチャートのステップＳ２０４及びステップＳ２０６はスキップされ得る。
【０１０６】
＜５．第３の実施例＞
［５−１．デブロックフィルタの構成例］
上述した第1及び第２の実施例では、各ラインへのデブロックフィルタの適用の要否が、当該ライン（即ち、判定対象の各ライン）に属する参照画素値から算出されるパラメータ値を判定用閾値と比較することにより判定される。これに対し、本節で説明する第３の実施例では、パラメータ値の計算の繰り返しに伴う処理コストを低減するために、パラメータ値の推定の考え方が導入される。本実施例では、フィルタ強度の選択もまた、推定されるパラメータ値を用いて行われ得る。
【０１０７】
図１０は、第３の実施例に係るデブロックフィルタ２４の詳細な構成の一例を示すブロック図である。図１０を参照すると、デブロックフィルタ２４は、ブロック判定部１１０、ライン判定部３２０、強度選択部３３０、フィルタリング部１４０、制御部３５０及びパラメータ推定部３６０を有する。
【０１０８】
（１）パラメータ推定部
パラメータ推定部３６０は、ライン判定部３２０によるライン単位の判定の際に使用される判定用パラメータのうち、各境界と直交する少なくとも１つのラインについての判定用パラメータの値を計算する。そして、パラメータ推定部３６０は、上記少なくとも１つのラインについて計算した値から、他のラインについての判定用パラメータの値を推定する。また、パラメータ推定部３６０は、強度選択部３３０によるフィルタ強度の選択の際に使用される強度選択用パラメータの値を、判定用パラメータと同様に計算し及び推定する。以下の説明において、他のラインについてのパラメータ値の推定の基礎となる上記少なくとも１つのラインを基本ライン、パラメータ値が推定されるラインを推定ラインという。基本ラインから推定ラインへのパラメータ値の推定は、例えば、ライン位置に応じた線型又は非線形の内挿又は外挿によって行われてよい。以下、図１１Ａ〜図１１Ｃを用いて、パラメータ推定部３６０によるパラメータ推定処理の３つの例を説明する。
【０１０９】
（１−１）第１の例
図１１Ａを参照すると、境界を挟んで隣接する２つのブロックＢａ及びＢｂが示されている。図１１Ａの例において、基本ラインは、境界の中央部分で当該境界と直交する２つのラインＬ３及びＬ４である。推定ラインは、基本ライン以外のラインＬ０、Ｌ１、Ｌ２、Ｌ５、Ｌ６及びＬ７である。
【０１１０】
パラメータ推定部３６０は、例えば、上述したライン単位の判定条件Ｂ´を評価するための判定用パラメータｄ１ｉ（ｉは３又は４）を、次式に従って計算する：
ｄ１ｉ＝｜ｐ２ｉ−２ｐ１ｉ＋ｐ０ｉ｜＋｜ｑ２ｉ−２ｑ１ｉ＋ｑ０ｉ｜
そして、パラメータ推定部３６０は、計算した２つの判定用パラメータｄ１３及びｄ１４の値を用いて、例えば次の推定式に従って推定ラインについての判定用パラメータｄ１ｊ（ｊは０〜２、５〜７）を推定する。
ｄ１０＝４ｄ１３−３ｄ１４
ｄ１１＝３ｄ１３−２ｄ１４
ｄ１２＝２ｄ１３−１ｄ１４
ｄ１５＝２ｄ１４−１ｄ１３
ｄ１６＝３ｄ１４−２ｄ１３
ｄ１７＝４ｄ１４−３ｄ１３
なお、上記推定式に従って推定される推定値が負となる推定ラインについては、負の推定値の代わりに、当該推定ラインにより近い基本ラインについて計算されたパラメータ値が、そのまま推定値として扱われてもよい。
【０１１１】
同様に、パラメータ推定部３６０は、例えば、上述したフィルタ強度の選択における条件Ｃ２及びＣ３をそれぞれ評価するためのパラメータｄ２ｉ及びｄ３ｉ（ｉは３又は４）を、次式に従って計算する：
ｄ２ｉ＝｜ｐ３ｉ−ｐ０ｉ｜＋｜ｑ０ｊ−ｑ３ｊ｜
ｄ３ｉ＝｜ｐ０ｉ−ｑ０ｉ｜
そして、パラメータ推定部３６０は、計算した強度選択用パラメータｄ２３及びｄ２４の値を用いて、各推定ラインについてのパラメータ値ｄ２ｊ（ｊは０〜２、５〜７）を推定する。また、パラメータ推定部３６０は、計算した強度選択用パラメータｄ３３及びｄ３４の値を用いて、各推定ラインについてのパラメータ値ｄ３ｊ（ｊは０〜２、５〜７）を推定する。
【０１１２】
（１−２）第２の例
図１１Ｂの例において、基本ラインは、１ラインおきに設定されるラインＬ０、Ｌ２、Ｌ４及びＬ６である。推定ラインは、基本ライン以外のラインＬ１、Ｌ３、Ｌ５及びＬ７である。
【０１１３】
パラメータ推定部３６０は、例えば、上述したライン単位の判定条件Ｂ´を評価するための判定用パラメータｄ１ｉ（ｉは０、２、４又は６）を、第１の例に関連して上で説明した式に従って計算する。そして、パラメータ推定部３６０は、計算した判定用パラメータの値を用いた内挿又は外挿によって、各推定ラインについての判定用パラメータｄ１ｊ（ｊは１、３、５又は７）を推定する。パラメータ推定部３６０は、同様に、基本ラインについて、フィルタ強度の選択のためのパラメータｄ２ｉ及びｄ３ｉを計算する。そして、パラメータ推定部３６０は、計算した強度選択用パラメータの値を用いた内挿又は外挿によって、各推定ラインについての強度選択用パラメータｄ２ｊ及びｄ３ｊを推定する。
【０１１４】
（１−３）第３の例
図１１Ｃの例において、基本ラインは、ラインＬ０、Ｌ３、Ｌ４及びＬ７である。推定ラインは、基本ライン以外のラインＬ１、Ｌ２、Ｌ５及びＬ６である。
【０１１５】
パラメータ推定部３６０は、例えば、上述したライン単位の判定条件Ｂ´を評価するための判定用パラメータｄ１ｉ（ｉは０、３、４又は７）を、第１の例に関連して上で説明した式に従って計算する。そして、パラメータ推定部３６０は、計算した判定用パラメータの値を用いた内挿によって、各推定ラインについての判定用パラメータｄ１ｊ（ｊは１、２、５又は６）を推定する。パラメータ推定部３６０は、同様に、基本ラインについて、フィルタ強度の選択のためのパラメータｄ２ｉ及びｄ３ｉを計算する。そして、パラメータ推定部３６０は、計算した強度選択用パラメータの値を用いた内挿によって、各推定ラインについての強度選択用パラメータｄ２ｊ及びｄ３ｊを推定する。
【０１１６】
パラメータ推定部３６０は、例えば、これら３つの例のいずれかに従って計算し及び推定した判定用パラメータの値を、ライン判定部３２０へ出力する。また、パラメータ推定部３６０は、同様に計算し及び推定した強度選択用パラメータの値を、強度選択部３３０へ出力する。
【０１１７】
ここで、第１の例において設定される基本ラインは、境界の中央部分で当該境界と直交するラインである。これら基本ラインに属する画素の画素値は、当該境界と同じ方向に沿って適用されるデブロックフィルタによっては更新されない。このような基本ラインの画素値を用いてある境界と直交するラインについてのパラメータを計算し又は推定することで、ライン単位でのフィルタリング要否の判定及びフィルタ強度の選択を、他の境界についてのフィルタリング処理と並列的に行うことが可能となる。また、フィルタリング要否の判定とフィルタ強度の選択とが並列的に行われてもよい。一方、第２の例又は第３の例のような基本ラインの設定によれば、基本ラインと推定ラインとの間のライン位置の差がより小さいため、より高い精度でのパラメータ値の推定を実現することができる。第３の例によれば、最も外側のラインが基本ラインとして設定されるため、内挿のみによって推定ラインについてのパラメータ値を推定することで、推定の精度を一層高めることができる。
【０１１８】
（２）ライン判定部
ライン判定部３２０は、各境界と直交するラインごとに、当該境界を挟んで隣接する２つの隣接ブロックを対象としてデブロックフィルタを適用するか否かを判定する。本実施例において、ライン判定部３２０による判定は、パラメータ推定部３６０により計算され又は推定された判定用パラメータを用いて行われる。ライン単位の判定条件は、上述した判定条件Ｂ´と同様の条件であってよい。
−条件Ｂ´：
ｄ１ｉ＜（β>>１）
各ブロックのサイズが８×８画素であれば、ｉは、０≦ｉ≦７の整数である。
【０１１９】
ライン判定部３２０は、例えば、条件Ｂ´を満たすラインのみについて、強度選択部３３０によるフィルタ強度の選択を行わせてもよい。その代わりに、ライン判定部３２０による判定と強度選択部３３０によるフィルタ強度の選択とは、並列的に行われてもよい。ライン判定部３２０は、条件Ｂ´を満たさないラインについては、フィルタリング部１４０によるフィルタリングをスキップさせる。
【０１２０】
（３）強度選択部
強度選択部３３０は、フィルタリング部１４０により各ラインに適用されるデブロックフィルタの強度をラインごとに選択する。本実施例において、強度選択部３３０による強度選択は、パラメータ推定部３６０により計算され又は推定された強度選択用パラメータを用いて行われる。強度選択部３３０は、例えば、各ラインについて、以下の条件Ｃ１´〜Ｃ３が全て満たされる場合には強フィルタ、いずれか１つでも満たされない場合には弱フィルタを選択する。
（Ｃ１´）ｄ１ｉ＜（β>>３）
（Ｃ２）  ｄ２ｉ＜（β>>３）
（Ｃ３）  ｄ３ｉ＜（（５ｔＣ＋１）>>１）
なお、条件Ｃ１´から理解されるように、上述した判定用パラメータｄ１ｉは、この場合には強度選択用パラメータでもある。
【０１２１】
そして、強度選択部３３０は、選択したフィルタ強度を表す情報を、ラインごとにフィルタリング部１４０へ出力する。
【０１２２】
（５）制御部
制御部３５０は、第１及び第２の実施例の判定制御部１５０に関連して説明した制御に加えて、パラメータ推定部３６０によるパラメータ推定処理を制御する。例えば、制御部３５０は、処理対象のラインのライン位置を認識し、各ラインが基本ラインであるか推定ラインであるかを識別する。そして、制御部３５０は、まず、基本ラインの判定用パラメータｄ１並びに基本ラインの強度選択用パラメータｄ２及びｄ３の値を、当該基本ラインの画素値からそれぞれパラメータ推定部３６０に計算させる。その後、制御部３５０は、推定ラインの判定用パラメータｄ１並びに推定ラインの強度選択用パラメータｄ２及びｄ３の値を、基本ラインについて計算したパラメータ値からそれぞれパラメータ推定部３６０に推定させる。
【０１２３】
［５−２．処理の流れ］
図１２は、第３の実施例に係るデブロックフィルタ２４による処理の流れの一例を示すフローチャートである。図１２のステップＳ３０２からステップＳ３１８までの処理は、入力画像内の全ての境界（垂直境界及び水平境界を含む）の各々について繰り返される。
【０１２４】
まず、ブロック判定部１１０は、１つの注目境界がブロック単位の判定条件（例えば、上述した判定条件Ａ）を満たすか否かを判定する（ステップＳ３０２）。ここで、ブロック単位の判定条件が満たされない場合には、その後のステップＳ３０４からステップＳ３１６までの処理はスキップされる。一方、ブロック単位の判定条件が満たされる場合には、処理はステップＳ３０４へ進む。
【０１２５】
ステップＳ３０４において、パラメータ推定部３６０は、注目境界と直交する基本ラインについての判定用パラメータ及び強度選択用パラメータを、基本ラインに属する画素の画素値を用いて計算する（ステップＳ３０４）。ここでの基本ラインとは、例えば、図１１Ａ〜図１１Ｃに示した３つの例のいずれかのように設定される、１つ以上のラインであってよい。
【０１２６】
ステップＳ３０６からステップＳ３１６までの処理は、注目境界と直交するラインの各々を注目ラインとし、各注目ラインについて繰り返される。ステップＳ３０６では、制御部３５０は、注目ラインのライン位置を認識し、注目ラインが推定ラインであるかを判定する（ステップＳ３０６）。そして、注目ラインが推定ラインであれば、パラメータ推定部３６０は、当該注目ラインについての判定用パラメータ及び強度選択用パラメータを、基本ラインについて計算されたパラメータを用いてそれぞれ推定する（ステップＳ３０８）。一方、注目ラインが基本ラインであれば、ステップＳ３０８の処理はスキップされる。
【０１２７】
次に、ライン判定部３２０は、パラメータ推定部３６０により計算され又は推定された判定用パラメータを用いて、注目ラインがライン単位の判定条件（例えば、上述した判定条件Ｂ´）を満たすか否かを判定する（ステップＳ３１０）。ここで、ライン単位の判定条件が満たされない場合には、その後のステップＳ３１２及びステップＳ３１４の処理はスキップされ得る。一方、ライン単位の判定条件が満たされる場合には、処理はステップＳ３１２へ進む。
【０１２８】
ステップＳ３１２では、強度選択部３３０は、パラメータ推定部３６０により計算され又は推定された強度選択用パラメータを用いて、注目ラインに適用すべきフィルタの強度を、例えば上述した条件Ｃ１´〜Ｃ３に従って選択する（ステップＳ３１２）。
【０１２９】
そして、フィルタリング部１４０は、強度選択部３３０により選択されたフィルタ強度を有するデブロックフィルタを注目ラインに適用する（ステップＳ３１４）。
【０１３０】
その後、注目境界に未処理のラインが残っている場合には、新たな注目ラインが設定され、処理はステップＳ３０６に戻る（ステップＳ３１６）。また、注目境界に未処理のラインが残っていない場合には、処理はステップＳ３１８へ進む。
【０１３１】
ステップＳ３１８において、入力画像に未処理の境界が残っている場合には、新たな注目境界が設定され、処理はステップＳ３０２に戻る（ステップＳ３１８）。未処理の境界が残っていない場合には、入力画像についての処理は終了する。
【０１３２】
＜６．応用例＞
上述した実施形態に係る画像符号化装置１０及び画像復号装置６０は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０１３３】
［６−１．第１の応用例］
図１３は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０１３４】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１３５】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからＥＰＧ（Electronic  Program  Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０１３６】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０１３７】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのＧＵＩ（Graphical  User  Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０１３８】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はＯＬＥＤなど）の映像面上に映像又は画像を表示する。
【０１３９】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてＤ／Ａ変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０１４０】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送手段としての役割を有する。
【０１４１】
制御部９１０は、ＣＰＵ（Central  Processing  Unit）などのプロセッサ、並びにＲＡＭ（Random  Access  Memory）及びＲＯＭ（Read  Only  Memory）などのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、プログラムデータ、ＥＰＧデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０１４２】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０１４３】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０１４４】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置６０の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、デブロックフィルタを適用すべき範囲をより適切に判定し、画質を向上させることができる。
【０１４５】
［６−２．第２の応用例］
図１４は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０１４６】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０１４７】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０１４８】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをＡ／Ｄ変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１４９】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０１５０】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、ＵＳＢメモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０１５１】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記録再生部９２９の記憶媒体に記憶させる。
【０１５２】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号をアンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びＤ／Ａ変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０１５３】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置１０及び画像復号装置６０の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、デブロックフィルタを適用すべき範囲をより適切に判定し、画質を向上させることができる。
【０１５４】
［６−３．第３の応用例］
図１５は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０１５５】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、ＨＤＤ（Hard  Disk  Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、ＯＳＤ（On-Screen  Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０１５６】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送手段としての役割を有する。
【０１５７】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、ＩＥＥＥ１３９４インタフェース、ネットワークインタフェース、ＵＳＢインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送手段としての役割を有する。
【０１５８】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０１５９】
ＨＤＤ９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、ＨＤＤ９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０１６０】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばＤＶＤディスク（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等）又はＢｌｕ−ｒａｙ（登録商標）ディスクなどであってよい。
【０１６１】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをＨＤＤ９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、ＨＤＤ９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０１６２】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをＯＳＤ９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０１６３】
ＯＳＤ９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、ＯＳＤ９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を重畳してもよい。
【０１６４】
制御部９４９は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０１６５】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０１６６】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置１０の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置６０の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、デブロックフィルタを適用すべき範囲をより適切に判定し、画質を向上させることができる。
【０１６７】
［６−４．第４の応用例］
図１６は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０１６８】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０１６９】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、ＯＳＤ９６９、及び制御部９７０を相互に接続する。
【０１７０】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、ＣＣＤ又はＣＭＯＳなどのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０１７１】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０１７２】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、ＯＳＤ９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０１７３】
ＯＳＤ９６９は、例えばメニュー、ボタン又はカーソルなどのＧＵＩの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０１７４】
外部インタフェース９６６は、例えばＵＳＢ入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、ＬＡＮ又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送手段としての役割を有する。
【０１７５】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はＳＳＤ（Solid  State  Drive）のような非可搬性の記憶部が構成されてもよい。
【０１７６】
制御部９７０は、ＣＰＵなどのプロセッサ、並びにＲＡＭ及びＲＯＭなどのメモリを有する。メモリは、ＣＰＵにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にＣＰＵにより読み込まれ、実行される。ＣＰＵは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０１７７】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０１７８】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置１０及び画像復号装置６０の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、デブロックフィルタを適用すべき範囲をより適切に判定し、画質を向上させることができる。
【０１７９】
＜７．まとめ＞
ここまで、図１〜図１６を用いて、一実施形態に係る画像符号化装置１０及び画像復号装置６０のデブロックフィルタのいくつかの実施例について詳しく説明した。これら実施例によれば、画像内で境界を挟んで互いに隣接する２つの隣接ブロックを対象としてデブロックフィルタを適用するか否かがラインごとに判定され、その判定結果に応じて各ラインにデブロックフィルタが適用される。従って、ブロックごとにデブロックフィルタの適用の要否が判定される場合と比較して、より小さい粒度での判定が可能となる。それにより、良好な画質を既に有する部分にデブロックフィルタが適用される可能性、及び劣化した画質を有する部分にデブロックフィルタが適用されない可能性が低減される。即ち、フィルタリング後の画質を向上させることができる。
【０１８０】
また、本実施形態によれば、ブロック単位での判定に基づいてデブロックフィルタを適用すべきでないと判定される境界については、ラインごとの判定はスキップされ得る。かかる構成によれば、全体としてフィルタリングが必要でない境界について全ラインへのアクセスが回避されるため、処理量の増加を抑制することができる。
【０１８１】
また、第１及び第２の実施例によれば、各ラインにデブロックフィルタを適用するか否かは、当該ラインのみに属する参照画素値から算出される判定用パラメータの値を判定用閾値と比較することにより判定される。従って、ラインごとの判定を、各ラインに順次アクセスするという単純な構成で実現することができる。
【０１８２】
また、第２の実施例によれば、ある境界の複数のラインについて、デブロックフィルタの適用の要否は並列的に判定される。従って、ラインごとの判定に要する処理時間を全体として短縮することができる。
【０１８３】
また、第３の実施例によれば、ある境界と直交する複数のラインのうち、推定ラインについてフィルタリング要否を判定し又はフィルタ強度を選択するために使用されるパラメータ値が、基本ラインについて計算されたパラメータ値から推定される。従って、パラメータ値の計算の繰り返しに伴う処理コストを低減することができる。その際、境界の中央部分で当該境界と直交するラインを基本ラインとして設定することで、ある境界についてのライン単位でのフィルタリング要否の判定及びフィルタ強度の選択を、他の境界についてのフィルタリング処理と並列的に行うことが可能となる。また、基本ラインと推定ラインとの間のライン位置の差をより小さくすれば、より高い精度でのパラメータ値の推定を実現することができる。
【０１８４】
また、本実施形態によれば、ラインごとの判定を指定するパラメータがシーケンスパラメータセット、ピクチャパラメータセット又はスライスヘッダ内に含まれる場合に、デブロックフィルタの適用の要否がラインごとに判定され得る。かかる構成によれば、装置を開発するユーザは、ライン単位での判定による画質の向上及びブロック単位での判定による高い処理速度のうち望ましい方を、パラメータを介して指定することができる。
【０１８５】
なお、デブロックフィルタの処理単位のサイズ又はマクロブロックのサイズは、本明細書で説明した例に限定されず、他のサイズであってもよい。例えば、Ｈ．２６４／ＡＶＣのマクロブロックのサイズは１６×１６画素に固定されているのに対し、ＨＥＶＣの符号化単位のサイズはシーケンスごとに動的に指定され得る。ＨＥＶＣの符号化単位は符号化ツリーブロック（Coding  Tree  Block）とも呼ばれ、最大のサイズを有する符号化単位を最大符号化単位（ＬＣＵ：Largest  Coding  Unit）、最小のサイズを有する符号化単位を最小符号化単位（ＳＣＵ：Smallest  Coding  Unit）という。画像圧縮情報の一部であるシーケンスパラメータセットにおいてこれらＬＣＵ及びＳＣＵのサイズを指定することで、使用可能な符号化単位のサイズの範囲が定義される。さらに、split_flagの値を指定することで、個々のシーケンスにおいて使用される符号化単位のサイズが特定される。なお、符号化単位の形状は通常は正方形であり、一辺のサイズが２のべき乗で表現される。さらに、符号化単位は、イントラ予測又はインター予測の処理単位である予測単位（ＰＵ：Prediction  Unit）に分割され得る。また、符号化単位は、直交変換の処理単位である変換単位（ＴＵ：Transform  Unit）にも分割され得る。ＨＥＶＣでは、４×４画素及び８×８画素に加えて、１６×１６画素及び３２×３２画素のサイズを有する変換単位を使用することができる。本明細書におけるブロックとの用語は、マクロブロック、符号化単位、予測単位、変換単位又はそれ以外の様々なユニットの概念を含む。ブロックのサイズは固定的であってもよく、動的に変化してもよい。
【０１８６】
また、デブロックフィルタの処理のために使用される情報を符号化側から復号側に伝送する手法は、これら情報を符号化ストリームのヘッダに多重化する手法に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０１８７】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【符号の説明】
【０１８８】
１０，  ６０                      画像処理装置
１２０，２２２−１〜ｎ，３２０    ライン判定部
１３０，２３２−１〜ｎ，３３０    強度選択部
１４０，２４２−１〜ｎ            フィルタリング部
１５０，３５０                    制御部
３６０                            パラメータ推定部
【図１】
0006037064.tif 000002
【図２】
0006037064.tif 000003
【図３】
0006037064.tif 000004
【図４】
0006037064.tif 000005
【図５】
0006037064.tif 000006
【図６】
0006037064.tif 000007
【図７】
0006037064.tif 000008
【図８】
0006037064.tif 000009
【図９】
0006037064.tif 000010
【図１０】
0006037064.tif 000011
【図１１Ａ】
0006037064.tif 000012
【図１１Ｂ】
0006037064.tif 000013
【図１１Ｃ】
0006037064.tif 000014
【図１２】
0006037064.tif 000015
【図１３】
0006037064.tif 000016
【図１４】
0006037064.tif 000017
【図１５】
0006037064.tif 000018
【図１６】
0006037064.tif 000019