(57)【要約】【課題】処理時間の増大を抑制することができるようにする。【解決手段】処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部とを備えるようにする。本開示は画像処理装置に適用することができる。【選択図】図１１
2012213128.tif 000002
【特許請求の範囲】
【請求項１】
処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、
前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部と
を備える画像処理装置。
【請求項２】
前記画像処理は、適応ループフィルタ処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、
前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行う
請求項１に記載の画像処理装置。
【請求項３】
前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求める
請求項２に記載の画像処理装置。
【請求項４】
前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、
前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、
前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部と
を備える請求項３に記載の画像処理装置。
【請求項５】
前記テクスチャの複雑さを表す情報は、SML（Sum-Modified Laplacian）である
請求項４に記載の画像処理装置。
【請求項６】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出する
請求項４に記載の画像処理装置。
【請求項７】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
請求項４に記載の画像処理装置。
【請求項８】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
請求項４に記載の画像処理装置。
【請求項９】
前記算出部は、前記注目画素の上下左右に隣接する４画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出する
請求項４に記載の画像処理装置。
【請求項１０】
前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とする
請求項９に記載の画像処理装置。
【請求項１１】
前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定する
請求項４に記載の画像処理装置。
【請求項１２】
前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略する
請求項４に記載の画像処理装置。
【請求項１３】
前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行う
請求項２に記載の画像処理装置。
【請求項１４】
前記画像処理は、適応オフセット処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、
前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行う
請求項１に記載の画像処理装置。
【請求項１５】
前記画像処理部は、スライス毎に独立して、前記適応オフセット処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記周辺画素値を求める
請求項１４に記載の画像処理装置。
【請求項１６】
前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部と
を備える請求項１５に記載の画像処理装置。
【請求項１７】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定する
請求項１６に記載の画像処理装置。
【請求項１８】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定する
請求項１６に記載の画像処理装置。
【請求項１９】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定する
請求項１６に記載の画像処理装置。
【請求項２０】
前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行う
請求項１４に記載の画像処理装置。
【請求項２１】
画像処理装置の画像処理方法であって、
情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、
画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う
画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置および方法に関し、特に、処理時間の増大を抑制することができるようにした画像処理装置および方法に関する。
【背景技術】
【０００２】
近年、画像情報をデジタルとして取り扱い、その際、効率の高い情報の伝送、蓄積を目的とし、画像情報特有の冗長性を利用して、離散コサイン変換等の直交変換と動き補償により圧縮するMPEG（Moving Picture Experts Group）などの方式に準拠した装置が、放送局などの情報配信、及び一般家庭における情報受信の双方において普及しつつある。
【０００３】
特に、MPEG2（ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission） 13818-2）は、汎用画像符号化方式として定義されており、飛び越し走査画像及び順次走査画像の双方、並びに標準解像度画像及び高精細画像を網羅する標準で、プロフェッショナル用途及びコンシューマ用途の広範なアプリケーションに現在広く用いられている。MPEG2圧縮方式を用いることにより、例えば７２０×４８０画素を持つ標準解像度の飛び越し走査画像であれば４〜８Ｍｂｐｓ、１９２０×１０８８画素を持つ高解像度の飛び越し走査画像であれば１８〜２２Ｍｂｐｓの符号量（ビットレート）を割り当てることで、高い圧縮率と良好な画質の実現が可能である。
【０００４】
MPEG2は主として放送用に適合する高画質符号化を対象としていたが、MPEG1より低い符号量（ビットレート）、つまりより高い圧縮率の符号化方式には対応していなかった。携帯端末の普及により、今後そのような符号化方式のニーズは高まると思われ、これに対応してMPEG4符号化方式の標準化が行われた。画像符号化方式に関しては、１９９８年１２月にISO/IEC 14496-2としてその規格が国際標準に承認された。
【０００５】
更に、近年、当初テレビ会議用の画像符号化を目的として、H.26L （ITU-T（International Telecommunication Union Telecommunication Standardization Sector） Q6/16 VCEG（Video Coding Expert Group））という標準の規格化が進んでいる。H.26LはMPEG2やMPEG4といった従来の符号化方式に比べ、その符号化、復号化により多くの演算量が要求されるものの、より高い符号化効率が実現されることが知られている。また、現在、MPEG4の活動の一環として、このH.26Lをベースに、H.26Lではサポートされない機能をも取り入れ、より高い符号化効率を実現する標準化がJoint Model of Enhanced-Compression Video Codingとして行われている。
【０００６】
標準化のスケジュールとしては、２００３年３月にはH.264及びMPEG-4 Part10 （Advanced Video Coding、以下AVCと記す）という名の元に国際標準となった。
【０００７】
しかしながら、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；4000画素×2000画素）といった大きな画枠に対しては、最適ではない恐れがあった。
【０００８】
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-Tと、ISO/IECの共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている（例えば、非特許文献１参照）。
【０００９】
このHEVC符号化方式においては、AVCにおけるマクロブロックと同様の処理単位としてコーディングユニット（CU（Coding Unit））が定義されている。このCUは、AVCのマクロブロックのようにサイズが16×16画素に固定されず、それぞれのシーケンスにおいて、画像圧縮情報中において指定される。
【００１０】
ところで、このようは符号化方式で用いられるAdaptive Loop Filter(ALF)は、再構成画像に対してWienerフィルタを適用し、再構成画像に含まれるノイズを除去することで符号化効率および画質を改善することができる。
【００１１】
ALFを用いた手法の１つとして、デコーダでクラス分類が可能な情報を用いてフィルタ特性を切り替えることでフィルタの特性を局所的な状況に合わせるクラス分類ALFという方法が提案されている。クラス分類に用いる情報としては、次世代ビデオ符号化規格HEVC で検討されているクラス分類に用いる情報に、テクスチャの複雑さを得る演算子であるSML（Sum-Modified Laplacian）の大きさがある。SMLは、注目画素と周辺画素の差分を用いて算出される。
【００１２】
また、HEVCにおいては、非特許文献２で提案されている適応オフセットフィルタという方法が採用されている。HEVCにおいて、適応オフセットフィルタは、デブロックフィルタと適応ループフィルタの間に設けられる。
【００１３】
適応オフセットの種類としては、バンドオフセットと呼ばれるものが２種類、エッジオフセットと呼ばれるものが６種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットの種類により符号化するかを選択することができる。この方法を用いることで、符号化効率を向上させることができる。
【００１４】
このような適応オフセットフィルタのエッジオフセットにおいては、注目画素のオフセット値の算出に周辺画素値が参照される。
【００１５】
ところで、上述したAVCやHEVCのような画像符号化方式においては、例えば処理を並列化させるために、ピクチャを複数のスライスに分割し、スライス毎に処理を行う方法が用意されている。
【先行技術文献】
【非特許文献】
【００１６】
【非特許文献１】"Test Model under Consideration",JCTVC-B205,Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG112nd Meeting:Geneva,CH,21-28 July, 2010
【非特許文献２】”CE8 Subtest 3:Picture Quality Adaptive Offset”,JCTVC-D122,2011年１月
【発明の概要】
【発明が解決しようとする課題】
【００１７】
しかしながら、ALFのクラス分類のために用いる情報（例えば再構成画像の画素値）が、処理対象である注目スライスと異なるスライスにある場合、処理対象である注目画素のフィルタ処理に必要な情報が他のスライスにある（注目スライスにない）ため、そのスライスの処理が完了しないと注目画素の処理を開始することができなくなってしまう。
【００１８】
また、同様に、適応オフセットフィルタ処理において、参照される周辺画素が注目スライスと異なるスライスにある場合、その周辺画素のスライスの処理が完了するまで注目画素のエッジオフセットのオフセット値を算出することができなくなってしまう。
【００１９】
つまり、例えば、注目画素が注目スライスの端に存在し、参照される周辺画素が他のスライス（周辺スライス）に位置する場合、その周辺スライスの処理が終了するまで、注目画素（若しくは注目スライス全体）の処理を開始することができない。このような場合、周辺スライスと注目スライスとを並列に処理することができないので、処理時間が増大し、スループットが低減する恐れがあった。
【００２０】
本開示は、このような状況に鑑みてなされたものであり、ピクチャを複数のスライスに分割し、そのスライス毎に並列に処理を行う画像の符号化において、周辺画素を参照して注目画素を処理する場合であっても処理時間の増大を抑制することができるようにすることを目的とする。
【課題を解決するための手段】
【００２１】
本開示の一側面は、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部とを備える画像処理装置である。
【００２２】
前記画像処理は、適応ループフィルタ処理であり、前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行うことができる。
【００２３】
前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求めることができる。
【００２４】
前記情報制御部は、前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部とを備えることができる。
【００２５】
前記テクスチャの複雑さを表す情報は、SML（Sum-Modified Laplacian）であるようにすることができる。
【００２６】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出することができる。
【００２７】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出することができる。
【００２８】
前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出することができる。
【００２９】
前記算出部は、前記注目画素の上下左右に隣接する４画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出することができる。
【００３０】
前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とすることができる。
【００３１】
前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定することができる。
【００３２】
前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略することができる。
【００３３】
前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行うことができる。
【００３４】
前記画像処理は、適応オフセット処理であり、前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行うことができる。
【００３５】
前記情報制御部は、前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部とを備えることができる。
【００３６】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定することができる。
【００３７】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定することができる。
【００３８】
前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定することができる。
【００３９】
前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行うことができる。
【００４０】
本開示の一側面は、また、画像処理装置の画像処理方法であって、情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う。
【００４１】
本開示の一側面においては、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる注目画素に対する画像処理に必要な情報が、注目画素を含むスライスに属する情報のみを用いて求められ、その求められた情報を用いて画像処理が行われる。
【発明の効果】
【００４２】
本開示によれば、画像を処理することができる。特に、処理時間の増大を抑制することができる。
【図面の簡単な説明】
【００４３】
【図１】画像符号化装置の主な構成例を示すブロック図である。
【図２】マルチスライスを説明する図である。
【図３】コーディングユニットを説明する図である。
【図４】スライスとコーディングユニットの関係を説明する図である。
【図５】スライスとコーディングユニットの関係を説明する図である。
【図６】クラス分類ALFを説明する図である。
【図７】マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の例を示す図である。
【図８】マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、他の例を示す図である。
【図９】マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、さらに他の例を示す図である。
【図１０】マルチスライスにおけるクラス分類ALFの注目領域と周辺領域の位置の、さらに他の例を示す図である。
【図１１】適応ループフィルタおよびフィルタ係数制御部の主な構成例を示すブロック図である。
【図１２】符号化処理の流れの例を説明するフローチャートである。
【図１３】適応ループフィルタ処理の流れの例を説明するフローチャートである。
【図１４】SML算出処理の流れの例を説明するフローチャートである。
【図１５】画像復号装置の主な構成例を示すブロック図である。
【図１６】適応ループフィルタおよびフィルタ係数制御部の主な構成例を示すブロック図である。
【図１７】復号処理の流れの例を説明するフローチャートである。
【図１８】適応ループフィルタ処理の流れの例を説明するフローチャートである。
【図１９】quad-tree構造を説明する図である。
【図２０】エッジオフセットを説明する図である。
【図２１】エッジオフセットの規則一覧表を示す図である。
【図２２】画像符号化装置の他の構成例を示すブロック図である。
【図２３】適応オフセット部の主な構成例を示すブロック図である。
【図２４】エッジオフセット演算部および周辺画素値制御部の主な構成例を示すブロック図である。
【図２５】符号化処理の流れの他の例を説明するフローチャートである。
【図２６】適応オフセット処理の流れの例を説明するフローチャートである。
【図２７】エッジオフセット処理の流れの例を説明するフローチャートである。
【図２８】画像復号装置の他の構成例を示すブロック図である。
【図２９】適応オフセット部の主な構成例を示すブロック図である。
【図３０】復号処理の流れの他の例を説明するフローチャートである。
【図３１】適応オフセット処理の流れの例を説明するフローチャートである。
【図３２】パーソナルコンピュータの主な構成例を示すブロック図である。
【図３３】テレビジョン装置の概略的な構成の一例を示すブロック図である。
【図３４】携帯電話機の概略的な構成の一例を示すブロック図である。
【図３５】記録再生装置の概略的な構成の一例を示すブロック図である。
【図３６】撮像装置の概略的な構成の一例を示すブロック図である。
【発明を実施するための形態】
【００４４】
以下、本技術を実施するための形態（以下実施の形態とする）について説明する。なお、説明は以下の順序で行う。
１．第１の実施の形態（画像符号化装置）
２．第２の実施の形態（画像復号装置）
３．第３の実施の形態（画像符号化装置）
４．第４の実施の形態（画像復号装置）
５．第５の実施の形態（パーソナルコンピュータ）
６．第６の実施の形態（テレビジョン受像機）
７．第７の実施の形態（携帯電話機）
８．第８の実施の形態（記録再生装置）
９．第９の実施の形態（撮像装置）
【００４５】
＜１．第１の実施の形態＞
［画像符号化装置］
図１は、画像符号化装置の主な構成例を示すブロック図である。
【００４６】
図１に示される画像符号化装置１００は、H．264及びMPEG（Moving Picture Experts Group）4 Part10（AVC（Advanced Video Coding））符号化方式のように、予測処理を用いて画像データを符号化する。
【００４７】
図１に示されるように画像符号化装置１００は、A/D変換部１０１、画面並べ替えバッファ１０２、演算部１０３、直交変換部１０４、量子化部１０５、可逆符号化部１０６、および蓄積バッファ１０７を有する。また、画像符号化装置１００は、逆量子化部１０８、逆直交変換部１０９、演算部１１０、デブロックフィルタ１１１、適応ループフィルタ１１２、フレームメモリ１１３、選択部１１４、イントラ予測部１１５、動き予測・補償部１１６、予測画像選択部１１７、およびレート制御部１１８を有する。
【００４８】
画像符号化装置１００は、さらに、フィルタ係数制御部１２１を有する。
【００４９】
A/D変換部１０１は、入力された画像データをA/D変換し、変換後の画像データ（デジタルデータ）を、画面並べ替えバッファ１０２に供給し、記憶させる。画面並べ替えバッファ１０２は、記憶した表示の順番のフレームの画像を、GOP（Group Of Picture）に応じて、符号化のためのフレームの順番に並べ替え、フレームの順番を並び替えた画像を、演算部１０３に供給する。また、画面並べ替えバッファ１０２は、フレームの順番を並び替えた画像を、イントラ予測部１１５および動き予測・補償部１１６にも供給する。
【００５０】
演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、予測画像選択部１１７を介してイントラ予測部１１５若しくは動き予測・補償部１１６から供給される予測画像を減算し、その差分情報を直交変換部１０４に出力する。
【００５１】
例えば、インター符号化が行われる画像の場合、演算部１０３は、画面並べ替えバッファ１０２から読み出された画像から、動き予測・補償部１１６から供給される予測画像を減算する。
【００５２】
直交変換部１０４は、演算部１０３から供給される差分情報に対して、離散コサイン変換やカルーネン・レーベ変換等の直交変換を施す。なお、この直交変換の方法は任意である。直交変換部１０４は、その変換係数を量子化部１０５に供給する。
【００５３】
量子化部１０５は、直交変換部１０４から供給される変換係数を量子化する。量子化部１０５は、レート制御部１１８から供給される符号量の目標値に関する情報に基づいて量子化パラメータを設定し、その量子化を行う。なお、この量子化の方法は任意である。量子化部１０５は、量子化された変換係数を可逆符号化部１０６に供給する。
【００５４】
可逆符号化部１０６は、量子化部１０５において量子化された変換係数を任意の符号化方式で符号化する。係数データは、レート制御部１１８の制御の下で量子化されているので、この符号量は、レート制御部１１８が設定した目標値となる（若しくは目標値に近似する）。
【００５５】
また、可逆符号化部１０６は、イントラ予測のモードを示す情報などをイントラ予測部１１５から取得し、インター予測のモードを示す情報や動きベクトル情報などを動き予測・補償部１１６から取得する。さらに、可逆符号化部１０６は、適応ループフィルタ１１２から供給されるalf_flag等を取得する。
【００５６】
可逆符号化部１０６は、これらの各種情報を任意の符号化方式で符号化し、符号化データのヘッダ情報の一部とする（多重化する）。可逆符号化部１０６は、符号化して得られた符号化データを蓄積バッファ１０７に供給して蓄積させる。
【００５７】
可逆符号化部１０６の符号化方式としては、例えば、可変長符号化または算術符号化等が挙げられる。可変長符号化としては、例えば、H．264/AVC方式で定められているCAVLC（Context-Adaptive Variable Length Coding）などが挙げられる。算術符号化としては、例えば、CABAC（Context-Adaptive Binary Arithmetic Coding）などが挙げられる。
【００５８】
蓄積バッファ１０７は、可逆符号化部１０６から供給された符号化データを、一時的に保持する。蓄積バッファ１０７は、所定のタイミングにおいて、保持している符号化データを、例えば、後段の図示せぬ記録装置（記録媒体）や伝送路などに出力する。
【００５９】
また、量子化部１０５において量子化された変換係数は、逆量子化部１０８にも供給される。逆量子化部１０８は、その量子化された変換係数を、量子化部１０５による量子化に対応する方法で逆量子化する。この逆量子化の方法は、量子化部１０５による量子化処理に対応する方法であればどのような方法であってもよい。逆量子化部１０８は、得られた変換係数を、逆直交変換部１０９に供給する。
【００６０】
逆直交変換部１０９は、逆量子化部１０８から供給された変換係数を、直交変換部１０４による直交変換処理に対応する方法で逆直交変換する。この逆直交変換の方法は、直交変換部１０４による直交変換処理に対応する方法であればどのようなものであってもよい。逆直交変換された出力（復元された差分情報）は、演算部１１０に供給される。
【００６１】
演算部１１０は、逆直交変換部１０９から供給された逆直交変換結果、すなわち、復元された差分情報に、予測画像選択部１１７を介してイントラ予測部１１５若しくは動き予測・補償部１１６から供給される予測画像を加算し、局部的に復号された画像（復号画像）を得る。その復号画像は、デブロックフィルタ１１１またはフレームメモリ１１３に供給される。
【００６２】
デブロックフィルタ１１１は、復号画像に対してデブロックフィルタ処理を行うことにより復号画像のブロック歪を除去する。デブロックフィルタ１１１は、フィルタ処理後の復号画像を適応ループフィルタ１１２に供給する。
【００６３】
適応ループフィルタ１１２は、デブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。適応ループフィルタ１１２は、処理対象である注目画素をクラス分類し、そのクラスに応じたフィルタ係数を用いて注目画素のフィルタ処理を行うクラス分類ALFを行う。なお、適応ループフィルタ１１２は、このフィルタ処理を、スライス毎に行う。
【００６４】
適応ループフィルタ１１２は、フィルタ処理結果（フィルタ処理後の復号画像）をフレームメモリ１１３に供給する。なお、上述したように、演算部１１０から出力される復号画像は、デブロックフィルタ１１１および適応ループフィルタ１１２を介さずにフレームメモリ１１３に供給することができる。例えば、イントラ予測に用いられる参照画像用として、デブロックフィルタ１１１および適応ループフィルタ１１２によるフィルタ処理が省略された画像がフレームメモリ１１３に記憶される。
【００６５】
フレームメモリ１１３は、供給される復号画像を記憶し、所定のタイミングにおいて、記憶している復号画像を参照画像として、選択部１１４に供給する。
【００６６】
選択部１１４は、フレームメモリ１１３から供給される参照画像の供給先を選択する。例えば、イントラ予測の場合、選択部１１４は、フレームメモリ１１３から供給される参照画像をイントラ予測部１１５に供給する。また、例えば、インター予測の場合、選択部１１４は、フレームメモリ１１３から供給される参照画像を動き予測・補償部１１６に供給する。
【００６７】
イントラ予測部１１５は、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１４を介してフレームメモリ１１３から供給される参照画像とを用いて、基本的にPUを処理単位として、イントラ予測（画面内予測）を行う。イントラ予測部１１５は、最適なイントラ予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１７に供給する。また、上述したように、イントラ予測部１１５は、採用されたイントラ予測モードを示すイントラ予測モード情報等を、適宜可逆符号化部１０６に供給し、符号化させる。
【００６８】
動き予測・補償部１１６は、画面並べ替えバッファ１０２から供給される入力画像と、選択部１１４を介してフレームメモリ１１３から供給される参照画像とを用いて、基本的にPUを処理単位として、動き予測（インター予測）を行い、検出された動きベクトルに応じて動き補償処理を行い、予測画像（インター予測画像情報）を生成する。動き予測・補償部１１６は、予め用意された複数のモード（インター予測モード）でこのようなインター予測を行う。
【００６９】
動き予測・補償部１１６は、候補となる全てのインター予測モードで予測画像を生成し、各予測画像のコスト関数値を評価し、最適なモードを選択する。動き予測・補償部１１６は、最適なインター予測モードを選択すると、その最適なモードで生成された予測画像を、予測画像選択部１１７に供給する。
【００７０】
また、動き予測・補償部１１６は、採用されたインター予測モードを示す情報や、符号化データを復号する際に、そのインター予測モードで処理を行うために必要な情報等を可逆符号化部１０６に供給し、符号化させる。
【００７１】
予測画像選択部１１７は、演算部１０３や演算部１１０に供給する予測画像の供給元（イントラ予測部１１５若しくは動き予測・補償部１１６）を選択し、選択した処理部から供給される予測画像を演算部１０３や演算部１１０に供給する。
【００７２】
レート制御部１１８は、蓄積バッファ１０７に蓄積された符号化データの符号量に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【００７３】
フィルタ係数制御部１２１は、適応ループフィルタ１１２が行うフィルタ処理のフィルタ係数の設定を行う。フィルタ係数制御部１２１は、処理対象である注目画素のクラス分類を行い、そのクラスに応じたフィルタ係数を設定する。フィルタ係数制御部１２１は、このフィルタ係数の設定（クラス分類）を、処理対象である注目画素が属する注目スライス外の他のスライスの情報を用いずに行う。つまり、フィルタ係数制御部１２１は、フィルタ係数の設定の際に、スライス単位の処理の独立性を確保する。
【００７４】
［マルチスライス］
MPEG2やAVC等の画像符号化方式においては、１ピクチャを複数のスライスに分割し、各スライスを並行して処理することができる（マルチスライス）。
【００７５】
MPEG2の場合、図２Ａの例に示されるように、スライスの最大の大きさは１マクロブロックラインであり、また、Ｂピクチャを構成するスライスは全てＢスライスでなければならない。
【００７６】
これに対してAVCの場合、図２Ｂの例に示されるように、スライスは１マクロブロックラインより大きくてもよく、スライスの境界はマクロブロックラインの右端（画面右端）でなくてもよく、また、単一のピクチャが異なる種類のスライスにより構成されていても良い。
【００７７】
AVCの場合、デブロックフィルタ処理はスライス境界を跨って実行することができる。ただし、適応ループフィルタ処理、イントラ予測、CABAC、CAVLC、および動きベクトルの予測等のような隣接情報を用いた処理は、スライス境界を跨って実行することが出来ない。
【００７８】
換言するに、各スライスの符号化処理は互いに独立して実行することができるので、１ピクチャを複数のスライスに分割し、各スライスを並列に符号化することが可能になる。つまり、このようなスライス分割により、符号化処理時間の低減（符号化処理の高速化）を実現することができる。
【００７９】
［コーディングユニット］
ところで、AVC符号化方式においては、マクロブロックやそのマクロブロックを複数に分割したサブマクロブロックを予測処理や符号化処理等の処理単位としていた。しかしながら、マクロブロックサイズを１６画素×１６画素とするのは、次世代符号化方式の対象となるような、UHD（Ultra High Definition；４０００画素×２０００画素）といった大きな画枠に対しては、最適ではない。
【００８０】
そこで、現在、AVCより更なる符号化効率の向上を目的として、ITU-T（International Telecommunication Union Telecommunication Standardization Sector）と、ISO（International Organization for Standardization）/IEC（International Electrotechnical Commission）の共同の標準化団体であるJCTVC（Joint Collaboration Team - Video Coding）により、HEVC（High Efficiency Video Coding）と呼ばれる符号化方式の標準化が進められている。
【００８１】
AVCにおいては、マクロブロックとサブマクロブロックによる階層構造が規定されているが、HEVCにおいては、図３に示されるように、コーディングユニット（CU（Coding Unit））が規定されている。
【００８２】
CUは、Coding Tree Block（CTB）とも呼ばれ、AVCにおけるマクロブロックと同様の役割を果たす、ピクチャ単位の画像の部分領域である。後者は、１６×１６画素の大きさに固定されているのに対し、前者の大きさは固定されておらず、それぞれのシーケンスにおいて、画像圧縮情報中において指定されることになる。
【００８３】
例えば、出力となる符号化データに含まれるシーケンスパラメータセット（SPS（Sequence Parameter Set））において、CUの最大サイズ（LCU（Largest Coding Unit））と最小サイズ（（SCU（Smallest Coding Unit））が規定される。
【００８４】
それぞれのLCU内においては、SCUのサイズを下回らない範囲で、split-flag=1とすることにより、より小さなサイズのCUに分割することができる。図３の例では、LCUの大きさが１２８であり、最大階層深度が５となる。２Ｎ×２Ｎの大きさのCUは、split_flagの値が「１」である時、１つ下の階層となる、Ｎ×Ｎの大きさのCUに分割される。
【００８５】
更に、CUは、イントラ若しくはインター予測の処理単位となる領域（ピクチャ単位の画像の部分領域）であるプレディクションユニット（Prediction Unit（PU））に分割され、また、直交変換の処理単位となる領域（ピクチャ単位の画像の部分領域）である、トランスフォームユニット（Transform Unit（TU））に分割される。現在、HEVCにおいては、４×４及び８×８に加え、１６×１６及び３２×３２直交変換を用いることが可能である。
【００８６】
以上のHEVCのように、CUを定義し、そのCUを単位として各種処理を行うような符号化方式の場合、AVCにおけるマクロブロックはLCUに相当すると考えることができる。ただし、CUは図３に示されるように階層構造を有するので、その最上位階層のLCUのサイズは、例えば128×128画素のように、AVCのマクロブロックより大きく設定されることが一般的である。
【００８７】
マクロブロックの代わりに、このようなCU、PU、およびTU等を用いる符号化方式にも、本開示を適用することができる。すなわち、予測処理を行う処理単位は任意の領域であってもよい。つまり、以下において、予測処理の処理対象の領域（当該領域や注目領域とも称する）や、その注目領域の周辺に位置する領域である周辺領域には、このようなマクロブロックやサブマクロブロックだけでなく、CU、PU、およびTU等が含まれる。
【００８８】
以上のようなLCU（CU、PU、およびTU）は、スライスの領域を複数に分割したものであり、スライスの下位層に属する。つまり、図２に説明したようなマルチスライスの場合、図４に示されるように、LCUは、いずれかのスライス内に含まれる。
【００８９】
図５に示されるように、LCUの先頭アドレスは、各スライスの先頭からの相対位置で指定される。LCU内の各領域（CU、PU、およびTU）は、識別情報とサイズが指定される。つまり、各画素の位置は、それらの情報から特定可能である。従って、処理対象である注目画素やその周辺画素の位置、並びに、注目スライスの範囲は、それらの情報から容易に特定することができる。換言するに、周辺画素が注目スライスに属するか否か（availableであるかunavailableであるか）は、容易に特定可能である。
【００９０】
［フィルタ係数の演算］
フィルタ係数制御部１２１は、利用可能（available）な情報のみを用いて、注目画素に対する適応ループフィルタ処理に用いられるフィルタ係数を求める。より具体的には、フィルタ係数制御部１２１は、注目画素をクラス分類し、その分類したクラスに応じた値を、注目画素に対するフィルタ係数として設定する。このクラス分類のために、フィルタ係数制御部１２１は、SML（Sum-Modified Laplacian）を算出する。SMLは、テクスチャの複雑さを得る演算子である。つまり、フィルタ係数制御部１２１は、このSMLの大きさに応じて注目画素をクラス分類する。
【００９１】
フィルタ係数制御部１２１は、このSMLを、利用可能（available）な情報のみを用いて算出する。例えば、フィルタ係数制御部１２１は、注目画素の画素値と、注目画素の周辺に位置する利用可能（available）な周辺画素の画素値を用いて算出する。この周辺画素は、利用可能（available）なものであればどのような画素であってもよいが、基本的に、注目画素により近い位置の画素ほど相関性が高く、望ましい。
【００９２】
例えば、フィルタ係数制御部１２１は、図６に示されるように、注目画素（ｉ，ｊ）の画素値Ｒ（ｉ，ｊ）、注目画素の左に隣接する周辺画素の画素値Ｒ（ｉ−１，ｊ）、注目画素の右に隣接する周辺画素の画素値Ｒ（ｉ＋１，ｊ）、注目画素の上に隣接する周辺画素の画素値Ｒ（ｉ，ｊ−１）、および、注目画素の下に隣接する周辺画素の画素値Ｒ（ｉ，ｊ＋１）を用いて、注目画素のSML（ｉ，ｊ）を以下の式（１）のように算出する。なお、位置（ｉ，ｊ）の画素の画素値をＲ（ｉ，ｊ）とする。
【００９３】
SML（ｉ，ｊ）＝｜２×Ｒ（ｉ，ｊ）−Ｒ（ｉ−１，ｊ）−Ｒ（ｉ＋１，ｊ）｜
＋｜２×Ｒ（ｉ，ｊ）−Ｒ（ｉ，ｊ−１）−Ｒ（ｉ，ｊ＋１）｜
・・・（１）
【００９４】
フィルタ係数制御部１２１は、このSML（ｉ，ｊ）の大きさに基づいて注目画素をクラス分類し、そのクラスに応じた値を、注目画素に対するフィルタ係数として設定する。
【００９５】
［マルチスライスのクラス分類ALF］
以上のように、クラス分類ALFにおいては、注目画素のクラス分類の際に周辺画素の画素値が参照される。しかしながら、上述したようなマルチスライスの場合、参照される可能性のある周辺画素が注目画素と異なるスライスに位置する可能性がある。
【００９６】
図７乃至図１０にマルチスライスと、クラス分類ALFの注目領域および周辺領域の位置関係の例を示す。
【００９７】
図７は、注目画素（ｉ，ｊ）とその上下左右に隣接する周辺画素が、全て１つのスライス（スライス１）内に位置する（注目スライスに属する）様子を示している。なお、ｉは、画素の横方向の位置を示し、ｊは、画素の縦方向の位置を示す。また、スライスの左上端を原点（０，０）とする。
【００９８】
この場合、フィルタ係数制御部１２１は、注目画素のクラス分類（SML算出）において、全ての周辺画素の画素値を参照することができる（availableである）。
【００９９】
図８は、注目画素（ｉ，ｊ）、注目画素の下に隣接する周辺画素（ｉ，ｊ＋１）、注目画素の左に隣接する周辺画素（ｉ−１，ｊ）、および、注目画素の右に隣接する周辺画素（ｉ＋１，ｊ）、がスライス１内に位置する（注目スライスに属する）が、注目画素の上に隣接する周辺画素（ｉ，ｊ−１）は、スライス０内に位置する（注目スライスに属さない）様子を示している。
【０１００】
この場合、フィルタ係数制御部１２１は、周辺画素（ｉ，ｊ＋１）、周辺画素（ｉ−１，ｊ）、および、周辺画素（ｉ＋１，ｊ）を参照することはできる（availableである）が、周辺画素（ｉ，ｊ−１）を参照することはできない（unavailableである）。
【０１０１】
図９は、注目画素（ｉ，ｊ）、注目画素の上に隣接する周辺画素（ｉ，ｊ−１）、注目画素の左に隣接する周辺画素（ｉ−１，ｊ）、および、注目画素の右に隣接する周辺画素（ｉ＋１，ｊ）、がスライス１内に位置する（注目スライスに属する）が、注目画素の下に隣接する周辺画素（ｉ，ｊ＋１）は、ピクチャまたはフレーム外に位置する（存在しない）様子を示している。
【０１０２】
この場合、フィルタ係数制御部１２１は、周辺画素（ｉ，ｊ−１）、周辺画素（ｉ−１，ｊ）、および、周辺画素（ｉ＋１，ｊ）を参照することはできる（availableである）が、周辺画素（ｉ，ｊ＋１）を参照することはできない（unavailableである）。
【０１０３】
図１０は、注目画素（ｉ，ｊ）、注目画素の上に隣接する周辺画素（ｉ，ｊ−１）、注目画素の下に隣接する周辺画素（ｉ，ｊ＋１）、および、注目画素の右に隣接する周辺画素（ｉ＋１，ｊ）、がスライス１内に位置する（注目スライスに属する）が、注目画素の左に隣接する周辺画素（ｉ−１，ｊ）は、スライス０内に位置する（注目スライスに属さない）様子を示している。
【０１０４】
この場合、フィルタ係数制御部１２１は、周辺画素（ｉ，ｊ−１）、周辺画素（ｉ，ｊ＋１）、および、周辺画素（ｉ＋１，ｊ）を参照することはできる（availableである）が、周辺画素（ｉ−１，ｊ）を参照することはできない（unavailableである）。
【０１０５】
なお、図９に示されるように、スライス境界には、スライス間の境界の他に、ピクチャ端も含まれる。重要なことは、周辺画素の画素値が利用可能（available）であるか否か、すなわち、周辺画素が注目スライスに含まれるか否かということである。したがって、周辺画素の画素値が利用不可能（unavailable）な状態には、その周辺画素が他のスライスに属する場合の他に、その周辺画素が存在しない（ピクチャの外に位置することになる）場合も含まれる。
【０１０６】
なお、例えば、周辺画素（ｉ，ｊ−１）と周辺画素（ｉ−１，ｊ）とが利用不可能となる等、複数の周辺画素が注目スライスに含まれない場合も考えられる。つまり、スライス境界と注目画素との位置関係は、図７乃至図１０に示される例に限定されない。
【０１０７】
図８乃至図１０に示されるように、少なくとも一部の周辺画素の画素値が利用不可能（unavailable）な場合、フィルタ係数制御部１２１は、その画素値を用いずに注目画素のSMLの算出を行う。
【０１０８】
このSMLは、テクスチャの複雑さを得る演算子であるので、注目領域の周辺画素との画素値の相関性の強さを示すパラメータとも言える。そこで、フィルタ係数制御部１２１は、利用不可能（unavailable）な周辺画素の画素値の代わりに、例えば、画素間の画素値の相関性を利用して、その周辺画素の近傍に位置する利用可能（available）な画素（周辺画素に隣接する画素を含む）の画素値を用いてSMLを算出するようにしてもよい。さらに、その近傍の画素として、フィルタ係数制御部１２１は、例えば、注目画素の画素値を用いてSMLを算出するようにしてもよい。
【０１０９】
さらに、例えば、フィルタ係数制御部１２１は、演算を容易にするために、利用不可能（unavailable）な周辺画素の画素値の代わりに、所定の固定値を用いて、SMLの算出を行うようにしてもよい。
【０１１０】
もちろん、これら以外の方法であっても良い。例えば、フィルタ係数制御部１２１は、利用不可能（unavailable）な周辺画素の画素値の代わりとする値を、１つ若しくは複数の他の利用可能（available）な画素の画素値を用いて、所定の演算により算出するようにし、その値を用いてSMLを算出するようにしてもよい。
【０１１１】
このようにすることにより、フィルタ係数制御部１２１は、各画素のSMLの算出、すなわち、クラス分類やフィルタ係数の算出を、他のスライスの情報を参照せずに行うことができる。つまり、フィルタ係数制御部１２１は、これらの処理を、スライス毎に独立して行うことができる。従って、適応ループフィルタ１１２は、適応ループフィルタ処理を、スライス毎に独立に行うことができ、マルチスライスの場合であっても、適応ループフィルタ処理のスループットの低減を抑制することができる。つまり、画像符号化装置１００は、符号化処理の処理時間の増大を抑制することができる。
【０１１２】
［適応ループフィルタおよびフィルタ係数制御部］
図１１は、適応ループフィルタ１１２およびフィルタ係数制御部１２１の主な構成例を示すブロック図である。
【０１１３】
図１１に示されるように、適応ループフィルタ１１２は、制御部１３１およびフィルタ処理部１３２を有する。
【０１１４】
また、フィルタ係数制御部１２１は、位置判定部１４１、SML算出部１４２、クラス分類部１４３、フィルタ係数設定部１４４を有する。
【０１１５】
制御部１３１は、適応ループフィルタ処理を行うか否かを示すフラグalf_flagの値に基づいて、フィルタ処理部１３２の適応ループフィルタ処理を制御する。また、制御部１３１は、適応ループフィルタ処理を行う際、フィルタ係数制御部１２１の位置判定部１４１に処理の開始を指示する。さらに、制御部１３１は、alf_flagを可逆符号化部１０６に供給し、符号化させ、復号側に伝送させる。
【０１１６】
フィルタ処理部１３２は、制御部１３１の制御に従って、フィルタ係数設定部１４４から供給されるフィルタ係数を用いて、デブロックフィルタ１１１から供給されるデブロックフィルタ処理後の画素値に対するフィルタ処理を行う。フィルタ処理部１３２は、フィルタ処理後の画素値を保持するとともに、フレームメモリ１１３に供給し、参照画像として記憶させる。保持した画素値は、注目画素より後に処理される他の画素に対する処理において、周辺画素の画素値として再利用される。
【０１１７】
位置判定部１４１は、制御部１３１の制御に従って、可逆符号化部１０６から、スライスや、処理対象である注目画素等の位置を示すアドレス情報を取得する。これらのアドレス情報は、例えば、可逆符号化部１０６が生成したシーケンスパラメータセット（SPS（Sequence Parameter Set））、ピクチャパラメータセット（PPS（Picture Parameter Set））、若しくはスライスヘッダ等に格納されている。位置判定部１４１は、取得したアドレス情報を用いて、注目画素の注目スライス内における位置を判定する。
【０１１８】
SML算出部１４２は、位置判定部１４１による位置判定結果（位置情報）に基づいて、フィルタ処理部１３２から取得した注目画素の画素値や周辺画素の画素値を用いて（注目スライス外の情報を参照せずに）、注目画素のSMLを算出する。
【０１１９】
クラス分類部１４３は、SML算出部１４２により算出されたSMLを用いて注目画素のクラス分類を行う。
【０１２０】
フィルタ係数設定部１４４は、クラス分類部１４３から取得したクラス情報（クラス分類結果）に従って、注目画素に対して、そのクラスに応じたフィルタ係数を設定する。フィルタ係数設定部１４４は、設定したフィルタ係数をフィルタ処理部１３２に供給する。フィルタ処理部１３２は、そのフィルタ係数を用いて注目画素に対するフィルタ処理を行う。
【０１２１】
［符号化処理の流れ］
次に、以上のような画像符号化装置１００により実行される各処理の流れについて説明する。最初に、図１２のフローチャートを参照して、符号化処理の流れの例を説明する。なお、図１２に示される各ステップの処理は、それぞれの処理単位毎に行われる。したがって、各処理の処理単位は互いに等しいとは限らない。したがって、各データは、以下に説明するような手順で処理されるが、実際に、各ステップの処理の処理順が、以下に説明するような順になるとは限らない。
【０１２２】
ステップＳ１０１において、A/D変換部１０１は入力された画像をA/D変換する。ステップＳ１０２において、画面並べ替えバッファ１０２は、A/D変換された画像を記憶し、各ピクチャの表示する順番から符号化する順番への並べ替えを行う。
【０１２３】
ステップＳ１０３において、イントラ予測部１１５は、イントラ予測モードのイントラ予測処理を行う。ステップＳ１０４において、動き予測・補償部１１６は、インター予測モードでの動き予測や動き補償を行うインター動き予測処理を行う。
【０１２４】
ステップＳ１０５において、予測画像選択部１１７は、イントラ予測部１１５および動き予測・補償部１１６から出力された各コスト関数値に基づいて、最適なモードを決定する。つまり、予測画像選択部１１７は、イントラ予測部１１５により生成された予測画像と、動き予測・補償部１１６により生成された予測画像のいずれか一方を選択する。
【０１２５】
ステップＳ１０６において、演算部１０３は、ステップＳ１０２の処理により並び替えられた画像と、ステップＳ１０５の処理により選択された予測画像との差分を演算する。差分データは元の画像データに較べてデータ量が低減される。したがって、画像をそのまま符号化する場合に較べて、データ量を圧縮することができる。
【０１２６】
ステップＳ１０７において、直交変換部１０４は、ステップＳ１０６の処理により生成された差分情報を直交変換する。具体的には、離散コサイン変換、カルーネン・レーベ変換等の直交変換が行われ、変換係数が出力される。
【０１２７】
ステップＳ１０８において、量子化部１０５は、ステップＳ１０７の処理により得られた直交変換係数を量子化する。
【０１２８】
ステップＳ１０８の処理により量子化された差分情報は、次のようにして局部的に復号される。すなわち、ステップＳ１０９において、逆量子化部１０８は、ステップＳ１０８の処理により生成された量子化された直交変換係数（量子化係数とも称する）を量子化部１０５の特性に対応する特性で逆量子化する。ステップＳ１１０において、逆直交変換部１０９は、ステップＳ１０７の処理により得られた直交変換係数を、直交変換部１０４の特性に対応する特性で逆直交変換する。
【０１２９】
ステップＳ１１１において、演算部１１０は、予測画像を局部的に復号された差分情報に加算し、局部的に復号された画像（演算部１０３への入力に対応する画像）を生成する。ステップＳ１１２においてデブロックフィルタ１１１は、ステップＳ１１１の処理により得られた局部的な復号画像に対して、デブロックフィルタ処理を適宜行う。
【０１３０】
ステップＳ１１３において、適応ループフィルタ１１２およびフィルタ係数制御部１２１は、デブロックフィルタ処理された復号画像に対して、スライス毎に独立して、適応ループフィルタ処理を行う。
【０１３１】
ステップＳ１１４において、フレームメモリ１１３は、ステップＳ１１３の処理により適応ループフィルタ処理が施された復号画像を記憶する。なお、フレームメモリ１１３にはデブロックフィルタ１１１や適応ループフィルタ１１２によりフィルタ処理されていない画像も演算部１１０から供給され、記憶される。
【０１３２】
ステップＳ１１５において、可逆符号化部１０６は、ステップＳ１０８の処理により量子化された変換係数を符号化する。すなわち、差分画像に対して、可変長符号化や算術符号化等の可逆符号化が行われる。
【０１３３】
なお、可逆符号化部１０６は、ステップＳ１０８において算出された量子化パラメータを符号化し、符号化データに付加する。また、可逆符号化部１０６は、ステップＳ１０５の処理により選択された予測画像の予測モードに関する情報を符号化し、差分画像を符号化して得られる符号化データに付加する。つまり、可逆符号化部１０６は、イントラ予測部１１５から供給される最適イントラ予測モード情報、または、動き予測・補償部１１６から供給される最適インター予測モードに応じた情報なども符号化し、符号化データに付加する。
【０１３４】
さらに、可逆符号化部１０６は、alf_flag等のフィルタ処理に関する情報も符号化し、符号化データに付加する。
【０１３５】
ステップＳ１１６において蓄積バッファ１０７は、ステップＳ１１５の処理により得られた符号化データを蓄積する。蓄積バッファ１０７に蓄積された符号化データは、適宜読み出され、伝送路や記録媒体を介して復号側に伝送される。
【０１３６】
ステップＳ１１７においてレート制御部１１８は、ステップＳ１１６の処理により蓄積バッファ１０７に蓄積された符号化データの符号量（発生符号量）に基づいて、オーバーフローあるいはアンダーフローが発生しないように、量子化部１０５の量子化動作のレートを制御する。
【０１３７】
ステップＳ１１７の処理が終了すると、符号化処理が終了される。
【０１３８】
［適応ループフィルタ処理の流れ］
次に、図１３のフローチャートを参照して、図１２のステップＳ１１３において実行される適応ループフィルタ処理の流れの例を説明する。
【０１３９】
適応ループフィルタ処理が開始されると、制御部１３１は、ステップＳ１３１において、処理対象である注目スライスの最初の画素を処理対象（注目画素）とする。ステップＳ１３２において、制御部１３１は、全ての画素を処理したか否かを判定し、未処理の画素が存在すると判定された場合、処理をステップＳ１３３に進め、位置判定部１４１を制御する。
【０１４０】
位置判定部１４１は、ステップＳ１３３において、注目スライスや注目画素等のアドレス情報を取得し、ステップＳ１３４において、周辺画素の位置を判定する。つまり、位置判定部１４１は、注目画素の注目スライス内における位置に基づいて、周辺画素が注目スライス内に位置するか否か（利用可能（available）であるか否か）を判定する。
【０１４１】
ステップＳ１３５において、SML算出部１４２は、ステップＳ１３４の位置判定結果に従って、注目領域のSML（ｉ，ｊ）の算出を行う。
【０１４２】
ステップＳ１３６において、クラス分類部１４３は、ステップＳ１３５において算出されたSML（ｉ，ｊ）の大きさに応じて注目画素をクラス分類する。
【０１４３】
ステップＳ１３７において、フィルタ係数設定部１４４は、ステップＳ１３６において分類されたクラスに応じて、注目画素に対するフィルタ係数を設定する。
【０１４４】
ステップＳ１３８において、制御部１３１は、適応ループフィルタ処理を行うか否かを示すフラグ情報であるalf_flagの値が１であるか否かを判定する。値が１であると判定した場合、制御部１３１は、処理をステップＳ１３９に進め、フィルタ処理部１３２を制御する。
【０１４５】
ステップＳ１３９において、フィルタ処理部１３２は、ステップＳ１３７において設定されたフィルタ係数を用いて、注目画素に対するフィルタ処理を行う。
【０１４６】
また、ステップＳ１３８において、alf_flagの値が０であると判定した場合、制御部１３１は、処理をステップＳ１４０に進める。ステップＳ１４０において、制御部１３１は、alf_flagを可逆符号化部１０６に供給し、符号化させる。
【０１４７】
ステップＳ１４１において、制御部１３１は、処理対象を更新して次の画素にする。制御部１３１は、ステップＳ１４１の処理を終了すると、処理をステップＳ１３２に戻し、それ以降の処理を繰り返す。
【０１４８】
以上のように、ステップＳ１３２乃至ステップＳ１４１の処理を繰り返し、ステップＳ１３２において、注目スライス内の全ての画素を処理したと判定した場合、制御部１３１は、適応ループフィルタ処理を終了し、処理を図１２に戻す。
【０１４９】
［SML算出処理の流れ］
次に、図１４のフローチャートを参照して、図１３のステップＳ１３５において実行されるSML算出処理の流れの例を説明する。
【０１５０】
SML算出処理が開始されると、SML算出部１４２は、ステップＳ１６１において、周辺画素（ｉ−１，ｊ）は、注目スライスに含まれるか否かを判定する。
【０１５１】
周辺画素（ｉ−１，ｊ）が注目スライスに含まれると判定した場合、SML算出部１４２は、ステップＳ１６２に処理を進め、以下の式（２）に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
【０１５２】
Ｒ’（ｉ−１，ｊ）＝Ｒ（ｉ−１，ｊ）  ・・・（２）
【０１５３】
これに対して、ステップＳ１６１において、周辺画素（ｉ−１，ｊ）が注目スライスに含まれないと判定した場合、SML算出部１４２は、ステップＳ１６３に処理を進め、以下の式（３）に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
【０１５４】
Ｒ’（ｉ−１，ｊ）＝Ｒ（ｉ，ｊ）  ・・・（３）
【０１５５】
ステップＳ１６４において、SML算出部１４２は、周辺画素（ｉ＋１，ｊ）は、注目スライスに含まれるか否かを判定する。
【０１５６】
周辺画素（ｉ＋１，ｊ）が注目スライスに含まれると判定した場合、SML算出部１４２は、ステップＳ１６５に処理を進め、以下の式（４）に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
【０１５７】
Ｒ’（ｉ＋１，ｊ）＝Ｒ（ｉ＋１，ｊ）  ・・・（４）
【０１５８】
これに対して、ステップＳ１６４において、周辺画素（ｉ＋１，ｊ）が注目スライスに含まれないと判定した場合、SML算出部１４２は、ステップＳ１６６に処理を進め、以下の式（５）に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
【０１５９】
Ｒ’（ｉ＋１，ｊ）＝Ｒ（ｉ，ｊ）  ・・・（５）
【０１６０】
ステップＳ１６７において、SML算出部１４２は、周辺画素（ｉ，ｊ−１）は、注目スライスに含まれるか否かを判定する。
【０１６１】
周辺画素（ｉ，ｊ−１）が注目スライスに含まれると判定した場合、SML算出部１４２は、ステップＳ１６８に処理を進め、以下の式（６）に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
【０１６２】
Ｒ’（ｉ，ｊ−１）＝Ｒ（ｉ，ｊ−１）  ・・・（６）
【０１６３】
これに対して、ステップＳ１６７において、周辺画素（ｉ，ｊ−１）が注目スライスに含まれないと判定した場合、SML算出部１４２は、ステップＳ１６９に処理を進め、以下の式（７）に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
【０１６４】
Ｒ’（ｉ，ｊ−１）＝Ｒ（ｉ，ｊ）  ・・・（７）
【０１６５】
ステップＳ１７０において、SML算出部１４２は、周辺画素（ｉ，ｊ＋１）は、注目スライスに含まれるか否かを判定する。
【０１６６】
周辺画素（ｉ，ｊ＋１）が注目スライスに含まれると判定した場合、SML算出部１４２は、ステップＳ１７１に処理を進め、以下の式（８）に示されるように、その周辺画素の画素値を更新せずに、SMLの算出に使用する。
【０１６７】
Ｒ’（ｉ，ｊ＋１）＝Ｒ（ｉ，ｊ＋１）  ・・・（８）
【０１６８】
これに対して、ステップＳ１７０において、周辺画素（ｉ，ｊ＋１）が注目スライスに含まれないと判定した場合、SML算出部１４２は、ステップＳ１７２に処理を進め、以下の式（９）に示されるように、その周辺画素の画素値を、注目画素の画素値を用いて更新する。
【０１６９】
Ｒ’（ｉ，ｊ＋１）＝Ｒ（ｉ，ｊ）  ・・・（９）
【０１７０】
ステップＳ１７３において、SML算出部１４２は、上述した各処理の処理結果を踏まえ、各周辺画素の画素値を用いて、以下の式（１０）に示されるように、注目画素のSML（ｉ，ｊ）を算出する。
【０１７１】
SML（ｉ，ｊ）＝｜２×Ｒ’（ｉ，ｊ）−Ｒ’（ｉ−１，ｊ）−Ｒ’（ｉ＋１，ｊ）｜
＋｜２×Ｒ’（ｉ，ｊ）−Ｒ’（ｉ，ｊ−１）−Ｒ’（ｉ，ｊ＋１）｜
・・・（１０）
【０１７２】
SMLを算出すると、SML算出部１４２は、SML算出処理を終了し、処理を図１３に戻す。
【０１７３】
以上のように各種処理を行うことにより、画像符号化装置１００は、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０１７４】
＜２．第２の実施の形態＞
［画像復号装置］
図１５は、画像復号装置の主な構成例を示すブロック図である。図１５に示される画像復号装置２００は、画像符号化装置１００が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
【０１７５】
図１５に示されるように画像復号装置２００は、蓄積バッファ２０１、可逆復号部２０２、逆量子化部２０３、逆直交変換部２０４、演算部２０５、デブロックフィルタ２０６、適応ループフィルタ２０７、画面並べ替えバッファ２０８、およびD/A変換部２０９を有する。また、画像復号装置２００は、フレームメモリ２１０、選択部２１１、イントラ予測部２１２、動き予測・補償部２１３、および選択部２１４を有する。
【０１７６】
さらに、画像復号装置２００は、フィルタ係数制御部２２１を有する。
【０１７７】
蓄積バッファ２０１は伝送されてきた符号化データを蓄積し、所定のタイミングにおいてその符号化データを可逆復号部２０２に供給する。可逆復号部２０２は、蓄積バッファ２０１より供給された、図１の可逆符号化部１０６により符号化された情報を、可逆符号化部１０６の符号化方式に対応する方式で復号する。可逆復号部２０２は、復号して得られた差分画像の量子化された係数データを、逆量子化部２０３に供給する。
【０１７８】
また、可逆復号部２０２は、最適な予測モードにイントラ予測モードが選択されたかインター予測モードが選択されたかを判定し、その最適な予測モードに関する情報を、イントラ予測部２１２および動き予測・補償部２１３の内、選択されたと判定したモードの方に供給する。
【０１７９】
逆量子化部２０３は、可逆復号部２０２により復号されて得られた量子化された係数データを、図１の量子化部１０５の量子化方式に対応する方式で逆量子化し、得られた係数データを逆直交変換部２０４に供給する。
【０１８０】
逆直交変換部２０４は、図１の直交変換部１０４の直交変換方式に対応する方式で逆量子化部２０３から供給される係数データを逆直交変換する。逆直交変換部２０４は、この逆直交変換処理により、画像符号化装置１００において直交変換される前の残差データに対応する復号残差データを得る。
【０１８１】
逆直交変換されて得られた復号残差データは、演算部２０５に供給される。また、演算部２０５には、選択部２１４を介して、イントラ予測部２１２若しくは動き予測・補償部２１３から予測画像が供給される。
【０１８２】
演算部２０５は、その復号残差データと予測画像とを加算し、画像符号化装置１００の演算部１０３により予測画像が減算される前の画像データに対応する復号画像データを得る。演算部２０５は、その復号画像データをデブロックフィルタ２０６に供給する。
【０１８３】
デブロックフィルタ２０６は、供給された復号画像に対して、デブロックフィルタ処理を適宜施し、復号画像のブロック歪を除去する。デブロックフィルタ２０６は、フィルタ処理後の復号画像データを適応ループフィルタ２０７に供給する。
【０１８４】
適応ループフィルタ２０７は、デブロックフィルタ処理結果（ブロック歪みの除去が行われた復号画像）に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理（クラス分類ALF）を行うことにより画質改善を行う。適応ループフィルタ２０７は、フィルタ処理後の復号画像データを、画面並べ替えバッファ２０８およびフレームメモリ２１０に供給する。なお、演算部２０５から出力される復号画像（例えばイントラ予測に用いる参照画像）は、デブロックフィルタ２０６および適応ループフィルタ２０７を介さずにフレームメモリ２１０に供給することができる。
【０１８５】
画面並べ替えバッファ２０８は、画像の並べ替えを行う。すなわち、図１の画面並べ替えバッファ１０２により符号化の順番のために並べ替えられたフレームの順番が、元の表示の順番に並べ替えられる。D/A変換部２０９は、画面並べ替えバッファ２０８から供給された画像をD/A変換し、図示せぬディスプレイに出力し、表示させる。
【０１８６】
フレームメモリ２１０は、供給される復号画像を記憶し、所定のタイミングにおいて、若しくは、イントラ予測部２１２や動き予測・補償部２１３等の外部の要求に基づいて、記憶している復号画像を参照画像として、選択部２１１に供給する。
【０１８７】
選択部２１１は、フレームメモリ２１０から供給される参照画像の供給先を選択する。選択部２１１は、イントラ符号化された画像を復号する場合、フレームメモリ２１０から供給される参照画像をイントラ予測部２１２に供給する。また、選択部２１１は、インター符号化された画像を復号する場合、フレームメモリ２１０から供給される参照画像を動き予測・補償部２１３に供給する。
【０１８８】
イントラ予測部２１２には、ヘッダ情報を復号して得られたイントラ予測モードを示す情報等が可逆復号部２０２から適宜供給される。イントラ予測部２１２は、図１のイントラ予測部１１５において用いられたイントラ予測モードで、フレームメモリ２１０から取得した参照画像を用いてイントラ予測を行い、予測画像を生成する。イントラ予測部２１２は、生成した予測画像を選択部２１４に供給する。
【０１８９】
動き予測・補償部２１３は、ヘッダ情報を復号して得られた情報（最適予測モード情報、差分情報、および予測動きベクトル情報のコードナンバ等）を可逆復号部２０２から取得する。
【０１９０】
動き予測・補償部２１３は、図１の動き予測・補償部１１６において用いられたインター予測モードで、フレームメモリ２１０から取得した参照画像を用いてインター予測を行い、予測画像を生成する。
【０１９１】
選択部２１４は、イントラ予測部２１２から供給された予測画像、若しくは、動き予測・補償部２１３から供給された予測画像を演算部２０５に供給する。
【０１９２】
フィルタ係数制御部２２１は、注目画素を、そのSMLに基づいてクラス分類し、適応ループフィルタ２０７により用いられるフィルタ係数を設定し、それを適応ループフィルタ２０７に供給する。なお、フィルタ係数制御部２２１は、注目スライス外の情報を参照せずに、注目がそのSMLを算出する。
【０１９３】
このようにすることにより、適応ループフィルタ２０７は、スライス毎に独立してフィルタ処理を行うことができる。
【０１９４】
［適応ループフィルタおよびフィルタ係数制御部］
図１６は、適応ループフィルタ２０７およびフィルタ係数制御部２２１の主な構成例を示すブロック図である。
【０１９５】
適応ループフィルタ２０７は、基本的に、画像符号化装置１００の適応ループフィルタ１１２（図１１）と同様の構成を有し、同様の処理を行う。つまり、図１６に示されるように、適応ループフィルタ２０７は、制御部２３１およびフィルタ処理部２３２を有する。
【０１９６】
フィルタ係数制御部２２１は、基本的に、画像符号化装置１００のフィルタ係数制御部１２１（図１１）と同様の構成を有し、同様の処理を行う。つまり、図１６に示されるように、フィルタ係数制御部２２１は、位置判定部２４１、SML算出部２４２、クラス分類部２４３、およびフィルタ係数設定部２４４を有する。
【０１９７】
制御部２３１は、基本的に制御部１３１（図１１）と同様の処理を行う。ただし、制御部２３１は、画像符号化装置１００から供給されたalf_flagを可逆復号部２０２から取得し、そのalf_flagの値に従ってクラス分類ALFを行うか否か（フィルタ係数制御部２２１およびフィルタ処理部２３２の動作）を制御する。
【０１９８】
フィルタ処理部２３２は、フィルタ処理部１３２（図１１）と同様に、制御部２３１に制御されて、フィルタ係数設定部２４４から供給されるフィルタ係数を用いて、デブロックフィルタ２０６から供給されるデブロックフィルタ処理後の画素値に対するフィルタ処理を行う。フィルタ処理部２３２は、フィルタ処理後の画素値を保持するとともに、画面並べ替えバッファ２０８およびフレームメモリ２１０にその画素値を供給し、参照画像として記憶させる。保持した画素値は、注目画素より後に処理される他の画素に対する処理において、周辺画素の画素値として再利用される。
【０１９９】
フィルタ係数制御部２２１の位置判定部２４１乃至フィルタ係数設定部２４４は、位置判定部１４１乃至フィルタ係数設定部１４４のそれぞれに対応し、同様の処理を行う。
【０２００】
つまり、位置判定部２４１が、制御部２３１の制御に従って、可逆復号部２０２から、スライスや、処理対象である注目画素等の位置を示すアドレス情報を取得する。これらのアドレス情報は、例えば、画像符号化装置１００から伝送されるビットストリームのSPS、PPS、若しくはスライスヘッダ等に格納されている。位置判定部２４１は、可逆復号部２０２が復号したこれらの情報の中からアドレス情報を取得し、そのアドレス情報を用いて、注目画素の注目スライス内における位置を判定する。
【０２０１】
SML算出部２４２は、位置判定部２４１による位置判定結果（位置情報）に基づいて、フィルタ処理部２３２から取得した注目画素の画素値や周辺画素の画素値を用いて（注目スライス外の情報を参照せずに）、注目画素のSMLを算出する。
【０２０２】
クラス分類部２４３は、SML算出部２４２により算出されたSMLを用いて注目画素のクラス分類を行う。
【０２０３】
フィルタ係数設定部２４４は、クラス分類部２４３から取得したクラス情報（クラス分類結果）に従って、注目画素に対して、そのクラスに応じたフィルタ係数を設定する。フィルタ係数設定部２４４は、設定したフィルタ係数をフィルタ処理部２３２に供給する。フィルタ処理部２３２は、そのフィルタ係数を用いて注目画素に対するフィルタ処理を行う。
【０２０４】
［復号処理の流れ］
次に、図１７のフローチャートを参照して、以上のような画像復号装置２００により実行される復号処理の流れの例を説明する。
【０２０５】
復号処理が開始されると、ステップＳ２０１において、蓄積バッファ２０１は、伝送されてきたビットストリームを蓄積する。ステップＳ２０２において、可逆復号部２０２は、蓄積バッファ２０１から供給されるビットストリームを復号する。すなわち、図１の可逆符号化部１０６により符号化されたＩピクチャ、Ｐピクチャ、並びにＢピクチャが復号される。また、SPS、PPS、およびスライスヘッダなど、ビットストリームに含められた差分画像情報以外の各種情報も復号される。
【０２０６】
ステップＳ２０３において、逆量子化部２０３は、ステップＳ２０２の処理により得られた、量子化された直交変換係数を逆量子化する。ステップＳ２０４において逆直交変換部２０４は、ステップＳ２０３において逆量子化された直交変換係数を逆直交変換する。
【０２０７】
ステップＳ２０５において、イントラ予測部２１２若しくは動き予測・補償部２１３は、供給された情報を用いて予測処理を行う。ステップＳ２０６において、選択部２１４は、ステップＳ２０５において生成された予測画像を選択する。ステップＳ２０７において、演算部２０５は、ステップＳ２０４において逆直交変換されて得られた差分画像情報に、ステップＳ２０６において選択された予測画像を加算する。これにより復号画像が得られる。
【０２０８】
ステップＳ２０８において、デブロックフィルタ２０６は、ステップＳ２０７において得られた復号画像に対して、デブロックフィルタ処理を適宜行う。
【０２０９】
ステップＳ２０９において、適応ループフィルタ２０７およびフィルタ係数制御部２２１は、そのデブロックフィルタ処理後の復号画像に対して、適応ループフィルタ処理を適宜行う。なお、適応ループフィルタ２０７およびフィルタ係数制御部２２１は、この適応ループフィルタ処理を、スライス毎に独立して行う。
【０２１０】
この適応ループフィルタ処理の詳細は、図１３のフローチャートを参照して説明した画像符号化装置１００による適応ループフィルタ処理と同様であるので、その説明は省略する。
【０２１１】
ステップＳ２１０において、画面並べ替えバッファ２０８は、ステップＳ２０９においてフィルタ処理された画像の並べ替えを行う。すなわち画像符号化装置１００の画面並べ替えバッファ１０２により符号化のために並べ替えられたフレームの順序が、元の表示の順序に並べ替えられる。
【０２１２】
ステップＳ２１１において、D/A変換部２０９は、ステップＳ２１０においてフレームの順序が並べ替えられた画像をD/A変換する。この画像が図示せぬディスプレイに出力され、画像が表示される。
【０２１３】
ステップＳ２１２において、フレームメモリ２１０は、ステップＳ２０９においてフィルタ処理された画像を記憶する。この画像は、ステップＳ２０５において、参照画像として、予測画像の生成に使用される。
【０２１４】
ステップＳ２１２の処理が終了すると、復号処理が終了される。
【０２１５】
以上のように、各種処理を行うことにより、適応ループフィルタ２０７およびフィルタ係数制御部２２１は、注目スライス内の情報のみを参照すればよいので、他のスライスの処理が終了するまで待機する必要がない。したがって、画像復号装置２００は、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０２１６】
［その他の例］
なお、以上においては、周辺画素が注目スライスに含まれない場合、注目スライス外の情報を参照しないようにしてSMLを算出し、クラス分類するように説明したが、これに限らず、例えば、周辺画素が注目スライスに含まれない注目画素は、SMLを算出する演算を省略し、予め定められた所定のクラスに分類する（所定のフィルタ係数を設定する）ようにしてもよい。このようにすることによりフィルタ係数の設定がより容易になる。
【０２１７】
また、周辺画素が注目スライスに含まれない注目画素に対するフィルタ処理を省略するようにしてもよい。
【０２１８】
図１８のフローチャートを参照して、その場合の適応ループフィルタ処理の流れの例を説明する。
【０２１９】
この場合も、適応ループフィルタ処理の各処理は、基本的に図１３の場合と同様に実行される。すなわち、ステップＳ２３１乃至ステップＳ２３４の各処理が、図１３のステップＳ１３１乃至ステップＳ１３４の各処理と同様に実行される。
【０２２０】
ただし、ステップＳ２３５において、位置判定部１４１は、周辺画素が注目スライスに含まれるか否かを判定し、周辺画素が注目スライスに含まれると判定した場合のみ、処理をステップＳ２３６に進める。この場合、ステップＳ２３６乃至ステップＳ２４２の各処理が、図１３のステップＳ１３５乃至ステップＳ１４１の各処理と同様に実行される。
【０２２１】
また、ステップＳ２３５において、周辺画素が注目スライスに含まれないと判定した場合、位置判定部１４１は、処理をステップＳ２３２に戻し、処理対象を次の画素にする。
【０２２２】
このように、適応ループフィルタ処理を行うことにより、適応ループフィルタ１１２およびフィルタ係数制御部１２１は、より容易に適応ループフィルタ処理を行うことができる。
【０２２３】
なお、以上においては画像符号化装置１００が行う適応ループフィルタ処理について説明したが、画像復号装置２００が行う適応ループフィルタ処理も同様に行うことができる。
【０２２４】
また、以上においては、注目画素の上下左右に隣接する画素を周辺画素とするように説明したが、これに限らず、例えば、注目画素の右上に隣接する画素、右下に隣接する画素、左上に隣接する画素、または左下に隣接する画素等を周辺画素としてもよい。さらに、周辺画素は、注目画素に隣接していなくてもよい。また、SMLの算出方法は上述した以外であってもよい。例えば、周辺画素の数は任意であり、５画素以上であってもよいし、３画素以下であってもよい。
【０２２５】
さらに、以上においては、画像復号装置２００が、画像符号化装置１００と同様に、フィルタ係数を算出するように説明したが、これに限らず、画像符号化装置１００が使用したフィルタ係数を画像復号装置２００に伝送し、画像復号装置２００が、その画像符号化装置１００から供給されたフィルタ係数を用いて適応ループフィルタ処理を行うようにしてもよい。その場合、フィルタ係数制御部２２１は省略することができる。
【０２２６】
また、画像符号化装置１００（制御部１３１）が、クラス分類ALFを、スライス毎に独立して行うか否かを制御するフラグをスライス毎に生成し、画像復号装置２００に伝送させるようにしてもよい。
【０２２７】
このフラグがセットされた（例えば値が１の）スライスにおいては、画像符号化装置１００は、上述したように、利用可能な画素の情報のみを用いて、クラス分類ALFをスライス毎に独立して行う。これに対して、フラグがセットされていない（例えば値が０の）スライスにおいては、画像符号化装置１００は、周辺画素が他のスライスに属する場合であっても、全ての周辺画素の画素値が揃ってからSMLを算出し、注目画素をクラス分類してフィルタ係数を設定する。
【０２２８】
画像復号装置２００においては、画像符号化装置１００から供給されたこのフラグの値が１の場合、注目スライスを、他のスライスとは独立してクラス分類ALFを行い、画像符号化装置１００から供給されたこのフラグの値が０の場合、注目スライスを、他のスライスとは独立させずにクラス分類ALFを行う。
【０２２９】
以上においては、クラス分類をSMLの大きさに基づいて行うように説明したが、クラス分類に用いるパラメータは、注目画素以外の画素を参照して求めるものであればどのようなパラメータであってもよい。例えば、分散値を用いるようにしてもよいし、画素値の変化量の大きさを用いるようにしてもよい。その場合も、上述したSMLの場合と同様に、注目スライス外の情報を用いずに、パラメータの算出が行われるようにすることにより、スライス単位の処理の独立性を確保することができる。
【０２３０】
＜３．第３の実施の形態＞
［適応オフセットフィルタ］
以上においては、適応ループフィルタについて説明したが、本技術は、注目画素を処理する際にその周辺画素を参照する処理であればどのような処理にも適用することができる。例えば、HEVCにおいて採用される適応オフセットフィルタ処理にも適用することができる。
【０２３１】
以下に、HEVC方式における適応オフセットフィルタについて説明する。HEVC方式においては、非特許文献２に記載のSample Adaptive Offset方式が採用されている。
【０２３２】
適応オフセットフィルタ（Picture Quality Adaptive Offset:PQAO）の処理は、デブロックフィルタの処理と、適応ループフィルタの処理との間で行われる。
【０２３３】
適応オフセットの種類としては、バンドオフセットと呼ばれるものが２種類、エッジオフセットと呼ばれるものが６種類あり、さらに、オフセットを適応しないことも可能である。そして、画像をquad-treeに分割し、それぞれの領域に、上述したどの適応オフセットの種類により符号化するか否かを選択することができる。
【０２３４】
この選択情報が、PQAO Info.として、符号化部（Entropy Coding）により符号化され、ビットストリームが生成され、生成されたビットストリームが復号側に送信される。この方法を用いることで、符号化効率を向上させることができる。
【０２３５】
ここで、図１９を参照して、quad-tree構造について説明する。quad-tree分割（quad-tree構造化）は、任意の領域毎に行われるようにすることができるが、以下においてはLCU毎に行われるものとして説明する。
【０２３６】
図１９のＡ１に示される領域０は、LCUが分割されていない状態を示す（Level-０（分割深度０））。画像符号化装置は、まず、この領域０（すなわちLCU）のコスト関数値Ｊ０を計算する。図１９のＡ１に示される４つの領域１乃至領域４は、領域０が縦および横にそれぞれ２分割（合計４分割）された状態を示す（Level-１（分割深度１））。画像符号化装置は、これらの領域１乃至領域４のコスト関数値Ｊ１，Ｊ２，Ｊ３、およびＪ４をそれぞれ算出する。
【０２３７】
領域０乃至領域４のそれぞれのコスト関数値を算出すると、画像符号化装置は、図１９のＡ２に示されるように、それらのコスト関数値をLevel（分割深度）毎に比較し、その値が小さい方のLevel（分割深度）を選択する。例えば、Ｊ０＞（Ｊ１＋Ｊ２＋Ｊ３＋Ｊ４）の場合、画像符号化装置は、Level-１の分割領域(Partitions)を選択する。つまり、この場合、LCUは、少なくとも領域１乃至領域４の４つの領域に分割される。
【０２３８】
なお、例えば、Ｊ０＜（Ｊ１＋Ｊ２＋Ｊ３＋Ｊ４）の場合、画像符号化装置は、Level-０の分割領域(Partitions)を選択する。この場合、LCUは分割されない（領域０）。
【０２３９】
画像符号化装置は、このような領域分割を、領域分割により形成された各領域について繰り返す。図１９のＡ３に示される領域５乃至領域２０は、図１９のＡ２に示される領域１乃至領域４がそれぞれ、縦および横に２分割（合計４分割）された状態を示す（Level-２（分割深度２））。つまり、LCUは、１６個の領域に分割されている。画像符号化装置は、これらの領域５乃至領域２０のコスト関数値Ｊ５乃至Ｊ２０をそれぞれ算出する。
【０２４０】
領域５乃至領域２０のそれぞれのコスト関数値を算出すると、画像符号化装置は、図１９のＡ４に示されるように、Level-１（分割深度１）とLevel-２（分割深度２）とで、それらのコスト関数値を比較し、その値が小さい方のLevel（分割深度）を選択する。
【０２４１】
つまり、画像符号化装置は、領域１のコスト関数値Ｊ１と、領域５、領域６、領域９、および領域１０の各コスト関数値の和とを比較する。例えば、Ｊ１＜（Ｊ５＋Ｊ６＋Ｊ９＋Ｊ１０）の場合、画像符号化装置は、Level-１の分割領域(Partitions)を選択する。この場合、領域１はこれ以上分割されない。逆に、例えばＪ１＞（Ｊ５＋Ｊ６＋Ｊ９＋Ｊ１０）の場合、画像符号化装置は、Level-２の分割領域(Partitions)を選択する。この場合、領域１は、少なくとも領域５、領域６、領域９、および領域１０の４つの領域に分割される。
【０２４２】
また、画像符号化装置は、領域２のコスト関数値Ｊ２と、領域７、領域８、領域１１、および領域１２の各コスト関数値の和とを比較する。例えば、Ｊ２＞（Ｊ７＋Ｊ８＋Ｊ１１＋Ｊ１２）の場合、画像符号化装置は、Level-２の分割領域(Partitions)を選択する。この場合、領域２は、少なくとも領域７、領域８、領域１１、および領域１２の４つの領域に分割される。逆に、例えばＪ２＜（Ｊ７＋Ｊ８＋Ｊ１１＋Ｊ１２）の場合、画像符号化装置は、Level-１の分割領域(Partitions)を選択する。この場合、領域２はこれ以上分割されない。
【０２４３】
さらに、画像符号化装置は、領域３のコスト関数値Ｊ３と、領域１３、領域１４、領域１７、および領域１８の各コスト関数値の和とを比較する。例えば、Ｊ３＞（Ｊ１３＋Ｊ１４＋Ｊ１７＋Ｊ１８）の場合、画像符号化装置は、Level-２の分割領域(Partitions)を選択する。この場合、領域３は、少なくとも領域１３、領域１４、領域１７、および領域１８の４つの領域に分割される。逆に、例えばＪ３＜（Ｊ１３＋Ｊ１４＋Ｊ１７＋Ｊ１８）の場合、画像符号化装置は、Level-１の分割領域(Partitions)を選択する。この場合、領域３はこれ以上分割されない。
【０２４４】
また、画像符号化装置は、領域４のコスト関数値Ｊ４と、領域１５、領域１６、領域１９、および領域２０の各コスト関数値の和とを比較する。例えばＪ４＜（Ｊ１５＋Ｊ１６＋Ｊ１９＋Ｊ２０）の場合、画像符号化装置は、Level-１の分割領域(Partitions)を選択する。この場合、領域４はこれ以上分割されない。逆に、例えば、Ｊ４＞（Ｊ１５＋Ｊ１６＋Ｊ１９＋Ｊ２０）の場合、画像符号化装置は、Level-２の分割領域(Partitions)を選択する。この場合、領域４は、少なくとも領域１５、領域１６、領域１９、および領域２０の４つの領域に分割される。
【０２４５】
画像符号化装置は、さらに、Level-２の分割領域(Partitions)に対して同様の領域分割を繰り返す。画像符号化装置は、分割が行われなくなるか、若しくは、予め定められたSCUのLevel（分割深度）に達するまでこのような領域分割を繰り返す。
【０２４６】
このような領域分割の結果、例えば、図１９のＡ４に示されるようなQuad-tree構造が得られると、画像符号化装置は、このQuad-tree構造における各領域を、最終的なQuad-tree領域（Partitions）として決定する。
【０２４７】
このように決定されたQuad-tree構造の領域毎に、コスト関数値を用いて、オフセットのモード（オフセットを行うか否かを含む）の選択が行われる。つまり、画像符号化装置は、各領域について、２種類のバンドオフセット、６種類のエッジオフセット、およびオフセットなしのすべてのモードについてのコスト関数値を算出し、そのコスト関数値が最小のモードを選択する。
【０２４８】
図１９の例の場合、白矢印の右側に示されるように、領域１に対してＥＯ（４）、すなわち、エッジオフセットのうちの４種類目が決定されている。領域７に対しては、ＯＦＦ、すなわち、オフセットなしが決定されており、領域８に対しては、ＥＯ（２）、すなわち、エッジオフセットのうちの２種類目が決定されている。領域１１および１２に対しては、ＯＦＦ、すなわち、オフセットなしが決定されている。
【０２４９】
また、領域１３に対しては、ＢＯ（１）、すなわち、バンドオフセットのうちの１種類目が決定されており、領域１４に対しては、ＥＯ（２）、すなわち、エッジオフセットのうちの２種類目が決定されている。領域１７に対しては、ＢＯ（２）、すなわち、バンドオフセットのうちの２種類目が決定されており、領域１８に対しては、ＢＯ（１）、すなわち、バンドオフセットのうちの１種類目が決定されている。領域４に対しては、ＥＯ（１）、すなわち、エッジオフセットのうちの１種類目が決定されている。
【０２５０】
次に、図２０を参照して、エッジオフセットの詳細について説明する。
【０２５１】
エッジオフセットにおいては、処理対象である注目画素の画素値（注目画素値）と、注目画素周辺に位置する（例えば隣接する）周辺画素の画素値（周辺画素値）の比較が行われ、これに対応したカテゴリに対して、オフセット値が伝送されることになる。
【０２５２】
エッジオフセットには、図２０のＡ乃至Ｄに示される４つの１次元パターンと、図２０のＥおよびＦに示される２つの２次元パターンが存在し、それぞれ、図２１に示されるカテゴリでオフセットが伝送される。
【０２５３】
図２０のＡは、注目画素Ｃに対して、周辺画素が左右の１次元に配置されている、すなわち、図２０のＡのパターンに対して０度をなしている1-D,0-degreeパターンを表している。図２０のＢは、注目画素Ｃに対して、周辺画素が上下の１次元に配置されている、すなわち、図２０のＡのパターンに対して９０度をなしている1-D,90-degreeパターンを表している。
【０２５４】
図２０のＣは、注目画素Ｃに対して、周辺画素が左上と右下の１次元に配置されている、すなわち、図２０のＡのパターンに対して１３５度をなしている1-D,135-degreeパターンを表している。図２０のＤは、注目画素Ｃに対して、周辺画素が右上と左下の１次元に配置されている、すなわち、図２０のＡのパターンに対して４５度をなしている1-D,135-degreeパターンを表している。
【０２５５】
図２０のＥは、注目画素Ｃに対して、周辺画素が上下左右２次元に配置されている、すなわち、注目画素Ｃに対して交差している2-D,crossパターンを表している。図２０のＦは、注目画素Ｃに対して、周辺画素が右上左下、左上右下の２次元に配置されている、すなわち、注目画素Ｃに対して斜めに交差している2-D,diagonalパターンを表している。
【０２５６】
図２１のＡは、１次元パターンの規則一覧表(Classification rule for 1-D patterns)を示している。図２０のＡ乃至図２０のＤのパターンは、図２１のＡに示されるような５種類のカテゴリに分類され、そのカテゴリによりオフセットが算出されて、復号部に送られる。
【０２５７】
注目画素Ｃの画素値が２つの周辺画素の画素値より小さい場合、カテゴリ１に分類される。注目画素Ｃの画素値が一方の周辺画素の画素値より小さくて、他方の周辺画素の画素値と一致する場合、カテゴリ２に分類される。注目画素Ｃの画素値が一方の周辺画素の画素値より大きくて、他方の周辺画素の画素値と一致する場合、カテゴリ３に分類される。注目画素Ｃの画素値が２つの周辺画素の画素値より大きい場合、カテゴリ４に分類される。以上のどれでもない場合、カテゴリ０に分類される。
【０２５８】
図２１のＢは、２次元パターンの規則一覧表(Classification rule for 2-D patterns)を示している。図２０のＥおよび図２０のＦのパターンは、図２１のＢに示されるような７種類のカテゴリに分類され、そのカテゴリによりオフセットが復号部に送られる。
【０２５９】
注目画素Ｃの画素値が４つの周辺画素の画素値より小さい場合、カテゴリ１に分類される。注目画素Ｃの画素値が３つの周辺画素の画素値より小さくて、４番目の周辺画素の画素値と一致する場合、カテゴリ２に分類される。注目画素Ｃの画素値が３つの周辺画素の画素値より小さくて、４番目の周辺画素の画素値より大きい場合、カテゴリ３に分類される。
【０２６０】
注目画素Ｃの画素値が３つの周辺画素の画素値より大きくて、４番目の周辺画素の画素値より小さい場合、カテゴリ４に分類される。注目画素Ｃの画素値が３つの周辺画素の画素値より大きくて、４番目の周辺画素の画素値と一致する場合、カテゴリ５に分類される。注目画素Ｃの画素値が４つの周辺画素の画素値より大きい場合、カテゴリ６に分類される。以上のどれでもない場合、カテゴリ０に分類される。
【０２６１】
以上のように、エッジオフセットにおいては、１次元パターンの方が、隣接２画素のみに対する比較を行えばよいので、演算量は低くなる。なお、high efficiency  符号化条件においては、low delay 符号化条件に比して、1bitオフセットの値を高精度にして、復号側へ送られる。
【０２６２】
このようにエッジオフセットにおいては、注目画素を処理する際にその周辺画素が参照される。したがって、例えば、図７乃至図１０を参照して説明したSMLの算出の場合と同様に、参照される周辺画素が注目スライスと異なるスライスにある場合、その周辺画素のスライスの処理が完了するまで注目画素のエッジオフセットのオフセット値を算出することができなくなってしまう。
【０２６３】
例えば、処理対象の注目画素が注目スライスの端に存在し、参照される周辺画素が他のスライス（周辺スライス）に位置する場合、その周辺スライスの処理が終了するまで、注目画素（若しくは注目スライス全体）の処理を開始することができない。このような場合、周辺スライスと注目スライスとを互いに独立に処理することができない。したがって、例えば、周辺スライスと注目スライスとを並列に処理することができず、処理時間が増大し、スループットが低減する恐れがあった。
【０２６４】
また、このようなスライス間の境界に限らず、例えば、注目画素がピクチャ端に存在する場合、参照される周辺画素が、ピクチャ外（有効画素領域外）に位置する（すなわち事実上存在しない）ことも考えられる。このような場合も、周辺画素は、他のスライスに存在する場合と同様に、利用不可能（unavailable）である。
【０２６５】
このような場合、注目画素が正常に処理されず、エラー処理等による処理時間の増大を招く恐れがあった。また、復号画像の画質劣化の一因となる恐れもあった。
【０２６６】
そこで、このような処理時間の増大を抑制するために、各スライスを互いに独立に処理することができるように、本技術を適用することにより、注目スライス外を参照せずに注目画素の適応オフセット処理を行うようにする。
【０２６７】
［画像符号化装置］
図２２は、画像符号化装置の主な構成例を示すブロック図である。
【０２６８】
図２２に示される画像符号化装置３００は、基本的に図１の画像符号化装置１００と同様の画像処理装置であり、H．264及びMPEG4 Part10（AVC）符号化方式のように、予測処理を用いて画像データを符号化する。
【０２６９】
図２２に示されるように画像符号化装置３００は、基本的に画像符号化装置１００と同様の構成を有し、同様の処理を行う。ただし、画像符号化装置３００は、画像符号化装置１００の構成に加え、適応オフセット部３０１と周辺画素値制御部３０２を有する。なお、図２２においては、フィルタ係数制御部１２１を省略しているが、図１と同様にフィルタ係数制御部１２１を設けるようにしてももちろんよい。
【０２７０】
図２２の例の場合、デブロックフィルタ１１１は、フィルタ処理後の復号画像を適応オフセット部３０１に供給する。
【０２７１】
適応オフセット部３０１は、そのデブロックフィルタ処理結果（ブロック歪みの除去が行われた再構成画像）に対して、quad-tree構造化するように領域分割を行い、各領域毎に適応オフセット処理（適応オフセットフィルタ（Picture Quality Adaptive Offset:PQAO）処理）を行う。その際、適応オフセット部３０１は、注目画素の処理の際に周辺画素値を参照するモード（例えばエッジオフセットモード）において、周辺画素値制御部３０２の制御により利用可能化された周辺画素値を用いて注目画素値のオフセット値を算出する。
【０２７２】
適応オフセット部３０１は、各モードでオフセット処理結果のコスト関数値を求め、値が最小のモードを選択する。適応オフセット部３０１は、選択したモードでオフセット処理を行い、オフセット処理結果を適応ループフィルタ１１２に供給する。また、適応オフセット部３０１は、領域分割結果を示すquad-tree構造や、モード選択に関する情報である選択情報（PQAO Info.）を可逆符号化部１０６に供給し、復号側に伝送させる。
【０２７３】
なお、適応オフセット部３０１は、このオフセット処理を、スライス毎に行う。より具体的には、適応オフセット部３０１は、このオフセット処理を、スライスを複数に分割した所定の部分領域（例えばLCU）毎に行う。つまり、適応オフセット部３０１は、各スライスを互いに独立に処理することができる。
【０２７４】
適応ループフィルタ１１２は、適応オフセット処理結果に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理を行うことにより画質改善を行う。なお、図２２においては、適応ループフィルタ１１２から可逆符号化部１０６への矢印を省略しているが、適応ループフィルタ１１２がalf_flagやフィルタ係数等を可逆符号化部１０６に供給して、復号側に伝送させるようにしてもよい。
【０２７５】
可逆符号化部１０６は、例えば、適応オフセット部３０１から供給されたこれらの情報を符号化し、ビットストリームに含めて復号側に送信する。この方法を用いることで、符号化効率を向上させることができる。
【０２７６】
周辺画素値制御部３０２は、適応オフセット部３０１がオフセット値を算出する際に参照する周辺画素値を制御する。つまり、周辺画素値制御部３０２は、適応オフセット部３０１において参照される周辺画素値が参照不可能（unavailable）である場合、その値の代わりに参照可能な（availableな）値を周辺画素値として設定する（参照不可能な値を参照可能な値に置き換える）。
【０２７７】
ここで、参照不可能とは、参照される周辺画素が、処理対象である注目スライス（注目画素が存在するスライス）に存在しない場合のことを示す。例えば、周辺画素が注目スライス以外のスライスに位置する場合や、ピクチャ外に位置する（すなわち存在しない）場合である。
【０２７８】
例えば、周辺画素値制御部３０２は、利用不可能（unavailable）な周辺画素の画素値の代わりに、例えば、画素間の画素値の相関性を利用して、その周辺画素の近傍に位置する利用可能（available）な画素（周辺画素に隣接する画素を含む）の画素値が、周辺画素値として採用されるようにしてもよい。さらに、その近傍の画素として、注目画素が採用されるようにしてもよい。
【０２７９】
また、演算を容易にするために、利用不可能（unavailable）な周辺画素の画素値の代わりに、所定の固定値が用いられるようにしてもよい。
【０２８０】
もちろん、これら以外の方法であっても良い。例えば、１つ若しくは複数の他の利用可能（available）な画素の画素値等を用いた所定の演算の結果を、利用不可能（unavailable）な周辺画素の画素値の代わりとするようにしてもよい。
【０２８１】
周辺画素値制御部３０２は、適応オフセット部３０１から、注目画素の位置（座標）に関する情報を取得する。また、周辺画素値制御部３０２は、可逆符号化部１０６から、LCUの位置（座標）に関する情報や、スライス境界（スライス間境界およびピクチャ端等）に関する情報等を含むアドレス情報を取得する。
【０２８２】
周辺画素値制御部３０２は、そのアドレス情報に基づいて、適応オフセット部３０１に指定された注目画素に対応する周辺画素値が利用可能であるか否か（availableであるか否か）を判定する。例えば、周辺画素値が利用可能である場合、周辺画素値制御部３０２は、その周辺画素の画素値を、適応オフセット部３０１により参照される周辺画素値として設定し、その情報（周辺画素指定情報）を適応オフセット部３０１に供給する。
【０２８３】
また、例えば、周辺画素値が利用不可能である場合、周辺画素値制御部３０２は、その周辺画素値の代わりとする値を決定し、その値を適応オフセット部３０１により参照される周辺画素値として設定し、その情報（周辺画素指定情報）を適応オフセット部３０１に供給する。
【０２８４】
適応オフセット部３０１は、周辺画素値制御部３０２によって指定された周辺画素値を用いて処理を行うことにより、常に参照可能な周辺画素値を用いて適応オフセット処理を行うことができる。これにより画像符号化装置３００は、スライス毎の処理の並列化を実現することができ、適応オフセット処理における不要な遅延時間の発生等による処理時間の増大を抑制することができる。
【０２８５】
［適応オフセット部］
図２３は、適応オフセット部３０１の主な構成例を示すブロック図である。図２３に示されるように、適応オフセット部３０１は、quad-tree構造決定部３１１、注目領域選択部３１２、オフセット算出部３１３、オフセット部３１４、および画素バッファ３１５を有する。
【０２８６】
quad-tree構造決定部３１１は、スライスを複数に分割する所定の領域（例えばLCU）を、例えば図１９を参照して説明したように領域分割し、quad-tree構造化する。なお、適応オフセット部３０１が行う適応オフセット処理は、任意の領域毎に行われるようにすることが可能であるが、以下においては、LCU毎に行われるものとする。この場合、LCUがquad-tree構造化（領域分割）されて得られた各部分領域は、CUである。
【０２８７】
quad-tree構造決定部３１１は、LCUをquad-tree構造化し、各CUを設定すると、そのquad-tree構造を示す情報と、デブロック後の画素値とを注目領域選択部３１２に供給する。
【０２８８】
注目領域選択部３１２は、供給されたquad-tree構造に基づいて、各CUを１つずつ順に処理対象として選択する。注目領域選択部３１２は、最終的にLCU内の全てのCUを処理対象として選択する。注目領域選択部３１２は、quad-tree構造決定部３１１から供給されたquad-tree構造と、指定した注目領域（注目CU）を示す注目領域指定情報とをオフセット算出部３１３に供給する。また、注目領域選択部３１２は、注目領域のデブロック後の画素値をオフセット算出部３１３に供給する。なお、注目領域選択部３１２は、必要に応じて、注目領域以外のデブロック後の画素値もオフセット算出部３１３に供給する。
【０２８９】
オフセット算出部３１３は、注目領域選択部３１２から供給された注目領域指定情報により指定される注目領域の各画素のオフセット値を算出する。オフセット算出部３１３は、任意の数のモードでオフセット値を算出することができる。オフセット算出部３１３は、各モードのオフセット処理結果のコスト関数値を求め、その値が最小のモードを選択する。
【０２９０】
その際、オフセット算出部３１３は、周辺画素値を参照するモードにおいて、周辺画素値制御部３０２により指定される周辺画素の画素値を用いて処理を行う。
【０２９１】
オフセット算出部３１３は、選択したモードのオフセット値を、quad-tree構造とともに、オフセット部３１４に供給する。また、オフセット算出部３１３は、モードの選択結果等を示す選択情報（PQAOinfo）を、quad-tree構造とともに、可逆符号化部１０６に供給し、符号化させる。
【０２９２】
図２３に示されるように、オフセット算出部３１３は、オフセット無し演算部３２１、バンドオフセット演算部３２２、エッジオフセット演算部３２３、およびオフセット選択部３２４を有する。
【０２９３】
オフセット算出部３１３には、適応オフセットの種類（モード）として、バンドオフセットと呼ばれる２種類のモード、エッジオフセットと呼ばれる６種類のモード、さらに、オフセットを適応しないモードが予め用意されているものとする。適応オフセットのモードの数や種類は任意である。例えば、上述した以外のモードが含まれているようにしてもよいし、上述したモードの一部または全部が省略されるようにしても良い。オフセット算出部３１３は、選択肢となる各モードに対応する処理部を有する。
【０２９４】
オフセット無し演算部３２１は、オフセットを適応しないモードでコスト関数値を算出する。オフセット無し演算部３２１は、算出したコスト関数値を、quad-tree構造とともにオフセット選択部３２４に供給する。
【０２９５】
バンドオフセット演算部３２２は、バンドオフセットの２種類の各モードについて、オフセット値を求め、そのオフセット値を用いてオフセット処理結果のコスト関数値をさらに求める。バンドオフセット演算部３２２は、バンドオフセットの２種類のモードのそれぞれについて、算出したオフセット値とコスト関数値とを、quad-tree構造とともにオフセット選択部３２４に供給する。
【０２９６】
エッジオフセット演算部３２３は、エッジオフセットの６種類の各モードについて、オフセット値を求め、そのオフセット値を用いてオフセット処理結果のコスト関数値をさらに求める。
【０２９７】
その際、エッジオフセット演算部３２３は、周辺画素値制御部３０２に、注目画素や周辺画素に関する情報を提供する。周辺画素値制御部３０２は、それらの情報や、可逆符号化部１０６から取得したアドレス情報に基づいて、参照する周辺画素を指定し、その周辺画素指定情報をエッジオフセット演算部３２３に供給する。エッジオフセット演算部３２３は、周辺画素指定情報により指定される参照可能な周辺画素値を用いてオフセット値の算出を行う。
【０２９８】
エッジオフセット演算部３２３は、エッジオフセットの６種類のモードのそれぞれについて、算出したオフセット値とコスト関数値とを、quad-tree構造とともにオフセット選択部３２４に供給する。
【０２９９】
オフセット選択部３２４は、採用するモードを選択する。オフセット選択部３２４は、供給された各モードのコスト関数値を比較し、その値が最小のモードを選択する。オフセット選択部３２４は、選択したモードのオフセット値を、quad-tree構造とともにオフセット部３１４に供給する。また、オフセット選択部３２４は、選択したモード等を示す選択情報（PQAOinfo）を、quad-tree構造とともに可逆符号化部１０６に供給し、符号化させ、復号側に伝送させる。
【０３００】
オフセット部３１４は、注目領域選択部３１２から注目領域のデブロック後画素値を取得し、オフセット算出部３１３（オフセット選択部３２４）から供給されるオフセット値を用いて、そのデブロック後画素値をオフセット処理する。オフセット部３１４は、得られたオフセット処理後画素値を画素バッファ３１５に供給し、記憶させる。
【０３０１】
画素バッファ３１５は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているオフセット処理後画素値を適応ループフィルタ１１２に供給する。
【０３０２】
［エッジオフセット演算部および周辺画素値制御部］
図２４は、エッジオフセット演算部３２３および周辺画素値制御部３０２の主な構成例を示すブロック図である。
【０３０３】
図２４に示されるように、エッジオフセット演算部３２３は、バッファ３３１、パターン選択部３３２、注目画素選択部３３３、カテゴリ決定部３３４、オフセット値算出部３３５、オフセット部３３６、およびコスト関数算出部３３７を有する。
【０３０４】
バッファ３３１は、注目領域選択部３１２から供給される、quad-tree構造および注目領域指定情報を取得するとともに、デブロック後画素値を取得して記憶する。デブロック後画素値は、注目画素値若しくは周辺画素値として使用されなくなるまで保持される。バッファ３３１は、注目領域の画素値を取得すると、パターン選択部３３２を制御し、処理を実行させる。また、バッファ３３１は、注目領域に関する情報（領域情報）を注目画素選択部３３３に供給する。さらに、バッファ３３１は、自身が記憶しているデブロック画素値を、カテゴリ決定部３３４やオフセット部３３６に供給する。
【０３０５】
パターン選択部３３２は、図２０を参照して説明したような複数の周辺画素のパターンの中から１つを順次選択する。すなわち、パターン選択部３３２は、エッジオフセットの６種類のモードを１つずつ選択する。パターン選択部３３２は、全てのパターンを選択するまで、このような選択を繰り返す。パターン選択部３３２は、選択したパターンを示すパターン指定情報を注目画素選択部３３３および周辺画素値制御部３０２（周辺画素参照可否判定部３４１）に供給する。
【０３０６】
注目画素選択部３３３は、バッファ３３１から注目領域に関する情報（領域情報）を取得し、注目領域の中から、処理対象とする注目画素を、１つずつ選択する。注目画素選択部３３３は、注目領域内の全ての画素を選択するまで、このような選択を繰り返す。注目画素選択部３３３は、その注目画素を示す注目画素指定情報を、パターン選択部３３２から供給されたパターン指定情報とともに、カテゴリ決定部３３４に供給する。また、注目画素選択部３３３は、注目画素指定情報を、周辺画素値制御部３０２（周辺画素参照可否判定部３４１）に供給する。
【０３０７】
カテゴリ決定部３３４は、注目画素指定情報により指定される注目画素について、例えば図２１に示される表に基づいて、カテゴリを決定する。つまり、カテゴリ決定部３３４は、周辺画素値および注目画素値に基づいてカテゴリを決定する。なお、カテゴリの分類方法は任意であり、図２１の例に限らない。このカテゴリ決定の際、カテゴリ決定部３３４は、周辺画素値制御部３０２（周辺画素値決定部３４２）から供給される周辺画素指定情報により指定される周辺画素の画素値を、周辺画素値として利用する。
【０３０８】
周辺画素値制御部３０２（周辺画素値決定部３４２）は、参照可能な値を周辺画素値として指定する。したがって、周辺画素指定情報により指定される周辺画素の画素値は、常に参照可能である。したがって、カテゴリ決定部３３４は、他の画素の処理が終了するまで待機する必要なく、注目画素のカテゴリを決定することができる。つまり、カテゴリ決定部３３４は、適応オフセット処理における不要な処理時間の増大を抑制することができる。
【０３０９】
カテゴリ決定部３３４は、注目画素の画素値（デブロック後画素値）と、周辺画素指定情報により指定される参照可能な画素（例えば注目画素）の画素値（デブロック後画素値）とをバッファ３３１から取得する。カテゴリ決定部３３４は、それらの画素値を用いてカテゴリを決定する。カテゴリ決定部３３４は、決定したカテゴリを示すカテゴリ指定情報を、注目画素選択部３３３から供給された注目画素指定情報とともに、オフセット値算出部３３５に供給する。
【０３１０】
オフセット値算出部３３５は、供給されたカテゴリ指定情報により指定されるカテゴリのオフセット値を算出する。例えば、カテゴリ毎にオフセット値が予め設定されていても良いし、カテゴリ毎にオフセット値の算出方法が予め設定されていても良い。オフセット値算出部３３５は、算出したオフセット値を、カテゴリ決定部３３４から供給された注目画素指定情報とともに、オフセット部３３６に供給する。
【０３１１】
オフセット部３３６は、供給された注目画素指定情報により指定される注目画素の画素値（デブロック後画素値）をバッファ３３１から取得する。オフセット部３３６は、その注目画素値を、供給されたオフセット値を用いてオフセット処理し、オフセット後画素値を生成する。オフセット部３３６は、また、バッファ３３１からquad-tree構造を取得する。オフセット部３３６は、生成したオフセット後画素値を、オフセット値算出部３３５から供給されたオフセット値、および、バッファ３３１から取得したquad-tree構造とともにコスト関数算出部３３７に供給する。
【０３１２】
注目画素選択部３３３乃至オフセット部３３６は、注目領域内の全ての画素（若しくは予め定められた一部の画素の全て）について、上述した処理を繰り返し、注目領域の全ての画素のオフセット後画素値を求め、オフセット値およびquad-tree構造とともにコスト関数算出部３３７に供給する。
【０３１３】
コスト関数算出部３３７は、オフセット後画素値を用いて、注目領域のコスト関数値を算出する。コスト関数算出部３３７は、算出したコスト関数値を、オフセット部３３６から供給されたオフセット値およびquad-tree構造とともにオフセット選択部３２４に供給する。
【０３１４】
パターン選択部３３２乃至コスト関数算出部３３７は、エッジオフセットモードの全ての種類（タイプ）について、上述した処理を繰り返し、各モード（各タイプ）のコスト関数値をオフセット選択部３２４に供給する。
【０３１５】
また、図２４の例の場合、周辺画素値制御部３０２は、周辺画素参照可否判定部３４１および周辺画素値決定部３４２を有する。
【０３１６】
周辺画素参照可否判定部３４１は、可逆符号化部１０６から、注目LCUやスライス境界等に関するアドレス情報を取得するとともに、パターン選択部３３２からパターン指定情報を、注目画素選択部３３３から注目画素指定情報をそれぞれ取得する。周辺画素参照可否判定部３４１は、注目画素指定情報から注目画素の位置を把握し、さらに、パターン指定情報からその注目画素に対する周辺画素の位置を把握する。周辺画素参照可否判定部３４１は、その周辺画素の位置と、アドレス情報により示されるスライス境界等を比較し、その比較結果に基づいて、周辺画素が参照可能であるか否かを判定する。周辺画素参照可否判定部３４１は、その判定結果を周辺画素値決定部３４２に供給する。
【０３１７】
周辺画素値決定部３４２は、周辺画素参照可否判定部３４１から供給される判定結果に基づいて、周辺画素を決定する。例えば、判定結果において、パターン指定情報により特定される周辺画素が参照可能（available）であるとされている場合、周辺画素値決定部３４２は、そのパターン指定情報により特定される周辺画素を周辺画素に決定する。また、例えば、判定結果において、パターン指定情報により特定される周辺画素が参照不可能（unavailable）であるとされている場合、周辺画素値決定部３４２は、参照可能（available）な画素（例えば注目画素）を周辺画素に決定する。この参照不可能（unavailable）な画素値の代わりとする値は上述したように任意であり、例えば、固定値や演算式等の画素値以外であってもよい。その場合、周辺画素値決定部３４２は、画素を指定する代わりにそれらの情報（固定値や演算式等）を指定するようにしてもよい。周辺画素値決定部３４２は、自身が決定した周辺画素（若しくはそれに相当する情報）を示す周辺画素指定情報を生成し、カテゴリ決定部３３４に供給する。
【０３１８】
このように周辺画素を制御することにより、周辺画素値制御部３０２は、周辺画素値を常に参照可能な値にすることができる。したがって、エッジオフセット演算部３２３が不要な処理時間の増大を抑制することができるようにすることができる。
【０３１９】
以上においては、エッジオフセット演算部３２３が周辺画素値制御部３０２により指定される周辺画素を利用する場合について説明したが、適応オフセット部３０１は、エッジオフセット以外に、周辺画素値を参照して注目画素の処理を行うモードを有することもできる。その場合、エッジオフセット演算部３２３の、そのモードに対応する処理部が、図２４に示されるエッジオフセット演算部３２３の場合と同様に、周辺画素値制御部３０２により指定される周辺画素を利用するようにすればよい。
【０３２０】
以上のように画像符号化装置３００は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
【０３２１】
［符号化処理の流れ］
次に、以上のような画像符号化装置３００により実行される各処理の流れについて説明する。最初に、図２５のフローチャートを参照して、符号化処理の流れの例を説明する。なお、図２５に示される各ステップの処理は、それぞれの処理単位毎に行われる。したがって、各処理の処理単位は互いに等しいとは限らない。したがって、各データは、以下に説明するような手順で処理されるが、実際に、各ステップの処理の処理順が、以下に説明するような順になるとは限らない。
【０３２２】
ステップＳ３０１乃至ステップＳ３１２の各処理は、図１２のステップＳ１０１乃至ステップＳ１１２の各処理の場合と同様に実行される。
【０３２３】
デブロックフィルタ処理が行われると、ステップＳ３１３において、適応オフセット部３０１は、適応オフセット処理を行う。
【０３２４】
ステップＳ３１５乃至ステップＳ３１８の各処理は、図１２のステップＳ１１４乃至ステップＳ１１７の各処理の場合と同様に実行される。ステップＳ３１８の処理が終了すると、符号化処理が終了される。
【０３２５】
［適応オフセット処理の流れ］
次に、図２６のフローチャートを参照して、図２５のステップＳ３１３において実行される適応オフセット処理の流れの例を説明する。なお、適応オフセット処理は、スライスが複数に分割された所定の部分領域（例えばLCU）毎に行われる。以下においては、適応オフセット処理がLCU毎に行われるものとする。
【０３２６】
適応オフセット処理が開始されると、quad-tree構造決定部３１１は、ステップＳ３３１において、処理対象である注目LCUのquad-tree構造を決定する。
【０３２７】
ステップＳ３３２において、注目領域選択部３１２は、そのLCU内のquad-tree構造の各領域の中から、所定順に１つを、処理対象とする注目領域として選択する。
【０３２８】
ステップＳ３３３において、オフセット無し演算部３２１は、オフセット無しモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。
【０３２９】
ステップＳ３３４において、バンドオフセット演算部３２２は、バンドオフセットモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。なお、以上に説明した例においては、バンドオフセットのモードは２種類（２タイプ）存在する。したがって、バンドオフセット演算部３２２は、その２種類のモード（２タイプ）のそれぞれについて、コスト関数値を算出する。
【０３３０】
ステップＳ３３５において、エッジオフセット演算部３２３は、エッジオフセットモードでオフセット値を求め、そのオフセット値を用いてオフセット処理を行い、コスト関数値を算出する。この処理の詳細については後述する。なお、以上に説明した例においては、エッジオフセットのモードは６種類（６タイプ）存在する。したがって、エッジオフセット演算部３２３は、その６種類のモード（６タイプ）のそれぞれについて、コスト関数値を算出する。
【０３３１】
オフセット算出部３１３は、このように各モードでコスト関数値を算出する。すなわち、オフセット算出部３１３が、その他のモードに対応する場合、ステップＳ３３３乃至ステップＳ３３５の各処理に、その他のモードの処理が追加される。
【０３３２】
全てのモードでコスト関数値が算出されると、ステップＳ３３６において、オフセット選択部３２４は、コスト関数値が最小のモード（オフセットタイプ）を選択する。
【０３３３】
ステップＳ３３７において、オフセット選択部３２４は、ステップＳ３３１において決定された注目LCUのquad-tree構造を示す情報であるquad-tree構造、および、ステップＳ３３６における選択結果（選択されたオフセットタイプに関する情報も含む）を示す情報である選択情報を復号側に伝送させる。
【０３３４】
ステップＳ３３８において、オフセット部３１４は、ステップＳ３３６において選択されたオフセットタイプのオフセット値を用いて、注目領域のデブロック画素値をオフセット処理する。ステップＳ３３９において、画素バッファ３１５は、ステップＳ３３８の処理により得られたオフセット処理後の画素値を記憶する。
【０３３５】
ステップＳ３４０において、注目領域選択部３１２は、注目LCU内の全ての領域（CU）を処理したか否かを判定し、未処理の領域が存在すると判定した場合、処理をステップＳ３３２に戻し、それ以降の処理を繰り返す。また、ステップＳ３４０において、未処理の領域が存在しないと判定した場合、注目領域選択部３１２は、適応オフセット処理を終了し、処理を図２５に戻す。
【０３３６】
［エッジオフセット処理の流れ］
次に、図２７のフローチャートを参照して、図２６のステップＳ３３５において実行されるエッジオフセット処理の流れの例を説明する。
【０３３７】
エッジオフセット処理が開始されると、バッファ３３１は、ステップＳ３６１において、デブロック後画素値を記憶する。ステップＳ３６２において、パターン選択部３３２は、処理対象とするパターンを選択する。ステップＳ３６３において、注目画素選択部３３３は、注目領域の画素の中から注目画素を選択する。
【０３３８】
ステップＳ３６４において、周辺画素参照可否判定部３４１は、注目画素近傍の領域に関する各種アドレス情報を取得する。ステップＳ３６５において、周辺画素参照可否判定部３４１は、ステップＳ３６４において取得した情報に基づいて、ステップＳ３６３において選択された注目画素の、ステップＳ３６２において指定されたパターンにおける周辺画素が参照可能であるか否かを判定する。
【０３３９】
周辺画素が参照可能でないと判定した場合、周辺画素参照可否判定部３４１は、処理をステップＳ３６６に進める。ステップＳ３６６において、周辺画素値決定部３４２は、注目画素値を周辺画素値に指定する。ステップＳ３６６の処理が終了すると、周辺画素値決定部３４２は、処理をステップＳ３６８に進める。
【０３４０】
また、ステップＳ３６５において、周辺画素が参照可能であると判定した場合、周辺画素参照可否判定部３４１は、処理をステップＳ３６７に進める。ステップＳ３６７において、周辺画素値決定部３４２は、その参照可能な周辺画素の画素値を周辺画素値に指定する。ステップＳ３６７の処理が終了すると、周辺画素値決定部３４２は、処理をステップＳ３６８に進める。
【０３４１】
ステップＳ３６８において、カテゴリ決定部３３４は、注目画素値と、ステップＳ３６６若しくはステップＳ３６７において決定された周辺画素値とに基づいて、カテゴリを決定する。
【０３４２】
ステップＳ３６９において、オフセット値算出部３３５は、ステップＳ３６８において決定されたカテゴリに対応するオフセット値を決定（算出および選択を含む）する。ステップＳ３７０において、オフセット部３３６は、ステップＳ３６９において決定されたオフセット値を用いて、注目画素値をオフセット処理する。
【０３４３】
ステップＳ３７１において、注目画素選択部３３３は、全ての画素を処理したか否かを判定する。注目領域内に未処理の画素が存在すると判定した場合、注目画素選択部３３３は、処理をステップＳ３６３に戻し、それ以降の処理を繰り返す。
【０３４４】
また、ステップＳ３７１において、注目領域内の全ての画素を処理したと判定した場合、注目画素選択部３３３は、処理をステップＳ３７２に進める。
【０３４５】
ステップＳ３７２において、コスト関数算出部３３７は、注目領域のオフセット後画素値を用いてコスト関数値を算出する。ステップＳ３７３において、パターン選択部３３２は、予め用意された周辺画素のパターン（例えば、図２０）を全て処理したか（全てのタイプを処理したか）否かを判定する。未処理のパターンが存在すると判定した場合、パターン選択部３３２は、処理をステップＳ３６２に戻し、それ以降の処理を繰り返す。また、ステップＳ３７３において、全てのパターンを処理したと判定した場合、パターン選択部３３２は、エッジオフセット処理を終了し、処理を図２６に戻す。
【０３４６】
以上のように各処理を実行することにより、常に参照可能な周辺画素を用いて適応オフセット処理を行うことができるので、画像符号化装置３００は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
【０３４７】
＜４．第４の実施の形態＞
［画像復号装置］
図２８は、画像復号装置の主な構成例を示すブロック図である。図２８に示される画像復号装置４００は、画像符号化装置３００が生成した符号化データを、その符号化方法に対応する復号方法で復号する。
【０３４８】
したがって、画像復号装置４００は、図２８に示されるように、図１５の画像復号装置２００と基本的に同様の装置であり、基本的に同様の構成を有し、同様の処理を行う。ただし、図２８に示されるように、画像復号装置４００は、画像復号装置２００の構成に加え、適応オフセット部４０１を有する。また、フィルタ係数制御部２２１は省略される（有していても良い）。
【０３４９】
デブロックフィルタ２０６は、フィルタ処理後の復号画像データを適応オフセット部４０１に供給する。
【０３５０】
適応オフセット部４０１は、デブロックフィルタ処理後の復号画像に対して、適応オフセット部３０１の場合と基本的に同様の適応オフセット処理を行う。ただし、適応オフセット部４０１は、可逆復号部２０２により復号されて抽出された、quad-tree構造や選択情報（PQAOinfo）を用いてオフセット処理を行う。
【０３５１】
これらの情報は、符号化側（画像符号化装置３００）から供給される。すなわち、適応オフセット部４０１は、適応オフセット部３０１が用いたのと同様のquad-tree構造で注目LCUを処理する。また、適応オフセット部４０１は、適応オフセット部３０１が用いたのと同様のモード（オフセットタイプ、すなわち、オフセット値）を用いて、オフセット処理を行う。つまり、適応オフセット部４０１は、適応オフセット部３０１に対応する方法でオフセット処理を行う。適応オフセット部４０１は、オフセット処理後の復号画像を適応ループフィルタ２０７に供給する。
【０３５２】
適応ループフィルタ２０７は、オフセット処理後の復号画像に対して、ウィナーフィルタ（Wiener Filter）を用いてループフィルタ処理（クラス分類ALF）を行うことにより画質改善を行う。
【０３５３】
［適応オフセット部］
図２９は、適応オフセット部４０１の主な構成例を示すブロック図である。図２９に示されるように、適応オフセット部４０１は、quad-tree構造バッファ４１１、選択情報バッファ４１２、オフセット部４１３、および画素バッファ４１４を有する。
【０３５４】
quad-tree構造バッファ４１１は、可逆復号部２０２から供給されるquad-tree構造（例えばビットストリームに含められて符号化側の装置から供給されたquad-tree構造）を取得し、記憶する。quad-tree構造バッファ４１１は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているquad-tree構造をオフセット部４１３に供給する。
【０３５５】
選択情報バッファ４１２は、可逆復号部２０２から供給される選択情報（PQAOinfo）（例えばビットストリームに含められて符号化側の装置から供給された選択情報（PQAOinfo））を取得し、記憶する。選択情報バッファ４１２は、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶している選択情報（PQAOinfo）をオフセット部４１３に供給する。
【０３５６】
オフセット部４１３は、quad-tree構造バッファ４１１から供給されるquad-tree構造、および、選択情報バッファ４１２から供給される選択情報（PQAOinfo）を用いて、デブロックフィルタ２０６から供給される注目LCUのデブロック後画素値に対してオフセット処理を行う。つまり、オフセット部４１３は、選択情報（PQAOinfo）により特定されるオフセットタイプおよびオフセット値を用いて、quad-tree構造に従って、注目LCUを領域（CU）毎にオフセット処理する。オフセット部４１３は、オフセット処理後の画素値を画素バッファ４１４に供給し、記憶させる。
【０３５７】
画素バッファ４１４は、オフセット部４１３から供給されるオフセット処理後の画素値を記憶し、所定のタイミングにおいて、若しくは、外部からの要求に従って、自身が記憶しているそのオフセット処理後の画素値を適応ループフィルタ２０７に供給する。
【０３５８】
したがって、適応オフセット部４０１は、画像符号化装置３００の適応オフセット部３０１に対応する方法で適応オフセット処理を行うことができる。したがって、適応オフセット部４０１は、スライス毎に独立して適応オフセット処理を行うことができる。したがって、画像復号装置４００は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
【０３５９】
［復号処理の流れ］
次に、図３０のフローチャートを参照して、以上のような画像復号装置４００により実行される復号処理の流れの例を説明する。
【０３６０】
復号処理が開始されると、ステップＳ４０１乃至ステップＳ４０８の各処理が、図１７のステップＳ２０１乃至Ｓ２０８の各処理と同様に実行される。ステップＳ４０９において、適応オフセット部４０１は、適応オフセット処理を行う。この処理の詳細は後述する。ステップＳ４１０乃至ステップＳ４１３の各処理は、図１７のステップＳ２０９乃至ステップＳ２１２の各処理と同様に実行される。
【０３６１】
［適応オフセット処理の流れ］
次に、図３１のフローチャートを参照して、図３０のステップＳ４０９において実行される適応オフセット処理の流れの例を説明する。
【０３６２】
適応オフセット処理が開始されると、ステップＳ４３１において、quad-tree構造バッファ４１１は、quad-tree構造を記憶する。ステップＳ４３２において、選択情報バッファ４１２は、選択情報を記憶する。
【０３６３】
ステップＳ４３３において、オフセット部４１３は、quad-tree構造に基づいて、注目LCUの中から注目領域を選択し、ステップＳ４３４において、その注目領域のデブロック後画素値を、選択情報により特定されるオフセット値を用いてオフセット処理する。
【０３６４】
ステップＳ４３５において、画素バッファ４１４は、ステップＳ４３４の処理により得られたオフセット処理後の画素値を記憶する。
【０３６５】
ステップＳ４３６において、オフセット部４１３は、注目LCU内の全ての領域（CU）を処理したか否かを判定し、未処理の領域が存在すると判定した場合、処理をステップＳ４３３に戻し、それ以降の処理を繰り返す。
【０３６６】
また、ステップＳ４３６において、全ての領域を処理したと判定した場合、オフセット部４１３は、適応オフセット処理を終了し、処理を図３０に戻す。
【０３６７】
以上のように、各処理を実行することにより、画像復号装置４００は、適応オフセット処理におけるスライス毎の処理の独立性を確保し、不要な処理時間の増大を抑止することができる。
【０３６８】
［その他の例］
なお、以上においては、位置的要因により周辺画素が参照不可能（unavailable）な場合について説明したが、参照不可能（unavailable）となる理由は任意であり、位置的要因に限定されない。すなわち、他の理由で参照不可能であれば、周辺画素値が注目スライス内に存在していていも良い。
【０３６９】
また、周辺画素が注目スライスに含まれない注目画素に対する適応オフセット処理を省略するようにしてもよい。その場合、画像符号化装置３００および画像復号装置４００ともに、周辺画素が注目スライスに含まれない注目画素に対する適応オフセット処理を省略する。
【０３７０】
また、周辺画素のパターンは、任意であり、図２０の例に限定されない。したがって、周辺画素の位置および数は任意である。
【０３７１】
また、画像符号化装置３００（例えば、適応オフセット部３０１）が、適応オフセット処理を、スライス毎に独立して行うか否かを制御するフラグをスライス毎に生成し、画像復号装置４００に伝送させるようにしてもよい。
【０３７２】
このフラグがセットされた（例えば値が１の）スライスにおいては、適応オフセット部３０１は、上述したように、利用可能な画素の情報のみを用いて、適応オフセット処理をスライス毎に独立して行う。これに対して、フラグがセットされていない（例えば値が０の）スライスにおいては、適応オフセット部３０１は、周辺画素が他のスライスに属する場合であっても、全ての周辺画素の画素値が揃ってから適応オフセット処理を行う。
【０３７３】
画像復号装置４００の適応オフセット部４０１は、画像符号化装置３００から供給されたこのフラグの値が１の場合、注目スライスを、他のスライスとは独立して適応オフセット処理を行い、画像符号化装置３００から供給されたこのフラグの値が０の場合、注目スライスを、他のスライスとは独立させずに適応オフセット処理を行う。
【０３７４】
なお、本技術は、例えば、MPEG、H．26x等の様に、離散コサイン変換等の直交変換と動き補償によって圧縮された画像情報（ビットストリーム）を、衛星放送、ケーブルテレビジョン、インターネット、または携帯電話機などのネットワークメディアを介して受信する際に用いられる画像符号化装置および画像復号装置に適用することができる。また、本技術は、光、磁気ディスク、およびフラッシュメモリのような記憶メディア上で処理する際に用いられる画像符号化装置および画像復号装置に適用することができる。さらに、本技術は、それらの画像符号化装置および画像復号装置などに含まれる動き予測補償装置にも適用することができる。
【０３７５】
＜５．第５の実施の形態＞
［パーソナルコンピュータ］
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な汎用のパーソナルコンピュータなどが含まれる。
【０３７６】
図３２において、パーソナルコンピュータ５００のCPU（Central Processing Unit）５０１は、ROM（Read Only Memory）５０２に記憶されているプログラム、または記憶部５１３からRAM（Random Access Memory）５０３にロードされたプログラムに従って各種の処理を実行する。RAM５０３にはまた、CPU５０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３７７】
CPU５０１、ROM５０２、およびRAM５０３は、バス５０４を介して相互に接続されている。このバス５０４にはまた、入出力インタフェース５１０も接続されている。
【０３７８】
入出力インタフェース５１０には、キーボード、マウスなどよりなる入力部５１１、CRT（Cathode Ray Tube）やLCD（Liquid Crystal Display）などよりなるディスプレイ、並びにスピーカなどよりなる出力部５１２、ハードディスクなどより構成される記憶部５１３、モデムなどより構成される通信部５１４が接続されている。通信部５１４は、インターネットを含むネットワークを介しての通信処理を行う。
【０３７９】
入出力インタフェース５１０にはまた、必要に応じてドライブ５１５が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア５２１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部５１３にインストールされる。
【０３８０】
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
【０３８１】
この記録媒体は、例えば、図３２に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM（Compact Disc - Read Only Memory）,DVD（Digital Versatile Disc）を含む）、光磁気ディスク（MD（Mini Disc）を含む）、若しくは半導体メモリなどよりなるリムーバブルメディア５２１により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM５０２や、記憶部５１３に含まれるハードディスクなどで構成される。
【０３８２】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３８３】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０３８４】
また、本明細書において、システムとは、複数のデバイス（装置）により構成される装置全体を表すものである。
【０３８５】
また、以上において、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。つまり、本技術は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０３８６】
上述した実施形態に係る画像符号化装置及び画像復号装置は、衛星放送、ケーブルＴＶなどの有線放送、インターネット上での配信、及びセルラー通信による端末への配信などにおける送信機若しくは受信機、光ディスク、磁気ディスク及びフラッシュメモリなどの媒体に画像を記録する記録装置、又は、これら記憶媒体から画像を再生する再生装置などの様々な電子機器に応用され得る。以下、４つの応用例について説明する。
【０３８７】
＜６．第６の実施の形態＞
［第１の応用例：テレビジョン受像機］
図３３は、上述した実施形態を適用したテレビジョン装置の概略的な構成の一例を示している。テレビジョン装置９００は、アンテナ９０１、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、表示部９０６、音声信号処理部９０７、スピーカ９０８、外部インタフェース９０９、制御部９１０、ユーザインタフェース９１１、及びバス９１２を備える。
【０３８８】
チューナ９０２は、アンテナ９０１を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９０２は、復調により得られた符号化ビットストリームをデマルチプレクサ９０３へ出力する。即ち、チューナ９０２は、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０３８９】
デマルチプレクサ９０３は、符号化ビットストリームから視聴対象の番組の映像ストリーム及び音声ストリームを分離し、分離した各ストリームをデコーダ９０４へ出力する。また、デマルチプレクサ９０３は、符号化ビットストリームからEPG（Electronic Program Guide）などの補助的なデータを抽出し、抽出したデータを制御部９１０に供給する。なお、デマルチプレクサ９０３は、符号化ビットストリームがスクランブルされている場合には、デスクランブルを行ってもよい。
【０３９０】
デコーダ９０４は、デマルチプレクサ９０３から入力される映像ストリーム及び音声ストリームを復号する。そして、デコーダ９０４は、復号処理により生成される映像データを映像信号処理部９０５へ出力する。また、デコーダ９０４は、復号処理により生成される音声データを音声信号処理部９０７へ出力する。
【０３９１】
映像信号処理部９０５は、デコーダ９０４から入力される映像データを再生し、表示部９０６に映像を表示させる。また、映像信号処理部９０５は、ネットワークを介して供給されるアプリケーション画面を表示部９０６に表示させてもよい。また、映像信号処理部９０５は、映像データについて、設定に応じて、例えばノイズ除去などの追加的な処理を行ってもよい。さらに、映像信号処理部９０５は、例えばメニュー、ボタン又はカーソルなどのGUI（Graphical User Interface）の画像を生成し、生成した画像を出力画像に重畳してもよい。
【０３９２】
表示部９０６は、映像信号処理部９０５から供給される駆動信号により駆動され、表示デバイス（例えば、液晶ディスプレイ、プラズマディスプレイ又はOELD（Organic ElectroLuminescence Display）（有機ELディスプレイ）など）の映像面上に映像又は画像を表示する。
【０３９３】
音声信号処理部９０７は、デコーダ９０４から入力される音声データについてD/A変換及び増幅などの再生処理を行い、スピーカ９０８から音声を出力させる。また、音声信号処理部９０７は、音声データについてノイズ除去などの追加的な処理を行ってもよい。
【０３９４】
外部インタフェース９０９は、テレビジョン装置９００と外部機器又はネットワークとを接続するためのインタフェースである。例えば、外部インタフェース９０９を介して受信される映像ストリーム又は音声ストリームが、デコーダ９０４により復号されてもよい。即ち、外部インタフェース９０９もまた、画像が符号化されている符号化ストリームを受信する、テレビジョン装置９００における伝送部としての役割を有する。
【０３９５】
制御部９１０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、プログラムデータ、EPGデータ、及びネットワークを介して取得されるデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、テレビジョン装置９００の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９１１から入力される操作信号に応じて、テレビジョン装置９００の動作を制御する。
【０３９６】
ユーザインタフェース９１１は、制御部９１０と接続される。ユーザインタフェース９１１は、例えば、ユーザがテレビジョン装置９００を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９１１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９１０へ出力する。
【０３９７】
バス９１２は、チューナ９０２、デマルチプレクサ９０３、デコーダ９０４、映像信号処理部９０５、音声信号処理部９０７、外部インタフェース９０９及び制御部９１０を相互に接続する。
【０３９８】
このように構成されたテレビジョン装置９００において、デコーダ９０４は、上述した実施形態に係る画像復号装置の機能を有する。それにより、テレビジョン装置９００での画像の復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０３９９】
＜７．第７の実施の形態＞
［第２の応用例：携帯電話機］
図３４は、上述した実施形態を適用した携帯電話機の概略的な構成の一例を示している。携帯電話機９２０は、アンテナ９２１、通信部９２２、音声コーデック９２３、スピーカ９２４、マイクロホン９２５、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、制御部９３１、操作部９３２、及びバス９３３を備える。
【０４００】
アンテナ９２１は、通信部９２２に接続される。スピーカ９２４及びマイクロホン９２５は、音声コーデック９２３に接続される。操作部９３２は、制御部９３１に接続される。バス９３３は、通信部９２２、音声コーデック９２３、カメラ部９２６、画像処理部９２７、多重分離部９２８、記録再生部９２９、表示部９３０、及び制御部９３１を相互に接続する。
【０４０１】
携帯電話機９２０は、音声通話モード、データ通信モード、撮影モード及びテレビ電話モードを含む様々な動作モードで、音声信号の送受信、電子メール又は画像データの送受信、画像の撮像、及びデータの記録などの動作を行う。
【０４０２】
音声通話モードにおいて、マイクロホン９２５により生成されるアナログ音声信号は、音声コーデック９２３に供給される。音声コーデック９２３は、アナログ音声信号を音声データへ変換し、変換された音声データをA/D変換し圧縮する。そして、音声コーデック９２３は、圧縮後の音声データを通信部９２２へ出力する。通信部９２２は、音声データを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して音声データを生成し、生成した音声データを音声コーデック９２３へ出力する。音声コーデック９２３は、音声データを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４０３】
また、データ通信モードにおいて、例えば、制御部９３１は、操作部９３２を介するユーザによる操作に応じて、電子メールを構成する文字データを生成する。また、制御部９３１は、文字を表示部９３０に表示させる。また、制御部９３１は、操作部９３２を介するユーザからの送信指示に応じて電子メールデータを生成し、生成した電子メールデータを通信部９２２へ出力する。通信部９２２は、電子メールデータを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。そして、通信部９２２は、受信信号を復調及び復号して電子メールデータを復元し、復元した電子メールデータを制御部９３１へ出力する。制御部９３１は、表示部９３０に電子メールの内容を表示させると共に、電子メールデータを記録再生部９２９の記憶媒体に記憶させる。
【０４０４】
記録再生部９２９は、読み書き可能な任意の記憶媒体を有する。例えば、記憶媒体は、ＲＡＭ又はフラッシュメモリなどの内蔵型の記憶媒体であってもよく、ハードディスク、磁気ディスク、光磁気ディスク、光ディスク、USB（Unallocated Space Bitmap）メモリ、又はメモリカードなどの外部装着型の記憶媒体であってもよい。
【０４０５】
また、撮影モードにおいて、例えば、カメラ部９２６は、被写体を撮像して画像データを生成し、生成した画像データを画像処理部９２７へ出力する。画像処理部９２７は、カメラ部９２６から入力される画像データを符号化し、符号化ストリームを記憶再生部９２９の記憶媒体に記憶させる。
【０４０６】
また、テレビ電話モードにおいて、例えば、多重分離部９２８は、画像処理部９２７により符号化された映像ストリームと、音声コーデック９２３から入力される音声ストリームとを多重化し、多重化したストリームを通信部９２２へ出力する。通信部９２２は、ストリームを符号化及び変調し、送信信号を生成する。そして、通信部９２２は、生成した送信信号を、アンテナ９２１を介して基地局（図示せず）へ送信する。また、通信部９２２は、アンテナ９２１を介して受信される無線信号を増幅し及び周波数変換し、受信信号を取得する。これら送信信号及び受信信号には、符号化ビットストリームが含まれ得る。そして、通信部９２２は、受信信号を復調及び復号してストリームを復元し、復元したストリームを多重分離部９２８へ出力する。多重分離部９２８は、入力されるストリームから映像ストリーム及び音声ストリームを分離し、映像ストリームを画像処理部９２７、音声ストリームを音声コーデック９２３へ出力する。画像処理部９２７は、映像ストリームを復号し、映像データを生成する。映像データは、表示部９３０に供給され、表示部９３０により一連の画像が表示される。音声コーデック９２３は、音声ストリームを伸張し及びD/A変換し、アナログ音声信号を生成する。そして、音声コーデック９２３は、生成した音声信号をスピーカ９２４に供給して音声を出力させる。
【０４０７】
このように構成された携帯電話機９２０において、画像処理部９２７は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、携帯電話機９２０での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０４０８】
＜８．第８の実施の形態＞
［第３の応用例：記録再生装置］
図３５は、上述した実施形態を適用した記録再生装置の概略的な構成の一例を示している。記録再生装置９４０は、例えば、受信した放送番組の音声データ及び映像データを符号化して記録媒体に記録する。また、記録再生装置９４０は、例えば、他の装置から取得される音声データ及び映像データを符号化して記録媒体に記録してもよい。また、記録再生装置９４０は、例えば、ユーザの指示に応じて、記録媒体に記録されているデータをモニタ及びスピーカ上で再生する。このとき、記録再生装置９４０は、音声データ及び映像データを復号する。
【０４０９】
記録再生装置９４０は、チューナ９４１、外部インタフェース９４２、エンコーダ９４３、HDD（Hard Disk Drive）９４４、ディスクドライブ９４５、セレクタ９４６、デコーダ９４７、OSD（On-Screen Display）９４８、制御部９４９、及びユーザインタフェース９５０を備える。
【０４１０】
チューナ９４１は、アンテナ（図示せず）を介して受信される放送信号から所望のチャンネルの信号を抽出し、抽出した信号を復調する。そして、チューナ９４１は、復調により得られた符号化ビットストリームをセレクタ９４６へ出力する。即ち、チューナ９４１は、記録再生装置９４０における伝送部としての役割を有する。
【０４１１】
外部インタフェース９４２は、記録再生装置９４０と外部機器又はネットワークとを接続するためのインタフェースである。外部インタフェース９４２は、例えば、IEEE1394インタフェース、ネットワークインタフェース、USBインタフェース、又はフラッシュメモリインタフェースなどであってよい。例えば、外部インタフェース９４２を介して受信される映像データ及び音声データは、エンコーダ９４３へ入力される。即ち、外部インタフェース９４２は、記録再生装置９４０における伝送部としての役割を有する。
【０４１２】
エンコーダ９４３は、外部インタフェース９４２から入力される映像データ及び音声データが符号化されていない場合に、映像データ及び音声データを符号化する。そして、エンコーダ９４３は、符号化ビットストリームをセレクタ９４６へ出力する。
【０４１３】
HDD９４４は、映像及び音声などのコンテンツデータが圧縮された符号化ビットストリーム、各種プログラム及びその他のデータを内部のハードディスクに記録する。また、HDD９４４は、映像及び音声の再生時に、これらデータをハードディスクから読み出す。
【０４１４】
ディスクドライブ９４５は、装着されている記録媒体へのデータの記録及び読み出しを行う。ディスクドライブ９４５に装着される記録媒体は、例えばDVDディスク（DVD-Video、DVD-RAM、DVD-R、DVD-RW、DVD+R、DVD+RW等）又はBlu-ray（登録商標）ディスクなどであってよい。
【０４１５】
セレクタ９４６は、映像及び音声の記録時には、チューナ９４１又はエンコーダ９４３から入力される符号化ビットストリームを選択し、選択した符号化ビットストリームをHDD９４４又はディスクドライブ９４５へ出力する。また、セレクタ９４６は、映像及び音声の再生時には、HDD９４４又はディスクドライブ９４５から入力される符号化ビットストリームをデコーダ９４７へ出力する。
【０４１６】
デコーダ９４７は、符号化ビットストリームを復号し、映像データ及び音声データを生成する。そして、デコーダ９４７は、生成した映像データをOSD９４８へ出力する。また、デコーダ９０４は、生成した音声データを外部のスピーカへ出力する。
【０４１７】
OSD９４８は、デコーダ９４７から入力される映像データを再生し、映像を表示する。また、OSD９４８は、表示する映像に、例えばメニュー、ボタン又はカーソルなどのGUIの画像を重畳してもよい。
【０４１８】
制御部９４９は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、記録再生装置９４０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９５０から入力される操作信号に応じて、記録再生装置９４０の動作を制御する。
【０４１９】
ユーザインタフェース９５０は、制御部９４９と接続される。ユーザインタフェース９５０は、例えば、ユーザが記録再生装置９４０を操作するためのボタン及びスイッチ、並びに遠隔制御信号の受信部などを有する。ユーザインタフェース９５０は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９４９へ出力する。
【０４２０】
このように構成された記録再生装置９４０において、エンコーダ９４３は、上述した実施形態に係る画像符号化装置の機能を有する。また、デコーダ９４７は、上述した実施形態に係る画像復号装置の機能を有する。それにより、記録再生装置９４０での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０４２１】
＜９．第９の実施の形態＞
［第４の応用例：撮像装置］
図３６は、上述した実施形態を適用した撮像装置の概略的な構成の一例を示している。撮像装置９６０は、被写体を撮像して画像を生成し、画像データを符号化して記録媒体に記録する。
【０４２２】
撮像装置９６０は、光学ブロック９６１、撮像部９６２、信号処理部９６３、画像処理部９６４、表示部９６５、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、制御部９７０、ユーザインタフェース９７１、及びバス９７２を備える。
【０４２３】
光学ブロック９６１は、撮像部９６２に接続される。撮像部９６２は、信号処理部９６３に接続される。表示部９６５は、画像処理部９６４に接続される。ユーザインタフェース９７１は、制御部９７０に接続される。バス９７２は、画像処理部９６４、外部インタフェース９６６、メモリ９６７、メディアドライブ９６８、OSD９６９、及び制御部９７０を相互に接続する。
【０４２４】
光学ブロック９６１は、フォーカスレンズ及び絞り機構などを有する。光学ブロック９６１は、被写体の光学像を撮像部９６２の撮像面に結像させる。撮像部９６２は、CCD（Charge Coupled Device）又はCMOS（Complementary Metal Oxide Semiconductor）などのイメージセンサを有し、撮像面に結像した光学像を光電変換によって電気信号としての画像信号に変換する。そして、撮像部９６２は、画像信号を信号処理部９６３へ出力する。
【０４２５】
信号処理部９６３は、撮像部９６２から入力される画像信号に対してニー補正、ガンマ補正、色補正などの種々のカメラ信号処理を行う。信号処理部９６３は、カメラ信号処理後の画像データを画像処理部９６４へ出力する。
【０４２６】
画像処理部９６４は、信号処理部９６３から入力される画像データを符号化し、符号化データを生成する。そして、画像処理部９６４は、生成した符号化データを外部インタフェース９６６又はメディアドライブ９６８へ出力する。また、画像処理部９６４は、外部インタフェース９６６又はメディアドライブ９６８から入力される符号化データを復号し、画像データを生成する。そして、画像処理部９６４は、生成した画像データを表示部９６５へ出力する。また、画像処理部９６４は、信号処理部９６３から入力される画像データを表示部９６５へ出力して画像を表示させてもよい。また、画像処理部９６４は、OSD９６９から取得される表示用データを、表示部９６５へ出力する画像に重畳してもよい。
【０４２７】
OSD９６９は、例えばメニュー、ボタン又はカーソルなどのGUIの画像を生成して、生成した画像を画像処理部９６４へ出力する。
【０４２８】
外部インタフェース９６６は、例えばUSB入出力端子として構成される。外部インタフェース９６６は、例えば、画像の印刷時に、撮像装置９６０とプリンタとを接続する。また、外部インタフェース９６６には、必要に応じてドライブが接続される。ドライブには、例えば、磁気ディスク又は光ディスクなどのリムーバブルメディアが装着され、リムーバブルメディアから読み出されるプログラムが、撮像装置９６０にインストールされ得る。さらに、外部インタフェース９６６は、LAN又はインターネットなどのネットワークに接続されるネットワークインタフェースとして構成されてもよい。即ち、外部インタフェース９６６は、撮像装置９６０における伝送部としての役割を有する。
【０４２９】
メディアドライブ９６８に装着される記録媒体は、例えば、磁気ディスク、光磁気ディスク、光ディスク、又は半導体メモリなどの、読み書き可能な任意のリムーバブルメディアであってよい。また、メディアドライブ９６８に記録媒体が固定的に装着され、例えば、内蔵型ハードディスクドライブ又はSSD（Solid State Drive）のような非可搬性の記憶部が構成されてもよい。
【０４３０】
制御部９７０は、CPUなどのプロセッサ、並びにRAM及びROMなどのメモリを有する。メモリは、CPUにより実行されるプログラム、及びプログラムデータなどを記憶する。メモリにより記憶されるプログラムは、例えば、撮像装置９６０の起動時にCPUにより読み込まれ、実行される。CPUは、プログラムを実行することにより、例えばユーザインタフェース９７１から入力される操作信号に応じて、撮像装置９６０の動作を制御する。
【０４３１】
ユーザインタフェース９７１は、制御部９７０と接続される。ユーザインタフェース９７１は、例えば、ユーザが撮像装置９６０を操作するためのボタン及びスイッチなどを有する。ユーザインタフェース９７１は、これら構成要素を介してユーザによる操作を検出して操作信号を生成し、生成した操作信号を制御部９７０へ出力する。
【０４３２】
このように構成された撮像装置９６０において、画像処理部９６４は、上述した実施形態に係る画像符号化装置及び画像復号装置の機能を有する。それにより、撮像装置９６０での画像の符号化及び復号に際して、スライス毎の処理の並列化を実現することができ、適応ループフィルタ処理における不要な遅延時間の発生による処理時間の増大を抑制することができる。
【０４３３】
なお、本明細書では、SPS、PPS、およびスライスヘッダなどの様々な情報が、符号化ストリームのヘッダに多重化されて、符号化側から復号側へ伝送される例について説明した。しかしながら、これら情報を伝送する手法はかかる例に限定されない。例えば、これら情報は、符号化ビットストリームに多重化されることなく、符号化ビットストリームと関連付けられた別個のデータとして伝送され又は記録されてもよい。ここで、「関連付ける」という用語は、ビットストリームに含まれる画像（スライス若しくはブロックなど、画像の一部であってもよい）と当該画像に対応する情報とを復号時にリンクさせ得るようにすることを意味する。即ち、情報は、画像（又はビットストリーム）とは別の伝送路上で伝送されてもよい。また、情報は、画像（又はビットストリーム）とは別の記録媒体（又は同一の記録媒体の別の記録エリア）に記録されてもよい。さらに、情報と画像（又はビットストリーム）とは、例えば、複数フレーム、１フレーム、又はフレーム内の一部分などの任意の単位で互いに関連付けられてよい。
【０４３４】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本技術はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０４３５】
なお、本技術は以下のような構成も取ることができる。
（１）  処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求める情報制御部と、
前記情報制御部により求められた前記情報を用いて前記画像処理を行う画像処理部と
を備える画像処理装置。
（２）  前記画像処理は、適応ループフィルタ処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応ループフィルタ処理に用いられるフィルタ係数を求め、
前記画像処理部は、前記情報制御部により求められた前記フィルタ係数を用いて、前記注目画素に対する前記適応ループフィルタ処理を行う
前記（１）に記載の画像処理装置。
（３）  前記画像処理部は、スライス毎に独立して、前記適応ループフィルタ処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記フィルタ係数を求める
前記（２）に記載の画像処理装置。
（４）  前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記注目画素のテクスチャの複雑さを表す情報を算出する算出部と、
前記算出部により算出された前記テクスチャの複雑さを表す情報の大きさに応じて、前記注目画素をクラス分類するクラス分類部と、
前記クラス分類部により分類されたクラスに応じた値を、前記注目画素のフィルタ係数として設定するフィルタ係数設定部と
を備える前記（３）に記載の画像処理装置。
（５）  前記テクスチャの複雑さを表す情報は、SML（Sum-Modified Laplacian）である
前記（４）に記載の画像処理装置。
（６）    前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値を、予め定められた所定の固定値に設定し、前記テクスチャの複雑さを表す情報を算出する
前記（４）に記載の画像処理装置。
（７）    前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記周辺画素に近傍の、前記利用可能な画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
前記（４）に記載の画像処理装置。
（８）    前記算出部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素の画素値の代わりに、前記注目画素の画素値を用いて、前記テクスチャの複雑さを表す情報を算出する
前記（４）に記載の画像処理装置。
（９）    前記算出部は、前記注目画素の上下左右に隣接する４画素を前記周辺画素として前記テクスチャの複雑さを表す情報を算出する
前記（４）に記載の画像処理装置。
（１０）    前記算出部は、前記注目画素の画素値と各周辺画素の画素値との差分の絶対値の総和を前記テクスチャの複雑さを表す情報とする
前記（９）に記載の画像処理装置。
（１１）    前記フィルタ係数設定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の値を前記注目画素のフィルタ係数として設定する
前記（４）に記載の画像処理装置。
（１２）  前記画像処理部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素に対する適応ループフィルタ処理を省略する
前記（４）に記載の画像処理装置。
（１３）  前記注目スライスに対する適応ループフィルタ処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応ループフィルタ処理を行う
前記（２）乃至（１２）のいずれかに記載の画像処理装置。
（１４）  前記画像処理は、適応オフセット処理であり、
前記情報制御部は、前記画像処理に必要な情報として、前記適応オフセット処理に用いられる周辺画素値を求め、
前記画像処理部は、前記情報制御部により求められた前記周辺画素値を用いて、前記注目画素に対する前記適応オフセット処理を行う
前記（１）に記載の画像処理装置。
（１５）  前記画像処理部は、スライス毎に独立して、前記適応オフセット処理を行い、
前記情報制御部は、処理対象である注目スライスの外部の情報を用いずに、前記周辺画素値を求める
前記（１４）に記載の画像処理装置。
（１６）  前記情報制御部は、
前記注目画素の周辺画素が前記注目スライス内に位置するか否かを判定する位置判定部と、
前記位置判定部の判定結果に従って前記周辺画素値を決定する周辺画素値決定部と、
を備える前記（１５）に記載の画像処理装置。
（１７）    前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、予め定められた所定の固定値を前記周辺画素値に決定する
前記（１６）に記載の画像処理装置。
（１８）    前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記周辺画素に近傍の利用可能な画素の画素値を前記周辺画素値に決定する
前記（１６）に記載の画像処理装置。
（１９）    前記周辺画素値決定部は、前記位置判定部により前記周辺画素が前記注目スライス内に位置しないと判定された場合、前記注目画素の画素値を前記周辺画素値に決定する
前記（１６）に記載の画像処理装置。
（２０）  前記注目スライスに対する適応オフセット処理を、他のスライスと独立して行うか否かを示すフラグを生成するフラグ生成部をさらに備え、
前記画像処理部は、前記フラグ生成部により生成された前記フラグの値に応じて、前記注目スライス内の前記注目画素に対する適応オフセット処理を行う
前記（１４）乃至（１９）のいずれかに記載の画像処理装置。
（２１）  画像処理装置の画像処理方法であって、
情報制御部が、処理対象である注目画素と異なる他の画素に属する参照情報を用いて求められる前記注目画素に対する画像処理に必要な情報を、前記注目画素を含むスライスに属する情報のみを用いて求め、
画像処理部が、前記情報制御部により求められた前記情報を用いて前記画像処理を行う
画像処理方法。
【符号の説明】
【０４３６】
１００  画像符号化装置，  １１２  適応ループフィルタ，  １２１  フィルタ係数制御部，  １３１  制御部，  １３２  フィルタ処理部，  １４１  位置判定部，  １４２  SML算出部，  １４３  クラス分類部，  １４４  フィルタ係数設定部，  ２００  画像復号装置，  ２０７  適応ループフィルタ，  ２２１  フィルタ係数制御部，  ２３１  制御部，  ２３２  フィルタ処理部，  ２４１  位置判定部，  ２４２  SML算出部，  ２４３  クラス分類部，  ２４４  フィルタ係数設定部，  ３００  画像符号化装置，  ３０１  適応オフセット部，  ３０２  周辺画素値制御部，  ３１１  quad-tree構造決定部，  ３１２  注目領域選択部，  ３１３  オフセット算出部，  ３１４  オフセット部，  ３１５  画像バッファ，  ３２１  オフセット無し演算部，  ３２２  バンドオフセット演算部，  ３２３  エッジオフセット演算部，  ３２４  オフセット選択部，  ３３１  バッファ，  ３３２  パターン選択部，  ３３３  注目画素選択部，  ３３４  カテゴリ決定部，  ３３５  オフセット値算出部，  ３３６  オフセット部，  ３３７  コスト関数算出部，  ３４１  周辺画素参照可否判定部，  ３４２  周辺画素値決定部，  ４００  画像符号化装置，  ４０１  適応オフセット部，  ４１１  quad-tree構造バッファ，  ４１２  選択情報バッファ，  ４１３  オフセット部，  ４１４  画素バッファ
【図１】
2012213128.tif 000003
【図２】
2012213128.tif 000004
【図３】
2012213128.tif 000005
【図４】
2012213128.tif 000006
【図５】
2012213128.tif 000007
【図６】
2012213128.tif 000008
【図７】
2012213128.tif 000009
【図８】
2012213128.tif 000010
【図９】
2012213128.tif 000011
【図１０】
2012213128.tif 000012
【図１１】
2012213128.tif 000013
【図１２】
2012213128.tif 000014
【図１３】
2012213128.tif 000015
【図１４】
2012213128.tif 000016
【図１５】
2012213128.tif 000017
【図１６】
2012213128.tif 000018
【図１７】
2012213128.tif 000019
【図１８】
2012213128.tif 000020
【図１９】
2012213128.tif 000021
【図２０】
2012213128.tif 000022
【図２１】
2012213128.tif 000023
【図２２】
2012213128.tif 000024
【図２３】
2012213128.tif 000025
【図２４】
2012213128.tif 000026
【図２５】
2012213128.tif 000027
【図２６】
2012213128.tif 000028
【図２７】
2012213128.tif 000029
【図２８】
2012213128.tif 000030
【図２９】
2012213128.tif 000031
【図３０】
2012213128.tif 000032
【図３１】
2012213128.tif 000033
【図３２】
2012213128.tif 000034
【図３３】
2012213128.tif 000035
【図３４】
2012213128.tif 000036
【図３５】
2012213128.tif 000037
【図３６】
2012213128.tif 000038